From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 15142 invoked by alias); 7 Mar 2012 19:53:45 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 14954 invoked by uid 9674); 7 Mar 2012 19:53:41 -0000 Date: Wed, 07 Mar 2012 19:53:00 -0000 Message-ID: <20120307195341.14939.qmail@sourceware.org> From: jkratoch@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] archer-jankratochvil-autoload: Merge branch 'initclean-initx-gdbinitb-move2-misc-pfx-warn-safepath-debug-warnlocal' into initclean-initx-gdbinitb-move2-misc-pfx-warn-safepath-debug-warnlocal-pfx2 X-Git-Refname: refs/heads/archer-jankratochvil-autoload X-Git-Reftype: branch X-Git-Oldrev: 1ffaa210103f1415eac3e59080dfa82477f0615b X-Git-Newrev: c5ecb6bf6625287d6396e03f8f3fcbaa206bf079 X-SW-Source: 2012-q1/txt/msg00053.txt.bz2 List-Id: The branch, archer-jankratochvil-autoload has been updated via c5ecb6bf6625287d6396e03f8f3fcbaa206bf079 (commit) via a66173da37ba80b49ceb585327289f7100bc9fb3 (commit) via bafa569a49c95305b84b17e5410f98e3991ec2f8 (commit) via cfb5599897b3ec5d96b312ed9ef388b5f577f688 (commit) via fb201ca3efd3dc3df1342b7cbad2194ebdb993cc (commit) via 545dfc43d2ee5cc4ba80093b24b60678486f049c (commit) via e3b5fd398d0cad6111f87063163f90333bc38e9e (commit) via c40afcb070339e6fb5de72c466851322ad8d2fac (commit) via e806c09826a619e54c8ae8464c2f674156f14625 (commit) via 26f2a42a0fc571f77e8351c197f46c75a667155f (commit) via d5d1ecc9c2dadfb1bf6b8c6116855e427ad62507 (commit) via 39fced40672d879411a74eec0d84af0b4732c747 (commit) via cb10cbb341ef0873b7ef293fee5b7af699466e82 (commit) via 3665ca5604ab54516b33d5313a5577ec36249403 (commit) via a898a81284c1ceec157cd42fed7d2ce6483af0eb (commit) via 89cc86b7bf07436b6b633d206eca0d3601aa9ded (commit) via 3b3d393431a9a29534920711dd35b501b9b60324 (commit) via 6ff8094c64b0c5529795d9d8310a65d796b530f6 (commit) via d85f4b1278cd985ece1e18a18c8d388c8987db16 (commit) via 57e84ac2a7dc12e3f209b8ce3bc733e135cbe4c0 (commit) via 2b8a5c596753196f6f6e0748a360f361fee3960b (commit) via 51eee208890b0361af7c6883d8a06810af7c5bb7 (commit) via 1d128685c1d675f51a3da653de82a9693d7f13f8 (commit) via 5d72ced5a380a3632536e6e54dfa329b7371456a (commit) via b1f433f8eb0e1eaf6c9643a9de26eb1c522f1f5d (commit) via 3ad813f84814a470a62b51b1358797ba6af26a4a (commit) via 0604243d4133103a11e6537ca14b60bd081b5a1a (commit) via 0b649a4c107c932bf491ceb52b721ebe1f68fe12 (commit) via 31a184b1ffc7ba795cc2f2600b1067875d6f477d (commit) via 3d95994f68cdad292b011aee4461ead4b08bc53b (commit) via 69dc58094d7988726ccdac13589bd3e512844b4d (commit) via 489dccd1e32b8bee613f4e96bb5824a9bae10007 (commit) via bdcceb57c444574e4ba421655148ad5ad3a6f146 (commit) via 716b73c25b482e0fc0735f8146999c9ec93138a5 (commit) via 6c754e85cbb4ae4fb9c50618904b111998fb2d63 (commit) via 6eea6d8513cb9b44099f5c134fcec16e3b69e601 (commit) via 925e936bfb1aac0ef9167d0e4e77633c476f28ed (commit) via 40b614d91532b1d53da015ee7b4b34d77f5c893d (commit) via ae1a4d58ddd00a2f7a8f6cd90c86b56258202f93 (commit) via 59eb008961369eb5cd001ecc716290a7eb376b5c (commit) via d194479d5bcfcaf6228f6dbd9dabd2e30da94fe7 (commit) via 23794ebc1e6b59789f3a9f2c3294708d3e08bcb6 (commit) via ca95bc325c1390236f099f7fef198d26bf481af6 (commit) via efe31ecf47bcc9d0adfec37c6bbab47285935f23 (commit) via adfca0a34413ca7ab2b1636c0257288214bcc8fa (commit) via a42272ad4e38fc27264c6263034beaba643b04ca (commit) via 2864d57a78f359398fda40c133200e409203f8fd (commit) via 7af6084a4a77a41bfdae7605652a5a43e819b057 (commit) via 991e4025fe1f38250e5d7a857c43165333a303f1 (commit) via c94608df559a74e2ccc1964722b765ffaa22975e (commit) via b1cbc81dcd50133d818266c439306157efa90757 (commit) via b51b9a59d31163ed4033cef8b6527d9df7529fdf (commit) via fa6fe146a31c803b3ab0a28aae8002a3883b3eea (commit) via 22b80c35bf31cc69216ee25715347a3598a33d3e (commit) via 16ad852ee6da628e918f1a8be5c02d1ee156c1f5 (commit) via 07041291a5098d60dac2efd593bcf5296c9c018a (commit) via 18032643b9541082ffdc1878bf044afc9f4ef879 (commit) via 91fc49c92983484ee0ccf85185b1312480d3bdc8 (commit) via 5c84c2458fef52e8f839ac55a218ea186df95a10 (commit) via e277a512715bbea5d01c96af2d6175a7d5bdc37d (commit) via 0683eeaf6e180a2381618f3d40bda6af8102ed6c (commit) via 3dbb9bb6b20c960d20bffe904df702487d4cf70a (commit) via eab20673e7210bba4f3a7e9a7b3565dbb43fa38f (commit) via 21a83a9eb884c4d597eb8d86ad995cbec725d10c (commit) via 205cde58b01bf903bb0952332703c7f591da385b (commit) via c76cc4b780865d52a7925fdde987d16e2579ae17 (commit) via fba7de0579dc79a7ffc7b3b902d111ce9acb3ab0 (commit) via 66e1c6b83b9a46e5046a4413fdf56e81d09d56aa (commit) via 56caf1757189b56d2f86846cb257beab3214e62e (commit) via ffbc94801174ce3aef0e5815ea2b2ea9274d2377 (commit) via 301206930e821439956367a4e898b31d6627b5eb (commit) via 92a8766ac287708e9e5cd51201286267c9939da2 (commit) via ec43c7943ae35dc7f1a69ee0be0bfe0d1a9bb92e (commit) via 44fc9128422d18f3111134dd0a9aa1639f28963e (commit) via a94d820be0218305b84293c463d06f8c203ee758 (commit) via 90ae5369ee6e0b9f4119b410bdfcc42cb7a7175f (commit) via 901ce86e6b0a621625bdf3ce0964a7993aff6968 (commit) via fcdd49843da857b9954800a6b95b28a2f338e793 (commit) via 93603673628717b7532185ec9568373c62fd7d7a (commit) via 38b87474eac01a30306b62ee94d719eca09c5f57 (commit) via 370416f95095fa78ae7045224eeca50011a5e577 (commit) via 9d869a82af6b5052d38dca64de2fdbcd081b6171 (commit) via 9e2fde2975e2b6fda0658378e5f82648df0259e0 (commit) via 09e986085d6671a39426078535557e64bd1580e6 (commit) via 5eff0f488de28505d18b6224c61a870af546b490 (commit) via a12e18f74ada8c042bd5521696481451e6f77747 (commit) via 1bff93fc562a4dd58bb9cad0cd6435665bf5b395 (commit) via 3e888f7db9dd282b46480b06b7b2ebd6d47a4863 (commit) via 840992be7ccc30581e08a089dbeeb50229a12e27 (commit) via d3d95f524829ff0036e9181a15e37ced73de0f7d (commit) via cdea452b9c1e0dde1a8663fd12e09c5f3c160dd0 (commit) via c53b1649cbc30746659af45cd4a97426c0ccec23 (commit) via 21ec173ba572a39f1a17e56965da5a5a8b200930 (commit) via 556dca4779b6b41ec6e8f87d2b063b43ea8a7eb1 (commit) via 75d3e263a9b09e23641350b8c19be7b50d05f2dd (commit) via f60b6c2fe8be640e407e0d4f490de5e62da0a4e2 (commit) via ac823a17033bfbf84274f0dea4861baae8405a01 (commit) via 50ee10f09b630aad776fe21b36c7cd6a349700d9 (commit) via 3572a50fbf989cc723f5dcd1bbc2130020d0eb1a (commit) via 893b3e22d1a522f4007756f7f99e0058a11375ed (commit) via dcf8a078f8979a32f4bd1366644508e5ce71e523 (commit) via 80ac8d5dbb66adfc9ef1cf33bc324c63b3cc03af (commit) via 0d291ed2326b9a58955c572a06fe189ede96dd84 (commit) via 00d27cd6c57e3fa18c25b9a8be95eee24dd52cb9 (commit) via d7421099dc404c7f68ae5d8463415b365a7d09c0 (commit) via 69592df5e64c73ce4966ebd35084b0c15e938907 (commit) via eae9ac185a655ee630af1a8f7a76e41125aec402 (commit) via df19014971c3df33ff240b1ad1390fa50d81217e (commit) via 765c912d797aa17e50b7abfb79ffabe61cf6df76 (commit) via d6c3151ae2205ef1736c6a551343001ba9a4cd53 (commit) via f98b5cd8835cb900f7dd37295dfd914e324f9260 (commit) via 438b1d58de47e84c244a65ceed73a52512c039c4 (commit) via 8c9f854209e99904fad5125049de8b2faed4170d (commit) via e25dd303ca2ef75fe0ae14cb74753b24d2345c0e (commit) via 4a6d2f5040656e2a8be57420bc98c0f0ae8f46c8 (commit) via d2f734aa7f39d153b5379f1b4a158f4ab576aaf4 (commit) via 6171b52bd74b3145c8b81a69b3d51fb12094e0e9 (commit) via 28ba1e58b6af971416b80acf05617700359fe430 (commit) via fe594ff61b3961f1a96025198173c7572330784f (commit) via d2bcac7d23f2bc807ccf0666e30834045b3598a5 (commit) via 55a5147158b466527f5d070dda6691df0335dd13 (commit) via 806ef06ae6289e0531eeed6b8f90521f9ccb54e6 (commit) via 97c575f1e694776f4e5d7252321c7f89c6c40863 (commit) via ac55ab70cef76751d949f637dfbd28551a883bcb (commit) via ad26b564b6127d039cb6dc50ddf6e00bb7a55bbb (commit) via 7a5bc8ff981bf778bb2ab405d61832c4994dcfd4 (commit) via bbd75f30978450e2cf20537b529d926fc034b586 (commit) via be0e231fc490d5b36b7462a9e9b5e660d83bd0f1 (commit) via 5c4b7c74f38156e80e2b3c1c57f070ea45bcde1c (commit) via 727f73957133e2122c87df9c0889b5c28a4a83ee (commit) via 021c6b73b067169f7776f15fff84b4921e0888e4 (commit) via da131ab01383f3e555146dc6567e0fb1d9855567 (commit) via 5cdfa5e83f2c8ded9abdac1e0a1c7fdd8043bb3b (commit) via fecfbdb9ad76a1206bd5a00ac14e1359dacf8fe6 (commit) via edef4892142baf94bac024f819efb770693beca8 (commit) via df1ab18804dfaf58213c6075147bec7559deb086 (commit) via 42a8d0e1c829015db282e3e7a402b5c330092446 (commit) via ecdbfb4b85fc480f4e68d6944e8efe72ae8a50ee (commit) via d3148c3970ecdcc9f63d80bba0f32b39ae05b87d (commit) via 26cda9aebc1fcbc0f3c72e195caa8b75612f6a96 (commit) via 1e2c5ed467f77e124ace65a936f867445a786dfd (commit) via 7c6deeb7ab57fb0c586b9ac05676ae8fcd5e1c00 (commit) via 93079b205eb208e4a600dff84403b3c8280c8b74 (commit) via a219eba792d6b074b14aa049879e0213bb9439ff (commit) via 6593eea0d90b6ca5e4cce4900ee618f0dbc4dcca (commit) via 96eda7e01c0066ceef9f1000a4099bcd9229108f (commit) via f67852acb5d64d34b4faf113ce28934d6fc07630 (commit) via ff7d6942104c853a31a16b6f181d1e0ea47a020a (commit) via 89d745ee413279aa25e6fd0a3df16a874cba8e73 (commit) via e31b2b38a5a60f27bf688f3e05caa880535ee8d1 (commit) via 1ece286fdb1b5c413cf9b1f5d9ebc55e5068c417 (commit) from 1ffaa210103f1415eac3e59080dfa82477f0615b (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit c5ecb6bf6625287d6396e03f8f3fcbaa206bf079 Merge: e806c09 a66173d Author: Jan Kratochvil Date: Wed Mar 7 20:46:11 2012 +0100 Merge branch 'initclean-initx-gdbinitb-move2-misc-pfx-warn-safepath-debug-warnlocal' into initclean-initx-gdbinitb-move2-misc-pfx-warn-safepath-debug-warnlocal-pfx2 commit a66173da37ba80b49ceb585327289f7100bc9fb3 Merge: 26f2a42 bafa569 Author: Jan Kratochvil Date: Wed Mar 7 20:46:11 2012 +0100 Merge branch 'initclean-initx-gdbinitb-move2-misc-pfx-warn-safepath-debug' into initclean-initx-gdbinitb-move2-misc-pfx-warn-safepath-debug-warnlocal commit bafa569a49c95305b84b17e5410f98e3991ec2f8 Merge: d5d1ecc cfb5599 Author: Jan Kratochvil Date: Wed Mar 7 20:46:11 2012 +0100 Merge branch 'initclean-initx-gdbinitb-move2-misc-pfx-warn-safepath' into initclean-initx-gdbinitb-move2-misc-pfx-warn-safepath-debug commit cfb5599897b3ec5d96b312ed9ef388b5f577f688 Merge: 39fced4 fb201ca Author: Jan Kratochvil Date: Wed Mar 7 20:46:11 2012 +0100 Merge branch 'initclean-initx-gdbinitb-move2-misc-pfx-warn' into initclean-initx-gdbinitb-move2-misc-pfx-warn-safepath commit fb201ca3efd3dc3df1342b7cbad2194ebdb993cc Merge: cb10cbb 545dfc4 Author: Jan Kratochvil Date: Wed Mar 7 20:46:11 2012 +0100 Merge branch 'initclean-initx-gdbinitb-move2-misc-pfx' into initclean-initx-gdbinitb-move2-misc-pfx-warn commit 545dfc43d2ee5cc4ba80093b24b60678486f049c Merge: 3665ca5 e3b5fd3 Author: Jan Kratochvil Date: Wed Mar 7 20:46:11 2012 +0100 Merge branch 'initclean-initx-gdbinitb-move2-misc' into initclean-initx-gdbinitb-move2-misc-pfx commit e3b5fd398d0cad6111f87063163f90333bc38e9e Merge: a898a81 c40afcb Author: Jan Kratochvil Date: Wed Mar 7 20:46:11 2012 +0100 Merge branch 'initclean-initx-gdbinitb-move2' into initclean-initx-gdbinitb-move2-misc commit c40afcb070339e6fb5de72c466851322ad8d2fac Author: Jan Kratochvil Date: Wed Mar 7 20:46:08 2012 +0100 . commit e806c09826a619e54c8ae8464c2f674156f14625 Merge: 1ffaa21 26f2a42 Author: Jan Kratochvil Date: Wed Mar 7 20:42:46 2012 +0100 Merge branch 'initclean-initx-gdbinitb-move2-misc-pfx-warn-safepath-debug-warnlocal' into initclean-initx-gdbinitb-move2-misc-pfx-warn-safepath-debug-warnlocal-pfx2 commit 26f2a42a0fc571f77e8351c197f46c75a667155f Merge: 7230619 d5d1ecc Author: Jan Kratochvil Date: Wed Mar 7 20:42:45 2012 +0100 Merge branch 'initclean-initx-gdbinitb-move2-misc-pfx-warn-safepath-debug' into initclean-initx-gdbinitb-move2-misc-pfx-warn-safepath-debug-warnlocal commit d5d1ecc9c2dadfb1bf6b8c6116855e427ad62507 Merge: 6e43512 39fced4 Author: Jan Kratochvil Date: Wed Mar 7 20:42:45 2012 +0100 Merge branch 'initclean-initx-gdbinitb-move2-misc-pfx-warn-safepath' into initclean-initx-gdbinitb-move2-misc-pfx-warn-safepath-debug commit 39fced40672d879411a74eec0d84af0b4732c747 Merge: 2cec33f cb10cbb Author: Jan Kratochvil Date: Wed Mar 7 20:42:44 2012 +0100 Merge branch 'initclean-initx-gdbinitb-move2-misc-pfx-warn' into initclean-initx-gdbinitb-move2-misc-pfx-warn-safepath commit cb10cbb341ef0873b7ef293fee5b7af699466e82 Merge: 6e97741 3665ca5 Author: Jan Kratochvil Date: Wed Mar 7 20:42:43 2012 +0100 Merge branch 'initclean-initx-gdbinitb-move2-misc-pfx' into initclean-initx-gdbinitb-move2-misc-pfx-warn commit 3665ca5604ab54516b33d5313a5577ec36249403 Merge: fb15ea5 a898a81 Author: Jan Kratochvil Date: Wed Mar 7 20:42:40 2012 +0100 Merge branch 'initclean-initx-gdbinitb-move2-misc' into initclean-initx-gdbinitb-move2-misc-pfx Conflicts: gdb/linux-thread-db.c commit a898a81284c1ceec157cd42fed7d2ce6483af0eb Merge: a366711 89cc86b Author: Jan Kratochvil Date: Wed Mar 7 20:42:24 2012 +0100 Merge branch 'initclean-initx-gdbinitb-move2' into initclean-initx-gdbinitb-move2-misc commit 89cc86b7bf07436b6b633d206eca0d3601aa9ded Merge: 4db7bf2 3b3d393 Author: Jan Kratochvil Date: Wed Mar 7 20:42:21 2012 +0100 Merge branch 'initclean-initx-gdbinitb' into initclean-initx-gdbinitb-move2 Conflicts: gdb/Makefile.in commit 3b3d393431a9a29534920711dd35b501b9b60324 Merge: 7005404 6ff8094 Author: Jan Kratochvil Date: Wed Mar 7 20:42:05 2012 +0100 Merge branch 'initclean-initx' into initclean-initx-gdbinitb commit 6ff8094c64b0c5529795d9d8310a65d796b530f6 Merge: 4d29910 d85f4b1 Author: Jan Kratochvil Date: Wed Mar 7 20:42:04 2012 +0100 Merge branch 'initclean' into initclean-initx commit d85f4b1278cd985ece1e18a18c8d388c8987db16 Merge: 0f1b0eb 57e84ac Author: Jan Kratochvil Date: Wed Mar 7 20:42:04 2012 +0100 Merge remote-tracking branch 'gdb/master' into initclean commit 57e84ac2a7dc12e3f209b8ce3bc733e135cbe4c0 Author: Nick Clifton Date: Wed Mar 7 17:51:56 2012 +0000 * mn10300.h (elf_mn10300_reloc_type): Add R_MN10300_TLS_GD, R_MN10300_TLS_LD, R_MN10300_TLS_LDO, R_MN10300_TLS_GOTIE, R_MN10300_TLS_IE, R_MN10300_TLS_LE, R_MN10300_TLS_DPTMOD, R_MN10300_TLS_DTPOFF and R_MN10300_TLS_TPOFF. * elf-m10300.c (elf32_mn10300_link_hash_entry): Add tls_type field. (elf32_mn10300_link_hash_table): Add tls_ldm_got entry; (elf_mn10300_tdata): Define. (elf_mn10300_local_got_tls_type): Define. (elf_mn10300_howto_table): Add entries for R_MN10300_TLS_GD, R_MN10300_TLS_LD, R_MN10300_TLS_LDO, R_MN10300_TLS_GOTIE, R_MN10300_TLS_IE, R_MN10300_TLS_LE, R_MN10300_TLS_DPTMOD, R_MN10300_TLS_DTPOFF, R_MN10300_TLS_TPOFF relocs. (mn10300_reloc_map): Likewise. (elf_mn10300_tls_transition): New function. (dtpoff, tpoff, mn10300_do_tls_transition): New functions. (mn10300_elf_check_relocs): Add TLS support. (mn10300_elf_final_link_relocate): Likewise. (mn10300_elf_relocate_section): Likewise. (mn10300_elf_relax_section): Likewise. (elf32_mn10300_link_hash_newfunc): Initialise new field. (_bfd_mn10300_copy_indirect_symbol): New function. (elf32_mn10300_link_hash_table_create): Initialise new fields. (_bfd_mn10300_elf_size_dynamic_sections): Add TLS support. (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise. (_bfd_mn10300_elf_reloc_type_class): Allocate an elf_mn10300_obj_tdata structure. (elf_backend_copy_indirect_symbol): Define. * reloc.c (BFD_MN10300_TLS_GD, BFD_MN10300_TLS_LD, BFD_MN10300_TLS_LDO, BFD_MN10300_TLS_GOTIE, BFD_MN10300_TLS_IE, BFD_MN10300_TLS_LE, BFD_MN10300_TLS_DPTMOD, BFD_MN10300_TLS_DTPOFF, BFD_MN10300_TLS_TPOFF): New relocations. (BFD_RELOC_MN10300_32_PCREL, BFD_RELOC_MN10300_16_PCREL): Move to alongside other MN10300 relocations. * bfd-in2.h: Regenerate. * libbfd.h: Regenerate. * config/tc-mn10300.c (other_registers): Add SSP and USP. (md_assemble): Add support for TLS relocs. (mn10300_parse_name): Likewise. * readelf.c (is_16bit_abs_reloc): Add detection of R_MN10300_16. commit 2b8a5c596753196f6f6e0748a360f361fee3960b Author: Andreas Schwab Date: Wed Mar 7 16:34:34 2012 +0000 * m68klinux-nat.c (getregs_supplies): Make static. (getfpregs_supplies): Likewise. (have_ptrace_getregs): Likewise. commit 51eee208890b0361af7c6883d8a06810af7c5bb7 Author: gdbadmin Date: Wed Mar 7 00:00:03 2012 +0000 *** empty log message *** commit 1d128685c1d675f51a3da653de82a9693d7f13f8 Author: Joel Brobecker Date: Tue Mar 6 23:41:47 2012 +0000 Pass absolute die offset in call to get_die_type_at_offset gdb/ChangeLog: * dwarf2read.c (dwarf2_get_die_type): Pass absolute offset in call to get_die_type_at_offset. commit 5d72ced5a380a3632536e6e54dfa329b7371456a Author: Alan Modra Date: Tue Mar 6 23:00:04 2012 +0000 daily update commit b1f433f8eb0e1eaf6c9643a9de26eb1c522f1f5d Author: Stan Shebs Date: Tue Mar 6 22:48:49 2012 +0000 * mi/mi-cmd-break.c: Enforce coding standards, fix comments. * mi/mi-cmd-disas.c: Ditto. * mi/mi-cmd-env.c: Ditto. * mi/mi-cmd-file.c: Ditto. * mi/mi-cmd-stack.c: Ditto. * mi/mi-cmd-target.c: Ditto. * mi/mi-cmd-var.c: Ditto. * mi/mi-cmds.c: Ditto. * mi/mi-cmds.h: Ditto. * mi/mi-console.c: Ditto. * mi/mi-getopt.c: Ditto. * mi/mi-getopt.h: Ditto. * mi/mi-interp.c: Ditto. * mi/mi-main.c: Ditto. * mi/mi-out.c: Ditto. * mi/mi-parse.c: Ditto. * mi/mi-parse.h: Ditto. * mi/mi-symbol-cmds.c: Ditto. * mi/mi-getopt.h: Move mi_opt struct up. * mi/mi-main.c (captured_mi_execute_command): Remove redundant return. * mi/mi-out.c (_initialize_mi_out): Remove empty initialize. commit 3ad813f84814a470a62b51b1358797ba6af26a4a Author: Jakub Jelinek Date: Tue Mar 6 20:15:48 2012 +0000 * elf64-x86-64.c (elf_x86_64_relocate_section): For R_X86_64_RELATIVE set relocate to TRUE. commit 0604243d4133103a11e6537ca14b60bd081b5a1a Author: Tom Tromey Date: Tue Mar 6 19:51:07 2012 +0000 * proc-service.c (ps_pglobal_lookup): Set the current program space. commit 0b649a4c107c932bf491ceb52b721ebe1f68fe12 Author: Joel Brobecker Date: Tue Mar 6 17:33:30 2012 +0000 New Ada testcase (bp_on_var.exp). gdb/testsuite/ChangeLog: * gdb.ada/bp_on_var: New testcase. ----------------------------------------------------------------------- Summary of changes: ChangeLog | 5 + bfd/ChangeLog | 50 + bfd/bfd-in2.h | 27 +- bfd/elf-m10300.c | 883 ++++++- bfd/elf64-x86-64.c | 4 +- bfd/elfxx-sparc.c | 6 +- bfd/elfxx-tilegx.c | 2 +- bfd/libbfd.h | 13 +- bfd/reloc.c | 40 +- bfd/version.h | 2 +- configure | 4 +- configure.ac | 4 +- gdb/ChangeLog | 822 ++++++ gdb/MAINTAINERS | 1 + gdb/Makefile.in | 16 +- gdb/NEWS | 17 + gdb/ada-exp.y | 3 +- gdb/ada-lang.c | 426 +++-- gdb/ada-lang.h | 22 +- gdb/ada-lex.l | 17 +- gdb/ada-valprint.c | 125 +- gdb/agent.c | 87 + gdb/alpha-tdep.c | 2 +- gdb/amd64-darwin-tdep.c | 3 + gdb/amd64-linux-tdep.c | 2 +- gdb/amd64-windows-tdep.c | 3 + gdb/arch-utils.c | 12 + gdb/arch-utils.h | 5 + gdb/arm-symbian-tdep.c | 5 +- gdb/arm-wince-tdep.c | 2 +- gdb/breakpoint.c | 32 +- gdb/breakpoint.h | 3 + gdb/c-lang.c | 4 + gdb/c-lang.h | 16 +- gdb/c-valprint.c | 342 +--- gdb/charset.c | 6 +- gdb/cli/cli-cmds.c | 9 +- gdb/common/agent.c | 357 +++ gdb/common/agent.h | 57 + gdb/common/linux-osdata.c | 2 + gdb/common/signals.c | 42 - gdb/config.in | 6 + gdb/configure | 4 +- gdb/configure.ac | 4 +- gdb/configure.tgt | 4 + gdb/copyright.py | 19 +- gdb/cris-tdep.c | 42 - gdb/d-lang.c | 4 + gdb/d-lang.h | 10 +- gdb/d-valprint.c | 31 +- gdb/defs.h | 1 + gdb/doc/ChangeLog | 24 + gdb/doc/gdb.texinfo | 113 +- gdb/dwarf2expr.c | 3 + gdb/dwarf2loc.c | 3 + gdb/dwarf2read.c | 39 +- gdb/exec.c | 2 +- gdb/f-lang.c | 7 +- gdb/f-lang.h | 8 +- gdb/f-valprint.c | 182 +-- gdb/features/Makefile | 5 +- gdb/features/mips-dsp-linux.c | 110 + gdb/features/mips-dsp-linux.xml | 20 + gdb/features/mips-dsp.xml | 18 + gdb/features/mips64-dsp-linux.c | 108 + gdb/features/mips64-dsp-linux.xml | 19 + gdb/features/mips64-dsp.xml | 18 + gdb/findvar.c | 22 +- gdb/frame.c | 20 + gdb/frame.h | 7 + gdb/frv-tdep.c | 66 - gdb/gdb_proc_service.h | 110 +- gdb/gdbserver/ChangeLog | 135 + gdb/gdbserver/Makefile.in | 20 +- gdb/gdbserver/config.in | 3 + gdb/gdbserver/configure | 2 +- gdb/gdbserver/configure.ac | 2 +- gdb/gdbserver/configure.srv | 9 +- gdb/gdbserver/inferiors.c | 29 - gdb/gdbserver/linux-arm-low.c | 1 + gdb/gdbserver/linux-bfin-low.c | 1 + gdb/gdbserver/linux-cris-low.c | 1 + gdb/gdbserver/linux-crisv32-low.c | 1 + gdb/gdbserver/linux-ia64-low.c | 1 + gdb/gdbserver/linux-low.c | 442 +++-- gdb/gdbserver/linux-low.h | 6 + gdb/gdbserver/linux-m32r-low.c | 1 + gdb/gdbserver/linux-m68k-low.c | 1 + gdb/gdbserver/linux-mips-low.c | 119 +- gdb/gdbserver/linux-ppc-low.c | 1 + gdb/gdbserver/linux-s390-low.c | 1 + gdb/gdbserver/linux-sh-low.c | 1 + gdb/gdbserver/linux-sparc-low.c | 1 + gdb/gdbserver/linux-tic6x-low.c | 1 + gdb/gdbserver/linux-x86-low.c | 4 +- gdb/gdbserver/linux-xtensa-low.c | 1 + gdb/gdbserver/server.c | 28 + gdb/gdbserver/server.h | 4 - gdb/gdbserver/target.h | 7 + gdb/gdbserver/tracepoint.c | 350 +-- gdb/gdbtypes.h | 7 - gdb/gnulib/extra/update-copyright | 13 +- gdb/gregset.h | 4 + gdb/i386-darwin-tdep.c | 3 + gdb/i386-linux-nat.c | 3 + gdb/i386-linux-tdep.c | 4 +- gdb/i386-windows-nat.c | 3 + gdb/i387-tdep.c | 264 ++- gdb/ia64-tdep.c | 6 +- gdb/ia64-tdep.h | 11 + gdb/ia64-vms-tdep.c | 165 ++ gdb/inf-child.c | 20 + gdb/infcmd.c | 4 +- gdb/inferior.c | 25 +- gdb/inferior.h | 10 + gdb/infrun.c | 9 + gdb/inline-frame.c | 1 + gdb/jit-reader.in | 4 +- gdb/jv-lang.c | 1 + gdb/jv-lang.h | 12 +- gdb/jv-valprint.c | 32 +- gdb/language.c | 11 +- gdb/language.h | 25 +- gdb/libunwind-frame.c | 46 +- gdb/libunwind-frame.h | 2 - gdb/linespec.c | 5 + gdb/linux-nat.c | 143 +- gdb/linux-nat.h | 3 - gdb/linux-tdep.c | 9 +- gdb/linux-thread-db.c | 11 +- gdb/lm32-tdep.c | 3 + gdb/m2-lang.c | 1 + gdb/m2-lang.h | 8 +- gdb/m2-valprint.c | 237 +-- gdb/m68klinux-nat.c | 6 +- gdb/mi/mi-cmd-break.c | 8 +- gdb/mi/mi-cmd-disas.c | 31 +- gdb/mi/mi-cmd-env.c | 16 +- gdb/mi/mi-cmd-file.c | 23 +- gdb/mi/mi-cmd-stack.c | 46 +- gdb/mi/mi-cmd-target.c | 18 +- gdb/mi/mi-cmd-var.c | 98 +- gdb/mi/mi-cmds.c | 22 +- gdb/mi/mi-cmds.h | 9 +- gdb/mi/mi-console.c | 37 +- gdb/mi/mi-getopt.c | 14 +- gdb/mi/mi-getopt.h | 34 +- gdb/mi/mi-interp.c | 130 +- gdb/mi/mi-main.c | 304 ++-- gdb/mi/mi-out.c | 92 +- gdb/mi/mi-parse.c | 48 +- gdb/mi/mi-parse.h | 2 +- gdb/mi/mi-symbol-cmds.c | 14 +- gdb/microblaze-linux-tdep.c | 3 + gdb/microblaze-tdep.c | 8 +- gdb/mingw-hdep.c | 3 + gdb/mips-linux-nat.c | 114 +- gdb/mips-linux-tdep.c | 16 +- gdb/mips-linux-tdep.h | 4 +- gdb/mips-tdep.c | 438 +++-- gdb/mips-tdep.h | 2 + gdb/moxie-tdep.c | 2 +- gdb/objc-lang.c | 4 + gdb/observer.c | 5 + gdb/opencl-lang.c | 8 +- gdb/osabi.c | 5 + gdb/p-lang.c | 1 + gdb/p-lang.h | 12 +- gdb/p-valprint.c | 233 +-- gdb/ppc-linux-nat.c | 3 +- gdb/proc-service.c | 16 +- gdb/psymtab.c | 4 - gdb/python/py-breakpoint.c | 1 + gdb/python/py-cmd.c | 5 +- gdb/python/py-continueevent.c | 2 +- gdb/python/py-lazy-string.c | 2 +- gdb/python/py-newobjfileevent.c | 2 +- gdb/python/py-utils.c | 2 +- gdb/python/py-value.c | 1 + gdb/record.c | 3 + gdb/regformats/mips-dsp-linux.dat | 84 + gdb/regformats/mips64-dsp-linux.dat | 84 + gdb/remote-mips.c | 8 +- gdb/remote-sim.c | 4 +- gdb/remote.c | 74 +- gdb/rl78-tdep.c | 5 +- gdb/rx-tdep.c | 6 +- gdb/s390-nat.c | 1 + gdb/ser-mingw.c | 2 +- gdb/sh-tdep.c | 58 +- gdb/sh-tdep.h | 3 - gdb/sh64-tdep.c | 1 + gdb/{d-lang.h => sh64-tdep.h} | 22 +- gdb/skip.c | 3 + gdb/solib-darwin.c | 5 +- gdb/solib-spu.c | 4 + gdb/source.c | 20 - gdb/source.h | 23 + gdb/spu-multiarch.c | 3 + gdb/stubs/ChangeLog | 4 + gdb/stubs/buildvms.com | 11 + gdb/stubs/ia64vms-stub.c | 2602 ++++++++++++++++++++ gdb/symtab.c | 2 +- gdb/target.c | 20 + gdb/target.h | 27 +- gdb/testsuite/ChangeLog | 145 ++ gdb/testsuite/gdb.ada/aliased_array.exp | 36 + gdb/testsuite/gdb.ada/aliased_array/foo.adb | 22 + gdb/testsuite/gdb.ada/aliased_array/pck.adb | 30 + gdb/testsuite/gdb.ada/aliased_array/pck.ads | 21 + gdb/testsuite/gdb.ada/arrayidx.exp | 34 +- gdb/testsuite/gdb.ada/bp_enum_homonym.exp | 52 + gdb/testsuite/gdb.ada/bp_enum_homonym/p.adb | 26 + gdb/testsuite/gdb.ada/bp_enum_homonym/pck.adb | 28 + gdb/testsuite/gdb.ada/bp_enum_homonym/pck.ads | 23 + .../gdb.ada/{mi_task_arg.exp => bp_on_var.exp} | 43 +- gdb/testsuite/gdb.ada/bp_on_var/foo.adb | 20 + gdb/testsuite/gdb.ada/bp_on_var/pck.adb | 27 + gdb/testsuite/gdb.ada/bp_on_var/pck.ads | 20 + gdb/testsuite/gdb.ada/enum_idx_packed.exp | 38 + gdb/testsuite/gdb.ada/enum_idx_packed/foo.adb | 24 + gdb/testsuite/gdb.ada/enum_idx_packed/pck.adb | 21 + gdb/testsuite/gdb.ada/enum_idx_packed/pck.ads | 23 + gdb/testsuite/gdb.ada/info_locals_renaming.exp | 36 + gdb/testsuite/gdb.ada/info_locals_renaming/foo.adb | 22 + gdb/testsuite/gdb.ada/info_locals_renaming/pck.adb | 21 + gdb/testsuite/gdb.ada/info_locals_renaming/pck.ads | 20 + gdb/testsuite/gdb.ada/mi_task_arg.exp | 3 + gdb/testsuite/gdb.ada/operator_bp.exp | 91 + gdb/testsuite/gdb.ada/operator_bp/ops.adb | 140 ++ gdb/testsuite/gdb.ada/operator_bp/ops.ads | 52 + gdb/testsuite/gdb.ada/operator_bp/ops_test.adb | 40 + gdb/testsuite/gdb.ada/tagged_not_init.exp | 36 + gdb/testsuite/gdb.ada/tagged_not_init/foo.adb | 24 + gdb/testsuite/gdb.ada/tagged_not_init/pck.adb | 26 + gdb/testsuite/gdb.ada/tagged_not_init/pck.ads | 31 + .../{mi_task_arg.exp => whatis_array_val.exp} | 39 +- gdb/testsuite/gdb.ada/whatis_array_val/foo.adb | 25 + gdb/testsuite/gdb.ada/whatis_array_val/pck.adb | 23 + gdb/testsuite/gdb.ada/whatis_array_val/pck.ads | 19 + gdb/testsuite/gdb.arch/altivec-abi.exp | 2 +- gdb/testsuite/gdb.base/disp-step-syscall.exp | 19 +- gdb/testsuite/gdb.base/hbreak2.exp | 604 +++++ gdb/testsuite/gdb.base/help.exp | 2 +- gdb/testsuite/gdb.base/nextoverexit.c | 23 + gdb/testsuite/gdb.base/nextoverexit.exp | 33 + gdb/testsuite/gdb.cp/mb-templates.exp | 62 +- gdb/testsuite/gdb.cp/method2.exp | 32 +- gdb/testsuite/gdb.cp/ovldbreak.cc | 47 +- gdb/testsuite/gdb.cp/ovldbreak.exp | 295 ++- gdb/testsuite/gdb.java/jprint.java | 1 + gdb/testsuite/gdb.python/py-cmd.exp | 17 + gdb/testsuite/gdb.trace/ftrace.exp | 4 +- gdb/testsuite/gdb.trace/strace.exp | 35 +- gdb/testsuite/gdb.trace/unavailable.exp | 34 + gdb/testsuite/gdb.xml/tdesc-regs.exp | 2 +- gdb/thread.c | 4 +- gdb/tic6x-tdep.c | 13 +- gdb/top.c | 3 +- gdb/tracepoint.c | 39 +- gdb/tracepoint.h | 4 + gdb/tui/tui-data.c | 10 - gdb/tui/tui-data.h | 2 - gdb/tui/tui-regs.c | 13 - gdb/valprint.c | 433 +++- gdb/valprint.h | 35 + gdb/value.c | 19 +- gdb/value.h | 29 +- gdb/varobj.c | 7 +- gdb/version.in | 2 +- gdb/windows-nat.c | 14 +- gdb/windows-tdep.c | 3 + gdb/windows-termcap.c | 8 + gdb/xml-syscall.c | 2 +- include/elf/ChangeLog | 7 + include/elf/mn10300.h | 9 + sim/bfin/ChangeLog | 8 + sim/bfin/config.in | 21 +- sim/bfin/configure | 15 +- sim/bfin/configure.ac | 9 +- sim/bfin/dv-eth_phy.c | 5 +- sim/rx/ChangeLog | 13 + sim/rx/gdb-if.c | 4 +- sim/rx/load.c | 34 +- sim/rx/load.h | 3 +- sim/rx/main.c | 2 +- sim/rx/syscalls.c | 6 + sim/rx/syscalls.h | 1 + 288 files changed, 11592 insertions(+), 3392 deletions(-) create mode 100644 gdb/agent.c create mode 100644 gdb/common/agent.c create mode 100644 gdb/common/agent.h create mode 100644 gdb/features/mips-dsp-linux.c create mode 100644 gdb/features/mips-dsp-linux.xml create mode 100644 gdb/features/mips-dsp.xml create mode 100644 gdb/features/mips64-dsp-linux.c create mode 100644 gdb/features/mips64-dsp-linux.xml create mode 100644 gdb/features/mips64-dsp.xml create mode 100644 gdb/ia64-vms-tdep.c create mode 100644 gdb/regformats/mips-dsp-linux.dat create mode 100644 gdb/regformats/mips64-dsp-linux.dat copy gdb/{d-lang.h => sh64-tdep.h} (56%) create mode 100644 gdb/stubs/ChangeLog create mode 100644 gdb/stubs/buildvms.com create mode 100644 gdb/stubs/ia64vms-stub.c create mode 100644 gdb/testsuite/gdb.ada/aliased_array.exp create mode 100644 gdb/testsuite/gdb.ada/aliased_array/foo.adb create mode 100644 gdb/testsuite/gdb.ada/aliased_array/pck.adb create mode 100644 gdb/testsuite/gdb.ada/aliased_array/pck.ads create mode 100644 gdb/testsuite/gdb.ada/bp_enum_homonym.exp create mode 100644 gdb/testsuite/gdb.ada/bp_enum_homonym/p.adb create mode 100644 gdb/testsuite/gdb.ada/bp_enum_homonym/pck.adb create mode 100644 gdb/testsuite/gdb.ada/bp_enum_homonym/pck.ads copy gdb/testsuite/gdb.ada/{mi_task_arg.exp => bp_on_var.exp} (50%) create mode 100644 gdb/testsuite/gdb.ada/bp_on_var/foo.adb create mode 100644 gdb/testsuite/gdb.ada/bp_on_var/pck.adb create mode 100644 gdb/testsuite/gdb.ada/bp_on_var/pck.ads create mode 100644 gdb/testsuite/gdb.ada/enum_idx_packed.exp create mode 100644 gdb/testsuite/gdb.ada/enum_idx_packed/foo.adb create mode 100644 gdb/testsuite/gdb.ada/enum_idx_packed/pck.adb create mode 100644 gdb/testsuite/gdb.ada/enum_idx_packed/pck.ads create mode 100644 gdb/testsuite/gdb.ada/info_locals_renaming.exp create mode 100644 gdb/testsuite/gdb.ada/info_locals_renaming/foo.adb create mode 100644 gdb/testsuite/gdb.ada/info_locals_renaming/pck.adb create mode 100644 gdb/testsuite/gdb.ada/info_locals_renaming/pck.ads create mode 100644 gdb/testsuite/gdb.ada/operator_bp.exp create mode 100644 gdb/testsuite/gdb.ada/operator_bp/ops.adb create mode 100644 gdb/testsuite/gdb.ada/operator_bp/ops.ads create mode 100644 gdb/testsuite/gdb.ada/operator_bp/ops_test.adb create mode 100644 gdb/testsuite/gdb.ada/tagged_not_init.exp create mode 100644 gdb/testsuite/gdb.ada/tagged_not_init/foo.adb create mode 100644 gdb/testsuite/gdb.ada/tagged_not_init/pck.adb create mode 100644 gdb/testsuite/gdb.ada/tagged_not_init/pck.ads copy gdb/testsuite/gdb.ada/{mi_task_arg.exp => whatis_array_val.exp} (50%) create mode 100644 gdb/testsuite/gdb.ada/whatis_array_val/foo.adb create mode 100644 gdb/testsuite/gdb.ada/whatis_array_val/pck.adb create mode 100644 gdb/testsuite/gdb.ada/whatis_array_val/pck.ads create mode 100644 gdb/testsuite/gdb.base/hbreak2.exp create mode 100644 gdb/testsuite/gdb.base/nextoverexit.c create mode 100644 gdb/testsuite/gdb.base/nextoverexit.exp First 500 lines of diff: diff --git a/ChangeLog b/ChangeLog index 599b59d..572f968 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-03-05 Tristan Gingold + + * configure.ac: Enable gdb and readline for ia64*-*-*vms*. + * configure: Regenerate. + 2012-02-21 Joern Rennecke * COPYING.NEWLIB: Add Adapteva notice. diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 93eb6fb..ce08017 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,53 @@ +2012-03-07 Nick Clifton + + * elf-m10300.c (elf32_mn10300_link_hash_entry): Add tls_type + field. + (elf32_mn10300_link_hash_table): Add tls_ldm_got entry; + (elf_mn10300_tdata): Define. + (elf_mn10300_local_got_tls_type): Define. + (elf_mn10300_howto_table): Add entries for R_MN10300_TLS_GD, + R_MN10300_TLS_LD, R_MN10300_TLS_LDO, R_MN10300_TLS_GOTIE, + R_MN10300_TLS_IE, R_MN10300_TLS_LE, R_MN10300_TLS_DPTMOD, + R_MN10300_TLS_DTPOFF, R_MN10300_TLS_TPOFF relocs. + (mn10300_reloc_map): Likewise. + (elf_mn10300_tls_transition): New function. + (dtpoff, tpoff, mn10300_do_tls_transition): New functions. + (mn10300_elf_check_relocs): Add TLS support. + (mn10300_elf_final_link_relocate): Likewise. + (mn10300_elf_relocate_section): Likewise. + (mn10300_elf_relax_section): Likewise. + (elf32_mn10300_link_hash_newfunc): Initialise new field. + (_bfd_mn10300_copy_indirect_symbol): New function. + (elf32_mn10300_link_hash_table_create): Initialise new fields. + (_bfd_mn10300_elf_size_dynamic_sections): Add TLS support. + (_bfd_mn10300_elf_finish_dynamic_symbol): Likewise. + (_bfd_mn10300_elf_reloc_type_class): Allocate an + elf_mn10300_obj_tdata structure. + (elf_backend_copy_indirect_symbol): Define. + * reloc.c (BFD_MN10300_TLS_GD, BFD_MN10300_TLS_LD, + BFD_MN10300_TLS_LDO, BFD_MN10300_TLS_GOTIE, BFD_MN10300_TLS_IE, + BFD_MN10300_TLS_LE, BFD_MN10300_TLS_DPTMOD, + BFD_MN10300_TLS_DTPOFF, BFD_MN10300_TLS_TPOFF): New relocations. + (BFD_RELOC_MN10300_32_PCREL, BFD_RELOC_MN10300_16_PCREL): Move to + alongside other MN10300 relocations. + * bfd-in2.h: Regenerate. + * libbfd.h: Regenerate. + +2012-03-06 Jakub Jelinek + + * elf64-x86-64.c (elf_x86_64_relocate_section): For R_X86_64_RELATIVE + set relocate to TRUE. + +2012-03-05 Rainer Orth + + PR ld/12152 + * elfxx-sparc.c (_bfd_sparc_elf_relocate_section): Also ignore + overflows for R_SPARC_UA32 in .stab sections. + +2012-03-01 Alan Modra + + * elfxx-tilegx.c (tilegx_elf_relocate_section): Silence bogus warning. + 2012-02-27 Alan Modra * elf32-sh.c (sh_elf_osec_to_segment): Check for elf flavour bfd diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h index 9c77fed..bb43860 100644 --- a/bfd/bfd-in2.h +++ b/bfd/bfd-in2.h @@ -2963,6 +2963,25 @@ be honoured at the offset's location, regardless of linker relaxation. */ BFD_RELOC_MN10300_ALIGN, +/* Various TLS-related relocations. */ + BFD_RELOC_MN10300_TLS_GD, + BFD_RELOC_MN10300_TLS_LD, + BFD_RELOC_MN10300_TLS_LDO, + BFD_RELOC_MN10300_TLS_GOTIE, + BFD_RELOC_MN10300_TLS_IE, + BFD_RELOC_MN10300_TLS_LE, + BFD_RELOC_MN10300_TLS_DTPMOD, + BFD_RELOC_MN10300_TLS_DTPOFF, + BFD_RELOC_MN10300_TLS_TPOFF, + +/* This is a 32bit pcrel reloc for the mn10300, offset by two bytes in the +instruction. */ + BFD_RELOC_MN10300_32_PCREL, + +/* This is a 16bit pcrel reloc for the mn10300, offset by two bytes in the +instruction. */ + BFD_RELOC_MN10300_16_PCREL, + /* i386/elf relocations */ BFD_RELOC_386_GOT32, @@ -3798,14 +3817,6 @@ instructions. */ /* start data in text. */ BFD_RELOC_V850_DATA, -/* This is a 32bit pcrel reloc for the mn10300, offset by two bytes in the -instruction. */ - BFD_RELOC_MN10300_32_PCREL, - -/* This is a 16bit pcrel reloc for the mn10300, offset by two bytes in the -instruction. */ - BFD_RELOC_MN10300_16_PCREL, - /* This is a 8bit DP reloc for the tms320c30, where the most significant 8 bits of a 24 bit word are placed into the least significant 8 bits of the opcode. */ diff --git a/bfd/elf-m10300.c b/bfd/elf-m10300.c index fa33b4a..d5e183d 100644 --- a/bfd/elf-m10300.c +++ b/bfd/elf-m10300.c @@ -69,6 +69,14 @@ struct elf32_mn10300_link_hash_entry /* Calculated value. */ bfd_vma value; + +#define GOT_UNKNOWN 0 +#define GOT_NORMAL 1 +#define GOT_TLS_GD 2 +#define GOT_TLS_LD 3 +#define GOT_TLS_IE 4 + /* Used to distinguish GOT entries for TLS types from normal GOT entries. */ + unsigned char tls_type; }; /* We derive a hash table from the main elf linker hash table so @@ -87,8 +95,31 @@ struct elf32_mn10300_link_hash_table /* Random linker state flags. */ #define MN10300_HASH_ENTRIES_INITIALIZED 0x1 char flags; + struct + { + bfd_signed_vma refcount; + bfd_vma offset; + char got_allocated; + char rel_emitted; + } tls_ldm_got; }; +#define elf_mn10300_hash_entry(ent) ((struct elf32_mn10300_link_hash_entry *)(ent)) + +struct elf_mn10300_obj_tdata +{ + struct elf_obj_tdata root; + + /* tls_type for each local got entry. */ + char * local_got_tls_type; +}; + +#define elf_mn10300_tdata(abfd) \ + ((struct elf_mn10300_obj_tdata *) (abfd)->tdata.any) + +#define elf_mn10300_local_got_tls_type(abfd) \ + (elf_mn10300_tdata (abfd)->local_got_tls_type) + #ifndef streq #define streq(a, b) (strcmp ((a),(b)) == 0) #endif @@ -448,15 +479,131 @@ static reloc_howto_type elf_mn10300_howto_table[] = 0xffffffff, /* dst_mask */ FALSE), /* pcrel_offset */ - EMPTY_HOWTO (24), - EMPTY_HOWTO (25), - EMPTY_HOWTO (26), - EMPTY_HOWTO (27), - EMPTY_HOWTO (28), - EMPTY_HOWTO (29), - EMPTY_HOWTO (30), - EMPTY_HOWTO (31), - EMPTY_HOWTO (32), + HOWTO (R_MN10300_TLS_GD, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* */ + "R_MN10300_TLS_GD", /* name */ + FALSE, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + HOWTO (R_MN10300_TLS_LD, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* */ + "R_MN10300_TLS_LD", /* name */ + FALSE, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + HOWTO (R_MN10300_TLS_LDO, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* */ + "R_MN10300_TLS_LDO", /* name */ + FALSE, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + HOWTO (R_MN10300_TLS_GOTIE, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* */ + "R_MN10300_TLS_GOTIE", /* name */ + FALSE, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + HOWTO (R_MN10300_TLS_IE, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* */ + "R_MN10300_TLS_IE", /* name */ + FALSE, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + HOWTO (R_MN10300_TLS_LE, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* */ + "R_MN10300_TLS_LE", /* name */ + FALSE, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + HOWTO (R_MN10300_TLS_DTPMOD, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* */ + "R_MN10300_TLS_DTPMOD", /* name */ + FALSE, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + HOWTO (R_MN10300_TLS_DTPOFF, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* */ + "R_MN10300_TLS_DTPOFF", /* name */ + FALSE, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + FALSE), /* pcrel_offset */ + + HOWTO (R_MN10300_TLS_TPOFF, /* type */ + 0, /* rightshift */ + 2, /* size (0 = byte, 1 = short, 2 = long) */ + 32, /* bitsize */ + FALSE, /* pc_relative */ + 0, /* bitpos */ + complain_overflow_bitfield, /* complain_on_overflow */ + bfd_elf_generic_reloc, /* */ + "R_MN10300_TLS_TPOFF", /* name */ + FALSE, /* partial_inplace */ + 0xffffffff, /* src_mask */ + 0xffffffff, /* dst_mask */ + FALSE), /* pcrel_offset */ HOWTO (R_MN10300_SYM_DIFF, /* type */ 0, /* rightshift */ @@ -519,6 +666,15 @@ static const struct mn10300_reloc_map mn10300_reloc_map[] = { BFD_RELOC_MN10300_GLOB_DAT, R_MN10300_GLOB_DAT }, { BFD_RELOC_MN10300_JMP_SLOT, R_MN10300_JMP_SLOT }, { BFD_RELOC_MN10300_RELATIVE, R_MN10300_RELATIVE }, + { BFD_RELOC_MN10300_TLS_GD, R_MN10300_TLS_GD }, + { BFD_RELOC_MN10300_TLS_LD, R_MN10300_TLS_LD }, + { BFD_RELOC_MN10300_TLS_LDO, R_MN10300_TLS_LDO }, + { BFD_RELOC_MN10300_TLS_GOTIE, R_MN10300_TLS_GOTIE }, + { BFD_RELOC_MN10300_TLS_IE, R_MN10300_TLS_IE }, + { BFD_RELOC_MN10300_TLS_LE, R_MN10300_TLS_LE }, + { BFD_RELOC_MN10300_TLS_DTPMOD, R_MN10300_TLS_DTPMOD }, + { BFD_RELOC_MN10300_TLS_DTPOFF, R_MN10300_TLS_DTPOFF }, + { BFD_RELOC_MN10300_TLS_TPOFF, R_MN10300_TLS_TPOFF }, { BFD_RELOC_MN10300_SYM_DIFF, R_MN10300_SYM_DIFF }, { BFD_RELOC_MN10300_ALIGN, R_MN10300_ALIGN } }; @@ -650,6 +806,223 @@ mn10300_info_to_howto (bfd *abfd ATTRIBUTE_UNUSED, cache_ptr->howto = elf_mn10300_howto_table + r_type; } +static int +elf_mn10300_tls_transition (struct bfd_link_info * info, + int r_type, + struct elf_link_hash_entry * h, + asection * sec, + bfd_boolean counting) +{ + bfd_boolean is_local; + + if (r_type == R_MN10300_TLS_GD + && h != NULL + && elf_mn10300_hash_entry (h)->tls_type == GOT_TLS_IE) + return R_MN10300_TLS_GOTIE; + + if (info->shared) + return r_type; + + if (! (sec->flags & SEC_CODE)) + return r_type; + + if (! counting && h != NULL && ! elf_hash_table (info)->dynamic_sections_created) + is_local = TRUE; + else + is_local = SYMBOL_CALLS_LOCAL (info, h); + + /* For the main program, these are the transitions we do. */ + switch (r_type) + { + case R_MN10300_TLS_GD: return is_local ? R_MN10300_TLS_LE : R_MN10300_TLS_GOTIE; + case R_MN10300_TLS_LD: return R_MN10300_NONE; + case R_MN10300_TLS_LDO: return R_MN10300_TLS_LE; + case R_MN10300_TLS_IE: + case R_MN10300_TLS_GOTIE: return is_local ? R_MN10300_TLS_LE : r_type; + } + + return r_type; +} + +/* Return the relocation value for @tpoff relocation + if STT_TLS virtual address is ADDRESS. */ + +static bfd_vma +dtpoff (struct bfd_link_info * info, bfd_vma address) +{ + struct elf_link_hash_table *htab = elf_hash_table (info); + + /* If tls_sec is NULL, we should have signalled an error already. */ + if (htab->tls_sec == NULL) + return 0; + return address - htab->tls_sec->vma; +} + +/* Return the relocation value for @tpoff relocation + if STT_TLS virtual address is ADDRESS. */ + +static bfd_vma +tpoff (struct bfd_link_info * info, bfd_vma address) +{ + struct elf_link_hash_table *htab = elf_hash_table (info); + + /* If tls_sec is NULL, we should have signalled an error already. */ + if (htab->tls_sec == NULL) + return 0; + return address - (htab->tls_size + htab->tls_sec->vma); +} + +/* Returns nonzero if there's a R_MN10300_PLT32 reloc that we now need + to skip, after this one. The actual value is the offset between + this reloc and the PLT reloc. */ + +static int +mn10300_do_tls_transition (bfd * input_bfd, + unsigned int r_type, + unsigned int tls_r_type, + bfd_byte * contents, + bfd_vma offset) +{ + bfd_byte *op = contents + offset; + int gotreg = 0; + +#define TLS_PAIR(r1,r2) ((r1) * R_MN10300_MAX + (r2)) + + /* This is common to all GD/LD transitions, so break it out. */ + if (r_type == R_MN10300_TLS_GD + || r_type == R_MN10300_TLS_LD) + { + op -= 2; + /* mov imm,d0. */ + BFD_ASSERT (bfd_get_8 (input_bfd, op) == 0xFC); + BFD_ASSERT (bfd_get_8 (input_bfd, op + 1) == 0xCC); + /* add aN,d0. */ + BFD_ASSERT (bfd_get_8 (input_bfd, op + 6) == 0xF1); + gotreg = (bfd_get_8 (input_bfd, op + 7) & 0x0c) >> 2; + /* Call. */ + BFD_ASSERT (bfd_get_8 (input_bfd, op + 8) == 0xDD); + } + + switch (TLS_PAIR (r_type, tls_r_type)) + { + case TLS_PAIR (R_MN10300_TLS_GD, R_MN10300_TLS_GOTIE): + { + /* Keep track of which register we put GOTptr in. */ + /* mov (_x@indntpoff,a2),a0. */ + memcpy (op, "\xFC\x20\x00\x00\x00\x00", 6); + op[1] |= gotreg; + /* add e2,a0. */ + memcpy (op+6, "\xF9\x78\x28", 3); + /* or 0x00000000, d0 - six byte nop. */ + memcpy (op+9, "\xFC\xE4\x00\x00\x00\x00", 6); + } + return 7; + + case TLS_PAIR (R_MN10300_TLS_GD, R_MN10300_TLS_LE): + { + /* Register is *always* a0. */ + /* mov _x@tpoff,a0. */ + memcpy (op, "\xFC\xDC\x00\x00\x00\x00", 6); + /* add e2,a0. */ + memcpy (op+6, "\xF9\x78\x28", 3); + /* or 0x00000000, d0 - six byte nop. */ + memcpy (op+9, "\xFC\xE4\x00\x00\x00\x00", 6); + } + return 7; + case TLS_PAIR (R_MN10300_TLS_LD, R_MN10300_NONE): + { + /* Register is *always* a0. */ + /* mov e2,a0. */ + memcpy (op, "\xF5\x88", 2); + /* or 0x00000000, d0 - six byte nop. */ + memcpy (op+2, "\xFC\xE4\x00\x00\x00\x00", 6); + /* or 0x00000000, e2 - seven byte nop. */ + memcpy (op+8, "\xFE\x19\x22\x00\x00\x00\x00", 7); + } + return 7; + + case TLS_PAIR (R_MN10300_TLS_LDO, R_MN10300_TLS_LE): + /* No changes needed, just the reloc change. */ + return 0; + + /* These are a little tricky, because we have to detect which + opcode is being used (they're different sizes, with the reloc + at different offsets within the opcode) and convert each + accordingly, copying the operands as needed. The conversions + we do are as follows (IE,GOTIE,LE): + + 1111 1100 1010 01Dn [-- abs32 --] MOV (x@indntpoff),Dn + 1111 1100 0000 DnAm [-- abs32 --] MOV (x@gotntpoff,Am),Dn + 1111 1100 1100 11Dn [-- abs32 --] MOV x@tpoff,Dn + + 1111 1100 1010 00An [-- abs32 --] MOV (x@indntpoff),An + 1111 1100 0010 AnAm [-- abs32 --] MOV (x@gotntpoff,Am),An + 1111 1100 1101 11An [-- abs32 --] MOV x@tpoff,An + + 1111 1110 0000 1110 Rnnn Xxxx [-- abs32 --] MOV (x@indntpoff),Rn + 1111 1110 0000 1010 Rnnn Rmmm [-- abs32 --] MOV (x@indntpoff,Rm),Rn + 1111 1110 0000 1000 Rnnn Xxxx [-- abs32 --] MOV x@tpoff,Rn + + Since the GOT pointer is always $a2, we assume the last + normally won't happen, but let's be paranoid and plan for the + day that GCC optimizes it somewhow. */ + + case TLS_PAIR (R_MN10300_TLS_IE, R_MN10300_TLS_LE): + if (op[-2] == 0xFC) + { + op -= 2; + if ((op[1] & 0xFC) == 0xA4) /* Dn */ + { + op[1] &= 0x03; /* Leaves Dn. */ + op[1] |= 0xCC; + } + else /* An */ + { hooks/post-receive -- Repository for Project Archer.