mirror of
https://github.com/upx/upx
synced 2025-09-28 19:06:07 +08:00
Expose integral types in p_elf.h.
This commit is contained in:
parent
4c068e3e00
commit
767bc71870
15
src/p_elf.h
15
src/p_elf.h
|
@ -37,9 +37,14 @@
|
|||
namespace N_Elf {
|
||||
|
||||
// The ELF file header. This appears at the start of every ELF file.
|
||||
template <class Word, class Addr, class Off, class Half>
|
||||
template <class TWord, class TAddr, class TOff, class THalf>
|
||||
struct Ehdr
|
||||
{
|
||||
typedef TWord Word;
|
||||
typedef TAddr Addr;
|
||||
typedef TOff Off;
|
||||
typedef THalf Half;
|
||||
|
||||
unsigned char e_ident[16]; /* Magic number and other info */
|
||||
Half e_type; /* Object file type */
|
||||
Half e_machine; /* Architecture */
|
||||
|
@ -422,6 +427,14 @@ template <class TP, class TEhdr, class TPhdr, class TShdr, class TDyn, class TSy
|
|||
struct ElfClass
|
||||
{
|
||||
typedef TP BeLePolicy;
|
||||
|
||||
// integral types
|
||||
typedef typename TP::U16 U16;
|
||||
typedef typename TP::U32 U32;
|
||||
typedef typename TP::U64 U64;
|
||||
typedef typename TEhdr::Addr Addr;
|
||||
|
||||
// ELF types
|
||||
typedef TEhdr Ehdr;
|
||||
typedef TPhdr Phdr;
|
||||
typedef TShdr Shdr;
|
||||
|
|
|
@ -41,10 +41,17 @@ class PackVmlinuxBase : public Packer
|
|||
{
|
||||
typedef Packer super;
|
||||
protected:
|
||||
// integral types
|
||||
typedef typename TElfClass::U16 U16;
|
||||
typedef typename TElfClass::U32 U32;
|
||||
typedef typename TElfClass::U64 U64;
|
||||
typedef typename TElfClass::Addr Addr;
|
||||
// ELF types
|
||||
typedef typename TElfClass::Ehdr Ehdr;
|
||||
typedef typename TElfClass::Shdr Shdr;
|
||||
typedef typename TElfClass::Phdr Phdr;
|
||||
typedef /*typename TElfClass::Addr*/ unsigned long Addr;
|
||||
typedef typename TElfClass::Dyn Dyn;
|
||||
typedef typename TElfClass::Sym Sym;
|
||||
|
||||
public:
|
||||
PackVmlinuxBase(InputFile *f,
|
||||
|
|
Loading…
Reference in New Issue
Block a user