public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  archer-jankratochvil-absdir: Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel
@ 2013-01-25 15:07 jkratoch
  0 siblings, 0 replies; 5+ messages in thread
From: jkratoch @ 2013-01-25 15:07 UTC (permalink / raw)
  To: archer-commits

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 62243 bytes --]

The branch, archer-jankratochvil-absdir has been updated
       via  792e21ccc3eed823bd1fb3e93201b1348236b4c7 (commit)
       via  2d15faef3be5ae5298737f7ccdfdad6e367b5138 (commit)
       via  faa6d1344db7edbed3527158c406d40f793627ff (commit)
       via  def9c01bb4cdc1d62eb555daa686e122a212b3db (commit)
       via  a56cb093f9f81268f727a8675fc24de36b219b20 (commit)
       via  1a3539d1ce7f584c8bf833223b798448ea9c193f (commit)
       via  8a7a4399c10be91d2f7cc24f5a2c6a5e5b2f77a8 (commit)
       via  f16403ecec249465061d26d8a3a8022389e2caf1 (commit)
       via  0c95a7a13fbbf2cb7dd9c1de6a2fd4d4e8356d9b (commit)
       via  bcb54859189ca5b3756af5419177dfc46caabde5 (commit)
       via  f6fc7d52d1090ada3ea16fa9708a6cc6b5887caa (commit)
       via  3067c9d384598de51c1c94cfd1be789f23831763 (commit)
       via  038a51759d5711b6e6ac1acb4b21ea74ecd6fd59 (commit)
       via  29f9a2b0de48bbb5653b0b17d7cfd9289b17e625 (commit)
       via  3791216e6d1df7104ec2d7d3927faf73755cf915 (commit)
       via  a62c08a415ef768f7a6d1afa1c67e2d9f3297638 (commit)
       via  a072c311bd84cfccfc760644c6bbe1fa296fc2ea (commit)
       via  d35b09cf69dcc1c8c0002dd1715eba78097ced82 (commit)
       via  2ce32042c34049daa66e53c4b2d95c8ab2e5233b (commit)
       via  35ed7bf30a66f2256a288f120d4f28998725ab73 (commit)
       via  d54b33d5b622a95225a60393caf854bd90e2cf40 (commit)
       via  4d286b7d33e05df1e67d347035784a21a4030925 (commit)
       via  69d429759e14d43da49ba5ee03874dbf306a879b (commit)
       via  697b847bb62a9713f4c375c6d71dca97975d50c4 (commit)
       via  125ae39248c4072f7c8594e4e0967462733ce4b1 (commit)
       via  81505ae977c242859ae969bca00d51aaa98a71e4 (commit)
       via  2bd323175f4b455ccef30b8914898b1c042ed7fb (commit)
       via  1d4bc0d9888ee9e316c4defb5e98cd9e4107fbe8 (commit)
       via  e89f5c5a33a5e3464bec516a49ee13637393b7f3 (commit)
       via  b7b65b72d469e69031791eef01a55bc74a40bcd9 (commit)
       via  b26e3687791339b6b7f22411133422c1f421178d (commit)
       via  3437047ebc3037611f3107feefe7b331f3f0e5e1 (commit)
       via  5dc89544c5114dd99f5ca81575b8ed81752282a6 (commit)
       via  da887dac49a8be93f4a384733d19fbcf0478ae6c (commit)
       via  aae8b7b396770609722307c258902c43b1022a59 (commit)
       via  926cb57dc5f943d6d7a592cf1b46fe64d951cacb (commit)
       via  d982bdd67bc420b9e6daed4b2e08b20fef820fdb (commit)
       via  cfdf9fb4edcf6753cd26aee1a69ab29fac3fee71 (commit)
       via  b33ae124b5c9644d486697e1058ab075d0fb7943 (commit)
       via  4507f2b1ebb02a5fdb8b49482d9055faa8b016d6 (commit)
       via  5b62a240466a2bef68c73809a58d34980f16b4e2 (commit)
       via  38cab103671dd4a4ff9c57f8fdfb778945f12a53 (commit)
       via  8e40dab0dba7ca25997c9507aa8332ae9f7a51c0 (commit)
       via  e160d356a26437a42c0df6cc05e51167831c52ac (commit)
       via  40bbe4f0d624671e93138d308388058e140cc085 (commit)
       via  e67850942bebeac58afdc62e0d49324f62f929d7 (commit)
       via  9e9ec808059fe38d9c1dce93d48f38c37c19c222 (commit)
       via  b0abf95db57a1f7ade5ab2c50b454e3d0baf002b (commit)
       via  b89d213aa09d65092bde6d066f65e07db79317e9 (commit)
       via  0ca1ddf2583d6a3948c043604ae608c9bc104b33 (commit)
       via  361aca7a3021fd3e31d2b6f5562a909c3e3efcde (commit)
       via  8349ce192b8ac072fb4d294e92a4dc7493d9968f (commit)
       via  3e972a99fc5f33e08893ba191c1b5a3ca8e59ed6 (commit)
       via  60110dc675ad9f32f98ccd5207c427b3cf8ea62b (commit)
       via  a54599df981ae68d7be0118fcd70f0846846bb35 (commit)
       via  f465320687d3c4205826163087b57fe2355a84d6 (commit)
       via  14b1b34ab5478da76a63608b7c786dc66ee68c6c (commit)
       via  db3e984332191efbe8c7713dba07d813611af37f (commit)
       via  f9226a894dc3cdd7d930784df2bdc76bf38e60eb (commit)
       via  dab2171857b963c6b0ff32c9792ff13dd73b035d (commit)
       via  326c0ad74a07bb9532a53e830096a784ab96f683 (commit)
       via  ceb4ee95539d6324ca0f307ba729ea660ed5d1bd (commit)
       via  6ecce85accf7307fda4edb096162ffb7c692050b (commit)
       via  cbf194043f15b97d5fff73f0f4069341081e1b51 (commit)
       via  b8d2e1f247145bfa2d9406b07f9bff11f12a570e (commit)
       via  3fa9576365092560d40320b67ebf3e54ddd7e50f (commit)
       via  cdeb1bedc929e4dfac1fd181c636ad99e7d1381e (commit)
       via  918df08b8d459c4a44ea3e1e827ea35d334ab1fb (commit)
       via  29705ccdaea812a0ebe4371e6f78689edacdb491 (commit)
       via  de624f33d7a56250140188834a580177d4e9d081 (commit)
       via  eeaf35e7b132fc8de0aa2a79f2a90180f4ef1228 (commit)
       via  cd1da0824f4fc6fc3261d3c58f9a82ca3dc85292 (commit)
       via  1e94cc8d7f06ce6db4e862354c8db5fea15bc61b (commit)
       via  b058f12605ae939efd298276ee13bb2327fd2062 (commit)
       via  096c055edcb4b8b59055ecd990ce7a3b2b711c15 (commit)
       via  6b0466d6737331da6e0921efa3bb2367e3ba3242 (commit)
       via  6c7c425929f4562d947d50b92fdc7254ee2bdd4c (commit)
       via  5fd8d54b2691564e08b2776f707aca4aa061209b (commit)
       via  5bdd16c04f22398794d887dd1608acf4e562b7f6 (commit)
       via  1db08ba46b04359478025571da265600b789e6ae (commit)
       via  eea106a20f6f29b15ca5dd4d7f388e3f9f5ea666 (commit)
       via  512d7fc3cb7fb2a258cbf09a7647bdb70abb9f2f (commit)
       via  f15e2d9cbb8e0aaab415a88455225007887862c0 (commit)
       via  8e2605b21a80e69cc86fa0c827bb089248378d93 (commit)
       via  583818651e193d615e4f95cdec71c8ef97974851 (commit)
       via  a1da11d2f44443a8d1b3261e859630b9bff7e033 (commit)
       via  bbe907ea183938e81917a8c2842a87b3ce9e3b01 (commit)
       via  e7fd73c2f1d97bbdae20df4d8285b0077055ec04 (commit)
       via  3e65afaa701800b46be1a1231f985fe947634a85 (commit)
      from  f97b21ec33f67ffaf1a725ff87deff1f3ed41c63 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 792e21ccc3eed823bd1fb3e93201b1348236b4c7
Merge: faa6d13 2d15fae
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 16:07:21 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit 2d15faef3be5ae5298737f7ccdfdad6e367b5138
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 16:07:12 2013 +0100

    .

commit faa6d1344db7edbed3527158c406d40f793627ff
Merge: 1a3539d def9c01
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 16:03:10 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit def9c01bb4cdc1d62eb555daa686e122a212b3db
Merge: 8a7a439 a56cb09
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 16:03:10 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal

commit a56cb093f9f81268f727a8675fc24de36b219b20
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 16:03:07 2013 +0100

    .

commit 1a3539d1ce7f584c8bf833223b798448ea9c193f
Merge: a072c31 8a7a439
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:58:12 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit 8a7a4399c10be91d2f7cc24f5a2c6a5e5b2f77a8
Merge: d35b09c f16403e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:58:12 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal

commit f16403ecec249465061d26d8a3a8022389e2caf1
Merge: a62c08a 0c95a7a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:58:12 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab

commit 0c95a7a13fbbf2cb7dd9c1de6a2fd4d4e8356d9b
Merge: 2ce3204 bcb5485
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:58:11 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui

commit bcb54859189ca5b3756af5419177dfc46caabde5
Merge: d54b33d f6fc7d5
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:58:11 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2

commit f6fc7d52d1090ada3ea16fa9708a6cc6b5887caa
Merge: 4d286b7 3067c9d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:58:11 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config

commit 3067c9d384598de51c1c94cfd1be789f23831763
Merge: 69d4297 038a517
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:58:11 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname

commit 038a51759d5711b6e6ac1acb4b21ea74ecd6fd59
Merge: 697b847 29f9a2b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:58:10 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs' into xfullpath-locsymtab-isabs-expandfullname

commit 29f9a2b0de48bbb5653b0b17d7cfd9289b17e625
Merge: 125ae39 3791216
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:58:10 2013 +0100

    Merge branch 'xfullpath-locsymtab' into xfullpath-locsymtab-isabs

commit 3791216e6d1df7104ec2d7d3927faf73755cf915
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:52:56 2013 +0100

    .

commit a62c08a415ef768f7a6d1afa1c67e2d9f3297638
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:49:17 2013 +0100

    .

commit a072c311bd84cfccfc760644c6bbe1fa296fc2ea
Merge: 3437047 d35b09c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:09:00 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit d35b09cf69dcc1c8c0002dd1715eba78097ced82
Merge: 5dc8954 35ed7bf
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:08:59 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal

commit 2ce32042c34049daa66e53c4b2d95c8ab2e5233b
Merge: da887da d54b33d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:08:59 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui

commit 35ed7bf30a66f2256a288f120d4f28998725ab73
Merge: aae8b7b 2ce3204
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:08:59 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab

commit d54b33d5b622a95225a60393caf854bd90e2cf40
Merge: 926cb57 4d286b7
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:08:58 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2

commit 4d286b7d33e05df1e67d347035784a21a4030925
Merge: d982bdd 69d4297
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:08:58 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config

commit 69d429759e14d43da49ba5ee03874dbf306a879b
Merge: cfdf9fb 697b847
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:08:58 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname

commit 697b847bb62a9713f4c375c6d71dca97975d50c4
Merge: b33ae12 125ae39
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:08:57 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs' into xfullpath-locsymtab-isabs-expandfullname

commit 125ae39248c4072f7c8594e4e0967462733ce4b1
Merge: 4507f2b 81505ae
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:08:57 2013 +0100

    Merge branch 'xfullpath-locsymtab' into xfullpath-locsymtab-isabs

commit 81505ae977c242859ae969bca00d51aaa98a71e4
Merge: 5b62a24 2bd3231
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:08:57 2013 +0100

    Merge branch 'xfullpath' into xfullpath-locsymtab

commit 2bd323175f4b455ccef30b8914898b1c042ed7fb
Merge: 38cab10 1d4bc0d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 15:08:56 2013 +0100

    Merge remote-tracking branch 'gdb/master' into xfullpath

commit 1d4bc0d9888ee9e316c4defb5e98cd9e4107fbe8
Author: mkuvyrkov <mkuvyrkov>
Date:   Fri Jan 25 04:21:56 2013 +0000

    	* MAINTAINERS: Update my email.

commit e89f5c5a33a5e3464bec516a49ee13637393b7f3
Author: qiyao <qiyao>
Date:   Fri Jan 25 00:46:19 2013 +0000

    gdb/
    	* main.c (print_gdb_help): Remove "--epoch" from the help
    	message.

commit b7b65b72d469e69031791eef01a55bc74a40bcd9
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Fri Jan 25 00:00:35 2013 +0000

    *** empty log message ***

commit b26e3687791339b6b7f22411133422c1f421178d
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Thu Jan 24 23:00:04 2013 +0000

    daily update

commit 3437047ebc3037611f3107feefe7b331f3f0e5e1
Merge: 8e40dab 5dc8954
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jan 24 22:46:27 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit 5dc89544c5114dd99f5ca81575b8ed81752282a6
Merge: e160d35 aae8b7b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jan 24 22:46:26 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal

commit da887dac49a8be93f4a384733d19fbcf0478ae6c
Merge: e678509 926cb57
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jan 24 22:46:26 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui

commit aae8b7b396770609722307c258902c43b1022a59
Merge: 40bbe4f da887da
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jan 24 22:46:26 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab

commit 926cb57dc5f943d6d7a592cf1b46fe64d951cacb
Merge: b0abf95 d982bdd
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jan 24 22:46:25 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2

commit d982bdd67bc420b9e6daed4b2e08b20fef820fdb
Merge: 6b0466d cfdf9fb
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jan 24 22:46:25 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config

commit cfdf9fb4edcf6753cd26aee1a69ab29fac3fee71
Merge: 6c7c425 b33ae12
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jan 24 22:46:24 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname

commit b33ae124b5c9644d486697e1058ab075d0fb7943
Merge: 5fd8d54 4507f2b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jan 24 22:46:24 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs' into xfullpath-locsymtab-isabs-expandfullname

commit 4507f2b1ebb02a5fdb8b49482d9055faa8b016d6
Merge: 5bdd16c 5b62a24
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jan 24 22:46:23 2013 +0100

    Merge branch 'xfullpath-locsymtab' into xfullpath-locsymtab-isabs

commit 5b62a240466a2bef68c73809a58d34980f16b4e2
Merge: 1db08ba 38cab10
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jan 24 22:46:23 2013 +0100

    Merge branch 'xfullpath' into xfullpath-locsymtab

commit 38cab103671dd4a4ff9c57f8fdfb778945f12a53
Merge: eea106a 8349ce1
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jan 24 22:46:22 2013 +0100

    Merge remote-tracking branch 'gdb/master' into xfullpath

commit 8e40dab0dba7ca25997c9507aa8332ae9f7a51c0
Merge: e160d35 cd1da08
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jan 24 22:44:51 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple-psymtab-dw2fullreal-macrorel' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit e160d356a26437a42c0df6cc05e51167831c52ac
Merge: 40bbe4f 1e94cc8
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jan 24 22:44:37 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal

commit 40bbe4f0d624671e93138d308388058e140cc085
Merge: e678509 b058f12
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jan 24 22:44:22 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple-psymtab' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab

commit e67850942bebeac58afdc62e0d49324f62f929d7
Merge: 9e9ec80 eeaf35e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jan 24 22:42:37 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui
    
    Conflicts:
    	gdb/source.c
    	gdb/tui/tui-disasm.c
    	gdb/tui/tui-source.c
    	gdb/tui/tui-stack.c
    	gdb/tui/tui-winsource.c

commit 9e9ec808059fe38d9c1dce93d48f38c37c19c222
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jan 24 22:38:49 2013 +0100

    .

commit b0abf95db57a1f7ade5ab2c50b454e3d0baf002b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Jan 24 22:37:35 2013 +0100

    .

commit b89d213aa09d65092bde6d066f65e07db79317e9
Author: tdaitx <tdaitx>
Date:   Thu Jan 24 20:36:00 2013 +0000

    gdb/
        * symtab.c (skip_prologue_using_sal): Consider a file
        change the same as an increased line number
    
    gdb/testsuite/
        * gdb.base/prologue-include.c: New file.
        * gdb.base/prologue-include.exp: New file.
        * gdb.base/prologue-include.h: New file.

commit 0ca1ddf2583d6a3948c043604ae608c9bc104b33
Author: tdaitx <tdaitx>
Date:   Thu Jan 24 20:25:17 2013 +0000

    gdb/
        * MAINTAINERS (Write After Approval): Add myself to the list.

commit 361aca7a3021fd3e31d2b6f5562a909c3e3efcde
Author: Tom Tromey <tromey@redhat.com>
Date:   Thu Jan 24 18:04:26 2013 +0000

    	* ada-lang.h (ada_decode_symbol): Make return type const.
    	* ada-lang.c (ada_decode_symbol): Likewise.

commit 8349ce192b8ac072fb4d294e92a4dc7493d9968f
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jan 24 16:51:56 2013 +0000

    	* v850.h: Add e3v5 support.

commit 3e972a99fc5f33e08893ba191c1b5a3ca8e59ed6
Author: Nick Clifton <nickc@redhat.com>
Date:   Thu Jan 24 11:13:57 2013 +0000

    Add support for V850E3V5 architecture

commit 60110dc675ad9f32f98ccd5207c427b3cf8ea62b
Author: abidh <abidh>
Date:   Thu Jan 24 10:29:08 2013 +0000

    2013-01-24  Hafiz Abid Qadeer  <abidh@codesourcery.com>
    
    	PR gdb/13443
    	* gdb.mi/mi-var-block.exp: Make test messages unique.

commit a54599df981ae68d7be0118fcd70f0846846bb35
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Thu Jan 24 00:00:04 2013 +0000

    *** empty log message ***

commit f465320687d3c4205826163087b57fe2355a84d6
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Wed Jan 23 23:00:08 2013 +0000

    daily update

commit 14b1b34ab5478da76a63608b7c786dc66ee68c6c
Author: Tom Tromey <tromey@redhat.com>
Date:   Wed Jan 23 21:04:45 2013 +0000

    	* gdb.dwarf2/dw2-error.exp: Pass test name to "file" test.

commit db3e984332191efbe8c7713dba07d813611af37f
Author: Tom Tromey <tromey@redhat.com>
Date:   Wed Jan 23 20:34:20 2013 +0000

    	* gdb.cp/converts.cc (main): Initialize 'a'.

commit f9226a894dc3cdd7d930784df2bdc76bf38e60eb
Author: Doug Evans <dje@google.com>
Date:   Wed Jan 23 20:07:36 2013 +0000

    	* linespec.c (find_linespec_symbols): Make static.

commit dab2171857b963c6b0ff32c9792ff13dd73b035d
Author: sergiodj <sergiodj>
Date:   Wed Jan 23 20:03:15 2013 +0000

    2013-01-23  Tiago Stürmer Daitx  <tdaitx@linux.vnet.ibm.com>
    
    	* ppc-sysv-tdep.c (ppc64_sysv_abi_return_value): Set correct
    	type on float conversion for complex type.

commit 326c0ad74a07bb9532a53e830096a784ab96f683
Author: sivachandra <sivachandra>
Date:   Wed Jan 23 19:59:07 2013 +0000

    	Add a new class gdb.Architecture which exposes GDB's
    	internal representation of architecture via GDB Python API.
    
    	* Makefile.in: Add entries corresponding to the new file
    	python/py-arch.c.
    	* NEWS (Python Scripting): Add entries for the new class
    	gdb.Architecture and the new method gdb.Frame.architecture.
    	* python/py-arch.c: Implement gdb.Architecture class.
    	* python/py-frame.c (frapy_arch): Implement the method
    	gdb.Frame.architecture().
    	(frame_object_methods): Add 'architecture' to the method table.
    	* python/python-internal.h: Add declarations of new utility
    	functions.
    	* python/python.c (_initialize_python): Initialize
    	gdb.Architecture class.
    
    	* doc/gdb.texinfo (Architectures In Python): New sub-sub-section
    	describing the gdb.Architecture class.
    	(Frames In Python): Add description about the new method
    	gdb.Frame.architecture().
    
    	* testsuite/gdb.python/frame.exp: Add a test for
    	gdb.Frame.architecture() method.

commit ceb4ee95539d6324ca0f307ba729ea660ed5d1bd
Author: Doug Evans <dje@google.com>
Date:   Wed Jan 23 18:47:47 2013 +0000

    	Work around binutils/15021.
    	* dwarf2read.c (dwarf2_per_cu_data): Split imported_symtabs and
    	type_unit_group out of union s.  All uses updated.
    	(read_index_from_section): Watch for index version 8.
    	(follow_die_sig): If using .gdb_index version <= 7, record the TU as
    	an imported symtab.
    	(write_psymtabs_to_index): Increment version number to 8.
    
    	doc/
    	* gdb.texinfo (Index Section Format): Document .gdb_index version 8.

