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, + ¤t_target); if (name_at_pc) elf_gnu_ifunc_record_cache (name_at_pc, address); - return gdbarch_convert_from_func_ptr_addr (gdbarch, address, ¤t_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.
next 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: linkBe 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).