Source: libunwind Version: 1.2.1-9 Severity: grave Tags: patch Justification: renders package unusable
Dear Maintainer, * What led up to the situation? I was running i-g-t on MIPS and hit a segfault during a stack trace dump. I then built the package from source to reproduce it, and found a fix upstream for it (patch attached). Discussion on the igt-dev mailing list: https://lists.freedesktop.org/archives/igt-dev/2019-July/015029.html -- System Information: Debian Release: 10.0 APT prefers stable APT policy: (500, 'stable'), (500, 'oldstable') Architecture: mips Kernel: Linux 4.19.0-5-amd64 (SMP w/4 CPU cores) Kernel taint flags: TAINT_WARN, TAINT_OOT_MODULE, TAINT_UNSIGNED_MODULE Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE=en_GB:en (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: unable to detect
>From 23ed1a35645e9e83beb2d4de0bd682c18d9fd58f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=D0=9A=D0=BE=D1=80=D0=BE=D0=BB=D0=B5=D0=B2=20=D0=A1=D0=B5?= =?UTF-8?q?=D1=80=D0=B3=D0=B5=D0=B9?= <korolev.ser...@gmail.com> Date: Wed, 22 Jun 2016 19:53:02 +0300 Subject: [PATCH] tdep_uc_addr: use +4 offset for UNW_MIPS_PC on MIPS (be) According to mcontext_t definition its "pc" field is also 64 bit wide and thus requires 4 byte offset on MIPS32 (be). --- src/mips/Ginit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/mips/Ginit.c b/src/mips/Ginit.c index 8290c408..83b100fb 100644 --- a/src/mips/Ginit.c +++ b/src/mips/Ginit.c @@ -59,7 +59,7 @@ tdep_uc_addr (ucontext_t *uc, int reg) { char *addr = uc_addr (uc, reg); - if (reg >= UNW_MIPS_R0 && reg <= UNW_MIPS_R31 + if (((reg >= UNW_MIPS_R0 && reg <= UNW_MIPS_R31) || reg == UNW_MIPS_PC) && tdep_big_endian (unw_local_addr_space) && unw_local_addr_space->abi == UNW_MIPS_ABI_O32) addr += 4; -- 2.20.1