if __BYTE_ORDER__ is not predefined (like FreeBSD), use arch