diff options
| author | Alexei Starovoitov <ast@kernel.org> | 2026-10-02 12:47:12 +0000 |
|---|---|---|
| committer | Kumar Kartikeya Dwivedi <memxor@gmail.com> | 2026-10-03 16:08:20 +0200 |
| commit | 373e1223ff00630dc28b2d0fb6ec5fb5cceaccce (patch) | |
| tree | 8952adc6d77cff8d4f3b969dbb65c0634468ca4d /include/linux/timerqueue.h | |
| parent | 8ab58ed42b086de4eb4035b4b6a75d29ac7f5e0f (diff) | |
| download | linux-next-373e1223ff00630dc28b2d0fb6ec5fb5cceaccce.tar.gz linux-next-373e1223ff00630dc28b2d0fb6ec5fb5cceaccce.zip | |
libbpf: Keep format strings of bpf_printk() in .rodata.str
bpf_printk(), BPF_SNPRINTF(), BPF_SEQ_PRINTF() and bpf_stream_printk()
copy the format into a static const array, which the compiler puts into
.rodata. When global data of the object is in arena .rodata is there
too and the helper doesn't take the format:
R1 type=scalar expected=fp, pkt, pkt_meta, map_key, map_value, mem,
ringbuf_mem, buf, trusted_ptr_, ctx
String literals are in .rodata.str1.1, which libbpf keeps in a read-only
map. No compiler flag moves a named array there. Put the arrays into
.rodata.str with a section attribute.
An object that uses the macros gets one more map, .rodata.str.
Signed-off-by: Alexei Starovoitov <ast@kernel.org>
Link: https://lore.kernel.org/bpf/20261002124714.180012-14-alexei.starovoitov@gmail.com
Signed-off-by: Kumar Kartikeya Dwivedi <memxor@gmail.com>
Diffstat (limited to 'include/linux/timerqueue.h')
0 files changed, 0 insertions, 0 deletions
