target/breakpoints: fix types in `watchpoint_add_internal()`
There was a conflict: 1. commit2cd8ebf44d
("breakpoints: use 64-bit type for watchpoint mask and value") 2. commit0bf3373e80
("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 <evgeniy.naydanov@syntacore.com>
This commit is contained in:
parent
269c57e376
commit
4c45762d76
|
@ -542,7 +542,7 @@ struct breakpoint *breakpoint_find(struct target *target, target_addr_t address)
|
||||||
}
|
}
|
||||||
|
|
||||||
static int watchpoint_add_internal(struct target *target, target_addr_t address,
|
static int watchpoint_add_internal(struct target *target, target_addr_t address,
|
||||||
unsigned int length, enum watchpoint_rw rw, uint32_t value, uint32_t mask)
|
unsigned int length, enum watchpoint_rw rw, uint64_t value, uint64_t mask)
|
||||||
{
|
{
|
||||||
struct watchpoint *watchpoint = target->watchpoints;
|
struct watchpoint *watchpoint = target->watchpoints;
|
||||||
struct watchpoint **watchpoint_p = &target->watchpoints;
|
struct watchpoint **watchpoint_p = &target->watchpoints;
|
||||||
|
|
Loading…
Reference in New Issue