pkgsrc-Changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
CVS commit: pkgsrc/devel/libdwarf
Module Name: pkgsrc
Committed By: ryoon
Date: Thu Dec 25 16:57:54 UTC 2025
Modified Files:
pkgsrc/devel/libdwarf: Makefile PLIST distinfo
Added Files:
pkgsrc/devel/libdwarf: buildlink3.mk
Log Message:
devel/libdwarf: Update to 2.2.0
* Add buidlink3.mk for upcomming cad/nvc.
Changelog:
2.2.0:
Date: 2025-10-10 Added functions dwarf_lvn_name_direct() dwarf_lvn_name()
dwarf_lvn_table_entry() to allow complete reading of DWARF6
DW_AT_language_version attributes. Fixed issues reading corrupted
(fuzzed) Apple Mach-o object files: now the code immediately returns
an error instead of seeming stuck. Fixed issues building with gcc
option -std=c99 and the like. Corrected a bug reading line table
data that used forms similar to DWARF5 DW_FORM_strx.
2.1.0:
Date: 2025-07-20 Removed heuristic checs for decompression
reasonableness as they failed on some real object files. Corrected
handling and reporting of the DWARF6 attributes DW_AT_language_name
and DW_AT_language_version. An object with DWARF and GNU debuglink
data and nothing else is now correctly accepted and reported.
2.0.0:
Date: 2025-05-20 Fixed a longstanding bug in configure.ac which
began to cause builds to fail with recent autoconf. Fixed a problem
in test/CmakeLists.txt that caused current builds to fail on Msys2
Mingw64. Updated the error report (for zlib, zstd) when decompression
exceeds a heuristic limit.
0.12.0:
Date: 2025-04-02 Improved the code in dwarfdump checking for valid
address ranges (-k options).. Added the capability of using mmap
instead of malloc in reading section data and functions allowing
reporting on section malloc/mmap. Now detects duplicated attributes
and generates an error and provides a way to suppress the detection
(for cases where one needs to analyze an object that was created
with a broken compiler).
0.11.1:
Date: 2024-12-01 Corrected the reading of DWARF5 .debug_rnglists
and .debug_loclists (with and without split-dwarf)..
0.11.0:
Date: 2024-08-15 Added function dwarf_get_ranges_baseaddress() to
the api to allow dwarfdump and other library callers to easily
derive the (cooked) address from the raw data in the DWARF2, DWARF3,
DWARF4 .debug_ranges section. An example of use is in doc/checkexamples.c
(see examplev).
0.10.1:
Date: 2024-07-01 Release 0.10.0 is defective, do not use it. A new
doc/CMakeLists.txt file was left out and there were problems with
the Version: in libdwarf.pc created by cmake or configure.
0.10.0:
Date: 2024-06-24 Corrected the handling of DWARF5 .debug_rnglists
and .debug_loclists. Has a mistake in generating libdwarf.pc and
that leads to user build failures (when using pkg-config to find
the correct shared libdwarf).
0.9.2:
Date: 2024-04-02 Fixed four vulnerabilities that could crash the
library (segmentation violation etc) reading specific corruptions
to DWARF. DW202402-001, DW202402-002,DW202402-003, and DW202403-001.
Now the library returns an error code for those. Corrected a dwarf.h
misspelling of DW_CFA_hi_user.
0.9.1:
Date: 2024-01-27 Altered the type of the return value of
dwarf_die_abbrev_code() and dwarf_get_section_count() from int to
Dwarf_Unsigned for consistency (should always have been this way).
Problems reading Mach-o (Apple) relocatable object files are fixed.
All three build systems have a option to turn off use of decompression
libraries, see README.md and READMEcmake.md. All type warnings from
MSVC are fixed.
0.9.0:
Date: 2023-12-08 Added support for reading Apple MacOS universal
binaries. Added callers access to certain fields from object files
(for all three supported object formats), and added the
--print-machine-arch option to dwarfdump to show the fields. Three
functions were added to the API, see the Changes section of the
latest documentation or in libdwarf.pdf in the release. No functions
were deleted or had their meaning changed. Vulnerabilities found
by fuzzing were fixed. See the dwarfbug page for vulnerability
details.
0.8.0:
Date: 2023-09-20 The release fixes many vulnerabilities from corrupt
DWARF and/or corrupt Elf. Two new functions are added for DWARF
Frame access to get the correct sign of an argument (the pre-existing
functions remain in place and working avoiding any need for
recompilation or relinking of user code). See the dwarfbug page
for vulnerability details.
0.7.0:
Date: 2023-05-20 The release fixes more than 50 vulnerabilities
from corrupt DWARF and/or corrupt Elf. See the dwarfbug page for
the details. The library now supports Elf with very large numbers
of sections (which introduces an incompatibilty for the very few
users calling dwarf_object_init_b() and dwarf_object_finish()).
This release deletes an unnecessary and unuseable pair of functions
reading the .debug_names section. Additional detail on the changes
is in the Recent Changes section of libdwarf.pdf and the latest
html version.
0.6.0:
Date: 2023-02-20 Fixes for Denial Of Service (possible libdwarf
crash): The dealloc required for dwarf_offset_list() was incorrect,
possibly leading to a crash. The function prototype for
dwarf_dietype_offset() changed so it can work correctly on DWARF4
objects. A memory leak from dwarf_load_loclists() has been fixed.
The function dwarf_get_pubtypes() changed, Dwarf_Type no longer
exists, correcting a library design mistake made in 1993. And the
set of functions using Dwarf_Type are gone, use Dwarf_Global instead.
An object with DW_FORM_strx3 (DWARF5) could result in the library
either crashing or returning an inappropriate error. DW_FORM_strx3
is now handled properly.
0.5.0:
Date: 2022-11-22 The handling of the .debug_abbrev data in libdwarf
is now more cpu-efficient (measurably faster) so access to DIEs
and attribute lists is faster. Corrects CU and TU indexes in the
.debug_names section to be zero based as it is required to be.
dwarf_get_globals() now returns a list of Dwarf_Global names and
DIE offsets whether such are defined in the .debug_names or
.debug_pubnames section or both. A new function, dwarf_global_tag_number(),
returns the DW_TAG of any Dwarf_Global that was derived from the
.debug_names section. Three new functions enable printing of the
.debug_addr table. dwarf_debug_addr_table(), dwarf_debug_addr_by_index(),
and dwarf_dealloc_debug_addr_table().
0.4.2:
Date: 2022-09-13 Fixed libdwarf crashes in certain fuzzed object
files. Fixed all known instances of leaks in dwardump and libdwarf,
so neither valgrind nor -fsanitize can find leaks, even when malloc
is failing due to running out of memory. dwarfdump no longer prints
anything to stderr, all output goes to stdout (libdwarf never prints
anything).
0.4.1:
Date: 2022-06-25. Two places where a carefully corrupted object
file could result in libdwarf crashing a caller due to referencing
memory outside the intended read area have been fixed (DW202205-001
and DW202206-001). One related to DW_FORM_ref_sig8, the other to
the .debug_pubnames section. The library now accepts DW_AT_entry_pc
in a CU DIE as a base address when DW_AT_low_pc is missing (an
extension used by a current compiler). Added function
dwarf_suppress_debuglink_crc() to allow callers to turn off doing
a CRC calculation reading GNU debuglink data (saves time for library
users accessing near-identical builds).
0.4.0:
Date: 2022-04-12. Made changes to 6 interfaces to make three dealloc
functions be named with a pattern consistent with the rest of
libdwarf, a function reverted to a pre-DWARF5 version for correctness,
and changes to the .debug_names API functions to enable full access
to the section. See details in the Recent Changes section of
libdwarf.pdf. dwarfdump now prints all the information in .debug_names
with --print-debug-names.
To generate a diff of this commit:
cvs rdiff -u -r1.3 -r1.4 pkgsrc/devel/libdwarf/Makefile \
pkgsrc/devel/libdwarf/PLIST
cvs rdiff -u -r0 -r1.1 pkgsrc/devel/libdwarf/buildlink3.mk
cvs rdiff -u -r1.5 -r1.6 pkgsrc/devel/libdwarf/distinfo
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: pkgsrc/devel/libdwarf/Makefile
diff -u pkgsrc/devel/libdwarf/Makefile:1.3 pkgsrc/devel/libdwarf/Makefile:1.4
--- pkgsrc/devel/libdwarf/Makefile:1.3 Sat Mar 19 08:47:25 2022
+++ pkgsrc/devel/libdwarf/Makefile Thu Dec 25 16:57:54 2025
@@ -1,6 +1,6 @@
-# $NetBSD: Makefile,v 1.3 2022/03/19 08:47:25 wiz Exp $
+# $NetBSD: Makefile,v 1.4 2025/12/25 16:57:54 ryoon Exp $
-DISTNAME= libdwarf-0.3.4
+DISTNAME= libdwarf-2.2.0
CATEGORIES= devel
MASTER_SITES= https://www.prevanders.net/
EXTRACT_SUFX= .tar.xz
Index: pkgsrc/devel/libdwarf/PLIST
diff -u pkgsrc/devel/libdwarf/PLIST:1.3 pkgsrc/devel/libdwarf/PLIST:1.4
--- pkgsrc/devel/libdwarf/PLIST:1.3 Sat Mar 19 08:47:25 2022
+++ pkgsrc/devel/libdwarf/PLIST Thu Dec 25 16:57:54 2025
@@ -1,7 +1,7 @@
-@comment $NetBSD: PLIST,v 1.3 2022/03/19 08:47:25 wiz Exp $
+@comment $NetBSD: PLIST,v 1.4 2025/12/25 16:57:54 ryoon Exp $
bin/dwarfdump
-include/libdwarf-0/dwarf.h
-include/libdwarf-0/libdwarf.h
+include/libdwarf-2/dwarf.h
+include/libdwarf-2/libdwarf.h
lib/libdwarf.la
lib/pkgconfig/libdwarf.pc
man/man1/dwarfdump.1
Index: pkgsrc/devel/libdwarf/distinfo
diff -u pkgsrc/devel/libdwarf/distinfo:1.5 pkgsrc/devel/libdwarf/distinfo:1.6
--- pkgsrc/devel/libdwarf/distinfo:1.5 Sat Mar 19 08:47:25 2022
+++ pkgsrc/devel/libdwarf/distinfo Thu Dec 25 16:57:54 2025
@@ -1,5 +1,5 @@
-$NetBSD: distinfo,v 1.5 2022/03/19 08:47:25 wiz Exp $
+$NetBSD: distinfo,v 1.6 2025/12/25 16:57:54 ryoon Exp $
-BLAKE2s (libdwarf-0.3.4.tar.xz) = 5711d9fe2daf02830930c8b58f684eca28b08e348fa57d1d9946182a3da0d13e
-SHA512 (libdwarf-0.3.4.tar.xz) = 6957e6c696428b7e59c57e48279528ff602c49ab9833e56a4722f173240eb1373ddd20f5c9dae7c25cc64e6c2131d3b7b5abcf3c12614b88858bdc353a441359
-Size (libdwarf-0.3.4.tar.xz) = 2345036 bytes
+BLAKE2s (libdwarf-2.2.0.tar.xz) = d9963671ece6d5d8a960e3870dea90c52c2c75d169abefeec98f2d868d374317
+SHA512 (libdwarf-2.2.0.tar.xz) = 1a5145b3b9bebbae6e6691590521c56327adb92c0ae95f145bcba8e4402b637d1479c2c6adad069ef9e0e36b2f7c8afc2811173f39e444418e2de7f4277ec393
+Size (libdwarf-2.2.0.tar.xz) = 3027540 bytes
Added files:
Index: pkgsrc/devel/libdwarf/buildlink3.mk
diff -u /dev/null pkgsrc/devel/libdwarf/buildlink3.mk:1.1
--- /dev/null Thu Dec 25 16:57:54 2025
+++ pkgsrc/devel/libdwarf/buildlink3.mk Thu Dec 25 16:57:54 2025
@@ -0,0 +1,12 @@
+# $NetBSD: buildlink3.mk,v 1.1 2025/12/25 16:57:54 ryoon Exp $
+
+BUILDLINK_TREE+= libdwarf
+
+.if !defined(LIBDWARF_BUILDLINK3_MK)
+LIBDWARF_BUILDLINK3_MK:=
+
+BUILDLINK_API_DEPENDS.libdwarf+= libdwarf>=2.2.0
+BUILDLINK_PKGSRCDIR.libdwarf?= ../../devel/libdwarf
+.endif # LIBDWARF_BUILDLINK3_MK
+
+BUILDLINK_TREE+= -libdwarf
Home |
Main Index |
Thread Index |
Old Index