https://gcc.gnu.org/bugzilla/show_bug.cgi?id=81935
Bug ID: 81935 Summary: [8 Regression] r251260 miscompiles libstdc++ (on ppc64le) Product: gcc Version: 8.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: target Assignee: unassigned at gcc dot gnu.org Reporter: trippels at gcc dot gnu.org CC: aldyh at gcc dot gnu.org Target Milestone: --- Target: ppc64le Since r251260 several programs spin in libstdc++.so.6.0.25. For example cmake: - 99.99% 1.59% cmake libstdc++.so.6.0.25 [.] __cxa_guard_acquire - 98.40% __cxa_guard_acquire + 10.87% futex_wait_setup + 6.86% gup_pte_range + 6.86% get_futex_key 6.63% fast_exception_return + 6.10% drop_futex_key_refs.isra.11 + 6.09% put_page + 4.97% syscall + 4.90% _raw_spin_lock + 4.86% unlock_page + 3.08% __get_user_pages_fast + 3.02% system_call_relon_pSeries + 2.77% system_call_common + 2.57% system_call + 2.46% __smp_mb__after_atomic + 2.44% syscall_exit_work + 2.28% __audit_syscall_exit + 2.16% do_futex + 2.01% __audit_syscall_entry + 1.94% do_syscall_trace_leave + 1.42% kfree + 1.37% dput 1.17% ret_from_except_lite + 1.10% do_syscall_trace_enter + 1.04% mntput + 1.01% futex_wait 0.94% current_kernel_time + 0.88% __cxa_guard_acquire + 0.87% sys_futex 0.76% __syscall_error + 0.74% hash_futex + 0.73% memset 0.61% path_put 0.59% get_user_pages_fast + 1.59% _dl_start_user + 99.99% 0.00% cmake libstdc++.so.6.0.25 [.] _GLOBAL__sub_I_compatibility_thread_c__0x.cc + 99.99% 0.00% cmake ld-2.17.so [.] _dl_init_internal + 99.99% 0.00% cmake ld-2.17.so [.] _dl_start_user + 87.27% 0.00% cmake libstdc++.so.6.0.25 [.] std::future_error::future_error + 23.29% 10.87% cmake [kernel.kallsyms] [k] futex_wait_setup + 21.54% 2.57% cmake [kernel.kallsyms] [k] system_call + 18.08% 6.86% cmake [kernel.kallsyms] [k] get_futex_key + 16.45% 0.87% cmake [kernel.kallsyms] [k] sys_futex + 15.82% 2.16% cmake [kernel.kallsyms] [k] do_futex ranlib also spins in the same place. Reverting the commit "fixes" the problem.