public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  archer-jankratochvil-entryval: Merge branch 'commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref' into commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final
@ 2011-08-05 19:34 jkratoch
  0 siblings, 0 replies; 2+ messages in thread
From: jkratoch @ 2011-08-05 19:34 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-entryval has been updated
       via  354629c024cc23ca9efb9d6941a4196ac1c78606 (commit)
       via  f53f69030a5748235d45dca1f88659e66c4350d8 (commit)
       via  e691f511eb51e220a79afc72ee514a3697f555c9 (commit)
       via  d9790ef444f59d34a72f56024ad38ca8bcbd71fe (commit)
       via  fa49639ca539a93315e280faaaf045f8a456d703 (commit)
       via  61b6a2c7e365f070e15ab9ed5ecae21327daba0b (commit)
       via  20f03875a951f1f7d7be7d8559486674da7ff1e9 (commit)
       via  238b648c64628acc453f01e77b6994c33a771714 (commit)
       via  560c5bf676cd5aa079458d243aeb9b8f5188ff75 (commit)
       via  be4d9189571cfd0064d61be9d52b03e6736539a6 (commit)
       via  e755f18c455547dd07352d0391f8912b5617cfb7 (commit)
       via  aeef8260ef92baed1903cdda9e5104f123ef6c3e (commit)
       via  550ae347746af5a2a3b2847ff6da3f331aef52cd (commit)
       via  66e2c5800431861dd71cb0ea8adf135d84a68b6e (commit)
       via  c5fce18816c49d91c06c0bd9a4e5d6726af5c508 (commit)
       via  7c9202cb57f8395f8149ea27583145555facef10 (commit)
       via  101154f1453bae9d106d16d2370abc4654bc8f35 (commit)
       via  f1474dc4749ecf868dc8353c7563f899ba47b47b (commit)
       via  d98d69f90da424d4ca4edea77e38cd13488af5ce (commit)
       via  1716dce74927cbfc06d27862c2ac3e9335ce9b4d (commit)
       via  1ee5d2481d40c42da16347b1d129de8dc54f6340 (commit)
       via  ac307d43f7a779d054d0a28ca5ad9490ef4d1728 (commit)
       via  2d5f0b2d9e6e25c526ce4596139c74708d0f024d (commit)
       via  f6811c1f3ff7de0e03270d7f88ba2c82b14c309a (commit)
       via  622270636fb94cf9b066d61a0778f733d9a2953d (commit)
      from  924f4d13c1cb817aadc5472e4123ed4562664397 (commit)

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

- Log -----------------------------------------------------------------
commit 354629c024cc23ca9efb9d6941a4196ac1c78606
Merge: 924f4d1 f53f690
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 21:32:36 2011 +0200

    Merge branch 'commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref' into commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final

commit f53f69030a5748235d45dca1f88659e66c4350d8
Merge: 860bbef e691f51
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 21:32:32 2011 +0200

    Merge branch 'commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp' into commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref

commit e691f511eb51e220a79afc72ee514a3697f555c9
Merge: 5c485a9 d9790ef
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 21:32:31 2011 +0200

    Merge branch 'commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref' into commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp

commit d9790ef444f59d34a72f56024ad38ca8bcbd71fe
Merge: 99fc08e fa49639
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 21:32:27 2011 +0200

    Merge branch 'commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull' into commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref

commit fa49639ca539a93315e280faaaf045f8a456d703
Merge: b116ee6 61b6a2c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 21:32:26 2011 +0200

    Merge branch 'commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt' into commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull

commit 61b6a2c7e365f070e15ab9ed5ecae21327daba0b
Merge: 203d514 20f0387
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 21:32:23 2011 +0200

    Merge branch 'commands-funcstuff-basic-tailread-tailframe-selftail-printarg' into commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt

commit 20f03875a951f1f7d7be7d8559486674da7ff1e9
Merge: 664bd11 238b648
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 21:32:22 2011 +0200

    Merge branch 'commands-funcstuff-basic-tailread-tailframe-selftail' into commands-funcstuff-basic-tailread-tailframe-selftail-printarg

commit 238b648c64628acc453f01e77b6994c33a771714
Merge: f2ebbd0 560c5bf
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 21:32:21 2011 +0200

    Merge branch 'commands-funcstuff-basic-tailread-tailframe' into commands-funcstuff-basic-tailread-tailframe-selftail

commit 560c5bf676cd5aa079458d243aeb9b8f5188ff75
Merge: 173d43e be4d918
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 21:32:19 2011 +0200

    Merge branch 'commands-funcstuff-basic-tailread' into commands-funcstuff-basic-tailread-tailframe

commit be4d9189571cfd0064d61be9d52b03e6736539a6
Merge: f89661a e755f18
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 21:32:16 2011 +0200

    Merge branch 'commands-funcstuff-basic' into commands-funcstuff-basic-tailread

commit e755f18c455547dd07352d0391f8912b5617cfb7
Merge: 617b61a aeef826
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 21:32:15 2011 +0200

    Merge branch 'commands-funcstuff' into commands-funcstuff-basic

commit aeef8260ef92baed1903cdda9e5104f123ef6c3e
Merge: a7118fd 550ae34
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 21:32:14 2011 +0200

    Merge branch 'commands' into commands-funcstuff

commit 550ae347746af5a2a3b2847ff6da3f331aef52cd
Merge: 66e2c58 c5fce18
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 21:31:58 2011 +0200

    Merge remote-tracking branch 'gdb/master' into commands
    
    Conflicts:
    	gdb/exceptions.c

commit 66e2c5800431861dd71cb0ea8adf135d84a68b6e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 21:31:31 2011 +0200

    commands2

commit c5fce18816c49d91c06c0bd9a4e5d6726af5c508
Author: David S. Miller <davem@redhat.com>
Date:   Fri Aug 5 16:52:48 2011 +0000

    include/opcode/
    	* sparc.h: Document new format codes '4', '5', and '('.
    	(OPF_LOW4, RS3): New macros.
    opcodes/
    	* sparc-dis.c (v9a_ast_reg_names): Add "cps".
    	(X_RS3): New macro.
    	(print_insn_sparc): Handle '4', '5', and '(' format codes.
    	Accept %asr numbers below 28.
    	* sparc-opc.c (sparc_opcodes): Add entries for HPC and VIS3
    	instructions.
    gas/
    	* config/tc-sparc.c (v9a_asr_table): Add "cps".
    	(sparc_ip): Handle '4', '5' and '(' format codes.
    gas/testsuite
    	* gas/sparc/hpcvis3.d: New test.
    	* gas/sparc/hpcvis3.s: New test source.
    	* gas/sparc/sparc.exp: Run new test.

commit 7c9202cb57f8395f8149ea27583145555facef10
Author: Paul Pluzhnikov <ppluzhnikov@google.com>
Date:   Fri Aug 5 16:38:34 2011 +0000

    2011-08-05  Paul Pluzhnikov  <ppluzhnikov@google.com>
    
    	* solib-target.c (segment_attributes): Make them static.
    	(section_attributes, library_children, library_attributes): Likewise.
    	(library_list_children, library_list_attributes): Likesise.
    	(library_list_elements): Likewise.

commit 101154f1453bae9d106d16d2370abc4654bc8f35
Author: Pedro Alves <pedro@codesourcery.com>
Date:   Fri Aug 5 15:17:53 2011 +0000

    	gdb/
    	* exceptions.c (throw_exception): Don't disable the current
    	display.
    	* printcmd.c (disable_current_display_cleanup): New function.
    	(do_one_display): Install a cleanup to disable the current display
    	if doing the display throws.
    
    	gdb/testsuite/
    	* gdb.trace/unavailable.exp (test_maybe_regvar_display): New
    	procedure.
    	(gdb_collect_args_test, gdb_collect_locals_test): Use it.

commit f1474dc4749ecf868dc8353c7563f899ba47b47b
Author: Paul Pluzhnikov <ppluzhnikov@google.com>
Date:   Fri Aug 5 15:17:23 2011 +0000

    Clean up trailing white space

commit d98d69f90da424d4ca4edea77e38cd13488af5ce
Author: Eli Zaretskii <eliz@gnu.org>
Date:   Fri Aug 5 14:24:06 2011 +0000

     * python/py-breakpoint.c (gdbpy_initialize_breakpoints): Move the
     initialization of the tp_new member to the corresponding
     gdbpy_initialize_* function.
     * python/py-cmd.c (gdbpy_initialize_commands): Likewise.
     * python/py-frame.c (gdbpy_initialize_frames): Likewise.
     * python/py-function.c (gdbpy_initialize_functions): Likewise.
     * python/py-inferior.c (gdbpy_initialize_inferior): Likewise.
     * python/py-param.c (gdbpy_initialize_parameters): Likewise.

commit 1716dce74927cbfc06d27862c2ac3e9335ce9b4d
Author: Eli Zaretskii <eliz@gnu.org>
Date:   Fri Aug 5 14:21:06 2011 +0000

     win32-low.c: Include <stdint.h>.

commit 1ee5d2481d40c42da16347b1d129de8dc54f6340
Author: Mark Kettenis <kettenis@gnu.org>
Date:   Fri Aug 5 12:37:24 2011 +0000

    * netbsd-core.c (netbsd_core_vec): Init match_priority field.

commit ac307d43f7a779d054d0a28ca5ad9490ef4d1728
Author: qiyao <qiyao>
Date:   Fri Aug 5 09:41:26 2011 +0000

    gdb/testsuite/
            * gdb.base/callfuncs.exp: Set language after main.
            * gdb.cp/cplusfuncs.exp: Likewise.
            * gdb.cp/inherit.exp: Likewise.

commit 2d5f0b2d9e6e25c526ce4596139c74708d0f024d
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Fri Aug 5 06:22:21 2011 +0000

    bfd/
    	* elf64-ppc.c (maybe_strip_output): New function.
    	(ppc64_elf_size_stubs): Use it to strip .branch_lt and .eh_frame.
    ld/testsuite/
    	* ld-powerpc/tlsexe.r: Update for stripped .branch_lt.
    	* ld-powerpc/tlsexetoc.r: Likewise.
    	* ld-powerpc/tlsso.r: Likewise.
    	* ld-powerpc/tlstocso.r: Likewise.

commit f6811c1f3ff7de0e03270d7f88ba2c82b14c309a
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Fri Aug 5 03:17:09 2011 +0000

    	PR ld/12762
    bfd/
    	* elflink.c (_bfd_elf_section_already_linked): Return matched
    	status.  Remove COFF comdat section handling.
    	* linker.c (_bfd_generic_section_already_linked): Return matched
    	status.  Don't set SEC_GROUP in l_flags for plugin entries.
    	(bfd_section_already_linked): Update prototype.
    	* targets.c (_section_already_linked): Likewise.
    	* elf-bfd.h (_bfd_elf_section_already_linked): Likewise.
    	* libbfd-in.h (_bfd_generic_section_already_linked): Likewise.
    	(_bfd_nolink_section_already_linked): Update.
    	* libbfd.h: Regenerate.
    	* bfd-in2.h: Regenerate.
    ld/
    	* plugin.c (add_symbols): Exclude comdat_key symbols from symbol
    	table if already seen.

commit 622270636fb94cf9b066d61a0778f733d9a2953d
Author: Alan Modra <amodra@bigpond.net.au>
Date:   Fri Aug 5 02:24:08 2011 +0000

    	* elf32-ppc.c: Include dwarf2.h.
    	(struct ppc_elf_link_hash_table): Add glink_eh_frame.
    	(ppc_elf_create_glink): Create .eh_frame section.
    	(glink_eh_frame_cie): New array.
    	(ppc_elf_size_dynamic_sections): Size glink_eh_frame.
    	(ppc_elf_finish_dynamic_sections): Write glink_eh_frame.

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

