Usei o GCC pra compilar um código aqui (só pra testar), com saída '.o' assim:
gcc -c new.c -o new.o
ai tentei gerar um binário com esse objeto:
ld -T link.ld -o new.bin new.o
e obtive uma saída assim:
la: PE operations on non PE file
código do link.ld:
OUTPUT_FORMAT("binary")
ENTRY(new)
phys = 0x00100000;
SECTIONS
{
.text phys : AT(phys) {
code = .;
*(.text)
. = ALIGN(4096);
}
.data : AT(phys + (data - code))
{
data = .;
*(.data)
. = ALIGN(4096);
}
.bss : AT(phys + (bss - code))
{
bss = .;
*(.bss)
. = ALIGN(4096);
}
end = .;
}
e aí? que isso significa?
tem outra maneira de se gerar o binário '.bin'?