public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
* [SCM]  archer-jankratochvil-ifunc: Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc
@ 2011-03-19 20:18 jkratoch
  0 siblings, 0 replies; 9+ messages in thread
From: jkratoch @ 2011-03-19 20:18 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-ifunc has been updated
       via  3b474ead5d37f92f28dde6b8f2459675cdff7874 (commit)
       via  0fab7c74c8e9d7874e9e54b4c9c64cf86ab7ca6c (commit)
       via  115bd720310b490a24c225e02fe2fc141b9ce8f5 (commit)
       via  be2cb23bf9021b9e4f52d29654fe734f011b1aac (commit)
       via  3a5509da51d778f13147e88c9b269bf928e09ca8 (commit)
       via  cc73629c07de5a5429e4166eebb2197c551bc986 (commit)
       via  2e843a5ed73e7b49202d8068c6116179af29d24d (commit)
      from  f5c651ec3fd9e25b5701e1a5ddfe4befaabbd4a8 (commit)

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

- Log -----------------------------------------------------------------
commit 3b474ead5d37f92f28dde6b8f2459675cdff7874
Merge: f5c651e 0fab7c7
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 21:18:08 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc

commit 0fab7c74c8e9d7874e9e54b4c9c64cf86ab7ca6c
Merge: 3a5509d 115bd72
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 21:17:37 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit 115bd720310b490a24c225e02fe2fc141b9ce8f5
Merge: cc73629 be2cb23
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 21:16:40 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader' into relatedbpt-type-findpcpart-fmt-reader-bpt

commit be2cb23bf9021b9e4f52d29654fe734f011b1aac
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 21:16:29 2011 +0100

    foo

commit 3a5509da51d778f13147e88c9b269bf928e09ca8
Merge: baecb41 cc73629
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 21:01:19 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit cc73629c07de5a5429e4166eebb2197c551bc986
Merge: 209cbfd 2e843a5
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 21:01:04 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader' into relatedbpt-type-findpcpart-fmt-reader-bpt
    
    Conflicts:
    	gdb/elfread.c
    	gdb/minsyms.c
    	gdb/symtab.h

commit 2e843a5ed73e7b49202d8068c6116179af29d24d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 20:59:17 2011 +0100

    reduce

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

Summary of changes:
 gdb/elfread.c |   31 ++++++++++++++++---------------
 gdb/minsyms.c |   13 +------------
 gdb/symtab.h  |    5 -----
 3 files changed, 17 insertions(+), 32 deletions(-)

First 500 lines of diff:
diff --git a/gdb/elfread.c b/gdb/elfread.c
index 8c61f94..8294d2c 100644
--- a/gdb/elfread.c
+++ b/gdb/elfread.c
@@ -717,9 +717,9 @@ elf_gnu_ifunc_cache_eq (const void *a_voidp, const void *b_voidp)
   return strcmp (a->name, b->name) == 0;
 }
 
-/* Record the target function address of a STT_GNU_IFUNC function NAME is
-   ADDR.  Return 1 if NAME and ADDR are considered as valid and therefore they
-   were successfully recorded, return 0 otherwise.
+/* Record the target function address of a STT_GNU_IFUNC function NAME is the
+   function entry address ADDR.  Return 1 if NAME and ADDR are considered as
+   valid and therefore they were successfully recorded, return 0 otherwise.
 
    Function does not expect a duplicate entry.  Use
    elf_gnu_ifunc_resolve_by_cache first to check if the entry for NAME already
@@ -791,9 +791,9 @@ elf_gnu_ifunc_record_cache (const char *name, CORE_ADDR addr)
   return 1;
 }
 
-/* Try to find the target resolved address of a STT_GNU_IFUNC function NAME.
-   If the address is found it is stored to *ADDR_P (if ADDR_P is not NULL) and
-   the function returns 1.  It returns 0 otherwise.
+/* Try to find the target resolved function entry address of a STT_GNU_IFUNC
+   function NAME.  If the address is found it is stored to *ADDR_P (if ADDR_P
+   is not NULL) and the function returns 1.  It returns 0 otherwise.
 
    Only the elf_objfile_gnu_ifunc_cache_data hash table is searched by this
    function.  */
@@ -830,9 +830,9 @@ elf_gnu_ifunc_resolve_by_cache (const char *name, CORE_ADDR *addr_p)
   return 0;
 }
 
-/* Try to find the target resolved address of a STT_GNU_IFUNC function NAME.
-   If the address is found it is stored to *ADDR_P (if ADDR_P is not NULL) and
-   the function returns 1.  It returns 0 otherwise.
+/* Try to find the target resolved function entry address of a STT_GNU_IFUNC
+   function NAME.  If the address is found it is stored to *ADDR_P (if ADDR_P
+   is not NULL) and the function returns 1.  It returns 0 otherwise.
 
    Only the SYMBOL_GOT_PLT_SUFFIX locations are searched by this function.
    elf_gnu_ifunc_resolve_by_cache must have been already called for NAME to
@@ -887,9 +887,9 @@ elf_gnu_ifunc_resolve_by_got (const char *name, CORE_ADDR *addr_p)
   return 0;
 }
 
-/* Try to find the target resolved address of a STT_GNU_IFUNC function NAME.
-   If the address is found it is stored to *ADDR_P (if ADDR_P is not NULL) and
-   the function returns 1.  It returns 0 otherwise.
+/* Try to find the target resolved function entry address of a STT_GNU_IFUNC
+   function NAME.  If the address is found it is stored to *ADDR_P (if ADDR_P
+   is not NULL) and the function returns 1.  It returns 0 otherwise.
 
    Both the elf_objfile_gnu_ifunc_cache_data hash table and
    SYMBOL_GOT_PLT_SUFFIX locations are searched by this function.  */
@@ -938,11 +938,13 @@ elf_gnu_ifunc_resolve_addr (struct gdbarch *gdbarch, CORE_ADDR pc)
 
   address_val = call_function_by_hand (function, 0, NULL);
   address = value_as_address (address_val);
+  address = gdbarch_convert_from_func_ptr_addr (gdbarch, address,
+						&current_target);
 
   if (name_at_pc)
     elf_gnu_ifunc_record_cache (name_at_pc, address);
 
-  return gdbarch_convert_from_func_ptr_addr (gdbarch, address, &current_target);
+  return address;
 }
 
 /* Handle inferior hit of bp_gnu_ifunc_resolver, see its definition.  */
@@ -1040,7 +1042,7 @@ elf_gnu_ifunc_resolver_return_stop (struct breakpoint *b)
   gdb_assert (b->type == bp_gnu_ifunc_resolver);
 
   gdb_assert (current_program_space == b->pspace);
-  gnu_ifunc_record_cache (b->addr_string, resolved_pc);
+  elf_gnu_ifunc_record_cache (b->addr_string, resolved_pc);
 
   sal = find_pc_line (resolved_pc, 0);
   sals.nelts = 1;
@@ -1605,7 +1607,6 @@ static const struct gnu_ifunc_fns elf_gnu_ifunc_fns =
 {
   elf_gnu_ifunc_resolve_addr,
   elf_gnu_ifunc_resolve_name,
-  elf_gnu_ifunc_record_cache,
   elf_gnu_ifunc_resolver_stop,
   elf_gnu_ifunc_resolver_return_stop
 };
diff --git a/gdb/minsyms.c b/gdb/minsyms.c
index 1c22441..97d425e 100644
--- a/gdb/minsyms.c
+++ b/gdb/minsyms.c
@@ -728,16 +728,6 @@ stub_gnu_ifunc_resolve_name (const char *function_name,
 	 function_name);
 }
 
-/* See elf_gnu_ifunc_record_cache for its real implementation.  */
-
-static int
-stub_gnu_ifunc_record_cache (const char *function_name,
-			     CORE_ADDR function_address)
-{
-  /* Failed to record the cache entry.  */
-  return 0;
-}
-
 /* See elf_gnu_ifunc_resolver_stop for its real implementation.  */
 
 static void
@@ -762,9 +752,8 @@ static const struct gnu_ifunc_fns stub_gnu_ifunc_fns =
 {
   stub_gnu_ifunc_resolve_addr,
   stub_gnu_ifunc_resolve_name,
-  stub_gnu_ifunc_record_cache,
   stub_gnu_ifunc_resolver_stop,
-  stub_gnu_ifunc_resolver_return_stop
+  stub_gnu_ifunc_resolver_return_stop,
 };
 
 /* A placeholder for &elf_gnu_ifunc_fns.  */
diff --git a/gdb/symtab.h b/gdb/symtab.h
index a086923..abe5e86 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -1056,10 +1056,6 @@ struct gnu_ifunc_fns
   int (*gnu_ifunc_resolve_name) (const char *function_name,
 				 CORE_ADDR *function_address_p);
 
-  /* See elf_gnu_ifunc_record_cache for its real implementation.  */
-  int (*gnu_ifunc_record_cache) (const char *function_name,
-				 CORE_ADDR function_address);
-
   /* See elf_gnu_ifunc_resolver_stop for its real implementation.  */
   void (*gnu_ifunc_resolver_stop) (struct breakpoint *b);
 
@@ -1069,7 +1065,6 @@ struct gnu_ifunc_fns
 
 #define gnu_ifunc_resolve_addr gnu_ifunc_fns_p->gnu_ifunc_resolve_addr
 #define gnu_ifunc_resolve_name gnu_ifunc_fns_p->gnu_ifunc_resolve_name
-#define gnu_ifunc_record_cache gnu_ifunc_fns_p->gnu_ifunc_record_cache
 #define gnu_ifunc_resolver_stop gnu_ifunc_fns_p->gnu_ifunc_resolver_stop
 #define gnu_ifunc_resolver_return_stop \
   gnu_ifunc_fns_p->gnu_ifunc_resolver_return_stop


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


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

* [SCM]  archer-jankratochvil-ifunc: Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc
@ 2011-03-19 20:34 jkratoch
  0 siblings, 0 replies; 9+ messages in thread
From: jkratoch @ 2011-03-19 20:34 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-ifunc has been updated
       via  8c873cc573ce8d9622b1ed7825bad9bf77a9f1a6 (commit)
       via  f90149ad90d68029255e47cf0819f0558d3b89b3 (commit)
       via  6a38eb06ee608da349dbdd9b91aee7b16be574c1 (commit)
       via  e98ae54063690c1f1eb3c8925501a09c0d9b242d (commit)
      from  3b474ead5d37f92f28dde6b8f2459675cdff7874 (commit)

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

- Log -----------------------------------------------------------------
commit 8c873cc573ce8d9622b1ed7825bad9bf77a9f1a6
Merge: 3b474ea f90149a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 21:34:18 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc

commit f90149ad90d68029255e47cf0819f0558d3b89b3
Merge: 0fab7c7 6a38eb0
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 21:34:18 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit 6a38eb06ee608da349dbdd9b91aee7b16be574c1
Merge: 115bd72 e98ae54
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 21:34:17 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader' into relatedbpt-type-findpcpart-fmt-reader-bpt

commit e98ae54063690c1f1eb3c8925501a09c0d9b242d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 21:34:09 2011 +0100

    +cmt

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

Summary of changes:
 gdb/elfread.c |    2 ++
 1 files changed, 2 insertions(+), 0 deletions(-)

First 500 lines of diff:
diff --git a/gdb/elfread.c b/gdb/elfread.c
index 8294d2c..e1b9ecc 100644
--- a/gdb/elfread.c
+++ b/gdb/elfread.c
@@ -692,7 +692,9 @@ static const struct objfile_data *elf_objfile_gnu_ifunc_cache_data;
 
 struct elf_gnu_ifunc_cache
 {
+  /* This is always a function entry address, not a function descriptor.  */
   CORE_ADDR addr;
+
   char name[1];
 };
 


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


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

* [SCM]  archer-jankratochvil-ifunc: Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc
@ 2011-03-19 19:45 jkratoch
  0 siblings, 0 replies; 9+ messages in thread
From: jkratoch @ 2011-03-19 19:45 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-ifunc has been updated
       via  f5c651ec3fd9e25b5701e1a5ddfe4befaabbd4a8 (commit)
       via  baecb41536dda73ef6bcf77b8be87eedcba4af3c (commit)
       via  209cbfddd2950448b2071c856e00129920be8d99 (commit)
       via  9d88ef6c06e95f6fceb4efd75d05b0d489efc5a6 (commit)
       via  ca3007d50203b68f0bd913cf417945417d4654ce (commit)
       via  bf323d60022a6ccff90ab3a05c5125096b0838aa (commit)
       via  241cb5790f6af635a854d3323b4f637ae3fd030c (commit)
      from  f4a8bdff48d81aeda374cfc6ef2b89c3d315518b (commit)

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

- Log -----------------------------------------------------------------
commit f5c651ec3fd9e25b5701e1a5ddfe4befaabbd4a8
Merge: f4a8bdf baecb41
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 20:45:03 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc

commit baecb41536dda73ef6bcf77b8be87eedcba4af3c
Merge: ca3007d 209cbfd
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 20:45:02 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit 209cbfddd2950448b2071c856e00129920be8d99
Merge: bf323d6 9d88ef6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 20:45:02 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader' into relatedbpt-type-findpcpart-fmt-reader-bpt

commit 9d88ef6c06e95f6fceb4efd75d05b0d489efc5a6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 20:44:56 2011 +0100

    foo

commit ca3007d50203b68f0bd913cf417945417d4654ce
Merge: 19afa60 bf323d6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 20:41:57 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit bf323d60022a6ccff90ab3a05c5125096b0838aa
Merge: e1f3a93 241cb57
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 20:41:51 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader' into relatedbpt-type-findpcpart-fmt-reader-bpt
    
    Conflicts:
    	gdb/symtab.h

commit 241cb5790f6af635a854d3323b4f637ae3fd030c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 20:41:15 2011 +0100

    foo

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

Summary of changes:
 gdb/elfread.c |  294 ++++++++++++++++++++++++++++++++-------------------------
 gdb/minsyms.c |    5 +-
 gdb/symtab.h  |    4 +-
 3 files changed, 170 insertions(+), 133 deletions(-)

First 500 lines of diff:
diff --git a/gdb/elfread.c b/gdb/elfread.c
index 64779f3..8c61f94 100644
--- a/gdb/elfread.c
+++ b/gdb/elfread.c
@@ -69,12 +69,6 @@ static void free_elfinfo (void *);
 
 #define SYMBOL_GOT_PLT_SUFFIX "@got.plt"
 
-/* Minimal symbol with address of the target STT_GNU_IFUNC function address.
-   It serves as a GDB internal cache.  These minimal symbols are not available
-   for <tab>-completion as they are created too late.  */
-
-#define SYMBOL_GNU_IFUNC_TGT_SUFFIX "@gnu-ifunc-tgt"
-
 /* Locate the segments in ABFD.  */
 
 static struct symfile_segment_data *
@@ -690,28 +684,62 @@ elf_rel_plt_read (struct objfile *objfile, asymbol **dyn_symbol_table)
   do_cleanups (back_to);
 }
 
-/* Record the target function address of a STT_GNU_IFUNC funtion named
-   FUNCTION_NAME to be FUNCTION_ADDRESS.  Return the minimal symbol storing
-   this information which is allocated from objfile of FUNCTION_ADDRESS.
+/* The data pointer is htab_t for gnu_ifunc_record_cache_unchecked.  */
 
-   Function does not check for possibly created duplicities in the cache.
-   To check for the duplicities use gnu_ifunc_resolve_by_cache first.  */
+static const struct objfile_data *elf_objfile_gnu_ifunc_cache_data;
 
