On 2012/05/14 07:07:43, yongsheng.zhu wrote:
One question about this, even the target arch is 64 bit, if it supports
-m32,
always set this option?
When the v8_target_arch (i.e. the code generation target architecture) is
any of
ia32, arm, or mips, then the target_arch (i.e. the architecture where the
compiled binaries run) must be either the same (cross-compile or native
builds)
or ia32 (simulator builds). So yes, when you're compiling the simulator to
run
on a 64 bit system, you must pass -m32 to the compiler. Further, for
snapshot
creation, you also must pass -m32 to the host toolset if the build host is
a 64
bit system.
Supported combinations of host_arch | target_arch | v8_target_arch are:
(native)
arm | arm | arm
ia32 | ia32 | ia32
mips | mips | mips (not sure how well this is tested)
x64 | x64 | x64
(cross-compiling)
ia32 | arm | arm
ia32 | mips | mips
(simulator)
ia32 | ia32 | arm
ia32 | ia32 | mips
Since x86_64 operating systems can execute ia32 binaries, you can use 64 bit
systems as "host" and "target" in any place where ia32 is listed above, but
in
*all of these cases* you must pass -m32 to the toolchain to force creation
of
ia32 binaries.
Only when v8_target_arch==x64 (which is only supported when
host_arch==target_arch==x64 too), setting -m32 would be wrong.
http://codereview.chromium.org/10310058/
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev