Skip to content

Commit 3f97160

Browse files
committed
Port to 4.92
1 parent 05248f2 commit 3f97160

File tree

3 files changed

+505
-6
lines changed

3 files changed

+505
-6
lines changed

8.5/4.92/EVILNAT/PEX/SRC/lv2/include/lv2/patch.h

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -39,11 +39,14 @@
3939
#define SP 1
4040
#define RTOC 2
4141

42-
#define MAKE_JUMP(addr, to) *(uint32_t *)(addr) = (0x12 << 26) | ((((to-(uint64_t)(addr))>>2)&0xFFFFFF) << 2)
43-
#define MAKE_CALL(addr, to) *(uint32_t *)(addr) = (0x12 << 26) | ((((to-(uint64_t)(addr))>>2)&0xffffff) << 2) | 1
42+
#define MAKE_JUMP(addr, to) *(uint32_t *)(addr) = (0x12 << 26) | (((((to)-(uint64_t)(addr))>>2)&0xFFFFFF) << 2)
43+
#define MAKE_CALL(addr, to) *(uint32_t *)(addr) = (0x12 << 26) | (((((to)-(uint64_t)(addr))>>2)&0xffffff) << 2) | 1
4444

45-
#define MAKE_JUMP_VALUE(addr, to) ((0x12 << 26) | ((((to-(uint64_t)(addr))>>2)&0xFFFFFF) << 2))
46-
#define MAKE_CALL_VALUE(addr, to) ((0x12 << 26) | ((((to-(uint64_t)(addr))>>2)&0xFFFFFF) << 2)) | 1
45+
#define MAKE_JUMP_VALUE(addr, to) ((0x12 << 26) | (((((to)-(uint64_t)(addr))>>2)&0xFFFFFF) << 2))
46+
#define MAKE_CALL_VALUE(addr, to) ((0x12 << 26) | (((((to)-(uint64_t)(addr))>>2)&0xFFFFFF) << 2)) | 1
47+
48+
#define READ_JUMP_OFFSET(value) ((int32_t)(((value) & 0x03FFFFFC) << 6) >> 6)
49+
#define READ_CALL_OFFSET(value) ((int32_t)((((value) & ~1) & 0x03FFFFFC) << 6) >> 6)
4750

4851
#define B(A) MAKE_JUMP_VALUE(0, A)
4952
#define BL(A) MAKE_CALL_VALUE(0, A)

8.5/4.92/EVILNAT/PEX/SRC/stage2/common.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,8 @@
1212

1313
#undef printf
1414
#define printf _debug_printf
15-
#define DPRINTF _debug_printf
15+
#define DPRINTF(...)
16+
#define DPRINTF2 _debug_printf
1617
#define DPRINT_HEX debug_print_hex
1718
#define DPRINT_HEX_C debug_print_hex_c
1819

@@ -120,6 +121,7 @@ static INLINE void dump_stack_trace4(uint64_t *stack, unsigned int n)
120121
#define fatal(s) { while(1); }
121122
#define printf(...)
122123
#define DPRINTF(...)
124+
#define DPRINTF2(...)
123125
#define DPRINT_HEX(b, s)
124126
#define DPRINT_HEX_C(b, s)
125127
#define dump_stack_trace(n)

0 commit comments

Comments
 (0)