Summary of changes:
 bfd/ChangeLog                           |   41 +++++++++--
 bfd/bfd-in2.h                           |    6 +-
 bfd/elf-bfd.h                           |    2 +-
 bfd/elf32-ppc.c                         |  115 +++++++++++++++++++++++++++++++
 bfd/elf64-ppc.c                         |   27 ++++++-
 bfd/elflink.c                           |   29 ++++----
 bfd/libbfd-in.h                         |    6 +-
 bfd/libbfd.h                            |    6 +-
 bfd/linker.c                            |   23 +++---
 bfd/netbsd-core.c                       |    1 +
 bfd/targets.c                           |    4 +-
 gdb/ChangeLog                           |   26 +++++++
 gdb/event-loop.c                        |    3 -
 gdb/event-top.c                         |    1 -
 gdb/exceptions.c                        |    3 +
 gdb/gdbserver/ChangeLog                 |    4 +
 gdb/gdbserver/win32-low.c               |    1 +
 gdb/main.c                              |    3 -
 gdb/printcmd.c                          |   11 ++--
 gdb/python/py-breakpoint.c              |    2 +-
 gdb/python/py-cmd.c                     |    2 +-
 gdb/python/py-frame.c                   |    2 +-
 gdb/python/py-function.c                |    2 +-
 gdb/python/py-inferior.c                |    2 +-
 gdb/python/py-param.c                   |    2 +-
 gdb/solib-svr4.c                        |   12 ++--
 gdb/solib-target.c                      |   14 ++--
 gdb/testsuite/ChangeLog                 |   12 +++
 gdb/testsuite/gdb.base/callfuncs.exp    |    2 +-
 gdb/testsuite/gdb.cp/cplusfuncs.exp     |    2 +-
 gdb/testsuite/gdb.cp/inherit.exp        |    2 +-
 gdb/testsuite/gdb.trace/unavailable.exp |   34 +++++++++
 gdb/top.c                               |    1 -
 include/opcode/ChangeLog                |    5 ++
 include/opcode/sparc.h                  |    8 ++-
 opcodes/ChangeLog                       |    9 +++
 opcodes/sparc-dis.c                     |   19 ++++-
 opcodes/sparc-opc.c                     |   88 +++++++++++++++++++++++
 38 files changed, 443 insertions(+), 89 deletions(-)

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 85ef260..673f96a 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,36 @@
+2011-08-05  Mark Kettenis  <kettenis@gnu.org>
+
+	* netbsd-core.c (netbsd_core_vec): Init match_priority field.
+
+2011-08-05  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (maybe_strip_output): New function.
+	(ppc64_elf_size_stubs): Use it to strip .branch_lt and .eh_frame.
+
+2011-08-05  Alan Modra  <amodra@gmail.com>
+
+	PR ld/12762
+	* elflink.c (_bfd_elf_section_already_linked): Return matched
+	status.  Remove COFF comdat section handling.
+	* linker.c (_bfd_generic_section_already_linked): Return matched
+	status.  Don't set SEC_GROUP in l_flags for plugin entries.
+	(bfd_section_already_linked): Update prototype.
+	* targets.c (_section_already_linked): Likewise.
+	* elf-bfd.h (_bfd_elf_section_already_linked): Likewise.
+	* libbfd-in.h (_bfd_generic_section_already_linked): Likewise.
+	(_bfd_nolink_section_already_linked): Update.
+	* libbfd.h: Regenerate.
+	* bfd-in2.h: Regenerate.
+
+2011-08-05  Alan Modra  <amodra@gmail.com>
+
+	* elf32-ppc.c: Include dwarf2.h.
+	(struct ppc_elf_link_hash_table): Add glink_eh_frame.
+	(ppc_elf_create_glink): Create .eh_frame section.
+	(glink_eh_frame_cie): New array.
+	(ppc_elf_size_dynamic_sections): Size glink_eh_frame.
+	(ppc_elf_finish_dynamic_sections): Write glink_eh_frame.
+
 2011-08-04  Tristan Gingold  <gingold@adacore.com>
 
 	* vms-alpha.c (_bfd_vms_write_eeom): Round vms_linkage_index.
@@ -135,13 +168,7 @@
 
 2011-07-26  Alan Modra  <amodra@gmail.com>
 
-	* elf32-ppc.c: Include dwarf2.h.
-	(struct ppc_elf_link_hash_table): Add glink_eh_frame.
-	(ppc_elf_create_glink): Create .eh_frame section.
-	(glink_eh_frame_cie): New array.
-	(ppc_elf_size_dynamic_sections): Size glink_eh_frame.
-	(ppc_elf_finish_dynamic_sections): Write glink_eh_frame.
-	* elf64-ppc.c: Include dwarg2.h.
+	* elf64-ppc.c: Include dwarf2.h.
 	(struct ppc_link_hash_table): Add glink_eh_frame.
 	(create_linkage_sections): Create .eh_frame section.
 	(ppc64_elf_size_dynamic_sections): Arrange to drop unneeded
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index ac8145d..af13ca4 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -6107,8 +6107,8 @@ typedef struct bfd_target
 
   /* Check if SEC has been already linked during a reloceatable or
      final link.  */
-  void (*_section_already_linked) (bfd *, struct already_linked *,
-                                   struct bfd_link_info *);
+  bfd_boolean (*_section_already_linked) (bfd *, struct already_linked *,
+                                          struct bfd_link_info *);
 
   /* Define a common symbol.  */
   bfd_boolean (*_bfd_define_common_symbol) (bfd *, struct bfd_link_info *,
@@ -6177,7 +6177,7 @@ bfd_boolean bfd_link_split_section (bfd *abfd, asection *sec);
 #define bfd_link_split_section(abfd, sec) \
        BFD_SEND (abfd, _bfd_link_split_section, (abfd, sec))
 
-void bfd_section_already_linked (bfd *abfd,
+bfd_boolean bfd_section_already_linked (bfd *abfd,
     struct already_linked *data,
     struct bfd_link_info *info);
 
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index e6ea580..2c80f67 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -1802,7 +1802,7 @@ extern bfd_boolean _bfd_elf_match_sections_by_type
 extern bfd_boolean bfd_elf_is_group_section
   (bfd *, const struct bfd_section *);
 struct already_linked;
-extern void _bfd_elf_section_already_linked
+extern bfd_boolean _bfd_elf_section_already_linked
   (bfd *, struct already_linked *, struct bfd_link_info *);
 extern void bfd_elf_set_group_contents
   (bfd *, asection *, void *);
diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c
index 4dd193a..7e66134 100644
--- a/bfd/elf32-ppc.c
+++ b/bfd/elf32-ppc.c
@@ -36,6 +36,7 @@
 #include "elf/ppc.h"
 #include "elf32-ppc.h"
 #include "elf-vxworks.h"
+#include "dwarf2.h"
 
 /* RELA relocations are used here.  */
 
@@ -2679,6 +2680,7 @@ struct ppc_elf_link_hash_table
   asection *relsbss;
   elf_linker_section_t sdata[2];
   asection *sbss;
+  asection *glink_eh_frame;
 
   /* The (unloaded but important) .rela.plt.unloaded on VxWorks.  */
   asection *srelplt2;
@@ -2869,6 +2871,17 @@ ppc_elf_create_glink (bfd *abfd, struct bfd_link_info *info)
       || !bfd_set_section_alignment (abfd, s, 4))
     return FALSE;
 
+  if (!info->no_ld_generated_unwind_info)
+    {
+      flags = (SEC_ALLOC | SEC_LOAD | SEC_READONLY | SEC_HAS_CONTENTS
+	       | SEC_IN_MEMORY | SEC_LINKER_CREATED);
+      s = bfd_make_section_anyway_with_flags (abfd, ".eh_frame", flags);
+      htab->glink_eh_frame = s;
+      if (s == NULL
+	  || !bfd_set_section_alignment (abfd, s, 2))
+	return FALSE;
+    }
+
   flags = SEC_ALLOC | SEC_LINKER_CREATED;
   s = bfd_make_section_anyway_with_flags (abfd, ".iplt", flags);
   htab->iplt = s;
@@ -5508,6 +5521,20 @@ maybe_set_textrel (struct elf_link_hash_entry *h, void *info)
   return TRUE;
 }
 
