> On Nov 19, 2017, at 4:56 PM, Zachary Turner <ztur...@google.com> wrote:
> 
> 
> 
> On Sun, Nov 19, 2017 at 6:35 AM Jan Kratochvil via Phabricator via 
> lldb-commits <lldb-commits@lists.llvm.org 
> <mailto:lldb-commits@lists.llvm.org>> wrote:
> This revision was automatically updated to reflect the committed changes.
> Closed by commit rL318626: Add comments to DWARFCompileUnit length 
> fields/methods (authored by jankratochvil).
> 
> Changed prior to commit:
>   https://reviews.llvm.org/D40211?vs=123472&id=123498#toc 
> <https://reviews.llvm.org/D40211?vs=123472&id=123498#toc>
> 
> Repository:
>   rL LLVM
> 
> https://reviews.llvm.org/D40211 <https://reviews.llvm.org/D40211>
> 
> Files:
>   lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h
> 
> 
> Index: lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h
> ===================================================================
> --- lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h
> +++ lldb/trunk/source/Plugins/SymbolFile/DWARF/DWARFCompileUnit.h
> @@ -41,26 +41,24 @@
>    void Clear();
>    bool Verify(lldb_private::Stream *s) const;
>    void Dump(lldb_private::Stream *s) const;
> +  // Offset of the initial length field.
>    dw_offset_t GetOffset() const { return m_offset; }
>    lldb::user_id_t GetID() const;
> -  uint32_t Size() const {
> -    return m_is_dwarf64 ? 23
> -                        : 11; /* Size in bytes of the compile unit header */
> -  }
> +  // Size in bytes of the initial length + compile unit header.
> +  uint32_t Size() const { return m_is_dwarf64 ? 23 : 11; }
> 
> This is pretty gross.  Don't we have a structure somewhere that represents a 
> compile unit header?  That we can just call sizeof on?  Same goes for the 
> rest of the patch

It varies depending on data on how the length unit is represented in the data 
stream. If the length starts with UINT32_MAX, it is followed by a 64 bit 
length. If the length isn't UINT32_MAX it is just a 32 bit length. 
_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to