Open nalimilan opened 3 years ago
This is happening because we forward-declare functions as a const void *
, and that's fine because the ABI interface for a void *
and a function are the same once you're merging translation units, but with LTO, the compiler wants the types to match, so it gets mad at us.
We could fix that by forward-declaring the functions "properly", e.g. instead of auto-generating the list of function names, we could write out all the function prototypes from this file. I don't think this would have have any real benefit except that the LTO flag might work.
The build fails when the
-flto
build flag is passed. This is annoying to build RPM packages as that flag is included in default Fedora flags.