Skip to content

Commit 4c45762

Browse files
committed
target/breakpoints: fix types in watchpoint_add_internal()
There was a conflict: 1. commit 2cd8ebf ("breakpoints: use 64-bit type for watchpoint mask and value") 2. commit 0bf3373 ("target/breakpoints: Use 'unsigned int' for length") The second commit was created erlier, but merged later so the types of `mask` and `value` became `uint32_t` in `watchpoint_add_internal()`. This created a bug: `WATCHPOINT_IGNORE_DATA_VALUE_MASK` is defined as `(~(uint64_t)0)`. Truncation to uint32_t makes it so the comparisons with the constant don't work. Change-Id: I19c414c351f52aff72a60330d83c29db7bbca375 Signed-off-by: Evgeniy Naydanov <[email protected]>
1 parent 269c57e commit 4c45762

File tree

1 file changed

+1
-1
lines changed

1 file changed

+1
-1
lines changed

src/target/breakpoints.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -542,7 +542,7 @@ struct breakpoint *breakpoint_find(struct target *target, target_addr_t address)
542542
}
543543

544544
static int watchpoint_add_internal(struct target *target, target_addr_t address,
545-
unsigned int length, enum watchpoint_rw rw, uint32_t value, uint32_t mask)
545+
unsigned int length, enum watchpoint_rw rw, uint64_t value, uint64_t mask)
546546
{
547547
struct watchpoint *watchpoint = target->watchpoints;
548548
struct watchpoint **watchpoint_p = &target->watchpoints;

0 commit comments

Comments
 (0)