Efiemu stylistic fixes and gettext.
* grub-core/efiemu/i386/loadcore32.c (grub_arch_efiemu_relocate_symbols32): Avoid set in if. * grub-core/efiemu/i386/loadcore64.c (grub_arch_efiemu_relocate_symbols64): Likewise. * grub-core/efiemu/i386/pc/cfgtables.c (grub_machine_efiemu_init_tables): Likewise. * grub-core/efiemu/loadcore.c (grub_efiemu_resolve_symbols): Likewise. (grub_efiemu_loadcore_initXX): Add a filename argument. All users updated. Improved error message. * grub-core/efiemu/loadcore_common.c (grub_efiemu_loadcore_init): Add a filename argument. All users updated. * grub-core/efiemu/symbols.c (grub_efiemu_set_virtual_address_map): Reclassify double relocation as GRUB_ERR_BUG.
This commit is contained in:
parent
306fc0741f
commit
0331e102c9
9 changed files with 102 additions and 45 deletions
|
@ -87,18 +87,23 @@ grub_arch_efiemu_relocate_symbols32 (grub_efiemu_segment_t segs,
|
|||
switch (ELF32_R_TYPE (rel->r_info))
|
||||
{
|
||||
case R_386_32:
|
||||
if ((err = grub_efiemu_write_value
|
||||
(addr, sym.off + *addr, sym.handle, 0,
|
||||
seg->ptv_rel_needed, sizeof (grub_uint32_t))))
|
||||
err = grub_efiemu_write_value (addr, sym.off + *addr,
|
||||
sym.handle, 0,
|
||||
seg->ptv_rel_needed,
|
||||
sizeof (grub_uint32_t));
|
||||
if (err)
|
||||
return err;
|
||||
|
||||
break;
|
||||
|
||||
case R_386_PC32:
|
||||
if ((err = grub_efiemu_write_value
|
||||
(addr, sym.off + *addr - rel->r_offset
|
||||
- seg->off, sym.handle, seg->handle,
|
||||
seg->ptv_rel_needed, sizeof (grub_uint32_t))))
|
||||
err = grub_efiemu_write_value (addr, sym.off + *addr
|
||||
- rel->r_offset
|
||||
- seg->off, sym.handle,
|
||||
seg->handle,
|
||||
seg->ptv_rel_needed,
|
||||
sizeof (grub_uint32_t));
|
||||
if (err)
|
||||
return err;
|
||||
break;
|
||||
default:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue