Commit b6ba3c5
Support for DWARF 4/5 and fix of issues related to -gdwarf-X options (#92)
* Support for -gdwarf-5 option in Flang driver.
Summary:
FLANG driver doesnt pass -gdwarf-4/5 to flang1 in form of xbits,
while it passes for -gdwarf-2/3
-gdwarf-2 => -x 120 0x200
-gdwarf-3 => -x 120 0x4000
Due to this -gdwarf-5 is never honored and default option -gdwarf-4
is taken.
# flang -gdwarf-5 test.f90
# llvm-dwarfdump a.out | grep version
0x00000000: Compile Unit: length = 0x0000008e version = 0x0004
Now 0x1000000/0x2000000 will be passed for -gdwarf-4/5
-gdwarf-4 => -x 120 0x1000000
-gdwarf-5 => -x 120 0x2000000
Testing:
- GNU gdb fortran testsuite
- check-llvm
- check-debuginfo
* Flang doenst choose correct dwarf version when multiple -g/-gdwarfN mentioned
Summary:
When multiple -g/-gdwarfN options are passed together at compile time,
flang chooses the least one. Clang/gfortran etc choose the last one.
-gdwarf-5 -gdwarf-3 => flang chooses 5 while clang/gfortran choose 3
-gdwarf-5 -g => flang choses the default while clang/gfortran choose 5
Testing:
- check-llvm
- check-debuginfo
* Default dwarf version should be 4 for -g with flang
Currently flang dumps dwarf version 2 for -g and 4 for absence of -g
-------------------------
$ flang my.f90
$ llvm-dwarfdump a.out | grep version
0x00000000: Compile Unit: length = 0x0000003d version = 0x0004 abbr_offset = 0x0000 addr_size = 0x08 (next unit at 0x00000041)
$ flang -g my.f90
$ llvm-dwarfdump a.out | grep version
0x00000000: Compile Unit: length = 0x00000047 version = 0x0002 abbr_offset = 0x0000 addr_size = 0x08 (next unit at 0x0000004b)
-------------------------
It should be 4 for -g as it is the case with clang.1 parent af2bc75 commit b6ba3c5
1 file changed
+24
-18
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
328 | 328 | | |
329 | 329 | | |
330 | 330 | | |
331 | | - | |
332 | | - | |
333 | | - | |
334 | | - | |
335 | | - | |
336 | | - | |
337 | | - | |
| 331 | + | |
| 332 | + | |
| 333 | + | |
| 334 | + | |
| 335 | + | |
| 336 | + | |
| 337 | + | |
| 338 | + | |
| 339 | + | |
| 340 | + | |
| 341 | + | |
| 342 | + | |
| 343 | + | |
| 344 | + | |
338 | 345 | | |
339 | | - | |
340 | | - | |
341 | | - | |
342 | 346 | | |
343 | 347 | | |
344 | | - | |
345 | | - | |
346 | 348 | | |
347 | | - | |
348 | | - | |
349 | | - | |
350 | | - | |
351 | | - | |
352 | | - | |
| 349 | + | |
| 350 | + | |
| 351 | + | |
| 352 | + | |
| 353 | + | |
| 354 | + | |
| 355 | + | |
| 356 | + | |
| 357 | + | |
| 358 | + | |
353 | 359 | | |
354 | 360 | | |
355 | 361 | | |
| |||
0 commit comments