On 01.11.2010, at 14:42, Stefan Weil wrote: > Am 01.11.2010 19:29, schrieb Blue Swirl: >> On Mon, Nov 1, 2010 at 3:01 PM, Alexander Graf<ag...@suse.de> wrote: >> >>> --- >>> hw/elf_ops.h | 61 >>> +++++++++++++++++++++++++++++++++++++++++++++++++++++++++- >>> hw/loader.c | 7 ++++++ >>> hw/loader.h | 3 ++ >>> 3 files changed, 70 insertions(+), 1 deletions(-) >>> >>> diff --git a/hw/elf_ops.h b/hw/elf_ops.h >>> index 8b63dfc..645d058 100644 >>> --- a/hw/elf_ops.h >>> +++ b/hw/elf_ops.h >>> @@ -189,6 +189,44 @@ static int glue(load_symbols, SZ)(struct elfhdr *ehdr, >>> int fd, int must_swab, >>> return -1; >>> } >>> >>> +static void glue(elf_read_notes, SZ)(uint8_t *data, int data_len, >>> + ElfHandlers *handlers, int must_swab) >>> +{ >>> + uint8_t *p = data; >>> + >>> + while ((ulong)&p[3]< (ulong)&data[data_len]) { >>> >> Please use 'unsigned long'. >> > > Why is a type cast used here? I see no reason for it.
Pointers can't be compared, you have to cast them to values first. Alex