From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from gnu.wildebeest.org (gnu.wildebeest.org [45.83.234.184]) by sourceware.org (Postfix) with ESMTPS id 7B9553858C2B; Fri, 4 Nov 2022 01:06:40 +0000 (GMT) DMARC-Filter: OpenDMARC Filter v1.4.1 sourceware.org 7B9553858C2B Authentication-Results: sourceware.org; dmarc=none (p=none dis=none) header.from=klomp.org Authentication-Results: sourceware.org; spf=pass smtp.mailfrom=klomp.org Received: from reform (deer0x07.wildebeest.org [172.31.17.137]) (using TLSv1.2 with cipher ADH-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by gnu.wildebeest.org (Postfix) with ESMTPSA id 99B96309FA84; Fri, 4 Nov 2022 02:06:38 +0100 (CET) Received: by reform (Postfix, from userid 1000) id B86062E80EE3; Fri, 4 Nov 2022 02:06:37 +0100 (CET) Date: Fri, 4 Nov 2022 02:06:37 +0100 From: Mark Wielaard To: dwz@sourceware.org Cc: dwarf-discuss@lists.dwarfstd.org, gcc@gcc.gnu.org, gdb@sourceware.org, lldb-dev@lists.llvm.org Subject: DWZ 0.15 released Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-3033.0 required=5.0 tests=BAYES_00,JMQ_SPF_NEUTRAL,KAM_DMARC_STATUS,SPF_HELO_NONE,SPF_PASS,TXREP autolearn=no autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on server2.sourceware.org List-Id: DWZ 0.15 has been released. dwz - DWARF optimization and duplicate removal tool dwz is a program that attempts to optimize DWARF debugging information contained in ELF shared libraries and ELF executables for size, by replacing DWARF information representation with equivalent smaller representation where possible and by reducing the amount of duplication using techniques from DWARF standard appendix E - creating DW_TAG_partial_unit compilation units (CUs) for duplicated information and using IDW_TAG_imported_unit to import it into each CU that needs it. You can download dwz from the sourceware FTP server here: https://sourceware.org/ftp/dwz/releases/ ftp://sourceware.org/pub/dwz/releases/ The vital stats: Size md5sum Name 188KiB f99770d7d176001951a592fdcb0a788c dwz-0.15.tar.gz 147KiB d2867986d0df78bfbc22587628873fae dwz-0.15.tar.xz There is a web page for DWZ at: https://sourceware.org/dwz/ DWZ 0.15 includes the following changes and enhancements: * Uses xxHash hashing algorithm. A 8% ~ 14% speedup. * Set endianity of multifile using -e, --multifile-endian. * Set pointer size of multifile using -p, --multifile-pointer-size * Process files in parallel using -j N --jobs N. The default is processors / 2. Disabled when multifile is used. * Prints abbrev or DIE offset for Unknown DWARF error messages. * All testcases have been updated to work against the binutils 2.39. = git shortlog = Lv Ying (1): Fix handling readelf following links by default Mark Wielaard (11): Mark and init shstrtab[_len] and const in optimize_multifile Workaround binutils readelf following and printing alt file. Print abbrev or DIE offset for Unknown DWARF error message. Remove double semicolon Always assign svalue when checking and reporting negative values Redirect stder in gdb-add-index.sh test do-release.sh: Create signed annotated tags gen-copyright-years.sh skip native.c Check -DXXH_INLINE_ALL works, otherwise link against libxxhash Add .note.GNU-stack in dwarf.exp generated files Bump version to 0.15 Martin Liška (6): Fix UBSAN reported for Libreoffice so files testsuite: verify directly merged DW_AT_declarations testsuite: remove leading spaces Use xxHash hashing algorithm. Use grep -E instead of egrep. Fix executable stack warning from linker Tom de Vries (56): Add --devel-no-checksum-cycle-opt Add --devel-progress-mem Release process improvements Break up main Make some variables and functions static Remove USED and UNUSED annotations Fix ubsan triggered in gdb-add-index.sh Fix another reference from PU to CU for odr Handle reordered dup chains in create_import_tree Print cu_offset for --devel-dump-pus Add --devel-skip-producer Make main more readable [testsuite] Fix pr27463.sh on riscv64 Factor out args.c and args.h Change files var in main to char ** [testsuite] Handle readelf following links by default Make smaller-than.sh match dwz heuristic [testsuite] Remove smaller-than.sh test in pr24747.sh Factor out dwz_files_1 Factor out dwz_with_low_mem [testsuite] Show error output in twice-multifile.sh Fix low-mem memory leak Fix memory leak in write_multifile Fix memory leak in build_abbrevs Move hardlink handling out of dwz function Fix uninitialized var in dwz_one_file Add check-valgrind Don't use argv[0] in usage Add -5 to usage header Add --multifile-pointer-size and --multifile-endian Process files in parallel Add -p auto and -e auto Factor out {encode,decode}_child_exit_status Run two-files-low-mem-die-limit-0.sh with -j1 Add low_mem_p to struct file_result Factor out wait_child_exit Initialize pids in dwz_files_1 Factor out wait_children_exit Use goto in dwz_files_1 Do finalize-multifile in parallel Minimize struct file_result Calculate workset before serial/parallel code in dwz_files_1 Fix incorrect res arg for wait_child_exit Add ret to struct file_result Handle skip_multifile in encode/decode_child_exit_status Apply multifile_force_{ptr_size,endian} ASAP Use vars to name parallel parts in dwz_files_1 Enable parallel multifile with -e -p [testsuite] Fix handling of missing section in smaller-than.sh Ensure help message lines end with dot Factor out common flags between dwz and dwz-for-test Eliminate sed usage in building dwz-for-test Add util.h Factor out pool.{c,h} Add -p native and -e native Introduce struct pipe