commit 6ecce85accf7307fda4edb096162ffb7c692050b
Author: Nick Clifton <nickc@redhat.com>
Date:   Wed Jan 23 12:41:31 2013 +0000

    	* elf32-metag.c: Error on HIADDR16/LOADDR16 in shared link.

commit cbf194043f15b97d5fff73f0f4069341081e1b51
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Wed Jan 23 10:29:41 2013 +0000

    	* config.bfd (x86_64-*-rdos*): Remove targ_selvecs.

commit b8d2e1f247145bfa2d9406b07f9bff11f12a570e
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Wed Jan 23 00:00:41 2013 +0000

    *** empty log message ***

commit 3fa9576365092560d40320b67ebf3e54ddd7e50f
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Tue Jan 22 23:00:05 2013 +0000

    daily update

commit cdeb1bedc929e4dfac1fd181c636ad99e7d1381e
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jan 22 20:22:38 2013 +0000

    If a breakpoint is not user visible, then there's no point in
    bothering the frontend about it...  This is the exact same check MI
    does.
    
    I also smoke tested Emacs 23 in gud-gdb mode, both annotations=2
    and annotations=3.  I didn't notice anything break.
    
    gdb/
    2013-01-22  Pedro Alves  <palves@redhat.com>
    
    	* annotate.c (breakpoint_changed): Skip if breakpoint is not
    	user-visible.
    
    gdb/testsuite/
    2013-01-22  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/annota1.exp (signal sent): No longer expect
    	breakpoints-invalid.
    	* gdb.cp/annota2.exp (continue until exit)
    	(watch triggered on a.x): Ditto.

commit 918df08b8d459c4a44ea3e1e827ea35d334ab1fb
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jan 22 20:19:36 2013 +0000

    All annotate_breakpoints_changed calls are along-side
    observer_notify_breakpoints_changed calls.  All, except the
    init_raw_breakpoint one.  But that one is actually wrong.  The
    breakpoint is being constructed at that point, and hasn't been placed
    on the breakpoint chain yet.  It would be better placed in
    install_breakpoint, and I actually started out that way.  But once the
    annotate_breakpoints_changed are parallel to the observer calls, we
    can fully move annotations to observers too.
    
    One issue is that this changes the order of annotations a bit.
    Before, we'd emit the annotation, and after call "mention()" on the
    breakpoint (which prints the breakpoint number, etc.).  But, we call
    the observers _after_ mention is called, so the annotation output will
    change a little:
    
    void
    install_breakpoint (int internal, struct breakpoint *b, int update_gll)
    {
      add_to_breakpoint_chain (b);
      set_breakpoint_number (internal, b);
      if (is_tracepoint (b))
        set_tracepoint_count (breakpoint_count);
      if (!internal)
        mention (b);
      observer_notify_breakpoint_created (b);
    
      if (update_gll)
        update_global_location_list (1);
    }
    
    I believe this order doesn't really matter (the frontend needs to wait
    for the prompt anyway), so I just adjust the expected output in the
    tests.  Emacs in annotations mode doesn't seem to complain.  Couple
    that with the previous patch that suppressed duplicated annotations,
    and, the fact that some annotations calls were actually missing (were
    we do have observer calls), more changes to the tests are needed
    anyway.
    
    Tested on x86_64 Fedora 17.
    
    gdb/
    2013-01-22  Pedro Alves  <palves@redhat.com>
    
    	* annotate.c (annotate_breakpoints_changed): Rename to ...
    	(annotate_breakpoints_invalid): ... this.  Make static.
    	(breakpoint_changed): Adjust.
    	(_initialize_annotate): Always install the observers.  Install a
    	"breakpoint_created" observer.
    	* annotate.h (annotate_breakpoints_changed): Delete declaration.
    	* breakpoint.c (set_breakpoint_condition)
    	(breakpoint_set_commands, do_map_commands_command)
    	(init_raw_breakpoint, clear_command, set_ignore_count)
    	(enable_breakpoint_disp): No longer call
    	annotate_breakpoints_changed.
    
    gdb/testsuite/
    2013-01-22  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/annota1.exp (breakpoints_invalid): New variable.
    	Adjust tests to breakpoints-invalid changes.
    	* gdb.cp/annota2.exp (breakpoints_invalid, frames_invalid): New
    	variables.
    	Adjust tests to breakpoints-invalid changes.

commit 29705ccdaea812a0ebe4371e6f78689edacdb491
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jan 22 20:17:09 2013 +0000

    With some changes to how software single-step (SSS) breakpoints are
    handled, one of those being to place SSS breakpoints on the breakpoint
    chain as all other breakpoints, annota1.exp times out with lots and
    lots of breakpoint-invalid and frame-changed annotations.  All those
    extra annotations are actually unnecessary.  For one, SSS breakpoints
    are internal breakpoints, so the frontend shouldn't care if they were
    added, removed or changed.  Then, there's really no point in emitting
    "breakpoints-invalid" or "frames-invalid" more than once between times
    the frontend/user can actually issues GDB commands; the frontend will
    have to wait for the GDB prompt to refresh its state, so emitting
    those annotations at most once between prompts is enough.  Non-stop or
    async would complicate this, but no frontend will be using annotations
    in those modes (one of goes of emacs switching to MI was non-stop mode
    support, AFAIK).  The previous patch reveals there has been an
    intention in the past to suppress multiple breakpoints-invalid
    annotations caused by ignore count changes.  As the previous patch
    shows, that's always been broken, but in any case, this patch actually
    makes it work.  The next patch will remove several annotation-specific
    calls in breakpoint.c in favor of always using the breakpoint modified
    & friends observers, and that causes yet more of these annotations,
    because several calls to the corresponding annotate_* functions in
    breakpoint.c are missing, particularly in newer code.
    
    So all in all, here's a simple mechanism that avoids sending the same
    annotation to the frontend more than once until gdb is ready to accept
    further commands.
    
    Tested on x86_64 Fedora 17.
    
    2013-01-22  Pedro Alves  <palves@redhat.com>
    
    	* annotate.c: Include "inferior.h".
    	(frames_invalid_emitted)
    	(breakpoints_invalid_emitted): New globals.
    	(async_background_execution_p): New function.
    	(annotate_breakpoints_changed, annotate_frames_invalid): Skip
    	emitting the annotation if it has already been emitted.
    	(annotate_display_prompt): New function.
    	* annotate.h (annotate_display_prompt): New declaration.
    	* event-top.c: Include annotate.h.
    	(display_gdb_prompt): Call annotate_display_prompt.

commit de624f33d7a56250140188834a580177d4e9d081
Author: Pedro Alves <palves@redhat.com>
Date:   Tue Jan 22 20:08:25 2013 +0000

    There's code in annotate.c and breakpoint.c that is supposed to
    suppress multiple breakpoints-invalid annotations when the ignore
    count of a breakpoint changes, up until the target actually stops.
    
    But, the code is bogus:
    
    void
    annotate_breakpoints_changed (void)
    {
      if (annotation_level == 2)
        {
          target_terminal_ours ();
          printf_unfiltered (("\n\032\032breakpoints-invalid\n"));
          if (ignore_count_changed)
    	ignore_count_changed = 0;   /* Avoid multiple break annotations.  */
        }
    }
    
    The "ignore_count_changed" flag isn't actually guarding the output of
    the annotation at all.  It would have been better written something
    like:
    
    void
    annotate_breakpoints_changed (void)
    {
      if (annotation_level == 2 && !ignore_count_changed)
        {
          target_terminal_ours ();
          printf_unfiltered (("\n\032\032breakpoints-invalid\n"));
          ignore_count_changed = 0;   /* Avoid multiple break annotations.  */
        }
    }
    
    but, it wasn't.  AFAICS, that goes all the way back to the original
    patch'es submission and check in, at
    <http://sourceware.org/ml/gdb-patches/1999-q4/msg00106.html>.  I
    looked a tar of HP's wdb from 1999, and even though that contains
    local changes in the annotate code, this suppression seems borked
    there too to me.
    
    The original patch added a test to supposedly exercise this
    suppression, but, it actually doesn't.  It merely tests that
    "breakpoints-invalid" is output after "stopped", but doesn't check
    whether the duplicates supression actually works (IOW, check that only
    _one_ annotation is seen).  I was going to simply delete the tests
    too, but a following patch will eliminate the duplicates in a
    different way (which I needed for a different reason), so instead, I'm
    making the tests actually fail if a duplicate annotation is seen.
    
    Worry not, the test doesn't actually fail!  The reason is that
    breakpoint.c does:
    
          else if (b->ignore_count > 0)
    	{
    	  b->ignore_count--;
    	  annotate_ignore_count_change ();
    	  bs->stop = 0;
    	  /* Increase the hit count even though we don't stop.  */
    	  ++(b->hit_count);
    	  observer_notify_breakpoint_modified (b);
    	}
    
    where the annotate_ignore_count_change call is meant to inform the
    "breakpoint_modified" annotation observer to ignore the notification.
    All sounds good.  But, the trouble is that nowadays annotate.c only
    installs the observers if GDB is started with annotations enabled with
    a command line option (gdb --annotate=2):
    
    void
    _initialize_annotate (void)
    {
      if (annotation_level == 2)
        {
          observer_attach_breakpoint_deleted (breakpoint_changed);
          observer_attach_breakpoint_modified (breakpoint_changed);
        }
    }
    
    and annota1.exp, to enable annotations, starts GDB normally, and
    afterwards does "set annotate 2", so the observers aren't installed
    when annota1.exp is run, and therefore changing the ignore count isn't
    triggering any annotation at all...
    
    gdb/
    2013-01-22  Pedro Alves  <palves@redhat.com>
    
    	* annotate.c (ignore_count_changed): Delete.
    	(annotate_breakpoints_changed): Don't clear ignore_count_changed.
    	(annotate_ignore_count_change): Delete.
    	(annotate_stopped): Don't emit a delayed breakpoints-changed
    	annotation.
    	* annotate.h (annotate_ignore_count_change): Delete.
    	* breakpoint.c (bpstat_check_breakpoint_conditions): Don't call
    	annotate_ignore_count_change.
    
    gdb/testsuite/
    2013-01-22  Pedro Alves  <palves@redhat.com>
    
    	* gdb.base/annota1.exp (annotate ignore count change): Add
    	expected output for failure case.

commit eeaf35e7b132fc8de0aa2a79f2a90180f4ef1228
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Jan 22 17:31:53 2013 +0100

    .

commit cd1da0824f4fc6fc3261d3c58f9a82ca3dc85292
Merge: f97b21e 1e94cc8
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Jan 22 17:11:31 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple-psymtab-dw2fullreal-macrorel

commit 1e94cc8d7f06ce6db4e862354c8db5fea15bc61b
Merge: e8858b9 b058f12
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Jan 22 17:11:31 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple-psymtab' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple-psymtab-dw2fullreal

commit b058f12605ae939efd298276ee13bb2327fd2062
Merge: ed87ba6 096c055
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Jan 22 17:11:30 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple-psymtab

commit 096c055edcb4b8b59055ecd990ce7a3b2b711c15
Merge: 2a13640 6b0466d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Jan 22 17:11:30 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple

commit 6b0466d6737331da6e0921efa3bb2367e3ba3242
Merge: 3e65afa 6c7c425
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Jan 22 17:11:29 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config

commit 6c7c425929f4562d947d50b92fdc7254ee2bdd4c
Merge: 8c631bd 5fd8d54
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Jan 22 17:11:29 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname

commit 5fd8d54b2691564e08b2776f707aca4aa061209b
Merge: 3bf8aa8 5bdd16c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Jan 22 17:11:28 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs' into xfullpath-locsymtab-isabs-expandfullname

commit 5bdd16c04f22398794d887dd1608acf4e562b7f6
Merge: 21b8f6e 1db08ba
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Jan 22 17:11:28 2013 +0100

    Merge branch 'xfullpath-locsymtab' into xfullpath-locsymtab-isabs

commit 1db08ba46b04359478025571da265600b789e6ae
Merge: a92f422 eea106a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Jan 22 17:11:27 2013 +0100

    Merge branch 'xfullpath' into xfullpath-locsymtab

commit eea106a20f6f29b15ca5dd4d7f388e3f9f5ea666
Merge: 594ac3d 8e2605b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Jan 22 17:11:27 2013 +0100

    Merge remote-tracking branch 'gdb/master' into xfullpath

commit 512d7fc3cb7fb2a258cbf09a7647bdb70abb9f2f
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue Jan 22 15:57:26 2013 +0000

    	* dwarf2loc.c (dwarf2_compile_expr_to_ax) <DW_OP_fbreg>: Only
    	require_rvalue for a register location.

commit f15e2d9cbb8e0aaab415a88455225007887862c0
Author: Tom Tromey <tromey@redhat.com>
Date:   Tue Jan 22 15:47:51 2013 +0000

    	* gdb.gdb/selftest.exp (do_steps_and_nexts): Handle bfd_init
    	call.

commit 8e2605b21a80e69cc86fa0c827bb089248378d93
Author: Marc Khouzam <marc.khouzam@ericsson.com>
Date:   Tue Jan 22 00:06:25 2013 +0000

    Updated Changelog and testsuite/Changelog because of bad formatting.

commit 583818651e193d615e4f95cdec71c8ef97974851
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Tue Jan 22 00:00:33 2013 +0000

    *** empty log message ***

commit a1da11d2f44443a8d1b3261e859630b9bff7e033
Author: Marc Khouzam <marc.khouzam@ericsson.com>
Date:   Mon Jan 21 23:57:58 2013 +0000

    2013-01-21  Marc Khouzam  <marc.khouzam@ericsson.com>
    
            * breakpoint.c (print_one_breakpoint_location): Add MI
            field 'thread-groups' when printing a breakpoint.
            (output_thread_groups): New function.
    
    2013-01-21  Marc Khouzam  <marc.khouzam@ericsson.com>
    
            * gdb.texinfo (GDB/MI Breakpoint Commands): Document new
            'thread-groups' field when printing a breakpoint in MI.
    
    2013-01-21  Marc Khouzam  <marc.khouzam@ericsson.com>
    
            * gdb.mi/mi-break.exp: Expect new 'thread-groups' field.
            * gdb.mi/mi-nsmoribund.exp: Expect new 'thread-groups' field.
            Also handle 'thread' field.
            * gdb.mi/mi-simplerun.exp: Expect new 'thread-groups' field.
            * gdb.mi/mi-watch.exp: Ditto.
            * lib/mi-support.exp: Ditto.

commit bbe907ea183938e81917a8c2842a87b3ce9e3b01
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Mon Jan 21 23:00:04 2013 +0000

    daily update

commit e7fd73c2f1d97bbdae20df4d8285b0077055ec04
Author: sivachandra <sivachandra>
Date:   Mon Jan 21 21:44:55 2013 +0000

    	* python/lib/gdb/commands/explore.py
    	(CompoundExplorer.explore_expr): Correct the name of a method
    	being invoked.
    	(ExploreTypeCommand.invoke): Add a missing 'return'.
    	* testsuite/gdb.python/py-explore.exp: Improve a test

commit 3e65afaa701800b46be1a1231f985fe947634a85
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Mon Jan 21 22:40:21 2013 +0100

    .

-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog                                      |   16 +
 bfd/archures.c                                     |    1 +
 bfd/bfd-in2.h                                      |    1 +
 bfd/config.bfd                                     |    1 -
 bfd/cpu-v850.c                                     |   11 +-
 bfd/cpu-v850_rh850.c                               |   10 +-
 bfd/elf32-metag.c                                  |   43 +-
 bfd/elf32-v850.c                                   |   23 +-
 bfd/version.h                                      |    2 +-
 gdb/ChangeLog                                      |  120 +++
 gdb/MAINTAINERS                                    |    3 +-
 gdb/Makefile.in                                    |    6 +
 gdb/NEWS                                           |    6 +
 gdb/ada-lang.c                                     |    6 +-
 gdb/ada-lang.h                                     |    2 +-
 gdb/annotate.c                                     |   78 +-
 gdb/annotate.h                                     |    5 +-
 gdb/breakpoint.c                                   |   99 ++-
 gdb/breakpoint.h                                   |    3 +-
 gdb/doc/ChangeLog                                  |   16 +
 gdb/doc/gdb.texinfo                                |   87 ++-
 gdb/dwarf2loc.c                                    |    3 +-
 gdb/dwarf2read.c                                   |  106 ++-
 gdb/event-top.c                                    |    3 +
 gdb/linespec.c                                     |   12 +-
 gdb/main.c                                         |    1 -
 gdb/ppc-sysv-tdep.c                                |   10 +-
 gdb/psympriv.h                                     |    4 -
 gdb/psymtab.c                                      |   30 +-
 gdb/python/lib/gdb/command/explore.py              |    3 +-
 gdb/python/py-arch.c                               |  149 +++
 gdb/python/py-frame.c                              |   22 +
 gdb/python/python-internal.h                       |    4 +
 gdb/python/python.c                                |    1 +
 gdb/skip.c                                         |    2 +
 gdb/source.c                                       |    8 +-
 gdb/symtab.c                                       |   24 +-
 gdb/testsuite/ChangeLog                            |   63 ++
 gdb/testsuite/gdb.base/annota1.exp                 |   22 +-
 .../gdb.base/prologue-include.c}                   |   24 +-
 gdb/testsuite/gdb.base/prologue-include.exp        |   26 +
 .../gdb.base/prologue-include.h}                   |   20 +-
 gdb/testsuite/gdb.cp/annota2.exp                   |   13 +-
 gdb/testsuite/gdb.cp/converts.cc                   |    3 +-
 gdb/testsuite/gdb.dwarf2/dw2-error.exp             |    5 +-
 gdb/testsuite/gdb.gdb/selftest.exp                 |    4 +
 gdb/testsuite/gdb.mi/mi-break.exp                  |    8 +-
 gdb/testsuite/gdb.mi/mi-catch-load.exp             |    4 +-
 gdb/testsuite/gdb.mi/mi-nsmoribund.exp             |    5 +-
 gdb/testsuite/gdb.mi/mi-simplerun.exp              |    2 +-
 gdb/testsuite/gdb.mi/mi-var-block.exp              |   16 +-
 gdb/testsuite/gdb.mi/mi-watch.exp                  |    6 +-
 gdb/testsuite/gdb.python/py-explore.exp            |   20 +-
 gdb/testsuite/gdb.python/py-frame.exp              |    4 +
 gdb/testsuite/lib/mi-support.exp                   |    8 +-
 gdb/tui/tui-data.c                                 |    2 +-
 gdb/tui/tui-data.h                                 |    3 +-
 gdb/tui/tui-disasm.c                               |    4 +-
 gdb/tui/tui-out.c                                  |    2 +-
 gdb/tui/tui-source.c                               |   10 +-
 gdb/tui/tui-stack.c                                |   28 +-
 gdb/tui/tui-stack.h                                |    2 +-
 gdb/tui/tui-winsource.c                            |    4 +-
 gdb/tui/tui.c                                      |    4 +-
 gdb/tui/tui.h                                      |    2 +-
 gdb/version.in                                     |    2 +-
 include/elf/ChangeLog                              |    5 +
 include/elf/v850.h                                 |    6 +-
 include/opcode/ChangeLog                           |    4 +
 include/opcode/v850.h                              |   56 +-
 opcodes/ChangeLog                                  |    7 +-
 opcodes/v850-dis.c                                 |  174 +++-
 opcodes/v850-opc.c                                 |  971 ++++++++++++++++----
 73 files changed, 1918 insertions(+), 542 deletions(-)
 create mode 100644 gdb/python/py-arch.c
 copy gdb/{tui/tui-stack.h => testsuite/gdb.base/prologue-include.c} (63%)
 create mode 100644 gdb/testsuite/gdb.base/prologue-include.exp
 copy gdb/{tui/tui-stack.h => testsuite/gdb.base/prologue-include.h} (63%)

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index e60c472..6dfcb64 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,19 @@
+2013-01-24  Nick Clifton  <nickc@redhat.com>
+
+	* archures.c: Add bfd_mach_v850e3v5.
+	* bfd-in2.h: Regenerate.
+	* cpu-v850.c: Add entries for v850e2v5 and v850e3v5.
+	* cpu-v850_rh850.c: Likewise.
+	* elf32-v850.c: Add support for v850e3v5 architecture.
+
+2013-01-23  Markos Chandras  <markos.chandras@imgtec.com>
+
+	* elf32-metag.c: Error on HIADDR16/LOADDR16 in shared link.
+
+2013-01-23  Leif Ekblad  <leif@rdos.net>
+
+	* config.bfd (x86_64-*-rdos*): Remove targ_selvecs.
+
 2013-01-18  H.J. Lu  <hongjiu.lu@intel.com>
 
 	* elf32-i386.c (elf_i386_allocate_dynrelocs): Clear pc_count for
