aboutsummaryrefslogtreecommitdiffstats
path: root/btf_encoder.c
AgeCommit message (Expand)AuthorFilesLines
2024-04-25btf_encoder: Fix DWARF int type with greater-than-16 byte issueYonghong Song1-1/+1
2024-03-01btf_encoder: Dynamically allocate the vars array for percpu variablesAlan Maguire1-9/+29
2023-10-25btf_encoder, pahole: Move BTF encoding options into 'struct conf_load'Alan Maguire1-4/+4
2023-03-13btf_encoder: Compare functions via prototypes not parameter namesAlan Maguire1-36/+31
2023-03-02dwarf_loader: Fix for BTF id drift caused by adding unspecified typesEduard Zingerman1-8/+0
2023-02-18btf_encoder: Exclude functions with unexpected param register use not optimiz...Alan Maguire1-7/+17
2023-02-09btf_encoder: Ensure ELF function representation is fully initializedAlan Maguire1-0/+2
2023-02-09btf_encoder: Support delaying function addition to check for function prototy...Alan Maguire1-9/+86
2023-02-09btf_encoder: Represent "."-suffixed functions (".isra.0") in BTFAlan Maguire1-7/+141
2023-02-09btf_encoder: Rework btf_encoders__*() API to allow traversal of encodersAlan Maguire1-8/+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
2022-10-11btf_encoder: Encode DW_TAG_unspecified_type returning routines as voidArnaldo Carvalho de Melo1-3/+30
2022-10-10btf_encoder: Store the CU being processed to avoid changing many functionsArnaldo Carvalho de Melo1-2/+9
2022-10-04btf_encoder: Add extra debug info for unsupported DWARF tagsArnaldo Carvalho de Melo1-2/+2
2022-08-26btf: Fix building with system libbpfArnaldo Carvalho de Melo1-2/+25
2022-07-12btf: Support BTF_KIND_ENUM64Yonghong Song1-17/+50
2022-05-17btf_encoder: Normalize array index type for parallel dwarf loading caseYonghong Song1-1/+2
2022-03-26btf_encoder: Collect info of per-cpu variables from threadsKui-Feng Lee1-0/+21
2022-01-28libbpf: Update libbpf to the latest git HEADKui-Feng Lee1-10/+10
2022-01-28pahole: Use per-thread btf instances to avoid mutex lockingKui-Feng Lee1-0/+5
2021-11-23btf_encoder: Support btf_type_tag attributeYonghong Song1-0/+7
2021-11-11btf_encoder: generate BTF_KIND_DECL_TAGs for typedef btf_decl_tag attributesYonghong Song1-3/+14
2021-10-27btf: Rename btf_tag to btf_decl_tagYonghong Song1-8/+8
2021-10-26btf_encoder: Fix handling of percpu symbols on s390Ilya Leoshkevich1-7/+14
2021-09-27btf_encoder: Generate BTF_KIND_TAG from llvm annotationsYonghong Song1-1/+62
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-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 Melo1-1/+1
2021-08-20dutil: elf_symtab__new() doesn't need the GElf_Ehdr *ep argumentArnaldo Carvalho de Melo1-1/+1
2021-08-20btf_encoder: Add methods to maintain a list of btf encodersArnaldo Carvalho de Melo1-0/+16
2021-08-12core: variable__name() doesn't need a 'cu' argArnaldo Carvalho de Melo1-1/+1
2021-08-12btf_encoder: Add missing bpf/btf.h includeArnaldo Carvalho de Melo1-0/+1
2021-08-12pahole: function__name() doesn't need a 'struct cu *' argumentArnaldo Carvalho de Melo1-3/+3
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 Melo1-1/+1
2021-08-12core: Ditch dwarves__active_loader, unusedArnaldo Carvalho de Melo1-4/+0
2021-08-12core: Make enumerator->name a real stringArnaldo Carvalho de Melo1-1/+1
2021-08-12core: type__name() doesn't need a cu argArnaldo Carvalho de Melo1-2/+2
2021-08-12core: Make namespace->name a real stringArnaldo Carvalho de Melo1-6/+4
2021-08-12core: Make class_member->name a real stringArnaldo Carvalho de Melo1-1/+1
2021-08-12core: Make parameter->name a real stringArnaldo Carvalho de Melo1-2/+2
2021-08-12core: Make base_type->name a real stringArnaldo Carvalho de Melo1-2/+4
2021-07-28core: Make function->name a real stringArnaldo Carvalho de Melo1-1/+1
2021-06-16Revert "btf_encoder: Reduce the size of encode_cu() by moving function encodi...Arnaldo Carvalho de Melo1-51/+43
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 Melo1-10/+13
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
2021-06-14btf_encoder: Pass the 'skip_encoding_vars' to the constructorArnaldo Carvalho de Melo1-3/+5
2021-06-14btf_encoder: No need to export the 'struct btf_definition', make it opaqueArnaldo Carvalho de Melo1-5/+41
2021-06-09libbpf: Allow to use packaged versionLuca Boccassi1-2/+2
2021-06-09btf_encoder: Move libbtf.c to btf_encoder.c, the only user of its functionsArnaldo Carvalho de Melo1-1/+547
2021-06-09btf_encoder: Move PERCPU_SECTION define to the only source file using itArnaldo Carvalho de Melo1-0/+2
2021-06-09btf_encoder: Move library global variable btf_gen_floats to btf_encoder classArnaldo Carvalho de Melo1-1/+2
2021-06-09btf_encoder: Ditch unused 'btf_encoder__verbose' global variableArnaldo Carvalho de Melo1-2/+0
2021-06-09btf_encoder: No need to pass encoder->percpu_secinfo to btf_encoder__add_data...Arnaldo Carvalho de Melo1-1/+1
2021-06-09btf_encoder: Make btf_encoder__add_var_secinfo() receive a btf_encoder pointerArnaldo Carvalho de Melo1-1/+1
2021-06-09btf_encoder: Adopt btf__encode_var_secinfo() as btf_encoder__add_var_secinfo()Arnaldo Carvalho de Melo1-1/+1
2021-06-09btf_encoder: Adopt btf__encode_datasec_type() as btf_encoder__add_datasec()Arnaldo Carvalho de Melo1-1/+1
2021-06-09btf_encoder: Adopt btf__encode_var_type() as btf_encoder__add_var()Arnaldo Carvalho de Melo1-1/+1
2021-06-09btf_encoder: Adopt btf__encode_enum_val() as btf_encoder__add_enum_val()Arnaldo Carvalho de Melo1-1/+1
2021-06-09btf_encoder: Adopt btf__encode_enum() as btf_encoder__add_enum()Arnaldo Carvalho de Melo1-1/+1
2021-06-09btf_encoder: Adopt btf__encode_enumeration_type() as btf_encoder__add_enum_ty...Arnaldo Carvalho de Melo1-5/+4
2021-06-09btf_encoder: Adopt btf__encode_func_proto() as btf_encoder__add_func_proto()Arnaldo Carvalho de Melo1-2/+2
2021-06-09btf_encoder: Adopt btf__encode_array() as btf_encoder__add_array()Arnaldo Carvalho de Melo1-1/+1
2021-06-09btf_encoder: Adopt btf__encode_struct() as btf_encoder__add_struct()Arnaldo Carvalho de Melo1-1/+1
2021-06-09btf_encoder: Adopt btf__encode_member() as btf_encoder__add_field()Arnaldo Carvalho de Melo1-1/+1
2021-06-09btf_encoder: Adopt btf__encode_struct_type() as btf_encoder__add_struct_type()Arnaldo Carvalho de Melo1-4/+4
2021-06-09btf_encoder: Adopt btf__encode_ref_type() as btf_encoder__add_ref_type()Arnaldo Carvalho de Melo1-7/+7
2021-06-09btf_encoder: Adopt btf__encode_base_type() as btf_encoder__add_base_type()Arnaldo Carvalho de Melo1-2/+2
2021-06-09btf_encoder: Use 'struct btf' directly, stop using btf_elfArnaldo Carvalho de Melo1-18/+17
2021-06-09libbtf: Remove unused ELF fields and calls from btf_elfArnaldo Carvalho de Melo1-1/+1
2021-06-08btf_encoder: Phagocytize percpu_secinfo from btf_elfArnaldo Carvalho de Melo1-4/+5
2021-06-08btf_encoder: Move the global btf_encoder to its users, like paholeArnaldo Carvalho de Melo1-2/+0
2021-06-08btf_encoder: Adopt the cu__encode_btf() method, as btf_encoder__encode_cu()Arnaldo Carvalho de Melo1-2/+2
2021-06-08btf_encoder: Set btf_encoder__verbose in just one place, its usersArnaldo Carvalho de Melo1-3/+1
2021-06-08btf_encoder: Move btf_elf__verbose var to btf_encoder classArnaldo Carvalho de Melo1-1/+3
2021-06-08btf_encoder: Adopt btf_elf__force, its only used in btf_encoder methodsArnaldo Carvalho de Melo1-6/+6
2021-06-08pahole: Adopt btf_encoder object instantiation from btf_encoderArnaldo Carvalho de Melo1-15/+1
2021-06-08btf_encoder: Move the function encode() to be a btf_encoder methodArnaldo Carvalho de Melo1-1/+1
2021-06-08btf_encoder: Temporarily expose the 'encoder' variableArnaldo Carvalho de Melo1-1/+1
2021-06-08btf_encoder: Move 'filename' member from btf_elf to btf_encoderArnaldo Carvalho de Melo1-4/+9
2021-06-04btf_encoder: No need for calling btf_encoder__encode() from cu__encode_btf()Arnaldo Carvalho de Melo1-13/+0
2021-06-04btf_encoder: Move btf_elf based encode_in_elf and write_elf methods to btf_en...Arnaldo Carvalho de Melo1-4/+143
2021-06-04btf_encoder: Move collect_symbols() call to btf_encoder constructorArnaldo Carvalho de Melo1-8/+9
2021-06-04btf_encoder: Remove needless hash.h include, not used anymoreArnaldo Carvalho de Melo1-1/+0
2021-06-04btf_encoder: Move global elf_functions table to the btf_encoder classArnaldo Carvalho de Melo1-29/+19
2021-06-04btf_encoder: Move ELF's ehdr from btf_elf to btf_encoderArnaldo Carvalho de Melo1-2/+30
2021-06-04btf_encoder: Move 'symtab' from btf_elf to btf_encoderArnaldo Carvalho de Melo1-7/+13
2021-06-04btf_encoder: Move percpu members from btf_elf to btf_encoderArnaldo Carvalho de Melo1-4/+18
2021-06-04btf_encoder: Add a 'verbose' member for encoder specific logging requestsArnaldo Carvalho de Melo1-9/+10
2021-06-04btf_encoder: Move 'array_index_id' global variable to 'struct btf_encoder'Arnaldo Carvalho de Melo1-9/+6
2021-06-04btf_encoder: Move percpu vars global variables to btf_encoder classArnaldo Carvalho de Melo1-27/+13
2021-06-04btf_encoder: Adopt collect_function() as a btf_encoder methodArnaldo Carvalho de Melo1-3/+3
2021-06-04btf_encoder: Adopt collect_per_cpu_var() as a btf_encoder methodArnaldo Carvalho de Melo1-3/+3
2021-06-04btf_encoder: Adopt collect_symbol() as a btf_encoder methodArnaldo Carvalho de Melo1-2/+3
2021-06-04btf_encoder: Move 'need_index_type' global variable to 'struct btf_encoder'Arnaldo Carvalho de Melo1-5/+3
2021-06-04btf_encoder: Make tag__encode_btf() its encode_tag() methodArnaldo Carvalho de Melo1-3/+5
2021-06-04btf_encoder: Move 'has_index_type' global variable to 'struct btf_encoder'Arnaldo Carvalho de Melo1-7/+7
2021-06-04btf_encoder: Introduce 'struct btf_encoder' to have all the current globalsArnaldo Carvalho de Melo1-30/+57
2021-06-04btf_encoder: Replace btfe with btf in tag__encode_btf()Arnaldo Carvalho de Melo1-13/+13
2021-06-04btf_encoder: Move encode_enumeration_type() from btf_elf to btfArnaldo Carvalho de Melo1-3/+2
2021-06-04btf_encoder: Move encode_struct_type() from btf_elf to btfArnaldo Carvalho de Melo1-4/+4
2021-06-04btf_encoder: Move add_datasec_type() from btf_elf to btf encode_datasec_type()Arnaldo Carvalho de Melo1-1/+1
2021-06-04btf_encoder: Move add_var_secinfo() from btf_elf to btf encode_var_secinfo()Arnaldo Carvalho de Melo1-1/+1
2021-06-04btf_encoder: Move add_var_type() from btf_elf to btf encode_var_type()Arnaldo Carvalho de Melo1-1/+1
2021-06-04btf_encoder: Move add_func_proto() from btf_elf to btf encode_func_proto()Arnaldo Carvalho de Melo1-2/+2
2021-06-04btf_encoder: Move add_enum() from btf_elf to btf encode_enum()Arnaldo Carvalho de Melo1-2/+3
2021-06-04btf_encoder: Move add_struct() from btf_elf to btf encode_struct()Arnaldo Carvalho de Melo1-1/+1
2021-06-04btf_encoder: Move add_array() from btf_elf to btf encode_array()Arnaldo Carvalho de Melo1-1/+1
2021-06-04btf_encoder: Move add_ref_type() from btf_elf to btf encode_ref_type()Arnaldo Carvalho de Melo1-7/+7
2021-06-04btf_encoder: Move add_member() from btf_elf to btf encode_member()Arnaldo Carvalho de Melo1-1/+1
2021-06-04btf_encoder: Move add_base_type() from btf_elf to btf encode_base_type()Arnaldo Carvalho de Melo1-2/+2
2021-06-04btf_encoder: Pass the base BTF object to the BTF encoderArnaldo Carvalho de Melo1-1/+1
2021-06-04pahole: Allow encoding BTF into a detached fileArnaldo Carvalho de Melo1-4/+60
2021-05-27btf_encoder: fix and complete filtering out zero-sized per-CPU variablesAndrii Nakryiko1-1/+9
2021-05-08btf: Remove ftrace filterMartin KaFai Lau1-278/+7
2021-02-17btf_encoder: Match ftrace addresses within ELF functionsJiri Olsa1-2/+38
2021-02-03Revert "libbpf: allow to use packaged version"Arnaldo Carvalho de Melo1-2/+2
2021-01-26bpf_encoder: Translate SHN_XINDEX in symbol's st_shndx valuesJiri Olsa1-16/+17
2021-01-21btf_encoder: Add extra checks for symbol namesJiri Olsa1-2/+11
2021-01-21libbpf: allow to use packaged versionLuca Boccassi1-2/+2
2020-12-14btf_encoder: fix skipping per-CPU variables at offset 0Andrii Nakryiko1-16/+24
2020-12-14btf_encoder: fix BTF variable generation for kernel modulesAndrii Nakryiko1-5/+16
2020-12-07dwarves: Fix compilation on 32-bit architecturesVitaly Chikunov1-4/+4
2020-12-07btf_encoder: Detect kernel module ftrace addressesJiri Olsa1-3/+97
2020-12-07btf_encoder: Use address size based on ELF's classJiri Olsa1-7/+17
2020-12-07btf_encoder: Factor filter_functions functionJiri Olsa1-20/+41
2020-11-17btf_encoder: Use better fallback messageJiri Olsa1-1/+1
2020-11-16btf_encoder: Move btf_elf__verbose/btf_elf__force setupJiri Olsa1-2/+3
2020-11-16btf_encoder: Fix function generationJiri Olsa1-24/+19
2020-11-16btf_encoder: Generate also .init functionsJiri Olsa1-41/+2
2020-11-11btf: Add support for split BTF loading and encodingAndrii Nakryiko1-1/+2
2020-11-11btf_encoder: Fix array index type numberingAndrii Nakryiko1-6/+6
2020-11-09btf_encoder: Change functions check due to broken dwarfJiri Olsa1-3/+267
2020-11-09btf_encoder: Move find_all_percpu_vars in generic collect_symbolsJiri Olsa1-57/+67
2020-10-27btf_encoder: Check var type after checking var addr.Hao Luo1-4/+5
2020-10-23btf_encoder: Ignore zero-sized ELF symbolsAndrii Nakryiko1-8/+4
2020-10-09btf_encoder: revamp how per-CPU variables are encodedAndrii Nakryiko1-102/+146
2020-10-09btf_encoder: Fix emitting __ARRAY_SIZE_TYPE__ as index range typeAndrii Nakryiko1-9/+21
2020-10-09btf_encoder: Use libbpf APIs to encode BTF type infoAndrii Nakryiko1-53/+43
2020-10-01btf_encoder: Handle DW_TAG_variable that has DW_AT_specificationHao Luo1-3/+13
2020-09-21btf_encoder: Allow disabling BTF var encoding.Hao Luo1-1/+4
2020-08-05btf_encoder: Teach pahole to store percpu variables in vmlinux BTF.Hao Luo1-1/+186
2019-11-05btf_encoder: Preserve and encode exported functions as BTF_KIND_FUNCAndrii Nakryiko1-0/+16
2019-03-29dwarf_loader: Use DWARF recommended uniform bit offset schemeAndrii Nakryiko1-24/+5
2019-03-11dwarves: Introduce type_id_t for use with the type IDsArnaldo Carvalho de Melo1-2/+2
2019-02-26btf_encoder: Don't special case packed enumsAndrii Nakryiko1-9/+0
2019-02-14btf_elf: Rename btf_elf__free() to btf_elf__delete()Arnaldo Carvalho de Melo1-2/+2
2019-02-14btf: Rename 'struct btf' to 'struct btf_elf'Arnaldo Carvalho de Melo1-51/+36
2019-02-11pahole: use btf.h directly from libbpfAndrii Nakryiko1-1/+1
2019-01-18Fixup copyright notices for BTF files authored by Facebook engineersMartin Lau1-1/+6
2019-01-18Adopt SPDX-License-IdentifierDomenico Andreoli1-0/+6
2018-12-20btf: add func_proto supportYonghong Song1-4/+1
2018-12-20btf: fix struct/union/fwd types with kind_flagYonghong Song1-7/+30
2018-12-20btf: Allow multiple cu's in dwarf->btf conversionAndrii Nakryiko1-35/+71
2018-12-03btf: Generate correct struct bitfield member typesYonghong Song1-0/+9
2018-09-17btf: Fix bitfield encodingYonghong Song1-2/+27
2018-07-25btf: Add BTF supportMartin KaFai Lau1-0/+174