New issue
Advanced search Search tips

Issue 708769 link

Starred by 1 user

Issue metadata

Status: Fixed
Owner:
Closed: Apr 2017
EstimatedDays: ----
NextAction: ----
OS: Windows
Pri: 3
Type: Bug

Blocking:
issue 82385
issue 683729



Sign in to add a comment

Get chrome/clang/win build working with VC17

Project Member Reported by thakis@chromium.org, Apr 5 2017

Issue description

Patch in https://codereview.chromium.org/2762093003/ (patch set 8) and build with is_clang, fix problems. At least this one:

FAILED: mksnapshot.exe mksnapshot.exe.pdb 
E:/b/depot_tools/python276_bin/python.exe ../../build/toolchain/win/tool_wrapper.py link-wrapper environment.x64 False link.exe /nologo /OUT:./mksnapshot.exe /PDB:./mksnapshot.exe.pdb @./mksnapshot.exe.rsp
handler-shared.obj : error LNK2019: unresolved external symbol _interlockedbittestandset referenced in function "public: __cdecl v8::internal::trap_handler::MetadataLock::MetadataLock(void)" (??0MetadataLock@trap_handler@internal@v8@@QEAA@XZ)


Which probably needs to be an intrinsic, similar to clang r298538.


Hans has kindly volunteered to take a look.
 
I've patched over that link error and I'm running a local build. ~90% done...
I patched out the spinlock_.test() loop in MetadataLock::MetadataLock() and did a clang build with the win_clang builder settings and it completed without errors. So, looks like just the one intrinsic is missing now. These are the settings I used:

is_clang = true
is_component_build = true
is_debug = true
strip_absolute_paths_from_debug_symbols = true
symbol_level = 1
use_goma = true

Comment 3 by h...@chromium.org, Apr 7 2017

_interlockedbittestandset has been implemented as a builtin in Clang r299782
Project Member

Comment 4 by bugdroid1@chromium.org, Apr 12 2017

The following revision refers to this bug:
  https://chromium.googlesource.com/chromium/src.git/+/a6f580ee29385647f86e82efb9ab1192c6b0f849

commit a6f580ee29385647f86e82efb9ab1192c6b0f849
Author: hans <hans@chromium.org>
Date: Wed Apr 12 15:16:27 2017

Roll clang 298539:299960.

This includes r299782 which allows for using
_interlockedbittestandset without including
intrin.h, and a configuration change which means
Clang no longer implicitly passes -Wl,--build-id
to the linker by default.

BUG= 709521 , 622775 , 708769 

Review-Url: https://codereview.chromium.org/2816593003
Cr-Commit-Position: refs/heads/master@{#464027}

[modify] https://crrev.com/a6f580ee29385647f86e82efb9ab1192c6b0f849/tools/clang/scripts/update.py

Comment 5 by thakis@chromium.org, Apr 13 2017

Status: Fixed (was: Assigned)
This should work now.

Sign in to add a comment