3 ms·
Are you asking if mold can link an executable file and its depending .so files into a single binary? If so, neither mold nor other major linkers can't do that.
by rui314 6y ago
Are you asking if mold can link an executable file and its depending .so files into a single binary? If so, neither mold nor other major linkers can't do that.
- enriquto 6y agoExactly. That would be a pretty big deal and definitely a killer feature. Equivalently, a tool for converting .a to .so
- spacechild1 6y ago> Equivalently, a tool for converting .a to .so Well, an .a file is just an archive of object files. Turning several object files into a single binary is pretty much what a linker does. However, you can't really automate this because object files might have external dependencies and the linker needs to know what these dependencies are.
- enriquto 6y ago> you can't really automate this because object files might have external dependencies and the linker needs to know what these dependencies are If it can be done at runtime of the program, I guess it can be done at runtime of the linker, doesn't it?
- higerordermap 6y agoYeah I have the same question. lld can list the dependencies right?
- spacechild1 6y agoYes, because someone put them there ;-)
- spacechild1 6y agoTechnically, Linux and macOS allow to build a shared library with undefined symbols and let the loader figure it out, but I wouldn't recommend it (it's easy to miss linker errors). On Windows, however, this is not possible. EDIT: also, building with unresolved symbols requires the host application to know about and link all the required external libraries, which is usually not what you want...