Summary: | sys-devel/gcc-10.1.0 fails to build with combined lto and pgo flags if fortran flag is present (possible race) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Andy Pettinger <fingerfehler> |
Component: | Current packages | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED OBSOLETE | ||
Severity: | normal | CC: | ab4bd, fingerfehler, jstein, vityokster |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
emerge --info
gcc-build-logs |
Description
Andy Pettinger
2020-05-18 11:36:27 UTC
Created attachment 640132 [details]
emerge --info
Created attachment 640136 [details]
gcc-build-logs
With -fortran flag gcc builds with combined pgo lto flags Changed title of bug """ /var/tmp/portage/sys-devel/gcc-10.1.0/work/gcc-10.1.0/gcc/expr.c: In function ‘wi::lrshift<generic_wide_int<wide_int_storage>, int>(generic_wide_int<wide_int_storage> const&, int const&)wi::binary_traits<generic_wide_int<wide_int_storage>, generic_wide_int<wide_int_storage>, wi::int_traits<generic_wide_int<wide_int_storage> >::precision_type, wi::int_traits<generic_wide_int<wide_int_storage> >::precision_type>::result_type’: /var/tmp/portage/sys-devel/gcc-10.1.0/work/gcc-10.1.0/gcc/expr.c:12680:1: error: corrupted profile info: profile data is not flow-consistent 12680 | } | ^ /var/tmp/portage/sys-devel/gcc-10.1.0/work/gcc-10.1.0/gcc/expr.c:12680:1: error: corrupted profile info: number of executions for edge 14-15 thought to be 1370152 /var/tmp/portage/sys-devel/gcc-10.1.0/work/gcc-10.1.0/gcc/expr.c:12680:1: error: corrupted profile info: number of executions for edge 14-20 thought to be -3 /var/tmp/portage/sys-devel/gcc-10.1.0/work/gcc-10.1.0/gcc/expr.c:12680:1: error: corrupted profile info: number of iterations for basic block 20 thought to be -3 """ Looks like a corrupted profile trace (or just bad generated profile). Neither should happen. 1. Is it consistently reproducible for you on the same file(s)? 2. Does MAKEOPTS=-j1 work as a workaround? This morning with sys-devel/gcc-10.1.0:10::gentoo USE="(cxx) fortran* graphite hardened lto nls nptl openmp pgo (pie) sanitize (ssp) vtv (-ada) (-altivec) -d -debug -doc (-fixed-point) -go (-jit) (-libssp) (-multilib) -objc -objc++ -objc-gc (-pch) -systemtap -test -vanilla -zstd" 0 KiB I get a similar but not identical error /var/tmp/portage/sys-devel/gcc-10.1.0/work/gcc-10.1.0/gcc/expr.c: In function ‘wi::lrshift<generic_wide_int<wide_int_storage>, int>(generic_wide_int<wide_int_storage> const&, int const&)wi::binary_traits<generic_wide_int<wide_int_storage>, generic_wide_int<wide_int_storage>, wi::int_traits<generic_wide_int<wide_int_storage> >::precision_type, wi::int_traits<generic_wide_int<wide_int_storage> >::precision_type>::result_type’: /var/tmp/portage/sys-devel/gcc-10.1.0/work/gcc-10.1.0/gcc/expr.c:12680:1: error: corrupted profile info: profile data is not flow-consistent 12680 | } | ^ /var/tmp/portage/sys-devel/gcc-10.1.0/work/gcc-10.1.0/gcc/expr.c:12680:1: error: corrupted profile info: number of executions for edge 14-15 thought to be 1370150 /var/tmp/portage/sys-devel/gcc-10.1.0/work/gcc-10.1.0/gcc/expr.c:12680:1: error: corrupted profile info: number of executions for edge 14-20 thought to be -1 /var/tmp/portage/sys-devel/gcc-10.1.0/work/gcc-10.1.0/gcc/expr.c:12680:1: error: corrupted profile info: number of iterations for basic block 20 thought to be -1 I'll report back with MAKEOPTS="-j1" Many thanks Andy MAKEOPTS="-j1" worked. Sorry for the false alarm. This particular combination of flags with 10.1.0 seems sensitive on my machine. (In reply to Andy Pettinger from comment #6) > MAKEOPTS="-j1" worked. Woohoo! I was afraid of that. > Sorry for the false alarm. This particular combination of flags with 10.1.0 seems sensitive on my > machine. Oh, I think your configuration is totally fine and gcc should be fixed. It's just hard to reproduce and debug on my machine :) Please make a new bug if this still exists in current gcc. |