GNU Info

Info Node: (stabs.info)Global Variables

(stabs.info)Global Variables


Next: Register Variables Prev: Stack Variables Up: Variables
Enter node , (file) or (file)node

Global Variables
================

   A variable whose scope is not specific to just one source file is
represented by the `G' symbol descriptor.  These stabs use the `N_GSYM'
stab type (C_GSYM for XCOFF).  The type information for the stab (Note:
String Field) gives the type of the variable.

   For example, the following source code:

     char g_foo = 'c';

yields the following assembly code:

     .stabs "g_foo:G2",32,0,0,0     # 32 is N_GSYM
          .global _g_foo
          .data
     _g_foo:
          .byte 99

   The address of the variable represented by the `N_GSYM' is not
contained in the `N_GSYM' stab.  The debugger gets this information
from the external symbol for the global variable.  In the example above,
the `.global _g_foo' and `_g_foo:' lines tell the assembler to produce
an external symbol.

   Some compilers, like GCC, output `N_GSYM' stabs only once, where the
variable is defined.  Other compilers, like SunOS4 /bin/cc, output a
`N_GSYM' stab for each compilation unit which references the variable.


automatically generated by info2www version 1.2.2.9