- Remove unnecessary warning flags during linking stage
- Remove -fuse-linker-plugin, implied by -flto at link time
- Remove -fpermissive to avoid future warning creep (depends on https://github.com/prusa3d/Prusa-Firmware/pull/2405)
- Add -fno-rtti for c++ (no savings, just to avoid future usage of rtti)
Some randomness is used by gcc when generating symbol names, unique
values and for LTO.
Provide a constant value based on the object file name in order to avoid
object files changing build-to-build, making debugging/disassembly
easier.