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