Hi all,
I am encountering a problem with DWARF location lists. Consider the
following assembly:
_Ltext:
main:
_LVL0:
;# basic block 0
_LVL1:
This generates a DWARF location list entry whose begin and end addresses
are identical, due to the empty basic block. Not a great problem on the
face of it, but I'm using gcc in an embedded system in which the `main'
function is placed at address 0. Thus, the location list entry gets an
address range of [0, 0) which denotes the supposed end of the location
list. This corrupts the location list, making it impossible to debug
optimised code.
Would it be difficult to detect empty location list so that they are
never emitted? Empty locations lists are meaningless to the debugger, so
deleting them wouldn't cause problems, and if they weren't present, the
above situation could never occur.
thanks,
dan.
============================================================================
Dan Towner
picoChip Designs Ltd., Riverside Buildings, 108, Walcot Street, BATH,
BA1 5BG
[EMAIL PROTECTED]
07786 702589