This crate defines a macro named `asm_func!` which is suitable for
generating a single `global_asm!`-defined function.
This macro takes care of platform-specific directives to get the symbol
attributes correct (e.g. ELF symbols get a size and are flagged as a
function) and additionally handles visibility across platforms. All symbols
should be visible to Rust but not visible externally outside of a `*.so`.