Overview
Comment: | Obfuscate tagged pointers on SPARC/ELF |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | tagged-pointers |
Files: | files | file ages | folders |
SHA3-256: |
55e786c88059b29dc676c9cf66f68ad5 |
User & Date: | js on 2020-07-12 15:17:46 |
Other Links: | branch diff | manifest | tags |
Context
2020-07-12
| ||
18:00 | Merge trunk into branch "tagged-pointers" check-in: aba47e526e user: js tags: tagged-pointers | |
15:17 | Obfuscate tagged pointers on SPARC/ELF check-in: 55e786c880 user: js tags: tagged-pointers | |
14:17 | Obfuscate tagged pointers on PowerPC/ELF check-in: eee832144e user: js tags: tagged-pointers | |
Changes
Modified src/runtime/lookup-asm/lookup-asm-sparc-elf.S from [e419c60c5d] to [77dbe58098].
︙ | ︙ | |||
64 65 66 67 68 69 70 | 0: mov %o7, %g1 call \not_found mov %g1, %o7 .Ltagged_pointer_\name: | < < < | | > | | > | | > > > > > | | > > | > | 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 | 0: mov %o7, %g1 call \not_found mov %g1, %o7 .Ltagged_pointer_\name: #ifdef OF_PIC mov %o7, %g1 sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %o3 call 0f or %o3, %lo(_GLOBAL_OFFSET_TABLE_+4), %o3 0: add %o7, %o3, %o3 mov %g1, %o7 #endif sethi %hi(objc_tagged_pointer_secret), %o2 or %o2, %lo(objc_tagged_pointer_secret), %o2 #ifdef OF_PIC ld [%o3 + %o2], %o2 #endif ld [%o2], %o2 xor %o0, %o2, %o0 and %o0, 0xE, %o0 sll %o0, 1, %o0 sethi %hi(objc_tagged_pointer_classes), %o2 or %o2, %lo(objc_tagged_pointer_classes), %o2 #ifdef OF_PIC ld [%o3 + %o2], %o2 #endif ld [%o2 + %o0], %o2 ba .Lmain_\name ld [%o2 + 32], %o2 .type \name, %function .size \name, .-\name .endm .macro generate_lookup_super name lookup |
︙ | ︙ | |||
114 115 116 117 118 119 120 | generate_lookup_super objc_msg_lookup_super objc_msg_lookup generate_lookup_super objc_msg_lookup_super_stret objc_msg_lookup_stret ret_nil: #ifdef OF_PIC mov %o7, %g1 | | | | 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 | generate_lookup_super objc_msg_lookup_super objc_msg_lookup generate_lookup_super objc_msg_lookup_super_stret objc_msg_lookup_stret ret_nil: #ifdef OF_PIC mov %o7, %g1 sethi %hi(_GLOBAL_OFFSET_TABLE_-4), %o1 call 0f add %o1, %lo(_GLOBAL_OFFSET_TABLE_+4), %o1 0: add %o7, %o1, %o1 sethi %hi(nil_method), %o0 or %o0, %lo(nil_method), %o0 jmpl %g1 + 8, %g0 |
︙ | ︙ |