{
segment_address = ((unsigned char *)base_address) +
(jit_nuint)(phdr->p_vaddr);
- if(lseek(fd, (off_t)(phdr->p_offset), 0) != phdr->p_offset ||
+ if(lseek(fd, (off_t)(phdr->p_offset), 0) !=
+ (off_t)(phdr->p_offset) ||
read(fd, segment_address, (size_t)(phdr->p_filesz))
- != (size_t)(phdr->p_filesz))
+ != (int)(size_t)(phdr->p_filesz))
{
jit_free_exec(base_address, memory_size);
return 0;
{
return 0;
}
- if(lseek(fd, offset, 0) != offset)
+ if(lseek(fd, (off_t)offset, 0) != (off_t)offset)
{
jit_free_exec(address, memory_size);
return 0;
}
- if(read(fd, address, (size_t)file_size) != file_size)
+ if(read(fd, address, (size_t)file_size) != (int)(size_t)file_size)
{
jit_free_exec(address, memory_size);
return 0;
/* Seek to the program and section header tables and read them */
if(phdr_size > 0)
{
- if(lseek(fd, ehdr.e_phoff, 0) != ehdr.e_phoff ||
- read(fd, readelf->phdrs, phdr_size) != phdr_size)
+ if(lseek(fd, (off_t)(ehdr.e_phoff), 0) != (off_t)(ehdr.e_phoff) ||
+ read(fd, readelf->phdrs, phdr_size) != (int)phdr_size)
{
jit_free(readelf->shdrs);
jit_free(readelf->phdrs);
}
if(shdr_size > 0)
{
- if(lseek(fd, ehdr.e_shoff, 0) != ehdr.e_shoff ||
- read(fd, readelf->shdrs, shdr_size) != shdr_size)
+ if(lseek(fd, (off_t)(ehdr.e_shoff), 0) != (off_t)(ehdr.e_shoff) ||
+ read(fd, readelf->shdrs, shdr_size) != (int)shdr_size)
{
jit_free(readelf->shdrs);
jit_free(readelf->phdrs);
can_split_long = 0;
align_long_regs = 1;
}
- else if(!mem_cmp(stack_args, ((jit_nint *)&y) + 1, sizeof(jit_nint)))
+ else if(!mem_cmp(stack_args, ((jit_nint *)(void *)&y) + 1,
+ sizeof(jit_nint)))
{
/* The long value was split between registers and the stack */
can_split_long = 1;
can_split_long = 0;
align_long_regs = 1;
}
- else if(!mem_cmp(stack_args, ((jit_nint *)&y) + 1, sizeof(jit_nint)))
+ else if(!mem_cmp(stack_args, ((jit_nint *)(void *)&y) + 1,
+ sizeof(jit_nint)))
{
/* The long value was split between registers and the stack,
so alignment has occurred, together with a split */
case 19: value = y19; break;
default: value = y20; break;
}
- if(!mem_cmp(stack_args, ((jit_nint *)&value) + 1, sizeof(jit_nint)))
+ if(!mem_cmp(stack_args, ((jit_nint *)(void *)&value) + 1,
+ sizeof(jit_nint)))
{
/* We've detected a register/stack split in this argument */
can_split_long = 1;
case 19: value = y19; break;
default: value = y20; break;
}
- if(!mem_cmp(stack_args, ((jit_nint *)&value) + 1, sizeof(jit_nint)))
+ if(!mem_cmp(stack_args, ((jit_nint *)(void *)&value) + 1,
+ sizeof(jit_nint)))
{
/* We've detected a register/stack split in this argument */
can_split_long = 1;