(as) Comm

Info Catalog (as) CFI directives (as) Pseudo Ops (as) Data
 
 7.30 `.comm SYMBOL , LENGTH '
 =============================
 
 `.comm' declares a common symbol named SYMBOL.  When linking, a common
 symbol in one object file may be merged with a defined or common symbol
 of the same name in another object file.  If `ld' does not see a
 definition for the symbol-just one or more common symbols-then it will
 allocate LENGTH bytes of uninitialized memory.  LENGTH must be an
 absolute expression.  If `ld' sees multiple common symbols with the
 same name, and they do not all have the same size, it will allocate
 space using the largest size.
 
    When using ELF or (as a GNU extension) PE, the `.comm' directive
 takes an optional third argument.  This is the desired alignment of the
 symbol, specified for ELF as a byte boundary (for example, an alignment
 of 16 means that the least significant 4 bits of the address should be
 zero), and for PE as a power of two (for example, an alignment of 5
 means aligned to a 32-byte boundary).  The alignment must be an
 absolute expression, and it must be a power of two.  If `ld' allocates
 uninitialized memory for the common symbol, it will use the alignment
 when placing the symbol.  If no alignment is specified, `as' will set
 the alignment to the largest power of two less than or equal to the
 size of the symbol, up to a maximum of 16 on ELF, or the default
 section alignment of 4 on PE(1).
 
    The syntax for `.comm' differs slightly on the HPPA.  The syntax is
 `SYMBOL .comm, LENGTH'; SYMBOL is optional.
 
    ---------- Footnotes ----------
 
    (1) This is not the same as the executable image file alignment
 controlled by `ld''s `--section-alignment' option; image file sections
 in PE are aligned to multiples of 4096, which is far too large an
 alignment for ordinary variables.  It is rather the default alignment
 for (non-debug) sections within object (`*.o') files, which are less
 strictly aligned.
 
Info Catalog (as) CFI directives (as) Pseudo Ops (as) Data
automatically generated by info2html