aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Expand)AuthorFilesLines
2024-03-11fprintf: Remove bogus deduction of negative hole from size of previous fieldHEADmasterArnaldo Carvalho de Melo1-6/+2
2024-03-07core: The padding in ancestor classes may be used in descendantsArnaldo Carvalho de Melo3-14/+17
2024-03-07fprintf: Update 'last' variable for DW_TAG_inheritance as wellArnaldo Carvalho de Melo1-2/+2
2024-03-07fprintf: Update the 'last' member when not finding the type for the current m...Arnaldo Carvalho de Melo1-3/+3
2024-03-07fprintf: Don't ignore DW_TAG_inheritance in the sum of members checkArnaldo Carvalho de Melo1-1/+5
2024-03-01btf_encoder: Dynamically allocate the vars array for percpu variablesAlan Maguire1-9/+29
2024-02-29PKG-MAINTAINERS: Add file with known pahole distro package maintainersArnaldo Carvalho de Melo1-0/+7
2024-02-27pahole: Prep 1.26v1.26Arnaldo Carvalho de Melo4-4/+303
2024-02-27NEWS: Add missing list of changes for v1.25Arnaldo Carvalho de Melo1-0/+67
2024-02-27prefcnt: cus__load_files() requires a non NULL conf_loadArnaldo Carvalho de Melo1-1/+7
2024-02-27dtagnames: cus__load_files() requires a non NULL conf_loadArnaldo Carvalho de Melo1-1/+7
2024-02-27syscse: cus__load_files() requires a non NULL conf_loadArnaldo Carvalho de Melo1-1/+7
2024-02-21dwarf_loader: Print the line number in addition to the function when not find...Arnaldo Carvalho de Melo1-5/+5
2024-02-20pahole: Wait to find a DWARF CU with both the class and the type_enumArnaldo Carvalho de Melo1-1/+3
2024-02-20pahole: Improve error message when not resolving symbolic names in filtersArnaldo Carvalho de Melo1-6/+14
2024-02-19pahole: Implement --contains_enumerator=ENUMERATOR_NAMEArnaldo Carvalho de Melo2-0/+47
2024-02-19pahole: Do not use -1 to mean that a enumerator wasn't found in an enumerationArnaldo Carvalho de Melo1-14/+15
2024-02-19core: Introduce cu__for_each_enumeration()Arnaldo Carvalho de Melo1-0/+13
2024-02-19btfdiff: Do type expansion to cover "private" types and enumerationsArnaldo Carvalho de Melo1-2/+2
2024-02-19btf_loader: Fix loading of 32-bit signed enumsArnaldo Carvalho de Melo1-2/+10
2024-02-17btfdiff: Parallelize loading BTF and DWARFArnaldo Carvalho de Melo1-1/+5
2024-02-17fprintf: When expanding types do it for union typedefs as wellArnaldo Carvalho de Melo1-0/+2
2024-02-17fprintf: Factor out the fprintf of a union declaration, for reuseArnaldo Carvalho de Melo1-11/+34
2024-02-17fprintf: When expanding types do it for struct typedefs as wellArnaldo Carvalho de Melo1-2/+7
2024-02-16fprintf: Add missing space after expanding a structure for a struct memberArnaldo Carvalho de Melo1-1/+1
2024-02-16fprintf: When expanding types do it for enums as wellArnaldo Carvalho de Melo1-1/+1
2024-02-10fprintf: Print number of bit paddings in class member typesArnaldo Carvalho de Melo1-3/+23
2024-02-09fprintf: Print number of bit holes in class member typesArnaldo Carvalho de Melo1-6/+28
2024-02-09fprintf: Print number of holes in class member typesArnaldo Carvalho de Melo1-1/+20
2024-02-09fprintf: Introduce method to print info about type of last memberArnaldo Carvalho de Melo1-22/+36
2024-02-09fprintf: Introduce struct to account holes in class member typesArnaldo Carvalho de Melo1-6/+10
2024-02-05pahole: Make sure the features string is NUL terminatedArnaldo Carvalho de Melo1-2/+2
2024-02-05CMakeList.txt: Bump version to the upcoming 1.26 release, not out of the door...Arnaldo Carvalho de Melo1-2/+2
2023-10-25pahole: Add --btf_features_strict to reject unknown BTF featuresAlan Maguire2-3/+22
2023-10-25pahole: Add --supported_btf_featuresAlan Maguire2-0/+24
2023-10-25pahole: Add --btf_features supportAlan Maguire2-1/+155
2023-10-25dwarves: Move ARRAY_SIZE() to dwarves.hAlan Maguire2-16/+16
2023-10-25btf_encoder, pahole: Move BTF encoding options into 'struct conf_load'Alan Maguire4-18/+16
2023-07-14pahole: Don't keep structs in multiple RB treesArnaldo Carvalho de Melo1-3/+3
2023-07-10README: Remove old comments about ancient distros and add 'git submodule' ins...Arnaldo Carvalho de Melo1-15/+2
2023-06-27spec: Migrate license to a SPDX standardized oneViktor Malik1-2/+5
2023-04-13dwarf_loader: DW_TAG_subroutine_type may have a DW_AT_byte_sizeArnaldo Carvalho de Melo3-0/+3
2023-04-13pdwtags: Print DW_TAG_constant tagsArnaldo Carvalho de Melo1-0/+5
2023-04-13fprintf: Add DW_TAG_constant pretty printer (constant__fprintf)Arnaldo Carvalho de Melo1-0/+21
2023-04-13dwarf_loader: Add support for DW_TAG_constantArnaldo Carvalho de Melo2-0/+64
2023-04-08pahole: Prep 1.25v1.25Arnaldo Carvalho de Melo4-2/+138
2023-03-31fprintf: Fix `*` not being printed for pointers with btf_type_tagEduard Zingerman1-8/+29
2023-03-28btf_loader: A hack for BTF import of btf_type_tag attributesEduard Zingerman1-4/+11
2023-03-28fprintf: Correct names for types with btf_type_tag attributeEduard Zingerman1-0/+13
2023-03-13btf_encoder: Compare functions via prototypes not parameter namesAlan Maguire1-36/+31
2023-03-13fprintf: Support skipping modifierAlan Maguire2-10/+17
2023-03-13fprintf: Generalize function prototype print to support passing confAlan Maguire2-5/+22
2023-03-02dwarf_loader: Fix for BTF id drift caused by adding unspecified typesEduard Zingerman3-22/+19
2023-03-01fprintf: Support DW_TAG_LLVM_annotation in dwarf_tag_name()Arnaldo Carvalho de Melo1-0/+2
2023-02-28CMakeLists.txt: Call cmake_minimum_required() before project()Arnaldo Carvalho de Melo1-1/+1
2023-02-28dwarf_loader: Only mark parameter as using an unexpected register when it doesAlan Maguire1-4/+2
2023-02-28dwarf_loader: Fix parameter location retrieval for location listsAlan Maguire1-2/+12
2023-02-28dwarf_loader: Fix detection of struct parametersAlan Maguire1-6/+4
2023-02-18pahole: Update man page for options alsoAlan Maguire1-3/+1
2023-02-18pahole: Update descriptions for btf_gen_optimized, skip_encoding_btf_inconsis...Alan Maguire1-2/+2
2023-02-18btf_encoder: Exclude functions with unexpected param register use not optimiz...Alan Maguire1-7/+17
2023-02-18dwarf_loader: Mark functions that do not use expected registers for paramsAlan Maguire2-5/+109
2023-02-16btfdiff: Exclude Rust CUs since those are not yet being converted to BTF on t...Arnaldo Carvalho de Melo1-0/+1
2023-02-14dwarf_loader: Fix sorting of Rust structsArnaldo Carvalho de Melo1-1/+1
2023-02-10core: Check that we're adding DW_TAG_member sorted by byte offsetArnaldo Carvalho de Melo1-0/+42
2023-02-09btf_encoder: Ensure ELF function representation is fully initializedAlan Maguire1-0/+2
2023-02-09CMakeList.txt: Bump version to the upcoming 1.25 release, not out of the door...Arnaldo Carvalho de Melo1-2/+2
2023-02-09btf_encoder: Support delaying function addition to check for function prototy...Alan Maguire4-9/+101
2023-02-09btf_encoder: Represent "."-suffixed functions (".isra.0") in BTFAlan Maguire4-14/+164
2023-02-09btf_encoder: Rework btf_encoders__*() API to allow traversal of encodersAlan Maguire2-14/+28
2023-02-09btf_encoder: Refactor function addition into dedicated btf_encoder__add_funcAlan Maguire1-19/+27
2023-02-09btf_encoder: Store type_id_off, unspecified type in encoderAlan Maguire1-27/+32
2023-02-09dwarf_loader: Help spotting functions with optimized-out parametersAlan Maguire2-8/+128
2023-02-09pahole: Sync with libbpf-1.1Alan Maguire1-0/+0
2023-01-24dwarf_loader: Sync with LINUX_ELFNOTE_LTO_INFO macro from kernelSedat Dilek1-3/+3
2023-01-24pahole: Set libbpf debug printer in -V modeArnaldo Carvalho de Melo1-1/+10
2023-01-24pahole: Use type__fprintf() directly for --compileArnaldo Carvalho de Melo1-2/+4
2023-01-24core: Introduce base_type__language_defined()Arnaldo Carvalho de Melo2-0/+25
2023-01-24dwarf_loader: DW_TAG_inlined_subroutine needs recoding by DW_AT_abstract_originArnaldo Carvalho de Melo1-2/+8
2022-10-24pfunct: Use zalloc() to make the code more robustArnaldo Carvalho de Melo1-1/+1
2022-10-24pahole: Use zalloc() to make the code more robustArnaldo Carvalho de Melo1-6/+5
2022-10-24core: Use zalloc() to make the code more robustArnaldo Carvalho de Melo1-4/+1
2022-10-21dwarves: Zero-initialize struct cu in cu__new() to prevent incorrect BTF typesAlan Maguire1-1/+1
2022-10-13emit: Support DW_TAG_atomic_type when emitting definitions for a typedefArnaldo Carvalho de Melo1-0/+7
2022-10-13fprintf: Support _Atomic typedefsArnaldo Carvalho de Melo1-1/+5
2022-10-13fprintf: Move the "typedef " invariant printf to the start of typedef__fprintf()Arnaldo Carvalho de Melo1-11/+7
2022-10-13pahole: Allow skipping the emission of atomic typedefsArnaldo Carvalho de Melo2-0/+16
2022-10-13emit: Allow skip emitting the atomic typedefsArnaldo Carvalho de Melo2-0/+4
2022-10-13emit: Optionally pass a conf_fprintf struct to type_emissions__initArnaldo Carvalho de Melo5-6/+9
2022-10-13emit: Emit typedefs for atomic_ prefixed base typesArnaldo Carvalho de Melo6-0/+94
2022-10-11emit: cu__type() == NULL means "void"Arnaldo Carvalho de Melo1-1/+3
2022-10-11btf_encoder: Encode DW_TAG_unspecified_type returning routines as voidArnaldo Carvalho de Melo1-3/+30
2022-10-10core: Record if a CU has a DW_TAG_unspecified_typeArnaldo Carvalho de Melo2-1/+14
2022-10-10core: Add DW_TAG_unspecified_type to tag__is_tag_type() setArnaldo Carvalho de Melo1-0/+1
2022-10-10btf_encoder: Store the CU being processed to avoid changing many functionsArnaldo Carvalho de Melo1-2/+9
2022-10-10fprintf: Emit "_Atomic" modifiers for DW_TAG_atomic_typeArnaldo Carvalho de Melo1-4/+11
2022-10-10core: Print more info on tag__assert_search_result()Arnaldo Carvalho de Melo8-21/+21
2022-10-04btf_encoder: Add extra debug info for unsupported DWARF tagsArnaldo Carvalho de Melo1-2/+2
2022-10-04pahole: Support '--lang/--lang_exclude=asm'Arnaldo Carvalho de Melo2-1/+4
2022-09-30pahole: Add "btf" to the format-path option man pageArnaldo Carvalho de Melo1-2/+2
2022-09-29dwarf_loader: Support DW_TAG_label outside DW_TAG_lexblockArnaldo Carvalho de Melo1-2/+14
2022-09-27pahole: Allow --compile to work with DWARF in addition to with BTFArnaldo Carvalho de Melo1-5/+0
2022-09-27dwarves: support DW_TAG_atomic_typeDavid Lamparter5-3/+21
2022-09-23emit: Don't mark a enum with nr_members == 0 as printed, its just a fwd declnexArnaldo Carvalho de Melo1-1/+7
2022-09-23emit: Check if disambiguated struct/enum/union name was already emitted in a ...Arnaldo Carvalho de Melo1-0/+6
2022-09-23pahole: Honour --compile when -C is usedArnaldo Carvalho de Melo1-1/+1
2022-08-26btf: Fix building with system libbpfArnaldo Carvalho de Melo3-2/+36
2022-08-26core: Conditionally define language encodingsArnaldo Carvalho de Melo1-0/+112
2022-08-22pahole: Prep 1.24v1.24Arnaldo Carvalho de Melo5-4/+98
2022-08-10dwarf_loader: Encode char type as signedYonghong Song1-1/+1
2022-07-29dwarf_loader: Fix elfutils dwfl_getmodules() error checkingArnaldo Carvalho de Melo1-1/+1
2022-07-12btf_loader: Add support to BTF_KIND_ENUM64Arnaldo Carvalho de Melo1-0/+46
2022-07-12btf: Support BTF_KIND_ENUM64Yonghong Song7-21/+84
2022-06-29libbpf: Sync with latest libbpf repoYonghong Song1-0/+0
2022-05-24fprintf: Fix plural/singular when printing cacheline boundaryArnaldo Carvalho de Melo1-2/+3
2022-05-17btf_encoder: Normalize array index type for parallel dwarf loading caseYonghong Song1-1/+2
2022-05-17libbpf: Sync with latest libbpf repoYonghong Song1-0/+0
2022-04-25pahole: Add --lang_exclude to allow skipping compilation units written in som...Arnaldo Carvalho de Melo2-1/+21
2022-04-25pahole: Introduce --lang to ask for only compilation units written in some la...Arnaldo Carvalho de Melo2-0/+103
2022-04-25core: Add string to id language lookup methodArnaldo Carvalho de Melo2-0/+53
2022-04-25pahole: Don't try encode BTF when all CUs were filteredArnaldo Carvalho de Melo1-1/+1
2022-04-22fprintf: preserve conf_fprintf pointer in tag__ptr_nameAlibek Omarov1-5/+6
2022-03-26btf_encoder: Collect info of per-cpu variables from threadsKui-Feng Lee3-1/+24
2022-03-17dwarves: Set errno if load fails in cus__load_files()Kornilios Kourtis1-1/+4
2022-03-17pahole: Avoid segfault when parsing bogus fileKornilios Kourtis1-1/+3
2022-03-09pahole: Introduce --compile to produce a compilable outputArnaldo Carvalho de Melo3-2/+40
2022-03-09core: Ditch 'dwarves__active_loader' extern declaration, it was nukedArnaldo Carvalho de Melo1-2/+0
2022-02-08emit: Notice type shadowing, i.e. multiple types with the same name (enum, st...Arnaldo Carvalho de Melo3-0/+66
2022-02-08core: Make type->packed_attributes_inferred a one bit memberArnaldo Carvalho de Melo2-5/+5
2022-02-08core: type->declaration is just one bit, make it a bitfield memberArnaldo Carvalho de Melo1-1/+1
2022-02-07emit: Search for data structures using its type in addition to its nameArnaldo Carvalho de Melo3-7/+9
2022-02-03fprintf: Consider enumerations without members as forward declarationsArnaldo Carvalho de Melo1-1/+10
2022-02-02emit: Fix printing typedef of nameless struct/unionArnaldo Carvalho de Melo1-3/+2
2022-02-02fprintf: Check if conf->conf_fprintf is not NULL in when resolving cacheline_...Arnaldo Carvalho de Melo1-1/+1
2022-01-28fprintf: Fix division by zero for uninitialized conf_fprintf->cacheline_size ...Arnaldo Carvalho de Melo1-4/+24
2022-01-28libbpf: Update libbpf to the latest git HEADKui-Feng Lee3-11/+11
2022-01-28pahole: Use per-thread btf instances to avoid mutex lockingKui-Feng Lee3-5/+119
2022-01-28dwarf_loader: Prepare and pass per-thread data to worker threadsKui-Feng Lee2-13/+48
2022-01-28dwarf_loader: Receive per-thread data on worker threadsKui-Feng Lee7-9/+14
2021-12-17core: Define DW_TAG_skeleton_unit if not available on current dwarf.hArnaldo Carvalho de Melo1-0/+4
2021-12-08pahole: Prep 1.23v1.23Arnaldo Carvalho de Melo5-5/+114
2021-12-08Revert "fprintf: Allow making struct/enum/union anonymous"Douglas RAILLARD3-37/+21
2021-12-08Revert "pahole: Add --inner_anon option"Douglas RAILLARD2-15/+0
2021-12-07pahole: Add --inner_anon optionDouglas Raillard2-0/+15
2021-11-26fprintf: Allow making struct/enum/union anonymousDouglas Raillard3-21/+37
2021-11-23btf_encoder: Support btf_type_tag attributeYonghong Song2-0/+12
2021-11-23man pages: Add missing --skip_encoding_btf_decl_tag entryArnaldo Carvalho de Melo1-0/+4
2021-11-23man pages: Add missing --skip_encoding_btf_type_tag entryArnaldo Carvalho de Melo1-0/+4
2021-11-23dwarf_loader: Support btf_type_tag attributeYonghong Song3-4/+173
2021-11-23dutil: Move DW_TAG_LLVM_annotation definition to dutil.hYonghong Song2-4/+4
2021-11-23libbpf: Sync with latest libbpf repo to pick support for BTF_KIND_TYPE_TAGYonghong Song1-0/+0
2021-11-12dwarf_loader: Warn about DW_TAG_skeleton_unit and give a workaroundArnaldo Carvalho de Melo1-1/+12
2021-11-12fprintf: Add DWARF5 tags added in elfutils 0.170Arnaldo Carvalho de Melo1-0/+13
2021-11-12dwarf_loader: Print the hexadecimal value for unexpected tags in die__process()Arnaldo Carvalho de Melo1-2/+2
2021-11-11btf_encoder: generate BTF_KIND_DECL_TAGs for typedef btf_decl_tag attributesYonghong Song1-3/+14
2021-11-11dwarf_loader: support typedef DW_TAG_LLVM_annotationYonghong Song1-5/+2
2021-10-28btf_loader: Use cacheline size to infer alignmentDouglas Raillard1-0/+10
2021-10-28btf_loader: Propagate struct conf_loadDouglas Raillard1-7/+10
2021-10-28dwarves_fprintf: Move cacheline_size into struct conf_fprintfDouglas Raillard11-29/+47
2021-10-28btfdiff: Suppress alignment tags with BTF as well as with DWARFArnaldo Carvalho de Melo1-0/+1
2021-10-27btf_loader: Infer alignment infoDouglas Raillard1-0/+36
2021-10-27core: Export tag__natural_alignment()Douglas Raillard2-1/+3
2021-10-27fprintf: Fix __attribute__((__aligned__(N)) handling for struct membersArnaldo Carvalho de Melo1-9/+6
2021-10-27btf: Rename btf_tag to btf_decl_tagYonghong Song5-17/+17
2021-10-27manpages: Minor fixesDomenico Andreoli1-3/+4
2021-10-26btf_loader: Refactor class__fixup_btf_bitfieldsDouglas Raillard1-15/+14
2021-10-26pahole: Add --skip_missing optionDouglas Raillard2-2/+17
2021-10-26fprintf: Fix nested struct printing wrt attributesDouglas Raillard1-4/+18
2021-10-26btf_encoder: Fix handling of percpu symbols on s390Ilya Leoshkevich1-7/+14
2021-10-26dwarf_loader: Fix heap overflow when accessing variable specificationIlya Leoshkevich2-5/+11
2021-10-14dwarves: Introduce conf_load->thread_exit() callbackArnaldo Carvalho de Melo2-0/+5
2021-10-14Update libbpf to get API to combine BTFArnaldo Carvalho de Melo1-0/+0
2021-09-27btf_encoder: Generate BTF_KIND_TAG from llvm annotationsYonghong Song1-1/+62
2021-09-27dwarf_loader: Parse DWARF tag DW_TAG_LLVM_annotationYonghong Song3-6/+97
2021-09-27CMakeList.txt: Don't download libbpf source when system library is usedMatteo Croce1-1/+1
2021-09-18libbpf: Get latest libbpfYonghong Song1-0/+0
2021-08-30CMakeList.txt: Make python optionalMatteo Croce1-2/+5
2021-08-23pahole: Prep 1.22v1.22Arnaldo Carvalho de Melo4-2/+485
2021-08-20core: Bump the chunk size for ptr_table uses in types, tags, functions tablesArnaldo Carvalho de Melo1-2/+2
2021-08-20pahole: Introduce --ptr_table_statsArnaldo Carvalho de Melo3-0/+26
2021-08-20core: Add CU stats printerArnaldo Carvalho de Melo2-0/+19
2021-08-20pahole: Fix races in accessing type information in live CUsArnaldo Carvalho de Melo1-5/+159
2021-08-20pahole: Add missing limits.h include to get ULLONG_MAX definitionArnaldo Carvalho de Melo1-0/+1
2021-08-20CMakeList.txt: Look for obstack outside libcArnaldo Carvalho de Melo1-1/+2
2021-08-20cmake: Add a module to find if obstack is in a separate libraryArnaldo Carvalho de Melo2-0/+42
2021-08-20CMakeList.txt: Look for argp outside libcArnaldo Carvalho de Melo1-1/+2
2021-08-20cmake: Add a module to find if argp is in a separate libraryArnaldo Carvalho de Melo2-0/+42
2021-08-20fprintf: Add alternative method for reading the data cacheline sizeArnaldo Carvalho de Melo1-1/+34
2021-08-20core: Include missing limits.h to get PATH_MAX definitionArnaldo Carvalho de Melo1-0/+1
2021-08-20dutil: Include linux/stddef.h to build on Alpine Linux systemsArnaldo Carvalho de Melo1-0/+1
2021-08-20README.tarball: Overcome --transform problem with symlinksArnaldo Carvalho de Melo1-1/+1
2021-08-20MANIFEST: Add lib/include/bpfArnaldo Carvalho de Melo1-0/+1
2021-08-20spec: Remove deleted libbtf.h from the RPM file listArnaldo Carvalho de Melo1-1/+0
2021-08-20README.tarball: Remove hardcoded version, get it from 'git tag'Arnaldo Carvalho de Melo1-1/+1
2021-08-20MANIFEST: Remove long gone strings header filesArnaldo Carvalho de Melo1-2/+0
2021-08-20MANIFEST: Add buildcmd.shArnaldo Carvalho de Melo1-0/+1
2021-08-20buildcmd.sh: Add single build script for use in CIArnaldo Carvalho de Melo1-0/+7
2021-08-20pahole: Consider type members's names when comparing unions, structsArnaldo Carvalho de Melo1-0/+9
2021-08-20pahole: Consider type members's types when comparing unions, structsArnaldo Carvalho de Melo1-2/+49
2021-08-20core: Introduce helpers for getting the first and next members of a typeArnaldo Carvalho de Melo1-0/+10