Expand description

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.

It also exports a an asm_sym! macro which can be used to reference symbols from within global_asm!-defined functions, and handles adding the leading underscore that macOS prepends to symbols for you.

Macros