diff --git a/bfd/archures.c b/bfd/archures.c
index d87185d..a1b7868 100644
--- a/bfd/archures.c
+++ b/bfd/archures.c
@@ -330,6 +330,7 @@ DESCRIPTION
 .#define bfd_mach_v850e1        '1'
 .#define bfd_mach_v850e2        0x4532
 .#define bfd_mach_v850e2v3      0x45325633
+.#define bfd_mach_v850e3v5      0x45335635 {* ('E'|'3'|'V'|'5') *}
 .  bfd_arch_arc,       {* ARC Cores *}
 .#define bfd_mach_arc_5         5
 .#define bfd_mach_arc_6         6
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 3561e19..489c3b5 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -2061,6 +2061,7 @@ enum bfd_architecture
 #define bfd_mach_v850e1        '1'
 #define bfd_mach_v850e2        0x4532
 #define bfd_mach_v850e2v3      0x45325633
+#define bfd_mach_v850e3v5      0x45335635 /* ('E'|'3'|'V'|'5') */
   bfd_arch_arc,       /* ARC Cores */
 #define bfd_mach_arc_5         5
 #define bfd_mach_arc_6         6
diff --git a/bfd/config.bfd b/bfd/config.bfd
index 713c3d4..cd19936 100644
--- a/bfd/config.bfd
+++ b/bfd/config.bfd
@@ -680,7 +680,6 @@ case "${targ}" in
     ;;
   x86_64-*-rdos*)
     targ_defvec=bfd_elf64_x86_64_vec
-    targ_selvecs="bfd_elf32_i386_vec bfd_elf64_l1om_vec bfd_elf64_k1om_vec"
     want64=true
     ;;
 #endif
