dis(1) should support cross-target disassembly
Presently dis(1) will only disassemble instructions in ELF binaries of the native machine type. A selection of flags are already chosen by dis based on the ELF headers in the target binary. The backend disassembly library (libdisasm) should be refactored to allow the code for all supported architectures to co-exist in one binary.
NB: A standalone version of libdisasm is built for use by kmdb(1). The standalone version needs to retain its existing small footprint and thus should only include native machine disassembly support.