The man page for mremap(2) says to include these header files:
The flags argument can take the flag 'MREMAP_MAYMOVE' which is not defined in
either of those files, but is in linux/mman.h.
See mremap(2) and grep /usr/include/sys/mman.h for MREMAP_MAYMOVE
MREMAP_MAYMOVE is a GNU extension, so you need to -D_GNU_SOURCE to get it,
otherwise it would break namespace of various standards.
See info libc on Feature Set Macros.