mirror of https://gitee.com/openkylin/qemu.git
Fix symfind.
this patch fixes an issue in symfind. Assume you have the following symbols: Address Size 0045bca0 00000080 T s0 0045bd20 00000112 T s1 You'll notice that s1 is s0 + size. So the current symfind will find that address 0045bd20 belongs to s0 instead of s1. Laurent Signed-off-by: Laurent Desnogues <laurent.desnogues@gmail.com> Signed-off-by: Anthony Liguori <aliguori@us.ibm.com> Message-Id:
This commit is contained in:
parent
ac8ab73ad1
commit
ec822001a2
|
@ -67,7 +67,7 @@ static int glue(symfind, SZ)(const void *s0, const void *s1)
|
|||
int result = 0;
|
||||
if (key->st_value < sym->st_value) {
|
||||
result = -1;
|
||||
} else if (key->st_value > sym->st_value + sym->st_size) {
|
||||
} else if (key->st_value >= sym->st_value + sym->st_size) {
|
||||
result = 1;
|
||||
}
|
||||
return result;
|
||||
|
|
|
@ -1199,7 +1199,7 @@ static int symfind(const void *s0, const void *s1)
|
|||
int result = 0;
|
||||
if (key->st_value < sym->st_value) {
|
||||
result = -1;
|
||||
} else if (key->st_value > sym->st_value + sym->st_size) {
|
||||
} else if (key->st_value >= sym->st_value + sym->st_size) {
|
||||
result = 1;
|
||||
}
|
||||
return result;
|
||||
|
|
Loading…
Reference in New Issue