This is an archive of the discontinued LLVM Phabricator instance.

clang-cl: Store the linker options for the ASAN runtime libraries in the obj files as opposed to pass it to the linker on the command line
AbandonedPublic

Authored by ehsan on Jul 8 2014, 5:45 PM.

Details

Reviewers
hans
timurrrr
rnk
Summary

This enables using to compile the code and then
link it using link.exe directly without invoking the linker through clang-cl.
It should hopefully make it easier for projects that don't use the compiler
to invoke the linker to use ASAN.

Diff Detail

Event Timeline

ehsan updated this revision to Diff 11176.Jul 8 2014, 5:45 PM
ehsan retitled this revision from to clang-cl: Store the linker options for the ASAN runtime libraries in the obj files as opposed to pass it to the linker on the command line.
ehsan updated this object.
ehsan edited the test plan for this revision. (Show Details)
ehsan added a reviewer: rnk.
ehsan added a subscriber: Unknown Object (MLST).
rnk added a reviewer: timurrrr.Jul 9 2014, 2:16 PM
rnk edited edge metadata.

Generally we want to be careful about embedding full paths into the binary. While nobody is doing distributed builds today, in the future we want to support that.

What do you think of embedding just the basename into .drectve, and adding clang's resource dir to the LIB environment variable in the build system? That's a far less invasive change than making clang do the link step instead of link.exe, and should solve the problem.

ehsan updated this revision to Diff 11262.Jul 10 2014, 5:52 AM
ehsan edited edge metadata.

Addressed the review comment.

ehsan abandoned this revision.Jul 10 2014, 1:27 PM