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
+10 -10
View File
@@ -8,7 +8,7 @@ Linker script and memory map
0x00000000001000bc . = ((0x100000 + SIZEOF_HEADERS) + 0xc)
.text 0x00000000001000bc 0x740
.text 0x00000000001000bc 0x768
*(.text)
.text 0x00000000001000bc 0x18e tmp/amd64-linux.elf-fold.o
0x000000000010023a munmap
@@ -21,20 +21,20 @@ Linker script and memory map
0x000000000010023e mprotect
0x0000000000100232 close
*fill* 0x000000000010024a 0x2 00
.text 0x000000000010024c 0x5ae tmp/amd64-linux.elf-main.o
0x00000000001006b7 upx_main
.text 0x000000000010024c 0x5d5 tmp/amd64-linux.elf-main.o
0x00000000001006e0 upx_main
*(.data)
*fill* 0x00000000001007fa 0x2 00
.data 0x00000000001007fc 0x0 tmp/amd64-linux.elf-fold.o
.data 0x00000000001007fc 0x0 tmp/amd64-linux.elf-main.o
*fill* 0x0000000000100821 0x3 00
.data 0x0000000000100824 0x0 tmp/amd64-linux.elf-fold.o
.data 0x0000000000100824 0x0 tmp/amd64-linux.elf-main.o
.data
.bss 0x00000000001007fc 0x0
.bss 0x00000000001007fc 0x0 tmp/amd64-linux.elf-fold.o
.bss 0x00000000001007fc 0x0 tmp/amd64-linux.elf-main.o
.bss 0x0000000000100824 0x0
.bss 0x0000000000100824 0x0 tmp/amd64-linux.elf-fold.o
.bss 0x0000000000100824 0x0 tmp/amd64-linux.elf-main.o
.rela.dyn 0x0000000000100800 0x0
.rela.dyn 0x0000000000100828 0x0
.rela.text 0x0000000000000000 0x0 tmp/amd64-linux.elf-fold.o
LOAD tmp/amd64-linux.elf-fold.o
LOAD tmp/amd64-linux.elf-main.o