ObjFW  Check-in [86014b7cc2]

Overview
Comment:Obfuscate tagged pointers on MIPS/ELF
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | tagged-pointers
Files: files | file ages | folders
SHA3-256: 86014b7cc23a1218dd8ea5bf94df0fc4c8a86ed51c57c024a094ea140996b39b
User & Date: js on 2020-07-18 15:52:00
Other Links: branch diff | manifest | tags
Context
2020-07-18
22:54
Add objc_setTaggedPointerSecret() to Amiga linklib check-in: 5769ce64b3 user: js tags: tagged-pointers
15:52
Obfuscate tagged pointers on MIPS/ELF check-in: 86014b7cc2 user: js tags: tagged-pointers
12:54
Obfuscate tagged pointers on ARM64/ELF check-in: 01d06c0f5d user: js tags: tagged-pointers
Changes

Modified src/runtime/lookup-asm/lookup-asm-mips-elf.S from [32c90e7cde] to [87115a51c3].

90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106










107
108
109
110
111
112
113
90
91
92
93
94
95
96



97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120







-
-
-







+
+
+
+
+
+
+
+
+
+







	addiu	$gp, $gp, 1b-\name

	lw	$t9, %call16(\not_found)($gp)
	jr	$t9
#endif

.Ltagged_pointer_\name:
	and	$t0, $a0, 0xE
	sll	$t0, $t0, 1

#ifdef OF_PIC
0:
	lui	$gp, %hi(_gp_disp)
	addiu	$gp, $gp, %lo(_gp_disp)
	addu	$gp, $gp, $t9
	addiu	$gp, $gp, 0b-\name

	lw	$t0, %got(objc_tagged_pointer_secret)($gp)
#else
	la	$t0, objc_tagged_pointer_secret
#endif
	lw	$t0, 0($t0)
	xor	$t0, $a0, $t0
	and	$t0, $t0, 0xE
	sll	$t0, $t0, 1

#ifdef OF_PIC
	lw	$t1, %got(objc_tagged_pointer_classes)($gp)
#else
	la	$t1, objc_tagged_pointer_classes
#endif
	addu	$t0, $t1, $t0
	ld	$t0, ($t0)
	ld	$t0, 32($t0)