6.33.7 Атрибуты функций Blackfin ¶
Эти атрибуты функций поддерживаются бэкендом Blackfin:
exception_handler-
Используйте этот атрибут для Blackfin, чтобы указать, что указанная функция является обработчиком исключений. Компилятор генерирует последовательности входа и выхода из функции, подходящие для использования в обработчике исключений, когда этот атрибут присутствует.
interrupt_handler-
Используйте этот атрибут, чтобы указать, что указанная функция является обработчиком прерываний. Компилятор генерирует последовательности входа и выхода из функции, подходящие для использования в обработчике прерываний, когда этот атрибут присутствует.
kspisusp-
При использовании вместе с
interrupt_handler,exception_handlerилиnmi_handler, генерируется код для загрузки указателя стека из регистра USP в преамбуле функции. l1_text-
Этот атрибут указывает, что функция должна быть размещена в SRAM L1 для инструкций. Функция помещается в специальную секцию, названную
.l1.text. При использовании -mfdpic, вызовы функций с такой функцией как вызываемой или вызывающей используют встроенный PLT. l2-
Этот атрибут указывает, что функция должна быть размещена в SRAM L2. Функция помещается в специальную секцию, названную
.l2.text. При использовании -mfdpic, вызывающие функции используют встроенный PLT. longcallshortcall-
Атрибут
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-11.4.0/gcc/Blackfin-Function-Attributes.html