From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 45055 invoked by alias); 17 Dec 2016 15:04:53 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 44972 invoked by uid 9674); 17 Dec 2016 15:04:52 -0000 Date: Sat, 17 Dec 2016 15:04:00 -0000 Message-ID: <20161217150451.44697.qmail@sourceware.org> From: jkratoch@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] users/jkratoch/dwarf5gcc: Merge remote-tracking branch 'gdb/master' into dwarf5gcc X-Git-Refname: refs/heads/users/jkratoch/dwarf5gcc X-Git-Reftype: branch X-Git-Oldrev: 72b1c453cd44cb3c0d4e42a3d319f6b464c919cf X-Git-Newrev: e5a9dc602b2337032f812bf9b5462d981eeef82a X-SW-Source: 2016-q4/txt/msg00035.txt.bz2 List-Id: The branch, users/jkratoch/dwarf5gcc has been updated via e5a9dc602b2337032f812bf9b5462d981eeef82a (commit) via ddb9ad345c9b4a8cfe2c9a71190ecf408454e745 (commit) via 97f00e367c8222cda51bc7c0e9d3073a487a5976 (commit) via db7b55faa1a11e632ddf57505c9bb64bc783471a (commit) via 221855059a11ab76aa909a5df4104354f9384139 (commit) via 4c4067e410581fe5c6190407b4fd410e7b71f9e4 (commit) via a961cdd5f139d3c3e09170db52bd8df7dafae13f (commit) via 02aa377fbdd17b763b1e32ad72ccfd1c617ce463 (commit) via cadf97cf20cf76af35e41075dff81197fbec0e51 (commit) via 5e7fc731f80e0d08385a05ad47dda332a49d9341 (commit) via 8184783a4069e04deb2e43b4ad0d66d80f1ad2df (commit) via eefc3365838ed15c02bd7da39fbc31c00d07b398 (commit) via 353abf7c10561aab3e8e7ffce6e270c3743376f0 (commit) via 63e014fccdd91a89873554f6b33d7128d7112813 (commit) via c1fc2d7ee590f3bc87ee79c36e7216b0b6bb054b (commit) via 7acd51d6971f12b832cd7281f669a7ae7feddf45 (commit) via 98fa61facff8fb041205950d642f5403372bfd96 (commit) via a02c3512655cc2c8ad68e4b656959b7d284acc7d (commit) via 6650f7bd18f8161b9f666d3e65a6346e23a9d85f (commit) via fc8e0108db6c60f2ecefb4004cddb94e8824fd42 (commit) via 591be3e4a841ac56bb3ee094447b708d58a6d4b8 (commit) via 03fb64f837bd8466ba6e7b7cb8880f5c6c87daab (commit) via a6a51754740513db76fdee3aa153cdd51e87a24a (commit) via aa785360cfa271505394080c8e367017782ca57a (commit) via 963201cf5d29c4dc718b5fb3507e085b302ff896 (commit) via 9282b95ab7bfe1cdf471e9dd609ae0ea7bbed925 (commit) via 971f1d27d2ee2732f9ab2fa75923007b40e2bbec (commit) via 1bec0c8632397f3c5cdcf27bbb53318f6a6af7e0 (commit) via 1336427510a5ffe7ed8f0c402cc9d315cc679952 (commit) via bfbf34de2f27672282d4fa4c0916cc41890dcc6c (commit) via d81222d3863037a90e0402cf438f7e45600feea2 (commit) via 75c6202b1d13b892581e8dd56b8e0664815390c1 (commit) via 22b05d33b4c870d65972ff8aefdd297ddc66d139 (commit) via 6392030005291f7c783da2247b63ae31dc8352e0 (commit) via ea0ffd5be2dfd6ee696fc15294d7b2bf29f267a7 (commit) via d32a48b9f2d8a374b7ce3f2c47cc9a1c3b184838 (commit) via 88acc2e16743fc1e6384758c9a68cd6d2a8bbd46 (commit) via d36cab83a963f5bb3773e0218cc02f63b0851d0b (commit) via 029e9d52de3ac7fe984dc079ebd24506fd1eace7 (commit) via 3a0b8f7ddb874283879baaf8af6d11094f4c4999 (commit) via cc90de49738ad220bd1d3d001b492679fc488fe1 (commit) via 5d9f66cb84b9f228c1082d3a1037355edceddded (commit) via e83563a9ed0dd6ccc415c4b0cce373fc3264b7a5 (commit) via 98fdf25a43abdad5784e762466fdd7bd59b0899e (commit) via ec6f610ffcc411237e9f8955dd2227cefd255af2 (commit) via 4783ebbcfa35032ac2742f403258a14b647d9ba6 (commit) via 64c111834081a117f902cffc15dadbc535f1c65e (commit) via f17ecb4baca990b57cc57e8337c4e03ecee02742 (commit) via 55af478400524cba7994e353fd9a98ef1543df2f (commit) via 1736a7bd96e8927c3f889a35f9153df4fd19d833 (commit) via f94f411b8308674eb4f790a9fcad0ffa30b568e5 (commit) via a28aa6edd4ba848c110cd73fd4e29c2bbdb2cb72 (commit) via 1a31b34a18d61dee55042f2ab23c8fa9203fe6ef (commit) via f1b5deee16144a75aa605bf37ed38d461587d399 (commit) via fc2f703edb656c69b0026a006c6063cdb255e06a (commit) via 198cd59d289209ad63cdd6da45e02a1c12b423a7 (commit) via 364ca42e71dfdce3f34e97ef028f7e3d5b5d880e (commit) via c752a4cccb99ba73f51eff74b394dcdcd26d4c59 (commit) via 53488a6e194af11c2528e5e284facb8a6171b695 (commit) via cfccf141f0db8de28ba21a8920939c30e123d73e (commit) via 39f66f3ae25ebd3a065218ce880280fd5b4b861c (commit) via 860b03a8f357d1565bd9d79ae25121059b2d28ae (commit) via 731f7c4ea30cc409c45412eec15e3d66afe051f5 (commit) via bf355b690f07315bf2704e349c4f1c9ca611f031 (commit) via 329d01f70ea6367a9593c9b31e268c06dd729ec9 (commit) via 3a2488dd21a895df3ffb49048f5de1a83ce2ddd4 (commit) via 1d262527cf7ef3cdd2c015dc3540b47996e94d37 (commit) via 980d0cdd2fc40c30f3ddef644659d7d0dc00ed40 (commit) via 69a2af1016e03239f7af4e55268bd27fc500f800 (commit) via da17fe9de923fcee29e6f809693eb7e590966575 (commit) via 8e2a4f11d477986aa360a3b588d35a194efe58f8 (commit) via c3187fa5cc72734e6fc766a85d657018c0516bad (commit) via 21389b7f3451a482e14fef9bd32257c4c87f4317 (commit) via 0947023d1d4b5d8803a1065d622f707010b2bcdc (commit) via 785102a7d34f2d48f9a1616bf931fea6de2385fb (commit) via a9617a426d001a748168fbc399fcc77e6d8d3cac (commit) via e9e431d19426a6dd6b8923850398b847af0a1532 (commit) via e2f9914792465953ca945333d0cbedf0b2d7b3d6 (commit) via 14f6890677849172a4b13779acd9089c9baa3a81 (commit) via 4b0781150f69b6ff251dac447c77e4d4f6598da8 (commit) via 5f5c6e032e8d5303e9903c0538f84f76bb4d8733 (commit) via 343fa6906329eb5ec070cf2c05884e49a1cb9d46 (commit) via 6725647ca2a0adc9206059814725102b53ea6478 (commit) via b8760d2cb51517789110c7b2dbd8f61dce08291d (commit) via be0fcbee1d47558af13288c6aece922dd4be6df5 (commit) via c2596ca5d7f6ab6d38882bf0f0fc44fe352afcb1 (commit) via 1c3a5fbe155614a0f87079b953df0d7618e0ab50 (commit) via a5018ae555cdf491005907c03f997558ba15fc47 (commit) via dc60b26d983494a3cdec0d4f167ed98fde1a832a (commit) via 86a6934561f0048624f3ff83f5d3c2565514f0aa (commit) via 5590c2bae0fb41e90bc9698e55d8ec1fe22a9173 (commit) via 4f3ca05b487e9755018b4c9a053a2e6c35d8a7df (commit) via 8b929e420a810afe23d5ba57a98109c74d1d5816 (commit) via 92744f058094edd0b29bf9762f4ac26e4c6743c2 (commit) via 5eecd8621b955fb99860fc1b0d87074071f42f72 (commit) via 005304aae36522a90bbe169faea36db559d0f3d6 (commit) via 7c2ba67e6ab10879968c938aefd4d0d0b4ce79bc (commit) via 5e359a63b7a39e0ff0f750ca8fc97d27b14c0ef7 (commit) via 39eeab253474493bc9477dbb2bd9c8041f05764b (commit) via fc72affa6875e81fc9d495a216a8bcb34045ffcd (commit) via e99f7af2bfbdb08c9cc454d6e5c82e70d34b957e (commit) via efe4db3f06b77934bd81f393194e0fdcfeecf811 (commit) via 82d93790a85300d8452450b6d43efb6b15b53788 (commit) via f49547a604b4dd2c75e3636d4a422d52edc4fa6c (commit) via 14c1428b29fff12d8119ce6f4703be0de08197af (commit) via fa6631b4eecfcca00c13b9594e6336dffd40982f (commit) via 406bd128dba2a59d0736839fc87a59bce319076c (commit) via 9b5481c63ab5e1e66e8f23681741039754eabcce (commit) via 52c4f3bdd5957a31b671a9791f462be5e8eadd85 (commit) via e2996cc315d6ea242e1a954dc20246485ccc8512 (commit) via c28eeff2eabbba2246799470f3713716fa629680 (commit) via 0691188992efa4afab80bfdf966479bc331ce0a4 (commit) via 49e8a725825c77aacc7458b9d7771cb2fa2f64c7 (commit) via a12fd8e1b1c9c6a16e3cc9fc477d7e459776b587 (commit) via 597e138ca0cf96889a1965d06d28552c1d1174d2 (commit) via a55c9876bb111fd301b4762cf501de0040b8f9db (commit) via 88add6d8e794073758b5398c52bbb76ab40a2923 (commit) via daae68f4f372e0618d6b9c64ec0f1f74eae6ab3d (commit) via 39d4daf68e696bbf2db417abe677b2e68f3aace9 (commit) via e9a1e93ecab4e67aacb9cd6a5a953c8c0bc23027 (commit) via df9236f89620c3897b2257854b9a4eedc89217ba (commit) via 668650d58d61d9d170f3e5b5c1657ed1c3e2b34b (commit) via 4132f1c0dfe6bb8984c0dd521388ba6b7b32a4af (commit) via 8c5b4e5228ec94923fbdfb0008926b0b2a3f51c2 (commit) via 4e95fbcd79b84308417fc25ce12cacdb2a61c0d0 (commit) via ca16c5b392b1c78019fea1710c4f4433161626c5 (commit) via f522190fa7f04a8d9a1dfc51d0cf69973c08afb5 (commit) via b8ac28419be22fe0cc72f6eaaba1ab029610fc71 (commit) via 35dc6e06960790cd60b890c14e45f82f110b898f (commit) via 8400d40d954ec3b4a3fe9200645a1b6e90ba46f4 (commit) via 474436e67c72d2426e79e600d725812514db0dbe (commit) via 4193bc588b4e66da0ed502eaef6e7ce85272fb42 (commit) via 10c56208ee8ce4d51de64277207b84a5d1be8c95 (commit) via bef721e278d9ba3178e679eda38ac86ef2dc0d5d (commit) via 107c2d628b924de1854d6d254d60e97e1887ce4a (commit) via df3ee9ca894f7e831713c332aa7820a6463c2435 (commit) via ec835369f121c11d6e9484ed8c6c11097ad545c5 (commit) via 01770bbde902e075e524b518ac6c1087a4cc1cfb (commit) via 7ed7e438bf8a21983eeaeec0617868f8bab06197 (commit) via d7f399a8de4c55eb841db6493597a587fac002de (commit) via 008459ea88ad4fdcb7da37dad7f68888ef6ecc47 (commit) via 531336e3a0b79ed60cfc36ad2d6579b6a71175da (commit) via 0c1b455e294c6debb4efedc7f1346f3c43249f15 (commit) via f5ac6ab387ef0974f6348ac7febc691fbb6c0eb4 (commit) via a9752fdf83985f62a0c343311a9cb42ad13f9876 (commit) via e5a873b7071d74320d4e0cbbc2f358dcf2322557 (commit) via fe6fae079099c0eeb3186086d6b150800c0e8770 (commit) via 233c8c27eb81b0a3ab5182dcb59c7306ba9bd3f3 (commit) via 68c638d6e655a937a48770a5df765e6ebbc5b890 (commit) via 08698b7b46c9c932530dcbcd7e851d27a7d2c503 (commit) via d5451cd45325d12b2cc3d10ffe67f09b0e26b967 (commit) via 432ec0814b01a93b88eddf13092ea6abef34652d (commit) via 4d9a9006139d1ceea787cdda871dff8943e493f0 (commit) via 018572b88885ae67d22612937fa1e4fd98d5f5ad (commit) via 397b8d2a9fb6651924c311f41b90cabeb3fc3ae9 (commit) via be2884c1ea9b96fdb04c6d244d9e7aa1b654a47a (commit) via 376c3ecd17d0636bcf4e527c2e2ca2f94822fe64 (commit) via 6a67d49e559b432ead2859e9bb327852adb53112 (commit) via 36d18bc526b055be896d8dc319cb3ade42238534 (commit) via 77a179e77b38161e461f5e37512f0b3fc3582181 (commit) via 33b2fac610fff1255a24763277a4bf77f1b59ef1 (commit) via 909c0aa5824080c287b390f82726cf5bfb7011e3 (commit) via 37e20dd6599203c4e261fc3a2e86711c90cbbed9 (commit) via c5209615263fd0444da28cdfb6661ad287909a70 (commit) via 78afa7f8599e46eb94a93510b383dfb35e549f7e (commit) via 0f1254327820d7b3f67f873aa40e76679f067288 (commit) via 84c93cd5f1ff869eb8c04314738eaa2cddb3c29e (commit) via fb9feb35913d4cf26baf01e1638b18af301f5387 (commit) via cd2ddb6cde55a20d191e1002dbe1977df695cda9 (commit) via bb95117e107fe58ecd35683bf0e8da3b414378ff (commit) via de97fdd4a05cd7ad0b05444f1721f26c1ad9322f (commit) via 9f058c10cef5987ee1f1cb28c9a8cf5ef1ec4d11 (commit) via cdc7edd7b17dddd3558bd04d9b2fb5a73dc75f1c (commit) via bc6c7af4a2f23c48a38139fc7e0ed2ac7b12bb69 (commit) via 88256e713c707aeb850688071150d32f9cca5a91 (commit) via 88ddd4a1ef8818984f87f574b424ccdc7db19660 (commit) via 69ace2200106348a1b00d509a6a234337c104c17 (commit) via 4cbd84083ea89e870526ed0c80d462084887ba6e (commit) via 4ee1d7e401a8c1aedfdc86aac7faa8267eab1e5c (commit) via cec4b2e3fee8ae2c41089fc7454da56f676f653c (commit) via 5cd1d8bcc24e948e86a636161e6d72f6316545a7 (commit) via 40a0bfddf07620f5321927b3231502debb3b73bc (commit) via e82ab856bb4689330c29fb9f1c57a8555b26380e (commit) via 6d6ad65b43efa17a825702297331fcb290445a18 (commit) via a37a2806e3289294ed214aed3c8a45db46026b39 (commit) via 50455f1ab2935f7321215dfa681745c9b1cb5b19 (commit) via 95a23284a3db0ec85bb0b11c70e6b5acf00563f6 (commit) via b9b118c3bb29052ee76c6bf32b99962cda5113ba (commit) via 4a9d4ea535a6c9b8c2e7cdf91377abe284d0b277 (commit) via 56df3084847984aeddd8c24ca997242ec8c5a369 (commit) via 5486f16481dffa1c1a0d1fd9e38b97e3678078ed (commit) via 5084b13657023904cb60737abdf4cefb539a5fc4 (commit) via ad02e4fe877f3a874145dd045626501245e65624 (commit) via 7913a64cab3930fe524f0e38f85cfca11bd52dcb (commit) via e9a38e0f5287ce7b4629f5f923191e38dd7355c0 (commit) via 502d895cd1ca5d4abf4ef55984cbf5239aeaef0c (commit) via ea3d7d1cab4221ab729327bb4d957352c79d05f0 (commit) via f0e9390be5bbfa3ee777d81dacfccd713ebddb68 (commit) via abe7c33b45288b407e6d001aad713183d4bab5c6 (commit) via ee881e5d3312ea5396bddc37e8673b77bf549b4b (commit) via 0a0640e3ba9a668c4c317520c48246e1cc8d75ca (commit) via aec6cd371d194f93cb7651c219b75eed05bdda98 (commit) via 268ebe95201d2ebdcf68cad9dc67ff6d1e25be9e (commit) via 157686a88644b111658c661fc225881e75f3b0db (commit) via cd58485720b47d80fed0b281d15a9198f43eaf0c (commit) via abfcb414b9900ef996b1665323a950610dbdca43 (commit) via 1a0884415891b197972f8acf59131c3c9376807f (commit) via 7dc54575d91a2b41f6c3e838eec44a7017a24436 (commit) via ee40d8d45213caf0cfb63e603f0fd5a58532e751 (commit) via 4deb8f714d555a2f530e37c3e7af32bc42fdda58 (commit) from 72b1c453cd44cb3c0d4e42a3d319f6b464c919cf (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit e5a9dc602b2337032f812bf9b5462d981eeef82a Merge: 72b1c45 ddb9ad3 Author: Jan Kratochvil Date: Sat Dec 17 16:00:56 2016 +0100 Merge remote-tracking branch 'gdb/master' into dwarf5gcc commit ddb9ad345c9b4a8cfe2c9a71190ecf408454e745 Author: GDB Administrator Date: Sat Dec 17 00:00:25 2016 +0000 Automatic date update in version.in commit 97f00e367c8222cda51bc7c0e9d3073a487a5976 Author: Bernhard Heckel Date: Thu Dec 15 14:04:11 2016 +0100 Darwin: Fix gdb compilation. Due to changes introduced by commit 4d01a485d29732b19743e8b138897f3509e071b0 ('struct expression *' -> gdb::unique_xmalloc_ptr) compilation is broken on Darwin. ../gdb/darwin-nat-info.c:733:8: error: assigning to 'struct expression *' from incompatible type 'expression_up' (aka 'std::__1::unique_ptr >') expr = parse_expression (exp); Beside compilation, memory leak was solved as 'make_clean_up' was not called in previous version. 2016-12-16 Bernhard Heckel gdb/Changelog: * darwin-nat-info.c (info_mach_region_command): Use expression_up. commit db7b55faa1a11e632ddf57505c9bb64bc783471a Author: Nick Clifton Date: Fri Dec 16 10:59:36 2016 +0000 Fix compile time warning building arm-dis.c commit 221855059a11ab76aa909a5df4104354f9384139 Author: fincs Date: Fri Dec 16 13:42:02 2016 +1030 Implement and document --gc-keep-exported include/ * bfdlink.h (struct bfd_link_info): Add gc_keep_exported. bfd/ * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Add handling for info->gc_keep_exported. (bfd_elf_gc_sections): Likewise. ld/ * ld.texinfo: Document --gc-keep-exported. * ldlex.h (enum option_values): Add OPTION_GC_KEEP_EXPORTED. * lexsup.c (parse_args): Add handling for --gc-keep-exported. commit 4c4067e410581fe5c6190407b4fd410e7b71f9e4 Author: GDB Administrator Date: Fri Dec 16 00:00:26 2016 +0000 Automatic date update in version.in commit a961cdd5f139d3c3e09170db52bd8df7dafae13f Author: Alan Modra Date: Thu Dec 15 21:29:44 2016 +1030 Linking non-ELF file broken by PR20908 fix PR ld/20968 PR ld/20908 * elflink.c (bfd_elf_final_link): Revert 2016-12-02 change. Move reloc counting code later after ELF flavour test. commit 02aa377fbdd17b763b1e32ad72ccfd1c617ce463 Author: GDB Administrator Date: Thu Dec 15 00:00:24 2016 +0000 Automatic date update in version.in commit cadf97cf20cf76af35e41075dff81197fbec0e51 Author: Maciej W. Rozycki Date: Wed Dec 14 22:17:05 2016 +0000 MAINTAINERS: Add myself as a MIPS maintainer * MAINTAINERS (Maintainers for particular sims): Add myself as a MIPS maintainer. commit 5e7fc731f80e0d08385a05ad47dda332a49d9341 Author: Maciej W. Rozycki Date: Wed Dec 14 21:49:56 2016 +0000 MIPS/opcodes: Also set disassembler's ASE flags from ELF structures Respect any ASE flags recorded in ELF file structures for the purpose of selecting instructions to be disassembled, preventing code from being hex-dumped even though having been clearly indicated as valid at the assembly time. Use date from the MIPS ABI flags structure if present, and otherwise there may be an MDMX ASE flag set in the ELF file header. For backwards compatibility only set extra flags and do not clear any, preserving all previously set by the architecture selected to be disassembled for. include/ * elf/mips.h (Elf_Internal_ABIFlags_v0): Also declare struct typedef as `elf_internal_abiflags_v0'. bfd/ * bfd-in.h (elf_internal_abiflags_v0): New struct declaration. (bfd_mips_elf_get_abiflags): New prototype. * elfxx-mips.c (bfd_mips_elf_get_abiflags): New function. * bfd-in2.h: Regenerate. opcodes/ * mips-dis.c (mips_convert_abiflags_ases): New function. (set_default_mips_dis_options): Also infer ASE flags from ELF file structures. binutils/ * testsuite/binutils-all/mips/mips-ase-1.d: New test. * testsuite/binutils-all/mips/mips-ase-2.d: New test. * testsuite/binutils-all/mips/mips-ase-3.d: New test. * testsuite/binutils-all/mips/mips-ase-1.s: New test source. * testsuite/binutils-all/mips/mips-ase-2.s: New test source. * testsuite/binutils-all/mips/mips.exp: Run the new tests. commit 8184783a4069e04deb2e43b4ad0d66d80f1ad2df Author: Maciej W. Rozycki Date: Wed Dec 14 21:27:00 2016 +0000 MIPS/opcodes: Reorder ELF file header flag handling in disassembler Move ELF file header flag interpretation code, used to set disassembler options, beyond architecture setup. No functional change as the effects of both code sections are disjoint from each other, but this provides for a further expansion of ELF file header flag interpretation. opcodes/ * mips-dis.c (set_default_mips_dis_options): Reorder ELF file header flag interpretation code. commit eefc3365838ed15c02bd7da39fbc31c00d07b398 Author: Maciej W. Rozycki Date: Wed Dec 14 21:20:01 2016 +0000 MIPS16/GAS: Fix assertion failures with relocations on 16-bit instructions Complement commit c9775dde3277 ("MIPS16: Add R_MIPS16_PC16_S1 branch relocation support)" and report an assembly error when a relocation is required for an instruction, currently a branch only, that has been forced to use its unextended encoding, either with the use of an explicit `.t' mnemonic suffix, or by means of `.set noautoextend' being active, fixing an assertion failure currently caused instead. gas/ * config/tc-mips.c (md_convert_frag): Report an error instead of asserting on `ext'. * testsuite/gas/mips/mips16-branch-unextended-1.d: New test. * testsuite/gas/mips/mips16-branch-unextended-2.d: New test. * testsuite/gas/mips/mips16-branch-unextended-1.s: New test source. * testsuite/gas/mips/mips16-branch-unextended-2.s: New test. * testsuite/gas/mips/mips16-branch-unextended.l: New stderr output. * testsuite/gas/mips/mips.exp: Run the new tests. commit 353abf7c10561aab3e8e7ffce6e270c3743376f0 Author: Maciej W. Rozycki Date: Wed Dec 14 21:18:16 2016 +0000 MIPS16: Fix SP-relative SD instruction annotation Fix the annotation of SP-relative SD instructions incorrectly marked as reading from the PC rather than SP, which in turn prevented their 16-bit forms from being scheduled into jump delay slots. This bug has been there since forever. opcodes/ * mips16-opc.c (mips16_opcodes): Set RD_SP rather than RD_PC in `pinfo2' with SP-relative "sd" entries. gas/ * testsuite/gas/mips/mips16-sprel-swap.d: New test. * testsuite/gas/mips/mips16-sprel-swap.s: New test source. * testsuite/gas/mips/mips.exp: Run the new test. commit 63e014fccdd91a89873554f6b33d7128d7112813 Author: Maciej W. Rozycki Date: Wed Dec 14 21:14:33 2016 +0000 MIPS16/opcodes: Fix and clarify MIPS16e commentary Correct the note about JALRC/JRC being compact jumps rather than branches, and add a reference from where the remaining MIPS16e additions live and the jumps used to be too, complementing commit ceb94aa50d68 ("Update insn_mo when converting to a MIPS16e compact jump"), . opcodes/ * mips16-opc.c (mips16_opcodes): Update comments on MIPS16e compact jumps. commit c1fc2d7ee590f3bc87ee79c36e7216b0b6bb054b Author: Yury Norov Date: Sat Dec 3 18:50:43 2016 +0530 ld: aarch64: fix TLS relaxation where TCB_SIZE is used TCB_SIZE is 2*sizeof(void *), which is 0x10 for lp64, and 0x8 for ilp32. During relaxation, ld goes to do a replace: bl __tls_get_addr => add R0, R0, TCB_SIZE But actual implementation is: bfd_putl32 (0x91004000, contents + rel->r_offset + 4); Which is equivalent of add x0, x0, 0x10. This is wrong for ilp32. The possible fix for it is: bfd_putl32 (0x91000000 | (TCB_SIZE<<10), contents + rel->r_offset + 4); But ilp32 also needs w-registers, so it's simpler to put proper instruction in #if/#else condition. There are 2 such relaxations in elfNN_aarch64_tls_relax(), and so 2 new tests added for ilp32 mode to test it. Yury * bfd/elfnn-aarch64.c: fix TLS relaxations for ilp32 where TCB_SIZE is used. * ld/testsuite/ld-aarch64/aarch64-elf.exp: Add tests for the case. * ld/testsuite/ld-aarch64/tls-relax-ld-le-small-ilp32.d: New file. * ld/testsuite/ld-aarch64/tls-relax-ld-le-tiny-ilp32.d: New file. Signed-off-by: Yury Norov commit 7acd51d6971f12b832cd7281f669a7ae7feddf45 Author: Yury Norov Date: Wed Dec 14 11:57:42 2016 +0530 Revert "bfd: aarch64: fix word and arrdess size declaration in ilp32 mode" This reverts commit a02c3512655cc2c8ad68e4b656959b7d284acc7d. commit 98fa61facff8fb041205950d642f5403372bfd96 Author: Yury Norov Date: Wed Dec 14 11:56:54 2016 +0530 Revert "ld: aarch64: fix TLS relaxation where TCB_SIZE is used" This reverts commit 6650f7bd18f8161b9f666d3e65a6346e23a9d85f. commit a02c3512655cc2c8ad68e4b656959b7d284acc7d Author: Yury Norov Date: Fri Dec 9 21:17:01 2016 +0530 bfd: aarch64: fix word and arrdess size declaration in ilp32 mode commit 6650f7bd18f8161b9f666d3e65a6346e23a9d85f Author: Yury Norov Date: Sat Dec 3 18:50:43 2016 +0530 ld: aarch64: fix TLS relaxation where TCB_SIZE is used TCB_SIZE is 2*sizeof(void *), which is 0x10 for lp64, and 0x8 for ilp32. During relaxation, ld goes to do a replace: bl __tls_get_addr => add R0, R0, TCB_SIZE But actual implementation is: bfd_putl32 (0x91004000, contents + rel->r_offset + 4); Which is equivalent of add x0, x0, 0x10. This is wrong for ilp32. The possible fix for it is: bfd_putl32 (0x91000000 | (TCB_SIZE<<10), contents + rel->r_offset + 4); But ilp32 also needs w-registers, so it's simpler to put proper instruction in #if/#else condition. THere are 2 such relaxations in elfNN_aarch64_tls_relax(), and so 2 new tests added for ilp32 mode to test it. Yury commit fc8e0108db6c60f2ecefb4004cddb94e8824fd42 Author: GDB Administrator Date: Wed Dec 14 00:00:23 2016 +0000 Automatic date update in version.in commit 591be3e4a841ac56bb3ee094447b708d58a6d4b8 Author: Cary Coutant Date: Tue Dec 13 13:01:13 2016 -0800 Add --orphan-handling option. gold/ PR gold/20749 * options.h (--orphan-handling): New option. (General_options::Orphan_handling): New enum. (General_options::orphan_handling_enum): New method. (General_options::set_orphan_handling_enum): New method. (General_options::orphan_handling_enum_): New data member. * options.cc (General_options::General_options): Initialize new member. (General_options::finalize): Convert --orphan-handling argument to enum. * script-sections.cc (Script_sections::output_section_name): Check it. commit 03fb64f837bd8466ba6e7b7cb8880f5c6c87daab Author: Cary Coutant Date: Tue Dec 13 11:49:22 2016 -0800 Do not use linker script to place static relocation sections. gold/ PR gold/20522 * layout.cc (Layout::choose_output_section): Add is_reloc parameter. Adjust all callers. Do not use linker script for is_reloc sections. (Layout::layout_reloc): Pass is_reloc == true. * layout.h (Layout::choose_output_section): Add is_reloc parameter. commit a6a51754740513db76fdee3aa153cdd51e87a24a Author: Renlin Li Date: Tue Dec 13 12:37:18 2016 +0000 [Binutils][AARCH64]Remove Cn register for coprocessor CRn, CRm field The internal CN register representation for coprocessor fields used in aarch64 sys, sysl instructions are removed in this patch. After the change, those fields are represented as immediate. Related checks are added as well. opcodes/ * aarch64-opc.c (aarch64_opnd_qualifiers): New CR value range qualifier. (operand_general_constraint_met_p): Remove case for CP_REG. (aarch64_print_operand): Print CRn, CRm operand using imm field. * aarch64-tbl.h (QL_SYS): Use CR qualifier. (QL_SYSL): Likewise. (aarch64_opcode_table): Change CRn, CRm operand class and type. * aarch64-opc-2.c : Regenerate. * aarch64-asm-2.c : Likewise. * aarch64-dis-2.c : Likewise. include/ * opcode/aarch64.h (aarch64_operand_class): Remove AARCH64_OPND_CLASS_CP_REG. (enum aarch64_opnd): Change AARCH64_OPND_Cn to AARCH64_OPND_CRn, AARCH64_OPND_Cm to AARCH64_OPND_CRm. (aarch64_opnd_qualifier): Define AARCH64_OPND_QLF_CR qualifier. gas/ * config/tc-aarch64.c (AARCH64_REG_TYPES): Remove CN register. (get_reg_expected_msg): Remove CN register case. (parse_operands): rewrite parser for CRn, CRm operand. (reg_names): Remove CN register. * testsuite/gas/aarch64/diagnostic.s: Add a new test case. * testsuite/gas/aarch64/diagnostic.l: Adjust error message. commit aa785360cfa271505394080c8e367017782ca57a Author: Nick Clifton Date: Tue Dec 13 17:05:20 2016 +0000 PE linker script improvements. PR ld/19254 * scripttempl/pe.sc (.fini): KEEP this section. (.gcc_except_table): Likewise. (.pdata): Also accept .pdata*. commit 963201cf5d29c4dc718b5fb3507e085b302ff896 Author: Jim Wilson Date: Tue Dec 13 08:35:31 2016 -0800 Fix aarch64 sim bug with adds64, and add testcases for last 3 bug fixes. sim/aarch64 * simulator.c (NEG, POS): Move before set_flags_for_add64. (set_flags_for_add64): Replace with a modified copy of set_flags_for_sub64. sim/testsuite/sim/aarch64 * testutils.inc (pass): Move .Lpass to start. (fail): Move .Lfail to start. Return 1 instead of 0. (start): Moved .Lpass and .Lfail to here. * adds.s: New. * fstur.s: New. * tbnz.s: New. commit 9282b95ab7bfe1cdf471e9dd609ae0ea7bbed925 Author: Jiong Wang Date: Tue Dec 13 12:52:59 2016 +0000 [AArch64] Recognize R_AARCH64_P32_ABS32 as 32-bit relocation in readelf binutils/ * readelf.c (is_32bit_abs_reloc): Recognize R_AARCH64_P32_ABS32. commit 971f1d27d2ee2732f9ab2fa75923007b40e2bbec Author: Jiong Wang Date: Tue Dec 13 12:50:17 2016 +0000 [AArch64] Make LD testcases support ILP32 mode ld/ * testsuite/ld-aarch64/aarch64-elf.exp (aarch64_choose_lp64_emul): New function. (run_dump_test_lp64): New function which pass LP64 mode options to both assembler and linker when building test binary. (aarch64elftests): Remove eh-frame-merge test. (eh-frame-merge-lp64): Restrict eh-frame-merge test to LP64 only. (run_dump_test): Migrate to run_dump_test_lp64 if the test source was written for LP64 only. * testsuite/ld-aarch64/erratum843419.d: Support ILP32 mode. * testsuite/ld-aarch64/farcall-b-defsym.d: Likewise. * testsuite/ld-aarch64/farcall-b-plt.d: Likewise. * testsuite/ld-aarch64/farcall-b.d: Likewise. * testsuite/ld-aarch64/farcall-bl-defsym.d: Likewise. * testsuite/ld-aarch64/farcall-bl-plt.d: Likewise. * testsuite/ld-aarch64/farcall-bl.d: Likewise. * testsuite/ld-aarch64/ifunc-15.d: Likewise. * testsuite/ld-aarch64/ifunc-16.d: Likewise. * testsuite/ld-aarch64/ifunc-5a-local.d: Likewise. * testsuite/ld-aarch64/ifunc-5a.d: Likewise. * testsuite/ld-aarch64/ifunc-5b-local.d: Likewise. * testsuite/ld-aarch64/ifunc-5b.d: Likewise. * testsuite/ld-aarch64/ifunc-5r-local.d: Likewise. * testsuite/ld-aarch64/ifunc-6a.d: Likewise. * testsuite/ld-aarch64/ifunc-6b.d: Likewise. * testsuite/ld-aarch64/ifunc-7a.d: Likewise. * testsuite/ld-aarch64/ifunc-7b.d: Likewise. * testsuite/ld-aarch64/ifunc-8.d: Likewise. * testsuite/ld-aarch64/limit-b.d: Likewise. * testsuite/ld-aarch64/limit-bl.d: Likewise. commit 1bec0c8632397f3c5cdcf27bbb53318f6a6af7e0 Author: Jiong Wang Date: Tue Dec 13 12:46:35 2016 +0000 [AArch64] Make GAS testcases support ILP32 mode gas/ * gas/testsuite/gas/aarch64/addsub.d: Support ILP32 mode. * gas/testsuite/gas/aarch64/advsimd-across.d: Likewise. * gas/testsuite/gas/aarch64/advsimd-armv8_3.d: Likewise. * gas/testsuite/gas/aarch64/advsimd-fp16.d: Likewise. * gas/testsuite/gas/aarch64/advsimd-misc.d: Likewise. * gas/testsuite/gas/aarch64/advsisd-copy.d: Likewise. * gas/testsuite/gas/aarch64/advsisd-misc.d: Likewise. * gas/testsuite/gas/aarch64/alias.d: Likewise. * gas/testsuite/gas/aarch64/armv8-ras-1.d: Likewise. * gas/testsuite/gas/aarch64/b_1.d: Likewise. * gas/testsuite/gas/aarch64/beq_1.d: Likewise. * gas/testsuite/gas/aarch64/bitfield-dump: Likewise. * gas/testsuite/gas/aarch64/bitfield-no-aliases.d: Likewise. * gas/testsuite/gas/aarch64/codealign.d: Likewise. * gas/testsuite/gas/aarch64/codealign_1.d: Likewise. * gas/testsuite/gas/aarch64/crc32-directive.d: Likewise. * gas/testsuite/gas/aarch64/crc32.d: Likewise. * gas/testsuite/gas/aarch64/crypto-directive.d: Likewise. * gas/testsuite/gas/aarch64/crypto.d: Likewise. * gas/testsuite/gas/aarch64/dwarf.d: Likewise. * gas/testsuite/gas/aarch64/float-fp16.d: Likewise. * gas/testsuite/gas/aarch64/floatdp2.d: Likewise. * gas/testsuite/gas/aarch64/fp-armv8_3.d: Likewise. * gas/testsuite/gas/aarch64/fp-const0-parse.d: Likewise. * gas/testsuite/gas/aarch64/fp_cvt_int.d: Likewise. * gas/testsuite/gas/aarch64/fpmov.d: Likewise. * gas/testsuite/gas/aarch64/inst-directive.d: Likewise. * gas/testsuite/gas/aarch64/ldr_1.d: Likewise. * gas/testsuite/gas/aarch64/ldst-exclusive-armv8_3.d: Likewise. * gas/testsuite/gas/aarch64/ldst-exclusive.d: Likewise. * gas/testsuite/gas/aarch64/ldst-reg-imm-post-ind.d: Likewise. * gas/testsuite/gas/aarch64/ldst-reg-imm-pre-ind.d: Likewise. * gas/testsuite/gas/aarch64/ldst-reg-pair.d: Likewise. * gas/testsuite/gas/aarch64/ldst-reg-reg-offset.d: Likewise. * gas/testsuite/gas/aarch64/ldst-reg-uns-imm.d: Likewise. * gas/testsuite/gas/aarch64/ldst-reg-unscaled-imm.d: Likewise. * gas/testsuite/gas/aarch64/lor-directive.d: Likewise. * gas/testsuite/gas/aarch64/lor.d: Likewise. * gas/testsuite/gas/aarch64/lse-atomic.d: Likewise. * gas/testsuite/gas/aarch64/mapmisc.d: Likewise. * gas/testsuite/gas/aarch64/mov-no-aliases.d: Likewise. * gas/testsuite/gas/aarch64/mov.d: Likewise. * gas/testsuite/gas/aarch64/movi.d: Likewise. * gas/testsuite/gas/aarch64/movw_label.d: Likewise. * gas/testsuite/gas/aarch64/msr.d: Likewise. * gas/testsuite/gas/aarch64/neon-fp-cvt-int.d: Likewise. * gas/testsuite/gas/aarch64/neon-frint.d: Likewise. * gas/testsuite/gas/aarch64/neon-ins.d: Likewise. * gas/testsuite/gas/aarch64/neon-not.d: Likewise. * gas/testsuite/gas/aarch64/neon-vfp-reglist-post.d: Likewise. * gas/testsuite/gas/aarch64/neon-vfp-reglist.d: Likewise. * gas/testsuite/gas/aarch64/no-aliases.d: Likewise. * gas/testsuite/gas/aarch64/optional.d: Likewise. * gas/testsuite/gas/aarch64/pac.d: Likewise. * gas/testsuite/gas/aarch64/pan-directive.d: Likewise. * gas/testsuite/gas/aarch64/pan.d: Likewise. * gas/testsuite/gas/aarch64/rdma-directive.d: Likewise. * gas/testsuite/gas/aarch64/rdma.d: Likewise. * gas/testsuite/gas/aarch64/reloc-dtprel_g0.d: Likewise. * gas/testsuite/gas/aarch64/reloc-dtprel_g0_nc.d: Likewise. * gas/testsuite/gas/aarch64/reloc-dtprel_g1.d: Likewise. * gas/testsuite/gas/aarch64/reloc-dtprel_hi12.d: Likewise. * gas/testsuite/gas/aarch64/reloc-dtprel_lo12-1.d: Likewise. * gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc.d: Likewise. * gas/testsuite/gas/aarch64/reloc-tlsldm-1.d: Likewise. * gas/testsuite/gas/aarch64/reloc-tlsldm-page-1.d: Likewise. * gas/testsuite/gas/aarch64/reloc-tlsldm_lo12_nc-1.d: Likewise. * gas/testsuite/gas/aarch64/shifted.d: Likewise. * gas/testsuite/gas/aarch64/sve.d: Likewise. * gas/testsuite/gas/aarch64/symbol.d: Likewise. * gas/testsuite/gas/aarch64/sysreg-1.d: Likewise. * gas/testsuite/gas/aarch64/sysreg-2.d: Likewise. * gas/testsuite/gas/aarch64/sysreg-3.d: Likewise. * gas/testsuite/gas/aarch64/sysreg.d: Likewise. * gas/testsuite/gas/aarch64/system-2.d: Likewise. * gas/testsuite/gas/aarch64/system-3.d: Likewise. * gas/testsuite/gas/aarch64/system.d: Likewise. * gas/testsuite/gas/aarch64/tbz_1.d: Likewise. * gas/testsuite/gas/aarch64/tlbi_op.d: Likewise. * gas/testsuite/gas/aarch64/tls.d: Likewise. * gas/testsuite/gas/aarch64/uao-directive.d: Likewise. * gas/testsuite/gas/aarch64/uao.d: Likewise. * gas/testsuite/gas/aarch64/virthostext-directive.d: Likewise. * gas/testsuite/gas/aarch64/virthostext.d: Likewise. * gas/testsuite/gas/aarch64/adr_1.d: Restrict test under -mabi=lp64. * gas/testsuite/gas/aarch64/int-insns.d: Likewise. * gas/testsuite/gas/aarch64/programmer-friendly.d: Likewise. * gas/testsuite/gas/aarch64/reloc-data.d: Likewise. * gas/testsuite/gas/aarch64/reloc-dtprel_g1_nc.d: Likewise. * gas/testsuite/gas/aarch64/reloc-dtprel_g2.d: Likewise. * gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst16.d: Likewise. * gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst32.d: Likewise. * gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst64.d: Likewise. * gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ldst8.d: Likewise. * gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst16.d: Likewise. * gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst32.d: Likewise. * gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst64.d: Likewise. * gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc-ldst8.d: Likewise. * gas/testsuite/gas/aarch64/reloc-gotoff_g0_nc.d: Likewise. * gas/testsuite/gas/aarch64/reloc-gotoff_g1.d: Likewise. * gas/testsuite/gas/aarch64/reloc-gottprel_g0_nc.d: Likewise. * gas/testsuite/gas/aarch64/reloc-gottprel_g1.d: Likewise. * gas/testsuite/gas/aarch64/reloc-insn.d: Likewise. * gas/testsuite/gas/aarch64/reloc-tlsdesc_off_g0_nc.d: Likewise. * gas/testsuite/gas/aarch64/reloc-tlsdesc_off_g1.d: Likewise. * gas/testsuite/gas/aarch64/reloc-tlsgd_g0_nc.d: Likewise. * gas/testsuite/gas/aarch64/reloc-tlsgd_g1.d: Likewise. * gas/testsuite/gas/aarch64/tail_padding.d: Likewise. * gas/testsuite/gas/aarch64/tls-desc.d: Likewise. commit 1336427510a5ffe7ed8f0c402cc9d315cc679952 Author: Nick Clifton Date: Tue Dec 13 11:19:23 2016 +0000 Add a 'Past Maintainers' section to the MAINTAINERS file. Retire Mark Mitchell's name to this section. * MAINTAINERS (Past Maintainers): New section. Move Mark Mitchell's name here. commit bfbf34de2f27672282d4fa4c0916cc41890dcc6c Author: Cary Coutant Date: Mon Dec 12 18:51:29 2016 -0800 When using linker scripts, place linker-generated sections by the output section name. 2016-12-12 Igor Kudrin Cary Coutant gold/ PR gold/14676 * script-sections.cc (Output_section_definition::output_section_name): For linker-generated sections, compare with output section name. * testsuite/Makefile.am (script_test_13): New test. * testsuite/Makefile.in: Regenerate. * testsuite/script_test_13.c: New source file. * testsuite/script_test_13.sh: New script. * testsuite/script_test_13.t: New linker script. commit d81222d3863037a90e0402cf438f7e45600feea2 Author: Cary Coutant Date: Mon Dec 12 17:52:09 2016 -0800 Fix edge cases in orphan section placement. There were still some cases I found where orphan section placement was screwy -- where the script has no output section description for either .data or .bss, a .bss orphan section ends up getting placed before the .data section. In addition, if there is an output section description for a data section not named .data (e.g., .rela.dyn), the orphan .bss gets placed before it. This patch cleans that up, by tracking the last allocated section even as we're adding orphans. I've also improved segment layout in the absence of a PHDRS clause. A zero-length NOBITS section will no longer force a new segment when followed by a PROGBITS section. 2016-12-12 Cary Coutant gold/ * script-sections.cc (Orphan_section_placement::update_last_alloc): New method. (Orphan_section_placement::find_place): Place orphan .data section after either RODATA or TEXT. (Script_sections::place_orphan): Call update_last_alloc for allocated sections. (Script_sections::create_segments): Improve handling of BSS. commit 75c6202b1d13b892581e8dd56b8e0664815390c1 Author: GDB Administrator Date: Tue Dec 13 00:00:25 2016 +0000 Automatic date update in version.in commit 22b05d33b4c870d65972ff8aefdd297ddc66d139 Author: Alan Modra Date: Tue Dec 13 09:30:06 2016 +1030 Don't add PHDR for objcopy/strip or ld script specifying PHDRS HPPA64 needs to add a DT_PHDR header for shared libs. That's fine when linking but shouldn't happen for strip/objcopy. Also PHDR must come first so there's no need to look at all program headers. bfd/ * elf64-hppa.c (elf64_hppa_modify_segment_map): Don't add PHDR for objcopy/strip or when a ld script specifies PHDRS. ld/ * testsuite/ld-elf/nobits-1.d: Remove xfail for hppa64. * testsuite/ld-elf/note-1.d: Likewise. * testsuite/ld-elf/note-2.d: Likewise. commit 6392030005291f7c783da2247b63ae31dc8352e0 Author: Alan Modra Date: Tue Dec 13 09:29:47 2016 +1030 Don't fudge p_vaddr when PHDR in segment RX does horrible fudges to PT_LOAD p_vaddr, that affect the testsuite and mean the target won't support dynamic objects. The latter probably doesn't matter too much since RX is an embedded target, but it's easy to stop some of the fudges in order to reduce special cases for RX in the testsuite. The changes make sense in isolation too. bfd/ * elf32-rx.c (elf32_rx_modify_program_headers): Don't adjust segments that include the ELF file header or program headers. ld/ * testsuite/ld-elf/flags1.d: Run for RX. * testsuite/ld-scripts/phdrs.exp: Likewise. * testsuite/ld-scripts/pr14962.d: Likewise. * testsuite/ld-scripts/pr14962-2.d: Likewise. commit ea0ffd5be2dfd6ee696fc15294d7b2bf29f267a7 Author: Alan Modra Date: Tue Dec 13 09:29:26 2016 +1030 [GOLD] Allow for larger alignment in script_test_15 PowerPC64 aligns .got to a 256 byte boundary. This tends to bump the data segment file size. PR gold/16711 * testsuite/script_test_15a.sh: Allows larger p_filesz. * testsuite/script_test_15b.sh: Likewise. * testsuite/script_test_15c.sh: Likewise. commit d32a48b9f2d8a374b7ce3f2c47cc9a1c3b184838 Author: Alan Modra Date: Tue Dec 13 09:21:56 2016 +1030 [GOLD] Adjust testcase for PowerPC64 Since the linker created .TOC. symbol is placed at roughly .got+32k, .toc input sections must be placed in or after .got if .toc entries are accessed using 16-bit signed offset relocs. crt1.o contains such a relocation. PR gold/20717 * testsuite/pr20717.t: Add .got output section containing .toc. commit 88acc2e16743fc1e6384758c9a68cd6d2a8bbd46 Author: Nathan Sidwell Date: Mon Dec 12 12:52:37 2016 -0500 Port c++/78252 from GCC PR c++/78252 * cp-demangle.c (struct d_print_info): Add is_lambda_arg field. (d_print_init): Initialize it. (d_print_comp_inner) : Check is_lambda_arg for auto. : Skip smashing check when is_lambda_arg. : Increment is_lambda_arg around arg printing. * testsuite/demangle-expected: Add lambda auto mangling cases. commit d36cab83a963f5bb3773e0218cc02f63b0851d0b Author: Yao Qi Date: Mon Dec 12 09:09:43 2016 +0000 Remove assert on exec_bfd in cris_delayed_get_disassembler cris_delayed_get_disassembler has an assert that exec_bfd can't be NULL, but this assert can be triggered like this, (gdb) set architecture cris The target architecture is assumed to be cris (gdb) disassemble 0x0,+4 Dump of assembler code from 0x0 to 0x4: 0x00000000: ../../binutils-gdb/gdb/cris-tdep.c:3798: internal-error: int cris_delayed_get_disassembler(bfd_vma, disassemble_info*): Assertion `exec_bfd != NULL' failed. A problem internal to GDB has been detected, further debugging may prove unreliable. however, cris_get_disassembler does have code to handle the case that bfd is NULL, /* If there's no bfd in sight, we return what is valid as input in all contexts if fed back to the assembler: disassembly *with* register prefix. Unfortunately this will be totally wrong for v32. */ if (abfd == NULL) return print_insn_cris_with_register_prefix; This patch is to remove this assert. gdb: 2016-12-12 Yao Qi PR tdep/20955 * cris-tdep.c (cris_delayed_get_disassembler): Remove the assert. commit 029e9d52de3ac7fe984dc079ebd24506fd1eace7 Author: Yao Qi Date: Mon Dec 12 09:03:34 2016 +0000 Handle memory error in print_insn_rx Nowadays, memory error in rx disassembly is not handled, so if I start a fresh GDB, and disassemble, (gdb) set architecture rx The target architecture is assumed to be rx (gdb) disassemble 0x0,+4 Dump of assembler code from 0x0 to 0x4: 0x00000000: brk 0x00000001: brk 0x00000002: brk 0x00000003: brk the output is wrong. This patch adds code to call dis->memory_error_func on memory error, and longjmp to print_insn_rx. With this patch applied, (gdb) set architecture rx The target architecture is assumed to be rx (gdb) disassemble 0,+4 Dump of assembler code from 0x0 to 0x4: 0x00000000: Cannot access memory at address 0x0 opcodes: 2016-12-12 Yao Qi * rx-dis.c: Include (struct private): New. (rx_get_byte): Check return value of read_memory_func, and call memory_error_func and OPCODES_SIGLONGJMP on error. (print_insn_rx): Call OPCODES_SIGSETJMP. commit 3a0b8f7ddb874283879baaf8af6d11094f4c4999 Author: Yao Qi Date: Mon Dec 12 09:03:34 2016 +0000 Handle memory error in print_insn_rl78_common Nowadays, memory error in rl78 disassembly is not handled, so if I start a fresh GDB, and disassemble, (gdb) set architecture rl78 The target architecture is assumed to be rl78 (gdb) disassemble 0x0,+4 Dump of assembler code from 0x0 to 0x4: 0x00000000: nop 0x00000001: nop 0x00000002: nop 0x00000003: nop the output is wrong. This patch adds code to call dis->memory_error_func on memory error, and longjmp to print_insn_rl78_common. With this patch applied, (gdb) set architecture rl78 The target architecture is assumed to be rl78 (gdb) disassemble 0,+4 Dump of assembler code from 0x0 to 0x4: 0x00000000: Cannot access memory at address 0x0 opcodes: 2016-12-12 Yao Qi * rl78-dis.c: Include . (struct private): New. (rl78_get_byte): Check return value of read_memory_func, and call memory_error_func and OPCODES_SIGLONGJMP on error. (print_insn_rl78_common): Call OPCODES_SIGJMP. commit cc90de49738ad220bd1d3d001b492679fc488fe1 Author: Igor Kudrin Date: Sun Dec 11 20:31:09 2016 -0800 Fix earlier ChangeLog entry to give Igor credit, add testcases. 2016-12-01 Cary Coutant Igor Kudrin PR gold/20717 * script-sections.cc (Script_sections): Set *keep to false when no match. 2016-12-11 Igor Kudrin PR gold/20717 * testsuite/Makefile.am (pr20717): New test. * testsuite/Makefile.in: Regenerate. * testsuite/pr20717.c: New test source file. * testsuite/pr20717.sh: New test script. * testsuite/pr20717.t: New test linker script. commit 5d9f66cb84b9f228c1082d3a1037355edceddded Author: Cary Coutant Date: Sun Dec 11 17:31:25 2016 -0800 Fix problems with bss handling in linker scripts. PR 16711 noted that gold allocates file space for BSS sections when using a linker script. I've fixed that by rewriting set_section_addresses and set_section_list_addresses to track the file offset separate from the current virtual address, so that BSS sections do not move the file offset. Now, if a series of BSS sections come at the end of a segment, we do not allocate file space; but if a script forces them into the middle of a segment, we will still allocate file space (matching Gnu ld behavior). I've also added a warning when that happens. That exposed another problem where orphan .bss sections were sometimes placed in the middle of a segment. For example, if the script mentions the .got section, but both .data and .bss are orphans, gold would put both .data and .bss in front of .got. I've fixed that by ensuring that orphan BSS sections are always placed after all other allocated sections. It also exposed a problem where the SUBALIGN property is not handled properly. The ld manual clearly states that it should override input section alignment, whether greater or less than the given alignment, but gold would only increase an input section's alignment. Gold would also place the output section based on its original alignment before the SUBALIGN property took effect, leading to a misaligned output section (where the input section was properly aligned in memory, but was not aligned relative to the start of the section), in violation of the ELF/gABI spec. I've fixed that by making sure that the SUBALIGN property overrides the internal alignment of the input sections as well as the external alignment of the output section. This affected the behavior of script_test_2, which was written to expect a misaligned section. The net effect is, I think, improved compatibility with the BFD linker. There are still cases where orphan placement differs, but the differences should be rarer and less important. ALIGN and SUBALIGN behavior is closer, but still not an exact match -- I still found cases where ld would create a misaligned output section, and where gold will properly align it. gold/ PR gold/16711 * output.cc (Output_section::set_final_data_size): Calculate data size based on relative offset rather than file offset. (Output_segment::set_section_addresses): Track file offset separately from address offset. (Output_segment::set_section_list_addresses): Add pfoff parameter. Track file offset separately. Don't move file offset for BSS sections. * output.h (Output_segment::set_section_list_addresses): Add pfoff parameter. * script-sections.cc (Orphan_section_placement): Add PLACE_LAST_ALLOC. (Orphan_section_placement::Orphan_section_placement): Initialize it. (Orphan_section_placement::output_section_init): Track last allocated section. (Orphan_section_placement::find_place): Place BSS after last allocated section. (Output_section_element_input::set_section_addresses): Always override input section alignment when SUBALIGN is specified. (Output_section_definition::set_section_addresses): Override alignment of output section when SUBALIGN is specified. * testsuite/Makefile.am (script_test_15a, script_test_15b) (script_test_15c): New test cases. * testsuite/Makefile.in: Regenerate. * testsuite/script_test_2.cc: Adjust expected layout. * testsuite/script_test_15.c: New source file. * testsuite/script_test_15a.sh: New shell script. * testsuite/script_test_15a.t: New linker script. * testsuite/script_test_15b.sh: New shell script. * testsuite/script_test_15b.t: New linker script. * testsuite/script_test_15c.sh: New shell script. * testsuite/script_test_15c.t: New linker script. commit e83563a9ed0dd6ccc415c4b0cce373fc3264b7a5 Author: Cary Coutant Date: Sun Dec 11 16:40:11 2016 -0800 Regenerate Makefile.in to get rid of annoying diffs caused by non-deterministic automake. * Makefile.in: Regenerate. commit 98fdf25a43abdad5784e762466fdd7bd59b0899e Author: GDB Administrator Date: Mon Dec 12 00:00:21 2016 +0000 Automatic date update in version.in commit ec6f610ffcc411237e9f8955dd2227cefd255af2 Author: GDB Administrator Date: Sun Dec 11 00:00:23 2016 +0000 Automatic date update in version.in commit 4783ebbcfa35032ac2742f403258a14b647d9ba6 Author: GDB Administrator Date: Sat Dec 10 00:00:21 2016 +0000 Automatic date update in version.in commit 64c111834081a117f902cffc15dadbc535f1c65e Author: Maciej W. Rozycki Date: Fri Dec 9 23:11:40 2016 +0000 MIPS16: Remove unused `>' operand code This code has never been used throughout the repository history, and likely not before either, as due to the assymetry of MIPS16 instruction set encoding there are no 32-bit shift operations having their immediate shift count placed in the position of the usual `rx' instruction field. gas/ * config/tc-mips.c (mips16_macro_build) <'>'>: Remove case. include/ * opcode/mips.h: Remove references to `>' operand code. opcodes/ * mips16-opc.c (decode_mips16_operand) <'>'>: Remove cases. commit f17ecb4baca990b57cc57e8337c4e03ecee02742 Author: Maciej W. Rozycki Date: Fri Dec 9 22:50:07 2016 +0000 MIPS16/opcodes: Use hexadecimal interpretation for the `e' operand code Make the `e' operand code used with raw EXTEND instructions use the hexadecimal rather than decimal format, for consistency with what is actually produced by code in `print_insn_mips16' dedicated to EXTEND disassembly. Due to that special handling the operand code is only interpreted for assembly however, which accepts either format either way, so there is no functional change here. opcodes/ * mips16-opc.c (decode_mips16_operand) <'e'>: Use HINT rather than UINT. gas/ * testsuite/gas/mips/mips16-extend.d: New test. * testsuite/gas/mips/mips16-extend.s: New test source. * testsuite/gas/mips/mips.exp: Run the new test. commit 55af478400524cba7994e353fd9a98ef1543df2f Author: Maciej W. Rozycki Date: Fri Dec 9 22:27:00 2016 +0000 MIPS16/opcodes: Reformat raw EXTEND and undecoded output Use a tab rather than a space to separate `extend' and its uninterpreted argument output, like with regular instructions. Separate hexadecimal halves of undecoded extended instructions output with a space instead of presenting them concatenated. opcodes/ * mips-dis.c (print_insn_mips16): Use a tab rather than a space to separate `extend' and its uninterpreted argument output. Separate hexadecimal halves of undecoded extended instructions output. binutils/ * testsuite/binutils-all/mips/mips16-extend-noinsn.d: New test. * testsuite/binutils-all/mips/mips16-extend-noinsn.s: New test source. * testsuite/binutils-all/mips/mips.exp: Run the new test. commit 1736a7bd96e8927c3f889a35f9153df4fd19d833 Author: Pedro Alves Date: Fri Dec 9 16:08:49 2016 +0000 gdb: Remove support for obsolete OSABIs and a.out gdb/ChangeLog: 2016-12-09 Pedro Alves * Makefile.in (ALL_TARGET_OBS): Remove vax-obsd-tdep.o. * alpha-fbsd-tdep.c (_initialize_alphafbsd_tdep): Adjust. * alpha-nbsd-tdep.c: Move comment to _initialize_alphanbsd_tdep. (alphanbsd_core_osabi_sniffer): Delete. (_initialize_alphanbsd_tdep): No longer handle a.out. * alpha-obsd-tdep.c (_initialize_alphaobsd_tdep): Adjust. * amd64-fbsd-tdep.c (_initialize_amd64fbsd_tdep): Adjust. * amd64-nbsd-tdep.c (_initialize_amd64nbsd_tdep): Adjust. * amd64-obsd-tdep.c (amd64obsd_supply_regset) (amd64obsd_combined_regset) (amd64obsd_iterate_over_regset_sections, amd64obsd_core_init_abi): Delete. (_initialize_amd64obsd_tdep): Don't handle a.out. * arm-nbsd-nat.c (struct md_core, fetch_core_registers) (arm_netbsd_core_fns): Delete. (_initialize_arm_netbsd_nat): Don't register arm_netbsd_core_fns. * arm-nbsd-tdep.c (arm_netbsd_aout_init_abi) (arm_netbsd_aout_osabi_sniffer): Delete. (_initialize_arm_netbsd_tdep): Don't handle a.out. * arm-obsd-tdep.c (armobsd_core_osabi_sniffer): Delete. (_initialize_armobsd_tdep): Don't handle a.out. * arm-tdep.c (arm_gdbarch_init): Remove bfd_target_aout_flavour case. * breakpoint.c (disable_breakpoints_in_unloaded_shlib): Remove SunOS a.out handling. * configure.tgt (vax-*-netbsd* | vax-*-knetbsd*-gnu): Remove vax-obsd-tdep.o from gdb_target_objs. (vax-*-openbsd*): Likewise. (*-*-freebsd*): Adjust default gdb_osabi. (*-*-openbsd*): Likewise. * dbxread.c (block_address_function_relative): Delete. (dbx_symfile_read): Remove reference to block_address_function_relative. (dbx_symfile_read): Don't call read_dbx_dynamic_symtab. (read_dbx_dynamic_symtab): Delete. (process_one_symbol): Remove references to block_address_function_relative. * defs.h (GDB_OSABI_FREEBSD_AOUT, GDB_OSABI_NETBSD_AOUT): Remove. (GDB_OSABI_FREEBSD_ELF): Rename to ... (GDB_OSABI_FREEBSD): ... this. (GDB_OSABI_NETBSD_ELF): Rename to ... (GDB_OSABI_NETBSD): ... this. (GDB_OSABI_OPENBSD_ELF): Rename to ... (GDB_OSABI_OPENBSD): ... this. (GDB_OSABI_HPUX_ELF, GDB_OSABI_HPUX_SOM): Remove. * fbsd-tdep.c: Adjust comment. * hppa-nbsd-tdep.c (_initialize_hppanbsd_tdep): Adjust. * hppa-obsd-tdep.c (GDB_OSABI_NETBSD_CORE): Delete. (hppaobsd_core_osabi_sniffer): Delete. (_initialize_hppabsd_tdep): Don't handle a.out. * hppa-tdep.c (hppa_stub_frame_unwind_cache): Don't handle GDB_OSABI_HPUX_SOM. (hppa_gdbarch_init): Likewise. * i386-bsd-tdep.c (i386bsd_aout_osabi_sniffer) (i386bsd_core_osabi_sniffer, _initialize_i386bsd_tdep): Delete. * i386-fbsd-tdep.c (i386fbsdaout_init_abi): Delete. Merge bits with ... (i386fbsd_init_abi): ... this. (_initialize_i386fbsd_tdep): Don't handle a.out. * i386-nbsd-tdep.c (_initialize_i386nbsd_tdep): Adjust. * i386-obsd-tdep.c (i386obsd_aout_supply_regset) (i386obsd_aout_gregset) (i386obsd_aout_iterate_over_regset_sections): Delete. (i386obsd_init_abi): Merge with i386obsd_elf_init_abi. (i386obsd_aout_init_abi): Delete. (_initialize_i386obsd_tdep): Don't handle a.out. * m68k-bsd-tdep.c (m68kobsd_sigtramp_cache_init) (m68kobsd_sigtramp): Delete. (m68kbsd_init_abi): Merge with ... (m68kbsd_elf_init_abi): ... this, and delete it. (m68kbsd_aout_init_abi): Delete. (m68kbsd_aout_osabi_sniffer, m68kbsd_core_osabi_sniffer): Delete. (_initialize_m68kbsd_tdep): Don't handle a.out. * mips-nbsd-tdep.c (_initialize_mipsnbsd_tdep): Adjust. * mips64-obsd-tdep.c (_initialize_mips64obsd_tdep): Adjust. * osabi.c (gdb_osabi_names): Remove "a.out" entries. Drop "ELF" suffixes. Remove "HP-UX" entries. (generic_elf_osabi_sniff_abi_tag_sections): Adjust. (generic_elf_osabi_sniffer): No longer handle GDB_OSABI_HPUX_ELF. Adjust. (_initialize_ppcfbsd_tdep): Adjust. * ppc-nbsd-tdep.c (_initialize_ppcnbsd_tdep): Adjust. * ppc-obsd-tdep.c (GDB_OSABI_NETBSD_CORE) (ppcobsd_core_osabi_sniffer): Delete. (_initialize_ppcobsd_tdep): Don't handle a.out. * rs6000-tdep.c (rs6000_gdbarch_init): Adjust. * sh-nbsd-tdep.c (GDB_OSABI_NETBSD_CORE) (shnbsd_core_osabi_sniffer): Delete. (_initialize_shnbsd_tdep): Don't handle a.out. * solib.c (clear_solib): Don't handle SunOS/a.out. * sparc-nbsd-tdep.c (sparc32nbsd_init_abi): Make extern. (sparc32nbsd_aout_init_abi): Delete. (sparc32nbsd_elf_init_abi): Merged into sparc32nbsd_init_abi. (sparcnbsd_aout_osabi_sniffer): Delete. (GDB_OSABI_NETBSD_CORE, sparcnbsd_core_osabi_sniffer): Delete. (_initialize_sparcnbsd_tdep): No longer handle a.out. * sparc-obsd-tdep.c (sparc32obsd_init_abi) (_initialize_sparc32obsd_tdep): Adjust. * sparc-tdep.h (sparc32nbsd_elf_init_abi): Rename to ... (sparc32nbsd_init_abi): ... this. * sparc64-fbsd-tdep.c (_initialize_sparc64fbsd_tdep): Adjust. * sparc64-nbsd-tdep.c (_initialize_sparc64nbsd_tdep): Adjust. * sparc64-obsd-tdep.c (_initialize_sparc64obsd_tdep): Adjust. * stabsread.c: Update comment. * symmisc.c (print_objfile_statistics): Don't mention "a.out" in output. * vax-nbsd-tdep.c (_initialize_vaxnbsd_tdep): Adjust. * vax-obsd-tdep.c: Delete file. commit f94f411b8308674eb4f790a9fcad0ffa30b568e5 Author: Yao Qi Date: Fri Dec 9 15:44:48 2016 +0000 Add ChangeLog entries ChangeLog entries are missed in my two previous commits. commit a28aa6edd4ba848c110cd73fd4e29c2bbdb2cb72 Author: Yao Qi Date: Fri Dec 9 15:27:43 2016 +0000 Create tdep->rx_psw_type and tdep->rx_fpsw_type lazily I build GDB with all targets enabled, and "set architecture rx", GDB crashes, (gdb) set architecture rx Program received signal SIGSEGV, Segmentation fault. append_flags_type_flag (type=0x20cc360, bitpos=bitpos@entry=0, name=name@entry=0xd27529 "C") at ../../binutils-gdb/gdb/gdbtypes.c:4926 4926 name); (gdb) bt 10 #0 append_flags_type_flag (type=0x20cc360, bitpos=bitpos@entry=0, name=name@entry=0xd27529 "C") at ../../binutils-gdb/gdb/gdbtypes.c:4926 #1 0x00000000004ce725 in rx_gdbarch_init (info=..., arches=) at ../../binutils-gdb/gdb/rx-tdep.c:1051 #2 0x00000000006b05a4 in gdbarch_find_by_info (info=...) at ../../binutils-gdb/gdb/gdbarch.c:5269 #3 0x000000000060eee4 in gdbarch_update_p (info=...) at ../../binutils-gdb/gdb/arch-utils.c:557 #4 0x000000000060f8a8 in set_architecture (ignore_args=, from_tty=1, c=) at ../../binutils-gdb/gdb/arch-utils.c:531 #5 0x0000000000593d0b in do_set_command (arg=, arg@entry=0x20bee81 "rx ", from_tty=from_tty@entry=1, c=c@entry=0x20b1540) at ../../binutils-gdb/gdb/cli/cli-setshow.c:455 #6 0x00000000007665c3 in execute_command (p=, p@entry=0x20bee70 "set architecture rx ", from_tty=1) at ../../binutils-gdb/gdb/top.c:666 #7 0x00000000006935f4 in command_handler (command=0x20bee70 "set architecture rx ") at ../../binutils-gdb/gdb/event-top.c:577 #8 0x00000000006938d8 in command_line_handler (rl=) at ../../binutils-gdb/gdb/event-top.c:767 #9 0x0000000000692c2c in gdb_rl_callback_handler (rl=0x20be7f0 "") at ../../binutils-gdb/gdb/event-top.c:200 The cause is that we want to access some builtin types in gdbarch init, but it is not initialized yet. I fix it by creating the type when it is to be used. We've already done this in sparc, sparc64 and m68k. gdb: 2016-12-09 Yao Qi PR tdep/20954 * rx-tdep.c (rx_psw_type): New function. (rx_fpsw_type): New function. (rx_register_type): Call rx_psw_type and rx_fpsw_type. (rx_gdbarch_init): Move code to rx_psw_type and rx_fpsw_type. gdb/testsuite: 2016-12-09 Yao Qi * gdb.base/all-architectures.exp.in: Remove kfail for "rx". commit 1a31b34a18d61dee55042f2ab23c8fa9203fe6ef Author: Yao Qi Date: Fri Dec 9 15:27:43 2016 +0000 Create tdep->rl78_psw_type lazily I build GDB for all targets enabled. When I "set architecture rl78", GDB crashes, (gdb) set architecture rl78 Program received signal SIGSEGV, Segmentation fault. append_flags_type_flag (type=0x20cc0e0, bitpos=bitpos@entry=0, name=name@entry=0x11dba3f "CY") at ../../binutils-gdb/gdb/gdbtypes.c:4926 4926 name); (gdb) bt 10 #0 append_flags_type_flag (type=0x20cc0e0, bitpos=bitpos@entry=0, name=name@entry=0x11dba3f "CY") at ../../binutils-gdb/gdb/gdbtypes.c:4926 #1 0x00000000004aaca8 in rl78_gdbarch_init (info=..., arches=) at ../../binutils-gdb/gdb/rl78-tdep.c:1410 #2 0x00000000006b05a4 in gdbarch_find_by_info (info=...) at ../../binutils-gdb/gdb/gdbarch.c:5269 #3 0x000000000060eee4 in gdbarch_update_p (info=...) at ../../binutils-gdb/gdb/arch-utils.c:557 #4 0x000000000060f8a8 in set_architecture (ignore_args=, from_tty=1, c=) at ../../binutils-gdb/gdb/arch-utils.c:531 #5 0x0000000000593d0b in do_set_command (arg=, arg@entry=0x20be851 "rl78", from_tty=from_tty@entry=1, c=c@entry=0x20b1540) at ../../binutils-gdb/gdb/cli/cli-setshow.c:455 #6 0x00000000007665c3 in execute_command (p=, p@entry=0x20be840 "set architecture rl78", from_tty=1) at ../../binutils-gdb/gdb/top.c:666 #7 0x00000000006935f4 in command_handler (command=0x20be840 "set architecture rl78") at ../../binutils-gdb/gdb/event-top.c:577 #8 0x00000000006938d8 in command_line_handler (rl=) at ../../binutils-gdb/gdb/event-top.c:767 #9 0x0000000000692c2c in gdb_rl_callback_handler (rl=0x20be890 "") at ../../binutils-gdb/gdb/event-top.c:200 The cause is that we want to access some builtin types in gdbarch init, but it is not initialized yet. I fix it by creating the type when it is to be used. We've already done this in sparc, sparc64 and m68k. gdb: 2016-12-09 Yao Qi PR tdep/20953 * rl78-tdep.c (rl78_psw_type): New function. (rl78_register_type): Call rl78_psw_type. (rl78_gdbarch_init): Move code to rl78_psw_type. gdb/testsuite: 2016-12-09 Yao Qi * gdb.base/all-architectures.exp.in: Remove kfail for rl78. commit f1b5deee16144a75aa605bf37ed38d461587d399 Author: Pedro Alves Date: Fri Dec 9 14:59:09 2016 +0000 Add test that exercises all bfd architecture, osabi, endian, etc. combinations This adds a test that exposes several problems fixed by earlier patches: #1 - Buffer overrun when host/target formats match, but sizes don't. https://sourceware.org/ml/gdb-patches/2016-03/msg00125.html #2 - Missing handling for FR-V FR300. https://sourceware.org/ml/gdb-patches/2016-03/msg00117.html #3 - BFD architectures with spaces in their names (v850). https://sourceware.org/ml/binutils/2016-03/msg00108.html #4 - The OS ABI names with spaces issue. https://sourceware.org/ml/gdb-patches/2016-03/msg00116.html #5 - Bogus HP/PA long double format. https://sourceware.org/ml/gdb-patches/2016-03/msg00122.html #6 - Cris big endian internal error. https://sourceware.org/ml/gdb-patches/2016-03/msg00126.html #7 - Several PowerPC bfd archs/machines not handled by gdb. https://sourceware.org/bugzilla/show_bug.cgi?id=19797 And hopefully helps catch others in the future. This started out as a test that simply did, gdb -ex "print 1.0L" to exercise #1 above. Then to cover both 32-bit target / 64-bit host and the converse, I thought of having the testcase print the floats twice, once with the architecture set to "i386" and then to "i386:x86-64". This way it wouldn't matter whether gdb was built as 32-bit or a 64-bit program. Then I thought that other archs might have similar host/target floatformat conversion issues as well. Instead of hardcoding some architectures in the test file, I thought we could just iterate over all bfd architectures and OS ABIs supported by the gdb build being tested. This is what then exposed all the other problems listed above... With an --enable-targets=all, this exercises over 14 thousand combinations. If left in a single test file, it all consistenly runs in under a minute on my machine (An Intel i7-4810MQ @ 2.8 MHZ running Fedora 23). Split in 8 chunks, as in this commit, it runs in around 25 seconds, with make -j8. To avoid flooding the gdb.sum file, it avoids calling "pass" on each tested combination/iteration. I'm explicitly not implementing that by passing an empty message to gdb_test / gdb_test_multiple, because I still want a FAIL to be logged in gdb.sum. So instead this puts the internal passes in the gdb.log file, only, prefixed "IPASS:", for internal pass. TBC, if some iteration fails, it'll still show up as FAIL in gdb.sum. If this is an approach that takes on, I can see us extending the common bits to support it for all testcases. gdb/testsuite/ChangeLog: 2016-12-09 Pedro Alves * gdb.base/all-architectures-0.exp: New file. * gdb.base/all-architectures-1.exp: New file. * gdb.base/all-architectures-2.exp: New file. * gdb.base/all-architectures-3.exp: New file. * gdb.base/all-architectures-4.exp: New file. * gdb.base/all-architectures-5.exp: New file. * gdb.base/all-architectures-6.exp: New file. * gdb.base/all-architectures-7.exp: New file. * gdb.base/all-architectures.exp.in: New file. commit fc2f703edb656c69b0026a006c6063cdb255e06a Author: Yao Qi Date: Fri Dec 9 09:51:20 2016 +0000 Use code cache in aarch64 prologue analyzer This patch change aarch prologue analyzer using code cache, in order to improve the performance of remote debugging. gdb.perf/skip-prologue.exp (measured by wall-time) is improved when the program is compiled without debug information. Original Patched Original Patched without dbg without dbg with dbg with dbg / 11.1635239124 9.99472999573 9.65339517593 9.66648793221 -fstack-protector-all 11.2560930252 9.338118 9.63896489143 9.59474396706 gdb: 2016-12-9 Yao Qi * aarch64-tdep.c (instruction_reader::read): Call read_code_unsigned_integer instead of read_memory_unsigned_integer. commit 198cd59d289209ad63cdd6da45e02a1c12b423a7 Author: Yao Qi Date: Fri Dec 9 09:51:20 2016 +0000 Use code cache in arm prologue analyzer This patch change arm prologue analyzer using code cache, in order to improve the performance of remote debugging. gdb.perf/skip-prologue.exp (measured by wall-time) is improved a lot, Original Patched Original Patched without dbg without dbg with dbg with dbg -marm 14.166741848 9.32852292061 11.4908499718 9.16302204132 -marm 14.6705040932 9.34849786758 18.2788009644 9.14823913574 \-fstack-protector-all -mthumb 34.4391930103 10.6062178612 13.7886838913 10.3094120026 -mthumb \-fstack-protector-all 34.9310460091 10.6413481236 25.3875930309 10.6294929981 gdb: 2016-12-09 Yao Qi * arm-tdep.c (skip_prologue_function): Call read_code_unsigned_integer instead of read_memory_unsigned_integer. (thumb_analyze_prologue): Likewise. (arm_analyze_load_stack_chk_guard): Likewise. (arm_skip_stack_protector): Likewise. (arm_analyze_prologue):Likewise. (extend_buffer_earlier): Call target_read_code instead of target_read_memory. (arm_adjust_breakpoint_address): Likewise. commit 364ca42e71dfdce3f34e97ef028f7e3d5b5d880e Author: Yao Qi Date: Fri Dec 9 09:51:20 2016 +0000 Compile gdb.perf/skip-prologue.c with and without debug info gdb.perf/skip-prologue.exp is intended to measure the performance of skipping prologue with prologue analysis by setting breakpoints. However, if program is compiled with debug info, GDB is smart to skip prologue by line table from debug info, so prologue analysis is not exercised at all. This patch adds a parameter COMPILE to specify compiling with debug information, otherwise, it is compiled without debug information. gdb/testsuite: 2016-12-09 Yao Qi * gdb.perf/skip-prologue.exp: Add parameter COMPILE. commit c752a4cccb99ba73f51eff74b394dcdcd26d4c59 Author: Thomas Schwinge Date: Wed May 25 18:54:40 2016 +0200 Hurd: Adjust to changes to "push pruning old threads down to the target" For "info threads", we currently run into: $ gdb/gdb -q -nw -nx --batch -ex start -ex info\ threads bfd/doc/chew Temporary breakpoint 1 at 0x80486e0: file ../../../W._C._Handy/bfd/doc/chew.c, line 1535. [New Thread 10656.5] Thread 4 hit Temporary breakpoint 1, main (ac=1, av=0x102cd84) at ../../../W._C._Handy/bfd/doc/chew.c:1535 1535 { Id Target Id Frame 1 bogus thread id 1 Can't fetch registers from thread bogus thread id 1: No such thread Before commit e8032dde10b743253125d7defb5f5503b21c1d26, gdb/thread.c:update_thread_list used to call prune_threads, after that change it doesn't anymore, and we don't implement the to_update_thread_list target method where the prune_threads call got moved. For now, apply a fix, related to commit c82f56d9d760a9b4034eeaac44f2f0fa5779ff69 "Hurd: Adjust to startup-with-shell changes", which restores the previous behavior: Id Target Id Frame * 4 Thread 10688.4 main (ac=1, av=0x102cd84) at ../../../W._C._Handy/bfd/doc/chew.c:1535 5 Thread 10688.5 0x0106096c in ?? () from /lib/i386-gnu/libc.so.0.3 Not perfect, but at least better. gdb/ * gnu-nat.c (gnu_create_inferior): After startup_inferior, call prune_threads. commit 53488a6e194af11c2528e5e284facb8a6171b695 Author: Thomas Schwinge Date: Thu Dec 8 18:42:03 2016 +0100 Avoid PATH_MAX usage On GNU/Hurd, there is no "#define PATH_MAX", so this failed to build. gdb/ * inferior.c (print_selected_inferior): Avoid PATH_MAX usage. commit cfccf141f0db8de28ba21a8920939c30e123d73e Author: GDB Administrator Date: Fri Dec 9 00:00:25 2016 +0000 Automatic date update in version.in commit 39f66f3ae25ebd3a065218ce880280fd5b4b861c Author: Maciej W. Rozycki Date: Thu Dec 8 23:29:37 2016 +0000 MIPS16/opcodes: Fix off-by-one indentation in `print_mips16_insn_arg' opcodes/ * mips-dis.c (print_mips16_insn_arg): Remove extraneous indentation space across. commit 860b03a8f357d1565bd9d79ae25121059b2d28ae Author: Maciej W. Rozycki Date: Thu Dec 8 23:29:01 2016 +0000 MIPS16/opcodes: Fix PC-relative operation delay-slot adjustment Complement commit dd8b7c222e0e ("MIPS: mips16e jalrc/jrc opcodes"), , and stop the disassembler making a delay-slot adjustment for PC-relative operations following either MIPS16e compact jumps, or undefined RR/J(AL)R(C) encodings that have the `l' (link) and `ra' (source register is `ra') bits set both at a time. Adjust code description for accuracy. Add a suitable test case. opcodes/ * mips-dis.c (print_mips16_insn_arg): Avoid delay-slot adjustment for PC-relative operations following MIPS16e compact jumps or undefined RR/J(AL)R(C) encodings. binutils/ * testsuite/binutils-all/mips/mips16-pcrel.d: New test. * testsuite/binutils-all/mips/mips16-pcrel.s: New test source. * testsuite/binutils-all/mips/mips.exp: Run the new test. commit 731f7c4ea30cc409c45412eec15e3d66afe051f5 Author: Maciej W. Rozycki Date: Thu Dec 8 22:55:42 2016 +0000 ARC/GAS: Correct a `spaces' global shadowing error Fix a commit a9752fdf8398 ("[ARC] Sync cpu names with the ones accepted by GCC.") build regression: cc1: warnings being treated as errors .../gas/config/tc-arc.c: In function 'arc_show_cpu_list': .../gas/config/tc-arc.c:3452: error: declaration of 'spaces' shadows a global declaration .../gas/../include/libiberty.h:248: error: shadowed declaration is here make[4]: *** [tc-arc.o] Error 1 in a way following commit 91d6fa6a035c ("Add -Wshadow to the gcc command line options used when compiling the binutils."). gas/ * config/tc-arc.c (arc_show_cpu_list): Rename `spaces' local variable to `space_buf'. commit bf355b690f07315bf2704e349c4f1c9ca611f031 Author: Maciej W. Rozycki Date: Thu Dec 8 22:53:39 2016 +0000 ARM/GAS: Correct an `index' global shadowing error Fix a commit 008a97eff0ca ("[GAS][ARM]Generate unpredictable warning for pc used in data processing instructions with register-shifted register operand.") build regression: cc1: warnings being treated as errors .../gas/config/tc-arm.c: In function 'encode_arm_shift': .../gas/config/tc-arm.c:7439: error: declaration of 'index' shadows a global declaration /usr/include/string.h:303: error: shadowed declaration is here make[4]: *** [tc-arm.o] Error 1 in a way following commit 91d6fa6a035c ("Add -Wshadow to the gcc command line options used when compiling the binutils."). gas/ * config/tc-arm.c (encode_arm_shift): Rename `index' local variable to `op_index'. commit 329d01f70ea6367a9593c9b31e268c06dd729ec9 Author: Maciej W. Rozycki Date: Thu Dec 8 22:51:44 2016 +0000 AArch64/opcodes: Correct another `index' global shadowing error Fix a commit c2c4ff8d52a2 ("[AArch64] Add ARMv8.3 FCMLA and FCADD instructions") build regression: cc1: warnings being treated as errors .../opcodes/aarch64-dis.c: In function 'aarch64_ext_sve_addr_rr_lsl': .../opcodes/aarch64-dis.c:1324: error: declaration of 'index' shadows a global declaration /usr/include/string.h:303: error: shadowed declaration is here make[4]: *** [aarch64-asm.lo] Error 1 in a way following commit 91d6fa6a035c ("Add -Wshadow to the gcc command line options used when compiling the binutils."). opcodes/ * aarch64-asm.c (aarch64_ins_reglane): Rename `index' local variable to `reglane_index'. commit 3a2488dd21a895df3ffb49048f5de1a83ce2ddd4 Author: Luis Machado Date: Thu Dec 8 07:25:09 2016 -0600 Fix crash when disassembling invalid range on powerpc vle I got a report of a gdb crash for vle and further investigation showed an attempt to disassemble an invalid memory range. I tracked the crash down to the code in get_powerpc_dialect, where we fail to make sure we have a valid section pointer before dereferencing it. There is no such problem for rs6000-based disassembling. opcodes/ChangeLog: 2016-12-08 Luis Machado * ppc-dis.c (get_powerpc_dialect): Check NULL info->section. commit 1d262527cf7ef3cdd2c015dc3540b47996e94d37 Author: Etienne Buira Date: Thu Dec 8 12:52:21 2016 +0000 Always use a hex prefix when displaying the alignment of program headers. * readelf.c (process_program_headers): Always use hex prefix when displaying the segment alignment. commit 980d0cdd2fc40c30f3ddef644659d7d0dc00ed40 Author: Alan Modra Date: Thu Dec 8 16:08:29 2016 +1030 [GOLD] Don't assert in powerpc stub_table A branch in a non-exec section that needs a stub can lead to this assertion. * powerpc.cc (Powerpc_relobj::stub_table): Return NULL rather then asserting. commit 69a2af1016e03239f7af4e55268bd27fc500f800 Author: Alan Modra Date: Thu Dec 8 10:49:28 2016 +1030 [GOLD] fix typo in --stub-group-multi help * options.h (--stub-group-multi): Fix typo. commit da17fe9de923fcee29e6f809693eb7e590966575 Author: Alan Modra Date: Thu Dec 8 09:50:17 2016 +1030 sync binutils config/ with gcc config/ * acx.m4: Import from gcc. * bootstrap-asan.mk: Likewise. * multi.m4: Likewise. / * configure: Regnerate. gas/ * configure: Regnerate. ld/ * configure: Regnerate. libiberty/ * configure: Regnerate. zlib/ * configure: Regnerate. commit 8e2a4f11d477986aa360a3b588d35a194efe58f8 Author: Alan Modra Date: Thu Dec 8 09:51:00 2016 +1030 PR20932, Internal error during record link assignment PR ld/20932 * elflink.c (bfd_elf_record_link_assignment): Handle warning symbols. commit c3187fa5cc72734e6fc766a85d657018c0516bad Author: Simon Marchi Date: Thu Dec 8 09:45:59 2016 +0100 Hurd: In the CLI, use parse_thread_id instead of global_thread_id_to_ptid Follow-up to commit 14f6890677849172a4b13779acd9089c9baa3a81. global_thread_id_to_ptid expects global thread numbers, which are nowadays only used in MI, never presented to the user in the CLI. Since this is a CLI command, it should accept the inferior-qualified format instead. gdb/ * gnu-nat.c (set_sig_thread_cmd): Use parse_thread_id instead of global_thread_id_to_ptid. commit 21389b7f3451a482e14fef9bd32257c4c87f4317 Author: Thomas Schwinge Date: Mon Dec 5 11:59:03 2016 +0100 Hurd, C++: Mach/Hurd headers and MIG stubs are not yet fit for C++ ..., so handle these in "C" mode still: gdb/ * config/i386/i386gnu.mh (%_S.o %_U.o): Add "-x c" to "COMPILE.post". * gnu-nat.c: #include Mach/Hurd headers before all others. Wrap Mach/Hurd headers and MIG stubs' prototypes in 'extern "C"'. * i386-gnu-nat.c: Likewise. commit 0947023d1d4b5d8803a1065d622f707010b2bcdc Author: Thomas Schwinge Date: Fri Nov 25 11:02:17 2016 +0100 Hurd, C++: kern_return_t vs. error_t GNU/Hurd uses its own "typedef enum __error_t_codes error_t;" ([glibc]/sysdeps/mach/hurd/bits/errno.h), contrary to the default "typedef int error_t;" ([glibc]/stdlib/errno.h). The Mach/Hurd RPCs return kern_return_t values, for which, upon assigning them to an error_t variable, GCC in C++ mode tells us "error: invalid conversion from 'kern_return_t {aka int}' to 'error_t {aka __error_t_codes}'". Instead of casting all these RPC return values to "error_t", just use "kern_return_t" variables: gdb/ * gnu-nat.c (proc_get_exception_port, proc_set_exception_port) (INF_RESUME_MSGPORT_RPC, proc_get_state, _proc_get_exc_port) (proc_steal_exc_port, proc_restore_exc_port, make_proc) (inf_startup, inf_set_pid, inf_validate_procinfo) (inf_validate_task_sc, inf_set_traced, inf_validate_procs) (inf_signal, inf_continue, gnu_wait, S_exception_raise_request) (do_mach_notify_dead_name, S_proc_wait_reply) (S_msg_sig_post_untraced_reply, S_msg_sig_post_reply) (port_msgs_queued, gnu_read_inferior, gnu_write_inferior) (gnu_find_memory_regions, steal_exc_port, thread_takeover_sc_cmd) (flush_inferior_icache): Instead of "error_t" use "kern_return_t". * i386-gnu-nat.c (fetch_fpregs, store_fpregs, i386_gnu_dr_get) (i386_gnu_dr_set): Likewise. commit 785102a7d34f2d48f9a1616bf931fea6de2385fb Author: Thomas Schwinge Date: Fri Nov 25 15:16:13 2016 +0100 Hurd, C++: Avoid "const char *" to "char *" casts ... by a bit of code refactoring: gdb/ * gnu-nat.c (set_task_pause_cmd, set_signals_cmd) (set_exceptions_cmd): Add variants taking an "int arg" instead of a "char *". Make the "char *" variants use the former. (set_noninvasive_cmd): Also use the "int arg" variants. commit a9617a426d001a748168fbc399fcc77e6d8d3cac Author: Thomas Schwinge Date: Fri Nov 25 14:56:01 2016 +0100 Hurd, C++: Avoid GNU C nested functions ..., which C++ doesn't allow, so... gdb/ * gnu-nat.c (gnu_create_inferior): Move nested "trace_me" function... (gnu_ptrace_me): ... here. commit e9e431d19426a6dd6b8923850398b847af0a1532 Author: Thomas Schwinge Date: Fri Nov 25 11:01:39 2016 +0100 Hurd, C++: Explicitly cast "void *" C++ doesn't do implicit type conversions from "void *", so we have to... gdb/ * i386-gnu-nat.c (i386_gnu_dr_set_control_one) (i386_gnu_dr_set_addr_one): Explicitly cast "void *". commit e2f9914792465953ca945333d0cbedf0b2d7b3d6 Author: GDB Administrator Date: Thu Dec 8 00:00:27 2016 +0000 Automatic date update in version.in commit 14f6890677849172a4b13779acd9089c9baa3a81 Author: Thomas Schwinge Date: Tue May 24 19:36:57 2016 +0200 Hurd: Adjust to "Per-inferior/Inferior-qualified thread IDs" changes [...]/gdb/gnu-nat.c: In function 'set_sig_thread_cmd': [...]/gdb/gnu-nat.c:2973:7: warning: implicit declaration of function 'thread_id_to_pid' [-Wimplicit-function-declaration] ptid_t ptid = thread_id_to_pid (atoi (args)); ^ [...]/gdb/gnu-nat.c:2973:7: error: invalid initializer That's commit 5d5658a1d3c3eb2a09c03f2f0662a1c01963c869, which renamed `thread_id_to_pid` to `global_thread_id_to_ptid`. gdb/ * gnu-nat.c (set_sig_thread_cmd): Call global_thread_id_to_ptid instead of thread_id_to_pid. commit 4b0781150f69b6ff251dac447c77e4d4f6598da8 Author: Maciej W. Rozycki Date: Wed Dec 7 03:12:50 2016 +0000 MIPS/include: opcode/mips.h: Correct INSN_CHIP_MASK Complement commit e407c74b5b60 ("Support for MIPS R5900 (Sony Playstation 2)"), , and commit 2c62985659da ("MIPS: Add Octeon 3 support") and update the chip mask accordingly. include/ * opcode/mips.h (INSN_CHIP_MASK): Update according to bit use. commit 5f5c6e032e8d5303e9903c0538f84f76bb4d8733 Author: Maciej W. Rozycki Date: Wed Dec 7 02:55:27 2016 +0000 MIPS/opcodes: Correct an `interaction' comment typo opcodes/ * mips-dis.c (print_mips16_insn_arg): Fix comment typo. commit 343fa6906329eb5ec070cf2c05884e49a1cb9d46 Author: Maciej W. Rozycki Date: Wed Dec 7 02:53:03 2016 +0000 MIPS16/opcodes: Update opcode table comment opcodes/ * mips16-opc.c (mips16_opcodes): Update comment naming structure members. commit 6725647ca2a0adc9206059814725102b53ea6478 Author: Maciej W. Rozycki Date: Wed Dec 7 02:35:33 2016 +0000 MIPS/opcodes: Reformat `-M' disassembler option's help text Align output produced consistently and fix other formatting issues. opcodes/ * mips-dis.c (print_mips_disassembler_options): Reformat output. commit b8760d2cb51517789110c7b2dbd8f61dce08291d Author: Maciej W. Rozycki Date: Wed Dec 7 02:27:57 2016 +0000 MIPS/include: opcode/mips.h: Add a comment for ASE_DSPR3 Complement commit 8f4f9071ad5f ("Add MIPS32 DSPr3 support."). include/ * opcode/mips.h (ASE_DSPR3): Add a comment. commit be0fcbee1d47558af13288c6aece922dd4be6df5 Author: Maciej W. Rozycki Date: Wed Dec 7 02:24:18 2016 +0000 MIPS/GAS: Use local `isa' consistently in `is_opcode_valid' Replace a global `mips_opts.isa' reference in `is_opcode_valid' and use a local copy just made in `isa'. No functional change. gas/ * config/tc-mips.c (is_opcode_valid): Use local `isa' consistently. commit c2596ca5d7f6ab6d38882bf0f0fc44fe352afcb1 Author: Nick Clifton Date: Wed Dec 7 10:19:42 2016 +0000 Fix internal error in the linker by replacing a call to abort with an error message. PR ld/20932 * elflink.c (bfd_elf_record_link_assignment): Replace call to abort with an error message and error return value. commit 1c3a5fbe155614a0f87079b953df0d7618e0ab50 Author: Alan Modra Date: Wed Dec 7 14:15:59 2016 +1030 [GOLD] PowerPC --stub-group-multi Adds a new option, defaulting to off, that allows a group of stubs to serve multiple output sections. Prior to this patch powerpc gold allowed this unconditionally, which is a little unsafe with clever code that discards/reuses sections at runtime. * options.h (--stub-group-multi): New PowerPC option. * powerpc.cc (Stub_control): Add multi_os_ var and param to constructor. Sort start_ var later. Comment State. (Stub_control::can_add_to_stub_group): Heed multi_os_. (Target_powerpc::group_sections): Update. commit a5018ae555cdf491005907c03f997558ba15fc47 Author: Alan Modra Date: Wed Dec 7 14:12:26 2016 +1030 [GOLD] powerpc64le-linux fails to link large Linux kernel Gold attaches stubs to an existing section in contrast to ld.bfd which inserts a new section for stubs. If we want stubs before branches, then the stubs must be added to the previous section. Adding to the previous section is a disaster if there is a large gap between the previous section and the group. PR gold/20878 * powerpc.cc (Stub_control): Replace stubs_always_before_branch_ with stubs_always_after_branch_, group_end_addr_ with group_start_addr_. (Stub_control::can_add_to_stub_group): Rewrite to suit scanning sections by increasing address. (Target_powerpc::group_sections): Scan that way. Delete corner case. * options.h (--stub-group-size): Update help string. commit dc60b26d983494a3cdec0d4f167ed98fde1a832a Author: Alan Modra Date: Wed Dec 7 14:11:57 2016 +1030 [GOLD] PowerPC stub debug Some more debug output, and a little hardening. * powerpc.cc (Stub_table_owner): Provide constructor. (Powerpc_relobj::set_stub_table): Resize fill with -1. (Target_powerpc::Branch_info::make_stub): Provide target debug output on returning false. commit 86a6934561f0048624f3ff83f5d3c2565514f0aa Author: GDB Administrator Date: Wed Dec 7 00:00:19 2016 +0000 Automatic date update in version.in commit 5590c2bae0fb41e90bc9698e55d8ec1fe22a9173 Author: Simon Marchi Date: Tue Dec 6 16:19:33 2016 -0500 Remove unnecessary inferior lookup in inferior_command In the case where we switch to a non-running inferior, we do a "find_inferior_id (num)", although we did the same call right before. gdb/ChangeLog: * inferior.c (inferior_command): Remove duplicate find_inferior_id call. commit 4f3ca05b487e9755018b4c9a053a2e6c35d8a7df Author: Nick Clifton Date: Tue Dec 6 16:53:57 2016 +0000 Fix seg-fault in strip when copying a corrupt binary. PR binutils/20931 * elf.c (copy_special_section_fields): Check for an invalid sh_link field before attempting to follow it. commit 8b929e420a810afe23d5ba57a98109c74d1d5816 Author: Nick Clifton Date: Tue Dec 6 16:26:42 2016 +0000 Fix seg-fault running strip on a corrupt binary. PR binutils/20930 * objcopy.c (mark_symbols_used_in_relocations): Check for a null symbol pointer pointer before attempting to mark the symbol as kept. commit 92744f058094edd0b29bf9762f4ac26e4c6743c2 Author: Nick Clifton Date: Tue Dec 6 15:58:15 2016 +0000 Fix seg-fault running strip on a corrupt binary. PR binutils/20929 * aoutx.h (squirt_out_relocs): Check for relocs without an associated symbol. commit 5eecd8621b955fb99860fc1b0d87074071f42f72 Author: Nick Clifton Date: Tue Dec 6 15:34:33 2016 +0000 fix typo commit 005304aae36522a90bbe169faea36db559d0f3d6 Author: Nick Clifton Date: Tue Dec 6 15:31:14 2016 +0000 Stop the assembler from running out of memory when asked to generate a huge number of spaces. PR gas/20901 * read.c (s_space): Place an upper limit on the number of spaces generated. commit 7c2ba67e6ab10879968c938aefd4d0d0b4ce79bc Author: Yao Qi Date: Tue Dec 6 14:25:51 2016 +0000 Assert on lval_register This patch adds asserts where the value's lval must be lval_register. This triggers an error in frame_register_unwind because VALUE_REGNUM is used but value's lval is not lval_register. This also reveals a design issue in frame_register_unwind, that is arguments addrp and realnump are mutually exclusive, we either use addrp (for lval_memory), or use realnump (for lval_register). This can be done in a separate patch. gdb: 2016-12-06 Yao Qi * frame.c (frame_register_unwind): Set *realnump if *lvalp is lval_register. * value.c (deprecated_value_next_frame_id_hack): Assert value->lval is lval_register. (deprecated_value_regnum_hack): Likewise. commit 5e359a63b7a39e0ff0f750ca8fc97d27b14c0ef7 Author: Nick Clifton Date: Tue Dec 6 14:13:57 2016 +0000 Fix mmix assembler test to account for changes in the error messages produced by the assembler. PR gas/20896 * testsuite/gas/mmix/err-byte1.s: Adjust expected warning messages to account for patch to next_char_of_string. commit 39eeab253474493bc9477dbb2bd9c8041f05764b Author: Alan Modra Date: Tue Dec 6 16:06:14 2016 +1030 PowerPC64 toc optimisation for power9 Recognize power9 and a few other insns from older machines. Fixes linker complaints like "toc optimization is not supported for 0xf4090002 instruction". 0xf4090002 is stxsd v0,0(r9) bfd/ * elf64-ppc.c (ok_lo_toc_insn): Add r_type param. Recognize lq,lfq,lxv,lxsd,lxssp,lfdp,stq,stfq,stxv,stxsd,stxssp,stfdp. Don't match lmd and stmd. ld/ * testsuite/ld-powerpc/tocopt7.s, * testsuite/ld-powerpc/tocopt7.out, * testsuite/ld-powerpc/tocopt7.d: New test. * testsuite/ld-powerpc/tocopt8.s, * testsuite/ld-powerpc/tocopt8.d: New test. * testsuite/ld-powerpc/powerpc.exp: Run them. commit fc72affa6875e81fc9d495a216a8bcb34045ffcd Author: DJ Delorie Date: Tue Dec 6 01:40:44 2016 -0500 argv.c (expandargv): Check for directories passed as @-files. gcc pr 78584 commit e99f7af2bfbdb08c9cc454d6e5c82e70d34b957e Author: GDB Administrator Date: Tue Dec 6 00:00:23 2016 +0000 Automatic date update in version.in commit efe4db3f06b77934bd81f393194e0fdcfeecf811 Author: Alan Modra Date: Tue Dec 6 07:53:51 2016 +1030 Fix gold/testsuite/file_in_many_sections_test.sh file mode chmod a+x commit 82d93790a85300d8452450b6d43efb6b15b53788 Author: Cary Coutant Date: Mon Dec 5 10:41:09 2016 -0800 Fix problem where absolute local symbols are omitted when output has many sections. 2016-12-05 Cary Coutant Tristan Gingold gold/ * object.cc (Sized_relobj_file::do_count_local_symbols): Check is_ordinary before using shndx. * testsuite/Makefile.am (file_in_many_sections_test.sh): New test case. * testsuite/Makefile.in: Regenerate. * testsuite/file_in_many_sections.c: New source file. * testsuite/file_in_many_sections_test.sh: New script. commit f49547a604b4dd2c75e3636d4a422d52edc4fa6c Author: Nick Clifton Date: Mon Dec 5 17:36:45 2016 +0000 Fix fault in assembler when passed a bogus input file. PR gas/20902 * read.c (next_char_of_string): Do end advance past the end of the buffer. commit 14c1428b29fff12d8119ce6f4703be0de08197af Author: Nick Clifton Date: Mon Dec 5 16:54:59 2016 +0000 Fix ICE in assembler when passed a bogus input file. PR gas/20904 * as.h (SKIP_ALL_WHITESPACE): New macro. * expr.c (operand): Use it. commit fa6631b4eecfcca00c13b9594e6336dffd40982f Author: Nick Clifton Date: Mon Dec 5 16:34:45 2016 +0000 Fix seg-fault in the binutils utilities when reading a corrupt input file. PR binutils/20905 * peicode.h (pe_ILF_object_p): Use strnlen to avoid running over the end of the string buffer. commit 406bd128dba2a59d0736839fc87a59bce319076c Author: Nick Clifton Date: Mon Dec 5 16:00:43 2016 +0000 Fix seg-fault in linker when passed a bogus input script. PR ld/20906 * ldlex.l: Check for bogus strings in linker scripts. commit 9b5481c63ab5e1e66e8f23681741039754eabcce Author: Jose E. Marchesi Date: Mon Dec 5 16:57:53 2016 +0100 binutils: add myself to MAINTAINERS 2016-12-05 Jose E. Marchesi * MAINTAINERS: Add myself as maintainer for the SPARC targets. commit 52c4f3bdd5957a31b671a9791f462be5e8eadd85 Author: Nick Clifton Date: Mon Dec 5 14:59:02 2016 +0000 Fix abort when running tools on a bogus binary. PR binutils/20907 * peicode.h (pe_ILF_build_a_bfd): Replace abort with error return. commit e2996cc315d6ea242e1a954dc20246485ccc8512 Author: Nick Clifton Date: Mon Dec 5 14:32:30 2016 +0000 Fix seg-fault running strip on a corrupt binary. PR binutils/20921 * aoutx.h (squirt_out_relocs): Check for and report any relocs that could not be recognised. commit c28eeff2eabbba2246799470f3713716fa629680 Author: Szabolcs Nagy Date: Mon Dec 5 14:24:17 2016 +0000 [ARM] Add ARMv8.3 VCMLA and VCADD instructions Add support for VCMLA and VCADD advanced SIMD complex number instructions. The command line option is -march=armv8.3-a+fp16+simd for enabling all instructions. In arm-dis.c the formatting syntax was abused a bit to select between 0 vs 90 or 180 vs 270 or 90 vs 270 based on a bit value instead of duplicating entries in the opcode table. gas/ * config/tc-arm.c (do_vcmla, do_vcadd): Define. (neon_scalar_for_vcmla): Define. (enum operand_parse_code): Add OP_IROT1 and OP_IROT2. (NEON_ENC_TAB): Add DDSI and QQSI variants. (insns): Add vcmla and vcadd. * testsuite/gas/arm/armv8_3-a-simd.d: New. * testsuite/gas/arm/armv8_3-a-simd.s: New. * testsuite/gas/arm/armv8_3-a-simd-bad.d: New. * testsuite/gas/arm/armv8_3-a-simd-bad.l: New. * testsuite/gas/arm/armv8_3-a-simd-bad.s: New. opcodes/ * arm-dis.c (coprocessor_opcodes): Add vcmla and vcadd. (print_insn_coprocessor): Add 'V' format for neon D or Q regs. commit 0691188992efa4afab80bfdf966479bc331ce0a4 Author: Claudiu Zissulescu Date: Mon Dec 5 15:09:48 2016 +0100 [ARC] Don't check extAuxRegister second argument for sign. gas/ 2016-12-05 Claudiu Zissulescu * testsuite/gas/arc/textauxregister-1.d: New file. * testsuite/gas/arc/textauxregister-1.s: Likewise. * testsuite/gas/arc/textcondcode-err.s: Likewise. * testsuite/gas/arc/textcoreregister-err.s: Likewise. * config/tc-arc.c (tokenize_extregister): Return bfd_boolean, don't check second argument of extension auxiliary register for signess. (arc_extcorereg): Consider the return of tokenize_extregister function call. commit 49e8a725825c77aacc7458b9d7771cb2fa2f64c7 Author: Szabolcs Nagy Date: Mon Dec 5 14:13:27 2016 +0000 [ARM] Add ARMv8.3 VJCVT instruction Add support for VJCVT javascript conversion instruction. gas/ * config/tc-arm.c (arm_ext_v8_3, do_vjcvt): Define. (insns): Add vjcvt. * testsuite/gas/aarch64/armv8_3-a-fp.s: New. * testsuite/gas/aarch64/armv8_3-a-fp.d: New. * testsuite/gas/aarch64/armv8_3-a-fp-bad.s: New. * testsuite/gas/aarch64/armv8_3-a-fp-bad.d: New. * testsuite/gas/aarch64/armv8_3-a-fp-bad.l: New. opcodes/ * arm-dis.c (coprocessor_opcodes): Add vjcvt. commit a12fd8e1b1c9c6a16e3cc9fc477d7e459776b587 Author: Szabolcs Nagy Date: Mon Dec 5 14:07:25 2016 +0000 [ARM] Add ARMv8.3 command line option and feature flag ARMv8.3 is an architectural extension of ARMv8. Add the feature macro and -march=armv8.3-a gas command line option for the ARM target. https://community.arm.com/groups/processors/blog/2016/10/27/armv8-a-architecture-2016-additions gas/ * config/tc-arm.c (arm_archs): Add "armv8.3-a". * doc/c-arm.texi (-march): Add "armv8.3-a". include/ * opcode/arm.h (ARM_EXT2_V8_3A, ARM_AEXT2_V8_3A): New. (ARM_ARCH_V8_3A): New. commit 597e138ca0cf96889a1965d06d28552c1d1174d2 Author: Alyssa Milburn Date: Sun Dec 4 22:59:18 2016 -0800 bfd,ld: Continue after partially-successful relaxed call relocations in sparc. bfd/ChangeLog: 2016-12-05 Alyssa Milburn * elfxx-sparc.c: Do not stop processing relocations after partially relaxing a call with WDISP30. ld/ChangeLog: 2016-12-05 Alyssa Milburn * testsuite/ld-sparc/wdispcall.s: New file. * testsuite/ld-sparc/wdispcall.dd: Likewise. * testsuite/ld-sparc/sparc.exp: Run new test. commit a55c9876bb111fd301b4762cf501de0040b8f9db Author: Nick Clifton Date: Mon Dec 5 13:35:50 2016 +0000 Fix seg-fault attempting to strip a corrupt binary. PR binutils/20922 * elf.c (find_link): Check for null headers before attempting to match them. commit 88add6d8e794073758b5398c52bbb76ab40a2923 Author: Nick Clifton Date: Mon Dec 5 13:11:01 2016 +0000 Fix seg-fault running strip on a corrupt binary. PR ld/20923 * objcopy.c (mark_symbols_used_in_relocations): Check for a null symbol pointer before attempting to mark the symbol as kept. commit daae68f4f372e0618d6b9c64ec0f1f74eae6ab3d Author: Nick Clifton Date: Mon Dec 5 12:25:34 2016 +0000 Fix seg-fault in linker parsing a corrupt input file. PR ld/20924 (aout_link_add_symbols): Fix off by one error checking for overflow of string offset. commit 39d4daf68e696bbf2db417abe677b2e68f3aace9 Author: Nick Clifton Date: Mon Dec 5 12:14:22 2016 +0000 Fix assertion failure in linker triggered by corrupt input file. PR ld/20925 * aoutx.h (aout_link_add_symbols): Replace BFD_ASSERT with return FALSE. commit e9a1e93ecab4e67aacb9cd6a5a953c8c0bc23027 Author: Nick Clifton Date: Mon Dec 5 11:25:26 2016 +0000 fix typo commit df9236f89620c3897b2257854b9a4eedc89217ba Author: GDB Administrator Date: Mon Dec 5 00:00:22 2016 +0000 Automatic date update in version.in commit 668650d58d61d9d170f3e5b5c1657ed1c3e2b34b Author: Jim Wilson Date: Sat Dec 3 17:29:44 2016 -0800 Fix bugs with tbnz/tbz instructions. sim/aarch64 * simulator.c (tbnz, tbz): Cast 1 to uint64_t before shifting. (dexTestBranchImmediate): Shift high bit of pos by 5 not 4. commit 4132f1c0dfe6bb8984c0dd521388ba6b7b32a4af Author: GDB Administrator Date: Sun Dec 4 00:00:23 2016 +0000 Automatic date update in version.in commit 8c5b4e5228ec94923fbdfb0008926b0b2a3f51c2 Author: Alan Modra Date: Sat Dec 3 21:00:01 2016 +1030 PowerPC64 dot-symbol compatibility bugfixes Lots of fixes for the compatibility code that handles linking of -mcall-aixdesc code (or that generated by 12 year old gcc) with current ELFv1 ABI code. 1) A reference to a dot-symbol in an object file wasn't satisfied by a function descriptor in later object files. 2) The as-needed code had bit-rotted; Shared libs now need a strong reference to be counted as needed. 3) --gc-sections involving dot-symbols was broken, needing func_desc_adjust to be run early and lots of other fixes. bfd/ * elf64-ppc.c (struct ppc_link_hash_entry): Delete "was_undefined". (struct ppc_link_hash_table): Delete "twiddled_syms". Add "need_func_desc_adj". (lookup_fdh): Link direct fdh sym via oh field and set flags. (make_fdh): Make strong and weak undefined function descriptor symbols. (ppc64_elf_merge_symbol): New function. (elf_backend_merge_symbol): Define. (ppc64_elf_archive_symbol_lookup): Don't test undefweak for fake function descriptors. (add_symbol_adjust): Don't twiddle symbols to undefweak. Propagate more ref flags to function descriptor symbol. Make some function descriptor symbols dynamic. (ppc64_elf_before_check_relocs): Only run add_symbol_adjust for ELFv1. Set need_func_desc_adj. Don't fix undefs list. (ppc64_elf_check_relocs): Set non_ir_ref for descriptors. Don't call lookup_fdh here. (ppc64_elf_gc_sections): New function. (bfd_elf64_bfd_gc_sections): Define. (ppc64_elf_gc_mark_hook): Mark descriptor. (func_desc_adjust): Don't make fake function descriptor syms strong here. Exit earlier on non-dotsyms. Take note of elf.dynamic flag when deciding whether a dynamic function descriptor might be needed. Transfer elf.dynamic and set elf.needs_plt. Move plt regardless of visibility. Make descriptor dynamic if entry sym is dynamic, not for other cases. (ppc64_elf_func_desc_adjust): Don't run func_desc_adjust if already done. (ppc64_elf_edit_opd): Use oh field rather than lookup_fdh. (ppc64_elf_size_stubs): Likewise. (ppc_build_one_stub): Don't clear was_undefined. Only set sym undefweak if stub symbol is defined. (undo_symbol_twiddle, ppc64_elf_restore_symbols): Delete. * elf64-ppc.h (ppc64_elf_restore_symbols): Don't declare. ld/ * emultempl/ppc64elf.em (gld${EMULATION_NAME}_finish): Don't call ppc64_elf_restore_symbols. * testsuite/ld-powerpc/dotsym1.d: New. * testsuite/ld-powerpc/dotsym2.d: New. * testsuite/ld-powerpc/dotsym3.d: New. * testsuite/ld-powerpc/dotsym4.d: New. * testsuite/ld-powerpc/dotsymref.s: New. * testsuite/ld-powerpc/nodotsym.s: New. * testsuite/ld-powerpc/powerpc.exp: Run new tests. commit 4e95fbcd79b84308417fc25ce12cacdb2a61c0d0 Author: Alan Modra Date: Sat Dec 3 20:59:43 2016 +1030 PowerPC64 dot-sym testsuite fixes This illustrates quite well why dot-symbols had to go. PowerPC64 gcc for Linux stopped producing them 12 years ago, but the Linux kernel still persists in using them so it's necessary to keep and regression test ld support. * testsuite/ld-elf/indirect1b.c: Give dot-symbol a version too. * testsuite/ld-elf/indirect2.c: Likewise. * testsuite/ld-elf/indirect3b.c: Likewise. * testsuite/ld-elf/indirect4b.c: Likewise. * testsuite/ld-elf/pr18718.c: Likewise. * testsuite/ld-elf/pr18720b.c: Likewise. * testsuite/ld-elf/pr19553c.c: Likewise. * testsuite/ld-elfvers/vers.h (FUNC_SYMVER): Define. * testsuite/ld-elfvers/vers1.c: Use FUNC_SYMVER for functions. * testsuite/ld-elfvers/vers4.c: Likewise. * testsuite/ld-elfvers/vers5.c: Likewise. * testsuite/ld-elfvers/vers6.c: Likewise. * testsuite/ld-elfvers/vers7a.c: Likewise. * testsuite/ld-elfvers/vers9.c: Likewise. * testsuite/ld-elfvers/vers15.c: Likewise. * testsuite/ld-elfvers/vers18.c: Likewise. * testsuite/ld-elfvers/vers22a.c: Likewise. * testsuite/ld-elfvers/vers23a.c: Likewise. * testsuite/ld-elfvers/vers27d1.c: Likewise. * testsuite/ld-elfvers/vers21.c: Likewise. (_old_bar): Use attribute weak rather than asm weak. * testsuite/ld-ifunc/pr16467b.c: Give dot-symbol a version. * testsuite/ld-plugin/pr12760b.c: Define warning on .bar rather than bar for ppc64 -mcall-aixdesc. * testsuite/ld-plugin/pr16746a.c: Similarly for foobar. * testsuite/ld-plugin/pr16746b.c: Likewise. * testsuite/ld-elf/shared.exp: Allow dot-symbol in warnings and errors. * testsuite/ld-plugin/lto.exp: Likewise. * testsuite/ld-plugin/plugin-6.d: Likewise. * testsuite/ld-plugin/plugin-7.d: Likewise. * testsuite/ld-plugin/plugin-8.d: Likewise. * testsuite/ld-plugin/plugin-13.d: Likewise. * testsuite/ld-plugin/plugin-14.d: Likewise. * testsuite/ld-plugin/plugin-15.d: Likewise. * testsuite/ld-plugin/plugin-16.d: Likewise. * testsuite/ld-plugin/plugin-20.d: Likewise. * testsuite/ld-plugin/plugin-21.d: Likewise. * testsuite/ld-plugin/plugin-22.d: Likewise. * testsuite/ld-plugin/plugin-23.d: Likewise. * testsuite/ld-plugin/plugin.exp: Define .main and .puts for ppc64 -mcall-aixdesc. * testsuite/ld-elfvers/vers.exp (test_ar): Trim dot-symbols. (objdump_dynsymstuff): Likewise. (objdump_symstuff): Likewise. Pack flags to keep column count consistent. * testsuite/ld-elfweak/elfweak.exp (objdump_dynsymstuff, objdump_symstuff): As for vers.exp. * testsuite/ld-elfvers/vers6.sym: Allow dot-symbols. * testsuite/ld-elfvers/vers1.sym: Allow missing F flag for -mcall-aixdesc .opd syms and adjust for flag packing. * testsuite/ld-elfvers/vers4.sym: Likewise. * testsuite/ld-elfvers/vers4a.sym: Likewise. * testsuite/ld-elfvers/vers7a.sym: Likewise. * testsuite/ld-elfvers/vers9.sym: Likewise. * testsuite/ld-elfvers/vers15.sym: Likewise. * testsuite/ld-elfvers/vers18.sym: Likewise. * testsuite/ld-elfvers/vers21.sym: Likewise. * testsuite/ld-elfvers/vers22a.sym: Likewise. * testsuite/ld-elfvers/vers23a.sym: Likewise. * testsuite/ld-elfvers/vers27d.sym: Likewise. * testsuite/ld-elfweak/strong.sym: Likewise. * testsuite/ld-elfweak/strongcomm.sym: Likewise. * testsuite/ld-elfweak/strongdata.sym: Likewise. commit ca16c5b392b1c78019fea1710c4f4433161626c5 Author: Alan Modra Date: Sat Dec 3 20:59:19 2016 +1030 ld-elfvers don't fail on non-empty results * testsuite/ld-elfvers/vers.exp (objdump_dynsymstuff): Don't abort on non-empty results with empty expected. commit f522190fa7f04a8d9a1dfc51d0cf69973c08afb5 Author: Alan Modra Date: Sat Dec 3 20:58:55 2016 +1030 Correct cdtest g++ version test Fixes declaration conflict with built-in strncpy. * testsuite/ld-cdtest/cdtest-foo.cc: Test for __GNUG__ >= 2. commit b8ac28419be22fe0cc72f6eaaba1ab029610fc71 Author: Alan Modra Date: Sat Dec 3 20:58:15 2016 +1030 Tidy ppc64_elf_hide_symbol * elf64-ppc.c (ppc64_elf_hide_symbol): Access hash table as elf_link_hash_table rather than ppc_link_hash_table. commit 35dc6e06960790cd60b890c14e45f82f110b898f Author: Alan Modra Date: Sat Dec 3 20:57:50 2016 +1030 PowerPC64 add_symbol_adjust * elf64-ppc.c (add_symbol_adjust): Delete dead code. commit 8400d40d954ec3b4a3fe9200645a1b6e90ba46f4 Author: Alan Modra Date: Sat Dec 3 20:57:27 2016 +1030 Indirect and warning symbols It's possible but unlikely that an indirect symbol points at a warning symbol. * elf64-ppc.c (add_symbol_adjust): Correct order of tests for warning and indirect symbols. commit 474436e67c72d2426e79e600d725812514db0dbe Author: Alan Modra Date: Sat Dec 3 20:55:25 2016 +1030 ppc64_elf_copy_indirect_symbol versioned_hidden fix As per _bfd_elf_link_hash_copy_indirect. * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy dynamic flags when direct symbol is versioned_hidden. commit 4193bc588b4e66da0ed502eaef6e7ce85272fb42 Author: Alan Modra Date: Sat Dec 3 20:54:57 2016 +1030 try_copy_symbol_type node_class check * ldexp.c (try_copy_symbol_type): Remove unnecessary check. commit 10c56208ee8ce4d51de64277207b84a5d1be8c95 Author: GDB Administrator Date: Sat Dec 3 00:00:22 2016 +0000 Automatic date update in version.in commit bef721e278d9ba3178e679eda38ac86ef2dc0d5d Author: Simon Marchi Date: Fri Dec 2 17:12:37 2016 -0500 Introduce enum_flag type for ui_out flags This patch changes the ui_out flags to be an enum flag. gdb/ChangeLog: * ui-out.h: Include "common/enum-flags.h". (enum ui_flags): Rename to ... (enum ui_out_flag): ... this. (ui_out_flags): Define enum flag type. (ui_out_test_flags): Change type of parameter to ui_out_flags. (ui_out_new): Likewise. * ui-out.c (ui_out_test_flags): Likewise. (ui_out_new): Likewise. * cli-out.c (cli_out_new): Update variable type. * mi/mi-out.c (mi_out_new): Likewise. * tui/tui-out.c (tui_out_new): Likewise. commit 107c2d628b924de1854d6d254d60e97e1887ce4a Author: Luis Machado Date: Fri Dec 2 13:36:15 2016 -0600 Remove unneeded pattern matching in gdb.base/maint.exp This gets rid of more useless pattern matching cases in gdb.base/maint.exp. gdb/testsuite/ChangeLog: 2016-12-02 Luis Machado * gdb.base/maint.exp: Use gdb_test instead of gdb_test_multiple when possible. Remove useless pattern-matching code. commit df3ee9ca894f7e831713c332aa7820a6463c2435 Author: Pedro Alves Date: Fri Dec 2 19:17:14 2016 +0000 Support an "unlimited" number of user-defined arguments New in v2: - A few adjustments / simplifications were possible now that we require C++11: . Use std::unique_ptr to make the user_args_stack std::vector own its elements: static std::vector> user_args_stack; . use vector::emplace_back to construct elements directly in the corresponding vectors. . use std::to_string instead of adding a gdb::to_string replacement. - Now includes a test. Docs/NEWS are unchanged from v1 and have already been approved. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ I recently wrote a user-defined command that could benefit from supporting an unlimited number of arguments: http://palves.net/list-active-signal-handlers-with-gdb/ E.g., 'info signal-dispositions 1 2 3 4 5 6 7 8 9 10 11' However, we currently only support up to 10 arguments passed to user-defined commands ($arg0..$arg9). I can't find a good reason for that, other than "old code with hard coded limits". This patch removes that limit and modernizes the code along the way: - Makes the user_args struct a real C++ class that uses std::vector for storage. - Removes the "next" pointer from within user_args and uses a std::vector to maintain a stack instead. - Adds a new RAII-based scoped_user_args_level class to help push/pop user args in the stack instead of using a cleanup. gdb/ChangeLog: 2016-12-02 Pedro Alves * NEWS: Mention that user commands now accept an unlimited number of arguments. * cli/cli-script.c: Include . (struct string_view): New type. (MAXUSERARGS): Delete. (struct user_args): Now a C++ class. (user_args_stack): New. (struct scoped_user_args_level): New type. (execute_user_command): Use scoped_user_args_level. (arg_cleanup): Delete. (setup_user_args): Deleted, and refactored as ... (user_args::user_args): ... this new constructor. Limit of number of arguments removed. (insert_user_defined_cmd_args): Defer to user_args_stack. (user_args::insert_args): New, bits based on old insert_user_defined_cmd_args with limit of number of arguments eliminated. gdb/doc/ChangeLog: 2016-12-02 Pedro Alves * gdb.texinfo (User-defined Commands): Limit on number of arguments passed to user-defined commands removed; update. gdb/testsuite/ChangeLog: 2016-12-02 Pedro Alves * gdb.base/commands.exp (user_defined_command_manyargs_test): New procedure. (top level): Call it. commit ec835369f121c11d6e9484ed8c6c11097ad545c5 Author: Pedro Alves Date: Fri Dec 2 19:17:13 2016 +0000 Test user-defined gdb commands and arguments stack We're missing a test that makes sure that arguments to user-defined commands are handled correctly when a user-defined command calls another user-defined command / recurses. The following patch changes that code, so add such a test first so we can be confident won't be breaking this use case. gdb/testsuite/ChangeLog: 2016-12-02 Pedro Alves * gdb.base/commands.exp (user_defined_command_args_stack_test): New procedure. (top level): Call it. commit 01770bbde902e075e524b518ac6c1087a4cc1cfb Author: Pedro Alves Date: Fri Dec 2 19:17:13 2016 +0000 Fix PR 20559 - "eval" command and $arg0...$arg9/$argc substitution It'd be handy to be able to iterate over command arguments in user-defined commands, in order to support optional arguments ($arg0..$argN). I thought I could make it work with "eval", but alas, it doesn't work currently. E.g., with: define test set $i = 0 while $i < $argc eval "print $arg%d", $i set $i = $i + 1 end end we get: (gdb) test 1 $1 = void (gdb) test 1 2 3 $2 = void $3 = void $4 = void (gdb) The problem is that "eval" doesn't do user-defined command arguments substitution after expanding its own argument. This patch fixes that, which makes the example above work: (gdb) test 1 $1 = 1 (gdb) test 1 2 3 $2 = 1 $3 = 2 $4 = 3 (gdb) New test included, similar the above, but also exercises expanding $argc. I think this is likely to simplify many scripts out there, so I'm adding an example to the manual and mentioning it in NEWS as well. gdb/ChangeLog: 2016-12-02 Pedro Alves PR cli/20559 * NEWS: Mention "eval" expands user-defined command arguments. * cli/cli-script.c (execute_control_command): Adjust to rename. (insert_args): Rename to ... (insert_user_defined_cmd_args): ... this, and make extern. * cli/cli-script.h (insert_user_defined_cmd_args): New declaration. * printcmd.c: Include "cli/cli-script.h". (eval_command): Call insert_user_defined_cmd_args. gdb/doc/ChangeLog: 2016-12-02 Pedro Alves PR cli/20559 * gdb.texinfo (Define): Add example of using "eval" to process a variable number of arguments. (Output) : Add anchor. gdb/testsuite/ChangeLog: 2016-12-02 Pedro Alves PR cli/20559 * gdb.base/commands.exp (user_defined_command_args_eval): New procedure. (top level): Call it. commit 7ed7e438bf8a21983eeaeec0617868f8bab06197 Author: Nick Clifton Date: Fri Dec 2 17:53:42 2016 +0000 Fix typo in changelog entry commit d7f399a8de4c55eb841db6493597a587fac002de Author: Nick Clifton Date: Fri Dec 2 17:46:26 2016 +0000 Fix seg-fault in linker when passed a corrupt binary input file. PR lf/20908 * elflink.c (bfd_elf_final_link): Check for ELF flavour binaries when following indirect links. commit 008459ea88ad4fdcb7da37dad7f68888ef6ecc47 Author: Luis Machado Date: Fri Dec 2 11:37:57 2016 -0600 Revert change to gdb.cp/ovldbreak.exp This reverts the timeout handling (removed by 018572b88885ae67d22612937fa1e4fd98d5f5ad) for gdb.cp/ovldbreak.exp until we decide what to do about this particular function. gdb/testsuite/ChangeLog: 2016-12-02 Luis Machado * gdb.base/ovldbreak.exp (take_gdb_out_of_choice_menu): Restore timeout handling. commit 531336e3a0b79ed60cfc36ad2d6579b6a71175da Author: Nick Clifton Date: Fri Dec 2 16:41:14 2016 +0000 Fix seg-fault in the linker when examining a corrupt binary. PR ld/20909 * aoutx.h (aout_link_add_symbols): Fix off-by-one error in check for an illegal string offset. commit 0c1b455e294c6debb4efedc7f1346f3c43249f15 Author: Tom Tromey Date: Sun Nov 13 20:56:34 2016 -0700 PR symtab/16264 - support DW_AT_main_subprogram This patch adds support for DW_AT_main_subprogram. This is PR symtab/16264. DW_AT_main_subprogram is used to mark a program's entry point. GCC can emit this, and I hope to change the Rust compiler to emit it as well. GDB already supports an older, pre-DWARF 4 convention adopted by FORTRAN compilers, namely to emit DW_AT_calling_convention for the "main" function. However, I think this support in GDB had a small bug, in that it seems to rely on the DW_AT_name being read before DW_AT_calling_convention. This patch fixes this as well. Built and regtested on x86-64 Fedora 24 and the buildbot. New test case included. 2016-12-02 Tom Tromey PR symtab/16264: * dwarf2read.c (struct partial_die_info) : New member. (add_partial_symbol): Call set_objfile_main_name. (read_partial_die): Handle DW_AT_main_subprogram. : don't call set_objfile_main_name, but set main_subprogram flag. 2016-12-02 Tom Tromey * gdb.dwarf2/main-subprogram.c: New file. * gdb.dwarf2/main-subprogram.exp: New file. commit f5ac6ab387ef0974f6348ac7febc691fbb6c0eb4 Author: Nick Clifton Date: Fri Dec 2 15:43:53 2016 +0000 Fix seg-fault in the linker when attempting to print out a malicious linker script. PR ld/20910 * ldmain.c (main): Prevent evaluation of % sequences when printing out a linker script. commit a9752fdf83985f62a0c343311a9cb42ad13f9876 Author: Claudiu Zissulescu Date: Fri Dec 2 16:08:10 2016 +0100 [ARC] Sync cpu names with the ones accepted by GCC. gas/ 2016-12-02 Claudiu Zissulescu * testsuite/gas/arc/cpu-em-err.s: New file. * testsuite/gas/arc/cpu-em4-err.s: Likewise. * testsuite/gas/arc/cpu-fpuda-err.s: Likewise. * testsuite/gas/arc/cpu-hs-err.s: Likewise. * testsuite/gas/arc/cpu-quarkse-err.s: Likewise. * testsuite/gas/arc/noargs_a7.s: Add .cpu. * config/tc-arc.c (ARC_CPU_TYPE_A6xx): Define. (ARC_CPU_TYPE_A7xx): Likewise. (ARC_CPU_TYPE_AV2EM): Likewise. (ARC_CPU_TYPE_AV2HS): Likewise. (cpu_types): Update list of known CPU names. (arc_show_cpu_list): New function. (md_show_usage): Print accepted CPU names. (cl_features): New variable. (arc_select_cpu): Use cl_features. (arc_option): Allow various .cpu names. (md_parse_option): Set cl_features. * doc/c-arc.texi: Update -mcpu and .cpu documentation. commit e5a873b7071d74320d4e0cbbc2f358dcf2322557 Author: Simon Marchi Date: Fri Dec 2 10:16:51 2016 -0500 Rename some trace functions This patch renames a few trace-related functions, so that they adhere to the de facto standard of naming command entry point functions _command. I like the ease of looking up a command entry point if they all follow that rule. An enum label "tstop_command" conflicts with a new function name, so I renamed this one trace_stop_command. In v2: - Rename functions of the trace_find family, as well as trace_dump_command. gdb/ChangeLog: * tracefile-tfile.c (tfile_write_status): Adjust to renames. * tracefile.c (trace_save_command): Rename to... (tsave_command): ...this. (_initialize_tracefile): Adjust to renames. * tracepoint.c (trace_actions_command): Rename to... (actions_command): ...this. (trace_start_command): Rename to... (tstart_command): ...this, and adjust to renames.. (trace_stop_command): Rename to... (tstop_command): ...this. (trace_status_command): Rename to... (tstatus_command): ...this, and adjust to renames. (trace_find_command): Rename to... (tfind_command): ...this. (trace_find_pc_command): Rename to... (tfind_pc_command): ...this. (trace_find_tracepoint_command): Rename to... (tfind_tracepoint_command): ...this. (trace_find_line_command): Rename to... (tfind_line_command): ...this. (trace_find_range_command): Rename to... (tfind_range_command): ...this. (trace_find_outside_command): Rename to... (tfind_outside_command): ...this. (trace_dump_command): Rename to... (tdump_command): ...this. (tfind_1): Adjust to renames. (trace_find_end_command): Rename to... (tfind_end_command): ...this, and adjust to renames.. (trace_status_mi): Adjust to renames. (parse_trace_status): Adjust to renames. (_initialize_tracepoint): Adjust to renames. * tracepoint.h (enum trace_stop_reason) : Rename to... : ...this. commit fe6fae079099c0eeb3186086d6b150800c0e8770 Author: Nick Clifton Date: Fri Dec 2 15:03:05 2016 +0000 Fix seg-fault in linker when applying relocs to a corrupt binary. PR ld/20911 * ldctor.c (ldctor_build_sets): Produce alternative error message if the reloc was being applied to a special section. commit 233c8c27eb81b0a3ab5182dcb59c7306ba9bd3f3 Author: Simon Marchi Date: Fri Dec 2 09:55:09 2016 -0500 Remove mi_out_data::suppress_output The suppress_output field of the mi_ui_out_data structure is never actually set to 1/true. We can therefore remove it, and remove all the if (suppress_output) checks. gdb/ChangeLog: * mi/mi-out.c (mi_ui_out_data) : Remove. (mi_table_body): Remove suppress_output check. (mi_table_end): Likewise. (mi_table_header): Likewise. (mi_begin): Likewise. (mi_end): Likewise. (mi_field_int): Likewise. (mi_field_string): Likewise. (mi_field_fmt): Likewise. (mi_out_data_ctor): Likewise. commit 68c638d6e655a937a48770a5df765e6ebbc5b890 Author: Nick Clifton Date: Fri Dec 2 14:40:46 2016 +0000 Fix seg-fault linking corrupt binary. PR ld/20912 * emultempl/elf32.em (_place_orphan): Test for ELF format of the orphan before looking for the SHF_EXCLUDE flag. commit 08698b7b46c9c932530dcbcd7e851d27a7d2c503 Author: Gary Benson Date: Tue Nov 29 11:14:02 2016 +0000 Always pass a valid section header offset to elf_parse_notes _bfd_elf_make_section_from_shdr calls elf_parse_notes with an offset of -1. This argument is used to calculate Elf_Internal_Note.descpos, which ends up set to a positive but meaningless value. This commit updates _bfd_elf_make_section_from_shdr to pass the correct offset to elf_parse_notes, making Elf_Internal_Note.descpos correct in all cases. bfd/ChangeLog: * elf.c (_bfd_elf_make_section_from_shdr): Pass offset to elf_parse_notes. commit d5451cd45325d12b2cc3d10ffe67f09b0e26b967 Author: Josh Conner Date: Fri Dec 2 10:44:29 2016 +0000 Add support for Fushia OS. * configure.ac: Add fuchsia to targets that use ELF. * configure: Regenerated. bfd * configure.tgt: Add support for fuchsia (OS). gas * configure.tgt: Add support for fuchsia (OS). ld * Makefile.am: Add dependency information for earmelf_fuchsia.c. * Makefile.in: Regenerate. * configure.tgt: Add support for aarch64-*-fuchsia, arm*-*-fuchsia*, and x86_64-*-fuchsia* targets. * emulparams/armelf_fuchsia.sh: New file. * emulparams/armelfb_fuchsia.sh: New file. commit 432ec0814b01a93b88eddf13092ea6abef34652d Author: Yao Qi Date: Fri Dec 2 09:37:30 2016 +0000 [AArch64] Recognize STR instruction in prologue This patch teaches GDB AArch64 backend to recognize STR instructions in prologue, like 'str x19, [sp, #-48]!' or 'str w0, [sp, #44]'. The unit test is added too. gdb: 2016-12-02 Yao Qi Pedro Alves * aarch64-tdep.c (aarch64_analyze_prologue): Recognize STR instruction. (aarch64_analyze_prologue_test): More tests. commit 4d9a9006139d1ceea787cdda871dff8943e493f0 Author: Yao Qi Date: Fri Dec 2 09:37:30 2016 +0000 Add unit test to aarch64 prologue analyzer We don't have an effective way to test prologue analyzer which is highly dependent on instruction patterns in prologue generated by compiler. GDB prologue analyzer may not handle the new sequences generated by new compiler, or may still handle some sequences that generated by very old compilers which are no longer used. The former is a functionality issue, while the latter is a maintenance issue. The input and output of prologue analyzer is quite clear, so it fits for unit test. The input is series of instructions, and the output are 1) where prologue end, 2) where registers are saved. In aarch64, they are represented in 'struct aarch64_prologue_cache'. This patch refactors aarch64_analyze_prologue so it can read instructions from either real target or test harness. In unit test aarch64_analyze_prologue_test, aarch64_analyze_prologue gets instructions we prepared in the test, as the input of prologue analyzer. Then, we checked various fields in 'struct aarch64_prologue_cache'. gdb: 2016-12-02 Yao Qi Pedro Alves * aarch64-tdep.c: Include "selftest.h". (abstract_instruction_reader): New class. (instruction_reader): New class. (aarch64_analyze_prologue): Add new parameter reader. Call reader.read instead of read_memory_unsigned_integer. [GDB_SELF_TEST] (instruction_reader_test): New class. (aarch64_analyze_prologue_test): New function. (_initialize_aarch64_tdep) [GDB_SELF_TEST]: Register selftests::aarch64_analyze_prologue_test. * trad-frame.c (trad_frame_cache_zalloc): (trad_frame_alloc_saved_regs): Add a new function. * trad-frame.h (trad_frame_alloc_saved_regs): Declare. commit 018572b88885ae67d22612937fa1e4fd98d5f5ad Author: Luis Machado Date: Thu Dec 1 22:07:02 2016 -0600 Don't handle timeout inside gdb_test_multiple This fixes a few cases where the testcase is explicitly handling timeouts inside gdb_test_multiple when it is not necessary. It also converts two gdb_test_multiple calls to gdb_test_no_output calls (also removing the timeout handling). gdb/testsuite/ChangeLog: 2016-12-01 Luis Machado * gdb.base/maint.exp: Remove timeout handling for gdb_test_multiple. * gdb.cp/gdb2495.exp: Likewise and convert gdb_test_multiple into gdb_test_no_output for a couple of cases. * gdb.cp/ovldbreak.exp: Remove timeout handling for gdb_test_multiple. commit 397b8d2a9fb6651924c311f41b90cabeb3fc3ae9 Author: Cary Coutant Date: Thu Dec 1 19:54:05 2016 -0800 Fix problem where orphan section is treated as a KEEP section. gold/ PR gold/20717 * script-sections.cc (Script_sections): Set *keep to false when no match. commit be2884c1ea9b96fdb04c6d244d9e7aa1b654a47a Author: Cary Coutant Date: Thu Dec 1 19:00:30 2016 -0800 Fix problem causing internal error when -z max-page-size is used. If the default starting address is less than the new ABI page size, we end up misaligning the file header, causing an internal error. gold/ PR gold/20834 * target.h (Target::default_text_segment_address): Bump default start address up to ABI page size. commit 376c3ecd17d0636bcf4e527c2e2ca2f94822fe64 Author: Cary Coutant Date: Thu Dec 1 16:32:38 2016 -0800 Implement --push-state/--pop-state. gold/ PR gold/18989 * options.cc (General_options::object_format_to_string): New function. (General_options::copy_from_posdep_options): New function. (General_options::parse_push_state): New function. (General_options::parse_pop_state): New function. * options.h (--push-state, --pop-state): New options. (General_options::object_format_to_string): New method. (General_options::set_incremental_disposition): New method. (General_options::copy_from_posdep_options): New method. (General_options::options_stack_): New data member. commit 6a67d49e559b432ead2859e9bb327852adb53112 Author: GDB Administrator Date: Fri Dec 2 00:00:35 2016 +0000 Automatic date update in version.in commit 36d18bc526b055be896d8dc319cb3ade42238534 Author: Simon Marchi Date: Thu Dec 1 16:20:02 2016 -0500 Class-ify ui_out_table This patch makes a class out of the ui_out_table structure, the structure responsible for managing the generation of an UI table. To simplify the ui_out_table object, I changed it so that it can only be used for generating a single object. Instead of clearing the header list when starting a new table, we an ui_out_table when starting a table and delete it when we're done. Therefore, the checks: if (uiout->table->flag) if (!uiout->table->flag) are respectively replaced with if (uiout->table != nullptr) if (uiout->table == nullptr) Note: I removed the check at the beginning of ui_out_begin, because there is an equivalent check at the beginning of verify_field. New in v2: - use "enum class" for ui_out_table::state and update references. gdb/ChangeLog: * ui-out.c (enum ui_out_table_state): Move to class ui_out_table as ui_out_table::state. (struct ui_out_table): Change to ... (class ui_out_table): ... this. : Remove. : Rename to ... : ... this. : Rename to ... : ... this. : Rename to ... : ... this. : Rename to ... : ... this. : Rename to ... : ... this. : New methods. (struct ui_out) : Change type to unique_ptr to ui_out_table. (append_header_to_list, get_next_header, clear_header_list, clear_table): Remove. (ui_out_table_begin): Instantiate ui_out_table object. Update table check. (ui_out_table_body): Update table check, replace code with call to ui_out_table::start_body. (ui_out_table_end): Update table check, replace manual cleanup with assignment of uiout->table unique_ptr to nullptr. (ui_out_table_header): Update table check, replace call to append_header_to_list with call to append_header method. (ui_out_begin): Remove one table state check, update another. Replace code with call to start_row method. (verify_field): Update table checks. (ui_out_query_field): Update table check, replace code with call to query_field method. (ui_out_new): Remove table initialization code. commit 77a179e77b38161e461f5e37512f0b3fc3582181 Author: Simon Marchi Date: Thu Dec 1 16:10:45 2016 -0500 ui_out_table: Replace boolean flag with enum This patch is just a little cleanup, it replaces the body_flag field of ui_out_table with an enum. It expresses more explicitly the intent of the field (check that state == TABLE_STATE_HEADERS conveys more what we want to do than checking for !body_flag). New in v2: - Remove unnecessary ui_out_table_state::. gdb/ChangeLog: * ui-out.c (enum ui_out_table_state): New enum. (struct ui_out_table) : Remove field. : New field. (ui_out_table_begin): Replace usages of body_flag with state. (ui_out_table_body): Likewise. (ui_out_table_end): Likewise. (ui_out_table_header): Likewise. (ui_out_begin): Likewise. (verify_field): Likewise. (ui_out_new): Likewise. commit 33b2fac610fff1255a24763277a4bf77f1b59ef1 Author: Simon Marchi Date: Thu Dec 1 16:05:17 2016 -0500 Simplify ui-out level code Now that we use a vector to store the levels, we don't have to keep a separate level field in ui_out to keep track of the current level. We can efficiently derive it from the vector size. That causes a little change in the meaning of the level, as in they are now 1-based instead of 0-based (the initial level has the "id" 1 now), but it shouldn't change anything in the behavior. Additionally, push_level and pop_level don't really need to return the new level, making them return void simplifies the code a bit. Finally, the ui_out_begin/ui_out_end callbacks in the ui_out_impl interface don't need to be passed the level, it's never actually used. New in v2: - Remove or update stale comments. gdb/ChangeLog: * ui-out.h (ui_out_begin_ftype): Remove level parameter. (ui_out_end_ftype): Likewise. * ui-out.c (struct ui_out) : Replace field with a method that dynamically computes the result. (current_level): Get vector's back item instead of using uiout->level. (push_level): Make return type void. (pop_level): Make return type void and update access to ui_out::level. (uo_begin): Remove level parameter. (uo_end): Likewise. (ui_out_table_begin): Update access to uiout::level. (ui_out_begin): Don't read return value from push_level, call uiout->level() instead, update call to uo_begin. (ui_out_end): Don't read return value from pop_level, update call to uo_end. (verify_field): Update access to uiout->level. (ui_out_new): Don't initialize ui_out::level, call push_level to push the initial level instead of doing it by hand. * cli-out.c (cli_begin): Remove level parameter. (cli_end): Likewise. * mi/mi-out.c (mi_begin): Likewise. (mi_end): Likewise. commit 909c0aa5824080c287b390f82726cf5bfb7011e3 Author: Simon Marchi Date: Thu Dec 1 16:04:43 2016 -0500 Class-ify ui_out_level This patch changes struct ui_out_level to be a real C++ class. No behavioral changes. gdb/ChangeLog: * ui-out.c (struct ui_out_level): Replace with ... (class ui_out_level): ... this. (current_level): Update. (push_level): Update. (pop_level): Update. (verify_field): Update. (ui_out_new): Update. commit 37e20dd6599203c4e261fc3a2e86711c90cbbed9 Author: Simon Marchi Date: Thu Dec 1 16:02:00 2016 -0500 Class-ify ui_out_hdr This patch makes ui_out_hdr (the object that represents an ui-out table header) a proper C++ class. No behavior changes, it's all about encapsulation. gdb/ChangeLog: * ui-out.c (struct ui_out_hdr): Replace with ... (class ui_out_hdr): ... this. (append_header_to_list): Update. (get_next_header): Update. (ui_out_query_field): Update. commit c5209615263fd0444da28cdfb6661ad287909a70 Author: Simon Marchi Date: Thu Dec 1 15:59:01 2016 -0500 Use std::string for ui_out_hdr's text fields This patch makes ui_out_hdr use std::string for its text fields. It makes freeing automatic when the object is deleted. gdb/ChangeLog: * mi/mi-out.c (mi_table_header): Change char * args to std::string. * cli-out.c (cli_table_header): Likewise. * ui-out.h (table_header_ftype): Likewise. (ui_out_table_header): Constify colhdr argument. (ui_out_query_field): Constify col_name argument. * ui-out.c (ui_out_hdr) : Change type to std::string. (uo_table_header): Change char * args to std::string. (ui_out_table_header): Likewise. (get_next_header): Constify colhdr argument and adapt. (clear_header_list): Don't free col_name/colhdr fields. (append_header_to_list): Change char * args to std::string and adapt. (verify_field): Constify variable. (ui_out_query_field): Constify col_name argument and adapt. * breakpoint.c (wrap_indent_at_field): Constify variable. commit 78afa7f8599e46eb94a93510b383dfb35e549f7e Author: Simon Marchi Date: Thu Dec 1 15:58:40 2016 -0500 Replace hand-made linked list of ui_out_hdr by vector and iterator Instead of keeping pointers to first, last and current ui_out_hdr in ui_out_table, we can use an std::vector and an iterator. Direct random access of to vector helps make get_next_header a bit nicer by avoiding iterating on all the headers. append_header_to_list is also a bit simpler. Also, using unique_ptr inside the vector allows expressing the ownership of the ui_out_hdr objects by the ui_out_table object, and it simplifies the destruction. gdb/ChangeLog: * ui-out.c (struct ui_out_hdr) : Remove. (struct ui_out_table) : Remove. : New fields. (ui_out_table_body): Update for the new data structure. (ui_out_begin): Likewise. (clear_header_list): Likewise. (append_header_to_list): Likewise. (get_next_header): Likewise. (ui_out_query_field): Likewise. (ui_out_new): Likewise. commit 0f1254327820d7b3f67f873aa40e76679f067288 Author: Cary Coutant Date: Thu Dec 1 12:50:21 2016 -0800 Fix internal error when relaxing branches to STT_SECTION symbols. gold/ PR gold/20807 * aarch64.cc (Target_aarch64::scan_reloc_section_for_stubs): Handle section symbols correctly. * arm.cc (Target_arm): Likewise. * powerpc.cc (Target_powerpc): Likewise. commit 84c93cd5f1ff869eb8c04314738eaa2cddb3c29e Author: Luis Machado Date: Thu Dec 1 14:47:50 2016 -0600 Fixup testcases outputting own name as a test name and standardize failed compilation messages Changes in v3: - Adjusted some testcases where the message "failed to compile" was not unique. Changes in v2: - Addressed comments from reviewers. - Fixed spurious whitespaces. - Changed compilation failure messages that included source/binary paths to ones that are short and deterministic. --- Another bit of cleanup to the testsuite. We have a number of tests that are not honoring the rule of not outputting their own name as a test name. I fixed up all the offenders i could find with the following regular expression: "(xfail|kfail|kpass|fail|pass|unsupported|untested) ([A-Za-z0-9]+|\\\$(.)*testfile(.)*)\.exp$" gdb/testsuite/ChangeLog: 2016-12-01 Luis Machado Fix test names and standardize compilation error messages throughout the following files: * gdb.ada/start.exp * gdb.arch/alpha-step.exp * gdb.arch/e500-prologue.exp * gdb.arch/ftrace-insn-reloc.exp * gdb.arch/gdb1291.exp * gdb.arch/gdb1431.exp * gdb.arch/gdb1558.exp * gdb.arch/i386-dr3-watch.exp * gdb.arch/i386-sse-stack-align.exp * gdb.arch/ia64-breakpoint-shadow.exp * gdb.arch/pa-nullify.exp * gdb.arch/powerpc-aix-prologue.exp * gdb.arch/thumb-bx-pc.exp * gdb.base/annota1.exp * gdb.base/annota3.exp * gdb.base/arrayidx.exp * gdb.base/assign.exp * gdb.base/attach.exp * gdb.base/auxv.exp * gdb.base/bang.exp * gdb.base/bfp-test.exp * gdb.base/bigcore.exp * gdb.base/bitfields2.exp * gdb.base/break-fun-addr.exp * gdb.base/break-probes.exp * gdb.base/call-rt-st.exp * gdb.base/callexit.exp * gdb.base/catch-fork-kill.exp * gdb.base/charset.exp * gdb.base/checkpoint.exp * gdb.base/comprdebug.exp * gdb.base/constvars.exp * gdb.base/coredump-filter.exp * gdb.base/cursal.exp * gdb.base/cvexpr.exp * gdb.base/detach.exp * gdb.base/display.exp * gdb.base/dmsym.exp * gdb.base/dprintf-pending.exp * gdb.base/dso2dso.exp * gdb.base/dtrace-probe.exp * gdb.base/dump.exp * gdb.base/enum_cond.exp * gdb.base/exe-lock.exp * gdb.base/exec-invalid-sysroot.exp * gdb.base/execl-update-breakpoints.exp * gdb.base/exprs.exp * gdb.base/fileio.exp * gdb.base/find.exp * gdb.base/finish.exp * gdb.base/fixsection.exp * gdb.base/foll-vfork.exp * gdb.base/frame-args.exp * gdb.base/gcore.exp * gdb.base/gdb1250.exp * gdb.base/global-var-nested-by-dso.exp * gdb.base/gnu-ifunc.exp * gdb.base/hashline1.exp * gdb.base/hashline2.exp * gdb.base/hashline3.exp * gdb.base/hbreak-in-shr-unsupported.exp * gdb.base/huge.exp * gdb.base/infcall-input.exp * gdb.base/info-fun.exp * gdb.base/info-shared.exp * gdb.base/jit-simple.exp * gdb.base/jit-so.exp * gdb.base/jit.exp * gdb.base/jump.exp * gdb.base/label.exp * gdb.base/lineinc.exp * gdb.base/logical.exp * gdb.base/longjmp.exp * gdb.base/macscp.exp * gdb.base/miscexprs.exp * gdb.base/new-ui-echo.exp * gdb.base/new-ui-pending-input.exp * gdb.base/new-ui.exp * gdb.base/nodebug.exp * gdb.base/nofield.exp * gdb.base/offsets.exp * gdb.base/overlays.exp * gdb.base/pending.exp * gdb.base/pointers.exp * gdb.base/pr11022.exp * gdb.base/printcmds.exp * gdb.base/prologue.exp * gdb.base/ptr-typedef.exp * gdb.base/realname-expand.exp * gdb.base/relativedebug.exp * gdb.base/relocate.exp * gdb.base/remote.exp * gdb.base/reread.exp * gdb.base/return2.exp * gdb.base/savedregs.exp * gdb.base/sep.exp * gdb.base/sepdebug.exp * gdb.base/sepsymtab.exp * gdb.base/set-inferior-tty.exp * gdb.base/setshow.exp * gdb.base/shlib-call.exp * gdb.base/sigaltstack.exp * gdb.base/siginfo-addr.exp * gdb.base/signals.exp * gdb.base/signull.exp * gdb.base/sigrepeat.exp * gdb.base/so-impl-ld.exp * gdb.base/solib-display.exp * gdb.base/solib-overlap.exp * gdb.base/solib-search.exp * gdb.base/solib-symbol.exp * gdb.base/structs.exp * gdb.base/structs2.exp * gdb.base/symtab-search-order.exp * gdb.base/twice.exp * gdb.base/unload.exp * gdb.base/varargs.exp * gdb.base/watchpoint-solib.exp * gdb.base/watchpoint.exp * gdb.base/whatis.exp * gdb.base/wrong_frame_bt_full.exp * gdb.btrace/dlopen.exp * gdb.cell/ea-standalone.exp * gdb.cell/ea-test.exp * gdb.cp/dispcxx.exp * gdb.cp/gdb2384.exp * gdb.cp/method2.exp * gdb.cp/nextoverthrow.exp * gdb.cp/pr10728.exp * gdb.disasm/am33.exp * gdb.disasm/h8300s.exp * gdb.disasm/mn10300.exp * gdb.disasm/sh3.exp * gdb.dwarf2/dw2-dir-file-name.exp * gdb.fortran/complex.exp * gdb.fortran/library-module.exp * gdb.guile/scm-pretty-print.exp * gdb.guile/scm-symbol.exp * gdb.guile/scm-type.exp * gdb.guile/scm-value.exp * gdb.linespec/linespec.exp * gdb.mi/gdb701.exp * gdb.mi/gdb792.exp * gdb.mi/mi-breakpoint-changed.exp * gdb.mi/mi-dprintf-pending.exp * gdb.mi/mi-dprintf.exp * gdb.mi/mi-exit-code.exp * gdb.mi/mi-pending.exp * gdb.mi/mi-solib.exp * gdb.mi/new-ui-mi-sync.exp * gdb.mi/pr11022.exp * gdb.mi/user-selected-context-sync.exp * gdb.opt/solib-intra-step.exp * gdb.python/py-events.exp * gdb.python/py-finish-breakpoint.exp * gdb.python/py-mi.exp * gdb.python/py-prettyprint.exp * gdb.python/py-shared.exp * gdb.python/py-symbol.exp * gdb.python/py-template.exp * gdb.python/py-type.exp * gdb.python/py-value.exp * gdb.reverse/solib-precsave.exp * gdb.reverse/solib-reverse.exp * gdb.server/solib-list.exp * gdb.stabs/weird.exp * gdb.threads/reconnect-signal.exp * gdb.threads/stepi-random-signal.exp * gdb.trace/actions.exp * gdb.trace/ax.exp * gdb.trace/backtrace.exp * gdb.trace/change-loc.exp * gdb.trace/deltrace.exp * gdb.trace/ftrace-lock.exp * gdb.trace/ftrace.exp * gdb.trace/infotrace.exp * gdb.trace/mi-tracepoint-changed.exp * gdb.trace/packetlen.exp * gdb.trace/passcount.exp * gdb.trace/pending.exp * gdb.trace/range-stepping.exp * gdb.trace/report.exp * gdb.trace/stap-trace.exp * gdb.trace/tfind.exp * gdb.trace/trace-break.exp * gdb.trace/trace-condition.exp * gdb.trace/trace-enable-disable.exp * gdb.trace/trace-mt.exp * gdb.trace/tracecmd.exp * gdb.trace/tspeed.exp * gdb.trace/tsv.exp * lib/perftest.exp commit fb9feb35913d4cf26baf01e1638b18af301f5387 Author: Luis Machado Date: Thu Dec 1 14:46:28 2016 -0600 Fix test names starting with uppercase using multi-line gdb_test_multiple This fixes offender testcases that have test names starting with uppercase when using gdb_test_multiple in a multi-line construct. gdb/testsuite/ChangeLog 2016-12-01 Luis Machado * gdb.cp/gdb2495.exp: Replace gdb_test_multiple with gdb_test_no_output. Use command as test name. commit cd2ddb6cde55a20d191e1002dbe1977df695cda9 Author: Luis Machado Date: Thu Dec 1 14:45:32 2016 -0600 Fix test names starting with uppercase using multi-line gdb_test_no_output This fixes offender testcases that have test names starting with uppercase when using gdb_test_no_output in a multi-line construct. gdb/testsuite/ChangeLog 2016-12-01 Luis Machado Fix test names starting with uppercase throughout the files. * gdb.ada/assign_1.exp * gdb.ada/boolean_expr.exp * gdb.base/arrayidx.exp * gdb.base/del.exp * gdb.base/gcore-buffer-overflow.exp * gdb.base/testenv.exp * gdb.compile/compile.exp * gdb.python/py-framefilter-invalidarg.exp * gdb.python/py-framefilter.exp commit bb95117e107fe58ecd35683bf0e8da3b414378ff Author: Luis Machado Date: Thu Dec 1 14:44:38 2016 -0600 Fix test names starting with uppercase using multi-line gdb_test/mi_gdb_test This fixes offender testcases that have test names starting with uppercase when using gdb_test/mi_gdb_test in a multi-line construct. gdb/testsuite/ChangeLog 2016-12-01 Luis Machado Fix test names starting with uppercase throughout the files. * gdb.ada/array_return.exp * gdb.ada/expr_delims.exp * gdb.ada/mi_dyn_arr.exp * gdb.ada/mi_interface.exp * gdb.ada/mi_var_array.exp * gdb.ada/watch_arg.exp * gdb.arch/alpha-step.exp * gdb.arch/altivec-regs.exp * gdb.arch/e500-regs.exp * gdb.arch/powerpc-d128-regs.exp * gdb.base/arrayidx.exp * gdb.base/break.exp * gdb.base/checkpoint.exp * gdb.base/debug-expr.exp * gdb.base/dmsym.exp * gdb.base/radix.exp * gdb.base/sepdebug.exp * gdb.base/testenv.exp * gdb.base/watch_thread_num.exp * gdb.base/watchpoint-cond-gone.exp * gdb.cell/break.exp * gdb.cell/ea-cache.exp * gdb.compile/compile.exp * gdb.cp/gdb2495.exp * gdb.gdb/selftest.exp * gdb.gdb/xfullpath.exp * gdb.go/hello.exp * gdb.go/integers.exp * gdb.objc/basicclass.exp * gdb.pascal/hello.exp * gdb.pascal/integers.exp * gdb.python/py-breakpoint.exp * gdb.python/py-cmd.exp * gdb.python/py-linetable.exp * gdb.python/py-xmethods.exp * gdb.python/python.exp * gdb.reverse/consecutive-precsave.exp * gdb.reverse/finish-precsave.exp * gdb.reverse/i386-precsave.exp * gdb.reverse/machinestate-precsave.exp * gdb.reverse/sigall-precsave.exp * gdb.reverse/solib-precsave.exp * gdb.reverse/step-precsave.exp * gdb.reverse/until-precsave.exp * gdb.reverse/watch-precsave.exp * gdb.threads/leader-exit.exp * gdb.threads/pthreads.exp * gdb.threads/wp-replication.exp * gdb.trace/actions.exp * gdb.trace/mi-tsv-changed.exp * gdb.trace/tsv.exp commit de97fdd4a05cd7ad0b05444f1721f26c1ad9322f Author: Luis Machado Date: Thu Dec 1 14:43:42 2016 -0600 Fix test names starting with uppercase using gdb_test_multiple This fixes offender testcases that have test names starting with uppercase when using gdb_test_multiple in a single-line construct. gdb/testsuite/ChangeLog 2016-12-01 Luis Machado Fix test names starting with uppercase throughout the files. * gdb.arch/i386-bp_permanent.exp * gdb.arch/i386-gnu-cfi.exp * gdb.base/disasm-end-cu.exp * gdb.base/macscp.exp * gdb.base/pending.exp * gdb.base/watch_thread_num.exp * gdb.cp/exception.exp * gdb.cp/gdb2495.exp * gdb.cp/local.exp * gdb.python/py-evsignal.exp * gdb.python/python.exp * gdb.trace/tracecmd.exp commit 9f058c10cef5987ee1f1cb28c9a8cf5ef1ec4d11 Author: Luis Machado Date: Thu Dec 1 14:42:48 2016 -0600 Fix test names starting with uppercase using gdb_test_no_output This fixes offender testcases that have test names starting with uppercase when using gdb_test_no_output in a single-line construct. gdb/testsuite/ChangeLog 2016-12-01 Luis Machado Fix test names starting with uppercase throughout the files. * gdb.base/charset.exp * gdb.base/eval.exp * gdb.base/multi-forks.exp * gdb.guile/scm-progspace.exp * gdb.opencl/datatypes.exp * gdb.python/py-block.exp * gdb.python/py-function.exp * gdb.python/py-symbol.exp * gdb.python/py-symtab.exp * gdb.python/py-xmethods.exp * gdb.reverse/break-precsave.exp * gdb.reverse/break-reverse.exp * gdb.reverse/consecutive-precsave.exp * gdb.reverse/consecutive-reverse.exp * gdb.reverse/finish-precsave.exp * gdb.reverse/finish-reverse-bkpt.exp * gdb.reverse/finish-reverse.exp * gdb.reverse/fstatat-reverse.exp * gdb.reverse/getresuid-reverse.exp * gdb.reverse/i386-precsave.exp * gdb.reverse/i386-reverse.exp * gdb.reverse/i386-sse-reverse.exp * gdb.reverse/i387-stack-reverse.exp * gdb.reverse/insn-reverse.exp * gdb.reverse/machinestate-precsave.exp * gdb.reverse/machinestate.exp * gdb.reverse/next-reverse-bkpt-over-sr.exp * gdb.reverse/pipe-reverse.exp * gdb.reverse/readv-reverse.exp * gdb.reverse/recvmsg-reverse.exp * gdb.reverse/rerun-prec.exp * gdb.reverse/s390-mvcle.exp * gdb.reverse/sigall-precsave.exp * gdb.reverse/sigall-reverse.exp * gdb.reverse/solib-precsave.exp * gdb.reverse/solib-reverse.exp * gdb.reverse/step-precsave.exp * gdb.reverse/step-reverse.exp * gdb.reverse/time-reverse.exp * gdb.reverse/until-precsave.exp * gdb.reverse/until-reverse.exp * gdb.reverse/waitpid-reverse.exp * gdb.reverse/watch-precsave.exp * gdb.reverse/watch-reverse.exp commit cdc7edd7b17dddd3558bd04d9b2fb5a73dc75f1c Author: Luis Machado Date: Thu Dec 1 14:41:23 2016 -0600 Fix test names starting with uppercase using gdb_test on a single line. Changes in v3: Fixed incorrect substitutions. This fixes offender testcases that have test names starting with uppercase when using gdb_test in a single line construct. gdb/testsuite/ChangeLog 2016-12-01 Luis Machado Fix test names starting with uppercase throughout the files. * gdb.arch/i386-mpx-simple_segv.exp * gdb.arch/i386-mpx.exp * gdb.arch/i386-permbkpt.exp * gdb.arch/pa-nullify.exp * gdb.arch/powerpc-d128-regs.exp * gdb.arch/vsx-regs.exp * gdb.base/bfp-test.exp * gdb.base/break.exp * gdb.base/breakpoint-shadow.exp * gdb.base/callfuncs.exp * gdb.base/charset.exp * gdb.base/commands.exp * gdb.base/completion.exp * gdb.base/dfp-test.exp * gdb.base/echo.exp * gdb.base/ending-run.exp * gdb.base/eval.exp * gdb.base/expand-psymtabs.exp * gdb.base/float128.exp * gdb.base/floatn.exp * gdb.base/foll-exec-mode.exp * gdb.base/gdb1056.exp * gdb.base/gdb11531.exp * gdb.base/kill-after-signal.exp * gdb.base/multi-forks.exp * gdb.base/overlays.exp * gdb.base/pending.exp * gdb.base/sepdebug.exp * gdb.base/testenv.exp * gdb.base/valgrind-db-attach.exp * gdb.base/watch_thread_num.exp * gdb.base/watchpoint-cond-gone.exp * gdb.base/watchpoint.exp * gdb.base/watchpoints.exp * gdb.cp/arg-reference.exp * gdb.cp/baseenum.exp * gdb.cp/operator.exp * gdb.cp/shadow.exp * gdb.dwarf2/dw2-op-out-param.exp * gdb.dwarf2/dw2-reg-undefined.exp * gdb.go/chan.exp * gdb.go/hello.exp * gdb.go/integers.exp * gdb.go/methods.exp * gdb.go/package.exp * gdb.guile/scm-parameter.exp * gdb.guile/scm-progspace.exp * gdb.guile/scm-value.exp * gdb.mi/mi-pending.exp * gdb.mi/user-selected-context-sync.exp * gdb.multi/multi-attach.exp * gdb.multi/tids.exp * gdb.opt/clobbered-registers-O2.exp * gdb.pascal/floats.exp * gdb.pascal/integers.exp * gdb.python/py-block.exp * gdb.python/py-events.exp * gdb.python/py-parameter.exp * gdb.python/py-symbol.exp * gdb.python/py-symtab.exp * gdb.python/py-type.exp * gdb.python/py-value.exp * gdb.python/py-xmethods.exp * gdb.python/python.exp * gdb.reverse/break-precsave.exp * gdb.reverse/consecutive-precsave.exp * gdb.reverse/finish-precsave.exp * gdb.reverse/i386-precsave.exp * gdb.reverse/machinestate-precsave.exp * gdb.reverse/sigall-precsave.exp * gdb.reverse/solib-precsave.exp * gdb.reverse/step-precsave.exp * gdb.reverse/until-precsave.exp * gdb.reverse/watch-precsave.exp * gdb.server/ext-attach.exp * gdb.server/ext-restart.exp * gdb.server/ext-run.exp * gdb.server/ext-wrapper.exp * gdb.stabs/gdb11479.exp * gdb.stabs/weird.exp * gdb.threads/attach-many-short-lived-threads.exp * gdb.threads/kill.exp * gdb.threads/watchpoint-fork.exp commit bc6c7af4a2f23c48a38139fc7e0ed2ac7b12bb69 Author: Luis Machado Date: Thu Dec 1 14:40:05 2016 -0600 Fix test names starting with uppercase output by basic functions The following patch is based on the previous patch i sent and handles cases of test names that start with an uppercase letter. Test names should start with lowercase unless it starts with the name of a technology, architecture, ISA etc. This first patch addresses cases of test names output explicitly via xfail, kfail, kpass, fail, pass, unsupported, untested and also names set with the pattern "set test" and "set testname". gdb/testsuite/ChangeLog: 2016-12-01 Luis Machado Fix test names starting with uppercase throughout all the files below. * gdb.ada/array_return.exp * gdb.ada/catch_ex.exp * gdb.ada/info_exc.exp * gdb.ada/mi_catch_ex.exp * gdb.ada/mi_dyn_arr.exp * gdb.ada/mi_ex_cond.exp * gdb.ada/mi_exc_info.exp * gdb.ada/mi_interface.exp * gdb.ada/mi_task_arg.exp * gdb.ada/mi_task_info.exp * gdb.ada/mi_var_array.exp * gdb.arch/alpha-step.exp * gdb.arch/amd64-disp-step.exp * gdb.arch/arm-disp-step.exp * gdb.arch/disp-step-insn-reloc.exp * gdb.arch/e500-prologue.exp * gdb.arch/ftrace-insn-reloc.exp * gdb.arch/gdb1558.exp * gdb.arch/i386-bp_permanent.exp * gdb.arch/i386-disp-step.exp * gdb.arch/i386-float.exp * gdb.arch/i386-gnu-cfi.exp * gdb.arch/ia64-breakpoint-shadow.exp * gdb.arch/mips16-thunks.exp * gdb.arch/pa-nullify.exp * gdb.arch/powerpc-aix-prologue.exp * gdb.arch/powerpc-power.exp * gdb.arch/ppc-dfp.exp * gdb.arch/s390-tdbregs.exp * gdb.arch/spu-info.exp * gdb.arch/spu-ls.exp * gdb.arch/thumb-bx-pc.exp * gdb.base/advance.exp * gdb.base/annota-input-while-running.exp * gdb.base/arrayidx.exp * gdb.base/asmlabel.exp * gdb.base/async.exp * gdb.base/attach-wait-input.exp * gdb.base/auto-connect-native-target.exp * gdb.base/batch-preserve-term-settings.exp * gdb.base/bfp-test.exp * gdb.base/bigcore.exp * gdb.base/bp-permanent.exp * gdb.base/break-always.exp * gdb.base/break-fun-addr.exp * gdb.base/break-idempotent.exp * gdb.base/break-main-file-remove-fail.exp * gdb.base/break-probes.exp * gdb.base/break-unload-file.exp * gdb.base/break.exp * gdb.base/call-ar-st.exp * gdb.base/call-rt-st.exp * gdb.base/call-sc.exp * gdb.base/call-signal-resume.exp * gdb.base/call-strs.exp * gdb.base/callexit.exp * gdb.base/callfuncs.exp * gdb.base/catch-gdb-caused-signals.exp * gdb.base/catch-signal-siginfo-cond.exp * gdb.base/catch-syscall.exp * gdb.base/compare-sections.exp * gdb.base/cond-eval-mode.exp * gdb.base/condbreak-call-false.exp * gdb.base/consecutive-step-over.exp * gdb.base/cursal.exp * gdb.base/disabled-location.exp * gdb.base/disasm-end-cu.exp * gdb.base/display.exp * gdb.base/double-prompt-target-event-error.exp * gdb.base/dprintf-bp-same-addr.exp * gdb.base/dprintf-detach.exp * gdb.base/dprintf-next.exp * gdb.base/dprintf-non-stop.exp * gdb.base/dprintf-pending.exp * gdb.base/dso2dso.exp * gdb.base/ending-run.exp * gdb.base/enum_cond.exp * gdb.base/examine-backward.exp * gdb.base/exe-lock.exp * gdb.base/exec-invalid-sysroot.exp * gdb.base/execl-update-breakpoints.exp * gdb.base/execution-termios.exp * gdb.base/fileio.exp * gdb.base/fixsection.exp * gdb.base/foll-exec-mode.exp * gdb.base/foll-exec.exp * gdb.base/fork-running-state.exp * gdb.base/frame-args.exp * gdb.base/fullpath-expand.exp * gdb.base/func-ptr.exp * gdb.base/gcore-relro-pie.exp * gdb.base/gdb1090.exp * gdb.base/gdb1555.exp * gdb.base/global-var-nested-by-dso.exp * gdb.base/gnu-ifunc.exp * gdb.base/hbreak-in-shr-unsupported.exp * gdb.base/hbreak-unmapped.exp * gdb.base/hook-stop.exp * gdb.base/infcall-input.exp * gdb.base/info-fun.exp * gdb.base/info-shared.exp * gdb.base/interrupt-noterm.exp * gdb.base/jit-so.exp * gdb.base/jit.exp * gdb.base/line-symtabs.exp * gdb.base/list.exp * gdb.base/longjmp.exp * gdb.base/macscp.exp * gdb.base/max-value-size.exp * gdb.base/nodebug.exp * gdb.base/nofield.exp * gdb.base/overlays.exp * gdb.base/paginate-after-ctrl-c-running.exp * gdb.base/paginate-bg-execution.exp * gdb.base/paginate-inferior-exit.exp * gdb.base/pending.exp * gdb.base/pr11022.exp * gdb.base/printcmds.exp * gdb.base/ptr-typedef.exp * gdb.base/ptype.exp * gdb.base/randomize.exp * gdb.base/range-stepping.exp * gdb.base/realname-expand.exp * gdb.base/relativedebug.exp * gdb.base/remote.exp * gdb.base/savedregs.exp * gdb.base/sepdebug.exp * gdb.base/set-noassign.exp * gdb.base/shlib-call.exp * gdb.base/shreloc.exp * gdb.base/sigaltstack.exp * gdb.base/sigbpt.exp * gdb.base/siginfo-addr.exp * gdb.base/siginfo-obj.exp * gdb.base/siginfo-thread.exp * gdb.base/signest.exp * gdb.base/signull.exp * gdb.base/sigrepeat.exp * gdb.base/skip.exp * gdb.base/so-impl-ld.exp * gdb.base/solib-corrupted.exp * gdb.base/solib-disc.exp * gdb.base/solib-display.exp * gdb.base/solib-overlap.exp * gdb.base/solib-search.exp * gdb.base/solib-symbol.exp * gdb.base/source-execution.exp * gdb.base/sss-bp-on-user-bp-2.exp * gdb.base/sss-bp-on-user-bp.exp * gdb.base/stack-checking.exp * gdb.base/stale-infcall.exp * gdb.base/step-break.exp * gdb.base/step-line.exp * gdb.base/step-over-exit.exp * gdb.base/step-test.exp * gdb.base/structs.exp * gdb.base/sym-file.exp * gdb.base/symtab-search-order.exp * gdb.base/term.exp * gdb.base/type-opaque.exp * gdb.base/unload.exp * gdb.base/until-nodebug.exp * gdb.base/until.exp * gdb.base/unwindonsignal.exp * gdb.base/watch-cond.exp * gdb.base/watch-non-mem.exp * gdb.base/watch_thread_num.exp * gdb.base/watchpoint-reuse-slot.exp * gdb.base/watchpoint-solib.exp * gdb.base/watchpoint.exp * gdb.btrace/dlopen.exp * gdb.cell/arch.exp * gdb.cell/break.exp * gdb.cell/bt.exp * gdb.cell/core.exp * gdb.cell/data.exp * gdb.cell/dwarfaddr.exp * gdb.cell/ea-cache.exp * gdb.cell/ea-standalone.exp * gdb.cell/ea-test.exp * gdb.cell/f-regs.exp * gdb.cell/fork.exp * gdb.cell/gcore.exp * gdb.cell/mem-access.exp * gdb.cell/ptype.exp * gdb.cell/registers.exp * gdb.cell/sizeof.exp * gdb.cell/solib-symbol.exp * gdb.cell/solib.exp * gdb.compile/compile-tls.exp * gdb.cp/exception.exp * gdb.cp/gdb2495.exp * gdb.cp/local.exp * gdb.cp/mb-inline.exp * gdb.cp/mb-templates.exp * gdb.cp/pr10687.exp * gdb.cp/pr9167.exp * gdb.cp/scope-err.exp * gdb.cp/templates.exp * gdb.cp/virtfunc.exp * gdb.dwarf2/dw2-dir-file-name.exp * gdb.dwarf2/dw2-single-line-discriminators.exp * gdb.fortran/complex.exp * gdb.fortran/library-module.exp * gdb.guile/guile.exp * gdb.guile/scm-cmd.exp * gdb.guile/scm-frame-inline.exp * gdb.guile/scm-objfile.exp * gdb.guile/scm-pretty-print.exp * gdb.guile/scm-symbol.exp * gdb.guile/scm-type.exp * gdb.guile/scm-value.exp * gdb.linespec/keywords.exp * gdb.linespec/ls-errs.exp * gdb.linespec/macro-relative.exp * gdb.linespec/thread.exp * gdb.mi/mi-breakpoint-changed.exp * gdb.mi/mi-dprintf-pending.exp * gdb.mi/mi-fullname-deleted.exp * gdb.mi/mi-logging.exp * gdb.mi/mi-pending.exp * gdb.mi/mi-solib.exp * gdb.mi/new-ui-mi-sync.exp * gdb.mi/user-selected-context-sync.exp * gdb.multi/dummy-frame-restore.exp * gdb.multi/multi-arch-exec.exp * gdb.multi/remove-inferiors.exp * gdb.multi/watchpoint-multi-exit.exp * gdb.opt/solib-intra-step.exp * gdb.perf/backtrace.exp * gdb.perf/single-step.exp * gdb.perf/skip-command.exp * gdb.perf/skip-prologue.exp * gdb.perf/solib.exp * gdb.python/lib-types.exp * gdb.python/py-as-string.exp * gdb.python/py-bad-printers.exp * gdb.python/py-block.exp * gdb.python/py-breakpoint.exp * gdb.python/py-cmd.exp * gdb.python/py-events.exp * gdb.python/py-evthreads.exp * gdb.python/py-finish-breakpoint.exp * gdb.python/py-finish-breakpoint2.exp * gdb.python/py-frame-inline.exp * gdb.python/py-frame.exp * gdb.python/py-inferior.exp * gdb.python/py-infthread.exp * gdb.python/py-mi.exp * gdb.python/py-objfile.exp * gdb.python/py-pp-maint.exp * gdb.python/py-pp-registration.exp * gdb.python/py-prettyprint.exp * gdb.python/py-recurse-unwind.exp * gdb.python/py-shared.exp * gdb.python/py-symbol.exp * gdb.python/py-symtab.exp * gdb.python/py-template.exp * gdb.python/py-type.exp * gdb.python/py-unwind-maint.exp * gdb.python/py-unwind.exp * gdb.python/py-value.exp * gdb.python/python.exp * gdb.reverse/finish-reverse-bkpt.exp * gdb.reverse/insn-reverse.exp * gdb.reverse/next-reverse-bkpt-over-sr.exp * gdb.reverse/solib-precsave.exp * gdb.reverse/solib-reverse.exp * gdb.stabs/gdb11479.exp * gdb.stabs/weird.exp * gdb.threads/fork-child-threads.exp * gdb.threads/fork-plus-threads.exp * gdb.threads/fork-thread-pending.exp * gdb.threads/forking-threads-plus-breakpoint.exp * gdb.threads/hand-call-in-threads.exp * gdb.threads/interrupted-hand-call.exp * gdb.threads/linux-dp.exp * gdb.threads/local-watch-wrong-thread.exp * gdb.threads/next-while-other-thread-longjmps.exp * gdb.threads/non-ldr-exit.exp * gdb.threads/pending-step.exp * gdb.threads/print-threads.exp * gdb.threads/process-dies-while-detaching.exp * gdb.threads/process-dies-while-handling-bp.exp * gdb.threads/pthreads.exp * gdb.threads/queue-signal.exp * gdb.threads/reconnect-signal.exp * gdb.threads/signal-command-handle-nopass.exp * gdb.threads/signal-command-multiple-signals-pending.exp * gdb.threads/signal-delivered-right-thread.exp * gdb.threads/signal-sigtrap.exp * gdb.threads/sigthread.exp * gdb.threads/staticthreads.exp * gdb.threads/stepi-random-signal.exp * gdb.threads/thread-unwindonsignal.exp * gdb.threads/thread_check.exp * gdb.threads/thread_events.exp * gdb.threads/tid-reuse.exp * gdb.threads/tls-nodebug.exp * gdb.threads/tls-shared.exp * gdb.threads/tls-so_extern.exp * gdb.threads/tls.exp * gdb.threads/wp-replication.exp * gdb.trace/actions-changed.exp * gdb.trace/actions.exp * gdb.trace/backtrace.exp * gdb.trace/change-loc.exp * gdb.trace/collection.exp * gdb.trace/deltrace.exp * gdb.trace/disconnected-tracing.exp * gdb.trace/entry-values.exp * gdb.trace/ftrace-lock.exp * gdb.trace/ftrace.exp * gdb.trace/infotrace.exp * gdb.trace/mi-trace-frame-collected.exp * gdb.trace/mi-trace-unavailable.exp * gdb.trace/mi-traceframe-changed.exp * gdb.trace/mi-tracepoint-changed.exp * gdb.trace/mi-tsv-changed.exp * gdb.trace/no-attach-trace.exp * gdb.trace/packetlen.exp * gdb.trace/passc-dyn.exp * gdb.trace/passcount.exp * gdb.trace/pending.exp * gdb.trace/pr16508.exp * gdb.trace/qtro.exp * gdb.trace/range-stepping.exp * gdb.trace/read-memory.exp * gdb.trace/report.exp * gdb.trace/save-trace.exp * gdb.trace/signal.exp * gdb.trace/stap-trace.exp * gdb.trace/status-stop.exp * gdb.trace/strace.exp * gdb.trace/tfile.exp * gdb.trace/tfind.exp * gdb.trace/trace-break.exp * gdb.trace/trace-condition.exp * gdb.trace/trace-enable-disable.exp * gdb.trace/trace-mt.exp * gdb.trace/tracecmd.exp * gdb.trace/tracefile-pseudo-reg.exp * gdb.trace/tspeed.exp * gdb.trace/tstatus.exp * gdb.trace/tsv.exp * gdb.trace/unavailable.exp * gdb.trace/while-dyn.exp * gdb.trace/while-stepping.exp * lib/gdb-guile.exp * lib/gdb.exp * lib/mi-support.exp * lib/pascal.exp * lib/perftest.exp * lib/prelink-support.exp * lib/selftest-support.exp commit 88256e713c707aeb850688071150d32f9cca5a91 Author: Jim Wilson Date: Thu Dec 1 09:07:55 2016 -0800 Fix typo in ChangeLog entry. commit 88ddd4a1ef8818984f87f574b424ccdc7db19660 Author: Jim Wilson Date: Thu Dec 1 09:06:07 2016 -0800 Fix bug with FP stur instructions. sim/aarch64 * simulator.c (fsturs): Switch use of rn and st variables. (fsturd, fsturq): Likewise commit 69ace2200106348a1b00d509a6a234337c104c17 Author: Nick Clifton Date: Thu Dec 1 15:20:19 2016 +0000 Fix seg fault attempting to unget an EOF character. PR gas/20898 * app.c (do_scrub_chars): Do not attempt to unget EOF. commit 4cbd84083ea89e870526ed0c80d462084887ba6e Author: Nick Clifton Date: Thu Dec 1 15:02:45 2016 +0000 Fix seg-fault printing assembler statistics when the output file was not created. PR gas/20897 * subsegs.c (subsegs_print_statistics): Do nothing if no output file was created. commit 4ee1d7e401a8c1aedfdc86aac7faa8267eab1e5c Author: Rudy Y Date: Thu Dec 1 14:43:36 2016 +0000 Fix generation of IDATA[6] for PE files. PR ld/20880 * pe-dll.c (make_one): Use the hint if the ordinal is -1. commit cec4b2e3fee8ae2c41089fc7454da56f676f653c Author: Luis Machado Date: Thu Dec 1 08:42:11 2016 -0600 Fix calculation of synthetic symbol sizes (ppc64) The attached patch fixes a problem where nm displays bogus information for synthetic symbol sizes when --size-sort is used. This happens because the synthetic symbols (dot symbols for ppc64) are generated based on their non-dot symbols. The generation process doesn't copy over the ELF-specific bits of the regular non-dot symbols. When --size-sort is used, the code attempts to access the symbol size from the ELF-specific bits and ends up reading gargabe, causing the size to be displayed incorrectly. With the patch, i can see dot and non-dot symbols having the same size with --size-sort. This doesn't fix the fact that we don't display size information for synthetic symbols without --size-sort, which i may address in the future. binutils/ChangeLog: 2016-12-01 Luis Machado * nm.c (sort_symbols_by_size): Don't read symbol size if symbol is synthetic. commit 5cd1d8bcc24e948e86a636161e6d72f6316545a7 Author: Yury Norov Date: Thu Dec 1 12:31:51 2016 +0000 Fix accesses to the GOT for AARCH64 operating in 32-bit mode. PR ld/20868 bfd * elfnn-aarch64.c (elfNN_aarch64_tls_relax): Use 32-bit accesses to the GOT when operating in 32-bit mode. ld * testsuite/ld-aarch64/tls-relax-gd-ie-ilp32.d: New test. * testsuite/ld-aarch64/relocs-ilp32.ld: Linker script for the new test. * testsuite/ld-aarch64/aarch64-elf.exp: Run the new test. commit 40a0bfddf07620f5321927b3231502debb3b73bc Author: Ma Jiang Date: Thu Dec 1 12:21:30 2016 +0000 Fix handling of MIPS16 HI16 relocs. PR ld/16720 * elfxx-mips.c (mips_elf_calculate_relocation): Remove overflow test for HI16 relocs. commit e82ab856bb4689330c29fb9f1c57a8555b26380e Author: Nick Clifton Date: Thu Dec 1 10:49:39 2016 +0000 Fix a seg-fault disassembling a corrupt binary. PR binutils/20892 * aoutx.h (find_nearest_line): Handle the case where the function name is empty. commit 6d6ad65b43efa17a825702297331fcb290445a18 Author: Nick Clifton Date: Thu Dec 1 10:38:40 2016 +0000 Fix ICE in assembler when passed a corrupt input file. PR gas/20895 * symbols.c (resolve_symbol_value): Gracefully handle erroneous symbolic expressions. commit a37a2806e3289294ed214aed3c8a45db46026b39 Author: Nick Clifton Date: Thu Dec 1 10:26:32 2016 +0000 Fix abort in x86 disassembler. PR binutils/20893 * i386-dis.c (OP_VEX): Replace call to abort with a append of bad opcode designator. commit 50455f1ab2935f7321215dfa681745c9b1cb5b19 Author: Nick Clifton Date: Thu Dec 1 10:15:07 2016 +0000 Fix seg-fault running addr2line on a corrupt binary. PR binutils/20891 * aoutx.h (find_nearest_line): Handle the case where the main file name and the directory name are both empty. commit 95a23284a3db0ec85bb0b11c70e6b5acf00563f6 Author: Simon Marchi Date: Wed Nov 30 21:46:49 2016 -0500 Use std::string in ui_out_table Use std::string for the id field of the ui_out_table object. I found that all users of ui_out_table_begin passed a non-NULL value to the tblid parameter, so we don't have to worry about the NULL case. I changed the tblid parameter to be a std::string while at it. gdb/ChangeLog: * ui-out.c (struct ui_out_table) : Change type to std::string. (ui_out_table_begin): Change tblid parameter type to std::string, adapt code. update following type change. (clear_table): Update. (ui_out_new): Update. commit b9b118c3bb29052ee76c6bf32b99962cda5113ba Author: Simon Marchi Date: Wed Nov 30 21:46:08 2016 -0500 Use std::vector for cli_ui_out_data::streams Use a standard vector instead of the home-made version. I used a vector of plain pointers, because the cli_ui_out_data object doesn't own the streams objects (i.e. they shouldn't be deleted when the vector is deleted). gdb/ChangeLog: * cli-out.h (cli_ui_out_data) : Change type to std::vector. * cli-out.c: Remove vec.h include. (cli_uiout_dtor): Update. (cli_field_fmt): Update. (cli_spaces): Update. (cli_text): Update. (cli_message): Update. (cli_flush): Update. (cli_redirect): Update. (out_field_fmt): Update. (field_separator): Update. (cli_out_data_ctor): Update. (cli_out_new): Update. (cli_out_set_stream): Update. commit 4a9d4ea535a6c9b8c2e7cdf91377abe284d0b277 Author: Simon Marchi Date: Wed Nov 30 21:43:17 2016 -0500 Use std::vector for mi_ui_out_data::streams Use a standard vector instead of the home-made version. I used a vector of plain pointers, because the mi_ui_out_data object doesn't own the streams objects (i.e. they shouldn't be deleted when the vector is deleted). gdb/ChangeLog: * mi/mi-out.c: Remove vec.h include. (mi_ui_out_data) : Change type to std::vector. (mi_field_string): Update. (mi_field_fmt): Update. (mi_flush): Update. (mi_redirect): Update. (field_separator): Update. (mi_open): Update. (mi_close): Update. (mi_out_buffered): Update. (mi_out_rewind): Update. (mi_out_put): Update. (mi_out_data_ctor): Update. (mi_out_data_dtor): Don't free streams. commit 56df3084847984aeddd8c24ca997242ec8c5a369 Author: Simon Marchi Date: Wed Nov 30 21:42:47 2016 -0500 Use std::vector for ui_out::levels Convert the levels field of struct ui_out to be a vector of unique_ptr to ui_out_level. This way, the ownership of the ui_out_level objects by the ui_out instance is clear. gdb/ChangeLog: * ui-out.c (ui_out_level_p): Remove typedef. (DEF_VEC_P (ui_out_level_p)): Remove definition. (struct ui_out) : Change type to vector of unique_ptr of ui_out_level. (current_level): Update. (push_level): Update. (pop_level): Update, don't manually delete the ui_out_level instance. (ui_out_new): Update. commit 5486f16481dffa1c1a0d1fd9e38b97e3678078ed Author: Simon Marchi Date: Wed Nov 30 21:41:46 2016 -0500 Use new/delete instead of malloc/free-based functions The following patches introduce C++ vectors and strings as fields of the various ui_out structures. We therefore need to use new/delete so that their contructor/destructor is called. I find it simpler to change all the allocations in a separate preliminary patch, rather than in each individual patch. gdb/ChangeLog: * cli-out.c (cli_uiout_dtor): Use delete instead of xfree. (cli_out_new): Use new instead of XNEW. * mi/mi-out.c (mi_out_data_dtor): Use delete instead of xfree. (mi_out_new): Use new instead of XNEW. * tui/tui-out.c (tui_out_new): Likewise. * ui-out.c (push_level): Likewise. (pop_level): Use delete instead of xfree. (clear_header_list): Use delete instead of xfree. (append_header_to_list): Use new instead of XNEW. (ui_out_new): Likewise. commit 5084b13657023904cb60737abdf4cefb539a5fc4 Author: GDB Administrator Date: Thu Dec 1 00:00:20 2016 +0000 Automatic date update in version.in commit ad02e4fe877f3a874145dd045626501245e65624 Author: Simon Marchi Date: Wed Nov 30 16:23:59 2016 -0500 Makefiles: Disable suffix rules and implicit rules Since we don't use suffix rules nor implicit rules in gdb, we can disable them. The advantage is a slightly faster make [1]. Here are some numbers about the speedup. I ran this on my trusty old Intel Q6600, so the time numbers are probably higher than what you'd get on any recent hardware. I ran "make" in the gdb/ directory of an already built repository (configured with --enable-targets=all). I recorded the time of execution (average of 5). I then ran "make -d" and recorded the number of printed lines, which gives a rough idea of the number of operations done. I compared the following configurations, to see the impact of both the empty .SUFFIXES target and the empty pattern rules, as well as running "make -r", which can be considered the "ideal" case. A - baseline B - baseline + .SUFFIXES C - baseline + pattern rules D - baseline + .SUFFIXES + pattern rules E - baseline + make -r config | time (s) | "make -d" ----------------------------- A | 5.74 | 2396643 B | 1.19 | 298469 C | 2.81 | 1266573 D | 1.13 | 245489 E | 1.01 | 163914 We can see that the empty .SUFFIXES target has a bigger impact than the empty pattern rules, but still it doesn't hurt to disable the implicit pattern rules as well. There are still some mentions of implicit rules I can't get rid of in the "make -d" output. For example, it's trying to build .c files from .w files: Looking for an implicit rule for '/home/simark/src/binutils-gdb/gdb/infrun.c'. Trying pattern rule with stem 'infrun'. Trying implicit prerequisite '/home/simark/src/binutils-gdb/gdb/infrun.w'. and trying to build Makefile.in from a bunch of extensions: Looking for an implicit rule for 'Makefile.in'. Trying pattern rule with stem 'Makefile.in'. Trying implicit prerequisite 'Makefile.in.o'. Trying pattern rule with stem 'Makefile.in'. Trying implicit prerequisite 'Makefile.in.c'. Trying pattern rule with stem 'Makefile.in'. Trying implicit prerequisite 'Makefile.in.cc'. ... many more ... If somebody knows how to disable them, we can do it, but at this point the returns are minimal, so it is not that important. I verified that both in-tree and out-of-tree builds work. [1] Switching from explicit rules to pattern rules for files in subdirectories actually made it slower, so this is kind of a way to redeem myself. But it the end it's faster than it was previously, so it was all worth it. :) gdb/ChangeLog: * disable-implicit-rules.mk: New file. * Makefile.in: Include disable-implicit-rules.mk. * data-directory/Makefile.in: Likewise. * gnulib/Makefile.in: Likewise. gdb/doc/ChangeLog: * Makefile.in: Likewise. gdb/gdbserver/ChangeLog: * Makefile.in: Include disable-implicit-rules.mk. gdb/testsuite/ChangeLog: * Makefile.in: Include disable-implicit-rules.mk. commit 7913a64cab3930fe524f0e38f85cfca11bd52dcb Author: Yao Qi Date: Wed Nov 30 11:55:56 2016 +0000 [ARM] Read memory as unsigned integer When GDB read inferior memory as an address or an instruction, it should be unsigned. gdb: 2016-11-30 Yao Qi * arm-tdep.c (arm_scan_prologue): Read memory as unsigned integer. (arm_exidx_unwind_sniffer): Likewise. commit e9a38e0f5287ce7b4629f5f923191e38dd7355c0 Author: Alan Modra Date: Mon Nov 28 16:14:56 2016 +1030 Revert accidental elf.c change * elf.c (get_program_header_size): Revert accidental change. commit 502d895cd1ca5d4abf4ef55984cbf5239aeaef0c Author: Nick Clifton Date: Wed Nov 30 11:06:42 2016 +0000 Stop readelf from complaining about out of order PT_LOAD segments. PR ld/20815 * readelf.c (process_program_headers): Do not warn about out of order PT_LOAD segments. commit ea3d7d1cab4221ab729327bb4d957352c79d05f0 Author: Alan Modra Date: Wed Nov 30 15:33:07 2016 +1030 PR20886, looping in ppc64_elf_size_stubs The PR20886 binary is large enough that there are two stub sections servicing .text (which is 88M). It so happens that between one iteration of sizing and the next that one stub section grows while the other shrinks. Since one section is always growing, the loop never terminates. This patch changes the algorithm to not update previous size on shrinking, once we go past a certain number of iterations. PR ld/20886 * elf64-ppc.c (ppc64_elf_size_stubs): Make rawsize max size seen on any pass past STUB_SHRINK_ITER. commit f0e9390be5bbfa3ee777d81dacfccd713ebddb68 Author: GDB Administrator Date: Wed Nov 30 00:00:20 2016 +0000 Automatic date update in version.in commit abe7c33b45288b407e6d001aad713183d4bab5c6 Author: Claudiu Zissulescu Date: Tue Nov 15 15:11:47 2016 +0100 [ARC] Add checking for LP_COUNT reg usage, improve error reporting. gas/ 2016-11-29 Claudiu Zissulescu * config/tc-arc.c (find_opcode_match): New function argument errmsg. (assemble_tokens): Collect and report the eventual error message found during opcode matching process. * testsuite/gas/arc/lpcount-err.s: New file. * testsuite/gas/arc/add_s-err.s: Update error message. opcode/ 2016-11-29 Claudiu Zissulescu * arc-opc.c (insert_ra_chk): New function. (insert_rb_chk): Likewise. (insert_rad): Update text error message. (insert_rcd): Likewise. (insert_rhv2): Likewise. (insert_r0): Likewise. (insert_r1): Likewise. (insert_r2): Likewise. (insert_r3): Likewise. (insert_sp): Likewise. (insert_gp): Likewise. (insert_pcl): Likewise. (insert_blink): Likewise. (insert_ilink1): Likewise. (insert_ilink2): Likewise. (insert_ras): Likewise. (insert_rbs): Likewise. (insert_rcs): Likewise. (insert_simm3s): Likewise. (insert_rrange): Likewise. (insert_fpel): Likewise. (insert_blinkel): Likewise. (insert_pcel): Likewise. (insert_nps_3bit_dst): Likewise. (insert_nps_3bit_dst_short): Likewise. (insert_nps_3bit_src2_short): Likewise. (insert_nps_bitop_size_2b): Likewise. (MAKE_SRC_POS_INSERT_EXTRACT_FUNCS): Likewise. (RA_CHK): Define. (RB): Adjust. (RB_CHK): Define. (RC): Adjust. * arc-dis.c (print_insn_arc): Add LOAD and STORE class. * arc-tbl.h (div, divu): All instructions are DIVREM class. Change first insn argument to check for LP_COUNT usage. (rem): Likewise. (ld, ldd): All instructions are LOAD class. Change first insn argument to check for LP_COUNT usage. (st, std): All instructions are STORE class. (mac, mpy, dmac, mul, dmpy): All instructions are MPY class. Change first insn argument to check for LP_COUNT usage. (mov): All instructions are MOVE class. Change first insn argument to check for LP_COUNT usage. include/ 2016-11-29 Claudiu Zissulescu * opcode/arc.h (insn_class_t): Add DIVREM, LOAD, MOVE, MPY, STORE instruction classes. commit ee881e5d3312ea5396bddc37e8673b77bf549b4b Author: Claudiu Zissulescu Date: Thu Oct 6 12:05:27 2016 +0200 [ARC] Fix disassembler option. This patch fixes: - fpus and fpud are swaped. - quarkse_em doesn't include FPX extensions. - auto guessed opcode mechanism may ignore the option passed via -M option. opcodes/ 2016-11-29 Claudiu Zissulescu * arc-dis.c (is_compatible_p): Remove function. (skip_this_opcode): Don't add any decoding class to decode list. Remove warning. (find_format_from_table): Go through all opcodes, and warn if we use a guessed mnemonic. binutils/ 2016-11-29 Claudiu Zissulescu * testsuite/binutils-all/arc/objdump.exp (Warning test): Update test. commit 0a0640e3ba9a668c4c317520c48246e1cc8d75ca Author: Simon Marchi Date: Mon Nov 28 21:34:54 2016 -0500 Fix debug output in record_full_open_1 The printed function name should be record_full_open_1, not record_full_open. gdb/ChangeLog: * record-full.c (record_full_open_1): Fix debug output. commit aec6cd371d194f93cb7651c219b75eed05bdda98 Author: GDB Administrator Date: Tue Nov 29 00:00:22 2016 +0000 Automatic date update in version.in commit 268ebe95201d2ebdcf68cad9dc67ff6d1e25be9e Author: Andrew Burgess Date: Fri Nov 18 14:15:12 2016 +0000 arc/ld: Remove duplicate TEMPLATE_NAME from emulparam file Remove duplicate definition of TEMPLATE_NAME, only the last of these will have any effect, so this should result in no visible changes to the user. ld/ChangeLog: * emulparams/arclinux_prof.sh: Remove duplicate TEMPLATE_NAME. commit 157686a88644b111658c661fc225881e75f3b0db Author: Nick Clifton Date: Mon Nov 28 17:51:57 2016 +0000 Update linker tests after partial reversion of PR 20815 patch. PR 20815 * testsuite/ld-elf/loadaddr1.d: Update. * testsuite/ld-powerpc/vle-multiseg-5.d: Update. * testsuite/ld-scripts/phdrs3a.d: Update. commit cd58485720b47d80fed0b281d15a9198f43eaf0c Author: Nick Clifton Date: Mon Nov 28 17:45:22 2016 +0000 Partially revert patch for PR 20815 - do not sort the PT_LOAD segments. Non-ordered segments are needed by the Linux kernel. PR ld/20815 * elf.c (phdr_sorter): Delete. (assign_file_positions_except_relocs): Do not sort program headers. commit abfcb414b9900ef996b1665323a950610dbdca43 Author: Amit Pawar Date: Mon Nov 28 09:21:05 2016 -0800 X86: Ignore REX_B bit for 32-bit XOP instructions While decoding 32-bit XOP instructions, 64 bit registers names are printed. This patch fixes this by ignoring REX_B bit in 32-bit mode. opcodes/ PR binutils/20637 * i386-dis.c (get_valid_dis386): Ignore REX_B for 32-bit XOP instructions. gas/ PR binutils/20637 * testsuite/gas/i386/xop32reg.d: New file. * testsuite/gas/i386/xop32reg.s: New file. * testsuite/gas/i386/i386.exp: Run new test. commit 1a0884415891b197972f8acf59131c3c9376807f Author: Yao Qi Date: Mon Nov 28 17:09:26 2016 +0000 Restrict checking value.lval on using address With the previous change, value.location.address is only valid for lval_memory. This patch restrict some checking on value.lval on using address. Since we have a check on VALUE_VAL in set_value_address, we need to set VALUE_VAL properly before set_value_address too. gdb: 2016-11-25 Yao Qi * ada-lang.c (ensure_lval): Call set_value_address after setting VALUE_LVAL. * elfread.c (elf_gnu_ifunc_resolve_addr): Set VALUE_LVAL to lval_memory. (elf_gnu_ifunc_resolver_return_stop): Likewise. * value.c (value_fn_field): Likewise. (value_from_contents_and_address_unresolved): Likewise. (value_from_contents_and_address): Likewise. (value_address): Check value->lval isn't lval_memory. (value_raw_address): Likewise. (set_value_address): Assert value->lval is lval_memory. commit 7dc54575d91a2b41f6c3e838eec44a7017a24436 Author: Yao Qi Date: Mon Nov 28 17:09:26 2016 +0000 Adjust Value.location for lval_register value.regnum and value.next_frame_id are only used for lval_register, so this patch moves them to union value.location. As a result, when we copy value, only copy location, don't need to copy regnum and next_frame_id. This patch also changes regnum's type to int as there is no space constraint, so update deprecated_value_regnum_hack return type too. gdb: 2016-11-28 Yao Qi * valops.c (value_slice): Don't set frame id of slice. * value.c (struct value) : Move them to... (struct value) : ... here. Update comments. (allocate_value_lazy): Don't set frame id and regnum. (deprecated_value_next_frame_id_hack): Adjust. (deprecated_value_regnum_hack): Adjust. (value_copy): Don't copy frame id and regnu. (value_primitive_field): Likewise. (value_from_component): Likewise. (deprecated_value_regnum_hack): Return int *. * value.h (deprecated_value_regnum_hack): Update declaration. commit ee40d8d45213caf0cfb63e603f0fd5a58532e751 Author: Yao Qi Date: Mon Nov 28 17:09:26 2016 +0000 Move computed value's frame id to piece_closure Nowadays, we set computed value's frame id, which is a misuse to me. The computed value itself doesn't care about frame id, but function value_computed_funcs (val)->read (or read_pieced_value) cares about which frame the register is relative to, so 'struct piece_closure' is a better place to fit frame id. This patch adds a frame id in 'struct piece_closure', and use it instead of using computed value's frame id. gdb: 2016-11-28 Yao Qi * dwarf2loc.c (struct piece_closure) : New field. (allocate_piece_closure): Add new parameter 'frame' and set closure's frame_id field accordingly. (read_pieced_value): Get frame from closure instead of value. (dwarf2_evaluate_loc_desc_full): Remove code getting frame id. Don't set value's frame id. commit 4deb8f714d555a2f530e37c3e7af32bc42fdda58 Author: H.J. Lu Date: Mon Nov 28 08:03:46 2016 -0800 Properly hide hidden versioned symbol in executable A hidden versioned symbol in executable should be forced local if it is locally defined, not referenced by shared library and not exported. We must do it before _bfd_elf_link_renumber_dynsyms. bfd/ * elflink.c (_bfd_elf_fix_symbol_flags): Hide hidden versioned symbol in executable. (elf_link_output_extsym): Don't change bind from global to local when linking executable. ld/ * testsuite/ld-elf/indirect.exp: Add a test for PR 18720. * testsuite/ld-elf/pr18720.rd: New file. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 9 + bfd/ChangeLog | 213 + bfd/aoutx.h | 65 +- bfd/bfd-in.h | 4 + bfd/bfd-in2.h | 4 + bfd/config.bfd | 11 +- bfd/elf.c | 101 +- bfd/elf32-rx.c | 16 +- bfd/elf64-hppa.c | 37 +- bfd/elf64-ppc.c | 413 +- bfd/elf64-ppc.h | 2 - bfd/elflink.c | 112 +- bfd/elfnn-aarch64.c | 37 +- bfd/elfxx-mips.c | 11 +- bfd/elfxx-sparc.c | 4 +- bfd/peicode.h | 7 +- bfd/version.h | 2 +- binutils/ChangeLog | 69 + binutils/MAINTAINERS | 11 +- binutils/nm.c | 7 +- binutils/objcopy.c | 5 +- binutils/readelf.c | 9 +- binutils/testsuite/binutils-all/arc/objdump.exp | 2 +- binutils/testsuite/binutils-all/mips/mips-ase-1.d | 29 + binutils/testsuite/binutils-all/mips/mips-ase-1.s | 12 + binutils/testsuite/binutils-all/mips/mips-ase-2.d | 29 + binutils/testsuite/binutils-all/mips/mips-ase-2.s | 12 + binutils/testsuite/binutils-all/mips/mips-ase-3.d | 18 + binutils/testsuite/binutils-all/mips/mips.exp | 5 + .../binutils-all/mips/mips16-extend-noinsn.d | 33 + .../binutils-all/mips/mips16-extend-noinsn.s | 25 + .../testsuite/binutils-all/mips/mips16-pcrel.d | 200 + .../testsuite/binutils-all/mips/mips16-pcrel.s | 219 + config/ChangeLog | 6 + config/acx.m4 | 2 +- config/bootstrap-asan.mk | 2 +- config/multi.m4 | 3 +- configure | 4 +- configure.ac | 2 +- gas/ChangeLog | 284 ++ gas/app.c | 2 +- gas/config/tc-aarch64.c | 30 +- gas/config/tc-arc.c | 169 +- gas/config/tc-arm.c | 107 +- gas/config/tc-mips.c | 12 +- gas/configure | 2 +- gas/configure.tgt | 3 + gas/doc/c-arc.texi | 104 + gas/doc/c-arm.texi | 1 + gas/expr.c | 2 +- gas/read.c | 31 +- gas/read.h | 5 +- gas/subsegs.c | 4 + gas/symbols.c | 11 +- gas/testsuite/gas/aarch64/addsub.d | 2 +- gas/testsuite/gas/aarch64/adr_1.d | 1 + gas/testsuite/gas/aarch64/advsimd-across.d | 2 +- gas/testsuite/gas/aarch64/advsimd-armv8_3.d | 2 +- gas/testsuite/gas/aarch64/advsimd-fp16.d | 2 +- gas/testsuite/gas/aarch64/advsimd-misc.d | 2 +- gas/testsuite/gas/aarch64/advsisd-copy.d | 2 +- gas/testsuite/gas/aarch64/advsisd-misc.d | 2 +- gas/testsuite/gas/aarch64/alias.d | 2 +- gas/testsuite/gas/aarch64/armv8-ras-1.d | 2 +- gas/testsuite/gas/aarch64/b_1.d | 4 +- gas/testsuite/gas/aarch64/beq_1.d | 4 +- gas/testsuite/gas/aarch64/bitfield-dump | 2 +- gas/testsuite/gas/aarch64/bitfield-no-aliases.d | 2 +- gas/testsuite/gas/aarch64/codealign.d | 2 +- gas/testsuite/gas/aarch64/codealign_1.d | 2 +- gas/testsuite/gas/aarch64/crc32-directive.d | 2 +- gas/testsuite/gas/aarch64/crc32.d | 2 +- gas/testsuite/gas/aarch64/crypto-directive.d | 2 +- gas/testsuite/gas/aarch64/crypto.d | 2 +- gas/testsuite/gas/aarch64/diagnostic.l | 217 +- gas/testsuite/gas/aarch64/diagnostic.s | 1 + gas/testsuite/gas/aarch64/dwarf.d | 32 +- gas/testsuite/gas/aarch64/float-fp16.d | 2 +- gas/testsuite/gas/aarch64/floatdp2.d | 2 +- gas/testsuite/gas/aarch64/fp-armv8_3.d | 2 +- gas/testsuite/gas/aarch64/fp-const0-parse.d | 2 +- gas/testsuite/gas/aarch64/fp_cvt_int.d | 2 +- gas/testsuite/gas/aarch64/fpmov.d | 2 +- gas/testsuite/gas/aarch64/inst-directive.d | 2 +- gas/testsuite/gas/aarch64/int-insns.d | 2 +- gas/testsuite/gas/aarch64/ldr_1.d | 4 +- gas/testsuite/gas/aarch64/ldst-exclusive-armv8_3.d | 2 +- gas/testsuite/gas/aarch64/ldst-exclusive.d | 2 +- gas/testsuite/gas/aarch64/ldst-reg-imm-post-ind.d | 2 +- gas/testsuite/gas/aarch64/ldst-reg-imm-pre-ind.d | 2 +- gas/testsuite/gas/aarch64/ldst-reg-pair.d | 2 +- gas/testsuite/gas/aarch64/ldst-reg-reg-offset.d | 2 +- gas/testsuite/gas/aarch64/ldst-reg-uns-imm.d | 2 +- gas/testsuite/gas/aarch64/ldst-reg-unscaled-imm.d | 2 +- gas/testsuite/gas/aarch64/lor-directive.d | 2 +- gas/testsuite/gas/aarch64/lor.d | 2 +- gas/testsuite/gas/aarch64/lse-atomic.d | 2 +- gas/testsuite/gas/aarch64/mapmisc.d | 78 +- gas/testsuite/gas/aarch64/mov-no-aliases.d | 2 +- gas/testsuite/gas/aarch64/mov.d | 2 +- gas/testsuite/gas/aarch64/movi.d | 2 +- gas/testsuite/gas/aarch64/movw_label.d | 16 +- gas/testsuite/gas/aarch64/msr.d | 2 +- gas/testsuite/gas/aarch64/neon-fp-cvt-int.d | 2 +- gas/testsuite/gas/aarch64/neon-frint.d | 2 +- gas/testsuite/gas/aarch64/neon-ins.d | 2 +- gas/testsuite/gas/aarch64/neon-not.d | 2 +- gas/testsuite/gas/aarch64/neon-vfp-reglist-post.d | 2 +- gas/testsuite/gas/aarch64/neon-vfp-reglist.d | 2 +- gas/testsuite/gas/aarch64/no-aliases.d | 2 +- gas/testsuite/gas/aarch64/optional.d | 12 +- gas/testsuite/gas/aarch64/pac.d | 2 +- gas/testsuite/gas/aarch64/pan-directive.d | 2 +- gas/testsuite/gas/aarch64/pan.d | 2 +- gas/testsuite/gas/aarch64/programmer-friendly.d | 1 + gas/testsuite/gas/aarch64/rdma-directive.d | 2 +- gas/testsuite/gas/aarch64/rdma.d | 2 +- gas/testsuite/gas/aarch64/reloc-data.d | 1 + gas/testsuite/gas/aarch64/reloc-dtprel_g0.d | 4 +- gas/testsuite/gas/aarch64/reloc-dtprel_g0_nc.d | 4 +- gas/testsuite/gas/aarch64/reloc-dtprel_g1.d | 4 +- gas/testsuite/gas/aarch64/reloc-dtprel_g1_nc.d | 1 + gas/testsuite/gas/aarch64/reloc-dtprel_g2.d | 1 + gas/testsuite/gas/aarch64/reloc-dtprel_hi12.d | 4 +- gas/testsuite/gas/aarch64/reloc-dtprel_lo12-1.d | 4 +- .../gas/aarch64/reloc-dtprel_lo12-ldst16.d | 1 + .../gas/aarch64/reloc-dtprel_lo12-ldst32.d | 1 + .../gas/aarch64/reloc-dtprel_lo12-ldst64.d | 1 + .../gas/aarch64/reloc-dtprel_lo12-ldst8.d | 1 + .../gas/aarch64/reloc-dtprel_lo12_nc-ldst16.d | 1 + .../gas/aarch64/reloc-dtprel_lo12_nc-ldst32.d | 1 + .../gas/aarch64/reloc-dtprel_lo12_nc-ldst64.d | 1 + .../gas/aarch64/reloc-dtprel_lo12_nc-ldst8.d | 1 + gas/testsuite/gas/aarch64/reloc-dtprel_lo12_nc.d | 4 +- gas/testsuite/gas/aarch64/reloc-gotoff_g0_nc.d | 1 + gas/testsuite/gas/aarch64/reloc-gotoff_g1.d | 1 + gas/testsuite/gas/aarch64/reloc-gottprel_g0_nc.d | 1 + gas/testsuite/gas/aarch64/reloc-gottprel_g1.d | 1 + gas/testsuite/gas/aarch64/reloc-insn.d | 1 + .../gas/aarch64/reloc-tlsdesc_off_g0_nc.d | 1 + gas/testsuite/gas/aarch64/reloc-tlsdesc_off_g1.d | 1 + gas/testsuite/gas/aarch64/reloc-tlsgd_g0_nc.d | 1 + gas/testsuite/gas/aarch64/reloc-tlsgd_g1.d | 1 + gas/testsuite/gas/aarch64/reloc-tlsldm-1.d | 4 +- gas/testsuite/gas/aarch64/reloc-tlsldm-page-1.d | 4 +- gas/testsuite/gas/aarch64/reloc-tlsldm_lo12_nc-1.d | 4 +- gas/testsuite/gas/aarch64/shifted.d | 2 +- gas/testsuite/gas/aarch64/sve.d | 2 +- gas/testsuite/gas/aarch64/symbol.d | 2 +- gas/testsuite/gas/aarch64/sysreg-1.d | 2 +- gas/testsuite/gas/aarch64/sysreg-2.d | 2 +- gas/testsuite/gas/aarch64/sysreg-3.d | 2 +- gas/testsuite/gas/aarch64/sysreg.d | 2 +- gas/testsuite/gas/aarch64/system-2.d | 2 +- gas/testsuite/gas/aarch64/system-3.d | 2 +- gas/testsuite/gas/aarch64/system.d | 66 +- gas/testsuite/gas/aarch64/tail_padding.d | 1 + gas/testsuite/gas/aarch64/tbz_1.d | 4 +- gas/testsuite/gas/aarch64/tlbi_op.d | 2 +- gas/testsuite/gas/aarch64/tls-desc.d | 1 + gas/testsuite/gas/aarch64/tls.d | 32 +- gas/testsuite/gas/aarch64/uao-directive.d | 2 +- gas/testsuite/gas/aarch64/uao.d | 2 +- gas/testsuite/gas/aarch64/virthostext-directive.d | 2 +- gas/testsuite/gas/aarch64/virthostext.d | 2 +- gas/testsuite/gas/arc/add_s-err.s | 2 +- gas/testsuite/gas/arc/cpu-em-err.s | 4 + gas/testsuite/gas/arc/cpu-em4-err.s | 4 + gas/testsuite/gas/arc/cpu-fpuda-err.s | 6 + gas/testsuite/gas/arc/cpu-hs-err.s | 5 + gas/testsuite/gas/arc/cpu-quarkse-err.s | 7 + gas/testsuite/gas/arc/lpcount-err.s | 9 + gas/testsuite/gas/arc/noargs_a7.s | 1 + gas/testsuite/gas/arc/textauxregister-1.d | 10 + gas/testsuite/gas/arc/textauxregister-1.s | 5 + gas/testsuite/gas/arc/textcondcode-err.s | 2 + gas/testsuite/gas/arc/textcoreregister-err.s | 2 + gas/testsuite/gas/arm/armv8_3-a-fp-bad.d | 2 + gas/testsuite/gas/arm/armv8_3-a-fp-bad.l | 7 + gas/testsuite/gas/arm/armv8_3-a-fp-bad.s | 8 + gas/testsuite/gas/arm/armv8_3-a-fp.d | 15 + gas/testsuite/gas/arm/armv8_3-a-fp.s | 8 + gas/testsuite/gas/arm/armv8_3-a-simd-bad.d | 2 + gas/testsuite/gas/arm/armv8_3-a-simd-bad.l | 39 + gas/testsuite/gas/arm/armv8_3-a-simd-bad.s | 51 + gas/testsuite/gas/arm/armv8_3-a-simd.d | 47 + gas/testsuite/gas/arm/armv8_3-a-simd.s | 49 + gas/testsuite/gas/i386/i386.exp | 1 + gas/testsuite/gas/i386/xop32reg.d | 15 + gas/testsuite/gas/i386/xop32reg.s | 13 + gas/testsuite/gas/mips/mips.exp | 5 + .../gas/mips/mips16-branch-unextended-1.d | 3 + .../gas/mips/mips16-branch-unextended-1.s | 8 + .../gas/mips/mips16-branch-unextended-2.d | 3 + .../gas/mips/mips16-branch-unextended-2.s | 8 + gas/testsuite/gas/mips/mips16-branch-unextended.l | 6 + gas/testsuite/gas/mips/mips16-extend.d | 16 + gas/testsuite/gas/mips/mips16-extend.s | 23 + gas/testsuite/gas/mips/mips16-sprel-swap.d | 20 + gas/testsuite/gas/mips/mips16-sprel-swap.s | 24 + gas/testsuite/gas/mmix/err-byte1.s | 5 +- gdb/ChangeLog | 565 +++ gdb/Makefile.in | 4 +- gdb/NEWS | 15 + gdb/aarch64-tdep.c | 196 +- gdb/ada-lang.c | 2 +- gdb/alpha-fbsd-tdep.c | 2 +- gdb/alpha-nbsd-tdep.c | 22 +- gdb/alpha-obsd-tdep.c | 2 +- gdb/amd64-fbsd-tdep.c | 2 +- gdb/amd64-nbsd-tdep.c | 2 +- gdb/amd64-obsd-tdep.c | 55 +- gdb/arm-nbsd-nat.c | 29 - gdb/arm-nbsd-tdep.c | 27 +- gdb/arm-obsd-tdep.c | 15 +- gdb/arm-tdep.c | 60 +- gdb/breakpoint.c | 10 +- gdb/cli-out.c | 46 +- gdb/cli-out.h | 9 +- gdb/cli/cli-script.c | 200 +- gdb/cli/cli-script.h | 6 + gdb/config/i386/i386gnu.mh | 3 + gdb/configure.tgt | 8 +- gdb/cris-tdep.c | 5 +- gdb/darwin-nat-info.c | 5 +- gdb/data-directory/Makefile.in | 3 + gdb/dbxread.c | 201 +- gdb/defs.h | 10 +- gdb/disable-implicit-rules.mk | 27 + gdb/doc/ChangeLog | 16 + gdb/doc/Makefile.in | 3 + gdb/doc/gdb.texinfo | 22 +- gdb/dwarf2loc.c | 24 +- gdb/dwarf2read.c | 33 +- gdb/elfread.c | 2 + gdb/fbsd-tdep.c | 2 +- gdb/frame.c | 5 +- gdb/gdbserver/ChangeLog | 4 + gdb/gdbserver/Makefile.in | 3 + gdb/gnu-nat.c | 174 +- gdb/gnulib/Makefile.in | 3 + gdb/hppa-nbsd-tdep.c | 2 +- gdb/hppa-obsd-tdep.c | 20 +- gdb/hppa-tdep.c | 23 - gdb/i386-bsd-tdep.c | 35 - gdb/i386-fbsd-tdep.c | 16 +- gdb/i386-gnu-nat.c | 26 +- gdb/i386-nbsd-tdep.c | 2 +- gdb/i386-obsd-tdep.c | 71 +- gdb/inferior.c | 18 +- gdb/m68k-bsd-tdep.c | 111 +- gdb/mi/mi-out.c | 80 +- gdb/mips-nbsd-tdep.c | 2 +- gdb/mips64-obsd-tdep.c | 2 +- gdb/osabi.c | 44 +- gdb/ppc-fbsd-tdep.c | 7 +- gdb/ppc-nbsd-tdep.c | 2 +- gdb/ppc-obsd-tdep.c | 22 +- gdb/printcmd.c | 3 + gdb/record-full.c | 2 +- gdb/rl78-tdep.c | 36 +- gdb/rs6000-tdep.c | 3 +- gdb/rx-tdep.c | 103 +- gdb/sh-nbsd-tdep.c | 21 +- gdb/solib.c | 24 +- gdb/sparc-nbsd-tdep.c | 58 +- gdb/sparc-obsd-tdep.c | 4 +- gdb/sparc-tdep.h | 4 +- gdb/sparc64-fbsd-tdep.c | 2 +- gdb/sparc64-nbsd-tdep.c | 2 +- gdb/sparc64-obsd-tdep.c | 2 +- gdb/stabsread.c | 9 +- gdb/symmisc.c | 2 +- gdb/testsuite/ChangeLog | 858 ++++ gdb/testsuite/Makefile.in | 3 + gdb/testsuite/gdb.ada/array_return.exp | 8 +- gdb/testsuite/gdb.ada/assign_1.exp | 2 +- gdb/testsuite/gdb.ada/boolean_expr.exp | 2 +- gdb/testsuite/gdb.ada/catch_ex.exp | 6 +- gdb/testsuite/gdb.ada/expr_delims.exp | 10 +- gdb/testsuite/gdb.ada/info_exc.exp | 2 +- gdb/testsuite/gdb.ada/mi_catch_ex.exp | 6 +- gdb/testsuite/gdb.ada/mi_dyn_arr.exp | 4 +- gdb/testsuite/gdb.ada/mi_ex_cond.exp | 2 +- gdb/testsuite/gdb.ada/mi_exc_info.exp | 2 +- gdb/testsuite/gdb.ada/mi_interface.exp | 4 +- gdb/testsuite/gdb.ada/mi_task_arg.exp | 2 +- gdb/testsuite/gdb.ada/mi_task_info.exp | 2 +- gdb/testsuite/gdb.ada/mi_var_array.exp | 4 +- gdb/testsuite/gdb.ada/start.exp | 4 +- gdb/testsuite/gdb.ada/watch_arg.exp | 4 +- gdb/testsuite/gdb.arch/alpha-step.exp | 6 +- gdb/testsuite/gdb.arch/altivec-regs.exp | 4 +- gdb/testsuite/gdb.arch/amd64-disp-step.exp | 2 +- gdb/testsuite/gdb.arch/arm-disp-step.exp | 2 +- gdb/testsuite/gdb.arch/disp-step-insn-reloc.exp | 4 +- gdb/testsuite/gdb.arch/e500-prologue.exp | 2 +- gdb/testsuite/gdb.arch/e500-regs.exp | 4 +- gdb/testsuite/gdb.arch/ftrace-insn-reloc.exp | 10 +- gdb/testsuite/gdb.arch/gdb1291.exp | 2 +- gdb/testsuite/gdb.arch/gdb1431.exp | 2 +- gdb/testsuite/gdb.arch/gdb1558.exp | 4 +- gdb/testsuite/gdb.arch/i386-bp_permanent.exp | 4 +- gdb/testsuite/gdb.arch/i386-disp-step.exp | 2 +- gdb/testsuite/gdb.arch/i386-dr3-watch.exp | 2 +- gdb/testsuite/gdb.arch/i386-float.exp | 2 +- gdb/testsuite/gdb.arch/i386-gnu-cfi.exp | 8 +- gdb/testsuite/gdb.arch/i386-mpx-simple_segv.exp | 6 +- gdb/testsuite/gdb.arch/i386-mpx.exp | 16 +- gdb/testsuite/gdb.arch/i386-permbkpt.exp | 4 +- gdb/testsuite/gdb.arch/i386-sse-stack-align.exp | 2 +- gdb/testsuite/gdb.arch/ia64-breakpoint-shadow.exp | 2 +- gdb/testsuite/gdb.arch/mips16-thunks.exp | 10 +- gdb/testsuite/gdb.arch/pa-nullify.exp | 8 +- gdb/testsuite/gdb.arch/powerpc-aix-prologue.exp | 2 +- gdb/testsuite/gdb.arch/powerpc-d128-regs.exp | 12 +- gdb/testsuite/gdb.arch/powerpc-power.exp | 2 +- gdb/testsuite/gdb.arch/ppc-dfp.exp | 4 +- gdb/testsuite/gdb.arch/s390-tdbregs.exp | 4 +- gdb/testsuite/gdb.arch/spu-info.exp | 2 +- gdb/testsuite/gdb.arch/spu-ls.exp | 2 +- gdb/testsuite/gdb.arch/thumb-bx-pc.exp | 2 +- gdb/testsuite/gdb.arch/vsx-regs.exp | 4 +- gdb/testsuite/gdb.base/advance.exp | 2 +- gdb/testsuite/gdb.base/all-architectures-0.exp | 17 + gdb/testsuite/gdb.base/all-architectures-1.exp | 17 + gdb/testsuite/gdb.base/all-architectures-2.exp | 17 + gdb/testsuite/gdb.base/all-architectures-3.exp | 17 + gdb/testsuite/gdb.base/all-architectures-4.exp | 17 + gdb/testsuite/gdb.base/all-architectures-5.exp | 17 + gdb/testsuite/gdb.base/all-architectures-6.exp | 17 + gdb/testsuite/gdb.base/all-architectures-7.exp | 17 + gdb/testsuite/gdb.base/all-architectures.exp.in | 336 ++ .../gdb.base/annota-input-while-running.exp | 2 +- gdb/testsuite/gdb.base/annota1.exp | 2 +- gdb/testsuite/gdb.base/annota3.exp | 2 +- gdb/testsuite/gdb.base/arrayidx.exp | 10 +- gdb/testsuite/gdb.base/asmlabel.exp | 2 +- gdb/testsuite/gdb.base/assign.exp | 2 +- gdb/testsuite/gdb.base/async.exp | 2 +- gdb/testsuite/gdb.base/attach-wait-input.exp | 2 +- gdb/testsuite/gdb.base/attach.exp | 4 +- .../gdb.base/auto-connect-native-target.exp | 8 +- gdb/testsuite/gdb.base/auxv.exp | 2 +- gdb/testsuite/gdb.base/bang.exp | 2 +- .../gdb.base/batch-preserve-term-settings.exp | 2 +- gdb/testsuite/gdb.base/bfp-test.exp | 20 +- gdb/testsuite/gdb.base/bigcore.exp | 8 +- gdb/testsuite/gdb.base/bitfields2.exp | 2 +- gdb/testsuite/gdb.base/bp-permanent.exp | 2 +- gdb/testsuite/gdb.base/break-always.exp | 2 +- gdb/testsuite/gdb.base/break-fun-addr.exp | 4 +- gdb/testsuite/gdb.base/break-idempotent.exp | 4 +- .../gdb.base/break-main-file-remove-fail.exp | 2 +- gdb/testsuite/gdb.base/break-probes.exp | 2 +- gdb/testsuite/gdb.base/break-unload-file.exp | 2 +- gdb/testsuite/gdb.base/break.exp | 16 +- gdb/testsuite/gdb.base/breakpoint-shadow.exp | 4 +- gdb/testsuite/gdb.base/call-ar-st.exp | 2 +- gdb/testsuite/gdb.base/call-rt-st.exp | 4 +- gdb/testsuite/gdb.base/call-sc.exp | 2 +- gdb/testsuite/gdb.base/call-signal-resume.exp | 4 +- gdb/testsuite/gdb.base/call-strs.exp | 2 +- gdb/testsuite/gdb.base/callexit.exp | 6 +- gdb/testsuite/gdb.base/callfuncs.exp | 6 +- gdb/testsuite/gdb.base/catch-fork-kill.exp | 2 +- .../gdb.base/catch-gdb-caused-signals.exp | 2 +- .../gdb.base/catch-signal-siginfo-cond.exp | 2 +- gdb/testsuite/gdb.base/catch-syscall.exp | 2 +- gdb/testsuite/gdb.base/charset.exp | 6 +- gdb/testsuite/gdb.base/checkpoint.exp | 16 +- gdb/testsuite/gdb.base/commands.exp | 138 +- gdb/testsuite/gdb.base/compare-sections.exp | 2 +- gdb/testsuite/gdb.base/completion.exp | 2 +- gdb/testsuite/gdb.base/comprdebug.exp | 4 +- gdb/testsuite/gdb.base/cond-eval-mode.exp | 2 +- gdb/testsuite/gdb.base/condbreak-call-false.exp | 2 +- gdb/testsuite/gdb.base/consecutive-step-over.exp | 2 +- gdb/testsuite/gdb.base/constvars.exp | 2 +- gdb/testsuite/gdb.base/coredump-filter.exp | 2 +- gdb/testsuite/gdb.base/cursal.exp | 2 +- gdb/testsuite/gdb.base/cvexpr.exp | 2 +- gdb/testsuite/gdb.base/debug-expr.exp | 2 +- gdb/testsuite/gdb.base/del.exp | 2 +- gdb/testsuite/gdb.base/detach.exp | 2 +- gdb/testsuite/gdb.base/dfp-test.exp | 18 +- gdb/testsuite/gdb.base/disabled-location.exp | 2 +- gdb/testsuite/gdb.base/disasm-end-cu.exp | 10 +- gdb/testsuite/gdb.base/display.exp | 4 +- gdb/testsuite/gdb.base/dmsym.exp | 6 +- .../gdb.base/double-prompt-target-event-error.exp | 2 +- gdb/testsuite/gdb.base/dprintf-bp-same-addr.exp | 2 +- gdb/testsuite/gdb.base/dprintf-detach.exp | 2 +- gdb/testsuite/gdb.base/dprintf-next.exp | 2 +- gdb/testsuite/gdb.base/dprintf-non-stop.exp | 4 +- gdb/testsuite/gdb.base/dprintf-pending.exp | 2 +- gdb/testsuite/gdb.base/dso2dso.exp | 4 +- gdb/testsuite/gdb.base/dtrace-probe.exp | 2 +- gdb/testsuite/gdb.base/dump.exp | 4 +- gdb/testsuite/gdb.base/echo.exp | 2 +- gdb/testsuite/gdb.base/ending-run.exp | 6 +- gdb/testsuite/gdb.base/enum_cond.exp | 2 +- gdb/testsuite/gdb.base/eval.exp | 6 +- gdb/testsuite/gdb.base/examine-backward.exp | 2 +- gdb/testsuite/gdb.base/exe-lock.exp | 2 +- gdb/testsuite/gdb.base/exec-invalid-sysroot.exp | 6 +- .../gdb.base/execl-update-breakpoints.exp | 8 +- gdb/testsuite/gdb.base/execution-termios.exp | 2 +- gdb/testsuite/gdb.base/expand-psymtabs.exp | 2 +- gdb/testsuite/gdb.base/exprs.exp | 2 +- gdb/testsuite/gdb.base/fileio.exp | 4 +- gdb/testsuite/gdb.base/find.exp | 2 +- gdb/testsuite/gdb.base/finish.exp | 2 +- gdb/testsuite/gdb.base/fixsection.exp | 4 +- gdb/testsuite/gdb.base/float128.exp | 12 +- gdb/testsuite/gdb.base/floatn.exp | 40 +- gdb/testsuite/gdb.base/foll-exec-mode.exp | 6 +- gdb/testsuite/gdb.base/foll-exec.exp | 12 +- gdb/testsuite/gdb.base/foll-vfork.exp | 4 +- gdb/testsuite/gdb.base/fork-running-state.exp | 2 +- gdb/testsuite/gdb.base/frame-args.exp | 2 +- gdb/testsuite/gdb.base/fullpath-expand.exp | 2 +- gdb/testsuite/gdb.base/func-ptr.exp | 2 +- gdb/testsuite/gdb.base/gcore-buffer-overflow.exp | 2 +- gdb/testsuite/gdb.base/gcore-relro-pie.exp | 2 +- gdb/testsuite/gdb.base/gcore.exp | 4 +- gdb/testsuite/gdb.base/gdb1056.exp | 2 +- gdb/testsuite/gdb.base/gdb1090.exp | 2 +- gdb/testsuite/gdb.base/gdb11531.exp | 2 +- gdb/testsuite/gdb.base/gdb1250.exp | 2 +- gdb/testsuite/gdb.base/gdb1555.exp | 2 +- .../gdb.base/global-var-nested-by-dso.exp | 4 +- gdb/testsuite/gdb.base/gnu-ifunc.exp | 6 +- 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.exp | 4 +- gdb/testsuite/gdb.base/hbreak-unmapped.exp | 4 +- gdb/testsuite/gdb.base/hook-stop.exp | 2 +- gdb/testsuite/gdb.base/huge.exp | 4 +- gdb/testsuite/gdb.base/infcall-input.exp | 4 +- gdb/testsuite/gdb.base/info-fun.exp | 6 +- gdb/testsuite/gdb.base/info-shared.exp | 4 +- gdb/testsuite/gdb.base/interrupt-noterm.exp | 2 +- gdb/testsuite/gdb.base/jit-simple.exp | 4 +- gdb/testsuite/gdb.base/jit-so.exp | 13 +- gdb/testsuite/gdb.base/jit.exp | 7 +- gdb/testsuite/gdb.base/jump.exp | 2 +- gdb/testsuite/gdb.base/label.exp | 2 +- gdb/testsuite/gdb.base/line-symtabs.exp | 2 +- gdb/testsuite/gdb.base/lineinc.exp | 2 +- gdb/testsuite/gdb.base/list.exp | 2 +- gdb/testsuite/gdb.base/logical.exp | 2 +- gdb/testsuite/gdb.base/longjmp.exp | 4 +- gdb/testsuite/gdb.base/macscp.exp | 6 +- gdb/testsuite/gdb.base/maint.exp | 29 +- gdb/testsuite/gdb.base/max-value-size.exp | 2 +- gdb/testsuite/gdb.base/miscexprs.exp | 2 +- gdb/testsuite/gdb.base/multi-forks.exp | 16 +- gdb/testsuite/gdb.base/new-ui-echo.exp | 2 +- gdb/testsuite/gdb.base/new-ui-pending-input.exp | 2 +- gdb/testsuite/gdb.base/new-ui.exp | 2 +- gdb/testsuite/gdb.base/nodebug.exp | 2 +- gdb/testsuite/gdb.base/nofield.exp | 2 +- gdb/testsuite/gdb.base/offsets.exp | 2 +- gdb/testsuite/gdb.base/overlays.exp | 24 +- .../gdb.base/paginate-after-ctrl-c-running.exp | 2 +- gdb/testsuite/gdb.base/paginate-bg-execution.exp | 4 +- gdb/testsuite/gdb.base/paginate-inferior-exit.exp | 2 +- gdb/testsuite/gdb.base/pending.exp | 10 +- gdb/testsuite/gdb.base/pointers.exp | 2 +- gdb/testsuite/gdb.base/pr11022.exp | 4 +- gdb/testsuite/gdb.base/printcmds.exp | 8 +- gdb/testsuite/gdb.base/prologue.exp | 2 +- gdb/testsuite/gdb.base/ptr-typedef.exp | 4 +- gdb/testsuite/gdb.base/ptype.exp | 2 +- gdb/testsuite/gdb.base/radix.exp | 10 +- gdb/testsuite/gdb.base/randomize.exp | 6 +- gdb/testsuite/gdb.base/range-stepping.exp | 2 +- gdb/testsuite/gdb.base/realname-expand.exp | 4 +- gdb/testsuite/gdb.base/relativedebug.exp | 2 +- gdb/testsuite/gdb.base/relocate.exp | 2 +- gdb/testsuite/gdb.base/remote.exp | 4 +- gdb/testsuite/gdb.base/reread.exp | 4 +- gdb/testsuite/gdb.base/return2.exp | 4 +- gdb/testsuite/gdb.base/savedregs.exp | 4 +- gdb/testsuite/gdb.base/sep.exp | 2 +- gdb/testsuite/gdb.base/sepdebug.exp | 14 +- gdb/testsuite/gdb.base/sepsymtab.exp | 2 +- gdb/testsuite/gdb.base/set-inferior-tty.exp | 2 +- gdb/testsuite/gdb.base/set-noassign.exp | 2 +- gdb/testsuite/gdb.base/setshow.exp | 2 +- gdb/testsuite/gdb.base/shlib-call.exp | 2 +- gdb/testsuite/gdb.base/shreloc.exp | 12 +- gdb/testsuite/gdb.base/sigaltstack.exp | 2 +- gdb/testsuite/gdb.base/sigbpt.exp | 4 +- gdb/testsuite/gdb.base/siginfo-addr.exp | 2 +- gdb/testsuite/gdb.base/siginfo-obj.exp | 10 +- gdb/testsuite/gdb.base/siginfo-thread.exp | 8 +- gdb/testsuite/gdb.base/signals.exp | 2 +- gdb/testsuite/gdb.base/signest.exp | 2 +- gdb/testsuite/gdb.base/signull.exp | 4 +- gdb/testsuite/gdb.base/sigrepeat.exp | 2 +- gdb/testsuite/gdb.base/skip.exp | 20 +- gdb/testsuite/gdb.base/so-impl-ld.exp | 2 +- gdb/testsuite/gdb.base/solib-corrupted.exp | 2 +- gdb/testsuite/gdb.base/solib-disc.exp | 2 +- gdb/testsuite/gdb.base/solib-display.exp | 14 +- gdb/testsuite/gdb.base/solib-overlap.exp | 6 +- gdb/testsuite/gdb.base/solib-search.exp | 6 +- gdb/testsuite/gdb.base/solib-symbol.exp | 4 +- gdb/testsuite/gdb.base/source-execution.exp | 2 +- gdb/testsuite/gdb.base/sss-bp-on-user-bp-2.exp | 2 +- gdb/testsuite/gdb.base/sss-bp-on-user-bp.exp | 2 +- gdb/testsuite/gdb.base/stack-checking.exp | 2 +- gdb/testsuite/gdb.base/stale-infcall.exp | 2 +- gdb/testsuite/gdb.base/step-break.exp | 2 +- gdb/testsuite/gdb.base/step-line.exp | 2 +- gdb/testsuite/gdb.base/step-over-exit.exp | 2 +- gdb/testsuite/gdb.base/step-test.exp | 2 +- gdb/testsuite/gdb.base/structs.exp | 4 +- gdb/testsuite/gdb.base/structs2.exp | 2 +- gdb/testsuite/gdb.base/sym-file.exp | 2 +- gdb/testsuite/gdb.base/symtab-search-order.exp | 4 +- gdb/testsuite/gdb.base/term.exp | 2 +- gdb/testsuite/gdb.base/testenv.exp | 22 +- gdb/testsuite/gdb.base/twice.exp | 2 +- gdb/testsuite/gdb.base/type-opaque.exp | 2 +- gdb/testsuite/gdb.base/unload.exp | 2 +- gdb/testsuite/gdb.base/until-nodebug.exp | 2 +- gdb/testsuite/gdb.base/until.exp | 2 +- gdb/testsuite/gdb.base/unwindonsignal.exp | 4 +- gdb/testsuite/gdb.base/varargs.exp | 2 +- gdb/testsuite/gdb.base/watch-cond.exp | 6 +- gdb/testsuite/gdb.base/watch-non-mem.exp | 2 +- gdb/testsuite/gdb.base/watch_thread_num.exp | 12 +- gdb/testsuite/gdb.base/watchpoint-cond-gone.exp | 4 +- gdb/testsuite/gdb.base/watchpoint-reuse-slot.exp | 2 +- gdb/testsuite/gdb.base/watchpoint-solib.exp | 2 +- gdb/testsuite/gdb.base/watchpoint.exp | 16 +- gdb/testsuite/gdb.base/watchpoints.exp | 14 +- gdb/testsuite/gdb.base/whatis.exp | 2 +- gdb/testsuite/gdb.base/wrong_frame_bt_full.exp | 2 +- gdb/testsuite/gdb.btrace/dlopen.exp | 2 +- gdb/testsuite/gdb.cell/arch.exp | 14 +- gdb/testsuite/gdb.cell/break.exp | 12 +- gdb/testsuite/gdb.cell/bt.exp | 12 +- gdb/testsuite/gdb.cell/core.exp | 6 +- gdb/testsuite/gdb.cell/data.exp | 8 +- gdb/testsuite/gdb.cell/dwarfaddr.exp | 4 +- gdb/testsuite/gdb.cell/ea-cache.exp | 10 +- gdb/testsuite/gdb.cell/ea-standalone.exp | 4 +- gdb/testsuite/gdb.cell/ea-test.exp | 4 +- gdb/testsuite/gdb.cell/f-regs.exp | 8 +- gdb/testsuite/gdb.cell/fork.exp | 8 +- gdb/testsuite/gdb.cell/gcore.exp | 8 +- gdb/testsuite/gdb.cell/mem-access.exp | 8 +- gdb/testsuite/gdb.cell/ptype.exp | 8 +- gdb/testsuite/gdb.cell/registers.exp | 8 +- gdb/testsuite/gdb.cell/sizeof.exp | 8 +- gdb/testsuite/gdb.cell/solib-symbol.exp | 8 +- gdb/testsuite/gdb.cell/solib.exp | 8 +- gdb/testsuite/gdb.compile/compile-tls.exp | 2 +- gdb/testsuite/gdb.compile/compile.exp | 16 +- gdb/testsuite/gdb.cp/arg-reference.exp | 2 +- gdb/testsuite/gdb.cp/baseenum.exp | 2 +- gdb/testsuite/gdb.cp/dispcxx.exp | 2 +- gdb/testsuite/gdb.cp/exception.exp | 4 +- gdb/testsuite/gdb.cp/gdb2384.exp | 2 +- gdb/testsuite/gdb.cp/gdb2495.exp | 28 +- gdb/testsuite/gdb.cp/local.exp | 4 +- gdb/testsuite/gdb.cp/mb-inline.exp | 2 +- gdb/testsuite/gdb.cp/mb-templates.exp | 2 +- gdb/testsuite/gdb.cp/method2.exp | 2 +- gdb/testsuite/gdb.cp/nextoverthrow.exp | 2 +- gdb/testsuite/gdb.cp/operator.exp | 2 +- gdb/testsuite/gdb.cp/ovldbreak.exp | 8 +- gdb/testsuite/gdb.cp/pr10687.exp | 2 +- gdb/testsuite/gdb.cp/pr10728.exp | 6 +- gdb/testsuite/gdb.cp/pr9167.exp | 2 +- gdb/testsuite/gdb.cp/scope-err.exp | 2 +- gdb/testsuite/gdb.cp/shadow.exp | 10 +- gdb/testsuite/gdb.cp/templates.exp | 2 +- gdb/testsuite/gdb.cp/virtfunc.exp | 2 +- gdb/testsuite/gdb.disasm/am33.exp | 2 +- gdb/testsuite/gdb.disasm/h8300s.exp | 2 +- gdb/testsuite/gdb.disasm/mn10300.exp | 2 +- gdb/testsuite/gdb.disasm/sh3.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-dir-file-name.exp | 2 +- gdb/testsuite/gdb.dwarf2/dw2-op-out-param.exp | 8 +- gdb/testsuite/gdb.dwarf2/dw2-reg-undefined.exp | 2 +- .../gdb.dwarf2/dw2-single-line-discriminators.exp | 2 +- gdb/testsuite/gdb.dwarf2/main-subprogram.c | 29 + gdb/testsuite/gdb.dwarf2/main-subprogram.exp | 73 + gdb/testsuite/gdb.fortran/complex.exp | 2 +- gdb/testsuite/gdb.fortran/library-module.exp | 4 +- gdb/testsuite/gdb.gdb/selftest.exp | 2 +- gdb/testsuite/gdb.gdb/xfullpath.exp | 2 +- gdb/testsuite/gdb.go/chan.exp | 4 +- gdb/testsuite/gdb.go/hello.exp | 6 +- gdb/testsuite/gdb.go/integers.exp | 18 +- gdb/testsuite/gdb.go/methods.exp | 4 +- gdb/testsuite/gdb.go/package.exp | 2 +- gdb/testsuite/gdb.guile/guile.exp | 2 +- gdb/testsuite/gdb.guile/scm-cmd.exp | 2 +- gdb/testsuite/gdb.guile/scm-frame-inline.exp | 2 +- gdb/testsuite/gdb.guile/scm-objfile.exp | 2 +- gdb/testsuite/gdb.guile/scm-parameter.exp | 8 +- gdb/testsuite/gdb.guile/scm-pretty-print.exp | 2 +- gdb/testsuite/gdb.guile/scm-progspace.exp | 6 +- gdb/testsuite/gdb.guile/scm-symbol.exp | 2 +- gdb/testsuite/gdb.guile/scm-type.exp | 2 +- gdb/testsuite/gdb.guile/scm-value.exp | 8 +- gdb/testsuite/gdb.linespec/keywords.exp | 2 +- gdb/testsuite/gdb.linespec/linespec.exp | 2 +- gdb/testsuite/gdb.linespec/ls-errs.exp | 2 +- gdb/testsuite/gdb.linespec/macro-relative.exp | 2 +- gdb/testsuite/gdb.linespec/thread.exp | 2 +- gdb/testsuite/gdb.mi/gdb701.exp | 2 +- gdb/testsuite/gdb.mi/gdb792.exp | 2 +- gdb/testsuite/gdb.mi/mi-breakpoint-changed.exp | 4 +- gdb/testsuite/gdb.mi/mi-dprintf-pending.exp | 4 +- gdb/testsuite/gdb.mi/mi-dprintf.exp | 2 +- gdb/testsuite/gdb.mi/mi-exit-code.exp | 2 +- gdb/testsuite/gdb.mi/mi-fullname-deleted.exp | 4 +- gdb/testsuite/gdb.mi/mi-logging.exp | 8 +- gdb/testsuite/gdb.mi/mi-pending.exp | 8 +- gdb/testsuite/gdb.mi/mi-solib.exp | 2 +- gdb/testsuite/gdb.mi/new-ui-mi-sync.exp | 4 +- gdb/testsuite/gdb.mi/pr11022.exp | 2 +- .../gdb.mi/user-selected-context-sync.exp | 6 +- gdb/testsuite/gdb.multi/dummy-frame-restore.exp | 4 +- gdb/testsuite/gdb.multi/multi-arch-exec.exp | 2 +- gdb/testsuite/gdb.multi/remove-inferiors.exp | 2 +- gdb/testsuite/gdb.multi/watchpoint-multi-exit.exp | 2 +- gdb/testsuite/gdb.objc/basicclass.exp | 8 +- gdb/testsuite/gdb.opencl/datatypes.exp | 6 +- gdb/testsuite/gdb.opt/clobbered-registers-O2.exp | 2 +- gdb/testsuite/gdb.opt/solib-intra-step.exp | 2 +- gdb/testsuite/gdb.pascal/floats.exp | 28 +- gdb/testsuite/gdb.pascal/hello.exp | 4 +- gdb/testsuite/gdb.pascal/integers.exp | 18 +- gdb/testsuite/gdb.perf/backtrace.exp | 2 +- gdb/testsuite/gdb.perf/single-step.exp | 2 +- gdb/testsuite/gdb.perf/skip-command.exp | 2 +- gdb/testsuite/gdb.perf/skip-prologue.exp | 11 +- gdb/testsuite/gdb.perf/solib.exp | 2 +- gdb/testsuite/gdb.python/lib-types.exp | 2 +- gdb/testsuite/gdb.python/py-as-string.exp | 2 +- gdb/testsuite/gdb.python/py-bad-printers.exp | 2 +- gdb/testsuite/gdb.python/py-block.exp | 24 +- gdb/testsuite/gdb.python/py-breakpoint.exp | 20 +- gdb/testsuite/gdb.python/py-cmd.exp | 4 +- gdb/testsuite/gdb.python/py-events.exp | 4 +- gdb/testsuite/gdb.python/py-evsignal.exp | 2 +- gdb/testsuite/gdb.python/py-evthreads.exp | 2 +- gdb/testsuite/gdb.python/py-finish-breakpoint.exp | 16 +- gdb/testsuite/gdb.python/py-finish-breakpoint2.exp | 2 +- gdb/testsuite/gdb.python/py-frame-inline.exp | 2 +- gdb/testsuite/gdb.python/py-frame.exp | 2 +- .../gdb.python/py-framefilter-invalidarg.exp | 4 +- gdb/testsuite/gdb.python/py-framefilter.exp | 6 +- gdb/testsuite/gdb.python/py-function.exp | 4 +- gdb/testsuite/gdb.python/py-inferior.exp | 2 +- gdb/testsuite/gdb.python/py-infthread.exp | 2 +- gdb/testsuite/gdb.python/py-linetable.exp | 4 +- gdb/testsuite/gdb.python/py-mi.exp | 2 +- gdb/testsuite/gdb.python/py-objfile.exp | 4 +- gdb/testsuite/gdb.python/py-parameter.exp | 82 +- gdb/testsuite/gdb.python/py-pp-maint.exp | 2 +- gdb/testsuite/gdb.python/py-pp-registration.exp | 2 +- gdb/testsuite/gdb.python/py-prettyprint.exp | 2 +- gdb/testsuite/gdb.python/py-recurse-unwind.exp | 2 +- gdb/testsuite/gdb.python/py-shared.exp | 6 +- gdb/testsuite/gdb.python/py-symbol.exp | 74 +- gdb/testsuite/gdb.python/py-symtab.exp | 40 +- gdb/testsuite/gdb.python/py-template.exp | 2 +- gdb/testsuite/gdb.python/py-type.exp | 60 +- gdb/testsuite/gdb.python/py-unwind-maint.exp | 2 +- gdb/testsuite/gdb.python/py-unwind.exp | 2 +- gdb/testsuite/gdb.python/py-value.exp | 52 +- gdb/testsuite/gdb.python/py-xmethods.exp | 70 +- gdb/testsuite/gdb.python/python.exp | 70 +- gdb/testsuite/gdb.reverse/break-precsave.exp | 4 +- gdb/testsuite/gdb.reverse/break-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/consecutive-precsave.exp | 6 +- gdb/testsuite/gdb.reverse/consecutive-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/finish-precsave.exp | 6 +- gdb/testsuite/gdb.reverse/finish-reverse-bkpt.exp | 4 +- gdb/testsuite/gdb.reverse/finish-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/fstatat-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/getresuid-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/i386-precsave.exp | 6 +- gdb/testsuite/gdb.reverse/i386-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/i386-sse-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/i387-stack-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/insn-reverse.exp | 4 +- .../gdb.reverse/machinestate-precsave.exp | 6 +- gdb/testsuite/gdb.reverse/machinestate.exp | 2 +- .../gdb.reverse/next-reverse-bkpt-over-sr.exp | 4 +- gdb/testsuite/gdb.reverse/pipe-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/readv-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/recvmsg-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/rerun-prec.exp | 2 +- gdb/testsuite/gdb.reverse/s390-mvcle.exp | 2 +- gdb/testsuite/gdb.reverse/sigall-precsave.exp | 6 +- gdb/testsuite/gdb.reverse/sigall-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/solib-precsave.exp | 12 +- gdb/testsuite/gdb.reverse/solib-reverse.exp | 8 +- gdb/testsuite/gdb.reverse/step-precsave.exp | 6 +- gdb/testsuite/gdb.reverse/step-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/time-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/until-precsave.exp | 6 +- gdb/testsuite/gdb.reverse/until-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/waitpid-reverse.exp | 2 +- gdb/testsuite/gdb.reverse/watch-precsave.exp | 6 +- gdb/testsuite/gdb.reverse/watch-reverse.exp | 2 +- gdb/testsuite/gdb.server/solib-list.exp | 2 +- gdb/testsuite/gdb.stabs/gdb11479.exp | 6 +- gdb/testsuite/gdb.stabs/weird.exp | 12 +- gdb/testsuite/gdb.threads/fork-child-threads.exp | 2 +- gdb/testsuite/gdb.threads/fork-plus-threads.exp | 2 +- gdb/testsuite/gdb.threads/fork-thread-pending.exp | 4 +- .../forking-threads-plus-breakpoint.exp | 4 +- gdb/testsuite/gdb.threads/hand-call-in-threads.exp | 4 +- .../gdb.threads/interrupted-hand-call.exp | 4 +- gdb/testsuite/gdb.threads/leader-exit.exp | 2 +- gdb/testsuite/gdb.threads/linux-dp.exp | 2 +- .../gdb.threads/local-watch-wrong-thread.exp | 2 +- .../next-while-other-thread-longjmps.exp | 2 +- gdb/testsuite/gdb.threads/non-ldr-exit.exp | 2 +- gdb/testsuite/gdb.threads/pending-step.exp | 2 +- gdb/testsuite/gdb.threads/print-threads.exp | 8 +- .../gdb.threads/process-dies-while-detaching.exp | 6 +- .../gdb.threads/process-dies-while-handling-bp.exp | 2 +- gdb/testsuite/gdb.threads/pthreads.exp | 8 +- gdb/testsuite/gdb.threads/queue-signal.exp | 2 +- gdb/testsuite/gdb.threads/reconnect-signal.exp | 4 +- .../gdb.threads/signal-command-handle-nopass.exp | 2 +- .../signal-command-multiple-signals-pending.exp | 2 +- .../gdb.threads/signal-delivered-right-thread.exp | 2 +- gdb/testsuite/gdb.threads/signal-sigtrap.exp | 2 +- gdb/testsuite/gdb.threads/sigthread.exp | 2 +- gdb/testsuite/gdb.threads/staticthreads.exp | 4 +- gdb/testsuite/gdb.threads/stepi-random-signal.exp | 2 +- .../gdb.threads/thread-unwindonsignal.exp | 4 +- gdb/testsuite/gdb.threads/thread_check.exp | 2 +- gdb/testsuite/gdb.threads/thread_events.exp | 2 +- gdb/testsuite/gdb.threads/tid-reuse.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.exp | 2 +- gdb/testsuite/gdb.threads/tls.exp | 8 +- gdb/testsuite/gdb.threads/watchpoint-fork.exp | 4 +- gdb/testsuite/gdb.threads/wp-replication.exp | 6 +- gdb/testsuite/gdb.trace/actions-changed.exp | 4 +- gdb/testsuite/gdb.trace/actions.exp | 8 +- gdb/testsuite/gdb.trace/ax.exp | 2 +- gdb/testsuite/gdb.trace/backtrace.exp | 10 +- gdb/testsuite/gdb.trace/change-loc.exp | 10 +- gdb/testsuite/gdb.trace/collection.exp | 2 +- gdb/testsuite/gdb.trace/deltrace.exp | 4 +- gdb/testsuite/gdb.trace/disconnected-tracing.exp | 4 +- gdb/testsuite/gdb.trace/entry-values.exp | 6 +- gdb/testsuite/gdb.trace/ftrace-lock.exp | 10 +- gdb/testsuite/gdb.trace/ftrace.exp | 8 +- gdb/testsuite/gdb.trace/infotrace.exp | 6 +- .../gdb.trace/mi-trace-frame-collected.exp | 4 +- gdb/testsuite/gdb.trace/mi-trace-unavailable.exp | 4 +- gdb/testsuite/gdb.trace/mi-traceframe-changed.exp | 4 +- gdb/testsuite/gdb.trace/mi-tracepoint-changed.exp | 10 +- gdb/testsuite/gdb.trace/mi-tsv-changed.exp | 12 +- gdb/testsuite/gdb.trace/no-attach-trace.exp | 4 +- gdb/testsuite/gdb.trace/packetlen.exp | 4 +- gdb/testsuite/gdb.trace/passc-dyn.exp | 4 +- gdb/testsuite/gdb.trace/passcount.exp | 4 +- gdb/testsuite/gdb.trace/pending.exp | 20 +- gdb/testsuite/gdb.trace/pr16508.exp | 2 +- gdb/testsuite/gdb.trace/qtro.exp | 4 +- gdb/testsuite/gdb.trace/range-stepping.exp | 8 +- gdb/testsuite/gdb.trace/read-memory.exp | 4 +- gdb/testsuite/gdb.trace/report.exp | 10 +- gdb/testsuite/gdb.trace/save-trace.exp | 2 +- gdb/testsuite/gdb.trace/signal.exp | 4 +- gdb/testsuite/gdb.trace/stap-trace.exp | 2 +- gdb/testsuite/gdb.trace/status-stop.exp | 8 +- gdb/testsuite/gdb.trace/strace.exp | 14 +- gdb/testsuite/gdb.trace/tfile.exp | 2 +- gdb/testsuite/gdb.trace/tfind.exp | 6 +- gdb/testsuite/gdb.trace/trace-break.exp | 20 +- gdb/testsuite/gdb.trace/trace-condition.exp | 10 +- gdb/testsuite/gdb.trace/trace-enable-disable.exp | 8 +- gdb/testsuite/gdb.trace/trace-mt.exp | 14 +- gdb/testsuite/gdb.trace/tracecmd.exp | 10 +- gdb/testsuite/gdb.trace/tracefile-pseudo-reg.exp | 2 +- gdb/testsuite/gdb.trace/tspeed.exp | 4 +- gdb/testsuite/gdb.trace/tstatus.exp | 2 +- gdb/testsuite/gdb.trace/tsv.exp | 20 +- gdb/testsuite/gdb.trace/unavailable.exp | 2 +- gdb/testsuite/gdb.trace/while-dyn.exp | 2 +- gdb/testsuite/gdb.trace/while-stepping.exp | 4 +- gdb/testsuite/lib/gdb-guile.exp | 2 +- gdb/testsuite/lib/gdb.exp | 10 +- gdb/testsuite/lib/mi-support.exp | 8 +- gdb/testsuite/lib/pascal.exp | 2 +- gdb/testsuite/lib/perftest.exp | 2 +- gdb/testsuite/lib/prelink-support.exp | 2 +- gdb/testsuite/lib/selftest-support.exp | 2 +- gdb/tracefile-tfile.c | 2 +- gdb/tracefile.c | 4 +- gdb/tracepoint.c | 88 +- gdb/tracepoint.h | 2 +- gdb/trad-frame.c | 21 +- gdb/trad-frame.h | 1 + gdb/tui/tui-out.c | 4 +- gdb/ui-out.c | 609 ++-- gdb/ui-out.h | 36 +- gdb/valops.c | 1 - gdb/value.c | 63 +- gdb/value.h | 2 +- gdb/vax-nbsd-tdep.c | 2 +- gdb/vax-obsd-tdep.c | 178 - gold/ChangeLog | 178 + gold/Makefile.in | 4 +- gold/aarch64.cc | 2 + gold/arm.cc | 2 + gold/layout.cc | 42 +- gold/layout.h | 2 +- gold/object.cc | 5 +- gold/options.cc | 63 +- gold/options.h | 54 +- gold/output.cc | 65 +- gold/output.h | 4 +- gold/powerpc.cc | 196 +- gold/script-sections.cc | 142 +- gold/target.h | 12 +- gold/testsuite/Makefile.am | 58 + gold/testsuite/Makefile.in | 92 +- gold/testsuite/file_in_many_sections.c | 34 + gold/testsuite/file_in_many_sections_test.sh | 31 + gold/testsuite/pr20717.c | 3 + gold/testsuite/pr20717.sh | 40 + gold/testsuite/pr20717.t | 5 + gold/testsuite/script_test_13.c | 2 + gold/testsuite/script_test_13.sh | 41 + gold/testsuite/script_test_13.t | 7 + gold/testsuite/script_test_15.c | 10 + gold/testsuite/script_test_15a.sh | 41 + gold/testsuite/script_test_15a.t | 40 + gold/testsuite/script_test_15b.sh | 42 + gold/testsuite/script_test_15b.t | 49 + gold/testsuite/script_test_15c.sh | 42 + gold/testsuite/script_test_15c.t | 41 + gold/testsuite/script_test_2.cc | 18 +- include/ChangeLog | 39 + include/bfdlink.h | 3 + include/elf/mips.h | 2 +- include/opcode/aarch64.h | 6 +- include/opcode/arc.h | 5 + include/opcode/arm.h | 4 + include/opcode/mips.h | 6 +- ld/ChangeLog | 232 + ld/Makefile.am | 10 + ld/Makefile.in | 12 + ld/configure | 2 +- ld/configure.tgt | 7 +- ld/emulparams/arclinux_prof.sh | 1 - ld/emulparams/armelf_fuchsia.sh | 32 + ld/emulparams/armelfb_fuchsia.sh | 2 + ld/emultempl/elf32.em | 6 +- ld/emultempl/ppc64elf.em | 1 - ld/ld.texinfo | 12 + ld/ldctor.c | 15 +- ld/ldexp.c | 14 +- ld/ldlex.h | 1 + ld/ldlex.l | 10 +- ld/ldmain.c | 2 +- ld/lexsup.c | 6 + ld/pe-dll.c | 11 +- ld/scripttempl/pe.sc | 6 +- ld/testsuite/ld-aarch64/aarch64-elf.exp | 271 +- ld/testsuite/ld-aarch64/erratum843419.d | 92 +- ld/testsuite/ld-aarch64/farcall-b-defsym.d | 4 +- ld/testsuite/ld-aarch64/farcall-b-plt.d | 8 +- ld/testsuite/ld-aarch64/farcall-b.d | 6 +- ld/testsuite/ld-aarch64/farcall-bl-defsym.d | 4 +- ld/testsuite/ld-aarch64/farcall-bl-plt.d | 8 +- ld/testsuite/ld-aarch64/farcall-bl.d | 6 +- ld/testsuite/ld-aarch64/ifunc-15.d | 4 +- ld/testsuite/ld-aarch64/ifunc-16.d | 4 +- ld/testsuite/ld-aarch64/ifunc-5a-local.d | 2 +- ld/testsuite/ld-aarch64/ifunc-5a.d | 2 +- ld/testsuite/ld-aarch64/ifunc-5b-local.d | 2 +- ld/testsuite/ld-aarch64/ifunc-5b.d | 4 +- ld/testsuite/ld-aarch64/ifunc-5r-local.d | 6 +- ld/testsuite/ld-aarch64/ifunc-6a.d | 2 +- ld/testsuite/ld-aarch64/ifunc-6b.d | 4 +- ld/testsuite/ld-aarch64/ifunc-7a.d | 2 +- ld/testsuite/ld-aarch64/ifunc-7b.d | 2 +- ld/testsuite/ld-aarch64/ifunc-8.d | 2 +- ld/testsuite/ld-aarch64/limit-b.d | 4 +- ld/testsuite/ld-aarch64/limit-bl.d | 4 +- ld/testsuite/ld-aarch64/relocs-ilp32.ld | 19 + ld/testsuite/ld-aarch64/tls-relax-gd-ie-ilp32.d | 10 + .../ld-aarch64/tls-relax-ld-le-small-ilp32.d | 14 + .../ld-aarch64/tls-relax-ld-le-tiny-ilp32.d | 13 + ld/testsuite/ld-cdtest/cdtest-foo.cc | 2 +- ld/testsuite/ld-elf/flags1.d | 1 - ld/testsuite/ld-elf/indirect.exp | 3 + ld/testsuite/ld-elf/indirect1b.c | 3 + ld/testsuite/ld-elf/indirect2.c | 3 + ld/testsuite/ld-elf/indirect3b.c | 3 + ld/testsuite/ld-elf/indirect4b.c | 6 + ld/testsuite/ld-elf/loadaddr1.d | 2 +- ld/testsuite/ld-elf/nobits-1.d | 2 - ld/testsuite/ld-elf/note-1.d | 2 - ld/testsuite/ld-elf/note-2.d | 2 - ld/testsuite/ld-elf/pr18718.c | 3 + ld/testsuite/ld-elf/pr18720.rd | 4 + ld/testsuite/ld-elf/pr18720b.c | 5 + ld/testsuite/ld-elf/pr19553c.c | 3 + ld/testsuite/ld-elf/shared.exp | 4 +- ld/testsuite/ld-elfvers/vers.exp | 32 +- ld/testsuite/ld-elfvers/vers.h | 7 + ld/testsuite/ld-elfvers/vers1.c | 16 +- ld/testsuite/ld-elfvers/vers1.sym | 8 +- ld/testsuite/ld-elfvers/vers15.c | 6 +- ld/testsuite/ld-elfvers/vers15.sym | 6 +- ld/testsuite/ld-elfvers/vers18.c | 8 +- ld/testsuite/ld-elfvers/vers18.sym | 8 +- ld/testsuite/ld-elfvers/vers21.c | 7 +- ld/testsuite/ld-elfvers/vers21.sym | 6 +- ld/testsuite/ld-elfvers/vers22a.c | 2 +- ld/testsuite/ld-elfvers/vers22a.sym | 2 +- ld/testsuite/ld-elfvers/vers23a.c | 2 +- ld/testsuite/ld-elfvers/vers23a.sym | 2 +- ld/testsuite/ld-elfvers/vers27d.sym | 2 +- ld/testsuite/ld-elfvers/vers27d1.c | 2 +- ld/testsuite/ld-elfvers/vers4.c | 2 +- ld/testsuite/ld-elfvers/vers4.sym | 2 +- ld/testsuite/ld-elfvers/vers4a.sym | 2 +- ld/testsuite/ld-elfvers/vers5.c | 8 +- ld/testsuite/ld-elfvers/vers6.c | 8 +- ld/testsuite/ld-elfvers/vers6.sym | 8 +- ld/testsuite/ld-elfvers/vers7a.c | 4 +- ld/testsuite/ld-elfvers/vers7a.sym | 4 +- ld/testsuite/ld-elfvers/vers9.c | 8 +- ld/testsuite/ld-elfvers/vers9.sym | 8 +- ld/testsuite/ld-elfweak/elfweak.exp | 18 +- ld/testsuite/ld-elfweak/strong.sym | 2 +- ld/testsuite/ld-elfweak/strongcomm.sym | 4 +- ld/testsuite/ld-elfweak/strongdata.sym | 4 +- ld/testsuite/ld-ifunc/pr16467b.c | 3 + ld/testsuite/ld-plugin/lto.exp | 12 +- ld/testsuite/ld-plugin/plugin-13.d | 2 +- ld/testsuite/ld-plugin/plugin-14.d | 2 +- ld/testsuite/ld-plugin/plugin-15.d | 2 +- ld/testsuite/ld-plugin/plugin-16.d | 2 +- ld/testsuite/ld-plugin/plugin-20.d | 2 +- ld/testsuite/ld-plugin/plugin-21.d | 2 +- ld/testsuite/ld-plugin/plugin-22.d | 2 +- ld/testsuite/ld-plugin/plugin-23.d | 2 +- ld/testsuite/ld-plugin/plugin-6.d | 2 +- ld/testsuite/ld-plugin/plugin-7.d | 2 +- ld/testsuite/ld-plugin/plugin-8.d | 2 +- ld/testsuite/ld-plugin/plugin.exp | 7 + ld/testsuite/ld-plugin/pr12760b.c | 15 +- ld/testsuite/ld-plugin/pr16746a.c | 8 +- ld/testsuite/ld-plugin/pr16746b.c | 6 + ld/testsuite/ld-powerpc/dotsym1.d | 15 + ld/testsuite/ld-powerpc/dotsym2.d | 16 + ld/testsuite/ld-powerpc/dotsym3.d | 16 + ld/testsuite/ld-powerpc/dotsym4.d | 17 + ld/testsuite/ld-powerpc/dotsymref.s | 4 + ld/testsuite/ld-powerpc/nodotsym.s | 11 + ld/testsuite/ld-powerpc/powerpc.exp | 8 + ld/testsuite/ld-powerpc/tocopt7.d | 54 + ld/testsuite/ld-powerpc/tocopt7.out | 26 + ld/testsuite/ld-powerpc/tocopt7.s | 216 + ld/testsuite/ld-powerpc/tocopt8.d | 46 + ld/testsuite/ld-powerpc/tocopt8.s | 188 + ld/testsuite/ld-powerpc/vle-multiseg-5.d | 6 +- ld/testsuite/ld-scripts/phdrs.exp | 8 - ld/testsuite/ld-scripts/phdrs3a.d | 2 +- ld/testsuite/ld-scripts/pr14962-2.d | 2 +- ld/testsuite/ld-scripts/pr14962.d | 2 +- ld/testsuite/ld-sparc/sparc.exp | 3 + ld/testsuite/ld-sparc/wdispcall.dd | 18 + ld/testsuite/ld-sparc/wdispcall.s | 14 + libiberty/ChangeLog | 22 + libiberty/argv.c | 19 + libiberty/configure | 3 +- libiberty/cp-demangle.c | 61 +- libiberty/testsuite/demangle-expected | 29 + opcodes/ChangeLog | 180 + opcodes/aarch64-asm-2.c | 4 +- opcodes/aarch64-asm.c | 16 +- opcodes/aarch64-dis-2.c | 4 +- opcodes/aarch64-opc-2.c | 4 +- opcodes/aarch64-opc.c | 17 +- opcodes/aarch64-tbl.h | 12 +- opcodes/arc-dis.c | 99 +- opcodes/arc-opc.c | 83 +- opcodes/arc-tbl.h | 4472 ++++++++++---------- opcodes/arm-dis.c | 36 +- opcodes/i386-dis.c | 15 +- opcodes/mips-dis.c | 143 +- opcodes/mips16-opc.c | 18 +- opcodes/ppc-dis.c | 2 +- opcodes/rl78-dis.c | 32 +- opcodes/rx-dis.c | 32 +- sim/ChangeLog | 5 + sim/MAINTAINERS | 1 + sim/aarch64/ChangeLog | 16 + sim/aarch64/simulator.c | 69 +- sim/testsuite/sim/aarch64/ChangeLog | 9 + sim/testsuite/sim/aarch64/adds.s | 81 + sim/testsuite/sim/aarch64/fstur.s | 136 + sim/testsuite/sim/aarch64/tbnz.s | 55 + sim/testsuite/sim/aarch64/testutils.inc | 16 +- zlib/configure | 1 - 1021 files changed, 13526 insertions(+), 7076 deletions(-) create mode 100644 binutils/testsuite/binutils-all/mips/mips-ase-1.d create mode 100644 binutils/testsuite/binutils-all/mips/mips-ase-1.s create mode 100644 binutils/testsuite/binutils-all/mips/mips-ase-2.d create mode 100644 binutils/testsuite/binutils-all/mips/mips-ase-2.s create mode 100644 binutils/testsuite/binutils-all/mips/mips-ase-3.d create mode 100644 binutils/testsuite/binutils-all/mips/mips16-extend-noinsn.d create mode 100644 binutils/testsuite/binutils-all/mips/mips16-extend-noinsn.s create mode 100644 binutils/testsuite/binutils-all/mips/mips16-pcrel.d create mode 100644 binutils/testsuite/binutils-all/mips/mips16-pcrel.s create mode 100644 gas/testsuite/gas/arc/cpu-em-err.s create mode 100644 gas/testsuite/gas/arc/cpu-em4-err.s create mode 100644 gas/testsuite/gas/arc/cpu-fpuda-err.s create mode 100644 gas/testsuite/gas/arc/cpu-hs-err.s create mode 100644 gas/testsuite/gas/arc/cpu-quarkse-err.s create mode 100644 gas/testsuite/gas/arc/lpcount-err.s create mode 100644 gas/testsuite/gas/arc/textauxregister-1.d create mode 100644 gas/testsuite/gas/arc/textauxregister-1.s create mode 100644 gas/testsuite/gas/arc/textcondcode-err.s create mode 100644 gas/testsuite/gas/arc/textcoreregister-err.s create mode 100644 gas/testsuite/gas/arm/armv8_3-a-fp-bad.d create mode 100644 gas/testsuite/gas/arm/armv8_3-a-fp-bad.l create mode 100644 gas/testsuite/gas/arm/armv8_3-a-fp-bad.s create mode 100644 gas/testsuite/gas/arm/armv8_3-a-fp.d create mode 100644 gas/testsuite/gas/arm/armv8_3-a-fp.s create mode 100644 gas/testsuite/gas/arm/armv8_3-a-simd-bad.d create mode 100644 gas/testsuite/gas/arm/armv8_3-a-simd-bad.l create mode 100644 gas/testsuite/gas/arm/armv8_3-a-simd-bad.s create mode 100644 gas/testsuite/gas/arm/armv8_3-a-simd.d create mode 100644 gas/testsuite/gas/arm/armv8_3-a-simd.s create mode 100644 gas/testsuite/gas/i386/xop32reg.d create mode 100644 gas/testsuite/gas/i386/xop32reg.s create mode 100644 gas/testsuite/gas/mips/mips16-branch-unextended-1.d create mode 100644 gas/testsuite/gas/mips/mips16-branch-unextended-1.s create mode 100644 gas/testsuite/gas/mips/mips16-branch-unextended-2.d create mode 100644 gas/testsuite/gas/mips/mips16-branch-unextended-2.s create mode 100644 gas/testsuite/gas/mips/mips16-branch-unextended.l create mode 100644 gas/testsuite/gas/mips/mips16-extend.d create mode 100644 gas/testsuite/gas/mips/mips16-extend.s create mode 100644 gas/testsuite/gas/mips/mips16-sprel-swap.d create mode 100644 gas/testsuite/gas/mips/mips16-sprel-swap.s create mode 100644 gdb/disable-implicit-rules.mk create mode 100644 gdb/testsuite/gdb.base/all-architectures-0.exp create mode 100644 gdb/testsuite/gdb.base/all-architectures-1.exp create mode 100644 gdb/testsuite/gdb.base/all-architectures-2.exp create mode 100644 gdb/testsuite/gdb.base/all-architectures-3.exp create mode 100644 gdb/testsuite/gdb.base/all-architectures-4.exp create mode 100644 gdb/testsuite/gdb.base/all-architectures-5.exp create mode 100644 gdb/testsuite/gdb.base/all-architectures-6.exp create mode 100644 gdb/testsuite/gdb.base/all-architectures-7.exp create mode 100644 gdb/testsuite/gdb.base/all-architectures.exp.in create mode 100644 gdb/testsuite/gdb.dwarf2/main-subprogram.c create mode 100644 gdb/testsuite/gdb.dwarf2/main-subprogram.exp delete mode 100644 gdb/vax-obsd-tdep.c create mode 100644 gold/testsuite/file_in_many_sections.c create mode 100755 gold/testsuite/file_in_many_sections_test.sh create mode 100644 gold/testsuite/pr20717.c create mode 100755 gold/testsuite/pr20717.sh create mode 100644 gold/testsuite/pr20717.t create mode 100644 gold/testsuite/script_test_13.c create mode 100755 gold/testsuite/script_test_13.sh create mode 100644 gold/testsuite/script_test_13.t create mode 100644 gold/testsuite/script_test_15.c create mode 100755 gold/testsuite/script_test_15a.sh create mode 100644 gold/testsuite/script_test_15a.t create mode 100755 gold/testsuite/script_test_15b.sh create mode 100644 gold/testsuite/script_test_15b.t create mode 100755 gold/testsuite/script_test_15c.sh create mode 100644 gold/testsuite/script_test_15c.t create mode 100644 ld/emulparams/armelf_fuchsia.sh create mode 100644 ld/emulparams/armelfb_fuchsia.sh create mode 100644 ld/testsuite/ld-aarch64/relocs-ilp32.ld create mode 100644 ld/testsuite/ld-aarch64/tls-relax-gd-ie-ilp32.d create mode 100644 ld/testsuite/ld-aarch64/tls-relax-ld-le-small-ilp32.d create mode 100644 ld/testsuite/ld-aarch64/tls-relax-ld-le-tiny-ilp32.d create mode 100644 ld/testsuite/ld-elf/pr18720.rd create mode 100644 ld/testsuite/ld-powerpc/dotsym1.d create mode 100644 ld/testsuite/ld-powerpc/dotsym2.d create mode 100644 ld/testsuite/ld-powerpc/dotsym3.d create mode 100644 ld/testsuite/ld-powerpc/dotsym4.d create mode 100644 ld/testsuite/ld-powerpc/dotsymref.s create mode 100644 ld/testsuite/ld-powerpc/nodotsym.s create mode 100644 ld/testsuite/ld-powerpc/tocopt7.d create mode 100644 ld/testsuite/ld-powerpc/tocopt7.out create mode 100644 ld/testsuite/ld-powerpc/tocopt7.s create mode 100644 ld/testsuite/ld-powerpc/tocopt8.d create mode 100644 ld/testsuite/ld-powerpc/tocopt8.s create mode 100644 ld/testsuite/ld-sparc/wdispcall.dd create mode 100644 ld/testsuite/ld-sparc/wdispcall.s create mode 100644 sim/testsuite/sim/aarch64/adds.s create mode 100644 sim/testsuite/sim/aarch64/fstur.s create mode 100644 sim/testsuite/sim/aarch64/tbnz.s First 500 lines of diff: diff --git a/ChangeLog b/ChangeLog index 84ad164..1852129 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2016-12-08 Alan Modra + + * configure: Regenerate. + +2016-12-02 Josh Conner + + * configure.ac: Add fuchsia to targets that use ELF. + * configure: Regenerated. + 2016-11-07 Doug Evans * config.sub: Sync with upstream version 2016-11-03. diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 0d79764..8c09c2c 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,216 @@ +2016-12-16 fincs + + * elflink.c (bfd_elf_gc_mark_dynamic_ref_symbol): Add handling + for info->gc_keep_exported. + (bfd_elf_gc_sections): Likewise. + +2016-12-15 Alan Modra + + PR ld/20968 + PR ld/20908 + * elflink.c (bfd_elf_final_link): Revert 2016-12-02 change. Move + reloc counting code later after ELF flavour test. + +2016-12-14 Maciej W. Rozycki + + * bfd-in.h (elf_internal_abiflags_v0): New struct declaration. + (bfd_mips_elf_get_abiflags): New prototype. + * elfxx-mips.c (bfd_mips_elf_get_abiflags): New function. + * bfd-in2.h: Regenerate. + +2016-12-14 Yury Norov + + * bfd/elfnn-aarch64.c: fix TLS relaxations for ilp32 where + TCB_SIZE is used. + +2016-12-13 Alan Modra + + * elf64-hppa.c (elf64_hppa_modify_segment_map): Don't add PHDR + for objcopy/strip or when a ld script specifies PHDRS. + +2016-12-13 Alan Modra + + * elf32-rx.c (elf32_rx_modify_program_headers): Don't adjust + segments that include the ELF file header or program headers. + +2016-12-08 Alan Modra + + PR ld/20932 + * elflink.c (bfd_elf_record_link_assignment): Handle warning symbols. + +2016-12-07 Nick Clifton + + PR ld/20932 + * elflink.c (bfd_elf_record_link_assignment): Replace call to + abort with an error message and error return value. + +2016-12-06 Nick Clifton + + PR binutils/20931 + * elf.c (copy_special_section_fields): Check for an invalid + sh_link field before attempting to follow it. + + PR binutils/20929 + * aoutx.h (squirt_out_relocs): Check for relocs without an + associated symbol. + +2016-12-06 Alan Modra + + * elf64-ppc.c (ok_lo_toc_insn): Add r_type param. Recognize + lq,lfq,lxv,lxsd,lxssp,lfdp,stq,stfq,stxv,stxsd,stxssp,stfdp. + Don't match lmd and stmd. + +2016-12-05 Alyssa Milburn + + * elfxx-sparc.c: Do not stop processing relocations after + partially relaxing a call with WDISP30. + +2016-12-05 Nick Clifton + + PR binutils/20905 + * peicode.h (pe_ILF_object_p): Use strnlen to avoid running over + the end of the string buffer. + + PR binutils/20907 + * peicode.h (pe_ILF_build_a_bfd): Replace abort with error return. + + PR binutils/20921 + * aoutx.h (squirt_out_relocs): Check for and report any relocs + that could not be recognised. + + PR binutils/20922 + * elf.c (find_link): Check for null headers before attempting to + match them. + + PR ld/20925 + * aoutx.h (aout_link_add_symbols): Replace BFD_ASSERT with return + FALSE. + + PR ld/20924 + (aout_link_add_symbols): Fix off by one error checking for + overflow of string offset. + +2016-12-03 Alan Modra + + * elf64-ppc.c (struct ppc_link_hash_entry): Delete "was_undefined". + (struct ppc_link_hash_table): Delete "twiddled_syms". Add + "need_func_desc_adj". + (lookup_fdh): Link direct fdh sym via oh field and set flags. + (make_fdh): Make strong and weak undefined function descriptor + symbols. + (ppc64_elf_merge_symbol): New function. + (elf_backend_merge_symbol): Define. + (ppc64_elf_archive_symbol_lookup): Don't test undefweak for fake + function descriptors. + (add_symbol_adjust): Don't twiddle symbols to undefweak. + Propagate more ref flags to function descriptor symbol. Make + some function descriptor symbols dynamic. + (ppc64_elf_before_check_relocs): Only run add_symbol_adjust for + ELFv1. Set need_func_desc_adj. Don't fix undefs list. + (ppc64_elf_check_relocs): Set non_ir_ref for descriptors. + Don't call lookup_fdh here. + (ppc64_elf_gc_sections): New function. + (bfd_elf64_bfd_gc_sections): Define. + (ppc64_elf_gc_mark_hook): Mark descriptor. + (func_desc_adjust): Don't make fake function descriptor syms strong + here. Exit earlier on non-dotsyms. Take note of elf.dynamic + flag when deciding whether a dynamic function descriptor might + be needed. Transfer elf.dynamic and set elf.needs_plt. Move + plt regardless of visibility. Make descriptor dynamic if + entry sym is dynamic, not for other cases. + (ppc64_elf_func_desc_adjust): Don't run func_desc_adjust if + already done. + (ppc64_elf_edit_opd): Use oh field rather than lookup_fdh. + (ppc64_elf_size_stubs): Likewise. + (ppc_build_one_stub): Don't clear was_undefined. Only set sym + undefweak if stub symbol is defined. + (undo_symbol_twiddle, ppc64_elf_restore_symbols): Delete. + * elf64-ppc.h (ppc64_elf_restore_symbols): Don't declare. + +2016-12-03 Alan Modra + + * elf64-ppc.c (ppc64_elf_hide_symbol): Access hash table as + elf_link_hash_table rather than ppc_link_hash_table. + +2016-12-03 Alan Modra + + * elf64-ppc.c (add_symbol_adjust): Delete dead code. + +2016-12-03 Alan Modra + + * elf64-ppc.c (add_symbol_adjust): Correct order of tests for + warning and indirect symbols. + +2016-12-03 Alan Modra + + * elf64-ppc.c (ppc64_elf_copy_indirect_symbol): Don't copy dynamic + flags when direct symbol is versioned_hidden. + +2016-12-02 Nick Clifton + + PR ld/20908 + * elflink.c (bfd_elf_final_link): Check for ELF flavour binaries + when following indirect links. + + PR ld/20909 + * aoutx.h (aout_link_add_symbols): Fix off-by-one error in check + for an illegal string offset. + +2016-12-02 Gary Benson + + * elf.c (_bfd_elf_make_section_from_shdr): Pass offset to + elf_parse_notes. + +2016-12-02 Josh Conner + + * config.bfd: Add support for fuchsia (OS). + +2016-12-01 Yury Norov + + PR ld/20868 + * elfnn-aarch64.c (elfNN_aarch64_tls_relax): Use 32-bit accesses + to the GOT when operating in 32-bit mode. + +2016-12-01 Ma Jiang + + PR ld/16720 + * elfxx-mips.c (mips_elf_calculate_relocation): Remove overflow + test for HI16 relocs. + +2016-12-01 Nick Clifton + + PR binutils/20891 + * aoutx.h (find_nearest_line): Handle the case where the main file + name and the directory name are both empty. + + PR binutils/20892 + * aoutx.h (find_nearest_line): Handle the case where the function + name is empty. + +2016-11-30 Alan Modra + + * elf.c (get_program_header_size): Revert accidental change. + +2016-11-30 Alan Modra + + PR ld/20886 + * elf64-ppc.c (ppc64_elf_size_stubs): Make rawsize max size seen + on any pass past STUB_SHRINK_ITER. + +2016-11-28 H.J. Lu + + * elflink.c (_bfd_elf_fix_symbol_flags): Hide hidden versioned + symbol in executable. + (elf_link_output_extsym): Don't change bind from global to + local when linking executable. + +2016-11-28 Nick Clifton + + PR ld/20815 + * elf.c (phdr_sorter): Delete. + (assign_file_positions_except_relocs): Do not sort program + headers. + 2016-11-25 Jon Turney PR ld/20193 diff --git a/bfd/aoutx.h b/bfd/aoutx.h index 089fe57..c64f288 100644 --- a/bfd/aoutx.h +++ b/bfd/aoutx.h @@ -1955,6 +1955,7 @@ NAME (aout, swap_std_reloc_out) (bfd *abfd, PUT_WORD (abfd, g->address, natptr->r_address); + BFD_ASSERT (g->howto != NULL); r_length = g->howto->size ; /* Size as a power of two. */ r_pcrel = (int) g->howto->pc_relative; /* Relative to PC? */ /* XXX This relies on relocs coming from a.out files. */ @@ -2393,16 +2394,39 @@ NAME (aout, squirt_out_relocs) (bfd *abfd, asection *section) for (natptr = native; count != 0; --count, natptr += each_size, ++generic) - MY_swap_ext_reloc_out (abfd, *generic, - (struct reloc_ext_external *) natptr); + { + /* PR 20921: If the howto field has not been initialised then skip + this reloc. + PR 20929: Similarly for the symbol field. */ + if ((*generic)->howto == NULL + || (*generic)->sym_ptr_ptr == NULL) + { + bfd_set_error (bfd_error_invalid_operation); + _bfd_error_handler (_("\ +%B: attempt to write out unknown reloc type"), abfd); + return FALSE; + } + MY_swap_ext_reloc_out (abfd, *generic, + (struct reloc_ext_external *) natptr); + } } else { for (natptr = native; count != 0; --count, natptr += each_size, ++generic) - MY_swap_std_reloc_out (abfd, *generic, - (struct reloc_std_external *) natptr); + { + if ((*generic)->howto == NULL + || (*generic)->sym_ptr_ptr == NULL) + { + bfd_set_error (bfd_error_invalid_operation); + _bfd_error_handler (_("\ +%B: attempt to write out unknown reloc type"), abfd); + return FALSE; + } + MY_swap_std_reloc_out (abfd, *generic, + (struct reloc_std_external *) natptr); + } } if (bfd_bwrite ((void *) native, natsize, abfd) != natsize) @@ -2666,7 +2690,7 @@ NAME (aout, find_nearest_line) (bfd *abfd, char *buf; *filename_ptr = abfd->filename; - *functionname_ptr = 0; + *functionname_ptr = NULL; *line_ptr = 0; if (disriminator_ptr) *disriminator_ptr = 0; @@ -2811,9 +2835,17 @@ NAME (aout, find_nearest_line) (bfd *abfd, *filename_ptr = main_file_name; else { - sprintf (buf, "%s%s", directory_name, main_file_name); - *filename_ptr = buf; - buf += filelen + 1; + if (buf == NULL) + /* PR binutils/20891: In a corrupt input file both + main_file_name and directory_name can be empty... */ + * filename_ptr = NULL; + else + { + snprintf (buf, filelen + 1, "%s%s", directory_name, + main_file_name); + *filename_ptr = buf; + buf += filelen + 1; + } } } @@ -2822,6 +2854,12 @@ NAME (aout, find_nearest_line) (bfd *abfd, const char *function = func->name; char *colon; + if (buf == NULL) + { + /* PR binutils/20892: In a corrupt input file func can be empty. */ + * functionname_ptr = NULL; + return TRUE; + } /* The caller expects a symbol name. We actually have a function name, without the leading underscore. Put the underscore back in, so that the caller gets a symbol name. */ @@ -3017,10 +3055,9 @@ aout_link_add_symbols (bfd *abfd, struct bfd_link_info *info) continue; /* PR 19629: Corrupt binaries can contain illegal string offsets. */ - if (GET_WORD (abfd, p->e_strx) > obj_aout_external_string_size (abfd)) + if (GET_WORD (abfd, p->e_strx) >= obj_aout_external_string_size (abfd)) return FALSE; name = strings + GET_WORD (abfd, p->e_strx); - value = GET_WORD (abfd, p->e_value); flags = BSF_GLOBAL; string = NULL; @@ -3076,10 +3113,12 @@ aout_link_add_symbols (bfd *abfd, struct bfd_link_info *info) case N_INDR | N_EXT: /* An indirect symbol. The next symbol is the symbol which this one really is. */ - BFD_ASSERT (p + 1 < pend); + /* See PR 20925 for a reproducer. */ + if (p + 1 >= pend) + return FALSE; ++p; /* PR 19629: Corrupt binaries can contain illegal string offsets. */ - if (GET_WORD (abfd, p->e_strx) > obj_aout_external_string_size (abfd)) + if (GET_WORD (abfd, p->e_strx) >= obj_aout_external_string_size (abfd)) return FALSE; string = strings + GET_WORD (abfd, p->e_strx); section = bfd_ind_section_ptr; @@ -3115,7 +3154,7 @@ aout_link_add_symbols (bfd *abfd, struct bfd_link_info *info) ++p; string = name; /* PR 19629: Corrupt binaries can contain illegal string offsets. */ - if (GET_WORD (abfd, p->e_strx) > obj_aout_external_string_size (abfd)) + if (GET_WORD (abfd, p->e_strx) >= obj_aout_external_string_size (abfd)) return FALSE; name = strings + GET_WORD (abfd, p->e_strx); section = bfd_und_section_ptr; diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h index 4b3bcfd..14f55ab 100644 --- a/bfd/bfd-in.h +++ b/bfd/bfd-in.h @@ -1045,3 +1045,7 @@ extern bfd_boolean v850_elf_create_sections extern bfd_boolean v850_elf_set_note (bfd *, unsigned int, unsigned int); + +/* MIPS ABI flags data access. For the disassembler. */ +struct elf_internal_abiflags_v0; +extern struct elf_internal_abiflags_v0 *bfd_mips_elf_get_abiflags (bfd *); diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index fdb7878..1c6b70f 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -1052,6 +1052,10 @@ extern bfd_boolean v850_elf_create_sections extern bfd_boolean v850_elf_set_note (bfd *, unsigned int, unsigned int); + +/* MIPS ABI flags data access. For the disassembler. */ +struct elf_internal_abiflags_v0; +extern struct elf_internal_abiflags_v0 *bfd_mips_elf_get_abiflags (bfd *); /* Extracted from init.c. */ void bfd_init (void); diff --git a/bfd/config.bfd b/bfd/config.bfd index b692f0a..5bca5d9 100644 --- a/bfd/config.bfd +++ b/bfd/config.bfd @@ -260,6 +260,11 @@ case "${targ}" in targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec" want64=true ;; + aarch64-*-fuchsia*) + targ_defvec=aarch64_elf64_le_vec + targ_selvecs="aarch64_elf64_be_vec arm_elf32_le_vec arm_elf32_be_vec" + want64=true + ;; aarch64-*-cloudabi*) targ_defvec=aarch64_elf64_le_cloudabi_vec targ_selvecs=aarch64_elf64_be_cloudabi_vec @@ -359,6 +364,10 @@ case "${targ}" in targ_selvecs="mach_o_le_vec mach_o_be_vec mach_o_fat_vec" targ_archs="$targ_archs bfd_i386_arch bfd_powerpc_arch bfd_rs6000_arch" ;; + arm-*-fuchsia*) + targ_defvec=arm_elf32_le_vec + targ_selvecs="arm_elf32_be_vec" + ;; arm-*-nacl*) targ_defvec=arm_elf32_nacl_le_vec targ_selvecs="arm_elf32_nacl_be_vec i386_elf32_nacl_vec" @@ -766,7 +775,7 @@ case "${targ}" in targ_selvecs="i386_elf32_vec iamcu_elf32_vec l1om_elf64_vec k1om_elf64_vec" want64=true ;; - x86_64-*-elf* | x86_64-*-rtems*) + x86_64-*-elf* | x86_64-*-rtems* | x86_64-*-fuchsia) targ_defvec=x86_64_elf64_vec targ_selvecs="i386_elf32_vec iamcu_elf32_vec x86_64_elf32_vec l1om_elf64_vec k1om_elf64_vec" want64=true diff --git a/bfd/elf.c b/bfd/elf.c index 936255e..678c043 100644 --- a/bfd/elf.c +++ b/bfd/elf.c @@ -1062,7 +1062,7 @@ _bfd_elf_make_section_from_shdr (bfd *abfd, if (!bfd_malloc_and_get_section (abfd, newsect, &contents)) return FALSE; - elf_parse_notes (abfd, (char *) contents, hdr->sh_size, -1); + elf_parse_notes (abfd, (char *) contents, hdr->sh_size, hdr->sh_offset); free (contents); } @@ -1271,13 +1271,19 @@ find_link (const bfd * obfd, const Elf_Internal_Shdr * iheader, const unsigned i Elf_Internal_Shdr ** oheaders = elf_elfsections (obfd); unsigned int i; - if (section_match (oheaders[hint], iheader)) + BFD_ASSERT (iheader != NULL); + + /* See PR 20922 for a reproducer of the NULL test. */ + if (oheaders[hint] != NULL + && section_match (oheaders[hint], iheader)) return hint; for (i = 1; i < elf_numsections (obfd); i++) { Elf_Internal_Shdr * oheader = oheaders[i]; + if (oheader == NULL) + continue; if (section_match (oheader, iheader)) /* FIXME: Do we care if there is a potential for multiple matches ? */ @@ -1340,6 +1346,16 @@ copy_special_section_fields (const bfd *ibfd, in the input bfd. */ if (iheader->sh_link != SHN_UNDEF) { + /* See PR 20931 for a reproducer. */ + if (iheader->sh_link >= elf_numsections (ibfd)) + { + (* _bfd_error_handler) + /* xgettext:c-format */ + (_("%B: Invalid sh_link field (%d) in section number %d"), + ibfd, iheader->sh_link, secnum); + return FALSE; + } + sh_link = find_link (obfd, iheaders[iheader->sh_link], iheader->sh_link); if (sh_link != SHN_UNDEF) { @@ -4254,7 +4270,7 @@ get_program_header_size (bfd *abfd, struct bfd_link_info *info) PT_INTERP segment. In this case, assume we also need a PT_PHDR segment, although that may not be true for all targets. */ - segs += 3; + segs += 2; } if (bfd_get_section_by_name (abfd, ".dynamic") != NULL) @@ -5854,52 +5870,6 @@ find_section_in_list (unsigned int i, elf_section_list * list) return list; } hooks/post-receive -- Repository for Project Archer.