[Vm-dev] [unix] Unrecognized opcode in FFI on PowerPC SPE

David T. Lewis lewis at mail.msen.com
Sun Nov 25 16:03:49 UTC 2012


To summarize my understanding of this issue (see below for background):

- powerpcspe is variant of powerpc that lacks certain parts of the powerpc
instruction set, as explained here: http://wiki.debian.org/PowerPCSPEPort

- The FFI plugin has architecture-specific assembler modules that set
up the entry points for FFI calls. The assembly module for powerpc is
platforms/unix/plugins/SqueakFFIPrims/ppc-sysv-asm.S

- The ppc-sysv-asm.S module uses one or more instructions ('lfd', possibly
others) that are not available on  the powerpcspe processor, and the the
module cannot be compiled on powerpcspe.

- The solution for the Debian build is to not build the FFI plugin when
compiling for powerpcspe. This is done by passing the --without-SqueakFFIPrims
option to the cmake configure when building on powerpcspe.

- The configuration is done in a file called debian/rules, and the provided
squeak-vm.patch is a patch for that rules file. This file is not part of
the Squeak VM platforms sources and is presumably maintained externally
by the Debian folks.

- The right way to fix the build problem in the platforms sources would be
to modify platforms/unix/plugins/SqueakFFIPrims/config.cmake to disable
the FFI plugin for powerpcspe at configure time. This is probably easy to
do, although I do not have a way to try it myself.

- Extra credit: If someone wanted FFI to work on powerpcspe, the way to make
this happen would be to write a variation of ppc-sysv-asm.S for powerpcspe
and add it to config.cmake.

Dave


On Mon, Nov 19, 2012 at 06:38:10PM +0100, Bert Freudenberg wrote:
>  
> Begin forwarded message:
> 
> > Resent-From: Roland Stigge <stigge at antcom.de>
> > From: Roland Stigge <stigge at antcom.de>
> > Subject: Bug#693633: squeak-vm: FTBFS on powerpcspe (asm stfd/lfd)
> > Date: 18. November 2012 21:10:04 MEZ
> > Resent-To: debian-bugs-dist at lists.debian.org
> > To: Debian Bug Tracking System <submit at bugs.debian.org>
> > Resent-Cc: Debian Squeak Team <pkg-squeak-devel at lists.alioth.debian.org>
> > Reply-To: Roland Stigge <stigge at antcom.de>, 693633 at bugs.debian.org
> > 
> > Package: squeak-vm
> > Version: 1:4.4.7.2357-1.1
> > Severity: wishlist
> > Tags: sid patch
> > User: debian-powerpcspe at breakpoint.cc
> > Usertags: powerpcspe
> > 
> > Hi,
> > 
> > squeak-vm FTBFS on powerpcspe [1] like this:
> > 
> > [ 82%] Building ASM object SqueakFFIPrims/CMakeFiles/SqueakFFIPrims.dir/<C2><AB>PKGBUILDDIR<C2><BB>/unix/plugins/SqueakFFIPrims/ppc-sysv-asm.S.o
> > /PKGBUILDDIR/unix/plugins/SqueakFFIPrims/ppc-sysv-asm.S: Assembler messages:
> > /PKGBUILDDIR/unix/plugins/SqueakFFIPrims/ppc-sysv-asm.S:109: Error: Unrecognized opcode: `lfd'
> > [...]
> > 
> > There are some asm statements that only work on powerpc but not on powerpcspe.
> > 
> > Attaching a patch that fixes it by disabling the SqueakFFIPrims plugin on
> > powerpcspe.
> > 
> > Thanks,
> > 
> > Roland
> > 
> > 
> > [1] http://wiki.debian.org/PowerPCSPEPort
> > 
> > -- System Information:
> > Debian Release: wheezy/sid
> >  APT prefers unstable
> >  APT policy: (500, 'unstable'), (1, 'experimental')
> > Architecture: amd64 (x86_64)
> > 
> > Kernel: Linux 3.5.0 (SMP w/4 CPU cores)
> > Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set to en_GB.UTF-8)
> > Shell: /bin/sh linked to /bin/dash


> > 
> 



More information about the Vm-dev mailing list