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
@@ -14,11 +14,10 @@ Idx Name Size VMA LMA File off Algn
9 NRV_TAIL 0000001c 0000000000000000 0000000000000000 00001cbc 2**0 CONTENTS, READONLY
10 CFLUSH 00000024 0000000000000000 0000000000000000 00001cd8 2**0 CONTENTS, READONLY
11 ELFMAINY 00000012 0000000000000000 0000000000000000 00001cfc 2**0 CONTENTS, RELOC, READONLY
12 ELFMAINZ 00000248 0000000000000000 0000000000000000 00001d10 2**2 CONTENTS, RELOC, READONLY
12 ELFMAINZ 000001f8 0000000000000000 0000000000000000 00001d10 2**2 CONTENTS, RELOC, READONLY
SYMBOL TABLE:
0000000000000000 l d LZMA_DEC30 0000000000000000 LZMA_DEC30
0000000000000000 l d NRV_TAIL 0000000000000000 NRV_TAIL
0000000000000000 l d ELFMAINY 0000000000000000 ELFMAINY
0000000000000000 l d ELFMAINZ 0000000000000000 ELFMAINZ
0000000000000000 l d ELFMAINX 0000000000000000 ELFMAINX
0000000000000000 l d NRV_HEAD 0000000000000000 NRV_HEAD
@@ -29,12 +28,13 @@ SYMBOL TABLE:
0000000000000000 l d LZMA_DEC10 0000000000000000 LZMA_DEC10
0000000000000000 l d LZMA_DEC20 0000000000000000 LZMA_DEC20
0000000000000000 l d CFLUSH 0000000000000000 CFLUSH
0000000000000000 l d ELFMAINY 0000000000000000 ELFMAINY
0000000000000000 g ELFMAINX 0000000000000000 _start
0000000000000000 *UND* 0000000000000000 O_BINFO
RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE
0000000000000000 R_PPC64_REL24 ELFMAINZ+0x000000000000018c
0000000000000000 R_PPC64_REL24 ELFMAINZ+0x000000000000013c
RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE
@@ -58,6 +58,4 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE
0000000000000074 R_PPC64_REL14 ELFMAINY
00000000000000f8 R_PPC64_REL14 ELFMAINY
0000000000000244 R_PPC64_ADDR32 O_BINFO
00000000000001f4 R_PPC64_ADDR32 O_BINFO