| Index: chrome_elf/chrome_elf_main.cc | 
| diff --git a/chrome_elf/chrome_elf_main.cc b/chrome_elf/chrome_elf_main.cc | 
| index 23edaaf2c07c590a8d33b7a5eaaa2f3a58b9c977..926668c54d3015e224004c125cc70f3237fd2253 100644 | 
| --- a/chrome_elf/chrome_elf_main.cc | 
| +++ b/chrome_elf/chrome_elf_main.cc | 
| @@ -14,6 +14,17 @@ | 
| #include "chrome_elf/blacklist/blacklist.h" | 
| #include "chrome_elf/crash/crash_helper.h" | 
|  | 
| +// This function is a temporary workaround for https://crbug.com/655788. We | 
| +// need to come up with a better way to initialize crash reporting that can | 
| +// happen inside DllMain(). | 
| +void SignalInitializeCrashReporting() { | 
| +  if (!elf_crash::InitializeCrashReporting()) { | 
| +#ifdef _DEBUG | 
| +    assert(false); | 
| +#endif  // _DEBUG | 
| +  } | 
| +} | 
| + | 
| void SignalChromeElf() { | 
| blacklist::ResetBeacon(); | 
| } | 
| @@ -37,10 +48,6 @@ BOOL APIENTRY DllMain(HMODULE module, DWORD reason, LPVOID reserved) { | 
| if (reason == DLL_PROCESS_ATTACH) { | 
| install_static::InitializeProductDetailsForPrimaryModule(); | 
|  | 
| -    if (!elf_crash::InitializeCrashReporting()) { | 
| -      assert(false); | 
| -    } | 
| - | 
| // CRT on initialization installs an exception filter which calls | 
| // TerminateProcess. We need to hook CRT's attempt to set an exception. | 
| elf_crash::DisableSetUnhandledExceptionFilter(); | 
|  |