I did this:
```
CFLAGS="-flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
LDFLAGS="-flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing"
```
I got the following compiler error:
```
libtool: link: x86_64-pc-linux-gnu-gcc -shared -fPIC -DPIC .libs/liberasurecode_la-erasurecode.o .libs/liberasurecode_la-erasurecode_helpers.o .libs/liberasurecode_la-erasurecode_preprocessing.o .libs/liberasurecode_la-erasurecode_postprocessing.o utils/chksum/.libs/liberasurecode_la-crc32.o utils/chksum/.libs/liberasurecode_la-alg_sig.o backends/null/.libs/liberasurecode_la-null.o backends/xor/.libs/liberasurecode_la-flat_xor_hd.o backends/jerasure/.libs/liberasurecode_la-jerasure_rs_vand.o backends/jerasure/.libs/liberasurecode_la-jerasure_rs_cauchy.o backends/isa-l/.libs/liberasurecode_la-isa_l_common.o backends/isa-l/.libs/liberasurecode_la-isa_l_rs_vand.o backends/isa-l/.libs/liberasurecode_la-isa_l_rs_cauchy.o backends/rs_vand/.libs/liberasurecode_la-liberasurecode_rs_vand.o builtin/rs_vand/.libs/liberasurecode_la-rs_galois.o backends/shss/.libs/liberasurecode_la-shss.o backends/phazrio/.libs/liberasurecode_la-libphazr.o -Wl,-rpath -Wl,/var/tmp/portage/dev-libs/liberasurecode-1.6.3/work/liberasurecode-1.6.3/src/builtin/null_code/.libs -Wl,-rpath -Wl,/var/tmp/portage/dev-libs/liberasurecode-1.6.3/work/liberasurecode-1.6.3/src/builtin/xor_codes/.libs -Wl,-rpath -Wl,/var/tmp/portage/dev-libs/liberasurecode-1.6.3/work/liberasurecode-1.6.3/src/builtin/rs_vand/.libs -Wl,--as-needed builtin/null_code/.libs/libnullcode.so builtin/xor_codes/.libs/libXorcode.so builtin/rs_vand/.libs/liberasurecode_rs_vand.so -lpthread -lm -lz -O2 -g -march=native -fstack-protector-all -O2 -fdiagnostics-color=always -frecord-gcc-switches -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -Werror=format-security -Werror=implicit-function-declaration -Werror=implicit-int -Werror=int-conversion -Werror=incompatible-pointer-types -Wl,-O1 -flto=4 -Werror=odr -Werror=lto-type-mismatch -Werror=strict-aliasing -Wl,--defsym=__gentoo_check_ldflags__=0 -Wl,-soname -Wl,liberasurecode.so.1 -o .libs/liberasurecode.so.1.6.3
/var/tmp/portage/dev-libs/liberasurecode-1.6.3/work/liberasurecode-1.6.3/include/erasurecode/alg_sig.h:60:5: error: type of 'liberasurecode_crc32_alt' does not match original declaration [-Werror=lto-type-mismatch]
60 | int liberasurecode_crc32_alt(int crc, const void *buf, int size);
| ^
utils/chksum/crc32.c:92:1: note: type mismatch in parameter 3
92 | liberasurecode_crc32_alt(int crc, const void *buf, size_t size)
| ^
utils/chksum/crc32.c:92:1: note: type 'size_t' should match type 'int'
utils/chksum/crc32.c:92:1: note: 'liberasurecode_crc32_alt' was previously declared here
utils/chksum/crc32.c:92:1: note: code may be misoptimized unless '-fno-strict-aliasing' is used
lto1: some warnings being treated as errors
lto-wrapper: fatal error: x86_64-pc-linux-gnu-gcc returned 1 exit status
compilation terminated.
/usr/libexec/gcc/x86_64-pc-linux-gnu/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
make[2]: *** [Makefile:634: liberasurecode.la] Error 1
make[2]: Leaving directory '/var/tmp/portage/dev-libs/liberasurecode-1.6.3/work/liberasurecode-1.6.3/src'
make[1]: *** [Makefile:849: all-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/dev-libs/liberasurecode-1.6.3/work/liberasurecode-1.6.3/src'
make: *** [Makefile:535: all-recursive] Error 1
* ERROR: dev-libs/liberasurecode-1.6.3::gentoo failed (compile phase):
```