From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 57109 invoked by alias); 12 Aug 2015 16:28:25 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 57091 invoked by uid 9674); 12 Aug 2015 16:28:25 -0000 Date: Wed, 12 Aug 2015 16:28:00 -0000 Message-ID: <20150812162823.56873.qmail@sourceware.org> From: jkratoch@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] jankratochvil/gdbserverbuildid: sticky X-Git-Refname: refs/heads/jankratochvil/gdbserverbuildid X-Git-Reftype: branch X-Git-Oldrev: 18b55a2660c4c4bc90b617db0336a1172d6ad506 X-Git-Newrev: 9ae1f06399e4965ff710ddebb88cfa70198791df X-SW-Source: 2015-q3/txt/msg00024.txt.bz2 List-Id: The branch, jankratochvil/gdbserverbuildid has been updated discards 18b55a2660c4c4bc90b617db0336a1172d6ad506 (commit) discards f14f9cc588192ab6db2276f533133a13a8a97cfa (commit) discards 92266c35bc7ccf402827fd15dcf01d4475522b8d (commit) discards 24ef919babbb591d0a1aceeb3afd9fce7f573147 (commit) discards e5293e8b402363b88775a010c20d8818f44637f7 (commit) discards 53ff2abcee6f83ab6d6896b7e4335b95f4477299 (commit) discards 9c874130415a43f3b06df0473e6d716e3f6844cf (commit) via 9ae1f06399e4965ff710ddebb88cfa70198791df (commit) via 8be9b469327732a45b4567606024e5fe6da65cf4 (commit) via 626306b225fc12f03571ddef81ae2f8c361c2737 (commit) via c1a4ff6f9646357800e419fde811522835ec05bb (commit) via c185ce8e835c1c65744659e8c95422e6b3d6e783 (commit) via 89c9b4a3d6f624e5e4ed2dfc0518c097a549c35c (commit) via 9cb2a20e52c40b89b6d7f76b4f2b71cee4e422a7 (commit) via 962b1449d776fcb1bc2405455772c4e49107e57c (commit) via 62beda73be124eecedd78f2be3edc3d2db79f9b7 (commit) via 464ea6806dab89759c018e90b0e3c88cda65a32e (commit) via 216b70135d40c6315ddf1982ec3b092aa3583e95 (commit) via e95a4b50c05e5c3af8f0e40dc87eac9239573ba4 (commit) via baff9316bd263237c339d44348a2c29e6122ce0f (commit) via a1aafb809024e0b113cdbe59f51319a2bca75fb8 (commit) via 243fc24ef9cd84a9254c33a99db4d2f6b45e902d (commit) via bad79bcabe0ea79f7aaea2a75afbd863721e3391 (commit) via 04738321e65ba17b1fd45e0e36f865ac2febfa44 (commit) via 610f98208fb4f57e08e75a8d3b36731fbab08ca6 (commit) via 15926a00baf920c1848b790dfe886441e84bcb76 (commit) via a98186deee4e15cae470c6b6d43b76faf4e6baa6 (commit) via d9d2bc9d327e07574b4d54b114c615c74056c73b (commit) via ed7d51ae856df050eb7f1bcdc4b302fcc3f672da (commit) via c36d116ad357bd1985f32c04e4df2725290d6020 (commit) via e2a01faf51b2ea495c301078ba59b37d75896321 (commit) via 0a1e61f418387228b61972c965ae6b93727f4bc1 (commit) via 7b4697b6a9831f90f49eed3d585ae3f372229248 (commit) via 92b2194c5c92566d5d05de65a49fba3f5a86df32 (commit) via 90082c6c1c4a9386e008f8ca470cc8fe14032ebe (commit) via a0df657b49186335025cde8aa62a1eadc7274ef5 (commit) via 8c1b24620df4b7bf532fe4ecbf2bfd4c3adc1ef9 (commit) via 45aa3a918c168453a915fa10b376f0642009584d (commit) via 12f6dcb9318784724efe2e38d5c44a8f7af0a360 (commit) via 105d76cc897ee03ba97c6048089b0b6d1b8ef69b (commit) via 05a4e248b9e2d1b387235cd2d8cb577757fb6b52 (commit) via b6dafabfb18e3ab207a1818ebe68e30337b5515d (commit) via 6bf45b2495bb2482a019c4b28b32a49bd6a12133 (commit) via abe8e6075bac6596f9105bbc9607038543ac849e (commit) via 87ad46af87ce0ed30630fdbacf6d8c7a96b2c5b3 (commit) via dd419f3aac048176e4e760dc8f29d3429c4f07ce (commit) via 995da1ffa716fb748cc6a664e81843e751270b45 (commit) via 43e65147c07b1400ae0dbb6694882eceb2363713 (commit) via f3445b37b67deb8f67f7885274b2544684503f78 (commit) via 3aade68889268c7d15e121d6d63cb1b753ec12fa (commit) via 3739860c11a9cfcdaa4d5d204ea3536784de7bb3 (commit) via 1b7868733d45220e63b72a1814f30e090f761821 (commit) via aa91aff6af9f930bb8e9e4fd3dfc852cba8c80d0 (commit) via 244558af868d5427903c35c5105bf5499639f81f (commit) via 0eace2105dc6c005fdc908414ad564d318b71540 (commit) via f63d6d96502c4448357a0b826489ac36f73c1330 (commit) via 629500fae69737a6230a564e8fef1f42c3ef1116 (commit) via eb8c4e2e66329dc7bf2024d55991efe8587075c0 (commit) via 87f0e7204722a986f79f245eee716f0870832d47 (commit) via 00e52e5376c7ec604a739e6242e6be36221162d7 (commit) via 5b56227bdc000d129d393772f1e4544b5ea0fd46 (commit) via a06efdd6effd149a1d392df8d62824e44872003a (commit) via f00aae0f7b11c4dc85c38d5fad46975033ba3fff (commit) via c7c1b3e998a77eb077ac3c08c88a97d2e11dfef0 (commit) via 5f700d83f7f3ea422d789c51a25f04818bf788d7 (commit) via a12a06d74aa88361db80309d47185df900a89312 (commit) via c674f5cd3f900c5b12996ea5188ff818fe9eb6bc (commit) via b261b4db940297f254280ef57589879341d09435 (commit) via 9331eea1f83b94c6f5a72ebf643aa8978a0b0a13 (commit) via f678ded748f994a16e27fc3ac1d1c9451b98f608 (commit) via 07f9ddfeba5b572451471f905473f7ddbba1d472 (commit) via 40fbed84815b00960f7fac8d2e7857942df4308c (commit) via 70151fb54ab6e3d5dc7f99fe3fbfa7ad2f1ab2af (commit) via 73f925cc20e839d4b7352b809a33e4e7dcbfa05a (commit) via a12fad50d28b9251893c6709ac4374773350c21a (commit) via 56a2e4507a4249634422fba2373b651b774c55ac (commit) via f69e49203b49b7353748b78a9d8111440d9ac291 (commit) via 1107e076cff62e1093da024ab73e5648051781ab (commit) via 2c0a466a7f83eb1ee5f5da0bdd7b4b643fbe3278 (commit) via 97dc35c88dd470465a99edeb0b491012a368f2bf (commit) via 922c5db5e733526f12e2fbfeb72c7f1f90089d53 (commit) via dbac553d28887561e3f154654ec8e70195d89943 (commit) via 4c0160b8e2f902ecdf6a42dc20b5f39b0a48fac7 (commit) via c8373ebb4ed77c361d95aa806cfbe1b4062b5be5 (commit) via 4b0e8a5f80441fad8eddaf68e7af70bd6991aa37 (commit) via 64140f86ab732f9ed87beccab07c32befaf9ca52 (commit) via eff0bc54a343fed1dd152f0a1b455b2438f76e6f (commit) via e66c3c2568fcfebc931bc18d35055c7f784133ce (commit) via d29b2a1ece30514431861472d784ae8722816a4c (commit) via 88fd0449a3f88c12c8930698a833f6c1c4478307 (commit) via 2b29bb41d56d4e4ba495393f4f519718b73f92df (commit) via 30379291886a171e6dc202122bc1c583318c2e17 (commit) via 125453567f4a0abc68cfc67a3df46be1aa9bb904 (commit) via 80af41e00325ff3e877df11d465baeaa3d565103 (commit) via e27852be65403306da198b3c1d7b222acd6bdfe9 (commit) via fd7dcb94cbd44629b3929336aec8b76c3e339656 (commit) via 422f11824b3abf6c71042e2ee3aed572f250fc89 (commit) via 75fb7498c25ba89262867abe5340a8d38f1e19cd (commit) via 2bc6d61bf3e4935921ae2612b3c6cd0604428960 (commit) via 662a7b62c477e93284de4db127b4dbc3529caaa5 (commit) via 8fe3f3d6afbf084f9ef36d887b661792c769f862 (commit) via e44bf850dff24e0442408e26043d957588be88ee (commit) via 0a77d46120137650c13091866cb93150910e1317 (commit) via d4ac1f878ecef58f1e4b4ff0cbfb4b475656eaf4 (commit) via f12899e9f081bb857c96999386e64a4252c4a325 (commit) via 5ac213430b710e8aaed1f4cea6ff809783201df9 (commit) via 7f03bd92e389a32da490bb55037881cf374d0f69 (commit) via 3fc8eb30a95df3fd07a63e9bd0a9d309b86a0357 (commit) via d4569d7bc572ae8f10d7c527cbdfbc9d26cc1ed8 (commit) via bfedc46af315dc6484295699c35e05040d76d700 (commit) via d55007b58352c0b5fd2817e003b6dcf4e3ee4c07 (commit) via fbea99ea8a062e5cd96e2d88336984ed3adc93d4 (commit) via 372316f12874a30c62e6d71079ca3b86c786fb7e (commit) via 2ac7589cfe1df06506adb133e99b2b89212c9a11 (commit) via 8b0615634896718c982d367a01ec61120084d3fb (commit) via 1afd5965eda86caed3af7f23fd1f8802831360b6 (commit) via 4d9d9d0423ed611fa6d620ca3aa088fc16a0d59e (commit) via c2829269f5af8a860b54ceac3596610b1f51fee5 (commit) via 6c4cfb244b408f980be24ea2175bc58baf74a6f9 (commit) via 567420d10895611e03d5ee65e6b24c16a69a6e99 (commit) via d8dd4d5fe6d5ab971b731df5f65025a0dbbdb912 (commit) via e1316e60d4d1fe406efc6e7536b2bdb43733e9d2 (commit) via 47e9c225c1cb6fb1809218f5f546a70fc85f705c (commit) via 5960642af99c6dc84b28e1bc69a617099b9dee97 (commit) via 36aed29d3774a156c88ca7110f3c12605d861b9c (commit) via 6e33951edcbed1fd803beabcde2af3b252b92164 (commit) via 060967202b8def804d9afccad343d2eaef8a81cf (commit) via 7ff38b1c898be5db053193f26d6a3a1d8a6074e8 (commit) via 0b45135ec1364f9d0c850a52ce05cf4ffb038021 (commit) via da8c46d2967b6325dcd2cc72eca26d807964c93c (commit) via 5599c404621b2d8ac021c1427aee6e8974572042 (commit) via 016a3251631341bf4d8fe50966d2b70f8ea69e96 (commit) via 308d9764e1ce02c31882e6d99bbaebe63c7fe830 (commit) via de1c2c52237dd3e8d94df7b4a304ac9df75c8cf3 (commit) via 782e0bf46a84f57139f25c31c2ffc93508f07ef5 (commit) via aead7601eb0ddc3fa51d43747bdad0e02abda342 (commit) via 84da3f0cf938f8f74d9fa89f89f228bc950282c6 (commit) via 9d996aba1a365564c18dd939772d379c97c94213 (commit) via 33ebda9d6841e18d9ef18b94c3dcad7d0498ab3d (commit) via a44892be35506471a53e5bc8c2def4ffccf451f9 (commit) via ca0a5f0bd33d0aa17a5cf518e41e47ddfde486ad (commit) via 608a1e46394e9df951968c9112fbec3065da5fba (commit) via 05d999b0896ab6ccd4ce23a715765484c60a967d (commit) via f0ce0d3a331129309a46a6a9ac85fce35acae72b (commit) via bf47e2482d3e88580ba5a22db48bc773fa8ced3f (commit) via f6a9d9c7db9b6b58e6915869c1bd7c83d96d31ee (commit) via 83e97ed023e828a7d924b765661374272c7f7eb4 (commit) via 4807d3f32937bc4d932638fd8f8b3084be82b74a (commit) via b6b9ffccac04b8729d5206b5a9fefa09ea2510f3 (commit) via 863d01bde2725d009c45ab7e9ba1dbf3f5b923f8 (commit) via 00db26facc14ac830adef704bba9b24d0d366ddf (commit) via ad071a3055b9b47dad340c1a1cb3a9b39529cef0 (commit) via e0a3af227ee0602ae69320fd6f931c363f14975b (commit) via 0cf003f49ee8bbd5dc5f1ce45193c7ae056c69b8 (commit) via 0a39bb3218ec528236da4953a97d07f0da9313ce (commit) via 63b9bbb7d7bcdcb6e0f59dd8da9615d80c537b8d (commit) via 260439cb8ec21ffd75b240aadc55fd341c8c8dd4 (commit) via 32f25203b47b1823bf77724e3eb7bbd15ca3e429 (commit) via d89fa914ad6f10cf2827df9b3b86da1a7d9ddfd8 (commit) via ea546fbb602046f4681319971bc7d5044d04f116 (commit) via 4efd80aa8a99adbb38d0719ba56b07c9970793b5 (commit) via 7e27a9d5f22f9f7ead11738b1546d0b5c737266b (commit) via 4e13f8fb05eb7ffd163d96e519cc011d8d21e3d7 (commit) via 524b57e6b3a36e0ce6573bbc4dba9f0bd9c165b1 (commit) via 6085d6f69562472c389679052dcfe66cf3068a76 (commit) via 8a7e4587c4e7d78ebbb9bcc0e65bc03f784fde6b (commit) via 3b53ae99fbb6bea515284f725b83125d09cfea6f (commit) via bd9e6534b7be7a228ce339bced963d2d15856390 (commit) via ded48a5ef34314f7af698b7ec7916b084c94b18d (commit) via c6343a91d94e9516afe56dfe85e435922bd9ea04 (commit) via 978b9495b78054b76052a09064cae8c94a58b93e (commit) via 9c98104c4c8f558176311dad055897c45b7d8032 (commit) via bb57e4c7bd1d27c45195efd0b7a612bac831d2df (commit) via 0a61824343c98b9440fe13752f800d65f765c4c1 (commit) via 96e9210fd6fecc1926559dbfa45e7c7c59f7d821 (commit) via beab5d94abdbea50febb1e189198fdec43db47c9 (commit) via edc66de9a5883295bb32fad2c87bf4c62f97f54a (commit) via a26b73ed2d90d6ef080810fa9dd166b43e8a3eb7 (commit) via 127fcdff0541697ffd7169abafe5a51118bf65d0 (commit) via 4122b41366b2e810bbf016d7c5514a496f0aca86 (commit) via af60a1ef46d2c4aca22868b0f2819234b949018e (commit) via cb1c8103f13d413e05ca6e61e21b56bba3baae74 (commit) via ee2d2b102071f89a04f93f0434df818f69ef1e50 (commit) via 666fcf91c0117da8294207f631df5a97fdc4157c (commit) via c8bd4544607d4f41b89b78630fc233f53f90b6a2 (commit) via 8e1afc817ca50aec1e77b5bd2613844bb4b4d932 (commit) via 4e1bdb00c63a839037f31f005349c87702d50cfe (commit) from 18b55a2660c4c4bc90b617db0336a1172d6ad506 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 9ae1f06399e4965ff710ddebb88cfa70198791df Author: Jan Kratochvil Date: Wed Aug 12 18:05:45 2015 +0200 sticky Message-Id: <1433754079-10395-1-git-send-email-gbenson@redhat.com> Philippe Waroquiers wrote: > On Fri, 2015-06-05 at 12:22 +0100, Gary Benson wrote: > > Built and regtested on RHEL6.6 x86_64. > I tested with the last SVN version of the Valgrind gdbserver (that > supports qXfer:exec-file:read+). > > The patch introduces a regression: > with the patch, GDB does not anymore automatically load the > exec-file. > > I bypassed this problem by ignoring fake_pid_p in remote.c: > --- a/gdb/remote.c > +++ b/gdb/remote.c > @@ -1624,9 +1624,13 @@ remote_add_inferior (int fake_pid_p, int pid, int > attached, > inf->attach_flag = attached; > inf->fake_pid_p = fake_pid_p; > > - /* If no main executable is currently open then attempt to > - open the file that was executed to create this inferior. */ > - if (try_open_exec && get_exec_file (0) == NULL) > + /* Attempt to open the file that was executed to create this > + inferior. If the user has explicitly specified executable > + and/or symbol files then warn the user if their choices do > + not match. Otherwise, set exec_file and symfile_objfile to > + the new file. */ > + printf("fake_pid_p %d\n", fake_pid_p); > + if (try_open_exec)// && !fake_pid_p) > exec_file_locate_attach (pid, 1); > > Effectively, the printf shows that with Valgrind gdbsrv, > fake_pid_p value is 1. > > When ignoring fake_pid_p, GDB can properly attach > to different Valgrind gdbsrv, and changes of executable > as expected. Ah, it seems I mailed a bad patch, my apologies! I was working on two fixes that touched the same line, and it looks like I rebased them in the wrong order. This updated patch has been created against the latest gdb/master (80fb91378c91a8239817a5ab2b1c3e346109db25). Could you please try your tests again? Thanks, Gary --- On attach, GDB will only attempt to determine the main executable's filename if one is not already set. This causes problems if you attach to one process and then attach to another: GDB will not attempt to discover the main executable on the second attach. If the two processes have different main executable files then the symbols will now be wrong. This is PR gdb/17626. In GDB some filenames are supplied by the user (e.g. using the "file" or "symbol-file" commands) and some are determined by GDB (e.g. while processing an "attach" command). This commit updates GDB to track which filenames were supplied by the user. When GDB might attempt to determine an executable filename and one is already set, filenames determined by GDB may be overridden but user-supplied filenames will not. gdb/ChangeLog: PR gdb/17626 * progspace.h (struct program_space) : New field. : Likewise. (symfile_objfile_is_user_supplied): New macro. * exec.h (exec_file_is_user_supplied): Likewise. * exec.c (exec_close): Clear exec_file_is_user_supplied. (exec_file_locate_attach): Remove get_exec_file check. Do not replace user-supplied executable or symbol files. Warn if user-supplied executable or symbol files do not match discovered file. (exec_file_command): Set exec_file_is_user_supplied. * symfile.c (symbol_file_clear): Clear symfile_objfile_is_user_supplied. (symbol_file_command): Set symfile_objfile_is_user_supplied. * inferior.c (add_inferior_command): Set exec_file_is_user_supplied and symfile_objfile_is_user_supplied. * main.c (captured_main): Likewise. * infcmd.c (attach_command_post_wait): Always call exec_file_locate_attach. Only call reopen_exec_file and reread_symbols if exec_file_is_user_supplied. * remote.c (remote_add_inferior): Remove get_exec_file check around exec_file_locate_attach. commit 8be9b469327732a45b4567606024e5fe6da65cf4 Author: Jan Kratochvil Date: Wed Aug 12 18:05:45 2015 +0200 openptarget commit 626306b225fc12f03571ddef81ae2f8c361c2737 Author: Jan Kratochvil Date: Wed Aug 12 18:05:44 2015 +0200 mainbuildid commit c1a4ff6f9646357800e419fde811522835ec05bb Author: Jan Kratochvil Date: Wed Aug 12 18:05:44 2015 +0200 hexallocate commit c185ce8e835c1c65744659e8c95422e6b3d6e783 Author: Jan Kratochvil Date: Wed Aug 12 18:05:44 2015 +0200 locatetest commit 89c9b4a3d6f624e5e4ed2dfc0518c097a549c35c Author: Jan Kratochvil Date: Sun Jul 12 20:59:03 2015 +0200 Tests for validate symbol file using build-id New testcase. gdb/testsuite/ChangeLog 2015-07-15 Aleksandar Ristovski Date: Wed Aug 12 18:05:43 2015 +0200 buildidwarn commit 962b1449d776fcb1bc2405455772c4e49107e57c Author: Jan Kratochvil Date: Wed Aug 12 18:05:43 2015 +0200 buildidsolibbfdopen commit 62beda73be124eecedd78f2be3edc3d2db79f9b7 Author: Jan Kratochvil Date: Wed Aug 12 18:05:43 2015 +0200 buildidverify commit 464ea6806dab89759c018e90b0e3c88cda65a32e Author: Jan Kratochvil Date: Wed Aug 12 18:05:43 2015 +0200 buildidsolibsearch commit 216b70135d40c6315ddf1982ec3b092aa3583e95 Author: Jan Kratochvil Date: Wed Aug 12 18:05:43 2015 +0200 buildidtofile commit e95a4b50c05e5c3af8f0e40dc87eac9239573ba4 Author: Jan Kratochvil Date: Wed Aug 12 18:05:42 2015 +0200 buildidproto commit baff9316bd263237c339d44348a2c29e6122ce0f Author: Jan Kratochvil Date: Wed Aug 12 18:05:42 2015 +0200 buildidtobfd commit a1aafb809024e0b113cdbe59f51319a2bca75fb8 Author: Jan Kratochvil Date: Wed Aug 12 18:05:42 2015 +0200 buildidforcemove commit 243fc24ef9cd84a9254c33a99db4d2f6b45e902d Author: Jan Kratochvil Date: Wed Aug 12 18:05:42 2015 +0200 buildidfreefix commit bad79bcabe0ea79f7aaea2a75afbd863721e3391 Author: Jan Kratochvil Date: Wed Aug 12 18:05:41 2015 +0200 openpsymfile commit 04738321e65ba17b1fd45e0e36f865ac2febfa44 Author: Jan Kratochvil Date: Wed Aug 12 18:05:41 2015 +0200 openpsolib commit 610f98208fb4f57e08e75a8d3b36731fbab08ca6 Author: Jan Kratochvil Date: Wed Aug 12 18:05:41 2015 +0200 openp commit 15926a00baf920c1848b790dfe886441e84bcb76 Author: Jan Kratochvil Date: Wed Aug 12 18:05:41 2015 +0200 filelib commit a98186deee4e15cae470c6b6d43b76faf4e6baa6 Author: Jan Kratochvil Date: Wed Aug 12 18:05:40 2015 +0200 openfromtargetdoclose commit d9d2bc9d327e07574b4d54b114c615c74056c73b Author: Jan Kratochvil Date: Wed Aug 12 18:05:40 2015 +0200 openfromtargetfd commit ed7d51ae856df050eb7f1bcdc4b302fcc3f672da Author: Jan Kratochvil Date: Wed Aug 12 18:05:40 2015 +0200 openfromtarget commit c36d116ad357bd1985f32c04e4df2725290d6020 Author: Jan Kratochvil Date: Wed Aug 12 18:05:40 2015 +0200 openpnullpathname commit e2a01faf51b2ea495c301078ba59b37d75896321 Author: Jan Kratochvil Date: Wed Aug 12 18:05:39 2015 +0200 openpmode commit 0a1e61f418387228b61972c965ae6b93727f4bc1 Author: Jan Kratochvil Date: Wed Aug 12 18:05:39 2015 +0200 openppath commit 7b4697b6a9831f90f49eed3d585ae3f372229248 Author: Jan Kratochvil Date: Wed Aug 12 18:05:39 2015 +0200 openpenum commit 92b2194c5c92566d5d05de65a49fba3f5a86df32 Author: Jan Kratochvil Date: Wed Aug 12 18:05:38 2015 +0200 sysrootdelim commit 90082c6c1c4a9386e008f8ca470cc8fe14032ebe Author: Jan Kratochvil Date: Wed Aug 12 18:05:38 2015 +0200 sysrootconst commit a0df657b49186335025cde8aa62a1eadc7274ef5 Author: Jan Kratochvil Date: Wed Aug 12 18:08:04 2015 +0200 Validate symbol file using build-id Consumer part of the "build-id" attribute. gdb/ChangeLog 2015-07-15 Aleksandar Ristovski Validate symbol file using build-id. * NEWS (Changes since GDB 7.10): Add 'set validate-build-id' and 'show validate-build-id'. Add build-id attribute. * solib-darwin.c (_initialize_darwin_solib): Assign validate value. * solib-dsbt.c (_initialize_dsbt_solib): Ditto. * solib-frv.c (_initialize_frv_solib): Ditto. * solib-spu.c (set_spu_solib_ops): Ditto. * solib-svr4.c: Include rsp-low.h. (NOTE_GNU_BUILD_ID_NAME): New define. (svr4_validate): New function. (svr4_copy_library_list): Duplicate field build_id. (library_list_start_library): Parse 'build-id' attribute. (svr4_library_attributes): Add 'build-id' attribute. (_initialize_svr4_solib): Assign validate value. * solib-target.c (solib.h): Include. (_initialize_solib_target): Assign validate value. * solib.c (validate_build_id, show_validate_build_id): New. (solib_map_sections): Use ops->validate. (clear_so): Free build_id. (default_solib_validate): New function. (_initialize_solib): Add "validate-build-id". * solib.h (default_solib_validate): New declaration. * solist.h (struct so_list): New fields 'build_idsz' and 'build_id'. (target_so_ops): New field 'validate'. gdb/doc/ChangeLog 2015-07-15 Jan Kratochvil * gdb.texinfo (Files): Add 'set validate-build-id' and 'show validate-build-id'. commit 8c1b24620df4b7bf532fe4ecbf2bfd4c3adc1ef9 Author: Jan Kratochvil Date: Wed Aug 12 18:08:03 2015 +0200 gdbserver build-id attribute generator Producer part of the new "build-id" XML attribute. gdb/ChangeLog 2015-07-15 Aleksandar Ristovski gdbserver build-id attribute generator. * features/library-list-svr4.dtd (library-list-svr4): New 'build-id' attribute. gdb/doc/ChangeLog 2015-07-15 Aleksandar Ristovski gdbserver build-id attribute generator. * gdb.texinfo (Library List Format for SVR4 Targets): Add 'build-id' in description, example, new attribute in dtd. gdb/gdbserver/ChangeLog 2015-07-15 Aleksandar Ristovski gdbserver build-id attribute generator. * linux-low.c (linux-maps.h, search.h, rsp-low.h): Include. (ElfXX_Ehdr, ElfXX_Phdr, ElfXX_Nhdr): New. (ELFXX_FLD, ELFXX_SIZEOF, ELFXX_ROUNDUP, BUILD_ID_INVALID): New. (find_phdr): New. (get_dynamic): Use find_pdhr to traverse program headers. (struct mapping_entry, mapping_entry_s, free_mapping_entry_vec) (compare_mapping_entry_range, struct find_memory_region_callback_data) (read_build_id, find_memory_region_callback, lrfind_mapping_entry) (get_hex_build_id): New. (linux_qxfer_libraries_svr4): Add optional build-id attribute to reply XML document. commit 45aa3a918c168453a915fa10b376f0642009584d Author: Jan Kratochvil Date: Wed Aug 12 18:08:03 2015 +0200 Move linux_find_memory_regions_full & co. This should be just a move with no changes. gdb/ChangeLog 2015-07-15 Aleksandar Ristovski Move linux_find_memory_regions_full & co. * linux-tdep.c (linux-maps.h): Include. (gdb_regex.h): Remove the include. (enum filterflags, struct smaps_vmflags, read_mapping, decode_vmflags) (mapping_is_anonymous_p, dump_mapping_p): Moved to common/linux-maps.c. (linux_find_memory_region_ftype): Moved typedef to common/linux-maps.h. (linux_find_memory_regions_full): Moved definition to common/linux-maps.c. * common/linux-maps.c: Include ctype.h, target/target-utils.h, gdb_regex.h and target/target.h. (struct smaps_vmflags, read_mapping, decode_vmflags) (mapping_is_anonymous_p, dump_mapping_p): Move from linux-tdep.c. (linux_find_memory_regions_full): Move from linux-tdep.c. * common/linux-maps.h (read_mapping): New declaration. (linux_find_memory_region_ftype, enum filterflags): Moved from linux-tdep.c. (linux_find_memory_regions_full): New declaration. * target.c (target/target-utils.h): Include. (read_alloc_pread_ftype): Moved typedef to target/target-utils.h. (read_alloc, read_stralloc_func_ftype, read_stralloc): Moved definitions to target/target-utils.c. * target.h (target_fileio_read_stralloc): Move it to target/target.h. * target/target-utils.c (read_alloc, read_stralloc): Move definitions from target.c. * target/target-utils.h (read_alloc_pread_ftype): New typedef. (read_alloc): New declaration. (read_stralloc_func_ftype): New typedef. (read_stralloc): New declaration. * target/target.h (target_fileio_read_stralloc): Move it from target.h. gdb/gdbserver/ChangeLog 2015-07-15 Aleksandar Ristovski * target.c: Include target/target-utils.h and fcntl.h. (target_fileio_read_stralloc_1_pread, target_fileio_read_stralloc_1) (target_fileio_read_stralloc): New functions. commit 12f6dcb9318784724efe2e38d5c44a8f7af0a360 Author: Jan Kratochvil Date: Wed Aug 12 18:08:03 2015 +0200 Prepare linux_find_memory_regions_full & co. for move Prepare code for move into gdb/common/. gdb/ChangeLog 2015-07-15 Aleksandar Ristovski Prepare linux_find_memory_regions_full & co. for move. * linux-tdep.c (linux_find_memory_region_ftype): Comment. (linux_find_memory_regions_full): Change signature and prepare for moving to linux-maps. (linux_find_memory_regions_data): Rename field 'obfd' to 'data'. (linux_find_memory_regions_thunk): New. (linux_find_memory_regions_thunk): Use 'data' field instead of 'obfd'. (linux_find_memory_regions_gdb): New. (linux_find_memory_regions): Rename argument 'obfd' to 'func_data'. (linux_make_mappings_corefile_notes): Use linux_find_memory_regions_gdb. * target.c (read_alloc_pread_ftype): New typedef. (target_fileio_read_alloc_1_pread): New function. (read_alloc): Refactor from target_fileio_read_alloc_1. (read_stralloc_func_ftype): New typedef. (target_fileio_read_alloc_1): New implementation. Use read_alloc. (read_stralloc): Refactored from target_fileio_read_stralloc. (target_fileio_read_stralloc): New implementation, use read_stralloc. commit 105d76cc897ee03ba97c6048089b0b6d1b8ef69b Author: Jan Kratochvil Date: Wed Aug 12 18:08:02 2015 +0200 Move gdb_regex* to common/ Later patches need regex support also in gdbserver. gdb/ChangeLog 2015-07-15 Jan Kratochvil * Makefile.in (HFILES_NO_SRCDIR): Change gdb_regex.h to common/gdb_regex.h. (COMMON_OBS): Add gdb_regex.o. (gdb_regex.o): New. * common/common.m4 (GDB_AC_COMMON): Add gdb_use_included_regex, --without-included-regex and USE_INCLUDED_REGEX. * common/gdb_regex.c: New file from utils.c functions. * common/gdb_regex.h: Move it here from gdb_regex.h, update include file wrapping define name. * configure: Rebuilt. * configure.ac (gdb_use_included_regex, --without-included-regex) (USE_INCLUDED_REGEX): Move them to common/common.m4. * gdb_regex.h: Move it to common/gdb_regex.h. * utils.c: Remove include gdb_regex.h. (do_regfree_cleanup, make_regfree_cleanup, get_regcomp_error) (compile_rx_or_error): Move them to common/gdb_regex.c. gdb/gdbserver/ChangeLog 2015-07-15 Jan Kratochvil * Makefile.in (OBS): Add gdb_regex.o. (gdb_regex.o): New. * config.in: Rebuilt. * configure: Rebuilt. commit 05a4e248b9e2d1b387235cd2d8cb577757fb6b52 Author: Jan Kratochvil Date: Wed Aug 12 18:08:01 2015 +0200 Create empty common/linux-maps.[ch] and common/target-utils.[ch] Prepare new files for later move. gdb/ChangeLog 2015-07-15 Aleksandar Ristovski Create empty common/linux-maps.[ch] and common/target-utils.[ch]. * Makefile.in (ALL_TARGET_OBS): Add linux-maps.o. (HFILES_NO_SRCDIR); Add common/linux-maps.h, common/target-utils.h. (COMMON_OBS): Add target-utils.o. (linux-maps.o, target-utils.o): New. * target/target-utils.c: New file. * target/target-utils.h: New file. * common/linux-maps.c: New file. * common/linux-maps.h: New file. * configure.tgt (aarch64*-*-linux*, alpha*-*-linux*) (am33_2.0*-*-linux*, arm*-*-linux*, bfin-*-*linux*, cris*, frv-*-*) (hppa*-*-linux*, i[34567]86-*-linux*, ia64-*-linux*, m32r*-*-linux*) (m68*-*-linux*, microblaze*-linux-*, microblaze*-*-linux*) (mips*-*-linux*, nios2*-*-linux*, powerpc*-*-linux*, s390*-*-linux*) (sh*-*-linux*, sparc-*-linux*, sparc64-*-linux*, tic6x-*-*linux) (tilegx-*-linux*, x86_64-*-linux*, xtensa*-*-linux*): Add linux-maps.o to gdb_target_obs. gdb/gdbserver/ChangeLog 2015-07-15 Aleksandar Ristovski Create empty common/linux-maps.[ch] and common/target-utils.[ch]. * Makefile.in (OBS): Add target-utils.o. (linux-maps.o, target-utils.o): New. * configure.srv (srv_linux_obj): Add linux-maps.o. commit b6dafabfb18e3ab207a1818ebe68e30337b5515d Author: Patrick Palka Date: Thu Jun 18 21:47:55 2015 -0400 Use save_vars to replace existing manipulation of globals in tests gdb/testsuite/ChangeLog: * gdb.base/gdbhistsize-history.exp (test_histsize_history_setting): Use save_vars. * gdb.base/gdbinit-history.exp (test_gdbinit_history_setting): Use save_vars. (test_no_truncation_of_unlimited_history_file): Use save_vars. * gdb.base/readline.exp: Use save_vars. commit 6bf45b2495bb2482a019c4b28b32a49bd6a12133 Author: Alan Modra Date: Wed Aug 12 19:06:01 2015 +0930 Remove ChangeLog separator commit abe8e6075bac6596f9105bbc9607038543ac849e Author: Patrick Palka Date: Thu Jun 18 21:33:26 2015 -0400 Introduce save_vars, a testsuite proc for safely manipulating globals gdb/testsuite/ChangeLog: * lib/gdb.exp (save_vars): New proc. commit 87ad46af87ce0ed30630fdbacf6d8c7a96b2c5b3 Author: Jiong Wang Date: Wed Aug 12 13:17:50 2015 +0100 [AArch64] Fix test failures on elf configuration This patch fixed those failures on elf configuration by: * Improve the ILP32 target selector "aarch64_choose_ilp32_emul", makes it more robust. Target triples copied from configure.tgt * Updated emit-relocs-86/-overflow.d to use aarch64_choose_ilp32_emul which is following what have done with emit-relocs-28. * Those instruction encoding mismatch is because those encoding contains pc-relative address. As for elf, we may have different start address. relaxed encodind check, especially for aarch64-farcall-b/bl-plt, as the main purpose of those check are ELF text/data layout, we just want to make sure veneer to plt stub is generated. 2015-08-12 Jiong Wang ld/testsuite/ * ld-aarch64/aarch64-elf.exp (aarch64_choose_ilp32_emul): Support all four triple shapes: aarch64-*-linux*, aarch64-*-elf, aarch64_be-*-linux*, aarch64_be-*-elf. * ld-aarch64/emit-relocs-86.d: Use aarch64_choose_ilp32_emul. * ld-aarch64/emit-relocs-86-overflow.d: Likewise. * ld-aarch64/ld-aarch64/farcall-b-plt.d: Relax instrucion encoding check when they reflect address. * ld-aarch64/ld-aarch64/farcall-bl-plt.d: Likewise. commit dd419f3aac048176e4e760dc8f29d3429c4f07ce Author: H.J. Lu Date: Wed Aug 12 05:02:21 2015 -0700 Sync ansidecl.h with GCC Sync with GCC 2015-08-11 Trevor Saunders * ansidecl.h (GCC_FINAL): New macro. commit 995da1ffa716fb748cc6a664e81843e751270b45 Author: H.J. Lu Date: Wed Aug 12 04:46:43 2015 -0700 Remove trailing spaces in ld commit 43e65147c07b1400ae0dbb6694882eceb2363713 Author: H.J. Lu Date: Wed Aug 12 04:45:07 2015 -0700 Remove trailing spaces in opcodes commit f3445b37b67deb8f67f7885274b2544684503f78 Author: H.J. Lu Date: Wed Aug 12 04:43:32 2015 -0700 Remove trailing spaces in gprof commit 3aade68889268c7d15e121d6d63cb1b753ec12fa Author: H.J. Lu Date: Wed Aug 12 04:42:37 2015 -0700 Remove trailing spaces in binutils commit 3739860c11a9cfcdaa4d5d204ea3536784de7bb3 Author: H.J. Lu Date: Wed Aug 12 04:40:42 2015 -0700 Remove trailing spaces in gas commit 1b7868733d45220e63b72a1814f30e090f761821 Author: H.J. Lu Date: Wed Aug 12 04:32:43 2015 -0700 Remove trailing spaces in bfd commit aa91aff6af9f930bb8e9e4fd3dfc852cba8c80d0 Author: Nick Clifton Date: Wed Aug 12 11:50:26 2015 +0100 Update Swedish translation in gprof. * po/sv.po: Updated Swedish translation. commit 244558af868d5427903c35c5105bf5499639f81f Author: Luis Machado Date: Wed Aug 12 05:36:09 2015 -0300 [regression] Do not read from catchpoint/watchpoint locations' addresses when checking for a permanent breakpoint While running bare-metal tests with GDB i noticed some failures in gdb.base/break.exp, related to the use of the catch commands. It turns out GDB tries to access memory address 0x0 whenever one tries to insert a catchpoint, which should obviously not happen. This was introduced with the changes for permanent breakpoints. In special, bp_loc_is_permanent tries to check if there is a breakpoint inserted at the same address as the current breakpoint's location's address. In the case of catchpoints, this is 0x0. (top-gdb) catch fork Sending packet: $m0,1#fa...Packet received: E01 Catchpoint 4 (fork) (top-gdb) catch vfork Sending packet: $m0,1#fa...Packet received: E01 Catchpoint 5 (vfork) It is not obvious to detect because this fails silently for Linux. For our bare-metal testing, though, this fails with a clear error message from the target about not being able to read such address. The attached patch addresses this by bailing out of bp_loc_is_permanent (...) if the location address is not meaningful. I also took the opportunity to update the comment for breakpoint_address_is_meaningful, which mentioned breakpoint addresses as opposed to their locations' addresses. gdb/ChangeLog: 2015-08-11 Luis Machado * breakpoint.c (bp_loc_is_permanent): Return 0 when breakpoint location address is not meaningful. (breakpoint_address_is_meaningful): Update comment. commit 0eace2105dc6c005fdc908414ad564d318b71540 Author: H.J. Lu Date: Tue Aug 11 19:04:38 2015 -0700 Properly skip IFUNC relocations in debug sections Use "continue" instead of "break" to skip IFUNC relocations in debug sections. * elf32-i386.c (elf_i386_relocate_section): Properly skip IFUNC relocations in debug sections. * elf64-x86-64.c (elf_x86_64_relocate_section): Likewise. commit f63d6d96502c4448357a0b826489ac36f73c1330 Author: Thomas Preud'homme Date: Wed Aug 12 09:31:04 2015 +0800 [AArch64] Rename relocs-257-symbolic-func ld test to relocs-1027-symbolic-func. 2015-08-12 Thomas Preud'homme ld/testsuite/ * ld-aarch64/aarch64-elf.exp: Rename relocs-257-symbolic-func to relocs-1027-symbolic-func. * ld-aarch64/relocs-257-symbolic-func.d: Rename to ... * ld-aarch64/relocs-1027-symbolic-func.d: ... this. * ld-aarch64/relocs-257-symbolic-func.s: Rename to ... * ld-aarch64/relocs-1027-symbolic-func.s: ... this. commit 629500fae69737a6230a564e8fef1f42c3ef1116 Author: Keith Seitz Date: Tue Aug 11 17:09:36 2015 -0700 Explicit locations: documentation updates This patch adds documentation for explicit locations to both the User Manual and gdb's online help system. gdb/ChangeLog: * NEWS: Mention explicit locations. * breakpoint.c [LOCATION_HELP_STRING]: New macro. [BREAK_ARGS_HELP]: Use LOCATION_HELP_STRING. (_initialize_breakpoint): Update documentation for "clear", "break", "trace", "strace", "ftrace", and "dprintf". gdb/doc/ChangeLog: * gdb.texinfo (Thread-Specific Breakpoints, Printing Source Lines): Use "location(s)"instead of "linespec(s)". (Specifying a Location): Rewrite. Add subsections describing linespec, address, and explicit locations. Add node/menu for each subsection. (Source and Machine Code, C Preprocessor Macros) (Create and Delete Trace points) (Extensions for Ada Tasks): Use "location(s)" instead of "linespec(s)". (Continuing at a Different Address): Remove "linespec" examples. Add reference to "Specify a Location" (The -break-insert Command): Rewrite. Add anchor. Add reference to appropriate manual section discussing locations. (The -dprintf-insert Command): Refer to -break-insert for specification of 'location'. gdb/testsuite/ChangeLog: * gdb.base/help.exp: Update help_breakpoint_text. commit eb8c4e2e66329dc7bf2024d55991efe8587075c0 Author: Keith Seitz Date: Tue Aug 11 17:09:36 2015 -0700 Explicit locations: MI support for explicit locations This patch adds support for explicit locations to MI's -break-insert command. The new options, documented in the User Manual, are --source, --line, --function, and --label. gdb/ChangeLog: * mi/mi-cmd-break.c (mi_cmd_break_insert_1): Add support for explicit locations, options "--source", "--function", "--label", and "--line". gdb/testsuite/ChangeLog: * gdb.mi/mi-break.exp (test_explicit_breakpoints): New proc. (at toplevel): Call test_explicit_breakpoints. * gdb.mi/mi-dprintf.exp: Add tests for explicit dprintf breakpoints. * lib/mi-support.exp (mi_make_breakpoint): Add support for breakpoint conditions, "-cond". commit 87f0e7204722a986f79f245eee716f0870832d47 Author: Keith Seitz Date: Tue Aug 11 17:09:36 2015 -0700 Explicit locations: add UI features for CLI This patch exposes explicit locations to the CLI user. This enables users to "explicitly" specify attributes of the breakpoint location to avoid any ambiguity that might otherwise exist with linespecs. The general syntax of explicit locations is: -source SOURCE_FILENAME -line {+-}LINE -function FUNCTION_NAME -label LABEL_NAME Option names may be abbreviated, e.g., "-s SOURCE_FILENAME -li 3" and users may use the completer with either options or values. gdb/ChangeLog: * completer.c: Include location.h. (enum match_type): New enum. (location_completer): Rename to ... (linespec_completer): ... this. (collect_explicit_location_matches, backup_text_ptr) (explicit_location_completer): New functions. (location_completer): "New" function; handle linespec and explicit location completions. (complete_line_internal): Remove all location completer-specific handling. * linespec.c (linespec_lexer_lex_keyword, is_ada_operator) (find_toplevel_char): Export. (linespec_parse_line_offset): Export. Issue error if STRING is not numerical. (gdb_get_linespec_parser_quote_characters): New function. * linespec.h (linespec_parse_line_offset): Declare. (get_gdb_linespec_parser_quote_characters): Declare. (is_ada_operator): Declare. (find_toplevel_char): Declare. (linespec_lexer_lex_keyword): Declare. * location.c (explicit_to_event_location): New function. (explicit_location_lex_one): New function. (string_to_explicit_location): New function. (string_to_event_location): Handle explicit locations. * location.h (explicit_to_event_location): Declare. (string_to_explicit_location): Declare. gdb/testsuite/ChangeLog: * gdb.linespec/3explicit.c: New file. * gdb.linespec/cpexplicit.cc: New file. * gdb.linespec/cpexplicit.exp: New file. * gdb.linespec/explicit.c: New file. * gdb.linespec/explicit.exp: New file. * gdb.linespec/explicit2.c: New file. * gdb.linespec/ls-errs.exp: Add explicit location tests. * lib/gdb.exp (capture_command_output): Regexp-escape `command' before using in the matching pattern. Clarify that `prefix' is a regular expression. commit 00e52e5376c7ec604a739e6242e6be36221162d7 Author: Keith Seitz Date: Tue Aug 11 17:09:35 2015 -0700 Explicit locations: introduce explicit locations This patch add support for explicit locations and switches many linespec locations to this new location type. This patch also converts all linespec locations entered by the user to an explicit representation internally (thus bypassing the linespec parser when resetting the breakpoint). This patch does not introduce any user-visible changes. gdb/ChangeLog: * break-catch-throw.c (re_set_exception_catchpoint): Convert linespec into explicit location. * breakpoint.c (create_overlay_breakpoint) (create_longjmp_master_breakpoint) (create_std_terminate_master_breakpoint) (create_exception_master_breakpoint): Convert linespec into explicit location. (update_static_tracepoint): Convert linespec into explicit location. * linespec.c (enum offset_relative_sign, struct line_offset): Move location.h. (struct linespec) : Replace with ... : ... this. : New member. (PARSER_EXPLICIT): New accessor macro. (undefined_label_error): New function. (source_file_not_found_error): New function. (linespec_parse_basic): The parser result is now an explicit location. Use PARSER_EXPLICIT to access it. Use undefined_label_error. (canonicalize_linespec): Convert canonical linespec into explicit location. Move string representation of location to explicit_location_to_linespec and use it and explicit_location_to_string to save string representations of the canonical location. (create_sals_line_offset, convert_linespec_to_sals): `ls' contains an explicit location. Update all references. (convert_explicit_location_to_sals): New function. (parse_linespec): Use PARSER_EXPLICIT to access the parser result's explicit location. (linespec_state_constructor): Initialize is_linespec. Use PARSER_EXPLICIT. (linespec_parser_delete): Use PARSER_EXPLICIT to access the parser's result. (event_location_to_sals): For linespec locations, set is_linespec. Handle explicit locations. (decode_objc): 'ls' contains an explicit location now. Update all references. (symtabs_from_filename): Use source_file_not_found_error. * location.c (struct event_location.u) : New member. (initialize_explicit_location): New function. (initialize_event_location): Initialize explicit locations. (new_explicit_location, get_explicit_location) (get_explicit_location_const): New functions. (explicit_to_string_internal): New function; most of contents moved from canonicalize_linespec. (explicit_location_to_string): New function. (explicit_location_to_linespec): New function. (copy_event_location, delete_event_location) (event_location_to_string_const, event_location_empty_p): Handle explicit locations. * location.h (enum offset_relative_sign, struct line_offset): Move here from linespec.h. (enum event_location_type): Add EXPLICIT_LOCATION. (struct explicit_location): New structure. (explicit_location_to_string): Declare. (explicit_location_to_linespec): Declare. (new_explicit_location, get_explicit_locationp (get_explicit_location_const, initialize_explicit_location): Declare. commit 5b56227bdc000d129d393772f1e4544b5ea0fd46 Author: Keith Seitz Date: Tue Aug 11 17:09:35 2015 -0700 Explicit locations: introduce probe locations This patch adds support for probe locations and converts existing probe linespec locations to the new location type. gdb/ChangeLog: * break-catch-throw.c (re_set_exception_catchpoint): Convert linespec for stap probe to probe location. * breakpoint.c (create_longjmp_master_breakpoint) (create_exception_master_breakpoint): Likewise. (break_command_1): Remove local variable `arg_cp'. Check location type to set appropriate breakpoint ops methods. (trace_command): Likewise. * linespec.c (event_location_to_sals): Assert on probe locations. * location.c (EL_PROBE): Add macro definition. (new_probe_location, get_probe_location): New functions. (copy_event_location, delete_event_location, event_location_to_string) (string_to_event_location, event_location_empty_p): Handle probe locations. * location.h (enum event_location_type): Add PROBE_LOCATION. (new_probe_location, get_probe_location): Declare. * probe.c (parse_probes): Assert that LOCATION is a probe location. Convert linespec into probe location. commit a06efdd6effd149a1d392df8d62824e44872003a Author: Keith Seitz Date: Tue Aug 11 17:09:35 2015 -0700 Explicit locations: introduce address locations This patch adds support for address locations, of the form "*ADDR". [Support for address linespecs has been removed/replaced by this "new" location type.] This patch also converts any existing address locations from its previous linespec type. gdb/ChangeLog: * breakpoint.c (create_thread_event_breakpoint, init_breakpoint_sal): Convert linespec to address location. * linespec.c (canonicalize_linespec): Do not handle address locations here. (convert_address_location_to_sals): New function; contents moved from ... (convert_linespc_to_sals): ... here. (parse_linespec): Remove address locations from linespec grammar. Remove handling of address locations. (linespec_lex_to_end): Remove handling of address linespecs. (event_location_to_sals): Handle ADDRESS_LOCATION. (linespec_expression_to_pc): Export. * linespec.h (linespec_expression_to_pc): Add declaration. * location.c (struct event_location.u)
: New member. (new_address_location, get_address_location): New functions. (copy_event_location, delete_event_location, event_location_to_string) (string_to_event_location, event_location_empty_p): Handle address locations. * location.h (enum event_location_type): Add ADDRESS_LOCATION. (new_address_location, get_address_location): Declare. * python/py-finishbreakpoint.c (bpfinishpy_init): Convert linespec to address location. * spu-tdep.c (spu_catch_start): Likewise. commit f00aae0f7b11c4dc85c38d5fad46975033ba3fff Author: Keith Seitz Date: Tue Aug 11 17:09:35 2015 -0700 Explicit locations: use new location API This patch converts the code base to use the new struct event_location API being introduced. This patch preserves the current functionality and adds no new features. The "big picture" API usage introduced by this patch may be illustrated with a simple exmaple. Where previously developers would write: void my_command (char *arg, int from_tty) { create_breakpoint (..., arg, ...); ... } one now uses: void my_command (char *arg, int from_tty) { struct event_locaiton *location; struct cleanup *back_to; location = string_to_event_locaiton (&arg, ...); back_to = make_cleanup_delete_event_location (location); create_breakpoint (..., location, ...); do_cleanups (back_to); } Linespec-decoding functions (now called location-decoding) such as decode_line_full no longer skip argument pointers over processed input. That functionality has been moved into string_to_event_location as demonstrated above. gdb/ChangeLog * ax-gdb.c: Include location.h. (agent_command_1) Use linespec location instead of address string. * break-catch-throw.c: Include location.h. (re_set_exception_catchpoint): Use linespec locations instead of address strings. * breakpoint.c: Include location.h. (create_overlay_event_breakpoint, create_longjmp_master_breakpoint) (create_std_terminate_master_breakpoint) (create_exception_master_breakpoint, update_breakpoints_after_exec): Use linespec location instead of address string. (print_breakpoint_location): Use locations and event_location_to_string. Print extra_string for pending locations for non-MI streams. (print_one_breakpoint_location): Use locations and event_location_to_string. (init_raw_breakpoint_without_location): Initialize b->location. (create_thread_event_breakpoint): Use linespec location instead of address string. (init_breakpoint_sal): Likewise. Only save extra_string if it is non-NULL and not the empty string. Use event_location_to_string instead of `addr_string'. Constify `p' and `endp'. Use skip_spaces_const/skip_space_const instead of non-const versions. Copy the location into the breakpoint. If LOCATION is NULL, save the breakpoint address as a linespec location instead of an address string. (create_breakpoint_sal): Change `addr_string' parameter to a struct event_location. All uses updated. (create_breakpoints_sal): Likewise for local variable `addr_string'. (parse_breakpoint_sals): Use locations instead of address strings. Remove check for empty linespec with conditional. Refactor. (decode_static_tracepoint_spec): Make argument const and update function. (create_breakpoint): Change `arg' to a struct event_location and rename. Remove `copy_arg' and `addr_start'. If EXTRA_STRING is empty, set it to NULL. Don't populate `canonical' for pending breakpoints. Pass `extra_string' to find_condition_and_thread. Clear `extra_string' if `rest' was NULL. Do not error with "garbage after location" if setting a dprintf breakpoint. Copy the location into the breakpoint instead of an address string. (break_command_1): Use string_to_event_location and pass this to create_breakpoint instead of an address string. Check against `arg_cp' for a probe linespec. (dprintf_command): Use string_to_event_location and pass this to create_breakpoint instead of an address string. Throw an exception if no format string was specified. (print_recreate_ranged_breakpoint): Use event_location_to_string instead of address strings. (break_range_command, until_break_command) (init_ada_exception_breakpoint): Use locations instead of address strings. (say_where): Print out extra_string for pending locations. (base_breakpoint_dtor): Delete `location' and `location_range_end' of the breakpoint. (base_breakpoint_create_sals_from_location): Use struct event_location instead of address string. Remove `addr_start' and `copy_arg' parameters. (base_breakpoint_decode_location): Use struct event_location instead of address string. (bkpt_re_set): Use locations instead of address strings. Use event_location_empty_p to check for unset location. (bkpt_print_recreate): Use event_location_to_string instead of an address string. Print out extra_string for pending locations. (bkpt_create_sals_from_location, bkpt_decode_location) (bkpt_probe_create_sals_from_location): Use struct event_location instead of address string. (bkpt_probe_decode_location): Use struct event_location instead of address string. (tracepoint_print_recreate): Use event_location_to_string to recreate the tracepoint. (tracepoint_create_sals_from_location, tracepoint_decode_location) (tracepoint_probe_create_sals_from_location) (tracepoint_probe_decode_location): Use struct event_location instead of address string. (dprintf_print_recreate): Use event_location_to_string to recreate the dprintf. (dprintf_re_set): Remove check for valid/missing format string. (strace_marker_create_sals_from_location) (strace_marker_create_breakpoints_sal, strace_marker_decode_location) (update_static_tracepoint): Use struct event_location instead of address string. (location_to_sals): Likewise. Pass `extra_string' to find_condition_and_thread. For newly resolved pending breakpoint locations, clear the location's string representation. Assert that the breakpoint's condition string is NULL when condition_not_parsed. (breakpoint_re_set_default, create_sals_from_location_default) (decode_location_default, trace_command, ftrace_command) (strace_command, create_tracepoint_from_upload): Use locations instead of address strings. * breakpoint.h (struct breakpoint_ops) : Use struct event_location instead of address string. Update all uses. : Likewise. (struct breakpoint) : Change to struct event_location and rename `location'. : Change to struct event_location and rename `location_range_end'. (create_breakpoint): Use struct event_location instead of address string. * cli/cli-cmds.c: Include location.h. (edit_command, list_command): Use locations instead of address strings. * elfread.c: Include location.h. (elf_gnu_ifunc_resolver_return_stop): Use event_location_to_string. * guile/scm-breakpoint.c: Include location.h. (bpscm_print_breakpoint_smob): Use event_location_to_string. (gdbscm_register_breakpoint): Use locations instead of address strings. * linespec.c: Include location.h. (struct ls_parser) : Change to const char *. (PARSER_STREAM): Update. (lionespec_lexer_lex_keyword): According to find_condition_and_thread, keywords must be followed by whitespace. (canonicalize_linespec): Save a linespec location into `canonical'. Save a canonical linespec into `canonical'. (parse_linespec): Change `argptr' to const char * and rename `arg'. All uses updated. Update function description. (linespec_parser_new): Initialize `parser'. Update initialization of parsing stream. (event_location_to_sals): New function. (decode_line_full): Change `argptr' to a struct event_location and rename it `location'. Use locations instead of address strings. Call event_location_to_sals instead of parse_linespec. (decode_line_1): Likewise. (decode_line_with_current_source, decode_line_with_last_displayed) Use locations instead of address strings. (decode_objc): Likewise. Change `argptr' to const char * and rename `arg'. (destroy_linespec_result): Delete the linespec result's location instead of freeing the address string. * linespec.h (struct linespec_result) : Change to struct event_location and rename to ... : ... this. (decode_line_1, decode_line_full): Change `argptr' to struct event_location. All callers updated. * mi/mi-cmd-break.c: Include language.h, location.h, and linespec.h. (mi_cmd_break_insert_1): Use locations instead of address strings. Throw an error if there was "garbage" at the end of the specified linespec. * probe.c: Include location.h. (parse_probes): Change `argptr' to struct event_location. Use event locations instead of address strings. * probe.h (parse_probes): Change `argptr' to struct event_location. * python/py-breakpoint.c: Include location.h. (bppy_get_location): Constify local variable `str'. Use event_location_to_string. (bppy_init): Use locations instead of address strings. * python/py-finishbreakpoint.c: Include location.h. (bpfinishpy_init): Remove local variable `addr_str'. Use locations instead of address strings. * python/python.c: Include location.h. (gdbpy_decode_line): Use locations instead of address strings. * remote.c: Include location.h. (remote_download_tracepoint): Use locations instead of address strings. * spu-tdep.c: Include location.h. (spu_catch_start): Remove local variable `buf'. Use locations instead of address strings. * tracepoint.c: Include location.h. (scope_info): Use locations instead of address strings. (encode_source_string): Constify parameter `src'. * tracepoint.h (encode_source_string): Likewise. gdb/testsuite/ChangeLog * gdb.base/dprintf-pending.exp: Update dprintf "without format" test. Add tests for missing ",FMT" and ",". commit c7c1b3e998a77eb077ac3c08c88a97d2e11dfef0 Author: Keith Seitz Date: Tue Aug 11 17:09:35 2015 -0700 Explicit locations: introduce new struct event_location-based API This patch introduces the new breakpoint/"linespec" API based on a new struct event_location. This API currently only supports traditional linespecs, maintaining the status quo of the code base. Future patches will add additional functionality for other location types such as address locations. gdb/ChangeLog: * Makefile.in (SFILES): Add location.c. (HFILES_NO_SRCDIR): Add location.h. (COMMON_OBS): Add location.o. * linespec.c (linespec_lex_to_end): New function. * linespec.h (linespec_lex_to_end): Declare. * location.c: New file. * location.h: New file. commit 5f700d83f7f3ea422d789c51a25f04818bf788d7 Author: Keith Seitz Date: Tue Aug 11 17:09:35 2015 -0700 Explicit locations: rename "address string"/"addr_string" to "location" This patch renames all occurrances of "addr_string" and "address string" in the breakpoint/linespec APIs. This will emphasize the change from address strings used in setting breakpoints (et al) to the new locations-based API introduced in subsequent patches. gdb/ChangeLog: * breakpoint.h (struct breakpoint_ops) : Renamed to create_sals_from_location. : Renamed to decode_location. Update all callers. * breakpoint.c (create_sals_from_address_default): Renamed to ... (create_sals_from_location_default): ... this. (addr_string_to_sals): Renamed to ... (location_to_sals): ... this. (decode_linespec_default): Renamed to ... (decode_location_default): ... this. (base_breakpoint_create_sals_from_address): Renamed to ... (base_breakpoint_create_sals_from_location): ... this. (bkpt_create_sals_from_address): Renamed to ... (bkpt_create_sals_from_location): ... this. (bkpt_decode_linespec): Renamed to ... (bkpt_decode_location): ... this. (bkpt_probe_create_sals_from_address): Renamed to ... (bkpt_probe_create_sals_from_location): ... this. (tracepoint_create_sals_from_address): Renamed to ... (tracepoint_create_sals_from_location): ... this. (tracepoint_decode_linespec): Renamed to ... (tracepoint_decode_location): ... this. (tracepoint_probe_create_sals_from_address): Renamed to ... (tracepoint_probe_create_sals_from_location): ... this. (tracepoint_probe_decode_linespec): Renamed to ... (tracepoint_probe_decode_location): ... this. (strace_marker_create_sals_from_address): Renamed to ... (strace_marker_create_sals_from_location): ... this. (decode_linespec_default): Renamed to ... (decode_location_default): ... this. commit a12a06d74aa88361db80309d47185df900a89312 Author: GDB Administrator Date: Wed Aug 12 00:00:07 2015 +0000 Automatic date update in version.in commit c674f5cd3f900c5b12996ea5188ff818fe9eb6bc Author: Jiong Wang Date: Tue Aug 11 22:12:41 2015 +0100 [AArch64] Improve BFD overflow warning message for -fpic 2015-08-11 Jiong Wang bfd/ * elfnn-aarch64.c (elfNN_aarch64_relocate_section): Improve warning message for R_AARCH64_LD64_GOTPAGE_LO15/R_AARCH64_LD32_GOTPAGE_LO14. commit b261b4db940297f254280ef57589879341d09435 Author: Jiong Wang Date: Tue Aug 11 22:12:08 2015 +0100 [AArch64] Commit missing testcases commit 9331eea1f83b94c6f5a72ebf643aa8978a0b0a13 Author: Jiong Wang Date: Tue Aug 11 22:05:39 2015 +0100 [AArch64]Speed up linking speed by skipping unncessary TLS reloc type check 2015-08-11 Jiong Wang bfd/ * elfnn-aarch64.c (IS_AARCH64_TLS_RELAX_RELOC): New. (aarch64_can_relax_tls): Use the new IS_AARCH64_TLS_RELAX_RELOC. commit f678ded748f994a16e27fc3ac1d1c9451b98f608 Author: Jiong Wang Date: Tue Aug 11 21:55:52 2015 +0100 [AArch64] Long branch veneer support far symbol defined by --defsym 2015-08-11 Jiong Wang bfd/ * bfd/elfnn-aarch64.c (aarch64_type_of_stub): New parameter "sym_sec". Loose the check for symbol from ABS section. (elfNN_aarch64_size_stubs): Pass sym_sec. ld/testsuite/ * ld-aarch64/farcall-b-defsym.s: New test. * ld-aarch64/farcall-bl-defsym.s: Likewise. * ld-aarch64/farcall-b-defsym.d: New expectation. * ld-aarch64/farcall-bl-defsym.d: Likewise. commit 07f9ddfeba5b572451471f905473f7ddbba1d472 Author: Jiong Wang Date: Tue Aug 11 21:44:31 2015 +0100 [AArch64] PR18668, repair long branch veneer for plt stub 2015-08-11 Jiong Wang bfd/ PR ld/18668 * elfnn-aarch64.c (aarch64_type_of_stub): Update destination for calls go through plt stub. (elfNN_aarch64_final_link_relocate): Adjust code logic for CALL26, JUMP26 relocation to support inserting veneer for call to plt stub. ld/testsuite/ * ld-aarch64/farcall-b-gsym.s: New test. * ld-aarch64/farcall-b-plt.s: Likewise. * ld-aarch64/farcall-bl-plt.s: Likewise. * ld-aarch64/farcall-b-gsym.d: New expect file. * ld-aarch64/farcall-b-plt.d: Likewise. * ld-aarch64/farcall-bl-plt.d: Likewise. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 19 + Makefile.def | 11 +- Makefile.in | 647 ++++- bfd/ChangeLog | 193 ++ bfd/ChangeLog-2006 | 2 +- bfd/ChangeLog-9193 | 16 +- bfd/ChangeLog-9495 | 134 +- bfd/Makefile.am | 4 +- bfd/Makefile.in | 4 +- bfd/acinclude.m4 | 4 +- bfd/bfd-in2.h | 12 + bfd/bfd.m4 | 4 +- bfd/coff-rs6000.c | 2 +- bfd/coff-sh.c | 2 +- bfd/coffcode.h | 8 +- bfd/coffgen.c | 6 +- bfd/config.bfd | 10 +- bfd/configure.ac | 4 +- bfd/configure.com | 4 +- bfd/configure.host | 4 +- bfd/cpu-avr.c | 10 +- bfd/cpu-nios2.c | 2 +- bfd/ecoff.c | 2 +- bfd/elf-attrs.c | 2 +- bfd/elf-bfd.h | 13 +- bfd/elf.c | 81 +- bfd/elf32-cris.c | 14 +- bfd/elf32-h8300.c | 2 +- bfd/elf32-i386.c | 12 +- bfd/elf32-msp430.c | 54 +- bfd/elf32-nios2.c | 86 +- bfd/elf32-nios2.h | 2 +- bfd/elf32-or1k.c | 6 +- bfd/elf32-ppc.c | 12 +- bfd/elf32-rl78.c | 8 +- bfd/elf32-sh.c | 2 +- bfd/elf32-v850.c | 18 +- bfd/elf64-sh64.c | 2 +- bfd/elf64-x86-64.c | 12 +- bfd/elflink.c | 219 ++- bfd/elfnn-aarch64.c | 160 +- bfd/elfxx-aarch64.c | 5 + bfd/elfxx-sparc.c | 4 +- bfd/ihex.c | 6 +- bfd/libbfd-in.h | 2 +- bfd/libbfd.h | 5 +- bfd/mach-o.c | 20 +- bfd/makefile.vms | 6 +- bfd/mep-relocs.pl | 4 +- bfd/opncls.c | 2 +- bfd/peXXigen.c | 4 +- bfd/pei-x86_64.c | 2 +- bfd/peicode.h | 32 + bfd/reloc.c | 15 + bfd/srec.c | 2 +- bfd/versados.c | 4 +- bfd/version.h | 2 +- bfd/vms-alpha.c | 2 +- bfd/warning.m4 | 6 +- binutils/BRANCHES | 4 +- binutils/ChangeLog | 26 + binutils/ChangeLog-2005 | 4 +- binutils/ChangeLog-2006 | 4 +- binutils/ChangeLog-2008 | 4 +- binutils/ChangeLog-2009 | 2 +- binutils/MAINTAINERS | 2 +- binutils/NEWS | 10 +- binutils/README | 2 +- binutils/ar.c | 3 +- binutils/arlex.l | 6 +- binutils/arparse.y | 30 +- binutils/bucomm.c | 8 +- binutils/coffgrok.c | 2 +- binutils/configure | 93 +- binutils/configure.ac | 4 +- binutils/configure.com | 6 +- binutils/configure.tgt | 16 +- binutils/deflex.l | 12 +- binutils/defparse.y | 28 +- binutils/dlltool.c | 58 +- binutils/dllwrap.c | 10 +- binutils/doc/binutils.texi | 17 +- binutils/dwarf.c | 2 +- binutils/elfcomm.c | 12 +- binutils/embedspu.sh | 2 +- binutils/makefile.vms | 4 +- binutils/mcparse.y | 10 +- binutils/nlmconv.c | 8 +- binutils/nm.c | 4 +- binutils/objcopy.c | 18 +- binutils/objdump.c | 100 +- binutils/rclex.c | 12 +- binutils/rcparse.y | 42 +- binutils/readelf.c | 2 +- binutils/resbin.c | 6 +- binutils/rescoff.c | 2 +- binutils/resrc.c | 14 +- binutils/resres.c | 2 +- binutils/stabs.c | 2 +- binutils/strings.c | 6 +- binutils/sysinfo.y | 88 +- binutils/syslex.l | 2 +- binutils/syslex_wrap.c | 2 +- binutils/sysroff.info | 32 +- binutils/testsuite/ChangeLog | 44 + binutils/testsuite/binutils-all/objcopy.exp | 81 + binutils/testsuite/binutils-all/strip-12.d | 7 + binutils/testsuite/binutils-all/strip-12.s | 7 + binutils/testsuite/binutils-all/symbols-1.d | 15 + binutils/testsuite/binutils-all/symbols-2.d | 15 + binutils/testsuite/binutils-all/symbols-3.d | 15 + binutils/testsuite/binutils-all/symbols-4.d | 15 + binutils/testsuite/binutils-all/symbols.s | 14 + binutils/testsuite/lib/utils-lib.exp | 36 +- binutils/windres.c | 16 +- config.guess | 6 +- config.sub | 7 +- gas/ChangeLog | 53 + gas/ChangeLog-2005 | 6 +- gas/ChangeLog-2006 | 4 +- gas/ChangeLog-2010 | 2 +- gas/ChangeLog-9295 | 24 +- gas/README | 4 +- gas/config/atof-ieee.c | 2 +- gas/config/atof-vax.c | 2 +- gas/config/m68k-parse.y | 18 +- gas/config/obj-coff.h | 8 +- gas/config/obj-elf.c | 2 +- gas/config/obj-evax.c | 6 +- gas/config/obj-macho.c | 122 +- gas/config/obj-macho.h | 2 +- gas/config/rl78-defs.h | 2 +- gas/config/rl78-parse.y | 2 +- gas/config/rx-parse.y | 2 +- gas/config/tc-aarch64.c | 24 + gas/config/tc-alpha.c | 30 +- gas/config/tc-arm.c | 22 +- gas/config/tc-cr16.c | 12 +- gas/config/tc-cr16.h | 4 +- gas/config/tc-cris.c | 4 +- gas/config/tc-crx.c | 112 +- gas/config/tc-crx.h | 4 +- gas/config/tc-dlx.c | 2 +- gas/config/tc-frv.c | 68 +- gas/config/tc-h8300.c | 50 +- gas/config/tc-i370.c | 2 +- gas/config/tc-i386.c | 2 +- gas/config/tc-i860.c | 10 +- gas/config/tc-i960.c | 10 +- gas/config/tc-ia64.c | 28 +- gas/config/tc-ip2k.c | 12 +- gas/config/tc-m32c.c | 26 +- gas/config/tc-m32r.c | 12 +- gas/config/tc-m32r.h | 2 +- gas/config/tc-m68hc11.c | 34 +- gas/config/tc-m68k.c | 80 +- gas/config/tc-mcore.c | 2 +- gas/config/tc-mep.c | 38 +- gas/config/tc-mep.h | 2 +- gas/config/tc-microblaze.h | 4 +- gas/config/tc-mips.c | 22 +- gas/config/tc-mmix.c | 8 +- gas/config/tc-mn10300.c | 14 +- gas/config/tc-moxie.c | 10 +- gas/config/tc-msp430.c | 136 +- gas/config/tc-mt.c | 34 +- gas/config/tc-mt.h | 2 +- gas/config/tc-nios2.c | 170 +- gas/config/tc-ns32k.c | 2 +- gas/config/tc-ppc.c | 4 +- gas/config/tc-rl78.c | 4 +- gas/config/tc-rx.c | 2 +- gas/config/tc-s390.c | 2 +- gas/config/tc-score.h | 4 +- gas/config/tc-sh.c | 8 +- gas/config/tc-sparc.c | 2 +- gas/config/tc-spu.c | 22 +- gas/config/tc-tic30.c | 2 +- gas/config/tc-tic4x.c | 106 +- gas/config/tc-tic4x.h | 2 +- gas/config/tc-tic6x.c | 10 +- gas/config/tc-v850.c | 2 +- gas/config/tc-vax.c | 110 +- gas/config/tc-xc16x.c | 4 +- gas/config/tc-xc16x.h | 2 +- gas/config/tc-xstormy16.c | 6 +- gas/config/tc-xtensa.c | 50 +- gas/config/tc-xtensa.h | 4 +- gas/config/tc-z80.c | 20 +- gas/config/tc-z80.h | 2 +- gas/config/te-generic.h | 2 +- gas/config/te-vms.c | 2 +- gas/config/xtensa-relax.c | 12 +- gas/configure.ac | 4 +- gas/configure.com | 8 +- gas/configure.tgt | 8 +- gas/doc/c-aarch64.texi | 4 + gas/dwarf2dbg.c | 2 +- gas/itbl-lex.l | 22 +- gas/itbl-parse.y | 56 +- gas/makefile.vms | 4 +- gas/testsuite/ChangeLog | 28 + gas/testsuite/gas/aarch64/reloc-dtprel_lo12-1.d | 9 + gas/testsuite/gas/aarch64/reloc-dtprel_lo12-1.s | 5 + .../gas/aarch64/reloc-dtprel_lo12-ilp32-1.d | 10 + .../gas/aarch64/reloc-dtprel_lo12-ilp32-1.s | 5 + gas/testsuite/gas/aarch64/reloc-tlsldm-page-1.d | 10 + gas/testsuite/gas/aarch64/reloc-tlsldm-page-1.s | 6 + .../gas/aarch64/reloc-tlsldm-page-ilp32-1.d | 12 + .../gas/aarch64/reloc-tlsldm-page-ilp32-1.s | 6 + gas/testsuite/gas/aarch64/reloc-tlsldm_lo12_nc-1.d | 10 + gas/testsuite/gas/aarch64/reloc-tlsldm_lo12_nc-1.s | 5 + .../gas/aarch64/reloc-tlsldm_lo12_nc-ilp32-1.d | 11 + .../gas/aarch64/reloc-tlsldm_lo12_nc-ilp32-1.s | 5 + gas/testsuite/gas/mips/r6-n32.d | 2 + gas/testsuite/gas/mips/r6-n64.d | 2 + gas/testsuite/gas/mips/r6.d | 2 + gas/testsuite/gas/mips/r6.s | 3 + gdb/ChangeLog | 931 +++++++ gdb/Makefile.in | 11 +- gdb/NEWS | 21 + gdb/aarch64-linux-nat.c | 26 +- gdb/acinclude.m4 | 127 +- gdb/arm-linux-nat.c | 37 +- gdb/arm-tdep.c | 4 +- gdb/ax-gdb.c | 8 +- gdb/ax-general.c | 2 +- gdb/break-catch-throw.c | 23 +- gdb/breakpoint.c | 834 ++++--- gdb/breakpoint.h | 51 +- gdb/btrace.c | 15 + gdb/btrace.h | 10 + gdb/build-id.c | 137 +- gdb/build-id.h | 3 + gdb/c-exp.y | 2 +- gdb/cli/cli-cmds.c | 54 +- gdb/common/agent.c | 1 - gdb/common/filestuff.c | 2 + gdb/compile/compile-loc2c.c | 4 +- gdb/complaints.c | 17 +- gdb/completer.c | 218 ++- gdb/configure | 856 +++++-- gdb/configure.ac | 14 + gdb/cp-name-parser.y | 2 +- gdb/darwin-nat.c | 6 +- gdb/defs.h | 15 +- gdb/doc/ChangeLog | 28 + gdb/doc/gdb.texinfo | 297 ++- gdb/dtrace-probe.c | 8 + gdb/dwarf2expr.c | 2 +- gdb/dwarf2loc.c | 4 +- gdb/dwarf2read.c | 35 +- gdb/elfread.c | 4 +- gdb/eval.c | 3 +- gdb/exec.c | 110 +- gdb/exec.h | 2 + gdb/features/library-list-svr4.dtd | 5 +- gdb/frame.c | 42 + gdb/frame.h | 7 + gdb/gdb_bfd.c | 46 +- gdb/gdb_bfd.h | 4 + gdb/gdbarch.h | 6 +- gdb/gdbarch.sh | 4 + gdb/gdbserver/ChangeLog | 154 ++ gdb/gdbserver/configure.srv | 5 + gdb/gdbserver/gdbthread.h | 3 +- gdb/gdbserver/inferiors.c | 4 +- gdb/gdbserver/inferiors.h | 5 +- gdb/gdbserver/linux-aarch32-low.c | 140 + gdb/gdbserver/linux-aarch32-low.h | 29 + gdb/gdbserver/linux-aarch64-low.c | 100 +- gdb/gdbserver/linux-arm-low.c | 78 +- gdb/gdbserver/linux-low.c | 348 ++- gdb/gdbserver/linux-low.h | 13 +- gdb/gdbserver/linux-nios2-low.c | 25 +- gdb/gdbserver/linux-x86-low.c | 3 - gdb/gdbserver/regcache.c | 7 +- gdb/gdbserver/server.c | 8 +- gdb/gdbserver/server.h | 1 + gdb/gdbserver/thread-db.c | 70 +- gdb/gdbserver/tracepoint.c | 6 +- gdb/gdbthread.h | 61 +- gdb/guile/scm-breakpoint.c | 23 +- gdb/guile/scm-param.c | 2 +- gdb/i386-linux-tdep.c | 2 +- gdb/inf-ptrace.c | 6 +- gdb/infcmd.c | 31 +- gdb/inferior.c | 3 + gdb/infrun.c | 2234 ++++++++++++---- gdb/infrun.h | 7 + gdb/language.c | 35 +- gdb/language.h | 2 - gdb/linespec.c | 582 +++-- gdb/linespec.h | 42 +- gdb/linux-nat.c | 33 +- gdb/linux-thread-db.c | 100 +- gdb/location.c | 714 +++++ gdb/location.h | 231 ++ gdb/main.c | 24 +- gdb/memory-map.c | 2 +- gdb/mi/mi-cmd-break.c | 76 +- gdb/nat/gdb_thread_db.h | 60 + gdb/nat/linux-waitpid.c | 2 +- gdb/nios2-linux-tdep.c | 36 +- gdb/nios2-tdep.c | 709 +++++- gdb/nios2-tdep.h | 7 +- gdb/nto-procfs.c | 16 +- gdb/nto-tdep.c | 30 +- gdb/nto-tdep.h | 2 +- gdb/osabi.c | 16 +- gdb/parse.c | 3 +- gdb/ppc-linux-tdep.c | 31 +- gdb/probe.c | 20 +- gdb/probe.h | 6 +- gdb/procfs.c | 6 +- gdb/progspace.h | 17 + gdb/python/lib/gdb/command/type_printers.py | 2 +- gdb/python/py-breakpoint.c | 12 +- gdb/python/py-finishbreakpoint.c | 16 +- gdb/python/py-frame.c | 2 +- gdb/python/py-linetable.c | 14 +- gdb/python/py-symbol.c | 5 +- gdb/python/py-symtab.c | 8 +- gdb/python/python.c | 26 +- gdb/record-btrace.c | 25 +- gdb/record-full.c | 2 +- gdb/regcache.c | 6 +- gdb/remote-m32r-sdi.c | 6 +- gdb/remote-sim.c | 20 +- gdb/remote.c | 76 +- gdb/rs6000-tdep.c | 70 +- gdb/s390-linux-tdep.c | 115 +- gdb/solib-aix.c | 6 +- gdb/solib-darwin.c | 5 +- gdb/solib-dsbt.c | 3 +- gdb/solib-frv.c | 3 +- gdb/solib-spu.c | 5 +- gdb/solib-svr4.c | 156 +- gdb/solib-target.c | 2 - gdb/solib.c | 333 ++- gdb/solib.h | 4 - gdb/solist.h | 22 +- gdb/source.c | 364 +++- gdb/source.h | 24 + gdb/spu-tdep.c | 11 +- gdb/stack.c | 45 - gdb/symfile.c | 34 +- gdb/symtab.c | 40 +- gdb/symtab.h | 2 + gdb/target-debug.h | 5 +- gdb/target-delegates.c | 59 + gdb/target.c | 92 + gdb/target.h | 28 +- gdb/target/waitstatus.h | 5 +- gdb/testsuite/ChangeLog | 165 ++- gdb/testsuite/gdb.arch/ppc64-atomic-inst.exp | 50 +- gdb/testsuite/gdb.base/bp-permanent.exp | 17 +- gdb/testsuite/gdb.base/checkpoint-ns.exp | 26 + gdb/testsuite/gdb.base/checkpoint.exp | 6 +- gdb/testsuite/gdb.base/completion.exp | 82 + gdb/testsuite/gdb.base/dprintf-pending.exp | 10 +- gdb/testsuite/gdb.base/gdbhistsize-history.exp | 41 +- gdb/testsuite/gdb.base/gdbinit-history.exp | 124 +- gdb/testsuite/gdb.base/help.exp | 2 +- gdb/testsuite/gdb.base/readline.exp | 94 +- gdb/testsuite/gdb.base/solib-mismatch.exp | 46 +- gdb/testsuite/gdb.base/valgrind-disp-step.c | 32 + gdb/testsuite/gdb.base/valgrind-disp-step.exp | 136 + gdb/testsuite/gdb.base/valgrind-infcall.exp | 5 + gdb/testsuite/gdb.btrace/instruction_history.exp | 20 +- gdb/testsuite/gdb.btrace/tsx.c | 26 + gdb/testsuite/gdb.btrace/tsx.exp | 41 + gdb/testsuite/gdb.btrace/x86-tsx.S | 29 + gdb/testsuite/gdb.linespec/3explicit.c | 28 + gdb/testsuite/gdb.linespec/cpexplicit.cc | 63 + gdb/testsuite/gdb.linespec/cpexplicit.exp | 112 + gdb/testsuite/gdb.linespec/explicit.c | 56 + gdb/testsuite/gdb.linespec/explicit.exp | 406 +++ gdb/testsuite/gdb.linespec/explicit2.c | 24 + gdb/testsuite/gdb.linespec/ls-errs.exp | 57 +- gdb/testsuite/gdb.mi/mi-break.exp | 82 + gdb/testsuite/gdb.mi/mi-dprintf.exp | 12 +- gdb/testsuite/gdb.perf/single-step.exp | 2 +- gdb/testsuite/gdb.reverse/step-precsave.exp | 15 +- gdb/testsuite/gdb.reverse/until-precsave.exp | 4 +- .../gdb.threads/forking-threads-plus-breakpoint.c | 139 + .../forking-threads-plus-breakpoint.exp | 117 + .../gdb.threads/next-while-other-thread-longjmps.c | 127 + .../next-while-other-thread-longjmps.exp | 40 + .../gdb.threads/process-dies-while-handling-bp.c | 73 + .../gdb.threads/process-dies-while-handling-bp.exp | 147 + .../signal-while-stepping-over-bp-other-thread.exp | 2 +- .../gdb.threads/step-over-lands-on-breakpoint.c | 17 +- .../gdb.threads/step-over-lands-on-breakpoint.exp | 6 +- .../gdb.threads/step-over-trips-on-watchpoint.c | 17 +- .../gdb.threads/step-over-trips-on-watchpoint.exp | 9 +- gdb/testsuite/lib/gdb.exp | 197 ++- gdb/testsuite/lib/mi-support.exp | 16 +- gdb/thread.c | 197 ++- gdb/top.c | 6 +- gdb/tracepoint.c | 16 +- gdb/tracepoint.h | 2 +- gdb/utils.c | 11 +- gdb/utils.h | 2 + gdb/windows-nat.c | 6 +- gdb/xtensa-linux-nat.c | 18 +- gprof/ChangeLog | 4 + gprof/ChangeLog-2009 | 2 +- gprof/Makefile.am | 4 +- gprof/Makefile.in | 4 +- gprof/README | 8 +- gprof/basic_blocks.c | 2 +- gprof/configure.ac | 4 +- gprof/flat_bl.m | 4 +- gprof/gmon.h | 4 +- gprof/gmon_io.c | 8 +- gprof/gprof.c | 10 +- gprof/gprof.texi | 60 +- gprof/hist.c | 48 +- gprof/hist.h | 4 +- gprof/po/sv.po | 209 +- include/ChangeLog | 7 + include/ansidecl.h | 9 + include/elf/ChangeLog | 12 + include/elf/aarch64.h | 3 + intl/ChangeLog | 4 + intl/configure | 824 ++---- ld/ChangeLog | 28 + ld/ChangeLog-2009 | 2 +- ld/ChangeLog-9197 | 2 +- ld/NEWS | 3 + ld/configure.ac | 4 +- ld/configure.host | 6 +- ld/ld.texinfo | 25 +- ld/ldexp.c | 82 +- ld/ldint.texinfo | 92 +- ld/ldlang.c | 52 + ld/ldlang.h | 2 + ld/ldlex.h | 1 + ld/lexsup.c | 6 + ld/scripttempl/elf.sc | 4 +- ld/testsuite/ChangeLog | 95 + ld/testsuite/ld-aarch64/aarch64-elf.exp | 23 +- ld/testsuite/ld-aarch64/emit-relocs-529-overflow.d | 4 + ld/testsuite/ld-aarch64/emit-relocs-529-overflow.s | 11 + ld/testsuite/ld-aarch64/emit-relocs-529.d | 7 + ld/testsuite/ld-aarch64/emit-relocs-529.s | 10 + ld/testsuite/ld-aarch64/emit-relocs-86-overflow.d | 5 + ld/testsuite/ld-aarch64/emit-relocs-86-overflow.s | 11 + ld/testsuite/ld-aarch64/emit-relocs-86.d | 8 + ld/testsuite/ld-aarch64/emit-relocs-86.s | 10 + ld/testsuite/ld-aarch64/farcall-b-defsym.d | 18 + ld/testsuite/ld-aarch64/farcall-b-defsym.s | 10 + ld/testsuite/ld-aarch64/farcall-b-gsym.d | 5 + ld/testsuite/ld-aarch64/farcall-b-gsym.s | 17 + ld/testsuite/ld-aarch64/farcall-b-plt.d | 38 + ld/testsuite/ld-aarch64/farcall-b-plt.s | 11 + ld/testsuite/ld-aarch64/farcall-bl-defsym.d | 18 + ld/testsuite/ld-aarch64/farcall-bl-defsym.s | 10 + ld/testsuite/ld-aarch64/farcall-bl-plt.d | 38 + ld/testsuite/ld-aarch64/farcall-bl-plt.s | 12 + .../ld-aarch64/relocs-1027-symbolic-func.d | 5 + ...symbolic-func.s => relocs-1027-symbolic-func.s} | 0 ld/testsuite/ld-aarch64/relocs-257-symbolic-func.d | 5 - ld/testsuite/ld-aarch64/tls-small-ld.d | 9 + ld/testsuite/ld-aarch64/tls-small-ld.s | 8 + ld/testsuite/ld-elf/indirect.exp | 25 +- ld/testsuite/ld-elf/pr18720.out | 2 + ld/testsuite/ld-elf/pr18720a.c | 27 + ld/testsuite/ld-elf/pr18720b.c | 11 + ld/testsuite/ld-elf/pr18720c.c | 15 + ld/testsuite/ld-ifunc/ifunc.exp | 27 + ld/testsuite/ld-ifunc/pr18808.out | 1 + ld/testsuite/ld-ifunc/pr18808a.c | 9 + ld/testsuite/ld-ifunc/pr18808b.c | 24 + ld/testsuite/ld-undefined/require-defined-1.d | 4 + ld/testsuite/ld-undefined/require-defined-2.d | 8 + ld/testsuite/ld-undefined/require-defined-3.d | 8 + ld/testsuite/ld-undefined/require-defined-4.d | 8 + ld/testsuite/ld-undefined/require-defined-5.d | 10 + ld/testsuite/ld-undefined/require-defined.exp | 58 + ld/testsuite/ld-undefined/require-defined.s | 9 + ld/testsuite/lib/ld-lib.exp | 140 +- libiberty/ChangeLog | 7 + libiberty/d-demangle.c | 15 +- libiberty/testsuite/d-demangle-expected | 22 +- opcodes/ChangeLog | 15 + opcodes/ChangeLog-2006 | 20 +- opcodes/ChangeLog-2007 | 4 +- opcodes/Makefile.am | 16 +- opcodes/Makefile.in | 6 +- opcodes/aarch64-gen.c | 2 +- opcodes/aarch64-tbl.h | 2 +- opcodes/alpha-opc.c | 2 +- opcodes/arc-dis.c | 6 +- opcodes/arc-dis.h | 8 +- opcodes/arc-ext.h | 10 +- opcodes/arm-dis.c | 114 +- opcodes/avr-dis.c | 42 +- opcodes/cgen-asm.c | 2 +- opcodes/cgen-asm.in | 36 +- opcodes/cgen-dis.c | 2 +- opcodes/cgen-dis.in | 8 +- opcodes/cgen-ibld.in | 4 +- opcodes/cgen-opc.c | 6 +- opcodes/cgen.sh | 2 +- opcodes/configure.ac | 6 +- opcodes/configure.com | 4 +- opcodes/cr16-dis.c | 8 +- opcodes/cris-dis.c | 2 +- opcodes/crx-dis.c | 12 +- opcodes/d10v-opc.c | 2 +- opcodes/d30v-opc.c | 2 +- opcodes/dis-buf.c | 2 +- opcodes/dlx-dis.c | 2 +- opcodes/epiphany-asm.c | 38 +- opcodes/epiphany-desc.c | 186 +- opcodes/epiphany-dis.c | 10 +- opcodes/epiphany-ibld.c | 8 +- opcodes/fr30-asm.c | 38 +- opcodes/fr30-desc.c | 102 +- opcodes/fr30-dis.c | 12 +- opcodes/fr30-ibld.c | 8 +- opcodes/frv-asm.c | 66 +- opcodes/frv-desc.c | 182 +- opcodes/frv-dis.c | 12 +- opcodes/frv-ibld.c | 8 +- opcodes/frv-opc.c | 10 +- opcodes/h8300-dis.c | 32 +- opcodes/i370-opc.c | 2 +- opcodes/i386-gen.c | 2 +- opcodes/i386-init.h | 2 +- opcodes/i386-opc.h | 2 +- opcodes/i860-dis.c | 12 +- opcodes/ia64-asmtab.c | 2778 ++++++++++---------- opcodes/ia64-asmtab.h | 12 +- opcodes/ia64-dis.c | 2 +- opcodes/ia64-gen.c | 136 +- opcodes/ia64-opc-m.c | 8 +- opcodes/ip2k-asm.c | 58 +- opcodes/ip2k-desc.c | 30 +- opcodes/ip2k-dis.c | 10 +- opcodes/ip2k-ibld.c | 8 +- opcodes/ip2k-opc.c | 2 +- opcodes/iq2000-asm.c | 48 +- opcodes/iq2000-desc.c | 68 +- opcodes/iq2000-dis.c | 10 +- opcodes/iq2000-ibld.c | 8 +- opcodes/lm32-asm.c | 38 +- opcodes/lm32-desc.c | 40 +- opcodes/lm32-dis.c | 10 +- opcodes/lm32-ibld.c | 8 +- opcodes/lm32-opc.h | 2 +- opcodes/m10200-dis.c | 12 +- opcodes/m10200-opc.c | 10 +- opcodes/m10300-opc.c | 24 +- opcodes/m32c-asm.c | 78 +- opcodes/m32c-desc.c | 422 ++-- opcodes/m32c-dis.c | 14 +- opcodes/m32c-ibld.c | 8 +- opcodes/m32c-opc.c | 8 +- opcodes/m32r-asm.c | 38 +- opcodes/m32r-desc.c | 60 +- opcodes/m32r-dis.c | 10 +- opcodes/m32r-ibld.c | 8 +- opcodes/m68hc11-dis.c | 4 +- opcodes/m68hc11-opc.c | 2 +- opcodes/m68k-dis.c | 6 +- opcodes/m68k-opc.c | 18 +- opcodes/m88k-dis.c | 14 +- opcodes/makefile.vms | 4 +- opcodes/mcore-opc.h | 4 +- opcodes/mep-asm.c | 74 +- opcodes/mep-desc.c | 298 ++-- opcodes/mep-dis.c | 50 +- opcodes/mep-ibld.c | 8 +- opcodes/mep-opc.h | 2 +- opcodes/microblaze-dis.h | 4 +- opcodes/microblaze-opc.h | 44 +- opcodes/microblaze-opcm.h | 16 +- opcodes/mips-dis.c | 6 +- opcodes/mips-opc.c | 9 +- opcodes/moxie-dis.c | 2 +- opcodes/msp430-decode.c | 86 +- opcodes/msp430-dis.c | 18 +- opcodes/mt-asm.c | 56 +- opcodes/mt-desc.c | 114 +- opcodes/mt-dis.c | 10 +- opcodes/mt-ibld.c | 8 +- opcodes/mt-opc.c | 2 +- opcodes/nios2-dis.c | 10 +- opcodes/ns32k-dis.c | 6 +- opcodes/opintl.h | 2 +- opcodes/or1k-asm.c | 38 +- opcodes/or1k-desc.c | 66 +- opcodes/or1k-dis.c | 10 +- opcodes/or1k-ibld.c | 8 +- opcodes/ppc-dis.c | 2 +- opcodes/ppc-opc.c | 120 +- opcodes/rl78-decode.c | 752 +++--- opcodes/rl78-decode.opc | 18 +- opcodes/rl78-dis.c | 4 +- opcodes/rx-decode.c | 462 ++-- opcodes/rx-decode.opc | 8 +- opcodes/score-dis.c | 96 +- opcodes/score-opc.h | 74 +- opcodes/score7-dis.c | 70 +- opcodes/sh-dis.c | 2 +- opcodes/sh-opc.h | 12 +- opcodes/sh64-opc.c | 2 +- opcodes/sparc-dis.c | 2 +- opcodes/spu-opc.c | 6 +- opcodes/tic80-opc.c | 2 +- opcodes/v850-opc.c | 8 +- opcodes/vax-dis.c | 4 +- opcodes/w65-opc.h | 2 +- opcodes/xc16x-asm.c | 40 +- opcodes/xc16x-desc.c | 134 +- opcodes/xc16x-dis.c | 10 +- opcodes/xc16x-ibld.c | 8 +- opcodes/xc16x-opc.c | 2 +- opcodes/xstormy16-asm.c | 52 +- opcodes/xstormy16-desc.c | 82 +- opcodes/xstormy16-dis.c | 10 +- opcodes/xstormy16-ibld.c | 8 +- opcodes/xtensa-dis.c | 4 +- opcodes/z80-dis.c | 4 +- sim/m32c/ChangeLog | 5 + sim/m32c/gdb-if.c | 6 + 629 files changed, 20477 insertions(+), 9591 deletions(-) create mode 100644 binutils/testsuite/binutils-all/strip-12.d create mode 100644 binutils/testsuite/binutils-all/strip-12.s create mode 100644 binutils/testsuite/binutils-all/symbols-1.d create mode 100644 binutils/testsuite/binutils-all/symbols-2.d create mode 100644 binutils/testsuite/binutils-all/symbols-3.d create mode 100644 binutils/testsuite/binutils-all/symbols-4.d create mode 100644 binutils/testsuite/binutils-all/symbols.s create mode 100644 gas/testsuite/gas/aarch64/reloc-dtprel_lo12-1.d create mode 100644 gas/testsuite/gas/aarch64/reloc-dtprel_lo12-1.s create mode 100644 gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ilp32-1.d create mode 100644 gas/testsuite/gas/aarch64/reloc-dtprel_lo12-ilp32-1.s create mode 100644 gas/testsuite/gas/aarch64/reloc-tlsldm-page-1.d create mode 100644 gas/testsuite/gas/aarch64/reloc-tlsldm-page-1.s create mode 100644 gas/testsuite/gas/aarch64/reloc-tlsldm-page-ilp32-1.d create mode 100644 gas/testsuite/gas/aarch64/reloc-tlsldm-page-ilp32-1.s create mode 100644 gas/testsuite/gas/aarch64/reloc-tlsldm_lo12_nc-1.d create mode 100644 gas/testsuite/gas/aarch64/reloc-tlsldm_lo12_nc-1.s create mode 100644 gas/testsuite/gas/aarch64/reloc-tlsldm_lo12_nc-ilp32-1.d create mode 100644 gas/testsuite/gas/aarch64/reloc-tlsldm_lo12_nc-ilp32-1.s create mode 100644 gdb/gdbserver/linux-aarch32-low.c create mode 100644 gdb/gdbserver/linux-aarch32-low.h create mode 100644 gdb/location.c create mode 100644 gdb/location.h create mode 100644 gdb/testsuite/gdb.base/checkpoint-ns.exp create mode 100644 gdb/testsuite/gdb.base/valgrind-disp-step.c create mode 100644 gdb/testsuite/gdb.base/valgrind-disp-step.exp create mode 100644 gdb/testsuite/gdb.btrace/tsx.c create mode 100644 gdb/testsuite/gdb.btrace/tsx.exp create mode 100644 gdb/testsuite/gdb.btrace/x86-tsx.S create mode 100644 gdb/testsuite/gdb.linespec/3explicit.c create mode 100644 gdb/testsuite/gdb.linespec/cpexplicit.cc create mode 100644 gdb/testsuite/gdb.linespec/cpexplicit.exp create mode 100644 gdb/testsuite/gdb.linespec/explicit.c create mode 100644 gdb/testsuite/gdb.linespec/explicit.exp create mode 100644 gdb/testsuite/gdb.linespec/explicit2.c create mode 100644 gdb/testsuite/gdb.threads/forking-threads-plus-breakpoint.c create mode 100644 gdb/testsuite/gdb.threads/forking-threads-plus-breakpoint.exp create mode 100644 gdb/testsuite/gdb.threads/next-while-other-thread-longjmps.c create mode 100644 gdb/testsuite/gdb.threads/next-while-other-thread-longjmps.exp create mode 100644 gdb/testsuite/gdb.threads/process-dies-while-handling-bp.c create mode 100644 gdb/testsuite/gdb.threads/process-dies-while-handling-bp.exp create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-529-overflow.d create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-529-overflow.s create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-529.d create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-529.s create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-86-overflow.d create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-86-overflow.s create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-86.d create mode 100644 ld/testsuite/ld-aarch64/emit-relocs-86.s create mode 100644 ld/testsuite/ld-aarch64/farcall-b-defsym.d create mode 100644 ld/testsuite/ld-aarch64/farcall-b-defsym.s create mode 100644 ld/testsuite/ld-aarch64/farcall-b-gsym.d create mode 100644 ld/testsuite/ld-aarch64/farcall-b-gsym.s create mode 100644 ld/testsuite/ld-aarch64/farcall-b-plt.d create mode 100644 ld/testsuite/ld-aarch64/farcall-b-plt.s create mode 100644 ld/testsuite/ld-aarch64/farcall-bl-defsym.d create mode 100644 ld/testsuite/ld-aarch64/farcall-bl-defsym.s create mode 100644 ld/testsuite/ld-aarch64/farcall-bl-plt.d create mode 100644 ld/testsuite/ld-aarch64/farcall-bl-plt.s create mode 100644 ld/testsuite/ld-aarch64/relocs-1027-symbolic-func.d rename ld/testsuite/ld-aarch64/{relocs-257-symbolic-func.s => relocs-1027-symbolic-func.s} (100%) delete mode 100644 ld/testsuite/ld-aarch64/relocs-257-symbolic-func.d create mode 100644 ld/testsuite/ld-aarch64/tls-small-ld.d create mode 100644 ld/testsuite/ld-aarch64/tls-small-ld.s create mode 100644 ld/testsuite/ld-elf/pr18720.out create mode 100644 ld/testsuite/ld-elf/pr18720a.c create mode 100644 ld/testsuite/ld-elf/pr18720b.c create mode 100644 ld/testsuite/ld-elf/pr18720c.c create mode 100644 ld/testsuite/ld-ifunc/pr18808.out create mode 100644 ld/testsuite/ld-ifunc/pr18808a.c create mode 100644 ld/testsuite/ld-ifunc/pr18808b.c create mode 100644 ld/testsuite/ld-undefined/require-defined-1.d create mode 100644 ld/testsuite/ld-undefined/require-defined-2.d create mode 100644 ld/testsuite/ld-undefined/require-defined-3.d create mode 100644 ld/testsuite/ld-undefined/require-defined-4.d create mode 100644 ld/testsuite/ld-undefined/require-defined-5.d create mode 100644 ld/testsuite/ld-undefined/require-defined.exp create mode 100644 ld/testsuite/ld-undefined/require-defined.s First 500 lines of diff: diff --git a/ChangeLog b/ChangeLog index f8690be..1d080fc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,22 @@ +2015-08-07 H.J. Lu + + Sync with GCC + 2015-07-28 Ben Elliston + + * config.sub, config.guess: Import from upstream. + +2015-08-06 Yaakov Selkowitz + + * Makefile.def (libiconv): Define bootstrap=true. + Mark pdf/html/info as missing. + (configure-gcc): Depend on all-libiconv. + (all-gcc): Ditto. + (configure-libcpp): Ditto. + (all-libcpp): Ditto. + (configure-intl): Ditto. + (all-intl): Ditto. + * Makefile.in: Regenerate. + 2015-07-27 H.J. Lu Sync with GCC diff --git a/Makefile.def b/Makefile.def index 4394188..01445e4 100644 --- a/Makefile.def +++ b/Makefile.def @@ -93,9 +93,12 @@ host_modules= { module= libiberty-linker-plugin; bootstrap=true; extra_make_flags='@extra_linker_plugin_flags@'; }; // We abuse missing to avoid installing anything for libiconv. host_modules= { module= libiconv; + bootstrap=true; extra_configure_flags='--disable-shared'; no_install= true; - missing= install-info; + missing= pdf; + missing= html; + missing= info; missing= install-pdf; missing= install-html; missing= install-info; }; @@ -324,6 +327,7 @@ dependencies = { module=configure-gcc; on=all-gas; }; dependencies = { module=configure-gcc; on=all-ld; }; dependencies = { module=configure-gcc; on=all-gold; }; dependencies = { module=configure-gcc; on=all-libelf; }; +dependencies = { module=configure-gcc; on=all-libiconv; }; dependencies = { module=all-gcc; on=all-libiberty; hard=true; }; dependencies = { module=all-gcc; on=all-intl; }; dependencies = { module=all-gcc; on=all-mpfr; }; @@ -342,6 +346,7 @@ dependencies = { module=all-gcc; on=all-libdecnumber; hard=true; }; dependencies = { module=all-gcc; on=all-libiberty; }; dependencies = { module=all-gcc; on=all-fixincludes; }; dependencies = { module=all-gcc; on=all-lto-plugin; }; +dependencies = { module=all-gcc; on=all-libiconv; }; dependencies = { module=info-gcc; on=all-build-libiberty; }; dependencies = { module=dvi-gcc; on=all-build-libiberty; }; dependencies = { module=pdf-gcc; on=all-build-libiberty; }; @@ -353,8 +358,10 @@ dependencies = { module=install-strip-gcc ; on=install-strip-lto-plugin; }; dependencies = { module=configure-libcpp; on=configure-libiberty; hard=true; }; dependencies = { module=configure-libcpp; on=configure-intl; }; +dependencies = { module=configure-libcpp; on=all-libiconv; }; dependencies = { module=all-libcpp; on=all-libiberty; hard=true; }; dependencies = { module=all-libcpp; on=all-intl; }; +dependencies = { module=all-libcpp; on=all-libiconv; }; dependencies = { module=all-fixincludes; on=all-libiberty; }; @@ -373,9 +380,11 @@ dependencies = { module=all-gotools; on=all-target-libgo; }; dependencies = { module=all-utils; on=all-libiberty; }; +dependencies = { module=configure-intl; on=all-libiconv; }; dependencies = { module=configure-mpfr; on=all-gmp; }; dependencies = { module=configure-mpc; on=all-mpfr; }; dependencies = { module=configure-isl; on=all-gmp; }; +dependencies = { module=all-intl; on=all-libiconv; }; // Host modules specific to gdb. dependencies = { module=configure-gdb; on=all-intl; }; diff --git a/Makefile.in b/Makefile.in index cfc1035..13f3740 100644 --- a/Makefile.in +++ b/Makefile.in @@ -1079,7 +1079,9 @@ all-host: maybe-all-libiberty @if libiberty-linker-plugin-no-bootstrap all-host: maybe-all-libiberty-linker-plugin @endif libiberty-linker-plugin-no-bootstrap +@if libiconv-no-bootstrap all-host: maybe-all-libiconv +@endif libiconv-no-bootstrap all-host: maybe-all-m4 all-host: maybe-all-readline all-host: maybe-all-sid @@ -24134,7 +24136,6 @@ configure-libiconv: stage_current @if libiconv maybe-configure-libiconv: configure-libiconv configure-libiconv: - @: $(MAKE); $(unstage) @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ test ! -f $(HOST_SUBDIR)/libiconv/Makefile || exit 0; \ @@ -24158,6 +24159,211 @@ configure-libiconv: +.PHONY: configure-stage1-libiconv maybe-configure-stage1-libiconv +maybe-configure-stage1-libiconv: +@if libiconv-bootstrap +maybe-configure-stage1-libiconv: configure-stage1-libiconv +configure-stage1-libiconv: + @[ $(current_stage) = stage1 ] || $(MAKE) stage1-start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiconv + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGE1_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/libiconv/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + CFLAGS="$(STAGE1_CFLAGS)"; export CFLAGS; \ + CXXFLAGS="$(STAGE1_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS="$(LIBCFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage 1 in $(HOST_SUBDIR)/libiconv; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiconv; \ + cd $(HOST_SUBDIR)/libiconv || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ + *) topdir=`echo $(HOST_SUBDIR)/libiconv/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + module_srcdir=libiconv; \ + $(SHELL) $$s/$$module_srcdir/configure \ + --srcdir=$${topdir}/$$module_srcdir \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ + --target=${target_alias} \ + \ + $(STAGE1_CONFIGURE_FLAGS) \ + --disable-shared +@endif libiconv-bootstrap + +.PHONY: configure-stage2-libiconv maybe-configure-stage2-libiconv +maybe-configure-stage2-libiconv: +@if libiconv-bootstrap +maybe-configure-stage2-libiconv: configure-stage2-libiconv +configure-stage2-libiconv: + @[ $(current_stage) = stage2 ] || $(MAKE) stage2-start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiconv + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGE2_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/libiconv/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + CFLAGS="$(STAGE2_CFLAGS)"; export CFLAGS; \ + CXXFLAGS="$(STAGE2_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS="$(STAGE2_CFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage 2 in $(HOST_SUBDIR)/libiconv; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiconv; \ + cd $(HOST_SUBDIR)/libiconv || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ + *) topdir=`echo $(HOST_SUBDIR)/libiconv/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + module_srcdir=libiconv; \ + $(SHELL) $$s/$$module_srcdir/configure \ + --srcdir=$${topdir}/$$module_srcdir \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ + --target=${target_alias} \ + --with-build-libsubdir=$(HOST_SUBDIR) \ + $(STAGE2_CONFIGURE_FLAGS) \ + --disable-shared +@endif libiconv-bootstrap + +.PHONY: configure-stage3-libiconv maybe-configure-stage3-libiconv +maybe-configure-stage3-libiconv: +@if libiconv-bootstrap +maybe-configure-stage3-libiconv: configure-stage3-libiconv +configure-stage3-libiconv: + @[ $(current_stage) = stage3 ] || $(MAKE) stage3-start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiconv + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGE3_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/libiconv/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + CFLAGS="$(STAGE3_CFLAGS)"; export CFLAGS; \ + CXXFLAGS="$(STAGE3_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS="$(STAGE3_CFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage 3 in $(HOST_SUBDIR)/libiconv; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiconv; \ + cd $(HOST_SUBDIR)/libiconv || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ + *) topdir=`echo $(HOST_SUBDIR)/libiconv/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + module_srcdir=libiconv; \ + $(SHELL) $$s/$$module_srcdir/configure \ + --srcdir=$${topdir}/$$module_srcdir \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ + --target=${target_alias} \ + --with-build-libsubdir=$(HOST_SUBDIR) \ + $(STAGE3_CONFIGURE_FLAGS) \ + --disable-shared +@endif libiconv-bootstrap + +.PHONY: configure-stage4-libiconv maybe-configure-stage4-libiconv +maybe-configure-stage4-libiconv: +@if libiconv-bootstrap +maybe-configure-stage4-libiconv: configure-stage4-libiconv +configure-stage4-libiconv: + @[ $(current_stage) = stage4 ] || $(MAKE) stage4-start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiconv + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGE4_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/libiconv/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + CFLAGS="$(STAGE4_CFLAGS)"; export CFLAGS; \ + CXXFLAGS="$(STAGE4_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS="$(STAGE4_CFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage 4 in $(HOST_SUBDIR)/libiconv; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiconv; \ + cd $(HOST_SUBDIR)/libiconv || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ + *) topdir=`echo $(HOST_SUBDIR)/libiconv/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + module_srcdir=libiconv; \ + $(SHELL) $$s/$$module_srcdir/configure \ + --srcdir=$${topdir}/$$module_srcdir \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ + --target=${target_alias} \ + --with-build-libsubdir=$(HOST_SUBDIR) \ + $(STAGE4_CONFIGURE_FLAGS) \ + --disable-shared +@endif libiconv-bootstrap + +.PHONY: configure-stageprofile-libiconv maybe-configure-stageprofile-libiconv +maybe-configure-stageprofile-libiconv: +@if libiconv-bootstrap +maybe-configure-stageprofile-libiconv: configure-stageprofile-libiconv +configure-stageprofile-libiconv: + @[ $(current_stage) = stageprofile ] || $(MAKE) stageprofile-start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiconv + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGEprofile_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/libiconv/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + CFLAGS="$(STAGEprofile_CFLAGS)"; export CFLAGS; \ + CXXFLAGS="$(STAGEprofile_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS="$(STAGEprofile_CFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage profile in $(HOST_SUBDIR)/libiconv; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiconv; \ + cd $(HOST_SUBDIR)/libiconv || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ + *) topdir=`echo $(HOST_SUBDIR)/libiconv/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + module_srcdir=libiconv; \ + $(SHELL) $$s/$$module_srcdir/configure \ + --srcdir=$${topdir}/$$module_srcdir \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ + --target=${target_alias} \ + --with-build-libsubdir=$(HOST_SUBDIR) \ + $(STAGEprofile_CONFIGURE_FLAGS) \ + --disable-shared +@endif libiconv-bootstrap + +.PHONY: configure-stagefeedback-libiconv maybe-configure-stagefeedback-libiconv +maybe-configure-stagefeedback-libiconv: +@if libiconv-bootstrap +maybe-configure-stagefeedback-libiconv: configure-stagefeedback-libiconv +configure-stagefeedback-libiconv: + @[ $(current_stage) = stagefeedback ] || $(MAKE) stagefeedback-start + @$(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiconv + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGEfeedback_TFLAGS)"; \ + test ! -f $(HOST_SUBDIR)/libiconv/Makefile || exit 0; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + CFLAGS="$(STAGEfeedback_CFLAGS)"; export CFLAGS; \ + CXXFLAGS="$(STAGEfeedback_CXXFLAGS)"; export CXXFLAGS; \ + LIBCFLAGS="$(STAGEfeedback_CFLAGS)"; export LIBCFLAGS; \ + echo Configuring stage feedback in $(HOST_SUBDIR)/libiconv; \ + $(SHELL) $(srcdir)/mkinstalldirs $(HOST_SUBDIR)/libiconv; \ + cd $(HOST_SUBDIR)/libiconv || exit 1; \ + case $(srcdir) in \ + /* | [A-Za-z]:[\\/]*) topdir=$(srcdir) ;; \ + *) topdir=`echo $(HOST_SUBDIR)/libiconv/ | \ + sed -e 's,\./,,g' -e 's,[^/]*/,../,g' `$(srcdir) ;; \ + esac; \ + module_srcdir=libiconv; \ + $(SHELL) $$s/$$module_srcdir/configure \ + --srcdir=$${topdir}/$$module_srcdir \ + $(HOST_CONFIGARGS) --build=${build_alias} --host=${host_alias} \ + --target=${target_alias} \ + --with-build-libsubdir=$(HOST_SUBDIR) \ + $(STAGEfeedback_CONFIGURE_FLAGS) \ + --disable-shared +@endif libiconv-bootstrap + + + .PHONY: all-libiconv maybe-all-libiconv @@ -24169,7 +24375,6 @@ all-libiconv: stage_current TARGET-libiconv=all maybe-all-libiconv: all-libiconv all-libiconv: configure-libiconv - @: $(MAKE); $(unstage) @r=`${PWD_COMMAND}`; export r; \ s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ $(HOST_EXPORTS) \ @@ -24180,6 +24385,255 @@ all-libiconv: configure-libiconv +.PHONY: all-stage1-libiconv maybe-all-stage1-libiconv +.PHONY: clean-stage1-libiconv maybe-clean-stage1-libiconv +maybe-all-stage1-libiconv: +maybe-clean-stage1-libiconv: +@if libiconv-bootstrap +maybe-all-stage1-libiconv: all-stage1-libiconv +all-stage1: all-stage1-libiconv +TARGET-stage1-libiconv = $(TARGET-libiconv) +all-stage1-libiconv: configure-stage1-libiconv + @[ $(current_stage) = stage1 ] || $(MAKE) stage1-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGE1_TFLAGS)"; \ + $(HOST_EXPORTS) \ + cd $(HOST_SUBDIR)/libiconv && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) \ + CFLAGS="$(STAGE1_CFLAGS)" \ + CXXFLAGS="$(STAGE1_CXXFLAGS)" \ + LIBCFLAGS="$(LIBCFLAGS)" \ + CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \ + CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \ + $(EXTRA_HOST_FLAGS) \ + $(STAGE1_FLAGS_TO_PASS) \ + TFLAGS="$(STAGE1_TFLAGS)" \ + $(TARGET-stage1-libiconv) + +maybe-clean-stage1-libiconv: clean-stage1-libiconv +clean-stage1: clean-stage1-libiconv +clean-stage1-libiconv: + @if [ $(current_stage) = stage1 ]; then \ + [ -f $(HOST_SUBDIR)/libiconv/Makefile ] || exit 0; \ + else \ + [ -f $(HOST_SUBDIR)/stage1-libiconv/Makefile ] || exit 0; \ + $(MAKE) stage1-start; \ + fi; \ + cd $(HOST_SUBDIR)/libiconv && \ + $(MAKE) $(EXTRA_HOST_FLAGS) \ + $(STAGE1_FLAGS_TO_PASS) clean +@endif libiconv-bootstrap + + +.PHONY: all-stage2-libiconv maybe-all-stage2-libiconv +.PHONY: clean-stage2-libiconv maybe-clean-stage2-libiconv +maybe-all-stage2-libiconv: +maybe-clean-stage2-libiconv: +@if libiconv-bootstrap +maybe-all-stage2-libiconv: all-stage2-libiconv +all-stage2: all-stage2-libiconv +TARGET-stage2-libiconv = $(TARGET-libiconv) +all-stage2-libiconv: configure-stage2-libiconv + @[ $(current_stage) = stage2 ] || $(MAKE) stage2-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGE2_TFLAGS)"; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + cd $(HOST_SUBDIR)/libiconv && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) \ + CFLAGS="$(STAGE2_CFLAGS)" \ + CXXFLAGS="$(STAGE2_CXXFLAGS)" \ + LIBCFLAGS="$(STAGE2_CFLAGS)" \ + CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \ + CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \ + $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \ + TFLAGS="$(STAGE2_TFLAGS)" \ + $(TARGET-stage2-libiconv) + +maybe-clean-stage2-libiconv: clean-stage2-libiconv +clean-stage2: clean-stage2-libiconv +clean-stage2-libiconv: + @if [ $(current_stage) = stage2 ]; then \ + [ -f $(HOST_SUBDIR)/libiconv/Makefile ] || exit 0; \ + else \ + [ -f $(HOST_SUBDIR)/stage2-libiconv/Makefile ] || exit 0; \ + $(MAKE) stage2-start; \ + fi; \ + cd $(HOST_SUBDIR)/libiconv && \ + $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean +@endif libiconv-bootstrap + + +.PHONY: all-stage3-libiconv maybe-all-stage3-libiconv +.PHONY: clean-stage3-libiconv maybe-clean-stage3-libiconv +maybe-all-stage3-libiconv: +maybe-clean-stage3-libiconv: +@if libiconv-bootstrap +maybe-all-stage3-libiconv: all-stage3-libiconv +all-stage3: all-stage3-libiconv +TARGET-stage3-libiconv = $(TARGET-libiconv) +all-stage3-libiconv: configure-stage3-libiconv + @[ $(current_stage) = stage3 ] || $(MAKE) stage3-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGE3_TFLAGS)"; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + cd $(HOST_SUBDIR)/libiconv && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) \ + CFLAGS="$(STAGE3_CFLAGS)" \ + CXXFLAGS="$(STAGE3_CXXFLAGS)" \ + LIBCFLAGS="$(STAGE3_CFLAGS)" \ + CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \ + CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \ + $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \ + TFLAGS="$(STAGE3_TFLAGS)" \ + $(TARGET-stage3-libiconv) + +maybe-clean-stage3-libiconv: clean-stage3-libiconv +clean-stage3: clean-stage3-libiconv +clean-stage3-libiconv: + @if [ $(current_stage) = stage3 ]; then \ + [ -f $(HOST_SUBDIR)/libiconv/Makefile ] || exit 0; \ + else \ + [ -f $(HOST_SUBDIR)/stage3-libiconv/Makefile ] || exit 0; \ + $(MAKE) stage3-start; \ + fi; \ + cd $(HOST_SUBDIR)/libiconv && \ + $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean +@endif libiconv-bootstrap + + +.PHONY: all-stage4-libiconv maybe-all-stage4-libiconv +.PHONY: clean-stage4-libiconv maybe-clean-stage4-libiconv +maybe-all-stage4-libiconv: +maybe-clean-stage4-libiconv: +@if libiconv-bootstrap +maybe-all-stage4-libiconv: all-stage4-libiconv +all-stage4: all-stage4-libiconv +TARGET-stage4-libiconv = $(TARGET-libiconv) +all-stage4-libiconv: configure-stage4-libiconv + @[ $(current_stage) = stage4 ] || $(MAKE) stage4-start + @r=`${PWD_COMMAND}`; export r; \ + s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \ + TFLAGS="$(STAGE4_TFLAGS)"; \ + $(HOST_EXPORTS) \ + $(POSTSTAGE1_HOST_EXPORTS) \ + cd $(HOST_SUBDIR)/libiconv && \ + $(MAKE) $(BASE_FLAGS_TO_PASS) \ + CFLAGS="$(STAGE4_CFLAGS)" \ + CXXFLAGS="$(STAGE4_CXXFLAGS)" \ + LIBCFLAGS="$(STAGE4_CFLAGS)" \ + CFLAGS_FOR_TARGET="$(CFLAGS_FOR_TARGET)" \ + CXXFLAGS_FOR_TARGET="$(CXXFLAGS_FOR_TARGET)" \ + LIBCFLAGS_FOR_TARGET="$(LIBCFLAGS_FOR_TARGET)" \ + $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) \ + TFLAGS="$(STAGE4_TFLAGS)" \ + $(TARGET-stage4-libiconv) + +maybe-clean-stage4-libiconv: clean-stage4-libiconv +clean-stage4: clean-stage4-libiconv +clean-stage4-libiconv: + @if [ $(current_stage) = stage4 ]; then \ + [ -f $(HOST_SUBDIR)/libiconv/Makefile ] || exit 0; \ + else \ + [ -f $(HOST_SUBDIR)/stage4-libiconv/Makefile ] || exit 0; \ + $(MAKE) stage4-start; \ + fi; \ + cd $(HOST_SUBDIR)/libiconv && \ + $(MAKE) $(EXTRA_HOST_FLAGS) $(POSTSTAGE1_FLAGS_TO_PASS) clean +@endif libiconv-bootstrap + + +.PHONY: all-stageprofile-libiconv maybe-all-stageprofile-libiconv +.PHONY: clean-stageprofile-libiconv maybe-clean-stageprofile-libiconv +maybe-all-stageprofile-libiconv: +maybe-clean-stageprofile-libiconv: +@if libiconv-bootstrap hooks/post-receive -- Repository for Project Archer.