[Crash-utility] [PATCH][v2] Remove __exception_text_start and __exception_text_end for ARM64

Prabhakar Kushwaha prabhakar.pkin at gmail.com
Tue Dec 24 04:09:40 UTC 2019


On Tue, Dec 24, 2019 at 1:09 AM Bhupesh Sharma <bhsharma at redhat.com> wrote:
>
> On Mon, Dec 23, 2019 at 7:49 PM Prabhakar Kushwaha
> <prabhakar.pkin at gmail.com> wrote:
> >
> > On Mon, Dec 23, 2019 at 7:32 PM Dave Anderson <anderson at redhat.com> wrote:
> > >
> > >
> > >
> > > ----- Original Message -----
> > > > __exception_text_start and __exception_text_end is used to group functions
> > > > and place according to linker script in such a way to achieve
> > > > kprobe blacklist. Linux commit b6e43c0e3129 ("arm64: remove __exception
> > > > annotations") has removed __exception_text_start and
> > > > __exception_text_end and uses NOKPROBE_SYMBOL() for blacklist kprobes.
> > > >
> > > > So removing references of __exception_text_start and __exception_text_end
> > > > for ARM64.
> > >
> > > NAK for a couple of reasons...
> > >
> > > First, they cannot be removed for backward-compatibility purposes, and secondly
> > > an alternative method is required for arm64_back_trace_cmd() for handling
> > > exception frames.
> > >
> >
> > We are getting following error with crash tool with latest kernel.
> > crash: cannot resolve "__exception_text_start" error
> >
> > it is because of Linux commit b6e43c0e3129 which removes
> > __exception_text_start and __exception_text_end.
> > We need to find alternate way of fixing it.
>
> I cannot seem to remember reproducing this issue with crash with
> latest kernel on my arm64 boards.
> Can you be more specific on the exact kernel version and the crash
> command you used, just to be sure we are able to reproduce the same?
>

We are seeing this issue on Thuder X platform (arm64).

Please find details of commit id.
A) crash tool: https://github.com/crash-utility/crash.git
commit:  af7f78dc501b8acf7fee3f924f69e93513d0a74b (Fix for the "log -a" option.)

B) Linux:  git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
commit:  46cf053efec6a3a5f343fead837777efe8252a46 (Linux 5.5-rc3)

C) Kexec: https://git.kernel.org/pub/scm/utils/kernel/kexec/kexec-tools.git
commit: bd077966e2b9041c24df5b689e67670f02be7b0d (kexec-tools: Fix
conversion overflow when compiling on 32-bit platforms)


Logs
root at ubuntu$ ./crash /proc/vmcore /usr/src/tovards/linux/vmlinux

crash 7.2.7++
Copyright (C) 2002-2019  Red Hat, Inc.
Copyright (C) 2004, 2005, 2006, 2010  IBM Corporation
Copyright (C) 1999-2006  Hewlett-Packard Co
Copyright (C) 2005, 2006, 2011, 2012  Fujitsu Limited
Copyright (C) 2006, 2007  VA Linux Systems Japan K.K.
Copyright (C) 2005, 2011  NEC Corporation
Copyright (C) 1999, 2002, 2007  Silicon Graphics, Inc.
Copyright (C) 1999, 2000, 2001, 2002  Mission Critical Linux, Inc.
This program is free software, covered by the GNU General Public License,
and you are welcome to change it and/or distribute copies of it under
certain conditions.  Enter "help copying" to see the conditions.
This program has absolutely no warranty.  Enter "help warranty" for details.

vmcoreinfo : vabits_actual: 48
GNU gdb (GDB) 7.6
Copyright (C) 2013 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "aarch64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...

crash: cannot resolve "__exception_text_start"

--pk





More information about the Crash-utility mailing list