{
/* This pointer might not be directly usable if the alignment is
not sufficient for the architecture. */
- Elf32_Ehdr *ehdr = (Elf32_Ehdr *) ((char *) map_address + offset);
+ uintptr_t ehdr = (uintptr_t) map_address + offset;
/* This is a 32-bit binary. */
if (map_address != NULL && e_ident[EI_DATA] == MY_ELFDATA
&& (ALLOW_UNALIGNED
- || (((uintptr_t) ehdr) & (__alignof__ (Elf32_Ehdr) - 1)) == 0))
+ || (ehdr & (__alignof__ (Elf32_Ehdr) - 1)) == 0))
{
/* We can use the mmapped memory. */
- elf->state.elf32.ehdr = ehdr;
+ elf->state.elf32.ehdr = (Elf32_Ehdr *) ehdr;
}
else
{
if (map_address != NULL && e_ident[EI_DATA] == MY_ELFDATA
&& cmd != ELF_C_READ_MMAP /* We need a copy to be able to write. */
&& (ALLOW_UNALIGNED
- || ((((uintptr_t) ehdr + e_shoff)
- & (__alignof__ (Elf32_Shdr) - 1)) == 0)))
+ || (((ehdr + e_shoff) & (__alignof__ (Elf32_Shdr) - 1)) == 0)))
{
if (unlikely (scncnt > 0 && e_shoff >= maxsize)
|| unlikely (maxsize - e_shoff
}
if (scncnt > 0)
- elf->state.elf32.shdr
- = (Elf32_Shdr *) ((char *) ehdr + e_shoff);
+ elf->state.elf32.shdr = (Elf32_Shdr *) (ehdr + e_shoff);
for (size_t cnt = 0; cnt < scncnt; ++cnt)
{
{
/* This pointer might not be directly usable if the alignment is
not sufficient for the architecture. */
- Elf64_Ehdr *ehdr = (Elf64_Ehdr *) ((char *) map_address + offset);
+ uintptr_t ehdr = (uintptr_t) map_address + offset;
/* This is a 64-bit binary. */
if (map_address != NULL && e_ident[EI_DATA] == MY_ELFDATA
&& (ALLOW_UNALIGNED
- || (((uintptr_t) ehdr) & (__alignof__ (Elf64_Ehdr) - 1)) == 0))
+ || (ehdr & (__alignof__ (Elf64_Ehdr) - 1)) == 0))
{
/* We can use the mmapped memory. */
- elf->state.elf64.ehdr = ehdr;
+ elf->state.elf64.ehdr = (Elf64_Ehdr *) ehdr;
}
else
{
if (map_address != NULL && e_ident[EI_DATA] == MY_ELFDATA
&& cmd != ELF_C_READ_MMAP /* We need a copy to be able to write. */
&& (ALLOW_UNALIGNED
- || ((((uintptr_t) ehdr + e_shoff)
- & (__alignof__ (Elf64_Shdr) - 1)) == 0)))
+ || (((ehdr + e_shoff) & (__alignof__ (Elf64_Shdr) - 1)) == 0)))
{
if (unlikely (scncnt > 0 && e_shoff >= maxsize)
|| unlikely (maxsize - e_shoff
goto free_and_out;
if (scncnt > 0)
- elf->state.elf64.shdr
- = (Elf64_Shdr *) ((char *) ehdr + e_shoff);
+ elf->state.elf64.shdr = (Elf64_Shdr *) (ehdr + e_shoff);
for (size_t cnt = 0; cnt < scncnt; ++cnt)
{