Probably an obvious patch but... The testcase fails because it looks like recent glibc headers (2.27 at least) no longer contain a declaration for __strdup, which results in warning messages being generated and failure for excess errors. Fixed by calling the standard name.
Verified the testcase now passes, ok for trunk? -Pat testsuite/ChangeLog: 2018-07-26 Pat Haugen <pthau...@us.ibm.com> PR target/86612 * gcc.target/powerpc/pr58673-2.c: Call strdup. Index: testsuite/gcc.target/powerpc/pr58673-2.c =================================================================== --- testsuite/gcc.target/powerpc/pr58673-2.c (revision 262974) +++ testsuite/gcc.target/powerpc/pr58673-2.c (working copy) @@ -140,7 +140,7 @@ pr_ff (t_coupl_rec * tcr, real time, t_i malloc (__len); __retval;} - )): __strdup (eoNames[i]))); + )): strdup (eoNames[i]))); raleg[j++] = (__extension__ (__builtin_constant_p (buf) @@ -165,7 +165,7 @@ pr_ff (t_coupl_rec * tcr, real time, t_i malloc (__len); __retval;} - )): __strdup (buf))); + )): strdup (buf))); } } if (tcr->nLJ)