https://gcc.gnu.org/bugzilla/show_bug.cgi?id=114222
--- Comment #4 from Jan Dubiec <jdx at o2 dot pl> --- I agree, there is an infinite recursion, but I do not think it is a newlib problem. The implementation of ffs() in newlib just calls __builtin_ffs() (https://sourceware.org/git/?p=newlib-cygwin.git;a=blob;f=newlib/libc/misc/ffs.c;h=068f254812deb62aca7c9dc1c36d9f451142529d;hb=HEAD) and IMO this is proper behaviour. IMO it is a gcc issue and I have just posted a patch that fixes it.