Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2878)

Unified Diff: chrome/app/chrome_main.cc

Issue 2909623002: Change DumpProcessWithoutCrash to use load-time dynamic linking (Closed)
Patch Set: forgot to update def file Created 3 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « base/debug/dump_without_crashing.cc ('k') | chrome_elf/chrome_elf.def » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/app/chrome_main.cc
diff --git a/chrome/app/chrome_main.cc b/chrome/app/chrome_main.cc
index 25b891f3fe8af7ae67b86c6f9097377581f3a29e..337ab5d9e00e5f081cf06dc83a3fb533218b7825 100644
--- a/chrome/app/chrome_main.cc
+++ b/chrome/app/chrome_main.cc
@@ -34,6 +34,7 @@
#include "chrome/common/chrome_constants.h"
#include "chrome/install_static/initialize_from_primary_module.h"
#include "chrome/install_static/install_details.h"
+#include "chrome_elf/chrome_elf_main.h"
#define DLLEXPORT __declspec(dllexport)
@@ -74,15 +75,9 @@ int ChromeMain(int argc, const char** argv) {
params.instance = instance;
params.sandbox_info = sandbox_info;
- // SetDumpWithoutCrashingFunction must be passed the DumpProcess function
- // from chrome_elf and not from the DLL in order for DumpWithoutCrashing to
- // function correctly.
- typedef void (__cdecl *DumpProcessFunction)();
- DumpProcessFunction DumpProcess = reinterpret_cast<DumpProcessFunction>(
- ::GetProcAddress(::GetModuleHandle(chrome::kChromeElfDllName),
- "DumpProcessWithoutCrash"));
- CHECK(DumpProcess);
- base::debug::SetDumpWithoutCrashingFunction(DumpProcess);
+ // Pass chrome_elf's copy of DumpProcessWithoutCrash resolved via load-time
+ // dynamic linking.
+ base::debug::SetDumpWithoutCrashingFunction(&DumpProcessWithoutCrash);
// Verify that chrome_elf and this module (chrome.dll and chrome_child.dll)
// have the same version.
« no previous file with comments | « base/debug/dump_without_crashing.cc ('k') | chrome_elf/chrome_elf.def » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698