public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
From: jkratoch@sourceware.org
To: archer-commits@sourceware.org
Subject: [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
Date: Sun, 27 Jan 2013 21:18:00 -0000	[thread overview]
Message-ID: <20130127211818.11739.qmail@sourceware.org> (raw)

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.


             reply	other threads:[~2013-01-27 21:18 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-01-27 21:18 jkratoch [this message]
  -- strict thread matches above, loose matches on Subject: below --
2013-01-27 22:01 jkratoch
2013-01-25 20:49 jkratoch
2013-01-25 18:06 jkratoch
2013-01-25 15:07 jkratoch

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20130127211818.11739.qmail@sourceware.org \
    --to=jkratoch@sourceware.org \
    --cc=archer-commits@sourceware.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).