pahole: Prep 1.22
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
This commit is contained in:
parent
40a40df961
commit
f02af2553e
1
MANIFEST
1
MANIFEST
@ -50,6 +50,7 @@ changes-v1.18
|
||||
changes-v1.19
|
||||
changes-v1.20
|
||||
changes-v1.21
|
||||
changes-v1.22
|
||||
buildcmd.sh
|
||||
COPYING
|
||||
NEWS
|
||||
|
368
NEWS
368
NEWS
@ -1,3 +1,371 @@
|
||||
v1.22:
|
||||
|
||||
Mon Aug 23 2021
|
||||
|
||||
40a40df961e74aac core: Bump the chunk size for ptr_table uses in types, tags, functions tables
|
||||
9f0809e6a8e790a1 pahole: Introduce --ptr_table_stats
|
||||
f035871495435e58 core: Add CU stats printer
|
||||
c59e996c97eb5569 pahole: Fix races in accessing type information in live CUs
|
||||
c34b6c6cc96b9669 pahole: Add missing limits.h include to get ULLONG_MAX definition
|
||||
5e8ad60d1f33bed6 CMakeList.txt: Look for obstack outside libc
|
||||
739bc50b90694ffe cmake: Add a module to find if obstack is in a separate library
|
||||
5244b47a883bee96 CMakeList.txt: Look for argp outside libc
|
||||
3f70d31571d47c64 cmake: Add a module to find if argp is in a separate library
|
||||
9f9588dc2bd8c955 fprintf: Add alternative method for reading the data cacheline size
|
||||
71867afd666f2945 core: Include missing limits.h to get PATH_MAX definition
|
||||
0d8d457fa325fb07 dutil: Include linux/stddef.h to build on Alpine Linux systems
|
||||
bb02fec203463b9f README.tarball: Overcome --transform problem with symlinks
|
||||
9fed416b380a7a17 MANIFEST: Add lib/include/bpf
|
||||
cb1cf166769a169e spec: Remove deleted libbtf.h from the RPM file list
|
||||
d0c3dd18c7d81cff README.tarball: Remove hardcoded version, get it from 'git tag'
|
||||
b5140d5e6c8cade8 MANIFEST: Remove long gone strings header files
|
||||
02fd228f6af7b04e MANIFEST: Add buildcmd.sh
|
||||
06e41eccc2d19263 buildcmd.sh: Add single build script for use in CI
|
||||
eba3e874add53187 pahole: Consider type members's names when comparing unions, structs
|
||||
f61d458c9126467e pahole: Consider type members's types when comparing unions, structs
|
||||
589a298829760a14 core: Introduce helpers for getting the first and next members of a type
|
||||
815041d6dc4d62bf pahole: Improve the type sorting routine to consider multiple types with same name
|
||||
93e26698693aca95 core: Remove extra ; in 'print_numeric_version' extern declaration
|
||||
19798784d7a715d0 btf_loader: Mark the 'level' arg to the libbpf error callback as __maybe_unused
|
||||
22763a8fc7ee5f79 btf_loader: Mark create_new_datasec() args as __maybe_unused
|
||||
38df86db2b65dd43 dwarf_loader: cus__load_debug_types() doesn't use its 'cus' arg, remove it
|
||||
16d646c07e98d66c dwarf_loader: Rename finalize_cu_immediately() to cus__finalize() to follow convention
|
||||
90599e6177f20696 dwarf_loader: Remove unused 'dcu' argument from finalize_cu_immediately()
|
||||
6fd4377a0db1e8d3 dwarf_loader: Remove unused 'dcus' argument from cu__finalize()
|
||||
2bb04ecf79880a97 dwarf_loader: Remove unused 'cus' argument from finalize_cu()
|
||||
9ada372a21d0abc2 dwarf_loader: Fix signed/unsigned comparision in tag__recode_dwarf_bitfield()
|
||||
e4e9267c3a177ffa core: cus__fprintf_load_files_err() doesn't use its 'cus' argument
|
||||
df92cb6b8e0f1577 core: Change last_seen_bit to uint32_t in class__find_holes()
|
||||
789d8b3e1a7210d1 core: Change aligned_start to uint32_t in class__find_holes()
|
||||
182cdcaed9055c76 core: Change cur_bitfield_end to uint32_t in class__find_holes()
|
||||
5900f43f10844971 core: Change bit_start and bit_end to uint32_t in class__find_holes()
|
||||
8634d8535f3fb25d btf_encoder: Fix signed/unsigned comparision
|
||||
8d2efa2b6c147c37 btf_encoder: has_arg_names() doesn't need the 'cu' pointer
|
||||
05f737076f81eab9 btf_encoder: btf_encoder__encode_tag() doesn't need the 'core_id' pointer
|
||||
dc30e82b26dc98ef btf_encoder: btf_encoder__encode_tag() doesn't need the 'cu' pointer
|
||||
4360359e434b41db btf_encoder: btf_encoder__add_struct_type() doesn't need the 'cu' pointer
|
||||
6e1e4881a584ca54 btf_encoder: btf_encoder__add_func_proto() doesn't need the 'cu' pointer
|
||||
9fbfcee7d9708876 btf_encoder: No need to read the ehdr in btf_encoder__write_elf(), ditch it
|
||||
898cc490279c794b ctracer: No need to read the ehdr, ditch it
|
||||
dee83e27dd69cb98 btf_encoder: No need to store the ehdr in the instance
|
||||
24404190b80aa6bf elf_symtab: Remove needless GElf_Ehdr pointer argument from the constructor
|
||||
74c2078e04755b6a dutil: elf_symtab__new() doesn't need the GElf_Ehdr *ep argument
|
||||
23ea62817c3c9d1d pahole: Move case fallthru comment to after the statement
|
||||
7a8e75cd9a99f618 elfcreator: elfcreator_copy_scn() doesn't need the 'elf' arg
|
||||
3925a5bd53d68edc syscse: zero_extend() doesn't need a 'cu' arg
|
||||
21b2933f018a954d pahole: Fix signedness of ternary expression operator
|
||||
4e11c13895556982 ctracer: Remove a bunch of unused 'cu' pointers
|
||||
54c1e93b8eada3db pahole: Use the 'prototypes' parameter in prototypes__load()
|
||||
8b495918e6b52c4c codiff: class__find_pair_member() doesn't need 'cu' args
|
||||
057be3d9936f78d9 core: class__find_member_by_name() doesn't need a cu pointer
|
||||
ce9de90364d0fe98 core: Document type->node member usage
|
||||
cead526d6b96e1d7 core: Fix nnr_members typo on 'struct type' comment docs
|
||||
7cfc9be1f27876f4 man-pages: Improve the --nr_methods/-m pahole man page entry
|
||||
3895127ce674cfb6 pahole: Clarify that currently --nr_methods doesn't work together witn -C
|
||||
2ea46285aca0c639 pahole: No need to store the class name in 'struct structure'
|
||||
4d8551396df5ce5a pahole: Multithreaded DWARF loading requires elfutils >= 0.178
|
||||
e57e23c72a7c0446 btf_encoder: Add methods to maintain a list of btf encoders
|
||||
e9b83dba79a87935 list: Adopt list_next_entry() from the Linux kernel
|
||||
6edae3e768e6bc0d dwarf_loader: Make hash table size default to 12, faster than 15
|
||||
d2d83be1e2124785 pahole: Allow tweaking the size of the loader hash tables
|
||||
ff7bd7083f36db80 core: Allow sizing the loader hash table
|
||||
3068ff36b7ff943d hash: Remove unused hash_32(), hash_ptr()
|
||||
8eebf70d05d881cf dwarf_loader: Use a per-CU frontend cache for the latest lookup result
|
||||
a2f1e698487b783c core: Use obstacks: take 2
|
||||
dca86fb8c2220f9a dwarf_loader: Add comment on why we can't ignore lexblocks
|
||||
9d0a7ee0c38ebac5 pahole: Ignore DW_TAG_label when encoding BTF
|
||||
d40c5f1e20795938 core: Allow ignoring DW_TAG_label
|
||||
51ba83192979916e pahole: Ignore DW_TAG_inline_expansion when encoding BTF
|
||||
903863889131a7fa core: Allow ignoring DW_TAG_inline_expansion
|
||||
20757745f04ace54 pahole: Allow encoding BTF with parallel DWARF loading
|
||||
5a85d9a450819500 core: Zero out unused entries when extending ptr_table array in ptr_table__add()
|
||||
d133569bd0f0b422 pahole: No need to read DW_AT_alignment when encoding BTF
|
||||
21a41e5386938db1 dwarf_loader: Allow asking not to read the DW_AT_alignment attribute
|
||||
1ef1639039b56005 dwarf_loader: Do not look for non-C DWARF attributes in C CUs
|
||||
88265eab35666f34 core: Add cu__is_c() to check if the CU language is C
|
||||
1caed1c443d4a0dc dwarf_loader: Add a lock around dwarf_decl_file() and dwarf_decl_line() calls
|
||||
dd13708f2fd7557b btfdiff: Use multithreaded DWARF loading
|
||||
f95f7838499f94c3 btfdiff: Use --sort for pretty printing from both BTF and DWARF
|
||||
3e1c7a20770ec432 pahole: Introduce --sort
|
||||
967290bc7176e3c2 pahole: Store the class id in 'struct structure' as well
|
||||
2b45e1b6d04b147c dwarf_loader: Defer freeing libdw Dwfl handler
|
||||
35845e7e41872158 core: Provide a way to store per loader info in cus and an exit function
|
||||
5365c45177643f35 pahole: Keep class + cu in tree of structures
|
||||
fb99cad539e58638 dwarf_loader: Parallel DWARF loading
|
||||
75d4748861ad98cf pahole: Disable parallell BTF encoding for now
|
||||
1c60f71daacbe4d0 pahole: Add locking for the structures list and rbtree
|
||||
46ad8c01585df768 dwarf_loader: Introduce 'dwarf_cus' to group all the DWARF specific per-cus state
|
||||
d963af9fd8148ba0 dwarf_loader: Factor common bits for creating and processing CU
|
||||
0c5bf70cc1259162 fprintf: class__vtable_fprintf() doesn't need a 'cu' arg
|
||||
38ff86b149e1aa9a fprintf: string_type__fprintf() doesn't need a 'cu' arg
|
||||
a75c342ac2fc6c54 core: Ditch tag__free_orig_info(), unused
|
||||
80fe32fd294ac15e core: variable__name() doesn't need a 'cu' arg
|
||||
caa219dffcb41422 core: base_type__name() doesn't need a 'cu' arg
|
||||
7569e46d3515f93e core: namespace__delete() doesn't need a 'cu' arg
|
||||
de4e8b7f178257d5 core: {tag,function,lexblock}__delete() doesn't need a 'cu' arg
|
||||
789ed4e3a2c34b54 core: ftype__delete() doesn't need a 'cu' arg
|
||||
6340cb462767aa95 core: enumeration__delete() doesn't need a 'cu' arg
|
||||
33e44f5295702d95 core: type__delete() doesn't need a 'cu' arg
|
||||
0f54ca9c827e9ef7 core: class__clone() doesn't need a 'cu' arg
|
||||
2b2014187b811243 core: class__delete() doesn't need a 'cu' arg
|
||||
f40900eba656db3b core: type__delete_class_members() doesn't need a 'cu' arg
|
||||
50916756d59ad7f9 core: class_member__delete() doesn't need a 'cu' arg
|
||||
2e50463c3aa149d3 core: type__clone_members() doesn't need a 'cu' arg
|
||||
a66208355ea8108c core: class_member__clone() doesn't need a 'cu' arg
|
||||
33e0d5f874dc22c4 pahole: Introduce --prettify option
|
||||
bc36e94f32e662aa pahole: Try harder to resolve the --header type when pretty printing
|
||||
fcfa2141c375849b pahole: Make prototype__stdio_fprintf_value() receive a FILE to read raw data from
|
||||
1a65d232b040fae6 man-page: Move the PRETTY PRINTING header earlier
|
||||
2d35630fa55de2bc pahole: Make pipe_seek() honour the 'fp' arg instead of hardcoding stdin
|
||||
9aa01472d9655e1b pahole: Rename 'fp' to 'output' in prototype__stdio_fprintf_value()
|
||||
472b94018055873d pahole: Use the supplied 'fp' argument in type__instance_read_once()
|
||||
63992cb02a69485b core: Use namespace->name in class__clone()
|
||||
ced4c34c37acd185 core: Remove strings.c, unused
|
||||
adbb66c2957d9eef ctf_loader: Use uint32_t instead of strings_t, that is going away
|
||||
ad707445b3fcaf11 core: Remove base_type_name_to_size_table.sname, unused
|
||||
f8d571934b96ea35 pahole: Add missing bpf/btf.h include
|
||||
deb6a4a4921b33ec libctf: Comment out unused CTF encoding functions
|
||||
82155bc92f726c43 btf_loader: Add missing bpf/btf.h include
|
||||
05f1f9dece4ed54d btf_encoder: Add missing bpf/btf.h include
|
||||
f4a77d03909c1cf8 pahole: Use conf_load.kabi_prefix
|
||||
2b9bd83e63bacb59 dwarf_loader: Make attr_suffix() handle kabi_prefix
|
||||
daaafeb35f168fd1 dwarf_loader: Pass conf_load to functions calling attr_string()
|
||||
def39099c1920346 ctf_loader: No need for the 'strings' extern, not used
|
||||
2499920ac8d88b82 btf_loader: No need for the 'strings' extern, not used
|
||||
a388aaf489f945d4 dwarf_loader: Remove unused strings variable and debug_fmt_ops->{init,exit}()
|
||||
3d3b7b3287617b8f core: Remove unused debug_fmt_ops->dwarf__strings_ptr()
|
||||
05687c547e9f22e8 core: Remove unused cu__string() method
|
||||
a201149e181be613 dwarf_loader: No need to strdup() what dwarf_formstring() returns
|
||||
6b7f1b72f9a958e4 core: No need for debug_fmt_ops->variable_name() anymore
|
||||
9d0e3ab9a29c2e81 pahole: function__name() doesn't need a 'struct cu *' argument
|
||||
a7d789a4f841b0ea core: Make variable->name a real string
|
||||
b5694280ec5b1f1f core: Make label->name a real string
|
||||
e974d1b2404154ea pahole: class_member_filter__new() doesn't need a 'struct cu *' argument
|
||||
0275e8d24975c531 pahole: class_member_filter__parse() doesn't need a 'struct cu *' argument
|
||||
90183e8e4da43785 pahole: tag__real_sizeof() doesn't need a 'struct cu *' argument
|
||||
5cb91927385d7b75 pahole: Rename tag__fprintf_hexdump_value() to instance__fprintf_hexdump_value()
|
||||
75c769a900185faf pahole: enumerations__lookup_entry_from_value() doesn't need to return a CU anymore
|
||||
1edca2655284d968 pahole: enumeration__lookup_entry_from_value() doesn't need a 'cu' argument
|
||||
f8d98eff756bf406 core: Ditch unused enumeration__prefix_len() method
|
||||
5cc365164a4cba46 core: Ditch unused enumeration__prefix() method
|
||||
e18c60d793935ab6 pahole: enumeration__lookup_value() doesn't need a 'cu' argument
|
||||
4b877c8e6762c42f pahole: enumeration__lookup_enumerator() doesn't need a 'cu' argument
|
||||
3ff11828fee01a91 core: enumeration__emit_definitions() doesn't need a 'cu' argument
|
||||
0947d6e7954d752d core: enumeration__fprintf() doesn't need a 'cu' argument
|
||||
bb22f5bb0a137342 core: Make enumeration__max_entry_name_len() static
|
||||
dc83336171d1157c core: enumeration__max_entry_name_len() doesn't need a 'cu' argument
|
||||
ec1667c76db61e2f core: Make enumeration__calc_prefix() static
|
||||
45ec63ed20a56557 core: enumeration__calc_prefix doesn't need a 'cu' argument
|
||||
2fae84e2f79726fb btf_encoder: btf_encoder__add_enum_type() doesn't need a 'cu' argument, ditch it
|
||||
96243fdd79c5c45d core: enumerator__name() doesn't need a 'cu' argument, ditch it
|
||||
ee5c12893b2e8aa8 core: Ditch dwarves__active_loader, unused
|
||||
713239bc008910ff core: Make enumerator->name a real string
|
||||
7721cc17aca7020d emit: type__emit_fwd_decl() isn't used outside emit.c, make it static
|
||||
9aa5db7acd420d55 emit: type__emit_fwd_decl() doesn't need a cu arg
|
||||
c46f91ef6f9cd0a1 emit: type_emissions__find_definition() doesn't need a cu arg
|
||||
c127d25daf88c1a2 core: class__name() doesn't need a cu arg
|
||||
00e8c5fe216755d6 core: type__name() doesn't need a cu arg
|
||||
b99c4008acca8794 core: Make namespace->name a real string
|
||||
379a73c6eb4633d4 core: Make class_member->name a real string
|
||||
3280cb41768a7130 core: Make parameter->name a real string
|
||||
f009162fd133d155 core: Make base_type->name a real string
|
||||
e2ee753fa74ca570 pahole: Disable incomplete CTF encoder
|
||||
0d13bc50ee8dbdf8 core: Ditch unused cu__find_struct_by_sname()
|
||||
46f3f372416d7f9f core: Convert cu__find_base_type_by_sname_and_size to search for a string
|
||||
f84e8777eada296a core: Convert cu__find_enumeration_by_sname_and_size to search for a string
|
||||
a16c82f7110467b7 dwarf_loader: Rename strings_t 'name' to 'sname' to clarify usage
|
||||
82e5b5101a6adf73 core: Make function->name a real string
|
||||
4f73cac85321bd5b core: Make function->linkage_name a real string
|
||||
a93160df5335ed2e dwarf_loader: Make dwarf_tag->decl_file a real string
|
||||
a3fcbcacf79787d6 pahole: Allow specifying the number of threads to use while loading files
|
||||
d70b2562ee5d90f2 pahole: Make '-j' available for use as number of jobs (threads)
|
||||
41a283c65d300945 core: Protect cus->cus with a mutex
|
||||
972065482a7f714d core: Make 'struct cus' opaque, only visible in dwarves.c
|
||||
3895b29060fdc21e core: Introduce helper to return number of cu entries in a 'struct cus'
|
||||
874e750fb8bddcad core: Move cus__find_pair() from codiff to the core
|
||||
bf74fc1fcf1ab78e core: Introduce helper to return if there is no cu entries in a 'struct cus'
|
||||
7020f9214328ac8d core: Prepare cus__find_cu_by_name() for locking
|
||||
4bf7285b37108222 core: Prepare cus__find_function_at_addr() for locking
|
||||
73a2fd1e5a70c7f2 core: Prepare __cus__find_struct_by_name() for locking
|
||||
5020bf721b204673 core: Prepare cus__find_type_by_name() for locking
|
||||
d124926baf2366a2 core: Initialize cu->priv in cu__new()
|
||||
3ec54ee72ff7c5b1 CMakeList.txt: Bump version to the upcoming 1.22 release, not out of the door yet
|
||||
1ef87b26fd268b52 Revert "btf_encoder: Reduce the size of encode_cu() by moving function encoding to separate method"
|
||||
7869cc113b0b5a3d dwarf_loader: Separate non-LTO per CU processing + BTF encoding part
|
||||
de3a7f912559433c btf_encoder: Reduce the size of encode_cu() by moving function encoding to separate method
|
||||
d348b37ed16249e0 btf_encoder: Reduce the size of encode_cu() by moving var encoding to separate method
|
||||
f62196d3be5a8765 btf_encoder: No need to set the endianness twice when encoding into an ELF file
|
||||
819f83bd9736b9c8 btf_encoder: Pass detached_filename to the constructor
|
||||
7ed4ddc46826538e btf_encoder: Adopt writing to raw file method
|
||||
1498094d335f697a btf_encoder: Rename btf__encode_in_elf to btf_encoder__write_elf, shortening function signature
|
||||
cd2b8978c43ea00a btf_encoder: Combine btf__write_elf() with btf__encode_in_elf()
|
||||
18a3e9711ccc6887 btf_encoder: Move duplicate code to btf_encoder__encode()
|
||||
9eb3d7a29de32bf4 btf_encoder: Pass the 'skip_encoding_vars' to the constructor
|
||||
707101ec38d76958 btf_encoder: No need to export the 'struct btf_definition', make it opaque
|
||||
f1feaa94c7a92e5c libbpf: bump dependency to >= 0.4.0
|
||||
1b50808c2958dde3 libbpf: If LIBBPF_EMBEDDED=OFF and libbpf-dev/pkgconfig is not available, fail the build
|
||||
790dfbda79444d11 headers: Rebame __unused to __maybe_unused to avoid clashes with system headers
|
||||
82756ea3eaf1f6e7 libbpf: Fixup patch to allow to use packaged version
|
||||
ba953a53be25765e README: Add documentation for -DBUILD_SHARED_LIBS
|
||||
aa2027708659f172 CMakeLists.txt: Enable SHARED and STATIC lib creation
|
||||
ae2581647e849488 libbpf: Allow to use packaged version
|
||||
743f2536d8b876a4 btf_encoder: Move libbtf.c to btf_encoder.c, the only user of its functions
|
||||
6f72dddbed0e1bf8 btf_encoder: Move PERCPU_SECTION define to the only source file using it
|
||||
f0f5b4f2bc34b029 btf_encoder: Move library global variable btf_gen_floats to btf_encoder class
|
||||
09970b03bd309d83 btf_encoder: Ditch unused 'btf_encoder__verbose' global variable
|
||||
1bf2e3511a1386c4 btf_encoder: Use encoder->verbose instead of btf_encoder__verbose
|
||||
4ffa484b6a04530b btf_encoder: Adopt btf__log_func_param() and use encoder->verbose
|
||||
729da7613b399f9c btf_encoder: Adopt btf__log_member() and use encoder->verbose
|
||||
be75b76b6b9e479f btf_encoder: Adopt btf__log_type() and use encoder->verbose
|
||||
9f19e96001f72c49 btf_encoder: No need to pass encoder->percpu_secinfo to btf_encoder__add_datasec()
|
||||
869c177f8e13ce12 btf_encoder: Make btf_encoder__add_var_secinfo() receive a btf_encoder pointer
|
||||
f0e8cd68f5dcb20b btf_encoder: Adopt btf__encode_var_secinfo() as btf_encoder__add_var_secinfo()
|
||||
cc646d93d18270e9 btf_encoder: Adopt btf__encode_datasec_type() as btf_encoder__add_datasec()
|
||||
b0f71fabdeee329b btf_encoder: Adopt btf__encode_var_type() as btf_encoder__add_var()
|
||||
1aece1e7e6d593db btf_encoder: Adopt btf__encode_enum_val() as btf_encoder__add_enum_val()
|
||||
4371b3cd5b9b18e6 btf_encoder: Adopt btf__encode_enum() as btf_encoder__add_enum()
|
||||
b536947512efcb7e btf_encoder: Adopt btf__encode_enumeration_type() as btf_encoder__add_enum_type()
|
||||
1bc29591ec010fa8 btf_encoder: Adopt btf__encode_func_proto_param() as btf_encoder__add_func_param()
|
||||
393febe592e94f4a btf_encoder: Adopt btf__encode_func_proto() as btf_encoder__add_func_proto()
|
||||
4eb4c03578b29791 btf_encoder: Adopt btf__encode_array() as btf_encoder__add_array()
|
||||
06cd9f00c69d11bd btf_encoder: Adopt btf__encode_struct() as btf_encoder__add_struct()
|
||||
0b29d5a65ccef5f6 btf_encoder: Adopt btf__encode_member() as btf_encoder__add_field()
|
||||
3e2a1f7ddc930d3c btf_encoder: Adopt btf__encode_struct_type() as btf_encoder__add_struct_type()
|
||||
2c7a2f270ef7bcea btf_encoder: Adopt btf__encode_ref_type() as btf_encoder__add_ref_type()
|
||||
07d4ec9cef0c1619 btf_encoder: Adopt btf__encode_float_type() as btf_encoder__add_float()
|
||||
68ed8af85908e432 btf_encoder: Adopt btf__encode_base_type() as btf_encoder__add_base_type()
|
||||
14ab2e036147b6bc libbtf: Ditch unused btf_elf__verbose_log() macro
|
||||
539c94fee9315254 libbtf: Ditch btf_elf class, unused
|
||||
282a8a2187bde9bd btf_encoder: Use 'struct btf' directly, stop using btf_elf
|
||||
dd0b01f56837794e libbtf: Remove unused ELF fields and calls from btf_elf
|
||||
a0c5f49b0c405b1b btf_encoder: Phagocytize percpu_secinfo from btf_elf
|
||||
c288e29d06c380b5 pahole: Rename 'encoder' to 'btf_encoder' as we support multiple formats
|
||||
46a3e3a87a8963ca btf_encoder: Move the global btf_encoder to its users, like pahole
|
||||
fa849010b4565015 btf_encoder: Adopt the cu__encode_btf() method, as btf_encoder__encode_cu()
|
||||
3be437c5e7d2777e btf_encoder: Set btf_encoder__verbose in just one place, its users
|
||||
e1e787af4496b51f btf_encoder: Move btf_elf__verbose var to btf_encoder class
|
||||
66f4054252ab996e btf_encoder: Adopt btf_elf__force, its only used in btf_encoder methods
|
||||
5e1207754eb67249 pahole: Adopt btf_encoder object instantiation from btf_encoder
|
||||
0208952e8ffcfdc3 btf_encoder: Move the function encode() to be a btf_encoder method
|
||||
bcc5f95364da96bb btf_encoder: Temporarily expose the 'encoder' variable
|
||||
e27be59f10c7c6e3 btf_encoder: Move 'filename' member from btf_elf to btf_encoder
|
||||
da9d70a16ff01492 btfdiff: Support diffing DWARF vs detached BTF
|
||||
6bc135c8f49696a9 btf_encoder: No need for calling btf_encoder__encode() from cu__encode_btf()
|
||||
48a0fa2ef7b546a3 btf_encoder: Move btf_elf based encode_in_elf and write_elf methods to btf_encoder
|
||||
cc8eae604dc07b5e btf_encoder: Move collect_symbols() call to btf_encoder constructor
|
||||
96e59c55686bccaf btf_encoder: Remove needless hash.h include, not used anymore
|
||||
92f8852d8d178966 btf_encoder: Move global elf_functions table to the btf_encoder class
|
||||
aa48ed55a790c2d5 btf_encoder: Move ELF's ehdr from btf_elf to btf_encoder
|
||||
b3701a8346a6ea71 btf_encoder: Move 'symtab' from btf_elf to btf_encoder
|
||||
be8dac48691f6578 btf_encoder: Move percpu members from btf_elf to btf_encoder
|
||||
7f70877b198200ac btf_encoder: Add a 'verbose' member for encoder specific logging requests
|
||||
ef8a48b3bc7cda1f btf_encoder: Move 'array_index_id' global variable to 'struct btf_encoder'
|
||||
f3e6edffd7210265 btf_encoder: Move percpu vars global variables to btf_encoder class
|
||||
14053c490bf68a49 btf_encoder: Adopt collect_function() as a btf_encoder method
|
||||
049675f4a5401ac2 btf_encoder: Adopt collect_per_cpu_var() as a btf_encoder method
|
||||
21b5e9b368228502 btf_encoder: Adopt collect_symbol() as a btf_encoder method
|
||||
e40bc12ddf42b4a8 btf_encoder: Move 'need_index_type' global variable to 'struct btf_encoder'
|
||||
cccfeec3c7d68f89 btf_encoder: Make tag__encode_btf() its encode_tag() method
|
||||
65b3c598ab24a14a btf_encoder: Move 'has_index_type' global variable to 'struct btf_encoder'
|
||||
a5c732e712564798 btf_encoder: Introduce 'struct btf_encoder' to have all the current globals
|
||||
bd4e585d81a35862 btf_encoder: Replace btfe with btf in tag__encode_btf()
|
||||
de2676159d8472b7 btf_encoder: Move encode_enumeration_type() from btf_elf to btf
|
||||
80dec71c934fc96a btf_encoder: Move encode_struct_type() from btf_elf to btf
|
||||
6d7790a5d4fc68a4 btf_encoder: Move add_datasec_type() from btf_elf to btf encode_datasec_type()
|
||||
12d340c321e31564 btf_encoder: Move add_var_secinfo() from btf_elf to btf encode_var_secinfo()
|
||||
d90b38c1f3ca9171 btf_encoder: Move add_var_type() from btf_elf to btf encode_var_type()
|
||||
bce82c1a00a9beee btf_encoder: Move add_func_proto() from btf_elf to btf encode_func_proto()
|
||||
188f25b74130d131 btf_encoder: Move add_enum() from btf_elf to btf encode_enum()
|
||||
f82bd80a5c175425 btf_encoder: Move add_struct() from btf_elf to btf encode_struct()
|
||||
1216aebd27ecd4e6 btf_encoder: Move add_array() from btf_elf to btf encode_array()
|
||||
a96c91261e731602 btf_encoder: Move add_ref_type() from btf_elf to btf encode_ref_type()
|
||||
a97ed8080a354487 btf_encoder: Move add_member() from btf_elf to btf encode_member()
|
||||
56e0c2d4ccc7a9bd btf_encoder: Move add_base_type() from btf_elf to btf encode_base_type()
|
||||
adeeb9ebcf7ef8bd btf_encoder: Move add_float_type() from btf_elf to btf encode_float_type()
|
||||
37d3b8a1cedac677 btf_encoder: bpf__log_func_param() doesn't need the btfe arg
|
||||
64d216f57e7a229f btf_encoder: Move log_member() from btf_elf to btf
|
||||
20bb260428c0a1ad btf_encoder: Move log_type() from btf_elf to btf
|
||||
16d026ce5db765c9 btf_encoder: Move log_err() from btf_elf to btf
|
||||
c5f594eaa9b5ab8c btf_encoder: Remove 'elf' from btf_elf__int_encoding_str() name
|
||||
c81d11b8bb80bed1 btf_elf: Remove base_btf member, used only in the constructor
|
||||
69f5fff50e442cad btf_elf: No point in falling back to raw BTF in btf_new()
|
||||
3fcf804a7e69aa4f btf_elf: No point in looking at the filename for /sys/kernel/btf in btf_elf__new()
|
||||
c9eb447502b771c5 libbtf: Ditch unused btf_elf__string() method
|
||||
a355a245fb48b05f libbtf: Remove unused btf_elf__load()
|
||||
3de65d433ab18301 btf_encoder: Move printable_name() from btfe to btf
|
||||
7fb31d787d3deec1 btf_loader: Stop using libbtf.h and the btf_elf class
|
||||
e431c18b80650545 btf_loader: cu__fixup_btf_bitfields doesn'n need btfe parameter, ditch it
|
||||
8c1919c10df8a79f btf_loader: class__fixup_btf_bitfields doesn'n need btfe parameter, ditch it
|
||||
4d2ae0d9049e47c5 btf_elf: Remove unused btfe->priv member
|
||||
b54b74edfcd0dc8c btf_loader: Add a local 'btf' var to prep next patches
|
||||
52bedef0fddaa227 btf_loader: Move load_sections() from btf_elf to btf
|
||||
ac3f2952a854fccc btf_loader: Move load_types() from btf_elf to btf
|
||||
1a33deae144dbd22 btf_loader: Move create_new_tag() from btfe to cu
|
||||
8323cb33bc73817a btf_loader: Move create_new_datasec() from btfe to cu
|
||||
6fb41bbf8e31f3cf btf_loader: Move create_new_variable() from btfe to cu
|
||||
9122424dda37ccff btf_loader: Move create_new_typedef() from btfe to cu
|
||||
dd3e9ab4a00f8cf9 btf_loader: Move create_new_forward_decl() from btfe to cu
|
||||
cca6b51d292df6f1 btf_loader: Move create_new_subroutine_type() from btfe to cu
|
||||
ba1b77d01dda3ac0 btf_loader: Move create_new_enumeration() from btfe to cu
|
||||
a58bc8300f13c93f btf_loader: Move create_new_union() from btfe to cu
|
||||
367f5fe74cbb35ec btf_loader: Move create_new_class() from btfe to cu
|
||||
2460bead8a8fc02f btf_loader: The create_members() function doesn't need the btfe arg
|
||||
1136795fec7ff6bf btf_loader: Move create_new_array() from btfe to cu
|
||||
ab2f5028916c7822 btf_loader: Move create_new_float_type() from btfe to cu
|
||||
6b452a1cc5f2f22b btf_loader: Move create_new_int_type() from btfe to cu
|
||||
073a5f69ef19700a btf_loader: Move create_new_function() from btfe to cu
|
||||
29ad464f73286067 btf_loader: Move load_ftype() from btfe to cu
|
||||
407693e2cabfa7a3 btf_loader: Pass cu to the load_sections/types routines
|
||||
89b9c4f8851ebc8f libbtf: Remove the 'base_btf' global var, now unused
|
||||
6f70d0accaf17f74 pahole: Use conf_load->base_btf to call cu__encode_btf()
|
||||
0e77be409969631b btf_loader: Use conf_load->base_btf instead of the global btf_base var
|
||||
6ee61b161dbcc42c pahole: Set conf_load.btf_base when applicable
|
||||
b8255beb12c02d76 core: Allow passing the base_btf object via 'struct conf_load'
|
||||
f93e05d8bd45d4b3 btf_encoder: Pass the base BTF object to the BTF encoder
|
||||
81797a00fbdd1017 btf_elf: Remove unused 'wordsize' member
|
||||
ecc888b855c249a6 btf_loader: Use btf__pointer_size() to set cu->addr_size
|
||||
e6b69ffc74dcb3f0 btf_elf: Remove unused is_big_endian member
|
||||
81fe7d688de85fa2 btf_loader: Use btf__endianness() instead of to be removed btfe member
|
||||
9f8ce7e1137f22c1 libbtf: Remove unused btf_elf->raw_btf member
|
||||
89be5646a03435bf pahole: Allow encoding BTF into a detached file
|
||||
22a76fbc8b33a3cd btf_loader: Use btf__parse_split()
|
||||
c9d4c106ab95cd8c dwarf_loader: Add define for DW_OP_addrx
|
||||
76f7844c817eeac5 libbtf: Fix typo
|
||||
3d510406ff363056 pahole: Add --kabi_prefix flag
|
||||
0d17503db0580a66 btf_encoder: fix and complete filtering out zero-sized per-CPU variables
|
||||
fb418f9d8384d3a9 dwarves: Make handling of NULL by destructos consistent
|
||||
f049fe9ebf7aa9c2 dutil: Make handling of NULL by destructos consistent
|
||||
1512ab8ab6fe76a9 pahole: Make handling of NULL by destructos consistent
|
||||
1105b7dad2d0978b elf_symtab: Use zfree() where applicable
|
||||
131275fa20437dec codiff: Use zfree() where applicable
|
||||
6784b03fd447f507 dutil: Adopt the zalloc()/zfree() from perf
|
||||
d7f5824a9e1895d1 libctf: Use zfree() where applicable
|
||||
45d9eb8602b42a6b pahole: Use zfree() where applicable
|
||||
f48cc78e8e6e56df dwarf_loader: Use zfree() instead of ad-hoc implementation
|
||||
d0f6a4a1da524873 gobuffer: Use zfree() and make delete accept NULL, like free()
|
||||
db37185d16d4a56d dwarves: Use zfree()
|
||||
e7e86c75e149c161 libbtf: Use zfree()
|
||||
972001e58e9f5ed9 dutil: Adopt zfree(), to use it more pervasively
|
||||
5847901abf13e8bd dwarves: Plug leaks in cu__new() found by covscan
|
||||
32114e611a93b046 dwarf_loader: Call dwarf_cu__delete() when aborting the load
|
||||
26bd4c41646a64b9 dwarf_loader: Delete the allocated CU when aborting
|
||||
d8940df90b4a952b dwarf_loader: Make all ABORT returns go thru a single exit label
|
||||
3ba54ee43a301419 dwarf_loader: Use zalloc() to allocate dwarf_cu
|
||||
f3957627bb3e3431 dwarf_loader: Make dwarf_cu__delete() accept NULL, just like free()
|
||||
8772c9d827813d4d dwarves: Accept NULL in cu__delete(), just like free() accepts
|
||||
25cc0c77545cefbc dwarf_loader: Check if we have a CU after the loop in cus__merge_and_process_cu()
|
||||
2f30062b546de1ef dwarf_loader: Check tag__recode_dwarf_bitfield() return, may be NULL
|
||||
d68fd2bbc59291f3 ctracer: Initialize the 'parm_list' variable, detected by covscan
|
||||
5b0fb9745e1e9597 codiff: Fix usage of negative errno values with strerror(), reported by covscan
|
||||
cba940fb86a46fa9 btf_loader: Fix some memory leaks found by covscan
|
||||
674063b1ea4156d2 loaders: Plug enumeration__delete() leak detected by covscan
|
||||
505a1f5615c5064a dwarves: Stop using obstacks
|
||||
872658b88021b487 CMakeLists.txt: Specify the file extension of srcs
|
||||
aa8519378a37c9a5 README: Mention how to specify another prefix
|
||||
58a98f76ac95b1bb btf: Remove ftrace filter
|
||||
7c60b0443cb01795 pahole: Fix error message when --header couldn't be read
|
||||
7eea706c14997b4f pahole: Introduce --with_flexible_array option to show just types ending in a flexible array
|
||||
|
||||
v1.21:
|
||||
|
||||
Fri Apr 9 2021
|
||||
|
95
changes-v1.22
Normal file
95
changes-v1.22
Normal file
@ -0,0 +1,95 @@
|
||||
pahole:
|
||||
|
||||
- Allow encoding BTF to a separate BTF file (detached) instead of to a new
|
||||
".BTF" ELF section in the file being encoded (vmlinux usually).
|
||||
|
||||
- Introduce -j/--jobs option to specify the number of threads to use. Without
|
||||
arguments means one thread per CPU. So far used for the DWARF loader, will
|
||||
be used as well for the BTF encoder.
|
||||
|
||||
- Show all different types with the same name, not just the first one found.
|
||||
|
||||
- Introduce sorted type output (--sort), needed with multithreaded DWARF loading,
|
||||
to use with things like 'btfdiff' that expects the output from DWARF and BTF
|
||||
types to be comparable using 'diff'.
|
||||
|
||||
- Stop assuming that reading from stdin means pretty printing as this broke
|
||||
pre-existing scripts, introduce a explicit --prettify command line option.
|
||||
|
||||
- Improve type resolution for the --header command line option.
|
||||
|
||||
- Disable incomplete CTF encoder, this needs to be done using the external
|
||||
libctf library.
|
||||
|
||||
- Do not consider the ftrace filter when encoding BTF for kernel functions.
|
||||
|
||||
- Add --kabi_prefix to avoid deduplication woes when using _RH_KABI_REPLACE(),
|
||||
|
||||
- Add --with_flexible_array to show just types with flexible arrays.
|
||||
|
||||
DWARF Loader:
|
||||
|
||||
- Multithreaded loading, requires elfutils >= 0.178.
|
||||
|
||||
- Lock calls to non-thread safe elfutils' libdw functions (dwarf_decl_file()
|
||||
and dwarf_decl_line())
|
||||
|
||||
- Change hash table size to one that performs better with current typical
|
||||
vmlinux files.
|
||||
|
||||
- Allow tweaking the hash table size from the command line.
|
||||
|
||||
- Stop allocating memory for strings obtained from libdw, just defer freeing
|
||||
the Dwfl handler so that references to its strings can be safely kept.
|
||||
|
||||
- Use a frontend cache for the latest lookup result.
|
||||
|
||||
- Allow ignoring some DWARF tags when loading for encoding BTF, as BTF doesn't
|
||||
have equivalents for things like DW_TAG_inline_expansion and DW_TAG_label.
|
||||
|
||||
- Allow ignoring some DWARF tag attributes, such as DW_AT_alignment, not used
|
||||
when encoding BTF.
|
||||
|
||||
- Do not query for non-C attributes when loading a C language CU (compilation unit).
|
||||
|
||||
BTF encoder:
|
||||
|
||||
- Preparatory work for multithreaded encoding, the focus for 1.23.
|
||||
|
||||
btfdiff:
|
||||
|
||||
- Support diffing against a detached BTF file, e.g.: 'btfdiff vmlinux vmlinux.btf'
|
||||
|
||||
- Support multithreaded DWARF loading, using the new pahole --sort option to have
|
||||
the output from both BTF and DWARF sorted and thus comparable via 'diff'.
|
||||
|
||||
Build:
|
||||
|
||||
- Support building with libc libraries lacking either obstacks or argp, such
|
||||
as Alpine Linux's musl libc.
|
||||
|
||||
- Support systems without getconf() to obtain the data cacheline size, such
|
||||
as musl libc.
|
||||
|
||||
- Add a buildcmd.sh for test builds, tested using the same set of containers
|
||||
used for testing the Linux kernel perf tools.
|
||||
|
||||
- Enable selecting building with a shared libdwarves library or statically.
|
||||
|
||||
- Allow to use the libbpf package found in distributions instead of with the
|
||||
accompanying libbpf git submodule.
|
||||
|
||||
Cleanups:
|
||||
|
||||
- Address lots of compiler warnings accumulated by not using -Wextra, it'll
|
||||
be added in the next release after allowing not to use it to build libbpf.
|
||||
|
||||
- Address covscan report issues.
|
||||
|
||||
Documentation:
|
||||
|
||||
- Improve the --nr_methods/-m pahole man page entry.
|
||||
|
||||
- Clarify that currently --nr_methods doesn't work together witn -C.
|
||||
|
||||
Signed-off-by: Arnaldo Carvalho de Melo <acme@redhat.com>
|
@ -2,7 +2,7 @@
|
||||
%define libver 1
|
||||
|
||||
Name: dwarves
|
||||
Version: 1.21
|
||||
Version: 1.22
|
||||
Release: 1%{?dist}
|
||||
License: GPLv2
|
||||
Summary: Debugging Information Manipulation Tools (pahole & friends)
|
||||
@ -79,7 +79,7 @@ rm -Rf %{buildroot}
|
||||
%files
|
||||
%doc README.ctracer
|
||||
%doc README.btf
|
||||
%doc changes-v1.21
|
||||
%doc changes-v1.22
|
||||
%doc NEWS
|
||||
%{_bindir}/btfdiff
|
||||
%{_bindir}/codiff
|
||||
@ -131,6 +131,25 @@ rm -Rf %{buildroot}
|
||||
%{_libdir}/%{libname}_reorganize.so
|
||||
|
||||
%changelog
|
||||
* Mon Aug 23 2021 Aug 17 2021 Arnaldo Carvalho de Melo <acme@redhat.com> - 1.22-1
|
||||
- New release: v1.22
|
||||
- Introduce -j/--jobs option to specify the number of threads to use.
|
||||
- Multithreaded DWARF loading, requires elfutils >= 0.178.
|
||||
- Preparatory work for multithreaded BTF encoding, the focus for 1.23.
|
||||
- Allow encoding BTF to a separate file.
|
||||
- Show all different types with the same name, not just the first one found.
|
||||
- Stop assuming that reading from stdin means pretty, add --prettify.
|
||||
- Improve type resolution for the --header command line option.
|
||||
- Do not consider the ftrace filter when encoding BTF for kernel functions.
|
||||
- Lock calls to non-thread safe elfutils' dwarf_decl_file() and dwarf_decl_line().
|
||||
- Change hash table size to one that performs better with current typical vmlinux files.
|
||||
- Allow tweaking the hash table size from the command line.
|
||||
- Add --kabi_prefix to avoid deduplication woes when using _RH_KABI_REPLACE().
|
||||
- Add --with_flexible_array to show just types with flexible arrays.
|
||||
- Support btfdiff with a detached BTF file.
|
||||
- Introduce sorted type output (--sort).
|
||||
- Disable incomplete CTF encoder.
|
||||
|
||||
* Fri Apr 9 2021 Arnaldo Carvalho de Melo <acme@redhat.com> - 1.21-1
|
||||
- New release: v1.21
|
||||
- DWARF loader:
|
||||
|
Loading…
x
Reference in New Issue
Block a user