debug PackLinuxElf32armBe. Also unify subroutines.

This commit is contained in:
John Reiser
2006-06-13 15:51:29 -07:00
parent bd8acbde97
commit dcc704a357
3 changed files with 50 additions and 51 deletions
+9 -13
View File
@@ -62,8 +62,15 @@ protected:
virtual void unpack(OutputFile *fo) = 0;
protected:
char *file_image; // if ET_DYN investigation
char const *dynstr; // from DT_STRTAB
unsigned sz_phdrs; // sizeof Phdr[]
unsigned sz_elf_hdrs; // all Elf headers
unsigned short e_machine;
unsigned char ei_class;
unsigned char ei_data;
};
class PackLinuxElf32 : public PackLinuxElf
@@ -73,11 +80,7 @@ public:
PackLinuxElf32(InputFile *f);
virtual ~PackLinuxElf32();
protected:
virtual int checkEhdr(
Elf32_Ehdr const *ehdr,
unsigned char e_machine,
unsigned char ei_class,
unsigned char ei_data) const;
virtual int checkEhdr(Elf32_Ehdr const *ehdr) const;
virtual void pack1(OutputFile *, Filter &); // generate executable header
virtual void pack2(OutputFile *, Filter &); // append compressed data
@@ -112,12 +115,9 @@ protected:
protected:
Elf32_Ehdr ehdri; // from input file
Elf32_Phdr *phdri; // for input file
unsigned sz_phdrs; // sizeof Phdr[]
char *file_image; // if ET_DYN investigation
Elf32_Dyn const *dynseg; // from PT_DYNAMIC
unsigned int const *hashtab; // from DT_HASH
char const *dynstr; // from DT_STRTAB
Elf32_Sym const *dynsym; // from DT_SYMTAB
struct cprElfHdr1 {
@@ -154,11 +154,7 @@ public:
/*virtual int buildLoader(const Filter *);*/
protected:
virtual int checkEhdr(
Elf64_Ehdr const *ehdr,
unsigned char e_machine,
unsigned char ei_class,
unsigned char ei_data) const;
virtual int checkEhdr(Elf64_Ehdr const *ehdr) const;
virtual void pack1(OutputFile *, Filter &); // generate executable header
virtual void pack2(OutputFile *, Filter &); // append compressed data