[llvm-bugs] [Bug 35032] New: lld's debug info is not compatible with valgrind

via llvm-bugs llvm-bugs at lists.llvm.org
Sun Oct 22 16:43:12 PDT 2017


https://bugs.llvm.org/show_bug.cgi?id=35032

            Bug ID: 35032
           Summary: lld's debug info is not compatible with valgrind
           Product: lld
           Version: unspecified
          Hardware: All
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: ELF
          Assignee: unassignedbugs at nondot.org
          Reporter: ruiu at google.com
                CC: llvm-bugs at lists.llvm.org

Assume we have this C source file.

  $ cat foo.c
  #include <stdlib.h>
  int main() { for (int i = 0; i < 1000000; i++) malloc(10); }

When I link an executable with bfd or gold, ms_print correctly prints out the
source location where we allocate heap memory.

  $ clang -g -o foo foo.c
  $ valgrind --tool=massif --massif-out-file=massif.foo ./foo
  $ ms_print massif.foo
  (omit)
  ->41.67% (127,990B) 0x40053D: main (in /ssd/b/foo)

However, if we use lld, it doesn't.

  $ clang -g -o foo foo.c -fuse-ld=lld
  $ valgrind --tool=massif --massif-out-file=massif.foo ./foo
  $ ms_print massif.foo
  ->41.67% (127,990B) 0x20111D: ??? (in /ssd/b/foo)
    ->41.67% (127,990B) 0x4E4FF43: (below main) (libc-start.c:287)

Looks like we are producing debug info which valgrind cannot read.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20171022/9c8f3960/attachment-0001.html>


More information about the llvm-bugs mailing list