https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90770
--- Comment #2 from Jonathan Wakely <redi at gcc dot gnu.org> --- I think the problem is that the recursive clean targets doesn't remove the actual 'debug' directory, they just recurse into each sub-directory and remove the files in the directory. That makes the "if test ! -d ${debugdir}; then" test wrong.