From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 5986 invoked by alias); 3 Apr 2012 17:42:39 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 5846 invoked by uid 9674); 3 Apr 2012 17:42:34 -0000 Date: Tue, 03 Apr 2012 17:42:00 -0000 Message-ID: <20120403174234.5831.qmail@sourceware.org> From: jkratoch@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] archer-jankratochvil-autoload: Merge branch 'pathvec0-1-secmove-misc2-safepath-debug-warn' into pathvec0-1-secmove-misc2-safepath-debug-warn-warnlocal X-Git-Refname: refs/heads/archer-jankratochvil-autoload X-Git-Reftype: branch X-Git-Oldrev: 8721c4e585ce434a9b997a12b1c9e7f9bcac8b46 X-Git-Newrev: f2d1111fa1fc805aab7460766c3b3b9015c68ac6 X-SW-Source: 2012-q2/txt/msg00004.txt.bz2 List-Id: The branch, archer-jankratochvil-autoload has been updated via f2d1111fa1fc805aab7460766c3b3b9015c68ac6 (commit) via 1839372c75d086622c16ceb95aff2fb74902efcd (commit) via 2222faca05730960c9b6530b04d8aaabb9ccbc6d (commit) via 883a94a6d27045fad7171a30c23cc398463c4acb (commit) via 3ced064e74859581e62e31797d11f07624fcdebe (commit) via c33e0d937ab0dac3e0db256e5721b492df82dc0e (commit) via 838c84887df9e5f9dfc6d80193dee0200b83f787 (commit) via 637f93e10316bbb7a3c0deec3dbe4adb6ddf8f96 (commit) via 700160f8784ad8c5c131db7bc3e5a7a659483364 (commit) via 41930c990f383a9b4a0c935915b45dda4c3b1253 (commit) via 8fe869b374d58f3d13ea52471ce9c4b4be25d5f4 (commit) via 1752e5cf9dda52939f1f8dd9a58b311c86c4215b (commit) via 1b96f0ea599212266ee4baae8ee4fab84514b7bf (commit) via 6ee74672cdf95a5c1d1e0268bcbe893eb090afa2 (commit) via d2b883ecf6e967e927b005b74eb44bd42bf80bb3 (commit) via dc1da28db73aef4f8350eff0e955a99dd2abe51b (commit) via 1b5b3be5e03d4fd298a267fd8f36851c63e2ac84 (commit) via 3c35cbb934630493d701fd0f979ed38769d50de0 (commit) via 0a4a22bc17d9169ea66b5def0ae0e26b78dade06 (commit) via af5d2a3e95320ff8664d81da16f97610704c386e (commit) via daed0ddc63daa979aef152cdbaadb67a93bf48f1 (commit) via 05e366f604936ef81fced3a5ded822e240ebddc8 (commit) via bece538cd25be6a4e2fca95b46b1bb940c31d7de (commit) via 467d07ff1238c1a0edd6124febee7d9db5bf20c1 (commit) via cb6682dd2c5c0fa50585a506ed3bfbf951216d28 (commit) via 5fae38742ec4ac1120350b9fe7e063c61aff4143 (commit) via 002523e38d85f2c3abad2b8efd237a8d81916873 (commit) via 9bfe1407014b0fc46a642d32f8768481b6787963 (commit) via 14a71f642f0ac0e3589400f782a67906f88f5ac4 (commit) via 8088c0f4126bf24008a1735495bd2ddc5c68f27e (commit) via 2427aa4bd15e88a2aba5fe710c7425c4957f1819 (commit) via 164d8e9ac9ec74d970aa42550000539710e96a8e (commit) via a8ed34e234859774dd7ef60a34dfd95fb72a1799 (commit) via 2b19e81773d70e92e89ad4afccdeb0b08d62eaef (commit) via ab46a1353fb388d1c25c94efc3c4dedcd58cc643 (commit) via fa096f5020d779e1f850fc09c618b06c1ef49f3b (commit) via da1ca890459165a522de5edd908fb2f32599e797 (commit) via c05ad72f855e2ef83783599c21e3e1b8bf868818 (commit) via 00e5778d1463f7a257af3cdb20e20ce87f952b00 (commit) via 127f2f3f04b6947a7990986f9258073054326aef (commit) via 6696b232b59161a4989a22123160593fd917e3aa (commit) via 6647fae55e74ac8ec98b98f923bdef2e7433d873 (commit) via 7bd0483fb07e8810e32076d490c2afa328b63f93 (commit) via 7637d3166de39e409d21bf1b0c461b351e2a5b7c (commit) via 1548f1be726728a7376dfb3c084a6884e42298ee (commit) via 1cfc0dfe135739f33631fdf0e7129878577fcbed (commit) via 641bbcbf83ec77eec3a26eeb8f5cc1e7963bb010 (commit) via 5dd969b54821341b8c460222706994664195cb6a (commit) via 9db1f5e26330276bef110bd96ceeb66b74d2ab04 (commit) via a01553070ee17f534161eab27f4411df91911d20 (commit) via 09a1739accd5793abc88bb31556df41518fbf835 (commit) via 00e7b642b73568f4bd2368e4e4589d58fd829ae5 (commit) via dbd4ccb147506fa4e8a62f9489f59c9241b48bf1 (commit) via 5000984d425d55e26ec317aa72f0c4abe2d92946 (commit) via c76778cad475ebc51df84a0cad2d2bfd6aed83eb (commit) via c7a87707432f674aaa0bc0a6d28b6013e54072cb (commit) via 67084d7a8630eca11cbebb352f893cb06eb77347 (commit) via 5969a35c93370f4cf45e269d86ba85fae874f6ff (commit) via 798486684e02a23c7c6e3c253ce8facf6bccf504 (commit) via 43eabdf98e784d7226eb6035669e14f7aed0c57f (commit) via e842f047c474c5546e4d426fd94818b5452005fc (commit) via 26a1051d283675983107d2a8ff1f97866c18ca6b (commit) via 3278e7af227fa83b0797b7e200883aafd8699449 (commit) via e3da84c2bc613e010aec6d05414ebe8852138662 (commit) via 279d5376e017e748d755de0e54630e8537ff90c3 (commit) via f9634df9934c30a9e18af2ae6c44f360b8986e34 (commit) via 99d9bf8fd746f55b8402d6729fd8703edb82d3f8 (commit) via 5fed569df2de6cc03d61a3b0e2a9421bd49ce733 (commit) via 47f89590ce20f05cba1b3d1f91cfa5c813d31979 (commit) via 781a2000f1367604d952ff68b2fed66a17de67e0 (commit) via 8f92e44e60232d73f8750525b48b9ffb1fd15907 (commit) via 946573e90b0fc212e468dcf45297664608f4de5b (commit) via 1af97f2b87dc95c747e4a6df0ee0a70353021926 (commit) via 505d064e20383884ae97e5c3740c965f8bf81264 (commit) via e82735812ea8c0c3bc36740885d03f0412b080b2 (commit) via 93cd7197cbfc7ca9ab6bfba32e737caf4c1ddbdd (commit) via 6a7b3ca186918388c00b959bc5682f6fd12411c4 (commit) via 48bd1722d3680f86fe861118aa54ef03c527e745 (commit) via 676678c17423c96eb7ffe2f59410ee1c6a5d5dab (commit) via 84faf620374b1352550a9d692d9bdf6ef734ef10 (commit) via 447a144fef1d91c0b503ca2c02c848877b9b252b (commit) via f224e13f2a2f039eccf48ee61979654b60012117 (commit) via 13d17bbf2f107e0cc53b87152303ce72a469d04a (commit) via c96ca63458945f4e9f30cf711f41a5a461e7d72a (commit) via 5cab1817f60351789dd78d051ad7c23839aab376 (commit) via cdee20143a5368b158e15685080251b76cc6f93b (commit) via 0fe2b322df8c0b4e7905f9517a9ace2e91b5ffcb (commit) via 19d0588b6bd7d0b023d1c1eea7c4a39602e295f9 (commit) via 28268588eedea50641264c8acff86de28e51b0b4 (commit) via 72365d2857ecf861bc6f0ac9777d6eeb28f33359 (commit) via 21c89a44d67e49062aced27d29370981f922ebbb (commit) via 5c3c12506e885797b4b8ad3f661f396b1a3dd6ac (commit) via 7a1bed16627dc124130fc8fae44892e70373e04d (commit) via 893093a04491e1f6d34985f72d11b5956467a06c (commit) via 9f12720e8a5fd4b0f6bea00925a5f41928120b5e (commit) via f25aa651cffcb9e38b2b690cba1f185e85d17d78 (commit) via 11641048d4ced282f0c12ff9f35a4080908025ed (commit) via e07852a273dbee73e95518f30d9ac9a8a832bf6a (commit) via 743999a43dc841ebfabe6b24d1aafeff2c4beb94 (commit) via ce1d2ecc147f27e956a819288c1b49d30761a4c7 (commit) via 8af5a02c1286fb341d0f29c6b804f56a030d5705 (commit) via 822e77172ffe9547f566a060896f489785476d4b (commit) via 44c9fbf05caeabfc2baf75d2b675bd274dd996b1 (commit) via 8cd63340fccaa243d78cb6f493e968fe319cf3e3 (commit) via ded0854194e0019fec0e297089a75a3d722c7289 (commit) via d8cd64f0271a3678c04f53b05aff3410a43fe99a (commit) via d0f49d0a46f566a493b344c8106539bdc306fc58 (commit) from 8721c4e585ce434a9b997a12b1c9e7f9bcac8b46 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit f2d1111fa1fc805aab7460766c3b3b9015c68ac6 Merge: 700160f 1839372 Author: Jan Kratochvil Date: Tue Apr 3 19:41:11 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug-warn' into pathvec0-1-secmove-misc2-safepath-debug-warn-warnlocal commit 1839372c75d086622c16ceb95aff2fb74902efcd Merge: 41930c9 2222fac Author: Jan Kratochvil Date: Tue Apr 3 19:41:11 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug' into pathvec0-1-secmove-misc2-safepath-debug-warn commit 2222faca05730960c9b6530b04d8aaabb9ccbc6d Merge: 8fe869b 883a94a Author: Jan Kratochvil Date: Tue Apr 3 19:41:10 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath' into pathvec0-1-secmove-misc2-safepath-debug commit 883a94a6d27045fad7171a30c23cc398463c4acb Merge: 1752e5c 3ced064 Author: Jan Kratochvil Date: Tue Apr 3 19:41:10 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2' into pathvec0-1-secmove-misc2-safepath commit 3ced064e74859581e62e31797d11f07624fcdebe Merge: cb6682d c33e0d9 Author: Jan Kratochvil Date: Tue Apr 3 19:41:10 2012 +0200 Merge branch 'pathvec0-1-secmove' into pathvec0-1-secmove-misc2 commit c33e0d937ab0dac3e0db256e5721b492df82dc0e Merge: 5fae387 838c848 Author: Jan Kratochvil Date: Tue Apr 3 19:41:10 2012 +0200 Merge branch 'pathvec0-1' into pathvec0-1-secmove commit 838c84887df9e5f9dfc6d80193dee0200b83f787 Merge: 9bfe140 637f93e Author: Jan Kratochvil Date: Tue Apr 3 19:41:10 2012 +0200 Merge branch 'pathvec0' into pathvec0-1 commit 637f93e10316bbb7a3c0deec3dbe4adb6ddf8f96 Merge: 14a71f6 d2b883e Author: Jan Kratochvil Date: Tue Apr 3 19:41:09 2012 +0200 Merge remote-tracking branch 'gdb/master' into pathvec0 commit 700160f8784ad8c5c131db7bc3e5a7a659483364 Merge: dc1da28 41930c9 Author: Jan Kratochvil Date: Tue Apr 3 19:40:44 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug-warn' into pathvec0-1-secmove-misc2-safepath-debug-warn-warnlocal commit 41930c990f383a9b4a0c935915b45dda4c3b1253 Merge: 1b5b3be 8fe869b Author: Jan Kratochvil Date: Tue Apr 3 19:40:44 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug' into pathvec0-1-secmove-misc2-safepath-debug-warn commit 8fe869b374d58f3d13ea52471ce9c4b4be25d5f4 Merge: 1b96f0e 1752e5c Author: Jan Kratochvil Date: Tue Apr 3 19:40:44 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath' into pathvec0-1-secmove-misc2-safepath-debug commit 1752e5cf9dda52939f1f8dd9a58b311c86c4215b Author: Jan Kratochvil Date: Tue Apr 3 19:40:42 2012 +0200 . commit 1b96f0ea599212266ee4baae8ee4fab84514b7bf Merge: 3c35cbb 6ee7467 Author: Jan Kratochvil Date: Tue Apr 3 19:40:29 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath' into pathvec0-1-secmove-misc2-safepath-debug Conflicts: gdb/auto-load.c commit 6ee74672cdf95a5c1d1e0268bcbe893eb090afa2 Author: Jan Kratochvil Date: Tue Apr 3 19:39:54 2012 +0200 . commit d2b883ecf6e967e927b005b74eb44bd42bf80bb3 Author: Roland McGrath Date: Tue Apr 3 16:01:22 2012 +0000 bfd/ 2012-04-03 Roland McGrath * elf-nacl.c: New file. * elf-nacl.h: New file. * elf32-i386.c (elf_backend_modify_segment_map): Define for bfd_elf32_i386_nacl_vec. (elf_backend_modify_program_headers): Likewise. * elf64-x86-64.c (elf_backend_modify_segment_map): Define for bfd_elf64_x86_64_nacl_vec and bfd_elf32_x86_64_nacl_vec. (elf_backend_modify_program_headers): Likewise. * Makefile.am (BFD32_BACKENDS, BFD64_BACKENDS): Add elf-nacl.lo here. (BFD32_BACKENDS_CFILES, BFD64_BACKENDS_CFILES): Add elf-nacl.c here. * Makefile.in: Regenerated. * configure.in (bfd_elf64_x86_64_nacl_vec): Add elf-nacl.o to tb here. (bfd_elf32_x86_64_nacl_vec): Likewise. (bfd_elf64_x86_64_vec, bfd_elf32_x86_64_vec): Likewise. (bfd_elf64_x86_64_freebsd_vec, bfd_elf64_x86_64_sol2_vec): Likewise. (bfd_elf64_l1om_vec, bfd_elf64_l1om_freebsd_vec): Likewise. (bfd_elf64_k1om_vec, bfd_elf64_k1om_freebsd_vec): Likewise. (bfd_elf32_i386_nacl_vec): Likewise. (bfd_elf32_i386_sol2_vec, bfd_elf32_i386_freebsd_vec): Likewise. (bfd_elf32_i386_vxworks_vec, bfd_elf32_i386_vec): Likewise. * configure: Regenerated. binutils/testsuite/ 2012-04-03 Roland McGrath * lib/binutils-common.exp (is_elf_format): Consider *-*-nacl* to be ELF too. * binutils-all/elfedit-4.d: Add "#as: --64" option. * binutils-all/i386/i386.exp: Accept nacl targets too. * binutils-all/x86-64/x86-64.exp: Likewise. gas/testsuite/ 2012-04-03 Roland McGrath * gas/i386/k1om.d: Add not-target match for *-*-nacl*. * gas/i386/l1om.d: Likewise. ld/ 2012-04-03 Roland McGrath * configure.tgt (i[3-7]86-*-nacl*, x86_64-*-nacl*): Handle them. * emulparams/elf_nacl.sh: New file. * emulparams/elf_i386_nacl.sh: New file. * emulparams/elf32_x86_64_nacl.sh: New file. * emulparams/elf_x86_64_nacl.sh: New file. * Makefile.am (ALL_EMULATION_SOURCES): Add eelf_i386_nacl.c here. (ALL_64_EMULATION_SOURCES): Add eelf32_x86_64_nacl.c and eelf_x86_64_nacl.c here. (eelf_i386_nacl.c, eelf32_x86_64_nacl.c, eelf_x86_64_nacl.c): New targets. * Makefile.in: Regenerated. * scripttempl/elf.sc: Handle SEPARATE_CODE cases. ld/testsuite/ 2012-04-03 Roland McGrath * ld-x86-64/ilp32-4-nacl.d: New file. * ld-x86-64/x86-64.exp: Run it. * ld-discard/discard.exp: Accept nacl targets too. * ld-elf/binutils.exp: Likewise. * ld-elf/comm-data.exp: Likewise. * ld-elf/elf.exp: Likewise. * ld-elf/tls_common.exp: Likewise. * ld-elfvers/vers.exp: Likewise. * ld-elfvsb/elfvsb.exp: Likewise. * ld-elfweak/elfweak.exp: Likewise. * ld-gc/gc.exp: Likewise. * ld-ifunc/binutils.exp: Likewise. * ld-ifunc/ifunc.exp: Likewise. * ld-linkonce/linkonce.exp:Likewise. * ld-pie/pie.exp: Likewise. * ld-shared/shared.exp: Likewise. * ld-undefined/weak-undef.exp: Likewise. * ld-unique/unique.exp: Likewise. * ld-x86-64/dwarfreloc.exp: Likewise. * ld-x86-64/line.exp: Likewise. * lib/ld-lib.exp (slurp_options): Support global array options_regsub to apply substitutions to the contents of options lines read from the file. * ld-i386/emit-relocs.d: Renamed to ... * ld-i386/emit-relocs.rd: ... this. * ld-i386/i386.exp: Accept nacl targets too. For them, use options_regsub to replace elf_i386 with elf_i386_nacl in run_dump_test cases; apply the same substitution in $i386tests; replace foo.rd expectations files with foo-nacl.rd in $i386tests. (i386tests): Change emit-relocs.d to emit-relocs.rd here. * ld-i386/emit-relocs-nacl.rd: New file. * ld-i386/plt-nacl.pd: New file. * ld-i386/plt-pic-nacl.pd: New file. * ld-i386/tlsbin-nacl.rd: New file. * ld-i386/tlsbindesc-nacl.rd: New file. * ld-i386/tlsdesc-nacl.rd: New file. * ld-i386/tlsgdesc-nacl.rd: New file. * ld-i386/tlsnopic-nacl.rd: New file. * ld-i386/tlspic-nacl.rd: New file. * ld-x86-64/x86-64.exp: Accept nacl targets too. For them, use options_regsub to replace elf_x86_64 with elf_x86_64_nacl in run_dump_test cases; apply the same substitution in $x86_64tests; replace foo.rd expectations files with foo-nacl.rd in $x86_64tests. Add explicit -melf_x86_64 to ld options in tests that need it, in case the default emulation is x32 (as it is for x86_64-nacl). * ld/testsuite/ld-x86-64/plt-nacl.pd: New file. * ld/testsuite/ld-x86-64/split-by-file-nacl.rd: New file. * ld/testsuite/ld-x86-64/tlsbin-nacl.rd: New file. * ld/testsuite/ld-x86-64/tlsbindesc-nacl.rd: New file. * ld/testsuite/ld-x86-64/tlsdesc-nacl.pd: New file. * ld/testsuite/ld-x86-64/tlsdesc-nacl.rd: New file. * ld/testsuite/ld-x86-64/tlsgdesc-nacl.rd: New file. * ld/testsuite/ld-x86-64/tlspic-nacl.rd: New file. * ld-i386/hidden2.d: Loosen regexps to match any file format variant, and not to depend on exact addresses, displacements, etc. where they are irrelevant. * ld-i386/pcrel16.d: Likewise. * ld-i386/pcrel16abs.d: Likewise. * ld-i386/pr12718.d: Likewise. * ld-i386/pr12921.d: Likewise. * ld-i386/reloc.d: Likewise. * ld-i386/tlsbin.dd: Likewise. * ld-i386/tlsbin.sd: Likewise. * ld-i386/tlsbin.td: Likewise. * ld-i386/tlsbindesc.dd: Likewise. * ld-i386/tlsbindesc.sd: Likewise. * ld-i386/tlsbindesc.td: Likewise. * ld-i386/tlsdesc.dd: Likewise. * ld-i386/tlsdesc.sd: Likewise. * ld-i386/tlsdesc.td: Likewise. * ld-i386/tlsg.sd: Likewise. * ld-i386/tlsgdesc.dd: Likewise. * ld-i386/tlsindntpoff.dd: Likewise. * ld-i386/tlsnopic.dd: Likewise. * ld-i386/tlsnopic.sd: Likewise. * ld-i386/tlspic.dd: Likewise. * ld-i386/tlspic.sd: Likewise. * ld-i386/tlspic.td: Likewise. * ld-i386/tlspie2.d: Likewise. * ld-x86-64/hidden2.d: Likewise. * ld-x86-64/pcrel16.d: Likewise. * ld-x86-64/pr12718.d: Likewise. * ld-x86-64/pr12921.d: Likewise. * ld-x86-64/protected3.d: Likewise. * ld-x86-64/tlsbin.dd: Likewise. * ld-x86-64/tlsbin.sd: Likewise. * ld-x86-64/tlsbin.td: Likewise. * ld-x86-64/tlsbindesc.dd: Likewise. * ld-x86-64/tlsbindesc.sd: Likewise. * ld-x86-64/tlsbindesc.td: Likewise. * ld-x86-64/tlsdesc.dd: Likewise. * ld-x86-64/tlsdesc.sd: Likewise. * ld-x86-64/tlsdesc.td: Likewise. * ld-x86-64/tlsg.sd: Likewise. * ld-x86-64/tlsgd5.dd: Likewise. * ld-x86-64/tlsgd6.dd: Likewise. * ld-x86-64/tlsgdesc.dd: Likewise. * ld-x86-64/tlspic.dd: Likewise. * ld-x86-64/tlspic.sd: Likewise. * ld-x86-64/tlspic.td: Likewise. * ld-x86-64/ilp32-8.d: Match any file format variant. Use a -Ttext and adjust expected results, to handle variant layouts. * ld-x86-64/ilp32-9.d: Likewise. * ld-i386/alloc.t: Remove superfluous OUTPUT_FORMAT statement. * ld-i386/pr12627.t: Likewise. * ld-x86-64/abs-l1om.d: Add target: constraint. * ld-x86-64/protected2-l1om.d: Likewise. * ld-x86-64/protected3-l1om.d: Likewise. * ld-x86-64/ilp32-4.d: Likewise. * ld-x86-64/plt.s: New file. * ld-x86-64/pltlib.s: New file. * ld-x86-64/plt.pd: New file. * ld-x86-64/x86-64.exp (x86_64tests): Add them. * ld-i386/plt.s: New file. * ld-i386/pltlib.s: New file. * ld-i386/plt.pd: New file. * ld-i386/plt-pic.s: New file. * ld-i386/plt-pic.pd: New file. * ld-i386/i386.exp (i386tests): Add them. commit dc1da28db73aef4f8350eff0e955a99dd2abe51b Merge: daed0dd 1b5b3be Author: Jan Kratochvil Date: Tue Apr 3 17:54:11 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug-warn' into pathvec0-1-secmove-misc2-safepath-debug-warn-warnlocal commit 1b5b3be5e03d4fd298a267fd8f36851c63e2ac84 Merge: 05e366f 3c35cbb Author: Jan Kratochvil Date: Tue Apr 3 17:54:11 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug' into pathvec0-1-secmove-misc2-safepath-debug-warn commit 3c35cbb934630493d701fd0f979ed38769d50de0 Merge: af5d2a3 0a4a22b Author: Jan Kratochvil Date: Tue Apr 3 17:54:10 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath' into pathvec0-1-secmove-misc2-safepath-debug commit 0a4a22bc17d9169ea66b5def0ae0e26b78dade06 Author: Jan Kratochvil Date: Tue Apr 3 17:51:04 2012 +0200 . commit af5d2a3e95320ff8664d81da16f97610704c386e Author: Jan Kratochvil Date: Tue Apr 3 17:50:15 2012 +0200 . commit daed0ddc63daa979aef152cdbaadb67a93bf48f1 Merge: 2b19e81 05e366f Author: Jan Kratochvil Date: Tue Apr 3 17:23:45 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug-warn' into pathvec0-1-secmove-misc2-safepath-debug-warn-warnlocal commit 05e366f604936ef81fced3a5ded822e240ebddc8 Merge: ab46a13 bece538 Author: Jan Kratochvil Date: Tue Apr 3 17:23:45 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug' into pathvec0-1-secmove-misc2-safepath-debug-warn commit bece538cd25be6a4e2fca95b46b1bb940c31d7de Author: Jan Kratochvil Date: Tue Apr 3 17:23:40 2012 +0200 . commit 467d07ff1238c1a0edd6124febee7d9db5bf20c1 Merge: 6647fae 002523e Author: Jan Kratochvil Date: Tue Apr 3 17:22:00 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath' into pathvec0-1-secmove-misc2-safepath-debug Conflicts: gdb/auto-load.c commit cb6682dd2c5c0fa50585a506ed3bfbf951216d28 Merge: 7637d31 5fae387 Author: Jan Kratochvil Date: Tue Apr 3 17:19:57 2012 +0200 Merge branch 'pathvec0-1-secmove' into pathvec0-1-secmove-misc2 commit 5fae38742ec4ac1120350b9fe7e063c61aff4143 Merge: 26a1051 9bfe140 Author: Jan Kratochvil Date: Tue Apr 3 17:19:57 2012 +0200 Merge branch 'pathvec0-1' into pathvec0-1-secmove commit 002523e38d85f2c3abad2b8efd237a8d81916873 Merge: 8088c0f cb6682d Author: Jan Kratochvil Date: Tue Apr 3 17:19:57 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2' into pathvec0-1-secmove-misc2-safepath commit 9bfe1407014b0fc46a642d32f8768481b6787963 Merge: 3278e7a 14a71f6 Author: Jan Kratochvil Date: Tue Apr 3 17:19:56 2012 +0200 Merge branch 'pathvec0' into pathvec0-1 commit 14a71f642f0ac0e3589400f782a67906f88f5ac4 Merge: e3da84c 2427aa4 Author: Jan Kratochvil Date: Tue Apr 3 17:19:56 2012 +0200 Merge remote-tracking branch 'gdb/master' into pathvec0 commit 8088c0f4126bf24008a1735495bd2ddc5c68f27e Author: Jan Kratochvil Date: Tue Apr 3 17:18:52 2012 +0200 . commit 2427aa4bd15e88a2aba5fe710c7425c4957f1819 Author: Jan Kratochvil Date: Tue Apr 3 14:39:51 2012 +0000 gdb/ * cp-valprint.c (cp_print_value_fields): Check valprint_check_validity for TYPE_VPTR_FIELDNO. * valprint.c (valprint_check_validity): Make it global, move the function comment ... * value.h (valprint_check_validity): ... to this new declaration. gdb/testsuite/ * gdb.trace/unavailable.exp (collect globals: print object on: print derived_partial) (collect globals: print object on: print derived_whole) (collect globals: print object off: print derived_partial) (collect globals: print object off: print derived_whole): Update expected output. commit 164d8e9ac9ec74d970aa42550000539710e96a8e Author: gdbadmin Date: Tue Apr 3 00:00:32 2012 +0000 *** empty log message *** commit a8ed34e234859774dd7ef60a34dfd95fb72a1799 Author: Alan Modra Date: Tue Apr 3 00:00:06 2012 +0000 daily update commit 2b19e81773d70e92e89ad4afccdeb0b08d62eaef Merge: fa096f5 ab46a13 Author: Jan Kratochvil Date: Mon Apr 2 23:08:53 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug-warn' into pathvec0-1-secmove-misc2-safepath-debug-warn-warnlocal commit ab46a1353fb388d1c25c94efc3c4dedcd58cc643 Author: Jan Kratochvil Date: Mon Apr 2 23:08:05 2012 +0200 . commit fa096f5020d779e1f850fc09c618b06c1ef49f3b Merge: c05ad72 da1ca89 Author: Jan Kratochvil Date: Mon Apr 2 22:57:37 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug-warn' into pathvec0-1-secmove-misc2-safepath-debug-warn-warnlocal commit da1ca890459165a522de5edd908fb2f32599e797 Author: Jan Kratochvil Date: Mon Apr 2 22:57:34 2012 +0200 . commit c05ad72f855e2ef83783599c21e3e1b8bf868818 Merge: 127f2f3 00e5778 Author: Jan Kratochvil Date: Mon Apr 2 22:55:41 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug-warn' into pathvec0-1-secmove-misc2-safepath-debug-warn-warnlocal commit 00e5778d1463f7a257af3cdb20e20ce87f952b00 Author: Jan Kratochvil Date: Mon Apr 2 22:55:38 2012 +0200 . commit 127f2f3f04b6947a7990986f9258073054326aef Merge: 1cfc0df 6696b23 Author: Jan Kratochvil Date: Mon Apr 2 22:54:47 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug-warn' into pathvec0-1-secmove-misc2-safepath-debug-warn-warnlocal commit 6696b232b59161a4989a22123160593fd917e3aa Merge: 641bbcb 6647fae Author: Jan Kratochvil Date: Mon Apr 2 22:54:46 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug' into pathvec0-1-secmove-misc2-safepath-debug-warn commit 6647fae55e74ac8ec98b98f923bdef2e7433d873 Merge: 5dd969b 7bd0483 Author: Jan Kratochvil Date: Mon Apr 2 22:54:44 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath' into pathvec0-1-secmove-misc2-safepath-debug Conflicts: gdb/doc/gdb.texinfo commit 7bd0483fb07e8810e32076d490c2afa328b63f93 Merge: 9db1f5e 7637d31 Author: Jan Kratochvil Date: Mon Apr 2 22:54:15 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2' into pathvec0-1-secmove-misc2-safepath Conflicts: gdb/doc/gdb.texinfo commit 7637d3166de39e409d21bf1b0c461b351e2a5b7c Author: Jan Kratochvil Date: Mon Apr 2 22:53:32 2012 +0200 . commit 1548f1be726728a7376dfb3c084a6884e42298ee Author: Jan Kratochvil Date: Mon Apr 2 21:47:10 2012 +0200 . commit 1cfc0dfe135739f33631fdf0e7129878577fcbed Merge: 00e7b64 641bbcb Author: Jan Kratochvil Date: Mon Apr 2 20:58:26 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug-warn' into pathvec0-1-secmove-misc2-safepath-debug-warn-warnlocal commit 641bbcbf83ec77eec3a26eeb8f5cc1e7963bb010 Merge: dbd4ccb 5dd969b Author: Jan Kratochvil Date: Mon Apr 2 20:58:23 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug' into pathvec0-1-secmove-misc2-safepath-debug-warn Conflicts: gdb/auto-load.c commit 5dd969b54821341b8c460222706994664195cb6a Merge: 5000984 9db1f5e Author: Jan Kratochvil Date: Mon Apr 2 20:57:58 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath' into pathvec0-1-secmove-misc2-safepath-debug commit 9db1f5e26330276bef110bd96ceeb66b74d2ab04 Merge: a015530 09a1739 Author: Jan Kratochvil Date: Mon Apr 2 20:57:58 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2' into pathvec0-1-secmove-misc2-safepath commit a01553070ee17f534161eab27f4411df91911d20 Author: Jan Kratochvil Date: Mon Apr 2 20:57:57 2012 +0200 . commit 09a1739accd5793abc88bb31556df41518fbf835 Author: Jan Kratochvil Date: Mon Apr 2 20:55:41 2012 +0200 . commit 00e7b642b73568f4bd2368e4e4589d58fd829ae5 Merge: 7984866 dbd4ccb Author: Jan Kratochvil Date: Mon Apr 2 20:53:04 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug-warn' into pathvec0-1-secmove-misc2-safepath-debug-warn-warnlocal commit dbd4ccb147506fa4e8a62f9489f59c9241b48bf1 Merge: 43eabdf 5000984 Author: Jan Kratochvil Date: Mon Apr 2 20:53:01 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug' into pathvec0-1-secmove-misc2-safepath-debug-warn Conflicts: gdb/doc/gdb.texinfo commit 5000984d425d55e26ec317aa72f0c4abe2d92946 Merge: e842f04 c76778c Author: Jan Kratochvil Date: Mon Apr 2 20:52:24 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath' into pathvec0-1-secmove-misc2-safepath-debug commit c76778cad475ebc51df84a0cad2d2bfd6aed83eb Merge: 279d537 c7a8770 Author: Jan Kratochvil Date: Mon Apr 2 20:52:24 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2' into pathvec0-1-secmove-misc2-safepath commit c7a87707432f674aaa0bc0a6d28b6013e54072cb Author: Jan Kratochvil Date: Mon Apr 2 20:52:22 2012 +0200 . commit 67084d7a8630eca11cbebb352f893cb06eb77347 Author: DJ Delorie Date: Mon Apr 2 18:50:26 2012 +0000 merge from gcc commit 5969a35c93370f4cf45e269d86ba85fae874f6ff Author: Jan Kratochvil Date: Mon Apr 2 19:13:14 2012 +0200 . commit 798486684e02a23c7c6e3c253ce8facf6bccf504 Merge: 5fed569 43eabdf Author: Jan Kratochvil Date: Mon Apr 2 18:54:04 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug-warn' into pathvec0-1-secmove-misc2-safepath-debug-warn-warnlocal commit 43eabdf98e784d7226eb6035669e14f7aed0c57f Merge: 47f8959 e842f04 Author: Jan Kratochvil Date: Mon Apr 2 18:54:04 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug' into pathvec0-1-secmove-misc2-safepath-debug-warn commit e842f047c474c5546e4d426fd94818b5452005fc Merge: 781a200 279d537 Author: Jan Kratochvil Date: Mon Apr 2 18:54:04 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath' into pathvec0-1-secmove-misc2-safepath-debug commit 26a1051d283675983107d2a8ff1f97866c18ca6b Merge: d0f49d0 3278e7a Author: Jan Kratochvil Date: Mon Apr 2 18:54:03 2012 +0200 Merge branch 'pathvec0-1' into pathvec0-1-secmove commit 3278e7af227fa83b0797b7e200883aafd8699449 Merge: 229a250 e3da84c Author: Jan Kratochvil Date: Mon Apr 2 18:54:03 2012 +0200 Merge branch 'pathvec0' into pathvec0-1 commit e3da84c2bc613e010aec6d05414ebe8852138662 Merge: 7f155a5 93cd719 Author: Jan Kratochvil Date: Mon Apr 2 18:54:03 2012 +0200 Merge remote-tracking branch 'gdb/master' into pathvec0 commit 279d5376e017e748d755de0e54630e8537ff90c3 Merge: 8f92e44 f9634df Author: Jan Kratochvil Date: Mon Apr 2 18:54:03 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2' into pathvec0-1-secmove-misc2-safepath commit f9634df9934c30a9e18af2ae6c44f360b8986e34 Merge: 99d9bf8 26a1051 Author: Jan Kratochvil Date: Mon Apr 2 18:54:03 2012 +0200 Merge branch 'pathvec0-1-secmove' into pathvec0-1-secmove-misc2 commit 99d9bf8fd746f55b8402d6729fd8703edb82d3f8 Author: Jan Kratochvil Date: Mon Apr 2 18:53:08 2012 +0200 . commit 5fed569df2de6cc03d61a3b0e2a9421bd49ce733 Merge: 84faf62 47f8959 Author: Jan Kratochvil Date: Mon Apr 2 18:49:33 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug-warn' into pathvec0-1-secmove-misc2-safepath-debug-warn-warnlocal commit 47f89590ce20f05cba1b3d1f91cfa5c813d31979 Merge: 447a144 781a200 Author: Jan Kratochvil Date: Mon Apr 2 18:49:32 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug' into pathvec0-1-secmove-misc2-safepath-debug-warn commit 781a2000f1367604d952ff68b2fed66a17de67e0 Merge: 1af97f2 8f92e44 Author: Jan Kratochvil Date: Mon Apr 2 18:49:32 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath' into pathvec0-1-secmove-misc2-safepath-debug commit 8f92e44e60232d73f8750525b48b9ffb1fd15907 Merge: 505d064 946573e Author: Jan Kratochvil Date: Mon Apr 2 18:49:32 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2' into pathvec0-1-secmove-misc2-safepath commit 946573e90b0fc212e468dcf45297664608f4de5b Author: Jan Kratochvil Date: Mon Apr 2 18:49:27 2012 +0200 . commit 1af97f2b87dc95c747e4a6df0ee0a70353021926 Author: Jan Kratochvil Date: Mon Apr 2 18:48:32 2012 +0200 . commit 505d064e20383884ae97e5c3740c965f8bf81264 Author: Jan Kratochvil Date: Mon Apr 2 18:48:01 2012 +0200 . commit e82735812ea8c0c3bc36740885d03f0412b080b2 Author: Jan Kratochvil Date: Mon Apr 2 18:46:37 2012 +0200 . commit 93cd7197cbfc7ca9ab6bfba32e737caf4c1ddbdd Author: Tristan Gingold Date: Mon Apr 2 13:48:48 2012 +0000 2012-04-02 Tristan Gingold * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers): Use the STATE32 api for i386 state. (i386_darwin_store_inferior_registers): Likewise. commit 6a7b3ca186918388c00b959bc5682f6fd12411c4 Author: Tristan Gingold Date: Mon Apr 2 13:15:46 2012 +0000 2012-04-02 Tristan Gingold * i386-darwin-tdep.c (i386_darwin_thread_state_reg_offset): Fix SS offset. * i386-darwin-nat.c (i386_darwin_fetch_inferior_registers): Fix format_string. commit 48bd1722d3680f86fe861118aa54ef03c527e745 Author: Tristan Gingold Date: Mon Apr 2 11:57:28 2012 +0000 2012-04-02 Tristan Gingold PR gdb/13901 * darwin-nat.c (darwin_execvp): Sey binary preference. commit 676678c17423c96eb7ffe2f59410ee1c6a5d5dab Author: Jan Kratochvil Date: Mon Apr 2 09:45:38 2012 +0200 . commit 84faf620374b1352550a9d692d9bdf6ef734ef10 Merge: cdee201 447a144 Author: Jan Kratochvil Date: Mon Apr 2 09:43:23 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug-warn' into pathvec0-1-secmove-misc2-safepath-debug-warn-warnlocal commit 447a144fef1d91c0b503ca2c02c848877b9b252b Merge: 0fe2b32 f224e13 Author: Jan Kratochvil Date: Mon Apr 2 09:43:23 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug' into pathvec0-1-secmove-misc2-safepath-debug-warn commit f224e13f2a2f039eccf48ee61979654b60012117 Merge: 19d0588 13d17bb Author: Jan Kratochvil Date: Mon Apr 2 09:43:22 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath' into pathvec0-1-secmove-misc2-safepath-debug commit 13d17bbf2f107e0cc53b87152303ce72a469d04a Merge: 2826858 c96ca63 Author: Jan Kratochvil Date: Mon Apr 2 09:43:22 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2' into pathvec0-1-secmove-misc2-safepath commit c96ca63458945f4e9f30cf711f41a5a461e7d72a Author: Jan Kratochvil Date: Mon Apr 2 09:43:16 2012 +0200 . commit 5cab1817f60351789dd78d051ad7c23839aab376 Author: Jan Kratochvil Date: Mon Apr 2 07:32:29 2012 +0000 gdb/ * NEWS (set breakpoint condition-evaluation): Use imperative mood. commit cdee20143a5368b158e15685080251b76cc6f93b Merge: 9f12720 0fe2b32 Author: Jan Kratochvil Date: Mon Apr 2 09:22:48 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug-warn' into pathvec0-1-secmove-misc2-safepath-debug-warn-warnlocal Conflicts: gdb/doc/gdb.texinfo commit 0fe2b322df8c0b4e7905f9517a9ace2e91b5ffcb Merge: f25aa65 19d0588 Author: Jan Kratochvil Date: Mon Apr 2 09:21:58 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug' into pathvec0-1-secmove-misc2-safepath-debug-warn Conflicts: gdb/doc/gdb.texinfo commit 19d0588b6bd7d0b023d1c1eea7c4a39602e295f9 Merge: 1164104 2826858 Author: Jan Kratochvil Date: Mon Apr 2 09:21:22 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath' into pathvec0-1-secmove-misc2-safepath-debug commit 28268588eedea50641264c8acff86de28e51b0b4 Merge: e07852a 72365d2 Author: Jan Kratochvil Date: Mon Apr 2 09:21:14 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2' into pathvec0-1-secmove-misc2-safepath Conflicts: gdb/doc/gdb.texinfo commit 72365d2857ecf861bc6f0ac9777d6eeb28f33359 Author: Jan Kratochvil Date: Mon Apr 2 09:19:15 2012 +0200 . commit 21c89a44d67e49062aced27d29370981f922ebbb Author: Mike Frysinger Date: Mon Apr 2 05:21:59 2012 +0000 sim: fix spelling typo commit 5c3c12506e885797b4b8ad3f661f396b1a3dd6ac Author: gdbadmin Date: Mon Apr 2 00:00:33 2012 +0000 *** empty log message *** commit 7a1bed16627dc124130fc8fae44892e70373e04d Author: Alan Modra Date: Mon Apr 2 00:00:05 2012 +0000 daily update commit 893093a04491e1f6d34985f72d11b5956467a06c Author: Jan Kratochvil Date: Sun Apr 1 20:42:18 2012 +0200 . commit 9f12720e8a5fd4b0f6bea00925a5f41928120b5e Merge: 743999a f25aa65 Author: Jan Kratochvil Date: Sun Apr 1 20:38:29 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug-warn' into pathvec0-1-secmove-misc2-safepath-debug-warn-warnlocal commit f25aa651cffcb9e38b2b690cba1f185e85d17d78 Merge: ce1d2ec 1164104 Author: Jan Kratochvil Date: Sun Apr 1 20:38:29 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug' into pathvec0-1-secmove-misc2-safepath-debug-warn commit 11641048d4ced282f0c12ff9f35a4080908025ed Merge: 822e771 e07852a Author: Jan Kratochvil Date: Sun Apr 1 20:38:29 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath' into pathvec0-1-secmove-misc2-safepath-debug commit e07852a273dbee73e95518f30d9ac9a8a832bf6a Author: Jan Kratochvil Date: Sun Apr 1 20:38:22 2012 +0200 . commit 743999a43dc841ebfabe6b24d1aafeff2c4beb94 Merge: 8721c4e ce1d2ec Author: Jan Kratochvil Date: Sun Apr 1 20:37:21 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug-warn' into pathvec0-1-secmove-misc2-safepath-debug-warn-warnlocal commit ce1d2ecc147f27e956a819288c1b49d30761a4c7 Author: Jan Kratochvil Date: Sun Apr 1 20:37:16 2012 +0200 . commit 8af5a02c1286fb341d0f29c6b804f56a030d5705 Merge: cb3c5bf 822e771 Author: Jan Kratochvil Date: Sun Apr 1 20:37:02 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath-debug' into pathvec0-1-secmove-misc2-safepath-debug-warn commit 822e77172ffe9547f566a060896f489785476d4b Author: Jan Kratochvil Date: Sun Apr 1 20:36:54 2012 +0200 . commit 44c9fbf05caeabfc2baf75d2b675bd274dd996b1 Merge: 4acb746 8cd6334 Author: Jan Kratochvil Date: Sun Apr 1 20:36:32 2012 +0200 Merge branch 'pathvec0-1-secmove-misc2-safepath' into pathvec0-1-secmove-misc2-safepath-debug commit 8cd63340fccaa243d78cb6f493e968fe319cf3e3 Merge: 0b3aa46 ded0854 Author: Jan Kratochvil Date: Sun Apr 1 20:36:16 2012 +0200 . commit ded0854194e0019fec0e297089a75a3d722c7289 Author: Jan Kratochvil Date: Sun Apr 1 20:35:17 2012 +0200 . commit d8cd64f0271a3678c04f53b05aff3410a43fe99a Merge: 6163e53 d0f49d0 Author: Jan Kratochvil Date: Sun Apr 1 20:33:52 2012 +0200 Merge branch 'pathvec0-1-secmove' into pathvec0-1-secmove-misc2 commit d0f49d0a46f566a493b344c8106539bdc306fc58 Author: Jan Kratochvil Date: Sun Apr 1 20:33:44 2012 +0200 . ----------------------------------------------------------------------- Summary of changes: bfd/ChangeLog | 24 +++ bfd/Makefile.am | 4 + bfd/Makefile.in | 5 + bfd/configure | 30 ++-- bfd/configure.in | 30 ++-- bfd/elf-nacl.c | 205 +++++++++++++++++++++++++ bfd/elf-nacl.h | 24 +++ bfd/elf32-i386.c | 10 ++ bfd/elf64-x86-64.c | 14 ++- bfd/version.h | 2 +- gdb/ChangeLog | 30 ++++ gdb/Makefile.in | 2 +- gdb/NEWS | 1 + gdb/auto-load.c | 170 ++++++++++++++++----- gdb/auto-load.h | 1 + gdb/configure | 4 +- gdb/configure.ac | 2 +- gdb/cp-valprint.c | 20 ++- gdb/darwin-nat.c | 17 ++ gdb/doc/gdb.texinfo | 250 ++++++++++++++++++------------- gdb/{gdb-gdb.rc.in => gdb-gdb.gdb.in} | 0 gdb/i386-darwin-nat.c | 48 +++--- gdb/i386-darwin-tdep.c | 2 +- gdb/linux-thread-db.c | 9 +- gdb/main.c | 6 +- gdb/python/py-auto-load.c | 9 +- gdb/testsuite/ChangeLog | 9 + gdb/testsuite/gdb.trace/unavailable.exp | 8 +- gdb/valprint.c | 12 +-- gdb/value.h | 14 ++ gdb/version.in | 2 +- libiberty/ChangeLog | 9 + libiberty/cp-demangle.c | 5 + libiberty/stack-limit.c | 3 +- libiberty/testsuite/demangle-expected | 6 + sim/common/ChangeLog | 4 + sim/common/hw-ports.c | 2 +- 37 files changed, 752 insertions(+), 241 deletions(-) create mode 100644 bfd/elf-nacl.c create mode 100644 bfd/elf-nacl.h rename gdb/{gdb-gdb.rc.in => gdb-gdb.gdb.in} (100%) First 500 lines of diff: diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 384235e..56a1121 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,27 @@ +2012-04-03 Roland McGrath + + * elf-nacl.c: New file. + * elf-nacl.h: New file. + * elf32-i386.c (elf_backend_modify_segment_map): Define for + bfd_elf32_i386_nacl_vec. + (elf_backend_modify_program_headers): Likewise. + * elf64-x86-64.c (elf_backend_modify_segment_map): Define for + bfd_elf64_x86_64_nacl_vec and bfd_elf32_x86_64_nacl_vec. + (elf_backend_modify_program_headers): Likewise. + * Makefile.am (BFD32_BACKENDS, BFD64_BACKENDS): Add elf-nacl.lo here. + (BFD32_BACKENDS_CFILES, BFD64_BACKENDS_CFILES): Add elf-nacl.c here. + * Makefile.in: Regenerated. + * configure.in (bfd_elf64_x86_64_nacl_vec): Add elf-nacl.o to tb here. + (bfd_elf32_x86_64_nacl_vec): Likewise. + (bfd_elf64_x86_64_vec, bfd_elf32_x86_64_vec): Likewise. + (bfd_elf64_x86_64_freebsd_vec, bfd_elf64_x86_64_sol2_vec): Likewise. + (bfd_elf64_l1om_vec, bfd_elf64_l1om_freebsd_vec): Likewise. + (bfd_elf64_k1om_vec, bfd_elf64_k1om_freebsd_vec): Likewise. + (bfd_elf32_i386_nacl_vec): Likewise. + (bfd_elf32_i386_sol2_vec, bfd_elf32_i386_freebsd_vec): Likewise. + (bfd_elf32_i386_vxworks_vec, bfd_elf32_i386_vec): Likewise. + * configure: Regenerated. + 2012-03-31 Andreas Schwab * elf32-m68k.c (elf_m68k_relocate_section): Allow diff --git a/bfd/Makefile.am b/bfd/Makefile.am index 8f4fbee..50c84ee 100644 --- a/bfd/Makefile.am +++ b/bfd/Makefile.am @@ -275,6 +275,7 @@ BFD32_BACKENDS = \ elf-ifunc.lo \ elf-m10200.lo \ elf-m10300.lo \ + elf-nacl.lo \ elf-strtab.lo \ elf-vxworks.lo \ elf.lo \ @@ -461,6 +462,7 @@ BFD32_BACKENDS_CFILES = \ elf-ifunc.c \ elf-m10200.c \ elf-m10300.c \ + elf-nacl.c \ elf-strtab.c \ elf-vxworks.c \ elf.c \ @@ -609,6 +611,7 @@ BFD64_BACKENDS = \ coff-x86_64.lo \ coff64-rs6000.lo \ demo64.lo \ + elf-nacl.lo \ elf32-ia64.lo \ elf32-score.lo \ elf32-score7.lo \ @@ -645,6 +648,7 @@ BFD64_BACKENDS_CFILES = \ coff-x86_64.c \ coff64-rs6000.c \ demo64.c \ + elf-nacl.c \ elf32-score.c \ elf32-score7.c \ elf64-alpha.c \ diff --git a/bfd/Makefile.in b/bfd/Makefile.in index 437bafc..cf7b380 100644 --- a/bfd/Makefile.in +++ b/bfd/Makefile.in @@ -575,6 +575,7 @@ BFD32_BACKENDS = \ elf-ifunc.lo \ elf-m10200.lo \ elf-m10300.lo \ + elf-nacl.lo \ elf-strtab.lo \ elf-vxworks.lo \ elf.lo \ @@ -761,6 +762,7 @@ BFD32_BACKENDS_CFILES = \ elf-ifunc.c \ elf-m10200.c \ elf-m10300.c \ + elf-nacl.c \ elf-strtab.c \ elf-vxworks.c \ elf.c \ @@ -910,6 +912,7 @@ BFD64_BACKENDS = \ coff-x86_64.lo \ coff64-rs6000.lo \ demo64.lo \ + elf-nacl.lo \ elf32-ia64.lo \ elf32-score.lo \ elf32-score7.lo \ @@ -946,6 +949,7 @@ BFD64_BACKENDS_CFILES = \ coff-x86_64.c \ coff64-rs6000.c \ demo64.c \ + elf-nacl.c \ elf32-score.c \ elf32-score7.c \ elf64-alpha.c \ @@ -1341,6 +1345,7 @@ distclean-compile: @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf-ifunc.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf-m10200.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf-m10300.Plo@am__quote@ +@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf-nacl.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf-strtab.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf-vxworks.Plo@am__quote@ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/elf.Plo@am__quote@ diff --git a/bfd/configure b/bfd/configure index 58a57ba..dd274bd 100755 --- a/bfd/configure +++ b/bfd/configure @@ -15225,11 +15225,11 @@ do bfd_elf32_hppa_nbsd_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; bfd_elf32_hppa_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; bfd_elf32_i370_vec) tb="$tb elf32-i370.lo elf32.lo $elf" ;; - bfd_elf32_i386_sol2_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;; - bfd_elf32_i386_freebsd_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;; - bfd_elf32_i386_nacl_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;; - bfd_elf32_i386_vxworks_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;; - bfd_elf32_i386_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_i386_sol2_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_i386_freebsd_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_i386_nacl_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_i386_vxworks_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_i386_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; bfd_elf32_i860_little_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;; bfd_elf32_i860_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;; bfd_elf32_i960_vec) tb="$tb elf32-i960.lo elf32.lo $elf" ;; @@ -15364,16 +15364,16 @@ do tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; bfd_elf64_tradlittlemips_vec | bfd_elf64_tradlittlemips_freebsd_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - bfd_elf64_x86_64_freebsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf64_x86_64_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf64_x86_64_sol2_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf64_x86_64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf32_x86_64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo elf32.lo $elf"; target_size=64 ;; - bfd_elf32_x86_64_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo elf32.lo $elf"; target_size=64 ;; - bfd_elf64_l1om_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf64_l1om_freebsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf64_k1om_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf64_k1om_freebsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf64_x86_64_freebsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf64_x86_64_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf64_x86_64_sol2_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf64_x86_64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf32_x86_64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;; + bfd_elf32_x86_64_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;; + bfd_elf64_l1om_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf64_l1om_freebsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf64_k1om_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf64_k1om_freebsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; bfd_mmo_vec) tb="$tb mmo.lo" target_size=64 ;; bfd_powerpc_pe_vec) tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;; bfd_powerpc_pei_vec) tb="$tb pei-ppc.lo peigen.lo cofflink.lo" ;; diff --git a/bfd/configure.in b/bfd/configure.in index f443915..af3622b 100644 --- a/bfd/configure.in +++ b/bfd/configure.in @@ -711,11 +711,11 @@ do bfd_elf32_hppa_nbsd_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; bfd_elf32_hppa_vec) tb="$tb elf32-hppa.lo elf32.lo $elf" ;; bfd_elf32_i370_vec) tb="$tb elf32-i370.lo elf32.lo $elf" ;; - bfd_elf32_i386_sol2_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;; - bfd_elf32_i386_freebsd_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;; - bfd_elf32_i386_nacl_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;; - bfd_elf32_i386_vxworks_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;; - bfd_elf32_i386_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_i386_sol2_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_i386_freebsd_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_i386_nacl_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_i386_vxworks_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; + bfd_elf32_i386_vec) tb="$tb elf32-i386.lo elf-ifunc.lo elf-nacl.lo elf-vxworks.lo elf32.lo $elf" ;; bfd_elf32_i860_little_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;; bfd_elf32_i860_vec) tb="$tb elf32-i860.lo elf32.lo $elf" ;; bfd_elf32_i960_vec) tb="$tb elf32-i960.lo elf32.lo $elf" ;; @@ -850,16 +850,16 @@ do tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; bfd_elf64_tradlittlemips_vec | bfd_elf64_tradlittlemips_freebsd_vec) tb="$tb elf64-mips.lo elf64.lo elfxx-mips.lo elf-vxworks.lo elf32.lo $elf ecofflink.lo"; target_size=64 ;; - bfd_elf64_x86_64_freebsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf64_x86_64_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf64_x86_64_sol2_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf64_x86_64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf32_x86_64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo elf32.lo $elf"; target_size=64 ;; - bfd_elf32_x86_64_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo elf32.lo $elf"; target_size=64 ;; - bfd_elf64_l1om_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf64_l1om_freebsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf64_k1om_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; - bfd_elf64_k1om_freebsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf64_x86_64_freebsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf64_x86_64_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf64_x86_64_sol2_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf64_x86_64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf32_x86_64_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;; + bfd_elf32_x86_64_nacl_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo elf32.lo $elf"; target_size=64 ;; + bfd_elf64_l1om_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf64_l1om_freebsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf64_k1om_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; + bfd_elf64_k1om_freebsd_vec) tb="$tb elf64-x86-64.lo elf-ifunc.lo elf-nacl.lo elf64.lo $elf"; target_size=64 ;; bfd_mmo_vec) tb="$tb mmo.lo" target_size=64 ;; bfd_powerpc_pe_vec) tb="$tb pe-ppc.lo peigen.lo cofflink.lo" ;; bfd_powerpc_pei_vec) tb="$tb pei-ppc.lo peigen.lo cofflink.lo" ;; diff --git a/bfd/elf-nacl.c b/bfd/elf-nacl.c new file mode 100644 index 0000000..3ba7f55 --- /dev/null +++ b/bfd/elf-nacl.c @@ -0,0 +1,205 @@ +/* Native Client support for ELF + Copyright 2012 Free Software Foundation, Inc. + + This file is part of BFD, the Binary File Descriptor library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. */ + +#include "sysdep.h" +#include "bfd.h" +#include "elf-bfd.h" +#include "elf-nacl.h" +#include "elf/common.h" +#include "elf/internal.h" + +static bfd_boolean +segment_executable (struct elf_segment_map *seg) +{ + if (seg->p_flags_valid) + return (seg->p_flags & PF_X) != 0; + else + { + /* The p_flags value has not been computed yet, + so we have to look through the sections. */ + unsigned int i; + for (i = 0; i < seg->count; ++i) + if (seg->sections[i]->flags & SEC_CODE) + return TRUE; + } + return FALSE; +} + +static bfd_boolean +segment_nonexecutable_and_has_contents (struct elf_segment_map *seg) +{ + bfd_boolean any_contents = FALSE; + unsigned int i; + for (i = 0; i < seg->count; ++i) + { + if (seg->sections[i]->flags & SEC_CODE) + return FALSE; + if (seg->sections[i]->flags & SEC_HAS_CONTENTS) + any_contents = TRUE; + } + return any_contents; +} + + +/* We permute the segment_map to get BFD to do the file layout we want: + The first non-executable PT_LOAD segment appears first in the file + and contains the ELF file header and phdrs. */ +bfd_boolean +nacl_modify_segment_map (bfd *abfd, struct bfd_link_info *info ATTRIBUTE_UNUSED) +{ + struct elf_segment_map **m = &elf_tdata (abfd)->segment_map; + struct elf_segment_map **first_load = NULL; + struct elf_segment_map **last_load = NULL; + bfd_boolean moved_headers = FALSE; + + while (*m != NULL) + { + struct elf_segment_map *seg = *m; + + if (seg->p_type == PT_LOAD) + { + /* First, we're just finding the earliest PT_LOAD. + By the normal rules, this will be the lowest-addressed one. + We only have anything interesting to do if it's executable. */ + last_load = m; + if (first_load == NULL) + { + if (!segment_executable (*m)) + return TRUE; + first_load = m; + } + /* Now that we've noted the first PT_LOAD, we're looking for + the first non-executable PT_LOAD with a nonempty p_filesz. */ + else if (!moved_headers + && segment_nonexecutable_and_has_contents (seg)) + { + /* This is the one we were looking for! + + First, clear the flags on previous segments that + say they include the file header and phdrs. */ + struct elf_segment_map *prevseg; + for (prevseg = *first_load; + prevseg != seg; + prevseg = prevseg->next) + if (prevseg->p_type == PT_LOAD) + { + prevseg->includes_filehdr = 0; + prevseg->includes_phdrs = 0; + } + + /* This segment will include those headers instead. */ + seg->includes_filehdr = 1; + seg->includes_phdrs = 1; + + moved_headers = TRUE; + } + } + + m = &seg->next; + } + + if (first_load != last_load && moved_headers) + { + /* Now swap the first and last PT_LOAD segments' + positions in segment_map. */ + struct elf_segment_map *first = *first_load; + struct elf_segment_map *last = *last_load; + *first_load = first->next; + first->next = last->next; + last->next = first; + } + + return TRUE; +} + +/* After nacl_modify_segment_map has done its work, the file layout has + been done as we wanted. But the PT_LOAD phdrs are no longer in the + proper order for the ELF rule that they must appear in ascending address + order. So find the two segments we swapped before, and swap them back. */ +bfd_boolean +nacl_modify_program_headers (bfd *abfd, + struct bfd_link_info *info ATTRIBUTE_UNUSED) +{ + struct elf_segment_map **m = &elf_tdata (abfd)->segment_map; + Elf_Internal_Phdr *phdr = elf_tdata (abfd)->phdr; + Elf_Internal_Phdr *p = phdr; + + /* Find the PT_LOAD that contains the headers (should be the first). */ + while (*m != NULL) + { + if ((*m)->p_type == PT_LOAD && (*m)->includes_filehdr) + break; + + m = &(*m)->next; + ++p; + } + + if (*m != NULL) + { + struct elf_segment_map **first_load_seg = m; + Elf_Internal_Phdr *first_load_phdr = p; + struct elf_segment_map **next_load_seg = NULL; + Elf_Internal_Phdr *next_load_phdr = NULL; + + /* Now move past that first one and find the PT_LOAD that should be + before it by address order. */ + + m = &(*m)->next; + ++p; + + while ((*m) != NULL) + { + if (p->p_type == PT_LOAD && p->p_vaddr < first_load_phdr->p_vaddr) + { + next_load_seg = m; + next_load_phdr = p; + break; + } + + m = &(*m)->next; + ++p; + } + + /* Swap their positions in the segment_map back to how they used to be. + The phdrs have already been set up by now, so we have to slide up + the earlier ones to insert the one that should be first. */ + if (next_load_seg != NULL) + { + Elf_Internal_Phdr move_phdr; + struct elf_segment_map *first_seg = *first_load_seg; + struct elf_segment_map *next_seg = *next_load_seg; + struct elf_segment_map *first_next = first_seg->next; + struct elf_segment_map *next_next = next_seg->next; + + first_seg->next = next_next; + *first_load_seg = next_seg; + + next_seg->next = first_next; + *next_load_seg = first_seg; + + move_phdr = *next_load_phdr; + memmove (first_load_phdr + 1, first_load_phdr, + (next_load_phdr - first_load_phdr) * sizeof move_phdr); + *first_load_phdr = move_phdr; + } + } + + return TRUE; +} diff --git a/bfd/elf-nacl.h b/bfd/elf-nacl.h new file mode 100644 index 0000000..417c7e3 --- /dev/null +++ b/bfd/elf-nacl.h @@ -0,0 +1,24 @@ +/* Native Client support for ELF + Copyright 2012 Free Software Foundation, Inc. + + This file is part of BFD, the Binary File Descriptor library. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, Boston, + MA 02111-1307, USA. */ + +#include "bfd.h" + +bfd_boolean nacl_modify_segment_map (bfd *, struct bfd_link_info *); +bfd_boolean nacl_modify_program_headers (bfd *, struct bfd_link_info *); diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index f35e3c2..d5a2614 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -25,6 +25,7 @@ #include "bfdlink.h" #include "libbfd.h" #include "elf-bfd.h" +#include "elf-nacl.h" #include "elf-vxworks.h" #include "bfd_stdint.h" #include "objalloc.h" @@ -5207,8 +5208,17 @@ static const struct elf_i386_backend_data elf_i386_nacl_arch_bed = #undef elf_backend_arch_data #define elf_backend_arch_data &elf_i386_nacl_arch_bed +#undef elf_backend_modify_segment_map +#define elf_backend_modify_segment_map nacl_modify_segment_map +#undef elf_backend_modify_program_headers +#define elf_backend_modify_program_headers nacl_modify_program_headers + #include "elf32-target.h" +/* Restore defaults. */ +#undef elf_backend_modify_segment_map +#undef elf_backend_modify_program_headers + /* VxWorks support. */ #undef TARGET_LITTLE_SYM diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index cc5ee42..8ca811c 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -26,6 +26,7 @@ #include "bfdlink.h" #include "libbfd.h" #include "elf-bfd.h" +#include "elf-nacl.h" #include "bfd_stdint.h" #include "objalloc.h" #include "hashtab.h" @@ -5227,6 +5228,11 @@ static const struct elf_x86_64_backend_data elf_x86_64_nacl_arch_bed = #undef elf_backend_arch_data #define elf_backend_arch_data &elf_x86_64_nacl_arch_bed +#undef elf_backend_modify_segment_map +#define elf_backend_modify_segment_map nacl_modify_segment_map +#undef elf_backend_modify_program_headers +#define elf_backend_modify_program_headers nacl_modify_program_headers + hooks/post-receive -- Repository for Project Archer.