Differences between revisions 9 and 10
Revision 9 as of 2010-05-18 16:04:06
Size: 3949
Editor: KyleMoffett
Comment: typo fix (nice => niche)
Revision 10 as of 2010-05-19 05:42:41
Size: 4103
Editor: KyleMoffett
Comment: Update bug status and rearrange the table a bit
Deletions are marked like this. Additions are marked like this.
Line 11: Line 11:
|| '''Package''' || '''Assigned-to''' || '''Debian Bug''' ||
|| dpkg || <MERGED> || [[DebianBug:575158|#575158]] ||
|| eglibc || Kyle Moffett || [[DebianBug:579778|#579778]] ||
|| gcc-4.3 || || ||
|| gcc-4.4 || Kyle Moffett || [[DebianBug:579780|#579780]] ||
|| lintian || Sebastian || [[DebianBug:581314|#581314]] ||
|| openoffice || Sebastian || ||
|| openssh || <MERGED> || [[DebianBug:579843|#579843]] ||
|| openssl || Kyle Moffett || [[DebianBug:579805|#579805]] ||
|| strace || Sebastian || [[DebianBug:579842|#579842]] ||
|| util-linux || Sebastian || [[DebianBug:579844|#579844]] ||
|| xulrunner || Sebastian || ||
|| '''Package''' || '''Assigned-to''' || '''Status''' || '''Debian Bug''' ||
|| dpkg || Kyle Moffett || Merged || [[DebianBug:575158|#575158]] ||
|| eglibc || Kyle Moffett || Submitted || [[DebianBug:579778|#579778]] ||
|| gcc-4.3 || || TODO || ||
|| gcc-4.4 || Kyle Moffett || Merged/Buggy || [[DebianBug:579780|#579780]] ||
|| lintian || Sebastian || Submitted || [[DebianBug:581314|#581314]] ||
|| openoffice || Sebastian || TODO || ||
|| openssh || Sebastian || Merged || [[DebianBug:579843|#579843]] ||
|| openssl || Kyle Moffett || Submitted || [[DebianBug:579805|#579805]] ||
|| strace || Sebastian || Submitted || [[DebianBug:579842|#579842]] ||
|| util-linux || Sebastian || Submitted || [[DebianBug:579844|#579844]] ||
|| xulrunner || Sebastian || TODO || ||
Line 25: Line 25:
|| '''Package''' || '''Version''' || '''VCS Commit''' ||
|| dpkg || UNRELEASED || [[http://git.debian.org/?p=dpkg/dpkg.git;a=commitdiff;h=feb5792|feb5792 (GIT)]] ||
|| openssh || UNRELEASED || [[http://bzr.debian.org/loggerhead/pkg-ssh/openssh/trunk/revision/3431?|r3431 (BZR)]]                   ||
|| '''Package''' || '''Version''' || '''VCS Commit''' || '''Comment''' ||
|| dpkg || UNRELEASED || [[http://git.debian.org/?p=dpkg/dpkg.git;a=commitdiff;h=feb5792|feb5792 (GIT)]] ||  ||
|| gcc-4.4 || 4.4.4-2 || FIXME: Where is this? || Still buggy ||

|| openssh || UNRELEASED || [[http://bzr.debian.org/loggerhead/pkg-ssh/openssh/trunk/revision/3431?|r3431 (BZR)]] || ||

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

Status

Debian Bug

dpkg

Kyle Moffett

Merged

#575158

eglibc

Kyle Moffett

Submitted

#579778

gcc-4.3

TODO

gcc-4.4

Kyle Moffett

Merged/Buggy

#579780

lintian

Sebastian

Submitted

#581314

openoffice

Sebastian

TODO

openssh

Sebastian

Merged

#579843

openssl

Kyle Moffett

Submitted

#579805

strace

Sebastian

Submitted

#579842

util-linux

Sebastian

Submitted

#579844

xulrunner

Sebastian

TODO

Packages for which fixes have been merged

Package

Version

VCS Commit

Comment

dpkg

UNRELEASED

feb5792 (GIT)

gcc-4.4

4.4.4-2

FIXME: Where is this?

Still buggy

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":

  •  --with-cpu=8548 

  •  --enable-e500_double 

  •  --with-long-double-128 

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 niche of the processor will make such an official Debian port problematic.