Put upx stub loader at high end of ELF output file on linux,

and allow for block-by-block specification of filter and parameters.
	linker.cpp linker.h mem.cpp mem.h p_elf.h
	p_lx_elf.cpp p_lx_elf.h
	p_lx_exc.cpp p_lx_exc.h
	p_lx_sh.cpp  p_lx_sh.h
	p_unix.cpp p_unix.h
	packer.cpp packer.h
	stub/fold_elf86.asm stub/fold_exec86.asm stub/fold_sh86.asm
	stub/l_lx_elf.c  stub/l_lx_elf86.asm  stub/l_lx_elf86.lds
	stub/l_lx_exec.c stub/l_lx_exec86.asm stub/l_lx_exec86.lds
	stub/l_lx_sh.c   stub/l_lx_sh86.asm   stub/l_lx_sh86.lds
	stub/linux.hh

committer: jreiser <jreiser> 981084316 +0000
This commit is contained in:
John Reiser
2001-02-02 03:25:16 +00:00
parent 9005e50049
commit 40fddf1715
28 changed files with 797 additions and 614 deletions
+3 -1
View File
@@ -68,6 +68,7 @@ public:
int level; // compresison level 1..10
unsigned u_len;
unsigned c_len;
unsigned b_len; // total length of b_info blocks
unsigned u_adler;
unsigned c_adler;
off_t u_file_size;
@@ -212,6 +213,7 @@ protected:
virtual int getLoaderSectionStart(const char *name, int *slen=NULL) const;
virtual void addFilter32(int filter_id);
virtual const char *getDecompressor() const;
char const *identstr(unsigned &size);
// stub and overlay util
static void handleStub(InputFile *fi, OutputFile *fo, long size);
@@ -252,7 +254,7 @@ protected:
// compression buffers
MemBuffer ibuf; // input
MemBufferIO obuf; // output
MemBuffer obuf; // output
// UI handler
UiPacker *uip;