Chapter 16. Selecting the Target System

You can specify two aspects of the target system to the gnu binary file utilities, each in several ways:

In the following summaries, the lists of ways to specify values are in order of decreasing precedence. The ways listed first override those listed later.

The commands to list valid values only list the values for which the programs you are running were configured. If they were configured with -enable-targets=all, the commands list most of the available values, but a few are left out; not all targets can be configured in at once because some of them can only be configured native (on hosts with the same type as the target system).

16.1. Target Selection

A target is an object file format. A given target may be supported for multiple architectures (Section 16.2 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.

16.1.1. objdumpTarget

Ways to specify:

  1. command line option: -b or -target

  2. environment variable GNUTARGET

  3. deduced from the input file

16.1.2. objcopyand stripInput 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

16.1.3. objcopyand stripOutput 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

16.1.4. nm, size, and stringsTarget

Ways to specify:

  1. command line option: -target

  2. environment variable GNUTARGET

  3. deduced from the input file