1
0
mirror of https://github.com/upx/upx synced 2025-09-28 19:06:07 +08:00
This commit is contained in:
John Reiser 2010-07-16 21:01:45 -07:00
commit 3cb61402c2
2 changed files with 7 additions and 7 deletions

View File

@ -175,8 +175,8 @@ void PackLinuxElf::pack3(OutputFile *fo, Filter &ft)
unsigned disp;
unsigned const zero = 0;
unsigned len = fo->getBytesWritten();
fo->write(&zero, 3& -len); // ALIGN_UP 0 mod 4
len += (3& -len); // 0 mod 4
fo->write(&zero, 3& (0u-len)); // ALIGN_UP 0 mod 4
len += (3& (0u-len)); // 0 mod 4
unsigned const t = 4 ^ (4 & len) ^ ((!!xct_off)<<2); // 0 or 4
fo->write(&zero, t);
@ -2266,8 +2266,8 @@ void PackLinuxElf32::pack4(OutputFile *fo, Filter &ft)
overlay_offset = sz_elf_hdrs + sizeof(linfo);
unsigned const zero = 0;
unsigned len = fo->getBytesWritten();
fo->write(&zero, 3& -len); // align to 0 mod 4
len += 3& -len;
fo->write(&zero, 3& (0u-len)); // align to 0 mod 4
len += 3& (0u-len);
set_te32(&elfout.phdr[0].p_filesz, len);
super::pack4(fo, ft); // write PackHeader and overlay_offset
@ -2329,8 +2329,8 @@ void PackLinuxElf64::pack4(OutputFile *fo, Filter &ft)
overlay_offset = sz_elf_hdrs + sizeof(linfo);
unsigned const zero = 0;
unsigned len = fo->getBytesWritten();
fo->write(&zero, 3& -len); // align to 0 mod 4
len += 3& -len;
fo->write(&zero, 3& (0u-len)); // align to 0 mod 4
len += 3& (0u-len);
set_te64(&elfout.phdr[0].p_filesz, len);
super::pack4(fo, ft); // write PackHeader and overlay_offset

View File

@ -273,7 +273,7 @@ void PackW32Pe::processTls(Reloc *rel,const Interval *iv,unsigned newaddr) // pa
// add new relocation entries
unsigned ic;
//NEW: if TLS callbacks are used, relocate the VA of the callback chain, too - Stefan Widmann
for (ic = 0; ic < (use_tls_callbacks ? 16 : 12); ic += 4)
for (ic = 0; ic < (use_tls_callbacks ? 16u : 12u); ic += 4)
rel->add(newaddr + ic,3);
tls * const tlsp = (tls*) otls;