Merge branch 'upstream-master' into 'master'

* upstream-master:
  pahole: Prep 1.23
  Revert "fprintf: Allow making struct/enum/union anonymous"
  Revert "pahole: Add --inner_anon option"
  pahole: Add --inner_anon option
  fprintf: Allow making struct/enum/union anonymous
  btf_encoder: Support btf_type_tag attribute
  man pages: Add missing --skip_encoding_btf_decl_tag entry
  man pages: Add missing --skip_encoding_btf_type_tag entry
  dwarf_loader: Support btf_type_tag attribute
  dutil: Move DW_TAG_LLVM_annotation definition to dutil.h
  libbpf: Sync with latest libbpf repo to pick support for BTF_KIND_TYPE_TAG
  dwarf_loader: Warn about DW_TAG_skeleton_unit and give a workaround
  fprintf: Add DWARF5 tags added in elfutils 0.170
  dwarf_loader: Print the hexadecimal value for unexpected tags in die__process()
  btf_encoder: generate BTF_KIND_DECL_TAGs for typedef btf_decl_tag attributes
  dwarf_loader: support typedef DW_TAG_LLVM_annotation
  btf_loader: Use cacheline size to infer alignment
  btf_loader: Propagate struct conf_load
  dwarves_fprintf: Move cacheline_size into struct conf_fprintf
  btfdiff: Suppress alignment tags with BTF as well as with DWARF
  btf_loader: Infer alignment info
  core: Export tag__natural_alignment()
  fprintf: Fix __attribute__((__aligned__(N)) handling for struct members
  btf: Rename btf_tag to btf_decl_tag
  manpages: Minor fixes
  btf_loader: Refactor class__fixup_btf_bitfields
  pahole: Add --skip_missing option
  fprintf: Fix nested struct printing wrt attributes
  btf_encoder: Fix handling of percpu symbols on s390
  dwarf_loader: Fix heap overflow when accessing variable specification
  dwarves: Introduce conf_load->thread_exit() callback
  Update libbpf to get API to combine BTF
  btf_encoder: Generate BTF_KIND_TAG from llvm annotations
  dwarf_loader: Parse DWARF tag DW_TAG_LLVM_annotation
  CMakeList.txt: Don't download libbpf source when system library is used
  libbpf: Get latest libbpf
  CMakeList.txt: Make python optional
  pahole: Prep 1.22
  core: Bump the chunk size for ptr_table uses in types, tags, functions tables
  pahole: Introduce --ptr_table_stats
  core: Add CU stats printer
  pahole: Fix races in accessing type information in live CUs
  pahole: Add missing limits.h include to get ULLONG_MAX definition
  CMakeList.txt: Look for obstack outside libc
  cmake: Add a module to find if obstack is in a separate library
  CMakeList.txt: Look for argp outside libc
  cmake: Add a module to find if argp is in a separate library
  fprintf: Add alternative method for reading the data cacheline size
  core: Include missing limits.h to get PATH_MAX definition
  dutil: Include linux/stddef.h to build on Alpine Linux systems
  README.tarball: Overcome --transform problem with symlinks
  MANIFEST: Add lib/include/bpf
  spec: Remove deleted libbtf.h from the RPM file list
  README.tarball: Remove hardcoded version, get it from 'git tag'
  MANIFEST: Remove long gone strings header files
  MANIFEST: Add buildcmd.sh
  buildcmd.sh: Add single build script for use in CI
  pahole: Consider type members's names when comparing unions, structs
  pahole: Consider type members's types when comparing unions, structs
  core: Introduce helpers for getting the first and next members of a type
  pahole: Improve the type sorting routine to consider multiple types with same name
  core: Remove extra ; in 'print_numeric_version' extern declaration
  btf_loader: Mark the 'level' arg to the libbpf error callback as __maybe_unused
  btf_loader: Mark create_new_datasec() args as __maybe_unused
  dwarf_loader: cus__load_debug_types() doesn't use its 'cus' arg, remove it
  dwarf_loader: Rename finalize_cu_immediately() to cus__finalize() to follow convention
  dwarf_loader: Remove unused 'dcu' argument from finalize_cu_immediately()
  dwarf_loader: Remove unused 'dcus' argument from cu__finalize()
  dwarf_loader: Remove unused 'cus' argument from finalize_cu()
  dwarf_loader: Fix signed/unsigned comparision in tag__recode_dwarf_bitfield()
  core: cus__fprintf_load_files_err() doesn't use its 'cus' argument
  core: Change last_seen_bit to uint32_t in class__find_holes()
  core: Change aligned_start to uint32_t in class__find_holes()
  core: Change cur_bitfield_end to uint32_t in class__find_holes()
  core: Change bit_start and bit_end to uint32_t in class__find_holes()
  btf_encoder: Fix signed/unsigned comparision
  btf_encoder: has_arg_names() doesn't need the 'cu' pointer
  btf_encoder: btf_encoder__encode_tag() doesn't need the 'core_id' pointer
  btf_encoder: btf_encoder__encode_tag() doesn't need the 'cu' pointer
  btf_encoder: btf_encoder__add_struct_type() doesn't need the 'cu' pointer
  btf_encoder: btf_encoder__add_func_proto() doesn't need the 'cu' pointer
  btf_encoder: No need to read the ehdr in btf_encoder__write_elf(), ditch it
  ctracer: No need to read the ehdr, ditch it
  btf_encoder: No need to store the ehdr in the instance
  elf_symtab: Remove needless GElf_Ehdr pointer argument from the constructor
  dutil: elf_symtab__new() doesn't need the GElf_Ehdr *ep argument
  pahole: Move case fallthru comment to after the statement
  elfcreator: elfcreator_copy_scn() doesn't need the 'elf' arg
  syscse: zero_extend() doesn't need a 'cu' arg
  pahole: Fix signedness of ternary expression operator
  ctracer: Remove a bunch of unused 'cu' pointers
  pahole: Use the 'prototypes' parameter in prototypes__load()
  codiff: class__find_pair_member() doesn't need 'cu' args
  core: class__find_member_by_name() doesn't need a cu pointer
  core: Document type->node member usage
  core: Fix nnr_members typo on 'struct type' comment docs
  man-pages: Improve the --nr_methods/-m pahole man page entry
  pahole: Clarify that currently --nr_methods doesn't work together witn -C
  pahole: No need to store the class name in 'struct structure'
  pahole: Multithreaded DWARF loading requires elfutils >= 0.178
  btf_encoder: Add methods to maintain a list of btf encoders
  list: Adopt list_next_entry() from the Linux kernel
  dwarf_loader: Make hash table size default to 12, faster than 15
  pahole: Allow tweaking the size of the loader hash tables
  core: Allow sizing the loader hash table
  hash: Remove unused hash_32(), hash_ptr()
  dwarf_loader: Use a per-CU frontend cache for the latest lookup result
  core: Use obstacks: take 2
  dwarf_loader: Add comment on why we can't ignore lexblocks
  pahole: Ignore DW_TAG_label when encoding BTF
  core: Allow ignoring DW_TAG_label
  pahole: Ignore DW_TAG_inline_expansion when encoding BTF
  core: Allow ignoring DW_TAG_inline_expansion
  pahole: Allow encoding BTF with parallel DWARF loading
  core: Zero out unused entries when extending ptr_table array in ptr_table__add()
  pahole: No need to read DW_AT_alignment when encoding BTF
  dwarf_loader: Allow asking not to read the DW_AT_alignment attribute
  dwarf_loader: Do not look for non-C DWARF attributes in C CUs
  core: Add cu__is_c() to check if the CU language is C
  dwarf_loader: Add a lock around dwarf_decl_file() and dwarf_decl_line() calls
  btfdiff: Use multithreaded DWARF loading
  btfdiff: Use --sort for pretty printing from both BTF and DWARF
  pahole: Introduce --sort
  pahole: Store the class id in 'struct structure' as well
  dwarf_loader: Defer freeing libdw Dwfl handler
  core: Provide a way to store per loader info in cus and an exit function
  pahole: Keep class + cu in tree of structures
  dwarf_loader: Parallel DWARF loading
  pahole: Disable parallell BTF encoding for now
  pahole: Add locking for the structures list and rbtree
  dwarf_loader: Introduce 'dwarf_cus' to group all the DWARF specific per-cus state
  dwarf_loader: Factor common bits for creating and processing CU
  fprintf: class__vtable_fprintf() doesn't need a 'cu' arg
  fprintf: string_type__fprintf() doesn't need a 'cu' arg
  core: Ditch tag__free_orig_info(), unused
  core: variable__name() doesn't need a 'cu' arg
  core: base_type__name() doesn't need a 'cu' arg
  core: namespace__delete() doesn't need a 'cu' arg
  core: {tag,function,lexblock}__delete() doesn't need a 'cu' arg
  core: ftype__delete() doesn't need a 'cu' arg
  core: enumeration__delete() doesn't need a 'cu' arg
  core: type__delete() doesn't need a 'cu' arg
  core: class__clone() doesn't need a 'cu' arg
  core: class__delete() doesn't need a 'cu' arg
  core: type__delete_class_members() doesn't need a 'cu' arg
  core: class_member__delete() doesn't need a 'cu' arg
  core: type__clone_members() doesn't need a 'cu' arg
  core: class_member__clone() doesn't need a 'cu' arg
  pahole: Introduce --prettify option
  pahole: Try harder to resolve the --header type when pretty printing
  pahole: Make prototype__stdio_fprintf_value() receive a FILE to read raw data from
  man-page: Move the PRETTY PRINTING header earlier
  pahole: Make pipe_seek() honour the 'fp' arg instead of hardcoding stdin
  pahole: Rename 'fp' to 'output' in prototype__stdio_fprintf_value()
  pahole: Use the supplied 'fp' argument in type__instance_read_once()
  core: Use namespace->name in class__clone()
  core: Remove strings.c, unused
  ctf_loader: Use uint32_t instead of strings_t, that is going away
  core: Remove base_type_name_to_size_table.sname, unused
  pahole: Add missing bpf/btf.h include
  libctf: Comment out unused CTF encoding functions
  btf_loader: Add missing bpf/btf.h include
  btf_encoder: Add missing bpf/btf.h include
  pahole: Use conf_load.kabi_prefix
  dwarf_loader: Make attr_suffix() handle kabi_prefix
  dwarf_loader: Pass conf_load to functions calling attr_string()
  ctf_loader: No need for the 'strings' extern, not used
  btf_loader: No need for the 'strings' extern, not used
  dwarf_loader: Remove unused strings variable and debug_fmt_ops->{init,exit}()
  core: Remove unused debug_fmt_ops->dwarf__strings_ptr()
  core: Remove unused cu__string() method
  dwarf_loader: No need to strdup() what dwarf_formstring() returns
  core: No need for debug_fmt_ops->variable_name() anymore
  pahole: function__name() doesn't need a 'struct cu *' argument
  core: Make variable->name a real string
  core: Make label->name a real string
  pahole: class_member_filter__new() doesn't need a 'struct cu *' argument
  pahole: class_member_filter__parse() doesn't need a 'struct cu *' argument
  pahole: tag__real_sizeof() doesn't need a 'struct cu *' argument
  pahole: Rename tag__fprintf_hexdump_value() to instance__fprintf_hexdump_value()
  pahole: enumerations__lookup_entry_from_value() doesn't need to return a CU anymore
  pahole: enumeration__lookup_entry_from_value() doesn't need a 'cu' argument
  core: Ditch unused enumeration__prefix_len() method
  core: Ditch unused enumeration__prefix() method
  pahole: enumeration__lookup_value() doesn't need a 'cu' argument
  pahole: enumeration__lookup_enumerator() doesn't need a 'cu' argument
  core: enumeration__emit_definitions() doesn't need a 'cu' argument
  core: enumeration__fprintf() doesn't need a 'cu' argument
  core: Make enumeration__max_entry_name_len() static
  core: enumeration__max_entry_name_len() doesn't need a 'cu' argument
  core: Make enumeration__calc_prefix() static
  core: enumeration__calc_prefix doesn't need a 'cu' argument
  btf_encoder: btf_encoder__add_enum_type() doesn't need a 'cu' argument, ditch it
  core: enumerator__name() doesn't need a 'cu' argument, ditch it
  core: Ditch dwarves__active_loader, unused
  core: Make enumerator->name a real string
  emit: type__emit_fwd_decl() isn't used outside emit.c, make it static
  emit: type__emit_fwd_decl() doesn't need a cu arg
  emit: type_emissions__find_definition() doesn't need a cu arg
  core: class__name() doesn't need a cu arg
  core: type__name() doesn't need a cu arg
  core: Make namespace->name a real string
  core: Make class_member->name a real string
  core: Make parameter->name a real string
  core: Make base_type->name a real string
  pahole: Disable incomplete CTF encoder
  core: Ditch unused cu__find_struct_by_sname()
  core: Convert cu__find_base_type_by_sname_and_size to search for a string
  core: Convert cu__find_enumeration_by_sname_and_size to search for a string
  dwarf_loader: Rename strings_t 'name' to 'sname' to clarify usage
  core: Make function->name a real string
  core: Make function->linkage_name a real string
  dwarf_loader: Make dwarf_tag->decl_file a real string
  pahole: Allow specifying the number of threads to use while loading files
  pahole: Make '-j' available for use as number of jobs (threads)
  core: Protect cus->cus with a mutex
  core: Make 'struct cus' opaque, only visible in dwarves.c
  core: Introduce helper to return number of cu entries in a 'struct cus'
  core: Move cus__find_pair() from codiff to the core
  core: Introduce helper to return if there is no cu entries in a 'struct cus'
  core: Prepare cus__find_cu_by_name() for locking
  core: Prepare cus__find_function_at_addr() for locking
  core: Prepare __cus__find_struct_by_name() for locking
  core: Prepare cus__find_type_by_name() for locking
  core: Initialize cu->priv in cu__new()
  CMakeList.txt: Bump version to the upcoming 1.22 release, not out of the door yet
  Revert "btf_encoder: Reduce the size of encode_cu() by moving function encoding to separate method"
  dwarf_loader: Separate non-LTO per CU processing + BTF encoding part
  btf_encoder: Reduce the size of encode_cu() by moving function encoding to separate method
  btf_encoder: Reduce the size of encode_cu() by moving var encoding to separate method
  btf_encoder: No need to set the endianness twice when encoding into an ELF file
  btf_encoder: Pass detached_filename to the constructor
  btf_encoder: Adopt writing to raw file method
  btf_encoder: Rename btf__encode_in_elf to btf_encoder__write_elf, shortening function signature
  btf_encoder: Combine btf__write_elf() with btf__encode_in_elf()
  btf_encoder: Move duplicate code to btf_encoder__encode()
  btf_encoder: Pass the 'skip_encoding_vars' to the constructor
  btf_encoder: No need to export the 'struct btf_definition', make it opaque
  libbpf: bump dependency to >= 0.4.0
  libbpf: If LIBBPF_EMBEDDED=OFF and libbpf-dev/pkgconfig is not available, fail the build
  headers: Rebame __unused to __maybe_unused to avoid clashes with system headers
  libbpf: Fixup patch to allow to use packaged version
  README: Add documentation for -DBUILD_SHARED_LIBS
  CMakeLists.txt: Enable SHARED and STATIC lib creation
  libbpf: Allow to use packaged version
  btf_encoder: Move libbtf.c to btf_encoder.c, the only user of its functions
  btf_encoder: Move PERCPU_SECTION define to the only source file using it
  btf_encoder: Move library global variable btf_gen_floats to btf_encoder class
  btf_encoder: Ditch unused 'btf_encoder__verbose' global variable
  btf_encoder: Use encoder->verbose instead of btf_encoder__verbose
  btf_encoder: Adopt btf__log_func_param() and use encoder->verbose
  btf_encoder: Adopt btf__log_member() and use encoder->verbose
  btf_encoder: Adopt btf__log_type() and use encoder->verbose
  btf_encoder: No need to pass encoder->percpu_secinfo to btf_encoder__add_datasec()
  btf_encoder: Make btf_encoder__add_var_secinfo() receive a btf_encoder pointer
  btf_encoder: Adopt btf__encode_var_secinfo() as btf_encoder__add_var_secinfo()
  btf_encoder: Adopt btf__encode_datasec_type() as btf_encoder__add_datasec()
  btf_encoder: Adopt btf__encode_var_type() as btf_encoder__add_var()
  btf_encoder: Adopt btf__encode_enum_val() as btf_encoder__add_enum_val()
  btf_encoder: Adopt btf__encode_enum() as btf_encoder__add_enum()
  btf_encoder: Adopt btf__encode_enumeration_type() as btf_encoder__add_enum_type()
  btf_encoder: Adopt btf__encode_func_proto_param() as btf_encoder__add_func_param()
  btf_encoder: Adopt btf__encode_func_proto() as btf_encoder__add_func_proto()
  btf_encoder: Adopt btf__encode_array() as btf_encoder__add_array()
  btf_encoder: Adopt btf__encode_struct() as btf_encoder__add_struct()
  btf_encoder: Adopt btf__encode_member() as btf_encoder__add_field()
  btf_encoder: Adopt btf__encode_struct_type() as btf_encoder__add_struct_type()
  btf_encoder: Adopt btf__encode_ref_type() as btf_encoder__add_ref_type()
  btf_encoder: Adopt btf__encode_float_type() as btf_encoder__add_float()
  btf_encoder: Adopt btf__encode_base_type() as btf_encoder__add_base_type()
  libbtf: Ditch unused btf_elf__verbose_log() macro
  libbtf: Ditch btf_elf class, unused
  btf_encoder: Use 'struct btf' directly, stop using btf_elf
  libbtf: Remove unused ELF fields and calls from btf_elf
  btf_encoder: Phagocytize percpu_secinfo from btf_elf
  pahole: Rename 'encoder' to 'btf_encoder' as we support multiple formats
  btf_encoder: Move the global btf_encoder to its users, like pahole
  btf_encoder: Adopt the cu__encode_btf() method, as btf_encoder__encode_cu()
  btf_encoder: Set btf_encoder__verbose in just one place, its users
  btf_encoder: Move btf_elf__verbose var to btf_encoder class
  btf_encoder: Adopt btf_elf__force, its only used in btf_encoder methods
  pahole: Adopt btf_encoder object instantiation from btf_encoder
  btf_encoder: Move the function encode() to be a btf_encoder method
  btf_encoder: Temporarily expose the 'encoder' variable
  btf_encoder: Move 'filename' member from btf_elf to btf_encoder
  btfdiff: Support diffing DWARF vs detached BTF
  btf_encoder: No need for calling btf_encoder__encode() from cu__encode_btf()
  btf_encoder: Move btf_elf based encode_in_elf and write_elf methods to btf_encoder
  btf_encoder: Move collect_symbols() call to btf_encoder constructor
  btf_encoder: Remove needless hash.h include, not used anymore
  btf_encoder: Move global elf_functions table to the btf_encoder class
  btf_encoder: Move ELF's ehdr from btf_elf to btf_encoder
  btf_encoder: Move 'symtab' from btf_elf to btf_encoder
  btf_encoder: Move percpu members from btf_elf to btf_encoder
  btf_encoder: Add a 'verbose' member for encoder specific logging requests
  btf_encoder: Move 'array_index_id' global variable to 'struct btf_encoder'
  btf_encoder: Move percpu vars global variables to btf_encoder class
  btf_encoder: Adopt collect_function() as a btf_encoder method
  btf_encoder: Adopt collect_per_cpu_var() as a btf_encoder method
  btf_encoder: Adopt collect_symbol() as a btf_encoder method
  btf_encoder: Move 'need_index_type' global variable to 'struct btf_encoder'
  btf_encoder: Make tag__encode_btf() its encode_tag() method
  btf_encoder: Move 'has_index_type' global variable to 'struct btf_encoder'
  btf_encoder: Introduce 'struct btf_encoder' to have all the current globals
  btf_encoder: Replace btfe with btf in tag__encode_btf()
  btf_encoder: Move encode_enumeration_type() from btf_elf to btf
  btf_encoder: Move encode_struct_type() from btf_elf to btf
  btf_encoder: Move add_datasec_type() from btf_elf to btf encode_datasec_type()
  btf_encoder: Move add_var_secinfo() from btf_elf to btf encode_var_secinfo()
  btf_encoder: Move add_var_type() from btf_elf to btf encode_var_type()
  btf_encoder: Move add_func_proto() from btf_elf to btf encode_func_proto()
  btf_encoder: Move add_enum() from btf_elf to btf encode_enum()
  btf_encoder: Move add_struct() from btf_elf to btf encode_struct()
  btf_encoder: Move add_array() from btf_elf to btf encode_array()
  btf_encoder: Move add_ref_type() from btf_elf to btf encode_ref_type()
  btf_encoder: Move add_member() from btf_elf to btf encode_member()
  btf_encoder: Move add_base_type() from btf_elf to btf encode_base_type()
  btf_encoder: Move add_float_type() from btf_elf to btf encode_float_type()
  btf_encoder: bpf__log_func_param() doesn't need the btfe arg
  btf_encoder: Move log_member() from btf_elf to btf
  btf_encoder: Move log_type() from btf_elf to btf
  btf_encoder: Move log_err() from btf_elf to btf
  btf_encoder: Remove 'elf' from btf_elf__int_encoding_str() name
  btf_elf: Remove base_btf member, used only in the constructor
  btf_elf: No point in falling back to raw BTF in btf_new()
  btf_elf: No point in looking at the filename for /sys/kernel/btf in btf_elf__new()
  libbtf: Ditch unused btf_elf__string() method
  libbtf: Remove unused btf_elf__load()
  btf_encoder: Move printable_name() from btfe to btf
  btf_loader: Stop using libbtf.h and the btf_elf class
  btf_loader: cu__fixup_btf_bitfields doesn'n need btfe parameter, ditch it
  btf_loader: class__fixup_btf_bitfields doesn'n need btfe parameter, ditch it
  btf_elf: Remove unused btfe->priv member
  btf_loader: Add a local 'btf' var to prep next patches
  btf_loader: Move load_sections() from btf_elf to btf
  btf_loader: Move load_types() from btf_elf to btf
  btf_loader: Move create_new_tag() from btfe to cu
  btf_loader: Move create_new_datasec() from btfe to cu
  btf_loader: Move create_new_variable() from btfe to cu
  btf_loader: Move create_new_typedef() from btfe to cu
  btf_loader: Move create_new_forward_decl() from btfe to cu
  btf_loader: Move create_new_subroutine_type() from btfe to cu
  btf_loader: Move create_new_enumeration() from btfe to cu
  btf_loader: Move create_new_union() from btfe to cu
  btf_loader: Move create_new_class() from btfe to cu
  btf_loader: The create_members() function doesn't need the btfe arg
  btf_loader: Move create_new_array() from btfe to cu
  btf_loader: Move create_new_float_type() from btfe to cu
  btf_loader: Move create_new_int_type() from btfe to cu
  btf_loader: Move create_new_function() from btfe to cu
  btf_loader: Move load_ftype() from btfe to cu
  btf_loader: Pass cu to the load_sections/types routines
  libbtf: Remove the 'base_btf' global var, now unused
  pahole: Use conf_load->base_btf to call cu__encode_btf()
  btf_loader: Use conf_load->base_btf instead of the global btf_base var
  pahole: Set conf_load.btf_base when applicable
  core: Allow passing the base_btf object via 'struct conf_load'
  btf_encoder: Pass the base BTF object to the BTF encoder
  btf_elf: Remove unused 'wordsize' member
  btf_loader: Use btf__pointer_size() to set cu->addr_size
  btf_elf: Remove unused is_big_endian member
  btf_loader: Use btf__endianness() instead of to be removed btfe member
  libbtf: Remove unused btf_elf->raw_btf member
  pahole: Allow encoding BTF into a detached file
  btf_loader: Use btf__parse_split()
  dwarf_loader: Add define for DW_OP_addrx
  libbtf: Fix typo
  pahole: Add --kabi_prefix flag
  btf_encoder: fix and complete filtering out zero-sized per-CPU variables
  dwarves: Make handling of NULL by destructos consistent
  dutil: Make handling of NULL by destructos consistent
  pahole: Make handling of NULL by destructos consistent
  elf_symtab: Use zfree() where applicable
  codiff: Use zfree() where applicable
  dutil: Adopt the zalloc()/zfree() from perf
  libctf: Use zfree() where applicable
  pahole: Use zfree() where applicable
  dwarf_loader: Use zfree() instead of ad-hoc implementation
  gobuffer: Use zfree() and make delete accept NULL, like free()
  dwarves: Use zfree()
  libbtf: Use zfree()
  dutil: Adopt zfree(), to use it more pervasively
  dwarves: Plug leaks in cu__new() found by covscan
  dwarf_loader: Call dwarf_cu__delete() when aborting the load
  dwarf_loader: Delete the allocated CU when aborting
  dwarf_loader: Make all ABORT returns go thru a single exit label
  dwarf_loader: Use zalloc() to allocate dwarf_cu
  dwarf_loader: Make dwarf_cu__delete() accept NULL, just like free()
  dwarves: Accept NULL in cu__delete(), just like free() accepts
  dwarf_loader: Check if we have a CU after the loop in cus__merge_and_process_cu()
  dwarf_loader: Check tag__recode_dwarf_bitfield() return, may be NULL
  ctracer: Initialize the 'parm_list' variable, detected by covscan
  codiff: Fix usage of negative errno values with strerror(), reported by covscan
  btf_loader: Fix some memory leaks found by covscan
  loaders: Plug enumeration__delete() leak detected by covscan
  dwarves: Stop using obstacks
  CMakeLists.txt: Specify the file extension of srcs
  README: Mention how to specify another prefix
  btf: Remove ftrace filter
  pahole: Fix error message when --header couldn't be read
  pahole: Introduce --with_flexible_array option to show just types ending in a flexible array
  pahole: Prep 1.21
  spec: Fix dates in RPM spec
  dwarf_loader: Handle DWARF5 DW_OP_addrx properly
  dwarf_loader: Handle subprogram ret type with abstract_origin properly
  dwarf_loader: Check .notes section for LTO build info
  dwarf_loader: Check .debug_abbrev for cross-CU references
  dwarf_loader: Permit merging all DWARF CU's for clang LTO built binary
  dwarf_loader: Factor out common code to initialize a cu
  dwarf_loader: Permit a flexible HASHTAGS__BITS
  btf: Add --btf_gen_all flag
  btf: Add support for the floating-point types
  fprintf: Honour conf_fprintf.hex when printing enumerations
  Avoid warning when building with NDEBUG
  btf_encoder: Match ftrace addresses within ELF functions
  dwarf_loader: Use a better hashing function, from libbpf
  btf_encoder: Funnel ELF error reporting through a macro
  btf_encoder: Sanitize non-regular int base type
  pahole: Prep 1.20
  Revert "libbpf: allow to use packaged version"
  dwarf_loader: Support DWARF_TAG_call_site{_parameter} also in die__process_inline_expansion
  dwarf_loader: Add conditional DW_FORM_implicit_const definition for older systems
  dtagnames: Stop using the deprecated mallinfo() function
  cmake: Bump minimum required version to 2.8.12 as per upstream support warning
  dwarves: Make enum prefix search more robust
  dwarf_loader: Handle DWARF5 DW_TAG_call_site like DW_TAG_GNU_call_site
  dwarf_loader: Support DW_FORM_implicit_const in __attr_offset()
  dwarf_loader: Support DW_AT_data_bit_offset
  dwarf_loader: Optimize a bit the reading of DW_AT_data_member_location
  dwarf_loader: Fix typo
  dwarf_loader: Introduce __attr_offset() to reuse call to dwarf_attr()
  dwarf_loader: Support DW_FORM_implicit_const in attr_numeric()
  btf_encoder: Improve ELF error reporting
  bpf_encoder: Translate SHN_XINDEX in symbol's st_shndx values
  elf_symtab: Handle SHN_XINDEX index in elf_section_by_name()
  btf_encoder: Add extra checks for symbol names
  libbpf: allow to use packaged version
  btf_encoder: Improve error-handling around objcopy
  btf_encoder: Fix handling of restrict qualifier

Bug: 203823368
Test: pahole builds after follow-up Android.bp change
Signed-off-by: Connor O'Brien <connoro@google.com>
Change-Id: I598528959a21e5f070edd1de23061401f28ba31d