diff --git a/bfd/cpu-v850.c b/bfd/cpu-v850.c
index bb6b542..c2f52f1 100644
--- a/bfd/cpu-v850.c
+++ b/bfd/cpu-v850.c
@@ -1,6 +1,5 @@
 /* BFD support for the NEC V850 processor
-   Copyright 1996, 1997, 1998, 2000, 2001, 2002, 2003, 2005, 2007,
-   2010, 2012  Free Software Foundation, Inc.
+   Copyright 1996-2013 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -32,9 +31,11 @@
 
 static const bfd_arch_info_type arch_info_struct[] =
 {
-  N (bfd_mach_v850e2v3, "v850e2v3", 	FALSE, & arch_info_struct[1]),
-  N (bfd_mach_v850e2,   "v850e2", 	FALSE, & arch_info_struct[2]),
-  N (bfd_mach_v850e1,   "v850e1",  	FALSE, & arch_info_struct[3]),
+  N (bfd_mach_v850e3v5, "v850e3v5", 	FALSE, & arch_info_struct[1]),
+  N (bfd_mach_v850e3v5, "v850e2v4", 	FALSE, & arch_info_struct[2]),
+  N (bfd_mach_v850e2v3, "v850e2v3", 	FALSE, & arch_info_struct[3]),
+  N (bfd_mach_v850e2,   "v850e2", 	FALSE, & arch_info_struct[4]),
+  N (bfd_mach_v850e1,   "v850e1",  	FALSE, & arch_info_struct[5]),
   N (bfd_mach_v850e,    "v850e",   	FALSE, NULL)
 };
 
diff --git a/bfd/cpu-v850_rh850.c b/bfd/cpu-v850_rh850.c
index 06abdc7..9402f23 100644
--- a/bfd/cpu-v850_rh850.c
+++ b/bfd/cpu-v850_rh850.c
@@ -1,5 +1,5 @@
 /* BFD support for the NEC V850 processor with the RH850 ABI.
-   Copyright 2012  Free Software Foundation, Inc.
+   Copyright 2012-2013  Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -29,9 +29,11 @@
 
 static const bfd_arch_info_type arch_info_struct[] =
 {
-  R (bfd_mach_v850e2v3, "v850e2v3", 	FALSE, & arch_info_struct[1]),
-  R (bfd_mach_v850e2,   "v850e2", 	FALSE, & arch_info_struct[2]),
-  R (bfd_mach_v850e1,   "v850e1",  	FALSE, & arch_info_struct[3]),
+  R (bfd_mach_v850e3v5, "v850e3v5", 	FALSE, & arch_info_struct[1]),
+  R (bfd_mach_v850e3v5, "v850e2v4", 	FALSE, & arch_info_struct[2]),
+  R (bfd_mach_v850e2v3, "v850e2v3", 	FALSE, & arch_info_struct[3]),
+  R (bfd_mach_v850e2,   "v850e2", 	FALSE, & arch_info_struct[4]),
+  R (bfd_mach_v850e1,   "v850e1",  	FALSE, & arch_info_struct[5]),
   R (bfd_mach_v850e,    "v850e",   	FALSE, NULL)
 };
 
diff --git a/bfd/elf32-metag.c b/bfd/elf32-metag.c
index 6ae3bc0..2a0819b 100644
--- a/bfd/elf32-metag.c
+++ b/bfd/elf32-metag.c
@@ -2131,14 +2131,25 @@ elf_metag_check_relocs (bfd *abfd,
     {
       int r_type;
       struct elf_metag_link_hash_entry *hh;
+      Elf_Internal_Sym *isym;
       unsigned long r_symndx;
 
       r_symndx = ELF32_R_SYM (rel->r_info);
       r_type = ELF32_R_TYPE (rel->r_info);
       if (r_symndx < symtab_hdr->sh_info)
-	hh = NULL;
+	{
+	  /* A local symbol.  */
+	  isym = bfd_sym_from_r_symndx (&htab->sym_cache,
+					abfd, r_symndx);
+	  if (isym == NULL)
+	    return FALSE;
+
+	  hh = NULL;
+	}
       else
 	{
+	  isym = NULL;
+
 	  hh = (struct elf_metag_link_hash_entry *)
 	    eh_syms[r_symndx - symtab_hdr->sh_info];
 	  while (hh->eh.root.type == bfd_link_hash_indirect
@@ -2262,9 +2273,31 @@ elf_metag_check_relocs (bfd *abfd,
 	  hh->eh.plt.refcount += 1;
 	  break;
 
-	case R_METAG_ADDR32:
 	case R_METAG_HIADDR16:
 	case R_METAG_LOADDR16:
+	  /* Let's help debug shared library creation.  These relocs
+	     cannot be used in shared libs.  Don't error out for
+	     sections we don't care about, such as debug sections or
+	     non-constant sections.  */
+	  if (info->shared
+	      && (sec->flags & SEC_ALLOC) != 0
+	      && (sec->flags & SEC_READONLY) != 0)
+	    {
+	      const char *name;
+
+	      if (hh)
+		name = hh->eh.root.root.string;
+	      else
+		name = bfd_elf_sym_name (abfd, symtab_hdr, isym, NULL);
+	      (*_bfd_error_handler)
+		(_("%B: relocation %s against `%s' can not be used when making a shared object; recompile with -fPIC"),
+		 abfd, elf_metag_howto_table[r_type].name, name);
+	      bfd_set_error (bfd_error_bad_value);
+	      return FALSE;
+	    }
+
+	  /* Fall through.  */
+	case R_METAG_ADDR32:
 	case R_METAG_RELBRANCH:
 	case R_METAG_GETSETOFF:
 	  if (hh != NULL && !info->shared)
@@ -2337,12 +2370,6 @@ elf_metag_check_relocs (bfd *abfd,
 		  /* Track dynamic relocs needed for local syms too.  */
 		  asection *sr;
 		  void *vpp;
-		  Elf_Internal_Sym *isym;
-
-		  isym = bfd_sym_from_r_symndx (&htab->sym_cache,
-						abfd, r_symndx);
-		  if (isym == NULL)
-		    return FALSE;
 
 		  sr = bfd_section_from_elf_index (abfd, isym->st_shndx);
 		  if (sr == NULL)
diff --git a/bfd/elf32-v850.c b/bfd/elf32-v850.c
index 3e24dca..4590c61 100644
--- a/bfd/elf32-v850.c
+++ b/bfd/elf32-v850.c
@@ -1,7 +1,5 @@
 /* V850-specific support for 32-bit ELF
-   Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
-   2006, 2007, 2008, 2009, 2010, 2011, 2012
-   Free Software Foundation, Inc.
+   Copyright 1996-2013 Free Software Foundation, Inc.
 
    This file is part of BFD, the Binary File Descriptor library.
 
@@ -2340,7 +2338,8 @@ v850_elf_object_p (bfd *abfd)
     {
     case EM_V800:
       arch = bfd_arch_v850_rh850;
-      mach = bfd_mach_v850e2v3;
+      mach = (elf_elfheader (abfd)->e_flags & EF_V800_850E3)
+	? bfd_mach_v850e3v5 : bfd_mach_v850e2v3;
       break;
 
     case EM_CYGNUS_V850:
@@ -2354,6 +2353,7 @@ v850_elf_object_p (bfd *abfd)
 	case E_V850E1_ARCH:   mach = bfd_mach_v850e1; break;
 	case E_V850E2_ARCH:   mach = bfd_mach_v850e2; break;
 	case E_V850E2V3_ARCH: mach = bfd_mach_v850e2v3; break;
+	case E_V850E3V5_ARCH: mach = bfd_mach_v850e3v5; break;
 	}
       break;
 
@@ -2376,6 +2376,8 @@ v850_elf_final_write_processing (bfd *abfd,
     {
     case bfd_arch_v850_rh850:
       val = EF_RH850_ABI;
+      if (bfd_get_mach (abfd) == bfd_mach_v850e3v5)
+	val |= EF_V800_850E3;
       elf_elfheader (abfd)->e_flags |= val;
       break;
 
@@ -2388,6 +2390,7 @@ v850_elf_final_write_processing (bfd *abfd,
 	case bfd_mach_v850e1:   val = E_V850E1_ARCH; break;
 	case bfd_mach_v850e2:   val = E_V850E2_ARCH; break;
 	case bfd_mach_v850e2v3: val = E_V850E2V3_ARCH; break;
+	case bfd_mach_v850e3v5: val = E_V850E3V5_ARCH; break;
 	}
       elf_elfheader (abfd)->e_flags &=~ EF_V850_ARCH;
       elf_elfheader (abfd)->e_flags |= val;
@@ -2507,6 +2510,17 @@ v850_elf_merge_private_bfd_data (bfd *ibfd, bfd *obfd)
 	  return TRUE;
 	}
 
+      if ((   (in_flags & EF_V850_ARCH) == E_V850_ARCH
+	   || (in_flags & EF_V850_ARCH) == E_V850E_ARCH
+	   || (in_flags & EF_V850_ARCH) == E_V850E2_ARCH
+           || (in_flags & EF_V850_ARCH) == E_V850E2V3_ARCH)
+	  && (out_flags & EF_V850_ARCH) == E_V850E3V5_ARCH)
+	{
+	  elf_elfheader (obfd)->e_flags =
+	    ((out_flags & ~ EF_V850_ARCH) | E_V850E3V5_ARCH);
+	  return TRUE;
+	}
+
       _bfd_error_handler (_("%B: Architecture mismatch with previous modules"),
 			  ibfd);
     }
@@ -2550,6 +2564,7 @@ v850_elf_print_private_bfd_data (bfd *abfd, void * ptr)
 	case E_V850E1_ARCH: fprintf (file, _("v850e1 architecture")); break;
 	case E_V850E2_ARCH: fprintf (file, _("v850e2 architecture")); break;
 	case E_V850E2V3_ARCH: fprintf (file, _("v850e2v3 architecture")); break;
+	case E_V850E3V5_ARCH: fprintf (file, _("v850e3v5 architecture")); break;
 	}
     }
 
diff --git a/bfd/version.h b/bfd/version.h
index 1a9cdb8..e89d2fb 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20130121
+#define BFD_VERSION_DATE 20130125
 #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 6ef74bc..596b5a0 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,123 @@
+2013-01-25  Maxim Kuvyrkov  <maxim@kugelworks.com>
+
+	* MAINTAINERS: Update my email.
+
+2013-01-25  Yao Qi  <yao@codesourcery.com>
+
+	* main.c (print_gdb_help): Remove "--epoch" from the help
+	message.
+
+2013-01-24  Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* symtab.c (skip_prologue_using_sal): Consider a file
+	change the same as an increased line number
+
+2013-01-24  Tiago Stürmer Daitx  <tdaitx@linux.vnet.ibm.com>
+
+	* MAINTAINERS (Write After Approval): Add myself to the list. 
+
+2013-01-24  Tom Tromey  <tromey@redhat.com>
+
+	* ada-lang.h (ada_decode_symbol): Make return type const.
+	* ada-lang.c (ada_decode_symbol): Likewise.
+
+2013-01-23  Doug Evans  <dje@google.com>
+
+	* linespec.c (find_linespec_symbols): Make static.
+
+2013-01-23  Tiago Stürmer Daitx  <tdaitx@linux.vnet.ibm.com>
+
+	* ppc-sysv-tdep.c (ppc64_sysv_abi_return_value): Set correct
+	type on float conversion for complex type.
+
+2013-01-23  Siva Chandra Reddy  <sivachandra@google.com>
+
+	Add a new class gdb.Architecture which exposes GDB's
+	internal representation of architecture via GDB Python API.
+	* Makefile.in: Add entries corresponding to the new file
+	python/py-arch.c.
+	* NEWS (Python Scripting): Add entries for the new class
+	gdb.Architecture and the new method gdb.Frame.architecture.
+	* python/py-arch.c: Implement gdb.Architecture class.
+	* python/py-frame.c (frapy_arch): Implement the method
+	gdb.Frame.architecture().
+	(frame_object_methods): Add 'architecture' to the method table.
+	* python/python-internal.h: Add declarations of new utility
+	functions.
+	* python/python.c (_initialize_python): Initialize
+	gdb.Architecture class.
+
+2013-01-23  Doug Evans  <dje@google.com>
+
+	Work around binutils/15021.
+	* dwarf2read.c (dwarf2_per_cu_data): Split imported_symtabs and
+	type_unit_group out of union s.  All uses updated.
+	(read_index_from_section): Watch for index version 8.
+	(follow_die_sig): If using .gdb_index version <= 7, record the TU as
+	an imported symtab.
+	(write_psymtabs_to_index): Increment version number to 8.
+
+2013-01-22  Pedro Alves  <palves@redhat.com>
+
+	* annotate.c (breakpoint_changed): Skip if breakpoint is not
+	user-visible.
+
+2013-01-22  Pedro Alves  <palves@redhat.com>
+
+	* annotate.c (annotate_breakpoints_changed): Rename to ...
+	(annotate_breakpoints_invalid): ... this.  Make static.
+	(breakpoint_changed): Adjust.
+	(_initialize_annotate): Always install the observers.  Install a
+	"breakpoint_created" observer.
+	* annotate.h (annotate_breakpoints_changed): Delete declaration.
+	* breakpoint.c (set_breakpoint_condition)
+	(breakpoint_set_commands, do_map_commands_command)
+	(init_raw_breakpoint, clear_command, set_ignore_count)
+	(enable_breakpoint_disp): No longer call
+	annotate_breakpoints_changed.
+
+2013-01-22  Pedro Alves  <palves@redhat.com>
+
+	* annotate.c: Include "inferior.h".
+	(frames_invalid_emitted)
+	(breakpoints_invalid_emitted): New globals.
+	(async_background_execution_p): New function.
+	(annotate_breakpoints_changed, annotate_frames_invalid): Skip
+	emitting the annotation if it has already been emitted.
+	(annotate_display_prompt): New function.
+	* annotate.h (annotate_display_prompt): New declaration.
+	* event-top.c: Include annotate.h.
+	(display_gdb_prompt): Call annotate_display_prompt.
+
+2013-01-22  Pedro Alves  <palves@redhat.com>
+
+	* annotate.c (ignore_count_changed): Delete.
+	(annotate_breakpoints_changed): Don't clear ignore_count_changed.
+	(annotate_ignore_count_change): Delete.
+	(annotate_stopped): Don't emit a delayed breakpoints-changed
+	annotation.
+	* annotate.h (annotate_ignore_count_change): Delete.
+	* breakpoint.c (bpstat_check_breakpoint_conditions): Don't call
+	annotate_ignore_count_change.
+
+2013-01-22  Tom Tromey  <tromey@redhat.com>
+
+	* dwarf2loc.c (dwarf2_compile_expr_to_ax) <DW_OP_fbreg>: Only
+	require_rvalue for a register location.
+
+2013-01-21  Marc Khouzam  <marc.khouzam@ericsson.com>
+
+	* breakpoint.c (print_one_breakpoint_location): Add MI
+	field 'thread-groups' when printing a breakpoint.
+	(output_thread_groups): New function.
+
+2013-01-21  Siva Chandra Reddy  <sivachandra@google.com>
+
+	* python/lib/gdb/commands/explore.py
+	(CompoundExplorer.explore_expr): Correct the name of a method
+	being invoked.
+	(ExploreTypeCommand.invoke): Add a missing 'return'.
+
 2013-01-21  Tom Tromey  <tromey@redhat.com>
 
 	* gdb_obstack.h (obconcat): Move declaration here, from...
diff --git a/gdb/MAINTAINERS b/gdb/MAINTAINERS
index 16ae0ea..94cadef 100644
--- a/gdb/MAINTAINERS
+++ b/gdb/MAINTAINERS
@@ -488,6 +488,7 @@ Nick Clifton					nickc@redhat.com
 J.T. Conklin					jtc@acorntoolworks.com
 Brendan Conoboy					blc@redhat.com
 Ludovic Courtès					ludo@gnu.org
+Tiago Stürmer Daitx				tdaitx@linux.vnet.ibm.com
 Sanjoy Das					sanjoy@playingwithpointers.com
 Jean-Charles Delay				delay@adacore.com
 DJ Delorie					dj@redhat.com
@@ -543,7 +544,7 @@ Marc Khouzam					marc.khouzam@ericsson.com
 Jim Kingdon					kingdon@panix.com
 Paul Koning					paul_koning@dell.com
 Jan Kratochvil					jan.kratochvil@redhat.com
-Maxim Kuvyrkov					maxim.kuvyrkov@gmail.com
+Maxim Kuvyrkov					maxim@kugelworks.com
 Jonathan Larmour				jifl@ecoscentric.com
 Jeff Law					law@redhat.com
 Justin Lebar					justin.lebar@gmail.com
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 6746e64..68d545e 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -271,6 +271,7 @@ SUBDIR_TUI_CFLAGS= \
 #
 SUBDIR_PYTHON_OBS = \
 	python.o \
+	py-arch.o \
 	py-auto-load.o \
 	py-block.o \
 	py-bpevent.o \
@@ -304,6 +305,7 @@ SUBDIR_PYTHON_OBS = \
 
 SUBDIR_PYTHON_SRCS = \
 	python/python.c \
+	python/py-arch.c \
 	python/py-auto-load.c \
 	python/py-block.c \
 	python/py-bpevent.c \
@@ -2047,6 +2049,10 @@ python.o: $(srcdir)/python/python.c
 	$(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/python.c
 	$(POSTCOMPILE)
 
+py-arch.o: $(srcdir)/python/py-arch.c
+	$(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-arch.c
+	$(POSTCOMPILE)
+
 py-auto-load.o: $(srcdir)/python/py-auto-load.c
 	$(COMPILE) $(PYTHON_CFLAGS) $(srcdir)/python/py-auto-load.c
 	$(POSTCOMPILE)
diff --git a/gdb/NEWS b/gdb/NEWS
index ca5f66f..dd4c40a 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -39,6 +39,12 @@ Lynx 178 PowerPC		powerpc-*-lynx*178
 
   ** Python 3 is now supported (in addition to Python 2.4 or later)
 
+  ** New class gdb.Architecture exposes GDB's internal representation
+     of architecture in the Python API.
+
+  ** New method Frame.architecture returns the gdb.Architecture object
+     corresponding to the frame's architecture.
+
 * New Python-based convenience functions:
 
   ** $_memeq(buf1, buf2, length)
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index 45140e6..cc29635 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -1296,11 +1296,11 @@ static struct htab *decoded_names_store;
    const, but nevertheless modified to a semantically equivalent form
    when a decoded name is cached in it.  */
 
-char *
+const char *
 ada_decode_symbol (const struct general_symbol_info *gsymbol)
 {
-  char **resultp =
-    (char **) &gsymbol->language_specific.mangled_lang.demangled_name;
+  const char **resultp =
+    (const char **) &gsymbol->language_specific.mangled_lang.demangled_name;
 
   if (*resultp == NULL)
     {
diff --git a/gdb/ada-lang.h b/gdb/ada-lang.h
index 509a229..418f8da 100644
--- a/gdb/ada-lang.h
+++ b/gdb/ada-lang.h
@@ -219,7 +219,7 @@ extern struct value *ada_get_decoded_value (struct value *value);
 
 extern struct type *ada_get_decoded_type (struct type *type);
 
-extern char *ada_decode_symbol (const struct general_symbol_info*);
+extern const char *ada_decode_symbol (const struct general_symbol_info *);


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] 5+ messages in thread
* [SCM]  archer-jankratochvil-absdir: Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel
@ 2013-01-25 18:06 jkratoch
  0 siblings, 0 replies; 5+ messages in thread
From: jkratoch @ 2013-01-25 18:06 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-absdir has been updated
       via  66404891ed57a7c2c143184abb8857dd49d8700a (commit)
       via  33a1bcf0d1496b659a56b2e5333e6b73091408d1 (commit)
       via  04177ea379a2c3ec48a0d726ed65944c52ab8163 (commit)
       via  9b37dd402a7348cf7f705b3c3759e5df8e707a42 (commit)
       via  e427139516bae26159bce2017eb34ed541f61e85 (commit)
       via  20635587dc58cfe9dfa0c83b34a4c92f34749aeb (commit)
       via  9647d22489286afd6fa0b38c9a9a76acc1d25c5d (commit)
       via  ba06d0ffb54e337e47f46ff6774dadeb1112ccb1 (commit)
       via  e803707997cc6f1bb87f251efc22eb19eb61a46b (commit)
       via  d39625f6e5b44fa87c2d0919bca43a0f8bbee170 (commit)
       via  76d10fd5c5599f6f31199c8fa908fe41ac32d9e9 (commit)
       via  8463bd8ec9236783c2d64ff13830a4844d9f9be3 (commit)
       via  bcfeeca6a6fdebb89d47f332f7f4db1cb25763c9 (commit)
       via  58a49b4e8a6fa7915b3f394ea4c20257d9bf9937 (commit)
       via  50ebe2328e7447a9a7eaf0333c89774027967ab1 (commit)
       via  86e893c7ddf69e484a63cdcf9495ad063c2a0f54 (commit)
       via  2d5311f5c73da623a2c9c24da2516fb28ba1bd45 (commit)
       via  5c3b9d458f3751b0139644dafcdf46bdc41d8292 (commit)
       via  b04ec52e0436ba30d2caaf80cba9f03536faa880 (commit)
       via  1c9d4709ba96a66a6ae9af5b4828d2b51d732580 (commit)
       via  b6c63ac19ae0ad4f83218d862d77a6c701109e8d (commit)
       via  079e9efdbb3d2ef592bc5daa1e4c1a0b04a16a8d (commit)
       via  1693afc3efbcf376b866d2db8f83923a180e0dea (commit)
       via  ede33d50ecd9a4ba3f9a2e9b8f26adc42e31f0d1 (commit)
       via  db6f136ef9c6dba7ce143046f7918719a6d70085 (commit)
       via  fb5e48c5990d7d6ef7e9921a075df50ad21950a5 (commit)
       via  d56b2cf44bd855912cda7020ed442b6b8cbf1116 (commit)
       via  b4a6dc73b967a147cdb7eafe9dd24f94c4d0fda8 (commit)
       via  3a4a143f453a0ef692e6fa60747c8dc973a42f37 (commit)
      from  792e21ccc3eed823bd1fb3e93201b1348236b4c7 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 66404891ed57a7c2c143184abb8857dd49d8700a
Merge: bcfeeca 33a1bcf
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 19:05:58 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit 33a1bcf0d1496b659a56b2e5333e6b73091408d1
Merge: 8463bd8 04177ea
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 19:05:58 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal

commit 04177ea379a2c3ec48a0d726ed65944c52ab8163
Merge: 58a49b4 9b37dd4
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 19:05:58 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab

commit 9b37dd402a7348cf7f705b3c3759e5df8e707a42
Merge: 86e893c e427139
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 19:05:58 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui

commit e427139516bae26159bce2017eb34ed541f61e85
Merge: 2d5311f 2063558
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 19:05:57 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2

commit 20635587dc58cfe9dfa0c83b34a4c92f34749aeb
Merge: 5c3b9d4 9647d22
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 19:05:57 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config

commit 9647d22489286afd6fa0b38c9a9a76acc1d25c5d
Merge: b04ec52 ba06d0f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 19:05:57 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname

commit ba06d0ffb54e337e47f46ff6774dadeb1112ccb1
Merge: 1c9d470 e803707
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 19:05:57 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs' into xfullpath-locsymtab-isabs-expandfullname

commit e803707997cc6f1bb87f251efc22eb19eb61a46b
Merge: b6c63ac d39625f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 19:05:56 2013 +0100

    Merge branch 'xfullpath-locsymtab' into xfullpath-locsymtab-isabs

commit d39625f6e5b44fa87c2d0919bca43a0f8bbee170
Merge: 079e9ef 76d10fd
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 19:05:56 2013 +0100

    Merge branch 'xfullpath' into xfullpath-locsymtab

commit 76d10fd5c5599f6f31199c8fa908fe41ac32d9e9
Merge: db6f136 fb5e48c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 19:05:56 2013 +0100

    Merge remote-tracking branch 'gdb/master' into xfullpath

commit 8463bd8ec9236783c2d64ff13830a4844d9f9be3
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 19:03:20 2013 +0100

    .

commit bcfeeca6a6fdebb89d47f332f7f4db1cb25763c9
Merge: 792e21c 50ebe23
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 18:51:58 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit 58a49b4e8a6fa7915b3f394ea4c20257d9bf9937
Merge: a56cb09 86e893c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 18:51:58 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab

commit 50ebe2328e7447a9a7eaf0333c89774027967ab1
Merge: ede33d5 58a49b4
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 18:51:58 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal

commit 86e893c7ddf69e484a63cdcf9495ad063c2a0f54
Merge: 0c95a7a 2d5311f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 18:51:57 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui

commit 2d5311f5c73da623a2c9c24da2516fb28ba1bd45
Merge: 1693afc 5c3b9d4
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 18:51:57 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2

commit 5c3b9d458f3751b0139644dafcdf46bdc41d8292
Merge: f6fc7d5 b04ec52
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 18:51:57 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config

commit b04ec52e0436ba30d2caaf80cba9f03536faa880
Merge: 3067c9d 1c9d470
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 18:51:57 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname

commit 1c9d4709ba96a66a6ae9af5b4828d2b51d732580
Merge: 038a517 b6c63ac
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 18:51:56 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs' into xfullpath-locsymtab-isabs-expandfullname

commit b6c63ac19ae0ad4f83218d862d77a6c701109e8d
Merge: 29f9a2b 079e9ef
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 18:51:56 2013 +0100

    Merge branch 'xfullpath-locsymtab' into xfullpath-locsymtab-isabs

commit 079e9efdbb3d2ef592bc5daa1e4c1a0b04a16a8d
Merge: 3791216 db6f136
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 18:51:56 2013 +0100

    Merge branch 'xfullpath' into xfullpath-locsymtab

commit 1693afc3efbcf376b866d2db8f83923a180e0dea
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 18:51:50 2013 +0100

    .

commit ede33d50ecd9a4ba3f9a2e9b8f26adc42e31f0d1
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 18:51:42 2013 +0100

    .

commit db6f136ef9c6dba7ce143046f7918719a6d70085
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 18:11:23 2013 +0100

    .

commit fb5e48c5990d7d6ef7e9921a075df50ad21950a5
Author: Nick Clifton <nickc@redhat.com>
Date:   Fri Jan 25 14:22:07 2013 +0000

    	* elf32-h8300.c (elf32_h8_relax_section): When checking for a
    	second reloc, make sure that the reloc potentially exists first.

commit d56b2cf44bd855912cda7020ed442b6b8cbf1116
Author: qiyao <qiyao>
Date:   Fri Jan 25 14:16:57 2013 +0000

    gdb/
    	* event-loop.c: Include "queue.h".
    	(gdb_event_p): New typedef.
    	(DECLARE_QUEUE_P): Use.
    	(DEFINE_QUEUE_P): Use.
    	(async_queue_event): Remove.
    	(gdb_event_xfree): New.
    	(initialize_event_loop): New.
    	(process_event): Use QUEUE macros.
    	(event_queue): Remove.
    	(gdb_wait_for_event): Caller update.
    	(check_async_event_handlers): Likewise.
    	(poll_timers): Likewise.
    	* event-loop.h (initialize_event_loop): Declare.
    	* event-loop.c (gdb_event_xfree): New.
    	* top.c (gdb_init): Call initialize_event_loop.

commit b4a6dc73b967a147cdb7eafe9dd24f94c4d0fda8
Author: qiyao <qiyao>
Date:   Fri Jan 25 14:14:12 2013 +0000

    gdb/
    	* event-loop.c (async_queue_event): Remove one parameter
    	'position'.  Remove code handling 'position' == TAIL.
    	(gdb_wait_for_event): Caller update.
    	(check_async_event_handlers): Caller update.
    	(poll_timers): Caller update.
    	* event-loop.h (enum queue_position): Remove.

commit 3a4a143f453a0ef692e6fa60747c8dc973a42f37
Author: qiyao <qiyao>
Date:   Fri Jan 25 14:12:02 2013 +0000

    gdb/gdbserver
    	* event-loop.c: Include "queue.h".
    	(gdb_event_p): New typedef.
    	(struct gdb_event) <next_event>: Remove.
    	(event_queue): Change to QUEUE(gdb_event_p).
    	(async_queue_event): Remove.
    	(gdb_event_xfree): New.
    	(initialize_event_loop): New.
    	(process_event): Use API from QUEUE.
    	(wait_for_event): Likewise.
    	* server.c (main): Call initialize_event_loop.
    	* server.h (initialize_event_loop): Declare.

-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog                              |    5 +
 bfd/elf32-h8300.c                          |    2 +-
 gdb/ChangeLog                              |   27 ++++++
 gdb/dwarf2read.c                           |   15 ++-
 gdb/event-loop.c                           |  135 ++++++++--------------------
 gdb/event-loop.h                           |   13 +---
 gdb/gdbserver/ChangeLog                    |   14 +++
 gdb/gdbserver/event-loop.c                 |  110 ++++++-----------------
 gdb/gdbserver/server.c                     |    1 +
 gdb/gdbserver/server.h                     |    1 +
 gdb/symtab.c                               |   16 +++-
 gdb/testsuite/gdb.base/realname-expand.exp |    6 ++
 gdb/top.c                                  |    1 +
 13 files changed, 146 insertions(+), 200 deletions(-)

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 6dfcb64..e36a37c 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,8 @@
+2013-01-25  Michael Schewe  <michael.schewe@gmx.net>
+
+	* elf32-h8300.c (elf32_h8_relax_section): When checking for a
+	second reloc, make sure that the reloc potentially exists first.
+
 2013-01-24  Nick Clifton  <nickc@redhat.com>
 
 	* archures.c: Add bfd_mach_v850e3v5.
diff --git a/bfd/elf32-h8300.c b/bfd/elf32-h8300.c
index 388d220..43ac16e 100644
--- a/bfd/elf32-h8300.c
+++ b/bfd/elf32-h8300.c
@@ -1239,7 +1239,7 @@ elf32_h8_relax_section (bfd *abfd, asection *sec,
 			    second_reloc = 1;
 			  }
 		      }
-		    if (irel < irelend)
+		    if (irel + 1 < irelend)
 		      {
 			Elf_Internal_Rela *next_reloc = irel + 1;
 			arelent bfd_reloc;
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 596b5a0..23f6f07 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,30 @@
+2013-01-25  Yao Qi  <yao@codesourcery.com>
+
+	* event-loop.c: Include "queue.h".
+	(gdb_event_p): New typedef.
+	(DECLARE_QUEUE_P): Use.
+	(DEFINE_QUEUE_P): Use.
+	(async_queue_event): Remove.
+	(gdb_event_xfree): New.
+	(initialize_event_loop): New.
+	(process_event): Use QUEUE macros.
+	(event_queue): Remove.
+	(gdb_wait_for_event): Caller update.
+	(check_async_event_handlers): Likewise.
+	(poll_timers): Likewise.
+	* event-loop.h (initialize_event_loop): Declare.
+	* event-loop.c (gdb_event_xfree): New.
+	* top.c (gdb_init): Call initialize_event_loop.
+
+2013-01-25  Yao Qi  <yao@codesourcery.com>
+
+	* event-loop.c (async_queue_event): Remove one parameter
+	'position'.  Remove code handling 'position' == TAIL.
+	(gdb_wait_for_event): Caller update.
+	(check_async_event_handlers): Caller update.
+	(poll_timers): Caller update.
+	* event-loop.h (enum queue_position): Remove.
+
 2013-01-25  Maxim Kuvyrkov  <maxim@kugelworks.com>
 
 	* MAINTAINERS: Update my email.
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index fc7d2a1..1957f9d 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -3072,11 +3072,11 @@ dw2_map_symtabs_matching_filename (struct objfile *objfile, const char *name,
       for (j = 0; j < file_data->num_file_names; ++j)
 	{
 	  const char *this_name = file_data->file_names[j];
+	  const char *this_real_name;
 
 	  if (compare_filenames_for_search (this_name, name))
 	    {
-	      if (dw2_map_expand_apply (objfile, per_cu,
-					name, real_path,
+	      if (dw2_map_expand_apply (objfile, per_cu, name, real_path,
 					callback, data))
 		return 1;
 	    }
@@ -3087,11 +3087,16 @@ dw2_map_symtabs_matching_filename (struct objfile *objfile, const char *name,
 	      && FILENAME_CMP (lbasename (this_name), name_basename) != 0)
 	    continue;
 
-	  if (real_path != NULL)
+	  this_real_name = dw2_get_real_path (objfile, file_data, j);
+	  if (compare_filenames_for_search (this_real_name, name))
 	    {
-	      const char *this_real_name = dw2_get_real_path (objfile,
-							      file_data, j);
+	      if (dw2_map_expand_apply (objfile, per_cu, name, real_path,
+					callback, data))
+		return 1;
+	    }
 
+	  if (real_path != NULL)
+	    {
 	      gdb_assert (IS_ABSOLUTE_PATH (real_path));
 	      gdb_assert (IS_ABSOLUTE_PATH (name));
 	      if (this_real_name != NULL
diff --git a/gdb/event-loop.c b/gdb/event-loop.c
index be485c9..f34f153 100644
--- a/gdb/event-loop.c
+++ b/gdb/event-loop.c
@@ -20,6 +20,7 @@
 #include "defs.h"
 #include "event-loop.h"
 #include "event-top.h"
+#include "queue.h"
 
 #ifdef HAVE_POLL
 #if defined (HAVE_POLL_H)
@@ -68,17 +69,14 @@ typedef void (event_handler_func) (event_data);
    case of async signal handlers, it is
    invoke_async_signal_handler.  */
 
-struct gdb_event
+typedef struct gdb_event
   {
     /* Procedure to call to service this event.  */
     event_handler_func *proc;
 
     /* Data to pass to the event handler.  */
     event_data data;
-
-    /* Next in list of events or NULL.  */
-    struct gdb_event *next_event;
-  };
+  } *gdb_event_p;
 
 /* Information about each file descriptor we register with the event
    loop.  */
@@ -140,26 +138,9 @@ typedef struct async_event_handler
   }
 async_event_handler;
 
-
-/* Event queue:  
-   - the first event in the queue is the head of the queue.
-   It will be the next to be serviced.
-   - the last event in the queue 
-
-   Events can be inserted at the front of the queue or at the end of
-   the queue.  Events will be extracted from the queue for processing
-   starting from the head.  Therefore, events inserted at the head of
-   the queue will be processed in a last in first out fashion, while
-   those inserted at the tail of the queue will be processed in a first
-   in first out manner.  All the fields are NULL if the queue is
-   empty.  */
-
-static struct
-  {
-    gdb_event *first_event;	/* First pending event.  */
-    gdb_event *last_event;	/* Last pending event.  */
-  }
-event_queue;
+DECLARE_QUEUE_P(gdb_event_p);
+DEFINE_QUEUE_P(gdb_event_p);
+static QUEUE(gdb_event_p) *event_queue = NULL;
 
 /* Gdb_notifier is just a list of file descriptors gdb is interested in.
    These are the input file descriptor, and the target file
@@ -274,41 +255,6 @@ static int gdb_wait_for_event (int);
 static void poll_timers (void);
 \f
 
-/* Insert an event object into the gdb event queue at 
-   the specified position.
-   POSITION can be head or tail, with values TAIL, HEAD.
-   EVENT_PTR points to the event to be inserted into the queue.
-   The caller must allocate memory for the event.  It is freed
-   after the event has ben handled.
-   Events in the queue will be processed head to tail, therefore,
-   events inserted at the head of the queue will be processed
-   as last in first out.  Event appended at the tail of the queue
-   will be processed first in first out.  */
-static void
-async_queue_event (gdb_event * event_ptr, queue_position position)
-{
-  if (position == TAIL)
-    {
-      /* The event will become the new last_event.  */
-
-      event_ptr->next_event = NULL;
-      if (event_queue.first_event == NULL)
-	event_queue.first_event = event_ptr;
-      else
-	event_queue.last_event->next_event = event_ptr;
-      event_queue.last_event = event_ptr;
-    }
-  else if (position == HEAD)
-    {
-      /* The event becomes the new first_event.  */
-
-      event_ptr->next_event = event_queue.first_event;
-      if (event_queue.first_event == NULL)
-	event_queue.last_event = event_ptr;
-      event_queue.first_event = event_ptr;
-    }
-}
-
 /* Create a generic event, to be enqueued in the event queue for
    processing.  PROC is the procedure associated to the event.  DATA
    is passed to PROC upon PROC invocation.  */
@@ -338,6 +284,23 @@ create_file_event (int fd)
   return create_event (handle_file_event, data);
 }
 
+
+/* Free EVENT.  */
+
+static void
+gdb_event_xfree (struct gdb_event *event)
+{
+  xfree (event);
+}
+
+/* Initialize the event queue.  */
+
+void
+initialize_event_loop (void)
+{
+  event_queue = QUEUE_alloc (gdb_event_p, gdb_event_xfree);
+}
+
 /* Process one event.
    The event can be the next one to be serviced in the event queue,
    or an asynchronous event handler can be invoked in response to
@@ -350,10 +313,6 @@ create_file_event (int fd)
 static int
 process_event (void)
 {
-  gdb_event *event_ptr, *prev_ptr;
-  event_handler_func *proc;
-  event_data data;
-
   /* First let's see if there are any asynchronous event handlers that
      are ready.  These would be the result of invoking any of the
      signal handlers.  */
@@ -364,38 +323,20 @@ process_event (void)
   /* Look in the event queue to find an event that is ready
      to be processed.  */
 
-  for (event_ptr = event_queue.first_event; event_ptr != NULL;
-       event_ptr = event_ptr->next_event)
+  if (!QUEUE_is_empty (gdb_event_p, event_queue))
     {
-      /* Call the handler for the event.  */
-
-      proc = event_ptr->proc;
-      data = event_ptr->data;
-
       /* Let's get rid of the event from the event queue.  We need to
-         do this now because while processing the event, the proc
-         function could end up calling 'error' and therefore jump out
-         to the caller of this function, gdb_do_one_event.  In that
-         case, we would have on the event queue an event wich has been
-         processed, but not deleted.  */
-
-      if (event_queue.first_event == event_ptr)
-	{
-	  event_queue.first_event = event_ptr->next_event;
-	  if (event_ptr->next_event == NULL)
-	    event_queue.last_event = NULL;
-	}
-      else
-	{
-	  prev_ptr = event_queue.first_event;
-	  while (prev_ptr->next_event != event_ptr)
-	    prev_ptr = prev_ptr->next_event;
+	 do this now because while processing the event, the proc
+	 function could end up calling 'error' and therefore jump out
+	 to the caller of this function, gdb_do_one_event.  In that
+	 case, we would have on the event queue an event wich has been
+	 processed, but not deleted.  */
+      gdb_event *event_ptr = QUEUE_deque (gdb_event_p, event_queue);
+      /* Call the handler for the event.  */
+      event_handler_func *proc = event_ptr->proc;
+      event_data data = event_ptr->data;
 
-	  prev_ptr->next_event = event_ptr->next_event;
-	  if (event_ptr->next_event == NULL)
-	    event_queue.last_event = prev_ptr;
-	}
-      xfree (event_ptr);
+      gdb_event_xfree (event_ptr);
 
       /* Now call the procedure associated with the event.  */
       (*proc) (data);
@@ -936,7 +877,7 @@ gdb_wait_for_event (int block)
 	      if (file_ptr->ready_mask == 0)
 		{
 		  file_event_ptr = create_file_event (file_ptr->fd);
-		  async_queue_event (file_event_ptr, TAIL);
+		  QUEUE_enque (gdb_event_p, event_queue, file_event_ptr);
 		}
 	      file_ptr->ready_mask = (gdb_notifier.poll_fds + i)->revents;
 	    }
@@ -972,7 +913,7 @@ gdb_wait_for_event (int block)
 	  if (file_ptr->ready_mask == 0)
 	    {
 	      file_event_ptr = create_file_event (file_ptr->fd);
-	      async_queue_event (file_event_ptr, TAIL);
+	      QUEUE_enque (gdb_event_p, event_queue, file_event_ptr);
 	    }
 	  file_ptr->ready_mask = mask;
 	}
@@ -1158,7 +1099,7 @@ check_async_event_handlers (void)
 	  data.ptr = hdata;
 
 	  event_ptr = create_event (invoke_async_event_handler, data);
-	  async_queue_event (event_ptr, TAIL);
+	  QUEUE_enque (gdb_event_p, event_queue, event_ptr);
 	}
     }
 }
@@ -1365,7 +1306,7 @@ poll_timers (void)
 	  event_ptr = (gdb_event *) xmalloc (sizeof (gdb_event));
 	  event_ptr->proc = handle_timer_event;
 	  event_ptr->data.integer = timer_list.first_timer->timer_id;
-	  async_queue_event (event_ptr, TAIL);
+	  QUEUE_enque (gdb_event_p, event_queue, event_ptr);
 	}
 
       /* Now we need to update the timeout for select/ poll, because
diff --git a/gdb/event-loop.h b/gdb/event-loop.h
index 16c2286..e994fc1 100644
--- a/gdb/event-loop.h
+++ b/gdb/event-loop.h
@@ -75,20 +75,9 @@ typedef void (sig_handler_func) (gdb_client_data);
 typedef void (async_event_handler_func) (gdb_client_data);
 typedef void (timer_handler_func) (gdb_client_data);
 
-/* Where to add an event onto the event queue, by queue_event.  */
-typedef enum
-  {
-    /* Add at tail of queue.  It will be processed in first in first
-       out order.  */
-    TAIL,
-    /* Add at head of queue.  It will be processed in last in first
-       out order.  */
-    HEAD
-  }
-queue_position;
-
 /* Exported functions from event-loop.c */
 
+extern void initialize_event_loop (void);
 extern void start_event_loop (void);
 extern int gdb_do_one_event (void);
 extern void delete_file_handler (int fd);
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 5b41f7a..a9ef720 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,17 @@
+2013-01-25  Yao Qi  <yao@codesourcery.com>
+
+	* event-loop.c: Include "queue.h".
+	(gdb_event_p): New typedef.
+	(struct gdb_event) <next_event>: Remove.
+	(event_queue): Change to QUEUE(gdb_event_p).
+	(async_queue_event): Remove.
+	(gdb_event_xfree): New.
+	(initialize_event_loop): New.
+	(process_event): Use API from QUEUE.
+	(wait_for_event): Likewise.
+	* server.c (main): Call initialize_event_loop.
+	* server.h (initialize_event_loop): Declare.
+
 2013-01-18  Yao Qi  <yao@codesourcery.com>
 
 	* ax.h (struct eval_agent_expr_context): New.
diff --git a/gdb/gdbserver/event-loop.c b/gdb/gdbserver/event-loop.c
index 87487e0..9e172a9 100644
--- a/gdb/gdbserver/event-loop.c
+++ b/gdb/gdbserver/event-loop.c
@@ -19,6 +19,7 @@
 /* Based on src/gdb/event-loop.c.  */
 
 #include "server.h"
+#include "queue.h"
 
 #include <sys/types.h>
 #include <string.h>
@@ -46,7 +47,8 @@ typedef int (event_handler_func) (gdb_fildes_t);
 #define GDB_WRITABLE	(1<<2)
 #define GDB_EXCEPTION	(1<<3)
 
-/* Events are queued by calling async_queue_event and serviced later
+/* Events are queued by calling 'QUEUE_enque (gdb_event_p, event_queue,
+   file_event_ptr)' and serviced later
    on by do_one_event.  An event can be, for instance, a file
    descriptor becoming ready to be read.  Servicing an event simply
    means that the procedure PROC will be called.  We have 2 queues,
@@ -57,17 +59,14 @@ typedef int (event_handler_func) (gdb_fildes_t);
    descriptor whose state change generated the event, plus doing other
    cleanups and such.  */
 
-struct gdb_event
+typedef struct gdb_event
   {
     /* Procedure to call to service this event.  */
     event_handler_func *proc;
 
     /* File descriptor that is ready.  */
     gdb_fildes_t fd;
-
-    /* Next in list of events or NULL.  */
-    struct gdb_event *next_event;
-  };
+  } *gdb_event_p;
 
 /* Information about each file descriptor we register with the event
    loop.  */
@@ -97,25 +96,9 @@ typedef struct file_handler
   }
 file_handler;
 
-/* Event queue:
-
-   Events can be inserted at the front of the queue or at the end of
-   the queue.  Events will be extracted from the queue for processing
-   starting from the head.  Therefore, events inserted at the head of
-   the queue will be processed in a last in first out fashion, while
-   those inserted at the tail of the queue will be processed in a
-   first in first out manner.  All the fields are NULL if the queue is
-   empty.  */
-
-static struct
-  {
-    /* The first pending event.  */
-    gdb_event *first_event;
-
-    /* The last pending event.  */
-    gdb_event *last_event;
-  }
-event_queue;
+DECLARE_QUEUE_P(gdb_event_p);
+static QUEUE(gdb_event_p) *event_queue = NULL;
+DEFINE_QUEUE_P(gdb_event_p);
 
 /* Gdb_notifier is just a list of file descriptors gdb is interested
    in.  These are the input file descriptor, and the target file
@@ -170,25 +153,18 @@ static struct
   }
 callback_list;
 
-/* Insert an event object into the gdb event queue.
-
-   EVENT_PTR points to the event to be inserted into the queue.  The
-   caller must allocate memory for the event.  It is freed after the
-   event has ben handled.  Events in the queue will be processed head
-   to tail, therefore, events will be processed first in first
-   out.  */
+/* Free EVENT.  */
 
 static void
-async_queue_event (gdb_event *event_ptr)
+gdb_event_xfree (struct gdb_event *event)
 {
-  /* The event will become the new last_event.  */
+  xfree (event);
+}
 
-  event_ptr->next_event = NULL;
-  if (event_queue.first_event == NULL)
-    event_queue.first_event = event_ptr;
-  else
-    event_queue.last_event->next_event = event_ptr;
-  event_queue.last_event = event_ptr;
+void
+initialize_event_loop (void)
+{
+  event_queue = QUEUE_alloc (gdb_event_p, gdb_event_xfree);
 }
 
 /* Process one event.  If an event was processed, 1 is returned
@@ -199,46 +175,18 @@ async_queue_event (gdb_event *event_ptr)
 static int
 process_event (void)
 {
-  gdb_event *event_ptr, *prev_ptr;
-  event_handler_func *proc;
-  gdb_fildes_t fd;
-
-  /* Look in the event queue to find an event that is ready
-     to be processed.  */
-
-  for (event_ptr = event_queue.first_event;
-       event_ptr != NULL;
-       event_ptr = event_ptr->next_event)
+  /* Let's get rid of the event from the event queue.  We need to
+     do this now because while processing the event, since the
+     proc function could end up jumping out to the caller of this
+     function.  In that case, we would have on the event queue an
+     event which has been processed, but not deleted.  */
+  if (!QUEUE_is_empty (gdb_event_p, event_queue))
     {
-      /* Call the handler for the event.  */
-


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] 5+ messages in thread
* [SCM]  archer-jankratochvil-absdir: Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel
@ 2013-01-25 20:49 jkratoch
  0 siblings, 0 replies; 5+ messages in thread
From: jkratoch @ 2013-01-25 20:49 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-absdir has been updated
       via  e1d8b124013f2e544aa8ff2498b9c62b0ad1b893 (commit)
       via  5709253e10823e9e0a4ac677b455a2252ad37e7d (commit)
       via  801ff2acba450d39725c5a6f2b28851a97342806 (commit)
       via  eeac9993e2c505c636c6eeb110f2f7bca96b937e (commit)
       via  f9f3f4cfa117f28b4723f4ea31777f934f887afa (commit)
       via  bac553a2c45a02f8aef898a4d60c5aaffddc4a58 (commit)
       via  f832a313975300cf9ee0a6fc7a13d7fa2e97300b (commit)
       via  ace21a8cf5d94b326d5e0d23d6d51f80b17daea8 (commit)
       via  e836016a7968d906a9264518686e58a7e325679c (commit)
       via  03535480b30ae7a358cbb38003ef193eea7a6585 (commit)
       via  29fa431507af6ba23ded072f2301830f5350160b (commit)
       via  bc75a9424b6e11f4317a0b6af9b5a164ceb3036b (commit)
       via  d3ec4921e869f73a725fee32c6a8f3cd80596434 (commit)
       via  8019658a7c1c851c7f2d1f2f8d34f5e630f93e8f (commit)
       via  cacebf6a579a78e9b1903ba47a3c2d1766e487bb (commit)
       via  c5240c297977247c20962cd802ce780f13f9e9ef (commit)
       via  917d6ef0a049f6743f85f22bae5d8cf9ebbc3bb1 (commit)
       via  e50bab8c19cf44acfae1e3a77ddc1f96db076f96 (commit)
       via  a235afe250c5de00e50e6db875f081078ba1d7ae (commit)
       via  8976d356d75a1f22a41cae4f79174f9c3db15f8f (commit)
       via  7213e204be9a0d2fe6cec8abb703f3864a962103 (commit)
       via  6452e45e1eb1d0c03dca02c5a1748a39d8ae3f42 (commit)
       via  29c433f48429eb272ab8b1811cd15c1b558e6a64 (commit)
       via  3f7fe34a155b631c7f9a4c68f0608f6ca75bc6a1 (commit)
       via  c704a22c21d3004ab9c1d782d382fb48076ba952 (commit)
       via  5a67724227e4d5ad19ae63f6a7aad656870063b8 (commit)
       via  d4a25db736df72245377aefbc68e1cab6cc38e1e (commit)
       via  9bd3bfe1fbb55b71104fd8ea390b646a4d2f64ac (commit)
       via  97fb6b2c2692f75d83bca29e43de618af53d3d54 (commit)
       via  a606bd7277c4f71b7a32c5a86043aa3ef717914e (commit)
       via  a0b2071fce6d8f1fa573dbec03e31e148660800a (commit)
       via  6275a3f4dbbb0c4f1b34d77737cf4ae803e4e86e (commit)
       via  5f97c0604bceb06335930ce875df6ea83f46c321 (commit)
       via  d2319e397934af9f57059509b30b6404f67c37fc (commit)
       via  5708ea0f50ecfcd70e12bcd904ba5e75e3c1edcb (commit)
       via  307c0cf307a7638627f73bb7e42691fe78ed11d9 (commit)
       via  cb85ff9379203bf7f43f8412e6d6b34d446a91bf (commit)
       via  ce12fee1db27f3fef3b6d7cc2665f63c611548d8 (commit)
       via  9a9d320ce75de6a2a938537532ad228fab3a8abe (commit)
       via  37d919cf67622bdbf5b5fb3f10ce71ac23c1d7d0 (commit)
       via  3748d0516d134b6b9f727f8dbbc93afb4e137cff (commit)
       via  febdbbf9cb02f4f696e889874d43fea5d4006c2e (commit)
      from  66404891ed57a7c2c143184abb8857dd49d8700a (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit e1d8b124013f2e544aa8ff2498b9c62b0ad1b893
Merge: bc75a94 5709253
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:48:51 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit 5709253e10823e9e0a4ac677b455a2252ad37e7d
Merge: d3ec492 801ff2a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:48:51 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal

commit 801ff2acba450d39725c5a6f2b28851a97342806
Merge: 8019658 eeac999
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:48:50 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab

commit eeac9993e2c505c636c6eeb110f2f7bca96b937e
Merge: 5a67724 f9f3f4c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:48:50 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui

commit f9f3f4cfa117f28b4723f4ea31777f934f887afa
Merge: 6275a3f bac553a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:48:50 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2

commit bac553a2c45a02f8aef898a4d60c5aaffddc4a58
Merge: 2063558 f832a31
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:48:49 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config

commit f832a313975300cf9ee0a6fc7a13d7fa2e97300b
Merge: 9647d22 ace21a8
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:48:49 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname

commit ace21a8cf5d94b326d5e0d23d6d51f80b17daea8
Merge: ba06d0f e836016
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:48:49 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs' into xfullpath-locsymtab-isabs-expandfullname

commit e836016a7968d906a9264518686e58a7e325679c
Merge: e803707 0353548
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:48:48 2013 +0100

    Merge branch 'xfullpath-locsymtab' into xfullpath-locsymtab-isabs

commit 03535480b30ae7a358cbb38003ef193eea7a6585
Merge: d39625f 29fa431
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:48:48 2013 +0100

    Merge branch 'xfullpath' into xfullpath-locsymtab

commit 29fa431507af6ba23ded072f2301830f5350160b
Merge: 76d10fd 5708ea0
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:48:48 2013 +0100

    Merge remote-tracking branch 'gdb/master' into xfullpath

commit bc75a9424b6e11f4317a0b6af9b5a164ceb3036b
Merge: cacebf6 d3ec492
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:48:21 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit d3ec4921e869f73a725fee32c6a8f3cd80596434
Merge: c5240c2 8019658
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:48:20 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal

commit 8019658a7c1c851c7f2d1f2f8d34f5e630f93e8f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:48:16 2013 +0100

    .

commit cacebf6a579a78e9b1903ba47a3c2d1766e487bb
Merge: e50bab8 c5240c2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:40:50 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit c5240c297977247c20962cd802ce780f13f9e9ef
Merge: a235afe 917d6ef
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:40:50 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal

commit 917d6ef0a049f6743f85f22bae5d8cf9ebbc3bb1
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:40:44 2013 +0100

    .

commit e50bab8c19cf44acfae1e3a77ddc1f96db076f96
Merge: 8976d35 a235afe
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:26:44 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit a235afe250c5de00e50e6db875f081078ba1d7ae
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:26:37 2013 +0100

    .

commit 8976d356d75a1f22a41cae4f79174f9c3db15f8f
Merge: 29c433f 7213e20
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:21:56 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit 7213e204be9a0d2fe6cec8abb703f3864a962103
Merge: 3f7fe34 6452e45
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:21:55 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal

commit 6452e45e1eb1d0c03dca02c5a1748a39d8ae3f42
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:21:46 2013 +0100

    .

commit 29c433f48429eb272ab8b1811cd15c1b558e6a64
Merge: d4a25db 3f7fe34
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:04:34 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit 3f7fe34a155b631c7f9a4c68f0608f6ca75bc6a1
Merge: 9bd3bfe c704a22
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:04:09 2013 +0100

    .

commit c704a22c21d3004ab9c1d782d382fb48076ba952
Merge: 97fb6b2 5a67724
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:03:26 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab

commit 5a67724227e4d5ad19ae63f6a7aad656870063b8
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 21:03:18 2013 +0100

    .

commit d4a25db736df72245377aefbc68e1cab6cc38e1e
Merge: 6640489 9bd3bfe
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 20:22:02 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit 9bd3bfe1fbb55b71104fd8ea390b646a4d2f64ac
Merge: 33a1bcf 97fb6b2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 20:22:01 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal

commit 97fb6b2c2692f75d83bca29e43de618af53d3d54
Merge: 04177ea a606bd7
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 20:22:01 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab

commit a606bd7277c4f71b7a32c5a86043aa3ef717914e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 20:18:54 2013 +0100

    Revert "."
    
    This reverts commit 6275a3f4dbbb0c4f1b34d77737cf4ae803e4e86e.

commit a0b2071fce6d8f1fa573dbec03e31e148660800a
Merge: 9b37dd4 6275a3f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 20:18:48 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui

commit 6275a3f4dbbb0c4f1b34d77737cf4ae803e4e86e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 20:18:32 2013 +0100

    .

commit 5f97c0604bceb06335930ce875df6ea83f46c321
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 20:12:51 2013 +0100

    .

commit d2319e397934af9f57059509b30b6404f67c37fc
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Jan 25 20:03:41 2013 +0100

    .

commit 5708ea0f50ecfcd70e12bcd904ba5e75e3c1edcb
Author: Tom Tromey <tromey@redhat.com>
Date:   Fri Jan 25 17:59:28 2013 +0000

    	* gdb.python/py-explore.exp: Expect the gdb prompt.

commit 307c0cf307a7638627f73bb7e42691fe78ed11d9
Author: Tom Tromey <tromey@redhat.com>
Date:   Fri Jan 25 17:57:30 2013 +0000

    	* dwarf2read.c (processing_has_namespace_info): Remove.
    	(struct dwarf2_cu) <processing_has_namespace_info>: New field.
    	(process_die, read_func_scope, dwarf2_start_symtab)
    	(new_symbol_full): Update.

commit cb85ff9379203bf7f43f8412e6d6b34d446a91bf
Author: Tom Tromey <tromey@redhat.com>
Date:   Fri Jan 25 17:55:21 2013 +0000

    	* cp-namespace.c (cp_set_block_scope): Remove.
    	* cp-support.h (cp_set_block_scope): Remove.
    	* dbxread.c: Include block.h.
    	(cp_set_block_scope): New function.
    	(process_one_symbol): Update.
    	* dwarf2read.c (read_func_scope): Use block_set_scope.

commit ce12fee1db27f3fef3b6d7cc2665f63c611548d8
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Jan 25 17:38:00 2013 +0000

    Fix add_current_inferior_and_thread's describing comment.
    
    add_current_inferior_and_thread tries the stop reply first.  Tweak its
    comment to reflect reality.
    
    2013-01-25  Pedro Alves  <palves@redhat.com>
    
    	* remote.c (add_current_inferior_and_thread): Tweak comment.

commit 9a9d320ce75de6a2a938537532ad228fab3a8abe
Author: Tom Tromey <tromey@redhat.com>
Date:   Fri Jan 25 17:36:01 2013 +0000

    	* cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
    	(cp_add_using_directive): Add 'copy_names' argument.
    	* cp-support.h (cp_add_using_directive): Update.
    	(struct using_direct) <import_src, import_dest, alias,
    	declaration>: Now const.
    	* dwarf2read.c (read_import_statement): Use obconcat.
    	Don't copy names passed to cp_add_using_directive.

commit 37d919cf67622bdbf5b5fb3f10ce71ac23c1d7d0
Author: Tom Tromey <tromey@redhat.com>
Date:   Fri Jan 25 17:34:01 2013 +0000

    	* c-exp.y (qualified_name): Use TYPE_SAFE_NAME.

commit 3748d0516d134b6b9f727f8dbbc93afb4e137cff
Author: Pedro Alves <palves@redhat.com>
Date:   Fri Jan 25 17:25:55 2013 +0000

    Fix GDB internal error against targets that return a thread in T stop replies but don't support qC.
    
    Yao writes:
    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    GDB gets an internal error when it connects to GDBserver started with
    '--disable-packet=qC'.
    
    Sending packet: $QNonStop:0#8c...Packet received: OK
    Sending packet: $?#3f...Packet received: T0505:00000000;04:00f0ffbf;08:b0c2e44c;thread:p4255.4255;core:1;
    Sending packet: $Hc-1#09...Packet received: E01
    Sending packet: $qC#b4...Packet received:
    Sending packet: $qAttached:a410#bf...Packet received: E01
    Packet qAttached (query-attached) is supported
    warning: Remote failure reply: E01
    Sending packet: $qOffsets#4b...Packet received:
    ../../../git/gdb/target.c:3248: internal-error: Can't determine the current address space of thread Thread 16981
    
    When start remote, the call chain is as follows,
    
    remote_start_remote
      add_current_inferior_and_thread <--[1]
      ...
      start_remote
        wait_for_inferior
          remote_wait_as
            process_stop_reply
              get_thread_arch_regcache   <--[2]
              remote_notice_new_inferior <--[3]
    
    GDB sends packet "qC" in [1] and adds the thread/inferior if the remote
    stubs understands "qC".  In [2], GDB looks for the inferior to build a
    regcache, and notices a new inferior in [3].  As we can see, GDB assumes
    that the inferior can be found in [2].  Once the remote stub doesn't
    support "qC", GDB can't look for the inferior in [2], and emits an
    internal error.
    
    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    
    Right after the initial connection, we query the target for its state,
    with the ? packet.  We store the resulting wait status / stop reply
    aside, and query the target for the current thread, using qC, which
    fails, so we fake a ptid for the target's thread.  We then later,
    after the initial setup, end up consuming that set-aside wait status,
    parsing the T stop reply, which contains a "thread" "register" (which
    was the thread the target would have replied to qC).  We get into
    trouble because the ptid in that stop reply doesn't match our faked up
    ptid in the initial setup, although the target threads are the same...
    
    So we had the T stop reply handy all along.  We might as well extract
    the thread's ptid from it, and avoid all the resulting issues.
    
    qC is also used after vRun, in order to discover the new process'es
    main thread.  But, vRun's reply is also a wait status, just like
    '?''s, which is quite convenient.
    
    This means that if we have a "Txx thread: ptid" reply, then we don't
    really need qC.  The patch makes GDB look in the T reply first, and if
    not found, try with qC.  The packet handling seems to have been added
    in gdb-4.18 (1999), and I see that in that same release, "Txx thread:
    ptid" didn't exist yet, which probably explains why nobody though of
    doing this before.
    
    Regression tested against a gdbserver with qC disabled (and then
    enabled), on x86_64 Fedora 17.
    
    2013-01-25  Pedro Alves  <palves@redhat.com>
    
    	* remote.c (stop_reply_extract_thread): New.
    	(add_current_inferior_and_thread): New parameter 'wait_status'.
    	Handle it.
    	(remote_start_remote): Pass wait status to
    	add_current_inferior_and_thread.
    	(extended_remote_run): Update comment.
    	(extended_remote_create_inferior_1): Pass wait status to
    	add_current_inferior_and_thread.

commit febdbbf9cb02f4f696e889874d43fea5d4006c2e
Author: aburgess <aburgess>
Date:   Fri Jan 25 17:16:32 2013 +0000

    http://sourceware.org/ml/gdb-patches/2012-11/msg00312.html
    
    gdb/ChangeLog
            * valarith.c (value_vector_widen): New function for replicating a
            scalar into a vector.
            (value_binop): Use value_vector_widen to widen scalar to vector
            rather than casting, this better matches gcc C behaviour.
            * valops.c (value_casst): Update logic for casting between vector
            types, and for casting from scalar to vector, try to match gcc C
            behaviour.
            * value.h (value_vector_widen): Declare.
            * opencl-lang.c (opencl_value_cast): New opencl specific casting
            function, handle special case for casting scalar to vector.
            (opencl_relop): Use opencl_value_cast.
            (evaluate_subexp_opencl): Use opencl_value_cast instead of
            value_cast, and handle BINOP_ASSIGN, UNOP_CAST, and UNOP_CAST_TYPE
            in order to use opencl_value_cast.
    
    gdb/testsuite/ChangeLog
            * gdb.base/gnu_vector.c: New variable for use in tests.
            * gdb.base/gnu_vector.exp: Update and extend tests to reflect
            changes in scalar to vector casting and widening.
            * gdb.python/py-type.c: New variables for use in tests.
            * gdb.python/py-type.exp: Update vector related tests to reflect
            changes in scalar to vector casting and widening.

-----------------------------------------------------------------------

Summary of changes:
 gdb/ChangeLog                           |   63 ++++++++++++++++++++
 gdb/c-exp.y                             |    6 +-
 gdb/cp-namespace.c                      |   67 +++++++--------------
 gdb/cp-support.h                        |   15 ++---
 gdb/dbxread.c                           |   35 ++++++++++-
 gdb/dwarf2read.c                        |   48 +++++++--------
 gdb/macroscope.c                        |    1 -
 gdb/opencl-lang.c                       |   98 ++++++++++++++++++++++++++++++-
 gdb/psymtab.c                           |   12 +++-
 gdb/remote.c                            |   80 ++++++++++++++++++++++---
 gdb/skip.c                              |    9 +++
 gdb/symtab.c                            |   21 +++++--
 gdb/testsuite/ChangeLog                 |   13 ++++
 gdb/testsuite/gdb.base/gnu_vector.c     |    1 +
 gdb/testsuite/gdb.base/gnu_vector.exp   |   56 +++++++++++++-----
 gdb/testsuite/gdb.python/py-explore.exp |    2 +-
 gdb/testsuite/gdb.python/py-type.c      |    3 +
 gdb/testsuite/gdb.python/py-type.exp    |   25 +++++----
 gdb/valarith.c                          |   47 ++++++++++++++-
 gdb/valops.c                            |   30 ++-------
 gdb/value.h                             |    6 ++
 21 files changed, 476 insertions(+), 162 deletions(-)

First 500 lines of diff:
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 23f6f07..d9377cc 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,66 @@
+2013-01-25  Tom Tromey  <tromey@redhat.com>
+
+	* dwarf2read.c (processing_has_namespace_info): Remove.
+	(struct dwarf2_cu) <processing_has_namespace_info>: New field.
+	(process_die, read_func_scope, dwarf2_start_symtab)
+	(new_symbol_full): Update.
+
+2013-01-25  Tom Tromey  <tromey@redhat.com>
+
+	* cp-namespace.c (cp_set_block_scope): Remove.
+	* cp-support.h (cp_set_block_scope): Remove.
+	* dbxread.c: Include block.h.
+	(cp_set_block_scope): New function.
+	(process_one_symbol): Update.
+	* dwarf2read.c (read_func_scope): Use block_set_scope.
+
+2013-01-25  Pedro Alves  <palves@redhat.com>
+
+	* remote.c (add_current_inferior_and_thread): Tweak comment.
+
+2013-01-25  Tom Tromey  <tromey@redhat.com>
+
+	* cp-namespace.c (cp_scan_for_anonymous_namespaces): Update.
+	(cp_add_using_directive): Add 'copy_names' argument.
+	* cp-support.h (cp_add_using_directive): Update.
+	(struct using_direct) <import_src, import_dest, alias,
+	declaration>: Now const.
+	* dwarf2read.c (read_import_statement): Use obconcat.
+	Don't copy names passed to cp_add_using_directive.
+
+2013-01-25  Tom Tromey  <tromey@redhat.com>
+
+	* c-exp.y (qualified_name): Use TYPE_SAFE_NAME.
+
+2013-01-25  Pedro Alves  <palves@redhat.com>
+
+	* remote.c (stop_reply_extract_thread): New.
+	(add_current_inferior_and_thread): New parameter 'wait_status'.
+	Handle it.
+	(remote_start_remote): Pass wait status to
+	add_current_inferior_and_thread.
+	(extended_remote_run): Update comment.
+	(extended_remote_create_inferior_1): Pass wait status to
+	add_current_inferior_and_thread.
+
+2013-01-25  Andrew Burgess  <aburgess@broadcom.com>
+	    Ulrich Weigand  <uweigand@de.ibm.com>
+
+	* valarith.c (value_vector_widen): New function for replicating a
+	scalar into a vector.
+	(value_binop): Use value_vector_widen to widen scalar to vector
+	rather than casting, this better matches gcc C behaviour.
+	* valops.c (value_casst): Update logic for casting between vector
+	types, and for casting from scalar to vector, try to match gcc C
+	behaviour.
+	* value.h (value_vector_widen): Declare.
+	* opencl-lang.c (opencl_value_cast): New opencl specific casting
+	function, handle special case for casting scalar to vector.
+	(opencl_relop): Use opencl_value_cast.
+	(evaluate_subexp_opencl): Use opencl_value_cast instead of
+	value_cast, and handle BINOP_ASSIGN, UNOP_CAST, and UNOP_CAST_TYPE
+	in order to use opencl_value_cast.
+
 2013-01-25  Yao Qi  <yao@codesourcery.com>
 
 	* event-loop.c: Include "queue.h".
diff --git a/gdb/c-exp.y b/gdb/c-exp.y
index 9847120..d396ae5 100644
--- a/gdb/c-exp.y
+++ b/gdb/c-exp.y
@@ -923,7 +923,7 @@ qualified_name:	TYPENAME COLONCOLON name
 			      && TYPE_CODE (type) != TYPE_CODE_UNION
 			      && TYPE_CODE (type) != TYPE_CODE_NAMESPACE)
 			    error (_("`%s' is not defined as an aggregate type."),
-				   TYPE_NAME (type));
+				   TYPE_SAFE_NAME (type));
 
 			  write_exp_elt_opcode (OP_SCOPE);
 			  write_exp_elt_type (type);
