As of OpenBSD 6.0 mandatory W^X enforcement is implemented.
Binaries that need permission to violate this rule can be marked with the ld command:
Identify W^X labelled binaries at execve(2) time based upon the WX_OPENBSD_WXNEEDED flag set by ld -zwxneeded.
I tried:
ld -b <binary> -zwxneeded
ld <binary> -zwxneeded
but these give file input/format errors. I've been reading the ld man page but can't figure out the right syntax for file I/O to set the required flag. Any help/advice is highly appreciated.