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

Reply via email to