mold
mold copied to clipboard
Mold: A Modern Linker 🦠
``` configure:6727: checking whether the C compiler works configure:6749: i686-cros-linux-gnu-gcc -flto -fuse-ld=mold -flto conftest.c >&5 mold: fatal: /usr/local/tmp/ccOTdojs.o: not claimed by the LTO plugin collect2: error: ld returned 1 exit...
Currently, we relax AUIPC+JALR only to JAL, but if the C extension is available and the displacement is within its range, we should optimize it further to C.JAL. Doing this...
Currently, mold always create a PLT entry if a call instruction refers an external library function. Doing this is considered the best practice because of the following two reasons. 1....
It is reported that mold couldn't handle Thumb to ARM function call. We need to fix it. In general, mold isn't tested well for non-ARMv7, so we need to conduct...
If `-z now` is passed to the linker, the linker sets a flag to its output so that the dynamic loader resolves all relocations for PLT on process startup (i.e....
HPC Engineering at AWS generously donated us US$5000/yr AWS credits. With this much AWS credits, I want to write a test script that fires up bunch of EC2 spot instances...
Currently, mold does not support range extension thunks for ARM32, so programs whose .text is larger than 16 MiB could fail to link. We already implemented range extension thunks for...
mold currently doesn't relax any TLS relocations at all. We should implement GD → LE and LD → LE relaxations just like we did to x86-64.
On RV64, the register `gp` always points to .sdata+0x800 to allow a linker to relax global variable accesses if they are within [.sdata, .sdata+0x1000). mold does not implement this relaxation...
This is a bit stretch goal as it involves standardization, GCC hacking and adding a feature to the linker. But here goes. Currently, RV64 uses the traditional TLS access model....