A couple of linker script commands deal with object file formats.
OUTPUT_FORMATcommand names the BFD format to use for the output file (see BFD ). Using
)is exactly like using ‘ --oformat bfdname ’ on the command line (see Command-line Options ). If both are used, the command line option takes precedence.
You can use
with three arguments to use different formats based on the ‘
’ and ‘
’ command-line options. This permits the linker script to set the output format based on the desired endianness.
If neither ‘ -EB ’ nor ‘ -EL ’ are used, then the output format will be the first argument, default . If ‘ -EB ’ is used, the output format will be the second argument, big . If ‘ -EL ’ is used, the output format will be the third argument, little .
For example, the default linker script for the MIPS ELF target uses this command:
OUTPUT_FORMAT(elf32-bigmips, elf32-bigmips, elf32-littlemips)
This says that the default format for the output file is ‘
’, but if the user uses the ‘
’ command-line option, the output file will be created in the ‘
TARGETcommand names the BFD format to use when reading input files. It affects subsequent
GROUPcommands. This command is like using ‘ -b bfdname ’ on the command line (see Command-line Options ). If the
TARGETcommand is used but
OUTPUT_FORMATis not, then the last
TARGETcommand is also used to set the format for the output file. See BFD .