• linux下gcc的编译过程记录


      通常情况下,linux下可以直接使用gcc命令直接编译生成可执行文件:

    例如:hello.c

      1 #include <stdio.h>
      2
      3 #define PI 3.141593
      4
      5 int main(int argc, char **argv)
      6 {
      7     printf("Hello world!
    ");
      8     printf("PI: %f
    ", PI);
      9
     10     return 0;
     11 }
    

      可以直接用gcc  hello.c  -o hello即可生成可执行文件

      也可以使用make hello也可生成hello可执行文件

    那么你想看下分开编译的具体环节,请跟我来:

    1、预编译:命令  gcc  hello.c  -E  -o  hello.i

    gcc hello.i -S -o hello.s

      结果如下:

      1 # 1 "hello.c"
      2 # 1 "<built-in>"
      3 # 1 "<命令行>"
      4 # 31 "<命令行>"
      5 # 1 "/usr/include/stdc-predef.h" 1 3 4
      6 # 32 "<命令行>" 2
      7 # 1 "hello.c"
      8 # 1 "/usr/include/stdio.h" 1 3 4
      9 # 27 "/usr/include/stdio.h" 3 4
     10 # 1 "/usr/include/bits/libc-header-start.h" 1 3 4
     11 # 33 "/usr/include/bits/libc-header-start.h" 3 4
     12 # 1 "/usr/include/features.h" 1 3 4
     13 # 450 "/usr/include/features.h" 3 4
     14 # 1 "/usr/include/sys/cdefs.h" 1 3 4
     15 # 452 "/usr/include/sys/cdefs.h" 3 4
     16 # 1 "/usr/include/bits/wordsize.h" 1 3 4
     17 # 453 "/usr/include/sys/cdefs.h" 2 3 4
     18 # 1 "/usr/include/bits/long-double.h" 1 3 4
     19 # 454 "/usr/include/sys/cdefs.h" 2 3 4
     20 # 451 "/usr/include/features.h" 2 3 4
     21 # 474 "/usr/include/features.h" 3 4
     22 # 1 "/usr/include/gnu/stubs.h" 1 3 4
     23
     24
     25
     26
     27 # 1 "/usr/include/bits/wordsize.h" 1 3 4
     28 # 6 "/usr/include/gnu/stubs.h" 2 3 4
     29
     30
     31 # 1 "/usr/include/gnu/stubs-lp64.h" 1 3 4
     32 # 9 "/usr/include/gnu/stubs.h" 2 3 4
     33 # 475 "/usr/include/features.h" 2 3 4
     34 # 34 "/usr/include/bits/libc-header-start.h" 2 3 4
     35 # 28 "/usr/include/stdio.h" 2 3 4
     36
     37
     38
     39
     40
     41 # 1 "/usr/lib/gcc/aarch64-unknown-linux-gnu/9.1.0/include/stddef.h" 1 3 4
     42 # 209 "/usr/lib/gcc/aarch64-unknown-linux-gnu/9.1.0/include/stddef.h" 3 4
     43
     44 # 209 "/usr/lib/gcc/aarch64-unknown-linux-gnu/9.1.0/include/stddef.h" 3 4
     45 typedef long unsigned int size_t;
     46 # 34 "/usr/include/stdio.h" 2 3 4
     47
     48
     49 # 1 "/usr/lib/gcc/aarch64-unknown-linux-gnu/9.1.0/include/stdarg.h" 1 3 4
     50 # 40 "/usr/lib/gcc/aarch64-unknown-linux-gnu/9.1.0/include/stdarg.h" 3 4
     51 typedef __builtin_va_list __gnuc_va_list;
     52 # 37 "/usr/include/stdio.h" 2 3 4
     53
     54 # 1 "/usr/include/bits/types.h" 1 3 4
     55 # 27 "/usr/include/bits/types.h" 3 4
     56 # 1 "/usr/include/bits/wordsize.h" 1 3 4
     57 # 28 "/usr/include/bits/types.h" 2 3 4
     58 # 1 "/usr/include/bits/timesize.h" 1 3 4
     59 # 19 "/usr/include/bits/timesize.h" 3 4
     60 # 1 "/usr/include/bits/wordsize.h" 1 3 4
     61 # 20 "/usr/include/bits/timesize.h" 2 3 4
     62 # 29 "/usr/include/bits/types.h" 2 3 4
     63
     64
     65 typedef unsigned char __u_char;
     66 typedef unsigned short int __u_short;
     67 typedef unsigned int __u_int;
     68 typedef unsigned long int __u_long;
     69
     70
     71 typedef signed char __int8_t;
     72 typedef unsigned char __uint8_t;
     73 typedef signed short int __int16_t;
     74 typedef unsigned short int __uint16_t;
     75 typedef signed int __int32_t;
     76 typedef unsigned int __uint32_t;
     77
     78 typedef signed long int __int64_t;
     79 typedef unsigned long int __uint64_t;
     80
     81
     82
     83
     84
     85
     86 typedef __int8_t __int_least8_t;
     87 typedef __uint8_t __uint_least8_t;
     88 typedef __int16_t __int_least16_t;
     89 typedef __uint16_t __uint_least16_t;
     90 typedef __int32_t __int_least32_t;
     91 typedef __uint32_t __uint_least32_t;
     92 typedef __int64_t __int_least64_t;
     93 typedef __uint64_t __uint_least64_t;
     94
     95
     96
     97 typedef long int __quad_t;
     98 typedef unsigned long int __u_quad_t;
     99
    100
    101
    102
    103
    104
    105
    106 typedef long int __intmax_t;
    107 typedef unsigned long int __uintmax_t;
    108 # 141 "/usr/include/bits/types.h" 3 4
    109 # 1 "/usr/include/bits/typesizes.h" 1 3 4
    110 # 142 "/usr/include/bits/types.h" 2 3 4
    111 # 1 "/usr/include/bits/time64.h" 1 3 4
    112 # 143 "/usr/include/bits/types.h" 2 3 4
    113
    114
    115 typedef unsigned long int __dev_t;
    116 typedef unsigned int __uid_t;
    117 typedef unsigned int __gid_t;
    118 typedef unsigned long int __ino_t;
    119 typedef unsigned long int __ino64_t;
    120 typedef unsigned int __mode_t;
    121 typedef unsigned int __nlink_t;
    122 typedef long int __off_t;
    123 typedef long int __off64_t;
    124 typedef int __pid_t;
    125 typedef struct { int __val[2]; } __fsid_t;
    126 typedef long int __clock_t;
    127 typedef unsigned long int __rlim_t;
    128 typedef unsigned long int __rlim64_t;
    129 typedef unsigned int __id_t;
    130 typedef long int __time_t;
    131 typedef unsigned int __useconds_t;
    132 typedef long int __suseconds_t;
    133
    134 typedef int __daddr_t;
    135 typedef int __key_t;
    136
    137
    138 typedef int __clockid_t;
    139
    140
    141 typedef void * __timer_t;
    142
    143
    144 typedef int __blksize_t;
    145
    146
    147
    148
    149 typedef long int __blkcnt_t;
    150 typedef long int __blkcnt64_t;
    151
    152
    153 typedef unsigned long int __fsblkcnt_t;
    154 typedef unsigned long int __fsblkcnt64_t;
    155
    156
    157 typedef unsigned long int __fsfilcnt_t;
    158 typedef unsigned long int __fsfilcnt64_t;
    159
    160
    161 typedef long int __fsword_t;
    162
    163 typedef long int __ssize_t;
    164
    165
    166 typedef long int __syscall_slong_t;
    167
    168 typedef unsigned long int __syscall_ulong_t;
    169
    170
    171
    172 typedef __off64_t __loff_t;
    173 typedef char *__caddr_t;
    174
    175
    176 typedef long int __intptr_t;
    177
    178
    179 typedef unsigned int __socklen_t;
    180
    181
    182
    183
    184 typedef int __sig_atomic_t;
    185 # 39 "/usr/include/stdio.h" 2 3 4
    186 # 1 "/usr/include/bits/types/__fpos_t.h" 1 3 4
    187
    188
    189
    190
    191 # 1 "/usr/include/bits/types/__mbstate_t.h" 1 3 4
    192 # 13 "/usr/include/bits/types/__mbstate_t.h" 3 4
    193 typedef struct
    194 {
    195   int __count;
    196   union
    197   {
    198     unsigned int __wch;
    199     char __wchb[4];
    200   } __value;
    201 } __mbstate_t;
    202 # 6 "/usr/include/bits/types/__fpos_t.h" 2 3 4
    203
    204
    205
    206
    207 typedef struct _G_fpos_t
    208 {
    209   __off_t __pos;
    210   __mbstate_t __state;
    211 } __fpos_t;
    212 # 40 "/usr/include/stdio.h" 2 3 4
    213 # 1 "/usr/include/bits/types/__fpos64_t.h" 1 3 4
    214 # 10 "/usr/include/bits/types/__fpos64_t.h" 3 4
    215 typedef struct _G_fpos64_t
    216 {
    217   __off64_t __pos;
    218   __mbstate_t __state;
    219 } __fpos64_t;
    220 # 41 "/usr/include/stdio.h" 2 3 4
    221 # 1 "/usr/include/bits/types/__FILE.h" 1 3 4
    222
    223
    224
    225 struct _IO_FILE;
    226 typedef struct _IO_FILE __FILE;
    227 # 42 "/usr/include/stdio.h" 2 3 4
    228 # 1 "/usr/include/bits/types/FILE.h" 1 3 4
    229
    230
    231
    232 struct _IO_FILE;
    233
    234
    235 typedef struct _IO_FILE FILE;
    236 # 43 "/usr/include/stdio.h" 2 3 4
    237 # 1 "/usr/include/bits/types/struct_FILE.h" 1 3 4
    238 # 35 "/usr/include/bits/types/struct_FILE.h" 3 4
    239 struct _IO_FILE;
    240 struct _IO_marker;
    241 struct _IO_codecvt;
    242 struct _IO_wide_data;
    243
    244
    245
    246
    247 typedef void _IO_lock_t;
    248
    249
    250
    251
    252
    253 struct _IO_FILE
    254 {
    255   int _flags;
    256
    257
    258   char *_IO_read_ptr;
    259   char *_IO_read_end;
    260   char *_IO_read_base;
    261   char *_IO_write_base;
    262   char *_IO_write_ptr;
    263   char *_IO_write_end;
    264   char *_IO_buf_base;
    265   char *_IO_buf_end;
    266
    267
    268   char *_IO_save_base;
    269   char *_IO_backup_base;
    270   char *_IO_save_end;
    271
    272   struct _IO_marker *_markers;
    273
    274   struct _IO_FILE *_chain;
    275
    276   int _fileno;
    277   int _flags2;
    278   __off_t _old_offset;
    279
    280
    281   unsigned short _cur_column;
    282   signed char _vtable_offset;
    283   char _shortbuf[1];
    284
    285   _IO_lock_t *_lock;
    286
    287
    288
    289
    290
    291
    292
    293   __off64_t _offset;
    294
    295   struct _IO_codecvt *_codecvt;
    296   struct _IO_wide_data *_wide_data;
    297   struct _IO_FILE *_freeres_list;
    298   void *_freeres_buf;
    299   size_t __pad5;
    300   int _mode;
    301
    302   char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
    303 };
    304 # 44 "/usr/include/stdio.h" 2 3 4
    305 # 52 "/usr/include/stdio.h" 3 4
    306 typedef __gnuc_va_list va_list;
    307 # 63 "/usr/include/stdio.h" 3 4
    308 typedef __off_t off_t;
    309 # 77 "/usr/include/stdio.h" 3 4
    310 typedef __ssize_t ssize_t;
    311
    312
    313
    314
    315
    316
    317 typedef __fpos_t fpos_t;
    318 # 133 "/usr/include/stdio.h" 3 4
    319 # 1 "/usr/include/bits/stdio_lim.h" 1 3 4
    320 # 134 "/usr/include/stdio.h" 2 3 4
    321
    322
    323
    324 extern FILE *stdin;
    325 extern FILE *stdout;
    326 extern FILE *stderr;
    327
    328
    329
    330
    331
    332
    333 extern int remove (const char *__filename) __attribute__ ((__nothrow__ , __leaf__));
    334
    335 extern int rename (const char *__old, const char *__new) __attribute__ ((__nothrow__ , __leaf__));
    336
    337
    338
    339 extern int renameat (int __oldfd, const char *__old, int __newfd,
    340        const char *__new) __attribute__ ((__nothrow__ , __leaf__));
    341 # 173 "/usr/include/stdio.h" 3 4
    342 extern FILE *tmpfile (void) ;
    343 # 187 "/usr/include/stdio.h" 3 4
    344 extern char *tmpnam (char *__s) __attribute__ ((__nothrow__ , __leaf__)) ;
    345
    346
    347
    348
    349 extern char *tmpnam_r (char *__s) __attribute__ ((__nothrow__ , __leaf__)) ;
    350 # 204 "/usr/include/stdio.h" 3 4
    351 extern char *tempnam (const char *__dir, const char *__pfx)
    352      __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__malloc__)) ;
    353
    354
    355
    356
    357
    358
    359
    360 extern int fclose (FILE *__stream);
    361
    362
    363
    364
    365 extern int fflush (FILE *__stream);
    366 # 227 "/usr/include/stdio.h" 3 4
    367 extern int fflush_unlocked (FILE *__stream);
    368 # 246 "/usr/include/stdio.h" 3 4
    369 extern FILE *fopen (const char *__restrict __filename,
    370       const char *__restrict __modes) ;
    371
    372
    373
    374
    375 extern FILE *freopen (const char *__restrict __filename,
    376         const char *__restrict __modes,
    377         FILE *__restrict __stream) ;
    378 # 279 "/usr/include/stdio.h" 3 4
    379 extern FILE *fdopen (int __fd, const char *__modes) __attribute__ ((__nothrow__ , __leaf__)) ;
    380 # 292 "/usr/include/stdio.h" 3 4
    381 extern FILE *fmemopen (void *__s, size_t __len, const char *__modes)
    382   __attribute__ ((__nothrow__ , __leaf__)) ;
    383
    384
    385
    386
    387 extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) __attribute__ ((__nothrow__ , __leaf__)) ;
    388
    389
    390
    391
    392
    393 extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) __attribute__ ((__nothrow__ , __leaf__));
    394
    395
    396
    397 extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
    398       int __modes, size_t __n) __attribute__ ((__nothrow__ , __leaf__));
    399
    400
    401
    402
    403 extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
    404          size_t __size) __attribute__ ((__nothrow__ , __leaf__));
    405
    406
    407 extern void setlinebuf (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
    408
    409
    410
    411
    412
    413
    414
    415 extern int fprintf (FILE *__restrict __stream,
    416       const char *__restrict __format, ...);
    417
    418
    419
    420
    421 extern int printf (const char *__restrict __format, ...);
    422
    423 extern int sprintf (char *__restrict __s,
    424       const char *__restrict __format, ...) __attribute__ ((__nothrow__));
    425
    426
    427
    428
    429
    430 extern int vfprintf (FILE *__restrict __s, const char *__restrict __format,
    431        __gnuc_va_list __arg);
    432
    433
    434
    435
    436 extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg);
    437
    438 extern int vsprintf (char *__restrict __s, const char *__restrict __format,
    439        __gnuc_va_list __arg) __attribute__ ((__nothrow__));
    440
    441
    442
    443 extern int snprintf (char *__restrict __s, size_t __maxlen,
    444        const char *__restrict __format, ...)
    445      __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 4)));
    446
    447 extern int vsnprintf (char *__restrict __s, size_t __maxlen,
    448         const char *__restrict __format, __gnuc_va_list __arg)
    449      __attribute__ ((__nothrow__)) __attribute__ ((__format__ (__printf__, 3, 0)));
    450 # 379 "/usr/include/stdio.h" 3 4
    451 extern int vdprintf (int __fd, const char *__restrict __fmt,
    452        __gnuc_va_list __arg)
    453      __attribute__ ((__format__ (__printf__, 2, 0)));
    454 extern int dprintf (int __fd, const char *__restrict __fmt, ...)
    455      __attribute__ ((__format__ (__printf__, 2, 3)));
    456
    457
    458
    459
    460
    461
    462
    463 extern int fscanf (FILE *__restrict __stream,
    464      const char *__restrict __format, ...) ;
    465
    466
    467
    468
    469 extern int scanf (const char *__restrict __format, ...) ;
    470
    471 extern int sscanf (const char *__restrict __s,
    472      const char *__restrict __format, ...) __attribute__ ((__nothrow__ , __leaf__));
    473
    474
    475
    476
    477
    478
    479 extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf")
    480
    481                                ;
    482 extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf")
    483                               ;
    484 extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) __asm__ ("" "__isoc99_sscanf") __attribute__ ((__nothrow__ , __leaf__))
    485
    486                       ;
    487 # 432 "/usr/include/stdio.h" 3 4
    488 extern int vfscanf (FILE *__restrict __s, const char *__restrict __format,
    489       __gnuc_va_list __arg)
    490      __attribute__ ((__format__ (__scanf__, 2, 0))) ;
    491
    492
    493
    494
    495
    496 extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg)
    497      __attribute__ ((__format__ (__scanf__, 1, 0))) ;
    498
    499
    500 extern int vsscanf (const char *__restrict __s,
    501       const char *__restrict __format, __gnuc_va_list __arg)
    502      __attribute__ ((__nothrow__ , __leaf__)) __attribute__ ((__format__ (__scanf__, 2, 0)));
    503
    504
    505
    506
    507 extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf")
    508
    509
    510
    511      __attribute__ ((__format__ (__scanf__, 2, 0))) ;
    512 extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf")
    513
    514      __attribute__ ((__format__ (__scanf__, 1, 0))) ;
    515 extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vsscanf") __attribute__ ((__nothrow__ , __leaf__))
    516
    517
    518
    519      __attribute__ ((__format__ (__scanf__, 2, 0)));
    520 # 485 "/usr/include/stdio.h" 3 4
    521 extern int fgetc (FILE *__stream);
    522 extern int getc (FILE *__stream);
    523
    524
    525
    526
    527
    528 extern int getchar (void);
    529
    530
    531
    532
    533
    534
    535 extern int getc_unlocked (FILE *__stream);
    536 extern int getchar_unlocked (void);
    537 # 510 "/usr/include/stdio.h" 3 4
    538 extern int fgetc_unlocked (FILE *__stream);
    539 # 521 "/usr/include/stdio.h" 3 4
    540 extern int fputc (int __c, FILE *__stream);
    541 extern int putc (int __c, FILE *__stream);
    542
    543
    544
    545
    546
    547 extern int putchar (int __c);
    548 # 537 "/usr/include/stdio.h" 3 4
    549 extern int fputc_unlocked (int __c, FILE *__stream);
    550
    551
    552
    553
    554
    555
    556
    557 extern int putc_unlocked (int __c, FILE *__stream);
    558 extern int putchar_unlocked (int __c);
    559
    560
    561
    562
    563
    564
    565 extern int getw (FILE *__stream);
    566
    567
    568 extern int putw (int __w, FILE *__stream);
    569
    570
    571
    572
    573
    574
    575
    576 extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
    577      ;
    578 # 603 "/usr/include/stdio.h" 3 4
    579 extern __ssize_t __getdelim (char **__restrict __lineptr,
    580                              size_t *__restrict __n, int __delimiter,
    581                              FILE *__restrict __stream) ;
    582 extern __ssize_t getdelim (char **__restrict __lineptr,
    583                            size_t *__restrict __n, int __delimiter,
    584                            FILE *__restrict __stream) ;
    585
    586
    587
    588
    589
    590
    591
    592 extern __ssize_t getline (char **__restrict __lineptr,
    593                           size_t *__restrict __n,
    594                           FILE *__restrict __stream) ;
    595
    596
    597
    598
    599
    600
    601
    602 extern int fputs (const char *__restrict __s, FILE *__restrict __stream);
    603
    604
    605
    606
    607
    608 extern int puts (const char *__s);
    609
    610
    611
    612
    613
    614
    615 extern int ungetc (int __c, FILE *__stream);
    616
    617
    618
    619
    620
    621
    622 extern size_t fread (void *__restrict __ptr, size_t __size,
    623        size_t __n, FILE *__restrict __stream) ;
    624
    625
    626
    627
    628 extern size_t fwrite (const void *__restrict __ptr, size_t __size,
    629         size_t __n, FILE *__restrict __s);
    630 # 673 "/usr/include/stdio.h" 3 4
    631 extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
    632          size_t __n, FILE *__restrict __stream) ;
    633 extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size,
    634           size_t __n, FILE *__restrict __stream);
    635
    636
    637
    638
    639
    640
    641
    642 extern int fseek (FILE *__stream, long int __off, int __whence);
    643
    644
    645
    646
    647 extern long int ftell (FILE *__stream) ;
    648
    649
    650
    651
    652 extern void rewind (FILE *__stream);
    653 # 707 "/usr/include/stdio.h" 3 4
    654 extern int fseeko (FILE *__stream, __off_t __off, int __whence);
    655
    656
    657
    658
    659 extern __off_t ftello (FILE *__stream) ;
    660 # 731 "/usr/include/stdio.h" 3 4
    661 extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
    662
    663
    664
    665
    666 extern int fsetpos (FILE *__stream, const fpos_t *__pos);
    667 # 757 "/usr/include/stdio.h" 3 4
    668 extern void clearerr (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
    669
    670 extern int feof (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
    671
    672 extern int ferror (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
    673
    674
    675
    676 extern void clearerr_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
    677 extern int feof_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
    678 extern int ferror_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
    679
    680
    681
    682
    683
    684
    685
    686 extern void perror (const char *__s);
    687
    688
    689
    690
    691
    692 # 1 "/usr/include/bits/sys_errlist.h" 1 3 4
    693 # 26 "/usr/include/bits/sys_errlist.h" 3 4
    694 extern int sys_nerr;
    695 extern const char *const sys_errlist[];
    696 # 782 "/usr/include/stdio.h" 2 3 4
    697
    698
    699
    700
    701 extern int fileno (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
    702
    703
    704
    705
    706 extern int fileno_unlocked (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
    707 # 800 "/usr/include/stdio.h" 3 4
    708 extern FILE *popen (const char *__command, const char *__modes) ;
    709
    710
    711
    712
    713
    714 extern int pclose (FILE *__stream);
    715
    716
    717
    718
    719
    720 extern char *ctermid (char *__s) __attribute__ ((__nothrow__ , __leaf__));
    721 # 840 "/usr/include/stdio.h" 3 4
    722 extern void flockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
    723
    724
    725
    726 extern int ftrylockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__)) ;
    727
    728
    729 extern void funlockfile (FILE *__stream) __attribute__ ((__nothrow__ , __leaf__));
    730 # 858 "/usr/include/stdio.h" 3 4
    731 extern int __uflow (FILE *);
    732 extern int __overflow (FILE *, int);
    733 # 873 "/usr/include/stdio.h" 3 4
    734
    735 # 2 "hello.c" 2
    736
    737
    738
    739
    740 # 5 "hello.c"
    741 int main(int argc, char **argv)
    742 {
    743  printf("Hello world!
    ");
    744  printf("PI: %f
    ", 3.141593);
    745
    746  return 0;
    747 }
    ~                                        
    

    2、编译:命令  gcc hello.i -S -o hello.s, 结果:

      1     .arch armv8-a
      2     .file   "hello.c"
      3     .text
      4     .section    .rodata
      5     .align  3
      6 .LC0:
      7     .string "Hello world!"
      8     .align  3
      9 .LC1:
     10     .string "PI: %f
    "
     11     .text
     12     .align  2
     13     .global main
     14     .type   main, %function
     15 main:
     16 .LFB0:
     17     .cfi_startproc
     18     stp x29, x30, [sp, -32]!
     19     .cfi_def_cfa_offset 32
     20     .cfi_offset 29, -32
     21     .cfi_offset 30, -24
     22     mov x29, sp
     23     str w0, [sp, 28]
     24     str x1, [sp, 16]
     25     adrp    x0, .LC0
     26     add x0, x0, :lo12:.LC0
     27     bl  puts
     28     adrp    x0, .LC2
     29     ldr d0, [x0, #:lo12:.LC2]
     30     adrp    x0, .LC1
     31     add x0, x0, :lo12:.LC1
     32     bl  printf
     33     mov w0, 0
     34     ldp x29, x30, [sp], 32
     35     .cfi_restore 30
     36     .cfi_restore 29
     37     .cfi_def_cfa_offset 0
     38     ret
     39     .cfi_endproc
     40 .LFE0:
     41     .size   main, .-main
     42     .section    .rodata
     43     .align  3
     44 .LC2:
     45     .word   2193800575
     46     .word   1074340347
     47     .ident  "GCC: (GNU) 9.1.0"
     48     .section    .note.GNU-stack,"",@progbits
    

    3、汇编:命令  gcc hello.s -c -o hello.o, 结果:使用二进制文件查看,命令:od  hello.o

    0000000 042577 043114 000402 000001 000000 000000 000000 000000
    0000020 000001 000267 000001 000000 000000 000000 000000 000000
    0000040 000000 000000 000000 000000 001670 000000 000000 000000
    0000060 000000 000000 000100 000000 000000 000100 000015 000014
    0000100 075775 124676 001775 110400 017740 134400 005741 174400
    0000120 000000 110000 000000 110400 000000 112000 000000 110000
    0000140 000000 176500 000000 110000 000000 110400 000000 112000
    0000160 000000 051200 075775 124302 001700 153137 000000 000000
    0000200 062510 066154 020157 067567 066162 020544 000000 000000
    0000220 044520 020072 063045 000012 136577 101302 020773 040011
    0000240 043400 041503 020072 043450 052516 020051 027071 027061
    0000260 000060 000000 000000 000000 000020 000000 000000 000000
    0000300 075001 000122 074004 000436 006033 000037 000040 000000
    0000320 000030 000000 000000 000000 000074 000000 040400 020016
    0000340 002235 001636 157115 007335 000000 000000 000000 000000
    0000360 000000 000000 000000 000000 000000 000000 000000 000000
    0000400 000000 000000 000000 000000 000001 000000 000004 177761
    0000420 000000 000000 000000 000000 000000 000000 000000 000000
    0000440 000000 000000 000003 000001 000000 000000 000000 000000
    0000460 000000 000000 000000 000000 000000 000000 000003 000003
    0000500 000000 000000 000000 000000 000000 000000 000000 000000
    0000520 000000 000000 000003 000004 000000 000000 000000 000000
    0000540 000000 000000 000000 000000 000000 000000 000003 000005
    0000560 000000 000000 000000 000000 000000 000000 000000 000000
    0000600 000011 000000 000000 000005 000000 000000 000000 000000
    0000620 000000 000000 000000 000000 000014 000000 000000 000001
    0000640 000000 000000 000000 000000 000000 000000 000000 000000
    0000660 000000 000000 000003 000007 000000 000000 000000 000000
    0000700 000000 000000 000000 000000 000011 000000 000000 000010
    0000720 000024 000000 000000 000000 000000 000000 000000 000000
    0000740 000000 000000 000003 000010 000000 000000 000000 000000
    0000760 000000 000000 000000 000000 000000 000000 000003 000006
    0001000 000000 000000 000000 000000 000000 000000 000000 000000
    0001020 000017 000000 000022 000001 000000 000000 000000 000000
    0001040 000074 000000 000000 000000 000024 000000 000020 000000
    0001060 000000 000000 000000 000000 000000 000000 000000 000000
    0001100 000031 000000 000020 000000 000000 000000 000000 000000
    0001120 000000 000000 000000 000000 064000 066145 067554 061456
    0001140 022000 000144 074044 066400 064541 000156 072560 071564
    0001160 070000 064562 072156 000146 000020 000000 000000 000000
    0001200 000423 000000 000005 000000 000000 000000 000000 000000
    0001220 000024 000000 000000 000000 000425 000000 000005 000000
    0001240 000000 000000 000000 000000 000030 000000 000000 000000
    0001260 000433 000000 000015 000000 000000 000000 000000 000000
    0001300 000034 000000 000000 000000 000423 000000 000005 000000
    0001320 000030 000000 000000 000000 000040 000000 000000 000000
    0001340 000436 000000 000005 000000 000030 000000 000000 000000
    0001360 000044 000000 000000 000000 000423 000000 000005 000000
    0001400 000020 000000 000000 000000 000050 000000 000000 000000
    0001420 000425 000000 000005 000000 000020 000000 000000 000000
    0001440 000054 000000 000000 000000 000433 000000 000016 000000
    0001460 000000 000000 000000 000000 000034 000000 000000 000000
    0001500 000405 000000 000002 000000 000000 000000 000000 000000
    0001520 027000 074563 072155 061141 027000 072163 072162 061141
    0001540 027000 064163 072163 072162 061141 027000 062562 060554
    0001560 072056 074145 000164 062056 072141 000141 061056 071563
    0001600 027000 067562 060544 060564 027000 067543 066555 067145
    0001620 000164 067056 072157 027145 047107 026525 072163 061541
    0001640 000153 071056 066145 027141 064145 063137 060562 062555
    0001660 000000 000000 000000 000000 000000 000000 000000 000000
    *
    0001760 000000 000000 000000 000000 000040 000000 000001 000000
    0002000 000006 000000 000000 000000 000000 000000 000000 000000
    0002020 000100 000000 000000 000000 000074 000000 000000 000000
    0002040 000000 000000 000000 000000 000004 000000 000000 000000
    0002060 000000 000000 000000 000000 000033 000000 000004 000000
    0002100 000100 000000 000000 000000 000000 000000 000000 000000
    0002120 001170 000000 000000 000000 000300 000000 000000 000000
    0002140 000012 000000 000001 000000 000010 000000 000000 000000
    0002160 000030 000000 000000 000000 000046 000000 000001 000000
    0002200 000003 000000 000000 000000 000000 000000 000000 000000
    0002220 000174 000000 000000 000000 000000 000000 000000 000000
    0002240 000000 000000 000000 000000 000001 000000 000000 000000
    0002260 000000 000000 000000 000000 000054 000000 000010 000000
    0002300 000003 000000 000000 000000 000000 000000 000000 000000
    0002320 000174 000000 000000 000000 000000 000000 000000 000000
    0002340 000000 000000 000000 000000 000001 000000 000000 000000
    0002360 000000 000000 000000 000000 000061 000000 000001 000000
    0002400 000002 000000 000000 000000 000000 000000 000000 000000
    0002420 000200 000000 000000 000000 000040 000000 000000 000000
    0002440 000000 000000 000000 000000 000010 000000 000000 000000
    0002460 000000 000000 000000 000000 000071 000000 000001 000000
    0002500 000060 000000 000000 000000 000000 000000 000000 000000
    0002520 000240 000000 000000 000000 000022 000000 000000 000000
    0002540 000000 000000 000000 000000 000001 000000 000000 000000
    0002560 000001 000000 000000 000000 000102 000000 000001 000000
    0002600 000000 000000 000000 000000 000000 000000 000000 000000
    0002620 000262 000000 000000 000000 000000 000000 000000 000000
    0002640 000000 000000 000000 000000 000001 000000 000000 000000
    0002660 000000 000000 000000 000000 000127 000000 000001 000000
    0002700 000002 000000 000000 000000 000000 000000 000000 000000
    0002720 000270 000000 000000 000000 000070 000000 000000 000000
    0002740 000000 000000 000000 000000 000010 000000 000000 000000
    0002760 000000 000000 000000 000000 000122 000000 000004 000000
    0003000 000100 000000 000000 000000 000000 000000 000000 000000
    0003020 001470 000000 000000 000000 000030 000000 000000 000000
    0003040 000012 000000 000010 000000 000010 000000 000000 000000
    0003060 000030 000000 000000 000000 000001 000000 000002 000000
    0003100 000000 000000 000000 000000 000000 000000 000000 000000
    0003120 000360 000000 000000 000000 000550 000000 000000 000000
    0003140 000013 000000 000014 000000 000010 000000 000000 000000
    0003160 000030 000000 000000 000000 000011 000000 000003 000000
    0003200 000000 000000 000000 000000 000000 000000 000000 000000
    0003220 001130 000000 000000 000000 000040 000000 000000 000000
    0003240 000000 000000 000000 000000 000001 000000 000000 000000
    0003260 000000 000000 000000 000000 000021 000000 000003 000000
    0003300 000000 000000 000000 000000 000000 000000 000000 000000
    0003320 001520 000000 000000 000000 000141 000000 000000 000000
    0003340 000000 000000 000000 000000 000001 000000 000000 000000
    0003360 000000 000000 000000 000000
    0003370

      结果:使用十六进制文件查看,命令:hexdump  hello.o

    0000000 457f 464c 0102 0001 0000 0000 0000 0000
    0000010 0001 00b7 0001 0000 0000 0000 0000 0000
    0000020 0000 0000 0000 0000 03b8 0000 0000 0000
    0000030 0000 0000 0040 0000 0000 0040 000d 000c
    0000040 7bfd a9be 03fd 9100 1fe0 b900 0be1 f900
    0000050 0000 9000 0000 9100 0000 9400 0000 9000
    0000060 0000 fd40 0000 9000 0000 9100 0000 9400
    0000070 0000 5280 7bfd a8c2 03c0 d65f 0000 0000
    0000080 6548 6c6c 206f 6f77 6c72 2164 0000 0000
    0000090 4950 203a 6625 000a bd7f 82c2 21fb 4009
    00000a0 4700 4343 203a 4728 554e 2029 2e39 2e31
    00000b0 0030 0000 0000 0000 0010 0000 0000 0000
    00000c0 7a01 0052 7804 011e 0c1b 001f 0020 0000
    00000d0 0018 0000 0000 0000 003c 0000 4100 200e
    00000e0 049d 039e de4d 0edd 0000 0000 0000 0000
    00000f0 0000 0000 0000 0000 0000 0000 0000 0000
    0000100 0000 0000 0000 0000 0001 0000 0004 fff1
    0000110 0000 0000 0000 0000 0000 0000 0000 0000
    0000120 0000 0000 0003 0001 0000 0000 0000 0000
    0000130 0000 0000 0000 0000 0000 0000 0003 0003
    0000140 0000 0000 0000 0000 0000 0000 0000 0000
    0000150 0000 0000 0003 0004 0000 0000 0000 0000
    0000160 0000 0000 0000 0000 0000 0000 0003 0005
    0000170 0000 0000 0000 0000 0000 0000 0000 0000
    0000180 0009 0000 0000 0005 0000 0000 0000 0000
    0000190 0000 0000 0000 0000 000c 0000 0000 0001
    00001a0 0000 0000 0000 0000 0000 0000 0000 0000
    00001b0 0000 0000 0003 0007 0000 0000 0000 0000
    00001c0 0000 0000 0000 0000 0009 0000 0000 0008
    00001d0 0014 0000 0000 0000 0000 0000 0000 0000
    00001e0 0000 0000 0003 0008 0000 0000 0000 0000
    00001f0 0000 0000 0000 0000 0000 0000 0003 0006
    0000200 0000 0000 0000 0000 0000 0000 0000 0000
    0000210 000f 0000 0012 0001 0000 0000 0000 0000
    0000220 003c 0000 0000 0000 0014 0000 0010 0000
    0000230 0000 0000 0000 0000 0000 0000 0000 0000
    0000240 0019 0000 0010 0000 0000 0000 0000 0000
    0000250 0000 0000 0000 0000 6800 6c65 6f6c 632e
    0000260 2400 0064 7824 6d00 6961 006e 7570 7374
    0000270 7000 6972 746e 0066 0010 0000 0000 0000
    0000280 0113 0000 0005 0000 0000 0000 0000 0000
    0000290 0014 0000 0000 0000 0115 0000 0005 0000
    00002a0 0000 0000 0000 0000 0018 0000 0000 0000
    00002b0 011b 0000 000d 0000 0000 0000 0000 0000
    00002c0 001c 0000 0000 0000 0113 0000 0005 0000
    00002d0 0018 0000 0000 0000 0020 0000 0000 0000
    00002e0 011e 0000 0005 0000 0018 0000 0000 0000
    00002f0 0024 0000 0000 0000 0113 0000 0005 0000
    0000300 0010 0000 0000 0000 0028 0000 0000 0000
    0000310 0115 0000 0005 0000 0010 0000 0000 0000
    0000320 002c 0000 0000 0000 011b 0000 000e 0000
    0000330 0000 0000 0000 0000 001c 0000 0000 0000
    0000340 0105 0000 0002 0000 0000 0000 0000 0000
    0000350 2e00 7973 746d 6261 2e00 7473 7472 6261
    0000360 2e00 6873 7473 7472 6261 2e00 6572 616c
    0000370 742e 7865 0074 642e 7461 0061 622e 7373
    0000380 2e00 6f72 6164 6174 2e00 6f63 6d6d 6e65
    0000390 0074 6e2e 746f 2e65 4e47 2d55 7473 6361
    00003a0 006b 722e 6c65 2e61 6865 665f 6172 656d
    00003b0 0000 0000 0000 0000 0000 0000 0000 0000
    *
    00003f0 0000 0000 0000 0000 0020 0000 0001 0000
    0000400 0006 0000 0000 0000 0000 0000 0000 0000
    0000410 0040 0000 0000 0000 003c 0000 0000 0000
    0000420 0000 0000 0000 0000 0004 0000 0000 0000
    0000430 0000 0000 0000 0000 001b 0000 0004 0000
    0000440 0040 0000 0000 0000 0000 0000 0000 0000
    0000450 0278 0000 0000 0000 00c0 0000 0000 0000
    0000460 000a 0000 0001 0000 0008 0000 0000 0000
    0000470 0018 0000 0000 0000 0026 0000 0001 0000
    0000480 0003 0000 0000 0000 0000 0000 0000 0000
    0000490 007c 0000 0000 0000 0000 0000 0000 0000
    00004a0 0000 0000 0000 0000 0001 0000 0000 0000
    00004b0 0000 0000 0000 0000 002c 0000 0008 0000
    00004c0 0003 0000 0000 0000 0000 0000 0000 0000
    00004d0 007c 0000 0000 0000 0000 0000 0000 0000
    00004e0 0000 0000 0000 0000 0001 0000 0000 0000
    00004f0 0000 0000 0000 0000 0031 0000 0001 0000
    0000500 0002 0000 0000 0000 0000 0000 0000 0000
    0000510 0080 0000 0000 0000 0020 0000 0000 0000
    0000520 0000 0000 0000 0000 0008 0000 0000 0000
    0000530 0000 0000 0000 0000 0039 0000 0001 0000
    0000540 0030 0000 0000 0000 0000 0000 0000 0000
    0000550 00a0 0000 0000 0000 0012 0000 0000 0000
    0000560 0000 0000 0000 0000 0001 0000 0000 0000
    0000570 0001 0000 0000 0000 0042 0000 0001 0000
    0000580 0000 0000 0000 0000 0000 0000 0000 0000
    0000590 00b2 0000 0000 0000 0000 0000 0000 0000
    00005a0 0000 0000 0000 0000 0001 0000 0000 0000
    00005b0 0000 0000 0000 0000 0057 0000 0001 0000
    00005c0 0002 0000 0000 0000 0000 0000 0000 0000
    00005d0 00b8 0000 0000 0000 0038 0000 0000 0000
    00005e0 0000 0000 0000 0000 0008 0000 0000 0000
    00005f0 0000 0000 0000 0000 0052 0000 0004 0000
    0000600 0040 0000 0000 0000 0000 0000 0000 0000
    0000610 0338 0000 0000 0000 0018 0000 0000 0000
    0000620 000a 0000 0008 0000 0008 0000 0000 0000
    0000630 0018 0000 0000 0000 0001 0000 0002 0000
    0000640 0000 0000 0000 0000 0000 0000 0000 0000
    0000650 00f0 0000 0000 0000 0168 0000 0000 0000
    0000660 000b 0000 000c 0000 0008 0000 0000 0000
    0000670 0018 0000 0000 0000 0009 0000 0003 0000
    0000680 0000 0000 0000 0000 0000 0000 0000 0000
    0000690 0258 0000 0000 0000 0020 0000 0000 0000
    00006a0 0000 0000 0000 0000 0001 0000 0000 0000
    00006b0 0000 0000 0000 0000 0011 0000 0003 0000
    00006c0 0000 0000 0000 0000 0000 0000 0000 0000
    00006d0 0350 0000 0000 0000 0061 0000 0000 0000
    00006e0 0000 0000 0000 0000 0001 0000 0000 0000
    00006f0 0000 0000 0000 0000
    00006f8

    4、链接:命令  gcc hello.o  -o hello, 结果生成可执行文件,执行结果为:

    [nication@developROS ~]$ ./hello
    Hello world!
    PI: 3.141593

    5、反编译结果:objdump  -D hello

      1 hello:     文件格式 elf64-littleaarch64
      2 
      3 
      4 Disassembly of section .interp:
      5 
      6 0000000000000238 <.interp>:
      7  238:   62696c2f        .inst   0x62696c2f ; undefined
      8  23c:   2d646c2f        ldp     s15, s27, [x1, #-224]
      9  240:   756e696c        .inst   0x756e696c ; undefined
     10  244:   61612d78        .inst   0x61612d78 ; undefined
     11  248:   36686372        tbz     w18, #13, eb4 <__FRAME_END__+0x4ec>
     12  24c:   6f732e34        .inst   0x6f732e34 ; undefined
     13  250:   地址 0x0000000000000250 越界。
     14 
     15 
     16 Disassembly of section .note.gnu.build-id:
     17 
     18 0000000000000254 <.note.gnu.build-id>:
     19  254:   00000004        .inst   0x00000004 ; undefined
     20  258:   00000014        .inst   0x00000014 ; undefined
     21  25c:   00000003        .inst   0x00000003 ; undefined
     22  260:   00554e47        .inst   0x00554e47 ; undefined
     23  264:   fee4a001        .inst   0xfee4a001 ; undefined
     24  268:   da41d10f        .inst   0xda41d10f ; undefined
     25  26c:   368e7810        tbz     w16, #17, ffffffffffffd16c <__bss_end__+0xfffffffffffec12c>
     26  270:   55fc158d        .inst   0x55fc158d ; undefined
     27  274:   3ac587f6        .inst   0x3ac587f6 ; undefined
     28 
     29 Disassembly of section .note.ABI-tag:
     30 
     31 0000000000000278 <.note.ABI-tag>:
     32  278:   00000004        .word   0x00000004
     33  27c:   00000010        .word   0x00000010
     34  280:   00000001        .word   0x00000001
     35  284:   00554e47        .word   0x00554e47
     36  288:   00000000        .word   0x00000000
     37  28c:   00000003        .word   0x00000003
     38  290:   00000007        .word   0x00000007
     39  294:   00000000        .word   0x00000000
     40 
     41 Disassembly of section .gnu.hash:
     42 
     43 0000000000000298 <.gnu.hash>:
     44  298:   00000001        .inst   0x00000001 ; undefined
     45  29c:   00000001        .inst   0x00000001 ; undefined
     46  2a0:   00000001        .inst   0x00000001 ; undefined
     47         ...
     48 
     49 Disassembly of section .dynsym:
     50 
     51 00000000000002b8 <.dynsym>:
     52         ...
     53  2d4:   000b0003        .inst   0x000b0003 ; undefined
     54  2d8:   00000608        .inst   0x00000608 ; undefined
     55         ...
     56  2ec:   00170003        .inst   0x00170003 ; undefined
     57  2f0:   00011028        .inst   0x00011028 ; undefined
     58         ...
     59  300:   00000049        .inst   0x00000049 ; undefined
     60  304:   00000020        .inst   0x00000020 ; undefined
     61         ...
     62  318:   0000001d        .inst   0x0000001d ; undefined
     63  31c:   00000022        .inst   0x00000022 ; undefined
     64         ...
     65  330:   0000002c        .inst   0x0000002c ; undefined
     66  334:   00000012        .inst   0x00000012 ; undefined
     67         ...
     68  348:   00000065        .inst   0x00000065 ; undefined
     69  34c:   00000020        .inst   0x00000020 ; undefined
     70         ...
     71  360:   00000010        .inst   0x00000010 ; undefined
     72  364:   00000012        .inst   0x00000012 ; undefined
     73         ...
     74  378:   0000000b        .inst   0x0000000b ; undefined
     75  37c:   00000012        .inst   0x00000012 ; undefined
     76         ...
     77  390:   00000074        .inst   0x00000074 ; undefined
     78  394:   00000020        .inst   0x00000020 ; undefined
     79         ...
     80  3a8:   00000016        .inst   0x00000016 ; undefined
     81  3ac:   00000012        .inst   0x00000012 ; undefined
     82         ...
     83 
     84 Disassembly of section .dynstr:
     85 
     86 00000000000003c0 <.dynstr>:
     87  3c0:   62696c00        .inst   0x62696c00 ; undefined
     88  3c4:   6f732e63        .inst   0x6f732e63 ; undefined
     89  3c8:   7000362e        adr     x14, a8f <__FRAME_END__+0xc7>
     90  3cc:   00737475        .inst   0x00737475 ; undefined
     91  3d0:   726f6261        .inst   0x726f6261 ; undefined
     92  3d4:   72700074        .inst   0x72700074 ; undefined
     93  3d8:   66746e69        .inst   0x66746e69 ; undefined
     94  3dc:   635f5f00        .inst   0x635f5f00 ; undefined
     95  3e0:   665f6178        .inst   0x665f6178 ; undefined
     96  3e4:   6c616e69        ldnp    d9, d27, [x19, #-496]
     97  3e8:   00657a69        .inst   0x00657a69 ; undefined
     98  3ec:   696c5f5f        ldpsw   xzr, x23, [x26, #-160]
     99  3f0:   735f6362        .inst   0x735f6362 ; undefined
    100  3f4:   74726174        .inst   0x74726174 ; undefined
    101  3f8:   69616d5f        ldpsw   xzr, x27, [x10, #-248]
    102  3fc:   4c47006e        .inst   0x4c47006e ; undefined
    103  400:   5f434249        .inst   0x5f434249 ; undefined
    104  404:   37312e32        tbnz    w18, #6, 29c8 <__FRAME_END__+0x2000>
    105  408:   54495f00        b.eq    92fe8 <__bss_end__+0x81fa8>  // b.none
    106  40c:   65645f4d        fnmla   z13.h, p7/m, z26.h, z4.h
    107  410:   69676572        ldpsw   x18, x25, [x11, #-200]
    108  414:   72657473        .inst   0x72657473 ; undefined
    109  418:   6c434d54        ldnp    d20, d19, [x10, #48]
    110  41c:   54656e6f        b.nv    cb1e8 <__bss_end__+0xba1a8>
    111  420:   656c6261        fnmls   z1.h, p0/m, z19.h, z12.h
    112  424:   675f5f00        .inst   0x675f5f00 ; undefined
    113  428:   5f6e6f6d        .inst   0x5f6e6f6d ; undefined
    114  42c:   72617473        .inst   0x72617473 ; undefined
    115  430:   005f5f74        .inst   0x005f5f74 ; undefined
    116  434:   4d54495f        .inst   0x4d54495f ; undefined
    117  438:   6765725f        .inst   0x6765725f ; undefined
    118  43c:   65747369        fnmls   z9.h, p4/m, z27.h, z20.h
    119  440:   434d5472        .inst   0x434d5472 ; undefined
    120  444:   656e6f6c        fnmls   z12.h, p3/m, z27.h, z14.h
    121  448:   6c626154        ldnp    d20, d24, [x10, #-480]
    122  44c:   地址 0x000000000000044c 越界。
    123 
    124 
    125 Disassembly of section .gnu.version:
    126 
    127 000000000000044e <.gnu.version>:
    128         ...
    129  456:   00020002        .inst   0x00020002 ; undefined
    130  45a:   00020000        .inst   0x00020000 ; undefined
    131  45e:   00000002        .inst   0x00000002 ; undefined
    132  462:   地址 0x0000000000000462 越界。
    133 
    134 
    135 Disassembly of section .gnu.version_r:
    136 
    137 0000000000000468 <.gnu.version_r>:
    138  468:   00010001        .inst   0x00010001 ; undefined
    139  46c:   00000001        .inst   0x00000001 ; undefined
    140  470:   00000010        .inst   0x00000010 ; undefined
    141  474:   00000000        .inst   0x00000000 ; undefined
    142  478:   06969197        .inst   0x06969197 ; undefined
    143  47c:   00020000        .inst   0x00020000 ; undefined
    144  480:   0000003e        .inst   0x0000003e ; undefined
    145  484:   00000000        .inst   0x00000000 ; undefined
    146 
    147 Disassembly of section .rela.dyn:
    148 
    149 0000000000000488 <.rela.dyn>:
    150  488:   00010db0        .inst   0x00010db0 ; undefined
    151  48c:   00000000        .inst   0x00000000 ; undefined
    152  490:   00000403        .inst   0x00000403 ; undefined
    153  494:   00000000        .inst   0x00000000 ; undefined
    154  498:   00000798        .inst   0x00000798 ; undefined
    155  49c:   00000000        .inst   0x00000000 ; undefined
    156  4a0:   00010db8        .inst   0x00010db8 ; undefined
    157  4a4:   00000000        .inst   0x00000000 ; undefined
    158  4a8:   00000403        .inst   0x00000403 ; undefined
    159  4ac:   00000000        .inst   0x00000000 ; undefined
    160  4b0:   00000750        .inst   0x00000750 ; undefined
    161  4b4:   00000000        .inst   0x00000000 ; undefined
    162  4b8:   00010fa8        .inst   0x00010fa8 ; undefined
    163  4bc:   00000000        .inst   0x00000000 ; undefined
    164  4c0:   00000403        .inst   0x00000403 ; undefined
    165  4c4:   00000000        .inst   0x00000000 ; undefined
    166  4c8:   00000860        .inst   0x00000860 ; undefined
    167  4cc:   00000000        .inst   0x00000000 ; undefined
    168  4d0:   00010fc8        .inst   0x00010fc8 ; undefined
    169  4d4:   00000000        .inst   0x00000000 ; undefined
    170  4d8:   00000403        .inst   0x00000403 ; undefined
    171  4dc:   00000000        .inst   0x00000000 ; undefined
    172  4e0:   000007d8        .inst   0x000007d8 ; undefined
    173  4e4:   00000000        .inst   0x00000000 ; undefined
    174  4e8:   00010fd0        .inst   0x00010fd0 ; undefined
    175  4ec:   00000000        .inst   0x00000000 ; undefined
    176  4f0:   00000403        .inst   0x00000403 ; undefined
    177  4f4:   00000000        .inst   0x00000000 ; undefined
    178  4f8:   0000079c        .inst   0x0000079c ; undefined
    179  4fc:   00000000        .inst   0x00000000 ; undefined
    180  500:   00010fe0        .inst   0x00010fe0 ; undefined
    181  504:   00000000        .inst   0x00000000 ; undefined
    182  508:   00000403        .inst   0x00000403 ; undefined
    183  50c:   00000000        .inst   0x00000000 ; undefined
    184  510:   00000608        .inst   0x00000608 ; undefined
    185  514:   00000000        .inst   0x00000000 ; undefined
    186  518:   00011030        .inst   0x00011030 ; undefined
    187  51c:   00000000        .inst   0x00000000 ; undefined
    188  520:   00000403        .inst   0x00000403 ; undefined
    189  524:   00000000        .inst   0x00000000 ; undefined
    190  528:   00011030        .inst   0x00011030 ; undefined
    191  52c:   00000000        .inst   0x00000000 ; undefined
    192  530:   00010fb0        .inst   0x00010fb0 ; undefined
    193  534:   00000000        .inst   0x00000000 ; undefined
    194  538:   00000401        .inst   0x00000401 ; undefined
    195  53c:   00000003        .inst   0x00000003 ; undefined
    196         ...
    197  548:   00010fb8        .inst   0x00010fb8 ; undefined
    198  54c:   00000000        .inst   0x00000000 ; undefined
    199  550:   00000401        .inst   0x00000401 ; undefined
    200  554:   00000004        .inst   0x00000004 ; undefined
    201         ...
    202  560:   00010fc0        .inst   0x00010fc0 ; undefined
    203  564:   00000000        .inst   0x00000000 ; undefined
    204  568:   00000401        .inst   0x00000401 ; undefined
    205  56c:   00000006        .inst   0x00000006 ; undefined
    206         ...
    207  578:   00010fd8        .inst   0x00010fd8 ; undefined
    208  57c:   00000000        .inst   0x00000000 ; undefined
    209  580:   00000401        .inst   0x00000401 ; undefined
    210  584:   00000009        .inst   0x00000009 ; undefined
    211         ...
    212 
    213 Disassembly of section .rela.plt:
    214 
    215 0000000000000590 <.rela.plt>:
    216  590:   00011000        .inst   0x00011000 ; undefined
    217  594:   00000000        .inst   0x00000000 ; undefined
    218  598:   00000402        .inst   0x00000402 ; undefined
    219  59c:   00000005        .inst   0x00000005 ; undefined
    220         ...
    221  5a8:   00011008        .inst   0x00011008 ; undefined
    222  5ac:   00000000        .inst   0x00000000 ; undefined
    223  5b0:   00000402        .inst   0x00000402 ; undefined
    224  5b4:   00000006        .inst   0x00000006 ; undefined
    225         ...
    226  5c0:   00011010        .inst   0x00011010 ; undefined
    227  5c4:   00000000        .inst   0x00000000 ; undefined
    228  5c8:   00000402        .inst   0x00000402 ; undefined
    229  5cc:   00000007        .inst   0x00000007 ; undefined
    230         ...
    231  5d8:   00011018        .inst   0x00011018 ; undefined
    232  5dc:   00000000        .inst   0x00000000 ; undefined
    233  5e0:   00000402        .inst   0x00000402 ; undefined
    234  5e4:   00000008        .inst   0x00000008 ; undefined
    235         ...
    236  5f0:   00011020        .inst   0x00011020 ; undefined
    237  5f4:   00000000        .inst   0x00000000 ; undefined
    238  5f8:   00000402        .inst   0x00000402 ; undefined
    239  5fc:   0000000a        .inst   0x0000000a ; undefined
    240         ...
    241 
    242 Disassembly of section .init:
    243 
    244 0000000000000608 <_init>:
    245  608:   a9bf7bfd        stp     x29, x30, [sp, #-16]!
    246  60c:   910003fd        mov     x29, sp
    247  610:   9400002e        bl      6c8 <call_weak_fn>
    248  614:   a8c17bfd        ldp     x29, x30, [sp], #16
    249  618:   d65f03c0        ret
    250 
    251 Disassembly of section .plt:
    252 
    253 0000000000000620 <.plt>:
    254  620:   a9bf7bf0        stp     x16, x30, [sp, #-16]!
    255  624:   90000090        adrp    x16, 10000 <__FRAME_END__+0xf638>
    256  628:   f947fe11        ldr     x17, [x16, #4088]
    257  62c:   913fe210        add     x16, x16, #0xff8
    258  630:   d61f0220        br      x17
    259  634:   d503201f        nop
    260  638:   d503201f        nop
    261  63c:   d503201f        nop
    262 
    263 0000000000000640 <__libc_start_main@plt>:
    264  640:   b0000090        adrp    x16, 11000 <__libc_start_main@GLIBC_2.17>
    265  644:   f9400211        ldr     x17, [x16]
    266  648:   91000210        add     x16, x16, #0x0
    267  64c:   d61f0220        br      x17
    268 
    269 0000000000000650 <__gmon_start__@plt>:
    270  650:   b0000090        adrp    x16, 11000 <__libc_start_main@GLIBC_2.17>
    271  654:   f9400611        ldr     x17, [x16, #8]
    272  658:   91002210        add     x16, x16, #0x8
    273  65c:   d61f0220        br      x17
    274 
    275 0000000000000660 <abort@plt>:
    276  660:   b0000090        adrp    x16, 11000 <__libc_start_main@GLIBC_2.17>
    277  664:   f9400a11        ldr     x17, [x16, #16]
    278  668:   91004210        add     x16, x16, #0x10
    279  66c:   d61f0220        br      x17
    280 
    281 0000000000000670 <puts@plt>:
    282  670:   b0000090        adrp    x16, 11000 <__libc_start_main@GLIBC_2.17>
    283  674:   f9400e11        ldr     x17, [x16, #24]
    284  678:   91006210        add     x16, x16, #0x18
    285  67c:   d61f0220        br      x17
    286 
    287 0000000000000680 <printf@plt>:
    288  680:   b0000090        adrp    x16, 11000 <__libc_start_main@GLIBC_2.17>
    289  684:   f9401211        ldr     x17, [x16, #32]
    290  688:   91008210        add     x16, x16, #0x20
    291  68c:   d61f0220        br      x17
    292 
    293 Disassembly of section .text:
    294 
    295 0000000000000690 <_start>:
    296  690:   d280001d        mov     x29, #0x0                       // #0
    297  694:   d280001e        mov     x30, #0x0                       // #0
    298  698:   aa0003e5        mov     x5, x0
    299  69c:   f94003e1        ldr     x1, [sp]
    300  6a0:   910023e2        add     x2, sp, #0x8
    301  6a4:   910003e6        mov     x6, sp
    302  6a8:   90000080        adrp    x0, 10000 <__FRAME_END__+0xf638>
    303  6ac:   f947e800        ldr     x0, [x0, #4048]
    304  6b0:   90000083        adrp    x3, 10000 <__FRAME_END__+0xf638>
    305  6b4:   f947e463        ldr     x3, [x3, #4040]
    306  6b8:   90000084        adrp    x4, 10000 <__FRAME_END__+0xf638>
    307  6bc:   f947d484        ldr     x4, [x4, #4008]
    308  6c0:   97ffffe0        bl      640 <__libc_start_main@plt>
    309  6c4:   97ffffe7        bl      660 <abort@plt>
    310 
    311 00000000000006c8 <call_weak_fn>:
    312  6c8:   90000080        adrp    x0, 10000 <__FRAME_END__+0xf638>
    313  6cc:   f947e000        ldr     x0, [x0, #4032]
    314  6d0:   b4000040        cbz     x0, 6d8 <call_weak_fn+0x10>
    315  6d4:   17ffffdf        b       650 <__gmon_start__@plt>
    316  6d8:   d65f03c0        ret
    317  6dc:   d503201f        nop
    318 
    319 00000000000006e0 <deregister_tm_clones>:
    320  6e0:   b0000080        adrp    x0, 11000 <__libc_start_main@GLIBC_2.17>
    321  6e4:   9100e000        add     x0, x0, #0x38
    322  6e8:   b0000081        adrp    x1, 11000 <__libc_start_main@GLIBC_2.17>
    323  6ec:   9100e021        add     x1, x1, #0x38
    324  6f0:   eb00003f        cmp     x1, x0
    325  6f4:   540000c0        b.eq    70c <deregister_tm_clones+0x2c>  // b.none
    326  6f8:   90000081        adrp    x1, 10000 <__FRAME_END__+0xf638>
    327  6fc:   f947d821        ldr     x1, [x1, #4016]
    328  700:   b4000061        cbz     x1, 70c <deregister_tm_clones+0x2c>
    329  704:   aa0103f0        mov     x16, x1
    330  708:   d61f0200        br      x16
    331  70c:   d65f03c0        ret
    332 
    333 0000000000000710 <register_tm_clones>:
    334  710:   b0000080        adrp    x0, 11000 <__libc_start_main@GLIBC_2.17>
    335  714:   9100e000        add     x0, x0, #0x38
    336  718:   b0000081        adrp    x1, 11000 <__libc_start_main@GLIBC_2.17>
    337  71c:   9100e021        add     x1, x1, #0x38
    338  720:   cb000021        sub     x1, x1, x0
    339  724:   d37ffc22        lsr     x2, x1, #63
    340  728:   8b810c41        add     x1, x2, x1, asr #3
    341  72c:   eb8107ff        cmp     xzr, x1, asr #1
    342  730:   9341fc21        asr     x1, x1, #1
    343  734:   540000c0        b.eq    74c <register_tm_clones+0x3c>  // b.none
    344  738:   90000082        adrp    x2, 10000 <__FRAME_END__+0xf638>
    345  73c:   f947ec42        ldr     x2, [x2, #4056]
    346  740:   b4000062        cbz     x2, 74c <register_tm_clones+0x3c>
    347  744:   aa0203f0        mov     x16, x2
    348  748:   d61f0200        br      x16
    349  74c:   d65f03c0        ret
    350 
    351 0000000000000750 <__do_global_dtors_aux>:
    352  750:   a9be7bfd        stp     x29, x30, [sp, #-32]!
    353  754:   910003fd        mov     x29, sp
    354  758:   f9000bf3        str     x19, [sp, #16]
    355  75c:   b0000093        adrp    x19, 11000 <__libc_start_main@GLIBC_2.17>
    356  760:   3940e260        ldrb    w0, [x19, #56]
    357  764:   35000140        cbnz    w0, 78c <__do_global_dtors_aux+0x3c>
    358  768:   90000081        adrp    x1, 10000 <__FRAME_END__+0xf638>
    359  76c:   f947dc21        ldr     x1, [x1, #4024]
    360  770:   b4000081        cbz     x1, 780 <__do_global_dtors_aux+0x30>
    361  774:   b0000080        adrp    x0, 11000 <__libc_start_main@GLIBC_2.17>
    362  778:   f9401800        ldr     x0, [x0, #48]
    363  77c:   d63f0020        blr     x1
    364  780:   97ffffd8        bl      6e0 <deregister_tm_clones>
    365  784:   52800020        mov     w0, #0x1                        // #1
    366  788:   3900e260        strb    w0, [x19, #56]
    367  78c:   f9400bf3        ldr     x19, [sp, #16]
    368  790:   a8c27bfd        ldp     x29, x30, [sp], #32
    369  794:   d65f03c0        ret
    370 
    371 0000000000000798 <frame_dummy>:
    372  798:   17ffffde        b       710 <register_tm_clones>
    373 
    374 000000000000079c <main>:
    375  79c:   a9be7bfd        stp     x29, x30, [sp, #-32]!
    376  7a0:   910003fd        mov     x29, sp
    377  7a4:   b9001fe0        str     w0, [sp, #28]
    378  7a8:   f9000be1        str     x1, [sp, #16]
    379  7ac:   90000000        adrp    x0, 0 <_init-0x608>
    380  7b0:   91220000        add     x0, x0, #0x880
    381  7b4:   97ffffaf        bl      670 <puts@plt>
    382  7b8:   90000000        adrp    x0, 0 <_init-0x608>
    383  7bc:   fd444c00        ldr     d0, [x0, #2200]
    384  7c0:   90000000        adrp    x0, 0 <_init-0x608>
    385  7c4:   91224000        add     x0, x0, #0x890
    386  7c8:   97ffffae        bl      680 <printf@plt>
    387  7cc:   52800000        mov     w0, #0x0                        // #0
    388  7d0:   a8c27bfd        ldp     x29, x30, [sp], #32
    389  7d4:   d65f03c0        ret
    390 
    391 00000000000007d8 <__libc_csu_init>:
    392  7d8:   a9bc7bfd        stp     x29, x30, [sp, #-64]!
    393  7dc:   910003fd        mov     x29, sp
    394  7e0:   a9025bf5        stp     x21, x22, [sp, #32]
    395  7e4:   2a0003f6        mov     w22, w0
    396  7e8:   90000080        adrp    x0, 10000 <__FRAME_END__+0xf638>
    397  7ec:   90000095        adrp    x21, 10000 <__FRAME_END__+0xf638>
    398  7f0:   9136c2b5        add     x21, x21, #0xdb0
    399  7f4:   f947f000        ldr     x0, [x0, #4064]
    400  7f8:   a90153f3        stp     x19, x20, [sp, #16]
    401  7fc:   90000094        adrp    x20, 10000 <__FRAME_END__+0xf638>
    402  800:   9136e294        add     x20, x20, #0xdb8
    403  804:   a90363f7        stp     x23, x24, [sp, #48]
    404  808:   cb150294        sub     x20, x20, x21
    405  80c:   aa0103f7        mov     x23, x1
    406  810:   aa0203f8        mov     x24, x2
    407  814:   9343fe94        asr     x20, x20, #3
    408  818:   d63f0000        blr     x0
    409  81c:   b4000174        cbz     x20, 848 <__libc_csu_init+0x70>
    410  820:   d2800013        mov     x19, #0x0                       // #0
    411  824:   d503201f        nop
    412  828:   f8737aa3        ldr     x3, [x21, x19, lsl #3]
    413  82c:   aa1803e2        mov     x2, x24
    414  830:   91000673        add     x19, x19, #0x1
    415  834:   aa1703e1        mov     x1, x23
    416  838:   2a1603e0        mov     w0, w22
    417  83c:   d63f0060        blr     x3
    418  840:   eb13029f        cmp     x20, x19
    419  844:   54ffff21        b.ne    828 <__libc_csu_init+0x50>  // b.any
    420  848:   a94153f3        ldp     x19, x20, [sp, #16]
    421  84c:   a9425bf5        ldp     x21, x22, [sp, #32]
    422  850:   a94363f7        ldp     x23, x24, [sp, #48]
    423  854:   a8c47bfd        ldp     x29, x30, [sp], #64
    424  858:   d65f03c0        ret
    425  85c:   d503201f        nop
    426 
    427 0000000000000860 <__libc_csu_fini>:
    428  860:   d65f03c0        ret
    429 
    430 Disassembly of section .fini:
    431 
    432 0000000000000864 <_fini>:
    433  864:   a9bf7bfd        stp     x29, x30, [sp, #-16]!
    434  868:   910003fd        mov     x29, sp
    435  86c:   a8c17bfd        ldp     x29, x30, [sp], #16
    436  870:   d65f03c0        ret
    437 
    438 Disassembly of section .rodata:
    439 
    440 0000000000000878 <_IO_stdin_used>:
    441  878:   00020001        .word   0x00020001
    442  87c:   00000000        .word   0x00000000
    443  880:   6c6c6548        .word   0x6c6c6548
    444  884:   6f77206f        .word   0x6f77206f
    445  888:   21646c72        .word   0x21646c72
    446  88c:   00000000        .word   0x00000000
    447  890:   203a4950        .word   0x203a4950
    448  894:   000a6625        .word   0x000a6625
    449  898:   82c2bd7f        .word   0x82c2bd7f
    450  89c:   400921fb        .word   0x400921fb
    451 
    452 Disassembly of section .eh_frame_hdr:
    453 
    454 00000000000008a0 <__GNU_EH_FRAME_HDR>:
    455  8a0:   3b031b01        .inst   0x3b031b01 ; undefined
    456  8a4:   00000044        .inst   0x00000044 ; undefined
    457  8a8:   00000007        .inst   0x00000007 ; undefined
    458  8ac:   fffffe40        .inst   0xfffffe40 ; undefined
    459  8b0:   0000005c        .inst   0x0000005c ; undefined
    460  8b4:   fffffe70        .inst   0xfffffe70 ; undefined
    461  8b8:   00000070        .inst   0x00000070 ; undefined
    462  8bc:   fffffeb0        .inst   0xfffffeb0 ; undefined
    463  8c0:   00000084        .inst   0x00000084 ; undefined
    464  8c4:   fffffef8        .inst   0xfffffef8 ; undefined
    465  8c8:   000000a8        .inst   0x000000a8 ; undefined
    466  8cc:   fffffefc        .inst   0xfffffefc ; undefined
    467  8d0:   000000c0        .inst   0x000000c0 ; undefined
    468  8d4:   ffffff38        .inst   0xffffff38 ; undefined
    469  8d8:   000000e0        .inst   0x000000e0 ; undefined
    470  8dc:   ffffffc0        .inst   0xffffffc0 ; undefined
    471  8e0:   00000114        .inst   0x00000114 ; undefined
    472 
    473 Disassembly of section .eh_frame:
    474 
    475 00000000000008e8 <__FRAME_END__-0xe0>:
    476  8e8:   00000010        .inst   0x00000010 ; undefined
    477  8ec:   00000000        .inst   0x00000000 ; undefined
    478  8f0:   00527a01        .inst   0x00527a01 ; undefined
    479  8f4:   011e7804        .inst   0x011e7804 ; undefined
    480  8f8:   001f0c1b        .inst   0x001f0c1b ; undefined
    481  8fc:   00000010        .word   0x00000010
    482  900:   00000018        .word   0x00000018
    483  904:   fffffddc        .word   0xfffffddc
    484  908:   00000030        .word   0x00000030
    485  90c:   00000000        .word   0x00000000
    486  910:   00000010        .word   0x00000010
    487  914:   0000002c        .word   0x0000002c
    488  918:   fffffdf8        .word   0xfffffdf8
    489  91c:   00000040        .word   0x00000040
    490  920:   00000000        .word   0x00000000
    491  924:   00000020        .word   0x00000020
    492  928:   00000040        .word   0x00000040
    493  92c:   fffffe24        .word   0xfffffe24
    494  930:   00000048        .word   0x00000048
    495  934:   200e4100        .word   0x200e4100
    496  938:   039e049d        .word   0x039e049d
    497  93c:   4e029342        .word   0x4e029342
    498  940:   0ed3ddde        .word   0x0ed3ddde
    499  944:   00000000        .word   0x00000000
    500  948:   00000014        .word   0x00000014
    501  94c:   00000064        .word   0x00000064
    502  950:   fffffe48        .word   0xfffffe48
    503  954:   00000004        .word   0x00000004
    504         ...
    505  960:   0000001c        .word   0x0000001c
    506  964:   0000007c        .word   0x0000007c
    507  968:   fffffe34        .word   0xfffffe34
    508  96c:   0000003c        .word   0x0000003c
    509  970:   200e4100        .word   0x200e4100
    510  974:   039e049d        .word   0x039e049d
    511  978:   0eddde4d        .word   0x0eddde4d
    512  97c:   00000000        .word   0x00000000
    513  980:   00000030        .word   0x00000030
    514  984:   0000009c        .word   0x0000009c
    515  988:   fffffe50        .word   0xfffffe50
    516  98c:   00000084        .word   0x00000084
    517  990:   400e4100        .word   0x400e4100
    518  994:   079e089d        .word   0x079e089d
    519  998:   96049542        .word   0x96049542
    520  99c:   06934603        .word   0x06934603
    521  9a0:   97430594        .word   0x97430594
    522  9a4:   54019802        .word   0x54019802
    523  9a8:   d8d7ddde        .word   0xd8d7ddde
    524  9ac:   d4d3d6d5        .word   0xd4d3d6d5
    525  9b0:   0000000e        .word   0x0000000e
    526  9b4:   00000010        .word   0x00000010
    527  9b8:   000000d0        .word   0x000000d0
    528  9bc:   fffffea4        .word   0xfffffea4
    529  9c0:   00000004        .word   0x00000004
    530  9c4:   00000000        .word   0x00000000
    531 
    532 00000000000009c8 <__FRAME_END__>:
    533  9c8:   00000000        .word   0x00000000
    534 
    535 Disassembly of section .init_array:
    536 
    537 0000000000010db0 <__frame_dummy_init_array_entry>:
    538    10db0:       00000798        .word   0x00000798
    539    10db4:       00000000        .word   0x00000000
    540 
    541 Disassembly of section .fini_array:
    542 
    543 0000000000010db8 <__do_global_dtors_aux_fini_array_entry>:
    544    10db8:       00000750        .word   0x00000750
    545    10dbc:       00000000        .word   0x00000000
    546 
    547 Disassembly of section .dynamic:
    548 
    549 0000000000010dc0 <.dynamic>:
    550    10dc0:       00000001        .inst   0x00000001 ; undefined
    551    10dc4:       00000000        .inst   0x00000000 ; undefined
    552    10dc8:       00000001        .inst   0x00000001 ; undefined
    553    10dcc:       00000000        .inst   0x00000000 ; undefined
    554    10dd0:       0000000c        .inst   0x0000000c ; undefined
    555    10dd4:       00000000        .inst   0x00000000 ; undefined
    556    10dd8:       00000608        .inst   0x00000608 ; undefined
    557    10ddc:       00000000        .inst   0x00000000 ; undefined
    558    10de0:       0000000d        .inst   0x0000000d ; undefined
    559    10de4:       00000000        .inst   0x00000000 ; undefined
    560    10de8:       00000864        .inst   0x00000864 ; undefined
    561    10dec:       00000000        .inst   0x00000000 ; undefined
    562    10df0:       00000019        .inst   0x00000019 ; undefined
    563    10df4:       00000000        .inst   0x00000000 ; undefined
    564    10df8:       00010db0        .inst   0x00010db0 ; undefined
    565    10dfc:       00000000        .inst   0x00000000 ; undefined
    566    10e00:       0000001b        .inst   0x0000001b ; undefined
    567    10e04:       00000000        .inst   0x00000000 ; undefined
    568    10e08:       00000008        .inst   0x00000008 ; undefined
    569    10e0c:       00000000        .inst   0x00000000 ; undefined
    570    10e10:       0000001a        .inst   0x0000001a ; undefined
    571    10e14:       00000000        .inst   0x00000000 ; undefined
    572    10e18:       00010db8        .inst   0x00010db8 ; undefined
    573    10e1c:       00000000        .inst   0x00000000 ; undefined
    574    10e20:       0000001c        .inst   0x0000001c ; undefined
    575    10e24:       00000000        .inst   0x00000000 ; undefined
    576    10e28:       00000008        .inst   0x00000008 ; undefined
    577    10e2c:       00000000        .inst   0x00000000 ; undefined
    578    10e30:       6ffffef5        .inst   0x6ffffef5 ; undefined
    579    10e34:       00000000        .inst   0x00000000 ; undefined
    580    10e38:       00000298        .inst   0x00000298 ; undefined
    581    10e3c:       00000000        .inst   0x00000000 ; undefined
    582    10e40:       00000005        .inst   0x00000005 ; undefined
    583    10e44:       00000000        .inst   0x00000000 ; undefined
    584    10e48:       000003c0        .inst   0x000003c0 ; undefined
    585    10e4c:       00000000        .inst   0x00000000 ; undefined
    586    10e50:       00000006        .inst   0x00000006 ; undefined
    587    10e54:       00000000        .inst   0x00000000 ; undefined
    588    10e58:       000002b8        .inst   0x000002b8 ; undefined
    589    10e5c:       00000000        .inst   0x00000000 ; undefined
    590    10e60:       0000000a        .inst   0x0000000a ; undefined
    591    10e64:       00000000        .inst   0x00000000 ; undefined
    592    10e68:       0000008e        .inst   0x0000008e ; undefined
    593    10e6c:       00000000        .inst   0x00000000 ; undefined
    594    10e70:       0000000b        .inst   0x0000000b ; undefined
    595    10e74:       00000000        .inst   0x00000000 ; undefined
    596    10e78:       00000018        .inst   0x00000018 ; undefined
    597    10e7c:       00000000        .inst   0x00000000 ; undefined
    598    10e80:       00000015        .inst   0x00000015 ; undefined
    599         ...
    600    10e90:       00000003        .inst   0x00000003 ; undefined
    601    10e94:       00000000        .inst   0x00000000 ; undefined
    602    10e98:       00010fe8        .inst   0x00010fe8 ; undefined
    603    10e9c:       00000000        .inst   0x00000000 ; undefined
    604    10ea0:       00000002        .inst   0x00000002 ; undefined
    605    10ea4:       00000000        .inst   0x00000000 ; undefined
    606    10ea8:       00000078        .inst   0x00000078 ; undefined
    607    10eac:       00000000        .inst   0x00000000 ; undefined
    608    10eb0:       00000014        .inst   0x00000014 ; undefined
    609    10eb4:       00000000        .inst   0x00000000 ; undefined
    610    10eb8:       00000007        .inst   0x00000007 ; undefined
    611    10ebc:       00000000        .inst   0x00000000 ; undefined
    612    10ec0:       00000017        .inst   0x00000017 ; undefined
    613    10ec4:       00000000        .inst   0x00000000 ; undefined
    614    10ec8:       00000590        .inst   0x00000590 ; undefined
    615    10ecc:       00000000        .inst   0x00000000 ; undefined
    616    10ed0:       00000007        .inst   0x00000007 ; undefined
    617    10ed4:       00000000        .inst   0x00000000 ; undefined
    618    10ed8:       00000488        .inst   0x00000488 ; undefined
    619    10edc:       00000000        .inst   0x00000000 ; undefined
    620    10ee0:       00000008        .inst   0x00000008 ; undefined
    621    10ee4:       00000000        .inst   0x00000000 ; undefined
    622    10ee8:       00000108        .inst   0x00000108 ; undefined
    623    10eec:       00000000        .inst   0x00000000 ; undefined
    624    10ef0:       00000009        .inst   0x00000009 ; undefined
    625    10ef4:       00000000        .inst   0x00000000 ; undefined
    626    10ef8:       00000018        .inst   0x00000018 ; undefined
    627    10efc:       00000000        .inst   0x00000000 ; undefined
    628    10f00:       6ffffffb        .inst   0x6ffffffb ; undefined
    629    10f04:       00000000        .inst   0x00000000 ; undefined
    630    10f08:       08000000        stxrb   w0, w0, [x0]
    631    10f0c:       00000000        .inst   0x00000000 ; undefined
    632    10f10:       6ffffffe        .inst   0x6ffffffe ; undefined
    633    10f14:       00000000        .inst   0x00000000 ; undefined
    634    10f18:       00000468        .inst   0x00000468 ; undefined
    635    10f1c:       00000000        .inst   0x00000000 ; undefined
    636    10f20:       6fffffff        .inst   0x6fffffff ; undefined
    637    10f24:       00000000        .inst   0x00000000 ; undefined
    638    10f28:       00000001        .inst   0x00000001 ; undefined
    639    10f2c:       00000000        .inst   0x00000000 ; undefined
    640    10f30:       6ffffff0        .inst   0x6ffffff0 ; undefined
    641    10f34:       00000000        .inst   0x00000000 ; undefined
    642    10f38:       0000044e        .inst   0x0000044e ; undefined
    643    10f3c:       00000000        .inst   0x00000000 ; undefined
    644    10f40:       6ffffff9        .inst   0x6ffffff9 ; undefined
    645    10f44:       00000000        .inst   0x00000000 ; undefined
    646    10f48:       00000007        .inst   0x00000007 ; undefined
    647         ...
    648 
    649 Disassembly of section .got:
    650 
    651 0000000000010fa0 <.got>:
    652    10fa0:       00010dc0        .inst   0x00010dc0 ; undefined
    653    10fa4:       00000000        .inst   0x00000000 ; undefined
    654    10fa8:       00000860        .inst   0x00000860 ; undefined
    655         ...
    656    10fc8:       000007d8        .inst   0x000007d8 ; undefined
    657    10fcc:       00000000        .inst   0x00000000 ; undefined
    658    10fd0:       0000079c        .inst   0x0000079c ; undefined
    659         ...
    660    10fe0:       00000608        .inst   0x00000608 ; undefined
    661    10fe4:       00000000        .inst   0x00000000 ; undefined
    662 
    663 Disassembly of section .got.plt:
    664 
    665 0000000000010fe8 <.got.plt>:
    666         ...
    667    11000:       00000620        .inst   0x00000620 ; undefined
    668    11004:       00000000        .inst   0x00000000 ; undefined
    669    11008:       00000620        .inst   0x00000620 ; undefined
    670    1100c:       00000000        .inst   0x00000000 ; undefined
    671    11010:       00000620        .inst   0x00000620 ; undefined
    672    11014:       00000000        .inst   0x00000000 ; undefined
    673    11018:       00000620        .inst   0x00000620 ; undefined
    674    1101c:       00000000        .inst   0x00000000 ; undefined
    675    11020:       00000620        .inst   0x00000620 ; undefined
    676    11024:       00000000        .inst   0x00000000 ; undefined
    677 
    678 Disassembly of section .data:
    679 
    680 0000000000011028 <__data_start>:
    681         ...
    682 
    683 0000000000011030 <__dso_handle>:
    684    11030:       00011030        .word   0x00011030
    685    11034:       00000000        .word   0x00000000
    686 
    687 Disassembly of section .bss:
    688 
    689 0000000000011038 <__bss_start>:
    690         ...
    691 
    692 Disassembly of section .comment:
    693 
    694 0000000000000000 <.comment>:
    695    0:   3a434347        ccmn    w26, w3, #0x7, mi  // mi = first
    696    4:   4e472820        trn1    v0.8h, v1.8h, v7.8h
    697    8:   38202955        .inst   0x38202955 ; undefined
    698    c:   302e332e        adr     x14, 5c671 <__bss_end__+0x4b631>
    699   10:   43434700        .inst   0x43434700 ; undefined
    700   14:   4728203a        .inst   0x4728203a ; undefined
    701   18:   2029554e        .inst   0x2029554e ; undefined
    702   1c:   2e312e39        uqsub   v25.8b, v17.8b, v17.8b
    703   20:   地址 0x0000000000000020 越界。

    好了,一个文件从出生到形成可执行文件,到还原成可执行文件的过程就是这样的。

  • 相关阅读:
    JavaScript系列:《JavaScript高级程序设计》,chapter2, 在html中使用JavaScript
    Java系列:JVM指令详解(下)(zz)
    Java系列:JVM指令详解(上)(zz)
    Java系列:关于Java中的桥接方法
    REST: C#调用REST API (zz)
    Activiti系列:为什么Activiti 5.18 的REST的api总是返回404错误
    timeSeries db之:使用Metrics监控应用程序的性能 (zz)
    Java系列:国际化(zz)
    通过数据库方式访问excel 2007及其以后(xlsx)文件的连接字符串
    java系列:《java核心技术 卷1》学习笔记,chapter 11 调试技巧
  • 原文地址:https://www.cnblogs.com/guochaoxxl/p/12133583.html
Copyright © 2020-2023  润新知