[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
- 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.
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:184.108.40.2067-1.1
> > Severity: wishlist
> > Tags: sid patch
> > User: debian-powerpcspe at breakpoint.cc
> > Usertags: powerpcspe
> > Hi,
> > squeak-vm FTBFS on powerpcspe  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
> >  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