Enquanto a opção -fno-builtin-function para gcc funciona para funções internas, como malloc e strlen (consulte Outras funções internas fornecidas pelo GCC ), ele não funciona para glibc extensões GNU incorporadas, como a função getline .
Similar a algumas das soluções apontadas pelo link de jw013, você pode tentar inserir #define declarações nos arquivos fonte para renomear a função getline definida pelo programa, e. g. #define getline my_getline .
Aqui está um pequeno exemplo de código para ilustrar essa abordagem.
/*
gcc -Wall -Wextra -o mystrdup mystrdup.c
./mystrdup
*/
#include <stdio.h>
#include <string.h>
// mystrdup.c:14: error: conflicting types for 'strdup'
//#define strdup my_strdup
char *strdup(char *str) {
str = str;
return str;
}
int main (void) {
char *str = 0;
char mystr[] = "Hello, mystrdup!";
str = strdup(mystr);
printf("%s\n", str);
return 0;
}