Current status

Current 'powerpcspe' bug list

http://bugs.debian.org/cgi-bin/pkgreport.cgi?tag=powerpcspe;users=debian-powerpcspe@breakpoint.cc

Packages which need fixes to build natively (List is incomplete)

Package

Assigned-to

Debian Bug

dpkg

<MERGED>

#575158

eglibc

Kyle Moffett

#579778

gcc-4.3

gcc-4.4

Kyle Moffett

#579780

lintian

Sebastian

#581314

openoffice

Sebastian

openssh

<MERGED>

#579843

openssl

Kyle Moffett

#579805

strace

Sebastian

#579842

util-linux

Sebastian

#579844

xulrunner

Sebastian

Packages for which fixes have been merged

Package

Version

VCS Commit

dpkg

UNRELEASED

feb5792 (GIT)

openssh

UNRELEASED

r3431 (BZR)

Architecture summary

The 'powerpcspe' architecture is a binary-incompatible variant of the PowerPC/POWER designed and supported by FreeScale and IBM. It is also known under the trade names "e500"/"MPC8500" and "e200"/"MPC5xx".

Additional information can be found at:

Instruction set

In particular, the 'powerpcspe' architecture lacks the classic FPU with dedicated FPRs found on most other PowerPC systems. It is replaced with a set of "SPE" instructions which perform floating-point operations on the integer registers.

In an unfortunate choice of architecture design, the instructions used for the "SPE" operations overlap with those for the Altivec unit on most other modern PowerPC cores.

Chipset details

The "e500v2"-series chips have 64-bit GPRs, where the high 32-bits are accessible only via the special "SPE" instructions, allowing them to make efficient use of the "double" datatype.

The relatively rare "e500v1"-series chips have only 32-bit GPRs, and require software traps and emulation to support native "double".

The "e200z3" and "e200z6" chips have no support for floating point at all, but with software traps and emulation are binary-compatible with the "e500"-series chips.

GCC/EGLIBC considerations

The Debian port to this architecture specifically chooses to optimize for the higher-end chips (e500v2), as most of the others are targeted at automotive applications or no longer in production.

GCC by default builds correctly with full support for the e500v2 as long as the following options are passed to "configure":

Please note that the  --with-long-double-128  is desired to match the behavior of long double on other PowerPC-based platforms. (Otherwise long double is exactly the same as double).

Final notes

At this time the 'powerpcspe' architecture port is still very much an unofficial port. While we hope that will change in the future, it is entirely possible that the embedded nice of the processor will make such an official Debian port problematic.