1
0
mirror of https://github.com/upx/upx synced 2025-09-28 19:06:07 +08:00

Silence some compilation warnings.

This commit is contained in:
Markus F.X.J. Oberhumer 2009-06-09 13:11:21 +02:00
parent a3f49df62d
commit b03112a5dd

View File

@ -433,7 +433,7 @@ void PackMachBase<T>::pack4dylib( // append PackHeader
seg->cmdsize + (char const *)seg )
) switch (~Mach_segment_command::LC_REQ_DYLD & seg->cmd) {
default: // unknown if any file offset field must slide
printf("Unrecognized Macho cmd offset=0x%x cmd=0x%x size=0x%x\n", (char *)seg - (char *)rawmseg, (unsigned)seg->cmd, (unsigned)seg->cmdsize);
printf("Unrecognized Macho cmd offset=0x%lx cmd=0x%lx size=0x%lx\n", (unsigned long)((const char *)seg - (const char *)rawmseg), (unsigned long)seg->cmd, (unsigned long)seg->cmdsize);
// fall through
case Mach_segment_command::LC_THREAD:
case Mach_segment_command::LC_UNIXTHREAD:
@ -447,7 +447,7 @@ void PackMachBase<T>::pack4dylib( // append PackHeader
hdrpos += seg->cmdsize;
break; // contain no file offset fields
case Mach_segment_command::LC_TWOLEVEL_HINTS: {
Mach_twolevel_hints_command cmd = *(Mach_twolevel_hints_command const *)seg;
Mach_twolevel_hints_command cmd; memcpy(&cmd, seg, sizeof(cmd));
if (o_end_txt <= cmd.offset) { cmd.offset += slide; }
fo->seek(hdrpos, SEEK_SET);
fo->rewrite(&cmd, sizeof(cmd));
@ -455,7 +455,7 @@ void PackMachBase<T>::pack4dylib( // append PackHeader
} break;
case Mach_segment_command::LC_ROUTINES_64:
case Mach_segment_command::LC_ROUTINES: {
Mach_routines_command cmd = *(Mach_routines_command const *)seg;
Mach_routines_command cmd; memcpy(&cmd, seg, sizeof(cmd));
cmd.reserved1 = cmd.init_address;
cmd.init_address = init_address;
fo->seek(hdrpos, SEEK_SET);
@ -486,7 +486,7 @@ void PackMachBase<T>::pack4dylib( // append PackHeader
hdrpos += sizeof(segcmdtmp);
// Update the sections.
Mach_section_command const *secp = (Mach_section_command const *)(1+ seg);
Mach_section_command const *secp = (Mach_section_command const *)(const void*)(const char*)(1+ seg);
unsigned const nsects = segcmdtmp.nsects;
Mach_section_command seccmdtmp;
for (unsigned j = 0; j < nsects; ++secp, ++j) {
@ -503,7 +503,7 @@ void PackMachBase<T>::pack4dylib( // append PackHeader
fo->seek(opos, SEEK_SET);
fi->seek(seg->fileoff, SEEK_SET);
unsigned const len = seg->filesize;
char data[len];
MemBuffer data(len);
fi->readx(data, len);
fo->write(data, len);
opos += len;
@ -511,7 +511,7 @@ void PackMachBase<T>::pack4dylib( // append PackHeader
}
} break;
case Mach_segment_command::LC_SYMTAB: {
Mach_symtab_command cmd = *(Mach_symtab_command const *)seg;
Mach_symtab_command cmd; memcpy(&cmd, seg, sizeof(cmd));
if (o_end_txt <= cmd.symoff) { cmd.symoff += slide; }
if (o_end_txt <= cmd.stroff) { cmd.stroff += slide; }
fo->seek(hdrpos, SEEK_SET);
@ -519,7 +519,7 @@ void PackMachBase<T>::pack4dylib( // append PackHeader
hdrpos += sizeof(cmd);
} break;
case Mach_segment_command::LC_DYSYMTAB: {
Mach_dysymtab_command cmd = *(Mach_dysymtab_command const *)seg;
Mach_dysymtab_command cmd; memcpy(&cmd, seg, sizeof(cmd));
if (o_end_txt <= cmd.tocoff) { cmd.tocoff += slide; }
if (o_end_txt <= cmd.modtaboff) { cmd.modtaboff += slide; }
if (o_end_txt <= cmd.extrefsymoff) { cmd.extrefsymoff += slide; }
@ -531,7 +531,7 @@ void PackMachBase<T>::pack4dylib( // append PackHeader
hdrpos += sizeof(cmd);
} break;
case Mach_segment_command::LC_SEGMENT_SPLIT_INFO: {
Mach_segsplit_info_command cmd = *(Mach_segsplit_info_command const *)seg;
Mach_segsplit_info_command cmd; memcpy(&cmd, seg, sizeof(cmd));
if (o_end_txt <= cmd.dataoff) { cmd.dataoff += slide; }
fo->seek(hdrpos, SEEK_SET);
fo->rewrite(&cmd, sizeof(cmd));
@ -931,7 +931,7 @@ void PackMachBase<T>::unpack(OutputFile *fo)
fi->seek(rc->fileoff, SEEK_SET);
fo->seek(sc->fileoff, SEEK_SET);
unsigned const len = rc->filesize;
char data[len];
MemBuffer data(len);
fi->readx(data, len);
fo->write(data, len);
}
@ -973,10 +973,10 @@ bool PackMachBase<T>::canPack()
msegcmd[j] = *(Mach_segment_command const *)ptr;
if (((Mach_segment_command const *)ptr)->cmd ==
Mach_segment_command::LC_ROUTINES) {
o_routines_cmd = (char *)ptr - (char *)rawmseg;
o_routines_cmd = (const char *)ptr - (const char *)rawmseg;
prev_init_address = ((Mach_routines_command const *)ptr)->init_address;
}
ptr += (unsigned) ((Mach_segment_command *)ptr)->cmdsize;
ptr += (unsigned) ((const Mach_segment_command *)ptr)->cmdsize;
}
if (Mach_header::MH_DYLIB==my_filetype && 0==o_routines_cmd) {
infoWarning("missing -init function");
@ -1056,8 +1056,8 @@ void PackMachFat::pack(OutputFile *fo)
fi->set_extent(fat_head.arch[j].offset, fat_head.arch[j].size);
switch (fat_head.arch[j].cputype) {
case PackMachFat::CPU_TYPE_I386: {
N_Mach::Mach_header<MachClass_LE32::MachITypes> hdr;
typedef N_Mach::Mach_header<MachClass_LE32::MachITypes> Mach_header;
Mach_header hdr;
fi->readx(&hdr, sizeof(hdr));
if (hdr.filetype==Mach_header::MH_EXECUTE) {
PackMachI386 packer(fi);
@ -1075,8 +1075,8 @@ void PackMachFat::pack(OutputFile *fo)
}
} break;
case PackMachFat::CPU_TYPE_POWERPC: {
N_Mach::Mach_header<MachClass_BE32::MachITypes> hdr;
typedef N_Mach::Mach_header<MachClass_BE32::MachITypes> Mach_header;
Mach_header hdr;
fi->readx(&hdr, sizeof(hdr));
if (hdr.filetype==Mach_header::MH_EXECUTE) {
PackMachPPC32 packer(fi);