* grub-core/fs/zfs/zfs.c (dmu_read): Use void * for some pointers to
avoid aliasing. (fzap_lookup): Likewise. (dnode_get): Likewise. (make_mdn): Likewise. (zfs_mount): Likewise. (fzap_iterate): Use temporary pointer to avoid aliasing. (grub_zfs_read): Likewise. * grub-core/loader/i386/xnu.c (grub_xnu_boot): Likewise. * grub-core/loader/xnu.c (grub_cmd_xnu_kernel): Use void * for some pointers to avoid aliasing. (grub_cmd_xnu_kernel64): Likewise. (grub_xnu_load_driver): Likewise.
This commit is contained in:
parent
fc836af9a5
commit
e7121b6932
4 changed files with 63 additions and 33 deletions
|
@ -342,7 +342,8 @@ grub_cmd_xnu_kernel (grub_command_t cmd __attribute__ ((unused)),
|
|||
grub_macho_t macho;
|
||||
grub_uint32_t startcode, endcode;
|
||||
int i;
|
||||
char *ptr, *loadaddr;
|
||||
char *ptr;
|
||||
void *loadaddr;
|
||||
grub_addr_t loadaddr_target;
|
||||
|
||||
if (argc < 1)
|
||||
|
@ -375,7 +376,7 @@ grub_cmd_xnu_kernel (grub_command_t cmd __attribute__ ((unused)),
|
|||
if (!grub_xnu_relocator)
|
||||
return grub_errno;
|
||||
grub_xnu_heap_target_start = startcode;
|
||||
err = grub_xnu_heap_malloc (endcode - startcode, (void **) &loadaddr,
|
||||
err = grub_xnu_heap_malloc (endcode - startcode, &loadaddr,
|
||||
&loadaddr_target);
|
||||
|
||||
if (err)
|
||||
|
@ -386,7 +387,8 @@ grub_cmd_xnu_kernel (grub_command_t cmd __attribute__ ((unused)),
|
|||
}
|
||||
|
||||
/* Load kernel. */
|
||||
err = grub_macho_load32 (macho, loadaddr - startcode, GRUB_MACHO_NOBSS);
|
||||
err = grub_macho_load32 (macho, (char *) loadaddr - startcode,
|
||||
GRUB_MACHO_NOBSS);
|
||||
if (err)
|
||||
{
|
||||
grub_macho_close (macho);
|
||||
|
@ -450,7 +452,8 @@ grub_cmd_xnu_kernel64 (grub_command_t cmd __attribute__ ((unused)),
|
|||
grub_macho_t macho;
|
||||
grub_uint64_t startcode, endcode;
|
||||
int i;
|
||||
char *ptr, *loadaddr;
|
||||
char *ptr;
|
||||
void *loadaddr;
|
||||
grub_addr_t loadaddr_target;
|
||||
|
||||
if (argc < 1)
|
||||
|
@ -486,7 +489,7 @@ grub_cmd_xnu_kernel64 (grub_command_t cmd __attribute__ ((unused)),
|
|||
if (!grub_xnu_relocator)
|
||||
return grub_errno;
|
||||
grub_xnu_heap_target_start = startcode;
|
||||
err = grub_xnu_heap_malloc (endcode - startcode, (void **) &loadaddr,
|
||||
err = grub_xnu_heap_malloc (endcode - startcode, &loadaddr,
|
||||
&loadaddr_target);
|
||||
|
||||
if (err)
|
||||
|
@ -497,7 +500,8 @@ grub_cmd_xnu_kernel64 (grub_command_t cmd __attribute__ ((unused)),
|
|||
}
|
||||
|
||||
/* Load kernel. */
|
||||
err = grub_macho_load64 (macho, loadaddr - startcode, GRUB_MACHO_NOBSS);
|
||||
err = grub_macho_load64 (macho, (char *) loadaddr - startcode,
|
||||
GRUB_MACHO_NOBSS);
|
||||
if (err)
|
||||
{
|
||||
grub_macho_close (macho);
|
||||
|
@ -636,7 +640,8 @@ grub_xnu_load_driver (char *infoplistname, grub_file_t binaryfile)
|
|||
grub_file_t infoplist;
|
||||
struct grub_xnu_extheader *exthead;
|
||||
int neededspace = sizeof (*exthead);
|
||||
grub_uint8_t *buf, *buf0;
|
||||
grub_uint8_t *buf;
|
||||
void *buf0;
|
||||
grub_addr_t buf_target;
|
||||
grub_size_t infoplistsize = 0, machosize = 0;
|
||||
char *name, *nameend;
|
||||
|
@ -692,7 +697,7 @@ grub_xnu_load_driver (char *infoplistname, grub_file_t binaryfile)
|
|||
err = grub_xnu_align_heap (GRUB_XNU_PAGESIZE);
|
||||
if (err)
|
||||
return err;
|
||||
err = grub_xnu_heap_malloc (neededspace, (void **) &buf0, &buf_target);
|
||||
err = grub_xnu_heap_malloc (neededspace, &buf0, &buf_target);
|
||||
if (err)
|
||||
return err;
|
||||
buf = buf0;
|
||||
|
@ -704,7 +709,7 @@ grub_xnu_load_driver (char *infoplistname, grub_file_t binaryfile)
|
|||
/* Load the binary. */
|
||||
if (macho)
|
||||
{
|
||||
exthead->binaryaddr = buf_target + (buf - buf0);
|
||||
exthead->binaryaddr = buf_target + (buf - (grub_uint8_t *) buf0);
|
||||
exthead->binarysize = machosize;
|
||||
if (grub_xnu_is_64bit)
|
||||
err = grub_macho_readfile64 (macho, buf);
|
||||
|
@ -723,7 +728,7 @@ grub_xnu_load_driver (char *infoplistname, grub_file_t binaryfile)
|
|||
/* Load the plist. */
|
||||
if (infoplist)
|
||||
{
|
||||
exthead->infoplistaddr = buf_target + (buf - buf0);
|
||||
exthead->infoplistaddr = buf_target + (buf - (grub_uint8_t *) buf0);
|
||||
exthead->infoplistsize = infoplistsize + 1;
|
||||
if (grub_file_read (infoplist, buf, infoplistsize)
|
||||
!= (grub_ssize_t) (infoplistsize))
|
||||
|
@ -739,7 +744,7 @@ grub_xnu_load_driver (char *infoplistname, grub_file_t binaryfile)
|
|||
}
|
||||
grub_errno = GRUB_ERR_NONE;
|
||||
|
||||
exthead->nameaddr = (buf - buf0) + buf_target;
|
||||
exthead->nameaddr = (buf - (grub_uint8_t *) buf0) + buf_target;
|
||||
exthead->namesize = namelen + 1;
|
||||
grub_memcpy (buf, name, namelen);
|
||||
buf[namelen] = 0;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue