clang-11 Windows instrumented builds need the PGO runtime path
Categories
(Firefox Build System :: General, defect)
Tracking
(firefox79 fixed)
Tracking | Status | |
---|---|---|
firefox79 | --- | fixed |
People
(Reporter: away, Assigned: away)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
In bug 1621552, we stopped passing the PGO runtime library to the linker because clang adds that library's full path as a dependentlib in object files, since clang-9.
However, in clang-11, the dependentlib no longer contains the full path but only the basename: https://github.com/llvm/llvm-project/commit/b8000c0ce84541c5b5535419234fb65ce77d6756
We'll need to set up the library path like before.
glandium, I tried reverting the LIB
piece of bug 1621552, which works for me locally on a native Windows build, but CI still can't find the PGO library. Does the cross-compile environment not use $LIB
or something?
Comment 2•4 years ago
|
||
It does, but it needs a ;
rather than a :
. (;
works on Windows too, no need to make it conditional on the host OS).
I wish we weren't using lld-link.exe directly...
clang 11 will stop using full paths in PGO dependentlib declarations, so we need to tell the linker where to find clang_rt.profile-x86_64.lib.
This is mostly a revert of the $LIB
piece of bug 1621552, except we need to change the path separator since we've switched to cross-compiles in the meantime.
Pushed by dmajor@mozilla.com: https://hg.mozilla.org/integration/autoland/rev/96e224617b2f Add back clang lib directory to LIB on Windows r=glandium
Comment 5•4 years ago
|
||
bugherder |
Description
•