This commit is contained in:
geriamdegtine 2025-05-31 14:48:25 -06:00 committed by GitHub
commit a4e9d8e736
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 6 additions and 6 deletions

View file

@ -33,7 +33,7 @@ privileged void __morph_tls(void) {
// 64 48 8b 0R4 25 00 00 00 00 mov %fs:0,%R // 64 48 8b 0R4 25 00 00 00 00 mov %fs:0,%R
// 64 48 03 0R4 25 00 00 00 00 add %fs:0,%R // 64 48 03 0R4 25 00 00 00 00 add %fs:0,%R
// //
// Which on Mac we can replace with this: // Which on Mac we can replace with this with fixupobj:
// //
// 65 48 8b 0R4 25 30 00 00 00 mov %gs:0x30,%R // 65 48 8b 0R4 25 30 00 00 00 mov %gs:0x30,%R
// //
@ -82,8 +82,8 @@ privileged void __morph_tls(void) {
// (0213 == p[2] || // mov reg/mem → reg (word-sized) // (0213 == p[2] || // mov reg/mem → reg (word-sized)
// 0003 == p[2]) && // add reg/mem → reg (word-sized) // 0003 == p[2]) && // add reg/mem → reg (word-sized)
// 0004 == (p[3] & 0307) && // mod/rm (4,reg,0) means sib → reg // 0004 == (p[3] & 0307) && // mod/rm (4,reg,0) means sib → reg
// 0x30 == p[4] && // sib (5,4,0) → (rbp,rsp,0) → disp32 // 0045 == p[4] && // sib (5,4,0) → (rbp,rsp,0) → disp32
// 0000 == p[5] && // displacement (von Neumann endian) // 0x30 == p[5] && // displacement (von Neumann endian)
// 0000 == p[6] && // displacement // 0000 == p[6] && // displacement
// 0000 == p[7] && // displacement // 0000 == p[7] && // displacement
// 0000 == p[8] // displacement // 0000 == p[8] // displacement
@ -131,8 +131,8 @@ privileged void __morph_tls(void) {
// (0213 == p[2] || // mov reg/mem → reg (word-sized) // (0213 == p[2] || // mov reg/mem → reg (word-sized)
// 0003 == p[2]) && // add reg/mem → reg (word-sized) // 0003 == p[2]) && // add reg/mem → reg (word-sized)
// 0004 == (p[3] & 0307) && // mod/rm (4,reg,0) means sib → reg // 0004 == (p[3] & 0307) && // mod/rm (4,reg,0) means sib → reg
// 0x30 == p[4] && // sib (5,4,0) → (rbp,rsp,0) → disp32 // 0045 == p[4] && // sib (5,4,0) → (rbp,rsp,0) → disp32
// 0000 == p[5] && // displacement (von Neumann endian) // 0x30 == p[5] && // displacement (von Neumann endian)
// 0000 == p[6] && // displacement // 0000 == p[6] && // displacement
// 0000 == p[7] && // displacement // 0000 == p[7] && // displacement
// 0000 == p[8] // displacement // 0000 == p[8] // displacement

View file

@ -54,7 +54,7 @@
(__extension__({ \ (__extension__({ \
uint64_t __x; \ uint64_t __x; \
__builtin_memcpy(&__x, P, 64 / 8); \ __builtin_memcpy(&__x, P, 64 / 8); \
__SWAPLE32(__x); \ __SWAPLE64(__x); \
})) }))
#define READ64BE(P) \ #define READ64BE(P) \