Red Hat ENTERPRISE LINUX 4 Manual page 164

Hide thumbs Also See for ENTERPRISE LINUX 4:
Table of Contents

Advertisement

156
will pop the arguments off the stack. If the number of arguments is variable all arguments are
pushed on the stack.
cdecl
On the Intel 386, the
will pop off the stack space used to pass arguments. This is useful to override the effects of the
switch.
-mrtd
longcall/shortcall
On the RS/6000 and PowerPC, the
function via a pointer, just as it would if the
attribute causes the compiler not to do this. These attributes override both the
shortcall
switch and the
-mlongcall
Section 4.17.1 IBM RS/6000 and PowerPC Options, for more information on whether long calls
are necessary.
long_call/short_call
This attribute specifies how a particular function is called on ARM. Both attributes override the
-mlong-calls
attribute causes the compiler to always call the function by first loading its address into a register
and then using the contents of that register. The
to the function from the call site into the
function_vector
Use this attribute on the H8/300, H8/300H, and H8S to indicate that the specified function should
be called through the function vector. Calling a function through the function vector will reduce
code size, however; the function vector has a limited size (maximum 128 entries on the H8/300
and 64 entries on the H8/300H and H8S) and shares space with the interrupt vector.
You must use GAS and GLD from GNU binutils version 2.7 or later for this attribute to work
correctly.
interrupt
Use this attribute on the ARM, AVR, C4x, M32R/D and Xstormy16 ports to indicate that the
specified function is an interrupt handler. The compiler will generate function entry and exit
sequences suitable for use in an interrupt handler when this attribute is present.
Note, interrupt handlers for the m68k, H8/300, H8/300H, H8S, and SH processors can be speci-
fied via the
interrupt_handler
Note, on the AVR, interrupts will be enabled inside the function.
Note, for the ARM, you can specify the kind of interrupt to be handled by adding an optional
parameter to the interrupt attribute like this:
void f () __attribute__ ((interrupt ("IRQ")));
Permissible values for this parameter are: IRQ, FIQ, SWI, ABORT and UNDEF.
interrupt_handler
Use this attribute on the m68k, H8/300, H8/300H, H8S, and SH to indicate that the specified
function is an interrupt handler. The compiler will generate function entry and exit sequences
suitable for use in an interrupt handler when this attribute is present.
attribute causes the compiler to assume that the calling function
cdecl
longcall
#pragma longcall
command line switch and
attribute.
Chapter 6. Extensions to the C Language Family
attribute causes the compiler to always call this
-mlongcall
setting.
#pragma long_calls
short_call
instruction directly.
BL
option had been specified. The
settings. The
attribute always places the offset
long_call

Advertisement

Table of Contents
loading
Need help?

Need help?

Do you have a question about the ENTERPRISE LINUX 4 and is the answer not in the manual?

Table of Contents