Spec-Zone.ru › GCC 6

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-6.5.0/gcc/Cross-profiling.html

Spec-Zone.ru

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