Build failure due to .incbin

Segher Boessenkool segher@kernel.crashing.org
Mon Feb 26 15:16:00 GMT 2007


>> [Ulrich, you're the maintainer for the SPU stuff, right?]
>
> No, I am.

Ah okay, I should have known.  Sorry about that.

>> gcc -c -Wa,-I,../../../src/ld/emultempl -o spu_inc.o
>> ../../../src/ld/emultempl/spu_inc.s
>> ../../../src/ld/emultempl/spu_inc.s:6:Unknown pseudo-op: .incbin
>>
>> This file is compiled with the native assembler, and it
>> doesn't know .incbin .  Please fix :-)
>
> Sigh.  Built-in support for spu overlays requires that we smuggle an
> spu object file into ld somehow.  gas .incbin is one way, another is
> "objcopy -I binary -O <host_format>", a third is "ld -r -b binary".

A fourth option is to use a "bin2c" kind of build tool,
that converts a binary file into a C array that can then
be compiled into whatever you want.

> All of these methods rely on host tools to some extent.  I guess
> the thing to do is simply not support a built-in overlay manager
> if the host tools are deficient.
>
>> Also, is there a way to say --enable-targets=all 
>> --oh-but-not-these-few?
>
> Nope.

Too bad.  Well not many people seem to use targets=all so there's
not much point in adding something I suppose.

> +++ ld/emultempl/spu_none.s	26 Feb 2007 08:37:42 -0000
> @@ -0,0 +1,6 @@
> + .text
> + .globl _binary_spu_ovl_o_start
> + .globl _binary_spu_ovl_o_end
> +
> +_binary_spu_ovl_o_start:
> +_binary_spu_ovl_o_end:

Except those symbols need to have an extra underscore in the
assembler source file, with the Darwin assembler.  (Sorry I
didn't mention this earlier, I only noticed after I sent the
mail).


Segher



More information about the Binutils mailing list