Closed eli-schwartz closed 2 months ago
From a quick look, e.g. parm vs parm7 define similar types using the same name.
Thanks for the report. Should be resolved now.
Thank you for the fast response! :)
(I have not tested the change as the approach to building the package seems to have changed quite a bit in git master, so I'm going to wait until the maintainer of the distro package upgrades to the next version.)
I tried to build with the following *FLAGS to optimize the build:
-flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing
Link-Time Optimization is a massively global compiler optimization pass which is pretty handy for producing faster executables. It also has the interesting property that because the compiler does whole-program analysis using bytecode, it can save type information and perform error checks that it normally doesn’t have enough insight for. In particular, checking for ODR issues and checking function type signature mismatches.
Note that all the -Werror=* flags are used to help detect cases where the compiler tries to optimize by assuming UB cannot exist in the source code -- if it does exist, ordinarily the code would be miscompiled, and this says to make the miscompilation a fatal error.
I got this error:
Originally reported downstream: https://bugs.gentoo.org/933235 Full build log: build.log