Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
linuxManualConfig: install GDB scripts
These are required to debug kernel modules. Since we're now able to do that, there's another reason besides BTF to enable DEBUG_INFO, so I've done that for pre-BTF kernel modules as well here. For GDB to get configured correctly, vmlinux-gdb.py has to be two directories up from scripts/gdb, and vmlinux has to be next to vmlinux-gdb.py. The least invasive way to satisfy these constraints is to make vmlinux a symlink, which GDB will resolve before looking for vmlinux-gdb.py. Tested both ways of getting the scripts into GDB that I know of: gdb /nix/store/7n77ijlxkxr6d613h02lr707kvjx6j1k-linux-6.1.19-dev/vmlinux \ -iex 'add-auto-load-safe-path /nix/store/7n77ijlxkxr6d613h02lr707kvjx6j1k-linux-6.1.19-dev/lib/modules/6.1.19/build/vmlinux-gdb.py' \ -ex 'lx-version' \ -ex 'q' gdb /nix/store/7n77ijlxkxr6d613h02lr707kvjx6j1k-linux-6.1.19-dev/vmlinux \ -ex 'source /nix/store/7n77ijlxkxr6d613h02lr707kvjx6j1k-linux-6.1.19-dev/lib/modules/6.1.19/build/vmlinux-gdb.py' \ -ex 'lx-version' \ -ex 'q' Also tested that the strip changes don't result in meaningful output size changes (there's some small variation due to BTF data not always coming out the same size, which is unrelated), and built every kernel I can on x86_64 to make sure I'm not relying on build system behaviour specific to newer kernels.
- Loading branch information