Incorporando blobs binários usando gcc mingw
Estou tentando incorporar blobs binários em um arquivo exe. Estou usando o mingw gcc.
Eu faço o arquivo de objeto assim:
ld -r -b binary -o binary.o input.txt
Em seguida, procuro a saída objdump para obter os símbolos:
objdump -x binary.o
E fornece símbolos com o nome:
_binary_input_txt_start
_binary_input_txt_end
_binary_input_txt_size
Em seguida, tento acessá-los no meu programa C:
#include <stdlib.h>
#include <stdio.h>
extern char _binary_input_txt_start[];
int main (int argc, char *argv[])
{
char *p;
p = _binary_input_txt_start;
return 0;
}
Então eu compilo assim:
gcc -o test.exe test.c binary.o
Mas eu sempre entendo:
undefined reference to _binary_input_txt_start
Alguém sabe o que estou fazendo de errado?