| www.delorie.com/gnu/docs/gdb/stabs_21.html | search |
![]() Buy the book! | |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
A common block is a statically allocated section of memory which can be referred to by several source files. It may contain several variables. I believe Fortran is the only language with this feature.
A N_BCOMM stab begins a common block and an N_ECOMM stab
ends it. The only field that is significant in these two stabs is the
string, which names a normal (non-debugging) symbol that gives the
address of the common block. According to IBM documentation, only the
N_BCOMM has the name of the common block (even though their
compiler actually puts it both places).
The stabs for the members of the common block are between the
N_BCOMM and the N_ECOMM; the value of each stab is the
offset within the common block of that variable. IBM uses the
C_ECOML stab type, and there is a corresponding N_ECOML
stab type, but Sun's Fortran compiler uses N_GSYM instead. The
variables within a common block use the `V' symbol descriptor (I
believe this is true of all Fortran variables). Other stabs (at least
type declarations using C_DECL) can also be between the
N_BCOMM and the N_ECOMM.
| webmaster donations bookstore | delorie software privacy |
| Copyright © 2003 by The Free Software Foundation | Updated Jun 2003 |