| Index: native_client_sdk/src/examples/dlopen/dlopen.cc | 
| diff --git a/native_client_sdk/src/examples/dlopen/dlopen.cc b/native_client_sdk/src/examples/dlopen/dlopen.cc | 
| index b823e23f7006c7a83b76d7d1ed12c9b7947abb30..0a4e68b076479a0a4ca5aa6e8a500569a8dbc569 100644 | 
| --- a/native_client_sdk/src/examples/dlopen/dlopen.cc | 
| +++ b/native_client_sdk/src/examples/dlopen/dlopen.cc | 
| @@ -30,6 +30,16 @@ | 
| #include "nacl_io/nacl_io.h" | 
| #include "reverse.h" | 
|  | 
| +#if defined(NACL_SDK_DEBUG) | 
| +#define CONFIG_NAME "Debug" | 
| +#else | 
| +#define CONFIG_NAME "Release" | 
| +#endif | 
| + | 
| +#define XSTRINGIFY(x) STRINGIFY(x) | 
| +#define STRINGIFY(x) #x | 
| +#define NACL_ARCH_STRING XSTRINGIFY(NACL_ARCH) | 
| + | 
|  | 
| class DlopenInstance : public pp::Instance { | 
| public: | 
| @@ -57,7 +67,7 @@ class DlopenInstance : public pp::Instance { | 
| // server. | 
| mount("", "/http", "httpfs", 0, ""); | 
|  | 
| -    logmsg("Spawning thread to cache .so files..."); | 
| +    logmsg("Spawning thread to cache .so files...\n"); | 
| if (pthread_create(&tid_, NULL, LoadLibrariesOnWorker, this)) { | 
| logmsg("ERROR; pthread_create() failed.\n"); | 
| return false; | 
| @@ -69,9 +79,11 @@ class DlopenInstance : public pp::Instance { | 
| // the shared object.  In addition, note that this function does NOT call | 
| // dlclose, which would close the shared object and unload it from memory. | 
| void LoadLibrary() { | 
| +    const char reverse_so_path[] = | 
| +        "/http/glibc/" CONFIG_NAME "/libreverse_" NACL_ARCH_STRING ".so"; | 
| const int32_t IMMEDIATELY = 0; | 
| eightball_so_ = dlopen("libeightball.so", RTLD_LAZY); | 
| -    reverse_so_ = dlopen("/http/glibc/Debug/libreverse_x86_64.so", RTLD_LAZY); | 
| +    reverse_so_ = dlopen(reverse_so_path, RTLD_LAZY); | 
| pp::CompletionCallback cc(LoadDoneCB, this); | 
| pp::Module::Get()->core()->CallOnMainThread(IMMEDIATELY, cc , 0); | 
| } | 
| @@ -91,9 +103,9 @@ class DlopenInstance : public pp::Instance { | 
| return; | 
| } | 
|  | 
| -      logmsg("Loaded libeightball.so"); | 
| +      logmsg("Loaded libeightball.so\n"); | 
| } else { | 
| -      logmsg("libeightball.so did not load"); | 
| +      logmsg("libeightball.so did not load\n"); | 
| } | 
|  | 
|  | 
| @@ -107,34 +119,34 @@ class DlopenInstance : public pp::Instance { | 
| logmsg(message.c_str()); | 
| return; | 
| } | 
| -      logmsg("Loaded libreverse.so"); | 
| +      logmsg("Loaded libreverse.so\n"); | 
| } else { | 
| -      logmsg("libreverse.so did not load"); | 
| +      logmsg("libreverse.so did not load\n"); | 
| } | 
| } | 
|  | 
| // Called by the browser to handle the postMessage() call in Javascript. | 
| virtual void HandleMessage(const pp::Var& var_message) { | 
| if (!var_message.is_string()) { | 
| -      logmsg("Message is not a string."); | 
| +      logmsg("Message is not a string.\n"); | 
| return; | 
| } | 
|  | 
| std::string message = var_message.AsString(); | 
| if (message == "eightball") { | 
| if (NULL == eightball_){ | 
| -        logmsg("Eightball library not loaded"); | 
| +        logmsg("Eightball library not loaded\n"); | 
| return; | 
| } | 
|  | 
| std::string ballmessage = "The Magic 8-Ball says: "; | 
| ballmessage += eightball_(); | 
| -      ballmessage += "!"; | 
| +      ballmessage += "!\n"; | 
|  | 
| logmsg(ballmessage.c_str()); | 
| } else if (message.find("reverse:") == 0) { | 
| if (NULL == reverse_) { | 
| -        logmsg("Reverse library not loaded"); | 
| +        logmsg("Reverse library not loaded\n"); | 
| return; | 
| } | 
|  | 
| @@ -143,7 +155,7 @@ class DlopenInstance : public pp::Instance { | 
|  | 
| std::string message = "Your string reversed: \""; | 
| message += result; | 
| -      message += "\""; | 
| +      message += "\"\n"; | 
|  | 
| free(result); | 
|  | 
|  |