Chapter 35. Selecting the target system

Table of Contents
35.1. Target Selection
35.2. Architecture selection
35.3. Linker emulation selection

You can specify three aspects of the target system to the object code 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).

35.1. Target Selection

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

  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 GNUPREFIX

  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 GNUPREFIX

  4. deduced from the input file

nm, size, and strings Target

Ways to specify:

  1. command line option: “--target

  2. environment variable GNUPREFIX

  3. deduced from the input file

Linker Input Target

Ways to specify:

  1. command line option: “-b” or “--format” (see Section 32.1.)

  2. script command PREFIX (see Section 33.7.)

  3. environment variable GNUPREFIX (see Section 32.2.)

  4. the default target of the selected linker emulation (see Section 35.3.)

Linker Output Target

Ways to specify:

  1. command line option: “-oformat” (see Section 32.1.)

  2. script command OUTPUT_FORMAT (see Section 33.7.)

  3. the linker input target (see "Linker Input Target" above)