lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Date:   Wed, 31 Jul 2019 08:44:30 -0700
From:   Doug Anderson <dianders@...omium.org>
To:     Jan Kiszka <jan.kiszka@...mens.com>
Cc:     Kieran Bingham <kbingham@...nel.org>,
        Andrew Morton <akpm@...ux-foundation.org>,
        kgdb-bugreport@...ts.sourceforge.net,
        Jason Wessel <jason.wessel@...driver.com>,
        Daniel Thompson <daniel.thompson@...aro.org>,
        Stephen Boyd <swboyd@...omium.org>,
        LKML <linux-kernel@...r.kernel.org>
Subject: Re: [PATCH] scripts/gdb: Handle split debug

Hi,

On Wed, Jul 31, 2019 at 7:24 AM Jan Kiszka <jan.kiszka@...mens.com> wrote:
>
> On 31.07.19 01:40, Douglas Anderson wrote:
> > Some systems (like Chrome OS) may use "split debug" for kernel
> > modules.  That means that the debug symbols are in a different file
> > than the main elf file.  Let's handle that by also searching for debug
> > symbols that end in ".ko.debug".
>
> Is this split-up depending on additional kernel patches, is this already
> possible with mainline, or is this purely a packaging topic? Wondering because
> of testability in case it's downstream-only.

It is a packaging topic.  You can take a normal elf file and split the
debug out of it using objcopy.  Try "man objcopy" and then take a look
at the "--only-keep-debug" option.  It'll give you a whole recipe for
doing splitdebug.  The suffix used for the debug symbols is arbitrary.
If people have other another suffix besides ".ko.debug" then we could
presumably support that too...

For portage (which is the packaging system used by Chrome OS) split
debug is supported by default (and the suffix is .ko.debug).  ...and
so in Chrome OS we always get the installed elf files stripped and
then the symbols stashed away.

At the moment we don't actually use the normal portage magic to do
this for the kernel though since it affects our ability to get good
stack dumps in the kernel.  We instead pass a script as "strip" [1].


[1] https://chromium.googlesource.com/chromiumos/overlays/chromiumos-overlay/+/refs/heads/master/eclass/cros-kernel/strip_splitdebug


-Doug

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