scripts/gdb/linux/constants.py.in

Source file repositories/reference/linux-study-clean/scripts/gdb/linux/constants.py.in

File Facts

System
Linux kernel
Corpus path
scripts/gdb/linux/constants.py.in
Extension
.in
Size
4568 bytes
Lines
176
Domain
Support Tooling And Documentation
Bucket
scripts
Inferred role
Support Tooling And Documentation: scripts
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

#include <linux/clk-provider.h>
#include <linux/fs.h>
#include <linux/hrtimer.h>
#include <linux/irq.h>
#include <linux/mount.h>
#include <linux/of_fdt.h>
#include <linux/page_ext.h>
#include <linux/radix-tree.h>
#include <linux/maple_tree.h>
#include <linux/slab.h>
#include <linux/threads.h>
#include <linux/vmalloc.h>

/* We need to stringify expanded macros so that they can be parsed */

#define STRING(x) #x
#define XSTRING(x) STRING(x)

#define LX_VALUE(x) LX_##x = x
#define LX_GDBPARSED(x) LX_##x = gdb.parse_and_eval(XSTRING(x))

/*
 * IS_ENABLED generates (a || b) which is not compatible with python
 * We can only switch on configuration items we know are available
 * Therefore - IS_BUILTIN() is more appropriate
 */
#define LX_CONFIG(x) LX_##x = IS_BUILTIN(x)

/* The build system will take care of deleting everything above this marker */
<!-- end-c-headers -->

import gdb

LX_CONFIG(CONFIG_DEBUG_INFO_REDUCED)

/* linux/clk-provider.h */
if IS_BUILTIN(CONFIG_COMMON_CLK):
    LX_GDBPARSED(CLK_GET_RATE_NOCACHE)

/* linux/fs.h */
LX_GDBPARSED(SB_RDONLY)
LX_GDBPARSED(SB_SYNCHRONOUS)
LX_GDBPARSED(SB_MANDLOCK)
LX_GDBPARSED(SB_DIRSYNC)
LX_GDBPARSED(SB_NOATIME)
LX_GDBPARSED(SB_NODIRATIME)

/* linux/htimer.h */
LX_GDBPARSED(hrtimer_resolution)

/* linux/irq.h */
LX_GDBPARSED(IRQD_LEVEL)
LX_GDBPARSED(IRQ_HIDDEN)

/* linux/module.h */
if IS_BUILTIN(CONFIG_MODULES):
    LX_GDBPARSED(MOD_TEXT)
    LX_GDBPARSED(MOD_DATA)
    LX_GDBPARSED(MOD_RODATA)
    LX_GDBPARSED(MOD_RO_AFTER_INIT)

/* linux/mount.h */
LX_GDBPARSED(MNT_NOSUID)
LX_GDBPARSED(MNT_NODEV)
LX_GDBPARSED(MNT_NOEXEC)
LX_GDBPARSED(MNT_NOATIME)
LX_GDBPARSED(MNT_NODIRATIME)
LX_GDBPARSED(MNT_RELATIME)

/* linux/threads.h */

Annotation

Implementation Notes