From be235ddc381b2fa707b7e9f35645fdafe89021a3 Mon Sep 17 00:00:00 2001 From: "Markus F.X.J. Oberhumer" Date: Sun, 12 Nov 2006 20:57:08 +0100 Subject: [PATCH] Removed unused Packer::freezeLoader(). Changed return type of buildLoader() from "int" to "void". --- src/p_armpe.cpp | 4 +--- src/p_armpe.h | 2 +- src/p_com.cpp | 4 +--- src/p_com.h | 2 +- src/p_djgpp2.cpp | 4 +--- src/p_djgpp2.h | 2 +- src/p_elks.cpp | 4 +--- src/p_exe.cpp | 4 +--- src/p_exe.h | 2 +- src/p_lx_elf.cpp | 42 +++++++++++++++++++----------------------- src/p_lx_elf.h | 24 ++++++++++++------------ src/p_lx_exc.cpp | 12 +++++------- src/p_lx_exc.h | 6 +++--- src/p_lx_interp.cpp | 1 - src/p_lx_sh.cpp | 4 ++-- src/p_lx_sh.h | 2 +- src/p_mach.cpp | 8 +++----- src/p_mach.h | 4 ++-- src/p_ps1.cpp | 4 +--- src/p_ps1.h | 2 +- src/p_sys.cpp | 4 +--- src/p_sys.h | 2 +- src/p_tmt.cpp | 4 +--- src/p_tmt.h | 2 +- src/p_tos.cpp | 5 +---- src/p_tos.h | 2 +- src/p_vmlinx.cpp | 4 +--- src/p_vmlinx.h | 2 +- src/p_vmlinz.cpp | 8 ++------ src/p_vmlinz.h | 6 +++--- src/p_w16ne.cpp | 4 +--- src/p_w16ne.h | 2 +- src/p_w32pe.cpp | 4 +--- src/p_w32pe.h | 2 +- src/p_wcle.cpp | 4 +--- src/p_wcle.h | 2 +- src/packer.cpp | 5 ++++- src/packer.h | 7 +++---- 38 files changed, 84 insertions(+), 122 deletions(-) diff --git a/src/p_armpe.cpp b/src/p_armpe.cpp index a5a551e9..6f67b086 100644 --- a/src/p_armpe.cpp +++ b/src/p_armpe.cpp @@ -462,7 +462,7 @@ bool PackArmPe::canPack() } -int PackArmPe::buildLoader(const Filter *ft) +void PackArmPe::buildLoader(const Filter *ft) { const unsigned char *loader = use_thumb_stub ? nrv_loader_thumb : nrv_loader_arm; unsigned size = use_thumb_stub ? sizeof(nrv_loader_thumb) : sizeof(nrv_loader_arm); @@ -503,8 +503,6 @@ int PackArmPe::buildLoader(const Filter *ft) addLoader("+40C,LZMA_DECODE,LZMA_DEC10", NULL); addLoader("IDENTSTR,UPX1HEAD", NULL); - freezeLoader(); - return getLoaderSize(); } diff --git a/src/p_armpe.h b/src/p_armpe.h index 2117376f..f0556452 100644 --- a/src/p_armpe.h +++ b/src/p_armpe.h @@ -51,7 +51,7 @@ public: virtual int canUnpack(); protected: - virtual int buildLoader(const Filter *ft); + virtual void buildLoader(const Filter *ft); virtual Linker* newLinker() const; virtual unsigned processImports(); diff --git a/src/p_com.cpp b/src/p_com.cpp index 6be29134..2b8fc6f0 100644 --- a/src/p_com.cpp +++ b/src/p_com.cpp @@ -136,7 +136,7 @@ void PackCom::patchLoader(OutputFile *fo, } -int PackCom::buildLoader(const Filter *ft) +void PackCom::buildLoader(const Filter *ft) { initLoader(nrv2b_loader,sizeof(nrv2b_loader)); addLoader("COMMAIN1", @@ -155,8 +155,6 @@ int PackCom::buildLoader(const Filter *ft) assert(ft->calls > 0); addFilter16(ft->id); } - freezeLoader(); - return getLoaderSize(); } diff --git a/src/p_com.h b/src/p_com.h index e644888c..80eca2d9 100644 --- a/src/p_com.h +++ b/src/p_com.h @@ -56,7 +56,7 @@ protected: virtual Linker* newLinker() const; protected: - virtual int buildLoader(const Filter *ft); + virtual void buildLoader(const Filter *ft); virtual void patchLoader(OutputFile *fo, upx_byte *, int, unsigned); virtual void addFilter16(int filter_id); }; diff --git a/src/p_djgpp2.cpp b/src/p_djgpp2.cpp index 5f6dc296..eb8ed9a5 100644 --- a/src/p_djgpp2.cpp +++ b/src/p_djgpp2.cpp @@ -89,7 +89,7 @@ Linker* PackDjgpp2::newLinker() const } -int PackDjgpp2::buildLoader(const Filter *ft) +void PackDjgpp2::buildLoader(const Filter *ft) { // prepare loader initLoader(nrv_loader, sizeof(nrv_loader)); @@ -109,8 +109,6 @@ int PackDjgpp2::buildLoader(const Filter *ft) addFilter32(ft->id); } addLoader("DJRETURN,+40C,UPX1HEAD", NULL); - freezeLoader(); - return getLoaderSize(); } diff --git a/src/p_djgpp2.h b/src/p_djgpp2.h index eeabd011..707f5377 100644 --- a/src/p_djgpp2.h +++ b/src/p_djgpp2.h @@ -59,7 +59,7 @@ protected: virtual unsigned findOverlapOverhead(const upx_bytep buf, unsigned range = 0, unsigned upper_limit = ~0u) const; - virtual int buildLoader(const Filter *ft); + virtual void buildLoader(const Filter *ft); virtual Linker* newLinker() const; long coff_offset; diff --git a/src/p_elks.cpp b/src/p_elks.cpp index d36e9d5e..ecb31ba1 100644 --- a/src/p_elks.cpp +++ b/src/p_elks.cpp @@ -94,14 +94,12 @@ void PackElks8086::readKernel() // **************************************************************************/ -int PackElks8086::buildLoader(const Filter *ft) +void PackElks8086::buildLoader(const Filter *ft) { // prepare loader initLoader(nrv_loader, sizeof(nrv_loader)); // FIXME UNUSED(ft); - freezeLoader(); - return getLoaderSize(); } diff --git a/src/p_exe.cpp b/src/p_exe.cpp index a2f2cf3f..f5f46649 100644 --- a/src/p_exe.cpp +++ b/src/p_exe.cpp @@ -113,7 +113,7 @@ int PackExe::fillExeHeader(struct exe_header_t *eh) const } -int PackExe::buildLoader(const Filter *) +void PackExe::buildLoader(const Filter *) { struct exe_header_t tmp_oh; int flag = fillExeHeader(&tmp_oh); @@ -189,8 +189,6 @@ int PackExe::buildLoader(const Filter *) "EXERETIP", NULL ); - freezeLoader(); - return getLoaderSize(); } diff --git a/src/p_exe.h b/src/p_exe.h index f8f60db4..1d52409c 100644 --- a/src/p_exe.h +++ b/src/p_exe.h @@ -68,7 +68,7 @@ protected: virtual int readFileHeader(void); virtual int fillExeHeader(struct exe_header_t *) const; - virtual int buildLoader(const Filter *ft); + virtual void buildLoader(const Filter *ft); virtual Linker* newLinker() const; struct exe_header_t diff --git a/src/p_lx_elf.cpp b/src/p_lx_elf.cpp index 69ed2ce0..e043f040 100644 --- a/src/p_lx_elf.cpp +++ b/src/p_lx_elf.cpp @@ -431,7 +431,7 @@ void PackLinuxElf32x86::defineSymbols(Filter const *const ft) } } -int +void PackLinuxElf32::buildLinuxLoader( upx_byte const *const proto, unsigned const szproto, @@ -488,13 +488,11 @@ PackLinuxElf32::buildLinuxLoader( addStubEntrySections(ft); - freezeLoader(); defineSymbols(ft); linker->relocate(); - return getLoaderSize(); } -int +void PackLinuxElf64::buildLinuxLoader( upx_byte const *const proto, unsigned const szproto, @@ -538,10 +536,8 @@ PackLinuxElf64::buildLinuxLoader( addStubEntrySections(ft); - freezeLoader(); defineSymbols(ft); linker->relocate(); - return getLoaderSize(); } void @@ -629,7 +625,7 @@ static const static const #include "stub/i386-linux.elf-fold.h" -int +void PackLinuxElf32x86::buildLoader(const Filter *ft) { unsigned char tmp[sizeof(linux_i386elf_fold)]; @@ -647,7 +643,7 @@ PackLinuxElf32x86::buildLoader(const Filter *ft) } } } - return buildLinuxLoader( + buildLinuxLoader( linux_i386elf_loader, sizeof(linux_i386elf_loader), tmp, sizeof(linux_i386elf_fold), ft ); } @@ -657,7 +653,7 @@ static const static const #include "stub/i386-bsd.elf-fold.h" -int +void PackBSDElf32x86::buildLoader(const Filter *ft) { unsigned char tmp[sizeof(bsd_i386elf_fold)]; @@ -675,7 +671,7 @@ PackBSDElf32x86::buildLoader(const Filter *ft) } } } - return buildLinuxLoader( + buildLinuxLoader( bsd_i386elf_loader, sizeof(bsd_i386elf_loader), tmp, sizeof(bsd_i386elf_fold), ft ); } @@ -687,7 +683,7 @@ static const static const #include "stub/i386-openbsd.elf-fold.h" -int +void PackOpenBSDElf32x86::buildLoader(const Filter *ft) { unsigned char tmp[sizeof(openbsd_i386elf_fold)]; @@ -705,7 +701,7 @@ PackOpenBSDElf32x86::buildLoader(const Filter *ft) } } } - return buildLinuxLoader( + buildLinuxLoader( bsd_i386elf_loader, sizeof(bsd_i386elf_loader), tmp, sizeof(openbsd_i386elf_fold), ft ); } @@ -777,16 +773,16 @@ ehdr_lebe(Elf_LE32_Ehdr *const ehdr_le, Elf_BE32_Ehdr const *const ehdr_be) ehdr_le->e_shstrndx = ehdr_be->e_shstrndx; } -int +void PackLinuxElf32armBe::buildLoader(Filter const *ft) { - return ARM_buildLoader(ft, true); + ARM_buildLoader(ft, true); } -int +void PackLinuxElf32armLe::buildLoader(Filter const *ft) { - return ARM_buildLoader(ft, false); + ARM_buildLoader(ft, false); } static const @@ -794,10 +790,10 @@ static const static const #include "stub/powerpc-linux.elf-fold.h" -int +void PackLinuxElf32ppc::buildLoader(const Filter *ft) { - return buildLinuxLoader( + buildLinuxLoader( linux_elfppc32_loader, sizeof(linux_elfppc32_loader), linux_elfppc32_fold, sizeof(linux_elfppc32_fold), ft ); } @@ -807,10 +803,10 @@ static const static const #include "stub/amd64-linux.elf-fold.h" -int +void PackLinuxElf64amd::buildLoader(const Filter *ft) { - return buildLinuxLoader( + buildLinuxLoader( linux_elf64amd_loader, sizeof(linux_elf64amd_loader), linux_elf64amd_fold, sizeof(linux_elf64amd_fold), ft ); } @@ -1515,7 +1511,7 @@ PackLinuxElf32armLe::getFilters() const return ARM_getFilters(false); } -int +void PackLinuxElf32::ARM_buildLoader(const Filter *ft, bool const isBE) { unsigned const sz_loader = sizeof(linux_elf32arm_loader); @@ -1542,7 +1538,7 @@ PackLinuxElf32::ARM_buildLoader(const Filter *ft, bool const isBE) } } if (!asm_brev) { // was assembled to match target - return buildLinuxLoader(linux_elf32arm_loader, sz_loader, + buildLinuxLoader(linux_elf32arm_loader, sz_loader, tmp_fold, sz_fold, ft ); } else { // was assembled brev() from target @@ -1567,7 +1563,7 @@ PackLinuxElf32::ARM_buildLoader(const Filter *ft, bool const isBE) (isBE ? (void (*)(void *, void const *))ehdr_bele : (void (*)(void *, void const *))ehdr_lebe) (tmp_fold.getVoidPtr(), (void const *)linux_elf32arm_fold); - return buildLinuxLoader(brev_loader, sz_loader, tmp_fold, sz_fold, ft); + buildLinuxLoader(brev_loader, sz_loader, tmp_fold, sz_fold, ft); } } diff --git a/src/p_lx_elf.h b/src/p_lx_elf.h index e397b32f..f0bd2c64 100644 --- a/src/p_lx_elf.h +++ b/src/p_lx_elf.h @@ -40,7 +40,7 @@ class PackLinuxElf : public PackUnix public: PackLinuxElf(InputFile *f); virtual ~PackLinuxElf(); - /*virtual int buildLoader(const Filter *);*/ + /*virtual void buildLoader(const Filter *);*/ virtual bool canUnpackVersion(int version) const { return (version >= 11); } protected: @@ -90,7 +90,7 @@ protected: // These ARM routines are essentially common to big/little endian, // but the class hierarchy splits after this class. - virtual int ARM_buildLoader(Filter const *ft, bool isBE); + virtual void ARM_buildLoader(Filter const *ft, bool isBE); virtual void ARM_defineSymbols(Filter const *ft); virtual void ARM_updateLoader(OutputFile *); virtual void ARM_pack1(OutputFile *, bool isBE); @@ -106,7 +106,7 @@ protected: void const *proto, unsigned const brka ); - virtual int buildLinuxLoader( + virtual void buildLinuxLoader( upx_byte const *const proto, // assembly-only sections unsigned const szproto, upx_byte const *const fold, // linked assembly + C section @@ -172,7 +172,7 @@ class PackLinuxElf64 : public PackLinuxElf public: PackLinuxElf64(InputFile *f); virtual ~PackLinuxElf64(); - /*virtual int buildLoader(const Filter *);*/ + /*virtual void buildLoader(const Filter *);*/ protected: virtual int checkEhdr(Elf64_Ehdr const *ehdr) const; @@ -188,7 +188,7 @@ protected: void const *proto, unsigned const brka ); - virtual int buildLinuxLoader( + virtual void buildLinuxLoader( upx_byte const *const proto, // assembly-only sections unsigned const szproto, upx_byte const *const fold, // linked assembly + C section @@ -288,7 +288,7 @@ public: protected: virtual void pack1(OutputFile *, Filter &); // generate executable header //virtual void pack3(OutputFile *, Filter &); // append loader - virtual int buildLoader(const Filter *); + virtual void buildLoader(const Filter *); virtual Linker* newLinker() const; virtual void defineSymbols(Filter const *); }; @@ -308,7 +308,7 @@ public: virtual const int *getFilters() const; protected: virtual void pack1(OutputFile *, Filter &); // generate executable header - virtual int buildLoader(const Filter *); + virtual void buildLoader(const Filter *); virtual Linker* newLinker() const; }; @@ -331,7 +331,7 @@ public: protected: virtual void pack1(OutputFile *, Filter &); // generate executable header - virtual int buildLoader(const Filter *); + virtual void buildLoader(const Filter *); virtual void addStubEntrySections(Filter const *); virtual Linker* newLinker() const; virtual void defineSymbols(Filter const *); @@ -349,7 +349,7 @@ public: protected: virtual void pack1(OutputFile *, Filter &); // generate executable header - virtual int buildLoader(const Filter *); + virtual void buildLoader(const Filter *); }; class PackFreeBSDElf32x86 : public PackBSDElf32x86 @@ -376,7 +376,7 @@ public: virtual ~PackOpenBSDElf32x86(); protected: - virtual int buildLoader(const Filter *ft); + virtual void buildLoader(const Filter *ft); virtual void generateElfHdr( OutputFile *, void const *proto, @@ -402,7 +402,7 @@ protected: virtual const int *getCompressionMethods(int method, int level) const; virtual Linker* newLinker() const; virtual void pack1(OutputFile *, Filter &); // generate executable header - virtual int buildLoader(const Filter *); + virtual void buildLoader(const Filter *); virtual void updateLoader(OutputFile *); virtual void defineSymbols(Filter const *); }; @@ -421,7 +421,7 @@ protected: virtual const int *getCompressionMethods(int method, int level) const; virtual Linker* newLinker() const; virtual void pack1(OutputFile *, Filter &); // generate executable header - virtual int buildLoader(const Filter *); + virtual void buildLoader(const Filter *); virtual void updateLoader(OutputFile *); virtual void defineSymbols(Filter const *); }; diff --git a/src/p_lx_exc.cpp b/src/p_lx_exc.cpp index 4475144f..11103e4f 100644 --- a/src/p_lx_exc.cpp +++ b/src/p_lx_exc.cpp @@ -292,7 +292,7 @@ Linker *PackLinuxI386::newLinker() const return new ElfLinkerX86; } -int +void PackLinuxI386::buildLinuxLoader( upx_byte const *const proto, unsigned const szproto, @@ -372,7 +372,6 @@ PackLinuxI386::buildLinuxLoader( addLoader("IDENTSTR", NULL); addLoader("LEXEC020", NULL); addLoader("FOLDEXEC", NULL); - freezeLoader(); if (ph.method == M_LZMA) { const lzma_compress_result_t *res = &ph.compress_result.result_lzma; unsigned const properties = // lc, lp, pb, dummy @@ -394,10 +393,9 @@ PackLinuxI386::buildLinuxLoader( } } linker->relocate(); - return getLoaderSize(); } -int +void PackLinuxI386::buildLoader(Filter const *ft) { unsigned const sz_fold = sizeof(linux_i386exec_fold); @@ -412,12 +410,12 @@ PackLinuxI386::buildLoader(Filter const *ft) patch_le32(buf,sz_fold,"UPX3",progid); patch_le32(buf,sz_fold,"UPX2",exetype > 0 ? 0 : 0x7fffffff); - return buildLinuxLoader( + buildLinuxLoader( linux_i386exec_loader, sizeof(linux_i386exec_loader), buf, sz_fold, ft ); } -int +void PackBSDI386::buildLoader(Filter const *ft) { unsigned const sz_fold = sizeof(bsd_i386exec_fold); @@ -432,7 +430,7 @@ PackBSDI386::buildLoader(Filter const *ft) patch_le32(buf,sz_fold,"UPX3",progid); patch_le32(buf,sz_fold,"UPX2",exetype > 0 ? 0 : 0x7fffffff); - return buildLinuxLoader( + buildLinuxLoader( bsd_i386exec_loader, sizeof(bsd_i386exec_loader), buf, sz_fold, ft ); } diff --git a/src/p_lx_exc.h b/src/p_lx_exc.h index 015cf23b..1c88c0ee 100644 --- a/src/p_lx_exc.h +++ b/src/p_lx_exc.h @@ -51,7 +51,7 @@ public: virtual const char *getName() const { return "linux/386"; } virtual const int *getCompressionMethods(int method, int level) const; virtual const int *getFilters() const; - virtual int buildLoader(const Filter *); + virtual void buildLoader(const Filter *); virtual bool canPack(); @@ -64,7 +64,7 @@ protected: // loader util virtual Linker* newLinker() const; virtual int getLoaderPrefixSize() const; - virtual int buildLinuxLoader( + virtual void buildLinuxLoader( upx_byte const *const proto, // assembly-only sections unsigned const szproto, upx_byte const *const fold, // linked assembly + C section @@ -133,7 +133,7 @@ public: protected: virtual void pack1(OutputFile *, Filter &); // generate executable header - virtual int buildLoader(const Filter *); + virtual void buildLoader(const Filter *); }; #endif /* already included */ diff --git a/src/p_lx_interp.cpp b/src/p_lx_interp.cpp index d265eadb..0a5d0521 100644 --- a/src/p_lx_interp.cpp +++ b/src/p_lx_interp.cpp @@ -182,7 +182,6 @@ void PackLinuxElf32x86interp::pack3(OutputFile *fo, Filter &/*ft*/) addLoader("LXPTI200", NULL); addLoader("FOLDEXEC", NULL); - freezeLoader(); upx_byte const *p = getLoader(); lsize = getLoaderSize(); updateLoader(fo); diff --git a/src/p_lx_sh.cpp b/src/p_lx_sh.cpp index b6dd73ff..7c8bda05 100644 --- a/src/p_lx_sh.cpp +++ b/src/p_lx_sh.cpp @@ -71,7 +71,7 @@ umax(unsigned a, unsigned b) return a; } -int +void PackLinuxI386sh::buildLoader(Filter const *ft) { unsigned const sz_fold = sizeof(linux_i386sh_fold); @@ -99,7 +99,7 @@ PackLinuxI386sh::buildLoader(Filter const *ft) bool success = fold_ft.filter(buf + fold_hdrlen, sz_fold - fold_hdrlen); UNUSED(success); - return buildLinuxLoader( + buildLinuxLoader( linux_i386sh_loader, sizeof(linux_i386sh_loader), buf, sz_fold, ft ); } diff --git a/src/p_lx_sh.h b/src/p_lx_sh.h index 888593d9..441d3565 100644 --- a/src/p_lx_sh.h +++ b/src/p_lx_sh.h @@ -48,7 +48,7 @@ public: virtual int getFormat() const { return UPX_F_LINUX_SH_i386; } virtual const char *getName() const { return "linux/sh386"; } virtual const int *getFilters() const { return NULL; } - virtual int buildLoader(const Filter *); + virtual void buildLoader(const Filter *); virtual void pack1(OutputFile *fo, Filter &ft); virtual void pack3(OutputFile *fo, Filter &ft); diff --git a/src/p_mach.cpp b/src/p_mach.cpp index f46df6b5..cefd9ade 100644 --- a/src/p_mach.cpp +++ b/src/p_mach.cpp @@ -90,7 +90,7 @@ void PackMachPPC32::defineSymbols(Filter const *) } -int +void PackMachPPC32::buildMachLoader( upx_byte const *const proto, unsigned const szproto, @@ -131,16 +131,14 @@ PackMachPPC32::buildMachLoader( addStubEntrySections(ft); - freezeLoader(); defineSymbols(ft); linker->relocate(); - return getLoaderSize(); } -int +void PackMachPPC32::buildLoader(const Filter *ft) { - return buildMachLoader( + buildMachLoader( l_mac_ppc32_loader, sizeof(l_mac_ppc32_loader), fold_machppc32, sizeof(fold_machppc32), ft ); } diff --git a/src/p_mach.h b/src/p_mach.h index a055d3a2..4ccac3be 100644 --- a/src/p_mach.h +++ b/src/p_mach.h @@ -180,12 +180,12 @@ public: virtual unsigned find_SEGMENT_gap(unsigned const k); protected: - virtual int buildLoader(const Filter *ft); + virtual void buildLoader(const Filter *ft); virtual Linker* newLinker() const; virtual void patchLoader(); virtual void patchLoaderChecksum(); virtual void updateLoader(OutputFile *); - virtual int buildMachLoader( + virtual void buildMachLoader( upx_byte const *const proto, unsigned const szproto, upx_byte const *const fold, diff --git a/src/p_ps1.cpp b/src/p_ps1.cpp index f1d27151..3c03dfce 100644 --- a/src/p_ps1.cpp +++ b/src/p_ps1.cpp @@ -300,7 +300,7 @@ bool PackPs1::canPack() // **************************************************************************/ -int PackPs1::buildLoader(const Filter *) +void PackPs1::buildLoader(const Filter *) { const char *method = NULL; @@ -402,8 +402,6 @@ int PackPs1::buildLoader(const Filter *) } addLoader("UPX1HEAD", "IDENTSTR", NULL); } - freezeLoader(); - return getLoaderSize(); } #define OPTYPE(x) (((x) >> 13) & 0x7) diff --git a/src/p_ps1.h b/src/p_ps1.h index 1130e59b..2fcab083 100644 --- a/src/p_ps1.h +++ b/src/p_ps1.h @@ -59,7 +59,7 @@ protected: virtual void putBkupHeader(const unsigned char *src, unsigned char *dst, unsigned *len); virtual bool getBkupHeader(unsigned char *src, unsigned char * dst); virtual bool readBkupHeader(); - virtual int buildLoader(const Filter *ft); + virtual void buildLoader(const Filter *ft); virtual bool findBssSection(); virtual Linker* newLinker() const; diff --git a/src/p_sys.cpp b/src/p_sys.cpp index 3775e3e8..b65f8e94 100644 --- a/src/p_sys.cpp +++ b/src/p_sys.cpp @@ -100,7 +100,7 @@ void PackSys::patchLoader(OutputFile *fo, } -int PackSys::buildLoader(const Filter *ft) +void PackSys::buildLoader(const Filter *ft) { initLoader(nrv2b_loader,sizeof(nrv2b_loader)); addLoader("SYSMAIN1", @@ -123,8 +123,6 @@ int PackSys::buildLoader(const Filter *ft) "SYSJUMP1", NULL ); - freezeLoader(); - return getLoaderSize(); } diff --git a/src/p_sys.h b/src/p_sys.h index a7be906b..6cec2956 100644 --- a/src/p_sys.h +++ b/src/p_sys.h @@ -49,7 +49,7 @@ protected: virtual unsigned getCallTrickOffset() const { return 0; } protected: - virtual int buildLoader(const Filter *ft); + virtual void buildLoader(const Filter *ft); virtual void patchLoader(OutputFile *fo, upx_byte *, int, unsigned); }; diff --git a/src/p_tmt.cpp b/src/p_tmt.cpp index 4f09532e..8ddaabb1 100644 --- a/src/p_tmt.cpp +++ b/src/p_tmt.cpp @@ -81,7 +81,7 @@ Linker* PackTmt::newLinker() const } -int PackTmt::buildLoader(const Filter *ft) +void PackTmt::buildLoader(const Filter *ft) { // prepare loader initLoader(nrv_loader,sizeof(nrv_loader)); @@ -105,8 +105,6 @@ int PackTmt::buildLoader(const Filter *ft) "RELOC32J,TMTJUMP1", NULL ); - freezeLoader(); - return getLoaderSize(); } diff --git a/src/p_tmt.h b/src/p_tmt.h index 87028852..a1e71ea2 100644 --- a/src/p_tmt.h +++ b/src/p_tmt.h @@ -57,7 +57,7 @@ protected: virtual unsigned findOverlapOverhead(const upx_bytep buf, unsigned range = 0, unsigned upper_limit = ~0u) const; - virtual int buildLoader(const Filter *ft); + virtual void buildLoader(const Filter *ft); virtual Linker* newLinker() const; unsigned adam_offset; diff --git a/src/p_tos.cpp b/src/p_tos.cpp index 18bb3c78..0d66eded 100644 --- a/src/p_tos.cpp +++ b/src/p_tos.cpp @@ -93,7 +93,7 @@ void PackTos::LinkerSymbols::LoopInfo::init(unsigned count_, bool allow_dbra) } -int PackTos::buildLoader(const Filter *ft) +void PackTos::buildLoader(const Filter *ft) { assert(ft->id == 0); @@ -201,9 +201,6 @@ int PackTos::buildLoader(const Filter *ft) addLoader("loop3_set_count.l", NULL); addLoader("jmpstack", NULL); - - freezeLoader(); - return getLoaderSize(); } diff --git a/src/p_tos.h b/src/p_tos.h index a1d5b993..5bb0977e 100644 --- a/src/p_tos.h +++ b/src/p_tos.h @@ -55,7 +55,7 @@ public: protected: virtual Linker* newLinker() const; - virtual int buildLoader(const Filter *ft); + virtual void buildLoader(const Filter *ft); virtual int readFileHeader(); virtual bool checkFileHeader(); diff --git a/src/p_vmlinx.cpp b/src/p_vmlinx.cpp index 28f66f3d..409c0c98 100644 --- a/src/p_vmlinx.cpp +++ b/src/p_vmlinx.cpp @@ -223,7 +223,7 @@ Linker* PackVmlinuxI386::newLinker() const } -int PackVmlinuxI386::buildLoader(const Filter *ft) +void PackVmlinuxI386::buildLoader(const Filter *ft) { // prepare loader initLoader(nrv_loader, sizeof(nrv_loader)); @@ -245,8 +245,6 @@ int PackVmlinuxI386::buildLoader(const Filter *ft) addFilter32(ft->id); } addLoader("LINUX990,IDENTSTR,UPX1HEAD", NULL); - freezeLoader(); - return getLoaderSize(); } diff --git a/src/p_vmlinx.h b/src/p_vmlinx.h index 722f4d9c..f3c38051 100644 --- a/src/p_vmlinx.h +++ b/src/p_vmlinx.h @@ -56,7 +56,7 @@ public: protected: virtual Elf_LE32_Shdr const *getElfSections(); - virtual int buildLoader(const Filter *ft); + virtual void buildLoader(const Filter *ft); virtual Linker* newLinker() const; // virtual const upx_byte *getLoader() const; // virtual int getLoaderSize() const; diff --git a/src/p_vmlinz.cpp b/src/p_vmlinz.cpp index 486d908e..3d5fd7c5 100644 --- a/src/p_vmlinz.cpp +++ b/src/p_vmlinz.cpp @@ -269,7 +269,7 @@ Linker* PackVmlinuzI386::newLinker() const // vmlinuz specific **************************************************************************/ -int PackVmlinuzI386::buildLoader(const Filter *ft) +void PackVmlinuzI386::buildLoader(const Filter *ft) { // prepare loader initLoader(nrv_loader, sizeof(nrv_loader)); @@ -286,8 +286,6 @@ int PackVmlinuzI386::buildLoader(const Filter *ft) addFilter32(ft->id); } addLoader("LINUZ990,IDENTSTR,UPX1HEAD", NULL); - freezeLoader(); - return getLoaderSize(); } @@ -357,7 +355,7 @@ void PackVmlinuzI386::pack(OutputFile *fo) // bvmlinuz specific **************************************************************************/ -int PackBvmlinuzI386::buildLoader(const Filter *ft) +void PackBvmlinuzI386::buildLoader(const Filter *ft) { // prepare loader initLoader(nrv_loader, sizeof(nrv_loader)); @@ -387,8 +385,6 @@ int PackBvmlinuzI386::buildLoader(const Filter *ft) addFilter32(ft->id); } addLoader("LINUZ990", NULL); - freezeLoader(); - return getLoaderSize(); } diff --git a/src/p_vmlinz.h b/src/p_vmlinz.h index 5fc9c3db..ec58d24a 100644 --- a/src/p_vmlinz.h +++ b/src/p_vmlinz.h @@ -56,7 +56,7 @@ protected: virtual int decompressKernel(); virtual void readKernel(); - virtual int buildLoader(const Filter *ft); + virtual void buildLoader(const Filter *ft); virtual Linker* newLinker() const; // virtual const upx_byte *getLoader() const; @@ -105,7 +105,7 @@ public: virtual void pack(OutputFile *fo); protected: - virtual int buildLoader(const Filter *ft); + virtual void buildLoader(const Filter *ft); }; @@ -132,7 +132,7 @@ protected: virtual int decompressKernel(); virtual void readKernel(); - virtual int buildLoader(const Filter *ft); + virtual void buildLoader(const Filter *ft); }; diff --git a/src/p_w16ne.cpp b/src/p_w16ne.cpp index 8ad58c48..73a75cdb 100644 --- a/src/p_w16ne.cpp +++ b/src/p_w16ne.cpp @@ -57,7 +57,7 @@ const int *PackW16Ne::getFilters() const } -int PackW16Ne::buildLoader(const Filter *ft) +void PackW16Ne::buildLoader(const Filter *ft) { // prepare loader // initLoader(nrv_loader,sizeof(nrv_loader)); @@ -68,8 +68,6 @@ int PackW16Ne::buildLoader(const Filter *ft) // addLoader("..."); } // - freezeLoader(); - return getLoaderSize(); } diff --git a/src/p_w16ne.h b/src/p_w16ne.h index 7ffaa1b5..b5678b80 100644 --- a/src/p_w16ne.h +++ b/src/p_w16ne.h @@ -54,7 +54,7 @@ public: protected: virtual int readFileHeader(void); - virtual int buildLoader(const Filter *ft); + virtual void buildLoader(const Filter *ft); virtual Linker* newLinker() const; }; diff --git a/src/p_w32pe.cpp b/src/p_w32pe.cpp index 1d788a77..37022f2e 100644 --- a/src/p_w32pe.cpp +++ b/src/p_w32pe.cpp @@ -535,7 +535,7 @@ bool PackW32Pe::canPack() } -int PackW32Pe::buildLoader(const Filter *ft) +void PackW32Pe::buildLoader(const Filter *ft) { // recompute tlsindex (see pack() below) unsigned tmp_tlsindex = tlsindex; @@ -598,8 +598,6 @@ int PackW32Pe::buildLoader(const Filter *ft) "IDENTSTR,UPX1HEAD", NULL ); - freezeLoader(); - return getLoaderSize(); } diff --git a/src/p_w32pe.h b/src/p_w32pe.h index fa760490..46b21013 100644 --- a/src/p_w32pe.h +++ b/src/p_w32pe.h @@ -53,7 +53,7 @@ public: protected: virtual int readFileHeader(); - virtual int buildLoader(const Filter *ft); + virtual void buildLoader(const Filter *ft); virtual Linker* newLinker() const; bool isrtm; diff --git a/src/p_wcle.cpp b/src/p_wcle.cpp index 5718138d..7b1f7bba 100644 --- a/src/p_wcle.cpp +++ b/src/p_wcle.cpp @@ -88,7 +88,7 @@ Linker* PackWcle::newLinker() const } -int PackWcle::buildLoader(const Filter *ft) +void PackWcle::buildLoader(const Filter *ft) { // prepare loader initLoader(nrv_loader,sizeof(nrv_loader)); @@ -118,8 +118,6 @@ int PackWcle::buildLoader(const Filter *ft) "WCLEMAI4", NULL ); - freezeLoader(); - return getLoaderSize(); } diff --git a/src/p_wcle.h b/src/p_wcle.h index 58a506b9..1f1c4ae1 100644 --- a/src/p_wcle.h +++ b/src/p_wcle.h @@ -54,7 +54,7 @@ public: protected: virtual void handleStub(OutputFile *fo); - virtual int buildLoader(const Filter *ft); + virtual void buildLoader(const Filter *ft); virtual Linker* newLinker() const; virtual void readObjectTable(); diff --git a/src/packer.cpp b/src/packer.cpp index 0f9718af..09cc7088 100644 --- a/src/packer.cpp +++ b/src/packer.cpp @@ -1028,11 +1028,13 @@ void Packer::initLoader(const void *pdata, int plen, int small) } +#if 0 void Packer::addLoader(const char *s) { if (s && *s) linker->addLoader(s); } +#endif void __acc_cdecl_va Packer::addLoader(const char *s, ...) { @@ -1314,7 +1316,8 @@ void Packer::compressWithFilters(Filter *parm_ft, { // get results ph.overlap_overhead = findOverlapOverhead(*otemp, overlap_range); - lsize = buildLoader(&ft); + buildLoader(&ft); + lsize = getLoaderSize(); assert(lsize > 0); } #if 0 diff --git a/src/packer.h b/src/packer.h index a304af9e..9d2107f3 100644 --- a/src/packer.h +++ b/src/packer.h @@ -203,18 +203,17 @@ protected: virtual void checkAlreadyPacked(const void *b, int blen); // loader core - virtual int buildLoader(const Filter *ft) = 0; + virtual void buildLoader(const Filter *ft) = 0; virtual Linker* newLinker() const = 0; // loader util for linker - void freezeLoader() { } virtual upx_byte *getLoader() const; virtual int getLoaderSize() const; virtual void initLoader(const void *pdata, int plen, int small=-1); #if 1 && (ACC_CC_GNUC >= 0x040100) - virtual void addLoader(const char *); + //virtual void addLoader(const char *); virtual void __acc_cdecl_va addLoader(const char *, ...) __attribute__((__sentinel__)); #else - virtual void addLoader(const char *); + //virtual void addLoader(const char *); virtual void __acc_cdecl_va addLoader(const char *, ...); #endif virtual int getLoaderSection(const char *name, int *slen=NULL) const;