aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Tromey <tom@tromey.com>2021-12-22 10:30:16 -0700
committerTom Tromey <tom@tromey.com>2021-12-29 10:24:05 -0700
commitba0084966cfee307631aba6d0f052a39ad773909 (patch)
tree63012fc81a9af3914b8f5368803dc52a76383b8f
parent003aae076207dbf32f98ba846158fc32669ef85f (diff)
downloadbinutils-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.h4
-rw-r--r--gdb/utils.c21
-rw-r--r--gdb/utils.h4
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 *,