me
/
guix
Archived
1
0
Fork 0

gnu: linux-libre: Enable BTF debug info.

This is needed for software making use of eBPF programs, such as the sysdig
utility, among others.  For more information about BPF, see:
<https://brendangregg.com/blog/2020-11-04/bpf-co-re-btf-libbpf.html>.

* gnu/packages/linux.scm (%default-extra-linux-options): Enable
CONFIG_DEBUG_INFO, CONFIG_DEBUG_INFO_BTF,
CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT, CONFIG_BPF_JIT,
CONFIG_BPF_JIT_ALWAYS_ON, CONFIG_BPF_SYSCALL and BPF_UNPRIV_DEFAULT_OFF.
Disable CONFIG_DEBUG_INFO_REDUCED.
(make-linux-libre*) [native-inputs]: Add dwarves, python-wrapper and zlib.

Change-Id: Idfc64f82aa404e86168bffcf721a325f9e807f75
master
Maxim Cournoyer 2024-05-07 23:44:33 -04:00
parent 4114060cd0
commit b72b6063ce
No known key found for this signature in database
GPG Key ID: 1260E46482E63562
1 changed files with 24 additions and 1 deletions

View File

@ -856,6 +856,24 @@ ARCH and optionally VARIANT, or #f if there is no such configuration."
`(;; Make the kernel config available at /proc/config.gz
("CONFIG_IKCONFIG" . #t)
("CONFIG_IKCONFIG_PROC" . #t)
;; Debugging options.
("CONFIG_DEBUG_INFO" . #t) ;required by BTF
,@(if (version>=? version "5.1")
'(("CONFIG_DEBUG_INFO_BTF" . #t))
'())
,@(if (version>=? version "5.12")
'(("CONFIG_DEBUG_INFO_DWARF_TOOLCHAIN_DEFAULT" . #t))
'())
("CONFIG_DEBUG_INFO_REDUCED" . #f) ;incompatible with BTF
;; Tracing and related options.
,@(if (version>=? version "5.1")
'(("CONFIG_BPF_JIT" . #t)
("CONFIG_BPF_JIT_ALWAYS_ON" . #t)
("CONFIG_BPF_SYSCALL" . #t))
'())
,@(if (version>=? version "5.13")
'(("BPF_UNPRIV_DEFAULT_OFF" . #t))
'())
;; Some very mild hardening.
("CONFIG_SECURITY_DMESG_RESTRICT" . #t)
;; All kernels should have NAMESPACES options enabled
@ -1134,7 +1152,12 @@ ARCH and optionally VARIANT, or #f if there is no such configuration."
;; These are needed to compile the GCC plugins.
gmp
mpfr
mpc))
mpc
;; These are needed when building with the CONFIG_DEBUG_INFO_BTF
;; support.
dwarves ;for pahole
python-wrapper
zlib))
(home-page "https://www.gnu.org/software/linux-libre/")
(synopsis "100% free redistribution of a cleaned Linux kernel")
(description "GNU Linux-Libre is a free (as in freedom) variant of the