This is the mail archive of the gdb@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

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


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