This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: Build failure due to .incbin


[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



Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]