brintos

brintos / llvm-project-archived public Read only

0
0
Text · 3.7 KiB · d0f7a3f Raw
215 lines · plain
1.section .text2.set noreorder3 4.hidden __tsan_setjmp5.comm _ZN14__interception11real_setjmpE,8,86.globl setjmp7.type setjmp, @function8setjmp:9 10  // save env parameters11  daddiu $sp,$sp,-4012  sd $s0,32($sp)13  sd $ra,24($sp)14  sd $fp,16($sp)15  sd $gp,8($sp)16 17  // calculate and save pointer to GOT18  lui $gp,%hi(%neg(%gp_rel(setjmp)))19  daddu $gp,$gp,$t920  daddiu $gp,$gp,%lo(%neg(%gp_rel(setjmp)))21  move $s0,$gp22 23  // save jmp_buf24  sd $a0,0($sp)25 26  // obtain $sp27  dadd $a0,$zero,$sp28 29  // call tsan interceptor30  jal __tsan_setjmp31  daddiu $a1,$a0,4032 33  // restore jmp_buf34  ld $a0,0($sp)35 36  // restore gp37  move $gp,$s038 39  // load pointer of libc setjmp to t940  dla $t9,(_ZN14__interception11real_setjmpE) 41 42  // restore env parameters43  ld $gp,8($sp)44  ld $fp,16($sp)45  ld $ra,24($sp)46  ld $s0,32($sp)47  daddiu $sp,$sp,4048 49  // tail jump to libc setjmp50  ld $t9,0($t9)51  jr $t952  nop53 54.size setjmp, .-setjmp55 56.hidden __tsan_setjmp57.globl _setjmp58.comm _ZN14__interception12real__setjmpE,8,859.type _setjmp, @function60_setjmp:61 62  // Save env parameters63  daddiu $sp,$sp,-4064  sd $s0,32($sp)65  sd $ra,24($sp)66  sd $fp,16($sp)67  sd $gp,8($sp)68 69  // calculate and save pointer to GOT70  lui $gp,%hi(%neg(%gp_rel(_setjmp)))71  daddu $gp,$gp,$t972  daddiu $gp,$gp,%lo(%neg(%gp_rel(_setjmp)))73  move $s0,$gp74 75  // save jmp_buf76  sd $a0,0($sp)77 78  // obtain $sp79  dadd $a0,$zero,$sp80 81  // call tsan interceptor82  jal __tsan_setjmp83  daddiu $a1,$a0,4084 85  // restore jmp_buf86  ld $a0,0($sp)87 88  // restore gp89  move $gp,$s090 91  // load pointer of libc _setjmp to t992  dla $t9,(_ZN14__interception12real__setjmpE)93 94  // restore env parameters95  ld $gp,8($sp)96  ld $fp,16($sp)97  ld $ra,24($sp)98  ld $s0,32($sp)99  daddiu $sp,$sp,40100 101  // tail jump to libc _setjmp102  ld $t9,0($t9)103  jr $t9104  nop105 106.size _setjmp, .-_setjmp107 108.hidden __tsan_setjmp109.globl sigsetjmp110.comm _ZN14__interception14real_sigsetjmpE,8,8111.type sigsetjmp, @function112sigsetjmp:113 114  // Save env parameters115  daddiu $sp,$sp,-48116  sd $s0,40($sp)117  sd $ra,32($sp)118  sd $fp,24($sp)119  sd $gp,16($sp)120 121  // calculate and save pointer to GOT122  lui $gp,%hi(%neg(%gp_rel(sigsetjmp)))123  daddu $gp,$gp,$t9124  daddiu $gp,$gp,%lo(%neg(%gp_rel(sigsetjmp)))125  move $s0,$gp126 127  // save jmp_buf and savesig128  sd $a0,0($sp)129  sd $a1,8($sp)130 131  // obtain $sp132  dadd $a0,$zero,$sp133 134  // call tsan interceptor135  jal __tsan_setjmp136  daddiu $a1,$a0,48137 138  // restore jmp_buf and savesig139  ld $a0,0($sp)140  ld $a1,8($sp)141 142  // restore gp143  move $gp,$s0144 145  // load pointer of libc sigsetjmp to t9146  dla $t9,(_ZN14__interception14real_sigsetjmpE) 147 148  // restore env parameters149  ld $gp,16($sp)150  ld $fp,24($sp)151  ld $ra,32($sp)152  ld $s0,40($sp)153  daddiu $sp,$sp,48154 155  // tail jump to libc sigsetjmp156  ld $t9,0($t9)157  jr $t9158  nop159 160.size sigsetjmp, .-sigsetjmp161 162.hidden __tsan_setjmp163.comm _ZN14__interception16real___sigsetjmpE,8,8164.globl __sigsetjmp165.type __sigsetjmp, @function166__sigsetjmp:167 168  // Save env parameters169  daddiu $sp,$sp,-48170  sd $s0,40($sp)171  sd $ra,32($sp)172  sd $fp,24($sp)173  sd $gp,16($sp)174 175  // calculate and save pointer to GOT176  lui $gp,%hi(%neg(%gp_rel(__sigsetjmp)))177  daddu $gp,$gp,$t9178  daddiu $gp,$gp,%lo(%neg(%gp_rel(__sigsetjmp)))179  move $s0,$gp180 181  // save jmp_buf and savesig182  sd $a0,0($sp)183  sd $a1,8($sp)184 185  // obtain $sp186  dadd $a0,$zero,$sp187 188  // call tsan interceptor189  jal __tsan_setjmp190  daddiu $a1,$a0,48191 192  // restore jmp_buf and savesig193  ld $a0,0($sp)194  ld $a1,8($sp)195 196  // restore gp197  move $gp,$s0198 199  // load pointer to libc __sigsetjmp in t9200  dla $t9,(_ZN14__interception16real___sigsetjmpE)201 202  // restore env parameters203  ld $gp,16($sp)204  ld $fp,24($sp)205  ld $ra,32($sp)206  ld $s0,40($sp)207  daddiu $sp,$sp,48208 209  // tail jump to libc __sigsetjmp210  ld $t9,0($t9)211  jr $t9212  nop213 214.size __sigsetjmp, .-__sigsetjmp215