@@ -939,7 +939,7 @@ qualified_name:	TYPENAME COLONCOLON name
 			      && TYPE_CODE (type) != TYPE_CODE_UNION
 			      && TYPE_CODE (type) != TYPE_CODE_NAMESPACE)
 			    error (_("`%s' is not defined as an aggregate type."),
-				   TYPE_NAME (type));
+				   TYPE_SAFE_NAME (type));
 
 			  tmp_token.ptr = (char*) alloca ($4.length + 2);
 			  tmp_token.length = $4.length + 1;
@@ -959,7 +959,7 @@ qualified_name:	TYPENAME COLONCOLON name
 			  char *copy = copy_name ($3);
 			  error (_("No type \"%s\" within class "
 				   "or namespace \"%s\"."),
-				 copy, TYPE_NAME ($1.type));
+				 copy, TYPE_SAFE_NAME ($1.type));
 			}
 	;
 
diff --git a/gdb/cp-namespace.c b/gdb/cp-namespace.c
index 8511bf1..c137eec 100644
--- a/gdb/cp-namespace.c
+++ b/gdb/cp-namespace.c
@@ -96,7 +96,7 @@ cp_scan_for_anonymous_namespaces (const struct symbol *const symbol,
 		 anonymous namespace.  So add symbols in it to the
 		 namespace given by the previous component if there is
 		 one, or to the global namespace if there isn't.  */
-	      cp_add_using_directive (dest, src, NULL, NULL, NULL,
+	      cp_add_using_directive (dest, src, NULL, NULL, NULL, 1,
 	                              &objfile->objfile_obstack);
 	    }
 	  /* The "+ 2" is for the "::".  */
@@ -117,9 +117,10 @@ cp_scan_for_anonymous_namespaces (const struct symbol *const symbol,
    in the current scope.  If ALIAS is NULL then the namespace is known
    by its original name.  DECLARATION is the name if the imported
    varable if this is a declaration import (Eg. using A::x), otherwise
-   it is NULL.  EXCLUDES is a list of names not to import from an imported
-   module or NULL.  The arguments are copied into newly allocated memory so
-   they can be temporaries.  For EXCLUDES the VEC pointers are copied but the
+   it is NULL.  EXCLUDES is a list of names not to import from an
+   imported module or NULL.  If COPY_NAMES is non-zero, then the
+   arguments are copied into newly allocated memory so they can be
+   temporaries.  For EXCLUDES the VEC pointers are copied but the
    pointed to characters are not copied.  */
 
 void
@@ -128,6 +129,7 @@ cp_add_using_directive (const char *dest,
 			const char *alias,
 			const char *declaration,
 			VEC (const_char_ptr) *excludes,
+			int copy_names,
                         struct obstack *obstack)
 {
   struct using_direct *current;
@@ -173,15 +175,27 @@ cp_add_using_directive (const char *dest,
 				    * sizeof (*new->excludes))));
   memset (new, 0, sizeof (*new));
 
-  new->import_src = obstack_copy0 (obstack, src, strlen (src));
-  new->import_dest = obstack_copy0 (obstack, dest, strlen (dest));
+  if (copy_names)
+    {
+      new->import_src = obstack_copy0 (obstack, src, strlen (src));
+      new->import_dest = obstack_copy0 (obstack, dest, strlen (dest));
+    }
+  else
+    {
+      new->import_src = src;
+      new->import_dest = dest;
+    }
 
-  if (alias != NULL)
+  if (alias != NULL && copy_names)
     new->alias = obstack_copy0 (obstack, alias, strlen (alias));
+  else
+    new->alias = alias;
 
-  if (declaration != NULL)
+  if (declaration != NULL && copy_names)
     new->declaration = obstack_copy0 (obstack,
 				      declaration, strlen (declaration));
+  else
+    new->declaration = declaration;
 
   memcpy (new->excludes, VEC_address (const_char_ptr, excludes),
 	  VEC_length (const_char_ptr, excludes) * sizeof (*new->excludes));
@@ -191,43 +205,6 @@ cp_add_using_directive (const char *dest,
   using_directives = new;
 }
 
-/* Record the namespace that the function defined by SYMBOL was
-   defined in, if necessary.  BLOCK is the associated block; use
-   OBSTACK for allocation.  */
-
-void
-cp_set_block_scope (const struct symbol *symbol,
-		    struct block *block,
-		    struct obstack *obstack,
-		    const char *processing_current_prefix,
-		    int processing_has_namespace_info)
-{
-  if (processing_has_namespace_info)
-    {
-      block_set_scope
-	(block, obstack_copy0 (obstack, processing_current_prefix,
-			       strlen (processing_current_prefix)),
-	 obstack);
-    }
-  else if (SYMBOL_DEMANGLED_NAME (symbol) != NULL)
-    {
-      /* Try to figure out the appropriate namespace from the
-	 demangled name.  */
-
-      /* FIXME: carlton/2003-04-15: If the function in question is
-	 a method of a class, the name will actually include the
-	 name of the class as well.  This should be harmless, but
-	 is a little unfortunate.  */
-
-      const char *name = SYMBOL_DEMANGLED_NAME (symbol);
-      unsigned int prefix_len = cp_entire_prefix_len (name);
-
-      block_set_scope (block,
-		       obstack_copy0 (obstack, name, prefix_len),
-		       obstack);
-    }
-}
-
 /* Test whether or not NAMESPACE looks like it mentions an anonymous
    namespace; return nonzero if so.  */
 
diff --git a/gdb/cp-support.h b/gdb/cp-support.h
index c22c1e7..c7141d5 100644
--- a/gdb/cp-support.h
+++ b/gdb/cp-support.h
@@ -125,11 +125,11 @@ struct demangle_parse_info
 
 struct using_direct
 {
-  char *import_src;
-  char *import_dest;
+  const char *import_src;
+  const char *import_dest;
 
-  char *alias;
-  char *declaration;
+  const char *alias;
+  const char *declaration;
 
   struct using_direct *next;
 
@@ -186,14 +186,9 @@ extern void cp_add_using_directive (const char *dest,
                                     const char *alias,
 				    const char *declaration,
 				    VEC (const_char_ptr) *excludes,
+				    int copy_names,
                                     struct obstack *obstack);
 
-extern void cp_set_block_scope (const struct symbol *symbol,
-				struct block *block,
-				struct obstack *obstack,
-				const char *processing_current_prefix,
-				int processing_has_namespace_info);
-
 extern void cp_scan_for_anonymous_namespaces (const struct symbol *symbol,
 					      struct objfile *objfile);
 
diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index fcd4d82..09b46a0 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -55,6 +55,7 @@
 #include "cp-abi.h"
 #include "cp-support.h"
 #include "psympriv.h"
+#include "block.h"
 
 #include "gdb_assert.h"
 #include "gdb_string.h"
@@ -2706,6 +2707,34 @@ read_ofile_symtab (struct objfile *objfile, struct partial_symtab *pst)
 }
 \f
 
+/* Record the namespace that the function defined by SYMBOL was
+   defined in, if necessary.  BLOCK is the associated block; use
+   OBSTACK for allocation.  */
+
+static void
+cp_set_block_scope (const struct symbol *symbol,
+		    struct block *block,
+		    struct obstack *obstack)
+{
+  if (SYMBOL_DEMANGLED_NAME (symbol) != NULL)
+    {
+      /* Try to figure out the appropriate namespace from the
+	 demangled name.  */
+
+      /* FIXME: carlton/2003-04-15: If the function in question is
+	 a method of a class, the name will actually include the
+	 name of the class as well.  This should be harmless, but
+	 is a little unfortunate.  */
+
+      const char *name = SYMBOL_DEMANGLED_NAME (symbol);
+      unsigned int prefix_len = cp_entire_prefix_len (name);
+
+      block_set_scope (block,
+		       obstack_copy0 (obstack, name, prefix_len),
+		       obstack);
+    }
+}
+
 /* This handles a single symbol from the symbol-file, building symbols
    into a GDB symtab.  It takes these arguments and an implicit argument.
 
@@ -2813,8 +2842,7 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, char *name,
 
 	  /* For C++, set the block's scope.  */
 	  if (SYMBOL_LANGUAGE (new->name) == language_cplus)
-	    cp_set_block_scope (new->name, block, &objfile->objfile_obstack,
-				"", 0);
+	    cp_set_block_scope (new->name, block, &objfile->objfile_obstack);
 
 	  /* May be switching to an assembler file which may not be using
 	     block relative stabs, so reset the offset.  */
@@ -3219,8 +3247,7 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, char *name,
 		  /* For C++, set the block's scope.  */
 		  if (SYMBOL_LANGUAGE (new->name) == language_cplus)
 		    cp_set_block_scope (new->name, block,
-					&objfile->objfile_obstack,
-					"", 0);
+					&objfile->objfile_obstack);
 		}
 
 	      new = push_context (0, valu);
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 1957f9d..6d8276b 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -90,12 +90,6 @@ static int check_physname = 0;
 /* When non-zero, do not reject deprecated .gdb_index sections.  */
 static int use_deprecated_index_sections = 0;
 
