[all-commits] [llvm/llvm-project] f1d5cb: [dsymutil] Add preliminary support for DWARF 5.
Jonas Devlieghere via All-commits
all-commits at lists.llvm.org
Tue Jan 12 21:56:28 PST 2021
Branch: refs/heads/main
Home: https://github.com/llvm/llvm-project
Commit: f1d5cbbdee5526bc86eac0a5652b115d9bc158e5
https://github.com/llvm/llvm-project/commit/f1d5cbbdee5526bc86eac0a5652b115d9bc158e5
Author: Jonas Devlieghere <jonas at devlieghere.com>
Date: 2021-01-12 (Tue, 12 Jan 2021)
Changed paths:
M llvm/include/llvm/DWARFLinker/DWARFLinker.h
M llvm/include/llvm/DWARFLinker/DWARFLinkerCompileUnit.h
M llvm/include/llvm/DWARFLinker/DWARFStreamer.h
M llvm/lib/DWARFLinker/DWARFLinker.cpp
M llvm/lib/DWARFLinker/DWARFLinkerCompileUnit.cpp
M llvm/lib/DWARFLinker/DWARFStreamer.cpp
A llvm/test/tools/dsymutil/Inputs/private/tmp/dwarf5/dwarf5.o
A llvm/test/tools/dsymutil/Inputs/private/tmp/dwarf5/dwarf5.out
A llvm/test/tools/dsymutil/X86/dwarf5.test
M llvm/tools/dsymutil/DwarfLinkerForBinary.cpp
M llvm/tools/dsymutil/DwarfLinkerForBinary.h
Log Message:
-----------
[dsymutil] Add preliminary support for DWARF 5.
Currently dsymutil will silently fail when processing binaries with
Dwarf 5 debug info. This patch adds rudimentary support for Dwarf 5 in
dsymutil.
- Recognize relocations in the debug_addr section.
- Recognize (a subset of) Dwarf 5 form values.
- Emits valid Dwarf 5 compile unit header chains.
To simplify things (and avoid having to emit indexed sections) I decided
to emit the relocated addresses directly in the debug info section.
- DW_FORM_strx gets relocated and rewritten to DW_FORM_strp
- DW_FORM_addrx gets relocated and rewritten to DW_FORM_addr
Obviously there's a lot of work left, but this should be a step in the
right direction.
rdar://62345491
Differential revision: https://reviews.llvm.org/D94323
More information about the All-commits
mailing list