#include <execinfo.h>
#include <ucontext.h>
#include <dlfcn.h>
#include <signal.h>
#include <string.h>
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
#include<sys/types.h>
#include<sys/socket.h>
#include<netinet/in.h>
#include<arpa/inet.h>
#include<unistd.h>
#include <stdio.h>
#include <stdlib.h>
#include <strings.h>
#include<sys/wait.h>
#include <string.h>
#include <errno.h>
#include <linux/ptp_clock.h>
#include <time.h>
#include<fcntl.h>
#include <pthread.h>
#include <semaphore.h>
int cc5(long long a, long long b,long long c,long long d,long long e,long long f,long long c1,long long c2,long long c3,long long c4,long long c5,long long c6,long long c7,long long c8,long long c9,long long c10){
printf("%lld %lld %d %d %d %d %d %d %d %d %d %d %d %lld %d %lld\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
return 0;
}
int cc4(int a, int b,long long c,int d,int e,int f,int c1,int c2,int c3,int c4,int c5,int c6,int c7,int c8,int c9,int c10){
printf("%lld %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
return 0;
}
int cc3(int a, int b,int c,int d,int e,int f,int c1,int c2,int c3,int c4,int c5,int c6,int c7,int c8,int c9,int c10){
printf("%lld %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
cc4(a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
return 0;
}
int cc2(int a, int b, int c,int d,int e,int f,int c1,int c2,int c3,int c4,int c5,int c6,int c7,int c8,int c9,int c10){
printf("%lld %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
cc3(a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
return 0;
}
int cc1(int a, int b,int c,int d,int e,int f,int c1,int c2,int c3,int c4,int c5,int c6,int c7,int c8,int c9,int c10){
printf("%lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
cc2(a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
return 0;
}
int main(int argc, char **argv)
{
printf("%s\n", __func__);
cc5(0x11111111111111,0x22222222222222,0x33333333333333,0x4444444444444,0x55555555555555,0x66666666666666
,0x77777777777777,0x88888888888888,0x99999999999999,0xaaaaaaaaaaaaa,0xbbbbbbbbbbbbb,0xccccccccccccccc,0xdddddddddddddd,0xeeeeeeeeeeeeee,0xffffffffffffff,0xeeeeeeeeeeeeee);
cc1(1,2,3,4,5,6,1,2,3,4,5,6,7,8,9,10);
}
a.out: file format elf64-littleaarch64
Disassembly of section .init:
0000000000400480 <_init>:
400480: a9bf7bfd stp x29, x30, [sp, #-16]!
400484: 910003fd mov x29, sp
400488: 94000033 bl 400554 <call_weak_fn>
40048c: a8c17bfd ldp x29, x30, [sp], #16
400490: d65f03c0 ret
Disassembly of section .plt:
00000000004004a0 <.plt>:
4004a0: a9bf7bf0 stp x16, x30, [sp, #-16]!
4004a4: b0000090 adrp x16, 411000 <__FRAME_END__+0x10090>
4004a8: f947fe11 ldr x17, [x16, #4088]
4004ac: 913fe210 add x16, x16, #0xff8
4004b0: d61f0220 br x17
4004b4: d503201f nop
4004b8: d503201f nop
4004bc: d503201f nop
00000000004004c0 <__libc_start_main@plt>:
4004c0: d0000090 adrp x16, 412000 <__libc_start_main@GLIBC_2.17>
4004c4: f9400211 ldr x17, [x16]
4004c8: 91000210 add x16, x16, #0x0
4004cc: d61f0220 br x17
00000000004004d0 <__gmon_start__@plt>:
4004d0: d0000090 adrp x16, 412000 <__libc_start_main@GLIBC_2.17>
4004d4: f9400611 ldr x17, [x16, #8]
4004d8: 91002210 add x16, x16, #0x8
4004dc: d61f0220 br x17
00000000004004e0 <abort@plt>:
4004e0: d0000090 adrp x16, 412000 <__libc_start_main@GLIBC_2.17>
4004e4: f9400a11 ldr x17, [x16, #16]
4004e8: 91004210 add x16, x16, #0x10
4004ec: d61f0220 br x17
00000000004004f0 <puts@plt>:
4004f0: d0000090 adrp x16, 412000 <__libc_start_main@GLIBC_2.17>
4004f4: f9400e11 ldr x17, [x16, #24]
4004f8: 91006210 add x16, x16, #0x18
4004fc: d61f0220 br x17
0000000000400500 <printf@plt>:
400500: d0000090 adrp x16, 412000 <__libc_start_main@GLIBC_2.17>
400504: f9401211 ldr x17, [x16, #32]
400508: 91008210 add x16, x16, #0x20
40050c: d61f0220 br x17
Disassembly of section .text:
0000000000400510 <_start>:
400510: d280001d mov x29, #0x0 // #0
400514: d280001e mov x30, #0x0 // #0
400518: aa0003e5 mov x5, x0
40051c: f94003e1 ldr x1, [sp]
400520: 910023e2 add x2, sp, #0x8
400524: 910003e6 mov x6, sp
400528: 90000000 adrp x0, 400000 <_init-0x480>
40052c: 91152000 add x0, x0, #0x548
400530: 90000003 adrp x3, 400000 <_init-0x480>
400534: 912f8063 add x3, x3, #0xbe0
400538: 90000004 adrp x4, 400000 <_init-0x480>
40053c: 91318084 add x4, x4, #0xc60
400540: 97ffffe0 bl 4004c0 <__libc_start_main@plt>
400544: 97ffffe7 bl 4004e0 <abort@plt>
0000000000400548 <__wrap_main>:
400548: 14000156 b 400aa0 <main>
40054c: d503201f nop
0000000000400550 <_dl_relocate_static_pie>:
400550: d65f03c0 ret
0000000000400554 <call_weak_fn>:
400554: b0000080 adrp x0, 411000 <__FRAME_END__+0x10090>
400558: f947f000 ldr x0, [x0, #4064]
40055c: b4000040 cbz x0, 400564 <call_weak_fn+0x10>
400560: 17ffffdc b 4004d0 <__gmon_start__@plt>
400564: d65f03c0 ret
400568: d503201f nop
40056c: d503201f nop
0000000000400570 <deregister_tm_clones>:
400570: d0000080 adrp x0, 412000 <__libc_start_main@GLIBC_2.17>
400574: 9100e000 add x0, x0, #0x38
400578: d0000081 adrp x1, 412000 <__libc_start_main@GLIBC_2.17>
40057c: 9100e021 add x1, x1, #0x38
400580: eb00003f cmp x1, x0
400584: 540000c0 b.eq 40059c <deregister_tm_clones+0x2c> // b.none
400588: 90000001 adrp x1, 400000 <_init-0x480>
40058c: f9464021 ldr x1, [x1, #3200]
400590: b4000061 cbz x1, 40059c <deregister_tm_clones+0x2c>
400594: aa0103f0 mov x16, x1
400598: d61f0200 br x16
40059c: d65f03c0 ret
00000000004005a0 <register_tm_clones>:
4005a0: d0000080 adrp x0, 412000 <__libc_start_main@GLIBC_2.17>
4005a4: 9100e000 add x0, x0, #0x38
4005a8: d0000081 adrp x1, 412000 <__libc_start_main@GLIBC_2.17>
4005ac: 9100e021 add x1, x1, #0x38
4005b0: cb000021 sub x1, x1, x0
4005b4: d37ffc22 lsr x2, x1, #63
4005b8: 8b810c41 add x1, x2, x1, asr #3
4005bc: 9341fc21 asr x1, x1, #1
4005c0: b40000c1 cbz x1, 4005d8 <register_tm_clones+0x38>
4005c4: 90000002 adrp x2, 400000 <_init-0x480>
4005c8: f9464442 ldr x2, [x2, #3208]
4005cc: b4000062 cbz x2, 4005d8 <register_tm_clones+0x38>
4005d0: aa0203f0 mov x16, x2
4005d4: d61f0200 br x16
4005d8: d65f03c0 ret
4005dc: d503201f nop
00000000004005e0 <__do_global_dtors_aux>:
4005e0: a9be7bfd stp x29, x30, [sp, #-32]!
4005e4: 910003fd mov x29, sp
4005e8: f9000bf3 str x19, [sp, #16]
4005ec: d0000093 adrp x19, 412000 <__libc_start_main@GLIBC_2.17>
4005f0: 3940e260 ldrb w0, [x19, #56]
4005f4: 35000080 cbnz w0, 400604 <__do_global_dtors_aux+0x24>
4005f8: 97ffffde bl 400570 <deregister_tm_clones>
4005fc: 52800020 mov w0, #0x1 // #1
400600: 3900e260 strb w0, [x19, #56]
400604: f9400bf3 ldr x19, [sp, #16]
400608: a8c27bfd ldp x29, x30, [sp], #32
40060c: d65f03c0 ret
0000000000400610 <frame_dummy>:
400610: 17ffffe4 b 4005a0 <register_tm_clones>
0000000000400614 <cc5>:
#include <pthread.h>
#include <semaphore.h>
int cc5(long long a, long long b,long long c,long long d,long long e,long long f,long long c1,long long c2,long long c3,long long c4,long long c5,long long c6,long long c7,long long c8,long long c9,long long c10){
400614: d10283ff sub sp, sp, #0xa0
400618: a9057bfd stp x29, x30, [sp, #80]
40061c: 910143fd add x29, sp, #0x50
400620: f9004fe0 str x0, [sp, #152]
400624: f9004be1 str x1, [sp, #144]
400628: f90047e2 str x2, [sp, #136]
40062c: f90043e3 str x3, [sp, #128]
400630: f9003fe4 str x4, [sp, #120]
400634: f9003be5 str x5, [sp, #112]
400638: f90037e6 str x6, [sp, #104]
40063c: f90033e7 str x7, [sp, #96]
printf("%lld %lld %d %d %d %d %d %d %d %d %d %d %d %lld %d %lld\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
400640: f9406fe0 ldr x0, [sp, #216]
400644: f90023e0 str x0, [sp, #64]
400648: f9406be0 ldr x0, [sp, #208]
40064c: f9001fe0 str x0, [sp, #56]
400650: f94067e0 ldr x0, [sp, #200]
400654: f9001be0 str x0, [sp, #48]
400658: f94063e0 ldr x0, [sp, #192]
40065c: f90017e0 str x0, [sp, #40]
400660: f9405fe0 ldr x0, [sp, #184]
400664: f90013e0 str x0, [sp, #32]
400668: f9405be0 ldr x0, [sp, #176]
40066c: f9000fe0 str x0, [sp, #24]
400670: f94057e0 ldr x0, [sp, #168]
400674: f9000be0 str x0, [sp, #16]
400678: f94053e0 ldr x0, [sp, #160]
40067c: f90007e0 str x0, [sp, #8]
400680: f94033e0 ldr x0, [sp, #96]
400684: f90003e0 str x0, [sp]
400688: f94037e7 ldr x7, [sp, #104]
40068c: f9403be6 ldr x6, [sp, #112]
400690: f9403fe5 ldr x5, [sp, #120]
400694: f94043e4 ldr x4, [sp, #128]
400698: f94047e3 ldr x3, [sp, #136]
40069c: f9404be2 ldr x2, [sp, #144]
4006a0: f9404fe1 ldr x1, [sp, #152]
4006a4: 90000000 adrp x0, 400000 <_init-0x480>
4006a8: 91324000 add x0, x0, #0xc90
4006ac: 97ffff95 bl 400500 <printf@plt>
return 0;
4006b0: 52800000 mov w0, #0x0 // #0
}
4006b4: a9457bfd ldp x29, x30, [sp, #80]
4006b8: 910283ff add sp, sp, #0xa0
4006bc: d65f03c0 ret
00000000004006c0 <cc4>:
int cc4(int a, int b,long long c,int d,int e,int f,int c1,int c2,int c3,int c4,int c5,int c6,int c7,int c8,int c9,int c10){
4006c0: d10243ff sub sp, sp, #0x90
4006c4: a9057bfd stp x29, x30, [sp, #80]
4006c8: 910143fd add x29, sp, #0x50
4006cc: b9008fe0 str w0, [sp, #140]
4006d0: b9008be1 str w1, [sp, #136]
4006d4: f90043e2 str x2, [sp, #128]
4006d8: b9007fe3 str w3, [sp, #124]
4006dc: b9007be4 str w4, [sp, #120]
4006e0: b90077e5 str w5, [sp, #116]
4006e4: b90073e6 str w6, [sp, #112]
4006e8: b9006fe7 str w7, [sp, #108]
printf("%lld %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
4006ec: b940cbe0 ldr w0, [sp, #200]
4006f0: b90043e0 str w0, [sp, #64]
4006f4: b940c3e0 ldr w0, [sp, #192]
4006f8: b9003be0 str w0, [sp, #56]
4006fc: b940bbe0 ldr w0, [sp, #184]
400700: b90033e0 str w0, [sp, #48]
400704: b940b3e0 ldr w0, [sp, #176]
400708: b9002be0 str w0, [sp, #40]
40070c: b940abe0 ldr w0, [sp, #168]
400710: b90023e0 str w0, [sp, #32]
400714: b940a3e0 ldr w0, [sp, #160]
400718: b9001be0 str w0, [sp, #24]
40071c: b9409be0 ldr w0, [sp, #152]
400720: b90013e0 str w0, [sp, #16]
400724: b94093e0 ldr w0, [sp, #144]
400728: b9000be0 str w0, [sp, #8]
40072c: b9406fe0 ldr w0, [sp, #108]
400730: b90003e0 str w0, [sp]
400734: b94073e7 ldr w7, [sp, #112]
400738: b94077e6 ldr w6, [sp, #116]
40073c: b9407be5 ldr w5, [sp, #120]
400740: b9407fe4 ldr w4, [sp, #124]
400744: f94043e3 ldr x3, [sp, #128]
400748: b9408be2 ldr w2, [sp, #136]
40074c: b9408fe1 ldr w1, [sp, #140]
400750: 90000000 adrp x0, 400000 <_init-0x480>
400754: 91334000 add x0, x0, #0xcd0
400758: 97ffff6a bl 400500 <printf@plt>
return 0;
40075c: 52800000 mov w0, #0x0 // #0
}
400760: a9457bfd ldp x29, x30, [sp, #80]
400764: 910243ff add sp, sp, #0x90
400768: d65f03c0 ret
000000000040076c <cc3>:
int cc3(int a, int b,int c,int d,int e,int f,int c1,int c2,int c3,int c4,int c5,int c6,int c7,int c8,int c9,int c10){
40076c: d10203ff sub sp, sp, #0x80
400770: a9057bfd stp x29, x30, [sp, #80]
400774: 910143fd add x29, sp, #0x50
400778: b9007fe0 str w0, [sp, #124]
40077c: b9007be1 str w1, [sp, #120]
400780: b90077e2 str w2, [sp, #116]
400784: b90073e3 str w3, [sp, #112]
400788: b9006fe4 str w4, [sp, #108]
40078c: b9006be5 str w5, [sp, #104]
400790: b90067e6 str w6, [sp, #100]
400794: b90063e7 str w7, [sp, #96]
printf("%lld %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
400798: b940bbe0 ldr w0, [sp, #184]
40079c: b90043e0 str w0, [sp, #64]
4007a0: b940b3e0 ldr w0, [sp, #176]
4007a4: b9003be0 str w0, [sp, #56]
4007a8: b940abe0 ldr w0, [sp, #168]
4007ac: b90033e0 str w0, [sp, #48]
4007b0: b940a3e0 ldr w0, [sp, #160]
4007b4: b9002be0 str w0, [sp, #40]
4007b8: b9409be0 ldr w0, [sp, #152]
4007bc: b90023e0 str w0, [sp, #32]
4007c0: b94093e0 ldr w0, [sp, #144]
4007c4: b9001be0 str w0, [sp, #24]
4007c8: b9408be0 ldr w0, [sp, #136]
4007cc: b90013e0 str w0, [sp, #16]
4007d0: b94083e0 ldr w0, [sp, #128]
4007d4: b9000be0 str w0, [sp, #8]
4007d8: b94063e0 ldr w0, [sp, #96]
4007dc: b90003e0 str w0, [sp]
4007e0: b94067e7 ldr w7, [sp, #100]
4007e4: b9406be6 ldr w6, [sp, #104]
4007e8: b9406fe5 ldr w5, [sp, #108]
4007ec: b94073e4 ldr w4, [sp, #112]
4007f0: b94077e3 ldr w3, [sp, #116]
4007f4: b9407be2 ldr w2, [sp, #120]
4007f8: b9407fe1 ldr w1, [sp, #124]
4007fc: 90000000 adrp x0, 400000 <_init-0x480>
400800: 91334000 add x0, x0, #0xcd0
400804: 97ffff3f bl 400500 <printf@plt>
cc4(a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
400808: b98077e1 ldrsw x1, [sp, #116]
40080c: b940bbe0 ldr w0, [sp, #184]
400810: b9003be0 str w0, [sp, #56]
400814: b940b3e0 ldr w0, [sp, #176]
400818: b90033e0 str w0, [sp, #48]
40081c: b940abe0 ldr w0, [sp, #168]
400820: b9002be0 str w0, [sp, #40]
400824: b940a3e0 ldr w0, [sp, #160]
400828: b90023e0 str w0, [sp, #32]
40082c: b9409be0 ldr w0, [sp, #152]
400830: b9001be0 str w0, [sp, #24]
400834: b94093e0 ldr w0, [sp, #144]
400838: b90013e0 str w0, [sp, #16]
40083c: b9408be0 ldr w0, [sp, #136]
400840: b9000be0 str w0, [sp, #8]
400844: b94083e0 ldr w0, [sp, #128]
400848: b90003e0 str w0, [sp]
40084c: b94063e7 ldr w7, [sp, #96]
400850: b94067e6 ldr w6, [sp, #100]
400854: b9406be5 ldr w5, [sp, #104]
400858: b9406fe4 ldr w4, [sp, #108]
40085c: b94073e3 ldr w3, [sp, #112]
400860: aa0103e2 mov x2, x1
400864: b9407be1 ldr w1, [sp, #120]
400868: b9407fe0 ldr w0, [sp, #124]
40086c: 97ffff95 bl 4006c0 <cc4>
return 0;
400870: 52800000 mov w0, #0x0 // #0
}
400874: a9457bfd ldp x29, x30, [sp, #80]
400878: 910203ff add sp, sp, #0x80
40087c: d65f03c0 ret
0000000000400880 <cc2>:
int cc2(int a, int b, int c,int d,int e,int f,int c1,int c2,int c3,int c4,int c5,int c6,int c7,int c8,int c9,int c10){
400880: d10203ff sub sp, sp, #0x80
400884: a9057bfd stp x29, x30, [sp, #80]
400888: 910143fd add x29, sp, #0x50
40088c: b9007fe0 str w0, [sp, #124]
400890: b9007be1 str w1, [sp, #120]
400894: b90077e2 str w2, [sp, #116]
400898: b90073e3 str w3, [sp, #112]
40089c: b9006fe4 str w4, [sp, #108]
4008a0: b9006be5 str w5, [sp, #104]
4008a4: b90067e6 str w6, [sp, #100]
4008a8: b90063e7 str w7, [sp, #96]
printf("%lld %d %d %d %d %d %d %d %d %d %d %d %d %d %d %d\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
4008ac: b940bbe0 ldr w0, [sp, #184]
4008b0: b90043e0 str w0, [sp, #64]
4008b4: b940b3e0 ldr w0, [sp, #176]
4008b8: b9003be0 str w0, [sp, #56]
4008bc: b940abe0 ldr w0, [sp, #168]
4008c0: b90033e0 str w0, [sp, #48]
4008c4: b940a3e0 ldr w0, [sp, #160]
4008c8: b9002be0 str w0, [sp, #40]
4008cc: b9409be0 ldr w0, [sp, #152]
4008d0: b90023e0 str w0, [sp, #32]
4008d4: b94093e0 ldr w0, [sp, #144]
4008d8: b9001be0 str w0, [sp, #24]
4008dc: b9408be0 ldr w0, [sp, #136]
4008e0: b90013e0 str w0, [sp, #16]
4008e4: b94083e0 ldr w0, [sp, #128]
4008e8: b9000be0 str w0, [sp, #8]
4008ec: b94063e0 ldr w0, [sp, #96]
4008f0: b90003e0 str w0, [sp]
4008f4: b94067e7 ldr w7, [sp, #100]
4008f8: b9406be6 ldr w6, [sp, #104]
4008fc: b9406fe5 ldr w5, [sp, #108]
400900: b94073e4 ldr w4, [sp, #112]
400904: b94077e3 ldr w3, [sp, #116]
400908: b9407be2 ldr w2, [sp, #120]
40090c: b9407fe1 ldr w1, [sp, #124]
400910: 90000000 adrp x0, 400000 <_init-0x480>
400914: 91334000 add x0, x0, #0xcd0
400918: 97fffefa bl 400500 <printf@plt>
cc3(a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
40091c: b940bbe0 ldr w0, [sp, #184]
400920: b9003be0 str w0, [sp, #56]
400924: b940b3e0 ldr w0, [sp, #176]
400928: b90033e0 str w0, [sp, #48]
40092c: b940abe0 ldr w0, [sp, #168]
400930: b9002be0 str w0, [sp, #40]
400934: b940a3e0 ldr w0, [sp, #160]
400938: b90023e0 str w0, [sp, #32]
40093c: b9409be0 ldr w0, [sp, #152]
400940: b9001be0 str w0, [sp, #24]
400944: b94093e0 ldr w0, [sp, #144]
400948: b90013e0 str w0, [sp, #16]
40094c: b9408be0 ldr w0, [sp, #136]
400950: b9000be0 str w0, [sp, #8]
400954: b94083e0 ldr w0, [sp, #128]
400958: b90003e0 str w0, [sp]
40095c: b94063e7 ldr w7, [sp, #96]
400960: b94067e6 ldr w6, [sp, #100]
400964: b9406be5 ldr w5, [sp, #104]
400968: b9406fe4 ldr w4, [sp, #108]
40096c: b94073e3 ldr w3, [sp, #112]
400970: b94077e2 ldr w2, [sp, #116]
400974: b9407be1 ldr w1, [sp, #120]
400978: b9407fe0 ldr w0, [sp, #124]
40097c: 97ffff7c bl 40076c <cc3>
return 0;
400980: 52800000 mov w0, #0x0 // #0
}
400984: a9457bfd ldp x29, x30, [sp, #80]
400988: 910203ff add sp, sp, #0x80
40098c: d65f03c0 ret
0000000000400990 <cc1>:
int cc1(int a, int b,int c,int d,int e,int f,int c1,int c2,int c3,int c4,int c5,int c6,int c7,int c8,int c9,int c10){
400990: d10203ff sub sp, sp, #0x80
400994: a9057bfd stp x29, x30, [sp, #80]
400998: 910143fd add x29, sp, #0x50
40099c: b9007fe0 str w0, [sp, #124]
4009a0: b9007be1 str w1, [sp, #120]
4009a4: b90077e2 str w2, [sp, #116]
4009a8: b90073e3 str w3, [sp, #112]
4009ac: b9006fe4 str w4, [sp, #108]
4009b0: b9006be5 str w5, [sp, #104]
4009b4: b90067e6 str w6, [sp, #100]
4009b8: b90063e7 str w7, [sp, #96]
printf("%lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld %lld\n", a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
4009bc: b940bbe0 ldr w0, [sp, #184]
4009c0: b90043e0 str w0, [sp, #64]
4009c4: b940b3e0 ldr w0, [sp, #176]
4009c8: b9003be0 str w0, [sp, #56]
4009cc: b940abe0 ldr w0, [sp, #168]
4009d0: b90033e0 str w0, [sp, #48]
4009d4: b940a3e0 ldr w0, [sp, #160]
4009d8: b9002be0 str w0, [sp, #40]
4009dc: b9409be0 ldr w0, [sp, #152]
4009e0: b90023e0 str w0, [sp, #32]
4009e4: b94093e0 ldr w0, [sp, #144]
4009e8: b9001be0 str w0, [sp, #24]
4009ec: b9408be0 ldr w0, [sp, #136]
4009f0: b90013e0 str w0, [sp, #16]
4009f4: b94083e0 ldr w0, [sp, #128]
4009f8: b9000be0 str w0, [sp, #8]
4009fc: b94063e0 ldr w0, [sp, #96]
400a00: b90003e0 str w0, [sp]
400a04: b94067e7 ldr w7, [sp, #100]
400a08: b9406be6 ldr w6, [sp, #104]
400a0c: b9406fe5 ldr w5, [sp, #108]
400a10: b94073e4 ldr w4, [sp, #112]
400a14: b94077e3 ldr w3, [sp, #116]
400a18: b9407be2 ldr w2, [sp, #120]
400a1c: b9407fe1 ldr w1, [sp, #124]
400a20: 90000000 adrp x0, 400000 <_init-0x480>
400a24: 91342000 add x0, x0, #0xd08
400a28: 97fffeb6 bl 400500 <printf@plt>
cc2(a,b,c,d,e,f,c1,c2,c3,c4,c5,c6,c7,c8,c9,c10);
400a2c: b940bbe0 ldr w0, [sp, #184]
400a30: b9003be0 str w0, [sp, #56]
400a34: b940b3e0 ldr w0, [sp, #176]
400a38: b90033e0 str w0, [sp, #48]
400a3c: b940abe0 ldr w0, [sp, #168]
400a40: b9002be0 str w0, [sp, #40]
400a44: b940a3e0 ldr w0, [sp, #160]
400a48: b90023e0 str w0, [sp, #32]
400a4c: b9409be0 ldr w0, [sp, #152]
400a50: b9001be0 str w0, [sp, #24]
400a54: b94093e0 ldr w0, [sp, #144]
400a58: b90013e0 str w0, [sp, #16]
400a5c: b9408be0 ldr w0, [sp, #136]
400a60: b9000be0 str w0, [sp, #8]
400a64: b94083e0 ldr w0, [sp, #128]
400a68: b90003e0 str w0, [sp]
400a6c: b94063e7 ldr w7, [sp, #96]
400a70: b94067e6 ldr w6, [sp, #100]
400a74: b9406be5 ldr w5, [sp, #104]
400a78: b9406fe4 ldr w4, [sp, #108]
400a7c: b94073e3 ldr w3, [sp, #112]
400a80: b94077e2 ldr w2, [sp, #116]
400a84: b9407be1 ldr w1, [sp, #120]
400a88: b9407fe0 ldr w0, [sp, #124]
400a8c: 97ffff7d bl 400880 <cc2>
return 0;
400a90: 52800000 mov w0, #0x0 // #0
}
400a94: a9457bfd ldp x29, x30, [sp, #80]
400a98: 910203ff add sp, sp, #0x80
400a9c: d65f03c0 ret
0000000000400aa0 <main>:
int main(int argc, char **argv)
{
400aa0: d10183ff sub sp, sp, #0x60
400aa4: a9047bfd stp x29, x30, [sp, #64]
400aa8: 910103fd add x29, sp, #0x40
400aac: b9005fe0 str w0, [sp, #92]
400ab0: f9002be1 str x1, [sp, #80]
printf("%s\n", __func__);
400ab4: 90000000 adrp x0, 400000 <_init-0x480>
400ab8: 91358000 add x0, x0, #0xd60
400abc: 97fffe8d bl 4004f0 <puts@plt>
cc5(0x11111111111111,0x22222222222222,0x33333333333333,0x4444444444444,0x55555555555555,0x66666666666666
400ac0: b203ebe0 mov x0, #0xeeeeeeeeeeeeeeee // #-1229782938247303442
400ac4: f2e01dc0 movk x0, #0xee, lsl #48
400ac8: f9001fe0 str x0, [sp, #56]
400acc: 92ffe000 mov x0, #0xffffffffffffff // #72057594037927935
400ad0: f9001be0 str x0, [sp, #48]
400ad4: b203ebe0 mov x0, #0xeeeeeeeeeeeeeeee // #-1229782938247303442
400ad8: f2e01dc0 movk x0, #0xee, lsl #48
400adc: f90017e0 str x0, [sp, #40]
400ae0: b202ebe0 mov x0, #0xdddddddddddddddd // #-2459565876494606883
400ae4: f2e01ba0 movk x0, #0xdd, lsl #48
400ae8: f90013e0 str x0, [sp, #32]
400aec: b202e7e0 mov x0, #0xcccccccccccccccc // #-3689348814741910324
400af0: f2e19980 movk x0, #0xccc, lsl #48
400af4: f9000fe0 str x0, [sp, #24]
400af8: b201ebe0 mov x0, #0xbbbbbbbbbbbbbbbb // #-4919131752989213765
400afc: f2e00160 movk x0, #0xb, lsl #48
400b00: f9000be0 str x0, [sp, #16]
400b04: b201f3e0 mov x0, #0xaaaaaaaaaaaaaaaa // #-6148914691236517206
400b08: f2e00140 movk x0, #0xa, lsl #48
400b0c: f90007e0 str x0, [sp, #8]
400b10: b201e7e0 mov x0, #0x9999999999999999 // #-7378697629483820647
400b14: f2e01320 movk x0, #0x99, lsl #48
400b18: f90003e0 str x0, [sp]
400b1c: b201e3e7 mov x7, #0x8888888888888888 // #-8608480567731124088
400b20: f2e01107 movk x7, #0x88, lsl #48
400b24: b200ebe6 mov x6, #0x7777777777777777 // #8608480567731124087
400b28: f2e00ee6 movk x6, #0x77, lsl #48
400b2c: b203e7e5 mov x5, #0x6666666666666666 // #7378697629483820646
400b30: f2e00cc5 movk x5, #0x66, lsl #48
400b34: b200f3e4 mov x4, #0x5555555555555555 // #6148914691236517205
400b38: f2e00aa4 movk x4, #0x55, lsl #48
400b3c: b202e3e3 mov x3, #0x4444444444444444 // #4919131752989213764
400b40: f2e00083 movk x3, #0x4, lsl #48
400b44: b200e7e2 mov x2, #0x3333333333333333 // #3689348814741910323
400b48: f2e00662 movk x2, #0x33, lsl #48
400b4c: b203e3e1 mov x1, #0x2222222222222222 // #2459565876494606882
400b50: f2e00441 movk x1, #0x22, lsl #48
400b54: b200e3e0 mov x0, #0x1111111111111111 // #1229782938247303441
400b58: f2e00220 movk x0, #0x11, lsl #48
400b5c: 97fffeae bl 400614 <cc5>
,0x77777777777777,0x88888888888888,0x99999999999999,0xaaaaaaaaaaaaa,0xbbbbbbbbbbbbb,0xccccccccccccccc,0xdddddddddddddd,0xeeeeeeeeeeeeee,0xffffffffffffff,0xeeeeeeeeeeeeee);
cc1(1,2,3,4,5,6,1,2,3,4,5,6,7,8,9,10);
400b60: 52800140 mov w0, #0xa // #10
400b64: b9003be0 str w0, [sp, #56]
400b68: 52800120 mov w0, #0x9 // #9
400b6c: b90033e0 str w0, [sp, #48]
400b70: 52800100 mov w0, #0x8 // #8
400b74: b9002be0 str w0, [sp, #40]
400b78: 528000e0 mov w0, #0x7 // #7
400b7c: b90023e0 str w0, [sp, #32]
400b80: 528000c0 mov w0, #0x6 // #6
400b84: b9001be0 str w0, [sp, #24]
400b88: 528000a0 mov w0, #0x5 // #5
400b8c: b90013e0 str w0, [sp, #16]
400b90: 52800080 mov w0, #0x4 // #4
400b94: b9000be0 str w0, [sp, #8]
400b98: 52800060 mov w0, #0x3 // #3
400b9c: b90003e0 str w0, [sp]
400ba0: 52800047 mov w7, #0x2 // #2
400ba4: 52800026 mov w6, #0x1 // #1
400ba8: 528000c5 mov w5, #0x6 // #6
400bac: 528000a4 mov w4, #0x5 // #5
400bb0: 52800083 mov w3, #0x4 // #4
400bb4: 52800062 mov w2, #0x3 // #3
400bb8: 52800041 mov w1, #0x2 // #2
400bbc: 52800020 mov w0, #0x1 // #1
400bc0: 97ffff74 bl 400990 <cc1>
400bc4: 52800000 mov w0, #0x0 // #0
}
400bc8: a9447bfd ldp x29, x30, [sp, #64]
400bcc: 910183ff add sp, sp, #0x60
400bd0: d65f03c0 ret
400bd4: d503201f nop
400bd8: d503201f nop
400bdc: d503201f nop
0000000000400be0 <__libc_csu_init>:
400be0: a9bc7bfd stp x29, x30, [sp, #-64]!
400be4: 910003fd mov x29, sp
400be8: a90153f3 stp x19, x20, [sp, #16]
400bec: b0000094 adrp x20, 411000 <__FRAME_END__+0x10090>
400bf0: 9137c294 add x20, x20, #0xdf0
400bf4: a9025bf5 stp x21, x22, [sp, #32]
400bf8: b0000095 adrp x21, 411000 <__FRAME_END__+0x10090>
400bfc: 9137a2b5 add x21, x21, #0xde8
400c00: cb150294 sub x20, x20, x21
400c04: 2a0003f6 mov w22, w0
400c08: a90363f7 stp x23, x24, [sp, #48]
400c0c: aa0103f7 mov x23, x1
400c10: aa0203f8 mov x24, x2
400c14: 9343fe94 asr x20, x20, #3
400c18: 97fffe1a bl 400480 <_init>
400c1c: b4000174 cbz x20, 400c48 <__libc_csu_init+0x68>
400c20: d2800013 mov x19, #0x0 // #0
400c24: d503201f nop
400c28: f8737aa3 ldr x3, [x21, x19, lsl #3]
400c2c: aa1803e2 mov x2, x24
400c30: 91000673 add x19, x19, #0x1
400c34: aa1703e1 mov x1, x23
400c38: 2a1603e0 mov w0, w22
400c3c: d63f0060 blr x3
400c40: eb13029f cmp x20, x19
400c44: 54ffff21 b.ne 400c28 <__libc_csu_init+0x48> // b.any
400c48: a94153f3 ldp x19, x20, [sp, #16]
400c4c: a9425bf5 ldp x21, x22, [sp, #32]
400c50: a94363f7 ldp x23, x24, [sp, #48]
400c54: a8c47bfd ldp x29, x30, [sp], #64
400c58: d65f03c0 ret
400c5c: d503201f nop
0000000000400c60 <__libc_csu_fini>:
400c60: d65f03c0 ret
Disassembly of section .fini:
0000000000400c64 <_fini>:
400c64: a9bf7bfd stp x29, x30, [sp, #-16]!
400c68: 910003fd mov x29, sp
400c6c: a8c17bfd ldp x29, x30, [sp], #16
400c70: d65f03c0 ret
x0-x7与栈传递参数