⛏️ index : haiku.git

author Augustin Cavalier <waddlesplash@gmail.com> 2023-08-25 16:57:24.0 -04:00:00
committer waddlesplash <waddlesplash@gmail.com> 2023-10-07 14:57:05.0 +00:00:00
commit
5c6cea9dd7c6b9de997aadc439d9d8320eadf9b0 [patch]
tree
74135451b594593ea58cb5956088471b7adc7c15
parent
d252971b892e1ae60068a8185ceec65b5b74ad5c
download
5c6cea9dd7c6b9de997aadc439d9d8320eadf9b0.tar.gz

Debugger: Move line-info version check up and print a warning.

This way it will be clear why there is no line-info.

Change-Id: I2e5d0e1f90edabfde6c3f637320a82e7f988fe20
Reviewed-on: https://review.haiku-os.org/c/haiku/+/6990
Reviewed-by: waddlesplash <waddlesplash@gmail.com>

Diff

 src/kits/debugger/dwarf/DwarfFile.cpp |  9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/kits/debugger/dwarf/DwarfFile.cpp b/src/kits/debugger/dwarf/DwarfFile.cpp
index 7055e9e..0e5cc26 100644
--- a/src/kits/debugger/dwarf/DwarfFile.cpp
+++ b/src/kits/debugger/dwarf/DwarfFile.cpp
@@ -1774,6 +1774,12 @@
	// version (uhalf)
	uint16 version = dataReader.Read<uint16>(0);

	if (version != 2 && version != 3) {
		WARNING("DwarfFile::_ParseLineInfo(\"%s\"): unsupported "
			"version %d\n", fName, version);
		return B_UNSUPPORTED;
	}

	// header_length (4/8)
	uint64 headerLength = dwarf64
		? dataReader.Read<uint64>(0) : (uint64)dataReader.Read<uint32>(0);
@@ -1803,9 +1809,6 @@

	if (dataReader.HasOverflow())
		return B_BAD_DATA;

	if (version != 2 && version != 3)
		return B_UNSUPPORTED;

	TRACE_LINES("  unitLength:           %" B_PRIu64 "\n", unitLength);
	TRACE_LINES("  version:              %u\n", version);