lkml.org 
[lkml]   [2019]   [Feb]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.20 289/352] scripts/gdb: fix lx-version string output
    Date
    4.20-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    [ Upstream commit b058809bfc8faeb7b7cae047666e23375a060059 ]

    A bug is present in GDB which causes early string termination when
    parsing variables. This has been reported [0], but we should ensure
    that we can support at least basic printing of the core kernel strings.

    For current gdb version (has been tested with 7.3 and 8.1), 'lx-version'
    only prints one character.

    (gdb) lx-version
    L(gdb)

    This can be fixed by casting 'linux_banner' as (char *).

    (gdb) lx-version
    Linux version 4.19.0-rc1+ (changbin@acer) (gcc version 7.3.0 (Ubuntu 7.3.0-16ubuntu3)) #21 SMP Sat Sep 1 21:43:30 CST 2018

    [0] https://sourceware.org/bugzilla/show_bug.cgi?id=20077

    [kbingham@kernel.org: add detail to commit message]
    Link: http://lkml.kernel.org/r/20181111162035.8356-1-kieran.bingham@ideasonboard.com
    Fixes: 2d061d999424 ("scripts/gdb: add version command")
    Signed-off-by: Du Changbin <changbin.du@gmail.com>
    Signed-off-by: Kieran Bingham <kbingham@kernel.org>
    Acked-by: Jan Kiszka <jan.kiszka@siemens.com>
    Cc: Jan Kiszka <jan.kiszka@siemens.com>
    Cc: Jason Wessel <jason.wessel@windriver.com>
    Cc: Daniel Thompson <daniel.thompson@linaro.org>
    Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
    Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    scripts/gdb/linux/proc.py | 2 +-
    1 file changed, 1 insertion(+), 1 deletion(-)

    diff --git a/scripts/gdb/linux/proc.py b/scripts/gdb/linux/proc.py
    index 086d27223c0c..0aebd7565b03 100644
    --- a/scripts/gdb/linux/proc.py
    +++ b/scripts/gdb/linux/proc.py
    @@ -41,7 +41,7 @@ class LxVersion(gdb.Command):

    def invoke(self, arg, from_tty):
    # linux_banner should contain a newline
    - gdb.write(gdb.parse_and_eval("linux_banner").string())
    + gdb.write(gdb.parse_and_eval("(char *)linux_banner").string())

    LxVersion()

    --
    2.19.1


    \
     
     \ /
      Last update: 2019-02-11 16:56    [W:2.352 / U:0.876 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site