[PATCH] D159471: [DWARFVerifier] Allow ObjectiveC names in dwarf_debug tables

Felipe de Azevedo Piovezan via Phabricator via llvm-commits llvm-commits at lists.llvm.org
Thu Sep 7 09:26:58 PDT 2023


fdeazeve added a comment.

This is exposing an issue with `lldb/test/API/lang/objc/modules-objc-property/TestModulesObjCProperty.py`.
This test compiles and ObjectiveC program and runs dsymutil on the binary.
By default, dsymutil verifies the output only if the input is valid.
With this patch, the input is now considered valid. So dsymutil verifies the output, which turns out to be invalid (for other reasons?)
If I don't apply this patch and force dsymutil to verify the output of that test, it also says the output is invalid.

build_Release/./bin/dsymutil"  -o "a.out.dSYM" "a.out"
Verifying .debug_abbrev...
Verifying .debug_info Unit Header Chain...
Verifying .debug_types Unit Header Chain...
Verifying non-dwo Units...
Verifying unit: 1 / 6, "_Builtin_stddef_max_align_t"
Verifying unit: 2 / 6, "Darwin"
Verifying unit: 3 / 6, "MachO"
Verifying unit: 4 / 6, "ObjectiveC"
Verifying unit: 5 / 6, "myModule"
Verifying unit: 6 / 6, "/Users/piovezan/workspace/llvm-project/worktrees/src1/lldb/test/API/lang/objc/modules-objc-property/main.m"
Verifying dwo Units...
Verifying .debug_line...
warning: .debug_line[0x00003b18].prologue.file_names[2] is a duplicate of file_names[0]
Verifying .debug_str_offsets...
error: .debug_str_offsets: contribution 0x0: index 0x0: invalid string offset *0x0 == 0x5C, is neither zero nor immediately following a null character
error: .debug_str_offsets: contribution 0x0: index 0x1: invalid string offset *0x4 == 0x5, is neither zero nor immediately following a null character
Verifying .debug_names...
error: output verification failed for arm64
make: *** [a.out.dSYM] Error 1


Repository:
  rG LLVM Github Monorepo

CHANGES SINCE LAST ACTION
  https://reviews.llvm.org/D159471/new/

https://reviews.llvm.org/D159471



More information about the llvm-commits mailing list