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.