+static const unsigned char glink_eh_frame_cie[] =
+{
+  0, 0, 0, 16,				/* length.  */
+  0, 0, 0, 0,				/* id.  */
+  1,					/* CIE version.  */
+  'z', 'R', 0,				/* Augmentation string.  */
+  4,					/* Code alignment.  */
+  0x7c,					/* Data alignment.  */
+  65,					/* RA reg.  */
+  1,					/* Augmentation size.  */
+  DW_EH_PE_pcrel | DW_EH_PE_sdata4,	/* FDE encoding.  */
+  DW_CFA_def_cfa, 1, 0			/* def_cfa: r1 offset 0.  */
+};
+
 /* Set the sizes of the dynamic sections.  */
 
 static bfd_boolean
@@ -5768,6 +5795,21 @@ ppc_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
 	}
     }
 
+  if (htab->glink != NULL
+      && htab->glink->size != 0
+      && htab->glink_eh_frame != NULL
+      && !bfd_is_abs_section (htab->glink_eh_frame->output_section))
+    {
+      s = htab->glink_eh_frame;
+      s->size = sizeof (glink_eh_frame_cie) + 20;
+      if (info->shared)
+	{
+	  s->size += 4;
+	  if (htab->glink->size - GLINK_PLTRESOLVE + 8 >= 256)
+	    s->size += 4;
+	}
+    }
+
   /* We've now determined the sizes of the various dynamic sections.
      Allocate memory for them.  */
   relocs = FALSE;
@@ -5791,6 +5833,7 @@ ppc_elf_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
 	}
       else if (s == htab->iplt
 	       || s == htab->glink
+	       || s == htab->glink_eh_frame
 	       || s == htab->sgotplt
 	       || s == htab->sbss
 	       || s == htab->dynbss
@@ -8915,6 +8958,78 @@ ppc_elf_finish_dynamic_sections (bfd *output_bfd,
 	}
     }
 
+  if (htab->glink_eh_frame != NULL
+      && htab->glink_eh_frame->contents != NULL)
+    {
+      unsigned char *p = htab->glink_eh_frame->contents;
+      bfd_vma val;
+
+      memcpy (p, glink_eh_frame_cie, sizeof (glink_eh_frame_cie));
+      /* CIE length (rewrite in case little-endian).  */
+      bfd_put_32 (htab->elf.dynobj, sizeof (glink_eh_frame_cie) - 4, p);
+      p += sizeof (glink_eh_frame_cie);
+      /* FDE length.  */
+      val = htab->glink_eh_frame->size - 4 - sizeof (glink_eh_frame_cie);
+      bfd_put_32 (htab->elf.dynobj, val, p);
+      p += 4;
+      /* CIE pointer.  */
+      val = p - htab->glink_eh_frame->contents;
+      bfd_put_32 (htab->elf.dynobj, val, p);
+      p += 4;
+      /* Offset to .glink.  */
+      val = (htab->glink->output_section->vma
+	     + htab->glink->output_offset);
+      val -= (htab->glink_eh_frame->output_section->vma
+	      + htab->glink_eh_frame->output_offset);
+      val -= p - htab->glink_eh_frame->contents;
+      bfd_put_32 (htab->elf.dynobj, val, p);
+      p += 4;
+      /* .glink size.  */
+      bfd_put_32 (htab->elf.dynobj, htab->glink->size, p);
+      p += 4;
+      /* Augmentation.  */
+      p += 1;
+
+      if (info->shared
+	  && htab->elf.dynamic_sections_created)
+	{
+	  bfd_vma adv = (htab->glink->size - GLINK_PLTRESOLVE + 8) >> 2;
+	  if (adv < 64)
+	    *p++ = DW_CFA_advance_loc + adv;
+	  else if (adv < 256)
+	    {
+	      *p++ = DW_CFA_advance_loc1;
+	      *p++ = adv;
+	    }
+	  else if (adv < 65536)
+	    {
+	      *p++ = DW_CFA_advance_loc2;
+	      bfd_put_16 (htab->elf.dynobj, adv, p);
+	      p += 2;
+	    }
+	  else
+	    {
+	      *p++ = DW_CFA_advance_loc4;
+	      bfd_put_32 (htab->elf.dynobj, adv, p);
+	      p += 4;
+	    }
+	  *p++ = DW_CFA_register;
+	  *p++ = 65;
+	  p++;
+	  *p++ = DW_CFA_advance_loc + 4;
+	  *p++ = DW_CFA_restore_extended;
+	  *p++ = 65;
+	}
+      BFD_ASSERT ((bfd_vma) ((p + 3 - htab->glink_eh_frame->contents) & -4)
+		  == htab->glink_eh_frame->size);
+
+      if (htab->glink_eh_frame->sec_info_type == ELF_INFO_TYPE_EH_FRAME
+	  && !_bfd_elf_write_section_eh_frame (output_bfd, info,
+					       htab->glink_eh_frame,
+					       htab->glink_eh_frame->contents))
+	return FALSE;
+    }
+
   return ret;
 }
 \f
diff --git a/bfd/elf64-ppc.c b/bfd/elf64-ppc.c
index d13447e..e942a7a 100644
--- a/bfd/elf64-ppc.c
+++ b/bfd/elf64-ppc.c
@@ -10871,6 +10871,26 @@ static const unsigned char glink_eh_frame_cie[] =
   DW_CFA_def_cfa, 1, 0			/* def_cfa: r1 offset 0.  */
 };
 
