ObjFW  Check-in [01d06c0f5d]

Overview
Comment:Obfuscate tagged pointers on ARM64/ELF
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | tagged-pointers
Files: files | file ages | folders
SHA3-256: 01d06c0f5d7c6e9902a396b7f9347c8204b8a5e93e59b17f8a88aa4039943de3
User & Date: js on 2020-07-18 12:54:58
Other Links: branch diff | manifest | tags
Context
2020-07-18
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
2020-07-14
23:43
Obfuscate tagged pointers on MIPS64/ELF check-in: f073f79c09 user: js tags: tagged-pointers
Changes

Modified src/runtime/lookup-asm/lookup-asm-arm64-elf.S from [ff623479ef] to [a8a0a8247a].

47
48
49
50
51
52
53




54
55
56
57
58
59
60

	cbz	x2, \not_found

	mov	x0, x2
	ret

.Ltagged_pointer_\name:




	and	x0, x0, #0xE
	lsl	x0, x0, #2

	adrp	x2, :got:objc_tagged_pointer_classes
	ldr	x2, [x2, #:got_lo12:objc_tagged_pointer_classes]
	ldr	x2, [x2, x0]
	ldr	x2, [x2, #64]







>
>
>
>







47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64

	cbz	x2, \not_found

	mov	x0, x2
	ret

.Ltagged_pointer_\name:
	adrp	x2, :got:objc_tagged_pointer_secret
	ldr	x2, [x2, #:got_lo12:objc_tagged_pointer_secret]
	ldr	x2, [x2]
	eor	x0, x0, x2
	and	x0, x0, #0xE
	lsl	x0, x0, #2

	adrp	x2, :got:objc_tagged_pointer_classes
	ldr	x2, [x2, #:got_lo12:objc_tagged_pointer_classes]
	ldr	x2, [x2, x0]
	ldr	x2, [x2, #64]