From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 11127 invoked by alias); 14 Jan 2013 19:46:33 -0000 Mailing-List: contact archer-commits-help@sourceware.org; run by ezmlm Sender: Precedence: bulk List-Post: List-Help: List-Subscribe: Received: (qmail 10950 invoked by uid 9674); 14 Jan 2013 19:46:29 -0000 Date: Mon, 14 Jan 2013 19:46:00 -0000 Message-ID: <20130114194629.10927.qmail@sourceware.org> From: jkratoch@sourceware.org To: archer-commits@sourceware.org Subject: [SCM] archer-jankratochvil-absdir: Merge branch 'locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-dw2fullreal-macrorel-priv' into locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-dw2fullreal-macrorel-priv-annotate X-Git-Refname: refs/heads/archer-jankratochvil-absdir X-Git-Reftype: branch X-Git-Oldrev: 0ddf797d756e1a70d92918f7e8ba3955425f95db X-Git-Newrev: 61f107627355294dc8e14672925600aae465ca10 X-SW-Source: 2013-q1/txt/msg00010.txt.bz2 List-Id: The branch, archer-jankratochvil-absdir has been updated via 61f107627355294dc8e14672925600aae465ca10 (commit) via 048a0011f1b32dd43806fce54400be076249ea3e (commit) via b2159ec85c8f3f1f1879fd718c181c4c0057e848 (commit) via e852ed64680861112f8f922db36974157c63030a (commit) via 35783a2934da728ac09bd9b649bcfe642dc06f5b (commit) via f158b0668bcfe70883d9e8bc649e7a3beb082ebf (commit) via d387536790ed870405736228fd9b4f814c2974df (commit) via 9280edf66d95f346b02a3d0b958b9e7690ea602b (commit) via 7494d0223249a91158d5ac4d1391056029c3ffae (commit) via d0eadb1e42c085b98a78d4623f0309202d87ff38 (commit) via 0a212497ffe9c588f71e245aa3defdf73152a022 (commit) via f399bc39a44daa25343a7c665d6ffb2cd5839ebf (commit) via 700e05cc903aae39dd9cc898f11a9503b6d178f5 (commit) via 00d1bcbb2d15a019cc78b2413e6ef2686f33875c (commit) via 1397f0708bddd0ce50d0455f0b6032deda23a805 (commit) via de0fde9a086016bd69524be497b99dc340bcb246 (commit) via bd765b103bebf5464e3e66ba2b3110b717cfd03a (commit) via c021370523b4e3c6dd61a0eb1dfbff0d6864678f (commit) via e261af227d4360acf944e4c6bf6d938fa806f340 (commit) via 0c851a41f0d87e994c15e100a27a5ad0aa4a1adc (commit) via 97398dc56a427bbceb2204c7414e3f9749598085 (commit) via 2e7df164cdcf3407e7a007922c9d63bba558bc5e (commit) via 44741c7562e3ea66a70b21d016a563060ec5f673 (commit) via 9d1234ed2f2df3199f7b5c78d5d113cf208b285d (commit) via 04d369cb511e33c30be18909ed1fab3a44011cb6 (commit) via b8114c2d60a26a338daeab52e709d97fcbfb8720 (commit) via 08e1fd04da569fa905bf5c9c45377427d876909d (commit) via 87a2890e2fd2fa8eb80f55c46c77078dadf0cd6f (commit) via 974c30c00e9179d2807c92973f77f301bba15a8a (commit) via 44036a9418865a2f6433847e9a48afc56de53e3f (commit) via e2c7ab0ce6d6f552f9edc66f0894c4e7880868d0 (commit) via 9ab2bd2d3af1b7b3a39d99f14e19925b8f3fed74 (commit) via ca5b4bad4cddf6609583e66ad35fb3a1cf0759a9 (commit) via 900ed30b343cef7faa98b90be7f32859996e879e (commit) via 0c85d36beee20810ef2dccebdac716b67e034d91 (commit) via 313cbbad1b78a63014ea463a9319d822fd2834d8 (commit) via 671868c96c8ae1e0c47109750e8f674458e19f44 (commit) via 6693527f8614765da255c2bb59f269af9a87ee8b (commit) via dc3f7fa9cc681c4032ba6470a54e7665367c1316 (commit) via ef8ab2a8aa225a35f3000d98aaedd9a455474d8f (commit) via 37d671a251238b87d7c842696560e4d31df2e7b7 (commit) via 6796bef7e838798ab452665f74e474a44f95cb8e (commit) via baaa99b01fd9ef7d4501ee065dd939620455ecb0 (commit) via 81931cf2c9e7bd9e6ffa5ca1334847a9b6911c71 (commit) via efd4ba89259774aee5d087dd0163b8e6c94a3a45 (commit) via 09aea3e7a5bf41878ab74e5fefdb71c0b691daca (commit) via 7a568b86f95a1705bfc8b203bb58b3416164bc08 (commit) from 0ddf797d756e1a70d92918f7e8ba3955425f95db (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email. - Log ----------------------------------------------------------------- commit 61f107627355294dc8e14672925600aae465ca10 Merge: 35783a2 048a001 Author: Jan Kratochvil Date: Mon Jan 14 20:45:22 2013 +0100 Merge branch 'locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-dw2fullreal-macrorel-priv' into locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-dw2fullreal-macrorel-priv-annotate commit 048a0011f1b32dd43806fce54400be076249ea3e Merge: f158b06 b2159ec Author: Jan Kratochvil Date: Mon Jan 14 20:45:22 2013 +0100 Merge branch 'locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-dw2fullreal-macrorel' into locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-dw2fullreal-macrorel-priv commit b2159ec85c8f3f1f1879fd718c181c4c0057e848 Merge: d387536 e852ed6 Author: Jan Kratochvil Date: Mon Jan 14 20:45:21 2013 +0100 Merge branch 'locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-dw2fullreal' into locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-dw2fullreal-macrorel commit e852ed64680861112f8f922db36974157c63030a Author: Jan Kratochvil Date: Mon Jan 14 20:45:15 2013 +0100 . commit 35783a2934da728ac09bd9b649bcfe642dc06f5b Merge: 08e1fd0 f158b06 Author: Jan Kratochvil Date: Mon Jan 14 17:46:54 2013 +0100 Merge branch 'locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-dw2fullreal-macrorel-priv' into locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-dw2fullreal-macrorel-priv-annotate commit f158b0668bcfe70883d9e8bc649e7a3beb082ebf Merge: 87a2890 d387536 Author: Jan Kratochvil Date: Mon Jan 14 17:46:50 2013 +0100 Merge branch 'locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-dw2fullreal-macrorel' into locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-dw2fullreal-macrorel-priv Conflicts: gdb/symtab.c commit d387536790ed870405736228fd9b4f814c2974df Merge: 974c30c 9280edf Author: Jan Kratochvil Date: Mon Jan 14 17:44:29 2013 +0100 Merge branch 'locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-dw2fullreal' into locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-dw2fullreal-macrorel commit 9280edf66d95f346b02a3d0b958b9e7690ea602b Author: Jan Kratochvil Date: Mon Jan 14 17:28:45 2013 +0100 . commit 7494d0223249a91158d5ac4d1391056029c3ffae Author: Jan Kratochvil Date: Mon Jan 14 17:28:14 2013 +0100 . commit d0eadb1e42c085b98a78d4623f0309202d87ff38 Merge: 0c851a4 0a21249 Author: Jan Kratochvil Date: Mon Jan 14 16:13:37 2013 +0100 Merge branch 'substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex' into substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-dw2fullname commit 0a212497ffe9c588f71e245aa3defdf73152a022 Merge: b8114c2 f399bc3 Author: Jan Kratochvil Date: Mon Jan 14 16:12:38 2013 +0100 Merge branch 'substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple' into substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex commit f399bc39a44daa25343a7c665d6ffb2cd5839ebf Merge: 9ab2bd2 700e05c Author: Jan Kratochvil Date: Mon Jan 14 16:12:38 2013 +0100 Merge branch 'substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config' into substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple commit 700e05cc903aae39dd9cc898f11a9503b6d178f5 Merge: ca5b4ba 00d1bcb Author: Jan Kratochvil Date: Mon Jan 14 16:12:38 2013 +0100 Merge branch 'substfix-locsymtab-dos-isabs-expandfullname-tuifullname' into substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config commit 00d1bcbb2d15a019cc78b2413e6ef2686f33875c Merge: 900ed30 1397f07 Author: Jan Kratochvil Date: Mon Jan 14 16:12:37 2013 +0100 Merge branch 'substfix-locsymtab-dos-isabs-expandfullname' into substfix-locsymtab-dos-isabs-expandfullname-tuifullname commit 1397f0708bddd0ce50d0455f0b6032deda23a805 Merge: 0c85d36 de0fde9 Author: Jan Kratochvil Date: Mon Jan 14 16:12:37 2013 +0100 Merge branch 'substfix-locsymtab-dos-isabs' into substfix-locsymtab-dos-isabs-expandfullname commit de0fde9a086016bd69524be497b99dc340bcb246 Merge: 313cbba bd765b1 Author: Jan Kratochvil Date: Mon Jan 14 16:12:37 2013 +0100 Merge branch 'substfix-locsymtab-dos' into substfix-locsymtab-dos-isabs commit bd765b103bebf5464e3e66ba2b3110b717cfd03a Merge: 671868c c021370 Author: Jan Kratochvil Date: Mon Jan 14 16:12:36 2013 +0100 Merge branch 'substfix-locsymtab' into substfix-locsymtab-dos commit c021370523b4e3c6dd61a0eb1dfbff0d6864678f Merge: 6693527 e261af2 Author: Jan Kratochvil Date: Mon Jan 14 16:12:36 2013 +0100 Merge branch 'substfix' into substfix-locsymtab commit e261af227d4360acf944e4c6bf6d938fa806f340 Merge: dc3f7fa 97398dc Author: Jan Kratochvil Date: Mon Jan 14 16:12:35 2013 +0100 Merge remote-tracking branch 'gdb/master' into substfix commit 0c851a41f0d87e994c15e100a27a5ad0aa4a1adc Author: Jan Kratochvil Date: Mon Jan 14 16:11:53 2013 +0100 . commit 97398dc56a427bbceb2204c7414e3f9749598085 Author: Nick Clifton Date: Mon Jan 14 11:22:05 2013 +0000 * metag-dis.c (REG_WIDTH): Increase to 64. * gas/metag/metadsp21.d: Fix expected MMOV disassembly. commit 2e7df164cdcf3407e7a007922c9d63bba558bc5e Author: qiyao Date: Mon Jan 14 10:39:32 2013 +0000 gdb/ 2013-01-14 Yao Qi * dbxread.c (dbx_psymtab_to_symtab_1): Don't check PST is NULL. (dbx_psymtab_to_symtab): Likewise. * dwarf2read.c (dwarf2_psymtab_to_symtab): Likewise. * mdebugread.c (mdebug_psymtab_to_symtab): Likewise. * xcoffread.c (xcoff_psymtab_to_symtab_1): Likewise. commit 44741c7562e3ea66a70b21d016a563060ec5f673 Author: gdbadmin Date: Mon Jan 14 00:00:03 2013 +0000 *** empty log message *** commit 9d1234ed2f2df3199f7b5c78d5d113cf208b285d Author: Alan Modra Date: Sun Jan 13 23:00:05 2013 +0000 daily update commit 04d369cb511e33c30be18909ed1fab3a44011cb6 Author: Jan Kratochvil Date: Sun Jan 13 20:40:28 2013 +0100 Revert "." This reverts commit b8114c2d60a26a338daeab52e709d97fcbfb8720. commit b8114c2d60a26a338daeab52e709d97fcbfb8720 Author: Jan Kratochvil Date: Sun Jan 13 20:40:04 2013 +0100 . commit 08e1fd04da569fa905bf5c9c45377427d876909d Merge: 0ddf797 87a2890 Author: Jan Kratochvil Date: Sun Jan 13 20:04:46 2013 +0100 Merge branch 'substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-macrorel-dw2expand-priv' into substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-macrorel-dw2expand-priv-annotate commit 87a2890e2fd2fa8eb80f55c46c77078dadf0cd6f Merge: 21f8401 44036a9 Author: Jan Kratochvil Date: Sun Jan 13 20:04:45 2013 +0100 Merge branch 'substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-macrorel-dw2expand' into substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-macrorel-dw2expand-priv commit 974c30c00e9179d2807c92973f77f301bba15a8a Merge: ed9fc80 e2c7ab0 Author: Jan Kratochvil Date: Sun Jan 13 20:04:44 2013 +0100 Merge branch 'substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex' into substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-macrorel commit 44036a9418865a2f6433847e9a48afc56de53e3f Merge: c11ac5f 974c30c Author: Jan Kratochvil Date: Sun Jan 13 20:04:44 2013 +0100 Merge branch 'substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-macrorel' into substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex-macrorel-dw2expand commit e2c7ab0ce6d6f552f9edc66f0894c4e7880868d0 Merge: 251129b 9ab2bd2 Author: Jan Kratochvil Date: Sun Jan 13 20:04:43 2013 +0100 Merge branch 'substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple' into substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple-allcomplex commit 9ab2bd2d3af1b7b3a39d99f14e19925b8f3fed74 Merge: e082654 ca5b4ba Author: Jan Kratochvil Date: Sun Jan 13 20:04:42 2013 +0100 Merge branch 'substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config' into substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config-allsimple commit ca5b4bad4cddf6609583e66ad35fb3a1cf0759a9 Merge: a0f637e 900ed30 Author: Jan Kratochvil Date: Sun Jan 13 20:04:41 2013 +0100 Merge branch 'substfix-locsymtab-dos-isabs-expandfullname-tuifullname' into substfix-locsymtab-dos-isabs-expandfullname-tuifullname-config commit 900ed30b343cef7faa98b90be7f32859996e879e Merge: a08b382 0c85d36 Author: Jan Kratochvil Date: Sun Jan 13 20:04:40 2013 +0100 Merge branch 'substfix-locsymtab-dos-isabs-expandfullname' into substfix-locsymtab-dos-isabs-expandfullname-tuifullname commit 0c85d36beee20810ef2dccebdac716b67e034d91 Merge: 0aa223b 313cbba Author: Jan Kratochvil Date: Sun Jan 13 20:04:39 2013 +0100 Merge branch 'substfix-locsymtab-dos-isabs' into substfix-locsymtab-dos-isabs-expandfullname commit 313cbbad1b78a63014ea463a9319d822fd2834d8 Merge: 9e35033 671868c Author: Jan Kratochvil Date: Sun Jan 13 20:04:38 2013 +0100 Merge branch 'substfix-locsymtab-dos' into substfix-locsymtab-dos-isabs commit 671868c96c8ae1e0c47109750e8f674458e19f44 Merge: 11500c8 6693527 Author: Jan Kratochvil Date: Sun Jan 13 20:04:37 2013 +0100 Merge branch 'substfix-locsymtab' into substfix-locsymtab-dos commit 6693527f8614765da255c2bb59f269af9a87ee8b Merge: ab0f90d dc3f7fa Author: Jan Kratochvil Date: Sun Jan 13 20:04:36 2013 +0100 Merge branch 'substfix' into substfix-locsymtab commit dc3f7fa9cc681c4032ba6470a54e7665367c1316 Merge: d3e56a9 baaa99b Author: Jan Kratochvil Date: Sun Jan 13 20:04:35 2013 +0100 Merge remote-tracking branch 'gdb/master' into substfix commit ef8ab2a8aa225a35f3000d98aaedd9a455474d8f Author: Jan Kratochvil Date: Sun Jan 13 18:57:00 2013 +0000 gdb/ * parse.c (parse_exp_in_context): New variable inner_chain. Call make_cleanup_restore_current_language. Call set_language. Move OLD_CHAIN and INNER_CHAIN cleanups. * utils.c (do_restore_current_language) (make_cleanup_restore_current_language): New functions. * utils.h (make_cleanup_restore_current_language): New declaration. gdb/testsuite/ * gdb.cp/parse-lang.cc: New file. * gdb.cp/parse-lang.exp: New file. commit 37d671a251238b87d7c842696560e4d31df2e7b7 Author: Jan Kratochvil Date: Sun Jan 13 18:53:50 2013 +0000 gdb/ * source.c (symtab_to_fullname): Do not prepend DIRNAME for non-existing files if FILENAME is already absolute. commit 6796bef7e838798ab452665f74e474a44f95cb8e Author: Jan Kratochvil Date: Sun Jan 13 18:52:43 2013 +0000 gdb/ * source.c (symtab_to_fullname): Apply rewrite_source_path also for non-existing files. gdb/testsuite/ * gdb.mi/mi-fullname-deleted.exp: Set srcfileabssubst and initdir. (set substitute-path): New test. (fullname present): Remove content. (substituted fullname): New test. commit baaa99b01fd9ef7d4501ee065dd939620455ecb0 Author: Alan Modra Date: Sun Jan 13 12:32:08 2013 +0000 * elf-bfd.h (struct elf_link_hash_entry): Delete dynamic_weak. Add ref_dynamic_nonweak. * elflink.c (_bfd_elf_mark_dynamic_def_weak): Delete. (_bfd_elf_merge_symbol): Don't call above function. Move setting of ref_dynamic_nonweak and dynamic_def earlier. Don't clear dynamic_def. (elf_link_add_object_symbols): Delete redundant "override" test. Don't set dynamic_def here. (elf_link_output_extsym): Update. commit 81931cf2c9e7bd9e6ffa5ca1334847a9b6911c71 Author: Joel Brobecker Date: Sun Jan 13 08:24:20 2013 +0000 Fix gdb.python/py-finish-breakpoint.exp ERROR. This patch fixes the following error, when running gdb.python/ py-finish-breakpoint.exp: ERROR: can't read "gdb_py_is_py24": no such variable while executing "if { $gdb_py_is_py24 == 1 } { gdb/testsuite/ChangeLog: * gdb.python/py-finish-breakpoint.exp: Add skip_python_tests check. Move $gdb_py_is_py24 value check right after. commit efd4ba89259774aee5d087dd0163b8e6c94a3a45 Author: H.J. Lu Date: Sun Jan 13 00:30:16 2013 +0000 Set bfd errror for normal and TLS symbol access * elf32-i386.c (elf_i386_check_relocs): Set bfd errror for normal and TLS symbol access. * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. commit 09aea3e7a5bf41878ab74e5fefdb71c0b691daca Author: gdbadmin Date: Sun Jan 13 00:00:03 2013 +0000 *** empty log message *** commit 7a568b86f95a1705bfc8b203bb58b3416164bc08 Author: Alan Modra Date: Sat Jan 12 23:00:05 2013 +0000 daily update ----------------------------------------------------------------------- Summary of changes: bfd/ChangeLog | 18 +++++ bfd/elf-bfd.h | 4 +- bfd/elf32-i386.c | 1 + bfd/elf64-x86-64.c | 1 + bfd/elflink.c | 80 ++++++++------------- bfd/version.h | 2 +- gdb/ChangeLog | 25 +++++++ gdb/dbxread.c | 8 +-- gdb/dwarf2read.c | 64 ++++++++--------- gdb/mdebugread.c | 5 +- gdb/parse.c | 13 +++- gdb/testsuite/ChangeLog | 17 +++++ gdb/testsuite/gdb.base/gdbindex-fullpath-func.c | 21 ++++++ gdb/testsuite/gdb.base/gdbindex-fullpath.c | 25 +++++++ gdb/testsuite/gdb.base/gdbindex-fullpath.exp | 43 +++++++++++ gdb/testsuite/gdb.cp/parse-lang.cc | 40 ++++++++++ gdb/testsuite/gdb.cp/parse-lang.exp | 31 ++++++++ gdb/testsuite/gdb.python/py-finish-breakpoint.exp | 16 +++-- gdb/utils.c | 22 ++++++ gdb/utils.h | 2 + gdb/version.in | 2 +- gdb/xcoffread.c | 5 +- opcodes/ChangeLog | 4 + opcodes/metag-dis.c | 2 +- 24 files changed, 339 insertions(+), 112 deletions(-) create mode 100644 gdb/testsuite/gdb.base/gdbindex-fullpath-func.c create mode 100644 gdb/testsuite/gdb.base/gdbindex-fullpath.c create mode 100644 gdb/testsuite/gdb.base/gdbindex-fullpath.exp create mode 100644 gdb/testsuite/gdb.cp/parse-lang.cc create mode 100644 gdb/testsuite/gdb.cp/parse-lang.exp First 500 lines of diff: diff --git a/bfd/ChangeLog b/bfd/ChangeLog index 0fcbe54..bd8d01b 100644 --- a/bfd/ChangeLog +++ b/bfd/ChangeLog @@ -1,3 +1,21 @@ +2013-01-13 Alan Modra + + * elf-bfd.h (struct elf_link_hash_entry): Delete dynamic_weak. + Add ref_dynamic_nonweak. + * elflink.c (_bfd_elf_mark_dynamic_def_weak): Delete. + (_bfd_elf_merge_symbol): Don't call above function. Move + setting of ref_dynamic_nonweak and dynamic_def earlier. Don't + clear dynamic_def. + (elf_link_add_object_symbols): Delete redundant "override" test. + Don't set dynamic_def here. + (elf_link_output_extsym): Update. + +2013-01-12 H.J. Lu + + * elf32-i386.c (elf_i386_check_relocs): Set bfd errror for + normal and TLS symbol access. + * elf64-x86-64.c (elf_x86_64_check_relocs): Likewise. + 2013-01-12 Alan Modra * elf-bfd.h (_bfd_elf_strtab_refcount): Declare. diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h index a874593..faaf632 100644 --- a/bfd/elf-bfd.h +++ b/bfd/elf-bfd.h @@ -191,8 +191,8 @@ struct elf_link_hash_entry FIXME: There is no real need for this field if def_dynamic is never cleared and all places that test def_dynamic also test def_regular. */ unsigned int dynamic_def : 1; - /* Symbol is weak in all shared objects. */ - unsigned int dynamic_weak : 1; + /* Symbol has a non-weak reference from a shared object. */ + unsigned int ref_dynamic_nonweak : 1; /* Symbol is referenced with a relocation where C/C++ pointer equality matters. */ unsigned int pointer_equality_needed : 1; diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c index f76c7a7..99e8f45 100644 --- a/bfd/elf32-i386.c +++ b/bfd/elf32-i386.c @@ -1642,6 +1642,7 @@ elf_i386_check_relocs (bfd *abfd, (_("%B: `%s' accessed both as normal and " "thread local symbol"), abfd, name); + bfd_set_error (bfd_error_bad_value); return FALSE; } } diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c index 92bf991..0d23cc3 100644 --- a/bfd/elf64-x86-64.c +++ b/bfd/elf64-x86-64.c @@ -1644,6 +1644,7 @@ elf_x86_64_check_relocs (bfd *abfd, struct bfd_link_info *info, (*_bfd_error_handler) (_("%B: '%s' accessed both as normal and thread local symbol"), abfd, name); + bfd_set_error (bfd_error_bad_value); return FALSE; } } diff --git a/bfd/elflink.c b/bfd/elflink.c index 7861946..6985786 100644 --- a/bfd/elflink.c +++ b/bfd/elflink.c @@ -895,33 +895,6 @@ elf_merge_st_other (bfd *abfd, struct elf_link_hash_entry *h, } } -/* Mark if a symbol has a definition in a dynamic object or is - weak in all dynamic objects. */ - -static void -_bfd_elf_mark_dynamic_def_weak (struct elf_link_hash_entry *h, - asection *sec, int bind) -{ - if (!h->dynamic_def) - { - if (!bfd_is_und_section (sec)) - h->dynamic_def = 1; - else - { - /* Check if this symbol is weak in all dynamic objects. If it - is the first time we see it in a dynamic object, we mark - if it is weak. Otherwise, we clear it. */ - if (!h->ref_dynamic) - { - if (bind == STB_WEAK) - h->dynamic_weak = 1; - } - else if (bind != STB_WEAK) - h->dynamic_weak = 0; - } - } -} - /* This function is called when we want to define a new symbol. It handles the various cases which arise when we find a definition in a dynamic object, or when there is already a definition in a @@ -998,10 +971,39 @@ _bfd_elf_merge_symbol (bfd *abfd, h = (struct elf_link_hash_entry *) h->root.u.i.link; /* We have to check it for every instance since the first few may be - refereences and not all compilers emit symbol type for undefined + references and not all compilers emit symbol type for undefined symbols. */ bfd_elf_link_mark_dynamic_symbol (info, h, sym); + /* NEWDYN and OLDDYN indicate whether the new or old symbol, + respectively, is from a dynamic object. */ + + newdyn = (abfd->flags & DYNAMIC) != 0; + + /* ref_dynamic_nonweak and dynamic_def flags track actual undefined + syms and defined syms in dynamic libraries respectively. + ref_dynamic on the other hand can be set for a symbol defined in + a dynamic library, and def_dynamic may not be set; When the + definition in a dynamic lib is overridden by a definition in the + executable use of the symbol in the dynamic lib becomes a + reference to the executable symbol. */ + if (newdyn) + { + if (bfd_is_und_section (sec)) + { + if (bind != STB_WEAK) + { + h->ref_dynamic_nonweak = 1; + hi->ref_dynamic_nonweak = 1; + } + } + else + { + h->dynamic_def = 1; + hi->dynamic_def = 1; + } + } + /* If we just created the symbol, mark it as being an ELF symbol. Other than that, there is nothing to do--there is no merge issue with a newly defined symbol--so we just return. */ @@ -1059,11 +1061,6 @@ _bfd_elf_merge_symbol (bfd *abfd, || !h->def_regular)) return TRUE; - /* NEWDYN and OLDDYN indicate whether the new or old symbol, - respectively, is from a dynamic object. */ - - newdyn = (abfd->flags & DYNAMIC) != 0; - olddyn = FALSE; if (oldbfd != NULL) olddyn = (oldbfd->flags & DYNAMIC) != 0; @@ -1167,16 +1164,6 @@ _bfd_elf_merge_symbol (bfd *abfd, return FALSE; } - /* We need to remember if a symbol has a definition in a dynamic - object or is weak in all dynamic objects. Internal and hidden - visibility will make it unavailable to dynamic objects. */ - if (newdyn) - { - _bfd_elf_mark_dynamic_def_weak (h, sec, bind); - if (h != hi) - _bfd_elf_mark_dynamic_def_weak (hi, sec, bind); - } - /* If the old symbol has non-default visibility, we ignore the new definition from a dynamic object. */ if (newdyn @@ -1230,7 +1217,6 @@ _bfd_elf_merge_symbol (bfd *abfd, h->ref_dynamic = 1; h->def_dynamic = 0; - h->dynamic_def = 0; /* FIXME: Should we check type and size for protected symbol? */ h->size = 0; h->type = 0; @@ -1270,7 +1256,6 @@ _bfd_elf_merge_symbol (bfd *abfd, else h->ref_dynamic = 1; h->def_dynamic = 0; - h->dynamic_def = 0; /* FIXME: Should we check type and size for protected symbol? */ h->size = 0; h->type = 0; @@ -4190,7 +4175,6 @@ error_free_dyn: } if (elf_tdata (abfd)->verdef != NULL - && ! override && vernum > 1 && definition) h->verinfo.verdef = &elf_tdata (abfd)->verdef[vernum - 1]; @@ -4415,9 +4399,7 @@ error_free_dyn: else { h->def_dynamic = 1; - h->dynamic_def = 1; hi->def_dynamic = 1; - hi->dynamic_def = 1; } /* If the indirect symbol has been forced local, don't @@ -8811,7 +8793,7 @@ elf_link_output_extsym (struct bfd_hash_entry *bh, void *data) && h->ref_dynamic && h->def_regular && !h->dynamic_def - && !h->dynamic_weak + && h->ref_dynamic_nonweak && !elf_link_check_versioned_symbol (flinfo->info, bed, h)) { bfd *def_bfd; diff --git a/bfd/version.h b/bfd/version.h index f28ffb8..d7aa9a6 100644 --- a/bfd/version.h +++ b/bfd/version.h @@ -1,4 +1,4 @@ -#define BFD_VERSION_DATE 20130112 +#define BFD_VERSION_DATE 20130114 #define BFD_VERSION @bfd_version@ #define BFD_VERSION_STRING @bfd_version_package@ @bfd_version_string@ #define REPORT_BUGS_TO @report_bugs_to@ diff --git a/gdb/ChangeLog b/gdb/ChangeLog index fb9545d..2dbbc6a 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,28 @@ +2013-01-14 Yao Qi + + * dbxread.c (dbx_psymtab_to_symtab_1): Don't check PST is NULL. + (dbx_psymtab_to_symtab): Likewise. + * dwarf2read.c (dwarf2_psymtab_to_symtab): Likewise. + * mdebugread.c (mdebug_psymtab_to_symtab): Likewise. + * xcoffread.c (xcoff_psymtab_to_symtab_1): Likewise. + +2013-01-13 Jan Kratochvil + + * parse.c (parse_exp_in_context): New variable inner_chain. Call + make_cleanup_restore_current_language. Call set_language. Move + OLD_CHAIN and INNER_CHAIN cleanups. + * utils.c (do_restore_current_language) + (make_cleanup_restore_current_language): New functions. + * utils.h (make_cleanup_restore_current_language): New declaration. + +2013-01-13 Jan Kratochvil + + * source.c (symtab_to_fullname): Apply rewrite_source_path also for + non-existing files. + + * source.c (symtab_to_fullname): Do not prepend DIRNAME for + non-existing files if FILENAME is already absolute. + 2013-01-11 Jan Kratochvil * macrocmd.c (macro_inform_no_debuginfo): Use puts_filtered instead of diff --git a/gdb/dbxread.c b/gdb/dbxread.c index ebe4237..16496d1 100644 --- a/gdb/dbxread.c +++ b/gdb/dbxread.c @@ -2406,9 +2406,6 @@ dbx_psymtab_to_symtab_1 (struct objfile *objfile, struct partial_symtab *pst) struct cleanup *old_chain; int i; - if (!pst) - return; - if (pst->readin) { fprintf_unfiltered (gdb_stderr, "Psymtab for %s already read in. " @@ -2455,7 +2452,7 @@ dbx_psymtab_to_symtab_1 (struct objfile *objfile, struct partial_symtab *pst) } /* Read in all of the symbols for a given psymtab for real. - Be verbose about it if the user wants that. */ + Be verbose about it if the user wants that. PST is not NULL. */ static void dbx_psymtab_to_symtab (struct objfile *objfile, struct partial_symtab *pst) @@ -2463,9 +2460,6 @@ dbx_psymtab_to_symtab (struct objfile *objfile, struct partial_symtab *pst) bfd *sym_bfd; struct cleanup *back_to = NULL; - if (!pst) - return; - if (pst->readin) { fprintf_unfiltered (gdb_stderr, "Psymtab for %s already read in. " diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c index 0883879..7edf3f8 100644 --- a/gdb/dwarf2read.c +++ b/gdb/dwarf2read.c @@ -6423,52 +6423,50 @@ locate_pdi_sibling (const struct die_reader_specs *reader, return skip_children (reader, info_ptr); } -/* Expand this partial symbol table into a full symbol table. */ +/* Expand this partial symbol table into a full symbol table. PST is + not NULL. */ static void dwarf2_psymtab_to_symtab (struct objfile *objfile, struct partial_symtab *pst) { - if (pst != NULL) + if (pst->readin) { - if (pst->readin) + warning (_("bug: psymtab for %s is already read in."), + pst->filename); + } + else + { + if (info_verbose) { - warning (_("bug: psymtab for %s is already read in."), - pst->filename); + printf_filtered (_("Reading in symbols for %s..."), + pst->filename); + gdb_flush (gdb_stdout); } - else - { - if (info_verbose) - { - printf_filtered (_("Reading in symbols for %s..."), - pst->filename); - gdb_flush (gdb_stdout); - } - /* Restore our global data. */ - dwarf2_per_objfile = objfile_data (objfile, dwarf2_objfile_data_key); + /* Restore our global data. */ + dwarf2_per_objfile = objfile_data (objfile, dwarf2_objfile_data_key); - /* If this psymtab is constructed from a debug-only objfile, the - has_section_at_zero flag will not necessarily be correct. We - can get the correct value for this flag by looking at the data - associated with the (presumably stripped) associated objfile. */ - if (objfile->separate_debug_objfile_backlink) - { - struct dwarf2_per_objfile *dpo_backlink - = objfile_data (objfile->separate_debug_objfile_backlink, - dwarf2_objfile_data_key); + /* If this psymtab is constructed from a debug-only objfile, the + has_section_at_zero flag will not necessarily be correct. We + can get the correct value for this flag by looking at the data + associated with the (presumably stripped) associated objfile. */ + if (objfile->separate_debug_objfile_backlink) + { + struct dwarf2_per_objfile *dpo_backlink + = objfile_data (objfile->separate_debug_objfile_backlink, + dwarf2_objfile_data_key); - dwarf2_per_objfile->has_section_at_zero - = dpo_backlink->has_section_at_zero; - } + dwarf2_per_objfile->has_section_at_zero + = dpo_backlink->has_section_at_zero; + } - dwarf2_per_objfile->reading_partial_symbols = 0; + dwarf2_per_objfile->reading_partial_symbols = 0; - psymtab_to_symtab_1 (pst); + psymtab_to_symtab_1 (pst); - /* Finish up the debug error message. */ - if (info_verbose) - printf_filtered (_("done.\n")); - } + /* Finish up the debug error message. */ + if (info_verbose) + printf_filtered (_("done.\n")); } process_cu_includes (); diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c index f245150..54db31b 100644 --- a/gdb/mdebugread.c +++ b/gdb/mdebugread.c @@ -274,14 +274,11 @@ static char *mdebug_next_symbol_text (struct objfile *); /* Exported procedure: Builds a symtab from the PST partial one. Restores the environment in effect when PST was created, delegates most of the work to an ancillary procedure, and sorts - and reorders the symtab list at the end. */ + and reorders the symtab list at the end. PST is not NULL. */ static void mdebug_psymtab_to_symtab (struct objfile *objfile, struct partial_symtab *pst) { - if (!pst) - return; - if (info_verbose) { printf_filtered (_("Reading in symbols for %s..."), pst->filename); diff --git a/gdb/parse.c b/gdb/parse.c index 2d530df..09c378b 100644 --- a/gdb/parse.c +++ b/gdb/parse.c @@ -1143,7 +1143,7 @@ parse_exp_in_context (char **stringptr, CORE_ADDR pc, const struct block *block, int comma, int void_context_p, int *out_subexp) { volatile struct gdb_exception except; - struct cleanup *old_chain; + struct cleanup *old_chain, *inner_chain; const struct language_defn *lang = NULL; int subexp; @@ -1213,7 +1213,13 @@ parse_exp_in_context (char **stringptr, CORE_ADDR pc, const struct block *block, else lang = current_language; + /* get_current_arch may reset CURRENT_LANGUAGE via select_frame. + While we need CURRENT_LANGUAGE to be set to LANG (for lookup_symbol + and others called from *.y) ensure CURRENT_LANGUAGE gets restored + to the value matching SELECTED_FRAME as set by get_current_arch. */ initialize_expout (10, lang, get_current_arch ()); + inner_chain = make_cleanup_restore_current_language (); + set_language (lang->la_language); TRY_CATCH (except, RETURN_MASK_ALL) { @@ -1229,8 +1235,6 @@ parse_exp_in_context (char **stringptr, CORE_ADDR pc, const struct block *block, } } - discard_cleanups (old_chain); - reallocate_expout (); /* Convert expression from postfix form as generated by yacc @@ -1249,6 +1253,9 @@ parse_exp_in_context (char **stringptr, CORE_ADDR pc, const struct block *block, if (expressiondebug) dump_prefix_expression (expout, gdb_stdlog); + do_cleanups (inner_chain); + discard_cleanups (old_chain); + *stringptr = lexptr; return expout; } diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index f734bbc..717ea18 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,20 @@ +2013-01-13 Jan Kratochvil + + * gdb.cp/parse-lang.cc: New file. + * gdb.cp/parse-lang.exp: New file. + +2013-01-13 Jan Kratochvil + + * gdb.mi/mi-fullname-deleted.exp: Set srcfileabssubst and initdir. + (set substitute-path): New test. + (fullname present): Remove content. + (substituted fullname): New test. + +2013-01-13 Joel Brobecker + + * gdb.python/py-finish-breakpoint.exp: Add skip_python_tests + check. Move $gdb_py_is_py24 value check right after. + 2013-01-11 Jan Kratochvil * gdb.base/dprintf.exp (dprintf info 1): Fix expectation on 64-bit diff --git a/gdb/testsuite/gdb.base/gdbindex-fullpath-func.c b/gdb/testsuite/gdb.base/gdbindex-fullpath-func.c new file mode 100644 index 0000000..4e05cdb --- /dev/null +++ b/gdb/testsuite/gdb.base/gdbindex-fullpath-func.c @@ -0,0 +1,21 @@ +/* This testcase is part of GDB, the GNU debugger. + + Copyright 2013 Free Software Foundation, Inc. + + 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, see . */ + +void +func (void) +{ +} diff --git a/gdb/testsuite/gdb.base/gdbindex-fullpath.c b/gdb/testsuite/gdb.base/gdbindex-fullpath.c new file mode 100644 hooks/post-receive -- Repository for Project Archer.