1570af302Sopenharmony_ci.text 2570af302Sopenharmony_ci.global __clone 3570af302Sopenharmony_ci.hidden __clone 4570af302Sopenharmony_ci.type __clone, @function 5570af302Sopenharmony_ci__clone: 6570af302Sopenharmony_ci! incoming: fn stack flags arg ptid tls ctid 7570af302Sopenharmony_ci! r4 r5 r6 r7 @r15 @(4,r15) @(8,r15) 8570af302Sopenharmony_ci 9570af302Sopenharmony_ci mov #-16, r0 10570af302Sopenharmony_ci and r0, r5 11570af302Sopenharmony_ci 12570af302Sopenharmony_ci mov r4, r1 ! r1 = fn 13570af302Sopenharmony_ci mov r7, r2 ! r2 = arg 14570af302Sopenharmony_ci 15570af302Sopenharmony_ci mov #120, r3 ! r3 = __NR_clone 16570af302Sopenharmony_ci mov r6, r4 ! r4 = flags 17570af302Sopenharmony_ci !mov r5, r5 ! r5 = stack 18570af302Sopenharmony_ci mov.l @r15, r6 ! r6 = ptid 19570af302Sopenharmony_ci mov.l @(8,r15), r7 ! r7 = ctid 20570af302Sopenharmony_ci mov.l @(4,r15), r0 ! r0 = tls 21570af302Sopenharmony_ci trapa #31 22570af302Sopenharmony_ci 23570af302Sopenharmony_ci or r0, r0 24570af302Sopenharmony_ci or r0, r0 25570af302Sopenharmony_ci or r0, r0 26570af302Sopenharmony_ci or r0, r0 27570af302Sopenharmony_ci or r0, r0 28570af302Sopenharmony_ci 29570af302Sopenharmony_ci cmp/eq #0, r0 30570af302Sopenharmony_ci bt 1f 31570af302Sopenharmony_ci 32570af302Sopenharmony_ci ! we are the parent, return 33570af302Sopenharmony_ci rts 34570af302Sopenharmony_ci nop 35570af302Sopenharmony_ci 36570af302Sopenharmony_ci1: ! we are the child, call fn(arg) 37570af302Sopenharmony_ci mov.l 1f, r0 38570af302Sopenharmony_ci mov r1, r5 39570af302Sopenharmony_ci bsrf r0 40570af302Sopenharmony_ci mov r2, r4 41570af302Sopenharmony_ci 42570af302Sopenharmony_ci2: mov #1, r3 ! __NR_exit 43570af302Sopenharmony_ci mov r0, r4 44570af302Sopenharmony_ci trapa #31 45570af302Sopenharmony_ci 46570af302Sopenharmony_ci or r0, r0 47570af302Sopenharmony_ci or r0, r0 48570af302Sopenharmony_ci or r0, r0 49570af302Sopenharmony_ci or r0, r0 50570af302Sopenharmony_ci or r0, r0 51570af302Sopenharmony_ci 52570af302Sopenharmony_ci.align 2 53570af302Sopenharmony_ci.hidden __shcall 54570af302Sopenharmony_ci1: .long __shcall@PCREL+(.-2b) 55