Merge branch 'jreiser' into devel

O_BINFO simplifies stubs on linux Elf;
PowerPC64 (big endian: Apple Macintosh G5) and PowerPC* cleanup;
-fpie simplification; shlib for arm64, amd64.

A big merge due to suspending activity on 'devel' branch
during stabilization for release of UPX-3.94.
There were intermediate merges with private branch 'jreiser',
and attempted rebase onto 'devel' did not go well.
Verfication of cases ({ET_EXEC, -fpie, shlib} x {$ARCH}) is in progress.

	modified:   ../.github/travis_testsuite_1.sh
	modified:   conf.h
	modified:   linker.cpp
	modified:   linker.h
	modified:   p_lx_elf.cpp
	modified:   p_lx_elf.h
	modified:   p_mach.cpp
	modified:   p_mach.h
	modified:   p_mach_enum.h
	modified:   packmast.cpp
	modified:   stub/Makefile
	modified:   stub/scripts/xstrip.py

	modified:   stub/src/amd64-darwin.dylib-entry.S
	modified:   stub/src/amd64-darwin.macho-entry.S
	modified:   stub/src/amd64-linux.elf-entry.S
	modified:   stub/src/amd64-linux.elf-fold.S
	modified:   stub/src/amd64-linux.elf-main.c
	modified:   stub/src/arch/powerpc/32/bxx.S
	modified:   stub/src/arch/powerpc/32/lzma_d.S
	modified:   stub/src/arch/powerpc/32/nrv2b_d.S
	modified:   stub/src/arch/powerpc/32/nrv2d_d.S
	modified:   stub/src/arch/powerpc/32/nrv2e_d.S
	modified:   stub/src/arch/powerpc/32/ppc_regs.h
	new file:   stub/src/arch/powerpc/64/Makefile
	new file:   stub/src/arch/powerpc/64/Makefile.extra
	new file:   stub/src/arch/powerpc/64/bxx.S
	new file:   stub/src/arch/powerpc/64/lzma_d.S
	new file:   stub/src/arch/powerpc/64/lzma_d_cf.S
	new file:   stub/src/arch/powerpc/64/lzma_d_cs.S
	new file:   stub/src/arch/powerpc/64/macros.S
	new file:   stub/src/arch/powerpc/64/nrv2b_d.S
	new file:   stub/src/arch/powerpc/64/nrv2d_d.S
	new file:   stub/src/arch/powerpc/64/nrv2e_d.S
	new file:   stub/src/arch/powerpc/64/ppc_regs.h
	modified:   stub/src/arch/powerpc/64le/bxx.S
	copied:     stub/src/arch/powerpc/64le/lzma_d.S -> stub/src/arch/powerpc/64le/lzma_d-common.S
	modified:   stub/src/arch/powerpc/64le/lzma_d.S
	modified:   stub/src/arch/powerpc/64le/lzma_d_cs.S
	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
	modified:   stub/src/arch/powerpc/64le/ppc_regs.h
	modified:   stub/src/arm.v4a-linux.elf-entry.S
	modified:   stub/src/arm.v4a-linux.elf-fold.S
	modified:   stub/src/arm64-darwin.macho-entry.S
	modified:   stub/src/arm64-linux.elf-entry.S
	modified:   stub/src/arm64-linux.elf-fold.S
	modified:   stub/src/arm64-linux.shlib-init.S
	modified:   stub/src/i386-bsd.elf-entry.S
	modified:   stub/src/i386-darwin.macho-entry.S
	modified:   stub/src/i386-linux.elf-entry.S
	modified:   stub/src/i386-linux.elf-fold.S
	modified:   stub/src/mipsel.r3000-linux.elf-entry.S
	modified:   stub/src/mipsel.r3000-linux.elf-fold.S
	modified:   stub/src/powerpc-darwin.dylib-entry.S
	modified:   stub/src/powerpc-darwin.macho-entry.S
	modified:   stub/src/powerpc-darwin.macho-fold.S
	modified:   stub/src/powerpc-linux.elf-entry.S
	modified:   stub/src/powerpc-linux.elf-fold.S
	modified:   stub/src/powerpc-linux.elf-main.c
	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/powerpc64-savegpr0.S
	modified:   stub/src/powerpc64le-darwin.dylib-entry.S
	modified:   stub/src/powerpc64le-darwin.macho-entry.S
	modified:   stub/src/powerpc64le-darwin.macho-fold.S
	modified:   stub/src/powerpc64le-linux.elf-entry.S
	modified:   stub/src/powerpc64le-linux.elf-fold.S
	modified:   stub/src/powerpc64le-linux.elf-main.c

	and most stub/*.h and stub/tmp/*.dump
This commit is contained in:
John Reiser
2017-06-05 11:32:25 -07:00
143 changed files with 22980 additions and 19952 deletions
@@ -0,0 +1,69 @@
file format elf64-powerpc
Sections:
Idx Name Size VMA LMA File off Algn Flags
0 ELFMAINX 00000004 0000000000000000 0000000000000000 00000040 2**0 CONTENTS, RELOC, READONLY
1 NRV_HEAD 00000000 0000000000000000 0000000000000000 00000044 2**0 CONTENTS, READONLY
2 NRV2E 00000154 0000000000000000 0000000000000000 00000044 2**0 CONTENTS, RELOC, READONLY
3 NRV2D 00000144 0000000000000000 0000000000000000 00000198 2**0 CONTENTS, RELOC, READONLY
4 NRV2B 000000f8 0000000000000000 0000000000000000 000002dc 2**0 CONTENTS, RELOC, READONLY
5 LZMA_ELF00 00000094 0000000000000000 0000000000000000 000003d4 2**0 CONTENTS, RELOC, READONLY
6 LZMA_DEC30 00000028 0000000000000000 0000000000000000 00000468 2**0 CONTENTS, READONLY
7 LZMA_DEC10 00001278 0000000000000000 0000000000000000 00000490 2**0 CONTENTS, READONLY
8 LZMA_DEC20 00001574 0000000000000000 0000000000000000 00001708 2**0 CONTENTS, READONLY
9 NRV_TAIL 0000001c 0000000000000000 0000000000000000 00002c7c 2**0 CONTENTS, READONLY
10 CFLUSH 00000024 0000000000000000 0000000000000000 00002c98 2**0 CONTENTS, READONLY
11 ELFMAINY 00000022 0000000000000000 0000000000000000 00002cbc 2**0 CONTENTS, RELOC, READONLY
12 ELFMAINZe 00000018 0000000000000000 0000000000000000 00002ce0 2**3 CONTENTS, RELOC, READONLY
13 ELFMAINZ 00000110 0000000000000000 0000000000000000 00002cf8 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
0000000000000000 l d NRV2E 0000000000000000 NRV2E
0000000000000000 l d NRV2D 0000000000000000 NRV2D
0000000000000000 l d NRV2B 0000000000000000 NRV2B
0000000000000000 l d LZMA_ELF00 0000000000000000 LZMA_ELF00
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 ELFMAINZe 0000000000000000 ELFMAINZe
0000000000000000 g ELFMAINX 0000000000000000 _start
0000000000000000 g ELFMAINZe 0000000000000000 entry_descr
0000000000000000 *UND* 0000000000000000 O_BINFO
RELOCATION RECORDS FOR [ELFMAINX]:
OFFSET TYPE VALUE
0000000000000000 R_PPC64_REL24 ELFMAINZ+0x0000000000000088
RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE
00000000000000c0 R_PPC64_REL14 NRV_TAIL
RELOCATION RECORDS FOR [NRV2D]:
OFFSET TYPE VALUE
00000000000000cc R_PPC64_REL14 NRV_TAIL
RELOCATION RECORDS FOR [NRV2B]:
OFFSET TYPE VALUE
0000000000000098 R_PPC64_REL14 NRV_TAIL
RELOCATION RECORDS FOR [LZMA_ELF00]:
OFFSET TYPE VALUE
0000000000000004 R_PPC64_REL14 LZMA_DEC30+0x0000000000000028
RELOCATION RECORDS FOR [ELFMAINY]:
OFFSET TYPE VALUE
0000000000000000 R_PPC64_REL24 ELFMAINZ
RELOCATION RECORDS FOR [ELFMAINZe]:
OFFSET TYPE VALUE
0000000000000000 R_PPC64_ADDR64 _start
RELOCATION RECORDS FOR [ELFMAINZ]:
OFFSET TYPE VALUE
0000000000000058 R_PPC64_REL14 ELFMAINY
000000000000010c R_PPC64_ADDR32 O_BINFO