1
0
mirror of https://github.com/upx/upx synced 2025-09-28 19:06:07 +08:00

Macho" begin catch-up to ELF by defining labels eof_n2*

modified:   stub/src/amd64-darwin.macho-entry.S
	modified:   stub/amd64-darwin.macho-entry.h
	modified:   stub/tmp/amd64-darwin.macho-entry.bin.dump
This commit is contained in:
John Reiser 2024-07-31 18:57:12 -07:00
parent ca33d66816
commit 7e75491e88
3 changed files with 593 additions and 598 deletions

File diff suppressed because it is too large Load Diff

View File

@ -98,7 +98,7 @@ SYS_open = 5 + SYSBASE
//0: .word -0b + l_info
section MACHMAINX
_start: .globl _start
//// int3
int3
call main // push &f_exp
section MACH_UNC
@ -220,7 +220,15 @@ setup:
/* NRV_TAIL is empty */
section MACHMAINY
eof_lzma:
mov $0x1234,%ecx; jmp eof
eof_n2b:
eof_n2d:
eof_n2e:
mov $0x5678,%ecx; jmp eof
eof:
int3
pop %rcx // &input_eof
movq %rsi,%rax; subq %rcx,%rax // src -= eof; // return 0: good; else: bad
pop %rdx; subq %rdx,%rdi // dst -= original dst

View File

@ -3,22 +3,23 @@ file format elf64-x86-64
Sections:
Idx Name Size VMA LMA File off Algn Flags
0 AMD64BXX 04c 0 0 040 2**0 CONTENTS
1 MACHMAINX 05 0 0 08c 2**0 CONTENTS
2 MACH_UNC 0b 0 0 091 2**0 CONTENTS
3 NRV_HEAD 067 0 0 09c 2**0 CONTENTS
4 NRV2E 0ba 0 0 0103 2**0 CONTENTS
5 NRV2D 0a1 0 0 01bd 2**0 CONTENTS
6 NRV2B 093 0 0 025e 2**0 CONTENTS
7 LZMA_ELF00 065 0 0 02f1 2**0 CONTENTS
8 LZMA_DEC10 09f7 0 0 0356 2**0 CONTENTS
9 LZMA_DEC20 09f7 0 0 0d4d 2**0 CONTENTS
10 LZMA_DEC30 01b 0 0 01744 2**0 CONTENTS
11 NRV_TAIL 0 0 0 0175f 2**0 CONTENTS
12 MACHMAINY 011 0 0 0175f 2**0 CONTENTS
13 MACHMAINZ 0135 0 0 01770 2**0 CONTENTS
1 MACHMAINX 06 0 0 08c 2**0 CONTENTS
2 MACH_UNC 0b 0 0 092 2**0 CONTENTS
3 NRV_HEAD 067 0 0 09d 2**0 CONTENTS
4 NRV2E 0ba 0 0 0104 2**0 CONTENTS
5 NRV2D 0a1 0 0 01be 2**0 CONTENTS
6 NRV2B 093 0 0 025f 2**0 CONTENTS
7 LZMA_ELF00 065 0 0 02f2 2**0 CONTENTS
8 LZMA_DEC10 09f7 0 0 0357 2**0 CONTENTS
9 LZMA_DEC20 09f7 0 0 0d4e 2**0 CONTENTS
10 LZMA_DEC30 01b 0 0 01745 2**0 CONTENTS
11 NRV_TAIL 0 0 0 01760 2**0 CONTENTS
12 MACHMAINY 020 0 0 01760 2**0 CONTENTS
13 MACHMAINZ 0135 0 0 01780 2**0 CONTENTS
SYMBOL TABLE:
0000000000000000 l d NRV_HEAD 0 NRV_HEAD
0000000000000000 l d LZMA_DEC30 0 LZMA_DEC30
0000000000000000 l d MACHMAINY 0 MACHMAINY
0000000000000000 l d MACHMAINZ 0 MACHMAINZ
0000000000000000 l d AMD64BXX 0 AMD64BXX
0000000000000000 l d MACHMAINX 0 MACHMAINX
@ -30,32 +31,27 @@ SYMBOL TABLE:
0000000000000000 l d LZMA_DEC10 0 LZMA_DEC10
0000000000000000 l d LZMA_DEC20 0 LZMA_DEC20
0000000000000000 l d NRV_TAIL 0 NRV_TAIL
0000000000000000 l d MACHMAINY 0 MACHMAINY
0000000000000000 g MACHMAINX 0 _start
0000000000000000 *UND* 0 eof_n2e
0000000000000000 *UND* 0 eof_n2d
0000000000000000 *UND* 0 eof_n2b
0000000000000000 *UND* 0 eof_lzma
0000000000000011 g MACHMAINY 0 end_decompress
0000000000000020 g MACHMAINY 0 end_decompress
RELOCATION RECORDS FOR [MACHMAINX]:
OFFSET TYPE VALUE
0000000000000001 R_X86_64_PC32 MACHMAINZ+0x00000000000000c8
0000000000000002 R_X86_64_PC32 MACHMAINZ+0x00000000000000c8
RELOCATION RECORDS FOR [NRV2E]:
OFFSET TYPE VALUE
00000000000000af R_X86_64_PC32 NRV_HEAD+0x0000000000000021
000000000000005c R_X86_64_PC32 eof_n2e+0xfffffffffffffffc
000000000000005c R_X86_64_PC32 MACHMAINY+0x0000000000000003
RELOCATION RECORDS FOR [NRV2D]:
OFFSET TYPE VALUE
0000000000000096 R_X86_64_PC32 NRV_HEAD+0x0000000000000021
000000000000005c R_X86_64_PC32 eof_n2d+0xfffffffffffffffc
000000000000005c R_X86_64_PC32 MACHMAINY+0x0000000000000003
RELOCATION RECORDS FOR [NRV2B]:
OFFSET TYPE VALUE
000000000000008b R_X86_64_PC32 NRV_HEAD+0x0000000000000021
0000000000000053 R_X86_64_PC32 eof_n2b+0xfffffffffffffffc
0000000000000053 R_X86_64_PC32 MACHMAINY+0x0000000000000003
RELOCATION RECORDS FOR [LZMA_ELF00]:
OFFSET TYPE VALUE
@ -63,7 +59,7 @@ OFFSET TYPE VALUE
RELOCATION RECORDS FOR [LZMA_DEC30]:
OFFSET TYPE VALUE
0000000000000015 R_X86_64_PC32 eof_lzma+0xfffffffffffffffc
0000000000000015 R_X86_64_PC32 MACHMAINY+0xfffffffffffffffc
RELOCATION RECORDS FOR [MACHMAINZ]:
OFFSET TYPE VALUE