Unix Programming - DW_FORM_strp pointing outside of .debug_str section

This is Interesting: Free IT Magazines  
Home > Archive > Unix Programming > January 2004 > DW_FORM_strp pointing outside of .debug_str section





You are viewing an archived Text-only version of the thread. To view this thread in it's original format and/or if you want to reply to this thread please [click here]

Author DW_FORM_strp pointing outside of .debug_str section
mallik

2004-01-23, 5:32 pm

Hi,
I am encountering problems with debugging a multi threaded
application:
when I try to do

gdb applnName

I get the following error:
DW_FORM_strp pointing outside of .debug_str section

it is able to read around 4 shared object files, but not able to
read 5th one. It is throwing up the above error.

I have gone through various mailing lists but still unable to
get a clue about the problem.


OS: Red Hat Linux 9
gcc: gcc-3.2.2-2
gdb: GNU gdb 6.0
binutils binutils-2.14.90.0.6-4

Please Help!!
thanks in advance,
mallikarjuna
Paul Pluzhnikov

2004-01-23, 5:33 pm

mallik1@rediffmail.com (mallik) writes:
quote:

> I am encountering problems with debugging a multi threaded
> application: when I try to do
>
> gdb applnName
>
> I get the following error:
> DW_FORM_strp pointing outside of .debug_str section



Mutithreading probably has nothing to do with the problem.
It is either a bug in gdb, in gcc, or in binutils.
quote:

> it is able to read around 4 shared object files, but not able to
> read 5th one. It is throwing up the above error.



First try to 'readelf -w 5th.so > /dev/null' (it should print some
warning or error similar to the gdb one).

Then you can try to reduce the amount of code linked into 5th.so
until the error is no longer reported. After you know what code
produces the "bad debug info", you could submit a proper bug report
to gcc maintainers (see "info gcc" Bugs).

Cheers,
--
In order to understand recursion you must first understand recursion.
Remove /-nsp/ for email.
mallik

2004-01-23, 5:34 pm

Hi,
I have made progress regarding this issue.
Our application consists of assembly code which if included
would result in following error.
DW_FORM_strp pointing outside of .debug_str section.

When I replace the assembly code with c++ code, I am able to read
all the .so files from gdb.

I have tried 'readelf -w 5th.so > /dev/null' I did not get
warnings of any sort ( with the assembly code put in!!).
thanks,
mallikarjuna
Paul Pluzhnikov <ppluzhnikov-nsp@charter.net> wrote in message news:<m3oeu2rml7.fsf@salmon.parasoft.com>...
quote:

> mallik1@rediffmail.com (mallik) writes:
>
> Mutithreading probably has nothing to do with the problem.
> It is either a bug in gdb, in gcc, or in binutils.


quote:

[QUOTE][color=darkred]
> First try to 'readelf -w 5th.so > /dev/null' (it should print some
> warning or error similar to the gdb one).


Paul Pluzhnikov

2004-01-23, 5:34 pm

mallik1@rediffmail.com (mallik) writes:
quote:

> Our application consists of assembly code which if included
> would result in following error.
> DW_FORM_strp pointing outside of .debug_str section.
>
> When I replace the assembly code with c++ code, I am able to read
> all the .so files from gdb.



Sounds like the assembly code has invalid debug directives. This
could easily be the result of compiling some C++ code with
'g++ -g -S ...', then hand-tuning the resulting assembly without
corresponding changes to the debug directives in it.

If that is the history of your assembly source, remove the debug
directives from it (code that follows ".section debug_str",
".section debug_pubnames", etc).

Cheers,
--
In order to understand recursion you must first understand recursion.
Remove /-nsp/ for email.
Sponsored Links






Free braindumps | Software forum | Database administration forum

Copyright 2003 - 2008 webservertalk.com