+/* Stripping output sections is normally done before dynamic section
+   symbols have been allocated.  This function is called later, and
+   handles cases like htab->brlt which is mapped to its own output
+   section.  */
+
+static void
+maybe_strip_output (struct bfd_link_info *info, asection *isec)
+{
+  if (isec->size == 0
+      && isec->output_section->size == 0
+      && !bfd_section_removed_from_list (info->output_bfd,
+					 isec->output_section)
+      && elf_section_data (isec->output_section)->dynindx == 0)
+    {
+      isec->output_section->flags |= SEC_EXCLUDE;
+      bfd_section_list_remove (info->output_bfd, isec->output_section);
+      info->output_bfd->section_count--;
+    }
+}
+
 /* Determine and set the size of the stub section for a final link.
 
    The basic idea here is to examine all the relocations looking for
@@ -11251,10 +11271,9 @@ ppc64_elf_size_stubs (struct bfd_link_info *info, bfd_signed_vma group_size,
       (*htab->layout_sections_again) ();
     }
 
-  /* It would be nice to strip htab->brlt from the output if the
-     section is empty, but it's too late.  If we strip sections here,
-     the dynamic symbol table is corrupted since the section symbol
-     for the stripped section isn't written.  */
+  maybe_strip_output (info, htab->brlt);
+  if (htab->glink_eh_frame != NULL)
+    maybe_strip_output (info, htab->glink_eh_frame);
 
   return TRUE;
 }
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 2e592f5..53765b6 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -12515,7 +12515,7 @@ section_signature (asection *sec)
   return sec->name;
 }
 
-void
+bfd_boolean
 _bfd_elf_section_already_linked (bfd *abfd,
 				 struct already_linked *linked,
 				 struct bfd_link_info *info)
@@ -12525,6 +12525,7 @@ _bfd_elf_section_already_linked (bfd *abfd,
   struct bfd_section_already_linked *l;
   struct bfd_section_already_linked_hash_entry *already_linked_list;
   asection *sec, *l_sec;
+  bfd_boolean matched;
 
   p = name = linked->comdat_key;
   if (name)
@@ -12536,20 +12537,20 @@ _bfd_elf_section_already_linked (bfd *abfd,
     {
       sec = linked->u.sec;
       if (sec->output_section == bfd_abs_section_ptr)
-	return;
+	return FALSE;
 
       flags = sec->flags;
 
       /* Return if it isn't a linkonce section.  A comdat group section
 	 also has SEC_LINK_ONCE set.  */
       if ((flags & SEC_LINK_ONCE) == 0)
-	return;
+	return FALSE;
 
       /* Don't put group member sections on our list of already linked
 	 sections.  They are handled as a group via their group section.
 	 */
       if (elf_sec_group (sec) != NULL)
-	return;
+	return FALSE;
 
       /* FIXME: When doing a relocatable link, we may have trouble
 	 copying relocations in other sections that refer to local symbols
@@ -12582,7 +12583,6 @@ _bfd_elf_section_already_linked (bfd *abfd,
 
   for (l = already_linked_list->entry; l != NULL; l = l->next)
     {
-      bfd_boolean l_coff_comdat_sec;
       flagword l_flags;
       bfd *l_owner;
       const char *l_name = l->linked.comdat_key;
@@ -12593,23 +12593,19 @@ _bfd_elf_section_already_linked (bfd *abfd,
 	  l_flags = (SEC_GROUP
 		     | SEC_LINK_ONCE
 		     | SEC_LINK_DUPLICATES_DISCARD);
-	  l_coff_comdat_sec = FALSE;
 	}
       else
 	{
 	  l_sec = l->linked.u.sec;
 	  l_owner = l_sec->owner;
 	  l_flags = l_sec->flags;
-	  l_coff_comdat_sec
-	    = !!bfd_coff_get_comdat_section (l_sec->owner, l_sec);
 	  l_name = section_signature (l_sec);
 	}
 
       /* We may have 2 different types of sections on the list: group
 	 sections and linkonce sections.  Match like sections.  */
       if ((flags & SEC_GROUP) == (l_flags & SEC_GROUP)
-	  && strcmp (name, l_name) == 0
-	  && !l_coff_comdat_sec)
+	  && strcmp (name, l_name) == 0)
 	{
 	  /* The section has already been linked.  See if we should
 	     issue a warning.  */
@@ -12629,7 +12625,7 @@ _bfd_elf_section_already_linked (bfd *abfd,
 		  && (l_owner->flags & BFD_PLUGIN) != 0)
 		{
 		  l->linked = *linked;
-		  return;
+		  return FALSE;
 		}
 	      break;
 
@@ -12711,10 +12707,11 @@ _bfd_elf_section_already_linked (bfd *abfd,
 		}
 	    }
 
-	  return;
+	  return TRUE;
 	}
     }
 
