PowerPC 64-bit big-endian
modified: conf.h modified: linker.cpp modified: linker.h modified: p_lx_elf.cpp modified: p_lx_elf.h modified: packmast.cpp modified: stub/Makefile modified: stub/powerpc-linux.elf-entry.h new file: stub/powerpc64-linux.elf-entry.h new file: stub/powerpc64-linux.elf-fold.h modified: stub/powerpc64le-linux.elf-entry.h modified: stub/powerpc64le-linux.elf-fold.h modified: stub/scripts/xstrip.py modified: stub/src/arch/powerpc/64le/nrv2b_d.S modified: stub/src/arch/powerpc/64le/nrv2d_d.S modified: stub/src/arch/powerpc/64le/nrv2e_d.S new file: stub/src/powerpc64-darwin.dylib-entry.S new file: stub/src/powerpc64-darwin.macho-entry.S new file: stub/src/powerpc64-darwin.macho-fold.S new file: stub/src/powerpc64-darwin.macho-main.c new file: stub/src/powerpc64-linux.elf-entry.S new file: stub/src/powerpc64-linux.elf-fold.S new file: stub/src/powerpc64-linux.elf-fold.lds new file: stub/src/powerpc64-linux.elf-main.c modified: stub/src/powerpc64le-linux.elf-entry.S modified: stub/src/powerpc64le-linux.elf-fold.S modified: stub/src/powerpc64le-linux.elf-main.c modified: stub/tmp/powerpc64le-linux.elf-entry.bin.dump modified: stub/tmp/powerpc64le-linux.elf-fold.map
This commit is contained in:
@@ -372,6 +372,18 @@ protected:
|
||||
}
|
||||
};
|
||||
|
||||
class PackLinuxElf64Be : public PackLinuxElf64
|
||||
{
|
||||
typedef PackLinuxElf64 super;
|
||||
protected:
|
||||
PackLinuxElf64Be(InputFile *f) : super(f) {
|
||||
lg2_page=16;
|
||||
page_size=1u<<lg2_page;
|
||||
bele = &N_BELE_RTP::be_policy;
|
||||
PackLinuxElf64help1(f);
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// linux/elf64amd
|
||||
@@ -460,6 +472,26 @@ protected:
|
||||
};
|
||||
|
||||
|
||||
class PackLinuxElf64ppc : public PackLinuxElf64Be
|
||||
{
|
||||
typedef PackLinuxElf64Be super;
|
||||
public:
|
||||
PackLinuxElf64ppc(InputFile *f);
|
||||
virtual ~PackLinuxElf64ppc();
|
||||
virtual int getFormat() const { return UPX_F_LINUX_ELFPPC64; }
|
||||
virtual const char *getName() const { return "linux/ppc64"; }
|
||||
virtual const char *getFullName(const options_t *) const { return "powerpc64-linux.elf"; }
|
||||
virtual const int *getFilters() const;
|
||||
protected:
|
||||
unsigned lg2_page; // log2(PAGE_SIZE)
|
||||
unsigned page_size; // 1u<<lg2_page
|
||||
virtual bool canPack();
|
||||
virtual void pack1(OutputFile *, Filter &); // generate executable header
|
||||
virtual void buildLoader(const Filter *);
|
||||
virtual Linker* newLinker() const;
|
||||
};
|
||||
|
||||
|
||||
/*************************************************************************
|
||||
// linux/elf386
|
||||
**************************************************************************/
|
||||
|
||||
Reference in New Issue
Block a user