[llvm-dev] Assertion in 'DwarfDebug.cpp'

Martin J. O'Riordan via llvm-dev llvm-dev at lists.llvm.org
Mon Sep 25 07:55:35 PDT 2017


Since updating to the LLVM v5.0 Final tag, I am seeing a crash when I enable
'-g'.  With a Debug build this hits an assertion at line #923 in
'lib/CodeGen/AsmPrinter/DwarfDebug.cpp':

assert(EndLabel && "Forgot label after instruction ending a range!");

 

The values of related variables at this time are:

'Begin' is:      DBG_VALUE %I23, %noreg, !"fp", <!345>; line no:381

'End' is:        DBG_VALUE %I19, 88, !"ap", <!345>; line no:381 indirect

'StartLabel' is: .Ltmp327

 

'I19' is the stack-pointer, and it is the expression 'EndLabel =
getLabelAfterInsn(End)' that is returning 'nullptr'.  This happens only when
compiling 'vfprintf.c' or 'vfwprintf.c' from Newlib v2.5.0, and line #381
referenced is the location of the declaration of the function
'_vfwprintf_r'.  But our implementation does not directly do anything with
Dwarf meta-data, so I don't understand what we could be doing that would
cause this.

 

Has this been seen before, and any suggestions on how I should debug this?

 

Thanks,

 

            MartinO

 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20170925/86a946c5/attachment.html>


More information about the llvm-dev mailing list