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);