| Index: ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc
|
| diff --git a/ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc b/ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc
|
| index dcf89c11bb2da4eb1560cd1a7204c341c7c9f1f8..85b68512e44fdb0d8deb9b86a89337f30a52f3cf 100644
|
| --- a/ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc
|
| +++ b/ppapi/native_client/src/trusted/plugin/pnacl_coordinator.cc
|
| @@ -354,9 +354,13 @@ nacl::string ResourceBaseUrl() {
|
| return base_url;
|
| }
|
|
|
| -string_vector LinkResources(bool withGenerated) {
|
| +string_vector LinkResources(const nacl::string& sandbox_isa,
|
| + bool withGenerated) {
|
| string_vector results;
|
| // NOTE: order of items == link order.
|
| + if (sandbox_isa.compare("x86-64") == 0) {
|
| + results.push_back("libpnacl_irt_shim.a");
|
| + }
|
| results.push_back("crtbegin.o");
|
| if (withGenerated) {
|
| results.push_back(GeneratedObjectFileName());
|
| @@ -404,6 +408,7 @@ void WINAPI DoLinkThread(void* arg) {
|
| flags.push_back("elf_nacl");
|
| } else if (sandbox_isa.compare("x86-64") == 0) {
|
| flags.push_back("elf64_nacl");
|
| + flags.push_back("-entry=_pnacl_wrapper_start");
|
| } else if (sandbox_isa.compare("arm") == 0) {
|
| flags.push_back("armelf_nacl");
|
| } else {
|
| @@ -432,7 +437,7 @@ void WINAPI DoLinkThread(void* arg) {
|
| }
|
|
|
| //// Files.
|
| - string_vector files = LinkResources(true);
|
| + string_vector files = LinkResources(sandbox_isa, true);
|
| PnaclResources* resources = coordinator->resources();
|
| for (string_vector::iterator i = files.begin(), e = files.end();
|
| i != e; ++i) {
|
| @@ -619,7 +624,7 @@ void PnaclCoordinator::BitcodeToNative(
|
| translation_unit_.get());
|
| resources_->AddResourceUrl(llc_url_);
|
| resources_->AddResourceUrl(ld_url_);
|
| - string_vector link_resources = LinkResources(false);
|
| + string_vector link_resources = LinkResources(GetSandboxISA(), false);
|
| for (string_vector::iterator
|
| i = link_resources.begin(), e = link_resources.end();
|
| i != e;
|
|
|