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