gcc: Blackfin Function Attributes

1 
1 6.31.6 Blackfin Function Attributes
1 -----------------------------------
1 
1 These function attributes are supported by the Blackfin back end:
1 
1 'exception_handler'
1      Use this attribute on the Blackfin to indicate that the specified
1      function is an exception handler.  The compiler generates function
1      entry and exit sequences suitable for use in an exception handler
1      when this attribute is present.
1 
1 'interrupt_handler'
1      Use this attribute to indicate that the specified function is an
1      interrupt handler.  The compiler generates function entry and exit
1      sequences suitable for use in an interrupt handler when this
1      attribute is present.
1 
1 'kspisusp'
1      When used together with 'interrupt_handler', 'exception_handler' or
1      'nmi_handler', code is generated to load the stack pointer from the
1      USP register in the function prologue.
1 
1 'l1_text'
1      This attribute specifies a function to be placed into L1
1      Instruction SRAM.  The function is put into a specific section
1      named '.l1.text'.  With '-mfdpic', function calls with a such
1      function as the callee or caller uses inlined PLT.
1 
1 'l2'
1      This attribute specifies a function to be placed into L2 SRAM. The
1      function is put into a specific section named '.l2.text'.  With
1      '-mfdpic', callers of such functions use an inlined PLT.
1 
1 'longcall'
1 'shortcall'
1      The 'longcall' attribute indicates that the function might be far
1      away from the call site and require a different (more expensive)
1      calling sequence.  The 'shortcall' attribute indicates that the
1      function is always close enough for the shorter calling sequence to
1      be used.  These attributes override the '-mlongcall' switch.
1 
1 'nesting'
1      Use this attribute together with 'interrupt_handler',
1      'exception_handler' or 'nmi_handler' to indicate that the function
1      entry code should enable nested interrupts or exceptions.
1 
1 'nmi_handler'
1      Use this attribute on the Blackfin to indicate that the specified
1      function is an NMI handler.  The compiler generates function entry
1      and exit sequences suitable for use in an NMI handler when this
1      attribute is present.
1 
1 'saveall'
1      Use this attribute to indicate that all registers except the stack
1      pointer should be saved in the prologue regardless of whether they
1      are used or not.
1