From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 80499 invoked by alias); 1 Apr 2019 15:31:47 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 79333 invoked by uid 440); 1 Apr 2019 15:31:41 -0000 Date: Mon, 01 Apr 2019 15:31:00 -0000 Message-ID: <20190401153141.79316.qmail@sourceware.org> From: scox@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] scox/strace: Merge branch 'master' into scox/strace X-Git-Refname: refs/heads/scox/strace X-Git-Reftype: branch X-Git-Oldrev: 451fedd097d72653b034d236d5e23e0b98152845 X-Git-Newrev: 90309e60ba3d5ddd633266743104b390270be73d X-SW-Source: 2019-q2/txt/msg00002.txt.bz2 List-Id: The branch, scox/strace has been updated via 90309e60ba3d5ddd633266743104b390270be73d (commit) via 34ef62f46541d423b991850b2b7ba34d8749a6ba (commit) via 52093e1b936fa4f3f8bb3868c5a44d0df25c8db4 (commit) via 8828efdb24ef337e074183a0db3ac6399a3c09ba (commit) via f7043f6281dd27b19393b3d18daa227acd9459c6 (commit) via 91fc2ba707780d150309259571b12c73e92af5d0 (commit) via 0fefd084955176d9235679cb9ec40e5794f350e9 (commit) via ae2b14c73cd42b067e9687219155ed044210f0c1 (commit) via 7734102d6d8b5a0ccea166f8e944f84dc896b9ae (commit) via c6f03bce79fd93f152749e2a299a03ab78421f5f (commit) via 188e1fa9ac09b0a764e19c1afc0fb5fcdb688e65 (commit) via 2880242dd0b8538b68aece7d9e8b1678dcdfd0ab (commit) via cc1defb1dcb5f1ca23a82bca233a48ab2657de6c (commit) via 2487ef07c28b961c6e2b8c51161f88f93b181d07 (commit) via 5f33607b284323ac71fb5b6864ce2fa671379dfc (commit) via d3fe0d7bb8a3101df6f052aa54e4cfedcc2fee94 (commit) via e432ccf1cb4685b990f9cf10cb84626f52239806 (commit) via 077cad8ec1ca069d8981ecdbfa68c24b12597f67 (commit) via 80047cfc27459d4d31fe275ddd02231d812ddb61 (commit) via 65d2b333a830b3f36c8b7ae9d9ed6c77f8be9270 (commit) via f489207efde922e436b1b420d4de071927e3b9d5 (commit) via c92df149c29518f6e1d4a3174b3e29162fcd3ad6 (commit) via cd5b60741993f9e075d3f2492e2251da5bdf260f (commit) via bffa1015cd6cb4a2a4bd1276ed749d150684dd5c (commit) via fc96163a3ea7761f5353591c825027090942e330 (commit) via 69f4c9cc037f2226982a21fae63ffbc5e866fcca (commit) via 242a115951fe55e62036bac555017eb817ca1aa6 (commit) via 96a86c01d119372f4af5aff2501d3104e6c1a8e3 (commit) via 072029171354eee0e2f90527196ddda5a85e98c1 (commit) via b6061d4d383b08966d16a0b0f72c69f35fc4beb9 (commit) via ef9866970ce6683d40465fb7c3168f87a1dcd1b7 (commit) via 20dc7e9b059edff1d0fab3bd197c460c11cc7a06 (commit) via 933aebfae6b1a2b83c3eb958ebf6e43fc7fdaed1 (commit) via 4c4849b9ed8c6dd7e1f822e1e395b62059ba7680 (commit) via 7f5331a885c2e8b8cb8be5b27dc4bcfa290ad6c0 (commit) via 9f9aa85206ab31d2c583e7fef568700d31eb577e (commit) via 3714a195e08a5cc7713b27def7a3c3b534da53e8 (commit) via 18c77628b1e97e412561029ec20195c1ffa61b2d (commit) via 53c973f200e39c4122e0db06a94e3a0079e6de80 (commit) via d851aa7170c09fb903dd1bdafa6df526f1951863 (commit) via 05805feba20cb8cc39c7324e0b427f2bb7cdfe44 (commit) via 974c89e0882ddb03e294eca76a9e3d3bef90eacf (commit) via 7ea79cb3affe1ae1d196f511ace044c015e0ccd3 (commit) via 5fb812fc79a37b0d02f4902456c6f87ce9896a8d (commit) via 2fe7bab775f6acbfa1255d3504cd9e53a109e132 (commit) via 068ef30e9e053d0f95464290b0b96cea90ce0572 (commit) via 24e31cf3aa66e20877358040ceb35b87dde66d12 (commit) via e8fba7f6bbc06ee96e527c9ebf4128461336cd20 (commit) via 81a24d04dfecdbdd9af143043197317dea1119c7 (commit) via 79e7ae11c71c1682c0d4b707eadc714ec4efc929 (commit) via d45963c2b26369e3b375cf5b3b6f52f50f767ef3 (commit) via 0f83012ea0fb84d86d2a84a5feb51c0d63f0b7eb (commit) via 796d6298bb11deab06814cc38cfe74a1bfc57551 (commit) via 60df3720d77c8415158f3eaa166e0b7162f9d3b4 (commit) via 51457761649bab6868343b3da2258d73a62901f7 (commit) via 53b2f36bf6aa939feab6f82f05d7dad52f82660d (commit) via 9a93502fa81734d39f213ccb33b497bc40e1423d (commit) via 6640a367bf5427779856e7c80ae4b4bd88c19d3c (commit) via a930ebcdf9594d6b6f91b634dceec1b2425a76a0 (commit) via 582942f4560f1c8d2a60c2557267f9d3ad8dd6aa (commit) via 258876ee34a4b656c754355cf175a825e0db80f3 (commit) via 5783e150b2a9308e23262a5b62f5d51c8c932ece (commit) via 83bfc77ff537667989bd375b991d379ee4dda350 (commit) via 7ad417dd217849c164e3c8a250c62a98eb0b8cd4 (commit) via b366c208ee07924cc3cafc1bd4d70548bc91075b (commit) via 9bb9b2f9d6d5aa90f579494d8407375a87a9ad0b (commit) via c90939d2d08caedf4f777112a1aafa0c69a9d1c1 (commit) via 59c283728fddad638ae301cfb724d629fffc8665 (commit) via 17e116a7d1501a46cf4e45ec181148dc6a1e3e2b (commit) via 11e1b75f0696f6e406fe8ccc759bac2fbc8fc151 (commit) via 34dcc7cf95f756862bdfebb753ab2de39fec4c9e (commit) via 1ef53e6b8328acd5b7d54ee2fe288836ce12992e (commit) via 76bed0fd9493868889929ca9dcd32350c1d864be (commit) via ee4fbcfa26eb4a2a3666f7c1cc31447c3cffa023 (commit) via 6dc0ebde59dfb73eae507ced718bafa54023bf33 (commit) via 968aa7ae389d9e6cecb5fda6826bf889ed959fce (commit) via d8a95af9dffa36a1004e4cebfe6758c735402f6e (commit) via a9f5a5517fb7df640f0fcd4cb0f9961818b6505b (commit) via 4e5391148d51c58785aad637f1a92d47b91b3ae6 (commit) via f84bd4655c17b3ee59b73bd33ec91f75bd58546c (commit) via 2d3181c7c466d247d274ca6dbed6c598ceaa6163 (commit) via cc00a5d100973549bf5e4840937529633f4de1fa (commit) via 980a2e42f7439015defdcedad89a13a72749bdb0 (commit) via 86b0c8dda0b762fe3af25fb41bb04a63183d58d7 (commit) via 7553c869a9a9af813abd8cb4d445765d1a8a1cac (commit) via 3b6c19668236e6fd60c6299e7d016396d645fa61 (commit) via acde6c6b431a8c38ab18a47bb56f65f515448195 (commit) via 48869a5f9c439dc8f5cb47b8d5bada77b4c3c2cb (commit) via 595915c1c135a77afa01d30a888a48fcc55a08ec (commit) via e946b687baa552034ee57f3c119e56a20961452e (commit) via 4c7d57e72e0340931ab01db2247bdce3c2fcadb7 (commit) via cb24623460fe3e68794b79b79b0dbd5e62598d85 (commit) via 634557801d909982b47b1723f4216ebe8bc784aa (commit) via 392a59728b7286d5fd1a1c377de3c40334bbb36f (commit) via 7b1d7ca194544554f7d41aea7fdf7a69c232f15d (commit) via 89199bb5a027d21c56dafd2cd898487118949ecf (commit) via 3a0e45b2f187dae8cba444e9b31f05cee0e2d6ae (commit) via 4faa59bbb7ad8665b6eb7c93bdb726e412850811 (commit) via 5371b8502ab414aea510f65ce1acb9f090bf0340 (commit) via b17c4cd078e2d1d8951951016815e474fb133780 (commit) via 4bd56d18cc9799f283715a96ba61fd4b958b2f71 (commit) via 55c10aca2e93cc7a4301aa1635ef9d6d73a804b1 (commit) via 647bb750c298bbee618aa4448a30dcf9adf23602 (commit) via bff8c71fd8dece639e69b399883f90b3404a2a48 (commit) via af60449c260235478f9b1f9db39a587fe4c75290 (commit) via c6cdff46c9d35e0c811e179fc6642ed71473bc66 (commit) via 8cd1fe1bf525b59f4d07e5790d11d49eee7e8494 (commit) via 28a66f07f0695c740dc0e1b043cd36f90dbfb5ea (commit) via 58785d9888c699770154ef1d42fcea7598e8d704 (commit) via a716e60cf91254811f798d358a5b1842b4a65113 (commit) via 97ed31ae00ea83410f9daf61ece8a606044af365 (commit) via 7bc0961cfec1f138a3127e8f210909aa430c425f (commit) via 99112332cda2e63d33959ac8ea2ed13524b09bd6 (commit) via d4cbef22ba406707a4fcb30a7a57308447626f14 (commit) via fce4c071610c0d01b70b172ee538e831023c1c2f (commit) via f7f0a12390fc514a5b7b38d1b23397d87532ce05 (commit) via d6dcc55d804dc23197c8cf4f193bc39838c6a052 (commit) via 41fd2579f2ac6a5fca262317b0e52eea07fa7438 (commit) via dd22218cf26fa5d8beade7266de391a28e63527b (commit) via ab42892fb7d265e72a85e918d4f5c6dfeee3fcd8 (commit) via 8d8c087f34beaa271c3f8d5597d92bce4e9c7f4a (commit) via 798e1c302af509c31839c5c3b50c058b61206ee7 (commit) via 6835821be8bab8702e41e6946a7d8ee9441f0eee (commit) via fdc01131eb74cf28ae6e7eb3f55ebe0d38839d3e (commit) via eefba3da27c23db67cc0e1707fcedd96f1c0860d (commit) via 0de2420c4b023e644f91a409803fedfb235bfc0b (commit) via 042d75e42c5572f333e0e06dabd3c5c4afab486c (commit) via db92718b541158d4782dbc9f48401c20f2bbad6d (commit) via d6797f465c3f67b41a0db38870bbd33384b6551f (commit) via 741d7538b7540fea1086fe6ab962227d2cf7418e (commit) via 788c80d1aff685e66b8105ddc7451cfa6a03bf1d (commit) via 1b7a07cba0aa096c2eb66895ef339aa5143e9995 (commit) via 3db066bcd5bac9a8d6be85ea4cfa8f52dbdcc600 (commit) via 2219ae0b0ebe14373850b000c2abaa31dab1d741 (commit) via 1c82ed745bec154a3cd8a8bbf36c5be5086041d5 (commit) via 1c529385d9d7f53efa541d9701ec8c1001581e3e (commit) via fe3fef62ad11115fc3b03c0c0dcb9c38b2f544cb (commit) via 1ff31e135f04b2773e10d3e5072776c1072edbfb (commit) via f55b1e3248e4950464ea120027cc6881003e0ead (commit) via 418d4036ee37807b97b8040ebe7e2c15e9db726d (commit) via da0d12d2bd46730ad8327b9fac1371182996017c (commit) via 4a5ee99b2f891c7adcafd4c4d9e3c360a5c475fd (commit) via 5c85e20d5a6cbcb58aabdac192142be38c96b069 (commit) via d7f848c3b51f01635557ab765f2ba176618e0bf8 (commit) via 6cc71b820cc70b63711e9d7f584550b56e172b0a (commit) via 3fff2c370cd658877be8107bfe9dde8dd0470b46 (commit) via be22c732bf873e0c7e8a08564c97cafdfcf153bb (commit) via 3b336828de914a39741339b5341b88aa003d7225 (commit) via d085f98901ccd6c9764b93d3983f3c7797addc4f (commit) via 6f11e6824e15bd40fe1e7b245a22865c6ef8c7bd (commit) via a0148d8416f6c692b83acc77cf838b3e7929a249 (commit) via a068643d69ce0f25d5f7cbdaa1d0a3211d72c081 (commit) via b4be1b0648608a2578bbed39841c8ee411773edd (commit) via 8e5e5494f8653dd83ce1413d141e26c09dddab7b (commit) via 1dbade7441b9f32d6ba9aa1d44da5f28c44282fa (commit) via 37c18eedffe3926a330149ca93e7407917e2be38 (commit) via cd702818c6cf25277253b3b5c23f17d2cf7a94df (commit) via 44b27f959abf267fc9ec228f4131c932597b01d4 (commit) via 204f543cae7a5dc908264b49d558191d0ceb989c (commit) via 145c4477d239fef4e31a457ff8a1ba7153e9a448 (commit) via 5c4e5fe61bb00395f697a928524da1e94087c677 (commit) via 38c24f42c97af59ad83505ed735e689c63d3ca45 (commit) via 7235427998571b6d8267e7ac72a52d7b082f4c2b (commit) via d18d199917337537713f9fc4b7ae4d6568f740cf (commit) via 71250b94dc669b285cddcb744a7b3d1c7e2ec94b (commit) via 4ffd4ef39318559f8d45ce05bba4c303e522c28e (commit) via 197df35ec4f370e9902892ff8339232869cf86ce (commit) via 8399425f5f472ad8e630bb30ad2dbefeddbb68b7 (commit) via b0f87ed032bb68a9965de81cbf9fd676a83b9174 (commit) via ce25aa57a3cdd028be5868423e6e55506ccd1053 (commit) via f5424cfa7e9337a6cb02a1f83c9feea0995c5350 (commit) via 945f3901b5889e57edf5a2ee25acb51f0078a719 (commit) via ef0bd2046f58fac69577892c2d3b44b20d027476 (commit) via 36c53a0262f84ad11d738471789dadfa9c4eb320 (commit) via 6e056c817845f3d736a1be6b68c69b439c6c6d25 (commit) via cd250a1898bb6fdb41f4a1063dbcfac04affcd11 (commit) via df22c1e5d53c38f38bce6072bb46de240f9e0e2b (commit) via dd6876c91cd40cc105b1a91f418ca2c80683b314 (commit) via 1163a4b7a38a79ebd153dc5ee76ce93877d21dbd (commit) via 7cde5fc2ec2e32e8a81ac613d26cf86bf8623816 (commit) via 3a3508220eecf27e1952a73cd3ea6d6314ce8e1d (commit) via ffdd69cf7840f3b158de16819591361c8dae3a4d (commit) via ec148c577eaa29f26a943c13b0b66ca3877bb5aa (commit) via 3276427003bd1fc676d1cb913c4d09a9f7b1c74f (commit) via 17547186c25aa96d078a6ff9d61a55880fa009f4 (commit) via d3a70e03cf51c8fb6bc183eaff7559edffec2045 (commit) via 7a6e0d89bb018cef0d8d13c497d8f340aa2a0fc8 (commit) via 0919bfe915906382611011f123b5ae68a0bafbb2 (commit) via 40f382e88d0391ffaa4098c92cbf339a7924a629 (commit) via ba354106f02e25c9adc3dc1364d6a974216ec94e (commit) via d16f1408858786204b6e7598bf8f8ed6c0a69bc5 (commit) via 82cb27ff6b4e1ae811e72a02dddc3db4c9ff97b8 (commit) via e7b681f1c62c2fa130adcc4a002f7185d33f7600 (commit) via 0e290772cd9899f2b962e2b3b81a6e31745825a9 (commit) via 568c0683da0a5d1cf5c62c9deb8abb8513875eee (commit) via f09ce22d6a2266c3bbe5061eb61e7fad65568652 (commit) via 595f96a94448d1327aeac8783622e390794a722c (commit) via 2598a94b1e23c148a8f84d796e92de3a10d6e4e5 (commit) via 7f17b20d6020f2a40369ef0568501ebcda952243 (commit) via 2c50903575cec09d1748612fd0355b766ec04a19 (commit) via 0dd322dc1345d1b8809f20a674c977276f0c0430 (commit) via 41ea472809e1eaabd3858b41c9189717e9c69323 (commit) via 793cd1d2a12e9741e01f5df702e493f5e9ba0dea (commit) via 34910087ebf8fb3f1646d9177d7c961a1b3231da (commit) via f1f832d6cd39e14e9f8c0ba142d2e442792119e4 (commit) via b9f4512f250f7fa685f1f888b6fcbe2e34dc9733 (commit) via 9293fc63040a41e0830acb61d93037b6e0f2c424 (commit) via e3abbe7e9458be7a92c27bc4649295b935340699 (commit) via e4adb93903d4ae0b7ab2b5004364e50627df95f7 (commit) via 4639b61ae3bf7c959f35debcb2c6a204fa0b4f1c (commit) via ebd2263ba9a9124d93bbc0ece63d7e0fae89b40e (commit) via 65d8004072ccb15441c143c380949d785a8446cd (commit) via 25629dfdb438c82f2bb711174042bb326a526aaf (commit) via fe7266674110f34eacf2e9d2b308f76d33ce50ed (commit) via 7584bb30cf380cff9cc3914b1b523c5a1a5b4302 (commit) via 2c5ebf12393443eec1d666f613cbc70a6b72f49a (commit) via a7b1986e13c60f2a10721863ef684a18daccaaf7 (commit) via 0ccf4211fdec30fab46a5552ecfbe8e7ca98d50f (commit) via fe7b42e5843ef82f97959e0e18122c164449a8ea (commit) via c6321f19c5414c2a34db3cf5979834d081c32abd (commit) via 61b30099702a76fb7e6a9c5dba7c03b95f9eb0f2 (commit) via 6cceac94147f6026e93dcfc0a0df03555b571a12 (commit) via 724127627fef458ed330d027cf0b3d17580af615 (commit) via 2b6ff1c0474fca286b95be7ae9dcc5a22ff2a0b9 (commit) via d01c5877664024043f4e5920d072c5f62fc7f89a (commit) via 37991b4f52e7d13c586137f401ac65dec4aa732f (commit) via 32603266e5688718faad35b7502aa0b72a42764a (commit) via 9799571ecb648ea2e911498cfdc7fafe3237c94a (commit) via 09e3c4ca13e39b797b91b07280ac025327a8a526 (commit) via e2a035485a80651a5dc1711fee5a811e41ab131b (commit) via b7e60d85da12a1819671473db8550c9f076e8f38 (commit) via e52c971f17ac747a065388b54a909f44b5582cd9 (commit) via 06974e6c05556edb7122f45239c95045e882dc76 (commit) via 72f31aea9e6c158f442239abedaf351465ebcb41 (commit) via efbecbc143f19cb308ae220fb386505f41ff4bc3 (commit) via 0841c79a3dc1cfa382164a6bb2c1ee41af3ab0a9 (commit) via 4a270568d93263e4970099456b4efb58466134a6 (commit) via 067630bdb553bb889104e3b064e4551531ddcedc (commit) via 3be47f7aa99dc90190e642a4e191c9f049e0a934 (commit) via 4d00f5d8f6c4a1c9f334b1abb45b9ce05fb45b0a (commit) via e454224fa82aa52a1288a3d6a2e26e8d224d732a (commit) via 9dad4a58a1bddeb1cc2ec8b3782d7463b03b7b4b (commit) via c8f9160408315deceee5e8776f0b1c4d9cba4398 (commit) via dd9f2c763b325227a3721eaf4006db67b37f3b13 (commit) via 84ec972406ec519b509f986780481899115847c2 (commit) via 912ebfa0d748b4a762dbc4311364c38692c7f626 (commit) via 67a3048c0fe804ab1e36d4074e7fd2dadeb8bc0b (commit) via c3734e093aab1cea90a76b107cdda4a5870dd1b8 (commit) via 219d6836e939d2cd1a8c5574bfa3a101daa31cbb (commit) via aa3cfbda2f2af71044949b5692ce51cafb023d13 (commit) via 2d0d5fc6f085dedd7988b29e58fdc4dc2081472e (commit) via ea38e5df7707949c20a92004f0f66efb4a9ff2a5 (commit) via 06b5b831a09417bac37b44599dc35d4b904700c5 (commit) via ff6c8b354d853d40a4982dcf1338b9350060b75f (commit) via 88c9190b4e3a177fafe1d7257ab7255542b62159 (commit) via edbd9e45a906970852cee1999ab27c18c18a5ff5 (commit) via 4933ff73fe8640f77773b13c1ba6b4cc567f8150 (commit) via c119e04082b5b3ee907a8d02b42fae2aee0c4fbb (commit) via 895dafa679db7af79576dcd177a6d91d65657ee8 (commit) via 88a774b9984e42c492ddcf4e4b4b0170ac803576 (commit) via 4e4a8b932b7ae8e239eebb597fbb6cfcb7278a64 (commit) via 083eef1f897e2fd13e4afa7b1a52090c83476f5c (commit) via 3cabd438f3d18e1cb7afd4d2a82449883943e62f (commit) via 41e3300aa7d31ddb3618e160c6b7e61351ee2af5 (commit) via 18cb7c9f3add62ff598f0551a767af8aaa04b07e (commit) via 093f70ccd3d8366de1faae3335bbe2eebd2a75d4 (commit) via 54c56910ee0b9280e0cb33eae00e27ca90925fc0 (commit) via 45950eb60008c70fb79306012e76a024a8790ca3 (commit) via 7b63ad86ab1a56812772f266b345ecaa494ece95 (commit) via f5f20315116c43110c058ec9d787e20f901309f2 (commit) via 67490c6bad8c8d3fcbcbd5a3012ab5d189fd3981 (commit) via 60a88cee9274f374a394fe2e9765292b9ca3c7cf (commit) via e3624a40aeb31065c968d0d3a1d55fdf8e8a4e3c (commit) via a6a4b2c636b29de09dea890b448f99804ef7bc18 (commit) via 742a7df5f4a149f0818aaccfc432c4c0c9a6e26d (commit) via 41fa577fbc326402be49b3f03bc828e52dba8b88 (commit) via ca5a17b09eabb24301c8591440670613385a9026 (commit) via 24801b157631434446c2fc5a40994a5555a1db38 (commit) via 827f438f664809b13ea59e8fabc43070dbd17645 (commit) via 4ffd290906608e72fd98d627a24aa2c2b6ecf4ce (commit) via b24cc4146e4de9f3b66e2e2fb8379db46eff89c9 (commit) via b09e83c1f814a6f218519abeb94aaf45869ba03c (commit) via 01abb042af3f118a8820517a3b45b19e65c7bbd4 (commit) via 92137da015d301fec4b7878467d053d379a2f489 (commit) via eed5def8d0b7b64c3592be75a9b22bb4ce1a78f4 (commit) via 9c4c331816b14d7020a8a15eed9dac5e5babdb0e (commit) via b8ec59a1001105a04617b1a623ceb158e6c7472d (commit) via 799efbe8e01ab8292c01f46ac59a6fb2349d4535 (commit) via 5cfe428cd1788be52a0af540f02b8f2705354d50 (commit) via 43ac54fca353ea8d77d56dc5ad9e049bbb9a81fb (commit) via 5862844d0f443b9f65e8dd0d85c43f8818d3f355 (commit) via 8ed252144a29fb6370b828d84419d5c59d23dae2 (commit) via 23031e319207140e76a9c18e308995fe28322b58 (commit) via 6c28e44a359e9f6cf455ddff0009ca99406f7224 (commit) via 2c3fc25dd18d3afb4b4cb494c4803fdfbf00ae9b (commit) via 6ca622222193bc29a2780f6f02f0d8b96da65a4b (commit) via f4bc7d2cde9189249d41ac9c63235c128da4d2f2 (commit) via 9734a586671fa95a06a2e10323c14d0157805057 (commit) via 68b867f30eeca7e9585e9ee16e824f5a18e2bc6c (commit) via 2fbe7ad059d9ec2a8a378a5c2b973a1188677422 (commit) via 76055cbe88cc6623f88c8ae43ed8b8ae6883df9e (commit) via 4133e5a13f15d86bb1f834090de98cca4c34759d (commit) via 8010f576414759bf5bdcfeaa64226bf03586b763 (commit) via b56bf084434de08080875134e983f8b46eb2328f (commit) via a19a650fcca359a02bfadb201c9b032ce7479525 (commit) via f8278c3c7e0212e810fa7d65f6202b607c9cf3ca (commit) via 480e46cfc5cf4976c1f1a00bc6254d78e9c45447 (commit) via 7a995095f35f024517ddaa07b8a8ad04463e3ce5 (commit) via 52d6f3ee9439bb20c45421ecfeef2a69fd0b5511 (commit) via bf9a735e239cb7a27c81aa7c98679f7f83fa8314 (commit) via 5561fc304ff2a93a33a42df63eaf18b92483b307 (commit) via 9335e75a6170fbf76f60548690d5724198cf0440 (commit) via 3d34d8de5e10623652ab9f1eda2ff3456f64d13b (commit) via 143420fb0d5ae54323ba9953f0818c194635228d (commit) via 8e3173c608015e84c89990b9473189bf797ae0bf (commit) via 172fb711a2336b62cf8d58bbb4b27dc71ca8c02d (commit) via 8791793caa9a3186d4922cc786b6344e6093be73 (commit) via af54ade989cbbb1a43f4bc9d4d2e8e60814306f1 (commit) via bc2a507e6e90fc5766bd68d368441f5b511c2ef1 (commit) via fe07eca59d0544eb6c56c3559da9ceece23cae6e (commit) via 26c897821b37af894088ec5731f93dc82e79b6d4 (commit) via c31307f9c5022205aaf2dff591457ac8b5c1342d (commit) via 0f58c9e88ebee636206b946b00ea52b47056b320 (commit) via 0a0f4c0179106ee4b8e56649c549f4175ebba994 (commit) via cd5a152cebb201e98f3dbeca510aa39e838a1f62 (commit) via 39f0547e554df96608dd041d2a7b3c72882fd515 (commit) via 60245a92ce2c16d0b43987c2442b1a125652b832 (commit) via a894d76ab1afb0e16116eb16eef3f5621d62e6ab (commit) via f616c36b79d0776e51213b177e45a0f5d386cc58 (commit) via 4323c5ad3cbcb2a3d2178d778278109f24071b26 (commit) via 8a6a85134d78531c6adb72a888844f7cfa3a5c56 (commit) via e0e7d3bd218e50275b4c9c9fbf2d3123c73372a9 (commit) via c97a773961ce40dfe021ff9133ed27f077cfd8eb (commit) via 8a7a93c20aa7c7545ba5ad33e4a127cdf0dd3466 (commit) via 04dcda9cb0c79b2f27a2f38aedec63da51538ad0 (commit) via 07bc701d03167b8006835da583a03d98177cd4b6 (commit) via c6f4a5d0ed1ff54b5d46bdbadaa4ad811de1b715 (commit) via 9600246debb2489725a76334cc237dd289f6b5de (commit) via bb995d00b3eef2f48d0be895c3509a7ddd8280a1 (commit) via 24841daa74f092f7c5639ee8f1fb303c7694dee7 (commit) via 83f43c8344d752fb8266b4c4e2f42cf4e5a2f86e (commit) via 516dbc441811c51e29ad668f0bb187cb91d5b25e (commit) via 38e75bf22300aad8029a9765bad2ae75e914ad56 (commit) via 871f0fc66ad8e9b0893dc113caf678dda99a7c87 (commit) via 7557a51431744346c5d281e1b3a55b1fb985cbad (commit) via 2d8b68309f4a4292c27ccfd598bb01b8f6e5c4b1 (commit) via ee2bcb0c356d86d7bd2ff525b84a7602bb2bc816 (commit) via 5cacf1c88f8afa5a3a1fb6d88c297e19d99f21e0 (commit) via 160eba9301df423116377113f2d4189d785c7dde (commit) via 56b80d4c4c24c6acacad15530a3a7b483b6e0f3f (commit) via 0c95f9ed6c0978ae421048552c15065d32c45c30 (commit) via 3ca60c57a715bbefc091949dd2381bab1b124715 (commit) via 171375c68e809e97b5653ef424f80d46956a50e8 (commit) via 7fc0c668f2aceb8582d74db1ad2528e2bba8a921 (commit) via 8d18bf796bf70d71eb23f4247e29a1fab5f3c5c7 (commit) via c763b8943348582e651dda24f88bb9f8db24672b (commit) via 0ef8a082c32f34827479f2df8fbd431e08acd2d8 (commit) via eed62915fd5b733632af343fbf3d47c7364f8e36 (commit) via e6c3b5bfb449d1a02d26f3c4bae5b732951479fc (commit) via 34d75fb5c419a23922174c520e124523e01114c4 (commit) via c22b42ce308eb538050b4b5789e406b63102b35a (commit) via edd01d077c5f7a0f76ec4fb77b5b9f5b151fa50a (commit) via 7d272a55caebfc26ab2e15d1e9439bac978b9bb7 (commit) via 6caa91b6e58a563be7eeb2844fd2622158d78354 (commit) via 8abac8031ed369a2734b1cdb7df28a39a54b4b49 (commit) via 7ae39e2d406dbec568c5ffd462119037b994fdf9 (commit) via abaeb1562648d4b58497040a20d772bd08c06d4b (commit) via 98814c6c111a0681e691a72834c8dcc5b8d1bb3a (commit) via 6f2117ba3892110badc65a7126b19cec211acfa2 (commit) via 179f2db0d9c397d7dd8a59907b84208b79f7f48c (commit) via c72e75a64030b0f6535a80481f37968ad55c333a (commit) via 70cd633e87e683a2233e852b96e5f1ef8591d4d1 (commit) via 040b3e95e41f7af82e95c781aadc56a16019fd68 (commit) via a31b8bd9a054b494fd6ab18f14d84a2f0690f8a1 (commit) via d57e4f2b86b763a79c7356198265e8bae132b01a (commit) via 9409233b0ec8a052eacc5846ee054f224f7e7213 (commit) via 6506371f0671dd5ca11127fee4db8d8d7fec157f (commit) via 0c820d679358aa1ec7cd9e33c4bc23a7db964ea1 (commit) via a008792038c2510800db466897c4bb6305d20042 (commit) via 75ba10dc558a450c7dbcdc24f816f6709f2b29f7 (commit) via a2cd4f14750ae27ea5c250c98965eef842ee57db (commit) via aa9e1dc0c6b965e0db07bf7e9fa93cbf0922a743 (commit) via 166e5d9d419fa9390edd8c0cbcc07df4666a9b75 (commit) via 485b851b68ea035e3c49234dafcddb97c4f54a30 (commit) via 0b790b1eeb3741217d4b7b419aca1ed77a114b6c (commit) via dea57a626364698759d1525acf9109771d173811 (commit) via 989f3c583d31e29029b1b7dd8ffd3afacbbb5c27 (commit) via 6cbcc006e95110b5d9168e9835e5df36782e975b (commit) via 7657f14df7c697792b626efbd24ac44ad5642485 (commit) via 5b6ea500d554b173e63e1f8f0344d568ad347463 (commit) via e397fd39c62c70900306fa206ebcae1a4853db8b (commit) via cc12f4a8f97791cf9729ff9341f7c0fbd9d6a79e (commit) via 5f486660101ab09d50fa3bb9a10555f12722f39f (commit) via 91d78b8179b061cf7c9cca423e29480bc6367fc3 (commit) via 99df80f894ebf11f2211550925acc8b06f9972f8 (commit) via 9d70ffbc5ba41c766ce629447af8e72a5ceba229 (commit) via abc163a4647f77bfa449e09da4a85a71e747cf4c (commit) via b671c7fb21306ce125717a44c30a71686bd24db1 (commit) via 8071c5ce78245eff43f9977a7c3ff8328f7486da (commit) via 924514e11c21ac5a5805e7a14824b6f3182b2198 (commit) via c29ee8d45ec2113821c006a18cfedb9023ef9ce1 (commit) via 6c6ef69fb4e95d991fa5462d067d3f71a73fedce (commit) via 2d0a338c7c321de6c63be4e7e3f06ba12b783c63 (commit) via cabb5f067daa9227bf0323cbf64c6065d6e4796f (commit) via b1041ae0ae8a2f1c51e75b45004686f1956078ed (commit) via 2988d01ea5fcc474a9b714d2148bab5fcf4e4be8 (commit) via c559d7096b4b1b9c4e8d78cfd67b1892c1836ffb (commit) via e6e006612f79f05454e8434ffd0715a1b6b9a6e4 (commit) via 007024cc6ae8cd1a22e328eb4150adaa4baf5731 (commit) via 01c7ae818bd6c0b5d797091ec1664bcaed705d40 (commit) via 8918f84c04dd63866663d399c58e638052db2ee7 (commit) via f62318e98d84e79e457920c74515fb73bb013b23 (commit) via cd4b78483c3b0e4bd7737b67ed5074b7c252faa4 (commit) via efac4bfe0b2bdd21a27c94ca3464046e9c23f0e4 (commit) via 402d2bfec425f29c5b54089d5ff98ca9a1b8ec27 (commit) via 1ed9f74e85b7ace7debad5ade4775684a1fa99f9 (commit) via 2636d81d80ad34653d05d0d94207d62720bfd6aa (commit) via ac8c53cc67724f990003009fd37a3d7dc662fcb3 (commit) via e486594504d72a3afa199392a9d95a56ef1d6293 (commit) via e20773049fde7b9a123fda4485259fc06249b22f (commit) via 04d7fa2132c05b962d85e2047646e15b8a490f4e (commit) via 43c4685f146a56b721566528f60023d91949c2ac (commit) via ea638c43121624bb4b09bb89b88314f99c85a48d (commit) via 7115ab9c4b727a0c8fc1cdfe814b6e6032bb391d (commit) via db22231044df03bbcb987496f3f29f0462b2e9ee (commit) via ab759ca8db37ffd3e32df5226e0b4ea16a81c849 (commit) via aff29d1c738c0327e7b40ba9f6885279b75e3eca (commit) via 10a54ace4aad32c78e1be99201d0a9c6efc63450 (commit) via a0e90a73f0dc7e44c980ef5ea512eb7a3bd0cabc (commit) via d1ea488747b9ca046c5b68ece2de757e1f357e3a (commit) via 617126bc8ae3c83b565aef1a454742c8a7237c14 (commit) via 21820ebe588d89fa874cbd87c117eb9d551d870f (commit) via ca0bc1509849a3871e99fdf48705b93f18d5fa7b (commit) via 46cbf38dc3a7c6d0e339f95d56590711b06427a1 (commit) via 482f3505d1b62cbcf46ffed54807fad0d91c8f09 (commit) via 96fd92af299a3c664cb341451f4bfde056910328 (commit) via 2c6c61c3c9f1345e5de99768c2ce823121097b62 (commit) via f7dd2fb2e2b750f0fb9dedaf885c17bc6beef1f7 (commit) via bd756351a6d3dcff9915c88c26dc0a5811907f90 (commit) via 6456d318aaa7ea35511dad1f2facf0fb984972e5 (commit) via b2abe1bd8149dd9ad64432f620c3a034bf23a5fe (commit) via 68a091326f6ac25005c49c4cbda1855080ba1d5f (commit) via 0e7e9601bed5600881225e22fd4306f11907858b (commit) via 5d3db3e2970f543259103290d6890c0f1f289e13 (commit) via 4a83b61091168f7df0f58009dda67b9e36f8a5f7 (commit) via df0da8a2b80315485330c03c18b704b8d7b3e9c2 (commit) via 2012bf013b2ce507b181c0d9049ad946b2a59d8a (commit) via bd447abb2442f74c2b4886f6cdacd16fce3c9d65 (commit) via 46e3ed7ff94dc2d65f3d937d483c459b4cee6a0a (commit) via 1a5c25988eabb35e0e40ea484b1eea029d9b7f53 (commit) via 31528deca52123a5a6dee19d47bee94dff041325 (commit) via ab9268d2f88414f202651eb5ffbd61c7927fb0c3 (commit) via bb0da2b49689f49f01be2f8c5429945f37e12404 (commit) via 424eb552c27a1574974d9052dff4ff252a7db22d (commit) via 4249a53cce8651061092d666e5df06492cb91cf1 (commit) via 83924b3846361f2f76f9a6e7b5afa01c0eebbd4f (commit) via 4e9ac437aaebb55624b54fc3d1cfb52acfe320dd (commit) via 1688cb2916e7bc46c92dd6f5ac2ba0da6c832274 (commit) via 4dcfcfe0638d8e946b05fe51714c7d5b85b693c1 (commit) via 082cbd3b37bd3da897249a69970f7bf4864399f5 (commit) via b32ba39525f1abf8b1cb22016e781c73961717ea (commit) via 7355a3c6634aee98e5af73f5190868b29bebea32 (commit) via 9361886ee9f13731014c3ed425f48266915b2be0 (commit) via 0019baae6344b46160e1a013ac8a12b983960789 (commit) via c6f14c0d2ca4d68308f967c446277789047a980a (commit) via 91bae99160e9d81cfe340b937f9613d43dc90293 (commit) via 1d4d86699fcc9641c1f4dfb3a44a1588353c2137 (commit) via 8b3a46f93c2b9ee839f806713afe7f88f0482214 (commit) via c75eca848b682c20dcd3ef850f67491295c116b1 (commit) via 16bfc2f9705b40a11052f465b83fea2ec0904ce5 (commit) via fc60b8c806a641cc2260c8b26f389f2abdc99dda (commit) via 3ca4a8eca78b4d5e3fa308dbd21c67ebef09a261 (commit) via 4f4690cd42476b0907b51a410fc026bfc94c66d2 (commit) via 061e12709b50ac8862bbdf9c620d7c35a53f7088 (commit) via 956cc47c5614b0d50bf538e3dcc88c81560fa64c (commit) via b5eba2d8c050b39943918057283470959a5d18c3 (commit) via eeb14ea976c0a07affb7dec3562184836adcfe95 (commit) via ad0f979c9df2cc3fba1f120c5e7f39e35591ed07 (commit) via c49829c3c331182575034911f2bb053dfbb7d8a8 (commit) via 9065c2ceff391da9dedc70d9f6b4bbd051209aaf (commit) via 75c1c971842f43157c173728e8465e1ce3c1b838 (commit) via 7054e2fff6d93e4c2b3b6d0de0d8bda72d3c3d59 (commit) via 9ee194135535acbd7b786d685666badbb59e536a (commit) via 453f8e1e4918171bc12e4d03aab7ee8360dfcfef (commit) via 2d151af7190b9cb7787d4c33fba9e9a4431f8a0c (commit) via 36c25ffa1ab5d6d5ee0fa3fc32f128a58e78e7a2 (commit) via f084d335110408aa08ea06c7cb217ae19697db3d (commit) via f5f2b743ae8fdbfbd572756e611051ef5d1d05c1 (commit) via 6a84624340dd19ccd927d91d79e0ece135c6d846 (commit) via e044973b0cadb4c36c2a2c11e908d758b8cd75f9 (commit) via 1dbc40b9d70b95717abb0db6865a12ebd7d91b06 (commit) via eb51a3cd827a3bf02d80173592a0b5f0d88fa801 (commit) via 67f8b42f3e65ede1915f2dc4e2ca46ddeb57c508 (commit) via e5e2bc507d773eb48ed215eb6911c1bb7dd78b79 (commit) via a0707f3c36cab402cd4c3235bedd2b5f7b4c6aed (commit) via 0747795c085d3b2a35da6bb474f32c58ce1b70c8 (commit) via 2f5c153e0ce1b0d3aa0c12724cbc8c3b11d4095f (commit) via e10620d3b96a725c4752198cb3c7c00ea21b42b4 (commit) via 69105ce4c42e5644ab92cb9b2765ff5ce6bf7b1b (commit) via 20a4ca5524b9bde2f5dfb19661570c25a3b05e5d (commit) via 550fd7bf6858cd708c54ec90412ffb653a932c3d (commit) via 183445093ebd6be285e29f75b877e62a723918c6 (commit) via 9ed1348c2008f54368f0fd989a0bf2de8b93329a (commit) via 10c172ba93dde7cb7c46982ca217e646565bf938 (commit) via 04174263401c670b5faaaec452aee2df92130ef9 (commit) via 0c56b5cfb68cd099e00f6fdb5ad08061c7b16b79 (commit) via adc6a863a9c6c828425d63b12d553f0e8f21e350 (commit) via 3046d67a0e29686ec18abd719660969c97973063 (commit) via 353229bf405113e6ba2fe21f2a691bc63aa94bd8 (commit) via 388a192d73df7439bf375d8b8042bb53a6be9c60 (commit) via 311dc83a411c83d61cd6cb931289761574ea3ecc (commit) via 296bd123f76d7f8474b5a2937a49fd619748a871 (commit) via 979a0d1304ac7d73c9887f851e811d49752923fb (commit) via d238133d0292926b937aaa6f83bf921dd0bbb01c (commit) via 9885e6bb5b0f6f0147f9b3a15a4bd4516faf4a26 (commit) via 286526c1e5f6d54bf6ecc961d7c2d0a32b58fe45 (commit) via 1db93f14fae0b3a638324e5349fe56a0e625451e (commit) via 2cc83d1e0eeaad9927553ee157f810e43d47d24f (commit) via 694c6bf5425024a8654a5541dec88e4dd6ddafb5 (commit) via 4c41382ac101f10071f92074bab7c33242ef5b15 (commit) via 89f8fb50fa16b0ef510dcd6de9088cee9820116d (commit) via 5419bdae559360a10044983b06c11a31de8d81f4 (commit) via e587ef421eb7e009c6a69da55c269e9df45093e4 (commit) via 77f0e74cbe2ee7e874432776a0394a3d2a7a4342 (commit) via 5b9b3e53a68f4568dc0b6907e34e763a6c3dd145 (commit) via 54b65c9b51ec80ef5812dde1a508ce171eeb8ce6 (commit) via cf08fb29f8c484a34c4babb015348b220f80a33b (commit) via ae73e2e2435cb706b18ba05734aee4137a271b3c (commit) via 6594e122864119d7b1434599c22b112f98e178ca (commit) via d99386305c5420754e84b9e6073cb061922f4a27 (commit) via 6406a2701bda7437e879bff026adc8a5a94e87ff (commit) via a7c9855d033996252fc55349fd3e01670cdd7943 (commit) via 71ba91e1c0732e203ba465a2196caa45aa8b2179 (commit) via 93cc1d53f545e84c279c890c6309f3feddd39212 (commit) via 38561778f3c6a6af98355925bcfd5d3c1e39a484 (commit) via 37b3ab5b547de7e727c5426c6615ece0284168c7 (commit) via 3fabc0163acbdffd9d77d7608604f737fc981399 (commit) via 6b4d77743349028e471334da3d63df09cddfd820 (commit) via 7af7e9b5d8f9dd8f994d59923158d24d77a54bbe (commit) via 951d1049fab99c36b2ea827e4eaf954ee1869794 (commit) via 2e8db3703b19c89e33b7eee633b0b0f1a79a5614 (commit) via d65d5705cd6e972067dfa7ccf1f9e0950c1538ff (commit) via b1afaa356621e3236ff27fec09e63fb99e9e990e (commit) via b6fb1ee51c9a773d2d6044993af6c0fd7499638f (commit) via be6d4f74c77c6f521afc873d226480e001cb99c2 (commit) via d7167c671da0323daf31a8e07945c57c25f858d2 (commit) via 73021deb50855f31bb312241899a464c62155f6a (commit) via a6c9b4042921847ee52003811383e4b8bf5d5875 (commit) via 375cd4233dd1576d48acf93309125183e2c9ec9e (commit) via acef8081ec2ce5dc387ee55a04f75fb27ade94ec (commit) via fc65c7dbe0607dfb1fc3d1019c46df73854cc896 (commit) via 111f47f3e4b685acc2378e46d0221e562c608ffc (commit) via 57299f4831b9afe5923c808534003af665659a31 (commit) via 3e80dafbfee64a4a9cdec17d60a3e18cf1fef28f (commit) via f48dfe417e2ceb2251825336fe8769897a4d4b05 (commit) via f974f26cb16cc6fe3946f163c787a05e713fb77b (commit) via f3be6050c8d62d59a1846dacda5f895c5b0f9dbc (commit) via 241110d6cde08bf7367281bac67951d11639269e (commit) via 7932255de56fb99836b2e712e7dbcfdd5e1f1309 (commit) via 604b1bfb46e62d561698397cb5499b487eb0db34 (commit) via f252c6d5dc49cb27838e153e863f16ea7895859e (commit) via b669c95337903d39aa2254e8ea0405c0ac117d24 (commit) via 7e955d83c4128ec773d84b92487ed1cdfed09938 (commit) via 2030c079717475f5b6fad837bb81758891f3b802 (commit) via 776489e0a79a14cb3f1138d4e4158ab9a8c7ecf3 (commit) via 6471e7d23de333a63a119220d59b920c6aaef562 (commit) via dee3ee22244df9c8b3220af7f4361e69adb84c97 (commit) via baae986a40eb2ed6d612436586bfa7dd1d88702d (commit) via e89c69419641d638a96cb7ca3c9fa4b3feac5ce0 (commit) via b84bb29de922b727ae8c37e88c670b299a3c52d8 (commit) via a4bf3d0720b1093dd148b7a728f92ce690a8a034 (commit) via 7d7a7d7ccf6047cc5b480064e9eb9489542c0dd7 (commit) via 2dc8dd17cd595bd7a1b0824c83380af52e633fc1 (commit) via 7516c26f867b8c235f28a4d449efb9990125e0a1 (commit) via c24bdb023c8e1fa969d6eb945059fa8ed0d490c7 (commit) via 1fea0d5379be553f9bcee7c50fba4cff00176d1b (commit) via e7b47f2e68c6eaff916ea4d1202a77e15730f48f (commit) via 77fdb0e00bd47c564c4e32726fc6020d9441d4a7 (commit) via d5dcaf1b59e77047e10a1f246095d6b21f7d9772 (commit) via 338c923d26fa86f695fcdc4b659a5f0772768093 (commit) via dc7e818497f0af0a3ee569f6eee0ad74e19b4bc2 (commit) via 8d64371b6b710831ddfd6a8636097396040476ee (commit) via bb27775165d9b992120371383012404e213b1981 (commit) via 05be00a884850c5fe314004c9b91609f480308f6 (commit) via 491adecac48c5960fe29582f5046c015ff92c211 (commit) via 183561e05eb4d504f65557756e987b584b72350b (commit) via bbd94648f2115338bd94e9800ba0e37f09d98a79 (commit) via 8f0a21480babea5b22cba13a3bee722408ca57e3 (commit) via 6f072a103498fa9b7795782d9fdf1ae226f5565e (commit) via a7b8d68257c52281b08d9d858805e15667be6606 (commit) via f466c3053db1e075a8dd2583baa729c4edbbec0f (commit) via 5a12586d44fa8d5dfc74cbca4f2f36a273a16335 (commit) via d63f2be21bfbedb8a83b5c5f317896bf2bb19a95 (commit) via 55e8aae79a341ce777565dade196e47773b53274 (commit) via 4ea904edb7b04ad526bd8a5401729a6c1f5a982f (commit) via 8a2d34fe51edb115574056f56dcea8438acd5285 (commit) via 1a782351162b1158484923493b567231d1aec7d2 (commit) via f589354db4c983696fe1db791763823aec83f8fa (commit) via d73cff189ddc3725697e614d4d247819f754f096 (commit) via 4ce8c66d19abec8a768add7f6102e856157a3952 (commit) via 60a90376792474224f3d22b1d9813844a3b3589a (commit) via 6eb6fb6787430a2589e0382aa3e2e4f6f2a0a600 (commit) via 9d7c67bfbde3b948704b46f8a6fd479e98ecf2c8 (commit) via 7d62943cd492bb502f0d335cc695be15ae50cea3 (commit) via c7af41ec2c79bb68d7c57907699edae5187bbfa6 (commit) via ec0807b28ecde66dd7c2f76adf433f0024685f6d (commit) via 7cf47dc46635d8ec14c315e1f17480b56f4808b8 (commit) via b56f80d8b27dffd0f8c02b8b11068b71b9fec375 (commit) via d3cb68081112a4976979df3f8eae7ca926e76519 (commit) via 63a20375b401e24c30987367a10b47b289612e1c (commit) via b026f59345a336cabf74719fce9f96cab7c7ab4d (commit) via c7748ee9ceb5a394658cd07aeb0445924599e442 (commit) via 67aa1f3c2881e607081d9e1b57be3e7544c2c45c (commit) via 2f667667e24357ff54701f3e046820cf08d649cf (commit) via 36cb72375cc371b786ceaec588ec26f8c55ae2ec (commit) via da584958006fd0a3f3dccd25a0a54fa79a0976bc (commit) via 1ef8573cc77c91feeef3edab74d383d20809eb33 (commit) via 59aa9b0be159002e2eb971176921dc1e9c8045cf (commit) via 12add40ee4d01fa0cb4bdb67a7d5d13d6a3b4e23 (commit) via 8d7bcccb82d9a7efccd75d9552d007c62031e855 (commit) via b596a3c77da2387d7e5a3855717d65ce33bdfb58 (commit) via a9342b62885d5119593fa4330924e031e14c6406 (commit) via 5af70966484d6b26fa7824c0cda110140cd4959b (commit) via 5923a04c0c489054d275e3b0441626ce1ae7344a (commit) via 6d6a12bf87bc6dd89b2533b5d0490fdcc00df9ad (commit) via d320c2b5e181828418224521f2acd2ff48e127f4 (commit) via 1d94a5a36a614cf7ebe259d7660f4fa725f38ee2 (commit) via 0f14768a2a6ba894ae81010e8e70c99ecdb39a73 (commit) via 6eee24ce30f8e95335c2ad8586f9a64398eb2cd4 (commit) via 75aedd27e6a2c58734ab44cc7cad8491f19d059a (commit) via 939652a515a10654b16b97e7e2ea39c013714850 (commit) via baa62830ed84d45b414ff677b7bce900a21923ce (commit) via 0e8f53badb3df16f4104890395d9324a5bcf568d (commit) via 1910070b298052d7ca8e4024891465824588c1e9 (commit) via b22a7c6ab6173fe4fa1352e14d00a234bbf50346 (commit) via 3b9d3ac236dcc418619785e0660fc0063e6489b8 (commit) via 8b31193aa9752ba60d63cedaba943370d76ce543 (commit) via d5da8b3c0d99e71c27832a4e9b60c61eebf9767c (commit) via 5accd1a07e080c386918da413e0f9e90c4cab58a (commit) via d8aeb77f040ced7d37ab83f032b2e4ded2c81ca5 (commit) via 592553c46959c98bf5981ad245d0fbb97f373d2a (commit) via 5325b9bf1ee283c40f076334eb3ea66e1f0a6ade (commit) via cac85af2467c9bac326b397b150274d95d2916a5 (commit) via aed57c537116ae91f553ac835b3f96d1f87b3bb0 (commit) via 99d89cdea6c296bdd94ce532350d139d3900ff78 (commit) via 217083254a26b9e1dc42c43f573054740988c2cf (commit) via d30e1903399c32605d38b8d75a612c0d5d3d18b5 (commit) via a08da33eb3f69dec01810440a40c77ed56a79b69 (commit) via 669e09f609d30e070dc26db34d938a0888a01928 (commit) via 448b8ca86519cce1216c9db5f0236604a6a33320 (commit) via 39f286cd585226ad98c2cd94ee0f96988b3696ce (commit) via 041be52673949e5b6cc2b507e55a379a54ab8ee0 (commit) via 0e2a21335b6fc4a5b6bed19d9623916c52918b72 (commit) via 8379fac67e963e0d12649c58f79d52824a7eafdf (commit) via c0b0b1c2b4376efe8a2bb2e65d7f1f93243cb7fa (commit) via 28e817cc440bce73691c03e01860089a0954a837 (commit) via d820d0c37beda1c29ff50bb1f2ebc1d23114d735 (commit) via 1055a3b422da11b252fc83e73a5e9f465233e73d (commit) via 3107326d3df950b0578a895bb835b2a8dfa8fab7 (commit) via 923c6a756476f3a1f92d6625aacbbf5253b7739b (commit) via 05497ea85a1b03cd336da4e14af5d147020a4399 (commit) via cfeadda545c4961877969e6a66be79278696e012 (commit) via 236f4ebe3ac7e8f94184fdcc39c70d74cc62b82a (commit) via c8fcc36012301d7402fd990ee5d8f78dffa824f0 (commit) via e3ecd631339aaa2a4af57f59f0694671d4ce00ab (commit) via 583068ca1d855abd09ac979c688f48b0ddaabe0f (commit) via ec98a4ad5bfcba33deb5cb786c023082adbbfb46 (commit) via 62ea19c1000856c2633a952c52269fca4143931a (commit) via a9859e01726d085db79cff88550fdb38e2434e42 (commit) via 171b8e19575654ab32321eb99f3fd112663ae7fa (commit) via 09134207b2ab57a66e30255d0520a36c01e78313 (commit) via 4ae80ffc55cd44fe9a5527403f07fee70307b2d7 (commit) via 053af8c9034f92d6e36a1180655ba22a65c56437 (commit) via ef8df4caec24669a11680aa1a696d470fb6177ba (commit) via 7e9ca91e006d57bd39838ca5196c1bd0db3ef170 (commit) via b91c5d6e5a3f373e424cede99cb4e0958792414e (commit) via 9d30e1fd7cfc742b03b7d973e511f7bfe5cfc295 (commit) via c65bac3846567a8068fe4aa5cfa79da5b193a1af (commit) via 02e12e3806bc60f66e3c446c4dfa9c06a400e604 (commit) via f097f5ad808bd535236a65077f40e9d082a4ec0b (commit) via bb86dd08b25624206c3943b56b79784928e58464 (commit) via d2adf9f120dd9ddef67b1d94b24298dfd3410bd1 (commit) via f87673e04f4ec54301151f74237329df14133569 (commit) via c8c89dac38c723a2dcff9beceb9e7c09b0c5f3d4 (commit) via 6a25bee8d049d3b51cea9e10f487fc04c792dd66 (commit) via 59581069b4d070ab0ac61047177ee119110d678e (commit) via 2eab46b176fa315ebc07569280f020c3348c2aa2 (commit) via 2ee73c7abf6408c543bf297271c83dff8e87ee44 (commit) via 48c5e7e239fba27bea134f6cd5f414300b7cd3ac (commit) via 1b2ed39c3a7ee2870f3d16a510d31e8d5916afbc (commit) via bdfb4455977ffdd2d3f8dc81f25f6ba1ea2a7f49 (commit) via d9858c37914e104401071b12b060765024008fe4 (commit) via 11fa9f134fd658075c6f74499c780df045d9e9ca (commit) via cf0ad5bbf2d3fdb751b5f3f49e55d251d48c7416 (commit) via 677bd4c69d0eda4f2ae635d793f23c0b1413a9e9 (commit) via 8261e52d1b8381252ede6754ea6cd1ba18810f1d (commit) via 986041cda76a312e4285c9ba1e51b1778fcb15ce (commit) via 7c711119166fc1c60c756059f39c6703d57eedbf (commit) via 1b20edf043c62759a4c78e40b03846e9bafd584c (commit) via ea41325b7d134e91648e340d8297e8f6ee5fe26a (commit) via 2a3c71d68d452bb6b06d199d0eb7bc0cbc2b9b25 (commit) via 5c329e6ab4c7bba9b83155571b150756210001df (commit) via 169bb27bce3dc43b2bb5f6abf7fc21c19de5454a (commit) via a07c88800e88e26fc3a746739f0d2cc8abd30c5d (commit) via 26089c494f0d6fa8d4afeab2e2e53b25d299bb9f (commit) via 06d3e5b0046d69e3da3450d2eb07c29f0c1a189a (commit) via 66644cd32ba63e7fda70e455766b438631ec0b61 (commit) via 592d8c0a5d193d3aad03437942a54a667477acea (commit) via ef1ad42b8b5f2c43d74582d2e629841c39962c18 (commit) via 444b3faef5397eee5a06fe0e683d2ac3e6628fdc (commit) via 69961a84c9b3744a10248fb6cbccc3c688a1e0a5 (commit) via e8b1c9b397af0fdb3489a207a8d7d3fdcaefe7b5 (commit) via c55d06ec95961fadd9deeffae519ff0f20f237d3 (commit) via 3a6ae42d4e4ecfd2441cf9b978b2a54ad6767cb7 (commit) via 61fd3e738919700c8d0fbb942519d72a767d90b1 (commit) via d20172fc53017cef12d64b21aa2fdac72072558c (commit) via e3319240732bc9543af8ced9d80ec89d0b629b2e (commit) via 5d36dfb949751663bcb814b3cc780ed8f47442b4 (commit) via 8833fbf05c5b93fb3ccf666d5a3bd0e51e75d1bd (commit) via 4ada3dfd5c07f0f1045a721a28fc905918ffbdfd (commit) via 502c64b9ac12cf2a35d3cb55c51e2eefd33a2494 (commit) via 113b7b8142427cf7a9ad85fbc39e1319b52649b5 (commit) via b18ca5148b837c878b64306be2b78b15fa730259 (commit) via ec70d8db32462176e7da60d28b0c1978fc6b70d3 (commit) via 5b38f9c16e5b3f5f4b5d7772bfef59b1c97e2d05 (commit) via 827041555ac443bd57340060f3e034fd7b199dd8 (commit) via d5c04e1bf81c06ab5c30e69eb41b5cea9136a109 (commit) via 66d91b39089d606c9589673a7c5419cf37e7d639 (commit) via 42a4f53d2bf8938c2aeda9f52be7a20534b214a9 (commit) via 5bbd631dca26b37b1cc7164d4499949826b8a102 (commit) via bba90696229e8d7d3a37f89159d91e0906357bbe (commit) via 2139e8dc9f8f11aacb3e4b697a3d554b28d50ee6 (commit) via 8fd04a4255376036e85c4e80d430b44ec4b06c64 (commit) via 54025d5812ff100f5f0654eb7e1ffd50f2e37f5f (commit) via c96e057398b599a343cdff68325251346b71594e (commit) via 17c885c61819650bc00790988e46d3d1d8801691 (commit) via 95bc9f0bf06637cf9c1147008ac32d6b00c42707 (commit) via ecad3b215d34263968bb7c74701e3ca9483ac710 (commit) via f1d3b1665f4980c893b496e85906ce43917cc515 (commit) via 64c45143db4c550e19763edf97ca3441c78f9a05 (commit) via f9f981e5f64c3941ccae45c7a2911898eeade5cf (commit) via 2cd8cc0b66ca297bce4d08e4f712f86d9f1a2fb6 (commit) via 140a4bc099820c909da0eac1df0f56ec468ad3dd (commit) via 62f29fda90cf1d5a1899f57ef78452471c707fd6 (commit) via 4a3045920bbe4e50a0f4920b0fdc4e88ef23015c (commit) via 1d1d0bf76f3bc3056a1456e53c066f40ca4d0837 (commit) via 35fb8261b95c07e548a0b03f60b6c2cebf83caf8 (commit) via 47fd17cdc14a0d295a2cbdc02eff144e3fb4e900 (commit) via d47032b7ca85852acb1d2bc645f477ffee4373fc (commit) via af79b68d7f935799c956b1a40e92a167385b5380 (commit) via 0bb296cb5f3a81b4b5e702208aad911d3b727f8b (commit) via 80ae204359b707f2914132ed353d3cecbdb58b23 (commit) via ef1dfa3644f02efffa11d718fe5788c05177587b (commit) via cbe5657196d0d3acbeca39973f93f333ecedacda (commit) via 9162a27c5f5828240b53379d735679e2a69a9f41 (commit) via eedeedd2a50d121af466ddfa9e897212defbf079 (commit) via 7170dadf5950e1444ab09cdfc4e07dd2698fc275 (commit) via c5603d506350cca3b1af7ba3a97bf05adeea0508 (commit) via 94f2c73066597f33933bef2d20bdbfbf6fcd8b69 (commit) via 156f23669270533e1499e15e49842468800c2681 (commit) via 0e41bebb938dbe9eae7063f5321429194bfc5ab7 (commit) via cb87d9f1a49986b2eb92ac381444f4cc7c9d8a4f (commit) via d1a3c973fa1c0d7eead585e82e02db11daeb36cf (commit) via b6d3efdc59c84f418e2d7e1a1dfbc5ff33f44ae5 (commit) via bc543c902f9891f732be68817e16ff379b69566e (commit) via 6ef2312a177ebdfa841e82b515c144975073a501 (commit) via ec9c2750b7bab8a55aaf7d2386e809d4e81deb03 (commit) via 6987262214a204ea3ab857d86a1faf9f4e66f211 (commit) via b180d0a254034c14fd540c1b57391bb413f788f7 (commit) via c88c222e3c01e3f936455dca59f486e310d12f69 (commit) via 47db57fd4ea9379c356c326458691f5cdc64c72b (commit) via af9a216102c27e308e338f77b6f9ad78dd0d2c09 (commit) via 075c55e0cc0a68eeab777027213c2f545618e844 (commit) via 293bf1a719e88e063e75ae467c5aec101b59fbf6 (commit) via 3cf139964eb2e2d3008174aa3d446797fce31240 (commit) via afcfda091e15beb9580398709235c1866a4c79e1 (commit) via 2ab54467f89763c96e2e9bda876eee1f9c8561b1 (commit) via 84b68c77e7f1c8c883ff94aaa2fce0df2eab0877 (commit) via 39c2d8290bfea758aaa7edb2a10faf2076b950bc (commit) via 50794b45a2a7330fc32b118bff584a3a2e649ac5 (commit) via 5172760036cc706596970b35f106aa5a9093b44b (commit) via f493efef89a544ebb7f1aa0c9bbd688fc34b5cdd (commit) via 6f0ffe50c8f395ccb45ba9e801906b49d18c1af9 (commit) via 0f5d3f636a606e307d8d8634415cc1e313a38273 (commit) via b6c95c0cc5bd60e2de86d611120bf6191f99860a (commit) via 45b8ae0c3348a6e6aa64ad5d114adabdc399c5ef (commit) via b5a1e55720f294fd0d5e1ebc21ccc01083751acd (commit) via 56334baf0c2d95e41737d084ade2e8c35baf1c31 (commit) via b366503e45a2b28271dd12a7ca923964154c2716 (commit) via 03eccf7a34d121385663f1b95b757ff6aadb0ede (commit) via dff021e14a9c72380311c15a90c1a646b179b987 (commit) via 74e3300d8aecbc6973f61c8cbbecd7bdac4f05d0 (commit) via ecc82c059059cfa21a8a099779253686f9637f9f (commit) via fb44d95af64dd0609760c1400b9ce4da09296cd1 (commit) via e08b849efa7af6cb13d7d3d02dc366b9d7f4208c (commit) via 5ec79917fa45f4f0870d7d0a09806e31dd5d28b5 (commit) via 6e8b1ab2fd4c692146eb14295866920f83dc5403 (commit) via 6d78332e7748754d4a77a31e692fb8760c8c12ff (commit) via d00a27c5addfb6b7350a39215b48f4aaffa5960c (commit) via 50c7c5b8df15aad66a9d2f6759e85689a2a74271 (commit) via a96bd1ccc0dca2d260e0e30de462f37066973ceb (commit) via 3dcfdc58656caa4a38e1fde73a07a19114347226 (commit) via e8f2b38a26591c44471e04b09b7b77990845d520 (commit) via 76268e027479f587b46b70b69760f1b96204bc28 (commit) via 161d081c56f12e7a00d8a07ccac445855d5d357b (commit) via f0f13ece4ce4ae5745cbf987c187306f755736b8 (commit) via 8bcb5208976448aab20df7dd50e9286ef1f7e22c (commit) via b9519cfe9828b9ee5a73e74b4be83d46f33e6886 (commit) via fc999e8020ffe8e1136da70f275bceafaa62a588 (commit) via 7406a50077773e78282a495cb32ef5b8179f6a33 (commit) via ebb8004a18a3808d7197762faf3c5aaeae82371f (commit) via 2d5d5a8f0a8b5a03454bf168b7fa7024bb1ebbd8 (commit) via a529dcc854968b7f6ad766c714650011dc361382 (commit) via 7af5d5c4dda26ac36ee2ff42af8f39a10382cc41 (commit) via c5ebe0ff706521b4a5fb66a5e764031825276ad5 (commit) via b55a4797099d2b871624cb525c1ea664262dd7e0 (commit) via 9068261f1c254a8051d1098b87ab1ff99d525b7b (commit) via 87469ba2d2fc953796c7bb64e535d3f283756048 (commit) via 51b4f73a37c2e7eec31e932fc3c8dae879735f63 (commit) via 4ef5dbe493310e3632354d4937727a755c13c291 (commit) via 3a551c7a1b80fca579461774860574eabfd7f18f (commit) via 40b9228581bb9bfaa3a444a6a19a9b41ebc68c40 (commit) via a65f68357f644cae11536bbb8a1699936ccf1368 (commit) via 76d2760bc38ada83f81087f16eb151ccc0176574 (commit) via 7ff6138b00d245b765266ccaa238e51f906f5356 (commit) via 097b3e508759ac08115947dc89f23a97325f6281 (commit) via 0a59decbb81676ac30deede1bb6b6e241cd75502 (commit) via 0681fa5ee5a1059b9415c4b0408030fd25bd26dd (commit) via c68033869a714b79f20d47ca54138c13439c05c0 (commit) via 64fdde094a2747e9aa729dfa4f1568c3d24ab80b (commit) via e9076973c822e6df7f84bb8bc0b69aa42dd29eb3 (commit) via 4794efbfdc4b1497c1f47397b2a2c43382e3de78 (commit) via b7c8601a7f2874de1bbe0dc38ef86ea053593ad8 (commit) via 09038062534606ef9100b5474d136f7d2e543de4 (commit) via fe554d200d1befdc3bddc9e14f8593ea3446c351 (commit) via 66ac1ae906fc09806e827c8a06303fa7bed221eb (commit) via c8749e5810115ad822ae22db8a8da4c92b0f285d (commit) via b001de2320446ec803b4ee5e0b9710b025b84469 (commit) via 6bf78e29a1dea7121f050c6ee4990298eec679dd (commit) via 4de3d8d06673d130e256a6ad81e5df2e412934c1 (commit) via 13dc50ee16e1ff4180da61bdbd86e4a3c304b283 (commit) via 60f9fdc9c2f43f2d578f707ac78c18251f6d4ae9 (commit) via 00863b8e40a0afd0daf0925acf3f7c794dfd9c73 (commit) via 750b258ef80992e76a3b03fe57dc9517e63de7f5 (commit) via 9f375018392171cb46dce2c929ee979c67035f26 (commit) via 326b0c1289f97a25f3846f1d1d8d32811bbd1789 (commit) via 550892eb5a320c5a55fb4f45750514cd16433baf (commit) via 209d1499de79eb23191f5761166180b80feb900a (commit) via 69799d67e8872dcd3feee81ed2ff0fc47beb52d7 (commit) via 99e1a184a791d30c09a86d6eca4528dc146c2c79 (commit) via 8970c0224e3c36c565672089e38de42765e87f47 (commit) via 5136770380a3a829463d5ef29fa8339d386db51c (commit) via e771f7a770b07c676958247464962614266da755 (commit) via 69cb29528eaf96ed82c25283586a8cc914130439 (commit) via ecfe6254b5e27ba5dee0841d61d565cc1fe3318e (commit) via 9f52eab6a7a69870c7b5907a20b0305f30dbf2ae (commit) via 7a81c1e2d44c6eb11b2ea24dc71ee959ab3a5acd (commit) via 2578ecb1b583408c7a75716edbd203995da373c7 (commit) via b5ac78ffc6779b5caab4d24a31a5e0b5cccf4858 (commit) via a2419b98d90e89acbef47dbc7a9047f4580fe99d (commit) via 73e8dc90a8a94bc52e29596b1cc176b882fbbc8e (commit) via c0ab2ae3cc9af434ba926015d82a39cdf42c70bf (commit) via 7ca166c9408599e64c0cd3c5d3f0d00c8fae2d9e (commit) via 5aee1c38f938d4f7c9f8365fabf81e2d1f1ca051 (commit) via fbcc8bafeb413a111cd3caab39b3ab57d5b8ce93 (commit) via d9c859da9fff9de47a33f52d75a6fef2495b3fc1 (commit) via 42e151bf4cc66b8781f2b139c6da320095f9a045 (commit) via f50fabe4f66534c9addacddeaa439e8d164eadda (commit) via 8bebfcda34f2ea883fa6b87e748ad8a5f72b352f (commit) via d2ef37ebd9f771d06edf1fdea37970f60b242b2d (commit) via 4a8110007bf58be329f108374e00ef8ddc1fe3ec (commit) via c2f5dc30afa34696f2da0081c4ac50b958ecb0e9 (commit) via af03af8f55f2536b6e20928e6b1fa0324a5f3d6e (commit) via 67bb16f345cb72740ab523018709c183ff3f8c8d (commit) via 9da0a9988db7c9db92edaa3dc98f2a0648782b71 (commit) via bb6bf75e7a1f9aaf0283895705710f415b81b6b1 (commit) via 23ebf37881dda7fcf9dd86125705a30b6e2084ce (commit) via 7fb45a689543be75809a0513900d82f5bd859338 (commit) via 884b49e3a91504b9c5528343823d67f4419b73bb (commit) via eb7be1abbc59b49e5f60b9ad075496eb619674ae (commit) via 2861ee4fde97d0afafc506380c5deaf71c8439ac (commit) via 3a67e1a6b4430374f3073e51bb19347d4c421cfe (commit) via 90af06793e9d391c0aa33994f21bba6971d084f7 (commit) via 13f2ed32e14311bdcdb9d6efe263486d5d128cfd (commit) via 754e31689866524049b9cfc68053ed4e1293cfac (commit) via 9af7cc783aebb975a487747e530030b47beeca09 (commit) via 706adc34932232926678abf9fe8bd530492d9e5a (commit) via fde51dd189a1f8a63896bcb845ef36ea5e1917d5 (commit) via f4238194a211a6a27598a7fdf9ad63f9b5d6fbaa (commit) via 314a80c41d52737c9cfdc80dc2f6f56e0d5cfd96 (commit) via b90514cfb5e1f9dcc2c0b89e22b65dd6c7879564 (commit) via 1080bf78c05b220f5f4bbc5c50d6a0ef6490d738 (commit) via 57b64c4103ffeadd524eb80b4a7d61be8c8ec871 (commit) via 8acbe8ffa02f62eb9371b8626576f83fcd6989af (commit) via b570a287cfb5715bdfcbd9e437a4f4fb9b94c9d4 (commit) via 5f6c22aee74f17393b82934a5682d985672e011a (commit) via 3134061ce6e33ade4cc65a36578b94983228815e (commit) via b44ee3a8cf21294eeb079ffbada7eeb559a9c6b4 (commit) via 4770fb94ee04ef767cb2c171a24168d2b5acca04 (commit) via 726bd37d6c5d5013d34023044ed7cbbb01317978 (commit) via 64d27cfc97f5b865019f0b7293ff2b9565db427c (commit) via 0acc7632bb09cce832a1b3756d31cc3fa93a724a (commit) via 35d1b0784a27fcd71daf1b058423010c9001f039 (commit) via 93579f6f908fa6010b141fd5da2974d878869c80 (commit) via 4717cec4fe4cb3a086fb13161603112e8ded787e (commit) via f8eb6a9e8986c6428de629b5538e431e1c04caf1 (commit) via 27c634e0ed18f769fb92d03fb75ea491fb6656ec (commit) via 92528b6772a19dd671b52d954c14886b11fc0a8d (commit) via 634494366c515a89c4747d8a68a8da9218bb4969 (commit) via 65a4b373267813ae5e47ac519da2e70d9c7e09d3 (commit) via 0ff80bf7b9901b5e3c6805b99d30fd555f512d69 (commit) via 81fbbaf96216ed88973a069e4ed25379d7421ec8 (commit) via 66b4deae03e7a503f8c543aa198a8c010863135a (commit) via 20a71194793bfa791b9090db2d47a67388650d93 (commit) via f3d11a9a96465432c01678445fc2fe84f2ef94f7 (commit) via 3b3dac9b3fd916d73726c7e5508f057574f74d19 (commit) via c180496d2ac268c06c13600f729d02ca4266e6ea (commit) via 5f60af5d24d181371d67534fa273dd221df20c07 (commit) via beab453223769279cc1cef68a1622ab8978641f7 (commit) via ba85c15dabe144e4bcee5a1b388b32bee10729e1 (commit) via f746c08f26dd71fdd809bad8cb92a6cbb8336ec4 (commit) via 95b1f9ac6b7de84b09580bdf2456955bcff86da1 (commit) via e61667ef1413b9fba1bb9dc78744329f8215de74 (commit) via 12951a2f080abfd23d0aae0a9a5b2c322fd25c9e (commit) via 3d5500e9580ec0f3cffeb1f1373834cbc1d2101d (commit) via d105de22fc385da878e8db44c9503a7f30419322 (commit) via e368bf56d38afecd1ac0e19c9e9cb54e2bb4fad2 (commit) via ffd9e4d0225d45d1603d09e06151c388589e063f (commit) via 8936f76804c2908e4abe911441dd03641204df9d (commit) via 27e8f8efca2bea184e485c3c2ceaea6c42a82125 (commit) via f68d3e00531b5eef1941a097c4882395eb2f64e5 (commit) via 4765cd611992862c844e8f152c5dbaadaecc25ce (commit) via b5ab31636d36e1252791cec179aa11ab9d9b87e9 (commit) via 3c7687b9cdacc243f7e23cd9b144e72b88d58817 (commit) via aff68bd0415c6f834cf1717865b5b44dea6b9ef5 (commit) via a5990ada637d978c43c6ff07941c56e97a3e6965 (commit) via 131a5a648d314cd15811158150573cb40eb3abd0 (commit) via 9fca35fc3486283562a7fcd9eb0ff845b0152d98 (commit) via 35ba4bc019ba75eca36363164eeaae3f011b32c9 (commit) via 4207142d6a5d2359170c5f9a140fc1a2351fbda9 (commit) via 6a75ea85b19306046e04a08eec344ec67ec2733d (commit) via ed2df75c51551cf9b44f7d94179849565ab5bdda (commit) via 24bce9bbe510c9efa36c0f85fb2f8a93ec8b623e (commit) via 9b4e3a5e23b37b3e9ff188043630d190e9c2e55f (commit) via 2eccb8f91fec7bb6431b55d701e5c7fd2849e3f5 (commit) via 0a744d8f9d434e2338bfabd9eeb1b02e225eb1ab (commit) via f63c03b470036353c8c6c657e15f5ebd62ab67dd (commit) via b5b12e1dbe0f2739624f91621828df73ef55e900 (commit) via bb31d44bb1a1594ebe0011d652574a6b4a852080 (commit) via 5446094655df842abb4ababac39f34c6342e8da3 (commit) via f5e0fe29ee3b3b9a27a68aacdb6950fa22372099 (commit) via 06a3cd06d4d1a2efe4d6a14204e1e5653bab41db (commit) via 5013824590f59374106007d4c9724d5767911d75 (commit) via 6af05e645ab7fbbb4e0b663f50febf052e6d09a0 (commit) via 8e4b63920116e5c0e5c7efbda29160356b3c868d (commit) via 080363310650c93ad8e93018bcb6760ba5d32d1c (commit) via c4c17fb0f5879d3f58c733a4139fa59817e8155e (commit) via 151bb4a5059e73934f7bc61318efaaffe0c91b81 (commit) via 79a9468c702f7087b5bbff2cfd2210a94e7c5fa4 (commit) via 27f42a4ddb28514fde3d01083120674fc8c0c107 (commit) via 51534d7ab8c77fdf2af52f409cc4e348e4213bb7 (commit) via 1c97054b87495b008c6028d697deff61c9fb0b6e (commit) via ca94519e70c39fca1d6ea93b8604349111522a8b (commit) via b5ffee3181d157a4d964f62344ac827142e37bde (commit) via 38139a9681a32e92f5c5b8437875d2726c009841 (commit) via 85cca2bcbc7833b33d4b61d7b7e0e75b9afa063b (commit) via 82ceee50146563a61ed19f4ad585d39636a6dfa8 (commit) via 0891c3cc132495ad7b323896efae4f91eca87c6c (commit) via 6b1747cd135ff9859fceb6043179b1ef94363996 (commit) via e71585ffe2e1394858f0fcf809e86f1b324fe4e6 (commit) via 1b288e9bbfc6f22277ef7f804aeca26e991ad0a8 (commit) via d63095c426f704f75d943a7481189628403ed58f (commit) via 1871a62daf0561da0880ba1ad39e8191bc3cf1ac (commit) via 604c4ca9f33d13813312b2f127f6599a5c5de038 (commit) via 20813a0b7b0ccbeaa64aa83d92cd69e16a30cceb (commit) via fb5e1ed910730334c713c0834d3d66503511ef92 (commit) via 43d397ca8f097e8f0ab0c245afeaa22b8da7ac52 (commit) via 9e6a1ab6652e8461f786d5c308f632a7c0acc53f (commit) via beddd67132d5f8240613fd89b21ae0d2a1c7bd0f (commit) via a8462bbf0bb1c2ef55c87d32bfde6d0a962de87c (commit) via 4399bce99b9d1b4e52c386a1953c53337d22b457 (commit) via c3247a98cd2bf9dfcf733e6968273cce90850807 (commit) via 2fa1b3191e449f1efca31a654920a6bd3a1f4f28 (commit) via 970d89d8fdd84b31decaf3bd84e785aad057ea32 (commit) via f92f9e8780f74c5084c59689f91d28b8a3471538 (commit) via 7b5227d1323e6ee2833f9ba44dea36f3c1c49179 (commit) via dbe4e6545ee6a02da1a081fb51becb2843353bad (commit) via 85a2ae1134426242fe52b609c372234062e0fa58 (commit) via 0614ef69be074fcfb2dc4e7b0e3b9c715a9b44ee (commit) via 261f6f7962e3fab7cad813a8821f00cd0173f88f (commit) via 73fc52c4ccecf005aac264e3faa08e815d25118a (commit) via 994b876a510ad2ed7e0d34a4c7d08f8039cef6ef (commit) via 39a36629f68e9796d950d9204012fe8272e2d0ef (commit) via 32641fa9259dbe2e576add1992434f404d1d6881 (commit) via 6769f2765db0d94eeb8437b41a925e2bd871f514 (commit) via 4f323b727743e40ce9b0bde1e19a73b4586c2f25 (commit) via c2a6c5da37c0135acdb859ca819870980db69b77 (commit) via ad6d89178df984c70c39f31eca149d8e5806c848 (commit) via b1406c0b980e3ce80abb119f918737916c43537d (commit) via 38a72da0f1d968432ae6a2a9697ba55932dc075e (commit) via cf84fa6bcf514157df8343d32885050bafc396f7 (commit) via c5ac5cbb5be91d43bd31ac0068917bdb7ab9b439 (commit) via 81c688d54fdef81c5150ba64f8efa10449093e43 (commit) via 2a2c6f530de72ff2794fed1e41979dc3210991b9 (commit) via f9db0c4c6c074d2df927d2650229f31eac079640 (commit) via 92b3642af0e739e526e27d4b4a0c0505e72a8879 (commit) via a0cd42fcd1d9a7544e93f6b1ef7f9a1fe98c8897 (commit) via a99bc3d23c133fe80f7ccac44246a471fb075bc3 (commit) via 8b2d40cbba8fbf98d6e031c7d8c7e2ac1baae2d9 (commit) via ef2de9e7eb19cf6f56c8378df82cab30ff741fe0 (commit) via 174f8ac8d49021137f98884fc22a7d233e2f89b2 (commit) via dd9168931facd539a585b88d7b7c6c04c8c065c2 (commit) via 0242af401093907f6f2bf49d90c1e5d1e23b4453 (commit) via 97b3f39201efc9029a9a27d65f13674964c51503 (commit) via 497d849d28d933016ae0ad388c86b08bb16dd504 (commit) via 7322dd1f69b18653692e6d790376d7754b9cfd3e (commit) via f77984e974c13d54a5c6a1e5d443c0c4564e48e8 (commit) via 53a89d6e5861d23b2b9ad0c82247daddc117701a (commit) via 8a758655b3ee39bed245a6ba2fc9f81f77813443 (commit) via 3a0f69be5589d351453afebd0974992cff3ee4d1 (commit) via 70f3d23af74dd6a1f90aec8748424cf0b5a953a5 (commit) via 503ba600259856b41a88b56922e094ea826df270 (commit) via e6025b546c21b280ef05201b065f07335ee10e2e (commit) via fb3265b371a141c4ffc97dcf8cc66e090c516dc8 (commit) via b731bc3b1bd122872a6aff68aafba1eda64a98d1 (commit) via 193614f2b908c2b55c188cb14c3ef78993ff85b0 (commit) via 73b605ec3f546ff5a1c343ae02e6322aaa451bcf (commit) via d1b603a74e3a06da231727eb88947666e1885196 (commit) via 417e50dbcfd4b8dd699f48df5ac9b9a733fd80e2 (commit) via 0c57b50523a36c1fc9cb1c1c884c036027f5fa28 (commit) via 00a9f4ce3d20a9f705838961b529ef1652b7a0ae (commit) via eefce37f62d87a65f63e12e421a3f727b2685e9d (commit) via 2179fbc36d23f29a83fb3dfcac0fc7d1fb31b8e8 (commit) via 9c122c7f9c8260d2cceb1e8f29d69607531f43ba (commit) via 4b905ae1b4d5f90e5737ee01ab4b7149be8c1fe5 (commit) via 5d762de01cc537cec47d3c7bbae0424a33b33b04 (commit) via dfbfec241aa0ec5359906dd9cdf89ff90750d7c5 (commit) via 20b233dc4872717a845066b0362582ea4f483df7 (commit) via d07b621f4cc585607c7eee7cc58ce54a7dde52f5 (commit) via fda57deda7cc82d89ceee1afa966313247e60b1e (commit) via d2eb0fb5a04e2e2ad374f56c7107f2421cdd93c9 (commit) via dcd9adc5cbac756507eb5da65a4f9cf3edb8fc93 (commit) via 71f5e3f7b624a725ba550a2dd18a413c88ee6497 (commit) via 0d0b0a378eb0c6705ff05a52e7468f5df5e47bc4 (commit) via 0f2064107ba373ddcffb30afc55ac08b40c0585e (commit) via 73af69e74974eaa155eec89867e3ccc77ab39f6d (commit) via 9325300dc283ece6bf6305b912f53114c0895114 (commit) via 13daa8e4889a971309f7d46a8d49129cb26088a5 (commit) via 0e2779e98dc1251b469db690458d14262c72e303 (commit) via 663cc8c0fc6ed1fc64b3a3930806cdaf33cfcefe (commit) via 9c710e1157caf7a2c3e4c816c72f88360f3e859c (commit) via 3c6618cd22d7f188b7c1a3c87edc8ed2b93fbe41 (commit) via 20f0d60db4fb5083779c4c9182bbc692f7d2bac5 (commit) via d4718d5c9f9b5c41d88254429c61010c63139130 (commit) via b5420128da08dc81d94b265e88083d172909ea25 (commit) via cd115d615c6558175a56c3d0896b6f1c62864cd1 (commit) via 17cf2897848e893d49b69eb65e00bbf71eb503ba (commit) via 5acaada74578ee6a902255f0272d5f3115b76309 (commit) via 9e49efb79c449852fdb2f727d500d7aba1e449a7 (commit) via 76136aeda5ca3f23ba2f86fb6a6938b381d37f61 (commit) via 07deea26b5c3dfefe50dff74925e903b826acf22 (commit) via d3def5d73eb9d8295ca7b11d130b17a815151951 (commit) via 0661ae2e5324719f7850e81fc1da9f6505361ae4 (commit) via fc7b364aba41819a5d74ae0ac69f050af282d057 (commit) via 35ee2dc2e4de8b1ae73f420d5db3375f92300b70 (commit) via 42d4c301c45df41d1c724b7b86f8683a875c010a (commit) via 8d3c78e473c2af54c8117808f2459a408f9f6327 (commit) from 451fedd097d72653b034d236d5e23e0b98152845 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 90309e60ba3d5ddd633266743104b390270be73d Merge: 451fedd 34ef62f Author: Stan Cox Date: Mon Apr 1 11:30:02 2019 -0400 Merge branch 'master' into scox/strace commit 34ef62f46541d423b991850b2b7ba34d8749a6ba Author: Andre Vieira Date: Mon Apr 1 10:43:32 2019 +0100 [GAS, Arm] CLI with architecture sensitive extensions This patch adds a new framework to add architecture sensitive extensions, like GCC does. This patch also implements all architecture extensions currently available in GCC. This framework works as follows. To enable architecture sensitive extensions for a particular architecture, that architecture must contain an ARM_ARCH_OPT2 entry in the 'arm_archs' table. All fields here are the same as previous, with the addition of a new extra field at the end to it's extension table. This , corresponds to a _ext_table of type 'struct arm_ext_table'. This struct can be filled with three types of entries: ARM_ADD (string , arm_feature_set ), which means + will enable ARM_REMOVE (string , arm_feature_set ), which means +no will disable ARM_EXT (string , arm_feature_set , arm_feature_set ), which means + will enable and +no will disable (this is to be used instead of adding an ARM_ADD and ARM_REMOVE for the same ) This patch does not disable the use of the old extensions, even if some of them are duplicated in the new tables. This is a "in-between-step" as we may want to deprecate the old table of extensions in later patches. For now, GAS will first look for the + or +no in the new table and if no entry is found it will continue searching in the old table, following old behaviour. If only an ARM_ADD or an ARM_REMOVE is defined for and +no or + resp. is used then it also continues to search the old table for it. A couple of caveats: - This patch does not enable the use of these architecture extensions with the '.arch_extension' directive. This is future work that I will tend to later. - This patch does not enable the use of these architecture extensions with the -mcpu option. This is future work that I will tend to later. - This patch does not change the current behaviour when combining an architecture extension and using -mfpu on the command-line. The current behaviour of GAS is to stage the union of feature bits enabled by both -march and -mfpu. GCC behaves differently here, so this is something we may want to revisit on a later date. commit 52093e1b936fa4f3f8bb3868c5a44d0df25c8db4 Author: Marco Barisione Date: Mon Apr 1 09:59:53 2019 +0200 Add gdb.Value.format_string () The str () function, called on a gdb.Value instance, produces a string representation similar to what can be achieved with the print command, but it doesn't allow to specify additional formatting settings, for instance disabling pretty printers. This patch introduces a new format_string () method to gdb.Value which allows specifying more formatting options, thus giving access to more features provided by the internal C function common_val_print (). gdb/ChangeLog: 2019-04-01 Marco Barisione Add gdb.Value.format_string (). * python/py-value.c (copy_py_bool_obj): (valpy_format_string): Add gdb.Value.format_string (). * NEWS: Document the addition of gdb.Value.format_string (). gdb/doc/ChangeLog: 2019-04-01 Marco Barisione * python.texi (Values From Inferior): Document gdb.Value.format_string (). gdb/testsuite/ChangeLog: 2019-04-01 Marco Barisione Test gdb.Value.format_string (). * gdb.python/py-format-string.exp: New test. * gdb.python/py-format-string.c: New file. * gdb.python/py-format-string.py: New file. commit 8828efdb24ef337e074183a0db3ac6399a3c09ba Author: Marco Barisione Date: Mon Apr 1 09:43:54 2019 +0200 Add myself to gdb/MAINTAINERS gdb/ChangeLog: 2019-04-01 Marco Barisione * MAINTAINERS (Write After Approval): Add Marco Barisione. commit f7043f6281dd27b19393b3d18daa227acd9459c6 Author: Alan Modra Date: Mon Apr 1 12:00:09 2019 +1030 PR24402, global buffer overflow in symtab_finalize PR 24402 * symtab.c (symtab_finalize): Init prev_addr to one less than first symbol address, not one more. Correct test for symbols with leading underscores. commit 91fc2ba707780d150309259571b12c73e92af5d0 Author: GDB Administrator Date: Mon Apr 1 00:00:44 2019 +0000 Automatic date update in version.in commit 0fefd084955176d9235679cb9ec40e5794f350e9 Author: GDB Administrator Date: Sun Mar 31 00:01:22 2019 +0000 Automatic date update in version.in commit ae2b14c73cd42b067e9687219155ed044210f0c1 Author: Jim Wilson Date: Sat Mar 30 10:12:12 2019 -0700 RISC-V: Relax tail/j to c.j for RV64. 2019-03-30 Andrew Waterman bfd/ * elfnn-riscv.c (_bfd_riscv_relax_call): Only check ARCH_SIZE for rd == X_RA case. commit 7734102d6d8b5a0ccea166f8e944f84dc896b9ae Author: Eli Zaretskii Date: Sat Mar 30 12:58:33 2019 +0300 Introduce new convenience variables $_gdb_major and $_gdb_minor gdb/ChangeLog: 2019-03-30 Eli Zaretskii * NEWS: Announce $_gdb_major and $_gdb_minor. * top.c (init_gdb_version_vars): New function. (gdb_init): Call init_gdb_version_vars. gdb/testsuite/ChangeLog: 2019-03-30 Simon Marchi * gdb.base/default.exp: Add values for $_gdb_major and $_gdb_minor. gdb/doc/ChangeLog: 2019-03-30 Eli Zaretskii * gdb.texinfo (Convenience Vars): Document $_gdb_major and $_gdb_minor. commit c6f03bce79fd93f152749e2a299a03ab78421f5f Author: GDB Administrator Date: Sat Mar 30 00:00:40 2019 +0000 Automatic date update in version.in commit 188e1fa9ac09b0a764e19c1afc0fb5fcdb688e65 Author: Tom Tromey Date: Wed Mar 20 14:52:24 2019 -0600 Add usage for commands in printcmd.c I noticed that the help for "info addr" did not include a "usage" line; and when adding it I went through and fixed a few minor issues in printcmd.c: * Added usage lines to all commands * Updated the help text for some commands * Changed some help to use upper case metasyntactic variables * Removed some dead code Regression tested on x86-64 Fedora 29. gdb/ChangeLog 2019-03-29 Tom Tromey * printcmd.c (_initialize_printcmd): Add usage lines. Update some help text. Remove dead code. gdb/testsuite/ChangeLog 2019-03-29 Tom Tromey * gdb.base/help.exp: Tighten apropos regexp. commit 2880242dd0b8538b68aece7d9e8b1678dcdfd0ab Author: Keith Seitz Date: Fri Mar 29 10:15:38 2019 -0700 Allow really large fortran array bounds: fortran type/value printers This is the fortran part of the patch, including tests, which are essentially unchanged from Siddhesh's original 2012 submission: https://sourceware.org/ml/gdb-patches/2012-08/msg00562.html There is, however, one large departure. In the above thread, Jan pointed out problems with GCC debuginfo for -m32 builds (filed usptream as gcc/54934). After investigating the issue, I am dropping the hand-tweaked assembler source file to workaround this case. While I would normally do something to accommodate this, in this case, given the ubiquity of 64-bit systems today (where the tests pass) and the apparent lack of urgency on the compiler side (by users), I don't think the additional complexity and maintenance costs are worth it. It will be very routinely tested on 64-bit systems. [For example, at Red Hat, we always test -m64 and -m32 configurations for all GDB releases.] gdb/ChangeLog: From Siddhesh Poyarekar: * f-lang.h (f77_get_upperbound): Return LONGEST. (f77_get_lowerbound): Likewise. * f-typeprint.c (f_type_print_varspec_suffix): Expand UPPER_BOUND and LOWER_BOUND to LONGEST. Use plongest to format print them. (f_type_print_base): Expand UPPER_BOUND to LONGEST. Use plongest to format print it. * f-valprint.c (f77_get_lowerbound): Return LONGEST. (f77_get_upperbound): Likewise. (f77_get_dynamic_length_of_aggregate): Expand UPPER_BOUND, LOWER_BOUND to LONGEST. (f77_create_arrayprint_offset_tbl): Likewise. gdb/testsuite/ChangeLog: * gdb.fortran/array-bounds.exp: New file. * gdb.fortran/array-bounds.f90: New file. commit cc1defb1dcb5f1ca23a82bca233a48ab2657de6c Author: Keith Seitz Date: Fri Mar 29 10:15:38 2019 -0700 Allow really large fortran array bounds: TYPE_LENGTH to ULONGEST This series is revisit of Siddhesh Poyarekar's patch from back in 2012. The last status on the patch is in the following gdb-patches thread: https://sourceware.org/ml/gdb-patches/2012-08/msg00562.html It appears that Tom approved the patch, but Jan had some issues with a compiler error that made the test fail on -m32 test runs. He wrote up a hand-tweaked .S file to deal with it. Siddesh said he would update tests. Then nothing. Siddesh and Jan have both moved on since. The patch originally required a large precursor patch to work. I have whittled this down to/rewritten the bare minimum, and this first patch is the result, changing the type of TYPE_LENGTH to ULONGEST from unsigned int. The majority of the changes involve changing printf format strings to use %s and pulongest instead of %d. gdb/ChangeLog: * ada-lang.c (ada_template_to_fixed_record_type_1): Use %s/pulongest for TYPE_LENGTH instead of %d in format strings. * ada-typerint.c (ada_print_type): Likewise. * amd64-windows-tdep.c (amd64_windows_store_arg_in_reg): Likewise. * compile/compile-c-support.c (generate_register_struct): Likewise. * gdbtypes.c (recursive_dump_type): Likewise. * gdbtypes.h (struct type) : Change type to ULONGEST. * m2-typeprint.c (m2_array): Use %s/pulongest for TYPE_LENGTH instead of %d in format strings. * riscv-tdep.c (riscv_type_alignment): Cast second argument to std::min to ULONGEST. * symmisc.c (print_symbol): Use %s/pulongest for TYPE_LENGTH instead of %d in format strings. * tracepoint.c (info_scope_command): Likewise. * typeprint.c (print_offset_data::update) (print_offset_data::finish): Likewise. * xtensa-tdep.c (xtensa_store_return_value) (xtensa_push_dummy_call): Likewise. commit 2487ef07c28b961c6e2b8c51161f88f93b181d07 Author: Max Filippov Date: Thu Mar 28 17:03:57 2019 -0700 bfd: xtensa: fix shrink_dynamic_reloc_sections for export-dynamic shrink_dynamic_reloc_sections must remove PLT entry that was created for an undefined weak symbol in the presence of --export-dynamic option when relaxation coalesces literals pointing to that symbol. This fixes the following assertion: ld: BFD (GNU Binutils) 2.31.1 internal error, aborting at elf32-xtensa.c:3292 in elf_xtensa_finish_dynamic_sections 2019-03-29 Max Filippov bfd/ * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add info->export_dynamic to the conditional. ld/ * testsuite/ld-xtensa/relax-undef-weak-pie-export-dynamic.d: New test definition. * testsuite/ld-xtensa/xtensa.exp (relax-undef-weak-pie-export-dynamic): Add new test. commit 5f33607b284323ac71fb5b6864ce2fa671379dfc Author: GDB Administrator Date: Fri Mar 29 00:00:28 2019 +0000 Automatic date update in version.in commit d3fe0d7bb8a3101df6f052aa54e4cfedcc2fee94 Author: Andrew Burgess Date: Thu Mar 28 22:33:29 2019 +0000 sim: fix all sim builds This commit: commit ef9866970ce6683d40465fb7c3168f87a1dcd1b7 Date: Thu Mar 28 06:40:30 2019 +0900 sim/common: convert sim-arange to use sim-inline broke many simulator targets. I fixed aarch64 in a previous commit without realising how many other target were also broken. This commit adds the missing includes (sim-assert.h and libiberty.h), which seem to be needed by many simulator targets, in a central location, this should fix most builds. sim/common/ChangeLog: * sim-base.h: Add 'sim-assert.h' include. * sim-basics.h: Add 'libiberty.h' include. commit e432ccf1cb4685b990f9cf10cb84626f52239806 Author: Jon Turney Date: Thu Mar 28 14:02:25 2019 +0000 Fix format specification in display_selector() (again) DWORD type is not a long on 64-bit Cygwin, because that it is LP64. Explicitly cast DWORD values to unsigned long and use an appropriate format. gdb/ChangeLog: 2019-03-28 Jon Turney * windows-nat.c (display_selector): Fixed format specifications for 64-bit Cygwin. commit 077cad8ec1ca069d8981ecdbfa68c24b12597f67 Author: Philippe Waroquiers Date: Sat Feb 9 11:50:10 2019 +0100 Fix gdb.multi/multi-term-settings.exp blocking under high load/slow gdb Similarly to multi-arch-exec.exp, increase the alarm timer to avoid test blocking under high load or with a slow gdb. 2019-03-28 Philippe Waroquiers * gdb.multi/multi-term-settings.c (main): Increase alarm timer. commit 80047cfc27459d4d31fe275ddd02231d812ddb61 Author: Philippe Waroquiers Date: Sat Feb 9 11:43:35 2019 +0100 Fix gdb.multi/multi-arch-exec.exp blocking under high load/slow gdb When running multi-arch-exec.exp under valgrind, the test succeeds when the machine is not loaded, but blocks when the machine is highly loaded (e.g. when running the testsuite with valgrind with -j X where X is one more than the nr of available cores). The problem is that the hello program dies too early due to the alarm (30). So, increase the alarm timer. Note that this does not make the test take longer (it takes about 3.5 seconds on my system). As I understand, the alarm is just there to avoid hello staying there forever in case of another problem. 2019-03-28 Philippe Waroquiers * gdb.multi/hello.c (main): Increase alarm timer. commit 65d2b333a830b3f36c8b7ae9d9ed6c77f8be9270 Author: Philippe Waroquiers Date: Tue Feb 5 23:47:53 2019 +0100 Fix GDB being suspended SIGTTOU when running gdb.multi/multi-arch-exec.exp When running under valgrind, multi-arch-exec.exp blocks forever. Some (painful) investigation shows this is due to valgrind slowing down GDB, and GDB has to output some messages at a different time, when GDB does not have the terminal for output. To reproduce the problem, you need to slow down GDB. It can be reproduced by: cd gdb/testsuite/outputs/gdb.multi/multi-arch-exec/ ../../../../gdb -ex 'set debug lin-lwp 1' -ex 'break all_started' -ex 'run' ./2-multi-arch-exec The above stops at a breakpoint. Do continue. GDB is then suspended because of SIGTTOU. The stacktrace that leads to the hanging GDB is: (top-gdb) bt at ../../binutils-gdb/gdb/exceptions.c:130 .... Alternatively, the same happens when doing strace -o s.out ../../../../gdb -ex 'break all_started' -ex 'run' ./2-multi-arch-exec And of course, valgrind is also sufficiently slowing down GDB to reproduce this :). Fix this by calling target_terminal::ours_for_output (); at the beginning of follow_exec. Note that all this terminal handling is not very clear to me: * Some code takes the terminal, and then takes care to give it back to the inferior if the terminal was belonging to the inferior. (e.g. annotate_breakpoints_invalid). * some code takes the terminal, but does not give it back (e.g. update_inserted_breakpoint_locations). * some code takes it, and unconditionally gives it back (e.g. handle_jit_event) * here and there, we also find gdb::optional term_state; before a (sometimes optional) call to ours_for_output. And such calls to ours_for_output is sometimes protected by: if (target_supports_terminal_ours ()) (e.g. exceptions.c: print_flush). but most of the code calls it without checking if the target supports it. * some code is outputting some errors, but only takes the terminal after. E.g. infcmd.c: prepare_one_step gdb/ChangeLog 2019-03-28 Philippe Waroquiers * infrun.c (follow_exec): Call target_terminal::ours_for_output. commit f489207efde922e436b1b420d4de071927e3b9d5 Author: Sandra Loosemore Date: Thu Mar 28 09:29:22 2019 -0700 Fix stepping past unwritable kernel helper on nios2-linux-gnu. This patch fixes a problem on nios2-linux-gnu with stepping past the kernel helper __kuser_cmpxchg, which was exposed by the testcase gdb.threads/watchpoint-fork.exp. The kernel maps this function into user space on an unwritable page. In this testcase, the cmpxchg helper is invoked indirectly from the setbuf call in the test program. Since this target lacks hardware breakpoint/watchpoint support, GDB tries to single-step through the program by setting software breakpoints, and was just giving an error when it reached the function on the unwritable page. The solution here is to always step over the call instead of stepping into it; cmpxchg is supposed to be an atomic operation so this behavior seems reasonable. The hook in nios2_get_next_pc is somewhat generic, but at present cmpxchg is the only helper provided by the Linux kernel that is invoked by an ordinary function call. (Signal return trampolines also go through the unwritable page but not by a function call.) Fixing this issue also revealed that the testcase needs a much larger timeout factor when software single-stepping is used. That has also been fixed in this patch. gdb/ChangeLog 2019-03-28 Sandra Loosemore * nios2-tdep.h (struct gdbarch_tdep): Add is_kernel_helper. * nios2-tdep.c (nios2_get_next_pc): Skip over kernel helpers. * nios2-linux-tdep.c (nios2_linux_is_kernel_helper): New. (nios2_linux_init_abi): Install it. gdb/testsuite/ChangeLog 2019-03-28 Sandra Loosemore * gdb.threads/watchpoint-fork.exp (test): Use large timeout factor when no hardware watchpoint support. commit c92df149c29518f6e1d4a3174b3e29162fcd3ad6 Author: Alan Hayward Date: Thu Mar 28 12:33:29 2019 +0000 Testsuite: set sysroot when using gdbserver When testing using native-gdbserver and native-extended-gdbserver, the sysroot is not set. This results in a warning from GDB and files are sent via the remote protocol, which can be slow. On Ubuntu 18.04 (unlike most distros) the debug versions of the standard libraries are included by default in /usr/lib/debug/. These file reads are causing a complete native-gdbserver run on the AArch64 buildbot slave to timeout after 2.5 hours. This is also causing the builds to back up on the slave. The solution is to ensure the sysroot is set to / for all local boards. This drastically reduces the time of a test. For example, gdb.base/sigall.exp drops from 23 seconds to 4 seconds. A full native-gdbserver run on the AArch64 slave now takes 8 minutes. gdb/testsuite/ChangeLog: * boards/local-board.exp: set sysroot to /. commit cd5b60741993f9e075d3f2492e2251da5bdf260f Author: Andrew Burgess Date: Thu Mar 28 13:42:07 2019 +0000 sim: fix aarch64 sim build This commit: commit ef9866970ce6683d40465fb7c3168f87a1dcd1b7 Date: Thu Mar 28 06:40:30 2019 +0900 sim/common: convert sim-arange to use sim-inline Broke the simulator build for aarch64 - some required macros are no longer included where needed, fixed in this commit. sim/aarch64/ChangeLog: * cpustate.c: Add 'libiberty.h' include. * interp.c: Add 'sim-assert.h' include. commit bffa1015cd6cb4a2a4bd1276ed749d150684dd5c Author: Alan Hayward Date: Thu Mar 28 12:27:30 2019 +0000 AArch64: View the pseudo V registers as vectors When SVE is enabled, the V registers become pseudo registers based on the Z registers. They should look the same as they do when there is no SVE. The existing code viewed them as single value registers. Switch this to a vector. gdb/ChangeLog: * aarch64-tdep.c (aarch64_vnv_type): Use vector types. commit fc96163a3ea7761f5353591c825027090942e330 Author: Alan Hayward Date: Thu Mar 28 12:14:09 2019 +0000 AArch64: 128bit views for SVE registers SVE can view Z registers as 128bit values using .q prefix. Add this view to the SVE feature. gdb/ChangeLog: * features/aarch64-sve.c (create_feature_aarch64_sve): Add q view. commit 69f4c9cc037f2226982a21fae63ffbc5e866fcca Author: Alan Hayward Date: Thu Mar 28 11:23:25 2019 +0000 gdbserver: Ensure AT_HWCAP2 is defined When using older compilers, AT_HWCAP2 may not be be defined. It is defined in elf/common.h, however including this in gdbserver/linux-low.c causes conflicts. Manually add the define if it does not exist. gdb/gdbserver/ChangeLog: * linux-low.c (AT_HWCAP2): Add define if not already included. commit 242a115951fe55e62036bac555017eb817ca1aa6 Author: Alan Modra Date: Thu Mar 28 16:53:32 2019 +1030 PR24392, Clang warning Wtautological-constant-out-of-range-compare PR 24392 * configure.ac: Invoke AC_CHECK_SIZEOF(int). * configure: Regenerate. * coffgen.c (coff_get_reloc_upper_bound): Replace gcc diagnostic workaround with SIZEOF_LONG vs. SIZEOF_INT check. * elf.c (_bfd_elf_get_reloc_upper_bound): Likewise. * elf64-sparc.c (elf64_sparc_get_reloc_upper_bound): Likewise. * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise. commit 96a86c01d119372f4af5aff2501d3104e6c1a8e3 Author: Alan Modra Date: Thu Mar 28 10:36:55 2019 +1030 PR24390, Don't decode mtfsb field as a cr field "mtfsb0 4*cr7+lt" doesn't make all that much sense, but unfortunately glibc uses just that instead of "mtfsb0 28" to clear the fpscr xe bit. So for backwards compatibility accept cr field expressions when assembling mtfsb operands, but disassemble to a plain number. PR 24390 include/ * opcode/ppc.h (PPC_OPERAND_CR_REG): Comment. opcodes/ * ppc-opc.c (BTF): Define. (powerpc_opcodes): Use for mtfsb*. * ppc-dis.c (print_insn_powerpc): Print fields with both PPC_OPERAND_CR_REG and PPC_OPERAND_CR_BIT as a plain number. gas/ * testsuite/gas/ppc/476.d: Update mtfsb*. * testsuite/gas/ppc/a2.d: Likewise. commit 072029171354eee0e2f90527196ddda5a85e98c1 Author: GDB Administrator Date: Thu Mar 28 00:00:42 2019 +0000 Automatic date update in version.in commit b6061d4d383b08966d16a0b0f72c69f35fc4beb9 Author: Stafford Horne Date: Thu Mar 28 06:40:30 2019 +0900 sim/common: Fix warnings: "warning: implicit declaration of function..." During building of several cgen simulator's I notices the below warnings. Adding includes fixes these. Including config.h allows stdio.h to properly configure itself to expose asprintf(). The other warnings for abort, free, memset, strlen are trivial. Warnings: ../../../binutils-gdb/sim/or1k/../common/sim-watch.c: In function ‘sim_watchpoint_install’: ../../../binutils-gdb/sim/or1k/../common/sim-watch.c:415:10: warning: implicit declaration of function ‘asprintf’; did you mean ‘vasprintf’? [-Wimplicit-function-declaration] if (asprintf (&name, "watch-%s-%s", ^~~~~~~~ vasprintf ../../../binutils-gdb/sim/lm32/../common/hw-device.c: In function ‘hw_strdup’: ../../../binutils-gdb/sim/lm32/../common/hw-device.c:59:34: warning: implicit declaration of function ‘strlen’ [-Wimplicit-function-declaration] char *dup = hw_zalloc (me, strlen (str) + 1); ^~~~~~ ../../../binutils-gdb/sim/lm32/../common/hw-events.c: In function ‘hw_event_queue_schedule’: ../../../binutils-gdb/sim/lm32/../common/hw-events.c:92:3: warning: implicit declaration of function ‘memset’ [-Wimplicit-function-declaration] memset (&dummy, 0, sizeof dummy); ^~~~~~ ../../../binutils-gdb/sim/lm32/../common/hw-handles.c: In function ‘hw_handle_remove_ihandle’: ../../../binutils-gdb/sim/lm32/../common/hw-handles.c:211:4: warning: implicit declaration of function ‘free’ [-Wimplicit-function-declaration] free (delete); ^~~~ ../../../binutils-gdb/sim/lm32/../common/sim-fpu.c: In function ‘pack_fpu’: ../../../binutils-gdb/sim/lm32/../common/sim-fpu.c:292:7: warning: implicit declaration of function ‘abort’ [-Wimplicit-function-declaration] abort (); ^~~~~ sim/common/ChangeLog: * sim-options.c: Include "config.h". Include . * sim-watch.c: Include "config.h". Include . * hw-device.c: Include . * hw-events.c: Include . * hw-handles.c: Include . * sim-fpu.c: Include . commit ef9866970ce6683d40465fb7c3168f87a1dcd1b7 Author: Stafford Horne Date: Thu Mar 28 06:40:30 2019 +0900 sim/common: convert sim-arange to use sim-inline This fixes a TODO item and also fixes an error which we get when building with no optimizations (-O0) in at least gcc 8.2.1. Tested with sims that use cgen code lm32, or1k, cris, m32r and inlining is working corretly. Reference Error: gcc -DHAVE_CONFIG_H -DWITH_DEFAULT_MODEL='"or1200"' -DWITH_ALIGNMENT=STRICT_ALIGNMENT \ -DWITH_TARGET_WORD_BITSIZE=32 -DWITH_TARGET_WORD_MSB=31 -DWITH_TARGET_ADDRESS_BITSIZE=32 \ -DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_BIG -DDEFAULT_INLINE=0 -DWITH_SCACHE=16384 \ -I. -I../../../binutils-gdb/sim/or1k -I../common -I../../../binutils-gdb/sim/or1k/../common \ -I../../include -I../../../binutils-gdb/sim/or1k/../../include -I../../bfd \ -I../../../binutils-gdb/sim/or1k/../../bfd -I../../opcodes -I../../../binutils-gdb/sim/or1k/../../opcodes \ -g -o run nrun.o libsim.a ../../bfd/libbfd.a ../../opcodes/libopcodes.a ../../libiberty/libiberty.a \ -ldl -lz -lm /usr/bin/ld: libsim.a(mloop.o): in function `extract': /home/shorne/work/openrisc/gdb-musl/sim/or1k/mloop.c:82: undefined reference to `sim_addr_range_hit_p' /usr/bin/ld: /home/shorne/work/openrisc/gdb-musl/sim/or1k/mloop.c:83: undefined reference to `sim_addr_range_hit_p' collect2: error: ld returned 1 exit status make[3]: *** [Makefile:305: run] Error 1 sim/common/ChangeLog: * Make-common.in (sim-arange_h): Remove sim-arange.c * sim-arange.c: Remove SIM_ARANGE_C. Add ifdef for _SIM_ARANGE_C_. Include "sim-arange.h". Remove include for unused "sim-assert.h". Remove DEFINE_INLINE_P. Remove DEFINE_NON_INLINE_P. (sim_addr_range_add): Declare as INLINE_SIM_ARANGE. (sim_addr_range_delete): Declare as INLINE_SIM_ARANGE. (sim_addr_range_hit_p): Change from SIM_ARANGE_INLINE to INLINE_SIM_ARANGE. * sim-arange.h (sim_addr_range_add): Declare as INLINE_SIM_ARANGE. (sim_addr_range_delete): Declare as INLINE_SIM_ARANGE. (sim_addr_range_hit_p) Declare as INLINE_SIM_ARANGE. Remove definition of SIM_ARANGE_INLINE. Remove [HAVE_INLINE]. Wrap include "sim-arange.c" in H_REVEALS_MODULE_P. * sim-base.h: Include "sim-arange.h" * sim-basics.h: Remove include of "sim-arange.h" * sim-inline.c: Include "sim-arange.c" * sim-inline.h: Define INLINE_SIM_ARANGE. Define SIM_ARANGE_INLINE. Define EXTERN_SIM_ARANGE_P. Define STATIC_INLINE_SIM_ARANGE. Define STATIC_SIM_ARANGE. commit 20dc7e9b059edff1d0fab3bd197c460c11cc7a06 Author: Philippe Waroquiers Date: Wed Mar 27 09:38:34 2019 -0600 Fix buffer overflow regression due to minsym malloc-ed instead of obstack-ed. Valgrind detects the following error in a bunch of tests, e.g. in gdb.base/foll-fork.exp. ==15155== VALGRIND_GDB_ERROR_BEGIN ==15155== Invalid read of size 8 ==15155== at 0x55BE04: minimal_symbol_upper_bound(bound_minimal_symbol) (minsyms.c:1504) ==15155== by 0x3B2E9C: find_pc_partial_function(unsigned long, char const**, unsigned long*, unsigned long*, block const**) (blockframe.c:340) ==15155== by 0x3B3135: find_function_entry_range_from_pc(unsigned long, char const**, unsigned long*, unsigned long*) (blockframe.c:385) ==15155== by 0x4F5597: fill_in_stop_func(gdbarch*, execution_control_state*) [clone .part.16] (infrun.c:4124) ==15155== by 0x4FBE01: fill_in_stop_func (infrun.c:7636) ==15155== by 0x4FBE01: process_event_stop_test(execution_control_state*) (infrun.c:6279) ... ==15155== Address 0x715bec8 is 0 bytes after a block of size 2,952 alloc'd ==15155== at 0x4C2E2B3: realloc (vg_replace_malloc.c:836) ==15155== by 0x405F2C: xrealloc (common-utils.c:62) ==15155== by 0x55BA4E: xresizevec (poison.h:170) ==15155== by 0x55BA4E: minimal_symbol_reader::install() (minsyms.c:1399) ==15155== by 0x4981C7: elf_read_minimal_symbols (elfread.c:1165) ... This seems to be a regression created by: commit 042d75e42c5572f333e0e06dabd3c5c4afab486c Author: Tom Tromey AuthorDate: Sat Mar 2 12:29:48 2019 -0700 Commit: Tom Tromey CommitDate: Fri Mar 15 16:02:10 2019 -0600 Allocate minimal symbols with malloc Before this commit, the array of 'struct minimal_symbol' contained a last element that was a "null symbol". The comment in minimal_symbol_reader::install was: /* We also terminate the minimal symbol table with a "null symbol", which is *not* included in the size of the table. This makes it easier to find the end of the table when we are handed a pointer to some symbol in the middle of it. Zero out the fields in the "null symbol" allocated at the end of the array. Note that the symbol count does *not* include this null symbol, which is why it is indexed by mcount and not mcount-1. */ memset (&msymbols[mcount], 0, sizeof (struct minimal_symbol)); However, minimal_symbol_upper_bound was still based on the assumption that the array of minsym is terminated by a minsym with a null symbol: it is looping with: for (i = 1; MSYMBOL_LINKAGE_NAME (msymbol + i) != NULL; i++) Replace this NULL comparison by a logic that calculates how many msymbol are following the msymbols from which we are starting from. (Re-)tested on debian/amd64, natively and under valgrind. gdb/ChangeLog 2019-03-24 Philippe Waroquiers Tom Tromey * minsyms.c (minimal_symbol_upper_bound): Fix buffer overflow. commit 933aebfae6b1a2b83c3eb958ebf6e43fc7fdaed1 Author: Alan Hayward Date: Wed Mar 27 10:58:57 2019 +0000 Testsuite: Ensure interrupt-daemon-attach doesn't run forever Looking at the AArch64 buildbot, I noticed about two dozen old instances of interrupt-daemon-attach taking up a full 100% cpu each. If the test fails then the test binary relies on an alarm to ensure it dies after 60 seconds. As per the Linux man page for alarm: Alarms created by alarm() ... are not inherited by children created via fork. Update the test to add an alarm in the child and also put a sleep in the child loop so it does not constantly consume cpu. Note I haven't managed to re-create why the test failed. This fix will just stop it hanging and consuming cpu when it does. gdb/testsuite/ChangeLog: * gdb.base/interrupt-daemon-attach.c (main): Add alarm and sleep in child. commit 4c4849b9ed8c6dd7e1f822e1e395b62059ba7680 Author: GDB Administrator Date: Wed Mar 27 00:00:26 2019 +0000 Automatic date update in version.in commit 7f5331a885c2e8b8cb8be5b27dc4bcfa290ad6c0 Author: Joel Brobecker Date: Tue Mar 26 17:30:21 2019 -0500 gdb-gdb.py.in: Fix error when printing range type I noticed that trying to print the contents of a struct main_type would fail when the type was a TYPE_CODE_RANGE: (gdb) p *type.main_type $1 = Python Exception There is no member named low_undefined.: And indeed, Python is right, fields "low_undefined" has been removed from struct range_bounds back in ... 2014! It was done when we introduced dynamic bounds handling. This patch fixes gdb-gdb.py.in according to the new structure. gdb/ChangeLog: * gdb-gdb.py.in (StructMainTypePrettyPrinter.bound_img): New method. (StructMainTypePrettyPrinter.bounds_img): Use new "bound_img" method to compute the bounds of range types. Also print "[evaluated]" if the bounds' values come from a dynamic evaluation. commit 9f9aa85206ab31d2c583e7fef568700d31eb577e Author: Andrew Burgess Date: Thu Mar 21 16:29:14 2019 +0000 gdb: Make python display_hint None handling defined behaviour The documentation say that the display_hint method must return a string to serve as a display hint, and then goes on to list some acceptable strings. However, if we don't supply the display_hint method then we get a default display style behaviour and there's currently no way (in the python api) to force this default behaviour. The guile api allows #f to be used in order to force the default display style behaviour, and this is documented. Currently, using None in the python api also forces the default display behaviour. This commit extends the documentation to make returning None from the display_hint method an official mechanism by which the user can get the default display style. I've extended one of the existing tests to cover this case. gdb/doc/ChangeLog: * python.texi (Pretty Printing API): Document use of None for the display_hint. gdb/testsuite/ChangeLog: * gdb.python/py-prettyprint.c (struct container) : New field. (make_container): Initialise new field. * gdb.python/py-prettyprint.exp: Add new tests. * gdb.python/py-prettyprint.py (class ContainerPrinter) : New method. commit 3714a195e08a5cc7713b27def7a3c3b534da53e8 Author: Andrew Burgess Date: Sat Mar 23 22:49:09 2019 +0000 gdb/testsuite: Make test names unique in gdb.python/py-prettyprint.exp This makes the test names unique in gdb.python/py-prettyprint.exp, it also switches to use gdb_breakpoint and gdb_continue_to_breakpoint more so that we avoid test names with the source line number in - this is bad if the test source ever changes as the test names will then change. One final change is to switch from using gdb_py_test_silent_cmd to use gdb_test_no_output, the former should be used for running python commands and can catch any thrown exception. However, in this case the command being run is not a python command, its just a normal GDB CLI command that produces no output, so lets use the appropriate wrapper function. gdb/testsuite/ChangeLog: * gdb.python/py-prettyprint.exp: Use gdb_breakpoint and gdb_continue_to_breakpoint more throughout this test. (run_lang_tests) Supply unique test names, and use gdb_test_no_output. commit 18c77628b1e97e412561029ec20195c1ffa61b2d Author: Andrew Burgess Date: Thu Mar 21 12:25:47 2019 +0000 gdb: Avoid trailing whitespace when pretty printing While writing a new test for 'set print pretty on' I spotted that GDB will sometimes add a trailing whitespace character when pretty printing. This commit removes the trailing whitespace and updates the expected results in one tests where this was an issue. I've added an extra test for 'set print pretty on' as it doesn't seem to have much testing. gdb/ChangeLog: * cp-valprint.c (cp_print_value_fields): Don't print trailing whitespace when pretty printing is on. gdb/testsuite/ChangeLog: * gdb.base/finish-pretty.exp: Update expected results. * gdb.base/pretty-print.c: New file. * gdb.base/pretty-print.exp: New file. commit 53c973f200e39c4122e0db06a94e3a0079e6de80 Author: Alan Hayward Date: Tue Mar 26 17:11:32 2019 +0000 Fix Powerpc build gdb/ChangeLog: * ppc-linux-nat.c: Add include. commit d851aa7170c09fb903dd1bdafa6df526f1951863 Author: Alan Hayward Date: Tue Mar 26 16:44:04 2019 +0000 Add AArch64 Pointer Authentication to the NEWS file gdb/ChangeLog: * NEWS: Mention AArch64 Pointer Authentication. commit 05805feba20cb8cc39c7324e0b427f2bb7cdfe44 Author: Tamar Christina Date: Tue Mar 26 16:46:42 2019 +0000 AArch64/Arm: Update testcases fixing endiannes and linux targets This fixes the testcases that are failing due to my recent patch. It turns out that the start address across baremetal and linux builds isn't entirely predictable without a linker script. Since the address themselves are not the important thing I am ignoring them now. Secondly I was encoding data using .word using non 0 values, however because .word is subjected to endiannes these non-zero values under big-endian happen to fall into the encoding space of instructions which changes the disassembly. Using 0 fixes this problem and the purpose of the test still holds, though objdump will dump ... for data only sections, which is ok as the data/insn mixed sections will test the patch. The ARM Attributes sections is not important and is ignored. binutils/ChangeLog: * testsuite/binutils-all/aarch64/in-order.d: Likewise. * testsuite/binutils-all/aarch64/out-of-order-all.d: Likewise. * testsuite/binutils-all/aarch64/out-of-order.d: Likewise. * testsuite/binutils-all/aarch64/out-of-order.s: Likewise. * testsuite/binutils-all/arm/in-order-all.d: Likewise. * testsuite/binutils-all/arm/in-order.d: Likewise. * testsuite/binutils-all/arm/out-of-order-all.d: Likewise. * testsuite/binutils-all/arm/out-of-order.d: Likewise. * testsuite/binutils-all/arm/out-of-order.s: Likewise. commit 974c89e0882ddb03e294eca76a9e3d3bef90eacf Author: Alan Hayward Date: Mon Mar 25 10:44:11 2019 +0000 gdbserver: Add linux_get_hwcap In gdbserver, Tidy up calls to read HWCAP (and HWCAP2) by adding common functions, removing the Arm, AArch64, PPC and S390 specific versions. No functionality differences. gdb/gdbserver/ChangeLog: * linux-aarch64-low.c (aarch64_get_hwcap): Remove function. (aarch64_arch_setup): Call linux_get_hwcap. * linux-arm-low.c (arm_get_hwcap): Remove function. (arm_read_description): Call linux_get_hwcap. * linux-low.c (linux_get_auxv): New function. (linux_get_hwcap): Likewise. (linux_get_hwcap2): Likewise. * linux-low.h (linux_get_hwcap): New declaration. (linux_get_hwcap2): Likewise. * linux-ppc-low.c (ppc_get_auxv): Remove function. (ppc_arch_setup): Call linux_get_hwcap. * linux-s390-low.c (s390_get_hwcap): Remove function. (s390_arch_setup): Call linux_get_hwcap. commit 7ea79cb3affe1ae1d196f511ace044c015e0ccd3 Author: marxin Date: Tue Mar 26 10:40:04 2019 +0100 Provide string description of definition, visibility and resolution in LTO plug-in. ld/ChangeLog: 2019-02-26 Martin Liska * plugin.c (get_symbols): Add lto_kind_str, lto_resolution_str, lto_visibility_str and use then to inform about plugin-symbols. * testsuite/ld-plugin/plugin-12.d: Adjust expected pattern. commit 5fb812fc79a37b0d02f4902456c6f87ce9896a8d Author: Nick Clifton Date: Tue Mar 26 12:48:13 2019 +0000 Take over Dave Brolley's maintainerships for FR30, FRV and MEP. * MAINTAINERS: Take over Dave Brolley's maintainerships for FR30, FRV and MEP. commit 2fe7bab775f6acbfa1255d3504cd9e53a109e132 Author: Alan Hayward Date: Tue Mar 26 11:35:23 2019 +0000 Fix Arm build Add missing include. 2019-03-26 Alan Hayward * arm-linux-nat.c: Add include. commit 068ef30e9e053d0f95464290b0b96cea90ce0572 Author: Simon Marchi Date: Mon Mar 25 20:29:18 2019 -0400 Fix use-after-free in source_cache::get_source_lines Commit ab42892fb7d2 ("Fix vertical scrolling of TUI source window") introduced a use-after-free in source_cache::get_source_lines. At the beginning of the method, we get the fullname of the symtab: const char *fullname = symtab_to_fullname (s); fullname points to the string owned by the symtab (s.fullname). When we later do scoped_fd desc = open_source_file (s); s.fullname gets reallocated (even though the string contents may not change). The fullname local variable now points to freed memory. To avoid it, refresh the value of fullname after calling open_source_file. Here is the ASan report: $ ./gdb -nx --data-directory=data-directory ./a.out (gdb) start Temporary breakpoint 1 at 0x1130: file test.cpp, line 12. Starting program: /home/simark/build/binutils-gdb/gdb/a.out Temporary breakpoint 1, main () at test.cpp:12 ================================================================= ==26068==ERROR: AddressSanitizer: heap-use-after-free on address 0x6210003d4100 at pc 0x7fed89a34681 bp 0x7ffd8d185d80 sp 0x7ffd8d185528 READ of size 2 at 0x6210003d4100 thread T0 #0 0x7fed89a34680 in __interceptor_strlen /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:301 #1 0x55b6edf6c2f7 in std::char_traits::length(char const*) /usr/include/c++/8.2.1/bits/char_traits.h:320 #2 0x55b6edf6c9b2 in std::__cxx11::basic_string, std::allocator >::basic_string(char const*, std::allocator const&) /usr/include/c++/8.2.1/bits/basic_string.h:516 #3 0x55b6ef09121b in source_cache::get_source_lines(symtab*, int, int, std::__cxx11::basic_string, std::allocator >*) /home/simark/src/binutils-gdb/gdb/source-cache.c:214 #4 0x55b6ef0a15cb in print_source_lines_base /home/simark/src/binutils-gdb/gdb/source.c:1340 #5 0x55b6ef0a2045 in print_source_lines(symtab*, int, int, enum_flags) /home/simark/src/binutils-gdb/gdb/source.c:1415 #6 0x55b6ef112c87 in print_frame_info(frame_info*, int, print_what, int, int) /home/simark/src/binutils-gdb/gdb/stack.c:914 #7 0x55b6ef10e90d in print_stack_frame(frame_info*, int, print_what, int) /home/simark/src/binutils-gdb/gdb/stack.c:180 #8 0x55b6ee9592f8 in print_stop_location /home/simark/src/binutils-gdb/gdb/infrun.c:7853 #9 0x55b6ee95948f in print_stop_event(ui_out*) /home/simark/src/binutils-gdb/gdb/infrun.c:7870 #10 0x55b6ef34b962 in tui_on_normal_stop /home/simark/src/binutils-gdb/gdb/tui/tui-interp.c:98 #11 0x55b6ee01a14d in std::_Function_handler::_M_invoke(std::_Any_data const&, bpstats*&&, int&&) /usr/include/c++/8.2.1/bits/std_function.h:297 #12 0x55b6ee965415 in std::function::operator()(bpstats*, int) const /usr/include/c++/8.2.1/bits/std_function.h:687 #13 0x55b6ee962f1b in gdb::observers::observable::notify(bpstats*, int) const /home/simark/src/binutils-gdb/gdb/common/observable.h:106 #14 0x55b6ee95a6e7 in normal_stop() /home/simark/src/binutils-gdb/gdb/infrun.c:8142 #15 0x55b6ee93f236 in fetch_inferior_event(void*) /home/simark/src/binutils-gdb/gdb/infrun.c:3782 #16 0x55b6ee8f2641 in inferior_event_handler(inferior_event_type, void*) /home/simark/src/binutils-gdb/gdb/inf-loop.c:43 #17 0x55b6eea2a1f0 in handle_target_event /home/simark/src/binutils-gdb/gdb/linux-nat.c:4358 #18 0x55b6ee7045f1 in handle_file_event /home/simark/src/binutils-gdb/gdb/event-loop.c:733 #19 0x55b6ee704e89 in gdb_wait_for_event /home/simark/src/binutils-gdb/gdb/event-loop.c:859 #20 0x55b6ee7027b5 in gdb_do_one_event() /home/simark/src/binutils-gdb/gdb/event-loop.c:322 #21 0x55b6ee702907 in start_event_loop() /home/simark/src/binutils-gdb/gdb/event-loop.c:371 #22 0x55b6eeadfc16 in captured_command_loop /home/simark/src/binutils-gdb/gdb/main.c:331 #23 0x55b6eeae2ef9 in captured_main /home/simark/src/binutils-gdb/gdb/main.c:1174 #24 0x55b6eeae30c2 in gdb_main(captured_main_args*) /home/simark/src/binutils-gdb/gdb/main.c:1190 #25 0x55b6edf4fa89 in main /home/simark/src/binutils-gdb/gdb/gdb.c:32 #26 0x7fed88ad8222 in __libc_start_main (/usr/lib/libc.so.6+0x24222) #27 0x55b6edf4f86d in _start (/home/simark/build/binutils-gdb/gdb/gdb+0x197186d) 0x6210003d4100 is located 0 bytes inside of 4096-byte region [0x6210003d4100,0x6210003d5100) freed by thread T0 here: #0 0x7fed89a8ac19 in __interceptor_free /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:66 #1 0x55b6edfe12df in xfree /home/simark/src/binutils-gdb/gdb/common/common-utils.h:60 #2 0x55b6edfea675 in gdb::xfree_deleter::operator()(char*) const /home/simark/src/binutils-gdb/gdb/common/gdb_unique_ptr.h:34 #3 0x55b6edfe532c in std::unique_ptr >::reset(char*) /usr/include/c++/8.2.1/bits/unique_ptr.h:382 #4 0x55b6edfe7329 in std::unique_ptr >::operator=(std::unique_ptr >&&) /usr/include/c++/8.2.1/bits/unique_ptr.h:289 #5 0x55b6ef09ec2b in find_and_open_source(char const*, char const*, std::unique_ptr >*) /home/simark/src/binutils-gdb/gdb/source.c:990 #6 0x55b6ef09f56a in open_source_file(symtab*) /home/simark/src/binutils-gdb/gdb/source.c:1069 #7 0x55b6ef090f78 in source_cache::get_source_lines(symtab*, int, int, std::__cxx11::basic_string, std::allocator >*) /home/simark/src/binutils-gdb/gdb/source-cache.c:205 #8 0x55b6ef0a15cb in print_source_lines_base /home/simark/src/binutils-gdb/gdb/source.c:1340 #9 0x55b6ef0a2045 in print_source_lines(symtab*, int, int, enum_flags) /home/simark/src/binutils-gdb/gdb/source.c:1415 #10 0x55b6ef112c87 in print_frame_info(frame_info*, int, print_what, int, int) /home/simark/src/binutils-gdb/gdb/stack.c:914 #11 0x55b6ef10e90d in print_stack_frame(frame_info*, int, print_what, int) /home/simark/src/binutils-gdb/gdb/stack.c:180 #12 0x55b6ee9592f8 in print_stop_location /home/simark/src/binutils-gdb/gdb/infrun.c:7853 #13 0x55b6ee95948f in print_stop_event(ui_out*) /home/simark/src/binutils-gdb/gdb/infrun.c:7870 #14 0x55b6ef34b962 in tui_on_normal_stop /home/simark/src/binutils-gdb/gdb/tui/tui-interp.c:98 #15 0x55b6ee01a14d in std::_Function_handler::_M_invoke(std::_Any_data const&, bpstats*&&, int&&) /usr/include/c++/8.2.1/bits/std_function.h:297 #16 0x55b6ee965415 in std::function::operator()(bpstats*, int) const /usr/include/c++/8.2.1/bits/std_function.h:687 #17 0x55b6ee962f1b in gdb::observers::observable::notify(bpstats*, int) const /home/simark/src/binutils-gdb/gdb/common/observable.h:106 #18 0x55b6ee95a6e7 in normal_stop() /home/simark/src/binutils-gdb/gdb/infrun.c:8142 #19 0x55b6ee93f236 in fetch_inferior_event(void*) /home/simark/src/binutils-gdb/gdb/infrun.c:3782 #20 0x55b6ee8f2641 in inferior_event_handler(inferior_event_type, void*) /home/simark/src/binutils-gdb/gdb/inf-loop.c:43 #21 0x55b6eea2a1f0 in handle_target_event /home/simark/src/binutils-gdb/gdb/linux-nat.c:4358 #22 0x55b6ee7045f1 in handle_file_event /home/simark/src/binutils-gdb/gdb/event-loop.c:733 #23 0x55b6ee704e89 in gdb_wait_for_event /home/simark/src/binutils-gdb/gdb/event-loop.c:859 #24 0x55b6ee7027b5 in gdb_do_one_event() /home/simark/src/binutils-gdb/gdb/event-loop.c:322 #25 0x55b6ee702907 in start_event_loop() /home/simark/src/binutils-gdb/gdb/event-loop.c:371 #26 0x55b6eeadfc16 in captured_command_loop /home/simark/src/binutils-gdb/gdb/main.c:331 #27 0x55b6eeae2ef9 in captured_main /home/simark/src/binutils-gdb/gdb/main.c:1174 #28 0x55b6eeae30c2 in gdb_main(captured_main_args*) /home/simark/src/binutils-gdb/gdb/main.c:1190 #29 0x55b6edf4fa89 in main /home/simark/src/binutils-gdb/gdb/gdb.c:32 previously allocated by thread T0 here: #0 0x7fed89a8b019 in __interceptor_malloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:86 #1 0x7fed88af983f in realpath@@GLIBC_2.3 (/usr/lib/libc.so.6+0x4583f) #2 0x7fed899dbbbc in __interceptor_canonicalize_file_name /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:3297 #3 0x55b6ee376a03 in gdb_realpath(char const*) /home/simark/src/binutils-gdb/gdb/common/pathstuff.c:72 #4 0x55b6ef09ec12 in find_and_open_source(char const*, char const*, std::unique_ptr >*) /home/simark/src/binutils-gdb/gdb/source.c:990 #5 0x55b6ef09f56a in open_source_file(symtab*) /home/simark/src/binutils-gdb/gdb/source.c:1069 #6 0x55b6ef0a0f12 in print_source_lines_base /home/simark/src/binutils-gdb/gdb/source.c:1270 #7 0x55b6ef0a2045 in print_source_lines(symtab*, int, int, enum_flags) /home/simark/src/binutils-gdb/gdb/source.c:1415 #8 0x55b6ef112c87 in print_frame_info(frame_info*, int, print_what, int, int) /home/simark/src/binutils-gdb/gdb/stack.c:914 #9 0x55b6ef10e90d in print_stack_frame(frame_info*, int, print_what, int) /home/simark/src/binutils-gdb/gdb/stack.c:180 #10 0x55b6ee9592f8 in print_stop_location /home/simark/src/binutils-gdb/gdb/infrun.c:7853 #11 0x55b6ee95948f in print_stop_event(ui_out*) /home/simark/src/binutils-gdb/gdb/infrun.c:7870 #12 0x55b6ef34b962 in tui_on_normal_stop /home/simark/src/binutils-gdb/gdb/tui/tui-interp.c:98 #13 0x55b6ee01a14d in std::_Function_handler::_M_invoke(std::_Any_data const&, bpstats*&&, int&&) /usr/include/c++/8.2.1/bits/std_function.h:297 #14 0x55b6ee965415 in std::function::operator()(bpstats*, int) const /usr/include/c++/8.2.1/bits/std_function.h:687 #15 0x55b6ee962f1b in gdb::observers::observable::notify(bpstats*, int) const /home/simark/src/binutils-gdb/gdb/common/observable.h:106 #16 0x55b6ee95a6e7 in normal_stop() /home/simark/src/binutils-gdb/gdb/infrun.c:8142 #17 0x55b6ee93f236 in fetch_inferior_event(void*) /home/simark/src/binutils-gdb/gdb/infrun.c:3782 #18 0x55b6ee8f2641 in inferior_event_handler(inferior_event_type, void*) /home/simark/src/binutils-gdb/gdb/inf-loop.c:43 #19 0x55b6eea2a1f0 in handle_target_event /home/simark/src/binutils-gdb/gdb/linux-nat.c:4358 #20 0x55b6ee7045f1 in handle_file_event /home/simark/src/binutils-gdb/gdb/event-loop.c:733 #21 0x55b6ee704e89 in gdb_wait_for_event /home/simark/src/binutils-gdb/gdb/event-loop.c:859 #22 0x55b6ee7027b5 in gdb_do_one_event() /home/simark/src/binutils-gdb/gdb/event-loop.c:322 #23 0x55b6ee702907 in start_event_loop() /home/simark/src/binutils-gdb/gdb/event-loop.c:371 #24 0x55b6eeadfc16 in captured_command_loop /home/simark/src/binutils-gdb/gdb/main.c:331 #25 0x55b6eeae2ef9 in captured_main /home/simark/src/binutils-gdb/gdb/main.c:1174 #26 0x55b6eeae30c2 in gdb_main(captured_main_args*) /home/simark/src/binutils-gdb/gdb/main.c:1190 #27 0x55b6edf4fa89 in main /home/simark/src/binutils-gdb/gdb/gdb.c:32 #28 0x7fed88ad8222 in __libc_start_main (/usr/lib/libc.so.6+0x24222) gdb/ChangeLog: * source-cache.c (source_cache::get_source_lines): Re-read fullname after calling open_source_file. commit 24e31cf3aa66e20877358040ceb35b87dde66d12 Author: GDB Administrator Date: Tue Mar 26 00:00:40 2019 +0000 Automatic date update in version.in commit e8fba7f6bbc06ee96e527c9ebf4128461336cd20 Author: Alan Modra Date: Tue Mar 26 08:59:11 2019 +1030 Fix relpp may be used uninitialized * objdump.c (dump_relocs_in_section): Warning fix. commit 81a24d04dfecdbdd9af143043197317dea1119c7 Author: John Baldwin Date: Mon Mar 25 13:23:26 2019 -0700 Note support for TLS variables on FreeBSD. gdb/ChangeLog: * NEWS: Mention TLS support for FreeBSD. commit 79e7ae11c71c1682c0d4b707eadc714ec4efc929 Author: Tom Tromey Date: Mon Mar 25 13:45:57 2019 -0600 Clean up some comments in minsyms.c Philippe pointed out that some comments in minsyms.c still referred to obstack allocation. This patch fixes these up. In most cases here, my view is that the comments were more misleading than helpful. So, I've generally removed text. gdb/ChangeLog 2019-03-25 Tom Tromey * minsyms.c (BUNCH_SIZE): Update comment. (~minimal_symbol_reader): Remove old comment. (compact_minimal_symbols): Update comment. (minimal_symbol_reader::install): Remove old comment. Update other comments. commit d45963c2b26369e3b375cf5b3b6f52f50f767ef3 Author: Alan Hayward Date: Mon Mar 25 17:02:28 2019 +0000 Fix s390 build Add missing include. 2019-03-25 Alan Hayward * s390-linux-nat.c: Add include. commit 0f83012ea0fb84d86d2a84a5feb51c0d63f0b7eb Author: Alan Hayward Date: Mon Mar 25 16:48:03 2019 +0000 Add linux_get_hwcap Tidy up calls to read HWCAP (and HWCAP2) by adding common functions, removing the PPC and AArch64 specific versions. The only function difference is in aarch64_linux_core_read_description - if the hwcap read fails it now return a valid description instead of nullptr. gdb/ChangeLog: 2019-03-25 Alan Hayward * aarch64-linux-nat.c (aarch64_linux_nat_target::read_description): Call linux_get_hwcap. * aarch64-linux-tdep.c (aarch64_linux_core_read_description): Likewise. (aarch64_linux_get_hwcap): Remove function. * aarch64-linux-tdep.h (aarch64_linux_get_hwcap): Remove declaration. * arm-linux-nat.c (arm_linux_nat_target::read_description):Call linux_get_hwcap. * arm-linux-tdep.c (arm_linux_core_read_description): Likewise. * linux-tdep.c (linux_get_hwcap): Add function. (linux_get_hwcap2): Likewise. * linux-tdep.h (linux_get_hwcap): Add declaration. (linux_get_hwcap2): Likewise. * ppc-linux-nat.c (ppc_linux_get_hwcap): Remove function. (ppc_linux_get_hwcap2): Likewise. (ppc_linux_nat_target::region_ok_for_hw_watchpoint): Call linux_get_hwcap. (ppc_linux_nat_target::insert_watchpoint): Likewise. (ppc_linux_nat_target::watchpoint_addr_within_range): Likewise. (ppc_linux_nat_target::read_description): Likewise. * ppc-linux-tdep.c (ppc_linux_core_read_description): Likewise. * s390-linux-nat.c: Likewise. * s390-linux-tdep.c (s390_core_read_description): Likewise. commit 796d6298bb11deab06814cc38cfe74a1bfc57551 Author: Tamar Christina Date: Mon Mar 25 12:16:17 2019 +0000 Arm: Fix Arm disassembler mapping symbol search. Similar to the AArch64 patches the Arm disassembler has the same issues with out of order sections but also a few short comings. For one thing there are multiple code blocks to determine mapping symbols, and they all work slightly different, and neither fully correct. The first thing this patch does is centralise the mapping symbols search into one function mapping_symbol_for_insn. This function is then updated to perform a search in a similar way as AArch64. Their used to be a value has_mapping_symbols which was used to determine the default disassembly for objects that have no mapping symbols. The problem with the approach was that it was determining this value in the same loop that needed it, which is why this field could take on the states -1, 0, 1 where -1 means "don't know". However this means that until you actually find a mapping symbol or reach the end of the disassembly glob, you don't know if you did the right action or not, and if you didn't you can't correct it anymore. This is why the two jump-reloc-veneers-* testcases end up disassembling some insn as data when they shouldn't. Out of order here refers to an object file where sections are not listed in a monotonic increasing VMA order. The ELF ABI for Arm [1] specifies the following for mapping symbols: 1) A text section must always have a corresponding mapping symbol at it's start. 2) Data sections do not require any mapping symbols. 3) The range of a mapping symbol extends from the address it starts on up to the next mapping symbol (exclusive) or section end (inclusive). However there is no defined order between a symbol and it's corresponding mapping symbol in the symbol table. This means that while in general we look up for a corresponding mapping symbol, we have to make at least one check of the symbol below the address being disassembled. When disassembling different PCs within the same section, the search for mapping symbol can be cached somewhat. We know that the mapping symbol corresponding to the current PC is either the previous one used, or one at the same address as the current PC. However this optimization and mapping symbol search must stop as soon as we reach the end or start of the section. Furthermore if we're only disassembling a part of a section, the search is a allowed to search further than the current chunk, but is not allowed to search past it (The mapping symbol if there, must be at the same address, so in practice we usually stop at PC+4). lastly, since only data sections don't require a mapping symbol the default mapping type should be DATA and not INSN as previously defined, however if the binary has had all its symbols stripped than this isn't very useful. To fix this we determine the default based on the section flags. This will allow the disassembler to be more useful on stripped binaries. If there is no section than we assume you to be disassembling INSN. [1] https://developer.arm.com/docs/ihi0044/latest/elf-for-the-arm-architecture-abi-2018q4-documentation#aaelf32-table4-7 binutils/ChangeLog: * testsuite/binutils-all/arm/in-order-all.d: New test. * testsuite/binutils-all/arm/in-order.d: New test. * testsuite/binutils-all/arm/objdump.exp: Support .d tests. * testsuite/binutils-all/arm/out-of-order-all.d: New test. * testsuite/binutils-all/arm/out-of-order.T: New test. * testsuite/binutils-all/arm/out-of-order.d: New test. * testsuite/binutils-all/arm/out-of-order.s: New test. ld/ChangeLog: * testsuite/ld-arm/jump-reloc-veneers-cond-long.d: Update disassembly. * testsuite/ld-arm/jump-reloc-veneers-long.d: Update disassembly. opcodes/ChangeLog: * arm-dis.c (struct arm_private_data): Remove has_mapping_symbols. (mapping_symbol_for_insn): Implement new algorithm. (print_insn): Remove duplicate code. commit 60df3720d77c8415158f3eaa166e0b7162f9d3b4 Author: Tamar Christina Date: Mon Mar 25 12:14:37 2019 +0000 AArch64: Have -D override mapping symbol as documented. The documentation for -D says that on Arm platforms -D should disassemble data as instructions. "If the target is an ARM architecture this switch also has the effect of forcing the disassembler to decode pieces of data found in code sections as if they were instructions. " This makes it do as it says on the tincan so it's more consistent with aarch32. The usecase here is for baremetal developers who have created their instructions using .word directives instead if .insn. Though for Linux users I do find this behavior somewhat non-optimal. Perhaps there should be a new flag that just disassembles the values following the actual mapping symbol? binutils/ChangeLog: * testsuite/binutils-all/aarch64/in-order-all.d: New test. * testsuite/binutils-all/aarch64/out-of-order-all.d: New test. * testsuite/binutils-all/aarch64/out-of-order.d: opcodes/ChangeLog: * aarch64-dis.c (print_insn_aarch64): Implement override. commit 51457761649bab6868343b3da2258d73a62901f7 Author: Tamar Christina Date: Mon Mar 25 12:12:03 2019 +0000 AArch64: Fix AArch64 disassembler mapping symbol search My previous patch for AArch64 was not enough to catch all the cases where disassembling an out-of-order section could go wrong. It had missed the case DATA sections could be incorrectly disassembled as TEXT. Out of order here refers to an object file where sections are not listed in a monotonic increasing VMA order. The ELF ABI for AArch64 [1] specifies the following for mapping symbols: 1) A text section must always have a corresponding mapping symbol at it's start. 2) Data sections do not require any mapping symbols. 3) The range of a mapping symbol extends from the address it starts on up to the next mapping symbol (exclusive) or section end (inclusive). However there is no defined order between a symbol and it's corresponding mapping symbol in the symbol table. This means that while in general we look up for a corresponding mapping symbol, we have to make at least one check of the symbol below the address being disassembled. When disassembling different PCs within the same section, the search for mapping symbol can be cached somewhat. We know that the mapping symbol corresponding to the current PC is either the previous one used, or one at the same address as the current PC. However this optimization and mapping symbol search must stop as soon as we reach the end or start of the section. Furthermore if we're only disassembling a part of a section, the search is a allowed to search further than the current chunk, but is not allowed to search past it (The mapping symbol if there, must be at the same address, so in practice we usually stop at PC+4). lastly, since only data sections don't require a mapping symbol the default mapping type should be DATA and not INSN as previously defined, however if the binary has had all its symbols stripped than this isn't very useful. To fix this we determine the default based on the section flags. This will allow the disassembler to be more useful on stripped binaries. If there is no section than we assume you to be disassembling INSN. [1] https://developer.arm.com/docs/ihi0056/latest/elf-for-the-arm-64-bit-architecture-aarch64-abi-2018q4#aaelf64-section4-5-4 binutils/ChangeLog: * testsuite/binutils-all/aarch64/in-order.d: New test. * testsuite/binutils-all/aarch64/out-of-order.d: Disassemble data as well. opcodes/ChangeLog: * aarch64-dis.c (print_insn_aarch64): Update the mapping symbol search order. commit 53b2f36bf6aa939feab6f82f05d7dad52f82660d Author: Tamar Christina Date: Mon Mar 25 12:08:53 2019 +0000 AArch64: Fix disassembler bug with out-of-order sections The AArch64 disassembler has an optimization that it uses to reduce the amount it has to search for mapping symbols during disassembly. This optimization assumes that sections are listed in the section header in monotonic increasing VMAs. However this is not a requirement for the ELF specification. Because of this when such "out of order" sections occur the disassembler would pick the wrong mapping symbol to disassemble the section with. This fixes it by explicitly passing along the stop offset for the current disassembly glob and when this changes compared to the previous one we've seen the optimization won't be performed. In effect this restarts the search from a well defined starting point. Usually the symbol's address. The existing stop_vma can't be used for this as it is allowed to be unset and setting this unconditionally would change the semantics of this field. binutils/ChangeLog: * objdump.c (disassemble_bytes): Pass stop_offset. * testsuite/binutils-all/aarch64/out-of-order.T: New test. * testsuite/binutils-all/aarch64/out-of-order.d: New test. * testsuite/binutils-all/aarch64/out-of-order.s: New test. include/ChangeLog: * dis-asm.h (struct disassemble_info): Add stop_offset. opcodes/ChangeLog: * aarch64-dis.c (last_stop_offset): New. (print_insn_aarch64): Use stop_offset. commit 9a93502fa81734d39f213ccb33b497bc40e1423d Author: Pedro Alves Date: Mon Mar 25 13:26:23 2019 +0000 Fix testsuite hangs when gdb_test_multiple body errors out This commit fixes a regression in the testsuite itself, triggered by errors being raised from within gdb_test_multiple, originally reported by Pedro Franco de Carvalho's at . Parts of the commit message are based on his report. This started happening due to a commit that was introduced recently, and it can cause the testsuite to hang. The commit that triggers this is: fe1a5cad302b5535030cdf62895e79512713d738 [gdb/testsuite] Log wait status on process no longer exists error That commit introduces a new "eof" block in gdb_test_multiple. That is not incorrect itself, but dejagnu's remote_expect is picking that block as the "default" action when an error is raised from within the commands inside a call to gdb_test_multiple: # remote_expect works basically the same as standard expect, but it # also takes care of getting the file descriptor from the specified # host and also calling the timeout/eof/default section if there is an # error on the expect call. # proc remote_expect { board timeout args } { I find that "feature" surprising, and I don't really know why it exists, but this means that the eof section that remote_expect picks as the error block can be executed even when there was no actual eof and the GDB process is still running, so the wait introduced in the commit that tries to get the exit status of GDB hangs forever, while GDB itself waits for input. This only happens when there are internal testsuite errors (not testcase failures). This can be reproduced easily with a testcase such as: gdb_start gdb_test_multiple "show version" "show version" { -re ".*" { error "forced error" } } I think that working around this in GDB is useful so that the testsuite doesn't hang in these cases. Adding an empty "default" block at the end of the expect body in gdb_test_multiple doesn't work, because dejagnu gives preference to "eof" blocks: if { $x eq "eof" } { set save_next 1 } elseif { $x eq "default" || $x eq "timeout" } { if { $error_sect eq "" } { set save_next 1 } } And we do have "eof" blocks. So we need to make sure that the last "eof" block is safe to use as the default error block. It's also pedantically incorrect to print "ERROR: Process no longer exists" which is what we'd get if the last eof block we have was selected (more below on this). So this commit solves this by appending an "eof" with an empty spawn_id list, so that it won't ever match. Now, why is the first "eof" block selected today as the error block, instead of the last one? The reason is that remote_expect, while parsing the body to select the default block to execute after an error, is affected by the comments in the body (since they are also parsed). If this comment in gdb_test_multiple # patterns below apply to any spawn id specified. is changed to # The patterns below apply to any spawn id specified. then the second eof block is selected and there is no hang. Any comment at that same place with an even number of tokens also works. This is IMO a coincidence caused by how comments work in TCL. Comments should only appear in places where a command can appear. And here, remote_expect is parsing a list of options, not commands, so it's not unreasonable to not parse comments, similarly to how this: set a_list { an_element # another_element } results in a list with three elements, not one element. The fact that comments with an even number of tokens work is just a coincidence of how remote_expect's little state machine is implemented. I thought we could solve this by stripping out comment lines in gdb_expect, but I didn't find an easy way to do that. Particularly, a couple naive approaches I tried run into complications. For example, we have gdb_test calls with regular expressions that include sequences like "\r\n#", and by the time we get to gdb_expect, the \r\n have already been expanded to a real newline, so just splitting the whole body at newline boundaries, looking for lines that start with # results in incorrectly stripping out half of the gdb_text regexp. I think it's better (at least in this commit), to move the comments out of the list, because it's much simpler and risk free. gdb/testsuite/ChangeLog: 2019-03-25 Pedro Alves * lib/gdb.exp (gdb_test_multiple): Split appends to $code and move comments outside list. Append '-i "" eof' section. commit 6640a367bf5427779856e7c80ae4b4bd88c19d3c Author: Tom Tromey Date: Fri Mar 22 16:53:12 2019 -0600 Remove null_block_symbol This removes null_block_symbol. It seemed simpler to me to change initializations and returns to use value initialization rather than null_block_symbol. This also fixes up a few spots where initialization was done piecemeal. gdb/ChangeLog 2019-03-24 Tom Tromey * ada-lang.c (standard_lookup): Simplify initialization. (ada_lookup_symbol_nonlocal): Simplify return. * solib-spu.c (spu_lookup_lib_symbol): Simplify return. * solib-darwin.c (darwin_lookup_lib_symbol): Simplify return. * solib-svr4.c (elf_lookup_lib_symbol): Simplify return. * rust-lang.c (rust_lookup_symbol_nonlocal): Simplify initialization. * solib.c (solib_global_lookup): Simplify. * symtab.c (null_block_symbol): Remove. (symbol_cache_lookup): Simplify returns. (lookup_language_this): Simplify returns. (lookup_symbol_aux): Simplify return. (lookup_local_symbol): Simplify returns. (lookup_global_symbol_from_objfile): Simplify return. (lookup_symbol_in_objfile_symtabs) (lookup_symbol_in_objfile_from_linkage_name): Simplify return. (lookup_symbol_via_quick_fns, lookup_symbol_in_static_block) (lookup_static_symbol, lookup_global_symbol): Simplify return. * cp-namespace.c (cp_lookup_bare_symbol) (cp_search_static_and_baseclasses, cp_lookup_symbol_via_imports) (cp_lookup_symbol_via_all_imports, cp_lookup_nested_symbol_1) (cp_lookup_nested_symbol): Don't use null_block_symbol. (cp_lookup_symbol_via_imports): Simplify initialization. (find_symbol_in_baseclass): Likewise. * symtab.h (null_block_symbol): Remove. * d-namespace.c (d_lookup_symbol): Don't use null_block_symbol. (d_lookup_nested_symbol, d_lookup_symbol_imports) (d_lookup_symbol_module): Likewise. (find_symbol_in_baseclass): Simplify initialization. commit a930ebcdf9594d6b6f91b634dceec1b2425a76a0 Author: Tom Tromey Date: Fri Mar 22 16:06:36 2019 -0600 Don't include symtab.h from expression.h expression.h includes symtab.h, but apparently only for the declaration of struct block. This patch changes it to foward-declare the structure, and remove the include. gdb/ChangeLog 2019-03-24 Tom Tromey * expression.h: Don't include symtab.h. (struct block): Forward declare. commit 582942f4560f1c8d2a60c2557267f9d3ad8dd6aa Author: Tom Tromey Date: Fri Mar 22 15:54:10 2019 -0600 More block constification I noticed that there are still many places referring to non-const blocks. This constifies all the remaining ones that I found that could be constified. In a few spots, this search found unused variables or fields. I removed these. I've also removed some unnecessary casts to "struct block *". gdb/ChangeLog 2019-03-24 Tom Tromey * c-exp.y (typebase): Remove casts. * gdbtypes.c (lookup_unsigned_typename, ) (lookup_signed_typename): Remove cast. * eval.c (parse_to_comma_and_eval): Remove cast. * parse.c (write_dollar_variable): Remove cast. * block.h (struct block) : Now const. * symfile-debug.c (debug_qf_map_matching_symbols): Update. * psymtab.c (psym_map_matching_symbols): Make "block" const. (map_block): Make "block" const. * symfile.h (struct quick_symbol_functions) : Constify block argument to "callback". * symtab.c (basic_lookup_transparent_type_quick): Make "block" const. (find_pc_sect_compunit_symtab): Make "b" const. (find_symbol_at_address): Likewise. (search_symbols): Likewise. * dwarf2read.c (dw2_lookup_symbol): Make "block" const. (dw2_debug_names_lookup_symbol): Likewise. (dw2_map_matching_symbols): Update. * p-valprint.c (pascal_val_print): Remove "block". * ada-lang.c (ada_add_global_exceptions): Make "b" const. (aux_add_nonlocal_symbols): Make "block" const. (resolve_subexp): Remove cast. * linespec.c (iterate_over_all_matching_symtabs): Make "block" const. (iterate_over_file_blocks): Likewise. * f-exp.y (%union) : Remove. * coffread.c (patch_opaque_types): Make "b" const. * spu-tdep.c (spu_catch_start): Make "block" const. * c-valprint.c (print_unpacked_pointer): Remove "block". * symmisc.c (dump_symtab_1): Make "b" const. (block_depth): Make "block" const. * d-exp.y (%union) : Remove. * cp-support.h (cp_lookup_rtti_type): Update. * cp-support.c (cp_lookup_rtti_type): Make "block" const. * psymtab.c (psym_lookup_symbol): Make "block" const. (maintenance_check_psymtabs): Make "b" const. * python/py-framefilter.c (extract_sym): Make "sym_block" const. (enumerate_locals, enumerate_args): Update. * python/py-symtab.c (stpy_global_block): Make "block" const. (stpy_static_block): Likewise. * inline-frame.c (block_starting_point_at): Make "new_block" const. * block.c (find_block_in_blockvector): Make return type const. (blockvector_for_pc_sect): Make "b" const. (find_block_in_blockvector): Make "b" const. commit 258876ee34a4b656c754355cf175a825e0db80f3 Author: GDB Administrator Date: Mon Mar 25 00:00:31 2019 +0000 Automatic date update in version.in commit 5783e150b2a9308e23262a5b62f5d51c8c932ece Author: Philippe Waroquiers Date: Sun Mar 24 11:44:00 2019 +0100 (re-)fix the regcache leaks when detaching from an executable. Commit 799efbe8e01ab8292c01f46ac59a6fb2349d4535 was supposed to fix the below leak. However, for this fix to work, it is critical to save the ptid before detach. This commit (pushed as OBVIOUS, as the change was already reviewed/approved) saves the ptid before the detach, as in the original reviewed patch (see https://sourceware.org/ml/gdb-patches/2019-02/msg00263.html). Re-tested on debian/amd64, natively and under valgrind. ==7426== 1,123 (72 direct, 1,051 indirect) bytes in 1 blocks are definitely lost in loss record 2,872 of 3,020 ==7426== at 0x4C2C4CC: operator new(unsigned long) (vg_replace_malloc.c:344) ==7426== by 0x5BD1E1: get_thread_arch_aspace_regcache(ptid_t, gdbarch*, address_space*) (regcache.c:330) ==7426== by 0x5BD39A: get_thread_regcache (regcache.c:366) ==7426== by 0x5BD39A: get_current_regcache() (regcache.c:372) ==7426== by 0x4B1EB4: get_current_frame() (frame.c:1588) ... commit 83bfc77ff537667989bd375b991d379ee4dda350 Author: GDB Administrator Date: Sun Mar 24 00:01:13 2019 +0000 Automatic date update in version.in commit 7ad417dd217849c164e3c8a250c62a98eb0b8cd4 Author: Tom Tromey Date: Sat Mar 23 10:11:51 2019 -0600 Have parser reset the innermost block tracker I ran across a comment in symfile.c today: /* Clear globals which might have pointed into a removed objfile. FIXME: It's not clear which of these are supposed to persist between expressions and which ought to be reset each time. */ It seems to me that this can be clarified: the parser entry points ought to reset the innermost block tracker (and the expression context block), and these should not be considered valid for code to use at arbitrary times -- only immediately after an expression has been parsed. This patch implements this idea. This could be further improved by removing the parser globals and changing the parser functions to return this information, but I have not done this. Tested by the buildbot. gdb/ChangeLog 2019-03-23 Tom Tromey * varobj.c (varobj_create): Update. * symfile.c (clear_symtab_users): Don't reset innermost_block. * printcmd.c (display_command, do_one_display): Don't reset innermost_block. * parser-defs.h (enum innermost_block_tracker_type): Move to expression.h. (innermost_block): Update comment. * parse.c (parse_exp_1): Add tracker_types parameter. (parse_exp_in_context): Rename from parse_exp_in_context_1. Add tracker_types parameter. Reset innermost_block. (parse_exp_in_context): Remove. (parse_expression_for_completion): Update. * objfiles.c (~objfile): Don't reset expression_context_block or innermost_block. * expression.h (enum innermost_block_tracker_type): Move from parser-defs.h. (parse_exp_1): Add tracker_types parameter. * breakpoint.c (set_breakpoint_condition, watch_command_1): Don't reset innermost_block. commit b366c208ee07924cc3cafc1bd4d70548bc91075b Author: Tom Tromey Date: Sat Mar 23 10:50:27 2019 -0600 Include bcache.h from objfiles.h objfiles.h needs "struct bcache" to be complete, so it should include bcache.h. This patch implements this. Tested by rebuilding. gdb/ChangeLog 2019-03-23 Tom Tromey * objfiles.h: Include bcache.h. commit 9bb9b2f9d6d5aa90f579494d8407375a87a9ad0b Author: Tom Tromey Date: Sat Mar 23 09:43:49 2019 -0600 Use scoped_restore_current_language in two places I found a couple of spots that manually saved and restored the current language. This patch changes them to use scoped_restore_current_language. Tested by the buildbot. gdb/ChangeLog 2019-03-23 Tom Tromey * linespec.c (get_current_search_block): Use scoped_restore_current_language. * symmisc.c (dump_symtab): Use scoped_restore_current_language. commit c90939d2d08caedf4f777112a1aafa0c69a9d1c1 Author: GDB Administrator Date: Sat Mar 23 00:00:38 2019 +0000 Automatic date update in version.in commit 59c283728fddad638ae301cfb724d629fffc8665 Author: Alan Hayward Date: Fri Mar 22 10:43:17 2019 +0000 AArch64: Read pauth section from core files gdb/ChangeLog: * aarch64-linux-tdep.c (aarch64_linux_iterate_over_regset_sections): Check for pauth section. * aarch64-linux-tdep.h (AARCH64_LINUX_SIZEOF_PAUTH): New define. commit 17e116a7d1501a46cf4e45ec181148dc6a1e3e2b Author: Alan Hayward Date: Fri Mar 22 10:41:15 2019 +0000 AArch64: Prologue scan unwinder support for signed return addresses Pauth address signing is enabled at binary compile time. When enabled the return addresses for functions may be mangled. This patch adds functionality to restore the original address for use in the prologue scan unwinder. In the prologue analyzer, check for PACIASP/PACIBSP (enable address mangling) and AUTIASP/AUTIBSP (disable address mangling). When unwinding the PC from the prologue, unmask the register if required. Add a test case to the prologue tests. gdb/ChangeLog: * aarch64-tdep.c (aarch64_analyze_prologue): Check for pauth instructions. (aarch64_analyze_prologue_test): Add PACIASP test. (aarch64_prologue_prev_register): Unmask PC value. commit 11e1b75f0696f6e406fe8ccc759bac2fbc8fc151 Author: Alan Hayward Date: Fri Mar 22 10:39:11 2019 +0000 AArch64: DWARF unwinder support for signed return addresses Pauth address signing is enabled at binary compile time. When enabled the return addresses for functions may be mangled. This patch adds functionality to restore the original address for use in the DWARF unwinder. DW_CFA_AARCH64_negate_ra_state in a binary indicates the toggling of address signing between enabled and disabled. Ensure the state is stored in the DWARF register ra_state. Ensure the pauth DWARF registers are initialised. gdb/ChangeLog: * aarch64-tdep.c (aarch64_frame_unmask_address): New function. (aarch64_dwarf2_prev_register): Unmask PC value. (aarch64_dwarf2_frame_init_reg): Init pauth registers. (aarch64_execute_dwarf_cfa_vendor_op): Check for DW_CFA_AARCH64_negate_ra_state. (aarch64_gdbarch_init): Add aarch64_execute_dwarf_cfa_vendor_op. commit 34dcc7cf95f756862bdfebb753ab2de39fec4c9e Author: Alan Hayward Date: Fri Mar 22 10:37:46 2019 +0000 AArch64: Add pauth DWARF registers Map the pauth registers to DWARF. Add a new pseudo register ra_state and also map this to DWARF. This register is hidden from the user - prevent it from being read or written to. It will be used for the unmangling of addresses. gdb/ChangeLog: * aarch64-tdep.c (aarch64_dwarf_reg_to_regnum): Check for pauth registers. (aarch64_pseudo_register_name): Likewise. (aarch64_pseudo_register_type): Likewise. (aarch64_pseudo_register_reggroup_p): Likewise. (aarch64_gdbarch_init): Add pauth registers. * aarch64-tdep.h (AARCH64_DWARF_PAUTH_RA_STATE): New define. (AARCH64_DWARF_PAUTH_DMASK): Likewise. (AARCH64_DWARF_PAUTH_CMASK): Likewise. (struct gdbarch_tdep): Add regnum for ra_state. commit 1ef53e6b8328acd5b7d54ee2fe288836ce12992e Author: Alan Hayward Date: Fri Mar 22 10:34:09 2019 +0000 AArch64: gdbserver: read pauth registers Add the pauth registers to the regset lists. Add a new regset type OPTIONAL_REGS which allows for the regset read to fail. Once the read fails, it will not be checked again. This allows targets with optional features to keep a single static regset_info structure. gdb/ChangeLog: * arch/aarch64.h (AARCH64_PAUTH_REGS_SIZE): New define. gdb/gdbserver/ChangeLog: * linux-aarch64-low.c (aarch64_store_pauthregset): New function. * linux-low.c (regsets_store_inferior_registers): Allow optional reads to fail. * linux-low.h (enum regset_type): Add OPTIONAL_REGS. commit 76bed0fd9493868889929ca9dcd32350c1d864be Author: Alan Hayward Date: Fri Mar 22 10:31:02 2019 +0000 AArch64: Read pauth registers Initialise the pauth registers when creating a target description, and store the regnum of the first pauth register. Use ptrace to read the registers in the pauth feature. Do not allow the registers to be written. gdb/ChangeLog: * aarch64-linux-nat.c (fetch_pauth_masks_from_thread): New function. (aarch64_linux_nat_target::fetch_registers): Read pauth registers. * aarch64-tdep.c (aarch64_cannot_store_register): New function. (aarch64_gdbarch_init): Add puth registers. * aarch64-tdep.h (struct gdbarch_tdep): Add pauth features. * arch/aarch64.h (AARCH64_PAUTH_DMASK_REGNUM): New define. (AARCH64_PAUTH_CMASK_REGNUM): Likewise. commit ee4fbcfa26eb4a2a3666f7c1cc31447c3cffa023 Author: Alan Hayward Date: Fri Mar 22 10:00:28 2019 +0000 AArch64: Use HWCAP to detect pauth feature Add aarch64_get_hwcap functions for reading the HWCAP. From this extract the PACA value and use this to enable pauth. gdb/ChangeLog: * aarch64-linux-nat.c (aarch64_linux_nat_target::read_description): Read PACA hwcap. * aarch64-linux-tdep.c (aarch64_linux_core_read_description): Likewise. (aarch64_linux_get_hwcap): New function. * aarch64-linux-tdep.h (AARCH64_HWCAP_PACA): New define. (aarch64_linux_get_hwcap): New declaration. gdb/gdbserver/ChangeLog: * linux-aarch64-low.c (AARCH64_HWCAP_PACA): New define. (aarch64_get_hwcap): New function. (aarch64_arch_setup): Read APIA hwcap. commit 6dc0ebde59dfb73eae507ced718bafa54023bf33 Author: Alan Hayward Date: Fri Mar 22 09:58:42 2019 +0000 AArch64: Add pointer authentication feature Pointer Authentication is a new feature in AArch64 v8.3-a. When enabled in the compiler, function return addresses will be mangled by the kernel. Add register description xml and wire up to aarch64_linux_read_description. This description includes the two pauth user registers. Nothing yet uses the feature - that is added in later patches. gdb/ChangeLog: * aarch64-linux-nat.c (aarch64_linux_nat_target::read_description): Add pauth param. * aarch64-linux-tdep.c (aarch64_linux_core_read_description): Likewise. * aarch64-tdep.c (struct target_desc): Add in pauth. (aarch64_read_description): Add pauth param. (aarch64_gdbarch_init): Likewise. * aarch64-tdep.h (aarch64_read_description): Likewise. * arch/aarch64.c (aarch64_create_target_description): Likewise. * arch/aarch64.h (aarch64_create_target_description): Likewise. * features/Makefile: Add new files. * features/aarch64-pauth.c: New file. * features/aarch64-pauth.xml: New file. gdb/doc/ChangeLog: * gdb.texinfo: Describe pauth feature. gdb/gdbserver/ChangeLog: * linux-aarch64-ipa.c (get_ipa_tdesc): Add pauth param. (initialize_low_tracepoint): Likewise. * linux-aarch64-low.c (aarch64_arch_setup): Likewise. * linux-aarch64-tdesc-selftest.c (aarch64_tdesc_test): Likewise. * linux-aarch64-tdesc.c (struct target_desc): Likewise. (aarch64_linux_read_description): Likewise. * linux-aarch64-tdesc.h (aarch64_linux_read_description): Likewise. commit 968aa7ae389d9e6cecb5fda6826bf889ed959fce Author: Alan Hayward Date: Wed Feb 13 12:28:38 2019 +0000 Testsuite: Ensure pie is disabled on some tests Recent versions of Ubuntu and Debian default GCC to enable pie. In dump.exp, pie will causes addresses to be out of range for IHEX. In break-interp.exp, pie is explicitly set for some tests and assumed to be disabled for the remainder. Ensure pie is disabled for these tests when required. In addition, add a pie option to gdb_compile to match the nopie option and simplify use. gdb/testsuite/ChangeLog: * README: Add pie options. * gdb.base/break-interp.exp: Ensure pie is disabled. * gdb.base/dump.exp: Likewise. * lib/gdb.exp (gdb_compile): Add pie option. commit d8a95af9dffa36a1004e4cebfe6758c735402f6e Author: GDB Administrator Date: Fri Mar 22 00:00:37 2019 +0000 Automatic date update in version.in commit a9f5a5517fb7df640f0fcd4cb0f9961818b6505b Author: Jim Wilson Date: Thu Mar 21 15:08:48 2019 -0700 RISC-V: Fix linker crash in section symbol check. sym is only set for local symbols. h is only set for global symbols. Gas won't let me create a global section symbol, but bfd appears to have some support for that, and I can't rule out that other assemblers might do this. So we need to support both, and verify sym and h are non-NULL before using. bfd/ PR 24365 * elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check, verify sym non-NULL before using. Add identical check using h. commit 4e5391148d51c58785aad637f1a92d47b91b3ae6 Author: Sudakshina Das Date: Thu Mar 21 16:20:21 2019 +0000 [BFD, AArch64, x86] Improve warning for --force-bti The AArch64 linker option to turn on BTI (--force-bti) warns in case there are input objects which have a missing GNU NOTE section for BTI. This patch is trying to improve the warnings that come out. In order to do so, I propose adding a new argument to elf_merge_gnu_properties and the backend function merge_gnu_properties. This new argument makes sure that we now pass both the objects along with the properties to which they belong to. The x86 backend function has also been updated to match this change. *** bfd/ChangeLog *** 2019-03-21 Sudakshina Das * elf-bfd.h (struct elf_backend_data): Add argument to merge_gnu_properties. * elf-properties.c (elf_merge_gnu_properties): Add argument to itself and while calling bed->merge_gnu_properties. (elf_merge_gnu_property_list): Update the calls for elf_merge_gnu_properties. * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update handling of --force-bti warning and add argument. * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Add warning. * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument. * elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in declaration. *** ld/ChangeLog *** 2019-03-21 Sudakshina Das * testsuite/ld-aarch64/aarch64-elf.exp: Add new test. * testsuite/ld-aarch64/bti-plt-1.s: Add .ifdef for PAC note section. * testsuite/ld-aarch64/bti-plt-6.d: Update warning. * testsuite/ld-aarch64/bti-plt-7.d: Likewise. * testsuite/ld-aarch64/bti-warn.d: New test. commit f84bd4655c17b3ee59b73bd33ec91f75bd58546c Author: Alan Modra Date: Thu Mar 21 16:01:08 2019 +1030 Adjust pr14156 test for m68hc1* The test section alignment is unnecessarily high, overflowing the m68hc11 page used by .init code. * testsuite/ld-elf/fini2.s: Reduce alignment. * testsuite/ld-elf/fini3.s: Likewise. * testsuite/ld-elf/finin.s: Likewise. * testsuite/ld-elf/init2.s: Likewise. * testsuite/ld-elf/init3.s: Likewise. * testsuite/ld-elf/initn.s: Likewise. * testsuite/ld-elf/pr14156a.d: Don't xfail m68hc1*-* or xgate-*. * testsuite/ld-elf/pr14156b.d: Don't xfail xgate-*. commit 2d3181c7c466d247d274ca6dbed6c598ceaa6163 Author: Alan Modra Date: Thu Mar 21 14:58:35 2019 +1030 Add SORT_NONE to .init and .fini in scripts The special case for .init and .fini in update_wild_statements is ineffective for .init or .fini wildcards inside other output sections. The special case needs to be on the wildcard, not the output section. This patch is belt and braces, both fixing update_wild_statements and the scripts. * scripttempl/alpha.sc, * scripttempl/armbpabi.sc, * scripttempl/crisaout.sc, * scripttempl/elf32cr16.sc, * scripttempl/elf32crx.sc, * scripttempl/elf32xc16x.sc, * scripttempl/elf32xc16xl.sc, * scripttempl/elf32xc16xs.sc, * scripttempl/elf64hppa.sc, * scripttempl/elf_chaos.sc, * scripttempl/elfarc.sc, * scripttempl/elfarcv2.sc, * scripttempl/elfd30v.sc, * scripttempl/elfm68hc11.sc, * scripttempl/elfm68hc12.sc, * scripttempl/elfm9s12z.sc, * scripttempl/elfmicroblaze.sc, * scripttempl/elfxgate.sc, * scripttempl/elfxtensa.sc, * scripttempl/epiphany_4x4.sc, * scripttempl/ft32.sc, * scripttempl/i386beos.sc, * scripttempl/iq2000.sc, * scripttempl/mcorepe.sc, * scripttempl/mep.sc, * scripttempl/mips.sc, * scripttempl/moxie.sc, * scripttempl/pe.sc, * scripttempl/pep.sc, * scripttempl/ppcpe.sc, * scripttempl/tic4xcoff.sc, * scripttempl/tic80coff.sc, * scripttempl/v850.sc, * scripttempl/v850_rh850.sc, * scripttempl/visium.sc, * scripttempl/xstormy16.sc: Add KEEP and SORT_NONE to .init and .fini wildcards. * scripttempl/elf32xc16x.sc, * scripttempl/elf32xc16xl.sc, * scripttempl/elf32xc16xs.sc: Add .fini wildcard. * scripttempl/elf_chaos.sc: Add .init output section. * scripttempl/elfd30v.sc: Remove duplicate .init. * scripttempl/elfm68hc11.sc, * scripttempl/elfm68hc12.sc, * scripttempl/elfm9s12z.sc, * scripttempl/elfxgate.sc: Remove duplicate .init, and add .fini wildcard. * scripttempl/ppcpe.sc (INIT, FINI): Delete. * ldlang.c (update_wild_statements): Special case .init and .fini in the wildcard, not the output section. commit cc00a5d100973549bf5e4840937529633f4de1fa Author: GDB Administrator Date: Thu Mar 21 00:00:28 2019 +0000 Automatic date update in version.in commit 980a2e42f7439015defdcedad89a13a72749bdb0 Author: Alan Modra Date: Thu Mar 21 08:39:18 2019 +1030 lm32-linux ld testsuite fails A number of the fails are due to ld supporting the creation of shared libraries but not allowing linking against them without using an option like -Bdynamic. FAIL: Symbol export class test (final shared object) FAIL: PROVIDE_HIDDEN test 4 FAIL: PROVIDE_HIDDEN test 6 FAIL: PROVIDE_HIDDEN test 10 FAIL: PROVIDE_HIDDEN test 12 FAIL: Build pr22471b.so FAIL: Build pr22649-2b.so FAIL: Build pr22649-2d.so FAIL: PR ld/20828 dynamic symbols with section GC (plain) FAIL: PR ld/20828 dynamic symbols with section GC (version script) FAIL: PR ld/20828 dynamic symbols with section GC (versioned) FAIL: PR ld/21233 dynamic symbols with section GC (--undefined) FAIL: PR ld/21233 dynamic symbols with section GC (--require-defined) FAIL: PR ld/21233 dynamic symbols with section GC (EXTERN) FAIL: Build pr22150 FAIL: PR ld/14170 FAIL: Link using broken linker script FAIL: pr17068 link --as-needed lib in group FAIL: ld-gc/pr20022 * emulparams/elf32lm32fd.sh (DYNAMIC_LINK): Undef. commit 86b0c8dda0b762fe3af25fb41bb04a63183d58d7 Author: Alan Modra Date: Wed Mar 20 18:35:16 2019 +1030 Remove strip_underscore from struct emulation This field is unused. I would have liked to also remove leading_underscore and fake_label_name but in an i386-elf/coff/aout multi-obj setup those fields are used to select a different fake_label_name for aout. * emul.h (struct emulation): Delete strip_underscore. * emul-target.h (emul_strip_underscore): Don't define. (emul_struct_name): Update initialization. commit 7553c869a9a9af813abd8cb4d445765d1a8a1cac Author: Alan Modra Date: Wed Mar 20 09:20:55 2019 +1030 Teach a few targets to resolve BFD_RELOC_8 and tidy "forward" test. I've removed some checks in d30v md_apply_fix that have no business being there. Any symbol problems will be caught later in tc_gen_reloc, and overflow checking is done in gas/write.c. * config/tc-d10v.c (md_apply_fix): Apply BFD_RELOC_8. * config/tc-pdp11.c (md_apply_fix): Likewise. * config/tc-d30v.c (md_apply_fix): Don't emit errors for BFD_RELOC_8, BFD_RELOC_16, and BFD_RELOC_64. * testsuite/gas/all/gas.exp: Move target exclusions for forward test, but not cr16, to.. * testsuite/gas/all/forward.d: ..here, with explanation. Remove d10v, d30v, and pdp11 xfails. commit 3b6c19668236e6fd60c6299e7d016396d645fa61 Author: Alan Modra Date: Tue Mar 19 15:41:58 2019 +1030 Fix some dlx fails Generic linker ELF targets using CREATE_OBJECT_SYMBOLS in their scripts run into a problem. The file symbols are created by _bfd_generic_link_output_symbols in each object file, in the section corresponding to the CREATE_OBJECT_SYMBOLS section, typically .text. If it so happens that the output .text section is stripped due to being empty, then elf.c:assign_section_numbers won't assign an ELF section number and swap_out_syms will report "unable to find equivalent output section" for the object symbols. Fix this by always keeping an output section with CREATE_OBJECT_SYMBOLS. * ldlang.c (lang_size_sections_1): Set SEC_KEEP on create_object_symbols_section. * testsuite/ld-elf/pr22319.d: Don't xfail dlx. commit acde6c6b431a8c38ab18a47bb56f65f515448195 Author: Sudakshina Das Date: Wed Mar 20 18:00:07 2019 +0000 [BFD, AArch64] Define elf_backend_fixup_gnu_properties in AArch64 This patch add support for elf_backend_fixup_gnu_properties for GNU property support for AArch64. The new AArch64 specific definition _bfd_aarch64_elf_link_fixup_gnu_properties goes through the property list to find AArch64 type properties and removes the properties that are marked as "property_remove". *** bfd/ChangeLog *** 2019-03-20 Sudakshina Das * elfxx-aarch64.c (_bfd_aarch64_elf_link_fixup_gnu_properties): Define. * elfxx-aarch64.h (_bfd_aarch64_elf_link_fixup_gnu_properties): Declare. (elf_backend_fixup_gnu_properties): Define for AArch64. commit 48869a5f9c439dc8f5cb47b8d5bada77b4c3c2cb Author: Tom Tromey Date: Wed Mar 20 08:12:38 2019 -0600 Use @defvar to document gdb.pretty_printers While referencing the manual, I noticed that gdb.pretty_printers wasn't documented using @defvar. This made it more difficult to find in the info pages. This patch adds the @defvar and also an introductory paragraph in that node. gdb/doc/ChangeLog 2019-03-20 Tom Tromey * python.texi (Selecting Pretty-Printers): Use @defvar for gdb.pretty_printers. commit 595915c1c135a77afa01d30a888a48fcc55a08ec Author: Tom Tromey Date: Wed Mar 20 07:57:09 2019 -0600 Merge handle_inferior_event and handle_inferior_event_1 I noticed that handle_inferior_event is just a small wrapper that frees the value chain. This patch replaces it with a scoped_value_mark, reducing the number of lines of code here. Regression tested on x86-64 Fedora 29. gdb/ChangeLog 2019-03-20 Tom Tromey * infrun.c (handle_inferior_event): Rename from handle_inferior_event_1. Create a scoped_value_mark. (handle_inferior_event): Remove. commit e946b687baa552034ee57f3c119e56a20961452e Author: GDB Administrator Date: Wed Mar 20 00:00:30 2019 +0000 Automatic date update in version.in commit 4c7d57e72e0340931ab01db2247bdce3c2fcadb7 Author: Tom Tromey Date: Tue Mar 12 12:56:01 2019 -0600 Don't show "display"s twice in MI If you run "gdb -i=mi2" and set a "display", then when "next"ing the displays will be shown twice: ~"1: x = 23\n" ~"7\t printf(\"%d\\n\", x);\n" ~"1: x = 23\n" *stopped,reason="end-stepping-range",frame={addr="0x0000000000400565",func="main",args=[],file="q.c",fullname="/tmp/q.c",line="7"},thread-id="1",stopped-threads="all",core="1" The immediate cause of this is this code in mi_on_normal_stop_1: print_stop_event (mi_uiout); console_interp = interp_lookup (current_ui, INTERP_CONSOLE); if (should_print_stop_to_console (console_interp, tp)) print_stop_event (mi->cli_uiout); ... which obviously prints the stop twice. However, I think the first call to print_stop_event is intended just to emit the MI *stopped notification, which explains why the source line does not show up two times. This patch fixes the bug by changing print_stop_event to only call do_displays for non-MI-like ui-outs. Tested on x86-64 Fedora 29. gdb/ChangeLog 2019-03-19 Tom Tromey * mi/mi-interp.c (mi_on_normal_stop_1): Only show displays once. * infrun.h (print_stop_event): Add "displays" parameter. * infrun.c (print_stop_event): Add "displays" parameter. gdb/testsuite/ChangeLog 2019-03-19 Tom Tromey * gdb.mi/mi2-cli-display.c: New file. * gdb.mi/mi2-cli-display.exp: New file. commit cb24623460fe3e68794b79b79b0dbd5e62598d85 Author: Pedro Alves Date: Tue Mar 19 18:08:27 2019 +0000 Add comments describing tui_ui_out and its fields, cleanup a bit This commit add comments describing tui_ui_out and its fields, and cleans up the code a little bit. Also switch to using in-class initialization so that the initial values can be seen alongside the comments. I see no reason for initializing m_line as -1 instead of 0, since all the checks in the .c file are of the form "> 0". AFAICS there's no practical difference between -1 and 0. So it seems simpler to initialize it as 0. There's a bit of redundancy in tui_ui_out::do_field_string, which is fixed by this commit. gdb/ChangeLog: 2019-03-19 Pedro Alves * tui/tui-out.c (tui_ui_out::do_field_string): Simplify. (tui_ui_out::do_text): Add comments. Reset M_LINE to 0 instead of to -1. Fix TABs vs spaces. (tui_ui_out::tui_ui_out): Don't initialize fields here. * tui/tui-out.h (tui_ui_out) Add intro comments. : In-class initialize, and add describing comment. commit 634557801d909982b47b1723f4216ebe8bc784aa Author: Nick Clifton Date: Tue Mar 19 13:39:30 2019 +0000 Prevent an illegal memory access by objdump when parsing a corrupt file on a 32-bit host. PR 24360 * objdump.c (load_specific_debug_section): Check that the amount of memory to be allocated matches the size of the section. commit 392a59728b7286d5fd1a1c377de3c40334bbb36f Author: H.J. Lu Date: Tue Mar 19 21:12:47 2019 +0800 x86: Correct EVEX vector load/store optimization Update EVEX vector load/store optimization: 1. There is no need to check AVX since AVX2 is required for AVX512F. 2. We need to check both operands for ZMM register since AT&T syntax may not set zmmword on the first operand. 3. Update Opcode_SIMD_IntD check and set. 4. Since the VEX prefix has 2 or 3 bytes, the EVEX prefix has 4 bytes, EVEX Disp8 has 1 byte and VEX Disp32 has 4 bytes, we choose EVEX Disp8 over VEX Disp32. * config/tc-i386.c (optimize_encoding): Don't check AVX for EVEX vector load/store optimization. Check both operands for ZMM register. Update EVEX vector load/store opcode check. Choose EVEX Disp8 over VEX Disp32. * testsuite/gas/i386/optimize-1.d: Updated. * testsuite/gas/i386/optimize-1a.d: Likewise. * testsuite/gas/i386/optimize-2.d: Likewise. * testsuite/gas/i386/optimize-4.d: Likewise. * testsuite/gas/i386/optimize-5.d: Likewise. * testsuite/gas/i386/x86-64-optimize-2.d: Likewise. * testsuite/gas/i386/x86-64-optimize-2a.d: Likewise. * testsuite/gas/i386/x86-64-optimize-2b.d: Likewise. * testsuite/gas/i386/x86-64-optimize-3.d: Likewise. * testsuite/gas/i386/x86-64-optimize-5.d: Likewise. * testsuite/gas/i386/x86-64-optimize-6.d: Likewise. * testsuite/gas/i386/optimize-1.s: Add ZMM register load test. * testsuite/gas/i386/x86-64-optimize-2.s: Likewise. commit 7b1d7ca194544554f7d41aea7fdf7a69c232f15d Author: H.J. Lu Date: Tue Mar 19 21:10:21 2019 +0800 x86: Correct EVEX to 128-bit EVEX optimization Since not all AVX512F processors support AVX512VL, we can optimize 512-bit EVEX to 128-bit EVEX encoding for upper 16 vector registers only when AVX512VL is enabled explicitly at command-line or via ".arch .avx512vl" directive. PR gas/24352 * config/tc-i386.c (optimize_encoding): Check only cpu_arch_flags.bitfield.cpuavx512vl. * testsuite/gas/i386/i386.exp: Run x86-64-optimize-2b. * testsuite/gas/i386/x86-64-optimize-2.d: Revert the last change. * testsuite/gas/i386/x86-64-optimize-2b.d: New file. * testsuite/gas/i386/x86-64-optimize-2b.s: Likewise. commit 89199bb5a027d21c56dafd2cd898487118949ecf Author: H.J. Lu Date: Tue Mar 19 21:08:15 2019 +0800 ix86: Disable AVX512F when disabling AVX2 Since AVX2 is required for AVX512F, we should disable AVX512F when AVX2 is disabled. gas/ PR gas/24359 * testsuite/gas/i386/i386.exp: Change optimize-6a, optimize-7, x86-64-optimize-7a and x86-64-optimize-8 tests to run_list_test. Remove optimize-6c and x86-64-optimize-7c tests. * testsuite/gas/i386/noavx-3.l: Updated. * testsuite/gas/i386/noavx-4.d: Likewise. * testsuite/gas/i386/noavx-5.d: Likewise. * testsuite/gas/i386/noavx-3.s: Add AVX512F tests. * testsuite/gas/i386/noavx-4.s: Remove AVX512F tests. * testsuite/gas/i386/nosse-5.s: Likewise. * testsuite/gas/i386/optimize-6a.d: Removed. * testsuite/gas/i386/optimize-6c.d: Likewise. * testsuite/gas/i386/optimize-7.d: Likewise. * testsuite/gas/i386/x86-64-optimize-7a.d: Likewise. * testsuite/gas/i386/x86-64-optimize-7c.d: Likewise. * testsuite/gas/i386/x86-64-optimize-8.d: Likewise. * testsuite/gas/i386/optimize-6a.l: New file. * testsuite/gas/i386/optimize-6a.s: Likewise. * testsuite/gas/i386/optimize-7.l: Likewise. * testsuite/gas/i386/x86-64-optimize-7a.l: Likewise. * testsuite/gas/i386/x86-64-optimize-7a.s: Likewise. * testsuite/gas/i386/x86-64-optimize-8.l: Likewise. opcodes/ PR gas/24359 * i386-gen.c (cpu_flag_init): Add CPU_ANY_AVX512F_FLAGS to CPU_ANY_AVX2_FLAGS. * i386-init.h: Regenerated. commit 3a0e45b2f187dae8cba444e9b31f05cee0e2d6ae Author: Alan Hayward Date: Mon Mar 18 16:13:12 2019 +0000 Fix Arm build error The following commit broke the build for Arm: d3a70e03cf51c8fb6bc183eaff7559edffec2045 Change iterate_over_lwps to take a gdb::function_view Correct the changes made to arm_linux_insert_hw_breakpoint1 and make similar changes to arm_linux_remove_hw_breakpoint1. 2019-03-18 Alan Hayward * arm-linux-nat.c (arm_linux_insert_hw_breakpoint1): Fix variable names. (arm_linux_remove_hw_breakpoint1): Use a gdb::function_view. commit 4faa59bbb7ad8665b6eb7c93bdb726e412850811 Author: GDB Administrator Date: Tue Mar 19 00:00:21 2019 +0000 Automatic date update in version.in commit 5371b8502ab414aea510f65ce1acb9f090bf0340 Author: Pedro Alves Date: Mon Mar 18 18:32:42 2019 +0000 Fix first time you type UP or DOWN in TUI's command window The first time you type UP or DOWN arrow in the command window, GDB should scroll the source window, but instead it displays the line number and the file name in the command window(?). What happens there is that the first time we call tui_ui_out::do_field_int, it doesn't initialize m_line, because m_start_of_line is -1, as set by the constructor; and then the following call to tui_ui_out::do_field_string falls back to cli_ui_out::do_field_string because m_line is zero. The problem is caused by a typo in the C++ification of tui_ui_out, commit 112e8700a6f, where m_line and m_start_of_line's initial values were swapped from what they used to be: -struct ui_out * -tui_out_new (struct ui_file *stream) +tui_ui_out::tui_ui_out (ui_file *stream) +: cli_ui_out (stream, 0), + m_line (0), + m_start_of_line (-1) { - - /* Initialize our fields. */ - data->line = -1; - data->start_of_line = 0; This commit fixes it. gdb/ChangeLog: 2019-03-18 Pedro Alves Eli Zaretskii * tui/tui-out.c (tui_ui_out::tui_ui_out): Fix initialization of m_line and m_start_of_line. commit b17c4cd078e2d1d8951951016815e474fb133780 Author: Eli Zaretskii Date: Mon Mar 18 20:04:40 2019 +0200 Fix gdb/TUI behavior in response to [Enter] keypress gdb/ChangeLog: 2019-03-18 Eli Zaretskii * tui/tui-io.c (gdb_wgetch): Don't echo CR. (tui_getc): When gdb_wgetch returns a CR, behave the same as when it returns a newline. This fixes a regression in TUI mode, whereby the next line is output on the same screen line as the user input. commit 4bd56d18cc9799f283715a96ba61fd4b958b2f71 Author: Tom Tromey Date: Mon Mar 18 09:32:09 2019 -0600 Fix regression caused by minimal symbol changes The earlier patch to change minimal symbol allocations to use xmalloc erroneously left a call to obstack_blank in minimal_symbol_reader::install. Because obstack_blank does not finish the object allocation on an obstack, this in turn could cause invalid memory reads in some situations. This patch fixes the problem by removing the call. Tested on x86-64 Fedora 29; also verified with valgrind. gdb/ChangeLog 2019-03-18 Tom Tromey * minsyms.c (minimal_symbol_reader::install): Remove call to obstack_blank. commit 55c10aca2e93cc7a4301aa1635ef9d6d73a804b1 Author: Pedro Alves Date: Mon Mar 18 14:26:00 2019 +0000 Improve/fix the TUI's current source line highlight With styling enabled, I think the way we display the TUI's highlighted/current line is very ugly and distracting. The problem in my view is that we reverse foreground/background in colored text as well, leading to rainbow of background colors. This patch changes that to something that I find much more sensible -- only reverse the default foreground/background colors, leave styled text colors alone. If the foreground color is not the default (because the text was styled), leave the foreground color as is. If e.g., the terminal is fg=BLACK, and bg=WHITE, and the style wants to print text in RED, reverse the background color (print in BLACK), but still print the text in RED. Note: The new ui_file_style::set_fg method isn't called set_foreground instead, because set_foreground is a macro in /usr/lib/term.h (ncurses). gdb/ChangeLog: 2019-03-18 Pedro Alves * tui/tui-io.c (reverse_mode_p, reverse_save_bg, reverse_save_fg): New globals. (apply_style): New, factored out from ... (apply_ansi_escape): ... this. Handle reverse video mode. (tui_set_reverse_mode): New function. * tui/tui-io.h (tui_set_reverse_mode): New declaration. * tui/tui-winsource.c (tui_show_source_line): Use tui_set_reverse_mode instead of setting A_STANDOUT. * ui-style.h (struct ui_file_style) : New setter methods. commit 647bb750c298bbee618aa4448a30dcf9adf23602 Author: Hannes Domani Date: Mon Mar 18 14:25:59 2019 +0000 Fix scrolling right in the TUI This commit fixes two issues in scrolling right in the TUI: #1 - Scrolling right with the arrow keys, the first keypress doesn't do anything. The problem is that copy_source_line() checks if (column < first_col), and because of the ++column directly before, it basically starts with 1 instead of 0. #2 - Scrolling right handles TABS and escaped characters as single characters, which just looks weird. The problem is that there's a spot that misses handling TABS. gdb/ChangeLog: 2019-03-18 Hannes Domani * tui/tui-source.c (copy_source_line): Fix handling of 'column'. Handle tabs. commit bff8c71fd8dece639e69b399883f90b3404a2a48 Author: Tom Tromey Date: Wed Mar 13 08:40:25 2019 -0600 Fix Ada "ptype" bug with array types Using ptype on an array type in Ada can sometimes show an incorrect high bound. This happens because ada_evaluate_subexp will create an array with an incorrect upper bound in the EVAL_AVOID_SIDE_EFFECTS case. This patch fixes the problem by arranging to always create such an array with valid bounds. Tested on x86-64 Fedora 29. gdb/ChangeLog 2019-03-18 Tom Tromey * ada-lang.c (empty_array): Add "high" parameter. (ada_evaluate_subexp): Update. gdb/testsuite/ChangeLog 2019-03-18 Joel Brobecker Tom Tromey * gdb.ada/ptype_array/pck.adb: New file. * gdb.ada/ptype_array/pck.ads: New file. * gdb.ada/ptype_array/foo.adb: New file. * gdb.ada/ptype_array.exp: New file. commit af60449c260235478f9b1f9db39a587fe4c75290 Author: Alan Modra Date: Mon Mar 18 22:34:36 2019 +1030 Use temp_ilp and restore_ilp in more places * as.c (macro_expr): Use temp_ilp and restore_ilp. * macro.c (buffer_and_nest): Likewise. * read.c (temp_ilp): Remove FIXME. commit c6cdff46c9d35e0c811e179fc6642ed71473bc66 Author: Alan Modra Date: Mon Mar 18 22:16:24 2019 +1030 Fix MRI mode testsuite failures These fails were introduced by git commit 2469b3c584 with the inroduction of "input_from_string": m68k-linux FAIL: MRI structured for m68k-linux FAIL: MRI structured if m68k-linux FAIL: MRI structured repeat m68k-linux FAIL: MRI structured while Since the m68k parser called expression() without setting input_from_string, get_symbol_name rejected FAKE_LABEL_CHAR in names. * config/m68k-parse.y (yylex): Use temp_ilp and restore_ilp. commit 8cd1fe1bf525b59f4d07e5790d11d49eee7e8494 Author: Alan Modra Date: Mon Mar 18 21:38:36 2019 +1030 PR24355, segmentation fault in function called from ppc_finish_symbols This one looks to be a bug going back to 2009, git commit e054468f6c "STT_GNU_IFUNC support for PowerPC". That bug was carried over with git commit 49c09209d0 "Rearrange PLT reloc output on powerpc". If the refcount for an ifunc local sym plt entry was zero, ppc_elf_size_dynamic_sections would correctly set plt.offset to -1 but leave glink_offset uninitialized. That leads to occasional segfaults (which can be made solid with MALLOC_PERTURB_=1 when using glibc). So, guard the write_glink_stub call with plt.offset != -1. Also, remove the totally ineffective attempt at writing multiple-use glink stubs only once. PR 24355 * elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub for local iplt syms with ent->plt.offset == -1. Remove ineffective attempt at writing glink stubs only once. commit 28a66f07f0695c740dc0e1b043cd36f90dbfb5ea Author: Alan Modra Date: Mon Mar 18 11:11:39 2019 +1030 csky ld testsuite fixes * testsuite/ld-elf/merge.d: Remove csky from xfails, add moxie. * testsuite/ld-elf/pr21884.d: Remove csky from xfails. * testsuite/ld-elf/shared.exp: Add csky to list not xfailing pr22374. * testsuite/ld-unique/pr21529.d: Remove csky from xfails commit 58785d9888c699770154ef1d42fcea7598e8d704 Author: Sergei Trofimovich Date: Sun Mar 17 22:27:31 2019 +0000 gdb: unconditionally define _initialize_string_view_selftests The build failure was noticed by Helmut Jarausch in https://bugs.gentoo.org/680232: $ ./configure CXXFLAGS='-std=c++17 -Os' ... CXXLD gdb ld: init.o: in function `initialize_all_files()': init.c:(.text+0x113): undefined reference to `_initialize_string_view_selftests()' It happens because '_initialize_string_view_selftests()' is conditionally defined based on C++ default. The change defines '_initialize_string_view_selftests()' unconditionally and leaves implementation a no-op on c++17 compilers. gdb/ChangeLog: 2019-03-17 Sergei Trofimovich * unittests/string_view-selftests.c: Define _initialize_string_view_selftests unconditionally. commit a716e60cf91254811f798d358a5b1842b4a65113 Author: H.J. Lu Date: Mon Mar 18 09:19:45 2019 +0800 x86: Pass -O0 to assembler for some tests * testsuite/gas/i386/att-regs.d: Pass -O0 to assembler. * testsuite/gas/i386/avx512bw-intel.d: Likewise. * testsuite/gas/i386/avx512bw.d: Likewise. * testsuite/gas/i386/avx512f-intel.d: Likewise. * testsuite/gas/i386/avx512f.d: Likewise. * testsuite/gas/i386/disp32.d: Likewise. * testsuite/gas/i386/intel-regs.d: Likewise. * testsuite/gas/i386/pseudos.d: Likewise. * testsuite/gas/i386/x86-64-disp32.d: Likewise. * testsuite/gas/i386/x86-64-pseudos.d: Likewise. commit 97ed31ae00ea83410f9daf61ece8a606044af365 Author: H.J. Lu Date: Mon Mar 18 08:56:10 2019 +0800 x86: Optimize EVEX vector load/store instructions When there is no write mask, we can encode lower 16 128-bit/256-bit EVEX vector register load and store instructions as VEX vector register load and store instructions with -O1. gas/ PR gas/24348 * config/tc-i386.c (optimize_encoding): Encode 128-bit and 256-bit EVEX vector register load/store instructions as VEX vector register load/store instructions for -O1. * doc/c-i386.texi: Update -O1 documentation. * testsuite/gas/i386/i386.exp: Run PR gas/24348 tests. * testsuite/gas/i386/optimize-1.s: Add tests for EVEX vector load/store instructions. * testsuite/gas/i386/optimize-2.s: Likewise. * testsuite/gas/i386/optimize-3.s: Likewise. * testsuite/gas/i386/optimize-5.s: Likewise. * testsuite/gas/i386/x86-64-optimize-2.s: Likewise. * testsuite/gas/i386/x86-64-optimize-3.s: Likewise. * testsuite/gas/i386/x86-64-optimize-4.s: Likewise. * testsuite/gas/i386/x86-64-optimize-5.s: Likewise. * testsuite/gas/i386/x86-64-optimize-6.s: Likewise. * testsuite/gas/i386/optimize-1.d: Updated. * testsuite/gas/i386/optimize-2.d: Likewise. * testsuite/gas/i386/optimize-3.d: Likewise. * testsuite/gas/i386/optimize-4.d: Likewise. * testsuite/gas/i386/optimize-5.d: Likewise. * testsuite/gas/i386/x86-64-optimize-2.d: Likewise. * testsuite/gas/i386/x86-64-optimize-3.d: Likewise. * testsuite/gas/i386/x86-64-optimize-4.d: Likewise. * testsuite/gas/i386/x86-64-optimize-5.d: Likewise. * testsuite/gas/i386/x86-64-optimize-6.d: Likewise. * testsuite/gas/i386/optimize-7.d: New file. * testsuite/gas/i386/optimize-7.s: Likewise. * testsuite/gas/i386/x86-64-optimize-8.d: Likewise. * testsuite/gas/i386/x86-64-optimize-8.s: Likewise. opcodes/ PR gas/24348 * i386-opc.tbl: Add Optimize to vmovdqa32, vmovdqa64, vmovdqu8, vmovdqu16, vmovdqu32 and vmovdqu64. * i386-tbl.h: Regenerated. commit 7bc0961cfec1f138a3127e8f210909aa430c425f Author: GDB Administrator Date: Mon Mar 18 00:00:40 2019 +0000 Automatic date update in version.in commit 99112332cda2e63d33959ac8ea2ed13524b09bd6 Author: H.J. Lu Date: Mon Mar 18 03:50:45 2019 +0800 x86: Encode 256-bit/512-bit VEX/EVEX insns with 128-bit VEX Since all AVX512 processors support AVX, we can encode 256-bit/512-bit VEX/EVEX vector register clearing instructions with 128-bit VEX vector register clearing instructions at -O1. * config/tc-i386.c (optimize_encoding): Encode 256-bit/512-bit VEX/EVEX vector register clearing instructions with 128-bit VEX vector register clearing instructions at -O1. * doc/c-i386.texi: Update -O1 and -O2 documentation. * testsuite/gas/i386/i386.exp: Run optimize-1a and x86-64-optimize-2a. * testsuite/gas/i386/optimize-1a.d: New file. * testsuite/gas/i386/x86-64-optimize-2a.d: Likewise. commit d4cbef22ba406707a4fcb30a7a57308447626f14 Author: Владимир Мартьянов Date: Sun Mar 17 12:51:01 2019 +0300 Remove unused variable from windows_make_so There is unused variable text_vma in function windows_make_so. This leads to build error on Windows using Cygwin. gdb/ChangeLog: 2019-03-17 Vladimir Martyanov PR gdb/24350 * windows-nat.c (windows_make_so): Remove unused text_vma variable. commit fce4c071610c0d01b70b172ee538e831023c1c2f Author: Владимир Мартьянов Date: Sun Mar 17 12:48:24 2019 +0300 Fix wrong format specification in display_selector() There are a wrong format strings in function display_selector() in file windows-nat.c. This leads to build error using Cygwin on Windows. LDT_ENTRY.HighWord is a DWORD, which is unsigned long int, so the format specification should be for long int, not simply int. gdb/ChangeLog: 2019-03-17 Vladimir Martyanov PR gdb/24351 * windows-nat.c (display_selector): Format specifications fixed commit f7f0a12390fc514a5b7b38d1b23397d87532ce05 Author: Eli Zaretskii Date: Sun Mar 17 18:00:34 2019 +0200 Fix redisplay of the current line in GDB TUI mode Without this change, when the current line is longer than the source window width, redisplaying that line overwrites the window frame and also portions of the next line. gdb/ChangeLog: 2019-03-17 Eli Zaretskii * tui/tui-winsource.c (tui_set_is_exec_point_at): Call tui_refill_source_window instead of tui_refresh_win, to update the current execution line. This fixes redisplay of the current line when stepping through very long lines with "next" or "step". commit d6dcc55d804dc23197c8cf4f193bc39838c6a052 Author: GDB Administrator Date: Sun Mar 17 00:01:10 2019 +0000 Automatic date update in version.in commit 41fd2579f2ac6a5fca262317b0e52eea07fa7438 Author: H.J. Lu Date: Sun Mar 17 07:39:18 2019 +0800 x86: Set optimize to INT_MAX for -Os Set optimize to INT_MAX, instead of -1, for -Os so that -Os will include -O2 optimization. PR gas/24353 * config/tc-i386.c (md_parse_option): Set optimize to INT_MAX for -Os. * testsuite/gas/i386/optimize-2.s: Add a test. * testsuite/gas/i386/x86-64-optimize-3.s: Likewise. * testsuite/gas/i386/optimize-2.d: Updated. * testsuite/gas/i386/x86-64-optimize-3.d: Likewise. commit dd22218cf26fa5d8beade7266de391a28e63527b Author: H.J. Lu Date: Sun Mar 17 07:25:08 2019 +0800 x86: Correctly optimize EVEX to 128-bit VEX/EVEX We can optimize 512-bit EVEX to 128-bit EVEX encoding for upper 16 vector registers only when AVX512VL is enabled. We can't optimize EVEX to 128-bit VEX encoding when AVX isn't enabled. PR gas/24352 * config/tc-i386.c (optimize_encoding): Encode 512-bit EVEX with 128-bit VEX encoding only when AVX is enabled and with 128-bit EVEX encoding only when AVX512VL is enabled. * testsuite/gas/i386/i386.exp: Run PR gas/24352 tests. * testsuite/gas/i386/optimize-6.s: New file. * testsuite/gas/i386/optimize-6a.d: Likewise. * testsuite/gas/i386/optimize-6b.d: Likewise. * testsuite/gas/i386/optimize-6c.d: Likewise. * testsuite/gas/i386/x86-64-optimize-7.s: Likewise. * testsuite/gas/i386/x86-64-optimize-7a.d: Likewise. * testsuite/gas/i386/x86-64-optimize-7b.d: Likewise. * testsuite/gas/i386/x86-64-optimize-7c.d: Likewise. * testsuite/gas/i386/x86-64-optimize-2.d: Updated. commit ab42892fb7d265e72a85e918d4f5c6dfeee3fcd8 Author: Eli Zaretskii Date: Sat Mar 16 19:53:46 2019 +0200 Fix vertical scrolling of TUI source window gdb/ChangeLog: 2019-03-16 Eli Zaretskii * source-cache.c (source_cache::get_source_lines): Call find_source_lines to initialize s->nlines. This fixes vertical scrolling of TUI source window when the DOWN arrow is pressed. commit 8d8c087f34beaa271c3f8d5597d92bce4e9c7f4a Author: Philippe Waroquiers Date: Sat Mar 16 16:56:44 2019 +0100 OBVIOUS: fix several occurrences of 'This options has' to 'This option has' commit 798e1c302af509c31839c5c3b50c058b61206ee7 Author: Eli Zaretskii Date: Sat Mar 16 14:13:43 2019 +0200 Revert "Use wclrtoeol in tui_show_source_line" gdb/ChangeLog: 2019-03-16 Eli Zaretskii * tui/tui-winsource.c (tui_show_source_line): Revert "Use wclrtoeol in tui_show_source_line". This reverts changes made in commit 4a3045920bbe4e50a0f4920b0fdc4e88ef23015c. commit 6835821be8bab8702e41e6946a7d8ee9441f0eee Author: Alan Modra Date: Sat Mar 16 09:34:47 2019 +1030 PR24337, segfault in _bfd_elf_rela_local_sym, again Reverts commit 1ff31e135f, fixing the problem more generally. There are likely other place that will segfault on a NULL section. PR 24337 * elf.c (_bfd_elf_rela_local_sym): Revert last change. (_bfd_elf_rel_local_sym): Likewise. * elflink.c (elf_link_input_bfd): Use bfd_und_section for section of symbols with unrecognized shndx. commit fdc01131eb74cf28ae6e7eb3f55ebe0d38839d3e Author: GDB Administrator Date: Sat Mar 16 00:00:26 2019 +0000 Automatic date update in version.in commit eefba3da27c23db67cc0e1707fcedd96f1c0860d Author: Tom Tromey Date: Sat Mar 2 13:07:47 2019 -0700 Change minimal_symbol inheritance This changes struct minimal_symbol to inherit from general_symbol_info and updates various macros to cope. Because MSYMBOL_SET_LANGUAGE and MSYMBOL_SET_NAMES were only used from a single spot, this patch removes them in favor of simply inlining their definitions. I consider this to be somewhat cleaner, not least because the "phony polymorphism" provided by such macros is not useful in practice. gdb/ChangeLog 2019-03-15 Tom Tromey * symtab.h (struct minimal_symbol): Derive from general_symbol_info. (MSYMBOL_VALUE, MSYMBOL_VALUE_RAW_ADDRESS) (MSYMBOL_VALUE_ADDRESS, MSYMBOL_VALUE_BYTES) (MSYMBOL_BLOCK_VALUE, MSYMBOL_VALUE_CHAIN, MSYMBOL_LANGUAGE) (MSYMBOL_SECTION, MSYMBOL_OBJ_SECTION, MSYMBOL_NATURAL_NAME) (MSYMBOL_LINKAGE_NAME, MSYMBOL_DEMANGLED_NAME) (MSYMBOL_SEARCH_NAME): Update. (MSYMBOL_SET_LANGUAGE, MSYMBOL_SET_NAMES): Remove. * solib.c (gdb_bfd_lookup_symbol_from_symtab): Don't use memset. * minsyms.c (minimal_symbol_reader::record_full): Update. commit 0de2420c4b023e644f91a409803fedfb235bfc0b Author: Tom Tromey Date: Sat Mar 2 12:31:04 2019 -0700 Use memcpy in minimal_symbol_reader::install minimal_symbol_reader::install copies minsyms from the msym_bunch objects into the allocated memory. It seemed better to me to do this via memcpy, as that is frequently optimized in libc. gdb/ChangeLog 2019-03-15 Tom Tromey * minsyms.c (minimal_symbol_reader::install): Use memcpy. commit 042d75e42c5572f333e0e06dabd3c5c4afab486c Author: Tom Tromey Date: Sat Mar 2 12:29:48 2019 -0700 Allocate minimal symbols with malloc Currently, minimal symbols are allocated on the per-BFD obstack. However, it is also possible for multiple symbol readers to create minimal symbols for a given objfile. In this case, the minimal symbols will be reallocated on the obstack, leading to some waste of storage. This is a memory leak, but I think it won't be caught by tools like valgrind, because valgrind doesn't know about obstacks. This patch fixes the problem by using malloc to allocate the storage for minimal symbols. gdb/ChangeLog 2019-03-15 Tom Tromey * objfiles.h (struct objfile_per_bfd_storage) : Now a unique_xmalloc_ptr. (objfile::msymbols_range::begin, objfile::msymbols_range::end): Update. * minsyms.c (lookup_minimal_symbol_by_pc_section) (build_minimal_symbol_hash_tables) (minimal_symbol_reader::install): Update. commit db92718b541158d4782dbc9f48401c20f2bbad6d Author: Tom Tromey Date: Sat Mar 2 12:18:05 2019 -0700 Use htab_up for demangled hash This changes objfile_per_bfd_storage::demangled_names_hash to be an htab_up. This lets us remove some manual management code from the objfile_per_bfd_storage destructor. gdb/ChangeLog 2019-03-15 Tom Tromey * symtab.c (create_demangled_names_hash): Update. (symbol_set_names): Update. * objfiles.h (struct objfile_per_bfd_storage) : Now an htab_up. * objfiles.c (objfile_per_bfd_storage): Simplify. commit d6797f465c3f67b41a0db38870bbd33384b6551f Author: Tom Tromey Date: Sat Mar 2 12:11:26 2019 -0700 Simplify per-BFD storage management There's no reason that the objfile_per_bfd_storage must be allocated via bfd_alloc. This patch changes objfile_per_bfd_storage to be managed more simply, via ordinary new and delete; and moves some code into its (new) destructor. While doing this I also noticed an extra initialization of language_of_main, and removed it. gdb/ChangeLog 2019-03-15 Tom Tromey * objfiles.h (struct objfile_per_bfd_storage): Declare destructor. * objfiles.c (objfile_per_bfd_storage::~objfile_per_bfd_storage): New. (get_objfile_bfd_data): Use new. Don't initialize language_of_main. (free_objfile_per_bfd_storage): Remove. (objfile_bfd_data_free, objfile::~objfile): Use delete. commit 741d7538b7540fea1086fe6ab962227d2cf7418e Author: Tom Tromey Date: Sat Mar 2 12:05:57 2019 -0700 Remove minsym termination I was curious what used the terminating "null" minimal symbol; and after looking I could not find anything. This patch removes terminate_minimal_symbol_table and the extra minimal symbol that is allocated for it. gdb/ChangeLog 2019-03-15 Tom Tromey * symfile.c (reread_symbols): Update. * objfiles.c (objfile::objfile): Update. * minsyms.h (terminate_minimal_symbol_table): Don't declare. * minsyms.c (lookup_minimal_symbol_by_pc_section): Update comment. (minimal_symbol_reader::install): Update. (terminate_minimal_symbol_table): Remove. * jit.c (jit_object_close_impl): Update. commit 788c80d1aff685e66b8105ddc7451cfa6a03bf1d Author: Tom Tromey Date: Fri Mar 1 19:56:45 2019 -0700 Remove some unneeded initializations in minimal_symbol_reader minimal_symbol_reader::record_full does not need to initialize any minsym fields to 0, because that was already done implicitly via the use of XCNEW when allocating the msym_bunch. gdb/ChangeLog 2019-03-15 Tom Tromey * minsyms.c (minimal_symbol_reader::record_full): Remove some initializations. commit 1b7a07cba0aa096c2eb66895ef339aa5143e9995 Author: Tom Tromey Date: Fri Mar 1 19:55:46 2019 -0700 Use bitset for demangled_hash_languages I noticed that objfile_per_bfd_storage::demangled_hash_languages is a std::vector, which seemed quite large for something that, fundamentally, can be represented as a bitset. This patch reimplements it as a std::bitset. gdb/ChangeLog 2019-03-15 Tom Tromey * objfiles.h (struct objfile_per_bfd_storage) : Now a bitset. * minsyms.c (add_minsym_to_demangled_hash_table): Update. (lookup_minimal_symbol): Update. commit 3db066bcd5bac9a8d6be85ea4cfa8f52dbdcc600 Author: Tom Tromey Date: Fri Mar 1 17:37:30 2019 -0700 Slightly simplify minsym creation Only one caller of minimal_symbol_reader::record_with_info was using the return value, so this patch simplifies this code by having it return void and changing that caller to use record_full instead. gdb/ChangeLog 2019-03-15 Tom Tromey * minsyms.h (class minimal_symbol_reader) : Don't return the symbol. * coffread.c (record_minimal_symbol): Use record_full. commit 2219ae0b0ebe14373850b000c2abaa31dab1d741 Author: H.J. Lu Date: Fri Mar 15 22:19:01 2019 +0800 COFF: Check for symbols defined in discarded section For LTO, a symbol may defined in discarded section. We should mark it as undefined so that LTO plugin will make IR definition available. PR ld/24267 * coffgen.c (_bfd_coff_section_already_linked): Skip discarded section. * cofflink.c (coff_link_add_symbols): Check for symbols defined in discarded section. commit 1c82ed745bec154a3cd8a8bbf36c5be5086041d5 Author: Nick Clifton Date: Fri Mar 15 12:08:56 2019 +0000 Update the documentation describing where the linker will attempt to locate plugins. PR 24262 * ld.texi (-plugin): Correct the path used to locate linker plugins. commit 1c529385d9d7f53efa541d9701ec8c1001581e3e Author: Li Hao Date: Fri Mar 15 11:58:05 2019 +0000 Fix a potential illegal memory access whilt parsing an x86 insn. PR 24308 * config/tc-i386.c (parse_insn): Check mnemp before using it to determine if a suffix can be trimmed. commit fe3fef62ad11115fc3b03c0c0dcb9c38b2f544cb Author: Alan Modra Date: Fri Mar 15 16:49:59 2019 +1030 PR24339, segfault on NULL symbol section PR 24339 * elflink.c (elf_link_add_object_symbols): Bail out on a local symbol after globals if elf_bad_symtab is not set. commit 1ff31e135f04b2773e10d3e5072776c1072edbfb Author: Alan Modra Date: Fri Mar 15 16:49:42 2019 +1030 PR24337, segfault in _bfd_elf_rela_local_sym PR 24337 * elf.c (_bfd_elf_rela_local_sym): Don't segfault on NULL sec. (_bfd_elf_rel_local_sym): Likewise. commit f55b1e3248e4950464ea120027cc6881003e0ead Author: Alan Modra Date: Fri Mar 15 15:49:27 2019 +1030 PR24336, buffer overflow in swap_reloca_in PR 24336 * elflink.c (elf_link_read_relocs_from_section): Handle fuzzed object files with sh_size not a multiple of sh_entsize. commit 418d4036ee37807b97b8040ebe7e2c15e9db726d Author: H.J. Lu Date: Fri Mar 15 15:46:12 2019 +0800 x86-64: Check for corrupt input with bad relocation PR ld/24338 * elf64-x86-64.c (elf_x86_64_relocate_section): Check for corrupt input with bad relocation. commit da0d12d2bd46730ad8327b9fac1371182996017c Author: H.J. Lu Date: Fri Mar 15 14:43:36 2019 +0800 Re-indent elf_x86_64_relocate_section * elf64-x86-64.c (elf_x86_64_relocate_section): Re-indent. commit 4a5ee99b2f891c7adcafd4c4d9e3c360a5c475fd Author: GDB Administrator Date: Fri Mar 15 00:00:25 2019 +0000 Automatic date update in version.in commit 5c85e20d5a6cbcb58aabdac192142be38c96b069 Author: Simon Marchi Date: Thu Mar 14 15:04:10 2019 -0400 Fix gdb.texinfo build Commit b4be1b064860 ("Fix MI output for multi-location breakpoints") broke the build of gdb.texinfo. The problem is simply the use of "@end @table", which should be "@end table". The error was: /home/smarchi/src/binutils-gdb/gdb/doc/gdb.texinfo:27870: warning: @table should not appear in @end /home/smarchi/src/binutils-gdb/gdb/doc/gdb.texinfo:27870: table requires an argument: the formatter for @item /home/smarchi/src/binutils-gdb/gdb/doc/gdb.texinfo:27870: no matching `@end table' /home/smarchi/src/binutils-gdb/gdb/doc/gdb.texinfo:27870: bad argument to @end: @table /home/smarchi/src/binutils-gdb/gdb/doc/gdb.texinfo:27867: warning: @table has text but no @item /home/smarchi/src/binutils-gdb/gdb/doc/gdb.texinfo:27879: @node seen before @end table gdb/doc/ChangeLog: * gdb.texinfo (GDB/MI Development and Front Ends): Fix closing of table, "@end @table" -> "@end table". commit d7f848c3b51f01635557ab765f2ba176618e0bf8 Author: Nick Clifton Date: Thu Mar 14 17:21:41 2019 +0000 Fix a buffer overrun error when attempting to parse corrupt DWARF information. PR 24334 * dwarf2.c (struct dwarf2_debug): Add sec_vma_count field. (save_section_vma): Initialise field to the number of entries in the sec_vma table. (section_vma_same): Check that the number of entries in the sec_vma table matches the number of sections in the bfd. commit 6cc71b820cc70b63711e9d7f584550b56e172b0a Author: Nick Clifton Date: Thu Mar 14 16:03:07 2019 +0000 Fix an illegal memory access when parsing a corrupt ELF file. PR 24333 * elflink.c (_bfd_elf_add_default_symbol): Add a check for a NULL section owner pointer when adding the default symbol. commit 3fff2c370cd658877be8107bfe9dde8dd0470b46 Author: Eli Zaretskii Date: Thu Mar 14 17:31:38 2019 +0200 Fix colors in TUI mode in MS-Windows build with ncurses The MS-Windows port of ncurses fails to switch to a color pair if one or both of the colors are the implicit default colors. This change records the default colors when TUI is initialized, and then specifies them explicitly when a color pair uses the default colors. This allows color styling in TUI mode on MS-Windows. gdb/ChangeLog: 2019-03-14 Eli Zaretskii * tui/tui-io.c [__MINGW32__]: Include windows.h. Declare ncurses_norm_attr. (tui_initialize_io) [__MINGW32__]: Record the default terminal colors in ncurses_norm_attr. (apply_ansi_escape) [__MINGW32__]: If a color in a color pair is "none", replace it with the default color recorded in ncurses_norm_attr. commit be22c732bf873e0c7e8a08564c97cafdfcf153bb Author: Nick Clifton Date: Thu Mar 14 14:45:32 2019 +0000 Fix illegal memory access parsing a corrupt ELF file. PR 24332 * elflink.c (elf_link_add_object_symbols): Add new local variable extversym_end. Initialise it to point to the end of the version symbol table, if present. Check it when initialising and updating the ever pointer. commit 3b336828de914a39741339b5341b88aa003d7225 Author: Tom Tromey Date: Fri Mar 8 13:59:27 2019 -0700 Avoid a crash in source_cache::extract_lines If the first requested line is larger than the number of lines in the source buffer, source_cache::extract_lines could crash, because it would try to pass string::npos" to string::substr. This patch avoids the crash by checking for this case. This version of the patch changes get_source_lines to return std::string. gdb/ChangeLog 2019-03-14 Tom Tromey * source-cache.h (class source_cache) : Return std::string. * source-cache.c (source_cache::extract_lines): Handle case where first_pos==npos. Return std::string. (source_cache::get_source_lines): Update. commit d085f98901ccd6c9764b93d3983f3c7797addc4f Author: Tom Tromey Date: Fri Mar 8 13:54:07 2019 -0700 Add the "set style source" command This adds "set style source" (and "show style source") commands. This gives the user control over whether source code is highlighted. gdb/ChangeLog 2019-03-14 Tom Tromey * NEWS: Add item for "style sources" commands. * source-cache.c (source_cache::get_source_lines): Check source_styling. * cli/cli-style.c (source_styling): New global. (_initialize_cli_style): Add "style sources" commands. (show_style_sources): New function. * cli/cli-style.h (source_styling): Declare. gdb/doc/ChangeLog 2019-03-14 Tom Tromey * gdb.texinfo (Output Styling): Document "set style source" and "show style source". gdb/testsuite/ChangeLog 2019-03-14 Tom Tromey * gdb.base/style.exp: Add "set style sources" test. commit 6f11e6824e15bd40fe1e7b245a22865c6ef8c7bd Author: Tom Tromey Date: Fri Mar 8 13:41:55 2019 -0700 Make TUI react to "set style enabled" When the user toggles "set style enabled", the TUI should react by redrawing the source window, if necessary. This patch implements this behavior. No test because the TUI is generally not tested. This version of the patch incorporates Pedro's patch to provide a clean way to force the TUI to update the source window's contents. gdb/ChangeLog 2019-03-14 Pedro Alves Tom Tromey * tui/tui-winsource.h (tui_refill_source_window): Declare. * tui/tui-winsource.c (tui_refill_source_window): New function, from... (tui_horizontal_source_scroll): ... here. Move some logic. * cli/cli-style.c (set_style_enabled): Notify new observable. * tui/tui-hooks.c (tui_redisplay_source): New function. (tui_attach_detach_observers): Attach or detach tui_redisplay_source. * observable.h (source_styling_changed): New observable. * observable.c: Define source_styling_changed observable. commit a0148d8416f6c692b83acc77cf838b3e7929a249 Author: GDB Administrator Date: Thu Mar 14 00:00:23 2019 +0000 Automatic date update in version.in commit a068643d69ce0f25d5f7cbdaa1d0a3211d72c081 Author: Tom Tromey Date: Thu Feb 28 09:09:55 2019 -0700 Change pid_to_str to return std::string Currently the target pid_to_str method returns a const char *, so many implementations have a static buffer that they update. This patch changes these methods to return a std::string instead. I think this is cleaner and avoids possible gotchas when calling pid_to_str on different ptids in a single statement. (Though no such calls exist currently.) This also updates various helper functions, and the gdbarch pid_to_str methods. I also made a best effort to fix all the callers, but I can't build some of the *-nat.c files. Tested by the buildbot. gdb/ChangeLog 2019-03-13 Tom Tromey * i386-gnu-nat.c (i386_gnu_nat_target::fetch_registers) (i386_gnu_nat_target::store_registers): Update. * target-debug.h (target_debug_print_std_string): New macro. * x86-linux-nat.c (x86_linux_nat_target::enable_btrace): Update. * windows-tdep.c (display_one_tib): Update. * tui/tui-stack.c (tui_make_status_line): Update. * top.c (print_inferior_quit_action): Update. * thread.c (thr_try_catch_cmd): Update. (add_thread_with_info): Update. (thread_target_id_str): Update. (thr_try_catch_cmd): Update. (thread_command): Update. (thread_find_command): Update. * record-btrace.c (record_btrace_target::info_record) (record_btrace_resume_thread, record_btrace_target::resume) (record_btrace_cancel_resume, record_btrace_step_thread) (record_btrace_target::wait, record_btrace_target::wait) (record_btrace_target::wait, record_btrace_target::stop): Update. * progspace.c (print_program_space): Update. * process-stratum-target.c (process_stratum_target::thread_address_space): Update. * linux-fork.c (linux_fork_mourn_inferior) (detach_checkpoint_command, info_checkpoints_command) (linux_fork_context): Update. (linux_fork_detach): Update. (class scoped_switch_fork_info): Update. (delete_checkpoint_command): Update. * infrun.c (follow_fork_inferior): Update. (follow_fork_inferior): Update. (proceed_after_vfork_done): Update. (handle_vfork_child_exec_or_exit): Update. (follow_exec): Update. (displaced_step_prepare_throw): Update. (displaced_step_restore): Update. (start_step_over): Update. (resume_1): Update. (clear_proceed_status_thread): Update. (proceed): Update. (print_target_wait_results): Update. (do_target_wait): Update. (context_switch): Update. (stop_all_threads): Update. (restart_threads): Update. (finish_step_over): Update. (handle_signal_stop): Update. (switch_back_to_stepped_thread): Update. (keep_going_pass_signal): Update. (print_exited_reason): Update. (normal_stop): Update. * inferior.c (inferior_pid_to_str): Change return type. (print_selected_inferior): Update. (add_inferior): Update. (detach_inferior): Update. * dummy-frame.c (fprint_dummy_frames): Update. * dcache.c (dcache_info_1): Update. * btrace.c (btrace_enable, btrace_disable, btrace_teardown) (btrace_fetch, btrace_clear): Update. * linux-tdep.c (linux_core_pid_to_str): Change return type. * i386-cygwin-tdep.c (i386_windows_core_pid_to_str): Change return type. * fbsd-tdep.c (fbsd_core_pid_to_str): Change return type. * sol2-tdep.h (sol2_core_pid_to_str): Change return type. * sol2-tdep.c (sol2_core_pid_to_str): Change return type. * gdbarch.c, gdbarch.h: Rebuild. * gdbarch.sh (core_pid_to_str): Change return type. * windows-nat.c (struct windows_nat_target) : Change return type. (windows_nat_target::pid_to_str): Change return type. (windows_delete_thread): Update. (windows_nat_target::attach): Update. (windows_nat_target::files_info): Update. * target-delegates.c: Rebuild. * sol-thread.c (class sol_thread_target) : Change return type. (sol_thread_target::pid_to_str): Change return type. * remote.c (class remote_target) : Change return type. (remote_target::pid_to_str): Change return type. (extended_remote_target::attach, remote_target::remote_stop_ns) (remote_target::remote_notif_remove_queued_reply) (remote_target::push_stop_reply, remote_target::disable_btrace): Update. (extended_remote_target::attach): Update. * remote-sim.c (struct gdbsim_target) : Change return type. (gdbsim_target::pid_to_str): Change return type. * ravenscar-thread.c (struct ravenscar_thread_target) : Change return type. (ravenscar_thread_target::pid_to_str): Change return type. * procfs.c (class procfs_target) : Change return type. (procfs_target::pid_to_str): Change return type. (procfs_target::attach): Update. (procfs_target::detach): Update. (procfs_target::fetch_registers): Update. (procfs_target::store_registers): Update. (procfs_target::wait): Update. (procfs_target::files_info): Update. * obsd-nat.c (obsd_nat_target::pid_to_str): Change return type. * nto-procfs.c (struct nto_procfs_target) : Change return type. (nto_procfs_target::pid_to_str): Change return type. (nto_procfs_target::files_info, nto_procfs_target::attach): Update. * linux-thread-db.c (class thread_db_target) : Change return type. * linux-nat.c (linux_nat_target::pid_to_str): Change return type. (exit_lwp): Update. (attach_proc_task_lwp_callback, get_detach_signal) (detach_one_lwp, resume_lwp, linux_nat_target::resume) (linux_nat_target::resume, wait_lwp, stop_callback) (maybe_clear_ignore_sigint, stop_wait_callback, status_callback) (save_stop_reason, select_event_lwp, linux_nat_filter_event) (linux_nat_wait_1, resume_stopped_resumed_lwps) (linux_nat_target::wait, linux_nat_stop_lwp): Update. * inf-ptrace.c (inf_ptrace_target::pid_to_str): Change return type. (inf_ptrace_target::attach): Update. (inf_ptrace_target::files_info): Update. * go32-nat.c (struct go32_nat_target) : Change return type. (go32_nat_target::pid_to_str): Change return type. * gnu-nat.c (gnu_nat_target::pid_to_str): Change return type. (gnu_nat_target::wait): Update. (gnu_nat_target::wait): Update. (gnu_nat_target::resume): Update. * fbsd-nat.c (fbsd_nat_target::pid_to_str): Change return type. (fbsd_nat_target::wait): Update. * darwin-nat.c (darwin_nat_target::pid_to_str): Change return type. (darwin_nat_target::attach): Update. * corelow.c (class core_target) : Change return type. (core_target::pid_to_str): Change return type. * target.c (normal_pid_to_str): Change return type. (default_pid_to_str): Likewise. (target_pid_to_str): Change return type. (target_translate_tls_address): Update. (target_announce_detach): Update. * bsd-uthread.c (struct bsd_uthread_target) : Change return type. (bsd_uthread_target::pid_to_str): Change return type. * bsd-kvm.c (class bsd_kvm_target) : Change return type. (bsd_kvm_target::pid_to_str): Change return type. * aix-thread.c (class aix_thread_target) : Change return type. (aix_thread_target::pid_to_str): Change return type. * target.h (struct target_ops) : Change return type. (target_pid_to_str, normal_pid_to_str): Likewise. * obsd-nat.h (class obsd_nat_target) : Change return type. * linux-nat.h (class linux_nat_target) : Change return type. * inf-ptrace.h (struct inf_ptrace_target) : Change return type. * gnu-nat.h (struct gnu_nat_target) : Change return type. * fbsd-nat.h (class fbsd_nat_target) : Change return type. * darwin-nat.h (class darwin_nat_target) : Change return type. commit b4be1b0648608a2578bbed39841c8ee411773edd Author: Simon Marchi Date: Wed Mar 13 15:13:03 2019 -0400 Fix MI output for multi-location breakpoints New in v2: - Addressed comments about doc, updated the MI version table - New doc for the Breakpoint information format - New -fix-multi-location-breakpoint-output command, with associated doc, test and NEWS updated accordingly - Fixed the output, the locations list is now actually in the tuple representing the breakpoint. Various MI commands or events related to breakpoints output invalid MI records when printing information about a multi-location breakpoint. For example: -break-insert allo ^done,bkpt={...,addr="",...},{number="1.1",...},{number="1.2",...} The problem is that according to the syntax [1], the top-level elements are of type "result" and should be of the form "variable=value". This patch changes the output to wrap the locations in a list: ^done,bkpt={...,addr="",locations=[{number="1.1",...},{number="1.2",...}]} The events =breakpoint-created, =breakpoint-modified, as well as the -break-info command also suffer from this (and maybe others I didn't find). Since this is a breaking change for MI, we have to deal somehow with backwards compatibility. The approach taken by this patch is to bump the MI version, use the new syntax in MI3 while retaining the old syntax in MI2. Frontends are expected to use a precise MI version (-i=mi2), so if they do that they should be unaffected. The patch also adds the command -fix-multi-location-breakpoint-output, which front ends can use to enable this behavior with MI <= 2. [1] https://sourceware.org/gdb/onlinedocs/gdb/GDB_002fMI-Output-Syntax.html#GDB_002fMI-Output-Syntax gdb/ChangeLog: * NEWS: Mention that the new default MI version is 3. Mention changes to the output of commands and events that deal with multi-location breakpoints. * breakpoint.c: Include "mi/mi-out.h". (print_one_breakpoint): Change output syntax if using MI version >= 3. * mi/mi-main.h (mi_cmd_fix_multi_location_breakpoint_output): New. (mi_multi_location_breakpoint_output_fixed): New. * mi/mi-main.c (fix_multi_location_breakpoint_output): New. (mi_cmd_fix_multi_location_breakpoint_output): New. (mi_multi_location_breakpoint_output_fixed): New. * mi/mi-cmds.c (mi_cmds): Register command -fix-multi-location-breakpoint-output. * mi/mi-out.c (mi_out_new): Instantiate version 3 when using interpreter "mi". gdb/testsuite/ChangeLog: * mi-breakpoint-location-ena-dis.exp: Rename to ... * mi-breakpoint-multiple-locations.exp: ... this. (make_breakpoints_pattern): New proc. (do_test): Add mi_version parameter, test -break-insert, -break-info and =breakpoint-created. gdb/doc/ChangeLog: * gdb.texinfo (Mode Options): Mention mi3. (Interpreters): Likewise. (GDB/MI Development and Front Ends): Add entry for MI 3 in version table. Document -fix-multi-location-breakpoint-output. (GDB/MI Breakpoint Information): Document format of breakpoint location output. commit 8e5e5494f8653dd83ce1413d141e26c09dddab7b Author: Simon Marchi Date: Wed Mar 13 13:25:43 2019 -0400 Factor out mi_ui_out instantiation logic When re-reviewing this [1] I noticed that there were two spots encoding the logic of instantiating an mi_ui_out object based on the interpreter name ("mi", "mi1", "mi2" or "mi3"): - mi_interp::init - mi_load_progress Both encode the logic to choose what the default version is when the interpreter name is "mi". I had forgotten the one in mi_load_progress. Therefore, I propose extracting that logic to a single function. I started to add a new overload of mi_out_new, then realized the current mi_out_new wasn't very useful, being just a thing wrapper around "new mi_ui_out". So I ended up with just an mi_out_new function taking the interp name as parameter. I ran the gdb.mi tests, and verified manually the behavior (including the load command). [1] https://sourceware.org/ml/gdb-patches/2019-01/msg00427.html gdb/ChangeLog: * mi/mi-out.h (mi_out_new): Change parameter to const char *. * mi/mi-out.c (mi_out_new): Change parameter to const char *, instantiate mi_ui_out based on interpreter name. * mi/mi-interp.c (mi_interp::init): Use the new mi_out_new. * mi/mi-main.c (mi_load_progress): Likewise. commit 1dbade7441b9f32d6ba9aa1d44da5f28c44282fa Author: Sudakshina Das Date: Wed Mar 13 11:09:10 2019 +0000 [BFD, LD, AArch64, 3/3] Add --pac-plt to enable PLTs protected with PAC. This is part of the patch series to add support for BTI and PAC in AArch64 linker. 1) This patch adds new definitions of PAC enabled PLTs and both BTI and PAC enabled PLTs. 2) It also defines the new dynamic tag DT_AARCH64_PAC_PLT for the PAC enabled PLTs. 3) This patch adds a new ld command line option: --pac-plt. In the presence of this option, the linker uses the PAC enabled PLTs and marks with DT_AARCH64_PAC_PLT. 4) In case both BTI and PAC are enabled the linker should pick PLTs enabled with both and also use dynamic tags for both. All these are made according to the new AArch64 ELF ABI https://developer.arm.com/docs/ihi0056/latest/elf-for-the-arm-64-bit-architecture-aarch64-abi-2018q4 *** bfd/ChangeLog *** 2019-03-13 Sudakshina Das * elfnn-aarch64.c (PLT_PAC_ENTRY_SIZE, PLT_PAC_SMALL_ENTRY_SIZE): New. (PLT_BTI_PAC_ENTRY_SIZE, PLT_BTI_PAC_SMALL_ENTRY_SIZE): New. (setup_plt_values): Account for PAC or PAC and BTI enabled PLTs. (elfNN_aarch64_size_dynamic_sections): Add checks for PLT_BTI_PAC and PLT_PAC_PLT. (elfNN_aarch64_finish_dynamic_sections): Account for PLT_BTI_PAC. (get_plt_type): Add case for DT_AARCH64_PAC_PLT. (elfNN_aarch64_plt_sym_val): Add cases for PLT_BTI_PAC and PLT_PAC. *** binutils/ChangeLog *** 2019-03-13 Sudakshina Das * readelf.c (get_aarch64_dynamic_type): Add case for DT_AARCH64_PAC_PLT. (dynamic_section_aarch64_val): Likewise. *** include/ChangeLog *** 2019-03-13 Sudakshina Das * elf/aarch64.h (DT_AARCH64_PAC_PLT): New. *** ld/ChangeLog *** 2019-03-13 Sudakshina Das * NEWS: Document --pac-plt. * emultempl/aarch64elf.em (OPTION_PAC_PLT): New. (PARSE_AND_LIST_LONGOPTS, PARSE_AND_LIST_OPTIONS): Add pac-plt. (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_PAC_PLT. * testsuite/ld-aarch64/aarch64-elf.exp: Add the following tests. * testsuite/ld-aarch64/bti-pac-plt-1.d: New test. * testsuite/ld-aarch64/bti-pac-plt-2.d: New test. * testsuite/ld-aarch64/pac-plt-1.d: New test. * testsuite/ld-aarch64/pac-plt-2.d: New test. * testsuite/ld-aarch64/bti-plt-1.s: Add .ifndef directive. commit 37c18eedffe3926a330149ca93e7407917e2be38 Author: Sudakshina Das Date: Wed Mar 13 10:54:30 2019 +0000 [BFD, LD, AArch64, 2/3] Add --force-bti to enable BTI and to select BTI enabled PLTs This is part of the patch series to add support for BTI and PAC in AArch64 linker. 1) This patch adds a new ld command line option: --force-bti. In the presence of this option, the linker enables BTI with the GNU_PROPERTY_AARCH64_FEATURE_1_BTI feature. This gives out warning in case of missing gnu notes for BTI in inputs. 2) It also defines a new set of BTI enabled PLTs. These are used either when all the inputs are marked with GNU_PROPERTY_AARCH64_FEATURE_1_BTI or when the new --force-bti option is used. This required adding new fields in elf_aarch64_link_hash_table so that we could make the PLT related information more generic. 3) It also defines a dynamic tag DT_AARCH64_BTI_PLT. The linker uses this whenever it picks BTI enabled PLTs. All these are made according to the new AArch64 ELF ABI https://developer.arm.com/docs/ihi0056/latest/elf-for-the-arm-64-bit-architecture-aarch64-abi-2018q4 *** bfd/ChangeLog *** 2019-03-13 Sudakshina Das Szabolcs Nagy * bfd-in.h (aarch64_plt_type, aarch64_enable_bti_type): New. (aarch64_bti_pac_info): New. (bfd_elf64_aarch64_set_options): Add aarch64_bti_pac_info argument. (bfd_elf32_aarch64_set_options): Likewise. * bfd-in2.h: Regenerate * elfnn-aarch64.c (PLT_BTI_ENTRY_SIZE): New. (PLT_BTI_SMALL_ENTRY_SIZE, PLT_BTI_TLSDESC_ENTRY_SIZE): New. (elfNN_aarch64_small_plt0_bti_entry): New. (elfNN_aarch64_small_plt_bti_entry): New. (elfNN_aarch64_tlsdesc_small_plt_bti_entry): New. (elf_aarch64_obj_tdata): Add no_bti_warn and plt_type fields. (elf_aarch64_link_hash_table): Add plt0_entry, plt_entry and tlsdesc_plt_entry_size fields. (elfNN_aarch64_link_hash_table_create): Initialise the new fields. (setup_plt_values): New helper function. (bfd_elfNN_aarch64_set_options): Use new bp_info to set plt sizes and bti enable type. (elfNN_aarch64_allocate_dynrelocs): Use new size members instead of fixed macros. (elfNN_aarch64_size_dynamic_sections): Likewise and add checks. (elfNN_aarch64_create_small_pltn_entry): Use new generic pointers to plt stubs instead of fixed ones and update filling them according to the need for bti. (elfNN_aarch64_init_small_plt0_entry): Likewise. (elfNN_aarch64_finish_dynamic_sections): Likewise. (get_plt_type, elfNN_aarch64_get_synthetic_symtab): New. (elfNN_aarch64_plt_sym_val): Update size accordingly. (elfNN_aarch64_link_setup_gnu_properties): Set up plts if BTI GNU NOTE is set. (bfd_elfNN_get_synthetic_symtab): Define. (elfNN_aarch64_merge_gnu_properties): Give out warning with --force-bti and mising BTI NOTE SECTION. *** binutils/ChangeLog *** 2019-03-13 Sudakshina Das Szabolcs Nagy * readelf.c (get_aarch64_dynamic_type): New. (get_dynamic_type): Use above for EM_AARCH64. (dynamic_section_aarch64_val): New. (process_dynamic_section): Use above for EM_AARCH64. *** include/ChangeLog *** 2019-03-13 Sudakshina Das Szabolcs Nagy * elf/aarch64.h (DT_AARCH64_BTI_PLT): New. *** ld/ChangeLog *** 2019-03-13 Sudakshina Das Szabolcs Nagy * NEWS: Document --force-bti. * emultempl/aarch64elf.em (plt_type, bti_type, OPTION_FORCE_BTI): New. (PARSE_AND_LIST_SHORTOPTS, PARSE_AND_LIST_OPTIONS): Add force-bti. (PARSE_AND_LIST_ARGS_CASES): Handle OPTION_FORCE_BTI. * testsuite/ld-aarch64/aarch64-elf.exp: Add all the tests below. * testsuite/ld-aarch64/bti-plt-1.d: New test. * testsuite/ld-aarch64/bti-plt-1.s: New test. * testsuite/ld-aarch64/bti-plt-2.s: New test. * testsuite/ld-aarch64/bti-plt-2.d: New test. * testsuite/ld-aarch64/bti-plt-3.d: New test. * testsuite/ld-aarch64/bti-plt-4.d: New test. * testsuite/ld-aarch64/bti-plt-5.d: New test. * testsuite/ld-aarch64/bti-plt-6.d: New test. * testsuite/ld-aarch64/bti-plt-7.d: New test. * testsuite/ld-aarch64/bti-plt-so.s: New test. * testsuite/ld-aarch64/bti-plt.ld: New test. commit cd702818c6cf25277253b3b5c23f17d2cf7a94df Author: Sudakshina Das Date: Wed Mar 13 10:42:27 2019 +0000 [BFD, LD, AArch64, 1/3] Add support for GNU PROPERTIES in AArch64 for BTI and PAC This is part of the patch series to add support for BTI and PAC in AArch64 linker. This patch implements the following: 1) This extends in the gnu property support in the linker for AArch64 by defining backend hooks for elf_backend_setup_gnu_properties, elf_backend_merge_gnu_properties and elf_backend_parse_gnu_properties. 2) It defines AArch64 specific GNU property GNU_PROPERTY_AARCH64_FEATURE_1_AND and 2 bit for BTI and PAC in it. 3) It also adds support in readelf.c to read and print these new GNU properties in AArch64. All these are made according to the new AArch64 ELF ABI https://developer.arm.com/docs/ihi0056/latest/elf-for-the-arm-64-bit-architecture-aarch64-abi-2018q4 *** bfd/ChangeLog *** 2019-03-13 Sudakshina Das * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Exclude linker created inputs from merge. * elfnn-aarch64.c (struct elf_aarch64_obj_tdata): Add field for GNU_PROPERTY_AARCH64_FEATURE_1_AND properties. (elfNN_aarch64_link_setup_gnu_properties): New. (elfNN_aarch64_merge_gnu_properties): New. (elf_backend_setup_gnu_properties): Define for AArch64. (elf_backend_merge_gnu_properties): Likewise. * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Define. (_bfd_aarch64_elf_parse_gnu_properties): Define. (_bfd_aarch64_elf_merge_gnu_properties): Define. * elfxx-aarch64.h (_bfd_aarch64_elf_link_setup_gnu_properties): Declare. (_bfd_aarch64_elf_parse_gnu_properties): Declare. (_bfd_aarch64_elf_merge_gnu_properties): Declare. (elf_backend_parse_gnu_properties): Define for AArch64. *** binutils/ChangeLog *** 2019-03-13 Sudakshina Das * readelf.c (decode_aarch64_feature_1_and): New. (print_gnu_property_note): Add case for AArch64 gnu notes. *** include/ChangeLog *** 2019-03-13 Sudakshina Das * elf/common.h (GNU_PROPERTY_AARCH64_FEATURE_1_AND): New. (GNU_PROPERTY_AARCH64_FEATURE_1_BTI): New. (GNU_PROPERTY_AARCH64_FEATURE_1_PAC): New. *** ld/ChangeLog *** 2019-03-13 Sudakshina Das * NEWS: Document GNU_PROPERTY_AARCH64_FEATURE_1_BTI and GNU_PROPERTY_AARCH64_FEATURE_1_PAC. * testsuite/ld-aarch64/aarch64-elf.exp: Add run commands for new tests. * testsuite/ld-aarch64/property-bti-pac1.d: New test. * testsuite/ld-aarch64/property-bti-pac1.s: New test. * testsuite/ld-aarch64/property-bti-pac2.d: New test. * testsuite/ld-aarch64/property-bti-pac2.s: New test. * testsuite/ld-aarch64/property-bti-pac3.d: New test. commit 44b27f959abf267fc9ec228f4131c932597b01d4 Author: H.J. Lu Date: Wed Mar 13 14:38:15 2019 +0800 x86: Properly set IBT and SHSTK properties for -z ibt/shstk There should be no AND properties if some input doesn't have them. We should set IBT and SHSTK properties for -z ibt and -z shstk if needed. bfd/ PR ld/24322 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Properly merge GNU_PROPERTY_X86_FEATURE_1_[IBT|SHSTK]. ld/ PR ld/24322 * testsuite/ld-i386/i386.exp: Run PR ld/24322 tests. * testsuite/ld-x86-64/x86-64.exp: Likewise. * testsuite/ld-i386/pr24322a.d: New file. * testsuite/ld-i386/pr24322b.d: Likewise. * testsuite/ld-x86-64/pr24322a-x32.d: Likewise. * testsuite/ld-x86-64/pr24322a.d: Likewise. * testsuite/ld-x86-64/pr24322b-x32.d: Likewise. * testsuite/ld-x86-64/pr24322b.d: Likewise. * testsuite/ld-x86-64/pr24322a.s: Likewise. * testsuite/ld-x86-64/pr24322b.s: Likewise. * testsuite/ld-x86-64/pr24322c.s: Likewise. commit 204f543cae7a5dc908264b49d558191d0ceb989c Author: Christian Eggers Date: Sun Mar 10 19:21:58 2019 +0100 dwarf2: Align relocation within .debug_line section All relocations specify a byte address. As dwarf debug information is organized in octets, some relocations may not be aligned. While it might be possible to define special relocations that operate at an octet offset from their address, it's easier to ensure the relocations are aligned by padding with "nop" statements. In most dwarf sections this requirement is already fulfilled, only relocations for symbol address within the .debug_line section can be misaligned. * dwarf2dbg.c (out_set_addr): Align relocation within .debug_line. commit 145c4477d239fef4e31a457ff8a1ba7153e9a448 Author: Christian Eggers Date: Sun Mar 10 19:21:57 2019 +0100 dwarf2: Pad size of .debug_line section. As all dwarf debug information is organized in octets, the size of all dwarf sections must be aligned to OCTETS_PER_BYTE. Most DWARF sections meet this requirement, only the .debug_line section can reach an arbitrary octet size. In order to align the size to a multiple of OCTETS_PER_BYTE, the section is padded with "nop" statements at the end. * dwarf2dbg.c (out_debug_line): Pad size of .debug_line section. commit 5c4e5fe61bb00395f697a928524da1e94087c677 Author: Christian Eggers Date: Sun Mar 10 19:21:56 2019 +0100 dwarf2: Use octets for .debug_string offsets Like other dwarf2 offsets, also the string offsets in the .debug_info section which points into the .debug_str section must be expressed in octets instead of bytes. * dwarf2dbg.c (out_debug_str): Use octets for .debug_string pointers. commit 38c24f42c97af59ad83505ed735e689c63d3ca45 Author: Christian Eggers Date: Sun Mar 10 19:21:55 2019 +0100 dwarf2: Use octets for .debug_line prologue Like the u32 size field at the beginning of the section, also the prologue size must be expressed in octets. * dwarf2dbg.c (out_debug_line): Use octets for .debug_line prologue. commit 7235427998571b6d8267e7ac72a52d7b082f4c2b Author: Christian Eggers Date: Sun Mar 10 19:21:54 2019 +0100 dwarf2: Use octets for dwarf2 headers The content of the dwarf2 sections .debug_line, .debug_aranges and .debug_info starts with an u32 containing the the size of the remaining data. According to the dwarf2 specification this value must be expressed in octets instead of bytes. * dwarf2dbg.c (out_debug_line): Use octets for dwarf2 headers. (out_debug_aranges, out_debug_info): Likewise. commit d18d199917337537713f9fc4b7ae4d6568f740cf Author: Christian Eggers Date: Sun Mar 10 19:21:53 2019 +0100 Symbols with octets value Up to now, all symbol values are in units of bytes, where a "byte" can consist of one or more octets (e.g. 8 bit or 16 bit). Allow to specfiy that the "unit" of a newly created symbol is octets (exactly 8 bit), instead of bytes. * symbols.h (symbol_temp_new_now_octets): Declare. (symbol_set_value_now_octets, symbol_octets_p): Declare. * symbols.c (struct symbol_flags): New member sy_octets. (symbol_temp_new_now_octets): New function. (resolve_symbol_value): Return octets instead of bytes if sy_octets is set. (symbol_set_value_now_octets): New function. (symbol_octets_p): New function. commit 71250b94dc669b285cddcb744a7b3d1c7e2ec94b Author: Christian Eggers Date: Sun Mar 10 19:21:52 2019 +0100 dwarf2: Fix calculation of line info offset The units of the value returned by "frag_now_fix()" and "size" do not match. "frag_now_fix()" returns bytes (can be 8, 16 or 32 bit), while "size" is octets (exactly 8 bit). * dwarf2dbg.c (dwarf2_emit_insn): Fix calculation of line info offset. commit 4ffd4ef39318559f8d45ce05bba4c303e522c28e Author: GDB Administrator Date: Wed Mar 13 00:00:16 2019 +0000 Automatic date update in version.in commit 197df35ec4f370e9902892ff8339232869cf86ce Author: John Baldwin Date: Tue Mar 12 13:56:53 2019 -0700 The NEWS file had two "New targets" sections for 8.3. gdb/ChangeLog: * NEWS: Combine separate "New targets" sections for 8.3. commit 8399425f5f472ad8e630bb30ad2dbefeddbb68b7 Author: John Baldwin Date: Tue Mar 12 13:39:02 2019 -0700 Support TLS variables on FreeBSD/powerpc. Derive the pointer to the DTV array from the %r2 register on 32-bit powerpc and %r13 on 64-bit powerpc. gdb/ChangeLog: * ppc-fbsd-tdep.c (ppcfbsd_get_thread_local_address): New. (ppcfbsd_init_abi): Install gdbarch "fetch_tls_load_module_address" and "get_thread_local_address" methods. commit b0f87ed032bb68a9965de81cbf9fd676a83b9174 Author: John Baldwin Date: Tue Mar 12 13:39:02 2019 -0700 Support TLS variables on FreeBSD/riscv. Derive the pointer to the DTV array from the tp register. gdb/ChangeLog: * riscv-fbsd-tdep.c (riscv_fbsd_get_thread_local_address): New. (riscv_fbsd_init_abi): Install gdbarch "fetch_tls_load_module_address" and "get_thread_local_address" methods. commit ce25aa57a3cdd028be5868423e6e55506ccd1053 Author: John Baldwin Date: Tue Mar 12 13:39:02 2019 -0700 Support TLS variables on FreeBSD/i386. Derive the pointer to the DTV array from the gs_base register. As with FreeBSD/amd64, gs_base is currently only available via the native target. gdb/ChangeLog: * i386-fbsd-tdep.c (i386fbsd_get_thread_local_address): New. (i386fbsd_init_abi): Install gdbarch "fetch_tls_load_module_address" and "get_thread_local_address" methods. commit f5424cfa7e9337a6cb02a1f83c9feea0995c5350 Author: John Baldwin Date: Tue Mar 12 13:39:02 2019 -0700 Support TLS variables on FreeBSD/amd64. Use the fs_base register to fetch the address of a thread's tcb and calculate the address of the DTV array. This value is then passed to fbsd_get_thread_local_address to compute the final variable address. Note that fs_base is currently only available via the native target as core dumps on FreeBSD do not store the value of fs_base. gdb/ChangeLog: * amd64-fbsd-tdep.c (amd64fbsd_get_thread_local_address): New. (amd64fbsd_init_abi): Install gdbarch "fetch_tls_load_module_address" and "get_thread_local_address" methods. commit 945f3901b5889e57edf5a2ee25acb51f0078a719 Author: John Baldwin Date: Tue Mar 12 13:39:02 2019 -0700 Add a helper function to resolve TLS variable addresses for FreeBSD. The fbsd_get_thread_local_address function accepts the base address of a thread's DTV array and the base address of an object file's link map and uses this to compute a TLS variable's address. FreeBSD architectures use an architecture-specific method to determine the address of the DTV array pointer and call this helper function to perform the rest of the address calculation. * fbsd-tdep.c (fbsd_pspace_data_handle): New variable. (struct fbsd_pspace_data): New type. (get_fbsd_pspace_data, fbsd_pspace_data_cleanup) (fbsd_read_integer_by_name, fbsd_fetch_rtld_offsets) (fbsd_get_tls_index, fbsd_get_thread_local_address): New function. (_initialize_fbsd_tdep): Initialize 'fbsd_pspace_data_handle'. * fbsd-tdep.c (fbsd_get_thread_local_address): New prototype. commit ef0bd2046f58fac69577892c2d3b44b20d027476 Author: John Baldwin Date: Tue Mar 12 13:39:02 2019 -0700 Add a more general version of lookup_struct_elt_type. lookup_struct_elt is a new function which returns a tuple of information about a component of a structure or union. The returned tuple contains a pointer to the struct field object for the component as well as a bit offset of that field within the structure. If the field names a field in an anonymous substructure, the offset is the "global" offset relative to the original structure type. If noerr is set, then the returned tuple will set the field pointer to NULL to indicate a missing component rather than throwing an error. lookup_struct_elt_type is now reimplemented in terms of this new function. It simply returns the type of the returned field. gdb/ChangeLog: * gdbtypes.c (lookup_struct_elt): New function. (lookup_struct_elt_type): Reimplement via lookup_struct_elt. * gdbtypes.h (struct struct_elt): New type. (lookup_struct_elt): New prototype. commit 36c53a0262f84ad11d738471789dadfa9c4eb320 Author: John Baldwin Date: Tue Mar 12 13:39:02 2019 -0700 Remove code disabled since at least 1999 from lookup_struct_elt_type. Update the comment above the function to reflect the code removal and document the existing behavior. gdb/ChangeLog: * gdbtypes.c (lookup_struct_elt_type): Update comment and remove disabled code block. commit 6e056c817845f3d736a1be6b68c69b439c6c6d25 Author: John Baldwin Date: Tue Mar 12 13:39:02 2019 -0700 Add a new gdbarch method to resolve the address of TLS variables. Permit TLS variable addresses to be resolved purely by an ABI rather than requiring a target method. This doesn't try the target method if the ABI function is present (even if the ABI function fails) to simplify error handling. gdb/ChangeLog: * gdbarch.sh (get_thread_local_address): New method. * gdbarch.h, gdbarch.c: Regenerate. * target.c (target_translate_tls_address): Use gdbarch_get_thread_local_address if present instead of target::get_thread_local_address. commit cd250a1898bb6fdb41f4a1063dbcfac04affcd11 Author: John Baldwin Date: Tue Mar 12 13:39:02 2019 -0700 Update comment for target::get_thread_local_address. There isn't an 'objfile' parameter, instead 'load_module_addr' is used to indicate the executable or shared library. Also, the function throws errors rather than returning error values. gdb/ChangeLog: * target.h (target::get_thread_local_address): Update comment. commit df22c1e5d53c38f38bce6072bb46de240f9e0e2b Author: John Baldwin Date: Tue Mar 12 13:39:02 2019 -0700 Handle an edge case for minisym TLS variable lookups. If a TLS variable is provided by a minisym from a separate debug file, the separate debug file is passed to gdbarch_fetch_tls_load_module_address. However, the object files stored in the shared object list are the original object files, not the separate debug object files. In this case, svr4_fetch_objfile_link_map was failing to find the link map entry since the debug object file is not in its internal list, only the original object file. gdb/ChangeLog: * solib-svr4.c (svr4_fetch_objfile_link_map): Look for objfile->separate_debug_objfile_backlink if not NULL. commit dd6876c91cd40cc105b1a91f418ca2c80683b314 Author: John Baldwin Date: Tue Mar 12 13:39:02 2019 -0700 Support fs_base and gs_base on FreeBSD/i386. The i386 BSD native target uses the same ptrace operations (PT_[GS]ET[FG]SBASE) as the amd64 BSD native target to fetch and store the registers. The amd64 BSD native now uses 'tdep->fsbase_regnum' instead of hardcoding AMD64_FSBASE_REGNUM and AMD64_GSBASE_REGNUM to support 32-bit targets. In addition, the store operations explicitly zero the new register value before fetching it from the register cache to ensure 32-bit values are zero-extended. gdb/ChangeLog: * amd64-bsd-nat.c (amd64bsd_fetch_inferior_registers): Use tdep->fsbase_regnum instead of constants for fs_base and gs_base. (amd64bsd_store_inferior_registers): Likewise. * amd64-fbsd-nat.c (amd64_fbsd_nat_target::read_description): Enable segment base registers. * i386-bsd-nat.c (i386bsd_fetch_inferior_registers): Use PT_GETFSBASE and PT_GETGSBASE. (i386bsd_store_inferior_registers): Use PT_SETFSBASE and PT_SETGSBASE. * i386-fbsd-nat.c (i386_fbsd_nat_target::read_description): Enable segment base registers. * i386-fbsd-tdep.c (i386fbsd_core_read_description): Likewise. commit 1163a4b7a38a79ebd153dc5ee76ce93877d21dbd Author: John Baldwin Date: Tue Mar 12 13:39:02 2019 -0700 Support the fs_base and gs_base registers on i386. As on amd64, these registers hold the base address of the fs and gs segments, respectively. For i386 these two registers are 32 bits. gdb/ChangeLog: * amd64-fbsd-nat.c (amd64_fbsd_nat_target::read_description): Update calls to i386_target_description to add 'segments' parameter. * amd64-tdep.c (amd64_init_abi): Set tdep->fsbase_regnum. Don't add segment base registers. * arch/i386.c (i386_create_target_description): Add 'segments' parameter to enable segment base registers. * arch/i386.h (i386_create_target_description): Likewise. * features/i386/32bit-segments.xml: New file. * features/i386/32bit-segments.c: Generate. * i386-fbsd-nat.c (i386_fbsd_nat_target::read_description): Update call to i386_target_description to add 'segments' parameter. * i386-fbsd-tdep.c (i386fbsd_core_read_description): Likewise. * i386-go32-tdep.c (i386_go32_init_abi): Likewise. * i386-linux-tdep.c (i386_linux_read_description): Likewise. * i386-tdep.c (i386_validate_tdesc_p): Add segment base registers if feature is present. (i386_gdbarch_init): Pass I386_NUM_REGS to set_gdbarch_num_regs. Add 'segments' parameter to call to i386_target_description. (i386_target_description): Add 'segments' parameter to enable segment base registers. (_initialize_i386_tdep) [GDB_SELF_TEST]: Add 'segments' parameter to call to i386_target_description. * i386-tdep.h (struct gdbarch_tdep): Add 'fsbase_regnum'. (enum i386_regnum): Add I386_FSBASE_REGNUM and I386_GSBASE_REGNUM. Define I386_NUM_REGS. (i386_target_description): Add 'segments' parameter to enable segment base registers. gdb/gdbserver/ChangeLog: * linux-x86-tdesc.c (i386_linux_read_description): Update call to i386_create_target_description for 'segments' parameter. * lynx-i386-low.c (lynx_i386_arch_setup): Likewise. * nto-x86-low.c (nto_x86_arch_setup): Likewise. * win32-i386-low.c (i386_arch_setup): Likewise. commit 7cde5fc2ec2e32e8a81ac613d26cf86bf8623816 Author: Andrew Burgess Date: Thu Mar 7 13:20:37 2019 +0000 gdb/testsuite: Prepare for DejaGnu 1.6.2 Changes in DejaGnu 1.6.2 mean that our testsuite will no longer run. This is because of some confusion over how the gdb.exp file is handled. The gdb.exp file is really the tool init file, which is loaded from within the DejaGnu core, and it should not be loaded directly from any other file in the testsuite. DejaGnu tries to prevent the same library being loaded twice by remembering the names of library files as they are loaded. Until recently loading the tool init file in DejaGnu was very similar to loading a library file, as a result, loading the gdb.exp tool init file simply recorded 'gdb.exp' as having been loaded, future attempts to load 'gdb.exp' as a library would then be ignored (as the file was marked as already loaded). DejaGnu has now changed so that it supports having both a tool init file and a library with the same name, something that was not possible before. What this means however is that when the core loads the 'gdb.exp' tool init file it no longer marks the library 'gdb.exp' as having been loaded. When we then execute 'load_lib gdb.exp' we then try to reload the 'gdb.exp' file. Unfortunately our gdb.exp file can only be loaded once. It use of 'rename cd builtin_cd' means that a second attempt to load this file will fail. This was discussed on the DejaGnu list here: http://lists.gnu.org/archive/html/dejagnu/2019-03/msg00000.html and the suggested advice is that, unless we have some real requirement to load the tool init file twice, we should remove calls to 'load_lib gdb.exp' and rely on DejaGnu to load the file for us, which is what this patch does. I've tested with native X86-64/GNU Linux and see no regressions. gdb/testsuite/ChangeLog: * config/default.exp: Remove 'load_lib gdb.exp'. * config/monitor.exp: Likewise. * config/sid.exp: Likewise. * config/sim.exp: Likewise. * config/slite.exp: Likewise. * config/unix.exp: Likewise. * gdb.base/default.exp: Remove unhelpful comment. commit 3a3508220eecf27e1952a73cd3ea6d6314ce8e1d Author: Eli Zaretskii Date: Tue Mar 12 19:47:23 2019 +0200 Fix MinGW build with source-highlight gdb/ChangeLog 2019-03-12 Eli Zaretskii PR/24325 * source-cache.c: #undef open and close, to avoid unresolved externals during linking. commit ffdd69cf7840f3b158de16819591361c8dae3a4d Author: Tom Tromey Date: Tue Mar 12 11:03:03 2019 -0600 Make remote.c ptid constants "const" This changes magic_null_ptid, not_sent_ptid, and any_thread_ptid to be "const". This is a minor improvement that makes it so these can't be accidentally modified. Tested by rebuilding. I'm checking this in. gdb/ChangeLog 2019-03-12 Tom Tromey * remote.c (magic_null_ptid, not_sent_ptid, any_thread_ptid): Now const. Add initializers. (_initialize_remote): Don't initialize ptid globals. commit ec148c577eaa29f26a943c13b0b66ca3877bb5aa Author: Pedro Alves Date: Tue Mar 12 16:56:02 2019 +0000 Fix test-cp-name-parser build, parser_fprintf undefined $ make test-cp-name-parser ... test-cp-name-parser.o: In function `yy_symbol_print(_IO_FILE*, int, YYSTYPE const*, cpname_state*)': build/gdb/cp-name-parser.c.tmp:1335: undefined reference to `parser_fprintf(_IO_FILE*, char const*, ...)' build/gdb/cp-name-parser.c.tmp:1339: undefined reference to `parser_fprintf(_IO_FILE*, char const*, ...)' test-cp-name-parser.o: In function `yy_stack_print(short*, short*)': build/gdb/cp-name-parser.c.tmp:1350: undefined reference to `parser_fprintf(_IO_FILE*, char const*, ...)' build/gdb/cp-name-parser.c.tmp:1354: undefined reference to `parser_fprintf(_IO_FILE*, char const*, ...)' build/gdb/cp-name-parser.c.tmp:1356: undefined reference to `parser_fprintf(_IO_FILE*, char const*, ...)' build/gdb/cp-name-parser.c.tmp:1376: more undefined references to `parser_fprintf(_IO_FILE*, char const*, ...)' follow collect2: error: ld returned 1 exit status make: *** [Makefile:1833: test-cp-name-parser] Error 1 gdb/ChangeLog: 2019-03-12 Pedro Alves * yy-remap.h [TEST_CPNAMES] (YYFPRINTF): Don't define. commit 3276427003bd1fc676d1cb913c4d09a9f7b1c74f Author: Pedro Alves Date: Tue Mar 12 16:56:02 2019 +0000 Fix test-cp-name-parser build, unused variable $ make test-cp-name-parser ... CXX test-cp-name-parser.o src/gdb/cp-name-parser.y: In function ‘int gdb::main(int, char**)’: src/gdb/cp-name-parser.y:2137:6: error: unused variable ‘len’ [-Werror=unused-variable] int len; ^~~ cc1plus: all warnings being treated as errors gdb/ChangeLog: 2019-03-12 Pedro Alves * cp-name-parser.y (main): Remove unused 'len' variable. commit 17547186c25aa96d078a6ff9d61a55880fa009f4 Author: Tom Tromey Date: Mon Mar 4 12:05:47 2019 -0700 Make null_ptid and minus_one_ptid "const" This makes null_ptid and minus_one_ptid "const". I think this is an improvement because it means they can't be accidentally modified. 2019-03-12 Tom Tromey * common/ptid.c (null_ptid, minus_one_ptid): Now const. * common/ptid.h (null_ptid, minus_one_ptid): Now const. commit d3a70e03cf51c8fb6bc183eaff7559edffec2045 Author: Tom Tromey Date: Mon Mar 4 12:05:03 2019 -0700 Change iterate_over_lwps to take a gdb::function_view This changes iterate_over_lwps to use a gdb::function_view. This was needed in order to make null_ptid and minus_one_ptid 'const'. gdb/ChangeLog 2019-03-12 Tom Tromey * linux-nat.c (iterate_over_lwps): Update. (stop_callback): Remove parameter. (stop_wait_callback, detach_callback, resume_set_callback) (select_singlestep_lwp_callback, set_ignore_sigint) (status_callback, resumed_callback, resume_clear_callback) (kill_callback, kill_wait_callback, linux_nat_stop_lwp): Remove data parameter. (linux_nat_target::detach, linux_nat_target::resume) (linux_stop_and_wait_all_lwps, select_event_lwp) (linux_nat_filter_event, linux_nat_wait_1) (linux_nat_target::kill, linux_nat_target::stop) (linux_nat_target::stop): Update. (linux_nat_resume_callback): Change type. (resume_stopped_resumed_lwps, count_events_callback) (select_event_lwp_callback): Likewise. (linux_stop_lwp, linux_nat_stop_lwp): Update. * arm-linux-nat.c (struct update_registers_data): Remove. (update_registers_callback): Change type. (arm_linux_insert_hw_breakpoint1): Update. * nat/x86-linux-dregs.c (update_debug_registers_callback): Remove parameter. (x86_linux_dr_set_addr): Update. (x86_linux_dr_set_control): Update. * nat/linux-nat.h (iterate_over_lwps_ftype): Remove parameter. (iterate_over_lwps): Use gdb::function_view. * nat/aarch64-linux-hw-point.c (struct aarch64_dr_update_callback_param): Remove. (debug_reg_change_callback): Change type. (aarch64_notify_debug_reg_change): Update. * s390-linux-nat.c (s390_refresh_per_info): Update. gdb/gdbserver/ChangeLog 2019-03-12 Tom Tromey * linux-low.c (iterate_over_lwps): Update. commit 7a6e0d89bb018cef0d8d13c497d8f340aa2a0fc8 Author: Alan Modra Date: Tue Mar 12 16:19:25 2019 +1030 Don't use bfd_get_file_size in objdump Compressed debug sections can have uncompressed sizes that exceed the original file size, so we can't use bfd_get_file_size. objdump also used bfd_get_file_size to limit reloc section size, but I believe the underlying bug causing the PR22508 out of bounds buffer access was that we had an integer overflow when calculating the reloc buffer size. I've fixed that instead in most of the backends, som and vms-alpha being the exceptions. SOM and vmd-alpha have rather more serious bugs in their slurp_relocs routines that would need fixing first if we want to fuss about making them safe against fuzzed object files. The patch also fixes a number of other potential overflows by using the bfd_alloc2/malloc2/zalloc2 memory allocation functions. bfd/ * coffcode.h (buy_and_read): Delete unnecessary forward decl. Add nmemb parameter. Use bfd_alloc2. (coff_slurp_line_table): Use bfd_alloc2. Update buy_and_read calls. Delete assertion. (coff_slurp_symbol_table): Use bfd_alloc2 and bfd_zalloc2. (coff_slurp_reloc_table): Use bfd_alloc2. Update buy_and_read calls. * coffgen.c (coff_get_reloc_upper_bound): Ensure size calculation doesn't overflow. * elf.c (bfd_section_from_shdr): Use bfd_zalloc2. Style fix. (assign_section_numbers): Style fix. (swap_out_syms): Use bfd_malloc2. (_bfd_elf_get_reloc_upper_bound): Ensure size calculation doesn't overflow. (_bfd_elf_make_empty_symbol): Style fix. (elfobj_grok_stapsdt_note_1): Formatting. * elfcode.h (elf_object_p): Use bfd_alloc2. (elf_write_relocs, elf_write_shdrs_and_ehdr): Likewise. (elf_slurp_symbol_table): Use bfd_zalloc2. (elf_slurp_reloc_table): Use bfd_alloc2. (_bfd_elf_bfd_from_remote_memory): Use bfd_malloc2. * elf64-sparc (elf64_sparc_get_reloc_upper_bound): Ensure size calculation doesn't overflow. (elf64_sparc_get_dynamic_reloc_upper_bound): Likewise. * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise. * pdp11.c (get_reloc_upper_bound): Copy aoutx.h version. binutils/ * objdump.c (load_specific_debug_section): Don't compare section size against file size. (dump_relocs_in_section): Don't compare reloc size against file size. Print "failed to read relocs" on bfd_get_reloc_upper_bound error. commit 0919bfe915906382611011f123b5ae68a0bafbb2 Author: Andreas Krebbel Date: Tue Mar 12 14:23:10 2019 +0100 Add missing changelogs for previous commits. commit 40f382e88d0391ffaa4098c92cbf339a7924a629 Author: Andreas Krebbel Date: Tue Mar 12 14:09:55 2019 +0100 S/390: arch13: Adjust to recent changes opcodes/ChangeLog: 2019-03-12 Andreas Krebbel * s390-opc.txt: Rename selhhhr to selfhr. Remove optional operand from vstrszb, vstrszh, and vstrszf. gas/ChangeLog: 2019-03-12 Andreas Krebbel * testsuite/gas/s390/zarch-arch13.s: Adjust testcase to optable changes. * testsuite/gas/s390/zarch-arch13.d: Likewise. commit ba354106f02e25c9adc3dc1364d6a974216ec94e Author: Andreas Krebbel Date: Tue Mar 12 14:09:55 2019 +0100 S/390: arch13: Add instruction descriptions opcodes/ChangeLog: 2019-03-12 Andreas Krebbel * s390-opc.txt: Add instruction descriptions. commit d16f1408858786204b6e7598bf8f8ed6c0a69bc5 Author: GDB Administrator Date: Tue Mar 12 00:00:20 2019 +0000 Automatic date update in version.in commit 82cb27ff6b4e1ae811e72a02dddc3db4c9ff97b8 Author: Tom Tromey Date: Mon Mar 11 10:22:17 2019 -0600 Remove redundant assignment from dwarf2_find_containing_comp_unit dwarf2_find_containing_comp_unit has two assignments to "this_cu" in quick succession, both of which are just: this_cu = dwarf2_per_objfile->all_comp_units[low]; ... with no intervening assignments. This patch removes the second assignment. I'm checking this in as obvious. Tested on x86-64 Fedora 29. gdb/ChangeLog 2019-03-11 Tom Tromey * dwarf2read.c (dwarf2_find_containing_comp_unit): Remove redundant assignment to "this_cu". commit e7b681f1c62c2fa130adcc4a002f7185d33f7600 Author: GDB Administrator Date: Mon Mar 11 00:00:22 2019 +0000 Automatic date update in version.in commit 0e290772cd9899f2b962e2b3b81a6e31745825a9 Author: GDB Administrator Date: Sun Mar 10 00:01:08 2019 +0000 Automatic date update in version.in commit 568c0683da0a5d1cf5c62c9deb8abb8513875eee Author: Simon Marchi Date: Fri Mar 8 10:15:12 2019 -0500 Remove unnecessary cases from rank_one_type's switch We return INCOMPATIBLE_TYPE_BADNESS for all these type codes, so we might as well just let them go to the default case. Incidentally, this patch also makes this false positive error go away when compiling with gcc (Ubuntu 7.3.0-27ubuntu1~18.04) 7.3.0, default compiler on Ubuntu 18.04. CXX gdbtypes.o /home/smarchi/src/binutils-gdb/gdb/gdbtypes.c: In function ‘rank rank_one_type(type*, type*, value*)’: /home/smarchi/src/binutils-gdb/gdb/gdbtypes.c:4259:1: error: control reaches end of non-void function [-Werror=return-type] } ^ gdb/ChangeLog: * gdbtypes.c (rank_one_type): Remove unnecessary cases from switch. commit f09ce22d6a2266c3bbe5061eb61e7fad65568652 Author: Simon Marchi Date: Fri Mar 8 10:15:11 2019 -0500 Split rank_one_type_parm_set from rank_one_type gdb/ChangeLog: * gdbtypes.c (rank_one_type_parm_set): New function extracted from... (rank_one_type): ... this. commit 595f96a94448d1327aeac8783622e390794a722c Author: Simon Marchi Date: Fri Mar 8 10:15:11 2019 -0500 Split rank_one_type_parm_struct from rank_one_type gdb/ChangeLog: * gdbtypes.c (rank_one_type_parm_struct): New function extracted from... (rank_one_type): ... this. commit 2598a94b1e23c148a8f84d796e92de3a10d6e4e5 Author: Simon Marchi Date: Fri Mar 8 10:15:11 2019 -0500 Split rank_one_type_parm_complex from rank_one_type gdb/ChangeLog: * gdbtypes.c (rank_one_type_parm_complex): New function extracted from... (rank_one_type): ... this. commit 7f17b20d6020f2a40369ef0568501ebcda952243 Author: Simon Marchi Date: Fri Mar 8 10:15:10 2019 -0500 Split rank_one_type_parm_float from rank_one_type gdb/ChangeLog: * gdbtypes.c (rank_one_type_parm_float): New function extracted from... (rank_one_type): ... this. commit 2c50903575cec09d1748612fd0355b766ec04a19 Author: Simon Marchi Date: Fri Mar 8 10:15:10 2019 -0500 Split rank_one_type_parm_bool from rank_one_type gdb/ChangeLog: * gdbtypes.c (rank_one_type_parm_bool): New function extracted from... (rank_one_type): ... this. commit 0dd322dc1345d1b8809f20a674c977276f0c0430 Author: Simon Marchi Date: Fri Mar 8 10:15:09 2019 -0500 Split rank_one_type_parm_range from rank_one_type gdb/ChangeLog: * gdbtypes.c (rank_one_type_parm_range): New function extracted from... (rank_one_type): ... this. commit 41ea472809e1eaabd3858b41c9189717e9c69323 Author: Simon Marchi Date: Fri Mar 8 10:15:09 2019 -0500 Split rank_one_type_parm_char from rank_one_type gdb/ChangeLog: * gdbtypes.c (rank_one_type_parm_char): New function extracted from... (rank_one_type): ... this. commit 793cd1d2a12e9741e01f5df702e493f5e9ba0dea Author: Simon Marchi Date: Fri Mar 8 10:15:09 2019 -0500 Split rank_one_type_parm_enum from rank_one_type gdb/ChangeLog: * gdbtypes.c (rank_one_type_parm_enum): New function extracted from... (rank_one_type): ... this. commit 34910087ebf8fb3f1646d9177d7c961a1b3231da Author: Simon Marchi Date: Fri Mar 8 10:15:08 2019 -0500 Split rank_one_type_parm_int from rank_one_type gdb/ChangeLog: * gdbtypes.c (rank_one_type_parm_int): New function extracted from... (rank_one_type): ... this. commit f1f832d6cd39e14e9f8c0ba142d2e442792119e4 Author: Simon Marchi Date: Fri Mar 8 10:15:08 2019 -0500 Split rank_one_type_parm_func from rank_one_type gdb/ChangeLog: * gdbtypes.c (rank_one_type_parm_func): New function extracted from... (rank_one_type): ... this. commit b9f4512f250f7fa685f1f888b6fcbe2e34dc9733 Author: Simon Marchi Date: Fri Mar 8 10:15:08 2019 -0500 Split rank_one_type_parm_array from rank_one_type gdb/ChangeLog: * gdbtypes.c (rank_one_type_parm_array): New function extracted from... (rank_one_type): ... this. commit 9293fc63040a41e0830acb61d93037b6e0f2c424 Author: Simon Marchi Date: Fri Mar 8 10:15:07 2019 -0500 Split rank_one_type_parm_ptr from rank_one_type gdb/ChangeLog: * gdbtypes.c (rank_one_type_parm_ptr): New function extracted from... (rank_one_type): ... this. commit e3abbe7e9458be7a92c27bc4649295b935340699 Author: Philippe Waroquiers Date: Sat Mar 9 12:25:11 2019 +0100 Ensure 'help set/show print inferior-events' shows the example events. Without this patch, the help stops after 'e.g.' : (gdb) apropos \(inferior\|thread\) event set print inferior-events -- Set printing of inferior events (e.g. set print thread-events -- Set printing of thread events (such as thread start and exit) show print inferior-events -- Show printing of inferior events (e.g. show print thread-events -- Show printing of thread events (such as thread start and exit) Using the same notation as for the thread evenets (i.e. 'such as') gives: (gdb) apropos \(inferior\|thread\) event set print inferior-events -- Set printing of inferior events (such as inferior start and exit) set print thread-events -- Set printing of thread events (such as thread start and exit) show print inferior-events -- Show printing of inferior events (such as inferior start and exit) show print thread-events -- Show printing of thread events (such as thread start and exit) commit e4adb93903d4ae0b7ab2b5004364e50627df95f7 Author: Eli Zaretskii Date: Sat Mar 9 08:44:56 2019 +0200 Support styling on native MS-Windows console gdb/ChangeLog: 2019-03-08 Eli Zaretskii PR/24315 * utils.c (can_emit_style_escape) [_WIN32]: Don't disable styling on MS-Windows if $TERM is not defined. * cli/cli-style.c: Set cli_styling to 1 in the MinGW build. * posix-hdep.c (gdb_console_fputs): * mingw-hdep.c (rgb_to_16colors, gdb_console_fputs): New functions. * ui-file.h (gdb_console_fputs): Add prototype. * ui-file.c (stdio_file::puts): Call gdb_console_fputs, and fall back to fputs only if the former returns zero. commit 4639b61ae3bf7c959f35debcb2c6a204fa0b4f1c Author: GDB Administrator Date: Sat Mar 9 00:00:30 2019 +0000 Automatic date update in version.in commit ebd2263ba9a9124d93bbc0ece63d7e0fae89b40e Author: Alan Modra Date: Fri Mar 8 22:41:55 2019 +1030 PR24311, FAIL: S-records with constructors Not padding string merge section output to its alignment can cause failures of the S-record tests when input string merge sections are padded, since the ELF linker output for the single string section would shrink compared to the SREC linker output. That might result in following sections having different addresses. On the other hand, padding string merge section output when input string merge sections are *not* padded can also cause failures, in this case due to the ELF linker output for the string section being larger (due to padding) than the SREC linker output. It would be better to write a more robust test, but it is also nice to leave input unchanged when no string merges occur. PR 24311 * merge.c (merge_strings): Return secinfo. Don't pad section to alignment here. (_bfd_merge_sections): Pad section to alignment here, if input sections contributing to merged output all pad to alignment. Formatting. commit 65d8004072ccb15441c143c380949d785a8446cd Author: GDB Administrator Date: Fri Mar 8 00:00:42 2019 +0000 Automatic date update in version.in commit 25629dfdb438c82f2bb711174042bb326a526aaf Author: Tom Tromey Date: Thu Mar 7 04:20:19 2019 -0700 C++-ify bcache This somewhat C++-ifies bcache. It replaces bcache_xmalloc and bcache_xfree with constructors; changes some functions into methods; and changes various structures to include a bcache directly (as opposed to a pointer to a bcache). Tested by the buildbot. gdb/ChangeLog 2019-03-07 Tom Tromey * symmisc.c (print_symbol_bcache_statistics): Update. (print_objfile_statistics): Update. * symfile.c (allocate_symtab): Update. * stabsread.c: Don't include bcache.h. * psymtab.h (struct psymbol_bcache): Don't declare. (class psymtab_storage) : Now a bcache. (psymbol_bcache_init, psymbol_bcache_free) (psymbol_bcache_get_bcache): Don't declare. * psymtab.c (struct psymbol_bcache): Remove. (psymtab_storage::psymtab_storage): Update. (psymtab_storage::~psymtab_storage): Update. (psymbol_bcache_init, psymbol_bcache_free) (psymbol_bcache_get_bcache, psymbol_bcache_full): Remove. (add_psymbol_to_bcache): Update. (allocate_psymtab): Update. * objfiles.h (struct objfile_per_bfd_storage) : No longer pointers. * objfiles.c (get_objfile_bfd_data): Don't call bcache_xmalloc. (free_objfile_per_bfd_storage): Don't call bcache_xfree. * macrotab.c (macro_bcache): Update. * macroexp.c: Don't include bcache.h. * gdbtypes.c (check_types_worklist): Update. (types_deeply_equal): Remove TRY/CATCH. Update. * elfread.c (elf_symtab_read): Update. * dwarf2read.c: Don't include bcache.h. * buildsym.c (buildsym_compunit::get_macro_table): Update. * bcache.h (bcache, bcache_full, bcache_xffree, bcache_xmalloc) (print_bcache_statistics, bcache_memory_used): Don't declare. (struct bcache): Move from bcache.c. Add constructor, destructor, methods. Rename all data members. * bcache.c (struct bcache): Move to bcache.h. (bcache::expand_hash_table): Rename from expand_hash_table. (bcache): Remove. (bcache::insert): Rename from bcache_full. (bcache::compare): Rename from bcache_compare. (bcache_xmalloc): Remove. (bcache::~bcache): Rename from bcache_xfree. (bcache::print_statistics): Rename from print_bcache_statistics. (bcache::memory_used): Rename from bcache_memory_used. commit fe7266674110f34eacf2e9d2b308f76d33ce50ed Author: Pedro Alves Date: Thu Mar 7 16:35:06 2019 +0000 Fix normal_stop latent bug TARGET_WAITKIND_NO_RESUMED doesn't have an associated event thread, so we shouldn't be referring to inferior_thread() assuming it points to one. This was caught on the multi-target branch, where we always switch to no-thread-selected whenever we start handling an event, exactly to catch places that incorrectly use "inferior_ptid/inferior_thread()" without switching to the right event thread / target. Here, on the branch, we assert in inferior_thread() because TARGET_WAITKIND_NO_RESUMED doesn't have an associated event thread, so inferior_ptid is still null_ptid. gdb/ChangeLog: 2019-03-07 Pedro Alves * infrun.c (normal_stop): Also check for TARGET_WAITKIND_NO_RESUMED before referring to inferior_thread(). commit 7584bb30cf380cff9cc3914b1b523c5a1a5b4302 Author: Andrew Burgess Date: Thu Mar 7 14:53:37 2019 +0000 gdb: Move value_from_host_double into value.c and make more use of it The function value_from_host_double can be moved from f-lang.c into value.c as a generally useful function, and then used more widely. Tested on X86-64/GNU Linux with no regressions. gdb/ChangeLog: * f-lang.c (value_from_host_double): Moved to... * value.c (value_from_host_double): ...here. * value.h (value_from_host_double): Declare. * guile/scm-math.c (vlscm_convert_typed_number): Use value_from_host_double. (vlscm_convert_number): Likewise. * guile/scm-value.c (gdbscm_value_to_real): Likewise. * python/py-value.c (convert_value_from_python): Likewise. commit 2c5ebf12393443eec1d666f613cbc70a6b72f49a Author: GDB Administrator Date: Thu Mar 7 00:00:23 2019 +0000 Automatic date update in version.in commit a7b1986e13c60f2a10721863ef684a18daccaaf7 Author: Tom Tromey Date: Mon Jan 28 10:51:01 2019 -0700 Use SCOPE_EXIT in write_gcore_file This replaces a TRY/CATCH in write_gcore_file with a use of SCOPE_EXIT instead. I find that this is simpler to understand. 2019-03-06 Tom Tromey * gcore.c (write_gcore_file): Use SCOPE_EXIT. commit 0ccf4211fdec30fab46a5552ecfbe8e7ca98d50f Author: Tom Tromey Date: Thu Jan 24 09:58:29 2019 -0700 Remove free_current_contents free_current_contents is no longer used, so this patch removes it. 2019-03-06 Tom Tromey * utils.h (free_current_contents): Don't declare. * utils.c (free_current_contents): Remove. commit fe7b42e5843ef82f97959e0e18122c164449a8ea Author: Tom Tromey Date: Thu Jan 24 09:56:49 2019 -0700 Remove basic cleanup code This removes the basic cleanup code: make_cleanups, do_cleanups, discard_cleanups, and friends. This code is no longer needed, as nothing in gdb makes an ordinary cleanup. Final cleanups are still needed. 2019-03-06 Tom Tromey * top.c (quit_force): Update. * main.c (captured_command_loop): Update. * common/new-op.c (operator new): Update. * common/common-exceptions.c (struct catcher) : Remove member. (exceptions_state_mc_init): Update. (exception_try_scope_entry): Return nullptr. (exception_try_scope_exit, exception_rethrow) (throw_exception_sjlj, throw_exception_cxx): Update. * common/cleanups.h (make_cleanup, make_cleanup_dtor) (all_cleanups, do_cleanups, discard_cleanups) (discard_final_cleanups, save_cleanups, save_final_cleanups) (restore_cleanups, restore_final_cleanups): Don't declare. (do_final_cleanups): Remove parameter. * common/cleanups.c (cleanup_chain, make_cleanup) (make_cleanup_dtor, all_cleanups, do_cleanups) (discard_my_cleanups, discard_cleanups) (discard_final_cleanups, save_my_cleanups, save_cleanups) (save_final_cleanups, restore_my_cleanups, restore_cleanups) (null_cleanup): Remove. (do_final_cleanups): Remove parameter. commit c6321f19c5414c2a34db3cf5979834d081c32abd Author: Tom Tromey Date: Thu Feb 14 16:10:01 2019 -0700 Use unique_xmalloc_ptr in remote.c This removes a cleanup from remote.c, replacing it with unique_xmalloc_ptr. 2019-03-06 Tom Tromey * remote.c (remote_target::remote_parse_stop_reply): Use unique_xmalloc_ptr. commit 61b30099702a76fb7e6a9c5dba7c03b95f9eb0f2 Author: Tom Tromey Date: Thu Jan 24 09:51:19 2019 -0700 Remove last cleanups from stabsread.c This removes the last cleanups from stabsread.c. Similar code in dwarf2read.c was C++-ified, but considering that stabs are deprecated, it seemed simpler to just change these allocations to use an obstack and leave the data structures in place. This patch renames field_info to stabs_field_info -- adding a constructor here provoked a bug due to the resulting ODR violation. 2019-03-06 Tom Tromey * stabsread.c (struct stabs_field_info): Rename from field_info. : Add initializers. : New member. (read_member_functions, read_struct_fields, read_baseclasses): Allocate on obstack. Don't use cleanups. (read_one_struct_field, read_member_functions, read_struct_fields) (read_baseclasses, read_tilde_fields, attach_fn_fields_to_type) (attach_fields_to_type, read_cpp_abbrev, read_member_functions) (read_struct_type): Update. commit 6cceac94147f6026e93dcfc0a0df03555b571a12 Author: Tom Tromey Date: Thu Jan 24 06:43:45 2019 -0700 Remove last cleanup from linux-namespaces.c This removes the last cleanup from linux-namespaces.c, replacing it with a use of SCOPE_EXIT. 2019-03-06 Tom Tromey * nat/linux-namespaces.c (linux_mntns_access_fs): Use SCOPE_EXIT. * common/filestuff.h (make_cleanup_close): Don't declare. * common/filestuff.c (do_close_cleanup, make_cleanup_close): Remove. commit 724127627fef458ed330d027cf0b3d17580af615 Author: Tom Tromey Date: Thu Jan 24 06:38:59 2019 -0700 Remove last cleanup solib-aix.c This removes the last cleanup solib-aix.c, replacing it with a use of make_scope_exit. 2019-03-06 Tom Tromey * solib-aix.c: Use make_scope_exit. commit 2b6ff1c0474fca286b95be7ae9dcc5a22ff2a0b9 Author: Tom Tromey Date: Thu Jan 24 06:41:12 2019 -0700 Remove last cleanups from solib-svr4.c This removes the last cleanups from solib-svr4.c, replacing them with uses of make_scope_exit. 2019-03-06 Tom Tromey * solib-svr4.c (svr4_parse_libraries, svr4_current_sos_direct): Use make_scope_exit. commit d01c5877664024043f4e5920d072c5f62fc7f89a Author: Tom Tromey Date: Wed Jan 23 22:23:15 2019 -0700 Remove cleanup from solib-svr4.c This removes a cleanup from solib-svr4.c, replacing it with make_scope_exit. 2019-03-06 Tom Tromey * solib-svr4.c (disable_probes_interface): Remove parameter. (svr4_handle_solib_event): Use make_scope_exit. commit 37991b4f52e7d13c586137f401ac65dec4aa732f Author: Tom Tromey Date: Wed Jan 23 22:20:04 2019 -0700 Remove last cleanup from gdbserver This removes the last cleanup from gdbserver, replacing it with SCOPE_EXIT. This could perhaps be done in a different way, but this approach was direct and obviously correct. 2019-03-06 Tom Tromey * server.c (detach_or_kill_for_exit_cleanup): Remove parameter. (captured_main): Use SCOPE_EXIT. commit 32603266e5688718faad35b7502aa0b72a42764a Author: Tom Tromey Date: Wed Jan 23 22:16:53 2019 -0700 C++ify remote notification code This C++ifies the remote notification code -- replacing function pointers with virtual methods and using unique_ptr. This allows for the removal of some cleanups. 2019-03-06 Tom Tromey * remote.c (struct stop_reply_deleter): Remove. (stop_reply_up): Update. (struct stop_reply): Derive from notif_event. Don't typedef. : Now a std::vector. (stop_reply_xfree): Remove. (stop_reply::~stop_reply): Rename from stop_reply_dtr. (remote_notif_stop_alloc_reply): Return a unique_ptr. Use new. (remote_target::discard_pending_stop_replies): Use delete. (remote_target::remote_parse_stop_reply): Update. (remote_target::process_stop_reply): Update. * remote-notif.h (struct notif_event): Add virtual destructor. Remove "dtr" member. (struct notif_client) : Return a unique_ptr. (notif_event_xfree): Don't declare. (notif_event_up): New typedef. * remote-notif.c (remote_notif_ack, remote_notif_parse): Update. (notif_event_xfree, do_notif_event_xfree): Remove. (remote_notif_state_xfree): Update. commit 9799571ecb648ea2e911498cfdc7fafe3237c94a Author: Tom Tromey Date: Wed Jan 23 16:28:28 2019 -0700 Change displaced_step_clear_cleanup to a forward_scope_exit This changes displaced_step_clear_cleanup to be a forward_scope_exit and updates the callers. gdb/ChangeLog 2019-03-06 Tom Tromey * infrun.c (displaced_step_clear_cleanup): Now a forward_scope_exit type. (displaced_step_prepare_throw): Update. (displaced_step_fixup): Update. commit 09e3c4ca13e39b797b91b07280ac025327a8a526 Author: Tom Tromey Date: Wed Jan 23 15:11:42 2019 -0700 Update two cleanup comments This updates another couple of comments to remove mentions of cleanups. gdb/ChangeLog 2019-03-06 Tom Tromey * inferior.h (class inferior): Update comment. * gdbthread.h (class thread_info): Update comment. commit e2a035485a80651a5dc1711fee5a811e41ab131b Author: Tom Tromey Date: Sun Aug 19 11:50:44 2018 -0600 Remove cleanups from coffread.c This removes the remaining cleanups from coffread.c. Tested by the buildbot and also some manual testing. This version includes the fix provided by Joel. gdb/ChangeLog 2019-03-06 Joel Brobecker Tom Tromey * stabsread.h (struct stab_section_list): Remove. (coffstab_build_psymtabs): Update. * dbxread.c (symbuf_sections): Now a std::vector. (sect_idx): New global. (fill_symbuf): Update. (coffstab_build_psymtabs): Change type of stabsects parameter. Update. * coffread.c (struct coff_symfile_info) : Now a std::vector. (linetab, linetab_offset, linetab_size, stringtab): Move earlier. (coff_locate_sections): Update. (coff_symfile_read): Remove cleanups. Update. (init_stringtab): Add storage parameter. (free_stringtab, free_stringtab_cleanup): Remove. (init_lineno): Add storage parameter. (free_linetab, free_linetab_cleanup): Remove. commit b7e60d85da12a1819671473db8550c9f076e8f38 Author: Pedro Alves Date: Wed Mar 6 18:29:19 2019 +0000 Eliminate fork_info::clobber_regs All fork_save_infrun_state callers pass '1' as CLOBBER_REGS nowadays. The larger hunk in fork_save_infrun_state is just a reindentation. gdb/ChangeLog: 2019-03-06 Pedro Alves * linux-fork.c (fork_info::clobber_regs): Delete. (fork_load_infrun_state): Remove reference to 'clobber_regs'. (fork_save_infrun_state): Remove 'clobber_regs' parameter. Update comment. Adjust. (scoped_switch_fork_info::scoped_switch_fork_info) (checkpoint_command, linux_fork_context): Adjust fork_save_infrun_state calls. commit e52c971f17ac747a065388b54a909f44b5582cd9 Author: Pedro Alves Date: Wed Mar 6 18:29:19 2019 +0000 linux-fork.c: rewrite inf_has_multiple_threads There's no need to iterate over all threads of all inferiors here. gdb/ChangeLog: 2019-03-06 Pedro Alves * linux-fork.c (inf_has_multiple_thread_cb): Delete. (inf_has_multiple_threads): Return 'bool' and rewrite using inferior_info::threads(). commit 06974e6c05556edb7122f45239c95045e882dc76 Author: Pedro Alves Date: Wed Mar 6 18:29:18 2019 +0000 C++ify fork_info, use std::list - Convert new_fork and free_fork to fork_info ctor/dtor. - Use std::list. gdb/ChangeLog: 2019-03-06 Pedro Alves * linux-fork.c: Include . (fork_list): Now a std::list instance. (fork_info): Add ctor, dtor, and in-class initialize all fields. (forks_exist_p, find_last_fork): Adjust. (new_fork): Delete. (one_fork_p): New. (add_fork): Adjust. (free_fork): Delete, folded into fork_info::~fork_info(). (delete_fork, find_fork_ptid, find_fork_id, find_fork_pid): Adjust. (init_fork_list): Delete. (linux_fork_killall, linux_fork_mourn_inferior) (linux_fork_detach, info_checkpoints_command): Adjust. (_initialize_linux_fork): No longer call init_fork_list. commit 72f31aea9e6c158f442239abedaf351465ebcb41 Author: Pedro Alves Date: Wed Mar 6 18:29:17 2019 +0000 Make "checkpoint" not rely on inferior_ptid Don't rely on "inferior_ptid" deep within add_fork. In the multi-target branch, I'm forcing inferior_ptid to null_ptid early in infrun event handling to make sure we don't inadvertently rely on the current thread/target when we shouldn't, and that caught some bad or unnecessary assumptions throughout. gdb/ChangeLog: 2019-03-06 Pedro Alves * linux-fork.c (new_fork): New, split out of ... (add_fork): ... this. Return void. Move "first fork" special case from here, to ... (checkpoint_command): ... here. * linux-linux.h (add_fork): Return void. commit efbecbc143f19cb308ae220fb386505f41ff4bc3 Author: Andrew Burgess Date: Mon Jan 21 15:10:55 2019 +0000 gdb/fortran: Handle older TYPE*SIZE typenames This patch adds support for the older TYPE*SIZE typenames that are still around in older code. For implementation this currently reuses the kind mechanism, as under gFortran the kind number is equivalent to the size, however, this is not necessarily true for all compilers. If the rules for other compilers are better understood then this code might need to be improved slightly to allow for a distinction between size and kind, however, adding this extra complexity now seems pointless. gdb/ChangeLog: * f-exp.y (direct_abs_decl): Handle TYPE*SIZE type names. gdb/testsuite/ChangeLog: * gdb.fortran/type-kinds.exp: Extend to cover TYPE*SIZE cases. commit 0841c79a3dc1cfa382164a6bb2c1ee41af3ab0a9 Author: Andrew Burgess Date: Fri Jan 18 14:44:48 2019 +0000 gdb/fortran: Add support for the ABS intrinsic function Adds support for the abs intrinsic function, this requires adding a new pattern to the Fortran parser. Currently only float and integer argument types are supported to ABS, complex is still not supported, this can be added later if needed. gdb/ChangeLog: * f-exp.y: New token, UNOP_INTRINSIC. (exp): New pattern using UNOP_INTRINSIC token. (f77_keywords): Add 'abs' keyword. * f-lang.c: Add 'target-float.h' and 'math.h' includes. (value_from_host_double): New function. (evaluate_subexp_f): Support UNOP_ABS. gdb/testsuite/ChangeLog: * gdb.fortran/intrinsics.exp: Extend to cover ABS. commit 4a270568d93263e4970099456b4efb58466134a6 Author: Andrew Burgess Date: Fri Jan 18 11:24:24 2019 +0000 gdb/fortran: Use TYPE_CODE_CHAR for character types Switch to using TYPE_CODE_CHAR for character types. This appears to have little impact on the test results as gFortran uses the DW_TAG_string_type to represent all character variables (as far as I can see). The only place this has an impact is when the user casts a variable to a character type, in which case GDB does now use the CHAR type, and prints the variable as both a value and a character, for example, before: (gdb) p ((character) 97) $1 = 97 and after: (gdb) p ((character) 97) $1 = 97 'a' gdb/ChangeLog: * f-lang.c (build_fortran_types): Use TYPE_CODE_CHAR for character types. gdb/testsuite/ChangeLog: * gdb.fortran/type-kinds.exp: Update expected results. commit 067630bdb553bb889104e3b064e4551531ddcedc Author: Andrew Burgess Date: Thu Jan 17 16:31:56 2019 +0000 gdb/fortran: Add builtin 8-byte integer type with (kind=8) support Add a new builtin type, an 8-byte integer, and allow GDB to parse 'integer (kind=8)', returning the new 8-byte integer. gdb/ChangeLog: * f-exp.y (convert_to_kind_type): Handle integer (kind=8). * f-lang.c (build_fortran_types): Setup builtin_integer_s8. * f-lang.h (struct builtin_f_type): Add builtin_integer_s8 field. gdb/testsuite/ChangeLog: * gdb.fortran/type-kinds.exp: Test new integer type kind. commit 3be47f7aa99dc90190e642a4e191c9f049e0a934 Author: Andrew Burgess Date: Thu Jan 17 16:30:35 2019 +0000 gdb/fortran: Expand the set of types that support (kind=N) Expand the number of types that can be adjusted with a (kind=N) type extension. gdb/ChangeLog: * f-exp.y (convert_to_kind_type): Handle more type kinds. gdb/testsuite/ChangeLog: * gdb.fortran/type-kinds.exp (test_cast_1_to_type_kind): New function. (test_basic_parsing_of_type_kinds): Expand types tested. (test_parsing_invalid_type_kinds): New function. commit 4d00f5d8f6c4a1c9f334b1abb45b9ce05fb45b0a Author: Andrew Burgess Date: Wed Jan 16 16:42:10 2019 +0000 gdb/fortran: Add Fortran 'kind' intrinsic and keyword The 'kind' keyword has two uses in Fortran, it is the name of a builtin intrinsic function, and it is also a keyword used to create a type of a specific kind. This commit adds support for using kind as an intrinsic function, and also adds some initial support for using kind to create types of a specific kind. This commit only allows the creation of the type 'character(kind=1)', however, it will be easy enough to extend this in future to support more type kinds. The kind of any expression can be queried using the kind intrinsic function. At the moment the kind returned corresponds to the size of the type, this matches how gfortran handles kinds. However, the correspondence between kind and type size depends on the compiler and/or the specific target, so this might not be correct for everyone. If we want to support different compilers/targets in future the code to compute the kind from a type will need to be updated. gdb/ChangeLog: * expprint.c (dump_subexp_body_standard): Support UNOP_KIND. * f-exp.y: Define 'KIND' token. (exp): New pattern for KIND expressions. (ptype): Handle types with a kind extension. (direct_abs_decl): Extend to spot kind extensions. (f77_keywords): Add 'kind' to the list. (push_kind_type): New function. (convert_to_kind_type): New function. * f-lang.c (evaluate_subexp_f): Support UNOP_KIND. * parse.c (operator_length_standard): Likewise. * parser-defs.h (enum type_pieces): Add tp_kind. * std-operator.def: Add UNOP_KIND. gdb/testsuite/ChangeLog: * gdb.fortran/intrinsics.exp: New file. * gdb.fortran/intrinsics.f90: New file. * gdb.fortran/type-kinds.exp: New file. commit e454224fa82aa52a1288a3d6a2e26e8d224d732a Author: Andrew Burgess Date: Thu Jan 17 14:42:15 2019 +0000 gdb/fortran: Enable debugging of the Fortran parser This commit allows 'set debug parser on' to work for the Fortran parser. gdb/ChangeLog: * f-exp.y (f_parse): Set yydebug. commit 9dad4a58a1bddeb1cc2ec8b3782d7463b03b7b4b Author: Andrew Burgess Date: Wed Jan 16 16:16:59 2019 +0000 gdb/fortran: Add new function to evaluate Fortran expressions This is an initial restructure, it adds a new function in which Fortran specific expressions can be evaluated. No Fortran specific expressions are added with this commit though, so for now, the new function just forwards all expressions to the default expression handler, as such, there should be no user visible changes after this commit. However, the new function will be useful in later commits. gdb/ChangeLog: * f-lang.c (evaluate_subexp_f): New function. (exp_descriptor_f): New global. (f_language_defn): Use exp_descriptor_f instead of exp_descriptor_standard. commit c8f9160408315deceee5e8776f0b1c4d9cba4398 Author: Andrew Burgess Date: Wed Jan 16 15:30:54 2019 +0000 gdb/fortran: Simplify handling of Fortran dot operations and keywords Use strncasecmp to compare Fortran dot operations (like .AND.) and for the keywords list. This allows for some duplication to be removed from the token arrays. I've also performed whitespace cleanup around the code I've changed. I have added some tests to ensure that upper and lowercase dot operations are correctly tested. The keywords list remains always lowercase for now. There should be no user visible changes after this commit. gdb/ChangeLog: * f-exp.y (struct token): Add comments. (dot_ops): Remove uppercase versions and the end marker. (f77_keywords): Likewise. (yylex): Use ARRAY_SIZE to iterate over dot_ops, assert all entries in the dot_ops array are case insensitive, and use strncasecmp to compare strings. Also some whitespace cleanup in this area. Similar for the f77_keywords array, except entries in this list might be case sensitive. gdb/testsuite/ChangeLog: * gdb.fortran/dot-ops.exp: New file. commit dd9f2c763b325227a3721eaf4006db67b37f3b13 Author: Andrew Burgess Date: Wed Jan 16 13:36:46 2019 +0000 gdb/fortran: Cleanup code for parsing logical constants This patch cleans up the code used for parsing the Fortran logical constants '.TRUE.' and '.FALSE.'. Instead of listing both upper and lowercase versions of these strings we now use strncasecmp. I've also switched to use ARRAY_SIZE for the array iteration, and I've cleaned up whitespace in the vicinity of the code I've changed. Finally, I've added a test to ensure that both the upper and lower case versions of the logical constants are understood by GDB, something that was missing previously. There should be no user visible changes after this commit. gdb/ChangeLog: * f-exp.y (struct f77_boolean_val): Add comments. (boolean_values): Remove uppercase versions, and end marker. (yylex): Use ARRAY_SIZE for iterating over boolean_values array, and use strncasecmp to achieve case insensitivity. Additionally, perform whitespace cleanup around this code. gdb/testsuite/ChangeLog: * gdb.fortran/types.exp (test_logical_literal_types_accepted): Check upper and lower case logical literals. commit 84ec972406ec519b509f986780481899115847c2 Author: Andrew Burgess Date: Wed Jan 16 13:20:28 2019 +0000 gdb/fortran: Remove some duplicate tests Make the test names unique in gdb.fortran/types.exp by removing a few duplicate tests. gdb/testsuite/ChangeLog: * gdb.fortran/types.exp (test_float_literal_types_accepted): Remove duplicate tests. commit 912ebfa0d748b4a762dbc4311364c38692c7f626 Author: Nick Bowler Date: Wed Mar 6 15:20:29 2019 +0000 Allow the use of the ORIGIN and LENGTH attributes in expressions inside MEMORY regions. PR 24289 * ldexp.c (fold_name): Allow lookups of the LENGTH and ORIGIN attributes during the first phase. commit 67a3048c0fe804ab1e36d4074e7fd2dadeb8bc0b Author: Tom Tromey Date: Wed Mar 6 07:55:42 2019 -0700 Fix remote-sim.c build after warn-unused-result change John Darrington pointed out that commit 18cb7c9f3 ("Introduce ATTRIBUTE_UNUSED_RESULT and use it") broke the build: /home/john/binutils-gdb/gdb/remote-sim.c: In function 'void gdbsim_target_open(const char*, int)': /home/john/binutils-gdb/gdb/remote-sim.c:765:18: error: ignoring return value of 'char** gdb_argv::release()', declared with attribute warn_unused_result [-Werror=unused-result] This patch fixes the problem by arranging to use the result of the release method. Tested by rebuilding with a simulator enabled. gdb/ChangeLog 2019-03-06 Tom Tromey * remote-sim.c (gdbsim_target_open): Use result of gdb_argv::release. commit c3734e093aab1cea90a76b107cdda4a5870dd1b8 Author: Alan Hayward Date: Wed Mar 6 09:52:08 2019 +0000 Testsuite: Ensure changing directory does not break the log file get_compiler_info switches to a new log file before checking the compiler to ensure the checks are not logged. Afterwards it restores back to using the original log file. However, the logfile uses a relative path name - if the current test has changed the current directory then all further output for the test will be lost. This can confuse the code that collates the main gdb.log file at the end of a FORCE_PARALLEL run. fullpath-expand.exp calls gdb_compile after changing the current directory. The "Ensure stack protection is off for GCC" patch added a call to get_compiler_info from inside of gdb_compile, causing log file collection to break for FORCE_PARALLEL runs. The ideal solution would be to ensure the log file is always created using an absolute path name. However, this is set at multiple points in Makefile.in and in some instances just relies on dejagnu common code to set the log file directory to "." The simpler and safer solution is to override the builtin cd function. The new function checks the current log file and if the path is relative, then it resets the logging using an absolute path. Finally it calls the builtin cd. This ensures get_compiler_info (and any other code) can correctly backup and restore the current log file. gdb/testsuite/ChangeLog: * lib/gdb.exp (builtin_cd): rename of cd. (cd): Override builtin. commit 219d6836e939d2cd1a8c5574bfa3a101daa31cbb Author: Nick Clifton Date: Wed Mar 6 09:43:15 2019 +0000 Fix a segmentation fault triggered by disassembling an EFi file with source included. * dwarf2.c (_bfd_dwarf2_find_symbol_bias): Check for a NULL symbol table pointer. * coffgen.c (coff_find_nearest_line_with_names): Do not call _bfd_dwarf2_find_symbol_bias if there is no symbol table available. https://bugzilla.redhat.com/show_bug.cgi?id=1685727 commit aa3cfbda2f2af71044949b5692ce51cafb023d13 Author: Richard Bunt Date: Wed Mar 6 08:23:00 2019 +0000 Fortran function calls with arguments Prior to this patch, calling functions on the inferior with arguments and then using these arguments within a function resulted in an invalid memory access. This is because Fortran arguments are typically passed as pointers to values. It is possible to call Fortran functions, but memory must be allocated in the inferior, so a pointer can be passed to the function, and the language must be set to C to enable C-style casting. This is cumbersome and not a pleasant debug experience. This patch implements the GNU Fortran argument passing conventions with caveats. Firstly, it does not handle the VALUE attribute as there is insufficient DWARF information to determine when this is the case. Secondly, functions with optional parameters can only be called with all parameters present. Both these cases are marked as KFAILS in the test. Since the GNU Fortran argument passing convention has been implemented, there is no guarantee that this patch will work correctly, in all cases, with other compilers. Despite these limitations, this patch improves the ease with which functions can be called in many cases, without taking away the existing approach of calling with the language set to C. Regression tested on x86_64, aarch64 and POWER9 with GCC 7.3.0. Regression tested with Ada on x86_64. Regression tested with native-extended-gdbserver target board. gdb/ChangeLog: * eval.c (evaluate_subexp_standard): Call Fortran argument wrapping logic. * f-lang.c (struct value): A value which can be passed into a Fortran function call. (fortran_argument_convert): Wrap Fortran arguments in a pointer where appropriate. (struct type): Value ready for a Fortran function call. (fortran_preserve_arg_pointer): Undo check_typedef, the pointer is needed. * f-lang.h (fortran_argument_convert): Declaration. (fortran_preserve_arg_pointer): Declaration. * infcall.c (value_arg_coerce): Call Fortran argument logic. gdb/testsuite/ChangeLog: * gdb.fortran/function-calls.exp: New file. * gdb.fortran/function-calls.f90: New test. commit 2d0d5fc6f085dedd7988b29e58fdc4dc2081472e Author: GDB Administrator Date: Wed Mar 6 00:00:46 2019 +0000 Automatic date update in version.in commit ea38e5df7707949c20a92004f0f66efb4a9ff2a5 Author: Tom Tromey Date: Tue Mar 5 14:58:24 2019 -0700 Remove some Python 3 #ifs A recent patch from Kevin Buettner taught me that the PyBytes API is available on Python 2. This patch removes a couple of related #ifs in the Python code. Tested on x86-64 Fedora 29, using both Python 3.7 and Python 2.7. gdb/ChangeLog 2019-03-05 Tom Tromey * python/py-prettyprint.c (print_string_repr): Remove #if. * python/py-utils.c (unicode_to_encoded_string): Remove #if. commit 06b5b831a09417bac37b44599dc35d4b904700c5 Author: Tom Tromey Date: Mon Mar 4 13:37:59 2019 -0700 Change the_dummy_target to be a global While debugging gdb, I printed the target stack and got: (top-gdb) p g_target_stack $10 = { m_top = thread_stratum, m_stack = {0x142b0b0, 0x13da600 , 0x1c70690, 0x13d63b0 , 0x0, 0x0, 0x0} } (This is clearly from before the change to make ravenscar multi-target-capable.) Here, 0x142b0b0 is the singleton dummy target. It seems to me that since this is always a singleton, it would be a bit nicer if it were a global, so that it would be noted in the above. This patch implements this idea, and now I get: (top-gdb) p g_target_stack $2 = { m_top = dummy_stratum, m_stack = {0x1f1b040 , 0x0, 0x0, 0x0, 0x0, 0x0, 0x0} } I did not do the same for the debug target. It didn't seem as useful to me. gdb/ChangeLog 2019-03-05 Tom Tromey * target.c (the_dummy_target): Move later. Change type to "dummy_target". (initialize_targets): Don't initialize the_dummy_target. commit ff6c8b354d853d40a4982dcf1338b9350060b75f Author: Simon Marchi Date: Tue Mar 5 14:00:42 2019 -0500 Small fix to gdb.Value constructor doc The synopsis of the two-parameters form of the gdb.Value constructor is currently shown as Value.__init__ (val, [, type ]) in the documentation. First, there is an extra comma, which I think we can remove in any case. Then, since the type parameter is not optional, I would not put in between square brackets. Those usually indicate that something is optional. With this patch, it appears as: Value.__init__ (val, type) gdb/doc/ChangeLog: * python.texi (Values From Inferior): Change synopsys of the second form of Value.__init__. commit 88c9190b4e3a177fafe1d7257ab7255542b62159 Author: Nick Clifton Date: Tue Mar 5 17:32:35 2019 +0000 Fix a spelling mistake: "complaint" instead of "compliant". PR 24295 * doc/binutils.texi (ar cmdline): Fix spelling mistake. commit edbd9e45a906970852cee1999ab27c18c18a5ff5 Author: Tom Tromey Date: Tue Mar 5 09:03:55 2019 -0700 Remove gdb_bfd_fdopenr I noticed that gdb_bfd_fdopenr is no longer used, so this patch removes it. Tested by rebuilding and by grep. gdb/ChangeLog 2019-03-05 Tom Tromey * gdb_bfd.c (gdb_bfd_fdopenr): Remove. * gdb_bfd.h (gdb_bfd_fdopenr): Don't declare. commit 4933ff73fe8640f77773b13c1ba6b4cc567f8150 Author: Nick Clifton Date: Tue Mar 5 16:04:18 2019 +0000 Updated Swedish translation for the binutils sub-directory. commit c119e04082b5b3ee907a8d02b42fae2aee0c4fbb Author: Tom Tromey Date: Tue Feb 19 13:36:17 2019 -0700 Remove excess calls to gdb_flush A customer noticed some mildly odd MI output, where CLI output was split into multiple MI strings at unusual boundaries, like this: ~"$1 = (b => true" ~", p => 0x407260" This is technically correct according to the MI spec, but still unusual, in that there's no particular reason for the string to be split where it is. I tracked this down to a call to gdb_flush in generic_val_print. Then, I went through all calls to gdb_flush and removed the ones I thought were superfluous. In particular: * Any call in the value-printing code; * Likewise the type-printing code (just a single call); and * Any call that immediately followed a printf that obviously ended with a newline, my belief being that gdb's standard output streams are line buffered (by inheriting the behavior from stdio) Regression tested on x86-64 Fedora 29. I didn't add a new test case. I tend to think we don't necessarily want to specify this behavior in the tests. Let me know what you think of this. gdb/ChangeLog 2019-03-05 Tom Tromey * windows-nat.c (windows_nat_target::attach) (windows_nat_target::detach): Don't call gdb_flush. * valprint.c (generic_val_print, val_print, val_print_string): Don't call gdb_flush. * utils.c (defaulted_query): Don't call gdb_flush. * typeprint.c (print_type_scalar): Don't call gdb_flush. * target.c (target_announce_detach): Don't call gdb_flush. * sparc64-tdep.c (adi_print_versions): Don't call gdb_flush. * remote.c (extended_remote_target::attach): Don't call gdb_flush. * procfs.c (procfs_target::detach): Don't call gdb_flush. * printcmd.c (do_examine): Don't call gdb_flush. (info_display_command): Don't call gdb_flush. * p-valprint.c (pascal_val_print): Don't call gdb_flush. * nto-procfs.c (nto_procfs_target::attach): Don't call gdb_flush. * memattr.c (info_mem_command): Don't call gdb_flush. * mdebugread.c (mdebug_build_psymtabs): Don't call gdb_flush. * m2-valprint.c (m2_val_print): Don't call gdb_flush. * infrun.c (follow_exec, handle_command): Don't call gdb_flush. * inf-ptrace.c (inf_ptrace_target::attach): Don't call gdb_flush. * hppa-tdep.c (unwind_command): Don't call gdb_flush. * gnu-nat.c (gnu_nat_target::attach): Don't call gdb_flush. (gnu_nat_target::detach): Don't call gdb_flush. * f-valprint.c (f_val_print): Don't call gdb_flush. * darwin-nat.c (darwin_nat_target::attach): Don't call gdb_flush. * cli/cli-script.c (read_command_lines): Don't call gdb_flush. * cli/cli-cmds.c (shell_escape, print_disassembly): Don't call gdb_flush. * c-valprint.c (c_val_print): Don't call gdb_flush. * ada-valprint.c (ada_print_scalar): Don't call gdb_flush. commit 895dafa679db7af79576dcd177a6d91d65657ee8 Author: Tom Tromey Date: Tue Feb 26 14:59:47 2019 -0700 Add ATTRIBUTE_UNUSED_RESULT to ref_ptr::release This applies ATTRIBUTE_UNUSED_RESULT to ref_ptr::release and updates a few spots to comply. I believe one use in install_default_visualizer was in error, fixed by this patch. gdb/ChangeLog 2019-03-05 Tom Tromey * varobj.c (update_dynamic_varobj_children): Update. (install_default_visualizer): Use reset, not release. * value.c (set_internalvar): Update. * dwarf2loc.c (value_of_dwarf_reg_entry): Update. * common/gdb_ref_ptr.h (class ref_ptr) : Add ATTRIBUTE_UNUSED_RESULT. commit 88a774b9984e42c492ddcf4e4b4b0170ac803576 Author: Tom Tromey Date: Tue Feb 26 14:52:47 2019 -0700 Add ATTRIBUTE_UNUSED_RESULT to scoped_remote_fd::release This applies ATTRIBUTE_UNUSED_RESULT to scoped_remote_fd::release. gdb/ChangeLog 2019-03-05 Tom Tromey * remote.c (class scoped_remote_fd) : Add ATTRIBUTE_UNUSED_RESULT. commit 4e4a8b932b7ae8e239eebb597fbb6cfcb7278a64 Author: Tom Tromey Date: Tue Feb 26 14:52:05 2019 -0700 Add ATTRIBUTE_UNUSED_RESULT to macro_buffer This applies ATTRIBUTE_UNUSED_RESULT to macro_buffer::release. gdb/ChangeLog 2019-03-05 Tom Tromey * macroexp.c (struct macro_buffer) : Add ATTRIBUTE_UNUSED_RESULT. commit 083eef1f897e2fd13e4afa7b1a52090c83476f5c Author: Tom Tromey Date: Tue Feb 26 14:46:40 2019 -0700 Add ATTRIBUTE_UNUSED_RESULT to scoped_mmap This applies ATTRIBUTE_UNUSED_RESULT to scoped_mmap::release and fixes a couple of spots to comply. gdb/ChangeLog 2019-03-05 Tom Tromey * nat/linux-btrace.c (linux_enable_bts, linux_enable_pt): Update. * common/scoped_mmap.h (class scoped_mmap) : Add ATTRIBUTE_UNUSED_RESULT. commit 3cabd438f3d18e1cb7afd4d2a82449883943e62f Author: Tom Tromey Date: Tue Feb 26 14:44:29 2019 -0700 Add ATTRIBUTE_UNUSED_RESULT to scoped_fd This applies ATTRIBUTE_UNUSED_RESULT to scoped_fd::release. gdb/ChangeLog 2019-03-05 Tom Tromey * common/scoped_fd.h (class scoped_fd) : Add ATTRIBUTE_UNUSED_RESULT. commit 41e3300aa7d31ddb3618e160c6b7e61351ee2af5 Author: Tom Tromey Date: Tue Feb 26 14:39:55 2019 -0700 Add ATTRIBUTE_UNUSED_RESULT to parser_state This applies ATTRIBUTE_UNUSED_RESULT to parser_state::release. gdb/ChangeLog 2019-03-05 Tom Tromey * parser-defs.h (struct parser_state) : Add ATTRIBUTE_UNUSED_RESULT. commit 18cb7c9f3add62ff598f0551a767af8aaa04b07e Author: Tom Tromey Date: Tue Feb 26 14:39:01 2019 -0700 Introduce ATTRIBUTE_UNUSED_RESULT and use it This introduces the new ATTRIBUTE_UNUSED_RESULT define, and applies it to gdb_argv::release. gdb/ChangeLog 2019-03-05 Tom Tromey * utils.h (class gdb_argv) : Add ATTRIBUTE_UNUSED_RESULT. * common/common-defs.h (ATTRIBUTE_UNUSED_RESULT): Define. commit 093f70ccd3d8366de1faae3335bbe2eebd2a75d4 Author: Matthew Malcomson Date: Tue Mar 5 10:09:50 2019 +0000 Allow multiple tests to be run on systems with older versions of TCL installed. PR 24287 * testsuite/lib/binutils-common.exp (run_dump_test): Replace a use of "lmap" with a "foreach" loop. commit 54c56910ee0b9280e0cb33eae00e27ca90925fc0 Author: GDB Administrator Date: Tue Mar 5 00:00:26 2019 +0000 Automatic date update in version.in commit 45950eb60008c70fb79306012e76a024a8790ca3 Author: Sergio Durigan Junior Date: Mon Mar 4 12:44:20 2019 -0500 Use '$enable_unittest' instead of '$development' on gdbserver/configure.srv (for 'aarch64*-*-linux*' case) On commit 8ecfd7bd4acd69213c06fac6de9af38299123547 ("Add parameter to allow enabling/disabling selftests via configure") it seems that I forgot to use the proper '$enable_unittest' variable when checking to see whether to add selftest-related objects to 'srv_regobj'. This causes a build failure on Aarch64 when 'development=false' (which is the case for the 8.3 branch) and 'enable_unittest=true'. This patch fixes the problem by using '$enable_unittest' instead of '$development' when performing the check. As a reminder, it's important to notice that '$enable_unittest's default value (i.e., when the option '--enable-unit-tests' is not passed to configure) is the same as '$development', so this patch doesn't affect the current build. I'd like to install this patch both on master and on the 8.3 branch. OK? gdb/gdbserver/ChangeLog: 2019-03-04 Sergio Durigan Junior * configure.srv: Use '$enable_unittest' instead of '$development' when checking whether to fill 'srv_regobj' on 'aarch64*-*-linux*' case. commit 7b63ad86ab1a56812772f266b345ecaa494ece95 Author: Richard Bunt Date: Mon Mar 4 15:08:51 2019 +0000 gdbserver short-circuit-argument-list failures This patch fixes test case failures observed when running short-circuit-argument-list.exp with gdb server boards. Thanks to Sergio Durigan Junior for pointing this out. Assertions failed with the native{,-extended}-gdbserver boards as the standard output from the test program appears in a different location than observed on non-gdbserver boards. This standard output was used to determine whether a function, which had been logically short-circuited, was called or not. Since the location of the standard out cannot be relied upon to verify this, a new mechanism was needed. The test program now records function calls in variables named the same as the function with a "_called" suffix. These variables can then be queried from the test case to verify the occurrence of a call. A method to reset the call counts has been included in the test case, so that any future assertions added to this test can ensure a fresh set of initial values before proceeding. Not resetting values between groups of assertions creates a dependency between them, which increases the likelihood that a single failure causes subsequent assertions to fail. Regression tested on x86_64, aarch64 and ppc64le. Regression tested with Ada on x86_64. Regression tested with the native{,-extended}-gdbserver boards on x86_64. commit f5f20315116c43110c058ec9d787e20f901309f2 Author: Nick Clifton Date: Mon Mar 4 13:11:08 2019 +0000 Stop objcopy from attempting to copy thin archives. PR 24281 * objcopy.c (copy_archive): Do not copy thin archives. commit 67490c6bad8c8d3fcbcbd5a3012ab5d189fd3981 Author: GDB Administrator Date: Mon Mar 4 00:00:30 2019 +0000 Automatic date update in version.in commit 60a88cee9274f374a394fe2e9765292b9ca3c7cf Author: GDB Administrator Date: Sun Mar 3 00:00:38 2019 +0000 Automatic date update in version.in commit e3624a40aeb31065c968d0d3a1d55fdf8e8a4e3c Author: Eli Zaretskii Date: Sat Mar 2 21:42:54 2019 +0200 Fix documentation of styles. gdb/doc/ChangeLog: 2019-03-02 Eli Zaretskii * gdb.texinfo (Output Styling): Fix typos. Document the default foreground colors of the available styles. commit a6a4b2c636b29de09dea890b448f99804ef7bc18 Author: Eli Zaretskii Date: Sat Mar 2 15:22:11 2019 +0200 Avoid compilation warnings on MinGW. gdb/ChangeLog: 2019-03-02 Eli Zaretskii * xml-syscall.c (xml_list_syscalls_by_group): Drop 'struct' from for-loop range, to avoid compiler warnings. * tui/tui.c (tui_enable) [__MINGW32__]: Don't declare 'cap', to avoid compiler warnings about unused variables. commit 742a7df5f4a149f0818aaccfc432c4c0c9a6e26d Author: Eli Zaretskii Date: Sat Mar 2 15:18:32 2019 +0200 GDB no longer supports Windows before XP. gdb/ChangeLog: 2019-03-02 Eli Zaretskii * NEWS: Mention end of support for native debugging on MS-Windows before XP. commit 41fa577fbc326402be49b3f03bc828e52dba8b88 Author: Eli Zaretskii Date: Sat Mar 2 15:13:54 2019 +0200 Fix GDB compilation on MinGW (PR gdb/24292) gdb/ChangeLog: 2019-03-02 Eli Zaretskii PR gdb/24292 * common/netstuff.c: * gdbserver/gdbreplay.c * gdbserver/remote-utils.c: * ser-tcp.c: * unittests/parse-connection-spec-selftests.c [USE_WIN32API]: Include ws2tcpip.h instead of wsiapi.h and winsock2.h. Redefine _WIN32_WINNT to 0x0501 if defined to a smaller value, as 'getaddrinfo' and 'freeaddrinfo' were not available before Windows XP, and mingw.org's MinGW headers by default define _WIN32_WINNT to 0x500. commit ca5a17b09eabb24301c8591440670613385a9026 Author: GDB Administrator Date: Sat Mar 2 00:00:57 2019 +0000 Automatic date update in version.in commit 24801b157631434446c2fc5a40994a5555a1db38 Author: Andreas Krebbel Date: Fri Mar 1 15:23:42 2019 +0100 Revert "Add support to GNU ld to separate got related plt entries" bfd/ChangeLog: 2019-03-01 Andreas Krebbel This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335. 2019-01-14 Maamoun Tarsha PR 20113 * elf32-s390.c (allocate_dynrelocs): Update comment. ld/ChangeLog: 2019-03-01 Andreas Krebbel This reverts commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335. 2019-01-14 Maamoun Tarsha PR 20113 * emulparams/elf64_s390.sh (SEPARATE_GOTPLT): Define. * emulparams/elf_s390.sh (SEPARATE_GOTPLT): Define. * testsuite/ld-s390/gotreloc_31-1.dd: Update expected output. * testsuite/ld-s390/tlsbin.dd: Likewise. * testsuite/ld-s390/tlsbin.rd: Likewise. * testsuite/ld-s390/tlsbin.sd: Likewise. * testsuite/ld-s390/tlsbin_64.dd: Likewise. * testsuite/ld-s390/tlsbin_64.rd: Likewise. * testsuite/ld-s390/tlsbin_64.sd: Likewise. * testsuite/ld-s390/tlspic.dd: Likewise. * testsuite/ld-s390/tlspic.rd: Likewise. * testsuite/ld-s390/tlspic.sd: Likewise. * testsuite/ld-s390/tlspic_64.dd: Likewise. * testsuite/ld-s390/tlspic_64.rd: Likewise. * testsuite/ld-s390/tlspic_64.sd: Likewise. * testsuite/ld-s390/s390.exp: Skip s390 tests for tpf targets. commit 827f438f664809b13ea59e8fabc43070dbd17645 Author: Gary Benson Date: Fri Mar 1 13:50:27 2019 +0000 Fix coff_start_symtab resource leak found by Coverity This commit fixes a resource leak found by Coverity, where coff_start_symtab performs an xstrdup that is now performed within start_symtab by buildsym_compunit::buildsym_compunit. gdb/ChangeLog: * coffread.c (coff_start_symtab): Remove unnecessary xstrdup. commit 4ffd290906608e72fd98d627a24aa2c2b6ecf4ce Author: Tamar Christina Date: Fri Mar 1 11:37:51 2019 +0000 Binutils: Always skip only 1 byte for CIE version 1's return address register. According to the specification for the CIE entries, when the CIE version is 1 then the return address register field is always 1 byte. Readelf does this correctly in read_cie in dwarf.c but ld does this incorrectly and always tries to read a skip_leb128. If the value here has the top bit set then ld will incorrectly read at least another byte, causing either an assert failure or an incorrect address to be used in eh_frame. I'm not sure how to generate a generic test for this as I'd need to write assembly, and it's a bit hard to trigger. Essentially the relocated value needs to start with something that & 0x70 != 0x10 while trying to write a personality. bfd/ChangeLog: * elf-eh-frame.c (_bfd_elf_write_section_eh_frame): Correct CIE parse. commit b24cc4146e4de9f3b66e2e2fb8379db46eff89c9 Author: Alan Modra Date: Fri Mar 1 09:28:47 2019 +1030 PR24272, out-of-bounds read in pex64_xdata_print_uwd_codes The fix here is to use an unsigned comparison for if (a->NumberOfRvaAndSizes > IMAGE_NUMBEROF_DIRECTORY_ENTRIES) include/ PR 24272 * coff/internal.h (struct internal_extra_pe_aouthdr): Change type of SizeOfCode, SizeOfInitializedData, and SizeOfUninitializedData to bfd_vma. Change type of SectionAlignment, FileAlignment, Reserved1, SizeOfImage, SizeOfHeaders, CheckSum, LoaderFlags, and NumberOfRvaAndSizes to uint32_t. bfd/ PR 24272 * peXXigen.c (_bfd_XXi_swap_aouthdr_in): Use unsigned index. (_bfd_XX_print_private_bfd_data_common): Adjust for type changes. commit b09e83c1f814a6f218519abeb94aaf45869ba03c Author: GDB Administrator Date: Fri Mar 1 00:00:52 2019 +0000 Automatic date update in version.in commit 01abb042af3f118a8820517a3b45b19e65c7bbd4 Author: Alan Hayward Date: Thu Feb 28 17:19:46 2019 +0000 Testsuite: Catch gdbserver socket listen errors When launching gdbserver, the testsuite checks for binding failure but does not check for failure to listen to socket error (which can happen due to another gdbserver binding to the socket at the same time). When this error occurs, the test will ignore the error and connect GDB to the failed port. This may succeed and GDB will now be connected to the gdbserver from another test. This eventually causes both tests to fail. When running the tests suite with native-gdbserver across many cores, this issue may happen once or twice, each causing random failures for two .exp testscripts. Example gdb.log output for the failure: The testsuite sucessfully notices a failure to connect to port 2348. It launches again with port 2349, which also fails. The testsuite ignores this error and uses gdb to connect to the port - which succeeds. spawn /work/build/gdb/testsuite/../gdbserver/gdbserver --once localhost:2348 /work/build/gdb/testsuite/outputs/gdb.ada/arrayidx/p^M Can't bind address: Address already in use.^M Exiting^M Port 2348 is already in use. spawn /work/build/gdb/testsuite/../gdbserver/gdbserver --once localhost:2349 /work/build/gdb/testsuite/outputs/gdb.ada/arrayidx/p^M Can't listen on socket: Address already in use.^M Exiting^M target remote localhost:2349^M Remote debugging using localhost:2349^M Reading /lib/ld-linux-aarch64.so.1 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-aarch64.so.1 from remote target...^M Reading symbols from target:/lib/ld-linux-aarch64.so.1...^M Reading /lib/ld-2.23.so from remote target...^M Reading /lib/.debug/ld-2.23.so from remote target...^M Reading /work/build/install/lib/debug//lib/ld-2.23.so from remote target...^M Reading /work/build/install/lib/debug/lib//ld-2.23.so from remote target...^M Reading target:/work/build/install/lib/debug/lib//ld-2.23.so from remote target...^M (No debugging symbols found in target:/lib/ld-linux-aarch64.so.1)^M 0x0000ffffbf6d2cc0 in ?? () from target:/lib/ld-linux-aarch64.so.1^M (gdb) continue^M Continuing.^M Reading /lib/aarch64-linux-gnu/libc.so.6 from remote target...^M Reading /lib/aarch64-linux-gnu/libc-2.23.so from remote target...^M Reading /lib/aarch64-linux-gnu/.debug/libc-2.23.so from remote target...^M Reading /work/build/install/lib/debug//lib/aarch64-linux-gnu/libc-2.23.so from remote target...^M Reading /work/build/install/lib/debug/lib/aarch64-linux-gnu//libc-2.23.so from remote target...^M Reading target:/work/build/install/lib/debug/lib/aarch64-linux-gnu//libc-2.23.so from remote target...^M [Inferior 1 (process 35351) exited normally]^M (gdb) FAIL: gdb.ada/arrayidx.exp: can't run to main Meanwhile, at the same time, in another test, gdbserver successfully connects to port 2349. GDB then tries to connect to the port, but it times out because the GDB in the test above has already connected to it. spawn /work/build/gdb/testsuite/../gdbserver/gdbserver --once localhost:2348 /work/build/gdb/testsuite/outputs/gdb.ada/rdv_wait/foo^M Can't bind address: Address already in use.^M Exiting^M Port 2348 is already in use. spawn /work/build/gdb/testsuite/../gdbserver/gdbserver --once localhost:2349 /work/build/gdb/testsuite/outputs/gdb.ada/rdv_wait/foo^M Process /work/build/gdb/testsuite/outputs/gdb.ada/rdv_wait/foo created; pid = 65162^M Listening on port 2349^M Remote debugging from host 127.0.0.1, port 45154^M target remote localhost:2349^M localhost:2349: Connection timed out.^M (gdb) ^CQuit^M (gdb) task 2^M Cannot inspect Ada tasks when program is not running^M gdb/testsuite/ChangeLog: * lib/gdbserver-support.exp (gdbserver_start): Check for listen failure. commit 92137da015d301fec4b7878467d053d379a2f489 Author: Rainer Orth Date: Thu Feb 28 16:09:05 2019 +0100 Can't interrupt process without controlling terminal on Solaris (PR gdb/8527) If gdb attaches to a process that either has no controlling terminal, or the controlling terminal differs from the one gdb is running under, break/^C doesn't interrupt the debugged process on Solaris. Fixed as follows, analogous to what all all other targets do. Patch from the PR, recently re-submitted by Brian Vandenberg. Tested on amd64-pc-solaris2.11, sparcv9-sun-solaris2.11, and x86_64-pc-linux-gnu. 2019-02-28 Brian Vandenberg Rainer Orth gdb: PR gdb/8527 * procfs.c (proc_wait_for_stop): Wrap write of PCWSTOP in set_sigint_trap, clear_sigint_trap. gdb/testsuite: PR gdb/8527 * gdb.base/interrupt-daemon-attach.c, gdb.base/interrupt-daemon-attach.exp: New test. commit eed5def8d0b7b64c3592be75a9b22bb4ce1a78f4 Author: Nick Clifton Date: Thu Feb 28 14:30:20 2019 +0000 Prevent a buffer overrun error when attempting to parse a corrupt ELF file. PR 24273 * elf.c (bfd_elf_string_from_elf_section): Check for a string section that is not NUL terminated. commit 9c4c331816b14d7020a8a15eed9dac5e5babdb0e Author: Joel Brobecker Date: Thu Feb 28 11:20:29 2019 +0400 (gdb/sim) Move Mike Frysinger to past maintainers section sim/ChangeLog: * MAINTAINERS: Move Mike Frysinger to past maintainers' section. commit b8ec59a1001105a04617b1a623ceb158e6c7472d Author: GDB Administrator Date: Thu Feb 28 00:00:50 2019 +0000 Automatic date update in version.in commit 799efbe8e01ab8292c01f46ac59a6fb2349d4535 Author: Philippe Waroquiers Date: Sat Feb 16 14:11:38 2019 +0100 Fix regcache leak, and avoid possible regcache access after detach. Valgrind reports leaks like the below in various tests, e.g. gdb.threads/attach-slow-waitpid.exp, gdb.ada/task_switch_in_core.exp, ... Fix the leak by clearing the regcache when detaching from an inferior. Note that these leaks are 'created' when GDB exits, when the regcache::current_regcache is destroyed : the elements of the forward_list are pointers, and the 'pointed to' memory is not deleted by the forward_list destructor. Nevertheless, fixing this leak is good as it makes a bunch of tests 'leak clean'. Also, it seems strange to keep a register cache for a process from which GDB detached : it is not clear if this cache is still valid after detach. And effectively, when clearing only the regcache, (and not the frame cache), then the frame cache was still 'pointing' at this regcache and was used when switching to the child process in the test gdb.threads/watchpoint-fork.exp, which seems strange. So, we solve the leak and avoid possible accesses to the regcache and frame cache of the detached inferior, by clearing both the regcache and the frame cache. Tested on debian/amd64, natively, under Valgrind, and with make check RUNTESTFLAGS="--target_board=native-gdbserver". ==27679== VALGRIND_GDB_ERROR_BEGIN ==27679== 1,123 (72 direct, 1,051 indirect) bytes in 1 blocks are definitely lost in loss record 2,942 of 3,400 ==27679== at 0x4C2C4CC: operator new(unsigned long) (vg_replace_malloc.c:344) ==27679== by 0x5CDF71: get_thread_arch_aspace_regcache(ptid_t, gdbarch*, address_space*) (regcache.c:330) ==27679== by 0x5CE12A: get_thread_regcache (regcache.c:366) ==27679== by 0x5CE12A: get_current_regcache() (regcache.c:372) ==27679== by 0x4FF63D: post_create_inferior(target_ops*, int) (infcmd.c:452) ==27679== by 0x43AF62: core_target_open(char const*, int) (corelow.c:458) ==27679== by 0x408B68: cmd_func(cmd_list_element*, char const*, int) (cli-decode.c:1892) ... gdb/ChangeLog 2019-02-27 Philippe Waroquiers * target.c (target_detach): Clear the regcache and the frame cache. commit 5cfe428cd1788be52a0af540f02b8f2705354d50 Author: H.J. Lu Date: Wed Feb 27 11:53:16 2019 -0800 x86-64: Skip protected check on symbol defined by linker Skip symbol defined by linker when checking copy reloc on protected symbol. bfd/ PR ld/24276 * elf64-x86-64.c (elf_x86_64_check_relocs): Skip symbol defined by linker when checking copy reloc on protected symbol. ld/ PR ld/24276 * testsuite/ld-i386/i386.exp: Run PR ld/24276 test. * testsuite/ld-x86-64/x86-64.exp: Likewise. * testsuite/ld-i386/pr24276.dso: New file. * testsuite/ld-i386/pr24276.warn: Likewise. * testsuite/ld-x86-64/pr24276.dso: Likewise. * testsuite/ld-x86-64/pr24276.warn: Likewise. commit 43ac54fca353ea8d77d56dc5ad9e049bbb9a81fb Author: Tom Tromey Date: Wed Feb 20 14:29:23 2019 -0700 Handle \r\n in gdbreplay I tried gdbreplay yesterday, but the remotelogfile I received was made on Windows, so the lines were terminated with \r\n rather than plain \n. This patch changes gdbreplay to allow \r\n line termination when reading the log file. gdb/gdbserver/ChangeLog 2019-02-27 Tom Tromey * gdbreplay.c (logchar): Handle \r\n. commit 5862844d0f443b9f65e8dd0d85c43f8818d3f355 Author: Pedro Alves Date: Wed Feb 27 18:48:37 2019 +0000 Test "set width/height -1" As a follow up to the previous commit, add a test for "set width/height -1", to make sure we don't overflow in readline with negative values either. gdb/testsuite/ChangeLog: 2019-02-27 Pedro Alves * gdb.base/page.exp: Add tests for "set width/height -1". commit 8ed252144a29fb6370b828d84419d5c59d23dae2 Author: Pedro Alves Date: Wed Feb 27 18:48:36 2019 +0000 Make 'show width/height' display "unlimited" when capped for readline When we cap the height/width sizes before passing to readline, tweak the corresponding command variable to show "unlimited": (gdb) set height 0x8000 (gdb) show height Number of lines gdb thinks are in a page is unlimited. Instead of the current output: (gdb) set height 0x8000 (gdb) show height Number of lines gdb thinks are in a page is 32768. gdb/ChangeLog: 2019-02-27 Pedro Alves * utils.c (set_screen_size): When we cap the height/width sizes, tweak the corresponding command variable to show "unlimited": gdb/testsuite/ChangeLog: 2019-02-27 Pedro Alves * gdb.base/page.exp: Add tests for "set/show width/height" with "infinite" values. commit 23031e319207140e76a9c18e308995fe28322b58 Author: Saagar Jha Date: Wed Feb 27 18:48:35 2019 +0000 Prevent overflow in rl_set_screen_size GDB calls rl_set_screen_size in readline with the current screen size, measured in rows and columns. To represent "infinite" sizes, GDB passes in INT_MAX; however, since rl_set_screen_size internally multiplies the number of rows and columns, this causes a signed integer overflow. To prevent this we can instead pass in the approximate square root of INT_MAX (which is still reasonably large), so that even when the number of rows and columns is "infinite" we don't overflow. gdb/ChangeLog: 2019-02-27 Saagar Jha Pedro Alves * utils.c (set_screen_size): Reduce "infinite" rows and columns before calling rl_set_screen_size. commit 6c28e44a359e9f6cf455ddff0009ca99406f7224 Author: Tom Tromey Date: Tue Feb 26 11:58:47 2019 -0700 Remove Python 2.4 and 2.5 support This removes all the remainings spots I could find that work around issues in Python 2.4 and 2.5. I don't have a good way to test that Python 2.6 still works. Tested by the buildbot. gdb/ChangeLog 2019-02-27 Tom Tromey * config.in, configure: Rebuild. * configure.ac (HAVE_LIBPYTHON2_4, HAVE_LIBPYTHON2_5): Never define. * python/py-value.c: Remove Python 2.4 workaround. * python/py-utils.c (gdb_pymodule_addobject): Remove Python 2.4 workaround. * python/py-type.c (convert_field, gdbpy_initialize_types): Remove Python 2.4 workaround. * python/python-internal.h: Remove Python 2.4 comment. (Py_ssize_t): Don't define. (PyVarObject_HEAD_INIT, Py_TYPE): Don't define. (gdb_Py_DECREF): Remove Python 2.4 workaround. (gdb_PyObject_GetAttrString, PyObject_GetAttrString): Remove. (gdb_PyObject_HasAttrString, PyObject_HasAttrString): Remove. * python/python.c (do_start_initialization): Remove Python 2.4 workaround. * python/py-prettyprint.c (class dummy_python_frame): Remove. (print_children): Remove Python 2.4 workaround. * python/py-inferior.c (buffer_procs): Remove Python 2.4 workaround. (CHARBUFFERPROC_NAME): Remove. * python/py-breakpoint.c (gdbpy_initialize_breakpoints): Remove Python 2.4 workaround. gdb/testsuite/ChangeLog 2019-02-27 Tom Tromey * lib/gdb.exp (skip_python_tests_prompt): Don't check for Python 2.4. * gdb.python/py-finish-breakpoint.exp: Remove Python 2.4 workaround. gdb/ChangeLog 2019-02-27 Tom Tromey * config.in, configure: Rebuild. * configure.ac (HAVE_LIBPYTHON2_4, HAVE_LIBPYTHON2_5): Never define. * python/py-value.c: Remove Python 2.4 workaround. * python/py-utils.c (gdb_pymodule_addobject): Remove Python 2.4 workaround. * python/py-type.c (convert_field, gdbpy_initialize_types): Remove Python 2.4 workaround. * python/python-internal.h: Remove Python 2.4 comment. (Py_ssize_t): Don't define. (PyVarObject_HEAD_INIT, Py_TYPE): Don't define. (gdb_Py_DECREF): Remove Python 2.4 workaround. (gdb_PyObject_GetAttrString, PyObject_GetAttrString): Remove. (gdb_PyObject_HasAttrString, PyObject_HasAttrString): Remove. * python/python.c (do_start_initialization): Remove Python 2.4 workaround. * python/py-prettyprint.c (class dummy_python_frame): Remove. (print_children): Remove Python 2.4 workaround. * python/py-inferior.c (buffer_procs): Remove Python 2.4 workaround. (CHARBUFFERPROC_NAME): Remove. * python/py-breakpoint.c (gdbpy_initialize_breakpoints): Remove Python 2.4 workaround. commit 2c3fc25dd18d3afb4b4cb494c4803fdfbf00ae9b Author: Kevin Buettner Date: Thu Feb 21 17:22:13 2019 -0700 Document fact that mininum Python version is now 2.6 gdb/ChangeLog: * NEWS: Note minimum Python version. gdb/doc/ChangeLog: * gdb.texinfo (Configure Options): Document minimum python version. commit 6ca622222193bc29a2780f6f02f0d8b96da65a4b Author: Kevin Buettner Date: Tue Feb 19 13:18:17 2019 -0700 Use Python 2.[67] / 3.X / PEP 3118 buffer protocol This patch removes the non-IS_PY3K code in infpy_write_memory() and infpy_search_memory(). In both cases, the remaining code from these ifdefs is related to use of the PEP 3118 buffer protocol. (Deleted code is either due to simplification or related to use of the old buffer protocol.) PEP 3118 is sometimes referred to as the "new" buffer protocol, though it's not that new anymore. The link below describes new features in Python 2.6. In particular, it says that the buffer protocol described by PEP 3118 is in Python 2.6. It also says (at the top of the page) that Python 2.6 was released on Oct 1, 2008. https://docs.python.org/3/whatsnew/2.6.html#pep-3118-revised-buffer-protocol The last security release for the Python 2.6 series was 2.6.9. It was released on Oct 29, 2013. According to this document... https://www.python.org/download/releases/2.6.9/ ...support for the 2.6 series has ended: With the 2.6.9 release, and five years after its first release, the Python 2.6 series is now officially retired. All official maintenance for Python 2.6, including security patches, has ended. For ongoing maintenance releases, please see the Python 2.7 series. As noted earlier, Python 2.6, Python 2.7, and Python 3.X all have support for the PEP 3118 buffer protocol. Python releases prior to 2.6 use an older buffer protocol. Since Python 2.6 has been retired for a good while now, it seems reasonable to me to remove code using the older buffer protocol from GDB. I have also simplified some of the code via use of the Py_buffer unique_ptr specialization which I introduced in the two argument gdb.Value constructor patch series. Therefore, there is a dependency on patch #1 from that series. I have tested against both Python 2.7.15 and 3.7.2. I see no regressions among the non-racy tests. I've also verified that PyBuffer_Release is being called when the affected functions exit while running the tests in gdb.python/py-inferior.exp by hand. I've also tried running valgrind on GDB while running this test, but I'm puzzled by the results that I'm seeing - I'm seeing no additional leaks when I comment out the Py_buffer_up lines that I introduced. That said, I'm not seeing any leaks that obviously originate from either infpy_write_memory() or infpy_search_memory(). gdb/ChangeLog: * python/py-inferior.c (infpy_write_memory): Remove non-IS_PY3K code from these functions. Remove corresponding ifdefs. Use Py_buffer_up instead of explicit calls to PyBuffer_Release. Remove gotos and target of gotos. (infpy_search_memory): Likewise. commit f4bc7d2cde9189249d41ac9c63235c128da4d2f2 Author: Andrew Burgess Date: Thu Dec 27 11:56:03 2018 +0000 gdb/hppa: Use default gdbarch method default_dummy_id. Make use of the default gdbarch method for gdbarch_dummy_id. I have not tested this change but, by inspecting the code, I believe the default method is equivalent to the code being deleted. gdb/ChangeLog: * gdb/hppa-tdep.c (hppa_dummy_id): Delete. (hppa_gdbarch_init): Don't register deleted functions with gdbarch. commit 9734a586671fa95a06a2e10323c14d0157805057 Author: Andrew Burgess Date: Thu Dec 27 11:52:53 2018 +0000 gdb/h8300: Use default gdbarch methods where possible Make use of the default gdbarch methods for gdbarch_dummy_id, gdbarch_unwind_pc, and gdbarch_unwind_sp where possible. I have not tested this change but, by inspecting the code, I believe the default methods are equivalent to the code being deleted. gdb/ChangeLog: * gdb/h8300-tdep.c (h8300_unwind_pc): Delete. (h8300_unwind_sp): Delete. (h8300_dummy_id): Delete. (h8300_gdbarch_init): Don't register deleted functions with gdbarch. commit 68b867f30eeca7e9585e9ee16e824f5a18e2bc6c Author: Andrew Burgess Date: Wed Dec 19 22:34:19 2018 +0000 gdb/ft32: Use default gdbarch methods where possible Make use of the default gdbarch methods for gdbarch_dummy_id, gdbarch_unwind_pc, and gdbarch_unwind_sp where possible. I have not tested this change but, by inspecting the code, I believe the default methods are equivalent to the code being deleted. gdb/ChangeLog: * gdb/ft32-tdep.c (ft32_dummy_id): Delete. (ft32_unwind_pc): Delete. (ft32_unwind_sp): Delete. (ft32_gdbarch_init): Don't register deleted functions with gdbarch. commit 2fbe7ad059d9ec2a8a378a5c2b973a1188677422 Author: Andrew Burgess Date: Wed Dec 19 22:31:50 2018 +0000 gdb/frv: Use default gdbarch methods where possible Make use of the default gdbarch methods for gdbarch_dummy_id, gdbarch_unwind_pc, and gdbarch_unwind_sp where possible. I have not tested this change but, by inspecting the code, I believe the default methods are equivalent to the code being deleted. gdb/ChangeLog: * gdb/frv-tdep.c (frv_dummy_id): Delete. (frv_unwind_pc): Delete. (frv_unwind_sp): Delete. (frv_gdbarch_init): Don't register deleted functions with gdbarch. commit 76055cbe88cc6623f88c8ae43ed8b8ae6883df9e Author: Andrew Burgess Date: Wed Dec 19 22:24:22 2018 +0000 gdb/riscv: Use default gdbarch methods where possible Make use of the default gdbarch methods for gdbarch_dummy_id, gdbarch_unwind_pc, and gdbarch_unwind_sp where possible. This change has been tested with no regressions. gdb/ChangeLog: * gdb/riscv-tdep.c (riscv_dummy_id): Delete. (riscv_unwind_pc): Delete. (riscv_unwind_sp): Delete. (riscv_gdbarch_init): Don't register deleted functions with gdbarch. commit 4133e5a13f15d86bb1f834090de98cca4c34759d Author: Andrew Burgess Date: Wed Dec 19 22:18:28 2018 +0000 gdb/csky: Use default gdbarch methods where possible Make use of the default gdbarch methods for gdbarch_dummy_id, gdbarch_unwind_pc, and gdbarch_unwind_sp where possible. I have not tested this change but, by inspecting the code, I believe the default methods are equivalent to the code being deleted. gdb/ChangeLog: * gdb/csky-tdep.c (csky_dummy_id): Delete. (csky_unwind_pc): Delete. (csky_unwind_sp): Delete. (csky_gdbarch_init): Don't register deleted functions with gdbarch. commit 8010f576414759bf5bdcfeaa64226bf03586b763 Author: Andrew Burgess Date: Sun Sep 9 17:17:05 2018 +0100 gdb/cris: Use default gdbarch methods where possible Make use of the default gdbarch methods for gdbarch_dummy_id, gdbarch_unwind_pc, and gdbarch_unwind_sp where possible. I have not tested this change but, by inspecting the code, I believe the default methods are equivalent to the code being deleted. gdb/ChangeLog: * gdb/cris-tdep.c (cris_dummy_id): Delete. (cris_unwind_pc): Delete. (cris_unwind_sp): Delete. (cris_gdbarch_init): Don't register deleted functions with gdbarch. commit b56bf084434de08080875134e983f8b46eb2328f Author: Andrew Burgess Date: Sun Sep 9 17:14:20 2018 +0100 gdb/bfin: Use default gdbarch methods where possible Make use of the default gdbarch methods for gdbarch_dummy_id, and gdbarch_unwind_pc. I have not tested this change but, by inspecting the code, I believe the default methods are equivalent to the code being deleted. gdb/ChangeLog: * gdb/bfin-tdep.c (bfin_dummy_id): Delete. (bfin_unwind_pc): Delete. (bfin_gdbarch_init): Don't register deleted functions with gdbarch. commit a19a650fcca359a02bfadb201c9b032ce7479525 Author: Andrew Burgess Date: Sun Sep 9 17:10:21 2018 +0100 gdb/arm: Use default gdbarch methods where possible Make use of the default gdbarch methods for gdbarch_dummy_id, gdbarch_unwind_pc, and gdbarch_unwind_sp where possible. I have not tested this change but, by inspecting the code, I believe the default methods are equivalent to the code being deleted. gdb/ChangeLog: * gdb/arm-tdep.c (arm_dummy_id): Delete. (arm_unwind_pc): Delete. (arm_unwind_sp): Delete. (arm_gdbarch_init): Don't register deleted functions with gdbarch. commit f8278c3c7e0212e810fa7d65f6202b607c9cf3ca Author: Andrew Burgess Date: Sun Sep 9 17:07:16 2018 +0100 gdb/arc: Use default gdbarch methods where possible Make use of the default gdbarch methods for gdbarch_dummy_id, gdbarch_unwind_pc, and gdbarch_unwind_sp where possible. I have not tested this change but, by inspecting the code, I believe the default methods are equivalent to the code being deleted. The only difference is that the old ARC specific methods had additional debugging, however, this was discussed on the mailing list[1] and it was agreed these methods could be removed. [1] https://sourceware.org/ml/gdb-patches/2018-12/msg00386.html gdb/ChangeLog: * gdb/arc-tdep.c (arc_dummy_id): Delete. (arc_unwind_pc): Delete. (arc_unwind_sp): Delete. (arc_gdbarch_init): Don't register deleted functions with gdbarch. commit 480e46cfc5cf4976c1f1a00bc6254d78e9c45447 Author: Andrew Burgess Date: Sun Sep 9 16:48:59 2018 +0100 gdb/alpha: Use default gdbarch methods where possible Make use of the default gdbarch methods for gdbarch_dummy_id, and gdbarch_unwind_pc. I have not tested this change but, by inspecting the code, I believe the default methods are equivalent to the code being deleted. gdb/ChangeLog: * gdb/alpha-tdep.c (alpha_dummy_id): Delete. (alpha_unwind_pc): Delete. (alpha_gdbarch_init): Don't register deleted functions with gdbarch. commit 7a995095f35f024517ddaa07b8a8ad04463e3ce5 Author: Andrew Burgess Date: Sun Sep 9 15:52:28 2018 +0100 gdb/aarch64: Use default gdbarch methods where possible Make use of the default gdbarch methods for gdbarch_dummy_id, gdbarch_unwind_pc, and gdbarch_unwind_sp where possible. I have not tested this change but, by inspecting the code, I believe the default methods are equivalent to the code being deleted. gdb/ChangeLog: * gdb/aarch64-tdep.c (aarch64_dummy_id): Delete. (aarch64_unwind_pc): Delete. (aarch64_unwind_sp): Delete. (aarch64_gdbarch_init): Don't register deleted functions with gdbarch. commit 52d6f3ee9439bb20c45421ecfeef2a69fd0b5511 Author: Matthew Malcomson Date: Wed Feb 27 13:15:10 2019 +0000 Testsuite: Allow multiple lines of "as" in testsuite. Committed on behalf of Matthew Malcomson. This allows checking the command line parsing more easily than before by allowing many command line invokations from the same .d file. Each line is used as a set of flags, and the tests are ran against the output of the assembler with each set. Each line of assembler is treated as another set of tests (as if the test file were copied to another with a different #as: line). This patch includes some example uses where multiple testcases can be merged into one file using this new functionality. binutils/ChangeLog: * testsuite/lib/binutils-common.exp: Allow multiple "as" lines. gas/ChangeLog: * testsuite/gas/aarch64/dotproduct.d: Use multiple "as" lines. * testsuite/gas/aarch64/dotproduct_armv8_4.d: Remove. * testsuite/gas/aarch64/dotproduct_armv8_4.s: Remove. * testsuite/gas/aarch64/illegal-dotproduct.d: Use multiple "as" lines. * testsuite/gas/aarch64/ldst-rcpc-armv8_2.d: Remove. * testsuite/gas/aarch64/ldst-rcpc.d: Use multiple "as" lines. commit bf9a735e239cb7a27c81aa7c98679f7f83fa8314 Author: Andrew Burgess Date: Fri Feb 22 22:04:53 2019 +0000 gdb: Handle alignment for C++ structures with static members In 'type_align' when computing the alignment of a structure we should not consider the alignment of static structure members, these are usually stored outside of the structure and therefore don't have any impact on the structures alignment requirements. I've extended the existing alignment calculating test to compile in both C and C++ now so that we can create structures with static members. gdb/ChangeLog: * gdbtypes.c (type_align): Don't consider static members when computing structure alignment. gdb/testsuite/ChangeLog: * gdb.base/align.exp: Extend to compile in both C and C++, and add tests for structs with static members. commit 5561fc304ff2a93a33a42df63eaf18b92483b307 Author: Andrew Burgess Date: Fri Feb 22 20:49:04 2019 +0000 gdb: Restructure type_align and gdbarch_type_align This commit restructures the relationship between the type_align function and the gdbarch_type_align method. The problem being addressed with this commit is this; previously the type_align function was structured so that for "basic" types (int, float, etc) the gdbarch_type_align hook was called, which for "compound" types (arrays, structs, etc) the common type_align code has a fixed method for how to extract a "basic" type and would then call itself on that "basic" type. The problem is that if an architecture wants to modify the alignment rules for a "compound" type then this is not currently possible. In the revised structure, all types pass through the gdbarch_type_align method. If this method returns 0 then this indicates that the architecture has no special rules for this type, and GDB should apply the default rules for alignment. However, the architecture is free to provide an alignment for any type, both "basic" and "compound". After this commit the default alignment rules now all live in the type_align function, the default_type_align only ever returns 0, meaning apply the default rules. I've updated the 3 targets (arc, i386, and nios2) that already override the gdbarch_type_align method to fit the new scheme. Tested on X86-64/GNU Linux with no regressions. gdb/ChangeLog: * arc-tdep.c (arc_type_align): Provide alignment for basic types, return 0 for other types. * arch-utils.c (default_type_align): Always return 0. * gdbarch.h: Regenerate. * gdbarch.sh (type_align): Extend comment. * gdbtypes.c (type_align): Add additional comments, always call gdbarch_type_align before applying the default rules. * i386-tdep.c (i386_type_align): Return 0 as the default rule, generic code will then apply a suitable default. * nios2-tdep.c (nios2_type_align): Provide alignment for basic types, return 0 for other types. commit 9335e75a6170fbf76f60548690d5724198cf0440 Author: Joel Brobecker Date: Wed Feb 27 08:59:50 2019 +0400 Update NEWS post GDB 8.3 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 3d34d8de5e10623652ab9f1eda2ff3456f64d13b Author: Joel Brobecker Date: Wed Feb 27 08:53:14 2019 +0400 Bump version to 8.3.50.DATE-git. Now that the GDB 8.3 branch has been created, we can bump the version number. gdb/ChangeLog: GDB 8.3 branch created (143420fb0d5ae54323ba9953f0818c194635228d): * version.in: Bump version to 8.3.50.DATE-git. commit 143420fb0d5ae54323ba9953f0818c194635228d Author: Simon Marchi Date: Tue Feb 26 23:45:50 2019 -0500 Fix build errors in aix-thread.c This patch fixes a few instances of unused variable and shadowed local variable errors. gdb/ChangeLog: * aix-thread.c (ptid_cmp): Remove unused variable. (get_signaled_thread): Likewise. (store_regs_user_thread): Likewise. (store_regs_kernel_thread): Likewise. (fetch_regs_kernel_thread): Remove shadowed variable. commit 8e3173c608015e84c89990b9473189bf797ae0bf Author: GDB Administrator Date: Wed Feb 27 00:00:37 2019 +0000 Automatic date update in version.in commit 172fb711a2336b62cf8d58bbb4b27dc71ca8c02d Author: Andrew Burgess Date: Sat Feb 23 22:07:47 2019 +0200 gdb/riscv: Use legacy register numbers in default target description When the target description support was added to RISC-V, the register numbers assigned to the fflags, frm, and fcsr control registers in the default target descriptions didn't match the register numbers used by GDB before the target description support was added. What this means is that if a tools exists in the wild that is using hard-coded register number, setup to match GDB's old numbering, then this will have been broken (for fflags, frm, and fcsr) by the move to target descriptions. QEMU is such a tool. There are a couple of solutions that could be used to work around this issue: - The user can create their own xml description file with the register numbers setup to match their old tool, then load this by telling GDB 'set tdesc filename FILENAME'. - Update their old tool to use the newer default numbering scheme, or better yet add proper target description support to their tool. - We could have RISC-V GDB change to maintain the old defaults. This patch changes GDB back to using the old numbering scheme. This change is only visible to remote targets that don't supply their own xml description file and instead rely on GDB's default numbering. Note that even though 32bit-cpu.xml and 64bit-cpu.xml have changed, the corresponding .c file has not, this is because the numbering added to the registers in the xml files is number 0, this doesn't result in any new C code being generated . gdb/ChangeLog: * features/riscv/32bit-cpu.xml: Add register numbers. * features/riscv/32bit-fpu.c: Regenerate. * features/riscv/32bit-fpu.xml: Add register numbers. * features/riscv/64bit-cpu.xml: Add register numbers. * features/riscv/64bit-fpu.c: Regenerate. * features/riscv/64bit-fpu.xml: Add register numbers. commit 8791793caa9a3186d4922cc786b6344e6093be73 Author: Tom Tromey Date: Tue Feb 26 12:12:30 2019 -0700 Fix new py-value.exp test case The new test case in py-value.exp fails -- the code was changed to throw ValueError, but the test still checks for TypeError. This patch fixes the problem. I'm checking this in. Tested on x86-64 Fedora 29. gdb/testsuite/ChangeLog 2019-02-26 Tom Tromey * gdb.python/py-value.exp (test_value_from_buffer): Check for ValueError, not TypeError. commit af54ade989cbbb1a43f4bc9d4d2e8e60814306f1 Author: Kevin Buettner Date: Sat Feb 16 18:31:51 2019 -0700 Document two argument form of gdb.Value constructor gdb/ChangeLog: * NEWS: Mention two argument form of gdb.Value constructor. gdb/doc/ChangeLog: * python.texi (Values From Inferior): Document second form of Value.__init__. commit bc2a507e6e90fc5766bd68d368441f5b511c2ef1 Author: Kevin Buettner Date: Sat Feb 16 18:07:51 2019 -0700 Add tests for gdb.Value(bufobj, type) constructor gdb/testsuite/ChangeLog: * gdb.python/py-value.exp (test_value_from_buffer): New proc with call from main program. commit fe07eca59d0544eb6c56c3559da9ceece23cae6e Author: Kevin Buettner Date: Sat Feb 16 17:46:33 2019 -0700 Define gdb.Value(bufobj, type) constructor Provided a buffer BUFOBJ and a type TYPE, construct a gdb.Value object with type TYPE, where the value's contents are taken from BUFOBJ. E.g... (gdb) python import struct (gdb) python unsigned_int_type=gdb.lookup_type('unsigned int') (gdb) python b=struct.pack('=I',0xdeadbeef) (gdb) python v=gdb.Value(b, unsigned_int_type) ; print("%#x" % v) 0xdeadbeef This two argument form of the gdb.Value constructor may also be used to obtain gdb values from selected portions of buffers read with Inferior.read_memory(). The test case (which is in a separate patch) demonstrates this use case. gdb/ChangeLog: * python/py-value.c (convert_buffer_and_type_to_value): New function. (valpy_new): Parse arguments via gdb_PyArg_ParseTupleAndKeywords. Add support for handling an optional second argument. Call convert_buffer_and_type_to_value as appropriate. commit 26c897821b37af894088ec5731f93dc82e79b6d4 Author: Kevin Buettner Date: Sat Feb 16 17:33:47 2019 -0700 Define unique_ptr specialization for Py_buffer. This patch causes PyBuffer_Release() to be called when the associated buffer goes out of scope. I've been using it as follows: ... Py_buffer_up buffer_up; Py_buffer py_buf; if (PyObject_CheckBuffer (obj) && PyObject_GetBuffer (obj, &py_buf, PyBUF_SIMPLE) == 0) { /* Got a buffer, py_buf, out of obj. Cause it to released when it goes out of scope. */ buffer_up.reset (&py_buf); } ... This snippet of code was taken directly from an upcoming patch to python-value.c. gdb/ChangeLog: * python/python-internal.h (Py_buffer_deleter): New struct. (Py_buffer_up): New typedef. commit c31307f9c5022205aaf2dff591457ac8b5c1342d Author: GDB Administrator Date: Tue Feb 26 00:00:25 2019 +0000 Automatic date update in version.in commit 0f58c9e88ebee636206b946b00ea52b47056b320 Author: John Baldwin Date: Mon Feb 25 14:25:01 2019 -0800 Fix BFD leak in dwarf2_get_dwz_file. Previously if build_id_verify failed, dwz_bfd was cleared to NULL via release(), but the BFD object was not destroyed. Use reset() with nullptr instead to delete the BFD. gdb/ChangeLog: * dwarf2read.c (dwarf2_get_dwz_file): Reset dwz_bfd to nullptr instead of releasing ownership. commit 0a0f4c0179106ee4b8e56649c549f4175ebba994 Author: Jordan Rupprecht Date: Mon Feb 25 12:21:01 2019 -0800 Fix crash when loading dwp files When loading dwp files, we create an array of ELF sections indexed by the ELF section index in the dwp file. The size of this array is calculated by section_count, as returned by bfd_count_sections, plus 1 (to account for the null section at index 0). However, when loading the bfd file, strtab/symtab sections are not added to the list, nor do they increment section_count, so section_count is actually smaller than the number of ELF sections. This happens to work when using GNU dwp, which lays out .debug section first, with sections like .shstrtab coming at the end. Other tools, like llvm-dwp, put .strtab first, and gdb crashes when loading those dwp files. For instance, with the current state of gdb, loading a file like this: $ readelf -SW [ 0] [ 1] .debug_foo PROGBITS ... [ 2] .strtab STRTAB ... ... results in section_count = 2 (.debug is the only thing placed into bfd->sections, so section_count + 1 == 2), and sectp->this_idx = 1 when mapping over .debug_foo in dwarf2_locate_common_dwp_sections, which passes the assertion that 1 < 2. However, using a dwp file produced by llvm-dwp: $ readelf -SW [ 0] [ 1] .strtab STRTAB ... [ 2] .debug_foo PROGBITS ... ... results in section_count = 2 (.debug is the only thing placed into bfd->sections, so section_count + 1 == 2), and sectp->this_idx = 2 when mapping over .debug_foo in dwarf2_locate_common_dwp_sections, which fails the assertion that 2 < 2. The assertion hit is: gdb/dwarf2read.c:13009: internal-error: void dwarf2_locate_common_dwp_sections(bfd*, asection*, void*): Assertion `elf_section_nr < dwp_file->num_sections' failed. This patch changes the calculation of section_count to use elf_numsections, which should return the actual number of ELF sections. commit cd5a152cebb201e98f3dbeca510aa39e838a1f62 Author: Tom Tromey Date: Thu Feb 21 10:40:49 2019 -0700 Fix BFD leak in solib-darwin.c commit 192b62ce0b4bb5c61188f570e127a26d2c32f716 ("Use class to manage BFD reference counts") changed darwin_get_dyld_bfd to use: + dyld_bfd.release (); rather than - do_cleanups (cleanup); However, using release here leaks the BFD. Instead, simply assigning "sub" to "dyld_bfd" achieves what was meant. gdb/ChangeLog 2019-02-25 Tom Tromey * solib-darwin.c (darwin_get_dyld_bfd): Don't release dyld_bfd. commit 39f0547e554df96608dd041d2a7b3c72882fd515 Author: Nick Clifton Date: Mon Feb 25 12:15:41 2019 +0000 Extend objdump's --dwarf=follow-links option so that separate debug info files will also be affected by other dump function, and symbol tables from separate debug info files will be used when disassembling the main file. * objdump.c (sym_ok): New function. (find_symbol_for_address): Use new function. (disassemble_section): Compare sections by name, not pointer. (dump_dwarf): Move code to initialise byte_get pointer and iterate over separate debug files from here to ... (dump_bfd): ... here. Add parameter indicating that a separate debug info file is being dumped. For main file, pull in the symbol tables from all separate debug info files. (display_object): Update call to dump_bfd. * doc/binutils.texi: Document extened behaviour of the --dwarf=follow-links option. * NEWS: Mention this new feature. * testsuite/binutils-all/objdump.WK2: Update expected output. * testsuite/binutils-all/objdump.exp (test_follow_debuglink): Add options and dump file parameters. Add extra test. * testsuite/binutils-all/objdump.WK3: New file. * testsuite/binutils-all/readelf.exp: Change expected output for readelf -wKis test. * testsuite/binutils-all/readelf.wKis: New file. commit 60245a92ce2c16d0b43987c2442b1a125652b832 Author: GDB Administrator Date: Mon Feb 25 00:00:31 2019 +0000 Automatic date update in version.in commit a894d76ab1afb0e16116eb16eef3f5621d62e6ab Author: Alan Modra Date: Sun Feb 24 18:01:08 2019 +1030 Re: PowerPC __tls_get_addr arg parsing Fixes non-ELF powerpc build failure: tc-ppc.c:3009:1: error: ‘parse_tls_arg’ defined but not used * config/tc-ppc.c (parse_tls_arg): Wrap in #ifdef OBJ_ELF. commit f616c36b79d0776e51213b177e45a0f5d386cc58 Author: Alan Modra Date: Sun Feb 24 16:44:48 2019 +1030 PR24144, pdp11-ld overwriting section data with zeros bfd/ PR 24144 * pdp11.c (set_section_contents): Revert 2015-02-24 change. gas/ PR 24144 * config/obj-aout.c (obj_aout_frob_file_before_fix): Write to end of section to ensure file contents cover aligned section size. commit 4323c5ad3cbcb2a3d2178d778278109f24071b26 Author: GDB Administrator Date: Sun Feb 24 00:01:17 2019 +0000 Automatic date update in version.in commit 8a6a85134d78531c6adb72a888844f7cfa3a5c56 Author: Sergio Durigan Junior Date: Sat Feb 23 10:05:19 2019 -0500 Use '--readnever' when invoking GDB from gcore.in Back when I proposed the '--readnever' feature, I somehow forgot or decided not to include the bits related to gcore.in in the original patch. This patch finally updates the gcore script to invoke GDB using '--readnever'. We've been carrying this patch on Fedora GDB for quite some time, and as expected the corefiles generated by gcore on Fedora don't have problems, which I think is the best indicator that the it's safe to generate corefiles using '--readnever'. gdb/ChangeLog: 2019-02-23 Sergio Durigan Junior * gcore.in: Add '--readnever' option when invoking GDB. commit e0e7d3bd218e50275b4c9c9fbf2d3123c73372a9 Author: Joel Brobecker Date: Sat Feb 23 16:23:22 2019 +0400 Update copyright year range in gdb.ada/mi_ref_changeable testcase This patch fixes the copyright year range which escaped the 2019 update, because the patch was submitted in 2018, but only really pushed in 2019. Pushed: https://www.sourceware.org/ml/gdb-patches/2019-02/msg00109.html Submitted: https://www.sourceware.org/ml/gdb-patches/2018-12/msg00444.html We normally are pretty good at remembering those little things, but this one fell through the cracks. This commit fixes this, by re-running the copyright.py script and checking in the changes made by that script. gdb/testsuite/ChangeLog: * gdb.ada/mi_ref_changeable.exp: Update copyright year range. * gdb.ada/mi_ref_changeable/foo_rb20_056.adb: Likewise. * gdb.ada/mi_ref_changeable/pck.adb: Likewise. * gdb.ada/mi_ref_changeable/pck.ads: Likewise. * gdb.dwarf2/inlined_subroutine-inheritance.exp: Likewise. commit c97a773961ce40dfe021ff9133ed27f077cfd8eb Author: Joel Brobecker Date: Sat Feb 23 16:14:23 2019 +0400 Update copyright year range in gdb.texinfo and refcard.tex I missed those files which need to be updated manually when I did the copyright year range update. The copyright.py script reminds us of that fact with the following message at the end... REMINDER: Multiple copyright headers must be updated by hand: gdb/doc/gdb.texinfo gdb/doc/refcard.tex gdb/gdbarch.sh ... and somehow I missed this. This commit makes the change for gdb.texinfo and refcard.tex. gdbarch.sh is being updated separately by Andrew Burgess. gdb/doc/ChangeLog: * gdb.texinfo: Update copyright year ranges. * refcard.tex: Likewise. commit 8a7a93c20aa7c7545ba5ad33e4a127cdf0dd3466 Author: GDB Administrator Date: Sat Feb 23 00:00:56 2019 +0000 Automatic date update in version.in commit 04dcda9cb0c79b2f27a2f38aedec63da51538ad0 Author: Simon Marchi Date: Fri Feb 22 15:53:52 2019 -0500 Update my email address Since this is my last day at Ericsson, I am changing my email for my personal one in the MAINTAINERS file. commit 07bc701d03167b8006835da583a03d98177cd4b6 Author: Simon Marchi Date: Fri Feb 22 15:09:23 2019 -0500 Look for build-id-based separate debug files under the sysroot When looking for a separate debug file that matches a given build-id, GDB only looks in the host's debug dir (typically /usr/lib/debug). This patch makes it look in the sysroot as well. This is to match the behavior of GDB when using debuglink-based separate debug files, introduced in : 402d2bfec42 ("Look for separate debug files in debug directories under a sysroot.") In the following example, my sysroot is "/tmp/sysroot" and I am trying to load symbols for /tmp/sysroot/usr/lib/arm-linux-gnueabihf/gconv/EBCDIC-AT-DE.so. This is the current behavior: (gdb) file /tmp/sysroot/usr/lib/arm-linux-gnueabihf/gconv/EBCDIC-AT-DE.so Reading symbols from /tmp/sysroot/usr/lib/arm-linux-gnueabihf/gconv/EBCDIC-AT-DE.so... Looking for separate debug info (build-id) for /tmp/sysroot/usr/lib/arm-linux-gnueabihf/gconv/EBCDIC-AT-DE.so Trying /usr/lib/debug/.build-id/f3/d6594d2600e985812cd4ba2ad083ac2aceae22.debug... no, unable to compute real path (No debugging symbols found in /tmp/sysroot/usr/lib/arm-linux-gnueabihf/gconv/EBCDIC-AT-DE.so) With this patch: (gdb) file /tmp/sysroot/usr/lib/arm-linux-gnueabihf/gconv/EBCDIC-AT-DE.so Reading symbols from /tmp/sysroot/usr/lib/arm-linux-gnueabihf/gconv/EBCDIC-AT-DE.so... Looking for separate debug info (build-id) for /tmp/sysroot/usr/lib/arm-linux-gnueabihf/gconv/EBCDIC-AT-DE.so Trying /usr/lib/debug/.build-id/f3/d6594d2600e985812cd4ba2ad083ac2aceae22.debug... no, unable to compute real path Trying /tmp/sysroot/usr/lib/debug/.build-id/f3/d6594d2600e985812cd4ba2ad083ac2aceae22.debug... yes! Reading symbols from /tmp/sysroot/usr/lib/debug/.build-id/f3/d6594d2600e985812cd4ba2ad083ac2aceae22.debug... In the original code, there is a suspicious "abfd.release ()" in build_id_to_debug_bfd, that I don't understand. If a file with the right name exists but its build-id note doesn't match, we release (leak) our reference, meaning the file will stay open? I removed it in the new code, so that the reference is dropped if we end up not using that file. I tested briefly by corrupting a separate debug file to trigger this code, nothing exploded. gdb/ChangeLog: * build-id.c (build_id_to_debug_bfd_1): New function. (build_id_to_debug_bfd): Look for separate debug file in sysroot. commit c6f4a5d0ed1ff54b5d46bdbadaa4ad811de1b715 Author: Andrew Burgess Date: Fri Feb 22 20:12:21 2019 +0000 gdb: Update copyright year range generated by gdbarch.sh The copyright year that gdbarch.sh places into the generated files gdbarch.{c,h} wasn't updated at the start of the year. After this commit the gdbarch.{c,h} files regenerate as the currently are in the tree. gdb/ChangeLog: * gdbarch.sh: Update the copyright year range that is placed into generated files. commit 9600246debb2489725a76334cc237dd289f6b5de Author: Keith Seitz Date: Fri Feb 22 12:05:37 2019 -0800 Add missing ChangeLog entries for commit bb995d00b3eef2f48d0be895c3509a7ddd8280a1 commit bb995d00b3eef2f48d0be895c3509a7ddd8280a1 Author: Keith Seitz Date: Fri Feb 22 09:39:35 2019 -0800 Fix symtab/23853: symlinked default symtab This patch attempts to fix a bug dealing with setting breakpoints in default symtabs that are symlinks. For example: (gdb) list 11 GNU General Public License for more details. 12 13 You should have received a copy of the GNU General Public License 14 along with this program. If not, see . */ 15 16 static int 17 foo (void) 18 { 19 return 0; /* break here */ 20 } (gdb) 21 22 int 23 main (void) 24 { 25 return foo (); 26 } (gdb) b 19 No line 19 in the current file. Make breakpoint pending on future shared library load? (y or [n]) The problem here is that when create_sals_line_offset sets the default symtab, it immediately calls symtab_to_fullname, passing that fullname to collect_symtabs_from_filename to find all matching symtabs. This fails because we end up looking for a symtab with the name of the actual file on disk (which is different in this case because of the symlink) instead of the one stored in the debug info. Since we already have the lookup name of the default symtab, use it instead of the fullname. [This fullname thing was originally added in 2007 in a series dealing with *displaying* absolute file names. Clearly, this instance has nothing to do with the display of file names.] gdb/ChangeLog PR symtab/23853 * linespec.c (create_sals_line_offset): Search for the default symtab's filename instead of its fullname. gdb/testsuite/ChangeLog PR symtab/23853 * gdb.base/symlink-sourcefile.c: New file. * gdb.base/symlink-sourcefile.exp: New file. commit 24841daa74f092f7c5639ee8f1fb303c7694dee7 Author: Nick Clifton Date: Fri Feb 22 10:36:24 2019 +0000 Extend readelf and objdump so that they will display and follow multiple links to separate debug information files. PR 23843 * dwarf.h (struct separate_info): New structure for containing information on separate debug info files. * dwarf.c (struct dwo_info): New structure for containing dwo links. (first_dwo_info): Chain of dwo_info structures. (first_separate_file): Chain of separate_info structures. (separate_debug_file, separate_debug_filename): Delete. (fetch_alt_indirect_string): Scan all separate debug info files for the requested string. (add_dwo_info): New function. (add_dwo_name): New function. (add_dwo_dir): New function. (add_dwo_id: New function. (free_dwo_info): New function. (read_and_display_attr_value): Store DWO data using the new functions. (load_debug_section_with_follow): If necessary, scan the list of separate debug info files for the requested section. (add_separate_debug_file): New function. (load_separate_debug_info): Call add_separate_debug_file to store the information on the newly loaded file. (load_dwo_file): Likewise. (load_separate_debif_file): Rename to load_separate_debug_files. Change return type to boolean. If following links then attempt to load all separate debug info files, not just the first one. (free_debug_memory): Release memory in dwo_info and separate_info chains. * objdump.c (dump_dwarf): Iterate over all loaded debg info files. * readelf.c (process_object): Likewise. * doc/debug.options.texi: Update descriptions of links and follow-links options. * testsuite/binutils-all/objdump.WK2: Update expected output. * testsuite/binutils-all/readelf.k2: Likewise. * NEWS: Announce the new feature. commit 83f43c8344d752fb8266b4c4e2f42cf4e5a2f86e Author: Kyrylo Tkachov Date: Fri Feb 22 09:59:05 2019 +0000 [arm][gas] Add support for Neoverse N1 This adds support for the Neoverse N1 CPU [1] to gas. This was previously enabled under the Ares codename, which remains as a valid option for -mcpu for compatibility reasons. make check-gas passes on arm-none-eabi. [1] https://community.arm.com/processors/b/blog/posts/arm-neoverse-n1-platform-accelerating-the-transformation-to-a-scalable-cloud-to-edge-infrastructure 2019-02-21 Kyrylo Tkachov * config/tc-arm.c (arm_cpus): Add neoverse-n1. * doc/c-arm.texi (-mcpu): Document neoverse-n1 value. commit 516dbc441811c51e29ad668f0bb187cb91d5b25e Author: Kyrylo Tkachov Date: Fri Feb 22 09:57:45 2019 +0000 [AArch64][gas] Add support for Neoverse E1 This adds support for the Neoverse E1 CPU [1] to gas. make check-gas passes on aarch64-none-elf. [1] https://community.arm.com/processors/b/blog/posts/arm-neoverse-e1-platform-empowering-the-infrastructure-to-meet-next-generation-throughput-demands 2019-02-21 Kyrylo Tkachov * config/tc-aarch64.c (aarch64_cpus): Add neoverse-e1. * doc/c-aarch64.texi (-mcpu): Document neoverse-e1 value. commit 38e75bf22300aad8029a9765bad2ae75e914ad56 Author: Kyrylo Tkachov Date: Fri Feb 22 09:56:50 2019 +0000 [AArch64][gas] Add support for Neoverse N1 This adds support for the Neoverse N1 [1] CPU to gas. This was previously enabled under the Ares codename, which remains as a valid option for -mcpu for compatibility reasons. make check-gas passes on aarch64-none-elf. [1] https://community.arm.com/processors/b/blog/posts/arm-neoverse-n1-platform-accelerating-the-transformation-to-a-scalable-cloud-to-edge-infrastructure 2019-02-21 Kyrylo Tkachov * config/tc-aarch64.c (aarch64_cpus): Add neoverse-n1. * doc/c-aarch64.texi (-mcpu): Document neoverse-n1 value. commit 871f0fc66ad8e9b0893dc113caf678dda99a7c87 Author: GDB Administrator Date: Fri Feb 22 00:00:37 2019 +0000 Automatic date update in version.in commit 7557a51431744346c5d281e1b3a55b1fb985cbad Author: Alan Hayward Date: Thu Feb 21 18:20:21 2019 +0000 Document style behavior in batch mode. Style is disabled when running in batch mode. gdb/ChangeLog: * NEWS: Update style defaults. gdb/doc/ChangeLog: * gdb.texinfo: Update style defaults. commit 2d8b68309f4a4292c27ccfd598bb01b8f6e5c4b1 Author: Tom Tromey Date: Thu Feb 21 07:26:52 2019 -0700 Fix typo in "show remotelogfile" docs I noticed a trailing "." in the @item for "show remotelogfile". This removes it. Committing as obvious. gdb/doc/ChangeLog 2019-02-21 Tom Tromey * gdb.texinfo (Remote Configuration): Remove trailing "." from @item. commit ee2bcb0c356d86d7bd2ff525b84a7602bb2bc816 Author: Alan Hayward Date: Thu Feb 21 13:17:32 2019 +0000 Disable styling when running in batch mode The GCC Guality testsuite within GCC compiles C/C++ files in GCC at various optimization levels then debugs them in GDB, checking that program values can be read. This is done within the dejagnu framework. The new style options in GDB have broken many of the tests due to the testsuite being unable to process the new control characters. The fix in Guality is to either to improve the string matching or to disable styling on the cli or init file (after checking gdb is recent enough to support styling). This fix will also need making an any other testsuites in the wild that use GDB. An alternative would be to automatically disable styling when using GDB in batch mode. The reasoning here is that batch mode is only used when automating GDB and any output will be processed later either with text processing tools or viewed in text editors, many of these will not correctly handle the control characters by default. This ensures GDB continues to work as expected. Anyone who explicitly wants styling in batch mode can enable it either in the init file or adding to the batch file - but that would not be the standard use case. Patch simply disables style after reading the batch command flag, before reading in the init file or batch file. gdb/ChangeLog: * main.c (captured_main_1): Disable styling in batch mode. commit 5cacf1c88f8afa5a3a1fb6d88c297e19d99f21e0 Author: Nick Clifton Date: Thu Feb 21 10:54:12 2019 +0000 Fix illegal memory accesses by readelf when parsing corrupt IA64 unwind information. PR 24247 * unwind-ia64.c: Include sysdep.h. (unw_decode_x1): Check current pointer against end pointer before accessing memory. (unw_decode_x2): Likewise. (unw_decode_x3): Likewise. (unw_decode_x4): Likewise. (unw_decode_r2): Likewise. (unw_decode_p2_p5): Likewise. (unw_decode_p7_p10): Likewise. (unw_decode): Likewise. commit 160eba9301df423116377113f2d4189d785c7dde Author: Alan Modra Date: Thu Feb 21 17:41:47 2019 +1030 PowerPC __tls_get_addr arg parsing The syntax we ended up with for -m32 -fPIC calls to __tls_get_addr is rather weird. bl __tls_get_addr+0x8000(gd0@tlsgd)@plt This came about by accident, probably due to requiring the arg reloc before the call reloc. Of course the @plt really belongs with __tls_get_addr since it affects the call rather than the call arg, and it isn't a great deal of trouble to ensure the relocs are emitted in the correct order. This patch supports a newer syntax, like so: bl __tls_get_addr+0x8000@plt(gd0@tlsgd) gas/ * config/tc-ppc.c (parse_tls_arg): New function, extracted.. (md_assembler): ..from here. Call it after parsing other suffix modifiers too. ld/ * testsuite/ld-powerpc/tls32.s: Test new @plt syntax. commit 56b80d4c4c24c6acacad15530a3a7b483b6e0f3f Author: GDB Administrator Date: Thu Feb 21 00:00:40 2019 +0000 Automatic date update in version.in commit 0c95f9ed6c0978ae421048552c15065d32c45c30 Author: Tom Tromey Date: Fri Feb 8 01:19:36 2019 -0700 Fix typos in symtab_symbol_info symtab_symbol_info has a couple of messages that say "regulation expression". I think "regular expression" was meant, so this patch changes it. gdb/ChangeLog 2019-02-20 Tom Tromey * symtab.c (symtab_symbol_info): Fix typos. gdb/testsuite/ChangeLog 2019-02-20 Tom Tromey * gdb.base/info_qt.exp: Update. commit 3ca60c57a715bbefc091949dd2381bab1b124715 Author: Nick Clifton Date: Wed Feb 20 17:51:21 2019 +0000 Fix potential illegal memory access by readelf when parsing a binary containing corrupt system tap notes. PR 24246 * readelf.c (print_stapsdt_note): Harden against corrupt notes. commit 171375c68e809e97b5653ef424f80d46956a50e8 Author: Nick Clifton Date: Wed Feb 20 17:25:33 2019 +0000 Fix potential illegal memory access by readelf when parsing corrupt IA64 unwind information. PR 24244 * unwind-ia64.c (unw_decode_uleb128): Add end parameter, use it to prevent walking off the end of the buffer. (unw_decode_x1): Add end paramter, pass it to unw_decode_uleb128. (unw_decode_x2): Likewise. (unw_decode_x3): Likewise. (unw_decode_x4): Likewise. (unw_decode_r2): Pass the end parameter to unw_decode_uleb128. (unw_decode_r3): Likewise. (unw_decode_p7_p10): Likewise. (unw_decode_b2): Likewise. (unw_decode_b3_x4): Likewise. commit 7fc0c668f2aceb8582d74db1ad2528e2bba8a921 Author: Nick Clifton Date: Wed Feb 20 17:03:47 2019 +0000 Fix a illegal memory access fault when parsing a corrupt MIPS option section using readelf. PR 24243 * readelf.c (process_mips_specific): Check for an options section that is too small to even contain a single option. commit 8d18bf796bf70d71eb23f4247e29a1fab5f3c5c7 Author: Nick Clifton Date: Wed Feb 20 15:35:06 2019 +0000 Harden readelf's IA64 note display function so that it can handle corrupt notes. PR 24242 * readelf.c (print_ia64_vms_note): Harden against corrupt notes. commit c763b8943348582e651dda24f88bb9f8db24672b Author: Tom Tromey Date: Thu Feb 14 07:58:58 2019 -0700 Use upper case for metasyntactic variables in "help find" While answering a user's question on irc, I realized that the metasyntactic variables in "help find" are not in upper case. As you know this is one of my pet quests, so here is a patch to fix this. Tested on x86-64 Fedora 29. gdb/ChangeLog 2019-02-20 Tom Tromey * findcmd.c (_initialize_mem_search): Use upper case for metasyntactic variables. commit 0ef8a082c32f34827479f2df8fbd431e08acd2d8 Author: Alan Hayward Date: Wed Feb 20 11:56:23 2019 +0000 AArch64: Add default reggroups AArch64 does not define any reggroups. This causes "maintenance print reggroups" to dump the default set (which is ok). However, if a new group is added via an xml file, then this now becomes the only group. Fixes gdb.xml/tdesc-regs.exp on AArch64. gdb/ChangeLog: * aarch64-tdep.c (aarch64_add_reggroups): New function (aarch64_gdbarch_init): Call aarch64_add_reggroups. commit eed62915fd5b733632af343fbf3d47c7364f8e36 Author: Max Filippov Date: Fri Feb 15 16:43:23 2019 -0800 bfd: xtensa: fix callx relaxation Big section alignment requirements between source and destination of a long call can result in making call range bigger than what's reachable by the call opcode. Add biggest section alignment of sections between the call site and call destination to the call distance when making long call relaxation decision. 2019-02-20 Eric Tsai bfd/ * elf32-xtensa.c (is_resolvable_asm_expansion): Scan output sections between the call site and call destination and adjust call distance by the largest alignment. ld/ * testsuite/ld-xtensa/call_overflow.d: New test definition. * testsuite/ld-xtensa/call_overflow1.s: New test source. * testsuite/ld-xtensa/call_overflow2.s: New test source. * testsuite/ld-xtensa/call_overflow3.s: New test source. * testsuite/ld-xtensa/xtensa.exp: Add call_overflow test. commit e6c3b5bfb449d1a02d26f3c4bae5b732951479fc Author: Alan Hayward Date: Wed Feb 20 10:39:28 2019 +0000 AArch64: Add pauth core file section Used for the AArch64 pointer authentication code mask registers in Arm v8.3-a. NT_ARM_PAC_MASK matches the value in Linux include/uapi/linux/elf.h include/ChangeLog: * elf/common.h (NT_ARM_PAC_MASK): Add define. bfd/ChangeLog: * elf-bfd.h (elfcore_write_aarch_pauth): Add declaration. * elf.c (elfcore_grok_aarch_pauth): New function. (elfcore_grok_note): Check for NT_ARM_PAC_MASK. (elfcore_write_aarch_pauth): New function. (elfcore_write_register_note): Check for AArch64 pauth section. commit 34d75fb5c419a23922174c520e124523e01114c4 Author: Alan Modra Date: Wed Feb 20 18:54:41 2019 +1030 Check asprintf return value git a31b8bd9a05 introduced a warning (depending on your system headers). PR 24225 * elf32-nios2.c (nios2_elf32_relocate_section): Check asprintf return value. commit c22b42ce308eb538050b4b5789e406b63102b35a Author: Alan Modra Date: Wed Feb 20 18:22:50 2019 +1030 Unsigned integer overflows in readelf checks PR 24132 PR 24138 * readelf.c (get_data): Avoid possibility of overflow when checking for a read that may extend past end of file. (process_program_headers): Likewise. commit edd01d077c5f7a0f76ec4fb77b5b9f5b151fa50a Author: Michael Roitzsch Date: Wed Feb 20 14:47:40 2019 +1030 Use or1k-darwin host SHARED_LIBADD for *-darwin. * configure.ac (SHARED_LIBADD): Add -liberty -lintl for all Darwin hosts, not just or1k. * configure: Regenerate. commit 7d272a55caebfc26ab2e15d1e9439bac978b9bb7 Author: Alan Modra Date: Wed Feb 20 12:06:31 2019 +1030 PR24233, Out of memory PR 24233 * objdump.c (dump_bfd_private_header): Print warning if bfd_print_private_bfd_data returns false. commit 6caa91b6e58a563be7eeb2844fd2622158d78354 Author: Simon Marchi Date: Tue Feb 19 21:10:18 2019 -0500 Fix error message and use-after-free on errors in nested sourced files Errors that happen in nested sourced files (when a sourced file sources another file) lead to a wrong error message, or use-after-free. For example, if I put this in "a.gdb": command_that_doesnt_exist and this in "b.gdb": source a.gdb and try to "source b.gdb" in GDB, the result may look like this: (gdb) source b.gdb b.gdb:1: Error in sourced command file: _that_doesnt_exist:1: Error in sourced command file: Undefined command: "command_that_doesnt_exist". Try "help". Notice the wrong file name where "a.gdb" should be. The exact result may differ, depending on the feelings of the memory allocator. What happens is: - The "source a.gdb" command is saved by command_line_append_input_line in command_line_input's static buffer. - Since we are sourcing a file, the script_from_file function stores the script name (a.gdb) in the source_file_name global. However, it doesn't do a copy, it just saves a pointer to command_line_input's static buffer. - The "command_that_doesnt_exist" command is saved by command_line_append_input_line in command_line_input's static buffer. Depending on what xrealloc does, source_file_name may now point to freed memory, or at the minimum the data it was pointing to was overwritten. - When the error is handled in script_from_file, we dererence source_file_name to print the name of the file in which the error occured. To fix it, I made source_file_name an std::string, so that keeps a copy of the file name instead of pointing to a buffer with a too small lifetime. With this patch, the expected filename is printed, and no use-after-free occurs: (gdb) source b.gdb b.gdb:1: Error in sourced command file: a.gdb:1: Error in sourced command file: Undefined command: "command_that_doesnt_exist". Try "help". I passed explicit template parameters to make_scoped_restore (), so that the second parameter is passed by reference and avoid a copy. It was not as obvious as I first thought to change gdb.base/source.exp to test this, because source commands inside sourced files are interpreted relative to GDB's current working directory, not the directory of the currently sourced file. As a workaround, I moved the snippet that tests errors after the snippet that adds the source directory to the search path. This way, the "source source-error-1.gdb" line in source-error.exp manages to find the file. For reference, here is what ASAN reports when use-after-free occurs: (gdb) source b.gdb ================================================================= ==18498==ERROR: AddressSanitizer: heap-use-after-free on address 0x60c000019847 at pc 0x7f1d3645de8e bp 0x7ffdcb892e50 sp 0x7ffdcb8925c8 READ of size 6 at 0x60c000019847 thread T0 #0 0x7f1d3645de8d in printf_common /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors_format.inc:546 #1 0x7f1d36477175 in __interceptor_vasprintf /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:1525 #2 0x5632eaffa277 in xstrvprintf(char const*, __va_list_tag*) /home/simark/src/binutils-gdb/gdb/common/common-utils.c:122 #3 0x5632eaff96d1 in throw_it /home/simark/src/binutils-gdb/gdb/common/common-exceptions.c:351 #4 0x5632eaff98df in throw_verror(errors, char const*, __va_list_tag*) /home/simark/src/binutils-gdb/gdb/common/common-exceptions.c:379 #5 0x5632eaff9a2a in throw_error(errors, char const*, ...) /home/simark/src/binutils-gdb/gdb/common/common-exceptions.c:394 #6 0x5632eafca21a in script_from_file(_IO_FILE*, char const*) /home/simark/src/binutils-gdb/gdb/cli/cli-script.c:1553 #7 0x5632eaf8a500 in source_script_from_stream /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:569 #8 0x5632eaf8a735 in source_script_with_search /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:605 #9 0x5632eaf8ab20 in source_command /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:664 #10 0x5632eafa8b4a in do_const_cfunc /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:106 #11 0x5632eafb0687 in cmd_func(cmd_list_element*, char const*, int) /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:1892 #12 0x5632ebf3dd87 in execute_command(char const*, int) /home/simark/src/binutils-gdb/gdb/top.c:630 #13 0x5632eb3b25d3 in command_handler(char const*) /home/simark/src/binutils-gdb/gdb/event-top.c:583 #14 0x5632ebf3cf09 in read_command_file(_IO_FILE*) /home/simark/src/binutils-gdb/gdb/top.c:425 #15 0x5632eafca054 in script_from_file(_IO_FILE*, char const*) /home/simark/src/binutils-gdb/gdb/cli/cli-script.c:1547 #16 0x5632eaf8a500 in source_script_from_stream /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:569 #17 0x5632eaf8a735 in source_script_with_search /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:605 #18 0x5632eaf8ab20 in source_command /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:664 #19 0x5632eafa8b4a in do_const_cfunc /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:106 #20 0x5632eafb0687 in cmd_func(cmd_list_element*, char const*, int) /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:1892 #21 0x5632ebf3dd87 in execute_command(char const*, int) /home/simark/src/binutils-gdb/gdb/top.c:630 #22 0x5632eb3b25d3 in command_handler(char const*) /home/simark/src/binutils-gdb/gdb/event-top.c:583 #23 0x5632eb3b2f87 in command_line_handler(std::unique_ptr >&&) /home/simark/src/binutils-gdb/gdb/event-top.c:770 #24 0x5632eb3b0fe1 in gdb_rl_callback_handler /home/simark/src/binutils-gdb/gdb/event-top.c:213 #25 0x5632ec1c8729 in rl_callback_read_char /home/simark/src/binutils-gdb/readline/callback.c:220 #26 0x5632eb3b0b8f in gdb_rl_callback_read_char_wrapper_noexcept /home/simark/src/binutils-gdb/gdb/event-top.c:175 #27 0x5632eb3b0da1 in gdb_rl_callback_read_char_wrapper /home/simark/src/binutils-gdb/gdb/event-top.c:192 #28 0x5632eb3b2186 in stdin_event_handler(int, void*) /home/simark/src/binutils-gdb/gdb/event-top.c:511 #29 0x5632eb3aa6a9 in handle_file_event /home/simark/src/binutils-gdb/gdb/event-loop.c:733 #30 0x5632eb3aaf41 in gdb_wait_for_event /home/simark/src/binutils-gdb/gdb/event-loop.c:859 #31 0x5632eb3a88ea in gdb_do_one_event() /home/simark/src/binutils-gdb/gdb/event-loop.c:347 #32 0x5632eb3a89bf in start_event_loop() /home/simark/src/binutils-gdb/gdb/event-loop.c:371 #33 0x5632eb76fbfc in captured_command_loop /home/simark/src/binutils-gdb/gdb/main.c:330 #34 0x5632eb772ea8 in captured_main /home/simark/src/binutils-gdb/gdb/main.c:1176 #35 0x5632eb773071 in gdb_main(captured_main_args*) /home/simark/src/binutils-gdb/gdb/main.c:1192 #36 0x5632eabfe7f9 in main /home/simark/src/binutils-gdb/gdb/gdb.c:32 #37 0x7f1d3554f222 in __libc_start_main (/usr/lib/libc.so.6+0x24222) #38 0x5632eabfe5dd in _start (/home/simark/build/binutils-gdb/gdb/gdb+0x195d5dd) 0x60c000019847 is located 7 bytes inside of 128-byte region [0x60c000019840,0x60c0000198c0) freed by thread T0 here: #0 0x7f1d36502491 in __interceptor_realloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:105 #1 0x5632eaff9f47 in xrealloc /home/simark/src/binutils-gdb/gdb/common/common-utils.c:62 #2 0x5632eaff6b44 in buffer_grow(buffer*, char const*, unsigned long) /home/simark/src/binutils-gdb/gdb/common/buffer.c:40 #3 0x5632eb3b271d in command_line_append_input_line /home/simark/src/binutils-gdb/gdb/event-top.c:614 #4 0x5632eb3b28c6 in handle_line_of_input(buffer*, char const*, int, char const*) /home/simark/src/binutils-gdb/gdb/event-top.c:654 #5 0x5632ebf402a6 in command_line_input(char const*, char const*) /home/simark/src/binutils-gdb/gdb/top.c:1252 #6 0x5632ebf3cee9 in read_command_file(_IO_FILE*) /home/simark/src/binutils-gdb/gdb/top.c:422 #7 0x5632eafca054 in script_from_file(_IO_FILE*, char const*) /home/simark/src/binutils-gdb/gdb/cli/cli-script.c:1547 #8 0x5632eaf8a500 in source_script_from_stream /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:569 #9 0x5632eaf8a735 in source_script_with_search /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:605 #10 0x5632eaf8ab20 in source_command /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:664 #11 0x5632eafa8b4a in do_const_cfunc /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:106 #12 0x5632eafb0687 in cmd_func(cmd_list_element*, char const*, int) /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:1892 #13 0x5632ebf3dd87 in execute_command(char const*, int) /home/simark/src/binutils-gdb/gdb/top.c:630 #14 0x5632eb3b25d3 in command_handler(char const*) /home/simark/src/binutils-gdb/gdb/event-top.c:583 #15 0x5632ebf3cf09 in read_command_file(_IO_FILE*) /home/simark/src/binutils-gdb/gdb/top.c:425 #16 0x5632eafca054 in script_from_file(_IO_FILE*, char const*) /home/simark/src/binutils-gdb/gdb/cli/cli-script.c:1547 #17 0x5632eaf8a500 in source_script_from_stream /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:569 #18 0x5632eaf8a735 in source_script_with_search /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:605 #19 0x5632eaf8ab20 in source_command /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:664 #20 0x5632eafa8b4a in do_const_cfunc /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:106 #21 0x5632eafb0687 in cmd_func(cmd_list_element*, char const*, int) /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:1892 #22 0x5632ebf3dd87 in execute_command(char const*, int) /home/simark/src/binutils-gdb/gdb/top.c:630 #23 0x5632eb3b25d3 in command_handler(char const*) /home/simark/src/binutils-gdb/gdb/event-top.c:583 #24 0x5632eb3b2f87 in command_line_handler(std::unique_ptr >&&) /home/simark/src/binutils-gdb/gdb/event-top.c:770 #25 0x5632eb3b0fe1 in gdb_rl_callback_handler /home/simark/src/binutils-gdb/gdb/event-top.c:213 #26 0x5632ec1c8729 in rl_callback_read_char /home/simark/src/binutils-gdb/readline/callback.c:220 #27 0x5632eb3b0b8f in gdb_rl_callback_read_char_wrapper_noexcept /home/simark/src/binutils-gdb/gdb/event-top.c:175 #28 0x5632eb3b0da1 in gdb_rl_callback_read_char_wrapper /home/simark/src/binutils-gdb/gdb/event-top.c:192 #29 0x5632eb3b2186 in stdin_event_handler(int, void*) /home/simark/src/binutils-gdb/gdb/event-top.c:511 previously allocated by thread T0 here: #0 0x7f1d36502491 in __interceptor_realloc /build/gcc/src/gcc/libsanitizer/asan/asan_malloc_linux.cc:105 #1 0x5632eaff9f47 in xrealloc /home/simark/src/binutils-gdb/gdb/common/common-utils.c:62 #2 0x5632eaff6b44 in buffer_grow(buffer*, char const*, unsigned long) /home/simark/src/binutils-gdb/gdb/common/buffer.c:40 #3 0x5632eb3b271d in command_line_append_input_line /home/simark/src/binutils-gdb/gdb/event-top.c:614 #4 0x5632eb3b28c6 in handle_line_of_input(buffer*, char const*, int, char const*) /home/simark/src/binutils-gdb/gdb/event-top.c:654 #5 0x5632ebf402a6 in command_line_input(char const*, char const*) /home/simark/src/binutils-gdb/gdb/top.c:1252 #6 0x5632ebf3cee9 in read_command_file(_IO_FILE*) /home/simark/src/binutils-gdb/gdb/top.c:422 #7 0x5632eafca054 in script_from_file(_IO_FILE*, char const*) /home/simark/src/binutils-gdb/gdb/cli/cli-script.c:1547 #8 0x5632eaf8a500 in source_script_from_stream /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:569 #9 0x5632eaf8a735 in source_script_with_search /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:605 #10 0x5632eaf8ab20 in source_command /home/simark/src/binutils-gdb/gdb/cli/cli-cmds.c:664 #11 0x5632eafa8b4a in do_const_cfunc /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:106 #12 0x5632eafb0687 in cmd_func(cmd_list_element*, char const*, int) /home/simark/src/binutils-gdb/gdb/cli/cli-decode.c:1892 #13 0x5632ebf3dd87 in execute_command(char const*, int) /home/simark/src/binutils-gdb/gdb/top.c:630 #14 0x5632eb3b25d3 in command_handler(char const*) /home/simark/src/binutils-gdb/gdb/event-top.c:583 #15 0x5632eb3b2f87 in command_line_handler(std::unique_ptr >&&) /home/simark/src/binutils-gdb/gdb/event-top.c:770 #16 0x5632eb3b0fe1 in gdb_rl_callback_handler /home/simark/src/binutils-gdb/gdb/event-top.c:213 #17 0x5632ec1c8729 in rl_callback_read_char /home/simark/src/binutils-gdb/readline/callback.c:220 #18 0x5632eb3b0b8f in gdb_rl_callback_read_char_wrapper_noexcept /home/simark/src/binutils-gdb/gdb/event-top.c:175 #19 0x5632eb3b0da1 in gdb_rl_callback_read_char_wrapper /home/simark/src/binutils-gdb/gdb/event-top.c:192 #20 0x5632eb3b2186 in stdin_event_handler(int, void*) /home/simark/src/binutils-gdb/gdb/event-top.c:511 #21 0x5632eb3aa6a9 in handle_file_event /home/simark/src/binutils-gdb/gdb/event-loop.c:733 #22 0x5632eb3aaf41 in gdb_wait_for_event /home/simark/src/binutils-gdb/gdb/event-loop.c:859 #23 0x5632eb3a88ea in gdb_do_one_event() /home/simark/src/binutils-gdb/gdb/event-loop.c:347 #24 0x5632eb3a89bf in start_event_loop() /home/simark/src/binutils-gdb/gdb/event-loop.c:371 #25 0x5632eb76fbfc in captured_command_loop /home/simark/src/binutils-gdb/gdb/main.c:330 #26 0x5632eb772ea8 in captured_main /home/simark/src/binutils-gdb/gdb/main.c:1176 #27 0x5632eb773071 in gdb_main(captured_main_args*) /home/simark/src/binutils-gdb/gdb/main.c:1192 #28 0x5632eabfe7f9 in main /home/simark/src/binutils-gdb/gdb/gdb.c:32 #29 0x7f1d3554f222 in __libc_start_main (/usr/lib/libc.so.6+0x24222) SUMMARY: AddressSanitizer: heap-use-after-free /build/gcc/src/gcc/libsanitizer/sanitizer_common/sanitizer_common_interceptors_format.inc:546 in printf_common gdb/ChangeLog: * top.h (source_file_name): Change to std::string. * top.c (source_file_name): Likewise. (command_line_input): Adjust. * cli/cli-script.c (script_from_file): Adjust. gdb/testsuite/ChangeLog: * gdb.base/source.exp: Move "error in sourced script" code to the end. * gdb.base/source-error.gdb: Move contents to source-error-1.gdb. Add new code to source source-error-1.gdb. * gdb.base/source-error-1.gdb: New file, from previous source-error.gdb. commit 8abac8031ed369a2734b1cdb7df28a39a54b4b49 Author: Alan Modra Date: Wed Feb 20 08:21:24 2019 +1030 PR24236, Heap buffer overflow in _bfd_archive_64_bit_slurp_armap PR 24236 * archive64.c (_bfd_archive_64_bit_slurp_armap): Move code adding sentinel NUL to string buffer nearer to loop where it is used. Don't go past sentinel when scanning strings, and don't write NUL again. * archive.c (do_slurp_coff_armap): Simplify string handling to archive64.c style. commit 7ae39e2d406dbec568c5ffd462119037b994fdf9 Author: Egeyar Bagcioglu Date: Tue Feb 19 16:12:44 2019 -0800 Check whether symbols with MOVW_.ABS relocations require PLT entries (aarch64). 2019-02-19 Egeyar Bagcioglu gold/ PR gold/23870 * aarch64.cc (Target_aarch64::Scan::global): Check if a symbol with R_AARCH64_MOVW_.ABS_* relocations requires a PLT entry. * testsuite/Makefile.am: Add aarch64_pr23870 test case. * testsuite/Makefile.in: Regenerate. * testsuite/aarch64_pr23870_bar.c: New file. * testsuite/aarch64_pr23870_foo.c: New file. * testsuite/aarch64_pr23870_main.S: New file. commit abaeb1562648d4b58497040a20d772bd08c06d4b Author: GDB Administrator Date: Wed Feb 20 00:00:41 2019 +0000 Automatic date update in version.in commit 98814c6c111a0681e691a72834c8dcc5b8d1bb3a Author: Tom Tromey Date: Fri Feb 15 14:05:38 2019 -0700 Minor Ada task cleanups While working on the Ada task code, I noticed a few things that could be cleaned up: * task_list_valid_p was not set in all cases in ada_build_task_list. This causes many needless re-fetches of the task list. * task_list_valid_p can be bool, and various functions can also return bool. * Nothing checks the return value of read_known_tasks, so it can be changed to return void. * The call to ada_build_task_list in ravenscar_thread_target::update_thread_list is redundant, because this is the first thing done by iterate_over_live_ada_tasks. Tested using the internal AdaCore test suite against a ravenscar target. gdb/ChangeLog 2019-02-19 Tom Tromey * ravenscar-thread.c (ravenscar_thread_target::update_thread_list): Don't call ada_build_task_list. * ada-lang.h (ada_build_task_list): Don't declare. * ada-tasks.c (struct ada_tasks_inferior_data) : Now bool. (read_known_tasks, ada_task_list_changed) (ada_tasks_invalidate_inferior_data): Update. (read_known_tasks_array): Return bool. (read_known_tasks_list): Likewise. (read_known_tasks): Return void. (ada_build_task_list): Now static. commit 6f2117ba3892110badc65a7126b19cec211acfa2 Author: Paul Hua Date: Tue Feb 19 17:57:16 2019 +0000 Fix a potential deadlock in some older Loongson 3A1000 MIPS processors. * NEWS: Mention -m[no-]fix-loongson3-llsc. * configure.ac: Add --enable-mips-fix-loongson3-llsc. Define DEFAULT_MIPS_FIX_LOONGSON3_LLSC. * config.in: Regenerated. * configure: Likewise. * config/tc-mips.c (sync_insn, mips_fix_loongson3_llsc): New variables. (options): New OPTION_FIX_LOONGSON3_LLSC, OPTION_NO_FIX_LOONGSON3_LLSC. (md_longopts): Add -m[no-]fix-loongson3-llsc. (md_begin): Initialize sync insn. (fix_loongson3_llsc): New. (append_insn): Call fix_loongson3_llsc. (md_parse_option): Handle OPTION_FIX_LOONGSON3_LLSC, OPTION_NO_FIX_LOONGSON3_LLSC. (md_show_usage): Display -m[no-]fix-loongson3-llsc. * doc/c-mips.texi: Document -m[no-]fix-loongson3-llsc, --enable-mips-fix-loongson3-llsc=[yes|no]. commit 179f2db0d9c397d7dd8a59907b84208b79f7f48c Author: Alan Modra Date: Tue Feb 19 22:48:44 2019 +1030 PR24235, Read memory violation in pei-x86_64.c PR 24235 * pei-x86_64.c (pex64_bfd_print_pdata_section): Correct checks attempting to prevent read past end of section. commit c72e75a64030b0f6535a80481f37968ad55c333a Author: GDB Administrator Date: Tue Feb 19 00:00:40 2019 +0000 Automatic date update in version.in commit 70cd633e87e683a2233e852b96e5f1ef8591d4d1 Author: Andrew Burgess Date: Mon Feb 18 18:10:09 2019 +0000 gdb: Allow gdbarch to override alignment for method and member pointers The code in type_align (gdbtypes.c) currently hard-codes the rules for aligning method and member pointers. It would seem better to forward these types through the gdbarch hook, so that an architecture could override the alignment of these types if needed. Only 3 architectures currently override the gdbarch alignment hook, these are arc, i386, and nio2. For arc and nios the alignment rules are that alignment is the minimum of 4-bytes and the type length. As pointers are 4-bytes on these targets, then (assuming method and members pointers are also 4-bytes) there should be no change to the alignment after this patch. For i386 the gdbarch alignment hook overrides for some INT and FLOAT types only. For method and member pointers we align on the type size still, so there should be no change to the alignment after this patch. I tested this on x86-64 GNU Linux with no regressions. gdb/ChangeLog: * gdbtypes.c (type_align): Allow alignment of TYPE_CODE_METHODPTR and TYPE_CODE_MEMBERPTR to be overridden by the gdbarch. commit 040b3e95e41f7af82e95c781aadc56a16019fd68 Author: Philippe Waroquiers Date: Sun Feb 17 17:58:17 2019 +0100 Fix leaks of 'per program space' and 'per inferior' ada task data. Valgrind reports leaks such as the below. Fix these leaks by changing ada_tasks_pspace_data_handle and ada_tasks_inferior_data_handle to use the 'with_cleanup' register variant. Tested on debian/amd64 natively and under Valgrind. ==26346== 56 bytes in 1 blocks are definitely lost in loss record 631 of 3,249 ==26346== at 0x4C2C4CC: operator new(unsigned long) (vg_replace_malloc.c:344) ==26346== by 0x38F911: get_ada_tasks_inferior_data(inferior*) (ada-tasks.c:281) ==26346== by 0x38FA3F: ada_tasks_invalidate_inferior_data (ada-tasks.c:1362) ==26346== by 0x38FA3F: ada_tasks_new_objfile_observer(objfile*) (ada-tasks.c:1411) ==26346== by 0x60CBC5: operator() (functional:2127) ==26346== by 0x60CBC5: notify (observable.h:106) ==26346== by 0x60CBC5: clear_symtab_users(enum_flags) (symfile.c:2903) ... ==26346== 104 bytes in 1 blocks are definitely lost in loss record 984 of 3,249 ==26346== at 0x4C2E0BC: calloc (vg_replace_malloc.c:762) ==26346== by 0x4056F0: xcalloc (common-utils.c:84) ==26346== by 0x38F8AE: xcnew (poison.h:122) ==26346== by 0x38F8AE: get_ada_tasks_pspace_data(program_space*) (ada-tasks.c:253) ==26346== by 0x38FA77: ada_tasks_invalidate_pspace_data (ada-tasks.c:1354) ==26346== by 0x38FA77: ada_tasks_new_objfile_observer(objfile*) (ada-tasks.c:1394) ==26346== by 0x60CBC5: operator() (functional:2127) ==26346== by 0x60CBC5: notify (observable.h:106) ... gdb/ChangeLog 2019-02-18 Philippe Waroquiers * ada-task.c (_initialize_tasks): Use 'with_cleanup' register variant for ada_tasks_pspace_data_handle and ada_tasks_inferior_data_handle. (ada_tasks_pspace_data_cleanup): New function. (ada_tasks_inferior_data_cleanup): New function. commit a31b8bd9a054b494fd6ab18f14d84a2f0690f8a1 Author: Alan Modra Date: Mon Feb 18 11:57:22 2019 +1030 PR24225, nios2 buffer overflow PR 24225 * elf32-nios2.c (nios2_elf32_relocate_section): Use asprintf and PRIx64 to generate warning messages. Print local sym names too. commit d57e4f2b86b763a79c7356198265e8bae132b01a Author: GDB Administrator Date: Mon Feb 18 00:00:44 2019 +0000 Automatic date update in version.in commit 9409233b0ec8a052eacc5846ee054f224f7e7213 Author: Tom Tromey Date: Fri Feb 8 01:40:39 2019 -0700 Change macro_source_fullname to return a std::string While working on the previous patch, I noticed that if macro_source_fullname returned a std::string, then the callers would be simplified. This patch implements this idea. gdb/ChangeLog 2019-02-17 Tom Tromey * macrotab.h (macro_source_fullname): Return a std::string. * macrotab.c (macro_include, check_for_redefinition) (macro_undef, macro_lookup_definition, foreach_macro) (foreach_macro_in_scope): Update. (macro_source_fullname): Return a std::string. * macrocmd.c (show_pp_source_pos): Update. commit 6506371f0671dd5ca11127fee4db8d8d7fec157f Author: Tom Tromey Date: Fri Feb 8 01:28:53 2019 -0700 Add styling to macro commands This adds filename styling to "info macro". gdb/ChangeLog 2019-02-17 Tom Tromey * macrocmd.c (show_pp_source_pos): Style the file names. gdb/testsuite/ChangeLog 2019-02-17 Tom Tromey * gdb.base/style.exp: Use -g3 to compile when possible. Add test for macro styling. * gdb.base/style.c (SOME_MACRO): New macro. commit 0c820d679358aa1ec7cd9e33c4bc23a7db964ea1 Author: Tom Tromey Date: Mon Jan 28 13:21:35 2019 -0700 Fix some valgrind errors in the TUI The styling series introduced some new errors in the TUI -- the series changed how source lines are allocated, without updating tui_set_source_content_nil. There are several failures but a typical one looks like: ==6274== Use of uninitialised value of size 8 ==6274== at 0x4E4A095: wclrtoeol (in /usr/lib64/libncursesw.so.6.1) ==6274== by 0x4E47617: waddch (in /usr/lib64/libncursesw.so.6.1) ==6274== by 0x8325CB: tui_puts_internal(_win_st*, char const*, int*) (tui-io.c:393) ==6274== by 0x82E89D: tui_file::puts(char const*) (tui-file.c:39) ==6274== by 0x84BF5F: vfprintf_unfiltered(ui_file*, char const*, __va_list_tag*) (utils.c:2026) This patch rewrites tui_set_source_content_nil, fixing the bug. This was also reported as PR tui/24197. Verified by running valgrind before and after on x86-64 Fedora 29. gdb/ChangeLog 2019-02-17 Tom Tromey PR tui/24197: * tui/tui-source.c (tui_set_source_content_nil): Rewrite. commit a008792038c2510800db466897c4bb6305d20042 Author: Tom Tromey Date: Thu Feb 7 06:23:40 2019 -0700 Fix pager bugs with style output I believe this fixes all the pager output problems with styling that Philippe pointed out, plus at least one more. The patch is somewhat hard to reason about, so you may wish to give it a try. Even writing the tests was hard. This removes the style caching, because it was difficult to keep the style cache correct in all cases. Since this would cause more style escapes to be emitted, instead it changes fputs_styled to try to avoid unnecessary changes. Another bug was that the wrap buffer was not flushed in the case where wrap_column==0. In the old (pre-patch series) code, characters were directly emitted in this case; so flushing the wrap buffer here restores this behavior. On error the wrap buffer must be emptied. Otherwise, interrupting output can leave characters in the buffer that will be emitted later. As discussed on gdb-patches, this fixes the ada-lang.c problem where filtered and unfiltered printing were mixed. Now user_select_syms uses filtered printing, which is what its callees were already doing. Finally, it was possible for source line highlighting to be garbled (and invalid escape sequences emitted) if the pager was invoked at the wrong spot. To fix this, the patch arranges for source line escapes to always be emitted as a unit. gdb/ChangeLog 2019-02-17 Tom Tromey * ada-lang.c (user_select_syms): Use filtered printing. * utils.c (wrap_style): New global. (desired_style): Remove. (emit_style_escape): Add stream parameter. (set_output_style, reset_terminal_style, prompt_for_continue): Update. (flush_wrap_buffer): Only flush gdb_stdout. (wrap_here): Set wrap_style. (fputs_maybe_filtered): Clear the wrap buffer on exception. Don't treat escape sequences as a character. Change when wrap buffer is flushed. (fputs_styled): Do not set the output style when the default is requested. * ui-style.h (struct ui_file_style) : New method. * source.c (print_source_lines_base): Emit escape sequences in one piece. gdb/testsuite/ChangeLog 2019-02-17 Tom Tromey * gdb.base/style.exp: Add line-wrapping tests. * gdb.base/page.exp: Add test for quitting during pagination. commit 75ba10dc558a450c7dbcdc24f816f6709f2b29f7 Author: Joel Brobecker Date: Sun Feb 17 10:04:57 2019 -0500 type_align: handle range types the same as ints and enums This commit enhances type_align to handle TYPE_CODE_RANGE types the same as integers and enums, rather than returning zero, which means for this function that it could not determine its alignment. gdb/ChangeLog: * gdbtypes.c (type_align): Handle TYPE_CODE_RANGE the same as integers and enumeration types. Tested on x86_64-linux. Also tested on a variety of platforms (with CPUs being ARM, AArch64, Leon3 (SPARC-like), PowerPC, PowerPC64, RV64, Visium, x86, x86_64). commit a2cd4f14750ae27ea5c250c98965eef842ee57db Author: Joel Brobecker Date: Sun Feb 17 08:32:45 2019 -0500 (Ada) fix GDB crash printing packed array Trying to print a packed array sometimes leads to a crash (see attached testcase for an example of when this happens): | (gdb) p bad | [1] 65571 segmentation fault gdb -q foo Variable "bad" is declared in the debug information as an array where the array's type name has an XPnnn suffix: | .uleb128 0xc # (DIE (0x566) DW_TAG_typedef) | .long .LASF200 # DW_AT_name: "pck__t___XP1" | [loc info attributes snipped] | .long 0x550 # DW_AT_type | .byte 0x1 # DW_AT_alignment The signals to GDB that the debugging information follows a GNAT encoding used for packed arrays, and an in order to decode it, we need to find the type whose name is the same minus the "___XPnnn" suffix: "pck__t". For that, we make a call to ada-lang.c::standard_lookup, which is a simple function which essentially does: | /* Return the result of a standard (literal, C-like) lookup of NAME in | given DOMAIN, visible from lexical block BLOCK. */ | | [...] | sym = lookup_symbol_in_language (name, block, domain, language_c, 0); Unfortunately for us, while the intent of this call was to perform an exact-match lookup, in our case, it returns ... type pck__t___XP1 instead! In other words, it finds itself back. The reason why it finds this type is a confluence of two factors: (1) Forcing the lookup into language_c currently does not affect how symbol matching is done anymore, because we look at the symbol's language to determine which kind of matching should be done; (2) The lookup searches the local context (via block) first, beforei doing a more general lookup. And looking at the debug info for the main subprogram, we see that type "pck__t" is not declared there, only in the debug info for pck.ads. In other words, there is no way that we accidently find "pck__t" by random chance. I believe Pedro added a new function called ada_lookup_encoded_symbol for that specific purpose, so I started by replacing the lookup by language above by this. Unfortunately, still no joy. This was because, even though ada_lookup_encoded_symbol puts angle- brackets around the search name to signal that we want a verbatim search, we end up losing that information in the function called to compare a symbol with the search name: | static bool | do_full_match (const char *symbol_search_name, | const lookup_name_info &lookup_name, | completion_match_result *comp_match_res) | { | return full_match (symbol_search_name, ada_lookup_name (lookup_name)); ^^^^^^^^^^^^^^^ | <=> lookup_name.m_ada.m_encoded_name (no angle brackets) The way I fixed this was by introducing a new function called do_exact_match, and then adjust ada_get_symbol_name_matcher to return that function when seeing that we have a verbatim non-wild-match search. As it happens, this fixes an incorrect test in gdb.ada/homony.exp, where we were inserting a breakpoint on a symbol using the angle-brackets notation, and got 2 locations for that breakpoint... (gdb) b Breakpoint 1 at 0x4029fc: . (2 locations) ... each location being in a different function: (gdb) info break Num Type Disp Enb Address What 1 breakpoint keep y 1.1 y 0x00000000004029fc in homonym.get_value at /[...]/homonym.adb:32 1.2 y 0x0000000000402a3a in homonym.get_value at /[...]/homonym.adb:50 (gdb) x /i 0x00000000004029fc 0x4029fc : movl $0x1d,-0x4(%rbp) (gdb) x /i 0x0000000000402a3a 0x402a3a : movl $0x11,-0x4(%rbp) Since we used angle-brackets, we shouldn't be matching the second one, something this patch fixes. gdb/ChangeLog: * ada-lang.c (standard_lookup): Use ada_lookup_encoded_symbol instead of lookup_symbol_in_language (do_exact_match): New function. (ada_get_symbol_name_matcher): Return do_exact_match when doing a verbatim match. gdb/testsuite/ChangeLog: * gdb.ada/big_packed_array: New testcase. * gdb.ada/homonym.exp: Fix incorrect expected output for "break " test. Tested on x86_64-linux. commit aa9e1dc0c6b965e0db07bf7e9fa93cbf0922a743 Author: GDB Administrator Date: Sun Feb 17 00:01:01 2019 +0000 Automatic date update in version.in commit 166e5d9d419fa9390edd8c0cbcc07df4666a9b75 Author: GDB Administrator Date: Sat Feb 16 00:01:06 2019 +0000 Automatic date update in version.in commit 485b851b68ea035e3c49234dafcddb97c4f54a30 Author: Tom Tromey Date: Wed Feb 6 15:14:40 2019 +0100 Special-case wildcard requests in ravenscar-thread.c ravenscar-thread.c intercepts resume and wait target requests and replaces the requested ptid with the ptid of the underlying CPU. However, this is incorrect when a request is made with a wildcard ptid. This patch adds a special case to ravenscar-thread.c for minus_one_ptid. I don't believe a special case for process wildcards is necessary, so I have not added that. Joel's description explains the bug well: At the user level, we noticed the issue because we had a test were we insert a breakpoint one some code which is only run from, say, CPU #2, whereas we unfortunately resumed the execution after having stopped somewhere in CPU #1. As a result, we sent an order to resume CPU #1, which starves CPU #2 forever, because the code in CPU #1 waits for some of the Ada tasks allocated to CPU #2 (and we never reach our breakpoint either). gdb/ChangeLog 2019-02-15 Tom Tromey * ravenscar-thread.c (ravenscar_thread_target::resume) (ravenscar_thread_target::wait): Special case wildcard requests. commit 0b790b1eeb3741217d4b7b419aca1ed77a114b6c Author: Tom Tromey Date: Wed Feb 6 03:06:49 2019 -0700 Make the ravenscar thread target multi-target-ready This changes ravenscar-thread.c to make it ready for multi-target. This is done by moving globals into the target, and then arranging to allocate the target with "new" and delete the target in its "close" method. gdb/ChangeLog 2019-02-15 Tom Tromey * ravenscar-thread.c (base_ptid): Remove. (struct ravenscar_thread_target) : New method. : New member. : Declare methods. : Add constructor. (ravenscar_thread_target::task_is_currently_active) (ravenscar_thread_target::update_inferior_ptid) (ravenscar_runtime_initialized): Rename. Now methods. (ravenscar_thread_target::resume, ravenscar_thread_target::wait) (ravenscar_thread_target::update_thread_list): Update. (ravenscar_thread_target::active_task): Now method. (ravenscar_thread_target::store_registers) (ravenscar_thread_target::prepare_to_store) (ravenscar_thread_target::prepare_to_store) (ravenscar_thread_target::mourn_inferior): Update. (ravenscar_inferior_created): Use "new" to create target. (ravenscar_thread_target::get_ada_task_ptid): Update. (_initialize_ravenscar): Don't initialize base_ptid. (ravenscar_ops): Remove global. commit dea57a626364698759d1525acf9109771d173811 Author: Tom Tromey Date: Wed Feb 6 02:54:17 2019 -0700 Add push_target overload This adds a push_target overload that takes a "target_ops_up &&". This removes some calls to release a target_ops_up, and makes the intent here clearer. gdb/ChangeLog 2019-02-15 Tom Tromey * target.h (push_target): Declare new overload. * target.c (push_target): New overload, taking an rvalue reference. * remote.c (remote_target::open_1): Use push_target overload. * corelow.c (core_target_open): Use push_target overload. commit 989f3c583d31e29029b1b7dd8ffd3afacbbb5c27 Author: Tom Tromey Date: Tue Feb 5 04:11:19 2019 -0700 Minor C++-ification in ravenscar-thread.c This changes some functions in ravenscar-thread.c to return "bool" rather than int, where appropriate, and also changes "(void)" to "()". gdb/ChangeLog 2019-02-15 Tom Tromey * ravenscar-thread.c (is_ravenscar_task) (ravenscar_task_is_currently_active): Return bool. (ravenscar_update_inferior_ptid, get_running_thread_msymbol) (_initialize_ravenscar): Remove "(void)". (has_ravenscar_runtime, ravenscar_runtime_initialized): Likewise. Return bool. commit 6cbcc006e95110b5d9168e9835e5df36782e975b Author: Tom Tromey Date: Tue Feb 5 04:08:48 2019 -0700 Fix formatting in ravenscar-thread.c This fixes some incorrect formatting in ravenscar-thread.c. gdb/ChangeLog 2019-02-15 Tom Tromey * ravenscar-thread.c (ravenscar_runtime_initializer) (has_ravenscar_runtime, get_running_thread_id) (ravenscar_thread_target::resume): Fix indentation. commit 7657f14df7c697792b626efbd24ac44ad5642485 Author: Tom Tromey Date: Tue Feb 5 03:08:02 2019 -0700 C++-ify ravenscar_arch_ops This turns ravenscar_arch_ops into an abstract base class and updates all the places where it is used. This is an improvement because it avoids any possibility of forgetting to set one of the function pointers. It also makes clear that these functions aren't intended to be changed dynamically. This version of the patch removes the prepare_to_store method, as it is unused, and it is easy enough to add if it is ever needed. gdb/ChangeLog 2019-02-15 Tom Tromey * sparc-ravenscar-thread.c (struct sparc_ravenscar_ops): Derive from ravenscar_arch_ops. (sparc_ravenscar_ops::fetch_registers) (sparc_ravenscar_ops::store_registers): Now methods. (sparc_ravenscar_prepare_to_store): Remove. (sparc_ravenscar_ops): Redefine. * ravenscar-thread.h (struct ravenscar_arch_ops): Add virtual methods and destructor. Remove members. * ravenscar-thread.c (ravenscar_thread_target::fetch_registers) (ravenscar_thread_target::store_registers) (ravenscar_thread_target::prepare_to_store): Update. * ppc-ravenscar-thread.c (ppc_ravenscar_generic_prepare_to_store): Remove. (struct ppc_ravenscar_powerpc_ops): Derive from ravenscar_arch_ops. (ppc_ravenscar_powerpc_ops::fetch_registers) (ppc_ravenscar_powerpc_ops::store_registers): Now methods. (ppc_ravenscar_powerpc_ops): Redefine. (struct ppc_ravenscar_e500_ops): Derive from ravenscar_arch_ops. (ppc_ravenscar_e500_ops::fetch_registers) (ppc_ravenscar_e500_ops::store_registers): Now methods. (ppc_ravenscar_e500_ops): Redefine. * aarch64-ravenscar-thread.c (aarch64_ravenscar_generic_prepare_to_store): Remove. (struct aarch64_ravenscar_ops): Derive from ravenscar_arch_ops. (aarch64_ravenscar_fetch_registers) (aarch64_ravenscar_store_registers): Now methods. (aarch64_ravenscar_ops): Redefine. commit 5b6ea500d554b173e63e1f8f0344d568ad347463 Author: Tom Tromey Date: Tue Feb 5 02:57:21 2019 -0700 Exception safety in ravenscar-thread.c This changes some code in ravenscar-thread.c to use scoped_restore. I am not sure if it matters in practice, but this makes these methods exception-safe in case the methods lower in the target stack can throw. gdb/ChangeLog 2019-02-15 Tom Tromey * ravenscar-thread.c (ravenscar_thread_target::stopped_by_sw_breakpoint) (ravenscar_thread_target::stopped_by_hw_breakpoint) (ravenscar_thread_target::stopped_by_watchpoint) (ravenscar_thread_target::stopped_data_address) (ravenscar_thread_target::core_of_thread): Use scoped_restore. commit e397fd39c62c70900306fa206ebcae1a4853db8b Author: Tom Tromey Date: Tue Feb 5 02:53:43 2019 -0700 Fix some typos in ravenscar-thread.c This fixes some typos I noticed in ravenscar-thread.c. gdb/ChangeLog 2019-02-15 Tom Tromey * ravenscar-thread.c: Fix some typos. commit cc12f4a8f97791cf9729ff9341f7c0fbd9d6a79e Author: Tom Tromey Date: Wed Feb 13 05:42:18 2019 -0700 Fix memory leak in create_ada_exception_catchpoint Phillipe noticed that create_ada_exception_catchpoint was not freeing the "addr_string" memory: ==14141== 114 bytes in 4 blocks are definitely lost in loss record 1,054 of 3,424 ==14141== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309) ==14141== by 0x405107: xmalloc (common-utils.c:44) ==14141== by 0x7563F9: xstrdup (xstrdup.c:34) ==14141== by 0x381B21: ada_exception_sal (ada-lang.c:13217) ==14141== by 0x381B21: create_ada_exception_catchpoint(gdbarch*, ada_exception_catchpoint_kind, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, int, int, int) (ada-lang.c:13251) ==14141== by 0x3820A8: catch_ada_exception_command(char const*, int, cmd_list_element*) (ada-lang.c:13285) ==14141== by 0x3F4828: cmd_func(cmd_list_element*, char const*, int) (cli-decode.c:1892) This patch fixes the problem by changing ada_exception_sal to return a std::string via its out parameter. gdb/ChangeLog 2019-02-15 Philippe Waroquiers Tom Tromey * ada-lang.c (ada_exception_sal): Change addr_string to a std::string. (create_ada_exception_catchpoint): Update. commit 5f486660101ab09d50fa3bb9a10555f12722f39f Author: Tom Tromey Date: Tue Feb 12 14:28:07 2019 -0700 C++-ify bp_location Philippe noticed a memory leak coming from ada_catchpoint_location -- it was not freeing the "function_name" member from its base class: ==14141== 114 bytes in 4 blocks are definitely lost in loss record 1,055 of 3,424 ==14141== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309) ==14141== by 0x405107: xmalloc (common-utils.c:44) ==14141== by 0x7563F9: xstrdup (xstrdup.c:34) ==14141== by 0x3B82B3: set_breakpoint_location_function(bp_location*, int) (breakpoint.c:7156) ==14141== by 0x3C112B: add_location_to_breakpoint(breakpoint*, symtab_and_line const*) (breakpoint.c:8609) ==14141== by 0x3C127A: init_raw_breakpoint(breakpoint*, gdbarch*, symtab_and_line, bptype, breakpoint_ops const*) (breakpoint.c:7187) ==14141== by 0x3C1B52: init_ada_exception_breakpoint(breakpoint*, gdbarch*, symtab_and_line, char const*, breakpoint_ops const*, int, int, int) (breakpoint.c:11262) ==14141== by 0x381C2E: create_ada_exception_catchpoint(gdbarch*, ada_exception_catchpoint_kind, std::__cxx11::basic_string, std::allocator > const&, std::__cxx11::basic_string, std::allocator > const&, int, int, int) (ada-lang.c:13255) This patch fixes the problem by further C++-ifying bp_location. In particular, bp_location_ops is now removed, and the "dtor" function pointer is replaced with an ordinary destructor. gdb/ChangeLog 2019-02-15 Philippe Waroquiers Tom Tromey * breakpoint.c (~bp_location): Rename from bp_location_dtor. (bp_location_ops): Remove. (base_breakpoint_allocate_location): Update. (free_bp_location): Update. * ada-lang.c (class ada_catchpoint_location) : Remove ops parameter. (ada_catchpoint_location_dtor): Remove. (ada_catchpoint_location_ops): Remove. (allocate_location_exception): Update. * breakpoint.h (struct bp_location_ops): Remove. (class bp_location) : Remove bp_location_ops parameter. <~bp_location>: Add destructor. : Remove. commit 91d78b8179b061cf7c9cca423e29480bc6367fc3 Author: Saagar Jha Date: Fri Feb 15 12:50:52 2019 +0000 Use the correct name for various MACH-O based operating systems in comments. include * mach-o/loader.h: Use new OS names in comments. commit 99df80f894ebf11f2211550925acc8b06f9972f8 Author: GDB Administrator Date: Fri Feb 15 00:01:15 2019 +0000 Automatic date update in version.in commit 9d70ffbc5ba41c766ce629447af8e72a5ceba229 Author: Weimin Pan Date: Thu Feb 14 22:20:36 2019 +0000 Updating test case gdb.arch/aarch64-dbreg-contents.exp: * Replaced "run" with "runto_main + continue". * Replaced "gdb_compile + clean_restart" with "prepare_for_testing". * Added comment for case "exited with code 01". gdb.arch/aarch64-dbreg-contents.c: * Removed SET_WATCHPOINT marco. * Removed redundent cleanup (). * Cleaned up comment. commit abc163a4647f77bfa449e09da4a85a71e747cf4c Author: Thomas Schwinge Date: Fri Jun 29 21:05:29 2018 +0200 [ld, hurd] Remove 'ld-elf/elf.exp' XFAILs ... as a follow-up to commit d98164028637041c5de99af0d057bde3f168a8a8 "Run more ld tests when not native", which replaced by a proper solution the following mess before present in 'ld/configure.host': -*-*-gnu*) - # When creating static executables, we ought to use crt0.o instead of crt1.o, - # , - # but the testing infrastructure is not prepared for that. This is not - # relevant for most tests, and the few remaining ones have been XFAILed. - HOSTING_CRT0='[...]' - HOSTING_LIBS='[...]' ld/ * testsuite/ld-elf/elf.exp: Remove Hurd XFAILs. commit b671c7fb21306ce125717a44c30a71686bd24db1 Author: Thomas Schwinge Date: Fri Feb 17 16:45:01 2017 +0000 [gdb, hurd] Avoid using 'PATH_MAX' in 'gdb/remote.c' ..., which is not defined in GNU/Hurd systems, and so commit 94585166dfea8232c248044f9f4b1c217dc4ac2e "Extended-remote follow-exec" caused: [...]/gdb/remote.c: In member function 'void remote_target::remote_parse_stop_reply(const char*, stop_reply*)': [...]/gdb/remote.c:7343:22: error: 'PATH_MAX' was not declared in this scope char pathname[PATH_MAX]; ^~~~~~~~ gdb/ * remote.c (remote_target::remote_parse_stop_reply): Avoid using 'PATH_MAX'. commit 8071c5ce78245eff43f9977a7c3ff8328f7486da Author: David Michael Date: Mon Jun 5 17:35:11 2017 -0700 [gdb, hurd] Adjust to Hurd "proc" interface changes Hurd's commit baf7e5c8ce176aead15c2559952d8bdf0da41ffd "hurd: Use polymorphic port types to return some rights" causes in the GDB build: /usr/bin/ld: process_reply_S.o: in function `_Xproc_pid2proc_reply': [...]/gdb/process_reply_S.c:754: undefined reference to `S_proc_pid2proc_reply' /usr/bin/ld: [...]/gdb/process_reply_S.c:730: undefined reference to `S_proc_pid2proc_reply' /usr/bin/ld: process_reply_S.o: in function `_Xproc_task2proc_reply': [...]/gdb/process_reply_S.c:589: undefined reference to `S_proc_task2proc_reply' /usr/bin/ld: [...]/gdb/process_reply_S.c:565: undefined reference to `S_proc_task2proc_reply' /usr/bin/ld: process_reply_S.o: in function `_Xproc_getmsgport_reply': [...]/gdb/process_reply_S.c:204: undefined reference to `S_proc_getmsgport_reply' /usr/bin/ld: [...]/gdb/process_reply_S.c:180: undefined reference to `S_proc_getmsgport_reply' collect2: error: ld returned 1 exit status gdb/ * gnu-nat.c (S_proc_getmsgport_reply, S_proc_task2proc_reply) (S_proc_pid2proc_reply): Adjust to Hurd "proc" interface changes. commit 924514e11c21ac5a5805e7a14824b6f3182b2198 Author: Thomas Schwinge Date: Thu Feb 14 10:22:28 2019 +0100 [gdb, hurd] Address "ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]" diagnostics ... that appeared with 9bf2a700667c53003ece783c05e8b355801105f2 "-Wwrite-strings: Remove -Wno-write-strings". gdb/ * gnu-nat.c (gnu_write_inferior, parse_int_arg, _parse_bool_arg) (check_empty): Use "const char *". commit c29ee8d45ec2113821c006a18cfedb9023ef9ce1 Author: Thomas Schwinge Date: Tue Jul 24 18:04:18 2018 +0200 [gdb, hurd] Repair build after "Use thread_info and inferior pointers more throughout" ..., that is commit 00431a78b28f913a9d5c912c49680e39cfd20847 causing: [...]/gdb/gnu-nat.c: In member function 'virtual void gnu_nat_target::detach(inferior*, int)': [...]/gdb/gnu-nat.c:2284:23: error: invalid conversion from 'int' to 'inferior*' [-fpermissive] detach_inferior (pid); ^ In file included from [...]/gdb/gnu-nat.c:61:0: [...]/gdb/inferior.h:523:13: note: initializing argument 1 of 'void detach_inferior(inferior*)' extern void detach_inferior (inferior *inf); ^~~~~~~~~~~~~~~ Fixed by inlining the removed code. gdb/ * gnu-nat.c (gnu_nat_target::detach): Instead of 'detach_inferior (pid)' call 'detach_inferior (find_inferior_pid (pid))'. commit 6c6ef69fb4e95d991fa5462d067d3f71a73fedce Author: Thomas Schwinge Date: Wed Jul 4 13:27:09 2018 +0200 [gdb, hurd] Repair build after "Share fork_inferior et al with gdbserver" changes ..., that is commit 2090129c36c7e582943b7d300968d19b46160d84 causing: [...]/gdb/gnu-nat.c: In function 'void gnu_ptrace_me()': [...]/gdb/gnu-nat.c:2133:5: error: 'trace_start_error_with_name' was not declared in this scope trace_start_error_with_name ("ptrace"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]/gdb/gnu-nat.c:2133:5: note: suggested alternative: 'throw_perror_with_name' trace_start_error_with_name ("ptrace"); ^~~~~~~~~~~~~~~~~~~~~~~~~~~ throw_perror_with_name [...]/gdb/gnu-nat.c: In function 'void gnu_create_inferior(target_ops*, const char*, const string&, char**, int)': [...]/gdb/gnu-nat.c:2147:9: error: 'fork_inferior' was not declared in this scope pid = fork_inferior (exec_file, allargs, env, gnu_ptrace_me, ^~~~~~~~~~~~~ [...]/gdb/gnu-nat.c:2147:9: note: suggested alternative: 'exit_inferior' pid = fork_inferior (exec_file, allargs, env, gnu_ptrace_me, ^~~~~~~~~~~~~ exit_inferior [...]/gdb/gnu-nat.c:2174:30: error: 'START_INFERIOR_TRAPS_EXPECTED' was not declared in this scope gdb_startup_inferior (pid, START_INFERIOR_TRAPS_EXPECTED); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ /usr/bin/ld: gnu-nat.o: in function `gnu_ptrace_me()': [...]/gdb/gnu-nat.c:2134: undefined reference to `trace_start_error_with_name(char const*)' /usr/bin/ld: gnu-nat.o: in function `gnu_create_inferior(target_ops*, char const*, std::__cxx11::basic_string, std::allocator > const&, char**, int)': [...]/gdb/gnu-nat.c:2148: undefined reference to `fork_inferior(char const*, std::__cxx11::basic_string, std::allocator > const&, char**, void (*)(), void (*)(int), void (*)(), char const*, void (*)(char const*, char* const*, char* const*))' /usr/bin/ld: fork-child.o: in function `gdb_startup_inferior(int, int)': [...]/gdb/fork-child.c:136: undefined reference to `startup_inferior(int, int, target_waitstatus*, ptid_t*)' collect2: error: ld returned 1 exit status gdb/ * configure.nat [gdb_host == i386gnu] (NATDEPFILES): Add 'nat/fork-inferior.o'. * gnu-nat.c: #include "nat/fork-inferior.h". commit 2d0a338c7c321de6c63be4e7e3f06ba12b783c63 Author: Thomas Schwinge Date: Fri Jul 20 02:03:25 2018 +0200 [gdb, hurd] Repair build after "Convert struct target_ops to C++" changes ..., that is commit f6ac5f3d63e03a81c4ff3749aba234961cc9090e causing: In file included from [...]/gdb/gnu-nat.c:24:0: [...]/gdb/gnu-nat.h:123:1: error: expected class-name before '{' token { ^ [...]/gdb/gnu-nat.h:128:16: error: 'inferior' has not been declared void detach (inferior *, int) override; ^~~~~~~~ [...]/gdb/gnu-nat.h:132:8: error: use of enum 'target_xfer_status' without previous declaration enum target_xfer_status xfer_partial (enum target_object object, ^~~~~~~~~~~~~~~~~~ [...]/gdb/gnu-nat.h:132:46: error: use of enum 'target_object' without previous declaration enum target_xfer_status xfer_partial (enum target_object object, ^~~~~~~~~~~~~ [...]/gdb/gnu-nat.h:124:8: error: 'void gnu_nat_target::attach(const char*, int)' marked 'override', but does not override void attach (const char *, int) override; ^~~~~~ [...] [...]/gdb/gnu-nat.c: In member function 'virtual void gnu_nat_target::detach(inferior*, int)': [...]/gdb/gnu-nat.c:2286:34: error: 'ops' was not declared in this scope inf_child_maybe_unpush_target (ops); ^~~ [...]/gdb/gnu-nat.c:2286:34: note: suggested alternative: 'open' inf_child_maybe_unpush_target (ops); ^~~ open [...]/gdb/gnu-nat.c:2286:3: error: 'inf_child_maybe_unpush_target' was not declared in this scope inf_child_maybe_unpush_target (ops); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ [...]/gdb/gnu-nat.c:2286:3: note: suggested alternative: 'maybe_unpush_target' inf_child_maybe_unpush_target (ops); ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~ maybe_unpush_target [...]/gdb/i386-gnu-nat.c:200:1: warning: 'void gnu_store_registers(target_ops*, regcache*, int)' defined but not used [-Wunused-function] gnu_store_registers (struct target_ops *ops, ^~~~~~~~~~~~~~~~~~~ [...]/gdb/i386-gnu-nat.c:109:1: warning: 'void gnu_fetch_registers(target_ops*, regcache*, int)' defined but not used [-Wunused-function] gnu_fetch_registers (struct target_ops *ops, ^~~~~~~~~~~~~~~~~~~ [...] /usr/bin/ld: i386-gnu-nat.o:(.data.rel+0x0): undefined reference to `vtable for i386_gnu_nat_target' collect2: error: ld returned 1 exit status gdb/ * gnu-nat.c (gnu_nat_target::detach): Instead of 'inf_child_maybe_unpush_target (ops)' call 'maybe_unpush_target'. * gnu-nat.h: #include "inf-child.h". * i386-gnu-nat.c (gnu_fetch_registers): Rename/move to 'i386_gnu_nat_target::fetch_registers'. (gnu_store_registers): Rename/move to 'i386_gnu_nat_target::store_registers'. commit cabb5f067daa9227bf0323cbf64c6065d6e4796f Author: Thomas Schwinge Date: Wed Feb 13 12:02:20 2019 +0100 [gdb, hurd] Work around conflict between Mach's 'thread_info' function, and GDB's 'thread_info' class In file included from ./nm.h:25:0, from [...]/gdb/defs.h:423, from [...]/gdb/gdb.c:19: [...]/gdb/regcache.h:35:46: warning: 'get_thread_regcache' initialized and declared 'extern' extern struct regcache *get_thread_regcache (thread_info *thread); ^~~~~~~~~~~ [...]/gdb/regcache.h:35:46: error: 'regcache* get_thread_regcache' redeclared as different kind of symbol [...] [...]/gdb/gdbarch.h:1203:69: error: 'thread_info' is not a type extern LONGEST gdbarch_get_syscall_number (struct gdbarch *gdbarch, thread_info *thread); ^~~~~~~~~~~ Fixed with a different (self-contained, more maintainable?) approach compared to what has been done in commit 7aabaf9d4ad52a1df1f551908fbd8cafc5e7597a "Create private_thread_info hierarchy", and commit 75cbc781e371279f4403045be93b07fd8fe7fde5 "gdb: For macOS, s/thread_info/struct thread_info/". We don't want to change all the GDB code to everywhere use 'class thread_info' or 'struct thread_info' instead of plain 'thread_info'. gdb/ * config/i386/nm-i386gnu.h: Don't "#include" any files. * gnu-nat.h (mach_thread_info): New function. * gnu-nat.c (thread_takeover_sc_cmd): Use it. commit b1041ae0ae8a2f1c51e75b45004686f1956078ed Author: Thomas Schwinge Date: Tue Mar 29 14:02:11 2011 +0200 [gdb, hurd] Remove long obsolete 'gnu_target_pid_to_str' function declaration ... for function definition removed/renamed in 1999. ;-) gdb/ * config/i386/nm-i386gnu.h (gnu_target_pid_to_str): Remove. commit 2988d01ea5fcc474a9b714d2148bab5fcf4e4be8 Author: KONRAD Frederic Date: Wed Feb 13 22:37:11 2019 -0500 (riscv/ada) fix error when calling functions with range argument Using the gdb.ada/call_pn.exp testcase, and running it by hand on riscv64-elf, we get the following error: (gdb) call pn(55) Could not compute alignment of type The problem occurs because the parameter's type is a TYPE_CODE_RANGE, and that type code is not handled by riscv_type_alignment. So this patch fixes the issue by handling TYPE_CODE_RANGE the same way we handle other integral types. gdb/ChangeLog: * riscv-rdep.c (riscv_type_alignment): Handle TYPE_CODE_RANGE. Tested on riscv64-elf using AdaCore's testsuite. commit c559d7096b4b1b9c4e8d78cfd67b1892c1836ffb Author: Joel Brobecker Date: Thu Feb 14 07:13:26 2019 +0400 (Windows) remove thread notification for main thread of inferior This is a followup on a recent patch which, among other things introduced the exit notification of the main thread in order to be symetrical with the fact that a thread notification was emitted before signaling its creation. This patch takes the opposite approach of removing both creation and exit notifications for that main thread, which is consistent with what is done on other platforms such as GNU/Linux for instance. gdb/ChangeLog * windows-nat.c (windows_add_thread): Add new parameter "main_thread_p" with default value set to false. Update function documentation as well as all callers. (windows_delete_thread): Likewise. (fake_create_process): Update call to windows_add_thread. (get_windows_debug_event) : Likewise. : Update call to windows_delete_thread. Tested on x86-windows (MinGW) using AdaCore's testsuite. commit e6e006612f79f05454e8434ffd0715a1b6b9a6e4 Author: GDB Administrator Date: Thu Feb 14 00:00:28 2019 +0000 Automatic date update in version.in commit 007024cc6ae8cd1a22e328eb4150adaa4baf5731 Author: Simon Marchi Date: Wed Feb 13 16:56:21 2019 -0500 Add Andrew Burgess as global maintainer of gdb/ and sim/ commit 01c7ae818bd6c0b5d797091ec1664bcaed705d40 Author: Weimin Pan Date: Wed Feb 13 00:38:31 2019 +0000 Adding a test case gdb/testsuite/ChangeLog 2019-02-12 Weimin Pan PR breakpoints/21870 * gdb.arch/aarch64-dbreg-contents.exp: New file. * gdb.arch/aarch64-dbreg-contents.c: New file. commit 8918f84c04dd63866663d399c58e638052db2ee7 Author: GDB Administrator Date: Wed Feb 13 00:00:39 2019 +0000 Automatic date update in version.in commit f62318e98d84e79e457920c74515fb73bb013b23 Author: John Baldwin Date: Tue Feb 12 13:56:16 2019 -0800 Try to use the canonical version of a sysroot for debug file links. Object file paths passed to find_separate_debug_file are always canonical paths with symbolic links resolved. If a sysroot path traverses a symbolic link, it will not match the object file paths. Generate a canonical version of the sysroot directory. If it is valid, use it instead of gdb_sysroot with child_path to determine if an object file is under a system root. gdb/ChangeLog: * symfile.c (find_separate_debug_file): Use canonical path of sysroot with child_path instead of gdb_sysroot if it is valid. commit cd4b78483c3b0e4bd7737b67ed5074b7c252faa4 Author: John Baldwin Date: Tue Feb 12 13:56:16 2019 -0800 Use child_path to determine if an object file is under a sysroot. This fixes the case where the sysroot happens to end in a trailing '/'. Note that the path returned from child_path always skips over the directory separator at the start of the base path, so a separator must always be explicitly added before the base path. gdb/ChangeLog: * symfile.c (find_separate_debug_file): Use child_path to determine if an object file is under a sysroot. commit efac4bfe0b2bdd21a27c94ca3464046e9c23f0e4 Author: John Baldwin Date: Tue Feb 12 13:56:16 2019 -0800 Add a new function child_path. child_path returns a pointer to the first component in a child path that comes after a parent path. This does not depend on trying to stat() the paths since they may describe remote paths but instead relies on filename parsing. The function requires that the child path describe a filename that contains at least one component below the parent path and returns a pointer to the first component. gdb/ChangeLog: * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add unittests/child-path-selftests.c. * common/pathstuff.c (child_path): New function. * common/pathstuff.h (child_path): New prototype. * unittests/child-path-selftests.c: New file. commit 402d2bfec425f29c5b54089d5ff98ca9a1b8ec27 Author: John Baldwin Date: Tue Feb 12 13:56:16 2019 -0800 Look for separate debug files in debug directories under a sysroot. When an object file is present in a system root, GDB currently looks for separate debug files under the global debugfile directories. For example, if the sysroot is set to "/myroot" and hte global debugfile directory is set to "/usr/lib/debug", GDB will look for a separate debug file for "/myroot/lib/libc.so.7" in the following paths: /myroot/lib/libc.so.7.debug /myroot/lib/.debug/libc.so.7.debug /usr/lib/debug//myroot/lib/libc.so.7.debug /usr/lib/debug/lib/libc.so.7.debug However, some system roots include a full system installation including a nested global debugfile directory under the sysroot. This patch adds an additional check to support such systems. In the example above the additional path searched is: /myroot/usr/lib/debug/lib/libc.so.7.debug To try to preserve existing behavior as much as possible, this new path is searched last for each global debugfile directory. gdb/ChangeLog: * symfile.c (find_separate_debug_file): Look for separate debug files in debug directories under the sysroot. commit 1ed9f74e85b7ace7debad5ade4775684a1fa99f9 Author: Philippe Waroquiers Date: Thu Jan 10 22:34:23 2019 +0100 Make symtab.c better styled. Note that print_msymbol_info does not (yet?) print data msymbol using variable_name_style, as otherwise 'info variables' would show the non debugging symbols in variable name style, but 'real' variables would be not styled. 2019-02-12 Philippe Waroquiers * symtab.h (struct minimal_symbol data_p): New const method. (struct minimal_symbol text_p): Likewise. * symtab.c (output_source_filename): Use file name style to print file name. (print_symbol_info): Likewise. (print_msymbol_info): Use address style to print addresses. Use function name style to print executable text symbols. (expand_symtab_containing_pc): Use data_p. (find_pc_sect_compunit_symtab): Likewise. commit 2636d81d80ad34653d05d0d94207d62720bfd6aa Author: Philippe Waroquiers Date: Thu Jan 10 22:32:19 2019 +0100 Use address style to print addresses in breakpoint information. gdb/ChangeLog 2019-02-12 Philippe Waroquiers * breakpoint.c (describe_other_breakpoints): Use address style to print addresses. (say_where): Likewise. commit ac8c53cc67724f990003009fd37a3d7dc662fcb3 Author: Philippe Waroquiers Date: Thu Jan 10 22:31:07 2019 +0100 Use function_name_style to print Ada and C function names Note that ada-typeprint.c print_func_type is called with types representing functions and is also called to print a function NAME together with its type. In such a case, the function name will be printed using function name style. Similarly, c_print_type_1 is called to print a type, optionally with the name of an object of this type in the VARSTRING arg. So, c_print_type_1 uses function name style to print varstring when the type code indicates that c_print_type_1 TYPE is some 'real code'. gdb/ChangeLog 2019-02-12 Philippe Waroquiers * ada-typeprint.c (print_func_type): Print function name style to print function name. * c-typeprint.c (c_print_type_1): Likewise. commit e486594504d72a3afa199392a9d95a56ef1d6293 Author: Nick Clifton Date: Tue Feb 12 13:22:42 2019 +0000 Updated French translation for ld/ and gold/ subdirectories commit e20773049fde7b9a123fda4485259fc06249b22f Author: tromey Date: Tue Feb 12 13:02:48 2019 +0000 Fix splay tree KEY leak detected in GDB test gdb.base/macscp.exp When a node is removed from a splay tree, the splay tree was not using the function splay_tree_delete_key_fn to release the key. This was causing a leak, fixed by Tom Tromey. This patch fixes another key leak, that happens when a key equal to a key already present is inserted. In such a case, we have to release the old KEY. Note that this is based on the assumption that the caller always allocates a new KEY when doing an insert. Also, clarify the documentation about when the release functions are called. 2019-02-11 Philippe Waroquiers * splay-tree.h (splay_tree_delete_key_fn): Update comment. (splay_tree_delete_value_fn): Likewise. libiberty/ChangeLog 2019-02-11 Philippe Waroquiers * splay-tree.c (splay_tree_insert): Also release old KEY in case of insertion of a key equal to an already present key. (splay_tree_new_typed_alloc): Update comment. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@268793 138bc75d-0d04-0410-961f-82ee72b054a4 commit 04d7fa2132c05b962d85e2047646e15b8a490f4e Author: Nick Clifton Date: Tue Feb 12 11:05:21 2019 +0000 Update description of how to make a release to include the use of the git clean command. PR 23440 * README-how-to-make-a-release: Use git clean to delete spurious files from the local source repository. commit 43c4685f146a56b721566528f60023d91949c2ac Author: GDB Administrator Date: Tue Feb 12 00:00:12 2019 +0000 Automatic date update in version.in commit ea638c43121624bb4b09bb89b88314f99c85a48d Author: Alan Hayward Date: Mon Feb 11 16:38:29 2019 +0000 AArch64: Detect exit from execve syscall Checking the syscall number when stopped on entry/exit relies on checking the value in register X8. However, on exit from an execve syscall, the registers will all be cleared. Given this is only checked on syscall entry/exit, then a cleared register state either means execve exit or syscall 0 (io_setup) entry with invalid parameters and an invalid FR and LR, which in reality should never happen. Use this to detect execve exit. Move function to allow use of aarch64_sys_execve enum, and use newer regcache functions. Fixes gdb.base/catch-syscall.exp on Aarch64. gdb/ChangeLog: * aarch64-linux-tdep.c (aarch64_linux_get_syscall_number): Check for execve. commit 7115ab9c4b727a0c8fc1cdfe814b6e6032bb391d Author: GDB Administrator Date: Mon Feb 11 00:00:19 2019 +0000 Automatic date update in version.in commit db22231044df03bbcb987496f3f29f0462b2e9ee Author: H.J. Lu Date: Sun Feb 10 04:34:10 2019 -0800 gas: Pass max_bytes to TC_FRAG_INIT ommit 3ae729d5a4f63740ed9a778960b17c2912b0bbdd Author: H.J. Lu Date: Wed Mar 7 04:18:45 2018 -0800 x86: Rewrite NOP generation for fill and alignment increased MAX_MEM_FOR_RS_ALIGN_CODE to 4095 which resulted in increase of assembler time and memory usage by 5 times for inputs with many .p2align directives, which is typical for LTO output. This patch passes max_bytes to TC_FRAG_INIT so that MAX_MEM_FOR_RS_ALIGN_CODE can be set as needed and tracked by backend it so that HANDLE_ALIGN can check the maximum alignment for each rs_align_code frag. Wall time to assemble the same cc1plus.s: before: 423.78user 0.89system 7:05.71elapsed 99%CPU after: 102.35user 0.27system 1:42.89elapsed 99%CPU PR gas/24165 * frags.c (frag_var_init): Pass max_chars to TC_FRAG_INIT as max_bytes. * config/tc-aarch64.h (TC_FRAG_INIT): Add and pass max_bytes to aarch64_init_frag. * /config/tc-arm.h (TC_FRAG_INIT): And and pass max_bytes to arm_init_frag. * config/tc-avr.h (TC_FRAG_INIT): And and ignore max_bytes. * config/tc-ia64.h (TC_FRAG_INIT): Likewise. * config/tc-mmix.h (TC_FRAG_INIT): Likewise. * config/tc-nds32.h (TC_FRAG_INIT): Likewise. * config/tc-ns32k.h (TC_FRAG_INIT): Likewise. * config/tc-rl78.h (TC_FRAG_INIT): Likewise. * config/tc-rx.h (TC_FRAG_INIT): Likewise. * config/tc-score.h (TC_FRAG_INIT): Likewise. * config/tc-tic54x.h (TC_FRAG_INIT): Likewise. * config/tc-tic6x.h (TC_FRAG_INIT): Likewise. * config/tc-xtensa.h (TC_FRAG_INIT): Likewise. * config/tc-i386.h (MAX_MEM_FOR_RS_ALIGN_CODE): Set to (alignment ? ((1 << alignment) - 1) : 1) (i386_tc_frag_data): Add max_bytes. (TC_FRAG_INIT): Add and track max_bytes. (HANDLE_ALIGN): Replace MAX_MEM_FOR_RS_ALIGN_CODE with fragP->tc_frag_data.max_bytes. * doc/internals.texi: Update TC_FRAG_TYPE with max_bytes. commit ab759ca8db37ffd3e32df5226e0b4ea16a81c849 Author: Philippe Waroquiers Date: Sat Feb 9 15:02:25 2019 +0100 Fix type_stack leaks in c expression parsing. Valgrind detects a bunch of leaks in several tests, such as: ==22905== 40 (24 direct, 16 indirect) bytes in 1 blocks are definitely lost in loss record 531 of 3,268 ==22905== at 0x4C2C4CC: operator new(unsigned long) (vg_replace_malloc.c:344) ==22905== by 0x5893AD: get_type_stack() (parse.c:1509) ==22905== by 0x3F4EAD: c_yyparse() (c-exp.y:1223) ==22905== by 0x3F71BC: c_parse(parser_state*) (c-exp.y:3308) ==22905== by 0x588CEA: parse_exp_in_context_1(char const**, unsigned long, block const*, int, int, int*) [clone .constprop.89] (parse.c:1205) ==22905== by 0x588FA1: parse_exp_in_context (parse.c:1108) ==22905== by 0x588FA1: parse_exp_1 (parse.c:1099) ==22905== by 0x588FA1: parse_expression(char const*) (parse.c:1247) ... ==22395== 456 (168 direct, 288 indirect) bytes in 7 blocks are definitely lost in loss record 2,658 of 2,978 ==22395== at 0x4C2C4CC: operator new(unsigned long) (vg_replace_malloc.c:344) ==22395== by 0x5893AD: get_type_stack() (parse.c:1509) ==22395== by 0x3F4ECF: c_yyparse() (c-exp.y:1230) ==22395== by 0x3F71BC: c_parse(parser_state*) (c-exp.y:3308) ==22395== by 0x588CEA: parse_exp_in_context_1(char const**, unsigned long, block const*, int, int, int*) [clone .constprop.89] (parse.c:1205) ==22395== by 0x588FA1: parse_exp_in_context (parse.c:1108) ==22395== by 0x588FA1: parse_exp_1 (parse.c:1099) ==22395== by 0x588FA1: parse_expression(char const*) (parse.c:1247) ==22395== by 0x67BB9D: whatis_exp(char const*, int) (typeprint.c:515) ... ==22395== VALGRIND_GDB_ERROR_BEGIN ==22395== 144 (24 direct, 120 indirect) bytes in 1 blocks are definitely lost in loss record 1,016 of 2,978 ==22395== at 0x4C2C4CC: operator new(unsigned long) (vg_replace_malloc.c:344) ==22395== by 0x5893AD: get_type_stack() (parse.c:1509) ==22395== by 0x3F4E8A: c_yyparse() (c-exp.y:1217) ==22395== by 0x3F71BC: c_parse(parser_state*) (c-exp.y:3308) ==22395== by 0x588CEA: parse_exp_in_context_1(char const**, unsigned long, block const*, int, int, int*) [clone .constprop.89] (parse.c:1205) ==22395== by 0x588FA1: parse_exp_in_context (parse.c:1108) ==22395== by 0x588FA1: parse_exp_1 (parse.c:1099) ==22395== by 0x588FA1: parse_expression(char const*) (parse.c:1247) ==22395== by 0x67BB9D: whatis_exp(char const*, int) (typeprint.c:515) ... Fix these by storing the allocated type_stack in the cpstate->type_stacks vector. Tested on debian/amd64, natively and under valgrind. gdb/ChangeLog 2019-02-10 Philippe Waroquiers * c-exp.y (direct_abs_decl): Use emplace_back to record the type_stack. commit aff29d1c738c0327e7b40ba9f6885279b75e3eca Author: Joel Brobecker Date: Sun Feb 10 03:14:53 2019 -0500 (Ada) -var-update crash for variable whose type is a reference to changeable Consider the following variable, which is a string whose value is not known at compile time, because it is the return value from a function call (Get_Name): A : String := Get_Name; If one tries to create a varobj for that variable, everything works as expected: | (gdb) -var-create a * a | ^done,name="a",numchild="19",value="[19] \"Some kind of string\"",type=" array (1 .. 19) of character",thread-id="1",has_more="0" However, try then to request an update, regardless of whether the string has changed or not, and we get a crash: | -var-update a | ~"/[...]/gdb/varobj.c:1379: internal-error: bool install_new_value(varobj*, value*, bool): Assertion `!value_lazy (var->value.get ())' failed.\nA problem internal to GDB has been detected,\nfurther debugging may prove unreliable.\nQuit this debugging session? (y or n) " When the varobj gets created (-var-create), the expression is evaluated and transformed into a value. The debugging information describes our variables as a reference to an array of characters, so our value has the corresponding type. We then call varobj.c::install_new_value to store that value inside our varobj, and we see that this function pretty starts by determining weither our varobj is changeable, via: | changeable = varobj_value_is_changeable_p (var); (where 'var' is the varobj we are building, and where the function varobj_value_is_changeable_p simply dispatches to the Ada version of this routine: ada_value_is_changeable_p). At this point, the varobj doesn't have a value, yet, but it does have a type which was provided by varobj_create a little bit before install_new_value was called. So ada_value_is_changeable_p uses that to determine whether or not our type is changeable. Since our type is a reference to an array, and that the value of such objects is displayed as if there weren't a reference, it means that our object is changeable -- in other words, if an element of the string changes, then the "value" field of the varobj will change accordingly. But unfortunately, ada_value_is_changeable_p mistakenly returns false, because it is missing the handling of reference types. As a consequence of this, install_new_value doesn't feel it is necessary to fetch the value's contents, as explained by the following comment inside that function: /* The new value might be lazy. If the type is changeable, that is we'll be comparing values of this type, fetch the value now. Otherwise, on the next update the old value will be lazy, which means we've lost that old value. */ This means that a lazy value gets installed inside our varobj as a result of the mistake in ada_value_is_changeable_p. Another important detail is that, after determining whether our varobj is changeable or not, it then purposefully removes the reference layer from our value: /* We are not interested in the address of references, and given that in C++ a reference is not rebindable, it cannot meaningfully change. So, get hold of the real value. */ if (value) value = coerce_ref (value); The consequence of those two facts on shows up only later, when the user requests an update (-var-update). When doing so, GDB evaluates the expression again into a value which is once more a reference to a string, and then calls install_new_value again to install the new value and report any changes. This time around, the call to... | changeable = varobj_value_is_changeable_p (var); ... now gets a varobj which has a value, and one which had the reference layer removed! So, this time, we classify the varobj correctly, and say it is changeable. And because it is changeable, we then go into the section of code in install_new_value which checks for changes, where we need the varobj's value to not be lazy, as explained by the comment we quoted above. That's what the assertion was about. This patch fixes the issues by teaching ada_value_is_changeable_p to ignore reference layers when evaluating a given varobj's type. gdb/ChangeLog: * ada-varobj.c (ada_value_is_changeable_p): Add handling of TYPE_CODE_REF types. gdb/testsuite/ChangeLog: * gdb.ada/mi_ref_changeable: New testcase. Prior to this patch, this testcase reports 2 unresolved tests (due to GDB hitting the internal error). With this patch, all tests in this testcase pass. Tested on x86_64-linux, no regression. commit 10a54ace4aad32c78e1be99201d0a9c6efc63450 Author: GDB Administrator Date: Sun Feb 10 00:01:02 2019 +0000 Automatic date update in version.in commit a0e90a73f0dc7e44c980ef5ea512eb7a3bd0cabc Author: Claudiu Zissulescu Date: Sat Feb 9 11:07:42 2019 +0100 [ARC] don't force _init/_fini as DT_INIT/DT_FINI. Recent gcc commit b4371b277f1e ("[ARC] Enable init_array support") inhibits DT_"INIT,FINI} in favor of DT_{INIT,FINI}ARRAY. Even prior to that, it seems ARC port is the only one with this special DT_INIT/FINI handling in linker emulation. Removing it doesn't seem to change any uClibc/glibc testsuite results, so this can RIP anyways. bfd/ 2019-02-01 Vineet Gupta * elf32-arc.c: Delete init_str, fini_str ld/ 2019-02-01 Vineet Gupta * emultempl/arclinux.em : Delete special INIT/FINI handling. commit d1ea488747b9ca046c5b68ece2de757e1f357e3a Author: GDB Administrator Date: Sat Feb 9 00:00:18 2019 +0000 Automatic date update in version.in commit 617126bc8ae3c83b565aef1a454742c8a7237c14 Author: Jim Wilson Date: Mon Feb 4 17:31:10 2019 -0800 RISC-V: Add FP register core file support. This adds fp reg support similar to the existing general reg support. This fixes one gdb testsuite failure FAIL: gdb.base/gcore.exp: corefile restored system registers which fails without the patch because fcsr was missing. Otherwise, no regressions with riscv64-linux native testsuite run. gdb/ * riscv-linux-tdep.c (riscv_linux_fregmap): New. (riscv_linux_fregset): New. (riscv_linux_iterate_over_regset_sections): Call cb for .reg2 section. commit 21820ebe588d89fa874cbd87c117eb9d551d870f Author: Jim Wilson Date: Fri Feb 8 13:21:52 2019 -0800 Add missing ChangeLog files for previous patch. commit ca0bc1509849a3871e99fdf48705b93f18d5fa7b Author: Jim Wilson Date: Fri Feb 8 12:57:12 2019 -0800 RISC-V: Compress 3-operand beq/bne against x0. This lets us accept an instruction like beq a2,x0,.Label and generate a compressed beqz. This will allow some future simplications to the gcc support, e.g. eliminating some duplicate patterns, and avoiding adding new duplicate patterns, since currently we have to handle signed and equality compares against zero specially. Tested with rv{32,64}-{elf,linux} cross builds and make checks for binutils and gcc. There were no regressions. gas/ * config/tc-riscv.c (validate_riscv_insn) <'C'>: Add 'z' support. (riscv_ip) <'C'>: Add 'z' support. opcodes/ * riscv-opc.c (riscv_opcodes) : Use Cz to compress 3 operand form. : Likewise. commit 46cbf38dc3a7c6d0e339f95d56590711b06427a1 Author: Andrew Burgess Date: Thu Jan 24 14:27:27 2019 +0000 binutils: Add new GNU format mode to `size` utility The size tool currently defaults to berkeley format output. However, this output format has a weird quirk, read-only data is counted against the text sections, not the data sections. The code offers no real explanation for why this is, but I'm reluctant to change it for two reasons, first, I'm assuming it probably makes sense in some case that I'm not thinking of (maybe a target where sections are not marked executable, and so there's no distinction between read-only data and code), and second, the code has been this way for at least 20 years, I worry that changing things now might cause more confusion than it solves. This commit then introduces a new output format for the size tool, this new format displays the results in a similar manor to the berkeley format, but counts read-only data in the data column, and only executable sections are counted in the text column. Given that this is a brand new output format I've gone ahead and simplified things a little, while the berkeley format displays the total twice, once in decimal and once in hex, the new display format just displays the total in decimal. Of course, there's still the '--radix' option which can be used to display all the results in hexadecimal or octal. I've called the new format 'gnu', so '--format=gnu' or '-G' are used to access it. binutils/ChangeLog: * size.c (berkeley_format): Delete. (enum output_format): New enum. (selected_output_format): New variable. (usage): Update to mention GNU format. (main): Update to extract options, and select format as needed. Handle GNU format where needed. (berkeley_sum): Renamed to... (berkeley_or_gnu_sum): ...this, and updated to handle both formats. (berkeley_format): Renamed to... (berkeley_or_gnu_format): ...this, and updated to handle both formats. (print_sizes): Handle GNU format. * doc/binutils.texi (size): Document new GNU format. * testsuite/binutils-all/size.exp: Add test of extended functionality. * NEWS: Mention new functionality. commit 482f3505d1b62cbcf46ffed54807fad0d91c8f09 Author: Alan Modra Date: Fri Feb 8 11:51:34 2019 +1030 Make inline plt reloc "unsupported for bss-plt" an error This was always supposed to be an error. Code emitted by gcc for inline PLT calls assumes PLT is an array of addresses. * elf32-ppc.c (ppc_elf_relocate_section): Add %X to "unsupported for bss-plt" warning to make it an error. commit 96fd92af299a3c664cb341451f4bfde056910328 Author: Andrew Burgess Date: Thu Jan 31 10:14:09 2019 +0000 binutils/size: Update example output in documentation The example output from size in Berkeley format is out of date. The columns are now displayed right aligned. This patch updates the documentation to reflect reality. binutils/ChangeLog: * doc/binutils.texi (size): Update example output for Berkeley format output. commit 2c6c61c3c9f1345e5de99768c2ce823121097b62 Author: GDB Administrator Date: Fri Feb 8 00:00:37 2019 +0000 Automatic date update in version.in commit f7dd2fb2e2b750f0fb9dedaf885c17bc6beef1f7 Author: Tamar Christina Date: Thu Feb 7 17:12:23 2019 +0000 Arm: Backport hlt to all architectures. The software trap instruction HLT that was introduced in Armv8-a is used as the semihosting trap instruction in AArch64. In order to allow systems configured to run AArch64 code to also run AArch32 with semihosting it was decided that AArch32 should also use HLT in the case of the "mixed mode" environment. This requires that HLT also be backported to all earlier architectures. The instruction is in the undefined encoding space earlier architectures but must trigger a semihosting trap [3]. The Arm Architectural Reference Manual [1] doesn't explicitly mention this however this is an explicit requirement in the Semihosting-v2 protocol [2]. [1] https://developer.arm.com/docs/ddi0487/latest/arm-architecture-reference-manual-armv8-for-armv8-a-architecture-profile [2] https://developer.arm.com/docs/100863/latest/the-semihosting-interface [3] https://github.com/qemu/qemu/commit/19a6e31c9d2701ef648b70ddcfc3bf64cec8c37e gas/ChangeLog: * config/tc-arm.c (insns): Redefine THUMB_VARIANT and ARM_VARIANT for hlt to armv1. * testsuite/gas/arm/armv8a-automatic-hlt.d: Update TAGs * testsuite/gas/arm/hlt.d: New test. * testsuite/gas/arm/hlt.s: New test. opcodes/ChangeLog: * arm-dis.c (arm_opcodes): Redefine hlt to armv1. commit bd756351a6d3dcff9915c88c26dc0a5811907f90 Author: Tamar Christina Date: Thu Feb 7 16:58:29 2019 +0000 AArch64: Add negative tests for Armv8.3-a complex number instructions instructions. This patch just adds a few negative tests for the Armv8.3-a complex instructions. These already do the right disassembly without needing a verifier, but adding some tests to make sure that stays that way. gas/ChangeLog: * testsuite/gas/aarch64/undefined_advsimd_armv8_3.d: New test. * testsuite/gas/aarch64/undefined_advsimd_armv8_3.s: New test. commit 6456d318aaa7ea35511dad1f2facf0fb984972e5 Author: Tamar Christina Date: Thu Feb 7 16:55:23 2019 +0000 AArch64: Add verifier for By elem Single and Double sized instructions. The AArch64 instruction set has cut-outs inside instructions encodings for when a given encoding that would normally fall within the encoding space of an instruction is instead undefined. This updates the first few instructions FMLA, FMLA, FMUL and FMULX in the case where sz:L == 11. gas/ChangeLog: PR binutils/23212 * testsuite/gas/aarch64/undefined_by_elem_sz_l.s: New test. * testsuite/gas/aarch64/undefined_by_elem_sz_l.d: New test. opcodes/ChangeLog: PR binutils/23212 * aarch64-opc.h (enum aarch64_field_kind): Add FLD_sz. * aarch64-opc.c (verify_elem_sd): New. (fields): Add FLD_sz entr. * aarch64-tbl.h (_SIMD_INSN): New. (aarch64_opcode_table): Add elem_sd verifier to fmla, fmls, fmul and fmulx scalar and vector by element isns. commit b2abe1bd8149dd9ad64432f620c3a034bf23a5fe Author: Eric Botcazou Date: Thu Feb 7 17:04:31 2019 +0100 SPARC: fix PR ld/18841 This fixes the last ld failures on SPARC64/Linux: FAIL: Run pr18841 with libpr18841b.so FAIL: Run pr18841 with libpr18841c.so FAIL: Run pr18841 with libpr18841bn.so (-z now) FAIL: Run pr18841 with libpr18841cn.so (-z now) by mimicing what has been done on x86-64 and Aarch64 to fix the PR. bfd/ PR ld/18841 * elf32-sparc.c (elf32_sparc_reloc_type_class): Return reloc_class_ifunc for ifunc symbols. * elf64-sparc.c (elf64_sparc_reloc_type_class): Likewise. commit 68a091326f6ac25005c49c4cbda1855080ba1d5f Author: Eric Botcazou Date: Thu Feb 7 17:02:24 2019 +0100 Visium: fix bogus overflow check on 32-bit hosts bfd/ * elf32-visium.c (visium_elf_howto_parity_reloc): Minor tweak. : Use explicit range test to detect an overflow. commit 0e7e9601bed5600881225e22fd4306f11907858b Author: Eric Botcazou Date: Thu Feb 7 16:58:47 2019 +0100 Visium: align branch absolute instruction for the GR6 This is done in order to avoid a pipeline hazard on the GR6. gas/ * config/tc-visium.c (md_assemble) : Align instruction on 64-bit boundaries for the GR6. * testsuite/gas/visium/allinsn_gr6.s: Tweak. * testsuite/gas/visium/allinsn_gr6.d: Likewise. * testsuite/gas/visium/bra-1.d: New test. * testsuite/gas/visium/bra-1.s: Likewise. * testsuite/gas/visium/visium.exp: Run bra-1 test. commit 5d3db3e2970f543259103290d6890c0f1f289e13 Author: Nick Clifton Date: Thu Feb 7 14:54:58 2019 +0000 Fix typo in description of --start-group/--end-group options. PR 24175 * ld.texi (Options): Add missing word to the description of the --start-group option. commit 4a83b61091168f7df0f58009dda67b9e36f8a5f7 Author: Nick Clifton Date: Thu Feb 7 14:49:38 2019 +0000 Updated Swedish translation for the opcodes sub-directory commit df0da8a2b80315485330c03c18b704b8d7b3e9c2 Author: Alan Hayward Date: Thu Feb 7 14:36:34 2019 +0000 gdbserver: When attaching, add process before lwps The recent BP/WP changes for AArch64 swapping the order in add_lwp() so that the process was added before the lwp. This was due to the lwp creation requiring the process data. This also needs changing in linux_attach(). Also add additional checks to make sure cannot attach to the same process twice. Add test case for this - do this by splitting attach.exp into distinct pass and error case sections. Fixes gdb.server/ext-attach.exp on Aarch64. gdb/gdbserver/ChangeLog: * linux-low.c (linux_attach): Add process before lwp. * server.c (attach_inferior): Check if already attached. gdb/testsuite/ChangeLog: * gdb.base/attach.exp: Add double attach test. commit 2012bf013b2ce507b181c0d9049ad946b2a59d8a Author: Nick Clifton Date: Thu Feb 7 14:30:02 2019 +0000 Move potentially obsolete BFD targets into the definitely obsolete section. Add a note to the README-how-to-make-a-release document about doing this. bfd * config.bfd: Move the powerpc-lynxos and powerpc-windiss targets into the definitely obsolete list. binutils * README-how-to-make-a-release: Add a note about updating the obsolete targets in the bfd/config.bfd file. commit bd447abb2442f74c2b4886f6cdacd16fce3c9d65 Author: Simon Marchi Date: Thu Feb 7 09:22:29 2019 -0500 Make gdb.base/corefile.exp work on terminals with few rows When creating a pty to spawn a subprocess (such as gdb), Expect copies the settings of its own controlling terminal, including the number of rows and columns. If you "make check" on a terminal with just a few rows (e.g. 4), GDB will paginate before reaching the initial prompt. In default_gdb_start, used by most tests, this is already handled: if we see the pagination prompt, we sent \n to continue. Philippe reported that gdb.base/corefile.exp didn't work in terminals with just a few rows. This test spawns GDB by hand, because it needs to check things before the initial prompt, which it couldn't do if it used default_gdb_start. In this case I think it's not safe to use the same technique as in default_gdb_start. Even if we could send a \n if we see a pagination prompt, we match some multiline regexes in there. So if a pagination slips in there, it might make the regexes not match and fail the test. It's also not possible to use -ex "set height 0" or -iex "set height 0", it is handled after the introduction text is shown. The simplest way I found to avoid showing the pagination completely is to set stty_init (documented in expect's man page) to initialize gdb's pty with a fixed number of rows. And actually, if we set stty_init in gdb_init, it works nicely as a general solution applicable to all tests. We can therefore remove the solution introduced in e882ef3cfc3 ("testsuite: expect possible pagination when starting gdb") where we matched the pagination prompt during startup. gdb/testsuite/ChangeLog: * lib/gdb.exp (default_gdb_start): Don't match pagination prompt. (gdb_init): Set stty_init. commit 46e3ed7ff94dc2d65f3d937d483c459b4cee6a0a Author: Tom Tromey Date: Wed Jan 2 14:35:57 2019 -0700 C++-ify struct thread_fsm This C++-ifies struct thread_fsm, replacing the "ops" structure with virtual methods, and changing all the implementations to derive from thread_fsm. gdb/ChangeLog 2019-02-07 Tom Tromey * thread.c (thread_cancel_execution_command): Update. * thread-fsm.h (struct thread_fsm): Add constructor, destructor, methods. (struct thread_fsm_ops): Remove. (thread_fsm_ctor, thread_fsm_delete, thread_fsm_clean_up) (thread_fsm_should_stop, thread_fsm_return_value) (thread_fsm_set_finished, thread_fsm_finished_p) (thread_fsm_async_reply_reason, thread_fsm_should_notify_stop): Don't declare. * mi/mi-interp.c (mi_on_normal_stop_1): Update. * infrun.c (clear_proceed_status_thread) (clean_up_just_stopped_threads_fsms, fetch_inferior_event) (print_stop_event): Update. * infcmd.c (struct step_command_fsm): Inherit from thread_fsm. Add constructor. (step_command_fsm_ops): Remove. (new_step_command_fsm): Remove. (step_1): Update. (step_command_fsm::should_stop): Rename from step_command_fsm_should_stop. (step_command_fsm::clean_up): Rename from step_command_fsm_clean_up. (step_command_fsm::do_async_reply_reason): Rename from step_command_fsm_async_reply_reason. (struct until_next_fsm): Inherit from thread_fsm. Add constructor. (until_next_fsm_ops): Remove. (new_until_next_fsm): Remove. (until_next_fsm::should_stop): Rename from until_next_fsm_should_stop. (until_next_fsm::clean_up): Rename from until_next_fsm_clean_up. (until_next_fsm::do_async_reply_reason): Rename from until_next_fsm_async_reply_reason. (struct finish_command_fsm): Inherit from thread_fsm. Add constructor. Change type of breakpoint. (finish_command_fsm_ops): Remove. (new_finish_command_fsm): Remove. (finish_command_fsm::should_stop): Rename from finish_command_fsm_should_stop. (finish_command_fsm::clean_up): Rename from finish_command_fsm_clean_up. (finish_command_fsm::return_value): Rename from finish_command_fsm_return_value. (finish_command_fsm::do_async_reply_reason): Rename from finish_command_fsm_async_reply_reason. (finish_command): Update. * infcall.c (struct call_thread_fsm): Inherit from thread_fsm. Add constructor. (call_thread_fsm_ops): Remove. (call_thread_fsm::call_thread_fsm): Rename from new_call_thread_fsm. (call_thread_fsm::should_stop): Rename from call_thread_fsm_should_stop. (call_thread_fsm::should_notify_stop): Rename from call_thread_fsm_should_notify_stop. (run_inferior_call, call_function_by_hand_dummy): Update. * cli/cli-interp.c (should_print_stop_to_console): Update. * breakpoint.c (struct until_break_fsm): Inherit from thread_fsm. Add constructor. Change type of location_breakpoint, caller_breakpoint. (until_break_fsm_ops): Remove. (new_until_break_fsm): Remove. (until_break_fsm::should_stop): Rename from until_break_fsm_should_stop. (until_break_fsm::clean_up): Rename from until_break_fsm_clean_up. (until_break_fsm::do_async_reply_reason): Rename from until_break_fsm_async_reply_reason. (until_break_command): Update. * thread-fsm.c: Remove. * Makefile.in (COMMON_SFILES): Remove thread-fsm.c. commit 1a5c25988eabb35e0e40ea484b1eea029d9b7f53 Author: Tom Tromey Date: Sun Jan 27 12:51:36 2019 -0700 Normalize include guards in gdb While working on my other scripts to deal with gdb headers, I noticed that some files were missing include guards. I wrote a script to add the missing ones, but found that using the obvious names for the guards ran into clashes -- for example, gdb/nat/linux-nat.h used "LINUX_NAT_H", but this was also the script's choice for gdb/linux-nat.h. So, I changed the script to normalize all include guards in gdb. This patch is the result. As usual the script is available here: https://github.com/tromey/gdb-refactoring-scripts Tested by rebuilding; I also ran it through "Fedora-x86_64-m64" on the buildbot. gdb/ChangeLog 2019-02-07 Tom Tromey * yy-remap.h: Add include guard. * xtensa-tdep.h: Add include guard. * xcoffread.h: Rename include guard. * varobj-iter.h: Add include guard. * tui/tui.h: Rename include guard. * tui/tui-winsource.h: Rename include guard. * tui/tui-wingeneral.h: Rename include guard. * tui/tui-windata.h: Rename include guard. * tui/tui-win.h: Rename include guard. * tui/tui-stack.h: Rename include guard. * tui/tui-source.h: Rename include guard. * tui/tui-regs.h: Rename include guard. * tui/tui-out.h: Rename include guard. * tui/tui-layout.h: Rename include guard. * tui/tui-io.h: Rename include guard. * tui/tui-hooks.h: Rename include guard. * tui/tui-file.h: Rename include guard. * tui/tui-disasm.h: Rename include guard. * tui/tui-data.h: Rename include guard. * tui/tui-command.h: Rename include guard. * tic6x-tdep.h: Add include guard. * target/waitstatus.h: Rename include guard. * target/wait.h: Rename include guard. * target/target.h: Rename include guard. * target/resume.h: Rename include guard. * target-float.h: Rename include guard. * stabsread.h: Add include guard. * rs6000-tdep.h: Add include guard. * riscv-fbsd-tdep.h: Add include guard. * regformats/regdef.h: Rename include guard. * record.h: Rename include guard. * python/python.h: Rename include guard. * python/python-internal.h: Rename include guard. * python/py-stopevent.h: Rename include guard. * python/py-ref.h: Rename include guard. * python/py-record.h: Rename include guard. * python/py-record-full.h: Rename include guard. * python/py-record-btrace.h: Rename include guard. * python/py-instruction.h: Rename include guard. * python/py-events.h: Rename include guard. * python/py-event.h: Rename include guard. * procfs.h: Add include guard. * proc-utils.h: Add include guard. * p-lang.h: Add include guard. * or1k-tdep.h: Rename include guard. * observable.h: Rename include guard. * nto-tdep.h: Rename include guard. * nat/x86-linux.h: Rename include guard. * nat/x86-linux-dregs.h: Rename include guard. * nat/x86-gcc-cpuid.h: Add include guard. * nat/x86-dregs.h: Rename include guard. * nat/x86-cpuid.h: Rename include guard. * nat/ppc-linux.h: Rename include guard. * nat/mips-linux-watch.h: Rename include guard. * nat/linux-waitpid.h: Rename include guard. * nat/linux-ptrace.h: Rename include guard. * nat/linux-procfs.h: Rename include guard. * nat/linux-osdata.h: Rename include guard. * nat/linux-nat.h: Rename include guard. * nat/linux-namespaces.h: Rename include guard. * nat/linux-btrace.h: Rename include guard. * nat/glibc_thread_db.h: Rename include guard. * nat/gdb_thread_db.h: Rename include guard. * nat/gdb_ptrace.h: Rename include guard. * nat/fork-inferior.h: Rename include guard. * nat/amd64-linux-siginfo.h: Rename include guard. * nat/aarch64-sve-linux-sigcontext.h: Rename include guard. * nat/aarch64-sve-linux-ptrace.h: Rename include guard. * nat/aarch64-linux.h: Rename include guard. * nat/aarch64-linux-hw-point.h: Rename include guard. * mn10300-tdep.h: Add include guard. * mips-linux-tdep.h: Add include guard. * mi/mi-parse.h: Rename include guard. * mi/mi-out.h: Rename include guard. * mi/mi-main.h: Rename include guard. * mi/mi-interp.h: Rename include guard. * mi/mi-getopt.h: Rename include guard. * mi/mi-console.h: Rename include guard. * mi/mi-common.h: Rename include guard. * mi/mi-cmds.h: Rename include guard. * mi/mi-cmd-break.h: Rename include guard. * m2-lang.h: Add include guard. * location.h: Rename include guard. * linux-record.h: Rename include guard. * linux-nat.h: Add include guard. * linux-fork.h: Add include guard. * i386-darwin-tdep.h: Rename include guard. * hppa-linux-offsets.h: Add include guard. * guile/guile.h: Rename include guard. * guile/guile-internal.h: Rename include guard. * gnu-nat.h: Rename include guard. * gdb-stabs.h: Rename include guard. * frv-tdep.h: Add include guard. * f-lang.h: Add include guard. * event-loop.h: Add include guard. * darwin-nat.h: Rename include guard. * cp-abi.h: Rename include guard. * config/sparc/nm-sol2.h: Rename include guard. * config/nm-nto.h: Rename include guard. * config/nm-linux.h: Add include guard. * config/i386/nm-i386gnu.h: Rename include guard. * config/djgpp/nl_types.h: Rename include guard. * config/djgpp/langinfo.h: Rename include guard. * compile/gcc-cp-plugin.h: Add include guard. * compile/gcc-c-plugin.h: Add include guard. * compile/compile.h: Rename include guard. * compile/compile-object-run.h: Rename include guard. * compile/compile-object-load.h: Rename include guard. * compile/compile-internal.h: Rename include guard. * compile/compile-cplus.h: Rename include guard. * compile/compile-c.h: Rename include guard. * common/xml-utils.h: Rename include guard. * common/x86-xstate.h: Rename include guard. * common/version.h: Rename include guard. * common/vec.h: Rename include guard. * common/tdesc.h: Rename include guard. * common/selftest.h: Rename include guard. * common/scoped_restore.h: Rename include guard. * common/scoped_mmap.h: Rename include guard. * common/scoped_fd.h: Rename include guard. * common/safe-iterator.h: Rename include guard. * common/run-time-clock.h: Rename include guard. * common/refcounted-object.h: Rename include guard. * common/queue.h: Rename include guard. * common/ptid.h: Rename include guard. * common/print-utils.h: Rename include guard. * common/preprocessor.h: Rename include guard. * common/pathstuff.h: Rename include guard. * common/observable.h: Rename include guard. * common/netstuff.h: Rename include guard. * common/job-control.h: Rename include guard. * common/host-defs.h: Rename include guard. * common/gdb_wait.h: Rename include guard. * common/gdb_vecs.h: Rename include guard. * common/gdb_unlinker.h: Rename include guard. * common/gdb_unique_ptr.h: Rename include guard. * common/gdb_tilde_expand.h: Rename include guard. * common/gdb_sys_time.h: Rename include guard. * common/gdb_string_view.h: Rename include guard. * common/gdb_splay_tree.h: Rename include guard. * common/gdb_setjmp.h: Rename include guard. * common/gdb_ref_ptr.h: Rename include guard. * common/gdb_optional.h: Rename include guard. * common/gdb_locale.h: Rename include guard. * common/gdb_assert.h: Rename include guard. * common/filtered-iterator.h: Rename include guard. * common/filestuff.h: Rename include guard. * common/fileio.h: Rename include guard. * common/environ.h: Rename include guard. * common/common-utils.h: Rename include guard. * common/common-types.h: Rename include guard. * common/common-regcache.h: Rename include guard. * common/common-inferior.h: Rename include guard. * common/common-gdbthread.h: Rename include guard. * common/common-exceptions.h: Rename include guard. * common/common-defs.h: Rename include guard. * common/common-debug.h: Rename include guard. * common/cleanups.h: Rename include guard. * common/buffer.h: Rename include guard. * common/btrace-common.h: Rename include guard. * common/break-common.h: Rename include guard. * cli/cli-utils.h: Rename include guard. * cli/cli-style.h: Rename include guard. * cli/cli-setshow.h: Rename include guard. * cli/cli-script.h: Rename include guard. * cli/cli-interp.h: Rename include guard. * cli/cli-decode.h: Rename include guard. * cli/cli-cmds.h: Rename include guard. * charset-list.h: Add include guard. * buildsym-legacy.h: Rename include guard. * bfin-tdep.h: Add include guard. * ax.h: Rename include guard. * arm-linux-tdep.h: Add include guard. * arm-fbsd-tdep.h: Add include guard. * arch/xtensa.h: Rename include guard. * arch/tic6x.h: Add include guard. * arch/i386.h: Add include guard. * arch/arm.h: Rename include guard. * arch/arm-linux.h: Rename include guard. * arch/arm-get-next-pcs.h: Rename include guard. * arch/amd64.h: Add include guard. * arch/aarch64-insn.h: Rename include guard. * arch-utils.h: Rename include guard. * annotate.h: Add include guard. * amd64-darwin-tdep.h: Rename include guard. * aarch64-linux-tdep.h: Add include guard. * aarch64-fbsd-tdep.h: Add include guard. * aarch32-linux-nat.h: Add include guard. gdb/gdbserver/ChangeLog 2019-02-07 Tom Tromey * x86-tdesc.h: Rename include guard. * x86-low.h: Add include guard. * wincecompat.h: Rename include guard. * win32-low.h: Add include guard. * utils.h: Rename include guard. * tracepoint.h: Rename include guard. * tdesc.h: Rename include guard. * target.h: Rename include guard. * server.h: Rename include guard. * remote-utils.h: Rename include guard. * regcache.h: Rename include guard. * nto-low.h: Rename include guard. * notif.h: Add include guard. * mem-break.h: Rename include guard. * lynx-low.h: Add include guard. * linux-x86-tdesc.h: Add include guard. * linux-s390-tdesc.h: Add include guard. * linux-ppc-tdesc-init.h: Add include guard. * linux-low.h: Add include guard. * linux-aarch64-tdesc.h: Add include guard. * linux-aarch32-low.h: Add include guard. * inferiors.h: Rename include guard. * i387-fp.h: Rename include guard. * hostio.h: Rename include guard. * gdbthread.h: Rename include guard. * gdb_proc_service.h: Rename include guard. * event-loop.h: Rename include guard. * dll.h: Rename include guard. * debug.h: Rename include guard. * ax.h: Rename include guard. commit 31528deca52123a5a6dee19d47bee94dff041325 Author: GDB Administrator Date: Thu Feb 7 00:00:52 2019 +0000 Automatic date update in version.in commit ab9268d2f88414f202651eb5ffbd61c7927fb0c3 Author: Philippe Waroquiers Date: Sat Jan 26 12:32:45 2019 +0100 Factorize macro definition code in macrotab.c When first fixing splay tree key leaks in macrotab.c, some duplicated code logic was factorized. The key leaks will be fixed in libiberty, but the code factorization is better kept in any case. gdb/ChangeLog 2019-02-06 Philippe Waroquiers * macrotab.c (macro_define_internal): New function that factorizes macro_define_object_internal and macro_define_function code. (macro_define_object_internal): Use macro_define_internal. (macro_define_function): Likewise. commit bb0da2b49689f49f01be2f8c5429945f37e12404 Author: Philippe Waroquiers Date: Sat Jan 26 12:29:00 2019 +0100 Fix leak of identifier in macro definition. Valgrind detects leaks like the following (gdb.base/macscp.exp). This patch fixes 1 of the 3 leaks (the last one in the list below). The remaining leaks are better fixed in splay_tree_remove and splay_tree_insert in libiberty. Tested on debian/amd64, natively and under valgrind. ==22285== 64 (48 direct, 16 indirect) bytes in 1 blocks are definitely lost in loss record 737 of 3,377 ==22285== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309) ==22285== by 0x4049E7: xmalloc (common-utils.c:44) ==22285== by 0x533A20: new_macro_key(macro_table*, char const*, macro_source_file*, int) (macrotab.c:355) ==22285== by 0x53438B: macro_define_function(macro_source_file*, int, char const*, int, char const**, char const*) (macrotab.c:822) ==22285== by 0x52F945: macro_define_command(char const*, int) (macrocmd.c:409) ... ==22285== 128 (96 direct, 32 indirect) bytes in 2 blocks are definitely lost in loss record 1,083 of 3,377 ==22285== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309) ==22285== by 0x4049E7: xmalloc (common-utils.c:44) ==22285== by 0x533A20: new_macro_key(macro_table*, char const*, macro_source_file*, int) (macrotab.c:355) ==22285== by 0x534277: macro_define_object_internal(macro_source_file*, int, char const*, char const*, macro_special_kind) (macrotab.c:776) ==22285== by 0x52F7E0: macro_define_command(char const*, int) (macrocmd.c:414) ... ==22285== 177 bytes in 19 blocks are definitely lost in loss record 1,193 of 3,377 ==22285== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309) ==22285== by 0x4049E7: xmalloc (common-utils.c:44) ==22285== by 0x52F5BD: extract_identifier(char const**, int) (macrocmd.c:316) ==22285== by 0x52F77D: macro_define_command(char const*, int) (macrocmd.c:355) gdb/ChangeLog 2019-02-06 Philippe Waroquiers * macrocmd.c (extract_identifier): Return a gdb::unique_xmalloc_ptr instead of a char *, and update callers. commit 424eb552c27a1574974d9052dff4ff252a7db22d Author: John Baldwin Date: Wed Feb 6 09:45:50 2019 -0800 Fix 'info proc cmdline' for native FreeBSD processes. The kern.proc.args. sysctl returns the argv array as a packed array of arguments, each null terminated. To construct a complete command line, the arguments must be joined with spaces by converting the intermediate nul characters to spaces. Previously only the first argument was shown in cmdline output. Now, all arguments are shown. gdb/ChangeLog: * fbsd-nat.c (fbsd_fetch_cmdline): Join arguments with spaces. commit 4249a53cce8651061092d666e5df06492cb91cf1 Author: Alan Modra Date: Wed Feb 6 17:26:23 2019 +1030 Fix some ldscripts/pr24008 fails These targets were all failing due to extra symbols. pdp11-dec-aout +FAIL: ld-scripts/pr24008 powerpc-aix5.1 +FAIL: ld-scripts/pr24008 powerpc-aix5.2 +FAIL: ld-scripts/pr24008 rs6000-aix4.3.3 +FAIL: ld-scripts/pr24008 rs6000-aix5.1 +FAIL: ld-scripts/pr24008 rs6000-aix5.2 +FAIL: ld-scripts/pr24008 Some fails remain, those I saw were segfaults or assertion fails that indicate target bugs. PR ld/24008 * testsuite/ld-scripts/pr24008.d: Pass with extra target defined symbols. commit 83924b3846361f2f76f9a6e7b5afa01c0eebbd4f Author: H.J. Lu Date: Tue Feb 5 18:45:23 2019 -0800 x86-64: Restore PIC check for PCREL reloc against protected symbol commit bd7ab16b4537788ad53521c45469a1bdae84ad4a Author: H.J. Lu Date: Tue Feb 13 07:34:22 2018 -0800 x86-64: Generate branch with PLT32 relocation removed check R_X86_64_PC32 relocation against protected symbols in shared objects. Since elf_x86_64_check_relocs is called after we have seen all input files, we can check for PC-relative relocations in elf_x86_64_check_relocs. We should not allow PC-relative relocations against protected symbols since address of protected function and location of protected data may not be in the shared object. bfd/ PR ld/24151 * elf64-x86-64.c (elf_x86_64_need_pic): Check SYMBOL_DEFINED_NON_SHARED_P instead of def_regular. (elf_x86_64_relocate_section): Move PIC check for PC-relative relocations to ... (elf_x86_64_check_relocs): Here. (elf_x86_64_finish_dynamic_symbol): Use SYMBOL_DEFINED_NON_SHARED_P to check if a symbol is defined in a non-shared object. * elfxx-x86.h (SYMBOL_DEFINED_NON_SHARED_P): New. ld/ PR ld/24151 * testsuite/ld-x86-64/pr24151a-x32.d: New file. * testsuite/ld-x86-64/pr24151a.d: Likewise. * testsuite/ld-x86-64/pr24151a.s: Likewise. * testsuite/ld-x86-64/x86-64.exp: Run pr24151a and pr24151a-x32. commit 4e9ac437aaebb55624b54fc3d1cfb52acfe320dd Author: GDB Administrator Date: Wed Feb 6 00:00:22 2019 +0000 Automatic date update in version.in commit 1688cb2916e7bc46c92dd6f5ac2ba0da6c832274 Author: Tom Tromey Date: Tue Feb 5 04:59:11 2019 -0700 Hoist assertion in target_stack::unpush I noticed that target_stack::unpush first uses the target "t", then later asserts that it is non-NULL: strata stratum = t->stratum (); [...] gdb_assert (t != NULL); This is backwards, though, as the assertion must come first. gdb/ChangeLog 2019-02-05 Tom Tromey * target.c (target_stack::unpush): Move assertion earlier. commit 4dcfcfe0638d8e946b05fe51714c7d5b85b693c1 Author: GDB Administrator Date: Tue Feb 5 00:00:29 2019 +0000 Automatic date update in version.in commit 082cbd3b37bd3da897249a69970f7bf4864399f5 Author: Nick Clifton Date: Mon Feb 4 11:19:42 2019 +0000 Add more notes on how to make a release commit b32ba39525f1abf8b1cb22016e781c73961717ea Author: GDB Administrator Date: Mon Feb 4 00:00:43 2019 +0000 Automatic date update in version.in commit 7355a3c6634aee98e5af73f5190868b29bebea32 Author: GDB Administrator Date: Sun Feb 3 00:00:54 2019 +0000 Automatic date update in version.in commit 9361886ee9f13731014c3ed425f48266915b2be0 Author: GDB Administrator Date: Sat Feb 2 00:00:19 2019 +0000 Automatic date update in version.in commit 0019baae6344b46160e1a013ac8a12b983960789 Author: John Darrington Date: Fri Feb 1 17:42:54 2019 +0100 Update binutils/MAINTAINERS for S12Z. binutils/ * MAINTAINERS: Add self as S12Z maintainer. commit c6f14c0d2ca4d68308f967c446277789047a980a Author: John Darrington Date: Fri Feb 1 17:42:54 2019 +0100 S12Z: GAS: Allow #_symbol operands as mov source mov.l, mov.p and mov.w (but not mov.b) when called with an immediate source operand should be accepted a relocatable expression. This change makes that possible. gas/ * config/tc-s12z.c (lex_imm): Add new argument exp_o. (emit_reloc): New function. (md_apply_fix): [BFD_RELOC_S12Z_OPR] Recognise that it can be either 2 bytes or 3 bytes long. * testsuite/gas/s12z/mov-imm-reloc.d: New file. * testsuite/gas/s12z/mov-imm-reloc.s: New file. * testsuite/gas/s12z/s12z.exp: Add them. commit 91bae99160e9d81cfe340b937f9613d43dc90293 Author: John Darrington Date: Fri Feb 1 17:42:54 2019 +0100 S12Z: GAS: Fix incorrect range test for 16-bit PC relative offsets. The limits for PC relative offsets were incorrect. This change fixes them and adds some tests. gas/ * config/tc-s12z.c (md_apply_fix): Fix incorrect limits. * testsuite/gas/s12z/pc-rel-bad.d: New file. * testsuite/gas/s12z/pc-rel-bad.l: New file. * testsuite/gas/s12z/pc-rel-bad.s: New file. * testsuite/gas/s12z/pc-rel-good.d: New file. * testsuite/gas/s12z/pc-rel-good.s: New file. * testsuite/gas/s12z/s12z.exp: Add them. commit 1d4d86699fcc9641c1f4dfb3a44a1588353c2137 Author: John Darrington Date: Fri Feb 1 17:42:54 2019 +0100 S12Z: GAS: Issue warning if TFR/EXG have identical source and destination. It is permissible for the source and destination operands of TFR and EXG to be the same register. However it is a pointless instruction and anyone writing it has probably made a mistake. This change emits a warning if such an instruction is encountered. gas/ * config/tc-s12z.c (tfr): Emit warning if operands are the same. * testsuite/gas/s12z/exg.d: New test case. * testsuite/gas/s12z/exg.l: New file. commit 8b3a46f93c2b9ee839f806713afe7f88f0482214 Author: John Darrington Date: Fri Feb 1 17:42:54 2019 +0100 S12Z: GAS: Disallow immediate destination operands The assembler permitted instructions which attempted to assign to an immediate operand. Bizarrely there is a valid machine code for such operations (although the documentation says it's "inappropriate"). This change causes such attempts to fail with an error message. gas/ * config/tc-s12z.c (lex_opr): Add a parameter to indicate whether immediate mode operands should be permitted. * testsuite/s12z/imm-dest.d: New file. * testsuite/s12z/imm-dest.l: New file. * testsuite/s12z/imm-dest.s: New file. * testsuite/s12z/s12z.exp: Add them. commit c75eca848b682c20dcd3ef850f67491295c116b1 Author: GDB Administrator Date: Fri Feb 1 00:00:18 2019 +0000 Automatic date update in version.in commit 16bfc2f9705b40a11052f465b83fea2ec0904ce5 Author: Alan Hayward Date: Thu Jan 31 09:48:39 2019 +0000 Readline: Cleanup some warnings Cleanup the readline warnings that gdb buildbot complains about. To prevent wcwidth missing declaration warnings, add the SOURCE / EXTENSION macros to config.in that have already checked for in configure. Ensure pid is a long before printing as one. Also fix GNU style. Check the return value of write the same way as history_do_write (). These changes are consistent with upstream readline. readline/ChangeLog.gdb: * config.h.in: Add SOURCE/EXTENSION macros. * histfile.c (history_truncate_file): Check return of write. * util.c (_rl_tropen): Ensure pid is long. commit fc60b8c806a641cc2260c8b26f389f2abdc99dda Author: Andreas Krebbel Date: Thu Jan 31 17:01:27 2019 +0100 S/390: Implement instruction set extensions opcodes/ChangeLog: 2019-01-31 Andreas Krebbel * s390-mkopc.c (main): Accept arch13 as cpu string. * s390-opc.c: Add new instruction formats and instruction opcode masks. * s390-opc.txt: Add new arch13 instructions. include/ChangeLog: 2019-01-31 Andreas Krebbel * opcode/s390.h (enum s390_opcode_cpu_val): Add S390_OPCODE_ARCH13. gas/ChangeLog: 2019-01-31 Andreas Krebbel * config/tc-s390.c (s390_parse_cpu): New entry for arch13. * doc/c-s390.texi: Document arch13 march option. * testsuite/gas/s390/s390.exp: Run the arch13 related tests. * testsuite/gas/s390/zarch-arch13.d: New test. * testsuite/gas/s390/zarch-arch13.s: New test. * testsuite/gas/s390/zarch-z13.d: Expect the renamed mnemonics also for z13. commit 3ca4a8eca78b4d5e3fa308dbd21c67ebef09a261 Author: Alan Modra Date: Thu Jan 31 14:38:45 2019 +1030 Assorted warning fixes gcc-9 flagged warnings at the places I'm patching here, all real bugs. * config/tc-alpha.c (md_apply_fix): Correct range checks for BFD_RELOC_ALPHA_NOP, BFD_RELOC_ALPHA_LDA, BFD_RELOC_ALPHA_BSR. * config/tc-arm.c (md_apply_fix): Use llabs rather than abs. * config/tc-csky.c (get_macro_reg_vals): Pass s to csky_show_error. commit 4f4690cd42476b0907b51a410fc026bfc94c66d2 Author: Alan Modra Date: Thu Jan 31 11:37:44 2019 +1030 Document ld -t behaviour * NEWS: Mention -t change. * ld.texi (--trace/-t): Expand documentation a little. commit 061e12709b50ac8862bbdf9c620d7c35a53f7088 Author: GDB Administrator Date: Thu Jan 31 00:00:31 2019 +0000 Automatic date update in version.in commit 956cc47c5614b0d50bf538e3dcc88c81560fa64c Author: Szabolcs Nagy Date: Fri Dec 14 14:02:54 2018 +0000 [PR gdb/23985] Fix libinproctrace.so build The IPA objects currently may use gnulib replacement apis, which is wrong: gnulib is not linked into the produced dso and it cannot be because it is not built with -fPIC -fvisibility=hidden. The gnulib replacement detection is broken under cross compilation: for targets other than *-gnu*, replacements are enabled that depend on execution time detection. This causes unnecessary build failure when the target has proper support for the replaced api. This fix tries to undo the replacements, which is tricky because the gnulib headers are still used for various compile time fixups and there is no simple knob in gnulib to only turn the replacements off. Without this workaround gdb fails to cross build to non-gnu targets: ld: tracepoint-ipa.o: in function `gdb_agent_helper_thread(void*)': gdb/gdbserver/tracepoint.c:7221: undefined reference to `rpl_strerror' ... Makefile:434: recipe for target 'libinproctrace.so' failed gdb/gdbserver/ChangeLog: PR gdb/23985 * Makefile.in (IPAGENT_CFLAGS): Add UNDO_GNULIB_CFLAGS. (UNDO_GNULIB_CFLAGS): Undo gnulib replacements. commit b5eba2d8c050b39943918057283470959a5d18c3 Author: Tom Tromey Date: Fri Sep 7 20:02:21 2018 -0600 Release the GIL while running a gdb command or expression PR python/23615 points out that gdb.execute_gdb_command does not release the Python GIL. This means that, while the gdb command is running, other Python threads do not run. This patch solves the problem by introducing a new RAII class that can be used to temporarily release and then re-acquire the GIL, then puts this into the appropriate places in execute_gdb_command and gdbpy_parse_and_eval. This does not include a test case, because after some research I could not find a way to write one that was not racy. gdb/ChangeLog 2019-01-30 Tom Tromey PR python/23615: * python/python.c (execute_gdb_command): Use gdbpy_allow_threads. (gdbpy_parse_and_eval): Likewise. * python/python-internal.h (gdbpy_allow_threads): New class. commit eeb14ea976c0a07affb7dec3562184836adcfe95 Author: GDB Administrator Date: Wed Jan 30 00:00:46 2019 +0000 Automatic date update in version.in commit ad0f979c9df2cc3fba1f120c5e7f39e35591ed07 Author: H.J. Lu Date: Tue Jan 29 06:07:42 2019 -0800 Add a testcase for PR ld/24008 PR ld/24008 * testsuite/ld-scripts/defined.exp: Run pr24008. * testsuite/ld-scripts/pr24008.d: New file. * testsuite/ld-scripts/pr24008.map: Likewise. * testsuite/ld-scripts/pr24008.s: Likewise. * testsuite/ld-scripts/pr24008.t: Likewise. commit c49829c3c331182575034911f2bb053dfbb7d8a8 Author: Eric Botcazou Date: Tue Jan 29 10:11:01 2019 +0100 Skip ld/pr23169 on SPARC. The test is already skipped on PowerPC and Aarch64 because it's invalid. * testsuite/ld-ifunc/ifunc.exp: Skip pr23169 on SPARC. commit 9065c2ceff391da9dedc70d9f6b4bbd051209aaf Author: GDB Administrator Date: Tue Jan 29 00:00:43 2019 +0000 Automatic date update in version.in commit 75c1c971842f43157c173728e8465e1ce3c1b838 Author: Max Filippov Date: Fri Jan 25 18:52:32 2019 -0800 xtensa: gas: don't keep relocations for constants xtensa gas chokes on 8/16 bit data entries representing constant symbols because it leaves BFD_RELOC_8/BFD_RELOC_16 fixups for which xtensa BFD cannot emit relocations. Resolve fixups for constant symbols in md_apply_fix. gas/ 2019-01-28 Max Filippov * config/tc-xtensa.c (md_apply_fix): Mark fixups for constant symbols as done in md_apply_fix. * testsuite/gas/all/forward.d: Don't XFAIL for xtensa. commit 7054e2fff6d93e4c2b3b6d0de0d8bda72d3c3d59 Author: John Baldwin Date: Mon Jan 28 10:16:58 2019 -0800 Use trad_frame_set_reg_addr for FreeBSD arm signal trampoline unwinders. Replace individual calls to trad_frame_set_reg_addr for the general purpose and floating point registers in signal trampoline frames used by FreeBSD/aarch64 and FreeBSD/arm with calls to trad_frame_set_reg_addr using the register maps for the corresponding register sets. gdb/ChangeLog: * aarch64-fbsd-tdep.c (aarch64_fbsd_gregmap) (aarch64_fbsd_fpregmap): Move earlier. (AARCH64_MCONTEXT_REG_SIZE, AARCH64_MCONTEXT_FPREG_SIZE): Delete. (aarch64_fbsd_sigframe_init): Use trad_frame_set_reg_regmap instead of individual calls to trad_frame_set_reg_addr. * arm-fbsd-tdep.c (arm_fbsd_gregmap, arm_fbsd_vfpregmap): Move earlier. (ARM_MCONTEXT_REG_SIZE, ARM_MCONTEXT_VFP_REG_SIZE): Delete. (arm_fbsd_sigframe_init): Use trad_frame_set_reg_regmap instead of individual calls to trad_frame_set_reg_addr. commit 9ee194135535acbd7b786d685666badbb59e536a Author: Alan Hayward Date: Mon Jan 28 16:21:00 2019 +0000 Revert "gdbserver: When attaching, add process before lwps" This reverts commit f084d335110408aa08ea06c7cb217ae19697db3d. Accidently pushed. Reverted. commit 453f8e1e4918171bc12e4d03aab7ee8360dfcfef Author: Sergio Durigan Junior Date: Mon Jan 21 15:36:41 2019 -0500 Fix GCC9 warning on elf32-arm.c:elf32_arm_final_link_relocate Fedora Rawhide has just switched to GCC9, and now GDB doesn't compile because of a BFD warning: BUILDSTDERR: ../../bfd/elf32-arm.c: In function 'elf32_arm_final_link_relocate': BUILDSTDERR: ../../bfd/elf32-arm.c:10907:10: error: absolute value function 'labs' given an argument of type 'bfd_signed_vma' {aka 'long long int'} but has parameter of type 'long int' which may cause truncation of value [-Werror=absolute-value] BUILDSTDERR: 10907 | value = labs (relocation); BUILDSTDERR: | ^~~~ You can take a look at the full build log here: https://kojipkgs.fedoraproject.org//work/tasks/4828/32174828/build.log The fix is (apparently) simple: instead of using 'labs', we should use 'llabs', since we're passing a 'bfd_signed_vma' to it, which is at least a 'long long int', as far as I have checked. This is what this patch does. bfd/ChangeLog: 2019-01-25 Sergio Durigan Junior * elf32-arm.c (elf32_arm_final_link_relocate): Use 'llabs' instead of 'labs' (and fix GCC warning). commit 2d151af7190b9cb7787d4c33fba9e9a4431f8a0c Author: Nick Clifton Date: Mon Jan 28 15:21:58 2019 +0000 Updated Russian and French translations for the gas sub-directory commit 36c25ffa1ab5d6d5ee0fa3fc32f128a58e78e7a2 Author: Alan Hayward Date: Mon Jan 28 09:39:55 2019 +0000 Replace contribution list in CONTRIBUTE file with link The GDB wiki page has a much better contribution checklist than that in the GDB CONTRIBUTE file. In addition, the wiki is easier to keep up to date with current processes. Reduce the CONTRIBUTE file down to a short paragraph followed by a link to the contribution process. This also ensures anyone reading the CONTRIBUTE file for a given release has access to the latest processes. gdb/ChangeLog: * CONTRIBUTE: Replace contribution list with wiki link. commit f084d335110408aa08ea06c7cb217ae19697db3d Author: Alan Hayward Date: Thu Jan 24 18:55:20 2019 +0000 gdbserver: When attaching, add process before lwps The recent BP/WP changes for AArch64 swapping the order in add_lwp() so that the process was added before the lwp. This was due to the lwp creation requiring the process data. This also needs changing in linux_attach(). Fixes gdb.server/ext-attach.exp on Aarch64. (This regression was hidden due to the racy nature of the gdb.server tests - now they are no longer racy it'll be easier to spot. Also checked X86). gdb/gdbserver/ChangeLog: 2019-01-25 Alan Hayward * linux-low.c (linux_attach): Add process before lwp. commit f5f2b743ae8fdbfbd572756e611051ef5d1d05c1 Author: GDB Administrator Date: Mon Jan 28 00:00:21 2019 +0000 Automatic date update in version.in commit 6a84624340dd19ccd927d91d79e0ece135c6d846 Author: Alan Modra Date: Mon Jan 28 09:59:29 2019 +1030 PR24008, Wrong value of ternary expression in map file PR 24008 * ldexp.h (lang_phase_type): Add lang_fixed_phase_enum. * ldexp.c (fold_name): Move expld.assign_name check later to avoid an extra lookup. (exp_fold_tree_1): When lang_fixed_phase_enum, don't change symbol values, and don't clear expld.assign_name. * ldlang.c (lang_map): Set expld.phase to lang_fixed_phase_enum. (print_assignment): Resolve entire assignment expression. Don't access symbol u.def unless symbol is defined. commit e044973b0cadb4c36c2a2c11e908d758b8cd75f9 Author: Alan Modra Date: Mon Jan 28 09:33:28 2019 +1030 Control gas enable-checking default by bfd/development.sh * configure.ac (ac_checking): Set from bfd/development.sh development variable. * configure: Regenerate. commit 1dbc40b9d70b95717abb0db6865a12ebd7d91b06 Author: Tom Tromey Date: Sun Jan 27 14:51:03 2019 -0700 Remove duplicate skip_python_tests invocation I noticed that py-finish-breakpoint.exp had two calls to skip_python_tests, in quick succession. This patch removes the second one. gdb/testsuite/ChangeLog 2019-01-27 Tom Tromey * gdb.python/py-finish-breakpoint.exp: Remove duplicate call to skip_python_tests. commit eb51a3cd827a3bf02d80173592a0b5f0d88fa801 Author: GDB Administrator Date: Sun Jan 27 00:01:24 2019 +0000 Automatic date update in version.in commit 67f8b42f3e65ede1915f2dc4e2ca46ddeb57c508 Author: Tom Tromey Date: Sat Jan 26 08:51:57 2019 -0700 Fix the sim build Simon pointed out that the "common/" include change in gdb broke the sim build. The problem was that the sim was using gdb's create-version.sh, which changed. This patch copies create-version.sh to the sim, so that it can generate "version.c" in a way that works in the sim build. Tested by rebuilding. sim/common/ChangeLog 2019-01-26 Tom Tromey * Make-common.in (version.c): Use sim's create-version.sh. * create-version.sh: New file. sim/ppc/ChangeLog 2019-01-26 Tom Tromey * Makefile.in (version.c): Use sim's create-version.sh. commit e5e2bc507d773eb48ed215eb6911c1bb7dd78b79 Author: GDB Administrator Date: Sat Jan 26 00:00:52 2019 +0000 Automatic date update in version.in commit a0707f3c36cab402cd4c3235bedd2b5f7b4c6aed Author: Tom Tromey Date: Tue Jan 22 00:26:45 2019 -0700 Don't use -I for common subdirectory This changes the Makefiles to remove the -I for the common/ subdirectory. This will enforce the rule that includes must use the 'common/filename.h' form. gdb/ChangeLog 2019-01-25 Tom Tromey * Makefile.in (GDB_CFLAGS): Don't add -I for common. gdb/gdbserver/ChangeLog 2019-01-25 Tom Tromey * Makefile.in (INCLUDE_CFLAGS): Don't add -I for common. commit 0747795c085d3b2a35da6bb474f32c58ce1b70c8 Author: Tom Tromey Date: Wed Jan 23 10:21:39 2019 -0700 Normalize includes to use common/ This changes all includes to use the form "common/filename.h" rather than just "filename.h". This was written by a script. gdb/ChangeLog 2019-01-25 Tom Tromey * xtensa-linux-nat.c: Fix common/ includes. * xml-support.h: Fix common/ includes. * xml-support.c: Fix common/ includes. * x86-linux-nat.c: Fix common/ includes. * windows-nat.c: Fix common/ includes. * varobj.h: Fix common/ includes. * varobj.c: Fix common/ includes. * value.c: Fix common/ includes. * valops.c: Fix common/ includes. * utils.c: Fix common/ includes. * unittests/xml-utils-selftests.c: Fix common/ includes. * unittests/utils-selftests.c: Fix common/ includes. * unittests/unpack-selftests.c: Fix common/ includes. * unittests/tracepoint-selftests.c: Fix common/ includes. * unittests/style-selftests.c: Fix common/ includes. * unittests/string_view-selftests.c: Fix common/ includes. * unittests/scoped_restore-selftests.c: Fix common/ includes. * unittests/scoped_mmap-selftests.c: Fix common/ includes. * unittests/scoped_fd-selftests.c: Fix common/ includes. * unittests/rsp-low-selftests.c: Fix common/ includes. * unittests/parse-connection-spec-selftests.c: Fix common/ includes. * unittests/optional-selftests.c: Fix common/ includes. * unittests/offset-type-selftests.c: Fix common/ includes. * unittests/observable-selftests.c: Fix common/ includes. * unittests/mkdir-recursive-selftests.c: Fix common/ includes. * unittests/memrange-selftests.c: Fix common/ includes. * unittests/memory-map-selftests.c: Fix common/ includes. * unittests/lookup_name_info-selftests.c: Fix common/ includes. * unittests/function-view-selftests.c: Fix common/ includes. * unittests/environ-selftests.c: Fix common/ includes. * unittests/copy_bitwise-selftests.c: Fix common/ includes. * unittests/common-utils-selftests.c: Fix common/ includes. * unittests/cli-utils-selftests.c: Fix common/ includes. * unittests/array-view-selftests.c: Fix common/ includes. * ui-file.c: Fix common/ includes. * tui/tui-io.c: Fix common/ includes. * tracepoint.h: Fix common/ includes. * tracepoint.c: Fix common/ includes. * tracefile-tfile.c: Fix common/ includes. * top.h: Fix common/ includes. * top.c: Fix common/ includes. * thread.c: Fix common/ includes. * target/waitstatus.h: Fix common/ includes. * target/waitstatus.c: Fix common/ includes. * target.h: Fix common/ includes. * target.c: Fix common/ includes. * target-memory.c: Fix common/ includes. * target-descriptions.c: Fix common/ includes. * symtab.h: Fix common/ includes. * symfile.c: Fix common/ includes. * stap-probe.c: Fix common/ includes. * spu-linux-nat.c: Fix common/ includes. * sparc-nat.c: Fix common/ includes. * source.c: Fix common/ includes. * solib.c: Fix common/ includes. * solib-target.c: Fix common/ includes. * ser-unix.c: Fix common/ includes. * ser-tcp.c: Fix common/ includes. * ser-pipe.c: Fix common/ includes. * ser-base.c: Fix common/ includes. * selftest-arch.c: Fix common/ includes. * s12z-tdep.c: Fix common/ includes. * rust-exp.y: Fix common/ includes. * rs6000-aix-tdep.c: Fix common/ includes. * riscv-tdep.c: Fix common/ includes. * remote.c: Fix common/ includes. * remote-notif.h: Fix common/ includes. * remote-fileio.h: Fix common/ includes. * remote-fileio.c: Fix common/ includes. * regcache.h: Fix common/ includes. * regcache.c: Fix common/ includes. * record-btrace.c: Fix common/ includes. * python/python.c: Fix common/ includes. * python/py-type.c: Fix common/ includes. * python/py-inferior.c: Fix common/ includes. * progspace.h: Fix common/ includes. * producer.c: Fix common/ includes. * procfs.c: Fix common/ includes. * proc-api.c: Fix common/ includes. * printcmd.c: Fix common/ includes. * ppc-linux-nat.c: Fix common/ includes. * parser-defs.h: Fix common/ includes. * osdata.c: Fix common/ includes. * obsd-nat.c: Fix common/ includes. * nat/x86-linux.c: Fix common/ includes. * nat/x86-linux-dregs.c: Fix common/ includes. * nat/x86-dregs.h: Fix common/ includes. * nat/x86-dregs.c: Fix common/ includes. * nat/ppc-linux.c: Fix common/ includes. * nat/mips-linux-watch.h: Fix common/ includes. * nat/mips-linux-watch.c: Fix common/ includes. * nat/linux-waitpid.c: Fix common/ includes. * nat/linux-ptrace.h: Fix common/ includes. * nat/linux-ptrace.c: Fix common/ includes. * nat/linux-procfs.c: Fix common/ includes. * nat/linux-personality.c: Fix common/ includes. * nat/linux-osdata.c: Fix common/ includes. * nat/linux-namespaces.c: Fix common/ includes. * nat/linux-btrace.h: Fix common/ includes. * nat/linux-btrace.c: Fix common/ includes. * nat/fork-inferior.c: Fix common/ includes. * nat/amd64-linux-siginfo.c: Fix common/ includes. * nat/aarch64-sve-linux-ptrace.c: Fix common/ includes. * nat/aarch64-linux.c: Fix common/ includes. * nat/aarch64-linux-hw-point.h: Fix common/ includes. * nat/aarch64-linux-hw-point.c: Fix common/ includes. * namespace.h: Fix common/ includes. * mips-linux-tdep.c: Fix common/ includes. * minsyms.c: Fix common/ includes. * mi/mi-parse.h: Fix common/ includes. * mi/mi-main.c: Fix common/ includes. * mi/mi-cmd-env.c: Fix common/ includes. * memrange.h: Fix common/ includes. * memattr.c: Fix common/ includes. * maint.h: Fix common/ includes. * maint.c: Fix common/ includes. * main.c: Fix common/ includes. * machoread.c: Fix common/ includes. * location.c: Fix common/ includes. * linux-thread-db.c: Fix common/ includes. * linux-nat.c: Fix common/ includes. * linux-fork.c: Fix common/ includes. * inline-frame.c: Fix common/ includes. * infrun.c: Fix common/ includes. * inflow.c: Fix common/ includes. * inferior.h: Fix common/ includes. * inferior.c: Fix common/ includes. * infcmd.c: Fix common/ includes. * inf-ptrace.c: Fix common/ includes. * inf-child.c: Fix common/ includes. * ia64-linux-nat.c: Fix common/ includes. * i387-tdep.c: Fix common/ includes. * i386-tdep.c: Fix common/ includes. * i386-linux-tdep.c: Fix common/ includes. * i386-linux-nat.c: Fix common/ includes. * i386-go32-tdep.c: Fix common/ includes. * i386-fbsd-tdep.c: Fix common/ includes. * i386-fbsd-nat.c: Fix common/ includes. * guile/scm-type.c: Fix common/ includes. * guile/guile.c: Fix common/ includes. * go32-nat.c: Fix common/ includes. * gnu-nat.c: Fix common/ includes. * gdbthread.h: Fix common/ includes. * gdbarch-selftests.c: Fix common/ includes. * gdb_usleep.c: Fix common/ includes. * gdb_select.h: Fix common/ includes. * gdb_bfd.c: Fix common/ includes. * gcore.c: Fix common/ includes. * fork-child.c: Fix common/ includes. * findvar.c: Fix common/ includes. * fbsd-nat.c: Fix common/ includes. * event-top.c: Fix common/ includes. * event-loop.c: Fix common/ includes. * dwarf2read.c: Fix common/ includes. * dwarf2loc.c: Fix common/ includes. * dwarf2-frame.c: Fix common/ includes. * dwarf-index-cache.c: Fix common/ includes. * dtrace-probe.c: Fix common/ includes. * disasm-selftests.c: Fix common/ includes. * defs.h: Fix common/ includes. * csky-tdep.c: Fix common/ includes. * cp-valprint.c: Fix common/ includes. * cp-support.h: Fix common/ includes. * cp-support.c: Fix common/ includes. * corelow.c: Fix common/ includes. * completer.h: Fix common/ includes. * completer.c: Fix common/ includes. * compile/compile.c: Fix common/ includes. * compile/compile-loc2c.c: Fix common/ includes. * compile/compile-cplus-types.c: Fix common/ includes. * compile/compile-cplus-symbols.c: Fix common/ includes. * command.h: Fix common/ includes. * cli/cli-dump.c: Fix common/ includes. * cli/cli-cmds.c: Fix common/ includes. * charset.c: Fix common/ includes. * build-id.c: Fix common/ includes. * btrace.h: Fix common/ includes. * btrace.c: Fix common/ includes. * breakpoint.h: Fix common/ includes. * breakpoint.c: Fix common/ includes. * ax.h: (enum agent_op): Fix common/ includes. * ax-general.c (struct aop_map): Fix common/ includes. * ax-gdb.c: Fix common/ includes. * auxv.c: Fix common/ includes. * auto-load.c: Fix common/ includes. * arm-tdep.c: Fix common/ includes. * arch/riscv.c: Fix common/ includes. * arch/ppc-linux-common.c: Fix common/ includes. * arch/i386.c: Fix common/ includes. * arch/arm.c: Fix common/ includes. * arch/arm-linux.c: Fix common/ includes. * arch/arm-get-next-pcs.c: Fix common/ includes. * arch/amd64.c: Fix common/ includes. * arch/aarch64.c: Fix common/ includes. * arch/aarch64-insn.c: Fix common/ includes. * arch-utils.c: Fix common/ includes. * amd64-windows-tdep.c: Fix common/ includes. * amd64-tdep.c: Fix common/ includes. * amd64-sol2-tdep.c: Fix common/ includes. * amd64-obsd-tdep.c: Fix common/ includes. * amd64-nbsd-tdep.c: Fix common/ includes. * amd64-linux-tdep.c: Fix common/ includes. * amd64-linux-nat.c: Fix common/ includes. * amd64-fbsd-tdep.c: Fix common/ includes. * amd64-fbsd-nat.c: Fix common/ includes. * amd64-dicos-tdep.c: Fix common/ includes. * amd64-darwin-tdep.c: Fix common/ includes. * agent.c: Fix common/ includes. * ada-lang.h: Fix common/ includes. * ada-lang.c: Fix common/ includes. * aarch64-tdep.c: Fix common/ includes. gdb/gdbserver/ChangeLog 2019-01-25 Tom Tromey * win32-low.c: Fix common/ includes. * win32-i386-low.c: Fix common/ includes. * tracepoint.c: Fix common/ includes. * thread-db.c: Fix common/ includes. * target.h: Fix common/ includes. * symbol.c: Fix common/ includes. * spu-low.c: Fix common/ includes. * server.h: Fix common/ includes. * server.c: Fix common/ includes. * remote-utils.c: Fix common/ includes. * regcache.h: Fix common/ includes. * regcache.c: Fix common/ includes. * nto-x86-low.c: Fix common/ includes. * notif.h: Fix common/ includes. * mem-break.h: Fix common/ includes. * lynx-low.c: Fix common/ includes. * lynx-i386-low.c: Fix common/ includes. * linux-x86-tdesc-selftest.c: Fix common/ includes. * linux-x86-low.c: Fix common/ includes. * linux-low.c: Fix common/ includes. * inferiors.h: Fix common/ includes. * i387-fp.c: Fix common/ includes. * hostio.c: Fix common/ includes. * hostio-errno.c: Fix common/ includes. * gdbthread.h: Fix common/ includes. * gdbreplay.c: Fix common/ includes. * fork-child.c: Fix common/ includes. * event-loop.c: Fix common/ includes. * ax.c: (enum gdb_agent_op): Fix common/ includes. commit 2f5c153e0ce1b0d3aa0c12724cbc8c3b11d4095f Author: Tom Tromey Date: Mon Jan 21 23:03:23 2019 -0700 Update create-version.sh to use common/version.h This changes create-version.sh to have the generated file use common/version.h as the file name. gdb/ChangeLog 2019-01-25 Tom Tromey * common/create-version.sh: Use common/version.h. commit e10620d3b96a725c4752198cb3c7c00ea21b42b4 Author: Tamar Christina Date: Fri Jan 25 15:50:01 2019 +0000 AArch64: Add missing changelog for Update encodings for stg, st2g, stzg and st2zg commit 69105ce4c42e5644ab92cb9b2765ff5ce6bf7b1b Author: Sudi Das Date: Fri Jan 25 14:28:07 2019 +0000 AArch64: Update encodings for stg, st2g, stzg and st2zg. This patch is part of a series of patches to introduce a few changes to the Armv8.5-A Memory Tagging Extension. This patch updates the st*g instructions to use a previously reserved field for a new register operand. Thus the new versions of the instructions are as follows: - STG Xt, [, #] - STG Xt, [, #]! - STG Xt, [], # - STZG Xt, [, #] - STZG Xt, [, #]! - STZG Xt, [], # - ST2G Xt, [, #] - ST2G Xt, [, #]! - ST2G Xt, [], # - STZ2G Xt, [, #] - STZ2G Xt, [, #]! - STZ2G Xt, [], # Committed on behalf of Sudakshina Das. *** gas/ChangeLog *** * config/tc-aarch64.c (warn_unpredictable_ldst): Exempt stg, st2g, stzg and stz2g from Xt == Xn with writeback warning. * testsuite/gas/aarch64/armv8_5-a-memtag.d: Change tests for stg, stzg, st2g and stz2g. * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise. * testsuite/gas/aarch64/illegal-memtag.l: Likewise. * testsuite/gas/aarch64/illegal-memtag.s: Likewise. *** opcodes/ChangeLog *** * aarch64-tbl.h (QL_LDST_AT): Update macro. (aarch64_opcode): Change encoding for stg, stzg st2g and st2zg. * aarch64-asm-2.c: Regenerated. * aarch64-dis-2.c: Regenerated. * aarch64-opc-2.c: Regenerated. commit 20a4ca5524b9bde2f5dfb19661570c25a3b05e5d Author: Sudi Das Date: Fri Jan 25 14:15:45 2019 +0000 AArch64: Add new STZGM instruction for Armv8.5-A Memory Tagging Extension. This patch is part of a series of patches to introduce a few changes to the Armv8.5-A Memory Tagging Extension. This patch adds the new STZGM instruction. STGZM Xt, [] Committed on behalf of Sudakshina Das. *** gas/ChangeLog *** * testsuite/gas/aarch64/armv8_5-a-memtag.d: New tests for stzgm. * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise. * testsuite/gas/aarch64/illegal-memtag.l: Likewise. * testsuite/gas/aarch64/illegal-memtag.s: Likewise. *** opcodes/ChangeLog *** * aarch64-asm-2.c: Regenerated. * aarch64-dis-2.c: Likewise. * aarch64-opc-2.c: Likewise. * aarch64-tbl.h (aarch64_opcode): Add new stzgm. commit 550fd7bf6858cd708c54ec90412ffb653a932c3d Author: Sudi Das Date: Fri Jan 25 13:57:14 2019 +0000 AArch64: Remove ldgv and stgv instructions from Armv8.5-A Memory Tagging Extension. This patch is part of a series of patches to introduce a few changes to the Armv8.5-A Memory Tagging Extension. This patch removes the LDGV and STGV instructions. These instructions needed special infrastructure to support [base]! style for addressing mode. That is also removed now. Committed on behalf of Sudakshina Das. *** gas/ChangeLog *** * config/tc-aarch64.c (parse_address_main): Remove support for [base]! address expression. (parse_operands): Remove support for AARCH64_OPND_ADDR_SIMPLE_2. (warn_unpredictable_ldst): Remove support for ldstgv_indexed. * testsuite/gas/aarch64/armv8_5-a-memtag.d: Remove tests for ldgv and stgv. * testsuite/gas/aarch64/armv8_5-a-memtag.s: Likewise. * testsuite/gas/aarch64/illegal-memtag.l: Likewise. * testsuite/gas/aarch64/illegal-memtag.s: Likewise. *** include/ChangeLog *** * opcode/aarch64.h (enum aarch64_opnd): Remove AARCH64_OPND_ADDR_SIMPLE_2. (enum aarch64_insn_class): Remove ldstgv_indexed. *** opcodes/ChangeLog *** * aarch64-asm.c (aarch64_ins_addr_simple_2): Remove. * aarch64-asm.h (ins_addr_simple_2): Likeiwse. * aarch64-dis.c (aarch64_ext_addr_simple_2): Likewise. * aarch64-dis.h (ext_addr_simple_2): Likewise. * aarch64-opc.c (operand_general_constraint_met_p): Remove case for ldstgv_indexed. (aarch64_print_operand): Remove case for AARCH64_OPND_ADDR_SIMPLE_2. * aarch64-tbl.h (struct aarch64_opcode): Remove ldgv and stgv. (AARCH64_OPERANDS): Remove ADDR_SIMPLE_2. * aarch64-asm-2.c: Regenerated. * aarch64-dis-2.c: Regenerated. * aarch64-opc-2.c: Regenerated. commit 183445093ebd6be285e29f75b877e62a723918c6 Author: Nick Clifton Date: Fri Jan 25 13:16:06 2019 +0000 Prevent a potential illegal memory access in readelf when parsing a note with a zero name size. PR 24131 * readelf.c (process_notes_at): Prevent an illegal memory access when the note's namesize is zero. (decode_tic6x_unwind_bytecode): Add code to handle the case where no registers are specified in a frame pop instruction. commit 9ed1348c2008f54368f0fd989a0bf2de8b93329a Author: Nick Clifton Date: Fri Jan 25 11:48:55 2019 +0000 Updated Bulgarian and Russian translations for some of the binutils sub-directories commit 10c172ba93dde7cb7c46982ca217e646565bf938 Author: Wu Heng Date: Fri Jan 25 13:41:47 2019 +1030 PR23940, check bounds before using PR gas/23940 * macro.c (getstring): Check array bound before accessing. commit 04174263401c670b5faaaec452aee2df92130ef9 Author: GDB Administrator Date: Fri Jan 25 00:00:37 2019 +0000 Automatic date update in version.in commit 0c56b5cfb68cd099e00f6fdb5ad08061c7b16b79 Author: Alan Modra Date: Fri Jan 25 09:34:14 2019 +1030 PR24125, Assertion failure with embedded NULs in string An assertion that can be triggered by user input is wrong, so remove it. I believe the NUL would have been accepted before the PR20902 patch. PR 20902 PR 24125 * read.c (stringer): Delete assertion. commit adc6a863a9c6c828425d63b12d553f0e8f21e350 Author: Pedro Alves Date: Thu Jan 24 18:25:06 2019 +0000 target_pass_signals/target_program_signals: Use gdb::array_view This replaces the pointer and length parameters of target_pass_signals and target_program_signals with a gdb::array_view parameter, and fixes the fallout. In infrun.c, the signal_stop, signal_print, signal_program, signal_catch, signal_pass globals are currently pointers to heap-allocated memory. I see no point in that, so I converted them to arrays. This allows simplifying the calls to target_pass_signals/target_program_signals, since we can pass the array directly, which can implicitly convert to gdb::array_view. gdb/ChangeLog: 2019-01-24 Pedro Alves * infrun.c (signal_stop, signal_print, signal_program) (signal_catch, signal_pass): Now arrays instead of pointers. (update_signals_program_target, do_target_resume) (signal_catch_update, handle_command, _initialize_infrun): Adjust. * linux-nat.c (linux_nat_target::pass_signals) (linux_nat_target::create_inferior, linux_nat_target::attach): Adjust. * linux-nat.h (linux_nat_target::pass_signals): Adjust. * nto-procfs.c (nto_procfs_target::pass_signals): Adjust. * procfs.c (procfs_target::pass_signals): Adjust. * record-full.c (record_full_target::resume): Adjust. * remote.c (remote_target::pass_signals) (remote_target::program_signals): Adjust. * target-debug.h (target_debug_print_signals): Now takes a gdb::array_view as parameter. Adjust. * target.h (target_ops) : Replace pointer and length parameters with gdb::array_view. (target_pass_signals, target_program_signals): Likewise. * target-delegates.c: Regenerate. commit 3046d67a0e29686ec18abd719660969c97973063 Author: Pedro Alves Date: Thu Jan 24 18:01:49 2019 +0000 Fix clang/libc++ build This fixes the following build error with clang/libc++, reported at : (...) In file included from breakpoint.c:34: In file included from ./inferior.h:54: ./common/forward-scope-exit.h:98:7: error: no matching constructor for initialization of 'decltype(std::bind(&delete_longjmp_breakpoint, std::declval()))' (aka '__bind') : m_bind_function (std::bind (function, args...)) ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ ./common/gdb_optional.h:155:19: note: in instantiation of member function 'detail::forward_scope_exit::forward_scope_exit' requested here new (&m_item) T (std::forward(args)...); ^ breakpoint.c:11127:18: note: in instantiation of function template specialization 'gdb::optional >::emplace' requested here lj_deleter.emplace (thread); ^ /Applications/Xcode-10.1.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1/functional:2220:7: note: candidate constructor (the implicit copy constructor) not viable: no known conversion from '__bind<[...], int &>' to 'const __bind<[...], int>' for 1st argument class __bind ^ (...) I don't really know why I ended up with a copy here. We can just pass the arguments directly to the being-constructed bind. gdb/ChangeLog: 2019-01-24 Pedro Alves * common/forward-scope-exit.h (forward_scope_exit::forward_scope_exit): Pass arguments to m_bind_function directly, instead of creating a std::bind and copying that. commit 353229bf405113e6ba2fe21f2a691bc63aa94bd8 Author: Alan Hayward Date: Thu Jan 24 08:17:39 2019 +0000 AArch64 AAPCS: Ignore static members Static members in C++ structs are global data and therefore not part of the list of struct members considered for passing in registers. Note the corresponding code in GCC (from which the GDB AAPCS code is based) does not have any static member checks due to the static members not being part of the struct type at that point. Extend gdb.base/infcall-nested-structs.exp to test structs with static members when compiled for C++. XFAIL more cases for x86_64 (see gdb/24104). For completeness, ensure some test cases have both empty structures and static members. Also fixes gdb.dwarf2/dw2-cp-infcall-ref-static.exp. gdb/ChangeLog: * aarch64-tdep.c (aapcs_is_vfp_call_or_return_candidate_1): Check for static members. (pass_in_v_vfp_candidate): Likewise. gdb/testsuite/ChangeLog: * gdb.base/infcall-nested-structs.c (struct struct_static_02_01): New structure. (struct struct_static_02_02): Likewise. (struct struct_static_02_03): Likewise. (struct struct_static_02_04): Likewise. (struct struct_static_04_01): Likewise. (struct struct_static_04_02): Likewise. (struct struct_static_04_03): Likewise. (struct struct_static_04_04): Likewise. (struct struct_static_06_01): Likewise. (struct struct_static_06_02): Likewise. (struct struct_static_06_03): Likewise. (struct struct_static_06_04): Likewise. (cmp_struct_static_02_01): Likewise. (cmp_struct_static_02_02): Likewise. (cmp_struct_static_02_03): Likewise. (cmp_struct_static_02_04): Likewise. (cmp_struct_static_04_01): Likewise. (cmp_struct_static_04_02): Likewise. (cmp_struct_static_04_03): Likewise. (cmp_struct_static_04_04): Likewise. (cmp_struct_static_06_01): Likewise. (cmp_struct_static_06_02): Likewise. (cmp_struct_static_06_03): Likewise. (cmp_struct_static_06_04): Likewise. (call_all): Test new structs. * gdb.base/infcall-nested-structs.exp: Likewise. commit 388a192d73df7439bf375d8b8042bb53a6be9c60 Author: GDB Administrator Date: Thu Jan 24 00:00:48 2019 +0000 Automatic date update in version.in commit 311dc83a411c83d61cd6cb931289761574ea3ecc Author: Tom Tromey Date: Wed Jan 23 18:58:37 2019 +0000 Use scope_exit in regcache.c This removes the regcache_invalidator class in favor of a scope_exit. This seems like an improvement (albeit a minor one) because regcache_invalidator is only used in a single spot. gdb/ChangeLog: 2019-01-23 Tom Tromey Pedro Alves * regcache.c (class regcache_invalidator): Remove. (regcache::raw_write): Use make_scope_exit. commit 296bd123f76d7f8474b5a2937a49fd619748a871 Author: Tom Tromey Date: Wed Jan 23 18:58:36 2019 +0000 Update cleanup comment in ui-out.h ui-out.h refers to some cleanup functions that no longer exist. This updates the reference. gdb/ChangeLog: 2019-01-23 Tom Tromey * ui-out.h (class ui_out_emit_type): Update comment. commit 979a0d1304ac7d73c9887f851e811d49752923fb Author: Tom Tromey Date: Wed Jan 23 18:58:36 2019 +0000 Update an obsolete cleanup comment This updates a comment in fetch_inferior_event. The comment refers to a cleanup that is now a scoped_restore_current_thread. gdb/ChangeLog: 2019-01-23 Tom Tromey * infrun.c (fetch_inferior_event): Update comment. commit d238133d0292926b937aaa6f83bf921dd0bbb01c Author: Tom Tromey Date: Wed Jan 23 18:58:35 2019 +0000 Remove remaining cleanup from fetch_inferior_event This removes the remaining cleanup from fetch_inferior_event, replacing it with a SCOPE_EXIT. This required introducing a new scope and reindenting. gdb/ChangeLog: 2019-01-23 Tom Tromey Pedro Alves * infrun.c (reinstall_readline_callback_handler_cleanup): Remove parameter. (fetch_inferior_event): Use SCOPE_EXIT. commit 9885e6bb5b0f6f0147f9b3a15a4bd4516faf4a26 Author: Tom Tromey Date: Wed Jan 23 18:58:35 2019 +0000 Remove cleanup from stop_all_threads This removes the cleanup from stop_all_threads, replacing it with a scope_exit. gdb/ChangeLog: 2019-01-23 Tom Tromey Pedro Alves * infrun.c (disable_thread_events): Delete. (stop_all_threads): Use SCOPE_EXIT. commit 286526c1e5f6d54bf6ecc961d7c2d0a32b58fe45 Author: Tom Tromey Date: Wed Jan 23 18:58:34 2019 +0000 Remove clear_symtab_users_cleanup This removes clear_symtab_users_cleanup, replacing it with uses of forward_scope_exit. gdb/ChangeLog: 2019-01-23 Tom Tromey Pedro Alves * symfile.c: Include forward-scope-exit.h. (clear_symtab_users_cleanup): Replace forward declaration with a FORWARD_SCOPE_EXIT. (syms_from_objfile_1): Use the forward_scope_exit and gdb::optional instead of cleanup_function. (reread_symbols): Use the forward_scope_exit instead of cleanup_function. (clear_symtab_users_cleanup): Remove function. commit 1db93f14fae0b3a638324e5349fe56a0e625451e Author: Tom Tromey Date: Wed Jan 23 18:58:34 2019 +0000 Remove cleanup from linux-nat.c This removes a cleanup from linux-nat.c, replacing it with a scope_exit. gdb/ChangeLog: 2019-01-23 Tom Tromey Pedro Alves * linux-nat.c: Include scope-exit.h. (cleanup_target_stop): Remove. (linux_nat_target::static_tracepoint_markers_by_strid): Use SCOPE_EXIT. commit 2cc83d1e0eeaad9927553ee157f810e43d47d24f Author: Tom Tromey Date: Wed Jan 23 18:58:33 2019 +0000 Remove cleanup_delete_std_terminate_breakpoint This removes cleanup_delete_std_terminate_breakpoint, replacing it with a use of SCOPE_EXIT. gdb/ChangeLog: 2019-01-23 Tom Tromey Pedro Alves * infcall.c (cleanup_delete_std_terminate_breakpoint): Remove. (call_function_by_hand_dummy): Use SCOPE_EXIT. commit 694c6bf5425024a8654a5541dec88e4dd6ddafb5 Author: Tom Tromey Date: Wed Jan 23 18:58:33 2019 +0000 Remove make_bpstat_clear_actions_cleanup This removes make_bpstat_clear_actions_cleanup, replacing it with uses of scope_exit. gdb/ChangeLog: 2019-01-23 Tom Tromey Andrew Burgess Pedro Alves * infrun.c (fetch_inferior_event): Use scope_exit. * utils.h (make_bpstat_clear_actions_cleanup): Don't declare. * top.c (execute_command): Use scope_exit. * breakpoint.c (bpstat_do_actions): Use scope_exit. * utils.c (do_bpstat_clear_actions_cleanup) (make_bpstat_clear_actions_cleanup): Remove. commit 4c41382ac101f10071f92074bab7c33242ef5b15 Author: Tom Tromey Date: Wed Jan 23 18:58:32 2019 +0000 Remove delete_just_stopped_threads_infrun_breakpoints_cleanup v3: sorted earlier in the series, and replaces the cleanup in fetch_inferior_event here too instead of in some other patch. This removes delete_just_stopped_threads_infrun_breakpoints_cleanup, replacing it with uses of scope_exit. gdb/ChangeLog: 2019-01-23 Tom Tromey Pedro Alves * infrun.c: Include "common/scope-exit.h" (delete_just_stopped_threads_infrun_breakpoints_cleanup): Remove. (wait_for_inferior): Use SCOPE_EXIT. (fetch_inferior_event): Use scope_exit. commit 89f8fb50fa16b0ef510dcd6de9088cee9820116d Author: Tom Tromey Date: Wed Jan 23 18:58:31 2019 +0000 Remove remaining cleanup from gdb/breakpoint.c In v3: remove the "have BKPT_CHAIN already discarded" comment too. The remaining null cleanup in breakpoint.c does not seem to protect anything, so remove it. gdb/ChangeLog: 2019-01-23 Tom Tromey Pedro Alves * breakpoint.c (create_breakpoint): Remove cleanup. commit 5419bdae559360a10044983b06c11a31de8d81f4 Author: Tom Tromey Date: Wed Jan 23 18:58:31 2019 +0000 Replace delete_longjmp_breakpoint_cleanup with a forward_scope_exit type This removes delete_longjmp_breakpoint_cleanup in favor of forward_scope_exit. gdb/ChangeLog: 2019-01-23 Tom Tromey Andrew Burgess Pedro Alves * breakpoint.c (until_break_command): Use delete_longjmp_breakpoint_cleanup class. * infcmd.c (delete_longjmp_breakpoint_cleanup): Remove function. (until_next_command): Use delete_longjmp_breakpoint_cleanup class. * inferior.h: Include forward-scope-exit.h. (delete_longjmp_breakpoint_cleanup): Replace function declaration with FORWARD_SCOPE_EXIT type. commit e587ef421eb7e009c6a69da55c269e9df45093e4 Author: Pedro Alves Date: Wed Jan 23 18:58:30 2019 +0000 Use SCOPE_EXIT in gdbarch-selftest.c Replace the custom local class with a SCOPE_EXIT. gdb/ChangeLog: 2019-01-23 Pedro Alves * gdbarch-selftests.c (struct on_exit): Use SCOPE_EXIT. commit 77f0e74cbe2ee7e874432776a0394a3d2a7a4342 Author: Pedro Alves Date: Wed Jan 23 18:58:30 2019 +0000 Use forward_scope_exit for scoped_finish_thread_state This reimplements the manually-written scoped_finish_thread_state class as a forward_scope_exit instantiation. forward_scope_exit has the same interface as scoped_finish_thread_state, so nothing else has to change. A forward_scope_exit is preferred over make_scope_exit here because infrun.c:normal_stop needs to wrap scoped_finish_thread_state in a gdb::optional. Since we need the type there, might as well use it everywhere. gdb/ChangeLog: 2019-01-23 Pedro Alves Andrew Burgess * gdbthread.h: Include "common/forward-scope-exit.h". (scoped_finish_thread_state): Redefine custom class in terms of forward_scope_exit. commit 5b9b3e53a68f4568dc0b6907e34e763a6c3dd145 Author: Pedro Alves Date: Wed Jan 23 18:58:29 2019 +0000 Introduce forward_scope_exit This adds a template that can be used to automatically instantiate scope_exit-like types that wrap some cleanup function. The instantiated type has a ctor that has the same interface as the wrapped function. While the "magic" is just straight C++11, the intended use is via the FORWARD_SCOPE_EXIT macro, which is a minimal macro that avoids spelling out the wrapped function name more than once: void some_function (int foo, object *bar); using some_function_fce = FORWARD_SCOPE_EXIT (some_function); some_function_fce cleanup (some_int, some_obj_ptr); The above runs: some_function (some_int, some_obj_ptr); at scope exit. This is mainly useful as opposed to a simpler SCOPE_EXIT when you need to: - cancel the scope_exit, in which case you need the object's name - wrap the scope_exit in a gdb::optional, in which case you need the scope_exit's type in advance. More details in the code comments. gdb/ChangeLog: 2019-01-23 Pedro Alves Andrew Burgess * common/forward-scope-exit.h: New file. commit 54b65c9b51ec80ef5812dde1a508ce171eeb8ce6 Author: Pedro Alves Date: Wed Jan 23 18:58:29 2019 +0000 Introduce scope_exit This add a new template class scope_exit. scope_exit is a general-purpose scope guard that calls its exit function at the end of the current scope. A scope_exit may be canceled by calling the "release" method. The API is modeled on P0052R5 - Generic Scope Guard and RAII Wrapper for the Standard Library, which is itself based on Andrej Alexandrescu's ScopeGuard/SCOPE_EXIT. The main advantage of scope_exit is avoiding writing single-use RAII classes and its boilerplate. Following patches will remove a few of such classes. There are two forms available: - The "make_scope_exit" form allows canceling the scope guard. Use it like this: auto cleanup = make_scope_exit ( ); ... cleanup.release (); // cancel - If you don't need to cancel the guard, you can use the SCOPE_EXIT macro, like this: SCOPE_EXIT { /* any code you like here. */ } Note: scope_exit instances do not allocate anything on the heap. gdb/ChangeLog: 2019-01-23 Pedro Alves Andrew Burgess Tom Tromey * common/scope-exit.h: New file. commit cf08fb29f8c484a34c4babb015348b220f80a33b Author: Pedro Alves Date: Wed Jan 23 18:58:28 2019 +0000 Rename ESC -> ESC_PARENS A following patch will include common/preprocessor.h in some .c file that also includes readline.h, and that revealed a conflict -- ESC is defined by readline.h as well (actually readline's chardefs.h) with a completely unrelated meaning: #define ESC CTRL('[') Rename our version to avoid the conflict. gdb/ChangeLog: 2019-01-23 Pedro Alves * common/preprocessor.h (ESC): Rename to ... (ESC_PARENS): ... this. * common/valid-expr.h (CHECK_VALID_EXPR_1, CHECK_VALID_EXPR_2) (CHECK_VALID_EXPR_3, CHECK_VALID_EXPR_4): Adjust. commit ae73e2e2435cb706b18ba05734aee4137a271b3c Author: Tom Tromey Date: Fri Jan 18 07:45:01 2019 -0700 Remove a warning from symtab.c When building symtab.c, I get: ../../binutils-gdb/gdb/language.h: In function ‘void print_symbol_info(search_domain, symbol*, int, const char*)’: ../../binutils-gdb/gdb/language.h:738:20: warning: ‘*((void*)& l +4)’ may be used uninitialized in this function [-Wmaybe-uninitialized] set_language (m_lang); ~~~~~~~~~~~~~^~~~~~~~ ../../binutils-gdb/gdb/symtab.c:4613:41: note: ‘*((void*)& l +4)’ was declared here scoped_switch_to_sym_language_if_auto l (sym); ^ This is another instance of the std::optional problem, see https://gcc.gnu.org/bugzilla/show_bug.cgi?id=80635. However, it seemed straightforward and inexpensive to me to silence this one, which is what this patch does. gdb/ChangeLog 2019-01-23 Tom Tromey * language.h (class scoped_switch_to_sym_language_if_auto): Initialize m_lang in both cases. commit 6594e122864119d7b1434599c22b112f98e178ca Author: Alan Hayward Date: Wed Jan 23 11:31:40 2019 +0000 AArch64: Ensure lwp info is created zeroed The code to not set empty hardware BPs/WPs on new threads will only work if the newly allocated struct is empty. Ensure the structure is created zeroed. This patch removes the remaining racy behaviour on gdb.threads tests when run on AArch64 Ubuntu. gdb/ChangeLog: * nat/aarch64-linux.c (aarch64_linux_new_thread): Replace XNEW with XCNEW. commit d99386305c5420754e84b9e6073cb061922f4a27 Author: Nick Clifton Date: Wed Jan 23 10:26:54 2019 +0000 Updated translations for some of the binutils subdirectory. commit 6406a2701bda7437e879bff026adc8a5a94e87ff Author: Sebastian Huber Date: Mon Jan 14 08:30:19 2019 +0100 ld: Add LTO warning to --wrap documentation ld/ * ld.texi (--wrap): Add warning that LTO may make this feature ineffective. commit a7c9855d033996252fc55349fd3e01670cdd7943 Author: Tom Tromey Date: Mon Jan 21 15:18:50 2019 -0700 corelow.c does not need sys/file.h I did not see any reason that corelow.c should include . The provided explanatory comment seems to be wrong. This patch removes the include. 2019-01-22 Tom Tromey * corelow.c: Do not include sys/file.h. commit 71ba91e1c0732e203ba465a2196caa45aa8b2179 Author: Tom Tromey Date: Mon Jan 21 14:50:24 2019 -0700 Include coff/sym.h from coff/ecoff.h coff/ecoff.h refers to some names defined in coff/sym.h. Include the latter from the former, so that users of the header don't need to know this detail. 2019-01-22 Tom Tromey * coff/ecoff.h: Include coff/sym.h. commit 93cc1d53f545e84c279c890c6309f3feddd39212 Author: Tom Tromey Date: Mon Jan 21 14:18:25 2019 -0700 Include gdb_curses.h in tui-wingeneral.h tui-wingeneral.h uses WINDOW, which is defined by curses. So, include gdb_curses.h from tui-wingeneral.h. 2019-01-22 Tom Tromey * tui/tui-wingeneral.h: Include gdb_curses.h. commit 38561778f3c6a6af98355925bcfd5d3c1e39a484 Author: Tom Tromey Date: Mon Jan 21 14:17:32 2019 -0700 Rename "lines" parameter in source-cache.h A compile in the TUI somehow had "lines" defined as a macro. This caused a compile error when including source-cache.h after whatever header did that. I tracked this down to a #define in /usr/include/term.h, so I just changed source-cache.h to avoid the clash. gdb/ChangeLog 2019-01-22 Tom Tromey * source-cache.h (class source_cache) : Rename "lines" parameter. commit 37b3ab5b547de7e727c5426c6615ece0284168c7 Author: Tom Tromey Date: Mon Jan 21 14:08:59 2019 -0700 Declare remote_target in remote-fileio.h remote-fileio.h refers to remote_target, so forward-declare it. gdb/ChangeLog 2019-01-22 Tom Tromey * remote-fileio.h (struct remote_target): Declare. commit 3fabc0163acbdffd9d77d7608604f737fc981399 Author: Tom Tromey Date: Mon Jan 21 13:49:06 2019 -0700 Do not include py-ref.h in most files py-ref.h can really only be included from a specific spot in python-internal.h. The other includes are not useful, and cause compilation errors if the includes are ever sorted. So, remove these includes. Arguably, py-ref.h should simply not be a separate header. gdb/ChangeLog 2019-01-22 Tom Tromey * python/py-arch.c: Do not include py-ref.h. * python/py-bpevent.c: Do not include py-ref.h. * python/py-cmd.c: Do not include py-ref.h. * python/py-continueevent.c: Do not include py-ref.h. * python/py-event.h: Do not include py-ref.h. * python/py-evtregistry.c: Do not include py-ref.h. * python/py-finishbreakpoint.c: Do not include py-ref.h. * python/py-frame.c: Do not include py-ref.h. * python/py-framefilter.c: Do not include py-ref.h. * python/py-function.c: Do not include py-ref.h. * python/py-infevents.c: Do not include py-ref.h. * python/py-linetable.c: Do not include py-ref.h. * python/py-objfile.c: Do not include py-ref.h. * python/py-param.c: Do not include py-ref.h. * python/py-prettyprint.c: Do not include py-ref.h. * python/py-progspace.c: Do not include py-ref.h. * python/py-symbol.c: Do not include py-ref.h. * python/py-symtab.c: Do not include py-ref.h. * python/py-type.c: Do not include py-ref.h. * python/py-unwind.c: Do not include py-ref.h. * python/py-utils.c: Do not include py-ref.h. * python/py-value.c: Do not include py-ref.h. * python/py-varobj.c: Do not include py-ref.h. * python/py-xmethods.c: Do not include py-ref.h. * python/python.c: Do not include py-ref.h. * varobj.c: Do not include py-ref.h. commit 6b4d77743349028e471334da3d63df09cddfd820 Author: Tom Tromey Date: Mon Jan 21 13:45:00 2019 -0700 Use "struct bcache" in objfiles.h If objfiles.h is included after bcache.h, then the "bcache" function will cause a compiler error because "bcache" will be seen as a function, not a type. Fix this error by using the "struct" keyword. gdb/ChangeLog 2019-01-22 Tom Tromey * objfiles.h (struct objfile_per_bfd_storage): Use "struct" keyword for bcache. commit 7af7e9b5d8f9dd8f994d59923158d24d77a54bbe Author: Tom Tromey Date: Mon Jan 21 13:43:16 2019 -0700 Remove a comment in compile/compile-cplus-types.c The include sorter can't handle multi-line comments on the same line as a #include. This patch removes the only such comment. In general I think these sorts of comments do not provide much value: more often than not, I find that the comment is obsolete in one way or another, and so the include sorter removes them in most cases. gdb/ChangeLog 2019-01-22 Tom Tromey * compile/compile-cplus-types.c: Remove a comment by #include. commit 951d1049fab99c36b2ea827e4eaf954ee1869794 Author: Tom Tromey Date: Mon Jan 21 13:42:36 2019 -0700 Include compile-internal.h in gcc-c-plugin.h gcc-c-plugin.h refers to some types defined in compile-internal.h. This patch changes the former to include the latter. gdb/ChangeLog 2019-01-22 Tom Tromey * compile/gcc-c-plugin.h: Include compile-internal.h. commit 2e8db3703b19c89e33b7eee633b0b0f1a79a5614 Author: GDB Administrator Date: Wed Jan 23 00:00:31 2019 +0000 Automatic date update in version.in commit d65d5705cd6e972067dfa7ccf1f9e0950c1538ff Author: Tom Tromey Date: Tue Jan 22 01:58:59 2019 -0700 Remove the EXTERN define from stabsread.h This removes the EXTERN define from stabsread.h. This is the only spot that still uses this approach, and it interfered with sorting the includes in stabsread.c. Tested by rebuilding. gdb/ChangeLog 2019-01-22 Tom Tromey * stabsread.c (EXTERN): Do not define. (symnum, next_symbol_text_func, processing_gcc_compilation) (within_function, global_sym_chain, global_stabs) (previous_stab_code, this_object_header_files) (n_this_object_header_files) (n_allocated_this_object_header_files): Define. * stabsread.h (EXTERN): Never define. Use "extern". commit b1afaa356621e3236ff27fec09e63fb99e9e990e Author: GDB Administrator Date: Tue Jan 22 00:00:30 2019 +0000 Automatic date update in version.in commit b6fb1ee51c9a773d2d6044993af6c0fd7499638f Author: Philippe Waroquiers Date: Sun Jan 20 16:59:00 2019 +0100 Fix leak in event-top.c history expansion E.g. in gdb.base/default.exp, valgrind detects leaks such as ==17663== 1,438 bytes in 101 blocks are definitely lost in loss record 2,804 of 2,884 ==17663== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309) ==17663== by 0x418A17: xmalloc (common-utils.c:44) ==17663== by 0x4E6F19C: history_expand (histexpand.c:1061) ==17663== by 0x4B4490: handle_line_of_input(buffer*, char const*, int, char const*) (event-top.c:685) ==17663== by 0x4B4562: command_line_handler(std::unique_ptr >&&) (event-top.c:753) ... Fix the leak by using an unique_xmalloc_ptr for history_value. gdb/ChangeLog 2019-01-22 Philippe Waroquiers * event-top.c (handle_line_of_input): use unique_xmalloc_ptr for history_value. commit be6d4f74c77c6f521afc873d226480e001cb99c2 Author: Tom Tromey Date: Sat Jan 19 14:08:48 2019 -0700 Remove duplicate or commented-out #includes I wrote a little script to detect duplicate or commented-out #includes and ran it on gdb. This patch is the result. Tested by rebuilding. gdb/ChangeLog 2019-01-21 Tom Tromey * ui-out.c: Fix includes. * tui/tui-source.c: Fix includes. * target.c: Fix includes. * remote.c: Fix includes. * regcache.c: Fix includes. * python/py-block.c: Fix includes. * printcmd.c: Fix includes. * or1k-tdep.c: Fix includes. * mi/mi-main.c: Fix includes. * m32r-tdep.c: Fix includes. * csky-tdep.c: Fix includes. * compile/compile-cplus-types.c: Fix includes. * cli/cli-interp.c: Fix includes. gdb/gdbserver/ChangeLog 2019-01-21 Tom Tromey * tracepoint.c: Fix includes. * remote-utils.c: Fix includes. * linux-x86-low.c: Fix includes. gdb/stubs/ChangeLog 2019-01-21 Tom Tromey * ia64vms-stub.c: Fix includes. commit d7167c671da0323daf31a8e07945c57c25f858d2 Author: Tom Tromey Date: Mon Jan 21 08:41:28 2019 -0700 Fix leak in splay-tree Philippe Waroquiers noticed a memory leak in gdb, which he tracked down to a bug in splay-tree. splay_tree_remove does not call the `delete_key' function when it removes the old node; but it should. I looked at every splay tree in GCC and there is only one that passes a non-NULL delete function -- the one in lto.c. That file does not call splay_tree_remove. So, I think this is safe to check in. I re-ran the LTO tests to double check. libiberty/ * splay-tree.c (splay_tree_remove): Delete the key if necessary. commit 73021deb50855f31bb312241899a464c62155f6a Author: Alan Hayward Date: Mon Jan 21 15:51:49 2019 +0000 AArch64 AAPCS: Empty structs have non zero size in C++ When gdb.base/infcall-nested-structs.c is complied as C++, the compiler will not pass structs containing empty structs via float arguments. This is because structs in C++ have a minimum size of 1, causing padding in the struct once compiled. The AAPCS does not allow structs with padding to be passed in float arguments. Add padding checks to AArch64 and add C++ compile variant to the test. Some of the tests fail on X86_64. This has been raised as bug gdb/24104. gdb/ChangeLog: * aarch64-tdep.c (aapcs_is_vfp_call_or_return_candidate_1): Check for padding. gdb/testsuite/ChangeLog: * gdb.base/infcall-nested-structs.exp: Test C++ in addition to C. commit a6c9b4042921847ee52003811383e4b8bf5d5875 Author: Nick Clifton Date: Mon Jan 21 13:05:44 2019 +0000 Updated Brazilian Portuguese translation for the ld/ subdirectory. commit 375cd4233dd1576d48acf93309125183e2c9ec9e Author: Nick Clifton Date: Mon Jan 21 12:59:20 2019 +0000 Updated translations for various binutils subdirectories. commit acef8081ec2ce5dc387ee55a04f75fb27ade94ec Author: Yuri Chornoivan Date: Mon Jan 21 12:39:24 2019 +0000 Fix spelling mistakes in BFD library. PR 24108 bfd * elf32-nds32.c (nds32_relocate_section): Add space between words in error message. * elfnn-riscv.c (riscv_version_mismatch): Fix spelling mistake in error message. (riscv_i_or_e_p): Likewise. (riscv_merge_arch_attr_info): Likewise. ld * testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d: Update expected error message. commit fc65c7dbe0607dfb1fc3d1019c46df73854cc896 Author: Alan Hayward Date: Mon Jan 21 10:43:53 2019 +0000 Testsuite: Ensure stack protection is off for GCC Using -fstack-protector-strong will cause GDB to break on the wrong line when placing a breakpoint on a function. This is due to inadequate dwarf line numbering, and is being tracked by the GCC bug https://gcc.gnu.org/bugzilla/show_bug.cgi?id=88432 GCC (and Clang) provided by Debian/Ubuntu default to stack protector being enabled. Ensure that when running the GDB testsuite, stack protector is always turned off for GCC 4.1.0 (when stack protector was added) and above. Ensure that this does not cause infinite recursion due to test_compiler_info having to compile a file itself. Add a test to explicitly test breakpoints with various levels of stack protection on both GCC and Clang, with xfail for the known errors. Restore change in ovldbreak.exp which worked around the issue. gdb/testsuite/ChangeLog: 2019-01-18 Alan Hayward * gdb.base/stack-protector.c: New test. * gdb.base/stack-protector.exp: New file. * gdb.cp/ovldbreak.exp: Only allow a single break line. * lib/gdb.exp (get_compiler_info): Use getting_compiler_info option. (gdb_compile): Remove stack protector for GCC and prevent recursion. commit 111f47f3e4b685acc2378e46d0221e562c608ffc Author: GDB Administrator Date: Mon Jan 21 00:00:29 2019 +0000 Automatic date update in version.in commit 57299f4831b9afe5923c808534003af665659a31 Author: Chenghua Xu Date: Sun Jan 20 01:51:30 2019 +0000 [MIPS] fix typo in mips_arch_choices. opcodes/ * mips-dis.c (mips_arch_choices): Fix typo in gs464, gs464e and gs264e descriptors. commit 3e80dafbfee64a4a9cdec17d60a3e18cf1fef28f Author: GDB Administrator Date: Sun Jan 20 00:01:16 2019 +0000 Automatic date update in version.in commit f48dfe417e2ceb2251825336fe8769897a4d4b05 Author: Nick Clifton Date: Sat Jan 19 16:51:42 2019 +0000 Change version to 2.32.51 and regenerate configure and pot files. commit f974f26cb16cc6fe3946f163c787a05e713fb77b Author: Nick Clifton Date: Sat Jan 19 15:55:50 2019 +0000 Add markers for 2.32 branch to NEWS and ChangeLog files. commit f3be6050c8d62d59a1846dacda5f895c5b0f9dbc Author: GDB Administrator Date: Sat Jan 19 00:00:46 2019 +0000 Automatic date update in version.in commit 241110d6cde08bf7367281bac67951d11639269e Author: GDB Administrator Date: Fri Jan 18 00:00:50 2019 +0000 Automatic date update in version.in commit 7932255de56fb99836b2e712e7dbcfdd5e1f1309 Author: Tom Tromey Date: Wed Jan 16 07:18:58 2019 -0700 Make minimal symbol range adapter a method on objfile This removes class objfile_msymbols in favor of a method on the objfile. 2019-01-16 Tom Tromey * objfiles.h (struct minimal_symbol_iterator): Rename. Move earlier. (struct objfile) : Move from top level. : New method. (class objfile_msymbols): Remove. * symtab.c (default_collect_symbol_completion_matches_break_on): Update. * symmisc.c (dump_msymbols): Update. * stabsread.c (scan_file_globals): Update. * objc-lang.c (info_selectors_command, info_classes_command) (find_methods): Update. * minsyms.c (find_solib_trampoline_target): Update. * hppa-tdep.c (hppa_lookup_stub_minimal_symbol): Update. * coffread.c (coff_symfile_read): Update. * ada-lang.c (ada_lookup_simple_minsym) (ada_collect_symbol_completion_matches): Update. commit 604b1bfb46e62d561698397cb5499b487eb0db34 Author: Tom Tromey Date: Wed Jan 16 07:09:55 2019 -0700 Simplify minsym iteration This simplifies the minimal symbol iterator, by using minimal_symbol_count and just doing a somewhat ordinary array-like iteration. array_view is nearly usable, except that it is more convenient for this iterator to return pointers rather than references. gdb/ChangeLog 2019-01-16 Tom Tromey * objfiles.h (class objfile_msymbols) : Change argument type. Remove no-argument constructor. : Simplify. : Update. : Use minimal_symbol_count. commit f252c6d5dc49cb27838e153e863f16ea7895859e Author: Tom Tromey Date: Wed Jan 16 06:37:15 2019 -0700 Make psymtab range adapter a method on objfile This removes the objfile_psymtabs class in favor of a method on objfile and on psymtab_storage. 2019-01-16 Tom Tromey * objfiles.h (struct objfile) : New method. (class objfile_psymtabs): Remove. * psymtab.h (class psymtab_storage) : New typedef. : New method. (require_partial_symbols): Change return type. * psymtab.c (require_partial_symbols) (psym_expand_symtabs_matching): Update. * mdebugread.c (parse_partial_symbols): Update. * dbxread.c (dbx_end_psymtab): Update. commit b669c95337903d39aa2254e8ea0405c0ac117d24 Author: Tom Tromey Date: Tue Jan 15 20:06:48 2019 -0700 Add compunits range adapter to objfile This removes the objfile_compunits range adapter in favor of using a method on objfile. 2019-01-15 Tom Tromey * symtab.c (lookup_objfile_from_block) (lookup_symbol_in_objfile_symtabs) (basic_lookup_transparent_type_1, find_pc_sect_compunit_symtab) (find_line_symtab, info_sources_command) (default_collect_symbol_completion_matches_break_on) (make_source_files_completion_list): Update. * symmisc.c (print_objfile_statistics, dump_objfile) (maintenance_print_symbols, maintenance_info_symtabs) (maintenance_check_symtabs, maintenance_info_line_tables): Update. * source.c (select_source_symtab) (forget_cached_source_info_for_objfile): Update. * objfiles.h (class objfile_compunits): Remove. (struct objfile) : New typedef. (compunits): New method. * objfiles.c (objfile_relocate1): Update. * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Update. * maint.c (count_symtabs_and_blocks): Update. * linespec.c (iterate_over_all_matching_symtabs): Update. * cp-support.c (add_symbol_overload_list_qualified): Update. * coffread.c (coff_symtab_read): Update. * ada-lang.c (add_nonlocal_symbols) (ada_collect_symbol_completion_matches) (ada_add_global_exceptions): Update. commit 7e955d83c4128ec773d84b92487ed1cdfed09938 Author: Tom Tromey Date: Tue Jan 15 17:06:38 2019 -0700 Change all_objfiles_safe adapter to be a method on program_space This changes the all_objfiles_safe range adapter to be a method on the program space, and fixes up all the users. gdb/ChangeLog 2019-01-15 Tom Tromey * progspace.h (program_space) : New typedef. : New method. * objfiles.h (class all_objfiles_safe): Remove. * objfiles.c (free_all_objfiles, objfile_purge_solibs): Update. * jit.c (jit_inferior_exit_hook): Update. commit 2030c079717475f5b6fad837bb81758891f3b802 Author: Tom Tromey Date: Tue Jan 15 16:55:05 2019 -0700 Change all_objfiles adapter to be a method on program_space This changes the all_objfiles range adapter to be a method on the program space, and fixes up all the users. gdb/ChangeLog 2019-01-17 Tom Tromey * progspace.h (program_space) : New typedef. : New method. : Rename from objfiles. (object_files): Update. * guile/scm-progspace.c (gdbscm_progspace_objfiles): Update. * guile/scm-pretty-print.c (ppscm_find_pretty_printer_from_objfiles): Update. * guile/scm-objfile.c (gdbscm_objfiles): Update. * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): Update. * python/py-progspace.c (pspy_get_objfiles): Update. * python/py-prettyprint.c (find_pretty_printer_from_objfiles): Update. * python/py-objfile.c (objfpy_lookup_objfile_by_name) (objfpy_lookup_objfile_by_build_id): Update. * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Update. * windows-tdep.c (windows_iterate_over_objfiles_in_search_order): Update. * symtab.c (iterate_over_symtabs, matching_obj_sections) (expand_symtab_containing_pc, lookup_objfile_from_block) (lookup_static_symbol, basic_lookup_transparent_type) (find_pc_sect_compunit_symtab, find_symbol_at_address) (find_line_symtab, info_sources_command) (default_collect_symbol_completion_matches_break_on) (make_source_files_completion_list, find_main_name): Update. * symmisc.c (print_symbol_bcache_statistics) (print_objfile_statistics, maintenance_print_symbols) (maintenance_print_msymbols, maintenance_print_objfiles) (maintenance_info_symtabs, maintenance_check_symtabs) (maintenance_expand_symtabs, maintenance_info_line_tables): Update. * symfile.c (remove_symbol_file_command, overlay_invalidate_all) (find_pc_overlay, find_pc_mapped_section, list_overlays_command) (map_overlay_command, unmap_overlay_command) (simple_overlay_update, expand_symtabs_matching) (map_symbol_filenames): Update. * symfile-debug.c (set_debug_symfile): Update. * spu-tdep.c (spu_overlay_update, spu_objfile_from_frame): Update. * source.c (select_source_symtab, forget_cached_source_info): Update. * solib.c (solib_read_symbols): Update. * solib-spu.c (append_ocl_sos): Update. * psymtab.c (maintenance_print_psymbols) (maintenance_info_psymtabs, maintenance_check_psymtabs): Update. * probe.c (parse_probes_in_pspace, find_probe_by_pc): Update. * printcmd.c (info_symbol_command): Update. * ppc-linux-tdep.c (ppc_linux_spe_context_inferior_created): Update. * objfiles.h (class all_objfiles): Remove. * objfiles.c (have_partial_symbols, have_full_symbols) (have_minimal_symbols, qsort_cmp, update_section_map) (shared_objfile_contains_address_p) (default_iterate_over_objfiles_in_search_order): Update. * objc-lang.c (info_selectors_command, info_classes_command) (find_methods): Update. * minsyms.c (find_solib_trampoline_target): Update. * maint.c (maintenance_info_sections) (maintenance_translate_address, count_symtabs_and_blocks): Update. * main.c (captured_main_1): Update. * linux-thread-db.c (try_thread_db_load_from_pdir) (has_libpthread): Update. * linespec.c (iterate_over_all_matching_symtabs) (search_minsyms_for_name): Update. * jit.c (jit_find_objf_with_entry_addr): Update. * hppa-tdep.c (find_unwind_entry) (hppa_lookup_stub_minimal_symbol): Update. * gcore.c (gcore_create_callback, objfile_find_memory_regions): Update. * elfread.c (elf_gnu_ifunc_resolve_by_cache) (elf_gnu_ifunc_resolve_by_got): Update. * dwarf2-frame.c (dwarf2_frame_find_fde): Update. * dwarf-index-write.c (save_gdb_index_command): Update. * cp-support.c (add_symbol_overload_list_qualified): Update. * breakpoint.c (create_overlay_event_breakpoint) (create_longjmp_master_breakpoint) (create_std_terminate_master_breakpoint) (create_exception_master_breakpoint): Update. * blockframe.c (find_pc_partial_function): Update. * ada-lang.c (ada_lookup_simple_minsym, add_nonlocal_symbols) (ada_collect_symbol_completion_matches) (ada_add_global_exceptions): Update. commit 776489e0a79a14cb3f1138d4e4158ab9a8c7ecf3 Author: Tom Tromey Date: Wed Jan 16 21:46:00 2019 -0700 Remove cleanups from solib-target.c This removes the remaining cleanups from solib-target.c, plus a VEC, by using std::vector and std::unique_ptr. Tested by the buildbot. gdb/ChangeLog 2019-01-17 Tom Tromey * solib-target.c (lm_info_target_p): Remove typedef. Don't declare VEC. (solib_target_parse_libraries): Change return type. (library_list_start_segment, library_list_start_section) (library_list_end_library, library_list_start_library); Update. (solib_target_free_library_list): Remove. (solib_target_parse_libraries): Remove cleanup. Change return type. (solib_target_current_sos): Update. commit 6471e7d23de333a63a119220d59b920c6aaef562 Author: Tom Tromey Date: Thu Jan 17 10:19:44 2019 -0700 Replace "the the" with "the" This replaces "the the" with "the" in various comments. Tested by rebuilding. This didn't test the solib-dsbt.c change, but it looks harmless. gdb/ChangeLog 2019-01-17 Tom Tromey * valprint.c: Replace "the the" with "the". * symtab.c: Replace "the the" with "the". * solib.c: Replace "the the" with "the". * solib-dsbt.c: Replace "the the" with "the". * linespec.c: Replace "the the" with "the". * dwarf2loc.h: Replace "the the" with "the". * amd64-windows-tdep.c: Replace "the the" with "the". * aarch64-tdep.c: Replace "the the" with "the". commit dee3ee22244df9c8b3220af7f4361e69adb84c97 Author: Tamar Christina Date: Thu Jan 17 16:05:37 2019 +0000 Arm: Clean up PE GAS testsuite correct THUMB tests. The PE targets don't support mapping symbols and so the disassembler is unable to correctly output thumb instructions when the input was thumb. So for testcases that only have thumb output, I have copied them and skipped the ones for which auto-detection is supposed to work on PE, and added a new one that will force thumb output. This so that the tests still check the mapping symbols. For the tests that switch between thumb and arm in one file I just skip them entirely on PE targets. This cleans up the PE GAS testsuite. gas/ * testsuite/gas/arm/archv6t2-1-pe.d: New test. * testsuite/gas/arm/archv6t2-1.d: Skip pe. * testsuite/gas/arm/csdb.d: Skip pe. * testsuite/gas/arm/sb-thumb1-pe.d: New test. * testsuite/gas/arm/sb-thumb1.d: Skip pe. * testsuite/gas/arm/sb-thumb2-pe.d: New test. * testsuite/gas/arm/sb-thumb2.d: Skip pe. * testsuite/gas/arm/udf.d: Skip pe. commit baae986a40eb2ed6d612436586bfa7dd1d88702d Author: Nick Clifton Date: Thu Jan 17 15:29:43 2019 +0000 Update objdump's --disassemble= feature so that if is a function, the entire function will be disassembled, regardless of the presence of interveening symbols. * objdump.c (disassemble_section): When disassembling from a symbol only stop at the next symbol if the original symbol was not a function symbol. Otherwise continue disassembling until a new function is reached. * testsuite/binutils-all/objdump.exp: Add tests of extended functionality. * testsuite/binutils-all/disasm.s: New test source file. commit e89c69419641d638a96cb7ca3c9fa4b3feac5ce0 Author: GDB Administrator Date: Thu Jan 17 00:00:51 2019 +0000 Automatic date update in version.in commit b84bb29de922b727ae8c37e88c670b299a3c52d8 Author: Simon Marchi Date: Wed Jan 16 17:01:42 2019 -0500 Actually remove definitions of DEFINE_NON_INLINE_P and DEFINE_INLINE_P I applied the patch "Do not expand macros to 'defined'" by hand because I couldn't apply it with git-am, and of course forgot to remove the macro definitions. This patch fixes it, and also makes the ChangeLog entry a bit cleaner. commit a4bf3d0720b1093dd148b7a728f92ce690a8a034 Author: Jim Wilson Date: Wed Jan 16 13:37:35 2019 -0800 Don't emit vendor attribute section if there is no attribute to emit. 2019-01-16 Kito Cheng bfd/ * elf-attrs.c (vendor_obj_attr_size): Return 0 if size is 0 even for OBJ_ATTR_PROC. gas/ * testsuite/gas/riscv/attribute-empty.d: New. commit 7d7a7d7ccf6047cc5b480064e9eb9489542c0dd7 Author: Jim Wilson Date: Wed Jan 16 13:28:35 2019 -0800 RISC-V: Merge ELF attribute for ld. 2019-01-16 Kito Cheng Nelson Chu bfd/ * elfnn-riscv.c (in_subsets): New. (out_subsets): Likewise. (merged_subsets): Likewise. (riscv_std_ext_p): Likewise. (riscv_non_std_ext_p): Likewise. (riscv_std_sv_ext_p): Likewise. (riscv_non_std_sv_ext_p): Likewise. (riscv_version_mismatch): Likewise. (riscv_i_or_e_p): Likewise. (riscv_merge_std_ext): Likewise. (riscv_merge_non_std_and_sv_ext): Likewise. (riscv_merge_arch_attr_info): Likewise. (riscv_merge_attributes): Likewise. (_bfd_riscv_elf_merge_private_bfd_data): Merge attribute. ld/ * testsuite/ld-elf/orphan-region.d: XFAIL for RISC-V, because add new section. * testsuite/ld-riscv-elf/ld-riscv-elf.exp: Add new tests. * testsuite/ld-riscv-elf/attr-merge-arch-01.d: New test. * testsuite/ld-riscv-elf/attr-merge-arch-01a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-01b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-02.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-02a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-02b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-03.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-03a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-03b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-priv-spec.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-stack-align-a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-stack-align-b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-stack-align-failed-a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-stack-align-failed-b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-stack-align-failed.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-stack-align.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-01.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-01a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-01b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-02.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-02a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-02b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-03.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-03a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-03b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-04.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-04a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-04b.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-05.d: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-05a.s: Likewise. * testsuite/ld-riscv-elf/attr-merge-strict-align-05b.s: Likewise. commit 2dc8dd17cd595bd7a1b0824c83380af52e633fc1 Author: Jim Wilson Date: Wed Jan 16 13:14:59 2019 -0800 RISC-V: Support ELF attribute for gas and readelf. 2019-01-16 Kito Cheng Nelson Chu bfd/ * elfnn-riscv.c (riscv_elf_obj_attrs_arg_type): New. (elf_backend_obj_attrs_vendor): Define. (elf_backend_obj_attrs_section_type): Likewise. (elf_backend_obj_attrs_section): Likewise. (elf_backend_obj_attrs_arg_type): Define as riscv_elf_obj_attrs_arg_type. * elfxx-riscv.c (riscv_estimate_digit): New. (riscv_estimate_arch_strlen1): Likewise. (riscv_estimate_arch_strlen): Likewise. (riscv_arch_str1): Likewise. (riscv_arch_str): Likewise. * elfxx-riscv.h (riscv_arch_str): Declare. binutils/ * readelf.c (get_riscv_section_type_name): New function. (get_section_type_name): Add handler for RISC-V. (riscv_attr_tag_t): Declare. (riscv_attr_tag): New. (display_riscv_attribute): New function. (process_attributes): Add handler for RISC-V. * testsuite/binutils-all/strip-3.d: Remove .riscv.attribute section. gas/ * config/tc-riscv.c (DEFAULT_RISCV_ATTR): Define to 0 if not defined. (riscv_set_options): Add `arch_attr` field. (riscv_opts): Set default value for arch_attr. (riscv_write_out_arch_attr): New. (riscv_set_public_attributes): Likewise. (riscv_md_end): Likewise. (riscv_convert_symbolic_attribute): Likewise. (s_riscv_attribute): Likewise. (explicit_arch_attr): Likewise. (riscv_pseudo_table): Add .attribute to the table. (options): Add OPTION_ARCH_ATTR and OPTION_NO_ARCH_ATTR enumeration constants. (md_longopts): Add `march-attr' and `mno-arch-attr' options. (md_parse_option): Handle the new options. (md_show_usage): Document the `march-attr' option. * config/tc-riscv.h (md_end): Define as riscv_md_end (riscv_md_end): Declare. (CONVERT_SYMBOLIC_ATTRIBUTE): Define as riscv_convert_symbolic_attribute. (riscv_convert_symbolic_attribute): Declare. (start_assemble): Declare. * testsuite/gas/elf/elf.exp: Adjust test case for section2.e. * testsuite/gas/elf/section2.e-riscv: New. * testsuite/gas/riscv/attribute-01.d: New test * testsuite/gas/riscv/attribute-02.d: Likewise. * testsuite/gas/riscv/attribute-03.d: Likewise. * testsuite/gas/riscv/attribute-04.d: Likewise. * testsuite/gas/riscv/attribute-04.s: Likewise. * testsuite/gas/riscv/attribute-05.d: Likewise. * testsuite/gas/riscv/attribute-05.s: Likewise. * testsuite/gas/riscv/attribute-06.d: Likewise. * testsuite/gas/riscv/attribute-06.s: Likewise. * testsuite/gas/riscv/attribute-07.d: Likewise. * testsuite/gas/riscv/attribute-07.s: Likewise. * testsuite/gas/riscv/attribute-08.d: Likewise. * testsuite/gas/riscv/attribute-08.s: Likewise. * testsuite/gas/riscv/attribute-unknown.d: Likewise. * testsuite/gas/riscv/attribute-unknown.s: Likewise. * testsuite/gas/riscv/empty.l: Likewise. * doc/c-riscv.texi (.attribute): Add documentation. * configure.ac (--enable-default-riscv-attribute): New options. * configure: Re-generate. * config.in: Re-generate. include/ * elf/riscv.h (SHT_RISCV_ATTRIBUTES): Define. (Tag_RISCV_arch): Likewise. (Tag_RISCV_priv_spec): Likewise. (Tag_RISCV_priv_spec_minor): Likewise. (Tag_RISCV_priv_spec_revision): Likewise. (Tag_RISCV_unaligned_access): Likewise. (Tag_RISCV_stack_align): Likewise. commit 7516c26f867b8c235f28a4d449efb9990125e0a1 Author: Pavel I. Kryukov Date: Wed Jan 16 16:04:34 2019 -0500 Do not expand macros to 'defined' Expanding a macro which contains 'defined' PP keyword is UB. It causes a compilation failure when -Wexpansion-to-defined is used. sim/common/Changelog: 2019-01-16 Pavel I. Kryukov * sim-arange.c: eliminate DEFINE_NON_INLINE_P commit c24bdb023c8e1fa969d6eb945059fa8ed0d490c7 Author: Keith Seitz Date: Wed Jan 16 11:38:06 2019 -0800 Introduce dwarf2_cu::get_builder This patch is an attempt to deal with a variety of bugs reported where GDB segfaults attempting to access a dwarf2_cu's builder. In certain circumstances, this builder can be NULL. This is especially common when inheriting DIEs via inlined subroutines in other CUs. The test case demonstrates one such situation reported by users. See gdb/23773, rhbz1638798, and dups for other concrete examples. The approach taken here is to save the ancestor CU into the dwarf2_cu of all CUs with DIEs that are "imported." This can happen whenever follow_die_offset and friends are called. This essentially introduces a chain of CUs that caused the importation of a DIE from a CU. Whenever a builder is requested of a CU that has none, the ancestors are searched for the first one with a builder. A design side effect of this is that the builder can now only be accessed by getter and setter methods because the builder itself is private. The bulk of the patch is relatively mindless text conversion from "cu->builder" to "cu->get_builder ()". I've included one test which was derived from one (of the many) bugs reported on the issue in both sourceware and Fedora bugzillas. gdb/ChangeLog: PR gdb/23773 * dwarf2read.c (dwarf2_cu) : New field. : Rename to .. : ... this and make private. (dwarf2_cu::get_builder): New method. Change all users of `builder' to use this method. (dwarf2_start_symtab): Move to ... (dwarf2_cu::start_symtab): ... here. Update all callers (setup_type_unit_groups): Move to ... (dwarf2_cu::setup_type_unit_groups): ... here. Update all callers. (dwarf2_cu::reset_builder): New method. (process_full_compunit, process_full_type_unit): Use dwarf2_cu::reset_builder. (follow_die_offset): Record the ancestor CU if it is different from the followed DIE's CU. (follow_die_sig_1): Likewise. gdb/testsuite/ChangeLog: PR gdb/23773 * gdb.dwarf2/inlined_subroutine-inheritance.exp: New file. commit 1fea0d5379be553f9bcee7c50fba4cff00176d1b Author: Simon Marchi Date: Wed Jan 16 14:32:13 2019 -0500 doc: Add table of MI versions This patch adds a table summarizing the history or MI versions: - The version number - Which GDB version introduced it - Breaking changes compared to the previous version The goal of the table is to help writers of front ends know which version of MI they can use with a given GDB version. It will also help them update their code to work against a newer MI version. Right now, we just have 1 and 2, but we expect to add an entry for 3 soon. I did a bit of archelogy and reverse engineering of the code to come up with the breaking changes for MI 2. I did some changes to the text around it, some things that I thought needed to be clarified, seemed a bit dated or seemed just wrong (especially "Apart from mi0, new versions of @value{GDBN} will not support old versions of MI"). gdb/doc/ChangeLog: * gdb.texinfo (GDB/MI Development and Front Ends): Add table of MI versions. Update text around it. commit e7b47f2e68c6eaff916ea4d1202a77e15730f48f Author: John Darrington Date: Mon Jan 14 16:55:17 2019 +0100 S12Z: gas: Fix bug when a symbol name was the single letter 'c'. The assembler incorrectly recognised "c" as a register name, and refused to allow it where it expected a symbol/label. gas/ * config/tc-s12z.c (lex_reg_name): Compare the length of the strings before the contents. * testsuite/gas/s12z/labels.d: New file. * testsuite/gas/s12z/labels.s: New file. * testsuite/gas/s12z/s12z.exp: Add them. commit 77fdb0e00bd47c564c4e32726fc6020d9441d4a7 Author: John Darrington Date: Wed Jan 16 14:34:50 2019 +0100 S12Z: gas: Permit "extend" instructions which don't actually extend. Other assemblers permit "extending" a register into a register of a smaller size or the same size. It doesn't make much sense to do this but would appear to be a valid instruction. So change the error to a warning. gas/ * config/tc-s12z.c (tfr): Change as_bad to as_warn. Also fix message typo and semantics. commit d5dcaf1b59e77047e10a1f246095d6b21f7d9772 Author: John Darrington Date: Wed Jan 16 14:34:50 2019 +0100 S12Z: Emit RELOC_S12Z_OPR instead of RELOC_EXT24 where appropriate. When assembling instructions which involve OPR references, emit RELOC_S12Z_OPR instead of RELOC_EXT24. bfd/ * bfd-in2.h [BFD_RELOC_S12Z_OPR]: New reloc. * libbfd.h: regen. * elf32-s12z.c (eld_s12z_howto_table): R_S12Z_OPR takes non zero source field. (md_apply_fix): Apply final fix to BFD_RELOC_S12Z_OPR. * reloc.c[BFD_RELOC_S12Z_OPR]: New reloc. gas/ * config/tc-s12z.c (emit_opr): Emit BFD_RELOC_S12Z_OPR instead of BFD_RELOC_24. * testsuite/gas/s12z/opr-indirect-expr.d: Expect R_S12Z_OPR instead of R_S12Z_EXT24. commit 338c923d26fa86f695fcdc4b659a5f0772768093 Author: GDB Administrator Date: Wed Jan 16 00:00:34 2019 +0000 Automatic date update in version.in commit dc7e818497f0af0a3ee569f6eee0ad74e19b4bc2 Author: Simon Marchi Date: Tue Jan 15 17:45:39 2019 -0500 sim: Fix definition of SIM_ARANGE_INLINE If HAVE_INLINE is false, SIM_ARANGE_INLINE is currently defined as #define SIM_ARANGE_INLINE EXTERN However, EXTERN is not defined anywhere, leading to errors such as: In file included from /mipt-mips/simulator/../../sim/common/sim-basics.h:147:0, from /mipt-mips/simulator/export/gdb/sim-main.h:13, from /mipt-mips/simulator/export/gdb/gdb_interface.cpp:7: /mipt-mips/simulator/../../sim/common/sim-arange.h:71:27: error: ‘EXTERN’ does not name a type; did you mean ‘EUSERS’? #define SIM_ARANGE_INLINE EXTERN ^ /mipt-mips/simulator/../../sim/common/sim-arange.h:76:1: note: in expansion of macro ‘SIM_ARANGE_INLINE’ SIM_ARANGE_INLINE int ^~~~~~~~~~~~~~~~~ I (Simon) have reproduced the problem by simply removing the HAVE_INLINE definition. This was originally reported by Pavel I. Kryukov . sim/common/ChangeLog: * sim-arange.h (SIM_ARANGE_INLINE): Change EXTERN to extern. commit 8d64371b6b710831ddfd6a8636097396040476ee Author: Tom Tromey Date: Sun Jan 6 11:15:05 2019 -0700 Remove cleanup from remote.c This removes the remaining cleanup from remote.c, by changing remote_state::buf to be a gdb::char_vector, and then fixing up all the fallout. The resulting patch is somewhat ugly, but on the other hand, it eliminates some possibilities for mistakes. Regression tested using the Fedora-x86_64-native-extended-gdbserver-m64 builder on the buildbot. gdb/ChangeLog 2019-01-15 Tom Tromey * remote.c (class remote_state) : Now a char_vector. : Remove. (remote_target::getpkt): Change type of buf. Remove sizeof_buf parameter. (remote_target::getpkt_or_notif_sane_1) (remote_target::getpkt_sane) (remote_target::getpkt_or_notif_sane): Likewise. (class remote_target) : New overload. (remote_target::read_frame): Change type of "buf_p". Remove sizeof_p parameter. (packet_ok): New overload. (packet_check_result): New overload. Update all uses. commit bb27775165d9b992120371383012404e213b1981 Author: Tom Tromey Date: Sun Jan 6 13:30:00 2019 -0700 Constify some remote-notif functions This constifies the "buf" arguments to various remote-notif functions and updates the users. gdb/ChangeLog 2019-01-14 Tom Tromey * remote-notif.c (handle_notification, remote_notif_ack) (remote_notif_parse): Make "buf" const. * remote-notif.h (struct notif_client) : Make "buf" const. (remote_notif_parse, remote_notif_ack, handle_notification): Likewise. * remote.c (remote_notif_stop_parse): Make "buf" const. (remote_target::remote_parse_stop_reply): Make "buf" const. (remote_notif_stop_ack): Make "buf" const. commit 05be00a884850c5fe314004c9b91609f480308f6 Author: Tom Tromey Date: Sun Jan 6 13:26:22 2019 -0700 Constify remote_console_output This constifies the parameter to remote_console_output. gdb/ChangeLog 2019-01-14 Tom Tromey * remote.c (remote_console_output): Make parameter const. commit 491adecac48c5960fe29582f5046c015ff92c211 Author: Tom Tromey Date: Sun Jan 6 13:24:11 2019 -0700 Constify target_pass_signals and target_program_signals This constifies the final parameter to target_pass_signals and target_program_signals and updates the rest of gdb. Note that I have no way to test the nto-procfs.c change. gdb/ChangeLog 2019-01-14 Tom Tromey * target-debug.h (target_debug_print_signals): Constify. * nto-procfs.c (nto_procfs_target::pass_signals): Update. * procfs.c (procfs_target::pass_signals): Update. * linux-nat.c (linux_nat_target::pass_signals): Update. * linux-nat.h (class linux_nat_target) : Update. * target-delegates.c: Rebuild. * remote.c (remote_target::program_signals): Update. (remote_target::pass_signals): Update. * target.c (target_pass_signals): Constify argument. (target_program_signals): Likewise. * target.h (struct target_ops) : Constify argument. (target_pass_signals, target_program_signals): Constify argument. commit 183561e05eb4d504f65557756e987b584b72350b Author: GDB Administrator Date: Tue Jan 15 00:00:15 2019 +0000 Automatic date update in version.in commit bbd94648f2115338bd94e9800ba0e37f09d98a79 Author: Tom Tromey Date: Sat Jan 12 13:35:06 2019 -0700 Fix placement of output in TUI mode The fix for PR tui/28819 regressed gdb command output a bit. In "nonl" mode, pressing the Enter key will result in a newline not being echoed properly, so that gdb output for the command will begin on the same line as the input. This patch changes gdb_wgetch to echo the newline. I have only tested this interactively, as the TUI doesn't have automated tests in general. gdb/ChangeLog 2019-01-14 Tom Tromey PR tui/28819: * tui/tui-io.c (gdb_wgetch): Print \r when needed. commit 8f0a21480babea5b22cba13a3bee722408ca57e3 Author: Павел Крюков Date: Fri Jan 11 12:47:42 2019 +0300 Include to dis-asm.h to get strchr declaration Include to dis-asm.h to get strchr declaration include/Changelog: 2019-01-11 Pavel I. Kryukov * dis-asm.h: include commit 6f072a103498fa9b7795782d9fdf1ae226f5565e Author: Pedro Franco de Carvalho Date: Mon Jan 14 17:28:53 2019 -0200 [PowerPC] Aliases for vector registers This patch defines pseudo-registers "v0" through "v31" as aliases that map to the corresponding raw "vr0" through "vr31" vector registers for Power. The motivation behind this is that although GDB defines these registers as "vrX", the disassembler prints them as "vX", e.g. as the operands in instructions such as "vaddubm v2,v1,v1". This can be confusing to users trying to print out the values of the operands while inspecting the disassembled code. The new aliases are made not to belong to any register group, to avoid duplicated values in "info register vector" and "info register all". The arch-specific rs6000_pseudo_register_reggroup_p function had previously been removed since the other pseudo-registers could have their groups inferred by their type. It restored with this patch to handle the aliases. Membership for the other pseudo-registers is still determined using the default function. A new tests checks that GDB prints the expected values of vector registers after they are filled by the inferior, by using both the raw names and the aliases. Two other existing tests are modified to also test the aliases. gdb/ChangeLog: 2019-01-14 Pedro Franco de Carvalho * ppc-tdep.h (struct gdbarch_tdep) : New field. * rs6000-tdep.c: Include reggroups.h. (IS_V_ALIAS_PSEUDOREG): Define. (rs6000_register_name): Return names for the "vX" aliases. (rs6000_pseudo_register_type): Return type for the "vX" aliases. (rs6000_pseudo_register_reggroup_p): Restore. Handle "vX" aliases. Call default_register_reggroup_p for all other pseudo-registers. (v_alias_pseudo_register_read, v_alias_pseudo_register_write): New functions. (rs6000_pseudo_register_read, rs6000_pseudo_register_write): Handle "vX" aliases. (v_alias_pseudo_register_collect): New function. (rs6000_ax_pseudo_register_collect): Handle "vX" aliases. (rs6000_gdbarch_init): Initialize "vX" aliases as pseudo-registers. Restore registration of rs6000_pseudo_register_reggroup_p with set_tdesc_pseudo_register_reggroup_p. gdb/testsuite/ChangeLog: 2019-01-14 Pedro Franco de Carvalho * gdb.arch/vsx-regs.exp: Add tests that use the vector register aliases. * gdb.arch/altivec-regs.exp: Likewise. Fix indentation of two tests. * gdb.arch/powerpc-vector-regs.c: New file. * gdb.arch/powerpc-vector-regs.exp: New file. gdb/doc/ChangeLog: 2019-01-14 Pedro Franco de Carvalho * gdb.texinfo (PowerPC Features): Document the alias pseudo-registers for the org.gnu.gdb.power.altivec feature. commit a7b8d68257c52281b08d9d858805e15667be6606 Author: Pedro Franco de Carvalho Date: Mon Jan 14 17:28:53 2019 -0200 [PowerPC] Fix "info vector" test in gdb.arch/altivec-regs.exp This patch fixes one of the tests in gdb.arch/altivec-regs.exp that was passing an incorrect list to gdb_expect_list, which always matched. gdb/testsuite/ChangeLog: 2019-01-14 Pedro Franco de Carvalho * gdb.arch/altivec-regs.exp: Fix the list passed to gdb_expect_list when testing "info vector". commit f466c3053db1e075a8dd2583baa729c4edbbec0f Author: Nick Clifton Date: Mon Jan 14 16:04:18 2019 +0000 Correct PR number in prevvious delta commit 5a12586d44fa8d5dfc74cbca4f2f36a273a16335 Author: Maamoun Tarsha Date: Mon Jan 14 16:00:14 2019 +0000 Add support to GNU ld to separate got related plt entries from normal ones in order to be able to switch the non-plt got entries to read-only after startup, conforming to revised Linux for zSeries ABI. PR 20133 * emulparams/elf64_s390.sh (SEPARATE_GOTPLT): Define. * emulparams/elf_s390.sh (SEPARATE_GOTPLT): Define. * testsuite/ld-s390/gotreloc_31-1.dd: Update expected output. * testsuite/ld-s390/tlsbin.dd: Likewise. * testsuite/ld-s390/tlsbin.rd: Likewise. * testsuite/ld-s390/tlsbin.sd: Likewise. * testsuite/ld-s390/tlsbin_64.dd: Likewise. * testsuite/ld-s390/tlsbin_64.rd: Likewise. * testsuite/ld-s390/tlsbin_64.sd: Likewise. * testsuite/ld-s390/tlspic.dd: Likewise. * testsuite/ld-s390/tlspic.rd: Likewise. * testsuite/ld-s390/tlspic.sd: Likewise. * testsuite/ld-s390/tlspic_64.dd: Likewise. * testsuite/ld-s390/tlspic_64.rd: Likewise. * testsuite/ld-s390/tlspic_64.sd: Likewise. * testsuite/ld-s390/s390.exp: Skip s390 tests for tpf targets. commit d63f2be21bfbedb8a83b5c5f317896bf2bb19a95 Author: Rainer Orth Date: Mon Jan 14 15:47:35 2019 +0100 Sync config.guess, config.sub from GCC Merge from GCC: PR target/88535 * config.guess: Import upstream version 2019-01-03. * config.sub: Import upstream version 2019-01-01. commit 55e8aae79a341ce777565dade196e47773b53274 Author: Srinath Parvathaneni Date: Mon Jan 14 10:35:50 2019 +0000 Implement the assembly instructions yield, wfe, wfi and sev for ARMv6T2 in both ARM mode and Thumb mode. * config/tc-arm.c (arm_ext_v6k_v6t2): Define. (insns) [ARM_VARIANT]: Modified. (insns) [THUMB_VARIANT]: To implement few ARMv6K instructions in ARMv6T2 as well. * testsuite/gas/arm/archv6t2-1.d: New test. * testsuite/gas/arm/archv6t2-1.s: Likewise. * testsuite/gas/arm/archv6t2-2.d: Likewise. commit 4ea904edb7b04ad526bd8a5401729a6c1f5a982f Author: Sebastian Huber Date: Thu Jan 10 15:05:19 2019 +0100 ld: Clarify --wrap documentation ld/ * ld.texi (--wrap): Add example to emphasise that only undefined references are replaced by the linker. commit 8a2d34fe51edb115574056f56dcea8438acd5285 Author: GDB Administrator Date: Mon Jan 14 00:00:33 2019 +0000 Automatic date update in version.in commit 1a782351162b1158484923493b567231d1aec7d2 Author: Max Filippov Date: Fri Nov 16 17:31:22 2018 -0800 gdb: xtensa: fix register counters for xtensa-linux Commit 37d9e0623102 ("gdb: xtensa: handle privileged registers") changed how the tdep->num_regs and tdep->num_pseudo_regs are calculated, but didn't update these numbers in the gdbarch for the xtensa-linux target. As a result xtensa-linux-gdb behaves as xtensa-elf-gdb and cannot communicate with the linux gdbserver. Fix tdep->num_pseudo_regs calculation and call set_gdbarch_num_regs and set_gdbarch_num_pseudo_regs in xtensa_linux_init_abi. gdb/ 2019-01-13 Max Filippov * xtensa-linux-tdep.c (xtensa_linux_init_abi): Update tdep->num_pseudo_regs. Add calls to set_gdbarch_num_regs and set_gdbarch_num_pseudo_regs. commit f589354db4c983696fe1db791763823aec83f8fa Author: GDB Administrator Date: Sun Jan 13 00:00:51 2019 +0000 Automatic date update in version.in commit d73cff189ddc3725697e614d4d247819f754f096 Author: Philippe Waroquiers Date: Mon Dec 31 14:37:09 2018 +0100 Implement help/show values for 'set|show style'. Currently, the behaviour is: (gdb) show style (gdb) set style (gdb) show style address (gdb) set style address (gdb) With this patch, the behaviour is: (gdb) show style style address background: The "address" background color is: none style address foreground: The "address" foreground color is: blue style address intensity: The "address" display intensity is: normal enabled: CLI output styling is enabled. style filename background: The "filename" background color is: none style filename foreground: The "filename" foreground color is: green style filename intensity: The "filename" display intensity is: normal style function background: The "function" background color is: none style function foreground: The "function" foreground color is: yellow style function intensity: The "function" display intensity is: normal style variable background: The "variable" background color is: none style variable foreground: The "variable" foreground color is: cyan style variable intensity: The "variable" display intensity is: normal (gdb) set style "set style" must be followed by an appropriate subcommand. List of set style subcommands: set style address -- Address display styling set style enabled -- Set whether CLI styling is enabled set style filename -- Filename display styling set style function -- Function name display styling set style variable -- Variable name display styling Type "help set style" followed by set style subcommand name for full documentation. Type "apropos word" to search for commands related to "word". Command name abbreviations are allowed if unambiguous. (gdb) show style address background: The "filename" background color is: none foreground: The "filename" foreground color is: green intensity: The "filename" display intensity is: normal (gdb) set style address List of set style address subcommands: set style address background -- Set the background color for this property set style address foreground -- Set the foreground color for this property set style address intensity -- Set the display intensity color for this property Type "help set style address" followed by set style address subcommand name for full documentation. Type "apropos word" to search for commands related to "word". Command name abbreviations are allowed if unambiguous. (gdb) gdb/ChangeLog * cli/cli-style.h (class cli_style_option): Remove arg prefixname, add do_set and do_show. Add member functions set_list and show_list. * cli/cli-style.c (class cli_style_option): Update accordingly. (style_set_list): Move to file scope. (style_show_list): Likewise. (set_style): Call help_list. (show_style): Call cmd_show_list. (_initialize_cli_style): New macro STYLE_ADD_SETSHOW_COMMANDS. Update to use the new macro. commit 4ce8c66d19abec8a768add7f6102e856157a3952 Author: Yoshinori Sato Date: Sun Jan 6 00:06:49 2019 +0900 Add RXv3 instructions. * rx-decode.opc (DSIZE): New. double size. (_ld): New. dmov size attribute. (PSCALE): Add double size. (DCR, DDR, DDRH, DDRL, DCND): New. Double FPU registers. (SCR, SDR, SDRH, SDRL): Likewise. (S2DR, S2CR): Likewise. (SDD): New. double displacement. (DL): New. Set dmov size attribute. (rx_decode_opcode): Add RXv3 instructions. * rx-decode.c: Regenerate. * rx-dis.c (size_names): Add double entry. (opsize_names): Likewise. (double_register_names): New. Double FPU registers. (double_register_high_names): Likewise. (double_register_low_names): Likewise. (double_register_control_names): Likewise. (double_condition_names): dcmp condition. (print_insn_rx): Add bfmov / bfmovz output. Add double FPU output. commit 60a90376792474224f3d22b1d9813844a3b3589a Author: Joel Brobecker Date: Sat Jan 12 09:47:58 2019 -0500 expand a bit the in-GDB help for the "catch exception" help text One of our users remarked that the help doesn't mention the fact that the "catch exception" supports the special argument "unhandled" to catch exceptions which do not have a handler. This patch changes the output of... | (gdb) help catch exception | Catch Ada exceptions, when raised. | With an argument, catch only exceptions with the given name. ... to ... | (gdb) help catch exception | Catch Ada exceptions, when raised. | Usage: catch exception [ ARG ] | | Without any argument, stop when any Ada exception is raised. | If ARG is "unhandled" (without the quotes), only stop when the exception | being raised does not have a handler (and will therefore lead to the task's | termination). | Otherwise, the catchpoint only stops when the name of the exception being | raised is the same as ARG. gdb/ChangeLog: * ada-lang.c (_initialize_ada_language): Expand the help text for the "catch exception" command. Tested on x86_64-linux, no regression. commit 6eb6fb6787430a2589e0382aa3e2e4f6f2a0a600 Author: Andrew Burgess Date: Fri Jan 11 23:27:33 2019 +0000 gdb/testsuite: Don't allow paths to appear in test name Having paths in the test names makes it harder to compare results between two runs in different directories. Give the test a name so that the path doesn't appear. gdb/ChangeLog: * gdb.base/style.exp: Don't include path in testname. commit 9d7c67bfbde3b948704b46f8a6fd479e98ecf2c8 Author: Philippe Waroquiers Date: Sat Jan 12 07:37:36 2019 +0100 Fix 'obj' may be used uninitialized warning in symtab.c:matching_obj_sections. Fix warning: gdb/symtab.c: In function ‘int matching_obj_sections(obj_section*, obj_section*)’: gdb/symtab.c:1024:12: warning: ‘obj’ may be used uninitialized in this function [-Wmaybe-uninitialized] if (obj->separate_debug_objfile_backlink != NULL 2019-01-12 Philippe Waroquiers * symtab.c (matching_obj_sections): Initialize obj, declare it closer to its usage. commit 7d62943cd492bb502f0d335cc695be15ae50cea3 Author: GDB Administrator Date: Sat Jan 12 00:00:30 2019 +0000 Automatic date update in version.in commit c7af41ec2c79bb68d7c57907699edae5187bbfa6 Author: Alan Modra Date: Fri Jan 11 22:22:30 2019 +1030 More fallout from PR 23963 change PR 23963 * testsuite/gas/m68hc11/lbranch-dwarf2.d: Adjust for PR23963 change. * testsuite/gas/m68hc11/opers12-dwarf2.d: Likewise. commit ec0807b28ecde66dd7c2f76adf433f0024685f6d Author: GDB Administrator Date: Fri Jan 11 00:00:25 2019 +0000 Automatic date update in version.in commit 7cf47dc46635d8ec14c315e1f17480b56f4808b8 Author: Tom Tromey Date: Thu Jan 10 10:50:43 2019 -0700 Replace inf_threads_iterator with next_iterator This changes inf_threads_iterator and some range adapters in thread-iter.h to use next_iterator and next_adapter instead. gdb/ChangeLog 2019-01-10 Tom Tromey * thread-iter.h (inf_threads_iterator): Use next_iterator. (basic_inf_threads_range): Remove. (inf_threads_range, inf_non_exited_threads_range) (safe_inf_threads_range): Use next_adapter. commit b56f80d8b27dffd0f8c02b8b11068b71b9fec375 Author: Keith Seitz Date: Thu Jan 10 13:57:09 2019 -0800 gdb/23712: Test case for multidictionary This is a test derived from one of the reproducers in symtab/23010. The DIE tree used here is typical of compilations with LTO, where an artificial parent DIE of language C99 imports DIEs of other languages. gdb/testsuite/ChangeLog: PR gdb/23712 PR symtab/23010 * gdb.dwarf2/multidictionary.exp: New file. commit d3cb68081112a4976979df3f8eae7ca926e76519 Author: Keith Seitz Date: Thu Jan 10 13:57:08 2019 -0800 gdb/23712: Remove dw2_add_symbol_to_list Finally, we can remove dw2_add_symbol_to_list since the wrapper function originally introduced to catch this multi-language scenario is no longer needed. With multi-language dictionaries, we can now support adding symbols of multiple languages, negating the need for the assertion entirely. This patch should now fix gdb/23712 (and symtab/23010). At least it will if the NULL buildsym_compunit problem doesn't strike first (see gdb/23773). gdb/ChangeLog: PR gdb/23712 PR symtab/23010 * dwarf2read.c (dw2_add_symbol_to_list): Remove. (fixup_go_packaging, new_symbol): Use add_symbol_to_list. commit 63a20375b401e24c30987367a10b47b289612e1c Author: Keith Seitz Date: Thu Jan 10 13:57:08 2019 -0800 gdb/23712: Cleanup/Remove temporary dictionary functions Now that multidictionary's are being used, there is no longer any need to retain the four temporary functions introduced in the beginning of this series. This patch removes them. As an additional cleanup, since the single-language dictionaries are no longer used outside dictionary.c, make all of those functions static. gdb/ChangeLog: PR gdb/23712 PR symtab/23010 * dictionary.c (pending_to_vector): Remove. (dict_create_hashed_1, dict_create_linear_1, dict_add_pending_1): Remove _1 suffix, replacing functions of the same name. Update all callers. (dict_create_hashed, dict_create_hashed_expandable) (dict_create_linear, dict_create_linear_expandable, dict_free) (dict_add_symbol, dict_add_pending, dict_size, dict_empty): Make functions static. commit b026f59345a336cabf74719fce9f96cab7c7ab4d Author: Keith Seitz Date: Thu Jan 10 13:57:08 2019 -0800 gdb/23712: Use new multidictionary API This patch builds on the previous by enabling the `new' multidictionary API. A lot of the hunks are simply textual replacements of "dict_" with "mdict_" and similar transformations. A word of warning, even with the use of multidictionaries, the code still does not satisfactorily fix the reported problems with gdb/23712 (or gdb/23010). We still have additional changes to make before that happens. gdb/ChangeLog: PR gdb/23712 PR symtab/23010 * dictionary.h (struct dictionary): Replace declaration with multidictionary. (dict_create_hashed, dict_create_hashed_expandable) (dict_create_linear, dict_create_linear_expandable) (dict_free, dict_add_symbol, dict_add_pending, dict_empty) (dict_iterator_first, dict_iterator_next, dict_iter_match_first) (dict_iter_match_next, dict_size): Rename to "mdict_" versions taking multidictionary argument. [ALL_DICT_SYMBOLS]: Update for multidictionary. * block.h (struct block) : Change to multidictionary and rename `multidict'. * block.c, buildsym.c, jit.c, mdebugread.c, objfiles.c, symmisc.c: Update all dictionary references to multidictionary. commit c7748ee9ceb5a394658cd07aeb0445924599e442 Author: Keith Seitz Date: Thu Jan 10 13:57:08 2019 -0800 gdb/23712: Introduce multidictionary's gdb/23712 is a new manifestation of the now-infamous (at least to me) symtab/23010 assertion failure (DICT_LANGUAGE == SYMBOL_LANGAUGE). An example of the problem (using test case from symtab/23010): Reading symbols from /home/rdiez/rdiez/arduino/JtagDue/BuildOutput/JtagDue-obj-release/firmware.elf...done. (gdb) p SysTick_Handler dwarf2read.c:9715: internal-error: void dw2_add_symbol_to_list(symbol*, pending**): Assertion `(*listhead) == NULL || (SYMBOL_LANGUAGE ((*listhead)->symbol[0]) == SYMBOL_LANGUAGE (symbol))' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) This assertion was added specifically to catch this condition (of adding symbols of different languages to a single pending list). The problems we're now seeing on systems utilizing DWARF debugging seem to be caused by the use of LTO, which adds a CU with an artificial DIE of language C99 which references DIEs in other CUs of language C++. Thus, we create a dictionary containing symbols of C99 but end up stuffing C++ symbols into it, and the dw2_add_symbol_to_list triggers. The approach taken here to fix this is to introduce multi-language dictionaries to "replace" the standard, single-language dictionaries used today. Note to reviewers: This patch introduces some temporary functions to aide with review. This and other artifacts (such as "See dictionary.h" which appear incorrect) will all be valid at the end of the series. This first patch introduces the new multidictionary and its API (which is, by design, identical to the old dictionary interface). It also mutates dict_create_hashed and dict_create_linear so that they take a std::vector instead of the usual struct pending linked list. This will be needed later on. This patch does /not/ actually enable multidictionary's. That is left for a subsequent patch in the series. I've done exhaustive performance testing with this approach, and I've attempted to minimize the overhead for the (overwhelmingly) most common one-language scenario. On average, a -g3 -O0 GDB (the one we developers use) will see approximately a 4% slowdown when initially reading symbols. [I've tested only GDB and firefox with -readnow.] When using -O2, this difference shrinks to ~0.5%. Since a number of runs with these patches actually run /faster/ than unpatched GDB, I conclude that these tests have at least a 0.5% error margin. On our own gdb.perf test suite, again, results appear to be pretty negligible. Differences to unpatched GDB range from -7.8% (yes, patched version is again faster than unpatched) to 27%. All tests lying outside "negligible," such as the 27% slowdown, involve a total run time of 0.0007 (or less) with smaller numbers of CUs/DSOs (usually 10 or 100). In all cases, the follow-up tests with more CUs/DSOs is never more than 3% difference to the baseline, unpatched GDB. In my opinion, these results are satisfactory. gdb/ChangeLog: PR gdb/23712 PR symtab/23010 * dictionary.c: Include unordered_map. (pending_to_vector): New function. (dict_create_hashed_1, dict_create_linear_1, dict_add_pending_1): Rewrite the non-"_1" functions to take vector instead of linked list. (dict_create_hashed, dict_create_linear, dict_add_pending): Use the "new" _1 versions of the same name. (multidictionary): Define. (std::hash Date: Thu Jan 10 17:52:39 2019 +0000 Fix tracepoint.c:parse_tracepoint_definition leak (and one more) Coverity points out that gdb/tracepoint.c:parse_tracepoint_definition can leak 'cond' in this line: cond = (char *) xmalloc (2 * xlen + 1); That can leak because we're in a loop and 'cond' may have already been xmalloc'ed into in a previous iteration. That won't normally happen, because we don't expect to see a tracepoint definition with multiple conditions listed, but, it doesn't hurt to be pedantically correct, in case some stub manages to send something odd back to GDB. At first I thought I'd just replace the xmalloc call with: cond = (char *) xrealloc (cond, 2 * xlen + 1); and be done with it. However, my pedantic self realizes that warning() can throw as well (due to pagination + Ctrl-C), so I fixed it using gdb::unique_xmalloc_ptr instead. While doing this, I noticed that these vectors in struct uploaded_tp: std::vector actions; std::vector step_actions; hold heap-allocated strings, but nothing is freeing the strings, AFAICS. So I ended up switching all the heap-allocated strings in uploaded_tp to unique pointers. This patch is the result of that. I also wrote an alternative, but similar patch that uses std::string throughout instead of gdb::unique_xmalloc_ptr, but in the end reverted it because the code didn't look that much better, and I kind of dislike replacing pointers with fat std::string's (3 or 4 times the size of a pointer) in structures. gdb/ChangeLog: 2019-01-10 Pedro Alves * breakpoint.c (read_uploaded_action) (create_tracepoint_from_upload): Adjust to use gdb::unique_xmalloc_ptr. * ctf.c (ctf_write_uploaded_tp): (SET_ARRAY_FIELD): Use emplace_back. (SET_STRING_FIELD): Adjust to use gdb::unique_xmalloc_ptr. * tracefile-tfile.c (tfile_write_uploaded_tp): * tracepoint.c (parse_tracepoint_definition): Adjust to use gdb::unique_xmalloc_ptr. * tracepoint.h (struct uploaded_tp) : Replace char pointers with gdb::unique_xmalloc_ptr. commit 2f667667e24357ff54701f3e046820cf08d649cf Author: Pedro Alves Date: Thu Jan 10 17:52:39 2019 +0000 Fix leak in solib-target.c:library_list_start_library lm_info_target::name is nowadays std::string, so we're leaking the result of xstrdup. gdb/ChangeLog: 2019-01-10 Pedro Alves * solib-target.c (library_list_start_library): Don't xstrdup name. commit 36cb72375cc371b786ceaec588ec26f8c55ae2ec Author: Pedro Alves Date: Thu Jan 10 17:52:38 2019 +0000 Fix leak in mdebugread.c Coverity points out that all the "continue;" statements in the switch case in parse_partial_symbols leak STABSTRING. This is because we only release STABSTRING at the end of the scope, with: if (stabstring && stabstring != debug_info->ss + fh->issBase + sh.iss) xfree (stabstring); but that bit of code is skipped if a case in the switch statement ends with "continue". Fix this by using gdb::unique_xmalloc_ptr to manage the heap-allocated version of 'stabsstring'. I don't know how to test this. gdb/ChangeLog: 2019-01-10 Pedro Alves * mdebugread.c (parse_partial_symbols): Use gdb::unique_xmalloc_ptr to manage heap-allocated 'stabsstring'. commit da584958006fd0a3f3dccd25a0a54fa79a0976bc Author: Andrew Burgess Date: Thu Jan 10 17:00:48 2019 +0000 gdb: Fix incorrect variable name in scoped_switch_fork_info The previous commit: commit 1ef8573cc77c91feeef3edab74d383d20809eb33 Date: Wed Jan 9 14:02:39 2019 +0000 gdb: Improve scoped_switch_fork_info class contained a bug, an incorrect variable name was used. Fixed in this commit. gdb/ChangeLog: * linux-fork.c (scoped_switch_fork_info) <~scoped_switch_fork_info>: Fix incorrect variable name. commit 1ef8573cc77c91feeef3edab74d383d20809eb33 Author: Andrew Burgess Date: Wed Jan 9 14:02:39 2019 +0000 gdb: Improve scoped_switch_fork_info class After committing this patch I got this feedback: https://sourceware.org/ml/gdb-patches/2019-01/msg00181.html This patch makes the constructor of scoped_switch_fork_info explicit, and wraps the core of the destructor in a TRY/CATCH block. I've run this through the testsuite on X86-64/GNU Linux, however, this code is not exercised, so this patch is untested. gdb/ChangeLog: * linux-fork.c (scoped_switch_fork_info) : Make explicit. <~scoped_switch_fork_info>: Wrap core in TRY/CATCH. commit 59aa9b0be159002e2eb971176921dc1e9c8045cf Author: Nick Clifton Date: Thu Jan 10 15:23:03 2019 +0000 Correct changelog entry. commit 12add40ee4d01fa0cb4bdb67a7d5d13d6a3b4e23 Author: Nick Clifton Date: Thu Jan 10 15:19:33 2019 +0000 Stop objdump from displaying control codes embedded in symbol names. PR 23963 binutils* objdump.c (sanitize_string): New function. Removes control characters from symbol names. (dump_section_header): Use new function. (objdump_print_symname): Likewise. (objdump_print_addr_with_sym): Likewise. (show_line): Likewise. (disassemble_bytes): Likewise. (disassemble_section): Likewise. (load_specific_debug_section): Likewise. (read_section_stabs): Likewise. (print_section_stabs): Likewise. (dump_section): Likewise. (dump_reloc_set): Likewise. (dump_relocs_in_section): Likewise. (dump_bfd): Likewise. (display_any_bfd): Likewise. gas * testsuite/gas/mips/mips16-branch-absolute-1.d: Adjust for the fact that control characters are now displayed as escape sequences. * testsuite/gas/mips/mips16-e.d: Likewise. * testsuite/gas/mips/mips16-pcrel-0.d: Likewise. * testsuite/gas/mips/mips16-pcrel-1.d: Likewise. * testsuite/gas/mips/mips16-pcrel-delay-0.d: Likewise. * testsuite/gas/mips/mips16-pcrel-delay-1.d: Likewise. * testsuite/gas/mips/mips16-pcrel-n32-0.d: Likewise. * testsuite/gas/mips/mips16-pcrel-n32-1.d: Likewise. * testsuite/gas/mips/mips16-pcrel-n64-sym32-0.d: Likewise. * testsuite/gas/mips/mips16-pcrel-n64-sym32-1.d: Likewise. * testsuite/gas/mips/mips16e2@mips16-pcrel-0.d: Likewise. * testsuite/gas/mips/mips16e2@mips16-pcrel-1.d: Likewise. * testsuite/gas/mips/mips16e2@mips16-pcrel-delay-0.d: Likewise. * testsuite/gas/mips/mips16e2@mips16-pcrel-delay-1.d: Likewise. * testsuite/gas/mips/mips16e2@mips16-pcrel-n32-0.d: Likewise. * testsuite/gas/mips/mips16e2@mips16-pcrel-n32-1.d: Likewise. * testsuite/gas/mips/mips16e2@mips16-pcrel-n64-sym32-0.d: Likewise. * testsuite/gas/mips/mips16e2@mips16-pcrel-n64-sym32-1.d: Likewise. * testsuite/gas/mips/mipsel16-e.d: Likewise. * testsuite/gas/mips/mipsr6@msa.d: Likewise. * testsuite/gas/mips/mipsr6@relax-swap3.d: Likewise. * testsuite/gas/mips/r6-64-n32.d: Likewise. * testsuite/gas/mips/r6-64-n64.d: Likewise. * testsuite/gas/mips/r6-n32.d: Likewise. * testsuite/gas/mips/r6-n64.d: Likewise. * testsuite/gas/mips/r6.d: Likewise. * testsuite/gas/mips/tmips16-e.d: Likewise. * testsuite/gas/mips/tmipsel16-e.d: Likewise. * testsuite/gas/mn10300/relax.d: Likewise. commit 8d7bcccb82d9a7efccd75d9552d007c62031e855 Author: Tom Tromey Date: Thu May 10 16:23:57 2018 -0600 Move psymtabs to their own obstack Previously, the psymtab obstack was just a pointer to the objfile obstack. This patch changes psymtabs to use their own obstack, instead. A gdb::optional is used to avoid unnecessary allocation when the obstack is not needed. After this patch, the psymtab code lifetime model is that, in the core psymtab code, objects allocated on the psymtab obstack may point to other such objects, or to objects on the per-BFD obstack -- but never to the objfile obstack. Note however that this invariant is only obeyed the core psymtab code, and even there not quite fully: there is still a link from the psymtab to the full symtab. Symbol readers are free to work however they like; and in particular, even after this patch, in practice all symbol readers violate this invariant via the read_symtab_private field. gdb/ChangeLog 2019-01-10 Tom Tromey * objfiles.h (objfile::reset_psymtabs): Update. * objfiles.c (objfile::objfile): Update. * psymtab.h (psymtab_storage::obstack): Update. (psymtab_storage::m_obstack): Use gdb::optional. (class psymtab_storage): Update comment. Remove objfile parameter. * psymtab.c (psymtab_storage::psymtab_storage): Update. commit b596a3c77da2387d7e5a3855717d65ce33bdfb58 Author: Tom Tromey Date: Thu May 10 16:23:56 2018 -0600 Make psymtab_storage::free_psymtabs private This adds a new psymtab allocation method to psymtab_storage and changes the free_psymtabs member to be private. While not strictly necessary, this seems like a decent cleanup, and also makes it simpler to move psymtabs off of obstacks entirely, should that prove desirable. gdb/ChangeLog 2019-01-10 Tom Tromey * psymtab.h (psymtab_storage::allocate_psymtab): New method. : Now private. * psymtab.c (psymtab_storage::allocate_psymtab): Implement. (allocate_psymtab): Use new method. commit a9342b62885d5119593fa4330924e031e14c6406 Author: Tom Tromey Date: Thu May 10 16:23:55 2018 -0600 Add psymtab_storage::allocate_dependencies This adds a new method to psymtab_storage to allocate storage for psymtab dependencies, then changes the symbol readers to use it. This has the effect of moving the storage to the psymtab storage obstack. gdb/ChangeLog 2019-01-10 Tom Tromey * xcoffread.c (xcoff_end_psymtab): Use allocate_dependencies. * psymtab.h (psymtab_storage::allocate_dependencies): New method. * mdebugread.c (parse_partial_symbols): Use allocate_dependencies. * dwarf2read.c (dwarf2_create_include_psymtab): Use allocate_dependencies. (process_psymtab_comp_unit_reader) (build_type_psymtab_dependencies): Likewise. * dbxread.c (dbx_end_psymtab): Use allocate_dependencies. commit 5af70966484d6b26fa7824c0cda110140cd4959b Author: Tom Tromey Date: Thu May 10 16:23:54 2018 -0600 Move more allocations to psymtab obstack This moves a couple more psymtab-related allocations to the psymtab obstack. gdb/ChangeLog 2019-01-10 Tom Tromey * psymtab.c (add_psymbol_to_bcache): Pass psymtab obstack to PSYMBOL_SET_LANGUAGE. (allocate_psymtab): Allocate psymtab on the psymtab obstack. commit 5923a04c0c489054d275e3b0441626ce1ae7344a Author: Tom Tromey Date: Thu May 10 16:23:53 2018 -0600 Allocate the address map on the psymtab obstack After this patch, the psymtab address map will now be allocated on the psymtab obstack rather than the objfile obstack. This also changes the psymtab storage object to make the obstack private; this will be used later. gdb/ChangeLog 2019-01-10 Tom Tromey * psymtab.h (psymtab_storage::obstack): New method. : Rename from obstack; now private. * psymtab.c (psymtab_storage): Update. * dwarf2read.c (create_addrmap_from_index) (create_addrmap_from_aranges, dwarf2_build_psymtabs_hard): Update. commit 6d6a12bf87bc6dd89b2533b5d0490fdcc00df9ad Author: Tom Tromey Date: Thu May 10 16:23:52 2018 -0600 Introduce objfile::reset_psymtabs This introduces a new method, objfile::reset_psymtabs, and changes reread_symbols to use it. This method simply destroys the existing partial symbols and recreates the psymtab_storage object. This patch fixes a latent bug -- namely, that reread_symbols should clear objfile::psymbol_map, but does not. I can submit that separately if you'd prefer. gdb/ChangeLog 2019-01-10 Tom Tromey * symfile.c (reread_symbols): Call objfile->reset_psymtabs. * objfiles.h (objfile::reset_psymtabs): New method. commit d320c2b5e181828418224521f2acd2ff48e127f4 Author: Tom Tromey Date: Thu May 10 16:23:51 2018 -0600 Introduce class psymtab_storage This introduces a new psymtab_storage class, which holds all psymbol-related objects that are independent of the objfile. (This latter contraint explains why psymbol_map was not moved; though this could still be done with some work.) This patch does not yet change where psymtab allocation is done -- that comes later. This just wraps everything in a single object to make further transformations simpler. Note that a shared_ptr is used to link from the objfile to the psymtab_storage object. The end goal here is to allow a given symbol reader to simply attach to the psymtab_storage object to the BFD, then reuse it in later invocations; shared_ptr makes this simple to reason about. gdb/ChangeLog 2019-01-10 Tom Tromey * symmisc.c (print_symbol_bcache_statistics): Update. (print_objfile_statistics): Update. * symfile.c (reread_symbols): Update. * psymtab.h (class psymtab_storage): New. * psymtab.c (psymtab_storage): New constructor. (~psymtab_storage): New destructor. (require_partial_symbols): Update. (ALL_OBJFILE_PSYMTABS_REQUIRED): Rewrite. (find_pc_sect_psymtab, find_pc_sect_psymbol) (match_partial_symbol, lookup_partial_symbol, dump_psymtab) (psym_dump, recursively_search_psymtabs, psym_has_symbols) (psym_find_compunit_symtab_by_address, sort_pst_symbols) (start_psymtab_common, end_psymtab_common) (add_psymbol_to_bcache, add_psymbol_to_list, init_psymbol_list) (allocate_psymtab): Update. (psymtab_storage::discard_psymtab): Rename from discard_psymtab. Update. (dump_psymtab_addrmap, maintenance_print_psymbols) (maintenance_check_psymtabs): Update. (class objfile_psymtabs): Move to objfiles.h. * psympriv.h (discard_psymtab): Now inline. (psymtab_discarder::psymtab_discarder): Update. (psymtab_discarder::~psymtab_discarder): Update. (ALL_OBJFILE_PSYMTABS): Rewrite. * objfiles.h (struct objfile) : Remove fields. : New field. (class objfile_psymtabs): Move from psymtab.h. Update. * objfiles.c (objfile::objfile): Initialize partial_symtabs, not psymbol_cache. (objfile::~objfile): Don't destroy psymbol_cache. * mdebugread.c (parse_partial_symbols): Update. * dwarf2read.c (create_addrmap_from_index) (create_addrmap_from_aranges, dw2_find_pc_sect_compunit_symtab) (process_psymtab_comp_unit_reader, dwarf2_build_psymtabs_hard) (add_partial_subprogram, dwarf2_ranges_read): Update. * dwarf-index-write.c (write_address_map) (write_one_signatured_type, recursively_write_psymbols) (class debug_names, class debug_names, write_psymtabs_to_index): Update. commit 1d94a5a36a614cf7ebe259d7660f4fa725f38ee2 Author: Tom Tromey Date: Thu May 10 16:23:49 2018 -0600 Change symbol_set_names to take an objfile_per_bfd_storage This changes symbol_set_names to take an objfile_per_bfd_storage argument, and updates the users. It also changes PSYMBOL_SET_NAMES to take this argument directly; I feel this clarifies the storage location of objects created in psymtab.c. gdb/ChangeLog 2019-01-10 Tom Tromey * symtab.h (SYMBOL_SET_NAMES): Update. (symbol_set_names): Update. (MSYMBOL_SET_NAMES): Update. * symtab.c (symbol_set_names): Change argument to be an objfile_per_bfd_storage. * psymtab.c (add_psymbol_to_bcache): Update. * psympriv.h (PSYMBOL_SET_NAMES): Take per_bfd argument. commit 0f14768a2a6ba894ae81010e8e70c99ecdb39a73 Author: Tom Tromey Date: Thu May 10 16:23:48 2018 -0600 Change create_demangled_names_hash to take an objfile_per_bfd_storage This changes create_demangled_names_hash to take an objfile_per_bfd_storage parameter. This makes it clearer where it is storing the objects it allocates. gdb/ChangeLog 2019-01-10 Tom Tromey * symtab.c (create_demangled_names_hash): Change argument to be an objfile_per_bfd_storage. (symbol_set_names): Update. commit 6eee24ce30f8e95335c2ad8586f9a64398eb2cd4 Author: Tom Tromey Date: Thu May 10 16:23:47 2018 -0600 Simplify calls to init_psymbol_list Existing callers to init_psymbol_list were checking to see if psymbols had already been initialized. It seemed better to me to do this check directly in init_psymbol_list, simplifying the callers. gdb/ChangeLog 2019-01-10 Tom Tromey * xcoffread.c (xcoff_initial_scan): Unconditionally call init_psymbol_list. * psymtab.c (init_psymbol_list): Do nothing if already called. * psympriv.h (init_psymbol_list): Add comment. * dwarf2read.c (dwarf2_build_psymtabs): Unconditionally call init_psymbol_list. * dbxread.c (dbx_symfile_read): Unconditionally call init_psymbol_list. commit 75aedd27e6a2c58734ab44cc7cad8491f19d059a Author: Tom Tromey Date: Thu May 10 16:23:46 2018 -0600 Change add_psymbol_to_list to use an enum This changes add_psymbol_to_list to use an enum, rather than a pointer to a vector, to decide where to put the new symbol. This reduces the number of direct references to the static_psymbols and global_psymbols members of the objfile, which is handy in a later patch. gdb/ChangeLog 2019-01-10 Tom Tromey * xcoffread.c (scan_xcoff_symtab): Update. * psymtab.c (add_psymbol_to_list): Replace "list" parameter with "where". * mdebugread.c (parse_partial_symbols) (handle_psymbol_enumerators): Update. * dwarf2read.c (add_partial_symbol, load_partial_dies): Update. * dbxread.c (read_dbx_symtab): Update. * psympriv.h (psymbol_placement): New enum. (add_psymbol_to_list): Update. commit 939652a515a10654b16b97e7e2ea39c013714850 Author: Tom Tromey Date: Thu May 10 16:23:45 2018 -0600 Remove parameters from start_psymtab_common start_psymtab_common takes references to the global_psymbols and static_psymbols vectors, but it also has an objfile parameter. This is redundant, so this patch simplifies the function by removing those reference parameters. gdb/ChangeLog 2019-01-10 Tom Tromey * xcoffread.c (xcoff_start_psymtab): Remove global_psymbols and static_psymbols parameters. (scan_xcoff_symtab): Update. * psymtab.c (start_psymtab_common): Remove global_psymbols and static_psymbols parameters. * psympriv.h (start_psymtab_common): Update. * mdebugread.c (parse_partial_symbols): Update. * dwarf2read.c (create_partial_symtab): Update. * dbxread.c (read_dbx_symtab): Update. (start_psymtab): Remove global_psymbols and static_psymbols parameters. commit baa62830ed84d45b414ff677b7bce900a21923ce Author: Tom Tromey Date: Thu May 10 16:23:44 2018 -0600 Remove some unneeded psymtab initializations allocate_psymtab has long cleared the new psymtab that is returned. This patch documents this behavior and then removes some redundant initializations. gdb/ChangeLog 2019-01-10 Tom Tromey * xcoffread.c (xcoff_end_psymtab): Remove some initializations. * psymtab.c (allocate_psymtab): Add comment. * psympriv.h (allocate_psymtab): Add comment. * dwarf2read.c (dwarf2_create_include_psymtab): Remove some initializations. * dbxread.c (dbx_end_psymtab): Remove some initializations. commit 0e8f53badb3df16f4104890395d9324a5bcf568d Author: Tom Tromey Date: Thu May 10 16:23:43 2018 -0600 Move some declarations to mdebugread.h This moves a couple of mdebugread-related declarations from symfile.h to mdebugread.h, which seemed more appropriate. gdb/ChangeLog 2019-01-10 Tom Tromey * symfile.h (mdebug_build_psymtabs, elfmdebug_build_psymtabs): Don't declare. * mipsread.c: Include mdebugread.h. * mdebugread.h (mdebug_build_psymtabs, elfmdebug_build_psymtabs): Declare. * elfread.c: Include mdebugread.h. commit 1910070b298052d7ca8e4024891465824588c1e9 Author: Nick Clifton Date: Thu Jan 10 09:44:13 2019 +0000 Sync libiberty sources with gcc master versions. . * libiberty: Sync with gcc. Bring in: 2019-01-09 Sandra Loosemore PR other/16615 * cp-demangle.c: Mechanically replace "can not" with "cannot". * floatformat.c: Likewise. * strerror.c: Likewise. 2018-12-22 Jason Merrill Remove support for demangling GCC 2.x era mangling schemes. * cplus-dem.c: Remove cplus_mangle_opname, cplus_demangle_opname, internal_cplus_demangle, and all subroutines. (libiberty_demanglers): Remove entries for ancient GNU (pre-3.0), Lucid, ARM, HP, and EDG demangling styles. (cplus_demangle): Remove 'work' variable. Don't call internal_cplus_demangle. include * Merge from GCC: 2018-12-22 Jason Merrill * demangle.h: Remove support for ancient GNU (pre-3.0), Lucid, ARM, HP, and EDG demangling styles. commit b22a7c6ab6173fe4fa1352e14d00a234bbf50346 Author: Tom Tromey Date: Sat Nov 24 14:22:25 2018 -0700 Remove ALL_OBJFILE_PSYMTABS This removes the ALL_OBJFILE_PSYMTABS macro, replacing its uses with ranged for loops. gdb/ChangeLog 2019-01-09 Tom Tromey * dbxread.c (dbx_end_psymtab): Use objfile_psymtabs. * mdebugread.c (parse_partial_symbols): Use objfile_psymtabs. * psymtab.c (ALL_OBJFILE_PSYMTABS_REQUIRED): Remove. (psym_map_symtabs_matching_filename, find_pc_sect_psymtab) (psym_lookup_symbol, psym_find_last_source_symtab) (psym_forget_cached_source_info, psym_print_stats) (psym_expand_symtabs_for_function, psym_expand_all_symtabs) (psym_expand_symtabs_with_fullname, psym_map_symbol_filenames) (psym_map_matching_symbols, psym_expand_symtabs_matching) (psym_find_compunit_symtab_by_address) (maintenance_print_psymbols, maintenance_info_psymtabs) (maintenance_check_psymtabs): Use ranged for. * psymtab.h (class objfile_psymtabs): New. (require_partial_symbols): Return objfile_psymtabs. * psympriv.h (ALL_OBJFILE_PSYMTABS): Remove. commit 3b9d3ac236dcc418619785e0660fc0063e6489b8 Author: Tom Tromey Date: Sat Nov 24 11:54:26 2018 -0700 Remove ALL_OBJSECTIONS This removes the ALL_OBJSECTIONS macro, replacing its uses with ranged for loops. The special code in this macro for noticing a "break" from the inner loop was only needed in a single place; so rather than try to replicate this, I've simply replaced that use with a "goto". gdb/ChangeLog 2019-01-09 Tom Tromey * symfile.c (overlay_invalidate_all, find_pc_overlay) (find_pc_mapped_section, list_overlays_command) (map_overlay_command, unmap_overlay_command) (simple_overlay_update): Use all_objfiles. * spu-tdep.c (spu_overlay_update): Use all_objfiles. * printcmd.c (info_symbol_command): Use all_objfiles. * objfiles.h (ALL_OBJSECTIONS): Remove. * maint.c (maintenance_translate_address): Use all_objfiles. * gcore.c (gcore_create_callback): Use all_objfiles. (objfile_find_memory_regions): Likewise. commit 8b31193aa9752ba60d63cedaba943370d76ce543 Author: Tom Tromey Date: Sat Nov 24 09:58:20 2018 -0700 Remove ALL_OBJFILES and ALL_FILETABS This removes the ALL_OBJFILES and ALL_FILETABS macros, replacing them with ranged for loops. gdb/ChangeLog 2019-01-09 Tom Tromey * symtab.c (find_line_symtab, info_sources_command) (make_source_files_completion_list): Use objfile_compunits. * source.c (select_source_symtab): Use objfile_compunits. * objfiles.h (struct objfile): Update comment. (ALL_OBJFILES): Remove. (ALL_FILETABS): Remove. * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Use objfile_compunits. commit d5da8b3c0d99e71c27832a4e9b60c61eebf9767c Author: Tom Tromey Date: Sat Nov 24 09:51:44 2018 -0700 Remove ALL_OBJFILE_FILETABS This removes ALL_OBJFILE_FILETABS, replacing its uses with ranged for loops. gdb/ChangeLog 2019-01-09 Tom Tromey * symmisc.c (print_objfile_statistics, dump_objfile) (maintenance_print_symbols): Use compunit_filetabs. * source.c (forget_cached_source_info_for_objfile): Use compunit_filetabs. * objfiles.h (ALL_OBJFILE_FILETABS): Remove. (ALL_FILETABS): Use compunit_filetabs. * objfiles.c (objfile_relocate1): Use compunit_filetabs. * coffread.c (coff_symtab_read): Use compunit_filetabs. commit 5accd1a07e080c386918da413e0f9e90c4cab58a Author: Tom Tromey Date: Sat Nov 24 09:49:24 2018 -0700 Remove ALL_COMPUNIT_FILETABS This removes ALL_COMPUNIT_FILETABS, replacing its uses with ranged for loops. Because this is still used in the ALL_OBJFILE_FILETABS macro, in some places a declaration had to be removed or renamed to avoid shadowing. gdb/ChangeLog 2019-01-09 Tom Tromey * symtab.h (ALL_COMPUNIT_FILETABS): Remove. (compunit_filetabs): New. * symtab.c (iterate_over_some_symtabs, find_pc_sect_line): Use compunit_filetabs. (info_sources_command, make_source_files_completion_list): Remove declaration. * symmisc.c (print_objfile_statistics, dump_objfile) (maintenance_print_symbols): Remove declaration. (maintenance_info_symtabs): Use compunit_filetabs. (maintenance_info_line_tables): Likewise. * source.c (select_source_symtab): Change local variable name. (forget_cached_source_info_for_objfile): Remove declaration. * objfiles.h (ALL_OBJFILE_FILETABS): Use compunit_filetabs. * objfiles.c (objfile_relocate1): Remove declaration. * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Remove declaration. * maint.c (count_symtabs_and_blocks): Use compunit_filetabs. * coffread.c (coff_symtab_read): Remove declaration. * buildsym.c (buildsym_compunit::end_symtab_with_blockvector): Use compunit_filetabs. commit d8aeb77f040ced7d37ab83f032b2e4ded2c81ca5 Author: Tom Tromey Date: Sat Nov 24 09:20:18 2018 -0700 Remove ALL_COMPUNITS This removes the ALL_COMPUNITS, replacing its uses with two nested ranged for loops. gdb/ChangeLog 2019-01-09 Tom Tromey * symtab.c (lookup_objfile_from_block) (find_pc_sect_compunit_symtab, search_symbols) (default_collect_symbol_completion_matches_break_on): Use objfile_compunits. * objfiles.h (ALL_COMPUNITS): Remove. * maint.c (count_symtabs_and_blocks): Use objfile_compunits. * cp-support.c (add_symbol_overload_list_qualified): Use objfile_compunits. * ada-lang.c (ada_collect_symbol_completion_matches) (ada_add_global_exceptions): Use objfile_compunits. commit 592553c46959c98bf5981ad245d0fbb97f373d2a Author: Tom Tromey Date: Sat Nov 24 09:00:42 2018 -0700 Remove ALL_OBJFILE_COMPUNITS This removes ALL_OBJFILE_COMPUNITS, replacing its uses with ranged for loops. Because ALL_COMPUNITS is also updated, in some places a declaration must be deleted to avoid shadowing. gdb/ChangeLog 2019-01-09 Tom Tromey * source.c (select_source_symtab) (forget_cached_source_info_for_objfile): Remove declaration. * mi/mi-cmd-file.c (mi_cmd_file_list_exec_source_files): Remove declaration. * maint.c (count_symtabs_and_blocks): Remove declaration. * cp-support.c (add_symbol_overload_list_qualified): Remove declaration. * coffread.c (coff_symtab_read): Remove declaration. * symtab.c (lookup_symbol_in_objfile_symtabs) (basic_lookup_transparent_type_1): Use objfile_compunits. (lookup_objfile_from_block, find_pc_sect_compunit_symtab) (info_sources_command, search_symbols) (default_collect_symbol_completion_matches_break_on) (make_source_files_completion_list): Remove declaration. * ada-lang.c (add_nonlocal_symbols): Use objfile_compunits. (ada_collect_symbol_completion_matches) (ada_add_global_exceptions): Remove declaration. * linespec.c (iterate_over_all_matching_symtabs): Use objfile_compunits. * objfiles.h (ALL_OBJFILE_COMPUNITS): Remove. (class objfile_compunits): New. (ALL_COMPUNITS): Use objfile_compunits. * symmisc.c (print_objfile_statistics, maintenance_info_symtabs) (maintenance_check_symtabs, maintenance_info_line_tables): Use objfile_compunits. * objfiles.c (objfile_relocate1): Use objfile_compunits. commit 5325b9bf1ee283c40f076334eb3ea66e1f0a6ade Author: Tom Tromey Date: Fri Nov 23 17:32:08 2018 -0700 Remove ALL_MSYMBOLS and ALL_OBJFILE_MSYMBOLS This removes the ALL_MSYMBOLS and ALL_OBJFILE_MSYMBOLS macros, replacing their uses with ranged for loops. In a couple of spots, a new declaration was needed in order to work around shadowing; these are just temporary and are removed in a subsequent patch. gdb/ChangeLog 2019-01-09 Tom Tromey * symtab.c (search_symbols) (default_collect_symbol_completion_matches_break_on): Use objfile_msymbols. * ada-lang.c (ada_lookup_simple_minsym) (ada_collect_symbol_completion_matches): Use objfile_msymbols. * minsyms.c (find_solib_trampoline_target): Use objfile_msymbols. * hppa-tdep.c (hppa_lookup_stub_minimal_symbol): Use objfile_msymbols. * coffread.c (coff_symfile_read): Use objfile_msymbols. * symmisc.c (dump_msymbols): Use objfile_msymbols. * objc-lang.c (find_methods): Use objfile_msymbols. (info_selectors_command, info_classes_command): Likewise. * stabsread.c (scan_file_globals): Use objfile_msymbols. * objfiles.h (class objfile_msymbols): New. (ALL_OBJFILE_MSYMBOLS): Remove. (ALL_MSYMBOLS): Remove. commit cac85af2467c9bac326b397b150274d95d2916a5 Author: Tom Tromey Date: Fri Nov 23 17:09:34 2018 -0700 Remove ALL_OBJFILES_SAFE This removes the ALL_OBJFILES_SAFE macro, replacing the uses with ranged for loops. gdb/ChangeLog 2019-01-09 Tom Tromey * common/next-iterator.h (next_adapter): Add Iterator template parameter. * objfiles.h (ALL_OBJFILES_SAFE): Remove. (class all_objfiles_safe): New. * jit.c (jit_inferior_exit_hook): Use all_objfiles_safe. * objfiles.c (put_objfile_before): Update comment. (add_separate_debug_objfile): Likewise. (free_all_objfiles): Use all_objfiles_safe. (objfile_purge_solibs): Likewise. commit aed57c537116ae91f553ac835b3f96d1f87b3bb0 Author: Tom Tromey Date: Fri Nov 23 12:20:05 2018 -0700 Remove most uses of ALL_OBJFILES This removes most uses of ALL_OBJFILES, replacing them with ranged for loops. The remaining uses are all in macros, and will be removed in subsequent patches. gdb/ChangeLog 2019-01-09 Tom Tromey * symtab.c (iterate_over_symtabs, matching_obj_sections) (expand_symtab_containing_pc, lookup_static_symbol) (basic_lookup_transparent_type, find_pc_sect_compunit_symtab) (find_symbol_at_address, find_line_symtab, find_main_name): Use all_objfiles. * probe.c (find_probe_by_pc, collect_probes): Use all_objfiles. * breakpoint.c (create_overlay_event_breakpoint) (create_longjmp_master_breakpoint) (create_std_terminate_master_breakpoint) (create_exception_master_breakpoint): Use all_objfiles. * linux-thread-db.c (try_thread_db_load_from_pdir) (has_libpthread): Use all_objfiles. * ada-lang.c (add_nonlocal_symbols): Use all_objfiles. * linespec.c (iterate_over_all_matching_symtabs) (search_minsyms_for_name): Use all_objfiles. * maint.c (maintenance_info_sections): Use all_objfiles. * main.c (captured_main_1): Use all_objfiles. * spu-tdep.c (spu_objfile_from_frame): Use all_objfiles. * guile/scm-objfile.c (gdbscm_objfiles): Use all_objfiles. * guile/scm-pretty-print.c (ppscm_find_pretty_printer_from_objfiles): Use all_objfiles. * solib-spu.c (append_ocl_sos): Use all_objfiles. * symmisc.c (maintenance_print_symbols): Use all_objfiles. (maintenance_print_msymbols): Use all_objfiles. * source.c (select_source_symtab): Use all_objfiles. * jit.c (jit_find_objf_with_entry_addr): Use all_objfiles. * symfile.c (remove_symbol_file_command) (expand_symtabs_matching, map_symbol_filenames): Use all_objfiles. * ppc-linux-tdep.c (ppc_linux_spe_context_inferior_created): Use all_objfiles. * dwarf2-frame.c (dwarf2_frame_find_fde): Use all_objfiles. * objc-lang.c (find_methods): Use all_objfiles. * objfiles.c (have_partial_symbols, have_full_symbols) (have_minimal_symbols, qsort_cmp) (default_iterate_over_objfiles_in_search_order): Use all_objfiles. * hppa-tdep.c (find_unwind_entry): Use all_objfiles. * psymtab.c (maintenance_print_psymbols): Use all_objfiles. (maintenance_check_psymtabs): Use all_objfiles. (ALL_PSYMTABS): Remove. * compile/compile-object-run.c (do_module_cleanup): Use all_objfiles. * blockframe.c (find_pc_partial_function): Use all_objfiles. * cp-support.c (add_symbol_overload_list_qualified): Use all_objfiles. * windows-tdep.c (windows_iterate_over_objfiles_in_search_order): Use all_objfiles. * dwarf-index-write.c (save_gdb_index_command): Use all_objfiles. * python/py-xmethods.c (gdbpy_get_matching_xmethod_workers): Use all_objfiles. * python/py-objfile.c (objfpy_lookup_objfile_by_name) (objfpy_lookup_objfile_by_build_id): Use all_objfiles. * python/py-prettyprint.c (find_pretty_printer_from_objfiles): Uses all_objfiles. * solib.c (solib_read_symbols): Use all_objfiles commit 99d89cdea6c296bdd94ce532350d139d3900ff78 Author: Tom Tromey Date: Fri Nov 23 11:58:27 2018 -0700 Remove ALL_PSPACE_OBJFILES This removes the ALL_PSPACE_OBJFILES macro in favor of ranged for loops. gdb/ChangeLog 2019-01-09 Tom Tromey * probe.c (parse_probes_in_pspace): Use all_objfiles. * guile/scm-progspace.c (gdbscm_progspace_objfiles): Use all_objfiles. * objfiles.h (ALL_PSPACE_OBJFILES): Remove. * symmisc.c (print_symbol_bcache_statistics) (print_objfile_statistics, maintenance_print_objfiles) (maintenance_info_symtabs, maintenance_check_symtabs) (maintenance_expand_symtabs, maintenance_info_line_tables): Use all_objfiles. * source.c (forget_cached_source_info): Use all_objfiles. * symfile-debug.c (set_debug_symfile): Use all_objfiles. * elfread.c (elf_gnu_ifunc_resolve_by_cache) (elf_gnu_ifunc_resolve_by_got): Use all_objfiles. * objfiles.c (update_section_map): Use all_objfiles. (shared_objfile_contains_address_p): Likewise. * psymtab.c (maintenance_info_psymtabs): Use all_objfiles. * python/py-progspace.c (pspy_get_objfiles): Use all_objfiles. commit 217083254a26b9e1dc42c43f573054740988c2cf Author: Tom Tromey Date: Thu Jun 14 22:12:16 2018 -0700 Introduce all_objfiles and next_iterator This introduces an iterable object which can be used to iterate over objfiles. It also introduces a generic "next_iterator", which can be used to iterate over types that have a "next" field. gdb/ChangeLog 2019-01-09 Tom Tromey * common/next-iterator.h: New file. * objfiles.h (class all_objfiles): New. (struct objfile_iterator): New. commit d30e1903399c32605d38b8d75a612c0d5d3d18b5 Author: GDB Administrator Date: Thu Jan 10 00:00:28 2019 +0000 Automatic date update in version.in commit a08da33eb3f69dec01810440a40c77ed56a79b69 Author: Sandra Loosemore Date: Wed Jan 9 13:59:16 2019 -0800 Merge from gcc: use "cannot" instead of "can not" in libiberty and include. 2019-01-09 Sandra Loosemore Merge from GCC: 2019-01-09 Sandra Loosemore PR other/16615 [2/5] include/ * libiberty.h: Mechanically replace "can not" with "cannot". * plugin-api.h: Likewise. libiberty/ * cp-demangle.c: Mechanically replace "can not" with "cannot". * floatformat.c: Likewise. * strerror.c: Likewise. commit 669e09f609d30e070dc26db34d938a0888a01928 Author: Philippe Waroquiers Date: Wed Jan 9 22:37:52 2019 +0100 NEWS: Move changed commands description to Changed commands section. 2019-01-09 Philippe Waroquiers * NEWS: Move the description of the changed "frame", "select-frame", and "info frame" commands to the Changed commands section. commit 448b8ca86519cce1216c9db5f0236604a6a33320 Author: John Darrington Date: Fri Jan 4 09:44:58 2019 +0100 S12Z: Don't crash when disassembling invalid instructions. Check for null before dereferencing an operand pointer. Normally this situation should never arise, but could happen if a "partial" instruction is encountered at the end of a file or section. opcodes/ * s12z-dis.c (print_insn_s12z): Do not dereference an operand if it is null. commit 39f286cd585226ad98c2cd94ee0f96988b3696ce Author: John Darrington Date: Mon Dec 31 07:48:10 2018 +0000 S12Z: Fix disassembly of indexed OPR operands with zero index. gas/ * testsuite/gas/s12z/jsr.s: New case. * testsuite/gas/s12z/jsr.d: New case. opcodes/ * s12z-dis.c (opr_emit_disassembly): Do not omit an index if it is zero. commit 041be52673949e5b6cc2b507e55a379a54ab8ee0 Author: Simon Marchi Date: Wed Jan 9 12:57:16 2019 -0500 gdb: Remove support for old mangling schemes An upcoming sync with gcc's libiberty [1] will remove support for old mangling schemes (GNU v2, Lucid, ARM, HP and EDG). It will remove the cplus_demangle_opname function, so we need to get rid of its usages in GDB (it's a GNU v2 specific function). I think the changes are mostly relatively obvious, some hacks that were necessary to support overloaded operators with GNU v2 mangling are not needed anymore. The change in stabsread.c is perhaps less obvious. I think we could get rid of more code in that region that is specific to old mangling schemes, but I chose to do only the minimal changes required to remove the cplus_demangle_opname uses. There is also a detailed comment just above that explaining how GNU v2 and v3 mangled symbols are handled, I decided to leave it as-is, since I wasn't sure which part to remove, change or leave there. [1] The commit "Remove support for demangling GCC 2.x era mangling schemes.", specifically. gdb/ChangeLog: * gdbtypes.c (check_stub_method_group): Remove handling of old mangling schemes. * linespec.c (find_methods): Likewise. * stabsread.c (read_member_functions): Likewise. * valops.c (search_struct_method): Likewise. (value_struct_elt_for_reference): Likewise. * NEWS: Mention this change. gdb/testsuite/ChangeLog: * gdb.cp/demangle.exp (test_gnu_style_demangling): Rename to... (test_gnuv3_style_demangling): ... this. (test_lucid_style_demangling): Remove. (test_arm_style_demangling): Remove. (test_hp_style_demangling): Remove. (do_tests): Remove calls to the above. gdb/doc/ChangeLog: * gdb.texinfo (Print Settings): Remove mention of specific demangle-style values, just refer to the in-process help. commit 0e2a21335b6fc4a5b6bed19d9623916c52918b72 Author: Andrew Burgess Date: Mon Jan 7 07:26:35 2019 +0000 gdb: Avoid signed integer overflow when printing source lines When printing source lines with calls to print_source_lines we need to pass a start line number and an end line number. The end line number is calculated by calling get_lines_to_list and adding this value to the start line number. For example this code from list_command: print_source_lines (cursal.symtab, first, first + get_lines_to_list (), 0); The problem is that get_lines_to_list returns a value based on the GDB setting `set listsize LISTSIZE`. By default LISTSIZE is 10, however, its also possible to set LISTSIZE to unlimited, in which case get_lines_to_list will return INT_MAX. As the parameter signature for print_source_lines is: void print_source_lines (struct symtab *, int, int, print_source_lines_flags); and `first` in the above code is an `int`, then when LISTSIZE is `unlimited` the above code will result in signed integer overflow, which is undefined. The solution in this patch is a new class source_lines_range that can be constructed from a single line number and a direction (forward or backward). The range is then constructed from the line number and the value of get_lines_to_list. gdb/ChangeLog: * cli/cli-cmds.c (list_command): Pass a source_lines_range to print_source_lines. * source.c (print_source_lines_base): Update line number check. (print_source_lines): New function. (source_lines_range::source_lines_range): New function. * source.h (class source_lines_range): New class. (print_source_lines): New declaration. commit 8379fac67e963e0d12649c58f79d52824a7eafdf Author: Nick Clifton Date: Wed Jan 9 12:34:28 2019 +0000 Updated Spanish translation for the ld sub-directory. * po/es.po: Updated Spanish translation. commit c0b0b1c2b4376efe8a2bb2e65d7f1f93243cb7fa Author: Nick Clifton Date: Wed Jan 9 12:31:34 2019 +0000 Correct PR number in changelog entry. commit 28e817cc440bce73691c03e01860089a0954a837 Author: Nick Clifton Date: Wed Jan 9 12:25:16 2019 +0000 Fix a heap use after free memory access fault when displaying error messages about malformed archives. PR 14049 * readelf.c (process_archive): Use arch.file_name in error messages until the qualified name is available. commit d820d0c37beda1c29ff50bb1f2ebc1d23114d735 Author: Andrew Burgess Date: Thu Jan 3 21:13:52 2019 +0000 gdb/testsuite: Remove interactive prompt case from mi_gdb_test I noticed that when running this test: make check-gdb RUNTESTFLAGS="--target_board=native-gdbserver gdb.mi/mi-break.exp" I would occasionally see some UNRESOLVED test results like this: (gdb) PASS: gdb.mi/mi-break.exp: mi-mode=separate: breakpoint at main Expecting: ^(kill[ ]+)?(.*[ ]+[(]gdb[)] [ ]*) kill &"kill\n" ~"Kill the program being debugged? (y or n) [answered Y; input not from terminal]\n" =thread-group-exited,id="i1" ERROR: Got interactive prompt. UNRESOLVED: gdb.mi/mi-break.exp: mi-mode=separate: The problem appears to be that the expect buffer fills up to include the '(y or n)' prompt without including the following lines. The pattern supplied by the outer test script is looking for the following lines. As the following lines are not present then expect matches on the interactive prompt case rather than the case for the user supplied pattern. The problem with this is that we are not really at an interactive prompt, GDB is providing an answer for us and then moving on. When I examine a successful run of the test the output from GDB is identical, the only difference is where expect happens to buffer the output from GDB. This patch remove all special handling of the interactive prompt case. This means that if we ever break GDB and start seeing an unexpected interactive prompt then tests will rely on a timeout to fail, instead of having dedicated interactive prompt detection, but this solves the problem that an auto-answered prompt looks very similar to an interactive prompt. With this patch in place I can now leave the following loop running indefinitely, where before it would fail usually after ~10 iterations. while make check-gdb RUNTESTFLAGS="--target_board=native-gdbserver gdb.mi/mi-break.exp"; \ do /bin/true; \ done gdb/testsuite/ChangeLog: * lib/mi-support.exp (mi_gdb_test): Remove interactive prompt case. commit 1055a3b422da11b252fc83e73a5e9f465233e73d Author: Philippe Waroquiers Date: Mon Jan 7 16:02:51 2019 +0100 Fix leak in linespec.c Valgrind reports a leak in many tests, such as: ==9382== 16 bytes in 1 blocks are definitely lost in loss record 236 of 3,282 ==9382== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309) ==9382== by 0x4197AF: xrealloc (common-utils.c:64) ==9382== by 0x51D16A: xresizevec (poison.h:170) ==9382== by 0x51D16A: add_sal_to_sals(linespec_state*, std::vector >*, symtab_and_line*, char const*, int) (linespec.c:1041) ==9382== by 0x51E2BF: create_sals_line_offset (linespec.c:2215) ==9382== by 0x51E2BF: convert_linespec_to_sals(linespec_state*, linespec*) (linespec.c:2358) ==9382== by 0x521B5D: convert_explicit_location_to_sals (linespec.c:2473) Fix leak by xfree-ing self->canonical_names in linespec_state_destructor. The leak probably appeared with the patch 'Remove cleanup from linespec.c', as there was a cleanup to xfree canonical_names before the patch. Tested on Debian/amd64, native and under valgrind. 2019-01-09 Philippe Waroquiers * linespec.c (linespec_state_destructor): Free self->canonical_names. commit 3107326d3df950b0578a895bb835b2a8dfa8fab7 Author: Andrew Paprocki Date: Wed Jan 9 13:51:08 2019 +1030 Adjust bfd/warning.m4 egrep patterns Adjust the `bfd/warning.m4` `egrep` patterns to handle preprocessors that do not define `__GNUC__`, leaving the string in the output. bfd/ * warning.m4: Adjust egrep pattern for non-GNU compilers. * configure: Regenerate. binutils/ * configure: Regenerate. gas/ * configure: Regenerate. gold/ * configure: Regenerate. gprof/ * configure: Regenerate. ld/ * configure: Regenerate. opcodes/ * configure: Regenerate. commit 923c6a756476f3a1f92d6625aacbbf5253b7739b Author: Alan Modra Date: Wed Jan 9 10:37:52 2019 +1030 cxxfilt test failures Fixes these: bfin-elf +FAIL: cxxfilt: demangling _Z1fIvJiELb0EEvPDOT1_EFT_DpT0_E bfin-elf +FAIL: cxxfilt: demangling _Z14int_if_addableI1YERiP1AIXszpldecvPT_Li0EdecvS4_Li0EEE h8300-elf +FAIL: cxxfilt: demangling _Z1fIvJiELb0EEvPDOT1_EFT_DpT0_E h8300-elf +FAIL: cxxfilt: demangling _Z14int_if_addableI1YERiP1AIXszpldecvPT_Li0EdecvS4_Li0EEE i686-pe +FAIL: cxxfilt: demangling _Z1fIvJiELb0EEvPDOT1_EFT_DpT0_E i686-pe +FAIL: cxxfilt: demangling _Z14int_if_addableI1YERiP1AIXszpldecvPT_Li0EdecvS4_Li0EEE i686-vxworks +FAIL: cxxfilt: demangling _Z1fIvJiELb0EEvPDOT1_EFT_DpT0_E i686-vxworks +FAIL: cxxfilt: demangling _Z14int_if_addableI1YERiP1AIXszpldecvPT_Li0EdecvS4_Li0EEE m32c-elf +FAIL: cxxfilt: demangling _Z1fIvJiELb0EEvPDOT1_EFT_DpT0_E m32c-elf +FAIL: cxxfilt: demangling _Z14int_if_addableI1YERiP1AIXszpldecvPT_Li0EdecvS4_Li0EEE * testsuite/binutils-all/cxxfilt.exp: Pass --no-strip-underscores unconditionally to tests needing the option rather than via a list of targets. commit 05497ea85a1b03cd336da4e14af5d147020a4399 Author: GDB Administrator Date: Wed Jan 9 00:00:35 2019 +0000 Automatic date update in version.in commit cfeadda545c4961877969e6a66be79278696e012 Author: Tom Tromey Date: Sun Jan 6 09:49:11 2019 -0700 Fix build failure with macOS bison PR gdb/24060 points out a compilation failure of the C, Fortran and Pascal parsers when they are built using the macOS system bison. The bug is a name clash between the VARIABLE token name and the VARIABLE enumerator in ui-out.h. This patch renames VARIABLE in c-exp.y, f-exp.y and p-exp.y to DOLLAR_VARIABLE to avoid the clash. It also renames similar variables in other .y files so that all languages use the same name. gdb/ChangeLog 2019-01-07 Tom Tromey 2019-01-07 Simon Marchi PR gdb/24060: * ada-exp.y (DOLLAR_VARIABLE): Rename from SPECIAL_VARIABLE. * ada-lex.l (DOLLAR_VARIABLE): Likewise. * c-exp.y (DOLLAR_VARIABLE): Rename from VARIABLE. * f-exp.y (DOLLAR_VARIABLE): Likewise. * m2-exp.y (DOLLAR_VARIABLE): Rename from INTERNAL_VAR. * p-exp.y (DOLLAR_VARIABLE): Rename from VARIABLE. commit 236f4ebe3ac7e8f94184fdcc39c70d74cc62b82a Author: Nick Clifton Date: Tue Jan 8 16:53:02 2019 +0000 Remove support for old gnu v2 name mangling. PR 24044 * cxxfilt.c (hp_symbol_characters): Delete. (main): Remove depcreated demangling styles. * stabs.c (parse_stab_argtypes): Remove support for old gnu v2 demangling opnames. * testsuite/binutils-all/cxxfilt.exp: Use the --no-strip-underscore option for targets that do prefix their symbols with underscores. Update tests to elimiate those that use gnu v2 encoding. commit c8fcc36012301d7402fd990ee5d8f78dffa824f0 Author: Kyrylo Tkachov Date: Tue Jan 8 15:18:32 2019 +0000 [AArch64][gas] Add -mcpu support for Arm Ares This adds support for the Arm Ares CPU for AArch64. It implements the Armv8.2-A architecture with the optional features of statistical profiling, dot product and FP16 on by default. Note: Ares is a codename to enable early adopters and in time we will add the final product name once it's announced. * config/tc-aarch64.c (aarch64_cpus): Add ares. * doc/c-aarch64.texi (-mcpu): Document ares value. commit e3ecd631339aaa2a4af57f59f0694671d4ce00ab Author: Tamar Christina Date: Tue Jan 8 14:52:53 2019 +0000 Add testcase for PR/24065. This adds a new testcase for objcopy -O ihex to test that it correctly works. binutils/ChangeLog: PR 24065 * testsuite/binutils-all/copy-6.d: New test. * testsuite/binutils-all/objcopy.exp: Use it. commit 583068ca1d855abd09ac979c688f48b0ddaabe0f Author: Andrew Burgess Date: Mon Jan 7 09:16:16 2019 +0000 gdb: Move declarations from symtab.h to source.h Declarations for functions in source.c are split between source.h and symtab.h. This commit moves the small number that are in symtab.h into source.h. There's just one file that needs to add an include of source.h in order to build. I've moved the function header comments from source.c to source.h inline with the recommended GDB style. gdb/ChangeLog: * source.c (select_source_symtab): Move header comment to declaration in source.h. (forget_cached_source_info_for_objfile): Likewise. (forget_cached_source_info): Likewise. (identify_source_line): Likewise. * source.h (identify_source_line): Move declaration from symtab.h and add comment from source.c (print_source_lines): Likewise. (forget_cached_source_info_for_objfile): Likewise. (forget_cached_source_info): Likewise. (select_source_symtab): Likewise. (enum print_source_lines_flag): Move definition from symtab.h. * symtab.h (identify_source_line): Move declaration to source.h. (print_source_lines): Likewise. (forget_cached_source_info_for_objfile): Likewise. (forget_cached_source_info): Likewise. (select_source_symtab): Likewise. (enum print_source_lines_flag): Move definition to source.h. * tui/tui-hooks.c: Add 'source.h' include. commit ec98a4ad5bfcba33deb5cb786c023082adbbfb46 Author: Andrew Burgess Date: Sun Jan 6 23:53:22 2019 +0000 gdb: Handle requests to print source lines backward ...by which I mean from high line number to low, not, actually backward character by character! Commit: commit 62f29fda90cf1d5a1899f57ef78452471c707fd6 Date: Tue Oct 9 22:21:05 2018 -0600 Highlight source code using GNU Source Highlight introduced a regression in the test gdb.linespec/explicit.exp, in which a request is made to GDB to print a reverse sequence of lines, from +10 to -10 from the current line number. The expected behaviour is that GDB prints nothing. The above commit changed this so that GDB now prints: Line number 32 out of range; /path/to/gdb/testsuite/gdb.linespec/explicit.c has 71 lines. which is a little confusing. This commit fixes the regression, and restores the behaviour that GDB prints nothing. While I was passing I noticed a call to `back` on a std::string that I was concerned could be empty if the request for source lines returns an empty string. I don't know if it would be possible for a request for lines to return an empty string, I guess it should be impossible, in which case, maybe this should be an assertion, but adding a `empty` check, seems like an easy and cheap safety net. gdb/ChangeLog: * source.c (print_source_lines_base): Handle requests to print reverse line number sequences, and guard against empty lines string. commit 62ea19c1000856c2633a952c52269fca4143931a Author: Andrew Burgess Date: Sun Jan 6 23:31:45 2019 +0000 gdb: Fix skip of `\r` before `\n` in source output In this commit: commit 62f29fda90cf1d5a1899f57ef78452471c707fd6 Date: Tue Oct 9 22:21:05 2018 -0600 Highlight source code using GNU Source Highlight A bug was introduced such that when displaying source code from a file with lines `\r\n` GDB would print `^M` at the end of each line. This caused a regression on the test gdb.fortran/nested-funcs.exp, which happens to have `\r\n` line endings. gdb/ChangeLog: * source.c (print_source_lines_base): Fix skip of '\r' if next character is '\n'. commit a9859e01726d085db79cff88550fdb38e2434e42 Author: Alan Modra Date: Tue Jan 8 22:21:57 2019 +1030 PR24065, 32-bit objcopy fails with 64-bit address ... out of range PR 23699 PR 24065 * ihex.c (ihex_write_object_contents): Properly check 32-bit address range. commit 171b8e19575654ab32321eb99f3fd112663ae7fa Author: Alan Modra Date: Tue Jan 8 16:47:52 2019 +1030 run_dump_test source in build directory Some existing tests build .s and .d files for run_dump_test, using an absolute #source: line in the .d file. This patch changes that scheme a little to instead use "#source: ./..." in .d files rather than "#source: $objdir/...", which is more useful in cases where the .d file is not generated. This allows RX gas test files to be built in the build directory, rather than in a source directory (which might be read-only). binutils/ * testsuite/lib/binutils-common.exp (run_dump_test): Don't prepend $srcdir/$subdir to source file name if it starts with "./". gas/ * testsuite/gas/rx/rx.exp: Create generated test source in current directory. * testsuite/gas/rx/Xtod.d, * testsuite/gas/rx/abs.d, * testsuite/gas/rx/adc.d, * testsuite/gas/rx/add.d, * testsuite/gas/rx/and.d, * testsuite/gas/rx/bclr.d, * testsuite/gas/rx/bcnd.d, * testsuite/gas/rx/bfmov.d, * testsuite/gas/rx/bmcnd.d, * testsuite/gas/rx/bnot.d, * testsuite/gas/rx/bra.d, * testsuite/gas/rx/brk.d, * testsuite/gas/rx/bset.d, * testsuite/gas/rx/bsr.d, * testsuite/gas/rx/btst.d, * testsuite/gas/rx/clrpsw.d, * testsuite/gas/rx/cmp.d, * testsuite/gas/rx/dabs.d, * testsuite/gas/rx/dadd.d, * testsuite/gas/rx/dbt.d, * testsuite/gas/rx/dcmp.d, * testsuite/gas/rx/ddiv.d, * testsuite/gas/rx/div.d, * testsuite/gas/rx/divu.d, * testsuite/gas/rx/dmov.d, * testsuite/gas/rx/dmul.d, * testsuite/gas/rx/dneg.d, * testsuite/gas/rx/dpopm.d, * testsuite/gas/rx/dpushm.d, * testsuite/gas/rx/dround.d, * testsuite/gas/rx/dsqrt.d, * testsuite/gas/rx/dsub.d, * testsuite/gas/rx/dtoX.d, * testsuite/gas/rx/emaca.d, * testsuite/gas/rx/emsba.d, * testsuite/gas/rx/emul.d, * testsuite/gas/rx/emula.d, * testsuite/gas/rx/emulu.d, * testsuite/gas/rx/fadd.d, * testsuite/gas/rx/fcmp.d, * testsuite/gas/rx/fdiv.d, * testsuite/gas/rx/fmul.d, * testsuite/gas/rx/fsqrt.d, * testsuite/gas/rx/fsub.d, * testsuite/gas/rx/ftoi.d, * testsuite/gas/rx/ftou.d, * testsuite/gas/rx/gprel.d, * testsuite/gas/rx/int.d, * testsuite/gas/rx/itof.d, * testsuite/gas/rx/jmp.d, * testsuite/gas/rx/jsr.d, * testsuite/gas/rx/machi.d, * testsuite/gas/rx/maclh.d, * testsuite/gas/rx/maclo.d, * testsuite/gas/rx/max.d, * testsuite/gas/rx/min.d, * testsuite/gas/rx/mov.d, * testsuite/gas/rx/movco.d, * testsuite/gas/rx/movli.d, * testsuite/gas/rx/movu.d, * testsuite/gas/rx/msbhi.d, * testsuite/gas/rx/msblh.d, * testsuite/gas/rx/msblo.d, * testsuite/gas/rx/mul.d, * testsuite/gas/rx/mulhi.d, * testsuite/gas/rx/mullh.d, * testsuite/gas/rx/mullo.d, * testsuite/gas/rx/mvfacgu.d, * testsuite/gas/rx/mvfachi.d, * testsuite/gas/rx/mvfaclo.d, * testsuite/gas/rx/mvfacmi.d, * testsuite/gas/rx/mvfc.d, * testsuite/gas/rx/mvfcp.d, * testsuite/gas/rx/mvfdc.d, * testsuite/gas/rx/mvfdr.d, * testsuite/gas/rx/mvtacgu.d, * testsuite/gas/rx/mvtachi.d, * testsuite/gas/rx/mvtaclo.d, * testsuite/gas/rx/mvtc.d, * testsuite/gas/rx/mvtcp.d, * testsuite/gas/rx/mvtdc.d, * testsuite/gas/rx/neg.d, * testsuite/gas/rx/nop.d, * testsuite/gas/rx/not.d, * testsuite/gas/rx/opecp.d, * testsuite/gas/rx/or.d, * testsuite/gas/rx/pop.d, * testsuite/gas/rx/popc.d, * testsuite/gas/rx/popm.d, * testsuite/gas/rx/push.d, * testsuite/gas/rx/pushc.d, * testsuite/gas/rx/pushm.d, * testsuite/gas/rx/r-bcc.d, * testsuite/gas/rx/r-bra.d, * testsuite/gas/rx/racl.d, * testsuite/gas/rx/racw.d, * testsuite/gas/rx/rdacl.d, * testsuite/gas/rx/rdacw.d, * testsuite/gas/rx/revl.d, * testsuite/gas/rx/revw.d, * testsuite/gas/rx/rmpa.d, * testsuite/gas/rx/rolc.d, * testsuite/gas/rx/rorc.d, * testsuite/gas/rx/rotl.d, * testsuite/gas/rx/rotr.d, * testsuite/gas/rx/round.d, * testsuite/gas/rx/rstr.d, * testsuite/gas/rx/rte.d, * testsuite/gas/rx/rtfi.d, * testsuite/gas/rx/rts.d, * testsuite/gas/rx/rtsd.d, * testsuite/gas/rx/sat.d, * testsuite/gas/rx/satr.d, * testsuite/gas/rx/save.d, * testsuite/gas/rx/sbb.d, * testsuite/gas/rx/sccnd.d, * testsuite/gas/rx/scmpu.d, * testsuite/gas/rx/setpsw.d, * testsuite/gas/rx/shar.d, * testsuite/gas/rx/shll.d, * testsuite/gas/rx/shlr.d, * testsuite/gas/rx/smovb.d, * testsuite/gas/rx/smovf.d, * testsuite/gas/rx/smovu.d, * testsuite/gas/rx/sstr.d, * testsuite/gas/rx/stnz.d, * testsuite/gas/rx/stz.d, * testsuite/gas/rx/sub.d, * testsuite/gas/rx/suntil.d, * testsuite/gas/rx/swhile.d, * testsuite/gas/rx/tst.d, * testsuite/gas/rx/utof.d, * testsuite/gas/rx/wait.d, * testsuite/gas/rx/xchg.d, * testsuite/gas/rx/xor.d: Add #source line. ld/ * testsuite/ld-elf/sec64k.exp: Use . rather than $objdir in generated source file names. * testsuite/ld-m68k/m68k-got.exp: Likewise. commit 09134207b2ab57a66e30255d0520a36c01e78313 Author: GDB Administrator Date: Tue Jan 8 00:00:27 2019 +0000 Automatic date update in version.in commit 4ae80ffc55cd44fe9a5527403f07fee70307b2d7 Author: Simon Marchi Date: Mon Jan 7 18:05:36 2019 -0500 Revert "Sync libiberty sources with master version in gcc repository. Updated stabs demangling and cxxfilt tests to match." The previous commit breaks the GDB build, which is still using functions cplus_demangle_opname & co. Since removing these usages is not an obvious fix, let's revert this patch until we get rid of them. commit 053af8c9034f92d6e36a1180655ba22a65c56437 Author: Nick Clifton Date: Mon Jan 7 13:18:53 2019 +0000 Sync libiberty sources with master version in gcc repository. Updated stabs demangling and cxxfilt tests to match. PR 24044 * stabs.c (parse_stab_argtypes): Remove call to cplus_mangle_opcode. * testsuite/binutils-all/cxxfilt.exp: Replace tests of v2 encoding with v3 encoding. Add escape for known failures. commit ef8df4caec24669a11680aa1a696d470fb6177ba Author: Kyrylo Tkachov Date: Mon Jan 7 09:22:55 2019 +0000 [arm][gas] Add -mcpu support for Arm Ares This adds support for the Arm Ares CPU in the arm port. It implements the Armv8.2-A architecture with the relevant optional features of dot product and FP16 on by default. Note: Ares is a codename to enable early adopters and in time we will add the final product name once it's announced. * config/tc-arm.c (arm_cpus): Add ares. * doc/c-arm.texi (-mcpu): Document ares value. commit 7e9ca91e006d57bd39838ca5196c1bd0db3ef170 Author: Alan Modra Date: Mon Jan 7 15:03:43 2019 +1030 s12z regen * configure: Regenerate. * po/POTFILES.in: Regenerate. commit b91c5d6e5a3f373e424cede99cb4e0958792414e Author: GDB Administrator Date: Mon Jan 7 00:01:08 2019 +0000 Automatic date update in version.in commit 9d30e1fd7cfc742b03b7d973e511f7bfe5cfc295 Author: Tom Tromey Date: Wed Jan 2 19:22:44 2019 -0700 Remove remaining cleanups from c-exp.y This removes the remaining cleanups from c-exp.y by moving some globals into c_parse_state, and changing expansion_obstack to be an auto_obstack. gdb/ChangeLog 2019-01-06 Tom Tromey * c-exp.y (struct c_parse_state) : New member. (macro_original_text, expansion_obstack): Remove globals. (scan_macro_expansion, scanning_macro_expansion) (finished_macro_expansion): Update. (scan_macro_cleanup): Remove. (yylex, c_parse): Update. commit c65bac3846567a8068fe4aa5cfa79da5b193a1af Author: Tom Tromey Date: Wed Jan 2 19:13:15 2019 -0700 Remove string-related cleanup from c-exp.y This removes a string-related cleanup from c-exp.y, by adding a new member to c_parse_state to store the strings. gdb/ChangeLog 2019-01-06 Tom Tromey * c-exp.y (struct c_parse_state) : New member. (operator_stoken): Update. commit 02e12e3806bc60f66e3c446c4dfa9c06a400e604 Author: Tom Tromey Date: Wed Jan 2 19:12:32 2019 -0700 Use std::vector in type stacks This removes the use of VEC from parse.c and, at the same time, removes some related cleanups from c-exp.y. gdb/ChangeLog 2019-01-06 Tom Tromey * parser-defs.h (type_ptr): Remove typedef. Don't declare VEC. (union type_stack_elt) : Now a pointer to std::vector. (type_stack_cleanup): Don't declare. (push_typelist): Update. * parse.c (pop_typelist): Return a std::vector. (push_typelist): Take a std::vector. (follow_types): Update. Do not free args. (type_stack_cleanup): Remove. * c-exp.y (struct c_parse_state): New. (cpstate): New global. (type_aggregate_p, exp, ptr_operator, parameter_typelist) (nonempty_typelist): Update. (func_mod): Create a new vector. (c_parse): Create a c_parse_state. (check_parameter_typelist): Do not delete params. (function_method): Update. Do not delete type_list. commit f097f5ad808bd535236a65077f40e9d082a4ec0b Author: Tom Tromey Date: Sat Dec 29 10:46:07 2018 -0700 Fix crash in "finish" PR gdb/28155 notes a crash in "finish" that occurs with a particular source file compiled by clang. The bug is the typical gdb problem of a missing call to check_typedef. clang emits a function whose return type is a typedef to void. get_return_value asserts that the return type is not void, but the callers were not using check_typedef first. gdb/ChangeLog 2019-01-06 Tom Tromey PR gdb/28155: * python/py-finishbreakpoint.c (bpfinishpy_init): Use check_typedef. * infcmd.c (finish_command_fsm_should_stop): Use check_typedef. (print_return_value): Likewise. gdb/testsuite/ChangeLog 2019-01-06 Tom Tromey PR gdb/28155: * gdb.dwarf2/typedef-void-finish.exp: New file. commit bb86dd08b25624206c3943b56b79784928e58464 Author: GDB Administrator Date: Sun Jan 6 00:00:54 2019 +0000 Automatic date update in version.in commit d2adf9f120dd9ddef67b1d94b24298dfd3410bd1 Author: Tom Tromey Date: Mon Dec 24 14:56:03 2018 -0700 Remove the exception and cleanup checkers Now that gdb is transitioning away from cleanups, there is no reason to keep the cleanup and exception checker scripts around. This patch removes them. gdb/ChangeLog 2019-01-05 Tom Tromey * contrib/cleanup_check.py: Remove. * contrib/gcc-with-excheck: Remove. * contrib/exsummary.py: Remove. * contrib/excheck.py: Remove. commit f87673e04f4ec54301151f74237329df14133569 Author: Yoshinori Sato Date: Tue Dec 25 20:04:47 2018 +0900 RX: binutils - Add RXv3 support. * readelf.c (get_machine_flags): Add RXv3 output. commit c8c89dac38c723a2dcff9beceb9e7c09b0c5f3d4 Author: Yoshinori Sato Date: Tue Dec 25 19:58:54 2018 +0900 RX: bfd - Add RXv3 support. * bfd/archures.c: Add bfd_mach_rx_v2 and bfd_mach_rx_v3. * bfd/bfd-in2.h: Regenerate. * bfd/cpu-rx.c (arch_info_struct): Add RXv2 and RXv3 entry. * bfd/elf32-rx.c (elf32_rx_machine): Add RXv2 and RXv3 support. commit 6a25bee8d049d3b51cea9e10f487fc04c792dd66 Author: Yoshinori Sato Date: Tue Dec 25 20:52:53 2018 +0900 RX: gas - Add RXv3 instruction support. Instruction manual. https://www.renesas.com/us/en/doc/products/mpumcu/doc/rx_family/r01us0316ej0100-rxv3sm.pdf * config/rx-defs.h (rx_cpu_types): Add type RXV3 and RXV3FPU. (rx_bfield): Add prototype. (rx_post): Likewise. * config/rx-parse.y: Add v3 instructions and Double FPU registers. (DSIZE): Define. (POST): Define. (rx_check_v3): New. check v3 type. (rx_check_dfpu): New. check have double support. (double_condition_table): New. dcmp contiditon. (check_condition): Multiple condition support. (rx_lex): RXv3 instructions support. Add parse dcmp instruction and Double FPU registers. (immediate): Disable optimize in dmov #imm case. (displacement): Add double displacement in dmov instraction. * config/tc-rx.c (rx_use_conventional_section_names): Invert default value in rx-*-linux target. (cpu_type): Add additional ELF flags. (cpu_type_list): Add RXv3. (md_parse_option): Refer elf_flags from cpu_type_list. (md_show_usage): Add rxv3 and rxv3-dfpu. (rx_bytesT): Add post byte. (rx_bfield): New. generate bfmov / bfmovz "imm" field. (rx_post): New. Set instruction post byte. (md_assemble): Add post byte. doc/c-rx.texi: Add cpu types. * testsuite/gas/rx/Xtod.d: New. * testsuite/gas/rx/Xtod.sm: New. * testsuite/gas/rx/bfmov.d: New. * testsuite/gas/rx/bfmov.sm: New. * testsuite/gas/rx/dabs.d: New. * testsuite/gas/rx/dabs.sm: New. * testsuite/gas/rx/dadd.d: New. * testsuite/gas/rx/dadd.sm: New. * testsuite/gas/rx/dcmp.d: New. * testsuite/gas/rx/dcmp.sm: New. * testsuite/gas/rx/ddiv.d: New. * testsuite/gas/rx/ddiv.sm: New. * testsuite/gas/rx/dmov.d: New. * testsuite/gas/rx/dmov.sm: New. * testsuite/gas/rx/dmul.d: New. * testsuite/gas/rx/dmul.sm: New. * testsuite/gas/rx/dneg.d: New. * testsuite/gas/rx/dneg.sm: New. * testsuite/gas/rx/dpopm.d: New. * testsuite/gas/rx/dpopm.sm: New. * testsuite/gas/rx/dpushm.d: New. * testsuite/gas/rx/dpushm.sm: New. * testsuite/gas/rx/dround.d: New. * testsuite/gas/rx/dround.sm: New. * testsuite/gas/rx/dsqrt.d: New. * testsuite/gas/rx/dsqrt.sm: New. * testsuite/gas/rx/dsub.d: New. * testsuite/gas/rx/dsub.sm: New. * testsuite/gas/rx/dtoX.d: New. * testsuite/gas/rx/dtoX.sm: New. * testsuite/gas/rx/macros.inc: Add double FPU registers. * testsuite/gas/rx/mvfdc.d: New. * testsuite/gas/rx/mvfdc.sm: New. * testsuite/gas/rx/mvfdr.d: New. * testsuite/gas/rx/mvfdr.sm: New. * testsuite/gas/rx/mvtdc.d: New. * testsuite/gas/rx/mvtdc.sm: New. * testsuite/gas/rx/rstr.d: New. * testsuite/gas/rx/rstr.sm: New. * testsuite/gas/rx/rx.exp: Use rxv3-dfpu option. * testsuite/gas/rx/save.d: New. * testsuite/gas/rx/save.sm: New. * testsuite/gas/rx/xor.d: New. * testsuite/gas/rx/xor.sm: Add pattern. commit 59581069b4d070ab0ac61047177ee119110d678e Author: Yoshinori Sato Date: Tue Dec 25 20:44:15 2018 +0900 RX: include - Add RXv3 support. * elf/rx.h (EF_RX_CPU_MASK): Update new bits. (E_FLAG_RX_V3): New RXv3 type. * opcode/rx.h (RX_Size): Add double size. (RX_Operand_Type): Add double FPU registers. (RX_Opcode_ID): Add new instuctions. commit 2eab46b176fa315ebc07569280f020c3348c2aa2 Author: Joel Brobecker Date: Sat Jan 5 11:55:08 2019 +0400 GDB crash re-running program on Windows (native) Running any program twice on Windows current results in GDB crashing: $ gdb -q any_program (gdb) run $ gdb dummy -batch -ex run -ex run [New Thread 684960.0xe5878] [New Thread 684960.0xd75ac] [New Thread 684960.0xddac8] [New Thread 684960.0xc1f50] [Thread 684960.0xd75ac exited with code 0] [Thread 684960.0xddac8 exited with code 0] [Thread 684960.0xc1f50 exited with code 0] [Inferior 1 (process 684960) exited normally] (gdb) run Segmentation fault The crash happens while processing the CREATE_PROCESS_DEBUG_EVENT for the second run; in particular, we have in get_windows_debug_event: | case CREATE_PROCESS_DEBUG_EVENT: | [...] | if (main_thread_id) | windows_delete_thread (ptid_t (current_event.dwProcessId, 0, | main_thread_id), | 0); The problem is that main_thread_id is the TID of the main thread from the *previous* inferior, and this code is trying to delete that thread. The problem is that it is constructing a PTID by pairing the TID of the previous inferior with the PID of the new inferior. As a result, when we dig inside windows_delete_thread to see how it would handle that, we see... | delete_thread (find_thread_ptid (ptid)); Since the PTID is bogus, we end up calling delete_thread with a NULL thread_info. It used to be harmless, turning the delete_thread into a nop, but the following change... | commit 080363310650c93ad8e93018bcb6760ba5d32d1c | Date: Thu Nov 22 16:09:14 2018 +0000 | Subject: Per-inferior thread list, thread ranges/iterators, down with ALL_THREADS, etc. ... changed delete_thread to get the list of threads from the inferior, which itself is now accessed via the given thread_info. This is the corresponding diff that shows the change: | - for (tp = thread_list; tp; tpprev = tp, tp = tp->next) | + for (tp = thr->inf->thread_list; tp; tpprev = tp, tp = tp->next) As a result of this, passing a NULL thread_info is no longer an option! Stepping back a bit, the reason behind deleting the thread late could be found in a patch from Dec 2003, which laconically explains: | commit 87a45c96062d658ca83b50aa060a648bf5f5f1ff | Date: Fri Dec 26 00:39:04 2003 +0000 | | * win32-nat.c (get_child_debug_event): Keep main thread id around | even after thread exits since Windows insists on continuing to | report events against it. A look at the gdb-patches archives did not provide any additional clues (https://www.sourceware.org/ml/gdb-patches/2003-12/msg00478.html). It is not clear whether this is still needed or not. This patch assumes that whatever isue there was, the versions of Windows we currently support no longer have it. With that in mind, this commit fixes the issue by deleting the thread when the inferior sends the exit-process event as opposed to deleting it later, while starting a new inferior. This also restores the printing of the thread-exit notification for the main thread, which was missing before. Looking at the transcript of the example shown above, we can see 4 thread creation notifications, and only 3 notifications for thread exits. Now creation and exit notifications are balanced. In the handling of EXIT_THREAD_DEBUG_EVENT, the main_thread_id check is removed because deemed unnecessary: The main thread was introduced by a CREATE_PROCESS_DEBUG_EVENT, and thus the kernel is expected to report its death via EXIT_PROCESS_DEBUG_EVENT. And finally, because the behavior of delete_thread did change (albeit when getting a value we probably never expected to receive), this patch also adds a gdb_assert. The purpose is to provide some immediate information in case there are other callers that mistakenly call delete_thread with a NULL thread info. This can be useful information when direct debugging of GDB isn't an option. gdb/ChangeLog: * thread.c (delete_thread_1): Add gdb_assert that THR is not NULL. Initialize tpprev to NULL instead of assigning it to NULL on the next statement. * windows-nat.c (windows_delete_thread): Remove check for main_thread_id before printing thread exit notifications. (get_windows_debug_event) : Remove thread ID check against main_thread_id. : Remove call to windows_delete_thread. : Add call to windows_delete_thread. commit 2ee73c7abf6408c543bf297271c83dff8e87ee44 Author: GDB Administrator Date: Sat Jan 5 00:00:37 2019 +0000 Automatic date update in version.in commit 48c5e7e239fba27bea134f6cd5f414300b7cd3ac Author: Tom Tromey Date: Mon Dec 24 14:41:40 2018 -0700 Use upper case for more metasyntactic variables in gdb I noticed a few places where a Usage line in gdb did not use upper case for metasyntactic variables. This patch fixes all the instances I found. Tested on x86-64 Fedora 28. gdb/ChangeLog 2019-01-04 Tom Tromey * compile/compile.c (_initialize_compile): Use upper case for metasyntactic variables. * symmisc.c (_initialize_symmisc): Use upper case for metasyntactic variables. * psymtab.c (_initialize_psymtab): Use upper case for metasyntactic variables. * demangle.c (demangle_command): Use upper case for metasyntactic variables. (_initialize_demangler): Likewise. * ax-gdb.c (_initialize_ax_gdb): Use upper case for metasyntactic variables. commit 1b2ed39c3a7ee2870f3d16a510d31e8d5916afbc Author: Wu Heng Date: Fri Jan 4 16:18:59 2019 +0000 Fix potential buffer overrun whilst scanning macro strings. PR 24010 * macro.c (get_any_string): Check for end of input whilst scanning for separators. commit bdfb4455977ffdd2d3f8dc81f25f6ba1ea2a7f49 Author: Wu Heng Date: Fri Jan 4 15:58:02 2019 +0000 Fix bug parsing angle bracketed string sequences. PR 24009 * read.c (stringer): Fix handling of missing '>' character at end of <...> sequence. commit d9858c37914e104401071b12b060765024008fe4 Author: Lifang Xia Date: Fri Jan 4 13:56:46 2019 +0000 Change the default for the CSKY target to be little endian. * config.bfd (csky-*-elf* | csky-*-linux*): Modify the csky default target, little endian target is more suitable. commit 11fa9f134fd658075c6f74499c780df045d9e9ca Author: Nick Clifton Date: Fri Jan 4 13:44:34 2019 +0000 Fix a possible integer overflow problem when examining corrupt binaries using a 32-bit binutil. PR 24005 * objdump.c (load_specific_debug_section): Check for integer overflow before attempting to allocate contents. commit cf0ad5bbf2d3fdb751b5f3f49e55d251d48c7416 Author: Nick Clifton Date: Fri Jan 4 12:11:51 2019 +0000 Fix ridiculously small memory leak. PR 24001 * objcopy.c (copy_object): Free dhandle after writing out the debug information. * objdump.c (dump_bfd): Free dhandle after printing out the debug information. commit 677bd4c69d0eda4f2ae635d793f23c0b1413a9e9 Author: Alan Modra Date: Fri Jan 4 12:18:36 2019 +1030 PR24061, powerpc-ibm-aix-ar sets bogus file permissions when extracting Mode field should be read in octal, all the rest in decimal. Do so. PR 24061 PR 21786 * coff-rs6000.c (GET_VALUE_IN_FIELD): Add base parameter and adjust all callers. (EQ_VALUE_IN_FIELD): Likewise. * coff64-rs6000.c (GET_VALUE_IN_FIELD): Likewise. commit 8261e52d1b8381252ede6754ea6cd1ba18810f1d Author: GDB Administrator Date: Fri Jan 4 00:00:29 2019 +0000 Automatic date update in version.in commit 986041cda76a312e4285c9ba1e51b1778fcb15ce Author: Tom Tromey Date: Wed Jan 2 11:41:44 2019 -0700 Use xstrdup in tui_set_source_content valgrind pointed out that the string copy in tui_set_source_content was not allocating space for the trailing \0: ==3941== Invalid write of size 1 ==3941== at 0x4C3239F: strcpy (vg_replace_strmem.c:512) ==3941== by 0x72036B: strcpy (string_fortified.h:90) ==3941== by 0x72036B: tui_set_source_content(symtab*, int, int) (tui-source.c:203) Looking closer, I don't think there's a need to check the line width here, so this patch changes it to use xstrdup. Tested by re-running the TUI under valgrind. There are still other valgrind reports from TUI code, but this one is gone. gdb/ChangeLog 2019-01-03 Tom Tromey * tui/tui-source.c (tui_set_source_content): Use xstrdup. commit 7c711119166fc1c60c756059f39c6703d57eedbf Author: Tom Tromey Date: Thu Dec 27 12:16:06 2018 -0700 Avoid questionable casts in py-symtab.c py-symtab.c has some questionable casts of Py_None to symtab_object*. This patch avoids these casts by instead using downcasts at the appropriate places. gdb/ChangeLog 2019-01-03 Tom Tromey * python/py-symtab.c (salpy_str): Update. (struct salpy_sal_object) : Now a PyObject. (salpy_dealloc): Update. (del_objfile_sal): Use gdbpy_ref. commit 1b20edf043c62759a4c78e40b03846e9bafd584c Author: Tom Tromey Date: Thu Dec 27 12:08:09 2018 -0700 Improve reference counting in py-type.c This improves the reference counting in py-type.c by using gdbpy_ref and gdbpy_ref::new_reference in more places. gdb/ChangeLog 2019-01-03 Tom Tromey * python/py-type.c (convert_field): Use new_reference. Return gdbpy_ref. (make_fielditem): Return gdbpy_ref. (typy_fields): Update. (typy_getitem): Update. (field_name): Return gdbpy_ref. Use new_reference. (typy_iterator_iternext): Update. commit ea41325b7d134e91648e340d8297e8f6ee5fe26a Author: Tom Tromey Date: Thu Dec 27 11:57:28 2018 -0700 Simplify gdbpy_stop_recording This simplifies gdbpy_stop_recording, by having it use Py_RETURN_NONE rather than writing it out manually, and by usin the idiomatic GDB_PY_HANDLE_EXCEPTION. gdb/ChangeLog 2019-01-03 Tom Tromey * python/py-record.c (gdbpy_stop_recording): Use Py_RETURN_NONE. commit 2a3c71d68d452bb6b06d199d0eb7bc0cbc2b9b25 Author: Tom Tromey Date: Thu Dec 27 11:53:20 2018 -0700 Remove more uses of explicit reference counting in Python This changes some more place in the Python code to use gdbpy_ref rather than explicit reference counting. While doing this I found a latent bug in typy_fields_items -- it was not checking for errors in one spot. I also changed valpy_dealloc to use Py_XDECREF rather than an explicit "if". gdb/ChangeLog 2019-01-03 Tom Tromey * python/py-value.c (valpy_dealloc): Use Py_XDECREF. * python/py-type.c (typy_fields_items): Use gdbpy_ref. * python/py-progspace.c (pspy_set_printers): Use gdbpy_ref. (pspy_set_frame_filters, pspy_set_frame_unwinders) (pspy_set_type_printers): Likewise. * python/py-function.c (fnpy_init): Use gdbpy_ref. * python/py-cmd.c (cmdpy_init): Use gdbpy_ref. * python/py-objfile.c (objfpy_set_printers): Use gdbpy_ref. (objfpy_set_frame_filters, objfpy_set_frame_unwinders) (objfpy_set_type_printers): Likewise. commit 5c329e6ab4c7bba9b83155571b150756210001df Author: Tom Tromey Date: Thu Dec 27 11:32:01 2018 -0700 Use a wrapper for PyErr_Fetch This introduces a new class that wraps PyErr_Fetch and PyErr_Restore, and then changes all the callers in gdb to use it. This reduces the amount of explicit reference counting that is done in the Python code. I also found and fixed a latent bug in gdbpy_print_stack -- it was not correctly checking some error conditions, nor clearing the exception when needed. gdb/ChangeLog 2019-01-03 Tom Tromey * python/python.c (gdbpy_enter, ~gdbpy_enter): Update. (gdbpy_print_stack): Use gdbpy_err_fetch. * python/python-internal.h (class gdbpy_err_fetch): New class. (class gdbpy_enter) : Remove. : New member. (gdbpy_exception_to_string): Don't declare. * python/py-varobj.c (py_varobj_iter_next): Use gdbpy_err_fetch. * python/py-value.c (convert_value_from_python): Use gdbpy_err_fetch. * python/py-utils.c (gdbpy_err_fetch::to_string): Rename from gdbpy_exception_to_string. (gdbpy_handle_exception): Use gdbpy_err_fetch. * python/py-prettyprint.c (print_stack_unless_memory_error): Use gdbpy_err_fetch. commit 169bb27bce3dc43b2bb5f6abf7fc21c19de5454a Author: Andrew Burgess Date: Mon Dec 31 22:20:56 2018 +0000 gdb: Remove cleanup from linux_nat_target::follow_fork Remove cleanup from linux_nat_target::follow_fork, instead add a new unique_ptr specialisation for holding lwp_info pointers and use this to ensure the pointer is cleaned up when needed. gdb/ChangeLog: * linux-nat.c (delete_lwp_cleanup): Delete. (struct lwp_deleter): New struct. (lwp_info_up): New typedef. (linux_nat_target::follow_fork): Delete cleanup, and make use of lwp_info_up. commit a07c88800e88e26fc3a746739f0d2cc8abd30c5d Author: Andrew Burgess Date: Mon Dec 31 21:23:14 2018 +0000 gdb: Remove cleanup from linux-fork.c:inferior_call_waitpid Replace cleanup in linux-fork.c:inferior_call_waitpid with a RAII object. gdb/ChangeLog: * linux-fork.c (class scoped_switch_fork_info): New class. (inferior_call_waitpid): Update to use scoped_switch_fork_info. commit 26089c494f0d6fa8d4afeab2e2e53b25d299bb9f Author: Andrew Burgess Date: Mon Dec 31 17:44:17 2018 +0000 gdb: Remove final cleanup from find_overload_match This patch removes the setup of a null_cleanup in valops.c:find_overload_match, and all the calls to do_cleanups. gdb/ChangeLog: * valops.c (find_overload_match): Remove use of null_cleanup, and calls to do_cleanups. commit 06d3e5b0046d69e3da3450d2eb07c29f0c1a189a Author: Andrew Burgess Date: Mon Dec 31 17:41:38 2018 +0000 gdb: Remove a cleanup from find_overload_match This patch changes cp-support.c:cp_func_name to return a 'gdb::unique_xmalloc_ptr' instead of a 'char *'. This allows a cleanup to be removed from valops.c:find_overload_match. gdb/ChangeLog: * compile/compile-cplus-types.c (compile_cplus_instance::decl_name): Handle changes to cp_func_name. * cp-support.c (cp_func_name): Update header comment, update return type. * cp-support.h (cp_func_name): Update return type in declaration. * valops.c (find_overload_match): Move temp_func local to top level of function and change its type. Use temp_func to hold and delete temporary string obtained from cp_func_name. commit 66644cd32ba63e7fda70e455766b438631ec0b61 Author: Andrew Burgess Date: Mon Dec 31 14:05:09 2018 +0000 gdb/remote: Remove a cleanup in remote_check_symbols Convert one of the variables that requires a cleanup from a 'char *' to a 'gdb::char_vector' in remote_target::remote_check_symbols. Tested on x86-64/Linux with target_board native-gdbserver and native-extended-gdbserver. gdb/ChangeLog: * remote.c (remote_target::remote_check_symbols): Convert `msg` to gdb::char_vector, remove cleanup, and update uses of `msg`. commit 592d8c0a5d193d3aad03437942a54a667477acea Author: Jim Wilson Date: Thu Jan 3 11:12:17 2019 -0800 RISC-V: Fix wrong use of s0 register name. s0 is listed as both an int register name and an FP register name. The FP reg name is wrong. This looks like a simple editting error, and has an easy fix. Tested with riscv64-linux build and check, with no regressions. gdb/ * riscv-tdep.c (riscv_freg_feature): Drop s0 name from f8. commit ef1ad42b8b5f2c43d74582d2e629841c39962c18 Author: John Darrington Date: Thu Jan 3 18:30:40 2019 +0100 S12Z: opcodes: Separate the decoding of operations from their display. This change adds an abstraction layer between the decoding of machine operations and their disassembled textual representation. This allows the decoding routines to be re-used for other purposes (at the expense) of slightly slower running time. ChangeLog: opcodes/ * s12z-opc.c: New file. * s12z-opc.h: New file. * s12z-dis.c: Removed all code not directly related to display of instructions. Used the interface provided by the new files instead. * Makefile.am (TARGET_LIBOPCODES_CFILES) Add s12z-opc.c. * Makefile.in: regenerate. * configure.ac (bfd_s12z_arch): Correct the dependencies. * configure: regenerate. commit 444b3faef5397eee5a06fe0e683d2ac3e6628fdc Author: Павел Крюков Date: Mon Dec 31 14:53:54 2018 +0300 Add 'extern C' if simulator is written in C++ sim/common/Changelog: 2018-12-31 Pavel I. Kryukov * sim-base.h: Add 'extern C' if header is compiled with C++ commit 69961a84c9b3744a10248fb6cbccc3c688a1e0a5 Author: Дилян Палаузов Date: Wed Dec 12 07:46:03 2018 +0000 Don't build readline/libreadline.a, when --with-system-readline is supplied https://sourceware.org/bugzilla/show_bug.cgi?id=18632 The bundled libreadline is always built, even if the system is ./configure'd --with-system-readline and the build libreadline.a is not used. Proposed patch: Fix ./configure.ac not to proceed readline/, when --with-system- readline is provided commit e8b1c9b397af0fdb3489a207a8d7d3fdcaefe7b5 Author: GDB Administrator Date: Thu Jan 3 00:00:34 2019 +0000 Automatic date update in version.in commit c55d06ec95961fadd9deeffae519ff0f20f237d3 Author: Tom Tromey Date: Wed Jan 2 08:03:13 2019 -0700 Remove a cleanup from target-descriptions.c This removes a cleanup from target-descriptions.c, by changing it to use a unique_ptr instead. Note that a deletion adapter is used, even though target_desc is allocated with new, to avoid moving target_desc to target-descriptions.h. gdb/ChangeLog 2019-01-02 Tom Tromey * xml-tdesc.c (xml_cache): Hold a target_desc_up. (tdesc_parse_xml): Remove cleanups. * target-descriptions.h (make_cleanup_free_target_description): Don't declare. (target_desc_deleter): New struct. (target_desc_up): New typedef. * target-descriptions.c (target_desc_deleter::operator()): Rename from free_target_description. (make_cleanup_free_target_description): Remove. commit 3a6ae42d4e4ecfd2441cf9b978b2a54ad6767cb7 Author: Tom Tromey Date: Wed Jan 2 09:17:43 2019 -0700 Remove cleanups from linespec.c This removes the remaining cleanups from linespec.c. This adds a constructor and destructor to linespec_parser, but in a minimal way -- the parser could still benefit from a bit more C++-ification. gdb/ChangeLog 2019-01-02 Tom Tromey * linespec.c (struct linespec_parser): Rename from ls_parser. Add constructor, destructor. (linespec_parser): Remove typedef. (~linespec_parser): Rename from linespec_parser_delete. (linespec_lex_to_end, linespec_complete_label) (linespec_complete): Update. (decode_line_full): Remove cleanups. (decode_line_1): Update. commit 61fd3e738919700c8d0fbb942519d72a767d90b1 Author: Tom Tromey Date: Wed Jan 2 09:58:14 2019 -0700 Change inferior_to_inferior_object to return a gdbpy_ref Most callers of inferior_to_inferior_object already use a gdbpy_ref, so this changes inferior_to_inferior_object to return one. Doing this revealed that create_thread_object was not correctly handling the case where inferior_to_inferior_object failed, so this patch fixes this as well. gdb/ChangeLog 2019-01-02 Tom Tromey * python/python-internal.h (inferior_to_inferior_object): Change return type. * python/py-exitedevent.c (create_exited_event_object): Update. * python/py-inferior.c (inferior_to_inferior_object): Return gdbpy_ref. (python_new_inferior, python_inferior_deleted) (thread_to_thread_object, delete_thread_object) (build_inferior_list, gdbpy_selected_inferior): Update. * python/py-infthread.c (create_thread_object): Update. Also fail if inferior_to_inferior_object fails. commit d20172fc53017cef12d64b21aa2fdac72072558c Author: Simon Marchi Date: Wed Jan 2 17:31:08 2019 -0500 Place displaced step data directly in inferior structure This patch moves the per-inferior data related to displaced stepping to be directly in the inferior structure, rather than in a container on the side. On notable difference is that previously, we deleted the state on inferior exit, which guaranteed a clean state if re-using the inferior for a new run or attach. We now need to reset the state manually. At the same time, I changed step_saved_copy to be a gdb::byte_vector, so it is automatically freed on destruction (which should plug the leak reported here [1]). [1] https://sourceware.org/ml/gdb-patches/2018-11/msg00202.html gdb/ChangeLog: * inferior.h (class inferior) : New field. * infrun.h (struct displaced_step_state): Move here from infrun.c. Initialize fields, add constructor. : Remove field. : New method. * infrun.c (struct displaced_step_inferior_state): Move to infrun.h. (displaced_step_inferior_states): Remove. (get_displaced_stepping_state): Adust. (displaced_step_in_progress_any_inferior): Adjust. (displaced_step_in_progress_thread): Adjust. (displaced_step_in_progress): Adjust. (add_displaced_stepping_state): Remove. (get_displaced_step_closure_by_addr): Adjust. (remove_displaced_stepping_state): Remove. (infrun_inferior_exit): Call displaced_step_state.reset. (use_displaced_stepping): Don't check for NULL. (displaced_step_prepare_throw): Call get_displaced_stepping_state. (displaced_step_fixup): Don't check for NULL. (prepare_for_detach): Don't check for NULL. commit e3319240732bc9543af8ced9d80ec89d0b629b2e Author: Philippe Waroquiers Date: Tue Jan 1 20:54:52 2019 +0100 Fix leak of struct call_thread_fsm in call_function_by_hand_dummy. When the call does not complete, the call_thread_fsm allocated by new_call_thread_fsm is not cleaned up and deleted, which causes the following leak e.g. in gdb.base/callfuncs.exp: ==29263== 560 bytes in 7 blocks are definitely lost in loss record 2,833 of 3,341 ==29263== at 0x4C2E0BC: calloc (vg_replace_malloc.c:762) ==29263== by 0x405110: xcalloc (common-utils.c:84) ==29263== by 0x4E67EB: xcnew (poison.h:122) ==29263== by 0x4E67EB: new_call_thread_fsm (infcall.c:516) ==29263== by 0x4E67EB: call_function_by_hand_dummy(value*, type*, gdb::array_view, void (*)(void*, int), void*) (infcall.c:1154) ==29263== by 0x4E784E: call_function_by_hand(value*, type*, gdb::array_view) (infcall.c:693) ==29263== by 0x496111: eval_call(expression*, noside, int, value**, char const*, type*) [clone .isra.5] (eval.c:835) Fix the leak by similarly doing cleanup/destroy when restoring previous state machine. Tested on debian/amd64, natively and under valgrind. 2019-01-02 Philippe Waroquiers * infcall.c (call_function_by_hand_dummy): cleanup/destroy sm in case of call that did not complete. commit 5d36dfb949751663bcb814b3cc780ed8f47442b4 Author: Andrey Utkin Date: Fri Nov 9 19:09:40 2018 +0000 Fix search of debug files for remote debuggee When using remote debugging server, and when debuggee filename is inferred via qXfer:exec-file:read request, or sysroot starts with "target:", this "target:" prefix of filepaths is not treated correctly during debug file search - it appears in the middle of the looked up paths. In the following example, unpatched GDB can't find separate debug files for neither the executable, nor standard libraries: $ gdb -ex 'set debug separate-debug-file 1' -ex 'set sysroot target:/' -ex 'set debug-file-directory /usr/lib/debug:/home/j/hide' -ex 'target remote :3333' -ex 'break main' -ex 'continue' -ex 'bt' -ex 'info sharedlibrary' -ex 'set confirm off' -ex 'quit' GNU gdb (Gentoo 9999 vanilla) 8.2.50.20181109-git Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-pc-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word". Remote debugging using :3333 Reading /home/j/test from remote target... warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead. Reading /home/j/test from remote target... Reading symbols from target:/home/j/test... Looking for separate debug info (debug link) for target:/home/j/test Trying target:/home/j/test.debug Reading /home/j/test.debug from remote target... Trying target:/home/j/.debug/test.debug Reading /home/j/.debug/test.debug from remote target... Trying /usr/lib/debug/target:/home/j/test.debug Trying /home/j/hide/target:/home/j/test.debug (No debugging symbols found in target:/home/j/test) Reading /lib64/ld-linux-x86-64.so.2 from remote target... Reading /lib64/ld-linux-x86-64.so.2 from remote target... Reading symbols from target:/lib64/ld-linux-x86-64.so.2... Looking for separate debug info (debug link) for target:/lib64/ld-linux-x86-64.so.2 Trying target:/lib64/ld-2.27.so.debug Reading /lib64/ld-2.27.so.debug from remote target... Trying target:/lib64/.debug/ld-2.27.so.debug Reading /lib64/.debug/ld-2.27.so.debug from remote target... Trying /usr/lib/debug/target:/lib64/ld-2.27.so.debug Trying /home/j/hide/target:/lib64/ld-2.27.so.debug (No debugging symbols found in target:/lib64/ld-linux-x86-64.so.2) Looking for separate debug info (build-id) for system-supplied DSO at 0x7ffff7ffa000 Trying /usr/lib/debug/.build-id/fd/03d584bc1a90ba28be457635a02662c9f9c1f2.debug Trying /home/j/hide/.build-id/fd/03d584bc1a90ba28be457635a02662c9f9c1f2.debug 0x00007ffff7dd7000 in ?? () from target:/lib64/ld-linux-x86-64.so.2 Breakpoint 1 at 0x4005eb Continuing. Reading /lib64/libpthread.so.0 from remote target... Reading /lib64/libc.so.6 from remote target... Looking for separate debug info (debug link) for target:/lib64/libpthread.so.0 Trying target:/lib64/libpthread-2.27.so.debug Reading /lib64/libpthread-2.27.so.debug from remote target... Trying target:/lib64/.debug/libpthread-2.27.so.debug Reading /lib64/.debug/libpthread-2.27.so.debug from remote target... Trying /usr/lib/debug/target:/lib64/libpthread-2.27.so.debug Trying /home/j/hide/target:/lib64/libpthread-2.27.so.debug Looking for separate debug info (debug link) for target:/lib64/libc.so.6 Trying target:/lib64/libc-2.27.so.debug Reading /lib64/libc-2.27.so.debug from remote target... Trying target:/lib64/.debug/libc-2.27.so.debug Reading /lib64/.debug/libc-2.27.so.debug from remote target... Trying /usr/lib/debug/target:/lib64/libc-2.27.so.debug Trying /home/j/hide/target:/lib64/libc-2.27.so.debug Breakpoint 1, 0x00000000004005eb in main () #0 0x00000000004005eb in main () From To Syms Read Shared Object Library 0x00007ffff7dd6e80 0x00007ffff7df4650 Yes (*) target:/lib64/ld-linux-x86-64.so.2 0x00007ffff7bbbb70 0x00007ffff7bcbfee Yes (*) target:/lib64/libpthread.so.0 0x00007ffff780f200 0x00007ffff7962d7c Yes (*) target:/lib64/libc.so.6 (*): Shared library is missing debugging information. With current fix, the paths used always have target: in the beginning and this helps to find all debug files: $ gdb -ex 'set debug separate-debug-file 1' -ex 'set sysroot target:/' -ex 'set debug-file-directory /usr/lib/debug:/home/j/hide' -ex 'target remote :3333' -ex 'break main' -ex 'continue' -ex 'bt' -ex 'info sharedlibrary' -ex 'set confirm off' -ex 'quit' GNU gdb (Gentoo 9999 vanilla) 8.2.50.20181109-git Copyright (C) 2018 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-pc-linux-gnu". Type "show configuration" for configuration details. For bug reporting instructions, please see: . Find the GDB manual and other documentation resources online at: . For help, type "help". Type "apropos word" to search for commands related to "word". Remote debugging using :3333 Reading /home/j/test from remote target... warning: File transfers from remote targets can be slow. Use "set sysroot" to access files locally instead. Reading /home/j/test from remote target... Reading symbols from target:/home/j/test... Looking for separate debug info (debug link) for target:/home/j/test Trying target:/home/j/test.debug Reading /home/j/test.debug from remote target... Trying target:/home/j/.debug/test.debug Reading /home/j/.debug/test.debug from remote target... Trying target:/usr/lib/debug//home/j/test.debug Reading /usr/lib/debug//home/j/test.debug from remote target... Trying target:/home/j/hide//home/j/test.debug Reading /home/j/hide//home/j/test.debug from remote target... Reading /home/j/hide//home/j/test.debug from remote target... Reading symbols from target:/home/j/hide//home/j/test.debug... Reading /lib64/ld-linux-x86-64.so.2 from remote target... Reading /lib64/ld-linux-x86-64.so.2 from remote target... Reading symbols from target:/lib64/ld-linux-x86-64.so.2... Looking for separate debug info (debug link) for target:/lib64/ld-linux-x86-64.so.2 Trying target:/lib64/ld-2.27.so.debug Reading /lib64/ld-2.27.so.debug from remote target... Trying target:/lib64/.debug/ld-2.27.so.debug Reading /lib64/.debug/ld-2.27.so.debug from remote target... Trying target:/usr/lib/debug//lib64/ld-2.27.so.debug Reading /usr/lib/debug//lib64/ld-2.27.so.debug from remote target... Reading /usr/lib/debug//lib64/ld-2.27.so.debug from remote target... Reading symbols from target:/usr/lib/debug//lib64/ld-2.27.so.debug... Looking for separate debug info (build-id) for system-supplied DSO at 0x7ffff7ffa000 Trying /usr/lib/debug/.build-id/fd/03d584bc1a90ba28be457635a02662c9f9c1f2.debug Trying /home/j/hide/.build-id/fd/03d584bc1a90ba28be457635a02662c9f9c1f2.debug 0x00007ffff7dd7000 in _start () from target:/lib64/ld-linux-x86-64.so.2 Breakpoint 1 at 0x4005ef: file test/test16.c, line 13. Continuing. Reading /lib64/libpthread.so.0 from remote target... Reading /lib64/libc.so.6 from remote target... Looking for separate debug info (debug link) for target:/lib64/libpthread.so.0 Trying target:/lib64/libpthread-2.27.so.debug Reading /lib64/libpthread-2.27.so.debug from remote target... Trying target:/lib64/.debug/libpthread-2.27.so.debug Reading /lib64/.debug/libpthread-2.27.so.debug from remote target... Trying target:/usr/lib/debug//lib64/libpthread-2.27.so.debug Reading /usr/lib/debug//lib64/libpthread-2.27.so.debug from remote target... Reading /usr/lib/debug//lib64/libpthread-2.27.so.debug from remote target... Looking for separate debug info (debug link) for target:/lib64/libc.so.6 Trying target:/lib64/libc-2.27.so.debug Reading /lib64/libc-2.27.so.debug from remote target... Trying target:/lib64/.debug/libc-2.27.so.debug Reading /lib64/.debug/libc-2.27.so.debug from remote target... Trying target:/usr/lib/debug//lib64/libc-2.27.so.debug Reading /usr/lib/debug//lib64/libc-2.27.so.debug from remote target... Reading /usr/lib/debug//lib64/libc-2.27.so.debug from remote target... Breakpoint 1, main () at test/test16.c:13 13 for ( i=0; i<10; ++i) #0 main () at test/test16.c:13 From To Syms Read Shared Object Library 0x00007ffff7dd6e80 0x00007ffff7df4650 Yes target:/lib64/ld-linux-x86-64.so.2 0x00007ffff7bbbb70 0x00007ffff7bcbfee Yes target:/lib64/libpthread.so.0 0x00007ffff780f200 0x00007ffff7962d7c Yes target:/lib64/libc.so.6 gdb/ChangeLog: 2018-11-09 Andrey Utkin * symfile.c (find_separate_debug_file): Fix search of debug files for remote debuggee. Signed-off-by: Andrey Utkin commit 8833fbf05c5b93fb3ccf666d5a3bd0e51e75d1bd Author: Tom Tromey Date: Wed Jan 2 09:30:49 2019 -0700 Style improvements in gdb/python This fixes a few minor style issues I found in gdb/python: some unnecessary casts, the removal of an unnecessary local variable, and one instance of incorrect formatting. Tested by rebuilding and re-running gdb.python. gdb/ChangeLog 2019-01-02 Tom Tromey * python/py-inferior.c (gdbpy_initialize_inferior): Fix indentation. * python/py-frame.c (frapy_older): Remove cast. (frapy_newer): Likewise. * python/py-breakpoint.c (local_setattro): Remove cast. * python/py-arch.c (archpy_name): Remove local variable. * python/py-type.c (gdbpy_lookup_type): Remove cast. commit 4ada3dfd5c07f0f1045a721a28fc905918ffbdfd Author: Joel Brobecker Date: Wed Jan 2 10:11:41 2019 +0400 Fix year range in unittests/.../char/empty.cc copyright header The year range in the copyright header of that file was incorrect: // Copyright (C) 3 Free Software Foundation, Inc. Tracing the origin of this file down, I found that it was copied from GCC's libstdc++-v3 testsuite: Adapt and integrate string_view tests https://www.sourceware.org/ml/gdb-patches/2018-04/msg00113.html Looking at the version in GCC, I found the same issue, so sent a fix there: https://gcc.gnu.org/ml/gcc-patches/2019-01/msg00000.html Now that the fix is in GCC, this commit applies the same fix to our copy. gdb/ChangeLog: * unittests/basic_string_view/element_access/char/empty.cc: Fix year range in copyright header. commit 502c64b9ac12cf2a35d3cb55c51e2eefd33a2494 Author: GDB Administrator Date: Wed Jan 2 00:00:16 2019 +0000 Automatic date update in version.in commit 113b7b8142427cf7a9ad85fbc39e1319b52649b5 Author: Andrew Burgess Date: Thu Dec 13 17:59:12 2018 +0000 gdb/riscv: Split ISA and ABI features The goal of this commit is to allow RV64 binaries compiled for the 'F' extension to run on a target that supports both the 'F' and 'D' extensions. The 'D' extension depends on the 'F' extension and chapter 9 of the RISC-V ISA manual implies that running a program compiled for 'F' on a 'D' target should be fine. To support this the gdbarch now holds two feature sets, one represents the features that are present on the target, and one represents the features requested in the ELF flags. The existing error checks are relaxed slightly to allow binaries compiled for 32-bit 'F' extension to run on targets with the 64-bit 'D' extension. A new set of functions called riscv_abi_{xlen,flen} are added to compliment the existing riscv_isa_{xlen,flen}, and some callers to the isa functions now call the abi functions when that is appropriate. In riscv_call_arg_struct two asserts are removed, these asserts no longer make sense. The asserts were both like this: gdb_assert (TYPE_LENGTH (ainfo->type) <= (cinfo->flen + cinfo->xlen)); And were made in two cases, when passing structures like these: struct { integer field1; float field2; }; or, struct { float field1; integer field2; }; When running on an RV64 target which only has 32-bit float then the integer field could be 64-bits, while if the float field is 32-bits the overall size of the structure can be 128-bits (with 32-bits of padding). In this case the assertion would fail, however, the code isn't incorrect, so its safe to just remove the assertion. This was tested by running on an RV64IMFDC target using a compiler configured for RV64IMFC, and comparing the results with those obtained when using a compiler configured for RV64IMFDC. The only regressions I see (now) are in gdb.base/store.exp and are related too different code generation choices GCC makes between the two targets. Finally, this commit does not make any attempt to support running binaries compiled for RV32 on an RV64 target, though nothing in here should prevent that being supported in the future. gdb/ChangeLog: * arch/riscv.h (struct riscv_gdbarch_features) : Delete. : Update with for removed field. : Likewise. * riscv-tdep.h (struct gdbarch_tdep) : Renamed to... : ...this. : New field. (riscv_isa_flen): Update comment. (riscv_abi_xlen): New declaration. (riscv_abi_flen): New declaration. * riscv-tdep.c (riscv_isa_xlen): Update to get answer from isa_features. (riscv_abi_xlen): New function. (riscv_isa_flen): Update to get answer from isa_features. (riscv_abi_flen): New function. (riscv_has_fp_abi): Update to get answer from abi_features. (riscv_call_info::riscv_call_info): Use abi xlen and flen, not isa xlen and flen. (riscv_call_info) : Update comment. (riscv_call_arg_struct): Remove invalid assertions (riscv_features_from_gdbarch_info): Update now hw_float_abi field is removed. (riscv_gdbarch_init): Gather isa features and abi features separately, ensure both match on the gdbarch when reusing an old gdbarch. Relax an error check to allow 32-bit abi float to run on a target with 64-bit float hardware. commit b18ca5148b837c878b64306be2b78b15fa730259 Author: Philippe Waroquiers Date: Tue Jan 1 15:45:09 2019 +0100 Fix 'Invalid read of size 4' in search_command_helper Valgrind detects the below error in gdb.base/list.exp. ==14763== Invalid read of size 4 ==14763== at 0x60B584: search_command_helper(char const*, int, bool) [clone .constprop.91] (source.c:1601) ==14763== by 0x408888: cmd_func(cmd_list_element*, char const*, int) (cli-decode.c:1892) ==14763== by 0x668550: execute_command(char const*, int) (top.c:630) ==14763== by 0x4B2F7B: command_handler(char const*) (event-top.c:583) ==14763== by 0x4B326C: command_line_handler(std::unique_ptr >&&) (event-top.c:772) ... ==14763== Address 0x6d9f09c is 4 bytes before a block of size 156 alloc'd ==14763== at 0x4C2E2B3: realloc (vg_replace_malloc.c:836) ==14763== by 0x41904C: xrealloc (common-utils.c:62) ==14763== by 0x60A300: find_source_lines(symtab*, int) (source.c:1203) ==14763== by 0x608219: source_cache::get_plain_source_lines(symtab*, int, int, std::__cxx11::basic_string, std::allocator >*) (source-cache.c:51) ==14763== by 0x60A46B: print_source_lines_base(symtab*, int, int, enum_flags) (source.c:1350) ==14763== by 0x404E2D: list_command(char const*, int) (cli-cmds.c:1080) .... Add the missing condition to end the loop once line 1 has been reversed-searched. gdb/ChangeLog 2019-01-01 Philippe Waroquiers * source.c (search_command_helper): Stop reverse search when line 1 has been searched. commit ec70d8db32462176e7da60d28b0c1978fc6b70d3 Author: Philippe Waroquiers Date: Tue Jan 1 14:12:30 2019 +0100 Fix leak in record-full.c valgrind detects leaks in several gdb.reverse tests, such as the below in gdb.reverse/watch-precsave.exp. Fix the leak by rewriting the loop that frees record_full_core_buf_list. gdb/ChangeLog 2019-01-01 Philippe Waroquiers * record-full.c (record_full_base_target::close): Rewrite record_full_core_buf_list free logic. ==18847== VALGRIND_GDB_ERROR_BEGIN ==18847== 4,120 (24 direct, 4,096 indirect) bytes in 1 blocks are definitely lost in loss record 3,094 of 3,199 ==18847== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309) ==18847== by 0x405097: xmalloc (common-utils.c:44) ==18847== by 0x5AF8EA: xnew (poison.h:110) ==18847== by 0x5AF8EA: record_full_core_target::xfer_partial(target_object, char const*, unsigned char*, unsigned char const*, unsigned long, unsigned long, unsigned long*) (record-full.c:2182) ==18847== by 0x64677D: raw_memory_xfer_partial(target_ops*, unsigned char*, unsigned char const*, unsigned long, long, unsigned long*) (target.c:956) ==18847== by 0x64691E: memory_xfer_partial_1(target_ops*, target_object, unsigned char*, unsigned char const*, unsigned long, unsigned long, unsigned long*) (target.c:1086) commit 5b38f9c16e5b3f5f4b5d7772bfef59b1c97e2d05 Author: Philippe Waroquiers Date: Mon Dec 31 18:07:26 2018 +0100 Fix leak in print_one_catch_syscall. The last text produced was not freed, causing the below leak (e.g. in gdb.base/catch-syscall.exp): ==24970== 56 bytes in 12 blocks are definitely lost in loss record 626 of 3,289 ==24970== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309) ==24970== by 0x66B9C3F: __vasprintf_chk (vasprintf_chk.c:80) ==24970== by 0x405181: vasprintf (stdio2.h:210) ==24970== by 0x405181: xstrvprintf(char const*, __va_list_tag*) (common-utils.c:122) ==24970== by 0x40524B: xstrprintf(char const*, ...) (common-utils.c:113) ==24970== by 0x3B49DB: print_one_catch_syscall(breakpoint*, bp_location**) (break-catch-syscall.c:275) ==24970== by 0x3C698F: print_one_breakpoint_location(breakpoint*, bp_location*, int, bp_location**, int) (breakpoint.c:6076) ==24970== by 0x3C75B1: print_one_breakpoint(breakpoint*, bp_location**, int) (breakpoint.c:6373) ==24970== by 0x3C7D0E: breakpoint_1(char const*, int, int (*)(breakpoint const*)) (breakpoint.c:6571) ==24970== by 0x3C822C: info_breakpoints_command(char const*, int) (breakpoint.c:6625) 2019-01-01 Philippe Waroquiers * break-catch-syscall.c (print_one_catch_syscall): xfree the last text. commit 827041555ac443bd57340060f3e034fd7b199dd8 Author: Alan Modra Date: Tue Jan 1 21:01:27 2019 +1030 Update year range in copyright notice of binutils files commit d5c04e1bf81c06ab5c30e69eb41b5cea9136a109 Author: Alan Modra Date: Tue Jan 1 21:23:15 2019 +1030 ChangeLog rotation commit 66d91b39089d606c9589673a7c5419cf37e7d639 Author: Joel Brobecker Date: Tue Jan 1 10:09:59 2019 +0400 update copyright year printed by gdb, gdbserver and gdbreplay gdb/ChangeLog: * top.c (print_gdb_version): Update Copyright year in version message. gdb/gdbserver/ChangeLog: * gdbreplay.c (gdbreplay_version): Update copyright year in version message. * server.c (gdbserver_version): Likewise. commit 42a4f53d2bf8938c2aeda9f52be7a20534b214a9 Author: Joel Brobecker Date: Tue Jan 1 10:01:51 2019 +0400 Update copyright year range in all GDB files. This commit applies all changes made after running the gdb/copyright.py script. Note that one file was flagged by the script, due to an invalid copyright header (gdb/unittests/basic_string_view/element_access/char/empty.cc). As the file was copied from GCC's libstdc++-v3 testsuite, this commit leaves this file untouched for the time being; a patch to fix the header was sent to gcc-patches first. gdb/ChangeLog: Update copyright year range in all GDB files. commit 5bbd631dca26b37b1cc7164d4499949826b8a102 Author: Joel Brobecker Date: Tue Jan 1 09:59:27 2019 +0400 rotate gdb/ChangeLog commit bba90696229e8d7d3a37f89159d91e0906357bbe Author: GDB Administrator Date: Tue Jan 1 00:00:27 2019 +0000 Automatic date update in version.in commit 2139e8dc9f8f11aacb3e4b697a3d554b28d50ee6 Author: Philippe Waroquiers Date: Sun Dec 30 20:41:49 2018 +0100 Use gdb::unique_xmalloc_ptr in command_line_input to fix a leak Following the change of logic where the input_handler gets a gdb::unique_xmalloc_ptr, a call to readline directly followed by a call to handle_line_of_input is missing a free, and causes the below leak. Use gdb::unique_xmalloc_ptr to solve the leak. ==16291== VALGRIND_GDB_ERROR_BEGIN ==16291== 64 bytes in 1 blocks are definitely lost in loss record 1,815 of 4,111 ==16291== at 0x4C2E2B3: realloc (vg_replace_malloc.c:836) ==16291== by 0x41EB1C: xrealloc (common-utils.c:62) ==16291== by 0x41DBD3: buffer_grow(buffer*, char const*, unsigned long) [clone .part.1] (buffer.c:40) ==16291== by 0x66E8FF: buffer_grow_char (buffer.h:40) ==16291== by 0x66E8FF: gdb_readline_no_editing (top.c:798) ==16291== by 0x66E8FF: command_line_input(char const*, char const*) (top.c:1249) ==16291== by 0x66EBD8: read_command_file(_IO_FILE*) (top.c:421) ==16291== by 0x412C0C: script_from_file(_IO_FILE*, char const*) (cli-script.c:1547) ==16291== by 0x40BE90: source_script_from_stream (cli-cmds.c:569) ==16291== by 0x40BE90: source_script_with_search(char const*, int, int) (cli-cmds.c:606) ==16291== by 0x54D567: catch_command_errors(void (*)(char const*, int), char const*, int) (main.c:379) ==16291== by 0x54EA84: captured_main_1 (main.c:994) ==16291== by 0x54EA84: captured_main (main.c:1167) ==16291== by 0x54EA84: gdb_main(captured_main_args*) (main.c:1193) ==16291== by 0x29DA27: main (gdb.c:32) ==16291== ==16291== VALGRIND_GDB_ERROR_END gdb/ChangeLog 2018-12-31 Philippe Waroquiers * top.c (command_line_input): Use unique_xmalloc_ptr to manage memory allocated by readline. commit 8fd04a4255376036e85c4e80d430b44ec4b06c64 Author: Alan Modra Date: Mon Dec 31 17:06:25 2018 +1030 PR24042, Global-buffer-overflow problem in output_rel_find place_orphan handled ELF SHT_REL/SHT_RELA specially, output_rel_find didn't. This mismatch was a bug and also meant it was possible to craft an object where ld accessed section->name out of bounds. PR 24042 * emultempl/elf32.em (output_rel_find): Drop "sec" param. Add "rela". (gld${EMULATION_NAME}_place_orphan): Use sh_type to calculate "rela" param of output_rel_find when ELF. Tidy uses of elfinput. commit 54025d5812ff100f5f0654eb7e1ffd50f2e37f5f Author: Alan Modra Date: Mon Dec 31 15:40:08 2018 +1030 PR24041, Invalid Memory Address Dereference in elf_link_add_object_symbols PR 24041 * elflink.c (elf_link_add_object_symbols): Don't segfault on crafted ET_DYN with no program headers. commit c96e057398b599a343cdff68325251346b71594e Author: Alan Modra Date: Mon Dec 31 12:11:42 2018 +1030 [PowerPC64] Nop out ld 2,24(1) after old-style __tls_get_addr When optimising inline plt calls to __tls_get_addr without tls marker relocs, ld should zap any toc restore insn after the bctrl, to stop a load-hit-store stall. * elf64-ppc.c (ppc64_elf_relocate_section ): When editing an old-style __tls_get_addr call, replace a toc restore insn with a nop. commit 17c885c61819650bc00790988e46d3d1d8801691 Author: GDB Administrator Date: Mon Dec 31 00:00:18 2018 +0000 Automatic date update in version.in commit 95bc9f0bf06637cf9c1147008ac32d6b00c42707 Author: Tom Tromey Date: Sat Dec 29 12:42:18 2018 -0700 Change input_handler to take a unique_xmalloc_ptr This changes ui::input_handler to take a unique_xmalloc_ptr. This clarifies the ownership transfer of input_handler's argument. gdb/ChangeLog 2018-12-30 Tom Tromey * event-top.h (command_line_handler): Update. * top.c (class gdb_readline_wrapper_cleanup) : Update. (gdb_readline_wrapper_line): Update. * top.h (struct ui) : Take a unique_xmalloc_ptr. (handle_line_of_input): Update. * event-top.c: Update. (gdb_readline_no_editing_callback): Update. (command_line_handler): Take a unique_xmalloc_ptr. (handle_line_of_input): Take a const char *. (command_line_append_input_line): Take a const char *. commit ecad3b215d34263968bb7c74701e3ca9483ac710 Author: Philippe Waroquiers Date: Sat Dec 29 14:21:31 2018 +0100 Fix 'help set/show style' strange layouts/results. The layout for 'help set address|variable' is strange, e.g.: (gdb) help set style address style address List of show Address display styling Configure address colors and display intensity subcommands: show Address display styling Configure address colors and display intensity background -- Set the background color for this property show Address display styling Configure address colors and display intensity foreground -- Set the foreground color for this property show Address display styling Configure address colors and display intensity intensity -- Set the display intensity color for this property Type "help show Address display styling Configure address colors and display intensity" followed by show Address display styling Configure address colors and display intensity subcommand name for full documentation. Type "apropos word" to search for commands related to "word". Command name abbreviations are allowed if unambiguous. (gdb) The help for 'set style function|filename' gives help for 'Show': (gdb) help set style filename Filename display styling Configure filename colors and display intensity. List of show style filename subcommands: show style filename background -- Set the background color for this property show style filename foreground -- Set the foreground color for this property show style filename intensity -- Set the display intensity color for this property The help for 'show style function|filename' is equally strange, as it speaks about commands, instead of sub commands: (gdb) help show style filename Filename display styling Configure filename colors and display intensity. List of commands: background -- Show the background color for this property foreground -- Show the foreground color for this property intensity -- Show the display intensity color for this property Type "help" followed by command name for full documentation. Type "apropos word" to search for commands related to "word". Command name abbreviations are allowed if unambiguous. (gdb) This patch fixes all this. Note that the 'set style' and 'show style' have the same prefix_doc: (gdb) help show style Style-specific settings Configure various style-related variables, such as colors ... (gdb) help set style Style-specific settings Configure various style-related variables, such as colors ... Other similar commands (such as set|show history) have typically a more specific prefix: (gdb) help show history Generic command for showing command history parameters. ... (gdb) help set history Generic command for setting command history parameters. ... This could be fixed by having set_prefix_doc and show_prefix_doc instead of the single prefix_doc argument to cli_style_option::add_setshow_commands. That could be improved if deemed better. 2018-12-29 Philippe Waroquiers * cli/cli-style.c (cli_style_option::add_setshow_commands): Initialize m_set_prefix with "set", instead of re-assigning m_show_prefix. Use m_set_prefix for set_list and m_show_prefix for show_list. (_initialize_cli_style): Correct the order of arguments in variable_name_style.add_setshow_commands and address_style.add_setshow_commands calls. commit f1d3b1665f4980c893b496e85906ce43917cc515 Author: GDB Administrator Date: Sun Dec 30 00:00:54 2018 +0000 Automatic date update in version.in commit 64c45143db4c550e19763edf97ca3441c78f9a05 Author: Tom Tromey Date: Fri Dec 28 21:07:24 2018 -0700 Fix the build when GNU Source Highlight is not available The builder pointed out that, when GNU Source Highlight is not available, get_language_name is not used. This patch makes it conditional, fixing the build problem. gdb/ChangeLog 2018-12-28 Tom Tromey * source-cache.c (get_language_name): Conditionally compile. commit f9f981e5f64c3941ccae45c7a2911898eeade5cf Author: GDB Administrator Date: Sat Dec 29 00:00:35 2018 +0000 Automatic date update in version.in commit 2cd8cc0b66ca297bce4d08e4f712f86d9f1a2fb6 Author: Tom Tromey Date: Wed Dec 19 11:44:28 2018 -0700 Fix a crash in jit.c A user at Mozilla pointed out a crash in jit.c. In his situation, an inferior using the JIT API exec'd an executable that did not use it. This caused an assertion failure when jit.c:free_objfile_data called delete_breakpoint with NULL. This patch fixes the problem in the obvious way. New test case included. gdb/ChangeLog 2018-12-28 Tom Tromey * jit.c (free_objfile_data): Only delete breakpoint if non-null. gdb/testsuite/ChangeLog 2018-12-28 Tom Tromey Simon Marchi * gdb.base/jit-exec.exp: New file. * gdb.base/jit-exec.c: New file. * gdb.base/jit-execd.c: New file. commit 140a4bc099820c909da0eac1df0f56ec468ad3dd Author: Tom Tromey Date: Mon Nov 26 16:19:17 2018 -0700 Document the "set style" commands This documents the new "set style" commands. gdb/ChangeLog 2018-12-28 Tom Tromey * NEWS: Mention terminal styling. gdb/doc/ChangeLog 2018-12-28 Tom Tromey * gdb.texinfo (Output Styling): New node. commit 62f29fda90cf1d5a1899f57ef78452471c707fd6 Author: Tom Tromey Date: Tue Oct 9 22:21:05 2018 -0600 Highlight source code using GNU Source Highlight This changes gdb to highlight source using GNU Source Highlight, if it is available. This affects the output of the "list" command and also the TUI source window. No new test because I didn't see a way to make it work when Source Highlight is not found. gdb/ChangeLog 2018-12-28 Tom Tromey * utils.h (can_emit_style_escape): Declare. * utils.c (can_emit_style_escape): No longer static. * cli/cli-style.c (set_style_enabled): New function. (_initialize_cli_style): Use it. * tui/tui-winsource.c (tui_show_source_line): Use tui_puts. (tui_alloc_source_buffer): Change how source lines are allocated. * tui/tui-source.c (copy_source_line): New function. (tui_set_source_content): Use source cache. * tui/tui-io.h (tui_puts): Update. * tui/tui-io.c (tui_puts_internal): Add window parameter. (tui_puts): Likewise. (tui_redisplay_readline): Update. * tui/tui-data.c (free_content_elements): Change how source window contents are freed. * source.c (forget_cached_source_info): Clear the source cache. (print_source_lines_base): Use the source cache. * source-cache.h: New file. * source-cache.c: New file. * configure.ac: Check for GNU Source Highlight library. * configure: Update. * config.in: Update. * Makefile.in (SRCHIGH_LIBS, SRCHIGH_CFLAGS): New variables. (INTERNAL_CFLAGS_BASE): Add SRCHIGH_CFLAGS. (CLIBS): Add SRCHIGH_LIBS. (COMMON_SFILES): Add source-cache.c. (HFILES_NO_SRCDIR): Add source-cache.h. commit 4a3045920bbe4e50a0f4920b0fdc4e88ef23015c Author: Tom Tromey Date: Tue Oct 9 14:16:07 2018 -0600 Use wclrtoeol in tui_show_source_line This changes tui_show_source_line to use wclrtoeol rather than manually emitting a sequence of spaces. gdb/ChangeLog 2018-12-28 Tom Tromey * tui/tui-winsource.c (tui_show_source_line): Use wclrtoeol. commit 1d1d0bf76f3bc3056a1456e53c066f40ca4d0837 Author: Tom Tromey Date: Mon Sep 3 12:42:59 2018 -0600 Make ANSI terminal escape sequences work in TUI PR tui/14126 notes that ANSI terminal escape sequences don't affect the colors shown in the TUI. A simple way to see this is to try the extended-prompt example from the gdb manual. Curses does not pass escape sequences through to the terminal. Instead, it replaces non-printable characters with a visible representation, for example "^[" for the ESC character. This patch fixes the problem by adding a simple ANSI terminal sequence parser to gdb. These sequences are decoded and those that are recognized are turned into the appropriate curses calls. The curses approach to color handling is unusual and so there are some oddities in the implementation. Standard curses has no notion of the default colors of the terminal. So, if you set the foreground color, it is not possible to reset it -- you have to pick some other color. ncurses provides an extension to handle this, so this patch updates configure and uses it when available. Second, in curses, colors always come in pairs: you cannot set just the foreground. This patch handles this by tracking actually-used pairs of colors and keeping a table of these for reuse. Third, there are a limited number of such pairs available. In this patch, if you try to use too many color combinations, gdb will just ignore some color changes. Finally, in addition to limiting the number of color pairs, curses also limits the number of colors. This means that, when using extended 8- or 24-bit color sequences, it may be possible to exhaust the curses color table. I am very sour on the curses design now. I do not know how to write a test for this, so I did not. gdb/ChangeLog 2018-12-28 Tom Tromey PR tui/14126: * tui/tui.c (tui_enable): Call start_color and use_default_colors. * tui/tui-io.c (struct color_pair): New. (color_pair_map, last_color_pair, last_style): New globals. (tui_setup_io): Clean up color map when shutting down. (curses_colors): New constant. (get_color_pair, apply_ansi_escape): New functions. (tui_write): Rewrite. (tui_puts_internal): New function, from tui_puts. Add "height" parameter. (tui_puts): Use tui_puts_internal. (tui_redisplay_readline): Use tui_puts_internal. (_initialize_tui_io): New function. (color_map): New globals. (get_color): New function. * configure.ac: Check for use_default_colors. * config.in, configure: Rebuild. commit 35fb8261b95c07e548a0b03f60b6c2cebf83caf8 Author: Tom Tromey Date: Fri Oct 19 16:22:35 2018 -0600 Style addresses This changes gdb to style addresses. gdb/ChangeLog 2018-12-28 Tom Tromey * ui-out.h (enum class ui_out_style_kind)
: New constant. * ui-out.c (ui_out::field_core_addr): Add styling. * stack.c (print_frame): Add styling. * printcmd.c (print_address): Add styling. (print_address_demangle, info_address_command): Likewise. * cli/cli-style.h (address_style): Declare. * cli/cli-style.c (address_style): New global. (_initialize_cli_style): Register new commands. * cli-out.c (cli_ui_out::do_field_string): Update. gdb/testsuite/ChangeLog 2018-12-28 Tom Tromey * gdb.base/style.exp: Update test to check for address styling. commit 47fd17cdc14a0d295a2cbdc02eff144e3fb4e900 Author: Tom Tromey Date: Thu Sep 6 14:49:39 2018 -0600 Style the "Reading symbols" message The "Reading symbols" message does not use ui-out (perhaps it should?), so this styles it using the low-level API. gdb/ChangeLog 2018-12-28 Tom Tromey * symfile.c (symbol_file_add_with_addrs): Style file name. gdb/testsuite/ChangeLog 2018-12-28 Tom Tromey * gdb.base/style.exp: Add test for styling of "Reading symbols" message. commit d47032b7ca85852acb1d2bc645f477ffee4373fc Author: Tom Tromey Date: Thu Sep 6 14:44:17 2018 -0600 Style the gdb welcome message This changes gdb to style the welcome message that is shown by default. The styling is only done interactively. gdb/ChangeLog 2018-12-28 Tom Tromey * top.c (print_gdb_version): Style gdb version number. gdb/testsuite/ChangeLog 2018-12-28 Tom Tromey * gdb.base/style.exp: Add test for version number styling. commit af79b68d7f935799c956b1a40e92a167385b5380 Author: Tom Tromey Date: Wed Sep 5 23:39:34 2018 -0600 Style print_address_symbolic print_address_symbolic does not use ui-out, so it did not style function names. This patch changes it to use the low-level style code directly. gdb/ChangeLog 2018-12-28 Tom Tromey * printcmd.c (print_address_symbolic): Style function name. gdb/testsuite/ChangeLog 2018-12-28 Tom Tromey * gdb.base/style.exp: Add test for print_address_symbolic. commit 0bb296cb5f3a81b4b5e702208aad911d3b727f8b Author: Tom Tromey Date: Wed Sep 5 23:32:16 2018 -0600 Style locations when setting a breakpoint say_where does not use ui-out, so function and file names printed by it were not styled. This patch changes say_where to use the low-level style code directly. gdb/ChangeLog 2018-12-28 Tom Tromey * breakpoint.c (say_where): Style file name. gdb/testsuite/ChangeLog 2018-12-28 Tom Tromey * gdb.base/style.exp: Add test for breakpoint setting. commit 80ae204359b707f2914132ed353d3cecbdb58b23 Author: Tom Tromey Date: Wed Sep 5 12:12:19 2018 -0600 Style variable names This adds style support for variable names. For the time being, this is only done in backtraces, not in ptype or print; those places do not use ui-out and so would need ad hoc changes. This also adds styling to the names printed for local variables in "backtrace full". This code does not use ui-out, so the styling is done using the low-level API. gdb/ChangeLog 2018-12-28 Tom Tromey * ui-out.h (enum class ui_out_style_kind) : New global. * stack.c (print_frame_arg): Style name. * printcmd.c (print_variable_and_value): Style variable name. * cli/cli-style.h (variable_name_style): Declare. * cli/cli-style.c (variable_name_style): New global. (_initialize_cli_style): Update. * cli-out.c (cli_ui_out::do_field_string): Update. gdb/testsuite/ChangeLog 2018-12-28 Tom Tromey * gdb.base/style.exp: Add test for variable names. commit ef1dfa3644f02efffa11d718fe5788c05177587b Author: Tom Tromey Date: Sat Nov 17 11:49:25 2018 -0700 Reset terminal styles This adds a function that can be used to reset terminal styles, regardless of what style the low-level output routines currently think is applied. This is used to make "echo" and "printf" work properly when emitting ANSI terminal escapes -- now gdb will reset the style at the end of the command. gdb/ChangeLog 2018-12-28 Tom Tromey * utils.h (reset_terminal_style): Declare. * utils.c (can_emit_style_escape): New function. (set_output_style): Use it. (reset_terminal_style): New function. * printcmd.c (printf_command): Call reset_terminal_style. * cli/cli-cmds.c (echo_command): Call reset_terminal_style. commit cbe5657196d0d3acbeca39973f93f333ecedacda Author: Tom Tromey Date: Mon Sep 3 22:56:33 2018 -0600 Add output styles to gdb This adds some output styling to the CLI. A style is currently a foreground color, a background color, and an intensity (dim or bold). (This list could be expanded depending on terminal capabilities.) A style can be applied while printing. For ui-out, this is done by passing the style constant as an argument. For low-level cases, fprintf_styled and fputs_styled are provided. Users can control the style via a number of new set/show commands. In the interest of not typing many nearly-identical documentation strings, I automated this. On the down side, this is not very i18n-friendly. I've chose some default colors to use. I think it would be good to enable this by default, so that when users start the new gdb, they will see the new feature. Stylizing is done if TERM is set and is not "dumb". This could be improved when the TUI is available by using the curses has_colors call. That is, the lowest layer could call this without committing to using curses everywhere; see my other patch for TUI colorizing. I considered adding a new "set_style" method to ui_file. However, because the implementation had to interact with the pager code, I didn't take this approach. But, one idea might be to put the isatty check there and then have it defer to the lower layers. gdb/ChangeLog 2018-12-28 Tom Tromey * utils.h (set_output_style, fprintf_styled) (fputs_styled): Declare. * utils.c (applied_style, desired_style): New globals. (emit_style_escape, set_output_style): New function. (prompt_for_continue): Emit style escapes. (fputs_maybe_filtered): Likewise. (fputs_styled, fprintf_styled): New functions. * ui-out.h (enum class ui_out_style_kind): New. (class ui_out) : Add style parameter. * ui-out.c (ui_out::field_stream, ui_out::field_string): Add style parameter. * tui/tui-out.h (class tui_ui_out) : Add style parameter. * tui/tui-out.c (tui_ui_out::do_field_string): Add style parameter. (tui_ui_out::do_field_string): Update. * tracepoint.c (print_one_static_tracepoint_marker): Style output. * stack.c (print_frame_info, print_frame): Style output. * source.c (print_source_lines_base): Style output. * skip.c (info_skip_command): Style output. * record-btrace.c (btrace_call_history_src_line): Style output. (btrace_call_history): Likewise. * python/py-framefilter.c (py_print_frame): Style output. * mi/mi-out.h (class mi_ui_out) : Add style parameter. * mi/mi-out.c (mi_ui_out::do_table_header) (mi_ui_out::do_field_int): Update. (mi_ui_out::do_field_string): Update. * disasm.c (gdb_pretty_print_disassembler::pretty_print_insn): Style output. * cli/cli-style.h: New file. * cli/cli-style.c: New file. * cli-out.h (class cli_ui_out) : Add style parameter. * cli-out.c (cli_ui_out::do_table_header) (cli_ui_out::do_field_int, cli_ui_out::do_field_skip): Update. (cli_ui_out::do_field_string): Add style parameter. Style the output. * breakpoint.c (print_breakpoint_location): Style output. (update_static_tracepoint): Likewise. * Makefile.in (SUBDIR_CLI_SRCS): Add cli-style.c. (HFILES_NO_SRCDIR): Add cli-style.h. gdb/testsuite/ChangeLog 2018-12-28 Tom Tromey * gdb.base/style.exp: New file. * gdb.base/style.c: New file. commit 9162a27c5f5828240b53379d735679e2a69a9f41 Author: Tom Tromey Date: Tue Nov 13 11:59:03 2018 -0700 Change gdb test suite's TERM setting This changes the gdb test suite to set TERM to "dumb" by default. This setting disables terminal styling, so that the existing tests do not need to be updated. gdb/testsuite/ChangeLog 2018-12-28 Tom Tromey * lib/gdb.exp (gdb_init): Set the TERM environment variable to "dumb". * gdb.base/readline.exp (operate_and_get_next): Save and restore the TERM environment variable. commit eedeedd2a50d121af466ddfa9e897212defbf079 Author: Tom Tromey Date: Fri Nov 9 17:29:50 2018 -0700 Introduce ui_file_style This introduces the new ui_file_style class and various helpers. This class represents a terminal style and provides methods for parsing and emitting the corresponding ANSI terminal escape sequences. gdb/ChangeLog 2018-12-28 Tom Tromey * unittests/style-selftests.c: New file. * ui-style.c: New file. * ui-style.h: New file. * ui-file.h: Include ui-style.h. * Makefile.in (COMMON_SFILES): Add ui-style.c. (HFILES_NO_SRCDIR): Add ui-style.h. (SUBDIR_UNITTESTS_SRCS): Add style-selftests.c. commit 7170dadf5950e1444ab09cdfc4e07dd2698fc275 Author: Tom Tromey Date: Thu Sep 6 14:03:38 2018 -0600 Add a "context" argument to add_setshow_enum_cmd This adds a "context" argument to add_setshow_enum_cmd. Now add_setshow_enum_cmd will call set_cmd_context on both of the new commands. This is used in a later patch. gdb/ChangeLog 2018-12-28 Tom Tromey * command.h (add_setshow_enum_cmd): Add "context" argument. * cli/cli-decode.c (add_setshow_enum_cmd): Add "context" argument. Call set_cmd_context. commit c5603d506350cca3b1af7ba3a97bf05adeea0508 Author: Tom Tromey Date: Wed Sep 5 11:25:28 2018 -0600 Change wrap buffering to use a std::string Currently wrap buffering is implemented by allocating a string that is the same width as the window, and then writing characters into it. However, if gdb emits terminal escapes, then these could possibly overflow the buffer. To prevent this, change the wrap buffer to be a std::string and update the various uses. This also changes utils.c to always emit characters to the wrap buffer. This simplifies future patches which emit terminal escape sequences, and also makes it possible for the "echo" and "printf" commands to be used to emit terminal escapes and have these work in the TUI. gdb/ChangeLog 2018-12-28 Tom Tromey * utils.c (filter_initialized): New global. (wrap_buffer): Now a std::string. (wrap_pointer): Remove. (flush_wrap_buffer): New function. (filtered_printing_initialized, set_width, wrap_here) (fputs_maybe_filtered): Update. commit 94f2c73066597f33933bef2d20bdbfbf6fcd8b69 Author: Philippe Waroquiers Date: Fri Dec 28 12:19:59 2018 +0100 Fix leak of set/show verbose doc, avoid xfree of static string In the tests py-pp-registration/gdb.log default/gdb.log foll-fork/gdb.log setshow/gdb.log break-interp/gdb.log Valgrind detects a leak of the doc strings for the set and show verbose cmd. Here is the stacktrace of the leaked set doc: ==25548== 15 bytes in 1 blocks are definitely lost in loss record 101 of 3,120 ==25548== at 0x4C2BE6D: malloc (vg_replace_malloc.c:309) ==25548== by 0x409C27: xmalloc (common-utils.c:44) ==25548== by 0x778AF9: xstrdup (xstrdup.c:34) ==25548== by 0x3F860F: add_setshow_cmd_full(char const*, command_class, var_types, void*, char const*, char const*, char const*, void (*)(char const*, int, cmd_list_element*), void (*)(ui_file*, int, cmd_list_element*, char const*), cmd_list_element**, cmd_list_element**, cmd_list_element**, cmd_list_element**) [clone .constprop.10] (cli-decode.c:495) ==25548== by 0x3F8ADB: add_setshow_boolean_cmd(char const*, command_class, int*, char const*, char const*, char const*, void (*)(char const*, int, cmd_list_element*), void (*)(ui_file*, int, cmd_list_element*, char const*), cmd_list_element**, cmd_list_element**) (cli-decode.c:593) ==25548== by 0x3F7442: _initialize_cli_cmds() (cli-cmds.c:1768) ==25548== by 0x69EED3: initialize_all_files() (init.c:365) ==25548== by 0x658A84: gdb_init(char*) (top.c:2163) ==25548== by 0x5403E1: captured_main_1 (main.c:863) ==25548== by 0x5403E1: captured_main (main.c:1167) ==25548== by 0x5403E1: gdb_main(captured_main_args*) (main.c:1193) ==25548== by 0x289CA7: main (gdb.c:32) The leak is created by top.c set_verbose 'elaborate joke': the doc string is changed according to the verbosity: (gdb) help set verbose Set verbosity. (gdb) set verbose on (gdb) help set verbose Set verbose printing of informational messages. (gdb) set_verbose creates the leak as it replaces the string allocated in the above stacktrace by a static (non translated) string: ... if (info_verbose) { c->doc = "Set verbose printing of informational messages."; ... Also, this can possibly trigger a call to 'free' of a static string, as c->doc_allocated is kept true, while the string is not allocated anymore. This patch: * fixes the leak by freeing the previous docs if doc_allocated. * internationalize the messages. * properly sets doc_allocated to 0 once doc strings are static. gdb/ChangeLog 2018-12-28 Philippe Waroquiers * top.c (set_verbose): Free previous docs if doc_allocated. Internationalize messages. Set doc_allocated to 0. commit 156f23669270533e1499e15e49842468800c2681 Author: Eli Zaretskii Date: Fri Dec 28 09:02:04 2018 +0200 Avoid internal errors when stepping outside 'main' on MinGW When one steps with "next" past the 'main's 'return' statement in MinGW programs built by mingw.org's tools, PC lands in a function whose symbol is not in any symtab. GDB then looks up the nearest symbol, and should find none, because all those with addresses below PC are not real functions. Having unresolved symbols, whose address is zero, in minsyms tricked GDB into using these bogus symbols, which then caused assertion violation and internal_error. See the discussion at https://sourceware.org/ml/gdb-patches/2018-12/msg00176.html for more details. gdb/ChangeLog 2018-12-28 Eli Zaretskii * coffread.c (coff_symtab_read): Don't record in minsyms symbols that are unresolved. This avoids triggering an internal error when stepping outside of 'main' in MinGW programs. commit 0e41bebb938dbe9eae7063f5321429194bfc5ab7 Author: Alan Modra Date: Fri Dec 28 09:41:44 2018 +1030 PR24015, glibc-2.28 on little-endian mips32 broken Commit 2bf2bf23da exposed a bug on targets that create common sections other than the standard ELF SHN_COMMON. If these are output by ld -r, then their type becomes SHT_PROGBITS unless the target handles them specially (eg. by elf_backend_special_sections), and if they are merged into .bss/.sbss by ld -r then that section becomes SHT_PROGBITS. Worse, if they are output by ld -r, then their size is increased by bfd_generic_define_common_symbol during final link, which leads to bogus file contents being copied to output. For mips, it seems to me that the .scommon section should not be output for ld -r, but I haven't made that change in this patch. PR 24015 * elf.c (bfd_elf_get_default_section_type): Make common sections SHT_NOBITS. * linker.c (bfd_generic_define_common_symbol): Clear SEC_HAS_CONTENTS. commit cb87d9f1a49986b2eb92ac381444f4cc7c9d8a4f Author: Alan Modra Date: Fri Dec 28 09:34:28 2018 +1030 PR23966, mingw failure due to 32-bit long PR 23966 * libbfd.c (SSIZE_MAX): Define. (bfd_malloc, bfd_realloc): Don't cast size to long to check for "negative" values, compare against SSIZE_MAX instead. commit d1a3c973fa1c0d7eead585e82e02db11daeb36cf Author: Alan Modra Date: Fri Dec 28 09:31:42 2018 +1030 PR24028, PPC_INT_FMT PPC_INT_FMT is redundant now that bfd.h pulls in inttypes.h if available. Apparently MacOS Mojave defines int64_t as long long even though long is also 64 bits, which confuses the logic selecting PPC_INT_FMT (and BFD_PRI64 too). Hopefully inttypes.h is available on Mojave. PR 24028 include/ * opcode/ppc.h (PPC_INT_FMT): Delete. opcodes/ * ppc-dis.c (print_insn_powerpc): Replace PPC_INT_FMT uses with PRId64/PRIx64. commit b6d3efdc59c84f418e2d7e1a1dfbc5ff33f44ae5 Author: GDB Administrator Date: Fri Dec 28 00:00:22 2018 +0000 Automatic date update in version.in commit bc543c902f9891f732be68817e16ff379b69566e Author: Tom Tromey Date: Tue Dec 25 12:38:01 2018 -0700 Translate PyExc_KeyboardInterrupt to gdb "quit" A while back I typed "info pretty-printers" with a large number of printers installed, and I typed "q" to stop the pagination. I noticed that gdb printed a Python exception in this case. It seems to me that, instead, quitting pagination (or control-c'ing a Python command generally) should be handled the same way that gdb normally handles a quit. This patch implements this idea by changing gdbpy_handle_exception to treat PyExc_KeyboardInterrupt specially. gdb/ChangeLog 2018-12-27 Tom Tromey * python/py-utils.c (gdbpy_handle_exception): Translate PyExc_KeyboardInterrupt to quit. gdb/testsuite/ChangeLog 2018-12-27 Tom Tromey * gdb.python/py-cmd.exp (test_python_inline_or_multiline): Add pagination test. commit 6ef2312a177ebdfa841e82b515c144975073a501 Author: Tom Tromey Date: Tue Dec 25 11:44:58 2018 -0700 Consolidate some Python exception-printing functions A few places in the Python code would either call gdbpy_print_stack, or throw a gdb "quit", depending on the pending exception. This patch consolidates these into a helper function. gdb/ChangeLog 2018-12-27 Tom Tromey * python/python-internal.h (gdbpy_print_stack_or_quit): Declare. * python/py-unwind.c (pyuw_sniffer): Use gdbpy_print_stack_or_quit. * python/py-framefilter.c (throw_quit_or_print_exception): Remove. (gdbpy_apply_frame_filter): Use gdbpy_print_stack_or_quit. * python/python.c (gdbpy_print_stack_or_quit): New function. commit ec9c2750b7bab8a55aaf7d2386e809d4e81deb03 Author: Tom Tromey Date: Tue Dec 25 11:00:21 2018 -0700 Use gdbpy_convert_exception in a few more spots I noticed a few places were converting a gdb exception to a Python exception "by hand". It's better to use the existing gdbpy_convert_exception helper function, as this handles memory errors correctly, and in the future may be enhanced in other ways. gdb/ChangeLog 2018-12-27 Tom Tromey * python/py-value.c (convert_value_from_python): Use gdbpy_convert_exception. * python/py-param.c (parmpy_init): Use gdbpy_convert_exception. * python/py-cmd.c (cmdpy_init): Use gdbpy_convert_exception. * python/py-breakpoint.c (bppy_init): Use gdbpy_convert_exception. commit 6987262214a204ea3ab857d86a1faf9f4e66f211 Author: Tom Tromey Date: Mon Dec 24 12:01:34 2018 -0700 Build gdb "nat" files in subdirectory This moves the various "nat" object files into the nat/ subdirectory. This allows for the removal of a pattern rule from the gdb Makefile, which is a small cleanup. I made the configure.nat change in a (semi-) automated way, hopefully meaning that it is more likely to be correct than had I done it by hand. Eventually I would like for the various configure scripts to only mention source files, and let the Makefile compute the object file names. gdb/ChangeLog 2018-12-27 Tom Tromey * configure.nat (NATDEPFILES): Use nat/ prefix. * Makefile.in (CONFIG_SRC_SUBDIR): Add nat. (%.o: ${srcdir}/nat/%.c): Remove rule. (INIT_FILES): Do not filter out NATDEPFILES. commit b180d0a254034c14fd540c1b57391bb413f788f7 Author: Tom Tromey Date: Mon Dec 24 11:44:10 2018 -0700 Make init.c depend on source files I noticed that init.c depends on the object files that go into gdb. Because init.c actually only requires the contents of the corresponding source files, this unnecessarily serializes the step that builds init.c. This patch changes gdb's Makefile to make init.c depend on the source files. This also simplifies the rule to build init.c. gdb/ChangeLog 2018-12-27 Tom Tromey * Makefile.in (INIT_FILES): Redefine. (stamp-init): Remove sed, tr invocations. Use for loop. Don't set LANG or LC_ALL. commit c88c222e3c01e3f936455dca59f486e310d12f69 Author: Tom Tromey Date: Mon Dec 24 10:07:51 2018 -0700 Remove gdbtypes special case from init.c rule The rule to make init.c has a special case for gdbtypes, with a long explanatory comment. All of this is obsolete, as the globals referred to by the comment no longer exist. This patch simplifies the rule. gdb/ChangeLog 2018-12-27 Tom Tromey * Makefile.in (stamp-init): Remove gdbtypes special case. commit 47db57fd4ea9379c356c326458691f5cdc64c72b Author: John Baldwin Date: Thu Dec 27 11:42:32 2018 -0800 Remove empty nm-fbsd.h header for FreeBSD/i386 native target. gdb/ChangeLog: * config/i386/nm-fbsd.h: Remove file. * Makefile.in (HFILES_NO_SRCDIR): Remove config/i386/nm-fbsd.h. * configure.nat: Remove NAT_FILE for FreeBSD/i386. commit af9a216102c27e308e338f77b6f9ad78dd0d2c09 Author: Tom Tromey Date: Thu Dec 27 12:29:48 2018 -0700 Use DISABLE_COPY_AND_ASSIGN in minimal_symbol_reader This changes minimal_symbol_reader to use DISABLE_COPY_AND_ASSIGN, rather than the manual approach it currently uses. Tested by rebuilding. gdb/ChangeLog 2018-12-27 Tom Tromey * minsyms.h (class minimal_symbol_reader): Use DISABLE_COPY_AND_ASSIGN. commit 075c55e0cc0a68eeab777027213c2f545618e844 Author: Tom Tromey Date: Wed Dec 26 11:05:57 2018 -0700 Remove more calls to xfree from Python This changes the Python code to remove some more calls to xfree, in favor of self-managing data structures. Tested on x86-64 Fedora 28. gdb/ChangeLog 2018-12-27 Tom Tromey * python/python.c (python_interactive_command): Use std::string. (gdbpy_parameter): Likewise. * python/py-utils.c (unicode_to_encoded_string): Update comment. * python/py-symtab.c (salpy_str): Use PyString_FromFormat. * python/py-record-btrace.c (recpy_bt_insn_data): Use byte_vector. * python/py-objfile.c (objfpy_get_build_id): Use unique_xmalloc_ptr. * python/py-inferior.c (infpy_read_memory): Use unique_xmalloc_ptr. * python/py-cmd.c (gdbpy_parse_command_name): Use std::string. commit 293bf1a719e88e063e75ae467c5aec101b59fbf6 Author: Philippe Waroquiers Date: Wed Dec 26 14:33:10 2018 +0100 Fix gdb.ada/fun_renaming.exp by using more unique names. The test fails due to conflict between var 'next' and s-pooloc.adb next: (gdb) print next(1) Multiple matches for next [0] cancel [1] pack.next (integer) return integer at /bd/home/philippe/gdb/git/binutils-gdb/gdb/testsuite/gdb.ada/fun_renaming/pack.adb:19 [2] system.pool_local.next (system.address) return system.pool_local.acc_address at s-pooloc.adb:151 > FAIL: gdb.ada/fun_renaming.exp: print next(1) (timeout) Fix by making the names and renamings more unique. gdb/testsuite/ChangeLog 2018-12-26 Philippe Waroquiers * gdb.ada/fun_renaming/pack.ads (Next): Rename to Fun_Rename_Test_Next. (Renamed_Next): Rename to Renamed_Fun_Rename_Test_Next. gdb.ada/fun_renaming/pack.adb (Next): Rename to Fun_Rename_Test_Next. gdb.ada/fun_renaming/fun_renaming.adb (N): Rename to Fun_Rename_Test_N. gdb.ada/fun_renaming.exp: Update accordingly. commit 3cf139964eb2e2d3008174aa3d446797fce31240 Author: Philippe Waroquiers Date: Wed Dec 26 14:29:51 2018 +0100 Fix gdb.ada/assign_arr.exp by using more unique names. The test fails (timeout) due to conflict between var 'input' and s-ststop.adb 'input': (gdb) print input.u2 := (0.25,0.5,0.75) Multiple matches for input [0] cancel [1] system.strings.stream_ops.storage_array_ops.input (access ada.streams.root_stream_type; system.strings.stream_ops.io_kind; natural) return system.storage_elements.storage_array at s-ststop.adb:127 [2] system.strings.stream_ops.stream_element_array_ops.input (access ada.streams.root_stream_type; system.strings.stream_ops.io_kind; natural) return ada.streams.stream_element_array at s-ststop.adb:127 [3] system.strings.stream_ops.string_ops.input (access ada.streams.root_stream_type; system.strings.stream_ops.io_kind; natural) return string at s-ststop.adb:127 [4] system.strings.stream_ops.wide_string_ops.input (access ada.streams.root_stream_type; system.strings.stream_ops.io_kind; natural) return wide_string at s-ststop.adb:127 [5] system.strings.stream_ops.wide_wide_string_ops.input (access ada.streams.root_stream_type; system.strings.stream_ops.io_kind; natural) return wide_wide_string at s-ststop.adb:127 [6] target_wrapper.input at /bd/home/philippe/gdb/git/info_t/gdb/testsuite/gdb.ada/assign_arr/target_wrapper.ads:24 > FAIL: gdb.ada/assign_arr.exp: print input.u2 := (0.25,0.5,0.75) (timeout) gdb/testsuite/ChangeLog 2018-12-26 Philippe Waroquiers * gdb.ada/assign_arr/target_wrapper.ads (Input): Rename to Assign_Arr_Input. main_p324_051.adb: Update accordingly. gdb.ada/assign_arr.exp: Likewise. commit afcfda091e15beb9580398709235c1866a4c79e1 Author: Philippe Waroquiers Date: Wed Dec 26 14:25:46 2018 +0100 Improve gdb.ada/rename_subscript_param.exp by using more unique names. With old compilers, the test fails because no debug info is generated for 'B' and GDB finds some 'b' in atnat.h: (gdb) print b Multiple matches for b [0] cancel [1] b at ../sysdeps/ieee754/dbl-64/atnat.h:106 [2] b at ../sysdeps/ieee754/dbl-64/atnat.h:106 [3] b at ../sysdeps/ieee754/dbl-64/atnat.h:106 > FAIL: gdb.ada/rename_subscript_param.exp: print b before changing its value (timeout) Avoid the timeout by renaming 'b' to rename_subscript_param_b. Also, change 'before' to 'after' in the gdb_test message that prints the value after changing it. The test still fails with old compilers that do not properly generate debug info for this renaming: (gdb) print rename_subscript_param_b No definition of "rename_subscript_param_b" in current context. (gdb) FAIL: gdb.ada/rename_subscript_param.exp: print rename_subscript_param_b before changing its value Note: if the compiler would generate the correct debug info, the test should succeed with the name B. However, waiting for this fix, changing the name ensures that the test fails directly, instead of causing a timeout. 2018-12-26 Philippe Waroquiers PR ada/23381 * gdb.ada/rename_subscript_param/pkg.adb (B): Rename to Rename_Subscript_Param_B. All users updated. gdb.ada/rename_subscript_param.exp: Test names made unique. Note that PR ada/23381 is only fully fixed when using a recent compiler. commit 2ab54467f89763c96e2e9bda876eee1f9c8561b1 Author: Philippe Waroquiers Date: Wed Dec 26 14:19:00 2018 +0100 Fix gdb.ada/packed_array_assign.exp by using more unique names. The test gdb.ada/packed_array_assign fails due to conflict between component 'w' and system.dim.mks.w: (gdb) print pra := ((x => 2, y => 0, w => 17), pr, (x => 7, y => 1, w => 23)) Unknown component name: system.dim.mks.w. (gdb) FAIL: gdb.ada/packed_array_assign.exp: print pra := ((x => 2, y => 0, w => 17), pr, (x => 7, y => 1, w => 23)) Also, depending on the compiler version, the component w might be reordered and placed before components x and y. So, change the component order in the source, so that both an old compiler (GNATMAKE 6.3.0, gcc (Debian 6.3.0-18+deb9u1) 6.3.0 20170516) and a new compiler (GNATMAKE Pro 20.0w (20181210-82), based on gcc 8.2.1) produce the same component order (checked by using -gnatR3s). So, update to test the new (more unique) names in the source order. 2018-12-26 Philippe Waroquiers * gdb.ada/packed_array_assign/aggregates.ads (Packed_Rec): Rename components to Packed_Array_Assign_[X|Y|W]. Place component Packed_Array_Assign_W as first component, to ensure old and new compilers have the same representation. All users updated. commit 84b68c77e7f1c8c883ff94aaa2fce0df2eab0877 Author: Simon Marchi Date: Wed Dec 26 20:14:08 2018 -0500 target.c: Remove struct keyword in range-based for I get this when compiling with a gcc 6.3.0-based cross-compiler: CXX target.o /home/simark/src/binutils-gdb/gdb/target.c: In static member function 'static void target_terminal::restore_inferior()': /home/simark/src/binutils-gdb/gdb/target.c:396:10: error: types may not be defined in a for-range-declaration [-Werror] for (struct inferior *inf : all_inferiors ()) ^~~~~~ Accomodate it by dropping the unnecessary struct keyword. Actually, I used "::inferior", otherwise it resolves to the inferior method of the target_terminal class. gdb/ChangeLog: * target.c (target_terminal::restore_inferior): Remove struct keyword. commit 39c2d8290bfea758aaa7edb2a10faf2076b950bc Author: GDB Administrator Date: Thu Dec 27 00:00:26 2018 +0000 Automatic date update in version.in commit 50794b45a2a7330fc32b118bff584a3a2e649ac5 Author: Simon Marchi Date: Wed Dec 26 11:49:51 2018 -0500 Improve "set debug separate-debug-file" "set debug separate-debug-file" shows which candidates are considered, when trying to find separate debug info. But it's not clear if GDB used a certain candidate, and if not, why not. This patch adds some precision: Before: Looking for separate debug info (debug link) for /lib/x86_64-linux-gnu/libc.so.6 Trying /lib/x86_64-linux-gnu/libc-2.23.so Trying /lib/x86_64-linux-gnu/.debug/libc-2.23.so Trying /usr/lib/debug//lib/x86_64-linux-gnu/libc-2.23.so After: Looking for separate debug info (debug link) for /lib/x86_64-linux-gnu/libc.so.6 Trying /lib/x86_64-linux-gnu/libc-2.23.so... no, same file as the objfile. Trying /lib/x86_64-linux-gnu/.debug/libc-2.23.so... no, unable to open. Trying /usr/lib/debug//lib/x86_64-linux-gnu/libc-2.23.so... yes! gdb/ChangeLog: * build-id.c (build_id_to_debug_bfd): Enhance debug output. * symfile.c (separate_debug_file_exists): Likewise. commit 5172760036cc706596970b35f106aa5a9093b44b Author: GDB Administrator Date: Wed Dec 26 00:00:30 2018 +0000 Automatic date update in version.in commit f493efef89a544ebb7f1aa0c9bbd688fc34b5cdd Author: GDB Administrator Date: Tue Dec 25 00:00:21 2018 +0000 Automatic date update in version.in commit 6f0ffe50c8f395ccb45ba9e801906b49d18c1af9 Author: Andrew Burgess Date: Thu Dec 13 18:25:25 2018 +0000 gdb: Allow struct fields named double The 64-bit RISC-V target currently models the floating point registers as having the following type: union riscv_double { builtin_type_ieee_single float; builtin_type_ieee_double double; } Notice the choice of names for the fields of this struct, possibly not ideal choices, as these are not valid field names in C. However, this type is only ever defined within GDB (or in the target description), and no restriction seems to exist on the field names in that case. The problem though is that currently: (gdb) info registers $ft0 ft0 {float = 0, double = 0} (raw 0x0000000000000000) (gdb) p $ft0.float $1 = 0 (gdb) p $ft0.double A syntax error in expression, near `double'. We can access the 'float' field, but not the 'double' field. This is because the string 'double' is handled differently to the string 'float' in c-exp.y. In both cases the string '$ft0' is parsed as a VARIABLE expression. In the 'float' case, the string 'float' becomes a generic NAME token in 'lex_one_token', which then allows the rule "exp '.' name" to match and the field name lookup to occur. The 'double' case is different. In order to allow parsing of the type string 'long double', the 'double' string becomes the token DOUBLE_KEYWORD. At this point there's no rule to match "exp '.' DOUBLE_KEYWORD", so we can never lookup the field named 'double'. We could rename the fields for RISC-V, and maybe that would be the best solution. However, its not hard to allow for fields named 'double', which is what this patch does. A new case is added to the 'field_name' rule to match the DOUBLE_KEYWORD, and create a suitable 'struct stoken'. With this done the "exp '.' field_name" pattern can now match, and we can lookup the double field. With this patch in place I now see this behaviour: (gdb) info registers $ft0 ft0 {float = 0, double = 0} (raw 0x0000000000000000) (gdb) p $ft0.float $1 = 0 (gdb) p $ft0.double $2 = 0 I've gone ahead and handled INT_KEYWORD, LONG, SHORT, SIGNED_KEYWORD, and UNSIGNED as well within field_name. I've added a new test for this functionality. This change was tested on x86-64 GNU/Linux with no regressions. gdb/ChangeLog: * c-exp.y (field_name): Allow DOUBLE_KEYWORD, INT_KEYWORD, LONG, SHORT, SIGNED_KEYWORD, and UNSIGNED tokens to act as a field names. (typename_stoken): New function. gdb/testsuite/ChangeLog: * gdb.dwarf2/dw2-unusual-field-names.c: New file. * gdb.dwarf2/dw2-unusual-field-names.exp: New file. commit 0f5d3f636a606e307d8d8634415cc1e313a38273 Author: Andrew Burgess Date: Mon Dec 17 13:51:05 2018 +0000 gdb: Add new parser rule for structure field names Introduces a new rule in c-exp.y for matching structure field names. This is a restructure in preparation for the next commit, this commit shouldn't result in any user visible changes. gdb/ChangeLog: * c-exp.y (field_name): New %token, and new rule. (exp): Replace uses of 'name' with 'field_name' where appropriate. commit b6c95c0cc5bd60e2de86d611120bf6191f99860a Author: Andrew Burgess Date: Mon Dec 17 11:21:08 2018 +0000 gdb: Extend the comments in c-exp.y In an attempt to fix PR gdb/13368 this commit adds some comments to c-exp.y which hopefully makes the type parsing code a little clearer. There are no code changes here, so there should be no user visible changes after this commit. gdb/ChangeLog: PR gdb/13368 * c-exp.y (typebase): Extend the comment. (ident_tokens): Likewise. commit 45b8ae0c3348a6e6aa64ad5d114adabdc399c5ef Author: Tom Tromey Date: Mon Dec 24 09:55:10 2018 -0700 Simplify dwarf2_find_containing_comp_unit In an earlier patch discussion we noticed that dwarf2_find_containing_comp_unit takes the address of sect_off, but doesn't actually need to. This is a leftover from before C++-ification. This patch simplifies the function. Tested using gdb.dwarf2 on x86-64 Fedora 28. gdb/ChangeLog 2018-12-18 Tom Tromey * dwarf2read.c (dwarf2_find_containing_comp_unit): Don't take address of sect_off. commit b5a1e55720f294fd0d5e1ebc21ccc01083751acd Author: Philippe Waroquiers Date: Sun Dec 23 21:05:58 2018 +0100 Fix gdb.ada bp_fun_addr failure due to conflict between fun 'a' and s-dimmks.ads 'A'. The test fails (timeout) due to: (gdb) PASS: gdb.ada/bp_fun_addr.exp: break *a'address run Starting program: /bd/home/philippe/gdb/git/build_info_t/gdb/testsuite/outputs/gdb.ada/bp_fun_addr/a Multiple matches for a [0] cancel [1] a at /bd/home/philippe/gdb/git/info_t/gdb/testsuite/gdb.ada/bp_fun_addr/a.adb:18 [2] system.dim.mks.a at s-dimmks.ads:115 > FAIL: gdb.ada/bp_fun_addr.exp: run until breakpoint at a'address (timeout) testcase /home/philippe/gdb/git/build_info_t/gdb/testsuite/../../../info_t/gdb/testsuite/gdb.ada/bp_fun_addr.exp completed in 10 seconds Fix this by using a fun name that has more chances to be unique. 2018-12-24 Philippe Waroquiers * gdb.ada/bp_fun_addr/a.adb (a): Rename to bp_fun_addr. Filename a.adb changed to bp_fun_addr.adb. gdb.ada/bp_fun_addr.exp: Update test accordingly. commit 56334baf0c2d95e41737d084ade2e8c35baf1c31 Author: GDB Administrator Date: Mon Dec 24 00:00:20 2018 +0000 Automatic date update in version.in commit b366503e45a2b28271dd12a7ca923964154c2716 Author: H.J. Lu Date: Sun Dec 23 09:45:29 2018 -0800 i386: Remove the unused bfd pointer argument Remove the unused bfd pointer argument of elf_i386_rtype_to_howto. * elf32-i386.c (elf_i386_rtype_to_howto): Remove the unused bfd pointer argument. (elf_i386_info_to_howto_rel): Updated. (elf_i386_tls_transition): Likewise. (elf_i386_relocate_section): Likewise. commit 03eccf7a34d121385663f1b95b757ff6aadb0ede Author: Joel Brobecker Date: Sun Dec 23 10:02:17 2018 +0400 Document the GDB 8.2.1 release in gdb/ChangeLog gdb/ChangeLog: GDB 8.2.1 released. commit dff021e14a9c72380311c15a90c1a646b179b987 Author: GDB Administrator Date: Sun Dec 23 00:01:21 2018 +0000 Automatic date update in version.in commit 74e3300d8aecbc6973f61c8cbbecd7bdac4f05d0 Author: Andrew Burgess Date: Tue Nov 27 13:41:44 2018 +0000 gdb/riscv: Prevent buffer overflow in riscv_return_value The existing code for reading and writing the return value can overflow the passed in buffers in a couple of situations. This commit aims to resolve these issues. The problems were detected using valgrind, here are two examples, first from gdb.base/structs.exp: (gdb) p/x fun9() ==31353== Invalid write of size 8 ==31353== at 0x4C34153: memmove (vg_replace_strmem.c:1270) ==31353== by 0x632EBB: memcpy (string_fortified.h:34) ==31353== by 0x632EBB: readable_regcache::raw_read(int, unsigned char*) (regcache.c:538) ==31353== by 0x659D3F: riscv_return_value(gdbarch*, value*, type*, regcache*, unsigned char*, unsigned char const*) (riscv-tdep.c:2593) ==31353== by 0x583641: get_call_return_value (infcall.c:448) ==31353== by 0x583641: call_thread_fsm_should_stop(thread_fsm*, thread_info*) (infcall.c:546) ==31353== by 0x59BBEC: fetch_inferior_event(void*) (infrun.c:3883) ==31353== by 0x53890B: check_async_event_handlers (event-loop.c:1064) ==31353== by 0x53890B: gdb_do_one_event() [clone .part.4] (event-loop.c:326) ==31353== by 0x6CA34B: wait_sync_command_done() (top.c:503) ==31353== by 0x584653: run_inferior_call (infcall.c:621) ... And from gdb.base/call-sc.exp: (gdb) advance fun fun () at /gdb/gdb/testsuite/gdb.base/call-sc.c:41 41 return foo; (gdb) finish ==1968== Invalid write of size 8 ==1968== at 0x4C34153: memmove (vg_replace_strmem.c:1270) ==1968== by 0x632EBB: memcpy (string_fortified.h:34) ==1968== by 0x632EBB: readable_regcache::raw_read(int, unsigned char*) (regcache.c:538) ==1968== by 0x659D01: riscv_return_value(gdbarch*, value*, type*, regcache*, unsigned char*, unsigned char const*) (riscv-tdep.c:2576) ==1968== by 0x5891E4: get_return_value(value*, type*) (infcmd.c:1640) ==1968== by 0x5892C4: finish_command_fsm_should_stop(thread_fsm*, thread_info*) (infcmd.c:1808) ==1968== by 0x59BBEC: fetch_inferior_event(void*) (infrun.c:3883) ==1968== by 0x53890B: check_async_event_handlers (event-loop.c:1064) ==1968== by 0x53890B: gdb_do_one_event() [clone .part.4] (event-loop.c:326) ==1968== by 0x6CA34B: wait_sync_command_done() (top.c:503) ... There are a couple of problems with the existing code, that are all related. In riscv_call_arg_struct we incorrectly rounded up the size of a structure argument. This is unnecessary, and caused GDB to read too much data into the output buffer when extracting a struct return value. In fixing this it became clear that we were incorrectly assuming that any value being placed in a register (or read from a register) would always access the entire register. This is not true, for example a 9-byte struct on a 64-bit target places 8-bytes in one registers and 1-byte in a second register (assuming available registers). To handle this I switch from using cooked_read to cooked_read_part. Finally, when processing basic integer return value types these are extended to xlen sized types and then passed in registers. We currently don't handle this type expansion in riscv_return_value, but we do in riscv_push_dummy_call. The result is that small integer types (like char) result in a full xlen sized register being written into the output buffer, which results in buffer overflow. To address this issue we now create a value of the expanded type and use this values contents buffer to hold the return value before casting the value down to the smaller expected type. This patch resolves all of the valgrind issues I have found so far, and causes no regressions. Tested against RV32/64 with and without floating point support. gdb/ChangeLog: * riscv-tdep.c (riscv_call_arg_struct): Don't adjust size before assigning locations. (riscv_return_value): Take more care not to read/write outside of argument buffer. Cast return value between the declared type and the abi type. commit ecc82c059059cfa21a8a099779253686f9637f9f Author: Andrew Burgess Date: Thu Dec 13 19:06:23 2018 +0000 gdb/riscv: Add float status registers to save and restore reggroups We should save and restore the floating point status registers. This became an issue when testing 32-bit float on a target with 64-bit with the gdb.base/callfuncs.exp test. gdb/ChangeLog: * riscv-tdep.c (riscv_register_reggroup_p): Save and restore fcsr, fflags, and frm registers. commit fb44d95af64dd0609760c1400b9ce4da09296cd1 Author: Andrew Burgess Date: Thu Dec 13 17:57:14 2018 +0000 gdb/riscv: Add gdb to dwarf register number mapping Provide a mapping between GDB's register numbers and DWARF's register numbers. This resolves some failures that I was seeing on gdb.base/store.exp when running on an rv64imfdc target. gdb/ChangeLog: * riscv-tdep.c (riscv_dwarf_reg_to_regnum): New function. (riscv_gdbarch_init): Register new function with gdbarch. * riscv-tdep.h: New enum to define RISC-V DWARF register numbers. commit e08b849efa7af6cb13d7d3d02dc366b9d7f4208c Author: Simon Marchi Date: Fri Dec 21 21:19:09 2018 -0500 Add debug output for recorded minsyms While discussing this issue: https://sourceware.org/ml/gdb-patches/2018-12/threads.html#00082 I added a printf gated by "set debug symtab-create" to be able to quickly see all minimal symbols recorded by GDB. I thought it would be useful to have it built-in, for the future. Here's how the output looks: Recording minsym: mst_data 0x400780 15 _IO_stdin_used Recording minsym: mst_text 0x400700 13 __libc_csu_init Recording minsym: mst_bss 0x601058 25 _end gdb/ChangeLog: * minsyms.c (mst_str): New. (minimal_symbol_reader::record_full): Add debug output. commit 5ec79917fa45f4f0870d7d0a09806e31dd5d28b5 Author: GDB Administrator Date: Sat Dec 22 00:00:29 2018 +0000 Automatic date update in version.in commit 6e8b1ab2fd4c692146eb14295866920f83dc5403 Author: Jan Vrany Date: Thu Dec 13 15:20:49 2018 +0000 Fix various tests to use -no-pie linker flag when needed Various tests use test code written in i386 / x86_64 assembly that cannot be used to create PIE executables. Therefore compilation of test programs failed on systems where the compiler default is to create PIE executable. The solution is to use -no-pie linker flag, however, such flag may not (is not) supported by all compilers GDB needs to support (e.g. gcc 4.8). To handle this, introduce a new flag to gdb_compile - nopie - which inserts -no-pie linker flag where supported and is no-op where it is not. By default, -no-pie flag is inserted since most modern compiler do support it. commit 6d78332e7748754d4a77a31e692fb8760c8c12ff Author: John Baldwin Date: Fri Dec 21 10:18:11 2018 -0800 Workaround a FreeBSD kernel bug resulting in spurious SIGTRAP events. The ptrace command PT_LWPINFO to request detailed information about a stopped thread can return stale signal information from an earlier stop. Events which are reporting an intercepted signal will always report the correct information, but signal stops for some other events such as system call enter/exit events might include stale siginfo from an earlier signal. In particular, if a thread reports a system call entry or exit event after previously reporting a single-step or breakpoint event via SIGTRAP, fbsd_handle_debug_trap believed the system call event was the previous event and claimed it resulting in a spurious SIGTRAP event. True breakpoint and single-step events will never report another event in the pl_flags member of struct ptrace_lwpinfo. Use this to detect stale siginfo by requiring pl_flags to have only the PL_FLAG_SI flag and no other flags before treating a SIGTRAP as a single-step or breakpoint trap. gdb/ChangeLog: * fbsd-nat.c (fbsd_handle_debug_trap): Require pl.pl_flags to equal PL_FLAG_SI. (fbsd_nat_target::stopped_by_sw_breakpoint): Likewise. commit d00a27c5addfb6b7350a39215b48f4aaffa5960c Author: Paul Marechal Date: Fri Dec 21 12:02:33 2018 -0500 gdb: Fix "info os " command Running `info os someUnknownOsType` is crashing when gdb is built with -D_GLIBCXX_DEBUG: /usr/include/c++/5/debug/vector:439:error: attempt to access an element in an empty container. In target_read_stralloc from target.c, the call to target_read_alloc_1 can return an empty vector, we then call vector::back on this vector, which is invalid. This commit adds a check for emptiness before trying to call vector::back on it. It also adds test to check for `info os ` to return the proper error message. This is a regression in gdb 8.2 and this patch restores the behavior of previous versions. gdb/ChangeLog: PR gdb/23974 * target.c (target_read_stralloc): Check for empty vector. gdb/testsuite/ChangeLog: PR gdb/23974 * gdb.base/info-os.exp: Check return for unknown "info os" type. commit 50c7c5b8df15aad66a9d2f6759e85689a2a74271 Author: Дилян Палаузов Date: Fri Dec 21 19:09:40 2018 +0400 when printing the GDB config, explicitly say if configured without python When using the --configuration command line switch, or using the "show configuration" command with a version of GDB which was configured without Python supoprt, this patch changes the resulting output to include... --without-python ... instead of not printing anything about Python support. gdb/ChangeLog: * top.c (print_gdb_configuration): Print "--without-python" if GDB was configured without Python. Tested on x86_64-linux by rebuilding GDB with and without Python, and checking the output of "gdb --configuration" in both cases. commit a96bd1ccc0dca2d260e0e30de462f37066973ceb Author: Andrew Burgess Date: Fri Dec 21 00:48:51 2018 +0000 gdb/riscv: Format CORE_ADDR as a string for printing Avoid compiler errors caused by trying to print CORE_ADDR using '%ld' format, instead convert to a string and print that instead. gdb/ChangeLog: * riscv-tdep.c (riscv_scan_prologue): Use plongest to format a signed offset as a string. commit 3dcfdc58656caa4a38e1fde73a07a19114347226 Author: Dave Murphy Date: Fri Dec 21 11:14:28 2018 -0500 Fix compile error with clang 3.8 When compiling with clang 3.8 (default clang version on Debian Stretch, the current stable), we get errors like this: CXX dtrace-probe.o ../../binutils-gdb/gdb/dtrace-probe.c:103:31: error: default initialization of an object of const type 'const dtrace_static_probe_ops' without a user-provided default constructor const dtrace_static_probe_ops dtrace_static_probe_ops; ^ Silence them by value-initializing those objects. It's not necessary with other compilers (later clang versions, gcc), but it shouldn't hurt either. commit e8f2b38a26591c44471e04b09b7b77990845d520 Author: GDB Administrator Date: Fri Dec 21 00:00:27 2018 +0000 Automatic date update in version.in commit 76268e027479f587b46b70b69760f1b96204bc28 Author: H.J. Lu Date: Thu Dec 20 13:25:41 2018 -0800 x86: Call rtype_to_howto to get reloc_howto_type pointer * elf32-i386.c (elf_i386_relocate_section): Call elf_i386_rtype_to_howto to get reloc_howto_type pointer. * elf64-x86-64.c (elf_x86_64_relocate_section): Call elf_x86_64_rtype_to_howto to get reloc_howto_type pointer. commit 161d081c56f12e7a00d8a07ccac445855d5d357b Author: Philippe Waroquiers Date: Sat Dec 1 14:10:10 2018 +0100 Ensure deterministic result order in gdb.ada/info_auto_lang.exp standard_ada_testfile, standard_test_file and the explicit csrcfile assignment in info_auto_lang.exp all gives similar pathnames prefix for a source, such as /home/philippe/gdb/git/build_binutils-gdb/gdb/testsuite/../../../binutils-gdb/gdb/testsuite/gdb.. Note that the above pathnames contain ../ which appears when a relative pathname is used to call configure. In any case, the gnat compiler normalizes Ada sources path when compiling. So, the 'Ada' .o object are referencing a pathname such as /home/philippe/gdb/git/binutils-gdb/gdb/testsuite/gdb.ada/info_auto_lang/proc_in_ada.adb, while the 'C' .o object still references the not normalized pathname. As the results of 'info functions | ...' are sorted by pathname first, the order of the results depends on the comparison between different directories, leading to results that can change depending on these directories. => Ensure the result order is always the same, by normalising the C source file, which makes the results independent of the way configure is launched. Tested by running the testcase in 2 different builds, that without normalize were giving different results. Note: such 'set csrcfile' is used in 4 other tests mixing Ada and C. After discussion, it was deemed sufficient to just normalize the pathname for this test. gdb/testsuite/ChangeLog 2018-12-20 Philippe Waroquiers * gdb.ada/info_auto_lang.exp: Normalize some_c source file. Update order of results accordingly. commit f0f13ece4ce4ae5745cbf987c187306f755736b8 Author: GDB Administrator Date: Thu Dec 20 00:00:38 2018 +0000 Automatic date update in version.in commit 8bcb5208976448aab20df7dd50e9286ef1f7e22c Author: Andrew Burgess Date: Fri Sep 7 20:04:44 2018 +0100 gdb: Add default frame methods to gdbarch Supply default gdbarch methods for gdbarch_dummy_id, gdbarch_unwind_pc, and gdbarch_unwind_sp. This patch doesn't actually convert any targets to use these methods, and so, there will be no user visible changes after this commit. The implementations for default_dummy_id and default_unwind_sp are fairly straight forward, these just take on the pattern used by most targets. Once these default methods are in place then most targets will be able to switch over. The implementation for default_unwind_pc is also fairly straight forward, but maybe needs some explanation. This patch has gone through a number of iterations: https://sourceware.org/ml/gdb-patches/2018-03/msg00165.html https://sourceware.org/ml/gdb-patches/2018-03/msg00306.html https://sourceware.org/ml/gdb-patches/2018-06/msg00090.html https://sourceware.org/ml/gdb-patches/2018-09/msg00127.html and the implementation of default_unwind_pc has changed over this time. Originally, I took an implementation like this: CORE_ADDR default_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) { int pc_regnum = gdbarch_pc_regnum (gdbarch); return frame_unwind_register_unsigned (next_frame, pc_regnum); } This is basically a clone of default_unwind_sp, but using $pc. It was pointed out that we could potentially do better, and in version 2 the implementation became: CORE_ADDR default_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) { struct type *type; int pc_regnum; CORE_ADDR addr; struct value *value; pc_regnum = gdbarch_pc_regnum (gdbarch); value = frame_unwind_register_value (next_frame, pc_regnum); type = builtin_type (gdbarch)->builtin_func_ptr; addr = extract_typed_address (value_contents_all (value), type); addr = gdbarch_addr_bits_remove (gdbarch, addr); release_value (value); value_free (value); return addr; } The idea was to try split out some of the steps of unwinding the $pc, steps that are on some (or many) targets no-ops, and so allow targets that do override these methods, to make use of default_unwind_pc. This implementation remained in place for version 2, 3, and 4. However, I realised that I'd made a mistake, most targets simply use frame_unwind_register_unsigned to unwind the $pc, and this throws an error if the register value is optimized out or unavailable. My new proposed implementation doesn't do this, I was going to end up breaking many targets. I considered duplicating the code from frame_unwind_register_unsigned that throws the errors into my new default_unwind_pc, however, this felt really overly complex. So, what I instead went with was to simply revert back to using frame_unwind_register_unsigned. Almost all existing targets already use this. Some of the ones that don't can be converted to, which means almost all targets could end up using the default. One addition I have made over the version 1 implementation is to add a call to gdbarch_addr_bits_remove. For most targets this is a no-op, but for a handful, having this call in place will mean that they can use the default method. After all this, the new default_unwind_pc now looks like this: CORE_ADDR default_unwind_pc (struct gdbarch *gdbarch, struct frame_info *next_frame) { int pc_regnum = gdbarch_pc_regnum (gdbarch); CORE_ADDR pc = frame_unwind_register_unsigned (next_frame, pc_regnum); pc = gdbarch_addr_bits_remove (gdbarch, pc); return pc; } gdb/ChangeLog: * gdb/dummy-frame.c (default_dummy_id): Defined new function. * gdb/dummy-frame.h (default_dummy_id): Declare new function. * gdb/frame-unwind.c (default_unwind_pc): Define new function. (default_unwind_sp): Define new function. * gdb/frame-unwind.h (default_unwind_pc): Declare new function. (default_unwind_sp): Declare new function. * gdb/frame.c (frame_unwind_pc): Assume gdbarch_unwind_pc is available. (get_frame_sp): Assume that gdbarch_unwind_sp is available. * gdb/gdbarch.c: Regenerate. * gdb/gdbarch.h: Regenerate. * gdb/gdbarch.sh: Update definition of dummy_id, unwind_pc, and unwind_sp. Add additional header files to be included in generated file. commit b9519cfe9828b9ee5a73e74b4be83d46f33e6886 Author: H.J. Lu Date: Wed Dec 19 12:21:56 2018 -0800 x86: Properly handle PLT expression in directive For PLT expressions, we should subtract the PLT relocation size only for jump instructions. Since PLT relocations are PC relative, we only allow "symbol@PLT" in PLT expression. gas/ PR gas/23997 * config/tc-i386.c (x86_cons): Check for invalid PLT expression. (md_apply_fix): Subtract the PLT relocation size only for jump instructions. * testsuite/gas/i386/reloc32.s: Add test for invalid PLT expression. * testsuite/gas/i386/reloc64.s: Likewise. * testsuite/gas/i386/ilp32/reloc64.s: Likewise. * testsuite/gas/i386/reloc32.l: Updated. * testsuite/gas/i386/reloc64.l: Likewise. * testsuite/gas/i386/ilp32/reloc64.l: Likewise. ld/ PR gas/23997 * testsuite/ld-i386/i386.exp: Run PR gas/23997 test. * testsuite/ld-x86-64/x86-64.exp: Likewise. * testsuite/ld-x86-64/pr23997a.s: New file. * testsuite/ld-x86-64/pr23997b.c: Likewise. * testsuite/ld-x86-64/pr23997c.c: Likewise. commit fc999e8020ffe8e1136da70f275bceafaa62a588 Author: H.J. Lu Date: Wed Dec 19 11:51:08 2018 -0800 Rename PR ld/22842 run-time test to "Run pr22842" * testsuite/ld-x86-64/x86-64.exp: Rename PR ld/22842 run-time test to "Run pr22842". commit 7406a50077773e78282a495cb32ef5b8179f6a33 Author: Dimitar Dimitrov Date: Mon Dec 17 21:30:52 2018 +0200 Fix build with latest GCC 9.0 tree A recent patch [1] to fix a GCC PR [2] actually broke the GDB build. To fix, remove the stack pointer clobber. GCC will ignore the clobber marker, and will not save or restore the stack pointer. I ran "make check-gdb" on x86_64 to ensure there are no regressions. gdb/ChangeLog: 2018-12-17 Dimitar Dimitrov * nat/linux-ptrace.c (linux_ptrace_test_ret_to_nx): Remove sp clobbers. [1] https://gcc.gnu.org/ml/gcc-patches/2018-12/msg00532.html [2] https://gcc.gnu.org/bugzilla/show_bug.cgi?id=52813 Signed-off-by: Dimitar Dimitrov commit ebb8004a18a3808d7197762faf3c5aaeae82371f Author: GDB Administrator Date: Wed Dec 19 00:00:21 2018 +0000 Automatic date update in version.in commit 2d5d5a8f0a8b5a03454bf168b7fa7024bb1ebbd8 Author: Alan Modra Date: Tue Dec 18 19:03:51 2018 +1030 Include bfd_stdint.h in bfd.h This patch adds bfd_stdint.h to bfd.h, so that BFD can use size_t where appropriate in function parameters and return values. I also tidy a few other cases where headers are included twice. bfd/ * Makefile.am (bfdinclude_HEADERS): Add bfd_stdint.h. (BFD_H_DEPS): Add include/diagnostics.h. (LOCAL_H_DEPS): Add bfd_stdint.h. * bfd-in.h: Include bfd_stdint.h. * arc-plt.h: Don't include stdint.h. * coff-rs6000.c: Likewise. * coff64-rs6000.c: Likewise. * elfxx-riscv.c: Likewise. * cache.c: Don't include bfd_stdint.h. * elf32-arm.c: Likewise. * elf32-avr.c: Likewise. * elf32-nds32.c: Likewise. * elf32-rl78.c: Likewise. * elf32-rx.c: Likewise. * elf32-wasm32.c: Likewise. * elf64-nfp.c: Likewise. * elflink.c: Likewise. * elfnn-aarch64.c: Likewise. * elfnn-ia64.c: Likewise. * elfxx-ia64.c: Likewise. * elfxx-x86.h: Likewise. * wasm-module.c: Likewise, and don't include sysdep.h twice. * elf-nacl.h: Don't include bfd.h. * mach-o.h: Likewise. * elfxx-aarch64.c: Include bfd.h and elf-bfd.h. * elfxx-aarch64.h: Don't include bfd.h, elf-bfd.h or stdint.h. * mach-o-aarch64.c: Include mach-o.h later. * mach-o-arm.c: Likewise. * mach-o-i386.c: Likewise. * mach-o-x86-64.c: Likewise. * mach-o.c: Likewise. * sysdep.h: Don't include ansidecl.h or sys/stat.h. * Makefile.in: Regenerate. * bfd-in2.h: Regenerate. opcodes/ * arm-dis.c: Include bfd.h. * aarch64-opc.c: Include bfd_stdint.h rather than stdint.h. * csky-dis.c: Likewise. * nds32-asm.c: Likewise. * riscv-dis.c: Likewise. * s12z-dis.c: Likewise. * wasm32-dis.c: Likewise. commit a529dcc854968b7f6ad766c714650011dc361382 Author: Alan Modra Date: Tue Dec 18 10:47:44 2018 +1030 [GOLD] Tweak keep_text_section_prefix test for PowerPC64 ELFv1 This test checks code layout by function symbol ordering, but that doesn't work on powerpc64 ELFv1 where the function symbol is on a descriptor. A simple work-around is to have nm emit synthetic symbols marking the code entry point of functions. Since the text segment is laid out before the data segment, the synthetic symbols will have lower addresses than function descriptor symbols and be seen first in nm -n output. On other targets, nm --synthetic typically emits symbols on plt entries. Since the testcase doesn't call any of the functions of interest there shouldn't be plt entries for those functions, so there should be no potentially confusing extra symbols. * testsuite/Makefile.am (keep_text_section_prefix_nm.stdout): Pass --synthetic to nm. * testsuite/Makefile.in: Regenerate. commit 7af5d5c4dda26ac36ee2ff42af8f39a10382cc41 Author: Alan Modra Date: Tue Dec 18 09:20:06 2018 +1030 PR23980, assertion fail All of the backend relocate_section functions that interpret reloc numbers assuming the input file is of the expected type (ie. same as output or very similar) really ought to be checking input file type. Not many do, and those that do currently just assert. This patch replaces the assertion with a more graceful exit. PR 23980 * elf32-i386.c (elf_i386_relocate_section): Exit with wrong format error rather than asserting input file is as expected. * elf32-s390.c (elf_s390_relocate_section): Likewise. * elf32-sh.c (sh_elf_relocate_section): Likewise. * elf32-xtensa.c (elf_xtensa_relocate_section): Likewise. * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. * elf64-s390.c (elf_s390_relocate_section): Likewise. * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise. * elf32-ppc.c (ppc_elf_relocate_section): Exit with wrong format error if input file is not ppc32 ELF. commit c5ebe0ff706521b4a5fb66a5e764031825276ad5 Author: Andrew Burgess Date: Mon Feb 5 11:15:38 2018 +0000 sim: Don't overwrite stored errno in sim_syscall_multi The host syscall callback mechanism should take care of updating the errcode within the CB_SYSCALL struct, and we should not be adjusting the error code once the syscall has completed. We especially, should not be rewriting the syscall errcode based on the value of errno some time after running the host syscall, as there is no guarantee that errno has not be overwritten. To perform a syscall we call cb_syscall (in syscall.c). To return from cb_syscall control passes through one of two exit paths these are labeled FinishSyscall and ErrorFinish and are reached using goto statements scattered throughout the cb_syscall function. In FinishSyscall we store the syscall result in 'sc->result', and the error code is transated to target encoding, and stored in 'sc->errcode'. In ErrorFinish, we again store the syscall result in 'sc->result', and fill in 'sc->errcode' by fetching the actual errno from the host with the 'cb->get_errno' callback. In both cases 'sc->errcode' will have been filled in with an appropriate value. Further, if we look at a specific syscall example, CB_SYS_open, in this case the first thing we do is fetch the path to open from the target with 'get_path', if this fails then the errcode is returned, and we jump to FinishSyscall. Notice that in this case, no host syscall may have been performed, for example a failure to read the path to open out of simulated memory can return EINVAL without performing any host syscall. Given that no host syscall has been performed, reading the host errno makes absolutely no sense. This commit removes from sim_syscall_multi the rewriting of sc->errcode based on the value of errno, and instead relies on the value stored in the cb_syscall. sim/common/ChangeLog: * sim-syscall.c (sim_syscall_multi): Don't update sc->errcode at this point, it should have already been set in cb_syscall. commit b55a4797099d2b871624cb525c1ea664262dd7e0 Author: GDB Administrator Date: Tue Dec 18 00:00:16 2018 +0000 Automatic date update in version.in commit 9068261f1c254a8051d1098b87ab1ff99d525b7b Author: Andrew Burgess Date: Wed Oct 31 13:39:58 2018 +0000 gdb/dwarf: Convert some predicates from int to bool In the dwarf reader we have a set of predicates, these include the different producer predicates and also some control predicates. The older ones are declared as integers, while newer ones (added since the C++ conversion) are bool. This commit makes them all bool for consistency. There should be no user visible change after this commit. gdb/ChangeLog: * dwarf2read.c (struct dwarf2_cu): Convert the fields 'mark', 'has_loclist', 'checked_producer', 'producer_is_gxx_lt_4_6', 'producer_is_gcc_lt_4_3', 'producer_is_icc_lt_14', 'processing_has_namespace_info' from unsigned int to bool. Update comments. (producer_is_icc_lt_14): Update return type. (producer_is_gcc_lt_4_3): Likewise. (producer_is_gxx_lt_4_6): Likewise. (process_die): Write true instead of 1 into predicate fields. (dwarf2_start_symtab): Likewise. (var_decode_location): Likewise. (dwarf2_mark_helper): Likewise. (dwarf2_mark): Likewise. (dwarf2_clear_marks): Write false instead of 0 into predicate field. (dwarf2_cu::dwarf2_cu): Initialise predicate fields to false, not 0. commit 87469ba2d2fc953796c7bb64e535d3f283756048 Author: Alan Modra Date: Tue Dec 18 08:59:59 2018 +1030 PR23980, powerpc64 ld segfault PR 23980 * elf64-ppc.c (ppc64_elf_hide_symbol): Check hash table type before referencing ppc64-only fields of hash entries. commit 51b4f73a37c2e7eec31e932fc3c8dae879735f63 Author: Szabolcs Nagy Date: Thu Dec 13 17:47:17 2018 +0000 AArch64: Fix the gdb build with musl libc Including asm/sigcontext.h together with libc headers is not valid. In general linux headers may not work with libc headers, so mixing them should be avoided, especially when the linux header defines types that are also exposed in libc headers. In case of asm/sigcontext.h glibc happens to work because glibc signal.h directly includes it, but e.g. in musl libc signal.h replicates the sigcontext.h definitions in an abi compatible way which are in conflict with the linux definitions when both headers are included. Since old linux headers or old libc headers may not have the necessary definitions, gdb has to replicate the definitions it relies on anyway. Which is fine since all definitions must be ABI stable. For linux apis that are not available via libc headers, replicating the definitions in gdb is the most reliable way to use them. Note: asm/ptrace.h includes asm/sigcontext.h in some versions of linux headers, which is just as problematic and should be fixed in linux. gdb/ChangeLog: * nat/aarch64-sve-linux-ptrace.h: Include signal.h instead of asm/sigcontext.h. commit 4ef5dbe493310e3632354d4937727a755c13c291 Author: Philippe Waroquiers Date: Mon Dec 17 06:52:15 2018 +0100 OBVIOUS: Fix ARI warning by removing warning trailing new line 2018-12-17 Philippe Waroquiers * nat/linux-ptrace.c (kill_child): Fix ARI warning by removing warning trailing new line. commit 3a551c7a1b80fca579461774860574eabfd7f18f Author: Alan Modra Date: Sun Dec 16 23:02:50 2018 +1030 PR23994, libbfd integer overflow PR 23994 * aoutx.h: Include limits.h. (get_reloc_upper_bound): Detect long overflow and return a file too big error if it occurs. * elf.c: Include limits.h. (_bfd_elf_get_symtab_upper_bound): Detect long overflow and return a file too big error if it occurs. (_bfd_elf_get_dynamic_symtab_upper_bound): Likewise. (_bfd_elf_get_dynamic_reloc_upper_bound): Likewise. commit 40b9228581bb9bfaa3a444a6a19a9b41ebc68c40 Author: GDB Administrator Date: Mon Dec 17 00:00:21 2018 +0000 Automatic date update in version.in commit a65f68357f644cae11536bbb8a1699936ccf1368 Author: Philippe Waroquiers Date: Sat Nov 3 20:18:15 2018 +0100 Factorize killing the children in linux-ptrace.c, and fix a 'process leak'. Running the gdb testsuite under Valgrind started to fail after 100+ tests, due to out of memory caused by lingering processes. The lingering processes are caused by the combination of a limitation in Valgrind signal handling when using PTRACE_TRACEME and a (minor) bug in GDB. The Valgrind limitation is : when a process is ptraced and raises a signal, Valgrind will replace the raised signal by SIGSTOP as other signals are masked by Valgrind when executing a system call. Removing this limitation seems far to be trivial, valgrind signal handling is very complex. Due to this valgrind limitation, GDB linux_ptrace_test_ret_to_nx gets a SIGSTOP signal instead of the expected SIGTRAP or SIGSEGV. In such a case, linux_ptrace_test_ret_to_nx does an early return, but does not kill the child (running under valgrind), child stays in a STOP-ped state. These lingering processes then eat the available system memory, till launching a new process starts to fail. This patch fixes the GDB minor bug by killing the child in case linux_ptrace_test_ret_to_nx does an early return. nat/linux-ptrace.c has 3 different logics to kill a child process. So, this patch factorizes killing a child in the function kill_child. The 3 different logics are: * linux_ptrace_test_ret_to_nx is calling both kill (child, SIGKILL) and ptrace (PTRACE_KILL, child, ...), and then is calling once waitpid. * linux_check_ptrace_features is calling ptrace (PTRACE_KILL, child, ...) + my_waitpid in a loop, as long as the waitpid status was WIFSTOPPED. * linux_test_for_tracefork is calling once ptrace (PTRACE_KILL, child, ...) + my_waitpid. The linux ptrace documentation indicates that PTRACE_KILL is deprecated, and tells to not use it, as it might return success but not kill the tracee. The documentation indicates to send SIGKILL directly. I suspect that linux_ptrace_test_ret_to_nx calls both kill and ptrace just to be sure ... I suspect that linux_check_ptrace_features calls ptrace in a loop to bypass the PTRACE_KILL limitation. And it looks like linux_test_for_tracefork does not handle the PTRACE_KILL limitation. Also, 2 of the 3 logics are calling my_waitpid, which seems better, as this is protecting the waitpid syscall against EINTR. So, the logic in kill_child is just using kill (child, SIGKILL) + my_waitpid, and then does a few verifications to see everything worked accordingly to the plan. Tested on Debian/x86_64. 2018-12-16 Philippe Waroquiers * nat/linux-ptrace.c (kill_child): New function. (linux_ptrace_test_ret_to_nx): Use kill_child instead of local code. Add a call to kill_child in case of early return after fork. (linux_check_ptrace_features): Use kill_child instead of local code. (linux_test_for_tracefork): Likewise. commit 76d2760bc38ada83f81087f16eb151ccc0176574 Author: GDB Administrator Date: Sun Dec 16 00:01:06 2018 +0000 Automatic date update in version.in commit 7ff6138b00d245b765266ccaa238e51f906f5356 Author: Tom Tromey Date: Fri Dec 14 18:58:32 2018 -0700 Minor gdb/Makefile.in cleanups This removes an IMO not very useful comment in gdb/Makefile.in about "alloca". It also removes INFOFILES, which I think probably has not been useful since whenever the manual was moved into a subdirectory. gdb/ChangeLog 2018-12-14 Tom Tromey * Makefile.in: Remove "alloca" comment. (INFOFILES): Remove. (local-maintainer-clean): Don't use INFOFILES. commit 097b3e508759ac08115947dc89f23a97325f6281 Author: GDB Administrator Date: Sat Dec 15 00:00:26 2018 +0000 Automatic date update in version.in commit 0a59decbb81676ac30deede1bb6b6e241cd75502 Author: H.J. Lu Date: Fri Dec 14 04:55:08 2018 -0800 elf: Add PT_GNU_PROPERTY segment type Linkers group input note sections with the same name into one output note section with the same name. One output note section is placed in one PT_NOTE segment. New linkers merge all input .note.gnu.property sections into one output .note.gnu.property section with a single NT_GNU_PROPERTY_TYPE_0 note in a single PT_NOTE segment. Since older linkers treat input .note.gnu.property section as a generic note section and just concatenate all input .note.gnu.property sections into one output .note.gnu.property section without merging them, we may see one or more NT_GNU_PROPERTY_TYPE_0 notes in PT_NOTE segment, which are invalid. GNU_PROPERTY_X86_UINT32_VALID was defined to address this issue such that linker sets the bit for non-relocatable outputs. But it isn't sufficient: 1. It doesn't cover generic properties. 2. When -mx86-used-note=yes is passed to x86 assembler, the GNU_PROPERTY_X86_UINT32_VALID bit is set in GNU_PROPERTY_X86_ISA_1_USED property in object file and older linkers generate invalid NT_GNU_PROPERTY_TYPE_0 notes with the GNU_PROPERTY_X86_UINT32_VALID bit set. I am proposing the following changes: 1. Add PT_GNU_PROPERTY segment type: # define PT_GNU_PROPERTY (PT_LOOS + 0x474e553) which covers .note.gnu.property section. 2. Remove GNU_PROPERTY_X86_UINT32_VALID. bfd/ PR ld/23900 * elf.c (get_program_header_size): Add a PT_GNU_PROPERTY segment for NOTE_GNU_PROPERTY_SECTION_NAME. (_bfd_elf_map_sections_to_segments): Create a PT_GNU_PROPERTY segment for NOTE_GNU_PROPERTY_SECTION_NAME. * elfxx-x86.c (_bfd_elf_link_setup_gnu_properties): Don't set GNU_PROPERTY_X86_UINT32_VALID. binutils/ PR ld/23900 * readelf.c (get_segment_type): Support PT_GNU_PROPERTY. (decode_x86_isa): Don't check GNU_PROPERTY_X86_UINT32_VALID. (decode_x86_feature_1): Likewise. (decode_x86_feature_2): Likewise. (print_gnu_property_note): Remove GNU_PROPERTY_X86_UINT32_VALID check. * testsuite/binutils-all/i386/empty.d: Updated. * testsuite/binutils-all/x86-64/empty-x32.d: Likewise. * testsuite/binutils-all/x86-64/empty.d: Likewise. * testsuite/binutils-all/i386/pr21231b.s: Change GNU_PROPERTY_X86_ISA_1_USED bits to 0x7fffffff. * testsuite/binutils-all/x86-64/pr21231b.s: Likewise. gas/ PR ld/23900 * config/tc-i386.c (x86_cleanup): Don't set GNU_PROPERTY_X86_UINT32_VALID. * testsuite/gas/i386/property-1.s: Change GNU_PROPERTY_X86_ISA_1_USED bits to 0. include/ PR ld/23900 * elf/common.h (PT_GNU_PROPERTY): New. (GNU_PROPERTY_X86_UINT32_VALID): Removed. ld/ PR ld/23900 * testsuite/ld-elf/elf.exp: Run PR ld/23900 test. * testsuite/ld-elf/pr23900-1-32.rd: New file. * testsuite/ld-elf/pr23900-1-64.rd: Likewise. * testsuite/ld-elf/pr23900-1.d: Likewise. * testsuite/ld-elf/pr23900-1.s: Likewise. * testsuite/ld-elf/pr23900-2.s: Likewise. * testsuite/ld-elf/pr23900-2a.d: Likewise. * testsuite/ld-elf/pr23900-2b.d: Likewise. * testsuite/ld-i386/ibt-plt-1.d: Adjusted. * testsuite/ld-i386/ibt-plt-2c.d: Likewise. * testsuite/ld-i386/ibt-plt-2d.d: Likewise. * testsuite/ld-i386/ibt-plt-3d.d: Likewise. * testsuite/ld-x86-64/ibt-plt-1-x32.d: Likewise. * testsuite/ld-x86-64/ibt-plt-1.d: Likewise. * testsuite/ld-x86-64/ibt-plt-2c-x32.d: Likewise. * testsuite/ld-x86-64/ibt-plt-2c.d: Likewise. * testsuite/ld-x86-64/ibt-plt-2d-x32.d: Likewise. * testsuite/ld-x86-64/ibt-plt-2c.d: Likewise. * testsuite/ld-x86-64/ibt-plt-3c-x32.d: Likewise. * testsuite/ld-x86-64/ibt-plt-3c.d: Likewise. * testsuite/ld-x86-64/ibt-plt-3d-x32.d: Likewise. * testsuite/ld-x86-64/ibt-plt-3d.d: Likewise. * testsuite/ld-i386/pr23372c.d: Expect for GNU_PROPERTY_X86_ISA_1_USED. * testsuite/ld-x86-64/pr23372c-x32.d: Likewise. * testsuite/ld-x86-64/pr23372c.d: Likewise. * testsuite/ld-x86-64/pr23372d-x32.d: Likewise. * testsuite/ld-x86-64/pr23372d.d: Likewise. * testsuite/ld-x86-64/property-x86-5a.s: Change GNU_PROPERTY_X86_ISA_1_USED bits to 0. * testsuite/ld-x86-64/property-x86-5b.s: Likewise. commit 0681fa5ee5a1059b9415c4b0408030fd25bd26dd Author: GDB Administrator Date: Fri Dec 14 00:00:46 2018 +0000 Automatic date update in version.in commit c68033869a714b79f20d47ca54138c13439c05c0 Author: Jeff Law Date: Thu Dec 13 15:45:24 2018 -0700 Fix typo/thinko in last change. * dw2gencfi.c (output_cie): Add missing semicolon in last change. commit 64fdde094a2747e9aa729dfa4f1568c3d24ab80b Author: John Baldwin Date: Thu Dec 13 11:36:42 2018 -0800 Update the FreeBSD system call table to match FreeBSD 12.0. Add a script to generate the FreeBSD XML system call table from the sys/sys/syscall.h file in the kernel source tree. For ABI compatiblity system calls used by older binaries (such as freebsd11_kevent()), the original system call name is used as an alias. Run this script against the current syscall.h file in FreeBSD's head branch which is expected to be the file used in 12.0 (head is currently in code freeze as part of the 12.0 release process). gdb/ChangeLog: * syscalls/update-freebsd.sh: New file. * syscalls/freebsd.xml: Regenerate. commit e9076973c822e6df7f84bb8bc0b69aa42dd29eb3 Author: John Baldwin Date: Thu Dec 13 11:36:42 2018 -0800 Add an optional "alias" attribute to syscall entries. When setting a syscall catchpoint by name, catch syscalls whose name or alias matches the requested string. When the ABI of a system call is changed in the FreeBSD kernel, this is implemented by leaving a compatibility system call using the old ABI at the existing "slot" and allocating a new system call for the version using the new ABI. For example, new fields were added to the 'struct kevent' used by the kevent() system call in FreeBSD 12. The previous kevent() system call in FreeBSD 12 kernels is now called freebsd11_kevent() and is still used by older binaries compiled against the older ABI. The freebsd11_kevent() system call can be tagged with an "alias" attribute of "kevent" permitting 'catch syscall kevent' to catch both system calls and providing the expected user behavior for both old and new binaries. It also provides the expected behavior if GDB is compiled on an older host (such as a FreeBSD 11 host). gdb/ChangeLog: * NEWS: Add entry documenting system call aliases. * break-catch-syscall.c (catch_syscall_split_args): Pass 'result' to get_syscalls_by_name. * gdbarch.sh (UNKNOWN_SYSCALL): Remove. * gdbarch.h: Regenerate. * syscalls/gdb-syscalls.dtd (syscall): Add alias attribute. * xml-syscall.c [!HAVE_LIBEXPAT] (get_syscalls_by_name): Rename from get_syscall_by_name. Now accepts a pointer to a vector of integers and returns a bool. [HAVE_LIBEXPAT] (struct syscall_desc): Add alias member. (syscall_create_syscall_desc): Add alias parameter and pass it to syscall_desc constructor. (syscall_start_syscall): Handle alias attribute. (syscall_attr): Add alias attribute. (xml_get_syscalls_by_name): Rename from xml_get_syscall_number. Now accepts a pointer to a vector of integers and returns a bool. Add syscalls whose alias or name matches the requested name. (get_syscalls_by_name): Rename from get_syscall_by_name. Now accepts a pointer to a vector of integers and returns a bool. * xml-syscall.h (get_syscalls_by_name): Likewise. gdb/doc/ChangeLog: * gdb.texinfo (Set Catchpoints): Add an anchor for 'catch syscall'. (Native): Add a FreeBSD subsection. (FreeBSD): Document use of system call aliases for compatibility system calls. commit 4794efbfdc4b1497c1f47397b2a2c43382e3de78 Author: John Baldwin Date: Thu Dec 13 11:36:42 2018 -0800 Change get_syscalls_by_group to append to an existing vector of integers. This removes the need for the caller to explicitly manage the memory for the returned system call list. The sole caller only needed the system call numbers rather than the full syscall structures. get_syscalls_by_group now uses a boolean return value to indicate if the requested group exists. gdb/ChangeLog: * break-catch-syscall.c (catch_syscall_split_args): Pass 'result' to get_syscalls_by_group. * xml-syscall.c [!HAVE_LIBEXPAT] (get_syscalls_by_group): Return false. [HAVE_LIBEXPAT] (xml_list_syscalls_by_group): Append syscall numbers to an existing vector of integers and return a bool. (get_syscalls_by_group): Accept pointer to vector of integers and change return type to bool. * xml-syscall.h (get_syscalls_by_group): Likewise. commit b7c8601a7f2874de1bbe0dc38ef86ea053593ad8 Author: Jim Wilson Date: Thu Dec 13 10:48:23 2018 -0800 RISC-V: Correct printing of MSTATUS and MISA. * riscv-tdep.c (riscv_print_one_register_info): For MSTATUS, add comment for SD field, and correct xlen calculation. For MISA, add comment for MXL field, add call to register_size, and correct base calculation. commit 09038062534606ef9100b5474d136f7d2e543de4 Author: Sam Tebbs Date: Thu Dec 13 16:27:01 2018 +0000 Move aarch64 CIE code to aarch64 backend This commit moves all aarch64-specific code to deal with CIE structure introduced in 3a67e1a6b4430374f3073e51bb19347d4c421cfe from target-independent files to the aarch64 backend. 2018-12-13 Sam Tebbs binutils/ * dwarf.c (read_cie): Add check for 'B'. gas/ * config/tc-aarch64.h (enum pointer_auth_key, tc_fde_entry_extras, tc_cie_entry_extras, tc_fde_entry_init_extra, tc_output_cie_extra, tc_cie_fde_equivalent_extra, tc_cie_entry_init_extra): Define. * dw2gencfi.c (struct cie_entry): Add tc_cie_entry_extras invocation. (alloc_fde_entry, select_cie_for_fde): Add tc_fde_entry_init_extra invocation. (output_cie): Add tc_output_cie_extra invocation. (select_cie_for_fde): Add tc_cie_fde_equivalent_extra invocation. * dw2gencfi.h (enum pointer_auth_key): Move to config/tc-aarch64.h. (struct fde_entry): Add tc_fde_entry_extras invocation commit fe554d200d1befdc3bddc9e14f8593ea3446c351 Author: GDB Administrator Date: Thu Dec 13 00:00:36 2018 +0000 Automatic date update in version.in commit 66ac1ae906fc09806e827c8a06303fa7bed221eb Author: Stafford Horne Date: Thu Dec 13 06:06:12 2018 +0900 gdb: Update NEWS for OpenRISC Linux support gdb/ChangeLog: * NEWS(New targets): Add or1k*-*-linux*. commit c8749e5810115ad822ae22db8a8da4c92b0f285d Author: Philippe Waroquiers Date: Wed Dec 12 21:14:48 2018 +0100 OBVIOUS: Forward declare linux_xfer_osdata_info_os_types on one line to fix ARI warning. 2018-12-12 Philippe Waroquiers * nat/linux-osdata.c (linux_xfer_osdata_info_os_types): Forward declare on one line to fix ARI warning. commit b001de2320446ec803b4ee5e0b9710b025b84469 Author: Andrew Burgess Date: Mon Nov 26 17:56:39 2018 +0000 gdb: Update test pattern to deal with native-extended-gdbserver When running the test gdb.base/annota1.exp with: make check-gdb RUNTESTFLAGS="--target_board=native-extended-gdbserver gdb.base/annota1.exp" I would see a failure due to some unexpected lines in GDB's output. The extra lines (when compared with a native run) were about file transfer from the remote back to GDB. This commit extends the regexp for this test to allow for these extra lines, and also splits the rather long regexp up into a list of parts. With this change in place I see no failures for gdb.base/annota1.exp when using the native-extended-gdbserver target board, nor with a native run on X86-64/Linux. gdb/testsuite/ChangeLog: * gdb.base/annota1.exp: Update a test regexp. commit 6bf78e29a1dea7121f050c6ee4990298eec679dd Author: Andrew Burgess Date: Mon Nov 26 12:48:05 2018 +0000 gdb/infcall: Make infcall_suspend_state into a class I ran into a situation where attempting to make an inferior function call would trigger an assertion, like this: (gdb) call some_inferior_function () ../../src/gdb/regcache.c:310: internal-error: void regcache::restore(readonly_detached_regcache*): Assertion `src != NULL' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) The problem that triggers the assertion is that in the function save_infcall_suspend_state, we basically did this: 1. Create empty infcall_suspend_state object. 2. Fill fields of infcall_suspend_state object. The problem is causes is that if filling any of the fields triggered an exception then the infcall_suspend_state object would be deleted while in a partially filled in state. In the specific case I encountered, I had a remote RISC-V target that claimed in its target description to support floating point registers. However, this was not true, and when GDB tried to read a floating point register the remote sent back an error. This error would cause an exception to be thrown while creating the readonly_detached_regcache, which in turn caused GDB to try and delete an infcall_suspend_state which didn't have any register state, and this triggered the assertion. To prevent this problem we have two possibilities, either, rewrite the restore code the handle partially initialised infcall_suspend_state objects, or, prevent partially initialised infcall_suspend_state objects from existing. The second of these seems like a better solution. So, in this patch, I move the filling in of the different infcall_suspend_state fields within a new constructor for infcall_suspend_state. Now, if generating one of those fields fails the destructor for infcall_suspend_state will not be executed and GDB will not try to restore the partially saved state. With this patch in place GDB now behaves like this: (gdb) call some_inferior_function () Could not fetch register "ft0"; remote failure reply 'E99' (gdb) The inferior function call is aborted due to the error. This has been tested against x86-64/Linux native, native-gdbserver, and native-extended-gdbserver with no regressions. I've manually tested this against my baddly behaving target and confirmed the inferior function call is aborted as described above. gdb/ChangeLog: * infrun.c (infcall_suspend_state::infcall_suspend_state): New. (infcall_suspend_state::registers): New. (infcall_suspend_state::restore): New. (infcall_suspend_state::thread_suspend): Rename to... (infcall_suspend_state::m_thread_suspend): ...this. (infcall_suspend_state::registers): Rename to... (infcall_suspend_state::m_registers): ...this. (infcall_suspend_state::siginfo_gdbarch): Rename to... (infcall_suspend_state::m_siginfo_gdbarch): ...this. (infcall_suspend_state::siginfo_data): Rename to... (infcall_suspend_state::m_siginfo_data): ...this. (save_infcall_suspend_state): Rewrite to use infcall_suspend_state constructor. (restore_infcall_suspend_state): Rewrite to use infcall_suspend_state::restore method. (get_infcall_suspend_state_regcache): Use infcall_suspend_state::registers method. commit 4de3d8d06673d130e256a6ad81e5df2e412934c1 Author: Andrew Burgess Date: Tue Dec 4 15:56:09 2018 +0000 gdb/riscv: Handle passing variadic floating point arguments This commit fixes some test failures in gdb.base/varargs.exp when running on targets with floating point hardware. Floating point unnamed (variadic) arguments should be passed in integer registers according to the abi. After this commit I see no failures in gdb.base/varargs.exp on 32 or 64 bit targets with floating point hardware. gdb/ChangeLog: * riscv-tdep.c (riscv_call_arg_scalar_float): Unnamed (variadic) arguments are passed in integer registers. (riscv_call_arg_complex_float): Likewise. commit 13dc50ee16e1ff4180da61bdbd86e4a3c304b283 Author: Andre Vieira Date: Wed Dec 12 13:31:46 2018 +0000 [GAS][Arm] Skip Local BLX Thumb tests for arm-netbsdelf and arm-nto gas/ChangeLog 2018-12-12 Andre Vieira * testsuite/gas/arm/blx-local-thumb.d: Skip arm-nto and arm-netbsdelf. commit 60f9fdc9c2f43f2d578f707ac78c18251f6d4ae9 Author: GDB Administrator Date: Wed Dec 12 00:00:28 2018 +0000 Automatic date update in version.in commit 00863b8e40a0afd0daf0925acf3f7c794dfd9c73 Author: Max Filippov Date: Fri Dec 7 12:59:04 2018 -0800 bfd: xtensa: ignore overflow in hight part of const16 relocation 32-bit constants loaded by two const16 opcodes that involve relocation (e.g. calculated as a sum of a symbol and a constant) may overflow, resulting in linking error with the following message: dangerous relocation: const16: cannot encode: (_start+0x70000000) They should wrap around instead. Limit const16 opcode immediate field to 16 least significant bits to implement this wrap around. bfd/ 2018-12-11 Max Filippov * elf32-xtensa.c (elf_xtensa_do_reloc): Limit const16 opcode immediate field to 16 least significant bits. commit 750b258ef80992e76a3b03fe57dc9517e63de7f5 Author: Philippe Waroquiers Date: Sat Dec 8 17:28:31 2018 +0100 Fix leaks in all the linux osdata annex transfers + code factorization. Valgrind reports leaks in all linux osdata annex transfers of linux-osdata.c. A typical leak (this one is of gdb.base/info-os) is: ==10592== VALGRIND_GDB_ERROR_BEGIN ==10592== 65,536 bytes in 1 blocks are definitely lost in loss record 3,175 of 3,208 ==10592== at 0x4C2E273: realloc (vg_replace_malloc.c:826) ==10592== by 0x409B0C: xrealloc (common-utils.c:62) ==10592== by 0x408BC3: buffer_grow(buffer*, char const*, unsigned long) [clone .part.1] (buffer.c:40) ==10592== by 0x5263DF: linux_xfer_osdata_processes(unsigned char*, unsigned long, unsigned long) (linux-osdata.c:370) ==10592== by 0x520875: linux_nat_xfer_osdata (linux-nat.c:4214) ... The leaks are created because the linux_xfer_osdata_* functions transfer the ownership of their 'static struct buffer' memory to their 'static char *buf' local var, but then call buffer_free instead of xfree-ing buf. I see no reason why the ownership of the memory has to be transferred from a local var to another local var, so the fix consists in dropping the 'static char *buf' and accessing the struct buffer memory where needed. Also, because this bug was replicated in all functions, and there was a non neglectible amount of duplicated code, the setup and usage of the 'static struct buffer' is factorized in a new function common_getter. The buffer for a specific annex is now a member of the struct osdata_type instead of being a static var of each linux_xfer_osdata_* function. Thanks to this, all the linux_xfer_osdata_* do not have anymore any logic related to the partial transfer of data: they now only build the xml data in a struct buffer. This all removes about 300 SLOC. Note: git diff/git format-patch shows a lot of differences only due to space changes/indentation changes. So, git diff -w helps to look only at the relevant differences. gdb/ChangeLog 2018-12-11 Philippe Waroquiers * nat/linux-osdata.c (common_getter): New function. (struct osdata_type): Change getter to take_snapshot. Add LONGEST len_avail and struct buffer buffer. Change all elements in the initializer. Add an element for the list of types. (linux_xfer_osdata_info_os_types): New function. (linux_common_xfer_osdata): Use common_getter for the list of types. Replace getter call by common_getter. (linux_xfer_osdata_cpus): Remove args READBUF, OFFSET, LEN. Add arg BUFFER. Only keep the code that adds data in BUFFER. (linux_xfer_osdata_fds): Likewise. (linux_xfer_osdata_modules): Likewise. (linux_xfer_osdata_msg): Likewise. (linux_xfer_osdata_processes): Likewise. (linux_xfer_osdata_processgroups): Likewise. (linux_xfer_osdata_sem): Likewise. (linux_xfer_osdata_shm): Likewise. (linux_xfer_osdata_isockets): Likewise. (linux_xfer_osdata_threads): Likewise. commit 9f375018392171cb46dce2c929ee979c67035f26 Author: Philippe Waroquiers Date: Tue Dec 11 22:35:19 2018 +0100 Fix the date in the ChangeLog commit 326b0c1289f97a25f3846f1d1d8d32811bbd1789 Author: Philippe Waroquiers Date: Tue Dec 11 22:31:57 2018 +0100 PATCH/OBVIOUS Remove various trailing spaces in linux-osdata.c commit 550892eb5a320c5a55fb4f45750514cd16433baf Author: H.J. Lu Date: Tue Dec 11 06:18:12 2018 -0800 Fix a typo in scripttempl/elf32xc16x.sc * scripttempl/elf32xc16x.sc: Fix a typo. commit 209d1499de79eb23191f5761166180b80feb900a Author: H.J. Lu Date: Tue Dec 11 06:01:46 2018 -0800 xc16x: Add elf32_xc16x_rtype_to_howto Add elf32_xc16x_rtype_to_howto to get reloc_howto_type pointer from ELF32_R_TYPE. * elf32-xc16x.c (elf32_xc16x_rtype_to_howto): New function. (elf32_xc16x_relocate_section): Call elf32_xc16x_rtype_to_howto instead of xc16x_reloc_type_lookup to get reloc_howto_type. commit 69799d67e8872dcd3feee81ed2ff0fc47beb52d7 Author: Nick Clifton Date: Tue Dec 11 12:01:15 2018 +0000 Fix a failure in the libiberty testsuite by increasing the recursion limit to 2048. PR 88409 include * demangle.h (DEMANGLE_RECURSION_LIMIT): Increase to 2048. binutils* NEWS: Note that recursion limit has increased to 2048. * doc/binutils.texi: Likewise. commit 99e1a184a791d30c09a86d6eca4528dc146c2c79 Author: Andrew Burgess Date: Tue Dec 4 11:48:42 2018 +0000 gdb/riscv: Update test to handle targets without an fpu The FPU is optional on RISC-V. The gdb.base/float.exp test currently assumes that an fpu is always available on RISC-V. Update the test so that this is not the case. gdb/testsuite/ChangeLog: * gdb.base/float.exp: Handle RISC-V targets without an FPU. commit 8970c0224e3c36c565672089e38de42765e87f47 Author: Jim Wilson Date: Mon Dec 10 16:40:46 2018 -0800 RISC-V: Don't segfault for two regs in auipc or lui. gas/ PR gas/23954 * config/tc-riscv.c (my_getSmallExpression): Expand comment for register support. Set expr_end if parse a register. (riscv_ip) <'u'>: Break if imm_expr is not a symbol or constant. * testsuite/gas/riscv/auipc-parsing.d: New. * testsuite/gas/riscv/auipc-parsing.l: New. * testsuite/gas/riscv/auipc-parsing.s: New. commit 5136770380a3a829463d5ef29fa8339d386db51c Author: GDB Administrator Date: Tue Dec 11 00:00:36 2018 +0000 Automatic date update in version.in commit e771f7a770b07c676958247464962614266da755 Author: H.J. Lu Date: Mon Dec 10 04:08:52 2018 -0800 Correct gas/ChangeLog entry for PR gas/23968 commit 69cb29528eaf96ed82c25283586a8cc914130439 Author: Andrew Burgess Date: Mon Dec 10 10:18:46 2018 +0000 gdb/riscv: Remove whitespace before #include line This fixes an ARI warning in riscv-tdep.c that whitespace before a gdb/ChangeLog: * riscv-tdep.c (riscv_register_name): Fix ARI warning by removing leading whitespace before #include line. commit ecfe6254b5e27ba5dee0841d61d565cc1fe3318e Author: GDB Administrator Date: Mon Dec 10 00:00:44 2018 +0000 Automatic date update in version.in commit 9f52eab6a7a69870c7b5907a20b0305f30dbf2ae Author: H.J. Lu Date: Sun Dec 9 07:22:14 2018 -0800 x86: Put back BFD_RELOC_X86_64_GOTPCREL Put back BFD_RELOC_X86_64_GOTPCREL in TC_FORCE_RELOCATION_LOCAL, which was removed by commit 56ceb5b5405af23eddd12e12d8ba849010120324 Author: H.J. Lu Date: Thu Oct 22 04:49:20 2015 -0700 Add R_X86_64_[REX_]GOTPCRELX support to gas and ld by accident. commit 7a81c1e2d44c6eb11b2ea24dc71ee959ab3a5acd Author: Philippe Waroquiers Date: Sun Nov 4 20:54:05 2018 +0100 Fix tid-reuse sometimes blocks for a very long (infinite?) time. A failure that seems to cause a long/infinite time is the following: For a not clear reason, tid-reuse.c spawner thread sometimes gets an error: tid-reuse: /bd/home/philippe/gdb/git/build_moreaa/gdb/testsuite/../../../moreaa/gdb/testsuite/gdb.threads/tid-reuse.c:58: spawner_thread_func: Assertion `rc == 0' failed. which causes a SIGABRT to be trapped by gdb, and tid-reuse does not reach the after_count breakpoint: Thread 2 "tid-reuse" received signal SIGABRT, Aborted. [Switching to Thread 0x7ffff7518700 (LWP 10368)] __GI_raise (sig=sig@entry=6) at ../sysdeps/unix/sysv/linux/raise.c:51 51 ../sysdeps/unix/sysv/linux/raise.c: No such file or directory. (gdb) FAIL: gdb.threads/tid-reuse.exp: continue to breakpoint: after_count After that, tid-reuse.exp gets the value of reuse_time, but this one kept its initial value of -1 (as unsigned) : print reuse_time $1 = 4294967295 (gdb) PASS: gdb.threads/tid-reuse.exp: get reuse_time tid-reuse then dies, and the .exp script continues (with some FAIL) till it executes: set timeout [expr $reuse_time * 2] leading to the error: (gdb) ERROR: integer value too large to represent as non-long integer while executing "expect { -i exp8 -timeout 8589934590 -re ".*A problem internal to GDB has been detected" { fail "$message (GDB internal error)" gdb_intern..." ("uplevel" body line 1) invoked from within "uplevel $body" ARITH IOVERFLOW {integer value too large to represent as non-long integer} integer value too large to represent as non-long integer ERROR: GDB process no longer exists and then everything blocks. This last 'GDB process no longer exists' is strange, as I still see the gdb when this all blocks, e.g. philippe 16058 31085 0 20:30 pts/15 00:00:00 /bin/bash -c rootme=`pwd`; export rootme; srcdir=../../../binutils-gdb/gdb/testsuite ; export srcdir ; EXPECT=`if [ philippe 16386 16058 0 20:30 pts/15 00:00:00 expect -- /usr/share/dejagnu/runtest.exp --status GDB_PARALLEL=yes --outdir=outputs/gdb.threads/tid-reuse gdb.thre philippe 24848 16386 0 20:30 pts/20 00:00:00 /bd/home/philippe/gdb/git/build_binutils-gdb/gdb/testsuite/../../gdb/gdb -nw -nx -data-directory /bd/home/philip This patch gives a default value of 60, so that if ever something wrong happens in tid-reuse, then the value retrieved by the .exp script stays in a reasonable range. Simon verified the patch by: "I replaced the pthread_create call with the value 1 to simulate a failure, and the test succeeds to fail quickly with your patch applied. Without your patch, I get the infinite hang that you describe." Compared to V1: As suggested by Pedro, this version checks the pthread calls return code (in particular of pthread_create) and reports the failure reason, instead of just aborting. gdb/testsuite/ChangeLog 2018-12-09 Philippe Waroquiers * gdb.threads/tid-reuse.c (REUSE_TIME_CAP): Declare as 60. (reuse_time): Initialize to REUSE_TIME_CAP. (check_rc): New function. (main): Use REUSE_TIME_CAP instead of hardcoded 60. Check pthread_create rc. (spawner_thread_func): Check pthread_create and pthread_join rc. commit 2578ecb1b583408c7a75716edbd203995da373c7 Author: Simon Marchi Date: Sat Dec 8 19:35:47 2018 -0500 Look for tgetent in libtinfow On some systems where ncurses is only available in the "wide" version (compiled with --with-widec), there might be no libtinfo.so, only a libtinfow.so. Look for libtinfow in addition to libtinfo. gdb/ChangeLog: YYYY-MM-DD Simon Marchi Дилян Палаузов PR gdb/23950 * configure.ac: Search for tgetent in libtinfow. * configure: Re-generate. commit b5ac78ffc6779b5caab4d24a31a5e0b5cccf4858 Author: GDB Administrator Date: Sun Dec 9 00:00:45 2018 +0000 Automatic date update in version.in commit a2419b98d90e89acbef47dbc7a9047f4580fe99d Author: Philippe Waroquiers Date: Fri Dec 7 18:13:59 2018 +0100 Fix leak by using td_ta_delete() to deregister target process and deallocate internal process handle. Valgrind reports the below leak: ==25327== VALGRIND_GDB_ERROR_BEGIN ==25327== 672 bytes in 1 blocks are definitely lost in loss record 2,759 of 3,251 ==25327== at 0x4C2E07C: calloc (vg_replace_malloc.c:752) ==25327== by 0x7FDCB3E: ??? ==25327== by 0x532A7A: try_thread_db_load_1 (linux-thread-db.c:828) ==25327== by 0x532A7A: try_thread_db_load(char const*, int) (linux-thread-db.c:997) ==25327== by 0x53354D: try_thread_db_load_from_sdir (linux-thread-db.c:1074) ==25327== by 0x53354D: thread_db_load_search (linux-thread-db.c:1129) ==25327== by 0x53354D: thread_db_load() (linux-thread-db.c:1187) ==25327== by 0x611AF1: operator() (functional:2127) ==25327== by 0x611AF1: notify (observable.h:106) ==25327== by 0x611AF1: symbol_file_add_with_addrs(bfd*, char const*, enum_flags, std::vector >*, enum_flags, objfile*) (symfile.c:1158) ==25327== by 0x5F5C4A: solib_read_symbols(so_list*, enum_flags) (solib.c:691) ==25327== by 0x5F6A8B: solib_add(char const*, int, int) (solib.c:1003) ==25327== by 0x5F6BF7: handle_solib_event() (solib.c:1281) ==25327== by 0x3D0A94: bpstat_stop_status(address_space const*, unsigned long, thread_info*, target_waitstatus const*, bpstats*) (breakpoint.c:5417) ==25327== by 0x4FF133: handle_signal_stop(execution_control_state*) (infrun.c:5874) ==25327== by 0x502C29: handle_inferior_event_1 (infrun.c:5300) ==25327== by 0x502C29: handle_inferior_event(execution_control_state*) (infrun.c:5335) ==25327== by 0x5041DB: fetch_inferior_event(void*) (infrun.c:3868) ==25327== by 0x4A1E7C: gdb_wait_for_event(int) (event-loop.c:859) ... This leak is created because a call to td_ta_new allocates some resources that must be freed with td_ta_delete, and that was missing. With this patch, the nr of GDB executions leaking during regression tests decreases further from 566 to 380. Note that the gdbserver equivalent code is properly calling td_ta_delete: see thread_db_mourn in thread-db.c. Tests run natively on debian/amd64, and run under valgrind. gdb/ChangeLog 2018-12-08 Philippe Waroquiers * linux-thread-db.c (struct thread_db_info): Add td_ta_delete_p. (thread_db_err_str): Forward declare. (delete_thread_db_info): Call td_ta_delete_p if available. (try_thread_db_load_1): Acquire td_ta_delete address. * nat/gdb_thread_db.h (td_ta_delete_ftype): Declare. commit 73e8dc90a8a94bc52e29596b1cc176b882fbbc8e Author: Pedro Alves Date: Sat Dec 8 15:03:29 2018 +0000 Merge forward-search/reverse-search, use gdb::def_vector, remove limit Back in: commit 85ae1317add94adef4817927e89cff80b92813dd Author: Stan Shebs AuthorDate: Thu Dec 8 02:27:47 1994 +0000 * source.c: Various cosmetic changes. (forward_search_command): Handle very long source lines correctly. a buffer with a hard limit was converted to a heap buffer: @@ -1228,15 +1284,26 @@ forward_search_command (regex, from_tty) stream = fdopen (desc, FOPEN_RT); clearerr (stream); while (1) { -/* FIXME!!! We walk right off the end of buf if we get a long line!!! */ - char buf[4096]; /* Should be reasonable??? */ - register char *p = buf; + static char *buf = NULL; + register char *p; + int cursize, newsize; + + cursize = 256; + buf = xmalloc (cursize); + p = buf; However, reverse_search_command has the exact same problem, and that wasn't fixed. We still have that "we walk right off" comment... Recently, the xmalloc above was replaced with a xrealloc, because as can be seen above, that 'buf' variable above was a static local, otherwise we'd be leaking. This commit replaces that and the associated manual buffer growing with a gdb::def_vector. I don't think there's much point in reusing the buffer across command invocations. While doing this, I realized that reverse_search_command is almost identical to forward_search_command. So this commit factors out a common helper function instead of duplicating a lot of code. There are some tests for "forward-search" in gdb.base/list.exp, but since they use the "search" alias, they were a bit harder to find than expected. That's now fixed, both by testing both variants, and by adding some commentary. Also, there are no tests for the "reverse-search" command, so this commit adds some for that too. gdb/ChangeLog: 2018-12-08 Pedro Alves * source.c (forward_search_command): Rename to ... (search_command_helper): ... this. Add 'forward' parameter. Tweak to use a gdb::def_vector instead of a xrealloc'ed buffer. Handle backward searches too. (forward_search_command, reverse_search_command): Reimplement by calling search_command_helper. gdb/testsuite/ChangeLog: 2018-12-08 Pedro Alves * gdb.base/list.exp (test_forward_search): Rename to ... (test_forward_reverse_search): ... this. Also test reverse-search and the forward-search alias. commit c0ab2ae3cc9af434ba926015d82a39cdf42c70bf Author: Alan Modra Date: Sat Dec 8 13:22:51 2018 +1030 [GOLD] icf_safe_so_test PR 21128 * testsuite/icf_safe_so_test.sh (check_fold): Rewrite to check multiple symbols at once. (arch_specific_safe_fold): Likewise, and call with the four foo* symbols expected to fold. commit 7ca166c9408599e64c0cd3c5d3f0d00c8fae2d9e Author: Alan Modra Date: Sat Dec 8 11:49:20 2018 +1030 Fix strings.c endian issue and strings test git commit 71f5e3f7b624 obviously wasn't tested on a big-endian host, and the test fail message resulted in tcl errors. * strings.c (unget_part_char): New function. (print_strings): Use unget_part_char. Formatting. * testsuite/binutils-all/strings.exp (test_multibyte): Don't use square brackets in fail message. Expect "String1\nString2". commit 5aee1c38f938d4f7c9f8365fabf81e2d1f1ca051 Author: GDB Administrator Date: Sat Dec 8 00:00:28 2018 +0000 Automatic date update in version.in commit fbcc8bafeb413a111cd3caab39b3ab57d5b8ce93 Author: H.J. Lu Date: Fri Dec 7 15:39:49 2018 -0800 Override the previous definition from IR object Mark the previous definition from IR object as undefined so that the generic linker will override it. bfd/ PR ld/23958 * elflink.c (_bfd_elf_add_default_symbol): Override the previous definition from IR object. ld/ PR ld/23958 * testsuite/ld-plugin/lto.exp: Run PR ld/23958 test. * testsuite/ld-plugin/pr23958.c: New file. * testsuite/ld-plugin/pr23958.t: Likewise. commit d9c859da9fff9de47a33f52d75a6fef2495b3fc1 Author: Andrew Burgess Date: Fri Dec 7 10:45:01 2018 +0000 gdb/emacs/dir-locals: Update settings for c++-mode The current .dir-locals file for GDB causes files that would usually open in c-mode (for example, files ending in .c) to open in c++-mode. However, all of the other settings applied for c-mode appear to get reset when the file is switched over to c++-mode. For example, we currently say: (c-mode . ((c-file-style . "GNU") (mode . c++) (indent-tabs-mode . t) (tab-width . 8) (c-basic-offset . 2) (eval . (c-set-offset 'innamespace 0)) )) (c++-mode . ((eval . (when (fboundp 'c-toggle-comment-style) (c-toggle-comment-style 1))))) So, when we enter c++-mode `indent-tabs-mode` is reset to its global value, as are all of the other settings listed for c-mode. This commit copies all of the settings (except the `mode` setting) from the c-mode list to the c++-mode list. The emacs documentation doesn't mention that `mode` causes this resetting behaviour, so, in case this is an emacs bug, I'm using emacs version 26.1. Having the settings duplicated shouldn't cause any problems except for a slight maintenance overhead. gdb/ChangeLog: * .dir-locals.el: Copy most of the settings from c-mode over to c++-mode. commit 42e151bf4cc66b8781f2b139c6da320095f9a045 Author: Stafford Horne Date: Sat Dec 8 07:01:40 2018 +0900 gdb/or1k: Add linux debugging support Up until now OpenRISC GDB only has supported bare metal debugging. This patch adds linux userspace debugging and core dump analysis support. The changes are loosely based on nios2 and riscv implementations. This was tested with linux 4.20 core dumps for executables linked against musl libc. bfd/ChangeLog: * elf32-or1k.c (or1k_grok_prstatus): New function. (or1k_grok_psinfo): Likewise. gdb/ChangeLog: * Makefile.in (ALL_TARGET_OBS): Add or1k-linux-tdep.o. * configure.tgt: Add or1k*-*-linux*. * or1k-linux-tdep.c: New file. * or1k-tdep.c (or1k_gdbarch_init): Call gdbarch_init_osabi. commit f50fabe4f66534c9addacddeaa439e8d164eadda Author: Jim Wilson Date: Fri Dec 7 12:31:05 2018 -0800 RISC-V: Fix 4-arg add parsing. PR gas/23956 gas/ * config/tc-riscv.c (validate_riscv_insn) <'1'>: New case. (percent_op_null): New. (riscv_ip) <'j'>: Set imm_reloc before p. <'1'>: New case. <'0'>: Use percent_op_null and don't set imm_reloc. : Handle *args == '1'. * testsuite/gas/riscv/tprel-add.d: New. * testsuite/gas/riscv/tprel-add.l: New. * testsuite/gas/riscv/tprel-add.s: New. opcodes/ * riscv-opc.c (riscv_opcodes) <"add">: Use 1 not 0 for fourth arg. commit 8bebfcda34f2ea883fa6b87e748ad8a5f72b352f Author: Pedro Alves Date: Fri Dec 7 19:54:19 2018 +0000 Fix gdb build on 32-bit hosts w/ --enable-64-bit-bfd Building for x86_64/-m32 with --enable-64-bit-bfd, compilation fails with: src/gdb/dwarf2read.c: In instantiation of ‘gdb::array_view get_gdb_index_contents_from_section(objfile*, T*) [with T = dwarf2_per_objfile]’: src/gdb/dwarf2read.c:6266:54: required from here src/gdb/dwarf2read.c:6192:37: error: narrowing conversion of ‘section->dwarf2_section_info::size’ from ‘bfd_size_type {aka long long unsigned int}’ to ‘size_t {aka unsigned int}’ inside { } [-Werror=narrowing] return {section->buffer, section->size}; ~~~~~~~~~^~~~ This fixes it. gdb/ChangeLog: 2018-12-07 Pedro Alves * dwarf2read.c (get_gdb_index_contents_from_section): Use gdb::make_array_view. commit d2ef37ebd9f771d06edf1fdea37970f60b242b2d Author: H.J. Lu Date: Fri Dec 7 08:30:30 2018 -0800 elf: Report property change when merging properties With merging properties, report property change in linker map file, like Merging program properties Removed property 0xc0010000 to merge /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o (0x0) and /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crti.o (0x0) Removed property 0xc0000002 to merge /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o (0x3) and x.o (not found) Removed property 0xc0000000 to merge /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o (not found) and /usr/lib64/libc_nonshared.a(elf-init.oS) (0x0) Removed property 0xc0000001 to merge /usr/lib/gcc/x86_64-redhat-linux/8/../../../../lib64/crt1.o (not found) and /usr/lib64/libc_nonshared.a(elf-init.oS) (0x0) bfd/ * elf-properties.c (elf_find_and_remove_property): Add a bfd_boolean argument to indicate if the property should be removed. (elf_merge_gnu_property_list): Updated. Report property change in linker map file. (elf_get_gnu_property_section_size): Skip property_remove properties. (elf_write_gnu_properties): Likewise. (_bfd_elf_link_setup_gnu_properties): Report property merge in linker map file. Pass abfd to elf_merge_gnu_property_list. include/ * bfdlink.h (bfd_link_info): Add has_map_file. ld/ * NEWS: Updated for property change report. * ld.texi: Document property change report. * ldmain.c (main): Set link_info.has_map_file to TRUE when linker map file is used. * testsuite/ld-scripts/rgn-over1.d: Updated. * testsuite/ld-scripts/rgn-over2.d: Likewise. * testsuite/ld-scripts/rgn-over3.d: Likewise. * testsuite/ld-scripts/rgn-over4.d: Likewise. * testsuite/ld-scripts/rgn-over5.d: Likewise. * testsuite/ld-scripts/rgn-over6.d: Likewise. * testsuite/ld-scripts/rgn-over7.d: Likewise. * testsuite/ld-x86-64/property-x86-ibt1a-x32.d: Check linker map file. * testsuite/ld-x86-64/property-x86-ibt1a.d: Likewise. * testsuite/ld-x86-64/property-x86-ibt1a.map: New file. commit 4a8110007bf58be329f108374e00ef8ddc1fe3ec Author: Philippe Waroquiers Date: Tue Dec 4 23:28:14 2018 +0100 Fix a (one shot small) leak in language.c Valgrind detects the following leak: ==28395== VALGRIND_GDB_ERROR_BEGIN ==28395== 5 bytes in 1 blocks are definitely lost in loss record 20 of 2,770 ==28395== at 0x4C2BE2D: malloc (vg_replace_malloc.c:299) ==28395== by 0x41D9E7: xmalloc (common-utils.c:44) ==28395== by 0x78BF39: xstrdup (xstrdup.c:34) ==28395== by 0x51F1AC: _initialize_language() (language.c:1175) ==28395== by 0x6B3356: initialize_all_files() (init.c:308) ==28395== by 0x66D194: gdb_init(char*) (top.c:2159) ==28395== by 0x554C11: captured_main_1 (main.c:863) ==28395== by 0x554C11: captured_main (main.c:1167) ==28395== by 0x554C11: gdb_main(captured_main_args*) (main.c:1193) ==28395== by 0x29D837: main (gdb.c:32) ==28395== ==28395== VALGRIND_GDB_ERROR_END This is a very small leak (1 block/5 bytes), happening only once per GDB startup as far as I can see. But this fix make the nr of leaking GDB in the testsuite decreasing from 628 to 566. It is unclear why a xstrdup-ed value is assigned to 'language' at initialization time, while a static "auto" string is assigned as part of the set_language_command. So, that shows that it is ok to initialize 'language' directly with "auto". Also, I cannot find any place where 'language' is xfree-d. No leak was detected for 'range' and 'case_sensitive', but similarly, no indication why a static string cannot be assigned. Regression-tested on debian/x86_64. Also, full testsuite run under valgrind, less tests leaking, and no dangling pointer problem detected. gdb/ChangeLog 2018-12-05 Philippe Waroquiers * language.c (_initialize_language): Fix leak by assigning a static string to language. Same for range and case_sensitive, even if no leak is detected for these variables. commit c2f5dc30afa34696f2da0081c4ac50b958ecb0e9 Author: Alan Modra Date: Fri Dec 7 23:39:42 2018 +1030 PR23952, memory leak in _bfd_generic_read_minisymbols bfd/ PR 23952 * syms.c (_bfd_generic_read_minisymbols): Free syms before returning with zero symcount. binutils/ * nm.c (display_rel_file): Use xrealloc to increase minisyms for synthetic symbols. commit af03af8f55f2536b6e20928e6b1fa0324a5f3d6e Author: Nick Clifton Date: Fri Dec 7 11:32:55 2018 +0000 Synchronize libiberty with gcc and add --no-recruse-limit option to tools that support name demangling. This patch addresses the multitude of bug reports about resource exhaustion in libiberty's name demangling code. It adds a limit to the amount of recursion that is allowed, before an error is triggered. It also adds a new demangling option to disable this limit. (The limit is enabled by default). PR 87681 PR 87675 PR 87636 PR 87335 libiberty * cp-demangle.h (struct d_info): Add recursion_limit field. * cp-demangle.c (d_function_type): If the recursion limit is enabled and reached, return with a failure result. (d_demangle_callback): If the recursion limit is enabled, check for a mangled string that is so long that there is not enough stack space for the local arrays. * cplus-dem.c (struct work): Add recursion_level field. (demangle_nested_args): If the recursion limit is enabled and reached, return with a failure result. include * demangle.h (DMGL_RECURSE_LIMIT): Define. (DEMANGLE_RECURSION_LIMIT): Prototype. binutuils * addr2line.c (demangle_flags): New static variable. (long_options): Add --recurse-limit and --no-recurse-limit. (translate_address): Pass demangle_flags to bfd_demangle. (main): Handle --recurse-limit and --no-recurse-limit options. * cxxfilt.c (flags): Add DMGL_RECURSE_LIMIT. (long_options): Add --recurse-limit and --no-recurse-limit. (main): Handle new options. * dlltool.c (gen_def_file): Include DMGL_RECURSE_LIMIT in flags passed to cplus_demangle. * nm.c (demangle_flags): New static variable. (long_options): Add --recurse-limit and --no-recurse-limit. (main): Handle new options. * objdump.c (demangle_flags): New static variable. (usage): Add --recurse-limit and --no-recurse-limit. (long_options): Likewise. (objdump_print_symname): Pass demangle_flags to bfd_demangle. (disassemble_section): Likewise. (dump_dymbols): Likewise. (main): Handle new options. * prdbg.c (demangle_flags): New static variable. (tg_variable): Pass demangle_flags to demangler. (tg_start_function): Likewise. * stabs.c (demangle_flags): New static variable. (stab_demangle_template): Pass demangle_flags to demangler. (stab_demangle_v3_argtypes): Likewise. (stab_demangle_v3_arg): Likewise. * doc/binutuls.texi: Document new command line options. * NEWS: Mention the new feature. * testsuite/config/default.exp (CXXFILT): Define if not already defined. (CXXFILTFLAGS): Likewise. * testsuite/binutils-all/cxxfilt.exp: New file. Runs a few simple tests of the cxxfilt program. commit 67bb16f345cb72740ab523018709c183ff3f8c8d Author: GDB Administrator Date: Fri Dec 7 00:00:46 2018 +0000 Automatic date update in version.in commit 9da0a9988db7c9db92edaa3dc98f2a0648782b71 Author: H.J. Lu Date: Thu Dec 6 12:28:46 2018 -0800 gold: Provide more failed archive member info in error message When gold fails to get an archive member, its error message doesn't have information for 1. The failed archive member name. 2. The cause of failure: non-ELF object vs non-IR object. This patch adds the failed archive member name and non-ELF/non-IR info to gold error message. * archive.cc (Archive::get_elf_object_for_member): Also print archive member and non-ELF/non-IR info on error. commit bb6bf75e7a1f9aaf0283895705710f415b81b6b1 Author: Alan Modra Date: Thu Dec 6 20:51:27 2018 +1030 PowerPC @l, @h and @ha warnings, plus VLE e_li This patch started off just adding the warnings in tc-ppc.c about incorrect usage of @l, @h and @ha in instructions that don't have 16-bit D-form fields. That unfortunately showed up three warnings in ld/testsuite/ld-powerpc/vle-multiseg.s on instructions like e_li r3, IV_table@l+0x00 which was being assembled to 8: 70 60 00 00 e_li r3,0 a: R_PPC_ADDR16_LO IV_table The ADDR16_LO reloc is of course completely bogus on e_li, which has a split 20-bit signed integer field in bits 0x1f7fff, the low 11 bit in 0x7ff, the next 5 bits in 0x1f0000, and the high 4 bits in 0x7800. Applying an ADDR16_LO reloc to the instruction potentially changes the e_li instruction to e_add2i., e_add2is, e_cmp16i, e_mull2i, e_cmpl16i, e_cmph16i, e_cmphl16i, e_or2i, e_and2i., e_or2is, e_lis, e_and2is, or some invalid encodings. Now there is a relocation that suits e_li, R_PPC_VLE_ADDR20, which was added 2017-09-05 but I can't see code in gas to generate the relocation. In any case, VLE_ADDR20 probably doesn't have the correct semantics for @l since ideally you'd want an @l to pair with @h or @ha to generate a 32-bit constant. Thus @l should only produce a 16-bit value, I think. So we need some more relocations to handle e_li it seems, or as I do in this patch, modify the behaviour of existing relocations when applied to e_li instructions. include/ * opcode/ppc.h (E_OPCODE_MASK, E_LI_MASK, E_LI_INSN): Define. bfd/ * elf32-ppc.c (ppc_elf_howto_raw ): Correct mask and shift value. (ppc_elf_vle_split16): Use E_OPCODE_MASK. Handle e_li specially. gas/ * config/tc-ppc.c (md_assemble): Adjust relocs for VLE before TLS tweaks. Handle e_li. Warn on unexpected operand field for lo16/hi16/ha16 relocs. commit 23ebf37881dda7fcf9dd86125705a30b6e2084ce Author: Andrew Burgess Date: Tue Oct 16 10:49:15 2018 +0100 sim/cris: Fix references to cgen cpu directory Don't assume that cgen is located within the binutils-gdb tree. We already have CGEN_CPU_DIR and CPU_DIR defined, these are the cpu/ directory within cgen, and the cpu/ directory within binutils-cpu. The cris target tries to find CPU_DIR relative to the cgen source tree, which can be wrong when building with an out of tree cgen. sim/cris/ChangeLog: * Makefile.in: Replace uses of CGEN_CPU_DIR with CPU_DIR, and remove the definition of CGEN_CPU_DIR. commit 7fb45a689543be75809a0513900d82f5bd859338 Author: Andrew Burgess Date: Wed Oct 10 14:58:10 2018 +0100 sim/opcodes: Allow use of out of tree cgen source directory When configuring with '--enbale-cgen-maint' the default for both the opcodes/ and sim/ directories is to assume that the cgen source is within the binutils-gdb source tree as binutils-gdb/cgen/. In the old cvs days, this worked well, as cgen was just another sub-module of the single cvs repository and could easily be checked out within the binutils-gdb directory, and managed by cvs in the normal way. Now that binutils-gdb is in git, while cgen is still in cvs, placing the cgen respository within the binutils-gdb tree is more troublesome, and it would be nice if the two tools could be kept separate. Luckily there is already some initial code in the configure.ac files for both opcodes/ and sim/ to support having cgen be located outside of the binutils-gdb tree, however, this was speculative code written imagining a future where cgen would be built and installed to some location. Right now there is no install support for cgen, and so the configure code in opcodes/ and sim/ doesn't really do anything useful. In this commit I repurpose this code to allow binutils-gdb to be configured so that it can make use of a cgen source directory that is outside of the binutils-gdb tree. With this commit applied it is now possible to configure and build binutils-gdb like this: /path/to/binutils-gdb/src/configure --enable-cgen-maint=/path/to/cgen/src/cgen/ make all-opcodes make -C opcodes run-cgen-all Just in case anyone is still using cgen inside the binutils-gdb tree, I have left the default behaviour of '--enable-cgen-maint' (with no parameter) unchanged, that is it looks for the cgen directory as 'binutils-gdb/cgen/'. opcodes/ChangeLog: * configure.ac (enable-cgen-maint): Support passing path to cgen source tree. * configure: Regenerate. sim/ChangeLog: * common/acinclude.m4 (enable-cgen-maint): Support passing path to cgen source tree. * cris/configure: Regenerate. * frv/configure: Regenerate. * iq2000/configure: Regenerate. * lm32/configure: Regenerate. * m32r/configure: Regenerate. * or1k/configure: Regenerate. * sh64/configure: Regenerate. commit 884b49e3a91504b9c5528343823d67f4419b73bb Author: Andrew Burgess Date: Mon Dec 3 14:46:18 2018 +0000 opcodes/riscv: Hide '.L0 ' fake symbols The RISC-V assembler generates fake labels with the name '.L0 ' as part of the debug information (see gas/config/tc-riscv.h:FAKE_LABEL_NAME). The problem is that currently, when disassembling an object file, the output looks like this (this is an example from the GDB testsuite, but is pretty representative of anything with debug information): 000000000000001e
: 1e: 7179 addi sp,sp,-48 20: f406 sd ra,40(sp) 22: f022 sd s0,32(sp) 24: 1800 addi s0,sp,48 0000000000000026 <.L0 >: 26: 87aa mv a5,a0 28: feb43023 sd a1,-32(s0) 2c: fcc43c23 sd a2,-40(s0) 30: fef42623 sw a5,-20(s0) 0000000000000034 <.L0 >: 34: fec42783 lw a5,-20(s0) 38: 0007871b sext.w a4,a5 3c: 678d lui a5,0x3 3e: 03978793 addi a5,a5,57 # 3039 <.LASF30+0x2a9d> 42: 02f71463 bne a4,a5,6a <.L0 > 0000000000000046 <.L0 >: 46: 000007b7 lui a5,0x0 4a: 0007b783 ld a5,0(a5) # 0 4e: 6f9c ld a5,24(a5) 0000000000000050 <.L0 >: 50: 86be mv a3,a5 52: 466d li a2,27 54: 4585 li a1,1 56: 000007b7 lui a5,0x0 5a: 00078513 mv a0,a5 5e: 00000097 auipc ra,0x0 62: 000080e7 jalr ra # 5e <.L0 +0xe> 0000000000000066 <.L0 >: 66: 4785 li a5,1 68: a869 j 102 <.L0 > 000000000000006a <.L0 >: 6a: 000007b7 lui a5,0x0 6e: 00078513 mv a0,a5 72: 00000097 auipc ra,0x0 76: 000080e7 jalr ra # 72 <.L0 +0x8> The frequent repeated '.L0 ' labels are pointless, as they are non-unique there's no way to match a use of '.L0 ' to its appearence in the output, so we'd be better off just not printing it at all. That's what this patch does by defining a 'symbol_is_valid' method for RISC-V. With this commit, the same disassembly now looks like this: 000000000000001e
: 1e: 7179 addi sp,sp,-48 20: f406 sd ra,40(sp) 22: f022 sd s0,32(sp) 24: 1800 addi s0,sp,48 26: 87aa mv a5,a0 28: feb43023 sd a1,-32(s0) 2c: fcc43c23 sd a2,-40(s0) 30: fef42623 sw a5,-20(s0) 34: fec42783 lw a5,-20(s0) 38: 0007871b sext.w a4,a5 3c: 678d lui a5,0x3 3e: 03978793 addi a5,a5,57 # 3039 <.LASF30+0x2a9d> 42: 02f71463 bne a4,a5,6a <.L4> 46: 000007b7 lui a5,0x0 4a: 0007b783 ld a5,0(a5) # 0 4e: 6f9c ld a5,24(a5) 50: 86be mv a3,a5 52: 466d li a2,27 54: 4585 li a1,1 56: 000007b7 lui a5,0x0 5a: 00078513 mv a0,a5 5e: 00000097 auipc ra,0x0 62: 000080e7 jalr ra # 5e 66: 4785 li a5,1 68: a869 j 102 <.L5> 000000000000006a <.L4>: 6a: 000007b7 lui a5,0x0 6e: 00078513 mv a0,a5 72: 00000097 auipc ra,0x0 76: 000080e7 jalr ra # 72 <.L4+0x8> In order to share the fake label between the assembler and the libopcodes library, I've added some new defines RISCV_FAKE_LABEL_NAME and RISCV_FAKE_LABEL_CHAR in include/opcode/riscv.h. I could have just moved FAKE_LABEL_NAME to the include file, however, I thnk this would be confusing, someone working on the assembler would likely not expect to find FAKE_LABEL_NAME defined outside of the assembler source tree. By introducing the RISCV_FAKE_LABEL_* defines I can leave the assembler standard FAKE_LABEL_ defines in the assembler source, but still share the RISCV_FAKE_LABEL_* with libopcodes. gas/ChangeLog: * config/tc-riscv.h (FAKE_LABEL_NAME): Define as RISCV_FAKE_LABEL_NAME. (FAKE_LABEL_CHAR): Define as RISCV_FAKE_LABEL_CHAR. include/ChangeLog: * dis-asm.h (riscv_symbol_is_valid): Declare. * opcode/riscv.h (RISCV_FAKE_LABEL_NAME): Define. (RISCV_FAKE_LABEL_CHAR): Define. opcodes/ChangeLog: * disassembler.c (disassemble_init_for_target): Add RISC-V initialisation. * riscv-dis.c (riscv_symbol_is_valid): New function. commit eb7be1abbc59b49e5f60b9ad075496eb619674ae Author: GDB Administrator Date: Thu Dec 6 00:00:31 2018 +0000 Automatic date update in version.in commit 2861ee4fde97d0afafc506380c5deaf71c8439ac Author: John Baldwin Date: Wed Dec 5 10:51:16 2018 -0800 Use separate sed expressions to escape auto-load directories. Not all sed implementations support alternation via \| in the default regular expressions. Instead, resort to separate sed expressions via -e for $debugdir and $datadir. This fixes the default setting of the auto-load directories on FreeBSD. Previously on FreeBSD the sed invocation was a no-op causing the debugdir and datadir values to be expanded yielding an autoload path of ':${prefix}/share/gdb'. gdb/ChangeLog: * configure: Re-generate. * configure.ac: Use separate sed expressions to escape variables in auto-load directories. commit 3a67e1a6b4430374f3073e51bb19347d4c421cfe Author: Sam Tebbs Date: Wed Dec 5 18:27:23 2018 +0000 [aarch64] Add support for pointer authentication B key Armv8.3-A has another key used in pointer authentication called the B-key (other than the A-key that is already supported). In order for stack unwinders to work it is necessary to be able to identify frames that have been signed with the B-key rather than the A-key and it was felt that keeping this as an augmentation character in the CIE was the best bet. The DWARF extensions for ARM therefore propose to add a new augmentation character 'B' to the CIE augmentation string and the corresponding cfi directive ".cfi_b_key_frame". I've made the relevant changes to GAS and LD to add support for B-key unwinding, which required modifying LD to check for 'B' in the augmentation string, adding the ".cfi_b_key_frame" directive to GAS and adding a "pauth_key" field to GAS's fde_entry and cie_entry structs. The pointer authentication instructions will behave as NOPs on architectures that don't support them, and so a check for the architecture being assembled for is not necessary since there will be no behavioural difference between augmentation strings with and without the 'B' character on such architectures. 2018-12-05 Sam Tebbs bfd/ * elf-eh-frame.c (_bfd_elf_parse_eh_frame): Add check for 'B'. gas/ * dw2gencfi.c (struct cie_entry): Add tc_cie_entry_extras invocation. (alloc_fde_entry): Add tc_fde_entry_init_extra invocation. (output_cie): Add tc_output_cie_extra invocation. (select_cie_for_fde): Add tc_cie_fde_equivalent_extra and tc_cie_entry_init_extra invocation. (frch_cfi_data, cfa_save_data): Move to dwgencfi.h. * config/tc-aarch64.c (s_aarch64_cfi_b_key_frame): Declare. (md_pseudo_table): Add "cfi_b_key_frame". * config/tc-aarch64.h (tc_fde_entry_extras, tc_cie_entry_extras, tc_fde_entry_init_extra, tc_output_cie_extra, tc_cie_fde_equivalent_extra, tc_cie_entry_init_extra): Define. * dw2gencfi.h (struct fde_entry): Add tc_fde_entry_extras invocation. (pointer_auth_key): Define. (frch_cfi_data, cfa_save_data): Move from dwgencfi.c. * doc/c-aarch64.texi (.cfi_b_key_frame): Add documentation. * testsuite/gas/aarch64/(pac_ab_key.d, pac_ab_key.s): New file. commit 90af06793e9d391c0aa33994f21bba6971d084f7 Author: Andrew Burgess Date: Mon Dec 3 17:48:49 2018 +0000 gdb/riscv: Improve logic for when h/w float abi should be used Currently, if the target announces that it has floating point registers in its target description then GDB assumes that the hardware float ABI should be used. However, there's nothing stopping a user compiling a program for the soft-float abi, and then trying to run this on a target with hardware floating point registers. This commit adjusts the logic that decides if GDB should use the hardware float abi. The primary decision now is based on what the ELF currently being executed says in its headers. If the file was compiled for h/w float abi, then GDB uses h/w float abi, otherwise s/w float is used. If the current BFD is not an ELF then we don't currently have a mechanism for figuring out if the file was compiled for float or not. In this case we disable the h/w float abi. This shouldn't be a problem as, right now, the RISC-V linker can only produce ELFs. If there is NO current BFD (can this happen?) then we will enable h/w float abi if the target has floating point hardware, otherwise, s/w float abi is used. This commit also adds some sanity checking that the features requested in the BFD (xlen and flen) match the target description. For testing I ran the testsuite on a target that returns a target description containing both integer and floating point registers, but used a compiler that didn't have floating point support. Before this commit I would see failures on may tests that made inferior calls using floating point arguments, after this commit, all of these issues are resolved. One example from the testsuite is gdb.base/infcall-nested-structs.exp. gdb/ChangeLog: * riscv-tdep.c (riscv_features_from_gdbarch_info): New function. (riscv_find_default_target_description): Use new function to extract feature from gdbarch_info. (riscv_gdbarch_init): Add error checks for xlen and flen between target description and bfd headers. Be smarter about when we think the hardware floating point abi should be used. commit 13f2ed32e14311bdcdb9d6efe263486d5d128cfd Author: Andrew Burgess Date: Tue Dec 4 11:29:47 2018 +0000 gdb/testsuite/sim: Remove redundant setting of timeout In the config/sim.exp file two functions are defined. Both of these functions define local timeout variables and then call gdb_expect, which (through a call to get_largest_timeout) will find the local definition of timeout. However, both of these functions set the local timeout to some arbitrary value and print a log message for this "new" timeout just before returning. As in both cases, the timeout is a local variable, this final setting of the timeout has no effect and can be removed. As having log messages about the timeout being adjusted could cause confusion I've removed all logging related to timeouts in this function, timeouts are adjusted throughout the testsuite without any logging, there doesn't seem to be any good reason why these functions should get their own logging. With the logging gone there seems to be little need to a local timeout variable at all, and so I've folded the local timeout directly into the call to gdb_expect. gdb/testsuite/ChangeLog: * config/sim.exp (gdb_target_sim): Remove redundant adjustment of local timeout variable before return, and remove all local timeout variable entirely. (gdb_load): Likewise. commit 754e31689866524049b9cfc68053ed4e1293cfac Author: Alan Hayward Date: Wed Dec 5 10:34:54 2018 +0000 AArch64: Racy: Don't set empty set of hardware BPs/WPs on new thread On some heavily loaded AArch64 boxes, GDB will sometimes hang forever when the inferior creates a thread. This hang happens inside the kernel during the ptrace call to set hardware watchpoints or hardware breakpoints. Currently, GDB will always set hw wp/bp at the start of each thread even if there are none set in the process. This patch works around the issue by avoiding setting hw wp/bp if there are none set for the process. On an effected machine, this fix drastically reduces the racy nature of the gdb.threads test set. I ran the entire gdb test suite across all processors for 100 iterations, then ran the results through the racy tests script. Without the patch, 58 .exp files in gdb.threads were marked as racy. After the patch this reduced to the same ~14 tests as the non effected boxes. Clearly GDB will still be subject to hangs on an effect box if hw wp/bp's are used prior to creating inferior threads on a heavily loaded system. To enable this in gdbserver, the sequence in gdbserver add_lwp() is switched to the same as gdb order as gdb, to ensure the thread is registered before calling new_thread(). This allows aarch64_linux_new_thread() to read the ptid. gdb/ChangeLog: * nat/aarch64-linux-hw-point.c (aarch64_linux_any_set_debug_regs_state): New function. * nat/aarch64-linux-hw-point.h (aarch64_linux_any_set_debug_regs_state): New declaration. * nat/aarch64-linux.c (aarch64_linux_new_thread): Check if any BPs or WPs are set. gdb/gdbserver/ChangeLog: * linux-low.c (add_lwp): Switch ordering. commit 9af7cc783aebb975a487747e530030b47beeca09 Author: Alan Modra Date: Wed Dec 5 12:19:34 2018 +1030 gold won't build with gcc-9 * symtab.h (Symbol::Symbol): Avoid -Wclass-memaccess warning. commit 706adc34932232926678abf9fe8bd530492d9e5a Author: GDB Administrator Date: Wed Dec 5 00:00:40 2018 +0000 Automatic date update in version.in commit fde51dd189a1f8a63896bcb845ef36ea5e1917d5 Author: H.J. Lu Date: Tue Dec 4 06:00:57 2018 -0800 x86: Don't remove empty GNU_PROPERTY_X86_UINT32_OR_AND properties For GNU_PROPERTY_X86_COMPAT_ISA_1_USED and GNU_PROPERTY_X86_UINT32_OR_AND properties, a bit in the output pr_data field is set if it is set in any relocatable input pr_data fields and this property is present in all relocatable input files. A missing property implies that its bits have unknown values. When all bits in the the output pr_data field are zero, this property should not be removed from output to indicate it has zero in all bits. bfd/ PR ld/23372 * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Don't remove empty properties for GNU_PROPERTY_X86_COMPAT_ISA_1_USED and GNU_PROPERTY_X86_UINT32_OR_AND. (_bfd_x86_elf_link_fixup_gnu_properties): Likewise. ld/ PR ld/23372 * testsuite/ld-i386/pr23372a.d: Updated. * testsuite/ld-i386/pr23372c.d: Likewise. * testsuite/ld-x86-64/pr23372a-x32.d: Likewise. * testsuite/ld-x86-64/pr23372a.d: Likewise. * testsuite/ld-x86-64/pr23372c-x32.d: Likewise. * testsuite/ld-x86-64/pr23372c.d: Likewise. commit f4238194a211a6a27598a7fdf9ad63f9b5d6fbaa Author: Alexey Neyman Date: Mon Dec 3 23:50:48 2018 -0800 Restore build on x86_64-w64-mingw32. gold/ PR gold/23594 * configure.ac: Add checks for link, mkdtemp. * configure: Regenerate. * config.in: Regenerate. * plugin.cc (Plugin_recorder::init): Fall back to mktemp if mkdtemp is not available. (link_or_copy_file): Fall back to copy if link() is not available. commit 314a80c41d52737c9cfdc80dc2f6f56e0d5cfd96 Author: wu.heng Date: Mon Dec 3 12:32:13 2018 +1030 PR23939, Check frch_cfi_data before use PR 23939 * dw2gencfi.c (dot_cfi_label): Check frch_cfi_data is non-NULL before use. commit b90514cfb5e1f9dcc2c0b89e22b65dd6c7879564 Author: GDB Administrator Date: Tue Dec 4 00:00:27 2018 +0000 Automatic date update in version.in commit 1080bf78c05b220f5f4bbc5c50d6a0ef6490d738 Author: Jim Wilson Date: Mon Dec 3 13:59:44 2018 -0800 RISC-V: Accept version, supervisor ext and more than one NSE for -march. This patch moves all -march parsing logic into bfd, because we will use this code in ELF attributes. bfd/ * elfxx-riscv.h (RISCV_DONT_CARE_VERSION): New macro. (struct riscv_subset_t): New structure. (riscv_subset_t): New typedef. (riscv_subset_list_t): New structure. (riscv_release_subset_list): New prototype. (riscv_add_subset): Likewise. (riscv_lookup_subset): Likewise. (riscv_lookup_subset_version): Likewise. (riscv_release_subset_list): Likewise. * elfxx-riscv.c: Include safe-ctype.h. (riscv_parsing_subset_version): New function. (riscv_supported_std_ext): Likewise. (riscv_parse_std_ext): Likewise. (riscv_parse_sv_or_non_std_ext): Likewise. (riscv_parse_subset): Likewise. (riscv_add_subset): Likewise. (riscv_lookup_subset): Likewise. (riscv_lookup_subset_version): Likewise. (riscv_release_subset_list): Likewise. gas/ * config/tc-riscv.c: Include elfxx-riscv.h. (struct riscv_subset): Removed. (riscv_subsets): Change type to riscv_subset_list_t. (riscv_subset_supports): Removed argument: xlen_required and move logic into libbfd. (riscv_multi_subset_supports): Removed argument: xlen_required. (riscv_clear_subsets): Removed. (riscv_add_subset): Ditto. (riscv_set_arch): Extract parsing logic into libbfd. (riscv_ip): Update argument for riscv_multi_subset_supports and riscv_subset_supports. Update riscv_subsets due to struct definition changed. (riscv_after_parse_args): Update riscv_subsets due to struct definition changed, update and argument for riscv_subset_supports. * testsuite/gas/riscv/empty.s: New. * testsuite/gas/riscv/march-fail-rv32ef.d: Likewise. * testsuite/gas/riscv/march-fail-rv32ef.l: Likewise. * testsuite/gas/riscv/march-fail-rv32i.d: Likewise. * testsuite/gas/riscv/march-fail-rv32i.l: Likewise. * testsuite/gas/riscv/march-fail-rv32iam.d: Likewise. * testsuite/gas/riscv/march-fail-rv32iam.l: Likewise. * testsuite/gas/riscv/march-fail-rv32ic.d: Likewise. * testsuite/gas/riscv/march-fail-rv32ic.l: Likewise. * testsuite/gas/riscv/march-fail-rv32icx2p.d: Likewise. * testsuite/gas/riscv/march-fail-rv32icx2p.l: Likewise. * testsuite/gas/riscv/march-fail-rv32imc.d: Likewise. * testsuite/gas/riscv/march-fail-rv32imc.l: Likewise. * testsuite/gas/riscv/march-fail-rv64I.d: Likewise. * testsuite/gas/riscv/march-fail-rv64I.l: Likewise. * testsuite/gas/riscv/march-fail-rv64e.d: Likewise. * testsuite/gas/riscv/march-fail-rv64e.l: Likewise. * testsuite/gas/riscv/march-ok-g2.d: Likewise. * testsuite/gas/riscv/march-ok-g2p0.d: Likewise. * testsuite/gas/riscv/march-ok-i2p0.d: Likewise. * testsuite/gas/riscv/march-ok-nse-with-version.: Likewise.d * testsuite/gas/riscv/march-ok-s-with-version.d: Likewise. * testsuite/gas/riscv/march-ok-s.d: Likewise. * testsuite/gas/riscv/march-ok-sx.d: Likewise. * testsuite/gas/riscv/march-ok-two-nse.d: Likewise. * testsuite/gas/riscv/march-ok-g2_p1.d: Likewise. * testsuite/gas/riscv/march-ok-i2p0m2_a2f2.d: Likewise. include/ * opcode/riscv.h (riscv_opcode): Change type of xlen_requirement to unsigned. opcodes/ * riscv-opc.c: Change the type of xlen, because type of xlen_requirement changed. commit 57b64c4103ffeadd524eb80b4a7d61be8c8ec871 Author: Egeyar Bagcioglu Date: Mon Dec 3 17:31:44 2018 +0000 [aarch64] - Only use MOV for disassembly when shifter op is LSL #0 ARM Architecture Reference Manual for the profile ARMv8-A, Issue C.a, states that MOV (register) is an alias of the ORR (shifted register) iff shift == '00' && imm6 == '000000' && Rn == '11111'. However, mov is currently preferred for a broader range of orr instructions, which is incorrect. 2018-12-03 Egeyar Bagcioglu opcodes: PR 23193 PR 19721 * aarch64-tbl.h (aarch64_opcode_table): Only disassemble an ORR encoding as MOV if the shift operation is a left shift of zero. gas: PR 23193 PR 19721 * testsuite/gas/aarch64/pr19721.s: Add new test cases. * testsuite/gas/aarch64/pr19721.d: Correct existing test cases and add new ones. commit 8acbe8ffa02f62eb9371b8626576f83fcd6989af Author: Nick Clifton Date: Mon Dec 3 17:26:41 2018 +0000 Update the assembler to use a version of 3 when generating the header of the .debug_line section. PR 23941 gas * dwarf2dbg.c (DWARF2_LINE_VERSION): Change to 3. * testsuite/gas/elf/dwarf2-3.d: Update expected output. * testsuite/gas/elf/dwarf2-5.d: Likewise. * testsuite/gas/i386/debug1.d: Likewise. * testsuite/gas/i386/dw2-compress-1.d: Likewise. * testsuite/gas/i386/dw2-compress-3a.d: Likewise. * testsuite/gas/i386/dw2-compress-3b.d: Likewise. * testsuite/gas/i386/dw2-compressed-1.d: Likewise. * testsuite/gas/i386/dw2-compressed-3a.d: Likewise. * testsuite/gas/i386/dw2-compressed-3b.d: Likewise. * testsuite/gas/ia64/pr13167.d: Likewise. * testsuite/gas/mips/loc-swap-2.d: Likewise. * testsuite/gas/mips/loc-swap.d: Likewise. * testsuite/gas/mips/micromips@loc-swap-2.d: Likewise. * testsuite/gas/mips/micromips@loc-swap.d: Likewise. * testsuite/gas/mips/mips16@loc-swap-2.d: Likewise. * testsuite/gas/mips/mips16@loc-swap.d: Likewise. * testsuite/gas/mips/mips16e@loc-swap.d: Likewise. binutils* testsuite/binutils-all/i386/compressed-1a.d: Update expected output. * testsuite/binutils-all/x86-64/compressed-1a.d: Likewise. commit b570a287cfb5715bdfcbd9e437a4f4fb9b94c9d4 Author: GDB Administrator Date: Mon Dec 3 00:00:31 2018 +0000 Automatic date update in version.in commit 5f6c22aee74f17393b82934a5682d985672e011a Author: H.J. Lu Date: Sun Dec 2 05:42:36 2018 -0800 gold: Get alignment of uncompressed section from ch_addralign The ELF compression header has a field (ch_addralign) that is set to the alignment of the uncompressed section. This way the section itself can have a different alignment than the decompressed section. Update decompress_input_section to get alignment of the decompressed section and use it when merging decompressed strings. PR binutils/23919 * merge.cc (Output_merge_string::do_add_input_section): Get addralign from decompressed_section_contents. * object.cc (build_compressed_section_map): Set info.addralign. (Object::decompressed_section_contents): Add a palign argument and store p->second.addralign in *palign if it isn't NULL. * object.h (Compressed_section_info): Add addralign. (section_is_compressed): Add a palign argument, default it to NULL, store p->second.addralign in *palign if it isn't NULL. (Object::decompressed_section_contents): Likewise. * output.cc (Output_section::add_input_section): Get addralign from section_is_compressed. commit 3134061ce6e33ade4cc65a36578b94983228815e Author: GDB Administrator Date: Sun Dec 2 00:01:21 2018 +0000 Automatic date update in version.in commit b44ee3a8cf21294eeb079ffbada7eeb559a9c6b4 Author: H.J. Lu Date: Sat Dec 1 05:42:33 2018 -0800 x86: Delay setting the iplt section alignment Delay setting its alignment until we know it is non-empty. Otherwise an empty iplt section may change vma and lma of the following sections, which triggers moving dot of the following section backwards, resulting in a warning and section lma not being set properly. It later leads to a "File truncated" error. bfd/ PR ld/23930 * elfxx-x86.c (_bfd_x86_elf_size_dynamic_sections): Update the iplt section alignment if it is non-empty. (_bfd_x86_elf_link_setup_gnu_properties): Set plt.iplt_alignment and delay setting the iplt section alignment. * elfxx-x86.h (elf_x86_plt_layout): Add iplt_alignment. ld/ PR ld/23930 * testsuite/ld-i386/i386.exp: Run pr23930. * testsuite/ld-i386/pr23930.d: New file. * testsuite/ld-x86-64/pr23930-32.t: Likewise. * testsuite/ld-x86-64/pr23930-x32.d: Likewise. * testsuite/ld-x86-64/pr23930.d: Likewise. * testsuite/ld-x86-64/pr23930.t: Likewise. * testsuite/ld-x86-64/pr23930a.s: Likewise. * testsuite/ld-x86-64/pr23930b.s: Likewise. * testsuite/ld-x86-64/x86-64.exp: Run pr23930 and pr23930-x32. commit 4770fb94ee04ef767cb2c171a24168d2b5acca04 Author: Alan Modra Date: Sat Dec 1 21:52:37 2018 +1030 PR23946, illegal memory access in readelf.c:slurp_ia64_unwind_table PR 23946 * readelf.c (slurp_ia64_unwind_table): Bounds check symbol index on reloc. (slurp_hppa_unwind_table): Likewise. commit 726bd37d6c5d5013d34023044ed7cbbb01317978 Author: Alan Modra Date: Sat Dec 1 21:15:03 2018 +1030 PR23945, NULL pointer dereference in readelf.c:slurp_hppa_unwind_table PR 23945 * readelf.c (slurp_ia64_unwind_table): Don't call elf_ia64_reloc_type needlessly. (slurp_hppa_unwind_table): Use same range checks and error messages as slurp_ia64_unwind_table. commit 64d27cfc97f5b865019f0b7293ff2b9565db427c Author: Tom de Vries Date: Sat Dec 1 08:56:56 2018 +0100 [gdb/testsuite] Add gdb-caching-proc.exp testcase When caching a proc using gdb_caching_proc, it will become less likely to be executed, and consequently it's going to be harder to detect that the proc is racy. OTOH, in general the proc is easy to rerun. So, add a test-case to run all uncached gdb_caching_procs a number of times and detect inconsistent results. The purpose of caching is to reduce runtime, so rerunning is somewhat counter-productive in that aspect, but it's better than uncached, because the number of reruns is constant-bounded, and the increase in runtime is bound to this test-case, and can be disabled on slow targets. Tested on x86_64-linux. gdb/testsuite/ChangeLog: 2018-12-01 Tom de Vries * gdb.base/gdb-caching-proc.exp: New file. commit 0acc7632bb09cce832a1b3756d31cc3fa93a724a Author: Alan Modra Date: Sat Dec 1 09:37:48 2018 +1030 PR23938, should not free memory alloced in obstack by free() This removes ineffectual and wrong code caching section names in gas/stabs.c. Code like seg = subseg_new (name, 0); ... if (seg->name == name) seg->name = xstrdup (name); with the idea of being able to unconditionally free "name" later no longer works. "name" is referenced by the section hash table as well as in the section->name field. It would be possible to use "bfd_rename_section (stdoutput, seg, xstrdup (name))", but instead I opted for a fairly straight-forward approach of adding extra parameters to two functions to indicate section name strings should be freed if possible. PR 23938 * read.h (get_stab_string_offset): Update prototype. * stabs.c (get_stab_string_offset): Add free_stabstr_secname parameter. Free stabstr_secname if unused as section name. Don't xstrdup name when used. (s_stab_generic): Remove forward declaration. Add stab_secname_obstack_end param. Reference notes obstack via macros. Delete cached_secname. Adjust get_stab_string_offset call. Free stab_secname if unused as section name. (s_stab): Adjust s_stab_generic call. (s_xstab): Likewise. Delete saved_secname and saved_strsecname. * config/obj-elf.c (obj_elf_init_stab_section): Adjust get_stab_string_offset call. * config/obj-coff.c (obj_coff_init_stab_section): Likewise. * config/obj-som.c (obj_som_init_stab_section): Likewise. * testsuite/gas/all/pr23938.s: New test. * testsuite/gas/all/gas.exp: Run it. commit 35d1b0784a27fcd71daf1b058423010c9001f039 Author: GDB Administrator Date: Sat Dec 1 00:00:23 2018 +0000 Automatic date update in version.in commit 93579f6f908fa6010b141fd5da2974d878869c80 Author: John Baldwin Date: Fri Nov 30 15:14:18 2018 -0800 Use kinfo_getfile to implement fdwalk on FreeBSD. kinfo_getfile() requires a couple of system calls to fetch the list of open file descriptors. This can be much cheaper than invoking fstat on all of the values from 0 to the open file resource limit maximum. gdb/ChangeLog: * common/filestuff.c [HAVE_KINFO_GETFILE]: Include headers. (fdwalk) [HAVE_KINFO_GETFILE]: Use kinfo_getfile. commit 4717cec4fe4cb3a086fb13161603112e8ded787e Author: Simon Marchi Date: Fri Nov 30 16:49:35 2018 -0500 Fix leak in linespec parser Valgrind reports this leak: ==798== VALGRIND_GDB_ERROR_BEGIN ==798== 32 (24 direct, 8 indirect) bytes in 1 blocks are definitely lost in loss record 447 of 3,143 ==798== at 0x4C2C48C: operator new(unsigned long) (vg_replace_malloc.c:334) ==798== by 0x51D401: linespec_parser_new(ls_parser*, int, language_defn const*, program_space*, symtab*, int, linespec_result*) (linespec.c:2756) ==798== by 0x524BF7: decode_line_full(event_location const*, int, program_space*, symtab*, int, linespec_result*, char const*, char const*) (linespec.c:3271) ==798== by 0x3E8893: parse_breakpoint_sals(event_location const*, linespec_result*) (breakpoint.c:9067) ==798== by 0x3E4E7F: create_breakpoint(gdbarch*, event_location const*, char const*, int, char const*, int, int, bptype, int, auto_boolean, breakpoint_ops const*, int, int, int, unsigned int) (breakpoint.c:9248) ==798== by 0x3E55F5: break_command_1(char const*, int, int) (breakpoint.c:9434) ==798== by 0x40BA68: cmd_func(cmd_list_element*, char const*, int) (cli-decode.c:1888) ==798== by 0x665300: execute_command(char const*, int) (top.c:630) ... linespec_parser_new allocates a std::vector at line 2756, and stores the pointer to this vector in PARSER_RESULT (parser)->file_symtabs. At 3 different places in linespec.c, another std::vector is assigned to a linespec->file_symtabs, without first deleting the current value. The leak is fixed by assigning the vector itself instead of the pointer. Everything should be moved, so there is no significant data copy involved. Tested on debian/amd64, + a bunch of tests re-run under valgrind (including the test that throws an error). gdb/ChangeLog: * linespec.c (symtab_vector_up): Remove. (symtabs_from_filename): Change return type to std::vector. (collect_symtabs_from_filename): Likewise. (create_sals_line_offset): Assign return value of collect_symtabs_from_filename to *ls->file_symtabs. (convert_explicit_location_to_linespec): Remove call to release. (parse_linespec): Likewise. (symtab_collector) : Remove initialization of m_symtabs. : Change return type to std::vector. : Adjust. commit f8eb6a9e8986c6428de629b5538e431e1c04caf1 Author: John Baldwin Date: Fri Nov 30 13:21:19 2018 -0800 Update the conditionals in fbsd-nat.h so they are always honored. Not all of the architecture-specific FreeBSD target files were including the right headers to enable conditionals in fbsd-nat.h after the C++ target conversion. As a result, certain operations like 'info auxv' and 'p $_siginfo' were not working for some native targets (noticed on RISC-V). Fix this in a couple of ways: 1) Declare fbsd_nat_target::xfer_partial unconditionally and only use conditionals in the function body for individual target objects. Originally this function was only used to read the ELF auxiliary vector, so the entire function was conditional on a macro required for that object (KERN_AUXV_PROC). However, xfer_partial has since grown support for additional objects. Making the function unconditional avoids needing to add the right header to fbsd-nat.h and allows each target object to use independent requirements. This did require using a more explicit conditional test for the $_siginfo support. Removing the "outer" KERN_PROC_AUXV test enabled $_siginfo for all kernels with PT_LWPINFO, but some older kernels (FreeBSD 6.0) exposed PT_LWPINFO with a different siginfo format. Instead use an explicit test for when the current siginfo format was adopted (shipped in FreeBSD 7.0). This actually enables $_siginfo on a wider range of kernels as KERN_PROC_AUXV wasn't introduced until FreeBSD 9.1/10.0. 2) Include in fbsd-nat.h for the definition of TDP_RFPPWAIT that governs support for fork following. gdb/ChangeLog: * fbsd-nat.c [__FreeBSD_version >= 700009] (USE_SIGINFO): Macro defined. (union sigval32, struct siginfo32, fbsd_siginfo_size) (fbsd_convert_siginfo): Make conditional on USE_SIGINFO instead of KERN_PROC_AUXV and PT_LWPINFO. (fbsd_nat_target::xfer_partial): Define method unconditionally. Make TARGET_OBJECT_SIGNAL_INFO conditional on USE_SIGINFO. Make TARGET_OBJECT_AUXV conditional on KERN_PROC_AUXV. Make TARGET_OBJECT_FREEBSD_VMMAP and TARGET_OBJECT_FREEBSD_PS_STRINGS conditional on KERN_PROC_VMMAP and KERN_PROC_PS_STRINGS. * fbsd-nat.h: Include . (fbsd_nat_target::xfer_partial): Declare method unconditionally. commit 27c634e0ed18f769fb92d03fb75ea491fb6656ec Author: Fredrik Noring Date: Fri Nov 30 18:32:36 2018 +0000 GAS/MIPS: Add `-mfix-r5900' option for the R5900 short loop erratum `-march=r5900' already enables the R5900 short loop workaround. However, the R5900 ISA and most other MIPS ISAs are mutually exclusive since R5900-specific instructions are generated as well. The `-mfix-r5900' option can be used in combination with e.g. `-mips2' or `-mips3' to generate generic MIPS binaries that also work with the R5900 target. This change has been tested with `make RUNTESTFLAGS=mips.exp check-gas' for the targets `mipsr5900el-unknown-linux-gnu', `mipsr5900el-elf' and `mips3-unknown-linux-gnu'. gas/ * config/tc-mips.c (mips_fix_r5900, mips_fix_r5900_explicit): New variables. (options): Add OPTION_FIX_R5900 and OPTION_NO_FIX_R5900 enumeration constants. (md_longopts): Add "mfix-r5900" and "mno-fix-r5900" options. (can_swap_branch_p, md_parse_option, mips_after_parse_args): Handle the new options. (md_show_usage): Document the `-mfix-r5900' option. * doc/as.texi: Likewise. * doc/c-mips.texi: Likewise. * testsuite/gas/mips/mips.exp: Run R5900 dump tests. * testsuite/gas/mips/r5900-fix.d: Test `-mfix-r5900' option. * testsuite/gas/mips/r5900-fix.s: Likewise. * testsuite/gas/mips/r5900-no-fix.d: Test `-mno-fix-r5900'. * testsuite/gas/mips/r5900-no-fix.s: Likewise. commit 92528b6772a19dd671b52d954c14886b11fc0a8d Author: Andrew Burgess Date: Wed Nov 28 22:42:27 2018 +0000 gdb/riscv: Add read_description method for riscv_linux_nat_target Adds riscv_linux_nat_target::read_description method to find a suitable target description for the native linux target we are running on. Currently this will supply a suitably sized set of x-registers, and will probe the kernel to see if the f-registers are readable. If they are readable then we currently assume that the f-registers are the same size as the x-registers as I don't know of a good way to probe the f-register length. This will obviously need fixing in future. As of Linux 4.19 there is no ptrace support for reading the f-registers, this should appear in 4.20, so right now we only return target descriptions without f-registers. gdb/ChangeLog: * riscv-linux-nat.c: Add 'inferior.h' and 'target-descriptions.h' header files. (riscv_linux_nat_target::read_description): New method. commit 634494366c515a89c4747d8a68a8da9218bb4969 Author: Andrew Burgess Date: Thu Nov 29 15:51:58 2018 +0000 gdb/riscv: Create each unique target description only once GDB relies on the fact that if two target descriptions have the same contents, then they will be the same object instance (having the same address). One place where this is a requirement is in GDBARCH_LIST_LOOKUP_BY_INFO which is used to find previously created gdbarch objects. In GDBARCH_LIST_LOOKUP_BY_INFO a pointer comparison is made on the gdbarch's target description, if the pointers are different then it is assumed the gdbarches have different, non-compatible target descriptions. Previously we would create duplicate target descriptions in the belief that RISCV_GDBARCH_INIT would spot this duplication and discard the second instance. However, this was incorrect, and instead we ended up creating duplicate gdbarch objects. With this commit every unique feature set will create one and only one target description, the feature set and resulting target description is then cached so that the same target description object can be returned later. Many other target avoid this problem by creating a small number of named target descriptions, and returning one of these. However, we currently have 8 possible target descriptions (32 vs 64 bit for x-reg and f-reg, and h/w or s/w float abi) and creating each of these just to avoid a dynamic cache seems pointless. gdb/ChangeLog: * arch/riscv.h (riscv_gdbarch_features::hash): New method. * arch/riscv.c (struct riscv_gdbarch_features_hasher): New. (riscv_tdesc_cache): New global. (riscv_create_target_description): Look in the cache before creating a new target description. commit 65a4b373267813ae5e47ac519da2e70d9c7e09d3 Author: Andrew Burgess Date: Thu Nov 29 15:07:59 2018 +0000 gdb/riscv: Add equality operators to riscv_gdb_features Add '==' and '!=' operators for the struct riscv_gdb_features, allowing a small simplification. gdb/ChangeLog: * arch/riscv.h (riscv_gdb_features::operator==): New. (riscv_gdb_features::operator!=): New. * riscv-tdep.c (riscv_gdbarch_init): Make use of the inequality operator. commit 0ff80bf7b9901b5e3c6805b99d30fd555f512d69 Author: Andrew Burgess Date: Thu Nov 29 15:38:29 2018 +0000 gdb/riscv: Make some target description functions constant Makes more of the interface related to fetching target descriptions constant. gdb/ChangeLog: * arch/riscv.h (riscv_create_target_description): Make return type const. * arch/riscv.c (riscv_create_target_description): Likewise. * riscv-tdep.c (riscv_find_default_target_description): Likewise. commit 81fbbaf96216ed88973a069e4ed25379d7421ec8 Author: Sergio Durigan Junior Date: Wed Nov 28 17:22:08 2018 -0500 Fix dwarf2read.c:dwarf2_find_containing_comp_unit's binary search First of all, I would like to express my gratitude to Keith Seitz, Jan Kratochvil and Tom Tromey, who were really kind and helped a lot with this bug. The patch itself was authored by Jan. This all began with: https://bugzilla.redhat.com/show_bug.cgi?id=1639242 py-bt is broken, results in exception In summary, the error reported by the bug above is: $ gdb -args python3 GNU gdb (GDB) Fedora 8.1.1-3.fc28 (...) Reading symbols from python3...Reading symbols from /usr/lib/debug/usr/bin/python3.6-3.6.6-1.fc28.x86_64.debug...done. done. Dwarf Error: could not find partial DIE containing offset 0x316 [in module /usr/lib/debug/usr/bin/python3.6-3.6.6-1.fc28.x86_64.debug] After a long investigation, and after thinking that the problem might actually be on DWZ's side, we were able to determine that there's something wrong going on when dwarf2read.c:dwarf2_find_containing_comp_unit performs a binary search over all of the CUs belonging to an objfile in order to find the CU which contains a DIE at an specific offset. The current algorithm is: static struct dwarf2_per_cu_data * dwarf2_find_containing_comp_unit (sect_offset sect_off, unsigned int offset_in_dwz, struct dwarf2_per_objfile *dwarf2_per_objfile) { struct dwarf2_per_cu_data *this_cu; int low, high; const sect_offset *cu_off; low = 0; high = dwarf2_per_objfile->all_comp_units.size () - 1; while (high > low) { struct dwarf2_per_cu_data *mid_cu; int mid = low + (high - low) / 2; mid_cu = dwarf2_per_objfile->all_comp_units[mid]; cu_off = &mid_cu->sect_off; if (mid_cu->is_dwz > offset_in_dwz || (mid_cu->is_dwz == offset_in_dwz && *cu_off >= sect_off)) high = mid; else low = mid + 1; } For the sake of this example, let's consider that "sect_off = 0x7d". There are a few important things going on here. First, "dwarf2_per_objfile->all_comp_units ()" will be sorted first by whether the CU is a DWZ CU, and then by cu->sect_off. In this specific bug, "offset_in_dwz" is false, which means that, for the most part of the loop, we're going to do "high = mid" (i.e, we'll work with the lower part of the vector). In our particular case, when we reach the part where "mid_cu->is_dwz == offset_in_dwz" (i.e, both are false), we end up with "high = 2" and "mid = 1". I.e., there are only 2 elements in the vector who are not DWZ. The vector looks like this: #0: cu->sect_off = 0; length = 114; is_dwz = false <-- low #1: cu->sect_off = 114; length = 7796; is_dwz = false <-- mid #2: cu->sect_off = 0; length = 28; is_dwz = true <-- high ... The CU we want is #1, which is exactly where "mid" is. Also, #1 is not DWZ, which is also exactly what we want. So we perform the second comparison: (mid_cu->is_dwz == offset_in_dwz && *cu_off >= sect_off) ^^^^^^^^^^^^^^^^^^^ Because "*cu_off = 114" and "sect_off = 0x7d", this evaluates to false, so we end up with "low = mid + 1 = 2", which actually gives us the wrong CU (i.e., a CU that is DWZ). Next in the code, GDB does: gdb_assert (low == high); this_cu = dwarf2_per_objfile->all_comp_units[low]; cu_off = &this_cu->sect_off; if (this_cu->is_dwz != offset_in_dwz || *cu_off > sect_off) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ { if (low == 0 || this_cu->is_dwz != offset_in_dwz) error (_("Dwarf Error: could not find partial DIE containing " "offset %s [in module %s]"), sect_offset_str (sect_off), bfd_get_filename (dwarf2_per_objfile->objfile->obfd)); ... Triggering the error we saw in the original bug report. It's important to notice that we see the error message because the selected CU is a DWZ one, but we're looking for a non-DWZ CU here. However, even when the selected CU is *not* a DWZ (and we don't see any error message), we still end up with the wrong CU. For example, suppose that the vector had: #0: cu->sect_off = 0; length = 114; is_dwz = false #1: cu->sect_off = 114; length = 7796; is_dwz = false #2: cu->sect_off = 7910; length = 28; is_dwz = false ... I.e., #2's "is_dwz" is false instead of true. In this case, we still want #1, because that's where the DIE is located. After the loop ends up in #2, we have "is_dwz" as false, which is what we wanted, so we compare offsets. In this case, "7910 >= 0x7d", so we set "mid = high = 2". Next iteration, we have "mid = 0 + (2 - 0) / 2 = 1", and thus we examining #1. "is_dwz" is still false, but "114 >= 0x7d" also evaluates to false, so "low = mid + 1 = 2", which makes the loop stop. Therefore, we end up choosing #2 as our CU, even though #1 is the right one. The problem here is happening because we're comparing "sect_off" directly against "*cu_off", while we should actually be comparing against "*cu_off + mid_cu->length" (i.e., the end offset): ... || (mid_cu->is_dwz == offset_in_dwz && *cu_off + mid_cu->length >= sect_off)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ... And this is what the patch does. The idea is that if GDB is searching for an offset that falls above the *end* of the CU being analyzed (i.e., "mid"), then the next iteration should try a higher-offset CU next. The previous algorithm was using the *beginning* of the CU. Unfortunately, I could not devise a testcase for this problem, so I am proposing a fix with this huge explanation attached to it in the hope that it is sufficient. After talking a bit to Keith (our testcase guru), it seems that one would have to create an objfile with both DWZ and non-DWZ sections, which may prove very hard to do, I think. I ran this patch on our BuildBot, and no regressions were detected. gdb/ChangeLog: 2018-11-30 Jan Kratochvil Keith Seitz Tom Tromey Sergio Durigan Junior https://bugzilla.redhat.com/show_bug.cgi?id=1613614 * dwarf2read.c (dwarf2_find_containing_comp_unit): Add 'mid_cu->length' to '*cu_off' when checking if 'sect_off' is inside the CU. commit 66b4deae03e7a503f8c543aa198a8c010863135a Author: Pedro Alves Date: Fri Nov 30 17:49:49 2018 +0000 target_ops::to_stratum -> target_ops::stratum() virtual method Given that a target's stratum is a property of the type, and not of an instance of the type, get rid of to_stratum data field and replace it with a virtual method. I.e., when we have e.g., 10 target remote instances active, there's no need for each of the instances to have their own to_stratum copy. gdb/ChangeLog: 2018-11-30 Pedro Alves * aix-thread.c (aix_thread_target) : Delete. : New override. * bfd-target.c (aix_thread_target) : Delete. : New override. * bsd-uthread.c (bsd_uthread_target) : Delete. : New override. * exec.c (exec_target) : Delete. : New override. * gdbarch-selftests.c (register_to_value_test): Adjust to use the stratum method instead of the to_stratum field. * linux-thread-db.c (thread_db_target) : Delete. : New override. (thread_db_target::thread_db_target): Delete. * make-target-delegates (print_class): Don't print a ctor declaration. Print a stratum method override declaration. * process-stratum-target.h (process_stratum_target) : Delete. : New override. * ravenscar-thread.c (ravenscar_thread_target) : Delete. : New override. * record-btrace.c (record_btrace_target) : Delete. : New override. * record-full.c (record_full_base_target) : Delete. : New override. * record.c (record_disconnect, record_detach) (record_mourn_inferior, record_kill): Adjust to use the stratum method instead of the to_stratum field. * regcache.c (cooked_read_test, cooked_write_test): Likewise. * sol-thread.c (sol_thread_target) : Delete. : New override. * spu-multiarch.c (spu_multiarch_target) : Delete. : New override. * target-delegates.c: Regenerate. * target.c (target_stack::push, target_stack::unpush) (pop_all_targets_above, pop_all_targets_at_and_above) (info_target_command, target_require_runnable) (target_stack::find_beneath): Adjust to use the stratum method instead of the to_stratum field. (dummy_target::dummy_target): Delete. (dummy_target::stratum): New. (debug_target::debug_target): Delete. (debug_target::stratum): New. (maintenance_print_target_stack): Adjust to use the stratum method instead of the to_stratum field. * target.h (struct target_ops) : New method. : Delete. : Adjust to use the stratum method instead of the to_stratum field. commit 20a71194793bfa791b9090db2d47a67388650d93 Author: Nick Clifton Date: Fri Nov 30 17:45:07 2018 +0000 Add PR number to previous delta to the bfd/ directory. commit f3d11a9a96465432c01678445fc2fe84f2ef94f7 Author: Pedro Alves Date: Fri Nov 30 14:53:40 2018 +0000 Convert default_child_has_foo functions to process_stratum_target methods This patch converts the default_child_has_foo functions to process_stratum_target methods. This simplifies "regular" non-inf_child process_stratum targets, since they no longer have to override the target_ops::has_foo methods to call the default_child_foo functions. A couple targets need to override the new defaults (corelow and tracefiles), but it still seems like a good tradeoff, since those are expected to be little different (target doesn't run). gdb/ChangeLog: 2018-11-30 Pedro Alves * corelow.c (core_target) : New overrides. * inf-child.c (inf_child_target::has_all_memory) (inf_child_target::has_memory, inf_child_target::has_stack) (inf_child_target::has_registers) (inf_child_target::has_execution): Delete. * inf-child.h (inf_child_target) : Delete. * process-stratum-target.c (process_stratum_target::has_all_memory) (process_stratum_target::has_memory) (process_stratum_target::has_stack) (process_stratum_target::has_registers) (process_stratum_target::has_execution): New. * process-stratum-target.h (process_stratum_target) : New method overrides. * ravenscar-thread.c (ravenscar_thread_target) : Delete. * remote-sim.c (gdbsim_target) : Delete. * remote.c (remote_target) : Delete. * target.c (default_child_has_all_memory) (default_child_has_memory, default_child_has_stack) (default_child_has_registers, default_child_has_execution): Delete. * target.h (default_child_has_all_memory) (default_child_has_memory, default_child_has_stack) (default_child_has_registers, default_child_has_execution): Delete. * tracefile.h (tracefile_target) : New override. commit 3b3dac9b3fd916d73726c7e5508f057574f74d19 Author: Pedro Alves Date: Fri Nov 30 14:53:39 2018 +0000 Introduce process_stratum_target This adds a base class that all process_stratum targets inherit from. default_thread_address_space/default_thread_architecture only make sense for process_stratum targets, so they are transformed to process_stratum_target methods/overrides. gdb/ChangeLog: 2018-11-30 Pedro Alves * Makefile.in (COMMON_SFILES): Add process-stratum-target.c. * bsd-kvm.c: Include "process-stratum-target.h". (bsd_kvm_target): Now inherits from process_stratum_target. (bsd_kvm_target::bsd_kvm_target): Default it. * corelow.c: Include "process-stratum-target.h". (core_target): Now inherits from process_stratum_target. (core_target::core_target): Don't set to_stratum here. * inf-child.c (inf_child_target::inf_child_target): Delete. * inf-child.h: Include "process-stratum-target.h". (inf_child_target): Inherit from process_stratum_target. (inf_child_target) : Default it. : Delete overrides. * process-stratum-target.c: New file. * process-stratum-target.h: New file. * remote-sim.c: Include "process-stratum-target.h". (gdbsim_target): Inherit from process_stratum_target. : Default it. * remote.c: Include "process-stratum-target.h". (remote_target): Inherit from process_stratum_target. : Default it. * target.c (default_thread_address_space) (default_thread_architecture): Delete. * target.h (target_ops) : Now returns NULL by default. : Ditto. * test-target.h: Include "process-stratum-target.h" instead of "target.h". (test_target_ops): Inherit from process_stratum_target. : Default it. * tracefile.c (tracefile_target::tracefile_target): Delete. * tracefile.h: Include "process-stratum-target.h". (tracefile_target): Inherit from process_stratum_target. : Default it. * target-delegates.c: Regenerate. commit c180496d2ac268c06c13600f729d02ca4266e6ea Author: Pedro Alves Date: Fri Nov 30 14:53:38 2018 +0000 Move test_target_ops to a separate file There's no need to have all target.h users seeing this type. Also helps with a follow up patch. gdb/ChangeLog: 2018-11-30 Pedro Alves * Makefile.in (COMMON_SFILES): Add test-target.c. * gdbarch-selftests.c: Include "test-target.h". * regcache.c: Include "test-target.h". * target.c (test_target_info, test_target_ops::info): Move to ... * test-target.c: ... this new file. * target.h (test_target_ops): Move to ... * test-target.h: ... this new file. commit 5f60af5d24d181371d67534fa273dd221df20c07 Author: Nick Clifton Date: Fri Nov 30 11:45:33 2018 +0000 Fix a memory exhaustion bug when attempting to allocate room for an impossible number of program headers. * elfcode.h (elf_object_p): Check for corrupt input files with more program headers than can actually fit in the file. commit beab453223769279cc1cef68a1622ab8978641f7 Author: Nick Clifton Date: Fri Nov 30 11:43:12 2018 +0000 Remove an abort in the bfd library and add a check for an integer overflow when mapping sections to segments. PR 23932 * elf.c (IS_CONTAINED_BY_LMA): Add a check for a negative section size. (rewrite_elf_program_header): If no sections are mapped into a segment return an error. commit ba85c15dabe144e4bcee5a1b388b32bee10729e1 Author: Alan Modra Date: Fri Nov 30 15:34:11 2018 +1030 PR23937, powerpc64le local ifunc IRELATIVE relocs are wrong IFUNC resolvers must always be called via their global entry point. They will be called from ld.so rather than from the local executable. PR 23937 bfd/ * elf64-ppc.c (write_plt_relocs_for_local_syms): Don't add local entry offset for ifuncs. ld/ * testsuite/ld-powerpc/pr23937.d, * testsuite/ld-powerpc/pr23937.s: New test. * testsuite/ld-powerpc/powerpc.exp: Run it. commit f746c08f26dd71fdd809bad8cb92a6cbb8336ec4 Author: GDB Administrator Date: Fri Nov 30 00:00:41 2018 +0000 Automatic date update in version.in commit 95b1f9ac6b7de84b09580bdf2456955bcff86da1 Author: Philippe Waroquiers Date: Wed Nov 28 00:22:29 2018 +0100 Fix leak in forward-search Valgrind reports the below leak. Fix the leak by using xrealloc, even for the first allocation, as buf is static. ==29158== 5,888 bytes in 23 blocks are definitely lost in loss record 3,028 of 3,149 ==29158== at 0x4C2BE2D: malloc (vg_replace_malloc.c:299) ==29158== by 0x41B557: xmalloc (common-utils.c:44) ==29158== by 0x60B7D9: forward_search_command(char const*, int) (source.c:1563) ==29158== by 0x40BA68: cmd_func(cmd_list_element*, char const*, int) (cli-decode.c:1888) ==29158== by 0x665300: execute_command(char const*, int) (top.c:630) ... gdb/ChangeLog 2018-11-29 Philippe Waroquiers * source.c (forward_search_command): Fix leak by using xrealloc even for the first allocation in the loop, as buf is static. commit e61667ef1413b9fba1bb9dc78744329f8215de74 Author: Rajendra SY Date: Thu Nov 29 13:26:31 2018 -0800 Implement the "gdb_signal_to/from_target" gdbarch methods for FreeBSD. This fixes failures in the gdb.base/exitsignal.exp test. gdb/ChangeLog: PR gdb/23093 * gdb/fbsd-tdep.c (fbsd_gdb_signal_from_target) (fbsd_gdb_signal_to_target): New. (fbsd_init_abi): Install gdbarch "signal_from_target" and "signal_to_target" methods. commit 12951a2f080abfd23d0aae0a9a5b2c322fd25c9e Author: Jim Wilson Date: Thu Nov 29 13:05:25 2018 -0800 RISC-V: Add missing c.unimp instruction. opcodes/ * riscv-opc.c (unimp): Mark compressed unimp as INSN_ALIAS. (c.unimp): New. commit 3d5500e9580ec0f3cffeb1f1373834cbc1d2101d Author: Tom Tromey Date: Wed Nov 28 10:34:15 2018 -0700 Avoid buffer overflow in value_x_unop Commit 6b1747cd1 ("invoke_xmethod & array_view") contains this change: - argvec = (struct value **) alloca (sizeof (struct value *) * 4); + value *argvec_storage[3]; + gdb::array_view argvec = argvec_storage; However, value_x_unop still does: argvec[2] = value_from_longest (builtin_type (gdbarch)->builtin_int, 0); argvec[3] = 0; This triggers an error with -fsanitize=address from userdef.exp: ERROR: AddressSanitizer: stack-buffer-overflow on address 0x7ffdcf185068 at pc 0x000000e4f912 bp 0x7ffdcf184d80 sp 0x7ffdcf184d70 WRITE of size 8 at 0x7ffdcf185068 thread T0 #0 0xe4f911 in value_x_unop(value*, exp_opcode, noside) ../../binutils-gdb/gdb/valarith.c:557 [...] I think the two assignments to argvec[3] should just be removed, and that this was intended in the earlier patch but just missed. This passes userdef.exp with -fsanitize=address. gdb/ChangeLog 2018-11-29 Tom Tromey * valarith.c (value_x_unop): Don't set argvec[3]. commit d105de22fc385da878e8db44c9503a7f30419322 Author: Tom Tromey Date: Sun Jul 29 19:21:01 2018 -0600 Fix use-after-free in gdbserver -fsanitize=address pointed out a use-after-free in gdbserver. In particular, handle_detach could reference "process" after it was deleted by detach_inferior. Avoiding this also necessitated changing target_ops::join to take a pid rather than a process_info*. Tested by the buildbot using a few of the gdbserver builders. gdb/gdbserver/ChangeLog 2018-11-29 Tom Tromey * win32-low.c (win32_join): Take pid, not process. * target.h (struct target_ops) : Change argument type. (join_inferior): Change argument name. * spu-low.c (spu_join): Take pid, not process. * server.c (handle_detach): Preserve pid before destroying process. * lynx-low.c (lynx_join): Take pid, not process. * linux-low.c (linux_join): Take pid, not process. commit e368bf56d38afecd1ac0e19c9e9cb54e2bb4fad2 Author: Thomas Preud'homme Date: Thu Nov 29 13:42:49 2018 +0000 Document purpose of each ld statement lists When discovering the statement lists via their header variable statement_list, file_chain and input_file_chain it can be confusing to figure out what they are for. They can point to the same initial statement and the relation between the next field they use is not obvious from the name. This commit adds comment for each of those statement list header to explain what they are for and what next field they use. It also rewrite the comment for the next fields to simply redirect the reader to the list header to avoid duplication of documentation. 2018-11-29 Thomas Preud'homme ld/ * ldlang.c (statement_list): Document purpose and what next field it uses. (file_chain): Likewise. (input_file_chain): Likewise. * ldlang.h (lang_statement_header_type): Document statement list header the next pointer correspond to. (lang_statement_header_type): Replace comment for next and next_real_file field to refer the reader to their corresponding statement list header. commit ffd9e4d0225d45d1603d09e06151c388589e063f Author: H.J. Lu Date: Thu Nov 29 04:44:20 2018 -0800 elf: Don't merge .note.gnu.property section in IR .note.gnu.property section in IR inputs should be ignored. Don't merge them. PR ld/23929 * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Don't merge .note.gnu.property section in IR inputs. commit 8936f76804c2908e4abe911441dd03641204df9d Author: Nick Clifton Date: Thu Nov 29 10:57:54 2018 +0000 objdump: Fix check for corrupt reloc information, to allow for the fact that PDP11 relocs are bigger when in internal format. PR 23931 * objdump.c (dump_relocs_in_section): When checking for an unreasonable amount of relocs in a bfd, allow for the fact that the internal representation of a reloc may be bigger than the external representation. commit 27e8f8efca2bea184e485c3c2ceaea6c42a82125 Author: GDB Administrator Date: Thu Nov 29 00:00:26 2018 +0000 Automatic date update in version.in commit f68d3e00531b5eef1941a097c4882395eb2f64e5 Author: GDB Administrator Date: Wed Nov 28 00:00:18 2018 +0000 Automatic date update in version.in commit 4765cd611992862c844e8f152c5dbaadaecc25ce Author: Jim Wilson Date: Tue Nov 27 11:29:23 2018 -0800 RISC-V: Add .insn CA support. gas/ * config/tc-riscv.c (validate_riscv_insn) <'F'>: Add support for CF6 and CF2 operands. (riscv_ip) <'F'>: Likewise. * doc/c-riscv.texi (RISC-V-Formats): Add func6 abbreviation. Use rs2 instead of rs1 in CR description. Add CA docs. * gas/testsuite/riscv/insn.s: Add use of .insn ca. * gas/testsuite/riscv/insn.d: Update to match. include/ * opcode/riscv.h (OP_MASK_CFUNCT6, OP_SH_CFUNCT6): New. (OP_MASK_CFUNCT2, OP_SH_CFUNCT2): New. opcodes/ * riscv-opc.c (ciw): Fix whitespace to align columns. (ca): New. commit b5ab31636d36e1252791cec179aa11ab9d9b87e9 Author: Thomas Preud'homme Date: Tue Nov 27 18:27:35 2018 +0000 [ARM] Update knowledge of bfd architectures Commit c0c468d562649df0f695737262b6230b7a56a4bb updated bfd's knowledge of Arm architectures to Armv5TEJ and later but missed the list of CPUs recognized by objdump -d -m. .note.gnu.arm.ident related code is intentionally not updated as build attributes are a better mechanism to express the ISA in a file. However this patch adds tests for the existing code since no existing testcase cover those codepaths. Since I've only ever managed for bfd_arm_get_mach_from_notes () to have an effect by using objcopy on a file with a note but no Arm build attribute, the tests make use of both objcopy actions supported by run_dump_test which requires to have a ld line as well. Note that the CPU list in bfd/cpu-arm.c was simply copied over from GAS' CPU list but sorted alphabetically as already done for existing entries. 2018-11-27 Thomas Preud'homme bfd/ * cpu-arm.c (processors): Add processors known to GAS but missing here and reindent. (bfd_arm_update_notes): Add comment explaining why the list of architectures in the switch should not be updated. (architectures): Likewise. gas/ * testsuite/gas/arm/cpu-arm1020.d: New testcase. * testsuite/gas/arm/cpu-arm1020e.d: Likewise. * testsuite/gas/arm/cpu-arm1020t.d: Likewise. * testsuite/gas/arm/cpu-arm1022e.d: Likewise. * testsuite/gas/arm/cpu-arm1026ej-s.d: Likewise. * testsuite/gas/arm/cpu-arm1026ejs.d: Likewise. * testsuite/gas/arm/cpu-arm10e.d: Likewise. * testsuite/gas/arm/cpu-arm10t.d: Likewise. * testsuite/gas/arm/cpu-arm10tdmi.d: Likewise. * testsuite/gas/arm/cpu-arm1136j-s.d: Likewise. * testsuite/gas/arm/cpu-arm1136jf-s.d: Likewise. * testsuite/gas/arm/cpu-arm1136jfs.d: Likewise. * testsuite/gas/arm/cpu-arm1136js.d: Likewise. * testsuite/gas/arm/cpu-arm1156t2-s.d: Likewise. * testsuite/gas/arm/cpu-arm1156t2f-s.d: Likewise. * testsuite/gas/arm/cpu-arm1176jz-s.d: Likewise. * testsuite/gas/arm/cpu-arm1176jzf-s.d: Likewise. * testsuite/gas/arm/cpu-arm2.d: Likewise. * testsuite/gas/arm/cpu-arm250.d: Likewise. * testsuite/gas/arm/cpu-arm3.d: Likewise. * testsuite/gas/arm/cpu-arm6.d: Likewise. * testsuite/gas/arm/cpu-arm60.d: Likewise. * testsuite/gas/arm/cpu-arm600.d: Likewise. * testsuite/gas/arm/cpu-arm610.d: Likewise. * testsuite/gas/arm/cpu-arm620.d: Likewise. * testsuite/gas/arm/cpu-arm7.d: Likewise. * testsuite/gas/arm/cpu-arm70.d: Likewise. * testsuite/gas/arm/cpu-arm700.d: Likewise. * testsuite/gas/arm/cpu-arm700i.d: Likewise. * testsuite/gas/arm/cpu-arm710.d: Likewise. * testsuite/gas/arm/cpu-arm7100.d: Likewise. * testsuite/gas/arm/cpu-arm710c.d: Likewise. * testsuite/gas/arm/cpu-arm710t.d: Likewise. * testsuite/gas/arm/cpu-arm720.d: Likewise. * testsuite/gas/arm/cpu-arm720t.d: Likewise. * testsuite/gas/arm/cpu-arm740t.d: Likewise. * testsuite/gas/arm/cpu-arm7500.d: Likewise. * testsuite/gas/arm/cpu-arm7500fe.d: Likewise. * testsuite/gas/arm/cpu-arm7d.d: Likewise. * testsuite/gas/arm/cpu-arm7di.d: Likewise. * testsuite/gas/arm/cpu-arm7dm.d: Likewise. * testsuite/gas/arm/cpu-arm7dmi.d: Likewise. * testsuite/gas/arm/cpu-arm7m.d: Likewise. * testsuite/gas/arm/cpu-arm7t.d: Likewise. * testsuite/gas/arm/cpu-arm7tdmi-s.d: Likewise. * testsuite/gas/arm/cpu-arm7tdmi.d: Likewise. * testsuite/gas/arm/cpu-arm8.d: Likewise. * testsuite/gas/arm/cpu-arm810.d: Likewise. * testsuite/gas/arm/cpu-arm9.d: Likewise. * testsuite/gas/arm/cpu-arm920.d: Likewise. * testsuite/gas/arm/cpu-arm920t.d: Likewise. * testsuite/gas/arm/cpu-arm922t.d: Likewise. * testsuite/gas/arm/cpu-arm926ej-s.d: Likewise. * testsuite/gas/arm/cpu-arm926ej.d: Likewise. * testsuite/gas/arm/cpu-arm926ejs.d: Likewise. * testsuite/gas/arm/cpu-arm940t.d: Likewise. * testsuite/gas/arm/cpu-arm946e-r0.d: Likewise. * testsuite/gas/arm/cpu-arm946e-s.d: Likewise. * testsuite/gas/arm/cpu-arm946e.d: Likewise. * testsuite/gas/arm/cpu-arm966e-r0.d: Likewise. * testsuite/gas/arm/cpu-arm966e-s.d: Likewise. * testsuite/gas/arm/cpu-arm966e.d: Likewise. * testsuite/gas/arm/cpu-arm968e-s.d: Likewise. * testsuite/gas/arm/cpu-arm9e-r0.d: Likewise. * testsuite/gas/arm/cpu-arm9e.d: Likewise. * testsuite/gas/arm/cpu-arm9tdmi.d: Likewise. * testsuite/gas/arm/cpu-arm_any.d: Likewise. * testsuite/gas/arm/cpu-cortex-a12.d: Likewise. * testsuite/gas/arm/cpu-cortex-a15.d: Likewise. * testsuite/gas/arm/cpu-cortex-a17.d: Likewise. * testsuite/gas/arm/cpu-cortex-a32.d: Likewise. * testsuite/gas/arm/cpu-cortex-a35.d: Likewise. * testsuite/gas/arm/cpu-cortex-a5.d: Likewise. * testsuite/gas/arm/cpu-cortex-a53.d: Likewise. * testsuite/gas/arm/cpu-cortex-a55.d: Likewise. * testsuite/gas/arm/cpu-cortex-a57.d: Likewise. * testsuite/gas/arm/cpu-cortex-a7.d: Likewise. * testsuite/gas/arm/cpu-cortex-a72.d: Likewise. * testsuite/gas/arm/cpu-cortex-a73.d: Likewise. * testsuite/gas/arm/cpu-cortex-a75.d: Likewise. * testsuite/gas/arm/cpu-cortex-a76.d: Likewise. * testsuite/gas/arm/cpu-cortex-a8.d: Likewise. * testsuite/gas/arm/cpu-cortex-a9.d: Likewise. * testsuite/gas/arm/cpu-cortex-m0.d: Likewise. * testsuite/gas/arm/cpu-cortex-m0plus.d: Likewise. * testsuite/gas/arm/cpu-cortex-m1.d: Likewise. * testsuite/gas/arm/cpu-cortex-m23.d: Likewise. * testsuite/gas/arm/cpu-cortex-m3.d: Likewise. * testsuite/gas/arm/cpu-cortex-m33.d: Likewise. * testsuite/gas/arm/cpu-cortex-m4.d: Likewise. * testsuite/gas/arm/cpu-cortex-m7.d: Likewise. * testsuite/gas/arm/cpu-cortex-r4.d: Likewise. * testsuite/gas/arm/cpu-cortex-r4f.d: Likewise. * testsuite/gas/arm/cpu-cortex-r5.d: Likewise. * testsuite/gas/arm/cpu-cortex-r52.d: Likewise. * testsuite/gas/arm/cpu-cortex-r7.d: Likewise. * testsuite/gas/arm/cpu-cortex-r8.d: Likewise. * testsuite/gas/arm/cpu-ep9312.d: Likewise. * testsuite/gas/arm/cpu-exynos-m1.d: Likewise. * testsuite/gas/arm/cpu-fa526.d: Likewise. * testsuite/gas/arm/cpu-fa606te.d: Likewise. * testsuite/gas/arm/cpu-fa616te.d: Likewise. * testsuite/gas/arm/cpu-fa626.d: Likewise. * testsuite/gas/arm/cpu-fa626te.d: Likewise. * testsuite/gas/arm/cpu-fa726te.d: Likewise. * testsuite/gas/arm/cpu-fmp626.d: Likewise. * testsuite/gas/arm/cpu-i80200.d: Likewise. * testsuite/gas/arm/cpu-iwmmxt.d: Likewise. * testsuite/gas/arm/cpu-iwmmxt2.d: Likewise. * testsuite/gas/arm/cpu-marvell-pj4.d: Likewise. * testsuite/gas/arm/cpu-marvell-whitney.d: Likewise. * testsuite/gas/arm/cpu-mpcore.d: Likewise. * testsuite/gas/arm/cpu-mpcorenovfp.d: Likewise. * testsuite/gas/arm/cpu-sa1.d: Likewise. * testsuite/gas/arm/cpu-strongarm.d: Likewise. * testsuite/gas/arm/cpu-strongarm1.d: Likewise. * testsuite/gas/arm/cpu-strongarm110.d: Likewise. * testsuite/gas/arm/cpu-strongarm1100.d: Likewise. * testsuite/gas/arm/cpu-strongarm1110.d: Likewise. * testsuite/gas/arm/cpu-xgene1.d: Likewise. * testsuite/gas/arm/cpu-xgene2.d: Likewise. * testsuite/gas/arm/cpu-xscale.d: Likewise. * testsuite/gas/arm/nop-asm.s: Likewise. * testsuite/gas/arm/note-march-armv2.d: Likewise. * testsuite/gas/arm/note-march-armv2.s: Likewise. * testsuite/gas/arm/note-march-armv2a.d: Likewise. * testsuite/gas/arm/note-march-armv2a.s: Likewise. * testsuite/gas/arm/note-march-armv3.d: Likewise. * testsuite/gas/arm/note-march-armv3.s: Likewise. * testsuite/gas/arm/note-march-armv3m.d: Likewise. * testsuite/gas/arm/note-march-armv3m.s: Likewise. * testsuite/gas/arm/note-march-armv4.d: Likewise. * testsuite/gas/arm/note-march-armv4.s: Likewise. * testsuite/gas/arm/note-march-armv4t.d: Likewise. * testsuite/gas/arm/note-march-armv4t.s: Likewise. * testsuite/gas/arm/note-march-armv5.d: Likewise. * testsuite/gas/arm/note-march-armv5.s: Likewise. * testsuite/gas/arm/note-march-armv5t.d: Likewise. * testsuite/gas/arm/note-march-armv5t.s: Likewise. * testsuite/gas/arm/note-march-armv5te.d: Likewise. * testsuite/gas/arm/note-march-armv5te.d: Likewise. * testsuite/gas/arm/note-march-ep9312.d: Likewise. * testsuite/gas/arm/note-march-ep9312.s: Likewise. * testsuite/gas/arm/note-march-iwmmxt.d: Likewise. * testsuite/gas/arm/note-march-iwmmxt.s: Likewise. * testsuite/gas/arm/note-march-iwmmxt2.d: Likewise. * testsuite/gas/arm/note-march-iwmmxt2.s: Likewise. * testsuite/gas/arm/note-march-xscale.d: Likewise. * testsuite/gas/arm/note-march-xscale.s: Likewise. commit 3c7687b9cdacc243f7e23cd9b144e72b88d58817 Author: Maciej W. Rozycki Date: Tue Nov 27 16:34:03 2018 +0000 MIPS/LD: Accept high-part relocations in PIC code with absolute symbols Accept R_MIPS_HI16, R_MIPS_HIGHER and R_MIPS_HIGHEST relocations and their compressed counterparts in PIC code where the symbol referred is absolute. Such an operation is meaningful, because an absolute symbol effectively is a constant the calculation of the value of which has been deferred to the static link time, and which is not going to change any further at the dynamic load time. Therefore there is no need ever to refuse the use of these relocations with such symbols, as the resulting run-time value observed by the program will be correct even in PIC code. This is not the case with R_MIPS_26 and its compressed counterparts, because the run-time value calculated by the instructions these relocations are used with depends on the address of the instruction itself, and that can change according to the base address used by the dynamic loader. Therefore these relocations have to continue being rejected in PIC code even with absolute symbols. This allows successful linking of code that relies on previous linker behavior up to commit 861fb55ab50a ("Defer allocation of R_MIPS_REL32 GOT slots"), , which introduced the problematic check missing this special exception for absolute symbols. bfd/ * elfxx-mips.c (_bfd_mips_elf_check_relocs) : Also accept an absolute symbol in PIC code. ld/ * testsuite/ld-mips-elf/pic-reloc-0.d: New test. * testsuite/ld-mips-elf/pic-reloc-1.d: New test. * testsuite/ld-mips-elf/pic-reloc-2.d: New test. * testsuite/ld-mips-elf/pic-reloc-3.d: New test. * testsuite/ld-mips-elf/pic-reloc-4.d: New test. * testsuite/ld-mips-elf/pic-reloc-absolute-hi.ld: New test linker script. * testsuite/ld-mips-elf/pic-reloc-absolute-lo.ld: New test linker script. * testsuite/ld-mips-elf/pic-reloc-ordinary.ld: New test linker script. * testsuite/ld-mips-elf/pic-reloc-j.s: New test source. * testsuite/ld-mips-elf/pic-reloc-lui.s: New test source. * testsuite/ld-mips-elf/mips-elf.exp: Run the new tests. commit aff68bd0415c6f834cf1717865b5b44dea6b9ef5 Author: Maciej W. Rozycki Date: Tue Nov 27 16:34:03 2018 +0000 MIPS/LD: Continue processing with refused relocations in PIC code Switch from `_bfd_error_handler' to `info->callbacks->einfo' with error reporting concerning the use of position-dependent relocations such as R_MIPS_HI16 or R_MIPS_26 in PIC code and continue processing so that any subsequent link errors are also shown rather than the linker terminating right away. This can reduce user frustration where correcting one error only reveals another one; instead all are shown together making them all possible to investigate at once. The use of the `%X' specifier causes the linker to terminate unsuccessfully at the end of processing. Also fix the message to say `cannot' rather than `can not'. bfd/ * elfxx-mips.c (_bfd_mips_elf_check_relocs) : Use `info->callbacks->einfo' rather than `_bfd_error_handler' to report refused relocations in PIC code and continue processing. Fix error message: `can not' -> `cannot'. commit a5990ada637d978c43c6ff07941c56e97a3e6965 Author: Maciej W. Rozycki Date: Tue Nov 27 16:34:03 2018 +0000 LD: Convert `%P: %H:' to `%H:' in error messages Similarly to commit 174d0a74a2e6 ("PowerPC/BFD: Convert `%P: %H:' to `%H:' in error messages") convert linker relocation error messages to use `%H:' rather `%P: %H:', removing inconsistent message composition like: $ cat reloc-j.s .text .globl foo .ent foo foo: j bar j bar .end foo $ cat reloc-j.ld SECTIONS { bar = 0x12345678; .text : { *(.text) } /DISCARD/ : { *(*) } } $ as -o reloc-j.o reloc-j.s $ ld -T reloc-j.ld -o reloc-j reloc-j.o ld: tmpdir/reloc-j.o: in function `foo': (.text+0x0): relocation truncated to fit: R_MIPS_26 against `bar' ld: (.text+0x8): relocation truncated to fit: R_MIPS_26 against `bar' $ where subsequent lines referring to issues within a single function have the name of the linker executable prepended, but the first one does not. As noted with the commit referred this breaks a GNU Coding Standard's requirement that error messages from compilers should look like this: source-file-name:lineno: message also quoted in `vfinfo' code handling these specifiers. Remove the linker name prefix then, making the messages now look like: $ ld -T reloc-j.ld -o reloc-j reloc-j.o tmpdir/reloc-j.o: in function `foo': (.text+0x0): relocation truncated to fit: R_MIPS_26 against `bar' (.text+0x8): relocation truncated to fit: R_MIPS_26 against `bar' $ instead. ld/ * ldmain.c (reloc_overflow): Use `%H:' rather than `%P: %H:' with `einfo'. (reloc_dangerous): Likewise. (unattached_reloc): Likewise. commit 131a5a648d314cd15811158150573cb40eb3abd0 Author: H.J. Lu Date: Tue Nov 27 06:02:36 2018 -0800 Initialize *uncompressed_align_pow_p to 0 Initialize *uncompressed_align_pow_p to 0 since *uncompressed_align_pow_p is passed to bfd_is_section_compressed_with_header as uninitialized, PR binutils/23919 * compress.c (bfd_is_section_compressed_with_header): Initialize *uncompressed_align_pow_p to 0. commit 9fca35fc3486283562a7fcd9eb0ff845b0152d98 Author: Tamar Christina Date: Tue Nov 27 12:33:21 2018 +0000 AArch64: Fix regression in Cortex A53 erratum when PIE. (PR ld/23904) The fix for PR ld/22263 causes TLS relocations using ADRP to be relaxed into MOVZ, however this causes issues for the erratum code. The erratum code scans the input sections looking for ADRP instructions and notes their location in the stream. It then later tries to find them again in order to generate the linker stubs. Due to the relaxation it instead finds a MOVZ and hard aborts. Since this relaxation is a valid one, and in which case the erratum no longer applies, it shouldn't abort but instead just continue. This changes the TLS relaxation code such that when it finds an ADRP and it relaxes it, it removes the erratum entry from the work list by changing the stub type into none so the stub is ignored. The entry is not actually removed as removal is a more expensive operation and we have already allocated the memory anyway. The clearing is done for IE->LE and GD->LE relaxations, and a testcase is added for the IE case. The GD case I believe to be impossible to get together with the erratum sequence due to the required BL which would break the sequence. However to cover all basis I have added the guard there as well. build on native hardware and regtested on aarch64-none-elf, aarch64-none-elf (32 bit host), aarch64-none-linux-gnu, aarch64-none-linux-gnu (32 bit host) Cross-compiled and regtested on aarch64-none-linux-gnu, aarch64_be-none-linux-gnu Testcase in PR23940 tested and works as expected now and benchmarks ran on A53 showing no regressions and no issues. bfd/ChangeLog: PR ld/23904 * elfnn-aarch64.c (_bfd_aarch64_adrp_p): Use existing constants. (_bfd_aarch64_erratum_843419_branch_to_stub): Use _bfd_aarch64_adrp_p. (struct erratum_835769_branch_to_stub_clear_data): New. (_bfd_aarch64_erratum_843419_clear_stub): New. (clear_erratum_843419_entry): New. (elfNN_aarch64_tls_relax): Use it. (elfNN_aarch64_relocate_section): Pass input_section. (aarch64_map_one_stub): Handle branch type none as valid. ld/ChangeLog: PR ld/23904 * testsuite/ld-aarch64/aarch64-elf.exp: Add erratum843419_tls_ie. * testsuite/ld-aarch64/erratum843419_tls_ie.d: New test. * testsuite/ld-aarch64/erratum843419_tls_ie.s: New test. commit 35ba4bc019ba75eca36363164eeaae3f011b32c9 Author: Jozef Lawrynowicz Date: Tue Nov 27 12:25:09 2018 +0000 Tighten the constraints for warning about NOPs for the MSP 430 ISA, so NOPs are only inserted/warned about when needed. Specifically: 430 and 430x ISA require a NOP after DINT. Only the 430x ISA requires NOP before EINT. Only the 430x ISA requires NOP after every EINT. CPU42 errata. * config/tc-msp430.c (is_dint): New. (is_eint): New. (gen_nop): New. (warn_eint_nop): New. (warn_unsure_interrupt): New. (msp430_operands): Determine the effect MOV #N,SR insns have on interrupt state. Only emit NOP warnings for 430 ISA in certain situations. (msp430_md_end): Only warn about an EINT at the end of the file if NOP warnings are enabled. * testsuite/gas/msp430/bad.l: Adjust expected output for new warnings. * testsuite/gas/msp430/msp430.exp: Run new tests. * testsuite/gas/msp430/nop-dint-430.d: New. * testsuite/gas/msp430/nop-dint-430.l: New. * testsuite/gas/msp430/nop-dint-430x-ignore.d: New. * testsuite/gas/msp430/nop-dint-430x-silent.d: New. * testsuite/gas/msp430/nop-dint-430x.d: New. * testsuite/gas/msp430/nop-dint-430x.l: New. * testsuite/gas/msp430/nop-dint.s: New. * testsuite/gas/msp430/nop-eint-430.d: New. * testsuite/gas/msp430/nop-eint-430.l: New. * testsuite/gas/msp430/nop-eint-430x-ignore.d: New. * testsuite/gas/msp430/nop-eint-430x-silent.d: New. * testsuite/gas/msp430/nop-eint-430x.d: New. * testsuite/gas/msp430/nop-eint-430x.l: New. * testsuite/gas/msp430/nop-eint.s: New. * testsuite/gas/msp430/nop-int-430.d: New. * testsuite/gas/msp430/nop-int-430.l: New. * testsuite/gas/msp430/nop-int-430x-silent.d: New. * testsuite/gas/msp430/nop-int-430x.d: New. * testsuite/gas/msp430/nop-int-430x.l: New. * testsuite/gas/msp430/nop-int.s: New. commit 4207142d6a5d2359170c5f9a140fc1a2351fbda9 Author: Mark Wielaard Date: Tue Nov 27 11:59:10 2018 +0000 Handle ELF compressed header alignment correctly by setting up the section alignment correctly for the Elf32_Chdr or Elf64_Chdr type and respect the ch_addralign field when decompressing the section data. PR binutils/23919 binutils* readelf.c (dump_sections_as_strings): Remove bogus addralign check. (dump_sections_as_bytes): Likewise. (load_specific_debug_sections): Likewise. * testsuite/binutils-all/dw2-3.rS: Adjust alignment. * testsuite/binutils-all/dw2-3.rt: Likewise. bfd * bfd.c (bfd_update_compression_header): Explicitly set alignment. (bfd_check_compression_header): Add uncompressed_alignment_power argument. Check ch_addralign is a power of 2. * bfd-in2.h: Regenerated. * compress.c (bfd_compress_section_contents): Get and set orig_uncompressed_alignment_pow if section is decompressed. (bfd_is_section_compressed_with_header): Add and get uncompressed_align_pow_p argument. (bfd_is_section_compressed): Add uncompressed_align_power argument to bfd_is_section_compressed_with_header call. (bfd_init_section_decompress_status): Get and set uncompressed_alignment_power. * elf.c (_bfd_elf_make_section_from_shdr): Add uncompressed_align_power argument to bfd_is_section_compressed_with_header call. commit 6a75ea85b19306046e04a08eec344ec67ec2733d Author: GDB Administrator Date: Tue Nov 27 00:00:24 2018 +0000 Automatic date update in version.in commit ed2df75c51551cf9b44f7d94179849565ab5bdda Author: Simon Marchi Date: Mon Nov 26 14:35:03 2018 -0500 Fix spurious semicolon in sparc-linux-nat.c Remove a semicolon that should not be there, as reported in PR 23917: CXX sparc-linux-nat.o /home/emaisin/src/binutils-gdb/gdb/sparc-linux-nat.c:39:3: error: expected unqualified-id before ‘{’ token { sparc_store_inferior_registers (regcache, regnum); } ^ Tested by rebuilding the file manually (make sparc-linux-nat.o) in a sparc64-linux-gnu build. gdb/ChangeLog: PR gdb/23917 * sparc-linux-nat.c (sparc_linux_nat_target): Remove extraneous semicolon. commit 24bce9bbe510c9efa36c0f85fb2f8a93ec8b623e Author: Pedro Alves Date: Mon Nov 26 13:13:35 2018 +0000 Fix Solaris build The recent commit 080363310650 ("Per-inferior thread list, thread ranges/iterators, down with ALL_THREADS, etc.") removed the definitions of is_running/is_stopped/is_exited but missed updating a couple uses of is_exited in Solaris-specific code. Tested by Rainer Orth on amd64-pc-solaris2.11. gdb/ChangeLog: 2018-11-26 Pedro Alves * procfs.c (procfs_notice_thread): Replace uses of in_thread_list/is_exited with find_thread_ptid/THREAD_EXITED. * sol-thread.c (sol_thread_target::wait) (sol_update_thread_list_callback): Likewise. commit 9b4e3a5e23b37b3e9ff188043630d190e9c2e55f Author: Alan Modra Date: Mon Nov 26 22:07:17 2018 +1030 [GOLD] justsyms_exec test fail on powerpc64 This test fails on powerpc64le due to the justsyms_lib being built with exported_data at 0x2010000, apparently due to the powerpc target code generating an empty relro .branch_lt section. Since the test relies on the library having exported_data at 0x2000000, avoid the problem by linking with -z norelro. Also, the test doesn't need to avoid checking the function symbol on powerpc elfv2. * testsuite/Makefile.am (justsyms_lib): Link with -z norelro. * testsuite/Makefile.in: Regenerate. * testsuite/justsyms_exec.c (main): Do check exported_func on PowerPC64 ELFv2. commit 2eccb8f91fec7bb6431b55d701e5c7fd2849e3f5 Author: Alan Modra Date: Mon Nov 26 22:05:54 2018 +1030 [GOLD] support objdump -T display of st_other PowerPC64 ELFv2 uses the top 3 bits of st_other to encode a function's local entry point offset from its global entry point. Allow st_other bits except for visibility==default. * testsuite/ver_test_14.sh: Accept objdump -T display of st_other bits on powerpc64le. commit 0a744d8f9d434e2338bfabd9eeb1b02e225eb1ab Author: GDB Administrator Date: Mon Nov 26 00:00:37 2018 +0000 Automatic date update in version.in commit f63c03b470036353c8c6c657e15f5ebd62ab67dd Author: Sergio Durigan Junior Date: Thu Nov 22 16:45:33 2018 -0500 Implement timestamp'ed output on "make check" It is unfortunately not uncommon to have tests hanging on some of the BuildBot workers. For example, the ppc64be/ppc64le+gdbserver builders are especially in a bad state when it comes to testing GDB/gdbserver, and we can have builds that take an absurd amount of time to finish (almost 1 week for one single build, for example). It may be hard to diagnose these failures, because sometimes we don't have access to the faulty systems, and other times we're just too busy to wait and check which test is actually hanging. During one of our conversations about the topic, someone proposed that it would be a good idea to have a timestamp put together with stdout output, so that we can come back later and examine which tests are taking too long to complete. Here's my proposal to do this. The very first thing I tried to do was to use "ts(1)" to achieve this feature, and it obviously worked, but the problem is that I'm afraid "ts(1)" may not be widely available on every system we support. Therefore, I decided to implement a *very* simple version of "ts(1)", in Python 3, which basically does the same thing: iterate over the stdin lines, and prepend a timestamp onto them. As for testsuite/Makefile.in, the user can now specify two new variables to enable timestamp'ed output: TS (which enables the output), and TS_FORMAT (optional, used to specify another timestamp format according to "strftime"). Here's an example of how the output looks like: ... [Nov 22 17:07:19] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/call-strs.exp ... [Nov 22 17:07:19] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/step-over-no-symbols.exp ... [Nov 22 17:07:20] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/all-architectures-6.exp ... [Nov 22 17:07:20] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/hashline3.exp ... [Nov 22 17:07:20] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/max-value-size.exp ... [Nov 22 17:07:20] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/quit-live.exp ... [Nov 22 17:07:46] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/paginate-bg-execution.exp ... [Nov 22 17:07:56] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/gcore-buffer-overflow.exp ... [Nov 22 17:07:56] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/gcore-relro.exp ... [Nov 22 17:07:56] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/watchpoint-delete.exp ... [Nov 22 17:07:56] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp ... [Nov 22 17:07:56] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/vla-sideeffect.exp ... [Nov 22 17:07:57] [1234] Running binutils-gdb/gdb/testsuite/gdb.base/unload.exp ... ... (What, gdb.base/quit-live.exp is taking 26 seconds to complete?!) Output to stderr is not timestamp'ed, but I don't think that will be a problem for us. If it is, we can revisit the solution and extend it. gdb/testsuite/ChangeLog: 2018-11-25 Sergio Durigan Junior * Makefile.in (TIMESTAMP): New variable. (check-single): Add $(TIMESTAMP) to the end of $(DO_RUNTEST) command. (check-single-racy): Likewise. (check/%.exp): Likewise. (check-racy/%.exp): Likewise. (workers/%.worker): Likewise. (build-perf): Likewise. (check-perf): Likewise. * README: Describe new "TS" and "TS_FORMAT" variables. * print-ts.py: New file. commit b5b12e1dbe0f2739624f91621828df73ef55e900 Author: Tom Tromey Date: Sun Nov 25 12:30:20 2018 -0700 Remove obsolete comments from field_fmt This removes some comments that I believe were made obsolete by the recent change to cli_ui_out::do_field_fmt. The comment in mi_ui_out probably was just copy/paste, because I think aligning never made sense in an MI context. gdb/ChangeLog 2018-11-25 Tom Tromey * ui-out.c (ui_out::field_fmt): Remove comment. * tui/tui-out.c (tui_ui_out::do_field_fmt): Remove comment. * mi/mi-out.c (mi_ui_out::do_field_fmt): Remove comment. commit bb31d44bb1a1594ebe0011d652574a6b4a852080 Author: GDB Administrator Date: Sun Nov 25 00:01:25 2018 +0000 Automatic date update in version.in commit 5446094655df842abb4ababac39f34c6342e8da3 Author: Philippe Waroquiers Date: Sat Nov 24 12:42:24 2018 +0100 Re-fix leak in source.c (open_source_file). Leak fixed in '8e6a5953e1d Fix 4K leak in open_source_file' has been partially undone by '2179fbc36d23 Return scoped_fd from open_source_file'. Re-add the transfer of current s->fullname to the unique_xmalloc_ptr fullname given to find_and_open_source. commit f5e0fe29ee3b3b9a27a68aacdb6950fa22372099 Author: GDB Administrator Date: Sat Nov 24 00:00:24 2018 +0000 Automatic date update in version.in commit 06a3cd06d4d1a2efe4d6a14204e1e5653bab41db Author: Andre Vieira Date: Fri Nov 23 17:10:53 2018 +0000 [GAS][ARM] Fix testism for bl local v4t test gas/ChangeLog 2018-11-23 Andre Vieira * testsuite/gas/arm/bl-local-v4t.d: Remove warning check. * testsuite/gas/arm/blx-local-thumb.s: New. * testsuite/gas/arm/blx-local-thumb.d: New. commit 5013824590f59374106007d4c9724d5767911d75 Author: Alan Hayward Date: Fri Nov 23 11:46:34 2018 +0000 gdbserver: AArch64: Remove cannot_fetch/store_register The cannot store/fetch register functions are only used for checking if a register can be accessed using PEEKUSER/POKEUSER. The AArch64 port doesn't support this method of access, so remove the unused functions. gdb/gdbserver: * linux-aarch64-low.c (aarch64_cannot_store_register): Remove. (aarch64_cannot_fetch_register): Likewise. (struct linux_target_ops): Update references. commit 6af05e645ab7fbbb4e0b663f50febf052e6d09a0 Author: Pedro Alves Date: Fri Nov 23 13:36:59 2018 +0000 Remove declarations of is_running/is_stopped/is_exited The recent commit 080363310650 ("Per-inferior thread list, thread ranges/iterators, down with ALL_THREADS, etc.") removed the definitions of is_running/is_stopped/is_exited but missed removing the declarations. gdb/ChangeLog: 2018-11-23 Pedro Alves * gdbthread.h (enum thread_state): Move comments here. (is_running, is_stopped, is_exited): Remove declarations. commit 8e4b63920116e5c0e5c7efbda29160356b3c868d Author: GDB Administrator Date: Fri Nov 23 00:00:49 2018 +0000 Automatic date update in version.in commit 080363310650c93ad8e93018bcb6760ba5d32d1c Author: Pedro Alves Date: Thu Nov 22 16:09:14 2018 +0000 Per-inferior thread list, thread ranges/iterators, down with ALL_THREADS, etc. As preparation for multi-target, this patch makes each inferior have its own thread list. This isn't absolutely necessary for multi-target, but simplifies things. It originally stemmed from the desire to eliminate the init_thread_list calls sprinkled around, plus it makes it more efficient to iterate over threads of a given inferior (no need to always iterate over threads of all inferiors). We still need to iterate over threads of all inferiors in a number of places, which means we'd need adjust the ALL_THREADS / ALL_NON_EXITED_THREADS macros. However, naively tweaking those macros to have an extra for loop, like: #define ALL_THREADS (thr, inf) \ for (inf = inferior_list; inf; inf = inf->next) \ for (thr = inf->thread_list; thr; thr = thr->next) causes problems with code that does "break" or "continue" within the ALL_THREADS loop body. Plus, we need to declare the extra "inf" local variable in order to pass it as temporary variable to ALL_THREADS (etc.) It gets even trickier when we consider extending the macros to filter out threads matching a ptid_t and a target. The macros become tricker to read/write. Been there. An alternative (which was my next attempt), is to replace the ALL_THREADS etc. iteration style with for_each_all_threads, for_each_non_exited_threads, etc. functions which would take a callback as parameter, which would usually be passed a lambda. However, I did not find that satisfactory at all, because the resulting code ends up a little less natural / more noisy to read, write and debug/step-through (due to use of lambdas), and in many places where we use "continue;" to skip to the next thread now need to use "return;". (I ran into hard to debug bugs caused by a continue/return confusion.) I.e., before: ALL_NON_EXITED_THREADS (tp) { if (tp->not_what_I_want) continue; // do something } would turn into: for_each_non_exited_thread ([&] (thread_info *tp) { if (tp->not_what_I_want) return; // do something }); Lastly, the solution I settled with was to replace the ALL_THREADS / ALL_NON_EXITED_THREADS / ALL_INFERIORS macros with (C++20-like) ranges and iterators, such that you can instead naturaly iterate over threads/inferiors using range-for, like e.g,.: // all threads, including THREAD_EXITED threads. for (thread_info *tp : all_threads ()) { .... } // all non-exited threads. for (thread_info *tp : all_non_exited_threads ()) { .... } // all non-exited threads of INF inferior. for (thread_info *tp : inf->non_exited_threads ()) { .... } The all_non_exited_threads() function takes an optional filter ptid_t as parameter, which is quite convenient when we need to iterate over threads matching that filter. See e.g., how the set_executing/set_stop_requested/finish_thread_state etc. functions in thread.c end up being simplified. Most of the patch thus is about adding the infrustructure for allowing the above. Later on when we get to actual multi-target, these functions/ranges/iterators will gain a "target_ops *" parameter so that e.g., we can iterate over all threads of a given target that match a given filter ptid_t. The only entry points users needs to be aware of are the all_threads/all_non_exited_threads etc. functions seen above. Thus, those functions are declared in gdbthread.h/inferior.h. The actual iterators/ranges are mainly "internals" and thus are put out of view in the new thread-iter.h/thread-iter.c/inferior-iter.h files. That keeps the gdbthread.h/inferior.h headers quite a bit more readable. A common/safe-iterator.h header is added which adds a template that can be used to build "safe" iterators, which are forward iterators that can be used to replace the ALL_THREADS_SAFE macro and other instances of the same idiom in future. There's a little bit of shuffling of code between gdbthread.h/thread.c/inferior.h in the patch. That is necessary in order to avoid circular dependencies between the gdbthread.h/inferior.h headers. As for the init_thread_list calls sprinkled around, they're all eliminated by this patch, and a new, central call is added to inferior_appeared. Note how also related to that, there's a call to init_wait_for_inferior in remote.c that is eliminated. init_wait_for_inferior is currently responsible for discarding skipped inline frames, which had to be moved elsewhere. Given that nowadays we always have a thread even for single-threaded processes, the natural place is to delete a frame's inline frame info when we delete the thread. I.e., from clear_thread_inferior_resources. gdb/ChangeLog: 2018-11-22 Pedro Alves * Makefile.in (COMMON_SFILES): Add thread-iter.c. * breakpoint.c (breakpoints_should_be_inserted_now): Replace ALL_NON_EXITED_THREADS with all_non_exited_threads. (print_one_breakpoint_location): Replace ALL_INFERIORS with all_inferiors. * bsd-kvm.c: Include inferior.h. * btrace.c (btrace_free_objfile): Replace ALL_NON_EXITED_THREADS with all_non_exited_threads. * common/filtered-iterator.h: New. * common/safe-iterator.h: New. * corelow.c (core_target_open): Don't call init_thread_list here. * darwin-nat.c (thread_info_from_private_thread_info): Replace ALL_THREADS with all_threads. * fbsd-nat.c (fbsd_nat_target::resume): Replace ALL_NON_EXITED_THREADS with inf->non_exited_threads. * fbsd-tdep.c (fbsd_make_corefile_notes): Replace ALL_NON_EXITED_THREADS with inf->non_exited_threads. * fork-child.c (postfork_hook): Don't call init_thread_list here. * gdbarch-selftests.c (register_to_value_test): Adjust. * gdbthread.h: Don't include "inferior.h" here. (struct inferior): Forward declare. (enum step_over_calls_kind): Moved here from inferior.h. (thread_info::deletable): Definition moved to thread.c. (find_thread_ptid (inferior *, ptid_t)): Declare. (ALL_THREADS, ALL_THREADS_BY_INFERIOR, ALL_THREADS_SAFE): Delete. Include "thread-iter.h". (all_threads, all_non_exited_threads, all_threads_safe): New. (any_thread_p): Declare. (thread_list): Delete. * infcmd.c (signal_command): Replace ALL_NON_EXITED_THREADS with all_non_exited_threads. (proceed_after_attach_callback): Delete. (proceed_after_attach): Take an inferior pointer instead of an integer PID. Adjust to use range-for. (attach_post_wait): Pass down inferior pointer instead of pid. Use range-for instead of ALL_NON_EXITED_THREADS. (detach_command): Remove init_thread_list call. * inferior-iter.h: New. * inferior.c (struct delete_thread_of_inferior_arg): Delete. (delete_thread_of_inferior): Delete. (delete_inferior, exit_inferior_1): Use range-for with inf->threads_safe() instead of iterate_over_threads. (inferior_appeared): Call init_thread_list here. (discard_all_inferiors): Use all_non_exited_inferiors. (find_inferior_id, find_inferior_pid): Use all_inferiors. (iterate_over_inferiors): Use all_inferiors_safe. (have_inferiors, number_of_live_inferiors): Use all_non_exited_inferiors. (number_of_inferiors): Use all_inferiors and std::distance. (print_inferior): Use all_inferiors. * inferior.h: Include gdbthread.h. (enum step_over_calls_kind): Moved to gdbthread.h. (struct inferior) : New field. : New methods. (ALL_INFERIORS): Delete. Include "inferior-iter.h". (ALL_NON_EXITED_INFERIORS): Delete. (all_inferiors_safe, all_inferiors, all_non_exited_inferiors): New functions. * inflow.c (child_interrupt, child_pass_ctrlc): Replace ALL_NON_EXITED_THREADS with all_non_exited_threads. * infrun.c (follow_exec): Use all_threads_safe. (clear_proceed_status, proceed): Use all_non_exited_threads. (init_wait_for_inferior): Don't clear inline frame state here. (infrun_thread_stop_requested, for_each_just_stopped_thread): Use all_threads instead of ALL_NON_EXITED_THREADS. (random_pending_event_thread): Use all_non_exited_threads instead of ALL_NON_EXITED_THREADS. Use a lambda for repeated code. (clean_up_just_stopped_threads_fsms): Use all_non_exited_threads instead of ALL_NON_EXITED_THREADS. (handle_no_resumed): Use all_non_exited_threads instead of ALL_NON_EXITED_THREADS. Use all_inferiors instead of ALL_INFERIORS. (restart_threads, switch_back_to_stepped_thread): Use all_non_exited_threads instead of ALL_NON_EXITED_THREADS. * linux-nat.c (check_zombie_leaders): Replace ALL_INFERIORS with all_inferiors. (kill_unfollowed_fork_children): Use inf->non_exited_threads instead of ALL_NON_EXITED_THREADS. * linux-tdep.c (linux_make_corefile_notes): Use inf->non_exited_threads instead of ALL_NON_EXITED_THREADS. * linux-thread-db.c (thread_db_target::update_thread_list): Replace ALL_INFERIORS with all_inferiors. (thread_db_target::thread_handle_to_thread_info): Use inf->non_exited_threads instead of ALL_NON_EXITED_THREADS. * mi/mi-interp.c (multiple_inferiors_p): New. (mi_on_resume_1): Simplify using all_non_exited_threads and multiple_inferiors_p. * mi/mi-main.c (mi_cmd_thread_list_ids): Use all_non_exited_threads instead of ALL_NON_EXITED_THREADS. * nto-procfs.c (nto_procfs_target::open): Don't call init_thread_list here. * record-btrace.c (record_btrace_target_open) (record_btrace_target::stop_recording) (record_btrace_target::close) (record_btrace_target::record_is_replaying) (record_btrace_target::resume, record_btrace_target::wait) (record_btrace_target::record_stop_replaying): Use all_non_exited_threads instead of ALL_NON_EXITED_THREADS. * record-full.c (record_full_wait_1): Use all_non_exited_threads instead of ALL_NON_EXITED_THREADS. * regcache.c (cooked_read_test): Remove reference to global thread_list. * remote-sim.c (gdbsim_target::create_inferior): Don't call init_thread_list here. * remote.c (remote_target::update_thread_list): Use all_threads_safe instead of ALL_NON_EXITED_THREADS. (remote_target::process_initial_stop_replies): Replace ALL_INFERIORS with all_non_exited_inferiors and use all_non_exited_threads instead of ALL_NON_EXITED_THREADS. (remote_target::open_1): Don't call init_thread_list here. (remote_target::append_pending_thread_resumptions) (remote_target::remote_resume_with_hc): Use all_non_exited_threads instead of ALL_NON_EXITED_THREADS. (remote_target::commit_resume) (remote_target::remove_new_fork_children): Replace ALL_INFERIORS with all_non_exited_inferiors and use all_non_exited_threads instead of ALL_NON_EXITED_THREADS. (remote_target::kill_new_fork_children): Use all_non_exited_threads instead of ALL_NON_EXITED_THREADS. Remove init_thread_list and init_wait_for_inferior calls. (remote_target::remote_btrace_maybe_reopen) (remote_target::thread_handle_to_thread_info): Use all_non_exited_threads instead of ALL_NON_EXITED_THREADS. * target.c (target_terminal::restore_inferior) (target_terminal_is_ours_kind): Replace ALL_INFERIORS with all_non_exited_inferiors. * thread-iter.c: New file. * thread-iter.h: New file. * thread.c: Include "inline-frame.h". (thread_list): Delete. (clear_thread_inferior_resources): Call clear_inline_frame_state. (init_thread_list): Use all_threads_safe instead of ALL_THREADS_SAFE. Adjust to per-inferior thread lists. (new_thread): Adjust to per-inferior thread lists. (add_thread_silent): Pass inferior to find_thread_ptid. (thread_info::deletable): New, moved from the header. (delete_thread_1): Adjust to per-inferior thread lists. (find_thread_global_id): Use inf->threads(). (find_thread_ptid): Use find_inferior_ptid and pass inferior to find_thread_ptid. (find_thread_ptid(inferior*, ptid_t)): New overload. (iterate_over_threads): Use all_threads_safe. (any_thread_p): New. (thread_count): Use all_threads and std::distance. (live_threads_count): Use all_non_exited_threads and std::distance. (valid_global_thread_id): Use all_threads. (in_thread_list): Use find_thread_ptid. (first_thread_of_inferior): Adjust to per-inferior thread lists. (any_thread_of_inferior, any_live_thread_of_inferior): Use inf->non_exited_threads(). (prune_threads, delete_exited_threads): Use all_threads_safe. (thread_change_ptid): Pass inferior pointer to find_thread_ptid. (set_resumed, set_running): Use all_non_exited_threads. (is_thread_state, is_stopped, is_exited, is_running) (is_executing): Delete. (set_executing, set_stop_requested, finish_thread_state): Use all_non_exited_threads. (print_thread_info_1): Use all_inferiors and all_threads. (thread_apply_all_command): Use all_non_exited_threads. (thread_find_command): Use all_threads. (update_threads_executing): Use all_non_exited_threads. * tid-parse.c (parse_thread_id): Use inf->threads. * x86-bsd-nat.c (x86bsd_dr_set): Use inf->non_exited_threads (). commit c4c17fb0f5879d3f58c733a4139fa59817e8155e Author: Pedro Alves Date: Thu Nov 22 16:09:12 2018 +0000 Fix follow_exec latent problem A following commit to make each inferior have its own thread list exposes a problem with bf93d7ba99 ("Add thread after updating gdbarch when exec'ing"), which is that we can't defer adding the thread because that breaks try_open_exec_file which deep inside ends up calling inferior_thread(): #5 0x0000000000637c78 in internal_error(char const*, int, char const*, ...) (file=0xc151f8 "src/gdb/thread.c", line=165, fmt=0xc15180 "%s: Assertion `%s' failed.") at src/gdb/common/errors.c:55 #6 0x00000000008a3d80 in inferior_thread() () at src/gdb/thread.c:165 #7 0x0000000000456f91 in try_thread_db_load_1(thread_db_info*) (info=0x277eb00) at src/gdb/linux-thread-db.c:830 #8 0x0000000000457554 in try_thread_db_load(char const*, int) (library=0xb01a4f "libthread_db.so.1", check_auto_load_safe=0) at src/gdb/linux-thread-db.c:1002 #9 0x0000000000457861 in try_thread_db_load_from_sdir() () at src/gdb/linux-thread-db.c:1079 #10 0x0000000000457b72 in thread_db_load_search() () at src/gdb/linux-thread-db.c:1134 #11 0x0000000000457d29 in thread_db_load() () at src/gdb/linux-thread-db.c:1192 #12 0x0000000000457e51 in check_for_thread_db() () at src/gdb/linux-thread-db.c:1244 #13 0x0000000000457ed2 in thread_db_new_objfile(objfile*) (objfile=0x270ff60) at src/gdb/linux-thread-db.c:1273 #14 0x000000000045a92e in std::_Function_handler::_M_invoke(std::_Any_data const&, objfile*&&) (__functor=..., __args#0=@0x7ffef3efe140: 0x270ff60) at /usr/include/c++/7/bits/std_function.h:316 #15 0x00000000007bbebf in std::function::operator()(objfile*) const (this=0x24e1d18, __args#0=0x270ff60) at /usr/include/c++/7/bits/std_function.h:706 #16 0x00000000007bba86 in gdb::observers::observable::notify(objfile*) const (this=0x117ce80 , args#0=0x270ff60) at src/gdb/common/observable.h:106 #17 0x0000000000856000 in symbol_file_add_with_addrs(bfd*, char const*, symfile_add_flags, section_addr_info*, objfile_flags, objfile*) (abfd=0x1d7dae0, name=0x254bfc0 "/ho The problem is latent currently because inferior_thread() at that point manages to return a thread, even though it's the wrong one (of the old inferior). The problem originally fixed by bf93d7ba99 was: (...) we should avoid doing register reads after a process does an exec and before we've updated that inferior's gdbarch. Otherwise, we may interpret the registers using the wrong architecture. (...) The call to "add_thread" done just after adding the inferior is problematic, because it ends up reading the registers (because the ptid is re-used, we end up doing a switch_to_thread to it, which tries to update stop_pc). (...) The register-reading issue is no longer a problem nowadays, ever since switch_to_thread stopped reading the stop_pc in git commit f2ffa92bbce9 ("gdb: Eliminate the 'stop_pc' global"). So this commit basically reverts bf93d7ba99. gdb/ChangeLog: 2018-11-22 Pedro Alves * infrun.c (follow_exec) : Add thread and switch to it before calling into try_open_exec_file. commit 151bb4a5059e73934f7bc61318efaaffe0c91b81 Author: Pedro Alves Date: Thu Nov 22 16:09:12 2018 +0000 Avoid find_thread_ptid with null_ptid With a following patch, find_thread_ptid will first find the inferior for the passed-in ptid, using find_inferior_pid, and then look for the thread in that inferior's thread list. If we pass down null_ptid to find_thread_ptid then that means we'll end up passing 0 to find_inferior_pid, which hits this assertion: > struct inferior * > find_inferior_pid (int pid) > { > struct inferior *inf; > > /* Looking for inferior pid == 0 is always wrong, and indicative of > a bug somewhere else. There may be more than one with pid == 0, > for instance. */ > gdb_assert (pid != 0); This patch prepares for the change, by avoiding passing down null_ptid to find_thread_ptid or to functions that naturally use it, such as the target_pid_to_str call in inferior.c:add_inferior. In that latter case, the patch changes GDB output, from: (gdb) add-inferior [New inferior 2 (process 0)] to: (gdb) add-inferior [New inferior 2] which seems like a good change to me. It might not even make sense to talk about "process" for the current target, for example. The python_on_normal_stop change ends up avoiding looking up the same thread twice (inferior_thread also does a look up). gdb/ChangeLog: 2018-11-22 Pedro Alves * cli/cli-interp.c (cli_on_user_selected_context_changed): Use inferior_thread instead of find_thread_ptid, and only when inferior_ptid is not null_ptid. * inferior.c (add_inferior): Don't include target_pid_to_str output when the inferior is not started. * python/py-inferior.c (python_on_normal_stop): Don't use find_thread_ptid. (tui_on_user_selected_context_changed): Use inferior_thread instead of find_thread_ptid, and only when inferior_ptid is not null_ptid. commit 79a9468c702f7087b5bbff2cfd2210a94e7c5fa4 Author: GDB Administrator Date: Thu Nov 22 00:00:17 2018 +0000 Automatic date update in version.in commit 27f42a4ddb28514fde3d01083120674fc8c0c107 Author: John Darrington Date: Tue Nov 20 18:50:30 2018 +0100 S12Z opcodes: Fix bug disassembling certain shift instructions. Shift and rotate instructions when the number of bit positions was an immediate value greater than 1 were incorrectly disassembled. This change fixes that problem and extends the test to check for it. gas/ChangeLog: testsuite/gas/s12z/shift.s: Add new test case. testsuite/gas/s12z/shift.d: Add expected result. opcodes/ChangeLog: s12z-dis.c (print_insn_shift) [SB_REG_REG_N]: Enter special case if the postbyte matches the appropriate pattern. commit 51534d7ab8c77fdf2af52f409cc4e348e4213bb7 Author: John Darrington Date: Tue Nov 20 18:50:30 2018 +0100 S12Z: Add alias instructions BHS and BLO. These are documented by NXP as alternative mnemonics for BCC and BCS respectively. gas/ChangeLog: * config/tc-s12z.c (opcodes): bhs, blo: New members. * testsuite/gas/s12z/bra.d: Add tests for aliases. * testsuite/gas/s12z/bra.s: Add tests for aliases. commit 1c97054b87495b008c6028d697deff61c9fb0b6e Author: Benno Fünfstück Date: Wed Nov 21 17:06:05 2018 +0000 Make command-repeat work after gdb.execute Since commit 56bcdbea2bed ("Let gdb.execute handle multi-line commands") command repetition after using the `gdb.execute` Python function fails (the previous command is not repeated anymore). This happens because read_command_lines_1 sets dont_repeat, but the call to prevent_dont_repeat in execute_gdb_command is later. The fix is to move the call to prevent_dont_repeat to the beginning of the function. Tested on my laptop (ArchLinux-x86_64). gdb/ChangeLog: PR python/23714 * gdb/python/python.c (execute_gdb_command): Call prevent_dont_repeat earlier to avoid affecting dont_repeat. gdb/testuite/ChangeLog: PR python/23714 * gdb.python/python.exp: Test command repetition after gdb.execute. commit ca94519e70c39fca1d6ea93b8604349111522a8b Author: Jozef Lawrynowicz Date: Wed Nov 21 16:21:25 2018 +0000 Fix linking MSP430 files created by gcc's LTO optimizer. When invoking GCC with "-g -flto", the compiler will create LTO objects with debug information. The objects created are "simple ELF" objects (see libiberty/simple-object-elf.c) and do not have target-specific sections. When the MSP430 linker sees one of these objects without a .MSP430.attributes section it errors: > error: /tmp/cc4LhbEI.ltrans0.ltrans.o uses MSP430X instructions but /tmp/ccynqIwudebugobj uses unknown > error: /tmp/cc4LhbEI.ltrans0.ltrans.o uses the small code model whereas /tmp/ccynqIwudebugobj uses the unknown code model > error: /tmp/cc4LhbEI.ltrans0.ltrans.o uses the small data model whereas /tmp/ccynqIwudebugobj uses the unknown data model > error: /tmp/cc4LhbEI.ltrans0.ltrans.o uses the small code model but /tmp/ccynqIwudebugobj uses the unknown data model > failed to merge target specific data of file /tmp/cc4LhbEI.ltrans0.ltrans.o The following patch allows these debug LTO objects to be linked with other MSP430 objects even if they do not have a .MSP430.attributes section. bfd * elf32-msp430.c (elf32_msp430_merge_mspabi_attributes): Do not error when .MSP430.attributes section is missing from objects created by LTO. commit b5ffee3181d157a4d964f62344ac827142e37bde Author: Andrew Burgess Date: Mon Oct 29 15:10:52 2018 +0000 gdb/riscv: Add target description support This commit adds target description support for riscv. I've used the split feature approach for specifying the architectural features, and the CSR feature is auto-generated from the riscv-opc.h header file. If the target doesn't provide a suitable target description then GDB will build one by looking at the bfd headers. This commit does not implement target description creation for the Linux or FreeBSD native targets, both of these will need to add read_description methods into their respective target classes, which probe the target features, and then call riscv_create_target_description to build a suitable target description. Until this is done Linux and FreeBSD will get the same default target description based on the bfd that bare-metal targets get. I've only added feature descriptions for 32 and 64 bit registers, 128 bit registers (for RISC-V) are not supported in the reset of GDB yet. This commit removes the special reading of the MISA register in order to establish the target features, this was only used for figuring out the f-register size, and even that wasn't done consistently. We now rely on the target to tell us what size of registers it has (or look in the BFD as a last resort). The result of this is that we should now support RV64 targets with 32-bit float, though I have not extensively tested this combination yet. * Makefile.in (ALL_TARGET_OBS): Add arch/riscv.o. (HFILES_NO_SRCDIR): Add arch/riscv.h. * arch/riscv.c: New file. * arch/riscv.h: New file. * configure.tgt: Add cpu_obs list of riscv, move riscv-tdep.o into this list, and add arch/riscv.o. * features/Makefile: Add riscv features. * features/riscv/32bit-cpu.c: New file. * features/riscv/32bit-cpu.xml: New file. * features/riscv/32bit-csr.c: New file. * features/riscv/32bit-csr.xml: New file. * features/riscv/32bit-fpu.c: New file. * features/riscv/32bit-fpu.xml: New file. * features/riscv/64bit-cpu.c: New file. * features/riscv/64bit-cpu.xml: New file. * features/riscv/64bit-csr.c: New file. * features/riscv/64bit-csr.xml: New file. * features/riscv/64bit-fpu.c: New file. * features/riscv/64bit-fpu.xml: New file. * features/riscv/rebuild-csr-xml.sh: New file. * riscv-tdep.c: Add 'arch/riscv.h' include. (riscv_gdb_reg_names): Delete. (csr_reggroup): New global. (struct riscv_register_alias): Delete. (struct riscv_register_feature): New structure. (riscv_register_aliases): Delete. (riscv_xreg_feature): New global. (riscv_freg_feature): New global. (riscv_virtual_feature): New global. (riscv_csr_feature): New global. (riscv_create_csr_aliases): New function. (riscv_read_misa_reg): Delete. (riscv_has_feature): Delete. (riscv_isa_xlen): Simplify, just return cached xlen. (riscv_isa_flen): Simplify, just return cached flen. (riscv_has_fp_abi): Update for changes in struct gdbarch_tdep. (riscv_register_name): Update to make use of tdesc_register_name. Look up xreg and freg names in the new globals riscv_xreg_feature and riscv_freg_feature. Don't supply csr aliases here. (riscv_fpreg_q_type): Delete. (riscv_register_type): Use tdesc_register_type in almost all cases, override the returned type in a few specific cases only. (riscv_print_one_register_info): Handle errors reading registers. (riscv_register_reggroup_p): Use tdesc_register_in_reggroup_p for registers that are otherwise unknown to GDB. Also check the csr_reggroup. (riscv_print_registers_info): Remove assert about upper register number, and use gdbarch_register_reggroup_p instead of short-cutting. (riscv_find_default_target_description): New function. (riscv_check_tdesc_feature): New function. (riscv_add_reggroups): New function. (riscv_setup_register_aliases): New function. (riscv_init_reggroups): New function. (_initialize_riscv_tdep): Add calls to setup CSR aliases, and setup register groups. Register new riscv debug variable. * riscv-tdep.h: Add 'arch/riscv.h' include. (struct gdbarch_tdep): Remove abi union, and add riscv_gdbarch_features field. Remove cached quad floating point type, and provide initialisation for double type field. * target-descriptions.c (maint_print_c_tdesc_cmd): Add riscv to the list of targets using the feature based target descriptions. * NEWS: Mention target description support. gdb/doc/ChangeLog: * gdb.texinfo (Standard Target Features): Add RISC-V Features sub-section. commit 38139a9681a32e92f5c5b8437875d2726c009841 Author: Pedro Alves Date: Wed Nov 21 11:55:15 2018 +0000 valops.c: Overload resolution code: Rename parameters/locals While looking over this code, I thought the names of the parameters to find_oload_champ and related functions and locals were a bit too cryptic. For example, FN_LIST holds methods, not free functions. Free-functions are in OLOAD_SYMS. This patch renames parameters/variables to the more obvious methods/xmethods/functions instead. gdb/ChangeLog: 2018-11-21 Pedro Alves * valops.c (find_method_list, value_find_oload_method_list) (find_overload_match, find_oload_champ): Rename parameters and locals. commit 85cca2bcbc7833b33d4b61d7b7e0e75b9afa063b Author: Pedro Alves Date: Wed Nov 21 11:55:14 2018 +0000 valops.c: Some more gdb::array_view This commit replaces some more use of pointer+length pairs in the overload resolution code with gdb::array_view. find_oload_champ's interface is simplified/normalized: the xmethods parameter is converted from std::vector to array pointer, and then the num_fns parameter is always passed in, no matter the array which is non-NULL. I tweaked the formatting of callers a little bit here and there so that the 3 optional parameters are all in the same line. (I tried making the 3 optional array parameters be array_views, but the resulting code didn't look as nice.) gdb/ChangeLog: 2018-11-21 Pedro Alves * valops.c (find_method_list): Replace pointer and length parameters with an gdb::array_view. Adjust. (value_find_oload_method_list): Likewise. (find_overload_match): Use gdb::array_view for methods list. Adjust to find_oload_champ interface change. (find_oload_champ): 'xm_worker_vec' parameter now a pointer/array. 'num_fns' parameter now a size_t. Eliminate 'fn_count' local. commit 82ceee50146563a61ed19f4ad585d39636a6dfa8 Author: Pedro Alves Date: Wed Nov 21 11:55:14 2018 +0000 C++ify badness_vector, fix leaks badness_vector is currently an open coded vector. This reimplements it as a std::vector. This fixes a few leaks as well: - find_oload_champ is leaking every badness vector calculated bar the one returned. - bv->rank is always leaked, since callers of rank_function only xfree the badness_vector pointer, not bv->rank. gdb/ChangeLog: 2018-11-21 Pedro Alves * gdbtypes.c (compare_badness): Change type of parameters to const reference. Adjust to badness_vector being a std::vector now. (rank_function): Adjust to badness_vector being a std::vector now. * gdbtypes.h (badness_vector): Now a typedef to std::vector. (LENGTH_MATCH): Delete. (compare_badness): Change type of parameters to const reference. (rank_function): Return a badness_vector by value now. (find_overload_match): Adjust to badness_vector being a std::vector now. Remove cleanups. (find_oload_champ_namespace): 'oload_champ_bv' parameter now a badness_vector pointer. (find_oload_champ_namespace_loop): 'oload_champ_bv' parameter now a badness_vector pointer. Adjust to badness_vector being a std::vector now. Remove cleanups. (find_oload_champ): 'oload_champ_bv' parameter now a badness_vector pointer. Adjust to badness_vector being a std::vector now. Remove cleanups. commit 0891c3cc132495ad7b323896efae4f91eca87c6c Author: Pedro Alves Date: Wed Nov 21 11:55:13 2018 +0000 Eliminate make_symbol_overload_list-related globals & cleanup This gets rid of a few globals and a cleanup. make_symbol_overload_list & friends currently maintain a global open-coded vector. Reimplement that with a std::vector, trickled down through the functions. Rename a few functions from "make_" to "add_" for clarity. gdb/ChangeLog: 2018-11-21 Pedro Alves * cp-support.c (sym_return_val_size, sym_return_val_index) (sym_return_val): Delete. (overload_list_add_symbol): Add std::vector parameter. Adjust to add to the vector. (make_symbol_overload_list): Adjust to return a std::vector instead of maintaining a global open coded vector. (make_symbol_overload_list_block): Add std::vector parameter. (make_symbol_overload_list_block): Rename to ... (add_symbol_overload_list_block): ... this and add std::vector parameter. (make_symbol_overload_list_namespace): Rename to ... (add_symbol_overload_list_namespace): ... this and add std::vector parameter. (make_symbol_overload_list_adl_namespace): Rename to ... (add_symbol_overload_list_adl_namespace): ... this and add std::vector parameter. (make_symbol_overload_list_adl): Delete. (add_symbol_overload_list_adl): New. (make_symbol_overload_list_using): Rename to ... (add_symbol_overload_list_using): ... this and add std::vector parameter. (make_symbol_overload_list_qualified): Rename to ... (add_symbol_overload_list_qualified): ... this and add std::vector parameter. * cp-support.h: Include "common/array-view.h" and . (make_symbol_overload_list): Change return type to std::vector. (make_symbol_overload_list_adl): Delete declaration. (add_symbol_overload_list_adl): New declaration. * valops.c (find_overload_match): Local 'oload_syms' now a std::vector. (find_oload_champ_namespace): 'oload_syms' parameter now a std::vector pointer. (find_oload_champ_namespace_loop): 'oload_syms' parameter now a std::vector pointer. Adjust to new make_symbol_overload_list interface. commit 6b1747cd135ff9859fceb6043179b1ef94363996 Author: Pedro Alves Date: Wed Nov 21 11:55:12 2018 +0000 invoke_xmethod & array_view This replaces more pointer+length with gdb::array_view. This time, around invoke_xmethod, and then propagating the fallout around, which inevitably leaks to the overload resolution code. There are several places in the code that want to grab a slice of an array, by advancing the array pointer, and decreasing the length pointer. This patch introduces a pair of new gdb::array_view::slice(...) methods to make that convenient and clear. Unit test included. gdb/ChangeLog: 2018-11-21 Pedro Alves * common/array-view.h (array_view::splice(size_type, size_t)): New. (array_view::splice(size_type)): New. * eval.c (eval_call, evaluate_funcall): Adjust to use array_view. * extension.c (xmethod_worker::get_arg_types): Adjust to return an std::vector. (xmethod_worker::get_result_type): Adjust to use gdb::array_view. * extension.h: Include "common/array-view.h". (xmethod_worker::invoke): Adjust to use gdb::array_view. (xmethod_worker::get_arg_types): Adjust to return an std::vector. (xmethod_worker::get_result_type): Adjust to use gdb::array_view. (xmethod_worker::do_get_arg_types): Adjust to use std::vector. (xmethod_worker::do_get_result_type): Adjust to use gdb::array_view. * gdbtypes.c (rank_function): Adjust to use gdb::array_view. * gdbtypes.h: Include "common/array-view.h". (rank_function): Adjust to use gdb::array_view. * python/py-xmethods.c (python_xmethod_worker::invoke) (python_xmethod_worker::do_get_arg_types) (python_xmethod_worker::do_get_result_type) (python_xmethod_worker::invoke): Adjust to new interfaces. * valarith.c (value_user_defined_cpp_op, value_user_defined_op) (value_x_binop, value_x_unop): Adjust to use gdb::array_view. * valops.c (find_overload_match, find_oload_champ_namespace) (find_oload_champ_namespace_loop, find_oload_champ): Adjust to use gdb:array_view and the new xmethod_worker interfaces. * value.c (result_type_of_xmethod, call_xmethod): Adjust to use gdb::array_view. * value.h (find_overload_match, result_type_of_xmethod) (call_xmethod): Adjust to use gdb::array_view. * unittests/array-view-selftests.c: Add slicing tests. commit e71585ffe2e1394858f0fcf809e86f1b324fe4e6 Author: Pedro Alves Date: Wed Nov 21 11:55:11 2018 +0000 Use gdb:array_view in call_function_by_hand & friends This replaces a few uses of pointer+length with gdb::array_view, in call_function_by_hand and related code. Unfortunately, due to -Wnarrowing, there are places where we can't brace-initialize an gdb::array_view without an ugly-ish cast. To avoid the cast, this patch introduces a gdb::make_array_view function. Unit tests included. This patch in isolation may not look so interesting, due to gdb::make_array_view uses, but I think it's still worth it. Some of the gdb::make_array_view calls disappear down the series, and others could be eliminated with more (non-trivial) gdb::array_view detangling/conversion (e.g. code around eval_call). See this as a "we have to start somewhere" patch. gdb/ChangeLog: 2018-11-21 Pedro Alves * ada-lang.c (ada_evaluate_subexp): Adjust to pass an array_view. * common/array-view.h (make_array_view): New. * compile/compile-object-run.c (compile_object_run): Adjust to pass an array_view. * elfread.c (elf_gnu_ifunc_resolve_addr): Adjust. * eval.c (eval_call): Adjust to pass an array_view. (evaluate_subexp_standard): Adjust to pass an array_view. * gcore.c (call_target_sbrk): Adjust to pass an array_view. * guile/scm-value.c (gdbscm_value_call): Likewise. * infcall.c (push_dummy_code): Replace pointer + size parameters with an array_view parameter. (call_function_by_hand, call_function_by_hand_dummy): Likewise and adjust. * infcall.h: Include "common/array-view.h". (call_function_by_hand, call_function_by_hand_dummy): Replace pointer + size parameters with an array_view parameter. * linux-fork.c (inferior_call_waitpid): Adjust to use array_view. * linux-tdep.c (linux_infcall_mmap): Likewise. * objc-lang.c (lookup_objc_class, lookup_child_selector) (value_nsstring, print_object_command): Likewise. * python/py-value.c (valpy_call): Likewise. * rust-lang.c (rust_evaluate_funcall): Likewise. * spu-tdep.c (flush_ea_cache): Likewise. * valarith.c (value_x_binop, value_x_unop): Likewise. * valops.c (value_allocate_space_in_inferior): Likewise. * unittests/array-view-selftests.c (run_tests): Add gdb::make_array_view test. commit 1b288e9bbfc6f22277ef7f804aeca26e991ad0a8 Author: GDB Administrator Date: Wed Nov 21 00:00:26 2018 +0000 Automatic date update in version.in commit d63095c426f704f75d943a7481189628403ed58f Author: Andrew Burgess Date: Tue Nov 20 13:36:49 2018 +0000 gdb: Use string_printf to format int fields instead of a fixed size buffer This patch removes a FIXME comment from cli-out.c, now instead of formatting integers into a fixed size buffer we build a std::string and extract the formatted integer from that. The old code using a fixed size buffer was probably fine (the integer was not going to overflow it) and probably slightly more efficient (avoids building a std::string) however, given we already have utility code in GDB that will allow the 'FIXME' comment to be removed, it seems like an easy improvement. gdb/ChangeLog: * cli-out.c (cli_ui_out::do_field_int): Use string_printf rather than a fixed size buffer. commit 1871a62daf0561da0880ba1ad39e8191bc3cf1ac Author: Andrew Burgess Date: Tue Nov 20 12:59:18 2018 +0000 gdb: Respect field width and alignment for 'fmt' fields in CLI output Currently the method 'cli_ui_out::do_field_fmt' has this comment: /* This is the only field function that does not align. */ The reality is even slightly worse, the 'fmt' field type doesn't respect either the field alignment or the field width. In at least one place in GDB we attempt to work around this lack of respect for field width by adding additional padding manually. But, as is often the case, this is leading to knock on problems. Conside the output for 'info breakpoints' when a breakpoint has multiple locations. This example is taken from the testsuite, from test gdb.opt/inline-break.exp: (gdb) info breakpoints Num Type Disp Enb Address What 1 breakpoint keep y 1.1 y 0x00000000004004ae in func4b at /src/gdb/testsuite/gdb.opt/inline-break.c:64 1.2 y 0x0000000000400682 in func4b at /src/gdb/testsuite/gdb.opt/inline-break.c:64 The miss-alignment of the fields shown here is exactly as GDB currently produces. With this patch 'fmt' style fields are now first written into a temporary buffer, and then written out as a 'string' field. The result is that the field width, and alignment should now be respected. With this patch in place the output from GDB now looks like this: (gdb) info breakpoints Num Type Disp Enb Address What 1 breakpoint keep y 1.1 y 0x00000000004004ae in func4b at /src/gdb/testsuite/gdb.opt/inline-break.c:64 1.2 y 0x0000000000400682 in func4b at /src/gdb/testsuite/gdb.opt/inline-break.c:64 This patch has been tested on x86-64/Linux with no regressions, however, the testsuite doesn't always spot broken output formatting or alignment. I have also audited all uses of 'fmt' fields that I could find, and I don't think there are any other places that specifically try to work around the lack of width/alignment, however, I could have missed something. gdb/ChangeLog: * breakpoint.c (print_one_breakpoint_location): Reduce whitespace, and remove insertion of extra spaces in GDB's output. * cli-out.c (cli_ui_out::do_field_fmt): Update header comment. Layout field into a temporary buffer, and then output it as a string field. gdb/testsuite/ChangeLog: * gdb.opt/inline-break.exp: Add test that info breakpoint output is correctly aligned. commit 604c4ca9f33d13813312b2f127f6599a5c5de038 Author: Philippe Waroquiers Date: Sun Oct 28 15:30:45 2018 +0100 NEWS: Document the language choice by 'info [types|functions|variables]|rbreak'. gdb/ChangeLog 2018-11-20 Philippe Waroquiers * NEWS: Document the language choice done by 'info [types|functions|variables]|rbreak'. commit 20813a0b7b0ccbeaa64aa83d92cd69e16a30cceb Author: Philippe Waroquiers Date: Sun Oct 28 15:11:37 2018 +0100 Document language choice in 'info [functions|variables|types]|rbreak' commands doc/ChangeLog 2018-11-20 Philippe Waroquiers * gdb.texinfo (Examining the Symbol Table): Document language choice for 'info types|functions|variables' commands. (Setting Breakpoints): Document language choice to print the functions in which a breakpoint is set. commit fb5e1ed910730334c713c0834d3d66503511ef92 Author: Philippe Waroquiers Date: Sun Oct 28 14:07:52 2018 +0100 Add a test to verify info [functions|variables|types]|rbreak respect language_mode. 2018-11-20 Philippe Waroquiers * gdb.ada/info_auto_lang.exp: New testcase. * gdb.ada/info_auto_lang/global_pack.ads: New file. * gdb.ada/info_auto_lang/proc_in_ada.adb: New file. * gdb.ada/info_auto_lang/some_c.c: New file. commit 43d397ca8f097e8f0ab0c245afeaa22b8da7ac52 Author: Philippe Waroquiers Date: Sun Oct 28 13:57:51 2018 +0100 Use scoped_switch_to_sym_language_if_auto in symtab.c to switch language. Use scoped_switch_to_sym_language_if_auto in treg_matches_sym_type_name to replace the local logic that was doing the same as the new class scoped_switch_to_sym_language_if_auto. Use scoped_switch_to_sym_language_if_auto inside print_symbol_info, so that symbol information is printed in the symbol language when language mode is auto. This modifies the behaviour of the test dw2-case-insensitive.exp, as the function FUNC_lang is now printed with the Fortran syntax (as declared in the .S file). gdb/ChangeLog 2018-11-20 Philippe Waroquiers * symtab.c (treg_matches_sym_type_name): Use scoped_switch_to_sym_language_if_auto instead of local logic. (print_symbol_info): Use scoped_switch_to_sym_language_if_auto to switch to SYM language when language mode is auto. gdb/testsuite/ChangeLog 2018-11-20 Philippe Waroquiers * gdb.dwarf2/dw2-case-insensitive.exp: Update due to auto switch to FUNC_lang language syntax. commit 9e6a1ab6652e8461f786d5c308f632a7c0acc53f Author: Philippe Waroquiers Date: Sun Oct 28 13:51:32 2018 +0100 Add class scoped_switch_to_sym_language_if_auto. The class scoped_switch_to_sym_language_if_auto allows to switch in a scope the current language to the language of a symbol when language mode is set to auto. 2018-11-20 Philippe Waroquiers * language.h (scoped_switch_to_sym_language_if_auto): New class. commit beddd67132d5f8240613fd89b21ae0d2a1c7bd0f Author: Philippe Waroquiers Date: Tue Oct 30 21:56:32 2018 +0100 Test case for 'info variables|functions' with minimal symbols. 2018-11-20 Philippe Waroquiers * gdb.base/info_minsym.c: New file. * gdb.base/info_minsym.exp: New file. commit a8462bbf0bb1c2ef55c87d32bfde6d0a962de87c Author: Philippe Waroquiers Date: Tue Oct 30 21:20:52 2018 +0100 Fix regression 'info variables' does not show minimal symbols. 12615cba8411c8 Add [-q] [-t TYPEREGEXP] [NAMEREGEXP] args to info [args|functions|locals|variables] introduced a regression that minimal symbols were not listed anymore, due to a wrong condition checking the absence of a type regexp in the loop scanning the minimal symbols. Instead, before entering the loop scanning the minimal symbols, check that we do not have a type regexp, as we will never match a minimal symbol with this type regexp. With the fix in this patch, for this part of the code, we basically go back to the GDB 8.2 logic, with just the addition of && !treg.has_value ()) to 'enter' in the minsym case. This should ensure that at least there is no regression compared to 8.2, when not using the new type matching argument, as there was no treg in 8.2. 2018-11-20 Philippe Waroquiers * symtab.c (search_symbols): Properly check absence of type regexp before entering the loop scanning the minimal symbols. commit 4399bce99b9d1b4e52c386a1953c53337d22b457 Author: Pedro Alves Date: Tue Nov 20 19:04:14 2018 +0000 Fix gdb/ChangeLog formatting and date commit c3247a98cd2bf9dfcf733e6968273cce90850807 Author: John Darrington Date: Tue Nov 20 18:50:30 2018 +0100 GDB: S12Z: new function s12z_extract_return_value Make gdb aware of the return values of functions which return in registers. gdb/ChangeLog: * s12z-tdep.c (s12z_extract_return_value): New function. (inv_reg_perm) New array. (s12z_return_value): Populate readbuf if non-null. commit 2fa1b3191e449f1efca31a654920a6bd3a1f4f28 Author: Eli Zaretskii Date: Tue Nov 20 19:23:51 2018 +0200 Fix previous change in filestuff.c gdb/ChangeLog: * common/filestuff.c (O_NOINHERIT): Define if not defined. commit 970d89d8fdd84b31decaf3bd84e785aad057ea32 Author: Eli Zaretskii Date: Tue Nov 20 18:49:43 2018 +0200 Avoid "Invalid parameter passed to C runtime function" warning This warning was displayed by OutputDebugString on MinGW when GDB was being debugged natively. gdb/ChangeLog: * common/filestuff.c (gdb_fopen_cloexec): Disable use of "e" mode with 'fopen' also if O_CLOEXEC is equal to O_NOINHERIT, to cater to MinGW fixed by Gnulib. commit f92f9e8780f74c5084c59689f91d28b8a3471538 Author: H.J. Lu Date: Tue Nov 20 06:45:28 2018 -0800 readelf: Prune gaps warning in build notes Since some object files may not have build notes, it is normal to have gaps in build notes. PR binutils/23898 * testsuite/lib/binutils-common.exp (prune_warnings_extra): Prune gaps in build notes. commit 7b5227d1323e6ee2833f9ba44dea36f3c1c49179 Author: John Darrington Date: Thu Nov 8 17:51:22 2018 +0100 GDB: S12Z: Add assertion gdb/ChangeLog: * s12z-tdep.c (s12z_frame_cache): Add an assertion. commit dbe4e6545ee6a02da1a081fb51becb2843353bad Author: Simon Marchi Date: Mon Nov 19 22:35:19 2018 -0500 Remove displaced_step_inferior_state::next Commit 39a36629f68e ("Use std::forward_list for displaced_step_inferior_states") missed removing the "next" field, while changing the hand-made linked list in favor of std::forward_list. This patch fixes that. gdb/ChangeLog: * infrun.c (displaced_step_inferior_state) : Remove. commit 85a2ae1134426242fe52b609c372234062e0fa58 Author: GDB Administrator Date: Tue Nov 20 00:00:36 2018 +0000 Automatic date update in version.in commit 0614ef69be074fcfb2dc4e7b0e3b9c715a9b44ee Author: Tom Tromey Date: Tue Oct 9 14:31:15 2018 -0600 Change get_filename_and_charpos to return void The return value from get_filename_and_charpos is never used, so this patch changes it to return void. gdb/ChangeLog 2018-11-19 Tom Tromey * source.c (get_filename_and_charpos): Return void. commit 261f6f7962e3fab7cad813a8821f00cd0173f88f Author: Simon Marchi Date: Mon Nov 19 17:27:13 2018 -0500 Fix inaccuracies in "info skip" help "help info skip" uses "skip info" in its examples, which is not the same (it ends up creating new skips). Also, the Type column that is referred to doesn't exist today. gdb/ChangeLog: * skip.c (_initialize_step_skip): Fix "info skip" help. commit 73fc52c4ccecf005aac264e3faa08e815d25118a Author: Tom Tromey Date: Fri Nov 16 15:30:35 2018 -0700 Handle TYPE_CODE_PTR when printing Rust types This changes the Rust type printers to handle TYPE_CODE_PTR. The current approach is not ideal, because currently the code can't distinguish between mut and const, or between pointers and references. (These are debuginfo deficiencies, for which there are rustc bugs on file.) Meanwhile, this at least clears up the case seen in PR rust/23625. Tested on x86-64 Fedora 28. The nightly compiler gives the best results, but I regression-tested with stable and beta as well. gdb/ChangeLog 2018-11-16 Tom Tromey PR rust/23625: * rust-lang.c (rust_internal_print_type): Handle TYPE_CODE_PTR. gdb/testsuite/ChangeLog 2018-11-19 Tom Tromey PR rust/23625: * gdb.rust/simple.exp: Add ptype test. Update expected output. * gdb.rust/expr.exp: Update expected output. Change one test. commit 994b876a510ad2ed7e0d34a4c7d08f8039cef6ef Author: Tom Tromey Date: Mon Nov 19 10:52:32 2018 -0700 Fix gdb.rust/simple.rs for more recent compilers gdb.rust/simple.exp will fail when run with a recent version of rustc. This patch fixes the test case so that it will continue to run. Tested on x86-64 Fedora 28. I also temporarily backed out the rust-lang.c from commit 098b2108a2b61531c0bc8ea16854f773083a95d7, and verified that this updated test still would have provoked the original bug. gdb/testsuite/ChangeLog 2018-11-19 Tom Tromey * gdb.rust/simple.rs: Don't initialize empty_enum_value. commit 39a36629f68e9796d950d9204012fe8272e2d0ef Author: Simon Marchi Date: Mon Nov 19 11:05:13 2018 -0500 Use std::forward_list for displaced_step_inferior_states Use std::forward_list instead of manually implemented list. This simplifies a bit the code, especially around removal. Regtested on the buildbot. There are some failures as always, but I think they are unrelated. gdb/ChangeLog: * infrun.c (displaced_step_inferior_states): Change type to std::forward_list. (get_displaced_stepping_state): Adjust. (displaced_step_in_progress_any_inferior): Adjust. (add_displaced_stepping_state): Adjust. (remove_displaced_stepping_state): Adjust. commit 32641fa9259dbe2e576add1992434f404d1d6881 Author: John Darrington Date: Mon Nov 19 17:36:42 2018 +0100 GDB: Add ChangeLog entry inadvertently omitted from commit. commit 6769f2765db0d94eeb8437b41a925e2bd871f514 Author: Pedro Alves Date: Mon Nov 19 15:08:46 2018 +0000 gdb.base/warning.exp tweaks #1- Check that the warning is emitted. #2- Avoid overriding INTERNAL_GDBFLAGS, as per documentated in gdb/testsuite/README: ~~~ The testsuite does not override a value provided by the user. ~~~ We don't actually need to tweak INTERNAL_GDBFLAGS, we just need to append out -data-directory to GDBFLAGS, because each passed -data-directory option leads to a call to the warning: $ ./gdb -data-directory=foo -data-directory=bar Warning: foo: No such file or directory. Warning: bar: No such file or directory. [...] gdb/ChangeLog 2018-11-19 Pedro Alves * gdb.base/warning.exp: Don't override INTERNAL_FLAGS. Use gdb_spawn_with_cmdline_opts instead of gdb_start. Check that we see the expected warning. commit 4f323b727743e40ce9b0bde1e19a73b4586c2f25 Author: GDB Administrator Date: Mon Nov 19 00:00:29 2018 +0000 Automatic date update in version.in commit c2a6c5da37c0135acdb859ca819870980db69b77 Author: Tom Tromey Date: Wed Nov 14 09:29:51 2018 -0700 Fix ia64-linux-nat.c PR build/23814 points out that ia64-linux-nat.c will not compile any more. This patch fixes the problem. Thanks to Andreas Schwab for trying the patch. gdb/ChangeLog 2018-11-18 Tom Tromey PR build/23814: * target-delegates.c: Rebuild. * ia64-linux-nat.c (class ia64_linux_nat_target) : Use override. Return true, not 1. (ia64_linux_nat_target::can_use_hw_breakpoint): Rename. Remove "self" argument. (ia64_linux_nat_target::low_new_thread): Rename. (class ia64_linux_nat_target) : Don't declare. * target.h (struct target_ops) : Return bool. commit ad6d89178df984c70c39f31eca149d8e5806c848 Author: GDB Administrator Date: Sun Nov 18 00:01:35 2018 +0000 Automatic date update in version.in commit b1406c0b980e3ce80abb119f918737916c43537d Author: GDB Administrator Date: Sat Nov 17 00:00:40 2018 +0000 Automatic date update in version.in commit 38a72da0f1d968432ae6a2a9697ba55932dc075e Author: Alan Hayward Date: Thu Oct 11 14:47:30 2018 +0100 Aarch64: Fix segfault when casting dummy calls The following will segfault on aarch64 if foo is in another object, was compiled as c++ and has no debug symbols: (gdb) p (int)foo() This is because aarch64_push_dummy_call determines the return type of the function and then does not check for null pointer. A null pointer for the return type means the call has no debug information. For the code to get here, then the call must have been cast, otherwise we'd error out sooner. In the case of a no-debug-info call cast, the return type is the type the user had cast the call to, but we do not have that information available here. However, aarch64_push_dummy_call only requires the return type in order to calculate lang_struct_return. This information is available in the return_method enum. The fix is to simply use this instead. Adds testcase to check calls across objects, with all combinations of c, c++, debug and no debug. gdb/ChangeLog: PR gdb/22736: * aarch64-tdep.c (aarch64_push_dummy_call): Remove lang_struct_return code. gdb/testsuite/ChangeLog: PR gdb/22736: * gdb.cp/infcall-nodebug-lib.c: New test. * gdb.cp/infcall-nodebug-main.c: New test. * gdb.cp/infcall-nodebug.exp: New file. commit cf84fa6bcf514157df8343d32885050bafc396f7 Author: Alan Hayward Date: Fri Nov 16 11:21:04 2018 +0000 Pass return_method to _push_dummy_call gdb/ChangeLog: * aarch64-tdep.c (aarch64_push_dummy_call): Replace arg with return_method. * alpha-tdep.c (alpha_push_dummy_call): Likewise. * amd64-tdep.c (amd64_push_arguments): Likewise. (amd64_push_dummy_call): Likewise. * amd64-windows-tdep.c (amd64_windows_push_arguments): Likewise. * arc-tdep.c (arc_push_dummy_call): Likewise. * arm-tdep.c (arm_push_dummy_call): Likewise. * avr-tdep.c (avr_push_dummy_call): Likewise. * bfin-tdep.c (bfin_push_dummy_call): Likewise. * cris-tdep.c (cris_push_dummy_call): Likewise. * csky-tdep.c (csky_push_dummy_call): Likewise. * frv-tdep.c (frv_push_dummy_call): Likewise. * gdbarch.c: Regenerate. * gdbarch.h: Regenerate. * gdbarch.sh (gdbarch_push_dummy_call): Replace arg with return_method. * h8300-tdep.c (h8300_push_dummy_call): Likewise. * hppa-tdep.c (hppa32_push_dummy_call): Likewise. (hppa64_push_dummy_call): Likewise. * i386-darwin-tdep.c (i386_darwin_push_dummy_call): Likewise. * i386-tdep.c (i386_push_dummy_call): Likewise. * ia64-tdep.c (ia64_push_dummy_call): Likewise. * infcall.c (call_function_by_hand_dummy): Likewise. * iq2000-tdep.c (iq2000_push_dummy_call): Likewise. * lm32-tdep.c (lm32_push_dummy_call): Likewise. * m32c-tdep.c (m32c_push_dummy_call): Likewise. * m32r-tdep.c (m32r_push_dummy_call): Likewise. * m68hc11-tdep.c (m68hc11_push_dummy_call): Likewise. * m68k-tdep.c (m68k_push_dummy_call): Likewise. * mep-tdep.c (mep_push_dummy_call): Likewise. * mips-tdep.c (mips_eabi_push_dummy_call): Likewise. (mips_n32n64_push_dummy_call): Likewise. (mips_o32_push_dummy_call): Likewise. (mips_o64_push_dummy_call): Likewise. * mn10300-tdep.c (mn10300_push_dummy_call): Likewise. * msp430-tdep.c (msp430_push_dummy_call): Likewise. * nds32-tdep.c (nds32_push_dummy_call): Likewise. * nios2-tdep.c (nios2_push_dummy_call): Likewise. * or1k-tdep.c (or1k_push_dummy_call): Likewise. * ppc-sysv-tdep.c (ppc_sysv_abi_push_dummy_call): Likewise. (ppc64_sysv_abi_push_dummy_call): Likewise. * ppc-tdep.h (ppc_sysv_abi_push_dummy_call): Likewise. (ppc64_sysv_abi_push_dummy_call): Likewise. * riscv-tdep.c (riscv_push_dummy_call): Likewise. * rl78-tdep.c (rl78_push_dummy_call): Likewise. * rs6000-aix-tdep.c (rs6000_push_dummy_call): Likewise. * rs6000-lynx178-tdep.c (rs6000_lynx178_push_dummy_call): Likewise. * rx-tdep.c (rx_push_dummy_call): Likewise. * s390-tdep.c (s390_push_dummy_call): Likewise. * score-tdep.c (score_push_dummy_call): Likewise. * sh-tdep.c (sh_push_dummy_call_fpu): Likewise. (sh_push_dummy_call_nofpu): Likewise. * sparc-tdep.c (sparc32_store_arguments): Likewise. (sparc32_push_dummy_call): Likewise. * sparc64-tdep.c (sparc64_store_arguments): Likewise. (sparc64_push_dummy_call): Likewise. * spu-tdep.c (spu_push_dummy_call): Likewise. * tic6x-tdep.c (tic6x_push_dummy_call): Likewise. * tilegx-tdep.c (tilegx_push_dummy_call): Likewise. * v850-tdep.c (v850_push_dummy_call): Likewise. * vax-tdep.c (vax_push_dummy_call): Likewise. * xstormy16-tdep.c (xstormy16_push_dummy_call): Likewise. * xtensa-tdep.c (xtensa_push_dummy_call): Likewise. commit c5ac5cbb5be91d43bd31ac0068917bdb7ab9b439 Author: Alan Hayward Date: Fri Nov 16 11:21:00 2018 +0000 Use enum for return method for dummy calls In call_function_by_hand_dummy, struct_return and hidden_first_param_p are used to represent a single concept. Replace with an enum. gdb/ChangeLog: * gdbarch.sh (enum function_call_return_method): Add enum. * gdbarch.h: Regenerate. * infcall.c (call_function_by_hand_dummy): Replace vars with enum. commit 81c688d54fdef81c5150ba64f8efa10449093e43 Author: Nick Clifton Date: Fri Nov 16 11:35:24 2018 +0000 (Another) Updated Spanish translation for the ld subdirectory. * po/es.po: Updated Spanish translation. commit 2a2c6f530de72ff2794fed1e41979dc3210991b9 Author: GDB Administrator Date: Fri Nov 16 00:01:06 2018 +0000 Automatic date update in version.in commit f9db0c4c6c074d2df927d2650229f31eac079640 Author: Joel Brobecker Date: Thu Nov 15 10:53:57 2018 -0500 Move copy_bitwise unittests to own unittest file Now that copy_bitwise has been made public, and considering that its implementation could move to a different file again in the future, this patch moves its unittest to its own file in gdb/unittests. gdb/ChangeLog: * unittests/copy_bitwise-selftests.c: New file. * utils.c (selftests::bits_to_str, selftests::check_copy_bitwise) (selftests::copy_bitwise_tests): Delete, moving this code to unittests/copy_bitwise-selftests.c instead. (_initialize_utils): Do not register copy_bitwise tests. * Makefile.in (SUBDIR_UNITTESTS_SRCS): Add unittests/copy_bitwise-selftests.c. Tested on x86_64-linux using the official testsuite, but also by verifying that "maintenance selftests" still runs the copy_bitwise tests. commit 92b3642af0e739e526e27d4b4a0c0505e72a8879 Author: Nick Clifton Date: Thu Nov 15 11:55:24 2018 +0000 Updated Spanish translation for the ld subdirectory. ld * po/es.po: Updated Spanish translation. commit a0cd42fcd1d9a7544e93f6b1ef7f9a1fe98c8897 Author: GDB Administrator Date: Thu Nov 15 00:00:41 2018 +0000 Automatic date update in version.in commit a99bc3d23c133fe80f7ccac44246a471fb075bc3 Author: Joel Brobecker Date: Wed Nov 14 18:18:49 2018 -0500 delete ada-lang.c::move_bits, sharing and re-using copy_bitwise instead This patch deletes ada-lang.c's move_bits function entirely, and replaces all calls to it by calls to copy_bitwise instead. Because the latter function was declared locally inside dwarf2loc.c, this patch also move the function to a common area, and makes it non-static. gdb/ChangeLog: * ada-lang.c (move_bits): Delete. Update all callers to use copy_bitwise instead. * dwarf2loc.c (copy_bitwise, bits_to_str::bits_to_str) (selftests::check_copy_bitwise, selftests::copy_bitwise_tests): Move from here to utils.c. (_initialize_dwarf2loc): Remove call to register copy_bitwise selftests. * utils.h (copy_bitwise): Add declaration. * utils.c (copy_bitwise, bits_to_str::bits_to_str) (selftests::check_copy_bitwise, selftests::copy_bitwise_tests): Moved here from dwarf2loc.c. (_initialize_utils): Register copy_bitwise selftests. Tested on x86_64-linux, no regression. Also tested using AdaCore's testsuite on a collection of small endian and big endian platforms. commit 8b2d40cbba8fbf98d6e031c7d8c7e2ac1baae2d9 Author: Jim Wilson Date: Wed Nov 14 14:54:10 2018 -0800 RISC-V: Fix unnamed arg alignment in registers. For riscv64-linux target, second half of fix for FAIL: gdb.base/gnu_vector.exp: call add_various_floatvecs Unnamed arguments with 2*XLEN alignment are passed in aligned register pairs. gdb/ * riscv-tdep.c (struct riscv_arg_info): New field is_unnamed. (riscv_call_arg_scalar_int): If unnamed arg with twice xlen alignment, then increment next_regnum if odd. (riscv_arg_location): New arg is_unnamed. Set ainfo->is_unnamed. (riscv_push_dummy_call): New local ftype. Call check_typedef to set function type. Pass new arg to riscv_arg_location based on function type. (riscv_return_value): Pass new arg to riscv_arg_location. commit ef2de9e7eb19cf6f56c8378df82cab30ff741fe0 Author: Jim Wilson Date: Wed Nov 14 14:52:34 2018 -0800 RISC-V: Handle vector type alignment. For riscv64-linux target, first half of fix for FAIL: gdb.base/gnu_vector.exp: call add_various_floatvecs GCC gives vectors natural aligment based on total size, not element size, bounded by the maximum supported type alignment. gdb/ * riscv-tdep.c (BIGGEST_ALIGNMENT): New. (riscv_type_alignment) : If TYPE_VECTOR, return min of TYPE_LENGTH and BIGGEST_ALIGNMENT. commit 174f8ac8d49021137f98884fc22a7d233e2f89b2 Author: Jim Wilson Date: Wed Nov 14 14:51:40 2018 -0800 RISC-V: Give stack slots same align as XLEN. For riscv64-linux target, fixes FAIL: gdb.base/gnu_vector.exp: call add_many_charvecs Ensure that stack slots are always the same alignment as XLEN by rounding up arg align to xlen. gdb/ * riscv-tdep.c (riscv_call_arg_scalar_int): Use std::min when setting len. New local align, set to max of arg align and xlen, and pass to first riscv_assign_stack_location call. commit dd9168931facd539a585b88d7b7c6c04c8c065c2 Author: GDB Administrator Date: Wed Nov 14 00:01:05 2018 +0000 Automatic date update in version.in commit 0242af401093907f6f2bf49d90c1e5d1e23b4453 Author: Jim Wilson Date: Tue Nov 13 15:50:38 2018 -0800 RISC-V: Improve linker error for FP mismatch. bfd/ * elfnn-riscv.c (riscv_float_abi_string): New. (_bfd_riscv_elf_merge_private_bfd_data): Use it for error message. commit 97b3f39201efc9029a9a27d65f13674964c51503 Author: Francois H. Theron Date: Tue Nov 13 12:33:16 2018 +0200 opcodes/nfp: Fix disassembly of crc[] with swapped operands. The decoding of the CRC operation in alu instructions was using bits from the instruction word directly, instead of srcA which would be different if the swap bit was set. Signed-off-by: Francois H. Theron commit 497d849d28d933016ae0ad388c86b08bb16dd504 Author: Thomas Preud'homme Date: Tue Nov 13 12:19:28 2018 +0000 [ARM] Improve indentation of ARM architecture declarations This commit cleans up indentation of ARM architecture declaration, namely entries of arm_archs and definition of macros ARM_EXT_*, ARM_AEXT_*, ARM_AEXT2_*, FPU_EXT_*, FPU_ARCH_* and ARM_ARCH_*. It also gets rid of unused ARM_ARCH_V6M-ONLY and merge AEM_AEXT_V6M_ONLY in ARM_AEXT_V6M now sole user. gas/ 2018-11-13 Thomas Preud'homme * config/tc-arm.c (arm_archs): Reindent. include/ 2018-11-13 Thomas Preud'homme * opcode/arm.h (ARM_AEXT_V6M_ONLY): Merge into its use in ARM_AEXT_V6M. (ARM_ARCH_V6M_ONLY): Remove. (ARM_EXT_V1, ARM_EXT_V2, ARM_EXT_V2S, ARM_EXT_V3, ARM_EXT_V3M, ARM_EXT_V4, ARM_EXT_V4T, ARM_EXT_V5, ARM_EXT_V5T, ARM_EXT_V5ExP, ARM_EXT_V5E, ARM_EXT_V5J, ARM_EXT_V6, ARM_EXT_V6K, ARM_EXT_V8, ARM_EXT_V6T2, ARM_EXT_DIV, ARM_EXT_V5E_NOTM, ARM_EXT_V6_NOTM, ARM_EXT_V7, ARM_EXT_V7A, ARM_EXT_V7R, ARM_EXT_V7M, ARM_EXT_V6M, ARM_EXT_BARRIER, ARM_EXT_THUMB_MSR, ARM_EXT_V6_DSP, ARM_EXT_MP, ARM_EXT_SEC, ARM_EXT_OS, ARM_EXT_ADIV, ARM_EXT_VIRT, ARM_EXT2_PAN, ARM_EXT2_V8_2A, ARM_EXT2_V8M, ARM_EXT2_ATOMICS, ARM_EXT2_V6T2_V8M, ARM_EXT2_FP16_INST, ARM_EXT2_V8M_MAIN, ARM_EXT2_RAS, ARM_EXT2_V8_3A, ARM_EXT2_V8A, ARM_EXT2_V8_4A, ARM_EXT2_FP16_FML, ARM_EXT2_V8_5A, ARM_EXT2_SB, ARM_EXT2_PREDRES, ARM_CEXT_XSCALE, ARM_CEXT_MAVERICK, ARM_CEXT_IWMMXT, ARM_CEXT_IWMMXT2, FPU_ENDIAN_PURE, FPU_ENDIAN_BIG, FPU_FPA_EXT_V1, FPU_FPA_EXT_V2, FPU_MAVERICK, FPU_VFP_EXT_V1xD, FPU_VFP_EXT_V1, FPU_VFP_EXT_V2, FPU_VFP_EXT_V3xD, FPU_VFP_EXT_V3, FPU_NEON_EXT_V1, FPU_VFP_EXT_D32, FPU_VFP_EXT_FP16, FPU_NEON_EXT_FMA, FPU_VFP_EXT_FMA, FPU_VFP_EXT_ARMV8, FPU_NEON_EXT_ARMV8, FPU_CRYPTO_EXT_ARMV8, CRC_EXT_ARMV8, FPU_VFP_EXT_ARMV8xD, FPU_NEON_EXT_RDMA, FPU_NEON_EXT_DOTPROD, ARM_AEXT_V1, ARM_AEXT_V2, ARM_AEXT_V2S, ARM_AEXT_V3, ARM_AEXT_V3M, ARM_AEXT_V4xM, ARM_AEXT_V4, ARM_AEXT_V4TxM, ARM_AEXT_V4T, ARM_AEXT_V5xM, ARM_AEXT_V5, ARM_AEXT_V5TxM, ARM_AEXT_V5T, ARM_AEXT_V5TExP, ARM_AEXT_V5TE, ARM_AEXT_V5TEJ, ARM_AEXT_V6, ARM_AEXT_V6K, ARM_AEXT_V6Z, ARM_AEXT_V6KZ, ARM_AEXT_V6T2, ARM_AEXT_V6KT2, ARM_AEXT_V6ZT2, ARM_AEXT_V6KZT2, ARM_AEXT_V7_ARM, ARM_AEXT_V7A, ARM_AEXT_V7VE, ARM_AEXT_V7R, ARM_AEXT_NOTM, ARM_AEXT_V6M_ONLY, ARM_AEXT_V6M, ARM_AEXT_V6SM, ARM_AEXT_V7M, ARM_AEXT_V7, ARM_AEXT_V7EM, ARM_AEXT_V8A, ARM_AEXT2_V8A, ARM_AEXT2_V8_1A, ARM_AEXT2_V8_2A, ARM_AEXT2_V8_3A, ARM_AEXT2_V8_4A, ARM_AEXT2_V8_5A, ARM_AEXT_V8M_BASE, ARM_AEXT_V8M_MAIN, ARM_AEXT_V8M_MAIN_DSP, ARM_AEXT2_V8M, ARM_AEXT2_V8M_BASE, ARM_AEXT2_V8M_MAIN, ARM_AEXT2_V8M_MAIN_DSP, ARM_AEXT_V8R, ARM_AEXT2_V8R, FPU_VFP_V1xD, FPU_VFP_V1, FPU_VFP_V2, FPU_VFP_V3D16, FPU_VFP_V3, FPU_VFP_V3xD, FPU_VFP_V4D16, FPU_VFP_V4, FPU_VFP_V4_SP_D16, FPU_VFP_V5D16, FPU_VFP_ARMV8, FPU_NEON_ARMV8, FPU_CRYPTO_ARMV8, FPU_VFP_HARD, FPU_FPA, FPU_ARCH_VFP, FPU_ARCH_FPE, FPU_ARCH_FPA, FPU_ARCH_VFP_V1xD, FPU_ARCH_VFP_V1, FPU_ARCH_VFP_V2, FPU_ARCH_VFP_V3D16_FP16, FPU_ARCH_VFP_V3, FPU_ARCH_VFP_V3_FP16, FPU_ARCH_VFP_V3xD_FP16, FPU_ARCH_NEON_V1, FPU_ARCH_VFP_V3_PLUS_NEON_V1, FPU_ARCH_NEON_FP16, FPU_ARCH_VFP_HARD, FPU_ARCH_VFP_V4, FPU_ARCH_VFP_V4D16, FPU_ARCH_VFP_V4_SP_D16, FPU_ARCH_VFP_V5D16, FPU_ARCH_VFP_V5_SP_D16, FPU_ARCH_NEON_VFP_V4, FPU_ARCH_VFP_ARMV8, FPU_ARCH_NEON_VFP_ARMV8, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_DOTPROD, ARCH_CRC_ARMV8, FPU_ARCH_NEON_VFP_ARMV8_1, FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_1, FPU_ARCH_DOTPROD_NEON_VFP_ARMV8, ARM_ARCH_V1, ARM_ARCH_V2, ARM_ARCH_V2S, ARM_ARCH_V3, ARM_ARCH_V3M, ARM_ARCH_V4xM, ARM_ARCH_V4, ARM_ARCH_V4TxM, ARM_ARCH_V4T, ARM_ARCH_V5xM, ARM_ARCH_V5, ARM_ARCH_V5TxM, ARM_ARCH_V5T, ARM_ARCH_V5TExP, ARM_ARCH_V5TE, ARM_ARCH_V5TEJ, ARM_ARCH_V6, ARM_ARCH_V6K, ARM_ARCH_V6Z, ARM_ARCH_V6KZ, ARM_ARCH_V6T2, ARM_ARCH_V6KT2, ARM_ARCH_V6ZT2, ARM_ARCH_V6KZT2, ARM_ARCH_V6M, ARM_ARCH_V6SM, ARM_ARCH_V7, ARM_ARCH_V7A, ARM_ARCH_V7VE, ARM_ARCH_V7R, ARM_ARCH_V7M, ARM_ARCH_V7EM, ARM_ARCH_V8A, ARM_ARCH_V8A_CRC, ARM_ARCH_V8_1A, ARM_ARCH_V8_2A, ARM_ARCH_V8_3A, ARM_ARCH_V8_4A, ARM_ARCH_V8_5A, ARM_ARCH_V8M_BASE, ARM_ARCH_V8M_MAIN, ARM_ARCH_V8M_MAIN_DSP, ARM_ARCH_V8R): Reindent. commit 7322dd1f69b18653692e6d790376d7754b9cfd3e Author: GDB Administrator Date: Tue Nov 13 00:00:40 2018 +0000 Automatic date update in version.in commit f77984e974c13d54a5c6a1e5d443c0c4564e48e8 Author: H.J. Lu Date: Mon Nov 12 09:29:49 2018 -0800 i386: Accept both .plt.got and .plt.sec sections Glibc commit: commit a15529fda8d132621328c3fe32997a3d9c55aef4 Author: H.J. Lu Date: Mon May 14 09:23:55 2018 -0700 i386: Replace PREINIT_FUNCTION@PLT with *%eax in call Since we have loaded address of PREINIT_FUNCTION into %eax, we can avoid extra branch to PLT slot. changed __gmon_start__ relocations in crt1.o from 00000015 0000092b R_386_GOT32X 00000000 __gmon_start__ 0000001e 00000904 R_386_PLT32 00000000 __gmon_start__ to 00000015 00000a2b R_386_GOT32X 00000000 __gmon_start__ As the result, .plt.sec section may be generated instead of .plt.got section, depending on __gmon_start__ relocations. * testsuite/ld-i386/plt-main-ibt.dd: Accept both .plt.got and .plt.sec sections. commit 53a89d6e5861d23b2b9ad0c82247daddc117701a Author: Simon Marchi Date: Mon Nov 12 10:38:44 2018 -0500 Add completer for skip numbers Add completer to various commands that accept skip numbers: - skip enable - skip disable - skip delete - info skip These commands also accept ranges, the completer works for that but is not very smart. It will suggest invalid ranges, for example when doing "2-" it will suggest "1", which would not result in a valid range. Also, it will keep suggesting when doing "1-2-", even though it's an invalid syntax. A future idea would be to make a re-usable and well-tested completer for numbers and ranges. I think it could at least be re-used for breakpoint and thread numbers (for example with the "enable breakpoints" command). gdb/ChangeLog: * skip.c (complete_skip_number): New function. (_initialize_step_skip): Add completers to some skip commands. gdb/testsuite/ChangeLog: * gdb.base/skip.exp: Add standard_testfile. Add "skip delete" completer tests. commit 8a758655b3ee39bed245a6ba2fc9f81f77813443 Author: Nick Clifton Date: Mon Nov 12 15:12:15 2018 +0000 Update documentation describing how the linker chooses a start address. PR 10865 * ld.texi (Entry Point): Make it clear that the text refers to PE-based systems rather than just a PE system. commit 3a0f69be5589d351453afebd0974992cff3ee4d1 Author: Sudakshina Das Date: Mon Nov 12 13:29:38 2018 +0000 [BINUTILS, AARCH64, 8/8] Add data cache instructions for Memory Tagging Extension This patch is part of the patch series to add support for ARMv8.5-A Memory Tagging Extensions which is an optional extension to ARMv8.5-A and is enabled using the +memtag command line option. This patch adds all the data cache instructions that are part of this extension: - DC IGVAC, Xt - DC IGSW, Xt - DC CGSW, Xt - DC CIGSW, Xt - DC CGVAC, Xt - DC CGVAP, Xt - DC CGVADP, Xt - DC CIGVAC, Xt - DC GVA, Xt - DC IGDVAC, Xt - DC IGDSW, Xt - DC CGDSW, Xt - DC CIGDSW, Xt - DC CGDVAC, Xt - DC CGDVAP, Xt - DC CGDVADP, Xt - DC CIGDVAC, Xt - DC GZVA, Xt *** opcodes/ChangeLog *** 2018-11-12 Sudakshina Das * aarch64-opc.c (aarch64_sys_regs_dc): New entries for IGVAC, IGSW, CGSW, CIGSW, CGVAC, CGVAP, CGVADP, CIGVAC, GVA, IGDVAC, IGDSW, CGDSW, CIGDSW, CGDVAC, CGDVAP, CGDVADP, CIGDVAC and GZVA. (aarch64_sys_ins_reg_supported_p): New check for above. *** gas/ChangeLog *** 2018-11-12 Sudakshina Das * testsuite/gas/aarch64/sysreg-4.s: Test IGVAC, IGSW, CGSW, CIGSW, CGVAC, CGVAP, CGVADP, CIGVAC, GVA, IGDVAC, IGDSW, CGDSW, CIGDSW, CGDVAC, CGDVAP, CGDVADP, CIGDVAC and GZVA with DC. * testsuite/gas/aarch64/sysreg-4.d: Likewise. * testsuite/gas/aarch64/illegal-sysreg-4.l: Likewise. commit 70f3d23af74dd6a1f90aec8748424cf0b5a953a5 Author: Sudakshina Das Date: Mon Nov 12 13:26:01 2018 +0000 [BINUTILS, AARCH64, 7/8] Add system registers for Memory Tagging Extension This patch is part of the patch series to add support for ARMv8.5-A Memory Tagging Extensions which is an optional extension to ARMv8.5-A and is enabled using the +memtag command line option. This patch adds all the system registers that are part of this extension and are accessible via the MRS/MSR instructions: - TCO - TFSRE0_SL1 - TFSR_EL1 - TFSR_EL2 - TFSR_EL3 - TFSR_EL12 - RGSR_EL1 - GCR_EL1 TCO is also accessible with the MSR(immediate) instruction. *** opcodes/ChangeLog *** 2018-11-12 Sudakshina Das * aarch64-opc.c (aarch64_sys_regs): New entries for TCO, TFSRE0_SL1, TFSR_EL1, TFSR_EL2, TFSR_EL3, TFSR_EL12, RGSR_EL1 and GCR_EL1. (aarch64_sys_reg_supported_p): New check for above. (aarch64_pstatefields): New entry for TCO. (aarch64_pstatefield_supported_p): New check for above. *** gas/ChangeLog *** 2018-11-12 Sudakshina Das * testsuite/gas/aarch64/sysreg-4.s: Test TCO, TFSRE0_SL1, TFSR_EL1, TFSR_EL2, TFSR_EL3, TFSR_EL12, RGSR_EL1 and GCR_EL1 MSR and MRS. * testsuite/gas/aarch64/sysreg-4.d: Likewise. * testsuite/gas/aarch64/illegal-sysreg-4.l: Likewise. commit 503ba600259856b41a88b56922e094ea826df270 Author: Sudakshina Das Date: Mon Nov 12 13:19:12 2018 +0000 [BINUTILS, AARCH64, 6/8] Add Tag getting instruction in Memory Tagging Extension This patch is part of the patch series to add support for ARMv8.5-A Memory Tagging Extensions which is an optional extension to ARMv8.5-A and is enabled using the +memtag command line option. This patch add support to the Bulk Allocation Tag instructions from MTE. These are the following instructions added in this patch: - LDGV , []! - STGV , []! This needed a new kind of operand for the new addressing []! since this has no offset and only takes a pre-indexed version. Hence AARCH64_OPND_ADDR_SIMPLE_2 and ldtdgv_indexed are introduced. (AARCH64_OPND_ADDR_SIMPLE fulfilled the no offset criteria but does not allow writeback). We also needed new encoding and decoding functions to be able to do the same. where : Is the 64-bit destination GPR. : Is the 64-bit first source GPR or Stack pointer. *** include/ChangeLog *** 2018-11-12 Sudakshina Das * opcode/aarch64.h (aarch64_opnd): Add AARCH64_OPND_ADDR_SIMPLE_2. (aarch64_insn_class): Add ldstgv_indexed. *** opcodes/ChangeLog *** 2018-11-12 Sudakshina Das * aarch64-asm.c (aarch64_ins_addr_simple_2): New. * aarch64-asm.h (ins_addr_simple_2): Declare the above. * aarch64-dis.c (aarch64_ext_addr_simple_2): New. * aarch64-dis.h (ext_addr_simple_2): Declare the above. * aarch64-opc.c (operand_general_constraint_met_p): Add case for AARCH64_OPND_ADDR_SIMPLE_2 and ldstgv_indexed. (aarch64_print_operand): Add case for AARCH64_OPND_ADDR_SIMPLE_2. * aarch64-tbl.h (aarch64_opcode_table): Add stgv and ldgv. (AARCH64_OPERANDS): Define ADDR_SIMPLE_2. * aarch64-asm-2.c: Regenerated. * aarch64-dis-2.c: Regenerated. * aarch64-opc-2.c: Regenerated. *** gas/ChangeLog *** 2018-11-12 Sudakshina Das * config/tc-aarch64.c (parse_operands): Add switch case for AARCH64_OPND_ADDR_SIMPLE_2 and allow [base]! for it. (warn_unpredictable_ldst): Exempt ldstgv_indexed for ldgv. * testsuite/gas/aarch64/armv8_5-a-memtag.s: Add tests for ldgv and stgv. * testsuite/gas/aarch64/armv8_5-a-memtag.d: Likewise. * testsuite/gas/aarch64/illegal-memtag.s: Likewise. * testsuite/gas/aarch64/illegal-memtag.l: Likewise. commit e6025b546c21b280ef05201b065f07335ee10e2e Author: Sudakshina Das Date: Mon Nov 12 13:14:00 2018 +0000 [BINUTILS, AARCH64, 5/8] Add Tag getting instruction in Memory Tagging Extension This patch is part of the patch series to add support for ARMv8.5-A Memory Tagging Extensions which is an optional extension to ARMv8.5-A and is enabled using the +memtag command line option. This patch add support to the Tag Getting instruction from Memory Tagging Extension. - LDG , [, #] where : Is the 64-bit destination GPR. : Is the 64-bit first source GPR or Stack pointer. : Is the optional signed immediate offset, a multiple of 16 in the range of -4096 and 4080, defaulting to 0. *** opcodes/ChangeLog *** 2018-11-12 Sudakshina Das * aarch64-tbl.h (QL_LDG): New. (aarch64_opcode_table): Add ldg. * aarch64-asm-2.c: Regenerated. * aarch64-dis-2.c: Regenerated. * aarch64-opc-2.c: Regenerated. *** gas/ChangeLog *** 2018-11-12 Sudakshina Das * testsuite/gas/aarch64/armv8_5-a-memtag.s: Add tests for ldg. * testsuite/gas/aarch64/armv8_5-a-memtag.d: Likewise. * testsuite/gas/aarch64/illegal-memtag.s: Likewise. * testsuite/gas/aarch64/illegal-memtag.l: Likewise. commit fb3265b371a141c4ffc97dcf8cc66e090c516dc8 Author: Sudakshina Das Date: Mon Nov 12 13:09:55 2018 +0000 [BINUTILS, AARCH64, 4/8] Add Tag setting instructions in Memory Tagging Extension This patch is part of the patch series to add support for ARMv8.5-A Memory Tagging Extensions which is an optional extension to ARMv8.5-A and is enabled using the +memtag command line option. This patch add support to the Tag setting instructions from MTE which consists of the following instructions: - STG [, #] - STG [, #]! - STG [], # - STZG [, #] - STZG [, #]! - STZG [], # - ST2G [, #] - ST2G [, #]! - ST2G [], # - STZ2G [, #] - STZ2G [, #]! - STZ2G [], # - STGP , , [, #] - STGP , , [, #]! - STGP , , [], # where : Is the 64-bit GPR or Stack pointer. : Is the optional signed immediate offset, a multiple of 16 in the range -4096 to 4080, defaulting to 0. *** include/ChangeLog *** 2018-11-12 Sudakshina Das * opcode/aarch64.h (aarch64_opnd): Add AARCH64_OPND_ADDR_SIMM11 and AARCH64_OPND_ADDR_SIMM13. (aarch64_opnd_qualifier): Add new AARCH64_OPND_QLF_imm_tag. *** opcodes/ChangeLog *** 2018-11-12 Sudakshina Das * aarch64-opc.c (aarch64_opnd_qualifiers): Add new data for AARCH64_OPND_QLF_imm_tag. (operand_general_constraint_met_p): Add case for AARCH64_OPND_ADDR_SIMM11 and AARCH64_OPND_ADDR_SIMM13. (aarch64_print_operand): Likewise. * aarch64-tbl.h (QL_LDST_AT, QL_STGP): New. (aarch64_opcode_table): Add stg, stzg, st2g, stz2g and stgp for both offset and pre/post indexed versions. (AARCH64_OPERANDS): Define ADDR_SIMM11 and ADDR_SIMM13. * aarch64-asm-2.c: Regenerated. * aarch64-dis-2.c: Regenerated. * aarch64-opc-2.c: Regenerated. *** gas/ChangeLog *** 2018-11-12 Sudakshina Das * config/tc-aarch64.c (parse_operands): Add switch case for AARCH64_OPND_ADDR_SIMM11 and AARCH64_OPND_ADDR_SIMM13. (fix_insn): Likewise. (warn_unpredictable_ldst): Exempt STGP. * testsuite/gas/aarch64/armv8_5-a-memtag.s: Add tests for stg, st2g, stzg, stz2g and stgp. * testsuite/gas/aarch64/armv8_5-a-memtag.d: Likewise. * testsuite/gas/aarch64/illegal-memtag.s: Likewise. * testsuite/gas/aarch64/illegal-memtag.l: Likewise. commit b731bc3b1bd122872a6aff68aafba1eda64a98d1 Author: Sudakshina Das Date: Mon Nov 12 12:58:26 2018 +0000 [BINUTILS, AARCH64, 3/8] Add Pointer Arithmetic instructions in Memory Tagging Extension This patch is part of the patch series to add support for ARMv8.5-A Memory Tagging Extensions which is an optional extension to ARMv8.5-A and is enabled using the +memtag command line option. This patch add support to the Pointer Arithmetic instructions from MTE. These are the following instructions added in this patch: - SUBP , , - SUBPS , , - CMPP , where CMPP is an alias to SUBPS XZR, , where : Is the 64-bit destination GPR. : Is the 64-bit first source GPR or Stack pointer. : Is the 64-bit second source GPR or Stack pointer. *** opcodes/ChangeLog *** 2018-11-12 Sudakshina Das * aarch64-tbl.h (aarch64_opcode_table): Add subp, subps and cmpp. * aarch64-asm-2.c: Regenerated. * aarch64-dis-2.c: Regenerated. * aarch64-opc-2.c: Regenerated. *** gas/ChangeLog *** 2018-11-12 Sudakshina Das * testsuite/gas/aarch64/armv8_5-a-memtag.s: Add tests for subp, subps and cmpp. * testsuite/gas/aarch64/armv8_5-a-memtag.d: Likewise. * testsuite/gas/aarch64/illegal-memtag.s: Likewise. * testsuite/gas/aarch64/illegal-memtag.l: Likewise. commit 193614f2b908c2b55c188cb14c3ef78993ff85b0 Author: Sudakshina Das Date: Mon Nov 12 12:52:55 2018 +0000 [BINUTILS, AARCH64, 2/8] Add Tag generation instructions in Memory Tagging Extension This patch is part of the patch series to add support for ARMv8.5-A Memory Tagging Extensions which is an optional extension to ARMv8.5-A and is enabled using the +memtag command line option. This patch add support to the Tag generation instructions from MTE. These are the following instructions added in this patch: - IRG , {, Xm} - ADDG , , #. # - SUBG , , #. # - GMI , , where : Is the 64-bit destination GPR or Stack pointer. : Is the 64-bit source GPR or Stack pointer. : Is the unsigned immediate, a multiple of 16 in the range 0 to 1008. : Is the unsigned immediate, in the range 0 to 15. *** include/ChangeLog *** 2018-11-12 Sudakshina Das * opcode/aarch64.h (aarch64_opnd): Add AARCH64_OPND_UIMM4_ADDG and AARCH64_OPND_UIMM10 as new enums. *** opcodes/ChangeLog *** 2018-11-12 Sudakshina Das * aarch64-opc.h (aarch64_field_kind): New FLD_imm4_3. (OPD_F_SHIFT_BY_4, operand_need_shift_by_four): New. * aarch64-opc.c (fields): Add entry for imm4_3. (operand_general_constraint_met_p): Add cases for AARCH64_OPND_UIMM4_ADDG and AARCH64_OPND_UIMM10. (aarch64_print_operand): Likewise. * aarch64-tbl.h (QL_ADDG): New. (aarch64_opcode_table): Add addg, subg, irg and gmi. (AARCH64_OPERANDS): Define UIMM4_ADDG and UIMM10. * aarch64-asm.c (aarch64_ins_imm): Add case for operand_need_shift_by_four. * aarch64-asm-2.c: Regenerated. * aarch64-dis-2.c: Regenerated. * aarch64-opc-2.c: Regenerated. *** gas/ChangeLog *** 2018-11-12 Sudakshina Das * config/tc-aarch64.c (parse_operands): Add switch case for AARCH64_OPND_UIMM4_ADDG and AARCH64_OPND_UIMM10. * testsuite/gas/aarch64/armv8_5-a-memtag.s: New. * testsuite/gas/aarch64/armv8_5-a-memtag.d: Likewise. * testsuite/gas/aarch64/illegal-memtag.s: Likewise. * testsuite/gas/aarch64/illegal-memtag.l: Likewise. * testsuite/gas/aarch64/illegal-memtag.d: Likewise. commit 73b605ec3f546ff5a1c343ae02e6322aaa451bcf Author: Sudakshina Das Date: Mon Nov 12 12:45:30 2018 +0000 [BINUTILS, AARCH64, 1/8] Add support for Memory Tagging Extension for ARMv8.5-A This patch is part of the patch series to add support for ARMv8.5-A Memory Tagging Extensions. Memory Tagging Extension is an optional extension to ARMv8.5-A and is enabled using the +memtag command line option. This patch adds the new command line option and the new feature macros. *** include/ChangeLog *** 2018-11-12 Sudakshina Das * opcode/aarch64.h (AARCH64_FEATURE_MEMTAG): New. *** opcodes/ChangeLog *** 2018-11-12 Sudakshina Das * aarch64-tbl.h (aarch64_feature_memtag): New. (MEMTAG, MEMTAG_INSN): New. *** gas/ChangeLog *** 2018-11-12 Sudakshina Das * config/tc-aarch64.c (aarch64_features): Add "memtag" as a new option. * doc/c-aarch64.texi: Document the same. commit d1b603a74e3a06da231727eb88947666e1885196 Author: Nick Clifton Date: Mon Nov 12 11:24:18 2018 +0000 Updated Spanish translation for the ld subdirectory. ld * po/es.po: Updated Spanish translation. commit 417e50dbcfd4b8dd699f48df5ac9b9a733fd80e2 Author: GDB Administrator Date: Mon Nov 12 00:00:26 2018 +0000 Automatic date update in version.in commit 0c57b50523a36c1fc9cb1c1c884c036027f5fa28 Author: GDB Administrator Date: Sun Nov 11 00:01:25 2018 +0000 Automatic date update in version.in commit 00a9f4ce3d20a9f705838961b529ef1652b7a0ae Author: GDB Administrator Date: Sat Nov 10 00:00:36 2018 +0000 Automatic date update in version.in commit eefce37f62d87a65f63e12e421a3f727b2685e9d Author: Tom Tromey Date: Mon Jul 23 19:47:39 2018 -0600 Remove a VEC from remote.c This removes the VEC from remote_g_packet_data, replacing it with a std::vector. This is a bit odd in that this object is never destroyed, and is obstack-allocated. I believe a gdbarch is never destroyed, so this seemed ok. Tested by the buildbot. gdb/ChangeLog 2018-11-09 Tom Tromey * remote.c (remote_g_packet_guess_s): Remove typedef and DEF_VEC. (struct remote_g_packet_data): Derive from allocate_on_obstack. : Now a std::vector. (remote_g_packet_data_init, register_remote_g_packet_guess): Update. (remote_read_description_p): Update. Return bool. (remote_target::read_description): Update. (struct remote_g_packet_guess): Add constructor. commit 2179fbc36d23f29a83fb3dfcac0fc7d1fb31b8e8 Author: Tom Tromey Date: Sat Oct 27 12:23:44 2018 -0600 Return scoped_fd from open_source_file and find_and_open_source This changes open_source_file and find_and_open_source to return scoped_fd, then updates the callers as appropriate, including using scoped_fd::to_file. Tested by the buildbot. gdb/ChangeLog 2018-11-09 Tom Tromey * common/scoped_fd.h (class scoped_fd): Add move constructor and move assignment operator. * psymtab.c (psymtab_to_fullname): Update. * source.h (open_source_file): Return scoped_fd. (find_and_open_source): Likewise. * source.c (open_source_file): Return scoped_fd. (get_filename_and_charpos): Update. (print_source_lines_base): Update. Use scoped_fd::to_file. (forward_search_command): Likewise. (reverse_search_command): Likewise. (find_and_open_source): Return scoped_fd. * tui/tui-source.c (tui_set_source_content): Update. Use gdb_file_up. commit 9c122c7f9c8260d2cceb1e8f29d69607531f43ba Author: John Baldwin Date: Fri Nov 9 11:44:20 2018 -0800 Fix unsigned overflow in minsyms reader. Use a ssize_t helper variable for the number of bytes to shrink the msymbols obstack rather than relying on unsigned overflow to shrink the size of the obstack. gdb/ChangeLog: * minsyms.c (minimal_symbol_reader::install): Fix unsigned overflow. commit 4b905ae1b4d5f90e5737ee01ab4b7149be8c1fe5 Author: Pedro Franco de Carvalho Date: Fri Nov 9 16:09:03 2018 -0200 [PowerPC] Document requirements for VSX feature As suggested in https://sourceware.org/ml/gdb-patches/2018-10/msg00510.html, this patch changes the documentation for the VSX tdesc feature to make it clear that the altivec and FPU features are requirements. gdb/doc/ChangeLog: 2018-11-09 Pedro Franco de Carvalho * gdb.texinfo (PowerPC Features): Document the altivec and fpu requirements for the org.gnu.gdb.power.vsx feature. commit 5d762de01cc537cec47d3c7bbae0424a33b33b04 Author: Hafiz Abid Qadeer Date: Fri Nov 9 16:03:11 2018 +0000 Fix a typo in iconv.m4. config/ 2018-11-09 Hafiz Abid Qadeer * iconv.m4 (AM_ICONV_LINK): Don't overwrite CPPFLAGS. Append $INCICONV to it. gdb/ 2018-11-09 Hafiz Abid Qadeer * configure: Regenerate. binutils/ 2018-11-09 Hafiz Abid Qadeer * configure: Regenerate. intl/ 2018-11-09 Hafiz Abid Qadeer * configure: Regenerate. commit dfbfec241aa0ec5359906dd9cdf89ff90750d7c5 Author: Bernhard M. Wiedemann Date: Fri Nov 9 16:06:48 2018 +0000 Correct comment concerning PE timestamp insertion. * peXXigen.c (_bfd_XXi_only_swap_filehdr_out): Correct comment concerning timestamp insertion. commit 20b233dc4872717a845066b0362582ea4f483df7 Author: Cupertino Miranda Date: Fri Nov 9 15:49:29 2018 +0000 Fixed warning from previous patch. Added Changelog. commit d07b621f4cc585607c7eee7cc58ce54a7dde52f5 Author: Cupertino Miranda Date: Thu Oct 4 10:17:03 2018 +0100 [ARC] More fixes for TLS. Added warning for static TLS reloc. Fixed issue related to TLS and partial static linking of libraries: This issue was detected when throwing exceptions in C++ while linking with -static-libstdc++. TLS relocation from the libstdc++ wasn't being patched as local now that it was static linked with the executable. Fix for TLS with static and pie. Problem introduced by earlier patch: Fixes the following glibc tests: - elf/tst-tls1-static bfd/ xxxx-xx-xx Cupertino Miranda * arc-got.h (arc_got_entry_type_for_reloc): Changed to correct static TLS relocs. * elf32-arc.c (elf_arc_check_relocs): Introduced warning to TLS relocs which require -fPIC. (arc_create_forced_local_got_entries_for_tls): Created. Traverses list of GOT entries to be resolved statically when needed. (elf_arc_finish_dynamic_sections): Changed. Calls arc_create_forced_local_got_entries_for_tls for each known possibly GOT symbol. commit fda57deda7cc82d89ceee1afa966313247e60b1e Author: Nick Clifton Date: Fri Nov 9 14:18:02 2018 +0000 Updated French translation for the ld subdirectory. * po/fr.po: Updated French translation. commit d2eb0fb5a04e2e2ad374f56c7107f2421cdd93c9 Author: rhn Date: Fri Nov 9 14:09:44 2018 +0000 Stop corruption of ihex output shen addresses are sign extended. PR 23699 * ihex.c (ihex_write_object_contents): Check for sign extended addresses that cannot be supported in the ihex format. commit dcd9adc5cbac756507eb5da65a4f9cf3edb8fc93 Author: Nick Clifton Date: Fri Nov 9 12:51:46 2018 +0000 oops - add missing piece of previous delta commit 71f5e3f7b624a725ba550a2dd18a413c88ee6497 Author: Nick Clifton Date: Fri Nov 9 12:48:23 2018 +0000 Enhance the strings program so that it can display multibyte strings. * strings.c (print_strings): Check for multibyte encodings. * binutils-all/strings-1.bin: New file. Test binary for string decoding. * testsuite/binutils-all/strings.exp: New file. Test the strings program. * testsuite/config/default.exp (STRINGS): Define if not provided by the environment. (STRINGSFLAGS): Likewise. commit 0d0b0a378eb0c6705ff05a52e7468f5df5e47bc4 Author: Claudiu Zissulescu Date: Fri Nov 9 13:24:29 2018 +0200 [ARC] Update ld tests. ld/ xxxx-xx-xx Claudiu Zissulescu * testsuite/ld-arc/tls_gd-01.d: Update test. * testsuite/ld-arc/arclinux-nps.d: Add cpu option. commit 0f2064107ba373ddcffb30afc55ac08b40c0585e Author: Claudiu Zissulescu Date: Fri Nov 9 13:14:00 2018 +0200 [ARC] Fix local got entry list. Fix a memory leak appearing when the local got entry list was constructed. bfd/ xxxx-xx-xx Claudiu Zissulescu * arc-got.h (arc_get_local_got_ents): Revamp it; use elf_local_got_ents to store the local got list. (get_got_entry_list_for_symbo): Restructure it. * elf32-arc.c (elf_arc_relocate_section): Correct the call to get_got_entry_list_for_symbol. commit 73af69e74974eaa155eec89867e3ccc77ab39f6d Author: Marc Date: Fri Nov 9 11:13:50 2018 +0000 Allow for compilers that do not produce aligned .rdat sections in PE format files. PR 23872 * scripttempl/pep.sc (pe.sc): Ensure rdata_runtime_pseudo_relocs are aligned. * scripttempl/pep.sc (pep.sc): Likewise. commit 9325300dc283ece6bf6305b912f53114c0895114 Author: Tom de Vries Date: Fri Nov 9 11:54:04 2018 +0100 [gdb/symtab] Fix language of duplicate static minimal symbol Consider a test-case with source files msym.c: ... static int foo (void) { return 1; } ... and msym_main.c: ... static int foo (void) { return 2; } int main (void) { return 0; } .. compiled as c++ with minimal symbols: ... $ g++ msym_main.c msym.c ... With objdump -x we find the two foo symbols prefixed with their corresponding files in the symbol table: ... 0000000000000000 l df *ABS* 0000000000000000 msym_main.c 00000000004004c7 l F .text 000000000000000b _ZL3foov 0000000000000000 l df *ABS* 0000000000000000 msym.c 00000000004004dd l F .text 000000000000000b _ZL3foov ... However, when we use gdb to print info on foo, both foos are listed, but we get one symbol mangled and one symbol demangled: ... $ gdb ./a.out -batch -ex "info func foo" All functions matching regular expression "foo": Non-debugging symbols: 0x00000000004004c7 foo() 0x00000000004004dd _ZL3foov ... During minimal symbol reading symbol_set_names is called for each symbol. First, it's called with foo from msym.c, an entry is created in per_bfd->demangled_names_hash and symbol_find_demangled_name is called, which has the side effect of setting the language of the symbol to language_cplus. Then, it's called with foo from msym_main.c. Since per_bfd->demangled_names_hash already has an entry for that name, symbol_find_demangled_name is not called, and the language of the symbol remains language_auto. Fix this by doing the symbol_find_demangled_name call unconditionally. Build and reg-tested on x86_64-linux. gdb/ChangeLog: 2018-11-09 Tom de Vries * symtab.c (symbol_set_names): Call symbol_find_demangled_name unconditionally, to set the language of the symbol. Manage freeing returned pointer using gdb::unique_xmalloc_ptr. gdb/testsuite/ChangeLog: 2018-11-09 Tom de Vries * gdb.base/msym-lang.c: New test. * gdb.base/msym-lang.exp: New file. * gdb.base/msym-lang-main.c: New test. commit 13daa8e4889a971309f7d46a8d49129cb26088a5 Author: Andreas Krebbel Date: Fri Nov 9 11:00:47 2018 +0100 S/390: Fix optional operand handling after memory addresses Instructions having an optional argument following a memory address operand were not handled correctly if the optional argument was not specified. gas/ChangeLog: 2018-11-09 Andreas Krebbel * config/tc-s390.c (skip_optargs_p): New function. (md_gather_operands): Use skip_optargs_p. * testsuite/gas/s390/s390.exp: Run the new test. * testsuite/gas/s390/zarch-optargs.d: New test. * testsuite/gas/s390/zarch-optargs.s: New test. commit 0e2779e98dc1251b469db690458d14262c72e303 Author: Alan Modra Date: Wed Nov 7 16:12:36 2018 +1030 PowerPC, don't use bfd reloc howto in md_assemble We support source like the following .data .quad x-. .space 8 x: where at the time the .quad line is assembled, x is unknown so a fixup is emitted for later evaluation. This is supported for data even when the target may not have relocations for the expression, for example, 32-bit powerpc targets lack a 64-bit reloc. As long as the fixup resolves at assembly time, gas is happy. The idea of this patch is to support fixups that resolve at assembly time for instructions too, even when the target might lack the necessary relocations (and thus no howto). * config/tc-ppc.c (fixup_size): New function. (md_assemble): Use it to derive size and pcrel directly from fixup reloc type. commit 663cc8c0fc6ed1fc64b3a3930806cdaf33cfcefe Author: GDB Administrator Date: Fri Nov 9 00:00:25 2018 +0000 Automatic date update in version.in commit 9c710e1157caf7a2c3e4c816c72f88360f3e859c Author: Tom Tromey Date: Tue Nov 6 20:12:36 2018 -0700 Capitalize "" in require_record_target error This changes require_record_target to say "" rather than "". I think capitalizing here is a bit more GNU-ish, based on Emacs usage and one other case in gdb. gdb/ChangeLog 2018-11-08 Tom Tromey * record.c (require_record_target): Upper-case "". commit 3c6618cd22d7f188b7c1a3c87edc8ed2b93fbe41 Author: Tom Tromey Date: Tue Nov 6 20:09:20 2018 -0700 Fix output indentation for "info pretty-printers" I noticed that "info pretty-printers" will indent the "objfile" line like: (top-gdb) info pretty-printer global pretty-printers: builtin mpx_bound128 objfile /home/tromey/gdb/build/gdb/gdb pretty-printers: type_lookup_function I think the "objfile" line should be "out-dented", following the same style as the "global" and "progspace" (not shown) lines. This patch implements this. gdb/ChangeLog 2018-11-08 Tom Tromey * python/lib/gdb/command/pretty_printers.py (InfoPrettyPrinter.invoke): Don't indent "objfile" heading. commit 20f0d60db4fb5083779c4c9182bbc692f7d2bac5 Author: Tom Tromey Date: Fri Oct 5 14:54:35 2018 -0600 Avoid crash when calling warning too early I noticed that if you pass the name of an existing file (not a directory) as the argument to --data-directory, gdb will crash: $ ./gdb -nx --data-directory ./gdb ../../binutils-gdb/gdb/target.c:590:56: runtime error: member call on null pointer of type 'struct target_ops' This was later reported as PR gdb/23838. This happens because warning ends up calling target_supports_terminal_ours, which calls current_top_target, which returns nullptr this early. This fixes the problem by handling this case specially in target_supports_terminal_ours. I also changed target_supports_terminal_ours to return bool. gdb/ChangeLog 2018-11-08 Tom Tromey PR gdb/23555: PR gdb/23838: * target.h (target_supports_terminal_ours): Return bool. * target.c (target_supports_terminal_ours): Handle case where current_top_target returns nullptr. Return bool. gdb/testsuite/ChangeLog 2018-11-08 Tom Tromey PR gdb/23555: PR gdb/23838: * gdb.base/warning.exp: New file. commit d4718d5c9f9b5c41d88254429c61010c63139130 Author: Joel Brobecker Date: Thu Nov 8 10:27:31 2018 -0500 (AArch64) wrong value returned by "finish" for HFA Consider the gdb.ada/array_return.exp testcase, and in particular, consider the following code... type Small_Float_Vector is array (1 .. 2) of Float; function Create_Small_Float_Vector return Small_Float_Vector is begin return (others => 4.25); end Create_Small_Float_Vector; ... which declares a type which is an array with 2 floats in it (floats are 4 bytes on AArch64), trying to get GDB to print the return value from that function does not work: (gdb) fin Run till exit from #0 pck.create_small_float_vector () at /[...]/pck.adb:15 0x000000000000062c in p () at /[...]/p.adb:11 11 Vector := Create_Small_Float_Vector; Value returned is $1 = (4.25, 0.0) ^^^ ||| We expected the value shown to be: (gdb) fin Run till exit from #0 pck.create_small_float_vector () at /[...]/pck.adb:15 0x000000000000062c in p () at /[...]/p.adb:11 11 Vector := Create_Small_Float_Vector; Value returned is $1 = (4.25, 4.25) Because the return type is an HFA, it is returned via the first two SIMD registers. However, what happens is that the current implementation fails to realize that this is an HFA, and therefore fetches the return value from the wrong location. And the reason why it fails to realize this is because it thinks that our array has 8 elements (HFAs have a maximum of 4). Looking at aapcs_is_vfp_call_or_return_candidate_1, where this is determined, we can easily see why (looks like a thinko): | case TYPE_CODE_ARRAY: | [...] | struct type *target_type = TYPE_TARGET_TYPE (type); | int count = aapcs_is_vfp_call_or_return_candidate_1 | (target_type, fundamental_type); | | if (count == -1) | return count; | !! -> | count *= TYPE_LENGTH (type); | return count; Here, we first determine the count for one element of our array, and so we should then be multiplying that count by the number of elements in our array (2 in our case). But instead, we multiply it by the total size (8). As a result, we do not classify the return type as an HFA, and thus pick the wrong location for fetching the return value. gdb/ChangeLog: * aarch64-tdep.c (aapcs_is_vfp_call_or_return_candidate_1): return the correct count for potential HFAs. Tested on aarch64-linux, fixes: array_return.exp: value printed by finish of Create_Small_Float_Vector commit b5420128da08dc81d94b265e88083d172909ea25 Author: Jan Beulich Date: Thu Nov 8 12:12:05 2018 +0100 x86-64: fix ZMM register state tracking The three AVX512 state components are entirely independent - one being in its "init state" has no implication whatsoever on either of the other two. Fully separate X86_XSTATE_ZMM_H and X86_XSTATE_ZMM handling, to prevent upper halves of the upper 16 ZMM registers to display as if they were zero (when they aren't) after e.g. VZEROALL/VZEROUPPER. commit cd115d615c6558175a56c3d0896b6f1c62864cd1 Author: Andrew Burgess Date: Mon Nov 5 22:00:31 2018 +0000 gdb/riscv: Update test to support targets without FP hardware Update gdb.arch/riscv-reg-aliases.exp test to support targets without floating point registers. gdb/testsuite/ChangeLog: * gdb.arch/riscv-reg-aliases.exp: Handle targets without floating point hardware. commit 17cf2897848e893d49b69eb65e00bbf71eb503ba Author: Andrew Burgess Date: Mon Oct 29 15:14:03 2018 +0000 gdb/riscv: Handle errors while setting the frame id When we connect to a remote target one of the first things GDB does is establish a frame id. If an error is thrown while building this frame id then GDB will disconnect from the target. This can mean that, if the user is attempting to connect to a target that doesn't yet have a program loaded, or the program the user is going to load onto the target doesn't match what is already loaded, or the target is just in some undefined state, then the very first request for a frame id can fail (for example, by trying to load from an invalid memory address), and GDB will disconnect. It is then impossible for the user to connect to the target and load a new program at all. An example of such a session might look like this: Reading symbols from ./gdb/testsuite/outputs/gdb.arch/riscv-reg-aliases/riscv-reg-aliases... (gdb) target remote :37191 Remote debugging using :37191 0x0000000000000100 in ?? () Cannot access memory at address 0x0 (gdb) load You can't do that when your target is `exec' (gdb) info frame /path/to/gdb/gdb/thread.c:93: internal-error: thread_info* inferior_thread(): Assertion `tp' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. Quit this debugging session? (y or n) The solution is to handle errors in riscv_frame_this_id, and leave the this_id variable with its default value, which is the predefined 'outermost' frame. With this fix in place, connecting to the same target now looks like this: (gdb) target remote :37191 Remote debugging using :37191 0x0000000000000100 in ?? () (gdb) info frame Stack level 0, frame at 0x0: pc = 0x100; saved pc = Outermost frame: outermost Arglist at unknown address. Locals at unknown address, Previous frame's sp in sp gdb/ChangeLog: * riscv-tdep.c (riscv_insn::decode): Update header comment. (riscv_frame_this_id): Catch errors thrown while building the frame cache, leave the frame id as the default, which is the outer frame id. commit 5acaada74578ee6a902255f0272d5f3115b76309 Author: Alan Modra Date: Fri Nov 2 21:27:02 2018 +1030 Make gold testsuite work with CC and CXX specifying -B The patch allows the gold testsuite to pass when using something like the following configure line, which works for the rest of the binutils testsuite. At least, it does if you don't configure your gcc with any of the options that force a particular path to as or ld. gccdir="/home/alan/build/gcc/prev-" gccsrc="/home/alan/src/gcc.git" gcctarg="x86_64-linux" CC="${gccdir}gcc/xgcc -B${gccdir}gcc/" \ CXX="${gccdir}gcc/xg++ -B${gccdir}gcc/ -I${gccdir}$gcctarg/libstdc++-v3/include -I${gccdir}$gcctarg/libstdc++-v3/include/$gcctarg -I${gccsrc}/libstdc++-v3/libsupc++ -L${gccdir}$gcctarg/libstdc++-v3/src/.libs/" \ ~/src/binutils-gdb/configure ... gold's -Bgcctestdir/ option must come before the -B supplied by $CC or $CXX, in order to pick up the linker we want to test. Also when using a not-yet-installed gcc, it is necessary to provide a collect-ld in gcctestdir/ as otherwise a collect-ld script in -B${gccdir}gcc/ will be used and the wrong linker tested. Besides this, the patch fixes some bugs: The $COMPILE -D_FORTIFY_SOURCE edit was wrong (but worked for usual values), and the $CXXLINK_S edit unnecessarily but harmlessly used extra backslash quoting. See posix shell documentation regarding quoting, or www.gnu.org/software/bash/manual/bashref.html#Command-Substitution Also, -Bgcctestdir/ in one place makes it less likely a new test will be added that accidentally lacks the option. * Makefile.am (gcctestdir1/ld): Use $@ and absolute paths. (gcctestdir1/collect-ld): New. (ld1_DEPENDENCIES): Add gcctestdir1/collect-ld. (ld1_LDFLAGS): Remove -Bgcctestdir1/. (editcc1, ld1_LINK): Define. (gcctestdir2/ld, gcctestdir2/collect-ld, ld2_DEPENDENCIES), (ld2_LDFLAGS, editcc2, ld2_LINK), (ld1_r_DEPENDENCIES, ld1_r_LDFLAGS, ld1_r_LINK), (gcctestdir2-r/ld, gcctestdir2-r/collect-ld, ld2_r_DEPENDENCIES), (ld2_r_LDFLAGS, editcc2r, ld2_r_LINK), (gcctestdir3/ld, gcctestdir3/collect-ld, ld3_DEPENDENCIES), (ld3_LDFLAGS, editcc3, ld3_LINK), (gcctestdir4/ld, gcctestdir4/collect-ld, ld4_DEPENDENCIES), (ld4_LDFLAGS, editcc4, ld4_LINK): Similarly. * Makefile.in: Regenerate. * testsuite/Makefile.am (editcc): Define sed command to put our -B option first. Remove other occurrences of -Bgcctestdir/ throughout file. (editcc1): Define for -D_FORTIFY_SOURCE stripping. (editcc2): Define for -static-libgcc/libstdc++ stripping. (LINK1, CXXLINK1): Don't use CCLD or CXXLD. (CCLD, CXXLD, COMPILE, LINK, CXXCOMPILE, CXXLINK, CXXLINK_S): Define using editcc macros. (gcctestdir/collect-ld): New rule, add as a dependency of.. (gcctestdir/ld): ..this. Use $@ and abs_top_buildir. (gcctestdir/as): Use $@. * testsuite/Makefile.in: Regenerate. * testsuite/incremental_test.sh (actual): Match collect-ld too. commit 9e49efb79c449852fdb2f727d500d7aba1e449a7 Author: GDB Administrator Date: Thu Nov 8 00:00:32 2018 +0000 Automatic date update in version.in commit 76136aeda5ca3f23ba2f86fb6a6938b381d37f61 Author: Joel Brobecker Date: Wed Nov 7 16:04:13 2018 -0500 (Ada/tasking) fix array or string index out of range warning A recent change in the compiler highlighted a small weakness in the function reading the contents of the Ada Task Control Block (ATCB -- the data that allows us to inspect Ada tasks). As a result, anytime we read it, we started getting some warnings. For instance, using the gdb.ada/tasks.exp testcase... $ gnatmake -g foo.adb $ gdb foo (gdb) b foo.adb:60 Breakpoint 1 at 0x403e07: file foo.adb, line 60. (gdb) run [...] Thread 1 "foo" hit Breakpoint 1, foo () at foo.adb:60 60 for J in Task_List'Range loop -- STOP_HERE ... we can see that the "info tasks" command produces some warnings, followed by the correct output. (gdb) info tasks !! -> warning: array or string index out of range !! -> warning: array or string index out of range !! -> warning: array or string index out of range !! -> warning: array or string index out of range ID TID P-ID Pri State Name * 1 654050 48 Runnable main_task 2 654ef0 1 48 Accept or Select Term task_list(1) 3 658680 1 48 Accept or Select Term task_list(2) 4 65be10 1 48 Accept or Select Term task_list(3) The problem comes from the fact that read_atcb, the function responsible for loading the contents of the ATCB, blindly tries to read some data which is only relevant when a task is waiting for another task on an entry call. A comment in that code's section gives a hint as to how the information is meant to be decoded: /* Let My_ATCB be the Ada task control block of a task calling the entry of another task; then the Task_Id of the called task is in My_ATCB.Entry_Calls (My_ATCB.ATC_Nesting_Level).Called_Task. */ What the comment shows is that, to get the Id of the task being called, one has to go through the entry calls field, which is an array pointer. Up to now, we were lucky that, for tasks that are _not_ waiting on an entry call, its ATCB atc_nesting_level used to be set to 1, and so we were able to silently read some irrelevant data. But a recent change now causes this field to be zero instead, and this triggers the warning, since we are now trying to read outside of the array's range (arrays in Ada often start at index 1, as is the case here). We avoid this issue by simply only reading that data when the data is actually known to be relevant (state == Entry_Caller_Sleep). This, in turn, allows us to simplify a bit the use of the task_info->state field, where we no longer need to check task the task has a state equal to Entry_Caller_Sleep before using this field. Indeed, with this new approach, we now know that, unless task_info->state == Entry_Caller_Sleep, the state is now guaranteed to be zero. In other words, we no longer set task_info->called_task to some random value, forcing to check the task's state first as a way to verify that the data is not random. gdb/ChangeLog: * ada-lang.c (read_atcb): Only set task_info->called_task if task_info->state == Entry_Caller_Sleep. (print_ada_task_info): Do not check task_info->state before checking task_info->called_task. (info_task): Likewise. commit 07deea26b5c3dfefe50dff74925e903b826acf22 Author: Joel Brobecker Date: Wed Nov 7 16:03:38 2018 -0500 ada-tasks.c::read_atcb: start from a cleared ada_task_info result The purpose of this patch is not to fix a bug per se, but rather to robustify this function to make sure it never returns a struct ada_task_info where some of the fields are left uninitialized. Reading the current implementation, it attempts to methodically set them all one by one: but it's not excluded that a future change might miss something. A memset is cheap and make sure that this function returns repeatable results. This in turns allows us to remove some assignments which have become redundant. gdb/ChangeLog: * ada-tasks.c (read_atcb): Clear task_info before computing the value of each of its fields. commit d3def5d73eb9d8295ca7b11d130b17a815151951 Author: Masatake Yamato Date: Wed Nov 7 18:07:36 2018 +0000 Enhance objdump's --disassemble switch so that it can now take an optional parameter, specifying the starting symbol for disassembly. Disassembly will continue from this symbol up to the next symbol. * objdump.c (long_options): Have the --disassemble option take an optional argument. (usage): Add description for the `symbol' argument to the --disassemble option. (disasm_sym): New file private variable. (struct objdump_disasm_info): New field `symbol'. (disassemble_section): Introduce `do_print' local variable to control whether objdump displays the result of disassembling for a symbol or not. (main): Set `symbol' file private variable if the option argument for the --disassemble option is given. * doc/binutils.texi (objdump): Add description for the option argument. * NEWS: Mention the new feature. * testsuite/binutils-all/objdump.exp: Add tests of the -d and --disassemble= options. * testsuite/binutils-all/bintest.s: Add more symbols and code. * testsuite/binutils-all/readelf.s: Update expected output. * testsuite/binutils-all/readelf.ss-64: Likewise. * testsuite/binutils-all/readelf.ss-mips: Likewise. * testsuite/binutils-all/readelf.ss-tmips: Likewise. commit 0661ae2e5324719f7850e81fc1da9f6505361ae4 Author: Nick Clifton Date: Wed Nov 7 16:09:27 2018 +0000 Add updated French and Portuguese translations. gas * po/fr.po: Updated French translation. bfd * po/fr.po: Updated French translation. * po/pt.po: Updated Portuguese translation. binutils* po/pt.po: Updated Portuguese translation. commit fc7b364aba41819a5d74ae0ac69f050af282d057 Author: Roman Bolshakov Date: Wed Nov 7 15:20:22 2018 +0000 Add support for new load commands added by Apple to the MACH-O file format. bfd * mach-o.h: Add new enums for BFD_MACH_O_PLATFORM_MACOS, BFD_MACH_O_PLATFORM_IOS, BFD_MACH_O_PLATFORM_TVOS, BFD_MACH_O_PLATFORM_WATCHOS, BFD_MACH_O_PLATFORM_BRIDGEOS, BFD_MACH_O_TOOL_CLANG, BFD_MACH_O_TOOL_SWIFT, BFD_MACH_O_TOOL_LD. (struct bfd_mach_o_note_command): New. (struct bfd_mach_o_build_version_tool): New. (struct bfd_mach_o_build_version_command): New. (bfd_mach_o_read_version_min): Don't split version into a few fields. Rename reserved to sdk. * mach-o.c (bfd_mach_o_read_version_min): Don't split version into a few fields. Rename reserved to sdk. (bfd_mach_o_read_command): Handle LC_VERSION_MIN_TVOS, LC_NOTE, LC_BUILD_VERSION. (bfd_mach_o_read_note): New. (bfd_mach_o_read_build_version): New. PR 23728 binutils* od-macho.c (printf_version): New. (dump_load_command): Use it to print version. Print sdk version. Print version info for watchOS and tvOS. Print LC_NOTE, LC_BUILD_VERSION. (dump_buld_version): New. (bfd_mach_o_platform_name): New (bfd_mach_o_tool_name): New * mach-o/external.h (mach_o_nversion_min_command_external): Rename reserved to sdk. (mach_o_note_command_external): New. (mach_o_build_version_command_external): New. * mach-o/loader.h (BFD_MACH_O_LC_VERSION_MIN_TVOS): Define. (BFD_MACH_O_LC_NOTE): Define. commit 35ee2dc2e4de8b1ae73f420d5db3375f92300b70 Author: Andrew Burgess Date: Tue Nov 6 19:55:21 2018 +0000 gdb: Guard against NULL dereference in dwarf2_init_integer_type In this commit: commit eb77c9df9f6d2f7aa644a170280fe31ce080f887 Date: Thu Oct 18 14:04:27 2018 +0100 gdb: Handle ICC's unexpected void return type A potential dereference of a NULL pointer was introduced if a DW_TAG_base_type is missing a DW_AT_name attribute. I have taken this opportunity to fix a slight confusion that existed in the test also added in the above commit, the test had two C variables, declared like this: int var_a = 5; void *var_ptr = &var_a; However, the fake DWARF in the test script declared them like this: void var_a = 5; void *var_ptr = &var_a; This wasn't a problem as the test never uses 'var_a' directly, this only exists so 'var_ptr' can be initialised. However, it seemed worth fixing. I've also added a test for a DW_TAG_base_type with a missing DW_AT_name, as clearly there's not test currently that covers this (the original patch tested cleanly). I can confirm that the new test causes GDB to crash before this patch, and passes with this patch. gdb/ChangeLog: * dwarf2read.c (dwarf2_init_integer_type): Check for name being NULL before dereferencing it. gdb/testsuite/ChangeLog: * gdb.dwarf2/void-type.exp: Rename types, and make var_a an 'int'. * gdb.dwarf2/missing-type-name.exp: New file. commit 42d4c301c45df41d1c724b7b86f8683a875c010a Author: Alan Modra Date: Wed Nov 7 21:53:21 2018 +1030 Regen bfd/configure * configure: Regenerate. commit 8d3c78e473c2af54c8117808f2459a408f9f6327 Author: Yoshinori Sato Date: Wed Nov 7 17:16:56 2018 +0900 rx: Add target rx-*-linux. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 38 + bfd/ChangeLog | 4892 +----- bfd/ChangeLog-2018 | 4949 +++++ bfd/MAINTAINERS | 2 +- bfd/Makefile.am | 8 +- bfd/Makefile.in | 14 +- bfd/PORTING | 2 +- bfd/README | 2 +- bfd/TODO | 2 +- bfd/acinclude.m4 | 2 +- bfd/aix386-core.c | 2 +- bfd/aix5ppc-core.c | 2 +- bfd/aout-cris.c | 2 +- bfd/aout-ns32k.c | 2 +- bfd/aout-target.h | 2 +- bfd/aout-tic30.c | 2 +- bfd/aout32.c | 2 +- bfd/aout64.c | 2 +- bfd/aoutx.h | 42 +- bfd/arc-got.h | 68 +- bfd/arc-plt.def | 2 +- bfd/arc-plt.h | 4 +- bfd/archive.c | 19 +- bfd/archive64.c | 12 +- bfd/archures.c | 4 +- bfd/bfd-in.h | 41 +- bfd/bfd-in2.h | 52 +- bfd/bfd.c | 22 +- bfd/bfd.m4 | 2 +- bfd/bfdio.c | 2 +- bfd/bfdwin.c | 2 +- bfd/binary.c | 2 +- bfd/cache.c | 3 +- bfd/cf-i386lynx.c | 2 +- bfd/cisco-core.c | 2 +- bfd/coff-alpha.c | 2 +- bfd/coff-arm.c | 2 +- bfd/coff-bfd.c | 2 +- bfd/coff-bfd.h | 2 +- bfd/coff-go32.c | 2 +- bfd/coff-i386.c | 2 +- bfd/coff-ia64.c | 2 +- bfd/coff-mcore.c | 2 +- bfd/coff-mips.c | 2 +- bfd/coff-ppc.c | 2 +- bfd/coff-rs6000.c | 75 +- bfd/coff-sh.c | 2 +- bfd/coff-stgo32.c | 2 +- bfd/coff-tic30.c | 2 +- bfd/coff-tic4x.c | 2 +- bfd/coff-tic54x.c | 2 +- bfd/coff-tic80.c | 2 +- bfd/coff-x86_64.c | 2 +- bfd/coff-z80.c | 2 +- bfd/coff-z8k.c | 2 +- bfd/coff64-rs6000.c | 19 +- bfd/coffcode.h | 53 +- bfd/coffgen.c | 18 +- bfd/cofflink.c | 8 +- bfd/coffswap.h | 2 +- bfd/compress.c | 39 +- bfd/config.bfd | 10 +- bfd/configure | 70 +- bfd/configure.ac | 10 +- bfd/configure.com | 2 +- bfd/configure.host | 2 +- bfd/corefile.c | 2 +- bfd/cpu-aarch64.c | 2 +- bfd/cpu-alpha.c | 2 +- bfd/cpu-arc.c | 2 +- bfd/cpu-arm.c | 162 +- bfd/cpu-avr.c | 2 +- bfd/cpu-bfin.c | 2 +- bfd/cpu-cr16.c | 2 +- bfd/cpu-cr16c.c | 2 +- bfd/cpu-cris.c | 2 +- bfd/cpu-crx.c | 2 +- bfd/cpu-csky.c | 2 +- bfd/cpu-d10v.c | 2 +- bfd/cpu-d30v.c | 2 +- bfd/cpu-dlx.c | 2 +- bfd/cpu-epiphany.c | 2 +- bfd/cpu-fr30.c | 2 +- bfd/cpu-frv.c | 2 +- bfd/cpu-ft32.c | 2 +- bfd/cpu-h8300.c | 2 +- bfd/cpu-hppa.c | 2 +- bfd/cpu-i386.c | 2 +- bfd/cpu-ia64-opc.c | 2 +- bfd/cpu-ia64.c | 2 +- bfd/cpu-iamcu.c | 2 +- bfd/cpu-ip2k.c | 2 +- bfd/cpu-iq2000.c | 2 +- bfd/cpu-k1om.c | 2 +- bfd/cpu-l1om.c | 2 +- bfd/cpu-lm32.c | 2 +- bfd/cpu-m10200.c | 2 +- bfd/cpu-m10300.c | 2 +- bfd/cpu-m32c.c | 2 +- bfd/cpu-m32r.c | 2 +- bfd/cpu-m68hc11.c | 2 +- bfd/cpu-m68hc12.c | 2 +- bfd/cpu-m68k.c | 2 +- bfd/cpu-m9s12x.c | 2 +- bfd/cpu-m9s12xg.c | 2 +- bfd/cpu-mcore.c | 2 +- bfd/cpu-mep.c | 2 +- bfd/cpu-metag.c | 2 +- bfd/cpu-microblaze.c | 2 +- bfd/cpu-mips.c | 2 +- bfd/cpu-mmix.c | 2 +- bfd/cpu-moxie.c | 2 +- bfd/cpu-msp430.c | 2 +- bfd/cpu-mt.c | 2 +- bfd/cpu-nds32.c | 2 +- bfd/cpu-nfp.c | 2 +- bfd/cpu-nios2.c | 2 +- bfd/cpu-ns32k.c | 2 +- bfd/cpu-or1k.c | 2 +- bfd/cpu-pdp11.c | 2 +- bfd/cpu-pj.c | 2 +- bfd/cpu-plugin.c | 2 +- bfd/cpu-powerpc.c | 2 +- bfd/cpu-pru.c | 2 +- bfd/cpu-riscv.c | 2 +- bfd/cpu-rl78.c | 2 +- bfd/cpu-rs6000.c | 2 +- bfd/cpu-rx.c | 32 +- bfd/cpu-s12z.c | 2 +- bfd/cpu-s390.c | 2 +- bfd/cpu-score.c | 2 +- bfd/cpu-sh.c | 2 +- bfd/cpu-sparc.c | 2 +- bfd/cpu-spu.c | 2 +- bfd/cpu-tic30.c | 2 +- bfd/cpu-tic4x.c | 2 +- bfd/cpu-tic54x.c | 2 +- bfd/cpu-tic6x.c | 2 +- bfd/cpu-tic80.c | 2 +- bfd/cpu-tilegx.c | 2 +- bfd/cpu-tilepro.c | 2 +- bfd/cpu-v850.c | 2 +- bfd/cpu-v850_rh850.c | 2 +- bfd/cpu-vax.c | 2 +- bfd/cpu-visium.c | 2 +- bfd/cpu-wasm32.c | 2 +- bfd/cpu-xc16x.c | 2 +- bfd/cpu-xgate.c | 2 +- bfd/cpu-xstormy16.c | 2 +- bfd/cpu-xtensa.c | 2 +- bfd/cpu-z80.c | 2 +- bfd/cpu-z8k.c | 2 +- bfd/development.sh | 2 +- bfd/doc/Makefile.am | 2 +- bfd/doc/Makefile.in | 2 +- bfd/doc/bfd.texi | 6 +- bfd/doc/bfdint.texi | 4 +- bfd/doc/bfdsumm.texi | 2 +- bfd/doc/chew.c | 2 +- bfd/doc/makefile.vms | 2 +- bfd/dwarf1.c | 2 +- bfd/dwarf2.c | 13 +- bfd/ecoff.c | 2 +- bfd/ecofflink.c | 2 +- bfd/ecoffswap.h | 2 +- bfd/elf-attrs.c | 4 +- bfd/elf-bfd.h | 6 +- bfd/elf-eh-frame.c | 16 +- bfd/elf-hppa.h | 2 +- bfd/elf-ifunc.c | 2 +- bfd/elf-linux-core.h | 2 +- bfd/elf-m10200.c | 2 +- bfd/elf-m10300.c | 2 +- bfd/elf-nacl.c | 2 +- bfd/elf-nacl.h | 4 +- bfd/elf-properties.c | 185 +- bfd/elf-s390-common.c | 2 +- bfd/elf-s390.h | 2 +- bfd/elf-strtab.c | 2 +- bfd/elf-vxworks.c | 2 +- bfd/elf-vxworks.h | 2 +- bfd/elf.c | 143 +- bfd/elf32-am33lin.c | 2 +- bfd/elf32-arc.c | 131 +- bfd/elf32-arm.c | 5 +- bfd/elf32-avr.c | 3 +- bfd/elf32-avr.h | 2 +- bfd/elf32-bfin.c | 2 +- bfd/elf32-cr16.c | 2 +- bfd/elf32-cr16c.c | 2 +- bfd/elf32-cris.c | 2 +- bfd/elf32-crx.c | 2 +- bfd/elf32-csky.c | 2 +- bfd/elf32-d10v.c | 2 +- bfd/elf32-d30v.c | 2 +- bfd/elf32-dlx.c | 2 +- bfd/elf32-dlx.h | 2 +- bfd/elf32-epiphany.c | 2 +- bfd/elf32-fr30.c | 2 +- bfd/elf32-frv.c | 2 +- bfd/elf32-ft32.c | 4 +- bfd/elf32-gen.c | 2 +- bfd/elf32-h8300.c | 2 +- bfd/elf32-hppa.c | 2 +- bfd/elf32-hppa.h | 2 +- bfd/elf32-i386.c | 25 +- bfd/elf32-ip2k.c | 2 +- bfd/elf32-iq2000.c | 2 +- bfd/elf32-lm32.c | 2 +- bfd/elf32-m32c.c | 2 +- bfd/elf32-m32r.c | 2 +- bfd/elf32-m68hc11.c | 2 +- bfd/elf32-m68hc12.c | 2 +- bfd/elf32-m68hc1x.c | 2 +- bfd/elf32-m68hc1x.h | 2 +- bfd/elf32-m68k.c | 2 +- bfd/elf32-mcore.c | 2 +- bfd/elf32-mep.c | 2 +- bfd/elf32-metag.c | 2 +- bfd/elf32-metag.h | 2 +- bfd/elf32-microblaze.c | 2 +- bfd/elf32-mips.c | 2 +- bfd/elf32-moxie.c | 4 +- bfd/elf32-msp430.c | 8 +- bfd/elf32-mt.c | 2 +- bfd/elf32-nds32.c | 6 +- bfd/elf32-nds32.h | 2 +- bfd/elf32-nios2.c | 36 +- bfd/elf32-nios2.h | 2 +- bfd/elf32-or1k.c | 57 +- bfd/elf32-pj.c | 2 +- bfd/elf32-ppc.c | 48 +- bfd/elf32-ppc.h | 2 +- bfd/elf32-pru.c | 2 +- bfd/elf32-rl78.c | 3 +- bfd/elf32-rx.c | 33 +- bfd/elf32-rx.h | 2 +- bfd/elf32-s12z.c | 15 +- bfd/elf32-s390.c | 8 +- bfd/elf32-score.c | 2 +- bfd/elf32-score.h | 2 +- bfd/elf32-score7.c | 2 +- bfd/elf32-sh-relocs.h | 2 +- bfd/elf32-sh.c | 8 +- bfd/elf32-sparc.c | 35 +- bfd/elf32-spu.c | 2 +- bfd/elf32-spu.h | 2 +- bfd/elf32-tic6x.c | 2 +- bfd/elf32-tic6x.h | 2 +- bfd/elf32-tilegx.c | 2 +- bfd/elf32-tilegx.h | 2 +- bfd/elf32-tilepro.c | 2 +- bfd/elf32-tilepro.h | 2 +- bfd/elf32-v850.c | 2 +- bfd/elf32-vax.c | 2 +- bfd/elf32-visium.c | 15 +- bfd/elf32-wasm32.c | 3 +- bfd/elf32-xc16x.c | 13 +- bfd/elf32-xgate.c | 2 +- bfd/elf32-xstormy16.c | 2 +- bfd/elf32-xtensa.c | 71 +- bfd/elf32.c | 2 +- bfd/elf64-alpha.c | 2 +- bfd/elf64-gen.c | 2 +- bfd/elf64-hppa.c | 2 +- bfd/elf64-hppa.h | 2 +- bfd/elf64-ia64-vms.c | 2 +- bfd/elf64-mips.c | 2 +- bfd/elf64-mmix.c | 2 +- bfd/elf64-nfp.c | 3 +- bfd/elf64-ppc.c | 24 +- bfd/elf64-ppc.h | 2 +- bfd/elf64-s390.c | 8 +- bfd/elf64-sparc.c | 53 +- bfd/elf64-tilegx.c | 2 +- bfd/elf64-tilegx.h | 2 +- bfd/elf64-x86-64.c | 326 +- bfd/elf64.c | 2 +- bfd/elfcode.h | 46 +- bfd/elfcore.h | 2 +- bfd/elflink.c | 61 +- bfd/elfn32-mips.c | 2 +- bfd/elfnn-aarch64.c | 510 +- bfd/elfnn-ia64.c | 3 +- bfd/elfnn-riscv.c | 476 +- bfd/elfxx-aarch64.c | 224 +- bfd/elfxx-aarch64.h | 29 +- bfd/elfxx-ia64.c | 3 +- bfd/elfxx-ia64.h | 2 +- bfd/elfxx-mips.c | 17 +- bfd/elfxx-mips.h | 2 +- bfd/elfxx-riscv.c | 567 +- bfd/elfxx-riscv.h | 57 +- bfd/elfxx-sparc.c | 2 +- bfd/elfxx-sparc.h | 2 +- bfd/elfxx-target.h | 2 +- bfd/elfxx-tilegx.c | 2 +- bfd/elfxx-tilegx.h | 2 +- bfd/elfxx-x86.c | 72 +- bfd/elfxx-x86.h | 15 +- bfd/format.c | 2 +- bfd/gen-aout.c | 2 +- bfd/genlink.h | 2 +- bfd/hash.c | 2 +- bfd/host-aout.c | 2 +- bfd/hosts/alphalinux.h | 2 +- bfd/hosts/alphavms.h | 2 +- bfd/hosts/decstation.h | 2 +- bfd/hosts/dpx2.h | 2 +- bfd/hosts/i386bsd.h | 2 +- bfd/hosts/i386linux.h | 2 +- bfd/hosts/i386mach3.h | 2 +- bfd/hosts/i386sco.h | 2 +- bfd/hosts/m68klinux.h | 2 +- bfd/hosts/mipsbsd.h | 2 +- bfd/hosts/mipsmach3.h | 2 +- bfd/hosts/news-mips.h | 2 +- bfd/hosts/pc532mach.h | 2 +- bfd/hosts/riscos.h | 2 +- bfd/hosts/symmetry.h | 2 +- bfd/hosts/vaxbsd.h | 2 +- bfd/hosts/vaxlinux.h | 2 +- bfd/hosts/vaxult.h | 2 +- bfd/hosts/vaxult2.h | 2 +- bfd/hosts/x86-64linux.h | 2 +- bfd/hppabsd-core.c | 2 +- bfd/hpux-core.c | 2 +- bfd/i386aout.c | 2 +- bfd/i386bsd.c | 2 +- bfd/i386lynx.c | 2 +- bfd/i386msdos.c | 2 +- bfd/ihex.c | 24 +- bfd/init.c | 2 +- bfd/irix-core.c | 2 +- bfd/libaout.h | 2 +- bfd/libbfd-in.h | 2 +- bfd/libbfd.c | 10 +- bfd/libbfd.h | 3 +- bfd/libcoff-in.h | 2 +- bfd/libcoff.h | 2 +- bfd/libecoff.h | 2 +- bfd/libhppa.h | 2 +- bfd/libpei.h | 2 +- bfd/libxcoff.h | 2 +- bfd/linker.c | 4 +- bfd/lynx-core.c | 2 +- bfd/mach-o-aarch64.c | 4 +- bfd/mach-o-arm.c | 4 +- bfd/mach-o-i386.c | 4 +- bfd/mach-o-target.c | 2 +- bfd/mach-o-x86-64.c | 4 +- bfd/mach-o.c | 61 +- bfd/mach-o.h | 51 +- bfd/makefile.vms | 2 +- bfd/mep-relocs.pl | 2 +- bfd/merge.c | 54 +- bfd/mmo.c | 2 +- bfd/netbsd-core.c | 2 +- bfd/netbsd.h | 2 +- bfd/ns32k.h | 2 +- bfd/ns32knetbsd.c | 2 +- bfd/opncls.c | 2 +- bfd/osf-core.c | 2 +- bfd/pc532-mach.c | 2 +- bfd/pdp11.c | 52 +- bfd/pe-arm-wince.c | 2 +- bfd/pe-arm.c | 2 +- bfd/pe-i386.c | 2 +- bfd/pe-mcore.c | 2 +- bfd/pe-ppc.c | 2 +- bfd/pe-sh.c | 2 +- bfd/pe-x86_64.c | 2 +- bfd/peXXigen.c | 40 +- bfd/pef-traceback.h | 2 +- bfd/pef.c | 2 +- bfd/pef.h | 2 +- bfd/pei-arm-wince.c | 2 +- bfd/pei-arm.c | 2 +- bfd/pei-i386.c | 2 +- bfd/pei-ia64.c | 2 +- bfd/pei-mcore.c | 2 +- bfd/pei-ppc.c | 2 +- bfd/pei-sh.c | 2 +- bfd/pei-x86_64.c | 11 +- bfd/peicode.h | 2 +- bfd/plugin.c | 2 +- bfd/plugin.h | 2 +- bfd/po/Make-in | 2 +- bfd/po/bfd.pot | 2932 ++-- bfd/po/fr.po | 8371 +++++---- bfd/po/pt.po | 2995 ++-- bfd/po/ru.po | 2991 ++-- bfd/po/uk.po | 2986 ++-- bfd/ppcboot.c | 2 +- bfd/ptrace-core.c | 2 +- bfd/reloc.c | 7 +- bfd/reloc16.c | 2 +- bfd/rs6000-core.c | 2 +- bfd/sco5-core.c | 2 +- bfd/section.c | 2 +- bfd/simple.c | 2 +- bfd/som.c | 2 +- bfd/som.h | 2 +- bfd/srec.c | 2 +- bfd/stab-syms.c | 2 +- bfd/stabs.c | 2 +- bfd/syms.c | 15 +- bfd/sysdep.h | 5 +- bfd/targets.c | 3 +- bfd/tekhex.c | 2 +- bfd/trad-core.c | 2 +- bfd/vax1knetbsd.c | 2 +- bfd/vaxnetbsd.c | 2 +- bfd/verilog.c | 2 +- bfd/version.h | 2 +- bfd/version.m4 | 2 +- bfd/vms-alpha.c | 2 +- bfd/vms-lib.c | 2 +- bfd/vms-misc.c | 2 +- bfd/vms.h | 2 +- bfd/warning.m4 | 12 +- bfd/wasm-module.c | 4 +- bfd/wasm-module.h | 2 +- bfd/xcofflink.c | 2 +- bfd/xsym.c | 2 +- bfd/xsym.h | 2 +- bfd/xtensa-isa.c | 2 +- bfd/xtensa-modules.c | 2 +- binutils/BRANCHES | 3 +- binutils/ChangeLog | 1639 +-- binutils/ChangeLog-2018 | 1558 ++ binutils/MAINTAINERS | 9 +- binutils/Makefile.am | 2 +- binutils/Makefile.in | 2 +- binutils/NEWS | 37 +- binutils/README | 2 +- binutils/README-how-to-make-a-release | 221 +- binutils/addr2line.c | 21 +- binutils/ar.c | 2 +- binutils/arlex.l | 2 +- binutils/arparse.y | 2 +- binutils/arsup.c | 2 +- binutils/arsup.h | 2 +- binutils/bfdtest1.c | 2 +- binutils/bfdtest2.c | 2 +- binutils/bin2c.c | 2 +- binutils/binemul.c | 2 +- binutils/binemul.h | 2 +- binutils/bucomm.c | 2 +- binutils/bucomm.h | 2 +- binutils/budbg.h | 2 +- binutils/coffdump.c | 2 +- binutils/coffgrok.c | 2 +- binutils/coffgrok.h | 2 +- binutils/configure | 32 +- binutils/configure.ac | 2 +- binutils/configure.com | 2 +- binutils/configure.tgt | 2 +- binutils/cxxfilt.c | 65 +- binutils/debug.c | 2 +- binutils/debug.h | 2 +- binutils/deflex.l | 2 +- binutils/defparse.y | 2 +- binutils/dlltool.c | 2 +- binutils/dlltool.h | 2 +- binutils/dllwrap.c | 2 +- binutils/doc/Makefile.am | 2 +- binutils/doc/Makefile.in | 2 +- binutils/doc/binutils.texi | 150 +- binutils/doc/debug.options.texi | 11 +- binutils/dwarf-mode.el | 2 +- binutils/dwarf.c | 460 +- binutils/dwarf.h | 14 +- binutils/elfcomm.c | 2 +- binutils/elfcomm.h | 2 +- binutils/elfedit.c | 2 +- binutils/embedspu.sh | 2 +- binutils/emul_aix.c | 2 +- binutils/emul_vanilla.c | 2 +- binutils/filemode.c | 2 +- binutils/is-ranlib.c | 2 +- binutils/is-strip.c | 2 +- binutils/makefile.vms | 2 +- binutils/maybe-ranlib.c | 2 +- binutils/maybe-strip.c | 2 +- binutils/mclex.c | 2 +- binutils/mcparse.y | 2 +- binutils/nm.c | 38 +- binutils/not-ranlib.c | 2 +- binutils/not-strip.c | 2 +- binutils/objcopy.c | 32 +- binutils/objdump.c | 447 +- binutils/objdump.h | 2 +- binutils/od-elf32_avr.c | 2 +- binutils/od-macho.c | 123 +- binutils/od-xcoff.c | 2 +- binutils/po/Make-in | 2 +- binutils/po/bg.po | 3705 ++-- binutils/po/binutils.pot | 3414 ++-- binutils/po/fr.po | 3573 ++-- binutils/po/pt.po | 3551 ++-- binutils/po/sv.po | 3496 ++-- binutils/po/uk.po | 3535 ++-- binutils/prdbg.c | 8 +- binutils/ranlib.sh | 2 +- binutils/rclex.c | 2 +- binutils/rcparse.y | 2 +- binutils/rdcoff.c | 2 +- binutils/rddbg.c | 2 +- binutils/readelf.c | 480 +- binutils/rename.c | 2 +- binutils/resbin.c | 2 +- binutils/rescoff.c | 2 +- binutils/resrc.c | 2 +- binutils/resres.c | 2 +- binutils/sanity.sh | 2 +- binutils/size.c | 112 +- binutils/srconv.c | 2 +- binutils/stabs.c | 38 +- binutils/strings.c | 108 +- binutils/sysdep.h | 2 +- binutils/sysdump.c | 2 +- binutils/sysinfo.y | 2 +- binutils/syslex.l | 2 +- binutils/syslex_wrap.c | 2 +- .../testsuite/binutils-all/aarch64/aarch64.exp | 2 +- .../testsuite/binutils-all/aarch64/in-order-all.d | 38 + binutils/testsuite/binutils-all/aarch64/in-order.d | 28 + .../binutils-all/aarch64/out-of-order-all.d | 38 + .../testsuite/binutils-all/aarch64/out-of-order.T | 14 + .../testsuite/binutils-all/aarch64/out-of-order.d | 27 + .../testsuite/binutils-all/aarch64/out-of-order.s | 28 + binutils/testsuite/binutils-all/ar.exp | 2 +- binutils/testsuite/binutils-all/arc/objdump.exp | 2 +- binutils/testsuite/binutils-all/arm/in-order-all.d | 48 + binutils/testsuite/binutils-all/arm/in-order.d | 28 + binutils/testsuite/binutils-all/arm/objdump.exp | 16 +- .../testsuite/binutils-all/arm/out-of-order-all.d | 48 + binutils/testsuite/binutils-all/arm/out-of-order.T | 14 + binutils/testsuite/binutils-all/arm/out-of-order.d | 27 + binutils/testsuite/binutils-all/arm/out-of-order.s | 29 + binutils/testsuite/binutils-all/bfin/objdump.exp | 2 +- binutils/testsuite/binutils-all/bintest.s | 8 + binutils/testsuite/binutils-all/compress.exp | 2 +- binutils/testsuite/binutils-all/copy-6.d | 8 + binutils/testsuite/binutils-all/cxxfilt.exp | 44 + binutils/testsuite/binutils-all/debuglink.s | 3 +- binutils/testsuite/binutils-all/disasm.s | 24 + binutils/testsuite/binutils-all/dlltool.exp | 2 +- binutils/testsuite/binutils-all/dw2-1.S | 2 +- binutils/testsuite/binutils-all/dw2-2.S | 2 +- binutils/testsuite/binutils-all/dw2-3.S | 2 +- binutils/testsuite/binutils-all/dw2-3.rS | 2 +- binutils/testsuite/binutils-all/dw2-3.rt | 2 +- binutils/testsuite/binutils-all/dw2-compressed.S | 2 +- binutils/testsuite/binutils-all/dw2-ranges.S | 2 +- binutils/testsuite/binutils-all/dw5.S | 2 +- binutils/testsuite/binutils-all/dwarf-attributes.S | 2 +- binutils/testsuite/binutils-all/dwo.s | 2 +- binutils/testsuite/binutils-all/elfedit.exp | 2 +- binutils/testsuite/binutils-all/hppa/objdump.exp | 2 +- .../testsuite/binutils-all/i386/compressed-1a.d | 2 +- binutils/testsuite/binutils-all/i386/empty.d | 2 +- binutils/testsuite/binutils-all/i386/i386.exp | 2 +- binutils/testsuite/binutils-all/i386/pr21231b.s | 2 +- binutils/testsuite/binutils-all/linkdebug.s | 3 +- binutils/testsuite/binutils-all/m68k/objdump.exp | 2 +- binutils/testsuite/binutils-all/mips/mips.exp | 2 +- binutils/testsuite/binutils-all/nfp/objdump.exp | 2 +- binutils/testsuite/binutils-all/nfp/test1.d | 32 +- .../testsuite/binutils-all/nfp/test1_nfp6000.nffw | Bin 9880 -> 10128 bytes binutils/testsuite/binutils-all/nm.exp | 2 +- binutils/testsuite/binutils-all/objcopy.exp | 4 +- binutils/testsuite/binutils-all/objdump.WK2 | 13 +- binutils/testsuite/binutils-all/objdump.WK3 | 17 + binutils/testsuite/binutils-all/objdump.exp | 184 +- binutils/testsuite/binutils-all/readelf.exp | 4 +- binutils/testsuite/binutils-all/readelf.k2 | 7 +- binutils/testsuite/binutils-all/readelf.s | 5 +- binutils/testsuite/binutils-all/readelf.ss | 12 +- binutils/testsuite/binutils-all/readelf.ss-64 | 1 + binutils/testsuite/binutils-all/readelf.ss-mips | 4 +- binutils/testsuite/binutils-all/readelf.ss-tmips | 4 +- binutils/testsuite/binutils-all/readelf.wKis | 25 + binutils/testsuite/binutils-all/size.exp | 22 +- binutils/testsuite/binutils-all/strings-1.bin | Bin 0 -> 31 bytes binutils/testsuite/binutils-all/strings.exp | 33 + binutils/testsuite/binutils-all/strip-3.d | 2 +- binutils/testsuite/binutils-all/update-section.exp | 2 +- binutils/testsuite/binutils-all/vax/objdump.exp | 2 +- binutils/testsuite/binutils-all/wasm32/wasm32.exp | 2 +- binutils/testsuite/binutils-all/windres/README | 2 +- binutils/testsuite/binutils-all/windres/msupdate | 2 +- .../testsuite/binutils-all/windres/windres.exp | 2 +- .../testsuite/binutils-all/x86-64/compressed-1a.d | 2 +- binutils/testsuite/binutils-all/x86-64/empty-x32.d | 2 +- binutils/testsuite/binutils-all/x86-64/empty.d | 2 +- binutils/testsuite/binutils-all/x86-64/objects.exp | 2 +- binutils/testsuite/binutils-all/x86-64/pr21231b.s | 2 +- binutils/testsuite/binutils-all/x86-64/x86-64.exp | 2 +- binutils/testsuite/config/default.exp | 14 +- binutils/testsuite/lib/binutils-common.exp | 698 +- binutils/testsuite/lib/utils-lib.exp | 2 +- binutils/unwind-ia64.c | 156 +- binutils/unwind-ia64.h | 2 +- binutils/version.c | 4 +- binutils/windint.h | 2 +- binutils/windmc.c | 2 +- binutils/windmc.h | 2 +- binutils/windres.c | 2 +- binutils/windres.h | 2 +- binutils/winduni.c | 2 +- binutils/winduni.h | 2 +- binutils/wrstabs.c | 2 +- config.guess | 116 +- config.sub | 1121 +- config/ChangeLog | 9 + config/iconv.m4 | 2 +- configure | 6 + configure.ac | 6 + cpu/ChangeLog | 4 + elfcpp/ChangeLog | 51 +- elfcpp/{ChangeLog => ChangeLog-2018} | 0 elfcpp/README | 2 +- elfcpp/aarch64.h | 2 +- elfcpp/arm.h | 2 +- elfcpp/dwarf.h | 2 +- elfcpp/elfcpp.h | 2 +- elfcpp/elfcpp_file.h | 2 +- elfcpp/elfcpp_internal.h | 2 +- elfcpp/elfcpp_swap.h | 2 +- elfcpp/i386.h | 2 +- elfcpp/mips.h | 2 +- elfcpp/powerpc.h | 2 +- elfcpp/s390.h | 2 +- elfcpp/sparc.h | 2 +- elfcpp/tilegx.h | 2 +- elfcpp/x86_64.h | 2 +- etc/add-log.el | 2 +- etc/texi2pod.pl | 2 +- etc/update-copyright.py | 2 +- gas/CONTRIBUTORS | 2 +- gas/ChangeLog | 5998 +------ gas/ChangeLog-2018 | 5886 ++++++ gas/MAINTAINERS | 2 +- gas/Makefile.am | 2 +- gas/Makefile.in | 2 +- gas/NEWS | 9 +- gas/README | 2 +- gas/app.c | 2 +- gas/as.c | 10 +- gas/as.h | 2 +- gas/asintl.h | 2 +- gas/atof-generic.c | 2 +- gas/bignum.h | 2 +- gas/bit_fix.h | 2 +- gas/cgen.c | 2 +- gas/cgen.h | 2 +- gas/compress-debug.c | 2 +- gas/compress-debug.h | 2 +- gas/cond.c | 2 +- gas/config.in | 6 + gas/config/atof-ieee.c | 2 +- gas/config/atof-vax.c | 2 +- gas/config/bfin-aux.h | 2 +- gas/config/bfin-defs.h | 2 +- gas/config/bfin-lex-wrapper.c | 2 +- gas/config/bfin-lex.l | 2 +- gas/config/bfin-parse.y | 2 +- gas/config/e-crisaout.c | 2 +- gas/config/e-criself.c | 2 +- gas/config/e-i386aout.c | 2 +- gas/config/e-i386coff.c | 2 +- gas/config/e-i386elf.c | 2 +- gas/config/e-mipself.c | 2 +- gas/config/itbl-mips.h | 2 +- gas/config/m68k-parse.h | 2 +- gas/config/m68k-parse.y | 13 +- gas/config/obj-aout.c | 34 +- gas/config/obj-aout.h | 2 +- gas/config/obj-coff-seh.c | 2 +- gas/config/obj-coff-seh.h | 2 +- gas/config/obj-coff.c | 4 +- gas/config/obj-coff.h | 2 +- gas/config/obj-ecoff.c | 2 +- gas/config/obj-ecoff.h | 2 +- gas/config/obj-elf.c | 4 +- gas/config/obj-elf.h | 2 +- gas/config/obj-evax.c | 2 +- gas/config/obj-evax.h | 2 +- gas/config/obj-fdpicelf.c | 2 +- gas/config/obj-fdpicelf.h | 2 +- gas/config/obj-macho.c | 2 +- gas/config/obj-macho.h | 2 +- gas/config/obj-multi.c | 2 +- gas/config/obj-multi.h | 2 +- gas/config/obj-som.c | 4 +- gas/config/obj-som.h | 2 +- gas/config/rl78-defs.h | 2 +- gas/config/rl78-parse.y | 2 +- gas/config/rx-defs.h | 8 +- gas/config/rx-parse.y | 327 +- gas/config/tc-aarch64.c | 41 +- gas/config/tc-aarch64.h | 42 +- gas/config/tc-alpha.c | 8 +- gas/config/tc-alpha.h | 2 +- gas/config/tc-arc.c | 2 +- gas/config/tc-arc.h | 2 +- gas/config/tc-arm.c | 397 +- gas/config/tc-arm.h | 5 +- gas/config/tc-avr.c | 2 +- gas/config/tc-avr.h | 4 +- gas/config/tc-bfin.c | 2 +- gas/config/tc-bfin.h | 2 +- gas/config/tc-cr16.c | 2 +- gas/config/tc-cr16.h | 2 +- gas/config/tc-cris.c | 2 +- gas/config/tc-cris.h | 2 +- gas/config/tc-crx.c | 2 +- gas/config/tc-crx.h | 2 +- gas/config/tc-csky.c | 4 +- gas/config/tc-csky.h | 2 +- gas/config/tc-d10v.c | 5 +- gas/config/tc-d10v.h | 2 +- gas/config/tc-d30v.c | 36 +- gas/config/tc-d30v.h | 2 +- gas/config/tc-dlx.c | 2 +- gas/config/tc-dlx.h | 2 +- gas/config/tc-epiphany.c | 2 +- gas/config/tc-epiphany.h | 2 +- gas/config/tc-fr30.c | 2 +- gas/config/tc-fr30.h | 2 +- gas/config/tc-frv.c | 2 +- gas/config/tc-frv.h | 2 +- gas/config/tc-ft32.c | 2 +- gas/config/tc-ft32.h | 2 +- gas/config/tc-generic.c | 2 +- gas/config/tc-generic.h | 2 +- gas/config/tc-h8300.c | 2 +- gas/config/tc-h8300.h | 2 +- gas/config/tc-hppa.c | 2 +- gas/config/tc-hppa.h | 2 +- gas/config/tc-i386-intel.c | 2 +- gas/config/tc-i386.c | 197 +- gas/config/tc-i386.h | 12 +- gas/config/tc-ia64.c | 2 +- gas/config/tc-ia64.h | 4 +- gas/config/tc-ip2k.c | 2 +- gas/config/tc-ip2k.h | 2 +- gas/config/tc-iq2000.c | 2 +- gas/config/tc-iq2000.h | 2 +- gas/config/tc-lm32.c | 2 +- gas/config/tc-lm32.h | 2 +- gas/config/tc-m32c.c | 2 +- gas/config/tc-m32c.h | 2 +- gas/config/tc-m32r.c | 2 +- gas/config/tc-m32r.h | 2 +- gas/config/tc-m68851.h | 2 +- gas/config/tc-m68hc11.c | 2 +- gas/config/tc-m68hc11.h | 2 +- gas/config/tc-m68k.c | 2 +- gas/config/tc-m68k.h | 2 +- gas/config/tc-mcore.c | 2 +- gas/config/tc-mcore.h | 2 +- gas/config/tc-mep.c | 2 +- gas/config/tc-mep.h | 2 +- gas/config/tc-metag.c | 2 +- gas/config/tc-metag.h | 2 +- gas/config/tc-microblaze.c | 2 +- gas/config/tc-microblaze.h | 2 +- gas/config/tc-mips.c | 288 +- gas/config/tc-mips.h | 2 +- gas/config/tc-mmix.c | 2 +- gas/config/tc-mmix.h | 4 +- gas/config/tc-mn10200.c | 2 +- gas/config/tc-mn10200.h | 2 +- gas/config/tc-mn10300.c | 2 +- gas/config/tc-mn10300.h | 2 +- gas/config/tc-moxie.c | 2 +- gas/config/tc-moxie.h | 2 +- gas/config/tc-msp430.c | 298 +- gas/config/tc-msp430.h | 2 +- gas/config/tc-mt.c | 2 +- gas/config/tc-mt.h | 2 +- gas/config/tc-nds32.c | 2 +- gas/config/tc-nds32.h | 4 +- gas/config/tc-nios2.c | 2 +- gas/config/tc-nios2.h | 2 +- gas/config/tc-ns32k.c | 2 +- gas/config/tc-ns32k.h | 4 +- gas/config/tc-or1k.c | 2 +- gas/config/tc-or1k.h | 2 +- gas/config/tc-pdp11.c | 6 +- gas/config/tc-pdp11.h | 2 +- gas/config/tc-pj.c | 2 +- gas/config/tc-pj.h | 2 +- gas/config/tc-ppc.c | 444 +- gas/config/tc-ppc.h | 2 +- gas/config/tc-pru.c | 2 +- gas/config/tc-pru.h | 2 +- gas/config/tc-riscv.c | 353 +- gas/config/tc-riscv.h | 12 +- gas/config/tc-rl78.c | 2 +- gas/config/tc-rl78.h | 4 +- gas/config/tc-rx.c | 59 +- gas/config/tc-rx.h | 8 +- gas/config/tc-s12z.c | 236 +- gas/config/tc-s12z.h | 2 +- gas/config/tc-s390.c | 51 +- gas/config/tc-s390.h | 2 +- gas/config/tc-score.c | 2 +- gas/config/tc-score.h | 4 +- gas/config/tc-score7.c | 2 +- gas/config/tc-sh.c | 2 +- gas/config/tc-sh.h | 2 +- gas/config/tc-sparc.c | 2 +- gas/config/tc-sparc.h | 2 +- gas/config/tc-spu.c | 2 +- gas/config/tc-spu.h | 2 +- gas/config/tc-tic30.c | 2 +- gas/config/tc-tic30.h | 2 +- gas/config/tc-tic4x.c | 2 +- gas/config/tc-tic4x.h | 2 +- gas/config/tc-tic54x.c | 2 +- gas/config/tc-tic54x.h | 4 +- gas/config/tc-tic6x.c | 2 +- gas/config/tc-tic6x.h | 4 +- gas/config/tc-tilegx.c | 2 +- gas/config/tc-tilegx.h | 2 +- gas/config/tc-tilepro.c | 2 +- gas/config/tc-tilepro.h | 2 +- gas/config/tc-v850.c | 2 +- gas/config/tc-v850.h | 2 +- gas/config/tc-vax.c | 2 +- gas/config/tc-vax.h | 2 +- gas/config/tc-visium.c | 6 +- gas/config/tc-visium.h | 2 +- gas/config/tc-wasm32.c | 2 +- gas/config/tc-wasm32.h | 2 +- gas/config/tc-xc16x.c | 2 +- gas/config/tc-xc16x.h | 2 +- gas/config/tc-xgate.c | 2 +- gas/config/tc-xgate.h | 2 +- gas/config/tc-xstormy16.c | 2 +- gas/config/tc-xstormy16.h | 2 +- gas/config/tc-xtensa.c | 8 +- gas/config/tc-xtensa.h | 4 +- gas/config/tc-z80.c | 2 +- gas/config/tc-z80.h | 2 +- gas/config/tc-z8k.c | 2 +- gas/config/tc-z8k.h | 2 +- gas/config/te-386bsd.h | 2 +- gas/config/te-aix.h | 2 +- gas/config/te-aix5.h | 2 +- gas/config/te-armeabi.h | 2 +- gas/config/te-armfbsdeabi.h | 2 +- gas/config/te-armfbsdvfp.h | 2 +- gas/config/te-armlinuxeabi.h | 2 +- gas/config/te-csky_abiv1.h | 2 +- gas/config/te-csky_abiv1_linux.h | 2 +- gas/config/te-csky_abiv2.h | 2 +- gas/config/te-csky_abiv2_linux.h | 2 +- gas/config/te-dragonfly.h | 2 +- gas/config/te-freebsd.h | 2 +- gas/config/te-generic.h | 2 +- gas/config/te-gnu.h | 2 +- gas/config/te-go32.h | 2 +- gas/config/te-hppa.h | 2 +- gas/config/te-hppa64.h | 2 +- gas/config/te-hppalinux64.h | 2 +- gas/config/te-hpux.h | 2 +- gas/config/te-ia64aix.h | 2 +- gas/config/te-interix.h | 2 +- gas/config/te-irix.h | 2 +- gas/config/te-linux.h | 2 +- gas/config/te-lynx.h | 2 +- gas/config/te-macos.h | 2 +- gas/config/te-nacl.h | 2 +- gas/config/te-nbsd.h | 2 +- gas/config/te-nbsd532.h | 2 +- gas/config/te-pc532mach.h | 2 +- gas/config/te-pe.h | 2 +- gas/config/te-pep.h | 2 +- gas/config/te-solaris.h | 2 +- gas/config/te-svr4.h | 2 +- gas/config/te-symbian.h | 2 +- gas/config/te-tmips.h | 2 +- gas/config/te-uclinux.h | 2 +- gas/config/te-vms.c | 2 +- gas/config/te-vms.h | 2 +- gas/config/te-vxworks.h | 2 +- gas/config/te-wince-pe.h | 2 +- gas/config/vax-inst.h | 2 +- gas/config/xtensa-istack.h | 2 +- gas/config/xtensa-relax.c | 2 +- gas/config/xtensa-relax.h | 2 +- gas/configure | 94 +- gas/configure.ac | 52 +- gas/configure.com | 2 +- gas/configure.tgt | 4 +- gas/debug.c | 2 +- gas/depend.c | 2 +- gas/doc/Makefile.am | 2 +- gas/doc/Makefile.in | 2 +- gas/doc/all.texi | 2 +- gas/doc/as.texi | 15 +- gas/doc/c-aarch64.texi | 15 +- gas/doc/c-alpha.texi | 2 +- gas/doc/c-arc.texi | 2 +- gas/doc/c-arm.texi | 171 +- gas/doc/c-avr.texi | 2 +- gas/doc/c-bfin.texi | 2 +- gas/doc/c-cr16.texi | 2 +- gas/doc/c-cris.texi | 2 +- gas/doc/c-csky.texi | 2 +- gas/doc/c-d10v.texi | 2 +- gas/doc/c-d30v.texi | 2 +- gas/doc/c-epiphany.texi | 2 +- gas/doc/c-h8300.texi | 2 +- gas/doc/c-hppa.texi | 2 +- gas/doc/c-i386.texi | 14 +- gas/doc/c-ia64.texi | 2 +- gas/doc/c-ip2k.texi | 2 +- gas/doc/c-lm32.texi | 2 +- gas/doc/c-m32c.texi | 2 +- gas/doc/c-m32r.texi | 2 +- gas/doc/c-m68hc11.texi | 2 +- gas/doc/c-m68k.texi | 2 +- gas/doc/c-metag.texi | 2 +- gas/doc/c-microblaze.texi | 2 +- gas/doc/c-mips.texi | 17 +- gas/doc/c-mmix.texi | 2 +- gas/doc/c-msp430.texi | 2 +- gas/doc/c-mt.texi | 2 +- gas/doc/c-nds32.texi | 2 +- gas/doc/c-nios2.texi | 2 +- gas/doc/c-ns32k.texi | 2 +- gas/doc/c-or1k.texi | 2 +- gas/doc/c-pdp11.texi | 2 +- gas/doc/c-pj.texi | 2 +- gas/doc/c-ppc.texi | 2 +- gas/doc/c-pru.texi | 2 +- gas/doc/c-riscv.texi | 66 +- gas/doc/c-rl78.texi | 2 +- gas/doc/c-rx.texi | 10 +- gas/doc/c-s12z.texi | 2 +- gas/doc/c-s390.texi | 10 +- gas/doc/c-score.texi | 2 +- gas/doc/c-sh.texi | 2 +- gas/doc/c-sparc.texi | 2 +- gas/doc/c-tic54x.texi | 2 +- gas/doc/c-tic6x.texi | 2 +- gas/doc/c-tilegx.texi | 2 +- gas/doc/c-tilepro.texi | 2 +- gas/doc/c-v850.texi | 2 +- gas/doc/c-vax.texi | 2 +- gas/doc/c-visium.texi | 2 +- gas/doc/c-wasm32.texi | 2 +- gas/doc/c-xc16x.texi | 2 +- gas/doc/c-xgate.texi | 2 +- gas/doc/c-xstormy16.texi | 2 +- gas/doc/c-xtensa.texi | 2 +- gas/doc/c-z80.texi | 2 +- gas/doc/c-z8k.texi | 2 +- gas/doc/h8.texi | 2 +- gas/doc/internals.texi | 9 +- gas/dw2gencfi.c | 44 +- gas/dw2gencfi.h | 21 +- gas/dwarf2dbg.c | 55 +- gas/dwarf2dbg.h | 2 +- gas/ecoff.c | 2 +- gas/ecoff.h | 2 +- gas/ehopt.c | 2 +- gas/emul-target.h | 8 +- gas/emul.h | 3 +- gas/expr.c | 2 +- gas/expr.h | 2 +- gas/flonum-copy.c | 2 +- gas/flonum-konst.c | 2 +- gas/flonum-mult.c | 2 +- gas/flonum.h | 2 +- gas/frags.c | 4 +- gas/frags.h | 2 +- gas/hash.c | 2 +- gas/hash.h | 2 +- gas/input-file.c | 2 +- gas/input-file.h | 2 +- gas/input-scrub.c | 2 +- gas/itbl-lex-wrapper.c | 2 +- gas/itbl-lex.h | 2 +- gas/itbl-lex.l | 2 +- gas/itbl-ops.c | 2 +- gas/itbl-ops.h | 2 +- gas/itbl-parse.y | 2 +- gas/listing.c | 2 +- gas/listing.h | 2 +- gas/literal.c | 2 +- gas/macro.c | 13 +- gas/macro.h | 2 +- gas/makefile.vms | 2 +- gas/messages.c | 2 +- gas/obj.h | 2 +- gas/output-file.c | 2 +- gas/output-file.h | 2 +- gas/po/Make-in | 2 +- gas/po/fr.po | 8217 +++++---- gas/po/gas.pot | 5803 +++--- gas/po/ru.po | 5922 ++++--- gas/po/uk.po | 5904 ++++--- gas/read.c | 16 +- gas/read.h | 4 +- gas/remap.c | 2 +- gas/sb.c | 2 +- gas/sb.h | 2 +- gas/stabs.c | 81 +- gas/subsegs.c | 2 +- gas/subsegs.h | 2 +- gas/symbols.c | 38 +- gas/symbols.h | 5 +- gas/tc.h | 2 +- gas/testsuite/config/default.exp | 2 +- gas/testsuite/gas/aarch64/aarch64.exp | 2 +- gas/testsuite/gas/aarch64/addsub.s | 2 +- gas/testsuite/gas/aarch64/advsimd-across.s | 2 +- gas/testsuite/gas/aarch64/advsimd-misc.s | 2 +- gas/testsuite/gas/aarch64/advsisd-copy.s | 2 +- gas/testsuite/gas/aarch64/advsisd-misc.s | 2 +- gas/testsuite/gas/aarch64/alias.s | 2 +- gas/testsuite/gas/aarch64/armv8_5-a-memtag.d | 145 + gas/testsuite/gas/aarch64/armv8_5-a-memtag.s | 115 + gas/testsuite/gas/aarch64/bitfield-alias.s | 2 +- gas/testsuite/gas/aarch64/bitfield-bfm.s | 2 +- gas/testsuite/gas/aarch64/crc32.s | 2 +- gas/testsuite/gas/aarch64/crypto.s | 2 +- gas/testsuite/gas/aarch64/dotproduct.d | 1 + gas/testsuite/gas/aarch64/dotproduct_armv8_4.d | 10 - gas/testsuite/gas/aarch64/dotproduct_armv8_4.s | 2 - gas/testsuite/gas/aarch64/floatdp2.s | 2 +- gas/testsuite/gas/aarch64/fp-const0-parse.s | 2 +- gas/testsuite/gas/aarch64/fp_cvt_int.s | 2 +- gas/testsuite/gas/aarch64/illegal-dotproduct.d | 1 + gas/testsuite/gas/aarch64/illegal-lse.s | 2 +- gas/testsuite/gas/aarch64/illegal-memtag.d | 3 + gas/testsuite/gas/aarch64/illegal-memtag.l | 47 + gas/testsuite/gas/aarch64/illegal-memtag.s | 61 + gas/testsuite/gas/aarch64/illegal-sysreg-4.l | 39 + gas/testsuite/gas/aarch64/illegal.s | 2 +- gas/testsuite/gas/aarch64/ldst-exclusive.s | 2 +- gas/testsuite/gas/aarch64/ldst-rcpc-armv8_2.d | 21 - gas/testsuite/gas/aarch64/ldst-rcpc.d | 2 + gas/testsuite/gas/aarch64/ldst-reg-imm-post-ind.s | 2 +- gas/testsuite/gas/aarch64/ldst-reg-imm-pre-ind.s | 2 +- gas/testsuite/gas/aarch64/ldst-reg-pair.s | 2 +- gas/testsuite/gas/aarch64/ldst-reg-reg-offset.s | 2 +- gas/testsuite/gas/aarch64/ldst-reg-uns-imm.s | 2 +- gas/testsuite/gas/aarch64/ldst-reg-unscaled-imm.s | 2 +- gas/testsuite/gas/aarch64/lor.s | 2 +- gas/testsuite/gas/aarch64/lse-atomic.s | 2 +- gas/testsuite/gas/aarch64/msr.s | 2 +- gas/testsuite/gas/aarch64/neon-fp-cvt-int.s | 2 +- gas/testsuite/gas/aarch64/pac_ab_key.d | 54 + gas/testsuite/gas/aarch64/pac_ab_key.s | 31 + gas/testsuite/gas/aarch64/pan.s | 2 +- gas/testsuite/gas/aarch64/pr19721.d | 7 +- gas/testsuite/gas/aarch64/pr19721.s | 3 + gas/testsuite/gas/aarch64/rdma.s | 2 +- gas/testsuite/gas/aarch64/rm-simd-ext.s | 2 +- gas/testsuite/gas/aarch64/shifted.s | 2 +- gas/testsuite/gas/aarch64/sysreg-1.s | 2 +- gas/testsuite/gas/aarch64/sysreg-4.d | 39 +- gas/testsuite/gas/aarch64/sysreg-4.s | 49 + gas/testsuite/gas/aarch64/tls.s | 2 +- gas/testsuite/gas/aarch64/uao.s | 2 +- .../gas/aarch64/undefined_advsimd_armv8_3.d | 56 + .../gas/aarch64/undefined_advsimd_armv8_3.s | 70 + gas/testsuite/gas/aarch64/undefined_by_elem_sz_l.d | 40 + gas/testsuite/gas/aarch64/undefined_by_elem_sz_l.s | 55 + gas/testsuite/gas/aarch64/virthostext.s | 2 +- gas/testsuite/gas/all/eqv-dot.d | 2 +- gas/testsuite/gas/all/forward.d | 14 +- gas/testsuite/gas/all/gas.exp | 22 +- gas/testsuite/gas/all/itbl-test.c | 2 +- gas/testsuite/gas/all/pr23938.s | 2 + gas/testsuite/gas/all/test-example.c | 2 +- gas/testsuite/gas/all/test-gen.c | 2 +- gas/testsuite/gas/alpha/alpha.exp | 2 +- gas/testsuite/gas/arc/arc.exp | 2 +- gas/testsuite/gas/arc/warn.exp | 2 +- gas/testsuite/gas/arm/archv6t2-1-pe.d | 12 + gas/testsuite/gas/arm/archv6t2-1.d | 13 + gas/testsuite/gas/arm/archv6t2-1.s | 5 + gas/testsuite/gas/arm/archv6t2-2.d | 12 + gas/testsuite/gas/arm/arm.exp | 2 +- .../gas/arm/armv8-2-fp16-scalar-bad-ext.d | 4 + gas/testsuite/gas/arm/armv8-2-fp16-scalar-ext.d | 75 + .../gas/arm/armv8-2-fp16-scalar-thumb-ext.d | 75 + gas/testsuite/gas/arm/armv8-2-fp16-simd-ext.d | 159 + .../gas/arm/armv8-2-fp16-simd-thumb-ext.d | 159 + .../gas/arm/armv8-2-fp16-simd-warning-ext.d | 4 + .../gas/arm/armv8-2-fp16-simd-warning-thumb-ext.d | 4 + gas/testsuite/gas/arm/armv8_2+rdma-ext.d | 79 + gas/testsuite/gas/arm/armv8_2-a-fp16-thumb2-ext.d | 249 + gas/testsuite/gas/arm/armv8_2-a-fp16_ext.d | 249 + gas/testsuite/gas/arm/armv8_3-a-fp-bad-ext.d | 3 + gas/testsuite/gas/arm/armv8_3-a-fp-ext.d | 16 + gas/testsuite/gas/arm/armv8_3-a-fp16-ext.d | 249 + gas/testsuite/gas/arm/armv8_3-a-simd-bad-ext.d | 3 + gas/testsuite/gas/arm/armv8_4-a-fp16-ext.d | 249 + gas/testsuite/gas/arm/armv8a-automatic-hlt.d | 2 + gas/testsuite/gas/arm/armv8m.main+fp.d | 32 + gas/testsuite/gas/arm/armv8m.main+fp.dp.d | 63 + gas/testsuite/gas/arm/attr-ext-fpv5-d16.d | 14 + gas/testsuite/gas/arm/attr-ext-fpv5.d | 15 + gas/testsuite/gas/arm/attr-ext-idiv.d | 15 + gas/testsuite/gas/arm/attr-ext-mp.d | 15 + gas/testsuite/gas/arm/attr-ext-neon-fp16.d | 20 + gas/testsuite/gas/arm/attr-ext-neon-vfpv3.d | 16 + gas/testsuite/gas/arm/attr-ext-neon-vfpv4.d | 19 + gas/testsuite/gas/arm/attr-ext-sec.d | 15 + gas/testsuite/gas/arm/attr-ext-vfpv3-d16-fp16.d | 21 + gas/testsuite/gas/arm/attr-ext-vfpv3-d16.d | 14 + gas/testsuite/gas/arm/attr-ext-vfpv3-fp16.d | 20 + gas/testsuite/gas/arm/attr-ext-vfpv3.d | 15 + gas/testsuite/gas/arm/attr-ext-vfpv3xd-fp.d | 17 + gas/testsuite/gas/arm/attr-ext-vfpv3xd.d | 16 + gas/testsuite/gas/arm/attr-ext-vfpv4-d16.d | 18 + gas/testsuite/gas/arm/attr-ext-vfpv4-sp-d16.d | 15 + gas/testsuite/gas/arm/attr-ext-vfpv4.d | 18 + gas/testsuite/gas/arm/attr-mfpu-neon-fp16.d | 8 +- gas/testsuite/gas/arm/bl-local-v4t.d | 1 - gas/testsuite/gas/arm/blx-local-thumb.d | 24 + gas/testsuite/gas/arm/blx-local-thumb.s | 30 + gas/testsuite/gas/arm/cpu-arm1020.d | 6 + gas/testsuite/gas/arm/cpu-arm1020e.d | 6 + gas/testsuite/gas/arm/cpu-arm1020t.d | 6 + gas/testsuite/gas/arm/cpu-arm1022e.d | 6 + gas/testsuite/gas/arm/cpu-arm1026ej-s.d | 6 + gas/testsuite/gas/arm/cpu-arm1026ejs.d | 6 + gas/testsuite/gas/arm/cpu-arm10e.d | 6 + gas/testsuite/gas/arm/cpu-arm10t.d | 6 + gas/testsuite/gas/arm/cpu-arm10tdmi.d | 6 + gas/testsuite/gas/arm/cpu-arm1136j-s.d | 6 + gas/testsuite/gas/arm/cpu-arm1136jf-s.d | 6 + gas/testsuite/gas/arm/cpu-arm1136jfs.d | 6 + gas/testsuite/gas/arm/cpu-arm1136js.d | 6 + gas/testsuite/gas/arm/cpu-arm1156t2-s.d | 6 + gas/testsuite/gas/arm/cpu-arm1156t2f-s.d | 6 + gas/testsuite/gas/arm/cpu-arm1176jz-s.d | 6 + gas/testsuite/gas/arm/cpu-arm1176jzf-s.d | 6 + gas/testsuite/gas/arm/cpu-arm2.d | 6 + gas/testsuite/gas/arm/cpu-arm250.d | 6 + gas/testsuite/gas/arm/cpu-arm3.d | 6 + gas/testsuite/gas/arm/cpu-arm6.d | 6 + gas/testsuite/gas/arm/cpu-arm60.d | 6 + gas/testsuite/gas/arm/cpu-arm600.d | 6 + gas/testsuite/gas/arm/cpu-arm610.d | 6 + gas/testsuite/gas/arm/cpu-arm620.d | 6 + gas/testsuite/gas/arm/cpu-arm7.d | 6 + gas/testsuite/gas/arm/cpu-arm70.d | 6 + gas/testsuite/gas/arm/cpu-arm700.d | 6 + gas/testsuite/gas/arm/cpu-arm700i.d | 6 + gas/testsuite/gas/arm/cpu-arm710.d | 6 + gas/testsuite/gas/arm/cpu-arm7100.d | 6 + gas/testsuite/gas/arm/cpu-arm710c.d | 6 + gas/testsuite/gas/arm/cpu-arm710t.d | 6 + gas/testsuite/gas/arm/cpu-arm720.d | 6 + gas/testsuite/gas/arm/cpu-arm720t.d | 6 + gas/testsuite/gas/arm/cpu-arm740t.d | 6 + gas/testsuite/gas/arm/cpu-arm7500.d | 6 + gas/testsuite/gas/arm/cpu-arm7500fe.d | 6 + gas/testsuite/gas/arm/cpu-arm7d.d | 6 + gas/testsuite/gas/arm/cpu-arm7di.d | 6 + gas/testsuite/gas/arm/cpu-arm7dm.d | 6 + gas/testsuite/gas/arm/cpu-arm7dmi.d | 6 + gas/testsuite/gas/arm/cpu-arm7m.d | 6 + gas/testsuite/gas/arm/cpu-arm7t.d | 6 + gas/testsuite/gas/arm/cpu-arm7tdmi-s.d | 6 + gas/testsuite/gas/arm/cpu-arm7tdmi.d | 6 + gas/testsuite/gas/arm/cpu-arm8.d | 6 + gas/testsuite/gas/arm/cpu-arm810.d | 6 + gas/testsuite/gas/arm/cpu-arm9.d | 6 + gas/testsuite/gas/arm/cpu-arm920.d | 6 + gas/testsuite/gas/arm/cpu-arm920t.d | 6 + gas/testsuite/gas/arm/cpu-arm922t.d | 6 + gas/testsuite/gas/arm/cpu-arm926ej-s.d | 6 + gas/testsuite/gas/arm/cpu-arm926ej.d | 6 + gas/testsuite/gas/arm/cpu-arm926ejs.d | 6 + gas/testsuite/gas/arm/cpu-arm940t.d | 6 + gas/testsuite/gas/arm/cpu-arm946e-r0.d | 6 + gas/testsuite/gas/arm/cpu-arm946e-s.d | 6 + gas/testsuite/gas/arm/cpu-arm946e.d | 6 + gas/testsuite/gas/arm/cpu-arm966e-r0.d | 6 + gas/testsuite/gas/arm/cpu-arm966e-s.d | 6 + gas/testsuite/gas/arm/cpu-arm966e.d | 6 + gas/testsuite/gas/arm/cpu-arm968e-s.d | 6 + gas/testsuite/gas/arm/cpu-arm9e-r0.d | 6 + gas/testsuite/gas/arm/cpu-arm9e.d | 6 + gas/testsuite/gas/arm/cpu-arm9tdmi.d | 6 + gas/testsuite/gas/arm/cpu-arm_any.d | 6 + gas/testsuite/gas/arm/cpu-cortex-a12.d | 6 + gas/testsuite/gas/arm/cpu-cortex-a15.d | 6 + gas/testsuite/gas/arm/cpu-cortex-a17.d | 6 + gas/testsuite/gas/arm/cpu-cortex-a32.d | 6 + gas/testsuite/gas/arm/cpu-cortex-a35.d | 6 + gas/testsuite/gas/arm/cpu-cortex-a5.d | 6 + gas/testsuite/gas/arm/cpu-cortex-a53.d | 6 + gas/testsuite/gas/arm/cpu-cortex-a55.d | 6 + gas/testsuite/gas/arm/cpu-cortex-a57.d | 6 + gas/testsuite/gas/arm/cpu-cortex-a7.d | 6 + gas/testsuite/gas/arm/cpu-cortex-a72.d | 6 + gas/testsuite/gas/arm/cpu-cortex-a73.d | 6 + gas/testsuite/gas/arm/cpu-cortex-a75.d | 6 + gas/testsuite/gas/arm/cpu-cortex-a76.d | 6 + gas/testsuite/gas/arm/cpu-cortex-a8.d | 6 + gas/testsuite/gas/arm/cpu-cortex-a9.d | 6 + gas/testsuite/gas/arm/cpu-cortex-m0.d | 6 + gas/testsuite/gas/arm/cpu-cortex-m0plus.d | 6 + gas/testsuite/gas/arm/cpu-cortex-m1.d | 6 + gas/testsuite/gas/arm/cpu-cortex-m23.d | 6 + gas/testsuite/gas/arm/cpu-cortex-m3.d | 6 + gas/testsuite/gas/arm/cpu-cortex-m33.d | 6 + gas/testsuite/gas/arm/cpu-cortex-m4.d | 6 + gas/testsuite/gas/arm/cpu-cortex-m7.d | 6 + gas/testsuite/gas/arm/cpu-cortex-r4.d | 6 + gas/testsuite/gas/arm/cpu-cortex-r4f.d | 6 + gas/testsuite/gas/arm/cpu-cortex-r5.d | 6 + gas/testsuite/gas/arm/cpu-cortex-r52.d | 6 + gas/testsuite/gas/arm/cpu-cortex-r7.d | 6 + gas/testsuite/gas/arm/cpu-cortex-r8.d | 6 + gas/testsuite/gas/arm/cpu-ep9312.d | 6 + gas/testsuite/gas/arm/cpu-exynos-m1.d | 6 + gas/testsuite/gas/arm/cpu-fa526.d | 6 + gas/testsuite/gas/arm/cpu-fa606te.d | 6 + gas/testsuite/gas/arm/cpu-fa616te.d | 6 + gas/testsuite/gas/arm/cpu-fa626.d | 6 + gas/testsuite/gas/arm/cpu-fa626te.d | 6 + gas/testsuite/gas/arm/cpu-fa726te.d | 6 + gas/testsuite/gas/arm/cpu-fmp626.d | 6 + gas/testsuite/gas/arm/cpu-i80200.d | 6 + gas/testsuite/gas/arm/cpu-iwmmxt.d | 6 + gas/testsuite/gas/arm/cpu-iwmmxt2.d | 6 + gas/testsuite/gas/arm/cpu-marvell-pj4.d | 6 + gas/testsuite/gas/arm/cpu-marvell-whitney.d | 6 + gas/testsuite/gas/arm/cpu-mpcore.d | 6 + gas/testsuite/gas/arm/cpu-mpcorenovfp.d | 6 + gas/testsuite/gas/arm/cpu-sa1.d | 6 + gas/testsuite/gas/arm/cpu-strongarm.d | 6 + gas/testsuite/gas/arm/cpu-strongarm1.d | 6 + gas/testsuite/gas/arm/cpu-strongarm110.d | 6 + gas/testsuite/gas/arm/cpu-strongarm1100.d | 6 + gas/testsuite/gas/arm/cpu-strongarm1110.d | 6 + gas/testsuite/gas/arm/cpu-xgene1.d | 6 + gas/testsuite/gas/arm/cpu-xgene2.d | 6 + gas/testsuite/gas/arm/cpu-xscale.d | 6 + gas/testsuite/gas/arm/csdb.d | 1 + gas/testsuite/gas/arm/dotprod-mandatory-ext.d | 297 + gas/testsuite/gas/arm/fpv5-d16.s | 58 + gas/testsuite/gas/arm/fpv5-sp-d16.s | 27 + gas/testsuite/gas/arm/hlt.d | 35 + gas/testsuite/gas/arm/hlt.s | 22 + gas/testsuite/gas/arm/maverick.c | 2 +- gas/testsuite/gas/arm/nop-asm.s | 1 + gas/testsuite/gas/arm/note-march-armv2.d | 13 + gas/testsuite/gas/arm/note-march-armv2.s | 7 + gas/testsuite/gas/arm/note-march-armv2a.d | 13 + gas/testsuite/gas/arm/note-march-armv2a.s | 7 + gas/testsuite/gas/arm/note-march-armv3.d | 13 + gas/testsuite/gas/arm/note-march-armv3.s | 7 + gas/testsuite/gas/arm/note-march-armv3m.d | 13 + gas/testsuite/gas/arm/note-march-armv3m.s | 7 + gas/testsuite/gas/arm/note-march-armv4.d | 13 + gas/testsuite/gas/arm/note-march-armv4.s | 7 + gas/testsuite/gas/arm/note-march-armv4t.d | 13 + gas/testsuite/gas/arm/note-march-armv4t.s | 7 + gas/testsuite/gas/arm/note-march-armv5.d | 13 + gas/testsuite/gas/arm/note-march-armv5.s | 7 + gas/testsuite/gas/arm/note-march-armv5t.d | 13 + gas/testsuite/gas/arm/note-march-armv5t.s | 7 + gas/testsuite/gas/arm/note-march-armv5te.d | 13 + gas/testsuite/gas/arm/note-march-armv5te.s | 7 + gas/testsuite/gas/arm/note-march-ep9312.d | 13 + gas/testsuite/gas/arm/note-march-ep9312.s | 7 + gas/testsuite/gas/arm/note-march-iwmmxt.d | 13 + gas/testsuite/gas/arm/note-march-iwmmxt.s | 7 + gas/testsuite/gas/arm/note-march-iwmmxt2.d | 13 + gas/testsuite/gas/arm/note-march-iwmmxt2.s | 7 + gas/testsuite/gas/arm/note-march-xscale.d | 13 + gas/testsuite/gas/arm/note-march-xscale.s | 7 + gas/testsuite/gas/arm/sb-thumb1-pe.d | 11 + gas/testsuite/gas/arm/sb-thumb1.d | 3 +- gas/testsuite/gas/arm/sb-thumb2-pe.d | 11 + gas/testsuite/gas/arm/sb-thumb2.d | 1 + gas/testsuite/gas/arm/udf.d | 1 + gas/testsuite/gas/avr/avr.exp | 2 +- gas/testsuite/gas/bfin/bfin.exp | 2 +- gas/testsuite/gas/bfin/error.exp | 2 +- gas/testsuite/gas/cfi/cfi.exp | 2 +- gas/testsuite/gas/cr16/cr16.exp | 2 +- gas/testsuite/gas/cr16/pic.exp | 2 +- gas/testsuite/gas/cris/cris.exp | 2 +- gas/testsuite/gas/crx/allinsn.exp | 2 +- gas/testsuite/gas/d10v/d10v.exp | 2 +- gas/testsuite/gas/d30v/d30.exp | 2 +- gas/testsuite/gas/dlx/alltests.exp | 2 +- gas/testsuite/gas/elf/dwarf2-1.s | 2 +- gas/testsuite/gas/elf/dwarf2-10.s | 2 +- gas/testsuite/gas/elf/dwarf2-11.s | 2 +- gas/testsuite/gas/elf/dwarf2-12.s | 2 +- gas/testsuite/gas/elf/dwarf2-13.s | 2 +- gas/testsuite/gas/elf/dwarf2-14.s | 2 +- gas/testsuite/gas/elf/dwarf2-15.s | 2 +- gas/testsuite/gas/elf/dwarf2-16.s | 2 +- gas/testsuite/gas/elf/dwarf2-17.s | 2 +- gas/testsuite/gas/elf/dwarf2-18.s | 2 +- gas/testsuite/gas/elf/dwarf2-2.s | 2 +- gas/testsuite/gas/elf/dwarf2-3.d | 2 +- gas/testsuite/gas/elf/dwarf2-5.d | 2 +- gas/testsuite/gas/elf/dwarf2-5.s | 2 +- gas/testsuite/gas/elf/dwarf2-6.s | 2 +- gas/testsuite/gas/elf/dwarf2-7.s | 2 +- gas/testsuite/gas/elf/dwarf2-8.s | 2 +- gas/testsuite/gas/elf/dwarf2-9.s | 2 +- gas/testsuite/gas/elf/elf.exp | 19 +- gas/testsuite/gas/elf/section2.e-riscv | 9 + gas/testsuite/gas/epiphany/allinsn.exp | 2 +- gas/testsuite/gas/fr30/allinsn.exp | 2 +- gas/testsuite/gas/fr30/fr30.exp | 2 +- gas/testsuite/gas/frv/allinsn.exp | 2 +- gas/testsuite/gas/ft32/ft32.exp | 2 +- gas/testsuite/gas/h8300/h8300-elf.exp | 2 +- gas/testsuite/gas/h8300/h8300.exp | 2 +- gas/testsuite/gas/h8300/t01_mov.exp | 2 +- gas/testsuite/gas/h8300/t02_mova.exp | 2 +- gas/testsuite/gas/h8300/t03_add.exp | 2 +- gas/testsuite/gas/h8300/t04_sub.exp | 2 +- gas/testsuite/gas/h8300/t05_cmp.exp | 2 +- gas/testsuite/gas/h8300/t06_ari2.exp | 2 +- gas/testsuite/gas/h8300/t07_ari3.exp | 2 +- gas/testsuite/gas/h8300/t08_or.exp | 2 +- gas/testsuite/gas/h8300/t09_xor.exp | 2 +- gas/testsuite/gas/h8300/t10_and.exp | 2 +- gas/testsuite/gas/h8300/t11_logs.exp | 2 +- gas/testsuite/gas/h8300/t12_bit.exp | 2 +- gas/testsuite/gas/h8300/t13_otr.exp | 2 +- gas/testsuite/gas/hppa/README | 2 +- gas/testsuite/gas/hppa/basic/basic.exp | 2 +- gas/testsuite/gas/hppa/parse/parse.exp | 2 +- gas/testsuite/gas/hppa/reloc/reloc.exp | 2 +- gas/testsuite/gas/hppa/unsorted/unsorted.exp | 2 +- gas/testsuite/gas/i386/att-regs.d | 1 + gas/testsuite/gas/i386/avx512bw-intel.d | 2 +- gas/testsuite/gas/i386/avx512bw.d | 2 +- gas/testsuite/gas/i386/avx512f-intel.d | 2 +- gas/testsuite/gas/i386/avx512f.d | 2 +- gas/testsuite/gas/i386/debug1.d | 2 +- gas/testsuite/gas/i386/disp32.d | 2 +- gas/testsuite/gas/i386/dw2-compress-1.d | 2 +- gas/testsuite/gas/i386/dw2-compress-1.s | 2 +- gas/testsuite/gas/i386/dw2-compress-3a.d | 2 +- gas/testsuite/gas/i386/dw2-compress-3b.d | 2 +- gas/testsuite/gas/i386/dw2-compressed-1.d | 2 +- gas/testsuite/gas/i386/dw2-compressed-3a.d | 2 +- gas/testsuite/gas/i386/dw2-compressed-3b.d | 2 +- gas/testsuite/gas/i386/i386.exp | 12 +- gas/testsuite/gas/i386/ilp32/cfi/ilp32.exp | 2 +- gas/testsuite/gas/i386/ilp32/elf/ilp32.exp | 2 +- gas/testsuite/gas/i386/ilp32/ilp32.exp | 2 +- gas/testsuite/gas/i386/ilp32/lns/ilp32.exp | 2 +- gas/testsuite/gas/i386/ilp32/reloc64.l | 1 + gas/testsuite/gas/i386/ilp32/reloc64.s | 1 + gas/testsuite/gas/i386/ilp32/x86-64-gotpcrel-2.d | 13 + gas/testsuite/gas/i386/intel-regs.d | 1 + gas/testsuite/gas/i386/noavx-3.l | 12 +- gas/testsuite/gas/i386/noavx-3.s | 4 + gas/testsuite/gas/i386/noavx-4.d | 7 - gas/testsuite/gas/i386/noavx-4.s | 8 - gas/testsuite/gas/i386/nosse-5.d | 4 - gas/testsuite/gas/i386/nosse-5.s | 5 - gas/testsuite/gas/i386/optimize-1.d | 37 + gas/testsuite/gas/i386/optimize-1.s | 44 + gas/testsuite/gas/i386/optimize-1a.d | 103 + gas/testsuite/gas/i386/optimize-2.d | 73 + gas/testsuite/gas/i386/optimize-2.s | 86 + gas/testsuite/gas/i386/optimize-3.d | 6 + gas/testsuite/gas/i386/optimize-3.s | 7 + gas/testsuite/gas/i386/optimize-4.d | 37 + gas/testsuite/gas/i386/optimize-5.d | 43 + gas/testsuite/gas/i386/optimize-5.s | 7 + gas/testsuite/gas/i386/optimize-6.s | 46 + gas/testsuite/gas/i386/optimize-6a.l | 82 + gas/testsuite/gas/i386/optimize-6a.s | 3 + gas/testsuite/gas/i386/optimize-6b.d | 40 + gas/testsuite/gas/i386/optimize-7.l | 12 + gas/testsuite/gas/i386/optimize-7.s | 6 + gas/testsuite/gas/i386/property-1.s | 3 +- gas/testsuite/gas/i386/pseudos.d | 1 + gas/testsuite/gas/i386/reloc32.l | 1 + gas/testsuite/gas/i386/reloc32.s | 1 + gas/testsuite/gas/i386/reloc64.l | 1 + gas/testsuite/gas/i386/reloc64.s | 1 + gas/testsuite/gas/i386/x86-64-disp32.d | 2 +- gas/testsuite/gas/i386/x86-64-gotpcrel-2.d | 11 + gas/testsuite/gas/i386/x86-64-gotpcrel-2.s | 3 + gas/testsuite/gas/i386/x86-64-optimize-2.d | 49 + gas/testsuite/gas/i386/x86-64-optimize-2.s | 58 + gas/testsuite/gas/i386/x86-64-optimize-2a.d | 159 + gas/testsuite/gas/i386/x86-64-optimize-2b.d | 158 + gas/testsuite/gas/i386/x86-64-optimize-2b.s | 5 + gas/testsuite/gas/i386/x86-64-optimize-3.d | 91 + gas/testsuite/gas/i386/x86-64-optimize-3.s | 107 + gas/testsuite/gas/i386/x86-64-optimize-4.d | 6 + gas/testsuite/gas/i386/x86-64-optimize-4.s | 7 + gas/testsuite/gas/i386/x86-64-optimize-5.d | 55 + gas/testsuite/gas/i386/x86-64-optimize-5.s | 7 + gas/testsuite/gas/i386/x86-64-optimize-6.d | 55 + gas/testsuite/gas/i386/x86-64-optimize-6.s | 7 + gas/testsuite/gas/i386/x86-64-optimize-7.s | 64 + gas/testsuite/gas/i386/x86-64-optimize-7a.l | 123 + gas/testsuite/gas/i386/x86-64-optimize-7a.s | 3 + gas/testsuite/gas/i386/x86-64-optimize-7b.d | 60 + gas/testsuite/gas/i386/x86-64-optimize-8.l | 12 + gas/testsuite/gas/i386/x86-64-optimize-8.s | 6 + gas/testsuite/gas/i386/x86-64-pseudos.d | 1 + gas/testsuite/gas/ia64/ia64.exp | 2 +- gas/testsuite/gas/ia64/pr13167.d | 2 +- gas/testsuite/gas/ieee-fp/x930509a.exp | 2 +- gas/testsuite/gas/iq2000/allinsn.exp | 2 +- gas/testsuite/gas/iq2000/load-hazards.exp | 2 +- gas/testsuite/gas/iq2000/odd-ldw.exp | 2 +- gas/testsuite/gas/iq2000/odd-sdw.exp | 2 +- gas/testsuite/gas/iq2000/yield.exp | 2 +- gas/testsuite/gas/lm32/all.exp | 2 +- gas/testsuite/gas/lns/lns.exp | 2 +- gas/testsuite/gas/m32r/allinsn.exp | 2 +- gas/testsuite/gas/m32r/error.exp | 2 +- gas/testsuite/gas/m32r/m32r2.exp | 2 +- gas/testsuite/gas/m32r/m32rx.exp | 2 +- gas/testsuite/gas/m32r/pic.exp | 2 +- gas/testsuite/gas/m32r/rel32.exp | 2 +- gas/testsuite/gas/m68hc11/lbranch-dwarf2.d | 2 +- gas/testsuite/gas/m68hc11/m68hc11.exp | 2 +- gas/testsuite/gas/m68hc11/opers12-dwarf2.d | 6 +- gas/testsuite/gas/m68k/all.exp | 2 +- gas/testsuite/gas/mach-o/mach-o.exp | 2 +- gas/testsuite/gas/macros/macros.exp | 2 +- gas/testsuite/gas/mcore/allinsn.exp | 2 +- gas/testsuite/gas/mep/allinsn.exp | 2 +- gas/testsuite/gas/mep/complex-relocs.exp | 2 +- gas/testsuite/gas/metag/metag.exp | 2 +- gas/testsuite/gas/microblaze/allinsn.exp | 2 +- gas/testsuite/gas/microblaze/endian.exp | 2 +- gas/testsuite/gas/microblaze/reloc_sym.exp | 2 +- gas/testsuite/gas/microblaze/special_reg.exp | 2 +- gas/testsuite/gas/mips/loc-swap-2.d | 2 +- gas/testsuite/gas/mips/loc-swap.d | 2 +- gas/testsuite/gas/mips/micromips@loc-swap-2.d | 2 +- gas/testsuite/gas/mips/micromips@loc-swap.d | 2 +- gas/testsuite/gas/mips/mips.exp | 4 +- gas/testsuite/gas/mips/mips16-branch-absolute-1.d | 10 +- gas/testsuite/gas/mips/mips16-e.d | 6 +- gas/testsuite/gas/mips/mips16-pcrel-0.d | 16 +- gas/testsuite/gas/mips/mips16-pcrel-1.d | 16 +- gas/testsuite/gas/mips/mips16-pcrel-delay-0.d | 8 +- gas/testsuite/gas/mips/mips16-pcrel-delay-1.d | 8 +- gas/testsuite/gas/mips/mips16-pcrel-n32-0.d | 16 +- gas/testsuite/gas/mips/mips16-pcrel-n32-1.d | 16 +- gas/testsuite/gas/mips/mips16-pcrel-n64-sym32-0.d | 16 +- gas/testsuite/gas/mips/mips16-pcrel-n64-sym32-1.d | 16 +- gas/testsuite/gas/mips/mips16@loc-swap-2.d | 2 +- gas/testsuite/gas/mips/mips16@loc-swap.d | 2 +- gas/testsuite/gas/mips/mips16e2@mips16-pcrel-0.d | 16 +- gas/testsuite/gas/mips/mips16e2@mips16-pcrel-1.d | 16 +- .../gas/mips/mips16e2@mips16-pcrel-delay-0.d | 8 +- .../gas/mips/mips16e2@mips16-pcrel-delay-1.d | 8 +- .../gas/mips/mips16e2@mips16-pcrel-n32-0.d | 16 +- .../gas/mips/mips16e2@mips16-pcrel-n32-1.d | 16 +- .../gas/mips/mips16e2@mips16-pcrel-n64-sym32-0.d | 16 +- .../gas/mips/mips16e2@mips16-pcrel-n64-sym32-1.d | 16 +- gas/testsuite/gas/mips/mips16e@loc-swap.d | 2 +- gas/testsuite/gas/mips/mipsel16-e.d | 6 +- gas/testsuite/gas/mips/mipsr6@msa.d | 60 +- gas/testsuite/gas/mips/mipsr6@relax-swap3.d | 2 +- gas/testsuite/gas/mips/r5900-fix.d | 30 + gas/testsuite/gas/mips/r5900-fix.s | 40 + gas/testsuite/gas/mips/r5900-no-fix.d | 13 + gas/testsuite/gas/mips/r5900-no-fix.s | 17 + gas/testsuite/gas/mips/r6-64-n32.d | 18 +- gas/testsuite/gas/mips/r6-64-n64.d | 18 +- gas/testsuite/gas/mips/r6-n32.d | 172 +- gas/testsuite/gas/mips/r6-n64.d | 172 +- gas/testsuite/gas/mips/r6.d | 172 +- gas/testsuite/gas/mips/tmips16-e.d | 6 +- gas/testsuite/gas/mips/tmipsel16-e.d | 6 +- gas/testsuite/gas/mmix/mmix-err.exp | 2 +- gas/testsuite/gas/mmix/mmix-list.exp | 2 +- gas/testsuite/gas/mmix/mmix.exp | 2 +- gas/testsuite/gas/mn10200/basic.exp | 2 +- gas/testsuite/gas/mn10300/am33-2.c | 2 +- gas/testsuite/gas/mn10300/basic.exp | 2 +- gas/testsuite/gas/mn10300/relax.d | 12 +- gas/testsuite/gas/mri/mri.exp | 2 +- gas/testsuite/gas/msp430/bad.l | 21 +- gas/testsuite/gas/msp430/msp430.exp | 13 +- gas/testsuite/gas/msp430/nop-dint-430.d | 32 + gas/testsuite/gas/msp430/nop-dint-430.l | 9 + gas/testsuite/gas/msp430/nop-dint-430x-ignore.d | 8 + gas/testsuite/gas/msp430/nop-dint-430x-silent.d | 31 + gas/testsuite/gas/msp430/nop-dint-430x.d | 32 + gas/testsuite/gas/msp430/nop-dint-430x.l | 9 + gas/testsuite/gas/msp430/nop-dint.s | 37 + gas/testsuite/gas/msp430/nop-eint-430.d | 31 + gas/testsuite/gas/msp430/nop-eint-430.l | 3 + gas/testsuite/gas/msp430/nop-eint-430x-ignore.d | 8 + gas/testsuite/gas/msp430/nop-eint-430x-silent.d | 47 + gas/testsuite/gas/msp430/nop-eint-430x.d | 48 + gas/testsuite/gas/msp430/nop-eint-430x.l | 20 + gas/testsuite/gas/msp430/nop-eint.s | 44 + gas/testsuite/gas/msp430/nop-int-430.d | 4 + gas/testsuite/gas/msp430/nop-int-430.l | 3 + gas/testsuite/gas/msp430/nop-int-430x-silent.d | 5 + gas/testsuite/gas/msp430/nop-int-430x.d | 4 + gas/testsuite/gas/msp430/nop-int-430x.l | 10 + gas/testsuite/gas/msp430/nop-int.s | 74 + gas/testsuite/gas/mt/errors.exp | 2 +- gas/testsuite/gas/mt/mt.exp | 2 +- gas/testsuite/gas/mt/relocs.exp | 2 +- gas/testsuite/gas/nds32/nds32.exp | 2 +- gas/testsuite/gas/nios2/nios2.exp | 2 +- gas/testsuite/gas/pdp11/absreloc.s | 2 +- gas/testsuite/gas/pdp11/opcode.s | 2 +- gas/testsuite/gas/pdp11/pdp11.exp | 2 +- gas/testsuite/gas/pe/pe.exp | 2 +- gas/testsuite/gas/pj/pj.exp | 2 +- gas/testsuite/gas/ppc/476.d | 8 +- gas/testsuite/gas/ppc/a2.d | 8 +- gas/testsuite/gas/ppc/aix.exp | 2 +- gas/testsuite/gas/ppc/ppc.exp | 2 +- gas/testsuite/gas/pru/pru.exp | 2 +- gas/testsuite/gas/riscv/attribute-01.d | 6 + gas/testsuite/gas/riscv/attribute-02.d | 6 + gas/testsuite/gas/riscv/attribute-03.d | 6 + gas/testsuite/gas/riscv/attribute-04.d | 6 + gas/testsuite/gas/riscv/attribute-04.s | 1 + gas/testsuite/gas/riscv/attribute-05.d | 11 + gas/testsuite/gas/riscv/attribute-05.s | 6 + gas/testsuite/gas/riscv/attribute-06.d | 6 + gas/testsuite/gas/riscv/attribute-06.s | 1 + gas/testsuite/gas/riscv/attribute-07.d | 6 + gas/testsuite/gas/riscv/attribute-07.s | 1 + gas/testsuite/gas/riscv/attribute-08.d | 6 + gas/testsuite/gas/riscv/attribute-08.s | 1 + gas/testsuite/gas/riscv/attribute-empty.d | 3 + gas/testsuite/gas/riscv/attribute-unknown.d | 8 + gas/testsuite/gas/riscv/attribute-unknown.s | 2 + gas/testsuite/gas/riscv/auipc-parsing.d | 3 + gas/testsuite/gas/riscv/auipc-parsing.l | 3 + gas/testsuite/gas/riscv/auipc-parsing.s | 3 + gas/testsuite/gas/riscv/empty.l | 1 + gas/testsuite/gas/riscv/empty.s | 1 + gas/testsuite/gas/riscv/insn.d | 25 +- gas/testsuite/gas/riscv/insn.s | 1 + gas/testsuite/gas/riscv/march-fail-rv32ef.d | 3 + gas/testsuite/gas/riscv/march-fail-rv32ef.l | 2 + gas/testsuite/gas/riscv/march-fail-rv32i.d | 3 + gas/testsuite/gas/riscv/march-fail-rv32i.l | 2 + gas/testsuite/gas/riscv/march-fail-rv32iam.d | 3 + gas/testsuite/gas/riscv/march-fail-rv32iam.l | 2 + gas/testsuite/gas/riscv/march-fail-rv32ic.d | 3 + gas/testsuite/gas/riscv/march-fail-rv32ic.l | 2 + gas/testsuite/gas/riscv/march-fail-rv32icx2p.d | 3 + gas/testsuite/gas/riscv/march-fail-rv32icx2p.l | 2 + gas/testsuite/gas/riscv/march-fail-rv32imc.d | 3 + gas/testsuite/gas/riscv/march-fail-rv32imc.l | 2 + gas/testsuite/gas/riscv/march-fail-rv64I.d | 3 + gas/testsuite/gas/riscv/march-fail-rv64I.l | 2 + gas/testsuite/gas/riscv/march-fail-rv64e.d | 3 + gas/testsuite/gas/riscv/march-fail-rv64e.l | 2 + gas/testsuite/gas/riscv/march-ok-g2.d | 5 + gas/testsuite/gas/riscv/march-ok-g2_p1.d | 5 + gas/testsuite/gas/riscv/march-ok-g2p0.d | 5 + gas/testsuite/gas/riscv/march-ok-i2p0.d | 5 + gas/testsuite/gas/riscv/march-ok-i2p0m2_a2f2.d | 5 + .../gas/riscv/march-ok-nse-with-version.d | 5 + gas/testsuite/gas/riscv/march-ok-s-with-version.d | 5 + gas/testsuite/gas/riscv/march-ok-s.d | 5 + gas/testsuite/gas/riscv/march-ok-sx.d | 5 + gas/testsuite/gas/riscv/march-ok-two-nse.d | 5 + gas/testsuite/gas/riscv/riscv.exp | 2 +- gas/testsuite/gas/riscv/tprel-add.d | 3 + gas/testsuite/gas/riscv/tprel-add.l | 4 + gas/testsuite/gas/riscv/tprel-add.s | 11 + gas/testsuite/gas/rl78/rl78.exp | 2 +- gas/testsuite/gas/rx/Xtod.d | 21 + gas/testsuite/gas/rx/Xtod.sm | 3 + gas/testsuite/gas/rx/abs.d | 1 + gas/testsuite/gas/rx/adc.d | 1 + gas/testsuite/gas/rx/add.d | 1 + gas/testsuite/gas/rx/and.d | 1 + gas/testsuite/gas/rx/bclr.d | 1 + gas/testsuite/gas/rx/bcnd.d | 1 + gas/testsuite/gas/rx/bfmov.d | 73 + gas/testsuite/gas/rx/bfmov.sm | 2 + gas/testsuite/gas/rx/bmcnd.d | 1 + gas/testsuite/gas/rx/bnot.d | 1 + gas/testsuite/gas/rx/bra.d | 1 + gas/testsuite/gas/rx/brk.d | 1 + gas/testsuite/gas/rx/bset.d | 1 + gas/testsuite/gas/rx/bsr.d | 1 + gas/testsuite/gas/rx/btst.d | 1 + gas/testsuite/gas/rx/clrpsw.d | 1 + gas/testsuite/gas/rx/cmp.d | 1 + gas/testsuite/gas/rx/dabs.d | 14 + gas/testsuite/gas/rx/dabs.sm | 1 + gas/testsuite/gas/rx/dadd.d | 18 + gas/testsuite/gas/rx/dadd.sm | 1 + gas/testsuite/gas/rx/dbt.d | 1 + gas/testsuite/gas/rx/dcmp.d | 25 + gas/testsuite/gas/rx/dcmp.sm | 4 + gas/testsuite/gas/rx/ddiv.d | 17 + gas/testsuite/gas/rx/ddiv.sm | 1 + gas/testsuite/gas/rx/div.d | 1 + gas/testsuite/gas/rx/divu.d | 1 + gas/testsuite/gas/rx/dmov.d | 77 + gas/testsuite/gas/rx/dmov.sm | 13 + gas/testsuite/gas/rx/dmul.d | 17 + gas/testsuite/gas/rx/dmul.sm | 1 + gas/testsuite/gas/rx/dneg.d | 13 + gas/testsuite/gas/rx/dneg.sm | 1 + gas/testsuite/gas/rx/dpopm.d | 17 + gas/testsuite/gas/rx/dpopm.sm | 2 + gas/testsuite/gas/rx/dpushm.d | 17 + gas/testsuite/gas/rx/dpushm.sm | 2 + gas/testsuite/gas/rx/dround.d | 13 + gas/testsuite/gas/rx/dround.sm | 1 + gas/testsuite/gas/rx/dsqrt.d | 13 + gas/testsuite/gas/rx/dsqrt.sm | 1 + gas/testsuite/gas/rx/dsub.d | 17 + gas/testsuite/gas/rx/dsub.sm | 1 + gas/testsuite/gas/rx/dtoX.d | 21 + gas/testsuite/gas/rx/dtoX.sm | 3 + gas/testsuite/gas/rx/emaca.d | 1 + gas/testsuite/gas/rx/emsba.d | 1 + gas/testsuite/gas/rx/emul.d | 1 + gas/testsuite/gas/rx/emula.d | 1 + gas/testsuite/gas/rx/emulu.d | 1 + gas/testsuite/gas/rx/fadd.d | 1 + gas/testsuite/gas/rx/fcmp.d | 1 + gas/testsuite/gas/rx/fdiv.d | 1 + gas/testsuite/gas/rx/fmul.d | 1 + gas/testsuite/gas/rx/fsqrt.d | 1 + gas/testsuite/gas/rx/fsub.d | 1 + gas/testsuite/gas/rx/ftoi.d | 1 + gas/testsuite/gas/rx/ftou.d | 1 + gas/testsuite/gas/rx/gprel.d | 1 + gas/testsuite/gas/rx/int.d | 1 + gas/testsuite/gas/rx/itof.d | 1 + gas/testsuite/gas/rx/jmp.d | 1 + gas/testsuite/gas/rx/jsr.d | 1 + gas/testsuite/gas/rx/machi.d | 1 + gas/testsuite/gas/rx/maclh.d | 1 + gas/testsuite/gas/rx/maclo.d | 1 + gas/testsuite/gas/rx/macros.inc | 10 +- gas/testsuite/gas/rx/make-d | 2 +- gas/testsuite/gas/rx/max.d | 1 + gas/testsuite/gas/rx/min.d | 1 + gas/testsuite/gas/rx/mov.d | 1 + gas/testsuite/gas/rx/movco.d | 1 + gas/testsuite/gas/rx/movli.d | 1 + gas/testsuite/gas/rx/movu.d | 1 + gas/testsuite/gas/rx/msbhi.d | 1 + gas/testsuite/gas/rx/msblh.d | 1 + gas/testsuite/gas/rx/msblo.d | 1 + gas/testsuite/gas/rx/mul.d | 1 + gas/testsuite/gas/rx/mulhi.d | 1 + gas/testsuite/gas/rx/mullh.d | 1 + gas/testsuite/gas/rx/mullo.d | 1 + gas/testsuite/gas/rx/mvfacgu.d | 1 + gas/testsuite/gas/rx/mvfachi.d | 1 + gas/testsuite/gas/rx/mvfaclo.d | 1 + gas/testsuite/gas/rx/mvfacmi.d | 1 + gas/testsuite/gas/rx/mvfc.d | 1 + gas/testsuite/gas/rx/mvfcp.d | 1 + gas/testsuite/gas/rx/mvfdc.d | 17 + gas/testsuite/gas/rx/mvfdc.sm | 1 + gas/testsuite/gas/rx/mvfdr.d | 10 + gas/testsuite/gas/rx/mvfdr.sm | 1 + gas/testsuite/gas/rx/mvtacgu.d | 1 + gas/testsuite/gas/rx/mvtachi.d | 1 + gas/testsuite/gas/rx/mvtaclo.d | 1 + gas/testsuite/gas/rx/mvtc.d | 1 + gas/testsuite/gas/rx/mvtcp.d | 1 + gas/testsuite/gas/rx/mvtdc.d | 18 + gas/testsuite/gas/rx/mvtdc.sm | 1 + gas/testsuite/gas/rx/neg.d | 1 + gas/testsuite/gas/rx/nop.d | 1 + gas/testsuite/gas/rx/not.d | 1 + gas/testsuite/gas/rx/opecp.d | 1 + gas/testsuite/gas/rx/or.d | 1 + gas/testsuite/gas/rx/pop.d | 1 + gas/testsuite/gas/rx/popc.d | 1 + gas/testsuite/gas/rx/popm.d | 1 + gas/testsuite/gas/rx/pr19665.d | 2 +- gas/testsuite/gas/rx/pr22737.d | 2 +- gas/testsuite/gas/rx/push.d | 1 + gas/testsuite/gas/rx/pushc.d | 1 + gas/testsuite/gas/rx/pushm.d | 1 + gas/testsuite/gas/rx/r-bcc.d | 1 + gas/testsuite/gas/rx/r-bra.d | 1 + gas/testsuite/gas/rx/racl.d | 1 + gas/testsuite/gas/rx/racw.d | 1 + gas/testsuite/gas/rx/rdacl.d | 1 + gas/testsuite/gas/rx/rdacw.d | 1 + gas/testsuite/gas/rx/revl.d | 1 + gas/testsuite/gas/rx/revw.d | 1 + gas/testsuite/gas/rx/rmpa.d | 1 + gas/testsuite/gas/rx/rolc.d | 1 + gas/testsuite/gas/rx/rorc.d | 1 + gas/testsuite/gas/rx/rotl.d | 1 + gas/testsuite/gas/rx/rotr.d | 1 + gas/testsuite/gas/rx/round.d | 1 + gas/testsuite/gas/rx/rstr.d | 13 + gas/testsuite/gas/rx/rstr.sm | 2 + gas/testsuite/gas/rx/rte.d | 1 + gas/testsuite/gas/rx/rtfi.d | 1 + gas/testsuite/gas/rx/rts.d | 1 + gas/testsuite/gas/rx/rtsd.d | 1 + gas/testsuite/gas/rx/rx.exp | 8 +- gas/testsuite/gas/rx/sat.d | 1 + gas/testsuite/gas/rx/satr.d | 1 + gas/testsuite/gas/rx/save.d | 13 + gas/testsuite/gas/rx/save.sm | 2 + gas/testsuite/gas/rx/sbb.d | 1 + gas/testsuite/gas/rx/sccnd.d | 1 + gas/testsuite/gas/rx/scmpu.d | 1 + gas/testsuite/gas/rx/setpsw.d | 1 + gas/testsuite/gas/rx/shar.d | 1 + gas/testsuite/gas/rx/shll.d | 1 + gas/testsuite/gas/rx/shlr.d | 1 + gas/testsuite/gas/rx/smovb.d | 1 + gas/testsuite/gas/rx/smovf.d | 1 + gas/testsuite/gas/rx/smovu.d | 1 + gas/testsuite/gas/rx/sstr.d | 1 + gas/testsuite/gas/rx/stnz.d | 1 + gas/testsuite/gas/rx/stz.d | 1 + gas/testsuite/gas/rx/sub.d | 1 + gas/testsuite/gas/rx/suntil.d | 1 + gas/testsuite/gas/rx/swhile.d | 1 + gas/testsuite/gas/rx/tst.d | 1 + gas/testsuite/gas/rx/utof.d | 1 + gas/testsuite/gas/rx/wait.d | 1 + gas/testsuite/gas/rx/xchg.d | 1 + gas/testsuite/gas/rx/xor.d | 9 + gas/testsuite/gas/rx/xor.sm | 2 + gas/testsuite/gas/s12z/bra.d | 6 +- gas/testsuite/gas/s12z/bra.s | 2 + gas/testsuite/gas/s12z/exg.d | 1 + gas/testsuite/gas/s12z/exg.l | 2 + gas/testsuite/gas/s12z/imm-dest.d | 4 + gas/testsuite/gas/s12z/imm-dest.l | 25 + gas/testsuite/gas/s12z/imm-dest.s | 9 + gas/testsuite/gas/s12z/jsr.d | 1 + gas/testsuite/gas/s12z/jsr.s | 3 +- gas/testsuite/gas/s12z/labels.d | 18 + gas/testsuite/gas/s12z/labels.s | 3 + gas/testsuite/gas/s12z/mov-imm-reloc.d | 20 + gas/testsuite/gas/s12z/mov-imm-reloc.s | 5 + gas/testsuite/gas/s12z/opr-indirect-expr.d | 2 +- gas/testsuite/gas/s12z/pc-rel-bad.d | 9 + gas/testsuite/gas/s12z/pc-rel-bad.l | 3 + gas/testsuite/gas/s12z/pc-rel-bad.s | 8 + gas/testsuite/gas/s12z/pc-rel-good.d | 24 + gas/testsuite/gas/s12z/pc-rel-good.s | 6 + gas/testsuite/gas/s12z/s12z.exp | 8 +- gas/testsuite/gas/s12z/shift.d | 4 +- gas/testsuite/gas/s12z/shift.s | 2 + gas/testsuite/gas/s390/s390.exp | 2 + gas/testsuite/gas/s390/zarch-arch13.d | 154 + gas/testsuite/gas/s390/zarch-arch13.s | 147 + gas/testsuite/gas/s390/zarch-optargs.d | 12 + gas/testsuite/gas/s390/zarch-optargs.s | 6 + gas/testsuite/gas/s390/zarch-z13.d | 8 +- gas/testsuite/gas/score/relax.exp | 2 +- gas/testsuite/gas/score/relax_32.exp | 2 +- gas/testsuite/gas/sh/arch/arch.exp | 2 +- gas/testsuite/gas/sh/basic.exp | 2 +- gas/testsuite/gas/sh/err.exp | 2 +- gas/testsuite/gas/sparc-solaris/addend.exp | 2 +- gas/testsuite/gas/sparc-solaris/gas.exp | 2 +- gas/testsuite/gas/sparc/mismatch.exp | 2 +- gas/testsuite/gas/sparc/sparc.exp | 2 +- gas/testsuite/gas/symver/symver.exp | 2 +- gas/testsuite/gas/tic4x/tic4x.exp | 2 +- gas/testsuite/gas/tic54x/tic54x.exp | 2 +- gas/testsuite/gas/tic6x/tic6x.exp | 2 +- gas/testsuite/gas/tilegx/tilegx.exp | 2 +- gas/testsuite/gas/tilepro/tilepro.exp | 2 +- gas/testsuite/gas/v850/basic.exp | 2 +- gas/testsuite/gas/vax/vax.exp | 2 +- gas/testsuite/gas/visium/allinsn_gr6.d | 12 +- gas/testsuite/gas/visium/allinsn_gr6.s | 7 +- gas/testsuite/gas/visium/bra-1.d | 12 + gas/testsuite/gas/visium/bra-1.s | 5 + gas/testsuite/gas/visium/error.exp | 2 +- gas/testsuite/gas/visium/visium.exp | 3 +- gas/testsuite/gas/wasm32/wasm32.exp | 2 +- gas/testsuite/gas/xc16x/xc16x.exp | 2 +- gas/testsuite/gas/xgate/xgate.exp | 2 +- gas/testsuite/gas/xstormy16/allinsn.exp | 2 +- gas/testsuite/gas/xtensa/all.exp | 2 +- gas/testsuite/gas/xtensa/xtensa-err.exp | 2 +- gas/testsuite/gas/z80/z80.exp | 2 +- gas/testsuite/gas/z8k/z8k.exp | 2 +- gas/testsuite/lib/gas-defs.exp | 2 +- gas/testsuite/lib/gas-dg.exp | 2 +- gas/write.c | 2 +- gas/write.h | 2 +- gdb/.dir-locals.el | 10 +- gdb/CONTRIBUTE | 148 +- gdb/ChangeLog |19847 ++++---------------- gdb/ChangeLog-2018 |17196 +++++++++++++++++ gdb/MAINTAINERS | 4 +- gdb/Makefile.in | 101 +- gdb/NEWS | 133 +- gdb/aarch32-linux-nat.c | 2 +- gdb/aarch32-linux-nat.h | 7 +- gdb/aarch64-fbsd-nat.c | 2 +- gdb/aarch64-fbsd-tdep.c | 89 +- gdb/aarch64-fbsd-tdep.h | 7 +- gdb/aarch64-linux-nat.c | 45 +- gdb/aarch64-linux-tdep.c | 86 +- gdb/aarch64-linux-tdep.h | 13 +- gdb/aarch64-newlib-tdep.c | 2 +- gdb/aarch64-ravenscar-thread.c | 49 +- gdb/aarch64-ravenscar-thread.h | 2 +- gdb/aarch64-tdep.c | 493 +- gdb/aarch64-tdep.h | 16 +- gdb/acinclude.m4 | 2 +- gdb/acx_configure_dir.m4 | 2 +- gdb/ada-exp.y | 6 +- gdb/ada-lang.c | 432 +- gdb/ada-lang.h | 6 +- gdb/ada-lex.l | 4 +- gdb/ada-operator.def | 2 +- gdb/ada-tasks.c | 111 +- gdb/ada-typeprint.c | 15 +- gdb/ada-valprint.c | 3 +- gdb/ada-varobj.c | 5 +- gdb/addrmap.c | 2 +- gdb/addrmap.h | 2 +- gdb/agent.c | 4 +- gdb/aix-thread.c | 27 +- gdb/alpha-bsd-nat.c | 2 +- gdb/alpha-bsd-tdep.c | 2 +- gdb/alpha-bsd-tdep.h | 2 +- gdb/alpha-linux-nat.c | 2 +- gdb/alpha-linux-tdep.c | 2 +- gdb/alpha-mdebug-tdep.c | 2 +- gdb/alpha-nbsd-tdep.c | 2 +- gdb/alpha-obsd-tdep.c | 2 +- gdb/alpha-tdep.c | 38 +- gdb/alpha-tdep.h | 2 +- gdb/amd64-bsd-nat.c | 28 +- gdb/amd64-bsd-nat.h | 2 +- gdb/amd64-darwin-tdep.c | 4 +- gdb/amd64-darwin-tdep.h | 9 +- gdb/amd64-dicos-tdep.c | 4 +- gdb/amd64-fbsd-nat.c | 8 +- gdb/amd64-fbsd-tdep.c | 29 +- gdb/amd64-linux-nat.c | 4 +- gdb/amd64-linux-tdep.c | 4 +- gdb/amd64-linux-tdep.h | 2 +- gdb/amd64-nat.c | 2 +- gdb/amd64-nat.h | 2 +- gdb/amd64-nbsd-nat.c | 2 +- gdb/amd64-nbsd-tdep.c | 4 +- gdb/amd64-obsd-nat.c | 2 +- gdb/amd64-obsd-tdep.c | 4 +- gdb/amd64-sol2-tdep.c | 4 +- gdb/amd64-tdep.c | 27 +- gdb/amd64-tdep.h | 2 +- gdb/amd64-windows-nat.c | 2 +- gdb/amd64-windows-tdep.c | 20 +- gdb/annotate.c | 2 +- gdb/annotate.h | 7 +- gdb/arc-newlib-tdep.c | 2 +- gdb/arc-tdep.c | 75 +- gdb/arc-tdep.h | 2 +- gdb/arch-utils.c | 6 +- gdb/arch-utils.h | 8 +- gdb/arch/aarch64-insn.c | 4 +- gdb/arch/aarch64-insn.h | 8 +- gdb/arch/aarch64.c | 10 +- gdb/arch/aarch64.h | 11 +- gdb/arch/amd64.c | 6 +- gdb/arch/amd64.h | 7 +- gdb/arch/arm-get-next-pcs.c | 8 +- gdb/arch/arm-get-next-pcs.h | 8 +- gdb/arch/arm-linux.c | 6 +- gdb/arch/arm-linux.h | 9 +- gdb/arch/arm.c | 6 +- gdb/arch/arm.h | 8 +- gdb/arch/i386.c | 12 +- gdb/arch/i386.h | 10 +- gdb/arch/ppc-linux-common.c | 4 +- gdb/arch/ppc-linux-common.h | 2 +- gdb/arch/ppc-linux-tdesc.h | 2 +- gdb/arch/riscv.c | 100 + gdb/arch/riscv.h | 75 + gdb/arch/tic6x.c | 2 +- gdb/arch/tic6x.h | 7 +- gdb/arch/xtensa.h | 8 +- gdb/arm-bsd-tdep.c | 2 +- gdb/arm-fbsd-nat.c | 2 +- gdb/arm-fbsd-tdep.c | 65 +- gdb/arm-fbsd-tdep.h | 7 +- gdb/arm-linux-nat.c | 46 +- gdb/arm-linux-tdep.c | 7 +- gdb/arm-linux-tdep.h | 6 +- gdb/arm-nbsd-nat.c | 2 +- gdb/arm-nbsd-tdep.c | 2 +- gdb/arm-obsd-tdep.c | 2 +- gdb/arm-pikeos-tdep.c | 2 +- gdb/arm-symbian-tdep.c | 2 +- gdb/arm-tdep.c | 48 +- gdb/arm-tdep.h | 2 +- gdb/arm-wince-tdep.c | 2 +- gdb/auto-load.c | 10 +- gdb/auto-load.h | 2 +- gdb/auxv.c | 4 +- gdb/auxv.h | 2 +- gdb/avr-tdep.c | 7 +- gdb/ax-gdb.c | 8 +- gdb/ax-gdb.h | 2 +- gdb/ax-general.c | 4 +- gdb/ax.h | 12 +- gdb/ax_cxx_compile_stdcxx.m4 | 2 +- gdb/bcache.c | 240 +- gdb/bcache.h | 114 +- gdb/bfd-target.c | 5 +- gdb/bfd-target.h | 2 +- gdb/bfin-linux-tdep.c | 2 +- gdb/bfin-tdep.c | 24 +- gdb/bfin-tdep.h | 7 +- gdb/block.c | 41 +- gdb/block.h | 12 +- gdb/blockframe.c | 28 +- gdb/break-catch-sig.c | 2 +- gdb/break-catch-syscall.c | 38 +- gdb/break-catch-throw.c | 2 +- gdb/breakpoint.c | 446 +- gdb/breakpoint.h | 24 +- gdb/bsd-kvm.c | 19 +- gdb/bsd-kvm.h | 2 +- gdb/bsd-uthread.c | 20 +- gdb/bsd-uthread.h | 2 +- gdb/btrace.c | 18 +- gdb/btrace.h | 4 +- gdb/build-id.c | 100 +- gdb/build-id.h | 2 +- gdb/buildsym-legacy.c | 2 +- gdb/buildsym-legacy.h | 8 +- gdb/buildsym.c | 39 +- gdb/buildsym.h | 2 +- gdb/c-exp.y | 237 +- gdb/c-lang.c | 2 +- gdb/c-lang.h | 2 +- gdb/c-support.h | 2 +- gdb/c-typeprint.c | 10 +- gdb/c-valprint.c | 6 +- gdb/c-varobj.c | 2 +- gdb/charset-list.h | 7 +- gdb/charset.c | 10 +- gdb/charset.h | 2 +- gdb/cli-out.c | 53 +- gdb/cli-out.h | 5 +- gdb/cli/cli-cmds.c | 57 +- gdb/cli/cli-cmds.h | 8 +- gdb/cli/cli-decode.c | 12 +- gdb/cli/cli-decode.h | 8 +- gdb/cli/cli-dump.c | 4 +- gdb/cli/cli-interp.c | 9 +- gdb/cli/cli-interp.h | 8 +- gdb/cli/cli-logging.c | 2 +- gdb/cli/cli-script.c | 14 +- gdb/cli/cli-script.h | 8 +- gdb/cli/cli-setshow.c | 2 +- gdb/cli/cli-setshow.h | 8 +- gdb/cli/cli-style.c | 320 + gdb/cli/cli-style.h | 102 + gdb/cli/cli-utils.c | 2 +- gdb/cli/cli-utils.h | 9 +- gdb/coff-pe-read.c | 2 +- gdb/coff-pe-read.h | 2 +- gdb/coffread.c | 147 +- gdb/command.h | 7 +- gdb/common/agent.c | 2 +- gdb/common/agent.h | 2 +- gdb/common/array-view.h | 55 +- gdb/common/ax.def | 2 +- gdb/common/break-common.h | 9 +- gdb/common/btrace-common.c | 2 +- gdb/common/btrace-common.h | 8 +- gdb/common/buffer.c | 2 +- gdb/common/buffer.h | 8 +- gdb/common/byte-vector.h | 2 +- gdb/common/cleanups.c | 162 +- gdb/common/cleanups.h | 40 +- gdb/common/common-debug.c | 2 +- gdb/common/common-debug.h | 8 +- gdb/common/common-defs.h | 14 +- gdb/common/common-exceptions.c | 22 +- gdb/common/common-exceptions.h | 8 +- gdb/common/common-gdbthread.h | 8 +- gdb/common/common-inferior.h | 8 +- gdb/common/common-regcache.c | 2 +- gdb/common/common-regcache.h | 8 +- gdb/common/common-types.h | 8 +- gdb/common/common-utils.c | 2 +- gdb/common/common-utils.h | 8 +- gdb/common/common.host | 2 +- gdb/common/common.m4 | 2 +- gdb/common/create-version.sh | 4 +- gdb/common/def-vector.h | 2 +- gdb/common/default-init-alloc.h | 2 +- gdb/common/enum-flags.h | 2 +- gdb/common/environ.c | 2 +- gdb/common/environ.h | 8 +- gdb/common/errors.c | 2 +- gdb/common/errors.h | 2 +- gdb/common/fileio.c | 2 +- gdb/common/fileio.h | 8 +- gdb/common/filestuff.c | 57 +- gdb/common/filestuff.h | 12 +- gdb/common/filtered-iterator.h | 87 + gdb/common/format.c | 2 +- gdb/common/format.h | 2 +- gdb/common/forward-scope-exit.h | 123 + gdb/common/function-view.h | 2 +- gdb/common/gdb_assert.h | 8 +- gdb/common/gdb_locale.h | 8 +- gdb/common/gdb_optional.h | 8 +- gdb/common/gdb_proc_service.h | 2 +- gdb/common/gdb_ref_ptr.h | 10 +- gdb/common/gdb_setjmp.h | 8 +- gdb/common/gdb_signals.h | 2 +- gdb/common/gdb_splay_tree.h | 8 +- gdb/common/gdb_string_view.h | 10 +- gdb/common/gdb_string_view.tcc | 2 +- gdb/common/gdb_sys_time.h | 8 +- gdb/common/gdb_tilde_expand.c | 2 +- gdb/common/gdb_tilde_expand.h | 8 +- gdb/common/gdb_unique_ptr.h | 8 +- gdb/common/gdb_unlinker.h | 8 +- gdb/common/gdb_vecs.c | 2 +- gdb/common/gdb_vecs.h | 8 +- gdb/common/gdb_wait.h | 8 +- gdb/common/hash_enum.h | 2 +- gdb/common/host-defs.h | 8 +- gdb/common/job-control.c | 2 +- gdb/common/job-control.h | 8 +- gdb/common/mingw-strerror.c | 2 +- gdb/common/netstuff.c | 9 +- gdb/common/netstuff.h | 8 +- gdb/common/new-op.c | 4 +- gdb/common/next-iterator.h | 102 + gdb/common/observable.h | 8 +- gdb/common/offset-type.h | 2 +- gdb/common/pathstuff.c | 52 +- gdb/common/pathstuff.h | 14 +- gdb/common/poison.h | 2 +- gdb/common/posix-strerror.c | 2 +- gdb/common/preprocessor.h | 10 +- gdb/common/print-utils.c | 2 +- gdb/common/print-utils.h | 8 +- gdb/common/ptid.c | 6 +- gdb/common/ptid.h | 12 +- gdb/common/queue.h | 8 +- gdb/common/refcounted-object.h | 8 +- gdb/common/rsp-low.c | 2 +- gdb/common/rsp-low.h | 2 +- gdb/common/run-time-clock.c | 2 +- gdb/common/run-time-clock.h | 8 +- gdb/common/safe-iterator.h | 93 + gdb/common/scope-exit.h | 186 + gdb/common/scoped_fd.h | 29 +- gdb/common/scoped_mmap.c | 2 +- gdb/common/scoped_mmap.h | 11 +- gdb/common/scoped_restore.h | 8 +- gdb/common/selftest.c | 2 +- gdb/common/selftest.h | 8 +- gdb/common/signals-state-save-restore.c | 2 +- gdb/common/signals-state-save-restore.h | 2 +- gdb/common/signals.c | 2 +- gdb/common/symbol.h | 2 +- gdb/common/tdesc.c | 2 +- gdb/common/tdesc.h | 8 +- gdb/common/traits.h | 2 +- gdb/common/underlying.h | 2 +- gdb/common/valid-expr.h | 20 +- gdb/common/vec.c | 2 +- gdb/common/vec.h | 8 +- gdb/common/version.h | 8 +- gdb/common/x86-xstate.h | 8 +- gdb/common/xml-utils.c | 2 +- gdb/common/xml-utils.h | 8 +- gdb/compile/compile-c-support.c | 6 +- gdb/compile/compile-c-symbols.c | 2 +- gdb/compile/compile-c-types.c | 2 +- gdb/compile/compile-c.h | 8 +- gdb/compile/compile-cplus-symbols.c | 4 +- gdb/compile/compile-cplus-types.c | 12 +- gdb/compile/compile-cplus.h | 8 +- gdb/compile/compile-internal.h | 8 +- gdb/compile/compile-loc2c.c | 4 +- gdb/compile/compile-object-load.c | 2 +- gdb/compile/compile-object-load.h | 8 +- gdb/compile/compile-object-run.c | 9 +- gdb/compile/compile-object-run.h | 8 +- gdb/compile/compile.c | 8 +- gdb/compile/compile.h | 8 +- gdb/compile/gcc-c-plugin.h | 9 +- gdb/compile/gcc-cp-plugin.h | 7 +- gdb/complaints.c | 2 +- gdb/complaints.h | 2 +- gdb/completer.c | 4 +- gdb/completer.h | 4 +- gdb/config.in | 12 +- gdb/config/djgpp/djcheck.sh | 2 +- gdb/config/djgpp/djconfig.sh | 2 +- gdb/config/djgpp/fnchange.lst | 1 + gdb/config/djgpp/langinfo.h | 8 +- gdb/config/djgpp/nl_types.h | 8 +- gdb/config/i386/nm-fbsd.h | 23 - gdb/config/i386/nm-i386gnu.h | 15 +- gdb/config/nm-linux.h | 7 +- gdb/config/nm-nto.h | 8 +- gdb/config/sparc/nm-sol2.h | 8 +- gdb/configure | 124 +- gdb/configure.ac | 49 +- gdb/configure.nat | 77 +- gdb/configure.tgt | 17 +- gdb/continuations.c | 2 +- gdb/continuations.h | 2 +- gdb/contrib/ari/create-web-ari-in-src.sh | 2 +- gdb/contrib/ari/gdb_ari.sh | 2 +- gdb/contrib/ari/gdb_find.sh | 2 +- gdb/contrib/ari/update-web-ari.sh | 2 +- gdb/contrib/cc-with-tweaks.sh | 2 +- gdb/contrib/cleanup_check.py | 335 - gdb/contrib/excheck.py | 296 - gdb/contrib/expect-read1.c | 2 +- gdb/contrib/expect-read1.sh | 2 +- gdb/contrib/exsummary.py | 185 - gdb/contrib/gcc-with-excheck | 58 - gdb/contrib/gdb-add-index.sh | 2 +- gdb/contrib/test_pubnames_and_indexes.py | 2 +- gdb/copyright.py | 2 +- gdb/corefile.c | 2 +- gdb/corelow.c | 32 +- gdb/cp-abi.c | 2 +- gdb/cp-abi.h | 9 +- gdb/cp-name-parser.y | 3 +- gdb/cp-namespace.c | 28 +- gdb/cp-support.c | 203 +- gdb/cp-support.h | 23 +- gdb/cp-valprint.c | 12 +- gdb/cris-linux-tdep.c | 2 +- gdb/cris-tdep.c | 51 +- gdb/cris-tdep.h | 2 +- gdb/csky-linux-tdep.c | 2 +- gdb/csky-tdep.c | 45 +- gdb/csky-tdep.h | 2 +- gdb/ctf.c | 32 +- gdb/ctf.h | 2 +- gdb/d-exp.y | 3 +- gdb/d-lang.c | 2 +- gdb/d-lang.h | 2 +- gdb/d-namespace.c | 17 +- gdb/d-valprint.c | 2 +- gdb/darwin-nat-info.c | 2 +- gdb/darwin-nat.c | 28 +- gdb/darwin-nat.h | 10 +- gdb/data-directory/Makefile.in | 2 +- gdb/dbxread.c | 90 +- gdb/dcache.c | 4 +- gdb/dcache.h | 2 +- gdb/debug.c | 2 +- gdb/defs.h | 6 +- gdb/demangle.c | 6 +- gdb/dicos-tdep.c | 2 +- gdb/dicos-tdep.h | 2 +- gdb/dictionary.c | 519 +- gdb/dictionary.h | 136 +- gdb/disable-implicit-rules.mk | 2 +- gdb/disasm-selftests.c | 4 +- gdb/disasm.c | 5 +- gdb/disasm.h | 2 +- gdb/doc/ChangeLog | 116 + gdb/doc/Doxyfile-base.in | 2 +- gdb/doc/Doxyfile-gdb-api.in | 2 +- gdb/doc/Doxyfile-gdb-xref.in | 2 +- gdb/doc/Doxyfile-gdbserver.in | 2 +- gdb/doc/Makefile.in | 2 +- gdb/doc/agentexpr.texi | 2 +- gdb/doc/all-cfg.texi | 2 +- gdb/doc/annotate.texinfo | 2 +- gdb/doc/doxy-index.in | 2 +- gdb/doc/gdb.texinfo | 399 +- gdb/doc/guile.texi | 2 +- gdb/doc/python.texi | 106 +- gdb/doc/refcard.tex | 6 +- gdb/doc/stabs.texinfo | 2 +- gdb/dtrace-probe.c | 6 +- gdb/dummy-frame.c | 16 +- gdb/dummy-frame.h | 8 +- gdb/dwarf-index-cache.c | 4 +- gdb/dwarf-index-cache.h | 2 +- gdb/dwarf-index-common.c | 2 +- gdb/dwarf-index-common.h | 2 +- gdb/dwarf-index-write.c | 80 +- gdb/dwarf-index-write.h | 2 +- gdb/dwarf2-frame-tailcall.c | 2 +- gdb/dwarf2-frame-tailcall.h | 2 +- gdb/dwarf2-frame.c | 8 +- gdb/dwarf2-frame.h | 2 +- gdb/dwarf2expr.c | 2 +- gdb/dwarf2expr.h | 2 +- gdb/dwarf2loc.c | 241 +- gdb/dwarf2loc.h | 4 +- gdb/dwarf2read.c | 489 +- gdb/dwarf2read.h | 2 +- gdb/elfread.c | 16 +- gdb/eval.c | 51 +- gdb/event-loop.c | 6 +- gdb/event-loop.h | 7 +- gdb/event-top.c | 40 +- gdb/event-top.h | 4 +- gdb/exceptions.c | 2 +- gdb/exceptions.h | 2 +- gdb/exec.c | 7 +- gdb/exec.h | 2 +- gdb/expprint.c | 3 +- gdb/expression.h | 22 +- gdb/extension-priv.h | 2 +- gdb/extension.c | 14 +- gdb/extension.h | 34 +- gdb/f-exp.y | 265 +- gdb/f-lang.c | 128 +- gdb/f-lang.h | 44 +- gdb/f-typeprint.c | 20 +- gdb/f-valprint.c | 7 +- gdb/fbsd-nat.c | 80 +- gdb/fbsd-nat.h | 7 +- gdb/fbsd-tdep.c | 455 +- gdb/fbsd-tdep.h | 13 +- gdb/features/Makefile | 14 +- gdb/features/aarch64-core.xml | 2 +- gdb/features/aarch64-fpu.xml | 2 +- gdb/features/aarch64-pauth.c | 16 + gdb/features/aarch64-pauth.xml | 13 + gdb/features/aarch64-sve.c | 16 +- gdb/features/aarch64.xml | 2 +- gdb/features/arc-arcompact.xml | 2 +- gdb/features/arc-v2.xml | 2 +- gdb/features/arm/arm-core.xml | 2 +- gdb/features/arm/arm-fpa.xml | 2 +- gdb/features/arm/arm-m-profile.xml | 2 +- gdb/features/arm/arm-vfpv2.xml | 2 +- gdb/features/arm/arm-vfpv3.xml | 2 +- gdb/features/arm/arm-with-iwmmxt.xml | 2 +- gdb/features/arm/arm-with-m-fpa-layout.xml | 2 +- gdb/features/arm/arm-with-m-vfp-d16.xml | 2 +- gdb/features/arm/arm-with-m.xml | 2 +- gdb/features/arm/arm-with-neon.xml | 2 +- gdb/features/arm/arm-with-vfpv2.xml | 2 +- gdb/features/arm/arm-with-vfpv3.xml | 2 +- gdb/features/arm/xscale-iwmmxt.xml | 2 +- gdb/features/btrace-conf.dtd | 2 +- gdb/features/btrace.dtd | 2 +- gdb/features/feature_to_c.sh | 2 +- gdb/features/gdb-target.dtd | 2 +- gdb/features/i386/32bit-avx.xml | 2 +- gdb/features/i386/32bit-avx512.xml | 2 +- gdb/features/i386/32bit-core.xml | 2 +- gdb/features/i386/32bit-linux.xml | 2 +- gdb/features/i386/32bit-mpx.xml | 2 +- gdb/features/i386/32bit-pkeys.xml | 2 +- gdb/features/i386/32bit-segments.c | 15 + gdb/features/i386/32bit-segments.xml | 12 + gdb/features/i386/32bit-sse.xml | 2 +- gdb/features/i386/64bit-avx.xml | 2 +- gdb/features/i386/64bit-avx512.xml | 2 +- gdb/features/i386/64bit-core.xml | 2 +- gdb/features/i386/64bit-linux.xml | 2 +- gdb/features/i386/64bit-mpx.xml | 2 +- gdb/features/i386/64bit-pkeys.xml | 2 +- gdb/features/i386/64bit-segments.xml | 2 +- gdb/features/i386/64bit-sse.xml | 2 +- gdb/features/i386/amd64-avx-avx512-linux.xml | 2 +- gdb/features/i386/amd64-avx-avx512.xml | 2 +- gdb/features/i386/amd64-avx-linux.xml | 2 +- .../i386/amd64-avx-mpx-avx512-pku-linux.xml | 2 +- gdb/features/i386/amd64-avx-mpx-avx512-pku.xml | 2 +- gdb/features/i386/amd64-avx-mpx-linux.xml | 2 +- gdb/features/i386/amd64-avx-mpx.xml | 2 +- gdb/features/i386/amd64-avx.xml | 2 +- gdb/features/i386/amd64-linux.xml | 2 +- gdb/features/i386/amd64-mpx-linux.xml | 2 +- gdb/features/i386/amd64-mpx.xml | 2 +- gdb/features/i386/amd64.xml | 2 +- gdb/features/i386/i386-avx-avx512-linux.xml | 2 +- gdb/features/i386/i386-avx-avx512.xml | 2 +- gdb/features/i386/i386-avx-linux.xml | 2 +- .../i386/i386-avx-mpx-avx512-pku-linux.xml | 2 +- gdb/features/i386/i386-avx-mpx-avx512-pku.xml | 2 +- gdb/features/i386/i386-avx-mpx-linux.xml | 2 +- gdb/features/i386/i386-avx-mpx.xml | 2 +- gdb/features/i386/i386-avx.xml | 2 +- gdb/features/i386/i386-linux.xml | 2 +- gdb/features/i386/i386-mmx-linux.xml | 2 +- gdb/features/i386/i386-mmx.xml | 2 +- gdb/features/i386/i386-mpx-linux.xml | 2 +- gdb/features/i386/i386-mpx.xml | 2 +- gdb/features/i386/i386.xml | 2 +- gdb/features/i386/x32-avx-avx512-linux.xml | 2 +- gdb/features/i386/x32-avx-linux.xml | 2 +- gdb/features/i386/x32-core.xml | 2 +- gdb/features/i386/x32-linux.xml | 2 +- gdb/features/library-list-aix.dtd | 2 +- gdb/features/library-list-svr4.dtd | 2 +- gdb/features/library-list.dtd | 2 +- gdb/features/microblaze-core.xml | 2 +- gdb/features/microblaze-stack-protect.xml | 2 +- gdb/features/microblaze-with-stack-protect.xml | 2 +- gdb/features/microblaze.xml | 2 +- gdb/features/mips-cp0.xml | 2 +- gdb/features/mips-cpu.xml | 2 +- gdb/features/mips-dsp-linux.xml | 2 +- gdb/features/mips-dsp.xml | 2 +- gdb/features/mips-fpu.xml | 2 +- gdb/features/mips-linux.xml | 2 +- gdb/features/mips64-cp0.xml | 2 +- gdb/features/mips64-cpu.xml | 2 +- gdb/features/mips64-dsp-linux.xml | 2 +- gdb/features/mips64-dsp.xml | 2 +- gdb/features/mips64-fpu.xml | 2 +- gdb/features/mips64-linux.xml | 2 +- gdb/features/nds32-core.xml | 2 +- gdb/features/nds32-fpu.xml | 2 +- gdb/features/nds32-system.xml | 2 +- gdb/features/nds32.xml | 2 +- gdb/features/nios2-cpu.xml | 2 +- gdb/features/nios2-linux.xml | 2 +- gdb/features/nios2.xml | 2 +- gdb/features/or1k-core.xml | 2 +- gdb/features/or1k.xml | 2 +- gdb/features/osdata.dtd | 2 +- gdb/features/riscv/32bit-cpu.c | 46 + gdb/features/riscv/32bit-cpu.xml | 47 + gdb/features/riscv/32bit-csr.c | 253 + gdb/features/riscv/32bit-csr.xml | 250 + gdb/features/riscv/32bit-fpu.c | 50 + gdb/features/riscv/32bit-fpu.xml | 50 + gdb/features/riscv/64bit-cpu.c | 46 + gdb/features/riscv/64bit-cpu.xml | 47 + gdb/features/riscv/64bit-csr.c | 253 + gdb/features/riscv/64bit-csr.xml | 250 + gdb/features/riscv/64bit-fpu.c | 58 + gdb/features/riscv/64bit-fpu.xml | 56 + gdb/features/riscv/rebuild-csr-xml.sh | 29 + gdb/features/rs6000/power-altivec.xml | 2 +- gdb/features/rs6000/power-core.xml | 2 +- gdb/features/rs6000/power-dscr.xml | 2 +- gdb/features/rs6000/power-ebb.xml | 2 +- gdb/features/rs6000/power-fpu-isa205.xml | 2 +- gdb/features/rs6000/power-fpu.xml | 2 +- gdb/features/rs6000/power-htm-altivec.xml | 2 +- gdb/features/rs6000/power-htm-core.xml | 2 +- gdb/features/rs6000/power-htm-dscr.xml | 2 +- gdb/features/rs6000/power-htm-fpu.xml | 2 +- gdb/features/rs6000/power-htm-ppr.xml | 2 +- gdb/features/rs6000/power-htm-spr.xml | 2 +- gdb/features/rs6000/power-htm-tar.xml | 2 +- gdb/features/rs6000/power-htm-vsx.xml | 2 +- gdb/features/rs6000/power-linux-pmu.xml | 2 +- gdb/features/rs6000/power-linux.xml | 2 +- gdb/features/rs6000/power-oea.xml | 2 +- gdb/features/rs6000/power-ppr.xml | 2 +- gdb/features/rs6000/power-spe.xml | 2 +- gdb/features/rs6000/power-tar.xml | 2 +- gdb/features/rs6000/power-vsx.xml | 2 +- gdb/features/rs6000/power64-core.xml | 2 +- gdb/features/rs6000/power64-htm-core.xml | 2 +- gdb/features/rs6000/power64-linux.xml | 2 +- gdb/features/rs6000/powerpc-32.xml | 2 +- gdb/features/rs6000/powerpc-32l.xml | 2 +- gdb/features/rs6000/powerpc-403.xml | 2 +- gdb/features/rs6000/powerpc-403gc.xml | 2 +- gdb/features/rs6000/powerpc-405.xml | 2 +- gdb/features/rs6000/powerpc-505.xml | 2 +- gdb/features/rs6000/powerpc-601.xml | 2 +- gdb/features/rs6000/powerpc-602.xml | 2 +- gdb/features/rs6000/powerpc-603.xml | 2 +- gdb/features/rs6000/powerpc-604.xml | 2 +- gdb/features/rs6000/powerpc-64.xml | 2 +- gdb/features/rs6000/powerpc-64l.xml | 2 +- gdb/features/rs6000/powerpc-7400.xml | 2 +- gdb/features/rs6000/powerpc-750.xml | 2 +- gdb/features/rs6000/powerpc-860.xml | 2 +- gdb/features/rs6000/powerpc-altivec32.xml | 2 +- gdb/features/rs6000/powerpc-altivec32l.xml | 2 +- gdb/features/rs6000/powerpc-altivec64.xml | 2 +- gdb/features/rs6000/powerpc-altivec64l.xml | 2 +- gdb/features/rs6000/powerpc-cell32l.xml | 2 +- gdb/features/rs6000/powerpc-cell64l.xml | 2 +- gdb/features/rs6000/powerpc-e500.xml | 2 +- gdb/features/rs6000/powerpc-e500l.xml | 2 +- gdb/features/rs6000/powerpc-isa205-32l.xml | 2 +- gdb/features/rs6000/powerpc-isa205-64l.xml | 2 +- gdb/features/rs6000/powerpc-isa205-altivec32l.xml | 2 +- gdb/features/rs6000/powerpc-isa205-altivec64l.xml | 2 +- .../rs6000/powerpc-isa205-ppr-dscr-vsx32l.xml | 2 +- .../rs6000/powerpc-isa205-ppr-dscr-vsx64l.xml | 2 +- gdb/features/rs6000/powerpc-isa205-vsx32l.xml | 2 +- gdb/features/rs6000/powerpc-isa205-vsx64l.xml | 2 +- gdb/features/rs6000/powerpc-isa207-htm-vsx32l.xml | 2 +- gdb/features/rs6000/powerpc-isa207-htm-vsx64l.xml | 2 +- gdb/features/rs6000/powerpc-isa207-vsx32l.xml | 2 +- gdb/features/rs6000/powerpc-isa207-vsx64l.xml | 2 +- gdb/features/rs6000/powerpc-vsx32.xml | 2 +- gdb/features/rs6000/powerpc-vsx32l.xml | 2 +- gdb/features/rs6000/powerpc-vsx64.xml | 2 +- gdb/features/rs6000/powerpc-vsx64l.xml | 2 +- gdb/features/rs6000/rs6000.xml | 2 +- gdb/features/s390-acr.xml | 2 +- gdb/features/s390-core32.xml | 2 +- gdb/features/s390-core64.xml | 2 +- gdb/features/s390-fpr.xml | 2 +- gdb/features/s390-gs-linux64.xml | 2 +- gdb/features/s390-gs.xml | 2 +- gdb/features/s390-gsbc.xml | 2 +- gdb/features/s390-linux32.xml | 2 +- gdb/features/s390-linux32v1.xml | 2 +- gdb/features/s390-linux32v2.xml | 2 +- gdb/features/s390-linux64.xml | 2 +- gdb/features/s390-linux64v1.xml | 2 +- gdb/features/s390-linux64v2.xml | 2 +- gdb/features/s390-tdb.xml | 2 +- gdb/features/s390-te-linux64.xml | 2 +- gdb/features/s390-tevx-linux64.xml | 2 +- gdb/features/s390-vx-linux64.xml | 2 +- gdb/features/s390-vx.xml | 2 +- gdb/features/s390x-core64.xml | 2 +- gdb/features/s390x-gs-linux64.xml | 2 +- gdb/features/s390x-linux64.xml | 2 +- gdb/features/s390x-linux64v1.xml | 2 +- gdb/features/s390x-linux64v2.xml | 2 +- gdb/features/s390x-te-linux64.xml | 2 +- gdb/features/s390x-tevx-linux64.xml | 2 +- gdb/features/s390x-vx-linux64.xml | 2 +- gdb/features/sparc/sparc32-cp0.xml | 2 +- gdb/features/sparc/sparc32-cpu.xml | 2 +- gdb/features/sparc/sparc32-fpu.xml | 2 +- gdb/features/sparc/sparc32-solaris.xml | 2 +- gdb/features/sparc/sparc64-cp0.xml | 2 +- gdb/features/sparc/sparc64-cpu.xml | 2 +- gdb/features/sparc/sparc64-fpu.xml | 2 +- gdb/features/sparc/sparc64-solaris.xml | 2 +- gdb/features/threads.dtd | 2 +- gdb/features/tic6x-c62x-linux.xml | 2 +- gdb/features/tic6x-c64x-linux.xml | 2 +- gdb/features/tic6x-c64xp-linux.xml | 2 +- gdb/features/tic6x-c6xp.xml | 2 +- gdb/features/tic6x-core.xml | 2 +- gdb/features/tic6x-gp.xml | 2 +- gdb/features/traceframe-info.dtd | 2 +- gdb/features/xinclude.dtd | 2 +- gdb/filename-seen-cache.c | 2 +- gdb/filename-seen-cache.h | 2 +- gdb/filesystem.c | 2 +- gdb/filesystem.h | 2 +- gdb/findcmd.c | 8 +- gdb/findvar.c | 4 +- gdb/fork-child.c | 13 +- gdb/frame-base.c | 2 +- gdb/frame-base.h | 2 +- gdb/frame-unwind.c | 22 +- gdb/frame-unwind.h | 14 +- gdb/frame.c | 134 +- gdb/frame.h | 2 +- gdb/frv-linux-tdep.c | 2 +- gdb/frv-tdep.c | 34 +- gdb/frv-tdep.h | 6 +- gdb/ft32-tdep.c | 35 +- gdb/ft32-tdep.h | 2 +- gdb/gcore.c | 130 +- gdb/gcore.h | 2 +- gdb/gcore.in | 5 +- gdb/gdb-code-style.el | 2 +- gdb/gdb-demangle.h | 2 +- gdb/gdb-dlfcn.c | 2 +- gdb/gdb-dlfcn.h | 2 +- gdb/gdb-gdb.py.in | 30 +- gdb/gdb-stabs.h | 9 +- gdb/gdb.c | 2 +- gdb/gdb_bfd.c | 16 +- gdb/gdb_bfd.h | 7 +- gdb/gdb_buildall.sh | 2 +- gdb/gdb_curses.h | 2 +- gdb/gdb_expat.h | 2 +- gdb/gdb_mbuild.sh | 2 +- gdb/gdb_obstack.c | 2 +- gdb/gdb_obstack.h | 2 +- gdb/gdb_proc_service.h | 2 +- gdb/gdb_regex.c | 2 +- gdb/gdb_regex.h | 2 +- gdb/gdb_select.h | 4 +- gdb/gdb_usleep.c | 4 +- gdb/gdb_usleep.h | 2 +- gdb/gdb_vfork.h | 2 +- gdb/gdb_wchar.h | 2 +- gdb/gdbarch-selftests.c | 17 +- gdb/gdbarch.c | 81 +- gdb/gdbarch.h | 66 +- gdb/gdbarch.sh | 63 +- gdb/gdbcmd.h | 2 +- gdb/gdbcore.h | 2 +- gdb/gdbserver/ChangeLog | 189 + gdb/gdbserver/Makefile.in | 10 +- gdb/gdbserver/ax.c | 12 +- gdb/gdbserver/ax.h | 8 +- gdb/gdbserver/configure.ac | 2 +- gdb/gdbserver/configure.srv | 2 +- gdb/gdbserver/debug.c | 2 +- gdb/gdbserver/debug.h | 8 +- gdb/gdbserver/dll.c | 2 +- gdb/gdbserver/dll.h | 8 +- gdb/gdbserver/event-loop.c | 4 +- gdb/gdbserver/event-loop.h | 8 +- gdb/gdbserver/fork-child.c | 4 +- gdb/gdbserver/gdb_proc_service.h | 8 +- gdb/gdbserver/gdbreplay.c | 37 +- gdb/gdbserver/gdbthread.h | 10 +- gdb/gdbserver/hostio-errno.c | 4 +- gdb/gdbserver/hostio.c | 4 +- gdb/gdbserver/hostio.h | 8 +- gdb/gdbserver/i387-fp.c | 4 +- gdb/gdbserver/i387-fp.h | 8 +- gdb/gdbserver/inferiors.c | 2 +- gdb/gdbserver/inferiors.h | 10 +- gdb/gdbserver/linux-aarch32-low.c | 2 +- gdb/gdbserver/linux-aarch32-low.h | 7 +- gdb/gdbserver/linux-aarch64-ipa.c | 10 +- gdb/gdbserver/linux-aarch64-low.c | 53 +- gdb/gdbserver/linux-aarch64-tdesc-selftest.c | 4 +- gdb/gdbserver/linux-aarch64-tdesc.c | 12 +- gdb/gdbserver/linux-aarch64-tdesc.h | 9 +- gdb/gdbserver/linux-amd64-ipa.c | 2 +- gdb/gdbserver/linux-arm-low.c | 29 +- gdb/gdbserver/linux-bfin-low.c | 2 +- gdb/gdbserver/linux-cris-low.c | 2 +- gdb/gdbserver/linux-crisv32-low.c | 2 +- gdb/gdbserver/linux-i386-ipa.c | 2 +- gdb/gdbserver/linux-ia64-low.c | 2 +- gdb/gdbserver/linux-low.c | 103 +- gdb/gdbserver/linux-low.h | 18 +- gdb/gdbserver/linux-m32r-low.c | 2 +- gdb/gdbserver/linux-m68k-low.c | 2 +- gdb/gdbserver/linux-mips-low.c | 2 +- gdb/gdbserver/linux-nios2-low.c | 2 +- gdb/gdbserver/linux-ppc-ipa.c | 2 +- gdb/gdbserver/linux-ppc-low.c | 43 +- gdb/gdbserver/linux-ppc-tdesc-init.h | 7 +- gdb/gdbserver/linux-s390-ipa.c | 2 +- gdb/gdbserver/linux-s390-low.c | 34 +- gdb/gdbserver/linux-s390-tdesc.h | 7 +- gdb/gdbserver/linux-sh-low.c | 2 +- gdb/gdbserver/linux-sparc-low.c | 2 +- gdb/gdbserver/linux-tic6x-low.c | 2 +- gdb/gdbserver/linux-tile-low.c | 2 +- gdb/gdbserver/linux-x86-low.c | 7 +- gdb/gdbserver/linux-x86-tdesc-selftest.c | 4 +- gdb/gdbserver/linux-x86-tdesc.c | 4 +- gdb/gdbserver/linux-x86-tdesc.h | 7 +- gdb/gdbserver/linux-xtensa-low.c | 2 +- gdb/gdbserver/lynx-i386-low.c | 6 +- gdb/gdbserver/lynx-low.c | 10 +- gdb/gdbserver/lynx-low.h | 7 +- gdb/gdbserver/lynx-ppc-low.c | 2 +- gdb/gdbserver/mem-break.c | 2 +- gdb/gdbserver/mem-break.h | 10 +- gdb/gdbserver/notif.c | 2 +- gdb/gdbserver/notif.h | 9 +- gdb/gdbserver/nto-low.c | 2 +- gdb/gdbserver/nto-low.h | 9 +- gdb/gdbserver/nto-x86-low.c | 6 +- gdb/gdbserver/proc-service.c | 2 +- gdb/gdbserver/proc-service.list | 2 +- gdb/gdbserver/regcache.c | 4 +- gdb/gdbserver/regcache.h | 10 +- gdb/gdbserver/remote-utils.c | 18 +- gdb/gdbserver/remote-utils.h | 8 +- gdb/gdbserver/server.c | 50 +- gdb/gdbserver/server.h | 21 +- gdb/gdbserver/spu-low.c | 10 +- gdb/gdbserver/symbol.c | 4 +- gdb/gdbserver/target.c | 2 +- gdb/gdbserver/target.h | 18 +- gdb/gdbserver/tdesc.c | 2 +- gdb/gdbserver/tdesc.h | 8 +- gdb/gdbserver/thread-db.c | 4 +- gdb/gdbserver/tracepoint.c | 7 +- gdb/gdbserver/tracepoint.h | 8 +- gdb/gdbserver/utils.c | 2 +- gdb/gdbserver/utils.h | 8 +- gdb/gdbserver/win32-arm-low.c | 2 +- gdb/gdbserver/win32-i386-low.c | 6 +- gdb/gdbserver/win32-low.c | 10 +- gdb/gdbserver/win32-low.h | 7 +- gdb/gdbserver/wincecompat.c | 2 +- gdb/gdbserver/wincecompat.h | 8 +- gdb/gdbserver/x86-low.c | 2 +- gdb/gdbserver/x86-low.h | 6 +- gdb/gdbserver/x86-tdesc.h | 8 +- gdb/gdbserver/xtensa-xtregs.c | 2 +- gdb/gdbthread.h | 176 +- gdb/gdbtypes.c | 974 +- gdb/gdbtypes.h | 60 +- gdb/glibc-tdep.c | 2 +- gdb/glibc-tdep.h | 2 +- gdb/gnu-nat.c | 63 +- gdb/gnu-nat.h | 27 +- gdb/gnu-v2-abi.c | 2 +- gdb/gnu-v3-abi.c | 2 +- gdb/gnulib/Makefile.in | 2 +- gdb/gnulib/configure.ac | 2 +- gdb/gnulib/update-gnulib.sh | 2 +- gdb/go-exp.y | 2 +- gdb/go-lang.c | 2 +- gdb/go-lang.h | 2 +- gdb/go-typeprint.c | 2 +- gdb/go-valprint.c | 2 +- gdb/go32-nat.c | 8 +- gdb/gregset.h | 2 +- gdb/guile/guile-internal.h | 9 +- gdb/guile/guile.c | 4 +- gdb/guile/guile.h | 8 +- gdb/guile/lib/gdb.scm | 2 +- gdb/guile/lib/gdb/boot.scm | 2 +- gdb/guile/lib/gdb/experimental.scm | 2 +- gdb/guile/lib/gdb/init.scm | 2 +- gdb/guile/lib/gdb/iterator.scm | 2 +- gdb/guile/lib/gdb/printing.scm | 2 +- gdb/guile/lib/gdb/support.scm | 2 +- gdb/guile/lib/gdb/types.scm | 2 +- gdb/guile/scm-arch.c | 2 +- gdb/guile/scm-auto-load.c | 2 +- gdb/guile/scm-block.c | 2 +- gdb/guile/scm-breakpoint.c | 2 +- gdb/guile/scm-cmd.c | 2 +- gdb/guile/scm-disasm.c | 2 +- gdb/guile/scm-exception.c | 2 +- gdb/guile/scm-frame.c | 2 +- gdb/guile/scm-gsmob.c | 2 +- gdb/guile/scm-iterator.c | 2 +- gdb/guile/scm-lazy-string.c | 2 +- gdb/guile/scm-math.c | 18 +- gdb/guile/scm-objfile.c | 13 +- gdb/guile/scm-param.c | 2 +- gdb/guile/scm-ports.c | 2 +- gdb/guile/scm-pretty-print.c | 27 +- gdb/guile/scm-progspace.c | 19 +- gdb/guile/scm-safe-call.c | 2 +- gdb/guile/scm-string.c | 2 +- gdb/guile/scm-symbol.c | 2 +- gdb/guile/scm-symtab.c | 2 +- gdb/guile/scm-type.c | 4 +- gdb/guile/scm-utils.c | 2 +- gdb/guile/scm-value.c | 9 +- gdb/h8300-tdep.c | 29 +- gdb/hppa-bsd-tdep.c | 2 +- gdb/hppa-bsd-tdep.h | 2 +- gdb/hppa-linux-nat.c | 2 +- gdb/hppa-linux-offsets.h | 7 +- gdb/hppa-linux-tdep.c | 2 +- gdb/hppa-nbsd-nat.c | 2 +- gdb/hppa-nbsd-tdep.c | 2 +- gdb/hppa-obsd-nat.c | 2 +- gdb/hppa-obsd-tdep.c | 2 +- gdb/hppa-tdep.c | 149 +- gdb/hppa-tdep.h | 2 +- gdb/i386-bsd-nat.c | 56 +- gdb/i386-bsd-nat.h | 2 +- gdb/i386-bsd-tdep.c | 2 +- gdb/i386-cygwin-tdep.c | 11 +- gdb/i386-darwin-nat.c | 2 +- gdb/i386-darwin-tdep.c | 7 +- gdb/i386-darwin-tdep.h | 9 +- gdb/i386-dicos-tdep.c | 2 +- gdb/i386-fbsd-nat.c | 6 +- gdb/i386-fbsd-tdep.c | 35 +- gdb/i386-fbsd-tdep.h | 2 +- gdb/i386-gnu-nat.c | 20 +- gdb/i386-gnu-tdep.c | 2 +- gdb/i386-go32-tdep.c | 6 +- gdb/i386-linux-nat.c | 4 +- gdb/i386-linux-nat.h | 2 +- gdb/i386-linux-tdep.c | 6 +- gdb/i386-linux-tdep.h | 2 +- gdb/i386-nbsd-nat.c | 2 +- gdb/i386-nbsd-tdep.c | 2 +- gdb/i386-nto-tdep.c | 2 +- gdb/i386-obsd-nat.c | 2 +- gdb/i386-obsd-tdep.c | 2 +- gdb/i386-sol2-nat.c | 2 +- gdb/i386-sol2-tdep.c | 2 +- gdb/i386-tdep.c | 44 +- gdb/i386-tdep.h | 14 +- gdb/i386-windows-nat.c | 2 +- gdb/i387-tdep.c | 44 +- gdb/i387-tdep.h | 2 +- gdb/ia64-libunwind-tdep.c | 2 +- gdb/ia64-libunwind-tdep.h | 2 +- gdb/ia64-linux-nat.c | 19 +- gdb/ia64-linux-tdep.c | 2 +- gdb/ia64-tdep.c | 13 +- gdb/ia64-tdep.h | 2 +- gdb/ia64-vms-tdep.c | 2 +- gdb/inf-child.c | 45 +- gdb/inf-child.h | 19 +- gdb/inf-loop.c | 2 +- gdb/inf-loop.h | 2 +- gdb/inf-ptrace.c | 14 +- gdb/inf-ptrace.h | 4 +- gdb/infcall.c | 178 +- gdb/infcall.h | 17 +- gdb/infcmd.c | 336 +- gdb/inferior-iter.h | 117 + gdb/inferior.c | 156 +- gdb/inferior.h | 106 +- gdb/inflow.c | 10 +- gdb/inflow.h | 2 +- gdb/infrun.c | 1002 +- gdb/infrun.h | 51 +- gdb/inline-frame.c | 9 +- gdb/inline-frame.h | 2 +- gdb/interps.c | 2 +- gdb/interps.h | 2 +- gdb/iq2000-tdep.c | 11 +- gdb/jit-reader.in | 2 +- gdb/jit.c | 26 +- gdb/jit.h | 2 +- gdb/language.c | 8 +- gdb/language.h | 42 +- gdb/libiberty.m4 | 2 +- gdb/libmcheck.m4 | 2 +- gdb/linespec.c | 298 +- gdb/linespec.h | 2 +- gdb/linux-fork.c | 514 +- gdb/linux-fork.h | 9 +- gdb/linux-nat-trad.c | 2 +- gdb/linux-nat-trad.h | 2 +- gdb/linux-nat.c | 356 +- gdb/linux-nat.h | 11 +- gdb/linux-record.c | 2 +- gdb/linux-record.h | 9 +- gdb/linux-tdep.c | 43 +- gdb/linux-tdep.h | 10 +- gdb/linux-thread-db.c | 56 +- gdb/lm32-tdep.c | 7 +- gdb/location.c | 4 +- gdb/location.h | 9 +- gdb/m2-exp.y | 8 +- gdb/m2-lang.c | 2 +- gdb/m2-lang.h | 6 +- gdb/m2-typeprint.c | 8 +- gdb/m2-valprint.c | 4 +- gdb/m32c-tdep.c | 7 +- gdb/m32r-linux-nat.c | 2 +- gdb/m32r-linux-tdep.c | 2 +- gdb/m32r-tdep.c | 8 +- gdb/m32r-tdep.h | 2 +- gdb/m68hc11-tdep.c | 11 +- gdb/m68k-bsd-nat.c | 2 +- gdb/m68k-bsd-tdep.c | 2 +- gdb/m68k-linux-nat.c | 2 +- gdb/m68k-linux-tdep.c | 2 +- gdb/m68k-tdep.c | 7 +- gdb/m68k-tdep.h | 2 +- gdb/machoread.c | 4 +- gdb/macrocmd.c | 42 +- gdb/macroexp.c | 5 +- gdb/macroexp.h | 2 +- gdb/macroscope.c | 2 +- gdb/macroscope.h | 2 +- gdb/macrotab.c | 126 +- gdb/macrotab.h | 7 +- gdb/main.c | 25 +- gdb/main.h | 2 +- gdb/maint.c | 39 +- gdb/maint.h | 4 +- gdb/make-target-delegates | 6 +- gdb/mdebugread.c | 105 +- gdb/mdebugread.h | 11 +- gdb/mem-break.c | 2 +- gdb/memattr.c | 6 +- gdb/memattr.h | 2 +- gdb/memory-map.c | 2 +- gdb/memory-map.h | 2 +- gdb/memrange.c | 2 +- gdb/memrange.h | 4 +- gdb/mep-tdep.c | 6 +- gdb/mi/mi-cmd-break.c | 2 +- gdb/mi/mi-cmd-break.h | 9 +- gdb/mi/mi-cmd-catch.c | 2 +- gdb/mi/mi-cmd-disas.c | 2 +- gdb/mi/mi-cmd-env.c | 4 +- gdb/mi/mi-cmd-file.c | 29 +- gdb/mi/mi-cmd-info.c | 2 +- gdb/mi/mi-cmd-stack.c | 2 +- gdb/mi/mi-cmd-target.c | 2 +- gdb/mi/mi-cmd-var.c | 2 +- gdb/mi/mi-cmds.c | 4 +- gdb/mi/mi-cmds.h | 8 +- gdb/mi/mi-common.c | 2 +- gdb/mi/mi-common.h | 8 +- gdb/mi/mi-console.c | 2 +- gdb/mi/mi-console.h | 8 +- gdb/mi/mi-getopt.c | 2 +- gdb/mi/mi-getopt.h | 10 +- gdb/mi/mi-interp.c | 102 +- gdb/mi/mi-interp.h | 8 +- gdb/mi/mi-main.c | 49 +- gdb/mi/mi-main.h | 20 +- gdb/mi/mi-out.c | 37 +- gdb/mi/mi-out.h | 18 +- gdb/mi/mi-parse.c | 2 +- gdb/mi/mi-parse.h | 10 +- gdb/mi/mi-symbol-cmds.c | 2 +- gdb/microblaze-linux-tdep.c | 2 +- gdb/microblaze-tdep.c | 2 +- gdb/microblaze-tdep.h | 2 +- gdb/mingw-hdep.c | 194 +- gdb/minidebug.c | 2 +- gdb/minsyms.c | 248 +- gdb/minsyms.h | 27 +- gdb/mips-fbsd-nat.c | 2 +- gdb/mips-fbsd-tdep.c | 2 +- gdb/mips-fbsd-tdep.h | 2 +- gdb/mips-linux-nat.c | 2 +- gdb/mips-linux-tdep.c | 4 +- gdb/mips-linux-tdep.h | 7 +- gdb/mips-nbsd-nat.c | 2 +- gdb/mips-nbsd-tdep.c | 2 +- gdb/mips-nbsd-tdep.h | 2 +- gdb/mips-sde-tdep.c | 2 +- gdb/mips-tdep.c | 21 +- gdb/mips-tdep.h | 2 +- gdb/mips64-obsd-nat.c | 2 +- gdb/mips64-obsd-tdep.c | 2 +- gdb/mipsread.c | 3 +- gdb/mn10300-linux-tdep.c | 2 +- gdb/mn10300-tdep.c | 8 +- gdb/mn10300-tdep.h | 7 +- gdb/moxie-tdep.c | 2 +- gdb/moxie-tdep.h | 2 +- gdb/msp430-tdep.c | 7 +- gdb/namespace.c | 2 +- gdb/namespace.h | 6 +- gdb/nat/aarch64-linux-hw-point.c | 55 +- gdb/nat/aarch64-linux-hw-point.h | 15 +- gdb/nat/aarch64-linux.c | 25 +- gdb/nat/aarch64-linux.h | 8 +- gdb/nat/aarch64-sve-linux-ptrace.c | 6 +- gdb/nat/aarch64-sve-linux-ptrace.h | 10 +- gdb/nat/aarch64-sve-linux-sigcontext.h | 11 +- gdb/nat/amd64-linux-siginfo.c | 4 +- gdb/nat/amd64-linux-siginfo.h | 8 +- gdb/nat/fork-inferior.c | 14 +- gdb/nat/fork-inferior.h | 8 +- gdb/nat/gdb_ptrace.h | 10 +- gdb/nat/gdb_thread_db.h | 9 +- gdb/nat/glibc_thread_db.h | 6 +- gdb/nat/linux-btrace.c | 19 +- gdb/nat/linux-btrace.h | 12 +- gdb/nat/linux-namespaces.c | 49 +- gdb/nat/linux-namespaces.h | 8 +- gdb/nat/linux-nat.h | 17 +- gdb/nat/linux-osdata.c | 1618 +- gdb/nat/linux-osdata.h | 8 +- gdb/nat/linux-personality.c | 4 +- gdb/nat/linux-personality.h | 2 +- gdb/nat/linux-procfs.c | 6 +- gdb/nat/linux-procfs.h | 8 +- gdb/nat/linux-ptrace.c | 83 +- gdb/nat/linux-ptrace.h | 10 +- gdb/nat/linux-waitpid.c | 6 +- gdb/nat/linux-waitpid.h | 8 +- gdb/nat/mips-linux-watch.c | 4 +- gdb/nat/mips-linux-watch.h | 11 +- gdb/nat/ppc-linux.c | 4 +- gdb/nat/ppc-linux.h | 8 +- gdb/nat/x86-cpuid.h | 8 +- gdb/nat/x86-dregs.c | 6 +- gdb/nat/x86-dregs.h | 11 +- gdb/nat/x86-gcc-cpuid.h | 8 +- gdb/nat/x86-linux-dregs.c | 10 +- gdb/nat/x86-linux-dregs.h | 8 +- gdb/nat/x86-linux.c | 4 +- gdb/nat/x86-linux.h | 8 +- gdb/nbsd-nat.c | 2 +- gdb/nbsd-nat.h | 2 +- gdb/nbsd-tdep.c | 2 +- gdb/nbsd-tdep.h | 2 +- gdb/nds32-tdep.c | 7 +- gdb/nds32-tdep.h | 2 +- gdb/nios2-linux-tdep.c | 14 +- gdb/nios2-tdep.c | 57 +- gdb/nios2-tdep.h | 5 +- gdb/nto-procfs.c | 30 +- gdb/nto-tdep.c | 2 +- gdb/nto-tdep.h | 8 +- gdb/objc-lang.c | 156 +- gdb/objc-lang.h | 2 +- gdb/objfile-flags.h | 2 +- gdb/objfiles.c | 246 +- gdb/objfiles.h | 256 +- gdb/obsd-nat.c | 13 +- gdb/obsd-nat.h | 4 +- gdb/obsd-tdep.c | 2 +- gdb/obsd-tdep.h | 2 +- gdb/observable.c | 3 +- gdb/observable.h | 12 +- gdb/opencl-lang.c | 2 +- gdb/or1k-linux-tdep.c | 170 + gdb/or1k-tdep.c | 11 +- gdb/or1k-tdep.h | 9 +- gdb/osabi.c | 2 +- gdb/osabi.h | 2 +- gdb/osdata.c | 4 +- gdb/osdata.h | 2 +- gdb/p-exp.y | 8 +- gdb/p-lang.c | 2 +- gdb/p-lang.h | 7 +- gdb/p-typeprint.c | 2 +- gdb/p-valprint.c | 7 +- gdb/parse.c | 61 +- gdb/parser-defs.h | 41 +- gdb/posix-hdep.c | 10 +- gdb/ppc-fbsd-nat.c | 2 +- gdb/ppc-fbsd-tdep.c | 37 +- gdb/ppc-fbsd-tdep.h | 2 +- gdb/ppc-linux-nat.c | 44 +- gdb/ppc-linux-tdep.c | 11 +- gdb/ppc-linux-tdep.h | 2 +- gdb/ppc-nbsd-nat.c | 2 +- gdb/ppc-nbsd-tdep.c | 2 +- gdb/ppc-nbsd-tdep.h | 2 +- gdb/ppc-obsd-nat.c | 2 +- gdb/ppc-obsd-tdep.c | 2 +- gdb/ppc-obsd-tdep.h | 2 +- gdb/ppc-ravenscar-thread.c | 58 +- gdb/ppc-ravenscar-thread.h | 2 +- gdb/ppc-sysv-tdep.c | 12 +- gdb/ppc-tdep.h | 31 +- gdb/ppc64-tdep.c | 2 +- gdb/ppc64-tdep.h | 2 +- gdb/printcmd.c | 258 +- gdb/probe.c | 46 +- gdb/probe.h | 2 +- gdb/proc-api.c | 4 +- gdb/proc-events.c | 2 +- gdb/proc-flags.c | 2 +- gdb/proc-service.c | 2 +- gdb/proc-service.list | 2 +- gdb/proc-utils.h | 7 +- gdb/proc-why.c | 2 +- gdb/process-stratum-target.c | 85 + gdb/process-stratum-target.h | 56 + gdb/procfs.c | 52 +- gdb/procfs.h | 6 +- gdb/producer.c | 4 +- gdb/producer.h | 2 +- gdb/progspace-and-thread.c | 2 +- gdb/progspace-and-thread.h | 2 +- gdb/progspace.c | 6 +- gdb/progspace.h | 39 +- gdb/prologue-value.c | 2 +- gdb/prologue-value.h | 2 +- gdb/psympriv.h | 49 +- gdb/psymtab.c | 889 +- gdb/psymtab.h | 127 +- gdb/ptrace.m4 | 2 +- gdb/python/lib/gdb/FrameDecorator.py | 2 +- gdb/python/lib/gdb/FrameIterator.py | 2 +- gdb/python/lib/gdb/__init__.py | 2 +- gdb/python/lib/gdb/command/__init__.py | 2 +- gdb/python/lib/gdb/command/explore.py | 2 +- gdb/python/lib/gdb/command/frame_filters.py | 2 +- gdb/python/lib/gdb/command/pretty_printers.py | 4 +- gdb/python/lib/gdb/command/prompt.py | 2 +- gdb/python/lib/gdb/command/type_printers.py | 2 +- gdb/python/lib/gdb/command/unwinders.py | 2 +- gdb/python/lib/gdb/command/xmethods.py | 2 +- gdb/python/lib/gdb/frames.py | 2 +- gdb/python/lib/gdb/function/__init__.py | 2 +- gdb/python/lib/gdb/function/as_string.py | 2 +- gdb/python/lib/gdb/function/caller_is.py | 2 +- gdb/python/lib/gdb/function/strfns.py | 2 +- gdb/python/lib/gdb/printer/__init__.py | 2 +- gdb/python/lib/gdb/printer/bound_registers.py | 2 +- gdb/python/lib/gdb/printing.py | 2 +- gdb/python/lib/gdb/prompt.py | 2 +- gdb/python/lib/gdb/types.py | 2 +- gdb/python/lib/gdb/unwinder.py | 2 +- gdb/python/lib/gdb/xmethod.py | 2 +- gdb/python/py-all-events.def | 2 +- gdb/python/py-arch.c | 8 +- gdb/python/py-auto-load.c | 2 +- gdb/python/py-block.c | 3 +- gdb/python/py-bpevent.c | 3 +- gdb/python/py-breakpoint.c | 16 +- gdb/python/py-cmd.c | 26 +- gdb/python/py-continueevent.c | 3 +- gdb/python/py-event-types.def | 2 +- gdb/python/py-event.c | 2 +- gdb/python/py-event.h | 9 +- gdb/python/py-events.h | 8 +- gdb/python/py-evtregistry.c | 3 +- gdb/python/py-evts.c | 2 +- gdb/python/py-exitedevent.c | 4 +- gdb/python/py-finishbreakpoint.c | 5 +- gdb/python/py-frame.c | 7 +- gdb/python/py-framefilter.c | 35 +- gdb/python/py-function.c | 14 +- gdb/python/py-gdb-readline.c | 2 +- gdb/python/py-inferior.c | 125 +- gdb/python/py-infevents.c | 3 +- gdb/python/py-infthread.c | 8 +- gdb/python/py-instruction.c | 2 +- gdb/python/py-instruction.h | 8 +- gdb/python/py-lazy-string.c | 2 +- gdb/python/py-linetable.c | 3 +- gdb/python/py-newobjfileevent.c | 2 +- gdb/python/py-objfile.c | 35 +- gdb/python/py-param.c | 7 +- gdb/python/py-prettyprint.c | 150 +- gdb/python/py-progspace.c | 23 +- gdb/python/py-record-btrace.c | 13 +- gdb/python/py-record-btrace.h | 8 +- gdb/python/py-record-full.c | 2 +- gdb/python/py-record-full.h | 8 +- gdb/python/py-record.c | 10 +- gdb/python/py-record.h | 8 +- gdb/python/py-ref.h | 8 +- gdb/python/py-signalevent.c | 2 +- gdb/python/py-stopevent.c | 2 +- gdb/python/py-stopevent.h | 8 +- gdb/python/py-symbol.c | 3 +- gdb/python/py-symtab.c | 57 +- gdb/python/py-threadevent.c | 2 +- gdb/python/py-type.c | 92 +- gdb/python/py-unwind.c | 10 +- gdb/python/py-utils.c | 80 +- gdb/python/py-value.c | 281 +- gdb/python/py-varobj.c | 13 +- gdb/python/py-xmethods.c | 47 +- gdb/python/python-internal.h | 163 +- gdb/python/python.c | 76 +- gdb/python/python.h | 8 +- gdb/ravenscar-thread.c | 241 +- gdb/ravenscar-thread.h | 11 +- gdb/record-btrace.c | 115 +- gdb/record-btrace.h | 2 +- gdb/record-full.c | 25 +- gdb/record-full.h | 2 +- gdb/record.c | 12 +- gdb/record.h | 8 +- gdb/regcache-dump.c | 2 +- gdb/regcache.c | 47 +- gdb/regcache.h | 4 +- gdb/regformats/regdat.sh | 2 +- gdb/regformats/regdef.h | 8 +- gdb/reggroups.c | 2 +- gdb/reggroups.h | 2 +- gdb/registry.c | 2 +- gdb/registry.h | 2 +- gdb/regset.h | 2 +- gdb/remote-fileio.c | 8 +- gdb/remote-fileio.h | 5 +- gdb/remote-notif.c | 50 +- gdb/remote-notif.h | 30 +- gdb/remote-sim.c | 32 +- gdb/remote.c | 1202 +- gdb/remote.h | 2 +- gdb/reply_mig_hack.awk | 2 +- gdb/reverse.c | 2 +- gdb/riscv-fbsd-nat.c | 2 +- gdb/riscv-fbsd-tdep.c | 29 +- gdb/riscv-fbsd-tdep.h | 7 +- gdb/riscv-linux-nat.c | 40 +- gdb/riscv-linux-tdep.c | 25 +- gdb/riscv-tdep.c | 1162 +- gdb/riscv-tdep.h | 71 +- gdb/rl78-tdep.c | 7 +- gdb/rs6000-aix-tdep.c | 9 +- gdb/rs6000-aix-tdep.h | 2 +- gdb/rs6000-lynx178-tdep.c | 7 +- gdb/rs6000-nat.c | 2 +- gdb/rs6000-tdep.c | 110 +- gdb/rs6000-tdep.h | 6 +- gdb/rust-exp.y | 6 +- gdb/rust-lang.c | 20 +- gdb/rust-lang.h | 2 +- gdb/rx-tdep.c | 10 +- gdb/s12z-tdep.c | 64 +- gdb/s390-linux-nat.c | 10 +- gdb/s390-linux-tdep.c | 5 +- gdb/s390-linux-tdep.h | 2 +- gdb/s390-tdep.c | 9 +- gdb/s390-tdep.h | 2 +- gdb/sanitize.m4 | 2 +- gdb/score-tdep.c | 7 +- gdb/score-tdep.h | 2 +- gdb/selftest-arch.c | 4 +- gdb/selftest-arch.h | 2 +- gdb/selftest.m4 | 2 +- gdb/sentinel-frame.c | 2 +- gdb/sentinel-frame.h | 2 +- gdb/ser-base.c | 4 +- gdb/ser-base.h | 2 +- gdb/ser-event.c | 2 +- gdb/ser-event.h | 2 +- gdb/ser-go32.c | 2 +- gdb/ser-mingw.c | 2 +- gdb/ser-pipe.c | 6 +- gdb/ser-tcp.c | 15 +- gdb/ser-tcp.h | 2 +- gdb/ser-uds.c | 2 +- gdb/ser-unix.c | 6 +- gdb/ser-unix.h | 2 +- gdb/serial.c | 2 +- gdb/serial.h | 2 +- gdb/sh-linux-tdep.c | 2 +- gdb/sh-nbsd-nat.c | 2 +- gdb/sh-nbsd-tdep.c | 2 +- gdb/sh-tdep.c | 11 +- gdb/sh-tdep.h | 2 +- gdb/sim-regno.h | 2 +- gdb/skip.c | 50 +- gdb/skip.h | 2 +- gdb/sol-thread.c | 48 +- gdb/sol2-tdep.c | 13 +- gdb/sol2-tdep.h | 4 +- gdb/solib-aix.c | 12 +- gdb/solib-aix.h | 2 +- gdb/solib-darwin.c | 9 +- gdb/solib-darwin.h | 2 +- gdb/solib-dsbt.c | 4 +- gdb/solib-frv.c | 2 +- gdb/solib-spu.c | 7 +- gdb/solib-spu.h | 2 +- gdb/solib-svr4.c | 66 +- gdb/solib-svr4.h | 2 +- gdb/solib-target.c | 75 +- gdb/solib-target.h | 2 +- gdb/solib.c | 25 +- gdb/solib.h | 2 +- gdb/solist.h | 2 +- gdb/source-cache.c | 237 + gdb/source-cache.h | 80 + gdb/source.c | 444 +- gdb/source.h | 108 +- gdb/sparc-linux-nat.c | 4 +- gdb/sparc-linux-tdep.c | 2 +- gdb/sparc-nat.c | 4 +- gdb/sparc-nat.h | 2 +- gdb/sparc-nbsd-nat.c | 2 +- gdb/sparc-nbsd-tdep.c | 2 +- gdb/sparc-obsd-tdep.c | 2 +- gdb/sparc-ravenscar-thread.c | 36 +- gdb/sparc-ravenscar-thread.h | 2 +- gdb/sparc-sol2-nat.c | 2 +- gdb/sparc-sol2-tdep.c | 2 +- gdb/sparc-tdep.c | 17 +- gdb/sparc-tdep.h | 2 +- gdb/sparc64-fbsd-nat.c | 2 +- gdb/sparc64-fbsd-tdep.c | 2 +- gdb/sparc64-linux-nat.c | 2 +- gdb/sparc64-linux-tdep.c | 2 +- gdb/sparc64-nat.c | 2 +- gdb/sparc64-nbsd-nat.c | 2 +- gdb/sparc64-nbsd-tdep.c | 2 +- gdb/sparc64-obsd-nat.c | 2 +- gdb/sparc64-obsd-tdep.c | 2 +- gdb/sparc64-sol2-tdep.c | 2 +- gdb/sparc64-tdep.c | 17 +- gdb/sparc64-tdep.h | 2 +- gdb/spu-linux-nat.c | 4 +- gdb/spu-multiarch.c | 7 +- gdb/spu-tdep.c | 23 +- gdb/spu-tdep.h | 2 +- gdb/stabsread.c | 125 +- gdb/stabsread.h | 52 +- gdb/stack.c | 22 +- gdb/stack.h | 2 +- gdb/stap-probe.c | 6 +- gdb/stap-probe.h | 2 +- gdb/std-operator.def | 3 +- gdb/std-regs.c | 2 +- gdb/stub-termcap.c | 2 +- gdb/stubs/ChangeLog | 4 + gdb/stubs/buildvms.com | 2 +- gdb/stubs/ia64vms-stub.c | 3 +- gdb/symfile-add-flags.h | 2 +- gdb/symfile-debug.c | 31 +- gdb/symfile-mem.c | 2 +- gdb/symfile.c | 396 +- gdb/symfile.h | 15 +- gdb/symmisc.c | 530 +- gdb/symtab.c | 891 +- gdb/symtab.h | 104 +- gdb/syscalls/aarch64-linux.xml | 2 +- gdb/syscalls/aarch64-linux.xml.in | 2 +- gdb/syscalls/amd64-linux.xml | 2 +- gdb/syscalls/amd64-linux.xml.in | 2 +- gdb/syscalls/apply-defaults.xsl | 2 +- gdb/syscalls/arm-linux.py | 2 +- gdb/syscalls/arm-linux.xml | 2 +- gdb/syscalls/arm-linux.xml.in | 2 +- gdb/syscalls/bfin-linux.xml.in | 2 +- gdb/syscalls/freebsd.xml | 112 +- gdb/syscalls/gdb-syscalls.dtd | 3 +- gdb/syscalls/i386-linux.xml | 2 +- gdb/syscalls/i386-linux.xml.in | 2 +- gdb/syscalls/linux-defaults.xml.in | 2 +- gdb/syscalls/mips-n32-linux.xml | 2 +- gdb/syscalls/mips-n32-linux.xml.in | 2 +- gdb/syscalls/mips-n64-linux.xml | 2 +- gdb/syscalls/mips-n64-linux.xml.in | 2 +- gdb/syscalls/mips-o32-linux.xml | 2 +- gdb/syscalls/mips-o32-linux.xml.in | 2 +- gdb/syscalls/ppc-linux.xml | 2 +- gdb/syscalls/ppc-linux.xml.in | 2 +- gdb/syscalls/ppc64-linux.xml | 2 +- gdb/syscalls/ppc64-linux.xml.in | 2 +- gdb/syscalls/s390-linux.xml | 2 +- gdb/syscalls/s390-linux.xml.in | 2 +- gdb/syscalls/s390x-linux.xml | 2 +- gdb/syscalls/s390x-linux.xml.in | 2 +- gdb/syscalls/sparc-linux.xml | 2 +- gdb/syscalls/sparc-linux.xml.in | 2 +- gdb/syscalls/sparc64-linux.xml | 2 +- gdb/syscalls/sparc64-linux.xml.in | 2 +- gdb/syscalls/update-freebsd.sh | 78 + gdb/system-gdbinit/elinos.py | 2 +- gdb/system-gdbinit/wrs-linux.py | 2 +- gdb/target-dcache.c | 2 +- gdb/target-dcache.h | 2 +- gdb/target-debug.h | 24 +- gdb/target-delegates.c | 76 +- gdb/target-descriptions.c | 17 +- gdb/target-descriptions.h | 15 +- gdb/target-float.c | 2 +- gdb/target-float.h | 8 +- gdb/target-memory.c | 6 +- gdb/target.c | 264 +- gdb/target.h | 114 +- gdb/target/resume.h | 8 +- gdb/target/target.h | 8 +- gdb/target/wait.h | 8 +- gdb/target/waitstatus.c | 4 +- gdb/target/waitstatus.h | 10 +- gdb/terminal.h | 2 +- gdb/test-target.c | 39 + gdb/test-target.h | 65 + gdb/testsuite/ChangeLog | 591 +- gdb/testsuite/ChangeLog-1993-2013 | 2 +- gdb/testsuite/Makefile.in | 22 +- gdb/testsuite/README | 35 + gdb/testsuite/analyze-racy-logs.py | 2 +- gdb/testsuite/boards/cc-with-tweaks.exp | 2 +- gdb/testsuite/boards/dwarf4-gdb-index.exp | 2 +- gdb/testsuite/boards/fission-dwp.exp | 2 +- gdb/testsuite/boards/fission.exp | 2 +- gdb/testsuite/boards/gdbserver-base.exp | 2 +- gdb/testsuite/boards/local-board.exp | 5 +- gdb/testsuite/boards/local-remote-host-native.exp | 2 +- gdb/testsuite/boards/local-remote-host-notty.exp | 2 +- gdb/testsuite/boards/local-remote-host.exp | 2 +- gdb/testsuite/boards/native-extended-gdbserver.exp | 2 +- gdb/testsuite/boards/native-gdbserver.exp | 2 +- gdb/testsuite/boards/native-stdio-gdbserver.exp | 2 +- .../boards/remote-gdbserver-on-localhost.exp | 2 +- gdb/testsuite/boards/remote-stdio-gdbserver.exp | 2 +- gdb/testsuite/boards/stabs.exp | 2 +- gdb/testsuite/boards/stdio-gdbserver-base.exp | 2 +- gdb/testsuite/config/cfdbug.exp | 2 +- gdb/testsuite/config/d10v.exp | 2 +- gdb/testsuite/config/default.exp | 4 +- gdb/testsuite/config/dve.exp | 2 +- gdb/testsuite/config/extended-gdbserver.exp | 2 +- gdb/testsuite/config/gdbserver.exp | 2 +- gdb/testsuite/config/i960.exp | 2 +- gdb/testsuite/config/m32r.exp | 2 +- gdb/testsuite/config/mips-idt.exp | 2 +- gdb/testsuite/config/mips.exp | 2 +- gdb/testsuite/config/mn10300-eval.exp | 2 +- gdb/testsuite/config/monitor.exp | 5 +- gdb/testsuite/config/proelf.exp | 2 +- gdb/testsuite/config/rom68k.exp | 2 +- gdb/testsuite/config/sh.exp | 2 +- gdb/testsuite/config/sid.exp | 4 +- gdb/testsuite/config/sim.exp | 16 +- gdb/testsuite/config/slite.exp | 4 +- gdb/testsuite/config/unix.exp | 4 +- gdb/testsuite/config/vr4300.exp | 2 +- gdb/testsuite/config/vr5000.exp | 2 +- gdb/testsuite/configure.ac | 2 +- gdb/testsuite/gdb.ada/O2_float_param.exp | 2 +- gdb/testsuite/gdb.ada/O2_float_param/callee.adb | 2 +- gdb/testsuite/gdb.ada/O2_float_param/callee.ads | 2 +- gdb/testsuite/gdb.ada/O2_float_param/caller.adb | 2 +- gdb/testsuite/gdb.ada/O2_float_param/caller.ads | 2 +- gdb/testsuite/gdb.ada/O2_float_param/foo.adb | 2 +- gdb/testsuite/gdb.ada/O2_float_param/io.adb | 2 +- gdb/testsuite/gdb.ada/O2_float_param/io.ads | 2 +- gdb/testsuite/gdb.ada/access_tagged_param.exp | 2 +- gdb/testsuite/gdb.ada/access_tagged_param/foo.adb | 2 +- gdb/testsuite/gdb.ada/access_tagged_param/pck.adb | 2 +- gdb/testsuite/gdb.ada/access_tagged_param/pck.ads | 2 +- gdb/testsuite/gdb.ada/access_to_packed_array.exp | 2 +- .../gdb.ada/access_to_packed_array/foo.adb | 2 +- .../gdb.ada/access_to_packed_array/pack.adb | 2 +- .../gdb.ada/access_to_packed_array/pack.ads | 2 +- .../gdb.ada/access_to_unbounded_array.exp | 2 +- .../gdb.ada/access_to_unbounded_array/foo.adb | 2 +- .../gdb.ada/access_to_unbounded_array/pack.adb | 2 +- .../gdb.ada/access_to_unbounded_array/pack.ads | 2 +- gdb/testsuite/gdb.ada/addr_arith.exp | 2 +- gdb/testsuite/gdb.ada/addr_arith/foo_na07_019.adb | 2 +- gdb/testsuite/gdb.ada/addr_arith/pck.adb | 2 +- gdb/testsuite/gdb.ada/addr_arith/pck.ads | 2 +- gdb/testsuite/gdb.ada/aliased_array.exp | 2 +- gdb/testsuite/gdb.ada/aliased_array/foo.adb | 2 +- gdb/testsuite/gdb.ada/aliased_array/pck.adb | 2 +- gdb/testsuite/gdb.ada/aliased_array/pck.ads | 2 +- gdb/testsuite/gdb.ada/arr_acc_idx_w_gap.exp | 2 +- .../gdb.ada/arr_acc_idx_w_gap/enum_with_gap.adb | 2 +- .../gdb.ada/arr_acc_idx_w_gap/enum_with_gap.ads | 2 +- .../arr_acc_idx_w_gap/enum_with_gap_main.adb | 2 +- gdb/testsuite/gdb.ada/arr_arr.exp | 2 +- gdb/testsuite/gdb.ada/arr_arr/foo.adb | 2 +- gdb/testsuite/gdb.ada/arr_arr/pck.adb | 2 +- gdb/testsuite/gdb.ada/arr_arr/pck.ads | 2 +- gdb/testsuite/gdb.ada/arr_enum_idx_w_gap.exp | 2 +- .../gdb.ada/arr_enum_idx_w_gap/foo_q418_043.adb | 2 +- gdb/testsuite/gdb.ada/array_bounds.exp | 2 +- gdb/testsuite/gdb.ada/array_bounds/bar.adb | 2 +- gdb/testsuite/gdb.ada/array_char_idx.exp | 2 +- gdb/testsuite/gdb.ada/array_char_idx/foo.adb | 2 +- gdb/testsuite/gdb.ada/array_char_idx/pck.adb | 2 +- gdb/testsuite/gdb.ada/array_char_idx/pck.ads | 2 +- gdb/testsuite/gdb.ada/array_of_variable_length.exp | 2 +- .../gdb.ada/array_of_variable_length/foo.adb | 2 +- .../gdb.ada/array_of_variable_length/pck.adb | 2 +- .../gdb.ada/array_of_variable_length/pck.ads | 2 +- gdb/testsuite/gdb.ada/array_ptr_renaming.exp | 2 +- gdb/testsuite/gdb.ada/array_ptr_renaming/foo.adb | 2 +- gdb/testsuite/gdb.ada/array_ptr_renaming/pack.ads | 2 +- gdb/testsuite/gdb.ada/array_return.exp | 2 +- gdb/testsuite/gdb.ada/array_return/p.adb | 2 +- gdb/testsuite/gdb.ada/array_return/pck.adb | 2 +- gdb/testsuite/gdb.ada/array_return/pck.ads | 2 +- gdb/testsuite/gdb.ada/array_subscript_addr.exp | 2 +- gdb/testsuite/gdb.ada/array_subscript_addr/p.adb | 2 +- gdb/testsuite/gdb.ada/arraydim.exp | 2 +- gdb/testsuite/gdb.ada/arraydim/foo.adb | 2 +- gdb/testsuite/gdb.ada/arraydim/inc.c | 2 +- gdb/testsuite/gdb.ada/arraydim/pck.adb | 2 +- gdb/testsuite/gdb.ada/arraydim/pck.ads | 2 +- gdb/testsuite/gdb.ada/arrayidx.exp | 2 +- gdb/testsuite/gdb.ada/arrayidx/p.adb | 2 +- gdb/testsuite/gdb.ada/arrayparam.exp | 2 +- gdb/testsuite/gdb.ada/arrayparam/foo.adb | 2 +- gdb/testsuite/gdb.ada/arrayparam/pck.adb | 2 +- gdb/testsuite/gdb.ada/arrayparam/pck.ads | 2 +- gdb/testsuite/gdb.ada/arrayptr.exp | 2 +- gdb/testsuite/gdb.ada/arrayptr/foo.adb | 2 +- gdb/testsuite/gdb.ada/arrayptr/pck.adb | 2 +- gdb/testsuite/gdb.ada/arrayptr/pck.ads | 2 +- gdb/testsuite/gdb.ada/assign_1.exp | 2 +- gdb/testsuite/gdb.ada/assign_arr.exp | 4 +- gdb/testsuite/gdb.ada/assign_arr/main_p324_051.adb | 4 +- .../gdb.ada/assign_arr/target_wrapper.ads | 4 +- gdb/testsuite/gdb.ada/atomic_enum.exp | 2 +- gdb/testsuite/gdb.ada/atomic_enum/foo.adb | 2 +- gdb/testsuite/gdb.ada/atomic_enum/pck.adb | 2 +- gdb/testsuite/gdb.ada/atomic_enum/pck.ads | 2 +- gdb/testsuite/gdb.ada/attr_ref_and_charlit.exp | 2 +- gdb/testsuite/gdb.ada/attr_ref_and_charlit/foo.adb | 2 +- gdb/testsuite/gdb.ada/bad-task-bp-keyword.exp | 2 +- gdb/testsuite/gdb.ada/bad-task-bp-keyword/foo.adb | 2 +- gdb/testsuite/gdb.ada/big_packed_array.exp | 35 + .../gdb.ada/big_packed_array/foo_ra24_010.adb | 24 + gdb/testsuite/gdb.ada/big_packed_array/pck.adb | 21 + gdb/testsuite/gdb.ada/big_packed_array/pck.ads | 53 + gdb/testsuite/gdb.ada/boolean_expr.exp | 2 +- gdb/testsuite/gdb.ada/bp_c_mixed_case.exp | 2 +- gdb/testsuite/gdb.ada/bp_c_mixed_case/bar.c | 2 +- .../gdb.ada/bp_c_mixed_case/foo_h731_021.adb | 2 +- gdb/testsuite/gdb.ada/bp_c_mixed_case/qux.c | 2 +- gdb/testsuite/gdb.ada/bp_enum_homonym.exp | 2 +- gdb/testsuite/gdb.ada/bp_enum_homonym/p.adb | 2 +- gdb/testsuite/gdb.ada/bp_enum_homonym/pck.adb | 2 +- gdb/testsuite/gdb.ada/bp_enum_homonym/pck.ads | 2 +- gdb/testsuite/gdb.ada/bp_fun_addr.exp | 12 +- gdb/testsuite/gdb.ada/bp_fun_addr/a.adb | 19 - gdb/testsuite/gdb.ada/bp_fun_addr/bp_fun_addr.adb | 19 + gdb/testsuite/gdb.ada/bp_inlined_func.exp | 2 +- gdb/testsuite/gdb.ada/bp_inlined_func/b.adb | 2 +- gdb/testsuite/gdb.ada/bp_inlined_func/b.ads | 2 +- gdb/testsuite/gdb.ada/bp_inlined_func/c.adb | 2 +- gdb/testsuite/gdb.ada/bp_inlined_func/c.ads | 2 +- gdb/testsuite/gdb.ada/bp_inlined_func/foo.adb | 2 +- gdb/testsuite/gdb.ada/bp_on_var.exp | 2 +- gdb/testsuite/gdb.ada/bp_on_var/foo.adb | 2 +- gdb/testsuite/gdb.ada/bp_on_var/pck.adb | 2 +- gdb/testsuite/gdb.ada/bp_on_var/pck.ads | 2 +- gdb/testsuite/gdb.ada/bp_range_type.exp | 2 +- gdb/testsuite/gdb.ada/bp_range_type/foo.adb | 2 +- gdb/testsuite/gdb.ada/bp_range_type/pck.adb | 2 +- gdb/testsuite/gdb.ada/bp_range_type/pck.ads | 2 +- gdb/testsuite/gdb.ada/bp_reset.exp | 2 +- gdb/testsuite/gdb.ada/bp_reset/foo.adb | 2 +- gdb/testsuite/gdb.ada/bp_reset/io.adb | 2 +- gdb/testsuite/gdb.ada/bp_reset/io.ads | 2 +- gdb/testsuite/gdb.ada/bp_reset/pck.adb | 2 +- gdb/testsuite/gdb.ada/bp_reset/pck.ads | 2 +- gdb/testsuite/gdb.ada/byte_packed_arr.exp | 2 +- .../gdb.ada/byte_packed_arr/array_list_g.ads | 2 +- gdb/testsuite/gdb.ada/byte_packed_arr/reprod.adb | 2 +- gdb/testsuite/gdb.ada/byte_packed_arr/reprod.ads | 2 +- .../gdb.ada/byte_packed_arr/reprod_main.adb | 2 +- gdb/testsuite/gdb.ada/call_pn.exp | 2 +- gdb/testsuite/gdb.ada/call_pn/foo.adb | 2 +- gdb/testsuite/gdb.ada/call_pn/pck.adb | 2 +- gdb/testsuite/gdb.ada/call_pn/pck.ads | 2 +- gdb/testsuite/gdb.ada/catch_assert_if.exp | 2 +- gdb/testsuite/gdb.ada/catch_assert_if/bla.adb | 2 +- gdb/testsuite/gdb.ada/catch_assert_if/pck.ads | 2 +- gdb/testsuite/gdb.ada/catch_ex.exp | 2 +- gdb/testsuite/gdb.ada/catch_ex/foo.adb | 2 +- gdb/testsuite/gdb.ada/char_enum.exp | 2 +- gdb/testsuite/gdb.ada/char_enum/foo.adb | 2 +- gdb/testsuite/gdb.ada/char_enum/pck.adb | 2 +- gdb/testsuite/gdb.ada/char_enum/pck.ads | 2 +- gdb/testsuite/gdb.ada/char_param.exp | 2 +- gdb/testsuite/gdb.ada/char_param/foo.adb | 2 +- gdb/testsuite/gdb.ada/char_param/pck.adb | 2 +- gdb/testsuite/gdb.ada/char_param/pck.ads | 2 +- gdb/testsuite/gdb.ada/complete.exp | 2 +- gdb/testsuite/gdb.ada/complete/aux_pck.adb | 2 +- gdb/testsuite/gdb.ada/complete/aux_pck.ads | 2 +- gdb/testsuite/gdb.ada/complete/foo.adb | 2 +- gdb/testsuite/gdb.ada/complete/pck.adb | 2 +- gdb/testsuite/gdb.ada/complete/pck.ads | 2 +- gdb/testsuite/gdb.ada/cond_lang.exp | 2 +- gdb/testsuite/gdb.ada/cond_lang/a.adb | 2 +- gdb/testsuite/gdb.ada/cond_lang/foo.c | 2 +- gdb/testsuite/gdb.ada/cond_lang/mixed.adb | 2 +- gdb/testsuite/gdb.ada/cond_lang/mixed.ads | 2 +- gdb/testsuite/gdb.ada/cond_lang/pck.adb | 2 +- gdb/testsuite/gdb.ada/cond_lang/pck.ads | 2 +- gdb/testsuite/gdb.ada/convvar_comp.exp | 2 +- gdb/testsuite/gdb.ada/convvar_comp/pb16_063.adb | 2 +- gdb/testsuite/gdb.ada/convvar_comp/pck.adb | 2 +- gdb/testsuite/gdb.ada/convvar_comp/pck.ads | 2 +- gdb/testsuite/gdb.ada/disc_arr_bound.exp | 2 +- .../gdb.ada/disc_arr_bound/foo_n612_026.adb | 2 +- gdb/testsuite/gdb.ada/disc_arr_bound/pck.adb | 2 +- gdb/testsuite/gdb.ada/disc_arr_bound/pck.ads | 2 +- gdb/testsuite/gdb.ada/dot_all.exp | 2 +- gdb/testsuite/gdb.ada/dot_all/foo.adb | 2 +- gdb/testsuite/gdb.ada/dot_all/pck.adb | 2 +- gdb/testsuite/gdb.ada/dot_all/pck.ads | 2 +- gdb/testsuite/gdb.ada/dyn_arrayidx.exp | 2 +- gdb/testsuite/gdb.ada/dyn_arrayidx/foo.adb | 2 +- gdb/testsuite/gdb.ada/dyn_loc.exp | 2 +- gdb/testsuite/gdb.ada/dyn_loc/p.adb | 2 +- gdb/testsuite/gdb.ada/dyn_loc/pack.adb | 2 +- gdb/testsuite/gdb.ada/dyn_loc/pack.ads | 2 +- gdb/testsuite/gdb.ada/dyn_stride.exp | 2 +- gdb/testsuite/gdb.ada/dyn_stride/foo.adb | 2 +- gdb/testsuite/gdb.ada/enum_idx_packed.exp | 2 +- gdb/testsuite/gdb.ada/enum_idx_packed/foo.adb | 2 +- gdb/testsuite/gdb.ada/enum_idx_packed/pck.adb | 2 +- gdb/testsuite/gdb.ada/enum_idx_packed/pck.ads | 2 +- gdb/testsuite/gdb.ada/excep_handle.exp | 2 +- gdb/testsuite/gdb.ada/excep_handle/foo.adb | 2 +- gdb/testsuite/gdb.ada/excep_handle/pck.ads | 2 +- gdb/testsuite/gdb.ada/exec_changed.exp | 2 +- gdb/testsuite/gdb.ada/exec_changed/first.adb | 2 +- gdb/testsuite/gdb.ada/exec_changed/second.adb | 2 +- gdb/testsuite/gdb.ada/expr_delims.exp | 2 +- gdb/testsuite/gdb.ada/expr_delims/foo.adb | 2 +- gdb/testsuite/gdb.ada/expr_delims/pck.adb | 2 +- gdb/testsuite/gdb.ada/expr_delims/pck.ads | 2 +- gdb/testsuite/gdb.ada/expr_with_funcall.exp | 2 +- .../gdb.ada/expr_with_funcall/expr_r821_013.adb | 2 +- gdb/testsuite/gdb.ada/expr_with_funcall/pck.adb | 2 +- gdb/testsuite/gdb.ada/expr_with_funcall/pck.ads | 2 +- gdb/testsuite/gdb.ada/exprs.exp | 2 +- gdb/testsuite/gdb.ada/exprs/p.adb | 2 +- gdb/testsuite/gdb.ada/fin_fun_out.exp | 2 +- gdb/testsuite/gdb.ada/fin_fun_out/bar.adb | 2 +- gdb/testsuite/gdb.ada/fin_fun_out/bar.ads | 2 +- gdb/testsuite/gdb.ada/fin_fun_out/foo_o525_013.adb | 2 +- gdb/testsuite/gdb.ada/fixed_cmp.exp | 2 +- gdb/testsuite/gdb.ada/fixed_cmp/fixed.adb | 2 +- gdb/testsuite/gdb.ada/fixed_cmp/pck.adb | 2 +- gdb/testsuite/gdb.ada/fixed_cmp/pck.ads | 2 +- gdb/testsuite/gdb.ada/fixed_points.exp | 2 +- .../gdb.ada/fixed_points/fixed_points.adb | 2 +- gdb/testsuite/gdb.ada/float_param.exp | 2 +- gdb/testsuite/gdb.ada/float_param/foo.adb | 2 +- gdb/testsuite/gdb.ada/float_param/pck.adb | 2 +- gdb/testsuite/gdb.ada/float_param/pck.ads | 2 +- gdb/testsuite/gdb.ada/formatted_ref.exp | 2 +- gdb/testsuite/gdb.ada/formatted_ref/defs.adb | 2 +- gdb/testsuite/gdb.ada/formatted_ref/defs.ads | 2 +- .../gdb.ada/formatted_ref/formatted_ref.adb | 2 +- gdb/testsuite/gdb.ada/frame_args.exp | 2 +- gdb/testsuite/gdb.ada/frame_args/foo.adb | 2 +- gdb/testsuite/gdb.ada/frame_args/pck.adb | 2 +- gdb/testsuite/gdb.ada/frame_args/pck.ads | 2 +- gdb/testsuite/gdb.ada/fullname_bp.exp | 2 +- gdb/testsuite/gdb.ada/fullname_bp/dn.adb | 2 +- gdb/testsuite/gdb.ada/fullname_bp/dn.ads | 2 +- gdb/testsuite/gdb.ada/fullname_bp/foo.adb | 2 +- gdb/testsuite/gdb.ada/fullname_bp/pck.adb | 2 +- gdb/testsuite/gdb.ada/fullname_bp/pck.ads | 2 +- gdb/testsuite/gdb.ada/fun_addr.exp | 2 +- gdb/testsuite/gdb.ada/fun_addr/foo.adb | 2 +- gdb/testsuite/gdb.ada/fun_in_declare.exp | 2 +- gdb/testsuite/gdb.ada/fun_in_declare/foo.adb | 2 +- gdb/testsuite/gdb.ada/fun_in_declare/pck.adb | 2 +- gdb/testsuite/gdb.ada/fun_in_declare/pck.ads | 2 +- gdb/testsuite/gdb.ada/fun_overload_menu.exp | 2 +- gdb/testsuite/gdb.ada/fun_overload_menu/foo.adb | 2 +- gdb/testsuite/gdb.ada/fun_renaming.exp | 16 +- .../gdb.ada/fun_renaming/fun_renaming.adb | 9 +- gdb/testsuite/gdb.ada/fun_renaming/pack.adb | 6 +- gdb/testsuite/gdb.ada/fun_renaming/pack.ads | 7 +- gdb/testsuite/gdb.ada/funcall_char.exp | 2 +- gdb/testsuite/gdb.ada/funcall_char/foo.adb | 2 +- gdb/testsuite/gdb.ada/funcall_param.exp | 2 +- gdb/testsuite/gdb.ada/funcall_param/foo.adb | 2 +- gdb/testsuite/gdb.ada/funcall_param/pck.adb | 2 +- gdb/testsuite/gdb.ada/funcall_param/pck.ads | 2 +- gdb/testsuite/gdb.ada/funcall_ptr.exp | 2 +- gdb/testsuite/gdb.ada/funcall_ptr/foo.adb | 2 +- gdb/testsuite/gdb.ada/funcall_ptr/pck.adb | 2 +- gdb/testsuite/gdb.ada/funcall_ptr/pck.ads | 2 +- gdb/testsuite/gdb.ada/funcall_ref.exp | 2 +- gdb/testsuite/gdb.ada/funcall_ref/foo.adb | 2 +- gdb/testsuite/gdb.ada/homonym.exp | 4 +- gdb/testsuite/gdb.ada/homonym/homonym.adb | 2 +- gdb/testsuite/gdb.ada/homonym/homonym.ads | 2 +- gdb/testsuite/gdb.ada/homonym/homonym_main.adb | 2 +- gdb/testsuite/gdb.ada/homonym/pck.adb | 2 +- gdb/testsuite/gdb.ada/homonym/pck.ads | 2 +- gdb/testsuite/gdb.ada/info_addr_mixed_case.exp | 2 +- gdb/testsuite/gdb.ada/info_addr_mixed_case/foo.adb | 2 +- gdb/testsuite/gdb.ada/info_addr_mixed_case/pck.adb | 2 +- gdb/testsuite/gdb.ada/info_addr_mixed_case/pck.ads | 2 +- gdb/testsuite/gdb.ada/info_auto_lang.exp | 158 + .../gdb.ada/info_auto_lang/global_pack.ads | 25 + .../gdb.ada/info_auto_lang/proc_in_ada.adb | 24 + gdb/testsuite/gdb.ada/info_auto_lang/some_c.c | 28 + gdb/testsuite/gdb.ada/info_exc.exp | 2 +- gdb/testsuite/gdb.ada/info_exc/const.ads | 2 +- gdb/testsuite/gdb.ada/info_exc/foo.adb | 2 +- gdb/testsuite/gdb.ada/info_locals_renaming.exp | 2 +- gdb/testsuite/gdb.ada/info_locals_renaming/foo.adb | 2 +- gdb/testsuite/gdb.ada/info_locals_renaming/pck.adb | 2 +- gdb/testsuite/gdb.ada/info_locals_renaming/pck.ads | 2 +- gdb/testsuite/gdb.ada/info_types.c | 2 +- gdb/testsuite/gdb.ada/info_types.exp | 2 +- gdb/testsuite/gdb.ada/int_deref.exp | 2 +- gdb/testsuite/gdb.ada/int_deref/foo.adb | 2 +- gdb/testsuite/gdb.ada/int_deref/pck.ads | 2 +- gdb/testsuite/gdb.ada/interface.exp | 2 +- gdb/testsuite/gdb.ada/interface/foo.adb | 2 +- gdb/testsuite/gdb.ada/interface/types.adb | 2 +- gdb/testsuite/gdb.ada/interface/types.ads | 2 +- gdb/testsuite/gdb.ada/iwide.exp | 2 +- gdb/testsuite/gdb.ada/iwide/classes.adb | 2 +- gdb/testsuite/gdb.ada/iwide/classes.ads | 2 +- gdb/testsuite/gdb.ada/iwide/p.adb | 2 +- gdb/testsuite/gdb.ada/lang_switch.exp | 2 +- gdb/testsuite/gdb.ada/lang_switch/foo.c | 2 +- gdb/testsuite/gdb.ada/lang_switch/lang_switch.adb | 2 +- gdb/testsuite/gdb.ada/maint_with_ada.exp | 2 +- gdb/testsuite/gdb.ada/maint_with_ada/pack.adb | 2 +- gdb/testsuite/gdb.ada/maint_with_ada/pack.ads | 2 +- .../gdb.ada/maint_with_ada/var_arr_typedef.adb | 2 +- gdb/testsuite/gdb.ada/mi_catch_assert.exp | 2 +- gdb/testsuite/gdb.ada/mi_catch_assert/bla.adb | 2 +- gdb/testsuite/gdb.ada/mi_catch_assert/pck.ads | 2 +- gdb/testsuite/gdb.ada/mi_catch_ex.exp | 2 +- gdb/testsuite/gdb.ada/mi_catch_ex/foo.adb | 2 +- gdb/testsuite/gdb.ada/mi_catch_ex_hand.exp | 2 +- gdb/testsuite/gdb.ada/mi_catch_ex_hand/foo.adb | 2 +- gdb/testsuite/gdb.ada/mi_dyn_arr.exp | 2 +- gdb/testsuite/gdb.ada/mi_dyn_arr/foo.adb | 2 +- gdb/testsuite/gdb.ada/mi_dyn_arr/pck.adb | 2 +- gdb/testsuite/gdb.ada/mi_dyn_arr/pck.ads | 2 +- gdb/testsuite/gdb.ada/mi_ex_cond.exp | 2 +- gdb/testsuite/gdb.ada/mi_ex_cond/foo.adb | 2 +- gdb/testsuite/gdb.ada/mi_ex_cond/pck.ads | 2 +- gdb/testsuite/gdb.ada/mi_exc_info.exp | 2 +- gdb/testsuite/gdb.ada/mi_exc_info/const.ads | 2 +- gdb/testsuite/gdb.ada/mi_exc_info/foo.adb | 2 +- gdb/testsuite/gdb.ada/mi_interface.exp | 2 +- gdb/testsuite/gdb.ada/mi_interface/foo.adb | 2 +- gdb/testsuite/gdb.ada/mi_interface/pck.adb | 2 +- gdb/testsuite/gdb.ada/mi_interface/pck.ads | 2 +- gdb/testsuite/gdb.ada/mi_ref_changeable.exp | 71 + .../gdb.ada/mi_ref_changeable/foo_rb20_056.adb | 28 + gdb/testsuite/gdb.ada/mi_ref_changeable/pck.adb | 26 + gdb/testsuite/gdb.ada/mi_ref_changeable/pck.ads | 20 + gdb/testsuite/gdb.ada/mi_string_access.exp | 2 +- gdb/testsuite/gdb.ada/mi_string_access/bar.adb | 2 +- gdb/testsuite/gdb.ada/mi_string_access/pck.adb | 2 +- gdb/testsuite/gdb.ada/mi_string_access/pck.ads | 2 +- gdb/testsuite/gdb.ada/mi_task_arg.exp | 2 +- gdb/testsuite/gdb.ada/mi_task_arg/task_switch.adb | 2 +- gdb/testsuite/gdb.ada/mi_task_info.exp | 2 +- gdb/testsuite/gdb.ada/mi_task_info/task_switch.adb | 2 +- gdb/testsuite/gdb.ada/mi_var_array.exp | 2 +- gdb/testsuite/gdb.ada/mi_var_array/bar.adb | 2 +- gdb/testsuite/gdb.ada/mi_var_array/pck.adb | 2 +- gdb/testsuite/gdb.ada/mi_var_array/pck.ads | 2 +- gdb/testsuite/gdb.ada/mi_var_union.exp | 2 +- gdb/testsuite/gdb.ada/mi_var_union/bar.adb | 2 +- gdb/testsuite/gdb.ada/mi_var_union/pck.adb | 2 +- gdb/testsuite/gdb.ada/mi_var_union/pck.ads | 2 +- gdb/testsuite/gdb.ada/minsyms.exp | 2 +- gdb/testsuite/gdb.ada/minsyms/foo_qb07_057.adb | 2 +- gdb/testsuite/gdb.ada/minsyms/pck.adb | 2 +- gdb/testsuite/gdb.ada/minsyms/pck.ads | 2 +- gdb/testsuite/gdb.ada/mod_from_name.exp | 2 +- gdb/testsuite/gdb.ada/mod_from_name/foo.adb | 2 +- gdb/testsuite/gdb.ada/n_arr_bound.exp | 2 +- gdb/testsuite/gdb.ada/n_arr_bound/foo.adb | 2 +- gdb/testsuite/gdb.ada/n_arr_bound/pck.adb | 2 +- gdb/testsuite/gdb.ada/n_arr_bound/pck.ads | 2 +- gdb/testsuite/gdb.ada/nested.exp | 2 +- gdb/testsuite/gdb.ada/nested/hello.adb | 2 +- gdb/testsuite/gdb.ada/notcplusplus.exp | 2 +- gdb/testsuite/gdb.ada/notcplusplus/foo.adb | 2 +- gdb/testsuite/gdb.ada/notcplusplus/pck.adb | 2 +- gdb/testsuite/gdb.ada/notcplusplus/pck.ads | 2 +- gdb/testsuite/gdb.ada/notcplusplus/ver.ads | 2 +- gdb/testsuite/gdb.ada/null_array.exp | 2 +- gdb/testsuite/gdb.ada/null_array/foo.adb | 2 +- gdb/testsuite/gdb.ada/null_array/pck.adb | 2 +- gdb/testsuite/gdb.ada/null_array/pck.ads | 2 +- gdb/testsuite/gdb.ada/null_record.exp | 2 +- gdb/testsuite/gdb.ada/null_record/bar.adb | 2 +- gdb/testsuite/gdb.ada/null_record/bar.ads | 2 +- gdb/testsuite/gdb.ada/null_record/null_record.adb | 2 +- gdb/testsuite/gdb.ada/operator_bp.exp | 2 +- gdb/testsuite/gdb.ada/operator_bp/ops.adb | 2 +- gdb/testsuite/gdb.ada/operator_bp/ops.ads | 2 +- gdb/testsuite/gdb.ada/operator_bp/ops_test.adb | 2 +- gdb/testsuite/gdb.ada/optim_drec.exp | 2 +- gdb/testsuite/gdb.ada/optim_drec/foo.adb | 2 +- gdb/testsuite/gdb.ada/out_of_line_in_inlined.exp | 2 +- .../gdb.ada/out_of_line_in_inlined/bar.adb | 2 +- .../gdb.ada/out_of_line_in_inlined/bar.ads | 2 +- .../out_of_line_in_inlined/foo_o224_021.adb | 2 +- gdb/testsuite/gdb.ada/packed_array.exp | 2 +- gdb/testsuite/gdb.ada/packed_array/pa.adb | 2 +- gdb/testsuite/gdb.ada/packed_array/pck.adb | 2 +- gdb/testsuite/gdb.ada/packed_array/pck.ads | 2 +- gdb/testsuite/gdb.ada/packed_array_assign.exp | 6 +- .../gdb.ada/packed_array_assign/aggregates.adb | 2 +- .../gdb.ada/packed_array_assign/aggregates.ads | 10 +- gdb/testsuite/gdb.ada/packed_array_assign/pck.adb | 2 +- gdb/testsuite/gdb.ada/packed_array_assign/pck.ads | 2 +- .../gdb.ada/packed_array_assign/tester.adb | 2 +- gdb/testsuite/gdb.ada/packed_tagged.exp | 2 +- gdb/testsuite/gdb.ada/packed_tagged/comp_bug.adb | 2 +- gdb/testsuite/gdb.ada/pckd_arr_ren.exp | 2 +- gdb/testsuite/gdb.ada/pckd_arr_ren/foo.adb | 2 +- gdb/testsuite/gdb.ada/pckd_arr_ren/pck.adb | 2 +- gdb/testsuite/gdb.ada/pckd_arr_ren/pck.ads | 2 +- gdb/testsuite/gdb.ada/pckd_neg.exp | 2 +- gdb/testsuite/gdb.ada/pckd_neg/foo_o508_021.adb | 2 +- gdb/testsuite/gdb.ada/pckd_neg/pck.adb | 2 +- gdb/testsuite/gdb.ada/pckd_neg/pck.ads | 2 +- gdb/testsuite/gdb.ada/pkd_arr_elem.exp | 2 +- gdb/testsuite/gdb.ada/pkd_arr_elem/failure.adb | 2 +- gdb/testsuite/gdb.ada/pkd_arr_elem/pck.adb | 2 +- gdb/testsuite/gdb.ada/pkd_arr_elem/pck.ads | 2 +- gdb/testsuite/gdb.ada/pp-rec-component.exp | 2 +- gdb/testsuite/gdb.ada/pp-rec-component.py | 2 +- gdb/testsuite/gdb.ada/pp-rec-component/foo.adb | 2 +- gdb/testsuite/gdb.ada/pp-rec-component/pck.adb | 2 +- gdb/testsuite/gdb.ada/pp-rec-component/pck.ads | 2 +- gdb/testsuite/gdb.ada/print_chars.exp | 2 +- gdb/testsuite/gdb.ada/print_chars/foo.adb | 2 +- gdb/testsuite/gdb.ada/print_chars/pck.adb | 2 +- gdb/testsuite/gdb.ada/print_chars/pck.ads | 2 +- gdb/testsuite/gdb.ada/print_pc.exp | 2 +- gdb/testsuite/gdb.ada/ptr_typedef.exp | 2 +- gdb/testsuite/gdb.ada/ptr_typedef/foo.adb | 2 +- gdb/testsuite/gdb.ada/ptr_typedef/pck.adb | 2 +- gdb/testsuite/gdb.ada/ptr_typedef/pck.ads | 2 +- gdb/testsuite/gdb.ada/ptype_arith_binop.exp | 2 +- gdb/testsuite/gdb.ada/ptype_array.exp | 34 + gdb/testsuite/gdb.ada/ptype_array/foo.adb | 21 + gdb/testsuite/gdb.ada/ptype_array/pck.adb | 23 + gdb/testsuite/gdb.ada/ptype_array/pck.ads | 30 + gdb/testsuite/gdb.ada/ptype_field.exp | 2 +- gdb/testsuite/gdb.ada/ptype_field/foo.adb | 2 +- gdb/testsuite/gdb.ada/ptype_field/pck.adb | 2 +- gdb/testsuite/gdb.ada/ptype_field/pck.ads | 2 +- gdb/testsuite/gdb.ada/ptype_tagged_param.exp | 2 +- gdb/testsuite/gdb.ada/ptype_tagged_param/foo.adb | 2 +- gdb/testsuite/gdb.ada/ptype_tagged_param/pck.adb | 2 +- gdb/testsuite/gdb.ada/ptype_tagged_param/pck.ads | 2 +- gdb/testsuite/gdb.ada/py_range.exp | 2 +- gdb/testsuite/gdb.ada/py_range/foo.adb | 2 +- gdb/testsuite/gdb.ada/py_range/pck.adb | 2 +- gdb/testsuite/gdb.ada/py_range/pck.ads | 2 +- gdb/testsuite/gdb.ada/rdv_wait.exp | 2 +- gdb/testsuite/gdb.ada/rdv_wait/foo.adb | 2 +- gdb/testsuite/gdb.ada/rdv_wait/pck.adb | 2 +- gdb/testsuite/gdb.ada/rdv_wait/pck.ads | 2 +- gdb/testsuite/gdb.ada/rec_comp.exp | 2 +- gdb/testsuite/gdb.ada/rec_comp/bar_o203_012.adb | 2 +- gdb/testsuite/gdb.ada/rec_comp/pck.adb | 2 +- gdb/testsuite/gdb.ada/rec_comp/pck.ads | 2 +- gdb/testsuite/gdb.ada/rec_return.exp | 2 +- gdb/testsuite/gdb.ada/rec_return/foo.adb | 2 +- gdb/testsuite/gdb.ada/rec_return/pck.adb | 2 +- gdb/testsuite/gdb.ada/rec_return/pck.ads | 2 +- gdb/testsuite/gdb.ada/ref_param.exp | 2 +- gdb/testsuite/gdb.ada/ref_param/foo.adb | 2 +- gdb/testsuite/gdb.ada/ref_param/pck.adb | 2 +- gdb/testsuite/gdb.ada/ref_param/pck.ads | 2 +- gdb/testsuite/gdb.ada/ref_tick_size.exp | 2 +- gdb/testsuite/gdb.ada/ref_tick_size/p.adb | 2 +- gdb/testsuite/gdb.ada/ref_tick_size/pck.adb | 2 +- gdb/testsuite/gdb.ada/ref_tick_size/pck.ads | 2 +- gdb/testsuite/gdb.ada/rename_subscript_param.exp | 10 +- .../gdb.ada/rename_subscript_param/pb30_012.adb | 2 +- .../gdb.ada/rename_subscript_param/pck.adb | 2 +- .../gdb.ada/rename_subscript_param/pck.ads | 2 +- .../gdb.ada/rename_subscript_param/pkg.adb | 6 +- .../gdb.ada/rename_subscript_param/pkg.ads | 2 +- gdb/testsuite/gdb.ada/repeat_dyn.exp | 2 +- gdb/testsuite/gdb.ada/repeat_dyn/foo_oc22_002.adb | 2 +- gdb/testsuite/gdb.ada/repeat_dyn/pck.adb | 2 +- gdb/testsuite/gdb.ada/repeat_dyn/pck.ads | 2 +- gdb/testsuite/gdb.ada/same_component_name.exp | 2 +- gdb/testsuite/gdb.ada/same_component_name/foo.adb | 2 +- gdb/testsuite/gdb.ada/same_component_name/pck.adb | 2 +- gdb/testsuite/gdb.ada/same_component_name/pck.ads | 2 +- gdb/testsuite/gdb.ada/same_enum.exp | 2 +- gdb/testsuite/gdb.ada/same_enum/a.adb | 2 +- gdb/testsuite/gdb.ada/same_enum/pck.adb | 2 +- gdb/testsuite/gdb.ada/same_enum/pck.ads | 2 +- gdb/testsuite/gdb.ada/scoped_watch.exp | 2 +- .../gdb.ada/scoped_watch/foo_p708_025.adb | 2 +- gdb/testsuite/gdb.ada/scoped_watch/pck.adb | 2 +- gdb/testsuite/gdb.ada/scoped_watch/pck.ads | 2 +- gdb/testsuite/gdb.ada/set_pckd_arr_elt.exp | 2 +- gdb/testsuite/gdb.ada/set_pckd_arr_elt/foo.adb | 2 +- gdb/testsuite/gdb.ada/set_pckd_arr_elt/pck.adb | 2 +- gdb/testsuite/gdb.ada/set_pckd_arr_elt/pck.ads | 2 +- gdb/testsuite/gdb.ada/set_wstr.exp | 2 +- gdb/testsuite/gdb.ada/set_wstr/a.adb | 2 +- gdb/testsuite/gdb.ada/set_wstr/pck.adb | 2 +- gdb/testsuite/gdb.ada/set_wstr/pck.ads | 2 +- gdb/testsuite/gdb.ada/small_reg_param.exp | 2 +- gdb/testsuite/gdb.ada/small_reg_param/foo.adb | 2 +- gdb/testsuite/gdb.ada/small_reg_param/pck.adb | 2 +- gdb/testsuite/gdb.ada/small_reg_param/pck.ads | 2 +- gdb/testsuite/gdb.ada/start.exp | 2 +- gdb/testsuite/gdb.ada/start/dummy.adb | 2 +- gdb/testsuite/gdb.ada/str_binop_equal.exp | 2 +- .../gdb.ada/str_binop_equal/foo_p211_061.adb | 2 +- gdb/testsuite/gdb.ada/str_binop_equal/pck.adb | 2 +- gdb/testsuite/gdb.ada/str_binop_equal/pck.ads | 2 +- gdb/testsuite/gdb.ada/str_ref_cmp.exp | 2 +- gdb/testsuite/gdb.ada/str_ref_cmp/foo.adb | 2 +- gdb/testsuite/gdb.ada/str_ref_cmp/pck.ads | 2 +- gdb/testsuite/gdb.ada/str_uninit.exp | 2 +- gdb/testsuite/gdb.ada/str_uninit/parse.adb | 2 +- gdb/testsuite/gdb.ada/str_uninit/pck.adb | 2 +- gdb/testsuite/gdb.ada/str_uninit/pck.ads | 2 +- gdb/testsuite/gdb.ada/sym_print_name.exp | 2 +- gdb/testsuite/gdb.ada/sym_print_name/foo.adb | 2 +- gdb/testsuite/gdb.ada/sym_print_name/pck.adb | 2 +- gdb/testsuite/gdb.ada/sym_print_name/pck.ads | 2 +- gdb/testsuite/gdb.ada/taft_type.exp | 2 +- gdb/testsuite/gdb.ada/taft_type/p.adb | 2 +- gdb/testsuite/gdb.ada/taft_type/pck.adb | 2 +- gdb/testsuite/gdb.ada/taft_type/pck.ads | 2 +- gdb/testsuite/gdb.ada/tagged.exp | 2 +- gdb/testsuite/gdb.ada/tagged/foo.adb | 2 +- gdb/testsuite/gdb.ada/tagged/pck.adb | 2 +- gdb/testsuite/gdb.ada/tagged/pck.ads | 2 +- gdb/testsuite/gdb.ada/tagged_access.exp | 2 +- gdb/testsuite/gdb.ada/tagged_access/p.adb | 2 +- gdb/testsuite/gdb.ada/tagged_access/pack.adb | 2 +- gdb/testsuite/gdb.ada/tagged_access/pack.ads | 2 +- gdb/testsuite/gdb.ada/tagged_not_init.exp | 2 +- gdb/testsuite/gdb.ada/tagged_not_init/foo.adb | 2 +- gdb/testsuite/gdb.ada/tagged_not_init/pck.adb | 2 +- gdb/testsuite/gdb.ada/tagged_not_init/pck.ads | 2 +- gdb/testsuite/gdb.ada/task_bp.exp | 2 +- gdb/testsuite/gdb.ada/task_bp/foo.adb | 2 +- gdb/testsuite/gdb.ada/task_bp/pck.adb | 2 +- gdb/testsuite/gdb.ada/task_bp/pck.ads | 2 +- gdb/testsuite/gdb.ada/task_switch_in_core.exp | 2 +- .../gdb.ada/task_switch_in_core/crash.adb | 2 +- gdb/testsuite/gdb.ada/tasks.exp | 2 +- gdb/testsuite/gdb.ada/tasks/foo.adb | 2 +- gdb/testsuite/gdb.ada/tick_last_segv.exp | 2 +- gdb/testsuite/gdb.ada/tick_last_segv/foo.adb | 2 +- .../gdb.ada/tick_length_array_enum_idx.exp | 2 +- .../tick_length_array_enum_idx/foo_n207_004.adb | 2 +- .../gdb.ada/tick_length_array_enum_idx/pck.adb | 2 +- .../gdb.ada/tick_length_array_enum_idx/pck.ads | 2 +- gdb/testsuite/gdb.ada/type_coercion.exp | 2 +- gdb/testsuite/gdb.ada/type_coercion/assign.adb | 2 +- gdb/testsuite/gdb.ada/type_coercion/ident.adb | 2 +- gdb/testsuite/gdb.ada/unc_arr_ptr_in_var_rec.exp | 2 +- .../gdb.ada/unc_arr_ptr_in_var_rec/foo.adb | 2 +- .../gdb.ada/unc_arr_ptr_in_var_rec/pck.adb | 2 +- .../gdb.ada/unc_arr_ptr_in_var_rec/pck.ads | 2 +- gdb/testsuite/gdb.ada/uninitialized_vars.exp | 2 +- gdb/testsuite/gdb.ada/uninitialized_vars/parse.adb | 2 +- .../uninitialized_vars/parse_controlled.ads | 2 +- gdb/testsuite/gdb.ada/var_arr_attrs.exp | 2 +- .../gdb.ada/var_arr_attrs/foo_o115_002.adb | 2 +- gdb/testsuite/gdb.ada/var_arr_attrs/pck.adb | 2 +- gdb/testsuite/gdb.ada/var_arr_attrs/pck.ads | 2 +- gdb/testsuite/gdb.ada/var_arr_typedef.exp | 2 +- gdb/testsuite/gdb.ada/var_arr_typedef/pack.adb | 2 +- gdb/testsuite/gdb.ada/var_arr_typedef/pack.ads | 2 +- .../gdb.ada/var_arr_typedef/var_arr_typedef.adb | 2 +- gdb/testsuite/gdb.ada/var_rec_arr.exp | 2 +- gdb/testsuite/gdb.ada/var_rec_arr/foo_na09_042.adb | 2 +- gdb/testsuite/gdb.ada/var_rec_arr/pck.adb | 2 +- gdb/testsuite/gdb.ada/var_rec_arr/pck.ads | 2 +- .../gdb.ada/variant_record_packed_array.exp | 2 +- .../gdb.ada/variant_record_packed_array/foo.adb | 2 +- .../gdb.ada/variant_record_packed_array/pck.adb | 2 +- .../gdb.ada/variant_record_packed_array/pck.ads | 2 +- gdb/testsuite/gdb.ada/varsize_limit.exp | 2 +- gdb/testsuite/gdb.ada/varsize_limit/pck.adb | 2 +- gdb/testsuite/gdb.ada/varsize_limit/pck.ads | 2 +- gdb/testsuite/gdb.ada/varsize_limit/vsizelim.adb | 2 +- gdb/testsuite/gdb.ada/watch_arg.exp | 2 +- gdb/testsuite/gdb.ada/watch_arg/pck.adb | 2 +- gdb/testsuite/gdb.ada/watch_arg/pck.ads | 2 +- gdb/testsuite/gdb.ada/watch_arg/watch.adb | 2 +- gdb/testsuite/gdb.ada/watch_minus_l.exp | 2 +- .../gdb.ada/watch_minus_l/foo_ra10_006.adb | 2 +- gdb/testsuite/gdb.ada/watch_minus_l/pck.adb | 2 +- gdb/testsuite/gdb.ada/watch_minus_l/pck.ads | 2 +- gdb/testsuite/gdb.ada/whatis_array_val.exp | 2 +- gdb/testsuite/gdb.ada/whatis_array_val/foo.adb | 2 +- gdb/testsuite/gdb.ada/whatis_array_val/pck.adb | 2 +- gdb/testsuite/gdb.ada/whatis_array_val/pck.ads | 2 +- gdb/testsuite/gdb.ada/widewide.exp | 2 +- gdb/testsuite/gdb.ada/widewide/foo.adb | 2 +- gdb/testsuite/gdb.ada/widewide/pck.adb | 2 +- gdb/testsuite/gdb.ada/widewide/pck.ads | 2 +- gdb/testsuite/gdb.ada/win_fu_syms.exp | 2 +- gdb/testsuite/gdb.ada/win_fu_syms/foo.adb | 2 +- gdb/testsuite/gdb.ada/win_fu_syms/pck.adb | 2 +- gdb/testsuite/gdb.ada/win_fu_syms/pck.ads | 2 +- gdb/testsuite/gdb.arch/aarch64-atomic-inst.c | 2 +- gdb/testsuite/gdb.arch/aarch64-atomic-inst.exp | 2 +- gdb/testsuite/gdb.arch/aarch64-dbreg-contents.c | 130 + gdb/testsuite/gdb.arch/aarch64-dbreg-contents.exp | 45 + gdb/testsuite/gdb.arch/aarch64-fp.c | 2 +- gdb/testsuite/gdb.arch/aarch64-fp.exp | 2 +- gdb/testsuite/gdb.arch/aarch64-sighandler-regs.c | 2 +- gdb/testsuite/gdb.arch/aarch64-sighandler-regs.exp | 2 +- gdb/testsuite/gdb.arch/aarch64-tagged-pointer.c | 2 +- gdb/testsuite/gdb.arch/aarch64-tagged-pointer.exp | 2 +- gdb/testsuite/gdb.arch/aix-sighandle.c | 2 +- gdb/testsuite/gdb.arch/aix-sighandle.exp | 2 +- gdb/testsuite/gdb.arch/alpha-step.c | 2 +- gdb/testsuite/gdb.arch/alpha-step.exp | 2 +- gdb/testsuite/gdb.arch/altivec-abi.exp | 2 +- gdb/testsuite/gdb.arch/altivec-regs.exp | 51 +- gdb/testsuite/gdb.arch/amd64-byte.exp | 2 +- gdb/testsuite/gdb.arch/amd64-disp-step-avx.S | 2 +- gdb/testsuite/gdb.arch/amd64-disp-step-avx.exp | 2 +- gdb/testsuite/gdb.arch/amd64-disp-step.S | 2 +- gdb/testsuite/gdb.arch/amd64-disp-step.exp | 5 +- gdb/testsuite/gdb.arch/amd64-dword.exp | 2 +- gdb/testsuite/gdb.arch/amd64-entry-value-inline.S | 2 +- gdb/testsuite/gdb.arch/amd64-entry-value-inline.c | 2 +- .../gdb.arch/amd64-entry-value-inline.exp | 2 +- .../gdb.arch/amd64-entry-value-param-dwarf5.S | 2 +- .../gdb.arch/amd64-entry-value-param-dwarf5.c | 2 +- .../gdb.arch/amd64-entry-value-param-dwarf5.exp | 2 +- gdb/testsuite/gdb.arch/amd64-entry-value-param.S | 2 +- gdb/testsuite/gdb.arch/amd64-entry-value-param.c | 2 +- gdb/testsuite/gdb.arch/amd64-entry-value-param.exp | 2 +- .../gdb.arch/amd64-entry-value-paramref.S | 2 +- .../gdb.arch/amd64-entry-value-paramref.cc | 2 +- .../gdb.arch/amd64-entry-value-paramref.exp | 2 +- gdb/testsuite/gdb.arch/amd64-entry-value.cc | 2 +- gdb/testsuite/gdb.arch/amd64-entry-value.exp | 4 +- gdb/testsuite/gdb.arch/amd64-entry-value.s | 2 +- gdb/testsuite/gdb.arch/amd64-gs_base.c | 2 +- gdb/testsuite/gdb.arch/amd64-gs_base.exp | 2 +- gdb/testsuite/gdb.arch/amd64-i386-address.S | 2 +- gdb/testsuite/gdb.arch/amd64-i386-address.exp | 2 +- gdb/testsuite/gdb.arch/amd64-init-x87-values.S | 2 +- gdb/testsuite/gdb.arch/amd64-init-x87-values.exp | 2 +- .../gdb.arch/amd64-invalid-stack-middle.S | 2 +- .../gdb.arch/amd64-invalid-stack-middle.c | 2 +- .../gdb.arch/amd64-invalid-stack-middle.exp | 5 +- gdb/testsuite/gdb.arch/amd64-invalid-stack-top.c | 2 +- gdb/testsuite/gdb.arch/amd64-invalid-stack-top.exp | 2 +- gdb/testsuite/gdb.arch/amd64-optimout-repeat.S | 2 +- gdb/testsuite/gdb.arch/amd64-optimout-repeat.c | 2 +- gdb/testsuite/gdb.arch/amd64-optimout-repeat.exp | 2 +- gdb/testsuite/gdb.arch/amd64-osabi.exp | 2 +- gdb/testsuite/gdb.arch/amd64-prologue-skip.S | 2 +- gdb/testsuite/gdb.arch/amd64-prologue-skip.exp | 2 +- gdb/testsuite/gdb.arch/amd64-prologue-xmm.c | 2 +- gdb/testsuite/gdb.arch/amd64-prologue-xmm.exp | 2 +- gdb/testsuite/gdb.arch/amd64-prologue-xmm.s | 2 +- gdb/testsuite/gdb.arch/amd64-pseudo.c | 2 +- .../gdb.arch/amd64-stap-optional-prefix.S | 2 +- .../gdb.arch/amd64-stap-optional-prefix.exp | 2 +- .../gdb.arch/amd64-stap-special-operands.exp | 2 +- gdb/testsuite/gdb.arch/amd64-stap-three-arg-disp.c | 2 +- gdb/testsuite/gdb.arch/amd64-stap-triplet.S | 2 +- gdb/testsuite/gdb.arch/amd64-stap-triplet.c | 2 +- gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.S | 2 +- gdb/testsuite/gdb.arch/amd64-stap-wrong-subexp.exp | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-cxx.exp | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-cxx1.S | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-cxx1.cc | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-cxx2.S | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-cxx2.cc | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-noret.S | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-noret.c | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-noret.exp | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-ret.S | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-ret.c | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-ret.exp | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-self.S | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-self.c | 2 +- gdb/testsuite/gdb.arch/amd64-tailcall-self.exp | 2 +- gdb/testsuite/gdb.arch/amd64-word.exp | 2 +- gdb/testsuite/gdb.arch/arc-analyze-prologue.S | 2 +- gdb/testsuite/gdb.arch/arc-analyze-prologue.exp | 2 +- gdb/testsuite/gdb.arch/arc-decode-insn.S | 2 +- gdb/testsuite/gdb.arch/arc-decode-insn.exp | 2 +- gdb/testsuite/gdb.arch/arc-tdesc-cpu.exp | 2 +- gdb/testsuite/gdb.arch/arc-tdesc-cpu.xml | 2 +- gdb/testsuite/gdb.arch/arm-bl-branch-dest.c | 2 +- gdb/testsuite/gdb.arch/arm-bl-branch-dest.exp | 2 +- .../gdb.arch/arm-disassembler-options.exp | 2 +- gdb/testsuite/gdb.arch/arm-disp-step.S | 2 +- gdb/testsuite/gdb.arch/arm-disp-step.exp | 2 +- gdb/testsuite/gdb.arch/arm-neon.c | 2 +- gdb/testsuite/gdb.arch/arm-neon.exp | 2 +- .../gdb.arch/arm-single-step-kernel-helper.c | 2 +- .../gdb.arch/arm-single-step-kernel-helper.exp | 2 +- gdb/testsuite/gdb.arch/avr-flash-qualifier.c | 2 +- gdb/testsuite/gdb.arch/avr-flash-qualifier.exp | 2 +- gdb/testsuite/gdb.arch/disp-step-insn-reloc.exp | 2 +- gdb/testsuite/gdb.arch/e500-abi.exp | 2 +- gdb/testsuite/gdb.arch/e500-prologue.c | 2 +- gdb/testsuite/gdb.arch/e500-prologue.exp | 2 +- gdb/testsuite/gdb.arch/e500-regs.exp | 2 +- gdb/testsuite/gdb.arch/ftrace-insn-reloc.exp | 2 +- gdb/testsuite/gdb.arch/gdb1291.exp | 2 +- gdb/testsuite/gdb.arch/gdb1291.s | 2 +- gdb/testsuite/gdb.arch/gdb1431.exp | 2 +- gdb/testsuite/gdb.arch/gdb1431.s | 2 +- gdb/testsuite/gdb.arch/gdb1558.c | 2 +- gdb/testsuite/gdb.arch/gdb1558.exp | 2 +- gdb/testsuite/gdb.arch/i386-avx.c | 2 +- gdb/testsuite/gdb.arch/i386-avx.exp | 2 +- gdb/testsuite/gdb.arch/i386-avx512.c | 9 +- gdb/testsuite/gdb.arch/i386-avx512.exp | 12 +- gdb/testsuite/gdb.arch/i386-biarch-core.exp | 2 +- gdb/testsuite/gdb.arch/i386-bp_permanent.c | 2 +- gdb/testsuite/gdb.arch/i386-bp_permanent.exp | 2 +- gdb/testsuite/gdb.arch/i386-byte.exp | 2 +- gdb/testsuite/gdb.arch/i386-cfi-notcurrent.S | 2 +- gdb/testsuite/gdb.arch/i386-cfi-notcurrent.exp | 2 +- gdb/testsuite/gdb.arch/i386-disp-step.S | 2 +- gdb/testsuite/gdb.arch/i386-disp-step.exp | 2 +- gdb/testsuite/gdb.arch/i386-dr3-watch.c | 2 +- gdb/testsuite/gdb.arch/i386-dr3-watch.exp | 2 +- gdb/testsuite/gdb.arch/i386-float.S | 2 +- gdb/testsuite/gdb.arch/i386-float.exp | 4 +- gdb/testsuite/gdb.arch/i386-gnu-cfi-asm.S | 2 +- gdb/testsuite/gdb.arch/i386-gnu-cfi.c | 2 +- gdb/testsuite/gdb.arch/i386-gnu-cfi.exp | 2 +- gdb/testsuite/gdb.arch/i386-mpx-call.c | 2 +- gdb/testsuite/gdb.arch/i386-mpx-call.exp | 2 +- gdb/testsuite/gdb.arch/i386-mpx-map.c | 2 +- gdb/testsuite/gdb.arch/i386-mpx-map.exp | 2 +- gdb/testsuite/gdb.arch/i386-mpx-sigsegv.c | 2 +- gdb/testsuite/gdb.arch/i386-mpx-sigsegv.exp | 2 +- gdb/testsuite/gdb.arch/i386-mpx-simple_segv.c | 2 +- gdb/testsuite/gdb.arch/i386-mpx-simple_segv.exp | 2 +- gdb/testsuite/gdb.arch/i386-mpx.c | 2 +- gdb/testsuite/gdb.arch/i386-mpx.exp | 2 +- gdb/testsuite/gdb.arch/i386-permbkpt.S | 2 +- gdb/testsuite/gdb.arch/i386-permbkpt.exp | 2 +- gdb/testsuite/gdb.arch/i386-pkru.c | 2 +- gdb/testsuite/gdb.arch/i386-pkru.exp | 2 +- gdb/testsuite/gdb.arch/i386-prologue.c | 2 +- gdb/testsuite/gdb.arch/i386-prologue.exp | 2 +- gdb/testsuite/gdb.arch/i386-pseudo.c | 2 +- gdb/testsuite/gdb.arch/i386-signal.c | 2 +- gdb/testsuite/gdb.arch/i386-signal.exp | 4 +- gdb/testsuite/gdb.arch/i386-size-overlap.c | 2 +- gdb/testsuite/gdb.arch/i386-size-overlap.exp | 2 +- gdb/testsuite/gdb.arch/i386-size.c | 2 +- gdb/testsuite/gdb.arch/i386-size.exp | 2 +- gdb/testsuite/gdb.arch/i386-sse-stack-align.S | 2 +- gdb/testsuite/gdb.arch/i386-sse-stack-align.c | 2 +- gdb/testsuite/gdb.arch/i386-sse-stack-align.exp | 2 +- gdb/testsuite/gdb.arch/i386-sse.c | 2 +- gdb/testsuite/gdb.arch/i386-sse.exp | 2 +- gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.S | 2 +- gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.c | 2 +- gdb/testsuite/gdb.arch/i386-stap-eval-lang-ada.exp | 2 +- gdb/testsuite/gdb.arch/i386-unwind.c | 2 +- gdb/testsuite/gdb.arch/i386-unwind.exp | 2 +- gdb/testsuite/gdb.arch/i386-word.exp | 2 +- gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.S | 2 +- gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.exp | 2 +- gdb/testsuite/gdb.arch/insn-reloc.c | 2 +- gdb/testsuite/gdb.arch/iwmmxt-regs.c | 2 +- gdb/testsuite/gdb.arch/iwmmxt-regs.exp | 2 +- .../gdb.arch/mips-disassembler-options.exp | 2 +- gdb/testsuite/gdb.arch/mips-disassembler-options.s | 2 +- gdb/testsuite/gdb.arch/mips-fcr.c | 2 +- gdb/testsuite/gdb.arch/mips-fcr.exp | 2 +- gdb/testsuite/gdb.arch/mips-fpregset-core.c | 2 +- gdb/testsuite/gdb.arch/mips-fpregset-core.exp | 2 +- gdb/testsuite/gdb.arch/mips-octeon-bbit.exp | 2 +- gdb/testsuite/gdb.arch/mips16-thunks-inmain.c | 2 +- gdb/testsuite/gdb.arch/mips16-thunks-main.c | 2 +- gdb/testsuite/gdb.arch/mips16-thunks-sin.c | 2 +- gdb/testsuite/gdb.arch/mips16-thunks-sinfrob.c | 2 +- gdb/testsuite/gdb.arch/mips16-thunks-sinfrob16.c | 2 +- gdb/testsuite/gdb.arch/mips16-thunks-sinmain.c | 2 +- gdb/testsuite/gdb.arch/mips16-thunks-sinmips16.c | 2 +- gdb/testsuite/gdb.arch/mips16-thunks.exp | 2 +- gdb/testsuite/gdb.arch/pa-nullify.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-aix-prologue.c | 2 +- gdb/testsuite/gdb.arch/powerpc-aix-prologue.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-altivec.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-altivec.s | 2 +- gdb/testsuite/gdb.arch/powerpc-altivec2.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-altivec2.s | 2 +- gdb/testsuite/gdb.arch/powerpc-altivec3.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-altivec3.s | 2 +- gdb/testsuite/gdb.arch/powerpc-d128-regs.c | 2 +- gdb/testsuite/gdb.arch/powerpc-d128-regs.exp | 2 +- .../gdb.arch/powerpc-disassembler-options.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-fpscr-gcore.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-htm-regs.c | 2 +- gdb/testsuite/gdb.arch/powerpc-htm-regs.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-power7.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-power7.s | 2 +- gdb/testsuite/gdb.arch/powerpc-power8.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-power8.s | 2 +- gdb/testsuite/gdb.arch/powerpc-power9.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-power9.s | 2 +- gdb/testsuite/gdb.arch/powerpc-ppr-dscr.c | 2 +- gdb/testsuite/gdb.arch/powerpc-ppr-dscr.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-prologue-frame.S | 2 +- gdb/testsuite/gdb.arch/powerpc-prologue-frame.c | 2 +- gdb/testsuite/gdb.arch/powerpc-prologue-frame.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-prologue.c | 2 +- gdb/testsuite/gdb.arch/powerpc-prologue.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-stackless.S | 2 +- gdb/testsuite/gdb.arch/powerpc-stackless.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-tar.c | 2 +- gdb/testsuite/gdb.arch/powerpc-tar.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-vector-regs.c | 59 + gdb/testsuite/gdb.arch/powerpc-vector-regs.exp | 62 + gdb/testsuite/gdb.arch/powerpc-vsx-gcore.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-vsx.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-vsx.s | 2 +- gdb/testsuite/gdb.arch/powerpc-vsx2.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-vsx2.s | 2 +- gdb/testsuite/gdb.arch/powerpc-vsx3.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-vsx3.s | 2 +- gdb/testsuite/gdb.arch/ppc-dfp.c | 2 +- gdb/testsuite/gdb.arch/ppc-dfp.exp | 2 +- gdb/testsuite/gdb.arch/ppc-fp.c | 2 +- gdb/testsuite/gdb.arch/ppc-fp.exp | 2 +- gdb/testsuite/gdb.arch/ppc-longdouble.c | 2 +- gdb/testsuite/gdb.arch/ppc-longdouble.exp | 2 +- gdb/testsuite/gdb.arch/ppc64-atomic-inst.S | 2 +- gdb/testsuite/gdb.arch/ppc64-atomic-inst.exp | 2 +- gdb/testsuite/gdb.arch/ppc64-isa207-atomic-inst.S | 2 +- gdb/testsuite/gdb.arch/ppc64-isa207-atomic-inst.c | 2 +- .../gdb.arch/ppc64-isa207-atomic-inst.exp | 2 +- gdb/testsuite/gdb.arch/ppc64-symtab-cordic.exp | 2 +- gdb/testsuite/gdb.arch/riscv-reg-aliases.c | 2 +- gdb/testsuite/gdb.arch/riscv-reg-aliases.exp | 26 +- .../gdb.arch/s390-disassembler-options.exp | 2 +- gdb/testsuite/gdb.arch/s390-multiarch.c | 2 +- gdb/testsuite/gdb.arch/s390-multiarch.exp | 2 +- gdb/testsuite/gdb.arch/s390-stackless.S | 2 +- gdb/testsuite/gdb.arch/s390-stackless.exp | 2 +- gdb/testsuite/gdb.arch/s390-tdbregs.c | 2 +- gdb/testsuite/gdb.arch/s390-tdbregs.exp | 2 +- gdb/testsuite/gdb.arch/s390-vregs.S | 2 +- gdb/testsuite/gdb.arch/s390-vregs.exp | 2 +- gdb/testsuite/gdb.arch/sparc-sysstep.c | 2 +- gdb/testsuite/gdb.arch/sparc-sysstep.exp | 2 +- gdb/testsuite/gdb.arch/sparc64-adi.c | 2 +- gdb/testsuite/gdb.arch/sparc64-adi.exp | 2 +- gdb/testsuite/gdb.arch/sparc64-regs.S | 2 +- gdb/testsuite/gdb.arch/sparc64-regs.exp | 2 +- gdb/testsuite/gdb.arch/spu-info.c | 2 +- gdb/testsuite/gdb.arch/spu-info.exp | 2 +- gdb/testsuite/gdb.arch/spu-ls.c | 2 +- gdb/testsuite/gdb.arch/spu-ls.exp | 2 +- gdb/testsuite/gdb.arch/thumb-bx-pc.S | 2 +- gdb/testsuite/gdb.arch/thumb-bx-pc.exp | 2 +- gdb/testsuite/gdb.arch/thumb-prologue.c | 2 +- gdb/testsuite/gdb.arch/thumb-prologue.exp | 2 +- gdb/testsuite/gdb.arch/thumb-singlestep.S | 2 +- gdb/testsuite/gdb.arch/thumb-singlestep.exp | 2 +- gdb/testsuite/gdb.arch/thumb2-it.S | 2 +- gdb/testsuite/gdb.arch/thumb2-it.exp | 2 +- gdb/testsuite/gdb.arch/vsx-regs.exp | 5 +- gdb/testsuite/gdb.asm/asm-source.exp | 2 +- gdb/testsuite/gdb.base/a2-run.exp | 2 +- gdb/testsuite/gdb.base/advance.exp | 2 +- gdb/testsuite/gdb.base/alias.exp | 2 +- gdb/testsuite/gdb.base/align.exp | 182 +- gdb/testsuite/gdb.base/all-architectures-0.exp | 2 +- gdb/testsuite/gdb.base/all-architectures-1.exp | 2 +- gdb/testsuite/gdb.base/all-architectures-2.exp | 2 +- gdb/testsuite/gdb.base/all-architectures-3.exp | 2 +- gdb/testsuite/gdb.base/all-architectures-4.exp | 2 +- gdb/testsuite/gdb.base/all-architectures-5.exp | 2 +- gdb/testsuite/gdb.base/all-architectures-6.exp | 2 +- gdb/testsuite/gdb.base/all-architectures-7.exp | 2 +- gdb/testsuite/gdb.base/all-architectures.exp.in | 2 +- gdb/testsuite/gdb.base/all-bin.exp | 2 +- .../gdb.base/annota-input-while-running.c | 2 +- .../gdb.base/annota-input-while-running.exp | 2 +- gdb/testsuite/gdb.base/annota1.exp | 25 +- gdb/testsuite/gdb.base/annota3.exp | 2 +- gdb/testsuite/gdb.base/anon.exp | 2 +- gdb/testsuite/gdb.base/args.exp | 2 +- gdb/testsuite/gdb.base/argv0-symlink.c | 2 +- gdb/testsuite/gdb.base/argv0-symlink.exp | 2 +- gdb/testsuite/gdb.base/arithmet.exp | 2 +- gdb/testsuite/gdb.base/arrayidx.c | 2 +- gdb/testsuite/gdb.base/arrayidx.exp | 2 +- gdb/testsuite/gdb.base/asmlabel.c | 2 +- gdb/testsuite/gdb.base/asmlabel.exp | 2 +- gdb/testsuite/gdb.base/assign.exp | 2 +- gdb/testsuite/gdb.base/async-shell.c | 2 +- gdb/testsuite/gdb.base/async-shell.exp | 2 +- gdb/testsuite/gdb.base/async.exp | 2 +- gdb/testsuite/gdb.base/attach-non-pgrp-leader.c | 2 +- gdb/testsuite/gdb.base/attach-non-pgrp-leader.exp | 2 +- gdb/testsuite/gdb.base/attach-pie-misread.c | 2 +- gdb/testsuite/gdb.base/attach-pie-misread.exp | 2 +- gdb/testsuite/gdb.base/attach-pie-noexec.c | 2 +- gdb/testsuite/gdb.base/attach-pie-noexec.exp | 2 +- gdb/testsuite/gdb.base/attach-twice.c | 2 +- gdb/testsuite/gdb.base/attach-twice.exp | 2 +- gdb/testsuite/gdb.base/attach-wait-input.c | 2 +- gdb/testsuite/gdb.base/attach-wait-input.exp | 2 +- gdb/testsuite/gdb.base/attach.exp | 107 +- .../gdb.base/auto-connect-native-target.c | 2 +- .../gdb.base/auto-connect-native-target.exp | 2 +- gdb/testsuite/gdb.base/auto-load-script | 2 +- gdb/testsuite/gdb.base/auto-load.c | 2 +- gdb/testsuite/gdb.base/auto-load.exp | 2 +- gdb/testsuite/gdb.base/auxv.c | 2 +- gdb/testsuite/gdb.base/auxv.exp | 2 +- gdb/testsuite/gdb.base/bad-file.exp | 2 +- gdb/testsuite/gdb.base/bang.exp | 2 +- gdb/testsuite/gdb.base/batch-exit-status.exp | 2 +- .../gdb.base/batch-preserve-term-settings.c | 2 +- .../gdb.base/batch-preserve-term-settings.exp | 2 +- gdb/testsuite/gdb.base/bfp-test.c | 2 +- gdb/testsuite/gdb.base/bfp-test.exp | 2 +- gdb/testsuite/gdb.base/bg-execution-repeat.c | 2 +- gdb/testsuite/gdb.base/bg-execution-repeat.exp | 2 +- gdb/testsuite/gdb.base/bigcore.c | 2 +- gdb/testsuite/gdb.base/bigcore.exp | 2 +- gdb/testsuite/gdb.base/bitfields.exp | 2 +- gdb/testsuite/gdb.base/bitfields2.exp | 2 +- gdb/testsuite/gdb.base/bitops.exp | 2 +- gdb/testsuite/gdb.base/bp-cmds-continue-ctrl-c.c | 2 +- gdb/testsuite/gdb.base/bp-cmds-continue-ctrl-c.exp | 2 +- .../gdb.base/bp-cmds-execution-x-script.c | 2 +- .../gdb.base/bp-cmds-execution-x-script.exp | 2 +- .../gdb.base/bp-cmds-execution-x-script.gdb | 2 +- gdb/testsuite/gdb.base/bp-permanent.c | 2 +- gdb/testsuite/gdb.base/bp-permanent.exp | 2 +- gdb/testsuite/gdb.base/branch-to-self.c | 2 +- gdb/testsuite/gdb.base/branch-to-self.exp | 2 +- gdb/testsuite/gdb.base/break-always.c | 2 +- gdb/testsuite/gdb.base/break-always.exp | 2 +- gdb/testsuite/gdb.base/break-caller-line.c | 2 +- gdb/testsuite/gdb.base/break-caller-line.exp | 2 +- gdb/testsuite/gdb.base/break-entry.exp | 2 +- gdb/testsuite/gdb.base/break-fun-addr.exp | 2 +- gdb/testsuite/gdb.base/break-fun-addr1.c | 2 +- gdb/testsuite/gdb.base/break-fun-addr2.c | 2 +- gdb/testsuite/gdb.base/break-idempotent.c | 2 +- gdb/testsuite/gdb.base/break-idempotent.exp | 2 +- gdb/testsuite/gdb.base/break-include.c | 2 +- gdb/testsuite/gdb.base/break-include.exp | 2 +- gdb/testsuite/gdb.base/break-include.inc | 2 +- gdb/testsuite/gdb.base/break-inline.c | 2 +- gdb/testsuite/gdb.base/break-inline.exp | 2 +- gdb/testsuite/gdb.base/break-interp-lib.c | 2 +- gdb/testsuite/gdb.base/break-interp-main.c | 2 +- gdb/testsuite/gdb.base/break-interp.exp | 8 +- .../gdb.base/break-main-file-remove-fail.c | 2 +- .../gdb.base/break-main-file-remove-fail.exp | 2 +- .../gdb.base/break-on-linker-gcd-function.cc | 2 +- .../gdb.base/break-on-linker-gcd-function.exp | 2 +- gdb/testsuite/gdb.base/break-probes-solib.c | 2 +- gdb/testsuite/gdb.base/break-probes.c | 2 +- gdb/testsuite/gdb.base/break-probes.exp | 2 +- gdb/testsuite/gdb.base/break-unload-file.c | 2 +- gdb/testsuite/gdb.base/break-unload-file.exp | 2 +- gdb/testsuite/gdb.base/break.c | 2 +- gdb/testsuite/gdb.base/break.exp | 2 +- gdb/testsuite/gdb.base/break1.c | 2 +- gdb/testsuite/gdb.base/breakpoint-in-ro-region.c | 2 +- gdb/testsuite/gdb.base/breakpoint-in-ro-region.exp | 2 +- gdb/testsuite/gdb.base/breakpoint-shadow.c | 2 +- gdb/testsuite/gdb.base/breakpoint-shadow.exp | 2 +- gdb/testsuite/gdb.base/bt-selected-frame.c | 2 +- gdb/testsuite/gdb.base/bt-selected-frame.exp | 2 +- gdb/testsuite/gdb.base/c-linkage-name.c | 2 +- gdb/testsuite/gdb.base/c-linkage-name.exp | 2 +- gdb/testsuite/gdb.base/call-ar-st.exp | 2 +- gdb/testsuite/gdb.base/call-rt-st.exp | 2 +- gdb/testsuite/gdb.base/call-sc.c | 2 +- gdb/testsuite/gdb.base/call-sc.exp | 2 +- gdb/testsuite/gdb.base/call-signal-resume.exp | 2 +- gdb/testsuite/gdb.base/call-signals.c | 2 +- gdb/testsuite/gdb.base/call-strs.exp | 2 +- gdb/testsuite/gdb.base/callexit.c | 2 +- gdb/testsuite/gdb.base/callexit.exp | 2 +- gdb/testsuite/gdb.base/callfuncs.c | 2 +- gdb/testsuite/gdb.base/callfuncs.exp | 2 +- gdb/testsuite/gdb.base/catch-follow-exec.c | 2 +- gdb/testsuite/gdb.base/catch-follow-exec.exp | 2 +- gdb/testsuite/gdb.base/catch-fork-kill.c | 2 +- gdb/testsuite/gdb.base/catch-fork-kill.exp | 2 +- gdb/testsuite/gdb.base/catch-fork-static.exp | 2 +- gdb/testsuite/gdb.base/catch-gdb-caused-signals.c | 2 +- .../gdb.base/catch-gdb-caused-signals.exp | 2 +- gdb/testsuite/gdb.base/catch-load-so.c | 2 +- gdb/testsuite/gdb.base/catch-load.c | 2 +- gdb/testsuite/gdb.base/catch-load.exp | 2 +- gdb/testsuite/gdb.base/catch-signal-fork.c | 2 +- gdb/testsuite/gdb.base/catch-signal-fork.exp | 2 +- gdb/testsuite/gdb.base/catch-signal-siginfo-cond.c | 2 +- .../gdb.base/catch-signal-siginfo-cond.exp | 2 +- gdb/testsuite/gdb.base/catch-signal.c | 2 +- gdb/testsuite/gdb.base/catch-signal.exp | 2 +- gdb/testsuite/gdb.base/catch-syscall.exp | 2 +- gdb/testsuite/gdb.base/charset-malloc.c | 2 +- gdb/testsuite/gdb.base/charset.c | 2 +- gdb/testsuite/gdb.base/charset.exp | 2 +- gdb/testsuite/gdb.base/checkpoint-ns.exp | 2 +- gdb/testsuite/gdb.base/checkpoint.c | 2 +- gdb/testsuite/gdb.base/checkpoint.exp | 2 +- gdb/testsuite/gdb.base/chng-syms.exp | 2 +- gdb/testsuite/gdb.base/code-expr.exp | 2 +- gdb/testsuite/gdb.base/code_elim.exp | 2 +- gdb/testsuite/gdb.base/code_elim1.c | 2 +- gdb/testsuite/gdb.base/code_elim2.c | 2 +- gdb/testsuite/gdb.base/command-line-input.exp | 2 +- gdb/testsuite/gdb.base/commands.exp | 2 +- gdb/testsuite/gdb.base/compare-sections.c | 2 +- gdb/testsuite/gdb.base/compare-sections.exp | 2 +- gdb/testsuite/gdb.base/complete-empty.exp | 2 +- gdb/testsuite/gdb.base/completion.exp | 2 +- gdb/testsuite/gdb.base/complex.c | 2 +- gdb/testsuite/gdb.base/complex.exp | 2 +- gdb/testsuite/gdb.base/comprdebug.exp | 2 +- gdb/testsuite/gdb.base/cond-eval-mode.c | 2 +- gdb/testsuite/gdb.base/cond-eval-mode.exp | 2 +- gdb/testsuite/gdb.base/cond-expr.exp | 2 +- gdb/testsuite/gdb.base/condbreak-call-false.c | 2 +- gdb/testsuite/gdb.base/condbreak-call-false.exp | 2 +- gdb/testsuite/gdb.base/condbreak.exp | 2 +- gdb/testsuite/gdb.base/consecutive-step-over.c | 2 +- gdb/testsuite/gdb.base/consecutive-step-over.exp | 2 +- gdb/testsuite/gdb.base/consecutive.exp | 2 +- gdb/testsuite/gdb.base/constvars.exp | 2 +- .../gdb.base/continue-after-aborted-step-over.c | 2 +- .../gdb.base/continue-after-aborted-step-over.exp | 2 +- .../gdb.base/continue-all-already-running.c | 2 +- .../gdb.base/continue-all-already-running.exp | 2 +- gdb/testsuite/gdb.base/coredump-filter.c | 2 +- gdb/testsuite/gdb.base/coredump-filter.exp | 2 +- gdb/testsuite/gdb.base/corefile.exp | 2 +- gdb/testsuite/gdb.base/coremaker.c | 2 +- gdb/testsuite/gdb.base/ctxobj-f.c | 2 +- gdb/testsuite/gdb.base/ctxobj-m.c | 2 +- gdb/testsuite/gdb.base/ctxobj-v.c | 2 +- gdb/testsuite/gdb.base/ctxobj.exp | 2 +- gdb/testsuite/gdb.base/cursal.c | 2 +- gdb/testsuite/gdb.base/cursal.exp | 2 +- gdb/testsuite/gdb.base/cvexpr.c | 2 +- gdb/testsuite/gdb.base/cvexpr.exp | 2 +- gdb/testsuite/gdb.base/dbx.exp | 2 +- gdb/testsuite/gdb.base/dcache-line-read-error.c | 2 +- gdb/testsuite/gdb.base/dcache-line-read-error.exp | 2 +- gdb/testsuite/gdb.base/debug-expr.exp | 2 +- gdb/testsuite/gdb.base/default.exp | 6 +- gdb/testsuite/gdb.base/define.exp | 2 +- gdb/testsuite/gdb.base/del.c | 2 +- gdb/testsuite/gdb.base/del.exp | 2 +- gdb/testsuite/gdb.base/detach.exp | 2 +- gdb/testsuite/gdb.base/dfp-exprs.exp | 2 +- gdb/testsuite/gdb.base/dfp-test.c | 2 +- gdb/testsuite/gdb.base/dfp-test.exp | 2 +- gdb/testsuite/gdb.base/disabled-location.c | 2 +- gdb/testsuite/gdb.base/disabled-location.exp | 2 +- gdb/testsuite/gdb.base/disasm-end-cu-1.c | 2 +- gdb/testsuite/gdb.base/disasm-end-cu-2.c | 2 +- gdb/testsuite/gdb.base/disasm-end-cu.exp | 2 +- gdb/testsuite/gdb.base/disasm-optim.S | 2 +- gdb/testsuite/gdb.base/disasm-optim.c | 2 +- gdb/testsuite/gdb.base/disasm-optim.exp | 2 +- gdb/testsuite/gdb.base/disasm-optim.h | 2 +- gdb/testsuite/gdb.base/display.exp | 2 +- gdb/testsuite/gdb.base/dmsym.c | 2 +- gdb/testsuite/gdb.base/dmsym.exp | 2 +- gdb/testsuite/gdb.base/dmsym_main.c | 2 +- .../gdb.base/double-prompt-target-event-error.c | 2 +- .../gdb.base/double-prompt-target-event-error.exp | 2 +- gdb/testsuite/gdb.base/dprintf-bp-same-addr.c | 2 +- gdb/testsuite/gdb.base/dprintf-bp-same-addr.exp | 2 +- gdb/testsuite/gdb.base/dprintf-detach.c | 2 +- gdb/testsuite/gdb.base/dprintf-detach.exp | 2 +- gdb/testsuite/gdb.base/dprintf-next.c | 2 +- gdb/testsuite/gdb.base/dprintf-next.exp | 2 +- gdb/testsuite/gdb.base/dprintf-non-stop.c | 2 +- gdb/testsuite/gdb.base/dprintf-non-stop.exp | 2 +- gdb/testsuite/gdb.base/dprintf-pending.c | 2 +- gdb/testsuite/gdb.base/dprintf-pending.exp | 2 +- gdb/testsuite/gdb.base/dprintf-pendshr.c | 2 +- gdb/testsuite/gdb.base/dprintf.c | 2 +- gdb/testsuite/gdb.base/dprintf.exp | 2 +- gdb/testsuite/gdb.base/dso2dso-dso1.c | 2 +- gdb/testsuite/gdb.base/dso2dso-dso1.h | 2 +- gdb/testsuite/gdb.base/dso2dso-dso2.c | 2 +- gdb/testsuite/gdb.base/dso2dso-dso2.h | 2 +- gdb/testsuite/gdb.base/dso2dso.c | 2 +- gdb/testsuite/gdb.base/dso2dso.exp | 2 +- gdb/testsuite/gdb.base/dtrace-probe.c | 2 +- gdb/testsuite/gdb.base/dtrace-probe.d | 2 +- gdb/testsuite/gdb.base/dtrace-probe.exp | 2 +- gdb/testsuite/gdb.base/dump.exp | 6 +- gdb/testsuite/gdb.base/dup-sect.S | 2 +- gdb/testsuite/gdb.base/dup-sect.exp | 2 +- gdb/testsuite/gdb.base/duplicate-bp.c | 2 +- gdb/testsuite/gdb.base/duplicate-bp.exp | 2 +- gdb/testsuite/gdb.base/echo.exp | 2 +- gdb/testsuite/gdb.base/empty_exe.exp | 2 +- gdb/testsuite/gdb.base/ena-dis-br.exp | 2 +- gdb/testsuite/gdb.base/endian.c | 2 +- gdb/testsuite/gdb.base/endian.exp | 2 +- gdb/testsuite/gdb.base/ending-run.exp | 2 +- gdb/testsuite/gdb.base/enum_cond.c | 2 +- gdb/testsuite/gdb.base/enum_cond.exp | 2 +- gdb/testsuite/gdb.base/enumval.c | 2 +- gdb/testsuite/gdb.base/enumval.exp | 2 +- gdb/testsuite/gdb.base/environ.exp | 2 +- gdb/testsuite/gdb.base/eu-strip-infcall.c | 2 +- gdb/testsuite/gdb.base/eu-strip-infcall.exp | 2 +- gdb/testsuite/gdb.base/eval-avoid-side-effects.exp | 2 +- gdb/testsuite/gdb.base/eval-skip.exp | 2 +- gdb/testsuite/gdb.base/eval.exp | 2 +- gdb/testsuite/gdb.base/examine-backward.c | 2 +- gdb/testsuite/gdb.base/examine-backward.exp | 2 +- gdb/testsuite/gdb.base/exe-lock.exp | 2 +- gdb/testsuite/gdb.base/exec-invalid-sysroot.exp | 2 +- gdb/testsuite/gdb.base/execl-update-breakpoints.c | 2 +- .../gdb.base/execl-update-breakpoints.exp | 2 +- gdb/testsuite/gdb.base/execution-termios.c | 2 +- gdb/testsuite/gdb.base/execution-termios.exp | 2 +- gdb/testsuite/gdb.base/exitsignal.exp | 2 +- gdb/testsuite/gdb.base/expand-psymtabs.c | 2 +- gdb/testsuite/gdb.base/expand-psymtabs.exp | 2 +- gdb/testsuite/gdb.base/exprs.exp | 2 +- gdb/testsuite/gdb.base/fileio.exp | 2 +- gdb/testsuite/gdb.base/filesym.c | 2 +- gdb/testsuite/gdb.base/filesym.exp | 2 +- gdb/testsuite/gdb.base/find-unmapped.c | 2 +- gdb/testsuite/gdb.base/find-unmapped.exp | 2 +- gdb/testsuite/gdb.base/find.c | 2 +- gdb/testsuite/gdb.base/find.exp | 2 +- gdb/testsuite/gdb.base/finish-pretty.c | 2 +- gdb/testsuite/gdb.base/finish-pretty.exp | 4 +- gdb/testsuite/gdb.base/finish.exp | 2 +- gdb/testsuite/gdb.base/fixsection.c | 2 +- gdb/testsuite/gdb.base/fixsection.exp | 2 +- gdb/testsuite/gdb.base/float.c | 2 +- gdb/testsuite/gdb.base/float.exp | 12 +- gdb/testsuite/gdb.base/float128.c | 2 +- gdb/testsuite/gdb.base/float128.exp | 2 +- gdb/testsuite/gdb.base/floatn.c | 2 +- gdb/testsuite/gdb.base/floatn.exp | 2 +- gdb/testsuite/gdb.base/foll-exec-mode.c | 2 +- gdb/testsuite/gdb.base/foll-exec-mode.exp | 2 +- gdb/testsuite/gdb.base/foll-exec.c | 2 +- gdb/testsuite/gdb.base/foll-exec.exp | 2 +- gdb/testsuite/gdb.base/foll-fork.exp | 2 +- gdb/testsuite/gdb.base/foll-vfork-exit.c | 2 +- gdb/testsuite/gdb.base/foll-vfork.c | 2 +- gdb/testsuite/gdb.base/foll-vfork.exp | 2 +- .../gdb.base/fork-print-inferior-events.c | 2 +- .../gdb.base/fork-print-inferior-events.exp | 2 +- gdb/testsuite/gdb.base/fork-running-state.c | 2 +- gdb/testsuite/gdb.base/fork-running-state.exp | 2 +- gdb/testsuite/gdb.base/fortran-sym-case.c | 2 +- gdb/testsuite/gdb.base/fortran-sym-case.exp | 2 +- gdb/testsuite/gdb.base/frame-args.c | 2 +- gdb/testsuite/gdb.base/frame-args.exp | 2 +- gdb/testsuite/gdb.base/frame-selection.c | 2 +- gdb/testsuite/gdb.base/frame-selection.exp | 2 +- gdb/testsuite/gdb.base/frameapply.c | 2 +- gdb/testsuite/gdb.base/frameapply.exp | 2 +- gdb/testsuite/gdb.base/freebpcmd.c | 2 +- gdb/testsuite/gdb.base/freebpcmd.exp | 2 +- gdb/testsuite/gdb.base/fullname.c | 2 +- gdb/testsuite/gdb.base/fullname.exp | 2 +- gdb/testsuite/gdb.base/fullpath-expand-func.c | 2 +- gdb/testsuite/gdb.base/fullpath-expand.c | 2 +- gdb/testsuite/gdb.base/fullpath-expand.exp | 2 +- gdb/testsuite/gdb.base/func-ptr.c | 2 +- gdb/testsuite/gdb.base/func-ptr.exp | 2 +- gdb/testsuite/gdb.base/func-ptrs.c | 2 +- gdb/testsuite/gdb.base/func-ptrs.exp | 2 +- gdb/testsuite/gdb.base/funcargs.exp | 2 +- gdb/testsuite/gdb.base/gcore-buffer-overflow.c | 2 +- gdb/testsuite/gdb.base/gcore-buffer-overflow.exp | 2 +- gdb/testsuite/gdb.base/gcore-relro-lib.c | 2 +- gdb/testsuite/gdb.base/gcore-relro-main.c | 2 +- gdb/testsuite/gdb.base/gcore-relro-pie.c | 2 +- gdb/testsuite/gdb.base/gcore-relro-pie.exp | 2 +- gdb/testsuite/gdb.base/gcore-relro.exp | 2 +- gdb/testsuite/gdb.base/gcore-tls-pie.c | 2 +- gdb/testsuite/gdb.base/gcore-tls-pie.exp | 2 +- gdb/testsuite/gdb.base/gcore.c | 2 +- gdb/testsuite/gdb.base/gcore.exp | 2 +- gdb/testsuite/gdb.base/gdb-caching-proc.exp | 112 + gdb/testsuite/gdb.base/gdb-sigterm-2.exp | 2 +- gdb/testsuite/gdb.base/gdb-sigterm.c | 2 +- gdb/testsuite/gdb.base/gdb-sigterm.exp | 2 +- gdb/testsuite/gdb.base/gdb1056.exp | 2 +- gdb/testsuite/gdb.base/gdb1090.c | 2 +- gdb/testsuite/gdb.base/gdb1090.exp | 2 +- gdb/testsuite/gdb.base/gdb11530.c | 2 +- gdb/testsuite/gdb.base/gdb11530.exp | 2 +- gdb/testsuite/gdb.base/gdb11531.c | 2 +- gdb/testsuite/gdb.base/gdb11531.exp | 2 +- gdb/testsuite/gdb.base/gdb1250.c | 2 +- gdb/testsuite/gdb.base/gdb1250.exp | 2 +- gdb/testsuite/gdb.base/gdb1555-main.c | 2 +- gdb/testsuite/gdb.base/gdb1555.c | 2 +- gdb/testsuite/gdb.base/gdb1555.exp | 2 +- gdb/testsuite/gdb.base/gdb1821.c | 2 +- gdb/testsuite/gdb.base/gdb1821.exp | 2 +- gdb/testsuite/gdb.base/gdbhistsize-history.exp | 2 +- gdb/testsuite/gdb.base/gdbindex-stabs-dwarf.c | 2 +- gdb/testsuite/gdb.base/gdbindex-stabs.c | 2 +- gdb/testsuite/gdb.base/gdbindex-stabs.exp | 2 +- gdb/testsuite/gdb.base/gdbinit-history.exp | 2 +- gdb/testsuite/gdb.base/gdbvars.exp | 2 +- .../gdb.base/global-var-nested-by-dso-solib1.c | 2 +- .../gdb.base/global-var-nested-by-dso-solib2.c | 2 +- gdb/testsuite/gdb.base/global-var-nested-by-dso.c | 2 +- .../gdb.base/global-var-nested-by-dso.exp | 2 +- gdb/testsuite/gdb.base/gnu-debugdata.c | 2 +- gdb/testsuite/gdb.base/gnu-debugdata.exp | 2 +- gdb/testsuite/gdb.base/gnu-ifunc-final.c | 2 +- gdb/testsuite/gdb.base/gnu-ifunc-lib.c | 2 +- gdb/testsuite/gdb.base/gnu-ifunc.c | 2 +- gdb/testsuite/gdb.base/gnu-ifunc.exp | 2 +- gdb/testsuite/gdb.base/gnu_vector.c | 2 +- gdb/testsuite/gdb.base/gnu_vector.exp | 2 +- gdb/testsuite/gdb.base/hashline1.exp | 2 +- gdb/testsuite/gdb.base/hashline2.exp | 2 +- gdb/testsuite/gdb.base/hashline3.exp | 2 +- .../gdb.base/hbreak-in-shr-unsupported-shr.c | 2 +- gdb/testsuite/gdb.base/hbreak-in-shr-unsupported.c | 2 +- .../gdb.base/hbreak-in-shr-unsupported.exp | 2 +- gdb/testsuite/gdb.base/hbreak-unmapped.c | 2 +- gdb/testsuite/gdb.base/hbreak-unmapped.exp | 2 +- gdb/testsuite/gdb.base/hbreak.c | 2 +- gdb/testsuite/gdb.base/hbreak.exp | 2 +- gdb/testsuite/gdb.base/hbreak2.exp | 2 +- gdb/testsuite/gdb.base/help.exp | 4 +- gdb/testsuite/gdb.base/history-duplicates.exp | 2 +- gdb/testsuite/gdb.base/hook-stop.c | 2 +- gdb/testsuite/gdb.base/hook-stop.exp | 2 +- gdb/testsuite/gdb.base/huge.exp | 2 +- gdb/testsuite/gdb.base/ifelse.exp | 2 +- gdb/testsuite/gdb.base/included.c | 2 +- gdb/testsuite/gdb.base/included.exp | 2 +- gdb/testsuite/gdb.base/included.h | 2 +- gdb/testsuite/gdb.base/index-cache.c | 2 +- gdb/testsuite/gdb.base/index-cache.exp | 2 +- gdb/testsuite/gdb.base/infcall-exec.c | 2 +- gdb/testsuite/gdb.base/infcall-exec.exp | 2 +- gdb/testsuite/gdb.base/infcall-exec2.c | 2 +- gdb/testsuite/gdb.base/infcall-input.c | 2 +- gdb/testsuite/gdb.base/infcall-input.exp | 2 +- gdb/testsuite/gdb.base/infcall-nested-structs.c | 175 +- gdb/testsuite/gdb.base/infcall-nested-structs.exp | 74 +- gdb/testsuite/gdb.base/inferior-died.c | 2 +- gdb/testsuite/gdb.base/inferior-died.exp | 2 +- gdb/testsuite/gdb.base/infnan.c | 2 +- gdb/testsuite/gdb.base/infnan.exp | 2 +- gdb/testsuite/gdb.base/info-fun-solib.c | 2 +- gdb/testsuite/gdb.base/info-fun.c | 2 +- gdb/testsuite/gdb.base/info-fun.exp | 2 +- gdb/testsuite/gdb.base/info-macros.exp | 2 +- gdb/testsuite/gdb.base/info-os.c | 2 +- gdb/testsuite/gdb.base/info-os.exp | 5 +- gdb/testsuite/gdb.base/info-proc.exp | 2 +- gdb/testsuite/gdb.base/info-program.exp | 2 +- gdb/testsuite/gdb.base/info-shared-solib1.c | 2 +- gdb/testsuite/gdb.base/info-shared-solib2.c | 2 +- gdb/testsuite/gdb.base/info-shared.c | 2 +- gdb/testsuite/gdb.base/info-shared.exp | 2 +- gdb/testsuite/gdb.base/info-target.exp | 2 +- gdb/testsuite/gdb.base/info_minsym.c | 29 + gdb/testsuite/gdb.base/info_minsym.exp | 38 + gdb/testsuite/gdb.base/info_qt.c | 2 +- gdb/testsuite/gdb.base/info_qt.exp | 6 +- .../gdb.base/infoline-reloc-main-from-zero.c | 2 +- .../gdb.base/infoline-reloc-main-from-zero.exp | 2 +- gdb/testsuite/gdb.base/infoline.c | 2 +- gdb/testsuite/gdb.base/infoline.exp | 2 +- gdb/testsuite/gdb.base/interact.exp | 2 +- gdb/testsuite/gdb.base/interp.c | 2 +- gdb/testsuite/gdb.base/interp.exp | 2 +- gdb/testsuite/gdb.base/interrupt-daemon-attach.c | 68 + gdb/testsuite/gdb.base/interrupt-daemon-attach.exp | 91 + gdb/testsuite/gdb.base/interrupt-daemon.c | 2 +- gdb/testsuite/gdb.base/interrupt-daemon.exp | 2 +- gdb/testsuite/gdb.base/interrupt-noterm.c | 2 +- gdb/testsuite/gdb.base/interrupt-noterm.exp | 2 +- gdb/testsuite/gdb.base/interrupt.exp | 2 +- gdb/testsuite/gdb.base/jit-attach-pie.c | 2 +- gdb/testsuite/gdb.base/jit-attach-pie.exp | 2 +- gdb/testsuite/gdb.base/jit-exec.c | 28 + gdb/testsuite/gdb.base/jit-exec.exp | 52 + gdb/testsuite/gdb.base/jit-execd.c | 22 + gdb/testsuite/gdb.base/jit-main.c | 2 +- gdb/testsuite/gdb.base/jit-protocol.h | 2 +- gdb/testsuite/gdb.base/jit-reader.exp | 2 +- gdb/testsuite/gdb.base/jit-simple-dl.c | 2 +- gdb/testsuite/gdb.base/jit-simple-jit.c | 2 +- gdb/testsuite/gdb.base/jit-simple.c | 2 +- gdb/testsuite/gdb.base/jit-simple.exp | 2 +- gdb/testsuite/gdb.base/jit-so.exp | 2 +- gdb/testsuite/gdb.base/jit-solib.c | 2 +- gdb/testsuite/gdb.base/jit.exp | 2 +- gdb/testsuite/gdb.base/jithost.c | 2 +- gdb/testsuite/gdb.base/jithost.h | 2 +- gdb/testsuite/gdb.base/jitreader.c | 2 +- gdb/testsuite/gdb.base/jump.exp | 2 +- gdb/testsuite/gdb.base/kill-after-signal.c | 2 +- gdb/testsuite/gdb.base/kill-after-signal.exp | 2 +- gdb/testsuite/gdb.base/kill-detach-inferiors-cmd.c | 2 +- .../gdb.base/kill-detach-inferiors-cmd.exp | 2 +- gdb/testsuite/gdb.base/killed-outside.c | 2 +- gdb/testsuite/gdb.base/killed-outside.exp | 2 +- gdb/testsuite/gdb.base/label.exp | 2 +- gdb/testsuite/gdb.base/langs.exp | 2 +- gdb/testsuite/gdb.base/langs1.f | 2 +- gdb/testsuite/gdb.base/large-frame-1.c | 2 +- gdb/testsuite/gdb.base/large-frame-2.c | 2 +- gdb/testsuite/gdb.base/large-frame.exp | 2 +- gdb/testsuite/gdb.base/large-frame.h | 2 +- gdb/testsuite/gdb.base/ldbl_e308.c | 2 +- gdb/testsuite/gdb.base/ldbl_e308.exp | 2 +- gdb/testsuite/gdb.base/libsegfault.exp | 2 +- gdb/testsuite/gdb.base/line-symtabs.c | 2 +- gdb/testsuite/gdb.base/line-symtabs.exp | 2 +- gdb/testsuite/gdb.base/line-symtabs.h | 2 +- gdb/testsuite/gdb.base/lineinc.exp | 2 +- gdb/testsuite/gdb.base/linespecs.exp | 2 +- gdb/testsuite/gdb.base/list-ambiguous.exp | 2 +- gdb/testsuite/gdb.base/list-ambiguous0.c | 2 +- gdb/testsuite/gdb.base/list-ambiguous1.c | 2 +- gdb/testsuite/gdb.base/list.exp | 19 +- gdb/testsuite/gdb.base/load-command.c | 2 +- gdb/testsuite/gdb.base/load-command.exp | 2 +- gdb/testsuite/gdb.base/logical.exp | 2 +- gdb/testsuite/gdb.base/long-inferior-output.c | 2 +- gdb/testsuite/gdb.base/long-inferior-output.exp | 2 +- gdb/testsuite/gdb.base/long_long.c | 2 +- gdb/testsuite/gdb.base/long_long.exp | 2 +- gdb/testsuite/gdb.base/longest-types.c | 2 +- gdb/testsuite/gdb.base/longest-types.exp | 2 +- gdb/testsuite/gdb.base/longjmp.c | 2 +- gdb/testsuite/gdb.base/longjmp.exp | 2 +- gdb/testsuite/gdb.base/macscp.exp | 2 +- gdb/testsuite/gdb.base/maint.exp | 2 +- gdb/testsuite/gdb.base/many-headers.c | 2 +- gdb/testsuite/gdb.base/many-headers.exp | 2 +- gdb/testsuite/gdb.base/max-value-size.c | 2 +- gdb/testsuite/gdb.base/max-value-size.exp | 2 +- gdb/testsuite/gdb.base/memattr.c | 2 +- gdb/testsuite/gdb.base/memattr.exp | 2 +- gdb/testsuite/gdb.base/mips_pro.exp | 2 +- gdb/testsuite/gdb.base/miscexprs.exp | 2 +- gdb/testsuite/gdb.base/morestack.c | 2 +- gdb/testsuite/gdb.base/morestack.exp | 2 +- gdb/testsuite/gdb.base/moribund-step.exp | 2 +- gdb/testsuite/gdb.base/msym-lang-main.c | 28 + gdb/testsuite/gdb.base/msym-lang.c | 22 + gdb/testsuite/gdb.base/msym-lang.exp | 25 + gdb/testsuite/gdb.base/multi-forks.c | 2 +- gdb/testsuite/gdb.base/multi-forks.exp | 2 +- .../gdb.base/multi-line-starts-subshell.exp | 2 +- gdb/testsuite/gdb.base/nested-addr.c | 2 +- gdb/testsuite/gdb.base/nested-addr.exp | 2 +- gdb/testsuite/gdb.base/nested-subp1.c | 2 +- gdb/testsuite/gdb.base/nested-subp1.exp | 2 +- gdb/testsuite/gdb.base/nested-subp2.c | 2 +- gdb/testsuite/gdb.base/nested-subp2.exp | 2 +- gdb/testsuite/gdb.base/nested-subp3.c | 2 +- gdb/testsuite/gdb.base/nested-subp3.exp | 2 +- gdb/testsuite/gdb.base/new-ui-echo.c | 2 +- gdb/testsuite/gdb.base/new-ui-echo.exp | 2 +- gdb/testsuite/gdb.base/new-ui-pending-input.c | 2 +- gdb/testsuite/gdb.base/new-ui-pending-input.exp | 2 +- gdb/testsuite/gdb.base/new-ui.c | 2 +- gdb/testsuite/gdb.base/new-ui.exp | 2 +- gdb/testsuite/gdb.base/nextoverexit.c | 2 +- gdb/testsuite/gdb.base/nextoverexit.exp | 2 +- gdb/testsuite/gdb.base/nodebug.exp | 2 +- gdb/testsuite/gdb.base/nofield.c | 2 +- gdb/testsuite/gdb.base/nofield.exp | 2 +- gdb/testsuite/gdb.base/noreturn-finish.c | 2 +- gdb/testsuite/gdb.base/noreturn-finish.exp | 2 +- gdb/testsuite/gdb.base/noreturn-return.c | 2 +- gdb/testsuite/gdb.base/noreturn-return.exp | 2 +- gdb/testsuite/gdb.base/normal.c | 2 +- gdb/testsuite/gdb.base/nostdlib.c | 2 +- gdb/testsuite/gdb.base/nostdlib.exp | 2 +- gdb/testsuite/gdb.base/offsets.c | 2 +- gdb/testsuite/gdb.base/offsets.exp | 2 +- gdb/testsuite/gdb.base/opaque.exp | 2 +- gdb/testsuite/gdb.base/osabi.exp | 2 +- gdb/testsuite/gdb.base/overlays.exp | 2 +- gdb/testsuite/gdb.base/page.exp | 43 +- .../gdb.base/paginate-after-ctrl-c-running.c | 2 +- .../gdb.base/paginate-after-ctrl-c-running.exp | 2 +- gdb/testsuite/gdb.base/paginate-bg-execution.c | 2 +- gdb/testsuite/gdb.base/paginate-bg-execution.exp | 2 +- .../gdb.base/paginate-execution-startup.c | 2 +- .../gdb.base/paginate-execution-startup.exp | 2 +- gdb/testsuite/gdb.base/paginate-inferior-exit.c | 2 +- gdb/testsuite/gdb.base/paginate-inferior-exit.exp | 2 +- gdb/testsuite/gdb.base/pc-fp.exp | 2 +- gdb/testsuite/gdb.base/pending.c | 2 +- gdb/testsuite/gdb.base/pending.exp | 2 +- gdb/testsuite/gdb.base/pendshr.c | 2 +- gdb/testsuite/gdb.base/permissions.exp | 2 +- gdb/testsuite/gdb.base/pie-execl.c | 2 +- gdb/testsuite/gdb.base/pie-execl.exp | 2 +- gdb/testsuite/gdb.base/pie-fork.c | 2 +- gdb/testsuite/gdb.base/pie-fork.exp | 2 +- gdb/testsuite/gdb.base/pointers.exp | 2 +- gdb/testsuite/gdb.base/pr10179.exp | 2 +- gdb/testsuite/gdb.base/pr11022.c | 2 +- gdb/testsuite/gdb.base/pr11022.exp | 2 +- gdb/testsuite/gdb.base/prelink-lib.c | 2 +- gdb/testsuite/gdb.base/prelink.c | 2 +- gdb/testsuite/gdb.base/prelink.exp | 2 +- gdb/testsuite/gdb.base/pretty-print.c | 53 + gdb/testsuite/gdb.base/pretty-print.exp | 58 + gdb/testsuite/gdb.base/print-file-var-lib1.c | 2 +- gdb/testsuite/gdb.base/print-file-var-lib2.c | 2 +- gdb/testsuite/gdb.base/print-file-var-main.c | 2 +- gdb/testsuite/gdb.base/print-file-var.exp | 2 +- gdb/testsuite/gdb.base/print-symbol-loading-lib.c | 2 +- gdb/testsuite/gdb.base/print-symbol-loading-main.c | 2 +- gdb/testsuite/gdb.base/print-symbol-loading.exp | 2 +- gdb/testsuite/gdb.base/printcmds.exp | 2 +- gdb/testsuite/gdb.base/prologue-include.c | 2 +- gdb/testsuite/gdb.base/prologue-include.exp | 2 +- gdb/testsuite/gdb.base/prologue-include.h | 2 +- gdb/testsuite/gdb.base/prologue.c | 2 +- gdb/testsuite/gdb.base/prologue.exp | 2 +- gdb/testsuite/gdb.base/psymtab.exp | 2 +- gdb/testsuite/gdb.base/ptr-typedef.c | 2 +- gdb/testsuite/gdb.base/ptr-typedef.exp | 2 +- gdb/testsuite/gdb.base/ptype-offsets.cc | 2 +- gdb/testsuite/gdb.base/ptype-offsets.exp | 2 +- gdb/testsuite/gdb.base/ptype.exp | 2 +- gdb/testsuite/gdb.base/quit-live.c | 2 +- gdb/testsuite/gdb.base/quit-live.exp | 2 +- gdb/testsuite/gdb.base/quit.exp | 2 +- gdb/testsuite/gdb.base/radix.exp | 2 +- gdb/testsuite/gdb.base/random-signal.c | 2 +- gdb/testsuite/gdb.base/random-signal.exp | 2 +- gdb/testsuite/gdb.base/randomize.c | 2 +- gdb/testsuite/gdb.base/randomize.exp | 2 +- gdb/testsuite/gdb.base/range-stepping.c | 2 +- gdb/testsuite/gdb.base/range-stepping.exp | 2 +- gdb/testsuite/gdb.base/readline-ask.c | 2 +- gdb/testsuite/gdb.base/readline-ask.exp | 2 +- gdb/testsuite/gdb.base/readline-ask.inputrc | 2 +- gdb/testsuite/gdb.base/readline.exp | 96 +- gdb/testsuite/gdb.base/readnever.c | 2 +- gdb/testsuite/gdb.base/readnever.exp | 2 +- gdb/testsuite/gdb.base/realname-expand-real.c | 2 +- gdb/testsuite/gdb.base/realname-expand.c | 2 +- gdb/testsuite/gdb.base/realname-expand.exp | 2 +- gdb/testsuite/gdb.base/recpar.c | 2 +- gdb/testsuite/gdb.base/recpar.exp | 2 +- gdb/testsuite/gdb.base/recurse.exp | 2 +- gdb/testsuite/gdb.base/reggroups.c | 2 +- gdb/testsuite/gdb.base/reggroups.exp | 2 +- gdb/testsuite/gdb.base/relational.exp | 2 +- gdb/testsuite/gdb.base/relativedebug.c | 2 +- gdb/testsuite/gdb.base/relativedebug.exp | 2 +- gdb/testsuite/gdb.base/relocate.c | 2 +- gdb/testsuite/gdb.base/relocate.exp | 2 +- gdb/testsuite/gdb.base/remote.exp | 2 +- gdb/testsuite/gdb.base/remotetimeout.exp | 2 +- gdb/testsuite/gdb.base/reread-readsym.c | 2 +- gdb/testsuite/gdb.base/reread-readsym.exp | 2 +- gdb/testsuite/gdb.base/reread.exp | 2 +- gdb/testsuite/gdb.base/restore.c | 2 +- gdb/testsuite/gdb.base/restore.exp | 2 +- gdb/testsuite/gdb.base/return-nodebug.c | 2 +- gdb/testsuite/gdb.base/return-nodebug.exp | 2 +- gdb/testsuite/gdb.base/return-nodebug1.c | 2 +- gdb/testsuite/gdb.base/return.c | 2 +- gdb/testsuite/gdb.base/return.exp | 2 +- gdb/testsuite/gdb.base/return2.exp | 2 +- gdb/testsuite/gdb.base/run-after-attach.c | 2 +- gdb/testsuite/gdb.base/run-after-attach.exp | 2 +- gdb/testsuite/gdb.base/save-bp.c | 2 +- gdb/testsuite/gdb.base/save-bp.exp | 2 +- gdb/testsuite/gdb.base/savedregs.c | 2 +- gdb/testsuite/gdb.base/savedregs.exp | 2 +- gdb/testsuite/gdb.base/scope.exp | 2 +- gdb/testsuite/gdb.base/sect-cmd.exp | 2 +- gdb/testsuite/gdb.base/segv.c | 2 +- gdb/testsuite/gdb.base/sep-proc.c | 2 +- gdb/testsuite/gdb.base/sep.c | 2 +- gdb/testsuite/gdb.base/sep.exp | 2 +- gdb/testsuite/gdb.base/sepdebug.c | 2 +- gdb/testsuite/gdb.base/sepdebug.exp | 2 +- gdb/testsuite/gdb.base/sepdebug2.c | 2 +- gdb/testsuite/gdb.base/sepsymtab.c | 2 +- gdb/testsuite/gdb.base/sepsymtab.exp | 2 +- gdb/testsuite/gdb.base/server-del-break.c | 2 +- gdb/testsuite/gdb.base/server-del-break.exp | 2 +- gdb/testsuite/gdb.base/set-cwd.c | 2 +- gdb/testsuite/gdb.base/set-cwd.exp | 2 +- gdb/testsuite/gdb.base/set-inferior-tty.c | 2 +- gdb/testsuite/gdb.base/set-inferior-tty.exp | 2 +- gdb/testsuite/gdb.base/set-lang-auto.exp | 2 +- gdb/testsuite/gdb.base/set-noassign.exp | 2 +- gdb/testsuite/gdb.base/setshow.exp | 2 +- gdb/testsuite/gdb.base/setvar.exp | 2 +- gdb/testsuite/gdb.base/share-env-with-gdbserver.c | 2 +- .../gdb.base/share-env-with-gdbserver.exp | 2 +- gdb/testsuite/gdb.base/shell.exp | 2 +- gdb/testsuite/gdb.base/shlib-call.exp | 2 +- gdb/testsuite/gdb.base/shreloc.exp | 2 +- gdb/testsuite/gdb.base/sigall.exp | 2 +- gdb/testsuite/gdb.base/sigaltstack.c | 2 +- gdb/testsuite/gdb.base/sigaltstack.exp | 2 +- gdb/testsuite/gdb.base/sigbpt.c | 2 +- gdb/testsuite/gdb.base/sigbpt.exp | 2 +- gdb/testsuite/gdb.base/sigchld.c | 2 +- gdb/testsuite/gdb.base/sigchld.exp | 2 +- gdb/testsuite/gdb.base/siginfo-addr.c | 2 +- gdb/testsuite/gdb.base/siginfo-addr.exp | 2 +- gdb/testsuite/gdb.base/siginfo-infcall.c | 2 +- gdb/testsuite/gdb.base/siginfo-infcall.exp | 2 +- gdb/testsuite/gdb.base/siginfo-obj.c | 2 +- gdb/testsuite/gdb.base/siginfo-obj.exp | 2 +- gdb/testsuite/gdb.base/siginfo-thread.c | 2 +- gdb/testsuite/gdb.base/siginfo-thread.exp | 2 +- gdb/testsuite/gdb.base/siginfo.c | 2 +- gdb/testsuite/gdb.base/siginfo.exp | 2 +- gdb/testsuite/gdb.base/signals-state-child.c | 2 +- gdb/testsuite/gdb.base/signals-state-child.exp | 2 +- gdb/testsuite/gdb.base/signals.exp | 2 +- gdb/testsuite/gdb.base/signest.c | 2 +- gdb/testsuite/gdb.base/signest.exp | 2 +- gdb/testsuite/gdb.base/signull.c | 2 +- gdb/testsuite/gdb.base/signull.exp | 2 +- gdb/testsuite/gdb.base/sigrepeat.c | 2 +- gdb/testsuite/gdb.base/sigrepeat.exp | 2 +- gdb/testsuite/gdb.base/sigstep.c | 2 +- gdb/testsuite/gdb.base/sigstep.exp | 2 +- gdb/testsuite/gdb.base/sizeof.exp | 2 +- gdb/testsuite/gdb.base/skip-solib.exp | 2 +- gdb/testsuite/gdb.base/skip.c | 2 +- gdb/testsuite/gdb.base/skip.exp | 38 +- gdb/testsuite/gdb.base/skip1.c | 2 +- gdb/testsuite/gdb.base/so-disc-shr.c | 2 +- gdb/testsuite/gdb.base/so-impl-ld.exp | 2 +- gdb/testsuite/gdb.base/solib-corrupted.exp | 2 +- gdb/testsuite/gdb.base/solib-disc.c | 2 +- gdb/testsuite/gdb.base/solib-disc.exp | 2 +- gdb/testsuite/gdb.base/solib-display-lib.c | 2 +- gdb/testsuite/gdb.base/solib-display-main.c | 2 +- gdb/testsuite/gdb.base/solib-display.exp | 2 +- gdb/testsuite/gdb.base/solib-nodir.exp | 2 +- gdb/testsuite/gdb.base/solib-overlap-lib.c | 2 +- gdb/testsuite/gdb.base/solib-overlap-main.c | 2 +- gdb/testsuite/gdb.base/solib-overlap.exp | 2 +- gdb/testsuite/gdb.base/solib-search-lib1.c | 2 +- gdb/testsuite/gdb.base/solib-search-lib2.c | 2 +- gdb/testsuite/gdb.base/solib-search.c | 2 +- gdb/testsuite/gdb.base/solib-search.exp | 2 +- gdb/testsuite/gdb.base/solib-search.h | 2 +- gdb/testsuite/gdb.base/solib-symbol-lib.c | 2 +- gdb/testsuite/gdb.base/solib-symbol-main.c | 2 +- gdb/testsuite/gdb.base/solib-symbol.exp | 2 +- gdb/testsuite/gdb.base/solib-vanish-lib1.c | 2 +- gdb/testsuite/gdb.base/solib-vanish-lib2.c | 2 +- gdb/testsuite/gdb.base/solib-vanish-main.c | 2 +- gdb/testsuite/gdb.base/solib-vanish.exp | 2 +- gdb/testsuite/gdb.base/solib-weak.c | 2 +- gdb/testsuite/gdb.base/solib-weak.exp | 2 +- gdb/testsuite/gdb.base/source-dir.exp | 2 +- gdb/testsuite/gdb.base/source-error-1.gdb | 22 + gdb/testsuite/gdb.base/source-error.gdb | 6 +- gdb/testsuite/gdb.base/source-execution.c | 2 +- gdb/testsuite/gdb.base/source-execution.exp | 2 +- gdb/testsuite/gdb.base/source-execution.gdb | 2 +- gdb/testsuite/gdb.base/source-nofile.gdb | 2 +- gdb/testsuite/gdb.base/source-test.gdb | 2 +- gdb/testsuite/gdb.base/source.exp | 18 +- gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.c | 2 +- gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp | 2 +- gdb/testsuite/gdb.base/sss-bp-on-user-bp.c | 2 +- gdb/testsuite/gdb.base/sss-bp-on-user-bp.exp | 2 +- gdb/testsuite/gdb.base/stack-checking.c | 2 +- gdb/testsuite/gdb.base/stack-checking.exp | 2 +- gdb/testsuite/gdb.base/stack-protector.c | 28 + gdb/testsuite/gdb.base/stack-protector.exp | 68 + gdb/testsuite/gdb.base/stale-infcall.c | 2 +- gdb/testsuite/gdb.base/stale-infcall.exp | 2 +- gdb/testsuite/gdb.base/stap-probe.c | 2 +- gdb/testsuite/gdb.base/stap-probe.exp | 2 +- gdb/testsuite/gdb.base/start.c | 2 +- gdb/testsuite/gdb.base/start.exp | 2 +- gdb/testsuite/gdb.base/starti.c | 2 +- gdb/testsuite/gdb.base/starti.exp | 2 +- gdb/testsuite/gdb.base/startup-with-shell.c | 2 +- gdb/testsuite/gdb.base/startup-with-shell.exp | 2 +- gdb/testsuite/gdb.base/statistics.exp | 2 +- gdb/testsuite/gdb.base/step-break.c | 2 +- gdb/testsuite/gdb.base/step-break.exp | 2 +- gdb/testsuite/gdb.base/step-bt.c | 2 +- gdb/testsuite/gdb.base/step-bt.exp | 2 +- gdb/testsuite/gdb.base/step-indirect-call-thunk.c | 2 +- .../gdb.base/step-indirect-call-thunk.exp | 2 +- gdb/testsuite/gdb.base/step-line.c | 2 +- gdb/testsuite/gdb.base/step-line.exp | 2 +- gdb/testsuite/gdb.base/step-line.inp | 2 +- gdb/testsuite/gdb.base/step-over-clone.c | 2 +- gdb/testsuite/gdb.base/step-over-exit.c | 2 +- gdb/testsuite/gdb.base/step-over-exit.exp | 2 +- gdb/testsuite/gdb.base/step-over-fork.c | 2 +- gdb/testsuite/gdb.base/step-over-no-symbols.exp | 2 +- gdb/testsuite/gdb.base/step-over-syscall.exp | 2 +- gdb/testsuite/gdb.base/step-over-vfork.c | 2 +- gdb/testsuite/gdb.base/step-resume-infcall.c | 2 +- gdb/testsuite/gdb.base/step-resume-infcall.exp | 2 +- .../gdb.base/step-sw-breakpoint-adjust-pc.c | 2 +- .../gdb.base/step-sw-breakpoint-adjust-pc.exp | 2 +- gdb/testsuite/gdb.base/step-symless.c | 2 +- gdb/testsuite/gdb.base/step-symless.exp | 2 +- gdb/testsuite/gdb.base/step-test.exp | 2 +- gdb/testsuite/gdb.base/store.exp | 2 +- gdb/testsuite/gdb.base/structs.c | 2 +- gdb/testsuite/gdb.base/structs.exp | 2 +- gdb/testsuite/gdb.base/structs2.exp | 2 +- gdb/testsuite/gdb.base/structs3.c | 2 +- gdb/testsuite/gdb.base/structs3.exp | 2 +- gdb/testsuite/gdb.base/style.c | 22 + gdb/testsuite/gdb.base/style.exp | 96 + gdb/testsuite/gdb.base/subst.exp | 2 +- gdb/testsuite/gdb.base/sym-file-lib.c | 2 +- gdb/testsuite/gdb.base/sym-file-loader.c | 2 +- gdb/testsuite/gdb.base/sym-file-loader.h | 2 +- gdb/testsuite/gdb.base/sym-file-main.c | 2 +- gdb/testsuite/gdb.base/sym-file.exp | 2 +- gdb/testsuite/gdb.base/symbol-alias.c | 2 +- gdb/testsuite/gdb.base/symbol-alias.exp | 2 +- gdb/testsuite/gdb.base/symbol-alias2.c | 2 +- .../gdb.base/symbol-without-target_section.c | 2 +- .../gdb.base/symbol-without-target_section.exp | 2 +- gdb/testsuite/gdb.base/symlink-sourcefile.c | 26 + gdb/testsuite/gdb.base/symlink-sourcefile.exp | 45 + gdb/testsuite/gdb.base/symtab-search-order-1.c | 2 +- .../gdb.base/symtab-search-order-shlib-1.c | 2 +- gdb/testsuite/gdb.base/symtab-search-order.c | 2 +- gdb/testsuite/gdb.base/symtab-search-order.exp | 2 +- gdb/testsuite/gdb.base/term.c | 2 +- gdb/testsuite/gdb.base/term.exp | 2 +- gdb/testsuite/gdb.base/testenv.c | 2 +- gdb/testsuite/gdb.base/testenv.exp | 2 +- gdb/testsuite/gdb.base/trace-commands.exp | 2 +- gdb/testsuite/gdb.base/twice.exp | 2 +- gdb/testsuite/gdb.base/type-opaque-lib.c | 2 +- gdb/testsuite/gdb.base/type-opaque-main.c | 2 +- gdb/testsuite/gdb.base/type-opaque.exp | 2 +- gdb/testsuite/gdb.base/ui-redirect.exp | 2 +- gdb/testsuite/gdb.base/unload.c | 2 +- gdb/testsuite/gdb.base/unload.exp | 2 +- gdb/testsuite/gdb.base/unloadshr.c | 2 +- gdb/testsuite/gdb.base/unloadshr2.c | 2 +- gdb/testsuite/gdb.base/until-nodebug.exp | 2 +- gdb/testsuite/gdb.base/until.exp | 2 +- gdb/testsuite/gdb.base/unwindonsignal.c | 2 +- gdb/testsuite/gdb.base/unwindonsignal.exp | 2 +- gdb/testsuite/gdb.base/utf8-identifiers.c | 2 +- gdb/testsuite/gdb.base/utf8-identifiers.exp | 2 +- gdb/testsuite/gdb.base/valgrind-bt.c | 2 +- gdb/testsuite/gdb.base/valgrind-bt.exp | 2 +- gdb/testsuite/gdb.base/valgrind-disp-step.c | 2 +- gdb/testsuite/gdb.base/valgrind-disp-step.exp | 2 +- gdb/testsuite/gdb.base/valgrind-infcall.c | 2 +- gdb/testsuite/gdb.base/valgrind-infcall.exp | 2 +- gdb/testsuite/gdb.base/value-double-free.c | 2 +- gdb/testsuite/gdb.base/value-double-free.exp | 2 +- gdb/testsuite/gdb.base/varargs.exp | 2 +- gdb/testsuite/gdb.base/vdso-warning.c | 2 +- gdb/testsuite/gdb.base/vdso-warning.exp | 2 +- gdb/testsuite/gdb.base/vforked-prog.c | 2 +- gdb/testsuite/gdb.base/vla-datatypes.c | 2 +- gdb/testsuite/gdb.base/vla-datatypes.exp | 2 +- gdb/testsuite/gdb.base/vla-optimized-out.c | 2 +- gdb/testsuite/gdb.base/vla-optimized-out.exp | 2 +- gdb/testsuite/gdb.base/vla-ptr.c | 2 +- gdb/testsuite/gdb.base/vla-ptr.exp | 2 +- gdb/testsuite/gdb.base/vla-sideeffect.c | 2 +- gdb/testsuite/gdb.base/vla-sideeffect.exp | 2 +- gdb/testsuite/gdb.base/vla-stub-define.c | 2 +- gdb/testsuite/gdb.base/vla-stub.c | 2 +- gdb/testsuite/gdb.base/vla-stub.exp | 2 +- gdb/testsuite/gdb.base/volatile.exp | 2 +- gdb/testsuite/gdb.base/warning.exp | 36 + gdb/testsuite/gdb.base/watch-bitfields.c | 2 +- gdb/testsuite/gdb.base/watch-bitfields.exp | 2 +- gdb/testsuite/gdb.base/watch-cond-infcall.c | 2 +- gdb/testsuite/gdb.base/watch-cond-infcall.exp | 2 +- gdb/testsuite/gdb.base/watch-cond.c | 2 +- gdb/testsuite/gdb.base/watch-cond.exp | 2 +- gdb/testsuite/gdb.base/watch-non-mem.c | 2 +- gdb/testsuite/gdb.base/watch-non-mem.exp | 2 +- gdb/testsuite/gdb.base/watch-read.c | 2 +- gdb/testsuite/gdb.base/watch-read.exp | 2 +- gdb/testsuite/gdb.base/watch-vfork.c | 2 +- gdb/testsuite/gdb.base/watch-vfork.exp | 2 +- gdb/testsuite/gdb.base/watch_thread_num.c | 2 +- gdb/testsuite/gdb.base/watch_thread_num.exp | 2 +- .../gdb.base/watchpoint-cond-gone-stripped.c | 2 +- gdb/testsuite/gdb.base/watchpoint-cond-gone.c | 2 +- gdb/testsuite/gdb.base/watchpoint-cond-gone.exp | 2 +- gdb/testsuite/gdb.base/watchpoint-delete.c | 2 +- gdb/testsuite/gdb.base/watchpoint-delete.exp | 2 +- gdb/testsuite/gdb.base/watchpoint-hw-attach.c | 2 +- gdb/testsuite/gdb.base/watchpoint-hw-attach.exp | 2 +- gdb/testsuite/gdb.base/watchpoint-hw-hit-once.c | 2 +- gdb/testsuite/gdb.base/watchpoint-hw-hit-once.exp | 2 +- gdb/testsuite/gdb.base/watchpoint-hw.c | 2 +- gdb/testsuite/gdb.base/watchpoint-hw.exp | 2 +- gdb/testsuite/gdb.base/watchpoint-reuse-slot.c | 2 +- gdb/testsuite/gdb.base/watchpoint-reuse-slot.exp | 2 +- gdb/testsuite/gdb.base/watchpoint-solib-shr.c | 2 +- gdb/testsuite/gdb.base/watchpoint-solib.c | 2 +- gdb/testsuite/gdb.base/watchpoint-solib.exp | 2 +- .../gdb.base/watchpoint-stops-at-right-insn.c | 2 +- .../gdb.base/watchpoint-stops-at-right-insn.exp | 2 +- gdb/testsuite/gdb.base/watchpoint-unaligned.c | 2 +- gdb/testsuite/gdb.base/watchpoint-unaligned.exp | 2 +- gdb/testsuite/gdb.base/watchpoint.exp | 2 +- gdb/testsuite/gdb.base/watchpoints.c | 2 +- gdb/testsuite/gdb.base/watchpoints.exp | 2 +- gdb/testsuite/gdb.base/wchar.c | 2 +- gdb/testsuite/gdb.base/wchar.exp | 2 +- gdb/testsuite/gdb.base/weaklib1.c | 2 +- gdb/testsuite/gdb.base/weaklib2.c | 2 +- gdb/testsuite/gdb.base/whatis-exp.exp | 2 +- gdb/testsuite/gdb.base/whatis-ptype-typedefs.c | 2 +- gdb/testsuite/gdb.base/whatis-ptype-typedefs.exp | 2 +- gdb/testsuite/gdb.base/whatis.c | 2 +- gdb/testsuite/gdb.base/whatis.exp | 2 +- gdb/testsuite/gdb.base/write_mem.c | 2 +- gdb/testsuite/gdb.base/write_mem.exp | 2 +- gdb/testsuite/gdb.base/wrong_frame_bt_full-main.c | 2 +- .../gdb.base/wrong_frame_bt_full-opaque.c | 2 +- gdb/testsuite/gdb.base/wrong_frame_bt_full.exp | 2 +- gdb/testsuite/gdb.btrace/buffer-size.exp | 2 +- gdb/testsuite/gdb.btrace/cpu.exp | 2 +- gdb/testsuite/gdb.btrace/data.c | 2 +- gdb/testsuite/gdb.btrace/data.exp | 2 +- gdb/testsuite/gdb.btrace/delta.exp | 2 +- gdb/testsuite/gdb.btrace/dlopen-dso.c | 2 +- gdb/testsuite/gdb.btrace/dlopen.c | 2 +- gdb/testsuite/gdb.btrace/dlopen.exp | 2 +- gdb/testsuite/gdb.btrace/enable-running.c | 2 +- gdb/testsuite/gdb.btrace/enable-running.exp | 2 +- gdb/testsuite/gdb.btrace/enable.c | 2 +- gdb/testsuite/gdb.btrace/enable.exp | 2 +- gdb/testsuite/gdb.btrace/exception.cc | 2 +- gdb/testsuite/gdb.btrace/exception.exp | 2 +- gdb/testsuite/gdb.btrace/function_call_history.c | 2 +- gdb/testsuite/gdb.btrace/function_call_history.exp | 2 +- gdb/testsuite/gdb.btrace/gcore.exp | 2 +- gdb/testsuite/gdb.btrace/i686-record_goto.S | 2 +- gdb/testsuite/gdb.btrace/i686-tailcall-only.S | 2 +- gdb/testsuite/gdb.btrace/i686-tailcall.S | 2 +- gdb/testsuite/gdb.btrace/instruction_history.S | 2 +- gdb/testsuite/gdb.btrace/instruction_history.c | 2 +- gdb/testsuite/gdb.btrace/instruction_history.exp | 2 +- gdb/testsuite/gdb.btrace/multi-thread-step.c | 2 +- gdb/testsuite/gdb.btrace/multi-thread-step.exp | 2 +- gdb/testsuite/gdb.btrace/nohist.exp | 2 +- gdb/testsuite/gdb.btrace/non-stop.c | 2 +- gdb/testsuite/gdb.btrace/non-stop.exp | 2 +- gdb/testsuite/gdb.btrace/reconnect.c | 2 +- gdb/testsuite/gdb.btrace/reconnect.exp | 2 +- gdb/testsuite/gdb.btrace/record_goto-step.exp | 2 +- gdb/testsuite/gdb.btrace/record_goto.c | 2 +- gdb/testsuite/gdb.btrace/record_goto.exp | 2 +- gdb/testsuite/gdb.btrace/rn-dl-bind.c | 2 +- gdb/testsuite/gdb.btrace/rn-dl-bind.exp | 2 +- gdb/testsuite/gdb.btrace/segv.c | 2 +- gdb/testsuite/gdb.btrace/segv.exp | 2 +- gdb/testsuite/gdb.btrace/step.exp | 2 +- gdb/testsuite/gdb.btrace/stepi.exp | 2 +- gdb/testsuite/gdb.btrace/tailcall-only.c | 2 +- gdb/testsuite/gdb.btrace/tailcall-only.exp | 2 +- gdb/testsuite/gdb.btrace/tailcall.c | 2 +- gdb/testsuite/gdb.btrace/tailcall.exp | 2 +- gdb/testsuite/gdb.btrace/tsx.c | 2 +- gdb/testsuite/gdb.btrace/tsx.exp | 2 +- gdb/testsuite/gdb.btrace/unknown_functions.c | 2 +- gdb/testsuite/gdb.btrace/unknown_functions.exp | 2 +- gdb/testsuite/gdb.btrace/vdso.c | 2 +- gdb/testsuite/gdb.btrace/vdso.exp | 2 +- gdb/testsuite/gdb.btrace/x86-tsx.S | 2 +- gdb/testsuite/gdb.btrace/x86_64-record_goto.S | 2 +- gdb/testsuite/gdb.btrace/x86_64-tailcall-only.S | 2 +- gdb/testsuite/gdb.btrace/x86_64-tailcall.S | 2 +- gdb/testsuite/gdb.cell/arch.exp | 2 +- gdb/testsuite/gdb.cell/break-spu.c | 2 +- gdb/testsuite/gdb.cell/break.c | 2 +- gdb/testsuite/gdb.cell/break.exp | 2 +- gdb/testsuite/gdb.cell/bt-spu.c | 2 +- gdb/testsuite/gdb.cell/bt.c | 2 +- gdb/testsuite/gdb.cell/bt.exp | 2 +- gdb/testsuite/gdb.cell/bt2-spu.c | 2 +- gdb/testsuite/gdb.cell/core.exp | 2 +- gdb/testsuite/gdb.cell/coremaker-spu.c | 2 +- gdb/testsuite/gdb.cell/coremaker.c | 2 +- gdb/testsuite/gdb.cell/data-spu.c | 2 +- gdb/testsuite/gdb.cell/data.c | 2 +- gdb/testsuite/gdb.cell/data.exp | 2 +- gdb/testsuite/gdb.cell/dwarfaddr.S | 2 +- gdb/testsuite/gdb.cell/dwarfaddr.exp | 2 +- gdb/testsuite/gdb.cell/ea-cache-spu.c | 2 +- gdb/testsuite/gdb.cell/ea-cache.c | 2 +- gdb/testsuite/gdb.cell/ea-cache.exp | 2 +- gdb/testsuite/gdb.cell/ea-standalone.c | 2 +- gdb/testsuite/gdb.cell/ea-standalone.exp | 2 +- gdb/testsuite/gdb.cell/ea-test.c | 2 +- gdb/testsuite/gdb.cell/ea-test.exp | 2 +- gdb/testsuite/gdb.cell/f-regs.exp | 2 +- gdb/testsuite/gdb.cell/fork-spu.c | 2 +- gdb/testsuite/gdb.cell/fork.c | 2 +- gdb/testsuite/gdb.cell/fork.exp | 2 +- gdb/testsuite/gdb.cell/gcore.exp | 2 +- gdb/testsuite/gdb.cell/mem-access-spu.c | 2 +- gdb/testsuite/gdb.cell/mem-access.c | 2 +- gdb/testsuite/gdb.cell/mem-access.exp | 2 +- gdb/testsuite/gdb.cell/ptype.exp | 2 +- gdb/testsuite/gdb.cell/registers.exp | 2 +- gdb/testsuite/gdb.cell/size-spu.c | 2 +- gdb/testsuite/gdb.cell/size.c | 2 +- gdb/testsuite/gdb.cell/sizeof.exp | 2 +- gdb/testsuite/gdb.cell/solib-symbol.exp | 2 +- gdb/testsuite/gdb.cell/solib.exp | 2 +- gdb/testsuite/gdb.compile/compile-constvar.S | 2 +- gdb/testsuite/gdb.compile/compile-constvar.c | 2 +- .../gdb.compile/compile-cplus-anonymous.cc | 2 +- .../gdb.compile/compile-cplus-anonymous.exp | 2 +- .../gdb.compile/compile-cplus-array-decay.cc | 2 +- .../gdb.compile/compile-cplus-array-decay.exp | 2 +- gdb/testsuite/gdb.compile/compile-cplus-inherit.cc | 2 +- .../gdb.compile/compile-cplus-inherit.exp | 2 +- gdb/testsuite/gdb.compile/compile-cplus-member.cc | 2 +- gdb/testsuite/gdb.compile/compile-cplus-member.exp | 2 +- gdb/testsuite/gdb.compile/compile-cplus-method.cc | 2 +- gdb/testsuite/gdb.compile/compile-cplus-method.exp | 2 +- gdb/testsuite/gdb.compile/compile-cplus-mod.c | 2 +- .../gdb.compile/compile-cplus-namespace.cc | 2 +- .../gdb.compile/compile-cplus-namespace.exp | 2 +- gdb/testsuite/gdb.compile/compile-cplus-nested.cc | 2 +- gdb/testsuite/gdb.compile/compile-cplus-nested.exp | 2 +- gdb/testsuite/gdb.compile/compile-cplus-print.c | 2 +- gdb/testsuite/gdb.compile/compile-cplus-print.exp | 2 +- gdb/testsuite/gdb.compile/compile-cplus-virtual.cc | 2 +- .../gdb.compile/compile-cplus-virtual.exp | 2 +- gdb/testsuite/gdb.compile/compile-cplus.c | 2 +- gdb/testsuite/gdb.compile/compile-cplus.exp | 2 +- gdb/testsuite/gdb.compile/compile-ifunc.c | 2 +- gdb/testsuite/gdb.compile/compile-ifunc.exp | 2 +- gdb/testsuite/gdb.compile/compile-mod.c | 2 +- gdb/testsuite/gdb.compile/compile-nodebug.c | 2 +- gdb/testsuite/gdb.compile/compile-ops.c | 2 +- gdb/testsuite/gdb.compile/compile-ops.exp | 2 +- gdb/testsuite/gdb.compile/compile-print.c | 2 +- gdb/testsuite/gdb.compile/compile-print.exp | 2 +- gdb/testsuite/gdb.compile/compile-setjmp-mod.c | 2 +- gdb/testsuite/gdb.compile/compile-setjmp.c | 2 +- gdb/testsuite/gdb.compile/compile-setjmp.exp | 2 +- gdb/testsuite/gdb.compile/compile-shlib.c | 2 +- gdb/testsuite/gdb.compile/compile-tls.c | 2 +- gdb/testsuite/gdb.compile/compile-tls.exp | 2 +- gdb/testsuite/gdb.compile/compile.c | 2 +- gdb/testsuite/gdb.compile/compile.exp | 2 +- gdb/testsuite/gdb.cp/abstract-origin.cc | 2 +- gdb/testsuite/gdb.cp/abstract-origin.exp | 2 +- gdb/testsuite/gdb.cp/align.exp | 2 +- gdb/testsuite/gdb.cp/ambiguous.exp | 2 +- gdb/testsuite/gdb.cp/annota2.exp | 2 +- gdb/testsuite/gdb.cp/annota3.exp | 2 +- gdb/testsuite/gdb.cp/anon-ns.cc | 2 +- gdb/testsuite/gdb.cp/anon-ns.exp | 2 +- gdb/testsuite/gdb.cp/anon-ns2.cc | 2 +- gdb/testsuite/gdb.cp/anon-struct.cc | 2 +- gdb/testsuite/gdb.cp/anon-struct.exp | 2 +- gdb/testsuite/gdb.cp/anon-union.exp | 2 +- gdb/testsuite/gdb.cp/arg-reference.cc | 2 +- gdb/testsuite/gdb.cp/arg-reference.exp | 2 +- gdb/testsuite/gdb.cp/baseenum.cc | 2 +- gdb/testsuite/gdb.cp/baseenum.exp | 2 +- gdb/testsuite/gdb.cp/bool.cc | 2 +- gdb/testsuite/gdb.cp/bool.exp | 2 +- gdb/testsuite/gdb.cp/breakpoint.cc | 2 +- gdb/testsuite/gdb.cp/breakpoint.exp | 2 +- gdb/testsuite/gdb.cp/bs15503.cc | 2 +- gdb/testsuite/gdb.cp/bs15503.exp | 2 +- gdb/testsuite/gdb.cp/call-c-1.c | 2 +- gdb/testsuite/gdb.cp/call-c.cc | 2 +- gdb/testsuite/gdb.cp/call-c.exp | 2 +- gdb/testsuite/gdb.cp/casts.exp | 2 +- gdb/testsuite/gdb.cp/casts03.cc | 2 +- gdb/testsuite/gdb.cp/chained-calls.cc | 2 +- gdb/testsuite/gdb.cp/chained-calls.exp | 2 +- gdb/testsuite/gdb.cp/class2.cc | 2 +- gdb/testsuite/gdb.cp/class2.exp | 2 +- gdb/testsuite/gdb.cp/classes.cc | 2 +- gdb/testsuite/gdb.cp/classes.exp | 2 +- gdb/testsuite/gdb.cp/cmpd-minsyms.cc | 2 +- gdb/testsuite/gdb.cp/cmpd-minsyms.exp | 2 +- gdb/testsuite/gdb.cp/converts.exp | 2 +- gdb/testsuite/gdb.cp/cp-relocate.cc | 2 +- gdb/testsuite/gdb.cp/cp-relocate.exp | 2 +- gdb/testsuite/gdb.cp/cpcompletion.exp | 2 +- gdb/testsuite/gdb.cp/cpexprs.cc | 2 +- gdb/testsuite/gdb.cp/cpexprs.exp | 2 +- gdb/testsuite/gdb.cp/cplabel.cc | 2 +- gdb/testsuite/gdb.cp/cplabel.exp | 2 +- gdb/testsuite/gdb.cp/cplusfuncs.exp | 2 +- gdb/testsuite/gdb.cp/cpsizeof.cc | 2 +- gdb/testsuite/gdb.cp/cpsizeof.exp | 2 +- gdb/testsuite/gdb.cp/ctti.exp | 2 +- gdb/testsuite/gdb.cp/cttiadd.cc | 2 +- gdb/testsuite/gdb.cp/cttiadd1.cc | 2 +- gdb/testsuite/gdb.cp/cttiadd2.cc | 2 +- gdb/testsuite/gdb.cp/cttiadd3.cc | 2 +- gdb/testsuite/gdb.cp/debug-expr.exp | 2 +- gdb/testsuite/gdb.cp/demangle.exp | 1421 +-- gdb/testsuite/gdb.cp/derivation.cc | 2 +- gdb/testsuite/gdb.cp/derivation.exp | 2 +- gdb/testsuite/gdb.cp/derivation2.cc | 2 +- gdb/testsuite/gdb.cp/destrprint.exp | 2 +- gdb/testsuite/gdb.cp/dispcxx.cc | 2 +- gdb/testsuite/gdb.cp/dispcxx.exp | 2 +- gdb/testsuite/gdb.cp/ena-dis-br-range.cc | 2 +- gdb/testsuite/gdb.cp/ena-dis-br-range.exp | 2 +- gdb/testsuite/gdb.cp/enum-class.cc | 2 +- gdb/testsuite/gdb.cp/enum-class.exp | 2 +- gdb/testsuite/gdb.cp/exception.cc | 2 +- gdb/testsuite/gdb.cp/exception.exp | 2 +- gdb/testsuite/gdb.cp/exceptprint.cc | 2 +- gdb/testsuite/gdb.cp/exceptprint.exp | 2 +- gdb/testsuite/gdb.cp/expand-psymtabs-cxx.cc | 2 +- gdb/testsuite/gdb.cp/expand-psymtabs-cxx.exp | 2 +- gdb/testsuite/gdb.cp/expand-sals.cc | 2 +- gdb/testsuite/gdb.cp/expand-sals.exp | 2 +- gdb/testsuite/gdb.cp/extern-c.cc | 2 +- gdb/testsuite/gdb.cp/extern-c.exp | 2 +- gdb/testsuite/gdb.cp/filename.cc | 2 +- gdb/testsuite/gdb.cp/filename.exp | 2 +- gdb/testsuite/gdb.cp/formatted-ref.cc | 2 +- gdb/testsuite/gdb.cp/formatted-ref.exp | 2 +- gdb/testsuite/gdb.cp/fpointer.exp | 2 +- gdb/testsuite/gdb.cp/gdb1355.exp | 2 +- gdb/testsuite/gdb.cp/gdb2384-base.cc | 2 +- gdb/testsuite/gdb.cp/gdb2384-base.h | 2 +- gdb/testsuite/gdb.cp/gdb2384.cc | 2 +- gdb/testsuite/gdb.cp/gdb2384.exp | 2 +- gdb/testsuite/gdb.cp/gdb2495.cc | 2 +- gdb/testsuite/gdb.cp/gdb2495.exp | 2 +- gdb/testsuite/gdb.cp/hang.exp | 2 +- gdb/testsuite/gdb.cp/impl-this.cc | 2 +- gdb/testsuite/gdb.cp/impl-this.exp | 2 +- gdb/testsuite/gdb.cp/includefile | 2 +- gdb/testsuite/gdb.cp/infcall-dlopen-lib.cc | 2 +- gdb/testsuite/gdb.cp/infcall-dlopen.cc | 2 +- gdb/testsuite/gdb.cp/infcall-dlopen.exp | 2 +- gdb/testsuite/gdb.cp/infcall-nodebug-lib.c | 22 + gdb/testsuite/gdb.cp/infcall-nodebug-main.c | 24 + gdb/testsuite/gdb.cp/infcall-nodebug.exp | 119 + gdb/testsuite/gdb.cp/inherit.exp | 2 +- gdb/testsuite/gdb.cp/iostream.cc | 2 +- gdb/testsuite/gdb.cp/iostream.exp | 2 +- gdb/testsuite/gdb.cp/koenig.exp | 2 +- gdb/testsuite/gdb.cp/local-static.c | 2 +- gdb/testsuite/gdb.cp/local-static.exp | 2 +- gdb/testsuite/gdb.cp/local.exp | 2 +- gdb/testsuite/gdb.cp/m-data.exp | 2 +- gdb/testsuite/gdb.cp/m-static.exp | 2 +- gdb/testsuite/gdb.cp/maint.exp | 2 +- gdb/testsuite/gdb.cp/mb-ctor.exp | 2 +- gdb/testsuite/gdb.cp/mb-inline.exp | 2 +- gdb/testsuite/gdb.cp/mb-inline.h | 2 +- gdb/testsuite/gdb.cp/mb-inline1.cc | 2 +- gdb/testsuite/gdb.cp/mb-inline2.cc | 2 +- gdb/testsuite/gdb.cp/mb-templates.exp | 2 +- gdb/testsuite/gdb.cp/member-name.cc | 2 +- gdb/testsuite/gdb.cp/member-name.exp | 2 +- gdb/testsuite/gdb.cp/member-ptr.cc | 2 +- gdb/testsuite/gdb.cp/member-ptr.exp | 2 +- gdb/testsuite/gdb.cp/meth-typedefs.cc | 2 +- gdb/testsuite/gdb.cp/meth-typedefs.exp | 2 +- gdb/testsuite/gdb.cp/method.exp | 2 +- gdb/testsuite/gdb.cp/method2.exp | 2 +- gdb/testsuite/gdb.cp/minsym-fallback-main.cc | 2 +- gdb/testsuite/gdb.cp/minsym-fallback.cc | 2 +- gdb/testsuite/gdb.cp/minsym-fallback.exp | 2 +- gdb/testsuite/gdb.cp/minsym-fallback.h | 2 +- gdb/testsuite/gdb.cp/misc.cc | 2 +- gdb/testsuite/gdb.cp/misc.exp | 2 +- gdb/testsuite/gdb.cp/namelessclass.S | 2 +- gdb/testsuite/gdb.cp/namelessclass.cc | 2 +- gdb/testsuite/gdb.cp/namelessclass.exp | 2 +- gdb/testsuite/gdb.cp/namespace-enum.exp | 2 +- gdb/testsuite/gdb.cp/namespace-nested-import.exp | 2 +- gdb/testsuite/gdb.cp/namespace.exp | 2 +- gdb/testsuite/gdb.cp/namespace1.cc | 2 +- gdb/testsuite/gdb.cp/nested-types.cc | 2 +- gdb/testsuite/gdb.cp/nested-types.exp | 2 +- gdb/testsuite/gdb.cp/nextoverthrow.cc | 2 +- gdb/testsuite/gdb.cp/nextoverthrow.exp | 2 +- gdb/testsuite/gdb.cp/no-dmgl-verbose.cc | 2 +- gdb/testsuite/gdb.cp/no-dmgl-verbose.exp | 2 +- gdb/testsuite/gdb.cp/non-trivial-retval.cc | 2 +- gdb/testsuite/gdb.cp/non-trivial-retval.exp | 2 +- gdb/testsuite/gdb.cp/noparam.cc | 2 +- gdb/testsuite/gdb.cp/noparam.exp | 2 +- gdb/testsuite/gdb.cp/nsalias.cc | 2 +- gdb/testsuite/gdb.cp/nsalias.exp | 2 +- gdb/testsuite/gdb.cp/nsdecl.exp | 2 +- gdb/testsuite/gdb.cp/nsimport.exp | 2 +- gdb/testsuite/gdb.cp/nsnested.exp | 2 +- gdb/testsuite/gdb.cp/nsnoimports.exp | 2 +- gdb/testsuite/gdb.cp/nsrecurs.exp | 2 +- gdb/testsuite/gdb.cp/nsstress.exp | 2 +- gdb/testsuite/gdb.cp/nsusing.exp | 2 +- gdb/testsuite/gdb.cp/operator.exp | 2 +- gdb/testsuite/gdb.cp/oranking.exp | 2 +- gdb/testsuite/gdb.cp/overload-const.cc | 2 +- gdb/testsuite/gdb.cp/overload-const.exp | 2 +- gdb/testsuite/gdb.cp/overload.exp | 2 +- gdb/testsuite/gdb.cp/ovldbreak.exp | 4 +- gdb/testsuite/gdb.cp/ovsrch.exp | 2 +- gdb/testsuite/gdb.cp/ovsrch.h | 2 +- gdb/testsuite/gdb.cp/ovsrch1.cc | 2 +- gdb/testsuite/gdb.cp/ovsrch2.cc | 2 +- gdb/testsuite/gdb.cp/ovsrch3.cc | 2 +- gdb/testsuite/gdb.cp/ovsrch4.cc | 2 +- gdb/testsuite/gdb.cp/paren-type.cc | 2 +- gdb/testsuite/gdb.cp/paren-type.exp | 2 +- gdb/testsuite/gdb.cp/parse-lang.cc | 2 +- gdb/testsuite/gdb.cp/parse-lang.exp | 2 +- gdb/testsuite/gdb.cp/pass-by-ref.cc | 2 +- gdb/testsuite/gdb.cp/pass-by-ref.exp | 2 +- gdb/testsuite/gdb.cp/pr-1023.exp | 2 +- gdb/testsuite/gdb.cp/pr-1210.exp | 2 +- gdb/testsuite/gdb.cp/pr-574.cc | 2 +- gdb/testsuite/gdb.cp/pr-574.exp | 2 +- gdb/testsuite/gdb.cp/pr10687.exp | 2 +- gdb/testsuite/gdb.cp/pr10728.exp | 2 +- gdb/testsuite/gdb.cp/pr12028.exp | 2 +- gdb/testsuite/gdb.cp/pr17132.cc | 2 +- gdb/testsuite/gdb.cp/pr17132.exp | 2 +- gdb/testsuite/gdb.cp/pr17494.cc | 2 +- gdb/testsuite/gdb.cp/pr17494.exp | 2 +- gdb/testsuite/gdb.cp/pr9067.exp | 2 +- gdb/testsuite/gdb.cp/pr9167.exp | 2 +- gdb/testsuite/gdb.cp/pr9631.cc | 2 +- gdb/testsuite/gdb.cp/pr9631.exp | 2 +- gdb/testsuite/gdb.cp/printmethod.cc | 2 +- gdb/testsuite/gdb.cp/printmethod.exp | 2 +- gdb/testsuite/gdb.cp/psmang.exp | 2 +- gdb/testsuite/gdb.cp/psmang1.cc | 2 +- gdb/testsuite/gdb.cp/psmang2.cc | 2 +- gdb/testsuite/gdb.cp/psymtab-parameter.cc | 2 +- gdb/testsuite/gdb.cp/psymtab-parameter.exp | 2 +- gdb/testsuite/gdb.cp/ptype-cv-cp.cc | 2 +- gdb/testsuite/gdb.cp/ptype-cv-cp.exp | 2 +- gdb/testsuite/gdb.cp/ptype-flags.cc | 2 +- gdb/testsuite/gdb.cp/ptype-flags.exp | 2 +- gdb/testsuite/gdb.cp/punctuator.exp | 2 +- gdb/testsuite/gdb.cp/re-set-overloaded.cc | 2 +- gdb/testsuite/gdb.cp/re-set-overloaded.exp | 2 +- gdb/testsuite/gdb.cp/readnow-language.cc | 2 +- gdb/testsuite/gdb.cp/readnow-language.exp | 2 +- gdb/testsuite/gdb.cp/ref-params.cc | 2 +- gdb/testsuite/gdb.cp/ref-params.exp | 2 +- gdb/testsuite/gdb.cp/ref-types.cc | 2 +- gdb/testsuite/gdb.cp/ref-types.exp | 2 +- gdb/testsuite/gdb.cp/rtti.exp | 2 +- gdb/testsuite/gdb.cp/rtti.h | 2 +- gdb/testsuite/gdb.cp/rtti1.cc | 2 +- gdb/testsuite/gdb.cp/rtti2.cc | 2 +- gdb/testsuite/gdb.cp/rvalue-ref-casts.cc | 2 +- gdb/testsuite/gdb.cp/rvalue-ref-casts.exp | 2 +- gdb/testsuite/gdb.cp/rvalue-ref-overload.cc | 2 +- gdb/testsuite/gdb.cp/rvalue-ref-overload.exp | 2 +- gdb/testsuite/gdb.cp/rvalue-ref-params.cc | 2 +- gdb/testsuite/gdb.cp/rvalue-ref-params.exp | 2 +- gdb/testsuite/gdb.cp/rvalue-ref-sizeof.cc | 2 +- gdb/testsuite/gdb.cp/rvalue-ref-sizeof.exp | 2 +- gdb/testsuite/gdb.cp/rvalue-ref-types.cc | 2 +- gdb/testsuite/gdb.cp/rvalue-ref-types.exp | 2 +- gdb/testsuite/gdb.cp/save-bp-qualified.cc | 2 +- gdb/testsuite/gdb.cp/save-bp-qualified.exp | 2 +- gdb/testsuite/gdb.cp/scope-err.cc | 2 +- gdb/testsuite/gdb.cp/scope-err.exp | 2 +- gdb/testsuite/gdb.cp/shadow.exp | 2 +- gdb/testsuite/gdb.cp/smartp.cc | 2 +- gdb/testsuite/gdb.cp/smartp.exp | 2 +- gdb/testsuite/gdb.cp/static-method.cc | 2 +- gdb/testsuite/gdb.cp/static-method.exp | 2 +- gdb/testsuite/gdb.cp/static-print-quit.cc | 2 +- gdb/testsuite/gdb.cp/static-print-quit.exp | 2 +- gdb/testsuite/gdb.cp/static-typedef-print.cc | 2 +- gdb/testsuite/gdb.cp/static-typedef-print.exp | 2 +- gdb/testsuite/gdb.cp/subtypes-2.cc | 2 +- gdb/testsuite/gdb.cp/subtypes.cc | 2 +- gdb/testsuite/gdb.cp/subtypes.exp | 2 +- gdb/testsuite/gdb.cp/subtypes.h | 2 +- gdb/testsuite/gdb.cp/temargs.cc | 2 +- gdb/testsuite/gdb.cp/temargs.exp | 2 +- gdb/testsuite/gdb.cp/templates.exp | 2 +- gdb/testsuite/gdb.cp/try_catch.cc | 2 +- gdb/testsuite/gdb.cp/try_catch.exp | 2 +- gdb/testsuite/gdb.cp/typedef-base.cc | 2 +- gdb/testsuite/gdb.cp/typedef-base.exp | 2 +- gdb/testsuite/gdb.cp/typedef-operator.cc | 2 +- gdb/testsuite/gdb.cp/typedef-operator.exp | 2 +- gdb/testsuite/gdb.cp/typeid.cc | 2 +- gdb/testsuite/gdb.cp/typeid.exp | 2 +- gdb/testsuite/gdb.cp/userdef.cc | 2 +- gdb/testsuite/gdb.cp/userdef.exp | 2 +- gdb/testsuite/gdb.cp/using-crash.cc | 2 +- gdb/testsuite/gdb.cp/using-crash.exp | 2 +- gdb/testsuite/gdb.cp/var-tag-2.cc | 2 +- gdb/testsuite/gdb.cp/var-tag-3.cc | 2 +- gdb/testsuite/gdb.cp/var-tag-4.cc | 2 +- gdb/testsuite/gdb.cp/var-tag.cc | 2 +- gdb/testsuite/gdb.cp/var-tag.exp | 2 +- gdb/testsuite/gdb.cp/virtbase.exp | 2 +- gdb/testsuite/gdb.cp/virtbase2.cc | 2 +- gdb/testsuite/gdb.cp/virtbase2.exp | 2 +- gdb/testsuite/gdb.cp/virtfunc.cc | 2 +- gdb/testsuite/gdb.cp/virtfunc.exp | 2 +- gdb/testsuite/gdb.cp/virtfunc2.cc | 2 +- gdb/testsuite/gdb.cp/virtfunc2.exp | 2 +- gdb/testsuite/gdb.cp/vla-cxx.cc | 2 +- gdb/testsuite/gdb.cp/vla-cxx.exp | 2 +- gdb/testsuite/gdb.cp/watch-cp.cc | 2 +- gdb/testsuite/gdb.cp/watch-cp.exp | 2 +- gdb/testsuite/gdb.cp/wide_char_types.c | 2 +- gdb/testsuite/gdb.cp/wide_char_types.exp | 2 +- gdb/testsuite/gdb.disasm/am33.exp | 2 +- gdb/testsuite/gdb.disasm/disassembler-options.exp | 2 +- gdb/testsuite/gdb.disasm/h8300s.exp | 2 +- gdb/testsuite/gdb.disasm/hppa.exp | 2 +- gdb/testsuite/gdb.disasm/mn10300.exp | 2 +- gdb/testsuite/gdb.disasm/sh3.exp | 2 +- gdb/testsuite/gdb.disasm/t01_mov.exp | 2 +- gdb/testsuite/gdb.disasm/t02_mova.exp | 2 +- gdb/testsuite/gdb.disasm/t03_add.exp | 2 +- gdb/testsuite/gdb.disasm/t04_sub.exp | 2 +- gdb/testsuite/gdb.disasm/t05_cmp.exp | 2 +- gdb/testsuite/gdb.disasm/t06_ari2.exp | 2 +- gdb/testsuite/gdb.disasm/t07_ari3.exp | 2 +- gdb/testsuite/gdb.disasm/t08_or.exp | 2 +- gdb/testsuite/gdb.disasm/t09_xor.exp | 2 +- gdb/testsuite/gdb.disasm/t10_and.exp | 2 +- gdb/testsuite/gdb.disasm/t11_logs.exp | 2 +- gdb/testsuite/gdb.disasm/t12_bit.exp | 2 +- gdb/testsuite/gdb.disasm/t13_otr.exp | 2 +- gdb/testsuite/gdb.dlang/circular.c | 2 +- gdb/testsuite/gdb.dlang/circular.exp | 2 +- gdb/testsuite/gdb.dlang/debug-expr.exp | 2 +- gdb/testsuite/gdb.dlang/demangle.exp | 2 +- gdb/testsuite/gdb.dlang/expression.exp | 2 +- gdb/testsuite/gdb.dlang/primitive-types.exp | 2 +- gdb/testsuite/gdb.dlang/properties.exp | 2 +- gdb/testsuite/gdb.dlang/watch-loc.c | 2 +- gdb/testsuite/gdb.dlang/watch-loc.exp | 2 +- gdb/testsuite/gdb.dwarf2/ada-valprint-error.c | 2 +- gdb/testsuite/gdb.dwarf2/ada-valprint-error.exp | 2 +- gdb/testsuite/gdb.dwarf2/arr-stride.c | 2 +- gdb/testsuite/gdb.dwarf2/arr-stride.exp | 2 +- gdb/testsuite/gdb.dwarf2/arr-subrange.c | 2 +- gdb/testsuite/gdb.dwarf2/arr-subrange.exp | 2 +- gdb/testsuite/gdb.dwarf2/atomic-type.exp | 2 +- gdb/testsuite/gdb.dwarf2/atomic.c | 2 +- gdb/testsuite/gdb.dwarf2/bad-regnum.c | 2 +- gdb/testsuite/gdb.dwarf2/bad-regnum.exp | 2 +- .../gdb.dwarf2/bitfield-parent-optimized-out.exp | 2 +- gdb/testsuite/gdb.dwarf2/callframecfa.S | 2 +- gdb/testsuite/gdb.dwarf2/callframecfa.exp | 2 +- gdb/testsuite/gdb.dwarf2/clztest.S | 2 +- gdb/testsuite/gdb.dwarf2/clztest.exp | 2 +- gdb/testsuite/gdb.dwarf2/comp-unit-lang.c | 2 +- gdb/testsuite/gdb.dwarf2/comp-unit-lang.exp | 2 +- gdb/testsuite/gdb.dwarf2/corrupt.c | 2 +- gdb/testsuite/gdb.dwarf2/corrupt.exp | 2 +- gdb/testsuite/gdb.dwarf2/count.exp | 2 +- gdb/testsuite/gdb.dwarf2/data-loc.c | 2 +- gdb/testsuite/gdb.dwarf2/data-loc.exp | 2 +- gdb/testsuite/gdb.dwarf2/dup-psym.S | 2 +- gdb/testsuite/gdb.dwarf2/dup-psym.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello-dbg.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-hello.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world-dbg.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc-world.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-abs-hi-pc.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ada-ffffffff.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-align.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-anon-mptr.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-anonymous-func.exp | 2 +- .../gdb.dwarf2/dw2-bad-mips-linkage-name.c | 2 +- .../gdb.dwarf2/dw2-bad-mips-linkage-name.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-bad-parameter-type.S | 2 +- .../gdb.dwarf2/dw2-bad-parameter-type.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-bad-unresolved.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-bad-unresolved.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-basic.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-basic.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-canonicalize-type.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-canonicalize-type.exp | 2 +- .../gdb.dwarf2/dw2-case-insensitive-debug.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-case-insensitive.exp | 6 +- gdb/testsuite/gdb.dwarf2/dw2-common-block.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-common-block.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-compdir-oldgcc.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-compressed.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-compressed.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-const.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-const.exp | 2 +- .../gdb.dwarf2/dw2-cp-infcall-ref-static-main.c | 2 +- .../gdb.dwarf2/dw2-cp-infcall-ref-static.S | 2 +- .../gdb.dwarf2/dw2-cp-infcall-ref-static.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-cu-size.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-cu-size.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-dos-drive.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-dos-drive.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-double-set-die-type.S | 2 +- .../gdb.dwarf2/dw2-double-set-die-type.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-dummy-cu.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-dummy-cu.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-dup-frame.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-dup-frame.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-dup-frame.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-empty-namespace.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-entry-value-main.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-entry-value.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-entry-value.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-error.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-error.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-error.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-filename.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-filename.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-icc-opaque.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-icc-opaque.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-icycle.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-icycle.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-icycle.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ifort-parameter.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-inheritance.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-inheritance.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-inline-break.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-inline-break.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-inline-param-main.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-inline-param.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-inline-param.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-intercu.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-intercu.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-intermix.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-intermix.exp | 2 +- .../gdb.dwarf2/dw2-lexical-block-bare.exp | 2 +- .../gdb.dwarf2/dw2-linkage-name-trust-main.cc | 2 +- gdb/testsuite/gdb.dwarf2/dw2-linkage-name-trust.S | 2 +- .../gdb.dwarf2/dw2-linkage-name-trust.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-minsym-in-cu.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-minsym-in-cu.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-modula2-self-type.exp | 2 +- .../gdb.dwarf2/dw2-namespaceless-anonymous.S | 2 +- .../gdb.dwarf2/dw2-namespaceless-anonymous.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-noloc-main.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-noloc.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-noloc.exp | 2 +- .../gdb.dwarf2/dw2-objfile-overlap-inner.S | 2 +- .../gdb.dwarf2/dw2-objfile-overlap-outer.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-objfile-overlap.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-op-call.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-op-call.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-op-out-param.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-op-out-param.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-op-stack-value.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-op-stack-value.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-opt-structptr.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-opt-structptr.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-param-error-main.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-param-error.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-param-error.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-producer.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-producer.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ranges-base.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ranges-base.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ranges-func.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ranges-func.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ranges.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ranges.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ranges2.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ranges3.c | 2 +- .../gdb.dwarf2/dw2-ref-missing-frame-func.c | 2 +- .../gdb.dwarf2/dw2-ref-missing-frame-main.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-ref-missing-frame.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-regno-invalid.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-restore.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-restore.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-restrict.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-restrict.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-restrict.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-simple-locdesc.exp | 2 +- .../gdb.dwarf2/dw2-single-line-discriminators.S | 2 +- .../gdb.dwarf2/dw2-single-line-discriminators.c | 2 +- .../gdb.dwarf2/dw2-single-line-discriminators.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-skip-prologue.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-stack-boundary.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-strp.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-strp.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-undefined-ret-addr.c | 2 +- .../gdb.dwarf2/dw2-undefined-ret-addr.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-unresolved-main.c | 2 +- gdb/testsuite/gdb.dwarf2/dw2-unresolved.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-unresolved.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-unusual-field-names.c | 32 + .../gdb.dwarf2/dw2-unusual-field-names.exp | 132 + gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.S | 2 +- gdb/testsuite/gdb.dwarf2/dw2-var-zero-addr.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.S | 2 +- gdb/testsuite/gdb.dwarf2/dw4-sig-type-unused.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw4-sig-types.exp | 2 +- gdb/testsuite/gdb.dwarf2/dwp-sepdebug.c | 2 +- gdb/testsuite/gdb.dwarf2/dwp-sepdebug.exp | 2 +- gdb/testsuite/gdb.dwarf2/dwp-symlink.c | 2 +- gdb/testsuite/gdb.dwarf2/dwp-symlink.exp | 2 +- gdb/testsuite/gdb.dwarf2/dwz.exp | 2 +- gdb/testsuite/gdb.dwarf2/dwzbuildid.exp | 2 +- gdb/testsuite/gdb.dwarf2/dynarr-ptr.c | 2 +- gdb/testsuite/gdb.dwarf2/dynarr-ptr.exp | 2 +- gdb/testsuite/gdb.dwarf2/enum-type.exp | 2 +- gdb/testsuite/gdb.dwarf2/fission-base.S | 2 +- gdb/testsuite/gdb.dwarf2/fission-base.c | 2 +- gdb/testsuite/gdb.dwarf2/fission-base.exp | 2 +- gdb/testsuite/gdb.dwarf2/fission-loclists-pie.S | 2 +- gdb/testsuite/gdb.dwarf2/fission-loclists-pie.exp | 2 +- gdb/testsuite/gdb.dwarf2/fission-loclists.S | 2 +- gdb/testsuite/gdb.dwarf2/fission-loclists.exp | 2 +- gdb/testsuite/gdb.dwarf2/fission-mix.c | 2 +- gdb/testsuite/gdb.dwarf2/fission-mix.exp | 2 +- gdb/testsuite/gdb.dwarf2/fission-mix.h | 2 +- gdb/testsuite/gdb.dwarf2/fission-mix2.c | 2 +- gdb/testsuite/gdb.dwarf2/fission-multi-cu.S | 2 +- gdb/testsuite/gdb.dwarf2/fission-multi-cu.exp | 2 +- gdb/testsuite/gdb.dwarf2/fission-multi-cu1.c | 2 +- gdb/testsuite/gdb.dwarf2/fission-multi-cu2.c | 2 +- gdb/testsuite/gdb.dwarf2/fission-reread.S | 2 +- gdb/testsuite/gdb.dwarf2/fission-reread.exp | 2 +- gdb/testsuite/gdb.dwarf2/formdata16.c | 2 +- gdb/testsuite/gdb.dwarf2/formdata16.exp | 2 +- gdb/testsuite/gdb.dwarf2/gdb-index.exp | 2 +- gdb/testsuite/gdb.dwarf2/implptr-64bit.exp | 2 +- gdb/testsuite/gdb.dwarf2/implptr-optimized-out.exp | 2 +- gdb/testsuite/gdb.dwarf2/implptr.c | 2 +- gdb/testsuite/gdb.dwarf2/implptr.exp | 2 +- gdb/testsuite/gdb.dwarf2/implptrconst.c | 2 +- gdb/testsuite/gdb.dwarf2/implptrconst.exp | 2 +- gdb/testsuite/gdb.dwarf2/implptrpiece.exp | 2 +- gdb/testsuite/gdb.dwarf2/implref-array.c | 2 +- gdb/testsuite/gdb.dwarf2/implref-array.exp | 2 +- gdb/testsuite/gdb.dwarf2/implref-const.exp | 2 +- gdb/testsuite/gdb.dwarf2/implref-global.c | 2 +- gdb/testsuite/gdb.dwarf2/implref-global.exp | 2 +- gdb/testsuite/gdb.dwarf2/implref-struct.c | 2 +- gdb/testsuite/gdb.dwarf2/implref-struct.exp | 2 +- .../gdb.dwarf2/info-locals-optimized-out.c | 2 +- .../gdb.dwarf2/info-locals-optimized-out.exp | 2 +- .../gdb.dwarf2/inlined_subroutine-inheritance.exp | 213 + gdb/testsuite/gdb.dwarf2/mac-fileno.S | 2 +- gdb/testsuite/gdb.dwarf2/mac-fileno.exp | 2 +- gdb/testsuite/gdb.dwarf2/main-subprogram.c | 2 +- gdb/testsuite/gdb.dwarf2/main-subprogram.exp | 2 +- gdb/testsuite/gdb.dwarf2/main.c | 2 +- gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.S | 2 +- gdb/testsuite/gdb.dwarf2/member-ptr-forwardref.exp | 2 +- gdb/testsuite/gdb.dwarf2/method-ptr.cc | 2 +- gdb/testsuite/gdb.dwarf2/method-ptr.exp | 2 +- gdb/testsuite/gdb.dwarf2/missing-sig-type.exp | 2 +- gdb/testsuite/gdb.dwarf2/missing-type-name.exp | 123 + gdb/testsuite/gdb.dwarf2/multidictionary.exp | 157 + gdb/testsuite/gdb.dwarf2/nonvar-access.exp | 2 +- gdb/testsuite/gdb.dwarf2/nostaticblock.exp | 2 +- gdb/testsuite/gdb.dwarf2/opaque-type-lookup-2.c | 2 +- gdb/testsuite/gdb.dwarf2/opaque-type-lookup.c | 2 +- gdb/testsuite/gdb.dwarf2/opaque-type-lookup.exp | 2 +- gdb/testsuite/gdb.dwarf2/pieces-optimized-out.S | 2 +- gdb/testsuite/gdb.dwarf2/pieces-optimized-out.c | 2 +- gdb/testsuite/gdb.dwarf2/pieces-optimized-out.exp | 2 +- gdb/testsuite/gdb.dwarf2/pieces.S | 2 +- gdb/testsuite/gdb.dwarf2/pieces.c | 2 +- gdb/testsuite/gdb.dwarf2/pieces.exp | 2 +- gdb/testsuite/gdb.dwarf2/pr10770.exp | 2 +- gdb/testsuite/gdb.dwarf2/pr11465.S | 2 +- gdb/testsuite/gdb.dwarf2/pr11465.exp | 2 +- gdb/testsuite/gdb.dwarf2/pr13961.S | 2 +- gdb/testsuite/gdb.dwarf2/pr13961.exp | 2 +- gdb/testsuite/gdb.dwarf2/shortpiece.exp | 2 +- gdb/testsuite/gdb.dwarf2/staticvirtual.exp | 2 +- gdb/testsuite/gdb.dwarf2/subrange.exp | 2 +- gdb/testsuite/gdb.dwarf2/symtab-producer.exp | 2 +- gdb/testsuite/gdb.dwarf2/trace-crash.exp | 2 +- gdb/testsuite/gdb.dwarf2/typeddwarf-amd64.S | 2 +- gdb/testsuite/gdb.dwarf2/typeddwarf.S | 2 +- gdb/testsuite/gdb.dwarf2/typeddwarf.exp | 2 +- gdb/testsuite/gdb.dwarf2/typedef-void-finish.exp | 102 + gdb/testsuite/gdb.dwarf2/valop.S | 2 +- gdb/testsuite/gdb.dwarf2/valop.exp | 2 +- gdb/testsuite/gdb.dwarf2/var-access.c | 2 +- gdb/testsuite/gdb.dwarf2/var-access.exp | 2 +- gdb/testsuite/gdb.dwarf2/variant.c | 2 +- gdb/testsuite/gdb.dwarf2/variant.exp | 2 +- gdb/testsuite/gdb.dwarf2/varval.c | 2 +- gdb/testsuite/gdb.dwarf2/varval.exp | 2 +- gdb/testsuite/gdb.dwarf2/void-type.c | 2 +- gdb/testsuite/gdb.dwarf2/void-type.exp | 14 +- gdb/testsuite/gdb.dwarf2/watch-notconst.c | 2 +- gdb/testsuite/gdb.dwarf2/watch-notconst.exp | 2 +- gdb/testsuite/gdb.dwarf2/watch-notconst2.S | 2 +- gdb/testsuite/gdb.dwarf2/watch-notconst2.c | 2 +- gdb/testsuite/gdb.fortran/array-bounds.exp | 50 + gdb/testsuite/gdb.fortran/array-bounds.f90 | 26 + gdb/testsuite/gdb.fortran/array-element.exp | 2 +- gdb/testsuite/gdb.fortran/array-element.f | 2 +- gdb/testsuite/gdb.fortran/charset.exp | 2 +- gdb/testsuite/gdb.fortran/common-block.exp | 2 +- gdb/testsuite/gdb.fortran/common-block.f90 | 2 +- gdb/testsuite/gdb.fortran/complex.exp | 2 +- gdb/testsuite/gdb.fortran/complex.f | 2 +- .../gdb.fortran/derived-type-function.exp | 2 +- .../gdb.fortran/derived-type-function.f90 | 2 +- gdb/testsuite/gdb.fortran/derived-type.exp | 2 +- gdb/testsuite/gdb.fortran/derived-type.f90 | 2 +- gdb/testsuite/gdb.fortran/dot-ops.exp | 123 + gdb/testsuite/gdb.fortran/exprs.exp | 2 +- gdb/testsuite/gdb.fortran/function-calls.exp | 103 + gdb/testsuite/gdb.fortran/function-calls.f90 | 242 + gdb/testsuite/gdb.fortran/intrinsics.exp | 51 + gdb/testsuite/gdb.fortran/intrinsics.f90 | 39 + gdb/testsuite/gdb.fortran/library-module-lib.f90 | 2 +- gdb/testsuite/gdb.fortran/library-module-main.f90 | 2 +- gdb/testsuite/gdb.fortran/library-module.exp | 2 +- gdb/testsuite/gdb.fortran/logical.exp | 2 +- gdb/testsuite/gdb.fortran/logical.f90 | 2 +- gdb/testsuite/gdb.fortran/module.exp | 2 +- gdb/testsuite/gdb.fortran/module.f90 | 2 +- gdb/testsuite/gdb.fortran/multi-dim.exp | 2 +- gdb/testsuite/gdb.fortran/multi-dim.f90 | 2 +- gdb/testsuite/gdb.fortran/nested-funcs.exp | 2 +- gdb/testsuite/gdb.fortran/nested-funcs.f90 | 2 +- gdb/testsuite/gdb.fortran/print-formatted.exp | 2 +- gdb/testsuite/gdb.fortran/print-formatted.f90 | 2 +- gdb/testsuite/gdb.fortran/printing-types.exp | 2 +- gdb/testsuite/gdb.fortran/printing-types.f90 | 2 +- gdb/testsuite/gdb.fortran/ptr-indentation.exp | 2 +- gdb/testsuite/gdb.fortran/ptr-indentation.f90 | 2 +- .../gdb.fortran/short-circuit-argument-list.exp | 77 +- .../gdb.fortran/short-circuit-argument-list.f90 | 35 +- gdb/testsuite/gdb.fortran/subarray.exp | 2 +- gdb/testsuite/gdb.fortran/subarray.f | 2 +- gdb/testsuite/gdb.fortran/type-kinds.exp | 98 + gdb/testsuite/gdb.fortran/type.f90 | 2 +- gdb/testsuite/gdb.fortran/types.exp | 11 +- gdb/testsuite/gdb.fortran/vla-alloc-assoc.exp | 2 +- gdb/testsuite/gdb.fortran/vla-datatypes.exp | 2 +- gdb/testsuite/gdb.fortran/vla-datatypes.f90 | 2 +- gdb/testsuite/gdb.fortran/vla-history.exp | 2 +- gdb/testsuite/gdb.fortran/vla-ptr-info.exp | 2 +- gdb/testsuite/gdb.fortran/vla-ptype-sub.exp | 2 +- gdb/testsuite/gdb.fortran/vla-ptype.exp | 2 +- gdb/testsuite/gdb.fortran/vla-sizeof.exp | 2 +- gdb/testsuite/gdb.fortran/vla-sub.f90 | 2 +- gdb/testsuite/gdb.fortran/vla-type.exp | 2 +- gdb/testsuite/gdb.fortran/vla-type.f90 | 2 +- .../gdb.fortran/vla-value-sub-arbitrary.exp | 2 +- gdb/testsuite/gdb.fortran/vla-value-sub-finish.exp | 2 +- gdb/testsuite/gdb.fortran/vla-value-sub.exp | 2 +- gdb/testsuite/gdb.fortran/vla-value.exp | 2 +- gdb/testsuite/gdb.fortran/vla.f90 | 2 +- gdb/testsuite/gdb.fortran/whatis_type.exp | 2 +- gdb/testsuite/gdb.gdb/complaints.exp | 2 +- gdb/testsuite/gdb.gdb/python-interrupts.exp | 2 +- gdb/testsuite/gdb.gdb/python-selftest.exp | 2 +- gdb/testsuite/gdb.gdb/selftest.exp | 2 +- gdb/testsuite/gdb.gdb/unittest.exp | 2 +- gdb/testsuite/gdb.go/basic-types.exp | 2 +- gdb/testsuite/gdb.go/chan.exp | 2 +- gdb/testsuite/gdb.go/handcall.exp | 2 +- gdb/testsuite/gdb.go/hello.exp | 2 +- gdb/testsuite/gdb.go/integers.exp | 2 +- gdb/testsuite/gdb.go/methods.exp | 2 +- gdb/testsuite/gdb.go/package.exp | 2 +- gdb/testsuite/gdb.go/print.exp | 2 +- gdb/testsuite/gdb.go/strings.exp | 2 +- gdb/testsuite/gdb.go/types.exp | 2 +- gdb/testsuite/gdb.go/unsafe.exp | 2 +- gdb/testsuite/gdb.guile/guile.exp | 2 +- gdb/testsuite/gdb.guile/scm-arch.c | 2 +- gdb/testsuite/gdb.guile/scm-arch.exp | 2 +- gdb/testsuite/gdb.guile/scm-block.c | 2 +- gdb/testsuite/gdb.guile/scm-block.exp | 2 +- gdb/testsuite/gdb.guile/scm-breakpoint.c | 2 +- gdb/testsuite/gdb.guile/scm-breakpoint.exp | 2 +- gdb/testsuite/gdb.guile/scm-cmd.c | 2 +- gdb/testsuite/gdb.guile/scm-cmd.exp | 2 +- gdb/testsuite/gdb.guile/scm-disasm.c | 2 +- gdb/testsuite/gdb.guile/scm-disasm.exp | 2 +- gdb/testsuite/gdb.guile/scm-equal.c | 2 +- gdb/testsuite/gdb.guile/scm-equal.exp | 2 +- gdb/testsuite/gdb.guile/scm-error-1.scm | 2 +- gdb/testsuite/gdb.guile/scm-error-2.scm | 2 +- gdb/testsuite/gdb.guile/scm-error.exp | 2 +- gdb/testsuite/gdb.guile/scm-frame-args.c | 2 +- gdb/testsuite/gdb.guile/scm-frame-args.exp | 2 +- gdb/testsuite/gdb.guile/scm-frame-args.scm | 2 +- gdb/testsuite/gdb.guile/scm-frame-inline.c | 2 +- gdb/testsuite/gdb.guile/scm-frame-inline.exp | 2 +- gdb/testsuite/gdb.guile/scm-frame.exp | 2 +- gdb/testsuite/gdb.guile/scm-gsmob.exp | 2 +- gdb/testsuite/gdb.guile/scm-iterator.c | 2 +- gdb/testsuite/gdb.guile/scm-iterator.exp | 2 +- gdb/testsuite/gdb.guile/scm-lazy-string.c | 2 +- gdb/testsuite/gdb.guile/scm-lazy-string.exp | 2 +- gdb/testsuite/gdb.guile/scm-math.c | 2 +- gdb/testsuite/gdb.guile/scm-math.exp | 2 +- gdb/testsuite/gdb.guile/scm-objfile-script-gdb.in | 2 +- gdb/testsuite/gdb.guile/scm-objfile-script.c | 2 +- gdb/testsuite/gdb.guile/scm-objfile-script.exp | 2 +- gdb/testsuite/gdb.guile/scm-objfile.c | 2 +- gdb/testsuite/gdb.guile/scm-objfile.exp | 2 +- gdb/testsuite/gdb.guile/scm-parameter.exp | 2 +- gdb/testsuite/gdb.guile/scm-ports.c | 2 +- gdb/testsuite/gdb.guile/scm-ports.exp | 2 +- gdb/testsuite/gdb.guile/scm-pretty-print.c | 2 +- gdb/testsuite/gdb.guile/scm-pretty-print.exp | 2 +- gdb/testsuite/gdb.guile/scm-pretty-print.scm | 2 +- gdb/testsuite/gdb.guile/scm-progspace.c | 2 +- gdb/testsuite/gdb.guile/scm-progspace.exp | 2 +- gdb/testsuite/gdb.guile/scm-section-script.c | 2 +- gdb/testsuite/gdb.guile/scm-section-script.exp | 2 +- gdb/testsuite/gdb.guile/scm-section-script.scm | 2 +- gdb/testsuite/gdb.guile/scm-symbol.c | 2 +- gdb/testsuite/gdb.guile/scm-symbol.exp | 2 +- gdb/testsuite/gdb.guile/scm-symtab-2.c | 2 +- gdb/testsuite/gdb.guile/scm-symtab.c | 2 +- gdb/testsuite/gdb.guile/scm-symtab.exp | 2 +- gdb/testsuite/gdb.guile/scm-type.c | 2 +- gdb/testsuite/gdb.guile/scm-type.exp | 2 +- gdb/testsuite/gdb.guile/scm-value-cc.cc | 2 +- gdb/testsuite/gdb.guile/scm-value-cc.exp | 2 +- gdb/testsuite/gdb.guile/scm-value.c | 2 +- gdb/testsuite/gdb.guile/scm-value.exp | 2 +- gdb/testsuite/gdb.guile/source2.scm | 2 +- gdb/testsuite/gdb.guile/types-module.cc | 2 +- gdb/testsuite/gdb.guile/types-module.exp | 2 +- gdb/testsuite/gdb.linespec/3explicit.c | 2 +- gdb/testsuite/gdb.linespec/base/one/header.h | 2 +- gdb/testsuite/gdb.linespec/base/two/header.h | 2 +- gdb/testsuite/gdb.linespec/break-ask.exp | 2 +- gdb/testsuite/gdb.linespec/break-asm-file.c | 2 +- gdb/testsuite/gdb.linespec/break-asm-file.exp | 2 +- gdb/testsuite/gdb.linespec/break-asm-file0.s | 2 +- gdb/testsuite/gdb.linespec/break-asm-file1.s | 2 +- gdb/testsuite/gdb.linespec/cpcompletion.exp | 2 +- gdb/testsuite/gdb.linespec/cpexplicit.cc | 2 +- gdb/testsuite/gdb.linespec/cpexplicit.exp | 2 +- gdb/testsuite/gdb.linespec/cpls-abi-tag.cc | 2 +- gdb/testsuite/gdb.linespec/cpls-abi-tag.exp | 2 +- gdb/testsuite/gdb.linespec/cpls-hyphen.cc | 2 +- gdb/testsuite/gdb.linespec/cpls-ops.cc | 2 +- gdb/testsuite/gdb.linespec/cpls-ops.exp | 2 +- gdb/testsuite/gdb.linespec/cpls.cc | 2 +- gdb/testsuite/gdb.linespec/cpls2.cc | 2 +- gdb/testsuite/gdb.linespec/explicit.c | 2 +- gdb/testsuite/gdb.linespec/explicit.exp | 2 +- gdb/testsuite/gdb.linespec/explicit2.c | 2 +- gdb/testsuite/gdb.linespec/keywords.c | 2 +- gdb/testsuite/gdb.linespec/keywords.exp | 2 +- gdb/testsuite/gdb.linespec/linespec.exp | 2 +- gdb/testsuite/gdb.linespec/ls-dollar.cc | 2 +- gdb/testsuite/gdb.linespec/ls-dollar.exp | 2 +- gdb/testsuite/gdb.linespec/ls-errs.c | 2 +- gdb/testsuite/gdb.linespec/ls-errs.exp | 2 +- gdb/testsuite/gdb.linespec/macro-relative.c | 2 +- gdb/testsuite/gdb.linespec/macro-relative.exp | 2 +- gdb/testsuite/gdb.linespec/skip-two.exp | 2 +- gdb/testsuite/gdb.linespec/thread.c | 2 +- gdb/testsuite/gdb.linespec/thread.exp | 2 +- gdb/testsuite/gdb.mi/array.f | 2 +- gdb/testsuite/gdb.mi/basics.c | 2 +- gdb/testsuite/gdb.mi/dw2-ref-missing-frame-func.c | 2 +- gdb/testsuite/gdb.mi/dw2-ref-missing-frame-main.c | 2 +- gdb/testsuite/gdb.mi/dw2-ref-missing-frame.S | 2 +- gdb/testsuite/gdb.mi/dw2-ref-missing-frame.exp | 2 +- gdb/testsuite/gdb.mi/gdb2549.exp | 2 +- gdb/testsuite/gdb.mi/gdb669.exp | 2 +- gdb/testsuite/gdb.mi/gdb680.exp | 2 +- gdb/testsuite/gdb.mi/gdb701.exp | 2 +- gdb/testsuite/gdb.mi/gdb792.exp | 2 +- .../gdb.mi/list-thread-groups-available.c | 2 +- .../gdb.mi/list-thread-groups-available.exp | 2 +- .../gdb.mi/list-thread-groups-no-inferior.exp | 2 +- gdb/testsuite/gdb.mi/mi-async-run.c | 2 +- gdb/testsuite/gdb.mi/mi-async-run.exp | 2 +- gdb/testsuite/gdb.mi/mi-async.exp | 2 +- gdb/testsuite/gdb.mi/mi-basics.exp | 2 +- gdb/testsuite/gdb.mi/mi-break.exp | 2 +- gdb/testsuite/gdb.mi/mi-breakpoint-changed.exp | 2 +- .../gdb.mi/mi-breakpoint-location-ena-dis.cc | 36 - .../gdb.mi/mi-breakpoint-location-ena-dis.exp | 56 - .../gdb.mi/mi-breakpoint-multiple-locations.cc | 36 + .../gdb.mi/mi-breakpoint-multiple-locations.exp | 131 + gdb/testsuite/gdb.mi/mi-catch-load-so.c | 2 +- gdb/testsuite/gdb.mi/mi-catch-load.c | 2 +- gdb/testsuite/gdb.mi/mi-catch-load.exp | 2 +- gdb/testsuite/gdb.mi/mi-cli.exp | 2 +- gdb/testsuite/gdb.mi/mi-cmd-error.exp | 2 +- gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp | 2 +- .../gdb.mi/mi-condbreak-call-thr-state-mt.c | 2 +- .../gdb.mi/mi-condbreak-call-thr-state-st.c | 2 +- gdb/testsuite/gdb.mi/mi-condbreak-call-thr-state.c | 2 +- .../gdb.mi/mi-condbreak-call-thr-state.exp | 2 +- gdb/testsuite/gdb.mi/mi-console.exp | 2 +- gdb/testsuite/gdb.mi/mi-detach.exp | 2 +- gdb/testsuite/gdb.mi/mi-disassemble.exp | 2 +- gdb/testsuite/gdb.mi/mi-dprintf-pending.c | 2 +- gdb/testsuite/gdb.mi/mi-dprintf-pending.exp | 2 +- gdb/testsuite/gdb.mi/mi-dprintf-pendshr.c | 2 +- gdb/testsuite/gdb.mi/mi-dprintf.c | 2 +- gdb/testsuite/gdb.mi/mi-dprintf.exp | 2 +- gdb/testsuite/gdb.mi/mi-editing.exp | 2 +- gdb/testsuite/gdb.mi/mi-eval.exp | 2 +- gdb/testsuite/gdb.mi/mi-exec-run.exp | 2 +- gdb/testsuite/gdb.mi/mi-exit-code.c | 2 +- gdb/testsuite/gdb.mi/mi-exit-code.exp | 2 +- gdb/testsuite/gdb.mi/mi-file-transfer.exp | 2 +- gdb/testsuite/gdb.mi/mi-file.exp | 2 +- gdb/testsuite/gdb.mi/mi-fill-memory.exp | 2 +- gdb/testsuite/gdb.mi/mi-frame-regs.exp | 2 +- gdb/testsuite/gdb.mi/mi-fullname-deleted.exp | 2 +- gdb/testsuite/gdb.mi/mi-hack-cli.exp | 2 +- gdb/testsuite/gdb.mi/mi-i-cmd.exp | 2 +- gdb/testsuite/gdb.mi/mi-info-os.exp | 2 +- .../gdb.mi/mi-inheritance-syntax-error.exp | 2 +- gdb/testsuite/gdb.mi/mi-language.exp | 2 +- gdb/testsuite/gdb.mi/mi-linespec-err-cp.cc | 2 +- gdb/testsuite/gdb.mi/mi-linespec-err-cp.exp | 2 +- gdb/testsuite/gdb.mi/mi-logging.exp | 2 +- gdb/testsuite/gdb.mi/mi-memory-changed.exp | 2 +- gdb/testsuite/gdb.mi/mi-nonstop-exit.exp | 2 +- gdb/testsuite/gdb.mi/mi-nonstop.exp | 2 +- gdb/testsuite/gdb.mi/mi-ns-stale-regcache.exp | 2 +- gdb/testsuite/gdb.mi/mi-nsintrall.exp | 2 +- gdb/testsuite/gdb.mi/mi-nsmoribund.exp | 2 +- gdb/testsuite/gdb.mi/mi-nsthrexec.exp | 2 +- gdb/testsuite/gdb.mi/mi-pending.c | 2 +- gdb/testsuite/gdb.mi/mi-pending.exp | 2 +- gdb/testsuite/gdb.mi/mi-pendshr.c | 2 +- gdb/testsuite/gdb.mi/mi-pendshr2.c | 2 +- gdb/testsuite/gdb.mi/mi-pthreads.exp | 2 +- gdb/testsuite/gdb.mi/mi-read-memory.exp | 2 +- gdb/testsuite/gdb.mi/mi-record-changed.exp | 2 +- gdb/testsuite/gdb.mi/mi-reg-undefined.S | 2 +- gdb/testsuite/gdb.mi/mi-reg-undefined.c | 2 +- gdb/testsuite/gdb.mi/mi-reg-undefined.exp | 4 +- gdb/testsuite/gdb.mi/mi-regs.exp | 2 +- gdb/testsuite/gdb.mi/mi-return.exp | 2 +- gdb/testsuite/gdb.mi/mi-reverse.exp | 2 +- gdb/testsuite/gdb.mi/mi-simplerun.exp | 2 +- gdb/testsuite/gdb.mi/mi-solib.exp | 2 +- gdb/testsuite/gdb.mi/mi-stack.c | 2 +- gdb/testsuite/gdb.mi/mi-stack.exp | 2 +- gdb/testsuite/gdb.mi/mi-start.c | 2 +- gdb/testsuite/gdb.mi/mi-start.exp | 2 +- gdb/testsuite/gdb.mi/mi-stepi.exp | 2 +- gdb/testsuite/gdb.mi/mi-stepn.c | 2 +- gdb/testsuite/gdb.mi/mi-stepn.exp | 2 +- gdb/testsuite/gdb.mi/mi-syn-frame.exp | 2 +- gdb/testsuite/gdb.mi/mi-threads-interrupt.c | 2 +- gdb/testsuite/gdb.mi/mi-threads-interrupt.exp | 2 +- gdb/testsuite/gdb.mi/mi-undefined-cmd.exp | 2 +- gdb/testsuite/gdb.mi/mi-until.exp | 2 +- gdb/testsuite/gdb.mi/mi-var-block.exp | 2 +- gdb/testsuite/gdb.mi/mi-var-child-f.exp | 2 +- gdb/testsuite/gdb.mi/mi-var-child.c | 2 +- gdb/testsuite/gdb.mi/mi-var-child.exp | 2 +- gdb/testsuite/gdb.mi/mi-var-cmd.exp | 2 +- gdb/testsuite/gdb.mi/mi-var-cp.cc | 2 +- gdb/testsuite/gdb.mi/mi-var-cp.exp | 2 +- gdb/testsuite/gdb.mi/mi-var-create-rtti.c | 2 +- gdb/testsuite/gdb.mi/mi-var-create-rtti.exp | 2 +- gdb/testsuite/gdb.mi/mi-var-display.exp | 2 +- gdb/testsuite/gdb.mi/mi-var-invalidate.exp | 2 +- .../mi-var-list-children-invalid-grandchild.c | 2 +- .../mi-var-list-children-invalid-grandchild.exp | 2 +- gdb/testsuite/gdb.mi/mi-var-rtti.cc | 2 +- gdb/testsuite/gdb.mi/mi-var-rtti.exp | 2 +- gdb/testsuite/gdb.mi/mi-vla-c99.exp | 2 +- gdb/testsuite/gdb.mi/mi-vla-fortran.exp | 2 +- gdb/testsuite/gdb.mi/mi-watch-nonstop.exp | 2 +- gdb/testsuite/gdb.mi/mi-watch.exp | 2 +- gdb/testsuite/gdb.mi/mi2-amd64-entry-value.c | 2 +- gdb/testsuite/gdb.mi/mi2-amd64-entry-value.exp | 2 +- gdb/testsuite/gdb.mi/mi2-amd64-entry-value.s | 2 +- gdb/testsuite/gdb.mi/mi2-cli-display.c | 32 + gdb/testsuite/gdb.mi/mi2-cli-display.exp | 86 + gdb/testsuite/gdb.mi/mi2-prompt.exp | 2 +- gdb/testsuite/gdb.mi/mi2-var-child.exp | 2 +- gdb/testsuite/gdb.mi/new-ui-mi-sync.c | 2 +- gdb/testsuite/gdb.mi/new-ui-mi-sync.exp | 2 +- gdb/testsuite/gdb.mi/non-stop-exit.c | 2 +- gdb/testsuite/gdb.mi/non-stop.c | 2 +- gdb/testsuite/gdb.mi/ns-stale-regcache.c | 2 +- gdb/testsuite/gdb.mi/nsintrall.c | 2 +- gdb/testsuite/gdb.mi/nsmoribund.c | 2 +- gdb/testsuite/gdb.mi/nsthrexec.c | 2 +- gdb/testsuite/gdb.mi/pending.c | 2 +- gdb/testsuite/gdb.mi/pendshr1.c | 2 +- gdb/testsuite/gdb.mi/pendshr2.c | 2 +- gdb/testsuite/gdb.mi/pr11022.c | 2 +- gdb/testsuite/gdb.mi/pr11022.exp | 2 +- gdb/testsuite/gdb.mi/pthreads.c | 2 +- gdb/testsuite/gdb.mi/solib-lib.c | 2 +- gdb/testsuite/gdb.mi/solib-main.c | 2 +- gdb/testsuite/gdb.mi/user-selected-context-sync.c | 2 +- .../gdb.mi/user-selected-context-sync.exp | 2 +- gdb/testsuite/gdb.mi/var-cmd.c | 2 +- gdb/testsuite/gdb.mi/vla.c | 2 +- gdb/testsuite/gdb.mi/vla.f90 | 2 +- gdb/testsuite/gdb.mi/watch-nonstop.c | 2 +- gdb/testsuite/gdb.modula2/unbounded-array.exp | 2 +- gdb/testsuite/gdb.modula2/unbounded1.c | 2 +- gdb/testsuite/gdb.multi/base.exp | 2 +- gdb/testsuite/gdb.multi/bkpt-multi-exec.exp | 2 +- gdb/testsuite/gdb.multi/dummy-frame-restore.c | 2 +- gdb/testsuite/gdb.multi/dummy-frame-restore.exp | 2 +- gdb/testsuite/gdb.multi/goodbye.c | 2 +- gdb/testsuite/gdb.multi/hangout.c | 2 +- gdb/testsuite/gdb.multi/hello.c | 4 +- gdb/testsuite/gdb.multi/info-threads.exp | 2 +- gdb/testsuite/gdb.multi/multi-arch-exec.c | 2 +- gdb/testsuite/gdb.multi/multi-arch-exec.exp | 2 +- gdb/testsuite/gdb.multi/multi-arch.exp | 2 +- gdb/testsuite/gdb.multi/multi-attach.c | 2 +- gdb/testsuite/gdb.multi/multi-attach.exp | 2 +- gdb/testsuite/gdb.multi/multi-term-settings.c | 4 +- gdb/testsuite/gdb.multi/multi-term-settings.exp | 2 +- gdb/testsuite/gdb.multi/remove-inferiors.c | 2 +- gdb/testsuite/gdb.multi/remove-inferiors.exp | 2 +- gdb/testsuite/gdb.multi/tids.c | 2 +- gdb/testsuite/gdb.multi/tids.exp | 2 +- gdb/testsuite/gdb.multi/watchpoint-multi-exit.c | 2 +- gdb/testsuite/gdb.multi/watchpoint-multi-exit.exp | 2 +- gdb/testsuite/gdb.multi/watchpoint-multi.c | 2 +- gdb/testsuite/gdb.multi/watchpoint-multi.exp | 2 +- gdb/testsuite/gdb.objc/basicclass.exp | 2 +- gdb/testsuite/gdb.objc/nondebug.exp | 2 +- gdb/testsuite/gdb.objc/objcdecode.exp | 2 +- gdb/testsuite/gdb.objc/print.exp | 2 +- gdb/testsuite/gdb.opencl/callfuncs.cl | 2 +- gdb/testsuite/gdb.opencl/callfuncs.exp | 2 +- gdb/testsuite/gdb.opencl/convs_casts.cl | 2 +- gdb/testsuite/gdb.opencl/convs_casts.exp | 2 +- gdb/testsuite/gdb.opencl/datatypes.cl | 2 +- gdb/testsuite/gdb.opencl/datatypes.exp | 2 +- gdb/testsuite/gdb.opencl/operators.cl | 2 +- gdb/testsuite/gdb.opencl/operators.exp | 2 +- gdb/testsuite/gdb.opencl/vec_comps.cl | 2 +- gdb/testsuite/gdb.opencl/vec_comps.exp | 2 +- gdb/testsuite/gdb.opt/clobbered-registers-O2.c | 2 +- gdb/testsuite/gdb.opt/clobbered-registers-O2.exp | 2 +- gdb/testsuite/gdb.opt/inline-break.c | 2 +- gdb/testsuite/gdb.opt/inline-break.exp | 38 +- gdb/testsuite/gdb.opt/inline-bt.c | 2 +- gdb/testsuite/gdb.opt/inline-bt.exp | 2 +- gdb/testsuite/gdb.opt/inline-cmds.c | 2 +- gdb/testsuite/gdb.opt/inline-cmds.exp | 2 +- gdb/testsuite/gdb.opt/inline-locals.c | 2 +- gdb/testsuite/gdb.opt/inline-locals.exp | 2 +- gdb/testsuite/gdb.opt/inline-markers.c | 2 +- gdb/testsuite/gdb.opt/solib-intra-step-lib.c | 2 +- gdb/testsuite/gdb.opt/solib-intra-step-main.c | 2 +- gdb/testsuite/gdb.opt/solib-intra-step.exp | 2 +- .../gdb.pascal/case-insensitive-symbols.exp | 2 +- .../gdb.pascal/case-insensitive-symbols.pas | 2 +- gdb/testsuite/gdb.pascal/floats.exp | 2 +- gdb/testsuite/gdb.pascal/floats.pas | 2 +- gdb/testsuite/gdb.pascal/gdb11492.exp | 2 +- gdb/testsuite/gdb.pascal/gdb11492.pas | 2 +- gdb/testsuite/gdb.pascal/hello.exp | 2 +- gdb/testsuite/gdb.pascal/integers.exp | 2 +- gdb/testsuite/gdb.pascal/integers.pas | 2 +- gdb/testsuite/gdb.pascal/print.exp | 2 +- gdb/testsuite/gdb.pascal/stub-method.exp | 2 +- gdb/testsuite/gdb.pascal/stub-method.pas | 2 +- gdb/testsuite/gdb.pascal/types.exp | 2 +- gdb/testsuite/gdb.perf/backtrace.c | 2 +- gdb/testsuite/gdb.perf/backtrace.exp | 2 +- gdb/testsuite/gdb.perf/backtrace.py | 2 +- gdb/testsuite/gdb.perf/disassemble.exp | 2 +- gdb/testsuite/gdb.perf/disassemble.py | 2 +- gdb/testsuite/gdb.perf/gm-hello.cc | 2 +- gdb/testsuite/gdb.perf/gm-pervasive-typedef.cc | 2 +- gdb/testsuite/gdb.perf/gm-pervasive-typedef.h | 2 +- gdb/testsuite/gdb.perf/gm-std.cc | 2 +- gdb/testsuite/gdb.perf/gm-std.h | 2 +- gdb/testsuite/gdb.perf/gm-use-cerr.cc | 2 +- gdb/testsuite/gdb.perf/gm-utils.h | 2 +- gdb/testsuite/gdb.perf/gmonster-null-lookup.py | 2 +- .../gdb.perf/gmonster-pervasive-typedef.py | 2 +- gdb/testsuite/gdb.perf/gmonster-print-cerr.py | 2 +- gdb/testsuite/gdb.perf/gmonster-ptype-string.py | 2 +- gdb/testsuite/gdb.perf/gmonster-runto-main.py | 2 +- gdb/testsuite/gdb.perf/gmonster-select-file.py | 2 +- gdb/testsuite/gdb.perf/gmonster1-null-lookup.exp | 2 +- .../gdb.perf/gmonster1-pervasive-typedef.exp | 2 +- gdb/testsuite/gdb.perf/gmonster1-print-cerr.exp | 2 +- gdb/testsuite/gdb.perf/gmonster1-ptype-string.exp | 2 +- gdb/testsuite/gdb.perf/gmonster1-runto-main.exp | 2 +- gdb/testsuite/gdb.perf/gmonster1-select-file.exp | 2 +- gdb/testsuite/gdb.perf/gmonster1.cc | 2 +- gdb/testsuite/gdb.perf/gmonster1.exp | 2 +- gdb/testsuite/gdb.perf/gmonster2-null-lookup.exp | 2 +- .../gdb.perf/gmonster2-pervasive-typedef.exp | 2 +- gdb/testsuite/gdb.perf/gmonster2-print-cerr.exp | 2 +- gdb/testsuite/gdb.perf/gmonster2-ptype-string.exp | 2 +- gdb/testsuite/gdb.perf/gmonster2-runto-main.exp | 2 +- gdb/testsuite/gdb.perf/gmonster2-select-file.exp | 2 +- gdb/testsuite/gdb.perf/gmonster2.cc | 2 +- gdb/testsuite/gdb.perf/gmonster2.exp | 2 +- gdb/testsuite/gdb.perf/lib/perftest/__init__.py | 2 +- gdb/testsuite/gdb.perf/lib/perftest/measure.py | 2 +- gdb/testsuite/gdb.perf/lib/perftest/perftest.py | 2 +- gdb/testsuite/gdb.perf/lib/perftest/reporter.py | 2 +- gdb/testsuite/gdb.perf/lib/perftest/testresult.py | 2 +- gdb/testsuite/gdb.perf/lib/perftest/utils.py | 2 +- gdb/testsuite/gdb.perf/single-step.c | 2 +- gdb/testsuite/gdb.perf/single-step.exp | 2 +- gdb/testsuite/gdb.perf/single-step.py | 2 +- gdb/testsuite/gdb.perf/skip-command.cc | 2 +- gdb/testsuite/gdb.perf/skip-command.exp | 2 +- gdb/testsuite/gdb.perf/skip-command.py | 2 +- gdb/testsuite/gdb.perf/skip-prologue.c | 2 +- gdb/testsuite/gdb.perf/skip-prologue.exp | 2 +- gdb/testsuite/gdb.perf/skip-prologue.py | 2 +- gdb/testsuite/gdb.perf/solib.c | 2 +- gdb/testsuite/gdb.perf/solib.exp | 2 +- gdb/testsuite/gdb.perf/solib.py | 2 +- gdb/testsuite/gdb.perf/template-breakpoints.cc | 2 +- gdb/testsuite/gdb.perf/template-breakpoints.exp | 2 +- gdb/testsuite/gdb.perf/template-breakpoints.py | 2 +- .../gdb.python/amd64-py-framefilter-invalidarg.S | 2 +- gdb/testsuite/gdb.python/lib-types.cc | 2 +- gdb/testsuite/gdb.python/lib-types.exp | 2 +- gdb/testsuite/gdb.python/py-arch.c | 2 +- gdb/testsuite/gdb.python/py-arch.exp | 2 +- gdb/testsuite/gdb.python/py-as-string.c | 2 +- gdb/testsuite/gdb.python/py-as-string.exp | 2 +- gdb/testsuite/gdb.python/py-bad-printers.c | 2 +- gdb/testsuite/gdb.python/py-bad-printers.exp | 2 +- gdb/testsuite/gdb.python/py-bad-printers.py | 2 +- gdb/testsuite/gdb.python/py-block.c | 2 +- gdb/testsuite/gdb.python/py-block.exp | 2 +- .../gdb.python/py-breakpoint-create-fail.c | 2 +- .../gdb.python/py-breakpoint-create-fail.exp | 2 +- .../gdb.python/py-breakpoint-create-fail.py | 2 +- gdb/testsuite/gdb.python/py-breakpoint.c | 2 +- gdb/testsuite/gdb.python/py-breakpoint.exp | 2 +- gdb/testsuite/gdb.python/py-caller-is.c | 2 +- gdb/testsuite/gdb.python/py-caller-is.exp | 2 +- gdb/testsuite/gdb.python/py-cmd.c | 2 +- gdb/testsuite/gdb.python/py-cmd.exp | 42 +- gdb/testsuite/gdb.python/py-completion.exp | 2 +- gdb/testsuite/gdb.python/py-completion.py | 2 +- gdb/testsuite/gdb.python/py-error.exp | 2 +- gdb/testsuite/gdb.python/py-error.py | 2 +- gdb/testsuite/gdb.python/py-events-shlib.c | 2 +- gdb/testsuite/gdb.python/py-events.c | 2 +- gdb/testsuite/gdb.python/py-events.exp | 2 +- gdb/testsuite/gdb.python/py-events.py | 2 +- gdb/testsuite/gdb.python/py-evsignal.exp | 2 +- gdb/testsuite/gdb.python/py-evthreads.c | 2 +- gdb/testsuite/gdb.python/py-evthreads.exp | 2 +- gdb/testsuite/gdb.python/py-explore-cc.exp | 2 +- gdb/testsuite/gdb.python/py-explore.c | 2 +- gdb/testsuite/gdb.python/py-explore.cc | 2 +- gdb/testsuite/gdb.python/py-explore.exp | 2 +- gdb/testsuite/gdb.python/py-finish-breakpoint.c | 2 +- gdb/testsuite/gdb.python/py-finish-breakpoint.exp | 12 +- gdb/testsuite/gdb.python/py-finish-breakpoint.py | 2 +- gdb/testsuite/gdb.python/py-finish-breakpoint2.cc | 2 +- gdb/testsuite/gdb.python/py-finish-breakpoint2.exp | 2 +- gdb/testsuite/gdb.python/py-finish-breakpoint2.py | 2 +- gdb/testsuite/gdb.python/py-format-string.c | 118 + gdb/testsuite/gdb.python/py-format-string.exp | 957 + gdb/testsuite/gdb.python/py-format-string.py | 49 + gdb/testsuite/gdb.python/py-frame-args.c | 2 +- gdb/testsuite/gdb.python/py-frame-args.exp | 2 +- gdb/testsuite/gdb.python/py-frame-args.py | 2 +- gdb/testsuite/gdb.python/py-frame-inline.c | 2 +- gdb/testsuite/gdb.python/py-frame-inline.exp | 2 +- gdb/testsuite/gdb.python/py-frame.exp | 2 +- gdb/testsuite/gdb.python/py-framefilter-gdb.py.in | 2 +- .../gdb.python/py-framefilter-invalidarg-gdb.py.in | 2 +- .../gdb.python/py-framefilter-invalidarg.exp | 2 +- .../gdb.python/py-framefilter-invalidarg.py | 2 +- gdb/testsuite/gdb.python/py-framefilter-mi.c | 2 +- gdb/testsuite/gdb.python/py-framefilter-mi.exp | 2 +- gdb/testsuite/gdb.python/py-framefilter.c | 2 +- gdb/testsuite/gdb.python/py-framefilter.exp | 2 +- gdb/testsuite/gdb.python/py-framefilter.py | 2 +- gdb/testsuite/gdb.python/py-function.exp | 2 +- gdb/testsuite/gdb.python/py-inferior.exp | 2 +- gdb/testsuite/gdb.python/py-infthread.exp | 2 +- gdb/testsuite/gdb.python/py-lazy-string.c | 2 +- gdb/testsuite/gdb.python/py-lazy-string.exp | 2 +- gdb/testsuite/gdb.python/py-linetable.S | 2 +- gdb/testsuite/gdb.python/py-linetable.c | 2 +- gdb/testsuite/gdb.python/py-linetable.exp | 2 +- gdb/testsuite/gdb.python/py-lookup-type.exp | 2 +- gdb/testsuite/gdb.python/py-mi-events-gdb.py | 2 +- gdb/testsuite/gdb.python/py-mi-events.c | 2 +- gdb/testsuite/gdb.python/py-mi-events.exp | 2 +- gdb/testsuite/gdb.python/py-mi-objfile-gdb.py | 2 +- gdb/testsuite/gdb.python/py-mi-objfile.c | 2 +- gdb/testsuite/gdb.python/py-mi-objfile.exp | 2 +- .../gdb.python/py-mi-var-info-path-expression.c | 2 +- .../gdb.python/py-mi-var-info-path-expression.exp | 2 +- .../gdb.python/py-mi-var-info-path-expression.py | 2 +- gdb/testsuite/gdb.python/py-mi.exp | 2 +- gdb/testsuite/gdb.python/py-objfile-script-gdb.py | 2 +- gdb/testsuite/gdb.python/py-objfile-script.c | 2 +- gdb/testsuite/gdb.python/py-objfile-script.exp | 2 +- gdb/testsuite/gdb.python/py-objfile.c | 2 +- gdb/testsuite/gdb.python/py-objfile.exp | 2 +- gdb/testsuite/gdb.python/py-parameter.exp | 2 +- gdb/testsuite/gdb.python/py-pp-integral.c | 2 +- gdb/testsuite/gdb.python/py-pp-integral.exp | 2 +- gdb/testsuite/gdb.python/py-pp-integral.py | 2 +- gdb/testsuite/gdb.python/py-pp-maint.c | 2 +- gdb/testsuite/gdb.python/py-pp-maint.exp | 2 +- gdb/testsuite/gdb.python/py-pp-maint.py | 2 +- gdb/testsuite/gdb.python/py-pp-re-notag.c | 2 +- gdb/testsuite/gdb.python/py-pp-re-notag.exp | 2 +- gdb/testsuite/gdb.python/py-pp-re-notag.py | 2 +- gdb/testsuite/gdb.python/py-pp-registration.c | 2 +- gdb/testsuite/gdb.python/py-pp-registration.exp | 2 +- gdb/testsuite/gdb.python/py-pp-registration.py | 2 +- gdb/testsuite/gdb.python/py-prettyprint.c | 4 +- gdb/testsuite/gdb.python/py-prettyprint.exp | 43 +- gdb/testsuite/gdb.python/py-prettyprint.py | 8 +- gdb/testsuite/gdb.python/py-progspace.c | 2 +- gdb/testsuite/gdb.python/py-progspace.exp | 2 +- gdb/testsuite/gdb.python/py-prompt.c | 2 +- gdb/testsuite/gdb.python/py-prompt.exp | 2 +- gdb/testsuite/gdb.python/py-rbreak-func2.c | 2 +- gdb/testsuite/gdb.python/py-rbreak.c | 2 +- gdb/testsuite/gdb.python/py-rbreak.exp | 2 +- .../gdb.python/py-record-btrace-threads.c | 2 +- .../gdb.python/py-record-btrace-threads.exp | 2 +- gdb/testsuite/gdb.python/py-record-btrace.c | 2 +- gdb/testsuite/gdb.python/py-record-btrace.exp | 2 +- gdb/testsuite/gdb.python/py-record-full.c | 2 +- gdb/testsuite/gdb.python/py-record-full.exp | 2 +- gdb/testsuite/gdb.python/py-recurse-unwind.c | 2 +- gdb/testsuite/gdb.python/py-recurse-unwind.exp | 2 +- gdb/testsuite/gdb.python/py-recurse-unwind.py | 2 +- gdb/testsuite/gdb.python/py-rvalue-ref-value-cc.cc | 2 +- .../gdb.python/py-rvalue-ref-value-cc.exp | 2 +- gdb/testsuite/gdb.python/py-section-script.c | 2 +- gdb/testsuite/gdb.python/py-section-script.exp | 2 +- gdb/testsuite/gdb.python/py-section-script.py | 2 +- gdb/testsuite/gdb.python/py-shared-sl.c | 2 +- gdb/testsuite/gdb.python/py-shared.c | 2 +- gdb/testsuite/gdb.python/py-shared.exp | 2 +- gdb/testsuite/gdb.python/py-strfns.c | 2 +- gdb/testsuite/gdb.python/py-strfns.exp | 2 +- gdb/testsuite/gdb.python/py-symbol.c | 2 +- gdb/testsuite/gdb.python/py-symbol.exp | 2 +- gdb/testsuite/gdb.python/py-symtab.exp | 2 +- gdb/testsuite/gdb.python/py-sync-interp.c | 2 +- gdb/testsuite/gdb.python/py-sync-interp.exp | 2 +- gdb/testsuite/gdb.python/py-template.cc | 2 +- gdb/testsuite/gdb.python/py-template.exp | 2 +- gdb/testsuite/gdb.python/py-thrhandle.c | 2 +- gdb/testsuite/gdb.python/py-thrhandle.exp | 2 +- gdb/testsuite/gdb.python/py-type.c | 2 +- gdb/testsuite/gdb.python/py-type.exp | 2 +- gdb/testsuite/gdb.python/py-typeprint.cc | 2 +- gdb/testsuite/gdb.python/py-typeprint.exp | 2 +- gdb/testsuite/gdb.python/py-typeprint.py | 2 +- gdb/testsuite/gdb.python/py-unwind-maint.c | 2 +- gdb/testsuite/gdb.python/py-unwind-maint.exp | 2 +- gdb/testsuite/gdb.python/py-unwind-maint.py | 2 +- gdb/testsuite/gdb.python/py-unwind.c | 2 +- gdb/testsuite/gdb.python/py-unwind.exp | 2 +- gdb/testsuite/gdb.python/py-unwind.py | 2 +- gdb/testsuite/gdb.python/py-value-cc.cc | 2 +- gdb/testsuite/gdb.python/py-value-cc.exp | 2 +- gdb/testsuite/gdb.python/py-value.c | 2 +- gdb/testsuite/gdb.python/py-value.exp | 47 +- gdb/testsuite/gdb.python/py-xmethods.cc | 2 +- gdb/testsuite/gdb.python/py-xmethods.exp | 2 +- gdb/testsuite/gdb.python/py-xmethods.py | 2 +- gdb/testsuite/gdb.python/python-1.c | 2 +- gdb/testsuite/gdb.python/python.c | 2 +- gdb/testsuite/gdb.python/python.exp | 3 +- gdb/testsuite/gdb.python/source1 | 2 +- gdb/testsuite/gdb.python/source2.py | 2 +- gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.S | 2 +- gdb/testsuite/gdb.reverse/amd64-tailcall-reverse.c | 2 +- .../gdb.reverse/amd64-tailcall-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/break-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/break-reverse.c | 2 +- gdb/testsuite/gdb.reverse/break-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/consecutive-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/consecutive-reverse.c | 2 +- gdb/testsuite/gdb.reverse/consecutive-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/finish-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp | 2 +- gdb/testsuite/gdb.reverse/finish-reverse.c | 2 +- gdb/testsuite/gdb.reverse/finish-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/fstatat-reverse.c | 2 +- gdb/testsuite/gdb.reverse/fstatat-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/getresuid-reverse.c | 2 +- gdb/testsuite/gdb.reverse/getresuid-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/i386-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/i386-reverse.c | 2 +- gdb/testsuite/gdb.reverse/i386-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/i386-sse-reverse.c | 2 +- gdb/testsuite/gdb.reverse/i386-sse-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/i387-env-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/i387-stack-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/insn-reverse-aarch64.c | 2 +- gdb/testsuite/gdb.reverse/insn-reverse-arm.c | 2 +- gdb/testsuite/gdb.reverse/insn-reverse-x86.c | 2 +- gdb/testsuite/gdb.reverse/insn-reverse.c | 2 +- gdb/testsuite/gdb.reverse/insn-reverse.exp | 2 +- .../gdb.reverse/machinestate-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/machinestate.c | 2 +- gdb/testsuite/gdb.reverse/machinestate.exp | 2 +- gdb/testsuite/gdb.reverse/ms1.c | 2 +- .../gdb.reverse/next-reverse-bkpt-over-sr.exp | 2 +- gdb/testsuite/gdb.reverse/pipe-reverse.c | 2 +- gdb/testsuite/gdb.reverse/pipe-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/readv-reverse.c | 2 +- gdb/testsuite/gdb.reverse/readv-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/recvmsg-reverse.c | 2 +- gdb/testsuite/gdb.reverse/recvmsg-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/rerun-prec.c | 2 +- gdb/testsuite/gdb.reverse/rerun-prec.exp | 2 +- gdb/testsuite/gdb.reverse/s390-mvcle.c | 2 +- gdb/testsuite/gdb.reverse/s390-mvcle.exp | 2 +- gdb/testsuite/gdb.reverse/shr.h | 2 +- gdb/testsuite/gdb.reverse/shr1.c | 2 +- gdb/testsuite/gdb.reverse/shr2.c | 2 +- gdb/testsuite/gdb.reverse/sigall-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/sigall-reverse.c | 2 +- gdb/testsuite/gdb.reverse/sigall-reverse.exp | 2 +- .../gdb.reverse/singlejmp-reverse-nodebug.S | 2 +- .../gdb.reverse/singlejmp-reverse-nodebug.c | 2 +- gdb/testsuite/gdb.reverse/singlejmp-reverse.S | 2 +- gdb/testsuite/gdb.reverse/singlejmp-reverse.c | 2 +- gdb/testsuite/gdb.reverse/singlejmp-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/solib-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/solib-reverse.c | 2 +- gdb/testsuite/gdb.reverse/solib-reverse.exp | 2 +- .../gdb.reverse/step-indirect-call-thunk.c | 2 +- .../gdb.reverse/step-indirect-call-thunk.exp | 2 +- gdb/testsuite/gdb.reverse/step-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/step-reverse.c | 2 +- gdb/testsuite/gdb.reverse/step-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/time-reverse.c | 2 +- gdb/testsuite/gdb.reverse/time-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/until-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/until-reverse.c | 2 +- gdb/testsuite/gdb.reverse/until-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/ur1.c | 2 +- gdb/testsuite/gdb.reverse/waitpid-reverse.c | 2 +- gdb/testsuite/gdb.reverse/waitpid-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/watch-precsave.exp | 2 +- gdb/testsuite/gdb.reverse/watch-reverse.c | 2 +- gdb/testsuite/gdb.reverse/watch-reverse.exp | 2 +- gdb/testsuite/gdb.rust/expr.exp | 6 +- gdb/testsuite/gdb.rust/generics.exp | 2 +- gdb/testsuite/gdb.rust/generics.rs | 2 +- gdb/testsuite/gdb.rust/methods.exp | 2 +- gdb/testsuite/gdb.rust/methods.rs | 2 +- gdb/testsuite/gdb.rust/modules.exp | 2 +- gdb/testsuite/gdb.rust/modules.rs | 2 +- gdb/testsuite/gdb.rust/simple.exp | 15 +- gdb/testsuite/gdb.rust/simple.rs | 4 +- gdb/testsuite/gdb.rust/traits.exp | 2 +- gdb/testsuite/gdb.rust/traits.rs | 2 +- gdb/testsuite/gdb.rust/unsized.exp | 2 +- gdb/testsuite/gdb.rust/unsized.rs | 2 +- gdb/testsuite/gdb.rust/watch.exp | 2 +- gdb/testsuite/gdb.rust/watch.rs | 2 +- gdb/testsuite/gdb.server/abspath.exp | 2 +- gdb/testsuite/gdb.server/connect-stopped-target.c | 2 +- .../gdb.server/connect-stopped-target.exp | 2 +- .../gdb.server/connect-with-no-symbol-file.c | 2 +- .../gdb.server/connect-with-no-symbol-file.exp | 2 +- .../gdb.server/connect-without-multi-process.c | 2 +- .../gdb.server/connect-without-multi-process.exp | 2 +- gdb/testsuite/gdb.server/ext-attach.c | 2 +- gdb/testsuite/gdb.server/ext-attach.exp | 2 +- gdb/testsuite/gdb.server/ext-restart.exp | 2 +- gdb/testsuite/gdb.server/ext-run.exp | 2 +- gdb/testsuite/gdb.server/ext-wrapper.exp | 2 +- gdb/testsuite/gdb.server/extended-remote-restart.c | 2 +- .../gdb.server/extended-remote-restart.exp | 2 +- gdb/testsuite/gdb.server/file-transfer.exp | 2 +- gdb/testsuite/gdb.server/no-thread-db.c | 2 +- gdb/testsuite/gdb.server/no-thread-db.exp | 2 +- gdb/testsuite/gdb.server/non-existing-program.exp | 2 +- gdb/testsuite/gdb.server/normal.c | 2 +- gdb/testsuite/gdb.server/reconnect-ctrl-c.c | 2 +- gdb/testsuite/gdb.server/reconnect-ctrl-c.exp | 2 +- .../gdb.server/run-without-local-binary.exp | 2 +- gdb/testsuite/gdb.server/server-connect.exp | 2 +- gdb/testsuite/gdb.server/server-exec-info.exp | 2 +- gdb/testsuite/gdb.server/server-kill.c | 2 +- gdb/testsuite/gdb.server/server-kill.exp | 2 +- gdb/testsuite/gdb.server/server-mon.exp | 2 +- gdb/testsuite/gdb.server/server-run.exp | 2 +- gdb/testsuite/gdb.server/server.c | 2 +- gdb/testsuite/gdb.server/solib-list-lib.c | 2 +- gdb/testsuite/gdb.server/solib-list-main.c | 2 +- gdb/testsuite/gdb.server/solib-list.exp | 2 +- gdb/testsuite/gdb.server/stop-reply-no-thread.c | 2 +- gdb/testsuite/gdb.server/stop-reply-no-thread.exp | 2 +- gdb/testsuite/gdb.server/unittest.exp | 2 +- gdb/testsuite/gdb.server/wrapper.c | 2 +- gdb/testsuite/gdb.server/wrapper.exp | 2 +- gdb/testsuite/gdb.stabs/exclfwd.exp | 2 +- gdb/testsuite/gdb.stabs/exclfwd.h | 2 +- gdb/testsuite/gdb.stabs/exclfwd1.c | 2 +- gdb/testsuite/gdb.stabs/exclfwd2.c | 2 +- gdb/testsuite/gdb.stabs/gdb11479.c | 2 +- gdb/testsuite/gdb.stabs/gdb11479.exp | 2 +- gdb/testsuite/gdb.stabs/weird.exp | 2 +- gdb/testsuite/gdb.threads/attach-into-signal.c | 2 +- gdb/testsuite/gdb.threads/attach-into-signal.exp | 2 +- .../gdb.threads/attach-many-short-lived-threads.c | 2 +- .../attach-many-short-lived-threads.exp | 2 +- gdb/testsuite/gdb.threads/attach-slow-waitpid.c | 2 +- gdb/testsuite/gdb.threads/attach-slow-waitpid.exp | 2 +- gdb/testsuite/gdb.threads/attach-stopped.c | 2 +- gdb/testsuite/gdb.threads/attach-stopped.exp | 2 +- gdb/testsuite/gdb.threads/bp_in_thread.c | 2 +- gdb/testsuite/gdb.threads/bp_in_thread.exp | 2 +- gdb/testsuite/gdb.threads/break-while-running.c | 2 +- gdb/testsuite/gdb.threads/break-while-running.exp | 2 +- gdb/testsuite/gdb.threads/check-libthread-db.c | 2 +- gdb/testsuite/gdb.threads/check-libthread-db.exp | 2 +- gdb/testsuite/gdb.threads/clone-attach-detach.c | 2 +- gdb/testsuite/gdb.threads/clone-attach-detach.exp | 2 +- gdb/testsuite/gdb.threads/clone-new-thread-event.c | 2 +- .../gdb.threads/clone-new-thread-event.exp | 2 +- gdb/testsuite/gdb.threads/clone-thread_db.c | 2 +- gdb/testsuite/gdb.threads/clone-thread_db.exp | 2 +- .../gdb.threads/continue-pending-after-query.c | 2 +- .../gdb.threads/continue-pending-after-query.exp | 2 +- .../gdb.threads/continue-pending-status.c | 2 +- .../gdb.threads/continue-pending-status.exp | 2 +- gdb/testsuite/gdb.threads/corethreads.c | 2 +- gdb/testsuite/gdb.threads/corethreads.exp | 2 +- gdb/testsuite/gdb.threads/create-fail.c | 2 +- gdb/testsuite/gdb.threads/create-fail.exp | 2 +- gdb/testsuite/gdb.threads/current-lwp-dead.c | 2 +- gdb/testsuite/gdb.threads/current-lwp-dead.exp | 2 +- gdb/testsuite/gdb.threads/dlopen-libpthread-lib.c | 2 +- gdb/testsuite/gdb.threads/dlopen-libpthread.c | 2 +- gdb/testsuite/gdb.threads/dlopen-libpthread.exp | 2 +- gdb/testsuite/gdb.threads/execl.c | 2 +- gdb/testsuite/gdb.threads/execl.exp | 2 +- gdb/testsuite/gdb.threads/execl1.c | 2 +- gdb/testsuite/gdb.threads/fork-child-threads.c | 2 +- gdb/testsuite/gdb.threads/fork-child-threads.exp | 2 +- gdb/testsuite/gdb.threads/fork-plus-threads.c | 2 +- gdb/testsuite/gdb.threads/fork-plus-threads.exp | 2 +- gdb/testsuite/gdb.threads/fork-thread-pending.c | 2 +- gdb/testsuite/gdb.threads/fork-thread-pending.exp | 2 +- .../gdb.threads/forking-threads-plus-breakpoint.c | 2 +- .../forking-threads-plus-breakpoint.exp | 2 +- gdb/testsuite/gdb.threads/gcore-stale-thread.c | 2 +- gdb/testsuite/gdb.threads/gcore-stale-thread.exp | 2 +- gdb/testsuite/gdb.threads/gcore-thread.exp | 2 +- gdb/testsuite/gdb.threads/hand-call-in-threads.c | 2 +- gdb/testsuite/gdb.threads/hand-call-in-threads.exp | 2 +- gdb/testsuite/gdb.threads/hand-call-new-thread.c | 2 +- gdb/testsuite/gdb.threads/hand-call-new-thread.exp | 2 +- gdb/testsuite/gdb.threads/ia64-sigill.c | 2 +- gdb/testsuite/gdb.threads/ia64-sigill.exp | 2 +- gdb/testsuite/gdb.threads/info-threads-cur-sal-2.c | 2 +- gdb/testsuite/gdb.threads/info-threads-cur-sal.c | 2 +- gdb/testsuite/gdb.threads/info-threads-cur-sal.exp | 2 +- .../gdb.threads/interrupt-while-step-over.c | 2 +- .../gdb.threads/interrupt-while-step-over.exp | 2 +- gdb/testsuite/gdb.threads/interrupted-hand-call.c | 2 +- .../gdb.threads/interrupted-hand-call.exp | 2 +- gdb/testsuite/gdb.threads/kill.c | 2 +- gdb/testsuite/gdb.threads/kill.exp | 2 +- gdb/testsuite/gdb.threads/killed.c | 2 +- gdb/testsuite/gdb.threads/killed.exp | 2 +- gdb/testsuite/gdb.threads/leader-exit.c | 2 +- gdb/testsuite/gdb.threads/leader-exit.exp | 2 +- gdb/testsuite/gdb.threads/linux-dp.exp | 2 +- .../gdb.threads/local-watch-wrong-thread.c | 2 +- .../gdb.threads/local-watch-wrong-thread.exp | 2 +- gdb/testsuite/gdb.threads/manythreads.c | 2 +- gdb/testsuite/gdb.threads/manythreads.exp | 2 +- .../gdb.threads/multi-create-ns-info-thr.exp | 2 +- gdb/testsuite/gdb.threads/multi-create.c | 2 +- gdb/testsuite/gdb.threads/multi-create.exp | 2 +- gdb/testsuite/gdb.threads/multiple-step-overs.c | 2 +- gdb/testsuite/gdb.threads/multiple-step-overs.exp | 2 +- .../gdb.threads/multiple-successive-infcall.c | 2 +- .../gdb.threads/multiple-successive-infcall.exp | 2 +- gdb/testsuite/gdb.threads/names.c | 2 +- gdb/testsuite/gdb.threads/names.exp | 2 +- gdb/testsuite/gdb.threads/next-bp-other-thread.c | 2 +- gdb/testsuite/gdb.threads/next-bp-other-thread.exp | 2 +- .../gdb.threads/next-while-other-thread-longjmps.c | 2 +- .../next-while-other-thread-longjmps.exp | 2 +- gdb/testsuite/gdb.threads/no-unwaited-for-left.c | 2 +- gdb/testsuite/gdb.threads/no-unwaited-for-left.exp | 2 +- gdb/testsuite/gdb.threads/non-ldr-exc-1.c | 2 +- gdb/testsuite/gdb.threads/non-ldr-exc-1.exp | 2 +- gdb/testsuite/gdb.threads/non-ldr-exc-2.c | 2 +- gdb/testsuite/gdb.threads/non-ldr-exc-2.exp | 2 +- gdb/testsuite/gdb.threads/non-ldr-exc-3.c | 2 +- gdb/testsuite/gdb.threads/non-ldr-exc-3.exp | 2 +- gdb/testsuite/gdb.threads/non-ldr-exc-4.c | 2 +- gdb/testsuite/gdb.threads/non-ldr-exc-4.exp | 2 +- gdb/testsuite/gdb.threads/non-ldr-exit.c | 2 +- gdb/testsuite/gdb.threads/non-ldr-exit.exp | 2 +- gdb/testsuite/gdb.threads/non-stop-fair-events.c | 2 +- gdb/testsuite/gdb.threads/non-stop-fair-events.exp | 2 +- gdb/testsuite/gdb.threads/pending-step.c | 2 +- gdb/testsuite/gdb.threads/pending-step.exp | 2 +- gdb/testsuite/gdb.threads/print-threads.exp | 2 +- .../gdb.threads/process-dies-while-detaching.c | 2 +- .../gdb.threads/process-dies-while-detaching.exp | 2 +- .../gdb.threads/process-dies-while-handling-bp.c | 2 +- .../gdb.threads/process-dies-while-handling-bp.exp | 2 +- gdb/testsuite/gdb.threads/pthread_cond_wait.c | 2 +- gdb/testsuite/gdb.threads/pthread_cond_wait.exp | 2 +- gdb/testsuite/gdb.threads/pthreads.c | 2 +- gdb/testsuite/gdb.threads/pthreads.exp | 2 +- gdb/testsuite/gdb.threads/queue-signal.c | 2 +- gdb/testsuite/gdb.threads/queue-signal.exp | 2 +- gdb/testsuite/gdb.threads/reconnect-signal.c | 2 +- gdb/testsuite/gdb.threads/reconnect-signal.exp | 2 +- gdb/testsuite/gdb.threads/schedlock.c | 2 +- gdb/testsuite/gdb.threads/schedlock.exp | 2 +- gdb/testsuite/gdb.threads/siginfo-threads.c | 2 +- gdb/testsuite/gdb.threads/siginfo-threads.exp | 2 +- .../gdb.threads/signal-command-handle-nopass.c | 2 +- .../gdb.threads/signal-command-handle-nopass.exp | 2 +- .../signal-command-multiple-signals-pending.c | 2 +- .../signal-command-multiple-signals-pending.exp | 2 +- .../gdb.threads/signal-delivered-right-thread.c | 2 +- .../gdb.threads/signal-delivered-right-thread.exp | 2 +- gdb/testsuite/gdb.threads/signal-sigtrap.c | 2 +- gdb/testsuite/gdb.threads/signal-sigtrap.exp | 2 +- .../signal-while-stepping-over-bp-other-thread.c | 2 +- .../signal-while-stepping-over-bp-other-thread.exp | 2 +- gdb/testsuite/gdb.threads/sigstep-threads.c | 2 +- gdb/testsuite/gdb.threads/sigstep-threads.exp | 2 +- gdb/testsuite/gdb.threads/sigthread.exp | 2 +- gdb/testsuite/gdb.threads/slow-waitpid.c | 2 +- gdb/testsuite/gdb.threads/staticthreads.c | 2 +- gdb/testsuite/gdb.threads/staticthreads.exp | 2 +- .../gdb.threads/step-bg-decr-pc-switch-thread.c | 2 +- .../gdb.threads/step-bg-decr-pc-switch-thread.exp | 2 +- .../gdb.threads/step-over-lands-on-breakpoint.c | 2 +- .../gdb.threads/step-over-lands-on-breakpoint.exp | 2 +- .../gdb.threads/step-over-trips-on-watchpoint.c | 2 +- .../gdb.threads/step-over-trips-on-watchpoint.exp | 2 +- gdb/testsuite/gdb.threads/stepi-random-signal.c | 2 +- gdb/testsuite/gdb.threads/stepi-random-signal.exp | 2 +- gdb/testsuite/gdb.threads/switch-threads.c | 2 +- gdb/testsuite/gdb.threads/switch-threads.exp | 2 +- gdb/testsuite/gdb.threads/thread-execl.c | 2 +- gdb/testsuite/gdb.threads/thread-execl.exp | 2 +- gdb/testsuite/gdb.threads/thread-find.exp | 2 +- gdb/testsuite/gdb.threads/thread-specific-bp.c | 2 +- gdb/testsuite/gdb.threads/thread-specific-bp.exp | 2 +- gdb/testsuite/gdb.threads/thread-specific.c | 2 +- gdb/testsuite/gdb.threads/thread-specific.exp | 2 +- .../gdb.threads/thread-unwindonsignal.exp | 2 +- gdb/testsuite/gdb.threads/thread_check.c | 2 +- gdb/testsuite/gdb.threads/thread_check.exp | 2 +- gdb/testsuite/gdb.threads/thread_events.c | 2 +- gdb/testsuite/gdb.threads/thread_events.exp | 2 +- gdb/testsuite/gdb.threads/threadapply.c | 2 +- gdb/testsuite/gdb.threads/threadapply.exp | 2 +- gdb/testsuite/gdb.threads/threxit-hop-specific.c | 2 +- gdb/testsuite/gdb.threads/threxit-hop-specific.exp | 2 +- gdb/testsuite/gdb.threads/tid-reuse.c | 31 +- gdb/testsuite/gdb.threads/tid-reuse.exp | 2 +- gdb/testsuite/gdb.threads/tls-core.c | 2 +- gdb/testsuite/gdb.threads/tls-core.exp | 2 +- gdb/testsuite/gdb.threads/tls-nodebug-pie.c | 2 +- gdb/testsuite/gdb.threads/tls-nodebug-pie.exp | 2 +- gdb/testsuite/gdb.threads/tls-nodebug.exp | 2 +- gdb/testsuite/gdb.threads/tls-shared.exp | 2 +- gdb/testsuite/gdb.threads/tls-so_extern.c | 2 +- gdb/testsuite/gdb.threads/tls-so_extern.exp | 2 +- gdb/testsuite/gdb.threads/tls-so_extern_main.c | 2 +- gdb/testsuite/gdb.threads/tls-var-main.c | 2 +- gdb/testsuite/gdb.threads/tls-var.c | 2 +- gdb/testsuite/gdb.threads/tls-var.exp | 2 +- gdb/testsuite/gdb.threads/tls.exp | 2 +- gdb/testsuite/gdb.threads/tls2.c | 2 +- gdb/testsuite/gdb.threads/watchpoint-fork-child.c | 2 +- gdb/testsuite/gdb.threads/watchpoint-fork-mt.c | 2 +- gdb/testsuite/gdb.threads/watchpoint-fork-parent.c | 2 +- gdb/testsuite/gdb.threads/watchpoint-fork-st.c | 2 +- gdb/testsuite/gdb.threads/watchpoint-fork.exp | 36 +- gdb/testsuite/gdb.threads/watchpoint-fork.h | 2 +- gdb/testsuite/gdb.threads/watchthreads-reorder.c | 2 +- gdb/testsuite/gdb.threads/watchthreads-reorder.exp | 2 +- gdb/testsuite/gdb.threads/watchthreads.c | 2 +- gdb/testsuite/gdb.threads/watchthreads.exp | 2 +- gdb/testsuite/gdb.threads/watchthreads2.c | 2 +- gdb/testsuite/gdb.threads/watchthreads2.exp | 2 +- gdb/testsuite/gdb.threads/wp-replication.c | 2 +- gdb/testsuite/gdb.threads/wp-replication.exp | 2 +- gdb/testsuite/gdb.trace/actions-changed.c | 2 +- gdb/testsuite/gdb.trace/actions-changed.exp | 2 +- gdb/testsuite/gdb.trace/actions.c | 2 +- gdb/testsuite/gdb.trace/actions.exp | 2 +- gdb/testsuite/gdb.trace/ax.exp | 2 +- gdb/testsuite/gdb.trace/backtrace.exp | 2 +- gdb/testsuite/gdb.trace/change-loc-1.c | 2 +- gdb/testsuite/gdb.trace/change-loc-2.c | 2 +- gdb/testsuite/gdb.trace/change-loc.c | 2 +- gdb/testsuite/gdb.trace/change-loc.exp | 2 +- gdb/testsuite/gdb.trace/change-loc.h | 2 +- gdb/testsuite/gdb.trace/circ.c | 2 +- gdb/testsuite/gdb.trace/circ.exp | 2 +- gdb/testsuite/gdb.trace/collection.c | 2 +- gdb/testsuite/gdb.trace/collection.exp | 2 +- gdb/testsuite/gdb.trace/deltrace.exp | 2 +- gdb/testsuite/gdb.trace/disconnected-tracing.c | 2 +- gdb/testsuite/gdb.trace/disconnected-tracing.exp | 2 +- gdb/testsuite/gdb.trace/entry-values.c | 2 +- gdb/testsuite/gdb.trace/entry-values.exp | 2 +- gdb/testsuite/gdb.trace/ftrace-lock.c | 2 +- gdb/testsuite/gdb.trace/ftrace-lock.exp | 2 +- gdb/testsuite/gdb.trace/ftrace.c | 2 +- gdb/testsuite/gdb.trace/ftrace.exp | 2 +- gdb/testsuite/gdb.trace/infotrace.exp | 2 +- .../gdb.trace/mi-trace-frame-collected.exp | 2 +- gdb/testsuite/gdb.trace/mi-trace-save.exp | 2 +- gdb/testsuite/gdb.trace/mi-trace-unavailable.exp | 2 +- gdb/testsuite/gdb.trace/mi-traceframe-changed.exp | 2 +- gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp | 2 +- gdb/testsuite/gdb.trace/mi-tsv-changed.exp | 2 +- gdb/testsuite/gdb.trace/no-attach-trace.c | 2 +- gdb/testsuite/gdb.trace/no-attach-trace.exp | 2 +- gdb/testsuite/gdb.trace/packetlen.exp | 2 +- gdb/testsuite/gdb.trace/passc-dyn.exp | 2 +- gdb/testsuite/gdb.trace/passcount.exp | 2 +- gdb/testsuite/gdb.trace/pending.c | 2 +- gdb/testsuite/gdb.trace/pending.exp | 2 +- gdb/testsuite/gdb.trace/pendshr1.c | 2 +- gdb/testsuite/gdb.trace/pendshr2.c | 2 +- gdb/testsuite/gdb.trace/pr16508.exp | 2 +- gdb/testsuite/gdb.trace/qtro.c | 2 +- gdb/testsuite/gdb.trace/qtro.exp | 2 +- gdb/testsuite/gdb.trace/range-stepping.c | 2 +- gdb/testsuite/gdb.trace/range-stepping.exp | 2 +- gdb/testsuite/gdb.trace/read-memory.c | 2 +- gdb/testsuite/gdb.trace/read-memory.exp | 2 +- gdb/testsuite/gdb.trace/report.exp | 2 +- gdb/testsuite/gdb.trace/save-trace.exp | 2 +- gdb/testsuite/gdb.trace/signal.c | 2 +- gdb/testsuite/gdb.trace/signal.exp | 2 +- gdb/testsuite/gdb.trace/stap-trace.c | 2 +- gdb/testsuite/gdb.trace/stap-trace.exp | 2 +- gdb/testsuite/gdb.trace/status-stop.c | 2 +- gdb/testsuite/gdb.trace/status-stop.exp | 2 +- gdb/testsuite/gdb.trace/strace.c | 2 +- gdb/testsuite/gdb.trace/strace.exp | 2 +- gdb/testsuite/gdb.trace/tfile.c | 2 +- gdb/testsuite/gdb.trace/tfile.exp | 2 +- gdb/testsuite/gdb.trace/tfind.exp | 2 +- gdb/testsuite/gdb.trace/trace-break.c | 2 +- gdb/testsuite/gdb.trace/trace-break.exp | 2 +- gdb/testsuite/gdb.trace/trace-buffer-size.c | 2 +- gdb/testsuite/gdb.trace/trace-buffer-size.exp | 2 +- gdb/testsuite/gdb.trace/trace-common.h | 2 +- gdb/testsuite/gdb.trace/trace-condition.c | 2 +- gdb/testsuite/gdb.trace/trace-condition.exp | 2 +- gdb/testsuite/gdb.trace/trace-enable-disable.c | 2 +- gdb/testsuite/gdb.trace/trace-enable-disable.exp | 2 +- gdb/testsuite/gdb.trace/trace-mt.c | 2 +- gdb/testsuite/gdb.trace/trace-mt.exp | 2 +- gdb/testsuite/gdb.trace/trace-unavailable.c | 2 +- gdb/testsuite/gdb.trace/tracecmd.exp | 2 +- gdb/testsuite/gdb.trace/tracefile-pseudo-reg.c | 2 +- gdb/testsuite/gdb.trace/tracefile-pseudo-reg.exp | 2 +- gdb/testsuite/gdb.trace/tspeed.c | 2 +- gdb/testsuite/gdb.trace/tspeed.exp | 2 +- gdb/testsuite/gdb.trace/tstatus.exp | 2 +- gdb/testsuite/gdb.trace/tsv.exp | 2 +- gdb/testsuite/gdb.trace/unavailable-dwarf-piece.c | 2 +- .../gdb.trace/unavailable-dwarf-piece.exp | 2 +- gdb/testsuite/gdb.trace/unavailable.cc | 2 +- gdb/testsuite/gdb.trace/unavailable.exp | 2 +- gdb/testsuite/gdb.trace/while-dyn.exp | 2 +- gdb/testsuite/gdb.trace/while-stepping.exp | 2 +- gdb/testsuite/gdb.tui/completion.exp | 2 +- gdb/testsuite/gdb.tui/tui-disasm-long-lines.c | 2 +- gdb/testsuite/gdb.tui/tui-disasm-long-lines.exp | 2 +- gdb/testsuite/gdb.tui/tui-layout.c | 2 +- gdb/testsuite/gdb.tui/tui-layout.exp | 2 +- gdb/testsuite/gdb.tui/tui-nl-filtered-output.exp | 2 +- gdb/testsuite/gdb.xml/maint_print_struct.exp | 2 +- gdb/testsuite/gdb.xml/maint_print_struct.xml | 2 +- gdb/testsuite/gdb.xml/tdesc-arch.exp | 2 +- gdb/testsuite/gdb.xml/tdesc-errors.exp | 2 +- gdb/testsuite/gdb.xml/tdesc-regs.exp | 2 +- gdb/testsuite/gdb.xml/tdesc-xinclude.exp | 2 +- gdb/testsuite/lib/ada.exp | 2 +- gdb/testsuite/lib/append_gdb_boards_dir.exp | 2 +- gdb/testsuite/lib/build-piece.exp | 2 +- gdb/testsuite/lib/cache.exp | 2 +- gdb/testsuite/lib/cell.exp | 2 +- gdb/testsuite/lib/cl_util.c | 2 +- gdb/testsuite/lib/cl_util.h | 2 +- gdb/testsuite/lib/compile-support.exp | 2 +- gdb/testsuite/lib/compiler.c | 2 +- gdb/testsuite/lib/compiler.cc | 2 +- gdb/testsuite/lib/completion-support.exp | 2 +- gdb/testsuite/lib/cp-support.exp | 2 +- gdb/testsuite/lib/d-support.exp | 2 +- gdb/testsuite/lib/data-structures.exp | 2 +- gdb/testsuite/lib/dtrace.exp | 2 +- gdb/testsuite/lib/dwarf.exp | 2 +- gdb/testsuite/lib/fortran.exp | 2 +- gdb/testsuite/lib/future.exp | 2 +- gdb/testsuite/lib/gdb-guile.exp | 2 +- gdb/testsuite/lib/gdb-python.exp | 2 +- gdb/testsuite/lib/gdb-utils.exp | 2 +- gdb/testsuite/lib/gdb.exp | 183 +- gdb/testsuite/lib/gdbserver-support.exp | 4 +- gdb/testsuite/lib/gen-perf-test.exp | 2 +- gdb/testsuite/lib/go.exp | 2 +- gdb/testsuite/lib/memory.exp | 2 +- gdb/testsuite/lib/mi-support.exp | 7 +- gdb/testsuite/lib/objc.exp | 2 +- gdb/testsuite/lib/opencl.exp | 2 +- gdb/testsuite/lib/opencl_hostapp.c | 2 +- gdb/testsuite/lib/pascal.exp | 2 +- gdb/testsuite/lib/pdtrace.in | 2 +- gdb/testsuite/lib/perftest.exp | 2 +- gdb/testsuite/lib/prelink-support.exp | 2 +- gdb/testsuite/lib/prompt.exp | 2 +- gdb/testsuite/lib/range-stepping-support.exp | 2 +- gdb/testsuite/lib/read1.c | 2 +- gdb/testsuite/lib/rust-support.exp | 2 +- gdb/testsuite/lib/selftest-support.exp | 2 +- gdb/testsuite/lib/set_unbuffered_mode.c | 2 +- gdb/testsuite/lib/trace-support.exp | 2 +- gdb/testsuite/lib/unbuffer_output.c | 2 +- gdb/testsuite/lib/valgrind.exp | 2 +- gdb/testsuite/print-ts.py | 48 + gdb/thread-fsm.c | 109 - gdb/thread-fsm.h | 108 +- gdb/thread-iter.c | 101 + gdb/thread-iter.h | 256 + gdb/thread.c | 391 +- gdb/tic6x-linux-tdep.c | 2 +- gdb/tic6x-tdep.c | 7 +- gdb/tic6x-tdep.h | 7 +- gdb/tid-parse.c | 14 +- gdb/tid-parse.h | 2 +- gdb/tilegx-linux-nat.c | 2 +- gdb/tilegx-linux-tdep.c | 2 +- gdb/tilegx-tdep.c | 6 +- gdb/tilegx-tdep.h | 2 +- gdb/top.c | 112 +- gdb/top.h | 10 +- gdb/tracefile-tfile.c | 29 +- gdb/tracefile.c | 7 +- gdb/tracefile.h | 6 +- gdb/tracepoint.c | 44 +- gdb/tracepoint.h | 16 +- gdb/trad-frame.c | 2 +- gdb/trad-frame.h | 2 +- gdb/tramp-frame.c | 2 +- gdb/tramp-frame.h | 2 +- gdb/transform.m4 | 2 +- gdb/tui/tui-command.c | 2 +- gdb/tui/tui-command.h | 8 +- gdb/tui/tui-data.c | 7 +- gdb/tui/tui-data.h | 8 +- gdb/tui/tui-disasm.c | 2 +- gdb/tui/tui-disasm.h | 8 +- gdb/tui/tui-file.c | 2 +- gdb/tui/tui-file.h | 8 +- gdb/tui/tui-hooks.c | 19 +- gdb/tui/tui-hooks.h | 8 +- gdb/tui/tui-interp.c | 6 +- gdb/tui/tui-io.c | 346 +- gdb/tui/tui-io.h | 15 +- gdb/tui/tui-layout.c | 2 +- gdb/tui/tui-layout.h | 8 +- gdb/tui/tui-out.c | 36 +- gdb/tui/tui-out.h | 31 +- gdb/tui/tui-regs.c | 2 +- gdb/tui/tui-regs.h | 8 +- gdb/tui/tui-source.c | 337 +- gdb/tui/tui-source.h | 8 +- gdb/tui/tui-stack.c | 8 +- gdb/tui/tui-stack.h | 8 +- gdb/tui/tui-win.c | 2 +- gdb/tui/tui-win.h | 8 +- gdb/tui/tui-windata.c | 2 +- gdb/tui/tui-windata.h | 8 +- gdb/tui/tui-wingeneral.c | 2 +- gdb/tui/tui-wingeneral.h | 10 +- gdb/tui/tui-winsource.c | 69 +- gdb/tui/tui-winsource.h | 9 +- gdb/tui/tui.c | 15 +- gdb/tui/tui.h | 8 +- gdb/typeprint.c | 10 +- gdb/typeprint.h | 2 +- gdb/ui-file.c | 10 +- gdb/ui-file.h | 5 +- gdb/ui-out.c | 17 +- gdb/ui-out.h | 35 +- gdb/ui-style.c | 413 + gdb/ui-style.h | 241 + gdb/unittests/array-view-selftests.c | 39 +- gdb/unittests/basic_string_view/capacity/1.cc | 2 +- .../basic_string_view/capacity/empty_neg.cc | 2 +- gdb/unittests/basic_string_view/cons/char/1.cc | 2 +- gdb/unittests/basic_string_view/cons/char/2.cc | 2 +- gdb/unittests/basic_string_view/cons/char/3.cc | 2 +- gdb/unittests/basic_string_view/cons/wchar_t/1.cc | 2 +- gdb/unittests/basic_string_view/cons/wchar_t/2.cc | 2 +- gdb/unittests/basic_string_view/cons/wchar_t/3.cc | 2 +- .../basic_string_view/element_access/char/1.cc | 2 +- .../basic_string_view/element_access/char/2.cc | 2 +- .../basic_string_view/element_access/char/empty.cc | 2 +- .../element_access/char/front_back.cc | 2 +- .../basic_string_view/element_access/wchar_t/1.cc | 2 +- .../basic_string_view/element_access/wchar_t/2.cc | 2 +- .../element_access/wchar_t/empty.cc | 2 +- .../element_access/wchar_t/front_back.cc | 2 +- gdb/unittests/basic_string_view/include.cc | 2 +- .../basic_string_view/inserters/char/1.cc | 2 +- .../basic_string_view/inserters/char/2.cc | 2 +- .../basic_string_view/inserters/char/3.cc | 2 +- .../basic_string_view/inserters/pod/10081-out.cc | 2 +- .../basic_string_view/inserters/wchar_t/1.cc | 2 +- .../basic_string_view/inserters/wchar_t/2.cc | 2 +- .../basic_string_view/inserters/wchar_t/3.cc | 2 +- gdb/unittests/basic_string_view/literals/types.cc | 2 +- gdb/unittests/basic_string_view/literals/values.cc | 2 +- .../modifiers/remove_prefix/char/1.cc | 2 +- .../modifiers/remove_prefix/wchar_t/1.cc | 2 +- .../modifiers/remove_suffix/char/1.cc | 2 +- .../modifiers/remove_suffix/wchar_t/1.cc | 2 +- .../basic_string_view/modifiers/swap/char/1.cc | 2 +- .../basic_string_view/modifiers/swap/wchar_t/1.cc | 2 +- .../basic_string_view/operations/compare/char/1.cc | 2 +- .../operations/compare/char/13650.cc | 2 +- .../basic_string_view/operations/compare/char/2.cc | 2 +- .../operations/compare/char/70483.cc | 2 +- .../operations/compare/wchar_t/1.cc | 2 +- .../operations/compare/wchar_t/13650.cc | 2 +- .../operations/compare/wchar_t/2.cc | 2 +- .../basic_string_view/operations/copy/char/1.cc | 2 +- .../basic_string_view/operations/copy/wchar_t/1.cc | 2 +- .../basic_string_view/operations/data/char/1.cc | 2 +- .../basic_string_view/operations/data/wchar_t/1.cc | 2 +- .../basic_string_view/operations/find/char/1.cc | 2 +- .../basic_string_view/operations/find/char/2.cc | 2 +- .../basic_string_view/operations/find/char/3.cc | 2 +- .../basic_string_view/operations/find/char/4.cc | 2 +- .../basic_string_view/operations/find/wchar_t/1.cc | 2 +- .../basic_string_view/operations/find/wchar_t/2.cc | 2 +- .../basic_string_view/operations/find/wchar_t/3.cc | 2 +- .../basic_string_view/operations/find/wchar_t/4.cc | 2 +- .../basic_string_view/operations/rfind/char/1.cc | 2 +- .../basic_string_view/operations/rfind/char/2.cc | 2 +- .../basic_string_view/operations/rfind/char/3.cc | 2 +- .../operations/rfind/wchar_t/1.cc | 2 +- .../operations/rfind/wchar_t/2.cc | 2 +- .../operations/rfind/wchar_t/3.cc | 2 +- .../operations/string_conversion/1.cc | 2 +- .../basic_string_view/operations/substr/char/1.cc | 2 +- .../operations/substr/wchar_t/1.cc | 2 +- .../basic_string_view/operators/char/2.cc | 2 +- .../basic_string_view/operators/wchar_t/2.cc | 2 +- .../basic_string_view/range_access/char/1.cc | 2 +- .../basic_string_view/range_access/wchar_t/1.cc | 2 +- .../requirements/explicit_instantiation/1.cc | 2 +- .../requirements/explicit_instantiation/char/1.cc | 2 +- .../explicit_instantiation/char16_t/1.cc | 2 +- .../explicit_instantiation/char32_t/1.cc | 2 +- .../explicit_instantiation/wchar_t/1.cc | 2 +- .../basic_string_view/requirements/typedefs.cc | 2 +- gdb/unittests/basic_string_view/typedefs.cc | 2 +- gdb/unittests/basic_string_view/types/1.cc | 2 +- gdb/unittests/child-path-selftests.c | 68 + gdb/unittests/cli-utils-selftests.c | 4 +- gdb/unittests/common-utils-selftests.c | 6 +- gdb/unittests/copy_bitwise-selftests.c | 159 + gdb/unittests/environ-selftests.c | 4 +- gdb/unittests/format_pieces-selftests.c | 2 +- gdb/unittests/function-view-selftests.c | 4 +- gdb/unittests/lookup_name_info-selftests.c | 4 +- gdb/unittests/memory-map-selftests.c | 4 +- gdb/unittests/memrange-selftests.c | 4 +- gdb/unittests/mkdir-recursive-selftests.c | 4 +- gdb/unittests/observable-selftests.c | 6 +- gdb/unittests/offset-type-selftests.c | 4 +- gdb/unittests/optional-selftests.c | 4 +- gdb/unittests/optional/assignment/1.cc | 2 +- gdb/unittests/optional/assignment/2.cc | 2 +- gdb/unittests/optional/assignment/3.cc | 2 +- gdb/unittests/optional/assignment/4.cc | 2 +- gdb/unittests/optional/assignment/5.cc | 2 +- gdb/unittests/optional/assignment/6.cc | 2 +- gdb/unittests/optional/assignment/7.cc | 2 +- gdb/unittests/optional/cons/copy.cc | 2 +- gdb/unittests/optional/cons/default.cc | 2 +- gdb/unittests/optional/cons/move.cc | 2 +- gdb/unittests/optional/cons/value.cc | 2 +- gdb/unittests/optional/in_place.cc | 2 +- gdb/unittests/optional/observers/1.cc | 2 +- gdb/unittests/optional/observers/2.cc | 2 +- gdb/unittests/parse-connection-spec-selftests.c | 11 +- gdb/unittests/ptid-selftests.c | 2 +- gdb/unittests/rsp-low-selftests.c | 4 +- gdb/unittests/scoped_fd-selftests.c | 4 +- gdb/unittests/scoped_mmap-selftests.c | 4 +- gdb/unittests/scoped_restore-selftests.c | 4 +- gdb/unittests/string_view-selftests.c | 10 +- gdb/unittests/style-selftests.c | 109 + gdb/unittests/tracepoint-selftests.c | 4 +- gdb/unittests/unpack-selftests.c | 4 +- gdb/unittests/utils-selftests.c | 4 +- gdb/unittests/xml-utils-selftests.c | 6 +- gdb/unwind_stop_reasons.def | 2 +- gdb/user-regs.c | 2 +- gdb/user-regs.h | 2 +- gdb/utils.c | 391 +- gdb/utils.h | 39 +- gdb/v850-tdep.c | 6 +- gdb/valarith.c | 57 +- gdb/valops.c | 405 +- gdb/valprint.c | 8 +- gdb/valprint.h | 2 +- gdb/value.c | 40 +- gdb/value.h | 9 +- gdb/varobj-iter.h | 7 +- gdb/varobj.c | 15 +- gdb/varobj.h | 4 +- gdb/vax-bsd-nat.c | 2 +- gdb/vax-nbsd-tdep.c | 2 +- gdb/vax-tdep.c | 7 +- gdb/vax-tdep.h | 2 +- gdb/version.in | 2 +- gdb/warning.m4 | 2 +- gdb/windows-nat.c | 130 +- gdb/windows-nat.h | 2 +- gdb/windows-tdep.c | 13 +- gdb/windows-tdep.h | 2 +- gdb/x86-bsd-nat.c | 16 +- gdb/x86-bsd-nat.h | 2 +- gdb/x86-linux-nat.c | 6 +- gdb/x86-linux-nat.h | 2 +- gdb/x86-nat.c | 2 +- gdb/x86-nat.h | 2 +- gdb/x86-tdep.c | 2 +- gdb/x86-tdep.h | 2 +- gdb/xcoffread.c | 62 +- gdb/xcoffread.h | 8 +- gdb/xml-support.c | 4 +- gdb/xml-support.h | 6 +- gdb/xml-syscall.c | 112 +- gdb/xml-syscall.h | 22 +- gdb/xml-tdesc.c | 15 +- gdb/xml-tdesc.h | 2 +- gdb/xstormy16-tdep.c | 11 +- gdb/xtensa-config.c | 2 +- gdb/xtensa-linux-nat.c | 4 +- gdb/xtensa-linux-tdep.c | 10 +- gdb/xtensa-tdep.c | 20 +- gdb/xtensa-tdep.h | 5 +- gdb/xtensa-xtregs.c | 2 +- gdb/yy-remap.h | 11 +- gold/ChangeLog | 678 +- gold/ChangeLog-2018 | 785 + gold/Makefile.am | 77 +- gold/Makefile.in | 121 +- gold/NEWS | 2 +- gold/README | 2 +- gold/aarch64-reloc-property.cc | 2 +- gold/aarch64-reloc-property.h | 2 +- gold/aarch64-reloc.def | 2 +- gold/aarch64.cc | 13 +- gold/archive.cc | 15 +- gold/archive.h | 2 +- gold/arm-reloc-property.cc | 2 +- gold/arm-reloc-property.h | 2 +- gold/arm-reloc.def | 2 +- gold/arm.cc | 2 +- gold/attributes.cc | 2 +- gold/attributes.h | 2 +- gold/binary.cc | 2 +- gold/binary.h | 2 +- gold/common.cc | 2 +- gold/common.h | 2 +- gold/compressed_output.cc | 2 +- gold/compressed_output.h | 2 +- gold/config.in | 6 + gold/configure | 14 +- gold/configure.ac | 6 +- gold/configure.tgt | 2 +- gold/copy-relocs.cc | 2 +- gold/copy-relocs.h | 2 +- gold/cref.cc | 2 +- gold/cref.h | 2 +- gold/debug.h | 2 +- gold/defstd.cc | 2 +- gold/defstd.h | 2 +- gold/descriptors.cc | 2 +- gold/descriptors.h | 2 +- gold/dirsearch.cc | 2 +- gold/dirsearch.h | 2 +- gold/dwarf_reader.cc | 2 +- gold/dwarf_reader.h | 2 +- gold/dwp.cc | 4 +- gold/dwp.h | 2 +- gold/dynobj.cc | 2 +- gold/dynobj.h | 2 +- gold/ehframe.cc | 2 +- gold/ehframe.h | 2 +- gold/errors.cc | 2 +- gold/errors.h | 2 +- gold/expression.cc | 2 +- gold/ffsll.c | 2 +- gold/fileread.cc | 2 +- gold/fileread.h | 2 +- gold/freebsd.h | 2 +- gold/ftruncate.c | 2 +- gold/gc.cc | 2 +- gold/gc.h | 2 +- gold/gdb-index.cc | 2 +- gold/gdb-index.h | 2 +- gold/gold-threads.cc | 2 +- gold/gold-threads.h | 2 +- gold/gold.cc | 2 +- gold/gold.h | 2 +- gold/i386.cc | 2 +- gold/icf.cc | 2 +- gold/icf.h | 2 +- gold/incremental-dump.cc | 2 +- gold/incremental.cc | 2 +- gold/incremental.h | 2 +- gold/int_encoding.cc | 2 +- gold/int_encoding.h | 2 +- gold/layout.cc | 2 +- gold/layout.h | 2 +- gold/main.cc | 2 +- gold/mapfile.cc | 2 +- gold/mapfile.h | 2 +- gold/merge.cc | 10 +- gold/merge.h | 2 +- gold/mips.cc | 2 +- gold/mremap.c | 2 +- gold/nacl.cc | 2 +- gold/nacl.h | 2 +- gold/object.cc | 13 +- gold/object.h | 10 +- gold/options.cc | 2 +- gold/options.h | 2 +- gold/output.cc | 13 +- gold/output.h | 2 +- gold/parameters.cc | 2 +- gold/parameters.h | 2 +- gold/plugin.cc | 16 +- gold/plugin.h | 2 +- gold/po/Make-in | 2 +- gold/po/fr.po | 559 +- gold/po/gold.pot | 498 +- gold/po/uk.po | 507 +- gold/powerpc.cc | 2 +- gold/pread.c | 2 +- gold/readsyms.cc | 2 +- gold/readsyms.h | 2 +- gold/reduced_debug_output.cc | 2 +- gold/reduced_debug_output.h | 2 +- gold/reloc-types.h | 2 +- gold/reloc.cc | 2 +- gold/reloc.h | 2 +- gold/resolve.cc | 2 +- gold/s390.cc | 2 +- gold/script-c.h | 2 +- gold/script-sections.cc | 2 +- gold/script-sections.h | 2 +- gold/script.cc | 2 +- gold/script.h | 2 +- gold/sparc.cc | 2 +- gold/stringpool.cc | 2 +- gold/stringpool.h | 2 +- gold/symtab.cc | 2 +- gold/symtab.h | 4 +- gold/system.h | 2 +- gold/target-reloc.h | 2 +- gold/target-select.cc | 2 +- gold/target-select.h | 2 +- gold/target.cc | 2 +- gold/target.h | 2 +- gold/testsuite/Makefile.am | 812 +- gold/testsuite/Makefile.in | 966 +- gold/testsuite/aarch64_pr23870_bar.c | 6 + gold/testsuite/aarch64_pr23870_foo.c | 6 + gold/testsuite/aarch64_pr23870_main.S | 15 + gold/testsuite/aarch64_reloc_none.sh | 2 +- gold/testsuite/aarch64_relocs.sh | 2 +- gold/testsuite/aarch64_tlsdesc.sh | 2 +- gold/testsuite/arm_abs_global.sh | 2 +- gold/testsuite/arm_attr_merge.sh | 2 +- gold/testsuite/arm_branch_in_range.sh | 2 +- gold/testsuite/arm_branch_out_of_range.sh | 2 +- gold/testsuite/arm_branch_range.t | 2 +- gold/testsuite/arm_cortex_a8.sh | 2 +- gold/testsuite/arm_exidx_test.sh | 2 +- gold/testsuite/arm_farcall_arm_arm.sh | 2 +- gold/testsuite/arm_farcall_arm_arm_be8.sh | 2 +- gold/testsuite/arm_farcall_arm_thumb.sh | 2 +- gold/testsuite/arm_farcall_thumb_arm.sh | 2 +- gold/testsuite/arm_farcall_thumb_thumb.sh | 2 +- gold/testsuite/arm_farcall_thumb_thumb_be8.sh | 2 +- gold/testsuite/arm_fix_1176.sh | 2 +- gold/testsuite/arm_fix_v4bx.sh | 2 +- gold/testsuite/arm_target1_abs.sh | 2 +- gold/testsuite/arm_target1_rel.sh | 2 +- gold/testsuite/arm_target2_abs.sh | 2 +- gold/testsuite/arm_target2_got_rel.sh | 2 +- gold/testsuite/arm_target2_rel.sh | 2 +- gold/testsuite/arm_thm_jump11.t | 2 +- gold/testsuite/arm_thm_jump8.t | 2 +- gold/testsuite/arm_unaligned_reloc.sh | 2 +- gold/testsuite/basic_test.cc | 2 +- gold/testsuite/binary_test.cc | 2 +- gold/testsuite/binary_unittest.cc | 2 +- gold/testsuite/bnd_ifunc_1.sh | 2 +- gold/testsuite/bnd_ifunc_2.sh | 2 +- gold/testsuite/bnd_plt_1.sh | 2 +- gold/testsuite/common_test_1.c | 2 +- gold/testsuite/common_test_1_v1.c | 2 +- gold/testsuite/common_test_1_v2.c | 2 +- gold/testsuite/common_test_2.c | 2 +- gold/testsuite/common_test_3.c | 2 +- gold/testsuite/constructor_test.cc | 2 +- gold/testsuite/copy_test.cc | 2 +- gold/testsuite/copy_test_1.cc | 2 +- gold/testsuite/copy_test_2.cc | 2 +- gold/testsuite/copy_test_protected.cc | 2 +- gold/testsuite/copy_test_protected.sh | 2 +- gold/testsuite/copy_test_relro.cc | 2 +- gold/testsuite/copy_test_relro_1.cc | 2 +- gold/testsuite/copy_test_v1.cc | 2 +- gold/testsuite/debug_msg.cc | 2 +- gold/testsuite/debug_msg.sh | 2 +- gold/testsuite/defsym_test.sh | 2 +- gold/testsuite/discard_locals_relocatable_test.c | 2 +- gold/testsuite/discard_locals_test.c | 2 +- gold/testsuite/discard_locals_test.sh | 2 +- gold/testsuite/dwp_test.h | 2 +- gold/testsuite/dwp_test_1.cc | 2 +- gold/testsuite/dwp_test_1.sh | 2 +- gold/testsuite/dwp_test_1b.cc | 2 +- gold/testsuite/dwp_test_2.cc | 2 +- gold/testsuite/dwp_test_2.sh | 2 +- gold/testsuite/dwp_test_main.cc | 2 +- gold/testsuite/dyn_weak_ref.sh | 2 +- gold/testsuite/dyn_weak_ref_1.c | 2 +- gold/testsuite/dyn_weak_ref_2.c | 2 +- gold/testsuite/dynamic_list.sh | 2 +- gold/testsuite/dynamic_list_2.cc | 2 +- gold/testsuite/dynamic_list_2.t | 2 +- gold/testsuite/dynamic_list_lib1.cc | 2 +- gold/testsuite/dynamic_list_lib2.cc | 2 +- gold/testsuite/eh_test_2.sh | 2 +- gold/testsuite/ehdr_start_def.cc | 2 +- gold/testsuite/ehdr_start_test.cc | 2 +- gold/testsuite/ehdr_start_test.t | 2 +- gold/testsuite/ehdr_start_test_4.sh | 2 +- gold/testsuite/empty_command_line_test.sh | 2 +- gold/testsuite/exception_test.h | 2 +- gold/testsuite/exception_test_1.cc | 2 +- gold/testsuite/exception_test_2.cc | 2 +- gold/testsuite/exception_test_main.cc | 2 +- gold/testsuite/exclude_libs_test.sh | 2 +- gold/testsuite/export_dynamic_plugin.cc | 2 +- gold/testsuite/file_in_many_sections.c | 2 +- gold/testsuite/file_in_many_sections_test.sh | 2 +- gold/testsuite/final_layout.cc | 2 +- gold/testsuite/final_layout.sh | 2 +- gold/testsuite/gc_comdat_test.sh | 2 +- gold/testsuite/gc_comdat_test_1.cc | 2 +- gold/testsuite/gc_comdat_test_2.cc | 2 +- gold/testsuite/gc_dynamic_list_test.c | 2 +- gold/testsuite/gc_dynamic_list_test.sh | 2 +- gold/testsuite/gc_dynamic_list_test.t | 2 +- gold/testsuite/gc_orphan_section_test.cc | 2 +- gold/testsuite/gc_orphan_section_test.sh | 2 +- gold/testsuite/gc_tls_test.cc | 2 +- gold/testsuite/gc_tls_test.sh | 2 +- gold/testsuite/gdb_index_test.cc | 2 +- gold/testsuite/gdb_index_test_1.sh | 2 +- gold/testsuite/gdb_index_test_2.sh | 2 +- gold/testsuite/gdb_index_test_2_gabi.sh | 2 +- gold/testsuite/gdb_index_test_3.c | 2 +- gold/testsuite/gdb_index_test_3.sh | 2 +- gold/testsuite/gdb_index_test_4.sh | 2 +- gold/testsuite/gdb_index_test_comm.sh | 2 +- gold/testsuite/gnu_property_test.sh | 2 +- gold/testsuite/hidden_test.sh | 2 +- gold/testsuite/hidden_test_1.c | 2 +- gold/testsuite/hidden_test_main.c | 2 +- gold/testsuite/i386_mov_to_lea.sh | 2 +- gold/testsuite/icf_keep_unique_test.cc | 2 +- gold/testsuite/icf_keep_unique_test.sh | 2 +- gold/testsuite/icf_preemptible_functions_test.cc | 2 +- gold/testsuite/icf_preemptible_functions_test.sh | 2 +- gold/testsuite/icf_safe_pie_test.sh | 2 +- gold/testsuite/icf_safe_so_test.cc | 2 +- gold/testsuite/icf_safe_so_test.sh | 56 +- gold/testsuite/icf_safe_test.cc | 2 +- gold/testsuite/icf_safe_test.sh | 2 +- gold/testsuite/icf_sht_rel_addend_test.sh | 2 +- gold/testsuite/icf_sht_rel_addend_test_1.cc | 2 +- gold/testsuite/icf_sht_rel_addend_test_2.cc | 2 +- gold/testsuite/icf_string_merge_test.cc | 2 +- gold/testsuite/icf_string_merge_test.sh | 2 +- gold/testsuite/icf_test.cc | 2 +- gold/testsuite/icf_test.sh | 2 +- .../testsuite/icf_virtual_function_folding_test.cc | 2 +- gold/testsuite/ifuncmod1.sh | 2 +- gold/testsuite/incr_comdat_test_1.cc | 2 +- gold/testsuite/incr_comdat_test_2_v1.cc | 2 +- gold/testsuite/incr_comdat_test_2_v2.cc | 2 +- gold/testsuite/incr_comdat_test_2_v3.cc | 2 +- gold/testsuite/incremental_test.sh | 4 +- gold/testsuite/incremental_test_1.c | 2 +- gold/testsuite/incremental_test_2.c | 2 +- gold/testsuite/initpri1.c | 2 +- gold/testsuite/initpri2.c | 2 +- gold/testsuite/initpri3.c | 2 +- gold/testsuite/justsyms.t | 2 +- gold/testsuite/justsyms_1.cc | 2 +- gold/testsuite/justsyms_2.cc | 2 +- gold/testsuite/justsyms_exec.c | 6 +- gold/testsuite/justsyms_lib.c | 2 +- gold/testsuite/keep_text_section_prefix.cc | 2 +- gold/testsuite/keep_text_section_prefix.sh | 2 +- gold/testsuite/large.c | 2 +- gold/testsuite/large_symbol_alignment.cc | 2 +- gold/testsuite/leb128_unittest.cc | 2 +- gold/testsuite/many_sections_test.cc | 2 +- gold/testsuite/memory_test.sh | 2 +- gold/testsuite/merge_string_literals.sh | 2 +- gold/testsuite/merge_string_literals_1.cc | 2 +- gold/testsuite/merge_string_literals_2.cc | 2 +- gold/testsuite/missing_key_func.cc | 2 +- gold/testsuite/missing_key_func.sh | 2 +- gold/testsuite/no_version_test.c | 2 +- gold/testsuite/no_version_test.sh | 2 +- gold/testsuite/object_unittest.cc | 2 +- gold/testsuite/overflow_unittest.cc | 2 +- gold/testsuite/pie_copyrelocs_shared_test.cc | 2 +- gold/testsuite/pie_copyrelocs_test.cc | 2 +- gold/testsuite/plugin_common_test_1.c | 2 +- gold/testsuite/plugin_common_test_2.c | 2 +- gold/testsuite/plugin_final_layout.cc | 2 +- gold/testsuite/plugin_final_layout.sh | 2 +- gold/testsuite/plugin_layout_with_alignment.c | 2 +- gold/testsuite/plugin_layout_with_alignment.sh | 2 +- gold/testsuite/plugin_new_section_layout.c | 2 +- gold/testsuite/plugin_pr22868.sh | 2 +- gold/testsuite/plugin_pr22868_a.c | 2 +- gold/testsuite/plugin_pr22868_b.c | 2 +- gold/testsuite/plugin_section_alignment.cc | 2 +- gold/testsuite/plugin_section_order.c | 2 +- gold/testsuite/plugin_test.c | 2 +- gold/testsuite/plugin_test_1.sh | 2 +- gold/testsuite/plugin_test_10.sh | 2 +- gold/testsuite/plugin_test_11.sh | 2 +- gold/testsuite/plugin_test_12.sh | 2 +- gold/testsuite/plugin_test_2.sh | 2 +- gold/testsuite/plugin_test_3.sh | 2 +- gold/testsuite/plugin_test_4.sh | 2 +- gold/testsuite/plugin_test_6.sh | 2 +- gold/testsuite/plugin_test_7.sh | 2 +- gold/testsuite/plugin_test_7_1.c | 2 +- gold/testsuite/plugin_test_7_2.c | 2 +- gold/testsuite/plugin_test_9b_elf.cc | 2 +- gold/testsuite/plugin_test_9b_ir.cc | 2 +- gold/testsuite/plugin_test_defsym.c | 2 +- gold/testsuite/plugin_test_defsym.sh | 2 +- gold/testsuite/plugin_test_start_lib.sh | 2 +- gold/testsuite/plugin_test_tls.sh | 2 +- gold/testsuite/plugin_test_wrap_symbols.sh | 2 +- gold/testsuite/plugin_test_wrap_symbols_1.cc | 2 +- gold/testsuite/plugin_test_wrap_symbols_2.cc | 2 +- gold/testsuite/pr12826.sh | 2 +- gold/testsuite/pr14265.sh | 2 +- gold/testsuite/pr18689.sh | 2 +- gold/testsuite/pr20717.sh | 2 +- gold/testsuite/pr20976.c | 2 +- gold/testsuite/pr21430.sh | 2 +- gold/testsuite/pr23016_1.sh | 2 +- gold/testsuite/pr23016_2.sh | 2 +- gold/testsuite/protected_1.cc | 2 +- gold/testsuite/protected_2.cc | 2 +- gold/testsuite/protected_3.cc | 2 +- gold/testsuite/protected_4.cc | 2 +- gold/testsuite/protected_main_1.cc | 2 +- gold/testsuite/protected_main_2.cc | 2 +- gold/testsuite/protected_main_3.cc | 2 +- gold/testsuite/relro_script_test.t | 2 +- gold/testsuite/relro_test.cc | 2 +- gold/testsuite/relro_test.sh | 2 +- gold/testsuite/relro_test_main.cc | 2 +- gold/testsuite/retain_symbols_file_test.sh | 2 +- gold/testsuite/script_test_1.h | 2 +- gold/testsuite/script_test_1.t | 2 +- gold/testsuite/script_test_10.sh | 2 +- gold/testsuite/script_test_10.t | 2 +- gold/testsuite/script_test_12.t | 2 +- gold/testsuite/script_test_12a.c | 2 +- gold/testsuite/script_test_12i.t | 2 +- gold/testsuite/script_test_13.sh | 2 +- gold/testsuite/script_test_14.sh | 2 +- gold/testsuite/script_test_14.t | 2 +- gold/testsuite/script_test_15a.sh | 2 +- gold/testsuite/script_test_15a.t | 2 +- gold/testsuite/script_test_15b.sh | 2 +- gold/testsuite/script_test_15b.t | 2 +- gold/testsuite/script_test_15c.sh | 2 +- gold/testsuite/script_test_15c.t | 2 +- gold/testsuite/script_test_1a.cc | 2 +- gold/testsuite/script_test_1b.cc | 2 +- gold/testsuite/script_test_2.cc | 2 +- gold/testsuite/script_test_2.t | 2 +- gold/testsuite/script_test_2a.cc | 2 +- gold/testsuite/script_test_2b.cc | 2 +- gold/testsuite/script_test_3.sh | 2 +- gold/testsuite/script_test_3.t | 2 +- gold/testsuite/script_test_4.sh | 2 +- gold/testsuite/script_test_4.t | 2 +- gold/testsuite/script_test_5.cc | 2 +- gold/testsuite/script_test_5.sh | 2 +- gold/testsuite/script_test_5.t | 2 +- gold/testsuite/script_test_6.sh | 2 +- gold/testsuite/script_test_6.t | 2 +- gold/testsuite/script_test_7.sh | 2 +- gold/testsuite/script_test_7.t | 2 +- gold/testsuite/script_test_8.sh | 2 +- gold/testsuite/script_test_9.cc | 2 +- gold/testsuite/script_test_9.sh | 2 +- gold/testsuite/searched_file_test.cc | 2 +- gold/testsuite/searched_file_test_lib.cc | 2 +- gold/testsuite/section_sorting_name.cc | 2 +- gold/testsuite/section_sorting_name.sh | 2 +- gold/testsuite/split_i386.sh | 2 +- gold/testsuite/split_s390.sh | 2 +- gold/testsuite/split_x32.sh | 2 +- gold/testsuite/split_x86_64.sh | 2 +- gold/testsuite/start_lib_test_1.c | 2 +- gold/testsuite/start_lib_test_2.c | 2 +- gold/testsuite/start_lib_test_3.c | 2 +- gold/testsuite/start_lib_test_main.c | 2 +- gold/testsuite/strong_ref_weak_def.sh | 2 +- gold/testsuite/strong_ref_weak_def_1.c | 2 +- gold/testsuite/strong_ref_weak_def_2.c | 2 +- gold/testsuite/test.cc | 2 +- gold/testsuite/test.h | 2 +- gold/testsuite/testfile.cc | 2 +- gold/testsuite/testfile.h | 2 +- gold/testsuite/testmain.cc | 2 +- gold/testsuite/text_section_grouping.cc | 2 +- gold/testsuite/text_section_grouping.sh | 2 +- gold/testsuite/text_unlikely_segment.cc | 2 +- gold/testsuite/text_unlikely_segment.sh | 2 +- gold/testsuite/thin_archive_main.cc | 2 +- gold/testsuite/thin_archive_test_1.cc | 2 +- gold/testsuite/thin_archive_test_2.cc | 2 +- gold/testsuite/thin_archive_test_3.cc | 2 +- gold/testsuite/thin_archive_test_4.cc | 2 +- gold/testsuite/thumb2_branch_range.t | 2 +- gold/testsuite/thumb_branch_range.t | 2 +- gold/testsuite/tls_pie_test.sh | 2 +- gold/testsuite/tls_test.cc | 2 +- gold/testsuite/tls_test.h | 2 +- gold/testsuite/tls_test_c.c | 2 +- gold/testsuite/tls_test_file2.cc | 2 +- gold/testsuite/tls_test_main.cc | 2 +- gold/testsuite/two_file_shared.sh | 2 +- gold/testsuite/two_file_test.h | 2 +- gold/testsuite/two_file_test_1.cc | 2 +- gold/testsuite/two_file_test_1_v1.cc | 2 +- gold/testsuite/two_file_test_1b.cc | 2 +- gold/testsuite/two_file_test_1b_v1.cc | 2 +- gold/testsuite/two_file_test_2.cc | 2 +- gold/testsuite/two_file_test_2_tls.cc | 2 +- gold/testsuite/two_file_test_2_v1.cc | 2 +- gold/testsuite/two_file_test_main.cc | 2 +- gold/testsuite/two_file_test_tls.cc | 2 +- gold/testsuite/undef_symbol.cc | 2 +- gold/testsuite/undef_symbol.sh | 2 +- gold/testsuite/undef_symbol_main.cc | 2 +- gold/testsuite/ver_matching_def.cc | 2 +- gold/testsuite/ver_matching_test.sh | 2 +- gold/testsuite/ver_test.h | 2 +- gold/testsuite/ver_test_1.cc | 2 +- gold/testsuite/ver_test_1.sh | 2 +- gold/testsuite/ver_test_10.script | 2 +- gold/testsuite/ver_test_10.sh | 2 +- gold/testsuite/ver_test_13.sh | 2 +- gold/testsuite/ver_test_14.sh | 10 +- gold/testsuite/ver_test_2.cc | 2 +- gold/testsuite/ver_test_2.script | 2 +- gold/testsuite/ver_test_2.sh | 2 +- gold/testsuite/ver_test_3.cc | 2 +- gold/testsuite/ver_test_4.cc | 2 +- gold/testsuite/ver_test_4.script | 2 +- gold/testsuite/ver_test_4.sh | 2 +- gold/testsuite/ver_test_5.cc | 2 +- gold/testsuite/ver_test_5.script | 2 +- gold/testsuite/ver_test_5.sh | 2 +- gold/testsuite/ver_test_6.c | 2 +- gold/testsuite/ver_test_7.cc | 2 +- gold/testsuite/ver_test_7.sh | 2 +- gold/testsuite/ver_test_8.script | 2 +- gold/testsuite/ver_test_8.sh | 2 +- gold/testsuite/ver_test_9.cc | 2 +- gold/testsuite/ver_test_main.cc | 2 +- gold/testsuite/ver_test_main_2.cc | 2 +- gold/testsuite/ver_test_pr16504.sh | 2 +- gold/testsuite/ver_test_pr23409.sh | 2 +- gold/testsuite/weak_alias_test_1.cc | 2 +- gold/testsuite/weak_alias_test_2.cc | 2 +- gold/testsuite/weak_alias_test_3.cc | 2 +- gold/testsuite/weak_alias_test_4.cc | 2 +- gold/testsuite/weak_alias_test_5.cc | 2 +- gold/testsuite/weak_alias_test_main.cc | 2 +- gold/testsuite/weak_as_needed.sh | 2 +- gold/testsuite/weak_plt.sh | 2 +- gold/testsuite/weak_plt_main.cc | 2 +- gold/testsuite/weak_plt_shared.cc | 2 +- gold/testsuite/weak_test.cc | 2 +- gold/testsuite/weak_undef.h | 2 +- gold/testsuite/weak_undef_file1.cc | 2 +- gold/testsuite/weak_undef_file2.cc | 2 +- gold/testsuite/weak_undef_file3.cc | 2 +- gold/testsuite/weak_undef_file4.cc | 2 +- gold/testsuite/weak_undef_test.cc | 2 +- gold/testsuite/weak_undef_test_2.cc | 2 +- gold/testsuite/weak_unresolved_symbols_test.cc | 2 +- gold/testsuite/x32_overflow_pc32.sh | 2 +- gold/testsuite/x86_64_indirect_call_to_direct.sh | 2 +- gold/testsuite/x86_64_mov_to_lea.sh | 2 +- gold/testsuite/x86_64_overflow_pc32.sh | 2 +- gold/tilegx.cc | 2 +- gold/timer.cc | 2 +- gold/timer.h | 2 +- gold/tls.h | 2 +- gold/token.h | 2 +- gold/version.cc | 4 +- gold/workqueue-internal.h | 2 +- gold/workqueue-threads.cc | 2 +- gold/workqueue.cc | 2 +- gold/workqueue.h | 2 +- gold/x86_64.cc | 2 +- gold/yyscript.y | 2 +- gprof/ChangeLog | 83 +- gprof/{ChangeLog => ChangeLog-2018} | 0 gprof/MAINTAINERS | 2 +- gprof/Makefile.am | 2 +- gprof/Makefile.in | 2 +- gprof/README | 2 +- gprof/TODO | 2 +- gprof/basic_blocks.c | 2 +- gprof/basic_blocks.h | 2 +- gprof/bb_exit_func.c | 2 +- gprof/bbconv.pl | 2 +- gprof/bsd_callg_bl.m | 2 +- gprof/call_graph.c | 2 +- gprof/call_graph.h | 2 +- gprof/cg_arcs.h | 2 +- gprof/cg_dfn.h | 2 +- gprof/cg_print.c | 2 +- gprof/cg_print.h | 2 +- gprof/configure | 30 +- gprof/configure.ac | 2 +- gprof/corefile.c | 2 +- gprof/corefile.h | 2 +- gprof/flat_bl.m | 2 +- gprof/fsf_callg_bl.m | 2 +- gprof/gmon_io.c | 2 +- gprof/gmon_io.h | 2 +- gprof/gmon_out.h | 2 +- gprof/gprof.texi | 6 +- gprof/hertz.h | 2 +- gprof/hist.c | 2 +- gprof/hist.h | 2 +- gprof/po/Make-in | 2 +- gprof/po/gprof.pot | 2 +- gprof/po/tr.po | 40 +- gprof/search_list.c | 2 +- gprof/search_list.h | 2 +- gprof/source.c | 2 +- gprof/source.h | 2 +- gprof/sym_ids.c | 2 +- gprof/sym_ids.h | 2 +- gprof/symtab.c | 6 +- gprof/symtab.h | 2 +- gprof/utils.h | 2 +- include/ChangeLog | 772 +- include/ChangeLog-2018 | 890 + include/MAINTAINERS | 2 +- include/alloca-conf.h | 2 +- include/ansidecl.h | 2 +- include/aout/aout64.h | 2 +- include/aout/ar.h | 2 +- include/aout/encap.h | 2 +- include/aout/host.h | 2 +- include/aout/hp.h | 2 +- include/aout/hppa.h | 2 +- include/aout/ranlib.h | 2 +- include/aout/stab.def | 2 +- include/aout/stab_gnu.h | 2 +- include/aout/sun4.h | 2 +- include/bfdlink.h | 5 +- include/binary-io.h | 2 +- include/bout.h | 2 +- include/cgen/basic-modes.h | 2 +- include/cgen/basic-ops.h | 2 +- include/cgen/bitset.h | 2 +- include/coff/alpha.h | 2 +- include/coff/arm.h | 2 +- include/coff/ecoff.h | 4 +- include/coff/external.h | 2 +- include/coff/go32exe.h | 2 +- include/coff/i386.h | 2 +- include/coff/ia64.h | 2 +- include/coff/internal.h | 44 +- include/coff/mcore.h | 2 +- include/coff/mips.h | 2 +- include/coff/msdos.h | 2 +- include/coff/pe.h | 2 +- include/coff/powerpc.h | 2 +- include/coff/rs6000.h | 2 +- include/coff/rs6k64.h | 2 +- include/coff/sh.h | 2 +- include/coff/ti.h | 2 +- include/coff/tic30.h | 2 +- include/coff/tic4x.h | 2 +- include/coff/tic54x.h | 2 +- include/coff/tic80.h | 2 +- include/coff/x86_64.h | 2 +- include/coff/xcoff.h | 2 +- include/coff/z80.h | 2 +- include/coff/z8k.h | 2 +- include/demangle.h | 51 +- include/diagnostics.h | 2 +- include/dis-asm.h | 10 +- include/dwarf2.def | 2 +- include/dwarf2.h | 2 +- include/dyn-string.h | 2 +- include/elf/aarch64.h | 5 +- include/elf/alpha.h | 2 +- include/elf/arc-cpu.def | 2 +- include/elf/arc-reloc.def | 2 +- include/elf/arc.h | 2 +- include/elf/arm.h | 2 +- include/elf/avr.h | 2 +- include/elf/bfin.h | 2 +- include/elf/common.h | 14 +- include/elf/cr16.h | 2 +- include/elf/cr16c.h | 2 +- include/elf/cris.h | 2 +- include/elf/crx.h | 2 +- include/elf/csky.h | 2 +- include/elf/d10v.h | 2 +- include/elf/d30v.h | 2 +- include/elf/dlx.h | 2 +- include/elf/dwarf.h | 2 +- include/elf/epiphany.h | 2 +- include/elf/external.h | 2 +- include/elf/fr30.h | 2 +- include/elf/frv.h | 2 +- include/elf/ft32.h | 2 +- include/elf/h8.h | 2 +- include/elf/hppa.h | 2 +- include/elf/i370.h | 2 +- include/elf/i386.h | 2 +- include/elf/i860.h | 2 +- include/elf/i960.h | 2 +- include/elf/ia64.h | 2 +- include/elf/internal.h | 2 +- include/elf/ip2k.h | 2 +- include/elf/iq2000.h | 2 +- include/elf/lm32.h | 2 +- include/elf/m32c.h | 2 +- include/elf/m32r.h | 2 +- include/elf/m68hc11.h | 2 +- include/elf/m68k.h | 2 +- include/elf/mcore.h | 2 +- include/elf/mep.h | 2 +- include/elf/metag.h | 2 +- include/elf/microblaze.h | 2 +- include/elf/mips.h | 2 +- include/elf/mmix.h | 2 +- include/elf/mn10200.h | 2 +- include/elf/mn10300.h | 2 +- include/elf/moxie.h | 2 +- include/elf/msp430.h | 2 +- include/elf/mt.h | 2 +- include/elf/nds32.h | 2 +- include/elf/nfp.h | 2 +- include/elf/nios2.h | 2 +- include/elf/or1k.h | 2 +- include/elf/pj.h | 2 +- include/elf/ppc.h | 2 +- include/elf/ppc64.h | 2 +- include/elf/pru.h | 2 +- include/elf/reloc-macros.h | 2 +- include/elf/riscv.h | 18 +- include/elf/rl78.h | 2 +- include/elf/rx.h | 5 +- include/elf/s12z.h | 2 +- include/elf/s390.h | 2 +- include/elf/score.h | 2 +- include/elf/sh.h | 2 +- include/elf/sparc.h | 2 +- include/elf/spu.h | 2 +- include/elf/tic6x-attrs.h | 2 +- include/elf/tic6x.h | 2 +- include/elf/tilegx.h | 2 +- include/elf/tilepro.h | 2 +- include/elf/v850.h | 2 +- include/elf/vax.h | 2 +- include/elf/visium.h | 2 +- include/elf/vxworks.h | 2 +- include/elf/wasm32.h | 2 +- include/elf/x86-64.h | 2 +- include/elf/xc16x.h | 2 +- include/elf/xgate.h | 2 +- include/elf/xstormy16.h | 2 +- include/elf/xtensa.h | 2 +- include/environ.h | 2 +- include/fibheap.h | 2 +- include/filenames.h | 2 +- include/floatformat.h | 2 +- include/fnmatch.h | 2 +- include/fopen-bin.h | 2 +- include/fopen-same.h | 2 +- include/fopen-vms.h | 2 +- include/gcc-c-fe.def | 2 +- include/gcc-c-interface.h | 2 +- include/gcc-cp-fe.def | 2 +- include/gcc-cp-interface.h | 2 +- include/gcc-interface.h | 2 +- include/gdb/ChangeLog | 2 +- include/gdb/callback.h | 2 +- include/gdb/fileio.h | 2 +- include/gdb/gdb-index.h | 2 +- include/gdb/remote-sim.h | 2 +- include/gdb/section-scripts.h | 2 +- include/gdb/signals.def | 2 +- include/gdb/signals.h | 2 +- include/gdb/sim-aarch64.h | 2 +- include/gdb/sim-arm.h | 2 +- include/gdb/sim-bfin.h | 2 +- include/gdb/sim-cr16.h | 2 +- include/gdb/sim-d10v.h | 2 +- include/gdb/sim-frv.h | 2 +- include/gdb/sim-ft32.h | 2 +- include/gdb/sim-h8300.h | 2 +- include/gdb/sim-lm32.h | 2 +- include/gdb/sim-m32c.h | 2 +- include/gdb/sim-ppc.h | 2 +- include/gdb/sim-rl78.h | 2 +- include/gdb/sim-rx.h | 2 +- include/gdb/sim-sh.h | 2 +- include/getopt.h | 2 +- include/hashtab.h | 2 +- include/hp-symtab.h | 2 +- include/leb128.h | 2 +- include/libiberty.h | 6 +- include/longlong.h | 2 +- include/lto-symtab.h | 2 +- include/mach-o/arm.h | 2 +- include/mach-o/arm64.h | 2 +- include/mach-o/codesign.h | 2 +- include/mach-o/external.h | 21 +- include/mach-o/loader.h | 56 +- include/mach-o/reloc.h | 2 +- include/mach-o/unwind.h | 2 +- include/mach-o/x86-64.h | 2 +- include/md5.h | 2 +- include/oasys.h | 2 +- include/objalloc.h | 2 +- include/obstack.h | 2 +- include/opcode/aarch64.h | 14 +- include/opcode/alpha.h | 2 +- include/opcode/arc-attrs.h | 2 +- include/opcode/arc-func.h | 2 +- include/opcode/arc.h | 2 +- include/opcode/arm.h | 554 +- include/opcode/avr.h | 2 +- include/opcode/bfin.h | 2 +- include/opcode/cgen.h | 2 +- include/opcode/convex.h | 2 +- include/opcode/cr16.h | 2 +- include/opcode/cris.h | 2 +- include/opcode/crx.h | 2 +- include/opcode/csky.h | 2 +- include/opcode/d10v.h | 2 +- include/opcode/d30v.h | 2 +- include/opcode/dlx.h | 2 +- include/opcode/ft32.h | 2 +- include/opcode/h8300.h | 2 +- include/opcode/hppa.h | 2 +- include/opcode/i386.h | 2 +- include/opcode/ia64.h | 2 +- include/opcode/m68hc11.h | 2 +- include/opcode/m68k.h | 2 +- include/opcode/metag.h | 2 +- include/opcode/mips.h | 2 +- include/opcode/mmix.h | 2 +- include/opcode/mn10200.h | 2 +- include/opcode/mn10300.h | 2 +- include/opcode/moxie.h | 2 +- include/opcode/msp430-decode.h | 2 +- include/opcode/msp430.h | 2 +- include/opcode/nds32.h | 2 +- include/opcode/nfp.h | 2 +- include/opcode/nios2.h | 2 +- include/opcode/nios2r1.h | 2 +- include/opcode/nios2r2.h | 2 +- include/opcode/np1.h | 2 +- include/opcode/ns32k.h | 2 +- include/opcode/pdp11.h | 2 +- include/opcode/pj.h | 2 +- include/opcode/pn.h | 2 +- include/opcode/ppc.h | 20 +- include/opcode/pru.h | 2 +- include/opcode/pyr.h | 2 +- include/opcode/riscv.h | 14 +- include/opcode/rl78.h | 2 +- include/opcode/rx.h | 34 +- include/opcode/s390.h | 3 +- include/opcode/score-datadep.h | 2 +- include/opcode/score-inst.h | 2 +- include/opcode/sparc.h | 2 +- include/opcode/spu-insns.h | 2 +- include/opcode/spu.h | 2 +- include/opcode/tic30.h | 2 +- include/opcode/tic4x.h | 2 +- include/opcode/tic54x.h | 2 +- include/opcode/tic6x-control-registers.h | 2 +- include/opcode/tic6x-insn-formats.h | 2 +- include/opcode/tic6x-opcode-table.h | 2 +- include/opcode/tic6x.h | 2 +- include/opcode/tic80.h | 2 +- include/opcode/tilegx.h | 2 +- include/opcode/tilepro.h | 2 +- include/opcode/v850.h | 2 +- include/opcode/vax.h | 2 +- include/opcode/visium.h | 2 +- include/opcode/wasm.h | 2 +- include/opcode/xgate.h | 2 +- include/os9k.h | 2 +- include/partition.h | 2 +- include/plugin-api.h | 4 +- include/progress.h | 2 +- include/safe-ctype.h | 2 +- include/sha1.h | 2 +- include/simple-object.h | 2 +- include/som/aout.h | 2 +- include/som/clock.h | 2 +- include/som/internal.h | 2 +- include/som/lst.h | 2 +- include/som/reloc.h | 2 +- include/sort.h | 2 +- include/splay-tree.h | 13 +- include/symcat.h | 2 +- include/timeval-utils.h | 2 +- include/vms/dcx.h | 2 +- include/vms/dmt.h | 2 +- include/vms/dsc.h | 2 +- include/vms/dst.h | 2 +- include/vms/eeom.h | 2 +- include/vms/egps.h | 2 +- include/vms/egsd.h | 2 +- include/vms/egst.h | 2 +- include/vms/egsy.h | 2 +- include/vms/eiaf.h | 2 +- include/vms/eicp.h | 2 +- include/vms/eidc.h | 2 +- include/vms/eiha.h | 2 +- include/vms/eihd.h | 2 +- include/vms/eihi.h | 2 +- include/vms/eihs.h | 2 +- include/vms/eihvn.h | 2 +- include/vms/eisd.h | 2 +- include/vms/emh.h | 2 +- include/vms/eobjrec.h | 2 +- include/vms/esdf.h | 2 +- include/vms/esdfm.h | 2 +- include/vms/esdfv.h | 2 +- include/vms/esgps.h | 2 +- include/vms/esrf.h | 2 +- include/vms/etir.h | 2 +- include/vms/internal.h | 2 +- include/vms/lbr.h | 2 +- include/vms/prt.h | 2 +- include/vms/shl.h | 2 +- include/vtv-change-permission.h | 2 +- include/xregex2.h | 2 +- include/xtensa-config.h | 2 +- include/xtensa-isa-internal.h | 2 +- include/xtensa-isa.h | 2 +- intl/ChangeLog | 8 + intl/aclocal.m4 | 4 +- intl/configure | 2 +- ld/ChangeLog | 4786 +----- ld/ChangeLog-2018 | 4760 +++++ ld/MAINTAINERS | 2 +- ld/Makefile.am | 2 +- ld/Makefile.in | 2 +- ld/NEWS | 28 +- ld/README | 2 +- ld/configure | 30 +- ld/configure.ac | 2 +- ld/configure.host | 2 +- ld/configure.tgt | 2 +- ld/deffile.h | 2 +- ld/deffilep.y | 2 +- ld/emulparams/README | 2 +- ld/emulparams/elf32lm32fd.sh | 1 + ld/emultempl/README | 2 +- ld/emultempl/aarch64elf.em | 26 +- ld/emultempl/aix.em | 2 +- ld/emultempl/alphaelf.em | 2 +- ld/emultempl/arclinux.em | 31 +- ld/emultempl/armcoff.em | 2 +- ld/emultempl/armelf.em | 2 +- ld/emultempl/avrelf.em | 2 +- ld/emultempl/beos.em | 2 +- ld/emultempl/bfin.em | 2 +- ld/emultempl/cr16elf.em | 2 +- ld/emultempl/crxelf.em | 2 +- ld/emultempl/cskyelf.em | 2 +- ld/emultempl/elf-generic.em | 2 +- ld/emultempl/elf32.em | 22 +- ld/emultempl/epiphanyelf_4x4.em | 2 +- ld/emultempl/genelf.em | 2 +- ld/emultempl/generic.em | 2 +- ld/emultempl/hppaelf.em | 2 +- ld/emultempl/ia64elf.em | 2 +- ld/emultempl/irix.em | 2 +- ld/emultempl/linux.em | 2 +- ld/emultempl/m68hc1xelf.em | 2 +- ld/emultempl/m68kelf.em | 2 +- ld/emultempl/metagelf.em | 2 +- ld/emultempl/mipself.em | 2 +- ld/emultempl/mmix-elfnmmo.em | 2 +- ld/emultempl/mmixelf.em | 2 +- ld/emultempl/mmo.em | 2 +- ld/emultempl/msp430.em | 2 +- ld/emultempl/nds32elf.em | 2 +- ld/emultempl/needrelax.em | 2 +- ld/emultempl/netbsd.em | 2 +- ld/emultempl/nios2elf.em | 2 +- ld/emultempl/pe.em | 2 +- ld/emultempl/pep.em | 2 +- ld/emultempl/ppc32elf.em | 2 +- ld/emultempl/ppc64elf.em | 2 +- ld/emultempl/pruelf.em | 2 +- ld/emultempl/riscvelf.em | 2 +- ld/emultempl/rxelf.em | 2 +- ld/emultempl/s390.em | 2 +- ld/emultempl/scoreelf.em | 2 +- ld/emultempl/solaris2.em | 2 +- ld/emultempl/spu_ovl.S | 2 +- ld/emultempl/spuelf.em | 2 +- ld/emultempl/tic6xdsbt.em | 2 +- ld/emultempl/ticoff.em | 2 +- ld/emultempl/v850elf.em | 2 +- ld/emultempl/vanilla.em | 2 +- ld/emultempl/vms.em | 2 +- ld/emultempl/vxworks.em | 2 +- ld/emultempl/xtensaelf.em | 2 +- ld/emultempl/z80.em | 2 +- ld/gen-doc.texi | 2 +- ld/genscripts.sh | 2 +- ld/h8-doc.texi | 2 +- ld/ld.h | 2 +- ld/ld.texi | 73 +- ld/ldbuildid.c | 2 +- ld/ldbuildid.h | 2 +- ld/ldcref.c | 2 +- ld/ldctor.c | 2 +- ld/ldctor.h | 2 +- ld/ldemul.c | 2 +- ld/ldemul.h | 2 +- ld/ldexp.c | 130 +- ld/ldexp.h | 6 +- ld/ldfile.c | 2 +- ld/ldfile.h | 2 +- ld/ldgram.y | 2 +- ld/ldint.texi | 6 +- ld/ldlang.c | 44 +- ld/ldlang.h | 12 +- ld/ldlex-wrapper.c | 2 +- ld/ldlex.h | 2 +- ld/ldlex.l | 2 +- ld/ldmain.c | 9 +- ld/ldmain.h | 2 +- ld/ldmisc.c | 2 +- ld/ldmisc.h | 2 +- ld/ldver.c | 4 +- ld/ldver.h | 2 +- ld/ldwrite.c | 2 +- ld/ldwrite.h | 2 +- ld/lexsup.c | 2 +- ld/mri.c | 2 +- ld/mri.h | 2 +- ld/pe-dll.c | 2 +- ld/pe-dll.h | 2 +- ld/pep-dll.c | 2 +- ld/pep-dll.h | 2 +- ld/plugin.c | 75 +- ld/plugin.h | 2 +- ld/po/Make-in | 2 +- ld/po/bg.po | 4162 ++-- ld/po/de.po | 3586 ++-- ld/po/es.po | 620 +- ld/po/fr.po | 4249 +++--- ld/po/ld.pot | 4178 +++-- ld/po/pt_BR.po | 4280 +++--- ld/po/uk.po | 4235 +++--- ld/scripttempl/DWARF.sc | 2 +- ld/scripttempl/README | 2 +- ld/scripttempl/aix.sc | 4 +- ld/scripttempl/alpha.sc | 8 +- ld/scripttempl/alphavms.sc | 4 +- ld/scripttempl/aout.sc | 4 +- ld/scripttempl/arclinux.sc | 4 +- ld/scripttempl/armbpabi.sc | 8 +- ld/scripttempl/avr.sc | 4 +- ld/scripttempl/crisaout.sc | 8 +- ld/scripttempl/dlx.sc | 4 +- ld/scripttempl/elf.sc | 4 +- ld/scripttempl/elf32cr16.sc | 8 +- ld/scripttempl/elf32cr16c.sc | 4 +- ld/scripttempl/elf32crx.sc | 8 +- ld/scripttempl/elf32msp430.sc | 4 +- ld/scripttempl/elf32msp430_3.sc | 4 +- ld/scripttempl/elf32xc16x.sc | 9 +- ld/scripttempl/elf32xc16xl.sc | 7 +- ld/scripttempl/elf32xc16xs.sc | 7 +- ld/scripttempl/elf64hppa.sc | 8 +- ld/scripttempl/elf_chaos.sc | 12 +- ld/scripttempl/elfarc.sc | 4 +- ld/scripttempl/elfarcv2.sc | 4 +- ld/scripttempl/elfd10v.sc | 4 +- ld/scripttempl/elfd30v.sc | 9 +- ld/scripttempl/elfm68hc11.sc | 8 +- ld/scripttempl/elfm68hc12.sc | 8 +- ld/scripttempl/elfm9s12z.sc | 8 +- ld/scripttempl/elfmicroblaze.sc | 8 +- ld/scripttempl/elfxgate.sc | 8 +- ld/scripttempl/elfxtensa.sc | 8 +- ld/scripttempl/epiphany_4x4.sc | 8 +- ld/scripttempl/ft32.sc | 4 +- ld/scripttempl/hppaelf.sc | 4 +- ld/scripttempl/i386beos.sc | 8 +- ld/scripttempl/i386go32.sc | 4 +- ld/scripttempl/i386msdos.sc | 4 +- ld/scripttempl/ia64vms.sc | 4 +- ld/scripttempl/ip2k.sc | 4 +- ld/scripttempl/iq2000.sc | 8 +- ld/scripttempl/mcorepe.sc | 8 +- ld/scripttempl/mep.sc | 8 +- ld/scripttempl/mips.sc | 16 +- ld/scripttempl/mipsbsd.sc | 4 +- ld/scripttempl/mmo.sc | 4 +- ld/scripttempl/moxie.sc | 10 +- ld/scripttempl/nds32elf.sc | 4 +- ld/scripttempl/pe.sc | 9 +- ld/scripttempl/pep.sc | 9 +- ld/scripttempl/pj.sc | 4 +- ld/scripttempl/ppcpe.sc | 13 +- ld/scripttempl/sh.sc | 4 +- ld/scripttempl/tic30aout.sc | 4 +- ld/scripttempl/tic30coff.sc | 4 +- ld/scripttempl/tic4xcoff.sc | 8 +- ld/scripttempl/tic54xcoff.sc | 4 +- ld/scripttempl/tic80coff.sc | 8 +- ld/scripttempl/v850.sc | 8 +- ld/scripttempl/v850_rh850.sc | 8 +- ld/scripttempl/vanilla.sc | 2 +- ld/scripttempl/visium.sc | 6 +- ld/scripttempl/xstormy16.sc | 8 +- ld/scripttempl/z80.sc | 4 +- ld/scripttempl/z8000.sc | 4 +- ld/sysdep.h | 2 +- ld/testplug.c | 2 +- ld/testplug2.c | 2 +- ld/testplug3.c | 2 +- ld/testplug4.c | 2 +- ld/testsuite/config/default.exp | 2 +- ld/testsuite/ld-aarch64/aarch64-elf.exp | 24 +- ld/testsuite/ld-aarch64/bti-pac-plt-1.d | 34 + ld/testsuite/ld-aarch64/bti-pac-plt-2.d | 36 + ld/testsuite/ld-aarch64/bti-plt-1.d | 32 + ld/testsuite/ld-aarch64/bti-plt-1.s | 40 + ld/testsuite/ld-aarch64/bti-plt-2.d | 11 + ld/testsuite/ld-aarch64/bti-plt-2.s | 21 + ld/testsuite/ld-aarch64/bti-plt-3.d | 34 + ld/testsuite/ld-aarch64/bti-plt-4.d | 10 + ld/testsuite/ld-aarch64/bti-plt-5.d | 28 + ld/testsuite/ld-aarch64/bti-plt-6.d | 15 + ld/testsuite/ld-aarch64/bti-plt-7.d | 16 + ld/testsuite/ld-aarch64/bti-plt-so.s | 41 + ld/testsuite/ld-aarch64/bti-plt.ld | 14 + ld/testsuite/ld-aarch64/bti-warn.d | 16 + ld/testsuite/ld-aarch64/erratum843419_tls_ie.d | 49 + ld/testsuite/ld-aarch64/erratum843419_tls_ie.s | 43 + ld/testsuite/ld-aarch64/pac-plt-1.d | 33 + ld/testsuite/ld-aarch64/pac-plt-2.d | 24 + ld/testsuite/ld-aarch64/property-bti-pac1.d | 11 + ld/testsuite/ld-aarch64/property-bti-pac1.s | 37 + ld/testsuite/ld-aarch64/property-bti-pac2.d | 12 + ld/testsuite/ld-aarch64/property-bti-pac2.s | 50 + ld/testsuite/ld-aarch64/property-bti-pac3.d | 12 + ld/testsuite/ld-alpha/alpha.exp | 2 +- ld/testsuite/ld-arc/arc.exp | 2 +- ld/testsuite/ld-arc/arclinux-nps.d | 2 +- ld/testsuite/ld-arc/tls_gd-01.d | 4 +- ld/testsuite/ld-arm/arm-elf.exp | 2 +- ld/testsuite/ld-arm/export-class.exp | 2 +- ld/testsuite/ld-arm/jump-reloc-veneers-cond-long.d | 2 +- ld/testsuite/ld-arm/jump-reloc-veneers-long.d | 5 +- ld/testsuite/ld-auto-import/auto-import.exp | 2 +- ld/testsuite/ld-avr/avr.exp | 2 +- ld/testsuite/ld-bootstrap/bootstrap.exp | 2 +- ld/testsuite/ld-cdtest/cdtest.exp | 2 +- ld/testsuite/ld-checks/checks.exp | 2 +- ld/testsuite/ld-cris/cris.exp | 2 +- ld/testsuite/ld-crx/crx.exp | 2 +- ld/testsuite/ld-cygwin/exe-export.exp | 2 +- ld/testsuite/ld-d10v/d10v.exp | 2 +- ld/testsuite/ld-discard/discard.exp | 2 +- ld/testsuite/ld-elf/audit.exp | 2 +- ld/testsuite/ld-elf/binutils.exp | 2 +- ld/testsuite/ld-elf/comm-data.exp | 2 +- ld/testsuite/ld-elf/compress.exp | 2 +- ld/testsuite/ld-elf/compress1.s | 2 +- ld/testsuite/ld-elf/dwarf.exp | 2 +- ld/testsuite/ld-elf/eh-group.exp | 2 +- ld/testsuite/ld-elf/elf.exp | 49 +- ld/testsuite/ld-elf/exclude.exp | 2 +- ld/testsuite/ld-elf/export-class.exp | 2 +- ld/testsuite/ld-elf/fini2.s | 2 +- ld/testsuite/ld-elf/fini3.s | 2 +- ld/testsuite/ld-elf/finin.s | 2 +- ld/testsuite/ld-elf/frame.exp | 2 +- ld/testsuite/ld-elf/indirect.exp | 2 +- ld/testsuite/ld-elf/init2.s | 2 +- ld/testsuite/ld-elf/init3.s | 2 +- ld/testsuite/ld-elf/initn.s | 2 +- ld/testsuite/ld-elf/linux-x86.exp | 2 +- ld/testsuite/ld-elf/merge.d | 8 +- ld/testsuite/ld-elf/notes.exp | 2 +- ld/testsuite/ld-elf/pr14156a.d | 1 - ld/testsuite/ld-elf/pr14156b.d | 1 - ld/testsuite/ld-elf/pr21884.d | 2 +- ld/testsuite/ld-elf/pr22319.d | 2 - ld/testsuite/ld-elf/pr23900-1-32.rd | 14 + ld/testsuite/ld-elf/pr23900-1-64.rd | 14 + ld/testsuite/ld-elf/pr23900-1.d | 8 + ld/testsuite/ld-elf/pr23900-1.s | 30 + ld/testsuite/ld-elf/pr23900-2.s | 32 + ld/testsuite/ld-elf/pr23900-2a.d | 9 + ld/testsuite/ld-elf/pr23900-2b.d | 9 + ld/testsuite/ld-elf/provide-hidden.exp | 2 +- ld/testsuite/ld-elf/readelf.exp | 2 +- ld/testsuite/ld-elf/sec-to-seg.exp | 2 +- ld/testsuite/ld-elf/sec64k.exp | 4 +- ld/testsuite/ld-elf/shared.exp | 3 +- ld/testsuite/ld-elf/tls.exp | 2 +- ld/testsuite/ld-elf/tls_common.exp | 2 +- ld/testsuite/ld-elf/wrap.exp | 2 +- ld/testsuite/ld-elfcomm/elfcomm.exp | 2 +- ld/testsuite/ld-elfvers/vers.exp | 2 +- ld/testsuite/ld-elfvsb/elfvsb.exp | 2 +- ld/testsuite/ld-elfweak/elfweak.exp | 2 +- ld/testsuite/ld-fastcall/fastcall.exp | 2 +- ld/testsuite/ld-frv/fdpic.exp | 2 +- ld/testsuite/ld-frv/frv-elf.exp | 2 +- ld/testsuite/ld-frv/tls.exp | 2 +- ld/testsuite/ld-gc/gc.exp | 2 +- ld/testsuite/ld-h8300/h8300.exp | 2 +- ld/testsuite/ld-i386/export-class.exp | 2 +- ld/testsuite/ld-i386/i386.exp | 23 +- ld/testsuite/ld-i386/ibt-plt-1.d | 22 +- ld/testsuite/ld-i386/ibt-plt-2c.d | 22 +- ld/testsuite/ld-i386/ibt-plt-2d.d | 20 +- ld/testsuite/ld-i386/ibt-plt-3d.d | 20 +- ld/testsuite/ld-i386/no-plt.exp | 2 +- ld/testsuite/ld-i386/plt-main-ibt.dd | 2 +- ld/testsuite/ld-i386/pr23372a.d | 5 + ld/testsuite/ld-i386/pr23372c.d | 5 + ld/testsuite/ld-i386/pr23930.d | 11 + ld/testsuite/ld-i386/pr24276.dso | 9 + ld/testsuite/ld-i386/pr24276.warn | 1 + ld/testsuite/ld-i386/pr24322a.d | 12 + ld/testsuite/ld-i386/pr24322b.d | 12 + ld/testsuite/ld-i386/tls.exp | 2 +- ld/testsuite/ld-ia64/ia64.exp | 2 +- ld/testsuite/ld-ia64/line.exp | 2 +- ld/testsuite/ld-ifunc/binutils.exp | 2 +- ld/testsuite/ld-ifunc/ifunc.exp | 6 +- ld/testsuite/ld-libs/libs.exp | 2 +- ld/testsuite/ld-linkonce/linkonce.exp | 2 +- ld/testsuite/ld-m68hc11/m68hc11.exp | 2 +- ld/testsuite/ld-m68k/m68k-got.exp | 54 +- ld/testsuite/ld-m68k/m68k.exp | 2 +- ld/testsuite/ld-mep/mep.exp | 2 +- ld/testsuite/ld-metag/metag.exp | 2 +- ld/testsuite/ld-mips-elf/comm-data.exp | 2 +- ld/testsuite/ld-mips-elf/export-class.exp | 2 +- ld/testsuite/ld-mips-elf/mips-elf-flags.exp | 2 +- ld/testsuite/ld-mips-elf/mips-elf.exp | 9 +- ld/testsuite/ld-mips-elf/pic-reloc-0.d | 7 + ld/testsuite/ld-mips-elf/pic-reloc-1.d | 14 + ld/testsuite/ld-mips-elf/pic-reloc-2.d | 7 + ld/testsuite/ld-mips-elf/pic-reloc-3.d | 7 + ld/testsuite/ld-mips-elf/pic-reloc-4.d | 9 + ld/testsuite/ld-mips-elf/pic-reloc-absolute-hi.ld | 6 + ld/testsuite/ld-mips-elf/pic-reloc-absolute-lo.ld | 6 + ld/testsuite/ld-mips-elf/pic-reloc-j.s | 11 + ld/testsuite/ld-mips-elf/pic-reloc-lui.s | 13 + ld/testsuite/ld-mips-elf/pic-reloc-ordinary.ld | 6 + ld/testsuite/ld-misc/defsym.exp | 2 +- ld/testsuite/ld-mmix/mmix.exp | 2 +- ld/testsuite/ld-mn10300/mn10300.exp | 2 +- ld/testsuite/ld-msp430-elf/msp430-elf.exp | 2 +- ld/testsuite/ld-nds32/nds32.exp | 2 +- ld/testsuite/ld-or1k/or1k.exp | 2 +- ld/testsuite/ld-pe/pe-compile.exp | 2 +- ld/testsuite/ld-pe/pe-run.exp | 2 +- ld/testsuite/ld-pe/pe-run2.exp | 2 +- ld/testsuite/ld-pe/pe.exp | 2 +- ld/testsuite/ld-pie/pie.exp | 2 +- ld/testsuite/ld-plugin/lto.exp | 8 +- ld/testsuite/ld-plugin/plugin-12.d | 8 +- ld/testsuite/ld-plugin/plugin.exp | 2 +- ld/testsuite/ld-plugin/pr23958.c | 6 + ld/testsuite/ld-plugin/pr23958.t | 4 + ld/testsuite/ld-powerpc/aix52.exp | 2 +- ld/testsuite/ld-powerpc/export-class.exp | 2 +- ld/testsuite/ld-powerpc/powerpc.exp | 3 +- ld/testsuite/ld-powerpc/pr23937.d | 10 + ld/testsuite/ld-powerpc/pr23937.s | 65 + ld/testsuite/ld-powerpc/tls32.s | 3 +- ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d | 9 + ld/testsuite/ld-riscv-elf/attr-merge-arch-01a.s | 1 + ld/testsuite/ld-riscv-elf/attr-merge-arch-01b.s | 1 + ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d | 9 + ld/testsuite/ld-riscv-elf/attr-merge-arch-02a.s | 1 + ld/testsuite/ld-riscv-elf/attr-merge-arch-02b.s | 1 + ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d | 9 + ld/testsuite/ld-riscv-elf/attr-merge-arch-03a.s | 1 + ld/testsuite/ld-riscv-elf/attr-merge-arch-03b.s | 1 + .../ld-riscv-elf/attr-merge-arch-failed-01.d | 5 + .../ld-riscv-elf/attr-merge-arch-failed-01a.s | 1 + .../ld-riscv-elf/attr-merge-arch-failed-01b.s | 1 + ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s | 3 + ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s | 3 + ld/testsuite/ld-riscv-elf/attr-merge-priv-spec.d | 12 + .../ld-riscv-elf/attr-merge-stack-align-a.s | 1 + .../ld-riscv-elf/attr-merge-stack-align-b.s | 1 + .../ld-riscv-elf/attr-merge-stack-align-failed-a.s | 1 + .../ld-riscv-elf/attr-merge-stack-align-failed-b.s | 1 + .../ld-riscv-elf/attr-merge-stack-align-failed.d | 5 + ld/testsuite/ld-riscv-elf/attr-merge-stack-align.d | 10 + .../ld-riscv-elf/attr-merge-strict-align-01.d | 10 + .../ld-riscv-elf/attr-merge-strict-align-01a.s | 1 + .../ld-riscv-elf/attr-merge-strict-align-01b.s | 1 + .../ld-riscv-elf/attr-merge-strict-align-02.d | 10 + .../ld-riscv-elf/attr-merge-strict-align-02a.s | 1 + .../ld-riscv-elf/attr-merge-strict-align-03.d | 10 + .../ld-riscv-elf/attr-merge-strict-align-03a.s | 1 + .../ld-riscv-elf/attr-merge-strict-align-03b.s | 1 + .../ld-riscv-elf/attr-merge-strict-align-04.d | 9 + .../ld-riscv-elf/attr-merge-strict-align-04a.s | 1 + .../ld-riscv-elf/attr-merge-strict-align-04b.s | 1 + .../ld-riscv-elf/attr-merge-strict-align-05.d | 10 + .../ld-riscv-elf/attr-merge-strict-align-05a.s | 1 + .../ld-riscv-elf/attr-merge-strict-align-05b.s | 1 + ld/testsuite/ld-riscv-elf/ld-riscv-elf.exp | 14 +- ld/testsuite/ld-s12z/s12z.exp | 2 +- ld/testsuite/ld-s390/s390.exp | 2 +- ld/testsuite/ld-scripts/align.exp | 2 +- ld/testsuite/ld-scripts/alignof.exp | 2 +- ld/testsuite/ld-scripts/assert.exp | 2 +- ld/testsuite/ld-scripts/crossref.exp | 2 +- ld/testsuite/ld-scripts/data.exp | 2 +- ld/testsuite/ld-scripts/default-script.exp | 2 +- ld/testsuite/ld-scripts/defined.exp | 3 +- ld/testsuite/ld-scripts/dynamic-sections.exp | 2 +- ld/testsuite/ld-scripts/empty-address.exp | 2 +- ld/testsuite/ld-scripts/empty-aligned.exp | 2 +- ld/testsuite/ld-scripts/empty-orphan.exp | 2 +- ld/testsuite/ld-scripts/exclude-file.exp | 2 +- ld/testsuite/ld-scripts/expr.exp | 2 +- ld/testsuite/ld-scripts/extern.exp | 2 +- ld/testsuite/ld-scripts/include.exp | 2 +- ld/testsuite/ld-scripts/log2.exp | 2 +- ld/testsuite/ld-scripts/map-address.exp | 2 +- ld/testsuite/ld-scripts/overlay-size.exp | 2 +- ld/testsuite/ld-scripts/phdrs.exp | 2 +- ld/testsuite/ld-scripts/phdrs2.exp | 2 +- ld/testsuite/ld-scripts/phdrs3.exp | 2 +- ld/testsuite/ld-scripts/pr24008.d | 11 + ld/testsuite/ld-scripts/pr24008.map | 7 + ld/testsuite/ld-scripts/pr24008.s | 2 + ld/testsuite/ld-scripts/pr24008.t | 8 + ld/testsuite/ld-scripts/print-memory-usage.exp | 2 +- ld/testsuite/ld-scripts/provide.exp | 2 +- ld/testsuite/ld-scripts/rgn-at.exp | 2 +- ld/testsuite/ld-scripts/rgn-over.exp | 2 +- ld/testsuite/ld-scripts/rgn-over1.d | 1 + ld/testsuite/ld-scripts/rgn-over2.d | 1 + ld/testsuite/ld-scripts/rgn-over3.d | 1 + ld/testsuite/ld-scripts/rgn-over4.d | 1 + ld/testsuite/ld-scripts/rgn-over5.d | 1 + ld/testsuite/ld-scripts/rgn-over6.d | 1 + ld/testsuite/ld-scripts/rgn-over7.d | 1 + ld/testsuite/ld-scripts/script.exp | 2 +- ld/testsuite/ld-scripts/section-flags.exp | 2 +- ld/testsuite/ld-scripts/section-match.exp | 2 +- ld/testsuite/ld-scripts/size.exp | 2 +- ld/testsuite/ld-scripts/sizeof.exp | 2 +- ld/testsuite/ld-scripts/sort.exp | 2 +- ld/testsuite/ld-scripts/sysroot-prefix.exp | 2 +- ld/testsuite/ld-scripts/weak.exp | 2 +- ld/testsuite/ld-selective/sel-dump.exp | 2 +- ld/testsuite/ld-selective/selective.exp | 2 +- ld/testsuite/ld-sh/arch/arch.exp | 2 +- ld/testsuite/ld-sh/rd-sh.exp | 2 +- ld/testsuite/ld-sh/sh-vxworks.exp | 2 +- ld/testsuite/ld-sh/sh.exp | 2 +- ld/testsuite/ld-shared/shared.exp | 2 +- ld/testsuite/ld-size/size.exp | 2 +- ld/testsuite/ld-sparc/sparc.exp | 2 +- ld/testsuite/ld-spu/spu.exp | 2 +- ld/testsuite/ld-srec/srec.exp | 2 +- ld/testsuite/ld-tic6x/tic6x.exp | 2 +- ld/testsuite/ld-tilegx/tilegx.exp | 2 +- ld/testsuite/ld-tilepro/tilepro.exp | 2 +- ld/testsuite/ld-undefined/entry.exp | 2 +- ld/testsuite/ld-undefined/require-defined.exp | 2 +- ld/testsuite/ld-undefined/undefined.exp | 2 +- ld/testsuite/ld-undefined/weak-undef.exp | 2 +- ld/testsuite/ld-unique/pr21529.d | 2 +- ld/testsuite/ld-unique/unique.exp | 2 +- ld/testsuite/ld-v850/v850.exp | 2 +- ld/testsuite/ld-vax-elf/export-class.exp | 2 +- ld/testsuite/ld-vax-elf/vax-elf.exp | 2 +- ld/testsuite/ld-visium/visium.exp | 2 +- ld/testsuite/ld-vxworks/vxworks.exp | 2 +- ld/testsuite/ld-x86-64/dwarfreloc.exp | 2 +- ld/testsuite/ld-x86-64/export-class.exp | 2 +- ld/testsuite/ld-x86-64/ibt-plt-1-x32.d | 24 +- ld/testsuite/ld-x86-64/ibt-plt-1.d | 24 +- ld/testsuite/ld-x86-64/ibt-plt-2c-x32.d | 24 +- ld/testsuite/ld-x86-64/ibt-plt-2c.d | 24 +- ld/testsuite/ld-x86-64/ibt-plt-2d-x32.d | 14 +- ld/testsuite/ld-x86-64/ibt-plt-2d.d | 14 +- ld/testsuite/ld-x86-64/ibt-plt-3c-x32.d | 24 +- ld/testsuite/ld-x86-64/ibt-plt-3c.d | 24 +- ld/testsuite/ld-x86-64/ibt-plt-3d-x32.d | 14 +- ld/testsuite/ld-x86-64/ibt-plt-3d.d | 14 +- ld/testsuite/ld-x86-64/line.exp | 2 +- ld/testsuite/ld-x86-64/mpx.exp | 2 +- ld/testsuite/ld-x86-64/no-plt.exp | 2 +- ld/testsuite/ld-x86-64/pr23372a-x32.d | 5 + ld/testsuite/ld-x86-64/pr23372a.d | 5 + ld/testsuite/ld-x86-64/pr23372c-x32.d | 5 + ld/testsuite/ld-x86-64/pr23372c.d | 5 + ld/testsuite/ld-x86-64/pr23930-32.t | 10 + ld/testsuite/ld-x86-64/pr23930-x32.d | 11 + ld/testsuite/ld-x86-64/pr23930.d | 11 + ld/testsuite/ld-x86-64/pr23930.t | 10 + ld/testsuite/ld-x86-64/pr23930a.s | 7 + ld/testsuite/ld-x86-64/pr23930b.s | 14 + ld/testsuite/ld-x86-64/pr23997a.s | 6 + ld/testsuite/ld-x86-64/pr23997b.c | 25 + ld/testsuite/ld-x86-64/pr23997c.c | 7 + ld/testsuite/ld-x86-64/pr24151a-x32.d | 4 + ld/testsuite/ld-x86-64/pr24151a.d | 3 + ld/testsuite/ld-x86-64/pr24151a.s | 9 + ld/testsuite/ld-x86-64/pr24276.dso | 9 + ld/testsuite/ld-x86-64/pr24276.warn | 1 + ld/testsuite/ld-x86-64/pr24322a-x32.d | 12 + ld/testsuite/ld-x86-64/pr24322a.d | 12 + ld/testsuite/ld-x86-64/pr24322a.s | 27 + ld/testsuite/ld-x86-64/pr24322b-x32.d | 12 + ld/testsuite/ld-x86-64/pr24322b.d | 12 + ld/testsuite/ld-x86-64/pr24322b.s | 4 + ld/testsuite/ld-x86-64/pr24322c.s | 27 + ld/testsuite/ld-x86-64/property-x86-5a.s | 3 +- ld/testsuite/ld-x86-64/property-x86-5b.s | 3 +- ld/testsuite/ld-x86-64/property-x86-ibt1a-x32.d | 3 +- ld/testsuite/ld-x86-64/property-x86-ibt1a.d | 3 +- ld/testsuite/ld-x86-64/property-x86-ibt1a.map | 3 + ld/testsuite/ld-x86-64/tls.exp | 2 +- ld/testsuite/ld-x86-64/x86-64.exp | 29 +- ld/testsuite/ld-xc16x/xc16x.exp | 2 +- ld/testsuite/ld-xstormy16/xstormy16.exp | 2 +- ld/testsuite/ld-xtensa/call_overflow.d | 7 + ld/testsuite/ld-xtensa/call_overflow1.s | 9 + ld/testsuite/ld-xtensa/call_overflow2.s | 14 + ld/testsuite/ld-xtensa/call_overflow3.s | 5 + .../relax-undef-weak-pie-export-dynamic.d | 14 + ld/testsuite/ld-xtensa/xtensa-linux.exp | 2 +- ld/testsuite/ld-xtensa/xtensa.exp | 4 +- ld/testsuite/ld-z8k/z8k.exp | 2 +- ld/testsuite/lib/ld-lib.exp | 2 +- libiberty/ChangeLog | 109 +- libiberty/Makefile.in | 2 +- libiberty/_doprnt.c | 2 +- libiberty/argv.c | 2 +- libiberty/asprintf.c | 2 +- libiberty/choose-temp.c | 2 +- libiberty/clock.c | 2 +- libiberty/concat.c | 2 +- libiberty/config.in | 3 + libiberty/configure | 4 +- libiberty/configure.ac | 4 +- libiberty/copying-lib.texi | 2 +- libiberty/cp-demangle.c | 70 +- libiberty/cp-demangle.h | 5 +- libiberty/cp-demint.c | 2 +- libiberty/cplus-dem.c | 4554 +----- libiberty/crc32.c | 2 +- libiberty/d-demangle.c | 2 +- libiberty/dwarfnames.c | 2 +- libiberty/dyn-string.c | 2 +- libiberty/fdmatch.c | 2 +- libiberty/fibheap.c | 2 +- libiberty/filename_cmp.c | 2 +- libiberty/floatformat.c | 2 +- libiberty/fnmatch.c | 2 +- libiberty/fopen_unlocked.c | 2 +- libiberty/gather-docs | 2 +- libiberty/getopt.c | 2 +- libiberty/getopt1.c | 2 +- libiberty/getruntime.c | 2 +- libiberty/hashtab.c | 2 +- libiberty/hex.c | 2 +- libiberty/lbasename.c | 2 +- libiberty/libiberty.texi | 4 +- libiberty/lrealpath.c | 2 +- libiberty/maint-tool | 2 +- libiberty/make-relative-prefix.c | 2 +- libiberty/make-temp-file.c | 2 +- libiberty/md5.c | 2 +- libiberty/memmem.c | 2 +- libiberty/mempcpy.c | 2 +- libiberty/mkstemps.c | 2 +- libiberty/objalloc.c | 2 +- libiberty/obstack.c | 2 +- libiberty/partition.c | 2 +- libiberty/pex-common.c | 2 +- libiberty/pex-common.h | 2 +- libiberty/pex-djgpp.c | 2 +- libiberty/pex-msdos.c | 2 +- libiberty/pex-one.c | 2 +- libiberty/pex-unix.c | 270 +- libiberty/pex-win32.c | 2 +- libiberty/pexecute.c | 2 +- libiberty/physmem.c | 2 +- libiberty/putenv.c | 2 +- libiberty/regex.c | 2 +- libiberty/rust-demangle.c | 2 +- libiberty/safe-ctype.c | 2 +- libiberty/setenv.c | 2 +- libiberty/setproctitle.c | 2 +- libiberty/sha1.c | 2 +- libiberty/simple-object-coff.c | 2 +- libiberty/simple-object-common.h | 2 +- libiberty/simple-object-elf.c | 2 +- libiberty/simple-object-mach-o.c | 2 +- libiberty/simple-object-xcoff.c | 2 +- libiberty/simple-object.c | 2 +- libiberty/snprintf.c | 2 +- libiberty/sort.c | 2 +- libiberty/spaces.c | 2 +- libiberty/splay-tree.c | 17 +- libiberty/stack-limit.c | 2 +- libiberty/stpcpy.c | 2 +- libiberty/stpncpy.c | 2 +- libiberty/strndup.c | 2 +- libiberty/strtod.c | 2 +- libiberty/strverscmp.c | 2 +- libiberty/testsuite/Makefile.in | 2 +- libiberty/testsuite/demangle-expected | 3447 +---- libiberty/testsuite/demangler-fuzzer.c | 2 +- libiberty/testsuite/test-demangle.c | 2 +- libiberty/testsuite/test-expandargv.c | 2 +- libiberty/testsuite/test-pexecute.c | 2 +- libiberty/testsuite/test-strtol.c | 2 +- libiberty/timeval-utils.c | 2 +- libiberty/unlink-if-ordinary.c | 2 +- libiberty/vasprintf.c | 2 +- libiberty/vfprintf.c | 2 +- libiberty/vprintf-support.c | 2 +- libiberty/vprintf-support.h | 2 +- libiberty/vsnprintf.c | 2 +- libiberty/vsprintf.c | 2 +- libiberty/xasprintf.c | 2 +- libiberty/xexit.c | 2 +- libiberty/xmalloc.c | 2 +- libiberty/xstrndup.c | 2 +- libiberty/xvasprintf.c | 2 +- opcodes/ChangeLog | 2434 +--- opcodes/ChangeLog-2018 | 2550 +++ opcodes/MAINTAINERS | 2 +- opcodes/Makefile.am | 3 +- opcodes/Makefile.in | 4 +- opcodes/aarch64-asm-2.c | 1132 +- opcodes/aarch64-asm.c | 7 +- opcodes/aarch64-asm.h | 2 +- opcodes/aarch64-dis-2.c | 5034 +++--- opcodes/aarch64-dis.c | 59 +- opcodes/aarch64-dis.h | 2 +- opcodes/aarch64-gen.c | 4 +- opcodes/aarch64-opc-2.c | 146 +- opcodes/aarch64-opc.c | 148 +- opcodes/aarch64-opc.h | 16 +- opcodes/aarch64-tbl.h | 79 +- opcodes/alpha-dis.c | 2 +- opcodes/alpha-opc.c | 2 +- opcodes/arc-dis.c | 2 +- opcodes/arc-dis.h | 2 +- opcodes/arc-ext-tbl.h | 2 +- opcodes/arc-ext.c | 2 +- opcodes/arc-ext.h | 2 +- opcodes/arc-fxi.h | 2 +- opcodes/arc-opc.c | 2 +- opcodes/arc-regs.h | 2 +- opcodes/arc-tbl.h | 2 +- opcodes/arm-dis.c | 255 +- opcodes/avr-dis.c | 2 +- opcodes/bfin-dis.c | 2 +- opcodes/cgen-asm.c | 2 +- opcodes/cgen-asm.in | 2 +- opcodes/cgen-bitset.c | 2 +- opcodes/cgen-dis.c | 2 +- opcodes/cgen-dis.in | 2 +- opcodes/cgen-ibld.in | 2 +- opcodes/cgen-opc.c | 2 +- opcodes/cgen.sh | 2 +- opcodes/configure | 46 +- opcodes/configure.ac | 18 +- opcodes/configure.com | 2 +- opcodes/cr16-dis.c | 2 +- opcodes/cr16-opc.c | 2 +- opcodes/cris-dis.c | 2 +- opcodes/cris-opc.c | 2 +- opcodes/crx-dis.c | 2 +- opcodes/crx-opc.c | 2 +- opcodes/csky-dis.c | 4 +- opcodes/csky-opc.h | 2 +- opcodes/d10v-dis.c | 2 +- opcodes/d10v-opc.c | 2 +- opcodes/d30v-dis.c | 2 +- opcodes/d30v-opc.c | 2 +- opcodes/dis-buf.c | 2 +- opcodes/dis-init.c | 2 +- opcodes/disassemble.c | 7 +- opcodes/disassemble.h | 2 +- opcodes/dlx-dis.c | 2 +- opcodes/epiphany-asm.c | 2 +- opcodes/epiphany-desc.c | 2 +- opcodes/epiphany-desc.h | 2 +- opcodes/epiphany-dis.c | 2 +- opcodes/epiphany-ibld.c | 2 +- opcodes/epiphany-opc.c | 2 +- opcodes/epiphany-opc.h | 2 +- opcodes/fr30-asm.c | 2 +- opcodes/fr30-desc.c | 2 +- opcodes/fr30-desc.h | 2 +- opcodes/fr30-dis.c | 2 +- opcodes/fr30-ibld.c | 2 +- opcodes/fr30-opc.c | 2 +- opcodes/fr30-opc.h | 2 +- opcodes/frv-asm.c | 2 +- opcodes/frv-desc.c | 2 +- opcodes/frv-desc.h | 2 +- opcodes/frv-dis.c | 2 +- opcodes/frv-ibld.c | 2 +- opcodes/frv-opc.c | 2 +- opcodes/frv-opc.h | 2 +- opcodes/ft32-dis.c | 2 +- opcodes/ft32-opc.c | 2 +- opcodes/h8300-dis.c | 2 +- opcodes/hppa-dis.c | 2 +- opcodes/i386-dis.c | 2 +- opcodes/i386-gen.c | 6 +- opcodes/i386-init.h | 14 +- opcodes/i386-opc.c | 2 +- opcodes/i386-opc.h | 2 +- opcodes/i386-opc.tbl | 14 +- opcodes/i386-reg.tbl | 2 +- opcodes/i386-tbl.h | 14 +- opcodes/ia64-asmtab.c | 2 +- opcodes/ia64-asmtab.h | 2 +- opcodes/ia64-dis.c | 2 +- opcodes/ia64-gen.c | 4 +- opcodes/ia64-opc-a.c | 2 +- opcodes/ia64-opc-b.c | 2 +- opcodes/ia64-opc-d.c | 2 +- opcodes/ia64-opc-f.c | 2 +- opcodes/ia64-opc-i.c | 2 +- opcodes/ia64-opc-m.c | 2 +- opcodes/ia64-opc-x.c | 2 +- opcodes/ia64-opc.c | 2 +- opcodes/ia64-opc.h | 2 +- opcodes/ip2k-asm.c | 2 +- opcodes/ip2k-desc.c | 2 +- opcodes/ip2k-desc.h | 2 +- opcodes/ip2k-dis.c | 2 +- opcodes/ip2k-ibld.c | 2 +- opcodes/ip2k-opc.c | 2 +- opcodes/ip2k-opc.h | 2 +- opcodes/iq2000-asm.c | 2 +- opcodes/iq2000-desc.c | 2 +- opcodes/iq2000-desc.h | 2 +- opcodes/iq2000-dis.c | 2 +- opcodes/iq2000-ibld.c | 2 +- opcodes/iq2000-opc.c | 2 +- opcodes/iq2000-opc.h | 2 +- opcodes/lm32-asm.c | 2 +- opcodes/lm32-desc.c | 2 +- opcodes/lm32-desc.h | 2 +- opcodes/lm32-dis.c | 2 +- opcodes/lm32-ibld.c | 2 +- opcodes/lm32-opc.c | 2 +- opcodes/lm32-opc.h | 2 +- opcodes/lm32-opinst.c | 2 +- opcodes/m10200-dis.c | 2 +- opcodes/m10200-opc.c | 2 +- opcodes/m10300-dis.c | 2 +- opcodes/m10300-opc.c | 2 +- opcodes/m32c-asm.c | 2 +- opcodes/m32c-desc.c | 2 +- opcodes/m32c-desc.h | 2 +- opcodes/m32c-dis.c | 2 +- opcodes/m32c-ibld.c | 2 +- opcodes/m32c-opc.c | 2 +- opcodes/m32c-opc.h | 2 +- opcodes/m32r-asm.c | 2 +- opcodes/m32r-desc.c | 2 +- opcodes/m32r-desc.h | 2 +- opcodes/m32r-dis.c | 2 +- opcodes/m32r-ibld.c | 2 +- opcodes/m32r-opc.c | 2 +- opcodes/m32r-opc.h | 2 +- opcodes/m32r-opinst.c | 2 +- opcodes/m68hc11-dis.c | 2 +- opcodes/m68hc11-opc.c | 2 +- opcodes/m68k-dis.c | 2 +- opcodes/m68k-opc.c | 2 +- opcodes/makefile.vms | 2 +- opcodes/mcore-dis.c | 2 +- opcodes/mcore-opc.h | 2 +- opcodes/mep-asm.c | 2 +- opcodes/mep-desc.c | 2 +- opcodes/mep-desc.h | 2 +- opcodes/mep-dis.c | 2 +- opcodes/mep-ibld.c | 2 +- opcodes/mep-opc.c | 2 +- opcodes/mep-opc.h | 2 +- opcodes/metag-dis.c | 2 +- opcodes/microblaze-dis.c | 2 +- opcodes/microblaze-dis.h | 2 +- opcodes/microblaze-opc.h | 2 +- opcodes/microblaze-opcm.h | 2 +- opcodes/micromips-opc.c | 2 +- opcodes/mips-dis.c | 8 +- opcodes/mips-formats.h | 2 +- opcodes/mips-opc.c | 2 +- opcodes/mips16-opc.c | 2 +- opcodes/mmix-dis.c | 2 +- opcodes/mmix-opc.c | 2 +- opcodes/moxie-dis.c | 2 +- opcodes/moxie-opc.c | 2 +- opcodes/msp430-decode.c | 2 +- opcodes/msp430-decode.opc | 2 +- opcodes/msp430-dis.c | 2 +- opcodes/mt-asm.c | 2 +- opcodes/mt-desc.c | 2 +- opcodes/mt-desc.h | 2 +- opcodes/mt-dis.c | 2 +- opcodes/mt-ibld.c | 2 +- opcodes/mt-opc.c | 2 +- opcodes/mt-opc.h | 2 +- opcodes/nds32-asm.c | 4 +- opcodes/nds32-asm.h | 2 +- opcodes/nds32-dis.c | 2 +- opcodes/nds32-opc.h | 2 +- opcodes/nfp-dis.c | 14 +- opcodes/nios2-dis.c | 2 +- opcodes/nios2-opc.c | 2 +- opcodes/ns32k-dis.c | 2 +- opcodes/opc2c.c | 2 +- opcodes/opintl.h | 2 +- opcodes/or1k-asm.c | 2 +- opcodes/or1k-desc.c | 2 +- opcodes/or1k-desc.h | 2 +- opcodes/or1k-dis.c | 2 +- opcodes/or1k-ibld.c | 2 +- opcodes/or1k-opc.c | 2 +- opcodes/or1k-opc.h | 2 +- opcodes/or1k-opinst.c | 2 +- opcodes/pdp11-dis.c | 2 +- opcodes/pdp11-opc.c | 2 +- opcodes/pj-dis.c | 2 +- opcodes/pj-opc.c | 2 +- opcodes/po/Make-in | 2 +- opcodes/po/POTFILES.in | 1 + opcodes/po/de.po | 658 +- opcodes/po/opcodes.pot | 542 +- opcodes/po/pt_BR.po | 652 +- opcodes/po/sv.po | 656 +- opcodes/po/uk.po | 642 +- opcodes/ppc-dis.c | 26 +- opcodes/ppc-opc.c | 16 +- opcodes/pru-dis.c | 2 +- opcodes/pru-opc.c | 2 +- opcodes/riscv-dis.c | 23 +- opcodes/riscv-opc.c | 18 +- opcodes/rl78-decode.c | 2 +- opcodes/rl78-decode.opc | 2 +- opcodes/rl78-dis.c | 2 +- opcodes/rx-decode.c | 6787 +++++-- opcodes/rx-decode.opc | 164 +- opcodes/rx-dis.c | 66 +- opcodes/s12z-dis.c | 2787 +--- opcodes/s12z-opc.c | 2701 +++ opcodes/s12z-opc.h | 267 + opcodes/s390-dis.c | 2 +- opcodes/s390-mkopc.c | 4 +- opcodes/s390-opc.c | 6 +- opcodes/s390-opc.txt | 120 +- opcodes/score-dis.c | 2 +- opcodes/score-opc.h | 2 +- opcodes/score7-dis.c | 2 +- opcodes/sh-dis.c | 2 +- opcodes/sh-opc.h | 2 +- opcodes/sparc-dis.c | 2 +- opcodes/sparc-opc.c | 2 +- opcodes/spu-dis.c | 2 +- opcodes/spu-opc.c | 2 +- opcodes/sysdep.h | 2 +- opcodes/tic30-dis.c | 2 +- opcodes/tic4x-dis.c | 2 +- opcodes/tic54x-dis.c | 2 +- opcodes/tic54x-opc.c | 2 +- opcodes/tic6x-dis.c | 2 +- opcodes/tic80-dis.c | 2 +- opcodes/tic80-opc.c | 2 +- opcodes/tilegx-dis.c | 2 +- opcodes/tilegx-opc.c | 2 +- opcodes/tilepro-dis.c | 2 +- opcodes/tilepro-opc.c | 2 +- opcodes/v850-dis.c | 2 +- opcodes/v850-opc.c | 2 +- opcodes/vax-dis.c | 2 +- opcodes/visium-dis.c | 2 +- opcodes/visium-opc.c | 2 +- opcodes/wasm32-dis.c | 4 +- opcodes/xc16x-asm.c | 2 +- opcodes/xc16x-desc.c | 2 +- opcodes/xc16x-desc.h | 2 +- opcodes/xc16x-dis.c | 2 +- opcodes/xc16x-ibld.c | 2 +- opcodes/xc16x-opc.c | 2 +- opcodes/xc16x-opc.h | 2 +- opcodes/xgate-dis.c | 2 +- opcodes/xgate-opc.c | 2 +- opcodes/xstormy16-asm.c | 2 +- opcodes/xstormy16-desc.c | 2 +- opcodes/xstormy16-desc.h | 2 +- opcodes/xstormy16-dis.c | 2 +- opcodes/xstormy16-ibld.c | 2 +- opcodes/xstormy16-opc.c | 2 +- opcodes/xstormy16-opc.h | 2 +- opcodes/xtensa-dis.c | 2 +- opcodes/z80-dis.c | 2 +- opcodes/z8k-dis.c | 2 +- opcodes/z8k-opc.h | 2 +- opcodes/z8kgen.c | 4 +- readline/ChangeLog.gdb | 6 + readline/config.h.in | 10 + readline/histfile.c | 3 +- readline/util.c | 6 +- sim/ChangeLog | 24 + sim/MAINTAINERS | 5 +- sim/Makefile.in | 2 +- sim/aarch64/ChangeLog | 5 + sim/aarch64/Makefile.in | 2 +- sim/aarch64/configure.ac | 2 +- sim/aarch64/cpustate.c | 3 +- sim/aarch64/cpustate.h | 2 +- sim/aarch64/decode.h | 2 +- sim/aarch64/interp.c | 3 +- sim/aarch64/memory.c | 2 +- sim/aarch64/memory.h | 2 +- sim/aarch64/sim-main.h | 2 +- sim/aarch64/simulator.c | 2 +- sim/aarch64/simulator.h | 2 +- sim/arm/Makefile.in | 2 +- sim/arm/iwmmxt.c | 2 +- sim/arm/iwmmxt.h | 2 +- sim/arm/maverick.c | 2 +- sim/arm/sim-main.h | 2 +- sim/arm/wrapper.c | 2 +- sim/avr/Makefile.in | 2 +- sim/avr/interp.c | 2 +- sim/avr/sim-main.h | 2 +- sim/bfin/Makefile.in | 2 +- sim/bfin/arch.h | 2 +- sim/bfin/bfin-sim.c | 2 +- sim/bfin/bfin-sim.h | 2 +- sim/bfin/devices.c | 2 +- sim/bfin/devices.h | 2 +- sim/bfin/dv-bfin_cec.c | 2 +- sim/bfin/dv-bfin_cec.h | 2 +- sim/bfin/dv-bfin_ctimer.c | 2 +- sim/bfin/dv-bfin_ctimer.h | 2 +- sim/bfin/dv-bfin_dma.c | 2 +- sim/bfin/dv-bfin_dma.h | 2 +- sim/bfin/dv-bfin_dmac.c | 2 +- sim/bfin/dv-bfin_dmac.h | 2 +- sim/bfin/dv-bfin_ebiu_amc.c | 2 +- sim/bfin/dv-bfin_ebiu_amc.h | 2 +- sim/bfin/dv-bfin_ebiu_ddrc.c | 2 +- sim/bfin/dv-bfin_ebiu_ddrc.h | 2 +- sim/bfin/dv-bfin_ebiu_sdc.c | 2 +- sim/bfin/dv-bfin_ebiu_sdc.h | 2 +- sim/bfin/dv-bfin_emac.c | 2 +- sim/bfin/dv-bfin_emac.h | 2 +- sim/bfin/dv-bfin_eppi.c | 2 +- sim/bfin/dv-bfin_eppi.h | 2 +- sim/bfin/dv-bfin_evt.c | 2 +- sim/bfin/dv-bfin_evt.h | 2 +- sim/bfin/dv-bfin_gpio.c | 2 +- sim/bfin/dv-bfin_gpio.h | 2 +- sim/bfin/dv-bfin_gpio2.c | 2 +- sim/bfin/dv-bfin_gpio2.h | 2 +- sim/bfin/dv-bfin_gptimer.c | 2 +- sim/bfin/dv-bfin_gptimer.h | 2 +- sim/bfin/dv-bfin_jtag.c | 2 +- sim/bfin/dv-bfin_jtag.h | 2 +- sim/bfin/dv-bfin_mmu.c | 2 +- sim/bfin/dv-bfin_mmu.h | 2 +- sim/bfin/dv-bfin_nfc.c | 2 +- sim/bfin/dv-bfin_nfc.h | 2 +- sim/bfin/dv-bfin_otp.c | 2 +- sim/bfin/dv-bfin_otp.h | 2 +- sim/bfin/dv-bfin_pfmon.c | 2 +- sim/bfin/dv-bfin_pfmon.h | 2 +- sim/bfin/dv-bfin_pint.c | 2 +- sim/bfin/dv-bfin_pint.h | 2 +- sim/bfin/dv-bfin_pll.c | 2 +- sim/bfin/dv-bfin_pll.h | 2 +- sim/bfin/dv-bfin_ppi.c | 2 +- sim/bfin/dv-bfin_ppi.h | 2 +- sim/bfin/dv-bfin_rtc.c | 2 +- sim/bfin/dv-bfin_rtc.h | 2 +- sim/bfin/dv-bfin_sic.c | 2 +- sim/bfin/dv-bfin_sic.h | 2 +- sim/bfin/dv-bfin_spi.c | 2 +- sim/bfin/dv-bfin_spi.h | 2 +- sim/bfin/dv-bfin_trace.c | 2 +- sim/bfin/dv-bfin_trace.h | 2 +- sim/bfin/dv-bfin_twi.c | 2 +- sim/bfin/dv-bfin_twi.h | 2 +- sim/bfin/dv-bfin_uart.c | 2 +- sim/bfin/dv-bfin_uart.h | 2 +- sim/bfin/dv-bfin_uart2.c | 2 +- sim/bfin/dv-bfin_uart2.h | 2 +- sim/bfin/dv-bfin_wdog.c | 2 +- sim/bfin/dv-bfin_wdog.h | 2 +- sim/bfin/dv-bfin_wp.c | 2 +- sim/bfin/dv-bfin_wp.h | 2 +- sim/bfin/dv-eth_phy.c | 2 +- sim/bfin/gui.c | 2 +- sim/bfin/gui.h | 2 +- sim/bfin/insn_list.def | 2 +- sim/bfin/interp.c | 2 +- sim/bfin/linux-fixed-code.s | 2 +- sim/bfin/machs.c | 2 +- sim/bfin/machs.h | 2 +- sim/bfin/proc_list.def | 2 +- sim/bfin/sim-main.h | 2 +- sim/common/ChangeLog | 60 + sim/common/Make-common.in | 9 +- sim/common/Makefile.in | 2 +- sim/common/acinclude.m4 | 16 +- sim/common/callback.c | 2 +- sim/common/cgen-cpu.h | 2 +- sim/common/cgen-defs.h | 2 +- sim/common/cgen-engine.h | 2 +- sim/common/cgen-mem.h | 2 +- sim/common/cgen-ops.h | 2 +- sim/common/cgen-par.c | 2 +- sim/common/cgen-par.h | 2 +- sim/common/cgen-run.c | 2 +- sim/common/cgen-scache.c | 2 +- sim/common/cgen-scache.h | 2 +- sim/common/cgen-sim.h | 2 +- sim/common/cgen-trace.c | 2 +- sim/common/cgen-trace.h | 2 +- sim/common/cgen-types.h | 2 +- sim/common/cgen-utils.c | 2 +- sim/common/create-version.sh | 38 + sim/common/dv-cfi.c | 2 +- sim/common/dv-cfi.h | 2 +- sim/common/dv-core.c | 2 +- sim/common/dv-glue.c | 2 +- sim/common/dv-pal.c | 2 +- sim/common/dv-sockser.c | 2 +- sim/common/dv-sockser.h | 2 +- sim/common/genmloop.sh | 2 +- sim/common/hw-alloc.c | 2 +- sim/common/hw-alloc.h | 2 +- sim/common/hw-base.c | 2 +- sim/common/hw-base.h | 2 +- sim/common/hw-device.c | 6 +- sim/common/hw-device.h | 2 +- sim/common/hw-events.c | 5 +- sim/common/hw-events.h | 2 +- sim/common/hw-handles.c | 5 +- sim/common/hw-handles.h | 2 +- sim/common/hw-instances.c | 2 +- sim/common/hw-instances.h | 2 +- sim/common/hw-main.h | 2 +- sim/common/hw-ports.c | 2 +- sim/common/hw-ports.h | 2 +- sim/common/hw-properties.c | 2 +- sim/common/hw-properties.h | 2 +- sim/common/hw-tree.c | 2 +- sim/common/hw-tree.h | 2 +- sim/common/nrun.c | 2 +- sim/common/run.1 | 2 +- sim/common/sim-abort.c | 2 +- sim/common/sim-alu.h | 2 +- sim/common/sim-arange.c | 28 +- sim/common/sim-arange.h | 32 +- sim/common/sim-assert.h | 2 +- sim/common/sim-base.h | 12 +- sim/common/sim-basics.h | 5 +- sim/common/sim-bits.c | 2 +- sim/common/sim-bits.h | 2 +- sim/common/sim-close.c | 2 +- sim/common/sim-command.c | 2 +- sim/common/sim-config.c | 2 +- sim/common/sim-config.h | 2 +- sim/common/sim-core.c | 2 +- sim/common/sim-core.h | 2 +- sim/common/sim-cpu.c | 2 +- sim/common/sim-cpu.h | 2 +- sim/common/sim-endian.c | 2 +- sim/common/sim-endian.h | 2 +- sim/common/sim-engine.c | 2 +- sim/common/sim-engine.h | 2 +- sim/common/sim-events.c | 2 +- sim/common/sim-events.h | 2 +- sim/common/sim-fpu.c | 5 +- sim/common/sim-fpu.h | 2 +- sim/common/sim-hload.c | 2 +- sim/common/sim-hrw.c | 2 +- sim/common/sim-hw.c | 2 +- sim/common/sim-hw.h | 2 +- sim/common/sim-info.c | 2 +- sim/common/sim-inline.c | 7 +- sim/common/sim-inline.h | 34 +- sim/common/sim-io.c | 2 +- sim/common/sim-io.h | 2 +- sim/common/sim-load.c | 2 +- sim/common/sim-memopt.c | 2 +- sim/common/sim-memopt.h | 2 +- sim/common/sim-model.c | 2 +- sim/common/sim-model.h | 2 +- sim/common/sim-module.c | 2 +- sim/common/sim-module.h | 2 +- sim/common/sim-n-bits.h | 2 +- sim/common/sim-n-core.h | 2 +- sim/common/sim-n-endian.h | 2 +- sim/common/sim-options.c | 4 +- sim/common/sim-options.h | 2 +- sim/common/sim-profile.c | 2 +- sim/common/sim-profile.h | 2 +- sim/common/sim-reason.c | 2 +- sim/common/sim-reg.c | 2 +- sim/common/sim-resume.c | 2 +- sim/common/sim-run.c | 2 +- sim/common/sim-signal.c | 2 +- sim/common/sim-signal.h | 2 +- sim/common/sim-stop.c | 2 +- sim/common/sim-syscall.c | 7 +- sim/common/sim-syscall.h | 2 +- sim/common/sim-trace.c | 2 +- sim/common/sim-trace.h | 2 +- sim/common/sim-types.h | 2 +- sim/common/sim-utils.c | 2 +- sim/common/sim-utils.h | 2 +- sim/common/sim-watch.c | 4 +- sim/common/sim-watch.h | 2 +- sim/common/syscall.c | 2 +- sim/common/version.h | 2 +- sim/cr16/Makefile.in | 2 +- sim/cr16/cr16_sim.h | 2 +- sim/cr16/gencode.c | 2 +- sim/cr16/interp.c | 2 +- sim/cr16/sim-main.h | 2 +- sim/cr16/simops.c | 2 +- sim/cris/ChangeLog | 5 + sim/cris/Makefile.in | 20 +- sim/cris/arch.c | 2 +- sim/cris/arch.h | 2 +- sim/cris/configure | 16 +- sim/cris/cpuall.h | 2 +- sim/cris/cpuv10.c | 2 +- sim/cris/cpuv10.h | 2 +- sim/cris/cpuv32.c | 2 +- sim/cris/cpuv32.h | 2 +- sim/cris/cris-desc.c | 2 +- sim/cris/cris-desc.h | 2 +- sim/cris/cris-opc.h | 2 +- sim/cris/cris-sim.h | 2 +- sim/cris/cris-tmpl.c | 2 +- sim/cris/crisv10f.c | 2 +- sim/cris/crisv32f.c | 2 +- sim/cris/decodev10.c | 2 +- sim/cris/decodev10.h | 2 +- sim/cris/decodev32.c | 2 +- sim/cris/decodev32.h | 2 +- sim/cris/dv-cris.c | 2 +- sim/cris/dv-cris_900000xx.c | 2 +- sim/cris/dv-rv.c | 2 +- sim/cris/mloop.in | 2 +- sim/cris/modelv10.c | 2 +- sim/cris/modelv32.c | 2 +- sim/cris/rvdummy.c | 2 +- sim/cris/semcrisv10f-switch.c | 2 +- sim/cris/semcrisv32f-switch.c | 2 +- sim/cris/sim-if.c | 2 +- sim/cris/sim-main.h | 2 +- sim/cris/traps.c | 2 +- sim/d10v/Makefile.in | 2 +- sim/d10v/sim-main.h | 2 +- sim/erc32/Makefile.in | 2 +- sim/erc32/configure.ac | 2 +- sim/erc32/erc32.c | 2 +- sim/erc32/exec.c | 2 +- sim/erc32/float.c | 2 +- sim/erc32/func.c | 2 +- sim/erc32/help.c | 2 +- sim/erc32/interf.c | 2 +- sim/erc32/sis.c | 2 +- sim/erc32/sis.h | 2 +- sim/erc32/startsim | 2 +- sim/frv/Makefile.in | 2 +- sim/frv/arch.c | 2 +- sim/frv/arch.h | 2 +- sim/frv/cache.c | 2 +- sim/frv/cache.h | 2 +- sim/frv/configure | 16 +- sim/frv/cpu.c | 2 +- sim/frv/cpu.h | 2 +- sim/frv/cpuall.h | 2 +- sim/frv/decode.c | 2 +- sim/frv/decode.h | 2 +- sim/frv/frv-sim.h | 2 +- sim/frv/frv.c | 2 +- sim/frv/interrupts.c | 2 +- sim/frv/memory.c | 2 +- sim/frv/mloop.in | 2 +- sim/frv/model.c | 2 +- sim/frv/options.c | 2 +- sim/frv/pipeline.c | 2 +- sim/frv/profile-fr400.c | 2 +- sim/frv/profile-fr400.h | 2 +- sim/frv/profile-fr450.c | 2 +- sim/frv/profile-fr500.c | 2 +- sim/frv/profile-fr500.h | 2 +- sim/frv/profile-fr550.c | 2 +- sim/frv/profile-fr550.h | 2 +- sim/frv/profile.c | 2 +- sim/frv/profile.h | 2 +- sim/frv/registers.c | 2 +- sim/frv/registers.h | 2 +- sim/frv/reset.c | 2 +- sim/frv/sem.c | 2 +- sim/frv/sim-if.c | 2 +- sim/frv/sim-main.h | 2 +- sim/frv/traps.c | 2 +- sim/ft32/Makefile.in | 2 +- sim/ft32/ft32-sim.h | 2 +- sim/ft32/interp.c | 2 +- sim/ft32/sim-main.h | 2 +- sim/h8300/Makefile.in | 2 +- sim/igen/Makefile.in | 2 +- sim/igen/compare_igen_models | 2 +- sim/igen/filter.c | 2 +- sim/igen/filter.h | 2 +- sim/igen/filter_host.c | 2 +- sim/igen/filter_host.h | 2 +- sim/igen/gen-engine.c | 2 +- sim/igen/gen-engine.h | 2 +- sim/igen/gen-icache.c | 2 +- sim/igen/gen-icache.h | 2 +- sim/igen/gen-idecode.c | 2 +- sim/igen/gen-idecode.h | 2 +- sim/igen/gen-itable.c | 2 +- sim/igen/gen-itable.h | 2 +- sim/igen/gen-model.c | 2 +- sim/igen/gen-model.h | 2 +- sim/igen/gen-semantics.c | 2 +- sim/igen/gen-semantics.h | 2 +- sim/igen/gen-support.c | 2 +- sim/igen/gen-support.h | 2 +- sim/igen/gen.c | 2 +- sim/igen/gen.h | 2 +- sim/igen/igen.c | 2 +- sim/igen/igen.h | 2 +- sim/igen/ld-cache.c | 2 +- sim/igen/ld-cache.h | 2 +- sim/igen/ld-decode.c | 2 +- sim/igen/ld-decode.h | 2 +- sim/igen/ld-insn.c | 2 +- sim/igen/ld-insn.h | 2 +- sim/igen/lf.c | 2 +- sim/igen/lf.h | 2 +- sim/igen/misc.c | 2 +- sim/igen/misc.h | 2 +- sim/igen/table.c | 2 +- sim/igen/table.h | 2 +- sim/iq2000/Makefile.in | 2 +- sim/iq2000/arch.c | 2 +- sim/iq2000/arch.h | 2 +- sim/iq2000/configure | 16 +- sim/iq2000/cpu.c | 2 +- sim/iq2000/cpu.h | 2 +- sim/iq2000/cpuall.h | 2 +- sim/iq2000/decode.c | 2 +- sim/iq2000/decode.h | 2 +- sim/iq2000/iq2000.c | 2 +- sim/iq2000/mloop.in | 2 +- sim/iq2000/model.c | 2 +- sim/iq2000/sem-switch.c | 2 +- sim/iq2000/sem.c | 2 +- sim/iq2000/sim-if.c | 2 +- sim/lm32/arch.c | 2 +- sim/lm32/arch.h | 2 +- sim/lm32/configure | 16 +- sim/lm32/cpu.c | 2 +- sim/lm32/cpu.h | 2 +- sim/lm32/cpuall.h | 2 +- sim/lm32/decode.c | 2 +- sim/lm32/decode.h | 2 +- sim/lm32/dv-lm32cpu.c | 2 +- sim/lm32/dv-lm32timer.c | 2 +- sim/lm32/dv-lm32uart.c | 2 +- sim/lm32/lm32-sim.h | 2 +- sim/lm32/lm32.c | 2 +- sim/lm32/model.c | 2 +- sim/lm32/sem-switch.c | 2 +- sim/lm32/sem.c | 2 +- sim/lm32/sim-if.c | 2 +- sim/lm32/sim-main.h | 2 +- sim/lm32/traps.c | 2 +- sim/lm32/user.c | 2 +- sim/m32c/Makefile.in | 2 +- sim/m32c/configure.ac | 2 +- sim/m32c/cpu.h | 2 +- sim/m32c/gdb-if.c | 2 +- sim/m32c/int.c | 2 +- sim/m32c/int.h | 2 +- sim/m32c/load.c | 2 +- sim/m32c/load.h | 2 +- sim/m32c/m32c.opc | 2 +- sim/m32c/main.c | 2 +- sim/m32c/mem.c | 2 +- sim/m32c/mem.h | 2 +- sim/m32c/misc.c | 2 +- sim/m32c/misc.h | 2 +- sim/m32c/opc2c.c | 2 +- sim/m32c/r8c.opc | 2 +- sim/m32c/reg.c | 2 +- sim/m32c/safe-fgets.c | 2 +- sim/m32c/safe-fgets.h | 2 +- sim/m32c/srcdest.c | 2 +- sim/m32c/syscalls.c | 2 +- sim/m32c/syscalls.h | 2 +- sim/m32c/trace.c | 2 +- sim/m32c/trace.h | 2 +- sim/m32r/Makefile.in | 2 +- sim/m32r/arch.c | 2 +- sim/m32r/arch.h | 2 +- sim/m32r/configure | 16 +- sim/m32r/cpu.c | 2 +- sim/m32r/cpu.h | 2 +- sim/m32r/cpu2.c | 2 +- sim/m32r/cpu2.h | 2 +- sim/m32r/cpuall.h | 2 +- sim/m32r/cpux.c | 2 +- sim/m32r/cpux.h | 2 +- sim/m32r/decode.c | 2 +- sim/m32r/decode.h | 2 +- sim/m32r/decode2.c | 2 +- sim/m32r/decode2.h | 2 +- sim/m32r/decodex.c | 2 +- sim/m32r/decodex.h | 2 +- sim/m32r/dv-m32r_cache.c | 2 +- sim/m32r/dv-m32r_cache.h | 2 +- sim/m32r/dv-m32r_uart.c | 2 +- sim/m32r/dv-m32r_uart.h | 2 +- sim/m32r/m32r-sim.h | 2 +- sim/m32r/m32r.c | 2 +- sim/m32r/m32r2.c | 2 +- sim/m32r/m32rx.c | 2 +- sim/m32r/mloop.in | 2 +- sim/m32r/mloop2.in | 2 +- sim/m32r/mloopx.in | 2 +- sim/m32r/model.c | 2 +- sim/m32r/model2.c | 2 +- sim/m32r/modelx.c | 2 +- sim/m32r/sem-switch.c | 2 +- sim/m32r/sem.c | 2 +- sim/m32r/sem2-switch.c | 2 +- sim/m32r/semx-switch.c | 2 +- sim/m32r/sim-if.c | 2 +- sim/m32r/traps-linux.c | 2 +- sim/m32r/traps.c | 2 +- sim/m68hc11/Makefile.in | 2 +- sim/m68hc11/dv-m68hc11.c | 2 +- sim/m68hc11/dv-m68hc11eepr.c | 2 +- sim/m68hc11/dv-m68hc11sio.c | 2 +- sim/m68hc11/dv-m68hc11spi.c | 2 +- sim/m68hc11/dv-m68hc11tim.c | 2 +- sim/m68hc11/dv-nvram.c | 2 +- sim/m68hc11/emulos.c | 2 +- sim/m68hc11/gencode.c | 2 +- sim/m68hc11/interp.c | 2 +- sim/m68hc11/interrupts.c | 2 +- sim/m68hc11/interrupts.h | 2 +- sim/m68hc11/m68hc11_sim.c | 2 +- sim/m68hc11/sim-main.h | 2 +- sim/mcore/Makefile.in | 2 +- sim/mcore/interp.c | 2 +- sim/mcore/sim-main.h | 2 +- sim/microblaze/Makefile.in | 2 +- sim/microblaze/interp.c | 2 +- sim/microblaze/microblaze.h | 2 +- sim/microblaze/microblaze.isa | 2 +- sim/microblaze/sim-main.h | 2 +- sim/mips/configure.ac | 2 +- sim/mips/cp1.c | 2 +- sim/mips/cp1.h | 2 +- sim/mips/dsp.c | 2 +- sim/mips/dsp.igen | 2 +- sim/mips/dsp2.igen | 2 +- sim/mips/dv-tx3904cpu.c | 2 +- sim/mips/dv-tx3904irc.c | 2 +- sim/mips/dv-tx3904sio.c | 2 +- sim/mips/dv-tx3904tmr.c | 2 +- sim/mips/m16e.igen | 2 +- sim/mips/mdmx.c | 2 +- sim/mips/mdmx.igen | 2 +- sim/mips/micromips.igen | 2 +- sim/mips/micromipsdsp.igen | 2 +- sim/mips/micromipsrun.c | 2 +- sim/mips/mips3264r2.igen | 2 +- sim/mips/mips3d.igen | 2 +- sim/mips/sb1.igen | 2 +- sim/mips/sim-main.h | 2 +- sim/mips/smartmips.igen | 2 +- sim/mn10300/Makefile.in | 2 +- sim/mn10300/dv-mn103cpu.c | 2 +- sim/mn10300/dv-mn103int.c | 2 +- sim/mn10300/dv-mn103iop.c | 2 +- sim/mn10300/dv-mn103ser.c | 2 +- sim/mn10300/dv-mn103tim.c | 2 +- sim/mn10300/sim-main.h | 2 +- sim/moxie/Makefile.in | 2 +- sim/moxie/interp.c | 2 +- sim/moxie/sim-main.h | 2 +- sim/msp430/Makefile.in | 2 +- sim/msp430/configure.ac | 2 +- sim/msp430/msp430-sim.c | 2 +- sim/msp430/msp430-sim.h | 2 +- sim/msp430/sim-main.h | 2 +- sim/or1k/Makefile.in | 2 +- sim/or1k/arch.c | 2 +- sim/or1k/arch.h | 2 +- sim/or1k/configure | 16 +- sim/or1k/cpu.c | 2 +- sim/or1k/cpu.h | 2 +- sim/or1k/cpuall.h | 2 +- sim/or1k/decode.c | 2 +- sim/or1k/decode.h | 2 +- sim/or1k/mloop.in | 2 +- sim/or1k/model.c | 2 +- sim/or1k/or1k-sim.h | 2 +- sim/or1k/or1k.c | 2 +- sim/or1k/sem-switch.c | 2 +- sim/or1k/sem.c | 2 +- sim/or1k/sim-if.c | 2 +- sim/or1k/sim-main.h | 2 +- sim/or1k/traps.c | 2 +- sim/ppc/ChangeLog | 4 + sim/ppc/Makefile.in | 4 +- sim/ppc/altivec.igen | 2 +- sim/ppc/altivec_expression.h | 2 +- sim/ppc/altivec_registers.h | 2 +- sim/ppc/dp-bit.c | 2 +- sim/ppc/e500.igen | 2 +- sim/ppc/e500_expression.h | 2 +- sim/ppc/e500_registers.h | 2 +- sim/ppc/gdb-sim.c | 2 +- sim/ppc/psim.texinfo | 2 +- sim/rl78/Makefile.in | 2 +- sim/rl78/configure.ac | 2 +- sim/rl78/cpu.c | 2 +- sim/rl78/cpu.h | 2 +- sim/rl78/gdb-if.c | 2 +- sim/rl78/load.c | 2 +- sim/rl78/load.h | 2 +- sim/rl78/main.c | 2 +- sim/rl78/mem.c | 2 +- sim/rl78/mem.h | 2 +- sim/rl78/rl78.c | 2 +- sim/rl78/trace.c | 2 +- sim/rl78/trace.h | 2 +- sim/rx/Makefile.in | 2 +- sim/rx/configure.ac | 2 +- sim/rx/cpu.h | 2 +- sim/rx/err.c | 2 +- sim/rx/err.h | 2 +- sim/rx/fpu.c | 2 +- sim/rx/fpu.h | 2 +- sim/rx/gdb-if.c | 2 +- sim/rx/load.c | 2 +- sim/rx/load.h | 2 +- sim/rx/main.c | 2 +- sim/rx/mem.c | 2 +- sim/rx/mem.h | 2 +- sim/rx/misc.c | 2 +- sim/rx/misc.h | 2 +- sim/rx/reg.c | 2 +- sim/rx/rx.c | 2 +- sim/rx/syscalls.c | 2 +- sim/rx/syscalls.h | 2 +- sim/rx/trace.c | 2 +- sim/rx/trace.h | 2 +- sim/sh/Makefile.in | 2 +- sim/sh/sim-main.h | 2 +- sim/sh64/Makefile.in | 2 +- sim/sh64/arch.c | 2 +- sim/sh64/arch.h | 2 +- sim/sh64/configure | 16 +- sim/sh64/cpu.c | 2 +- sim/sh64/cpu.h | 2 +- sim/sh64/cpuall.h | 2 +- sim/sh64/decode-compact.c | 2 +- sim/sh64/decode-compact.h | 2 +- sim/sh64/decode-media.c | 2 +- sim/sh64/decode-media.h | 2 +- sim/sh64/defs-compact.h | 2 +- sim/sh64/defs-media.h | 2 +- sim/sh64/eng.h | 2 +- sim/sh64/sem-compact-switch.c | 2 +- sim/sh64/sem-compact.c | 2 +- sim/sh64/sem-media-switch.c | 2 +- sim/sh64/sem-media.c | 2 +- sim/sh64/sh-desc.c | 2 +- sim/sh64/sh-desc.h | 2 +- sim/sh64/sh-opc.h | 2 +- sim/sh64/sh64-sim.h | 2 +- sim/sh64/sh64.c | 2 +- sim/sh64/sim-if.c | 2 +- sim/testsuite/Makefile.in | 2 +- sim/testsuite/common/bits-gen.c | 2 +- sim/testsuite/d10v-elf/Makefile.in | 2 +- sim/testsuite/frv-elf/Makefile.in | 2 +- sim/testsuite/m32r-elf/Makefile.in | 2 +- sim/testsuite/mips64el-elf/Makefile.in | 2 +- sim/testsuite/sim/cris/asm/asm.exp | 2 +- sim/testsuite/sim/cris/c/c.exp | 2 +- sim/testsuite/sim/cris/hw/rv-n-cris/rvc.exp | 2 +- sim/testsuite/sim/m32c/blinky.s | 2 +- sim/testsuite/sim/m32c/gloss.s | 2 +- sim/testsuite/sim/m32c/sample.ld | 2 +- sim/testsuite/sim/m32c/sample.s | 2 +- sim/testsuite/sim/m32c/sample2.c | 2 +- sim/testsuite/sim/mips/hilo-hazard-4.s | 2 +- sim/testsuite/sim/mips/mips32-dsp.s | 2 +- sim/testsuite/sim/mips/testutils.inc | 2 +- sim/testsuite/sim/mips/utils-dsp.inc | 2 +- sim/testsuite/sim/mips/utils-fpu.inc | 2 +- sim/testsuite/sim/mips/utils-mdmx.inc | 2 +- sim/testsuite/sim/or1k/add.S | 2 +- sim/testsuite/sim/or1k/alltests.exp | 2 +- sim/testsuite/sim/or1k/and.S | 2 +- sim/testsuite/sim/or1k/basic.S | 2 +- sim/testsuite/sim/or1k/div.S | 2 +- sim/testsuite/sim/or1k/ext.S | 2 +- sim/testsuite/sim/or1k/find.S | 2 +- sim/testsuite/sim/or1k/flag.S | 2 +- sim/testsuite/sim/or1k/fpu.S | 2 +- sim/testsuite/sim/or1k/jump.S | 2 +- sim/testsuite/sim/or1k/load.S | 2 +- sim/testsuite/sim/or1k/mac.S | 2 +- sim/testsuite/sim/or1k/mfspr.S | 2 +- sim/testsuite/sim/or1k/mul.S | 2 +- sim/testsuite/sim/or1k/or.S | 2 +- sim/testsuite/sim/or1k/or1k-asm-test-env.h | 2 +- sim/testsuite/sim/or1k/or1k-asm-test-helpers.h | 2 +- sim/testsuite/sim/or1k/or1k-asm-test.h | 2 +- sim/testsuite/sim/or1k/or1k-asm.h | 2 +- sim/testsuite/sim/or1k/or1k-test.ld | 2 +- sim/testsuite/sim/or1k/ror.S | 2 +- sim/testsuite/sim/or1k/shift.S | 2 +- sim/testsuite/sim/or1k/spr-defs.h | 2 +- sim/testsuite/sim/or1k/sub.S | 2 +- sim/testsuite/sim/or1k/xor.S | 2 +- sim/v850/Makefile.in | 2 +- src-release.sh | 16 +- 9387 files changed, 168811 insertions(+), 130291 deletions(-) create mode 100644 bfd/ChangeLog-2018 mode change 100755 => 100644 bfd/elf64-nfp.c create mode 100644 binutils/ChangeLog-2018 create mode 100644 binutils/testsuite/binutils-all/aarch64/in-order-all.d create mode 100644 binutils/testsuite/binutils-all/aarch64/in-order.d create mode 100644 binutils/testsuite/binutils-all/aarch64/out-of-order-all.d create mode 100644 binutils/testsuite/binutils-all/aarch64/out-of-order.T create mode 100644 binutils/testsuite/binutils-all/aarch64/out-of-order.d create mode 100644 binutils/testsuite/binutils-all/aarch64/out-of-order.s create mode 100644 binutils/testsuite/binutils-all/arm/in-order-all.d create mode 100644 binutils/testsuite/binutils-all/arm/in-order.d create mode 100644 binutils/testsuite/binutils-all/arm/out-of-order-all.d create mode 100644 binutils/testsuite/binutils-all/arm/out-of-order.T create mode 100644 binutils/testsuite/binutils-all/arm/out-of-order.d create mode 100644 binutils/testsuite/binutils-all/arm/out-of-order.s create mode 100644 binutils/testsuite/binutils-all/copy-6.d create mode 100644 binutils/testsuite/binutils-all/cxxfilt.exp create mode 100644 binutils/testsuite/binutils-all/disasm.s create mode 100644 binutils/testsuite/binutils-all/objdump.WK3 create mode 100644 binutils/testsuite/binutils-all/readelf.wKis create mode 100755 binutils/testsuite/binutils-all/strings-1.bin create mode 100644 binutils/testsuite/binutils-all/strings.exp copy elfcpp/{ChangeLog => ChangeLog-2018} (100%) create mode 100644 gas/ChangeLog-2018 create mode 100644 gas/testsuite/gas/aarch64/armv8_5-a-memtag.d create mode 100644 gas/testsuite/gas/aarch64/armv8_5-a-memtag.s delete mode 100644 gas/testsuite/gas/aarch64/dotproduct_armv8_4.d delete mode 100644 gas/testsuite/gas/aarch64/dotproduct_armv8_4.s create mode 100644 gas/testsuite/gas/aarch64/illegal-memtag.d create mode 100644 gas/testsuite/gas/aarch64/illegal-memtag.l create mode 100644 gas/testsuite/gas/aarch64/illegal-memtag.s delete mode 100644 gas/testsuite/gas/aarch64/ldst-rcpc-armv8_2.d create mode 100644 gas/testsuite/gas/aarch64/pac_ab_key.d create mode 100644 gas/testsuite/gas/aarch64/pac_ab_key.s create mode 100644 gas/testsuite/gas/aarch64/undefined_advsimd_armv8_3.d create mode 100644 gas/testsuite/gas/aarch64/undefined_advsimd_armv8_3.s create mode 100644 gas/testsuite/gas/aarch64/undefined_by_elem_sz_l.d create mode 100644 gas/testsuite/gas/aarch64/undefined_by_elem_sz_l.s create mode 100644 gas/testsuite/gas/all/pr23938.s create mode 100644 gas/testsuite/gas/arm/archv6t2-1-pe.d create mode 100644 gas/testsuite/gas/arm/archv6t2-1.d create mode 100644 gas/testsuite/gas/arm/archv6t2-1.s create mode 100644 gas/testsuite/gas/arm/archv6t2-2.d create mode 100644 gas/testsuite/gas/arm/armv8-2-fp16-scalar-bad-ext.d create mode 100644 gas/testsuite/gas/arm/armv8-2-fp16-scalar-ext.d create mode 100644 gas/testsuite/gas/arm/armv8-2-fp16-scalar-thumb-ext.d create mode 100644 gas/testsuite/gas/arm/armv8-2-fp16-simd-ext.d create mode 100644 gas/testsuite/gas/arm/armv8-2-fp16-simd-thumb-ext.d create mode 100644 gas/testsuite/gas/arm/armv8-2-fp16-simd-warning-ext.d create mode 100644 gas/testsuite/gas/arm/armv8-2-fp16-simd-warning-thumb-ext.d create mode 100644 gas/testsuite/gas/arm/armv8_2+rdma-ext.d create mode 100644 gas/testsuite/gas/arm/armv8_2-a-fp16-thumb2-ext.d create mode 100644 gas/testsuite/gas/arm/armv8_2-a-fp16_ext.d create mode 100644 gas/testsuite/gas/arm/armv8_3-a-fp-bad-ext.d create mode 100644 gas/testsuite/gas/arm/armv8_3-a-fp-ext.d create mode 100644 gas/testsuite/gas/arm/armv8_3-a-fp16-ext.d create mode 100644 gas/testsuite/gas/arm/armv8_3-a-simd-bad-ext.d create mode 100644 gas/testsuite/gas/arm/armv8_4-a-fp16-ext.d create mode 100644 gas/testsuite/gas/arm/armv8m.main+fp.d create mode 100644 gas/testsuite/gas/arm/armv8m.main+fp.dp.d create mode 100644 gas/testsuite/gas/arm/attr-ext-fpv5-d16.d create mode 100644 gas/testsuite/gas/arm/attr-ext-fpv5.d create mode 100644 gas/testsuite/gas/arm/attr-ext-idiv.d create mode 100644 gas/testsuite/gas/arm/attr-ext-mp.d create mode 100644 gas/testsuite/gas/arm/attr-ext-neon-fp16.d create mode 100644 gas/testsuite/gas/arm/attr-ext-neon-vfpv3.d create mode 100644 gas/testsuite/gas/arm/attr-ext-neon-vfpv4.d create mode 100644 gas/testsuite/gas/arm/attr-ext-sec.d create mode 100644 gas/testsuite/gas/arm/attr-ext-vfpv3-d16-fp16.d create mode 100644 gas/testsuite/gas/arm/attr-ext-vfpv3-d16.d create mode 100644 gas/testsuite/gas/arm/attr-ext-vfpv3-fp16.d create mode 100644 gas/testsuite/gas/arm/attr-ext-vfpv3.d create mode 100644 gas/testsuite/gas/arm/attr-ext-vfpv3xd-fp.d create mode 100644 gas/testsuite/gas/arm/attr-ext-vfpv3xd.d create mode 100644 gas/testsuite/gas/arm/attr-ext-vfpv4-d16.d create mode 100644 gas/testsuite/gas/arm/attr-ext-vfpv4-sp-d16.d create mode 100644 gas/testsuite/gas/arm/attr-ext-vfpv4.d create mode 100644 gas/testsuite/gas/arm/blx-local-thumb.d create mode 100644 gas/testsuite/gas/arm/blx-local-thumb.s create mode 100644 gas/testsuite/gas/arm/cpu-arm1020.d create mode 100644 gas/testsuite/gas/arm/cpu-arm1020e.d create mode 100644 gas/testsuite/gas/arm/cpu-arm1020t.d create mode 100644 gas/testsuite/gas/arm/cpu-arm1022e.d create mode 100644 gas/testsuite/gas/arm/cpu-arm1026ej-s.d create mode 100644 gas/testsuite/gas/arm/cpu-arm1026ejs.d create mode 100644 gas/testsuite/gas/arm/cpu-arm10e.d create mode 100644 gas/testsuite/gas/arm/cpu-arm10t.d create mode 100644 gas/testsuite/gas/arm/cpu-arm10tdmi.d create mode 100644 gas/testsuite/gas/arm/cpu-arm1136j-s.d create mode 100644 gas/testsuite/gas/arm/cpu-arm1136jf-s.d create mode 100644 gas/testsuite/gas/arm/cpu-arm1136jfs.d create mode 100644 gas/testsuite/gas/arm/cpu-arm1136js.d create mode 100644 gas/testsuite/gas/arm/cpu-arm1156t2-s.d create mode 100644 gas/testsuite/gas/arm/cpu-arm1156t2f-s.d create mode 100644 gas/testsuite/gas/arm/cpu-arm1176jz-s.d create mode 100644 gas/testsuite/gas/arm/cpu-arm1176jzf-s.d create mode 100644 gas/testsuite/gas/arm/cpu-arm2.d create mode 100644 gas/testsuite/gas/arm/cpu-arm250.d create mode 100644 gas/testsuite/gas/arm/cpu-arm3.d create mode 100644 gas/testsuite/gas/arm/cpu-arm6.d create mode 100644 gas/testsuite/gas/arm/cpu-arm60.d create mode 100644 gas/testsuite/gas/arm/cpu-arm600.d create mode 100644 gas/testsuite/gas/arm/cpu-arm610.d create mode 100644 gas/testsuite/gas/arm/cpu-arm620.d create mode 100644 gas/testsuite/gas/arm/cpu-arm7.d create mode 100644 gas/testsuite/gas/arm/cpu-arm70.d create mode 100644 gas/testsuite/gas/arm/cpu-arm700.d create mode 100644 gas/testsuite/gas/arm/cpu-arm700i.d create mode 100644 gas/testsuite/gas/arm/cpu-arm710.d create mode 100644 gas/testsuite/gas/arm/cpu-arm7100.d create mode 100644 gas/testsuite/gas/arm/cpu-arm710c.d create mode 100644 gas/testsuite/gas/arm/cpu-arm710t.d create mode 100644 gas/testsuite/gas/arm/cpu-arm720.d create mode 100644 gas/testsuite/gas/arm/cpu-arm720t.d create mode 100644 gas/testsuite/gas/arm/cpu-arm740t.d create mode 100644 gas/testsuite/gas/arm/cpu-arm7500.d create mode 100644 gas/testsuite/gas/arm/cpu-arm7500fe.d create mode 100644 gas/testsuite/gas/arm/cpu-arm7d.d create mode 100644 gas/testsuite/gas/arm/cpu-arm7di.d create mode 100644 gas/testsuite/gas/arm/cpu-arm7dm.d create mode 100644 gas/testsuite/gas/arm/cpu-arm7dmi.d create mode 100644 gas/testsuite/gas/arm/cpu-arm7m.d create mode 100644 gas/testsuite/gas/arm/cpu-arm7t.d create mode 100644 gas/testsuite/gas/arm/cpu-arm7tdmi-s.d create mode 100644 gas/testsuite/gas/arm/cpu-arm7tdmi.d create mode 100644 gas/testsuite/gas/arm/cpu-arm8.d create mode 100644 gas/testsuite/gas/arm/cpu-arm810.d create mode 100644 gas/testsuite/gas/arm/cpu-arm9.d create mode 100644 gas/testsuite/gas/arm/cpu-arm920.d create mode 100644 gas/testsuite/gas/arm/cpu-arm920t.d create mode 100644 gas/testsuite/gas/arm/cpu-arm922t.d create mode 100644 gas/testsuite/gas/arm/cpu-arm926ej-s.d create mode 100644 gas/testsuite/gas/arm/cpu-arm926ej.d create mode 100644 gas/testsuite/gas/arm/cpu-arm926ejs.d create mode 100644 gas/testsuite/gas/arm/cpu-arm940t.d create mode 100644 gas/testsuite/gas/arm/cpu-arm946e-r0.d create mode 100644 gas/testsuite/gas/arm/cpu-arm946e-s.d create mode 100644 gas/testsuite/gas/arm/cpu-arm946e.d create mode 100644 gas/testsuite/gas/arm/cpu-arm966e-r0.d create mode 100644 gas/testsuite/gas/arm/cpu-arm966e-s.d create mode 100644 gas/testsuite/gas/arm/cpu-arm966e.d create mode 100644 gas/testsuite/gas/arm/cpu-arm968e-s.d create mode 100644 gas/testsuite/gas/arm/cpu-arm9e-r0.d create mode 100644 gas/testsuite/gas/arm/cpu-arm9e.d create mode 100644 gas/testsuite/gas/arm/cpu-arm9tdmi.d create mode 100644 gas/testsuite/gas/arm/cpu-arm_any.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a12.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a15.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a17.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a32.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a35.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a5.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a53.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a55.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a57.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a7.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a72.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a73.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a75.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a76.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a8.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-a9.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m0.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m0plus.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m1.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m23.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m3.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m33.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m4.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-m7.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r4.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r4f.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r5.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r52.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r7.d create mode 100644 gas/testsuite/gas/arm/cpu-cortex-r8.d create mode 100644 gas/testsuite/gas/arm/cpu-ep9312.d create mode 100644 gas/testsuite/gas/arm/cpu-exynos-m1.d create mode 100644 gas/testsuite/gas/arm/cpu-fa526.d create mode 100644 gas/testsuite/gas/arm/cpu-fa606te.d create mode 100644 gas/testsuite/gas/arm/cpu-fa616te.d create mode 100644 gas/testsuite/gas/arm/cpu-fa626.d create mode 100644 gas/testsuite/gas/arm/cpu-fa626te.d create mode 100644 gas/testsuite/gas/arm/cpu-fa726te.d create mode 100644 gas/testsuite/gas/arm/cpu-fmp626.d create mode 100644 gas/testsuite/gas/arm/cpu-i80200.d create mode 100644 gas/testsuite/gas/arm/cpu-iwmmxt.d create mode 100644 gas/testsuite/gas/arm/cpu-iwmmxt2.d create mode 100644 gas/testsuite/gas/arm/cpu-marvell-pj4.d create mode 100644 gas/testsuite/gas/arm/cpu-marvell-whitney.d create mode 100644 gas/testsuite/gas/arm/cpu-mpcore.d create mode 100644 gas/testsuite/gas/arm/cpu-mpcorenovfp.d create mode 100644 gas/testsuite/gas/arm/cpu-sa1.d create mode 100644 gas/testsuite/gas/arm/cpu-strongarm.d create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1.d create mode 100644 gas/testsuite/gas/arm/cpu-strongarm110.d create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1100.d create mode 100644 gas/testsuite/gas/arm/cpu-strongarm1110.d create mode 100644 gas/testsuite/gas/arm/cpu-xgene1.d create mode 100644 gas/testsuite/gas/arm/cpu-xgene2.d create mode 100644 gas/testsuite/gas/arm/cpu-xscale.d create mode 100644 gas/testsuite/gas/arm/dotprod-mandatory-ext.d create mode 100644 gas/testsuite/gas/arm/fpv5-d16.s create mode 100644 gas/testsuite/gas/arm/fpv5-sp-d16.s create mode 100644 gas/testsuite/gas/arm/hlt.d create mode 100644 gas/testsuite/gas/arm/hlt.s create mode 100644 gas/testsuite/gas/arm/nop-asm.s create mode 100644 gas/testsuite/gas/arm/note-march-armv2.d create mode 100644 gas/testsuite/gas/arm/note-march-armv2.s create mode 100644 gas/testsuite/gas/arm/note-march-armv2a.d create mode 100644 gas/testsuite/gas/arm/note-march-armv2a.s create mode 100644 gas/testsuite/gas/arm/note-march-armv3.d create mode 100644 gas/testsuite/gas/arm/note-march-armv3.s create mode 100644 gas/testsuite/gas/arm/note-march-armv3m.d create mode 100644 gas/testsuite/gas/arm/note-march-armv3m.s create mode 100644 gas/testsuite/gas/arm/note-march-armv4.d create mode 100644 gas/testsuite/gas/arm/note-march-armv4.s create mode 100644 gas/testsuite/gas/arm/note-march-armv4t.d create mode 100644 gas/testsuite/gas/arm/note-march-armv4t.s create mode 100644 gas/testsuite/gas/arm/note-march-armv5.d create mode 100644 gas/testsuite/gas/arm/note-march-armv5.s create mode 100644 gas/testsuite/gas/arm/note-march-armv5t.d create mode 100644 gas/testsuite/gas/arm/note-march-armv5t.s create mode 100644 gas/testsuite/gas/arm/note-march-armv5te.d create mode 100644 gas/testsuite/gas/arm/note-march-armv5te.s create mode 100644 gas/testsuite/gas/arm/note-march-ep9312.d create mode 100644 gas/testsuite/gas/arm/note-march-ep9312.s create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt.d create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt.s create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt2.d create mode 100644 gas/testsuite/gas/arm/note-march-iwmmxt2.s create mode 100644 gas/testsuite/gas/arm/note-march-xscale.d create mode 100644 gas/testsuite/gas/arm/note-march-xscale.s create mode 100644 gas/testsuite/gas/arm/sb-thumb1-pe.d create mode 100644 gas/testsuite/gas/arm/sb-thumb2-pe.d create mode 100644 gas/testsuite/gas/elf/section2.e-riscv create mode 100644 gas/testsuite/gas/i386/ilp32/x86-64-gotpcrel-2.d create mode 100644 gas/testsuite/gas/i386/optimize-1a.d create mode 100644 gas/testsuite/gas/i386/optimize-6.s create mode 100644 gas/testsuite/gas/i386/optimize-6a.l create mode 100644 gas/testsuite/gas/i386/optimize-6a.s create mode 100644 gas/testsuite/gas/i386/optimize-6b.d create mode 100644 gas/testsuite/gas/i386/optimize-7.l create mode 100644 gas/testsuite/gas/i386/optimize-7.s create mode 100644 gas/testsuite/gas/i386/x86-64-gotpcrel-2.d create mode 100644 gas/testsuite/gas/i386/x86-64-gotpcrel-2.s create mode 100644 gas/testsuite/gas/i386/x86-64-optimize-2a.d create mode 100644 gas/testsuite/gas/i386/x86-64-optimize-2b.d create mode 100644 gas/testsuite/gas/i386/x86-64-optimize-2b.s create mode 100644 gas/testsuite/gas/i386/x86-64-optimize-7.s create mode 100644 gas/testsuite/gas/i386/x86-64-optimize-7a.l create mode 100644 gas/testsuite/gas/i386/x86-64-optimize-7a.s create mode 100644 gas/testsuite/gas/i386/x86-64-optimize-7b.d create mode 100644 gas/testsuite/gas/i386/x86-64-optimize-8.l create mode 100644 gas/testsuite/gas/i386/x86-64-optimize-8.s create mode 100644 gas/testsuite/gas/mips/r5900-fix.d create mode 100644 gas/testsuite/gas/mips/r5900-fix.s create mode 100644 gas/testsuite/gas/mips/r5900-no-fix.d create mode 100644 gas/testsuite/gas/mips/r5900-no-fix.s create mode 100644 gas/testsuite/gas/msp430/nop-dint-430.d create mode 100644 gas/testsuite/gas/msp430/nop-dint-430.l create mode 100644 gas/testsuite/gas/msp430/nop-dint-430x-ignore.d create mode 100644 gas/testsuite/gas/msp430/nop-dint-430x-silent.d create mode 100644 gas/testsuite/gas/msp430/nop-dint-430x.d create mode 100644 gas/testsuite/gas/msp430/nop-dint-430x.l create mode 100644 gas/testsuite/gas/msp430/nop-dint.s create mode 100644 gas/testsuite/gas/msp430/nop-eint-430.d create mode 100644 gas/testsuite/gas/msp430/nop-eint-430.l create mode 100644 gas/testsuite/gas/msp430/nop-eint-430x-ignore.d create mode 100644 gas/testsuite/gas/msp430/nop-eint-430x-silent.d create mode 100644 gas/testsuite/gas/msp430/nop-eint-430x.d create mode 100644 gas/testsuite/gas/msp430/nop-eint-430x.l create mode 100644 gas/testsuite/gas/msp430/nop-eint.s create mode 100644 gas/testsuite/gas/msp430/nop-int-430.d create mode 100644 gas/testsuite/gas/msp430/nop-int-430.l create mode 100644 gas/testsuite/gas/msp430/nop-int-430x-silent.d create mode 100644 gas/testsuite/gas/msp430/nop-int-430x.d create mode 100644 gas/testsuite/gas/msp430/nop-int-430x.l create mode 100644 gas/testsuite/gas/msp430/nop-int.s create mode 100644 gas/testsuite/gas/riscv/attribute-01.d create mode 100644 gas/testsuite/gas/riscv/attribute-02.d create mode 100644 gas/testsuite/gas/riscv/attribute-03.d create mode 100644 gas/testsuite/gas/riscv/attribute-04.d create mode 100644 gas/testsuite/gas/riscv/attribute-04.s create mode 100644 gas/testsuite/gas/riscv/attribute-05.d create mode 100644 gas/testsuite/gas/riscv/attribute-05.s create mode 100644 gas/testsuite/gas/riscv/attribute-06.d create mode 100644 gas/testsuite/gas/riscv/attribute-06.s create mode 100644 gas/testsuite/gas/riscv/attribute-07.d create mode 100644 gas/testsuite/gas/riscv/attribute-07.s create mode 100644 gas/testsuite/gas/riscv/attribute-08.d create mode 100644 gas/testsuite/gas/riscv/attribute-08.s create mode 100644 gas/testsuite/gas/riscv/attribute-empty.d create mode 100644 gas/testsuite/gas/riscv/attribute-unknown.d create mode 100644 gas/testsuite/gas/riscv/attribute-unknown.s create mode 100644 gas/testsuite/gas/riscv/auipc-parsing.d create mode 100644 gas/testsuite/gas/riscv/auipc-parsing.l create mode 100644 gas/testsuite/gas/riscv/auipc-parsing.s create mode 100644 gas/testsuite/gas/riscv/empty.l create mode 100644 gas/testsuite/gas/riscv/empty.s create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32ef.d create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32ef.l create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32i.d create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32i.l create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32iam.d create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32iam.l create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32ic.d create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32ic.l create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32icx2p.d create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32icx2p.l create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32imc.d create mode 100644 gas/testsuite/gas/riscv/march-fail-rv32imc.l create mode 100644 gas/testsuite/gas/riscv/march-fail-rv64I.d create mode 100644 gas/testsuite/gas/riscv/march-fail-rv64I.l create mode 100644 gas/testsuite/gas/riscv/march-fail-rv64e.d create mode 100644 gas/testsuite/gas/riscv/march-fail-rv64e.l create mode 100644 gas/testsuite/gas/riscv/march-ok-g2.d create mode 100644 gas/testsuite/gas/riscv/march-ok-g2_p1.d create mode 100644 gas/testsuite/gas/riscv/march-ok-g2p0.d create mode 100644 gas/testsuite/gas/riscv/march-ok-i2p0.d create mode 100644 gas/testsuite/gas/riscv/march-ok-i2p0m2_a2f2.d create mode 100644 gas/testsuite/gas/riscv/march-ok-nse-with-version.d create mode 100644 gas/testsuite/gas/riscv/march-ok-s-with-version.d create mode 100644 gas/testsuite/gas/riscv/march-ok-s.d create mode 100644 gas/testsuite/gas/riscv/march-ok-sx.d create mode 100644 gas/testsuite/gas/riscv/march-ok-two-nse.d create mode 100644 gas/testsuite/gas/riscv/tprel-add.d create mode 100644 gas/testsuite/gas/riscv/tprel-add.l create mode 100644 gas/testsuite/gas/riscv/tprel-add.s create mode 100644 gas/testsuite/gas/rx/Xtod.d create mode 100644 gas/testsuite/gas/rx/Xtod.sm create mode 100644 gas/testsuite/gas/rx/bfmov.d create mode 100644 gas/testsuite/gas/rx/bfmov.sm create mode 100644 gas/testsuite/gas/rx/dabs.d create mode 100644 gas/testsuite/gas/rx/dabs.sm create mode 100644 gas/testsuite/gas/rx/dadd.d create mode 100644 gas/testsuite/gas/rx/dadd.sm create mode 100644 gas/testsuite/gas/rx/dcmp.d create mode 100644 gas/testsuite/gas/rx/dcmp.sm create mode 100644 gas/testsuite/gas/rx/ddiv.d create mode 100644 gas/testsuite/gas/rx/ddiv.sm create mode 100644 gas/testsuite/gas/rx/dmov.d create mode 100644 gas/testsuite/gas/rx/dmov.sm create mode 100644 gas/testsuite/gas/rx/dmul.d create mode 100644 gas/testsuite/gas/rx/dmul.sm create mode 100644 gas/testsuite/gas/rx/dneg.d create mode 100644 gas/testsuite/gas/rx/dneg.sm create mode 100644 gas/testsuite/gas/rx/dpopm.d create mode 100644 gas/testsuite/gas/rx/dpopm.sm create mode 100644 gas/testsuite/gas/rx/dpushm.d create mode 100644 gas/testsuite/gas/rx/dpushm.sm create mode 100644 gas/testsuite/gas/rx/dround.d create mode 100644 gas/testsuite/gas/rx/dround.sm create mode 100644 gas/testsuite/gas/rx/dsqrt.d create mode 100644 gas/testsuite/gas/rx/dsqrt.sm create mode 100644 gas/testsuite/gas/rx/dsub.d create mode 100644 gas/testsuite/gas/rx/dsub.sm create mode 100644 gas/testsuite/gas/rx/dtoX.d create mode 100644 gas/testsuite/gas/rx/dtoX.sm create mode 100644 gas/testsuite/gas/rx/mvfdc.d create mode 100644 gas/testsuite/gas/rx/mvfdc.sm create mode 100644 gas/testsuite/gas/rx/mvfdr.d create mode 100644 gas/testsuite/gas/rx/mvfdr.sm create mode 100644 gas/testsuite/gas/rx/mvtdc.d create mode 100644 gas/testsuite/gas/rx/mvtdc.sm create mode 100644 gas/testsuite/gas/rx/rstr.d create mode 100644 gas/testsuite/gas/rx/rstr.sm create mode 100644 gas/testsuite/gas/rx/save.d create mode 100644 gas/testsuite/gas/rx/save.sm create mode 100644 gas/testsuite/gas/s12z/exg.l create mode 100644 gas/testsuite/gas/s12z/imm-dest.d create mode 100644 gas/testsuite/gas/s12z/imm-dest.l create mode 100644 gas/testsuite/gas/s12z/imm-dest.s create mode 100644 gas/testsuite/gas/s12z/labels.d create mode 100644 gas/testsuite/gas/s12z/labels.s create mode 100644 gas/testsuite/gas/s12z/mov-imm-reloc.d create mode 100644 gas/testsuite/gas/s12z/mov-imm-reloc.s create mode 100644 gas/testsuite/gas/s12z/pc-rel-bad.d create mode 100644 gas/testsuite/gas/s12z/pc-rel-bad.l create mode 100644 gas/testsuite/gas/s12z/pc-rel-bad.s create mode 100644 gas/testsuite/gas/s12z/pc-rel-good.d create mode 100644 gas/testsuite/gas/s12z/pc-rel-good.s create mode 100644 gas/testsuite/gas/s390/zarch-arch13.d create mode 100644 gas/testsuite/gas/s390/zarch-arch13.s create mode 100644 gas/testsuite/gas/s390/zarch-optargs.d create mode 100644 gas/testsuite/gas/s390/zarch-optargs.s create mode 100644 gas/testsuite/gas/visium/bra-1.d create mode 100644 gas/testsuite/gas/visium/bra-1.s create mode 100644 gdb/ChangeLog-2018 create mode 100644 gdb/arch/riscv.c create mode 100644 gdb/arch/riscv.h create mode 100644 gdb/cli/cli-style.c create mode 100644 gdb/cli/cli-style.h create mode 100644 gdb/common/filtered-iterator.h create mode 100644 gdb/common/forward-scope-exit.h create mode 100644 gdb/common/next-iterator.h create mode 100644 gdb/common/safe-iterator.h create mode 100644 gdb/common/scope-exit.h delete mode 100644 gdb/config/i386/nm-fbsd.h delete mode 100644 gdb/contrib/cleanup_check.py delete mode 100644 gdb/contrib/excheck.py delete mode 100644 gdb/contrib/exsummary.py delete mode 100755 gdb/contrib/gcc-with-excheck create mode 100644 gdb/features/aarch64-pauth.c create mode 100644 gdb/features/aarch64-pauth.xml create mode 100644 gdb/features/i386/32bit-segments.c create mode 100644 gdb/features/i386/32bit-segments.xml create mode 100644 gdb/features/riscv/32bit-cpu.c create mode 100644 gdb/features/riscv/32bit-cpu.xml create mode 100644 gdb/features/riscv/32bit-csr.c create mode 100644 gdb/features/riscv/32bit-csr.xml create mode 100644 gdb/features/riscv/32bit-fpu.c create mode 100644 gdb/features/riscv/32bit-fpu.xml create mode 100644 gdb/features/riscv/64bit-cpu.c create mode 100644 gdb/features/riscv/64bit-cpu.xml create mode 100644 gdb/features/riscv/64bit-csr.c create mode 100644 gdb/features/riscv/64bit-csr.xml create mode 100644 gdb/features/riscv/64bit-fpu.c create mode 100644 gdb/features/riscv/64bit-fpu.xml create mode 100755 gdb/features/riscv/rebuild-csr-xml.sh create mode 100644 gdb/inferior-iter.h create mode 100644 gdb/or1k-linux-tdep.c create mode 100644 gdb/process-stratum-target.c create mode 100644 gdb/process-stratum-target.h create mode 100644 gdb/source-cache.c create mode 100644 gdb/source-cache.h create mode 100755 gdb/syscalls/update-freebsd.sh create mode 100644 gdb/test-target.c create mode 100644 gdb/test-target.h create mode 100644 gdb/testsuite/gdb.ada/big_packed_array.exp create mode 100644 gdb/testsuite/gdb.ada/big_packed_array/foo_ra24_010.adb create mode 100644 gdb/testsuite/gdb.ada/big_packed_array/pck.adb create mode 100644 gdb/testsuite/gdb.ada/big_packed_array/pck.ads delete mode 100644 gdb/testsuite/gdb.ada/bp_fun_addr/a.adb create mode 100644 gdb/testsuite/gdb.ada/bp_fun_addr/bp_fun_addr.adb create mode 100644 gdb/testsuite/gdb.ada/info_auto_lang.exp create mode 100644 gdb/testsuite/gdb.ada/info_auto_lang/global_pack.ads create mode 100644 gdb/testsuite/gdb.ada/info_auto_lang/proc_in_ada.adb create mode 100644 gdb/testsuite/gdb.ada/info_auto_lang/some_c.c create mode 100644 gdb/testsuite/gdb.ada/mi_ref_changeable.exp create mode 100644 gdb/testsuite/gdb.ada/mi_ref_changeable/foo_rb20_056.adb create mode 100644 gdb/testsuite/gdb.ada/mi_ref_changeable/pck.adb create mode 100644 gdb/testsuite/gdb.ada/mi_ref_changeable/pck.ads create mode 100644 gdb/testsuite/gdb.ada/ptype_array.exp create mode 100644 gdb/testsuite/gdb.ada/ptype_array/foo.adb create mode 100644 gdb/testsuite/gdb.ada/ptype_array/pck.adb create mode 100644 gdb/testsuite/gdb.ada/ptype_array/pck.ads create mode 100644 gdb/testsuite/gdb.arch/aarch64-dbreg-contents.c create mode 100644 gdb/testsuite/gdb.arch/aarch64-dbreg-contents.exp create mode 100644 gdb/testsuite/gdb.arch/powerpc-vector-regs.c create mode 100644 gdb/testsuite/gdb.arch/powerpc-vector-regs.exp create mode 100644 gdb/testsuite/gdb.base/gdb-caching-proc.exp create mode 100644 gdb/testsuite/gdb.base/info_minsym.c create mode 100644 gdb/testsuite/gdb.base/info_minsym.exp create mode 100644 gdb/testsuite/gdb.base/interrupt-daemon-attach.c create mode 100644 gdb/testsuite/gdb.base/interrupt-daemon-attach.exp create mode 100644 gdb/testsuite/gdb.base/jit-exec.c create mode 100644 gdb/testsuite/gdb.base/jit-exec.exp create mode 100644 gdb/testsuite/gdb.base/jit-execd.c create mode 100644 gdb/testsuite/gdb.base/msym-lang-main.c create mode 100644 gdb/testsuite/gdb.base/msym-lang.c create mode 100644 gdb/testsuite/gdb.base/msym-lang.exp create mode 100644 gdb/testsuite/gdb.base/pretty-print.c create mode 100644 gdb/testsuite/gdb.base/pretty-print.exp create mode 100644 gdb/testsuite/gdb.base/source-error-1.gdb create mode 100644 gdb/testsuite/gdb.base/stack-protector.c create mode 100644 gdb/testsuite/gdb.base/stack-protector.exp create mode 100644 gdb/testsuite/gdb.base/style.c create mode 100644 gdb/testsuite/gdb.base/style.exp create mode 100644 gdb/testsuite/gdb.base/symlink-sourcefile.c create mode 100644 gdb/testsuite/gdb.base/symlink-sourcefile.exp create mode 100644 gdb/testsuite/gdb.base/warning.exp create mode 100644 gdb/testsuite/gdb.cp/infcall-nodebug-lib.c create mode 100644 gdb/testsuite/gdb.cp/infcall-nodebug-main.c create mode 100644 gdb/testsuite/gdb.cp/infcall-nodebug.exp create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-unusual-field-names.c create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-unusual-field-names.exp create mode 100644 gdb/testsuite/gdb.dwarf2/inlined_subroutine-inheritance.exp create mode 100644 gdb/testsuite/gdb.dwarf2/missing-type-name.exp create mode 100644 gdb/testsuite/gdb.dwarf2/multidictionary.exp create mode 100644 gdb/testsuite/gdb.dwarf2/typedef-void-finish.exp create mode 100644 gdb/testsuite/gdb.fortran/array-bounds.exp create mode 100644 gdb/testsuite/gdb.fortran/array-bounds.f90 create mode 100644 gdb/testsuite/gdb.fortran/dot-ops.exp create mode 100644 gdb/testsuite/gdb.fortran/function-calls.exp create mode 100644 gdb/testsuite/gdb.fortran/function-calls.f90 create mode 100644 gdb/testsuite/gdb.fortran/intrinsics.exp create mode 100644 gdb/testsuite/gdb.fortran/intrinsics.f90 create mode 100644 gdb/testsuite/gdb.fortran/type-kinds.exp delete mode 100644 gdb/testsuite/gdb.mi/mi-breakpoint-location-ena-dis.cc delete mode 100644 gdb/testsuite/gdb.mi/mi-breakpoint-location-ena-dis.exp create mode 100644 gdb/testsuite/gdb.mi/mi-breakpoint-multiple-locations.cc create mode 100644 gdb/testsuite/gdb.mi/mi-breakpoint-multiple-locations.exp create mode 100644 gdb/testsuite/gdb.mi/mi2-cli-display.c create mode 100644 gdb/testsuite/gdb.mi/mi2-cli-display.exp create mode 100644 gdb/testsuite/gdb.python/py-format-string.c create mode 100644 gdb/testsuite/gdb.python/py-format-string.exp create mode 100644 gdb/testsuite/gdb.python/py-format-string.py create mode 100755 gdb/testsuite/print-ts.py delete mode 100644 gdb/thread-fsm.c create mode 100644 gdb/thread-iter.c create mode 100644 gdb/thread-iter.h create mode 100644 gdb/ui-style.c create mode 100644 gdb/ui-style.h create mode 100644 gdb/unittests/child-path-selftests.c create mode 100644 gdb/unittests/copy_bitwise-selftests.c create mode 100644 gdb/unittests/style-selftests.c create mode 100644 gold/ChangeLog-2018 create mode 100644 gold/testsuite/aarch64_pr23870_bar.c create mode 100644 gold/testsuite/aarch64_pr23870_foo.c create mode 100644 gold/testsuite/aarch64_pr23870_main.S copy gprof/{ChangeLog => ChangeLog-2018} (100%) create mode 100644 include/ChangeLog-2018 mode change 100755 => 100644 include/elf/nfp.h create mode 100644 ld/ChangeLog-2018 create mode 100644 ld/testsuite/ld-aarch64/bti-pac-plt-1.d create mode 100644 ld/testsuite/ld-aarch64/bti-pac-plt-2.d create mode 100644 ld/testsuite/ld-aarch64/bti-plt-1.d create mode 100644 ld/testsuite/ld-aarch64/bti-plt-1.s create mode 100644 ld/testsuite/ld-aarch64/bti-plt-2.d create mode 100644 ld/testsuite/ld-aarch64/bti-plt-2.s create mode 100644 ld/testsuite/ld-aarch64/bti-plt-3.d create mode 100644 ld/testsuite/ld-aarch64/bti-plt-4.d create mode 100644 ld/testsuite/ld-aarch64/bti-plt-5.d create mode 100644 ld/testsuite/ld-aarch64/bti-plt-6.d create mode 100644 ld/testsuite/ld-aarch64/bti-plt-7.d create mode 100644 ld/testsuite/ld-aarch64/bti-plt-so.s create mode 100644 ld/testsuite/ld-aarch64/bti-plt.ld create mode 100644 ld/testsuite/ld-aarch64/bti-warn.d create mode 100644 ld/testsuite/ld-aarch64/erratum843419_tls_ie.d create mode 100644 ld/testsuite/ld-aarch64/erratum843419_tls_ie.s create mode 100644 ld/testsuite/ld-aarch64/pac-plt-1.d create mode 100644 ld/testsuite/ld-aarch64/pac-plt-2.d create mode 100644 ld/testsuite/ld-aarch64/property-bti-pac1.d create mode 100644 ld/testsuite/ld-aarch64/property-bti-pac1.s create mode 100644 ld/testsuite/ld-aarch64/property-bti-pac2.d create mode 100644 ld/testsuite/ld-aarch64/property-bti-pac2.s create mode 100644 ld/testsuite/ld-aarch64/property-bti-pac3.d create mode 100644 ld/testsuite/ld-elf/pr23900-1-32.rd create mode 100644 ld/testsuite/ld-elf/pr23900-1-64.rd create mode 100644 ld/testsuite/ld-elf/pr23900-1.d create mode 100644 ld/testsuite/ld-elf/pr23900-1.s create mode 100644 ld/testsuite/ld-elf/pr23900-2.s create mode 100644 ld/testsuite/ld-elf/pr23900-2a.d create mode 100644 ld/testsuite/ld-elf/pr23900-2b.d create mode 100644 ld/testsuite/ld-i386/pr23930.d create mode 100644 ld/testsuite/ld-i386/pr24276.dso create mode 100644 ld/testsuite/ld-i386/pr24276.warn create mode 100644 ld/testsuite/ld-i386/pr24322a.d create mode 100644 ld/testsuite/ld-i386/pr24322b.d create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-0.d create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-1.d create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-2.d create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-3.d create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-4.d create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-absolute-hi.ld create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-absolute-lo.ld create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-j.s create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-lui.s create mode 100644 ld/testsuite/ld-mips-elf/pic-reloc-ordinary.ld create mode 100644 ld/testsuite/ld-plugin/pr23958.c create mode 100644 ld/testsuite/ld-plugin/pr23958.t create mode 100644 ld/testsuite/ld-powerpc/pr23937.d create mode 100644 ld/testsuite/ld-powerpc/pr23937.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-01.d create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-01a.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-01b.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-02.d create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-02a.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-02b.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-03.d create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-03a.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-03b.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01.d create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01a.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-arch-failed-01b.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-a.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-priv-spec-b.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-priv-spec.d create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-stack-align-a.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-stack-align-b.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-stack-align-failed-a.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-stack-align-failed-b.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-stack-align-failed.d create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-stack-align.d create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-01.d create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-01a.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-01b.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-02.d create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-02a.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-02b.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-03.d create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-03a.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-03b.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-04.d create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-04a.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-04b.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-05.d create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-05a.s create mode 100644 ld/testsuite/ld-riscv-elf/attr-merge-strict-align-05b.s create mode 100644 ld/testsuite/ld-scripts/pr24008.d create mode 100644 ld/testsuite/ld-scripts/pr24008.map create mode 100644 ld/testsuite/ld-scripts/pr24008.s create mode 100644 ld/testsuite/ld-scripts/pr24008.t create mode 100644 ld/testsuite/ld-x86-64/pr23930-32.t create mode 100644 ld/testsuite/ld-x86-64/pr23930-x32.d create mode 100644 ld/testsuite/ld-x86-64/pr23930.d create mode 100644 ld/testsuite/ld-x86-64/pr23930.t create mode 100644 ld/testsuite/ld-x86-64/pr23930a.s create mode 100644 ld/testsuite/ld-x86-64/pr23930b.s create mode 100644 ld/testsuite/ld-x86-64/pr23997a.s create mode 100644 ld/testsuite/ld-x86-64/pr23997b.c create mode 100644 ld/testsuite/ld-x86-64/pr23997c.c create mode 100644 ld/testsuite/ld-x86-64/pr24151a-x32.d create mode 100644 ld/testsuite/ld-x86-64/pr24151a.d create mode 100644 ld/testsuite/ld-x86-64/pr24151a.s create mode 100644 ld/testsuite/ld-x86-64/pr24276.dso create mode 100644 ld/testsuite/ld-x86-64/pr24276.warn create mode 100644 ld/testsuite/ld-x86-64/pr24322a-x32.d create mode 100644 ld/testsuite/ld-x86-64/pr24322a.d create mode 100644 ld/testsuite/ld-x86-64/pr24322a.s create mode 100644 ld/testsuite/ld-x86-64/pr24322b-x32.d create mode 100644 ld/testsuite/ld-x86-64/pr24322b.d create mode 100644 ld/testsuite/ld-x86-64/pr24322b.s create mode 100644 ld/testsuite/ld-x86-64/pr24322c.s create mode 100644 ld/testsuite/ld-x86-64/property-x86-ibt1a.map create mode 100644 ld/testsuite/ld-xtensa/call_overflow.d create mode 100644 ld/testsuite/ld-xtensa/call_overflow1.s create mode 100644 ld/testsuite/ld-xtensa/call_overflow2.s create mode 100644 ld/testsuite/ld-xtensa/call_overflow3.s create mode 100644 ld/testsuite/ld-xtensa/relax-undef-weak-pie-export-dynamic.d create mode 100644 opcodes/ChangeLog-2018 create mode 100644 opcodes/s12z-opc.c create mode 100644 opcodes/s12z-opc.h create mode 100755 sim/common/create-version.sh First 500 lines of diff: diff --git a/ChangeLog b/ChangeLog index 60b19fd..cd631a1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,41 @@ +2018-06-24 Nick Clifton + + 2.32 branch created. + +2019-01-14 Rainer Orth + + Merge from GCC: + PR target/88535 + * config.guess: Import upstream version 2019-01-03. + * config.sub: Import upstream version 2019-01-01. + +2019-01-10 Nick Clifton + + * libiberty: Sync with gcc. Bring in: + 2019-01-09 Sandra Loosemore + + PR other/16615 + + * cp-demangle.c: Mechanically replace "can not" with "cannot". + * floatformat.c: Likewise. + * strerror.c: Likewise. + + 2018-12-22 Jason Merrill + + Remove support for demangling GCC 2.x era mangling schemes. + * cplus-dem.c: Remove cplus_mangle_opname, cplus_demangle_opname, + internal_cplus_demangle, and all subroutines. + (libiberty_demanglers): Remove entries for ancient GNU (pre-3.0), + Lucid, ARM, HP, and EDG demangling styles. + (cplus_demangle): Remove 'work' variable. Don't call + internal_cplus_demangle. + +2019-01-03 Дилян Палаузов + + * configure.ac: Don't configure readline if --with-system-readline is + used. + * configure: Re-generate. + 2018-10-31 Joseph Myers Merge from GCC: diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 155251d..2c630be 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,4566 +1,488 @@ -2018-11-06 Romain Margheriti +2019-03-30 Andrew Waterman - PR 23742 - * mach-o.c (bfd_mach_o_read_command): Accept and ignore - BFD_MACH_O_LC_LINKER_OPTIONS and BFD_MACH_O_LC_BUILD_VERSION - commands. + * elfnn-riscv.c (_bfd_riscv_relax_call): Only check ARCH_SIZE for + rd == X_RA case. -2018-11-02 Alan Modra +2019-03-29 Max Filippov - PR 23850 - * elf.c (bfd_section_from_shdr): Treat SHF_ALLOC SHT_REL* sections - in an executable or shared library as normal sections. + * elf32-xtensa.c (shrink_dynamic_reloc_sections): Add + info->export_dynamic to the conditional. -2018-10-31 Renlin Li +2019-03-28 Alan Modra - * elfnn-aarch64.c (elfNN_aarch64_check_relocs): Don't create got - section for Local Exec TLS model. - -2018-10-24 H.J. Lu - - PR ld/23818 - * elflink.c (_bfd_elf_link_assign_sym_version): Hide symbols - defined in discarded input sections. - -2018-10-24 Alan Modra - - * elf32-arm.c (elf32_arm_size_stubs): Ignore as-needed libs that - were not needed. - -2018-10-23 Alan Modra - - PR 23806 - * merge.c (_bfd_add_merge_section): Don't attempt to merge - sections with ridiculously large alignments. - -2018-10-23 Alan Modra - - PR 23805 - * elflink.c (elf_link_input_bfd): Don't segfault on finding - STT_TLS symbols without any TLS sections. Instead, change the - symbol type to STT_NOTYPE. - -2018-10-23 Alan Modra - - PR 23804 - * merge.c (_bfd_add_merge_section): Don't attempt to merge - sections where size is not a multiple of entsize. - -2018-10-20 Alan Modra - - PR 23788 - * elf.c (section_match): Don't require a size match for SHT_SYMTAB - or SHT_STRTAB. - -2018-10-17 Alan Modra - - PR 23653 - * elflink.c (_bfd_elf_link_create_dynstrtab): Match elf_object_id - too when choosing dynobj. - -2018-10-16 Alan Modra - - * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Simplify - PE_DEBUG_DATA size checks. - -2018-10-16 Alan Modra - - PR 23781 - * peXXigen.c (_bfd_XX_bfd_copy_private_bfd_data_common): Free data - before returning. - -2018-10-16 Alan Modra - - PR 23534 - * init.c (bfd_init): Return an unsigned int. - bfd-in2.h: Regenerate. - -2018-10-15 Alan Modra - - PR 23534 - * init.c (BFD_INIT_MAGIC): Define. - (bfd_init): Return BFD_INIT_MAGIC. - bfd-in2.h: Regenerate. - -2018-10-13 Alan Modra - - PR 23770 - PR 23425 - * reloc.c (_bfd_clear_contents): Replace "location" param with - "buf" and "off". Bounds check "off". Return status. - * cofflink.c (_bfd_coff_generic_relocate_section): Update - _bfd_clear_contents call. - * elf-bfd.h (RELOC_AGAINST_DISCARDED_SECTION): Likewise. - * elf32-arc.c (elf_arc_relocate_section): Likewise. - * elf32-i386.c (elf_i386_relocate_section): Likewise. - * elf32-metag.c (metag_final_link_relocate): Likewise. - * elf32-nds32.c (nds32_elf_get_relocated_section_contents): Likewise. - * elf32-ppc.c (ppc_elf_relocate_section): Likewise. - * elf32-visium.c (visium_elf_relocate_section): Likewise. - * elf64-ppc.c (ppc64_elf_relocate_section): Likewise. - * elf64-x86-64.c *(elf_x86_64_relocate_section): Likewise. - * libbfd-in.h (_bfd_clear_contents): Update prototype. - * libbfd.h: Regenerate. - -2018-10-09 Egeyar Bagcioglu - - * elflink.c (elf_link_output_extsym): Do not place symbols into a - discarded .dynsym. - -2018-10-08 H.J. Lu - - PR ld/23428 - * elfxx-x86.c (_bfd_x86_elf_link_setup_gnu_properties): Don't - add GNU_PROPERTY_X86_FEATURE_2_NEEDED to force program header - in non-code PT_LOAD segment. - -2018-10-08 Alan Modra - - * elf-nacl.c (nacl_modify_segment_map): Cope with header PT_LOAD - lacking sections. - * elf.c (_bfd_elf_map_sections_to_segments): Assume file and - program headers are required when info->load_phdrs. Reorganize - code handling program headers. Generate a mapping without - sections just for file and program headers when -z separate-code - would indicate they should be on a different page to the first + PR 24392 + * configure.ac: Invoke AC_CHECK_SIZEOF(int). + * configure: Regenerate. + * coffgen.c (coff_get_reloc_upper_bound): Replace gcc diagnostic + workaround with SIZEOF_LONG vs. SIZEOF_INT check. + * elf.c (_bfd_elf_get_reloc_upper_bound): Likewise. + * elf64-sparc.c (elf64_sparc_get_reloc_upper_bound): Likewise. + * mach-o.c (bfd_mach_o_get_reloc_upper_bound): Likewise. + +2019-03-21 Jim Wilson + + PR 24365 + * elfnn-riscv.c (riscv_elf_relocate_section): For STT_SECTION check, + verify sym non-NULL before using. Add identical check using h. + +2019-03-21 Sudakshina Das + + * elf-bfd.h (struct elf_backend_data): Add argument to + merge_gnu_properties. + * elf-properties.c (elf_merge_gnu_properties): Add argument to + itself and while calling bed->merge_gnu_properties. + (elf_merge_gnu_property_list): Update the calls for + elf_merge_gnu_properties. + * elfnn-aarch64.c (elfNN_aarch64_merge_gnu_properties): Update handling + of --force-bti warning and add argument. + * elfxx-aarch64.c (_bfd_aarch64_elf_link_setup_gnu_properties): Add + warning. + * elfxx-x86.c (_bfd_x86_elf_merge_gnu_properties): Add argument. + * elfxx-x86.h (_bfd_x86_elf_merge_gnu_properties): Likewise in + declaration. + +2019-03-20 Sudakshina Das + + * elfxx-aarch64.c (_bfd_aarch64_elf_link_fixup_gnu_properties): Define. + * elfxx-aarch64.h (_bfd_aarch64_elf_link_fixup_gnu_properties): Declare. + (elf_backend_fixup_gnu_properties): Define for AArch64. + +2019-03-18 Alan Modra + + PR 24355 + * elf32-ppc.c (ppc_finish_symbols): Don't call write_glink_stub + for local iplt syms with ent->plt.offset == -1. Remove ineffective + attempt at writing glink stubs only once. + +2019-03-16 Alan Modra + + PR 24337 + * elf.c (_bfd_elf_rela_local_sym): Revert last change. + (_bfd_elf_rel_local_sym): Likewise. + * elflink.c (elf_link_input_bfd): Use bfd_und_section for + section of symbols with unrecognized shndx. + +2019-03-15 H.J. Lu + + PR ld/24267 + * coffgen.c (_bfd_coff_section_already_linked): Skip discarded section. - -2018-10-08 Alan Modra - - * elf.c (assign_file_positions_for_load_sections): Set p_vaddr - from m->p_vaddr_offset for segments without sections. Invert - sign of p_vaddr_offset. - (rewrite_elf_program_header, copy_elf_program_header): Save - old segment p_vaddr to p_vaddr_offset. Invert sign of - p_vaddr_offset. - -2018-10-08 Alan Modra - - * elf.c (get_program_header_size): Don't count PT_INTERP if - .interp is empty. - (_bfd_elf_map_sections_to_segments): Don't create PT_INTERP if - .interp is empty. - -2018-10-08 Alan Modra - - * elf32-spu.c (spu_elf_modify_segment_map): Don't insert - overlays before segment containing headers. - -2018-10-08 Alan Modra - - * elf.c (make_mapping): Cope with zero size array at end of - struct elf_segment_map. - (_bfd_elf_map_sections_to_segments): Likewise. - (rewrite_elf_program_header, copy_elf_program_header): Likewise. - (_bfd_elf_map_sections_to_segments): Rename phdr_index to hdr_index. - -2018-10-05 Alan Modra - - * elf32-spu.c (spu_elf_create_sections): Make .note.spu_name - SHT_NOTE. - -2018-10-05 Richard Henderson - - * bfd-in2.h: Regenerated. - * elf32-or1k.c: (or1k_elf_howto_table): Fix formatting for - R_OR1K_PLT26, Add R_OR1K_PCREL_PG21, R_OR1K_GOT_PG21, - R_OR1K_TLS_GD_PG21, R_OR1K_TLS_LDM_PG21, R_OR1K_TLS_IE_PG21, - R_OR1K_LO13, R_OR1K_GOT_LO13, R_OR1K_TLS_GD_LO13, R_OR1K_TLS_LDM_LO13, - R_OR1K_TLS_IE_LO13, R_OR1K_SLO13, R_OR1K_PLTA26. - (or1k_reloc_map): Add BFD_RELOC_OR1K_PCREL_PG21, - BFD_RELOC_OR1K_GOT_PG21, BFD_RELOC_OR1K_TLS_GD_PG21, - BFD_RELOC_OR1K_TLS_LDM_PG21, BFD_RELOC_OR1K_TLS_IE_PG21, - BFD_RELOC_OR1K_LO13, BFD_RELOC_OR1K_GOT_LO13, - BFD_RELOC_OR1K_TLS_GD_LO13, BFD_RELOC_OR1K_TLS_GD_LO13, - BFD_RELOC_OR1K_TLS_LDM_LO13, BFD_RELOC_OR1K_TLS_IE_LO13, - BFD_RELOC_OR1K_SLO13, BFD_RELOC_OR1K_PLTA26. - (elf_or1k_link_hash_table): Add field saw_plta. - (or1k_final_link_relocate): Add value calculations for new relocations. - (or1k_elf_relocate_section): Add section relocations for new - relocations. - (or1k_write_plt_entry): New function. - (or1k_elf_finish_dynamic_sections): Add support for PLTA relocations - using new l.adrp instruction. Cleanup PLT relocation code generation. - * libbfd.h: Regenerated. - * reloc.c: Add BFD_RELOC_OR1K_PCREL_PG21, BFD_RELOC_OR1K_LO13, - BFD_RELOC_OR1K_SLO13, BFD_RELOC_OR1K_GOT_PG21, BFD_RELOC_OR1K_GOT_LO13, - BFD_RELOC_OR1K_PLTA26, BFD_RELOC_OR1K_TLS_GD_PG21, - BFD_RELOC_OR1K_TLS_GD_LO13, BFD_RELOC_OR1K_TLS_LDM_PG21, - BFD_RELOC_OR1K_TLS_LDM_LO13, BFD_RELOC_OR1K_TLS_IE_PG21, - BFD_RELOC_OR1K_TLS_IE_LO13. - -2018-10-05 Richard Henderson - - * elf32-or1k.c (or1k_elf_relocate_section): Add error for unknown - relocations. Add error for non zero addend with plt and got - relocations. Add error for got and plt references against dynamic, non - local, symbols. Add error when linking non shared liraries with - flag_pic. - -2018-10-05 Richard Henderson - Stafford Horne - - * bfd-in2.h: Regenerated. - * elf32-or1k.c (N_ONES): New macro. - (or1k_elf_howto_table): Fix R_OR1K_PLT26 to complain on overflow. - Add definitions for R_OR1K_TLS_TPOFF, R_OR1K_TLS_DTPOFF, - R_OR1K_TLS_DTPMOD, R_OR1K_AHI16, R_OR1K_GOTOFF_AHI16, - R_OR1K_TLS_IE_AHI16, R_OR1K_TLS_LE_AHI16, R_OR1K_SLO16, - R_OR1K_GOTOFF_SLO16, R_OR1K_TLS_LE_SLO16. - (or1k_reloc_map): Add entries for BFD_RELOC_HI16_S, - BFD_RELOC_LO16_GOTOFF, BFD_RELOC_HI16_GOTOFF, BFD_RELOC_HI16_S_GOTOFF, - BFD_RELOC_OR1K_TLS_IE_AHI16, BFD_RELOC_OR1K_TLS_LE_AHI16, - BFD_RELOC_OR1K_SLO16, BFD_RELOC_OR1K_GOTOFF_SLO16, - BFD_RELOC_OR1K_TLS_LE_SLO16. - (or1k_reloc_type_lookup): Change search loop to start ad index 0 and - also check results before returning. - (or1k_reloc_name_lookup): Simplify loop to use R_OR1K_max as index - limit. - (or1k_final_link_relocate): New function. - (or1k_elf_relocate_section): Add support for new AHI and SLO - relocations. Use or1k_final_link_relocate instead of generic - _bfd_final_link_relocate. - (or1k_elf_check_relocs): Add support for new AHI and SLO relocations. - * reloc.c: Add new enums for BFD_RELOC_OR1K_SLO16, - BFD_RELOC_OR1K_GOTOFF_SLO16, BFD_RELOC_OR1K_TLS_IE_AHI16, - BFD_RELOC_OR1K_TLS_IE_AHI16, BFD_RELOC_OR1K_TLS_LE_AHI16, - BFD_RELOC_OR1K_TLS_LE_SLO16. Remove unused BFD_RELOC_OR1K_GOTOFF_HI16 - and BFD_RELOC_OR1K_GOTOFF_LO16. - * libbfd.h: Regenerated. - -2018-10-04 Jim Wilson - - * elfnn-riscv.c (riscv_elf_size_dynamic_sections): In dynobj->sections - loop, handle htab->sdyntdata section. - -2018-10-04 Jose E. Marchesi - - * elf64-sparc.c (elf64_sparc_output_arch_syms): Do notcorrect the - impact of STT_REGISTER symbols in the dynsym sh_info here... - * elfxx-sparc.c (_bfd_sparc_elf_finish_dynamic_sections): ...but - do it here. - -2018-10-03 H.J. Lu - - PR ld/23658 - * elf.c (get_program_header_size): Put all adjacent SHT_NOTE - sections with the same section alignment into a single PT_NOTE - segment. Check SHT_NOTE section type instead of section name. - (_bfd_elf_map_sections_to_segments): Likewise. - -2018-10-03 Millan Wolff - - PR 23715 - * dwarf2.c (find_abstract_instance): Allow recursive invocations - of find_abstract_instance to override the name variable. - -2018-10-03 Nick Clifton - - * po/pt.po: Updated Portuguese translation. - -2018-10-01 Cupertino Miranda - - * arc-got.h (relocate_fix_got_relocs_for_got_info): Changed. Take TLS - section alignment in consideration for this relocation. Fixed TCB_SIZE - offset size to include section alignment. - (get_got_entry_list_for_symbol): Changed. - * elf32-arc.c (FINAL_SECTSTART): Added this formula macro. - (ARC_TLS_DTPOFF) Updated reloc to use new created macro instead. - (arc_special_overflow_checks): Fixed TCB_SIZE offsize to include - section alignment. - (elf_arc_check_relocs): Changed. - (elf_arc_finish_dynamic_symbol) Return FALSE in case arc_htab is NULL. - (struct elf_arc_link_hash_entry): Moved and changed. - (elf_arc_link_hash_newfunc): Changed. - (arc_elf_link_hash_table_create): Removed old initializations. - (elf_arc_relocate_section, elf_arc_finish_dynamic_symbol): Changed. - -2018-09-28 H.J. Lu - - * elf-properties.c (_bfd_elf_link_setup_gnu_properties): Use - elfclass instead of bed->s->elfclass. - -2018-09-27 Jim Wilson - - * elfnn-riscv.c (riscv_init_pcgp_relocs): Add explanatory comment. - (riscv_free_pcgp_relocs, riscv_record_pcgp_reloc): Likewise. - (riscv_find_pcgp_hi_reloc, riscv_reocrd_pcgp_lo_reloc): Likewise. - (riscv_find_pcgp_lo_reloc): Likewise. - (riscv_delete_pcgp_hi_reloc, riscv_use_pcgp_hi_reloc): Delete. - (riscv_delete_pcgp_lo_reloc): Likewise. - (_bfd_riscv_relax_pc): Don't call riscv_use_pcgp_hi_reloc. Replace - calls to riscv_delete_pcgp_lo_reloc and riscv_delete_pcgp_hi_reloc - with TRUE. Mark abfd arg as ATTRIBUTE_UNUSED. - -2018-09-25 Jim Wilson - - * elfnn-riscv.c (riscv_make_plt_header): New arg output_bfd. Change - return type to bfd_boolean. If EF_RISCV_RVE call _bfd_error_handler - and return FALSE. Return TRUE at end. - (riscv_make_plt_entry): Likewise. - (riscv_elf_finish_dynamic_symbol): Update call to riscv_make_plt_entry. - (riscv_elf_finish_dynamic_sections): Update call to - riscv_make_plt_header. - -2018-09-24 Jim Wilson - - * elfnn-riscv.c (_bfd_riscv_relax_pc) : New local - hi_sec_off which is symbol address with addend subtracted. Use in - riscv_find_pcgp_hi_reloc and riscv_record_pcgp_lo_reloc calls. - - * elfnn-riscv.c (riscv_resolve_pcrel_lo_relocs): Add check for reloc - overflow with addend. Use reloc_dangerous instead of reloc_overflow. - Add strings for the two errors handled here. - (riscv_elf_relocate_section) In case R_RISCV_PCREL_LO12_I, rewrite - comment. Only give error with addend when used with section symbol. - In case bfd_reloc_dangerous, update error string. - -2018-09-24 Jozef Lawrynowicz - - PR gdb/20948 - * elf.c (_bfd_elf_write_object_contents): Return from function - early if abfd->direction == both_direction. - -2018-09-21 Simon Marchi - - * configure.ac: Check for fls. - * elf32-nds32.c (fls): Only define if !HAVE_FLS. - * config.in: Re-generate. - * configure: Re-generate. - -2018-09-20 Maciej W. Rozycki - - * config.bfd : Remove - duplicate `case' selectors. - -2018-09-20 Nelson Chu - - * elf32-nds32.c (nds32_elf_relax_loadstore): - Remove the unused target features. - (bfd_elf32_nds32_set_target_option): Remove the unused parameters. - (nds32_elf_relax_piclo12, nds32_elf_relax_letlslo12, - nds32_elf_relax_letlsadd, nds32_elf_relax_letlsls, - nds32_elf_relax_pltgot_suff, nds32_elf_relax_got_suff - nds32_elf_relax_gotoff_suff, calculate_plt_memory_address, - calculate_plt_offset, calculate_got_memory_address, - nds32_elf_check_dup_relocs): Removed. - All callers changed. - * elf32-nds32.h: Remove the unused macros and defines. - (elf_nds32_link_hash_table): Remove the unused variable. - (bfd_elf32_nds32_set_target_option): Update prototype. - (nds32_elf_ex9_init): Removed. - * elf32-nds32.c (nds32_convert_32_to_16): Updated. - * elf32-nds32.c (HOWTO2, HOWTO3): Define new HOWTO macros - to initialize array nds32_elf_howto_table in any order - without lots of EMPTY_HOWTO. - (nds32_reloc_map): Updated. - * reloc.c: Add BFD_RELOC_NDS32_LSI. - * bfd-in2.h: Regenerated. - * bfd/libbfd.h: Regenerated. - * elf32-nds32.c (nds32_elf_relax_howto_table): Add R_NDS32_LSI. - (nds32_reloc_map): Likewise. - (nds32_elf_relax_flsi): New function. - (nds32_elf_relax_section): Support floating load/store relaxation. - * elf32-nds32.c (NDS32_GUARD_SEC_P, elf32_nds32_local_gp_offset): - New macro. - (struct elf_nds32_link_hash_entry): New `offset_to_gp' field. - (struct elf_nds32_obj_tdata): New `offset_to_gp' and `hdr_size' fields. - (elf32_nds32_allocate_local_sym_info, nds32_elf_relax_guard, - nds32_elf_is_target_special_symbol, nds32_elf_maybe_function_sym): - New functions. - (nds32_info_to_howto_rel): Add BFD_ASSERT. - (bfd_elf32_bfd_reloc_type_table_lookup, nds32_elf_link_hash_newfunc, - nds32_elf_link_hash_table_create, nds32_elf_relocate_section, - nds32_elf_relax_loadstore, nds32_elf_relax_lo12, nds32_relax_adjust_label, - bfd_elf32_nds32_set_target_option, nds32_fag_mark_relax): Updated. - (nds32_elf_final_sda_base): Improve it to find the better gp value. - (insert_nds32_elf_blank): Must consider `len' when inserting blanks. - * elf32-nds32.h (bfd_elf32_nds32_set_target_option): Update prototype. - (struct elf_nds32_link_hash_table): Add new variable `hyper_relax'. - * elf32-nds32.c (elf32_nds32_allocate_dynrelocs): New function. - (create_got_section): Likewise. - (allocate_dynrelocs, nds32_elf_size_dynamic_sections, - nds32_elf_relocate_section, nds32_elf_finish_dynamic_symbol): Updated. - (nds32_elf_check_relocs): Fix the issue that the shared library may - has TEXTREL entry in the dynamic section. - (nds32_elf_create_dynamic_sections): Enable to call readonly_dynrelocs hooks/post-receive -- Repository for Project Archer.