This is the mail archive of the binutils@sourceware.cygnus.com mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: bfd_find_nearest_line() breakage on Linux



Ian Lance Taylor <ian@zembu.com> writes:

>    From: Owen Taylor <otaylor@redhat.com>
>    Date: 08 May 2000 20:41:13 -0400
> 
>    It appears that bfd_find_nearest_line() is currently non-functional on
>    Linux - the problem is that the address is no longer written with
>    function symbols in the stabs section, and
>    _bfd_stab_section_find_nearest_line() can't deal with this.
> 
>    This is easily reproduced with 'objdump -l' on a shared library.
> 
>    I'm not quite sure when the breakage occured. It was, I think,
>    somewhere between binutils-2.9.1.0.23, contained in Red Hat 6.1, and
>    binutils-2.9.5.0.22 contained in Red Hat 6.2.
> 
> Is the problem fixed by this patch?
> 
> 2000-04-20  H.J. Lu  <hjl@gnu.org>
> 
> 	* elf32-i386.c (elf_i386_relocate_section): Restrict 1998-12-10
> 	patch to symbols defined by a shared object.
> 	* elf32-ppc.c (ppc_elf_relocate_section): Similarly.

Hmmm, yes, if I recompile one of the so's with the latest binutils
it does seem to fix things.

Unfortunately, it is fixed on the "wrong end" - that is, objdump -dl
and memprof still don't work correctly on anything compiled with
intermediate versions of binutils.

It probably doesn't really matter for objdump, and, if necessary, I
can copy the find_nearest_line() code into memprof and hack it around
there. (Without having to worry about portability, etc.)

Thanks for the response,
                                        Owen


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]