Next: , Previous: AVR Options, Up: Submodel Options


3.17.4 Blackfin Options

-momit-leaf-frame-pointer
Don't keep the frame pointer in a register for leaf functions. This avoids the instructions to save, set up and restore frame pointers and makes an extra register available in leaf functions. The option -fomit-frame-pointer removes the frame pointer for all functions which might make debugging harder.
-mspecld-anomaly
When enabled, the compiler will ensure that the generated code does not contain speculative loads after jump instructions. This option is enabled by default.
-mno-specld-anomaly
Don't generate extra code to prevent speculative loads from occurring.
-mcsync-anomaly
When enabled, the compiler will ensure that the generated code does not contain CSYNC or SSYNC instructions too soon after conditional branches. This option is enabled by default.
-mno-csync-anomaly
Don't generate extra code to prevent CSYNC or SSYNC instructions from occurring too soon after a conditional branch.
-mlow-64k
When enabled, the compiler is free to take advantage of the knowledge that the entire program fits into the low 64k of memory.
-mno-low-64k
Assume that the program is arbitrarily large. This is the default.
-mid-shared-library
Generate code that supports shared libraries via the library ID method. This allows for execute in place and shared libraries in an environment without virtual memory management. This option implies -fPIC.
-mno-id-shared-library
Generate code that doesn't assume ID based shared libraries are being used. This is the default.
-mshared-library-id=n
Specified the identification number of the ID based shared library being compiled. Specifying a value of 0 will generate more compact code, specifying other values will force the allocation of that number to the current library but is no more space or time efficient than omitting this option.
-mlong-calls
-mno-long-calls
Tells the compiler to perform function calls by first loading the address of the function into a register and then performing a subroutine call on this register. This switch is needed if the target function will lie outside of the 24 bit addressing range of the offset based version of subroutine call instruction.

This feature is not enabled by default. Specifying -mno-long-calls will restore the default behavior. Note these switches have no effect on how the compiler generates code to handle function calls via function pointers.