-static struct minimal_symbol *
-gnu_ifunc_record_cache_unchecked (const char *function_name,
-				  CORE_ADDR function_address)
+/* Map function names to CORE_ADDR in elf_objfile_gnu_ifunc_cache_data.  */
+
+struct elf_gnu_ifunc_cache
+{
+  CORE_ADDR addr;
+  char name[1];
+};
+
+/* htab_hash for elf_objfile_gnu_ifunc_cache_data.  */
+
+static hashval_t
+elf_gnu_ifunc_cache_hash (const void *a_voidp)
 {
-  struct minimal_symbol *msym, *msym_new;
+  const struct elf_gnu_ifunc_cache *a = a_voidp;
+
+  return htab_hash_string (a->name);
+}
+
+/* htab_eq for elf_objfile_gnu_ifunc_cache_data.  */
+
+static int
+elf_gnu_ifunc_cache_eq (const void *a_voidp, const void *b_voidp)
+{
+  const struct elf_gnu_ifunc_cache *a = a_voidp;
+  const struct elf_gnu_ifunc_cache *b = b_voidp;
+
+  return strcmp (a->name, b->name) == 0;
+}
+
+/* Record the target function address of a STT_GNU_IFUNC function NAME is
+   ADDR.  Return 1 if NAME and ADDR are considered as valid and therefore they
+   were successfully recorded, return 0 otherwise.
+
+   Function does not expect a duplicate entry.  Use
+   elf_gnu_ifunc_resolve_by_cache first to check if the entry for NAME already
+   exists.  */
+
+static int
+elf_gnu_ifunc_record_cache (const char *name, CORE_ADDR addr)
+{
+  struct minimal_symbol *msym;
   asection *sect;
   struct objfile *objfile;
-  char *function_name_gnu_ifunc_tgt;
-  const size_t tgt_suffix_len = strlen (SYMBOL_GNU_IFUNC_TGT_SUFFIX);
+  htab_t htab;
+  struct elf_gnu_ifunc_cache entry_local, *entry_p;
+  void **slot;
 
-  msym = lookup_minimal_symbol_by_pc (function_address);
+  msym = lookup_minimal_symbol_by_pc (addr);
   if (msym == NULL)
-    return NULL;
-  if (SYMBOL_VALUE_ADDRESS (msym) != function_address)
-    return NULL;
+    return 0;
+  if (SYMBOL_VALUE_ADDRESS (msym) != addr)
+    return 0;
   /* minimal symbols have always SYMBOL_OBJ_SECTION non-NULL.  */
   sect = SYMBOL_OBJ_SECTION (msym)->the_bfd_section;
   objfile = SYMBOL_OBJ_SECTION (msym)->objfile;
@@ -720,47 +748,105 @@ gnu_ifunc_record_cache_unchecked (const char *function_name,
      resolution and it has no use for GDB.  Besides ".text" this symbol can
      reside also in ".opd" for ppc64 function descriptor.  */
   if (strcmp (bfd_get_section_name (objfile->obfd, sect), ".plt") == 0)
-    return NULL;
-
-  function_name_gnu_ifunc_tgt = alloca (strlen (function_name)
-					+ tgt_suffix_len + 1);
-  sprintf (function_name_gnu_ifunc_tgt, "%s" SYMBOL_GNU_IFUNC_TGT_SUFFIX,
-	   function_name);
-
-  /* Create new alias with SYMBOL_GNU_IFUNC_TGT_SUFFIX for MSYM.  */
-  msym_new = record_minimal_symbol (function_name_gnu_ifunc_tgt,
-				    strlen (function_name_gnu_ifunc_tgt), 1,
-				    SYMBOL_VALUE_ADDRESS (msym),
-				    MSYMBOL_TYPE (msym), sect, objfile);
-  /* Should not happen.  */
-  if (msym_new == NULL)
     return 0;
 
-  /* objfile->msymbols array is already allocated on obstack and it cannot be
-     easily extended.  Therefore <tab>-completion on symbol names will never
-     show the SYMBOL_GNU_IFUNC_TGT_SUFFIX minimal symbol.  Link it at least to
-     the hash table so that gnu_ifunc_resolve_by_cache can find it.  */
+  htab = objfile_data (objfile, elf_objfile_gnu_ifunc_cache_data);
+  if (htab == NULL)
+    {
+      htab = htab_create_alloc_ex (1, elf_gnu_ifunc_cache_hash,
+				   elf_gnu_ifunc_cache_eq,
+				   NULL, &objfile->objfile_obstack,
+				   hashtab_obstack_allocate,
+				   dummy_obstack_deallocate);
+      set_objfile_data (objfile, elf_objfile_gnu_ifunc_cache_data, htab);
+    }
+
+  entry_local.addr = addr;
+  obstack_grow (&objfile->objfile_obstack, &entry_local,
+		offsetof (struct elf_gnu_ifunc_cache, name));
+  obstack_grow_str0 (&objfile->objfile_obstack, name);
+  entry_p = obstack_finish (&objfile->objfile_obstack);
+
+  slot = htab_find_slot (htab, entry_p, INSERT);
+  if (*slot != NULL)
+    {
+      struct elf_gnu_ifunc_cache *entry_found_p = *slot;
+      struct gdbarch *gdbarch = objfile->gdbarch;
 
-  add_minsym_to_hash_table (msym_new, objfile->msymbol_hash);
-    
-  MSYMBOL_SIZE (msym_new) = MSYMBOL_SIZE (msym);
-  return msym_new;
+      if (entry_found_p->addr != addr)
+	{
+	  /* This case indicates buggy inferior program, the resolved address
+	     should never change.  */
+
+	    warning (_("gnu-indirect-function \"%s\" has changed its resolved "
+		       "function_address from %s to %s"),
+		     name, paddress (gdbarch, entry_found_p->addr),
+		     paddress (gdbarch, addr));
+	}
+
+      /* New ENTRY_P is here leaked/duplicate in the OBJFILE obstack.  */
+    }
+  *slot = entry_p;
+
+  return 1;
 }
 
-/* Try to find where STT_GNU_IFUNC function FUNCTION_NAME resolves its target
-   function to.  Only the SYMBOL_GOT_PLT_SUFFIX locations are searched by this
+/* Try to find the target resolved address of a STT_GNU_IFUNC function NAME.
+   If the address is found it is stored to *ADDR_P (if ADDR_P is not NULL) and
+   the function returns 1.  It returns 0 otherwise.
+
+   Only the elf_objfile_gnu_ifunc_cache_data hash table is searched by this
    function.  */
 
-static struct minimal_symbol *
-gnu_ifunc_resolve_by_got (const char *function_name)
+static int
+elf_gnu_ifunc_resolve_by_cache (const char *name, CORE_ADDR *addr_p)
+{
+  struct objfile *objfile;
+
+  ALL_PSPACE_OBJFILES (current_program_space, objfile)
+    {
+      htab_t htab;
+      struct elf_gnu_ifunc_cache *entry_p;
+      void **slot;
+
+      htab = objfile_data (objfile, elf_objfile_gnu_ifunc_cache_data);
+      if (htab == NULL)
+	continue;
+
+      entry_p = alloca (sizeof (*entry_p) + strlen (name));
+      strcpy (entry_p->name, name);
+
+      slot = htab_find_slot (htab, entry_p, NO_INSERT);
+      if (slot == NULL)
+	continue;
+      entry_p = *slot;
+      gdb_assert (entry_p != NULL);
+
+      if (addr_p)
+	*addr_p = entry_p->addr;
+      return 1;
+    }
+
+  return 0;
+}
+
+/* Try to find the target resolved address of a STT_GNU_IFUNC function NAME.
+   If the address is found it is stored to *ADDR_P (if ADDR_P is not NULL) and
+   the function returns 1.  It returns 0 otherwise.
+
+   Only the SYMBOL_GOT_PLT_SUFFIX locations are searched by this function.
+   elf_gnu_ifunc_resolve_by_cache must have been already called for NAME to
+   prevent cache entries duplicates.  */
+
+static int
+elf_gnu_ifunc_resolve_by_got (const char *name, CORE_ADDR *addr_p)
 {
-  char *function_name_got_plt;
+  char *name_got_plt;
   struct objfile *objfile;
   const size_t got_suffix_len = strlen (SYMBOL_GOT_PLT_SUFFIX);
 
-  function_name_got_plt = alloca (strlen (function_name) + got_suffix_len
-				  + 1);
-  sprintf (function_name_got_plt, "%s" SYMBOL_GOT_PLT_SUFFIX, function_name);
+  name_got_plt = alloca (strlen (name) + got_suffix_len + 1);
+  sprintf (name_got_plt, "%s" SYMBOL_GOT_PLT_SUFFIX, name);
 
   ALL_PSPACE_OBJFILES (current_program_space, objfile)
     {
@@ -768,12 +854,12 @@ gnu_ifunc_resolve_by_got (const char *function_name)
       struct gdbarch *gdbarch = objfile->gdbarch;
       struct type *ptr_type = builtin_type (gdbarch)->builtin_data_ptr;
       size_t ptr_size = TYPE_LENGTH (ptr_type);
-      CORE_ADDR pointer_address, function_address;
+      CORE_ADDR pointer_address, addr;
       asection *plt;
       gdb_byte *buf = alloca (ptr_size);
       struct minimal_symbol *msym;
 
-      msym = lookup_minimal_symbol (function_name_got_plt, NULL, objfile);
+      msym = lookup_minimal_symbol (name_got_plt, NULL, objfile);
       if (msym == NULL)
 	continue;
       if (MSYMBOL_TYPE (msym) != mst_slot_got_plt)
@@ -788,95 +874,42 @@ gnu_ifunc_resolve_by_got (const char *function_name)
 	continue;
       if (target_read_memory (pointer_address, buf, ptr_size) != 0)
 	continue;
-      function_address = extract_typed_address (buf, ptr_type);
-
-      msym = gnu_ifunc_record_cache_unchecked (function_name, function_address);
-      if (msym == NULL)
-	continue;
-      return msym;
+      addr = extract_typed_address (buf, ptr_type);
+      addr = gdbarch_convert_from_func_ptr_addr (gdbarch, addr,
+						 &current_target);
+
+      if (addr_p)
+	*addr_p = addr;
+      if (elf_gnu_ifunc_record_cache (name, addr))
+	return 1;
     }
 
-  return NULL;
-}
-
-/* Try to find where STT_GNU_IFUNC function FUNCTION_NAME resolves its target
-   function to.  Only the SYMBOL_GNU_IFUNC_TGT_SUFFIX locations are searched
-   by this function.  */
-
-static struct minimal_symbol *
-gnu_ifunc_resolve_by_cache (const char *function_name)
-{
-  char *function_name_gnu_ifunc_tgt;
-  const size_t tgt_suffix_len = strlen (SYMBOL_GNU_IFUNC_TGT_SUFFIX);
-
-  function_name_gnu_ifunc_tgt = alloca (strlen (function_name)
-					+ tgt_suffix_len + 1);
-  sprintf (function_name_gnu_ifunc_tgt, "%s" SYMBOL_GNU_IFUNC_TGT_SUFFIX,
-	   function_name);
-
-  return lookup_minimal_symbol (function_name_gnu_ifunc_tgt, NULL, NULL);
+  return 0;
 }
 
-/* Function works like gnu_ifunc_record_cache_unchecked for FUNCTION_NAME and
-   FUNCTION_ADDRESS.  But check first the cache if it - unlikely - has not
-   been populated since bp_gnu_ifunc_resolver has been created.
-   gnu_ifunc_record_cache_unchecked could create a duplicate minimal symbol
-   otherwise.  */
-
-static void
-elf_gnu_ifunc_record_cache (const char *function_name,
-			    CORE_ADDR function_address)
-{
-  struct minimal_symbol *msym;
-
-  msym = gnu_ifunc_resolve_by_cache (function_name);
-  if (msym == NULL)
-    gnu_ifunc_record_cache_unchecked (function_name, function_address);
-  else if (SYMBOL_VALUE_ADDRESS (msym) != function_address)
-    {
-      struct gdbarch *gdbarch = SYMBOL_OBJ_SECTION (msym)->objfile->gdbarch;
-
-      /* This case indicates buggy inferior program.  GDB would need to update
-	 its MSYM cache symbol for function_address.  Anyway FUNCTION_NAME is
-	 never normally found in the case as in such case no
-	 bp_gnu_ifunc_resolver would be created in the first place.  */
+/* Try to find the target resolved address of a STT_GNU_IFUNC function NAME.
+   If the address is found it is stored to *ADDR_P (if ADDR_P is not NULL) and
+   the function returns 1.  It returns 0 otherwise.
 
-      warning (_("gnu-indirect-function \"%s\" has changed its resolved "
-		 "function_address from %s to %s; GDB is using the former one"),
-	       function_name, paddress (gdbarch, SYMBOL_VALUE_ADDRESS (msym)),
-	       paddress (gdbarch, function_address));
-    }
-}
-
-/* Try to find where STT_GNU_IFUNC function FUNCTION_NAME resolves its target
-   function to.  Only the SYMBOL_GNU_IFUNC_TGT_SUFFIX and
+   Both the elf_objfile_gnu_ifunc_cache_data hash table and
    SYMBOL_GOT_PLT_SUFFIX locations are searched by this function.  */
 
 static int
-elf_gnu_ifunc_resolve_name (const char *function_name,
-			    CORE_ADDR *function_address_p)
+elf_gnu_ifunc_resolve_name (const char *name, CORE_ADDR *addr_p)
 {
-  struct minimal_symbol *msym;
-  struct gdbarch *gdbarch;
-
-  msym = gnu_ifunc_resolve_by_cache (function_name);
-  if (msym == NULL)
-    msym = gnu_ifunc_resolve_by_got (function_name);
+  if (elf_gnu_ifunc_resolve_by_cache (name, addr_p))
+    return 1;
+  
+  if (elf_gnu_ifunc_resolve_by_got (name, addr_p))
+    return 1;
 
-  if (msym == NULL)
-    return 0;
-
-  gdbarch = SYMBOL_OBJ_SECTION (msym)->objfile->gdbarch;
-  *function_address_p = SYMBOL_VALUE_ADDRESS (msym);
-  *function_address_p
-    = gdbarch_convert_from_func_ptr_addr (gdbarch, *function_address_p,
-					  &current_target);
-  return 1;
+  return 0;
 }
 
 /* Call STT_GNU_IFUNC - a function returning addresss of a real function to
-   call.  PC is theSTT_GNU_IFUNC resolving function entry.  Function returns
-   function entry of the target function to call.  */
+   call.  PC is theSTT_GNU_IFUNC resolving function entry.  The value returned
+   is the entry point of the resolved STT_GNU_IFUNC target function to call.
+   */
 
 static CORE_ADDR
 elf_gnu_ifunc_resolve_addr (struct gdbarch *gdbarch, CORE_ADDR pc)
@@ -1566,6 +1599,8 @@ static const struct sym_fns elf_sym_fns_gdb_index =
   &dwarf2_gdb_index_functions
 };
 
+/* STT_GNU_IFUNC resolver vector to be installed to gnu_ifunc_fns_p.  */
+
 static const struct gnu_ifunc_fns elf_gnu_ifunc_fns =
 {
   elf_gnu_ifunc_resolve_addr,
@@ -1580,5 +1615,6 @@ _initialize_elfread (void)
 {
   add_symtab_fns (&elf_sym_fns);
 
+  elf_objfile_gnu_ifunc_cache_data = register_objfile_data ();
   gnu_ifunc_fns_p = &elf_gnu_ifunc_fns;
 }
diff --git a/gdb/minsyms.c b/gdb/minsyms.c
index 18b99d7..1c22441 100644
--- a/gdb/minsyms.c
+++ b/gdb/minsyms.c
@@ -730,11 +730,12 @@ stub_gnu_ifunc_resolve_name (const char *function_name,
 
 /* See elf_gnu_ifunc_record_cache for its real implementation.  */
 
-static void
+static int
 stub_gnu_ifunc_record_cache (const char *function_name,
 			     CORE_ADDR function_address)
 {
-  return;
+  /* Failed to record the cache entry.  */
+  return 0;
 }
 
 /* See elf_gnu_ifunc_resolver_stop for its real implementation.  */
diff --git a/gdb/symtab.h b/gdb/symtab.h
index f989ba5..a086923 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -1057,8 +1057,8 @@ struct gnu_ifunc_fns
 				 CORE_ADDR *function_address_p);
 
   /* See elf_gnu_ifunc_record_cache for its real implementation.  */
-  void (*gnu_ifunc_record_cache) (const char *function_name,
-				  CORE_ADDR function_address);
+  int (*gnu_ifunc_record_cache) (const char *function_name,
+				 CORE_ADDR function_address);
 
   /* See elf_gnu_ifunc_resolver_stop for its real implementation.  */
   void (*gnu_ifunc_resolver_stop) (struct breakpoint *b);


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


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

* [SCM]  archer-jankratochvil-ifunc: Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc
@ 2011-03-19 15:46 jkratoch
  0 siblings, 0 replies; 9+ messages in thread
From: jkratoch @ 2011-03-19 15:46 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-ifunc has been updated
       via  f4a8bdff48d81aeda374cfc6ef2b89c3d315518b (commit)
       via  19afa603a871c66f9ce920f93ef6b9c1c9a90bbe (commit)
      from  b72f7376e77bc42797b554ccac89f6c8782629de (commit)

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

- Log -----------------------------------------------------------------
commit f4a8bdff48d81aeda374cfc6ef2b89c3d315518b
Merge: b72f737 19afa60
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 16:46:45 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc

commit 19afa603a871c66f9ce920f93ef6b9c1c9a90bbe
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 16:46:08 2011 +0100

    separate the compilation

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

Summary of changes:
 gdb/testsuite/gdb.base/gnu-ifunc.exp |   15 +++++++++++----
 1 files changed, 11 insertions(+), 4 deletions(-)

First 500 lines of diff:
diff --git a/gdb/testsuite/gdb.base/gnu-ifunc.exp b/gdb/testsuite/gdb.base/gnu-ifunc.exp
index 90ac514..4fcc3bf 100644
--- a/gdb/testsuite/gdb.base/gnu-ifunc.exp
+++ b/gdb/testsuite/gdb.base/gnu-ifunc.exp
@@ -53,10 +53,8 @@ if [get_compiler_info ${binfile}] {
 }
 
 if { [gdb_compile_shlib ${srcdir}/${subdir}/$libsrc $lib_so $lib_opts] != ""
-     || [gdb_compile ${srcdir}/${subdir}/$srcfile $binfile executable $exec_opts] != ""
-     || [gdb_compile ${srcdir}/${subdir}/$libsrc $lib_o object {}] != ""
-     || [gdb_compile "${srcdir}/${subdir}/$srcfile $lib_o" $staticbinfile executable {debug}] != ""} {
-    untested "Could not compile either $libsrc or $srcfile."
+     || [gdb_compile ${srcdir}/${subdir}/$srcfile $binfile executable $exec_opts] != ""} {
+    untested "Could not compile dynamic executable $binfile."
     return -1
 }
 
@@ -130,6 +128,15 @@ gdb_test "info sym $expect_out(1,string)" "gnu_ifunc in section .*" "info sym <g
 # https://bugzilla.redhat.com/show_bug.cgi?id=624967
 
 if ![target_info exists gdb_stub] {
+
+    # Compile $staticbinfile separately as it may exit on error (ld/12595).
+
+    if { [gdb_compile ${srcdir}/${subdir}/$libsrc $lib_o object {}] != ""
+	 || [gdb_compile "${srcdir}/${subdir}/$srcfile $lib_o" $staticbinfile executable {debug}] != "" } {
+	untested "Could not compile static executable $staticbinfile."
+	return -1
+    }
+
     clean_restart $staticexecutable
 
     gdb_breakpoint "gnu_ifunc"


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


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

* [SCM]  archer-jankratochvil-ifunc: Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc
@ 2011-03-19 15:13 jkratoch
  0 siblings, 0 replies; 9+ messages in thread
From: jkratoch @ 2011-03-19 15:13 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-ifunc has been updated
       via  b72f7376e77bc42797b554ccac89f6c8782629de (commit)
       via  e95ea2cc67eb282635ddb26ef3775abfad0147a3 (commit)
      from  b6def1400072b7845e6897c730c7140964f8b240 (commit)

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

- Log -----------------------------------------------------------------
commit b72f7376e77bc42797b554ccac89f6c8782629de
Merge: b6def14 e95ea2c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 16:13:47 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc

commit e95ea2cc67eb282635ddb26ef3775abfad0147a3
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 16:13:27 2011 +0100

    ppc64

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

Summary of changes:
 gdb/testsuite/gdb.base/gnu-ifunc.exp |   14 +++++++++++---
 1 files changed, 11 insertions(+), 3 deletions(-)

First 500 lines of diff:
diff --git a/gdb/testsuite/gdb.base/gnu-ifunc.exp b/gdb/testsuite/gdb.base/gnu-ifunc.exp
index 32855d7..90ac514 100644
--- a/gdb/testsuite/gdb.base/gnu-ifunc.exp
+++ b/gdb/testsuite/gdb.base/gnu-ifunc.exp
@@ -103,10 +103,18 @@ gdb_continue_to_breakpoint "nextcall gnu_ifunc"
 gdb_test "frame" "#0 +(0x\[0-9a-f\]+ in +)?final \\(.*" "nextcall gnu_ifunc skipped"
 
 
-# Check any commands not doing an inferior call still compute with address of
-# the STT_GNU_IFUNC resolver.
+# Check any commands not doing an inferior call access the address of the
+# STT_GNU_IFUNC resolver, not the target function.
+
+if {[istarget powerpc64-*] && [is_lp64_target]} {
+    # With only minimal symbols GDB provides the function descriptors.  With
+    # full debug info the function code would be displayed.
+    set func_prefix {\.}
+} else {
+    set func_prefix {}
+}
 
-gdb_test "p gnu_ifunc" " = {<text gnu-indirect-function variable, no debug info>} 0x\[0-9a-f\]+ <gnu_ifunc>" "p gnu_ifunc executing"
+gdb_test "p gnu_ifunc" " = {<text gnu-indirect-function variable, no debug info>} 0x\[0-9a-f\]+ <${func_prefix}gnu_ifunc>" "p gnu_ifunc executing"
 gdb_test "info sym gnu_ifunc" "gnu_ifunc in section .*" "info sym gnu_ifunc executing"
 
 set test "info addr gnu_ifunc"


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


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

* [SCM]  archer-jankratochvil-ifunc: Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc
@ 2011-03-19 12:58 jkratoch
  0 siblings, 0 replies; 9+ messages in thread
From: jkratoch @ 2011-03-19 12:58 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-ifunc has been updated
       via  b6def1400072b7845e6897c730c7140964f8b240 (commit)
       via  4725b915226faab0d250fa2a4aa07d84621cefaf (commit)
       via  e1f3a937441c3f784b8d042632cad5d442228914 (commit)
       via  bd594e5b34e261cd8fbb294b7a5f7cddf42bfda7 (commit)
      from  45b6ad3b17d0211312f13f944d09fd1766682b58 (commit)

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

- Log -----------------------------------------------------------------
commit b6def1400072b7845e6897c730c7140964f8b240
Merge: 45b6ad3 4725b91
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 13:58:00 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc

commit 4725b915226faab0d250fa2a4aa07d84621cefaf
Merge: 9c7e1fb e1f3a93
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 13:57:21 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit e1f3a937441c3f784b8d042632cad5d442228914
Merge: 6c08871 bd594e5
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 13:57:21 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader' into relatedbpt-type-findpcpart-fmt-reader-bpt

commit bd594e5b34e261cd8fbb294b7a5f7cddf42bfda7
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 13:57:15 2011 +0100

    foo

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

Summary of changes:
 gdb/elfread.c |   23 +++++++++++------------
 1 files changed, 11 insertions(+), 12 deletions(-)

First 500 lines of diff:
diff --git a/gdb/elfread.c b/gdb/elfread.c
index 7ff83e9..64779f3 100644
--- a/gdb/elfread.c
+++ b/gdb/elfread.c
@@ -857,22 +857,21 @@ elf_gnu_ifunc_resolve_name (const char *function_name,
 			    CORE_ADDR *function_address_p)
 {
   struct minimal_symbol *msym;
+  struct gdbarch *gdbarch;
 
   msym = gnu_ifunc_resolve_by_cache (function_name);
-  if (msym != NULL)
-    {
-      *function_address_p = SYMBOL_VALUE_ADDRESS (msym);
-      return 1;
-    }
+  if (msym == NULL)
+    msym = gnu_ifunc_resolve_by_got (function_name);
 
-  msym = gnu_ifunc_resolve_by_got (function_name);
-  if (msym != NULL)
-    {
-      *function_address_p = SYMBOL_VALUE_ADDRESS (msym);
-      return 1;
-    }
+  if (msym == NULL)
+    return 0;
 
-  return 0;
+  gdbarch = SYMBOL_OBJ_SECTION (msym)->objfile->gdbarch;
+  *function_address_p = SYMBOL_VALUE_ADDRESS (msym);
+  *function_address_p
+    = gdbarch_convert_from_func_ptr_addr (gdbarch, *function_address_p,
+					  &current_target);
+  return 1;
 }
 
 /* Call STT_GNU_IFUNC - a function returning addresss of a real function to


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


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

* [SCM]  archer-jankratochvil-ifunc: Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc
@ 2011-03-19  8:47 jkratoch
  0 siblings, 0 replies; 9+ messages in thread
From: jkratoch @ 2011-03-19  8:47 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-ifunc has been updated
       via  45b6ad3b17d0211312f13f944d09fd1766682b58 (commit)
       via  9c7e1fba943c0fffa994566714ca70f938990f8e (commit)
       via  6c08871a6968c3c32148b4985341b7a85cb7e578 (commit)
       via  4b9e9ff65e8f181ed0aca64636d96f274c513fb2 (commit)
       via  7758bea45faeb36e5521c20d13c6ab9e1c7dc5a7 (commit)
       via  9bc7647aa17ab7b38bd66bb48eb042ce5ae7c016 (commit)
       via  cf83fea545b6d32a9a01ba219c36ef31eb8dd93d (commit)
       via  0a697a9bc5017ddb94951eeb960bc79479a2ae7b (commit)
       via  837a27238fb42fa37145f5189ab2d22ce168dffe (commit)
       via  68c094d8bb41a64a945e75cca09d102ea1c9b2a0 (commit)
       via  cdf4dfaa567c4903b2fce0a16a2e5702e059932e (commit)
       via  b785f1698a0e79cd70616412c8b281f15eb55f16 (commit)
       via  630c9098db98fd90e77d828e4373b3c5d89923a0 (commit)
       via  e67dca4a095f4db1022fd0753ef0bda3873dc1bc (commit)
       via  661cfd57e3fe0db53f638ef5a2defcfa07657788 (commit)
       via  b1b780d5824443e4d4a0fb3ed6738d9908ef6782 (commit)
       via  54471ddd7cceafe5ecbea8a7d63c35a960c8d899 (commit)
       via  bf729a7b2ff73fdef8d5e1c21f6a3bba0cead5e6 (commit)
       via  2084af3287d9e272f3ef4c3ed940b9dd5daf6854 (commit)
       via  401e962372671eb2ff085a18254ea74a156c67e5 (commit)
       via  f86b56bf0dbd0ae8442aadc67aa63d3c78c57c1f (commit)
       via  50c1f7174d688df6a3e1590b666b14d17efc5000 (commit)
       via  4a8a3091dd993a919822dc434546f8959d16a22c (commit)
       via  ef749a8958424d7fde1db60719cdc6425831f9de (commit)
       via  b9dea663f5c79d3d7a9554da1554bb00a52e4b5e (commit)
       via  734db55da420a9ad1b8d73595f572c2daae04a6c (commit)
       via  9597e4d79bb5a4d999dc100cda756ac2e8e7cb54 (commit)
       via  d6b835049556290b1f4ce6306f0debe31cb82502 (commit)
       via  428ade676257e749ebefe65a7c2198998d2e41aa (commit)
       via  f9ccd4c7b9901c4c07909d43c0886d03a28e95a3 (commit)
       via  0448971e0af374d76fdd4a25d61440b375a10eb6 (commit)
       via  62a3a0794651dc8c15e89ec4b410f84d3fa56f03 (commit)
       via  ff8cf7f718552d36eed144ecd92334c02f8c20f8 (commit)
       via  fd9fc622e393ff0204446df3b92673fdc2a5cb08 (commit)
       via  181abcd871430c0a6e3346eda89e72d6645a0120 (commit)
       via  668b4b04f97211730132a59215b60849e9b803be (commit)
       via  dcc23d8511269c700b6812263ff1aaf19e1f8a1f (commit)
       via  a5c9b0e93e84cd8994d681c9cbeedf5db1b1c8f2 (commit)
       via  924877991d3262139bc3dfeeff72d9e3504e0f18 (commit)
      from  986e3cf403d54407c2b118a4616aa0eeb4d0edad (commit)

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

- Log -----------------------------------------------------------------
commit 45b6ad3b17d0211312f13f944d09fd1766682b58
Merge: 986e3cf 9c7e1fb
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 09:46:22 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc

commit 9c7e1fba943c0fffa994566714ca70f938990f8e
Merge: 4b9e9ff 6c08871
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 09:46:05 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit 6c08871a6968c3c32148b4985341b7a85cb7e578
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 09:45:57 2011 +0100

      cmt

commit 4b9e9ff65e8f181ed0aca64636d96f274c513fb2
Merge: 3be4b80 7758bea
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 09:39:25 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit 7758bea45faeb36e5521c20d13c6ab9e1c7dc5a7
Merge: 1dd879c 9bc7647
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 09:39:24 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader' into relatedbpt-type-findpcpart-fmt-reader-bpt

commit 9bc7647aa17ab7b38bd66bb48eb042ce5ae7c016
Merge: 2e5e04d cf83fea
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 09:39:23 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt' into relatedbpt-type-findpcpart-fmt-reader

commit cf83fea545b6d32a9a01ba219c36ef31eb8dd93d
Merge: 05bd10e 0a697a9
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 09:39:23 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart' into relatedbpt-type-findpcpart-fmt

commit 0a697a9bc5017ddb94951eeb960bc79479a2ae7b
Merge: 18d888c 837a272
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 09:39:22 2011 +0100

    Merge branch 'relatedbpt-type' into relatedbpt-type-findpcpart

commit 837a27238fb42fa37145f5189ab2d22ce168dffe
Merge: 23fcd4e 68c094d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 09:39:22 2011 +0100

    Merge branch 'relatedbpt' into relatedbpt-type

commit 68c094d8bb41a64a945e75cca09d102ea1c9b2a0
Merge: 0930f65 cdf4dfa
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Sat Mar 19 09:39:19 2011 +0100

    Merge remote-tracking branch 'origin/master' into relatedbpt

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

Summary of changes:
 ChangeLog                               |    5 +
 bfd/version.h                           |    2 +-
 config.guess                            |  215 ++++++++--------
 config.sub                              |   66 +++--
 gdb/ChangeLog                           |  433 +++++++++++++++++++++++++++++++
 gdb/MAINTAINERS                         |    1 +
 gdb/alpha-mdebug-tdep.c                 |    1 +
 gdb/alpha-tdep.c                        |   27 ++-
 gdb/amd64-tdep.c                        |  198 +++++++++++----
 gdb/amd64obsd-tdep.c                    |    1 +
 gdb/arm-tdep.c                          |   34 ++-
 gdb/avr-tdep.c                          |   10 +-
 gdb/bfin-tdep.c                         |   14 +-
 gdb/blockframe.c                        |    5 +-
 gdb/breakpoint.h                        |   17 +-
 gdb/c-exp.y                             |   36 ++--
 gdb/common/signals.c                    |   10 +-
 gdb/cp-name-parser.y                    |   10 +-
 gdb/cris-tdep.c                         |    2 +
 gdb/darwin-nat-info.c                   |    2 +-
 gdb/darwin-nat.c                        |    2 +-
 gdb/doc/ChangeLog                       |    6 +
 gdb/doc/gdb.texinfo                     |   60 ++++-
 gdb/dummy-frame.c                       |    1 +
 gdb/dwarf2-frame.c                      |   81 +++++--
 gdb/dwarf2loc.c                         |   52 ++++-
 gdb/f-exp.y                             |   12 +-
 gdb/findvar.c                           |   34 ++-
 gdb/frame-unwind.c                      |   37 +++-
 gdb/frame-unwind.h                      |   11 +
 gdb/frame.c                             |  323 ++++++++++++++++++-----
 gdb/frame.h                             |   64 ++++-
 gdb/frv-linux-tdep.c                    |    1 +
 gdb/frv-tdep.c                          |   30 ++-
 gdb/gdbarch.c                           |   10 +-
 gdb/gdbarch.h                           |    8 +-
 gdb/gdbarch.sh                          |    4 +-
 gdb/gdbserver/ChangeLog                 |    4 +
 gdb/gdbserver/server.h                  |    6 +
 gdb/h8300-tdep.c                        |    9 +-
 gdb/hppa-hpux-tdep.c                    |    1 +
 gdb/hppa-linux-tdep.c                   |    1 +
 gdb/hppa-tdep.c                         |   22 +-
 gdb/i386-tdep.c                         |  264 ++++++++++++++-----
 gdb/i386-tdep.h                         |    7 +-
 gdb/i386obsd-tdep.c                     |    1 +
 gdb/i387-tdep.c                         |   15 +-
 gdb/i387-tdep.h                         |    5 +-
 gdb/ia64-tdep.c                         |   70 ++++-
 gdb/inline-frame.c                      |    1 +
 gdb/iq2000-tdep.c                       |    1 +
 gdb/lm32-tdep.c                         |    1 +
 gdb/m2-exp.y                            |   42 ++--
 gdb/m32c-tdep.c                         |   97 +++++---
 gdb/m32r-linux-tdep.c                   |    1 +
 gdb/m32r-tdep.c                         |    1 +
 gdb/m68hc11-tdep.c                      |   12 +-
 gdb/m68k-tdep.c                         |   18 +-
 gdb/m68klinux-tdep.c                    |    1 +
 gdb/m88k-tdep.c                         |    1 +
 gdb/macroscope.c                        |    7 +-
 gdb/mep-tdep.c                          |   28 ++-
 gdb/mi/mi-main.c                        |  110 ++++----
 gdb/microblaze-tdep.c                   |    1 +
 gdb/mips-tdep.c                         |   45 +++-
 gdb/mn10300-tdep.c                      |    1 +
 gdb/moxie-tdep.c                        |    1 +
 gdb/mt-tdep.c                           |   30 ++-
 gdb/objc-exp.y                          |   50 ++--
 gdb/p-exp.y                             |   36 ++--
 gdb/ppc-linux-tdep.c                    |    1 +
 gdb/ppcobsd-tdep.c                      |    1 +
 gdb/python/py-value.c                   |    2 +-
 gdb/python/python.c                     |   95 ++++++-
 gdb/record.c                            |   10 +-
 gdb/regcache.c                          |  183 ++++++++-----
 gdb/regcache.h                          |   62 +++--
 gdb/remote.c                            |    4 +-
 gdb/rs6000-tdep.c                       |  133 +++++++----
 gdb/s390-tdep.c                         |   57 +++--
 gdb/score-tdep.c                        |    1 +
 gdb/sentinel-frame.c                    |    9 +-
 gdb/sh-tdep.c                           |   64 ++++--
 gdb/sh64-tdep.c                         |  109 +++++---
 gdb/sparc-sol2-tdep.c                   |    1 +
 gdb/sparc-tdep.c                        |   11 +-
 gdb/sparc64-sol2-tdep.c                 |    1 +
 gdb/sparc64-tdep.c                      |   42 +++-
 gdb/sparc64fbsd-tdep.c                  |    1 +
 gdb/sparc64nbsd-tdep.c                  |    1 +
 gdb/sparc64obsd-tdep.c                  |    2 +
 gdb/sparcnbsd-tdep.c                    |    1 +
 gdb/sparcobsd-tdep.c                    |    1 +
 gdb/spu-tdep.c                          |   62 +++--
 gdb/stack.c                             |  111 ++++++--
 gdb/testsuite/ChangeLog                 |   22 ++
 gdb/testsuite/gdb.python/python.exp     |    8 +
 gdb/testsuite/gdb.trace/unavailable.cc  |  126 +++++++++
 gdb/testsuite/gdb.trace/unavailable.exp |  227 ++++++++++++++++
 gdb/tracepoint.c                        |   32 +--
 gdb/tui/tui-hooks.c                     |   38 ++--
 gdb/tui/tui-stack.c                     |   17 +-
 gdb/v850-tdep.c                         |    1 +
 gdb/valops.c                            |   12 +-
 gdb/vax-tdep.c                          |    1 +
 gdb/vaxobsd-tdep.c                      |    1 +
 gdb/version.in                          |    2 +-
 gdb/xstormy16-tdep.c                    |    1 +
 gdb/xtensa-tdep.c                       |   37 ++-
 sim/bfin/ChangeLog                      |    8 +
 sim/bfin/config.in                      |    6 +
 sim/bfin/configure                      |    2 +-
 sim/bfin/configure.ac                   |    2 +-
 sim/bfin/interp.c                       |    9 +
 114 files changed, 3181 insertions(+), 1051 deletions(-)

First 500 lines of diff:
diff --git a/ChangeLog b/ChangeLog
index 1f7648c..ee4c378 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2011-03-18  David Edelsohn  <dje.gcc@gmail.com>
+
+	* config.guess: Update to version 2011-02-02
+	* config.sub: Update to version 2011-02-24
+	
 2011-03-03  Sebastian Pop  <sebastian.pop@amd.com>
 
         * configure.ac: Adjust test of with_ppl.
diff --git a/bfd/version.h b/bfd/version.h
index aa6f296..8c54415 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20110317
+#define BFD_VERSION_DATE 20110319
 #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/config.guess b/config.guess
index 115f944..187cd54 100755
--- a/config.guess
+++ b/config.guess
@@ -1,10 +1,10 @@
 #! /bin/sh
 # Attempt to guess a canonical system name.
 #   Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999,
-#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010
-#   Free Software Foundation, Inc.
+#   2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010,
+#   2011 Free Software Foundation, Inc.
 
-timestamp='2010-04-03'
+timestamp='2011-02-02'
 
 # This file is free software; you can redistribute it and/or modify it
 # under the terms of the GNU General Public License as published by
@@ -57,7 +57,7 @@ GNU config.guess ($timestamp)
 
 Originally written by Per Bothner.
 Copyright (C) 1992, 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000,
-2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010 Free
+2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Free
 Software Foundation, Inc.
 
 This is free software; see the source for copying conditions.  There is NO
@@ -92,7 +92,7 @@ if test $# != 0; then
   exit 1
 fi
 
-trap 'exit 1' HUP INT TERM
+trap 'exit 1' 1 2 15
 
 # CC_FOR_BUILD -- compiler used by this script. Note that the use of a
 # compiler to aid in system detection is discouraged as it requires
@@ -106,7 +106,7 @@ trap 'exit 1' HUP INT TERM
 
 set_cc_for_build='
 trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
-trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" HUP INT PIPE TERM ;
+trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
 : ${TMPDIR=/tmp} ;
  { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
  { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
@@ -181,7 +181,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 		fi
 		;;
 	    *)
-	        os=netbsd
+		os=netbsd
 		;;
 	esac
 	# The OS release
@@ -224,7 +224,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
 		;;
 	*5.*)
-	        UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
+		UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
 		;;
 	esac
 	# According to Compaq, /usr/sbin/psrinfo has been available on
@@ -270,7 +270,10 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	# A Xn.n version is an unreleased experimental baselevel.
 	# 1.2 uses "1.2" for uname -r.
 	echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-	exit ;;
+	# Reset EXIT trap before exiting to avoid spurious non-zero exit code.
+	exitcode=$?
+	trap '' 0
+	exit $exitcode ;;
     Alpha\ *:Windows_NT*:*)
 	# How do we know it's Interix rather than the generic POSIX subsystem?
 	# Should we change UNAME_MACHINE based on the output of uname instead
@@ -296,7 +299,7 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
 	echo s390-ibm-zvmoe
 	exit ;;
     *:OS400:*:*)
-        echo powerpc-ibm-os400
+	echo powerpc-ibm-os400
 	exit ;;
     arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
 	echo arm-acorn-riscix${UNAME_RELEASE}
@@ -395,23 +398,23 @@ case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
     # MiNT.  But MiNT is downward compatible to TOS, so this should
     # be no problem.
     atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
+	echo m68k-atari-mint${UNAME_RELEASE}
 	exit ;;
     atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
 	echo m68k-atari-mint${UNAME_RELEASE}
-        exit ;;
+	exit ;;
     *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
-        echo m68k-atari-mint${UNAME_RELEASE}
+	echo m68k-atari-mint${UNAME_RELEASE}
 	exit ;;
     milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
-        echo m68k-milan-mint${UNAME_RELEASE}
-        exit ;;
+	echo m68k-milan-mint${UNAME_RELEASE}
+	exit ;;
     hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
-        echo m68k-hades-mint${UNAME_RELEASE}
-        exit ;;
+	echo m68k-hades-mint${UNAME_RELEASE}
+	exit ;;
     *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
-        echo m68k-unknown-mint${UNAME_RELEASE}
-        exit ;;
+	echo m68k-unknown-mint${UNAME_RELEASE}
+	exit ;;
     m68k:machten:*:*)
 	echo m68k-apple-machten${UNAME_RELEASE}
 	exit ;;
@@ -481,8 +484,8 @@ EOF
 	echo m88k-motorola-sysv3
 	exit ;;
     AViiON:dgux:*:*)
-        # DG/UX returns AViiON for all architectures
-        UNAME_PROCESSOR=`/usr/bin/uname -p`
+	# DG/UX returns AViiON for all architectures
+	UNAME_PROCESSOR=`/usr/bin/uname -p`
 	if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
 	then
 	    if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
@@ -495,7 +498,7 @@ EOF
 	else
 	    echo i586-dg-dgux${UNAME_RELEASE}
 	fi
- 	exit ;;
+	exit ;;
     M88*:DolphinOS:*:*)	# DolphinOS (SVR3)
 	echo m88k-dolphin-sysv3
 	exit ;;
@@ -552,7 +555,7 @@ EOF
 		echo rs6000-ibm-aix3.2
 	fi
 	exit ;;
-    *:AIX:*:[456])
+    *:AIX:*:[4567])
 	IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
 	if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
 		IBM_ARCH=rs6000
@@ -595,52 +598,52 @@ EOF
 	    9000/[678][0-9][0-9])
 		if [ -x /usr/bin/getconf ]; then
 		    sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
-                    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
-                    case "${sc_cpu_version}" in
-                      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
-                      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
-                      532)                      # CPU_PA_RISC2_0
-                        case "${sc_kernel_bits}" in
-                          32) HP_ARCH="hppa2.0n" ;;
-                          64) HP_ARCH="hppa2.0w" ;;
+		    sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
+		    case "${sc_cpu_version}" in
+		      523) HP_ARCH="hppa1.0" ;; # CPU_PA_RISC1_0
+		      528) HP_ARCH="hppa1.1" ;; # CPU_PA_RISC1_1
+		      532)                      # CPU_PA_RISC2_0
+			case "${sc_kernel_bits}" in
+			  32) HP_ARCH="hppa2.0n" ;;
+			  64) HP_ARCH="hppa2.0w" ;;
 			  '') HP_ARCH="hppa2.0" ;;   # HP-UX 10.20
-                        esac ;;
-                    esac
+			esac ;;
+		    esac
 		fi
 		if [ "${HP_ARCH}" = "" ]; then
 		    eval $set_cc_for_build
-		    sed 's/^              //' << EOF >$dummy.c
+		    sed 's/^		//' << EOF >$dummy.c
 
-              #define _HPUX_SOURCE
-              #include <stdlib.h>
-              #include <unistd.h>
+		#define _HPUX_SOURCE
+		#include <stdlib.h>
+		#include <unistd.h>
 
-              int main ()
-              {
-              #if defined(_SC_KERNEL_BITS)
-                  long bits = sysconf(_SC_KERNEL_BITS);
-              #endif
-                  long cpu  = sysconf (_SC_CPU_VERSION);
+		int main ()
+		{
+		#if defined(_SC_KERNEL_BITS)
+		    long bits = sysconf(_SC_KERNEL_BITS);
+		#endif
+		    long cpu  = sysconf (_SC_CPU_VERSION);
 
-                  switch (cpu)
-              	{
-              	case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
-              	case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
-              	case CPU_PA_RISC2_0:
-              #if defined(_SC_KERNEL_BITS)
-              	    switch (bits)
-              		{
-              		case 64: puts ("hppa2.0w"); break;
-              		case 32: puts ("hppa2.0n"); break;
-              		default: puts ("hppa2.0"); break;
-              		} break;
-              #else  /* !defined(_SC_KERNEL_BITS) */
-              	    puts ("hppa2.0"); break;
-              #endif
-              	default: puts ("hppa1.0"); break;
-              	}
-                  exit (0);
-              }
+		    switch (cpu)
+			{
+			case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
+			case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
+			case CPU_PA_RISC2_0:
+		#if defined(_SC_KERNEL_BITS)
+			    switch (bits)
+				{
+				case 64: puts ("hppa2.0w"); break;
+				case 32: puts ("hppa2.0n"); break;
+				default: puts ("hppa2.0"); break;
+				} break;
+		#else  /* !defined(_SC_KERNEL_BITS) */
+			    puts ("hppa2.0"); break;
+		#endif
+			default: puts ("hppa1.0"); break;
+			}
+		    exit (0);
+		}
 EOF
 		    (CCOPTS= $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
 		    test -z "$HP_ARCH" && HP_ARCH=hppa
@@ -731,22 +734,22 @@ EOF
 	exit ;;
     C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
 	echo c1-convex-bsd
-        exit ;;
+	exit ;;
     C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
 	if getsysinfo -f scalar_acc
 	then echo c32-convex-bsd
 	else echo c2-convex-bsd
 	fi
-        exit ;;
+	exit ;;
     C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
 	echo c34-convex-bsd
-        exit ;;
+	exit ;;
     C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
 	echo c38-convex-bsd
-        exit ;;
+	exit ;;
     C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
 	echo c4-convex-bsd
-        exit ;;
+	exit ;;
     CRAY*Y-MP:*:*:*)
 	echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
 	exit ;;
@@ -770,14 +773,14 @@ EOF
 	exit ;;
     F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
 	FUJITSU_PROC=`uname -m | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz'`
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
-        echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
-        exit ;;
+	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
+	echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	exit ;;
     5000:UNIX_System_V:4.*:*)
