The configure.ac file of libiberty includes the following scripts: funcs="asprintf" funcs="$funcs atexit" funcs="$funcs basename" ...... AC_REPLACE_FUNCS($funcs)
In the old version of autoconf (maybe before v2.64), AC_REPLACE_FUNCS will invoke AC_CHECK_FUNCS directly. So it expanded to: for ac_func in $funcs do ...... done The expanded result works well. But after switch to the latest autoconf v2.67, the for loop is lost in expanded result. And it caused configure script generated a wrong Makefile. The failed is because of AC_REPLACE_FUNCS invoke _AC_REPLACE_FUNC and then invoke AC_CHECK_FUNC, and the AC_CHECK_FUNC have no for loop body.