[libc] Set the stub filename to the target name instead of the source
authorJoseph Huber <jhuber6@vols.utk.edu>
Tue, 14 Mar 2023 15:27:09 +0000 (10:27 -0500)
committerJoseph Huber <jhuber6@vols.utk.edu>
Tue, 14 Mar 2023 15:31:04 +0000 (10:31 -0500)
commitc2a17bff24f0b76c7aedd2f2396eae154c95de60
tree367f759c14b2822ec23c4788b8caeba003bc6579
parentcb47e254e52244548cebfa4d9848f1f10dee7cf2
[libc] Set the stub filename to the target name instead of the source

The GPU target requires some weird special case handling to create fat
binaries. CMake offers no way to set the name of an object library. The
only way to do this is to create a file with the desired name and use
that. Currently we name it after the source filename. However, this
breaks if there is more than a single source. This patch changes the
logic to instead look up the object target name and use that. E.g.
`src.__support.OSUtil.osutil` will be `osutil.cpp`.

Reviewed By: sivachandra

Differential Revision: https://reviews.llvm.org/D145912
libc/cmake/modules/LLVMLibCObjectRules.cmake