aboutsummaryrefslogtreecommitdiffstats
AgeCommit message (Expand)AuthorFilesLines
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
2021-08-20pahole: Improve the type sorting routine to consider multiple types with same...Arnaldo Carvalho de Melo1-2/+19
2021-08-20core: Remove extra ; in 'print_numeric_version' extern declarationArnaldo Carvalho de Melo1-1/+1
2021-08-20btf_loader: Mark the 'level' arg to the libbpf error callback as __maybe_unusedArnaldo Carvalho de Melo1-1/+1
2021-08-20btf_loader: Mark create_new_datasec() args as __maybe_unusedArnaldo Carvalho de Melo1-1/+1
2021-08-20dwarf_loader: cus__load_debug_types() doesn't use its 'cus' arg, remove itArnaldo Carvalho de Melo1-9/+4
2021-08-20dwarf_loader: Rename finalize_cu_immediately() to cus__finalize() to follow c...Arnaldo Carvalho de Melo1-5/+3
2021-08-20dwarf_loader: Remove unused 'dcu' argument from finalize_cu_immediately()Arnaldo Carvalho de Melo1-3/+2
2021-08-20dwarf_loader: Remove unused 'dcus' argument from cu__finalize()Arnaldo Carvalho de Melo1-3/+3
2021-08-20dwarf_loader: Remove unused 'cus' argument from finalize_cu()Arnaldo Carvalho de Melo1-4/+3
2021-08-20dwarf_loader: Fix signed/unsigned comparision in tag__recode_dwarf_bitfield()Arnaldo Carvalho de Melo1-1/+1
2021-08-20core: cus__fprintf_load_files_err() doesn't use its 'cus' argumentArnaldo Carvalho de Melo1-1/+1
2021-08-20core: Change last_seen_bit to uint32_t in class__find_holes()Arnaldo Carvalho de Melo1-2/+1
2021-08-20core: Change aligned_start to uint32_t in class__find_holes()Arnaldo Carvalho de Melo1-1/+1
2021-08-20core: Change cur_bitfield_end to uint32_t in class__find_holes()Arnaldo Carvalho de Melo1-1/+1
2021-08-20core: Change bit_start and bit_end to uint32_t in class__find_holes()Arnaldo Carvalho de Melo1-1/+1
2021-08-20btf_encoder: Fix signed/unsigned comparisionArnaldo Carvalho de Melo1-1/+1
2021-08-20btf_encoder: has_arg_names() doesn't need the 'cu' pointerArnaldo Carvalho de Melo1-5/+3
2021-08-20btf_encoder: btf_encoder__encode_tag() doesn't need the 'core_id' pointerArnaldo Carvalho de Melo1-3/+2
2021-08-20btf_encoder: btf_encoder__encode_tag() doesn't need the 'cu' pointerArnaldo Carvalho de Melo1-2/+2
2021-08-20btf_encoder: btf_encoder__add_struct_type() doesn't need the 'cu' pointerArnaldo Carvalho de Melo1-2/+2
2021-08-20btf_encoder: btf_encoder__add_func_proto() doesn't need the 'cu' pointerArnaldo Carvalho de Melo1-3/+3
2021-08-20btf_encoder: No need to read the ehdr in btf_encoder__write_elf(), ditch itArnaldo Carvalho de Melo1-7/+0
2021-08-20ctracer: No need to read the ehdr, ditch itArnaldo Carvalho de Melo1-6/+0
2021-08-20btf_encoder: No need to store the ehdr in the instanceArnaldo Carvalho de Melo1-3/+4
2021-08-20elf_symtab: Remove needless GElf_Ehdr pointer argument from the constructorArnaldo Carvalho de Melo6-6/+6
2021-08-20dutil: elf_symtab__new() doesn't need the GElf_Ehdr *ep argumentArnaldo Carvalho de Melo7-16/+9
2021-08-20pahole: Move case fallthru comment to after the statementArnaldo Carvalho de Melo1-1/+1
2021-08-20elfcreator: elfcreator_copy_scn() doesn't need the 'elf' argArnaldo Carvalho de Melo3-3/+3
2021-08-20syscse: zero_extend() doesn't need a 'cu' argArnaldo Carvalho de Melo1-3/+2
2021-08-20pahole: Fix signedness of ternary expression operatorArnaldo Carvalho de Melo1-1/+1
2021-08-20ctracer: Remove a bunch of unused 'cu' pointersArnaldo Carvalho de Melo1-10/+6
2021-08-20pahole: Use the 'prototypes' parameter in prototypes__load()Arnaldo Carvalho de Melo1-1/+1
2021-08-20codiff: class__find_pair_member() doesn't need 'cu' argsArnaldo Carvalho de Melo1-5/+5
2021-08-20core: class__find_member_by_name() doesn't need a cu pointerArnaldo Carvalho de Melo2-3/+2
2021-08-20core: Document type->node member usageArnaldo Carvalho de Melo1-0/+1
2021-08-20core: Fix nnr_members typo on 'struct type' comment docsArnaldo Carvalho de Melo1-1/+1
2021-08-20man-pages: Improve the --nr_methods/-m pahole man page entryArnaldo Carvalho de Melo1-1/+10
2021-08-20pahole: Clarify that currently --nr_methods doesn't work together witn -CArnaldo Carvalho de Melo1-0/+5
2021-08-20pahole: No need to store the class name in 'struct structure'Arnaldo Carvalho de Melo1-13/+6
2021-08-20pahole: Multithreaded DWARF loading requires elfutils >= 0.178Arnaldo Carvalho de Melo1-0/+5
2021-08-20btf_encoder: Add methods to maintain a list of btf encodersArnaldo Carvalho de Melo2-0/+23
2021-08-20list: Adopt list_next_entry() from the Linux kernelArnaldo Carvalho de Melo1-0/+8
2021-08-20dwarf_loader: Make hash table size default to 12, faster than 15Arnaldo Carvalho de Melo1-1/+1
2021-08-20pahole: Allow tweaking the size of the loader hash tablesArnaldo Carvalho de Melo2-0/+21
2021-08-20core: Allow sizing the loader hash tableArnaldo Carvalho de Melo2-0/+17
2021-08-20hash: Remove unused hash_32(), hash_ptr()Arnaldo Carvalho de Melo1-28/+0
2021-08-20dwarf_loader: Use a per-CU frontend cache for the latest lookup resultArnaldo Carvalho de Melo1-2/+16
2021-08-20core: Use obstacks: take 2Arnaldo Carvalho de Melo6-32/+84
2021-08-20dwarf_loader: Add comment on why we can't ignore lexblocksArnaldo Carvalho de Melo1-0/+3
2021-08-20pahole: Ignore DW_TAG_label when encoding BTFArnaldo Carvalho de Melo1-0/+1
2021-08-20core: Allow ignoring DW_TAG_labelArnaldo Carvalho de Melo2-0/+5
2021-08-20pahole: Ignore DW_TAG_inline_expansion when encoding BTFArnaldo Carvalho de Melo1-0/+3
2021-08-20core: Allow ignoring DW_TAG_inline_expansionArnaldo Carvalho de Melo2-0/+3
2021-08-20pahole: Allow encoding BTF with parallel DWARF loadingArnaldo Carvalho de Melo1-8/+11
2021-08-20core: Zero out unused entries when extending ptr_table array in ptr_table__add()Arnaldo Carvalho de Melo1-0/+4
2021-08-20pahole: No need to read DW_AT_alignment when encoding BTFArnaldo Carvalho de Melo1-0/+1
2021-08-20dwarf_loader: Allow asking not to read the DW_AT_alignment attributeArnaldo Carvalho de Melo2-2/+8
2021-08-12dwarf_loader: Do not look for non-C DWARF attributes in C CUsArnaldo Carvalho de Melo1-3/+6
2021-08-12core: Add cu__is_c() to check if the CU language is CArnaldo Carvalho de Melo1-0/+5
2021-08-12dwarf_loader: Add a lock around dwarf_decl_file() and dwarf_decl_line() callsArnaldo Carvalho de Melo1-0/+6
2021-08-12btfdiff: Use multithreaded DWARF loadingArnaldo Carvalho de Melo1-0/+1
2021-08-12btfdiff: Use --sort for pretty printing from both BTF and DWARFArnaldo Carvalho de Melo1-0/+2
2021-08-12pahole: Introduce --sortArnaldo Carvalho de Melo2-1/+44
2021-08-12pahole: Store the class id in 'struct structure' as wellArnaldo Carvalho de Melo1-10/+12
2021-08-12dwarf_loader: Defer freeing libdw Dwfl handlerArnaldo Carvalho de Melo1-1/+17
2021-08-12core: Provide a way to store per loader info in cus and an exit functionArnaldo Carvalho de Melo2-1/+28
2021-08-12pahole: Keep class + cu in tree of structuresArnaldo Carvalho de Melo1-9/+13
2021-08-12dwarf_loader: Parallel DWARF loadingArnaldo Carvalho de Melo1-1/+79
2021-08-12pahole: Disable parallell BTF encoding for nowArnaldo Carvalho de Melo1-0/+5
2021-08-12pahole: Add locking for the structures list and rbtreeArnaldo Carvalho de Melo1-3/+22
2021-08-12dwarf_loader: Introduce 'dwarf_cus' to group all the DWARF specific per-cus s...Arnaldo Carvalho de Melo1-24/+39
2021-08-12dwarf_loader: Factor common bits for creating and processing CUArnaldo Carvalho de Melo1-25/+36
2021-08-12fprintf: class__vtable_fprintf() doesn't need a 'cu' argArnaldo Carvalho de Melo1-3/+2
2021-08-12fprintf: string_type__fprintf() doesn't need a 'cu' argArnaldo Carvalho de Melo1-3/+2
2021-08-12core: Ditch tag__free_orig_info(), unusedArnaldo Carvalho de Melo1-8/+0
2021-08-12core: variable__name() doesn't need a 'cu' argArnaldo Carvalho de Melo5-7/+7
2021-08-12core: base_type__name() doesn't need a 'cu' argArnaldo Carvalho de Melo8-23/+16
2021-08-12core: namespace__delete() doesn't need a 'cu' argArnaldo Carvalho de Melo3-4/+4
2021-08-12core: {tag,function,lexblock}__delete() doesn't need a 'cu' argArnaldo Carvalho de Melo3-21/+21
2021-08-12core: ftype__delete() doesn't need a 'cu' argArnaldo Carvalho de Melo5-9/+9
2021-08-12core: enumeration__delete() doesn't need a 'cu' argArnaldo Carvalho de Melo5-8/+8
2021-08-12core: type__delete() doesn't need a 'cu' argArnaldo Carvalho de Melo5-6/+6
2021-08-12core: class__clone() doesn't need a 'cu' argArnaldo Carvalho de Melo4-7/+5
2021-08-12core: class__delete() doesn't need a 'cu' argArnaldo Carvalho de Melo6-9/+9
2021-08-12core: type__delete_class_members() doesn't need a 'cu' argArnaldo Carvalho de Melo1-3/+3
2021-08-12core: class_member__delete() doesn't need a 'cu' argArnaldo Carvalho de Melo4-5/+5
2021-08-12core: type__clone_members() doesn't need a 'cu' argArnaldo Carvalho de Melo1-3/+2
2021-08-12core: class_member__clone() doesn't need a 'cu' argArnaldo Carvalho de Melo1-3/+2
2021-08-12pahole: Introduce --prettify optionArnaldo Carvalho de Melo2-22/+48
2021-08-12pahole: Try harder to resolve the --header type when pretty printingArnaldo Carvalho de Melo1-2/+5
2021-08-12pahole: Make prototype__stdio_fprintf_value() receive a FILE to read raw data...Arnaldo Carvalho de Melo1-14/+15
2021-08-12man-page: Move the PRETTY PRINTING header earlierArnaldo Carvalho de Melo1-5/+5
2021-08-12pahole: Make pipe_seek() honour the 'fp' arg instead of hardcoding stdinArnaldo Carvalho de Melo1-1/+1
2021-08-12pahole: Rename 'fp' to 'output' in prototype__stdio_fprintf_value()Arnaldo Carvalho de Melo1-8/+8
2021-08-12pahole: Use the supplied 'fp' argument in type__instance_read_once()Arnaldo Carvalho de Melo1-1/+1
2021-08-12core: Use namespace->name in class__clone()Arnaldo Carvalho de Melo5-10/+2
2021-08-12core: Remove strings.c, unusedArnaldo Carvalho de Melo8-129/+2
2021-08-12ctf_loader: Use uint32_t instead of strings_t, that is going awayArnaldo Carvalho de Melo1-2/+2
2021-08-12core: Remove base_type_name_to_size_table.sname, unusedArnaldo Carvalho de Melo1-1/+0
2021-08-12pahole: Add missing bpf/btf.h includeArnaldo Carvalho de Melo1-0/+1
2021-08-12libctf: Comment out unused CTF encoding functionsArnaldo Carvalho de Melo1-0/+2
2021-08-12btf_loader: Add missing bpf/btf.h includeArnaldo Carvalho de Melo1-0/+1
2021-08-12btf_encoder: Add missing bpf/btf.h includeArnaldo Carvalho de Melo1-0/+1
2021-08-12pahole: Use conf_load.kabi_prefixArnaldo Carvalho de Melo2-7/+3
2021-08-12dwarf_loader: Make attr_suffix() handle kabi_prefixArnaldo Carvalho de Melo2-4/+13
2021-08-12dwarf_loader: Pass conf_load to functions calling attr_string()Arnaldo Carvalho de Melo1-107/+105
2021-08-12ctf_loader: No need for the 'strings' extern, not usedArnaldo Carvalho de Melo1-6/+0
2021-08-12btf_loader: No need for the 'strings' extern, not usedArnaldo Carvalho de Melo1-6/+0
2021-08-12dwarf_loader: Remove unused strings variable and debug_fmt_ops->{init,exit}()Arnaldo Carvalho de Melo1-19/+0
2021-08-12core: Remove unused debug_fmt_ops->dwarf__strings_ptr()Arnaldo Carvalho de Melo4-22/+0
2021-08-12core: Remove unused cu__string() methodArnaldo Carvalho de Melo2-14/+0
2021-08-12dwarf_loader: No need to strdup() what dwarf_formstring() returnsArnaldo Carvalho de Melo1-17/+10
2021-08-12core: No need for debug_fmt_ops->variable_name() anymoreArnaldo Carvalho de Melo3-12/+0
2021-08-12pahole: function__name() doesn't need a 'struct cu *' argumentArnaldo Carvalho de Melo9-50/+42
2021-08-12core: Make variable->name a real stringArnaldo Carvalho de Melo5-9/+7
2021-08-12core: Make label->name a real stringArnaldo Carvalho de Melo3-6/+5
2021-08-12pahole: class_member_filter__new() doesn't need a 'struct cu *' argumentArnaldo Carvalho de Melo1-2/+2
2021-08-12pahole: class_member_filter__parse() doesn't need a 'struct cu *' argumentArnaldo Carvalho de Melo1-2/+2
2021-08-12pahole: tag__real_sizeof() doesn't need a 'struct cu *' argumentArnaldo Carvalho de Melo1-2/+2
2021-08-12pahole: Rename tag__fprintf_hexdump_value() to instance__fprintf_hexdump_value()Arnaldo Carvalho de Melo1-5/+5
2021-08-12pahole: enumerations__lookup_entry_from_value() doesn't need to return a CU a...Arnaldo Carvalho de Melo1-4/+2
2021-08-12pahole: enumeration__lookup_entry_from_value() doesn't need a 'cu' argumentArnaldo Carvalho de Melo1-2/+2
2021-08-12core: Ditch unused enumeration__prefix_len() methodArnaldo Carvalho de Melo2-11/+0
2021-08-12core: Ditch unused enumeration__prefix() methodArnaldo Carvalho de Melo2-9/+0
2021-08-12pahole: enumeration__lookup_value() doesn't need a 'cu' argumentArnaldo Carvalho de Melo1-2/+2
2021-08-12pahole: enumeration__lookup_enumerator() doesn't need a 'cu' argumentArnaldo Carvalho de Melo1-2/+2
2021-08-12core: enumeration__emit_definitions() doesn't need a 'cu' argumentArnaldo Carvalho de Melo1-7/+4
2021-08-12core: enumeration__fprintf() doesn't need a 'cu' argumentArnaldo Carvalho de Melo3-7/+6
2021-08-12core: Make enumeration__max_entry_name_len() staticArnaldo Carvalho de Melo2-2/+1
2021-08-12core: enumeration__max_entry_name_len() doesn't need a 'cu' argumentArnaldo Carvalho de Melo2-3/+3
2021-08-12core: Make enumeration__calc_prefix() staticArnaldo Carvalho de Melo2-2/+1
2021-08-12core: enumeration__calc_prefix doesn't need a 'cu' argumentArnaldo Carvalho de Melo2-5/+5
2021-08-12btf_encoder: btf_encoder__add_enum_type() doesn't need a 'cu' argument, ditch itArnaldo Carvalho de Melo1-2/+2
2021-08-12core: enumerator__name() doesn't need a 'cu' argument, ditch itArnaldo Carvalho de Melo5-9/+8
2021-08-12core: Ditch dwarves__active_loader, unusedArnaldo Carvalho de Melo2-12/+0
2021-08-12core: Make enumerator->name a real stringArnaldo Carvalho de Melo5-8/+8
2021-08-12emit: type__emit_fwd_decl() isn't used outside emit.c, make it staticArnaldo Carvalho de Melo2-2/+1
2021-08-12emit: type__emit_fwd_decl() doesn't need a cu argArnaldo Carvalho de Melo2-8/+4
2021-08-12emit: type_emissions__find_definition() doesn't need a cu argArnaldo Carvalho de Melo3-10/+7
2021-08-12core: class__name() doesn't need a cu argArnaldo Carvalho de Melo6-53/+41
2021-08-12core: type__name() doesn't need a cu argArnaldo Carvalho de Melo7-80/+60
2021-08-12core: Make namespace->name a real stringArnaldo Carvalho de Melo6-39/+30
2021-08-12core: Make class_member->name a real stringArnaldo Carvalho de Melo11-57/+52
2021-08-12core: Make parameter->name a real stringArnaldo Carvalho de Melo7-15/+12
2021-08-12core: Make base_type->name a real stringArnaldo Carvalho de Melo6-39/+27
2021-08-12pahole: Disable incomplete CTF encoderArnaldo Carvalho de Melo3-8/+9
2021-07-28core: Ditch unused cu__find_struct_by_sname()Arnaldo Carvalho de Melo2-35/+0
2021-07-28core: Convert cu__find_base_type_by_sname_and_size to search for a stringArnaldo Carvalho de Melo3-11/+8
2021-07-28core: Convert cu__find_enumeration_by_sname_and_size to search for a stringArnaldo Carvalho de Melo3-11/+7
2021-07-28dwarf_loader: Rename strings_t 'name' to 'sname' to clarify usageArnaldo Carvalho de Melo1-6/+7
2021-07-28core: Make function->name a real stringArnaldo Carvalho de Melo6-26/+13
2021-07-28core: Make function->linkage_name a real stringArnaldo Carvalho de Melo3-8/+6
2021-07-28dwarf_loader: Make dwarf_tag->decl_file a real stringArnaldo Carvalho de Melo1-11/+15
2021-07-28pahole: Allow specifying the number of threads to use while loading filesArnaldo Carvalho de Melo3-0/+18
2021-07-28pahole: Make '-j' available for use as number of jobs (threads)Arnaldo Carvalho de Melo2-4/+6
2021-07-28core: Protect cus->cus with a mutexArnaldo Carvalho de Melo3-17/+77
2021-07-28core: Make 'struct cus' opaque, only visible in dwarves.cArnaldo Carvalho de Melo2-4/+6
2021-07-28core: Introduce helper to return number of cu entries in a 'struct cus'Arnaldo Carvalho de Melo3-1/+7
2021-07-28core: Move cus__find_pair() from codiff to the coreArnaldo Carvalho de Melo3-8/+9
2021-07-28core: Introduce helper to return if there is no cu entries in a 'struct cus'Arnaldo Carvalho de Melo3-1/+7
2021-07-28core: Prepare cus__find_cu_by_name() for lockingArnaldo Carvalho de Melo1-2/+4
2021-07-28core: Prepare cus__find_function_at_addr() for lockingArnaldo Carvalho de Melo1-3/+5
2021-07-28core: Prepare __cus__find_struct_by_name() for lockingArnaldo Carvalho de Melo1-2/+3
2021-07-28core: Prepare cus__find_type_by_name() for lockingArnaldo Carvalho de Melo1-3/+4
2021-07-28core: Initialize cu->priv in cu__new()Arnaldo Carvalho de Melo1-0/+1
2021-07-27CMakeList.txt: Bump version to the upcoming 1.22 release, not out of the door...Arnaldo Carvalho de Melo1-2/+2
2021-06-16Revert "btf_encoder: Reduce the size of encode_cu() by moving function encodi...Arnaldo Carvalho de Melo1-51/+43
2021-06-15dwarf_loader: Separate non-LTO per CU processing + BTF encoding partArnaldo Carvalho de Melo1-46/+56
2021-06-15btf_encoder: Reduce the size of encode_cu() by moving function encoding to se...Arnaldo Carvalho de Melo1-43/+51
2021-06-15btf_encoder: Reduce the size of encode_cu() by moving var encoding to separat...Arnaldo Carvalho de Melo1-112/+121
2021-06-14btf_encoder: No need to set the endianness twice when encoding into an ELF fileArnaldo Carvalho de Melo1-12/+0
2021-06-14btf_encoder: Pass detached_filename to the constructorArnaldo Carvalho de Melo3-14/+17
2021-06-14btf_encoder: Adopt writing to raw file methodArnaldo Carvalho de Melo1-3/+3
2021-06-14btf_encoder: Rename btf__encode_in_elf to btf_encoder__write_elf, shortening ...Arnaldo Carvalho de Melo1-2/+4
2021-06-14btf_encoder: Combine btf__write_elf() with btf__encode_in_elf()Arnaldo Carvalho de Melo1-6/+1
2021-06-14btf_encoder: Move duplicate code to btf_encoder__encode()Arnaldo Carvalho de Melo1-18/+9