On Wed, Nov 27, 2013 at 4:31 AM, Alexey Samsonov <samso...@google.com> wrote: > > LLVM emits just a DW_AT_low_pc ("base address" of a compilation unit). The > standard tells that compilation unit entries "may have" attributes > specifying the > address range, but doesn't tell they are obligatory. > DWARF consumers probably shouldn't rely on their presence.
How are consumers of LLVM debug info expected to determine the address range of the function? Is the intent that the consumer should assume that the function continues from the DW_AT_low_pc address to the next DW_AT_low_pc address from the debug info? Or should the consumer look at the function size from the symbol table? Or should the consumer examine all the DIEs looking for address ranges? Does LLVM support anything like GCC's -freorder-blocks-and-partition option, and, if so, how does it represent the address ranges in the debug info? Ian