-        FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
-        FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
-        echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
+	FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
+	FUJITSU_REL=`echo ${UNAME_RELEASE} | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/ /_/'`
+	echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
 	exit ;;
     i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
 	echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
@@ -805,14 +808,14 @@ EOF
 	echo ${UNAME_MACHINE}-pc-mingw32
 	exit ;;
     i*:windows32*:*)
-    	# uname -m includes "-pc" on this system.
-    	echo ${UNAME_MACHINE}-mingw32
+	# uname -m includes "-pc" on this system.
+	echo ${UNAME_MACHINE}-mingw32
 	exit ;;
     i*:PW*:*)
 	echo ${UNAME_MACHINE}-pc-pw32
 	exit ;;
     *:Interix*:*)
-    	case ${UNAME_MACHINE} in
+	case ${UNAME_MACHINE} in
 	    x86)
 		echo i586-pc-interix${UNAME_RELEASE}
 		exit ;;
@@ -867,7 +870,7 @@ EOF
 	  EV6)   UNAME_MACHINE=alphaev6 ;;
 	  EV67)  UNAME_MACHINE=alphaev67 ;;
 	  EV68*) UNAME_MACHINE=alphaev68 ;;
-        esac
+	esac
 	objdump --private-headers /bin/sh | grep -q ld.so.1
 	if test "$?" = 0 ; then LIBC="libc1" ; else LIBC="" ; fi
 	echo ${UNAME_MACHINE}-unknown-linux-gnu${LIBC}
