Summary: This adds support for auto-detection of path style to SymbolFileBreakpad (similar to how r351328 did the same for DWARF). We guess each file entry separately, as we have no idea which file came from which compile units (and different compile units can have different path styles). The breakpad generates should have already converted the paths to absolute ones, so this guess should be reasonable accurate, but as always with these kinds of things, it is hard to give guarantees about anything. In an attempt to bring some unity to the path guessing logic, I move the guessing logic from inside SymbolFileDWARF into the FileSpec class and have both symbol files use it to implent their desired behavior. Reviewers: clayborg, lemo, JDevlieghere Subscribers: aprantl, markmentovai, lldb-commits Differential Revision: https://reviews.llvm.org/D57895 llvm-svn: 353702
22 lines
895 B
Plaintext
22 lines
895 B
Plaintext
# Test handling of breakpad files with some unusual or erroneous constructs. The
|
|
# input contains a LINE record which does not belong to any function as well as
|
|
# a FUNC record without any LINE records.
|
|
|
|
# RUN: yaml2obj %S/Inputs/basic-elf.yaml > %T/line-table-edgecases.out
|
|
# RUN: %lldb %T/line-table-edgecases.out \
|
|
# RUN: -o "target symbols add -s line-table-edgecases.out %S/Inputs/line-table-edgecases.syms" \
|
|
# RUN: -s %s -o exit | FileCheck %s
|
|
|
|
# Test that line table for func2 was parsed properly:
|
|
image dump line-table a.c
|
|
# CHECK-LABEL: Line table for /tmp/a.c
|
|
# CHECK-NEXT: 0x00000000004000c0: /tmp/a.c:2
|
|
# CHECK-NEXT: 0x00000000004000c2:
|
|
# CHECK-EMPTY:
|
|
|
|
# Looking up an address inside func should still work even if it does not result
|
|
# in a line entry.
|
|
image lookup -a 0x4000b2 -v
|
|
# CHECK-LABEL: image lookup -a 0x4000b2 -v
|
|
# CHECK: Summary: line-table-edgecases.out`func + 2
|