未定义对__gcov_exit的引用?

时间:2019-01-29 10:24:02

标签: linux gcc glibc yocto gcov

当我使用yocto项目构建glibc库时,它给出了
错误:缺少属性((构造函数))支持?

添加覆盖率标志后:

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 :(得分:1)

您正在尝试使用 $to = "mail@mail.com"; // this is your Email address $from = $frome; // this is the sender's Email address $titl = $title; $subject = "Quotes From Eagle"; $message = $titl . " " . $quote; $headers = "From:" . $from; mail($to,$subject,$message,$headers); 中的-fprofile-arcs -ftest-coverage构建glibc。这是行不通的。您看到的错误是由这些错误的编译器标志导致的。

分析glibc需要对整个库进行相当大的更改,并且需要使用CFLAGS进行构建(这不是默认设置)。