diff --git a/src/p_lx_elf.cpp b/src/p_lx_elf.cpp index f85548ba..d7f4b242 100644 --- a/src/p_lx_elf.cpp +++ b/src/p_lx_elf.cpp @@ -1438,7 +1438,7 @@ bool PackLinuxElf32::canPack() load_va = get_te32(&phdr->p_vaddr); unsigned file_offset = get_te32(&phdr->p_offset); if (~page_mask & file_offset) { - if ((~page_mask & load_va) == file_offset) { + if ((~page_mask & (unsigned)load_va) == file_offset) { throwCantPack("Go-language PT_LOAD: try hemfix.c, or try '--force-execve'"); // Fixing it inside upx fails because packExtent() reads original file. }