[PATCH] [CELL] oprofile: test for flag instead of negative on unsigned

roel kluin
2008-09-09T19:48:31Z

vi arch/powerpc/oprofile/cell/vma_map.c +46

And you'll find this comment in vma_map_lookup():

Default the offset to the physical address + a flag value.
Addresses of dynamically generated code can't be found in the vma
map. For those addresses the flagged value will be sent on to
the user space tools so they can be reported rather than just
thrown away.

Returned is the flag value 0x10000000 + vma when not found.

The test for negative overlay_tbl_offset does not work
because it is unsigned.

Signed-off-by: Roel Kluin <roel.kluin@gmail.com>
---
diff --git a/arch/powerpc/oprofile/cell/vma_map.c b/arch/powerpc/oprofile/cell/vma_map.c
index fff6666..41e0c22 100644
--- a/arch/powerpc/oprofile/cell/vma_map.c
+++ b/arch/powerpc/oprofile/cell/vma_map.c
@@ -229,7 +229,7 @@ struct vma_to_fileoffset_map *create_vma_map(const struct spu *aSpu,
*/
overlay_tbl_offset = vma_map_lookup(map, ovly_table_sym,
aSpu, &grd_val);
- if (overlay_tbl_offset < 0) {
+ if (overlay_tbl_offset >= 0x10000000) {
printk(KERN_ERR "SPU_PROF: "
"%s, line %d: Error finding SPU overlay table\n",
__func__, __LINE__);