@@ -892,7 +895,7 @@ EOF
 	echo crisv32-axis-linux-gnu
 	exit ;;
     frv:Linux:*:*)
-    	echo frv-unknown-linux-gnu
+	echo frv-unknown-linux-gnu
 	exit ;;
     i*86:Linux:*:*)
 	LIBC=gnu
@@ -960,7 +963,7 @@ EOF
 	echo ${UNAME_MACHINE}-ibm-linux
 	exit ;;
     sh64*:Linux:*:*)
-    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     sh*:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
@@ -968,6 +971,9 @@ EOF
     sparc:Linux:*:* | sparc64:Linux:*:*)
 	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
+    tile*:Linux:*:*)
+	echo ${UNAME_MACHINE}-tilera-linux-gnu
+	exit ;;
     vax:Linux:*:*)
 	echo ${UNAME_MACHINE}-dec-linux-gnu
 	exit ;;
@@ -975,7 +981,7 @@ EOF
 	echo x86_64-unknown-linux-gnu
 	exit ;;
     xtensa*:Linux:*:*)
-    	echo ${UNAME_MACHINE}-unknown-linux-gnu
+	echo ${UNAME_MACHINE}-unknown-linux-gnu
 	exit ;;
     i*86:DYNIX/ptx:4*:*)
 	# ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
@@ -984,11 +990,11 @@ EOF
 	echo i386-sequent-sysv4
 	exit ;;
     i*86:UNIX_SV:4.2MP:2.*)
-        # Unixware is an offshoot of SVR4, but it has its own version
-        # number series starting with 2...
-        # I am not positive that other SVR4 systems won't match this,
+	# Unixware is an offshoot of SVR4, but it has its own version
+	# number series starting with 2...
+	# I am not positive that other SVR4 systems won't match this,
 	# I just have to hope.  -- rms.
-        # Use sysv4.2uw... so that sysv4* matches it.
+	# Use sysv4.2uw... so that sysv4* matches it.
 	echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
 	exit ;;
     i*86:OS/2:*:*)
@@ -1020,7 +1026,7 @@ EOF
 	fi
 	exit ;;
     i*86:*:5:[678]*)
-    	# UnixWare 7.x, OpenUNIX and OpenServer 6.
+	# UnixWare 7.x, OpenUNIX and OpenServer 6.
 	case `/bin/uname -X | grep "^Machine"` in
 	    *486*)	     UNAME_MACHINE=i486 ;;
 	    *Pentium)	     UNAME_MACHINE=i586 ;;
@@ -1048,13 +1054,13 @@ EOF
 	exit ;;
     pc:*:*:*)
 	# Left here for compatibility:
-        # uname -m prints for DJGPP always 'pc', but it prints nothing about
-        # the processor, so we play safe by assuming i586.
+	# uname -m prints for DJGPP always 'pc', but it prints nothing about
+	# the processor, so we play safe by assuming i586.
 	# Note: whatever this is, it MUST be the same as what config.sub
 	# prints for the "djgpp" host, or else GDB configury will decide that
 	# this is a cross-build.
 	echo i586-pc-msdosdjgpp
-        exit ;;
+	exit ;;
     Intel:Mach:3*:*)
 	echo i386-pc-mach3
 	exit ;;
@@ -1089,8 +1095,8 @@ EOF
 	/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
 	  && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
     3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
-        /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
-          && { echo i486-ncr-sysv4; exit; } ;;
+	/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
+	  && { echo i486-ncr-sysv4; exit; } ;;
     NCR*:*:4.2:* | MPRAS*:*:4.2:*)
 	OS_REL='.3'
 	test -r /etc/.relid \
@@ -1133,10 +1139,10 @@ EOF
 		echo ns32k-sni-sysv
 	fi
 	exit ;;
-    PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
-                      # says <Richard.M.Bartel@ccMail.Census.GOV>
-        echo i586-unisys-sysv4
-        exit ;;
+    PENTIUM:*:4.0*:*)	# Unisys `ClearPath HMP IX 4000' SVR4/MP effort
+			# says <Richard.M.Bartel@ccMail.Census.GOV>
+	echo i586-unisys-sysv4
+	exit ;;
     *:UNIX_System_V:4*:FTX*)
 	# From Gerald Hewes <hewes@openmarket.com>.
 	# How about differentiating between stratus architectures? -djm
@@ -1162,11 +1168,11 @@ EOF
 	exit ;;
     R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
 	if [ -d /usr/nec ]; then
-	        echo mips-nec-sysv${UNAME_RELEASE}
+		echo mips-nec-sysv${UNAME_RELEASE}
 	else
-	        echo mips-unknown-sysv${UNAME_RELEASE}
+		echo mips-unknown-sysv${UNAME_RELEASE}
 	fi
-        exit ;;
+	exit ;;
     BeBox:BeOS:*:*)	# BeOS running on hardware made by Be, PPC only.
 	echo powerpc-be-beos
 	exit ;;
@@ -1231,6 +1237,9 @@ EOF
     *:QNX:*:4*)
 	echo i386-pc-qnx
 	exit ;;
+    NEO-?:NONSTOP_KERNEL:*:*)
+	echo neo-tandem-nsk${UNAME_RELEASE}
+	exit ;;
     NSE-?:NONSTOP_KERNEL:*:*)
 	echo nse-tandem-nsk${UNAME_RELEASE}
 	exit ;;
@@ -1276,13 +1285,13 @@ EOF
 	echo pdp10-unknown-its
 	exit ;;
     SEI:*:*:SEIUX)
-        echo mips-sei-seiux${UNAME_RELEASE}
+	echo mips-sei-seiux${UNAME_RELEASE}
 	exit ;;
     *:DragonFly:*:*)
 	echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
 	exit ;;
     *:*VMS:*:*)
-    	UNAME_MACHINE=`(uname -p) 2>/dev/null`
+	UNAME_MACHINE=`(uname -p) 2>/dev/null`
 	case "${UNAME_MACHINE}" in
 	    A*) echo alpha-dec-vms ; exit ;;
 	    I*) echo ia64-dec-vms ; exit ;;
@@ -1322,11 +1331,11 @@ main ()
 #include <sys/param.h>
   printf ("m68k-sony-newsos%s\n",
 #ifdef NEWSOS4
-          "4"
+	"4"
 #else
-	  ""
+	""
 #endif
-         ); exit (0);
+	); exit (0);
 #endif
 #endif
 
diff --git a/config.sub b/config.sub


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


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

* [SCM]  archer-jankratochvil-ifunc: Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc
@ 2011-03-17 20:44 jkratoch
  0 siblings, 0 replies; 9+ messages in thread
From: jkratoch @ 2011-03-17 20:44 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-ifunc has been updated
       via  986e3cf403d54407c2b118a4616aa0eeb4d0edad (commit)
       via  3be4b80d248d25a8c74fc915e31797b42b45810a (commit)
       via  1dd879c4004e011ca41e7518c16077a8fe4624cd (commit)
       via  008f66376ce4b2f27a3bc822a5bd7ac326ac20b9 (commit)
       via  ae0670b7be84af19f707888765b275a58dde9ffe (commit)
       via  3aeb5a04730b5abaa951f890d52edc00569d9e11 (commit)
       via  541168fdad56b98cb02e6d90bc89198bdffe7e9b (commit)
       via  3be980d7780bab5ea98fe75ec30673203745952f (commit)
       via  0ae6b4aab892b7f837b5a999194dd080b62fdd78 (commit)
       via  2e5e04d0d94d5ef6c75fae5742345dbd5da16d73 (commit)
       via  05bd10e0fcf21bda53f4d87d69b2a77b114ccaa5 (commit)
       via  18d888cfa7edbfc2a400242a1319a78fb288ba60 (commit)
       via  cf952a45c423a56396bcef5d6fd2f4344f8f0483 (commit)
       via  d79c7b27f33a2eca393e2a8085ec75af6b7d58a4 (commit)
       via  84e4ebb4062e34e548a7a7947fbf184cb0046f09 (commit)
       via  69d206bdd9c02c4e39e9f0f52d62ea15ae9eba18 (commit)
       via  2c9fd3c4f74e411ec75b8f835589817a3ddfce36 (commit)
       via  23fcd4eeb98babf8358103717d7d51f67e802acd (commit)
       via  93cb58b8da7bf80bb01655681d9327fc9502a838 (commit)
       via  0c3eafebc3fed3f1bd6eb4a072e7c0966c611418 (commit)
       via  822bf9b20adf4853444e1c1b18fe8a7c3755f2f7 (commit)
       via  d2166715a15c4082d5a3094538b733904e2fe7ce (commit)
       via  a99d06da67b8c0ad25f4c358a5dec264efaf34b2 (commit)
       via  f716cc5685f103bb1ec35918e0b59011fd083cf9 (commit)
       via  9f927769739e9f6fec08b6a16a6c44c1d8492c9d (commit)
       via  0930f657438edb8d8e1db662b25f98f29fbee9e3 (commit)
      from  6507ac58ab8f1fe40a5c25d66b12e6aaebc3ce5b (commit)

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

- Log -----------------------------------------------------------------
commit 986e3cf403d54407c2b118a4616aa0eeb4d0edad
Merge: 6507ac5 3be4b80
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 21:43:48 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc

commit 3be4b80d248d25a8c74fc915e31797b42b45810a
Merge: 008f663 1dd879c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 21:40:04 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit 1dd879c4004e011ca41e7518c16077a8fe4624cd
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 21:39:59 2011 +0100

    +cmt

commit 008f66376ce4b2f27a3bc822a5bd7ac326ac20b9
Merge: 3aeb5a0 ae0670b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 21:32:48 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit ae0670b7be84af19f707888765b275a58dde9ffe
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 21:32:43 2011 +0100

    +cmt

commit 3aeb5a04730b5abaa951f890d52edc00569d9e11
Merge: 3be980d 541168f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 21:14:21 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit 541168fdad56b98cb02e6d90bc89198bdffe7e9b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 21:14:14 2011 +0100

    foo

commit 3be980d7780bab5ea98fe75ec30673203745952f
Merge: cf952a4 0ae6b4a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 21:10:30 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit 0ae6b4aab892b7f837b5a999194dd080b62fdd78
Merge: d79c7b2 2e5e04d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 21:10:30 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader' into relatedbpt-type-findpcpart-fmt-reader-bpt

commit 2e5e04d0d94d5ef6c75fae5742345dbd5da16d73
Merge: 84e4ebb 05bd10e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 21:10:29 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt' into relatedbpt-type-findpcpart-fmt-reader

commit 05bd10e0fcf21bda53f4d87d69b2a77b114ccaa5
Merge: 69d206b 18d888c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 21:10:29 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart' into relatedbpt-type-findpcpart-fmt

commit 18d888cfa7edbfc2a400242a1319a78fb288ba60
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 21:10:21 2011 +0100

    cleanup

commit cf952a45c423a56396bcef5d6fd2f4344f8f0483
Merge: 93cb58b d79c7b2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 20:52:18 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit d79c7b27f33a2eca393e2a8085ec75af6b7d58a4
Merge: 0c3eafe 84e4ebb
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 20:52:17 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader' into relatedbpt-type-findpcpart-fmt-reader-bpt

commit 84e4ebb4062e34e548a7a7947fbf184cb0046f09
Merge: 822bf9b 69d206b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 20:52:17 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt' into relatedbpt-type-findpcpart-fmt-reader

commit 69d206bdd9c02c4e39e9f0f52d62ea15ae9eba18
Merge: d216671 2c9fd3c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 20:52:17 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart' into relatedbpt-type-findpcpart-fmt

commit 2c9fd3c4f74e411ec75b8f835589817a3ddfce36
Merge: a99d06d 23fcd4e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 20:52:17 2011 +0100

    Merge branch 'relatedbpt-type' into relatedbpt-type-findpcpart

commit 23fcd4eeb98babf8358103717d7d51f67e802acd
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 20:52:10 2011 +0100

    cmt

commit 93cb58b8da7bf80bb01655681d9327fc9502a838
Merge: 9f92776 0c3eafe
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 20:25:06 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit 0c3eafebc3fed3f1bd6eb4a072e7c0966c611418
Merge: 0c246e8 822bf9b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 20:25:05 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader' into relatedbpt-type-findpcpart-fmt-reader-bpt

commit 822bf9b20adf4853444e1c1b18fe8a7c3755f2f7
Merge: 2dad330 d216671
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 20:25:05 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt' into relatedbpt-type-findpcpart-fmt-reader

commit d2166715a15c4082d5a3094538b733904e2fe7ce
Merge: 2328faf a99d06d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 20:25:05 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart' into relatedbpt-type-findpcpart-fmt

commit a99d06da67b8c0ad25f4c358a5dec264efaf34b2
Merge: cf9980d f716cc5
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 20:25:04 2011 +0100

    Merge branch 'relatedbpt-type' into relatedbpt-type-findpcpart

commit f716cc5685f103bb1ec35918e0b59011fd083cf9
Merge: 91bd251 0930f65
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 20:25:04 2011 +0100

    Merge branch 'relatedbpt' into relatedbpt-type

commit 9f927769739e9f6fec08b6a16a6c44c1d8492c9d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 20:24:59 2011 +0100

    +2011

commit 0930f657438edb8d8e1db662b25f98f29fbee9e3
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 20:24:22 2011 +0100

    +2011

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

Summary of changes:
 gdb/blockframe.c                             |   38 ++++++++++++++++++-------
 gdb/breakpoint.c                             |   14 +++++++---
 gdb/elfread.c                                |    4 +++
 gdb/symtab.h                                 |   19 +++++--------
 gdb/testsuite/gdb.base/gnu-ifunc-lib.c       |    2 +-
 gdb/testsuite/gdb.base/gnu-ifunc.c           |    2 +-
 gdb/testsuite/gdb.base/gnu-ifunc.exp         |    2 +-
 gdb/testsuite/gdb.base/watchpoint-delete.c   |    2 +-
 gdb/testsuite/gdb.base/watchpoint-delete.exp |    2 +-
 9 files changed, 53 insertions(+), 32 deletions(-)

First 500 lines of diff:
diff --git a/gdb/blockframe.c b/gdb/blockframe.c
index e1f3242..f8c14ea 100644
--- a/gdb/blockframe.c
+++ b/gdb/blockframe.c
@@ -179,17 +179,19 @@ clear_pc_function_cache (void)
    *NAME and/or *ADDRESS conditionally if that pointer is non-null.
    If ENDADDR is non-null, then set *ENDADDR to be the end of the
    function (exclusive), but passing ENDADDR as non-null means that
-   the function might cause symbols to be read.  This function either
-   succeeds or fails (not halfway succeeds).  If it succeeds, it sets
-   *NAME, *ADDRESS, and *ENDADDR to real information and returns 1.
-   If it fails, it sets *NAME, *ADDRESS, and *ENDADDR to zero and
-   returns 0.  */
+   the function might cause symbols to be read.  If IS_GNU_IFUNC_P is provided
+   *IS_GNU_IFUNC_P is set to 1 on return if the function is STT_GNU_IFUNC.
+   This function either succeeds or fails (not halfway succeeds).  If it
+   succeeds, it sets *NAME, *ADDRESS, and *ENDADDR to real information and
+   returns 1.  If it fails, it sets *NAME, *ADDRESS, *ENDADDR and
+   *IS_GNU_IFUNC_P to zero and returns 0.  */
 
 /* Backward compatibility, no section argument.  */
 
-enum find_pc_partial_function_type
-find_pc_partial_function (CORE_ADDR pc, char **name, CORE_ADDR *address,
-			  CORE_ADDR *endaddr)
+int
+find_pc_partial_function_gnu_ifunc (CORE_ADDR pc, char **name,
+				    CORE_ADDR *address, CORE_ADDR *endaddr,
+				    int *is_gnu_ifunc_p)
 {
   struct obj_section *section;
   struct symbol *f;
@@ -262,7 +264,9 @@ find_pc_partial_function (CORE_ADDR pc, char **name, CORE_ADDR *address,
 	*address = 0;
       if (endaddr != NULL)
 	*endaddr = 0;
-      return FIND_PC_PARTIAL_FUNCTION_NOT_FOUND;
+      if (is_gnu_ifunc_p != NULL)
+	*is_gnu_ifunc_p = 0;
+      return 0;
     }
 
   cache_pc_function_low = SYMBOL_VALUE_ADDRESS (msymbol);
@@ -331,8 +335,20 @@ find_pc_partial_function (CORE_ADDR pc, char **name, CORE_ADDR *address,
 	*endaddr = cache_pc_function_high;
     }
 
-  return cache_pc_function_is_gnu_ifunc ? FIND_PC_PARTIAL_FUNCTION_GNU_IFUNC
-					: FIND_PC_PARTIAL_FUNCTION_NORMAL;
+  if (is_gnu_ifunc_p)
+    *is_gnu_ifunc_p = cache_pc_function_is_gnu_ifunc;
+
+  return 1;
+}
+
+/* See find_pc_partial_function_gnu_ifunc, only the IS_GNU_IFUNC_P parameter
+   is omitted here for backward API compatibility.  */
+
+int
+find_pc_partial_function (CORE_ADDR pc, char **name, CORE_ADDR *address,
+			  CORE_ADDR *endaddr)
+{
+  return find_pc_partial_function_gnu_ifunc (pc, name, address, endaddr, NULL);
 }
 
 /* Return the innermost stack frame executing inside of BLOCK, or NULL
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index 74bdd94..5d2392d 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -5763,7 +5763,10 @@ set_raw_breakpoint_without_location (struct gdbarch *gdbarch,
   return b;
 }
 
-/* Initialize loc->function_name.  */
+/* Initialize loc->function_name.  EXPLICIT_LOC says no indirect function
+   resolutions should be made as the user specified the location explicitly
+   enough.  */
+
 static void
 set_breakpoint_location_function (struct bp_location *loc, int explicit_loc)
 {
@@ -5773,9 +5776,12 @@ set_breakpoint_location_function (struct bp_location *loc, int explicit_loc)
       || loc->owner->type == bp_hardware_breakpoint
       || is_tracepoint (loc->owner))
     {
-      if (find_pc_partial_function (loc->address, &(loc->function_name), NULL,
-				    NULL) == FIND_PC_PARTIAL_FUNCTION_GNU_IFUNC
-	  && !explicit_loc)
+      int is_gnu_ifunc;
+
+      find_pc_partial_function_gnu_ifunc (loc->address, &loc->function_name,
+					  NULL, NULL, &is_gnu_ifunc);
+
+      if (is_gnu_ifunc && !explicit_loc)
 	{
 	  struct breakpoint *b = loc->owner;
 
diff --git a/gdb/elfread.c b/gdb/elfread.c
index 4a4e7fa..7ff83e9 100644
--- a/gdb/elfread.c
+++ b/gdb/elfread.c
@@ -913,6 +913,8 @@ elf_gnu_ifunc_resolve_addr (struct gdbarch *gdbarch, CORE_ADDR pc)
   return gdbarch_convert_from_func_ptr_addr (gdbarch, address, &current_target);
 }
 
+/* Handle inferior hit of bp_gnu_ifunc_resolver, see its definition.  */
+
 static void
 elf_gnu_ifunc_resolver_stop (struct breakpoint *b)
 {
@@ -960,6 +962,8 @@ elf_gnu_ifunc_resolver_stop (struct breakpoint *b)
     }
 }
 
