mv.c uses gnulib/renameat2.c to call renameat2(), which if the glibc wrapper isn't available will just invoke syscall(SYS_renameat2). This may seem like a good idea but considering a number of major distributions use LD_PRELOAD to build as a pretend root user[1] these mv calls won't be intercepted, and building will break in strange and interesting ways (such as binaries not being owned by root:root anymore).  Please consider changing renameat2.c so that it doesn't hit syscall() if the wrapper isn't available.

Ross

[1] Debian and derivatives using fakeroot, OpenEmbedded derivatives using pseudo, etc.