Developer's Topics
Chapter 7, Common Object File Format (COFF)

Auxiliary table entries

Auxiliary table entries

An auxiliary table entry of a symbol contains the same number of bytes as the symbol table entry. However, unlike symbol table entries, the format of an auxiliary table entry of a symbol depends on its type and storage class. They are summarized in Table 7-27, ``Auxiliary symbol table entries''. 

Table 7-27 Auxiliary symbol table entries

 -------------|-----------|---------------------|--------------
              |           |      Type Entry     |
              |  Storage  | --------------------|  Auxiliary
 Name         |  Class    |    d1   |     typ   |  Entry Format
 -------------|-----------|---------|-----------|--------------
 .file        |  C_FILE   |  DT_NON |  T_NULL   |  file name
 .text, .data,|  C_STAT   |  DT_NON |  T_NULL   |  section
 .bss         |           |         |           |
 tagname      |  C_STRTAG |  DT_NON |  T_NULL   |  tag name
              |  C_UNTAG  |         |           |
              |  C_ENTAG  |         |           |
 .eos         |  C_EOS    |  DT_NON |  T_NULL   |  end of
              |           |         |           |  structure
 fcname       |  C_EXT    |  DT_FCN |  (Note 1) |  function
              |  C_STAT   |         |           |
              |  C_WEAKEXT|         |           |
 arrname      |  (Note 2) |  DT_ARY |  (Note 1) |  array
 .bb, .eb     |  C_BLOCK  |  DT_NON |  T_NULL   |  beginning
              |           |         |           |  and end of
              |           |         |           |  block
 .bf, .ef     |  C_FCN    |  DT_NON |  T_NULL   |  beginning
              |           |         |           |  and end of
              |           |         |           |  function
 name related |  (Note 2) |  DT_PTR,|  T_STRUCT,|  name related
 to structure,|           |  DT_ARR,|  T_UNION, |  to
 union,       |           |  DT_NON |  T_ENUM   |  structure,
 enumeration  |           |         |           |  union,
              |           |         |           |  enumeration
 --------------------------------------------------------------
 Notes to Table 7-27, ``Auxiliary symbol table entries'' 
 1. Any except T_MOE.
 2. C_AUTO, C_STAT, C_MOS, C_MOU, C_TPDEF.
 --------------------------------------------------------------
In Table 7-27, ``Auxiliary symbol table entries'', tagname means any symbol name including the special symbol .xfake, and fcname and arrname represent any symbol name for a function or an array respectively. Any symbol that satisfies more than one condition in Table 7-27, ``Auxiliary symbol table entries'' should have a union format in its auxiliary entry.


NOTE: It is a mistake to assume how many auxiliary entries are associated with any given symbol table entry. This information is available and should be obtained from the n_numaux field in the symbol table.