]>
git.proxmox.com Git - mirror_ubuntu-hirsute-kernel.git/blob - scripts/gdb/linux/config.py
1 # SPDX-License-Identifier: GPL-2.0
3 # Copyright 2019 Google LLC.
8 from linux
import utils
11 class LxConfigDump(gdb
.Command
):
12 """Output kernel config to the filename specified as the command
13 argument. Equivalent to 'zcat /proc/config.gz > config.txt' on
17 super(LxConfigDump
, self
).__init
__("lx-configdump", gdb
.COMMAND_DATA
,
18 gdb
.COMPLETE_FILENAME
)
20 def invoke(self
, arg
, from_tty
):
22 filename
= "config.txt"
27 py_config_ptr
= gdb
.parse_and_eval("kernel_config_data + 8")
28 py_config_size
= gdb
.parse_and_eval(
29 "sizeof(kernel_config_data) - 1 - 8 * 2")
30 except gdb
.error
as e
:
31 raise gdb
.GdbError("Can't find config, enable CONFIG_IKCONFIG?")
33 inf
= gdb
.inferiors()[0]
34 zconfig_buf
= utils
.read_memoryview(inf
, py_config_ptr
,
35 py_config_size
).tobytes()
37 config_buf
= zlib
.decompress(zconfig_buf
, 16)
38 with
open(filename
, 'wb') as f
:
41 gdb
.write("Dumped config to " + filename
+ "\n")