commit:     c17e261acb9f9146affccf3b829088b0ff4c50ec
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Wed Feb  4 17:15:52 2026 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Wed Feb  4 17:53:53 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c17e261a

dev-libs/ffcall: drop 2.4, 2.4-r1, 2.4-r2

Signed-off-by: Sam James <sam <AT> gentoo.org>

 dev-libs/ffcall/Manifest                           |   1 -
 dev-libs/ffcall/ffcall-2.4-r1.ebuild               |  68 --
 dev-libs/ffcall/ffcall-2.4-r2.ebuild               |  69 --
 dev-libs/ffcall/ffcall-2.4.ebuild                  |  66 --
 ...te-a-read-only-.eh_frame-section-on-all-p.patch |  65 --
 dev-libs/ffcall/files/ffcall-2.4-slibtool.patch    |  86 ---
 .../ffcall/files/ffcall-2.4-vacall-riscv-pic.patch | 792 ---------------------
 7 files changed, 1147 deletions(-)

diff --git a/dev-libs/ffcall/Manifest b/dev-libs/ffcall/Manifest
index 1d17452042f3..1fb32a4b6ac9 100644
--- a/dev-libs/ffcall/Manifest
+++ b/dev-libs/ffcall/Manifest
@@ -1,2 +1 @@
-DIST libffcall-2.4.tar.gz 1253767 BLAKE2B 
669bf556f082b533eb7d71ebc6fadeac464b1a6054ac8078c9315678929bcfb8ad4b7376b345bcfbb5d2caf9d45179012d4bb5a08ad675f475f58570ae96b7ae
 SHA512 
c9451662764a888e3be21499c29673bfb0e1df4915814da3506db5d395a2b00ea2f0c08d1c9dffebf030179f9347794876ec6ec9e6710b4fc70fd760960335e6
 DIST libffcall-2.5.tar.gz 1451999 BLAKE2B 
552a0a33bbed91380ced4bdb0f87f38be0a531e729b9530d80dd777ce93b4fe3515a984c2da0221e0110756fbbc099d666b1fed6f5cfacfccbedda7f97e58054
 SHA512 
5e5b1c34b9e66bde00e1deea464099ef09e439070e8180c04f2520442933e369e76632346ae59a5720356128787e88255bd75764736ac9b5334a592eb6cf5878