+  matched = FALSE;
   if (sec)
     {
       /* A single member comdat group section may be discarded by a
@@ -12742,6 +12739,7 @@ _bfd_elf_section_already_linked (bfd *abfd,
 			first->output_section = bfd_abs_section_ptr;
 			first->kept_section = l_sec;
 			sec->output_section = bfd_abs_section_ptr;
+			matched = TRUE;
 			break;
 		      }
 		  }
@@ -12767,6 +12765,7 @@ _bfd_elf_section_already_linked (bfd *abfd,
 		      {
 			sec->output_section = bfd_abs_section_ptr;
 			sec->kept_section = first;
+			matched = TRUE;
 			break;
 		      }
 		  }
@@ -12799,7 +12798,10 @@ _bfd_elf_section_already_linked (bfd *abfd,
 		    && CONST_STRNEQ (l_sec->name, ".gnu.linkonce.t."))
 		  {
 		    if (abfd != l_sec->owner)
-		      sec->output_section = bfd_abs_section_ptr;
+		      {
+			sec->output_section = bfd_abs_section_ptr;
+			matched = TRUE;
+		      }
 		    break;
 		  }
 	      }
@@ -12810,6 +12812,7 @@ _bfd_elf_section_already_linked (bfd *abfd,
   if (! bfd_section_already_linked_table_insert (already_linked_list,
 						 linked))
     info->callbacks->einfo (_("%F%P: already_linked_table: %E\n"));
+  return matched;
 }
 
 bfd_boolean
diff --git a/bfd/libbfd-in.h b/bfd/libbfd-in.h
index 0c98b47..db39f3c 100644
--- a/bfd/libbfd-in.h
+++ b/bfd/libbfd-in.h
@@ -481,8 +481,8 @@ extern bfd_boolean _bfd_generic_set_section_contents
 #define _bfd_nolink_bfd_link_split_section \
   ((bfd_boolean (*) (bfd *, struct bfd_section *)) bfd_false)
 #define _bfd_nolink_section_already_linked \
-  ((void (*) (bfd *, struct already_linked*, \
-	      struct bfd_link_info *)) bfd_void)
+  ((bfd_boolean (*) (bfd *, struct already_linked*, \
+		     struct bfd_link_info *)) bfd_false)
 #define _bfd_nolink_bfd_define_common_symbol \
   ((bfd_boolean (*) (bfd *, struct bfd_link_info *, \
 		     struct bfd_link_hash_entry *)) bfd_false)
@@ -602,7 +602,7 @@ extern bfd_boolean _bfd_generic_final_link
 extern bfd_boolean _bfd_generic_link_split_section
   (bfd *, struct bfd_section *);
 
-extern void _bfd_generic_section_already_linked
+extern bfd_boolean _bfd_generic_section_already_linked
   (bfd *, struct already_linked *, struct bfd_link_info *);
 
 /* Generic reloc_link_order processing routine.  */
diff --git a/bfd/libbfd.h b/bfd/libbfd.h
index 33069b0..71188dc 100644
--- a/bfd/libbfd.h
+++ b/bfd/libbfd.h
@@ -486,8 +486,8 @@ extern bfd_boolean _bfd_generic_set_section_contents
 #define _bfd_nolink_bfd_link_split_section \
   ((bfd_boolean (*) (bfd *, struct bfd_section *)) bfd_false)
 #define _bfd_nolink_section_already_linked \
-  ((void (*) (bfd *, struct already_linked*, \
-	      struct bfd_link_info *)) bfd_void)
+  ((bfd_boolean (*) (bfd *, struct already_linked*, \
+		     struct bfd_link_info *)) bfd_false)
 #define _bfd_nolink_bfd_define_common_symbol \
   ((bfd_boolean (*) (bfd *, struct bfd_link_info *, \
 		     struct bfd_link_hash_entry *)) bfd_false)
@@ -607,7 +607,7 @@ extern bfd_boolean _bfd_generic_final_link
 extern bfd_boolean _bfd_generic_link_split_section
   (bfd *, struct bfd_section *);
 
-extern void _bfd_generic_section_already_linked
+extern bfd_boolean _bfd_generic_section_already_linked
   (bfd *, struct already_linked *, struct bfd_link_info *);
 
 /* Generic reloc_link_order processing routine.  */
diff --git a/bfd/linker.c b/bfd/linker.c
index 8700c05..b3ccefd 100644
--- a/bfd/linker.c
+++ b/bfd/linker.c
@@ -2888,13 +2888,13 @@ FUNCTION
 	bfd_section_already_linked
 
 SYNOPSIS
-        void bfd_section_already_linked (bfd *abfd,
-					 struct already_linked *data,


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


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

* [SCM]  archer-jankratochvil-entryval: Merge branch 'commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref' into commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final
@ 2011-08-05 16:12 jkratoch
  0 siblings, 0 replies; 2+ messages in thread
From: jkratoch @ 2011-08-05 16:12 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-entryval has been updated
       via  924f4d13c1cb817aadc5472e4123ed4562664397 (commit)
       via  860bbefd93a60a7da83b62d33a9f1d031c5ab3d8 (commit)
       via  5c485a9a418b9f3801552b880f30d7174d68e51a (commit)
       via  99fc08e8b7dbe96423e9f377f6c65c3556e32bdd (commit)
       via  b116ee61e56167ce354a111d2065a1a5ae268024 (commit)
       via  203d514d7a2006ca49724ec52932cc262e52b373 (commit)
       via  d97c737ad3f0d79b520632b85e6889f656d2ec0f (commit)
       via  9f3eb48a1faf0425e5aacba352303317c7be9f2b (commit)
       via  46345c77df15bd8067dbb564b59a89e017b85412 (commit)
       via  3af540230cf077184c0d2a31ad5ea2d9ae995c33 (commit)
       via  c4fa1f3e2cffdca9ac49c0e6b91d73e3720552c4 (commit)
       via  838247f9bd2bbad576ca6ff8e2991a4fd1730fbf (commit)
       via  664bd111fd05a811cd534bd010a6787a5c72e6c9 (commit)
       via  f2ebbd0b8b1bd72e6e42dd75daab56a7024f3f93 (commit)
       via  173d43e4bb4b3301a86f29eaac43e19de1508a03 (commit)
       via  f89661a601ba003a886054a90dcdf9942c2c8b24 (commit)
       via  617b61a7d0f9f13952ec1267fc3098b0ce004e6e (commit)
       via  a7118fd38d39c510c1efbe8411bdf0d182ed621f (commit)
       via  9ffbcd24542a49b815e349c5cae41c8c0c7db7e1 (commit)
       via  eda086697421bc4ee6454efc39cdf7452574c982 (commit)
       via  89ee7e175de0eefaa96b54ecbd55b5cb5b10e5b1 (commit)
      from  e86ab30c39061d11c1cacdc330d95be76539d862 (commit)

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

- Log -----------------------------------------------------------------
commit 924f4d13c1cb817aadc5472e4123ed4562664397
Merge: d97c737 860bbef
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 18:12:05 2011 +0200

    Merge branch 'commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref' into commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final

commit 860bbefd93a60a7da83b62d33a9f1d031c5ab3d8
Merge: 9f3eb48 5c485a9
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 18:12:05 2011 +0200

    Merge branch 'commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp' into commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref

commit 5c485a9a418b9f3801552b880f30d7174d68e51a
Merge: 46345c7 99fc08e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 18:12:05 2011 +0200

    Merge branch 'commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref' into commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp

commit 99fc08e8b7dbe96423e9f377f6c65c3556e32bdd
Merge: 3af5402 b116ee6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 18:12:04 2011 +0200

    Merge branch 'commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull' into commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref

commit b116ee61e56167ce354a111d2065a1a5ae268024
Merge: c4fa1f3 203d514
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 18:12:04 2011 +0200

    Merge branch 'commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt' into commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull

commit 203d514d7a2006ca49724ec52932cc262e52b373
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 18:10:41 2011 +0200

    testcase fix

commit d97c737ad3f0d79b520632b85e6889f656d2ec0f
Merge: e86ab30 9f3eb48
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 18:04:27 2011 +0200

    Merge branch 'funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref' into funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final

commit 9f3eb48a1faf0425e5aacba352303317c7be9f2b
Merge: f883f01 46345c7
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 18:04:22 2011 +0200

    Merge branch 'funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp' into funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref

commit 46345c77df15bd8067dbb564b59a89e017b85412
Merge: 53b958d 3af5402
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 18:04:21 2011 +0200

    Merge branch 'funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref' into funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp

commit 3af540230cf077184c0d2a31ad5ea2d9ae995c33
Merge: b1c4be5 c4fa1f3
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 18:04:17 2011 +0200

    Merge branch 'funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull' into funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref

commit c4fa1f3e2cffdca9ac49c0e6b91d73e3720552c4
Merge: 44716a6 838247f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 18:04:15 2011 +0200

    Merge branch 'funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt' into funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull

commit 838247f9bd2bbad576ca6ff8e2991a4fd1730fbf
Merge: eda0866 664bd11
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 18:04:13 2011 +0200

    Merge branch 'funcstuff-basic-tailread-tailframe-selftail-printarg' into funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt

commit 664bd111fd05a811cd534bd010a6787a5c72e6c9
Merge: 5eb0af1 f2ebbd0
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 18:04:10 2011 +0200

    Merge branch 'funcstuff-basic-tailread-tailframe-selftail' into funcstuff-basic-tailread-tailframe-selftail-printarg

commit f2ebbd0b8b1bd72e6e42dd75daab56a7024f3f93
Merge: b2002ce 173d43e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 18:04:10 2011 +0200

    Merge branch 'funcstuff-basic-tailread-tailframe' into funcstuff-basic-tailread-tailframe-selftail

commit 173d43e4bb4b3301a86f29eaac43e19de1508a03
Merge: e27d9d6 f89661a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 18:04:08 2011 +0200

    Merge branch 'funcstuff-basic-tailread' into funcstuff-basic-tailread-tailframe

commit f89661a601ba003a886054a90dcdf9942c2c8b24
Merge: d2988fa 617b61a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 18:04:05 2011 +0200

    Merge branch 'funcstuff-basic' into funcstuff-basic-tailread

commit 617b61a7d0f9f13952ec1267fc3098b0ce004e6e
Merge: cf620e8 a7118fd
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 18:04:04 2011 +0200

    Merge branch 'funcstuff' into funcstuff-basic

commit a7118fd38d39c510c1efbe8411bdf0d182ed621f
Merge: 7b02f6c 9ffbcd2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 18:03:59 2011 +0200

    Merge branch 'commands' into funcstuff

commit 9ffbcd24542a49b815e349c5cae41c8c0c7db7e1
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 18:03:38 2011 +0200

    commands

commit eda086697421bc4ee6454efc39cdf7452574c982
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 11:24:48 2011 +0200

    code cleanup

commit 89ee7e175de0eefaa96b54ecbd55b5cb5b10e5b1
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Fri Aug 5 11:21:37 2011 +0200

    doc cleanup

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

Summary of changes:
 gdb/breakpoint.c                 |   17 -----------------
 gdb/breakpoint.h                 |    3 ---
 gdb/doc/gdb.texinfo              |    5 ++---
 gdb/event-loop.c                 |    3 +++
 gdb/event-top.c                  |    1 +
 gdb/exceptions.c                 |   17 -----------------
 gdb/main.c                       |    3 +++
 gdb/printcmd.c                   |   10 ++++++++++
 gdb/stack.c                      |    6 +++---
 gdb/testsuite/gdb.base/break.exp |    6 +++---
 gdb/top.c                        |    1 +
 11 files changed, 26 insertions(+), 46 deletions(-)

First 500 lines of diff:
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 1495a5e..d73f00e 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -3186,23 +3186,6 @@ bpstat_num (bpstat *bsp, int *num)
   return 1;
 }
 
-/* Modify BS so that the actions will not be performed.  */
-
-void
-bpstat_clear_actions (bpstat bs)
-{
-  for (; bs != NULL; bs = bs->next)
-    {
-      decref_counted_command_line (&bs->commands);
-      bs->commands_left = NULL;
-      if (bs->old_val != NULL)
-	{
-	  value_free (bs->old_val);
-	  bs->old_val = NULL;
-	}
-    }
-}
-
 /* Called when a command is about to proceed the inferior.  */
 
 static void
diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
index 9b79e3e..4001d01 100644
--- a/gdb/breakpoint.h
+++ b/gdb/breakpoint.h
@@ -895,9 +895,6 @@ extern int bpstat_num (bpstat *, int *);
    command loop).  */
 extern void bpstat_do_actions (void);
 
