<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi<div><br></div><div>Below is a snippet of binary codes and the binary is compiled by clang with flag gdwarf-3. It is easy to see  that 0x912c is an indirect jump and instruction 0x9128 and 0x912c would be together as a basic block</div><div><br></div><div>.text:0000911C loc_911C                                ; CODE XREF: main+7F4 j<br></div><div>.text:0000911C                 SUB             R0, R0, #1</div><div>.text:00009120                 CMP             R0, #3  ; switch 4 cases</div><div>.text:00009124                 BHI             loc_9218 ; jumptable 0000912C default case</div><div>.text:00009128                 ADR             R1, off_9130</div><div>.text:0000912C                 LDR             PC, [R1,R0,LSL#2] ; switch jump</div><div><div>.text:00009130 off_9130        DCD loc_9778            ; DATA XREF: main+818 o</div><div>.text:00009130                 DCD loc_9108            ; jump table for switch statement</div><div>.text:00009130                 DCD loc_9778</div><div>.text:00009130                 DCD loc_9140</div></div><div><br></div><div>I use llvm-dwarfdump -debug-line to dump the debug information. However, I find the related output below.0x912c is not described while the line of 0x9128 is zero, which does not help.</div><div><br></div><div><div>  542 0x0000000000009108      0      0      3   0             0</div><div>  543 0x000000000000911c    474      4      3   0             0</div><div>  544 0x0000000000009128      0      4      3   0             0</div><div>  545 0x0000000000009140    511     45      3   0             0  is_stmt</div></div><div><br></div><div>I find nearly all the instructions that are indirect jumps would not be described by the dwarf debugging information. Anyone know the reason? Any comments or suggestions are welcome. Many Thanks</div><div><br></div><div>Regards</div><div>Muhui</div><div><br></div></div></div></div></div>