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.