[Bug tools/22288] New: eu-addr2line doesn't find a rust file:line

jistone at redhat dot com sourceware-bugzilla@sourceware.org
Thu Oct 12 18:56:00 GMT 2017


            Bug ID: 22288
           Summary: eu-addr2line doesn't find a rust file:line
           Product: elfutils
           Version: unspecified
            Status: NEW
          Severity: normal
          Priority: P2
         Component: tools
          Assignee: unassigned at sourceware dot org
          Reporter: jistone at redhat dot com
                CC: elfutils-devel at sourceware dot org
  Target Milestone: ---

Created attachment 10524
  --> https://sourceware.org/bugzilla/attachment.cgi?id=10524&action=edit
hello world binary

With a simple hello world program in Rust, eu-addr2line can't locate the
file:line of the main subprogram.

The binary is attached, generated using:


$ cargo new --bin hello
     Created binary (application) `hello` project
$ cd hello/
$ cargo run
   Compiling hello v0.1.0 (file:///tmp/hello)
    Finished dev [unoptimized + debuginfo] target(s) in 0.13 secs
     Running `target/debug/hello`
Hello, world!

Let's try to locate hello::main...

$ nm target/debug/hello | grep main
                 U __libc_start_main@@GLIBC_2.2.5
0000000000003750 T main
0000000000227808 d _ZN5hello4main15__STATIC_FMTSTR17h02cd196921af1863E
0000000000003710 t _ZN5hello4main17ha1ca5e9e738df91eE
$ eu-addr2line -e target/debug/hello -f 3710
$ addr2line -e target/debug/hello -f 3710

So elfutils finds the raw symbol name, but not the file:line, whereas binutils
finds the DIE's DW_AT_linkage_name and the correct file:line.

(I don't know why the linkage name doesn't have the hashed part, but that's
indeed what the DWARF says.)

elfutils-0.169-1.fc26.x86_64  (and also master, commit 734118467b1a)

You are receiving this mail because:
You are on the CC list for the bug.

More information about the Elfutils-devel mailing list