aboutsummaryrefslogtreecommitdiff
path: root/gdb/target-delegates.c
diff options
context:
space:
mode:
authorTom Tromey <tromey@adacore.com>2021-09-17 07:46:03 -0600
committerTom Tromey <tromey@adacore.com>2021-09-23 09:30:54 -0600
commitc80e29dba968beca5eee7210d2030d27fe7790c3 (patch)
treeb6e08f09ecd225efa78aae2c6966994413a21b5e /gdb/target-delegates.c
parent96bbe3ef9653e23a17b2315627e0cab441815f2d (diff)
downloadfsf-binutils-gdb-c80e29dba968beca5eee7210d2030d27fe7790c3.zip
fsf-binutils-gdb-c80e29dba968beca5eee7210d2030d27fe7790c3.tar.gz
fsf-binutils-gdb-c80e29dba968beca5eee7210d2030d27fe7790c3.tar.bz2
Change get_ada_task_ptid parameter type
get_ada_task_ptid currently takes a 'long' as its 'thread' parameter type. However, on some platforms this is actually a pointer, and using 'long' can sometimes end up with the value being sign-extended. This sign extension can cause problems later, if the tid is then later used as an address again. This patch changes the parameter type to ULONGEST and updates all the uses. This approach preserves sign extension on the targets where it is apparently intended, while avoiding it on others. Co-Authored-By: John Baldwin <jhb@FreeBSD.org>
Diffstat (limited to 'gdb/target-delegates.c')
-rw-r--r--gdb/target-delegates.c12
1 files changed, 6 insertions, 6 deletions
diff --git a/gdb/target-delegates.c b/gdb/target-delegates.c
index 3fd2854..fb9c78a 100644
--- a/gdb/target-delegates.c
+++ b/gdb/target-delegates.c
@@ -99,7 +99,7 @@ struct dummy_target : public target_ops
void flash_erase (ULONGEST arg0, LONGEST arg1) override;
void flash_done () override;
const struct target_desc *read_description () override;
- ptid_t get_ada_task_ptid (long arg0, long arg1) override;
+ ptid_t get_ada_task_ptid (long arg0, ULONGEST arg1) override;
int auxv_parse (gdb_byte **arg0, gdb_byte *arg1, CORE_ADDR *arg2, CORE_ADDR *arg3) override;
int search_memory (CORE_ADDR arg0, ULONGEST arg1, const gdb_byte *arg2, ULONGEST arg3, CORE_ADDR *arg4) override;
bool can_execute_reverse () override;
@@ -274,7 +274,7 @@ struct debug_target : public target_ops
void flash_erase (ULONGEST arg0, LONGEST arg1) override;
void flash_done () override;
const struct target_desc *read_description () override;
- ptid_t get_ada_task_ptid (long arg0, long arg1) override;
+ ptid_t get_ada_task_ptid (long arg0, ULONGEST arg1) override;
int auxv_parse (gdb_byte **arg0, gdb_byte *arg1, CORE_ADDR *arg2, CORE_ADDR *arg3) override;
int search_memory (CORE_ADDR arg0, ULONGEST arg1, const gdb_byte *arg2, ULONGEST arg3, CORE_ADDR *arg4) override;
bool can_execute_reverse () override;
@@ -2598,19 +2598,19 @@ debug_target::read_description ()
}
ptid_t
-target_ops::get_ada_task_ptid (long arg0, long arg1)
+target_ops::get_ada_task_ptid (long arg0, ULONGEST arg1)
{
return this->beneath ()->get_ada_task_ptid (arg0, arg1);
}
ptid_t
-dummy_target::get_ada_task_ptid (long arg0, long arg1)
+dummy_target::get_ada_task_ptid (long arg0, ULONGEST arg1)
{
return default_get_ada_task_ptid (this, arg0, arg1);
}
ptid_t
-debug_target::get_ada_task_ptid (long arg0, long arg1)
+debug_target::get_ada_task_ptid (long arg0, ULONGEST arg1)
{
ptid_t result;
fprintf_unfiltered (gdb_stdlog, "-> %s->get_ada_task_ptid (...)\n", this->beneath ()->shortname ());
@@ -2618,7 +2618,7 @@ debug_target::get_ada_task_ptid (long arg0, long arg1)
fprintf_unfiltered (gdb_stdlog, "<- %s->get_ada_task_ptid (", this->beneath ()->shortname ());
target_debug_print_long (arg0);
fputs_unfiltered (", ", gdb_stdlog);
- target_debug_print_long (arg1);
+ target_debug_print_ULONGEST (arg1);
fputs_unfiltered (") = ", gdb_stdlog);
target_debug_print_ptid_t (result);
fputs_unfiltered ("\n", gdb_stdlog);