--- /dev/null
+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
+Source: ffcall
+Section: libs
+Priority: optional
+Maintainer: Debian Common Lisp Team <pkg-common-lisp-devel@lists.alioth.debian.org>
+Uploaders: Sébastien Villemot <sebastien@debian.org>
+Build-Depends: debhelper (>= 10)
+Standards-Version: 4.1.1
+Vcs-Git: https://anonscm.debian.org/git/pkg-common-lisp/ffcall.git
+Vcs-Browser: https://anonscm.debian.org/cgit/pkg-common-lisp/ffcall.git
+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
+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-2017 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-2017, 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-2017, 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 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
+usr/lib/*/libavcall.so.*
--- /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
+usr/lib/*/libcallback.so.*
--- /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
+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
+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
+usr/lib/*/libffcall.so.*
--- /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
+usr/lib/*/libtrampoline.so.*
--- /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
+Description: Fix compilation on powerpcspe
+Author: Roland Stigge <stigge@antcom.de>
+Bug-Debian: https://bugs.debian.org/731647
+Reviewed-By: Christoph Egger <christoph@debian.org>
+Forwarded: no
+Last-Update: 2017-11-26
+--- a/avcall/Makefile.in
++++ b/avcall/Makefile.in
+@@ -162,6 +162,7 @@ avcall-powerpc.lo : avcall-powerpc.s
+ avcall-powerpc.s : $(srcdir)/avcall-powerpc-aix.s $(srcdir)/avcall-powerpc-linux-macro.S $(srcdir)/avcall-powerpc-macos.s $(srcdir)/avcall-powerpc-sysv4-macro.S
+ case "$(OS)" in \
+ aix*) syntax=aix;; \
++ linux-gnuspe) syntax=linux-gnuspe;; \
+ linux* | netbsd* | openbsd*) syntax=linux;; \
+ macos* | darwin*) syntax=macos;; \
+ *) syntax=sysv4;; \
+--- /dev/null
++++ b/avcall/avcall-powerpc-linux-gnuspe.s
+@@ -0,0 +1,241 @@
++ .file "avcall-powerpc.c"
++gcc2_compiled.:
++ .section ".text"
++ .align 2
++ .globl __builtin_avcall
++ .type __builtin_avcall,@function
++__builtin_avcall:
++ stwu 1,-1040(1)
++ mflr 0
++ stw 31,1036(1)
++ stw 0,1044(1)
++ mr 31,3
++ addi 7,1,8
++ lwz 9,20(31)
++ addi 11,9,-40
++ subf 11,31,11
++ srawi 11,11,2
++ lwz 9,1064(31)
++ addi 10,9,-1072
++ subf 10,31,10
++ srawi 10,10,3
++ subfic 3,10,8
++ cmpw 0,3,11
++ bc 4,0,.L4
++ addi 8,31,40
++.L6:
++ add 9,10,3
++ slwi 9,9,2
++ add 9,9,7
++ slwi 0,3,2
++ lwzx 0,8,0
++ stw 0,-32(9)
++ addi 3,3,1
++ cmpw 0,3,11
++ bc 12,0,.L6
++.L4:
++ lwz 9,1064(31)
++ addi 11,9,-1072
++ subf 11,31,11
++ srawi. 11,11,3
++ bc 12,2,.L9
++ cmpwi 0,11,1
++ bc 12,2,.L12
++ cmpwi 0,11,2
++ bc 12,2,.L15
++ cmpwi 0,11,3
++ bc 12,2,.L18
++ cmpwi 0,11,4
++ bc 12,2,.L21
++ cmpwi 0,11,5
++ bc 12,2,.L24
++ cmpwi 0,11,6
++ bc 12,2,.L27
++ cmpwi 0,11,7
++ bc 12,2,.L30
++ cmpwi 0,11,8
++ bc 12,2,.L33
++ cmpwi 0,11,9
++ bc 12,2,.L36
++ cmpwi 0,11,10
++ bc 12,2,.L39
++ cmpwi 0,11,11
++ bc 12,2,.L42
++ cmpwi 0,11,12
++ bc 12,2,.L45
++.L45:
++.L42:
++.L39:
++.L36:
++.L33:
++.L30:
++.L27:
++.L24:
++.L21:
++.L18:
++.L15:
++.L12:
++.L9:
++ lwz 11,0(31)
++ lwz 3,40(31)
++ lwz 4,44(31)
++ lwz 5,48(31)
++ lwz 6,52(31)
++ lwz 7,56(31)
++ lwz 8,60(31)
++ lwz 9,64(31)
++ lwz 10,68(31)
++ mtlr 11
++ crxor 6,6,6
++ blrl
++ lwz 0,12(31)
++ cmpwi 0,0,1
++ bc 12,2,.L50
++ cmpwi 0,0,0
++ bc 12,2,.L102
++ lwz 0,12(31)
++ cmpwi 0,0,2
++ bc 12,2,.L103
++ lwz 0,12(31)
++ cmpwi 0,0,3
++ bc 12,2,.L103
++ lwz 0,12(31)
++ cmpwi 0,0,4
++ bc 12,2,.L103
++ lwz 0,12(31)
++ cmpwi 0,0,5
++ bc 12,2,.L104
++ lwz 0,12(31)
++ cmpwi 0,0,6
++ bc 12,2,.L104
++ lwz 0,12(31)
++ cmpwi 0,0,7
++ bc 12,2,.L102
++ lwz 0,12(31)
++ cmpwi 0,0,8
++ bc 12,2,.L102
++ lwz 0,12(31)
++ cmpwi 0,0,9
++ bc 12,2,.L102
++ lwz 0,12(31)
++ cmpwi 0,0,10
++ bc 12,2,.L102
++ lwz 9,12(31)
++ addi 9,9,-11
++ cmplwi 0,9,1
++ bc 4,1,.L105
++ lwz 0,12(31)
++ cmpwi 0,0,13
++ bc 4,2,.L73
++ lwz 9,8(31)
++ b .L50
++.L73:
++ lwz 0,12(31)
++ cmpwi 0,0,14
++ bc 4,2,.L75
++ lwz 9,8(31)
++ b .L50
++.L75:
++ lwz 0,12(31)
++ cmpwi 0,0,15
++ bc 12,2,.L102
++ lwz 0,12(31)
++ cmpwi 0,0,16
++ bc 4,2,.L50
++ lwz 0,4(31)
++ andi. 9,0,1
++ bc 12,2,.L80
++ lwz 0,16(31)
++ cmpwi 0,0,1
++ bc 4,2,.L81
++ lwz 9,8(31)
++ lbz 0,0(3)
++ stb 0,0(9)
++ b .L50
++.L81:
++ lwz 0,16(31)
++ cmpwi 0,0,2
++ bc 4,2,.L83
++ lwz 9,8(31)
++ lhz 0,0(3)
++ sth 0,0(9)
++ b .L50
++.L83:
++ lwz 0,16(31)
++ cmpwi 0,0,4
++ bc 4,2,.L85
++ lwz 9,8(31)
++ lwz 0,0(3)
++ stw 0,0(9)
++ b .L50
++.L85:
++ lwz 0,16(31)
++ cmpwi 0,0,8
++ bc 4,2,.L87
++ lwz 9,8(31)
++ lwz 0,0(3)
++ stw 0,0(9)
++ lwz 9,8(31)
++ lwz 0,4(3)
++ stw 0,4(9)
++ b .L50
++.L87:
++ lwz 9,16(31)
++ addi 10,9,3
++ srwi 10,10,2
++ addic. 10,10,-1
++ bc 12,0,.L50
++.L91:
++ lwz 11,8(31)
++ slwi 9,10,2
++ lwzx 0,9,3
++ stwx 0,9,11
++ addic. 10,10,-1
++ bc 4,0,.L91
++ b .L50
++.L80:
++ lwz 0,4(31)
++ andi. 9,0,512
++ bc 12,2,.L50
++ lwz 0,16(31)
++ cmpwi 0,0,1
++ bc 4,2,.L95
++.L103:
++ lwz 9,8(31)
++ stb 3,0(9)
++ b .L50
++.L95:
++ lwz 0,16(31)
++ cmpwi 0,0,2
++ bc 4,2,.L97
++.L104:
++ lwz 9,8(31)
++ sth 3,0(9)
++ b .L50
++.L97:
++ lwz 0,16(31)
++ cmpwi 0,0,4
++ bc 4,2,.L99
++.L102:
++ lwz 9,8(31)
++ stw 3,0(9)
++ b .L50
++.L99:
++ lwz 0,16(31)
++ cmpwi 0,0,8
++ bc 4,2,.L50
++.L105:
++ lwz 9,8(31)
++ stw 3,0(9)
++ lwz 9,8(31)
++ stw 4,4(9)
++.L50:
++ li 3,0
++ lwz 0,1044(1)
++ mtlr 0
++ lwz 31,1036(1)
++ la 1,1040(1)
++ blr
++.Lfe1:
++ .size __builtin_avcall,.Lfe1-__builtin_avcall
++ .ident "GCC: (GNU) 2.95.2 19991024 (release/franzo)"
+--- /dev/null
++++ b/vacall/vacall-powerpc-linux-gnuspe.s
+@@ -0,0 +1,149 @@
++ .file "vacall-powerpc.c"
++gcc2_compiled.:
++ .section ".text"
++ .align 2
++ .globl __vacall
++ .type __vacall,@function
++__vacall:
++ stwu 1,-208(1)
++ mflr 0
++ stw 0,212(1)
++ stw 3,152(1)
++ stw 4,156(1)
++ stw 5,160(1)
++ stw 6,164(1)
++ stw 7,168(1)
++ stw 8,172(1)
++ stw 9,176(1)
++ stw 10,180(1)
++ li 9,0
++ stw 9,8(1)
++ addi 0,1,152
++ stw 0,12(1)
++ addi 0,1,216
++ stw 0,184(1)
++ stw 9,188(1)
++ stw 9,16(1)
++ stw 9,20(1)
++ addi 0,1,48
++ stw 0,40(1)
++ lis 9,vacall_function@ha
++ lwz 0,vacall_function@l(9)
++ addi 3,1,8
++ mtlr 0
++ blrl
++ lwz 0,20(1)
++ cmpwi 0,0,0
++ bc 12,2,.L4
++ cmpwi 0,0,1
++ bc 12,2,.L42
++ lwz 0,20(1)
++ cmpwi 0,0,2
++ bc 4,2,.L7
++ lbz 0,32(1)
++ extsb 3,0
++ b .L4
++.L7:
++ lwz 0,20(1)
++ cmpwi 0,0,3
++ bc 4,2,.L9
++.L42:
++ lbz 3,32(1)
++ b .L4
++.L9:
++ lwz 0,20(1)
++ cmpwi 0,0,4
++ bc 4,2,.L11
++ lha 3,32(1)
++ b .L4
++.L11:
++ lwz 0,20(1)
++ cmpwi 0,0,5
++ bc 4,2,.L13
++ lhz 3,32(1)
++ b .L4
++.L13:
++ lwz 0,20(1)
++ cmpwi 0,0,6
++ bc 12,2,.L43
++ lwz 0,20(1)
++ cmpwi 0,0,7
++ bc 12,2,.L43
++ lwz 0,20(1)
++ cmpwi 0,0,8
++ bc 12,2,.L43
++ lwz 0,20(1)
++ cmpwi 0,0,9
++ bc 12,2,.L43
++ lwz 9,20(1)
++ addi 9,9,-10
++ cmplwi 0,9,1
++ bc 12,1,.L23
++ lwz 3,32(1)
++ lwz 4,36(1)
++ b .L4
++.L23:
++ lwz 0,20(1)
++ cmpwi 0,0,12
++ bc 4,2,.L25
++ b .L4
++.L25:
++ lwz 0,20(1)
++ cmpwi 0,0,13
++ bc 4,2,.L27
++ b .L4
++.L27:
++ lwz 0,20(1)
++ cmpwi 0,0,14
++ bc 4,2,.L29
++.L43:
++ lwz 3,32(1)
++ b .L4
++.L29:
++ lwz 0,20(1)
++ cmpwi 0,0,15
++ bc 4,2,.L4
++ lwz 0,8(1)
++ andi. 9,0,1
++ bc 12,2,.L32
++ lwz 3,16(1)
++ b .L4
++.L32:
++ lwz 0,8(1)
++ andi. 9,0,1024
++ bc 12,2,.L4
++ lwz 0,24(1)
++ cmpwi 0,0,1
++ bc 4,2,.L35
++ lwz 9,16(1)
++ lbz 3,0(9)
++ b .L4
++.L35:
++ lwz 0,24(1)
++ cmpwi 0,0,2
++ bc 4,2,.L37
++ lwz 9,16(1)
++ lhz 3,0(9)
++ b .L4
++.L37:
++ lwz 0,24(1)
++ cmpwi 0,0,4
++ bc 4,2,.L39
++ lwz 9,16(1)
++ lwz 3,0(9)
++ b .L4
++.L39:
++ lwz 0,24(1)
++ cmpwi 0,0,8
++ bc 4,2,.L4
++ lwz 9,16(1)
++ lwz 3,0(9)
++ lwz 4,4(9)
++.L4:
++ lwz 0,212(1)
++ mtlr 0
++ la 1,208(1)
++ blr
++.Lfe1:
++ .size __vacall,.Lfe1-__vacall
++ .ident "GCC: (GNU) 2.95.2 19991024 (release/franzo)"
+--- a/vacall/Makefile.in
++++ b/vacall/Makefile.in
+@@ -146,6 +146,7 @@ vacall-powerpc.@OBJEXT@ : vacall-powerpc
+ vacall-powerpc.s : $(srcdir)/vacall-powerpc-aix.s $(srcdir)/vacall-powerpc-linux-macro.S $(srcdir)/vacall-powerpc-macos.s $(srcdir)/vacall-powerpc-sysv4-macro.S
+ case "$(OS)" in \
+ aix*) syntax=aix;; \
++ linux-gnuspe) syntax=linux-gnuspe;; \
+ linux* | netbsd* | openbsd*) syntax=linux;; \
+ macos* | darwin*) syntax=macos;; \
+ *) syntax=sysv4;; \
+--- /dev/null
++++ b/callback/vacall_r/vacall-powerpc-linux-gnuspe.s
+@@ -0,0 +1,149 @@
++ .file "vacall-powerpc.c"
++gcc2_compiled.:
++ .section ".text"
++ .align 2
++ .globl __vacall_r
++ .type __vacall_r,@function
++__vacall_r:
++ stwu 1,-208(1)
++ mflr 0
++ stw 0,212(1)
++ stw 3,152(1)
++ stw 4,156(1)
++ stw 5,160(1)
++ stw 6,164(1)
++ stw 7,168(1)
++ stw 8,172(1)
++ stw 9,176(1)
++ stw 10,180(1)
++ li 9,0
++ stw 9,8(1)
++ addi 0,1,152
++ stw 0,12(1)
++ addi 0,1,216
++ stw 0,184(1)
++ stw 9,188(1)
++ stw 9,16(1)
++ stw 9,20(1)
++ addi 0,1,48
++ stw 0,40(1)
++ lwz 9,0(11)
++ lwz 3,4(11)
++ addi 4,1,8
++ mtlr 9
++ blrl
++ lwz 0,20(1)
++ cmpwi 0,0,0
++ bc 12,2,.L4
++ cmpwi 0,0,1
++ bc 12,2,.L42
++ lwz 0,20(1)
++ cmpwi 0,0,2
++ bc 4,2,.L7
++ lbz 0,32(1)
++ extsb 3,0
++ b .L4
++.L7:
++ lwz 0,20(1)
++ cmpwi 0,0,3
++ bc 4,2,.L9
++.L42:
++ lbz 3,32(1)
++ b .L4
++.L9:
++ lwz 0,20(1)
++ cmpwi 0,0,4
++ bc 4,2,.L11
++ lha 3,32(1)
++ b .L4
++.L11:
++ lwz 0,20(1)
++ cmpwi 0,0,5
++ bc 4,2,.L13
++ lhz 3,32(1)
++ b .L4
++.L13:
++ lwz 0,20(1)
++ cmpwi 0,0,6
++ bc 12,2,.L43
++ lwz 0,20(1)
++ cmpwi 0,0,7
++ bc 12,2,.L43
++ lwz 0,20(1)
++ cmpwi 0,0,8
++ bc 12,2,.L43
++ lwz 0,20(1)
++ cmpwi 0,0,9
++ bc 12,2,.L43
++ lwz 9,20(1)
++ addi 9,9,-10
++ cmplwi 0,9,1
++ bc 12,1,.L23
++ lwz 3,32(1)
++ lwz 4,36(1)
++ b .L4
++.L23:
++ lwz 0,20(1)
++ cmpwi 0,0,12
++ bc 4,2,.L25
++ b .L4
++.L25:
++ lwz 0,20(1)
++ cmpwi 0,0,13
++ bc 4,2,.L27
++ b .L4
++.L27:
++ lwz 0,20(1)
++ cmpwi 0,0,14
++ bc 4,2,.L29
++.L43:
++ lwz 3,32(1)
++ b .L4
++.L29:
++ lwz 0,20(1)
++ cmpwi 0,0,15
++ bc 4,2,.L4
++ lwz 0,8(1)
++ andi. 9,0,1
++ bc 12,2,.L32
++ lwz 3,16(1)
++ b .L4
++.L32:
++ lwz 0,8(1)
++ andi. 9,0,1024
++ bc 12,2,.L4
++ lwz 0,24(1)
++ cmpwi 0,0,1
++ bc 4,2,.L35
++ lwz 9,16(1)
++ lbz 3,0(9)
++ b .L4
++.L35:
++ lwz 0,24(1)
++ cmpwi 0,0,2
++ bc 4,2,.L37
++ lwz 9,16(1)
++ lhz 3,0(9)
++ b .L4
++.L37:
++ lwz 0,24(1)
++ cmpwi 0,0,4
++ bc 4,2,.L39
++ lwz 9,16(1)
++ lwz 3,0(9)
++ b .L4
++.L39:
++ lwz 0,24(1)
++ cmpwi 0,0,8
++ bc 4,2,.L4
++ lwz 9,16(1)
++ lwz 3,0(9)
++ lwz 4,4(9)
++.L4:
++ lwz 0,212(1)
++ mtlr 0
++ la 1,208(1)
++ blr
++.Lfe1:
++ .size __vacall_r,.Lfe1-__vacall_r
++ .ident "GCC: (GNU) 2.95.2 19991024 (release/franzo)"
+--- a/callback/vacall_r/Makefile.in
++++ b/callback/vacall_r/Makefile.in
+@@ -150,6 +150,7 @@ vacall-powerpc.lo : vacall-powerpc.s
+ vacall-powerpc.s : $(srcdir)/vacall-powerpc-aix.s $(srcdir)/vacall-powerpc-linux-macro.S $(srcdir)/vacall-powerpc-macos.s $(srcdir)/vacall-powerpc-sysv4-macro.S
+ case "$(OS)" in \
+ aix*) syntax=aix;; \
++ linux-gnuspe) syntax=linux-gnuspe;; \
+ linux* | netbsd* | openbsd*) syntax=linux;; \
+ macos* | darwin*) syntax=macos;; \
+ *) syntax=sysv4;; \
--- /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
+fix-powerpcspe.patch
+mips-fpxx.patch
+trampoline-mips64el.patch
--- /dev/null
+Description: Fix endianness issue in trampoline on mips64el
+ Even though the assembly instructions seem to commute 2 by 2, it is necessary
+ for the NOP to come *after* the jump (J), because of the “branch-delay slot”.
+ .
+ For background, see:
+ https://stackoverflow.com/questions/3807480/weird-mips-assembler-behavior-with-jump-and-link-instruction
+Author: Sébastien Villemot <sebastien@debian.org>
+Bug: https://savannah.gnu.org/bugs/index.php?52502
+Applied-Upstream: http://git.savannah.gnu.org/gitweb/?p=libffcall.git;a=commitdiff;h=7bb35bc0149b1034f4b6ff5bb6df440024e4c77e
+ http://git.savannah.gnu.org/gitweb/?p=libffcall.git;a=commitdiff;h=0363b6fda4de25be575c0e7a090f8fa8032ee54d
+Last-Update: 2017-11-26
+---
+This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
+--- a/trampoline/trampoline.c
++++ b/trampoline/trampoline.c
+@@ -760,17 +760,30 @@ trampoline_function_t alloc_trampoline (
+ * .dword <data> <data>
+ * .dword <address> <address>
+ */
++#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
+ *(long *) (function + 0) = 0xDF220018DF230020L;
+ *(long *) (function + 8) = 0xFC430000DF390028L;
+ *(long *) (function +16) = 0x0320000800000000L;
++#else
++ *(long *) (function + 0) = 0xDF230020DF220018L;
++ *(long *) (function + 8) = 0xDF390028FC430000L;
++ *(long *) (function +16) = 0x0000000003200008L;
++#endif
+ *(unsigned long *) (function +24) = (unsigned long) variable;
+ *(unsigned long *) (function +32) = (unsigned long) data;
+ *(unsigned long *) (function +40) = (unsigned long) address;
+ #define TRAMP_CODE_LENGTH 24
+-#define is_tramp(function) \
++#if __BYTE_ORDER__ == __ORDER_BIG_ENDIAN__
++# define is_tramp(function) \
+ *(long *) (function + 0) == 0xDF220018DF230020L && \
+ *(long *) (function + 8) == 0xFC430000DF390028L && \
+ *(long *) (function +16) == 0x0320000800000000L
++#else
++# define is_tramp(function) \
++ *(long *) (function + 0) == 0xDF230020DF220018L && \
++ *(long *) (function + 8) == 0xDF390028FC430000L && \
++ *(long *) (function +16) == 0x0000000003200008L
++#endif
+ #define tramp_address(function) \
+ *(unsigned long *) (function +40)
+ #define tramp_variable(function) \
--- /dev/null
+#!/usr/bin/make -f
+
+include /usr/share/dpkg/default.mk
+
+# Disable PIE on armhf, it triggers an FTBFS in the compilation of the vacall test
+ifeq (armhf,$(DEB_HOST_ARCH))
+export DEB_BUILD_MAINT_OPTIONS=hardening=-pie
+endif
+
+export ACLOCAL = aclocal -I$(CURDIR)/m4 -I$(CURDIR)/gnulib-m4
+
+%:
+ dh $@ --no-parallel
--- /dev/null
+3.0 (quilt)
--- /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
+version=4
+opts=pgpsigurlmangle=s/$/.sig/ https://ftpmirror.gnu.org/gnu/libffcall/libffcall-(.*).tar.gz