Commit 46bfe5e3 by Geoffrey Keating Committed by Geoffrey Keating

invoke.texi (Darwin Options): Improve description of how the subtype is chosen.

	* doc/invoke.texi (Darwin Options): Improve description of
	how the subtype is chosen.

From-SVN: r89897
parent 61168ff1
2004-10-30 Geoffrey Keating <geoffk@apple.com>
* doc/invoke.texi (Darwin Options): Improve description of
how the subtype is chosen.
2004-10-30 Roger Sayle <roger@eyesopen.com> 2004-10-30 Roger Sayle <roger@eyesopen.com>
PR middle-end/18096 PR middle-end/18096
......
...@@ -7190,13 +7190,26 @@ system. ...@@ -7190,13 +7190,26 @@ system.
FSF GCC on Darwin does not create ``fat'' object files; it will create FSF GCC on Darwin does not create ``fat'' object files; it will create
an object file for the single architecture that it was built to an object file for the single architecture that it was built to
target. Apple's GCC on Darwin does create ``fat'' files if multiple target. Apple's GCC on Darwin does create ``fat'' files if multiple
@option{-arch} options are used. @option{-arch} options are used; it does so by running the compiler or
linker multiple times and joining the results together with
@file{lipo}.
The subtype of the file created (@var{ppc7400} or @var{ppc970} or The subtype of the file created (like @samp{ppc7400} or @samp{ppc970} or
@var{i686}) is determined by the flag that specifies the ISA @samp{i686}) is determined by the flags that specify the ISA
that GCC is targetting, @option{-mcpu} or @option{-march}. The that GCC is targetting, like @option{-mcpu} or @option{-march}. The
@option{-force_cpusubtype_ALL} option can be used to override this. @option{-force_cpusubtype_ALL} option can be used to override this.
The Darwin tools vary in their behaviour when presented with an ISA
mismatch. The assembler, @file{as}, will only permit instructions to
be used that are valid for the subtype of the file it is generating,
so you cannot put 64-bit instructions in an @samp{ppc750} object file.
The linker for shared libraries, @file{/usr/bin/libtool}, will fail
and print an error if asked to create a shared library with a less
restrictive subtype than its input files (for instance, trying to put
a @samp{ppc970} object file in a @samp{ppc7400} library). The linker
for executables, @file{ld}, will quietly give the executable the most
restrictive subtype of any of its input files.
@table @gcctabopt @table @gcctabopt
@item -F@var{dir} @item -F@var{dir}
@opindex F @opindex F
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment