Rui Ueyama
Rui Ueyama
I want to support the v2 API, but it looks like setting `LDPR_PREEMPTED_REG` or `LDPR_PREEMPTED_IR` to all symbols is still different from returning `LDPT_NO_SYMS`. I don't know why, but looks...
I suspect that if an IR object file contains a static initializer which refers some symbol, we can't eliminate a reference to that symbol even if we mark it as...
@marxin Sure. Is there any way to distinguish the plugin with v3 support from the ones without? I have a local patch to restart the linker process to starting over...
I have another question. It looks like gcc linker plugin sometimes adds new symbols `_Unwind_Resume` and `__gxx_personality_v0` as a result of compilation even though they are not added by `add_symbols`....
@marxin I built your gcc branch and try to compile a few programs. mold can be built with your gcc+mold with -flto, which is great. But it cannot built LLVM....
@marxin Here is how I tried to build clang with gcc+mold. ``` git clone [email protected]:llvm/llvm-project.git mkdir llvm-project/build cd llvm-project/build cmake -GNinja -DLLVM_ENABLE_PROJECTS='clang;lld' -DLLVM_USE_LINKER=mold -DLLVM_ENABLE_LTO=On -DCMAKE_C_COMPILER=/home/ruiu/gcc-bin/bin/gcc -DCMAKE_CXX_COMPILER=/home/ruiu/gcc-bin/bin/g++ ../llvm ninja ``` I...
@janhubicka It looks like LLVM doesn't add new undefined symbols as far as I tested. I didn't expect that GCC would add a new undefined symbol as a result of...
@sajcho I think that symbol is another instance of the symbols we discussed above. It's added by LTO after the symbol resolution stage.
@sajcho Is your gcc built with marxin's patch or without?
I made several changes a few hours ago, so if you rebuild mold and try again, it might pass this time.