Ben Gamari <ben(a)smart-cactus.org> writes:
Ben Gamari <ben(a)smart-cactus.org> writes:
snip
Moreover, I have also implemented unwinding of the Haskell evaluation
stack (the stack used by Haskell code). While the unwinding and symbol
lookup work, I'm not getting any line information out of libdw. I'm
quite certain that my object (namely a statically linked executable) has
proper line information as addr2line can extract meaningful positions
for the addresses found in my stacktraces.
Strangely enough, it actually may be an elfutils issue. I just realized
that I was using addr2line from my system's binutils, not elfutils.
Indeed if I use elfutils's addr2line I also find that there is no line
information.
Using binutils 2.25-11 (Debian Sid),
$ /usr/bin/addr2line --version
GNU addr2line (GNU Binutils for Debian) 2.25
Copyright (C) 2014 Free Software Foundation, Inc.
This program is free software; you may redistribute it under the terms of
the GNU General Public License version 3 or (at your option) any later version.
This program has absolutely no warranty.
$ /usr/bin/addr2line -e inplace/lib/bin/ghc-stage2 -f 0x25a6898
base_TextziParserCombinatorsziReadP_zdfAlternativePzuzdczlzbzg_info
/opt/exp/ghc/ghc//libraries/base/Text/ParserCombinators/ReadP.hs:128
Using elfutils 0.163, built by me with all dependencies available,
$ /opt/exp/elfutils-root/bin/addr2line --version
addr2line (elfutils) 0.163
Copyright (C) 2012 Red Hat, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
Written by Ulrich Drepper.
$ /opt/exp/elfutils-root/bin/addr2line -e inplace/lib/bin/ghc-stage2 -f 0x25a6898
base_TextziParserCombinatorsziReadP_zdfAlternativePzuzdczlzbzg_info
??:0
What am I doing wrong here?
Cheers,
- Ben