+/* Handle inferior hit of bp_gnu_ifunc_resolver_return, see its definition.  */
+
 static void
 elf_gnu_ifunc_resolver_return_stop (struct breakpoint *b)
 {
diff --git a/gdb/symtab.h b/gdb/symtab.h
index 9519fdb..f989ba5 100644
--- a/gdb/symtab.h
+++ b/gdb/symtab.h
@@ -292,7 +292,7 @@ enum minimal_symbol_type
   mst_text,			/* Generally executable instructions */
   mst_text_gnu_ifunc,		/* Executable code returning address
 				   of executable code */
-  mst_slot_got_plt,
+  mst_slot_got_plt,		/* GOT entries for .plt sections */
   mst_data,			/* Generally initialized data */
   mst_bss,			/* Generally uninitialized data */
   mst_abs,			/* Generally absolute (nonrelocatable) */
@@ -956,20 +956,15 @@ extern struct symbol *find_pc_function (CORE_ADDR);
 
 extern struct symbol *find_pc_sect_function (CORE_ADDR, struct obj_section *);
 
-/* Return type for find_pc_partial_function.  Ensure not found is false and
-   other types are true.  */
-
-enum find_pc_partial_function_type
-{
-  FIND_PC_PARTIAL_FUNCTION_NOT_FOUND = 0,
-  FIND_PC_PARTIAL_FUNCTION_NORMAL,
-  FIND_PC_PARTIAL_FUNCTION_GNU_IFUNC
-};
+extern int find_pc_partial_function_gnu_ifunc (CORE_ADDR pc, char **name,
+					       CORE_ADDR *address,
+					       CORE_ADDR *endaddr,
+					       int *is_gnu_ifunc_p);
 
 /* lookup function from address, return name, start addr and end addr.  */
 
-extern enum find_pc_partial_function_type
-  find_pc_partial_function (CORE_ADDR, char **, CORE_ADDR *, CORE_ADDR *);
+extern int find_pc_partial_function (CORE_ADDR, char **, CORE_ADDR *,
+				     CORE_ADDR *);
 
 extern void clear_pc_function_cache (void);
 
diff --git a/gdb/testsuite/gdb.base/gnu-ifunc-lib.c b/gdb/testsuite/gdb.base/gnu-ifunc-lib.c
index 680530a..dc6710e 100644
--- a/gdb/testsuite/gdb.base/gnu-ifunc-lib.c
+++ b/gdb/testsuite/gdb.base/gnu-ifunc-lib.c
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009, 2010 Free Software Foundation, Inc.
+   Copyright 2009, 2010, 2011 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/testsuite/gdb.base/gnu-ifunc.c b/gdb/testsuite/gdb.base/gnu-ifunc.c
index 106271f..0ee741f 100644
--- a/gdb/testsuite/gdb.base/gnu-ifunc.c
+++ b/gdb/testsuite/gdb.base/gnu-ifunc.c
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2009, 2010 Free Software Foundation, Inc.
+   Copyright 2009, 2010, 2011 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/testsuite/gdb.base/gnu-ifunc.exp b/gdb/testsuite/gdb.base/gnu-ifunc.exp
index 72a5063..32855d7 100644
--- a/gdb/testsuite/gdb.base/gnu-ifunc.exp
+++ b/gdb/testsuite/gdb.base/gnu-ifunc.exp
@@ -1,4 +1,4 @@
-# Copyright (C) 2009, 2010 Free Software Foundation, Inc.
+# Copyright (C) 2009, 2010, 2011 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
diff --git a/gdb/testsuite/gdb.base/watchpoint-delete.c b/gdb/testsuite/gdb.base/watchpoint-delete.c
index 031ef92..20c9929 100644
--- a/gdb/testsuite/gdb.base/watchpoint-delete.c
+++ b/gdb/testsuite/gdb.base/watchpoint-delete.c
@@ -1,6 +1,6 @@
 /* This testcase is part of GDB, the GNU debugger.
 
-   Copyright 2010 Free Software Foundation, Inc.
+   Copyright 2010, 2011 Free Software Foundation, Inc.
 
    This program is free software; you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
diff --git a/gdb/testsuite/gdb.base/watchpoint-delete.exp b/gdb/testsuite/gdb.base/watchpoint-delete.exp
index 45bc650..7aadf4e 100644
--- a/gdb/testsuite/gdb.base/watchpoint-delete.exp
+++ b/gdb/testsuite/gdb.base/watchpoint-delete.exp
@@ -1,4 +1,4 @@
-# Copyright 2010 Free Software Foundation, Inc.
+# Copyright 2010, 2011 Free Software Foundation, Inc.
 
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by


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


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

* [SCM]  archer-jankratochvil-ifunc: Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc
@ 2011-03-17 19:08 jkratoch
  0 siblings, 0 replies; 9+ messages in thread
From: jkratoch @ 2011-03-17 19:08 UTC (permalink / raw)
  To: archer-commits

The branch, archer-jankratochvil-ifunc has been updated
       via  6507ac58ab8f1fe40a5c25d66b12e6aaebc3ce5b (commit)
       via  fb5583de235772a05ffe4744bdefbb3ddab689b4 (commit)
       via  0c246e861d4960e25b65303dacdf14a9df05ca95 (commit)
       via  2dad33053fb0c3a19be2dc97e86f0b9023d5cedb (commit)
       via  20d67b5a917b178575ac62d2ad9a074a9eb03994 (commit)
       via  e48b85af51ea6032e5f7cb07f82138e19ef8d7cb (commit)
       via  381b1427f81a3c389485c48bfd09285d0c0c042a (commit)
       via  0abd2b77556cbbfe8fb47333233cd4a3c11b7a5e (commit)
       via  0e45caffd1974158106b2b7c6cd81cee0ab06e73 (commit)
       via  2328faff76e37bcc006293a534b0c01d012ef5f8 (commit)
       via  cf9980d9efe4c48155cedbf61b4f4bfbb75009ff (commit)
       via  91bd2518504e02a413d26bce2698efff1b9a1099 (commit)
       via  63f4c502dbbbe6e48d7a6cb88fae13550a730e80 (commit)
       via  424baf8935c0779abc956036a104773c3e8f8150 (commit)
       via  3480b2bc56ec0bb51c1f18584fd293fd8ef25dec (commit)
       via  eb3e6936e0c1076e0b97e0bad55083503cf82d88 (commit)
       via  8cf9d7bc2daf04b1f2c826325a2dd45a12d34fe6 (commit)
       via  f240035c535706a46f27375e92907dea172d34ec (commit)
       via  59a9cd625a7a4e28ebca04e3c592b3f77c3a5948 (commit)
       via  7678cf17ece2148084514a258d3d71505d15ab79 (commit)
       via  9e2e8e2f9323fe17ceafb49d8eca9e3117947066 (commit)
       via  bb108bccb87a6e3b166a2ba74cc3aaf192c687ff (commit)
       via  f7b5c50a8f9d584efb56f7c34f6f20dd8d2939e4 (commit)
       via  2be90f6afed93f650df32ae6df6cd82ec2fbe171 (commit)
       via  4a277af96bae6754b2f3a36456ee64b7c222c1dc (commit)
       via  ec7efb3bc82c6707d64d15c899d56800c249b5a1 (commit)
       via  46b089dcee33929ae8059c21d13ecd4ef2e6a0b1 (commit)
       via  5fc5cd99b179ffc27fa227a1a7fb6717f0269f8c (commit)
       via  536119ece0446705232fb2594849d94ee902cd05 (commit)
       via  7bd8ad853c8eb3453026abe264c51653ac391a24 (commit)
       via  700b83426f987745f44d6cd4de32fb1505052e40 (commit)
       via  76332c7e9e8452309c4df2ca3d1aac2d0f8881b2 (commit)
       via  891daeda6573116f241e7148cd40ca7ad225bca3 (commit)
       via  a44c38705a034ac49843143e5f97cbba0fabccf0 (commit)
       via  ce31dbf5c99b7c03480c65adb8db1ecf1703fe18 (commit)
       via  76fed03404ccd4a518cf40dd0264c116f4080abe (commit)
       via  ec7613eaef9f5475b8309bd037b5097a9593c50b (commit)
       via  552388a00fed0674af1a63c2f01d3fd6b8e24f1a (commit)
       via  bf6f90b036b797bea616251efc370f6d0aceb0f5 (commit)
       via  3afeb4897a2974b751133d282a7800c38da42225 (commit)
       via  c4414c8b86945f914cd24ee0f735d568446e4dbe (commit)
       via  1b337953c858d0cd95c968a1c29dd702506a149f (commit)
       via  03f841bcd09f0b5ab1bcd17a769086fd2feea537 (commit)
       via  3c66b84e536efdc6309dc4e37e73bfb2cffe2dca (commit)
       via  a5362d44052f9fb6dcc55099058b066540fab586 (commit)
       via  c7fc6e0bce79c78a3536826dde3aab091cbb8fdf (commit)
       via  265c8fef654fd7d68c28ad2cbe4fa1fb38a4c29d (commit)
       via  65b60a8b6fd531eaeba56ade38aded9c2e7d0857 (commit)
       via  178061ea82d34d969f7d075540dab710c2e877f8 (commit)
       via  b3fb6d20f3c942ca2d765866619cc9659f39b609 (commit)
       via  8e55110314866c5205b16ccf181d9e8765178da1 (commit)
       via  deb579185bcb2bda9df2242bed471f7e2fdad76a (commit)
       via  c9ee71fcd34160cc536bf354572119a47a1c68cc (commit)
       via  1cb5481ade4ed3127e4a1c837809bed0341890f0 (commit)
       via  abf66c159a422b39b4e43b5bd76539ee6e3707a4 (commit)
       via  d32853baf7c1dcb737762e6abef366129c3ae2b5 (commit)
       via  7713fe159824f35c8f0659d418aadccbc0d75229 (commit)
       via  6ae57924bf96adaa1ee8c546f3e2206a7abe833c (commit)
       via  f6c12acf7f22ae0cb37fddbfa1e076de7ce9fd1f (commit)
       via  b34c491c05ca71999f09cc4be1864114b1ded509 (commit)
       via  8886dfa9271016a86c8d47b6f967c148d3a79c6e (commit)
       via  e65c8e15c0490265bc2ce39cca2827cabd3335db (commit)
       via  a7db0d1f380ca7bdcad79b2b2f640dc1ebe18c61 (commit)
       via  ae5e4b150673d507fceb97e781abff1d7008766e (commit)
       via  b57c585d47729fcb486b86bfc7b55e73db2ba64d (commit)
       via  2e52def61bef7bfe8f522c36fc8cdff074970d9f (commit)
       via  ef41e52fd78b9e0862f5a91373a31740aff2424f (commit)
       via  7ba402f88d4120cedc62fa845e07905d24692e4e (commit)
       via  395670463fc6d90052fe345c4c09297192f71de2 (commit)
       via  6376f23ff237c9297df8e7b604f19568ff662157 (commit)
       via  ecfe2a675abbc09e3e6cc3f71263a40dbcf653cd (commit)
       via  177c87510d71b6f1abfbe26171812efff259d173 (commit)
       via  d1ef6a69c1da0baf4cef3f71a725ccd889f8a573 (commit)
       via  be6a4367ff9057ffc4a11fc5cc0c767fb887548d (commit)
       via  49062be15ffc198f558fe120ca40d0dbfcdb160d (commit)
       via  c7fa47a2836522c45f81322c0bffc791c0e4669d (commit)
       via  1961c35c6eb4ea8cb25fcf3d5b59838248ef837f (commit)
       via  a055062e09ec7c3d29dd3baa04737ed313a2ea4a (commit)
       via  fdf1f62a13b01fbf14718c35e28b87dba2b2d415 (commit)
       via  00010ff44d7c7482eb7ffc3a2bb80680a038790a (commit)
       via  9be9f3980b45a5461d605e28bcf8e62666834724 (commit)
       via  68388b4beb24f71d261a6c788e8ef805576efb39 (commit)
       via  d846e953e9c1955f38f58c1907a7ca04156ecd50 (commit)
       via  c04b3aaf08cbb3ffc7d83c4c777240986476f776 (commit)
       via  2b150e18df73e4adac9cc25f1faca91b416cc3f9 (commit)
       via  5bced7b5396e3d861574a92d98a347c30c228225 (commit)
       via  994eb44d6706f6fd03c26cf4ea53a3e59406da45 (commit)
       via  f8a14bb9b1a07a5b2ed498d53fc1f2b9e3877643 (commit)
       via  26a4fafade3695919fe595dbe7a0d0fceb837041 (commit)
       via  3fd95f2741499765c3e5da80a164cc879df5ef3d (commit)
       via  cc479d62a11a9a33a4d218e9da6ea73ed2ea970e (commit)
       via  131ffccd338ea1167bd845b22f75001a5606d819 (commit)
       via  e3d18f5981ab2058ea95b4b7c95ea8db91005d01 (commit)
       via  553322f596f0d94e47d54c185d3d58007dc5e3bc (commit)
       via  c695bf2d9e45077584c648925b2f213f40c87669 (commit)
       via  fb4c421cf68863046781cd9f70499b2c02c47fc0 (commit)
       via  3f7dcbfdae07840c89cd55e1a49348d1c6a187ea (commit)
       via  fe463b4c6e9c0a288ab586f84526b7a12f60806c (commit)
       via  2ee1ea9c534369870d4043bb3e8d4f81a594452d (commit)
       via  1c568374181fd7b1172561ce8d1a882d9fe0921c (commit)
       via  52c4c65117f334eaffd728d7652a66fc9c8ee763 (commit)
       via  7196c5630d1f71b9428ed1245dbb1fb4f7c4cbc1 (commit)
       via  894e4cb17dcec5279d6a634d4396194839aaa372 (commit)
       via  164fe3906c67abc7cd79f0f6840ba936be25c5c8 (commit)
       via  ac42ccb389635501fded9f2c38e352a1a33ed560 (commit)
       via  111f1c74bc9fc60d99e3b13eaabf9aabccba2df9 (commit)
       via  d41cb34ef60093509743dc1a4bc0600ff2521fad (commit)
       via  8da351bd0a4090833e9f36d2537f3a03e4c9cecd (commit)
       via  000ec32b547bd5c00e77c1b5a8afe8fb0369a9fd (commit)
       via  4f8d91f8d1fd48824ddb6bcfa99b56c19ce5ad15 (commit)
       via  460390c42916c9e4615c308a28571377408b0de6 (commit)
       via  42ca845af2fa8a1f179d962f8d6b6f1eb1f785de (commit)
       via  47f7bb8721a67744f6c986221fdcdb5daab55465 (commit)
       via  7913e35d72358f84d0d8e77bac6d2c21e3eb4621 (commit)
       via  83e6f766ec3a2aa165aaf173b6487d1e0107ca2c (commit)
       via  80c402fb208e60fcffd08e109f7af198b50aaa0f (commit)
       via  c61443c395556911f937205e2c84ded4bb88322c (commit)
       via  226a5ce35f72865c694f56064842a6d57ac41012 (commit)
       via  feaab51570a27b7db02de928a3fe9031259e8c6e (commit)
       via  29b21c5eceb36bf1ae27f5f577f778e3363605cc (commit)
       via  ca69ef3f8024128be3533d8e3cf8239492073f5a (commit)
       via  455c3aca4b6b03f634056d3a16c187fc6e8c09e8 (commit)
       via  e5f750ae15043bf77b43f97e671d5040727b62c9 (commit)
       via  41fdb83804a11830e523ed560848cc055b4c5d24 (commit)
       via  672e9778c4d126b3f1ea2f4887a9058b8247c53f (commit)
       via  047b8af30d3ee8ce5b3dd71614c890ed838c6d90 (commit)
       via  18d6612f9ede60d9005d376cf8863a79d6a4927d (commit)
       via  905780afb93a580aa026db6f175bfc35a368ebf7 (commit)
       via  57da298c38bfd8b645dc1c00d3ec4cd3f69771f8 (commit)
       via  033b423fc13651dbe731e940a75625f110b6f1af (commit)
       via  72110da1991252e2d5c932a4ab7e759bf217a840 (commit)
       via  4f7d3c58b92b745b134af53ab6f407eabf05ee09 (commit)
       via  2fcd95c2f73b1164222c883425bfaa9e2133e27b (commit)
       via  4e7c740caea25377077e2abac519b2218504a061 (commit)
       via  e7599069219ebd317796e0a9be4ffb9a99022c9d (commit)
       via  08a0cf0bb898103012c7f7e28614479ef718c467 (commit)
       via  7618068ba04d961d651a43a827e4a60a5a34f6ea (commit)
       via  53e61d086c25aed0625b1927ae8d48351b6d7a54 (commit)
       via  ba5bc1a44b71a09bc3f0e62db71364d186cfccd2 (commit)
       via  deb989899834b7e0e9e6911b5f25f60cfd46def3 (commit)
       via  b676ed482aa8b0010297535f542ea9bfd0118660 (commit)
       via  0ca05af73ed3e5aa9e1ca541d068c75a251aaa56 (commit)
       via  072aee2013b4b0c72047dc4d1d2a15d62c8b01d1 (commit)
       via  4dd51a525ac7a42f9773a24206ffb0fb0b286365 (commit)
       via  3435a0f49e351017f9034e78795d0337f832ac01 (commit)
       via  5821c335682e0d2fa54ae0caeb7b0001b4353e54 (commit)
       via  fe2a89c8c8934dd8e69345053ae00f44a4876744 (commit)
       via  c6aa8396030636997caf33b25ab2bb4451dd78bb (commit)
       via  9c52908f1c8ae744c247a31c8c0e1196b566ddb4 (commit)
       via  92ba12591c77e99ba23ced5e7f103d4ea99d12fa (commit)
       via  68dc42288e8d645a377264a43ca769224654cc86 (commit)
       via  b1be39511668ba28a7508c470b4c6c1283bd3b4f (commit)
       via  fbc5c4d1360aac0959fbb6627cf4c32647773047 (commit)
       via  3a6388ddbc1d9128e7ae59f189de81417a9567af (commit)
       via  305a094f4235b6d99d5ce442a9bd188b2b89e075 (commit)
       via  9476cf7e394456927839e43ae4a1e0cbea9e4a25 (commit)
       via  d8ea9eacb9258d15e79bf00e76a948dbb7bc7cb5 (commit)
       via  9dcb8e0632bcc97d37bfb715c73801e80857f24c (commit)
       via  f07617b8397d62f1ee213375023fe66c6211fcd2 (commit)
       via  7938ea98e7dfc9f097ddca2a00995bb63b9d3c0a (commit)
       via  d95e9d653e9cb1b8f28a51d2c013ed1e51e6b6cd (commit)
       via  ef818b5c73efe9d48f4558ac90913a0745823e95 (commit)
       via  5c439c8fa83e95f4764916bb388cac87ca9875e5 (commit)
       via  1db172720a8ab5d5b200d54f91f8fbced3b368c1 (commit)
       via  66c348ceaf0b341e197409ce9bdeeff11b640a7a (commit)
       via  04ca31faf3b4e585faf62cfaacf1ff8933d99eb5 (commit)
       via  83364dc218693a094ec124bf0f51a37f98940c1e (commit)
       via  3dc0169a584b1abe0e305d4796d1468a30c022dc (commit)
       via  d4018825f8a4b26bd6570a405728a44b346f088d (commit)
       via  2046556ddd4abbea4a48c9f13ab1d89f04759729 (commit)
       via  cf6f414eb6d93a020bf9cff7523968658d3354a4 (commit)
       via  27bbdd2c2f3184c65ff4f70a53e73d37c8d7629f (commit)
       via  6944a0b66d9d0d5e62ace92d3ff14b5346c405f6 (commit)
       via  bcc86a87cb9612c435d8acb0341043a58f6effa2 (commit)
       via  1bdccc78b538112997e68726686c31f0dce98910 (commit)
       via  81bc1f63ce74e97ed39a2989f5acbcf64a8d2178 (commit)
       via  6fca94e1bdda6b44341bc4339ee25839e009bfee (commit)
       via  8e93f045c49f403430122a522e4d8fe984fbd2ef (commit)
       via  ec6a4e268a7bf051102bcc61e4f65db722acdc8b (commit)
       via  df28cccbad3fed82bc6790c857d57c3b9132fc10 (commit)
       via  bed8a9915b7be1d42ae022c351683ea9e0006bde (commit)
       via  009e307e0442527da3cd3f56aea57ed71dbb13a4 (commit)
       via  eaef522a1517032273ecb900de3e39a7fe9058d3 (commit)
       via  4e7de6e6217c63924cca11d1d6f3238fb2d950f3 (commit)
       via  7aa8a6ea9844ece84a11b609ed291cdf709d5feb (commit)
       via  4c1efb574a0bc6869c6ee3175dc6483e5ae8d977 (commit)
       via  a0706100b6a4ad3f64aa078d6a7f442a345d55c4 (commit)
       via  00a404ad22c3af88339a0a3eede3baef67684a9d (commit)
       via  fd0957bb08a8e50cfdef85278d7135565c69e7fa (commit)
       via  a5d989e3c090498d0f5221bfd58894f66fd56bf8 (commit)
       via  33fd5f640966c9f5386d48900e6d57ade5270830 (commit)
       via  69162020274f3fd27f6a5119b984ecd4f1184b3d (commit)
       via  1e6b0b31ac11275504d7a637bdd42f6f6f2ce8f8 (commit)
       via  a0b62c6a27b91e92c657555bd2a27bdd606675ea (commit)
       via  a60721b35036c5c231803bb6a8a63a573ad9ebfb (commit)
       via  eda758390ec0bfb07d0bef4d1908d1d98ad75eb9 (commit)
       via  9862d4c58573fd4246b37695c67dc2c5b8193ec5 (commit)
       via  2e53e44e0cb91ff00728269ad125a3418605ee62 (commit)
       via  ab6369b0d22d96562d1f15b9755485f31d3a9222 (commit)
       via  d19a50e0bcc1bf4316e0df63d5f2ca1c2ea97c46 (commit)
       via  d14b65ef095e070c19a028facf85c4db75c4b667 (commit)
       via  029fb512f2fd983b7084a7278d2b1a3ff35c054e (commit)
       via  142db50201b1b1c69ebdc2dcdb1181cde1db3b08 (commit)
       via  7403e6b3f0f7d4c4f80703486f602ee5e2c9a3dd (commit)
       via  ced522c57802f46649858b0806fa92ff1707388a (commit)
       via  7c12a511f3c4438048a30e6349422c48a4d805a1 (commit)
       via  c605b1f257af096a6c70d339d4eac095da31d466 (commit)
       via  09754d64667f5ec959f76ca7db3de7a4e8446bd4 (commit)
       via  f9bde0f4211bd630d4d0aa196b1cb7f59679e9c6 (commit)
       via  21d4b6aaf60b144cccbd4be1d90f739f1e7c1491 (commit)
       via  727034a49af27bfc02ad16fff45dd246780da779 (commit)
       via  74b5d5fa3979c6484694cecc2110ec241362a80d (commit)
       via  63fad560276d7cf2d64b9b39d92d91d888f6d9b7 (commit)
       via  dd42de82161332ffe79d44f74c951f4c2b8988e6 (commit)
       via  3235fb4a49d2ca8b7bb8e87766c75464ef9f60e1 (commit)
       via  9e77697f31fb2d3c177875a37b441fef46f02fe1 (commit)
       via  137ec8749ab129f4e1986f4f7cd22094705f20da (commit)
       via  c6d83c5f92852cbc86baf79e4d0a400de5cafad7 (commit)
       via  91abe80f701d38f24eb9fb4118bd842c315605f9 (commit)
       via  4173c75018dc7a8e05931f74dc5807bed560e800 (commit)
       via  36690d3f72f2429085cbafda934f9f9f976bdea7 (commit)
       via  56c9f33adff68415a457b4df1009116f26b6b8a0 (commit)
       via  6f00c479c534b75d8ab30ef3f2a7f7cc9da050d6 (commit)
       via  fe3c1b0f9676e562917429b70efd3e2260b2aafe (commit)
       via  ad726b2e37bf67fc1545b496310c62dab216fa86 (commit)
       via  07c81b449ea173569acb9542b8874e026f0b473e (commit)
       via  10710eb5fb1a48e6839b7f3c267dfa7cc6c16f7a (commit)
       via  e3763278a435f8d45f9d09eb87fca6ce0b44a9ec (commit)
       via  2816bc24b7d2a99cdf0463d397b0af3ca9d8b503 (commit)
       via  231dcd6e0f08ca1bc6b5acefe073200c74c7db54 (commit)
      from  68e949969f1562f6182796581eccc41580f7151f (commit)

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

- Log -----------------------------------------------------------------
commit 6507ac58ab8f1fe40a5c25d66b12e6aaebc3ce5b
Merge: 68e9499 fb5583d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 20:07:55 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc

commit fb5583de235772a05ffe4744bdefbb3ddab689b4
Merge: 20d67b5 0c246e8
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 20:05:15 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit 0c246e861d4960e25b65303dacdf14a9df05ca95
Merge: e48b85a 2dad330
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 20:05:15 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader' into relatedbpt-type-findpcpart-fmt-reader-bpt

commit 2dad33053fb0c3a19be2dc97e86f0b9023d5cedb
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 20:05:08 2011 +0100

    cleanup

commit 20d67b5a917b178575ac62d2ad9a074a9eb03994
Merge: 381b142 e48b85a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 19:43:31 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit e48b85af51ea6032e5f7cb07f82138e19ef8d7cb
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 19:43:23 2011 +0100

    bpt

commit 381b1427f81a3c389485c48bfd09285d0c0c042a
Merge: f7b5c50 0abd2b7
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 16:16:05 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit 0abd2b77556cbbfe8fb47333233cd4a3c11b7a5e
Merge: 424baf8 0e45caf
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 16:16:04 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader' into relatedbpt-type-findpcpart-fmt-reader-bpt

commit 0e45caffd1974158106b2b7c6cd81cee0ab06e73
Merge: 46b089d 2328faf
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 16:16:03 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt' into relatedbpt-type-findpcpart-fmt-reader

commit 2328faff76e37bcc006293a534b0c01d012ef5f8
Merge: ce31dbf cf9980d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 16:16:03 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart' into relatedbpt-type-findpcpart-fmt

commit cf9980d9efe4c48155cedbf61b4f4bfbb75009ff
Merge: a7db0d1 91bd251
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 16:16:02 2011 +0100

    Merge branch 'relatedbpt-type' into relatedbpt-type-findpcpart

commit 91bd2518504e02a413d26bce2698efff1b9a1099
Merge: 2e52def 63f4c50
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 16:16:02 2011 +0100

    Merge branch 'relatedbpt' into relatedbpt-type

commit 63f4c502dbbbe6e48d7a6cb88fae13550a730e80
Merge: e3d18f5 3480b2b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 16:16:00 2011 +0100

    Merge remote-tracking branch 'origin/master' into relatedbpt

commit 424baf8935c0779abc956036a104773c3e8f8150
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Thu Mar 17 16:13:34 2011 +0100

    +cmt

commit f7b5c50a8f9d584efb56f7c34f6f20dd8d2939e4
Merge: 4a277af 2be90f6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 21:30:09 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit 2be90f6afed93f650df32ae6df6cd82ec2fbe171
Merge: ec7efb3 46b089d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 21:30:09 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader' into relatedbpt-type-findpcpart-fmt-reader-bpt

commit 4a277af96bae6754b2f3a36456ee64b7c222c1dc
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 21:30:00 2011 +0100

    foo

commit ec7efb3bc82c6707d64d15c899d56800c249b5a1
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 21:28:19 2011 +0100

    fix

commit 46b089dcee33929ae8059c21d13ecd4ef2e6a0b1
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 21:27:27 2011 +0100

    comment

commit 5fc5cd99b179ffc27fa227a1a7fb6717f0269f8c
Merge: 700b834 536119e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 21:24:27 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit 536119ece0446705232fb2594849d94ee902cd05
Merge: 76332c7 7bd8ad8
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 21:24:26 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-fmt-reader' into relatedbpt-type-findpcpart-fmt-reader-bpt

commit 7bd8ad853c8eb3453026abe264c51653ac391a24
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 21:24:17 2011 +0100

    +cmt

commit 700b83426f987745f44d6cd4de32fb1505052e40
Merge: 76332c7 76fed03
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 21:19:32 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader-fmt-all-test' into relatedbpt-type-findpcpart-fmt-reader-bpt-test

commit 76332c7e9e8452309c4df2ca3d1aac2d0f8881b2
Merge: 891daed ec7613e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 21:19:16 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader-fmt-all' into relatedbpt-type-findpcpart-fmt-reader-bpt

commit 891daeda6573116f241e7148cd40ca7ad225bca3
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 21:18:56 2011 +0100

    commit

commit a44c38705a034ac49843143e5f97cbba0fabccf0
Merge: ce31dbf bf6f90b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 21:18:46 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader' into relatedbpt-type-findpcpart-fmt-reader

commit ce31dbf5c99b7c03480c65adb8db1ecf1703fe18
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 21:18:30 2011 +0100

    fmt

commit 76fed03404ccd4a518cf40dd0264c116f4080abe
Merge: 3afeb48 ec7613e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 21:15:16 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader-fmt-all' into relatedbpt-type-findpcpart-reader-fmt-all-test

commit ec7613eaef9f5475b8309bd037b5097a9593c50b
Merge: c4414c8 552388a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 21:15:16 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader-fmt' into relatedbpt-type-findpcpart-reader-fmt-all

commit 552388a00fed0674af1a63c2f01d3fd6b8e24f1a
Merge: 1b33795 bf6f90b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 21:15:15 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader' into relatedbpt-type-findpcpart-reader-fmt

commit bf6f90b036b797bea616251efc370f6d0aceb0f5
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 21:15:11 2011 +0100

    foo

commit 3afeb4897a2974b751133d282a7800c38da42225
Merge: c4414c8 03f841b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 21:12:32 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader-all-test' into relatedbpt-type-findpcpart-reader-fmt-all-test

commit c4414c8b86945f914cd24ee0f735d568446e4dbe
Merge: 1b33795 3c66b84
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 21:11:55 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader-all' into relatedbpt-type-findpcpart-reader-fmt-all
    
    Conflicts:
    	gdb/infcall.c

commit 1b337953c858d0cd95c968a1c29dd702506a149f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 20:55:46 2011 +0100

    fmt

commit 03f841bcd09f0b5ab1bcd17a769086fd2feea537
Merge: c7fc6e0 3c66b84
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 20:39:12 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader-all' into relatedbpt-type-findpcpart-reader-all-test

commit 3c66b84e536efdc6309dc4e37e73bfb2cffe2dca
Merge: 265c8fe a5362d4
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 20:39:12 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader' into relatedbpt-type-findpcpart-reader-all

commit a5362d44052f9fb6dcc55099058b066540fab586
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 20:39:06 2011 +0100

    +cmt

commit c7fc6e0bce79c78a3536826dde3aab091cbb8fdf
Merge: 178061e 265c8fe
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 20:15:57 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader-all' into relatedbpt-type-findpcpart-reader-all-test

commit 265c8fef654fd7d68c28ad2cbe4fa1fb38a4c29d
Merge: b3fb6d2 65b60a8
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 20:15:57 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader' into relatedbpt-type-findpcpart-reader-all

commit 65b60a8b6fd531eaeba56ade38aded9c2e7d0857
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 20:15:52 2011 +0100

    +cmt

commit 178061ea82d34d969f7d075540dab710c2e877f8
Merge: d32853b b3fb6d2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 20:13:29 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader-all' into relatedbpt-type-findpcpart-reader-all-test

commit b3fb6d20f3c942ca2d765866619cc9659f39b609
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 20:13:21 2011 +0100

    compile

commit 8e55110314866c5205b16ccf181d9e8765178da1
Merge: c9ee71f deb5791
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 20:07:23 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader' into relatedbpt-type-findpcpart-reader-all

commit deb579185bcb2bda9df2242bed471f7e2fdad76a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 20:07:08 2011 +0100

    vector

commit c9ee71fcd34160cc536bf354572119a47a1c68cc
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 19:53:18 2011 +0100

    fix

commit d32853baf7c1dcb737762e6abef366129c3ae2b5
Merge: f6c12ac 7713fe1
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 18:06:33 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader-all' into relatedbpt-type-findpcpart-reader-all-test

commit 7713fe159824f35c8f0659d418aadccbc0d75229
Merge: b34c491 6ae5792
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 18:06:33 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader' into relatedbpt-type-findpcpart-reader-all

commit 6ae57924bf96adaa1ee8c546f3e2206a7abe833c
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 18:06:28 2011 +0100

    compile

commit f6c12acf7f22ae0cb37fddbfa1e076de7ce9fd1f
Merge: e65c8e1 b34c491
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 17:54:17 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader-all' into relatedbpt-type-findpcpart-reader-all-test

commit b34c491c05ca71999f09cc4be1864114b1ded509
Merge: ae5e4b1 8886dfa
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 17:54:17 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader' into relatedbpt-type-findpcpart-reader-all

commit 8886dfa9271016a86c8d47b6f967c148d3a79c6e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 17:53:58 2011 +0100

    reder

commit e65c8e15c0490265bc2ce39cca2827cabd3335db
Merge: ef41e52 ae5e4b1
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 16:52:03 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader-all' into relatedbpt-type-findpcpart-reader-all-test

commit a7db0d1f380ca7bdcad79b2b2f640dc1ebe18c61
Merge: d1ef6a6 2e52def
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 16:52:02 2011 +0100

    Merge branch 'relatedbpt-type' into relatedbpt-type-findpcpart

commit ae5e4b150673d507fceb97e781abff1d7008766e
Merge: 7ba402f b57c585
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 16:52:02 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader' into relatedbpt-type-findpcpart-reader-all

commit b57c585d47729fcb486b86bfc7b55e73db2ba64d
Merge: 6376f23 a7db0d1
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 16:52:02 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart' into relatedbpt-type-findpcpart-reader

commit 2e52def61bef7bfe8f522c36fc8cdff074970d9f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 16:51:10 2011 +0100

    fix

commit ef41e52fd78b9e0862f5a91373a31740aff2424f
Merge: ecfe2a6 7ba402f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 16:47:49 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader-all' into relatedbpt-type-findpcpart-reader-all-test

commit 7ba402f88d4120cedc62fa845e07905d24692e4e
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 16:47:33 2011 +0100

    compilation fix

commit 6376f23ff237c9297df8e7b604f19568ff662157
Merge: 1961c35 d1ef6a6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 15:45:54 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart' into relatedbpt-type-findpcpart-reader

commit ecfe2a675abbc09e3e6cc3f71263a40dbcf653cd
Merge: 49062be 177c875
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 15:45:54 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader-all' into relatedbpt-type-findpcpart-reader-all-test

commit 177c87510d71b6f1abfbe26171812efff259d173
Merge: c7fa47a 6376f23
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 15:45:54 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader' into relatedbpt-type-findpcpart-reader-all

commit d1ef6a69c1da0baf4cef3f71a725ccd889f8a573
Merge: a055062 be6a436
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 15:45:53 2011 +0100

    Merge branch 'relatedbpt-type' into relatedbpt-type-findpcpart

commit be6a4367ff9057ffc4a11fc5cc0c767fb887548d
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 15:45:46 2011 +0100

    foo

commit 49062be15ffc198f558fe120ca40d0dbfcdb160d
Merge: 00010ff c7fa47a
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 15:43:23 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader-all' into relatedbpt-type-findpcpart-reader-all-test

commit c7fa47a2836522c45f81322c0bffc791c0e4669d
Merge: 9be9f39 1961c35
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 15:43:23 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader' into relatedbpt-type-findpcpart-reader-all

commit 1961c35c6eb4ea8cb25fcf3d5b59838248ef837f
Merge: 68388b4 a055062
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 15:43:22 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart' into relatedbpt-type-findpcpart-reader

commit a055062e09ec7c3d29dd3baa04737ed313a2ea4a
Merge: cc479d6 fdf1f62
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 15:43:22 2011 +0100

    Merge branch 'relatedbpt-type' into relatedbpt-type-findpcpart

commit fdf1f62a13b01fbf14718c35e28b87dba2b2d415
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 15:43:14 2011 +0100

    move

commit 00010ff44d7c7482eb7ffc3a2bb80680a038790a
Merge: c04b3aa 9be9f39
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 15:40:51 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader-all' into relatedbpt-type-findpcpart-reader-all-test

commit 9be9f3980b45a5461d605e28bcf8e62666834724
Merge: 2b150e1 68388b4
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 15:39:52 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-reader' into relatedbpt-type-findpcpart-reader-all

commit 68388b4beb24f71d261a6c788e8ef805576efb39
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 15:39:38 2011 +0100

    foo

commit c04b3aaf08cbb3ffc7d83c4c777240986476f776
Merge: 2b150e1 26a4faf
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 10:47:53 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-all-test' into relatedbpt-type-findpcpart-reader-all-test

commit 2b150e18df73e4adac9cc25f1faca91b416cc3f9
Merge: 5bced7b 3fd95f2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 10:47:44 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-all' into relatedbpt-type-findpcpart-reader-all

commit 5bced7b5396e3d861574a92d98a347c30c228225
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 10:47:26 2011 +0100

    reader

commit 26a4fafade3695919fe595dbe7a0d0fceb837041
Merge: ac42ccb 3fd95f2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 09:44:21 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-all' into relatedbpt-type-findpcpart-all-test

commit 3fd95f2741499765c3e5da80a164cc879df5ef3d
Merge: 111f1c7 cc479d6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 09:44:21 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart' into relatedbpt-type-findpcpart-all

commit cc479d62a11a9a33a4d218e9da6ea73ed2ea970e
Merge: d41cb34 131ffcc
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 09:44:20 2011 +0100

    Merge branch 'relatedbpt-type' into relatedbpt-type-findpcpart

commit 131ffccd338ea1167bd845b22f75001a5606d819
Merge: 8da351b e3d18f5
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 09:44:19 2011 +0100

    Merge branch 'relatedbpt' into relatedbpt-type

commit e3d18f5981ab2058ea95b4b7c95ea8db91005d01
Merge: 000ec32 c695bf2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 16 09:44:17 2011 +0100

    Merge remote-tracking branch 'origin/master' into relatedbpt

commit ac42ccb389635501fded9f2c38e352a1a33ed560
Merge: 33fd5f6 111f1c7
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Mar 15 21:22:47 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-all' into relatedbpt-type-findpcpart-all-test

commit 111f1c74bc9fc60d99e3b13eaabf9aabccba2df9
Merge: 6916202 d41cb34
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Mar 15 21:22:46 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart' into relatedbpt-type-findpcpart-all

commit d41cb34ef60093509743dc1a4bc0600ff2521fad
Merge: 1e6b0b3 8da351b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Mar 15 21:22:45 2011 +0100

    Merge branch 'relatedbpt-type' into relatedbpt-type-findpcpart

commit 8da351bd0a4090833e9f36d2537f3a03e4c9cecd
Merge: a0b62c6 000ec32
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Mar 15 21:22:45 2011 +0100

    Merge branch 'relatedbpt' into relatedbpt-type

commit 000ec32b547bd5c00e77c1b5a8afe8fb0369a9fd
Merge: a60721b 4f8d91f
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Mar 15 21:22:42 2011 +0100

    Merge remote-tracking branch 'origin/master' into relatedbpt

commit 33fd5f640966c9f5386d48900e6d57ade5270830
Merge: 4173c75 6916202
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 9 23:59:39 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-all' into relatedbpt-type-findpcpart-all-test

commit 69162020274f3fd27f6a5119b984ecd4f1184b3d
Merge: 36690d3 1e6b0b3
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 9 23:59:39 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart' into relatedbpt-type-findpcpart-all

commit 1e6b0b31ac11275504d7a637bdd42f6f6f2ce8f8
Merge: fe3c1b0 a0b62c6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 9 23:59:38 2011 +0100

    Merge branch 'relatedbpt-type' into relatedbpt-type-findpcpart

commit a0b62c6a27b91e92c657555bd2a27bdd606675ea
Merge: 2816bc2 a60721b
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 9 23:59:38 2011 +0100

    Merge branch 'relatedbpt' into relatedbpt-type

commit a60721b35036c5c231803bb6a8a63a573ad9ebfb
Merge: 231dcd6 eda7583
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Wed Mar 9 23:59:36 2011 +0100

    Merge remote-tracking branch 'origin/master' into relatedbpt

commit 4173c75018dc7a8e05931f74dc5807bed560e800
Merge: 56c9f33 36690d3
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Mar 8 18:45:55 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-all' into relatedbpt-type-findpcpart-all-test

commit 36690d3f72f2429085cbafda934f9f9f976bdea7
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Mar 8 18:45:20 2011 +0100

    Remove a part not understood.

commit 56c9f33adff68415a457b4df1009116f26b6b8a0
Merge: 07c81b4 6f00c47
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Mar 8 17:08:08 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-all' into relatedbpt-type-findpcpart-all-test

commit 6f00c479c534b75d8ab30ef3f2a7f7cc9da050d6
Merge: 10710eb fe3c1b0
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Mar 8 17:08:08 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart' into relatedbpt-type-findpcpart-all

commit fe3c1b0f9676e562917429b70efd3e2260b2aafe
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Mar 8 17:08:03 2011 +0100

    foo

commit 07c81b449ea173569acb9542b8874e026f0b473e
Merge: a7cb963 10710eb
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Mar 8 09:59:08 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart-all' into relatedbpt-type-findpcpart-all-test

commit 10710eb5fb1a48e6839b7f3c267dfa7cc6c16f7a
Merge: 3d7bc50 e376327
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Mar 8 09:59:08 2011 +0100

    Merge branch 'relatedbpt-type-findpcpart' into relatedbpt-type-findpcpart-all

commit e3763278a435f8d45f9d09eb87fca6ce0b44a9ec
Merge: 1bd04f8 2816bc2
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Mar 8 09:59:08 2011 +0100

    Merge branch 'relatedbpt-type' into relatedbpt-type-findpcpart

commit 2816bc24b7d2a99cdf0463d397b0af3ca9d8b503
Merge: 84eb74c 231dcd6
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Mar 8 09:59:07 2011 +0100

    Merge branch 'relatedbpt' into relatedbpt-type

commit 231dcd6e0f08ca1bc6b5acefe073200c74c7db54
Author: Jan Kratochvil <jan.kratochvil@redhat.com>
Date:   Tue Mar 8 09:30:05 2011 +0100

    +comment

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

Summary of changes:
 bfd/ChangeLog                                      |  203 +-
 bfd/bfd-in2.h                                      |    3 +
 bfd/elf-bfd.h                                      |    3 +
 bfd/elf.c                                          |   12 +-
 bfd/elf32-arm.c                                    | 2257 +++++++----
 bfd/elf32-i370.c                                   |    1 +
 bfd/elf32-sh-symbian.c                             |    1 +
 bfd/elf64-ppc.c                                    |   91 +-
 bfd/elf64-sparc.c                                  |    1 +
 bfd/elf64-x86-64.c                                 |   84 +-
 bfd/elfcode.h                                      |    1 +
 bfd/elflink.c                                      |    8 +
 bfd/elfxx-sparc.c                                  |    1 +
 bfd/reloc.c                                        |    5 +
 bfd/version.h                                      |    2 +-
 gdb/ChangeLog                                      |  531 +++-
 gdb/MAINTAINERS                                    |    3 +-
 gdb/Makefile.in                                    |   27 +-
 gdb/NEWS                                           |   23 +-
 gdb/ada-tasks.c                                    |   12 +-
 gdb/aix-thread.c                                   |    8 +-
 gdb/arm-tdep.c                                     |    3 -
 gdb/breakpoint.c                                   |  258 +-
 gdb/breakpoint.h                                   |   22 +-
 gdb/cli/cli-cmds.c                                 |    7 +-
 gdb/cli/cli-decode.c                               |    8 +-
 gdb/cli/cli-decode.h                               |    3 +
 gdb/cli/cli-utils.c                                |   75 +-
 gdb/cli/cli-utils.h                                |   44 +-
 gdb/coffread.c                                     |   39 +-
 gdb/common/Makefile.in                             |  115 -
 gdb/common/aclocal.m4                              |   68 -
 gdb/common/configure                               | 4115 --------------------
 gdb/common/configure.ac                            |   74 -
 gdb/completer.c                                    |    4 +-
 gdb/config.in                                      |    4 +
 gdb/configure                                      |   19 +-
 gdb/configure.ac                                   |    6 +-
 gdb/darwin-nat.c                                   |    2 +-
 gdb/dbxread.c                                      |   29 +-
 gdb/dec-thread.c                                   |    2 +-
 gdb/dfp.c                                          |    2 +-
 gdb/doc/ChangeLog                                  |   24 +
 gdb/doc/gdb.texinfo                                |  135 +-
 gdb/dwarf2loc.c                                    |    8 +-
 gdb/dwarf2read.c                                   |   88 +-
 gdb/elfread.c                                      |  307 ++-
 gdb/event-loop.c                                   |    2 +
 gdb/event-top.c                                    |    2 +-
 gdb/exec.c                                         |    2 +-
 gdb/f-exp.y                                        |    4 +-
 gdb/fbsd-nat.c                                     |    2 +-
 gdb/frame.c                                        |   10 +
 gdb/frame.h                                        |    3 +
 gdb/gdbserver/ChangeLog                            |   48 +
 gdb/gdbserver/Makefile.in                          |   62 +-
 gdb/gdbserver/configure                            |   93 -
 gdb/gdbserver/configure.ac                         |    1 -
 gdb/gdbserver/hostio.c                             |    3 +-
 gdb/gdbserver/server.c                             |    4 +-
 gdb/gdbserver/tracepoint.c                         |   17 +-
 gdb/hppa-tdep.h                                    |    3 +-
 gdb/i386-darwin-nat.c                              |    2 +-
 gdb/i386-tdep.c                                    |   62 +-
 gdb/infcall.c                                      |   57 +-
 gdb/inferior.c                                     |   18 +-
 gdb/inferior.h                                     |    3 +-
 gdb/linespec.c                                     |  196 +-
 gdb/linux-fork.c                                   |    9 +-
 gdb/linux-nat.c                                    |    2 +-
 gdb/m2-exp.y                                       |    2 +-
 gdb/memattr.c                                      |   37 +-
 gdb/mep-tdep.c                                     |   12 +-
 gdb/mi/mi-cmd-disas.c                              |    4 +
 gdb/minsyms.c                                      |   72 +-
 gdb/nto-tdep.c                                     |   11 +-
 gdb/objc-exp.y                                     |   14 +-
 gdb/objc-lang.c                                    |    7 +
 gdb/osdata.c                                       |    2 +-
 gdb/p-exp.y                                        |   99 +-
 gdb/p-lang.c                                       |    6 +-
 gdb/p-lang.h                                       |    2 +-
 gdb/p-valprint.c                                   |    6 +-
 gdb/parse.c                                        |    5 +-
 gdb/ppc-sysv-tdep.c                                |   56 +-
 gdb/printcmd.c                                     |  156 +-
 gdb/procfs.c                                       |    2 +-
 gdb/psymtab.c                                      |   79 +-
 gdb/python/py-block.c                              |   48 +-
 gdb/python/py-breakpoint.c                         |  148 +-
 gdb/python/py-evts.c                               |    2 +-
 gdb/python/py-inferior.c                           |   17 +
 gdb/python/py-infthread.c                          |   16 +
 gdb/python/py-objfile.c                            |   25 +-
 gdb/python/py-param.c                              |  265 +-
 gdb/python/py-prettyprint.c                        |    2 +-
 gdb/python/py-stopevent.h                          |    6 +-
 gdb/python/py-symbol.c                             |   24 +-
 gdb/python/py-symtab.c                             |   42 +-
 gdb/python/python.c                                |   18 +-
 gdb/python/python.h                                |    6 +
 gdb/record.c                                       |    2 +-
 gdb/remote-mips.c                                  |    2 +-
 gdb/remote.c                                       |   15 +-
 gdb/reverse.c                                      |   21 +-
 gdb/ser-mingw.c                                    |    2 +-
 gdb/solib-pa64.c                                   |    4 +-
 gdb/stabsread.c                                    |    6 +
 gdb/symtab.h                                       |   58 +-
 gdb/target.c                                       |   33 +-
 gdb/target.h                                       |   12 -
 gdb/testsuite/ChangeLog                            |  108 +
 gdb/testsuite/gdb.ada/catch_ex.exp                 |    4 +-
 gdb/testsuite/gdb.ada/tasks.exp                    |    3 +-
 gdb/testsuite/gdb.arch/altivec-abi.exp             |   27 +-
 gdb/testsuite/gdb.base/Makefile.in                 |    3 +-
 .../gdb.base/break-on-linker-gcd-function.cc}      |   43 +-
 .../gdb.base/break-on-linker-gcd-function.exp      |   54 +
 gdb/testsuite/gdb.base/call-signal-resume.exp      |    3 +-
 gdb/testsuite/gdb.base/gnu-ifunc.exp               |   11 +-
 gdb/testsuite/gdb.base/jit-main.c                  |   13 +
 gdb/testsuite/gdb.base/memattr.exp                 |   80 +-
 gdb/testsuite/gdb.base/shlib-call.exp              |    4 +-
 gdb/testsuite/gdb.base/solib-weak.exp              |    2 +-
 gdb/testsuite/gdb.cp/annota2.exp                   |    2 +-
 gdb/testsuite/gdb.cp/annota3.exp                   |    7 +-
 .../gdb.cp/cmpd-minsyms.cc}                        |   44 +-
 gdb/testsuite/gdb.cp/cmpd-minsyms.exp              |   50 +
 gdb/testsuite/gdb.cp/ovsrch.exp                    |  100 +
 .../py-stopevent.h => testsuite/gdb.cp/ovsrch.h}   |   46 +-
 .../py-stopevent.h => testsuite/gdb.cp/ovsrch1.cc} |   38 +-
 gdb/testsuite/gdb.cp/ovsrch2.cc                    |   28 +
 gdb/testsuite/gdb.cp/ovsrch3.cc                    |   28 +
 .../py-stopevent.h => testsuite/gdb.cp/ovsrch4.cc} |   31 +-
 gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.S      |   82 +
 gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.exp    |   40 +
 gdb/testsuite/gdb.dwarf2/pr11465.S                 |   17 +-
 gdb/testsuite/gdb.python/Makefile.in               |    2 +-
 gdb/testsuite/gdb.python/py-block.exp              |   17 +
 gdb/testsuite/gdb.python/py-breakpoint.exp         |   98 +
 gdb/testsuite/gdb.python/py-inferior.exp           |   20 +
 gdb/testsuite/gdb.python/py-infthread.exp          |    7 +
 gdb/testsuite/gdb.python/py-objfile.c              |   23 +
 gdb/testsuite/gdb.python/py-objfile.exp            |   51 +
 gdb/testsuite/gdb.python/py-parameter.exp          |  119 +-
 gdb/testsuite/gdb.python/py-section-script.exp     |   11 +-
 gdb/testsuite/gdb.python/py-symbol.exp             |   16 +
 gdb/testsuite/gdb.python/py-symtab.exp             |    8 +
 gdb/testsuite/gdb.server/ext-run.exp               |    5 +
 .../gdb.threads/interrupted-hand-call.exp          |    2 +-
 .../gdb.threads/thread-unwindonsignal.exp          |    2 +-
 gdb/testsuite/lib/gdb.exp                          |   24 +-
 gdb/thread.c                                       |   23 +-
 gdb/top.c                                          |    1 +
 gdb/tracepoint.c                                   |    8 +-
 gdb/tui/tui-io.c                                   |   22 +-
 gdb/varobj.c                                       |    5 +-
 gdb/varobj.h                                       |    4 +-
 gdb/version.in                                     |    2 +-
 gdb/windows-nat.c                                  |    2 +-
 gdb/xtensa-tdep.c                                  |  854 ++++-
 gdb/xtensa-tdep.h                                  |    2 +-
 include/ChangeLog                                  |    9 +
 include/dwarf2.h                                   |   23 +-
 include/elf/ChangeLog                              |   14 +
 include/elf/arm.h                                  |   11 +
 include/elf/common.h                               |    2 +-
 include/elf/internal.h                             |    1 +
 opcodes/ChangeLog                                  |   10 +
 opcodes/arm-dis.c                                  |   11 +-
 sim/bfin/ChangeLog                                 |   97 +
 sim/bfin/Makefile.in                               |    4 +-
 sim/bfin/bfin-sim.c                                |  177 +-
 sim/bfin/bfroms/bf50x-0.0.h                        |    3 +-
 sim/bfin/bfroms/bf51x-0.0.h                        |    3 +-
 sim/bfin/bfroms/bf51x-0.1.h                        |    3 +-
 sim/bfin/bfroms/bf51x-0.2.h                        |    3 +-
 sim/bfin/bfroms/bf526-0.0.h                        |    3 +-
 sim/bfin/bfroms/bf526-0.1.h                        |    3 +-
 sim/bfin/bfroms/bf527-0.0.h                        |    3 +-
 sim/bfin/bfroms/bf527-0.1.h                        |    3 +-
 sim/bfin/bfroms/bf527-0.2.h                        |    3 +-
 sim/bfin/bfroms/bf533-0.1.h                        |    3 +-
 sim/bfin/bfroms/bf533-0.2.h                        |    3 +-
 sim/bfin/bfroms/bf533-0.3.h                        |    3 +-
 sim/bfin/bfroms/bf537-0.0.h                        |    3 +-
 sim/bfin/bfroms/bf537-0.1.h                        |    3 +-
 sim/bfin/bfroms/bf537-0.3.h                        |    3 +-
 sim/bfin/bfroms/bf538-0.0.h                        |    3 +-
 sim/bfin/bfroms/bf54x-0.0.h                        |    3 +-
 sim/bfin/bfroms/bf54x-0.1.h                        |    3 +-
 sim/bfin/bfroms/bf54x-0.2.h                        |    3 +-
 sim/bfin/bfroms/bf54x_l1-0.0.h                     |    3 +-
 sim/bfin/bfroms/bf54x_l1-0.1.h                     |    3 +-
 sim/bfin/bfroms/bf54x_l1-0.2.h                     |    3 +-
 sim/bfin/bfroms/bf561-0.5.h                        |    3 +-
 sim/bfin/bfroms/bf59x-0.0.h                        |    3 +-
 sim/bfin/bfroms/bf59x_l1-0.1.h                     |    3 +-
 sim/bfin/configure                                 |    1 +
 sim/bfin/configure.ac                              |    1 +
 sim/bfin/dv-bfin_cec.c                             |   12 +-
 sim/bfin/dv-bfin_ctimer.c                          |    9 +-
 sim/bfin/dv-bfin_dma.c                             |    9 +-
 sim/bfin/dv-bfin_dmac.c                            |   75 +-
 sim/bfin/dv-bfin_ebiu_amc.c                        |   12 +-
 sim/bfin/dv-bfin_ebiu_ddrc.c                       |    6 +-
 sim/bfin/dv-bfin_ebiu_sdc.c                        |    6 +-
 sim/bfin/dv-bfin_emac.c                            |    9 +-
 sim/bfin/dv-bfin_eppi.c                            |    9 +-
 sim/bfin/dv-bfin_evt.c                             |    6 +-
 sim/bfin/dv-bfin_gpio.c                            |  287 ++
 .../py-stopevent.h => sim/bfin/dv-bfin_gpio.h      |   28 +-
 sim/bfin/dv-bfin_gptimer.c                         |    9 +-
 sim/bfin/dv-bfin_jtag.c                            |    6 +-
 sim/bfin/dv-bfin_mmu.c                             |    6 +-
 sim/bfin/dv-bfin_nfc.c                             |    9 +-
 sim/bfin/dv-bfin_otp.c                             |    6 +-
 sim/bfin/dv-bfin_pll.c                             |    9 +-
 sim/bfin/dv-bfin_ppi.c                             |    9 +-
 sim/bfin/dv-bfin_rtc.c                             |    9 +-
 sim/bfin/dv-bfin_sic.c                             |   42 +-
 sim/bfin/dv-bfin_spi.c                             |    9 +-
 sim/bfin/dv-bfin_trace.c                           |    6 +-
 sim/bfin/dv-bfin_twi.c                             |    9 +-
 sim/bfin/dv-bfin_uart.c                            |    9 +-
 sim/bfin/dv-bfin_uart2.c                           |    9 +-
 sim/bfin/dv-bfin_wdog.c                            |    9 +-
 sim/bfin/dv-bfin_wp.c                              |    6 +-
 sim/bfin/dv-eth_phy.c                              |    6 +-
 sim/bfin/gui.c                                     |   18 +-
 sim/bfin/linux-fixed-code.h                        |    3 +-
 sim/bfin/linux-targ-map.h                          |   12 +-
 sim/bfin/machs.c                                   |  197 +-
 sim/common/ChangeLog                               |   12 +
 sim/common/callback.c                              |   38 +-
 sim/common/cgen-engine.h                           |    4 +-
 sim/common/dv-core.c                               |    6 +-
 sim/common/dv-glue.c                               |   24 +-
 sim/common/dv-pal.c                                |   18 +-
 sim/common/hw-base.c                               |    8 +-
 sim/common/hw-device.c                             |    2 +-
 sim/common/hw-device.h                             |    2 +-
 sim/common/hw-handles.c                            |    6 +-
 sim/common/hw-instances.c                          |    2 +-
 sim/common/hw-ports.c                              |    2 +-
 sim/common/hw-ports.h                              |    6 +-
 sim/common/hw-properties.c                         |   60 +-
 sim/common/hw-tree.c                               |   98 +-
 sim/common/nrun.c                                  |   20 +-
 sim/common/run-sim.h                               |    2 +-
 sim/common/run.c                                   |    2 +-
 sim/common/sim-alu.h                               |   18 +-
 sim/common/sim-assert.h                            |    2 +-
 sim/common/sim-base.h                              |    2 +-
 sim/common/sim-basics.h                            |    2 +-
 sim/common/sim-config.c                            |   26 +-
 sim/common/sim-core.c                              |   18 +-
 sim/common/sim-core.h                              |    2 +-
 sim/common/sim-engine.h                            |    2 +-
 sim/common/sim-events.c                            |   34 +-
 sim/common/sim-events.h                            |    2 +-
 sim/common/sim-fpu.c                               |   58 +-
 sim/common/sim-hw.c                                |   12 +-
 sim/common/sim-inline.h                            |    6 +-
 sim/common/sim-load.c                              |    8 +-
 sim/common/sim-memopt.c                            |    8 +-
 sim/common/sim-n-core.h                            |    4 +-
 sim/common/sim-options.c                           |   10 +-
 sim/common/sim-profile.c                           |    8 +-
 sim/common/sim-signal.c                            |    2 +-
 sim/common/sim-trace.c                             |   26 +-
 sim/common/sim-trace.h                             |    6 +-
 sim/common/sim-utils.c                             |    6 +-
 sim/common/sim-watch.c                             |   16 +-
 sim/common/syscall.c                               |    2 +-
 275 files changed, 7548 insertions(+), 7231 deletions(-)
 delete mode 100644 gdb/common/Makefile.in
 delete mode 100644 gdb/common/aclocal.m4
 delete mode 100755 gdb/common/configure
 delete mode 100644 gdb/common/configure.ac
 copy gdb/{python/py-stopevent.h => testsuite/gdb.base/break-on-linker-gcd-function.cc} (50%)
 create mode 100644 gdb/testsuite/gdb.base/break-on-linker-gcd-function.exp
 copy gdb/{python/py-stopevent.h => testsuite/gdb.cp/cmpd-minsyms.cc} (51%)
 create mode 100644 gdb/testsuite/gdb.cp/cmpd-minsyms.exp
 create mode 100644 gdb/testsuite/gdb.cp/ovsrch.exp
 copy gdb/{python/py-stopevent.h => testsuite/gdb.cp/ovsrch.h} (51%)
 copy gdb/{python/py-stopevent.h => testsuite/gdb.cp/ovsrch1.cc} (51%)
 create mode 100644 gdb/testsuite/gdb.cp/ovsrch2.cc
 create mode 100644 gdb/testsuite/gdb.cp/ovsrch3.cc
 copy gdb/{python/py-stopevent.h => testsuite/gdb.cp/ovsrch4.cc} (51%)
 create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.S
 create mode 100644 gdb/testsuite/gdb.dwarf2/dw2-empty-pc-range.exp
 create mode 100644 gdb/testsuite/gdb.python/py-objfile.c
 create mode 100644 gdb/testsuite/gdb.python/py-objfile.exp
 create mode 100644 sim/bfin/ChangeLog
 create mode 100644 sim/bfin/dv-bfin_gpio.c
 copy gdb/python/py-stopevent.h => sim/bfin/dv-bfin_gpio.h (51%)

First 500 lines of diff:
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 31613e8..a1131c8 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,202 @@
+2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* reloc.c (BFD_RELOC_ARM_IRELATIVE): New relocation.
+	* bfd-in2.h: Regenerate.
+	* elf32-arm.c (elf32_arm_howto_table_2): Rename existing definition
+	to elf32_arm_howto_table_3 and replace with a single R_ARM_IRELATIVE
+	entry.
+	(elf32_arm_howto_from_type): Update accordingly.
+	(elf32_arm_reloc_map): Map BFD_RELOC_ARM_IRELATIVE to R_ARM_IRELATIVE.
+	(elf32_arm_reloc_name_lookup): Handle elf32_arm_howto_table_3.
+	(arm_plt_info): New structure, split out from elf32_arm_link_hash_entry
+	with an extra noncall_refcount field.
+	(arm_local_iplt_info): New structure.
+	(elf_arm_obj_tdata): Add local_iplt.
+	(elf32_arm_local_iplt): New accessor macro.
+	(elf32_arm_link_hash_entry): Replace plt_thumb_refcount,
+	plt_maybe_thumb_refcount and plt_got_offset with an arm_plt_info.
+	Change tls_type to a bitfield and add is_iplt.
+	(elf32_arm_link_hash_newfunc): Update accordingly.
+	(elf32_arm_allocate_local_sym_info): New function.
+	(elf32_arm_create_local_iplt): Likewise.
+	(elf32_arm_get_plt_info): Likewise.
+	(elf32_arm_plt_needs_thumb_stub_p): Likewise.
+	(elf32_arm_get_local_dynreloc_list): Likewise.
+	(create_ifunc_sections): Likewise.
+	(elf32_arm_copy_indirect_symbol): Update after the changes to
+	elf32_arm_link_hash_entry.  Assert the is_iplt has not yet been set.
+	(arm_type_of_stub): Add an st_type argument.  Use elf32_arm_get_plt_info
+	to get PLT information.  Assert that all STT_GNU_IFUNC references
+	are turned into PLT references.
+	(arm_build_one_stub): Pass the symbol type to
+	elf32_arm_final_link_relocate.
+	(elf32_arm_size_stubs): Pass the symbol type to arm_type_of_stub.
+	(elf32_arm_allocate_irelocs): New function.
+	(elf32_arm_add_dynreloc): In static objects, use .rel.iplt for
+	all R_ARM_IRELATIVE.
+	(elf32_arm_allocate_plt_entry): New function.
+	(elf32_arm_populate_plt_entry): Likewise.
+	(elf32_arm_final_link_relocate): Add an st_type parameter.
+	Set srelgot to null for static objects.  Use separate variables
+	to record which st_value and st_type should be used when generating
+	a dynamic relocation.  Use elf32_arm_get_plt_info to find the
+	symbol's PLT information, setting has_iplt_entry, splt,
+	plt_offset and gotplt_offset accordingly.  Check whether
+	STT_GNU_IFUNC symbols should resolve to an .iplt entry, and change
+	the relocation target accordingly.  Broaden assert to include
+	.iplts.  Don't set sreloc for static relocations.  Assert that
+	we only generate dynamic R_ARM_RELATIVE relocations for R_ARM_ABS32
+	and R_ARM_ABS32_NOI.  Generate R_ARM_IRELATIVE relocations instead
+	of R_ARM_RELATIVE relocations if the target is an STT_GNU_IFUNC
+	symbol.  Pass the symbol type to arm_type_of_stub.  Conditionally
+	resolve GOT references to the .igot.plt entry.
+	(elf32_arm_relocate_section): Update the call to
+	elf32_arm_final_link_relocate.
+	(elf32_arm_gc_sweep_hook): Use elf32_arm_get_plt_info to get PLT
+	information.  Treat R_ARM_REL32 and R_ARM_REL32_NOI as call
+	relocations in shared libraries and relocatable executables.
+	Count non-call PLT references.  Use elf32_arm_get_local_dynreloc_list
+	to get the list of dynamic relocations for a local symbol.
+	(elf32_arm_check_relocs): Always create ifunc sections.  Set isym
+	at the same time as setting h.  Use elf32_arm_allocate_local_sym_info
+	to allocate local symbol information.  Treat R_ARM_REL32 and
+	R_ARM_REL32_NOI as call relocations in shared libraries and
+	relocatable executables.  Record PLT information for local
+	STT_GNU_IFUNC functions as well as global functions.   Count
+	non-call PLT references.  Use elf32_arm_get_local_dynreloc_list
+	to get the list of dynamic relocations for a local symbol.
+	(elf32_arm_adjust_dynamic_symbol): Handle STT_GNU_IFUNC symbols.
+	Don't remove STT_GNU_IFUNC PLTs unless all references have been
+	removed.  Update after the changes to elf32_arm_link_hash_entry.
+	(allocate_dynrelocs_for_symbol): Decide whether STT_GNU_IFUNC PLT
+	entries should live in .plt or .iplt.  Check whether the .igot.plt
+	and .got entries can be combined.  Use elf32_arm_allocate_plt_entry
+	to allocate .plt and .(i)got.plt entries.  Detect which .got
+	entries will need R_ARM_IRELATIVE relocations and use
+	elf32_arm_allocate_irelocs to allocate them.  Likewise other
+	non-.got dynamic relocations.
+	(elf32_arm_size_dynamic_sections): Allocate .iplt, .igot.plt
+	and dynamic relocations for local STT_GNU_IFUNC symbols.
+	Check whether the .igot.plt and .got entries can be combined.
+	Detect which .got entries will need R_ARM_IRELATIVE relocations
+	and use elf32_arm_allocate_irelocs to allocate them.  Use stashed
+	section pointers intead of strcmp checks.  Handle iplt and igotplt.
+	(elf32_arm_finish_dynamic_symbol): Use elf32_arm_populate_plt_entry
+	to fill in .plt, .got.plt and .rel(a).plt entries.  Point
+	STT_GNU_IFUNC symbols at an .iplt entry if non-call relocations
+	resolve to it.
+	(elf32_arm_output_plt_map_1): New function, split out from
+	elf32_arm_output_plt_map.  Handle .iplt entries.  Use
+	elf32_arm_plt_needs_thumb_stub_p.
+	(elf32_arm_output_plt_map): Call it.
+	(elf32_arm_output_arch_local_syms): Add mapping symbols for
+	local .iplt entries.
+	(elf32_arm_swap_symbol_in): Handle Thumb STT_GNU_IFUNC symbols.
+	(elf32_arm_swap_symbol_out): Likewise.
+	(elf32_arm_add_symbol_hook): New function.
+	(elf_backend_add_symbol_hook): Define for all targets.
+
+2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* elf-bfd.h (elf_link_hash_entry): Add target_internal.
+	* elf.c (swap_out_syms): Set st_target_internal for each
+	Elf_Internal_Sym.
+	* elfcode.h (elf_swap_symbol_in): Likewise.
+	* elf32-i370.c (i370_elf_finish_dynamic_sections): Likewise.
+	* elf32-sh-symbian.c (sh_symbian_relocate_section): Likewise.
+	* elf64-sparc.c (elf64_sparc_output_arch_syms): Likewise.
+	* elfxx-sparc.c (_bfd_sparc_elf_size_dynamic_sections): Likewise.
+	* elflink.c (elf_link_output_extsym): Likewise.
+	(bfd_elf_final_link): Likewise.
+	(elf_link_add_object_symbols): Copy st_target_internal
+	to the hash table if we see a definition.
+	(_bfd_elf_copy_link_hash_symbol_type): Copy target_internal.
+	* elf32-arm.c (elf32_arm_stub_hash_entry): Replace st_type with
+	a branch_type field.
+	(a8_erratum_fix, a8_erratum_reloc): Likewise.
+	(arm_type_of_stub): Replace actual_st_type with an
+	actual_branch_type parameter.
+	(arm_build_one_stub): Use branch types rather than st_types to
+	determine the type of branch.
+	(cortex_a8_erratum_scan): Likewise.
+	(elf32_arm_size_stubs): Likewise.
+	(bfd_elf32_arm_process_before_allocation): Likewise.
+	(allocate_dynrelocs_for_symbol): Likewise.
+	(elf32_arm_finish_dynamic_sections): Likewise.
+	(elf32_arm_final_link_relocate): Replace sym_flags parameter with
+	a branch_type parameter.
+	(elf32_arm_relocate_section): Update call accordingly.
+	(elf32_arm_adjust_dynamic_symbol): Don't check STT_ARM_TFUNC.
+	(elf32_arm_output_map_sym): Initialize st_target_internal.
+	(elf32_arm_output_stub_sym): Likewise.
+	(elf32_arm_symbol_processing): Delete.
+	(elf32_arm_swap_symbol_in): Convert STT_ARM_TFUNCs into STT_FUNCs.
+	Use st_target_internal to record the branch type.
+	(elf32_arm_swap_symbol_out): Use st_target_internal to test for
+	Thumb functions.
+	(elf32_arm_is_function_type): Delete.
+	(elf_backend_symbol_processing): Likewise.
+	(elf_backend_is_function_type): Likewise.
+
+2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* elf32-arm.c (elf32_arm_check_relocs): Always assign a dynobj.
+	(elf32_arm_finish_dynamic_sections): Move sgot != NULL assertion
+	into the PLT block.
+
+2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* elf32-arm.c (elf32_arm_check_relocs): Use call_reloc_p,
+	may_need_local_target_p and may_become_dynamic_p to classify
+	the relocation type.  Don't check info->symbolic or h->def_regular
+	when deciding whether to record a potential dynamic reloc.
+	Don't treat potential dynamic relocs as PLT references.
+	(elf32_arm_gc_sweep_hook): Update to match.  Assert that we don't
+	try to make the PLT reference count go negative.
+
+2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* elf32-arm.c (elf32_arm_final_link_relocate): Always fill in the
+	GOT entry here, rather than leaving it to finish_dynamic_symbol.
+	Only create a dynamic relocation for local references if
+	info->shared.
+	(allocate_dynrelocs_for_symbol): Update dynamic relocation
+	allocation accordingly.
+	(elf32_arm_finish_dynamic_symbol): Don't initialise the GOT entry here.
+
+2011-03-14  Richard Sandiford  <richard.sandiford@linaro.org>
+
+	* elf32-arm.c (elf32_arm_allocate_dynrelocs): New function.
+	(elf32_arm_add_dynreloc): Likewise.
+	(elf32_arm_adjust_dynamic_symbol): Use elf32_arm_allocate_dynrelocs
+	to allocate dynamic relocations.
+	(elf32_arm_size_dynamic_sections): Likewise.
+	(allocate_dynrelocs): Likewise.  Rename to
+	allocate_dynrelocs_for_symbol.
+	(elf32_arm_final_link_relocate): Use elf32_arm_add_dynreloc to
+	create dynamic relocations.
+	(elf32_arm_finish_dynamic_symbol): Likewise.
+
+2011-03-12  H.J. Lu  <hongjiu.lu@intel.com>
+
+	* elf64-x86-64.c (elf_x86_64_check_tls_transition): Supprt TLS
+	x32 GD->IE and GD->LE transitions.
+	(elf_x86_64_relocate_section): Supprt TLS x32 GD->IE, GD->LE
+	and LD->LE transitions.
+
+2011-03-10  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (ppc64_elf_relocate_section): Provide section/offset
+	for LO_DS error message and correct multiple.
+
+2011-03-10  Alan Modra  <amodra@gmail.com>
+
+	* elf64-ppc.c (bfd_elf64_bfd_link_just_syms): Define.
+	(ppc64_elf_link_just_syms): New function.
+	(opd_entry_value): Don't assume big-endian host.
+	(get_r2off): New function.
+	(ppc_build_one_stub, ppc_size_one_stub): Use it here.
+
 2011-03-06  Michael Snyder  <msnyder@vmware.com>
 
 	* compress.c (bfd_compress_section_contents): Check for out of mem.
@@ -33,8 +232,8 @@
 
 2011-03-02  Bernd Schmidt  <bernds@codesourcery.com>
 
-        * elflink.c (is_reloc_section): Remove function.
-        (get_dynamic_reloc_section_name): Construct string manually.
+	* elflink.c (is_reloc_section): Remove function.
+	(get_dynamic_reloc_section_name): Construct string manually.
 
 2011-02-28  Kai Tietz  <kai.tietz@onevision.com>
 
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index 84fc75d..5f3a31f 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -3186,6 +3186,9 @@ pc-relative or some form of GOT-indirect relocation.  */
 /* Annotation of BX instructions.  */
   BFD_RELOC_ARM_V4BX,
 
+/* ARM support for STT_GNU_IFUNC.  */
+  BFD_RELOC_ARM_IRELATIVE,
+
 /* These relocs are only used within the ARM assembler.  They are not
 (at present) written to any object files.  */
   BFD_RELOC_ARM_IMMEDIATE,
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index cc83588..21ec38f 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -153,6 +153,9 @@ struct elf_link_hash_entry
   /* Symbol st_other value, symbol visibility.  */
   unsigned int other : 8;
 
+  /* The symbol's st_target_internal value (see Elf_Internal_Sym).  */
+  unsigned int target_internal : 8;
+
   /* Symbol is referenced by a non-shared object (other than the object
      in which it is defined).  */
   unsigned int ref_regular : 1;
diff --git a/bfd/elf.c b/bfd/elf.c
index c77dced..f69abf2 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -6542,6 +6542,7 @@ swap_out_syms (bfd *abfd,
     sym.st_info = 0;
     sym.st_other = 0;
     sym.st_shndx = SHN_UNDEF;
+    sym.st_target_internal = 0;
     bed->s->swap_symbol_out (abfd, &sym, outbound_syms, outbound_shndx);
     outbound_syms += bed->s->sizeof_sym;
     if (outbound_shndx != NULL)
@@ -6741,9 +6742,16 @@ Unable to find equivalent output section for symbol '%s' from section '%s'"),
 	}
 
       if (type_ptr != NULL)
-	sym.st_other = type_ptr->internal_elf_sym.st_other;
+	{
+	  sym.st_other = type_ptr->internal_elf_sym.st_other;
+	  sym.st_target_internal
+	    = type_ptr->internal_elf_sym.st_target_internal;
+	}
       else
-	sym.st_other = 0;
+	{
+	  sym.st_other = 0;
+	  sym.st_target_internal = 0;
+	}
 
       bed->s->swap_symbol_out (abfd, &sym, outbound_syms, outbound_shndx);
       outbound_syms += bed->s->sizeof_sym;
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 54001a3..6b69fd6 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -1651,6 +1651,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] =
 	 0x00000fff,		/* dst_mask */
 	 FALSE),		/* pcrel_offset */
 
