8.90. .type

This directive is used to set the type of a symbol.

8.90.1. COFF Version

For COFF targets, this directive is permitted only within .def/.endef pairs. It is used like this:

.type int

This records the integer int as the type attribute of a symbol table entry.

.type is associated only with COFF format output; when as is configured for b.out output, it accepts this directive but ignores it.

8.90.2. ELF Version

For ELF targets, the .type directive is used like this:

.type name , type description

This sets the type of symbol name to be either a function symbol or an object symbol. There are five different syntaxes supported for the type description field, in order to provide compatibility with various other assemblers. The syntaxes supported are:

  .type <name>,#function
  .type <name>,#object

  .type <name>,@function
  .type <name>,@object

  .type <name>,%function
  .type <name>,%object

  .type <name>,"function"
  .type <name>,"object"

  .type <name> STT_FUNCTION
  .type <name> STT_OBJECT