bug-binutils
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

libbfd: adr2errline resolution does not work for 32bit programs on x86_6


From: Elmar Stellnberger
Subject: libbfd: adr2errline resolution does not work for 32bit programs on x86_64 plattforms
Date: Wed, 13 May 2009 12:52:23 +0100
User-agent: Thunderbird 2.0.0.19 (X11/20081227)

Using the addr2errline sample program from
http://linuxgazette.net/151/misc/melinte/addr2line.c
I get the following results:

> gcc addr2errline.c -o addr2errline -lbfd -liberty -lz
> ./addr2errline getlineno 0x804b335 0x804b2aa
main [getlineno.c:61]
ThisLine [getlineno.c:49]

> gcc -m32 addr2errline.c -o addr2errline -lbfd -liberty -lz
> ./addr2errline getlineno 0x804b335 0x804b2aa
>  ** no result, nothing found, 0 lines of output **

It does not depend on the library version. If I link against old 32bit bfd &
liberty librays from x86_32 days of OpenSuse10.1 it does not work either.
Perhaps this is some general incompatibility of 32/64bit plattforms.

Debugging addr2errline.c I found that the error turns out at the following
point:
slurp_symtab(bfd *abfd)
{
...
    if ((bfd_get_file_flags(abfd) & HAS_SYMS) == 0)
        return -1;

binutils-2.19-9.3
posted as: Bug 10151




reply via email to

[Prev in Thread] Current Thread [Next in Thread]