---
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]) {