aboutsummaryrefslogtreecommitdiff
path: root/src/client/linux/minidump_writer/linux_dumper.h
diff options
context:
space:
mode:
authormkrebs@chromium.org <mkrebs@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2012-03-30 23:53:32 +0000
committermkrebs@chromium.org <mkrebs@chromium.org@4c0a9323-5329-0410-9bdc-e9ce6186880e>2012-03-30 23:53:32 +0000
commit78373e45c5f29416ce9e2f092f92b57cfefe88ed (patch)
tree46c1cb9aa82a8231d4e0c1cf6c1b50a58f1484a6 /src/client/linux/minidump_writer/linux_dumper.h
parentFix GetMainModule() to properly get first module (diff)
downloadbreakpad-78373e45c5f29416ce9e2f092f92b57cfefe88ed.tar.xz
Fix for putting main module as first one in minidump
The first module in a minidump is expected to be for the main executable. We used to assume that /proc/<pid>/maps always showed that one first, but in some cases that is no longer true (see comment #7 of the bug). So this change makes use of the entry point stored in auxv to make sure we put the correct module first. BUG=chromium-os:25355 TEST=Ran Breakpad tests Review URL: https://breakpad.appspot.com/366002 git-svn-id: http://google-breakpad.googlecode.com/svn/trunk@942 4c0a9323-5329-0410-9bdc-e9ce6186880e
Diffstat (limited to 'src/client/linux/minidump_writer/linux_dumper.h')
-rw-r--r--src/client/linux/minidump_writer/linux_dumper.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/client/linux/minidump_writer/linux_dumper.h b/src/client/linux/minidump_writer/linux_dumper.h
index 45779699..42b2a991 100644
--- a/src/client/linux/minidump_writer/linux_dumper.h
+++ b/src/client/linux/minidump_writer/linux_dumper.h
@@ -178,7 +178,9 @@ class LinuxDumper {
// [vdso], but we can't guarantee that it's the only virtual dynamic
// shared object. Parsing the auxilary vector for AT_SYSINFO_EHDR
// is the safest way to go.)
- void* FindBeginningOfLinuxGateSharedLibrary(const pid_t pid) const;
+ void* FindBeginningOfLinuxGateSharedLibrary(pid_t pid) const;
+ // Utility method to find the entry point location.
+ void* FindEntryPoint(pid_t pid) const;
uintptr_t crash_address() const { return crash_address_; }
void set_crash_address(uintptr_t crash_address) {