неопределенная ссылка на `__gcov_exit '? - PullRequest
0 голосов
/ 29 января 2019

пока я собираю библиотеку glibc с использованием проекта yocto, она дает
ошибку: отсутствует атрибут ((конструктор)) поддержка ??

после добавления флагов покрытия:

TARGET_CFLAGS += "-fprofile-arcs -ftest-coverage"
TARGET_LDFLAGS += "-lgcov -fprofile-arcs -ftest-coverage"

все еще, я получаю ошибку для glibc.

Пожалуйста, найдите ссылку на файл журнала конфигурации: https://drive.google.com/file/d/14tiQJ8JIFE_tDWt3H9tS8zBBQROcZDNa/view

Это не работает даже после добавления следующей строки в conf / local.conf:

EXTRA_OECONF = "libc_cv_ctors_header=yes"

Даже я попробовал это

EXTRA_OECONF_append = "libc_cv_ctors_header=yes"

пожалуйста, найдите файл журнала конфигурациисгенерировано во время компиляции: https://drive.google.com/open?id=1kxTu8pt7h_9ty55OywP9Ilmmp04T61Rr

Итак, как устранить эту ошибку?


Ошибка файла журнала Точка

poky-linux/gcc/i586-poky-linux/8.2.0/ld: /tmp/ccxetEc1.o: in function    `_GLOBAL__sub_D_00100_1__start':
conftest.c:(.text.exit+0x40): undefined reference to `__gcov_exit'<br>
collect2: error: ld returned 1 exit status<br>
configure:5682: $? = 1<br>
configure:5702: error: missing __attribute__ ((constructor)) support??

1 Ответ

0 голосов
/ 09 февраля 2019

Вы пытаетесь собрать glibc с -fprofile-arcs -ftest-coverage в CFLAGS.Это не будет работать.Ошибки, которые вы видите, являются результатом этих неправильных флагов компилятора.

Профилирующий glibc требует довольно существенных изменений во всей библиотеке и должен быть создан сборкой с --enable-profile (что не является значением по умолчанию).

...