Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- .text
- .abicalls
- .section .mdebug.abi64,"",@progbits
- .nan legacy
- .file "brooks/cheri_helloworld.c"
- .text
- .globl main
- .align 3
- .type main,@function
- .set nomicromips
- .set nomips16
- .ent main
- main: # @main
- .frame $fp,160,$ra
- .mask 0x00000000,0
- .fmask 0xd0030000,-4
- .set noreorder
- .set nomacro
- .set noat
- # BB#0: # %entry
- daddiu $sp, $sp, -160
- sd $ra, 152($sp) # 8-byte Folded Spill
- sd $fp, 144($sp) # 8-byte Folded Spill
- sd $gp, 136($sp) # 8-byte Folded Spill
- sd $17, 128($sp) # 8-byte Folded Spill
- sd $16, 120($sp) # 8-byte Folded Spill
- move $fp, $sp
- lui $1, %hi(%neg(%gp_rel(main)))
- daddu $1, $1, $25
- daddiu $gp, $1, %lo(%neg(%gp_rel(main)))
- ld $25, %call16(cheri_fd_new)($gp)
- daddiu $16, $fp, 32
- daddiu $4, $zero, 1
- jalr $25
- move $5, $16
- bltz $2, $BB0_7
- nop
- # BB#1: # %if.end
- ld $1, %got_page($.str1)($gp)
- ld $25, %call16(sandbox_class_new)($gp)
- daddiu $4, $1, %got_ofst($.str1)
- daddiu $6, $fp, 112
- jalr $25
- lui $5, 64
- bltz $2, $BB0_8
- nop
- # BB#2: # %if.end4
- ld $4, 112($fp)
- ld $25, %call16(sandbox_object_new)($gp)
- jalr $25
- daddiu $5, $fp, 104
- bltz $2, $BB0_9
- nop
- # BB#3: # %if.end8
- ld $4, 112($fp)
- ld $1, %got_page($.str4)($gp)
- ld $25, %call16(sandbox_class_method_declare)($gp)
- daddiu $6, $1, %got_ofst($.str4)
- jalr $25
- daddiu $5, $zero, 1
- ld $4, 112($fp)
- ld $1, %got_page($.str5)($gp)
- ld $25, %call16(sandbox_class_method_declare)($gp)
- daddiu $6, $1, %got_ofst($.str5)
- jalr $25
- daddiu $5, $zero, 2
- ld $4, 112($fp)
- ld $1, %got_page($.str6)($gp)
- ld $25, %call16(sandbox_class_method_declare)($gp)
- daddiu $6, $1, %got_ofst($.str6)
- jalr $25
- daddiu $5, $zero, 3
- ld $4, 104($fp)
- clc $c3, $16, 0($c0)
- daddiu $17, $16, 32
- clc $c4, $17, 0($c0)
- sd $zero, 8($sp)
- ld $25, %call16(sandbox_object_cinvoke)($gp)
- cfromptr $c5, $c0, $zero
- daddiu $5, $zero, 1
- daddiu $6, $zero, 0
- daddiu $7, $zero, 0
- daddiu $8, $zero, 0
- daddiu $9, $zero, 0
- daddiu $10, $zero, 0
- daddiu $11, $zero, 0
- sd $zero, 0($sp)
- cincbase $c6, $c5, $zero
- cincbase $c7, $c5, $zero
- cincbase $c8, $c5, $zero
- cincbase $c9, $c5, $zero
- jalr $25
- cincbase $c10, $c5, $zero
- lui $1, 2
- daddiu $1, $1, -7616
- bne $2, $1, $BB0_10
- nop
- # BB#4: # %cheri_helloworld.exit
- ld $4, 104($fp)
- clc $c3, $16, 0($c0)
- clc $c4, $17, 0($c0)
- sd $zero, 8($sp)
- ld $25, %call16(sandbox_object_cinvoke)($gp)
- cfromptr $c5, $c0, $zero
- daddiu $5, $zero, 2
- daddiu $6, $zero, 0
- daddiu $7, $zero, 0
- daddiu $8, $zero, 0
- daddiu $9, $zero, 0
- daddiu $10, $zero, 0
- daddiu $11, $zero, 0
- sd $zero, 0($sp)
- cincbase $c6, $c5, $zero
- cincbase $c7, $c5, $zero
- cincbase $c8, $c5, $zero
- cincbase $c9, $c5, $zero
- jalr $25
- cincbase $c10, $c5, $zero
- bltz $2, $BB0_11
- nop
- # BB#5: # %cheri_helloworld.exit14
- ld $4, 104($fp)
- clc $c3, $16, 0($c0)
- daddiu $17, $16, 32
- clc $c4, $17, 0($c0)
- sd $zero, 8($sp)
- ld $25, %call16(sandbox_object_cinvoke)($gp)
- cfromptr $c5, $c0, $zero
- daddiu $5, $zero, 3
- daddiu $6, $zero, 0
- daddiu $7, $zero, 0
- daddiu $8, $zero, 0
- daddiu $9, $zero, 0
- daddiu $10, $zero, 0
- daddiu $11, $zero, 0
- sd $zero, 0($sp)
- cincbase $c6, $c5, $zero
- cincbase $c7, $c5, $zero
- cincbase $c8, $c5, $zero
- cincbase $c9, $c5, $zero
- jalr $25
- cincbase $c10, $c5, $zero
- daddiu $1, $zero, 12
- bne $2, $1, $BB0_12
- nop
- # BB#6: # %cheri_helloworld.exit16
- ld $1, %got_disp(hello_object)($gp)
- ld $2, %got_disp(__cheri_method.hello_object.call_cheri_system_helloworld)($gp)
- ld $2, 0($2)
- clc $c1, $1, 0($c0)
- daddiu $1, $1, 32
- clc $c2, $1, 0($c0)
- cfromptr $c3, $c0, $zero
- ld $25, %call16(cheri_invoke)($gp)
- daddiu $4, $zero, 0
- daddiu $5, $zero, 0
- daddiu $6, $zero, 0
- daddiu $7, $zero, 0
- daddiu $8, $zero, 0
- daddiu $9, $zero, 0
- daddiu $10, $zero, 0
- daddiu $11, $zero, 0
- cincbase $c4, $c3, $zero
- cincbase $c5, $c3, $zero
- cincbase $c6, $c3, $zero
- cincbase $c7, $c3, $zero
- cincbase $c8, $c3, $zero
- cincbase $c9, $c3, $zero
- jalr $25
- cincbase $c10, $c3, $zero
- ld $25, %call16(sandbox_object_destroy)($gp)
- jalr $25
- ld $4, 104($fp)
- ld $25, %call16(sandbox_class_destroy)($gp)
- jalr $25
- ld $4, 112($fp)
- clc $c3, $16, 0($c0)
- clc $c4, $17, 0($c0)
- ld $25, %call16(cheri_fd_destroy)($gp)
- jalr $25
- nop
- addiu $2, $zero, 0
- move $sp, $fp
- ld $16, 120($sp) # 8-byte Folded Reload
- ld $17, 128($sp) # 8-byte Folded Reload
- ld $gp, 136($sp) # 8-byte Folded Reload
- ld $fp, 144($sp) # 8-byte Folded Reload
- ld $ra, 152($sp) # 8-byte Folded Reload
- jr $ra
- daddiu $sp, $sp, 160
- $BB0_7: # %if.then
- ld $1, %got_page($.str)($gp)
- daddiu $5, $1, %got_ofst($.str)
- ld $25, %call16(err)($gp)
- jalr $25
- daddiu $4, $zero, 72
- $BB0_8: # %if.then3
- ld $1, %got_page($.str2)($gp)
- daddiu $5, $1, %got_ofst($.str2)
- ld $25, %call16(err)($gp)
- jalr $25
- daddiu $4, $zero, 72
- $BB0_9: # %if.then7
- ld $1, %got_page($.str3)($gp)
- daddiu $5, $1, %got_ofst($.str3)
- ld $25, %call16(err)($gp)
- jalr $25
- daddiu $4, $zero, 72
- $BB0_10: # %cond.false.i
- ld $1, %got_page($__func__.cheri_helloworld)($gp)
- ld $2, %got_page($.str7)($gp)
- ld $3, %got_page($.str8)($gp)
- daddiu $4, $1, %got_ofst($__func__.cheri_helloworld)
- daddiu $5, $2, %got_ofst($.str7)
- daddiu $7, $3, %got_ofst($.str8)
- ld $25, %call16(__assert)($gp)
- jalr $25
- daddiu $6, $zero, 71
- $BB0_11: # %cond.false10.i
- ld $1, %got_page($__func__.cheri_helloworld)($gp)
- ld $2, %got_page($.str7)($gp)
- ld $3, %got_page($.str9)($gp)
- daddiu $4, $1, %got_ofst($__func__.cheri_helloworld)
- daddiu $5, $2, %got_ofst($.str7)
- daddiu $7, $3, %got_ofst($.str9)
- ld $25, %call16(__assert)($gp)
- jalr $25
- daddiu $6, $zero, 75
- $BB0_12: # %cond.false15.i
- ld $1, %got_page($__func__.cheri_helloworld)($gp)
- ld $2, %got_page($.str7)($gp)
- ld $3, %got_page($.str10)($gp)
- daddiu $4, $1, %got_ofst($__func__.cheri_helloworld)
- daddiu $5, $2, %got_ofst($.str7)
- daddiu $7, $3, %got_ofst($.str10)
- ld $25, %call16(__assert)($gp)
- jalr $25
- daddiu $6, $zero, 79
- .set at
- .set macro
- .set reorder
- .end main
- $tmp0:
- .size main, ($tmp0)-main
- .type $.str,@object # @.str
- .section .rodata.str1.1,"aMS",@progbits,1
- $.str:
- .asciz "cheri_fd_new: stdout"
- .size $.str, 21
- .type $.str1,@object # @.str1
- $.str1:
- .asciz "/usr/libexec/cheri_helloworld-helper"
- .size $.str1, 37
- .type $.str2,@object # @.str2
- $.str2:
- .asciz "sandbox_class_new"
- .size $.str2, 18
- .type $.str3,@object # @.str3
- $.str3:
- .asciz "sandbox_object_new"
- .size $.str3, 19
- .type $.str4,@object # @.str4
- $.str4:
- .asciz "helloworld"
- .size $.str4, 11
- .type $.str5,@object # @.str5
- $.str5:
- .asciz "puts"
- .size $.str5, 5
- .type $.str6,@object # @.str6
- $.str6:
- .asciz "fd_write_c"
- .size $.str6, 11
- .type __cheri_method.hello_object.call_cheri_system_helloworld,@object # @__cheri_method.hello_object.call_cheri_system_helloworld
- .section .CHERI_CALLER,"aw",@progbits
- .weak __cheri_method.hello_object.call_cheri_system_helloworld
- .align 3
- __cheri_method.hello_object.call_cheri_system_helloworld:
- .8byte 0 # 0x0
- .size __cheri_method.hello_object.call_cheri_system_helloworld, 8
- .type hello_object,@object # @hello_object
- .comm hello_object,64,32
- .type $__func__.cheri_helloworld,@object # @__func__.cheri_helloworld
- .section .rodata.str1.1,"aMS",@progbits,1
- $__func__.cheri_helloworld:
- .asciz "cheri_helloworld"
- .size $__func__.cheri_helloworld, 17
- .type $.str7,@object # @.str7
- $.str7:
- .asciz "/home/bed22/git/cheribsd/bin/cheri_helloworld/cheri_helloworld.c"
- .size $.str7, 65
- .type $.str8,@object # @.str8
- $.str8:
- .asciz "v == 123456"
- .size $.str8, 12
- .type $.str9,@object # @.str9
- $.str9:
- .asciz "v >= 0"
- .size $.str9, 7
- .type $.str10,@object # @.str10
- $.str10:
- .asciz "v == 12"
- .size $.str10, 8
- .ident "clang version 3.6.0 "
- .section ".note.GNU-stack","",@progbits
- .text
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement