15.2.10 Far Function Attribute
The
far attribute instructs the compiler to invoke the function
by first loading its address into a register and executing a call based on
the address in that register. This allows a function located beyond the
28-bit addressing range of the direct JAL instruction to be
called. For
example:void __attribute__((far)) foo (void);