Spec-Zone.ru › GCC 4

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.

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

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

Spec-Zone.ru

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