From 9e4307ea0afb298b218602337f639a98f69e9897 Mon Sep 17 00:00:00 2001 From: Jan Michael Auer Date: Fri, 5 Jul 2019 20:58:26 +0200 Subject: [PATCH] fix(minidump): Do not emit default CFI for the .ra register --- minidump/src/cfi.rs | 9 --------- minidump/tests/snapshots/test_cfi__cfi_elf.snap | 6 +++--- py/tests/res/minidump/crash_linux.sym | 2 +- 3 files changed, 4 insertions(+), 13 deletions(-) diff --git a/minidump/src/cfi.rs b/minidump/src/cfi.rs index 2ba4e2526..39cdebd20 100644 --- a/minidump/src/cfi.rs +++ b/minidump/src/cfi.rs @@ -357,15 +357,6 @@ impl AsciiCfiWriter { } } - // Breakpad STACK CFI records must provide a .ra rule, but DWARF CFI may not - // establish any rule for .ra if the return address column is an ordinary register, - // and that register holds the return address on entry to the function. So establish - // a .ra rule citing the return address register. - if !rule_cache.contains_key(&ra) { - let rule = RegisterRule::SameValue::; - written |= Self::write_register_rule(&mut line, info.arch, ra, &rule, ra)?; - } - if written { self.inner .write_all(&line) diff --git a/minidump/tests/snapshots/test_cfi__cfi_elf.snap b/minidump/tests/snapshots/test_cfi__cfi_elf.snap index 6009fb781..35363db14 100644 --- a/minidump/tests/snapshots/test_cfi__cfi_elf.snap +++ b/minidump/tests/snapshots/test_cfi__cfi_elf.snap @@ -1,10 +1,10 @@ --- -created: "2019-04-24T14:55:14.510136Z" -creator: insta@0.7.4 +created: "2019-07-05T18:52:40.332785Z" +creator: insta@0.8.1 source: minidump/tests/test_cfi.rs expression: cfi --- -STACK CFI INIT 1dc0 2a .cfa: $rsp 8 + .ra: $rip +STACK CFI INIT 1dc0 2a .cfa: $rsp 8 + STACK CFI INIT 1580 370 .cfa: $rsp 16 + .ra: .cfa -8 + ^ STACK CFI 1586 .cfa: $rsp 24 + STACK CFI INIT 1ec0 3b .cfa: $rsp 8 + .ra: .cfa -8 + ^ diff --git a/py/tests/res/minidump/crash_linux.sym b/py/tests/res/minidump/crash_linux.sym index cb5a135c4..398a30434 100644 --- a/py/tests/res/minidump/crash_linux.sym +++ b/py/tests/res/minidump/crash_linux.sym @@ -1,4 +1,4 @@ -STACK CFI INIT 1f10 2a .cfa: $rsp 8 + .ra: $rip +STACK CFI INIT 1f10 2a .cfa: $rsp 8 + STACK CFI INIT 1a90 470 .cfa: $rsp 16 + .ra: .cfa -8 + ^ STACK CFI 1a96 .cfa: $rsp 24 + STACK CFI INIT 21d4 3a .cfa: $rsp 8 + .ra: .cfa -8 + ^