diff --git a/configure.in b/configure.in index 24fdbd6093c5..ee3b8022654e 100644 --- a/configure.in +++ b/configure.in @@ -1962,8 +1962,16 @@ case "$target" in dnl For profile-guided optimization PROFILE_GEN_CFLAGS="-GL" PROFILE_GEN_LDFLAGS="-LTCG:PGINSTRUMENT" - PROFILE_USE_CFLAGS="-GL" - dnl XXX: should be -LTCG:PGOPTIMIZE, but that fails on libxul + dnl XXX: PGO builds can fail with warnings treated as errors, + dnl specifically "no profile data available" appears to be + dnl treated as an error sometimes. This might be a consequence + dnl of using WARNINGS_AS_ERRORS in some modules, combined + dnl with the linker doing most of the work in the whole-program + dnl optimization/PGO case. I think it's probably a compiler bug, + dnl but we work around it here. + PROFILE_USE_CFLAGS="-GL -wd4624 -wd4952" + dnl XXX: should be -LTCG:PGOPTIMIZE, but that fails on libxul. + dnl Probably also a compiler bug, but what can you do? PROFILE_USE_LDFLAGS="-LTCG:PGUPDATE" if test -n "$_USE_DYNAMICBASE"; then LDFLAGS="$LDFLAGS -DYNAMICBASE"