On Mon, Feb 6, 2012 at 22:19, Keshav P R <the.ridikulus....@gmail.com> wrote: > On Mon, Feb 6, 2012 at 22:10, Keshav P R <the.ridikulus....@gmail.com> wrote: >> On Mon, Feb 6, 2012 at 22:08, Matthew Garrett <mj...@srcf.ucam.org> wrote: >>> On Mon, Feb 06, 2012 at 10:00:30PM +0530, Keshav P R wrote: >>>> loader/i386/pc/plan9_module-plan9.o `test -f 'loader/i386/pc/plan9.c' >>>> || echo './'`loader/i386/pc/plan9.c >>>> loader/i386/pc/plan9.c: In function 'grub_cmd_plan9': >>>> loader/i386/pc/plan9.c:420:9: error: too few arguments to function >>>> 'grub_relocator_alloc_chunk_addr' >>>> ../include/grub/relocator.h:34:1: note: declared here >>>> loader/i386/pc/plan9.c:451:9: error: too few arguments to function >>>> 'grub_relocator_alloc_chunk_addr' >>>> ../include/grub/relocator.h:34:1: note: declared here >>>> make[3]: *** [loader/i386/pc/plan9_module-plan9.o] Error 1 >>>> >>>> >>>> with all the three V2 patches applied in order (didn't try V1). No >>>> error in x86_64-efi compile. >>> >>> Sigh. Sorry, I missed that the plan9 loader had been added. Just add a 0 >>> as an additional argument to grub_relocator_alloc_chunk_addr() in >>> plan9.c. >>> >> >> Any other files that require this change? >> > > After applying the patch, "git grep -n > grub_relocator_alloc_chunk_addr" shows, among them the to-be-changed > files (I think) > > grub-core/loader/i386/coreboot/chainloader.c:71: err = > grub_relocator_alloc_chunk_addr (relocator, &ch, > grub-core/loader/i386/pc/chainloader.c:168: err = > grub_relocator_alloc_chunk_addr (rel, &ch, 0x7C00, > grub-core/loader/i386/pc/chainloader.c:173: err = > grub_relocator_alloc_chunk_addr (rel, &ch, > grub-core/loader/i386/pc/plan9.c:419: err = > grub_relocator_alloc_chunk_addr (rel, &ch, GRUB_PLAN9_CONFIG_ADDR, > grub-core/loader/i386/pc/plan9.c:450: err = > grub_relocator_alloc_chunk_addr (rel, &ch, GRUB_PLAN9_TARGET, > grub-core/loader/i386/pc/pxechainloader.c:133: err = > grub_relocator_alloc_chunk_addr (rel, &ch, 0x7c00, imagesize); > > >>> -- >>> Matthew Garrett | mj...@srcf.ucam.org
Patch attached that fixes the remaining files (atleast i386-pc build succeeds) - Keshav
diff --git a/grub-core/loader/i386/coreboot/chainloader.c b/grub-core/loader/i386/coreboot/chainloader.c index 3f85aa3..2bf0c6a 100644 --- a/grub-core/loader/i386/coreboot/chainloader.c +++ b/grub-core/loader/i386/coreboot/chainloader.c @@ -69,7 +69,7 @@ grub_chain_elf32_hook (Elf32_Phdr * phdr, grub_addr_t * addr, int *do_load) *do_load = 1; err = grub_relocator_alloc_chunk_addr (relocator, &ch, - phdr->p_paddr, phdr->p_memsz); + phdr->p_paddr, phdr->p_memsz, 0); if (err) return err; diff --git a/grub-core/loader/i386/pc/chainloader.c b/grub-core/loader/i386/pc/chainloader.c index 30b1e8b..9da0128 100644 --- a/grub-core/loader/i386/pc/chainloader.c +++ b/grub-core/loader/i386/pc/chainloader.c @@ -166,13 +166,13 @@ grub_chainloader_cmd (const char *filename, grub_chainloader_flags_t flags) grub_err_t err; err = grub_relocator_alloc_chunk_addr (rel, &ch, 0x7C00, - GRUB_DISK_SECTOR_SIZE); + GRUB_DISK_SECTOR_SIZE, 0); if (err) goto fail; bs = get_virtual_current_address (ch); err = grub_relocator_alloc_chunk_addr (rel, &ch, GRUB_MEMORY_MACHINE_PART_TABLE_ADDR, - 64); + 64, 0); if (err) goto fail; ptable = get_virtual_current_address (ch); diff --git a/grub-core/loader/i386/pc/plan9.c b/grub-core/loader/i386/pc/plan9.c index 169f83a..7de8c54 100644 --- a/grub-core/loader/i386/pc/plan9.c +++ b/grub-core/loader/i386/pc/plan9.c @@ -417,7 +417,7 @@ grub_cmd_plan9 (grub_extcmd_context_t ctxt, int argc, char *argv[]) grub_relocator_chunk_t ch; grub_err_t err; err = grub_relocator_alloc_chunk_addr (rel, &ch, GRUB_PLAN9_CONFIG_ADDR, - configsize); + configsize, 0); if (err) goto fail; config = get_virtual_current_address (ch); @@ -448,7 +448,7 @@ grub_cmd_plan9 (grub_extcmd_context_t ctxt, int argc, char *argv[]) grub_err_t err; err = grub_relocator_alloc_chunk_addr (rel, &ch, GRUB_PLAN9_TARGET, - memsize); + memsize, 0); if (err) goto fail; mem = get_virtual_current_address (ch); diff --git a/grub-core/loader/i386/pc/pxechainloader.c b/grub-core/loader/i386/pc/pxechainloader.c index 30a4c24..e0d8e7c 100644 --- a/grub-core/loader/i386/pc/pxechainloader.c +++ b/grub-core/loader/i386/pc/pxechainloader.c @@ -130,7 +130,7 @@ grub_cmd_pxechain (grub_command_t cmd __attribute__ ((unused)), imagesize = grub_file_size (file); { grub_relocator_chunk_t ch; - err = grub_relocator_alloc_chunk_addr (rel, &ch, 0x7c00, imagesize); + err = grub_relocator_alloc_chunk_addr (rel, &ch, 0x7c00, imagesize, 0); if (err) goto fail; image = get_virtual_current_address (ch);
_______________________________________________ Grub-devel mailing list Grub-devel@gnu.org https://lists.gnu.org/mailman/listinfo/grub-devel