-/* When set, the file that we're processing is known to have debugging
-   info for C++ namespaces.  GCC 3.3.x did not produce this information,
-   but later versions do.  */
-
-static int processing_has_namespace_info;
-
 static const struct objfile_data *dwarf2_objfile_data_key;
 
 struct dwarf2_section_info
@@ -509,6 +503,12 @@ struct dwarf2_cu
   unsigned int producer_is_gxx_lt_4_6 : 1;
   unsigned int producer_is_gcc_lt_4_3 : 1;
   unsigned int producer_is_icc : 1;
+
+  /* When set, the file that we're processing is known to have
+     debugging info for C++ namespaces.  GCC 3.3.x did not produce
+     this information, but later versions do.  */
+
+  unsigned int processing_has_namespace_info : 1;
 };
 
 /* Persistent data held for a compilation unit, even when not
@@ -3547,6 +3547,8 @@ dw2_expand_symtabs_matching
 		  break;
 		}
 
+	      /* BASENAMES_MAY_DIFFER optimization cannot be applied here
+		 as DATA basename cannot be extracted.  */
 	      this_real_name = dw2_get_real_path (objfile, file_data, j);
 	      if (file_matcher (this_real_name, data))
 		{
@@ -7235,16 +7237,16 @@ process_die (struct die_info *die, struct dwarf2_cu *cu)
     case DW_TAG_common_inclusion:
       break;
     case DW_TAG_namespace:
-      processing_has_namespace_info = 1;
+      cu->processing_has_namespace_info = 1;
       read_namespace (die, cu);
       break;
     case DW_TAG_module:
-      processing_has_namespace_info = 1;
+      cu->processing_has_namespace_info = 1;
       read_module (die, cu);
       break;
     case DW_TAG_imported_declaration:
     case DW_TAG_imported_module:
-      processing_has_namespace_info = 1;
+      cu->processing_has_namespace_info = 1;
       if (die->child != NULL && (die->tag == DW_TAG_imported_declaration
 				 || cu->language != language_fortran))
 	complaint (&symfile_complaints, _("Tag '%s' has unexpected children"),
@@ -7719,8 +7721,6 @@ read_import_statement (struct die_info *die, struct dwarf2_cu *cu)
   VEC (const_char_ptr) *excludes = NULL;
   struct cleanup *cleanups;
 
-  char *temp;
-
   import_attr = dwarf2_attr (die, DW_AT_import, cu);
   if (import_attr == NULL)
     {
@@ -7786,14 +7786,9 @@ read_import_statement (struct die_info *die, struct dwarf2_cu *cu)
       canonical_name = imported_name_prefix;
     }
   else if (strlen (imported_name_prefix) > 0)
-    {
-      temp = alloca (strlen (imported_name_prefix)
-                     + 2 + strlen (imported_name) + 1);
-      strcpy (temp, imported_name_prefix);
-      strcat (temp, "::");
-      strcat (temp, imported_name);
-      canonical_name = temp;
-    }
+    canonical_name = obconcat (&objfile->objfile_obstack,
+			       imported_name_prefix, "::", imported_name,
+			       (char *) NULL);
   else
     canonical_name = imported_name;
 
@@ -7848,6 +7843,7 @@ read_import_statement (struct die_info *die, struct dwarf2_cu *cu)
                           import_alias,
                           imported_declaration,
 			  excludes,
+			  0,
                           &objfile->objfile_obstack);
 
   do_cleanups (cleanups);
@@ -9576,10 +9572,10 @@ read_func_scope (struct die_info *die, struct dwarf2_cu *cu)
                         lowpc, highpc, objfile);
 
   /* For C++, set the block's scope.  */
