MCPcopy Create free account
hub / github.com/chromium/crashpad / InitializeStack

Method InitializeStack

snapshot/linux/process_reader_linux.cc:119–136  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

117}
118
119void ProcessReaderLinux::Thread::InitializeStack(ProcessReaderLinux* reader) {
120 LinuxVMAddress stack_pointer;
121#if defined(ARCH_CPU_X86_FAMILY)
122 stack_pointer = reader->Is64Bit() ? thread_info.thread_context.t64.rsp
123 : thread_info.thread_context.t32.esp;
124#elif defined(ARCH_CPU_ARM_FAMILY)
125 stack_pointer = reader->Is64Bit() ? thread_info.thread_context.t64.sp
126 : thread_info.thread_context.t32.sp;
127#elif defined(ARCH_CPU_MIPS_FAMILY)
128 stack_pointer = reader->Is64Bit() ? thread_info.thread_context.t64.regs[29]
129 : thread_info.thread_context.t32.regs[29];
130#elif defined(ARCH_CPU_RISCV64)
131 stack_pointer = thread_info.thread_context.t64.regs[1];
132#else
133#error Port.
134#endif
135 InitializeStackFromSP(reader, stack_pointer);
136}
137
138void ProcessReaderLinux::Thread::InitializeStackFromSP(
139 ProcessReaderLinux* reader,

Callers 1

InitializeThreadsMethod · 0.80

Calls 1

Is64BitMethod · 0.45

Tested by

no test coverage detected