Spec-Zone.ru › GCC 11

Предыдущий: Краткое описание gcov файлов данных, Выше: gcov—Программа тестирования покрытия кода [Содержание][Индекс]

10.5 Перемещение файлов данных для поддержки кросс-профилирования ¶

Запуск программы приведет к генерации выходных данных профилирования. Для каждого исходного файла, скомпилированного с помощью -fprofile-arcs, будет создан сопровождающий файл .gcda в каталоге с объектным файлом. Это неявно требует запуска программы на той же системе, на которой она была скомпилирована, или на системе с такой же абсолютной структурой каталогов. Программа попытается создать необходимую структуру каталогов, если она еще не существует.

Для поддержки кросс-профилирования программа, скомпилированная с помощью -fprofile-arcs, может переместить файлы данных, используя две переменные среды:

  • GCOV_PREFIX содержит префикс, добавляемый к абсолютным путям в объектных файлах. Префикс может быть абсолютным или относительным. По умолчанию префикс отсутствует.
  • GCOV_PREFIX_STRIP указывает, сколько начальных имён каталогов необходимо удалить из жёстко заданных абсолютных путей. Значение по умолчанию равно 0.

    Примечание: Если GCOV_PREFIX_STRIP установлено, а GCOV_PREFIX не определено, то относительный путь создаётся из жёстко заданных абсолютных путей.

Например, если объектный файл /user/build/foo.o был скомпилирован с помощью -fprofile-arcs, то при запуске на целевой системе конечный исполняемый файл попытается создать файл данных /user/build/foo.gcda. Это завершится ошибкой, если соответствующий каталог не существует и не может быть создан. Это можно обойти, например, установив переменные среды 'GCOV_PREFIX=/target/run' и 'GCOV_PREFIX_STRIP=1'. Такое значение установит имя файла данных в /target/run/build/foo.gcda.

Для использования файлов данных для оптимизации, направленной на профилирование (-fprofile-use), или для использования инструмента gcov, необходимо переместить файлы данных в ожидаемую древовидную структуру каталогов.

Предыдущий: Краткое описание gcov файлов данных, Выше: gcov—Программа тестирования покрытия кода [Содержание][Индекс]

© Free Software Foundation
Licensed under the GNU Free Documentation License, Version 1.3.
https://gcc.gnu.org/onlinedocs/gcc-11.4.0/gcc/Cross-profiling.html

Spec-Zone.ru

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