Spec-Zone.ru › GCC 15

3.20.14 Параметры eBPF

-mframe-limit=bytes

Задает жесткое ограничение размера кадров в байтах. В настоящее время указанное значение должно быть меньше или равно ‘32767’. По умолчанию используется ограничение, заданное версией целевого ядра Linux.

-mbig-endian

Генерировать код для цели с прямым порядком байтов.

-mlittle-endian

Генерировать код для цели с обратным порядком байтов. Это значение используется по умолчанию.

-mjmpext
-mno-jmpext

Включить или отключить генерацию дополнительных инструкций условного перехода. Включено для CPU v2 и выше.

-mjmp32
-mno-jmp32

Включить или отключить генерацию 32-разрядных инструкций перехода. Включено для CPU v3 и выше.

-malu32
-mno-alu32

Включить или отключить генерацию 32-разрядных инструкций ALU. Включено для CPU v3 и выше.

-mv3-atomics
-mno-v3-atomics

Включить или отключить инструкции для общих атомарных операций, появившиеся в CPU v3. Включено для CPU v3 и выше.

-mbswap
-mno-bswap

Включить или отключить инструкции перестановки байтов. Включено для CPU v4 и выше.

-msdiv
-mno-sdiv

Включить или отключить инструкции деления со знаком и вычисления остатка. Включено для CPU v4 и выше.

-msmov
-mno-smov

Включить или отключить инструкции перемещения и загрузки из памяти с расширением знака. Включено для CPU v4 и выше.

-mcpu=version

Задает версию ISA eBPF, для которой предназначен код. Более новые версии могут поддерживаться не всеми ядрами. По умолчанию используется ‘v4’.

Поддерживаемые значения version:

‘v1’

Первая стабильная версия ISA eBPF без специальных функций и расширений.

‘v2’

Поддерживает расширения переходов, как и -mjmpext.

‘v3’

Все возможности v2, а также:

  • 32-разрядные операции перехода, как и -mjmp32
  • 32-разрядные операции ALU, как и -malu32
  • общие атомарные операции, как и -mv3-atomics
‘v4’

Все возможности v3, а также:

  • Инструкции перестановки байтов, как и -mbswap
  • Инструкции деления со знаком и вычисления остатка, как и -msdiv
  • Инструкции перемещения и загрузки из памяти с расширением знака, как и -msmov
-mco-re

Включить поддержку BPF Compile Once - Run Everywhere (CO-RE). Требует -gbtf, который также включает эту поддержку.

-mno-co-re

Отключить поддержку BPF Compile Once - Run Everywhere (CO-RE). Поддержка BPF CO-RE включена по умолчанию при создании отладочной информации BTF для цели BPF.

-mxbpf

Генерировать код для расширенной версии BPF, в которой ослаблены некоторые ограничения архитектуры BPF:

  • Сохранять регистры, сохраняемые вызываемой функцией, при входе в функцию и восстанавливать их при выходе из нее.
-masm=dialect

Выводить инструкции ассемблера, используя выбранный dialect eBPF. По умолчанию используется ‘pseudoc’.

Поддерживаемые значения dialect:

‘normal’

Выводить инструкции в обычном диалекте ассемблера.

‘pseudoc’

Выводить инструкции в диалекте ассемблера с псевдокодом на C.

-minline-memops-threshold=bytes

Задает пороговый размер в байтах: операции memmove, memcpy и memset размером не более этого значения всегда будут развернуты непосредственно в код. Операции с размером, превышающим этот порог, должны реализовываться вызовом библиотеки, а не встраиваться в код, однако, поскольку BPF не допускает вызовов библиотечных функций, превышение этого порога приводит к ошибке компиляции. По умолчанию используется значение ‘1024’ байта.

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

Spec-Zone.ru

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