Overview
Comment: | lookup-asm-mips-elf.S: Support PIC.
This also improves the check for the ABI. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
8108a32927ec50f84f80ac8958f89cea |
User & Date: | js on 2013-07-24 22:56:09 |
Other Links: | manifest | tags |
Context
2013-07-24
| ||
23:05 | Add forwardingTargetForSelector: for MIPS/ELF. check-in: f1416bbdc2 user: js tags: trunk | |
22:56 | lookup-asm-mips-elf.S: Support PIC. check-in: 8108a32927 user: js tags: trunk | |
11:49 | Improve documentation. check-in: 7e5de0a086 user: js tags: trunk | |
Changes
Modified src/runtime/lookup-asm-mips-elf.S from [fc34beda3a] to [b184c8be25].
︙ | ︙ | |||
54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | lw $t0, 0($t0) #endif addu $t0, $t0, $t2 lw $t0, 0($t0) addu $t0, $t0, $t3 lw $t0, 0($t0) beqz $t0, objc_not_found_handler move $v0, $t0 j $ra .type objc_msg_lookup, %function .size objc_msg_lookup, .-objc_msg_lookup objc_msg_lookup_super: lw $t0, 0($a0) beqz $t0, ret_nil lw $t0, 4($a0) lw $t0, 32($t0) b lookup .type objc_msg_lookup_super, %function .size objc_msg_lookup_super, .-objc_msg_lookup_super | > > > > > > > > > > > > > > > > > > > > > > > < < < < < | 54 55 56 57 58 59 60 61 62 63 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 105 106 107 108 | lw $t0, 0($t0) #endif addu $t0, $t0, $t2 lw $t0, 0($t0) addu $t0, $t0, $t3 lw $t0, 0($t0) #ifdef __PIC__ beqz $t0, forward #else beqz $t0, objc_not_found_handler #endif move $v0, $t0 j $ra ret_nil: #ifdef __PIC__ addiu $v0, $t9, nil_method-objc_msg_lookup #else la $v0, nil_method #endif j $ra #ifdef __PIC__ forward: lui $gp, %hi(_gp_disp) addiu $gp, $gp, %lo(_gp_disp) addu $gp, $gp, $t9 addiu $gp, $gp, forward-objc_msg_lookup lw $t9, %call16(objc_not_found_handler)($gp) jr $t9 #endif .type objc_msg_lookup, %function .size objc_msg_lookup, .-objc_msg_lookup objc_msg_lookup_super: lw $t0, 0($a0) beqz $t0, ret_nil lw $t0, 4($a0) lw $t0, 32($t0) b lookup .type objc_msg_lookup_super, %function .size objc_msg_lookup_super, .-objc_msg_lookup_super nil_method: move $v0, $zero j $ra #ifdef __linux__ .section .note.GNU-stack, "", %progbits #endif |
Modified src/runtime/lookup-asm.S from [948ecc5edb] to [07a7cb7488].
︙ | ︙ | |||
21 22 23 24 25 26 27 | # include "lookup-asm-amd64-elf.S" # elif defined(__i386__) # include "lookup-asm-x86-elf.S" # elif defined(__ppc__) || defined(__PPC__) # include "lookup-asm-ppc-elf.S" # elif defined(__arm__) || defined(__ARM__) # include "lookup-asm-arm-elf.S" | > | | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 | # include "lookup-asm-amd64-elf.S" # elif defined(__i386__) # include "lookup-asm-x86-elf.S" # elif defined(__ppc__) || defined(__PPC__) # include "lookup-asm-ppc-elf.S" # elif defined(__arm__) || defined(__ARM__) # include "lookup-asm-arm-elf.S" # elif (defined(_MIPS_SIM) && _MIPS_SIM == _ABIO32) || \ (defined(__mips_eabi) && _MIPS_SZPTR == 32) # include "lookup-asm-mips-elf.S" # endif #elif defined(__MACH__) # if defined(__amd64__) || defined(__x86_64__) # include "lookup-asm-amd64-macho.S" # endif #endif |
Modified src/runtime/runtime-private.h from [630ce5911a] to [a0b575feaf].
︙ | ︙ | |||
174 175 176 177 178 179 180 | #endif } #if defined(__ELF__) # if defined(__amd64__) || defined(__x86_64__) || defined(__i386__) || \ defined(__ppc__) || defined(__PPC__) || defined(__arm__) || defined(__ARM__) # define OF_ASM_LOOKUP | > > | | 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | #endif } #if defined(__ELF__) # if defined(__amd64__) || defined(__x86_64__) || defined(__i386__) || \ defined(__ppc__) || defined(__PPC__) || defined(__arm__) || defined(__ARM__) # define OF_ASM_LOOKUP # endif # if (defined(_MIPS_SIM) && _MIPS_SIM == _ABIO32) || \ (defined(__mips_eabi) && _MIPS_SZPTR == 32) # define OF_ASM_LOOKUP # endif #elif defined(__MACH__) # if defined(__amd64__) || defined(__x86_64__) # define OF_ASM_LOOKUP # endif #endif |
︙ | ︙ |