-/* Modify BS so that the actions will not be performed.  */
-extern void bpstat_clear_actions (bpstat);
-
 /* Implementation:  */
 
 /* Values used to tell the printing routine how to behave for this
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index ecdede3..c01bf1c 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -5947,9 +5947,8 @@ Similar, but print only the outermost @var{n} frames.
 @itemx bt full
 @itemx bt full @var{n}
 @itemx bt full -@var{n}
-Print the values of the local variables also.
-
-@var{n} specifies the number of frames to print, as described above.
+Print the values of the local variables also.  @var{n} specifies the
+number of frames to print, as described above.
 @end table
 
 @kindex where
diff --git a/gdb/event-loop.c b/gdb/event-loop.c
index ea69ccf..dea1383 100644
--- a/gdb/event-loop.c
+++ b/gdb/event-loop.c
@@ -486,6 +486,9 @@ start_event_loop (void)
       volatile struct gdb_exception ex;
       int result = 0;
 
+      quit_flag = 0;
+      immediate_quit = 0;
+
       TRY_CATCH (ex, RETURN_MASK_ALL)
 	{
 	  result = gdb_do_one_event ();
diff --git a/gdb/event-top.c b/gdb/event-top.c
index 37882728..fb46223 100644
--- a/gdb/event-top.c
+++ b/gdb/event-top.c
@@ -505,6 +505,7 @@ command_handler (char *command)
   struct cleanup *stat_chain;
 
   quit_flag = 0;
+  immediate_quit = 0;
   if (instream == stdin && stdin_is_tty)
     reinitialize_more_filter ();
 
diff --git a/gdb/exceptions.c b/gdb/exceptions.c
index 23a85fe..b16ff70 100644
--- a/gdb/exceptions.c
+++ b/gdb/exceptions.c
@@ -207,23 +207,6 @@ exceptions_state_mc_action_iter_1 (void)
 void
 throw_exception (struct gdb_exception exception)
 {
-  struct thread_info *tp = NULL;
-
-  quit_flag = 0;
-  immediate_quit = 0;
-
-  if (!ptid_equal (inferior_ptid, null_ptid))
-    tp = find_thread_ptid (inferior_ptid);
-
-  /* Perhaps it would be cleaner to do this via the cleanup chain (not sure
-     I can think of a reason why that is vital, though).  */
-  if (tp != NULL)
-    {
-      /* Clear queued breakpoint commands.  */
-      bpstat_clear_actions (tp->control.stop_bpstat);
-    }
-
-  disable_current_display ();
   do_cleanups (ALL_CLEANUPS);
 
   /* Jump to the containing catch_errors() call, communicating REASON
diff --git a/gdb/main.c b/gdb/main.c
index 187c690..ca330f2 100644
--- a/gdb/main.c
+++ b/gdb/main.c
@@ -227,6 +227,9 @@ get_init_files (char **system_gdbinit,
 static int
 captured_command_loop (void *data)
 {
+  quit_flag = 0;
+  immediate_quit = 0;
+
   current_interp_command_loop ();
   /* FIXME: cagney/1999-11-05: A correct command_loop() implementaton
      would clean things up (restoring the cleanup chain) to the state
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
index 9a2ebc4..a803f68 100644
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -1656,6 +1656,12 @@ undisplay_command (char *args, int from_tty)
   dont_repeat ();
 }
 
+static void
+disable_current_display_cleanup (void *unused)
+{
+  disable_current_display ();
+}
+
 /* Display a single auto-display.  
    Do nothing if the display cannot be printed in the current context,
    or if the display is disabled.  */
