mirror of
https://github.com/dart-lang/sdk
synced 2024-09-05 00:13:50 +00:00
Adds targets for simarmv6 and armv6
related #25562 R=rmacnak@google.com Review URL: https://codereview.chromium.org/1624593002 .
This commit is contained in:
parent
771fea4502
commit
80f358dede
|
@ -157,7 +157,7 @@ observe/test/transformer_test: Fail, OK # Uses dart:io.
|
||||||
observe/test/unique_message_test: SkipByDesign # Uses dart:io.
|
observe/test/unique_message_test: SkipByDesign # Uses dart:io.
|
||||||
dart_messages/test/dart_messages_test: Skip # Uses dart:io.
|
dart_messages/test/dart_messages_test: Skip # Uses dart:io.
|
||||||
|
|
||||||
[ $runtime == vm && ($arch == simarm64 || $arch == simarm || $arch == simarmv5te || $arch == simmips || $arch == armv5te) ]
|
[ $runtime == vm && ($arch == simarm64 || $arch == simarm || $arch == simarmv6 || $arch == simarmv5te || $arch == simmips || $arch == armv6 || $arch == armv5te) ]
|
||||||
# Timeout. These are not unit tests. They do not run efficiently on our
|
# Timeout. These are not unit tests. They do not run efficiently on our
|
||||||
# simulator or low-end devices.
|
# simulator or low-end devices.
|
||||||
*: Skip
|
*: Skip
|
||||||
|
|
|
@ -33,7 +33,7 @@ cc/Service_Profile: Skip
|
||||||
cc/Dart2JSCompilerStats: Skip
|
cc/Dart2JSCompilerStats: Skip
|
||||||
cc/CorelibCompilerStats: Skip
|
cc/CorelibCompilerStats: Skip
|
||||||
|
|
||||||
[ $arch == simarm || $arch == simarmv5te || $arch == simarm64 || $arch == simmips ]
|
[ $arch == simarm || $arch == simarmv6 || $arch == simarmv5te || $arch == simarm64 || $arch == simmips ]
|
||||||
cc/Service_Profile: Skip
|
cc/Service_Profile: Skip
|
||||||
|
|
||||||
[ $arch == arm ]
|
[ $arch == arm ]
|
||||||
|
|
|
@ -92,6 +92,20 @@
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'Dart_simarmv6_Base': {
|
||||||
|
'abstract': 1,
|
||||||
|
'xcode_settings': {
|
||||||
|
'ARCHS': [ 'i386' ],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
|
'Dart_simarmv5te_Base': {
|
||||||
|
'abstract': 1,
|
||||||
|
'xcode_settings': {
|
||||||
|
'ARCHS': [ 'i386' ],
|
||||||
|
},
|
||||||
|
},
|
||||||
|
|
||||||
'Dart_simmips_Base': {
|
'Dart_simmips_Base': {
|
||||||
'abstract': 1,
|
'abstract': 1,
|
||||||
'xcode_settings': {
|
'xcode_settings': {
|
||||||
|
|
|
@ -1798,10 +1798,20 @@ ASSEMBLER_TEST_GENERATE(IntDiv_supported, assembler) {
|
||||||
|
|
||||||
ASSEMBLER_TEST_RUN(IntDiv_supported, test) {
|
ASSEMBLER_TEST_RUN(IntDiv_supported, test) {
|
||||||
EXPECT(test != NULL);
|
EXPECT(test != NULL);
|
||||||
|
#if defined(USING_SIMULATOR)
|
||||||
|
bool orig = TargetCPUFeatures::integer_division_supported();
|
||||||
|
HostCPUFeatures::set_integer_division_supported(true);
|
||||||
if (TargetCPUFeatures::can_divide()) {
|
if (TargetCPUFeatures::can_divide()) {
|
||||||
typedef int (*Tst)() DART_UNUSED;
|
typedef int (*Tst)() DART_UNUSED;
|
||||||
EXPECT_EQ(3, EXECUTE_TEST_CODE_INT32(Tst, test->entry()));
|
EXPECT_EQ(3, EXECUTE_TEST_CODE_INT32(Tst, test->entry()));
|
||||||
}
|
}
|
||||||
|
HostCPUFeatures::set_integer_division_supported(orig);
|
||||||
|
#else
|
||||||
|
if (TargetCPUFeatures::can_divide()) {
|
||||||
|
typedef int (*Tst)() DART_UNUSED;
|
||||||
|
EXPECT_EQ(3, EXECUTE_TEST_CODE_INT32(Tst, test->entry()));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -1829,10 +1839,20 @@ ASSEMBLER_TEST_GENERATE(IntDiv_unsupported, assembler) {
|
||||||
|
|
||||||
ASSEMBLER_TEST_RUN(IntDiv_unsupported, test) {
|
ASSEMBLER_TEST_RUN(IntDiv_unsupported, test) {
|
||||||
EXPECT(test != NULL);
|
EXPECT(test != NULL);
|
||||||
|
#if defined(USING_SIMULATOR)
|
||||||
|
bool orig = TargetCPUFeatures::integer_division_supported();
|
||||||
|
HostCPUFeatures::set_integer_division_supported(false);
|
||||||
if (TargetCPUFeatures::can_divide()) {
|
if (TargetCPUFeatures::can_divide()) {
|
||||||
typedef int (*Tst)() DART_UNUSED;
|
typedef int (*Tst)() DART_UNUSED;
|
||||||
EXPECT_EQ(3, EXECUTE_TEST_CODE_INT32(Tst, test->entry()));
|
EXPECT_EQ(3, EXECUTE_TEST_CODE_INT32(Tst, test->entry()));
|
||||||
}
|
}
|
||||||
|
HostCPUFeatures::set_integer_division_supported(orig);
|
||||||
|
#else
|
||||||
|
if (TargetCPUFeatures::can_divide()) {
|
||||||
|
typedef int (*Tst)() DART_UNUSED;
|
||||||
|
EXPECT_EQ(3, EXECUTE_TEST_CODE_INT32(Tst, test->entry()));
|
||||||
|
}
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
|
@ -56,10 +56,14 @@
|
||||||
|
|
||||||
namespace dart {
|
namespace dart {
|
||||||
|
|
||||||
// TODO(zra): Add a target for ARMv6.
|
|
||||||
#if defined(TARGET_ARCH_ARM_5TE)
|
#if defined(TARGET_ARCH_ARM_5TE)
|
||||||
DEFINE_FLAG(bool, use_vfp, false, "Use vfp instructions if supported");
|
DEFINE_FLAG(bool, use_vfp, false, "Use vfp instructions if supported");
|
||||||
DEFINE_FLAG(bool, use_neon, false, "Use neon instructions if supported");
|
DEFINE_FLAG(bool, use_neon, false, "Use neon instructions if supported");
|
||||||
|
DEFINE_FLAG(bool, use_integer_division, false,
|
||||||
|
"Use integer division instruction if supported");
|
||||||
|
#elif defined(TARGET_ARCH_ARM_6)
|
||||||
|
DEFINE_FLAG(bool, use_vfp, true, "Use vfp instructions if supported");
|
||||||
|
DEFINE_FLAG(bool, use_neon, false, "Use neon instructions if supported");
|
||||||
DEFINE_FLAG(bool, use_integer_division, false,
|
DEFINE_FLAG(bool, use_integer_division, false,
|
||||||
"Use integer division instruction if supported");
|
"Use integer division instruction if supported");
|
||||||
#else
|
#else
|
||||||
|
@ -242,6 +246,8 @@ void HostCPUFeatures::InitOnce() {
|
||||||
|
|
||||||
#if defined(TARGET_ARCH_ARM_5TE)
|
#if defined(TARGET_ARCH_ARM_5TE)
|
||||||
arm_version_ = ARMv5TE;
|
arm_version_ = ARMv5TE;
|
||||||
|
#elif defined(TARGET_ARCH_ARM_6)
|
||||||
|
arm_version_ = ARMv6;
|
||||||
#else
|
#else
|
||||||
arm_version_ = ARMv7;
|
arm_version_ = ARMv7;
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -74,7 +74,7 @@ LibTest/collection/ListBase/ListBase_class_A01_t02: Skip # co19 issue 673
|
||||||
LibTest/isolate/Isolate/spawnUri_A01_t04: Crash, Pass # Issue 17440
|
LibTest/isolate/Isolate/spawnUri_A01_t04: Crash, Pass # Issue 17440
|
||||||
LibTest/isolate/Isolate/spawn_A01_t04: Crash, Pass # Issue 17440
|
LibTest/isolate/Isolate/spawn_A01_t04: Crash, Pass # Issue 17440
|
||||||
|
|
||||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) && ($arch == simarm || $arch == simarmv5te || $arch == simmips || $arch == simarm64) ]
|
[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) && ($arch == simarm || $arch == simarmv6 || $arch == simarmv5te || $arch == simmips || $arch == simarm64) ]
|
||||||
LibTest/core/Uri/Uri_A06_t03: Skip # Timeout
|
LibTest/core/Uri/Uri_A06_t03: Skip # Timeout
|
||||||
LibTest/collection/ListMixin/ListMixin_class_A01_t01: Skip # Timeout
|
LibTest/collection/ListMixin/ListMixin_class_A01_t01: Skip # Timeout
|
||||||
LibTest/collection/ListBase/ListBase_class_A01_t01: Skip # Timeout
|
LibTest/collection/ListBase/ListBase_class_A01_t01: Skip # Timeout
|
||||||
|
|
|
@ -104,7 +104,7 @@ large_class_declaration_test: SkipSlow # Times out. Issue 20352
|
||||||
[ ($compiler == none || $compiler == precompiler) && $runtime == ContentShellOnAndroid ]
|
[ ($compiler == none || $compiler == precompiler) && $runtime == ContentShellOnAndroid ]
|
||||||
gc_test: SkipSlow # Times out flakily. Issue 20956
|
gc_test: SkipSlow # Times out flakily. Issue 20956
|
||||||
|
|
||||||
[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) && ( $arch == simarm || $arch == arm || $arch == simarmv5te || $arch == armv5te || $arch == simarm64 || $arch == arm64 || $arch == simmips || $arch == mips) ]
|
[ ($compiler == none || $compiler == precompiler) && ($runtime == vm || $runtime == dart_precompiled) && ( $arch == simarm || $arch == arm || $arch == simarmv6 || $arch == armv6 || $arch == simarmv5te || $arch == armv5te || $arch == simarm64 || $arch == arm64 || $arch == simmips || $arch == mips) ]
|
||||||
vm/load_to_load_unaligned_forwarding_vm_test: Pass, Crash # Unaligned offset. Issue 22151
|
vm/load_to_load_unaligned_forwarding_vm_test: Pass, Crash # Unaligned offset. Issue 22151
|
||||||
|
|
||||||
[ ($compiler == none || $compiler == precompiler) && $runtime == dartium ]
|
[ ($compiler == none || $compiler == precompiler) && $runtime == dartium ]
|
||||||
|
|
|
@ -308,7 +308,7 @@ mirrors/native_class_test: Pass, Slow
|
||||||
[ ($compiler == none || $compiler == precompiler) && $arch == mips ]
|
[ ($compiler == none || $compiler == precompiler) && $arch == mips ]
|
||||||
async/timer_regress22626_test: Pass, RuntimeError # Issue 22626
|
async/timer_regress22626_test: Pass, RuntimeError # Issue 22626
|
||||||
|
|
||||||
[ $arch == simarm || $arch == simarmv5te ]
|
[ $arch == simarm || $arch == simarmv6 || $arch == simarmv5te ]
|
||||||
convert/chunked_conversion_utf88_test: Skip # Pass, Slow Issue 12644.
|
convert/chunked_conversion_utf88_test: Skip # Pass, Slow Issue 12644.
|
||||||
convert/utf85_test: Skip # Pass, Slow Issue 12644.
|
convert/utf85_test: Skip # Pass, Slow Issue 12644.
|
||||||
|
|
||||||
|
@ -331,7 +331,7 @@ convert/streamed_conversion_json_utf8_decode_test: Pass, Slow
|
||||||
[ ($runtime == vm || $runtime == dart_precompiled) && $mode == release && $arch == ia32 && $system == windows ]
|
[ ($runtime == vm || $runtime == dart_precompiled) && $mode == release && $arch == ia32 && $system == windows ]
|
||||||
convert/json_test: RuntimeError # Issue 24908
|
convert/json_test: RuntimeError # Issue 24908
|
||||||
|
|
||||||
[ $mode == debug && $arch != ia32 && $arch != x64 && $arch != simarm && $arch != simarmv5te ]
|
[ $mode == debug && $arch != ia32 && $arch != x64 && $arch != simarm && $arch != simarmv6 && $arch != simarmv5te ]
|
||||||
convert/streamed_conversion_json_utf8_decode_test: Skip # Verification not yet implemented.
|
convert/streamed_conversion_json_utf8_decode_test: Skip # Verification not yet implemented.
|
||||||
|
|
||||||
[ ($runtime == vm || $runtime == dart_precompiled) && $mode == debug && $builder_tag == asan ]
|
[ ($runtime == vm || $runtime == dart_precompiled) && $mode == debug && $builder_tag == asan ]
|
||||||
|
|
|
@ -140,7 +140,7 @@ oom_error_stacktrace_test: Pass # The test only fails at runtime.
|
||||||
[ $compiler == dart2js && $browser ]
|
[ $compiler == dart2js && $browser ]
|
||||||
*: Skip
|
*: Skip
|
||||||
|
|
||||||
[ $arch == simarm || $arch == simarmv5te || $arch == simmips ]
|
[ $arch == simarm || $arch == simarmv6 || $arch == simarmv5te || $arch == simmips ]
|
||||||
out_of_memory_test: Skip # passes on Mac, crashes on Linux
|
out_of_memory_test: Skip # passes on Mac, crashes on Linux
|
||||||
oom_error_stacktrace_test: Skip # Fails on Linux
|
oom_error_stacktrace_test: Skip # Fails on Linux
|
||||||
|
|
||||||
|
@ -268,4 +268,4 @@ io/raw_socket_cross_process_test: RuntimeError # Platform.executable
|
||||||
io/test_extension_test: RuntimeError # Platform.executable
|
io/test_extension_test: RuntimeError # Platform.executable
|
||||||
io/regress_7679_test: RuntimeError # Platform.executable
|
io/regress_7679_test: RuntimeError # Platform.executable
|
||||||
|
|
||||||
io/process_*: Skip # Most use Platform.executable
|
io/process_*: Skip # Most use Platform.executable
|
||||||
|
|
2
third_party/pkg_tested/pkg_tested.status
vendored
2
third_party/pkg_tested/pkg_tested.status
vendored
|
@ -23,7 +23,7 @@ pub/*: SkipByDesign
|
||||||
pub/test/run/app_can_read_from_stdin_test: Fail # Issue 19448
|
pub/test/run/app_can_read_from_stdin_test: Fail # Issue 19448
|
||||||
pub/test/run/forwards_signal_posix_test: SkipByDesign
|
pub/test/run/forwards_signal_posix_test: SkipByDesign
|
||||||
|
|
||||||
[ $runtime == vm && ($mode == debug || $arch == mips || $arch == simmips || $arch == simarm || $arch == simarmv5te || $arch == simarm64 || $builder_tag == asan) ]
|
[ $runtime == vm && ($mode == debug || $arch == mips || $arch == simmips || $arch == simarm || $arch == simarmv6 || $arch == simarmv5te || $arch == simarm64 || $builder_tag == asan) ]
|
||||||
dart_style/test/command_line_test: Skip # The test controller does not take into account that tests take much longer in debug mode or on simulators/mips.
|
dart_style/test/command_line_test: Skip # The test controller does not take into account that tests take much longer in debug mode or on simulators/mips.
|
||||||
dart_style/test/formatter_test: Skip # The test controller does not take into account that tests take much longer in debug mode or on simulators/mips.
|
dart_style/test/formatter_test: Skip # The test controller does not take into account that tests take much longer in debug mode or on simulators/mips.
|
||||||
|
|
||||||
|
|
|
@ -55,8 +55,8 @@ def BuildOptions():
|
||||||
default=False, action="store_true")
|
default=False, action="store_true")
|
||||||
result.add_option("-a", "--arch",
|
result.add_option("-a", "--arch",
|
||||||
help='Target architectures (comma-separated).',
|
help='Target architectures (comma-separated).',
|
||||||
metavar='[all,ia32,x64,simarm,arm,simarmv5te,armv5te,simmips,mips'
|
metavar='[all,ia32,x64,simarm,arm,simarmv6,armv6,simarmv5te,armv5te,'
|
||||||
',simarm64,arm64,]',
|
'simmips,mips,simarm64,arm64,]',
|
||||||
default=utils.GuessArchitecture())
|
default=utils.GuessArchitecture())
|
||||||
result.add_option("--os",
|
result.add_option("--os",
|
||||||
help='Target OSs (comma-separated).',
|
help='Target OSs (comma-separated).',
|
||||||
|
@ -101,8 +101,8 @@ def ProcessOptions(options, args):
|
||||||
print "Unknown mode %s" % mode
|
print "Unknown mode %s" % mode
|
||||||
return False
|
return False
|
||||||
for arch in options.arch:
|
for arch in options.arch:
|
||||||
archs = ['ia32', 'x64', 'simarm', 'arm', 'simarmv5te', 'armv5te', 'simmips',
|
archs = ['ia32', 'x64', 'simarm', 'arm', 'simarmv6', 'armv6',
|
||||||
'mips', 'simarm64', 'arm64',]
|
'simarmv5te', 'armv5te', 'simmips', 'mips', 'simarm64', 'arm64',]
|
||||||
if not arch in archs:
|
if not arch in archs:
|
||||||
print "Unknown arch %s" % arch
|
print "Unknown arch %s" % arch
|
||||||
return False
|
return False
|
||||||
|
@ -119,7 +119,7 @@ def ProcessOptions(options, args):
|
||||||
print ("Cross-compilation to %s is not supported on host os %s."
|
print ("Cross-compilation to %s is not supported on host os %s."
|
||||||
% (os_name, HOST_OS))
|
% (os_name, HOST_OS))
|
||||||
return False
|
return False
|
||||||
if not arch in ['ia32', 'arm', 'armv5te', 'arm64', 'mips']:
|
if not arch in ['ia32', 'arm', 'armv6', 'armv5te', 'arm64', 'mips']:
|
||||||
print ("Cross-compilation to %s is not supported for architecture %s."
|
print ("Cross-compilation to %s is not supported for architecture %s."
|
||||||
% (os_name, arch))
|
% (os_name, arch))
|
||||||
return False
|
return False
|
||||||
|
|
|
@ -17,9 +17,11 @@
|
||||||
['"<(target_arch)"=="ia32"', { 'dart_target_arch': 'IA32', }],
|
['"<(target_arch)"=="ia32"', { 'dart_target_arch': 'IA32', }],
|
||||||
['"<(target_arch)"=="x64"', { 'dart_target_arch': 'X64', }],
|
['"<(target_arch)"=="x64"', { 'dart_target_arch': 'X64', }],
|
||||||
['"<(target_arch)"=="arm"', { 'dart_target_arch': 'ARM', }],
|
['"<(target_arch)"=="arm"', { 'dart_target_arch': 'ARM', }],
|
||||||
|
['"<(target_arch)"=="armv6"', { 'dart_target_arch': 'ARMV6', }],
|
||||||
['"<(target_arch)"=="armv5te"', { 'dart_target_arch': 'ARMV5TE', }],
|
['"<(target_arch)"=="armv5te"', { 'dart_target_arch': 'ARMV5TE', }],
|
||||||
['"<(target_arch)"=="arm64"', { 'dart_target_arch': 'ARM64', }],
|
['"<(target_arch)"=="arm64"', { 'dart_target_arch': 'ARM64', }],
|
||||||
['"<(target_arch)"=="simarm"', { 'dart_target_arch': 'SIMARM', }],
|
['"<(target_arch)"=="simarm"', { 'dart_target_arch': 'SIMARM', }],
|
||||||
|
['"<(target_arch)"=="simarmv6"', { 'dart_target_arch': 'SIMARMV6', }],
|
||||||
['"<(target_arch)"=="simarmv5te"', { 'dart_target_arch': 'SIMARMV5TE', }],
|
['"<(target_arch)"=="simarmv5te"', { 'dart_target_arch': 'SIMARMV5TE', }],
|
||||||
['"<(target_arch)"=="simarm64"', { 'dart_target_arch': 'SIMARM64', }],
|
['"<(target_arch)"=="simarm64"', { 'dart_target_arch': 'SIMARM64', }],
|
||||||
['"<(target_arch)"=="mips"', { 'dart_target_arch': 'MIPS', }],
|
['"<(target_arch)"=="mips"', { 'dart_target_arch': 'MIPS', }],
|
||||||
|
@ -63,6 +65,14 @@
|
||||||
]
|
]
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'Dart_simarmv6_Base': {
|
||||||
|
'abstract': 1,
|
||||||
|
'defines': [
|
||||||
|
'TARGET_ARCH_ARM',
|
||||||
|
'TARGET_ARCH_ARM_6',
|
||||||
|
]
|
||||||
|
},
|
||||||
|
|
||||||
'Dart_simarmv5te_Base': {
|
'Dart_simarmv5te_Base': {
|
||||||
'abstract': 1,
|
'abstract': 1,
|
||||||
'defines': [
|
'defines': [
|
||||||
|
@ -78,6 +88,14 @@
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'Dart_armv6_Base': {
|
||||||
|
'abstract': 1,
|
||||||
|
'defines': [
|
||||||
|
'TARGET_ARCH_ARM',
|
||||||
|
'TARGET_ARCH_ARM_6',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
'Dart_armv5te_Base': {
|
'Dart_armv5te_Base': {
|
||||||
'abstract': 1,
|
'abstract': 1,
|
||||||
'defines': [
|
'defines': [
|
||||||
|
@ -184,6 +202,27 @@
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'DebugSIMARMV6': {
|
||||||
|
'inherit_from': [
|
||||||
|
'Dart_Base', 'Dart_simarmv6_Base', 'Dart_Debug',
|
||||||
|
'Dart_<(dart_target_os)_Base',
|
||||||
|
'Dart_<(dart_target_os)_simarmv6_Base',
|
||||||
|
'Dart_<(dart_target_os)_Debug',
|
||||||
|
],
|
||||||
|
'defines': [
|
||||||
|
'DEBUG',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
'ReleaseSIMARMV6': {
|
||||||
|
'inherit_from': [
|
||||||
|
'Dart_Base', 'Dart_simarmv6_Base', 'Dart_Release',
|
||||||
|
'Dart_<(dart_target_os)_Base',
|
||||||
|
'Dart_<(dart_target_os)_simarmv6_Base',
|
||||||
|
'Dart_<(dart_target_os)_Release',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
'DebugSIMARMV5TE': {
|
'DebugSIMARMV5TE': {
|
||||||
'inherit_from': [
|
'inherit_from': [
|
||||||
'Dart_Base', 'Dart_simarmv5te_Base', 'Dart_Debug',
|
'Dart_Base', 'Dart_simarmv5te_Base', 'Dart_Debug',
|
||||||
|
@ -285,6 +324,42 @@
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'DebugXARMV6': {
|
||||||
|
'inherit_from': [
|
||||||
|
'Dart_Base', 'Dart_armv6_Base', 'Dart_Debug',
|
||||||
|
'Dart_Linux_Base',
|
||||||
|
'Dart_Linux_xarmv6_Base',
|
||||||
|
'Dart_Linux_Debug',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
'ReleaseXARMV6': {
|
||||||
|
'inherit_from': [
|
||||||
|
'Dart_Base', 'Dart_armv6_Base', 'Dart_Release',
|
||||||
|
'Dart_Linux_Base',
|
||||||
|
'Dart_Linux_xarmv6_Base',
|
||||||
|
'Dart_Linux_Release',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
'DebugARMV6': {
|
||||||
|
'inherit_from': [
|
||||||
|
'Dart_Base', 'Dart_armv6_Base', 'Dart_Debug',
|
||||||
|
'Dart_Linux_Base',
|
||||||
|
'Dart_Linux_armv6_Base',
|
||||||
|
'Dart_Linux_Debug',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
|
'ReleaseARMV6': {
|
||||||
|
'inherit_from': [
|
||||||
|
'Dart_Base', 'Dart_armv6_Base', 'Dart_Release',
|
||||||
|
'Dart_Linux_Base',
|
||||||
|
'Dart_Linux_armv6_Base',
|
||||||
|
'Dart_Linux_Release',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
'DebugXARMV5TE': {
|
'DebugXARMV5TE': {
|
||||||
'inherit_from': [
|
'inherit_from': [
|
||||||
'Dart_Base', 'Dart_armv5te_Base', 'Dart_Debug',
|
'Dart_Base', 'Dart_armv5te_Base', 'Dart_Debug',
|
||||||
|
|
|
@ -76,6 +76,12 @@
|
||||||
'ldflags': [ '-m32', ],
|
'ldflags': [ '-m32', ],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
'Dart_Linux_simarmv6_Base': {
|
||||||
|
'abstract': 1,
|
||||||
|
'cflags': [ '-O3', '-m32', '-msse2', '-mfpmath=sse' ],
|
||||||
|
'ldflags': [ '-m32', ],
|
||||||
|
},
|
||||||
|
|
||||||
'Dart_Linux_simarmv5te_Base': {
|
'Dart_Linux_simarmv5te_Base': {
|
||||||
'abstract': 1,
|
'abstract': 1,
|
||||||
'cflags': [ '-O3', '-m32', '-msse2', '-mfpmath=sse' ],
|
'cflags': [ '-O3', '-m32', '-msse2', '-mfpmath=sse' ],
|
||||||
|
@ -117,6 +123,35 @@
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
|
||||||
|
# ARMv6 cross-build
|
||||||
|
'Dart_Linux_xarmv6_Base': {
|
||||||
|
'abstract': 1,
|
||||||
|
'target_conditions': [
|
||||||
|
['_toolset=="target"', {
|
||||||
|
'cflags': [
|
||||||
|
'-march=armv6',
|
||||||
|
'-mfpu=vfp',
|
||||||
|
'-Wno-psabi', # suppresses va_list warning
|
||||||
|
'-fno-strict-overflow',
|
||||||
|
],
|
||||||
|
}],
|
||||||
|
['_toolset=="host"', {
|
||||||
|
'cflags': ['-m32', '-msse2', '-mfpmath=sse' ],
|
||||||
|
'ldflags': ['-m32'],
|
||||||
|
}]]
|
||||||
|
},
|
||||||
|
|
||||||
|
# ARMv6 native build
|
||||||
|
'Dart_Linux_armv6_Base': {
|
||||||
|
'abstract': 1,
|
||||||
|
'cflags': [
|
||||||
|
'-march=armv6',
|
||||||
|
'-mfpu=vfp',
|
||||||
|
'-Wno-psabi', # suppresses va_list warning
|
||||||
|
'-fno-strict-overflow',
|
||||||
|
],
|
||||||
|
},
|
||||||
|
|
||||||
# ARMv5 cross-build
|
# ARMv5 cross-build
|
||||||
'Dart_Linux_xarmv5te_Base': {
|
'Dart_Linux_xarmv5te_Base': {
|
||||||
'abstract': 1,
|
'abstract': 1,
|
||||||
|
|
|
@ -24,6 +24,9 @@
|
||||||
'Dart_Win_simarm_Base': {
|
'Dart_Win_simarm_Base': {
|
||||||
'abstract': 1,
|
'abstract': 1,
|
||||||
},
|
},
|
||||||
|
'Dart_Win_simarmv6_Base': {
|
||||||
|
'abstract': 1,
|
||||||
|
},
|
||||||
'Dart_Win_simarmv5te_Base': {
|
'Dart_Win_simarmv5te_Base': {
|
||||||
'abstract': 1,
|
'abstract': 1,
|
||||||
},
|
},
|
||||||
|
|
|
@ -78,6 +78,9 @@
|
||||||
'Dart_Macos_simarm_Base': {
|
'Dart_Macos_simarm_Base': {
|
||||||
'abstract': 1,
|
'abstract': 1,
|
||||||
},
|
},
|
||||||
|
'Dart_Macos_simarmv6_Base': {
|
||||||
|
'abstract': 1,
|
||||||
|
},
|
||||||
'Dart_Macos_simarmv5te_Base': {
|
'Dart_Macos_simarmv5te_Base': {
|
||||||
'abstract': 1,
|
'abstract': 1,
|
||||||
},
|
},
|
||||||
|
|
|
@ -172,6 +172,8 @@ class DartVmRuntimeConfiguration extends RuntimeConfiguration {
|
||||||
switch (arch) {
|
switch (arch) {
|
||||||
case 'simarm':
|
case 'simarm':
|
||||||
case 'arm':
|
case 'arm':
|
||||||
|
case 'simarmv6':
|
||||||
|
case 'armv6':
|
||||||
case' simarmv5te':
|
case' simarmv5te':
|
||||||
case 'armv5te':
|
case 'armv5te':
|
||||||
case 'simmips':
|
case 'simmips':
|
||||||
|
|
|
@ -108,8 +108,8 @@ class TestOptionsParser {
|
||||||
'arch',
|
'arch',
|
||||||
'The architecture to run tests for',
|
'The architecture to run tests for',
|
||||||
['-a', '--arch'],
|
['-a', '--arch'],
|
||||||
['all', 'ia32', 'x64', 'arm', 'armv5te', 'arm64', 'mips',
|
['all', 'ia32', 'x64', 'arm', 'armv6', 'armv5te', 'arm64', 'mips',
|
||||||
'simarm', 'simarmv5te', 'simarm64', 'simmips'],
|
'simarm', 'simarmv6', 'simarmv5te', 'simarm64', 'simmips'],
|
||||||
'x64'),
|
'x64'),
|
||||||
new _TestOptionSpecification(
|
new _TestOptionSpecification(
|
||||||
'system',
|
'system',
|
||||||
|
|
|
@ -52,6 +52,8 @@ def GuessArchitecture():
|
||||||
os_id = platform.machine()
|
os_id = platform.machine()
|
||||||
if os_id.startswith('armv5te'):
|
if os_id.startswith('armv5te'):
|
||||||
return 'armv5te'
|
return 'armv5te'
|
||||||
|
elif os_id.startswith('armv6'):
|
||||||
|
return 'armv6'
|
||||||
elif os_id.startswith('arm'):
|
elif os_id.startswith('arm'):
|
||||||
return 'arm'
|
return 'arm'
|
||||||
elif os_id.startswith('aarch64'):
|
elif os_id.startswith('aarch64'):
|
||||||
|
@ -228,10 +230,12 @@ ARCH_FAMILY = {
|
||||||
'ia32': 'ia32',
|
'ia32': 'ia32',
|
||||||
'x64': 'ia32',
|
'x64': 'ia32',
|
||||||
'arm': 'arm',
|
'arm': 'arm',
|
||||||
|
'armv6': 'arm',
|
||||||
'armv5te': 'arm',
|
'armv5te': 'arm',
|
||||||
'arm64': 'arm',
|
'arm64': 'arm',
|
||||||
'mips': 'mips',
|
'mips': 'mips',
|
||||||
'simarm': 'ia32',
|
'simarm': 'ia32',
|
||||||
|
'simarmv6': 'ia32',
|
||||||
'simarmv5te': 'ia32',
|
'simarmv5te': 'ia32',
|
||||||
'simmips': 'ia32',
|
'simmips': 'ia32',
|
||||||
'simarm64': 'ia32',
|
'simarm64': 'ia32',
|
||||||
|
@ -581,6 +585,9 @@ def DartBinary():
|
||||||
# TODO(zra): This binary does not exist, yet. Check one in once we have
|
# TODO(zra): This binary does not exist, yet. Check one in once we have
|
||||||
# sufficient stability.
|
# sufficient stability.
|
||||||
return os.path.join(dart_binary_prefix, system, 'dart-armv5te')
|
return os.path.join(dart_binary_prefix, system, 'dart-armv5te')
|
||||||
|
elif arch == 'armv6':
|
||||||
|
# TODO(zra): Ditto.
|
||||||
|
return os.path.join(dart_binary_prefix, system, 'dart-armv6')
|
||||||
elif arch == 'arm':
|
elif arch == 'arm':
|
||||||
return os.path.join(dart_binary_prefix, system, 'dart-arm')
|
return os.path.join(dart_binary_prefix, system, 'dart-arm')
|
||||||
elif arch == 'arm64':
|
elif arch == 'arm64':
|
||||||
|
|
Loading…
Reference in a new issue