public inbox for archer-commits@sourceware.org
help / color / mirror / Atom feed
From: jkratoch@sourceware.org
To: archer-commits@sourceware.org
Subject: [SCM]  archer-jankratochvil-ifunc: Merge branch 'relatedbpt-type-findpcpart-fmt-reader-bpt-test' into archer-jankratochvil-ifunc
Date: Sat, 19 Mar 2011 20:18:00 -0000	[thread overview]
Message-ID: <20110319201814.9867.qmail@sourceware.org> (raw)

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.


             reply	other threads:[~2011-03-19 20:18 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-19 20:18 jkratoch [this message]
  -- 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

Reply instructions:

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

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

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

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

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

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

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).