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

Bert Freudenberg bert at freudenbergs.de
Mon Nov 26 13:16:53 UTC 2012


On 2012-11-25, at 17:03, "David T. Lewis" <lewis at mail.msen.com> wrote:

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

Instead of disabling FFI it might be possible to fall back to libffi, as is done for some other architectures (e.g. ARM).

- Bert -



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