Fix watch address truncation. The address was truncated when it was passed to
amd64_set_watch() as 'unsigned int' and 'unsigned int' is 32bit long on amd64. Even with that fix hardware watchpoint don't work for me on amd64, ie. when I set the watchpoint and write a byte there, nothing happens.
This commit is contained in:
parent
5e13600953
commit
c11d01f58c
@ -199,8 +199,8 @@ static void db_print_stack_entry(const char *, int, char **, long *, db_addr_t);
|
||||
static void decode_syscall(int, struct thread *);
|
||||
|
||||
static char * watchtype_str(int type);
|
||||
int amd64_set_watch(int watchnum, unsigned int watchaddr, int size, int access,
|
||||
struct dbreg * d);
|
||||
int amd64_set_watch(int watchnum, unsigned long watchaddr, int size,
|
||||
int access, struct dbreg * d);
|
||||
int amd64_clr_watch(int watchnum, struct dbreg * d);
|
||||
|
||||
/*
|
||||
@ -526,7 +526,7 @@ stack_save(struct stack *st)
|
||||
int
|
||||
amd64_set_watch(watchnum, watchaddr, size, access, d)
|
||||
int watchnum;
|
||||
unsigned int watchaddr;
|
||||
unsigned long watchaddr;
|
||||
int size;
|
||||
int access;
|
||||
struct dbreg * d;
|
||||
|
Loading…
x
Reference in New Issue
Block a user