When pointers are 32 bits wide and we cast a potentially 64 bits value in it, the compiler will yield an error. Cast that value first into a phys_addr_t to match the architecture pointer size and then in a void *. Signed-off-by: Clement Leger <cleger@xxxxxxxxx> --- common/elf.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/common/elf.c b/common/elf.c index d64de401c..55f5bc645 100644 --- a/common/elf.c +++ b/common/elf.c @@ -47,7 +47,7 @@ static void elf_release_regions(struct elf_image *elf) static int load_elf_phdr_segment(struct elf_image *elf, void *src, void *phdr) { - void *dst = (void *) elf_phdr_p_paddr(elf, phdr); + void *dst = (void *) (phys_addr_t) elf_phdr_p_paddr(elf, phdr); int ret; u64 p_filesz = elf_phdr_p_filesz(elf, phdr); u64 p_memsz = elf_phdr_p_memsz(elf, phdr); -- 2.17.1 _______________________________________________ barebox mailing list barebox@xxxxxxxxxxxxxxxxxxx http://lists.infradead.org/mailman/listinfo/barebox