(This also demonstrates using a macro to ease moving several functions at once.)
Make very sure that the relevant annotated declaration is visible when you
define such a function, and especially everywhere you call it.
If there is a call to a non-default sectioned function from which the
annotated declaration is not visible, the call will be generated as a call
to the default code section. When such a call is executed, it jumps to
effectively a random location in the wrong code section and almost
certainly crashes. (Warning options which can detect these mistakes at
compile time are noted in the discussion of required visibilities in
1.2 Function attributes.)
Note that COFF only stores eight character of a section name: if your
section names are any longer than this, they will be truncated, leading
to trouble.
Add a multiple code clause to your definition file (or write a definition
file and use it in your build-prc line if you're not already using one).
multiple code { "editfns" }
Add rules to your Makefile to generate and build the assembler stub and linker
script.