[lld] [llvm] [Symbolizer] Support for Missing Line Numbers. (PR #82240)

via llvm-commits llvm-commits at lists.llvm.org
Tue Jul 23 03:02:18 PDT 2024


================
@@ -0,0 +1,247 @@
+##  Test  --skip-line-zero option.
+##
+##  This test uses handcrafted assembly to produce the following line table:
+##  Address            Line   Column File   ISA Discriminator OpIndex Flags
+##  ------------------ ------ ------ ------ --- ------------- ------- -------------
+##  0x0000000000001710      1      0      1   0             0       0
+##  0x0000000000001714      0      0      1   0             0       0
+##  0x0000000000001719      1      0      1   0             0       0
+##  0x000000000000171b      1      0      1   0             0       0  end_sequence
----------------
ampandey-1995 wrote:

Acutally here ```end_sequence``` entry in the line-table dosen't point to any corresponding source or line number. It it just a marker here in the line-table. The line entry column created here has the line number taken from the last PC instruction within that sequence.  I checked using ```llvm-symbolizer```. 
```
~$ llvm-symbolizer --obj=skip-line-zero.o --skip-line-zero 0x171b
??
??:0:0
```
Similary at 0x16da address you will get the same result. 

You can check in the next sequence I have made the line entry for 0x16d4 as 0 which ultimately made the ```end_sequence``` line entry (at 0x16da) also to be zero.

All I am saying is that the current number of entries in this line-table is 8, where two are just sequence end markers.

I have throughly verified every entry in the line-table with it's source correspondence and found it to be correct .  

https://github.com/llvm/llvm-project/pull/82240


More information about the llvm-commits mailing list