* mips-r6.patch: new patch by YunQiang Su, fixes build on MIPS r6.
(Closes: #893851)
* Set Maintainer to debian-common-lisp@l.d.o.
[dgit import unpatched ffcall 2.1-2]
--- /dev/null
--- /dev/null
++ffcall (2.1-2) unstable; urgency=medium
++
++ * mips-r6.patch: new patch by YunQiang Su, fixes build on MIPS r6.
++ (Closes: #893851)
++ * Set Maintainer to debian-common-lisp@l.d.o.
++
++ -- Sébastien Villemot <sebastien@debian.org> Wed, 11 Apr 2018 19:47:18 +0200
++
++ffcall (2.1-1) unstable; urgency=medium
++
++ * New upstream release.
++ * Update Vcs-* fields for move to salsa.
++ * Drop fix-powerpcspe.patch, outdated, no longer works.
++ * Drop trampoline-mips64el.patch, applied upstream.
++ * No longer disable PIE on armhf, not needed anymore.
++ * Bump to debhelper compat level 11.
++ * Bump Standards-Version to 4.1.3.
++ * d/copyright: reflect upstream changes.
++
++ -- Sébastien Villemot <sebastien@debian.org> Sat, 17 Feb 2018 21:30:10 +0100
++
++ffcall (2.0-2) unstable; urgency=medium
++
++ * Fix FTBFS on armhf by disabling PIE (for vacall test).
++ * trampoline-mips64el.patch: new patch, fixes FTBFS on mips64el.
++ * Fix symbols file on sparc64 (callback_get_receiver not present there).
++ * mips-fpxx.patch: regenerate avcall assembly files using -fno-tree-dce.
++ This fixes test failures on mips and mipsel.
++
++ -- Sébastien Villemot <sebastien@debian.org> Sun, 26 Nov 2017 18:23:10 +0100
++
++ffcall (2.0-1) experimental; urgency=medium
++
++ * New upstream version 2.0
++ * Rewrite debian/copyright using machine-readable format 1.0.
++ * Move under Debian Common Lisp Team maintenance.
++ Thanks to Christoph Egger for his past work on this package.
++ * Verify PGP signature of upstream tarball.
++ * Drop Fix_MIPS_N32_test.patch, no longer needed.
++ * Bump to debhelper compat level 10.
++ * Make testsuite failures fatal at build time.
++ * Reorganize binary packages:
++ - libffcall1-dev renamed to libffcall-dev (with a transitional package)
++ - libffcall1a renamed to libffcall1b: now contains the new libffcall shared
++ library, which combines avcall and callback
++ - new libavcall1 and libcallback1 packages, for providing the separate
++ libraries, which are now deprecated
++ - new shared library package libtrampoline1
++ * Ship all docs under /usr/share/doc/libffcall-dev.
++ * Mark all binary packages as M-A same.
++ * Bump Standards-Version to 4.1.1.
++
++ -- Sébastien Villemot <sebastien@debian.org> Thu, 09 Nov 2017 16:08:34 +0100
++
++ffcall (1.13-0.2) unstable; urgency=low
++
++ * Non-maintainer upload.
++ * Rename libffcall1 to libffcall1a because ABI was broken in 1.13-0.1.
++ (Closes: #874068)
++ * Update symbols file. This should fix FTBFS on hurd-i386, powerpcspe and
++ sparc64.
++
++ -- Sébastien Villemot <sebastien@debian.org> Sat, 02 Sep 2017 23:43:43 +0200
++
++ffcall (1.13-0.1) unstable; urgency=low
++
++ * Non-maintainer upload.
++ * Thanks to Frédéric Bonnard for crafting a first version of this upload.
++ (Closes: #868021)
++ * New upstream version 1.13. (Closes: #806992)
++ + better ppc64el support (Closes: #871567)
++ + better arm64 support (Closes: #758379)
++ + fixes testsuite failure on any-amd64 (Closes: #451356)
++ + executable stack no longer needed (Closes: #445895)
++ * d/copyright: ffcall has been relicensed to GPL-2+
++ * Drop patches no longer needed:
++ + 0001-fix-callback-on-x86_64.patch
++ + ppc64el-elfv2.patch
++ * New mips-frpxx.patch, needed for compiling on mips and mipsel.
++ * Tell aclocal to look into gnulib-m4 (because it is now patched).
++ Also effectively run libtoolize. (Closes: #727848)
++ * No longer mark libffcall1-dev as Multi-Arch: same. (Closes: #824725)
++ * Fix URL in debian/watch.
++ * Fix Vcs-Browser URL.
++ * Drop obsolete README.source.
++
++ -- Sébastien Villemot <sebastien@debian.org> Sat, 02 Sep 2017 16:42:44 +0200
++
++ffcall (1.10+cvs20100619-4) unstable; urgency=medium
++
++ [ Fernando Seiti Furusato ]
++ * Replaced .odp section, unexistent on ELFv2 by .localentry for the
++ entry point within *.s files, which fixes ftbfs on
++ ppc64el. Additionally made some other modifications for endianness
++ definition for ppc64 into header files (Closes: #768236).
++
++ [ Christoph Egger ]
++ * Import path by James Cowgill to fix MIPS n32 (Closes: #782590)
++ * use autoreconf dh addon including relibtoolizing
++ * Update VCS URLs
++ * Update compat version
++ * Implement compat 9 + multiarch
++
++ -- Christoph Egger <christoph@debian.org> Wed, 18 May 2016 17:11:00 +0200
++
++ffcall (1.10+cvs20100619-3) unstable; urgency=medium
++
++ * Update config.* during build (Closes: #727848)
++ * Add patch by Roland Stigge to add support for powerpcspe (Closes:
++ #731647)
++ * Add patch by Andrey Kutejko to save needed register content (Closes:
++ #636849)
++
++ -- Christoph Egger <christoph@debian.org> Tue, 24 Dec 2013 12:55:04 +0100
++
++ffcall (1.10+cvs20100619-2) unstable; urgency=low
++
++ * Ship to unstable
++
++ -- Christoph Egger <christoph@debian.org> Sat, 26 Jun 2010 15:29:30 +0200
++
++ffcall (1.10+cvs20100619-1) experimental; urgency=low
++
++ * New Upstream CVS snapshot (LP: #274951) (Closes: #504515)
++ * Adding support for armel
++ * Upload to experimental for now
++
++ -- Christoph Egger <christoph@debian.org> Sat, 19 Jun 2010 17:43:53 +0200
++
++ffcall (1.10+2.41-4) unstable; urgency=low
++
++ * Adopt package
++ * Import into git, set relevant headers
++ * set Homepage: field
++ * Update for Policy 3.8.4
++ * Jump to debhelper 7 (non-dh for now)
++ * Cleanup packaging
++
++ -- Christoph Egger <christoph@debian.org> Fri, 11 Jun 2010 18:32:21 +0200
++
++ffcall (1.10+2.41-3) unstable; urgency=low
++
++ * Uhm. It helps if I regenerate the configure scripts too.
++
++ -- Hubert Chan <uhoreg@debian.org> Tue, 21 Nov 2006 15:09:04 -0500
++
++ffcall (1.10+2.41-2) unstable; urgency=low
++
++ * Patch ffcall/m4/general.m4 to support mipsel. (cross fingers)
++
++ -- Hubert Chan <uhoreg@debian.org> Thu, 16 Nov 2006 17:37:32 -0500
++
++ffcall (1.10+2.41-1) unstable; urgency=low
++
++ * Update from clisp-2.41, fixing powerpc build failure.
++ * New maintainer. (Thanks to doko for his work.)
++ * Bump standards version to 3.7.2. (no changes)
++ * Sync copyright info.
++
++ -- Hubert Chan <uhoreg@debian.org> Mon, 13 Nov 2006 15:03:56 -0500
++
++ffcall (1.10-3) unstable; urgency=low
++
++ * Update libtool scripts to build on (GNU/k*BSD) (Petr Salinger).
++ Closes: #380118.
++
++ -- Matthias Klose <doko@debian.org> Mon, 14 Aug 2006 01:34:55 +0200
++
++ffcall (1.10-2) unstable; urgency=low
++
++ * Add support for mipsel (Thiemo Seufer). Closes: #189992.
++
++ -- Matthias Klose <doko@debian.org> Mon, 28 Mar 2005 14:57:56 +0200
++
++ffcall (1.10-1) unstable; urgency=low
++
++ * New upstream version.
++ * Apply patch from arm
++ (http://savannah.gnu.org/bugs/?func=detailitem&item_id=9468).
++
++ -- Matthias Klose <doko@debian.org> Sat, 3 Jul 2004 06:27:52 +0200
++
++ffcall (1.9-1) unstable; urgency=low
++
++ * New upstream version (amd64 support added).
++
++ -- Matthias Klose <doko@debian.org> Tue, 27 Jan 2004 07:58:04 +0100
++
++ffcall (1.8.20030831-1) unstable; urgency=low
++
++ * New maintainer (closes: #130293).
++ * New upstream version taken from the clisp-2003-08-31 snapshot.
++ - Builds on ia64 (closes: #110080).
++ * mips: Don't rely on obsolete header file (closes: #189991).
++
++ -- Matthias Klose <doko@debian.org> Sun, 31 Aug 2003 21:04:43 +0200
++
++ffcall (1.8-5) unstable; urgency=low
++
++ * Patch to fix build scripts on newer Alphas.
++ Thanks to Christopher Chimes. (Closes: #153959)
++ * Acknowledging NMUs below:
++ (Closes: #104638)
++ (Closes: #130213)
++ (Closes: #129141)
++ Thank you for the help.
++
++ -- Matthew Danish <mdanish@andrew.cmu.edu> Fri, 9 Aug 2002 15:43:03 -0400
++
++ffcall (1.8-4.2) unstable; urgency=low
++
++ * NMU
++ * Fix hppa compile failures. Closes: #104638
++ * Do a better job on detecting arm. Closes: #130213.
++
++ -- LaMont Jones <lamont@debian.org> Thu, 4 Apr 2002 22:14:46 -0700
++
++ffcall (1.8-4.1) unstable; urgency=low
++
++ * Non-maintainer upload
++ * s390 ffcall patches applied. (Closes: #129141)
++
++ -- Gerhard Tonn <gt@debian.org> Mon, 21 Jan 2002 07:46:15 +0100
++
++ffcall (1.8-4) unstable; urgency=low
++
++ * Added .la files into -dev, added some man pages and docs
++
++ -- Matthew Danish <mdanish@andrew.cmu.edu> Sat, 28 Apr 2001 19:32:27 -0400
++
++ffcall (1.8-3) unstable; urgency=low
++
++ * Updated Standards Version
++
++ -- Matthew Danish <mdanish@andrew.cmu.edu> Tue, 24 Apr 2001 13:44:14 -0400
++
++ffcall (1.8-2) unstable; urgency=low
++
++ * Fixed some lintian warnings
++
++ -- Matthew Danish <mdanish@andrew.cmu.edu> Mon, 26 Mar 2001 00:35:00 -0500
++
++ffcall (1.8-1) unstable; urgency=low
++
++ * Updated Standards-Version
++
++ -- Matthew Danish <mdanish@andrew.cmu.edu> Sun, 25 Mar 2001 23:17:29 -0500
++
++ffcall (1.8-0) unstable; urgency=low
++
++ * NMU.
++ * New upstream release
++
++ -- Matthias Klose <doko@debian.org> Sun, 25 Feb 2001 07:37:32 +0100
++
++ffcall (1.7-2) unstable; urgency=low
++
++ * Bugfixes in package
++
++ -- Matthew Danish <mdanish@andrew.cmu.edu> Fri, 16 Feb 2001 20:02:41 -0500
++
++ffcall (1.7-1) unstable; urgency=low
++
++ * New upstream release
++
++ -- Matthew Danish <mdanish@andrew.cmu.edu> Mon, 8 Jan 2001 15:53:12 -0500
++
++ffcall (1.6-1) unstable; urgency=low
++
++ * Initial Release.
++
++ -- Matthew Danish <mdanish@andrew.cmu.edu> Sat, 6 Jan 2001 23:29:53 -0500
--- /dev/null
--- /dev/null
++11
--- /dev/null
--- /dev/null
++Source: ffcall
++Section: libs
++Priority: optional
++Maintainer: Debian Common Lisp Team <debian-common-lisp@lists.debian.org>
++Uploaders: Sébastien Villemot <sebastien@debian.org>
++Build-Depends: debhelper (>= 11)
++Standards-Version: 4.1.3
++Vcs-Git: https://salsa.debian.org/common-lisp-team/ffcall.git
++Vcs-Browser: https://salsa.debian.org/common-lisp-team/ffcall
++Homepage: https://savannah.gnu.org/projects/libffcall/
++
++Package: libffcall-dev
++Architecture: any
++Multi-Arch: same
++Section: libdevel
++Depends: libffcall1b (= ${binary:Version}),
++ libavcall1 (= ${binary:Version}),
++ libcallback1 (= ${binary:Version}),
++ libtrampoline1 (= ${binary:Version}),
++ ${misc:Depends}
++Breaks: libffcall1-dev (<< 2.0)
++Replaces: libffcall1-dev (<< 2.0)
++Description: foreign function call libraries - development files
++ ffcall is a collection of libraries which can be used to build
++ foreign function call interfaces in embedded interpreters.
++ .
++ The main libffcall library consists of two parts:
++ .
++ avcall - calling C functions with variable arguments
++ .
++ callback - closures with variable arguments as first-class C functions
++ .
++ The avcall and callback modules are also provided as separate
++ libraries, but those are deprecated and are installed only for backward
++ compatibility.
++ .
++ Two other libraries are provided:
++ .
++ vacall - C functions accepting variable argument prototypes
++ (non-reentrant variant of part of 'callback')
++ .
++ trampoline - closures as first-class C functions
++ (non-reentrant variant of part of 'callback')
++ .
++ This package also includes documentation, in HTML format and as manual pages.
++
++Package: libffcall1-dev
++Architecture: all
++Section: oldlibs
++Depends: libffcall-dev,
++ ${misc:Depends}
++Description: foreign function call libraries - transitional package
++ This transitional package can be safely removed once libffcall-dev has been
++ installed.
++
++Package: libffcall1b
++Architecture: any
++Multi-Arch: same
++Depends: ${shlibs:Depends},
++ ${misc:Depends}
++Description: foreign function call libraries - main shared library
++ ffcall is a collection of libraries which can be used to build
++ foreign function call interfaces in embedded interpreters.
++ .
++ This package installs a shared version of the main libffcall library,
++ which consists of two parts:
++ .
++ avcall - calling C functions with variable arguments
++ .
++ callback - closures with variable arguments as first-class C functions
++
++Package: libavcall1
++Architecture: any
++Multi-Arch: same
++Depends: ${shlibs:Depends},
++ ${misc:Depends}
++Description: foreign function call libraries - calling C functions with variable arguments
++ ffcall is a collection of libraries which can be used to build
++ foreign function call interfaces in embedded interpreters.
++ .
++ This package installs a shared library version of the avcall library, which
++ can be used for calling C functions with variable arguments.
++ .
++ The use of this shared library is deprecated. The main libffcall library,
++ which embeds avcall, should be preferred.
++
++Package: libcallback1
++Architecture: any
++Multi-Arch: same
++Depends: ${shlibs:Depends},
++ ${misc:Depends}
++Description: foreign function call libraries - closures with variable arguments in C
++ ffcall is a collection of libraries which can be used to build
++ foreign function call interfaces in embedded interpreters.
++ .
++ This package installs a shared library version of the callback library, which
++ provides closures with variable arguments as first-class C functions.
++ .
++ The use of this shared library is deprecated. The main libffcall library,
++ which embeds callback, should be preferred.
++
++Package: libtrampoline1
++Architecture: any
++Multi-Arch: same
++Depends: ${shlibs:Depends},
++ ${misc:Depends}
++Description: foreign function call libraries - closures in C (non-reentrant variant)
++ ffcall is a collection of libraries which can be used to build
++ foreign function call interfaces in embedded interpreters.
++ .
++ This package installs a shared library version of the trampoline library,
++ which implements closures as first-class C functions. This is a non-reentrant
++ variant of part of the 'callback' library.
--- /dev/null
--- /dev/null
++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++Upstream-Name: libffcall
++Upstream-Contact: Bruno Haible <bruno@clisp.org>
++Source: https://savannah.gnu.org/projects/libffcall/
++
++Files: *
++Copyright: 1993-1995 Bill Triggs <Bill.Triggs@inrialpes.fr> (original avcall)
++ 1995-2018 Bruno Haible <bruno@clisp.org> (everything)
++ 1997 Jörg Höhle <Joerg.Hoehle@gmd.de> (m68k AmigaOS support)
++ 2000 Adam Fedor <fedor@gnu.org> (PowerPC MacOS support)
++ 2001-2012 Sam Steingold <sds@gnu.org> (build infrastructure)
++ 2001-2002 Gerhard Tonn <GerhardTonn@swol.de> <gt@debian.org> (s390 support)
++ 2004 Paul Guyot <pguyot@kallisys.net> (PowerPC MacOS support)
++ 2005 Thiemo Seufer <ths@debian.org> (MIPS EL support)
++ 2009 Max Lapan <max.lapan@gmail.com> (ARM EL support)
++ 2010 Valery Ushakov <uwe@netbsd.org> (SPARC64 improvements)
++ 1986-2017, Free Software Foundation, Inc.
++License: GPL-2+
++
++Files: callback/callback.3
++ callback/trampoline_r/trampoline_r.3
++ trampoline/trampoline.3
++ vacall/vacall.3
++Copyright: 1995-2017, Bruno Haible
++License: GFDL-NIV-1.2+ or GPL-2+
++
++Files: gnulib-lib/*
++Copyright: 1994-2018, Free Software Foundation, Inc.
++License: GPL-3+
++
++Files: gnulib-m4/*
++ m4/endianness.m4
++ m4/ltoptions.m4
++ m4/ltversion.m4
++ m4/libtool.m4
++ m4/ltsugar.m4
++ m4/lt~obsolete.m4
++Copyright: 1989, 1991, 1996-2018, Free Software Foundation, Inc.
++License: permissive
++ This file is free software; the Free Software Foundation
++ gives unlimited permission to copy and/or distribute it,
++ with or without modifications, as long as this notice is preserved.
++
++Files: gnulib-m4/gnulib-cache.m4
++ gnulib-m4/gnulib-comp.m4
++ gnulib-m4/onceonly.m4
++Copyright: 1994-2017, Free Software Foundation, Inc.
++License: GPL-3+ with Autoconf exception
++
++Files: debian/*
++Copyright: 2001-2002 Matthew Danish <mdanish@andrew.cmu.edu>
++ 2003-2006 Matthias Klose <doko@debian.org>
++ 2006 Hubert Chan <uhoreg@debian.org>
++ 2010-2016 Christoph Egger <christoph@debian.org>
++ 2017-2018 Sébastien Villemot <sebastien@debian.org>
++License: GPL-2+
++
++License: GPL-2+
++ This program is free software; you can redistribute it and/or
++ modify it under the terms of the GNU General Public License as
++ published by the Free Software Foundation; either version 2,
++ or (at your option) any later version.
++ .
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++ .
++ You should have received a copy of the GNU General Public License along
++ with this program. If not, see <http://www.gnu.org/licenses/>.
++ .
++ On Debian systems, the complete text of the GNU General Public
++ License, version 2, can be found in the file
++ `/usr/share/common-licenses/GPL-2'.
++
++License: GPL-3+
++ This program is free software: you can redistribute it and/or modify
++ it under the terms of the GNU General Public License as published by
++ the Free Software Foundation, either version 3 of the License, or
++ (at your option) any later version.
++ .
++ This program is distributed in the hope that it will be useful,
++ but WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
++ GNU General Public License for more details.
++ .
++ You should have received a copy of the GNU General Public License
++ along with this program. If not, see <http://www.gnu.org/licenses/>.
++ .
++ On Debian systems, the complete text of the GNU General Public
++ License, version 3, can be found in the file
++ `/usr/share/common-licenses/GPL-3'.
++
++License: GPL-3+ with Autoconf exception
++ This program is free software: you can redistribute it and/or modify it
++ under the terms of the GNU General Public License as published by the
++ Free Software Foundation, either version 3 of the License, or (at your
++ option) any later version.
++ .
++ This program is distributed in the hope that it will be useful, but
++ WITHOUT ANY WARRANTY; without even the implied warranty of
++ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General
++ Public License for more details.
++ .
++ You should have received a copy of the GNU General Public License along
++ with this program. If not, see <http://www.gnu.org/licenses/>.
++ .
++ On Debian systems, the complete text of the GNU General Public
++ License, version 3, can be found in the file
++ `/usr/share/common-licenses/GPL-3'.
++ .
++ As a special exception to the GNU General Public License,
++ this file may be distributed as part of a program
++ that contains a configuration script generated by Autoconf, under
++ the same distribution terms as the rest of that program.
++
++License: GFDL-NIV-1.2+
++ This manual is covered by the GNU FDL. Permission is granted to copy,
++ distribute and/or modify this document under the terms of the
++ GNU Free Documentation License (FDL), either version 1.2 of the
++ License, or (at your option) any later version published by the
++ Free Software Foundation (FSF); with no Invariant Sections, with no
++ Front-Cover Text, and with no Back-Cover Texts
++ .
++ A copy of the license is at <https://www.gnu.org/licenses/old-licenses/fdl-1.2>.
++ .
++ On Debian systems, the complete text of the GNU Free Documentation
++ License, version 1.2, can be found in the file
++ `/usr/share/common-licenses/GFDL-1.2'.
--- /dev/null
--- /dev/null
++usr/lib/*/libavcall.so.*
--- /dev/null
--- /dev/null
++libavcall.so.1 libavcall1 #MINVER#
++ __builtin_avcall@Base 2.0
++ avcall_arg_double@Base 2.0
++ avcall_arg_float@Base 2.0
++ avcall_arg_long@Base 2.0
++ avcall_arg_longlong@Base 2.0
++ avcall_arg_ptr@Base 2.0
++ avcall_arg_struct@Base 2.0
++ avcall_arg_ulong@Base 2.0
++ avcall_arg_ulonglong@Base 2.0
++ avcall_call@Base 2.0
++ avcall_overflown@Base 2.0
++ avcall_start@Base 2.0
++ avcall_start_struct@Base 2.0
++ avcall_structcpy@Base 2.0
--- /dev/null
--- /dev/null
++usr/lib/*/libcallback.so.*
--- /dev/null
--- /dev/null
++libcallback.so.1 libcallback1 #MINVER#
++ alloc_callback@Base 2.0
++ callback_address@Base 2.0
++ callback_arg_char@Base 2.0
++ callback_arg_double@Base 2.0
++ callback_arg_float@Base 2.0
++ callback_arg_int@Base 2.0
++ callback_arg_long@Base 2.0
++ callback_arg_longlong@Base 2.0
++ callback_arg_ptr@Base 2.0
++ callback_arg_schar@Base 2.0
++ callback_arg_short@Base 2.0
++ callback_arg_struct@Base 2.0
++ callback_arg_uchar@Base 2.0
++ callback_arg_uint@Base 2.0
++ callback_arg_ulong@Base 2.0
++ callback_arg_ulonglong@Base 2.0
++ callback_arg_ushort@Base 2.0
++ callback_data@Base 2.0
++ (arch=!sparc64)callback_get_receiver@Base 2.0
++ (arch=armhf sparc64)callback_receiver@Base 2.0
++ callback_return_char@Base 2.0
++ callback_return_double@Base 2.0
++ callback_return_float@Base 2.0
++ callback_return_int@Base 2.0
++ callback_return_long@Base 2.0
++ callback_return_longlong@Base 2.0
++ callback_return_ptr@Base 2.0
++ callback_return_schar@Base 2.0
++ callback_return_short@Base 2.0
++ callback_return_struct@Base 2.0
++ callback_return_uchar@Base 2.0
++ callback_return_uint@Base 2.0
++ callback_return_ulong@Base 2.0
++ callback_return_ulonglong@Base 2.0
++ callback_return_ushort@Base 2.0
++ callback_return_void@Base 2.0
++ callback_start@Base 2.0
++ callback_start_struct@Base 2.0
++ callback_structcpy@Base 2.0
++ callback_trampoline_address@Base 2.0
++ callback_trampoline_alloc@Base 2.0
++ callback_trampoline_data0@Base 2.0
++ callback_trampoline_data1@Base 2.0
++ callback_trampoline_free@Base 2.0
++ callback_trampoline_is@Base 2.0
++ free_callback@Base 2.0
++ is_callback@Base 2.0
++ trampoline_r_data0@Base 2.0
--- /dev/null
--- /dev/null
++NEWS
++README
++PLATFORMS
++debian/tmp/usr/share/html/vacall.html
++debian/tmp/usr/share/html/callback.html
++debian/tmp/usr/share/html/trampoline.html
++debian/tmp/usr/share/html/avcall.html
++
--- /dev/null
--- /dev/null
++usr/include/
++usr/lib/*/libffcall.so
++usr/lib/*/libffcall.a
++usr/lib/*/libcallback.so
++usr/lib/*/libcallback.a
++usr/lib/*/libavcall.so
++usr/lib/*/libavcall.a
++usr/lib/*/libtrampoline.so
++usr/lib/*/libtrampoline.a
++usr/lib/*/libvacall.a
++usr/share/man/man3/vacall.3
++usr/share/man/man3/callback.3
++usr/share/man/man3/avcall.3
++usr/share/man/man3/trampoline.3
--- /dev/null
--- /dev/null
++usr/lib/*/libffcall.so.*
--- /dev/null
--- /dev/null
++libffcall.so.0 libffcall1b #MINVER#
++ alloc_callback@Base 2.0
++ avcall_arg_double@Base 2.0
++ avcall_arg_float@Base 2.0
++ avcall_arg_long@Base 2.0
++ avcall_arg_longlong@Base 2.0
++ avcall_arg_ptr@Base 2.0
++ avcall_arg_struct@Base 2.0
++ avcall_arg_ulong@Base 2.0
++ avcall_arg_ulonglong@Base 2.0
++ avcall_call@Base 2.0
++ avcall_overflown@Base 2.0
++ avcall_start@Base 2.0
++ avcall_start_struct@Base 2.0
++ avcall_structcpy@Base 2.0
++ callback_address@Base 2.0
++ callback_arg_char@Base 2.0
++ callback_arg_double@Base 2.0
++ callback_arg_float@Base 2.0
++ callback_arg_int@Base 2.0
++ callback_arg_long@Base 2.0
++ callback_arg_longlong@Base 2.0
++ callback_arg_ptr@Base 2.0
++ callback_arg_schar@Base 2.0
++ callback_arg_short@Base 2.0
++ callback_arg_struct@Base 2.0
++ callback_arg_uchar@Base 2.0
++ callback_arg_uint@Base 2.0
++ callback_arg_ulong@Base 2.0
++ callback_arg_ulonglong@Base 2.0
++ callback_arg_ushort@Base 2.0
++ callback_data@Base 2.0
++ (arch=!sparc64)callback_get_receiver@Base 2.0
++ (arch=armhf sparc64)callback_receiver@Base 2.0
++ callback_return_char@Base 2.0
++ callback_return_double@Base 2.0
++ callback_return_float@Base 2.0
++ callback_return_int@Base 2.0
++ callback_return_long@Base 2.0
++ callback_return_longlong@Base 2.0
++ callback_return_ptr@Base 2.0
++ callback_return_schar@Base 2.0
++ callback_return_short@Base 2.0
++ callback_return_struct@Base 2.0
++ callback_return_uchar@Base 2.0
++ callback_return_uint@Base 2.0
++ callback_return_ulong@Base 2.0
++ callback_return_ulonglong@Base 2.0
++ callback_return_ushort@Base 2.0
++ callback_return_void@Base 2.0
++ callback_start@Base 2.0
++ callback_start_struct@Base 2.0
++ callback_structcpy@Base 2.0
++ callback_trampoline_address@Base 2.0
++ callback_trampoline_alloc@Base 2.0
++ callback_trampoline_data0@Base 2.0
++ callback_trampoline_data1@Base 2.0
++ callback_trampoline_free@Base 2.0
++ callback_trampoline_is@Base 2.0
++ ffcall_get_version@Base 2.0
++ free_callback@Base 2.0
++ is_callback@Base 2.0
--- /dev/null
--- /dev/null
++usr/lib/*/libtrampoline.so.*
--- /dev/null
--- /dev/null
++libtrampoline.so.1 libtrampoline1 #MINVER#
++ alloc_trampoline@Base 2.0
++ free_trampoline@Base 2.0
++ is_trampoline@Base 2.0
++ trampoline_address@Base 2.0
++ trampoline_data@Base 2.0
++ trampoline_variable@Base 2.0
--- /dev/null
--- /dev/null
++Description: Update assembly code for new ABI on mips and mipsel
++ There was a change in the ABI of mips and mipsel since gcc-5 (see #825342), that
++ makes ffcall FTBFS on those arches, because it uses odd-numbered floating point
++ registers, which is no longer possible with the new ABI.
++ .
++ This patch regenerates the assembly files with the new ABI. Note that the flag
++ -fno-tree-dce was added for generating the avcall files, because otherwise the
++ allocation on the stack with __builtin_alloca is optimized out.
++ .
++ On mips, the new assembly files have been created with the following commands:
++ .
++ rm avcall/avcall-mipseb* vacall/vacall-mipseb* callback/vacall_r/vacall-mipseb*
++ make -C avcall -f Makefile.devel avcall-mipseb-linux.s avcall-mipseb-macro.S
++ make -C vacall -f Makefile.devel vacall-mipseb-linux.s vacall-mipseb-macro.S
++ make -C callback/vacall_r -f Makefile.devel vacall-mipseb-linux.s vacall-mipseb-macro.S
++ .
++ On mipsel, the commands are the same after substituting mipseb by mipsel.
++Author: Sébastien Villemot <sebastien@debian.org>
++Forwarded: https://savannah.gnu.org/bugs/index.php?52510
++Last-Update: 2017-11-26
++---
++This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
++--- a/avcall/Makefile.devel
+++++ b/avcall/Makefile.devel
++@@ -48,13 +48,13 @@ avcall-m68k.motorola.S : avcall-m68k-lin
++
++
++ avcall-mipseb-linux.s : avcall-mips.c avcall-internal.h avcall.h avcall-alist.h $(THISFILE)
++- $(CROSS_TOOL) mips64-linux gcc -V 4.0.2 -mabi=32 -meb $(GCCFLAGS) -D__mips__ -S avcall-mips.c -o avcall-mipseb-linux.s
+++ mips-linux-gnu-gcc $(GCCFLAGS) -fno-tree-dce -D__mips__ -S avcall-mips.c -o avcall-mipseb-linux.s
++
++ avcall-mipseb-macro.S : avcall-mipseb-linux.s ../common/asm-mips.sh $(THISFILE)
++ (echo '#include "asm-mips.h"' ; ../common/asm-mips.sh < avcall-mipseb-linux.s) > avcall-mipseb-macro.S
++
++ avcall-mipsel-linux.s : avcall-mips.c avcall-internal.h avcall.h avcall-alist.h $(THISFILE)
++- $(CROSS_TOOL) mips64-linux gcc -V 4.0.2 -mabi=32 -mel $(GCCFLAGS) -D__mips__ -S avcall-mips.c -o avcall-mipsel-linux.s
+++ mipsel-linux-gnu-gcc $(GCCFLAGS) -fno-tree-dce -D__mips__ -S avcall-mips.c -o avcall-mipsel-linux.s
++
++ avcall-mipsel-macro.S : avcall-mipsel-linux.s ../common/asm-mips.sh $(THISFILE)
++ (echo '#include "asm-mips.h"' ; ../common/asm-mips.sh < avcall-mipsel-linux.s) > avcall-mipsel-macro.S
++--- a/callback/vacall_r/Makefile.devel
+++++ b/callback/vacall_r/Makefile.devel
++@@ -49,13 +49,13 @@ vacall-m68k.motorola.S : vacall-m68k-lin
++
++ vacall-mipseb-linux.s : ../../vacall/vacall-mips.c ../../vacall/vacall-internal.h vacall_r.h $(THISFILE)
++ # For references to symbols: -mno-explicit-relocs ensures a syntax that the IRIX assembler understands.
++- $(CROSS_TOOL) mips64-linux gcc -V 4.0.2 -mabi=32 -meb -mno-explicit-relocs $(GCCFLAGS) -D__mips__ -S ../../vacall/vacall-mips.c -I../../vacall -I. -o vacall-mipseb-linux.s
+++ mips-linux-gnu-gcc -mno-explicit-relocs $(GCCFLAGS) -D__mips__ -S ../../vacall/vacall-mips.c -I../../vacall -I. -o vacall-mipseb-linux.s
++
++ vacall-mipseb-macro.S : vacall-mipseb-linux.s ../../common/asm-mips.sh $(THISFILE)
++ (echo '#include "asm-mips.h"' ; ../../common/asm-mips.sh < vacall-mipseb-linux.s) > vacall-mipseb-macro.S
++
++ vacall-mipsel-linux.s : ../../vacall/vacall-mips.c ../../vacall/vacall-internal.h vacall_r.h $(THISFILE)
++- $(CROSS_TOOL) mips64-linux gcc -V 4.0.2 -mabi=32 -mel -mno-explicit-relocs $(GCCFLAGS) -D__mips__ -S ../../vacall/vacall-mips.c -I../../vacall -I. -o vacall-mipsel-linux.s
+++ mipsel-linux-gnu-gcc -mno-explicit-relocs $(GCCFLAGS) -D__mips__ -S ../../vacall/vacall-mips.c -I../../vacall -I. -o vacall-mipsel-linux.s
++
++ vacall-mipsel-macro.S : vacall-mipsel-linux.s ../../common/asm-mips.sh $(THISFILE)
++ (echo '#include "asm-mips.h"' ; ../../common/asm-mips.sh < vacall-mipsel-linux.s) > vacall-mipsel-macro.S
++--- a/vacall/Makefile.devel
+++++ b/vacall/Makefile.devel
++@@ -49,13 +49,13 @@ vacall-m68k.motorola.S : vacall-m68k-lin
++
++ vacall-mipseb-linux.s : vacall-mips.c vacall-internal.h vacall.h $(THISFILE)
++ # For references to global symbols: -mno-explicit-relocs ensures a syntax that the IRIX assembler understands.
++- $(CROSS_TOOL) mips64-linux gcc -V 4.0.2 -mabi=32 -meb -mno-explicit-relocs $(GCCFLAGS) -D__mips__ -S vacall-mips.c -o vacall-mipseb-linux.s
+++ mips-linux-gnu-gcc -mno-explicit-relocs $(GCCFLAGS) -D__mips__ -S vacall-mips.c -o vacall-mipseb-linux.s
++
++ vacall-mipseb-macro.S : vacall-mipseb-linux.s ../common/asm-mips.sh $(THISFILE)
++ (echo '#include "asm-mips.h"' ; ../common/asm-mips.sh < vacall-mipseb-linux.s) > vacall-mipseb-macro.S
++
++ vacall-mipsel-linux.s : vacall-mips.c vacall-internal.h vacall.h $(THISFILE)
++- $(CROSS_TOOL) mips64-linux gcc -V 4.0.2 -mabi=32 -mel -mno-explicit-relocs $(GCCFLAGS) -D__mips__ -S vacall-mips.c -o vacall-mipsel-linux.s
+++ mipsel-linux-gnu-gcc -mno-explicit-relocs $(GCCFLAGS) -D__mips__ -S vacall-mips.c -o vacall-mipsel-linux.s
++
++ vacall-mipsel-macro.S : vacall-mipsel-linux.s ../common/asm-mips.sh $(THISFILE)
++ (echo '#include "asm-mips.h"' ; ../common/asm-mips.sh < vacall-mipsel-linux.s) > vacall-mipsel-macro.S
++--- a/avcall/avcall-mipseb-linux.s
+++++ b/avcall/avcall-mipseb-linux.s
++@@ -1,325 +1,310 @@
++ .file 1 "avcall-mips.c"
++ .section .mdebug.abi32
++ .previous
+++ .nan legacy
+++ .module fp=xx
+++ .module nooddspreg
++ .abicalls
++ .text
++ .align 2
++ .globl avcall_call
+++ .set nomips16
+++ .set nomicromips
++ .ent avcall_call
++ .type avcall_call, @function
++ avcall_call:
++ .frame $fp,40,$31 # vars= 0, regs= 3/0, args= 16, gp= 8
++- .mask 0xc0010000,-8
+++ .mask 0xc0010000,-4
++ .fmask 0x00000000,0
++ addiu $sp,$sp,-40
++- sw $fp,28($sp)
+++ lw $8,24($4)
+++ lw $3,20($4)
+++ lw $5,40($4)
+++ sw $fp,32($sp)
++ move $fp,$sp
++- sw $31,32($sp)
++- sw $16,24($sp)
++- .cprestore 16
++- lw $3,24($4)
++- lw $2,20($4)
++- move $16,$4
++- lw $4,40($4)
++- subu $2,$2,$3
+++ sw $16,28($sp)
+++ subu $3,$3,$8
+++ sw $31,36($sp)
++ addiu $sp,$sp,-1032
++- andi $3,$4,0x1
++- sra $7,$2,2
+++ move $16,$4
+++ andi $4,$5,0x1
+++ move $2,$sp
++ .set noreorder
++ .set nomacro
++- beq $3,$0,$L2
++- move $5,$sp
+++ beq $4,$0,$L2
+++ sra $7,$3,2
++ .set macro
++ .set reorder
++
++ #APP
+++ # 76 "avcall-mips.c" 1
++ l.s $f12,48($16)
+++ # 0 "" 2
++ #NO_APP
++ $L2:
++- lw $3,44($16)
++- #nop
++- andi $2,$3,0x1
++- .set noreorder
++- .set nomacro
++- beq $2,$0,$L63
++- andi $2,$4,0x2
++- .set macro
++- .set reorder
++-
+++ lw $4,44($16)
+++ andi $6,$4,0x1
+++ beq $6,$0,$L3
++ #APP
+++ # 78 "avcall-mips.c" 1
++ l.d $f12,56($16)
+++ # 0 "" 2
++ #NO_APP
++- andi $2,$4,0x2
++-$L63:
++- .set noreorder
++- .set nomacro
++- beq $2,$0,$L64
++- andi $2,$3,0x2
++- .set macro
++- .set reorder
++-
+++$L3:
+++ andi $5,$5,0x2
+++ beq $5,$0,$L4
++ #APP
+++ # 80 "avcall-mips.c" 1
++ l.s $f14,52($16)
+++ # 0 "" 2
++ #NO_APP
++- andi $2,$3,0x2
++-$L64:
++- .set noreorder
++- .set nomacro
++- beq $2,$0,$L65
++- slt $2,$7,5
++- .set macro
++- .set reorder
++-
+++$L4:
+++ andi $4,$4,0x2
+++ beq $4,$0,$L5
++ #APP
+++ # 82 "avcall-mips.c" 1
++ l.d $f14,64($16)
+++ # 0 "" 2
++ #NO_APP
++- slt $2,$7,5
++-$L65:
+++$L5:
+++ slt $3,$3,17
++ .set noreorder
++ .set nomacro
++- bne $2,$0,$L51
++- li $4,4 # 0x4
+++ bne $3,$0,$L6
+++ addiu $4,$8,16
++ .set macro
++ .set reorder
++
++- lw $6,24($16)
++-$L10:
++- sll $2,$4,2
++- addu $2,$2,$6
++- lw $3,0($2)
++- addiu $4,$4,1
++- sw $3,16($5)
+++ addiu $2,$2,16
+++ li $3,4 # 0x4
+++$L7:
+++ lw $6,0($4)
+++ addiu $3,$3,1
+++ addiu $4,$4,4
+++ slt $5,$3,$7
+++ sw $6,0($2)
++ .set noreorder
++ .set nomacro
++- bne $7,$4,$L10
++- addiu $5,$5,4
+++ bne $5,$0,$L7
+++ addiu $2,$2,4
++ .set macro
++ .set reorder
++
++-$L11:
++- lw $4,0($6)
++- lw $5,4($6)
++- lw $7,12($6)
+++$L6:
+++ lw $5,4($8)
+++ lw $4,0($8)
++ lw $25,4($16)
++- lw $6,8($6)
++- jalr $25
++- lw $4,12($16)
++- move $5,$2
++- li $2,1 # 0x1
++- lw $28,16($fp)
++- beq $4,$2,$L12
+++ lw $7,12($8)
++ .set noreorder
++ .set nomacro
++- beq $4,$0,$L57
++- li $2,2 # 0x2
+++ jalr $25
+++ lw $6,8($8)
++ .set macro
++ .set reorder
++
+++ li $5,1 # 0x1
+++ lw $4,12($16)
+++ beq $4,$5,$L8
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L56
++- li $2,3 # 0x3
+++ beq $4,$0,$L42
+++ li $5,2 # 0x2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L56
++- li $2,4 # 0x4
+++ beq $4,$5,$L45
+++ li $5,3 # 0x3
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L56
++- li $2,5 # 0x5
+++ beq $4,$5,$L45
+++ li $5,4 # 0x4
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L58
++- li $2,6 # 0x6
+++ beq $4,$5,$L45
+++ li $5,5 # 0x5
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L58
++- li $2,7 # 0x7
+++ beq $4,$5,$L46
+++ li $5,6 # 0x6
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- li $2,8 # 0x8
+++ beq $4,$5,$L46
+++ li $5,7 # 0x7
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- li $2,9 # 0x9
+++ beq $4,$5,$L42
+++ li $5,8 # 0x8
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- li $2,10 # 0xa
+++ beq $4,$5,$L42
+++ li $5,9 # 0x9
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- addiu $2,$4,-11
+++ beq $4,$5,$L42
+++ li $5,10 # 0xa
++ .set macro
++ .set reorder
++
++- sltu $2,$2,2
++ .set noreorder
++ .set nomacro
++- bne $2,$0,$L60
++- li $2,13 # 0xd
+++ beq $4,$5,$L42
+++ addiu $5,$4,-11
++ .set macro
++ .set reorder
++
+++ sltu $5,$5,2
+++ bne $5,$0,$L48
+++ li $3,13 # 0xd
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L61
++- li $2,14 # 0xe
+++ beq $4,$3,$L49
+++ li $3,14 # 0xe
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L62
++- li $2,15 # 0xf
+++ beq $4,$3,$L50
+++ li $3,15 # 0xf
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- li $2,16 # 0x10
+++ beq $4,$3,$L42
+++ li $3,16 # 0x10
++ .set macro
++ .set reorder
++
++- bne $4,$2,$L12
++- lw $2,0($16)
++- #nop
++- andi $2,$2,0x2
+++ bne $4,$3,$L8
+++ lw $3,0($16)
+++ andi $3,$3,0x2
++ .set noreorder
++ .set nomacro
++- beq $2,$0,$L12
++- li $2,1 # 0x1
+++ beq $3,$0,$L8
+++ li $4,1 # 0x1
++ .set macro
++ .set reorder
++
++ lw $3,16($16)
++- #nop
++ .set noreorder
++ .set nomacro
++- beq $3,$2,$L56
++- li $2,2 # 0x2
+++ beq $3,$4,$L45
+++ li $4,2 # 0x2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $3,$2,$L58
++- li $2,4 # 0x4
+++ beq $3,$4,$L46
+++ li $4,4 # 0x4
++ .set macro
++ .set reorder
++
++- beq $3,$2,$L57
++-$L12:
+++ beq $3,$4,$L42
+++$L8:
++ move $sp,$fp
++- lw $31,32($fp)
++- lw $fp,28($sp)
++- lw $16,24($sp)
++ move $2,$0
+++ lw $31,36($sp)
+++ lw $fp,32($sp)
+++ lw $16,28($sp)
++ .set noreorder
++ .set nomacro
++- j $31
+++ jr $31
++ addiu $sp,$sp,40
++ .set macro
++ .set reorder
++
++-$L51:
++- lw $6,24($16)
++- b $L11
++-$L57:
++- lw $2,8($16)
+++$L42:
+++ lw $3,8($16)
+++ sw $2,0($3)
++ move $sp,$fp
++- sw $5,0($2)
++- lw $31,32($sp)
++- lw $fp,28($sp)
++- lw $16,24($sp)
++ move $2,$0
+++ lw $31,36($sp)
+++ lw $fp,32($sp)
+++ lw $16,28($sp)
++ .set noreorder
++ .set nomacro
++- j $31
+++ jr $31
++ addiu $sp,$sp,40
++ .set macro
++ .set reorder
++
++-$L56:
++- lw $2,8($16)
+++$L45:
+++ lw $3,8($16)
+++ sb $2,0($3)
++ move $sp,$fp
++- sb $5,0($2)
++- lw $31,32($sp)
++- lw $fp,28($sp)
++- lw $16,24($sp)
++ move $2,$0
+++ lw $31,36($sp)
+++ lw $fp,32($sp)
+++ lw $16,28($sp)
++ .set noreorder
++ .set nomacro
++- j $31
+++ jr $31
++ addiu $sp,$sp,40
++ .set macro
++ .set reorder
++
++-$L58:
++- lw $2,8($16)
+++$L46:
+++ lw $3,8($16)
++ .set noreorder
++ .set nomacro
++- b $L12
++- sh $5,0($2)
+++ b $L8
+++ sh $2,0($3)
++ .set macro
++ .set reorder
++
++-$L61:
++- lw $2,8($16)
+++$L48:
+++ lw $4,8($16)
+++ sw $2,0($4)
++ .set noreorder
++ .set nomacro
++- b $L12
++- swc1 $f0,0($2)
+++ b $L8
+++ sw $3,4($4)
++ .set macro
++ .set reorder
++
++-$L60:
+++$L49:
++ lw $2,8($16)
++- #nop
++- sw $3,4($2)
++ .set noreorder
++ .set nomacro
++- b $L12
++- sw $5,0($2)
+++ b $L8
+++ swc1 $f0,0($2)
++ .set macro
++ .set reorder
++
++-$L62:
+++$L50:
++ lw $2,8($16)
++- #nop
++- swc1 $f0,4($2)
++ .set noreorder
++ .set nomacro
++- b $L12
++- swc1 $f1,0($2)
+++ b $L8
+++ sdc1 $f0,0($2)
++ .set macro
++ .set reorder
++
++ .end avcall_call
++- .ident "GCC: (GNU) 4.0.2"
+++ .size avcall_call, .-avcall_call
+++ .ident "GCC: (Debian 7.2.0-11) 7.2.0"
++--- a/avcall/avcall-mipseb-macro.S
+++++ b/avcall/avcall-mipseb-macro.S
++@@ -1,322 +1,307 @@
++ #include "asm-mips.h"
++ .file 1 "avcall-mips.c"
+++ .nan legacy
+++ .module fp=xx
+++ .module nooddspreg
++ .text
++ .align 2
++ .globl avcall_call
+++ .set nomips16
+++ .set nomicromips
++ .ent avcall_call
++ DECLARE_FUNCTION(avcall_call)
++ avcall_call:
++ .frame $fp,40,$31
++- .mask 0xc0010000,-8
+++ .mask 0xc0010000,-4
++ .fmask 0x00000000,0
++ addiu $sp,$sp,-40
++- sw $fp,28($sp)
+++ lw $8,24($4)
+++ lw $3,20($4)
+++ lw $5,40($4)
+++ sw $fp,32($sp)
++ move $fp,$sp
++- sw $31,32($sp)
++- sw $16,24($sp)
++- .cprestore 16
++- lw $3,24($4)
++- lw $2,20($4)
++- move $16,$4
++- lw $4,40($4)
++- subu $2,$2,$3
+++ sw $16,28($sp)
+++ subu $3,$3,$8
+++ sw $31,36($sp)
++ addiu $sp,$sp,-1032
++- andi $3,$4,0x1
++- sra $7,$2,2
+++ move $16,$4
+++ andi $4,$5,0x1
+++ move $2,$sp
++ .set noreorder
++ .set nomacro
++- beq $3,$0,$L2
++- move $5,$sp
+++ beq $4,$0,$L2
+++ sra $7,$3,2
++ .set macro
++ .set reorder
++
++
+++
++ l.s $f12,48($16)
+++
++
++ $L2:
++- lw $3,44($16)
++-
++- andi $2,$3,0x1
++- .set noreorder
++- .set nomacro
++- beq $2,$0,$L63
++- andi $2,$4,0x2
++- .set macro
++- .set reorder
++-
+++ lw $4,44($16)
+++ andi $6,$4,0x1
+++ beq $6,$0,$L3
++
+++
++ l.d $f12,56($16)
+++
++
++- andi $2,$4,0x2
++-$L63:
++- .set noreorder
++- .set nomacro
++- beq $2,$0,$L64
++- andi $2,$3,0x2
++- .set macro
++- .set reorder
++-
+++$L3:
+++ andi $5,$5,0x2
+++ beq $5,$0,$L4
++
+++
++ l.s $f14,52($16)
+++
++
++- andi $2,$3,0x2
++-$L64:
++- .set noreorder
++- .set nomacro
++- beq $2,$0,$L65
++- slt $2,$7,5
++- .set macro
++- .set reorder
++-
+++$L4:
+++ andi $4,$4,0x2
+++ beq $4,$0,$L5
++
+++
++ l.d $f14,64($16)
+++
++
++- slt $2,$7,5
++-$L65:
+++$L5:
+++ slt $3,$3,17
++ .set noreorder
++ .set nomacro
++- bne $2,$0,$L51
++- li $4,4
+++ bne $3,$0,$L6
+++ addiu $4,$8,16
++ .set macro
++ .set reorder
++
++- lw $6,24($16)
++-$L10:
++- sll $2,$4,2
++- addu $2,$2,$6
++- lw $3,0($2)
++- addiu $4,$4,1
++- sw $3,16($5)
+++ addiu $2,$2,16
+++ li $3,4
+++$L7:
+++ lw $6,0($4)
+++ addiu $3,$3,1
+++ addiu $4,$4,4
+++ slt $5,$3,$7
+++ sw $6,0($2)
++ .set noreorder
++ .set nomacro
++- bne $7,$4,$L10
++- addiu $5,$5,4
+++ bne $5,$0,$L7
+++ addiu $2,$2,4
++ .set macro
++ .set reorder
++
++-$L11:
++- lw $4,0($6)
++- lw $5,4($6)
++- lw $7,12($6)
+++$L6:
+++ lw $5,4($8)
+++ lw $4,0($8)
++ lw $25,4($16)
++- lw $6,8($6)
++- jalr $25
++- lw $4,12($16)
++- move $5,$2
++- li $2,1
++- lw $28,16($fp)
++- beq $4,$2,$L12
+++ lw $7,12($8)
++ .set noreorder
++ .set nomacro
++- beq $4,$0,$L57
++- li $2,2
+++ jalr $25
+++ lw $6,8($8)
++ .set macro
++ .set reorder
++
+++ li $5,1
+++ lw $4,12($16)
+++ beq $4,$5,$L8
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L56
++- li $2,3
+++ beq $4,$0,$L42
+++ li $5,2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L56
++- li $2,4
+++ beq $4,$5,$L45
+++ li $5,3
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L56
++- li $2,5
+++ beq $4,$5,$L45
+++ li $5,4
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L58
++- li $2,6
+++ beq $4,$5,$L45
+++ li $5,5
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L58
++- li $2,7
+++ beq $4,$5,$L46
+++ li $5,6
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- li $2,8
+++ beq $4,$5,$L46
+++ li $5,7
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- li $2,9
+++ beq $4,$5,$L42
+++ li $5,8
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- li $2,10
+++ beq $4,$5,$L42
+++ li $5,9
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- addiu $2,$4,-11
+++ beq $4,$5,$L42
+++ li $5,10
++ .set macro
++ .set reorder
++
++- sltu $2,$2,2
++ .set noreorder
++ .set nomacro
++- bne $2,$0,$L60
++- li $2,13
+++ beq $4,$5,$L42
+++ addiu $5,$4,-11
++ .set macro
++ .set reorder
++
+++ sltu $5,$5,2
+++ bne $5,$0,$L48
+++ li $3,13
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L61
++- li $2,14
+++ beq $4,$3,$L49
+++ li $3,14
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L62
++- li $2,15
+++ beq $4,$3,$L50
+++ li $3,15
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- li $2,16
+++ beq $4,$3,$L42
+++ li $3,16
++ .set macro
++ .set reorder
++
++- bne $4,$2,$L12
++- lw $2,0($16)
++-
++- andi $2,$2,0x2
+++ bne $4,$3,$L8
+++ lw $3,0($16)
+++ andi $3,$3,0x2
++ .set noreorder
++ .set nomacro
++- beq $2,$0,$L12
++- li $2,1
+++ beq $3,$0,$L8
+++ li $4,1
++ .set macro
++ .set reorder
++
++ lw $3,16($16)
++-
++ .set noreorder
++ .set nomacro
++- beq $3,$2,$L56
++- li $2,2
+++ beq $3,$4,$L45
+++ li $4,2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $3,$2,$L58
++- li $2,4
+++ beq $3,$4,$L46
+++ li $4,4
++ .set macro
++ .set reorder
++
++- beq $3,$2,$L57
++-$L12:
+++ beq $3,$4,$L42
+++$L8:
++ move $sp,$fp
++- lw $31,32($fp)
++- lw $fp,28($sp)
++- lw $16,24($sp)
++ move $2,$0
+++ lw $31,36($sp)
+++ lw $fp,32($sp)
+++ lw $16,28($sp)
++ .set noreorder
++ .set nomacro
++- j $31
+++ jr $31
++ addiu $sp,$sp,40
++ .set macro
++ .set reorder
++
++-$L51:
++- lw $6,24($16)
++- b $L11
++-$L57:
++- lw $2,8($16)
+++$L42:
+++ lw $3,8($16)
+++ sw $2,0($3)
++ move $sp,$fp
++- sw $5,0($2)
++- lw $31,32($sp)
++- lw $fp,28($sp)
++- lw $16,24($sp)
++ move $2,$0
+++ lw $31,36($sp)
+++ lw $fp,32($sp)
+++ lw $16,28($sp)
++ .set noreorder
++ .set nomacro
++- j $31
+++ jr $31
++ addiu $sp,$sp,40
++ .set macro
++ .set reorder
++
++-$L56:
++- lw $2,8($16)
+++$L45:
+++ lw $3,8($16)
+++ sb $2,0($3)
++ move $sp,$fp
++- sb $5,0($2)
++- lw $31,32($sp)
++- lw $fp,28($sp)
++- lw $16,24($sp)
++ move $2,$0
+++ lw $31,36($sp)
+++ lw $fp,32($sp)
+++ lw $16,28($sp)
++ .set noreorder
++ .set nomacro
++- j $31
+++ jr $31
++ addiu $sp,$sp,40
++ .set macro
++ .set reorder
++
++-$L58:
++- lw $2,8($16)
+++$L46:
+++ lw $3,8($16)
++ .set noreorder
++ .set nomacro
++- b $L12
++- sh $5,0($2)
+++ b $L8
+++ sh $2,0($3)
++ .set macro
++ .set reorder
++
++-$L61:
++- lw $2,8($16)
+++$L48:
+++ lw $4,8($16)
+++ sw $2,0($4)
++ .set noreorder
++ .set nomacro
++- b $L12
++- swc1 $f0,0($2)
+++ b $L8
+++ sw $3,4($4)
++ .set macro
++ .set reorder
++
++-$L60:
+++$L49:
++ lw $2,8($16)
++-
++- sw $3,4($2)
++ .set noreorder
++ .set nomacro
++- b $L12
++- sw $5,0($2)
+++ b $L8
+++ swc1 $f0,0($2)
++ .set macro
++ .set reorder
++
++-$L62:
+++$L50:
++ lw $2,8($16)
++-
++- swc1 $f0,4($2)
++ .set noreorder
++ .set nomacro
++- b $L12
++- swc1 $f1,0($2)
+++ b $L8
+++ sdc1 $f0,0($2)
++ .set macro
++ .set reorder
++
++ .end avcall_call
+++ .size avcall_call, .-avcall_call
++--- a/avcall/avcall-mipsel-linux.s
+++++ b/avcall/avcall-mipsel-linux.s
++@@ -1,325 +1,310 @@
++ .file 1 "avcall-mips.c"
++ .section .mdebug.abi32
++ .previous
+++ .nan legacy
+++ .module fp=xx
+++ .module nooddspreg
++ .abicalls
++ .text
++ .align 2
++ .globl avcall_call
+++ .set nomips16
+++ .set nomicromips
++ .ent avcall_call
++ .type avcall_call, @function
++ avcall_call:
++ .frame $fp,40,$31 # vars= 0, regs= 3/0, args= 16, gp= 8
++- .mask 0xc0010000,-8
+++ .mask 0xc0010000,-4
++ .fmask 0x00000000,0
++ addiu $sp,$sp,-40
++- sw $fp,28($sp)
+++ lw $8,24($4)
+++ lw $3,20($4)
+++ lw $5,40($4)
+++ sw $fp,32($sp)
++ move $fp,$sp
++- sw $31,32($sp)
++- sw $16,24($sp)
++- .cprestore 16
++- lw $3,24($4)
++- lw $2,20($4)
++- move $16,$4
++- lw $4,40($4)
++- subu $2,$2,$3
+++ sw $16,28($sp)
+++ subu $3,$3,$8
+++ sw $31,36($sp)
++ addiu $sp,$sp,-1032
++- andi $3,$4,0x1
++- sra $7,$2,2
+++ move $16,$4
+++ andi $4,$5,0x1
+++ move $2,$sp
++ .set noreorder
++ .set nomacro
++- beq $3,$0,$L2
++- move $5,$sp
+++ beq $4,$0,$L2
+++ sra $7,$3,2
++ .set macro
++ .set reorder
++
++ #APP
+++ # 76 "avcall-mips.c" 1
++ l.s $f12,48($16)
+++ # 0 "" 2
++ #NO_APP
++ $L2:
++- lw $3,44($16)
++- #nop
++- andi $2,$3,0x1
++- .set noreorder
++- .set nomacro
++- beq $2,$0,$L63
++- andi $2,$4,0x2
++- .set macro
++- .set reorder
++-
+++ lw $4,44($16)
+++ andi $6,$4,0x1
+++ beq $6,$0,$L3
++ #APP
+++ # 78 "avcall-mips.c" 1
++ l.d $f12,56($16)
+++ # 0 "" 2
++ #NO_APP
++- andi $2,$4,0x2
++-$L63:
++- .set noreorder
++- .set nomacro
++- beq $2,$0,$L64
++- andi $2,$3,0x2
++- .set macro
++- .set reorder
++-
+++$L3:
+++ andi $5,$5,0x2
+++ beq $5,$0,$L4
++ #APP
+++ # 80 "avcall-mips.c" 1
++ l.s $f14,52($16)
+++ # 0 "" 2
++ #NO_APP
++- andi $2,$3,0x2
++-$L64:
++- .set noreorder
++- .set nomacro
++- beq $2,$0,$L65
++- slt $2,$7,5
++- .set macro
++- .set reorder
++-
+++$L4:
+++ andi $4,$4,0x2
+++ beq $4,$0,$L5
++ #APP
+++ # 82 "avcall-mips.c" 1
++ l.d $f14,64($16)
+++ # 0 "" 2
++ #NO_APP
++- slt $2,$7,5
++-$L65:
+++$L5:
+++ slt $3,$3,17
++ .set noreorder
++ .set nomacro
++- bne $2,$0,$L51
++- li $4,4 # 0x4
+++ bne $3,$0,$L6
+++ addiu $4,$8,16
++ .set macro
++ .set reorder
++
++- lw $6,24($16)
++-$L10:
++- sll $2,$4,2
++- addu $2,$2,$6
++- lw $3,0($2)
++- addiu $4,$4,1
++- sw $3,16($5)
+++ addiu $2,$2,16
+++ li $3,4 # 0x4
+++$L7:
+++ lw $6,0($4)
+++ addiu $3,$3,1
+++ addiu $4,$4,4
+++ slt $5,$3,$7
+++ sw $6,0($2)
++ .set noreorder
++ .set nomacro
++- bne $7,$4,$L10
++- addiu $5,$5,4
+++ bne $5,$0,$L7
+++ addiu $2,$2,4
++ .set macro
++ .set reorder
++
++-$L11:
++- lw $4,0($6)
++- lw $5,4($6)
++- lw $7,12($6)
+++$L6:
+++ lw $5,4($8)
+++ lw $4,0($8)
++ lw $25,4($16)
++- lw $6,8($6)
++- jalr $25
++- lw $4,12($16)
++- move $5,$2
++- li $2,1 # 0x1
++- lw $28,16($fp)
++- beq $4,$2,$L12
+++ lw $7,12($8)
++ .set noreorder
++ .set nomacro
++- beq $4,$0,$L57
++- li $2,2 # 0x2
+++ jalr $25
+++ lw $6,8($8)
++ .set macro
++ .set reorder
++
+++ li $5,1 # 0x1
+++ lw $4,12($16)
+++ beq $4,$5,$L8
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L56
++- li $2,3 # 0x3
+++ beq $4,$0,$L42
+++ li $5,2 # 0x2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L56
++- li $2,4 # 0x4
+++ beq $4,$5,$L45
+++ li $5,3 # 0x3
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L56
++- li $2,5 # 0x5
+++ beq $4,$5,$L45
+++ li $5,4 # 0x4
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L58
++- li $2,6 # 0x6
+++ beq $4,$5,$L45
+++ li $5,5 # 0x5
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L58
++- li $2,7 # 0x7
+++ beq $4,$5,$L46
+++ li $5,6 # 0x6
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- li $2,8 # 0x8
+++ beq $4,$5,$L46
+++ li $5,7 # 0x7
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- li $2,9 # 0x9
+++ beq $4,$5,$L42
+++ li $5,8 # 0x8
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- li $2,10 # 0xa
+++ beq $4,$5,$L42
+++ li $5,9 # 0x9
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- addiu $2,$4,-11
+++ beq $4,$5,$L42
+++ li $5,10 # 0xa
++ .set macro
++ .set reorder
++
++- sltu $2,$2,2
++ .set noreorder
++ .set nomacro
++- bne $2,$0,$L60
++- li $2,13 # 0xd
+++ beq $4,$5,$L42
+++ addiu $5,$4,-11
++ .set macro
++ .set reorder
++
+++ sltu $5,$5,2
+++ bne $5,$0,$L48
+++ li $3,13 # 0xd
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L61
++- li $2,14 # 0xe
+++ beq $4,$3,$L49
+++ li $3,14 # 0xe
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L62
++- li $2,15 # 0xf
+++ beq $4,$3,$L50
+++ li $3,15 # 0xf
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- li $2,16 # 0x10
+++ beq $4,$3,$L42
+++ li $3,16 # 0x10
++ .set macro
++ .set reorder
++
++- bne $4,$2,$L12
++- lw $2,0($16)
++- #nop
++- andi $2,$2,0x2
+++ bne $4,$3,$L8
+++ lw $3,0($16)
+++ andi $3,$3,0x2
++ .set noreorder
++ .set nomacro
++- beq $2,$0,$L12
++- li $2,1 # 0x1
+++ beq $3,$0,$L8
+++ li $4,1 # 0x1
++ .set macro
++ .set reorder
++
++ lw $3,16($16)
++- #nop
++ .set noreorder
++ .set nomacro
++- beq $3,$2,$L56
++- li $2,2 # 0x2
+++ beq $3,$4,$L45
+++ li $4,2 # 0x2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $3,$2,$L58
++- li $2,4 # 0x4
+++ beq $3,$4,$L46
+++ li $4,4 # 0x4
++ .set macro
++ .set reorder
++
++- beq $3,$2,$L57
++-$L12:
+++ beq $3,$4,$L42
+++$L8:
++ move $sp,$fp
++- lw $31,32($fp)
++- lw $fp,28($sp)
++- lw $16,24($sp)
++ move $2,$0
+++ lw $31,36($sp)
+++ lw $fp,32($sp)
+++ lw $16,28($sp)
++ .set noreorder
++ .set nomacro
++- j $31
+++ jr $31
++ addiu $sp,$sp,40
++ .set macro
++ .set reorder
++
++-$L51:
++- lw $6,24($16)
++- b $L11
++-$L57:
++- lw $2,8($16)
+++$L42:
+++ lw $3,8($16)
+++ sw $2,0($3)
++ move $sp,$fp
++- sw $5,0($2)
++- lw $31,32($sp)
++- lw $fp,28($sp)
++- lw $16,24($sp)
++ move $2,$0
+++ lw $31,36($sp)
+++ lw $fp,32($sp)
+++ lw $16,28($sp)
++ .set noreorder
++ .set nomacro
++- j $31
+++ jr $31
++ addiu $sp,$sp,40
++ .set macro
++ .set reorder
++
++-$L56:
++- lw $2,8($16)
+++$L45:
+++ lw $3,8($16)
+++ sb $2,0($3)
++ move $sp,$fp
++- sb $5,0($2)
++- lw $31,32($sp)
++- lw $fp,28($sp)
++- lw $16,24($sp)
++ move $2,$0
+++ lw $31,36($sp)
+++ lw $fp,32($sp)
+++ lw $16,28($sp)
++ .set noreorder
++ .set nomacro
++- j $31
+++ jr $31
++ addiu $sp,$sp,40
++ .set macro
++ .set reorder
++
++-$L58:
++- lw $2,8($16)
+++$L46:
+++ lw $3,8($16)
++ .set noreorder
++ .set nomacro
++- b $L12
++- sh $5,0($2)
+++ b $L8
+++ sh $2,0($3)
++ .set macro
++ .set reorder
++
++-$L61:
++- lw $2,8($16)
+++$L48:
+++ lw $4,8($16)
+++ sw $2,0($4)
++ .set noreorder
++ .set nomacro
++- b $L12
++- swc1 $f0,0($2)
+++ b $L8
+++ sw $3,4($4)
++ .set macro
++ .set reorder
++
++-$L60:
+++$L49:
++ lw $2,8($16)
++- #nop
++- sw $3,4($2)
++ .set noreorder
++ .set nomacro
++- b $L12
++- sw $5,0($2)
+++ b $L8
+++ swc1 $f0,0($2)
++ .set macro
++ .set reorder
++
++-$L62:
+++$L50:
++ lw $2,8($16)
++- #nop
++- swc1 $f0,0($2)
++ .set noreorder
++ .set nomacro
++- b $L12
++- swc1 $f1,4($2)
+++ b $L8
+++ sdc1 $f0,0($2)
++ .set macro
++ .set reorder
++
++ .end avcall_call
++- .ident "GCC: (GNU) 4.0.2"
+++ .size avcall_call, .-avcall_call
+++ .ident "GCC: (Debian 7.2.0-11) 7.2.0"
++--- a/avcall/avcall-mipsel-macro.S
+++++ b/avcall/avcall-mipsel-macro.S
++@@ -1,322 +1,307 @@
++ #include "asm-mips.h"
++ .file 1 "avcall-mips.c"
+++ .nan legacy
+++ .module fp=xx
+++ .module nooddspreg
++ .text
++ .align 2
++ .globl avcall_call
+++ .set nomips16
+++ .set nomicromips
++ .ent avcall_call
++ DECLARE_FUNCTION(avcall_call)
++ avcall_call:
++ .frame $fp,40,$31
++- .mask 0xc0010000,-8
+++ .mask 0xc0010000,-4
++ .fmask 0x00000000,0
++ addiu $sp,$sp,-40
++- sw $fp,28($sp)
+++ lw $8,24($4)
+++ lw $3,20($4)
+++ lw $5,40($4)
+++ sw $fp,32($sp)
++ move $fp,$sp
++- sw $31,32($sp)
++- sw $16,24($sp)
++- .cprestore 16
++- lw $3,24($4)
++- lw $2,20($4)
++- move $16,$4
++- lw $4,40($4)
++- subu $2,$2,$3
+++ sw $16,28($sp)
+++ subu $3,$3,$8
+++ sw $31,36($sp)
++ addiu $sp,$sp,-1032
++- andi $3,$4,0x1
++- sra $7,$2,2
+++ move $16,$4
+++ andi $4,$5,0x1
+++ move $2,$sp
++ .set noreorder
++ .set nomacro
++- beq $3,$0,$L2
++- move $5,$sp
+++ beq $4,$0,$L2
+++ sra $7,$3,2
++ .set macro
++ .set reorder
++
++
+++
++ l.s $f12,48($16)
+++
++
++ $L2:
++- lw $3,44($16)
++-
++- andi $2,$3,0x1
++- .set noreorder
++- .set nomacro
++- beq $2,$0,$L63
++- andi $2,$4,0x2
++- .set macro
++- .set reorder
++-
+++ lw $4,44($16)
+++ andi $6,$4,0x1
+++ beq $6,$0,$L3
++
+++
++ l.d $f12,56($16)
+++
++
++- andi $2,$4,0x2
++-$L63:
++- .set noreorder
++- .set nomacro
++- beq $2,$0,$L64
++- andi $2,$3,0x2
++- .set macro
++- .set reorder
++-
+++$L3:
+++ andi $5,$5,0x2
+++ beq $5,$0,$L4
++
+++
++ l.s $f14,52($16)
+++
++
++- andi $2,$3,0x2
++-$L64:
++- .set noreorder
++- .set nomacro
++- beq $2,$0,$L65
++- slt $2,$7,5
++- .set macro
++- .set reorder
++-
+++$L4:
+++ andi $4,$4,0x2
+++ beq $4,$0,$L5
++
+++
++ l.d $f14,64($16)
+++
++
++- slt $2,$7,5
++-$L65:
+++$L5:
+++ slt $3,$3,17
++ .set noreorder
++ .set nomacro
++- bne $2,$0,$L51
++- li $4,4
+++ bne $3,$0,$L6
+++ addiu $4,$8,16
++ .set macro
++ .set reorder
++
++- lw $6,24($16)
++-$L10:
++- sll $2,$4,2
++- addu $2,$2,$6
++- lw $3,0($2)
++- addiu $4,$4,1
++- sw $3,16($5)
+++ addiu $2,$2,16
+++ li $3,4
+++$L7:
+++ lw $6,0($4)
+++ addiu $3,$3,1
+++ addiu $4,$4,4
+++ slt $5,$3,$7
+++ sw $6,0($2)
++ .set noreorder
++ .set nomacro
++- bne $7,$4,$L10
++- addiu $5,$5,4
+++ bne $5,$0,$L7
+++ addiu $2,$2,4
++ .set macro
++ .set reorder
++
++-$L11:
++- lw $4,0($6)
++- lw $5,4($6)
++- lw $7,12($6)
+++$L6:
+++ lw $5,4($8)
+++ lw $4,0($8)
++ lw $25,4($16)
++- lw $6,8($6)
++- jalr $25
++- lw $4,12($16)
++- move $5,$2
++- li $2,1
++- lw $28,16($fp)
++- beq $4,$2,$L12
+++ lw $7,12($8)
++ .set noreorder
++ .set nomacro
++- beq $4,$0,$L57
++- li $2,2
+++ jalr $25
+++ lw $6,8($8)
++ .set macro
++ .set reorder
++
+++ li $5,1
+++ lw $4,12($16)
+++ beq $4,$5,$L8
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L56
++- li $2,3
+++ beq $4,$0,$L42
+++ li $5,2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L56
++- li $2,4
+++ beq $4,$5,$L45
+++ li $5,3
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L56
++- li $2,5
+++ beq $4,$5,$L45
+++ li $5,4
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L58
++- li $2,6
+++ beq $4,$5,$L45
+++ li $5,5
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L58
++- li $2,7
+++ beq $4,$5,$L46
+++ li $5,6
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- li $2,8
+++ beq $4,$5,$L46
+++ li $5,7
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- li $2,9
+++ beq $4,$5,$L42
+++ li $5,8
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- li $2,10
+++ beq $4,$5,$L42
+++ li $5,9
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- addiu $2,$4,-11
+++ beq $4,$5,$L42
+++ li $5,10
++ .set macro
++ .set reorder
++
++- sltu $2,$2,2
++ .set noreorder
++ .set nomacro
++- bne $2,$0,$L60
++- li $2,13
+++ beq $4,$5,$L42
+++ addiu $5,$4,-11
++ .set macro
++ .set reorder
++
+++ sltu $5,$5,2
+++ bne $5,$0,$L48
+++ li $3,13
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L61
++- li $2,14
+++ beq $4,$3,$L49
+++ li $3,14
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L62
++- li $2,15
+++ beq $4,$3,$L50
+++ li $3,15
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $4,$2,$L57
++- li $2,16
+++ beq $4,$3,$L42
+++ li $3,16
++ .set macro
++ .set reorder
++
++- bne $4,$2,$L12
++- lw $2,0($16)
++-
++- andi $2,$2,0x2
+++ bne $4,$3,$L8
+++ lw $3,0($16)
+++ andi $3,$3,0x2
++ .set noreorder
++ .set nomacro
++- beq $2,$0,$L12
++- li $2,1
+++ beq $3,$0,$L8
+++ li $4,1
++ .set macro
++ .set reorder
++
++ lw $3,16($16)
++-
++ .set noreorder
++ .set nomacro
++- beq $3,$2,$L56
++- li $2,2
+++ beq $3,$4,$L45
+++ li $4,2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $3,$2,$L58
++- li $2,4
+++ beq $3,$4,$L46
+++ li $4,4
++ .set macro
++ .set reorder
++
++- beq $3,$2,$L57
++-$L12:
+++ beq $3,$4,$L42
+++$L8:
++ move $sp,$fp
++- lw $31,32($fp)
++- lw $fp,28($sp)
++- lw $16,24($sp)
++ move $2,$0
+++ lw $31,36($sp)
+++ lw $fp,32($sp)
+++ lw $16,28($sp)
++ .set noreorder
++ .set nomacro
++- j $31
+++ jr $31
++ addiu $sp,$sp,40
++ .set macro
++ .set reorder
++
++-$L51:
++- lw $6,24($16)
++- b $L11
++-$L57:
++- lw $2,8($16)
+++$L42:
+++ lw $3,8($16)
+++ sw $2,0($3)
++ move $sp,$fp
++- sw $5,0($2)
++- lw $31,32($sp)
++- lw $fp,28($sp)
++- lw $16,24($sp)
++ move $2,$0
+++ lw $31,36($sp)
+++ lw $fp,32($sp)
+++ lw $16,28($sp)
++ .set noreorder
++ .set nomacro
++- j $31
+++ jr $31
++ addiu $sp,$sp,40
++ .set macro
++ .set reorder
++
++-$L56:
++- lw $2,8($16)
+++$L45:
+++ lw $3,8($16)
+++ sb $2,0($3)
++ move $sp,$fp
++- sb $5,0($2)
++- lw $31,32($sp)
++- lw $fp,28($sp)
++- lw $16,24($sp)
++ move $2,$0
+++ lw $31,36($sp)
+++ lw $fp,32($sp)
+++ lw $16,28($sp)
++ .set noreorder
++ .set nomacro
++- j $31
+++ jr $31
++ addiu $sp,$sp,40
++ .set macro
++ .set reorder
++
++-$L58:
++- lw $2,8($16)
+++$L46:
+++ lw $3,8($16)
++ .set noreorder
++ .set nomacro
++- b $L12
++- sh $5,0($2)
+++ b $L8
+++ sh $2,0($3)
++ .set macro
++ .set reorder
++
++-$L61:
++- lw $2,8($16)
+++$L48:
+++ lw $4,8($16)
+++ sw $2,0($4)
++ .set noreorder
++ .set nomacro
++- b $L12
++- swc1 $f0,0($2)
+++ b $L8
+++ sw $3,4($4)
++ .set macro
++ .set reorder
++
++-$L60:
+++$L49:
++ lw $2,8($16)
++-
++- sw $3,4($2)
++ .set noreorder
++ .set nomacro
++- b $L12
++- sw $5,0($2)
+++ b $L8
+++ swc1 $f0,0($2)
++ .set macro
++ .set reorder
++
++-$L62:
+++$L50:
++ lw $2,8($16)
++-
++- swc1 $f0,0($2)
++ .set noreorder
++ .set nomacro
++- b $L12
++- swc1 $f1,4($2)
+++ b $L8
+++ sdc1 $f0,0($2)
++ .set macro
++ .set reorder
++
++ .end avcall_call
+++ .size avcall_call, .-avcall_call
++--- a/callback/vacall_r/vacall-mipseb-linux.s
+++++ b/callback/vacall_r/vacall-mipseb-linux.s
++@@ -1,9 +1,14 @@
++ .file 1 "vacall-mips.c"
++ .section .mdebug.abi32
++ .previous
+++ .nan legacy
+++ .module fp=xx
+++ .module nooddspreg
++ .abicalls
++ .text
++ .align 2
+++ .set nomips16
+++ .set nomicromips
++ .ent callback_receiver
++ .type callback_receiver, @function
++ callback_receiver:
++@@ -17,162 +22,164 @@ callback_receiver:
++ sw $fp,96($sp)
++ move $fp,$sp
++ sw $31,100($sp)
++- .cprestore 16
++- sw $0,44($fp)
++- sw $5,108($fp)
++- addiu $5,$fp,120
++ sw $4,104($fp)
++- sw $5,56($fp)
++- lw $4,4($2)
++- addiu $5,$fp,104
++- lw $25,0($2)
++- sw $5,40($fp)
++- sw $6,112($fp)
+++ addiu $4,$fp,104
+++ sw $5,108($fp)
++ addiu $5,$fp,24
+++ sw $4,40($fp)
+++ addiu $4,$fp,120
+++ .cprestore 16
+++ sw $4,56($fp)
+++ sw $6,112($fp)
++ sw $7,116($fp)
++- swc1 $f12,84($fp)
++- swc1 $f13,80($fp)
++- swc1 $f14,92($fp)
++- swc1 $f15,88($fp)
++- swc1 $f12,68($fp)
++- swc1 $f14,72($fp)
++ sw $0,24($fp)
+++ sw $0,44($fp)
++ sw $0,48($fp)
++ sw $0,60($fp)
++ sw $0,64($fp)
+++ lw $4,4($2)
+++ lw $25,0($2)
+++ sdc1 $f12,80($fp)
+++ sdc1 $f14,88($fp)
+++ swc1 $f12,68($fp)
+++ swc1 $f14,72($fp)
++ jal $25
++- lw $5,48($fp)
+++ lw $4,48($fp)
++ .set noreorder
++ .set nomacro
++- beq $5,$0,$L38
++- li $4,1 # 0x1
+++ beq $4,$0,$L1
+++ li $5,1 # 0x1
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L39
++- li $4,2 # 0x2
+++ beq $4,$5,$L23
+++ li $5,2 # 0x2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L39
++- li $4,3 # 0x3
+++ beq $4,$5,$L23
+++ li $5,3 # 0x3
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L45
++- li $4,4 # 0x4
+++ beq $4,$5,$L29
+++ li $5,4 # 0x4
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L46
++- li $4,5 # 0x5
+++ beq $4,$5,$L30
+++ li $5,5 # 0x5
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L47
++- li $4,6 # 0x6
+++ beq $4,$5,$L31
+++ li $5,6 # 0x6
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,7 # 0x7
+++ beq $4,$5,$L27
+++ li $5,7 # 0x7
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,8 # 0x8
+++ beq $4,$5,$L27
+++ li $5,8 # 0x8
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,9 # 0x9
+++ beq $4,$5,$L27
+++ li $5,9 # 0x9
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- addiu $4,$5,-10
+++ beq $4,$5,$L27
+++ addiu $5,$4,-10
++ .set macro
++ .set reorder
++
++- sltu $4,$4,2
+++ sltu $5,$5,2
++ .set noreorder
++ .set nomacro
++- bne $4,$0,$L48
++- li $4,12 # 0xc
+++ bne $5,$0,$L32
+++ li $5,12 # 0xc
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L49
++- li $4,13 # 0xd
+++ beq $4,$5,$L33
+++ li $5,13 # 0xd
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L50
++- li $4,14 # 0xe
+++ beq $4,$5,$L34
+++ li $5,14 # 0xe
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,15 # 0xf
+++ beq $4,$5,$L27
+++ li $5,15 # 0xf
++ .set macro
++ .set reorder
++
++- bne $5,$4,$L38
+++ .set noreorder
+++ .set nomacro
+++ bne $4,$5,$L1
++ lw $4,24($fp)
+++ .set macro
+++ .set reorder
+++
++ andi $4,$4,0x2
++ .set noreorder
++ .set nomacro
++- beq $4,$0,$L31
++- li $4,1 # 0x1
+++ beq $4,$0,$L16
+++ lw $4,52($fp)
++ .set macro
++ .set reorder
++
++- lw $5,52($fp)
+++ li $5,1 # 0x1
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L51
++- li $4,2 # 0x2
+++ beq $4,$5,$L35
+++ li $5,2 # 0x2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L52
++- li $4,4 # 0x4
+++ beq $4,$5,$L36
+++ li $5,4 # 0x4
++ .set macro
++ .set reorder
++
++- bne $5,$4,$L38
++- lw $4,44($fp)
++- lw $2,0($4)
++-$L38:
+++ bne $4,$5,$L1
+++ lw $2,44($fp)
+++ lw $2,0($2)
+++$L1:
++ move $sp,$fp
++-$L53:
++- lw $31,100($sp)
+++ lw $31,100($fp)
++ lw $fp,96($sp)
++ .set noreorder
++ .set nomacro
++@@ -181,7 +188,7 @@ $L53:
++ .set macro
++ .set reorder
++
++-$L39:
+++$L23:
++ move $sp,$fp
++ lb $2,32($fp)
++ lw $31,100($sp)
++@@ -193,118 +200,110 @@ $L39:
++ .set macro
++ .set reorder
++
++-$L46:
++- lh $2,32($fp)
+++$L29:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lbu $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L43:
++- lw $2,32($fp)
+++$L27:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L45:
++- lbu $2,32($fp)
+++$L30:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lh $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L47:
++- lhu $2,32($fp)
+++$L31:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lhu $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L49:
++- lwc1 $f0,32($fp)
+++$L32:
+++ lw $2,32($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $3,36($fp)
++ .set macro
++ .set reorder
++
++-$L48:
++- lw $2,32($fp)
++- lw $3,36($fp)
+++$L33:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lwc1 $f0,32($fp)
++ .set macro
++ .set reorder
++
++-$L50:
++- lwc1 $f0,36($fp)
++- lwc1 $f1,32($fp)
+++$L34:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ ldc1 $f0,32($fp)
++ .set macro
++ .set reorder
++
++-$L31:
++- lw $2,44($fp)
+++$L16:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $2,44($fp)
++ .set macro
++ .set reorder
++
++-$L51:
++- lw $4,44($fp)
++- lbu $2,0($4)
+++$L35:
+++ lw $2,44($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lbu $2,0($2)
++ .set macro
++ .set reorder
++
++-$L52:
++- lw $4,44($fp)
++- lhu $2,0($4)
+++$L36:
+++ lw $2,44($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lhu $2,0($2)
++ .set macro
++ .set reorder
++
++ .end callback_receiver
+++ .size callback_receiver, .-callback_receiver
++ .align 2
++ .globl callback_get_receiver
+++ .set nomips16
+++ .set nomicromips
++ .ent callback_get_receiver
++ .type callback_get_receiver, @function
++ callback_get_receiver:
++ .frame $fp,8,$31 # vars= 0, regs= 1/0, args= 0, gp= 0
++- .mask 0x40000000,-8
+++ .mask 0x40000000,-4
++ .fmask 0x00000000,0
++ .set noreorder
++ .cpload $25
++ .set reorder
++ addiu $sp,$sp,-8
++- sw $fp,0($sp)
+++ sw $fp,4($sp)
++ move $fp,$sp
++ move $sp,$fp
++- lw $fp,0($sp)
++ la $2,callback_receiver
+++ lw $fp,4($sp)
++ .set noreorder
++ .set nomacro
++ j $31
++@@ -313,4 +312,5 @@ callback_get_receiver:
++ .set reorder
++
++ .end callback_get_receiver
++- .ident "GCC: (GNU) 4.0.2"
+++ .size callback_get_receiver, .-callback_get_receiver
+++ .ident "GCC: (Debian 7.2.0-11) 7.2.0"
++--- a/callback/vacall_r/vacall-mipseb-macro.S
+++++ b/callback/vacall_r/vacall-mipseb-macro.S
++@@ -1,7 +1,12 @@
++ #include "asm-mips.h"
++ .file 1 "vacall-mips.c"
+++ .nan legacy
+++ .module fp=xx
+++ .module nooddspreg
++ .text
++ .align 2
+++ .set nomips16
+++ .set nomicromips
++ .ent callback_receiver
++ DECLARE_FUNCTION(callback_receiver)
++ callback_receiver:
++@@ -15,162 +20,164 @@ callback_receiver:
++ sw $fp,96($sp)
++ move $fp,$sp
++ sw $31,100($sp)
++- .cprestore 16
++- sw $0,44($fp)
++- sw $5,108($fp)
++- addiu $5,$fp,120
++ sw $4,104($fp)
++- sw $5,56($fp)
++- lw $4,4($2)
++- addiu $5,$fp,104
++- lw $25,0($2)
++- sw $5,40($fp)
++- sw $6,112($fp)
+++ addiu $4,$fp,104
+++ sw $5,108($fp)
++ addiu $5,$fp,24
+++ sw $4,40($fp)
+++ addiu $4,$fp,120
+++ .cprestore 16
+++ sw $4,56($fp)
+++ sw $6,112($fp)
++ sw $7,116($fp)
++- swc1 $f12,84($fp)
++- swc1 $f13,80($fp)
++- swc1 $f14,92($fp)
++- swc1 $f15,88($fp)
++- swc1 $f12,68($fp)
++- swc1 $f14,72($fp)
++ sw $0,24($fp)
+++ sw $0,44($fp)
++ sw $0,48($fp)
++ sw $0,60($fp)
++ sw $0,64($fp)
+++ lw $4,4($2)
+++ lw $25,0($2)
+++ sdc1 $f12,80($fp)
+++ sdc1 $f14,88($fp)
+++ swc1 $f12,68($fp)
+++ swc1 $f14,72($fp)
++ jal $25
++- lw $5,48($fp)
+++ lw $4,48($fp)
++ .set noreorder
++ .set nomacro
++- beq $5,$0,$L38
++- li $4,1
+++ beq $4,$0,$L1
+++ li $5,1
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L39
++- li $4,2
+++ beq $4,$5,$L23
+++ li $5,2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L39
++- li $4,3
+++ beq $4,$5,$L23
+++ li $5,3
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L45
++- li $4,4
+++ beq $4,$5,$L29
+++ li $5,4
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L46
++- li $4,5
+++ beq $4,$5,$L30
+++ li $5,5
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L47
++- li $4,6
+++ beq $4,$5,$L31
+++ li $5,6
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,7
+++ beq $4,$5,$L27
+++ li $5,7
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,8
+++ beq $4,$5,$L27
+++ li $5,8
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,9
+++ beq $4,$5,$L27
+++ li $5,9
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- addiu $4,$5,-10
+++ beq $4,$5,$L27
+++ addiu $5,$4,-10
++ .set macro
++ .set reorder
++
++- sltu $4,$4,2
+++ sltu $5,$5,2
++ .set noreorder
++ .set nomacro
++- bne $4,$0,$L48
++- li $4,12
+++ bne $5,$0,$L32
+++ li $5,12
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L49
++- li $4,13
+++ beq $4,$5,$L33
+++ li $5,13
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L50
++- li $4,14
+++ beq $4,$5,$L34
+++ li $5,14
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,15
+++ beq $4,$5,$L27
+++ li $5,15
++ .set macro
++ .set reorder
++
++- bne $5,$4,$L38
+++ .set noreorder
+++ .set nomacro
+++ bne $4,$5,$L1
++ lw $4,24($fp)
+++ .set macro
+++ .set reorder
+++
++ andi $4,$4,0x2
++ .set noreorder
++ .set nomacro
++- beq $4,$0,$L31
++- li $4,1
+++ beq $4,$0,$L16
+++ lw $4,52($fp)
++ .set macro
++ .set reorder
++
++- lw $5,52($fp)
+++ li $5,1
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L51
++- li $4,2
+++ beq $4,$5,$L35
+++ li $5,2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L52
++- li $4,4
+++ beq $4,$5,$L36
+++ li $5,4
++ .set macro
++ .set reorder
++
++- bne $5,$4,$L38
++- lw $4,44($fp)
++- lw $2,0($4)
++-$L38:
+++ bne $4,$5,$L1
+++ lw $2,44($fp)
+++ lw $2,0($2)
+++$L1:
++ move $sp,$fp
++-$L53:
++- lw $31,100($sp)
+++ lw $31,100($fp)
++ lw $fp,96($sp)
++ .set noreorder
++ .set nomacro
++@@ -179,7 +186,7 @@ $L53:
++ .set macro
++ .set reorder
++
++-$L39:
+++$L23:
++ move $sp,$fp
++ lb $2,32($fp)
++ lw $31,100($sp)
++@@ -191,118 +198,110 @@ $L39:
++ .set macro
++ .set reorder
++
++-$L46:
++- lh $2,32($fp)
+++$L29:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lbu $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L43:
++- lw $2,32($fp)
+++$L27:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L45:
++- lbu $2,32($fp)
+++$L30:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lh $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L47:
++- lhu $2,32($fp)
+++$L31:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lhu $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L49:
++- lwc1 $f0,32($fp)
+++$L32:
+++ lw $2,32($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $3,36($fp)
++ .set macro
++ .set reorder
++
++-$L48:
++- lw $2,32($fp)
++- lw $3,36($fp)
+++$L33:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lwc1 $f0,32($fp)
++ .set macro
++ .set reorder
++
++-$L50:
++- lwc1 $f0,36($fp)
++- lwc1 $f1,32($fp)
+++$L34:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ ldc1 $f0,32($fp)
++ .set macro
++ .set reorder
++
++-$L31:
++- lw $2,44($fp)
+++$L16:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $2,44($fp)
++ .set macro
++ .set reorder
++
++-$L51:
++- lw $4,44($fp)
++- lbu $2,0($4)
+++$L35:
+++ lw $2,44($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lbu $2,0($2)
++ .set macro
++ .set reorder
++
++-$L52:
++- lw $4,44($fp)
++- lhu $2,0($4)
+++$L36:
+++ lw $2,44($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lhu $2,0($2)
++ .set macro
++ .set reorder
++
++ .end callback_receiver
+++ .size callback_receiver, .-callback_receiver
++ .align 2
++ .globl callback_get_receiver
+++ .set nomips16
+++ .set nomicromips
++ .ent callback_get_receiver
++ DECLARE_FUNCTION(callback_get_receiver)
++ callback_get_receiver:
++ .frame $fp,8,$31
++- .mask 0x40000000,-8
+++ .mask 0x40000000,-4
++ .fmask 0x00000000,0
++ .set noreorder
++ .cpload $25
++ .set reorder
++ addiu $sp,$sp,-8
++- sw $fp,0($sp)
+++ sw $fp,4($sp)
++ move $fp,$sp
++ move $sp,$fp
++- lw $fp,0($sp)
++ la $2,callback_receiver
+++ lw $fp,4($sp)
++ .set noreorder
++ .set nomacro
++ j $31
++@@ -311,3 +310,4 @@ callback_get_receiver:
++ .set reorder
++
++ .end callback_get_receiver
+++ .size callback_get_receiver, .-callback_get_receiver
++--- a/callback/vacall_r/vacall-mipsel-linux.s
+++++ b/callback/vacall_r/vacall-mipsel-linux.s
++@@ -1,9 +1,14 @@
++ .file 1 "vacall-mips.c"
++ .section .mdebug.abi32
++ .previous
+++ .nan legacy
+++ .module fp=xx
+++ .module nooddspreg
++ .abicalls
++ .text
++ .align 2
+++ .set nomips16
+++ .set nomicromips
++ .ent callback_receiver
++ .type callback_receiver, @function
++ callback_receiver:
++@@ -17,162 +22,164 @@ callback_receiver:
++ sw $fp,96($sp)
++ move $fp,$sp
++ sw $31,100($sp)
++- .cprestore 16
++- sw $0,44($fp)
++- sw $5,108($fp)
++- addiu $5,$fp,120
++ sw $4,104($fp)
++- sw $5,56($fp)
++- lw $4,4($2)
++- addiu $5,$fp,104
++- lw $25,0($2)
++- sw $5,40($fp)
++- sw $6,112($fp)
+++ addiu $4,$fp,104
+++ sw $5,108($fp)
++ addiu $5,$fp,24
+++ sw $4,40($fp)
+++ addiu $4,$fp,120
+++ .cprestore 16
+++ sw $4,56($fp)
+++ sw $6,112($fp)
++ sw $7,116($fp)
++- swc1 $f12,80($fp)
++- swc1 $f13,84($fp)
++- swc1 $f14,88($fp)
++- swc1 $f15,92($fp)
++- swc1 $f12,68($fp)
++- swc1 $f14,72($fp)
++ sw $0,24($fp)
+++ sw $0,44($fp)
++ sw $0,48($fp)
++ sw $0,60($fp)
++ sw $0,64($fp)
+++ lw $4,4($2)
+++ lw $25,0($2)
+++ sdc1 $f12,80($fp)
+++ sdc1 $f14,88($fp)
+++ swc1 $f12,68($fp)
+++ swc1 $f14,72($fp)
++ jal $25
++- lw $5,48($fp)
+++ lw $4,48($fp)
++ .set noreorder
++ .set nomacro
++- beq $5,$0,$L38
++- li $4,1 # 0x1
+++ beq $4,$0,$L1
+++ li $5,1 # 0x1
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L39
++- li $4,2 # 0x2
+++ beq $4,$5,$L23
+++ li $5,2 # 0x2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L39
++- li $4,3 # 0x3
+++ beq $4,$5,$L23
+++ li $5,3 # 0x3
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L45
++- li $4,4 # 0x4
+++ beq $4,$5,$L29
+++ li $5,4 # 0x4
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L46
++- li $4,5 # 0x5
+++ beq $4,$5,$L30
+++ li $5,5 # 0x5
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L47
++- li $4,6 # 0x6
+++ beq $4,$5,$L31
+++ li $5,6 # 0x6
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,7 # 0x7
+++ beq $4,$5,$L27
+++ li $5,7 # 0x7
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,8 # 0x8
+++ beq $4,$5,$L27
+++ li $5,8 # 0x8
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,9 # 0x9
+++ beq $4,$5,$L27
+++ li $5,9 # 0x9
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- addiu $4,$5,-10
+++ beq $4,$5,$L27
+++ addiu $5,$4,-10
++ .set macro
++ .set reorder
++
++- sltu $4,$4,2
+++ sltu $5,$5,2
++ .set noreorder
++ .set nomacro
++- bne $4,$0,$L48
++- li $4,12 # 0xc
+++ bne $5,$0,$L32
+++ li $5,12 # 0xc
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L49
++- li $4,13 # 0xd
+++ beq $4,$5,$L33
+++ li $5,13 # 0xd
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L50
++- li $4,14 # 0xe
+++ beq $4,$5,$L34
+++ li $5,14 # 0xe
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,15 # 0xf
+++ beq $4,$5,$L27
+++ li $5,15 # 0xf
++ .set macro
++ .set reorder
++
++- bne $5,$4,$L38
+++ .set noreorder
+++ .set nomacro
+++ bne $4,$5,$L1
++ lw $4,24($fp)
+++ .set macro
+++ .set reorder
+++
++ andi $4,$4,0x2
++ .set noreorder
++ .set nomacro
++- beq $4,$0,$L31
++- li $4,1 # 0x1
+++ beq $4,$0,$L16
+++ lw $4,52($fp)
++ .set macro
++ .set reorder
++
++- lw $5,52($fp)
+++ li $5,1 # 0x1
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L51
++- li $4,2 # 0x2
+++ beq $4,$5,$L35
+++ li $5,2 # 0x2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L52
++- li $4,4 # 0x4
+++ beq $4,$5,$L36
+++ li $5,4 # 0x4
++ .set macro
++ .set reorder
++
++- bne $5,$4,$L38
++- lw $4,44($fp)
++- lw $2,0($4)
++-$L38:
+++ bne $4,$5,$L1
+++ lw $2,44($fp)
+++ lw $2,0($2)
+++$L1:
++ move $sp,$fp
++-$L53:
++- lw $31,100($sp)
+++ lw $31,100($fp)
++ lw $fp,96($sp)
++ .set noreorder
++ .set nomacro
++@@ -181,7 +188,7 @@ $L53:
++ .set macro
++ .set reorder
++
++-$L39:
+++$L23:
++ move $sp,$fp
++ lb $2,32($fp)
++ lw $31,100($sp)
++@@ -193,118 +200,110 @@ $L39:
++ .set macro
++ .set reorder
++
++-$L46:
++- lh $2,32($fp)
+++$L29:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lbu $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L43:
++- lw $2,32($fp)
+++$L27:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L45:
++- lbu $2,32($fp)
+++$L30:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lh $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L47:
++- lhu $2,32($fp)
+++$L31:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lhu $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L49:
++- lwc1 $f0,32($fp)
+++$L32:
+++ lw $2,32($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $3,36($fp)
++ .set macro
++ .set reorder
++
++-$L48:
++- lw $2,32($fp)
++- lw $3,36($fp)
+++$L33:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lwc1 $f0,32($fp)
++ .set macro
++ .set reorder
++
++-$L50:
++- lwc1 $f0,32($fp)
++- lwc1 $f1,36($fp)
+++$L34:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ ldc1 $f0,32($fp)
++ .set macro
++ .set reorder
++
++-$L31:
++- lw $2,44($fp)
+++$L16:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $2,44($fp)
++ .set macro
++ .set reorder
++
++-$L51:
++- lw $4,44($fp)
++- lbu $2,0($4)
+++$L35:
+++ lw $2,44($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lbu $2,0($2)
++ .set macro
++ .set reorder
++
++-$L52:
++- lw $4,44($fp)
++- lhu $2,0($4)
+++$L36:
+++ lw $2,44($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lhu $2,0($2)
++ .set macro
++ .set reorder
++
++ .end callback_receiver
+++ .size callback_receiver, .-callback_receiver
++ .align 2
++ .globl callback_get_receiver
+++ .set nomips16
+++ .set nomicromips
++ .ent callback_get_receiver
++ .type callback_get_receiver, @function
++ callback_get_receiver:
++ .frame $fp,8,$31 # vars= 0, regs= 1/0, args= 0, gp= 0
++- .mask 0x40000000,-8
+++ .mask 0x40000000,-4
++ .fmask 0x00000000,0
++ .set noreorder
++ .cpload $25
++ .set reorder
++ addiu $sp,$sp,-8
++- sw $fp,0($sp)
+++ sw $fp,4($sp)
++ move $fp,$sp
++ move $sp,$fp
++- lw $fp,0($sp)
++ la $2,callback_receiver
+++ lw $fp,4($sp)
++ .set noreorder
++ .set nomacro
++ j $31
++@@ -313,4 +312,5 @@ callback_get_receiver:
++ .set reorder
++
++ .end callback_get_receiver
++- .ident "GCC: (GNU) 4.0.2"
+++ .size callback_get_receiver, .-callback_get_receiver
+++ .ident "GCC: (Debian 7.2.0-11) 7.2.0"
++--- a/callback/vacall_r/vacall-mipsel-macro.S
+++++ b/callback/vacall_r/vacall-mipsel-macro.S
++@@ -1,7 +1,12 @@
++ #include "asm-mips.h"
++ .file 1 "vacall-mips.c"
+++ .nan legacy
+++ .module fp=xx
+++ .module nooddspreg
++ .text
++ .align 2
+++ .set nomips16
+++ .set nomicromips
++ .ent callback_receiver
++ DECLARE_FUNCTION(callback_receiver)
++ callback_receiver:
++@@ -15,162 +20,164 @@ callback_receiver:
++ sw $fp,96($sp)
++ move $fp,$sp
++ sw $31,100($sp)
++- .cprestore 16
++- sw $0,44($fp)
++- sw $5,108($fp)
++- addiu $5,$fp,120
++ sw $4,104($fp)
++- sw $5,56($fp)
++- lw $4,4($2)
++- addiu $5,$fp,104
++- lw $25,0($2)
++- sw $5,40($fp)
++- sw $6,112($fp)
+++ addiu $4,$fp,104
+++ sw $5,108($fp)
++ addiu $5,$fp,24
+++ sw $4,40($fp)
+++ addiu $4,$fp,120
+++ .cprestore 16
+++ sw $4,56($fp)
+++ sw $6,112($fp)
++ sw $7,116($fp)
++- swc1 $f12,80($fp)
++- swc1 $f13,84($fp)
++- swc1 $f14,88($fp)
++- swc1 $f15,92($fp)
++- swc1 $f12,68($fp)
++- swc1 $f14,72($fp)
++ sw $0,24($fp)
+++ sw $0,44($fp)
++ sw $0,48($fp)
++ sw $0,60($fp)
++ sw $0,64($fp)
+++ lw $4,4($2)
+++ lw $25,0($2)
+++ sdc1 $f12,80($fp)
+++ sdc1 $f14,88($fp)
+++ swc1 $f12,68($fp)
+++ swc1 $f14,72($fp)
++ jal $25
++- lw $5,48($fp)
+++ lw $4,48($fp)
++ .set noreorder
++ .set nomacro
++- beq $5,$0,$L38
++- li $4,1
+++ beq $4,$0,$L1
+++ li $5,1
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L39
++- li $4,2
+++ beq $4,$5,$L23
+++ li $5,2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L39
++- li $4,3
+++ beq $4,$5,$L23
+++ li $5,3
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L45
++- li $4,4
+++ beq $4,$5,$L29
+++ li $5,4
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L46
++- li $4,5
+++ beq $4,$5,$L30
+++ li $5,5
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L47
++- li $4,6
+++ beq $4,$5,$L31
+++ li $5,6
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,7
+++ beq $4,$5,$L27
+++ li $5,7
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,8
+++ beq $4,$5,$L27
+++ li $5,8
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,9
+++ beq $4,$5,$L27
+++ li $5,9
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- addiu $4,$5,-10
+++ beq $4,$5,$L27
+++ addiu $5,$4,-10
++ .set macro
++ .set reorder
++
++- sltu $4,$4,2
+++ sltu $5,$5,2
++ .set noreorder
++ .set nomacro
++- bne $4,$0,$L48
++- li $4,12
+++ bne $5,$0,$L32
+++ li $5,12
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L49
++- li $4,13
+++ beq $4,$5,$L33
+++ li $5,13
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L50
++- li $4,14
+++ beq $4,$5,$L34
+++ li $5,14
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,15
+++ beq $4,$5,$L27
+++ li $5,15
++ .set macro
++ .set reorder
++
++- bne $5,$4,$L38
+++ .set noreorder
+++ .set nomacro
+++ bne $4,$5,$L1
++ lw $4,24($fp)
+++ .set macro
+++ .set reorder
+++
++ andi $4,$4,0x2
++ .set noreorder
++ .set nomacro
++- beq $4,$0,$L31
++- li $4,1
+++ beq $4,$0,$L16
+++ lw $4,52($fp)
++ .set macro
++ .set reorder
++
++- lw $5,52($fp)
+++ li $5,1
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L51
++- li $4,2
+++ beq $4,$5,$L35
+++ li $5,2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L52
++- li $4,4
+++ beq $4,$5,$L36
+++ li $5,4
++ .set macro
++ .set reorder
++
++- bne $5,$4,$L38
++- lw $4,44($fp)
++- lw $2,0($4)
++-$L38:
+++ bne $4,$5,$L1
+++ lw $2,44($fp)
+++ lw $2,0($2)
+++$L1:
++ move $sp,$fp
++-$L53:
++- lw $31,100($sp)
+++ lw $31,100($fp)
++ lw $fp,96($sp)
++ .set noreorder
++ .set nomacro
++@@ -179,7 +186,7 @@ $L53:
++ .set macro
++ .set reorder
++
++-$L39:
+++$L23:
++ move $sp,$fp
++ lb $2,32($fp)
++ lw $31,100($sp)
++@@ -191,118 +198,110 @@ $L39:
++ .set macro
++ .set reorder
++
++-$L46:
++- lh $2,32($fp)
+++$L29:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lbu $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L43:
++- lw $2,32($fp)
+++$L27:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L45:
++- lbu $2,32($fp)
+++$L30:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lh $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L47:
++- lhu $2,32($fp)
+++$L31:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lhu $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L49:
++- lwc1 $f0,32($fp)
+++$L32:
+++ lw $2,32($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $3,36($fp)
++ .set macro
++ .set reorder
++
++-$L48:
++- lw $2,32($fp)
++- lw $3,36($fp)
+++$L33:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lwc1 $f0,32($fp)
++ .set macro
++ .set reorder
++
++-$L50:
++- lwc1 $f0,32($fp)
++- lwc1 $f1,36($fp)
+++$L34:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ ldc1 $f0,32($fp)
++ .set macro
++ .set reorder
++
++-$L31:
++- lw $2,44($fp)
+++$L16:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $2,44($fp)
++ .set macro
++ .set reorder
++
++-$L51:
++- lw $4,44($fp)
++- lbu $2,0($4)
+++$L35:
+++ lw $2,44($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lbu $2,0($2)
++ .set macro
++ .set reorder
++
++-$L52:
++- lw $4,44($fp)
++- lhu $2,0($4)
+++$L36:
+++ lw $2,44($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lhu $2,0($2)
++ .set macro
++ .set reorder
++
++ .end callback_receiver
+++ .size callback_receiver, .-callback_receiver
++ .align 2
++ .globl callback_get_receiver
+++ .set nomips16
+++ .set nomicromips
++ .ent callback_get_receiver
++ DECLARE_FUNCTION(callback_get_receiver)
++ callback_get_receiver:
++ .frame $fp,8,$31
++- .mask 0x40000000,-8
+++ .mask 0x40000000,-4
++ .fmask 0x00000000,0
++ .set noreorder
++ .cpload $25
++ .set reorder
++ addiu $sp,$sp,-8
++- sw $fp,0($sp)
+++ sw $fp,4($sp)
++ move $fp,$sp
++ move $sp,$fp
++- lw $fp,0($sp)
++ la $2,callback_receiver
+++ lw $fp,4($sp)
++ .set noreorder
++ .set nomacro
++ j $31
++@@ -311,3 +310,4 @@ callback_get_receiver:
++ .set reorder
++
++ .end callback_get_receiver
+++ .size callback_get_receiver, .-callback_get_receiver
++--- a/vacall/vacall-mipseb-linux.s
+++++ b/vacall/vacall-mipseb-linux.s
++@@ -1,10 +1,15 @@
++ .file 1 "vacall-mips.c"
++ .section .mdebug.abi32
++ .previous
+++ .nan legacy
+++ .module fp=xx
+++ .module nooddspreg
++ .abicalls
++ .text
++ .align 2
++ .globl vacall_receiver
+++ .set nomips16
+++ .set nomicromips
++ .ent vacall_receiver
++ .type vacall_receiver, @function
++ vacall_receiver:
++@@ -18,162 +23,164 @@ vacall_receiver:
++ sw $fp,96($sp)
++ move $fp,$sp
++ sw $31,100($sp)
++- .cprestore 16
++- sw $4,104($fp)
++- la $8,vacall_function
++- addiu $4,$fp,120
++- sw $4,56($fp)
++- lw $25,0($8)
++- addiu $4,$fp,104
++ sw $5,108($fp)
++- sw $4,40($fp)
+++ addiu $5,$fp,104
+++ sw $4,104($fp)
+++ addiu $4,$fp,24
+++ sw $5,40($fp)
+++ addiu $5,$fp,120
+++ sdc1 $f12,80($fp)
+++ sw $5,56($fp)
+++ la $5,vacall_function
+++ sdc1 $f14,88($fp)
+++ .cprestore 16
++ sw $6,112($fp)
++ sw $7,116($fp)
++- swc1 $f12,84($fp)
++- swc1 $f13,80($fp)
++- swc1 $f14,92($fp)
++- swc1 $f15,88($fp)
++- swc1 $f12,68($fp)
++- swc1 $f14,72($fp)
++ sw $0,24($fp)
++ sw $0,44($fp)
++ sw $0,48($fp)
++ sw $0,60($fp)
++ sw $0,64($fp)
++- addiu $4,$fp,24
+++ lw $25,0($5)
+++ swc1 $f12,68($fp)
+++ swc1 $f14,72($fp)
++ jal $25
++- lw $5,48($fp)
+++ lw $4,48($fp)
++ .set noreorder
++ .set nomacro
++- beq $5,$0,$L38
++- li $4,1 # 0x1
+++ beq $4,$0,$L1
+++ li $5,1 # 0x1
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L39
++- li $4,2 # 0x2
+++ beq $4,$5,$L23
+++ li $5,2 # 0x2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L39
++- li $4,3 # 0x3
+++ beq $4,$5,$L23
+++ li $5,3 # 0x3
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L45
++- li $4,4 # 0x4
+++ beq $4,$5,$L29
+++ li $5,4 # 0x4
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L46
++- li $4,5 # 0x5
+++ beq $4,$5,$L30
+++ li $5,5 # 0x5
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L47
++- li $4,6 # 0x6
+++ beq $4,$5,$L31
+++ li $5,6 # 0x6
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,7 # 0x7
+++ beq $4,$5,$L27
+++ li $5,7 # 0x7
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,8 # 0x8
+++ beq $4,$5,$L27
+++ li $5,8 # 0x8
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,9 # 0x9
+++ beq $4,$5,$L27
+++ li $5,9 # 0x9
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- addiu $4,$5,-10
+++ beq $4,$5,$L27
+++ addiu $5,$4,-10
++ .set macro
++ .set reorder
++
++- sltu $4,$4,2
+++ sltu $5,$5,2
++ .set noreorder
++ .set nomacro
++- bne $4,$0,$L48
++- li $4,12 # 0xc
+++ bne $5,$0,$L32
+++ li $5,12 # 0xc
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L49
++- li $4,13 # 0xd
+++ beq $4,$5,$L33
+++ li $5,13 # 0xd
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L50
++- li $4,14 # 0xe
+++ beq $4,$5,$L34
+++ li $5,14 # 0xe
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,15 # 0xf
+++ beq $4,$5,$L27
+++ li $5,15 # 0xf
++ .set macro
++ .set reorder
++
++- bne $5,$4,$L38
+++ .set noreorder
+++ .set nomacro
+++ bne $4,$5,$L1
++ lw $4,24($fp)
+++ .set macro
+++ .set reorder
+++
++ andi $4,$4,0x2
++ .set noreorder
++ .set nomacro
++- beq $4,$0,$L31
++- li $4,1 # 0x1
+++ beq $4,$0,$L16
+++ lw $4,52($fp)
++ .set macro
++ .set reorder
++
++- lw $5,52($fp)
+++ li $5,1 # 0x1
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L51
++- li $4,2 # 0x2
+++ beq $4,$5,$L35
+++ li $5,2 # 0x2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L52
++- li $4,4 # 0x4
+++ beq $4,$5,$L36
+++ li $5,4 # 0x4
++ .set macro
++ .set reorder
++
++- bne $5,$4,$L38
++- lw $4,44($fp)
++- lw $2,0($4)
++-$L38:
+++ bne $4,$5,$L1
+++ lw $2,44($fp)
+++ lw $2,0($2)
+++$L1:
++ move $sp,$fp
++-$L53:
++- lw $31,100($sp)
+++ lw $31,100($fp)
++ lw $fp,96($sp)
++ .set noreorder
++ .set nomacro
++@@ -182,7 +189,7 @@ $L53:
++ .set macro
++ .set reorder
++
++-$L39:
+++$L23:
++ move $sp,$fp
++ lb $2,32($fp)
++ lw $31,100($sp)
++@@ -194,99 +201,89 @@ $L39:
++ .set macro
++ .set reorder
++
++-$L46:
++- lh $2,32($fp)
+++$L29:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lbu $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L43:
++- lw $2,32($fp)
+++$L27:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L45:
++- lbu $2,32($fp)
+++$L30:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lh $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L47:
++- lhu $2,32($fp)
+++$L31:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lhu $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L49:
++- lwc1 $f0,32($fp)
+++$L32:
+++ lw $2,32($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $3,36($fp)
++ .set macro
++ .set reorder
++
++-$L48:
++- lw $2,32($fp)
++- lw $3,36($fp)
+++$L33:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lwc1 $f0,32($fp)
++ .set macro
++ .set reorder
++
++-$L50:
++- lwc1 $f0,36($fp)
++- lwc1 $f1,32($fp)
+++$L34:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ ldc1 $f0,32($fp)
++ .set macro
++ .set reorder
++
++-$L31:
++- lw $2,44($fp)
+++$L16:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $2,44($fp)
++ .set macro
++ .set reorder
++
++-$L51:
++- lw $4,44($fp)
++- lbu $2,0($4)
+++$L35:
+++ lw $2,44($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lbu $2,0($2)
++ .set macro
++ .set reorder
++
++-$L52:
++- lw $4,44($fp)
++- lhu $2,0($4)
+++$L36:
+++ lw $2,44($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lhu $2,0($2)
++ .set macro
++ .set reorder
++
++ .end vacall_receiver
++- .ident "GCC: (GNU) 4.0.2"
+++ .size vacall_receiver, .-vacall_receiver
+++ .ident "GCC: (Debian 7.2.0-11) 7.2.0"
++--- a/vacall/vacall-mipseb-macro.S
+++++ b/vacall/vacall-mipseb-macro.S
++@@ -1,8 +1,13 @@
++ #include "asm-mips.h"
++ .file 1 "vacall-mips.c"
+++ .nan legacy
+++ .module fp=xx
+++ .module nooddspreg
++ .text
++ .align 2
++ .globl vacall_receiver
+++ .set nomips16
+++ .set nomicromips
++ .ent vacall_receiver
++ DECLARE_FUNCTION(vacall_receiver)
++ vacall_receiver:
++@@ -16,162 +21,164 @@ vacall_receiver:
++ sw $fp,96($sp)
++ move $fp,$sp
++ sw $31,100($sp)
++- .cprestore 16
++- sw $4,104($fp)
++- la $8,vacall_function
++- addiu $4,$fp,120
++- sw $4,56($fp)
++- lw $25,0($8)
++- addiu $4,$fp,104
++ sw $5,108($fp)
++- sw $4,40($fp)
+++ addiu $5,$fp,104
+++ sw $4,104($fp)
+++ addiu $4,$fp,24
+++ sw $5,40($fp)
+++ addiu $5,$fp,120
+++ sdc1 $f12,80($fp)
+++ sw $5,56($fp)
+++ la $5,vacall_function
+++ sdc1 $f14,88($fp)
+++ .cprestore 16
++ sw $6,112($fp)
++ sw $7,116($fp)
++- swc1 $f12,84($fp)
++- swc1 $f13,80($fp)
++- swc1 $f14,92($fp)
++- swc1 $f15,88($fp)
++- swc1 $f12,68($fp)
++- swc1 $f14,72($fp)
++ sw $0,24($fp)
++ sw $0,44($fp)
++ sw $0,48($fp)
++ sw $0,60($fp)
++ sw $0,64($fp)
++- addiu $4,$fp,24
+++ lw $25,0($5)
+++ swc1 $f12,68($fp)
+++ swc1 $f14,72($fp)
++ jal $25
++- lw $5,48($fp)
+++ lw $4,48($fp)
++ .set noreorder
++ .set nomacro
++- beq $5,$0,$L38
++- li $4,1
+++ beq $4,$0,$L1
+++ li $5,1
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L39
++- li $4,2
+++ beq $4,$5,$L23
+++ li $5,2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L39
++- li $4,3
+++ beq $4,$5,$L23
+++ li $5,3
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L45
++- li $4,4
+++ beq $4,$5,$L29
+++ li $5,4
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L46
++- li $4,5
+++ beq $4,$5,$L30
+++ li $5,5
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L47
++- li $4,6
+++ beq $4,$5,$L31
+++ li $5,6
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,7
+++ beq $4,$5,$L27
+++ li $5,7
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,8
+++ beq $4,$5,$L27
+++ li $5,8
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,9
+++ beq $4,$5,$L27
+++ li $5,9
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- addiu $4,$5,-10
+++ beq $4,$5,$L27
+++ addiu $5,$4,-10
++ .set macro
++ .set reorder
++
++- sltu $4,$4,2
+++ sltu $5,$5,2
++ .set noreorder
++ .set nomacro
++- bne $4,$0,$L48
++- li $4,12
+++ bne $5,$0,$L32
+++ li $5,12
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L49
++- li $4,13
+++ beq $4,$5,$L33
+++ li $5,13
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L50
++- li $4,14
+++ beq $4,$5,$L34
+++ li $5,14
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,15
+++ beq $4,$5,$L27
+++ li $5,15
++ .set macro
++ .set reorder
++
++- bne $5,$4,$L38
+++ .set noreorder
+++ .set nomacro
+++ bne $4,$5,$L1
++ lw $4,24($fp)
+++ .set macro
+++ .set reorder
+++
++ andi $4,$4,0x2
++ .set noreorder
++ .set nomacro
++- beq $4,$0,$L31
++- li $4,1
+++ beq $4,$0,$L16
+++ lw $4,52($fp)
++ .set macro
++ .set reorder
++
++- lw $5,52($fp)
+++ li $5,1
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L51
++- li $4,2
+++ beq $4,$5,$L35
+++ li $5,2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L52
++- li $4,4
+++ beq $4,$5,$L36
+++ li $5,4
++ .set macro
++ .set reorder
++
++- bne $5,$4,$L38
++- lw $4,44($fp)
++- lw $2,0($4)
++-$L38:
+++ bne $4,$5,$L1
+++ lw $2,44($fp)
+++ lw $2,0($2)
+++$L1:
++ move $sp,$fp
++-$L53:
++- lw $31,100($sp)
+++ lw $31,100($fp)
++ lw $fp,96($sp)
++ .set noreorder
++ .set nomacro
++@@ -180,7 +187,7 @@ $L53:
++ .set macro
++ .set reorder
++
++-$L39:
+++$L23:
++ move $sp,$fp
++ lb $2,32($fp)
++ lw $31,100($sp)
++@@ -192,98 +199,88 @@ $L39:
++ .set macro
++ .set reorder
++
++-$L46:
++- lh $2,32($fp)
+++$L29:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lbu $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L43:
++- lw $2,32($fp)
+++$L27:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L45:
++- lbu $2,32($fp)
+++$L30:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lh $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L47:
++- lhu $2,32($fp)
+++$L31:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lhu $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L49:
++- lwc1 $f0,32($fp)
+++$L32:
+++ lw $2,32($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $3,36($fp)
++ .set macro
++ .set reorder
++
++-$L48:
++- lw $2,32($fp)
++- lw $3,36($fp)
+++$L33:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lwc1 $f0,32($fp)
++ .set macro
++ .set reorder
++
++-$L50:
++- lwc1 $f0,36($fp)
++- lwc1 $f1,32($fp)
+++$L34:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ ldc1 $f0,32($fp)
++ .set macro
++ .set reorder
++
++-$L31:
++- lw $2,44($fp)
+++$L16:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $2,44($fp)
++ .set macro
++ .set reorder
++
++-$L51:
++- lw $4,44($fp)
++- lbu $2,0($4)
+++$L35:
+++ lw $2,44($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lbu $2,0($2)
++ .set macro
++ .set reorder
++
++-$L52:
++- lw $4,44($fp)
++- lhu $2,0($4)
+++$L36:
+++ lw $2,44($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lhu $2,0($2)
++ .set macro
++ .set reorder
++
++ .end vacall_receiver
+++ .size vacall_receiver, .-vacall_receiver
++--- a/vacall/vacall-mipsel-linux.s
+++++ b/vacall/vacall-mipsel-linux.s
++@@ -1,10 +1,15 @@
++ .file 1 "vacall-mips.c"
++ .section .mdebug.abi32
++ .previous
+++ .nan legacy
+++ .module fp=xx
+++ .module nooddspreg
++ .abicalls
++ .text
++ .align 2
++ .globl vacall_receiver
+++ .set nomips16
+++ .set nomicromips
++ .ent vacall_receiver
++ .type vacall_receiver, @function
++ vacall_receiver:
++@@ -18,162 +23,164 @@ vacall_receiver:
++ sw $fp,96($sp)
++ move $fp,$sp
++ sw $31,100($sp)
++- .cprestore 16
++- sw $4,104($fp)
++- la $8,vacall_function
++- addiu $4,$fp,120
++- sw $4,56($fp)
++- lw $25,0($8)
++- addiu $4,$fp,104
++ sw $5,108($fp)
++- sw $4,40($fp)
+++ addiu $5,$fp,104
+++ sw $4,104($fp)
+++ addiu $4,$fp,24
+++ sw $5,40($fp)
+++ addiu $5,$fp,120
+++ sdc1 $f12,80($fp)
+++ sw $5,56($fp)
+++ la $5,vacall_function
+++ sdc1 $f14,88($fp)
+++ .cprestore 16
++ sw $6,112($fp)
++ sw $7,116($fp)
++- swc1 $f12,80($fp)
++- swc1 $f13,84($fp)
++- swc1 $f14,88($fp)
++- swc1 $f15,92($fp)
++- swc1 $f12,68($fp)
++- swc1 $f14,72($fp)
++ sw $0,24($fp)
++ sw $0,44($fp)
++ sw $0,48($fp)
++ sw $0,60($fp)
++ sw $0,64($fp)
++- addiu $4,$fp,24
+++ lw $25,0($5)
+++ swc1 $f12,68($fp)
+++ swc1 $f14,72($fp)
++ jal $25
++- lw $5,48($fp)
+++ lw $4,48($fp)
++ .set noreorder
++ .set nomacro
++- beq $5,$0,$L38
++- li $4,1 # 0x1
+++ beq $4,$0,$L1
+++ li $5,1 # 0x1
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L39
++- li $4,2 # 0x2
+++ beq $4,$5,$L23
+++ li $5,2 # 0x2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L39
++- li $4,3 # 0x3
+++ beq $4,$5,$L23
+++ li $5,3 # 0x3
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L45
++- li $4,4 # 0x4
+++ beq $4,$5,$L29
+++ li $5,4 # 0x4
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L46
++- li $4,5 # 0x5
+++ beq $4,$5,$L30
+++ li $5,5 # 0x5
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L47
++- li $4,6 # 0x6
+++ beq $4,$5,$L31
+++ li $5,6 # 0x6
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,7 # 0x7
+++ beq $4,$5,$L27
+++ li $5,7 # 0x7
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,8 # 0x8
+++ beq $4,$5,$L27
+++ li $5,8 # 0x8
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,9 # 0x9
+++ beq $4,$5,$L27
+++ li $5,9 # 0x9
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- addiu $4,$5,-10
+++ beq $4,$5,$L27
+++ addiu $5,$4,-10
++ .set macro
++ .set reorder
++
++- sltu $4,$4,2
+++ sltu $5,$5,2
++ .set noreorder
++ .set nomacro
++- bne $4,$0,$L48
++- li $4,12 # 0xc
+++ bne $5,$0,$L32
+++ li $5,12 # 0xc
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L49
++- li $4,13 # 0xd
+++ beq $4,$5,$L33
+++ li $5,13 # 0xd
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L50
++- li $4,14 # 0xe
+++ beq $4,$5,$L34
+++ li $5,14 # 0xe
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,15 # 0xf
+++ beq $4,$5,$L27
+++ li $5,15 # 0xf
++ .set macro
++ .set reorder
++
++- bne $5,$4,$L38
+++ .set noreorder
+++ .set nomacro
+++ bne $4,$5,$L1
++ lw $4,24($fp)
+++ .set macro
+++ .set reorder
+++
++ andi $4,$4,0x2
++ .set noreorder
++ .set nomacro
++- beq $4,$0,$L31
++- li $4,1 # 0x1
+++ beq $4,$0,$L16
+++ lw $4,52($fp)
++ .set macro
++ .set reorder
++
++- lw $5,52($fp)
+++ li $5,1 # 0x1
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L51
++- li $4,2 # 0x2
+++ beq $4,$5,$L35
+++ li $5,2 # 0x2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L52
++- li $4,4 # 0x4
+++ beq $4,$5,$L36
+++ li $5,4 # 0x4
++ .set macro
++ .set reorder
++
++- bne $5,$4,$L38
++- lw $4,44($fp)
++- lw $2,0($4)
++-$L38:
+++ bne $4,$5,$L1
+++ lw $2,44($fp)
+++ lw $2,0($2)
+++$L1:
++ move $sp,$fp
++-$L53:
++- lw $31,100($sp)
+++ lw $31,100($fp)
++ lw $fp,96($sp)
++ .set noreorder
++ .set nomacro
++@@ -182,7 +189,7 @@ $L53:
++ .set macro
++ .set reorder
++
++-$L39:
+++$L23:
++ move $sp,$fp
++ lb $2,32($fp)
++ lw $31,100($sp)
++@@ -194,99 +201,89 @@ $L39:
++ .set macro
++ .set reorder
++
++-$L46:
++- lh $2,32($fp)
+++$L29:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lbu $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L43:
++- lw $2,32($fp)
+++$L27:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L45:
++- lbu $2,32($fp)
+++$L30:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lh $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L47:
++- lhu $2,32($fp)
+++$L31:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lhu $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L49:
++- lwc1 $f0,32($fp)
+++$L32:
+++ lw $2,32($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $3,36($fp)
++ .set macro
++ .set reorder
++
++-$L48:
++- lw $2,32($fp)
++- lw $3,36($fp)
+++$L33:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lwc1 $f0,32($fp)
++ .set macro
++ .set reorder
++
++-$L50:
++- lwc1 $f0,32($fp)
++- lwc1 $f1,36($fp)
+++$L34:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ ldc1 $f0,32($fp)
++ .set macro
++ .set reorder
++
++-$L31:
++- lw $2,44($fp)
+++$L16:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $2,44($fp)
++ .set macro
++ .set reorder
++
++-$L51:
++- lw $4,44($fp)
++- lbu $2,0($4)
+++$L35:
+++ lw $2,44($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lbu $2,0($2)
++ .set macro
++ .set reorder
++
++-$L52:
++- lw $4,44($fp)
++- lhu $2,0($4)
+++$L36:
+++ lw $2,44($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lhu $2,0($2)
++ .set macro
++ .set reorder
++
++ .end vacall_receiver
++- .ident "GCC: (GNU) 4.0.2"
+++ .size vacall_receiver, .-vacall_receiver
+++ .ident "GCC: (Debian 7.2.0-11) 7.2.0"
++--- a/vacall/vacall-mipsel-macro.S
+++++ b/vacall/vacall-mipsel-macro.S
++@@ -1,8 +1,13 @@
++ #include "asm-mips.h"
++ .file 1 "vacall-mips.c"
+++ .nan legacy
+++ .module fp=xx
+++ .module nooddspreg
++ .text
++ .align 2
++ .globl vacall_receiver
+++ .set nomips16
+++ .set nomicromips
++ .ent vacall_receiver
++ DECLARE_FUNCTION(vacall_receiver)
++ vacall_receiver:
++@@ -16,162 +21,164 @@ vacall_receiver:
++ sw $fp,96($sp)
++ move $fp,$sp
++ sw $31,100($sp)
++- .cprestore 16
++- sw $4,104($fp)
++- la $8,vacall_function
++- addiu $4,$fp,120
++- sw $4,56($fp)
++- lw $25,0($8)
++- addiu $4,$fp,104
++ sw $5,108($fp)
++- sw $4,40($fp)
+++ addiu $5,$fp,104
+++ sw $4,104($fp)
+++ addiu $4,$fp,24
+++ sw $5,40($fp)
+++ addiu $5,$fp,120
+++ sdc1 $f12,80($fp)
+++ sw $5,56($fp)
+++ la $5,vacall_function
+++ sdc1 $f14,88($fp)
+++ .cprestore 16
++ sw $6,112($fp)
++ sw $7,116($fp)
++- swc1 $f12,80($fp)
++- swc1 $f13,84($fp)
++- swc1 $f14,88($fp)
++- swc1 $f15,92($fp)
++- swc1 $f12,68($fp)
++- swc1 $f14,72($fp)
++ sw $0,24($fp)
++ sw $0,44($fp)
++ sw $0,48($fp)
++ sw $0,60($fp)
++ sw $0,64($fp)
++- addiu $4,$fp,24
+++ lw $25,0($5)
+++ swc1 $f12,68($fp)
+++ swc1 $f14,72($fp)
++ jal $25
++- lw $5,48($fp)
+++ lw $4,48($fp)
++ .set noreorder
++ .set nomacro
++- beq $5,$0,$L38
++- li $4,1
+++ beq $4,$0,$L1
+++ li $5,1
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L39
++- li $4,2
+++ beq $4,$5,$L23
+++ li $5,2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L39
++- li $4,3
+++ beq $4,$5,$L23
+++ li $5,3
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L45
++- li $4,4
+++ beq $4,$5,$L29
+++ li $5,4
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L46
++- li $4,5
+++ beq $4,$5,$L30
+++ li $5,5
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L47
++- li $4,6
+++ beq $4,$5,$L31
+++ li $5,6
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,7
+++ beq $4,$5,$L27
+++ li $5,7
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,8
+++ beq $4,$5,$L27
+++ li $5,8
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,9
+++ beq $4,$5,$L27
+++ li $5,9
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- addiu $4,$5,-10
+++ beq $4,$5,$L27
+++ addiu $5,$4,-10
++ .set macro
++ .set reorder
++
++- sltu $4,$4,2
+++ sltu $5,$5,2
++ .set noreorder
++ .set nomacro
++- bne $4,$0,$L48
++- li $4,12
+++ bne $5,$0,$L32
+++ li $5,12
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L49
++- li $4,13
+++ beq $4,$5,$L33
+++ li $5,13
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L50
++- li $4,14
+++ beq $4,$5,$L34
+++ li $5,14
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L43
++- li $4,15
+++ beq $4,$5,$L27
+++ li $5,15
++ .set macro
++ .set reorder
++
++- bne $5,$4,$L38
+++ .set noreorder
+++ .set nomacro
+++ bne $4,$5,$L1
++ lw $4,24($fp)
+++ .set macro
+++ .set reorder
+++
++ andi $4,$4,0x2
++ .set noreorder
++ .set nomacro
++- beq $4,$0,$L31
++- li $4,1
+++ beq $4,$0,$L16
+++ lw $4,52($fp)
++ .set macro
++ .set reorder
++
++- lw $5,52($fp)
+++ li $5,1
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L51
++- li $4,2
+++ beq $4,$5,$L35
+++ li $5,2
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
++- beq $5,$4,$L52
++- li $4,4
+++ beq $4,$5,$L36
+++ li $5,4
++ .set macro
++ .set reorder
++
++- bne $5,$4,$L38
++- lw $4,44($fp)
++- lw $2,0($4)
++-$L38:
+++ bne $4,$5,$L1
+++ lw $2,44($fp)
+++ lw $2,0($2)
+++$L1:
++ move $sp,$fp
++-$L53:
++- lw $31,100($sp)
+++ lw $31,100($fp)
++ lw $fp,96($sp)
++ .set noreorder
++ .set nomacro
++@@ -180,7 +187,7 @@ $L53:
++ .set macro
++ .set reorder
++
++-$L39:
+++$L23:
++ move $sp,$fp
++ lb $2,32($fp)
++ lw $31,100($sp)
++@@ -192,98 +199,88 @@ $L39:
++ .set macro
++ .set reorder
++
++-$L46:
++- lh $2,32($fp)
+++$L29:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lbu $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L43:
++- lw $2,32($fp)
+++$L27:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L45:
++- lbu $2,32($fp)
+++$L30:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lh $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L47:
++- lhu $2,32($fp)
+++$L31:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lhu $2,32($fp)
++ .set macro
++ .set reorder
++
++-$L49:
++- lwc1 $f0,32($fp)
+++$L32:
+++ lw $2,32($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $3,36($fp)
++ .set macro
++ .set reorder
++
++-$L48:
++- lw $2,32($fp)
++- lw $3,36($fp)
+++$L33:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lwc1 $f0,32($fp)
++ .set macro
++ .set reorder
++
++-$L50:
++- lwc1 $f0,32($fp)
++- lwc1 $f1,36($fp)
+++$L34:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ ldc1 $f0,32($fp)
++ .set macro
++ .set reorder
++
++-$L31:
++- lw $2,44($fp)
+++$L16:
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lw $2,44($fp)
++ .set macro
++ .set reorder
++
++-$L51:
++- lw $4,44($fp)
++- lbu $2,0($4)
+++$L35:
+++ lw $2,44($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lbu $2,0($2)
++ .set macro
++ .set reorder
++
++-$L52:
++- lw $4,44($fp)
++- lhu $2,0($4)
+++$L36:
+++ lw $2,44($fp)
++ .set noreorder
++ .set nomacro
++- b $L53
++- move $sp,$fp
+++ b $L1
+++ lhu $2,0($2)
++ .set macro
++ .set reorder
++
++ .end vacall_receiver
+++ .size vacall_receiver, .-vacall_receiver
--- /dev/null
--- /dev/null
++Description: Fix build for MIPS release 6
++ MIPS release 6 dropped some instructions: bnel/beql included. For r6, one
++ should use bne/beq as a replacement.
++Author: YunQiang Su <wzssyqa@gmail.com>
++Bug-Debian: https://bugs.debian.org/893851
++Forwarded: no
++Reviewed-by: Sébastien Villemot <sebastien@debian.org>
++Last-Update: 2018-04-11
++---
++This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
++Index: ffcall-2.1/avcall/avcall-mips64el-macro.S
++===================================================================
++--- ffcall-2.1.orig/avcall/avcall-mips64el-macro.S
+++++ ffcall-2.1/avcall/avcall-mips64el-macro.S
++@@ -197,14 +197,22 @@ avcall_call:
++ li $2,1
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $4,$2,.L120
+++#else
+++ beq $4,$2,.L120
+++#endif
++ move $sp,$fp
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $4,$0,.L121
+++#else
+++ beq $4,$0,.L121
+++#endif
++ ld $2,16($16)
++ .set macro
++ .set reorder
++@@ -310,7 +318,11 @@ avcall_call:
++
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ bnel $4,$2,.L120
+++#else
+++ bne $4,$2,.L120
+++#endif
++ move $sp,$fp
++ .set macro
++ .set reorder
++@@ -326,7 +338,11 @@ avcall_call:
++
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $2,$0,.L73
+++#else
+++ beq $2,$0,.L73
+++#endif
++ ld $6,32($16)
++ .set macro
++ .set reorder
++@@ -356,7 +372,11 @@ avcall_call:
++
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $3,$2,.L121
+++#else
+++ beq $3,$2,.L121
+++#endif
++ ld $2,16($16)
++ .set macro
++ .set reorder
++@@ -420,7 +440,11 @@ avcall_call:
++ andi $2,$3,0x80
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $2,$0,.L119
+++#else
+++ beq $2,$0,.L119
+++#endif
++ lw $3,72($16)
++ .set macro
++ .set reorder
++@@ -589,7 +613,11 @@ avcall_call:
++ andi $2,$3,0x80
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $2,$0,.L118
+++#else
+++ beq $2,$0,.L118
+++#endif
++ slt $2,$6,9
++ .set macro
++ .set reorder
++Index: ffcall-2.1/vacall/vacall-mips64el-macro.S
++===================================================================
++--- ffcall-2.1.orig/vacall/vacall-mips64el-macro.S
+++++ ffcall-2.1/vacall/vacall-mips64el-macro.S
++@@ -106,7 +106,11 @@ vacall_receiver:
++ beq $13,$12,.L65
++ li $12,15
++
+++#if __mips_isa_rev < 6
++ bnel $13,$12,.L79
+++#else
+++ bne $13,$12,.L79
+++#endif
++ move $sp,$fp
++
++ lw $19,0($fp)
++@@ -114,7 +118,11 @@ vacall_receiver:
++ beq $12,$0,.L60
++ andi $12,$19,0x4
++
+++#if __mips_isa_rev < 6
++ beql $12,$0,.L34
+++#else
+++ beq $12,$0,.L34
+++#endif
++ ld $18,48($fp)
++
++ ld $13,48($fp)
++@@ -128,7 +136,11 @@ vacall_receiver:
++ beq $13,$12,.L76
++ li $12,8
++
+++#if __mips_isa_rev < 6
++ bnel $13,$12,.L79
+++#else
+++ bne $13,$12,.L79
+++#endif
++ move $sp,$fp
++
++ ld $12,32($fp)
++@@ -247,7 +259,11 @@ vacall_receiver:
++ beq $18,$12,.L78
++ li $12,16
++
+++#if __mips_isa_rev < 6
++ bnel $18,$12,.L79
+++#else
+++ bne $18,$12,.L79
+++#endif
++ move $sp,$fp
++
++ ld $12,32($fp)
++Index: ffcall-2.1/callback/vacall_r/vacall-mips64el-macro.S
++===================================================================
++--- ffcall-2.1.orig/callback/vacall_r/vacall-mips64el-macro.S
+++++ ffcall-2.1/callback/vacall_r/vacall-mips64el-macro.S
++@@ -101,7 +101,11 @@ callback_receiver:
++ beq $13,$12,.L65
++ li $12,15
++
+++#if __mips_isa_rev < 6
++ bnel $13,$12,.L79
+++#else
+++ bne $13,$12,.L79
+++#endif
++ move $sp,$fp
++
++ lw $19,0($fp)
++@@ -109,7 +113,11 @@ callback_receiver:
++ beq $12,$0,.L60
++ andi $12,$19,0x4
++
+++#if __mips_isa_rev < 6
++ beql $12,$0,.L34
+++#else
+++ beq $12,$0,.L34
+++#endif
++ ld $18,48($fp)
++
++ ld $13,48($fp)
++@@ -123,7 +131,11 @@ callback_receiver:
++ beq $13,$12,.L76
++ li $12,8
++
+++#if __mips_isa_rev < 6
++ bnel $13,$12,.L79
+++#else
+++ bne $13,$12,.L79
+++#endif
++ move $sp,$fp
++
++ ld $12,32($fp)
++@@ -240,7 +252,11 @@ callback_receiver:
++ beq $18,$12,.L78
++ li $12,16
++
+++#if __mips_isa_rev < 6
++ bnel $18,$12,.L79
+++#else
+++ bne $18,$12,.L79
+++#endif
++ move $sp,$fp
++
++ ld $12,32($fp)
++Index: ffcall-2.1/avcall/avcall-mips64eb-macro.S
++===================================================================
++--- ffcall-2.1.orig/avcall/avcall-mips64eb-macro.S
+++++ ffcall-2.1/avcall/avcall-mips64eb-macro.S
++@@ -197,14 +197,22 @@ avcall_call:
++ li $2,1
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $4,$2,.L120
+++#else
+++ beq $4,$2,.L120
+++#endif
++ move $sp,$fp
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $4,$0,.L121
+++#else
+++ beq $4,$0,.L121
+++#endif
++ ld $2,16($16)
++ .set macro
++ .set reorder
++@@ -310,7 +318,11 @@ avcall_call:
++
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ bnel $4,$2,.L120
+++#else
+++ bne $4,$2,.L120
+++#endif
++ move $sp,$fp
++ .set macro
++ .set reorder
++@@ -326,7 +338,11 @@ avcall_call:
++
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $2,$0,.L73
+++#else
+++ beq $2,$0,.L73
+++#endif
++ ld $7,32($16)
++ .set macro
++ .set reorder
++@@ -356,7 +372,11 @@ avcall_call:
++
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $3,$2,.L121
+++#else
+++ beq $3,$2,.L121
+++#endif
++ ld $2,16($16)
++ .set macro
++ .set reorder
++@@ -420,7 +440,11 @@ avcall_call:
++ andi $2,$3,0x80
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $2,$0,.L119
+++#else
+++ beq $2,$0,.L119
+++#endif
++ lw $3,72($16)
++ .set macro
++ .set reorder
++@@ -589,7 +613,11 @@ avcall_call:
++ andi $2,$3,0x80
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $2,$0,.L118
+++#else
+++ beq $2,$0,.L118
+++#endif
++ slt $2,$6,9
++ .set macro
++ .set reorder
++@@ -670,7 +698,11 @@ avcall_call:
++ sltu $2,$7,9
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $2,$0,.L85
+++#else
+++ beq $2,$0,.L85
+++#endif
++ dsll $4,$8,3
++ .set macro
++ .set reorder
++Index: ffcall-2.1/avcall/avcall-mipsn32eb-macro.S
++===================================================================
++--- ffcall-2.1.orig/avcall/avcall-mipsn32eb-macro.S
+++++ ffcall-2.1/avcall/avcall-mipsn32eb-macro.S
++@@ -196,14 +196,22 @@ avcall_call:
++ li $2,1
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $4,$2,.L120
+++#else
+++ beq $4,$2,.L120
+++#endif
++ move $sp,$fp
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $4,$0,.L121
+++#else
+++ beq $4,$0,.L121
+++#endif
++ lw $2,8($16)
++ .set macro
++ .set reorder
++@@ -309,7 +317,11 @@ avcall_call:
++
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ bnel $4,$2,.L120
+++#else
+++ bne $4,$2,.L120
+++#endif
++ move $sp,$fp
++ .set macro
++ .set reorder
++@@ -325,7 +337,11 @@ avcall_call:
++
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $2,$0,.L72
+++#else
+++ beq $2,$0,.L72
+++#endif
++ lw $8,16($16)
++ .set macro
++ .set reorder
++@@ -355,7 +371,11 @@ avcall_call:
++
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $3,$2,.L121
+++#else
+++ beq $3,$2,.L121
+++#endif
++ lw $2,8($16)
++ .set macro
++ .set reorder
++@@ -419,7 +439,11 @@ avcall_call:
++ andi $2,$3,0x80
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $2,$0,.L119
+++#else
+++ beq $2,$0,.L119
+++#endif
++ lw $3,40($16)
++ .set macro
++ .set reorder
++@@ -588,7 +612,11 @@ avcall_call:
++ andi $2,$3,0x80
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $2,$0,.L118
+++#else
+++ beq $2,$0,.L118
+++#endif
++ slt $2,$6,9
++ .set macro
++ .set reorder
++Index: ffcall-2.1/avcall/avcall-mipsn32el-macro.S
++===================================================================
++--- ffcall-2.1.orig/avcall/avcall-mipsn32el-macro.S
+++++ ffcall-2.1/avcall/avcall-mipsn32el-macro.S
++@@ -196,14 +196,22 @@ avcall_call:
++ li $2,1
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $4,$2,.L120
+++#else
+++ beq $4,$2,.L120
+++#endif
++ move $sp,$fp
++ .set macro
++ .set reorder
++
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $4,$0,.L121
+++#else
+++ beq $4,$0,.L121
+++#endif
++ lw $2,8($16)
++ .set macro
++ .set reorder
++@@ -309,7 +317,11 @@ avcall_call:
++
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ bnel $4,$2,.L120
+++#else
+++ bne $4,$2,.L120
+++#endif
++ move $sp,$fp
++ .set macro
++ .set reorder
++@@ -325,7 +337,11 @@ avcall_call:
++
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $2,$0,.L72
+++#else
+++ beq $2,$0,.L72
+++#endif
++ lw $6,16($16)
++ .set macro
++ .set reorder
++@@ -355,7 +371,11 @@ avcall_call:
++
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $3,$2,.L121
+++#else
+++ beq $3,$2,.L121
+++#endif
++ lw $2,8($16)
++ .set macro
++ .set reorder
++@@ -419,7 +439,11 @@ avcall_call:
++ andi $2,$3,0x80
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $2,$0,.L119
+++#else
+++ beq $2,$0,.L119
+++#endif
++ lw $3,40($16)
++ .set macro
++ .set reorder
++@@ -588,7 +612,11 @@ avcall_call:
++ andi $2,$3,0x80
++ .set noreorder
++ .set nomacro
+++#if __mips_isa_rev < 6
++ beql $2,$0,.L118
+++#else
+++ beq $2,$0,.L118
+++#endif
++ slt $2,$6,9
++ .set macro
++ .set reorder
++Index: ffcall-2.1/callback/vacall_r/vacall-mips64eb-macro.S
++===================================================================
++--- ffcall-2.1.orig/callback/vacall_r/vacall-mips64eb-macro.S
+++++ ffcall-2.1/callback/vacall_r/vacall-mips64eb-macro.S
++@@ -102,7 +102,11 @@ callback_receiver:
++ beq $13,$12,.L65
++ li $12,15
++
+++#if __mips_isa_rev < 6
++ bnel $13,$12,.L79
+++#else
+++ bne $13,$12,.L79
+++#endif
++ move $sp,$fp
++
++ lw $20,0($fp)
++@@ -110,7 +114,11 @@ callback_receiver:
++ beq $12,$0,.L60
++ andi $12,$20,0x4
++
+++#if __mips_isa_rev < 6
++ beql $12,$0,.L34
+++#else
+++ beq $12,$0,.L34
+++#endif
++ ld $19,48($fp)
++
++ ld $13,48($fp)
++@@ -124,7 +132,11 @@ callback_receiver:
++ beq $13,$12,.L76
++ li $12,8
++
+++#if __mips_isa_rev < 6
++ bnel $13,$12,.L79
+++#else
+++ bne $13,$12,.L79
+++#endif
++ move $sp,$fp
++
++ ld $12,32($fp)
++@@ -242,7 +254,11 @@ callback_receiver:
++ beq $19,$12,.L78
++ li $12,16
++
+++#if __mips_isa_rev < 6
++ bnel $19,$12,.L79
+++#else
+++ bne $19,$12,.L79
+++#endif
++ move $sp,$fp
++
++ ld $12,32($fp)
++Index: ffcall-2.1/callback/vacall_r/vacall-mipsn32eb-macro.S
++===================================================================
++--- ffcall-2.1.orig/callback/vacall_r/vacall-mipsn32eb-macro.S
+++++ ffcall-2.1/callback/vacall_r/vacall-mipsn32eb-macro.S
++@@ -101,7 +101,11 @@ callback_receiver:
++ beq $13,$12,.L64
++ li $12,15
++
+++#if __mips_isa_rev < 6
++ bnel $13,$12,.L77
+++#else
+++ bne $13,$12,.L77
+++#endif
++ move $sp,$fp
++
++ lw $19,0($fp)
++@@ -109,7 +113,11 @@ callback_receiver:
++ beq $12,$0,.L60
++ andi $12,$19,0x4
++
+++#if __mips_isa_rev < 6
++ beql $12,$0,.L34
+++#else
+++ beq $12,$0,.L34
+++#endif
++ lw $18,36($fp)
++
++ lw $13,36($fp)
++@@ -123,7 +131,11 @@ callback_receiver:
++ beq $13,$12,.L74
++ li $12,8
++
+++#if __mips_isa_rev < 6
++ bnel $13,$12,.L77
+++#else
+++ bne $13,$12,.L77
+++#endif
++ move $sp,$fp
++
++ lw $12,28($fp)
++@@ -236,7 +248,11 @@ callback_receiver:
++ beq $18,$12,.L76
++ li $12,16
++
+++#if __mips_isa_rev < 6
++ bnel $18,$12,.L77
+++#else
+++ bne $18,$12,.L77
+++#endif
++ move $sp,$fp
++
++ lw $12,28($fp)
++@@ -251,7 +267,11 @@ callback_receiver:
++
++ .L45:
++ sltu $12,$13,17
+++#if __mips_isa_rev < 6
++ beql $12,$0,.L49
+++#else
+++ beq $12,$0,.L49
+++#endif
++ ld $17,16($24)
++
++ sll $12,$13,3
++Index: ffcall-2.1/callback/vacall_r/vacall-mipsn32el-macro.S
++===================================================================
++--- ffcall-2.1.orig/callback/vacall_r/vacall-mipsn32el-macro.S
+++++ ffcall-2.1/callback/vacall_r/vacall-mipsn32el-macro.S
++@@ -101,7 +101,11 @@ callback_receiver:
++ beq $13,$12,.L64
++ li $12,15
++
+++#if __mips_isa_rev < 6
++ bnel $13,$12,.L77
+++#else
+++ bne $13,$12,.L77
+++#endif
++ move $sp,$fp
++
++ lw $19,0($fp)
++@@ -109,7 +113,11 @@ callback_receiver:
++ beq $12,$0,.L60
++ andi $12,$19,0x4
++
+++#if __mips_isa_rev < 6
++ beql $12,$0,.L34
+++#else
+++ beq $12,$0,.L34
+++#endif
++ lw $18,36($fp)
++
++ lw $13,36($fp)
++@@ -123,7 +131,11 @@ callback_receiver:
++ beq $13,$12,.L74
++ li $12,8
++
+++#if __mips_isa_rev < 6
++ bnel $13,$12,.L77
+++#else
+++ bne $13,$12,.L77
+++#endif
++ move $sp,$fp
++
++ lw $12,28($fp)
++@@ -237,7 +249,11 @@ callback_receiver:
++ beq $18,$12,.L76
++ li $12,16
++
+++#if __mips_isa_rev < 6
++ bnel $18,$12,.L77
+++#else
+++ bne $18,$12,.L77
+++#endif
++ move $sp,$fp
++
++ lw $12,28($fp)
++Index: ffcall-2.1/vacall/vacall-mips64eb-macro.S
++===================================================================
++--- ffcall-2.1.orig/vacall/vacall-mips64eb-macro.S
+++++ ffcall-2.1/vacall/vacall-mips64eb-macro.S
++@@ -107,7 +107,11 @@ vacall_receiver:
++ beq $13,$12,.L65
++ li $12,15
++
+++#if __mips_isa_rev < 6
++ bnel $13,$12,.L79
+++#else
+++ bne $13,$12,.L79
+++#endif
++ move $sp,$fp
++
++ lw $20,0($fp)
++@@ -115,7 +119,11 @@ vacall_receiver:
++ beq $12,$0,.L60
++ andi $12,$20,0x4
++
+++#if __mips_isa_rev < 6
++ beql $12,$0,.L34
+++#else
+++ beq $12,$0,.L34
+++#endif
++ ld $19,48($fp)
++
++ ld $13,48($fp)
++@@ -129,7 +137,11 @@ vacall_receiver:
++ beq $13,$12,.L76
++ li $12,8
++
+++#if __mips_isa_rev < 6
++ bnel $13,$12,.L79
+++#else
+++ bne $13,$12,.L79
+++#endif
++ move $sp,$fp
++
++ ld $12,32($fp)
++@@ -249,7 +261,11 @@ vacall_receiver:
++ beq $19,$12,.L78
++ li $12,16
++
+++#if __mips_isa_rev < 6
++ bnel $19,$12,.L79
+++#else
+++ bne $19,$12,.L79
+++#endif
++ move $sp,$fp
++
++ ld $12,32($fp)
++Index: ffcall-2.1/vacall/vacall-mipsn32eb-macro.S
++===================================================================
++--- ffcall-2.1.orig/vacall/vacall-mipsn32eb-macro.S
+++++ ffcall-2.1/vacall/vacall-mipsn32eb-macro.S
++@@ -106,7 +106,11 @@ vacall_receiver:
++ beq $13,$12,.L64
++ li $12,15
++
+++#if __mips_isa_rev < 6
++ bnel $13,$12,.L77
+++#else
+++ bne $13,$12,.L77
+++#endif
++ move $sp,$fp
++
++ lw $19,0($fp)
++@@ -114,7 +118,11 @@ vacall_receiver:
++ beq $12,$0,.L60
++ andi $12,$19,0x4
++
+++#if __mips_isa_rev < 6
++ beql $12,$0,.L34
+++#else
+++ beq $12,$0,.L34
+++#endif
++ lw $18,36($fp)
++
++ lw $13,36($fp)
++@@ -128,7 +136,11 @@ vacall_receiver:
++ beq $13,$12,.L74
++ li $12,8
++
+++#if __mips_isa_rev < 6
++ bnel $13,$12,.L77
+++#else
+++ bne $13,$12,.L77
+++#endif
++ move $sp,$fp
++
++ lw $12,28($fp)
++@@ -243,7 +255,11 @@ vacall_receiver:
++ beq $18,$12,.L76
++ li $12,16
++
+++#if __mips_isa_rev < 6
++ bnel $18,$12,.L77
+++#else
+++ bne $18,$12,.L77
+++#endif
++ move $sp,$fp
++
++ lw $12,28($fp)
++@@ -258,7 +274,11 @@ vacall_receiver:
++
++ .L45:
++ sltu $12,$13,17
+++#if __mips_isa_rev < 6
++ beql $12,$0,.L49
+++#else
+++ beq $12,$0,.L49
+++#endif
++ ld $17,16($24)
++
++ sll $12,$13,3
++Index: ffcall-2.1/vacall/vacall-mipsn32el-macro.S
++===================================================================
++--- ffcall-2.1.orig/vacall/vacall-mipsn32el-macro.S
+++++ ffcall-2.1/vacall/vacall-mipsn32el-macro.S
++@@ -106,7 +106,11 @@ vacall_receiver:
++ beq $13,$12,.L64
++ li $12,15
++
+++#if __mips_isa_rev < 6
++ bnel $13,$12,.L77
+++#else
+++ bne $13,$12,.L77
+++#endif
++ move $sp,$fp
++
++ lw $19,0($fp)
++@@ -114,7 +118,11 @@ vacall_receiver:
++ beq $12,$0,.L60
++ andi $12,$19,0x4
++
+++#if __mips_isa_rev < 6
++ beql $12,$0,.L34
+++#else
+++ beq $12,$0,.L34
+++#endif
++ lw $18,36($fp)
++
++ lw $13,36($fp)
++@@ -128,7 +136,11 @@ vacall_receiver:
++ beq $13,$12,.L74
++ li $12,8
++
+++#if __mips_isa_rev < 6
++ bnel $13,$12,.L77
+++#else
+++ bne $13,$12,.L77
+++#endif
++ move $sp,$fp
++
++ lw $12,28($fp)
++@@ -244,7 +256,11 @@ vacall_receiver:
++ beq $18,$12,.L76
++ li $12,16
++
+++#if __mips_isa_rev < 6
++ bnel $18,$12,.L77
+++#else
+++ bne $18,$12,.L77
+++#endif
++ move $sp,$fp
++
++ lw $12,28($fp)
--- /dev/null
--- /dev/null
++mips-r6.patch
++mips-fpxx.patch
--- /dev/null
--- /dev/null
++#!/usr/bin/make -f
++
++include /usr/share/dpkg/default.mk
++
++export ACLOCAL = aclocal -I$(CURDIR)/m4 -I$(CURDIR)/gnulib-m4
++
++%:
++ dh $@ --no-parallel
--- /dev/null
--- /dev/null
++3.0 (quilt)
--- /dev/null
--- /dev/null
++-----BEGIN PGP PUBLIC KEY BLOCK-----
++
++mQINBFJQWp0BEADquWF30FIja/DgTROcki+lIhbtxhm7eagnA2+p+c3G6D4AwhWW
++1vOgfFNiR+MyFmF1oEanNyJJ1OpiH0EUNTVBH7TNH8XAx9lSuUOAoHEVzKfuKjow
++PgbbVMVKHHoUx6XzHM4CUj4E2apmgMdH62/brNtFvElGjXEUOFKrvI3ucVUKJWw0
++8lwMhZoybtvwsojROcitePmoaQRfwJfMqIl/t0LsRD0bqfajD7AczptdYJgmJ/04
++UDCTI51p1VKYkLqMuqnNq8nnrX11AqKf9K31XFtZk8XhqL2VsAM5Jw8zAFkXJ9Mx
++DxhIH/LWs8i3DnS2cjjcN7oEPsLa37bDZHu9S6vGq6HzIRtEVEhepDDcnTbZb45Q
++z5RWOHu3fsTZj+eHQerHxGtoaYuk44pxJB48dca77fAOPlQkvSQxhy6HKXVHfwmh
++KCc5NpDu4/hk9Vi8eqDvCPXvdBQMZZXHxRBJJbhT8o6k/TawepMnWSOI/Y2iZAwr
++Z3hX9bvcdY5+urqlFtjKG+KWkDkq5WcfRxsBlY78nfxkhlwq61zBemTscjZ1HVXW
++EZywklay1vKS+d3/F3elgBVr94ta0SHo7OPBG/gOxiAMbwiLaWE0Hg6Ycs8exT8t
++NTv/ZG5wbEWqBuzHo9mL9/j3tOQLNoVlYZ1SYpbhDVEkDo6uBXe10ngt4QARAQAB
++tDhCcnVubyBIYWlibGUgKE9wZW4gU291cmNlIERldmVsb3BtZW50KSA8YnJ1bm9A
++Y2xpc3Aub3JnPokCPgQTAQIAKAUCUlBanQIbAwUJC0c1AAYLCQgHAwIGFQgCCQoL
++BBYCAwECHgECF4AACgkQT0lKlC5GFsI3YBAAlCcuYgNDi6EmuoMBId2cXLX8uHoD
++BlB/T9c58EDZrzmiDu62zVtXTeK5ML8k74ZkzqNufM7XjinWcwhr/TMfL6l+imA3
++hGc5ZKKtACdLywJU2WJzVaFNN7249Sx+/c6DqhpDHVAPM0grdfdT+9AJPPcVj3lo
++p5dGIK8zRByEqI7FT2YhxbGuhqqW2ufKe85HdgRSK9Od8K9DMXjW4XY0xX9+Ru9M
++CMApIog2zruiTmVijack9jndcSBIuQRyrwsgLb3zoKsLWP0wS9czSdJD6uDT3nvd
++sIAJ+gQM507y5p8gBks71J3MkiXnV82MBQIil9xLbqui22bN2VcPnZaREqJ8LWZM
++2BTNm1NHt/epU2kxGyy4Vxc41xi52b5KqyOkUAiSRKvDb6pNorYaAgTeHc0w/nTd
++QJ2IKSvRyDwCNvj9H4S0HabAN+mh5EbgIKlVKcWPxlhMG6rWNVAHtWUjj+/RtC17
++xhHptyVt2/N3CooixOm1bQK2l5WxxdiAxjI4xOKCSh2goKhXS+Jy0QSYUllROxlh
++BpNfQ7TAIWQC81Y2jEyMpaCkgaXGFDK5fE9U5GPrKMbLCIIsOOeXU6h1AIwjthlr
++EaOj6zOMBTS1P35t+NqZlyVP7qEgFCJM4OqAWRVaqsmTQJwJeski/c81XWdsCZ8T
++eD3PYKd5uQ4CBBCIRgQQEQIABgUCUlBbTwAKCRDHGkxl8Fmx0d9/AJwNJOK2oZVq
++/LJoxrUmG6cMDSxbbQCbBw8Y7qUqQTvp7ItuTbs90pNSdfy5Ag0EUlBanQEQANJJ
++rOnwJYaX6jC/EgQ1LOuB5th5UkXFeGNMl+5kgsgcBJUPG7x3IpRUmSr1eW7D0/1E
++88UWB1IFJtpYEd5g7VDQIdY2Abb4fMRGBn5DI20ht0pD1O+ypIVIu9VRq1wWWRFm
++TfDLCPSPa1ahy/NCXYiXK/behxP6kJvVXhdt+XzEJ31rz040l5dFgxokWNdV7/gt
++hNcazSJrTVBF7uK4CHLcfISKJdM8Xq/CLuKf8Qm9V/DXpiKSswIu6SpQCkuxaDVz
++B8/50HvlCeGZHbxfEy8hCaOjoUPGkVEwM6XzU5cn4A/LbLBcTJX6cBV0RiqdJTZd
++yDDa9YeRX4e4Ks5/i47fGH9Im27ddVZPkQerYmok/Y11GNA/jpgijb/HckMa39Xk
++gWHfKjZf2XrTTnjDH4K8Xj+LaWSIohjcHZ5Vjqou40BAqOPniot+h9PFPFsAtYBs
++PJ2nq4yGKBci8+srWj7jAH8LCXXA6NwZmqEvW+xsCTKtr5RqGOSQaF8QH6Y3RE3X
++QBGR3JTQFYe9+EYcqk8YYg6Yh4iuNWDDtGeCpZ2B7xPEVik17oco4nEHXnyzXY9N
++4LKXS+TZzUCM9QNeQ3HYVkLQ2thSZlBLIfeFbiuvVuzsdkjmCZloYApYUlZqkCPJ
++K2YfOBAgnEKfG6RNrkauwQBfrki+LyCjhnLH/2AxABEBAAGJAiUEGAECAA8FAlJQ
++Wp0CGwwFCQtHNQAACgkQT0lKlC5GFsJeQhAAv9dRPOoGmHO6UVzjazkZxDSlsrnI
++XqU2Jz9KP4Etw5FFDhWakdBgSwYEpJWuGXcGEZqlSIHsNeVH1lS9udCQC/yGmvX5
++xYChJMiMvyROjZhVD7tfVykGJlChD0xLVvGy1MIWY5cR6L1ofFzv6AB1jgEmCwGa
++dQM/22/qJHuhHXO0hwFYKOYsLxNcM8kh4vdg6f/0VjAGSeb7Ih5a6PN/xAImSV/c
++VGOVUMBnCWFFadqZAZwjEWr7fCh2f606vT9Gvnikggdr0TRRdMOhVhaKAWx7RBQz
++hJ19PE8ekDOxOHpYpFSoEN5kVrmoNgIfsuKTXGLYMYXEu43HiwkajEYV01XIFNPb
++110x8akbZ7h8N7cd84YNd/iqOKiCDuNTlD6C+YHjUXYcJqWtWjp94dFQdM8+VV0c
++Iw6qZ7V7/WK+/13/I5K9JgnbKBrcnHtvU8w7sclfGO3AiDDG9vOC/2yTd3i85mPs
++/5+hhXvpfMmGt2G4B4hrclxgEsNP2OFDVxYJVWNhV1NrXfCDOxHWG06SDaNlh8vu
++3FfFRPJ4W0YIZSwIrnM5WBjdGgEb1kWqapJ8bIJImCim3NNAhfYD3CIQObORq4ZV
++1Fqf+rBhagh56auelseH3mt9vqDRFRsKHPYC0NakdjPzojRiUSuvJdkopUeeAJrQ
++fBVUDvSsJHDvpaM=
++=BuIp
++-----END PGP PUBLIC KEY BLOCK-----
--- /dev/null
--- /dev/null
++version=4
++opts=pgpsigurlmangle=s/$/.sig/ https://ftpmirror.gnu.org/gnu/libffcall/libffcall-(.*).tar.gz