Index: tests/toolchain/nacl.scons |
diff --git a/tests/toolchain/nacl.scons b/tests/toolchain/nacl.scons |
index bc92a6087deb166ede62ab7ef5f16a683053e212..361e1e52227157518fec9cb8c68de069d841c680 100644 |
--- a/tests/toolchain/nacl.scons |
+++ b/tests/toolchain/nacl.scons |
@@ -552,3 +552,24 @@ nexe = env.ComponentProgram('wrap', ['wrap_main.c'], |
node = env.CommandSelLdrTestNacl('wrap.out', nexe, |
stdout_golden=env.File('wrap.stdout')) |
env.AddNodeToTestSuite(node, ['toolchain_tests','small_tests'], 'run_wrap_test') |
+ |
+if (env.Bit('target_x86_32') and env.Bit('bitcode') and |
+ not env.Bit('pnacl_generate_pexe') and |
+ env['TOOLCHAIN_FEATURE_VERSION'] >= 7): |
+ # This test compiles a file that will need to generate a call to a compiler-rt |
+ # function (__udivdi3) on x86-32. Ensure that when we pre-translate to a |
+ # native object file, libgcc is included in the bitcode link to satisfy the |
+ # reference. |
+ mixedlink_env = env.Clone() |
+ mixedlink_env.Append(CCFLAGS=['--pnacl-allow-translate', |
+ '--pnacl-allow-native', |
+ '-arch', 'x86-32']) |
+ mixedlink_env.Append(LINKFLAGS=['--pnacl-allow-translate', |
+ '--pnacl-allow-native', |
+ '-arch', 'x86-32']) |
+ nexe = mixedlink_env.ComponentProgram('libgcc_mixed_link', 'needs_libgcc.c', |
+ EXTRA_LIBS=['${NONIRT_LIBS}']) |
+ node = mixedlink_env.CommandSelLdrTestNacl('libgcc_mixed_link.out', nexe, |
+ ['9', '3']) |
+ mixedlink_env.AddNodeToTestSuite(node, ['nonpexe_tests', 'small_tests'], |
+ 'run_libgcc_mixed_link_test') |