diff options
Diffstat (limited to 'user')
-rw-r--r-- | user/libffcall/APKBUILD | 70 | ||||
-rw-r--r-- | user/libffcall/ppc64.patch | 371 |
2 files changed, 0 insertions, 441 deletions
diff --git a/user/libffcall/APKBUILD b/user/libffcall/APKBUILD deleted file mode 100644 index f3bc87e30..000000000 --- a/user/libffcall/APKBUILD +++ /dev/null @@ -1,70 +0,0 @@ -# Contributor: Carlo Landmeter <clandmeter@gmail.com> -# Contributor: Will Sinatra <wpsinatra@gmail.com> -# Maintainer: Lee Starnes <lee@canned-death.us> -pkgname=libffcall -pkgver=2.4 -pkgrel=0 -pkgdesc="C library for implementing foreign function calls in embedded interpreters" -url="https://www.gnu.org/software/libffcall" -arch="all" -license="GPL-2.0+" -depends="" -makedepends="" -subpackages="$pkgname-dev $pkgname-doc" -source="https://ftp.gnu.org/gnu/libffcall/libffcall-$pkgver.tar.gz - ppc64.patch - " - -prepare() { - default_prepare - case "${CARCH}" in - ppc64) - # C sources are patched, bundled .S need to be regenerated; - # recipes for *-powerpc64-elfv2-linux.S from Makefile.devel - temp=$(mktemp) - comm="-D__powerpc64__ -D__powerpc64_elfv2__ -O2 -fno-omit-frame-pointer -o ${temp}" - nxst="../common/noexecstack.h" - - flag="${comm} -I.. -I../dummy" - for k in avcall vacall; do - cd ${k} - gcc ${flag} -S ${k}-powerpc64.c - cat ${temp} ${nxst} > ${k}-powerpc64-elfv2-linux.S - cd - - done - - flag="${comm} -I. -I../.. -I../../dummy -fPIC -DREENTRANT" - cd callback/vacall_r - gcc ${flag} -S ../../vacall/vacall-powerpc64.c - cat ${temp} ../${nxst} > vacall-powerpc64-elfv2-linux.S - cd - - - rm ${temp} - ;; - esac -} - -build() { - ./configure \ - --build=$CBUILD \ - --host=$CHOST \ - --prefix=/usr \ - --sysconfdir=/etc \ - --mandir=/usr/share/man \ - --infodir=/usr/share/info \ - --localstatedir=/var - # Fails to build if building in parallel - make -j1 -} - -check() { - make check -} - -package() { - make DESTDIR="$pkgdir" htmldir=/usr/share/doc/ffcall install - -} - -sha512sums="c9451662764a888e3be21499c29673bfb0e1df4915814da3506db5d395a2b00ea2f0c08d1c9dffebf030179f9347794876ec6ec9e6710b4fc70fd760960335e6 libffcall-2.4.tar.gz -7360a5bdea23dec4a84f9653e96540dcccfcce1214899c421ad66760aeffa6223eb1a2d9011a1e0cddb1027b90242518e37c45b12625f8ff9a276e181db278d3 ppc64.patch" diff --git a/user/libffcall/ppc64.patch b/user/libffcall/ppc64.patch deleted file mode 100644 index e7da43899..000000000 --- a/user/libffcall/ppc64.patch +++ /dev/null @@ -1,371 +0,0 @@ -Changed from 2.2/2.3 --> 2.4: - - * sed -i ppc64.patch -e 's/vaword/varword/g' - * remove all assembly - ---- libffcall-2.2/avcall/avcall-powerpc64.c.old 2018-09-17 16:47:43.000000000 +0000 -+++ libffcall-2.2/avcall/avcall-powerpc64.c 2020-05-11 23:06:57.534813743 +0000 -@@ -181,111 +181,111 @@ - /* In the ELFv2 ABI, gcc returns structs of size <= 16 in registers. */ - if (l->rsize > 0 && l->rsize <= 16) { - void* raddr = l->raddr; -- #if 0 /* Unoptimized */ -+ #if 1 /* Unoptimized */ - if (l->rsize == 1) { - ((unsigned char *)raddr)[0] = (unsigned char)(iret); - } else - if (l->rsize == 2) { -- ((unsigned char *)raddr)[0] = (unsigned char)(iret); -- ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8); -+ ((unsigned char *)raddr)[1] = (unsigned char)(iret); -+ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>8); - } else - if (l->rsize == 3) { -- ((unsigned char *)raddr)[0] = (unsigned char)(iret); -+ ((unsigned char *)raddr)[2] = (unsigned char)(iret); - ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8); -- ((unsigned char *)raddr)[2] = (unsigned char)(iret>>16); -+ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>16); - } else - if (l->rsize == 4) { -- ((unsigned char *)raddr)[0] = (unsigned char)(iret); -- ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8); -- ((unsigned char *)raddr)[2] = (unsigned char)(iret>>16); -- ((unsigned char *)raddr)[3] = (unsigned char)(iret>>24); -+ ((unsigned char *)raddr)[3] = (unsigned char)(iret); -+ ((unsigned char *)raddr)[2] = (unsigned char)(iret>>8); -+ ((unsigned char *)raddr)[1] = (unsigned char)(iret>>16); -+ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>24); - } else - if (l->rsize == 5) { -- ((unsigned char *)raddr)[0] = (unsigned char)(iret); -- ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8); -+ ((unsigned char *)raddr)[4] = (unsigned char)(iret); -+ ((unsigned char *)raddr)[3] = (unsigned char)(iret>>8); - ((unsigned char *)raddr)[2] = (unsigned char)(iret>>16); -- ((unsigned char *)raddr)[3] = (unsigned char)(iret>>24); -- ((unsigned char *)raddr)[4] = (unsigned char)(iret>>32); -+ ((unsigned char *)raddr)[1] = (unsigned char)(iret>>24); -+ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>32); - } else - if (l->rsize == 6) { -- ((unsigned char *)raddr)[0] = (unsigned char)(iret); -- ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8); -- ((unsigned char *)raddr)[2] = (unsigned char)(iret>>16); -- ((unsigned char *)raddr)[3] = (unsigned char)(iret>>24); -- ((unsigned char *)raddr)[4] = (unsigned char)(iret>>32); -- ((unsigned char *)raddr)[5] = (unsigned char)(iret>>40); -+ ((unsigned char *)raddr)[5] = (unsigned char)(iret); -+ ((unsigned char *)raddr)[4] = (unsigned char)(iret>>8); -+ ((unsigned char *)raddr)[3] = (unsigned char)(iret>>16); -+ ((unsigned char *)raddr)[2] = (unsigned char)(iret>>24); -+ ((unsigned char *)raddr)[1] = (unsigned char)(iret>>32); -+ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>40); - } else - if (l->rsize == 7) { -- ((unsigned char *)raddr)[0] = (unsigned char)(iret); -- ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8); -- ((unsigned char *)raddr)[2] = (unsigned char)(iret>>16); -+ ((unsigned char *)raddr)[6] = (unsigned char)(iret); -+ ((unsigned char *)raddr)[5] = (unsigned char)(iret>>8); -+ ((unsigned char *)raddr)[4] = (unsigned char)(iret>>16); - ((unsigned char *)raddr)[3] = (unsigned char)(iret>>24); -- ((unsigned char *)raddr)[4] = (unsigned char)(iret>>32); -- ((unsigned char *)raddr)[5] = (unsigned char)(iret>>40); -- ((unsigned char *)raddr)[6] = (unsigned char)(iret>>48); -+ ((unsigned char *)raddr)[2] = (unsigned char)(iret>>32); -+ ((unsigned char *)raddr)[1] = (unsigned char)(iret>>40); -+ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>48); - } else - if (l->rsize >= 8 && l->rsize <= 16) { -- ((unsigned char *)raddr)[0] = (unsigned char)(iret); -- ((unsigned char *)raddr)[1] = (unsigned char)(iret>>8); -- ((unsigned char *)raddr)[2] = (unsigned char)(iret>>16); -- ((unsigned char *)raddr)[3] = (unsigned char)(iret>>24); -- ((unsigned char *)raddr)[4] = (unsigned char)(iret>>32); -- ((unsigned char *)raddr)[5] = (unsigned char)(iret>>40); -- ((unsigned char *)raddr)[6] = (unsigned char)(iret>>48); -- ((unsigned char *)raddr)[7] = (unsigned char)(iret>>56); -+ ((unsigned char *)raddr)[7] = (unsigned char)(iret); -+ ((unsigned char *)raddr)[6] = (unsigned char)(iret>>8); -+ ((unsigned char *)raddr)[5] = (unsigned char)(iret>>16); -+ ((unsigned char *)raddr)[4] = (unsigned char)(iret>>24); -+ ((unsigned char *)raddr)[3] = (unsigned char)(iret>>32); -+ ((unsigned char *)raddr)[2] = (unsigned char)(iret>>40); -+ ((unsigned char *)raddr)[1] = (unsigned char)(iret>>48); -+ ((unsigned char *)raddr)[0] = (unsigned char)(iret>>56); - if (l->rsize == 8) { - } else - if (l->rsize == 9) { -- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2); -+ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56); - } else - if (l->rsize == 10) { -- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2); -- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8); -+ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56); -+ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48); - } else - if (l->rsize == 11) { -- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2); -- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8); -- ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>16); -+ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56); -+ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48); -+ ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>40); - } else - if (l->rsize == 12) { -- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2); -- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8); -- ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>16); -- ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>24); -+ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56); -+ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48); -+ ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>40); -+ ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>32); - } else - if (l->rsize == 13) { -- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2); -- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8); -- ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>16); -- ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>24); -- ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>32); -+ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56); -+ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48); -+ ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>40); -+ ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>32); -+ ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>24); - } else - if (l->rsize == 14) { -- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2); -- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8); -- ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>16); -- ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>24); -- ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>32); -- ((unsigned char *)raddr)[8+5] = (unsigned char)(iret2>>40); -+ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56); -+ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48); -+ ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>40); -+ ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>32); -+ ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>24); -+ ((unsigned char *)raddr)[8+5] = (unsigned char)(iret2>>16); - } else - if (l->rsize == 15) { -- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2); -- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8); -- ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>16); -- ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>24); -- ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>32); -- ((unsigned char *)raddr)[8+5] = (unsigned char)(iret2>>40); -- ((unsigned char *)raddr)[8+6] = (unsigned char)(iret2>>48); -+ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56); -+ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48); -+ ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>40); -+ ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>32); -+ ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>24); -+ ((unsigned char *)raddr)[8+5] = (unsigned char)(iret2>>16); -+ ((unsigned char *)raddr)[8+6] = (unsigned char)(iret2>>8); - } else - if (l->rsize == 16) { -- ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2); -- ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>8); -- ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>16); -- ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>24); -- ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>32); -- ((unsigned char *)raddr)[8+5] = (unsigned char)(iret2>>40); -- ((unsigned char *)raddr)[8+6] = (unsigned char)(iret2>>48); -- ((unsigned char *)raddr)[8+7] = (unsigned char)(iret2>>56); -+ ((unsigned char *)raddr)[8+0] = (unsigned char)(iret2>>56); -+ ((unsigned char *)raddr)[8+1] = (unsigned char)(iret2>>48); -+ ((unsigned char *)raddr)[8+2] = (unsigned char)(iret2>>40); -+ ((unsigned char *)raddr)[8+3] = (unsigned char)(iret2>>32); -+ ((unsigned char *)raddr)[8+4] = (unsigned char)(iret2>>24); -+ ((unsigned char *)raddr)[8+5] = (unsigned char)(iret2>>16); -+ ((unsigned char *)raddr)[8+6] = (unsigned char)(iret2>>8); -+ ((unsigned char *)raddr)[8+7] = (unsigned char)(iret2); - } - } - #else /* Optimized: fewer conditional jumps, fewer memory accesses */ ---- libffcall-2.2/vacall/vacall-powerpc64.c.old 2020-05-11 23:11:15.566571148 +0000 -+++ libffcall-2.2/vacall/vacall-powerpc64.c 2020-05-11 23:16:52.489693582 +0000 -@@ -140,111 +140,111 @@ - if (list.flags & __VA_REGISTER_STRUCT_RETURN) { - /* In the ELFv2 ABI, gcc returns structs of size <= 16 in registers. */ - if (list.rsize > 0 && list.rsize <= 16) { -- #if 0 /* Unoptimized */ -+ #if 1 /* Unoptimized */ - if (list.rsize == 1) { - iret = (__varword)((unsigned char *) list.raddr)[0]; - } else - if (list.rsize == 2) { -- iret = ((__varword)((unsigned char *) list.raddr)[0]) -- | ((__varword)((unsigned char *) list.raddr)[1] << 8); -+ iret = ((__varword)((unsigned char *) list.raddr)[1]) -+ | ((__varword)((unsigned char *) list.raddr)[0] << 8); - } else - if (list.rsize == 3) { -- iret = ((__varword)((unsigned char *) list.raddr)[0]) -+ iret = ((__varword)((unsigned char *) list.raddr)[2]) - | ((__varword)((unsigned char *) list.raddr)[1] << 8) -- | ((__varword)((unsigned char *) list.raddr)[2] << 16); -+ | ((__varword)((unsigned char *) list.raddr)[0] << 16); - } else - if (list.rsize == 4) { -- iret = ((__varword)((unsigned char *) list.raddr)[0]) -- | ((__varword)((unsigned char *) list.raddr)[1] << 8) -- | ((__varword)((unsigned char *) list.raddr)[2] << 16) -- | ((__varword)((unsigned char *) list.raddr)[3] << 24); -+ iret = ((__varword)((unsigned char *) list.raddr)[3]) -+ | ((__varword)((unsigned char *) list.raddr)[2] << 8) -+ | ((__varword)((unsigned char *) list.raddr)[1] << 16) -+ | ((__varword)((unsigned char *) list.raddr)[0] << 24); - } else - if (list.rsize == 5) { -- iret = ((__varword)((unsigned char *) list.raddr)[0]) -- | ((__varword)((unsigned char *) list.raddr)[1] << 8) -+ iret = ((__varword)((unsigned char *) list.raddr)[4]) -+ | ((__varword)((unsigned char *) list.raddr)[3] << 8) - | ((__varword)((unsigned char *) list.raddr)[2] << 16) -- | ((__varword)((unsigned char *) list.raddr)[3] << 24) -- | ((__varword)((unsigned char *) list.raddr)[4] << 32); -+ | ((__varword)((unsigned char *) list.raddr)[1] << 24) -+ | ((__varword)((unsigned char *) list.raddr)[0] << 32); - } else - if (list.rsize == 6) { -- iret = ((__varword)((unsigned char *) list.raddr)[0]) -- | ((__varword)((unsigned char *) list.raddr)[1] << 8) -- | ((__varword)((unsigned char *) list.raddr)[2] << 16) -- | ((__varword)((unsigned char *) list.raddr)[3] << 24) -- | ((__varword)((unsigned char *) list.raddr)[4] << 32) -- | ((__varword)((unsigned char *) list.raddr)[5] << 40); -+ iret = ((__varword)((unsigned char *) list.raddr)[5]) -+ | ((__varword)((unsigned char *) list.raddr)[4] << 8) -+ | ((__varword)((unsigned char *) list.raddr)[3] << 16) -+ | ((__varword)((unsigned char *) list.raddr)[2] << 24) -+ | ((__varword)((unsigned char *) list.raddr)[1] << 32) -+ | ((__varword)((unsigned char *) list.raddr)[0] << 40); - } else - if (list.rsize == 7) { -- iret = ((__varword)((unsigned char *) list.raddr)[0]) -- | ((__varword)((unsigned char *) list.raddr)[1] << 8) -- | ((__varword)((unsigned char *) list.raddr)[2] << 16) -+ iret = ((__varword)((unsigned char *) list.raddr)[6]) -+ | ((__varword)((unsigned char *) list.raddr)[5] << 8) -+ | ((__varword)((unsigned char *) list.raddr)[4] << 16) - | ((__varword)((unsigned char *) list.raddr)[3] << 24) -- | ((__varword)((unsigned char *) list.raddr)[4] << 32) -- | ((__varword)((unsigned char *) list.raddr)[5] << 40) -- | ((__varword)((unsigned char *) list.raddr)[6] << 48); -+ | ((__varword)((unsigned char *) list.raddr)[2] << 32) -+ | ((__varword)((unsigned char *) list.raddr)[1] << 40) -+ | ((__varword)((unsigned char *) list.raddr)[0] << 48); - } else - if (list.rsize >= 8 && list.rsize <= 16) { -- iret = ((__varword)((unsigned char *) list.raddr)[0]) -- | ((__varword)((unsigned char *) list.raddr)[1] << 8) -- | ((__varword)((unsigned char *) list.raddr)[2] << 16) -- | ((__varword)((unsigned char *) list.raddr)[3] << 24) -- | ((__varword)((unsigned char *) list.raddr)[4] << 32) -- | ((__varword)((unsigned char *) list.raddr)[5] << 40) -- | ((__varword)((unsigned char *) list.raddr)[6] << 48) -- | ((__varword)((unsigned char *) list.raddr)[7] << 56); -+ iret = ((__varword)((unsigned char *) list.raddr)[7]) -+ | ((__varword)((unsigned char *) list.raddr)[6] << 8) -+ | ((__varword)((unsigned char *) list.raddr)[5] << 16) -+ | ((__varword)((unsigned char *) list.raddr)[4] << 24) -+ | ((__varword)((unsigned char *) list.raddr)[3] << 32) -+ | ((__varword)((unsigned char *) list.raddr)[2] << 40) -+ | ((__varword)((unsigned char *) list.raddr)[1] << 48) -+ | ((__varword)((unsigned char *) list.raddr)[0] << 56); - if (list.rsize == 8) { - } else - if (list.rsize == 9) { -- iret2 = (__varword)((unsigned char *) list.raddr)[8]; -+ iret2 = (__varword)((unsigned char *) list.raddr)[8] << 56; - } else - if (list.rsize == 10) { -- iret2 = ((__varword)((unsigned char *) list.raddr)[8]) -- | ((__varword)((unsigned char *) list.raddr)[9] << 8); -+ iret2 = ((__varword)((unsigned char *) list.raddr)[8] << 56) -+ | ((__varword)((unsigned char *) list.raddr)[9] << 48); - } else - if (list.rsize == 11) { -- iret2 = ((__varword)((unsigned char *) list.raddr)[8]) -- | ((__varword)((unsigned char *) list.raddr)[9] << 8) -- | ((__varword)((unsigned char *) list.raddr)[10] << 16); -+ iret2 = ((__varword)((unsigned char *) list.raddr)[8] << 56) -+ | ((__varword)((unsigned char *) list.raddr)[9] << 48) -+ | ((__varword)((unsigned char *) list.raddr)[10] << 40); - } else - if (list.rsize == 12) { -- iret2 = ((__varword)((unsigned char *) list.raddr)[8]) -- | ((__varword)((unsigned char *) list.raddr)[9] << 8) -- | ((__varword)((unsigned char *) list.raddr)[10] << 16) -- | ((__varword)((unsigned char *) list.raddr)[11] << 24); -+ iret2 = ((__varword)((unsigned char *) list.raddr)[8] << 56) -+ | ((__varword)((unsigned char *) list.raddr)[9] << 48) -+ | ((__varword)((unsigned char *) list.raddr)[10] << 40) -+ | ((__varword)((unsigned char *) list.raddr)[11] << 32); - } else - if (list.rsize == 13) { -- iret2 = ((__varword)((unsigned char *) list.raddr)[8]) -- | ((__varword)((unsigned char *) list.raddr)[9] << 8) -- | ((__varword)((unsigned char *) list.raddr)[10] << 16) -- | ((__varword)((unsigned char *) list.raddr)[11] << 24) -- | ((__varword)((unsigned char *) list.raddr)[12] << 32); -+ iret2 = ((__varword)((unsigned char *) list.raddr)[8] << 56) -+ | ((__varword)((unsigned char *) list.raddr)[9] << 48) -+ | ((__varword)((unsigned char *) list.raddr)[10] << 40) -+ | ((__varword)((unsigned char *) list.raddr)[11] << 32) -+ | ((__varword)((unsigned char *) list.raddr)[12] << 24); - } else - if (list.rsize == 14) { -- iret2 = ((__varword)((unsigned char *) list.raddr)[8]) -- | ((__varword)((unsigned char *) list.raddr)[9] << 8) -- | ((__varword)((unsigned char *) list.raddr)[10] << 16) -- | ((__varword)((unsigned char *) list.raddr)[11] << 24) -- | ((__varword)((unsigned char *) list.raddr)[12] << 32) -- | ((__varword)((unsigned char *) list.raddr)[13] << 40); -+ iret2 = ((__varword)((unsigned char *) list.raddr)[8] << 56) -+ | ((__varword)((unsigned char *) list.raddr)[9] << 48) -+ | ((__varword)((unsigned char *) list.raddr)[10] << 40) -+ | ((__varword)((unsigned char *) list.raddr)[11] << 32) -+ | ((__varword)((unsigned char *) list.raddr)[12] << 24) -+ | ((__varword)((unsigned char *) list.raddr)[13] << 16); - } else - if (list.rsize == 15) { -- iret2 = ((__varword)((unsigned char *) list.raddr)[8]) -- | ((__varword)((unsigned char *) list.raddr)[9] << 8) -- | ((__varword)((unsigned char *) list.raddr)[10] << 16) -- | ((__varword)((unsigned char *) list.raddr)[11] << 24) -- | ((__varword)((unsigned char *) list.raddr)[12] << 32) -- | ((__varword)((unsigned char *) list.raddr)[13] << 40) -- | ((__varword)((unsigned char *) list.raddr)[14] << 48); -+ iret2 = ((__varword)((unsigned char *) list.raddr)[8] << 56) -+ | ((__varword)((unsigned char *) list.raddr)[9] << 48) -+ | ((__varword)((unsigned char *) list.raddr)[10] << 40) -+ | ((__varword)((unsigned char *) list.raddr)[11] << 32) -+ | ((__varword)((unsigned char *) list.raddr)[12] << 24) -+ | ((__varword)((unsigned char *) list.raddr)[13] << 16) -+ | ((__varword)((unsigned char *) list.raddr)[14] << 8); - } else - if (list.rsize == 16) { -- iret2 = ((__varword)((unsigned char *) list.raddr)[8]) -- | ((__varword)((unsigned char *) list.raddr)[9] << 8) -- | ((__varword)((unsigned char *) list.raddr)[10] << 16) -- | ((__varword)((unsigned char *) list.raddr)[11] << 24) -- | ((__varword)((unsigned char *) list.raddr)[12] << 32) -- | ((__varword)((unsigned char *) list.raddr)[13] << 40) -- | ((__varword)((unsigned char *) list.raddr)[14] << 48) -- | ((__varword)((unsigned char *) list.raddr)[15] << 56); -+ iret2 = ((__varword)((unsigned char *) list.raddr)[8] << 56) -+ | ((__varword)((unsigned char *) list.raddr)[9] << 48) -+ | ((__varword)((unsigned char *) list.raddr)[10] << 40) -+ | ((__varword)((unsigned char *) list.raddr)[11] << 32) -+ | ((__varword)((unsigned char *) list.raddr)[12] << 24) -+ | ((__varword)((unsigned char *) list.raddr)[13] << 16) -+ | ((__varword)((unsigned char *) list.raddr)[14] << 8) -+ | ((__varword)((unsigned char *) list.raddr)[15]); - } - } - #else /* Optimized: fewer conditional jumps, fewer memory accesses */ |