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. 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-10.5.0/gcc/Blackfin-Function-Attributes.html