[Lldb-commits] patch for missing FORM_flag_present

Carlo Kok ck at remobjects.com
Thu Sep 27 05:31:38 PDT 2012


lldb does not support FORM_flag_present which is emitted by LLVM for OSX 
executables (probably a recent addition). The flag_present thing is zero 
sized, but it breaks out of the loop because it doesn't recognize it.

after this , debug info works again.
-------------- next part --------------
Index: C:/Projects/oxygene-nougat-llvm/llvm-windows/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp
===================================================================
--- C:/Projects/oxygene-nougat-llvm/llvm-windows/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp	(revision 164694)
+++ C:/Projects/oxygene-nougat-llvm/llvm-windows/source/Plugins/SymbolFile/DWARF/DWARFDebugInfoEntry.cpp	(working copy)
@@ -186,6 +186,11 @@
                     case DW_FORM_ref_addr   :
                         form_size = cu->GetAddressByteSize();
                         break;
+                    
+                    // zero sized field
+                    case DW_FORM_flag_present:
+                        form_size = 0;
+                        break;
 
                     // 1 byte values
                     case DW_FORM_data1      :
@@ -332,6 +337,11 @@
                                 form_size = cu_addr_size;
                                 break;
 
+                            // zero sized field
+                            case DW_FORM_flag_present:
+                                form_size = 0;
+                                break;
+
                             // 1 byte values
                             case DW_FORM_data1      :
                             case DW_FORM_flag       :


More information about the lldb-commits mailing list