Commit ec822001 authored by Laurent Desnogues's avatar Laurent Desnogues Committed by Anthony Liguori
Browse files

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: default avatarLaurent Desnogues <laurent.desnogues@gmail.com>
Signed-off-by: default avatarAnthony Liguori <aliguori@us.ibm.com>
Message-Id: 
parent ac8ab73a
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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;