Maybe someone here has some ideas. In one project I'm working on, the underlying OS does initialization through an array of structs that are linked in the same section. I can make this work by using #[link_section...], and #[used] to make sure the symbol ends up there. The problem is that it... I think there are some other heuristics, but I forget what they are exactly, something in the set of: * making the statics `pub` * making the statics `no_mangle` But yeah, `used(linker)` and a `KEEP` section in the linker scripts are worth having.