ograms as "normal libraries", > but still getting LTO advantage internally in the libraries. I'd asked Jaime Da Silva (the original author of crunchgen) about this. He eventually checked his spam chocked personal domain mbox and saw my message. He had this to say: I haven't touched crunch in ~30 years. No doubt "crunchide" is the problem, zapping symbols needed by CFI and LTO. Assuming these advanced techniques can work with multiple link passes ("ld -r") then it should be possible to modify crunchide to rename symbols rather than zapping them. I am a little surprised crunch is still in use in freebsd. I think the concept, if it were more flexible, would still have traction in embedded systems, but everyone seems to be fine with just using busybox and calling it done. In case this is useful!