Closed Bug 1648519 Opened 4 years ago Closed 4 years ago

clang-11 Windows instrumented builds need the PGO runtime path

Categories

(Firefox Build System :: General, defect)

defect

Tracking

(firefox79 fixed)

RESOLVED FIXED
mozilla79
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?

Flags: needinfo?(mh+mozilla)

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...

Flags: needinfo?(mh+mozilla)

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
Status: NEW → RESOLVED
Closed: 4 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla79
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: