Símbolos gcov ausentes com o mingw no Ubuntu 16.04

1

Antes de atualizar do Ubuntu 14.04 para o Ubuntu 16.04 eu poderia compilar o seguinte código com o mingw-64-gcc

x86_64-w64-mingw32-gcc -fprofile-generate -o teste.exe test.c -lgcov -static

//test.c
#include <stdio.h>
int main(void)
{puts("test");return 0;}

Agora, o programa não pode ser vinculado devido à falta de símbolos __gcov.

x86_64-w64-mingw32-gcc -fprofile-generate -o test test.c
/tmp/cccj8pnx.o:test.c:(.text+0x1a): undefined reference to '__gcov_indirect_call_profiler_v2'
/tmp/cccj8pnx.o:test.c:(.text+0x46): undefined reference to '__gcov_time_profiler'
/tmp/cccj8pnx.o:test.c:(.data+0xa0): undefined reference to '__gcov_merge_time_profile'
/tmp/cccj8pnx.o:test.c:(.rdata$.refptr.__gcov_indirect_call_callee[.refptr.__gcov_indirect_call_callee]+0x0): undefined reference to '__gcov_indirect_call_callee'
collect2: error: ld returned 1 exit status

O que mudou entre as duas versões do Ubuntu. Qualquer ajuda seria apreciada.

    
por tetram 29.08.2016 / 00:20

1 resposta

0

Eu encontrei esse mesmo problema e consegui contornar isso vinculando a -fprofile-arcs em vez de -lgcov .

    
por Pentarctagon 13.10.2017 / 18:01