Merge branch 'devel' into jreiser-android
This commit is contained in:
commit
633eb98e34
@ -612,7 +612,7 @@ PackLinuxElf::addStubEntrySections(Filter const *)
|
||||
|
||||
void PackLinuxElf::defineSymbols(Filter const *)
|
||||
{
|
||||
linker->defineSymbol("O_BINFO", opt->o_unix.is_ptinterp | o_binfo);
|
||||
linker->defineSymbol("O_BINFO", (!!opt->o_unix.is_ptinterp) | o_binfo);
|
||||
}
|
||||
|
||||
void PackLinuxElf32::defineSymbols(Filter const *ft)
|
||||
@ -3930,11 +3930,11 @@ PackLinuxElf64::elf_has_dynamic(unsigned int key) const
|
||||
return 0;
|
||||
}
|
||||
|
||||
uint64_t // checked .p_offset; sz_dynseg set
|
||||
upx_uint64_t // checked .p_offset; sz_dynseg set
|
||||
PackLinuxElf64::check_pt_dynamic(Elf64_Phdr const *const phdr)
|
||||
{
|
||||
uint64_t t = get_te64(&phdr->p_offset), s = sizeof(Elf64_Dyn) + t;
|
||||
uint64_t filesz = get_te64(&phdr->p_filesz), memsz = get_te64(&phdr->p_memsz);
|
||||
upx_uint64_t t = get_te64(&phdr->p_offset), s = sizeof(Elf64_Dyn) + t;
|
||||
upx_uint64_t filesz = get_te64(&phdr->p_filesz), memsz = get_te64(&phdr->p_memsz);
|
||||
if (s < t || (uint64_t)file_size < s
|
||||
|| (7 & t) || (0xf & (filesz | memsz)) // .balign 8; 16==sizeof(Elf64_Dyn)
|
||||
|| filesz < sizeof(Elf64_Dyn)
|
||||
|
||||
@ -274,7 +274,7 @@ protected:
|
||||
Elf64_Phdr const *elf_find_ptype(unsigned type, Elf64_Phdr const *phdr0, unsigned phnum);
|
||||
Elf64_Shdr const *elf_find_section_name(char const *) const;
|
||||
Elf64_Shdr const *elf_find_section_type(unsigned) const;
|
||||
uint64_t check_pt_dynamic(Elf64_Phdr const *);
|
||||
upx_uint64_t check_pt_dynamic(Elf64_Phdr const *);
|
||||
void const *elf_find_dynamic(unsigned) const;
|
||||
Elf64_Dyn const *elf_has_dynamic(unsigned) const;
|
||||
virtual upx_uint64_t elf_unsigned_dynamic(unsigned) const;
|
||||
|
||||
@ -1320,10 +1320,10 @@ void PackMachBase<T>::pack1(OutputFile *const fo, Filter &/*ft*/) // generate e
|
||||
segLINK.nsects = 0;
|
||||
segLINK.initprot = Mach_command::VM_PROT_READ;
|
||||
// Adjust later: .vmaddr .vmsize .fileoff .filesize
|
||||
uint64_t up(0);
|
||||
upx_uint64_t up(0);
|
||||
unsigned const ncmds = mhdri.ncmds;
|
||||
for (unsigned j= 0; j < ncmds; ++j) if (lc_seg == msegcmd[j].cmd) {
|
||||
uint64_t sup = msegcmd[j].vmsize + msegcmd[j].vmaddr;
|
||||
upx_uint64_t sup = msegcmd[j].vmsize + msegcmd[j].vmaddr;
|
||||
if (up < sup) {
|
||||
up = sup;
|
||||
segLINK.vmsize = sup - segLINK.vmaddr;
|
||||
|
||||
Loading…
Reference in New Issue
Block a user