+  /* 112-127 private relocations.  */
   EMPTY_HOWTO (112),
   EMPTY_HOWTO (113),
   EMPTY_HOWTO (114),
@@ -1667,6 +1668,8 @@ static reloc_howto_type elf32_arm_howto_table_1[] =
   EMPTY_HOWTO (125),
   EMPTY_HOWTO (126),
   EMPTY_HOWTO (127),
+
+  /* R_ARM_ME_TOO, obsolete.  */
   EMPTY_HOWTO (128),
 
   HOWTO (R_ARM_THM_TLS_DESCSEQ,	/* type */
@@ -1684,13 +1687,26 @@ static reloc_howto_type elf32_arm_howto_table_1[] =
 	 FALSE),		/* pcrel_offset */
 };
 
-/* 112-127 private relocations
-   128 R_ARM_ME_TOO, obsolete
-   129-255 unallocated in AAELF.
-
-   249-255 extended, currently unused, relocations:  */
+/* 160 onwards: */
+static reloc_howto_type elf32_arm_howto_table_2[1] =
+{
+  HOWTO (R_ARM_IRELATIVE,	/* type */
+         0,                     /* rightshift */
+         2,                     /* size (0 = byte, 1 = short, 2 = long) */
+         32,                    /* bitsize */
+         FALSE,                 /* pc_relative */
+         0,                     /* bitpos */
+         complain_overflow_bitfield,/* complain_on_overflow */
+         bfd_elf_generic_reloc, /* special_function */
+         "R_ARM_IRELATIVE",	/* name */
+         TRUE,			/* partial_inplace */
+         0xffffffff,		/* src_mask */
+         0xffffffff,		/* dst_mask */
+         FALSE)			/* pcrel_offset */
+};
 
