vm_native: add workaround for FreeBSD 12

rpcs3/util/vm_native.cpp:302:16: error: no member named 'memfd_create' in the global namespace
                                m_file = ::memfd_create_("2M", c_mfd_huge_2mb);
                                         ~~^
rpcs3/util/vm_native.cpp:34:23: note: expanded from macro 'memfd_create_'
 #define memfd_create_ memfd_create
                       ^
rpcs3/util/vm_native.cpp:308:15: error: no member named 'memfd_create' in the global namespace
                        m_file = ::memfd_create_("", 0);
                                 ~~^
rpcs3/util/vm_native.cpp:34:23: note: expanded from macro 'memfd_create_'
 #define memfd_create_ memfd_create
                       ^
This commit is contained in:
Jan Beich 2021-07-28 23:57:17 +00:00 committed by kd-11
parent de6f3b5653
commit 3a6399aaaa

View file

@ -31,7 +31,13 @@ static int memfd_create_(const char *name, uint flags)
return syscall(__NR_memfd_create, name, flags);
}
#elif defined(__FreeBSD__)
# if __FreeBSD__ < 13
// XXX Drop after FreeBSD 12.* reaches EOL on 2024-06-30
#define MFD_CLOEXEC O_CLOEXEC
#define memfd_create_(name, flags) shm_open(SHM_ANON, O_RDWR | flags, 0600)
# else
#define memfd_create_ memfd_create
# endif
#endif
namespace utils