HELLO·Android
系统源代码
IT资讯
技术文章
我的收藏
注册
登录
-
我收藏的文章
创建代码块
我的代码块
我的账号
Android 10
|
10.0.0_r6
下载
查看原文件
收藏
根目录
external
elfutils
tests
run-readelf-line.sh
#! /bin/sh # Copyright (C) 2013, 2018 Red Hat, Inc. # This file is part of elfutils. # # This file is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # # elfutils is distributed in the hope that it will be useful, but # WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see
. . $srcdir/test-subr.sh # Tests readelf --debug-dump=line and --debug-dump=decodedline # See run-readelf-aranges for testfiles. testfiles testfilefoobarbaz testrun_compare ${abs_top_builddir}/src/readelf --debug-dump=line testfilefoobarbaz <
[ 3c] advance line by constant 15 to 16 [ 3e] copy [ 3f] special opcode 159: address+10 = 0x80482fa
, line+1 = 17 [ 40] special opcode 117: address+7 = 0x8048301
, line+1 = 18 [ 41] advance line by constant -9 to 9 [ 43] special opcode 200: address+13 = 0x804830e
, line+0 = 9 [ 44] special opcode 48: address+2 = 0x8048310
, line+2 = 11 [ 45] special opcode 58: address+3 = 0x8048313
, line-2 = 9 [ 46] special opcode 48: address+2 = 0x8048315
, line+2 = 11 [ 47] special opcode 44: address+2 = 0x8048317
, line-2 = 9 [ 48] advance line by constant 13 to 22 [ 4a] special opcode 46: address+2 = 0x8048319
, line+0 = 22 [ 4b] advance line by constant -13 to 9 [ 4d] special opcode 60: address+3 = 0x804831c
, line+0 = 9 [ 4e] advance line by constant 12 to 21 [ 50] special opcode 60: address+3 = 0x804831f
, line+0 = 21 [ 51] special opcode 61: address+3 = 0x8048322
, line+1 = 22 [ 52] advance address by 2 to 0x8048324 [ 54] extended opcode 1: end of sequence Table at offset 87: Length: 72 DWARF version: 2 Prologue length: 28 Address size: 4 Segment selector size: 0 Min instruction length: 1 Max operations per instruction: 1 Initial value if 'is_stmt': 1 Line base: -5 Line range: 14 Opcode base: 13 Opcodes: [ 1] 0 arguments [ 2] 1 argument [ 3] 1 argument [ 4] 1 argument [ 5] 1 argument [ 6] 0 arguments [ 7] 0 arguments [ 8] 0 arguments [ 9] 1 argument [10] 0 arguments [11] 0 arguments [12] 1 argument Directory table: File name table: Entry Dir Time Size Name 1 0 0 0 bar.c Line number statements: [ 7d] extended opcode 2: set address to 0x8048330
[ 84] advance line by constant 12 to 13 [ 86] copy [ 87] special opcode 19: address+0 = 0x8048330
, line+1 = 14 [ 88] advance address by 11 to 0x804833b [ 8a] extended opcode 1: end of sequence [ 8d] extended opcode 2: set address to 0x8048440
[ 94] advance line by constant 18 to 19 [ 96] copy [ 97] special opcode 19: address+0 = 0x8048440
, line+1 = 20 [ 98] advance line by constant -12 to 8 [ 9a] special opcode 200: address+13 = 0x804844d
, line+0 = 8 [ 9b] advance line by constant 14 to 22 [ 9d] special opcode 74: address+4 = 0x8048451
, line+0 = 22 [ 9e] advance address by 1 to 0x8048452 [ a0] extended opcode 1: end of sequence Table at offset 163: Length: 106 DWARF version: 2 Prologue length: 43 Address size: 4 Segment selector size: 0 Min instruction length: 1 Max operations per instruction: 1 Initial value if 'is_stmt': 1 Line base: -5 Line range: 14 Opcode base: 13 Opcodes: [ 1] 0 arguments [ 2] 1 argument [ 3] 1 argument [ 4] 1 argument [ 5] 1 argument [ 6] 0 arguments [ 7] 0 arguments [ 8] 0 arguments [ 9] 1 argument [10] 0 arguments [11] 0 arguments [12] 1 argument Directory table: File name table: Entry Dir Time Size Name 1 0 0 0 baz.c 2 0 0 0 foobarbaz.h Line number statements: [ d8] extended opcode 2: set address to 0x8048340
[ df] advance line by constant 12 to 13 [ e1] copy [ e2] special opcode 19: address+0 = 0x8048340
, line+1 = 14 [ e3] advance address by 11 to 0x804834b [ e5] extended opcode 1: end of sequence [ e8] extended opcode 2: set address to 0x8048460
[ ef] advance line by constant 18 to 19 [ f1] copy [ f2] special opcode 74: address+4 = 0x8048464
, line+0 = 19 [ f3] special opcode 75: address+4 = 0x8048468
, line+1 = 20 [ f4] extended opcode 4: set discriminator to 1 [ f8] special opcode 78: address+4 = 0x804846c
, line+4 = 24 [ f9] special opcode 187: address+12 = 0x8048478
, line+1 = 25 [ fa] special opcode 87: address+5 = 0x804847d
, line-1 = 24 [ fb] special opcode 61: address+3 = 0x8048480
, line+1 = 25 [ fc] special opcode 101: address+6 = 0x8048486
, line-1 = 24 [ fd] special opcode 61: address+3 = 0x8048489
, line+1 = 25 [ fe] special opcode 87: address+5 = 0x804848e
, line-1 = 24 [ ff] advance line by constant -16 to 8 [ 101] special opcode 46: address+2 = 0x8048490
, line+0 = 8 [ 102] advance line by constant 20 to 28 [ 104] special opcode 186: address+12 = 0x804849c
, line+0 = 28 [ 105] advance line by constant -20 to 8 [ 107] special opcode 88: address+5 = 0x80484a1
, line+0 = 8 [ 108] advance line by constant 13 to 21 [ 10a] advance address by constant 17 to 0x80484b2
[ 10b] special opcode 32: address+1 = 0x80484b3
, line+0 = 21 [ 10c] advance address by 9 to 0x80484bc [ 10e] extended opcode 1: end of sequence EOF testrun_compare ${abs_top_builddir}/src/readelf --debug-dump=decodedline testfilefoobarbaz <<\EOF DWARF section [30] '.debug_line' at offset 0x15f6: CU [b] foo.c line:col SBPE* disc isa op address (Statement Block Prologue Epilogue *End) /home/mark/src/tests/foobarbaz/foo.c (mtime: 0, length: 0) 16:0 S 0 0 0 0x080482f0
17:0 S 0 0 0 0x080482fa
18:0 S 0 0 0 0x08048301
9:0 S 0 0 0 0x0804830e
11:0 S 0 0 0 0x08048310
9:0 S 0 0 0 0x08048313
11:0 S 0 0 0 0x08048315
9:0 S 0 0 0 0x08048317
22:0 S 0 0 0 0x08048319
9:0 S 0 0 0 0x0804831c
21:0 S 0 0 0 0x0804831f
22:0 S 0 0 0 0x08048322
22:0 S * 0 0 0 0x08048323
CU [141] bar.c line:col SBPE* disc isa op address (Statement Block Prologue Epilogue *End) /home/mark/src/tests/foobarbaz/bar.c (mtime: 0, length: 0) 13:0 S 0 0 0 0x08048330
14:0 S 0 0 0 0x08048330
14:0 S * 0 0 0 0x0804833a
19:0 S 0 0 0 0x08048440
20:0 S 0 0 0 0x08048440
8:0 S 0 0 0 0x0804844d
22:0 S 0 0 0 0x08048451
22:0 S * 0 0 0 0x08048451
CU [1dc] baz.c line:col SBPE* disc isa op address (Statement Block Prologue Epilogue *End) /home/mark/src/tests/foobarbaz/baz.c (mtime: 0, length: 0) 13:0 S 0 0 0 0x08048340
14:0 S 0 0 0 0x08048340
14:0 S * 0 0 0 0x0804834a
19:0 S 0 0 0 0x08048460
19:0 S 0 0 0 0x08048464
20:0 S 0 0 0 0x08048468
24:0 S 1 0 0 0x0804846c
25:0 S 0 0 0 0x08048478
24:0 S 0 0 0 0x0804847d
25:0 S 0 0 0 0x08048480
24:0 S 0 0 0 0x08048486
25:0 S 0 0 0 0x08048489
24:0 S 0 0 0 0x0804848e
8:0 S 0 0 0 0x08048490
28:0 S 0 0 0 0x0804849c
8:0 S 0 0 0 0x080484a1
21:0 S 0 0 0 0x080484b3
21:0 S * 0 0 0 0x080484bb
EOF # A .debug_line table with mininum instruction length > 1. # # = hello.c # #include
# # int # main (int argc, char **argv) # { # printf ("Hello, %s\n", (argc > 0 # ? argv[1]: "World")); # return 0; # } # # clang version 5.0.1 (tags/RELEASE_501/final) # Target: powerpc64-unknown-linux-gnu # clang -g -O2 -o testfile-ppc64-min-instr hello.c testfiles testfile-ppc64-min-instr testrun_compare ${abs_top_builddir}/src/readelf --debug-dump=line testfile-ppc64-min-instr <<\EOF DWARF section [29] '.debug_line' at offset 0xdf6: Table at offset 0: Length: 69 DWARF version: 2 Prologue length: 30 Address size: 8 Segment selector size: 0 Min instruction length: 4 Max operations per instruction: 1 Initial value if 'is_stmt': 1 Line base: -5 Line range: 14 Opcode base: 13 Opcodes: [ 1] 0 arguments [ 2] 1 argument [ 3] 1 argument [ 4] 1 argument [ 5] 1 argument [ 6] 0 arguments [ 7] 0 arguments [ 8] 0 arguments [ 9] 1 argument [10] 0 arguments [11] 0 arguments [12] 1 argument Directory table: File name table: Entry Dir Time Size Name 1 0 0 0 hello.c Line number statements: [ 28] extended opcode 2: set address to 0x100005a4
[ 33] special opcode 22: address+0 = 0x100005a4
, line+4 = 5 [ 34] set column to 27 [ 36] set prologue end flag [ 37] special opcode 19: address+0 = 0x100005a4
, line+1 = 6 [ 38] set column to 8 [ 3a] special opcode 47: address+8 = 0x100005ac
, line+1 = 7 [ 3b] set 'is_stmt' to 0 [ 3c] advance line by constant -7 to 0 [ 3e] special opcode 32: address+4 = 0x100005b0
, line+0 = 0 [ 3f] set column to 3 [ 41] set 'is_stmt' to 1 [ 42] special opcode 108: address+24 = 0x100005c8
, line+6 = 6 [ 43] special opcode 76: address+16 = 0x100005d8
, line+2 = 8 [ 44] advance address by 32 to 0x100005f8 [ 46] extended opcode 1: end of sequence EOF testrun_compare ${abs_top_builddir}/src/readelf --debug-dump=decodedline testfile-ppc64-min-instr <<\EOF DWARF section [29] '.debug_line' at offset 0xdf6: CU [b] hello.c line:col SBPE* disc isa op address (Statement Block Prologue Epilogue *End) /home/fedora/mjw/hello.c (mtime: 0, length: 0) 5:0 S 0 0 0 0x00000000100005a4
6:27 S P 0 0 0 0x00000000100005a4
7:8 S 0 0 0 0x00000000100005ac
0:8 0 0 0 0x00000000100005b0
6:3 S 0 0 0 0x00000000100005c8
8:3 S 0 0 0 0x00000000100005d8
8:3 S * 0 0 0 0x00000000100005f7
EOF # Two tests for the same code but encoded using DWARF4 or DWARF5. # Output is identical except for the section offset and CU numbers. # See tests/testfile-dwarf-45.source. testfiles testfile-dwarf-4 testfile-dwarf-5 testrun_compare ${abs_top_builddir}/src/readelf --debug-dump=decodedline testfile-dwarf-4 << \EOF DWARF section [29] '.debug_line' at offset 0x1734: CU [b] hello.c line:col SBPE* disc isa op address (Statement Block Prologue Epilogue *End) /var/tmp/hello/hello.c (mtime: 0, length: 0) 21:0 S 0 0 0 0x0000000000400510
22:1 S 0 0 0 0x0000000000400510
22:3 0 0 0 0x0000000000400510
25:6 0 0 0 0x0000000000400514
25:34 S 0 0 0 0x000000000040051a
25:3 0 0 0 0x000000000040051a
26:34 0 0 0 0x000000000040051e
25:1 1 0 0 0x0000000000400528
/var/tmp/hello/hello.h (mtime: 0, length: 0) 7:18 S 0 0 0 0x000000000040052b
9:3 S 0 0 0 0x000000000040052b
9:3 0 0 0 0x000000000040052b
10:6 S 0 0 0 0x000000000040052f
10:5 0 0 0 0x000000000040052f
12:7 S 0 0 0 0x0000000000400531
/var/tmp/hello/hello.c (mtime: 0, length: 0) 10:3 S 0 0 0 0x0000000000400531
12:3 S 0 0 0 0x0000000000400531
12:3 0 0 0 0x0000000000400531
13:6 S 0 0 0 0x0000000000400535
13:5 0 0 0 0x0000000000400535
15:7 S 0 0 0 0x0000000000400539
22:3 S 0 0 0 0x0000000000400539
22:3 0 0 0 0x0000000000400539
23:6 S 0 0 0 0x000000000040053d
23:5 0 0 0 0x000000000040053d
9:12 S 0 0 0 0x0000000000400550
10:1 S 0 0 0 0x0000000000400550
12:3 S 0 0 0 0x0000000000400550
12:3 0 0 0 0x0000000000400550
13:9 0 0 0 0x0000000000400556
15:7 S 0 0 0 0x000000000040055f
15:3 0 0 0 0x000000000040055f
15:7 * 0 0 0 0x0000000000400560
CU [21c] world.c line:col SBPE* disc isa op address (Statement Block Prologue Epilogue *End) /var/tmp/hello/world.c (mtime: 0, length: 0) 15:0 S 0 0 0 0x0000000000400410
16:1 S 0 0 0 0x0000000000400410
17:3 S 0 0 0 0x0000000000400410
15:3 0 0 0 0x0000000000400410
17:1 0 0 0 0x0000000000400419
18:6 S 0 0 0 0x000000000040041e
18:5 0 0 0 0x000000000040041e
22:7 S 0 0 0 0x0000000000400421
22:3 S * 0 0 0 0x000000000040042f
6:0 S 0 0 0 0x0000000000400570
7:1 S 0 0 0 0x0000000000400570
7:3 0 0 0 0x0000000000400570
7:6 1 0 0 0x0000000000400575
7:24 0 0 0 0x0000000000400578
10:17 S 0 0 0 0x000000000040057d
10:3 0 0 0 0x000000000040057d
/var/tmp/hello/hello.h (mtime: 0, length: 0) 10:10 0 0 0 0x0000000000400583
/var/tmp/hello/world.c (mtime: 0, length: 0) 10:7 0 0 0 0x0000000000400585
/var/tmp/hello/hello.h (mtime: 0, length: 0) 7:10 S 0 0 0 0x0000000000400588
9:3 S 0 0 0 0x0000000000400588
10:3 0 0 0 0x0000000000400588
12:7 S 0 0 0 0x000000000040058f
12:3 0 0 0 0x000000000040058f
/var/tmp/hello/world.c (mtime: 0, length: 0) 11:10 0 0 0 0x0000000000400598
11:1 * 0 0 0 0x000000000040059a
EOF testrun_compare ${abs_top_builddir}/src/readelf --debug-dump=decodedline testfile-dwarf-5 << \EOF DWARF section [29] '.debug_line' at offset 0x171f: CU [c] hello.c line:col SBPE* disc isa op address (Statement Block Prologue Epilogue *End) /var/tmp/hello/hello.c (mtime: 0, length: 0) 21:0 S 0 0 0 0x0000000000400510
22:1 S 0 0 0 0x0000000000400510
22:3 0 0 0 0x0000000000400510
25:6 0 0 0 0x0000000000400514
25:34 S 0 0 0 0x000000000040051a
25:3 0 0 0 0x000000000040051a
26:34 0 0 0 0x000000000040051e
25:1 1 0 0 0x0000000000400528
/var/tmp/hello/hello.h (mtime: 0, length: 0) 7:18 S 0 0 0 0x000000000040052b
9:3 S 0 0 0 0x000000000040052b
9:3 0 0 0 0x000000000040052b
10:6 S 0 0 0 0x000000000040052f
10:5 0 0 0 0x000000000040052f
12:7 S 0 0 0 0x0000000000400531
/var/tmp/hello/hello.c (mtime: 0, length: 0) 10:3 S 0 0 0 0x0000000000400531
12:3 S 0 0 0 0x0000000000400531
12:3 0 0 0 0x0000000000400531
13:6 S 0 0 0 0x0000000000400535
13:5 0 0 0 0x0000000000400535
15:7 S 0 0 0 0x0000000000400539
22:3 S 0 0 0 0x0000000000400539
22:3 0 0 0 0x0000000000400539
23:6 S 0 0 0 0x000000000040053d
23:5 0 0 0 0x000000000040053d
9:12 S 0 0 0 0x0000000000400550
10:1 S 0 0 0 0x0000000000400550
12:3 S 0 0 0 0x0000000000400550
12:3 0 0 0 0x0000000000400550
13:9 0 0 0 0x0000000000400556
15:7 S 0 0 0 0x000000000040055f
15:3 0 0 0 0x000000000040055f
15:7 * 0 0 0 0x0000000000400560
CU [218] world.c line:col SBPE* disc isa op address (Statement Block Prologue Epilogue *End) /var/tmp/hello/world.c (mtime: 0, length: 0) 15:0 S 0 0 0 0x0000000000400410
16:1 S 0 0 0 0x0000000000400410
17:3 S 0 0 0 0x0000000000400410
15:3 0 0 0 0x0000000000400410
17:1 0 0 0 0x0000000000400419
18:6 S 0 0 0 0x000000000040041e
18:5 0 0 0 0x000000000040041e
22:7 S 0 0 0 0x0000000000400421
22:3 S * 0 0 0 0x000000000040042f
6:0 S 0 0 0 0x0000000000400570
7:1 S 0 0 0 0x0000000000400570
7:3 0 0 0 0x0000000000400570
7:6 1 0 0 0x0000000000400575
7:24 0 0 0 0x0000000000400578
10:17 S 0 0 0 0x000000000040057d
10:3 0 0 0 0x000000000040057d
/var/tmp/hello/hello.h (mtime: 0, length: 0) 10:10 0 0 0 0x0000000000400583
/var/tmp/hello/world.c (mtime: 0, length: 0) 10:7 0 0 0 0x0000000000400585
/var/tmp/hello/hello.h (mtime: 0, length: 0) 7:10 S 0 0 0 0x0000000000400588
9:3 S 0 0 0 0x0000000000400588
10:3 0 0 0 0x0000000000400588
12:7 S 0 0 0 0x000000000040058f
12:3 0 0 0 0x000000000040058f
/var/tmp/hello/world.c (mtime: 0, length: 0) 11:10 0 0 0 0x0000000000400598
11:1 * 0 0 0 0x000000000040059a
EOF # After discarding the different offsets in the line number statements, # the remaining difference between 4 and 5 is (besides the header/length) # Just the representation of the directory and line tables: # Directory table: # - /opt/local/install/gcc/lib/gcc/x86_64-pc-linux-gnu/9.0.0/include # + [path(line_strp)] # + 0 /var/tmp/hello (90) # + 1 /opt/local/install/gcc/lib/gcc/x86_64-pc-linux-gnu/9.0.0/include (17) # # File name table: # - Entry Dir Time Size Name # - 1 0 0 0 hello.c # - 2 0 0 0 hello.h # - 3 1 0 0 stddef.h # + [path(line_strp), directory_index(data1)] # + 0 hello.c (9), 0 # + 1 hello.c (9), 0 # + 2 hello.h (82), 0 # + 3 stddef.h (0), 1 # # Directory table: # - /usr/include # + [path(line_strp)] # + 0 /var/tmp/hello (90) # + 1 /usr/include (122) # # File name table: # - Entry Dir Time Size Name # - 1 0 0 0 world.c # - 2 0 0 0 hello.h # - 3 1 0 0 stdlib.h # + [path(line_strp), directory_index(data1)] # + 0 world.c (114), 0 # + 1 world.c (114), 0 # + 2 hello.h (82), 0 # + 3 stdlib.h (105), 1 testrun_compare ${abs_top_builddir}/src/readelf --debug-dump=line testfile-dwarf-4 << \EOF DWARF section [29] '.debug_line' at offset 0x1734: Table at offset 0: Length: 608 DWARF version: 4 Prologue length: 119 Address size: 8 Segment selector size: 0 Min instruction length: 1 Max operations per instruction: 1 Initial value if 'is_stmt': 1 Line base: -10 Line range: 242 Opcode base: 13 Opcodes: [ 1] 0 arguments [ 2] 1 argument [ 3] 1 argument [ 4] 1 argument [ 5] 1 argument [ 6] 0 arguments [ 7] 0 arguments [ 8] 0 arguments [ 9] 1 argument [10] 0 arguments [11] 0 arguments [12] 1 argument Directory table: /opt/local/install/gcc/lib/gcc/x86_64-pc-linux-gnu/9.0.0/include File name table: Entry Dir Time Size Name 1 0 0 0 hello.c 2 0 0 0 hello.h 3 1 0 0 stddef.h Line number statements: [ 81] extended opcode 2: set address to 0x400510
[ 8c] special opcode 43: address+0 = 0x400510
, line+20 = 21 [ 8d] set column to 1 [ 8f] extended opcode 2: set address to 0x400510
[ 9a] special opcode 24: address+0 = 0x400510
, line+1 = 22 [ 9b] set column to 3 [ 9d] extended opcode 2: set address to 0x400510
[ a8] set 'is_stmt' to 0 [ a9] copy [ aa] set column to 6 [ ac] extended opcode 2: set address to 0x400514
[ b7] special opcode 26: address+0 = 0x400514
, line+3 = 25 [ b8] set column to 34 [ ba] extended opcode 2: set address to 0x40051a
[ c5] set 'is_stmt' to 1 [ c6] copy [ c7] set column to 3 [ c9] extended opcode 2: set address to 0x40051a
[ d4] set 'is_stmt' to 0 [ d5] copy [ d6] set column to 34 [ d8] extended opcode 2: set address to 0x40051e
[ e3] special opcode 24: address+0 = 0x40051e
, line+1 = 26 [ e4] set column to 1 [ e6] extended opcode 2: set address to 0x400528
[ f1] extended opcode 4: set discriminator to 1 [ f5] special opcode 22: address+0 = 0x400528
, line-1 = 25 [ f6] set column to 18 [ f8] extended opcode 2: set address to 0x40052b
[ 103] set file to 2 [ 105] set 'is_stmt' to 1 [ 106] advance line by constant -18 to 7 [ 108] copy [ 109] set column to 3 [ 10b] extended opcode 2: set address to 0x40052b
[ 116] special opcode 25: address+0 = 0x40052b
, line+2 = 9 [ 117] set column to 3 [ 119] extended opcode 2: set address to 0x40052b
[ 124] set 'is_stmt' to 0 [ 125] copy [ 126] set column to 6 [ 128] extended opcode 2: set address to 0x40052f
[ 133] extended opcode 4: set discriminator to 0 [ 137] set 'is_stmt' to 1 [ 138] special opcode 24: address+0 = 0x40052f
, line+1 = 10 [ 139] set column to 5 [ 13b] extended opcode 2: set address to 0x40052f
[ 146] set 'is_stmt' to 0 [ 147] copy [ 148] set column to 7 [ 14a] extended opcode 2: set address to 0x400531
[ 155] set 'is_stmt' to 1 [ 156] special opcode 25: address+0 = 0x400531
, line+2 = 12 [ 157] set column to 3 [ 159] extended opcode 2: set address to 0x400531
[ 164] set file to 1 [ 166] special opcode 21: address+0 = 0x400531
, line-2 = 10 [ 167] set column to 3 [ 169] extended opcode 2: set address to 0x400531
[ 174] special opcode 25: address+0 = 0x400531
, line+2 = 12 [ 175] set column to 3 [ 177] extended opcode 2: set address to 0x400531
[ 182] set 'is_stmt' to 0 [ 183] copy [ 184] set column to 6 [ 186] extended opcode 2: set address to 0x400535
[ 191] set 'is_stmt' to 1 [ 192] special opcode 24: address+0 = 0x400535
, line+1 = 13 [ 193] set column to 5 [ 195] extended opcode 2: set address to 0x400535
[ 1a0] set 'is_stmt' to 0 [ 1a1] copy [ 1a2] set column to 7 [ 1a4] extended opcode 2: set address to 0x400539
[ 1af] set 'is_stmt' to 1 [ 1b0] special opcode 25: address+0 = 0x400539
, line+2 = 15 [ 1b1] set column to 3 [ 1b3] extended opcode 2: set address to 0x400539
[ 1be] special opcode 30: address+0 = 0x400539
, line+7 = 22 [ 1bf] set column to 3 [ 1c1] extended opcode 2: set address to 0x400539
[ 1cc] set 'is_stmt' to 0 [ 1cd] copy [ 1ce] set column to 6 [ 1d0] extended opcode 2: set address to 0x40053d
[ 1db] set 'is_stmt' to 1 [ 1dc] special opcode 24: address+0 = 0x40053d
, line+1 = 23 [ 1dd] set column to 5 [ 1df] extended opcode 2: set address to 0x40053d
[ 1ea] set 'is_stmt' to 0 [ 1eb] copy [ 1ec] set column to 12 [ 1ee] extended opcode 2: set address to 0x400550
[ 1f9] set 'is_stmt' to 1 [ 1fa] advance line by constant -14 to 9 [ 1fc] copy [ 1fd] set column to 1 [ 1ff] extended opcode 2: set address to 0x400550
[ 20a] special opcode 24: address+0 = 0x400550
, line+1 = 10 [ 20b] set column to 3 [ 20d] extended opcode 2: set address to 0x400550
[ 218] special opcode 25: address+0 = 0x400550
, line+2 = 12 [ 219] set column to 3 [ 21b] extended opcode 2: set address to 0x400550
[ 226] set 'is_stmt' to 0 [ 227] copy [ 228] set column to 9 [ 22a] extended opcode 2: set address to 0x400556
[ 235] special opcode 24: address+0 = 0x400556
, line+1 = 13 [ 236] set column to 7 [ 238] extended opcode 2: set address to 0x40055f
[ 243] set 'is_stmt' to 1 [ 244] special opcode 25: address+0 = 0x40055f
, line+2 = 15 [ 245] set column to 3 [ 247] extended opcode 2: set address to 0x40055f
[ 252] set 'is_stmt' to 0 [ 253] copy [ 254] set column to 7 [ 256] extended opcode 2: set address to 0x400561 [ 261] extended opcode 1: end of sequence Table at offset 612: Length: 450 DWARF version: 4 Prologue length: 67 Address size: 8 Segment selector size: 0 Min instruction length: 1 Max operations per instruction: 1 Initial value if 'is_stmt': 1 Line base: -10 Line range: 242 Opcode base: 13 Opcodes: [ 1] 0 arguments [ 2] 1 argument [ 3] 1 argument [ 4] 1 argument [ 5] 1 argument [ 6] 0 arguments [ 7] 0 arguments [ 8] 0 arguments [ 9] 1 argument [10] 0 arguments [11] 0 arguments [12] 1 argument Directory table: /usr/include File name table: Entry Dir Time Size Name 1 0 0 0 world.c 2 0 0 0 hello.h 3 1 0 0 stdlib.h Line number statements: [ 2b1] extended opcode 2: set address to 0x400410
[ 2bc] special opcode 37: address+0 = 0x400410