New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 738468 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Jun 2018
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug



Sign in to add a comment

LNK4102 warning on clang ToT bots causing build failures

Project Member Reported by r...@chromium.org, Jun 30 2017

Issue description

I'm seeing this when linking base.dll:

[5324/54362] LINK(DLL) base.dll base.dll.lib base.dll.pdb
FAILED: base.dll base.dll.lib base.dll.pdb 
C:/b/depot_tools/python276_bin/python.exe ../../build/toolchain/win/tool_wrapper.py link-wrapper environment.x86 False link.exe /nologo /IMPLIB:./base.dll.lib /DLL /OUT:./base.dll /PDB:./base.dll.pdb @./base.dll.rsp
LINK : ./base.dll not found or not built by the last incremental link; performing full link
enum_variant.obj : warning LNK4102: export of deleting destructor '[thunk]:private: virtual void * __thiscall base::win::EnumVariant::`vector deleting destructor'`adjustor{4}' (unsigned int)'; image may not run correctly
LINK : error LNK1218: warning treated as error; no output file generated

If I switch back to the pinned version of clang, I don't see this error, so this must be a clang regression.

Failing build window:
https://build.chromium.org/p/chromium.fyi/builders/ClangToTWin%28dbg%29/builds/8331
https://build.chromium.org/p/chromium.fyi/builders/ClangToTWin%28dbg%29/builds/8332

good: r306717
bad:  r306781
 

Comment 1 by r...@chromium.org, Jun 30 2017

Uh, this is probably the culprit:

commit 629cc8460eaff9989aa7f70a1d3e65c386817c53
Author: Shoaib Meenai <smeenai@fb.com>
Date:   Fri Jun 30 00:07:54 2017 +0000

    [CodeGen] Propagate dllexport to thunks

    Under Windows Itanium, we need to export virtual and non-virtual thunks
    if the functions being thunked are exported. These thunks would
    previously inherit their dllexport attribute from the declaration, but
    r298330 changed declarations to not have dllexport attributes. We
    therefore need to add the dllexport attribute to the definition
    ourselves now.

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

Notes:
    git-svn-rev: 306770

Reverting...

Comment 2 by r...@chromium.org, Jun 20 2018

Status: Fixed (was: Untriaged)
This relanded as r308899 with more logic to keep it Itanium-specific.

Sign in to add a comment