Adapt better to SELinux. We still need allow_execmem.

p_lx_elf.cpp
	stub/a_lx_elf64.c
	stub/l_lx_elf64amd.h
	stub/l_lx_elf64amd.lds
	stub/l_lx_elf64amd.S
	stub/fold_elf64amd.h

committer: jreiser <jreiser> 1145657332 +0000
This commit is contained in:
John Reiser
2006-04-21 22:08:52 +00:00
parent c155f0a5d5
commit c264750924
6 changed files with 155 additions and 139 deletions
+2 -1
View File
@@ -667,7 +667,7 @@ PackLinuxElf64amd::generateElfHdr(
if (ph.format==UPX_F_LINUX_ELF64_AMD) {
cprElfHdr2 *const h2 = (cprElfHdr2 *)&elfout;
assert(2==get_native16(&h2->ehdr.e_phnum));
set_native32(&h2->phdr[0].p_flags, Elf64_Phdr::PF_W | get_native32(&h2->phdr[0].p_flags));
set_native32(&h2->phdr[0].p_flags, ~Elf64_Phdr::PF_W & get_native32(&h2->phdr[0].p_flags));
memset(&h2->linfo, 0, sizeof(h2->linfo));
fo->write(h2, sizeof(*h2));
}
@@ -1510,6 +1510,7 @@ void PackLinuxI386elf::pack1(OutputFile *fo, Filter &)
fi->seek(ehdri.e_phoff, SEEK_SET);
fi->readx(phdri, sz_phdrs);
progid = getRandomId();
generateElfHdr(fo, linux_i386elf_fold, getbrk(phdri, ehdri.e_phnum) );
}