Skip to main content
11 events
when toggle format what by license comment
Jun 4, 2019 at 19:57 comment added Jan Hudec @curiousguy, no, you can't, because the dynamic dependencies are, intentionally, allowed to change between linktime and runtime. So the answer is always yes. Besides, the libc is dlopening plugins depending on configuration already.
Jun 4, 2019 at 18:57 comment added curiousguy @JanHudec You can determine by global analysis whether object files can be dynamically loaded after initial linking.
May 8, 2019 at 21:14 comment added Jan Hudec @Caleth, in a static binary the linker could rearrange the layout to optimize it, but in any system that supports dynamic libraries there is no such thing as “finished binary”, because another shared object can be loaded almost anytime.
May 8, 2019 at 21:06 comment added Caleth @JanHudec only at the edges. In the finished binary anything goes
May 8, 2019 at 20:35 comment added Jan Hudec The implementation is, however, required to define the calling convention in a fully deterministic way and stick to it, so that separately compiled objects can be linked together.
May 8, 2019 at 10:46 comment added Matthieu M. @Deduplicator: Sure. I see it as a proof of concept that this is feasible; it's just that the requirement of a sealed hierarchy essentially requires Whole Program Analysis, which itself requires compiling the whole program in one shot.
May 7, 2019 at 21:04 comment added Deduplicator @MatthieuM. Yes, it is. But that's user-code.
May 7, 2019 at 18:34 history edited Caleth CC BY-SA 4.0
added 147 characters in body
May 7, 2019 at 14:28 comment added Matthieu M. @Deduplicator: Well, the LLVM codebase is relatively famous for doing its own virtual-dispatch based on storing a hierarchy-specific enum field in the base class and then switching on it. It just requires a sealed hierarchy...
May 7, 2019 at 11:03 comment added Deduplicator … and strictly speaking, it need not use a vtable at all. Though AFAIK, that's purely academic at best.
May 7, 2019 at 10:37 history answered Caleth CC BY-SA 4.0