This is the mail archive of the
gcc-help@gcc.gnu.org
mailing list for the GCC project.
Re: Re: How to force gcc to long-call a function (on MIPS)?
1). Declaring `extern int func_entry(int) __attribute__((far))' without `-mlong-calls' is okay.
2). Declaring `extern int func_entry(int) __attribute__((long_call))' without `-mlong-calls' is not okay.
3). Declaring `extern char func_entry[]' and `typedef int (*FUNC_ENTRY)(int) __attribute__((far))', and calling it by ` ((FUNC_ENTRY)func_entry)(para) ' without `-mlong-calls' is not okay either, even if this usage is semantically equal to usage 1.
I am not sure either this is a bug of gcc or this is a misusage of __attribute__((far))/__attribute__((long_call)).