Here is my code -------------------------------------------------- typedef int (*MY_FUNC_ENTRY)(int) __attribute__(( far )); ... ((MY_FUNC_ENTRY)func_entry)(para); --------------------------------------------------- But gcc still generates 'jal ADDR' instead of 'jalr $reg' for this function call. How to force gcc to generate 'jalr' for this call?