Have to define _DEFAULT_SOURCE before you can use the endian conversion functions. As most standard library headers use features.h, and _DEFAULT_SOURCE must be defined before features.h is included, we have to include base.h before other headers.
Just used the endian.h functions to convert host endian to and from big endian.
Doesn't make sense for them to be in the VM module when they have a more general purpose now.