-  if (cu->language == language_cplus || cu->language == language_fortran)
-    cp_set_block_scope (new->name, block, &objfile->objfile_obstack,
-			determine_prefix (die, cu),
-			processing_has_namespace_info);
+  if ((cu->language == language_cplus || cu->language == language_fortran)
+      && cu->processing_has_namespace_info)
+    block_set_scope (block, determine_prefix (die, cu),
+		     &objfile->objfile_obstack);
 
   /* If we have address ranges, record them.  */
   dwarf2_record_block_ranges (die, block, baseaddr, cu);
@@ -12114,7 +12110,7 @@ read_namespace (struct die_info *die, struct dwarf2_cu *cu)
 	  const char *previous_prefix = determine_prefix (die, cu);
 
 	  cp_add_using_directive (previous_prefix, TYPE_NAME (type), NULL,
-				  NULL, NULL, &objfile->objfile_obstack);
+				  NULL, NULL, 0, &objfile->objfile_obstack);
 	}
     }
 
@@ -15677,7 +15673,7 @@ dwarf2_start_symtab (struct dwarf2_cu *cu,
   /* We assume that we're processing GCC output.  */
   processing_gcc_compilation = 2;
 
-  processing_has_namespace_info = 0;
+  cu->processing_has_namespace_info = 0;
 }
 
 static void
@@ -16122,7 +16118,7 @@ new_symbol_full (struct die_info *die, struct type *type, struct dwarf2_cu *cu,
 
       /* For the benefit of old versions of GCC, check for anonymous
 	 namespaces based on the demangled name.  */
-      if (!processing_has_namespace_info
+      if (!cu->processing_has_namespace_info
 	  && cu->language == language_cplus)
 	cp_scan_for_anonymous_namespaces (sym, objfile);
     }
diff --git a/gdb/macroscope.c b/gdb/macroscope.c
index 81242ed..fba343d 100644
--- a/gdb/macroscope.c
+++ b/gdb/macroscope.c
@@ -26,7 +26,6 @@
 #include "frame.h"
 #include "inferior.h"
 #include "complaints.h"
-#include "filenames.h"
 
 /* A table of user-defined macros.  Unlike the macro tables used for
    symtabs, this one uses xmalloc for all its allocation, not an
diff --git a/gdb/opencl-lang.c b/gdb/opencl-lang.c
index 01e02c8..819a832 100644
--- a/gdb/opencl-lang.c
+++ b/gdb/opencl-lang.c
@@ -683,6 +683,58 @@ vector_relop (struct expression *exp, struct value *val1, struct value *val2,
   return ret;
 }
 
+/* Perform a cast of ARG into TYPE.  There's sadly a lot of duplication in
+   here from valops.c:value_cast, opencl is different only in the
+   behaviour of scalar to vector casting.  As far as possibly we're going
+   to try and delegate back to the standard value_cast function. */
+
+static struct value *
+opencl_value_cast (struct type *type, struct value *arg)
+{
+  if (type != value_type (arg))
+    {
+      /* Casting scalar to vector is a special case for OpenCL, scalar
+	 is cast to element type of vector then replicated into each
+	 element of the vector.  First though, we need to work out if
+	 this is a scalar to vector cast; code lifted from
+	 valops.c:value_cast.  */
+      enum type_code code1, code2;
+      struct type *to_type;
+      int scalar;
+
+      to_type = check_typedef (type);
+
+      code1 = TYPE_CODE (to_type);
+      code2 = TYPE_CODE (check_typedef (value_type (arg)));
+
+      if (code2 == TYPE_CODE_REF)
+	code2 = TYPE_CODE (check_typedef (value_type (coerce_ref (arg))));
+
+      scalar = (code2 == TYPE_CODE_INT || code2 == TYPE_CODE_BOOL


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] 5+ messages in thread
* [SCM]  archer-jankratochvil-absdir: Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel
@ 2013-01-27 21:18 jkratoch
  0 siblings, 0 replies; 5+ messages in thread
From: jkratoch @ 2013-01-27 21:18 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-absdir has been updated
       via  167f5462d519d3d878841e544d50f180866cbe47 (commit)
       via  7960ae611594a74fbd7e878f200be7927e750de3 (commit)
       via  340384b92d3c2bceca13c4e77af983a1ee54bbac (commit)
       via  62cc520d89bb0f01bc0ecfd481045e72888d9a5e (commit)
       via  527f5a1f8011776d0345faf43c4a530fa3a8c765 (commit)
       via  ad9e07e2f39c845e42016040e5345195d9e16cf8 (commit)
       via  90e2e375a6c3c87a22aa7b56f57924c862824fb5 (commit)
       via  b21a5013659f4e1f12238e011dcbde20e60fbac8 (commit)
       via  20a77349c48e04b19c8f1b53a5bc026c65396870 (commit)
       via  433c4678d97caaf84f7e77cf92629a93836177a7 (commit)
       via  a188ba9e07daad0a3abd2926c5877b7442280cfa (commit)
       via  921bd30547ff3bb5316eaa4b354dbd4c56adcc40 (commit)
       via  fe8de94a0983c851a0fa540d449967cdef510892 (commit)
       via  30fe3a28fc71031bdf5f8a6e098709651f71d2b1 (commit)
       via  d2230555c883f49226cfe1512656d227b04d9dc6 (commit)
       via  a3a5a24f0ff7955537a0055f229a9a22f651cb6c (commit)
       via  8db31883f510c4fd9a575524ebe1af3224954cd4 (commit)
       via  048ddba3325152f6b4a5a3b4ab5a8a9fca1bdc5e (commit)
       via  31488c939da89046ac7be79d2b43866f79413e91 (commit)
       via  80d865ba4f165c637f41ecf05c04d67cceaf6df3 (commit)
       via  4bafaf2e33812842210e9264d55d17d465ba01da (commit)
       via  16bb596b46d87e49868304aa6efeb18e559d9e75 (commit)
       via  9613d6e3d64238edd5fc56f3b5f1ac05e73462c4 (commit)
       via  1ad67611954239d9154a173baa233df8b5411e8a (commit)
       via  7e4dc3e13aceb07a691b5df2eb28ec2f518f043a (commit)
       via  8e246ec7e056bb7eb7a57d0b33d03a79ef165fe7 (commit)
       via  48adf0611465fb2714dc67bbdd21ac65a1f8b6f6 (commit)
       via  d26c08d3827fd24c04aa4ebdb93727aa714dd677 (commit)
       via  48b31421505f2e4560c53583717df9f2d4f0ab3f (commit)
       via  53e49134d5ab02e32cba584ee1e5ce10665967e4 (commit)
       via  a35ca3f83ad36781867dcad46a1a431bed66695e (commit)
       via  199014f669fd1bf620e44c247ba76dd4f2ee5f54 (commit)
       via  2d9a014bb1e538dd3f426bdb7bb924687d2d7663 (commit)
       via  eb49d713499ecdd3c2b91324fa8beb360c40a65e (commit)
       via  4b4d4fa8ec4f7964afb37f7f0211d266e810cb72 (commit)
       via  5ee30377d685eab6f5c558c0df0cef7dd9a9e4f0 (commit)
       via  457ef222a3442ddd90030c9c63d829796b5fb02f (commit)
       via  e1b97273be9b5acd08c4fd9a9cc18d2edc11b838 (commit)
       via  f464aa691dae9080da5494115e987561e06b5bdf (commit)
       via  4fde8577a2f0addc4adf1f0e61c90866fb5bbd71 (commit)
       via  2f8f5697e4df9a119ea0c71aa920756e72fd1775 (commit)
       via  3efc239754ec850208ad8200747f6c5694ea2c82 (commit)
       via  e4927fe267749765b1e92f285f21ee2f7762aa31 (commit)
       via  f237e6333de59daa74df1273b9e7b22424a39088 (commit)
      from  e1d8b124013f2e544aa8ff2498b9c62b0ad1b893 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 167f5462d519d3d878841e544d50f180866cbe47
Merge: 62cc520 7960ae6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jan 27 22:07:09 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit 7960ae611594a74fbd7e878f200be7927e750de3
Merge: 527f5a1 340384b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jan 27 22:06:34 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal
    
    Conflicts:
    	gdb/dwarf2read.c

commit 340384b92d3c2bceca13c4e77af983a1ee54bbac
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jan 27 21:51:42 2013 +0100

    .

commit 62cc520d89bb0f01bc0ecfd481045e72888d9a5e
Merge: 048ddba 527f5a1
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jan 27 21:16:51 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit 527f5a1f8011776d0345faf43c4a530fa3a8c765
Merge: 31488c9 ad9e07e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jan 27 21:16:51 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal

commit ad9e07e2f39c845e42016040e5345195d9e16cf8
Merge: 80d865b 90e2e37
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jan 27 21:16:50 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab

commit 90e2e375a6c3c87a22aa7b56f57924c862824fb5
Merge: 4bafaf2 b21a501
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jan 27 21:16:50 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui

commit b21a5013659f4e1f12238e011dcbde20e60fbac8
Merge: 16bb596 20a7734
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jan 27 21:16:50 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2

commit 20a77349c48e04b19c8f1b53a5bc026c65396870
Merge: 9613d6e 433c467
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jan 27 21:16:49 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config

commit 433c4678d97caaf84f7e77cf92629a93836177a7
Merge: 1ad6761 a188ba9
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jan 27 21:16:49 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname

commit a188ba9e07daad0a3abd2926c5877b7442280cfa
Merge: 7e4dc3e 921bd30
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jan 27 21:16:49 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs' into xfullpath-locsymtab-isabs-expandfullname

commit 921bd30547ff3bb5316eaa4b354dbd4c56adcc40
Merge: 8e246ec fe8de94
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jan 27 21:16:48 2013 +0100

    Merge branch 'xfullpath-locsymtab' into xfullpath-locsymtab-isabs

commit fe8de94a0983c851a0fa540d449967cdef510892
Merge: 48adf06 30fe3a2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jan 27 21:16:48 2013 +0100

    Merge branch 'xfullpath' into xfullpath-locsymtab

commit 30fe3a28fc71031bdf5f8a6e098709651f71d2b1
Merge: d26c08d d223055
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jan 27 21:16:48 2013 +0100

    Merge remote-tracking branch 'gdb/master' into xfullpath

commit d2230555c883f49226cfe1512656d227b04d9dc6
Author: Mike Frysinger <vapier@gentoo.org>
Date:   Sun Jan 27 16:56:52 2013 +0000

    mention fixed bug in ChangeLog

commit a3a5a24f0ff7955537a0055f229a9a22f651cb6c
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Sun Jan 27 00:00:36 2013 +0000

    *** empty log message ***

commit 8db31883f510c4fd9a575524ebe1af3224954cd4
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Sat Jan 26 23:00:06 2013 +0000

    daily update

commit 048ddba3325152f6b4a5a3b4ab5a8a9fca1bdc5e
Merge: 53e4913 31488c9
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 21:32:25 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit 31488c939da89046ac7be79d2b43866f79413e91
Merge: a35ca3f 80d865b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 21:32:25 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal

commit 80d865ba4f165c637f41ecf05c04d67cceaf6df3
Merge: 199014f 4bafaf2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 21:32:24 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab

commit 4bafaf2e33812842210e9264d55d17d465ba01da
Merge: 2d9a014 16bb596
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 21:32:24 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui

commit 16bb596b46d87e49868304aa6efeb18e559d9e75
Merge: eb49d71 9613d6e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 21:32:23 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2

commit 9613d6e3d64238edd5fc56f3b5f1ac05e73462c4
Merge: 4b4d4fa 1ad6761
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 21:32:22 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config

commit 1ad67611954239d9154a173baa233df8b5411e8a
Merge: 5ee3037 7e4dc3e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 21:32:22 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname

commit 7e4dc3e13aceb07a691b5df2eb28ec2f518f043a
Merge: 457ef22 8e246ec
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 21:32:21 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs' into xfullpath-locsymtab-isabs-expandfullname

commit 8e246ec7e056bb7eb7a57d0b33d03a79ef165fe7
Merge: e1b9727 48adf06
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 21:32:21 2013 +0100

    Merge branch 'xfullpath-locsymtab' into xfullpath-locsymtab-isabs

commit 48adf0611465fb2714dc67bbdd21ac65a1f8b6f6
Merge: f464aa6 d26c08d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 21:32:20 2013 +0100

    Merge branch 'xfullpath' into xfullpath-locsymtab

commit d26c08d3827fd24c04aa4ebdb93727aa714dd677
Merge: 4fde857 48b3142
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 21:32:19 2013 +0100

    Merge remote-tracking branch 'gdb/master' into xfullpath

commit 48b31421505f2e4560c53583717df9f2d4f0ab3f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 18:43:43 2013 +0000

    gdb/testsuite/
    	Code cleanup.
    	* gdb.base/restore.exp: Replace gdb_compile, gdb_exit, gdb_start,
    	gdb_reinitialize_dir and gdb_load by standard_testfile, set executable
    	and prepare_for_testing.
    	* gdb.base/store.exp: Likewise.

commit 53e49134d5ab02e32cba584ee1e5ce10665967e4
Merge: e1d8b12 a35ca3f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 16:41:01 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit a35ca3f83ad36781867dcad46a1a431bed66695e
Merge: 5709253 199014f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 16:41:00 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal

commit 199014f669fd1bf620e44c247ba76dd4f2ee5f54
Merge: 801ff2a 2d9a014
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 16:41:00 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab

commit 2d9a014bb1e538dd3f426bdb7bb924687d2d7663
Merge: eeac999 eb49d71
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 16:41:00 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui

commit eb49d713499ecdd3c2b91324fa8beb360c40a65e
Merge: f9f3f4c 4b4d4fa
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 16:40:59 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2

commit 4b4d4fa8ec4f7964afb37f7f0211d266e810cb72
Merge: bac553a 5ee3037
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 16:40:59 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config

commit 5ee30377d685eab6f5c558c0df0cef7dd9a9e4f0
Merge: f832a31 457ef22
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 16:40:58 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname' into xfullpath-locsymtab-isabs-expandfullname-tuifullname

commit 457ef222a3442ddd90030c9c63d829796b5fb02f
Merge: ace21a8 e1b9727
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 16:40:58 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs' into xfullpath-locsymtab-isabs-expandfullname

commit e1b97273be9b5acd08c4fd9a9cc18d2edc11b838
Merge: e836016 f464aa6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 16:40:57 2013 +0100

    Merge branch 'xfullpath-locsymtab' into xfullpath-locsymtab-isabs

commit f464aa691dae9080da5494115e987561e06b5bdf
Merge: 0353548 4fde857
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 16:40:57 2013 +0100

    Merge branch 'xfullpath' into xfullpath-locsymtab

commit 4fde8577a2f0addc4adf1f0e61c90866fb5bbd71
Merge: 29fa431 2f8f569
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Jan 26 16:40:57 2013 +0100

    Merge remote-tracking branch 'gdb/master' into xfullpath

commit 2f8f5697e4df9a119ea0c71aa920756e72fd1775
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Sat Jan 26 02:07:58 2013 +0000

    	* bfd.c (struct bfd_preserve, bfd_preserve_save, bfd_preserve_restore,
    	bfd_preserve_finish): Move to..
    	* format.c: ..here, splitting out..
    	(bfd_reinit): ..this.  New function.
    	(bfd_check_format_matches): Use bfd_preserve_save/restore to
    	keep bfd state for a match.
    	* elfcode.h (elf_object_p): Don't use bfd_preserve_save/restore.
    	* elfcore.h (elf_core_file_p): Likewise.
    	* mach-o.c (bfd_mach_o_header_p): Likewise.
    	* pef.c (bfd_pef_object_p, bfd_pef_xlib_object_p): Likewise.
    	* xsym.c (bfd_sym_object_p): Likewise.
    	* mmo.c (mmo_scan): Clear abfd->symcount.
    	* opncls.c (_bfd_new_bfd): Use a smaller section hash table.
    	* section.c (bfd_section_list_clear): Clear section_htab.count.
    	* bfd-in2.h: Regenerate.

commit 3efc239754ec850208ad8200747f6c5694ea2c82
Author: gdbadmin <gdbadmin@sourceware.org>
Date:   Sat Jan 26 00:00:04 2013 +0000

    *** empty log message ***

commit e4927fe267749765b1e92f285f21ee2f7762aa31
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Fri Jan 25 23:00:05 2013 +0000

    daily update

commit f237e6333de59daa74df1273b9e7b22424a39088
Author: sivachandra <sivachandra>
Date:   Fri Jan 25 22:31:40 2013 +0000

    	* valops.c (find_overload_match): Remove unused argument 'lax'.
    	* value.h: Remove unused argument 'lax' from the declaration of
    	find_overload_match.
    	* eval.c (value_subexp_standard): Do not pass a 'lax' argument
    	to find_overload_match.
    	* valarith.c (value_user_defined_cpp_op): Do not pass a 'lax'
    	argument to find_overload_match.

-----------------------------------------------------------------------

Summary of changes:
 bfd/ChangeLog                      |   18 +++++
 bfd/ChangeLog-2012                 |    1 +
 bfd/bfd-in2.h                      |   18 -----
 bfd/bfd.c                          |  122 ------------------------------
 bfd/elfcode.h                      |   20 -----
 bfd/elfcore.h                      |   21 -----
 bfd/format.c                       |  147 +++++++++++++++++++++++++++++++----
 bfd/mach-o.c                       |   14 +---
 bfd/mmo.c                          |    1 +
 bfd/opncls.c                       |    2 +-
 bfd/pef.c                          |   23 +-----
 bfd/section.c                      |    1 +
 bfd/version.h                      |    2 +-
 bfd/xsym.c                         |   14 +---
 gdb/ChangeLog                      |   10 +++
 gdb/dwarf2read.c                   |   15 +++-
 gdb/eval.c                         |    3 -
 gdb/psymtab.c                      |   16 +++-
 gdb/symfile.h                      |    4 +-
 gdb/symtab.c                       |    5 +-
 gdb/testsuite/ChangeLog            |    8 ++
 gdb/testsuite/gdb.base/restore.exp |   17 +----
 gdb/testsuite/gdb.base/store.exp   |   16 +---
 gdb/valarith.c                     |    2 +-
 gdb/valops.c                       |   10 +--
 gdb/value.h                        |    2 +-
 gdb/version.in                     |    2 +-
 27 files changed, 223 insertions(+), 291 deletions(-)

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index e36a37c..b746060 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,21 @@
+2013-01-26  Alan Modra  <amodra@gmail.com>
+
+	* bfd.c (struct bfd_preserve, bfd_preserve_save, bfd_preserve_restore,
+	bfd_preserve_finish): Move to..
+	* format.c: ..here, splitting out..
+	(bfd_reinit): ..this.  New function.
+	(bfd_check_format_matches): Use bfd_preserve_save/restore to
+	keep bfd state for a match.
+	* elfcode.h (elf_object_p): Don't use bfd_preserve_save/restore.
+	* elfcore.h (elf_core_file_p): Likewise.
+	* mach-o.c (bfd_mach_o_header_p): Likewise.
+	* pef.c (bfd_pef_object_p, bfd_pef_xlib_object_p): Likewise.
+	* xsym.c (bfd_sym_object_p): Likewise.
+	* mmo.c (mmo_scan): Clear abfd->symcount.
+	* opncls.c (_bfd_new_bfd): Use a smaller section hash table.
+	* section.c (bfd_section_list_clear): Clear section_htab.count.
+	* bfd-in2.h: Regenerate.
+
 2013-01-25  Michael Schewe  <michael.schewe@gmx.net>
 
 	* elf32-h8300.c (elf32_h8_relax_section): When checking for a
diff --git a/bfd/ChangeLog-2012 b/bfd/ChangeLog-2012
index 9be65bf..2c7d9ea 100644
--- a/bfd/ChangeLog-2012
+++ b/bfd/ChangeLog-2012
@@ -629,6 +629,7 @@
 
 2012-10-13  H.J. Lu  <hongjiu.lu@intel.com>
 
+	PR bfd/14430
 	* Makefile.am (LIBDL): Replace -ldl with @lt_cv_dlopen_libs@.
 	* configure.in (lt_cv_dlopen_libs): AC_SUBST.
 	* Makefile.in: Regenerated.
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 489c3b5..5b04176 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -6247,24 +6247,6 @@ extern bfd_byte *bfd_get_relocated_section_contents
 
 bfd_boolean bfd_alt_mach_code (bfd *abfd, int alternative);
 
-struct bfd_preserve
-{
-  void *marker;
-  void *tdata;
-  flagword flags;
-  const struct bfd_arch_info *arch_info;
-  struct bfd_section *sections;
-  struct bfd_section *section_last;
-  unsigned int section_count;
-  struct bfd_hash_table section_htab;
-};
-
-bfd_boolean bfd_preserve_save (bfd *, struct bfd_preserve *);
-
-void bfd_preserve_restore (bfd *, struct bfd_preserve *);
-
-void bfd_preserve_finish (bfd *, struct bfd_preserve *);
-
 bfd_vma bfd_emul_get_maxpagesize (const char *);
 
 void bfd_emul_set_maxpagesize (const char *, bfd_vma);
diff --git a/bfd/bfd.c b/bfd/bfd.c
index eed1896..cf50b70 100644
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -1687,128 +1687,6 @@ bfd_alt_mach_code (bfd *abfd, int alternative)
 }
 
 /*
-CODE_FRAGMENT
-
-.struct bfd_preserve
-.{
-.  void *marker;
-.  void *tdata;
-.  flagword flags;
-.  const struct bfd_arch_info *arch_info;
-.  struct bfd_section *sections;
-.  struct bfd_section *section_last;
-.  unsigned int section_count;
-.  struct bfd_hash_table section_htab;
-.};
-.
-*/
-
-/*
-FUNCTION
-	bfd_preserve_save
-
-SYNOPSIS
-	bfd_boolean bfd_preserve_save (bfd *, struct bfd_preserve *);
-
-DESCRIPTION
-	When testing an object for compatibility with a particular
-	target back-end, the back-end object_p function needs to set
-	up certain fields in the bfd on successfully recognizing the
-	object.  This typically happens in a piecemeal fashion, with
-	failures possible at many points.  On failure, the bfd is
-	supposed to be restored to its initial state, which is
-	virtually impossible.  However, restoring a subset of the bfd
-	state works in practice.  This function stores the subset and
-	reinitializes the bfd.
-
-*/
-
-bfd_boolean
-bfd_preserve_save (bfd *abfd, struct bfd_preserve *preserve)
-{
-  preserve->tdata = abfd->tdata.any;
-  preserve->arch_info = abfd->arch_info;
-  preserve->flags = abfd->flags;
-  preserve->sections = abfd->sections;
-  preserve->section_last = abfd->section_last;
-  preserve->section_count = abfd->section_count;
-  preserve->section_htab = abfd->section_htab;
-
-  if (! bfd_hash_table_init (&abfd->section_htab, bfd_section_hash_newfunc,
-			     sizeof (struct section_hash_entry)))
-    return FALSE;
-
-  abfd->tdata.any = NULL;
-  abfd->arch_info = &bfd_default_arch_struct;
-  abfd->flags &= BFD_FLAGS_SAVED;
-  abfd->sections = NULL;
-  abfd->section_last = NULL;
-  abfd->section_count = 0;
-
-  return TRUE;
-}
-
-/*
-FUNCTION
-	bfd_preserve_restore
-
-SYNOPSIS
-	void bfd_preserve_restore (bfd *, struct bfd_preserve *);
-
-DESCRIPTION
-	This function restores bfd state saved by bfd_preserve_save.
-	If MARKER is non-NULL in struct bfd_preserve then that block
-	and all subsequently bfd_alloc'd memory is freed.
-
-*/
-
-void
-bfd_preserve_restore (bfd *abfd, struct bfd_preserve *preserve)
-{
-  bfd_hash_table_free (&abfd->section_htab);
-
-  abfd->tdata.any = preserve->tdata;
-  abfd->arch_info = preserve->arch_info;
-  abfd->flags = preserve->flags;
-  abfd->section_htab = preserve->section_htab;
-  abfd->sections = preserve->sections;
-  abfd->section_last = preserve->section_last;
-  abfd->section_count = preserve->section_count;
-
-  /* bfd_release frees all memory more recently bfd_alloc'd than
-     its arg, as well as its arg.  */
-  if (preserve->marker != NULL)
-    {
-      bfd_release (abfd, preserve->marker);
-      preserve->marker = NULL;
-    }
-}
-
-/*
-FUNCTION
-	bfd_preserve_finish
-
-SYNOPSIS
-	void bfd_preserve_finish (bfd *, struct bfd_preserve *);
-
-DESCRIPTION
-	This function should be called when the bfd state saved by
-	bfd_preserve_save is no longer needed.  ie. when the back-end
-	object_p function returns with success.
-
-*/
-
-void
-bfd_preserve_finish (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_preserve *preserve)
-{
-  /* It would be nice to be able to free more memory here, eg. old
-     tdata, but that's not possible since these blocks are sitting
-     inside bfd_alloc'd memory.  The section hash is on a separate
-     objalloc.  */
-  bfd_hash_table_free (&preserve->section_htab);
-}
-
-/*
 FUNCTION
 	bfd_emul_get_maxpagesize
 
diff --git a/bfd/elfcode.h b/bfd/elfcode.h
index 30bda73..298ba35 100644
--- a/bfd/elfcode.h
+++ b/bfd/elfcode.h
@@ -495,13 +495,10 @@ elf_object_p (bfd *abfd)
   Elf_Internal_Shdr *i_shdrp;	/* Section header table, internal form */
   unsigned int shindex;
   const struct elf_backend_data *ebd;
-  struct bfd_preserve preserve;
   asection *s;
   bfd_size_type amt;
   const bfd_target *target;
 
-  preserve.marker = NULL;
-
   /* Read in the ELF header in external format.  */
 
   if (bfd_bread (&x_ehdr, sizeof (x_ehdr), abfd) != sizeof (x_ehdr))
@@ -539,9 +536,6 @@ elf_object_p (bfd *abfd)
       goto got_wrong_format_error;
     }
 
-  if (!bfd_preserve_save (abfd, &preserve))
-    goto got_no_match;
-
   target = abfd->xvec;
 
   /* Allocate an instance of the elf_obj_tdata structure and hook it up to
@@ -549,7 +543,6 @@ elf_object_p (bfd *abfd)
 
   if (! (*target->_bfd_set_format[bfd_object]) (abfd))
     goto got_no_match;
-  preserve.marker = elf_tdata (abfd);
 
   /* Now that we know the byte order, swap in the rest of the header */
   i_ehdrp = elf_elfheader (abfd);
@@ -842,25 +835,12 @@ elf_object_p (bfd *abfd)
 	    s->flags |= SEC_DEBUGGING;
 	}
     }