@@ -1664,6 +1670,7 @@ static void
 do_one_display (struct display *d)
 {
   int within_current_scope;
+  struct cleanup *back_to;
 
   if (d->enabled_p == 0)
     return;
@@ -1715,6 +1722,7 @@ do_one_display (struct display *d)
     return;
 
   current_display_number = d->number;
+  back_to = make_cleanup (disable_current_display_cleanup, NULL);
 
   annotate_display_begin ();
   printf_filtered ("%d", d->number);
@@ -1782,7 +1790,9 @@ do_one_display (struct display *d)
   annotate_display_end ();
 
   gdb_flush (gdb_stdout);
+
   current_display_number = -1;
+  discard_cleanups (back_to);
 }
 
 /* Display all of the values on the auto-display chain which can be
diff --git a/gdb/stack.c b/gdb/stack.c
index e3219f0..2315342 100644
--- a/gdb/stack.c
+++ b/gdb/stack.c
@@ -432,13 +432,13 @@ print_frame_args (struct symbol *func, struct frame_info *frame,
 		  && (entry_vals != print_entry_values_if_needed
 		      || value_optimized_out (val)))
 		{
-		  const struct symbol_computed_ops *ops;
 		  volatile struct gdb_exception entryval_ex;
 
-		  ops = SYMBOL_COMPUTED_OPS (sym);
-
 		  TRY_CATCH (entryval_ex, RETURN_MASK_ERROR)
 		    {
+		      const struct symbol_computed_ops *ops;
+
+		      ops = SYMBOL_COMPUTED_OPS (sym);
 		      entryval = ops->read_variable_at_entry (sym, frame);
 		    }
 
diff --git a/gdb/testsuite/gdb.base/break.exp b/gdb/testsuite/gdb.base/break.exp
index 15227bc..92fcc69 100644
--- a/gdb/testsuite/gdb.base/break.exp
+++ b/gdb/testsuite/gdb.base/break.exp
@@ -916,13 +916,13 @@ set bp_location14 [gdb_get_line_number "set breakpoint 14 here" $srcfile1]
 
 gdb_test_multiple "continue" \
     "run until breakpoint set at small function, optimized file" {
-	-re "Breakpoint $decimal, marker4 \\(d=177601976\\) at .*$srcfile1:$bp_location13\[\r\n\]+$bp_location13\[\t \]+void marker4.*" {
+	-re "Breakpoint $decimal, marker4 \\(d=(d@entry=)?177601976\\) at .*$srcfile1:$bp_location13\[\r\n\]+$bp_location13\[\t \]+void marker4.*" {
 	    pass "run until breakpoint set at small function, optimized file"
 	}
-	-re "Breakpoint $decimal, $hex in marker4 \\(d=177601976\\) at .*$srcfile1:$bp_location13\[\r\n\]+$bp_location13\[\t \]+void marker4.*" {
+	-re "Breakpoint $decimal, $hex in marker4 \\(d=(d@entry=)?177601976\\) at .*$srcfile1:$bp_location13\[\r\n\]+$bp_location13\[\t \]+void marker4.*" {
 	    pass "run until breakpoint set at small function, optimized file"
 	}
-	-re "Breakpoint $decimal, marker4 \\(d=177601976\\) at .*$srcfile1:$bp_location14\[\r\n\]+$bp_location14\[\t \]+void marker4.*" {
+	-re "Breakpoint $decimal, marker4 \\(d=(d@entry=)?177601976\\) at .*$srcfile1:$bp_location14\[\r\n\]+$bp_location14\[\t \]+void marker4.*" {
 	    # marker4() is defined at line 46 when compiled with -DPROTOTYPES
 	    pass "run until breakpoint set at small function, optimized file (line bp_location14)"
 	}
diff --git a/gdb/top.c b/gdb/top.c
index da930ca..a0e20a3 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -540,6 +540,7 @@ command_loop (void)
 	(*window_hook) (instream, get_prompt (0));
 
       quit_flag = 0;
+      immediate_quit = 0;
       if (instream == stdin && stdin_is_tty)
 	reinitialize_more_filter ();
       old_chain = make_cleanup (null_cleanup, 0);


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


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

end of thread, other threads:[~2011-08-05 19:34 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-08-05 19:34 [SCM] archer-jankratochvil-entryval: Merge branch 'commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref' into commands-funcstuff-basic-tailread-tailframe-selftail-printarg-entrybt-lvalnull-dispref-entryexp-entrybtref-final jkratoch
  -- strict thread matches above, loose matches on Subject: below --
2011-08-05 16:12 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).