как сделать покрытие исходного кода компилятора gcc - PullRequest
0 голосов
/ 19 декабря 2018

Для данного примера программы я хочу знать, какая часть исходного кода GCC используется во время компиляции.

СОЗДАНИЕ GCC : я пытался создать исходный код gcc-8.2 с использованием

./src/configure --enable-languages=c,c++
    --disable-bootstrap --disable-multilib BOOT_CFLAGS="-O2 -g -ftest-coverage -fprofile-arcs"

У меня есть пример программы с именем program.c

Я компилирую program.c с xgcc как

/path/to/xgcc -B path/to/stage1build/gcc -ftest-coverage program.c

Приведенная выше команда дает мне покрытие кода программы.Проблема в том, что я не хочу находить покрытие кода для program.c с использованием gcov и lcov.

Я хочу найти покрытие кода для исходного кода gcc.

Я пытался выполнить поиск в Интернете, нопочти все ответы говорят мне, как мне использовать gcov и lcov, приводя пример программы .c.

ПРИМЕЧАНИЕ: Я знаю, как использовать gcov и lcov

1 Ответ

0 голосов
/ 20 декабря 2018

Что касается поиска в сети для BOOT_CFLAGS, похоже, он устанавливает флаги компилятора по умолчанию для кода, который вы будете компилировать.
См. Здесь: 1 , 2

Возможно, вам нужно запустить configure примерно так:

./src/configure --enable-languages=c,c++ --disable-bootstrap --disable-multilib CFLAGS="-O2 -g -ftest-coverage -fprofile-arcs" CXXFLAGS="-O2 -g -ftest-coverage -fprofile-arcs"

Но вы можете столкнуться с другими проблемами при сборке с включенным покрытием Сборка GCC с покрытием .

Лучше было бы опубликовать в списке рассылки GCC, чтобы узнать, есть ли у кого-нибудь возможное решение.

...