-static reloc_howto_type elf32_arm_howto_table_2[4] =
+/* 249-255 extended, currently unused, relocations:  */
+static reloc_howto_type elf32_arm_howto_table_3[4] =
 {
   HOWTO (R_ARM_RREL32,		/* type */
 	 0,			/* rightshift */
@@ -1755,9 +1771,12 @@ elf32_arm_howto_from_type (unsigned int r_type)
   if (r_type < ARRAY_SIZE (elf32_arm_howto_table_1))
     return &elf32_arm_howto_table_1[r_type];
 
+  if (r_type == R_ARM_IRELATIVE)
+    return &elf32_arm_howto_table_2[r_type - R_ARM_IRELATIVE];
+
   if (r_type >= R_ARM_RREL32
-      && r_type < R_ARM_RREL32 + ARRAY_SIZE (elf32_arm_howto_table_2))
-    return &elf32_arm_howto_table_2[r_type - R_ARM_RREL32];
+      && r_type < R_ARM_RREL32 + ARRAY_SIZE (elf32_arm_howto_table_3))
+    return &elf32_arm_howto_table_3[r_type - R_ARM_RREL32];
 
   return NULL;
 }
@@ -1827,6 +1846,7 @@ static const struct elf32_arm_reloc_map elf32_arm_reloc_map[] =
     {BFD_RELOC_ARM_TLS_TPOFF32,      R_ARM_TLS_TPOFF32},
     {BFD_RELOC_ARM_TLS_IE32,         R_ARM_TLS_IE32},
     {BFD_RELOC_ARM_TLS_LE32,         R_ARM_TLS_LE32},
