I hope to know if em64t binary of Harmony can be built and run in Windows?
I see that em64t is only used in Linux from the
working_vm\trunk\build\make\build.xml.
<condition property="build.arch" value="em64t">
<and>
<isset property="if.lnx" />
<equals arg1="${machine.arch}" arg2="x86_64" />
</and>
</condition>
<condition property="build.arch" value="ia32">
<!-- os.arch: different values on Windows and Linux -->
<or>
<and>
<isset property="if.win" />
<equals arg1="${os.arch}" arg2="x86" />
</and>
<and>
<isset property="if.lnx" />
<equals arg1="${machine.arch}" arg2="i686" />
</and>
</or>
</condition>
I could find IA64-windows in
http://wiki.apache.org/harmony/Platforms_to_Run_Harmony_Development_Kit_on(IA64
= X86 64bits as shown there) but I am not sured if that means using
ia32 binary.
I had set build.arch as em64t in my em64t platform with 64bits windows2003
but I met many building problems.
To list a few of the building errors:
[cc]
e:\Harmony.0116\drlvm.svn\trunk\vm\thread\src\thread_private.h(109)
: error C2220: warning treated as error - no object file generated
[cc]
e:\Harmony.0116\drlvm.svn\trunk\vm\thread\src\thread_private.h(109)
: warning C4005: 'tm_self_tls' : macro redefinition
[cc]
e:\Harmony.0116\drlvm.svn\trunk\vm\thread\src\thread_private
.h(102) : see previous definition of 'tm_self_tls'
[cc]
E:\Harmony.0116\drlvm.svn\trunk\vm\thread\src\thread_native_thin_mon
itor.c(249) : error C2220: warning treated as error - no object file
generated
[cc]
E:\Harmony.0116\drlvm.svn\trunk\vm\thread\src\thread_native_thin_mon
itor.c(249) : warning C4101: 'i' : unreferenced local variable
[cc]
E:\Harmony.0116\drlvm.svn\trunk\vm\vmcore\src\stack\stack_dump.cpp(2
41) : error C2220: warning treated as error - no object file generated
[cc]
E:\Harmony.0116\drlvm.svn\trunk\vm\vmcore\src\stack\stack_dump.cpp(2
41) : warning C4244: 'initializing' : conversion from 'uint64' to 'uint32',
poss
ible loss of data
[cc] nt_exception_filter.cpp
[cc]
E:\Harmony.0116\drlvm.svn\trunk\vm\vmcore\src\util\win\em64t\nt_exce
ption_filter.cpp(26) : fatal error C1083: Cannot open include file:
'gc_for_vm.h
': No such file or directory
[cc]
E:\Harmony.0116\drlvm.svn\trunk\vm\vmcore\src\util\win\em64t\nt_exce
ption_filter.cpp(30) : fatal error C1083: Cannot open include file:
'vm_utils.h'
: No such file or directory
[cc] jit_runtime_support_em64t.cpp
[cc]
e:\Harmony.0116\drlvm.svn\trunk\vm\port\src\encoder\ia32_em64t\encod
er.inl(78) : error C2220: warning treated as error - no object file
generated
[cc]
e:\Harmony.0116\drlvm.svn\trunk\vm\port\src\encoder\ia32_em64t\encod
er.inl(78) : warning C4244: 'argument' : conversion from 'int64' to 'int',
possi
ble loss of data
[cc]
E:\Harmony.0116\drlvm.svn\trunk\vm\vmcore\src\util\em64t\base\jit_ru
ntime_support_em64t.cpp(168) : warning C4244: '=' : conversion from 'uint64'
to
'int', possible loss of data
[cc]
E:\Harmony.0116\drlvm.svn\trunk\vm\vmcore\src\jvmti\jvmti_break_intf
.cpp(289) : warning C4244: '=' : conversion from 'uint64' to 'jbyte',
possible l
oss of data
[cc]
E:\Harmony.0116\drlvm.svn\trunk\vm\port\src\lil\em64t\pim\lil_code_g
enerator_em64t.cpp(498) : warning C4244: 'argument' : conversion from 'const
int
64' to 'unsigned int', possible loss of data
......
-chunrong