ffcall (2.4-2.1) unstable; urgency=medium
authorBo YU <tsu.yubo@gmail.com>
Tue, 20 Jun 2023 22:07:35 +0000 (23:07 +0100)
committerBo YU <tsu.yubo@gmail.com>
Tue, 20 Jun 2023 22:07:35 +0000 (23:07 +0100)
  * Non-maintainer upload.
  * fix ftbfs on riscv64 and this is rdep of clisp which to bootstrap sbcl on
    riscv64. (Closes: #1038803)

[dgit import unpatched ffcall 2.4-2.1]

22 files changed:
1  2 
debian/changelog
debian/control
debian/copyright
debian/libavcall1.install
debian/libavcall1.symbols
debian/libcallback1.install
debian/libcallback1.symbols
debian/libffcall-dev.docs
debian/libffcall-dev.install
debian/libffcall1b.install
debian/libffcall1b.symbols
debian/libtrampoline1.install
debian/libtrampoline1.symbols
debian/not-installed
debian/patches/m4-dirs.patch
debian/patches/riscv64-pic.patch
debian/patches/series
debian/rules
debian/source/format
debian/upstream/metadata
debian/upstream/signing-key.asc
debian/watch

index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6db4f55d594062b8d9bceadbd7b4c5d9af17150a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,327 @@@
++ffcall (2.4-2.1) unstable; urgency=medium
++
++  * Non-maintainer upload.
++  * fix ftbfs on riscv64 and this is rdep of clisp which to bootstrap sbcl on
++    riscv64. (Closes: #1038803)
++
++ -- Bo YU <tsu.yubo@gmail.com>  Wed, 21 Jun 2023 06:07:35 +0800
++
++ffcall (2.4-2) unstable; urgency=medium
++
++  * d/copyright: fix short license name (FSFULLR instead of FSFUL)
++  * m4-dirs.patch: new patch, to tell Autoconf where to look for local macros.
++    As a consequence, no longer pass these directories as arguments to aclocal
++    in debian/rules. Libtool macros are thus properly updated by dh-autoreconf.
++    (Closes: #1011808)
++  * Bump S-V to 4.6.1
++  
++ -- Sébastien Villemot <sebastien@debian.org>  Wed, 08 Jun 2022 10:34:29 +0200
++
++ffcall (2.4-1) unstable; urgency=medium
++
++  * New upstream release
++  * Drop transitional package libffcall1-dev
++  * Fix d/upstream/signing-key.asc
++  * d/copyright: reflect upstream changes
++  * cross.patch: drop patch, applied upstream
++  * mips-r6.patch: drop patch, no longer applies. This patch should rather
++    be upstreamed, it’s not maintainable at the Debian level.
++  * lib{avcall1,ffcall1b}.symbols: add new symbols
++  * Bump to debhelper 13
++  * Bump S-V to 4.6.0
++  * Add d/upstream/metadata
++  * Move Homepage and Upstream-Contact fields to gnu.org
++
++ -- Sébastien Villemot <sebastien@debian.org>  Thu, 26 Aug 2021 19:05:36 +0200
++
++ffcall (2.2-1) unstable; urgency=medium
++
++  * New upstream release
++    + fixes hppa support (Closes: #457930, #883043)
++  * Drop mips-fpxx.patch, no longer needed
++  * mips-r6.patch: refresh patch, and incorporate fix for jaql instruction.
++    Thanks to Luyou Peng (Closes: #925129)
++  * cross.patch: new patch, fixes FTCBFS. Thanks to Helmut Grohne
++    (Closes: #909125)
++  * d/copyright: reflect upstream changes
++  * Add Build-Depends-Package field in symbols files
++  * Add Rules-Requires-Root: no
++  * Bump S-V to 4.4.0
++  * Bump to debhelper compat level 12
++  * Re-export upstream signing key without extra signatures.
++  * Set upstream metadata fields: Bug-Submit.
++
++ -- Sébastien Villemot <sebastien@debian.org>  Wed, 28 Aug 2019 21:39:51 +0200
++
++ffcall (2.1-2) unstable; urgency=medium
++
++  * mips-r6.patch: new patch by YunQiang Su, fixes build on MIPS r6.
++    (Closes: #893851)
++  * Set Maintainer to debian-common-lisp@l.d.o.
++
++ -- Sébastien Villemot <sebastien@debian.org>  Wed, 11 Apr 2018 19:47:18 +0200
++
++ffcall (2.1-1) unstable; urgency=medium
++
++  * New upstream release.
++  * Update Vcs-* fields for move to salsa.
++  * Drop fix-powerpcspe.patch, outdated, no longer works.
++  * Drop trampoline-mips64el.patch, applied upstream.
++  * No longer disable PIE on armhf, not needed anymore.
++  * Bump to debhelper compat level 11.
++  * Bump Standards-Version to 4.1.3.
++  * d/copyright: reflect upstream changes.
++
++ -- Sébastien Villemot <sebastien@debian.org>  Sat, 17 Feb 2018 21:30:10 +0100
++
++ffcall (2.0-2) unstable; urgency=medium
++
++  * Fix FTBFS on armhf by disabling PIE (for vacall test).
++  * trampoline-mips64el.patch: new patch, fixes FTBFS on mips64el.
++  * Fix symbols file on sparc64 (callback_get_receiver not present there).
++  * mips-fpxx.patch: regenerate avcall assembly files using -fno-tree-dce.
++    This fixes test failures on mips and mipsel.
++
++ -- Sébastien Villemot <sebastien@debian.org>  Sun, 26 Nov 2017 18:23:10 +0100
++
++ffcall (2.0-1) experimental; urgency=medium
++
++  * New upstream version 2.0
++  * Rewrite debian/copyright using machine-readable format 1.0.
++  * Move under Debian Common Lisp Team maintenance.
++    Thanks to Christoph Egger for his past work on this package.
++  * Verify PGP signature of upstream tarball.
++  * Drop Fix_MIPS_N32_test.patch, no longer needed.
++  * Bump to debhelper compat level 10.
++  * Make testsuite failures fatal at build time.
++  * Reorganize binary packages:
++    - libffcall1-dev renamed to libffcall-dev (with a transitional package)
++    - libffcall1a renamed to libffcall1b: now contains the new libffcall shared
++      library, which combines avcall and callback
++    - new libavcall1 and libcallback1 packages, for providing the separate
++      libraries, which are now deprecated
++    - new shared library package libtrampoline1
++  * Ship all docs under /usr/share/doc/libffcall-dev.
++  * Mark all binary packages as M-A same.
++  * Bump Standards-Version to 4.1.1.
++
++ -- Sébastien Villemot <sebastien@debian.org>  Thu, 09 Nov 2017 16:08:34 +0100
++
++ffcall (1.13-0.2) unstable; urgency=low
++
++  * Non-maintainer upload.
++  * Rename libffcall1 to libffcall1a because ABI was broken in 1.13-0.1.
++    (Closes: #874068)
++  * Update symbols file. This should fix FTBFS on hurd-i386, powerpcspe and
++    sparc64.
++
++ -- Sébastien Villemot <sebastien@debian.org>  Sat, 02 Sep 2017 23:43:43 +0200
++
++ffcall (1.13-0.1) unstable; urgency=low
++
++  * Non-maintainer upload.
++  * Thanks to Frédéric Bonnard for crafting a first version of this upload.
++    (Closes: #868021)
++  * New upstream version 1.13. (Closes: #806992)
++    + better ppc64el support (Closes: #871567)
++    + better arm64 support (Closes: #758379)
++    + fixes testsuite failure on any-amd64 (Closes: #451356)
++    + executable stack no longer needed (Closes: #445895)
++  * d/copyright: ffcall has been relicensed to GPL-2+
++  * Drop patches no longer needed:
++    + 0001-fix-callback-on-x86_64.patch
++    + ppc64el-elfv2.patch
++  * New mips-frpxx.patch, needed for compiling on mips and mipsel.
++  * Tell aclocal to look into gnulib-m4 (because it is now patched).
++    Also effectively run libtoolize. (Closes: #727848)
++  * No longer mark libffcall1-dev as Multi-Arch: same. (Closes: #824725)
++  * Fix URL in debian/watch.
++  * Fix Vcs-Browser URL.
++  * Drop obsolete README.source.
++
++ -- Sébastien Villemot <sebastien@debian.org>  Sat, 02 Sep 2017 16:42:44 +0200
++
++ffcall (1.10+cvs20100619-4) unstable; urgency=medium
++
++  [ Fernando Seiti Furusato ]
++  * Replaced .odp section, unexistent on ELFv2 by .localentry for the
++    entry point within *.s files, which fixes ftbfs on
++    ppc64el. Additionally made some other modifications for endianness
++    definition for ppc64 into header files (Closes: #768236).
++
++  [ Christoph Egger ]
++  * Import path by James Cowgill to fix MIPS n32 (Closes: #782590)
++  * use autoreconf dh addon including relibtoolizing
++  * Update VCS URLs
++  * Update compat version
++  * Implement compat 9 + multiarch
++
++ -- Christoph Egger <christoph@debian.org>  Wed, 18 May 2016 17:11:00 +0200
++
++ffcall (1.10+cvs20100619-3) unstable; urgency=medium
++
++  * Update config.* during build (Closes: #727848)
++  * Add patch by Roland Stigge to add support for powerpcspe (Closes:
++    #731647)
++  * Add patch by Andrey Kutejko to save needed register content (Closes:
++    #636849)
++
++ -- Christoph Egger <christoph@debian.org>  Tue, 24 Dec 2013 12:55:04 +0100
++
++ffcall (1.10+cvs20100619-2) unstable; urgency=low
++
++  * Ship to unstable
++
++ -- Christoph Egger <christoph@debian.org>  Sat, 26 Jun 2010 15:29:30 +0200
++
++ffcall (1.10+cvs20100619-1) experimental; urgency=low
++
++  * New Upstream  CVS snapshot  (LP: #274951) (Closes: #504515)
++    * Adding support for armel
++  * Upload to experimental for now
++
++ -- Christoph Egger <christoph@debian.org>  Sat, 19 Jun 2010 17:43:53 +0200
++
++ffcall (1.10+2.41-4) unstable; urgency=low
++
++  * Adopt package
++  * Import into git, set relevant headers
++  * set Homepage: field
++  * Update for Policy 3.8.4
++  * Jump to debhelper 7 (non-dh for now)
++  * Cleanup packaging
++
++ -- Christoph Egger <christoph@debian.org>  Fri, 11 Jun 2010 18:32:21 +0200
++
++ffcall (1.10+2.41-3) unstable; urgency=low
++
++  * Uhm.  It helps if I regenerate the configure scripts too.
++
++ -- Hubert Chan <uhoreg@debian.org>  Tue, 21 Nov 2006 15:09:04 -0500
++
++ffcall (1.10+2.41-2) unstable; urgency=low
++
++  * Patch ffcall/m4/general.m4 to support mipsel. (cross fingers)
++
++ -- Hubert Chan <uhoreg@debian.org>  Thu, 16 Nov 2006 17:37:32 -0500
++
++ffcall (1.10+2.41-1) unstable; urgency=low
++
++  * Update from clisp-2.41, fixing powerpc build failure.
++  * New maintainer.  (Thanks to doko for his work.)
++  * Bump standards version to 3.7.2. (no changes)
++  * Sync copyright info.
++
++ -- Hubert Chan <uhoreg@debian.org>  Mon, 13 Nov 2006 15:03:56 -0500
++
++ffcall (1.10-3) unstable; urgency=low
++
++  * Update libtool scripts to build on (GNU/k*BSD) (Petr Salinger).
++    Closes: #380118.
++
++ -- Matthias Klose <doko@debian.org>  Mon, 14 Aug 2006 01:34:55 +0200
++
++ffcall (1.10-2) unstable; urgency=low
++
++  * Add support for mipsel (Thiemo Seufer). Closes: #189992.
++
++ -- Matthias Klose <doko@debian.org>  Mon, 28 Mar 2005 14:57:56 +0200
++
++ffcall (1.10-1) unstable; urgency=low
++
++  * New upstream version.
++  * Apply patch from arm
++    (http://savannah.gnu.org/bugs/?func=detailitem&item_id=9468).
++
++ -- Matthias Klose <doko@debian.org>  Sat,  3 Jul 2004 06:27:52 +0200
++
++ffcall (1.9-1) unstable; urgency=low
++
++  * New upstream version (amd64 support added).
++
++ -- Matthias Klose <doko@debian.org>  Tue, 27 Jan 2004 07:58:04 +0100
++
++ffcall (1.8.20030831-1) unstable; urgency=low
++
++  * New maintainer (closes: #130293).
++  * New upstream version taken from the clisp-2003-08-31 snapshot.
++    - Builds on ia64 (closes: #110080).
++  * mips: Don't rely on obsolete header file (closes: #189991).
++
++ -- Matthias Klose <doko@debian.org>  Sun, 31 Aug 2003 21:04:43 +0200
++
++ffcall (1.8-5) unstable; urgency=low
++
++  * Patch to fix build scripts on newer Alphas.
++    Thanks to Christopher Chimes.  (Closes: #153959)
++  * Acknowledging NMUs below:
++    (Closes: #104638)
++    (Closes: #130213)
++    (Closes: #129141)
++    Thank you for the help.
++
++ -- Matthew Danish <mdanish@andrew.cmu.edu>  Fri,  9 Aug 2002 15:43:03 -0400
++
++ffcall (1.8-4.2) unstable; urgency=low
++
++  * NMU
++  * Fix hppa compile failures.  Closes: #104638
++  * Do a better job on detecting arm.  Closes: #130213.
++
++ -- LaMont Jones <lamont@debian.org>  Thu,  4 Apr 2002 22:14:46 -0700
++
++ffcall (1.8-4.1) unstable; urgency=low
++
++  * Non-maintainer upload
++  * s390 ffcall patches applied. (Closes: #129141)
++
++ -- Gerhard Tonn <gt@debian.org>  Mon, 21 Jan 2002 07:46:15 +0100
++
++ffcall (1.8-4) unstable; urgency=low
++
++  * Added .la files into -dev, added some man pages and docs
++
++ -- Matthew Danish <mdanish@andrew.cmu.edu>  Sat, 28 Apr 2001 19:32:27 -0400
++
++ffcall (1.8-3) unstable; urgency=low
++
++  * Updated Standards Version
++
++ -- Matthew Danish <mdanish@andrew.cmu.edu>  Tue, 24 Apr 2001 13:44:14 -0400
++
++ffcall (1.8-2) unstable; urgency=low
++
++  * Fixed some lintian warnings
++
++ -- Matthew Danish <mdanish@andrew.cmu.edu>  Mon, 26 Mar 2001 00:35:00 -0500
++
++ffcall (1.8-1) unstable; urgency=low
++
++  * Updated Standards-Version
++
++ -- Matthew Danish <mdanish@andrew.cmu.edu>  Sun, 25 Mar 2001 23:17:29 -0500
++
++ffcall (1.8-0) unstable; urgency=low
++
++  * NMU.
++  * New upstream release
++
++ -- Matthias Klose <doko@debian.org>  Sun, 25 Feb 2001 07:37:32 +0100
++
++ffcall (1.7-2) unstable; urgency=low
++
++  * Bugfixes in package
++
++ -- Matthew Danish <mdanish@andrew.cmu.edu>  Fri, 16 Feb 2001 20:02:41 -0500
++
++ffcall (1.7-1) unstable; urgency=low
++
++  * New upstream release
++
++ -- Matthew Danish <mdanish@andrew.cmu.edu>  Mon,  8 Jan 2001 15:53:12 -0500
++
++ffcall (1.6-1) unstable; urgency=low
++
++  * Initial Release.
++
++ -- Matthew Danish <mdanish@andrew.cmu.edu>  Sat,  6 Jan 2001 23:29:53 -0500
diff --cc debian/control
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..fbc5e7cc207e150a84f728fe18cd5685acbb2806
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,103 @@@
++Source: ffcall
++Section: libs
++Priority: optional
++Maintainer: Debian Common Lisp Team <debian-common-lisp@lists.debian.org>
++Uploaders: Sébastien Villemot <sebastien@debian.org>
++Build-Depends: debhelper-compat (= 13)
++Standards-Version: 4.6.1
++Vcs-Git: https://salsa.debian.org/common-lisp-team/ffcall.git
++Vcs-Browser: https://salsa.debian.org/common-lisp-team/ffcall
++Homepage: https://www.gnu.org/software/libffcall/
++Rules-Requires-Root: no
++
++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}
++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: 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.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..975b58d0ebb15b4854302186ef2ca4f5b2fdd694
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,176 @@@
++Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
++Upstream-Name: libffcall
++Upstream-Contact: libffcall@gnu.org
++Source: https://savannah.gnu.org/projects/libffcall/
++
++Files: *
++Copyright: 1993-1995 Bill Triggs <Bill.Triggs@inrialpes.fr>        (original avcall)
++           1995-2021 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)
++           1993-2020, 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-2021, Free Software Foundation, Inc.
++License: LGPL-2.1+
++
++Files: gnulib-lib/_Noreturn.h
++       gnulib-lib/arg-nonnull.h
++       gnulib-lib/c++defs.h
++       gnulib-lib/warn-on-use.h
++Copyright: 2009-2021, Free Software Foundation, Inc.
++License: LGPL-2+
++
++Files: gnulib-m4/*
++       m4/endianness.m4
++       m4/ltoptions.m4
++       m4/ltversion.m4
++       m4/libtool.m4
++       m4/ltsugar.m4
++       m4/lt~obsolete.m4
++       m4/mmap-anon.m4
++Copyright: 1992-2021, Free Software Foundation, Inc.
++License: FSFULLR
++ 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
++Copyright: 2002-2021, Free Software Foundation, Inc.
++License: GPL-3+ with Autoconf exception
++
++Files: gnulib-m4/std-gnu11.m4
++Copyright: 2001-2021, Free Software Foundation, Inc.
++License: GPL-3+
++
++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-2021 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 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 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'.
++
++License: LGPL-2+
++ This file is free software: you can redistribute it and/or modify
++ it under the terms of the GNU Library General Public License as
++ published by the Free Software Foundation; either version 2 of the
++ License, or (at your option) any later version.
++ .
++ This file 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 Library General Public License for more details.
++ .
++ You should have received a copy of the GNU Library General Public License
++ along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
++ .
++ On Debian systems, the complete text of the GNU Library General Public
++ License, version 2, can be found in the file
++ `/usr/share/common-licenses/LGPL-2'.
++
++License: LGPL-2.1+
++ This file is free software: you can redistribute it and/or modify
++ it under the terms of the GNU Lesser General Public License as
++ published by the Free Software Foundation; either version 2.1 of the
++ License, or (at your option) any later version.
++ .
++ This file 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 Lesser General Public License for more details.
++ .
++ You should have received a copy of the GNU Lesser General Public License
++ along with this program.  If not, see <https://www.gnu.org/licenses/>.  */
++ .
++ On Debian systems, the complete text of the GNU Lesser General Public
++ License, version 2.1, can be found in the file
++ `/usr/share/common-licenses/LGPL-2.1'.
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..6fae34f9ee95d7e76f001d85c4fbbd50e848c149
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/libavcall.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..cbfd23acb204edfad7a04fb60499e2d0a29e9e41
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,18 @@@
++libavcall.so.1 libavcall1 #MINVER#
++* Build-Depends-Package: libffcall-dev
++ __builtin_avcall@Base 2.0
++ avcall_arg_double@Base 2.0
++ avcall_arg_float@Base 2.0
++ avcall_arg_int@Base 2.4
++ 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_uint@Base 2.4
++ 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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..96117cdb7d54b5a6d38cddba71514b668a4dba52
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/libcallback.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..751efe4e860a3a47311aac253acac1a59a951d99
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,50 @@@
++libcallback.so.1 libcallback1 #MINVER#
++* Build-Depends-Package: libffcall-dev
++ 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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..5f74ca15722bd58b32e1bc4d51d758c3f30122a7
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,8 @@@
++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
++
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b03cc5f4b0069c9e6a2ff8466502b363b5e610cb
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,14 @@@
++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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b07ab5cb19f998b14d20f8f472fcd1d3a8b60c6b
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/libffcall.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c8691eeef4cc73a9d28b51798edb3b70330cd85f
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,65 @@@
++libffcall.so.0 libffcall1b #MINVER#
++* Build-Depends-Package: libffcall-dev
++ alloc_callback@Base 2.0
++ avcall_arg_double@Base 2.0
++ avcall_arg_float@Base 2.0
++ avcall_arg_int@Base 2.4
++ 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_uint@Base 2.4
++ 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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ca56810bc84e96a0e2cc4c1c0fcf442f3e5420d4
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/libtrampoline.so.*
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..19cefc5c6dfd9d37754d0a63dccd9b512deafd0c
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,8 @@@
++libtrampoline.so.1 libtrampoline1 #MINVER#
++* Build-Depends-Package: libffcall-dev
++ 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
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..f403946cba5723e1c048a3bf2f43007bc001c402
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++usr/lib/*/*.la
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..1cb718b3f342984c3c43c255a17160df4599b3ad
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,16 @@@
++Description: Tell autoconf where to look for additional macros
++Author: Sébastien Villemot <sebastien@debian.org>
++Forwarded: by email to Bruno Haible <bruno@clisp.org> on 2022-06-08
++Last-Update: 2022-06-08
++---
++This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
++--- a/configure.ac
+++++ b/configure.ac
++@@ -18,6 +18,7 @@ dnl
++ 
++ AC_INIT([GNU libffcall],m4_normalize(m4_esyscmd([cat VERSION])),[https://savannah.gnu.org/projects/libffcall],[libffcall])
++ AC_CONFIG_AUX_DIR([build-aux])
+++AC_CONFIG_MACRO_DIRS([m4 gnulib-m4])
++ AM_INIT_AUTOMAKE([])
++ 
++ AC_CONFIG_SRCDIR([trampoline/trampoline.h])
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..ca3bfc51c64433d5a1f3a1129626639631e1b477
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,429 @@@
++Description: fix riscv64 ftbfs due to pic 
++Origin: https://github.com/felixonmars/archriscv-packages/blob/master/ffcall/riscv64-pic.patch 
++---
++This patch header follows DEP-3: http://dep.debian.net/deps/dep3/
++--- a/vacall/Makefile.devel
+++++ b/vacall/Makefile.devel
++@@ -274,9 +274,11 @@
++ vacall-riscv64-lp64d-linux.s : vacall-riscv64.c vacall-internal.h vacall.h $(THISFILE)
++      $(CROSS_TOOL) riscv64-linux gcc-7.3.0 $(GCCFLAGS) -D__riscv64__ -S vacall-riscv64.c -o vacall-riscv64-lp64d-linux.s
++ 
++-vacall-riscv64-lp64d-macro.S : vacall-riscv64-lp64d-linux.s ../common/asm-riscv.sh ../common/noexecstack.h $(THISFILE)
++-     (../common/asm-riscv.sh < vacall-riscv64-lp64d-linux.s ; cat ../common/noexecstack.h) > vacall-riscv64-lp64d-macro.S
+++vacall-riscv64-lp64d-linux-pic.s : vacall-riscv64.c vacall-internal.h vacall.h $(THISFILE)
+++     $(CROSS_TOOL) riscv64-linux gcc-7.3.0 $(GCCFLAGS) -fPIC -D__riscv64__ -S vacall-riscv64.c -o vacall-riscv64-lp64d-linux-pic.s
++ 
+++vacall-riscv64-lp64d-macro.S : vacall-riscv64-lp64d-linux.s vacall-riscv64-lp64d-linux-pic.s ../common/asm-riscv.sh ../common/noexecstack.h $(THISFILE)
+++     (echo '#ifdef __PIC__' ; ../common/asm-riscv.sh < vacall-riscv64-lp64d-linux-pic.s ; echo '#else' ; ../common/asm-riscv.sh < vacall-riscv64-lp64d-linux.s ; echo '#endif' ; cat ../common/noexecstack.h) > vacall-riscv64-lp64d-macro.S
++ 
++ # --------------- Rules for debugging test failures ---------------
++ 
++--- a/vacall/Makefile.in
+++++ b/vacall/Makefile.in
++@@ -355,7 +355,7 @@
++   vacall-powerpc-linux.s vacall-powerpc-linux-macro.S vacall-powerpc-macos.s vacall-powerpc-sysv4-macro.S \
++   vacall-powerpc64.c vacall-powerpc64-aix.s vacall-powerpc64-linux.S vacall-powerpc64-elfv2-linux.S \
++   vacall-riscv32.c vacall-riscv32-ilp32d-linux.s vacall-riscv32-ilp32d-macro.S \
++-  vacall-riscv64.c vacall-riscv64-lp64d-linux.s vacall-riscv64-lp64d-macro.S \
+++  vacall-riscv64.c vacall-riscv64-lp64d-linux.s vacall-riscv64-lp64d-linux-pic.s vacall-riscv64-lp64d-macro.S \
++   vacall-s390.c vacall-s390-linux.s vacall-s390-macro.S \
++   vacall-s390x.c vacall-s390x-linux.s vacall-s390x-macro.S \
++   vacall-sparc.c vacall-sparc-linux.s vacall-sparc-linux-pic.s vacall-sparc-macro.S \
++--- /dev/null
+++++ b/vacall/vacall-riscv64-lp64d-linux-pic.s
++@@ -0,0 +1,190 @@
+++     .file   "vacall-riscv64.c"
+++     .option pic
+++     .text
+++     .align  1
+++     .globl  vacall_receiver
+++     .type   vacall_receiver, @function
+++vacall_receiver:
+++     add     sp,sp,-288
+++     sd      ra,264(sp)
+++     sd      s0,256(sp)
+++     sd      s1,248(sp)
+++     add     s0,sp,272
+++     la      t1,vacall_function
+++     ld      t1,0(t1)
+++     sd      a0,-200(s0)
+++     add     a0,s0,16
+++     sd      a7,8(s0)
+++     sd      a1,-192(s0)
+++     sd      a2,-184(s0)
+++     sd      a3,-176(s0)
+++     sd      a4,-168(s0)
+++     sd      a5,-160(s0)
+++     sd      a6,-152(s0)
+++     sd      a7,-144(s0)
+++     fsw     fa0,-132(s0)
+++     fsw     fa1,-128(s0)
+++     fsw     fa2,-124(s0)
+++     fsw     fa3,-120(s0)
+++     fsw     fa4,-116(s0)
+++     fsw     fa5,-112(s0)
+++     fsw     fa6,-108(s0)
+++     fsw     fa7,-104(s0)
+++     fsd     fa0,-96(s0)
+++     fsd     fa1,-88(s0)
+++     fsd     fa2,-80(s0)
+++     fsd     fa3,-72(s0)
+++     fsd     fa4,-64(s0)
+++     fsd     fa5,-56(s0)
+++     fsd     fa6,-48(s0)
+++     fsd     fa7,-40(s0)
+++     sd      a0,-240(s0)
+++     sw      zero,-264(s0)
+++     sd      zero,-232(s0)
+++     add     a0,s0,-264
+++     sw      zero,-224(s0)
+++     sw      zero,-208(s0)
+++     sw      zero,-136(s0)
+++     jalr    t1
+++     lw      t1,-224(s0)
+++     beqz    t1,.L1
+++     li      t3,1
+++     beq     t1,t3,.L25
+++     li      t3,2
+++     beq     t1,t3,.L29
+++     li      t3,3
+++     beq     t1,t3,.L25
+++     li      t3,4
+++     beq     t1,t3,.L30
+++     li      t3,5
+++     beq     t1,t3,.L31
+++     li      t3,6
+++     beq     t1,t3,.L32
+++     li      t3,7
+++     beq     t1,t3,.L33
+++     and     t3,t1,-3
+++     li      t4,8
+++     beq     t3,t4,.L27
+++     li      t4,9
+++     beq     t3,t4,.L27
+++     li      t3,12
+++     beq     t1,t3,.L34
+++     li      t3,13
+++     beq     t1,t3,.L35
+++     li      t3,14
+++     beq     t1,t3,.L27
+++     li      t3,15
+++     bne     t1,t3,.L1
+++     lw      t3,-264(s0)
+++     and     t3,t3,1024
+++     beqz    t3,.L1
+++     ld      t0,-216(s0)
+++     add     t3,t0,-1
+++     bgtu    t3,t1,.L1
+++     ld      t5,-232(s0)
+++     li      s1,8
+++     and     t6,t5,7
+++     add     t2,t0,t6
+++     and     t5,t5,-8
+++     sext.w  t6,t6
+++     sllw    t1,t2,3
+++     ld      t4,0(t5)
+++     sll     t3,t6,3
+++     bgtu    t0,s1,.L15
+++     bgtu    t2,s1,.L16
+++     addw    t1,t1,-1
+++     li      a0,2
+++     sll     a0,a0,t1
+++     add     a0,a0,-1
+++     and     a0,a0,t4
+++     sra     a0,a0,t3
+++.L1:
+++     ld      ra,264(sp)
+++     ld      s0,256(sp)
+++     ld      s1,248(sp)
+++     add     sp,sp,288
+++     jr      ra
+++.L25:
+++     lbu     a0,-256(s0)
+++     ld      ra,264(sp)
+++     ld      s0,256(sp)
+++     ld      s1,248(sp)
+++     add     sp,sp,288
+++     jr      ra
+++.L29:
+++     lb      a0,-256(s0)
+++     ld      ra,264(sp)
+++     ld      s0,256(sp)
+++     ld      s1,248(sp)
+++     add     sp,sp,288
+++     jr      ra
+++.L30:
+++     lh      a0,-256(s0)
+++     j       .L1
+++.L33:
+++     lwu     a0,-256(s0)
+++     j       .L1
+++.L31:
+++     lhu     a0,-256(s0)
+++     j       .L1
+++.L27:
+++     ld      a0,-256(s0)
+++     j       .L1
+++.L32:
+++     lw      a0,-256(s0)
+++     j       .L1
+++.L34:
+++     flw     fa0,-256(s0)
+++     j       .L1
+++.L35:
+++     fld     fa0,-256(s0)
+++     j       .L1
+++.L15:
+++     li      s1,16
+++     sra     t4,t4,t3
+++     ld      t0,8(t5)
+++     bleu    t2,s1,.L36
+++     li      a1,-8
+++     mulw    t6,a1,t6
+++     addw    t1,t1,-129
+++     ld      a0,16(t5)
+++     li      a1,2
+++     sll     a1,a1,t1
+++     add     a1,a1,-1
+++     and     a1,a1,a0
+++     sra     t3,t0,t3
+++     addw    t1,t6,64
+++     sll     a0,t0,t1
+++     sll     a1,a1,t1
+++     or      a0,a0,t4
+++     or      a1,a1,t3
+++     j       .L1
+++.L16:
+++     li      a0,-8
+++     mulw    t6,a0,t6
+++     addw    t1,t1,-65
+++     ld      t5,8(t5)
+++     li      a0,2
+++     sll     a0,a0,t1
+++     add     a0,a0,-1
+++     and     a0,a0,t5
+++     sra     t4,t4,t3
+++     sll     a0,a0,t6
+++     or      a0,a0,t4
+++     j       .L1
+++.L36:
+++     li      a1,-4
+++     mulw    t6,a1,t6
+++     addw    t1,t1,-65
+++     li      a0,2
+++     sll     a0,a0,t1
+++     add     a0,a0,-1
+++     and     a0,a0,t0
+++     sra     a1,a0,t3
+++     addw    t1,t6,32
+++     sll     a0,a0,t1
+++     sll     a0,a0,t1
+++     or      a0,a0,t4
+++     j       .L1
+++     .size   vacall_receiver, .-vacall_receiver
+++     .ident  "GCC: (GNU) 7.3.0"
++--- a/vacall/vacall-riscv64-lp64d-macro.S
+++++ b/vacall/vacall-riscv64-lp64d-macro.S
++@@ -1,3 +1,194 @@
+++#ifdef __PIC__
+++     .file   "vacall-riscv64.c"
+++     .option pic
+++     .text
+++     .align  1
+++     .globl  vacall_receiver
+++     .type   vacall_receiver, @function
+++vacall_receiver:
+++     add     sp,sp,-288
+++     sd      ra,264(sp)
+++     sd      s0,256(sp)
+++     sd      s1,248(sp)
+++     add     s0,sp,272
+++     la      t1,vacall_function
+++     ld      t1,0(t1)
+++     sd      a0,-200(s0)
+++     add     a0,s0,16
+++     sd      a7,8(s0)
+++     sd      a1,-192(s0)
+++     sd      a2,-184(s0)
+++     sd      a3,-176(s0)
+++     sd      a4,-168(s0)
+++     sd      a5,-160(s0)
+++     sd      a6,-152(s0)
+++     sd      a7,-144(s0)
+++     fsw     fa0,-132(s0)
+++     fsw     fa1,-128(s0)
+++     fsw     fa2,-124(s0)
+++     fsw     fa3,-120(s0)
+++     fsw     fa4,-116(s0)
+++     fsw     fa5,-112(s0)
+++     fsw     fa6,-108(s0)
+++     fsw     fa7,-104(s0)
+++     fsd     fa0,-96(s0)
+++     fsd     fa1,-88(s0)
+++     fsd     fa2,-80(s0)
+++     fsd     fa3,-72(s0)
+++     fsd     fa4,-64(s0)
+++     fsd     fa5,-56(s0)
+++     fsd     fa6,-48(s0)
+++     fsd     fa7,-40(s0)
+++     sd      a0,-240(s0)
+++     sw      zero,-264(s0)
+++     sd      zero,-232(s0)
+++     add     a0,s0,-264
+++     sw      zero,-224(s0)
+++     sw      zero,-208(s0)
+++     sw      zero,-136(s0)
+++     jalr    t1
+++     lw      t1,-224(s0)
+++     beqz    t1,.L1
+++     li      t3,1
+++     beq     t1,t3,.L25
+++     li      t3,2
+++     beq     t1,t3,.L29
+++     li      t3,3
+++     beq     t1,t3,.L25
+++     li      t3,4
+++     beq     t1,t3,.L30
+++     li      t3,5
+++     beq     t1,t3,.L31
+++     li      t3,6
+++     beq     t1,t3,.L32
+++     li      t3,7
+++     beq     t1,t3,.L33
+++     and     t3,t1,-3
+++     li      t4,8
+++     beq     t3,t4,.L27
+++     li      t4,9
+++     beq     t3,t4,.L27
+++     li      t3,12
+++     beq     t1,t3,.L34
+++     li      t3,13
+++     beq     t1,t3,.L35
+++     li      t3,14
+++     beq     t1,t3,.L27
+++     li      t3,15
+++     bne     t1,t3,.L1
+++     lw      t3,-264(s0)
+++     and     t3,t3,1024
+++     beqz    t3,.L1
+++     ld      t0,-216(s0)
+++     add     t3,t0,-1
+++     bgtu    t3,t1,.L1
+++     ld      t5,-232(s0)
+++     li      s1,8
+++     and     t6,t5,7
+++     add     t2,t0,t6
+++     and     t5,t5,-8
+++     sext.w  t6,t6
+++     sllw    t1,t2,3
+++     ld      t4,0(t5)
+++     sll     t3,t6,3
+++     bgtu    t0,s1,.L15
+++     bgtu    t2,s1,.L16
+++     addw    t1,t1,-1
+++     li      a0,2
+++     sll     a0,a0,t1
+++     add     a0,a0,-1
+++     and     a0,a0,t4
+++     sra     a0,a0,t3
+++.L1:
+++     ld      ra,264(sp)
+++     ld      s0,256(sp)
+++     ld      s1,248(sp)
+++     add     sp,sp,288
+++     jr      ra
+++.L25:
+++     lbu     a0,-256(s0)
+++     ld      ra,264(sp)
+++     ld      s0,256(sp)
+++     ld      s1,248(sp)
+++     add     sp,sp,288
+++     jr      ra
+++.L29:
+++     lb      a0,-256(s0)
+++     ld      ra,264(sp)
+++     ld      s0,256(sp)
+++     ld      s1,248(sp)
+++     add     sp,sp,288
+++     jr      ra
+++.L30:
+++     lh      a0,-256(s0)
+++     j       .L1
+++.L33:
+++     lwu     a0,-256(s0)
+++     j       .L1
+++.L31:
+++     lhu     a0,-256(s0)
+++     j       .L1
+++.L27:
+++     ld      a0,-256(s0)
+++     j       .L1
+++.L32:
+++     lw      a0,-256(s0)
+++     j       .L1
+++.L34:
+++     flw     fa0,-256(s0)
+++     j       .L1
+++.L35:
+++     fld     fa0,-256(s0)
+++     j       .L1
+++.L15:
+++     li      s1,16
+++     sra     t4,t4,t3
+++     ld      t0,8(t5)
+++     bleu    t2,s1,.L36
+++     li      a1,-8
+++     mulw    t6,a1,t6
+++     addw    t1,t1,-129
+++     ld      a0,16(t5)
+++     li      a1,2
+++     sll     a1,a1,t1
+++     add     a1,a1,-1
+++     and     a1,a1,a0
+++     sra     t3,t0,t3
+++     addw    t1,t6,64
+++     sll     a0,t0,t1
+++     sll     a1,a1,t1
+++     or      a0,a0,t4
+++     or      a1,a1,t3
+++     j       .L1
+++.L16:
+++     li      a0,-8
+++     mulw    t6,a0,t6
+++     addw    t1,t1,-65
+++     ld      t5,8(t5)
+++     li      a0,2
+++     sll     a0,a0,t1
+++     add     a0,a0,-1
+++     and     a0,a0,t5
+++     sra     t4,t4,t3
+++     sll     a0,a0,t6
+++     or      a0,a0,t4
+++     j       .L1
+++.L36:
+++     li      a1,-4
+++     mulw    t6,a1,t6
+++     addw    t1,t1,-65
+++     li      a0,2
+++     sll     a0,a0,t1
+++     add     a0,a0,-1
+++     and     a0,a0,t0
+++     sra     a1,a0,t3
+++     addw    t1,t6,32
+++     sll     a0,a0,t1
+++     sll     a0,a0,t1
+++     or      a0,a0,t4
+++     j       .L1
+++     .size   vacall_receiver, .-vacall_receiver
+++#else
++      .file   "vacall-riscv64.c"
++      .option nopic
++      .text
++@@ -187,6 +378,7 @@
++      or      a0,a0,t4
++      j       .L1
++      .size   vacall_receiver, .-vacall_receiver
+++#endif
++ #if defined __linux__ || defined __FreeBSD__ || defined __FreeBSD_kernel__ || defined __DragonFly__
++      .section .note.GNU-stack,"",@progbits
++ #endif
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..49facc3727134ded07665ab49309cd9941f2d0f5
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++m4-dirs.patch
++riscv64-pic.patch
diff --cc debian/rules
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..c68550672438c54cbe44d765e198d2e7870db8b0
new file mode 100755 (executable)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,6 @@@
++#!/usr/bin/make -f
++
++include /usr/share/dpkg/default.mk
++
++%:
++      dh $@ --no-parallel
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..163aaf8d82b6c54f23c45f32895dbdfdcc27b047
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,1 @@@
++3.0 (quilt)
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..7561ea90a0695e9d9a1a33e747dd492cd58ed15a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,5 @@@
++Bug-Submit: https://savannah.gnu.org/bugs/?group=libffcall&func=additem
++Bug-Database: https://savannah.gnu.org/bugs/?group=libffcall
++Repository-Browse: https://git.savannah.gnu.org/gitweb/?p=libffcall.git
++Repository: https://git.savannah.gnu.org/git/libffcall.git
++Changelog: https://git.savannah.gnu.org/gitweb/?p=libffcall.git;a=blob;f=NEWS
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..4f1ec443453a899ae9a5141a740ff360d2c4942a
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,51 @@@
++-----BEGIN PGP PUBLIC KEY BLOCK-----
++
++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
++=59f8
++-----END PGP PUBLIC KEY BLOCK-----
diff --cc debian/watch
index 0000000000000000000000000000000000000000,0000000000000000000000000000000000000000..b179ee25a9c481acf75564659edf2ed11d4be840
new file mode 100644 (file)
--- /dev/null
--- /dev/null
@@@ -1,0 -1,0 +1,2 @@@
++version=4
++opts=pgpsigurlmangle=s/$/.sig/ https://ftpmirror.gnu.org/gnu/libffcall/libffcall-(.*).tar.gz