PowerPC64: stub uses new strategy

Needed: expert on TOC for big-endian.  glibc, musl, gcc disagree
on layout (is the .func first?) and usage for .e_entry.
	modified:   p_lx_elf.cpp
	modified:   stub/src/amd64-linux.elf-main.c
	modified:   stub/src/amd64-linux.elf-fold.S
	modified:   stub/src/arch/powerpc/64le/ppc_regs.h
	modified:   stub/src/i386-linux.elf-main.c
	modified:   stub/src/powerpc-linux.elf-entry.S
	modified:   stub/src/powerpc-linux.elf-fold.S
	modified:   stub/src/powerpc64le-darwin.dylib-entry.S
	modified:   stub/src/powerpc64le-darwin.macho-entry.S
	modified:   stub/src/powerpc64le-linux.elf-entry.S
	modified:   stub/src/powerpc64le-linux.elf-fold.S
	modified:   stub/Makefile
	also .h, .bin.dump, .map
This commit is contained in:
John Reiser
2017-10-07 13:43:12 -07:00
parent 7f905724b1
commit b37bc99330
28 changed files with 1542 additions and 1478 deletions
+3 -3
View File
@@ -32,8 +32,8 @@
#define STUB_POWERPC64LE_DARWIN_MACHO_ENTRY_SIZE 10439
#define STUB_POWERPC64LE_DARWIN_MACHO_ENTRY_ADLER32 0xea83a5d4
#define STUB_POWERPC64LE_DARWIN_MACHO_ENTRY_CRC32 0xca01d03a
#define STUB_POWERPC64LE_DARWIN_MACHO_ENTRY_ADLER32 0x7914a5b4
#define STUB_POWERPC64LE_DARWIN_MACHO_ENTRY_CRC32 0x5e59d09e
unsigned char stub_powerpc64le_darwin_macho_entry[10439] = {
/* 0x0000 */ 127, 69, 76, 70, 2, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -503,7 +503,7 @@ unsigned char stub_powerpc64le_darwin_macho_entry[10439] = {
/* 0x1d00 */ 12, 0,139,128,166, 3,137,124, 8, 0,203,128, 16, 0,235,136,
/* 0x1d10 */ 20, 90,164,124, 20, 0,165, 56, 20, 90,102,124,192, 0, 99, 56,
/* 0x1d20 */ 255,255, 5,140,255,255, 3,156,248,255, 32, 67,166, 3,233,127,
/* 0x1d30 */ 128, 0,171, 56,248,255,193,248,248,255,193, 56,145,255, 33,248,
/* 0x1d30 */ 128, 0,171, 56,248,255,193,248,248,255,193, 56,113,255, 33,248,
/* 0x1d40 */ 32, 4,128, 78,166, 2,232,127,181,255,255, 75,128, 0, 0, 72,
/* 0x1d50 */ 0, 0, 0, 0,102,105,108,101, 32,102,111,114,109, 97,116, 32,
/* 0x1d60 */ 101,108,102, 54, 52, 45,112,111,119,101,114,112, 99,108,101, 10,