+    {BFD_RELOC_ARM_IRELATIVE,        R_ARM_IRELATIVE},
     {BFD_RELOC_VTABLE_INHERIT,	     R_ARM_GNU_VTINHERIT},
     {BFD_RELOC_VTABLE_ENTRY,	     R_ARM_GNU_VTENTRY},
     {BFD_RELOC_ARM_MOVW,	     R_ARM_MOVW_ABS_NC},
@@ -1897,6 +1917,11 @@ elf32_arm_reloc_name_lookup (bfd *abfd ATTRIBUTE_UNUSED,
 	&& strcasecmp (elf32_arm_howto_table_2[i].name, r_name) == 0)
       return &elf32_arm_howto_table_2[i];
 
+  for (i = 0; i < ARRAY_SIZE (elf32_arm_howto_table_3); i++)
+    if (elf32_arm_howto_table_3[i].name != NULL
+	&& strcasecmp (elf32_arm_howto_table_3[i].name, r_name) == 0)
+      return &elf32_arm_howto_table_3[i];
+
   return NULL;
 }
 
@@ -2410,8 +2435,8 @@ struct elf32_arm_stub_hash_entry
   /* The symbol table entry, if any, that this was derived from.  */
   struct elf32_arm_link_hash_entry *h;
 
-  /* Destination symbol type (STT_ARM_TFUNC, ...) */
-  unsigned char st_type;
+  /* Type of branch.  */
+  enum arm_st_branch_type branch_type;
 
   /* Where this stub is being called from, or, in the case of combined
      stub sections, the first input section in the group.  */
@@ -2531,7 +2556,7 @@ struct a8_erratum_fix {
   unsigned long orig_insn;
   char *stub_name;
   enum elf32_arm_stub_type stub_type;
-  int st_type;
+  enum arm_st_branch_type branch_type;
 };
 
 /* A table of relocs applied to branches which might trigger Cortex-A8
@@ -2543,13 +2568,51 @@ struct a8_erratum_reloc {
   struct elf32_arm_link_hash_entry *hash;
   const char *sym_name;
   unsigned int r_type;
-  unsigned char st_type;
+  enum arm_st_branch_type branch_type;
   bfd_boolean non_a8_stub;
 };
 
 /* The size of the thread control block.  */
 #define TCB_SIZE	8
 
+/* ARM-specific information about a PLT entry, over and above the usual
+   gotplt_union.  */
+struct arm_plt_info {
+  /* We reference count Thumb references to a PLT entry separately,
+     so that we can emit the Thumb trampoline only if needed.  */
+  bfd_signed_vma thumb_refcount;
+
+  /* Some references from Thumb code may be eliminated by BL->BLX
+     conversion, so record them separately.  */
+  bfd_signed_vma maybe_thumb_refcount;
+
+  /* How many of the recorded PLT accesses were from non-call relocations.
+     This information is useful when deciding whether anything takes the
+     address of an STT_GNU_IFUNC PLT.  A value of 0 means that all
+     non-call references to the function should resolve directly to the
+     real runtime target.  */
+  unsigned int noncall_refcount;
+
+  /* Since PLT entries have variable size if the Thumb prologue is
+     used, we need to record the index into .got.plt instead of
+     recomputing it from the PLT offset.  */
+  bfd_signed_vma got_offset;
+};
+
+/* Information about an .iplt entry for a local STT_GNU_IFUNC symbol.  */
+struct arm_local_iplt_info {
+  /* The information that is usually found in the generic ELF part of
+     the hash table entry.  */
+  union gotplt_union root;
+
+  /* The information that is usually found in the ARM-specific part of
+     the hash table entry.  */
+  struct arm_plt_info arm;
+
+  /* A list of all potential dynamic relocations against this symbol.  */
+  struct elf_dyn_relocs *dyn_relocs;
+};
+
 struct elf_arm_obj_tdata
 {
   struct elf_obj_tdata root;
@@ -2560,6 +2623,9 @@ struct elf_arm_obj_tdata
   /* GOTPLT entries for TLS descriptors.  */
   bfd_vma *local_tlsdesc_gotent;
 
+  /* Information for local symbols that need entries in .iplt.  */
+  struct arm_local_iplt_info **local_iplt;
+
   /* Zero to warn when linking objects with incompatible enum sizes.  */
   int no_enum_size_warning;
 
@@ -2576,6 +2642,9 @@ struct elf_arm_obj_tdata
 #define elf32_arm_local_tlsdesc_gotent(bfd) \
   (elf_arm_tdata (bfd)->local_tlsdesc_gotent)
 
+#define elf32_arm_local_iplt(bfd) \
+  (elf_arm_tdata (bfd)->local_iplt)
+
 #define is_arm_elf(bfd) \
   (bfd_get_flavour (bfd) == bfd_target_elf_flavour \
    && elf_tdata (bfd) != NULL \
@@ -2598,18 +2667,8 @@ struct elf32_arm_link_hash_entry
     /* Track dynamic relocs copied for this symbol.  */
     struct elf_dyn_relocs *dyn_relocs;
 
-    /* We reference count Thumb references to a PLT entry separately,
-       so that we can emit the Thumb trampoline only if needed.  */
-    bfd_signed_vma plt_thumb_refcount;
-
-    /* Some references from Thumb code may be eliminated by BL->BLX
-       conversion, so record them separately.  */
-    bfd_signed_vma plt_maybe_thumb_refcount;
-
-    /* Since PLT entries have variable size if the Thumb prologue is
-       used, we need to record the index into .got.plt instead of
-       recomputing it from the PLT offset.  */
-    bfd_signed_vma plt_got_offset;
+    /* ARM-specific PLT information.  */
+    struct arm_plt_info plt;
 
 #define GOT_UNKNOWN	0
 #define GOT_NORMAL	1
@@ -2617,7 +2676,12 @@ struct elf32_arm_link_hash_entry
 #define GOT_TLS_IE	4
 #define GOT_TLS_GDESC	8
 #define GOT_TLS_GD_ANY_P(type)	((type & GOT_TLS_GD) || (type & GOT_TLS_GDESC))
-    unsigned char tls_type;
+    unsigned int tls_type : 8;
+
+    /* True if the symbol's PLT entry is in .iplt rather than .plt.  */
+    unsigned int is_iplt : 1;
+
+    unsigned int unused : 23;
 
     /* Offset of the GOTPLT entry reserved for the TLS descriptor,
        starting at the end of the jump table.  */
@@ -2833,9 +2897,11 @@ elf32_arm_link_hash_newfunc (struct bfd_hash_entry * entry,
       ret->dyn_relocs = NULL;
       ret->tls_type = GOT_UNKNOWN;
       ret->tlsdesc_got = (bfd_vma) -1;
-      ret->plt_thumb_refcount = 0;
-      ret->plt_maybe_thumb_refcount = 0;


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


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

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

Thread overview: 9+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-03-19 20:18 [SCM] archer-jankratochvil-ifunc: Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc jkratoch
  -- strict thread matches above, loose matches on Subject: below --
2011-03-19 20:34 jkratoch
2011-03-19 19:45 jkratoch
2011-03-19 15:46 jkratoch
2011-03-19 15:13 jkratoch
2011-03-19 12:58 jkratoch
2011-03-19  8:47 jkratoch
2011-03-17 20:44 jkratoch
2011-03-17 19:08 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).