-
-  bfd_preserve_finish (abfd, &preserve);
   return target;
 
  got_wrong_format_error:
-  /* There is way too much undoing of half-known state here.  The caller,
-     bfd_check_format_matches, really shouldn't iterate on live bfd's to
-     check match/no-match like it does.  We have to rely on that a call to
-     bfd_default_set_arch_mach with the previously known mach, undoes what
-     was done by the first bfd_default_set_arch_mach (with mach 0) here.
-     For this to work, only elf-data and the mach may be changed by the
-     target-specific elf_backend_object_p function.  Note that saving the
-     whole bfd here and restoring it would be even worse; the first thing
-     you notice is that the cached bfd file position gets out of sync.  */
   bfd_set_error (bfd_error_wrong_format);
 
  got_no_match:
-  if (preserve.marker != NULL)
-    bfd_preserve_restore (abfd, &preserve);
   return NULL;
 }
 \f
diff --git a/bfd/elfcore.h b/bfd/elfcore.h
index 3d7d59f..8d5ec6d 100644
--- a/bfd/elfcore.h
+++ b/bfd/elfcore.h
@@ -84,11 +84,8 @@ elf_core_file_p (bfd *abfd)
   Elf_Internal_Phdr *i_phdrp;	/* Elf program header, internal form.  */
   unsigned int phindex;
   const struct elf_backend_data *ebd;
-  struct bfd_preserve preserve;
   bfd_size_type amt;
 
-  preserve.marker = NULL;
-
   /* Read in the ELF header in external format.  */
   if (bfd_bread (&x_ehdr, sizeof (x_ehdr), abfd) != sizeof (x_ehdr))
     {
@@ -123,13 +120,9 @@ elf_core_file_p (bfd *abfd)
       goto wrong;
     }
 
-  if (!bfd_preserve_save (abfd, &preserve))
-    goto fail;
-
   /* Give abfd an elf_obj_tdata.  */
   if (! (*abfd->xvec->_bfd_set_format[bfd_core]) (abfd))
     goto fail;
-  preserve.marker = elf_tdata (abfd);
 
   /* Swap in the rest of the header, now that we have the byte order.  */
   i_ehdrp = elf_elfheader (abfd);
@@ -318,24 +311,10 @@ elf_core_file_p (bfd *abfd)
 
   /* Save the entry point from the ELF header.  */
   bfd_get_start_address (abfd) = i_ehdrp->e_entry;
-
-  bfd_preserve_finish (abfd, &preserve);
   return abfd->xvec;
 
 wrong:
-  /* There is way too much undoing of half-known state here.  The caller,
-     bfd_check_format_matches, really shouldn't iterate on live bfd's to
-     check match/no-match like it does.  We have to rely on that a call to
-     bfd_default_set_arch_mach with the previously known mach, undoes what
-     was done by the first bfd_default_set_arch_mach (with mach 0) here.
-     For this to work, only elf-data and the mach may be changed by the
-     target-specific elf_backend_object_p function.  Note that saving the
-     whole bfd here and restoring it would be even worse; the first thing
-     you notice is that the cached bfd file position gets out of sync.  */
   bfd_set_error (bfd_error_wrong_format);
-
 fail:
-  if (preserve.marker != NULL)
-    bfd_preserve_restore (abfd, &preserve);
   return NULL;
 }
diff --git a/bfd/format.c b/bfd/format.c
index 66b9051..36eeb85 100644
--- a/bfd/format.c
+++ b/bfd/format.c
@@ -95,6 +95,91 @@ bfd_check_format (bfd *abfd, bfd_format format)
   return bfd_check_format_matches (abfd, format, NULL);
 }
 
+struct bfd_preserve
+{
+  void *marker;
+  void *tdata;
+  flagword flags;
+  const struct bfd_arch_info *arch_info;
+  struct bfd_section *sections;
+  struct bfd_section *section_last;
+  unsigned int section_count;
+  struct bfd_hash_table section_htab;
+};
+
+/* When testing an object for compatibility with a particular target
+   back-end, the back-end object_p function needs to set up certain
+   fields in the bfd on successfully recognizing the object.  This
+   typically happens in a piecemeal fashion, with failures possible at
+   many points.  On failure, the bfd is supposed to be restored to its
+   initial state, which is virtually impossible.  However, restoring a
+   subset of the bfd state works in practice.  This function stores
+   the subset.  */
+
+static bfd_boolean
+bfd_preserve_save (bfd *abfd, struct bfd_preserve *preserve)
+{
+  preserve->tdata = abfd->tdata.any;
+  preserve->arch_info = abfd->arch_info;
+  preserve->flags = abfd->flags;
+  preserve->sections = abfd->sections;
+  preserve->section_last = abfd->section_last;
+  preserve->section_count = abfd->section_count;
+  preserve->section_htab = abfd->section_htab;
+  preserve->marker = bfd_alloc (abfd, 1);
+  if (preserve->marker == NULL)
+    return FALSE;
+
+  return bfd_hash_table_init (&abfd->section_htab, bfd_section_hash_newfunc,
+			      sizeof (struct section_hash_entry));
+}
+
+/* Clear out a subset of BFD state.  */
+
+static void
+bfd_reinit (bfd *abfd)
+{
+  abfd->tdata.any = NULL;
+  abfd->arch_info = &bfd_default_arch_struct;
+  abfd->flags &= BFD_FLAGS_SAVED;
+  bfd_section_list_clear (abfd);
+}
+
+/* Restores bfd state saved by bfd_preserve_save.  */
+
+static void
+bfd_preserve_restore (bfd *abfd, struct bfd_preserve *preserve)
+{
+  bfd_hash_table_free (&abfd->section_htab);
+
+  abfd->tdata.any = preserve->tdata;
+  abfd->arch_info = preserve->arch_info;
+  abfd->flags = preserve->flags;
+  abfd->section_htab = preserve->section_htab;
+  abfd->sections = preserve->sections;
+  abfd->section_last = preserve->section_last;
+  abfd->section_count = preserve->section_count;
+
+  /* bfd_release frees all memory more recently bfd_alloc'd than
+     its arg, as well as its arg.  */
+  bfd_release (abfd, preserve->marker);
+  preserve->marker = NULL;
+}
+
+/* Called when the bfd state saved by bfd_preserve_save is no longer
+   needed.  */
+
+static void
+bfd_preserve_finish (bfd *abfd ATTRIBUTE_UNUSED, struct bfd_preserve *preserve)
+{
+  /* It would be nice to be able to free more memory here, eg. old
+     tdata, but that's not possible since these blocks are sitting
+     inside bfd_alloc'd memory.  The section hash is on a separate
+     objalloc.  */
+  bfd_hash_table_free (&preserve->section_htab);
+  preserve->marker = NULL;
+}
+
 /*
 FUNCTION
 	bfd_check_format_matches
@@ -124,6 +209,7 @@ bfd_check_format_matches (bfd *abfd, bfd_format format, char ***matching)
   const bfd_target *save_targ, *right_targ, *ar_right_targ, *match_targ;
   int match_count, best_count, best_match;
   int ar_match_index;
+  struct bfd_preserve preserve;
 
   if (matching != NULL)
     *matching = NULL;
@@ -138,12 +224,6 @@ bfd_check_format_matches (bfd *abfd, bfd_format format, char ***matching)
   if (abfd->format != bfd_unknown)
     return abfd->format == format;
 
-  /* Since the target type was defaulted, check them
-     all in the hope that one will be uniquely recognized.  */
-  save_targ = abfd->xvec;
-  match_count = 0;
-  ar_match_index = _bfd_target_vector_entries;
-
   if (matching != NULL || *bfd_associated_vector != NULL)
     {
       bfd_size_type amt;
@@ -154,14 +234,10 @@ bfd_check_format_matches (bfd *abfd, bfd_format format, char ***matching)
 	return FALSE;
     }
 
-  right_targ = 0;
-  ar_right_targ = 0;
-  match_targ = 0;
-  best_match = 256;
-  best_count = 0;
-
   /* Presume the answer is yes.  */
   abfd->format = format;
+  save_targ = abfd->xvec;
+  preserve.marker = NULL;
 
   /* If the target type was explicitly specified, just check that target.  */
   if (!abfd->target_defaulted)
@@ -190,6 +266,16 @@ bfd_check_format_matches (bfd *abfd, bfd_format format, char ***matching)
 	goto err_unrecog;
     }
 
+  /* Since the target type was defaulted, check them all in the hope
+     that one will be uniquely recognized.  */
+  right_targ = NULL;
+  ar_right_targ = NULL;
+  match_targ = NULL;
+  best_match = 256;
+  best_count = 0;
+  match_count = 0;
+  ar_match_index = _bfd_target_vector_entries;
+
   for (target = bfd_target_vector; *target != NULL; target++)
     {
       const bfd_target *temp;
@@ -201,7 +287,13 @@ bfd_check_format_matches (bfd *abfd, bfd_format format, char ***matching)
 	  || (*target)->match_priority > best_match)
 	continue;
 
-      abfd->xvec = *target;	/* Change BFD's target temporarily.  */
+      /* If we already tried a match, the bfd is modified and may
+	 have sections attached, which will confuse the next
+	 _bfd_check_format call.  */
+      bfd_reinit (abfd);
+
+      /* Change BFD's target temporarily.  */
+      abfd->xvec = *target;
 
       if (bfd_seek (abfd, (file_ptr) 0, SEEK_SET) != 0)
 	goto err_ret;
@@ -214,7 +306,11 @@ bfd_check_format_matches (bfd *abfd, bfd_format format, char ***matching)
 
       temp = BFD_SEND_FMT (abfd, _bfd_check_format, (abfd));
       if (temp)
-	match_targ = temp;
+	{
+	  match_targ = temp;
+	  if (preserve.marker != NULL)
+	    bfd_preserve_finish (abfd, &preserve);
+	}
 
       if (temp && (abfd->format != bfd_archive || bfd_has_map (abfd)))
 	{
@@ -253,6 +349,9 @@ bfd_check_format_matches (bfd *abfd, bfd_format format, char ***matching)
 	}
       else if (err != bfd_error_wrong_format)
 	goto err_ret;


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] 5+ messages in thread
* [SCM]  archer-jankratochvil-absdir: Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel
@ 2013-01-27 22:01 jkratoch
  0 siblings, 0 replies; 5+ messages in thread
From: jkratoch @ 2013-01-27 22:01 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-absdir has been updated
       via  672aaf87ea140eacbb7c6af61b443aaee3860a09 (commit)
       via  466546359251c6dc1f09ded0c0314478eacb8fe9 (commit)
       via  23e12ae6e5969bcb0a150e87794c9373e7206065 (commit)
      from  167f5462d519d3d878841e544d50f180866cbe47 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email.

- Log -----------------------------------------------------------------
commit 672aaf87ea140eacbb7c6af61b443aaee3860a09
Merge: 167f546 4665463
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jan 27 23:00:32 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel

commit 466546359251c6dc1f09ded0c0314478eacb8fe9
Merge: 7960ae6 23e12ae
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jan 27 23:00:31 2013 +0100

    Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal

commit 23e12ae6e5969bcb0a150e87794c9373e7206065
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sun Jan 27 22:59:50 2013 +0100

    .

-----------------------------------------------------------------------

Summary of changes:
 gdb/psymtab.c |   12 ++++--------
 gdb/symtab.c  |    8 +++-----
 2 files changed, 7 insertions(+), 13 deletions(-)

First 500 lines of diff:
diff --git a/gdb/psymtab.c b/gdb/psymtab.c
index dcf5570..2965e9f 100644
--- a/gdb/psymtab.c
+++ b/gdb/psymtab.c
@@ -1391,16 +1391,12 @@ expand_symtabs_matching_via_partial
 	  if (ps->anonymous)
 	    continue;
 
-	  if (!(*file_matcher) (ps->filename, data, 0))
-	    continue;
-
 	  /* Before we invoke realpath, which can get expensive when many
 	     files are involved, do a quick comparison of the basenames.  */
-	  if (!basenames_may_differ
-	      && !(*file_matcher) (lbasename (ps->filename), data, 1))
-	    continue;
-
-	  if (!(*file_matcher) (psymtab_to_fullname (ps), data, 0))
+	  if (!(*file_matcher) (ps->filename, data, 0)
+	      && (basenames_may_differ
+		  || (*file_matcher) (lbasename (ps->filename), data, 1))
+	      && !(*file_matcher) (psymtab_to_fullname (ps), data, 0))
 	    continue;
 	}
 
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 744b276..0b42e6e 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -3275,16 +3275,13 @@ sources_info (char *ignore, int from_tty)
 }
 
 /* Compare FILE against all the NFILES entries of FILES.  If BASENAMES is
-   non-zero compare only lbasename of everything.  */
+   non-zero compare only lbasename of FILES.  */
 
 static int
 file_matches (const char *file, char *files[], int nfiles, int basenames)
 {
   int i;
 
-  if (basenames)
-    file = lbasename (file);
-
   if (file != NULL && nfiles != 0)
     {
       for (i = 0; i < nfiles; i++)
@@ -3609,7 +3606,8 @@ search_symbols (char *regexp, enum search_domain kind,
 	       a substring of symtab_to_fullname as it may contain "./" etc.  */
 	    if ((file_matches (real_symtab->filename, files, nfiles, 0)
 		 || ((basenames_may_differ
-		      || file_matches (real_symtab->filename, files, nfiles, 1))
+		      || file_matches (lbasename (real_symtab->filename),
+				       files, nfiles, 1))
 		     && file_matches (symtab_to_fullname (real_symtab),
 				      files, nfiles, 0)))
 		&& ((!datum.preg_p


hooks/post-receive
--
Repository for Project Archer.


^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2013-01-27 22:01 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-01-25 15:07 [SCM] archer-jankratochvil-absdir: Merge branch 'xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal' into xfullpath-locsymtab-isabs-expandfullname-tuifullname-config-simple2-tui-psymtab-dw2fullreal-macrorel jkratoch
2013-01-25 18:06 jkratoch
2013-01-25 20:49 jkratoch
2013-01-27 21:18 jkratoch
2013-01-27 22:01 jkratoch

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).