Open pps83 opened 2 days ago
These are all symlinks on Linux, which become copies on Windows...
There is ongoing work to allow linking against a common DLL on Windows, which is currently not possible due to platform limitations. See https://github.com/llvm/llvm-project/issues/109483.
Windows symlinks are not enabled by default, otherwise LLVM_TOOL_LLVM_DRIVER_BUILD
is a perfect choice.
These are all symlinks on Linux, which become copies on Windows...
There is ongoing work to allow linking against a common DLL on Windows, which is currently not possible due to platform limitations. See #109483.
That's probably something else, as the binaries are clearly not identical. I read the meta post and I understand what it is, simply takes time to take care of proper visibilty tags for public vs private symbols.
One other alternative workaround is to create a single dll/so that simply exports main_clang_cl
(...), main_clang_cpp
and then tiny executables that could simple forward their main(...) args to the dll/so
Hello Llvm,
why are all the clang/llvm builds ship these absolutely massive binaries that are almost binary exact copies of each other? Like intel's icx 2025 has
clang.exe
,clang++.exe
,clang-cl.exe
,clang-cpp.exe
. These four binaries are each 110MB in size, by the diff between these is just like a few kilobytes. Similar story goes with 76MB sizedld.lld.exe
,lld.exe
,lld-link.exe
. In the same manner, clang that ships with MS visual studio has these binaries at 119MB and 88MB and other smaller almost identical binaries.Shouldn't all these be small binaries that simply link to a shared .dll/.so to avoid all that duplication?