diff --git a/dev-libs/ffcall/ffcall-2.4-r1.ebuild 
b/dev-libs/ffcall/ffcall-2.4-r1.ebuild
deleted file mode 100644
index af58c1ae84ad..000000000000
--- a/dev-libs/ffcall/ffcall-2.4-r1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic libtool
-
-MY_PV="libffcall-${PV}"
-
-DESCRIPTION="Build foreign function call interfaces in embedded interpreter"
-HOMEPAGE="https://www.gnu.org/software/libffcall/";
-SRC_URI="mirror://gnu/libffcall/${MY_PV}.tar.gz"
-S="${WORKDIR}"/${MY_PV}
-
-# "Ffcall is under GNU GPL. As a special exception, if used in GNUstep
-# or in derivate works of GNUstep, the included parts of ffcall are
-# under GNU LGPL." -ffcall author
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~mips ppc ppc64 ~riscv ~sparc x86"
-
-PATCHES=(
-       # bug 842915, drop on next version bump
-       "${FILESDIR}"/${PN}-2.4-vacall-riscv-pic.patch
-       "${FILESDIR}"/${PN}-2.4-slibtool.patch # 776976
-)
-
-src_prepare() {
-       # The build system is a strange mix of autogenerated
-       # files and manual tweaks on top. Uses $CFLAGS / $LDFLAGS randomly.
-       # We are adding them consistently here and a bit over the top:
-       # bugs: #334581
-       local mfi
-       for mfi in {,*/,*/*/,}Makefile.in ; do
-               einfo "Patching '${mfi}'"
-               # usually uses only assembler here, but -march=
-               # and -Wa, are a must to pass here.
-               sed -e 's/$(CC) /&$(CFLAGS) /g' \
-                       -i "${mfi}" || die
-       done
-
-       default
-       elibtoolize
-}
-
-src_configure() {
-       append-flags -fPIC
-
-       # Doc goes in datadir
-       econf \
-               --datadir="${EPREFIX}"/usr/share/doc/${PF} \
-               --enable-shared \
-               --disable-static
-}
-
-src_compile() {
-       # TODO. Remove -j1
-       emake -j1
-}
-
-src_install() {
-       dodoc NEWS README
-       dodir /usr/share/man
-
-       default
-
-       find "${ED}" -name '*.la' -delete || die
-}

diff --git a/dev-libs/ffcall/ffcall-2.4-r2.ebuild 
b/dev-libs/ffcall/ffcall-2.4-r2.ebuild
deleted file mode 100644
index 819261d68f2b..000000000000
--- a/dev-libs/ffcall/ffcall-2.4-r2.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic libtool
-
-MY_PV="libffcall-${PV}"
-
-DESCRIPTION="Build foreign function call interfaces in embedded interpreter"
-HOMEPAGE="https://www.gnu.org/software/libffcall/";
-SRC_URI="mirror://gnu/libffcall/${MY_PV}.tar.gz"
-S="${WORKDIR}"/${MY_PV}
-
-# "Ffcall is under GNU GPL. As a special exception, if used in GNUstep
-# or in derivate works of GNUstep, the included parts of ffcall are
-# under GNU LGPL." -ffcall author
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-PATCHES=(
-       # bug 842915, drop on next version bump
-       "${FILESDIR}"/${PN}-2.4-vacall-riscv-pic.patch
-       "${FILESDIR}"/${PN}-2.4-slibtool.patch # 776976
-       
"${FILESDIR}"/${PN}-2.4-create-a-read-only-.eh_frame-section-on-all-p.patch # 
829663
-)
-
-src_prepare() {
-       # The build system is a strange mix of autogenerated
-       # files and manual tweaks on top. Uses $CFLAGS / $LDFLAGS randomly.
-       # We are adding them consistently here and a bit over the top:
-       # bugs: #334581
-       local mfi
-       for mfi in {,*/,*/*/,}Makefile.in ; do
-               einfo "Patching '${mfi}'"
-               # usually uses only assembler here, but -march=
-               # and -Wa, are a must to pass here.
-               sed -e 's/$(CC) /&$(CFLAGS) /g' \
-                       -i "${mfi}" || die
-       done
-
-       default
-       elibtoolize
-}
-
-src_configure() {
-       append-flags -fPIC
-
-       # Doc goes in datadir
-       econf \
-               --datadir="${EPREFIX}"/usr/share/doc/${PF} \
-               --enable-shared \
-               --disable-static
-}
-
-src_compile() {
-       # TODO. Remove -j1
-       emake -j1
-}
-
-src_install() {
-       dodoc NEWS README
-       dodir /usr/share/man
-
-       default
-
-       find "${ED}" -name '*.la' -delete || die
-}

diff --git a/dev-libs/ffcall/ffcall-2.4.ebuild 
b/dev-libs/ffcall/ffcall-2.4.ebuild
deleted file mode 100644
index b9a9f3429cd1..000000000000
--- a/dev-libs/ffcall/ffcall-2.4.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2025 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit flag-o-matic
-
-MY_PV="libffcall-${PV}"
-
-DESCRIPTION="Build foreign function call interfaces in embedded interpreter"
-HOMEPAGE="https://www.gnu.org/software/libffcall/";
-SRC_URI="mirror://gnu/libffcall/${MY_PV}.tar.gz"
-S="${WORKDIR}"/${MY_PV}
-
-# "Ffcall is under GNU GPL. As a special exception, if used in GNUstep
-# or in derivate works of GNUstep, the included parts of ffcall are
-# under GNU LGPL." -ffcall author
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~mips ppc ppc64 ~riscv ~sparc x86"
-
-PATCHES=(
-       # bug 842915, drop on next version bump
-       "${FILESDIR}"/${PN}-2.4-vacall-riscv-pic.patch
-)
-
-src_prepare() {
-       # The build system is a strange mix of autogenerated
-       # files and manual tweaks on top. Uses $CFLAGS / $LDFLAGS randomly.
-       # We are adding them consistently here and a bit over the top:
-       # bugs: #334581
-       local mfi
-       for mfi in {,*/,*/*/,}Makefile.in ; do
-               einfo "Patching '${mfi}'"
-               # usually uses only assembler here, but -march=
-               # and -Wa, are a must to pass here.
-               sed -e 's/$(CC) /&$(CFLAGS) /g' \
-                       -i "${mfi}" || die
-       done
-
-       default
-}
-
-src_configure() {
-       append-flags -fPIC
-
-       # Doc goes in datadir
-       econf \
-               --datadir="${EPREFIX}"/usr/share/doc/${PF} \
-               --enable-shared \
-               --disable-static
-}
-
-src_compile() {
-       # TODO. Remove -j1
-       emake -j1
-}
-
-src_install() {
-       dodoc NEWS README
-       dodir /usr/share/man
-
-       default
-
-       find "${ED}" -name '*.la' -delete || die
-}

diff --git 
a/dev-libs/ffcall/files/ffcall-2.4-create-a-read-only-.eh_frame-section-on-all-p.patch
 
b/dev-libs/ffcall/files/ffcall-2.4-create-a-read-only-.eh_frame-section-on-all-p.patch
deleted file mode 100644
index 1eb9fb2ee759..000000000000
--- 
a/dev-libs/ffcall/files/ffcall-2.4-create-a-read-only-.eh_frame-section-on-all-p.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-https://git.savannah.gnu.org/cgit/libffcall.git/commit/?id=580f0bb144c0d63560c61229291e172e55971437
-
-From 580f0bb144c0d63560c61229291e172e55971437 Mon Sep 17 00:00:00 2001
-From: Bruno Haible <[email protected]>
-Date: Sat, 26 Jun 2021 18:19:21 +0200
-Subject: [PATCH] x86_64: Create a read-only .eh_frame section on all
- platforms.
-
-Reported by Thomas Klausner <[email protected]> at
-<https://savannah.gnu.org/bugs/?60815>.
-
-* common/asm-x86_64.h (EH_FRAME_SECTION): Use flags "a" (instead of
-"aw") on all platforms.
-
-diff --git a/ChangeLog b/ChangeLog
-index 1e87b99..d2bde2a 100644
---- a/ChangeLog
-+++ b/ChangeLog
-@@ -1,3 +1,11 @@
-+2021-06-26  Bruno Haible  <[email protected]>
-+
-+      x86_64: Create a read-only .eh_frame section on all platforms.
-+      Reported by Thomas Klausner <[email protected]> at
-+      <https://savannah.gnu.org/bugs/?60815>.
-+      * common/asm-x86_64.h (EH_FRAME_SECTION): Use flags "a" (instead of
-+      "aw") on all platforms.
-+
- 2021-06-13  Bruno Haible  <[email protected]>
- 
-       maint: Don't require an internet connection for running autogen.sh.
-diff --git a/common/asm-x86_64.h b/common/asm-x86_64.h
-index b4713d7..edb1ea5 100644
---- a/common/asm-x86_64.h
-+++ b/common/asm-x86_64.h
-@@ -279,11 +279,24 @@
- // Solaris/ELF
- #define EH_FRAME_SECTION .eh_frame,"aL",link=.text,@unwind
- #else
--#if defined __FreeBSD__
--// FreeBSD/ELF
-+// The eh_frame section was usually writable (flags "aw") in older OS 
versions,
-+// but can be made read-only (flags "a") under specific conditions, depending
-+// on the assembler's behaviour (look for EH_TABLES_CAN_BE_READ_ONLY in
-+// gcc-11.1.0/gcc/defaults.h).
-+// To determine whether the eh_frame section is writable or read-only by
-+// default, compile a simple program:
-+//   gcc -S -fno-dwarf2-cfi-asm hello.c  (GCC >= 4.4)
-+// or
-+//   gcc -S hello.c                      (GCC < 4.4)
-+// The result is that all modern systems (at least Ubuntu >= 16.04,
-+// Red Hat Enterprise Linux >= 5, Fedora >= 13, Alpine Linux >= 3.7,
-+// FreeBSD >= 11, DragonFly BSD >= 6, NetBSD >= 7, OpenBSD >= 6)
-+// use a read-only eh_frame section.
-+#if 1
-+// all modern systems
- #define EH_FRAME_SECTION .eh_frame,"a",@progbits
- #else
--// Linux/ELF
-+// only very old systems
- #define EH_FRAME_SECTION .eh_frame,"aw",@progbits
- #endif
- #endif
--- 
-2.45.2
-

diff --git a/dev-libs/ffcall/files/ffcall-2.4-slibtool.patch 
b/dev-libs/ffcall/files/ffcall-2.4-slibtool.patch
deleted file mode 100644
index 73c896c4f211..000000000000
--- a/dev-libs/ffcall/files/ffcall-2.4-slibtool.patch
+++ /dev/null
@@ -1,86 +0,0 @@
-Bug: https://bugs.gentoo.org/776976
-Upstream-ML: https://lists.gnu.org/archive/html/libffcall/2022-07/msg00000.html
-
-From: orbea <[email protected]>
-Date: Wed, 13 Jul 2022 17:45:05 -0700
-Subject: [PATCH] build: Fix the build with slibtool
-
-Using symlinks to create dummy .lo files does not work with slibtool
-which tries to find the corresponding .o file which doesn't exist.
-
-Its better to use the real .lo file instead.
---- a/Makefile.in
-+++ b/Makefile.in
-@@ -2,6 +2,8 @@
- 
- #### Start of system configuration section. ####
- 
-+CPU = @HOST_CPU_C_ABI@
-+
- # Directories used by "make":
- srcdir = @srcdir@
- 
-@@ -69,8 +71,8 @@ ffcall-version.h : $(srcdir)/ffcall-version.in.h
- ffcall-version.lo : $(srcdir)/ffcall-version.c ffcall-version.h config.h
-       $(LIBTOOL_COMPILE) $(CC) $(CFLAGS) $(CFLAGS) $(INCLUDES) $(CPPFLAGS) 
$(CFLAGS) -c $(srcdir)/ffcall-version.c
- 
--libffcall.la : ffcall-version.lo avcall/avcall.lo avcall/avcall-libapi.lo 
avcall/avcall-structcpy.lo callback/vacall_r/libvacall.la 
callback/trampoline_r/libtrampoline.la callback/callback-libapi.lo
--      $(LIBTOOL_LINK) $(CC) $(CFLAGS) $(CFLAGS) -o libffcall.la -rpath 
$(libdir) -no-undefined -export-symbols-regex 
$(LIBFFCALL_EXPORTED_SYMBOLS_REGEX) -version-info $(LIBFFCALL_VERSION_INFO) 
ffcall-version.lo avcall/avcall.lo avcall/avcall-libapi.lo 
avcall/avcall-structcpy.lo callback/vacall_r/vacall.lo 
callback/vacall_r/vacall-libapi.lo callback/vacall_r/vacall-structcpy.lo 
callback/trampoline_r/*.lo callback/callback-libapi.lo gnulib-lib/libgnu.la 
$(LDFLAGS) $(LTLIBTHREAD)
-+libffcall.la : ffcall-version.lo avcall/avcall-$(CPU).lo 
avcall/avcall-libapi.lo avcall/avcall-structcpy.lo 
callback/vacall_r/libvacall.la callback/trampoline_r/libtrampoline.la 
callback/callback-libapi.lo
-+      $(LIBTOOL_LINK) $(CC) $(CFLAGS) $(CFLAGS) -o libffcall.la -rpath 
$(libdir) -no-undefined -export-symbols-regex 
$(LIBFFCALL_EXPORTED_SYMBOLS_REGEX) -version-info $(LIBFFCALL_VERSION_INFO) 
ffcall-version.lo avcall/avcall-$(CPU).lo avcall/avcall-libapi.lo 
avcall/avcall-structcpy.lo callback/vacall_r/vacall-$(CPU).lo 
callback/vacall_r/vacall-libapi.lo callback/vacall_r/vacall-structcpy.lo 
callback/trampoline_r/*.lo callback/callback-libapi.lo gnulib-lib/libgnu.la 
$(LDFLAGS) $(LTLIBTHREAD)
- 
- install : force
-       mkdir -p $(DESTDIR)$(prefix)
---- a/avcall/Makefile.in
-+++ b/avcall/Makefile.in
-@@ -58,7 +58,7 @@ SHELL = /bin/sh
- # Needed by $(LIBTOOL).
- top_builddir = ..
- 
--OBJECTS = avcall.lo avcall-libapi.lo avcall-structcpy.lo avcall-compat.lo
-+OBJECTS = avcall-$(CPU).lo avcall-libapi.lo avcall-structcpy.lo 
avcall-compat.lo
- 
- # Limit the set of exported symbols, on those platforms where libtool 
supports it.
- # Currently this does not exclude any symbol; maybe sometime in the future...
-@@ -70,11 +70,6 @@ LIBAVCALL_VERSION_INFO = 2:0:1
- 
- all : $(OBJECTS) libavcall.la $(srcdir)/avcall.3 $(srcdir)/avcall.html
- 
--avcall.lo : avcall-$(CPU).lo
--      $(RM) avcall.lo avcall.@OBJEXT@
--      $(LN) avcall-$(CPU).lo avcall.lo
--      if test -f avcall-$(CPU).@OBJEXT@; then $(LN) avcall-$(CPU).@OBJEXT@ 
avcall.@OBJEXT@; fi
--
- @[email protected] : avcall-i386.s
- @IFNOT_MSVC@  $(LIBTOOL_COMPILE) $(CC) $(CFLAGS) @GCC_X_NONE@ -c avcall-i386.s
- 
---- a/callback/Makefile.in
-+++ b/callback/Makefile.in
-@@ -77,7 +77,7 @@ callback-compat.lo : $(srcdir)/callback-compat.c ../config.h
-       $(LIBTOOL_COMPILE) $(CC) $(CFLAGS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) -c 
$(srcdir)/callback-compat.c
- 
- libcallback.la : vacall_r/libvacall.la trampoline_r/libtrampoline.la 
callback-libapi.lo callback-compat.lo
--      $(LIBTOOL_LINK) $(CC) $(CFLAGS) -o libcallback.la -rpath $(libdir) 
-no-undefined -export-symbols-regex $(LIBCALLBACK_EXPORTED_SYMBOLS_REGEX) 
-version-info $(LIBCALLBACK_VERSION_INFO) vacall_r/vacall.lo 
vacall_r/vacall-libapi.lo vacall_r/vacall-structcpy.lo trampoline_r/*.lo 
callback-libapi.lo callback-compat.lo ../gnulib-lib/libgnu.la $(LDFLAGS) 
$(LTLIBTHREAD)
-+      $(LIBTOOL_LINK) $(CC) $(CFLAGS) -o libcallback.la -rpath $(libdir) 
-no-undefined -export-symbols-regex $(LIBCALLBACK_EXPORTED_SYMBOLS_REGEX) 
-version-info $(LIBCALLBACK_VERSION_INFO) vacall_r/vacall-$(CPU).lo 
vacall_r/vacall-libapi.lo vacall_r/vacall-structcpy.lo trampoline_r/*.lo 
callback-libapi.lo callback-compat.lo ../gnulib-lib/libgnu.la $(LDFLAGS) 
$(LTLIBTHREAD)
- 
- # Installs the library and include files only. Typically called with only
- # $(libdir) and $(includedir) - don't use $(prefix) and $(exec_prefix) here.
---- a/callback/vacall_r/Makefile.in
-+++ b/callback/vacall_r/Makefile.in
-@@ -54,15 +54,10 @@ SHELL = /bin/sh
- # Needed by $(LIBTOOL).
- top_builddir = ../..
- 
--OBJECTS = vacall.lo vacall-libapi.lo vacall-structcpy.lo
-+OBJECTS = vacall-$(CPU).lo vacall-libapi.lo vacall-structcpy.lo
- 
- all : $(OBJECTS) libvacall.la
- 
--vacall.lo : vacall-$(CPU).lo
--      $(RM) vacall.lo vacall.@OBJEXT@
--      $(LN) vacall-$(CPU).lo vacall.lo
--      if test -f vacall-$(CPU).@OBJEXT@; then $(LN) vacall-$(CPU).@OBJEXT@ 
vacall.@OBJEXT@; fi
--
- @[email protected] : vacall-i386.s
- @IFNOT_MSVC@  $(LIBTOOL_COMPILE) $(CC) $(CFLAGS) @GCC_X_NONE@ -c vacall-i386.s
- 

diff --git a/dev-libs/ffcall/files/ffcall-2.4-vacall-riscv-pic.patch 
b/dev-libs/ffcall/files/ffcall-2.4-vacall-riscv-pic.patch
deleted file mode 100644
index 2bad9a403997..000000000000
--- a/dev-libs/ffcall/files/ffcall-2.4-vacall-riscv-pic.patch
+++ /dev/null
@@ -1,792 +0,0 @@
-https://bugs.gentoo.org/842915
-Taken from https://alpha.gnu.org/gnu/libffcall/libffcall-2.4-20220508.tar.gz
-
-diff -ruN libffcall-2.4/vacall/Makefile.devel 
libffcall-2.4-20220508/vacall/Makefile.devel
---- libffcall-2.4/vacall/Makefile.devel        2021-06-12 23:11:57.000000000 
+0800
-+++ libffcall-2.4-20220508/vacall/Makefile.devel       2022-05-08 
23:28:37.266397740 +0800
-@@ -267,15 +267,21 @@
- vacall-riscv32-ilp32d-linux.s : vacall-riscv32.c vacall-internal.h vacall.h 
$(THISFILE)
-       $(CROSS_TOOL) riscv32-linux gcc-7.3.0 $(GCCFLAGS) -D__riscv32__ -S 
vacall-riscv32.c -o vacall-riscv32-ilp32d-linux.s
- 
--vacall-riscv32-ilp32d-macro.S : vacall-riscv32-ilp32d-linux.s 
../common/asm-riscv.sh ../common/noexecstack.h $(THISFILE)
--      (../common/asm-riscv.sh < vacall-riscv32-ilp32d-linux.s ; cat 
../common/noexecstack.h) > vacall-riscv32-ilp32d-macro.S
-+vacall-riscv32-ilp32d-linux-pic.s : vacall-riscv32.c vacall-internal.h 
vacall.h $(THISFILE)
-+      $(CROSS_TOOL) riscv32-linux gcc-7.3.0 $(GCCFLAGS) -fPIC -D__riscv32__ 
-S vacall-riscv32.c -o vacall-riscv32-ilp32d-linux-pic.s
-+
-+vacall-riscv32-ilp32d-macro.S : vacall-riscv32-ilp32d-linux.s 
vacall-riscv32-ilp32d-linux-pic.s ../common/asm-riscv.sh 
../common/noexecstack.h $(THISFILE)
-+      (echo '#ifdef __PIC__' ; ../common/asm-riscv.sh < 
vacall-riscv32-ilp32d-linux-pic.s ; echo '#else' ; ../common/asm-riscv.sh < 
vacall-riscv32-ilp32d-linux.s ; echo '#endif' ; cat ../common/noexecstack.h) > 
vacall-riscv32-ilp32d-macro.S
- 
- 
- 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 ---------------
-diff -ruN libffcall-2.4/vacall/Makefile.in 
libffcall-2.4-20220508/vacall/Makefile.in
---- libffcall-2.4/vacall/Makefile.in   2021-06-12 23:11:57.000000000 +0800
-+++ libffcall-2.4-20220508/vacall/Makefile.in  2022-05-08 23:29:18.347087098 
+0800
-@@ -354,8 +354,8 @@
-   vacall-powerpc-aix.s \
-   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-riscv32.c vacall-riscv32-ilp32d-linux.s 
vacall-riscv32-ilp32d-linux-pic.s vacall-riscv32-ilp32d-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 \
-diff -ruN libffcall-2.4/vacall/vacall-riscv32-ilp32d-linux-pic.s 
libffcall-2.4-20220508/vacall/vacall-riscv32-ilp32d-linux-pic.s
---- libffcall-2.4/vacall/vacall-riscv32-ilp32d-linux-pic.s     1970-01-01 
08:00:00.000000000 +0800
-+++ libffcall-2.4-20220508/vacall/vacall-riscv32-ilp32d-linux-pic.s    
2022-05-08 19:41:49.000000000 +0800
-@@ -0,0 +1,163 @@
-+      .file   "vacall-riscv32.c"
-+      .option pic
-+      .text
-+      .align  1
-+      .globl  vacall_receiver
-+      .type   vacall_receiver, @function
-+vacall_receiver:
-+      add     sp,sp,-208
-+      sw      ra,188(sp)
-+      sw      s0,184(sp)
-+      add     s0,sp,192
-+      la      t1,vacall_function
-+      lw      t1,0(t1)
-+      sw      a0,-148(s0)
-+      add     a0,s0,16
-+      sw      a7,12(s0)
-+      sw      a1,-144(s0)
-+      sw      a2,-140(s0)
-+      sw      a3,-136(s0)
-+      sw      a4,-132(s0)
-+      sw      a5,-128(s0)
-+      sw      a6,-124(s0)
-+      sw      a7,-120(s0)
-+      fsw     fa0,-112(s0)
-+      fsw     fa1,-108(s0)
-+      fsw     fa2,-104(s0)
-+      fsw     fa3,-100(s0)
-+      fsw     fa4,-96(s0)
-+      fsw     fa5,-92(s0)
-+      fsw     fa6,-88(s0)
-+      fsw     fa7,-84(s0)
-+      fsd     fa0,-80(s0)
-+      fsd     fa1,-72(s0)
-+      fsd     fa2,-64(s0)
-+      fsd     fa3,-56(s0)
-+      fsd     fa4,-48(s0)
-+      fsd     fa5,-40(s0)
-+      fsd     fa6,-32(s0)
-+      fsd     fa7,-24(s0)
-+      sw      a0,-168(s0)
-+      sw      zero,-184(s0)
-+      sw      zero,-164(s0)
-+      sw      zero,-160(s0)
-+      add     a0,s0,-184
-+      sw      zero,-152(s0)
-+      sw      zero,-116(s0)
-+      jalr    t1
-+      lw      t1,-160(s0)
-+      beqz    t1,.L1
-+      li      t3,1
-+      beq     t1,t3,.L22
-+      li      t3,2
-+      beq     t1,t3,.L25
-+      li      t3,3
-+      beq     t1,t3,.L22
-+      li      t3,4
-+      beq     t1,t3,.L26
-+      li      t3,5
-+      beq     t1,t3,.L27
-+      li      t3,6
-+      beq     t1,t3,.L23
-+      li      t3,7
-+      beq     t1,t3,.L23
-+      li      t3,8
-+      beq     t1,t3,.L23
-+      li      t3,9
-+      beq     t1,t3,.L23
-+      add     t3,t1,-10
-+      li      t4,1
-+      bleu    t3,t4,.L28
-+      li      t3,12
-+      beq     t1,t3,.L29
-+      li      t3,13
-+      beq     t1,t3,.L30
-+      li      t3,14
-+      beq     t1,t3,.L23
-+      li      t3,15
-+      bne     t1,t3,.L1
-+      lw      t1,-184(s0)
-+      and     t1,t1,2
-+      beqz    t1,.L1
-+      lw      t3,-156(s0)
-+      li      t1,7
-+      add     t5,t3,-1
-+      bgtu    t5,t1,.L1
-+      lw      t1,-164(s0)
-+      lbu     t5,0(t1)
-+      mv      a0,t5
-+      beq     t3,t4,.L1
-+      lbu     t4,1(t1)
-+      li      t6,2
-+      sll     t4,t4,8
-+      or      t5,t4,t5
-+      mv      a0,t5
-+      beq     t3,t6,.L1
-+      lbu     t4,2(t1)
-+      li      t6,3
-+      sll     t4,t4,16
-+      or      t4,t4,t5
-+      mv      a0,t4
-+      beq     t3,t6,.L1
-+      lbu     a0,3(t1)
-+      li      t5,4
-+      sll     a0,a0,24
-+      or      a0,a0,t4
-+      beq     t3,t5,.L1
-+      lbu     t5,4(t1)
-+      li      t4,5
-+      mv      a1,t5
-+      beq     t3,t4,.L1
-+      lbu     t4,5(t1)
-+      li      t6,6
-+      sll     t4,t4,8
-+      or      t5,t4,t5
-+      mv      a1,t5
-+      beq     t3,t6,.L1
-+      lbu     t4,6(t1)
-+      li      t6,8
-+      sll     t4,t4,16
-+      or      t4,t4,t5
-+      mv      a1,t4
-+      bne     t3,t6,.L1
-+      lbu     a1,7(t1)
-+      sll     a1,a1,24
-+      or      a1,a1,t4
-+.L1:
-+      lw      ra,188(sp)
-+      lw      s0,184(sp)
-+      add     sp,sp,208
-+      jr      ra
-+.L22:
-+      lbu     a0,-176(s0)
-+      lw      ra,188(sp)
-+      lw      s0,184(sp)
-+      add     sp,sp,208
-+      jr      ra
-+.L23:
-+      lw      a0,-176(s0)
-+      j       .L1
-+.L25:
-+      lb      a0,-176(s0)
-+      lw      ra,188(sp)
-+      lw      s0,184(sp)
-+      add     sp,sp,208
-+      jr      ra
-+.L26:
-+      lh      a0,-176(s0)
-+      j       .L1
-+.L27:
-+      lhu     a0,-176(s0)
-+      j       .L1
-+.L28:
-+      lw      a0,-176(s0)
-+      lw      a1,-172(s0)
-+      j       .L1
-+.L29:
-+      flw     fa0,-176(s0)
-+      j       .L1
-+.L30:
-+      fld     fa0,-176(s0)
-+      j       .L1
-+      .size   vacall_receiver, .-vacall_receiver
-+      .ident  "GCC: (GNU) 7.3.0"
-diff -ruN libffcall-2.4/vacall/vacall-riscv32-ilp32d-macro.S 
libffcall-2.4-20220508/vacall/vacall-riscv32-ilp32d-macro.S
---- libffcall-2.4/vacall/vacall-riscv32-ilp32d-macro.S 2021-06-13 
02:30:16.000000000 +0800
-+++ libffcall-2.4-20220508/vacall/vacall-riscv32-ilp32d-macro.S        
2022-05-08 19:41:49.000000000 +0800
-@@ -1,3 +1,167 @@
-+#ifdef __PIC__
-+      .file   "vacall-riscv32.c"
-+      .option pic
-+      .text
-+      .align  1
-+      .globl  vacall_receiver
-+      .type   vacall_receiver, @function
-+vacall_receiver:
-+      add     sp,sp,-208
-+      sw      ra,188(sp)
-+      sw      s0,184(sp)
-+      add     s0,sp,192
-+      la      t1,vacall_function
-+      lw      t1,0(t1)
-+      sw      a0,-148(s0)
-+      add     a0,s0,16
-+      sw      a7,12(s0)
-+      sw      a1,-144(s0)
-+      sw      a2,-140(s0)
-+      sw      a3,-136(s0)
-+      sw      a4,-132(s0)
-+      sw      a5,-128(s0)
-+      sw      a6,-124(s0)
-+      sw      a7,-120(s0)
-+      fsw     fa0,-112(s0)
-+      fsw     fa1,-108(s0)
-+      fsw     fa2,-104(s0)
-+      fsw     fa3,-100(s0)
-+      fsw     fa4,-96(s0)
-+      fsw     fa5,-92(s0)
-+      fsw     fa6,-88(s0)
-+      fsw     fa7,-84(s0)
-+      fsd     fa0,-80(s0)
-+      fsd     fa1,-72(s0)
-+      fsd     fa2,-64(s0)
-+      fsd     fa3,-56(s0)
-+      fsd     fa4,-48(s0)
-+      fsd     fa5,-40(s0)
-+      fsd     fa6,-32(s0)
-+      fsd     fa7,-24(s0)
-+      sw      a0,-168(s0)
-+      sw      zero,-184(s0)
-+      sw      zero,-164(s0)
-+      sw      zero,-160(s0)
-+      add     a0,s0,-184
-+      sw      zero,-152(s0)
-+      sw      zero,-116(s0)
-+      jalr    t1
-+      lw      t1,-160(s0)
-+      beqz    t1,.L1
-+      li      t3,1
-+      beq     t1,t3,.L22
-+      li      t3,2
-+      beq     t1,t3,.L25
-+      li      t3,3
-+      beq     t1,t3,.L22
-+      li      t3,4
-+      beq     t1,t3,.L26
-+      li      t3,5
-+      beq     t1,t3,.L27
-+      li      t3,6
-+      beq     t1,t3,.L23
-+      li      t3,7
-+      beq     t1,t3,.L23
-+      li      t3,8
-+      beq     t1,t3,.L23
-+      li      t3,9
-+      beq     t1,t3,.L23
-+      add     t3,t1,-10
-+      li      t4,1
-+      bleu    t3,t4,.L28
-+      li      t3,12
-+      beq     t1,t3,.L29
-+      li      t3,13
-+      beq     t1,t3,.L30
-+      li      t3,14
-+      beq     t1,t3,.L23
-+      li      t3,15
-+      bne     t1,t3,.L1
-+      lw      t1,-184(s0)
-+      and     t1,t1,2
-+      beqz    t1,.L1
-+      lw      t3,-156(s0)
-+      li      t1,7
-+      add     t5,t3,-1
-+      bgtu    t5,t1,.L1
-+      lw      t1,-164(s0)
-+      lbu     t5,0(t1)
-+      mv      a0,t5
-+      beq     t3,t4,.L1
-+      lbu     t4,1(t1)
-+      li      t6,2
-+      sll     t4,t4,8
-+      or      t5,t4,t5
-+      mv      a0,t5
-+      beq     t3,t6,.L1
-+      lbu     t4,2(t1)
-+      li      t6,3
-+      sll     t4,t4,16
-+      or      t4,t4,t5
-+      mv      a0,t4
-+      beq     t3,t6,.L1
-+      lbu     a0,3(t1)
-+      li      t5,4
-+      sll     a0,a0,24
-+      or      a0,a0,t4
-+      beq     t3,t5,.L1
-+      lbu     t5,4(t1)
-+      li      t4,5
-+      mv      a1,t5
-+      beq     t3,t4,.L1
-+      lbu     t4,5(t1)
-+      li      t6,6
-+      sll     t4,t4,8
-+      or      t5,t4,t5
-+      mv      a1,t5
-+      beq     t3,t6,.L1
-+      lbu     t4,6(t1)
-+      li      t6,8
-+      sll     t4,t4,16
-+      or      t4,t4,t5
-+      mv      a1,t4
-+      bne     t3,t6,.L1
-+      lbu     a1,7(t1)
-+      sll     a1,a1,24
-+      or      a1,a1,t4
-+.L1:
-+      lw      ra,188(sp)
-+      lw      s0,184(sp)
-+      add     sp,sp,208
-+      jr      ra
-+.L22:
-+      lbu     a0,-176(s0)
-+      lw      ra,188(sp)
-+      lw      s0,184(sp)
-+      add     sp,sp,208
-+      jr      ra
-+.L23:
-+      lw      a0,-176(s0)
-+      j       .L1
-+.L25:
-+      lb      a0,-176(s0)
-+      lw      ra,188(sp)
-+      lw      s0,184(sp)
-+      add     sp,sp,208
-+      jr      ra
-+.L26:
-+      lh      a0,-176(s0)
-+      j       .L1
-+.L27:
-+      lhu     a0,-176(s0)
-+      j       .L1
-+.L28:
-+      lw      a0,-176(s0)
-+      lw      a1,-172(s0)
-+      j       .L1
-+.L29:
-+      flw     fa0,-176(s0)
-+      j       .L1
-+.L30:
-+      fld     fa0,-176(s0)
-+      j       .L1
-+      .size   vacall_receiver, .-vacall_receiver
-+#else
-       .file   "vacall-riscv32.c"
-       .option nopic
-       .text
-@@ -160,6 +324,7 @@
-       fld     fa0,-176(s0)
-       j       .L1
-       .size   vacall_receiver, .-vacall_receiver
-+#endif
- #if defined __linux__ || defined __FreeBSD__ || defined __FreeBSD_kernel__ || 
defined __DragonFly__
-       .section .note.GNU-stack,"",@progbits
- #endif
-diff -ruN libffcall-2.4/vacall/vacall-riscv64-lp64d-linux-pic.s 
libffcall-2.4-20220508/vacall/vacall-riscv64-lp64d-linux-pic.s
---- libffcall-2.4/vacall/vacall-riscv64-lp64d-linux-pic.s      1970-01-01 
08:00:00.000000000 +0800
-+++ libffcall-2.4-20220508/vacall/vacall-riscv64-lp64d-linux-pic.s     
2022-05-08 19:41:49.000000000 +0800
-@@ -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"
-diff -ruN libffcall-2.4/vacall/vacall-riscv64-lp64d-macro.S 
libffcall-2.4-20220508/vacall/vacall-riscv64-lp64d-macro.S
---- libffcall-2.4/vacall/vacall-riscv64-lp64d-macro.S  2021-06-13 
02:30:16.000000000 +0800
-+++ libffcall-2.4-20220508/vacall/vacall-riscv64-lp64d-macro.S 2022-05-08 
19:41:49.000000000 +0800
-@@ -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

Reply via email to