Chromium Code Reviews| Index: src/untrusted/irt/irt.gyp |
| diff --git a/src/untrusted/irt/irt.gyp b/src/untrusted/irt/irt.gyp |
| index d71264221a23620b55bd17556acedcfa9386fb7f..5be51c1eedc4c4a048d5592885e4adcbec130195 100644 |
| --- a/src/untrusted/irt/irt.gyp |
| +++ b/src/untrusted/irt/irt.gyp |
| @@ -43,6 +43,17 @@ |
| '../nacl/sys_private.c', |
| '../valgrind/dynamic_annotations.c', |
| ], |
| +# On x86-64 we build the IRT with sandbox base-address hiding. This means that |
| +# all of its components must be built with LLVM's assembler. Currently the |
| +# unwinder library is built with nacl-gcc and so does not use base address |
| +# hiding. The IRT does not use exceptions, so we do not actually need the |
| +# unwinder at all. To prevent it from being linked into the IRT, we provide |
| +# stub implementations of its functions that are referenced from libc++abi |
| +# (which is build with exception handling enabled) and from crtbegin.c. |
|
jvoung (off chromium)
2015/03/19 19:38:56
"which is build with" -> "which is built with"
Derek Schuff
2015/03/19 19:47:58
Done.
|
| + 'stub_sources': [ |
| + '../../../pnacl/support/bitcode/unwind_stubs.c', |
| + 'frame_info_stubs.c', |
| + ], |
| 'irt_nonbrowser': [ |
| 'irt_core_resource.c', |
| 'irt_entry_core.c', |
| @@ -89,7 +100,16 @@ |
| 'build_newlib': 1, |
| 'build_irt': 1, |
| }, |
| - 'sources': ['<@(irt_sources)'], |
| + 'sources': ['<@(irt_sources)','<@(stub_sources)'], |
| + 'conditions': [ |
| + # Disable stub sources on ARM |
| + # TODO(dschuff): remove this when we switch to arm-nacl-clang |
| + ['target_arch=="arm"', { |
| + 'variables': { |
| + 'stub_sources' : [] |
| + } |
| + }], |
| + ], |
| 'dependencies': [ |
| '<(DEPTH)/native_client/tools.gyp:prep_toolchain', |
| '<(DEPTH)/native_client/src/untrusted/nacl/nacl.gyp:nacl_lib_newlib', |