Next: Miscellaneous Commands, Previous: File Commands, Up: Simple Commands
A couple of linker script commands deal with object file formats.
OUTPUT_FORMAT(
bfdname)
OUTPUT_FORMAT(
default,
big,
little)
OUTPUT_FORMAT
command names the BFD format to use for the
output file (see BFD). Using OUTPUT_FORMAT(
bfdname)
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 OUTPUT_FORMAT
with three arguments to use different
formats based on the `-EB' and `-EL' 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
`elf32-bigmips', but if the user uses the `-EL' command line
option, the output file will be created in the `elf32-littlemips'
format.
TARGET(
bfdname)
TARGET
command names the BFD format to use when reading input
files. It affects subsequent INPUT
and GROUP
commands.
This command is like using `-b bfdname' on the command line
(see Command Line Options). If the TARGET
command
is used but OUTPUT_FORMAT
is not, then the last TARGET
command is also used to set the format for the output file. See BFD.