Skip to content

[Cherry-pick] Patches related to dwarf linker and AccelTable #8106

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

felipepiovezan
Copy link

This should be the last batch of cherry-picks before we can start bringing in the more interesting work for debug_names

avl-llvm and others added 15 commits February 1, 2024 16:55
It looks like current support for DWARFv5 is good enough to have
output verification. This patch removes DWARFv5 restriction for
output verification.

Differential Revision: https://reviews.llvm.org/D158508

(cherry picked from commit 9173cab)
location-expression.test and tls-variable.test failed because wrong
endianness was used on powerpc machine. To fix the issue this patch
uses endianness from debug map as endianness for the whole target file.
Previosly, architecture endianness won over what is specified
in debug map.

Differential Revision: https://reviews.llvm.org/D159349

(cherry picked from commit 097971b)
…rParallel.

This patch is extracted from D96035, it adds support for the accelerator
tables to the DWARFLinkerParallel functionality.

Differential Revision: https://reviews.llvm.org/D154793

(cherry picked from commit 08136d8)
Inspired by https://reviews.llvm.org/D139487 , but I apply manual fixes
when clang-tidy does not provide the best fix.

(cherry picked from commit d87f9e2)
These source files do not use StringMap.

(cherry picked from commit 6e8013a)
These source files do not use StringMap.h.

(cherry picked from commit 643b2cc)
Identified with misc-include-cleaner.

(cherry picked from commit 9c5a5a4)
…et (llvm#69399)

This is pre-cursor patch to enabling type units with DWARF5 acceleration
tables.
With this change it allows for entries to contain offsets directly, this
way type
units do not need to be preserved until .debug_names is written out.

(cherry picked from commit da27c25)
…70515)

Enable Type Units with DWARF5 accelerator tables for monolithic DWARF.
Implementation relies on linker to tombstone offset in LocalTU list to
-1 when
it deduplciates type units using COMDAT.

(cherry picked from commit b00e2f2)
This patch is extracted from D96035, it adds support for the type
deduplication mode. With this patch DWARFLinkerParallel handles --odr
option. It also processes clang modules.

(cherry picked from commit b61ac4a)
This fixes usage of PointerIntPair on 32-bit platform -
llvm#73267.

(cherry picked from commit 6b708cc)
…he test

This makes it work in environments where the test is running in a write-protected
current directory. Updated similarly to other such tests, like
https://github.com/llvm/llvm-project/blob/8bd06d5b65845e5e01dd899a2deb773580460b89/llvm/test/tools/llvm-dwp/X86/absolute_paths.test#L3.

(cherry picked from commit 197f305)
Enables Type Units with DWARF5 accelerator tables for split dwarf. It is
still
under discussion what is the best way to implement support for
de-duplication in
DWP. This will be in follow up PR.

(cherry picked from commit e8f3ccd)
Renaming a member variable from "Endoding" to "Encoding".

Also replace inlined code for "isNormalized" with a call to the
function, so that if the definition of normalization ever changes, we
only need to change the one place.

(cherry picked from commit 058e527)
@felipepiovezan
Copy link
Author

@swift-ci test

@felipepiovezan felipepiovezan merged commit efc2ccb into swiftlang:stable/20230725 Feb 2, 2024
@felipepiovezan felipepiovezan deleted the felipe/cherry-picks-debugnames2 branch February 2, 2024 17:38
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants