17.1 Target Selection

A target is an object file format. A given target may be supported for multiple architectures (see Architecture Selection). A target selection may also have variations for different operating systems or architectures.

The command to list valid target values is objdump -i (the first column of output contains the relevant information).

Some sample values are: a.out-hp300bsd, ecoff-littlemips, a.out-sunos-big.

You can also specify a target using a configuration triplet. This is the same sort of name that is passed to configure to specify a target. When you use a configuration triplet as an argument, it must be fully canonicalized. You can see the canonical version of a triplet by running the shell script config.sub which is included with the sources.

Some sample configuration triplets are: m68k-hp-bsd, mips-dec-ultrix, sparc-sun-sunos.

objdump Target

Ways to specify:

  1. command line option: -b or --target
  2. environment variable GNUTARGET
  3. deduced from the input file

objcopy and strip Input Target

Ways to specify:

  1. command line options: -I or --input-target, or -F or --target
  2. environment variable GNUTARGET
  3. deduced from the input file

objcopy and strip Output Target

Ways to specify:

  1. command line options: -O or --output-target, or -F or --target
  2. the input target (see “objcopy and strip Input Target” above)
  3. environment variable GNUTARGET
  4. deduced from the input file

nm, size, and strings Target

Ways to specify:

  1. command line option: --target
  2. environment variable GNUTARGET
  3. deduced from the input file