tree 09fd53913a4d2efc9b69e5bbe4129a0925f34510
parent 214f750dc9cad8fc1480219cbee4479c3a09998d
parent 983e86fd89e8bf02f2d27ba5dce5bf078af4ceda
author Matthias Maennich <maennich@google.com> 1637017513 +0000
committer Matthias Maennich <maennich@google.com> 1637065083 +0000

Merge tag 'elfutils-0.186' into master

elfutils 0.186 release

* tag 'elfutils-0.186':
  Prepare for 0.186
  PR28430: debuginfod: support --passive mode
  libdw, readelf: Read inlining info in NVIDIA extended line map
  libdw: dwarf_elf_begin should use either plain, dwo or lto DWARF sections.
  Improve building with LTO
  PR28514: debuginfod: limit groom operation times
  NEWS: make automake check-news / dist happy
  NEWS: list some 0.186 debuginfod client & server features
  PR28240: debuginfod client root-safe negative caching
  libdw: Don't pass NULL to dwarf_peel_type
  libdw: Use signedness of subrange type to determine array bounds
  debuginfod-client: Stick to http:// + https:// + file:// protocols
  PR27783: switch default debuginfod-urls to drop-in style files
  tests: Handle dwarf_attr_string returning NULL in show-die-info.c
  elflint.c: Don't dereference databits if bad
  PR28242: debuginfod prometheus metric widening
  RISC-V: PR27925 Add support for LP64 and LP64F ABIs return values
  debuginfod: Remove checking for unsafe headers
  debuginfod: Query debuginfod servers before printing response
  debuginfod: PR27277 - Describe retrieved files when verbose
  debuginfod: PR28034 - No longer escape '/', and loop efficiency
  PR28339: debuginfod: fix groom/scan race condition on just-emptied queue
  debuginfod: Add endl after "fdcache emergency flush for filling tmpdir" log
  lib: Make error.c more like error(3)
  libdw: set address size, offset size and version on fake CUs
  tests: Don't fail run-debuginfod-fd-prefetch-caches.sh if grep -c fails
  findtextrel: do not use unbound alloca
  tests: Cleanup error handling and don't share cache between servers/client
  Use xasprintf instead of asprintf followed by error(EXIT_FAILURE)
  Introduce xasprintf
  Remove redundant casts of memory allocating functions returning void *
  src: add -Wno-error=stack-usage= to AM_LDFLAGS
  tests: Make sure to wait for initial scan and groom cycle earlier
  tests: Make sure to wait for initial scan and groom cycle
  tests: Only export DEBUGINFOD_URLS when necessary
  tests: Print metrics for both ports on error and fix port selection
  tests: Set DEBUGINFOD_CACHE_PATH for run-debuginfod-{file,query-retry}.sh
  tests: Make sure all debuginfod tests use a clean database and cache.
  tests: Add debuginfod-subr.sh to EXTRA_DIST
  debuginfod: Fracture tests/run-debuginfod-find.sh into specific tests
  configure.ac: rework gnu99 ext check to allow clang
  debuginfod: Turn -d ":memory:" into -d "file::memory:?cache=shared"
  tests: Use fresh separate databases for debuginfd forwarded-ttl-limit
  debuginfod: PR27917 - protect against federation loops
  Add lib/error.c
  lib: avoid potential problems with `-fno-common`
  lib: remove unused `STROF` definition (NFC)
  handle libc implementations which do not provide `error.h`
  debuginfod, elfclassify: remove unnecessary header inclusion
  lib: remove usage of `sys/cdefs.h`
  PR27950 - package new debuginfod-client-config.7 man page in rpm
  PR28249: correct debuginfod after-you locking
  debuginfod-doc: PR27950: make distcheck happy
  debuginfod-doc: PR27950 - Remove redanduncies in man page.
  tests: Allow an extra pthread_kill frame in backtrace tests
  debuginfod: PR27982 - added DEBUGINFOD_MAXSIZE and DEBUGINFOD_MAXTIME
  update Japanese translation
  debuginfod: PR27983 - ignore duplicate urls
  lib: Add static inline reallocarray fallback function
  debuginfod: PR28034 - client-side %-escape url characters
  debuginfod: Minor run-debuginfod-find.sh test fixes
  libelf: Optimize elf_strptr.c validate_str by checking last char first
  readelf: Pull advance_pc() in file scope
  debuginfod: PR25978 - Created the prefetch fdcache
  PR27531: retry within default retry_limit will be supported.
  debuginfod: PR27711 - Use -I/-X regexes during groom phase
  tests: Fix EXTRA_DIST typo in testfile-largealign.o.bz2
  libelf: Fix unaligned d_off offsets for input sections with large alignments
  readelf: Handle line tables without line number statements correctly
  readelf: Fix error message when two attribute names differ in in compare_listptr.
  unstrip: Always check gelf_getrel[a] results
  strip: Always check gelf_update results.
  debuginfod-client: Fix client dereference when calloc fails.
  run-debuginfod-find.sh: Disable valgrind for debuginfod client cache tests
  debuginfod test: fix groom/stale race condition
  debuginfod tests: tolerate 000-perm files in cache-copy test
  debuginfod tests: try to generate diagnostics more reliably on error
  libdwfl: fix potential NULL pointer dereference when reading link map
  PR27863: debuginfod optimization for concurrent requests
  elflint: fix undefined 'buffer_left' reference
  Prepare for 0.185
  PR27859: correct 404-latch bug in debuginfod client reuse
  elfcompress: fix exit status in case of an error
  elfcompress: remove redundant assignment
  elfcompress: fix exit status regression in case of "Nothing to do"
  Come up with startswith function.
  elfutils.spec: Add procps as a %check BuildRequires:.
  Prepare for 0.184
  libdw: Document and handle DW_FORM_indirect in __libdw_form_val_compute_len
  debuginfod: debuginfod client should cache negative results.
  PR27571: debuginfod client cache - file permissions
  PR26125: debuginfod client cache - rmdir harder
  libdw: handle DW_FORM_indirect when reading attributes
  PR27701: debuginfod client: encourage reused debuginfod_client objects
  po: update XGETTEXT_OPTIONS
  debuginfod: only update database stats once per groom
  debuginfod: Recognize .debug_*-less symtab-laden files as debuginfo
  nm: Fix file descriptor leak on dwfl_begin failure.
  unstrip: Fix small leak in handle_output_dir_module.
  ar: Always close newfd in do_oper_insert.
  doc/debuginfod.8: fix wrong parameter name for .deb files in description
  debuginfod: Set child thread names via pthread_setname_np()
  debuginfod-client: Don't compare a double to a long
  Update Polish translation
  Update POTFILES.in
  build: Check for -Wno-packed-not-aligned support
  build: Check for -Wtrampolines support
  debuginfod-client: Fix typo in curl feature detection
  readelf: Sanity check verneed and verdef offsets in handle_symtab.
  elfcompress: Replace cleanup() with label
  build: Check for -Wimplicit-fallthrough=5 separately
  tests: Pull new_data_buf() into file scope for elfstrmerge.
  tests: Pull newsecndx() info file scope for elfstrmerge
  elfcompress: Pull get_sections() into file scope
  elfcompress: Pull get_section() into file scope
  elfcompress: Pull set_section() into file scope
  unstrip: Remove nested next() function
  unstrip: Pull warn() into file scope
  unstrip: Inline find_unalloc_section() into only caller
  unstrip: Pull check_match() into file scope
  unstrip: Pull adjust_reloc() into file scope
  elflint: Pull left() in file scope
  elflint: Pull pos() info file scope
  debuginfod: filter webapi for bad keywords early
  testsuite: run-debuginfod-find.sh: Fix grooming test indeterminacy
  NEWS: add a debuginfod blurb re. bsdtar
  testsuite: run-debuginfod-find.sh: Be more verbose on failure
  readelf: Type DIE offset is from start of CU.
  readelf, libdw: blocks aren't expressions for DWARF version 4
  PR27413: use bsdtar to unpack deb-related formats
  tests: Quote make variables in TESTS_ENVIRONMENT
  elfutils.spec.in: Escape %%check in comment.
  tests/run-debuginfod-find.sh: skip test if cpio isn't available.

Signed-off-by: Matthias Maennich <maennich@google.com>
Change-Id: I644650d79de63796c6acaaabb1474907a6043a6d
