This is the mail archive of the
gdb@sources.redhat.com
mailing list for the GDB project.
debuginformation added from Ada sources / interpretation
- From: Roul Oldenburger <oldenburger dot roul at rheinmetall-de dot com>
- To: gdb at sources dot redhat dot com
- Date: Wed, 22 Oct 2003 10:15:39 +0200
- Subject: debuginformation added from Ada sources / interpretation
Hello everybody,
I am using binutils' objdump to get easy to read debuginformation from
our executables. My task is to reconstruct trees of structure types used
in them in shared memories.
binutils mailing list unfortunately couldn't help with my last question.
I have problems to interpret certain structure type descriptions.
The problem is in certain cases where there is no usual description of
the top structure.
As an example this is a description of a top structure used for a shared
memory I can use to build the tree and calculate the offsets:
----
struct gen_siso_shared_memory_vme_env__vme_env_sm_description { /* size
208 id 1746 */
struct gen_siso_shared_memory_vme_env__vme_env_sm_basic_description
/* id 1688 */ _parent; /* bitsize 256, bitpos 0 */
struct gen_siso_shared_memory_vme_env__version_description /* id 1691
*/ version; /* bitsize 128, bitpos 256 */
struct gen_siso_shared_memory_vme_env__static_vme_env_sm_description
/* id 1734 */ static; /* bitsize 544, bitpos 384 */
struct gen_siso_shared_memory_vme_env__dynamic_vme_env_sm_description
/* id 1737 */ dynamic; /* bitsize 736, bitpos 928 */
};
----
This is the description of another top structure ... but it's empty and
says it is /* id 0 */
----
struct awu_siso_shared_memory__shared_memory_description { /* id 0 */
};
----
What also can be found is the following which almost look like it should
----
struct awu_siso_shared_memory__shared_memory_description___XVE { /* size
4 id 2712 */
struct awu_siso_shared_memory__shared_memory_basic_description /* id
2189 */ _parent; /* bitsize 256, bitpos 0 */
struct awu_siso_shared_memory__version_description /* id 2192 */
version; /* bitsize 128, bitpos 0 */
struct awu_siso_shared_memory__static_shared_memory_description /* id
0 */ *static___XVL; /* bitsize 32, bitpos 0 */
struct awu_siso_shared_memory__dynamic_shared_memory_table /* id 2706
*/ dynamic___XVA4; /* bitsize 207264, bitpos 0 */
struct awu_siso_shared_memory__future_description /* id 2709 */
future; /* bitsize 43904, bitpos 0 */
struct awu_siso_shared_memory__data_field_description /* id 2620 */
data_field; /* bitsize 8647040, bitpos 0 */
struct awu_siso_shared_memory__environment_description /* id 2694 */
environment; /* bitsize 28061216, bitpos 0 */
};
----
Unfortunately I don't know what the meaning of
-an id 0 description is
-the ___XVE name extension is
-the extensions (___XVL, ___XVA4) in the components names are or why
they are presented as pointer type
Also all bitpos are 0 ...
We are compiling Ada sources and use the following combination of tools:
Linux:
gcc-2.95.3-124
gnat-3.13p-27
binutils-2.11.90.0.29-14
$ as --version
GNU assembler 2.11.90.0.29
gnatgcc --version
2.8.1
The compile options are -g -ggdb -gstabs+
Ian Lance Taylor (binutils) who developed that part of objdump guessed
the extensions may be Ada specific.
I would appreciate any help on this. Probably there is some document for
gdb explaining or someone could point me to the right source which
processes such debuginformation?
Thanks
Roul