Jul 21
Today was forced to close the Nth bug filled by someone that didn’t know what he was doing with the cflags. That was a waste of time of about 10minutes for 3 developers that actually had a look at the bug, another item that got in the mailbox of many other developers and another line in the bugzilla db.
I have nothing against try to get some performance from some experimental gcc optimization, you are free to do whatever you want on your system, but PLEASE, before filling a bug about missing registers while building something on x86 or amd64, turn OFF all your experimental stuff and just use -O2 -march=${yourcpu} -fomit-frame-pointer -pipe.
Thanks for the understanding.
Jul 21
since:
- gcc-cell is quite a different beast (patches here, newcode there, backports everywhere!)
- diffing against the nearest gcc already in portage lead to a small 22MB patch
I just decided to use the provided tarball and live with it, that means that you have now also gcc-cell available in portage. Something else is almost ready… but I think I could sleep a bit now ^^;

Jul 21
since:
- gcc-cell is quite a different beast (patches here, newcode there, backports everywhere!)
- diffing against the nearest gcc already in portage lead to a small 22MB patch
I just decided to use the provided tarball and live with it, that means that you have now also gcc-cell available in portage. Something else is almost ready… but I think I could sleep a bit now ^^;

Jul 20
You can get it from the usual place, it took some time to make everything behave as expected, but in the end I’m quite happy about this result, I’m just puzzled about the bfd configuration for spe since it just accepts raw *-elf and not linux-gnu as target.
Feedback quite appreciated ^^
Jul 20
Today/This night I started ripping some clean patches out of the Cell toolchain-3.2 sources.
As I said in the previous rant, the whole toolchain is provided as a singular huge and messy tarball, no patches provided…
The first target is binutils since should be simpler. You may find in my devspace the first raw diff (about 1.2MB) against binutils-2.16.1 and the, 2hours of work, clean diff against binutils-2.17.
probably there is something else to retouch (I removed an ugly #undef TARGET_CPU #define TARGET_CPU “cellppu” and I hadn’t check yet the configure to see what is missing there)
but overall isn’t bad:
Before
bfd/Makefile.am | 9
bfd/archures.c | 5
bfd/bfd-in2.h | 20
bfd/coffcode.h | 7
bfd/config.bfd | 18
bfd/configure | 1
bfd/configure.in | 1
bfd/cpu-powerpc.c | 30
bfd/cpu-spu.c | 63
bfd/doc/bfd.info | 131
bfd/doc/bfd.info-1 | 5921 ++++++++++++——
bfd/doc/chew.c | 6
bfd/elf.c | 172
bfd/elf32-spu.c | 1015 +++
bfd/elf64-ppc.c | 5
bfd/elflink.c | 7
bfd/opncls.c | 15
bfd/reloc.c | 27
bfd/targets.c | 2
binutils/ar.c | 9
binutils/doc/objcopy.1 | 9
binutils/objcopy.c | 74
binutils/readelf.c | 7
config.sub | 23
gas/Makefile.am | 16
gas/as.c | 9
gas/config/obj-coff.c | 243
gas/config/tc-ppc.c | 33
gas/config/tc-spu.c | 1006 +++
gas/config/tc-spu.h | 107
gas/configure.tgt | 5
gas/doc/as.info-1 |11236 ++++++++++++++++++++++++++++++++—- gas/doc/c-hppa.texi | 45
gas/testsuite/gas/sh/sh64/err-dsp.s | 2
gprof/gprof.info | 2326 ——-
include/bfdlink.h | 6
include/dis-asm.h | 1
include/elf/common.h | 1
include/elf/spu.h | 87
include/libiberty.h | 3
include/opcode/ppc.h | 3
include/opcode/spu-insns.h | 412 +
include/opcode/spu.h | 128
ld/Makefile.am | 8
ld/configure.tgt | 7
ld/deffile.h | 6
ld/emulparams/elf32_spu.sh | 14
ld/emulparams/elf64_lv2.sh | 51
ld/emulparams/elf64ppc.sh | 6
ld/emultempl/elf32.em | 7
ld/ld.texinfo | 8
ld/ldgram.y | 5
ld/ldmain.c | 15
ld/lexsup.c | 15
ld/pe-dll.c | 83
ld/scripttempl/elf.sc | 1
ld/scripttempl/pe.sc | 18
ld/testsuite/ld-scripts/assert.s | 1
ld/testsuite/ld-scripts/data.s | 1
libiberty/argv.c | 148
libiberty/config.table | 1
opcodes/Makefile.am | 10
opcodes/configure | 1
opcodes/configure.in | 1
opcodes/disassemble.c | 6
opcodes/ppc-dis.c | 22
opcodes/ppc-opc.c | 40
opcodes/spu-dis.c | 258
opcodes/spu-opc.c | 47
69 files changed, 18130 insertions(+), 5896 deletions(-)
2 hours after
bfd/Makefile.am | 9
bfd/archures.c | 5
bfd/bfd-in2.h | 20
bfd/config.bfd | 18
bfd/configure.in | 1
bfd/cpu-powerpc.c | 30 +
bfd/cpu-spu.c | 63 ++
bfd/elf.c | 172 ++++++
bfd/elf32-spu.c | 1015 ++++++++++++++++++++++++++++++++++++ bfd/elf64-ppc.c | 5
bfd/opncls.c | 15
bfd/reloc.c | 27
bfd/targets.c | 2
binutils/doc/objcopy.1 | 9
binutils/objcopy.c | 74 ++
binutils/readelf.c | 7
gas/Makefile.am | 16
gas/config/tc-ppc.c | 23
gas/config/tc-spu.c | 1006 +++++++++++++++++++++++++++++++++++
gas/config/tc-spu.h | 107 +++
gas/configure.tgt | 5
gas/testsuite/gas/sh/sh64/err-dsp.s | 2
include/bfdlink.h | 6
include/dis-asm.h | 1
include/elf/common.h | 1
include/elf/spu.h | 87 +++
include/opcode/ppc.h | 3
include/opcode/spu-insns.h | 412 ++++++++++++++
include/opcode/spu.h | 128 ++++
ld/Makefile.am | 8
ld/configure.tgt | 8
ld/emulparams/elf32_spu.sh | 14
ld/emulparams/elf64_lv2.sh | 51 +
ld/emulparams/elf64ppc.sh | 6
ld/emultempl/elf32.em | 7
ld/ld.texinfo | 8
ld/ldgram.y | 5
ld/ldmain.c | 15
ld/lexsup.c | 15
ld/scripttempl/elf.sc | 1
ld/scripttempl/pe.sc | 18
opcodes/Makefile.am | 10
opcodes/configure | 1
opcodes/configure.in | 1
opcodes/disassemble.c | 6
opcodes/ppc-dis.c | 22
opcodes/ppc-opc.c | 40 +
opcodes/spu-dis.c | 258 +++++++++
opcodes/spu-opc.c | 47 +
49 files changed, 3782 insertions(+), 28 deletions(-)
Jul 15
New release from IBM!
New and improve Cell SDK!
The new mambo works and works quite fine! I have already provided an ebuild for it and probably in short time I’ll add some gentoo custom bits to make working with it less annoying. You may check my overlay for it, I couldn’t get tile play with the tk UI yet but maybe I could try harder and have the simulator gui a tad nicer.
On the other side, there is the rest of the SDK is a nightmare =/
I bitched already about improper software distribution and seems that somebody read it since now the proposed medium is even more awkward: alloycanwatlowcarbnosourceincluded DAMN ISO IMAGE!
The fantastic iso image:
nemesi mnt # mount -o loop /tmp/CellSDK11.iso /mnt/iso/
nemesi mnt # ls iso
README.txt autorun css images pdfs
ShelExec.exe autorun.inf html media software
ShelExec.exe!?!
nemesi mnt # file iso/ShelExec.exe
iso/ShelExec.exe: MS-DOS executable PE for MS Windows (GUI) Intel 80386 32-bit
I hope that’s a joke…
Bright side: the pdfs in the same named dir are quite nice and is quite good have all the documentation in one place.
Dark side: again this is a fedora only distribution and the sources from bsc.es are again a messy tarball.