Spec-Zone.ru › GCC 12

3.19.42 Опции PRU

Эти параметры командной строки определены для целевой системы PRU:

-minrt

Связь с минимальной средой выполнения без поддержки статических инициализаторов и конструкторов. Использование этого параметра может значительно уменьшить размер конечного двоичного файла ELF. Следует учитывать, что компилятор может по-прежнему генерировать код со статическими инициализаторами и конструкторами. Программист должен убедиться, что исходная программа не использует эти функции.

-mmcu=mcu

Укажите вариант PRU MCU для использования. Проверьте Newlib для получения точного списка поддерживаемых MCU.

-mno-relax

Передайте GCC параметр командной строки --no-relax линке вместо параметра --relax.

-mloop

Разрешить (или запретить) GCC использовать инструкцию LOOP.

-mabi=variant

Укажите вариант ABI для вывода кода. -mabi=ti выбирает неизмененный ABI TI, в то время как -mabi=gnu выбирает вариант GNU, который более естественно справляется с определёнными предположениями GCC. Вот отличия:

‘Размер указателя функции’

ABI TI определяет, что указатели функций (кода) имеют размер 16 бит, в то время как GNU поддерживает только 32-битные указатели данных и кода.

‘Необязательный указатель возвращаемого значения’

Значения возвращаемых функций размером более 64 бит передаются с использованием скрытого указателя в качестве первого аргумента функции. Однако ABI TI требует, чтобы указатель мог быть NULL в случае, если вызывающая сторона не использует возвращаемое значение. GNU всегда передаёт и ожидает действительный указатель возвращаемого значения.

Текущая реализация -mabi=ti просто выводит ошибку компиляции, когда обнаруживается любой из вышеперечисленных конструкций кода. Вследствие этого стандартная библиотека C не может быть скомпилирована и опускается при линковке с -mabi=ti.

Релаксация — это функция GNU, и по соображениям безопасности она отключена при использовании -mabi=ti. TI-инструментарий не генерирует перемещения для инструкций QBBx, поэтому GNU-линкер не может скорректировать их при сокращении смежных псевдоинструкций LDI32.

Далее: Опции RISC-V, Предыдущее: Опции PowerPC, Вверх: Опции подмоделей [Оглавление][Индекс]

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-12.2.0/gcc/PRU-Options.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API