Spec-Zone.ru › GCC 5

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, необходимо переместить файлы данных в ожидаемую древовидную структуру каталогов.

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

Spec-Zone.ru

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