eld Manual

Table Of Contents
Introduction to eld
eld Manual527255-009
1-8
Obey Files and the Use of Standard Input
nesting. Recursive nesting is handled by the rule that an -obey option is ignored if its
parameter is identical to the parameter of an -obey option that is currently being
processed.
The -obey option has a synonym, -FL.
There is also an option named -stdin. This is the same as an -obey option except
that it doesn’t take a parameter and it signifies instead that the contents of the standard
input file are read at this point in the command stream. The linker reads from standard
input until it encounters end of file. If the runtime environment allows a process to read
standard input up to an end of file, and then read it some more until another end of file,
etc., then there can be more than one -stdin option in the linker command stream,
each one being processed the same way.
It is not an error if a -stdin option is found within the standard input file. It is simply
ignored, as a special case of the rule that recursive -obey options are ignored. The
linker doesn’t require input from the standard input file and the linker is often used
where standard input is interactive, with nothing being entered. Accordingly, it would be
a mistake for the linker to unconditionally read from standard input because then the
linker might wait forever, with the user not realizing that the linker was waiting for input.
That is why a special option such as -stdin is necessary, to say when input is
coming from standard input.
A special case is made, however, for the Guardian platform, where the linker
distinguishes an EDIT file from other types of input files. On the Guardian platform, if
the standard input file is an EDIT type file and nothing is specified on the command
line, the linker reads that EDIT type file to obtain its command stream.
Note that the -obey option is expanded like a macro, and can even be used to
provide the parameter to an option. For example, it is possible to say -rpath -obey
x, and then the initial token within the file named x would be used as the parameter
for the -rpath option. If the file named x contained additional contents after the
initial token, those additional tokens would be interpreted as additional filenames,
options, etc., following the -rpath option.
Similar considerations apply when an -obey option is a parameter to another -obey
option, for example, if you write -obey -obey x as pa
rt of the command stream. In
this case, the linker will first assume that x is the name of an obey file and expand the
contents of the file x in place of the -obey x. So, if the first token found within the file
x is, say, y (not starting with a hyphen), so that the expanded command stream now
looks like -obey y ..., the linker will assume that y is the name of an obey file and
expand the contents of the file y in place of the -obey y. Thus the command stream
will contain the contents of the file y , followed by the remaining contents of the file
named x after its initial token “y”.