You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ecb5ea6 tried to fix cases
when LLD links what seems to be import library header objects
from MSVC. However, the fix seems incorrect; the review at
https://reviews.llvm.org/D133627 concluded that if this (treating
this kind of symbol as a common symbol) is what link.exe does,
it's fine.
However, this is most probably not what link.exe does. The
symbol mentioned in the commit message of
ecb5ea6 would be a common symbol
with a size of around 3 GB; this is not what might have been
intended.
That commit tried to avoid running into the error ".idata$4 should
not refer to special section 0"; that issue is fixed for a similar
style of section symbols in
4a4a8a1.
Therefore, revert ecb5ea6 and
extend the fix from 4a4a8a1 to
also work for the section symbols in MSVC generated import libraries.
The main detail about them, is that for symbols of type
IMAGE_SYM_CLASS_SECTION, the Value field is not an offset, but
it is an optional set of flags, corresponding to the Characteristics
of the section header (although it may be empty).
0 commit comments