Index: ppapi/native_client/native_client.gyp |
diff --git a/ppapi/native_client/native_client.gyp b/ppapi/native_client/native_client.gyp |
index f9ffdb95d6f47722081d3831831555fed8c9997b..ae8794eb5c5ca32b58e56e6951583067b2253ada 100644 |
--- a/ppapi/native_client/native_client.gyp |
+++ b/ppapi/native_client/native_client.gyp |
@@ -29,6 +29,12 @@ |
'<(DEPTH)/native_client/src/untrusted/irt_stub/libppapi.a', |
], |
}, |
+ { |
+ 'destination': '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm', |
+ 'files': [ |
+ '<(DEPTH)/native_client/src/untrusted/irt_stub/libppapi.a', |
+ ], |
+ }, |
], |
}, |
{ |
@@ -38,6 +44,7 @@ |
'nexe_target': 'nacl_irt', |
'out64': '<(PRODUCT_DIR)/nacl_irt_x86_64.nexe', |
'out32': '<(PRODUCT_DIR)/nacl_irt_x86_32.nexe', |
+ 'out_arm': '<(PRODUCT_DIR)/nacl_irt_arm.nexe', |
'build_glibc': 0, |
'build_newlib': 1, |
'include_dirs': [ |
@@ -53,8 +60,31 @@ |
'-lplatform', |
'-lgio', |
'-lm', |
- '-Wl,--section-start,.rodata=<(NACL_IRT_DATA_START)', |
- '-Wl,-Ttext-segment=<(NACL_IRT_TEXT_START)', |
+ '-lpthread', |
+ ], |
+ # See http://code.google.com/p/nativeclient/issues/detail?id=2691. |
+ # The PNaCl linker (gold) does not implement the "-Ttext-segment" |
+ # option. However, with the linker for x86, the "-Ttext" option does |
Mark Seaborn
2012/03/28 14:59:24
Line too long: please rewrap.
Nikolay
2012/03/29 14:36:07
Done.
|
+ # not affect the executable's base address. |
+ 'conditions': [ |
+ ['target_arch!="arm"', |
+ { |
+ 'link_flags': [ |
+ '-Wl,--section-start,.rodata=<(NACL_IRT_DATA_START)', |
+ '-Wl,-Ttext-segment=<(NACL_IRT_TEXT_START)', |
+ ] |
+ }, { # target_arch == "arm" |
+ 'link_flags': [ |
+ '-Wl,--section-start,.rodata=<(NACL_IRT_DATA_START)', |
+ '-Wl,-Ttext=<(NACL_IRT_TEXT_START)', |
+ '--pnacl-allow-native', |
+ '-arch', 'arm', |
Mark Seaborn
2012/03/28 14:59:24
This is duplicating similar stuff on the NaCl side
Nikolay
2012/03/29 14:36:07
From what I understand, here we use trusted linker
|
+ '-Wt,-mtls-use-call', |
+ # TODO(olonho): rethink |
+ '-L<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm', |
+ ], |
+ }, |
+ ], |
], |
'sources': [ |
], |
@@ -77,6 +107,14 @@ |
'<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libimc_syscalls.a', |
'<(SHARED_INTERMEDIATE_DIR)/tc_newlib/lib32/libgio.a', |
], |
+ 'extra_deps_arm': [ |
+ '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm/libppruntime.a', |
+ '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm/libirt_browser.a', |
+ '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm/libsrpc.a', |
+ '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm/libplatform.a', |
+ '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm/libimc_syscalls.a', |
+ '<(SHARED_INTERMEDIATE_DIR)/tc_newlib/libarm/libgio.a', |
+ ], |
}, |
'dependencies': [ |
'src/shared/ppapi_proxy/ppapi_proxy_untrusted.gyp:ppruntime_lib', |
@@ -84,6 +122,7 @@ |
'../../native_client/src/shared/srpc/srpc.gyp:srpc_lib', |
'../../native_client/src/shared/platform/platform.gyp:platform_lib', |
'../../native_client/src/untrusted/nacl/nacl.gyp:imc_syscalls_lib', |
+ '../../native_client/src/untrusted/pthread/pthread.gyp:pthread_lib', |
Mark Seaborn
2012/03/28 14:59:24
Why is this added? The IRT does not use the full
Nikolay
2012/03/29 14:36:07
If not do this, following happens:
/build/chromium
|
'../../native_client/src/shared/gio/gio.gyp:gio_lib', |
], |
}, |