Spec-Zone.ru › GCC 10

Предыдущий: Краткое описание 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-10.5.0/gcc/Cross-profiling.html

Spec-Zone.ru

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