Tags give the ability to mark specific points in history as being important
-
upstream/v1.24
de242344 · ·BTF encoder: - Add support to BTF_KIND_ENUM64 to represent enumeration entries with more than 32 bits. - Support multithreaded encoding, in addition to DWARF multithreaded loading, speeding up the process. Selected just like DWARF multithreaded loading, using the 'pahole -j' option. - Encode 'char' type as signed. BTF Loader: - Add support to BTF_KIND_ENUM64. pahole: - Introduce --lang and --lang_exclude to specify the language the DWARF compile units were originated from to use or filter. Use case is to exclude Rust compile units while aspects of the DWARF generated for it get sorted out in a way that the kernel BPF verifier don't refuse loading the BTF generated from them. - Introduce --compile to generate compilable code in a similar fashion to: bpftool btf dump file vmlinux format c > vmlinux.h As with 'bpftool', this will notice type shadowing, i.e. multiple types with the same name and will disambiguate by adding a suffix. - Don't segfault when processing bogus files. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-
v1.24
de242344 · ·BTF encoder: - Add support to BTF_KIND_ENUM64 to represent enumeration entries with more than 32 bits. - Support multithreaded encoding, in addition to DWARF multithreaded loading, speeding up the process. Selected just like DWARF multithreaded loading, using the 'pahole -j' option. - Encode 'char' type as signed. BTF Loader: - Add support to BTF_KIND_ENUM64. pahole: - Introduce --lang and --lang_exclude to specify the language the DWARF compile units were originated from to use or filter. Use case is to exclude Rust compile units while aspects of the DWARF generated for it get sorted out in a way that the kernel BPF verifier don't refuse loading the BTF generated from them. - Introduce --compile to generate compilable code in a similar fashion to: bpftool btf dump file vmlinux format c > vmlinux.h As with 'bpftool', this will notice type shadowing, i.e. multiple types with the same name and will disambiguate by adding a suffix. - Don't segfault when processing bogus files. Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
-
acmel/1.23
c2b7b8c2 · ·DWARF loader: - Read DW_TAG_LLVM_annotation tags, associating it with variables, functions, types. So far this is only being used by the BTF encoder, but the pretty printer should use this as well in a future release, printing these attributes when available. - Initial support for DW_TAG_skeleton_unit, so far just suggest looking up a matching .dwo file to be used instead. Automagically doing this is in the plans for a future release. - Fix heap overflow when accessing variable specification. BTF encoder: - Support the new BTF type tag attribute, encoding DW_TAG_LLVM_annotation DWARF tags as BTF_KIND_TYPE_TAG and BTF_KIND_DECL_TAG. This allows __attribute__((btf_type_tag("tag1"))) to be used for variables, functions, typedefs, so that contextual information can be stored in BTF and used by the kernel BPF verifier for more checks. The --skip_encoding_btf_type_tag option can be used to suppress this. - Fix handling of percpu symbols on s390. BTF loader: - Use cacheline size to infer alignment. btfdiff: - Now that the BTF loader infers struct member alingment, and as that is just an heuristic, suppress printing the alignment when pretty printing from BTF info like is done when printing from DWARF. pahole: - Add --skip_missing so that we don't stop when not finding one of the types passed to -C. Pretty printer: - Fix __attribute__((__aligned__(N)) printing alignment for struct members. - Fix nested __attribute__(__aligned__(N)) struct printing order, so that rebuilding from the printed source circles back to the original source code alignment semantics. Build: - No need to download libbpf source when using the system library (libbpf-devel). - Make python optional Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> -
upstream/1.23
c2b7b8c2 · ·DWARF loader: - Read DW_TAG_LLVM_annotation tags, associating it with variables, functions, types. So far this is only being used by the BTF encoder, but the pretty printer should use this as well in a future release, printing these attributes when available. - Initial support for DW_TAG_skeleton_unit, so far just suggest looking up a matching .dwo file to be used instead. Automagically doing this is in the plans for a future release. - Fix heap overflow when accessing variable specification. BTF encoder: - Support the new BTF type tag attribute, encoding DW_TAG_LLVM_annotation DWARF tags as BTF_KIND_TYPE_TAG and BTF_KIND_DECL_TAG. This allows __attribute__((btf_type_tag("tag1"))) to be used for variables, functions, typedefs, so that contextual information can be stored in BTF and used by the kernel BPF verifier for more checks. The --skip_encoding_btf_type_tag option can be used to suppress this. - Fix handling of percpu symbols on s390. BTF loader: - Use cacheline size to infer alignment. btfdiff: - Now that the BTF loader infers struct member alingment, and as that is just an heuristic, suppress printing the alignment when pretty printing from BTF info like is done when printing from DWARF. pahole: - Add --skip_missing so that we don't stop when not finding one of the types passed to -C. Pretty printer: - Fix __attribute__((__aligned__(N)) printing alignment for struct members. - Fix nested __attribute__(__aligned__(N)) struct printing order, so that rebuilding from the printed source circles back to the original source code alignment semantics. Build: - No need to download libbpf source when using the system library (libbpf-devel). - Make python optional Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com> -
upstream/v1.23
c2b7b8c2 · ·DWARF loader: - Read DW_TAG_LLVM_annotation tags, associating it with variables, functions, types. So far this is only being used by the BTF encoder, but the pretty printer should use this as well in a future release, printing these attributes when available. - Initial support for DW_TAG_skeleton_unit, so far just suggest looking up a matching .dwo file to be used instead. Automagically doing this is in the plans for a future release. - Fix heap overflow when accessing variable specification. BTF encoder: - Support the new BTF type tag attribute, encoding DW_TAG_LLVM_annotation DWARF tags as BTF_KIND_TYPE_TAG and BTF_KIND_DECL_TAG. This allows __attribute__((btf_type_tag("tag1"))) to be used for variables, functions, typedefs, so that contextual information can be stored in BTF and used by the kernel BPF verifier for more checks. The --skip_encoding_btf_type_tag option can be used to suppress this. - Fix handling of percpu symbols on s390. BTF loader: - Use cacheline size to infer alignment. btfdiff: - Now that the BTF loader infers struct member alingment, and as that is just an heuristic, suppress printing the alignment when pretty printing from BTF info like is done when printing from DWARF. pahole: - Add --skip_missing so that we don't stop when not finding one of the types passed to -C. Pretty printer: - Fix __attribute__((__aligned__(N)) printing alignment for struct members. - Fix nested __attribute__(__aligned__(N)) struct printing order, so that rebuilding from the printed source circles back to the original source code alignment semantics. Build: - No need to download libbpf source when using the system library (libbpf-devel). - Make python optional Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>