HomePhabricator

[ThinLTO] Remove dllimport attribute from locally defined symbols

Description

[ThinLTO] Remove dllimport attribute from locally defined symbols

Summary:
The LTO/ThinLTO driver currently creates invalid bitcode by setting
symbols marked dllimport as dso_local. The compiler often has access
to the definition (often dllexport) and the declaration (often
dllimport) of an object at link-time, leading to a conflicting
declaration. This patch resolves the inconsistency by removing the
dllimport attribute.

Reviewers: tejohnson, pcc, rnk, echristo

Reviewed By: rnk

Subscribers: dmikulin, wristow, mehdi_amini, inglorion, eraman, steven_wu, dexonsmith, dang, llvm-commits

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

Details

Committed
ormrisDec 19 2018, 11:07 AM
Reviewer
rnk
Differential Revision
D55627: [ThinLTO] Remove dllimport attribute from locally defined symbols
Parents
rL349666: [sanitizer] Remove spurious semi-colon
Branches
Unknown
Tags
Unknown