diff --git a/src/client/linux/minidump_writer/linux_core_dumper.cc b/src/client/linux/minidump_writer/linux_core_dumper.cc index b24573b1..3b1eabb4 100644 --- a/src/client/linux/minidump_writer/linux_core_dumper.cc +++ b/src/client/linux/minidump_writer/linux_core_dumper.cc @@ -248,7 +248,9 @@ bool LinuxCoreDumper::EnumerateThreads() { set_crash_exception_info({info->si_pid, info->si_uid}); break; case MD_EXCEPTION_CODE_LIN_SIGSYS: +#ifdef si_syscall set_crash_exception_info({info->si_syscall, info->si_arch}); +#endif break; } break; diff --git a/src/client/linux/minidump_writer/linux_core_dumper_unittest.cc b/src/client/linux/minidump_writer/linux_core_dumper_unittest.cc index 927d5aa3..5f27d893 100644 --- a/src/client/linux/minidump_writer/linux_core_dumper_unittest.cc +++ b/src/client/linux/minidump_writer/linux_core_dumper_unittest.cc @@ -135,6 +135,12 @@ TEST(LinuxCoreDumperTest, VerifyExceptionDetails) { return; } +#ifndef si_syscall + fprintf(stderr, "LinuxCoreDumperTest.VerifyDumpWithMultipleThreads test is " + "skipped due to old kernel/C library headers\n"); + return; +#endif + const unsigned kNumOfThreads = 2; const unsigned kCrashThread = 1; const int kCrashSignal = SIGSYS;