+2008-01-21 Robert Millan <rmh@aybabtu.com>
+
+ Mostly based on bugfix from Bean.
+
+ * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
+ attribute with hook() parameter.
+ (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
+ declaration.
+ (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
+ attribute with hook() parameter.
+ (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
+ declaration.
+
2008-01-21 Robert Millan <rmh@aybabtu.com>
* conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
static grub_err_t
grub_elf32_phdr_iterate (grub_elf_t elf,
- int (*hook) (grub_elf_t, Elf32_Phdr *, void *),
+ int NESTED_FUNC_ATTR (*hook) (grub_elf_t, Elf32_Phdr *, void *),
void *hook_arg)
{
Elf32_Phdr *phdrs;
grub_size_t load_size = 0;
grub_err_t err;
- auto int grub_elf32_load_segment (grub_elf_t elf, Elf32_Phdr *phdr,
- void *hook);
- int grub_elf32_load_segment (grub_elf_t elf, Elf32_Phdr *phdr, void *hook)
+ auto int NESTED_FUNC_ATTR grub_elf32_load_segment (grub_elf_t elf, Elf32_Phdr *phdr, void *hook);
+ int NESTED_FUNC_ATTR grub_elf32_load_segment (grub_elf_t elf, Elf32_Phdr *phdr, void *hook)
{
grub_elf32_load_hook_t load_hook = (grub_elf32_load_hook_t) hook;
grub_addr_t load_addr;
static grub_err_t
grub_elf64_phdr_iterate (grub_elf_t elf,
- int (*hook) (grub_elf_t, Elf64_Phdr *, void *),
+ int NESTED_FUNC_ATTR (*hook) (grub_elf_t, Elf64_Phdr *, void *),
void *hook_arg)
{
Elf64_Phdr *phdrs;
grub_size_t load_size = 0;
grub_err_t err;
- auto int grub_elf64_load_segment (grub_elf_t elf, Elf64_Phdr *phdr,
- void *hook);
- int grub_elf64_load_segment (grub_elf_t elf, Elf64_Phdr *phdr, void *hook)
+ auto int NESTED_FUNC_ATTR grub_elf64_load_segment (grub_elf_t elf, Elf64_Phdr *phdr,
+ void *hook);
+ int NESTED_FUNC_ATTR grub_elf64_load_segment (grub_elf_t elf, Elf64_Phdr *phdr, void *hook)
{
grub_elf64_load_hook_t load_hook = (grub_elf64_load_hook_t) hook;
grub_addr_t load_addr;