[LLVMdev] DebugInfo library

Dmitry Vyukov dvyukov at google.com
Sat May 5 08:52:19 PDT 2012


Hi,

I would like to extend DebugInfo library for the purpose of using it in
AddressSanitizer/ThreadSanitizer run-time libraries.

Current interface is:

class DILineInfo {
  const char *FileName;
  uint32_t Line;
  uint32_t Column;
  ...
};

class DIContext {
  ...
  virtual DILineInfo getLineInfoForAddress(uint64_t address) = 0;
};

First, I would like to get function name associated with the address.
Then, I would like to get inlined frames as well.
Then, I would like to be able to get the same info about global variables.
Finally, I would like to receive explicit failure indicator.

I see the resulting interface along the lines of:

class DILineInfo {
  *const char *Name;*
  const char *FileName;
  uint32_t Line;
  uint32_t Column;
  ...
};

class DIContext {
  ...
  virtual *bool* getLineInfoFor*Code*(uint64_t *pc, SmallVector<**DILineInfo>
*res*) = 0;
*  virtual bool getLineInfoForData(uint64_t address, **DILineInfo *res**) =
0;*
};

Any comments/suggestions?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-dev/attachments/20120505/964ef541/attachment.html>


More information about the llvm-dev mailing list