6.33.7 Атрибуты функций Blackfin
Эти атрибуты функций поддерживаются бэкендом Blackfin:
-
exception_handler -
Используйте этот атрибут на Blackfin, чтобы указать, что указанная функция является обработчиком исключений. Компилятор генерирует последовательности входа и выхода из функции, подходящие для использования в обработчике исключений, когда этот атрибут присутствует.
-
interrupt_handler -
Используйте этот атрибут, чтобы указать, что указанная функция является обработчиком прерывания. Компилятор генерирует последовательности входа и выхода из функции, подходящие для использования в обработчике прерывания, когда этот атрибут присутствует.
-
kspisusp -
Когда используется вместе с
interrupt_handler,exception_handlerилиnmi_handler, генерируется код для загрузки указателя стека из регистра USP в прологе функции. -
l1_text -
Этот атрибут указывает на функцию, которая должна быть помещена в L1 Instruction SRAM. Функция помещается в определенный раздел, названный
.l1.text. При использовании -mfdpic, вызовы функций, использующие такую функцию как вызываемую или вызывающую, используют встроенную PLT. -
l2 -
Этот атрибут указывает на функцию, которая должна быть помещена в L2 SRAM. Функция помещается в определенный раздел, названный
.l2.text. При использовании -mfdpic, вызывающие такие функции используют встроенную PLT. -
longcall shortcall-
Атрибут
longcallуказывает, что функция может находиться далеко от места вызова и потребовать другую (более дорогостоящую) последовательность вызова. Атрибутshortcallуказывает, что функция всегда достаточно близка для использования более короткой последовательности вызова. Эти атрибуты переопределяют переключатель -mlongcall. -
nesting -
Используйте этот атрибут вместе с
interrupt_handler,exception_handlerилиnmi_handler, чтобы указать, что код входа в функцию должен разрешить вложенные прерывания или исключения. -
nmi_handler -
Используйте этот атрибут на Blackfin, чтобы указать, что указанная функция является обработчиком NMI. Компилятор генерирует последовательности входа и выхода из функции, подходящие для использования в обработчике NMI, когда этот атрибут присутствует.
-
saveall Используйте этот атрибут, чтобы указать, что все регистры, кроме указателя стека, должны сохраняться в прологе независимо от того, используются ли они или нет.
© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-13.3.0/gcc/Blackfin-Function-Attributes.html