diff options
author | Tom Tromey <tom@tromey.com> | 2021-12-22 10:30:16 -0700 |
---|---|---|
committer | Tom Tromey <tom@tromey.com> | 2021-12-29 10:24:05 -0700 |
commit | ba0084966cfee307631aba6d0f052a39ad773909 (patch) | |
tree | 63012fc81a9af3914b8f5368803dc52a76383b8f | |
parent | 003aae076207dbf32f98ba846158fc32669ef85f (diff) | |
download | binutils-ba0084966cfee307631aba6d0f052a39ad773909.zip binutils-ba0084966cfee307631aba6d0f052a39ad773909.tar.gz binutils-ba0084966cfee307631aba6d0f052a39ad773909.tar.bz2 |
Remove unusual use of core_addr_eq and core_addr_hash
gdbtypes.h uses core_addr_eq and core_addr_hash in a weird way: taking
the address of a member and then passing this (as a void*) to these
functions.
It seems better to simply inline the ordinary code here. CORE_ADDR is
a scalar so it can be directly compared, and the identity hash
function seems safe to assume as well.
After this, core_addr_eq and core_addr_hash are unused, so this patch
removes them.
-rw-r--r-- | gdb/gdbtypes.h | 4 | ||||
-rw-r--r-- | gdb/utils.c | 21 | ||||
-rw-r--r-- | gdb/utils.h | 4 |
3 files changed, 2 insertions, 27 deletions
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h index 5284a4c..35549a8 100644 --- a/gdb/gdbtypes.h +++ b/gdb/gdbtypes.h @@ -1910,13 +1910,13 @@ struct call_site static int eq (const call_site *a, const call_site *b) { - return core_addr_eq (&a->m_unrelocated_pc, &b->m_unrelocated_pc); + return a->m_unrelocated_pc == b->m_unrelocated_pc; } static hashval_t hash (const call_site *a) { - return core_addr_hash (&a->m_unrelocated_pc); + return a->m_unrelocated_pc; } static int diff --git a/gdb/utils.c b/gdb/utils.c index 620ae9f..eba1acb 100644 --- a/gdb/utils.c +++ b/gdb/utils.c @@ -2837,27 +2837,6 @@ print_core_address (struct gdbarch *gdbarch, CORE_ADDR address) return hex_string_custom (address, 16); } -/* Callback hash_f for htab_create_alloc or htab_create_alloc_ex. */ - -hashval_t -core_addr_hash (const void *ap) -{ - const CORE_ADDR *addrp = (const CORE_ADDR *) ap; - - return *addrp; -} - -/* Callback eq_f for htab_create_alloc or htab_create_alloc_ex. */ - -int -core_addr_eq (const void *ap, const void *bp) -{ - const CORE_ADDR *addr_ap = (const CORE_ADDR *) ap; - const CORE_ADDR *addr_bp = (const CORE_ADDR *) bp; - - return *addr_ap == *addr_bp; -} - /* Convert a string back into a CORE_ADDR. */ CORE_ADDR string_to_core_addr (const char *my_string) diff --git a/gdb/utils.h b/gdb/utils.h index d86b564..54cf090 100644 --- a/gdb/utils.h +++ b/gdb/utils.h @@ -541,10 +541,6 @@ extern const char *paddress (struct gdbarch *gdbarch, CORE_ADDR addr); extern const char *print_core_address (struct gdbarch *gdbarch, CORE_ADDR address); -/* Callback hash_f and eq_f for htab_create_alloc or htab_create_alloc_ex. */ -extern hashval_t core_addr_hash (const void *ap); -extern int core_addr_eq (const void *ap, const void *bp); - extern CORE_ADDR string_to_core_addr (const char *my_string); extern void fprintf_symbol_filtered (struct ui_file *, const char *, |