Index: X11/libs/gcr/3.41.1/Makefile
===================================================================
--- X11/libs/gcr/3.41.1/Makefile (revision 446)
+++ X11/libs/gcr/3.41.1/Makefile (revision 447)
@@ -64,7 +64,7 @@
REQUIRES += libs/gobject-introspection/1.76.1
REQUIRES += dev/vala/0.56.6
REQUIRES += libs/libsecret/0.20.4
-REQUIRES += net/libgcrypt/1.10.1
+REQUIRES += net/libgcrypt/1.11.0
REQUIRES += net/p11-kit/0.23.22
REQUIRES += net/openssh/8.5p1
Index: X11/libs/gcr4/4.1.0/Makefile
===================================================================
--- X11/libs/gcr4/4.1.0/Makefile (revision 446)
+++ X11/libs/gcr4/4.1.0/Makefile (revision 447)
@@ -64,7 +64,7 @@
REQUIRES += libs/gobject-introspection/1.76.1
REQUIRES += dev/vala/0.56.6
REQUIRES += libs/libsecret/0.20.4
-REQUIRES += net/libgcrypt/1.10.1
+REQUIRES += net/libgcrypt/1.11.0
REQUIRES += net/p11-kit/0.23.22
REQUIRES += net/openssh/8.5p1
Index: X11/libs/gcr4/4.1.0-ppc32/Makefile
===================================================================
--- X11/libs/gcr4/4.1.0-ppc32/Makefile (revision 446)
+++ X11/libs/gcr4/4.1.0-ppc32/Makefile (revision 447)
@@ -18,7 +18,7 @@
REQUIRES = X11/libs/gcr4/4.1.0
REQUIRES += X11/libs/gtk4/4.11.2-ppc32
REQUIRES += libs/libsecret/0.20.4-ppc32
-REQUIRES += net/libgcrypt/1.10.1-ppc32
+REQUIRES += net/libgcrypt/1.11.0-ppc32
REQUIRES += net/p11-kit/0.23.22-ppc32
# ======= __END_OF_REQUIRES__ =======
Index: X11/libs/gcr4/4.1.0-x86_32/Makefile
===================================================================
--- X11/libs/gcr4/4.1.0-x86_32/Makefile (revision 446)
+++ X11/libs/gcr4/4.1.0-x86_32/Makefile (revision 447)
@@ -15,7 +15,7 @@
REQUIRES = X11/libs/gcr4/4.1.0
REQUIRES += X11/libs/gtk4/4.11.2-x86_32
REQUIRES += libs/libsecret/0.20.4-x86_32
-REQUIRES += net/libgcrypt/1.10.1-x86_32
+REQUIRES += net/libgcrypt/1.11.0-x86_32
REQUIRES += net/p11-kit/0.23.22-x86_32
# ======= __END_OF_REQUIRES__ =======
Index: X11/libs/gvfs/1.52.1/Makefile
===================================================================
--- X11/libs/gvfs/1.52.1/Makefile (revision 446)
+++ X11/libs/gvfs/1.52.1/Makefile (revision 447)
@@ -77,7 +77,7 @@
REQUIRES += libs/libsoup3/3.4.2
REQUIRES += media/libbluray/1.3.4
REQUIRES += media/libgphoto2/2.5.30
-REQUIRES += net/libgcrypt/1.10.1
+REQUIRES += net/libgcrypt/1.11.0
REQUIRES += net/openssh/8.5p1
# ======= __END_OF_REQUIRES__ =======
Index: X11/libs/webkit2gtk/2.40.2/Makefile
===================================================================
--- X11/libs/webkit2gtk/2.40.2/Makefile (revision 446)
+++ X11/libs/webkit2gtk/2.40.2/Makefile (revision 447)
@@ -84,7 +84,7 @@
REQUIRES += X11/libs/gst-plugins-good/1.22.0
REQUIRES += X11/libs/gst-plugins-bad/1.22.0
REQUIRES += libs/gobject-introspection/1.76.1
-REQUIRES += net/libgcrypt/1.10.1
+REQUIRES += net/libgcrypt/1.11.0
REQUIRES += Wayland/wayland-protocols/1.31
# ======= __END_OF_REQUIRES__ =======
Index: X11/libs/webkitgtk/2.40.2/Makefile
===================================================================
--- X11/libs/webkitgtk/2.40.2/Makefile (revision 446)
+++ X11/libs/webkitgtk/2.40.2/Makefile (revision 447)
@@ -83,7 +83,7 @@
REQUIRES += X11/libs/harfbuzz/3.3.1
REQUIRES += X11/libs/gst-plugins-good/1.22.0
REQUIRES += X11/libs/gst-plugins-bad/1.22.0
-REQUIRES += net/libgcrypt/1.10.1
+REQUIRES += net/libgcrypt/1.11.0
REQUIRES += Wayland/wayland-protocols/1.31
# ======= __END_OF_REQUIRES__ =======
Index: libs/libmtp/1.1.21/Makefile
===================================================================
--- libs/libmtp/1.1.21/Makefile (revision 446)
+++ libs/libmtp/1.1.21/Makefile (revision 447)
@@ -61,7 +61,7 @@
SOURCE_REQUIRES = sources/packages/l/libmtp
REQUIRES = libs/libusb/1.0.24
-REQUIRES += net/libgcrypt/1.10.1
+REQUIRES += net/libgcrypt/1.11.0
# ======= __END_OF_REQUIRES__ =======
Index: libs/libsecret/0.20.4/Makefile
===================================================================
--- libs/libsecret/0.20.4/Makefile (revision 446)
+++ libs/libsecret/0.20.4/Makefile (revision 447)
@@ -63,7 +63,7 @@
REQUIRES = libs/glib2/2.76.0
REQUIRES += libs/gobject-introspection/1.76.1
REQUIRES += dev/vala/0.56.6
-REQUIRES += net/libgcrypt/1.10.1
+REQUIRES += net/libgcrypt/1.11.0
# ======= __END_OF_REQUIRES__ =======
Index: libs/libsecret/0.20.4-ppc32/Makefile
===================================================================
--- libs/libsecret/0.20.4-ppc32/Makefile (revision 446)
+++ libs/libsecret/0.20.4-ppc32/Makefile (revision 447)
@@ -17,7 +17,7 @@
REQUIRES = libs/libsecret/0.20.4
REQUIRES += libs/glib2/2.76.0-ppc32
-REQUIRES += net/libgcrypt/1.10.1-ppc32
+REQUIRES += net/libgcrypt/1.11.0-ppc32
# ======= __END_OF_REQUIRES__ =======
Index: libs/libsecret/0.20.4-x86_32/Makefile
===================================================================
--- libs/libsecret/0.20.4-x86_32/Makefile (revision 446)
+++ libs/libsecret/0.20.4-x86_32/Makefile (revision 447)
@@ -14,7 +14,7 @@
REQUIRES = libs/libsecret/0.20.4
REQUIRES += libs/glib2/2.76.0-x86_32
-REQUIRES += net/libgcrypt/1.10.1-x86_32
+REQUIRES += net/libgcrypt/1.11.0-x86_32
# ======= __END_OF_REQUIRES__ =======
Index: libs/libssh/0.9.5/Makefile
===================================================================
--- libs/libssh/0.9.5/Makefile (revision 446)
+++ libs/libssh/0.9.5/Makefile (revision 447)
@@ -60,7 +60,7 @@
SOURCE_REQUIRES = sources/packages/l/libssh
-REQUIRES = net/libgcrypt/1.10.1
+REQUIRES = net/libgcrypt/1.11.0
REQUIRES += net/libpcap/1.10.0
REQUIRES += net/krb5/1.19.1
Index: libs/libssh/0.9.5-ppc32/Makefile
===================================================================
--- libs/libssh/0.9.5-ppc32/Makefile (revision 446)
+++ libs/libssh/0.9.5-ppc32/Makefile (revision 447)
@@ -16,7 +16,7 @@
SOURCE_REQUIRES = sources/packages/l/libssh
REQUIRES = libs/libssh/0.9.5
-REQUIRES += net/libgcrypt/1.10.1-ppc32
+REQUIRES += net/libgcrypt/1.11.0-ppc32
REQUIRES += net/libpcap/1.10.0-ppc32
REQUIRES += net/krb5/1.19.1-ppc32
Index: libs/libssh/0.9.5-x86_32/Makefile
===================================================================
--- libs/libssh/0.9.5-x86_32/Makefile (revision 446)
+++ libs/libssh/0.9.5-x86_32/Makefile (revision 447)
@@ -13,7 +13,7 @@
SOURCE_REQUIRES = sources/packages/l/libssh
REQUIRES = libs/libssh/0.9.5
-REQUIRES += net/libgcrypt/1.10.1-x86_32
+REQUIRES += net/libgcrypt/1.11.0-x86_32
REQUIRES += net/libpcap/1.10.0-x86_32
REQUIRES += net/krb5/1.19.1-x86_32
Index: libs/libxslt/1.1.34/Makefile
===================================================================
--- libs/libxslt/1.1.34/Makefile (revision 446)
+++ libs/libxslt/1.1.34/Makefile (revision 447)
@@ -61,7 +61,7 @@
SOURCE_REQUIRES = sources/packages/l/libxslt
REQUIRES = libs/libxml2/2.11.4
-REQUIRES += net/libgcrypt/1.10.1
+REQUIRES += net/libgcrypt/1.11.0
# ======= __END_OF_REQUIRES__ =======
Index: libs/libxslt/1.1.34-ppc32/Makefile
===================================================================
--- libs/libxslt/1.1.34-ppc32/Makefile (revision 446)
+++ libs/libxslt/1.1.34-ppc32/Makefile (revision 447)
@@ -17,7 +17,7 @@
REQUIRES = libs/libxslt/1.1.34
REQUIRES += libs/libxml2/2.11.4-ppc32
-REQUIRES += net/libgcrypt/1.10.1-ppc32
+REQUIRES += net/libgcrypt/1.11.0-ppc32
# ======= __END_OF_REQUIRES__ =======
Index: libs/libxslt/1.1.34-x86_32/Makefile
===================================================================
--- libs/libxslt/1.1.34-x86_32/Makefile (revision 446)
+++ libs/libxslt/1.1.34-x86_32/Makefile (revision 447)
@@ -14,7 +14,7 @@
REQUIRES = libs/libxslt/1.1.34
REQUIRES += libs/libxml2/2.11.4-x86_32
-REQUIRES += net/libgcrypt/1.10.1-x86_32
+REQUIRES += net/libgcrypt/1.11.0-x86_32
# ======= __END_OF_REQUIRES__ =======
Index: net/crda/4.14/Makefile
===================================================================
--- net/crda/4.14/Makefile (revision 446)
+++ net/crda/4.14/Makefile (revision 447)
@@ -68,7 +68,7 @@
ifeq ($(ENABLE_DYNAMIC_PUBKEYS),yes)
REQUIRES += net/openssl/3.4.1
else
-REQUIRES += net/libgcrypt/1.10.1
+REQUIRES += net/libgcrypt/1.11.0
endif
# ======= __END_OF_REQUIRES__ =======
Index: net/gnupg2/2.2.27/Makefile
===================================================================
--- net/gnupg2/2.2.27/Makefile (revision 446)
+++ net/gnupg2/2.2.27/Makefile (revision 447)
@@ -66,7 +66,7 @@
REQUIRES += libs/readline/8.2
REQUIRES += net/pinentry/1.1.1
REQUIRES += net/curl/7.75.0
-REQUIRES += net/libgcrypt/1.10.1
+REQUIRES += net/libgcrypt/1.11.0
REQUIRES += net/libksba/1.5.0
REQUIRES += net/libassuan/2.5.4
REQUIRES += net/npth/1.6
Index: net/gpgme/1.16.0-ppc32/Makefile
===================================================================
--- net/gpgme/1.16.0-ppc32/Makefile (revision 446)
+++ net/gpgme/1.16.0-ppc32/Makefile (revision 447)
@@ -17,7 +17,7 @@
REQUIRES = net/gpgme/1.16.0
REQUIRES += net/libassuan/2.5.4-ppc32
-REQUIRES += net/libgpg-error/1.41-ppc32
+REQUIRES += net/libgpg-error/1.51-ppc32
REQUIRES += dev/python3/3.10.8-ppc32
# ======= __END_OF_REQUIRES__ =======
Index: net/gpgme/1.16.0-x86_32/Makefile
===================================================================
--- net/gpgme/1.16.0-x86_32/Makefile (revision 446)
+++ net/gpgme/1.16.0-x86_32/Makefile (revision 447)
@@ -14,7 +14,7 @@
REQUIRES = net/gpgme/1.16.0
REQUIRES += net/libassuan/2.5.4-x86_32
-REQUIRES += net/libgpg-error/1.41-x86_32
+REQUIRES += net/libgpg-error/1.51-x86_32
REQUIRES += dev/python3/3.10.8-x86_32
# ======= __END_OF_REQUIRES__ =======
Index: net/libassuan/2.5.4/Makefile
===================================================================
--- net/libassuan/2.5.4/Makefile (revision 446)
+++ net/libassuan/2.5.4/Makefile (revision 447)
@@ -60,7 +60,7 @@
SOURCE_REQUIRES = sources/packages/n/libassuan
-REQUIRES = net/libgpg-error/1.41
+REQUIRES = net/libgpg-error/1.51
# ======= __END_OF_REQUIRES__ =======
Index: net/libassuan/2.5.4-ppc32/Makefile
===================================================================
--- net/libassuan/2.5.4-ppc32/Makefile (revision 446)
+++ net/libassuan/2.5.4-ppc32/Makefile (revision 447)
@@ -16,7 +16,7 @@
SOURCE_REQUIRES = sources/packages/n/libassuan
REQUIRES = net/libassuan/2.5.4
-REQUIRES += net/libgpg-error/1.41-ppc32
+REQUIRES += net/libgpg-error/1.51-ppc32
# ======= __END_OF_REQUIRES__ =======
Index: net/libassuan/2.5.4-x86_32/Makefile
===================================================================
--- net/libassuan/2.5.4-x86_32/Makefile (revision 446)
+++ net/libassuan/2.5.4-x86_32/Makefile (revision 447)
@@ -13,7 +13,7 @@
SOURCE_REQUIRES = sources/packages/n/libassuan
REQUIRES = net/libassuan/2.5.4
-REQUIRES += net/libgpg-error/1.41-x86_32
+REQUIRES += net/libgpg-error/1.51-x86_32
# ======= __END_OF_REQUIRES__ =======
Index: net/libgcrypt/1.10.1-ppc32/libgcrypt-x32-pkg-description.in
===================================================================
--- net/libgcrypt/1.10.1-ppc32/libgcrypt-x32-pkg-description.in (revision 446)
+++ net/libgcrypt/1.10.1-ppc32/libgcrypt-x32-pkg-description.in (nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-libgcrypt-x32: libgcrypt-x32 @VERSION@ (x86_64 General purpose crypto library)
-libgcrypt-x32:
-libgcrypt-x32: Libgcrypt is a general purpose crypto library based on the code
-libgcrypt-x32: used in GnuPG.
-libgcrypt-x32:
-libgcrypt-x32:
-libgcrypt-x32:
-libgcrypt-x32:
-libgcrypt-x32:
-libgcrypt-x32:
-libgcrypt-x32:
Index: net/libgcrypt/1.10.1-ppc32/libgcrypt-x32-pkg-install.sh
===================================================================
--- net/libgcrypt/1.10.1-ppc32/libgcrypt-x32-pkg-install.sh (revision 446)
+++ net/libgcrypt/1.10.1-ppc32/libgcrypt-x32-pkg-install.sh (nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1: the new package version
-pre_install() {
- /bin/true
-}
-
-# arg 1: the new package version
-post_install() {
- /bin/true
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-pre_update() {
- /bin/true
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-post_update() {
- post_install
-}
-
-# arg 1: the old package version
-pre_remove() {
- /bin/true
-}
-
-# arg 1: the old package version
-post_remove() {
- /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*
Property changes on: net/libgcrypt/1.10.1-ppc32/libgcrypt-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: net/libgcrypt/1.10.1-ppc32/PATCHES
===================================================================
--- net/libgcrypt/1.10.1-ppc32/PATCHES (revision 446)
+++ net/libgcrypt/1.10.1-ppc32/PATCHES (nonexistent)
@@ -1,3 +0,0 @@
-
-../../../sources/packages/n/libgcrypt/patches/libgcrypt-1.10.1-riscv.patch -p0
-../../../sources/packages/n/libgcrypt/patches/libgcrypt-1.10.1-powerpc.patch -p0
Index: net/libgcrypt/1.10.1-ppc32/Makefile
===================================================================
--- net/libgcrypt/1.10.1-ppc32/Makefile (revision 446)
+++ net/libgcrypt/1.10.1-ppc32/Makefile (nonexistent)
@@ -1,217 +0,0 @@
-
-COMPONENT_TARGETS = $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-
-NEED_ABS_PATH = true
-COMPONENT_IS_3PP = true
-
-CREATE_PPC32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES = sources/packages/n/libgcrypt
-
-REQUIRES = net/libgcrypt/1.10.1
-REQUIRES += net/libgpg-error/1.41-ppc32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version = 1.10.1
-tar_bz2_archive = $(SRC_PACKAGE_PATH)/packages/n/libgcrypt/libgcrypt-$(version).tar.bz2
-SRC_ARCHIVE = $(tar_bz2_archive)
-SRC_DIR = $(TARGET_BUILD_DIR)/libgcrypt-$(version)
-src_dir_name = libgcrypt-$(version)
-src_done = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_dir = $(TARGET_BUILD_DIR)/build
-build_target = $(TARGET_BUILD_DIR)/.build_done
-install_target = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = net
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-GCRYPT_32_PKG_NAME = libgcrypt-x32
-GCRYPT_32_PKG_VERSION = 1.10.1
-GCRYPT_32_PKG_ARCH = $(PKGARCH)
-GCRYPT_32_PKG_DISTRO_NAME = $(DISTRO_NAME)
-GCRYPT_32_PKG_DISTRO_VERSION = $(DISTRO_VERSION)
-GCRYPT_32_PKG_GROUP = $(PKG_GROUP)
-### |---handy-ruler-------------------------------|
-GCRYPT_32_PKG_SHORT_DESCRIPTION = General purpose crypto library
-GCRYPT_32_PKG_URL = $(BUG_URL)
-GCRYPT_32_PKG_LICENSE = GPLv2
-GCRYPT_32_PKG_DESCRIPTION_FILE = $(TARGET_BUILD_DIR)/$(GCRYPT_32_PKG_NAME)-pkg-description
-GCRYPT_32_PKG_DESCRIPTION_FILE_IN = $(GCRYPT_32_PKG_NAME)-pkg-description.in
-GCRYPT_32_PKG_INSTALL_SCRIPT = $(GCRYPT_32_PKG_NAME)-pkg-install.sh
-
-GCRYPT_32_PKG = $(CURDIR)/$(TARGET_BUILD_DIR)/$(GCRYPT_32_PKG_NAME)-package
-
-pkg_basename = $(GCRYPT_32_PKG_NAME)-$(GCRYPT_32_PKG_VERSION)-$(GCRYPT_32_PKG_ARCH)-$(GCRYPT_32_PKG_DISTRO_NAME)-$(GCRYPT_32_PKG_DISTRO_VERSION)
-
-pkg_archive = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate = $(call cert-name,$(pkg_archive))
-pkg_signature = $(call sign-name,$(pkg_archive))
-pkg_description = $(call desc-name,$(pkg_archive))
-products = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS = $(build_target)
-BUILD_TARGETS += $(install_target)
-
-PRODUCT_TARGETS = $(products)
-
-ROOTFS_TARGETS = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(GCRYPT_32_PKG)
-
-
-extra_configure_switches = --libdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
-extra_configure_switches += --infodir=/usr/share/info
-extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
-
-extra_configure_switches += --bindir=/usr/bin/32
-
-extra_configure_switches += --disable-dependency-tracking
-extra_configure_switches += --program-prefix=""
-extra_configure_switches += --program-suffix=""
-
-ifeq ($(__ENABLE_STATIC__),yes)
-extra_configure_switches += --enable-static=yes
-else
-extra_configure_switches += --enable-static=no
-endif
-extra_configure_switches += --enable-shared=yes
-
-extra_configure_switches += --disable-asm
-
-
-libs_config = GPG_ERROR_CONFIG=$(TARGET_DEST_DIR)/usr/bin/32/gpg-error-config
-libs_config += GPGRT_CONFIG=$(TARGET_DEST_DIR)/usr/bin/32/gpgrt-config
-
-
-TARGET_BIN_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX)
-TARGET_LIB_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib/../lib$(MULTILIB_PPC32_SUFFIX)
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
- $(UNPACK_SRC_ARCHIVE)
- $(APPLY_PATCHES)
- @cp -a $(CONFIG_GUESS) $(CONFIG_SUB) $(SRC_DIR)/build-aux
- @touch $@
-
-$(build_target): $(src_done)
- @mkdir -p $(build_dir)
- @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(libs_config) ../$(src_dir_name)/configure \
- --prefix=/usr \
- --build=$(BUILD) \
- --host=$(TARGET32) \
- $(extra_configure_switches)
- @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
- @touch $@
-
-$(install_target): $(build_target)
- @mkdir -p $(GCRYPT_32_PKG)
- @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
- @mkdir -p $(GCRYPT_32_PKG)/lib$(MULTILIB_PPC32_SUFFIX)
- @( cd $(GCRYPT_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
- chmod +w lib*.so.*.*.? ; \
- mv lib*.so.*.*.? ../../lib$(MULTILIB_PPC32_SUFFIX) ; \
- ln -sf ../../lib$(MULTILIB_PPC32_SUFFIX)/lib*.so.*.*.? . ; \
- cp -a lib*.so.?? ../../lib$(MULTILIB_PPC32_SUFFIX) ; \
- )
- @rm -rf $(GCRYPT_32_PKG)/usr/include
- @rm -rf $(GCRYPT_32_PKG)/usr/share
- # ======= remove toolchain path from target libtool *.la files =======
- @( cd $(GCRYPT_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
- sed -i "s,$(TARGET_DEST_DIR),,g" libgcrypt.la ; \
- )
- @( cd $(GCRYPT_32_PKG)/usr/bin/32 ; \
- sed -i "s,$(TARGET_DEST_DIR),,g" libgcrypt-config ; \
- )
- # ======= Install the same to $(TARGET_DEST_DIR) =======
- $(call install-into-devenv, $(GCRYPT_32_PKG))
- # ======= tune libtool *.la search path to the target destination for development =======
- @( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
- sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libgcrypt.la ; \
- sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libgcrypt.la ; \
- )
- # ======= tune pkg-config *.pc search path to the target destination for development =======
- @( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
- sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libgcrypt.pc ; \
- )
- # ======= tune libgcrypt-config script to the target destination for development =======
- @( cd $(TARGET_DEST_DIR)/usr/bin/32 ; \
- sed -i 's,prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,g' libgcrypt-config ; \
- sed -i 's,libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,g' libgcrypt-config ; \
- )
- # ======= Strip binaries =======
- @( cd $(GCRYPT_32_PKG) ; \
- find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
- find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
- )
-ifeq ($(__ENABLE_STATIC__),yes)
- @( cd $(GCRYPT_32_PKG) ; \
- find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
- )
-endif
-ifneq ($(PATCHELF),)
- # ======= Set RPATH/RUNPATH for target binaries =======
- @( cd $(GCRYPT_32_PKG)/usr/bin/32 ; \
- for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
- rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
- if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
- $(PATCHELF) --set-rpath $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
- fi ; \
- done ; \
- )
- # ======= Set RPATH/RUNPATH for target shared objects =======
- @( cd $(GCRYPT_32_PKG)/lib$(MULTILIB_PPC32_SUFFIX) ; \
- for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
- rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
- if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
- $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
- fi ; \
- done ; \
- )
-endif
- @touch $@
-
-$(GCRYPT_32_PKG_DESCRIPTION_FILE): $(GCRYPT_32_PKG_DESCRIPTION_FILE_IN)
- @cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature) : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(GCRYPT_32_PKG_DESCRIPTION_FILE) $(GCRYPT_32_PKG_INSTALL_SCRIPT)
- @cp $(GCRYPT_32_PKG_DESCRIPTION_FILE) $(GCRYPT_32_PKG)/.DESCRIPTION
- @cp $(GCRYPT_32_PKG_INSTALL_SCRIPT) $(GCRYPT_32_PKG)/.INSTALL
- @$(BUILD_PKG_REQUIRES) $(GCRYPT_32_PKG)/.REQUIRES
- @echo "pkgname=$(GCRYPT_32_PKG_NAME)" > $(GCRYPT_32_PKG)/.PKGINFO ; \
- echo "pkgver=$(GCRYPT_32_PKG_VERSION)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
- echo "arch=$(GCRYPT_32_PKG_ARCH)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
- echo "distroname=$(GCRYPT_32_PKG_DISTRO_NAME)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
- echo "distrover=$(GCRYPT_32_PKG_DISTRO_VERSION)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
- echo "group=$(GCRYPT_32_PKG_GROUP)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
- echo "short_description=\"$(GCRYPT_32_PKG_SHORT_DESCRIPTION)\"" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
- echo "url=$(GCRYPT_32_PKG_URL)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
- echo "license=$(GCRYPT_32_PKG_LICENSE)" >> $(GCRYPT_32_PKG)/.PKGINFO
- @$(PSEUDO) sh -c "cd $(GCRYPT_32_PKG) && \
- chown -R root:root . && \
- $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/libgcrypt/1.10.1-ppc32
===================================================================
--- net/libgcrypt/1.10.1-ppc32 (revision 446)
+++ net/libgcrypt/1.10.1-ppc32 (nonexistent)
Property changes on: net/libgcrypt/1.10.1-ppc32
___________________________________________________________________
Deleted: svn:ignore
## -1,74 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.rk358x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: net/libgcrypt/1.10.1-x86_32/libgcrypt-x32-pkg-description.in
===================================================================
--- net/libgcrypt/1.10.1-x86_32/libgcrypt-x32-pkg-description.in (revision 446)
+++ net/libgcrypt/1.10.1-x86_32/libgcrypt-x32-pkg-description.in (nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-libgcrypt-x32: libgcrypt-x32 @VERSION@ (x86_64 General purpose crypto library)
-libgcrypt-x32:
-libgcrypt-x32: Libgcrypt is a general purpose crypto library based on the code
-libgcrypt-x32: used in GnuPG.
-libgcrypt-x32:
-libgcrypt-x32:
-libgcrypt-x32:
-libgcrypt-x32:
-libgcrypt-x32:
-libgcrypt-x32:
-libgcrypt-x32:
Index: net/libgcrypt/1.10.1-x86_32/libgcrypt-x32-pkg-install.sh
===================================================================
--- net/libgcrypt/1.10.1-x86_32/libgcrypt-x32-pkg-install.sh (revision 446)
+++ net/libgcrypt/1.10.1-x86_32/libgcrypt-x32-pkg-install.sh (nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1: the new package version
-pre_install() {
- /bin/true
-}
-
-# arg 1: the new package version
-post_install() {
- /bin/true
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-pre_update() {
- /bin/true
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-post_update() {
- post_install
-}
-
-# arg 1: the old package version
-pre_remove() {
- /bin/true
-}
-
-# arg 1: the old package version
-post_remove() {
- /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*
Property changes on: net/libgcrypt/1.10.1-x86_32/libgcrypt-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: net/libgcrypt/1.10.1-x86_32/PATCHES
===================================================================
--- net/libgcrypt/1.10.1-x86_32/PATCHES (revision 446)
+++ net/libgcrypt/1.10.1-x86_32/PATCHES (nonexistent)
@@ -1,3 +0,0 @@
-
-../../../sources/packages/n/libgcrypt/patches/libgcrypt-1.10.1-riscv.patch -p0
-../../../sources/packages/n/libgcrypt/patches/libgcrypt-1.10.1-powerpc.patch -p0
Index: net/libgcrypt/1.10.1-x86_32/Makefile
===================================================================
--- net/libgcrypt/1.10.1-x86_32/Makefile (revision 446)
+++ net/libgcrypt/1.10.1-x86_32/Makefile (nonexistent)
@@ -1,214 +0,0 @@
-
-COMPONENT_TARGETS = $(HARDWARE_INTEL_PC64)
-
-NEED_ABS_PATH = true
-COMPONENT_IS_3PP = true
-
-CREATE_X86_32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES = sources/packages/n/libgcrypt
-
-REQUIRES = net/libgcrypt/1.10.1
-REQUIRES += net/libgpg-error/1.41-x86_32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version = 1.10.1
-tar_bz2_archive = $(SRC_PACKAGE_PATH)/packages/n/libgcrypt/libgcrypt-$(version).tar.bz2
-SRC_ARCHIVE = $(tar_bz2_archive)
-SRC_DIR = $(TARGET_BUILD_DIR)/libgcrypt-$(version)
-src_dir_name = libgcrypt-$(version)
-src_done = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_dir = $(TARGET_BUILD_DIR)/build
-build_target = $(TARGET_BUILD_DIR)/.build_done
-install_target = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = net
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-GCRYPT_32_PKG_NAME = libgcrypt-x32
-GCRYPT_32_PKG_VERSION = 1.10.1
-GCRYPT_32_PKG_ARCH = $(PKGARCH)
-GCRYPT_32_PKG_DISTRO_NAME = $(DISTRO_NAME)
-GCRYPT_32_PKG_DISTRO_VERSION = $(DISTRO_VERSION)
-GCRYPT_32_PKG_GROUP = $(PKG_GROUP)
-### |---handy-ruler-------------------------------|
-GCRYPT_32_PKG_SHORT_DESCRIPTION = General purpose crypto library
-GCRYPT_32_PKG_URL = $(BUG_URL)
-GCRYPT_32_PKG_LICENSE = GPLv2
-GCRYPT_32_PKG_DESCRIPTION_FILE = $(TARGET_BUILD_DIR)/$(GCRYPT_32_PKG_NAME)-pkg-description
-GCRYPT_32_PKG_DESCRIPTION_FILE_IN = $(GCRYPT_32_PKG_NAME)-pkg-description.in
-GCRYPT_32_PKG_INSTALL_SCRIPT = $(GCRYPT_32_PKG_NAME)-pkg-install.sh
-
-GCRYPT_32_PKG = $(CURDIR)/$(TARGET_BUILD_DIR)/$(GCRYPT_32_PKG_NAME)-package
-
-pkg_basename = $(GCRYPT_32_PKG_NAME)-$(GCRYPT_32_PKG_VERSION)-$(GCRYPT_32_PKG_ARCH)-$(GCRYPT_32_PKG_DISTRO_NAME)-$(GCRYPT_32_PKG_DISTRO_VERSION)
-
-pkg_archive = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate = $(call cert-name,$(pkg_archive))
-pkg_signature = $(call sign-name,$(pkg_archive))
-pkg_description = $(call desc-name,$(pkg_archive))
-products = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS = $(build_target)
-BUILD_TARGETS += $(install_target)
-
-PRODUCT_TARGETS = $(products)
-
-ROOTFS_TARGETS = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(GCRYPT_32_PKG)
-
-
-extra_configure_switches = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
-extra_configure_switches += --infodir=/usr/share/info
-extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
-
-extra_configure_switches += --bindir=/usr/bin/32
-
-extra_configure_switches += --disable-dependency-tracking
-extra_configure_switches += --program-prefix=""
-extra_configure_switches += --program-suffix=""
-
-ifeq ($(__ENABLE_STATIC__),yes)
-extra_configure_switches += --enable-static=yes
-else
-extra_configure_switches += --enable-static=no
-endif
-extra_configure_switches += --enable-shared=yes
-
-extra_configure_switches += --disable-asm
-
-
-libs_config = GPG_ERROR_CONFIG=$(TARGET_DEST_DIR)/usr/bin/32/gpg-error-config
-libs_config += GPGRT_CONFIG=$(TARGET_DEST_DIR)/usr/bin/32/gpgrt-config
-
-
-TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
-TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
- $(UNPACK_SRC_ARCHIVE)
- $(APPLY_PATCHES)
- @cp -a $(CONFIG_GUESS) $(CONFIG_SUB) $(SRC_DIR)/build-aux
- @touch $@
-
-$(build_target): $(src_done)
- @mkdir -p $(build_dir)
- @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(libs_config) ../$(src_dir_name)/configure \
- --prefix=/usr \
- --build=$(BUILD) \
- --host=$(TARGET32) \
- $(extra_configure_switches)
- @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
- @touch $@
-
-$(install_target): $(build_target)
- @mkdir -p $(GCRYPT_32_PKG)
- @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
- @mkdir -p $(GCRYPT_32_PKG)/lib$(MULTILIB_X86_32_SUFFIX)
- @( cd $(GCRYPT_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
- chmod +w lib*.so.*.*.? ; \
- mv lib*.so.*.*.? ../../lib$(MULTILIB_X86_32_SUFFIX) ; \
- ln -sf ../../lib$(MULTILIB_X86_32_SUFFIX)/lib*.so.*.*.? . ; \
- cp -a lib*.so.?? ../../lib$(MULTILIB_X86_32_SUFFIX) ; \
- )
- @rm -rf $(GCRYPT_32_PKG)/usr/include
- @rm -rf $(GCRYPT_32_PKG)/usr/share
- # ======= remove toolchain path from target libtool *.la files =======
- @( cd $(GCRYPT_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
- sed -i "s,$(TARGET_DEST_DIR),,g" libgcrypt.la ; \
- )
- @( cd $(GCRYPT_32_PKG)/usr/bin/32 ; \
- sed -i "s,$(TARGET_DEST_DIR),,g" libgcrypt-config ; \
- )
- # ======= Install the same to $(TARGET_DEST_DIR) =======
- $(call install-into-devenv, $(GCRYPT_32_PKG))
- # ======= tune libtool *.la search path to the target destination for development =======
- @( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
- sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libgcrypt.la ; \
- sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libgcrypt.la ; \
- )
- # ======= tune pkg-config *.pc search path to the target destination for development =======
- @( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
- sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libgcrypt.pc ; \
- )
- # ======= tune libgcrypt-config script to the target destination for development =======
- @( cd $(TARGET_DEST_DIR)/usr/bin/32 ; \
- sed -i 's,prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,g' libgcrypt-config ; \
- sed -i 's,libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,g' libgcrypt-config ; \
- )
- # ======= Strip binaries =======
- @( cd $(GCRYPT_32_PKG) ; \
- find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
- find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
- )
-ifeq ($(__ENABLE_STATIC__),yes)
- @( cd $(GCRYPT_32_PKG) ; \
- find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
- )
-endif
-ifneq ($(PATCHELF),)
- # ======= Set RPATH/RUNPATH for target binaries =======
- @( cd $(GCRYPT_32_PKG)/usr/bin/32 ; \
- for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
- rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
- if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
- $(PATCHELF) --set-rpath $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
- fi ; \
- done ; \
- )
- # ======= Set RPATH/RUNPATH for target shared objects =======
- @( cd $(GCRYPT_32_PKG)/lib$(MULTILIB_X86_32_SUFFIX) ; \
- for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
- rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
- if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
- $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
- fi ; \
- done ; \
- )
-endif
- @touch $@
-
-$(GCRYPT_32_PKG_DESCRIPTION_FILE): $(GCRYPT_32_PKG_DESCRIPTION_FILE_IN)
- @cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature) : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(GCRYPT_32_PKG_DESCRIPTION_FILE) $(GCRYPT_32_PKG_INSTALL_SCRIPT)
- @cp $(GCRYPT_32_PKG_DESCRIPTION_FILE) $(GCRYPT_32_PKG)/.DESCRIPTION
- @cp $(GCRYPT_32_PKG_INSTALL_SCRIPT) $(GCRYPT_32_PKG)/.INSTALL
- @$(BUILD_PKG_REQUIRES) $(GCRYPT_32_PKG)/.REQUIRES
- @echo "pkgname=$(GCRYPT_32_PKG_NAME)" > $(GCRYPT_32_PKG)/.PKGINFO ; \
- echo "pkgver=$(GCRYPT_32_PKG_VERSION)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
- echo "arch=$(GCRYPT_32_PKG_ARCH)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
- echo "distroname=$(GCRYPT_32_PKG_DISTRO_NAME)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
- echo "distrover=$(GCRYPT_32_PKG_DISTRO_VERSION)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
- echo "group=$(GCRYPT_32_PKG_GROUP)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
- echo "short_description=\"$(GCRYPT_32_PKG_SHORT_DESCRIPTION)\"" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
- echo "url=$(GCRYPT_32_PKG_URL)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
- echo "license=$(GCRYPT_32_PKG_LICENSE)" >> $(GCRYPT_32_PKG)/.PKGINFO
- @$(PSEUDO) sh -c "cd $(GCRYPT_32_PKG) && \
- chown -R root:root . && \
- $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/libgcrypt/1.10.1-x86_32
===================================================================
--- net/libgcrypt/1.10.1-x86_32 (revision 446)
+++ net/libgcrypt/1.10.1-x86_32 (nonexistent)
Property changes on: net/libgcrypt/1.10.1-x86_32
___________________________________________________________________
Deleted: svn:ignore
## -1,74 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.rk358x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: net/libgcrypt/1.10.1/libgcrypt-pkg-description.in
===================================================================
--- net/libgcrypt/1.10.1/libgcrypt-pkg-description.in (revision 446)
+++ net/libgcrypt/1.10.1/libgcrypt-pkg-description.in (nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-libgcrypt: libgcrypt @VERSION@ (General purpose crypto library)
-libgcrypt:
-libgcrypt: Libgcrypt is a general purpose crypto library based on the code
-libgcrypt: used in GnuPG.
-libgcrypt:
-libgcrypt:
-libgcrypt:
-libgcrypt:
-libgcrypt:
-libgcrypt:
-libgcrypt:
Index: net/libgcrypt/1.10.1/PATCHES
===================================================================
--- net/libgcrypt/1.10.1/PATCHES (revision 446)
+++ net/libgcrypt/1.10.1/PATCHES (nonexistent)
@@ -1,3 +0,0 @@
-
-../../../sources/packages/n/libgcrypt/patches/libgcrypt-1.10.1-riscv.patch -p0
-../../../sources/packages/n/libgcrypt/patches/libgcrypt-1.10.1-powerpc.patch -p0
Index: net/libgcrypt/1.10.1/libgcrypt-pkg-install.sh
===================================================================
--- net/libgcrypt/1.10.1/libgcrypt-pkg-install.sh (revision 446)
+++ net/libgcrypt/1.10.1/libgcrypt-pkg-install.sh (nonexistent)
@@ -1,69 +0,0 @@
-#!/bin/sh
-
-# Preserve new files
-install_file() {
- NEW="$1"
- OLD="`dirname $NEW`/`basename $NEW .new`"
- # If there's no file by that name, mv it over:
- if [ ! -r $OLD ]; then
- mv $NEW $OLD
- elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
- rm $NEW
- fi
- # Otherwise, we leave the .new copy for the admin to consider...
-}
-
-
-# arg 1: the new package version
-pre_install() {
- /bin/true
-}
-
-# arg 1: the new package version
-post_install() {
- #
- # NOTE:
- # 'install-info' can work using relative paths and we can make use build machine
- # utility during installation to the some partition and use target 'install-info'
- # during installation directly on the running target machine.
- #
- if [ -x /usr/bin/install-info ] ; then
- install-info --info-dir=usr/share/info usr/share/info/gcrypt.info.gz 2>/dev/null
- elif ! grep "(gcrypt)" usr/share/info/dir 1> /dev/null 2> /dev/null ; then
- cat << EOF >> usr/share/info/dir
-
-GNU Libraries
-* libgcrypt: (gcrypt). Cryptographic function library.
-EOF
- fi
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-pre_update() {
- /bin/true
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-post_update() {
- post_install
-}
-
-# arg 1: the old package version
-pre_remove() {
- if [ -x /usr/bin/install-info ] ; then
- install-info --delete --info-file=usr/share/info/gcrypt.info.gz --dir-file=usr/share/info/dir 2> /dev/null || /bin/true
- fi
-}
-
-# arg 1: the old package version
-post_remove() {
- /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*
Property changes on: net/libgcrypt/1.10.1/libgcrypt-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: net/libgcrypt/1.10.1/Makefile
===================================================================
--- net/libgcrypt/1.10.1/Makefile (revision 446)
+++ net/libgcrypt/1.10.1/Makefile (nonexistent)
@@ -1,290 +0,0 @@
-
-COMPONENT_TARGETS = $(HARDWARE_INTEL_PC32)
-COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
-COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
-COMPONENT_TARGETS += $(HARDWARE_CB1X)
-COMPONENT_TARGETS += $(HARDWARE_CB2X)
-COMPONENT_TARGETS += $(HARDWARE_CB3X)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
-COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5B)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5P)
-COMPONENT_TARGETS += $(HARDWARE_ROCK_5B)
-COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
-COMPONENT_TARGETS += $(HARDWARE_REPKA_PI3)
-COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
-COMPONENT_TARGETS += $(HARDWARE_POIN2)
-COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
-COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
-COMPONENT_TARGETS += $(HARDWARE_M201)
-COMPONENT_TARGETS += $(HARDWARE_MXV)
-COMPONENT_TARGETS += $(HARDWARE_P201)
-COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
-COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
-COMPONENT_TARGETS += $(HARDWARE_P212)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
-COMPONENT_TARGETS += $(HARDWARE_Q201)
-COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
-COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
-COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
-COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
-COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
-COMPONENT_TARGETS += $(HARDWARE_CI20)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
-COMPONENT_TARGETS += $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_VISIONFIVE2)
-COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
-
-
-NEED_ABS_PATH = true
-COMPONENT_IS_3PP = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES = sources/packages/n/libgcrypt
-
-REQUIRES = net/libgpg-error/1.41
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version = 1.10.1
-tar_bz2_archive = $(SRC_PACKAGE_PATH)/packages/n/libgcrypt/libgcrypt-$(version).tar.bz2
-SRC_ARCHIVE = $(tar_bz2_archive)
-SRC_DIR = $(TARGET_BUILD_DIR)/libgcrypt-$(version)
-src_dir_name = libgcrypt-$(version)
-src_done = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_dir = $(TARGET_BUILD_DIR)/build
-build_target = $(TARGET_BUILD_DIR)/.build_done
-install_target = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = net
-
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-GCRYPT_PKG_NAME = libgcrypt
-GCRYPT_PKG_VERSION = 1.10.1
-GCRYPT_PKG_ARCH = $(PKGARCH)
-GCRYPT_PKG_DISTRO_NAME = $(DISTRO_NAME)
-GCRYPT_PKG_DISTRO_VERSION = $(DISTRO_VERSION)
-GCRYPT_PKG_GROUP = $(PKG_GROUP)
-### |---handy-ruler-------------------------------|
-GCRYPT_PKG_SHORT_DESCRIPTION = General purpose crypto library
-GCRYPT_PKG_URL = $(BUG_URL)
-GCRYPT_PKG_LICENSE = GPLv2
-GCRYPT_PKG_DESCRIPTION_FILE = $(TARGET_BUILD_DIR)/$(GCRYPT_PKG_NAME)-pkg-description
-GCRYPT_PKG_DESCRIPTION_FILE_IN = $(GCRYPT_PKG_NAME)-pkg-description.in
-GCRYPT_PKG_INSTALL_SCRIPT = $(GCRYPT_PKG_NAME)-pkg-install.sh
-
-GCRYPT_PKG = $(CURDIR)/$(TARGET_BUILD_DIR)/$(GCRYPT_PKG_NAME)-package
-
-pkg_basename = $(GCRYPT_PKG_NAME)-$(GCRYPT_PKG_VERSION)-$(GCRYPT_PKG_ARCH)-$(GCRYPT_PKG_DISTRO_NAME)-$(GCRYPT_PKG_DISTRO_VERSION)
-
-pkg_archive = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate = $(call cert-name,$(pkg_archive))
-pkg_signature = $(call sign-name,$(pkg_archive))
-pkg_description = $(call desc-name,$(pkg_archive))
-products = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS = $(build_target)
-BUILD_TARGETS += $(install_target)
-
-PRODUCT_TARGETS = $(products)
-
-ROOTFS_TARGETS = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(GCRYPT_PKG)
-
-
-extra_configure_switches = --libdir=/usr/lib$(LIBSUFFIX)
-extra_configure_switches += --infodir=/usr/share/info
-extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
-extra_configure_switches += --disable-dependency-tracking
-extra_configure_switches += --program-prefix=""
-extra_configure_switches += --program-suffix=""
-
-ifeq ($(__ENABLE_STATIC__),yes)
-extra_configure_switches += --enable-static=yes
-else
-extra_configure_switches += --enable-static=no
-endif
-extra_configure_switches += --enable-shared=yes
-
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC) $(TOOLCHAIN_I686_GLIBC) $(TOOLCHAIN_I586_GLIBC)),)
-extra_configure_switches += --disable-asm
-endif
-
-libs_config = GPG_ERROR_CONFIG=$(TARGET_DEST_DIR)/usr/bin/gpg-error-config
-libs_config += GPGRT_CONFIG=$(TARGET_DEST_DIR)/usr/bin/gpgrt-config
-
-
-TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
-TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
- $(UNPACK_SRC_ARCHIVE)
- $(APPLY_PATCHES)
- @cp -a $(CONFIG_GUESS) $(CONFIG_SUB) $(SRC_DIR)/build-aux
- @touch $@
-
-$(build_target): $(src_done)
- @mkdir -p $(build_dir)
- @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(libs_config) ../$(src_dir_name)/configure \
- --prefix=/usr \
- --build=$(BUILD) \
- --host=$(TARGET) \
- $(extra_configure_switches)
- @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
- @touch $@
-
-$(install_target): $(build_target)
- @mkdir -p $(GCRYPT_PKG)
- @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
- @mkdir -p $(GCRYPT_PKG)/lib$(LIBSUFFIX)
- @( cd $(GCRYPT_PKG)/usr/lib$(LIBSUFFIX) ; \
- chmod +w lib*.so.*.*.? ; \
- mv lib*.so.*.*.? ../../lib$(LIBSUFFIX) ; \
- ln -sf ../../lib$(LIBSUFFIX)/lib*.so.*.*.? . ; \
- cp -a lib*.so.?? ../../lib$(LIBSUFFIX) ; \
- )
- # ======= Install Documentation =======
- @rm -f $(GCRYPT_PKG)/usr/share/info/dir
- @gzip -9 $(GCRYPT_PKG)/usr/share/info/*
- @if [ -d $(GCRYPT_PKG)/usr/share/man ]; then \
- ( cd $(GCRYPT_PKG)/usr/share/man ; \
- for manpagedir in `find . -type d -name "man*"` ; do \
- ( cd $$manpagedir ; \
- for eachpage in `find . -type l -maxdepth 1` ; do \
- ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
- rm $$eachpage ; \
- done ; \
- gzip -9 *.? ; \
- ) \
- done \
- ) \
- fi
- @mkdir -p $(GCRYPT_PKG)/usr/doc/$(src_dir_name)
- @cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING* \
- $(GCRYPT_PKG)/usr/doc/$(src_dir_name)
- @mkdir -p $(GCRYPT_PKG)/usr/share/doc/$(src_dir_name)
- @( cd $(SRC_DIR) ; \
- cp -a AUTHORS COPYING* INSTALL LICENSES NEWS README* THANKS TODO VERSION \
- doc/DCO doc/HACKING doc/README* doc/fips-fsm.pdf doc/libgcrypt-modules.pdf \
- $(GCRYPT_PKG)/usr/share/doc/$(src_dir_name) ; \
- )
- @( cd $(SRC_DIR) ; \
- if [ -r ChangeLog ]; then \
- DOCSDIR=`echo $(GCRYPT_PKG)/usr/share/doc/$(src_dir_name)` ; \
- cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
- touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
- fi \
- )
- # ======= remove toolchain path from target libtool *.la files =======
- @( cd $(GCRYPT_PKG)/usr/lib$(LIBSUFFIX) ; \
- sed -i "s,$(TARGET_DEST_DIR),,g" libgcrypt.la ; \
- )
- @( cd $(GCRYPT_PKG)/usr/bin ; \
- sed -i "s,$(TARGET_DEST_DIR),,g" libgcrypt-config ; \
- )
- # ======= Install the same to $(TARGET_DEST_DIR) =======
- $(call install-into-devenv, $(GCRYPT_PKG))
- # ======= tune libtool *.la search path to the target destination for development =======
- @( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
- sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libgcrypt.la ; \
- sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libgcrypt.la ; \
- )
- # ======= tune pkg-config *.pc search path to the target destination for development =======
- @( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
- sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libgcrypt.pc ; \
- )
- # ======= tune libgcrypt-config script to the target destination for development =======
- @( cd $(TARGET_DEST_DIR)/usr/bin ; \
- sed -i 's,prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,g' libgcrypt-config ; \
- sed -i 's,libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,g' libgcrypt-config ; \
- )
- # ======= Strip binaries =======
- @( cd $(GCRYPT_PKG) ; \
- find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
- find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
- )
-ifeq ($(__ENABLE_STATIC__),yes)
- @( cd $(GCRYPT_PKG) ; \
- find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
- )
-endif
-ifneq ($(PATCHELF),)
- # ======= Set RPATH/RUNPATH for target binaries =======
- @( cd $(GCRYPT_PKG)/usr/bin ; \
- for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
- rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
- if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
- $(PATCHELF) --set-rpath $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
- fi ; \
- done ; \
- )
- # ======= Set RPATH/RUNPATH for target shared objects =======
- @( cd $(GCRYPT_PKG)/lib$(LIBSUFFIX) ; \
- for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
- rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
- if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
- $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
- fi ; \
- done ; \
- )
-endif
- @touch $@
-
-$(GCRYPT_PKG_DESCRIPTION_FILE): $(GCRYPT_PKG_DESCRIPTION_FILE_IN)
- @cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature) : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(GCRYPT_PKG_DESCRIPTION_FILE) $(GCRYPT_PKG_INSTALL_SCRIPT)
- @cp $(GCRYPT_PKG_DESCRIPTION_FILE) $(GCRYPT_PKG)/.DESCRIPTION
- @cp $(GCRYPT_PKG_INSTALL_SCRIPT) $(GCRYPT_PKG)/.INSTALL
- @$(BUILD_PKG_REQUIRES) $(GCRYPT_PKG)/.REQUIRES
- @echo "pkgname=$(GCRYPT_PKG_NAME)" > $(GCRYPT_PKG)/.PKGINFO ; \
- echo "pkgver=$(GCRYPT_PKG_VERSION)" >> $(GCRYPT_PKG)/.PKGINFO ; \
- echo "arch=$(GCRYPT_PKG_ARCH)" >> $(GCRYPT_PKG)/.PKGINFO ; \
- echo "distroname=$(GCRYPT_PKG_DISTRO_NAME)" >> $(GCRYPT_PKG)/.PKGINFO ; \
- echo "distrover=$(GCRYPT_PKG_DISTRO_VERSION)" >> $(GCRYPT_PKG)/.PKGINFO ; \
- echo "group=$(GCRYPT_PKG_GROUP)" >> $(GCRYPT_PKG)/.PKGINFO ; \
- echo "short_description=\"$(GCRYPT_PKG_SHORT_DESCRIPTION)\"" >> $(GCRYPT_PKG)/.PKGINFO ; \
- echo "url=$(GCRYPT_PKG_URL)" >> $(GCRYPT_PKG)/.PKGINFO ; \
- echo "license=$(GCRYPT_PKG_LICENSE)" >> $(GCRYPT_PKG)/.PKGINFO
- @$(PSEUDO) sh -c "cd $(GCRYPT_PKG) && \
- chown -R root:root . && \
- $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/libgcrypt/1.10.1
===================================================================
--- net/libgcrypt/1.10.1 (revision 446)
+++ net/libgcrypt/1.10.1 (nonexistent)
Property changes on: net/libgcrypt/1.10.1
___________________________________________________________________
Deleted: svn:ignore
## -1,74 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.rk358x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: net/libgcrypt/1.11.0/Makefile
===================================================================
--- net/libgcrypt/1.11.0/Makefile (nonexistent)
+++ net/libgcrypt/1.11.0/Makefile (revision 447)
@@ -0,0 +1,292 @@
+
+COMPONENT_TARGETS = $(HARDWARE_INTEL_PC32)
+COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
+COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
+COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5B)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5P)
+COMPONENT_TARGETS += $(HARDWARE_ROCK_5B)
+COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
+COMPONENT_TARGETS += $(HARDWARE_REPKA_PI3)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_POIN2)
+COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
+COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXV)
+COMPONENT_TARGETS += $(HARDWARE_P201)
+COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
+COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
+COMPONENT_TARGETS += $(HARDWARE_P212)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
+COMPONENT_TARGETS += $(HARDWARE_Q201)
+COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
+COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
+COMPONENT_TARGETS += $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_VISIONFIVE2)
+COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
+
+
+NEED_ABS_PATH = true
+COMPONENT_IS_3PP = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES = sources/packages/n/libgcrypt
+
+REQUIRES = net/libgpg-error/1.51
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version = 1.11.0
+tar_bz2_archive = $(SRC_PACKAGE_PATH)/packages/n/libgcrypt/libgcrypt-$(version).tar.bz2
+SRC_ARCHIVE = $(tar_bz2_archive)
+SRC_DIR = $(TARGET_BUILD_DIR)/libgcrypt-$(version)
+src_dir_name = libgcrypt-$(version)
+src_done = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir = $(TARGET_BUILD_DIR)/build
+build_target = $(TARGET_BUILD_DIR)/.build_done
+install_target = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = net
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+GCRYPT_PKG_NAME = libgcrypt
+GCRYPT_PKG_VERSION = 1.11.0
+GCRYPT_PKG_ARCH = $(PKGARCH)
+GCRYPT_PKG_DISTRO_NAME = $(DISTRO_NAME)
+GCRYPT_PKG_DISTRO_VERSION = $(DISTRO_VERSION)
+GCRYPT_PKG_GROUP = $(PKG_GROUP)
+### |---handy-ruler-------------------------------|
+GCRYPT_PKG_SHORT_DESCRIPTION = General purpose crypto library
+GCRYPT_PKG_URL = $(BUG_URL)
+GCRYPT_PKG_LICENSE = GPLv2
+GCRYPT_PKG_DESCRIPTION_FILE = $(TARGET_BUILD_DIR)/$(GCRYPT_PKG_NAME)-pkg-description
+GCRYPT_PKG_DESCRIPTION_FILE_IN = $(GCRYPT_PKG_NAME)-pkg-description.in
+GCRYPT_PKG_INSTALL_SCRIPT = $(GCRYPT_PKG_NAME)-pkg-install.sh
+
+GCRYPT_PKG = $(CURDIR)/$(TARGET_BUILD_DIR)/$(GCRYPT_PKG_NAME)-package
+
+pkg_basename = $(GCRYPT_PKG_NAME)-$(GCRYPT_PKG_VERSION)-$(GCRYPT_PKG_ARCH)-$(GCRYPT_PKG_DISTRO_NAME)-$(GCRYPT_PKG_DISTRO_VERSION)
+
+pkg_archive = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate = $(call cert-name,$(pkg_archive))
+pkg_signature = $(call sign-name,$(pkg_archive))
+pkg_description = $(call desc-name,$(pkg_archive))
+products = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS = $(build_target)
+BUILD_TARGETS += $(install_target)
+
+PRODUCT_TARGETS = $(products)
+
+ROOTFS_TARGETS = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(GCRYPT_PKG)
+
+
+extra_configure_switches = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --disable-dependency-tracking
+extra_configure_switches += --program-prefix=""
+extra_configure_switches += --program-suffix=""
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static=yes
+else
+extra_configure_switches += --enable-static=no
+endif
+extra_configure_switches += --enable-shared=yes
+
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_H3_GLIBC) $(TOOLCHAIN_IMX6_GLIBC) $(TOOLCHAIN_OMAP543X_GLIBC) \
+ $(TOOLCHAIN_X86_64_GLIBC) $(TOOLCHAIN_I686_GLIBC) $(TOOLCHAIN_I586_GLIBC)),)
+extra_configure_switches += --disable-asm
+endif
+
+libs_config = GPG_ERROR_CONFIG=$(TARGET_DEST_DIR)/usr/bin/gpg-error-config
+libs_config += GPGRT_CONFIG=$(TARGET_DEST_DIR)/usr/bin/gpgrt-config
+
+CFLAGS += -Wno-stringop-overflow -Wno-maybe-uninitialized
+
+TARGET_BIN_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX)
+TARGET_LIB_RPATH = /lib$(LIBSUFFIX):/usr/lib$(LIBSUFFIX):/usr/lib/../lib$(LIBSUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+ $(UNPACK_SRC_ARCHIVE)
+ $(APPLY_PATCHES)
+ @cp -a $(CONFIG_GUESS) $(CONFIG_SUB) $(SRC_DIR)/build-aux
+ @touch $@
+
+$(build_target): $(src_done)
+ @mkdir -p $(build_dir)
+ @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(libs_config) ../$(src_dir_name)/configure \
+ --prefix=/usr \
+ --build=$(BUILD) \
+ --host=$(TARGET) \
+ $(extra_configure_switches)
+ @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+ @touch $@
+
+$(install_target): $(build_target)
+ @mkdir -p $(GCRYPT_PKG)
+ @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+ @mkdir -p $(GCRYPT_PKG)/lib$(LIBSUFFIX)
+ @( cd $(GCRYPT_PKG)/usr/lib$(LIBSUFFIX) ; \
+ chmod +w lib*.so.*.*.? ; \
+ mv lib*.so.*.*.? ../../lib$(LIBSUFFIX) ; \
+ ln -sf ../../lib$(LIBSUFFIX)/lib*.so.*.*.? . ; \
+ cp -a lib*.so.?? ../../lib$(LIBSUFFIX) ; \
+ )
+ # ======= Install Documentation =======
+ @rm -f $(GCRYPT_PKG)/usr/share/info/dir
+ @gzip -9 $(GCRYPT_PKG)/usr/share/info/*
+ @if [ -d $(GCRYPT_PKG)/usr/share/man ]; then \
+ ( cd $(GCRYPT_PKG)/usr/share/man ; \
+ for manpagedir in `find . -type d -name "man*"` ; do \
+ ( cd $$manpagedir ; \
+ for eachpage in `find . -type l -maxdepth 1` ; do \
+ ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+ rm $$eachpage ; \
+ done ; \
+ gzip -9 *.? ; \
+ ) \
+ done \
+ ) \
+ fi
+ @mkdir -p $(GCRYPT_PKG)/usr/doc/$(src_dir_name)
+ @cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING* \
+ $(GCRYPT_PKG)/usr/doc/$(src_dir_name)
+ @mkdir -p $(GCRYPT_PKG)/usr/share/doc/$(src_dir_name)
+ @( cd $(SRC_DIR) ; \
+ cp -a AUTHORS COPYING* INSTALL LICENSES NEWS README* THANKS TODO VERSION \
+ doc/DCO doc/HACKING doc/README* doc/fips-fsm.pdf doc/libgcrypt-modules.pdf \
+ $(GCRYPT_PKG)/usr/share/doc/$(src_dir_name) ; \
+ )
+ @( cd $(SRC_DIR) ; \
+ if [ -r ChangeLog ]; then \
+ DOCSDIR=`echo $(GCRYPT_PKG)/usr/share/doc/$(src_dir_name)` ; \
+ cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+ touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+ fi \
+ )
+ # ======= remove toolchain path from target libtool *.la files =======
+ @( cd $(GCRYPT_PKG)/usr/lib$(LIBSUFFIX) ; \
+ sed -i "s,$(TARGET_DEST_DIR),,g" libgcrypt.la ; \
+ )
+ @( cd $(GCRYPT_PKG)/usr/bin ; \
+ sed -i "s,$(TARGET_DEST_DIR),,g" libgcrypt-config ; \
+ )
+ # ======= Install the same to $(TARGET_DEST_DIR) =======
+ $(call install-into-devenv, $(GCRYPT_PKG))
+ # ======= tune libtool *.la search path to the target destination for development =======
+ @( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+ sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libgcrypt.la ; \
+ sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libgcrypt.la ; \
+ )
+ # ======= tune pkg-config *.pc search path to the target destination for development =======
+ @( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+ sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libgcrypt.pc ; \
+ )
+ # ======= tune libgcrypt-config script to the target destination for development =======
+ @( cd $(TARGET_DEST_DIR)/usr/bin ; \
+ sed -i 's,prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,g' libgcrypt-config ; \
+ sed -i 's,libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,g' libgcrypt-config ; \
+ )
+ # ======= Strip binaries =======
+ @( cd $(GCRYPT_PKG) ; \
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+ )
+ifeq ($(__ENABLE_STATIC__),yes)
+ @( cd $(GCRYPT_PKG) ; \
+ find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+ )
+endif
+ifneq ($(PATCHELF),)
+ # ======= Set RPATH/RUNPATH for target binaries =======
+ @( cd $(GCRYPT_PKG)/usr/bin ; \
+ for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+ rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+ if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+ $(PATCHELF) --set-rpath $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+ fi ; \
+ done ; \
+ )
+ # ======= Set RPATH/RUNPATH for target shared objects =======
+ @( cd $(GCRYPT_PKG)/lib$(LIBSUFFIX) ; \
+ for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+ rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+ if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+ $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+ fi ; \
+ done ; \
+ )
+endif
+ @touch $@
+
+$(GCRYPT_PKG_DESCRIPTION_FILE): $(GCRYPT_PKG_DESCRIPTION_FILE_IN)
+ @cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature) : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(GCRYPT_PKG_DESCRIPTION_FILE) $(GCRYPT_PKG_INSTALL_SCRIPT)
+ @cp $(GCRYPT_PKG_DESCRIPTION_FILE) $(GCRYPT_PKG)/.DESCRIPTION
+ @cp $(GCRYPT_PKG_INSTALL_SCRIPT) $(GCRYPT_PKG)/.INSTALL
+ @$(BUILD_PKG_REQUIRES) $(GCRYPT_PKG)/.REQUIRES
+ @echo "pkgname=$(GCRYPT_PKG_NAME)" > $(GCRYPT_PKG)/.PKGINFO ; \
+ echo "pkgver=$(GCRYPT_PKG_VERSION)" >> $(GCRYPT_PKG)/.PKGINFO ; \
+ echo "arch=$(GCRYPT_PKG_ARCH)" >> $(GCRYPT_PKG)/.PKGINFO ; \
+ echo "distroname=$(GCRYPT_PKG_DISTRO_NAME)" >> $(GCRYPT_PKG)/.PKGINFO ; \
+ echo "distrover=$(GCRYPT_PKG_DISTRO_VERSION)" >> $(GCRYPT_PKG)/.PKGINFO ; \
+ echo "group=$(GCRYPT_PKG_GROUP)" >> $(GCRYPT_PKG)/.PKGINFO ; \
+ echo "short_description=\"$(GCRYPT_PKG_SHORT_DESCRIPTION)\"" >> $(GCRYPT_PKG)/.PKGINFO ; \
+ echo "url=$(GCRYPT_PKG_URL)" >> $(GCRYPT_PKG)/.PKGINFO ; \
+ echo "license=$(GCRYPT_PKG_LICENSE)" >> $(GCRYPT_PKG)/.PKGINFO
+ @$(PSEUDO) sh -c "cd $(GCRYPT_PKG) && \
+ chown -R root:root . && \
+ $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/libgcrypt/1.11.0/PATCHES
===================================================================
--- net/libgcrypt/1.11.0/PATCHES (nonexistent)
+++ net/libgcrypt/1.11.0/PATCHES (revision 447)
@@ -0,0 +1,2 @@
+
+../../../sources/packages/n/libgcrypt/patches/libgcrypt-1.11.0-riscv.patch -p0
Index: net/libgcrypt/1.11.0/libgcrypt-pkg-description.in
===================================================================
--- net/libgcrypt/1.11.0/libgcrypt-pkg-description.in (nonexistent)
+++ net/libgcrypt/1.11.0/libgcrypt-pkg-description.in (revision 447)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libgcrypt: libgcrypt @VERSION@ (General purpose crypto library)
+libgcrypt:
+libgcrypt: Libgcrypt is a general purpose crypto library based on the code
+libgcrypt: used in GnuPG.
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
+libgcrypt:
Index: net/libgcrypt/1.11.0/libgcrypt-pkg-install.sh
===================================================================
--- net/libgcrypt/1.11.0/libgcrypt-pkg-install.sh (nonexistent)
+++ net/libgcrypt/1.11.0/libgcrypt-pkg-install.sh (revision 447)
@@ -0,0 +1,69 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1: the new package version
+pre_install() {
+ /bin/true
+}
+
+# arg 1: the new package version
+post_install() {
+ #
+ # NOTE:
+ # 'install-info' can work using relative paths and we can make use build machine
+ # utility during installation to the some partition and use target 'install-info'
+ # during installation directly on the running target machine.
+ #
+ if [ -x /usr/bin/install-info ] ; then
+ install-info --info-dir=usr/share/info usr/share/info/gcrypt.info.gz 2>/dev/null
+ elif ! grep "(gcrypt)" usr/share/info/dir 1> /dev/null 2> /dev/null ; then
+ cat << EOF >> usr/share/info/dir
+
+GNU Libraries
+* libgcrypt: (gcrypt). Cryptographic function library.
+EOF
+ fi
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_update() {
+ /bin/true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_update() {
+ post_install
+}
+
+# arg 1: the old package version
+pre_remove() {
+ if [ -x /usr/bin/install-info ] ; then
+ install-info --delete --info-file=usr/share/info/gcrypt.info.gz --dir-file=usr/share/info/dir 2> /dev/null || /bin/true
+ fi
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
Property changes on: net/libgcrypt/1.11.0/libgcrypt-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: net/libgcrypt/1.11.0
===================================================================
--- net/libgcrypt/1.11.0 (nonexistent)
+++ net/libgcrypt/1.11.0 (revision 447)
Property changes on: net/libgcrypt/1.11.0
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,74 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.rk358x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: net/libgcrypt/1.11.0-ppc32/Makefile
===================================================================
--- net/libgcrypt/1.11.0-ppc32/Makefile (nonexistent)
+++ net/libgcrypt/1.11.0-ppc32/Makefile (revision 447)
@@ -0,0 +1,218 @@
+
+COMPONENT_TARGETS = $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+
+NEED_ABS_PATH = true
+COMPONENT_IS_3PP = true
+
+CREATE_PPC32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES = sources/packages/n/libgcrypt
+
+REQUIRES = net/libgcrypt/1.11.0
+REQUIRES += net/libgpg-error/1.51-ppc32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version = 1.11.0
+tar_bz2_archive = $(SRC_PACKAGE_PATH)/packages/n/libgcrypt/libgcrypt-$(version).tar.bz2
+SRC_ARCHIVE = $(tar_bz2_archive)
+SRC_DIR = $(TARGET_BUILD_DIR)/libgcrypt-$(version)
+src_dir_name = libgcrypt-$(version)
+src_done = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir = $(TARGET_BUILD_DIR)/build
+build_target = $(TARGET_BUILD_DIR)/.build_done
+install_target = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = net
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+GCRYPT_32_PKG_NAME = libgcrypt-x32
+GCRYPT_32_PKG_VERSION = 1.11.0
+GCRYPT_32_PKG_ARCH = $(PKGARCH)
+GCRYPT_32_PKG_DISTRO_NAME = $(DISTRO_NAME)
+GCRYPT_32_PKG_DISTRO_VERSION = $(DISTRO_VERSION)
+GCRYPT_32_PKG_GROUP = $(PKG_GROUP)
+### |---handy-ruler-------------------------------|
+GCRYPT_32_PKG_SHORT_DESCRIPTION = General purpose crypto library
+GCRYPT_32_PKG_URL = $(BUG_URL)
+GCRYPT_32_PKG_LICENSE = GPLv2
+GCRYPT_32_PKG_DESCRIPTION_FILE = $(TARGET_BUILD_DIR)/$(GCRYPT_32_PKG_NAME)-pkg-description
+GCRYPT_32_PKG_DESCRIPTION_FILE_IN = $(GCRYPT_32_PKG_NAME)-pkg-description.in
+GCRYPT_32_PKG_INSTALL_SCRIPT = $(GCRYPT_32_PKG_NAME)-pkg-install.sh
+
+GCRYPT_32_PKG = $(CURDIR)/$(TARGET_BUILD_DIR)/$(GCRYPT_32_PKG_NAME)-package
+
+pkg_basename = $(GCRYPT_32_PKG_NAME)-$(GCRYPT_32_PKG_VERSION)-$(GCRYPT_32_PKG_ARCH)-$(GCRYPT_32_PKG_DISTRO_NAME)-$(GCRYPT_32_PKG_DISTRO_VERSION)
+
+pkg_archive = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate = $(call cert-name,$(pkg_archive))
+pkg_signature = $(call sign-name,$(pkg_archive))
+pkg_description = $(call desc-name,$(pkg_archive))
+products = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS = $(build_target)
+BUILD_TARGETS += $(install_target)
+
+PRODUCT_TARGETS = $(products)
+
+ROOTFS_TARGETS = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(GCRYPT_32_PKG)
+
+
+extra_configure_switches = --libdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --disable-dependency-tracking
+extra_configure_switches += --program-prefix=""
+extra_configure_switches += --program-suffix=""
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static=yes
+else
+extra_configure_switches += --enable-static=no
+endif
+extra_configure_switches += --enable-shared=yes
+
+extra_configure_switches += --disable-asm
+
+
+libs_config = GPG_ERROR_CONFIG=$(TARGET_DEST_DIR)/usr/bin/32/gpg-error-config
+libs_config += GPGRT_CONFIG=$(TARGET_DEST_DIR)/usr/bin/32/gpgrt-config
+
+CFLAGS += -Wno-stringop-overflow -Wno-maybe-uninitialized
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_PPC32_SUFFIX):/usr/lib$(MULTILIB_PPC32_SUFFIX):/usr/lib/../lib$(MULTILIB_PPC32_SUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+ $(UNPACK_SRC_ARCHIVE)
+ $(APPLY_PATCHES)
+ @cp -a $(CONFIG_GUESS) $(CONFIG_SUB) $(SRC_DIR)/build-aux
+ @touch $@
+
+$(build_target): $(src_done)
+ @mkdir -p $(build_dir)
+ @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(libs_config) ../$(src_dir_name)/configure \
+ --prefix=/usr \
+ --build=$(BUILD) \
+ --host=$(TARGET32) \
+ $(extra_configure_switches)
+ @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+ @touch $@
+
+$(install_target): $(build_target)
+ @mkdir -p $(GCRYPT_32_PKG)
+ @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+ @mkdir -p $(GCRYPT_32_PKG)/lib$(MULTILIB_PPC32_SUFFIX)
+ @( cd $(GCRYPT_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+ chmod +w lib*.so.*.*.? ; \
+ mv lib*.so.*.*.? ../../lib$(MULTILIB_PPC32_SUFFIX) ; \
+ ln -sf ../../lib$(MULTILIB_PPC32_SUFFIX)/lib*.so.*.*.? . ; \
+ cp -a lib*.so.?? ../../lib$(MULTILIB_PPC32_SUFFIX) ; \
+ )
+ @rm -rf $(GCRYPT_32_PKG)/usr/include
+ @rm -rf $(GCRYPT_32_PKG)/usr/share
+ # ======= remove toolchain path from target libtool *.la files =======
+ @( cd $(GCRYPT_32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+ sed -i "s,$(TARGET_DEST_DIR),,g" libgcrypt.la ; \
+ )
+ @( cd $(GCRYPT_32_PKG)/usr/bin/32 ; \
+ sed -i "s,$(TARGET_DEST_DIR),,g" libgcrypt-config ; \
+ )
+ # ======= Install the same to $(TARGET_DEST_DIR) =======
+ $(call install-into-devenv, $(GCRYPT_32_PKG))
+ # ======= tune libtool *.la search path to the target destination for development =======
+ @( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+ sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libgcrypt.la ; \
+ sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libgcrypt.la ; \
+ )
+ # ======= tune pkg-config *.pc search path to the target destination for development =======
+ @( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
+ sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libgcrypt.pc ; \
+ )
+ # ======= tune libgcrypt-config script to the target destination for development =======
+ @( cd $(TARGET_DEST_DIR)/usr/bin/32 ; \
+ sed -i 's,prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,g' libgcrypt-config ; \
+ sed -i 's,libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,g' libgcrypt-config ; \
+ )
+ # ======= Strip binaries =======
+ @( cd $(GCRYPT_32_PKG) ; \
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+ )
+ifeq ($(__ENABLE_STATIC__),yes)
+ @( cd $(GCRYPT_32_PKG) ; \
+ find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+ )
+endif
+ifneq ($(PATCHELF),)
+ # ======= Set RPATH/RUNPATH for target binaries =======
+ @( cd $(GCRYPT_32_PKG)/usr/bin/32 ; \
+ for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+ rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+ if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+ $(PATCHELF) --set-rpath $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+ fi ; \
+ done ; \
+ )
+ # ======= Set RPATH/RUNPATH for target shared objects =======
+ @( cd $(GCRYPT_32_PKG)/lib$(MULTILIB_PPC32_SUFFIX) ; \
+ for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+ rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+ if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+ $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+ fi ; \
+ done ; \
+ )
+endif
+ @touch $@
+
+$(GCRYPT_32_PKG_DESCRIPTION_FILE): $(GCRYPT_32_PKG_DESCRIPTION_FILE_IN)
+ @cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature) : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(GCRYPT_32_PKG_DESCRIPTION_FILE) $(GCRYPT_32_PKG_INSTALL_SCRIPT)
+ @cp $(GCRYPT_32_PKG_DESCRIPTION_FILE) $(GCRYPT_32_PKG)/.DESCRIPTION
+ @cp $(GCRYPT_32_PKG_INSTALL_SCRIPT) $(GCRYPT_32_PKG)/.INSTALL
+ @$(BUILD_PKG_REQUIRES) $(GCRYPT_32_PKG)/.REQUIRES
+ @echo "pkgname=$(GCRYPT_32_PKG_NAME)" > $(GCRYPT_32_PKG)/.PKGINFO ; \
+ echo "pkgver=$(GCRYPT_32_PKG_VERSION)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
+ echo "arch=$(GCRYPT_32_PKG_ARCH)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
+ echo "distroname=$(GCRYPT_32_PKG_DISTRO_NAME)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
+ echo "distrover=$(GCRYPT_32_PKG_DISTRO_VERSION)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
+ echo "group=$(GCRYPT_32_PKG_GROUP)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
+ echo "short_description=\"$(GCRYPT_32_PKG_SHORT_DESCRIPTION)\"" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
+ echo "url=$(GCRYPT_32_PKG_URL)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
+ echo "license=$(GCRYPT_32_PKG_LICENSE)" >> $(GCRYPT_32_PKG)/.PKGINFO
+ @$(PSEUDO) sh -c "cd $(GCRYPT_32_PKG) && \
+ chown -R root:root . && \
+ $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/libgcrypt/1.11.0-ppc32/PATCHES
===================================================================
--- net/libgcrypt/1.11.0-ppc32/PATCHES (nonexistent)
+++ net/libgcrypt/1.11.0-ppc32/PATCHES (revision 447)
@@ -0,0 +1,2 @@
+
+../../../sources/packages/n/libgcrypt/patches/libgcrypt-1.11.0-riscv.patch -p0
Index: net/libgcrypt/1.11.0-ppc32/libgcrypt-x32-pkg-description.in
===================================================================
--- net/libgcrypt/1.11.0-ppc32/libgcrypt-x32-pkg-description.in (nonexistent)
+++ net/libgcrypt/1.11.0-ppc32/libgcrypt-x32-pkg-description.in (revision 447)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libgcrypt-x32: libgcrypt-x32 @VERSION@ (x86_64 General purpose crypto library)
+libgcrypt-x32:
+libgcrypt-x32: Libgcrypt is a general purpose crypto library based on the code
+libgcrypt-x32: used in GnuPG.
+libgcrypt-x32:
+libgcrypt-x32:
+libgcrypt-x32:
+libgcrypt-x32:
+libgcrypt-x32:
+libgcrypt-x32:
+libgcrypt-x32:
Index: net/libgcrypt/1.11.0-ppc32/libgcrypt-x32-pkg-install.sh
===================================================================
--- net/libgcrypt/1.11.0-ppc32/libgcrypt-x32-pkg-install.sh (nonexistent)
+++ net/libgcrypt/1.11.0-ppc32/libgcrypt-x32-pkg-install.sh (revision 447)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1: the new package version
+pre_install() {
+ /bin/true
+}
+
+# arg 1: the new package version
+post_install() {
+ /bin/true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_update() {
+ /bin/true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_update() {
+ post_install
+}
+
+# arg 1: the old package version
+pre_remove() {
+ /bin/true
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
Property changes on: net/libgcrypt/1.11.0-ppc32/libgcrypt-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: net/libgcrypt/1.11.0-ppc32
===================================================================
--- net/libgcrypt/1.11.0-ppc32 (nonexistent)
+++ net/libgcrypt/1.11.0-ppc32 (revision 447)
Property changes on: net/libgcrypt/1.11.0-ppc32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,74 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.rk358x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: net/libgcrypt/1.11.0-x86_32/Makefile
===================================================================
--- net/libgcrypt/1.11.0-x86_32/Makefile (nonexistent)
+++ net/libgcrypt/1.11.0-x86_32/Makefile (revision 447)
@@ -0,0 +1,215 @@
+
+COMPONENT_TARGETS = $(HARDWARE_INTEL_PC64)
+
+NEED_ABS_PATH = true
+COMPONENT_IS_3PP = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES = sources/packages/n/libgcrypt
+
+REQUIRES = net/libgcrypt/1.11.0
+REQUIRES += net/libgpg-error/1.51-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version = 1.11.0
+tar_bz2_archive = $(SRC_PACKAGE_PATH)/packages/n/libgcrypt/libgcrypt-$(version).tar.bz2
+SRC_ARCHIVE = $(tar_bz2_archive)
+SRC_DIR = $(TARGET_BUILD_DIR)/libgcrypt-$(version)
+src_dir_name = libgcrypt-$(version)
+src_done = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir = $(TARGET_BUILD_DIR)/build
+build_target = $(TARGET_BUILD_DIR)/.build_done
+install_target = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = net
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+GCRYPT_32_PKG_NAME = libgcrypt-x32
+GCRYPT_32_PKG_VERSION = 1.11.0
+GCRYPT_32_PKG_ARCH = $(PKGARCH)
+GCRYPT_32_PKG_DISTRO_NAME = $(DISTRO_NAME)
+GCRYPT_32_PKG_DISTRO_VERSION = $(DISTRO_VERSION)
+GCRYPT_32_PKG_GROUP = $(PKG_GROUP)
+### |---handy-ruler-------------------------------|
+GCRYPT_32_PKG_SHORT_DESCRIPTION = General purpose crypto library
+GCRYPT_32_PKG_URL = $(BUG_URL)
+GCRYPT_32_PKG_LICENSE = GPLv2
+GCRYPT_32_PKG_DESCRIPTION_FILE = $(TARGET_BUILD_DIR)/$(GCRYPT_32_PKG_NAME)-pkg-description
+GCRYPT_32_PKG_DESCRIPTION_FILE_IN = $(GCRYPT_32_PKG_NAME)-pkg-description.in
+GCRYPT_32_PKG_INSTALL_SCRIPT = $(GCRYPT_32_PKG_NAME)-pkg-install.sh
+
+GCRYPT_32_PKG = $(CURDIR)/$(TARGET_BUILD_DIR)/$(GCRYPT_32_PKG_NAME)-package
+
+pkg_basename = $(GCRYPT_32_PKG_NAME)-$(GCRYPT_32_PKG_VERSION)-$(GCRYPT_32_PKG_ARCH)-$(GCRYPT_32_PKG_DISTRO_NAME)-$(GCRYPT_32_PKG_DISTRO_VERSION)
+
+pkg_archive = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate = $(call cert-name,$(pkg_archive))
+pkg_signature = $(call sign-name,$(pkg_archive))
+pkg_description = $(call desc-name,$(pkg_archive))
+products = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS = $(build_target)
+BUILD_TARGETS += $(install_target)
+
+PRODUCT_TARGETS = $(products)
+
+ROOTFS_TARGETS = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(GCRYPT_32_PKG)
+
+
+extra_configure_switches = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --disable-dependency-tracking
+extra_configure_switches += --program-prefix=""
+extra_configure_switches += --program-suffix=""
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static=yes
+else
+extra_configure_switches += --enable-static=no
+endif
+extra_configure_switches += --enable-shared=yes
+
+extra_configure_switches += --disable-asm
+
+
+libs_config = GPG_ERROR_CONFIG=$(TARGET_DEST_DIR)/usr/bin/32/gpg-error-config
+libs_config += GPGRT_CONFIG=$(TARGET_DEST_DIR)/usr/bin/32/gpgrt-config
+
+CFLAGS += -Wno-stringop-overflow -Wno-maybe-uninitialized
+
+TARGET_BIN_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX)
+TARGET_LIB_RPATH = /lib$(MULTILIB_X86_32_SUFFIX):/usr/lib$(MULTILIB_X86_32_SUFFIX):/usr/lib/../lib$(MULTILIB_X86_32_SUFFIX)
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+ $(UNPACK_SRC_ARCHIVE)
+ $(APPLY_PATCHES)
+ @cp -a $(CONFIG_GUESS) $(CONFIG_SUB) $(SRC_DIR)/build-aux
+ @touch $@
+
+$(build_target): $(src_done)
+ @mkdir -p $(build_dir)
+ @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(libs_config) ../$(src_dir_name)/configure \
+ --prefix=/usr \
+ --build=$(BUILD) \
+ --host=$(TARGET32) \
+ $(extra_configure_switches)
+ @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+ @touch $@
+
+$(install_target): $(build_target)
+ @mkdir -p $(GCRYPT_32_PKG)
+ @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+ @mkdir -p $(GCRYPT_32_PKG)/lib$(MULTILIB_X86_32_SUFFIX)
+ @( cd $(GCRYPT_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+ chmod +w lib*.so.*.*.? ; \
+ mv lib*.so.*.*.? ../../lib$(MULTILIB_X86_32_SUFFIX) ; \
+ ln -sf ../../lib$(MULTILIB_X86_32_SUFFIX)/lib*.so.*.*.? . ; \
+ cp -a lib*.so.?? ../../lib$(MULTILIB_X86_32_SUFFIX) ; \
+ )
+ @rm -rf $(GCRYPT_32_PKG)/usr/include
+ @rm -rf $(GCRYPT_32_PKG)/usr/share
+ # ======= remove toolchain path from target libtool *.la files =======
+ @( cd $(GCRYPT_32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+ sed -i "s,$(TARGET_DEST_DIR),,g" libgcrypt.la ; \
+ )
+ @( cd $(GCRYPT_32_PKG)/usr/bin/32 ; \
+ sed -i "s,$(TARGET_DEST_DIR),,g" libgcrypt-config ; \
+ )
+ # ======= Install the same to $(TARGET_DEST_DIR) =======
+ $(call install-into-devenv, $(GCRYPT_32_PKG))
+ # ======= tune libtool *.la search path to the target destination for development =======
+ @( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+ sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libgcrypt.la ; \
+ sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libgcrypt.la ; \
+ )
+ # ======= tune pkg-config *.pc search path to the target destination for development =======
+ @( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+ sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libgcrypt.pc ; \
+ )
+ # ======= tune libgcrypt-config script to the target destination for development =======
+ @( cd $(TARGET_DEST_DIR)/usr/bin/32 ; \
+ sed -i 's,prefix="/usr,prefix="$(TARGET_DEST_DIR)/usr,g' libgcrypt-config ; \
+ sed -i 's,libdir="/usr,libdir="$(TARGET_DEST_DIR)/usr,g' libgcrypt-config ; \
+ )
+ # ======= Strip binaries =======
+ @( cd $(GCRYPT_32_PKG) ; \
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+ )
+ifeq ($(__ENABLE_STATIC__),yes)
+ @( cd $(GCRYPT_32_PKG) ; \
+ find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+ )
+endif
+ifneq ($(PATCHELF),)
+ # ======= Set RPATH/RUNPATH for target binaries =======
+ @( cd $(GCRYPT_32_PKG)/usr/bin/32 ; \
+ for file in `find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+ rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+ if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+ $(PATCHELF) --set-rpath $(TARGET_BIN_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+ fi ; \
+ done ; \
+ )
+ # ======= Set RPATH/RUNPATH for target shared objects =======
+ @( cd $(GCRYPT_32_PKG)/lib$(MULTILIB_X86_32_SUFFIX) ; \
+ for file in `find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs echo` ; do \
+ rpath=`$(PATCHELF) --print-rpath $$file 2> /dev/null` ; \
+ if echo "$$rpath" | grep -q "$(TARGET_DEST_DIR)" ; then \
+ $(PATCHELF) --set-rpath $(TARGET_LIB_RPATH) $$file 1> /dev/null 2> /dev/null ; \
+ fi ; \
+ done ; \
+ )
+endif
+ @touch $@
+
+$(GCRYPT_32_PKG_DESCRIPTION_FILE): $(GCRYPT_32_PKG_DESCRIPTION_FILE_IN)
+ @cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature) : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(GCRYPT_32_PKG_DESCRIPTION_FILE) $(GCRYPT_32_PKG_INSTALL_SCRIPT)
+ @cp $(GCRYPT_32_PKG_DESCRIPTION_FILE) $(GCRYPT_32_PKG)/.DESCRIPTION
+ @cp $(GCRYPT_32_PKG_INSTALL_SCRIPT) $(GCRYPT_32_PKG)/.INSTALL
+ @$(BUILD_PKG_REQUIRES) $(GCRYPT_32_PKG)/.REQUIRES
+ @echo "pkgname=$(GCRYPT_32_PKG_NAME)" > $(GCRYPT_32_PKG)/.PKGINFO ; \
+ echo "pkgver=$(GCRYPT_32_PKG_VERSION)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
+ echo "arch=$(GCRYPT_32_PKG_ARCH)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
+ echo "distroname=$(GCRYPT_32_PKG_DISTRO_NAME)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
+ echo "distrover=$(GCRYPT_32_PKG_DISTRO_VERSION)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
+ echo "group=$(GCRYPT_32_PKG_GROUP)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
+ echo "short_description=\"$(GCRYPT_32_PKG_SHORT_DESCRIPTION)\"" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
+ echo "url=$(GCRYPT_32_PKG_URL)" >> $(GCRYPT_32_PKG)/.PKGINFO ; \
+ echo "license=$(GCRYPT_32_PKG_LICENSE)" >> $(GCRYPT_32_PKG)/.PKGINFO
+ @$(PSEUDO) sh -c "cd $(GCRYPT_32_PKG) && \
+ chown -R root:root . && \
+ $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/libgcrypt/1.11.0-x86_32/PATCHES
===================================================================
--- net/libgcrypt/1.11.0-x86_32/PATCHES (nonexistent)
+++ net/libgcrypt/1.11.0-x86_32/PATCHES (revision 447)
@@ -0,0 +1,2 @@
+
+../../../sources/packages/n/libgcrypt/patches/libgcrypt-1.11.0-riscv.patch -p0
Index: net/libgcrypt/1.11.0-x86_32/libgcrypt-x32-pkg-description.in
===================================================================
--- net/libgcrypt/1.11.0-x86_32/libgcrypt-x32-pkg-description.in (nonexistent)
+++ net/libgcrypt/1.11.0-x86_32/libgcrypt-x32-pkg-description.in (revision 447)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libgcrypt-x32: libgcrypt-x32 @VERSION@ (x86_64 General purpose crypto library)
+libgcrypt-x32:
+libgcrypt-x32: Libgcrypt is a general purpose crypto library based on the code
+libgcrypt-x32: used in GnuPG.
+libgcrypt-x32:
+libgcrypt-x32:
+libgcrypt-x32:
+libgcrypt-x32:
+libgcrypt-x32:
+libgcrypt-x32:
+libgcrypt-x32:
Index: net/libgcrypt/1.11.0-x86_32/libgcrypt-x32-pkg-install.sh
===================================================================
--- net/libgcrypt/1.11.0-x86_32/libgcrypt-x32-pkg-install.sh (nonexistent)
+++ net/libgcrypt/1.11.0-x86_32/libgcrypt-x32-pkg-install.sh (revision 447)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1: the new package version
+pre_install() {
+ /bin/true
+}
+
+# arg 1: the new package version
+post_install() {
+ /bin/true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_update() {
+ /bin/true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_update() {
+ post_install
+}
+
+# arg 1: the old package version
+pre_remove() {
+ /bin/true
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
Property changes on: net/libgcrypt/1.11.0-x86_32/libgcrypt-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: net/libgcrypt/1.11.0-x86_32
===================================================================
--- net/libgcrypt/1.11.0-x86_32 (nonexistent)
+++ net/libgcrypt/1.11.0-x86_32 (revision 447)
Property changes on: net/libgcrypt/1.11.0-x86_32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,74 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.rk358x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: net/libgpg-error/1.41-ppc32/libgpg-error-x32-pkg-description.in
===================================================================
--- net/libgpg-error/1.41-ppc32/libgpg-error-x32-pkg-description.in (revision 446)
+++ net/libgpg-error/1.41-ppc32/libgpg-error-x32-pkg-description.in (nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-libgpg-error-x32: libgpg-error-x32 @VERSION@ (GnuPG Error Definitions Library)
-libgpg-error-x32:
-libgpg-error-x32: This is a library that defines common error values for all GnuPG
-libgpg-error-x32: components. Among these are GPG, GPGSM, GPGME, GPG-Agent, libgcrypt,
-libgpg-error-x32: Libksba, DirMngr, Pinentry, SmartCard Daemon, and more.
-libgpg-error-x32:
-libgpg-error-x32:
-libgpg-error-x32:
-libgpg-error-x32:
-libgpg-error-x32:
-libgpg-error-x32:
Index: net/libgpg-error/1.41-ppc32/libgpg-error-x32-pkg-install.sh
===================================================================
--- net/libgpg-error/1.41-ppc32/libgpg-error-x32-pkg-install.sh (revision 446)
+++ net/libgpg-error/1.41-ppc32/libgpg-error-x32-pkg-install.sh (nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1: the new package version
-pre_install() {
- /bin/true
-}
-
-# arg 1: the new package version
-post_install() {
- /bin/true
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-pre_update() {
- /bin/true
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-post_update() {
- post_install
-}
-
-# arg 1: the old package version
-pre_remove() {
- /bin/true
-}
-
-# arg 1: the old package version
-post_remove() {
- /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*
Property changes on: net/libgpg-error/1.41-ppc32/libgpg-error-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: net/libgpg-error/1.41-ppc32/Makefile
===================================================================
--- net/libgpg-error/1.41-ppc32/Makefile (revision 446)
+++ net/libgpg-error/1.41-ppc32/Makefile (nonexistent)
@@ -1,186 +0,0 @@
-
-COMPONENT_TARGETS = $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-
-NEED_ABS_PATH = true
-COMPONENT_IS_3PP = true
-
-CREATE_PPC32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES = sources/packages/n/libgpg-error
-
-REQUIRES = net/libgpg-error/1.41
-REQUIRES += libs/glibc/2.41-ppc32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version = 1.41
-tar_bz2_archive = $(SRC_PACKAGE_PATH)/packages/n/libgpg-error/libgpg-error-$(version).tar.bz2
-SRC_ARCHIVE = $(tar_bz2_archive)
-SRC_DIR = $(TARGET_BUILD_DIR)/libgpg-error-$(version)
-src_dir_name = libgpg-error-$(version)
-src_done = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_dir = $(TARGET_BUILD_DIR)/build
-build_target = $(TARGET_BUILD_DIR)/.build_done
-install_target = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = net
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-GPGERROR32_PKG_NAME = libgpg-error-x32
-GPGERROR32_PKG_VERSION = 1.41
-GPGERROR32_PKG_ARCH = $(PKGARCH)
-GPGERROR32_PKG_DISTRO_NAME = $(DISTRO_NAME)
-GPGERROR32_PKG_DISTRO_VERSION = $(DISTRO_VERSION)
-GPGERROR32_PKG_GROUP = $(PKG_GROUP)
-### |---handy-ruler-------------------------------|
-GPGERROR32_PKG_SHORT_DESCRIPTION = GnuPG Error Definitions Library
-GPGERROR32_PKG_URL = $(BUG_URL)
-GPGERROR32_PKG_LICENSE = GPLv2
-GPGERROR32_PKG_DESCRIPTION_FILE = $(TARGET_BUILD_DIR)/$(GPGERROR32_PKG_NAME)-pkg-description
-GPGERROR32_PKG_DESCRIPTION_FILE_IN = $(GPGERROR32_PKG_NAME)-pkg-description.in
-GPGERROR32_PKG_INSTALL_SCRIPT = $(GPGERROR32_PKG_NAME)-pkg-install.sh
-
-GPGERROR32_PKG = $(CURDIR)/$(TARGET_BUILD_DIR)/$(GPGERROR32_PKG_NAME)-package
-
-pkg_basename = $(GPGERROR32_PKG_NAME)-$(GPGERROR32_PKG_VERSION)-$(GPGERROR32_PKG_ARCH)-$(GPGERROR32_PKG_DISTRO_NAME)-$(GPGERROR32_PKG_DISTRO_VERSION)
-
-pkg_archive = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate = $(call cert-name,$(pkg_archive))
-pkg_signature = $(call sign-name,$(pkg_archive))
-pkg_description = $(call desc-name,$(pkg_archive))
-products = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS = $(build_target)
-BUILD_TARGETS += $(install_target)
-
-PRODUCT_TARGETS = $(products)
-
-ROOTFS_TARGETS = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(GPGERROR32_PKG)
-
-
-extra_configure_switches = --libdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
-extra_configure_switches += --infodir=/usr/share/info
-extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
-
-extra_configure_switches += --bindir=/usr/bin/32
-
-extra_configure_switches += --disable-dependency-tracking
-extra_configure_switches += --with-gnu-ld
-ifeq ($(__ENABLE_STATIC__),yes)
-extra_configure_switches += --enable-static=yes
-else
-extra_configure_switches += --enable-static=no
-endif
-extra_configure_switches += --enable-shared=yes
-
-
-gpgrt_lock_t_name = powerpc-unknown-linux-gnu
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
- $(UNPACK_SRC_ARCHIVE)
- $(APPLY_PATCHES)
- @touch $@
-
-$(build_target): $(src_done)
- @mkdir -p $(build_dir)
- @( cd $(SRC_DIR)/src/syscfg ; \
- ln -sf lock-obj-pub.$(gpgrt_lock_t_name).h lock-obj-pub.$(TARGET32).h ; \
- )
- @cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
- --prefix=/usr \
- --build=$(BUILD) \
- --host=$(TARGET32) \
- $(extra_configure_switches)
- @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
- @touch $@
-
-$(install_target): $(build_target)
- @mkdir -p $(GPGERROR32_PKG)
- @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
- @mkdir -p $(GPGERROR32_PKG)/lib$(MULTILIB_PPC32_SUFFIX)
- @( cd $(GPGERROR32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
- chmod +w lib*.so.?.*.? ; \
- mv lib*.so.?.*.? ../../lib$(MULTILIB_PPC32_SUFFIX) ; \
- ln -sf ../../lib$(MULTILIB_PPC32_SUFFIX)/lib*.so.?.*.? . ; \
- cp -a lib*.so.? ../../lib$(MULTILIB_PPC32_SUFFIX) ; \
- )
- @rm -rf $(GPGERROR32_PKG)/usr/include
- @rm -rf $(GPGERROR32_PKG)/usr/share
- # ======= remove toolchain path from target libtool *.la files =======
- @( cd $(GPGERROR32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
- sed -i "s,$(TARGET_DEST_DIR),,g" libgpg-error.la ; \
- )
- # ======= Install the same to $(TARGET_DEST_DIR) =======
- $(call install-into-devenv, $(GPGERROR32_PKG))
- # ======= tune libtool *.la search path to the target destination for development =======
- @( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
- sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libgpg-error.la ; \
- sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libgpg-error.la ; \
- )
- # ======= tune pkg-config *.pc search path to the target destination for development =======
- @( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
- sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" gpg-error.pc ; \
- )
- # ======= tune gpg-error-config script to the target destination for development =======
- @( cd $(TARGET_DEST_DIR)/usr/bin/32 ; \
- sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" gpg-error-config ; \
- )
- # ======= Strip binaries =======
- @( cd $(GPGERROR32_PKG) ; \
- find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
- find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
- )
-ifeq ($(__ENABLE_STATIC__),yes)
- @( cd $(GPGERROR32_PKG) ; \
- find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
- )
-endif
- @touch $@
-
-$(GPGERROR32_PKG_DESCRIPTION_FILE): $(GPGERROR32_PKG_DESCRIPTION_FILE_IN)
- @cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature) : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(GPGERROR32_PKG_DESCRIPTION_FILE) $(GPGERROR32_PKG_INSTALL_SCRIPT)
- @cp $(GPGERROR32_PKG_DESCRIPTION_FILE) $(GPGERROR32_PKG)/.DESCRIPTION
- @cp $(GPGERROR32_PKG_INSTALL_SCRIPT) $(GPGERROR32_PKG)/.INSTALL
- @$(BUILD_PKG_REQUIRES) $(GPGERROR32_PKG)/.REQUIRES
- @echo "pkgname=$(GPGERROR32_PKG_NAME)" > $(GPGERROR32_PKG)/.PKGINFO ; \
- echo "pkgver=$(GPGERROR32_PKG_VERSION)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
- echo "arch=$(GPGERROR32_PKG_ARCH)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
- echo "distroname=$(GPGERROR32_PKG_DISTRO_NAME)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
- echo "distrover=$(GPGERROR32_PKG_DISTRO_VERSION)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
- echo "group=$(GPGERROR32_PKG_GROUP)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
- echo "short_description=\"$(GPGERROR32_PKG_SHORT_DESCRIPTION)\"" >> $(GPGERROR32_PKG)/.PKGINFO ; \
- echo "url=$(GPGERROR32_PKG_URL)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
- echo "license=$(GPGERROR32_PKG_LICENSE)" >> $(GPGERROR32_PKG)/.PKGINFO
- @$(PSEUDO) sh -c "cd $(GPGERROR32_PKG) && \
- chown -R root:root . && \
- $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/libgpg-error/1.41-ppc32
===================================================================
--- net/libgpg-error/1.41-ppc32 (revision 446)
+++ net/libgpg-error/1.41-ppc32 (nonexistent)
Property changes on: net/libgpg-error/1.41-ppc32
___________________________________________________________________
Deleted: svn:ignore
## -1,74 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.rk358x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: net/libgpg-error/1.41-x86_32/libgpg-error-x32-pkg-description.in
===================================================================
--- net/libgpg-error/1.41-x86_32/libgpg-error-x32-pkg-description.in (revision 446)
+++ net/libgpg-error/1.41-x86_32/libgpg-error-x32-pkg-description.in (nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-libgpg-error-x32: libgpg-error-x32 @VERSION@ (GnuPG Error Definitions Library)
-libgpg-error-x32:
-libgpg-error-x32: This is a library that defines common error values for all GnuPG
-libgpg-error-x32: components. Among these are GPG, GPGSM, GPGME, GPG-Agent, libgcrypt,
-libgpg-error-x32: Libksba, DirMngr, Pinentry, SmartCard Daemon, and more.
-libgpg-error-x32:
-libgpg-error-x32:
-libgpg-error-x32:
-libgpg-error-x32:
-libgpg-error-x32:
-libgpg-error-x32:
Index: net/libgpg-error/1.41-x86_32/libgpg-error-x32-pkg-install.sh
===================================================================
--- net/libgpg-error/1.41-x86_32/libgpg-error-x32-pkg-install.sh (revision 446)
+++ net/libgpg-error/1.41-x86_32/libgpg-error-x32-pkg-install.sh (nonexistent)
@@ -1,39 +0,0 @@
-#!/bin/sh
-
-# arg 1: the new package version
-pre_install() {
- /bin/true
-}
-
-# arg 1: the new package version
-post_install() {
- /bin/true
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-pre_update() {
- /bin/true
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-post_update() {
- post_install
-}
-
-# arg 1: the old package version
-pre_remove() {
- /bin/true
-}
-
-# arg 1: the old package version
-post_remove() {
- /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*
Property changes on: net/libgpg-error/1.41-x86_32/libgpg-error-x32-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: net/libgpg-error/1.41-x86_32/Makefile
===================================================================
--- net/libgpg-error/1.41-x86_32/Makefile (revision 446)
+++ net/libgpg-error/1.41-x86_32/Makefile (nonexistent)
@@ -1,183 +0,0 @@
-
-COMPONENT_TARGETS = $(HARDWARE_INTEL_PC64)
-
-NEED_ABS_PATH = true
-COMPONENT_IS_3PP = true
-
-CREATE_X86_32_PACKAGE = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES = sources/packages/n/libgpg-error
-
-REQUIRES = net/libgpg-error/1.41
-REQUIRES += libs/glibc/2.41-x86_32
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version = 1.41
-tar_bz2_archive = $(SRC_PACKAGE_PATH)/packages/n/libgpg-error/libgpg-error-$(version).tar.bz2
-SRC_ARCHIVE = $(tar_bz2_archive)
-SRC_DIR = $(TARGET_BUILD_DIR)/libgpg-error-$(version)
-src_dir_name = libgpg-error-$(version)
-src_done = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_dir = $(TARGET_BUILD_DIR)/build
-build_target = $(TARGET_BUILD_DIR)/.build_done
-install_target = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = net
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-GPGERROR32_PKG_NAME = libgpg-error-x32
-GPGERROR32_PKG_VERSION = 1.41
-GPGERROR32_PKG_ARCH = $(PKGARCH)
-GPGERROR32_PKG_DISTRO_NAME = $(DISTRO_NAME)
-GPGERROR32_PKG_DISTRO_VERSION = $(DISTRO_VERSION)
-GPGERROR32_PKG_GROUP = $(PKG_GROUP)
-### |---handy-ruler-------------------------------|
-GPGERROR32_PKG_SHORT_DESCRIPTION = GnuPG Error Definitions Library
-GPGERROR32_PKG_URL = $(BUG_URL)
-GPGERROR32_PKG_LICENSE = GPLv2
-GPGERROR32_PKG_DESCRIPTION_FILE = $(TARGET_BUILD_DIR)/$(GPGERROR32_PKG_NAME)-pkg-description
-GPGERROR32_PKG_DESCRIPTION_FILE_IN = $(GPGERROR32_PKG_NAME)-pkg-description.in
-GPGERROR32_PKG_INSTALL_SCRIPT = $(GPGERROR32_PKG_NAME)-pkg-install.sh
-
-GPGERROR32_PKG = $(CURDIR)/$(TARGET_BUILD_DIR)/$(GPGERROR32_PKG_NAME)-package
-
-pkg_basename = $(GPGERROR32_PKG_NAME)-$(GPGERROR32_PKG_VERSION)-$(GPGERROR32_PKG_ARCH)-$(GPGERROR32_PKG_DISTRO_NAME)-$(GPGERROR32_PKG_DISTRO_VERSION)
-
-pkg_archive = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate = $(call cert-name,$(pkg_archive))
-pkg_signature = $(call sign-name,$(pkg_archive))
-pkg_description = $(call desc-name,$(pkg_archive))
-products = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS = $(build_target)
-BUILD_TARGETS += $(install_target)
-
-PRODUCT_TARGETS = $(products)
-
-ROOTFS_TARGETS = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(GPGERROR32_PKG)
-
-
-extra_configure_switches = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
-extra_configure_switches += --infodir=/usr/share/info
-extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
-
-extra_configure_switches += --bindir=/usr/bin/32
-
-extra_configure_switches += --disable-dependency-tracking
-extra_configure_switches += --with-gnu-ld
-ifeq ($(__ENABLE_STATIC__),yes)
-extra_configure_switches += --enable-static=yes
-else
-extra_configure_switches += --enable-static=no
-endif
-extra_configure_switches += --enable-shared=yes
-
-
-gpgrt_lock_t_name = i686-pc-linux-gnu
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
- $(UNPACK_SRC_ARCHIVE)
- $(APPLY_PATCHES)
- @touch $@
-
-$(build_target): $(src_done)
- @mkdir -p $(build_dir)
- @( cd $(SRC_DIR)/src/syscfg ; \
- ln -sf lock-obj-pub.$(gpgrt_lock_t_name).h lock-obj-pub.$(TARGET32).h ; \
- )
- @cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
- --prefix=/usr \
- --build=$(BUILD) \
- --host=$(TARGET32) \
- $(extra_configure_switches)
- @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
- @touch $@
-
-$(install_target): $(build_target)
- @mkdir -p $(GPGERROR32_PKG)
- @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
- @mkdir -p $(GPGERROR32_PKG)/lib$(MULTILIB_X86_32_SUFFIX)
- @( cd $(GPGERROR32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
- chmod +w lib*.so.?.*.? ; \
- mv lib*.so.?.*.? ../../lib$(MULTILIB_X86_32_SUFFIX) ; \
- ln -sf ../../lib$(MULTILIB_X86_32_SUFFIX)/lib*.so.?.*.? . ; \
- cp -a lib*.so.? ../../lib$(MULTILIB_X86_32_SUFFIX) ; \
- )
- @rm -rf $(GPGERROR32_PKG)/usr/include
- @rm -rf $(GPGERROR32_PKG)/usr/share
- # ======= remove toolchain path from target libtool *.la files =======
- @( cd $(GPGERROR32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
- sed -i "s,$(TARGET_DEST_DIR),,g" libgpg-error.la ; \
- )
- # ======= Install the same to $(TARGET_DEST_DIR) =======
- $(call install-into-devenv, $(GPGERROR32_PKG))
- # ======= tune libtool *.la search path to the target destination for development =======
- @( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
- sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libgpg-error.la ; \
- sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libgpg-error.la ; \
- )
- # ======= tune pkg-config *.pc search path to the target destination for development =======
- @( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
- sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" gpg-error.pc ; \
- )
- # ======= tune gpg-error-config script to the target destination for development =======
- @( cd $(TARGET_DEST_DIR)/usr/bin/32 ; \
- sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" gpg-error-config ; \
- )
- # ======= Strip binaries =======
- @( cd $(GPGERROR32_PKG) ; \
- find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
- find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
- )
-ifeq ($(__ENABLE_STATIC__),yes)
- @( cd $(GPGERROR32_PKG) ; \
- find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
- )
-endif
- @touch $@
-
-$(GPGERROR32_PKG_DESCRIPTION_FILE): $(GPGERROR32_PKG_DESCRIPTION_FILE_IN)
- @cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature) : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(GPGERROR32_PKG_DESCRIPTION_FILE) $(GPGERROR32_PKG_INSTALL_SCRIPT)
- @cp $(GPGERROR32_PKG_DESCRIPTION_FILE) $(GPGERROR32_PKG)/.DESCRIPTION
- @cp $(GPGERROR32_PKG_INSTALL_SCRIPT) $(GPGERROR32_PKG)/.INSTALL
- @$(BUILD_PKG_REQUIRES) $(GPGERROR32_PKG)/.REQUIRES
- @echo "pkgname=$(GPGERROR32_PKG_NAME)" > $(GPGERROR32_PKG)/.PKGINFO ; \
- echo "pkgver=$(GPGERROR32_PKG_VERSION)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
- echo "arch=$(GPGERROR32_PKG_ARCH)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
- echo "distroname=$(GPGERROR32_PKG_DISTRO_NAME)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
- echo "distrover=$(GPGERROR32_PKG_DISTRO_VERSION)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
- echo "group=$(GPGERROR32_PKG_GROUP)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
- echo "short_description=\"$(GPGERROR32_PKG_SHORT_DESCRIPTION)\"" >> $(GPGERROR32_PKG)/.PKGINFO ; \
- echo "url=$(GPGERROR32_PKG_URL)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
- echo "license=$(GPGERROR32_PKG_LICENSE)" >> $(GPGERROR32_PKG)/.PKGINFO
- @$(PSEUDO) sh -c "cd $(GPGERROR32_PKG) && \
- chown -R root:root . && \
- $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/libgpg-error/1.41-x86_32
===================================================================
--- net/libgpg-error/1.41-x86_32 (revision 446)
+++ net/libgpg-error/1.41-x86_32 (nonexistent)
Property changes on: net/libgpg-error/1.41-x86_32
___________________________________________________________________
Deleted: svn:ignore
## -1,74 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.rk358x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: net/libgpg-error/1.41/libgpg-error-pkg-description.in
===================================================================
--- net/libgpg-error/1.41/libgpg-error-pkg-description.in (revision 446)
+++ net/libgpg-error/1.41/libgpg-error-pkg-description.in (nonexistent)
@@ -1,19 +0,0 @@
-# HOW TO EDIT THIS FILE:
-# The "handy ruler" below makes it easier to edit a package description. Line
-# up the first '|' above the ':' following the base package name, and the '|'
-# on the right side marks the last column you can put a character in. You must
-# make exactly 11 lines for the formatting to be correct. It's also
-# customary to leave one space after the ':'.
-
- |-----handy-ruler------------------------------------------------------|
-libgpg-error: libgpg-error @VERSION@ (GnuPG Error Definitions Library)
-libgpg-error:
-libgpg-error: This is a library that defines common error values for all GnuPG
-libgpg-error: components. Among these are GPG, GPGSM, GPGME, GPG-Agent, libgcrypt,
-libgpg-error: Libksba, DirMngr, Pinentry, SmartCard Daemon, and more.
-libgpg-error:
-libgpg-error:
-libgpg-error:
-libgpg-error:
-libgpg-error:
-libgpg-error:
Index: net/libgpg-error/1.41/libgpg-error-pkg-install.sh
===================================================================
--- net/libgpg-error/1.41/libgpg-error-pkg-install.sh (revision 446)
+++ net/libgpg-error/1.41/libgpg-error-pkg-install.sh (nonexistent)
@@ -1,69 +0,0 @@
-#!/bin/sh
-
-# Preserve new files
-install_file() {
- NEW="$1"
- OLD="`dirname $NEW`/`basename $NEW .new`"
- # If there's no file by that name, mv it over:
- if [ ! -r $OLD ]; then
- mv $NEW $OLD
- elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
- rm $NEW
- fi
- # Otherwise, we leave the .new copy for the admin to consider...
-}
-
-
-# arg 1: the new package version
-pre_install() {
- /bin/true
-}
-
-# arg 1: the new package version
-post_install() {
- #
- # NOTE:
- # 'install-info' can work using relative paths and we can make use build machine
- # utility during installation to the some partition and use target 'install-info'
- # during installation directly on the running target machine.
- #
- if [ -x /usr/bin/install-info ] ; then
- install-info --info-dir=usr/share/info usr/share/info/gpgrt.info.gz 2>/dev/null
- elif ! grep "(gnupg)" usr/share/info/dir 1> /dev/null 2> /dev/null ; then
- cat << EOF >> usr/share/info/dir
-
-Libraries
-* libgpg-error: (gnupg). Error codes and common code for GnuPG.
-EOF
- fi
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-pre_update() {
- /bin/true
-}
-
-# arg 1: the new package version
-# arg 2: the old package version
-post_update() {
- post_install
-}
-
-# arg 1: the old package version
-pre_remove() {
- if [ -x /usr/bin/install-info ] ; then
- install-info --delete --info-file=usr/share/info/gpgrt.info.gz --dir-file=usr/share/info/dir 2> /dev/null || /bin/true
- fi
-}
-
-# arg 1: the old package version
-post_remove() {
- /bin/true
-}
-
-
-operation=$1
-shift
-
-$operation $*
Property changes on: net/libgpg-error/1.41/libgpg-error-pkg-install.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: net/libgpg-error/1.41/Makefile
===================================================================
--- net/libgpg-error/1.41/Makefile (revision 446)
+++ net/libgpg-error/1.41/Makefile (nonexistent)
@@ -1,293 +0,0 @@
-
-COMPONENT_TARGETS = $(HARDWARE_INTEL_PC32)
-COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
-COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
-COMPONENT_TARGETS += $(HARDWARE_CB1X)
-COMPONENT_TARGETS += $(HARDWARE_CB2X)
-COMPONENT_TARGETS += $(HARDWARE_CB3X)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
-COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5B)
-COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5P)
-COMPONENT_TARGETS += $(HARDWARE_ROCK_5B)
-COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
-COMPONENT_TARGETS += $(HARDWARE_REPKA_PI3)
-COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
-COMPONENT_TARGETS += $(HARDWARE_POIN2)
-COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
-COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
-COMPONENT_TARGETS += $(HARDWARE_M201)
-COMPONENT_TARGETS += $(HARDWARE_MXV)
-COMPONENT_TARGETS += $(HARDWARE_P201)
-COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
-COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
-COMPONENT_TARGETS += $(HARDWARE_P212)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
-COMPONENT_TARGETS += $(HARDWARE_Q201)
-COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
-COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
-COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
-COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
-COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
-COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
-COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
-COMPONENT_TARGETS += $(HARDWARE_CI20)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
-COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
-COMPONENT_TARGETS += $(HARDWARE_S824L)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN)
-COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
-COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
-COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
-COMPONENT_TARGETS += $(HARDWARE_VISIONFIVE2)
-COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
-
-
-NEED_ABS_PATH = true
-COMPONENT_IS_3PP = true
-
-
-include ../../../build-system/constants.mk
-
-
-SOURCE_REQUIRES = sources/packages/n/libgpg-error
-
-ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
-REQUIRES = dev/gcc/14.2.0
-else
-REQUIRES = libs/glibc/2.41
-endif
-
-# ======= __END_OF_REQUIRES__ =======
-
-
-version = 1.41
-tar_bz2_archive = $(SRC_PACKAGE_PATH)/packages/n/libgpg-error/libgpg-error-$(version).tar.bz2
-SRC_ARCHIVE = $(tar_bz2_archive)
-SRC_DIR = $(TARGET_BUILD_DIR)/libgpg-error-$(version)
-src_dir_name = libgpg-error-$(version)
-src_done = $(TARGET_BUILD_DIR)/.source_done
-
-PATCHES = PATCHES
-
-build_dir = $(TARGET_BUILD_DIR)/build
-build_target = $(TARGET_BUILD_DIR)/.build_done
-install_target = $(TARGET_BUILD_DIR)/.install_done
-
-
-####### Targets
-
-PKG_GROUP = net
-
-#
-# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
-#
-GPGERROR_PKG_NAME = libgpg-error
-GPGERROR_PKG_VERSION = 1.41
-GPGERROR_PKG_ARCH = $(PKGARCH)
-GPGERROR_PKG_DISTRO_NAME = $(DISTRO_NAME)
-GPGERROR_PKG_DISTRO_VERSION = $(DISTRO_VERSION)
-GPGERROR_PKG_GROUP = $(PKG_GROUP)
-### |---handy-ruler-------------------------------|
-GPGERROR_PKG_SHORT_DESCRIPTION = GnuPG Error Definitions Library
-GPGERROR_PKG_URL = $(BUG_URL)
-GPGERROR_PKG_LICENSE = GPLv2
-GPGERROR_PKG_DESCRIPTION_FILE = $(TARGET_BUILD_DIR)/$(GPGERROR_PKG_NAME)-pkg-description
-GPGERROR_PKG_DESCRIPTION_FILE_IN = $(GPGERROR_PKG_NAME)-pkg-description.in
-GPGERROR_PKG_INSTALL_SCRIPT = $(GPGERROR_PKG_NAME)-pkg-install.sh
-
-GPGERROR_PKG = $(CURDIR)/$(TARGET_BUILD_DIR)/$(GPGERROR_PKG_NAME)-package
-
-pkg_basename = $(GPGERROR_PKG_NAME)-$(GPGERROR_PKG_VERSION)-$(GPGERROR_PKG_ARCH)-$(GPGERROR_PKG_DISTRO_NAME)-$(GPGERROR_PKG_DISTRO_VERSION)
-
-pkg_archive = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
-pkg_certificate = $(call cert-name,$(pkg_archive))
-pkg_signature = $(call sign-name,$(pkg_archive))
-pkg_description = $(call desc-name,$(pkg_archive))
-products = $(call pkg-files,$(pkg_archive))
-
-BUILD_TARGETS = $(build_target)
-BUILD_TARGETS += $(install_target)
-
-PRODUCT_TARGETS = $(products)
-
-ROOTFS_TARGETS = $(pkg_archive)
-
-
-include ../../../build-system/core.mk
-
-
-env_sysroot = DESTDIR=$(GPGERROR_PKG)
-
-
-extra_configure_switches = --libdir=/usr/lib$(LIBSUFFIX)
-extra_configure_switches += --infodir=/usr/share/info
-extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
-extra_configure_switches += --disable-dependency-tracking
-extra_configure_switches += --with-gnu-ld
-ifeq ($(__ENABLE_STATIC__),yes)
-extra_configure_switches += --enable-static=yes
-else
-extra_configure_switches += --enable-static=no
-endif
-extra_configure_switches += --enable-shared=yes
-
-
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_A1X_GLIBC) $(TOOLCHAIN_A2X_GLIBC) \
- $(TOOLCHAIN_H3_GLIBC) $(TOOLCHAIN_RK328X_GLIBC) \
- $(TOOLCHAIN_S8XX_GLIBC) $(TOOLCHAIN_IMX6_GLIBC) \
- $(TOOLCHAIN_AM335X_GLIBC) $(TOOLCHAIN_OMAP543X_GLIBC)),)
-gpgrt_lock_t_name = arm-unknown-linux-gnueabihf
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_H5_GLIBC) $(TOOLCHAIN_RK33XX_GLIBC) \
- $(TOOLCHAIN_RK339X_GLIBC) $(TOOLCHAIN_RK358X_GLIBC) \
- $(TOOLCHAIN_S9XX_GLIBC) \
- $(TOOLCHAIN_A311X_GLIBC) $(TOOLCHAIN_M1000_GLIBC)),)
-gpgrt_lock_t_name = aarch64-unknown-linux-gnu
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC) $(TOOLCHAIN_P5600_GLIBC)),)
-gpgrt_lock_t_name = mipsel-unknown-linux-gnu
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC) $(TOOLCHAIN_POWER9_GLIBC)),)
-gpgrt_lock_t_name = powerpc64-unknown-linux-gnu
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8LE_GLIBC) $(TOOLCHAIN_POWER9LE_GLIBC)),)
-gpgrt_lock_t_name = powerpc64le-unknown-linux-gnu
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_RISCV64_GLIBC)),)
-gpgrt_lock_t_name = riscv64-unknown-linux-gnu
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_I586_GLIBC)),)
-gpgrt_lock_t_name = i586-pc-linux-gnu
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_I686_GLIBC)),)
-gpgrt_lock_t_name = i686-pc-linux-gnu
-endif
-ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC)),)
-gpgrt_lock_t_name = x86_64-pc-linux-gnu
-endif
-
-
-####### Dependencies
-
-$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
- $(UNPACK_SRC_ARCHIVE)
- $(APPLY_PATCHES)
- @touch $@
-
-$(build_target): $(src_done)
- @mkdir -p $(build_dir)
- @( cd $(SRC_DIR)/src/syscfg ; \
- ln -sf lock-obj-pub.$(gpgrt_lock_t_name).h lock-obj-pub.$(TARGET).h ; \
- )
- @cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
- --prefix=/usr \
- --build=$(BUILD) \
- --host=$(TARGET) \
- $(extra_configure_switches)
- @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
- @touch $@
-
-$(install_target): $(build_target)
- @mkdir -p $(GPGERROR_PKG)
- @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
- @mkdir -p $(GPGERROR_PKG)/lib$(LIBSUFFIX)
- @( cd $(GPGERROR_PKG)/usr/lib$(LIBSUFFIX) ; \
- chmod +w lib*.so.?.*.? ; \
- mv lib*.so.?.*.? ../../lib$(LIBSUFFIX) ; \
- ln -sf ../../lib$(LIBSUFFIX)/lib*.so.?.*.? . ; \
- cp -a lib*.so.? ../../lib$(LIBSUFFIX) ; \
- )
- # ====== Install Documentation =======
- @rm -f $(GPGERROR_PKG)/usr/share/info/dir
- @gzip -9 $(GPGERROR_PKG)/usr/share/info/*
- @if [ -d $(GPGERROR_PKG)/usr/share/man ]; then \
- ( cd $(GPGERROR_PKG)/usr/share/man ; \
- for manpagedir in `find . -type d -name "man*"` ; do \
- ( cd $$manpagedir ; \
- for eachpage in `find . -type l -maxdepth 1` ; do \
- ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
- rm $$eachpage ; \
- done ; \
- gzip -9 *.? ; \
- ) \
- done \
- ) \
- fi
- @mkdir -p $(GPGERROR_PKG)/usr/doc/$(src_dir_name)
- @cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING* \
- $(GPGERROR_PKG)/usr/doc/$(src_dir_name)
- @mkdir -p $(GPGERROR_PKG)/usr/share/doc/$(src_dir_name)
- @( cd $(SRC_DIR) ; \
- cp -a AUTHORS COPYING* NEWS README* THANKS VERSION doc/HACKING \
- $(GPGERROR_PKG)/usr/share/doc/$(src_dir_name) ; \
- )
- @( cd $(SRC_DIR) ; \
- if [ -r ChangeLog ]; then \
- DOCSDIR=`echo $(GPGERROR_PKG)/usr/share/doc/$(src_dir_name)` ; \
- cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
- touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
- fi \
- )
- # ======= remove toolchain path from target libtool *.la files =======
- @( cd $(GPGERROR_PKG)/usr/lib$(LIBSUFFIX) ; \
- sed -i "s,$(TARGET_DEST_DIR),,g" libgpg-error.la ; \
- )
- # ======= Install the same to $(TARGET_DEST_DIR) =======
- $(call install-into-devenv, $(GPGERROR_PKG))
- # ======= tune libtool *.la search path to the target destination for development =======
- @( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
- sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libgpg-error.la ; \
- sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libgpg-error.la ; \
- )
- # ======= tune pkg-config *.pc search path to the target destination for development =======
- @( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
- sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" gpg-error.pc ; \
- )
- # ======= tune gpg-error-config script to the target destination for development =======
- @( cd $(TARGET_DEST_DIR)/usr/bin ; \
- sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" gpg-error-config ; \
- )
- # ======= Strip binaries =======
- @( cd $(GPGERROR_PKG) ; \
- find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
- find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
- )
-ifeq ($(__ENABLE_STATIC__),yes)
- @( cd $(GPGERROR_PKG) ; \
- find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
- )
-endif
- @touch $@
-
-$(GPGERROR_PKG_DESCRIPTION_FILE): $(GPGERROR_PKG_DESCRIPTION_FILE_IN)
- @cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
-
-$(pkg_certificate) : $(pkg_archive) ;
-$(pkg_signature) : $(pkg_archive) ;
-$(pkg_description) : $(pkg_archive) ;
-
-$(pkg_archive): $(install_target) $(GPGERROR_PKG_DESCRIPTION_FILE) $(GPGERROR_PKG_INSTALL_SCRIPT)
- @cp $(GPGERROR_PKG_DESCRIPTION_FILE) $(GPGERROR_PKG)/.DESCRIPTION
- @cp $(GPGERROR_PKG_INSTALL_SCRIPT) $(GPGERROR_PKG)/.INSTALL
- @$(BUILD_PKG_REQUIRES) $(GPGERROR_PKG)/.REQUIRES
- @echo "pkgname=$(GPGERROR_PKG_NAME)" > $(GPGERROR_PKG)/.PKGINFO ; \
- echo "pkgver=$(GPGERROR_PKG_VERSION)" >> $(GPGERROR_PKG)/.PKGINFO ; \
- echo "arch=$(GPGERROR_PKG_ARCH)" >> $(GPGERROR_PKG)/.PKGINFO ; \
- echo "distroname=$(GPGERROR_PKG_DISTRO_NAME)" >> $(GPGERROR_PKG)/.PKGINFO ; \
- echo "distrover=$(GPGERROR_PKG_DISTRO_VERSION)" >> $(GPGERROR_PKG)/.PKGINFO ; \
- echo "group=$(GPGERROR_PKG_GROUP)" >> $(GPGERROR_PKG)/.PKGINFO ; \
- echo "short_description=\"$(GPGERROR_PKG_SHORT_DESCRIPTION)\"" >> $(GPGERROR_PKG)/.PKGINFO ; \
- echo "url=$(GPGERROR_PKG_URL)" >> $(GPGERROR_PKG)/.PKGINFO ; \
- echo "license=$(GPGERROR_PKG_LICENSE)" >> $(GPGERROR_PKG)/.PKGINFO
- @$(PSEUDO) sh -c "cd $(GPGERROR_PKG) && \
- chown -R root:root . && \
- $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/libgpg-error/1.41
===================================================================
--- net/libgpg-error/1.41 (revision 446)
+++ net/libgpg-error/1.41 (nonexistent)
Property changes on: net/libgpg-error/1.41
___________________________________________________________________
Deleted: svn:ignore
## -1,74 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.rk358x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: net/libgpg-error/1.51/Makefile
===================================================================
--- net/libgpg-error/1.51/Makefile (nonexistent)
+++ net/libgpg-error/1.51/Makefile (revision 447)
@@ -0,0 +1,290 @@
+
+COMPONENT_TARGETS = $(HARDWARE_INTEL_PC32)
+COMPONENT_TARGETS += $(HARDWARE_INTEL_PC64)
+COMPONENT_TARGETS += $(HARDWARE_EBOX_3350DX2)
+COMPONENT_TARGETS += $(HARDWARE_CB1X)
+COMPONENT_TARGETS += $(HARDWARE_CB2X)
+COMPONENT_TARGETS += $(HARDWARE_CB3X)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP2E)
+COMPONENT_TARGETS += $(HARDWARE_NANOPI_NEO)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PP)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PL2)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5B)
+COMPONENT_TARGETS += $(HARDWARE_ORANGE_PI5P)
+COMPONENT_TARGETS += $(HARDWARE_ROCK_5B)
+COMPONENT_TARGETS += $(HARDWARE_WECHIP_TX6)
+COMPONENT_TARGETS += $(HARDWARE_REPKA_PI3)
+COMPONENT_TARGETS += $(HARDWARE_FFRK3288)
+COMPONENT_TARGETS += $(HARDWARE_POIN2)
+COMPONENT_TARGETS += $(HARDWARE_RK3328_CC)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_EDGE)
+COMPONENT_TARGETS += $(HARDWARE_LEEZ_P710)
+COMPONENT_TARGETS += $(HARDWARE_M201)
+COMPONENT_TARGETS += $(HARDWARE_MXV)
+COMPONENT_TARGETS += $(HARDWARE_P201)
+COMPONENT_TARGETS += $(HARDWARE_NEXBOX_A95X)
+COMPONENT_TARGETS += $(HARDWARE_ODROID_C2)
+COMPONENT_TARGETS += $(HARDWARE_P212)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM)
+COMPONENT_TARGETS += $(HARDWARE_Q201)
+COMPONENT_TARGETS += $(HARDWARE_ENYBOX_X2)
+COMPONENT_TARGETS += $(HARDWARE_KHADAS_VIM2)
+COMPONENT_TARGETS += $(HARDWARE_NIT6Q)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6DL_C)
+COMPONENT_TARGETS += $(HARDWARE_OKMX6Q_C)
+COMPONENT_TARGETS += $(HARDWARE_BONE_BLACK)
+COMPONENT_TARGETS += $(HARDWARE_OMAP5UEVM)
+COMPONENT_TARGETS += $(HARDWARE_DRA7XXEVM)
+COMPONENT_TARGETS += $(HARDWARE_CI20)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_T1)
+COMPONENT_TARGETS += $(HARDWARE_BAIKAL_M1)
+COMPONENT_TARGETS += $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_S824L_LSB)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2_LSB)
+COMPONENT_TARGETS += $(HARDWARE_VISIONFIVE2)
+COMPONENT_TARGETS += $(HARDWARE_SIFIVE_U740)
+
+
+NEED_ABS_PATH = true
+COMPONENT_IS_3PP = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES = sources/packages/n/libgpg-error
+
+ifeq ($(__USE_BUILT_GCC_LIBS__),yes)
+REQUIRES = dev/gcc/14.2.0
+else
+REQUIRES = libs/glibc/2.41
+endif
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version = 1.51
+tar_bz2_archive = $(SRC_PACKAGE_PATH)/packages/n/libgpg-error/libgpg-error-$(version).tar.bz2
+SRC_ARCHIVE = $(tar_bz2_archive)
+SRC_DIR = $(TARGET_BUILD_DIR)/libgpg-error-$(version)
+src_dir_name = libgpg-error-$(version)
+src_done = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir = $(TARGET_BUILD_DIR)/build
+build_target = $(TARGET_BUILD_DIR)/.build_done
+install_target = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = net
+
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+GPGERROR_PKG_NAME = libgpg-error
+GPGERROR_PKG_VERSION = 1.51
+GPGERROR_PKG_ARCH = $(PKGARCH)
+GPGERROR_PKG_DISTRO_NAME = $(DISTRO_NAME)
+GPGERROR_PKG_DISTRO_VERSION = $(DISTRO_VERSION)
+GPGERROR_PKG_GROUP = $(PKG_GROUP)
+### |---handy-ruler-------------------------------|
+GPGERROR_PKG_SHORT_DESCRIPTION = GnuPG Error Definitions Library
+GPGERROR_PKG_URL = $(BUG_URL)
+GPGERROR_PKG_LICENSE = GPLv2
+GPGERROR_PKG_DESCRIPTION_FILE = $(TARGET_BUILD_DIR)/$(GPGERROR_PKG_NAME)-pkg-description
+GPGERROR_PKG_DESCRIPTION_FILE_IN = $(GPGERROR_PKG_NAME)-pkg-description.in
+GPGERROR_PKG_INSTALL_SCRIPT = $(GPGERROR_PKG_NAME)-pkg-install.sh
+
+GPGERROR_PKG = $(CURDIR)/$(TARGET_BUILD_DIR)/$(GPGERROR_PKG_NAME)-package
+
+pkg_basename = $(GPGERROR_PKG_NAME)-$(GPGERROR_PKG_VERSION)-$(GPGERROR_PKG_ARCH)-$(GPGERROR_PKG_DISTRO_NAME)-$(GPGERROR_PKG_DISTRO_VERSION)
+
+pkg_archive = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate = $(call cert-name,$(pkg_archive))
+pkg_signature = $(call sign-name,$(pkg_archive))
+pkg_description = $(call desc-name,$(pkg_archive))
+products = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS = $(build_target)
+BUILD_TARGETS += $(install_target)
+
+PRODUCT_TARGETS = $(products)
+
+ROOTFS_TARGETS = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(GPGERROR_PKG)
+
+
+extra_configure_switches = --libdir=/usr/lib$(LIBSUFFIX)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+extra_configure_switches += --disable-dependency-tracking
+extra_configure_switches += --with-gnu-ld
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static=yes
+else
+extra_configure_switches += --enable-static=no
+endif
+extra_configure_switches += --enable-shared=yes
+
+
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_A1X_GLIBC) $(TOOLCHAIN_A2X_GLIBC) \
+ $(TOOLCHAIN_H3_GLIBC) $(TOOLCHAIN_RK328X_GLIBC) \
+ $(TOOLCHAIN_S8XX_GLIBC) $(TOOLCHAIN_IMX6_GLIBC) \
+ $(TOOLCHAIN_AM335X_GLIBC) $(TOOLCHAIN_OMAP543X_GLIBC)),)
+gpgrt_lock_t_name = arm-unknown-linux-gnueabihf
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_H5_GLIBC) $(TOOLCHAIN_RK33XX_GLIBC) \
+ $(TOOLCHAIN_RK339X_GLIBC) $(TOOLCHAIN_RK358X_GLIBC) \
+ $(TOOLCHAIN_S9XX_GLIBC) \
+ $(TOOLCHAIN_A311X_GLIBC) $(TOOLCHAIN_M1000_GLIBC)),)
+gpgrt_lock_t_name = aarch64-unknown-linux-gnu
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_JZ47XX_GLIBC) $(TOOLCHAIN_P5600_GLIBC)),)
+gpgrt_lock_t_name = mipsel-unknown-linux-gnu
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC) $(TOOLCHAIN_POWER9_GLIBC)),)
+gpgrt_lock_t_name = powerpc64-unknown-linux-gnu
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8LE_GLIBC) $(TOOLCHAIN_POWER9LE_GLIBC)),)
+gpgrt_lock_t_name = powerpc64le-unknown-linux-gnu
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_RISCV64_GLIBC)),)
+gpgrt_lock_t_name = riscv64-unknown-linux-gnu
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_I586_GLIBC)),)
+gpgrt_lock_t_name = i586-pc-linux-gnu
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_I686_GLIBC)),)
+gpgrt_lock_t_name = i686-pc-linux-gnu
+endif
+ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC)),)
+gpgrt_lock_t_name = x86_64-pc-linux-gnu
+endif
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+ $(UNPACK_SRC_ARCHIVE)
+ $(APPLY_PATCHES)
+ @touch $@
+
+$(build_target): $(src_done)
+ @mkdir -p $(build_dir)
+ @( cd $(SRC_DIR)/src/syscfg ; \
+ ln -sf lock-obj-pub.$(gpgrt_lock_t_name).h lock-obj-pub.$(TARGET).h ; \
+ )
+ @cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+ --prefix=/usr \
+ --build=$(BUILD) \
+ --host=$(TARGET) \
+ $(extra_configure_switches)
+ @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+ @touch $@
+
+$(install_target): $(build_target)
+ @mkdir -p $(GPGERROR_PKG)
+ @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+ @mkdir -p $(GPGERROR_PKG)/lib$(LIBSUFFIX)
+ @( cd $(GPGERROR_PKG)/usr/lib$(LIBSUFFIX) ; \
+ chmod +w lib*.so.?.*.? ; \
+ mv lib*.so.?.*.? ../../lib$(LIBSUFFIX) ; \
+ ln -sf ../../lib$(LIBSUFFIX)/lib*.so.?.*.? . ; \
+ cp -a lib*.so.? ../../lib$(LIBSUFFIX) ; \
+ )
+ # ====== Install Documentation =======
+ @rm -f $(GPGERROR_PKG)/usr/share/info/dir
+ @gzip -9 $(GPGERROR_PKG)/usr/share/info/*
+ @if [ -d $(GPGERROR_PKG)/usr/share/man ]; then \
+ ( cd $(GPGERROR_PKG)/usr/share/man ; \
+ for manpagedir in `find . -type d -name "man*"` ; do \
+ ( cd $$manpagedir ; \
+ for eachpage in `find . -type l -maxdepth 1` ; do \
+ ln -s `readlink $$eachpage`.gz $$eachpage.gz ; \
+ rm $$eachpage ; \
+ done ; \
+ gzip -9 *.? ; \
+ ) \
+ done \
+ ) \
+ fi
+ @mkdir -p $(GPGERROR_PKG)/usr/doc/$(src_dir_name)
+ @cp -a $(SRC_DIR)/AUTHORS $(SRC_DIR)/COPYING* \
+ $(GPGERROR_PKG)/usr/doc/$(src_dir_name)
+ @mkdir -p $(GPGERROR_PKG)/usr/share/doc/$(src_dir_name)
+ @( cd $(SRC_DIR) ; \
+ cp -a AUTHORS COPYING* NEWS README* THANKS VERSION doc/HACKING \
+ $(GPGERROR_PKG)/usr/share/doc/$(src_dir_name) ; \
+ )
+ @( cd $(SRC_DIR) ; \
+ if [ -r ChangeLog ]; then \
+ DOCSDIR=`echo $(GPGERROR_PKG)/usr/share/doc/$(src_dir_name)` ; \
+ cat ChangeLog | head -n 1000 > $$DOCSDIR/ChangeLog ; \
+ touch -r ChangeLog $$DOCSDIR/ChangeLog ; \
+ fi \
+ )
+ # ======= remove toolchain path from target libtool *.la files =======
+ @( cd $(GPGERROR_PKG)/usr/lib$(LIBSUFFIX) ; \
+ sed -i "s,$(TARGET_DEST_DIR),,g" libgpg-error.la ; \
+ )
+ # ======= Install the same to $(TARGET_DEST_DIR) =======
+ $(call install-into-devenv, $(GPGERROR_PKG))
+ # ======= tune libtool *.la search path to the target destination for development =======
+ @( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX) ; \
+ sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libgpg-error.la ; \
+ sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libgpg-error.la ; \
+ )
+ # ======= tune pkg-config *.pc search path to the target destination for development =======
+ @( cd $(TARGET_DEST_DIR)/usr/lib$(LIBSUFFIX)/pkgconfig ; \
+ sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" gpg-error.pc ; \
+ )
+ # ======= Strip binaries =======
+ @( cd $(GPGERROR_PKG) ; \
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+ )
+ifeq ($(__ENABLE_STATIC__),yes)
+ @( cd $(GPGERROR_PKG) ; \
+ find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+ )
+endif
+ @touch $@
+
+$(GPGERROR_PKG_DESCRIPTION_FILE): $(GPGERROR_PKG_DESCRIPTION_FILE_IN)
+ @cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature) : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(GPGERROR_PKG_DESCRIPTION_FILE) $(GPGERROR_PKG_INSTALL_SCRIPT)
+ @cp $(GPGERROR_PKG_DESCRIPTION_FILE) $(GPGERROR_PKG)/.DESCRIPTION
+ @cp $(GPGERROR_PKG_INSTALL_SCRIPT) $(GPGERROR_PKG)/.INSTALL
+ @$(BUILD_PKG_REQUIRES) $(GPGERROR_PKG)/.REQUIRES
+ @echo "pkgname=$(GPGERROR_PKG_NAME)" > $(GPGERROR_PKG)/.PKGINFO ; \
+ echo "pkgver=$(GPGERROR_PKG_VERSION)" >> $(GPGERROR_PKG)/.PKGINFO ; \
+ echo "arch=$(GPGERROR_PKG_ARCH)" >> $(GPGERROR_PKG)/.PKGINFO ; \
+ echo "distroname=$(GPGERROR_PKG_DISTRO_NAME)" >> $(GPGERROR_PKG)/.PKGINFO ; \
+ echo "distrover=$(GPGERROR_PKG_DISTRO_VERSION)" >> $(GPGERROR_PKG)/.PKGINFO ; \
+ echo "group=$(GPGERROR_PKG_GROUP)" >> $(GPGERROR_PKG)/.PKGINFO ; \
+ echo "short_description=\"$(GPGERROR_PKG_SHORT_DESCRIPTION)\"" >> $(GPGERROR_PKG)/.PKGINFO ; \
+ echo "url=$(GPGERROR_PKG_URL)" >> $(GPGERROR_PKG)/.PKGINFO ; \
+ echo "license=$(GPGERROR_PKG_LICENSE)" >> $(GPGERROR_PKG)/.PKGINFO
+ @$(PSEUDO) sh -c "cd $(GPGERROR_PKG) && \
+ chown -R root:root . && \
+ $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/libgpg-error/1.51/PATCHES
===================================================================
Index: net/libgpg-error/1.51/libgpg-error-pkg-description.in
===================================================================
--- net/libgpg-error/1.51/libgpg-error-pkg-description.in (nonexistent)
+++ net/libgpg-error/1.51/libgpg-error-pkg-description.in (revision 447)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libgpg-error: libgpg-error @VERSION@ (GnuPG Error Definitions Library)
+libgpg-error:
+libgpg-error: This is a library that defines common error values for all GnuPG
+libgpg-error: components. Among these are GPG, GPGSM, GPGME, GPG-Agent, libgcrypt,
+libgpg-error: Libksba, DirMngr, Pinentry, SmartCard Daemon, and more.
+libgpg-error:
+libgpg-error:
+libgpg-error:
+libgpg-error:
+libgpg-error:
+libgpg-error:
Index: net/libgpg-error/1.51/libgpg-error-pkg-install.sh
===================================================================
--- net/libgpg-error/1.51/libgpg-error-pkg-install.sh (nonexistent)
+++ net/libgpg-error/1.51/libgpg-error-pkg-install.sh (revision 447)
@@ -0,0 +1,69 @@
+#!/bin/sh
+
+# Preserve new files
+install_file() {
+ NEW="$1"
+ OLD="`dirname $NEW`/`basename $NEW .new`"
+ # If there's no file by that name, mv it over:
+ if [ ! -r $OLD ]; then
+ mv $NEW $OLD
+ elif [ "`cat $OLD | md5sum`" = "`cat $NEW | md5sum`" ]; then # toss the redundant copy
+ rm $NEW
+ fi
+ # Otherwise, we leave the .new copy for the admin to consider...
+}
+
+
+# arg 1: the new package version
+pre_install() {
+ /bin/true
+}
+
+# arg 1: the new package version
+post_install() {
+ #
+ # NOTE:
+ # 'install-info' can work using relative paths and we can make use build machine
+ # utility during installation to the some partition and use target 'install-info'
+ # during installation directly on the running target machine.
+ #
+ if [ -x /usr/bin/install-info ] ; then
+ install-info --info-dir=usr/share/info usr/share/info/gpgrt.info.gz 2>/dev/null
+ elif ! grep "(gnupg)" usr/share/info/dir 1> /dev/null 2> /dev/null ; then
+ cat << EOF >> usr/share/info/dir
+
+Libraries
+* libgpg-error: (gnupg). Error codes and common code for GnuPG.
+EOF
+ fi
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_update() {
+ /bin/true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_update() {
+ post_install
+}
+
+# arg 1: the old package version
+pre_remove() {
+ if [ -x /usr/bin/install-info ] ; then
+ install-info --delete --info-file=usr/share/info/gpgrt.info.gz --dir-file=usr/share/info/dir 2> /dev/null || /bin/true
+ fi
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
Property changes on: net/libgpg-error/1.51/libgpg-error-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: net/libgpg-error/1.51
===================================================================
--- net/libgpg-error/1.51 (nonexistent)
+++ net/libgpg-error/1.51 (revision 447)
Property changes on: net/libgpg-error/1.51
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,74 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.rk358x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: net/libgpg-error/1.51-ppc32/Makefile
===================================================================
--- net/libgpg-error/1.51-ppc32/Makefile (nonexistent)
+++ net/libgpg-error/1.51-ppc32/Makefile (revision 447)
@@ -0,0 +1,183 @@
+
+COMPONENT_TARGETS = $(HARDWARE_S824L)
+COMPONENT_TARGETS += $(HARDWARE_VESNIN)
+COMPONENT_TARGETS += $(HARDWARE_TL2WK2)
+COMPONENT_TARGETS += $(HARDWARE_TL2SV2)
+
+NEED_ABS_PATH = true
+COMPONENT_IS_3PP = true
+
+CREATE_PPC32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES = sources/packages/n/libgpg-error
+
+REQUIRES = net/libgpg-error/1.51
+REQUIRES += libs/glibc/2.41-ppc32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version = 1.51
+tar_bz2_archive = $(SRC_PACKAGE_PATH)/packages/n/libgpg-error/libgpg-error-$(version).tar.bz2
+SRC_ARCHIVE = $(tar_bz2_archive)
+SRC_DIR = $(TARGET_BUILD_DIR)/libgpg-error-$(version)
+src_dir_name = libgpg-error-$(version)
+src_done = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir = $(TARGET_BUILD_DIR)/build
+build_target = $(TARGET_BUILD_DIR)/.build_done
+install_target = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = net
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+GPGERROR32_PKG_NAME = libgpg-error-x32
+GPGERROR32_PKG_VERSION = 1.51
+GPGERROR32_PKG_ARCH = $(PKGARCH)
+GPGERROR32_PKG_DISTRO_NAME = $(DISTRO_NAME)
+GPGERROR32_PKG_DISTRO_VERSION = $(DISTRO_VERSION)
+GPGERROR32_PKG_GROUP = $(PKG_GROUP)
+### |---handy-ruler-------------------------------|
+GPGERROR32_PKG_SHORT_DESCRIPTION = GnuPG Error Definitions Library
+GPGERROR32_PKG_URL = $(BUG_URL)
+GPGERROR32_PKG_LICENSE = GPLv2
+GPGERROR32_PKG_DESCRIPTION_FILE = $(TARGET_BUILD_DIR)/$(GPGERROR32_PKG_NAME)-pkg-description
+GPGERROR32_PKG_DESCRIPTION_FILE_IN = $(GPGERROR32_PKG_NAME)-pkg-description.in
+GPGERROR32_PKG_INSTALL_SCRIPT = $(GPGERROR32_PKG_NAME)-pkg-install.sh
+
+GPGERROR32_PKG = $(CURDIR)/$(TARGET_BUILD_DIR)/$(GPGERROR32_PKG_NAME)-package
+
+pkg_basename = $(GPGERROR32_PKG_NAME)-$(GPGERROR32_PKG_VERSION)-$(GPGERROR32_PKG_ARCH)-$(GPGERROR32_PKG_DISTRO_NAME)-$(GPGERROR32_PKG_DISTRO_VERSION)
+
+pkg_archive = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate = $(call cert-name,$(pkg_archive))
+pkg_signature = $(call sign-name,$(pkg_archive))
+pkg_description = $(call desc-name,$(pkg_archive))
+products = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS = $(build_target)
+BUILD_TARGETS += $(install_target)
+
+PRODUCT_TARGETS = $(products)
+
+ROOTFS_TARGETS = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(GPGERROR32_PKG)
+
+
+extra_configure_switches = --libdir=/usr/lib$(MULTILIB_PPC32_SUFFIX)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --disable-dependency-tracking
+extra_configure_switches += --with-gnu-ld
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static=yes
+else
+extra_configure_switches += --enable-static=no
+endif
+extra_configure_switches += --enable-shared=yes
+
+
+gpgrt_lock_t_name = powerpc-unknown-linux-gnu
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+ $(UNPACK_SRC_ARCHIVE)
+ $(APPLY_PATCHES)
+ @touch $@
+
+$(build_target): $(src_done)
+ @mkdir -p $(build_dir)
+ @( cd $(SRC_DIR)/src/syscfg ; \
+ ln -sf lock-obj-pub.$(gpgrt_lock_t_name).h lock-obj-pub.$(TARGET32).h ; \
+ )
+ @cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+ --prefix=/usr \
+ --build=$(BUILD) \
+ --host=$(TARGET32) \
+ $(extra_configure_switches)
+ @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+ @touch $@
+
+$(install_target): $(build_target)
+ @mkdir -p $(GPGERROR32_PKG)
+ @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+ @mkdir -p $(GPGERROR32_PKG)/lib$(MULTILIB_PPC32_SUFFIX)
+ @( cd $(GPGERROR32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+ chmod +w lib*.so.?.*.? ; \
+ mv lib*.so.?.*.? ../../lib$(MULTILIB_PPC32_SUFFIX) ; \
+ ln -sf ../../lib$(MULTILIB_PPC32_SUFFIX)/lib*.so.?.*.? . ; \
+ cp -a lib*.so.? ../../lib$(MULTILIB_PPC32_SUFFIX) ; \
+ )
+ @rm -rf $(GPGERROR32_PKG)/usr/include
+ @rm -rf $(GPGERROR32_PKG)/usr/share
+ # ======= remove toolchain path from target libtool *.la files =======
+ @( cd $(GPGERROR32_PKG)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+ sed -i "s,$(TARGET_DEST_DIR),,g" libgpg-error.la ; \
+ )
+ # ======= Install the same to $(TARGET_DEST_DIR) =======
+ $(call install-into-devenv, $(GPGERROR32_PKG))
+ # ======= tune libtool *.la search path to the target destination for development =======
+ @( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX) ; \
+ sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libgpg-error.la ; \
+ sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libgpg-error.la ; \
+ )
+ # ======= tune pkg-config *.pc search path to the target destination for development =======
+ @( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_PPC32_SUFFIX)/pkgconfig ; \
+ sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" gpg-error.pc ; \
+ )
+ # ======= Strip binaries =======
+ @( cd $(GPGERROR32_PKG) ; \
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+ )
+ifeq ($(__ENABLE_STATIC__),yes)
+ @( cd $(GPGERROR32_PKG) ; \
+ find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+ )
+endif
+ @touch $@
+
+$(GPGERROR32_PKG_DESCRIPTION_FILE): $(GPGERROR32_PKG_DESCRIPTION_FILE_IN)
+ @cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature) : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(GPGERROR32_PKG_DESCRIPTION_FILE) $(GPGERROR32_PKG_INSTALL_SCRIPT)
+ @cp $(GPGERROR32_PKG_DESCRIPTION_FILE) $(GPGERROR32_PKG)/.DESCRIPTION
+ @cp $(GPGERROR32_PKG_INSTALL_SCRIPT) $(GPGERROR32_PKG)/.INSTALL
+ @$(BUILD_PKG_REQUIRES) $(GPGERROR32_PKG)/.REQUIRES
+ @echo "pkgname=$(GPGERROR32_PKG_NAME)" > $(GPGERROR32_PKG)/.PKGINFO ; \
+ echo "pkgver=$(GPGERROR32_PKG_VERSION)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
+ echo "arch=$(GPGERROR32_PKG_ARCH)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
+ echo "distroname=$(GPGERROR32_PKG_DISTRO_NAME)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
+ echo "distrover=$(GPGERROR32_PKG_DISTRO_VERSION)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
+ echo "group=$(GPGERROR32_PKG_GROUP)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
+ echo "short_description=\"$(GPGERROR32_PKG_SHORT_DESCRIPTION)\"" >> $(GPGERROR32_PKG)/.PKGINFO ; \
+ echo "url=$(GPGERROR32_PKG_URL)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
+ echo "license=$(GPGERROR32_PKG_LICENSE)" >> $(GPGERROR32_PKG)/.PKGINFO
+ @$(PSEUDO) sh -c "cd $(GPGERROR32_PKG) && \
+ chown -R root:root . && \
+ $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/libgpg-error/1.51-ppc32/PATCHES
===================================================================
Index: net/libgpg-error/1.51-ppc32/libgpg-error-x32-pkg-description.in
===================================================================
--- net/libgpg-error/1.51-ppc32/libgpg-error-x32-pkg-description.in (nonexistent)
+++ net/libgpg-error/1.51-ppc32/libgpg-error-x32-pkg-description.in (revision 447)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libgpg-error-x32: libgpg-error-x32 @VERSION@ (GnuPG Error Definitions Library)
+libgpg-error-x32:
+libgpg-error-x32: This is a library that defines common error values for all GnuPG
+libgpg-error-x32: components. Among these are GPG, GPGSM, GPGME, GPG-Agent, libgcrypt,
+libgpg-error-x32: Libksba, DirMngr, Pinentry, SmartCard Daemon, and more.
+libgpg-error-x32:
+libgpg-error-x32:
+libgpg-error-x32:
+libgpg-error-x32:
+libgpg-error-x32:
+libgpg-error-x32:
Index: net/libgpg-error/1.51-ppc32/libgpg-error-x32-pkg-install.sh
===================================================================
--- net/libgpg-error/1.51-ppc32/libgpg-error-x32-pkg-install.sh (nonexistent)
+++ net/libgpg-error/1.51-ppc32/libgpg-error-x32-pkg-install.sh (revision 447)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1: the new package version
+pre_install() {
+ /bin/true
+}
+
+# arg 1: the new package version
+post_install() {
+ /bin/true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_update() {
+ /bin/true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_update() {
+ post_install
+}
+
+# arg 1: the old package version
+pre_remove() {
+ /bin/true
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
Property changes on: net/libgpg-error/1.51-ppc32/libgpg-error-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: net/libgpg-error/1.51-ppc32
===================================================================
--- net/libgpg-error/1.51-ppc32 (nonexistent)
+++ net/libgpg-error/1.51-ppc32 (revision 447)
Property changes on: net/libgpg-error/1.51-ppc32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,74 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.rk358x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: net/libgpg-error/1.51-x86_32/Makefile
===================================================================
--- net/libgpg-error/1.51-x86_32/Makefile (nonexistent)
+++ net/libgpg-error/1.51-x86_32/Makefile (revision 447)
@@ -0,0 +1,180 @@
+
+COMPONENT_TARGETS = $(HARDWARE_INTEL_PC64)
+
+NEED_ABS_PATH = true
+COMPONENT_IS_3PP = true
+
+CREATE_X86_32_PACKAGE = true
+
+
+include ../../../build-system/constants.mk
+
+
+SOURCE_REQUIRES = sources/packages/n/libgpg-error
+
+REQUIRES = net/libgpg-error/1.51
+REQUIRES += libs/glibc/2.41-x86_32
+
+# ======= __END_OF_REQUIRES__ =======
+
+
+version = 1.51
+tar_bz2_archive = $(SRC_PACKAGE_PATH)/packages/n/libgpg-error/libgpg-error-$(version).tar.bz2
+SRC_ARCHIVE = $(tar_bz2_archive)
+SRC_DIR = $(TARGET_BUILD_DIR)/libgpg-error-$(version)
+src_dir_name = libgpg-error-$(version)
+src_done = $(TARGET_BUILD_DIR)/.source_done
+
+PATCHES = PATCHES
+
+build_dir = $(TARGET_BUILD_DIR)/build
+build_target = $(TARGET_BUILD_DIR)/.build_done
+install_target = $(TARGET_BUILD_DIR)/.install_done
+
+
+####### Targets
+
+PKG_GROUP = net
+#
+# *PKG_NAME & *PKG_VERSION shouldn't be a reference to value.
+#
+GPGERROR32_PKG_NAME = libgpg-error-x32
+GPGERROR32_PKG_VERSION = 1.51
+GPGERROR32_PKG_ARCH = $(PKGARCH)
+GPGERROR32_PKG_DISTRO_NAME = $(DISTRO_NAME)
+GPGERROR32_PKG_DISTRO_VERSION = $(DISTRO_VERSION)
+GPGERROR32_PKG_GROUP = $(PKG_GROUP)
+### |---handy-ruler-------------------------------|
+GPGERROR32_PKG_SHORT_DESCRIPTION = GnuPG Error Definitions Library
+GPGERROR32_PKG_URL = $(BUG_URL)
+GPGERROR32_PKG_LICENSE = GPLv2
+GPGERROR32_PKG_DESCRIPTION_FILE = $(TARGET_BUILD_DIR)/$(GPGERROR32_PKG_NAME)-pkg-description
+GPGERROR32_PKG_DESCRIPTION_FILE_IN = $(GPGERROR32_PKG_NAME)-pkg-description.in
+GPGERROR32_PKG_INSTALL_SCRIPT = $(GPGERROR32_PKG_NAME)-pkg-install.sh
+
+GPGERROR32_PKG = $(CURDIR)/$(TARGET_BUILD_DIR)/$(GPGERROR32_PKG_NAME)-package
+
+pkg_basename = $(GPGERROR32_PKG_NAME)-$(GPGERROR32_PKG_VERSION)-$(GPGERROR32_PKG_ARCH)-$(GPGERROR32_PKG_DISTRO_NAME)-$(GPGERROR32_PKG_DISTRO_VERSION)
+
+pkg_archive = $(TARGET_BUILD_DIR)/$(PKG_GROUP)/$(pkg_basename).$(pkg_arch_suffix)
+pkg_certificate = $(call cert-name,$(pkg_archive))
+pkg_signature = $(call sign-name,$(pkg_archive))
+pkg_description = $(call desc-name,$(pkg_archive))
+products = $(call pkg-files,$(pkg_archive))
+
+BUILD_TARGETS = $(build_target)
+BUILD_TARGETS += $(install_target)
+
+PRODUCT_TARGETS = $(products)
+
+ROOTFS_TARGETS = $(pkg_archive)
+
+
+include ../../../build-system/core.mk
+
+
+env_sysroot = DESTDIR=$(GPGERROR32_PKG)
+
+
+extra_configure_switches = --libdir=/usr/lib$(MULTILIB_X86_32_SUFFIX)
+extra_configure_switches += --infodir=/usr/share/info
+extra_configure_switches += --docdir=/usr/share/doc/$(src_dir_name)
+
+extra_configure_switches += --bindir=/usr/bin/32
+
+extra_configure_switches += --disable-dependency-tracking
+extra_configure_switches += --with-gnu-ld
+
+ifeq ($(__ENABLE_STATIC__),yes)
+extra_configure_switches += --enable-static=yes
+else
+extra_configure_switches += --enable-static=no
+endif
+extra_configure_switches += --enable-shared=yes
+
+
+gpgrt_lock_t_name = i686-pc-linux-gnu
+
+
+####### Dependencies
+
+$(src_done): $(SRC_ARCHIVE) $(PATCHES_DEP)
+ $(UNPACK_SRC_ARCHIVE)
+ $(APPLY_PATCHES)
+ @touch $@
+
+$(build_target): $(src_done)
+ @mkdir -p $(build_dir)
+ @( cd $(SRC_DIR)/src/syscfg ; \
+ ln -sf lock-obj-pub.$(gpgrt_lock_t_name).h lock-obj-pub.$(TARGET32).h ; \
+ )
+ @cd $(build_dir) && $(BUILD_ENVIRONMENT) ../$(src_dir_name)/configure \
+ --prefix=/usr \
+ --build=$(BUILD) \
+ --host=$(TARGET32) \
+ $(extra_configure_switches)
+ @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE)
+ @touch $@
+
+$(install_target): $(build_target)
+ @mkdir -p $(GPGERROR32_PKG)
+ @cd $(build_dir) && $(BUILD_ENVIRONMENT) $(MAKE) -j1 install $(env_sysroot)
+ @mkdir -p $(GPGERROR32_PKG)/lib$(MULTILIB_X86_32_SUFFIX)
+ @( cd $(GPGERROR32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+ chmod +w lib*.so.?.*.? ; \
+ mv lib*.so.?.*.? ../../lib$(MULTILIB_X86_32_SUFFIX) ; \
+ ln -sf ../../lib$(MULTILIB_X86_32_SUFFIX)/lib*.so.?.*.? . ; \
+ cp -a lib*.so.? ../../lib$(MULTILIB_X86_32_SUFFIX) ; \
+ )
+ @rm -rf $(GPGERROR32_PKG)/usr/include
+ @rm -rf $(GPGERROR32_PKG)/usr/share
+ # ======= remove toolchain path from target libtool *.la files =======
+ @( cd $(GPGERROR32_PKG)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+ sed -i "s,$(TARGET_DEST_DIR),,g" libgpg-error.la ; \
+ )
+ # ======= Install the same to $(TARGET_DEST_DIR) =======
+ $(call install-into-devenv, $(GPGERROR32_PKG))
+ # ======= tune libtool *.la search path to the target destination for development =======
+ @( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX) ; \
+ sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" libgpg-error.la ; \
+ sed -i "s,L/lib,L$(TARGET_DEST_DIR)/lib,g" libgpg-error.la ; \
+ )
+ # ======= tune pkg-config *.pc search path to the target destination for development =======
+ @( cd $(TARGET_DEST_DIR)/usr/lib$(MULTILIB_X86_32_SUFFIX)/pkgconfig ; \
+ sed -i "s,/usr,$(TARGET_DEST_DIR)/usr,g" gpg-error.pc ; \
+ )
+ # ======= Strip binaries =======
+ @( cd $(GPGERROR32_PKG) ; \
+ find . | xargs file | grep "executable" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+ find . | xargs file | grep "shared object" | grep ELF | cut -f 1 -d : | xargs $(STRIP) --strip-unneeded 2> /dev/null ; \
+ )
+ifeq ($(__ENABLE_STATIC__),yes)
+ @( cd $(GPGERROR32_PKG) ; \
+ find . | xargs file | grep "current ar archive" | cut -f 1 -d : | xargs $(STRIP) -g 2> /dev/null ; \
+ )
+endif
+ @touch $@
+
+$(GPGERROR32_PKG_DESCRIPTION_FILE): $(GPGERROR32_PKG_DESCRIPTION_FILE_IN)
+ @cat $< | $(SED) -e "s/@VERSION@/$(version)/g" > $@
+
+$(pkg_certificate) : $(pkg_archive) ;
+$(pkg_signature) : $(pkg_archive) ;
+$(pkg_description) : $(pkg_archive) ;
+
+$(pkg_archive): $(install_target) $(GPGERROR32_PKG_DESCRIPTION_FILE) $(GPGERROR32_PKG_INSTALL_SCRIPT)
+ @cp $(GPGERROR32_PKG_DESCRIPTION_FILE) $(GPGERROR32_PKG)/.DESCRIPTION
+ @cp $(GPGERROR32_PKG_INSTALL_SCRIPT) $(GPGERROR32_PKG)/.INSTALL
+ @$(BUILD_PKG_REQUIRES) $(GPGERROR32_PKG)/.REQUIRES
+ @echo "pkgname=$(GPGERROR32_PKG_NAME)" > $(GPGERROR32_PKG)/.PKGINFO ; \
+ echo "pkgver=$(GPGERROR32_PKG_VERSION)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
+ echo "arch=$(GPGERROR32_PKG_ARCH)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
+ echo "distroname=$(GPGERROR32_PKG_DISTRO_NAME)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
+ echo "distrover=$(GPGERROR32_PKG_DISTRO_VERSION)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
+ echo "group=$(GPGERROR32_PKG_GROUP)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
+ echo "short_description=\"$(GPGERROR32_PKG_SHORT_DESCRIPTION)\"" >> $(GPGERROR32_PKG)/.PKGINFO ; \
+ echo "url=$(GPGERROR32_PKG_URL)" >> $(GPGERROR32_PKG)/.PKGINFO ; \
+ echo "license=$(GPGERROR32_PKG_LICENSE)" >> $(GPGERROR32_PKG)/.PKGINFO
+ @$(PSEUDO) sh -c "cd $(GPGERROR32_PKG) && \
+ chown -R root:root . && \
+ $(MAKE_PACKAGE) -J --linkadd=yes $(GNUPG_OPTIONS) -m -d .. ."
Index: net/libgpg-error/1.51-x86_32/PATCHES
===================================================================
Index: net/libgpg-error/1.51-x86_32/libgpg-error-x32-pkg-description.in
===================================================================
--- net/libgpg-error/1.51-x86_32/libgpg-error-x32-pkg-description.in (nonexistent)
+++ net/libgpg-error/1.51-x86_32/libgpg-error-x32-pkg-description.in (revision 447)
@@ -0,0 +1,19 @@
+# HOW TO EDIT THIS FILE:
+# The "handy ruler" below makes it easier to edit a package description. Line
+# up the first '|' above the ':' following the base package name, and the '|'
+# on the right side marks the last column you can put a character in. You must
+# make exactly 11 lines for the formatting to be correct. It's also
+# customary to leave one space after the ':'.
+
+ |-----handy-ruler------------------------------------------------------|
+libgpg-error-x32: libgpg-error-x32 @VERSION@ (GnuPG Error Definitions Library)
+libgpg-error-x32:
+libgpg-error-x32: This is a library that defines common error values for all GnuPG
+libgpg-error-x32: components. Among these are GPG, GPGSM, GPGME, GPG-Agent, libgcrypt,
+libgpg-error-x32: Libksba, DirMngr, Pinentry, SmartCard Daemon, and more.
+libgpg-error-x32:
+libgpg-error-x32:
+libgpg-error-x32:
+libgpg-error-x32:
+libgpg-error-x32:
+libgpg-error-x32:
Index: net/libgpg-error/1.51-x86_32/libgpg-error-x32-pkg-install.sh
===================================================================
--- net/libgpg-error/1.51-x86_32/libgpg-error-x32-pkg-install.sh (nonexistent)
+++ net/libgpg-error/1.51-x86_32/libgpg-error-x32-pkg-install.sh (revision 447)
@@ -0,0 +1,39 @@
+#!/bin/sh
+
+# arg 1: the new package version
+pre_install() {
+ /bin/true
+}
+
+# arg 1: the new package version
+post_install() {
+ /bin/true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+pre_update() {
+ /bin/true
+}
+
+# arg 1: the new package version
+# arg 2: the old package version
+post_update() {
+ post_install
+}
+
+# arg 1: the old package version
+pre_remove() {
+ /bin/true
+}
+
+# arg 1: the old package version
+post_remove() {
+ /bin/true
+}
+
+
+operation=$1
+shift
+
+$operation $*
Property changes on: net/libgpg-error/1.51-x86_32/libgpg-error-x32-pkg-install.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: net/libgpg-error/1.51-x86_32
===================================================================
--- net/libgpg-error/1.51-x86_32 (nonexistent)
+++ net/libgpg-error/1.51-x86_32 (revision 447)
Property changes on: net/libgpg-error/1.51-x86_32
___________________________________________________________________
Added: svn:ignore
## -0,0 +1,74 ##
+
+# install dir
+dist
+
+# Target build dirs
+.a1x-newlib
+.a2x-newlib
+.at91sam7s-newlib
+
+.build-machine
+
+.a1x-glibc
+.a2x-glibc
+.h3-glibc
+.h5-glibc
+.i586-glibc
+.i686-glibc
+.imx6-glibc
+.jz47xx-glibc
+.makefile
+.am335x-glibc
+.omap543x-glibc
+.p5600-glibc
+.power8-glibc
+.power8le-glibc
+.power9-glibc
+.power9le-glibc
+.m1000-glibc
+.riscv64-glibc
+.rk328x-glibc
+.rk33xx-glibc
+.rk339x-glibc
+.rk358x-glibc
+.s8xx-glibc
+.s9xx-glibc
+.x86_64-glibc
+
+# Hidden files (each file)
+.makefile
+.dist
+.rootfs
+
+# src & hw requires
+.src_requires
+.src_requires_depend
+.requires
+.requires_depend
+
+# Tarballs
+*.gz
+*.bz2
+*.lz
+*.xz
+*.tgz
+*.txz
+
+# Signatures
+*.asc
+*.sig
+*.sign
+*.sha1sum
+
+# Patches
+*.patch
+
+# Descriptions
+*.dsc
+*.txt
+
+# Default linux config files
+*.defconfig
+
+# backup copies
+*~
Index: net/libksba/1.5.0/Makefile
===================================================================
--- net/libksba/1.5.0/Makefile (revision 446)
+++ net/libksba/1.5.0/Makefile (revision 447)
@@ -60,7 +60,7 @@
SOURCE_REQUIRES = sources/packages/n/libksba
-REQUIRES = net/libgpg-error/1.41
+REQUIRES = net/libgpg-error/1.51
# ======= __END_OF_REQUIRES__ =======
Index: net/libksba/1.5.0-ppc32/Makefile
===================================================================
--- net/libksba/1.5.0-ppc32/Makefile (revision 446)
+++ net/libksba/1.5.0-ppc32/Makefile (revision 447)
@@ -16,7 +16,7 @@
SOURCE_REQUIRES = sources/packages/n/libksba
REQUIRES = net/libksba/1.5.0
-REQUIRES += net/libgpg-error/1.41-ppc32
+REQUIRES += net/libgpg-error/1.51-ppc32
# ======= __END_OF_REQUIRES__ =======
Index: net/libksba/1.5.0-x86_32/Makefile
===================================================================
--- net/libksba/1.5.0-x86_32/Makefile (revision 446)
+++ net/libksba/1.5.0-x86_32/Makefile (revision 447)
@@ -13,7 +13,7 @@
SOURCE_REQUIRES = sources/packages/n/libksba
REQUIRES = net/libksba/1.5.0
-REQUIRES += net/libgpg-error/1.41-x86_32
+REQUIRES += net/libgpg-error/1.51-x86_32
# ======= __END_OF_REQUIRES__ =======
Index: products/base/Makefile
===================================================================
--- products/base/Makefile (revision 446)
+++ products/base/Makefile (revision 447)
@@ -1154,11 +1154,11 @@
REQUIRES += net/bridge-utils/1.7.1
REQUIRES += net/crda/4.14
ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_POWER8_GLIBC) $(TOOLCHAIN_POWER9_GLIBC)),)
-REQUIRES += net/libgcrypt/1.10.1-ppc32
+REQUIRES += net/libgcrypt/1.11.0-ppc32
REQUIRES += net/libnl3/3.5.0-ppc32
endif
ifneq ($(filter $(TOOLCHAIN),$(TOOLCHAIN_X86_64_GLIBC)),)
-REQUIRES += net/libgcrypt/1.10.1-x86_32
+REQUIRES += net/libgcrypt/1.11.0-x86_32
REQUIRES += net/libnl3/3.5.0-x86_32
endif
REQUIRES += net/wireless-tools/30
Index: sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch/file.list
===================================================================
--- sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch/file.list (revision 446)
+++ sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch/file.list (nonexistent)
@@ -1 +0,0 @@
-libgcrypt-1.10.1/mpi/longlong.h
Index: sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch/create.patch.sh
===================================================================
--- sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch/create.patch.sh (revision 446)
+++ sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch/create.patch.sh (nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=1.10.1
-
-tar --files-from=file.list -xjvf ../libgcrypt-$VERSION.tar.bz2
-mv libgcrypt-$VERSION libgcrypt-$VERSION-orig
-
-cp -rf ./libgcrypt-$VERSION-new ./libgcrypt-$VERSION
-
-diff --unified -Nr libgcrypt-$VERSION-orig libgcrypt-$VERSION > libgcrypt-$VERSION-powerpc.patch
-
-mv libgcrypt-$VERSION-powerpc.patch ../patches
-
-rm -rf ./libgcrypt-$VERSION
-rm -rf ./libgcrypt-$VERSION-orig
Property changes on: sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch/libgcrypt-1.10.1-new/mpi/longlong.h
===================================================================
--- sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch/libgcrypt-1.10.1-new/mpi/longlong.h (revision 446)
+++ sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch/libgcrypt-1.10.1-new/mpi/longlong.h (nonexistent)
@@ -1,1870 +0,0 @@
-/* longlong.h -- definitions for mixed size 32/64 bit arithmetic.
- Note: This is the Libgcrypt version
-
-
-Copyright (C) 1991, 1992, 1993, 1994, 1996, 1998,
- 2000, 2001, 2002, 2003, 2004, 2011 Free Software Foundation, Inc.
-
-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 Library General Public License
-along with this file; see the file COPYING.LIB. If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-MA 02111-1307, USA. */
-
-/* You have to define the following before including this file:
-
- UWtype -- An unsigned type, default type for operations (typically a "word")
- UHWtype -- An unsigned type, at least half the size of UWtype.
- UDWtype -- An unsigned type, at least twice as large a UWtype
- W_TYPE_SIZE -- size in bits of UWtype
-
- SItype, USItype -- Signed and unsigned 32 bit types.
- DItype, UDItype -- Signed and unsigned 64 bit types.
-
- On a 32 bit machine UWtype should typically be USItype;
- on a 64 bit machine, UWtype should typically be UDItype.
-*/
-
-#define __BITS4 (W_TYPE_SIZE / 4)
-#define __ll_B ((UWtype) 1 << (W_TYPE_SIZE / 2))
-#define __ll_lowpart(t) ((UWtype) (t) & (__ll_B - 1))
-#define __ll_highpart(t) ((UWtype) (t) >> (W_TYPE_SIZE / 2))
-
-/* This is used to make sure no undesirable sharing between different libraries
- that use this file takes place. */
-#ifndef __MPN
-# define __MPN(x) __##x
-#endif
-
-/* Define auxiliary asm macros.
-
- 1) umul_ppmm(high_prod, low_prod, multipler, multiplicand) multiplies two
- UWtype integers MULTIPLER and MULTIPLICAND, and generates a two UWtype
- word product in HIGH_PROD and LOW_PROD.
-
- 2) __umulsidi3(a,b) multiplies two UWtype integers A and B, and returns a
- UDWtype product. This is just a variant of umul_ppmm.
-
- 3) udiv_qrnnd(quotient, remainder, high_numerator, low_numerator,
- denominator) divides a UDWtype, composed by the UWtype integers
- HIGH_NUMERATOR and LOW_NUMERATOR, by DENOMINATOR and places the quotient
- in QUOTIENT and the remainder in REMAINDER. HIGH_NUMERATOR must be less
- than DENOMINATOR for correct operation. If, in addition, the most
- significant bit of DENOMINATOR must be 1, then the pre-processor symbol
- UDIV_NEEDS_NORMALIZATION is defined to 1.
-
- 4) sdiv_qrnnd(quotient, remainder, high_numerator, low_numerator,
- denominator). Like udiv_qrnnd but the numbers are signed. The quotient
- is rounded towards 0.
-
- 5) count_leading_zeros(count, x) counts the number of zero-bits from the
- msb to the first non-zero bit in the UWtype X. This is the number of
- steps X needs to be shifted left to set the msb. Undefined for X == 0,
- unless the symbol COUNT_LEADING_ZEROS_0 is defined to some value.
-
- 6) count_trailing_zeros(count, x) like count_leading_zeros, but counts
- from the least significant end.
-
- 7) add_ssaaaa(high_sum, low_sum, high_addend_1, low_addend_1,
- high_addend_2, low_addend_2) adds two UWtype integers, composed by
- HIGH_ADDEND_1 and LOW_ADDEND_1, and HIGH_ADDEND_2 and LOW_ADDEND_2
- respectively. The result is placed in HIGH_SUM and LOW_SUM. Overflow
- (i.e. carry out) is not stored anywhere, and is lost.
-
- 8) sub_ddmmss(high_difference, low_difference, high_minuend, low_minuend,
- high_subtrahend, low_subtrahend) subtracts two two-word UWtype integers,
- composed by HIGH_MINUEND_1 and LOW_MINUEND_1, and HIGH_SUBTRAHEND_2 and
- LOW_SUBTRAHEND_2 respectively. The result is placed in HIGH_DIFFERENCE
- and LOW_DIFFERENCE. Overflow (i.e. carry out) is not stored anywhere,
- and is lost.
-
- If any of these macros are left undefined for a particular CPU,
- C macros are used. */
-
-/* The CPUs come in alphabetical order below.
-
- Please add support for more CPUs here, or improve the current support
- for the CPUs below! */
-
-#ifdef __riscos__
-#pragma continue_after_hash_error
-#else /* !__riscos__ */
-#if defined (__GNUC__) && !defined (NO_ASM)
-
-/* We sometimes need to clobber "cc" with gcc2, but that would not be
- understood by gcc1. Use cpp to avoid major code duplication. */
-#if __GNUC__ < 2
-# define __CLOBBER_CC
-# define __AND_CLOBBER_CC
-#else /* __GNUC__ >= 2 */
-# define __CLOBBER_CC : "cc"
-# define __AND_CLOBBER_CC , "cc"
-#endif /* __GNUC__ < 2 */
-
-/***************************************
- **** Begin CPU Specific Versions ****
- ***************************************/
-
-/***************************************
- ************** A29K *****************
- ***************************************/
-#if (defined (__a29k__) || defined (_AM29K)) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("add %1,%4,%5\n" \
- "addc %0,%2,%3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "%r" ((USItype)(ah)), \
- "rI" ((USItype)(bh)), \
- "%r" ((USItype)(al)), \
- "rI" ((USItype)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("sub %1,%4,%5\n" \
- "subc %0,%2,%3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "r" ((USItype)(ah)), \
- "rI" ((USItype)(bh)), \
- "r" ((USItype)(al)), \
- "rI" ((USItype)(bl)))
-# define umul_ppmm(xh, xl, m0, m1) \
- do { \
- USItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("multiplu %0,%1,%2" \
- : "=r" ((USItype)(xl)) \
- : "r" (__m0), \
- "r" (__m1)); \
- __asm__ ("multmu %0,%1,%2" \
- : "=r" ((USItype)(xh)) \
- : "r" (__m0), \
- "r" (__m1)); \
- } while (0)
-# define udiv_qrnnd(q, r, n1, n0, d) \
- __asm__ ("dividu %0,%3,%4" \
- : "=r" ((USItype)(q)), \
- "=q" ((USItype)(r)) \
- : "1" ((USItype)(n1)), \
- "r" ((USItype)(n0)), \
- "r" ((USItype)(d)))
-# define count_leading_zeros(count, x) \
- __asm__ ("clz %0,%1" \
- : "=r" ((USItype)(count)) \
- : "r" ((USItype)(x)))
-# define COUNT_LEADING_ZEROS_0 32
-#endif /* __a29k__ */
-
-
-#if defined (__alpha) && W_TYPE_SIZE == 64
-# define umul_ppmm(ph, pl, m0, m1) \
- do { \
- UDItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("umulh %r1,%2,%0" \
- : "=r" ((UDItype)(ph)) \
- : "%rJ" (__m0), \
- "rI" (__m1)); \
- (pl) = __m0 * __m1; \
- } while (0)
-# define UMUL_TIME 46
-# ifndef LONGLONG_STANDALONE
-# define udiv_qrnnd(q, r, n1, n0, d) \
- do { UDItype __r; \
- (q) = __udiv_qrnnd (&__r, (n1), (n0), (d)); \
- (r) = __r; \
- } while (0)
-extern UDItype __udiv_qrnnd ();
-# define UDIV_TIME 220
-# endif /* !LONGLONG_STANDALONE */
-#endif /* __alpha */
-
-/***************************************
- ************** ARM ******************
- ***************************************/
-#if defined (__arm__) && W_TYPE_SIZE == 32 && \
- (!defined (__thumb__) || defined (__thumb2__))
-/* The __ARM_ARCH define is provided by gcc 4.8. Construct it otherwise. */
-# ifndef __ARM_ARCH
-# ifdef __ARM_ARCH_2__
-# define __ARM_ARCH 2
-# elif defined (__ARM_ARCH_3__) || defined (__ARM_ARCH_3M__)
-# define __ARM_ARCH 3
-# elif defined (__ARM_ARCH_4__) || defined (__ARM_ARCH_4T__)
-# define __ARM_ARCH 4
-# elif defined (__ARM_ARCH_5__) || defined (__ARM_ARCH_5E__) \
- || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__) \
- || defined(__ARM_ARCH_5TEJ__)
-# define __ARM_ARCH 5
-# elif defined (__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \
- || defined (__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) \
- || defined (__ARM_ARCH_6K__) || defined(__ARM_ARCH_6T2__)
-# define __ARM_ARCH 6
-# elif defined (__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \
- || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) \
- || defined(__ARM_ARCH_7EM__)
-# define __ARM_ARCH 7
-# else
- /* could not detect? */
-# endif
-# endif /* !__ARM_ARCH */
-
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("adds %1, %4, %5\n" \
- "adc %0, %2, %3" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "%r" ((USItype)(ah)), \
- "rI" ((USItype)(bh)), \
- "%r" ((USItype)(al)), \
- "rI" ((USItype)(bl)) __CLOBBER_CC)
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("subs %1, %4, %5\n" \
- "sbc %0, %2, %3" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "r" ((USItype)(ah)), \
- "rI" ((USItype)(bh)), \
- "r" ((USItype)(al)), \
- "rI" ((USItype)(bl)) __CLOBBER_CC)
-# if (defined __ARM_ARCH && __ARM_ARCH <= 3)
-# define umul_ppmm(xh, xl, a, b) \
- __asm__ ("@ Inlined umul_ppmm\n" \
- "mov %|r0, %2, lsr #16 @ AAAA\n" \
- "mov %|r2, %3, lsr #16 @ BBBB\n" \
- "bic %|r1, %2, %|r0, lsl #16 @ aaaa\n" \
- "bic %0, %3, %|r2, lsl #16 @ bbbb\n" \
- "mul %1, %|r1, %|r2 @ aaaa * BBBB\n" \
- "mul %|r2, %|r0, %|r2 @ AAAA * BBBB\n" \
- "mul %|r1, %0, %|r1 @ aaaa * bbbb\n" \
- "mul %0, %|r0, %0 @ AAAA * bbbb\n" \
- "adds %|r0, %1, %0 @ central sum\n" \
- "addcs %|r2, %|r2, #65536\n" \
- "adds %1, %|r1, %|r0, lsl #16\n" \
- "adc %0, %|r2, %|r0, lsr #16" \
- : "=&r" ((xh)), \
- "=r" ((xl)) \
- : "r" ((USItype)(a)), \
- "r" ((USItype)(b)) \
- : "r0", "r1", "r2" __AND_CLOBBER_CC)
-# else /* __ARM_ARCH >= 4 */
-# define umul_ppmm(xh, xl, a, b) \
- __asm__ ("@ Inlined umul_ppmm\n" \
- "umull %1, %0, %2, %3" \
- : "=&r" ((xh)), \
- "=r" ((xl)) \
- : "r" ((USItype)(a)), \
- "r" ((USItype)(b)))
-# endif /* __ARM_ARCH >= 4 */
-# define UMUL_TIME 20
-# define UDIV_TIME 100
-# if (defined __ARM_ARCH && __ARM_ARCH >= 5)
-# define count_leading_zeros(count, x) \
- __asm__ ("clz %0, %1" \
- : "=r" ((count)) \
- : "r" ((USItype)(x)))
-# endif /* __ARM_ARCH >= 5 */
-#endif /* __arm__ */
-
-/***************************************
- ********** ARM64 / Aarch64 **********
- ***************************************/
-#if defined(__aarch64__) && W_TYPE_SIZE == 64
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("adds %1, %4, %5\n" \
- "adc %0, %2, %3\n" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "r" ((UDItype)(ah)), \
- "r" ((UDItype)(bh)), \
- "r" ((UDItype)(al)), \
- "r" ((UDItype)(bl)) __CLOBBER_CC)
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("subs %1, %4, %5\n" \
- "sbc %0, %2, %3\n" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "r" ((UDItype)(ah)), \
- "r" ((UDItype)(bh)), \
- "r" ((UDItype)(al)), \
- "r" ((UDItype)(bl)) __CLOBBER_CC)
-# define umul_ppmm(ph, pl, m0, m1) \
- do { \
- UDItype __m0 = (m0), __m1 = (m1), __ph; \
- (pl) = __m0 * __m1; \
- __asm__ ("umulh %0,%1,%2" \
- : "=r" (__ph) \
- : "r" (__m0), \
- "r" (__m1)); \
- (ph) = __ph; \
- } while (0)
-# define count_leading_zeros(count, x) \
- do { \
- UDItype __co; \
- __asm__ ("clz %0, %1\n" \
- : "=r" (__co) \
- : "r" ((UDItype)(x))); \
- (count) = __co; \
- } while (0)
-#endif /* __aarch64__ */
-
-/***************************************
- ************** CLIPPER **************
- ***************************************/
-#if defined (__clipper__) && W_TYPE_SIZE == 32
-# define umul_ppmm(w1, w0, u, v) \
- ({union {UDItype __ll; \
- struct {USItype __l, __h;} __i; \
- } __xx; \
- __asm__ ("mulwux %2,%0" \
- : "=r" (__xx.__ll) \
- : "%0" ((USItype)(u)), \
- "r" ((USItype)(v))); \
- (w1) = __xx.__i.__h; (w0) = __xx.__i.__l;})
-# define smul_ppmm(w1, w0, u, v) \
- ({union {DItype __ll; \
- struct {SItype __l, __h;} __i; \
- } __xx; \
- __asm__ ("mulwx %2,%0" \
- : "=r" (__xx.__ll) \
- : "%0" ((SItype)(u)), \
- "r" ((SItype)(v))); \
- (w1) = __xx.__i.__h; (w0) = __xx.__i.__l;})
-# define __umulsidi3(u, v) \
- ({UDItype __w; \
- __asm__ ("mulwux %2,%0" \
- : "=r" (__w) \
- : "%0" ((USItype)(u)), \
- "r" ((USItype)(v))); \
- __w; })
-#endif /* __clipper__ */
-
-
-/***************************************
- ************** GMICRO ***************
- ***************************************/
-#if defined (__gmicro__) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("add.w %5,%1\n" \
- "addx %3,%0" \
- : "=g" ((USItype)(sh)), \
- "=&g" ((USItype)(sl)) \
- : "%0" ((USItype)(ah)), \
- "g" ((USItype)(bh)), \
- "%1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("sub.w %5,%1\n" \
- "subx %3,%0" \
- : "=g" ((USItype)(sh)), \
- "=&g" ((USItype)(sl)) \
- : "0" ((USItype)(ah)), \
- "g" ((USItype)(bh)), \
- "1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
-# define umul_ppmm(ph, pl, m0, m1) \
- __asm__ ("mulx %3,%0,%1" \
- : "=g" ((USItype)(ph)), \
- "=r" ((USItype)(pl)) \
- : "%0" ((USItype)(m0)), \
- "g" ((USItype)(m1)))
-# define udiv_qrnnd(q, r, nh, nl, d) \
- __asm__ ("divx %4,%0,%1" \
- : "=g" ((USItype)(q)), \
- "=r" ((USItype)(r)) \
- : "1" ((USItype)(nh)), \
- "0" ((USItype)(nl)), \
- "g" ((USItype)(d)))
-# define count_leading_zeros(count, x) \
- __asm__ ("bsch/1 %1,%0" \
- : "=g" (count) \
- : "g" ((USItype)(x)), \
- "0" ((USItype)0))
-#endif
-
-
-/***************************************
- ************** HPPA *****************
- ***************************************/
-#if defined (__hppa) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ (" add %4,%5,%1\n" \
- " addc %2,%3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "%rM" ((USItype)(ah)), \
- "rM" ((USItype)(bh)), \
- "%rM" ((USItype)(al)), \
- "rM" ((USItype)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ (" sub %4,%5,%1\n" \
- " subb %2,%3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "rM" ((USItype)(ah)), \
- "rM" ((USItype)(bh)), \
- "rM" ((USItype)(al)), \
- "rM" ((USItype)(bl)))
-# if defined (_PA_RISC1_1)
-# define umul_ppmm(wh, wl, u, v) \
- do { \
- union {UDItype __ll; \
- struct {USItype __h, __l;} __i; \
- } __xx; \
- __asm__ (" xmpyu %1,%2,%0" \
- : "=*f" (__xx.__ll) \
- : "*f" ((USItype)(u)), \
- "*f" ((USItype)(v))); \
- (wh) = __xx.__i.__h; \
- (wl) = __xx.__i.__l; \
- } while (0)
-# define UMUL_TIME 8
-# define UDIV_TIME 60
-# else
-# define UMUL_TIME 40
-# define UDIV_TIME 80
-# endif
-# ifndef LONGLONG_STANDALONE
-# define udiv_qrnnd(q, r, n1, n0, d) \
- do { USItype __r; \
- (q) = __udiv_qrnnd (&__r, (n1), (n0), (d)); \
- (r) = __r; \
- } while (0)
-extern USItype __udiv_qrnnd ();
-# endif /* !LONGLONG_STANDALONE */
-# define count_leading_zeros(count, x) \
- do { \
- USItype __tmp; \
- __asm__ ( \
- " ldi 1,%0 \n" \
- " extru,= %1,15,16,%%r0 ; Bits 31..16 zero? \n" \
- " extru,tr %1,15,16,%1 ; No. Shift down, skip add.\n" \
- " ldo 16(%0),%0 ; Yes. Perform add. \n" \
- " extru,= %1,23,8,%%r0 ; Bits 15..8 zero? \n" \
- " extru,tr %1,23,8,%1 ; No. Shift down, skip add.\n" \
- " ldo 8(%0),%0 ; Yes. Perform add. \n" \
- " extru,= %1,27,4,%%r0 ; Bits 7..4 zero? \n" \
- " extru,tr %1,27,4,%1 ; No. Shift down, skip add.\n" \
- " ldo 4(%0),%0 ; Yes. Perform add. \n" \
- " extru,= %1,29,2,%%r0 ; Bits 3..2 zero? \n" \
- " extru,tr %1,29,2,%1 ; No. Shift down, skip add.\n" \
- " ldo 2(%0),%0 ; Yes. Perform add. \n" \
- " extru %1,30,1,%1 ; Extract bit 1. \n" \
- " sub %0,%1,%0 ; Subtract it. " \
- : "=r" (count), "=r" (__tmp) : "1" (x)); \
- } while (0)
-#endif /* hppa */
-
-
-/***************************************
- ************** I370 *****************
- ***************************************/
-#if (defined (__i370__) || defined (__mvs__)) && W_TYPE_SIZE == 32
-# define umul_ppmm(xh, xl, m0, m1) \
- do { \
- union {UDItype __ll; \
- struct {USItype __h, __l;} __i; \
- } __xx; \
- USItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("mr %0,%3" \
- : "=r" (__xx.__i.__h), \
- "=r" (__xx.__i.__l) \
- : "%1" (__m0), \
- "r" (__m1)); \
- (xh) = __xx.__i.__h; (xl) = __xx.__i.__l; \
- (xh) += ((((SItype) __m0 >> 31) & __m1) \
- + (((SItype) __m1 >> 31) & __m0)); \
- } while (0)
-# define smul_ppmm(xh, xl, m0, m1) \
- do { \
- union {DItype __ll; \
- struct {USItype __h, __l;} __i; \
- } __xx; \
- __asm__ ("mr %0,%3" \
- : "=r" (__xx.__i.__h), \
- "=r" (__xx.__i.__l) \
- : "%1" (m0), \
- "r" (m1)); \
- (xh) = __xx.__i.__h; (xl) = __xx.__i.__l; \
- } while (0)
-# define sdiv_qrnnd(q, r, n1, n0, d) \
- do { \
- union {DItype __ll; \
- struct {USItype __h, __l;} __i; \
- } __xx; \
- __xx.__i.__h = (n1); __xx.__i.__l = (n0); \
- __asm__ ("dr %0,%2" \
- : "=r" (__xx.__ll) \
- : "0" (__xx.__ll), "r" (d)); \
- (q) = __xx.__i.__l; (r) = __xx.__i.__h; \
- } while (0)
-#endif
-
-
-/***************************************
- ************** I386 *****************
- ***************************************/
-#if (defined (__i386__) || defined (__i486__)) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("addl %5,%1\n" \
- "adcl %3,%0" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "%0" ((USItype)(ah)), \
- "g" ((USItype)(bh)), \
- "%1" ((USItype)(al)), \
- "g" ((USItype)(bl)) \
- __CLOBBER_CC)
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("subl %5,%1\n" \
- "sbbl %3,%0" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "0" ((USItype)(ah)), \
- "g" ((USItype)(bh)), \
- "1" ((USItype)(al)), \
- "g" ((USItype)(bl)) \
- __CLOBBER_CC)
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("mull %3" \
- : "=a" ((w0)), \
- "=d" ((w1)) \
- : "%0" ((USItype)(u)), \
- "rm" ((USItype)(v)) \
- __CLOBBER_CC)
-# define udiv_qrnnd(q, r, n1, n0, d) \
- __asm__ ("divl %4" \
- : "=a" ((q)), \
- "=d" ((r)) \
- : "0" ((USItype)(n0)), \
- "1" ((USItype)(n1)), \
- "rm" ((USItype)(d)) \
- __CLOBBER_CC)
-# define count_leading_zeros(count, x) \
- do { \
- USItype __cbtmp; \
- __asm__ ("bsrl %1,%0" \
- : "=r" (__cbtmp) : "rm" ((USItype)(x)) \
- __CLOBBER_CC); \
- (count) = __cbtmp ^ 31; \
- } while (0)
-# define count_trailing_zeros(count, x) \
- __asm__ ("bsfl %1,%0" : "=r" (count) : "rm" ((USItype)(x)) __CLOBBER_CC)
-# ifndef UMUL_TIME
-# define UMUL_TIME 40
-# endif
-# ifndef UDIV_TIME
-# define UDIV_TIME 40
-# endif
-#endif /* 80x86 */
-
-/***************************************
- *********** AMD64 / x86-64 ************
- ***************************************/
-#if defined(__x86_64) && W_TYPE_SIZE == 64
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("addq %5,%1\n" \
- "adcq %3,%0" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "0" ((UDItype)(ah)), \
- "g" ((UDItype)(bh)), \
- "1" ((UDItype)(al)), \
- "g" ((UDItype)(bl)) \
- __CLOBBER_CC)
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("subq %5,%1\n" \
- "sbbq %3,%0" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "0" ((UDItype)(ah)), \
- "g" ((UDItype)(bh)), \
- "1" ((UDItype)(al)), \
- "g" ((UDItype)(bl)) \
- __CLOBBER_CC)
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("mulq %3" \
- : "=a" ((w0)), \
- "=d" ((w1)) \
- : "0" ((UDItype)(u)), \
- "rm" ((UDItype)(v)) \
- __CLOBBER_CC)
-# define udiv_qrnnd(q, r, n1, n0, d) \
- __asm__ ("divq %4" \
- : "=a" ((q)), \
- "=d" ((r)) \
- : "0" ((UDItype)(n0)), \
- "1" ((UDItype)(n1)), \
- "rm" ((UDItype)(d)) \
- __CLOBBER_CC)
-# define count_leading_zeros(count, x) \
- do { \
- UDItype __cbtmp; \
- __asm__ ("bsrq %1,%0" \
- : "=r" (__cbtmp) : "rm" ((UDItype)(x)) \
- __CLOBBER_CC); \
- (count) = __cbtmp ^ 63; \
- } while (0)
-# define count_trailing_zeros(count, x) \
- do { \
- UDItype __cbtmp; \
- __asm__ ("bsfq %1,%0" \
- : "=r" (__cbtmp) : "rm" ((UDItype)(x)) \
- __CLOBBER_CC); \
- (count) = __cbtmp; \
- } while (0)
-# ifndef UMUL_TIME
-# define UMUL_TIME 40
-# endif
-# ifndef UDIV_TIME
-# define UDIV_TIME 40
-# endif
-#endif /* __x86_64 */
-
-
-/***************************************
- ************** I860 *****************
- ***************************************/
-#if defined (__i860__) && W_TYPE_SIZE == 32
-# define rshift_rhlc(r,h,l,c) \
- __asm__ ("shr %3,r0,r0\n" \
- "shrd %1,%2,%0" \
- "=r" (r) : "r" (h), "r" (l), "rn" (c))
-#endif /* i860 */
-
-/***************************************
- ************** I960 *****************
- ***************************************/
-#if defined (__i960__) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("cmpo 1,0\n" \
- "addc %5,%4,%1\n" \
- "addc %3,%2,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "%dI" ((USItype)(ah)), \
- "dI" ((USItype)(bh)), \
- "%dI" ((USItype)(al)), \
- "dI" ((USItype)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("cmpo 0,0\n" \
- "subc %5,%4,%1\n" \
- "subc %3,%2,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "dI" ((USItype)(ah)), \
- "dI" ((USItype)(bh)), \
- "dI" ((USItype)(al)), \
- "dI" ((USItype)(bl)))
-# define umul_ppmm(w1, w0, u, v) \
- ({union {UDItype __ll; \
- struct {USItype __l, __h;} __i; \
- } __xx; \
- __asm__ ("emul %2,%1,%0" \
- : "=d" (__xx.__ll) \
- : "%dI" ((USItype)(u)), \
- "dI" ((USItype)(v))); \
- (w1) = __xx.__i.__h; (w0) = __xx.__i.__l;})
-# define __umulsidi3(u, v) \
- ({UDItype __w; \
- __asm__ ("emul %2,%1,%0" \
- : "=d" (__w) \
- : "%dI" ((USItype)(u)), \
- "dI" ((USItype)(v))); \
- __w; })
-# define udiv_qrnnd(q, r, nh, nl, d) \
- do { \
- union {UDItype __ll; \
- struct {USItype __l, __h;} __i; \
- } __nn; \
- __nn.__i.__h = (nh); __nn.__i.__l = (nl); \
- __asm__ ("ediv %d,%n,%0" \
- : "=d" (__rq.__ll) \
- : "dI" (__nn.__ll), \
- "dI" ((USItype)(d))); \
- (r) = __rq.__i.__l; (q) = __rq.__i.__h; \
- } while (0)
-# define count_leading_zeros(count, x) \
- do { \
- USItype __cbtmp; \
- __asm__ ("scanbit %1,%0" \
- : "=r" (__cbtmp) \
- : "r" ((USItype)(x))); \
- (count) = __cbtmp ^ 31; \
- } while (0)
-# define COUNT_LEADING_ZEROS_0 (-32) /* sic */
-# if defined (__i960mx) /* what is the proper symbol to test??? */
-# define rshift_rhlc(r,h,l,c) \
- do { \
- union {UDItype __ll; \
- struct {USItype __l, __h;} __i; \
- } __nn; \
- __nn.__i.__h = (h); __nn.__i.__l = (l); \
- __asm__ ("shre %2,%1,%0" \
- : "=d" (r) : "dI" (__nn.__ll), "dI" (c)); \
- }
-# endif /* i960mx */
-#endif /* i960 */
-
-
-/***************************************
- ************** 68000 ****************
- ***************************************/
-#if (defined (__mc68000__) || defined (__mc68020__) \
- || defined (__NeXT__) || defined(mc68020)) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("add%.l %5,%1\n" \
- "addx%.l %3,%0" \
- : "=d" ((USItype)(sh)), \
- "=&d" ((USItype)(sl)) \
- : "%0" ((USItype)(ah)), \
- "d" ((USItype)(bh)), \
- "%1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("sub%.l %5,%1\n" \
- "subx%.l %3,%0" \
- : "=d" ((USItype)(sh)), \
- "=&d" ((USItype)(sl)) \
- : "0" ((USItype)(ah)), \
- "d" ((USItype)(bh)), \
- "1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
-# if (defined (__mc68020__) || defined (__NeXT__) || defined(mc68020))
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("mulu%.l %3,%1:%0" \
- : "=d" ((USItype)(w0)), \
- "=d" ((USItype)(w1)) \
- : "%0" ((USItype)(u)), \
- "dmi" ((USItype)(v)))
-# define UMUL_TIME 45
-# define udiv_qrnnd(q, r, n1, n0, d) \
- __asm__ ("divu%.l %4,%1:%0" \
- : "=d" ((USItype)(q)), \
- "=d" ((USItype)(r)) \
- : "0" ((USItype)(n0)), \
- "1" ((USItype)(n1)), \
- "dmi" ((USItype)(d)))
-# define UDIV_TIME 90
-# define sdiv_qrnnd(q, r, n1, n0, d) \
- __asm__ ("divs%.l %4,%1:%0" \
- : "=d" ((USItype)(q)), \
- "=d" ((USItype)(r)) \
- : "0" ((USItype)(n0)), \
- "1" ((USItype)(n1)), \
- "dmi" ((USItype)(d)))
-# define count_leading_zeros(count, x) \
- __asm__ ("bfffo %1{%b2:%b2},%0" \
- : "=d" ((USItype)(count)) \
- : "od" ((USItype)(x)), "n" (0))
-# define COUNT_LEADING_ZEROS_0 32
-# else /* not mc68020 */
-# define umul_ppmm(xh, xl, a, b) \
- do { USItype __umul_tmp1, __umul_tmp2; \
- __asm__ ("| Inlined umul_ppmm \n" \
- " move%.l %5,%3 \n" \
- " move%.l %2,%0 \n" \
- " move%.w %3,%1 \n" \
- " swap %3 \n" \
- " swap %0 \n" \
- " mulu %2,%1 \n" \
- " mulu %3,%0 \n" \
- " mulu %2,%3 \n" \
- " swap %2 \n" \
- " mulu %5,%2 \n" \
- " add%.l %3,%2 \n" \
- " jcc 1f \n" \
- " add%.l %#0x10000,%0 \n" \
- "1: move%.l %2,%3 \n" \
- " clr%.w %2 \n" \
- " swap %2 \n" \
- " swap %3 \n" \
- " clr%.w %3 \n" \
- " add%.l %3,%1 \n" \
- " addx%.l %2,%0 \n" \
- " | End inlined umul_ppmm" \
- : "=&d" ((USItype)(xh)), "=&d" ((USItype)(xl)), \
- "=d" (__umul_tmp1), "=&d" (__umul_tmp2) \
- : "%2" ((USItype)(a)), "d" ((USItype)(b))); \
- } while (0)
-# define UMUL_TIME 100
-# define UDIV_TIME 400
-# endif /* not mc68020 */
-#endif /* mc68000 */
-
-
-/***************************************
- ************** 88000 ****************
- ***************************************/
-#if defined (__m88000__) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("addu.co %1,%r4,%r5\n" \
- "addu.ci %0,%r2,%r3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "%rJ" ((USItype)(ah)), \
- "rJ" ((USItype)(bh)), \
- "%rJ" ((USItype)(al)), \
- "rJ" ((USItype)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("subu.co %1,%r4,%r5\n" \
- "subu.ci %0,%r2,%r3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "rJ" ((USItype)(ah)), \
- "rJ" ((USItype)(bh)), \
- "rJ" ((USItype)(al)), \
- "rJ" ((USItype)(bl)))
-# define count_leading_zeros(count, x) \
- do { \
- USItype __cbtmp; \
- __asm__ ("ff1 %0,%1" \
- : "=r" (__cbtmp) \
- : "r" ((USItype)(x))); \
- (count) = __cbtmp ^ 31; \
- } while (0)
-# define COUNT_LEADING_ZEROS_0 63 /* sic */
-# if defined (__m88110__)
-# define umul_ppmm(wh, wl, u, v) \
- do { \
- union {UDItype __ll; \
- struct {USItype __h, __l;} __i; \
- } __x; \
- __asm__ ("mulu.d %0,%1,%2" : "=r" (__x.__ll) : "r" (u), "r" (v)); \
- (wh) = __x.__i.__h; \
- (wl) = __x.__i.__l; \
- } while (0)
-# define udiv_qrnnd(q, r, n1, n0, d) \
- ({union {UDItype __ll; \
- struct {USItype __h, __l;} __i; \
- } __x, __q; \
- __x.__i.__h = (n1); __x.__i.__l = (n0); \
- __asm__ ("divu.d %0,%1,%2" \
- : "=r" (__q.__ll) : "r" (__x.__ll), "r" (d)); \
- (r) = (n0) - __q.__l * (d); (q) = __q.__l; })
-# define UMUL_TIME 5
-# define UDIV_TIME 25
-# else
-# define UMUL_TIME 17
-# define UDIV_TIME 150
-# endif /* __m88110__ */
-#endif /* __m88000__ */
-
-/***************************************
- ************** MIPS *****************
- ***************************************/
-#if defined (__mips__) && W_TYPE_SIZE == 32
-# if defined (__clang__) || (__GNUC__ >= 5) || (__GNUC__ == 4 && \
- __GNUC_MINOR__ >= 4)
-# define umul_ppmm(w1, w0, u, v) \
- do { \
- UDItype __r; \
- __r = (UDItype)(u) * (v); \
- (w1) = __r >> 32; \
- (w0) = (USItype) __r; \
- } while (0)
-# elif __GNUC__ > 2 || __GNUC_MINOR__ >= 7
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("multu %2,%3" \
- : "=l" ((USItype)(w0)), \
- "=h" ((USItype)(w1)) \
- : "d" ((USItype)(u)), \
- "d" ((USItype)(v)))
-# else
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("multu %2,%3 \n" \
- "mflo %0 \n" \
- "mfhi %1" \
- : "=d" ((USItype)(w0)), \
- "=d" ((USItype)(w1)) \
- : "d" ((USItype)(u)), \
- "d" ((USItype)(v)))
-# endif
-# define UMUL_TIME 10
-# define UDIV_TIME 100
-#endif /* __mips__ */
-
-/***************************************
- ************** MIPS/64 **************
- ***************************************/
-#if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64
-# if defined (__clang__) || (__GNUC__ >= 5) || (__GNUC__ == 4 && \
- __GNUC_MINOR__ >= 4)
-typedef unsigned int UTItype __attribute__ ((mode (TI)));
-# define umul_ppmm(w1, w0, u, v) \
- do { \
- UTItype __r; \
- __r = (UTItype)(u) * (v); \
- (w1) = __r >> 64; \
- (w0) = (UDItype) __r; \
- } while (0)
-# elif __GNUC__ > 2 || __GNUC_MINOR__ >= 7
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("dmultu %2,%3" \
- : "=l" ((UDItype)(w0)), \
- "=h" ((UDItype)(w1)) \
- : "d" ((UDItype)(u)), \
- "d" ((UDItype)(v)))
-# else
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("dmultu %2,%3 \n" \
- "mflo %0 \n" \
- "mfhi %1" \
- : "=d" ((UDItype)(w0)), \
- "=d" ((UDItype)(w1)) \
- : "d" ((UDItype)(u)), \
- "d" ((UDItype)(v)))
-# endif
-# define UMUL_TIME 20
-# define UDIV_TIME 140
-#endif /* __mips__ */
-
-
-/***************************************
- ************** 32000 ****************
- ***************************************/
-#if defined (__ns32000__) && W_TYPE_SIZE == 32
-# define umul_ppmm(w1, w0, u, v) \
- ({union {UDItype __ll; \
- struct {USItype __l, __h;} __i; \
- } __xx; \
- __asm__ ("meid %2,%0" \
- : "=g" (__xx.__ll) \
- : "%0" ((USItype)(u)), \
- "g" ((USItype)(v))); \
- (w1) = __xx.__i.__h; (w0) = __xx.__i.__l;})
-# define __umulsidi3(u, v) \
- ({UDItype __w; \
- __asm__ ("meid %2,%0" \
- : "=g" (__w) \
- : "%0" ((USItype)(u)), \
- "g" ((USItype)(v))); \
- __w; })
-# define udiv_qrnnd(q, r, n1, n0, d) \
- ({union {UDItype __ll; \
- struct {USItype __l, __h;} __i; \
- } __xx; \
- __xx.__i.__h = (n1); __xx.__i.__l = (n0); \
- __asm__ ("deid %2,%0" \
- : "=g" (__xx.__ll) \
- : "0" (__xx.__ll), \
- "g" ((USItype)(d))); \
- (r) = __xx.__i.__l; (q) = __xx.__i.__h; })
-# define count_trailing_zeros(count,x) \
- do {
- __asm__ ("ffsd %2,%0" \
- : "=r" ((USItype) (count)) \
- : "0" ((USItype) 0), \
- "r" ((USItype) (x))); \
- } while (0)
-#endif /* __ns32000__ */
-
-
-/***************************************
- ************** PPC ******************
- ***************************************/
-#if (defined (_ARCH_PPC) || defined (_IBMR2)) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- do { \
- if (__builtin_constant_p (bh) && (bh) == 0) \
- __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{aze|addze} %0,%2" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "%r" ((USItype)(ah)), \
- "%r" ((USItype)(al)), \
- "rI" ((USItype)(bl))); \
- else if (__builtin_constant_p (bh) && (bh) ==~(USItype) 0) \
- __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{ame|addme} %0,%2" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "%r" ((USItype)(ah)), \
- "%r" ((USItype)(al)), \
- "rI" ((USItype)(bl))); \
- else \
- __asm__ ("{a%I5|add%I5c} %1,%4,%5\n\t{ae|adde} %0,%2,%3" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "%r" ((USItype)(ah)), \
- "r" ((USItype)(bh)), \
- "%r" ((USItype)(al)), \
- "rI" ((USItype)(bl))); \
- } while (0)
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- do { \
- if (__builtin_constant_p (ah) && (ah) == 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfze|subfze} %0,%2" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "r" ((USItype)(bh)), \
- "rI" ((USItype)(al)), \
- "r" ((USItype)(bl))); \
- else if (__builtin_constant_p (ah) && (ah) ==~(USItype) 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfme|subfme} %0,%2" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "r" ((USItype)(bh)), \
- "rI" ((USItype)(al)), \
- "r" ((USItype)(bl))); \
- else if (__builtin_constant_p (bh) && (bh) == 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{ame|addme} %0,%2" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "r" ((USItype)(ah)), \
- "rI" ((USItype)(al)), \
- "r" ((USItype)(bl))); \
- else if (__builtin_constant_p (bh) && (bh) ==~(USItype) 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{aze|addze} %0,%2" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "r" ((USItype)(ah)), \
- "rI" ((USItype)(al)), \
- "r" ((USItype)(bl))); \
- else \
- __asm__ ("{sf%I4|subf%I4c} %1,%5,%4\n\t{sfe|subfe} %0,%3,%2" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "r" ((USItype)(ah)), \
- "r" ((USItype)(bh)), \
- "rI" ((USItype)(al)), \
- "r" ((USItype)(bl))); \
- } while (0)
-# define count_leading_zeros(count, x) \
- __asm__ ("{cntlz|cntlzw} %0,%1" \
- : "=r" ((count)) \
- : "r" ((USItype)(x)))
-# define COUNT_LEADING_ZEROS_0 32
-# if defined (_ARCH_PPC)
-# define umul_ppmm(ph, pl, m0, m1) \
- do { \
- USItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("mulhwu %0,%1,%2" \
- : "=r" (ph) \
- : "%r" (__m0), \
- "r" (__m1)); \
- (pl) = __m0 * __m1; \
- } while (0)
-# define UMUL_TIME 15
-# define smul_ppmm(ph, pl, m0, m1) \
- do { \
- SItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("mulhw %0,%1,%2" \
- : "=r" ((SItype) ph) \
- : "%r" (__m0), \
- "r" (__m1)); \
- (pl) = __m0 * __m1; \
- } while (0)
-# define SMUL_TIME 14
-# define UDIV_TIME 120
-# else
-# define umul_ppmm(xh, xl, m0, m1) \
- do { \
- USItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("mul %0,%2,%3" \
- : "=r" ((xh)), \
- "=q" ((xl)) \
- : "r" (__m0), \
- "r" (__m1)); \
- (xh) += ((((SItype) __m0 >> 31) & __m1) \
- + (((SItype) __m1 >> 31) & __m0)); \
- } while (0)
-# define UMUL_TIME 8
-# define smul_ppmm(xh, xl, m0, m1) \
- __asm__ ("mul %0,%2,%3" \
- : "=r" ((SItype)(xh)), \
- "=q" ((SItype)(xl)) \
- : "r" (m0), \
- "r" (m1))
-# define SMUL_TIME 4
-# define sdiv_qrnnd(q, r, nh, nl, d) \
- __asm__ ("div %0,%2,%4" \
- : "=r" ((SItype)(q)), "=q" ((SItype)(r)) \
- : "r" ((SItype)(nh)), "1" ((SItype)(nl)), "r" ((SItype)(d)))
-# define UDIV_TIME 100
-# endif
-#endif /* Power architecture variants. */
-
-/***************************************
- ************ PowerPC ****************
- ***************************************/
-/* Powerpc 32/64 bit support taken from glibc-2.32 (stdlib/longlong.h). */
-#if (defined (_ARCH_PPC) /* AIX */ \
- || defined (__powerpc__) /* gcc */ \
- || defined (__POWERPC__) /* BEOS */ \
- || defined (__ppc__) /* Darwin */ \
- || (defined (PPC) && ! defined (CPU_FAMILY)) /* gcc 2.7.x GNU&SysV */ \
- || (defined (PPC) && defined (CPU_FAMILY) /* VxWorks */ \
- && CPU_FAMILY == PPC) \
- ) && W_TYPE_SIZE == 32
-#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- do { \
- if (__builtin_constant_p (bh) && (bh) == 0) \
- __asm__ ("add%I4c %1,%3,%4\n\taddze %0,%2" \
- : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl));\
- else if (__builtin_constant_p (bh) && (bh) == ~(USItype) 0) \
- __asm__ ("add%I4c %1,%3,%4\n\taddme %0,%2" \
- : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl));\
- else \
- __asm__ ("add%I5c %1,%4,%5\n\tadde %0,%2,%3" \
- : "=r" (sh), "=&r" (sl) \
- : "%r" (ah), "r" (bh), "%r" (al), "rI" (bl)); \
- } while (0)
-#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- do { \
- if (__builtin_constant_p (ah) && (ah) == 0) \
- __asm__ ("subf%I3c %1,%4,%3\n\tsubfze %0,%2" \
- : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl));\
- else if (__builtin_constant_p (ah) && (ah) == ~(USItype) 0) \
- __asm__ ("subf%I3c %1,%4,%3\n\tsubfme %0,%2" \
- : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl));\
- else if (__builtin_constant_p (bh) && (bh) == 0) \
- __asm__ ("subf%I3c %1,%4,%3\n\taddme %0,%2" \
- : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl));\
- else if (__builtin_constant_p (bh) && (bh) == ~(USItype) 0) \
- __asm__ ("subf%I3c %1,%4,%3\n\taddze %0,%2" \
- : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl));\
- else \
- __asm__ ("subf%I4c %1,%5,%4\n\tsubfe %0,%3,%2" \
- : "=r" (sh), "=&r" (sl) \
- : "r" (ah), "r" (bh), "rI" (al), "r" (bl)); \
- } while (0)
-#define count_leading_zeros(count, x) \
- __asm__ ("cntlzw %0,%1" : "=r" (count) : "r" (x))
-#define COUNT_LEADING_ZEROS_0 32
-#if defined (_ARCH_PPC) || defined (__powerpc__) || defined (__POWERPC__) \
- || defined (__ppc__) \
- || (defined (PPC) && ! defined (CPU_FAMILY)) /* gcc 2.7.x GNU&SysV */ \
- || (defined (PPC) && defined (CPU_FAMILY) /* VxWorks */ \
- && CPU_FAMILY == PPC)
-#define umul_ppmm(ph, pl, m0, m1) \
- do { \
- USItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("mulhwu %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \
- (pl) = __m0 * __m1; \
- } while (0)
-#define UMUL_TIME 15
-#define smul_ppmm(ph, pl, m0, m1) \
- do { \
- SItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("mulhw %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \
- (pl) = __m0 * __m1; \
- } while (0)
-#define SMUL_TIME 14
-#define UDIV_TIME 120
-#endif
-#endif /* 32-bit POWER architecture variants. */
-
-/* We should test _IBMR2 here when we add assembly support for the system
- vendor compilers. */
-#if (defined (_ARCH_PPC64) || defined (__powerpc64__)) && W_TYPE_SIZE == 64
-#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- do { \
- if (__builtin_constant_p (bh) && (bh) == 0) \
- __asm__ ("add%I4c %1,%3,%4\n\taddze %0,%2" \
- : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl));\
- else if (__builtin_constant_p (bh) && (bh) == ~(UDItype) 0) \
- __asm__ ("add%I4c %1,%3,%4\n\taddme %0,%2" \
- : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl));\
- else \
- __asm__ ("add%I5c %1,%4,%5\n\tadde %0,%2,%3" \
- : "=r" (sh), "=&r" (sl) \
- : "%r" (ah), "r" (bh), "%r" (al), "rI" (bl)); \
- } while (0)
-#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- do { \
- if (__builtin_constant_p (ah) && (ah) == 0) \
- __asm__ ("subf%I3c %1,%4,%3\n\tsubfze %0,%2" \
- : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl));\
- else if (__builtin_constant_p (ah) && (ah) == ~(UDItype) 0) \
- __asm__ ("subf%I3c %1,%4,%3\n\tsubfme %0,%2" \
- : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl));\
- else if (__builtin_constant_p (bh) && (bh) == 0) \
- __asm__ ("subf%I3c %1,%4,%3\n\taddme %0,%2" \
- : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl));\
- else if (__builtin_constant_p (bh) && (bh) == ~(UDItype) 0) \
- __asm__ ("subf%I3c %1,%4,%3\n\taddze %0,%2" \
- : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl));\
- else \
- __asm__ ("subf%I4c %1,%5,%4\n\tsubfe %0,%3,%2" \
- : "=r" (sh), "=&r" (sl) \
- : "r" (ah), "r" (bh), "rI" (al), "r" (bl)); \
- } while (0)
-#define count_leading_zeros(count, x) \
- __asm__ ("cntlzd %0,%1" : "=r" (count) : "r" (x))
-#define COUNT_LEADING_ZEROS_0 64
-#define umul_ppmm(ph, pl, m0, m1) \
- do { \
- UDItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("mulhdu %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \
- (pl) = __m0 * __m1; \
- } while (0)
-#define UMUL_TIME 15
-#define smul_ppmm(ph, pl, m0, m1) \
- do { \
- DItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("mulhd %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \
- (pl) = __m0 * __m1; \
- } while (0)
-#define SMUL_TIME 14 /* ??? */
-#define UDIV_TIME 120 /* ??? */
-#endif /* 64-bit PowerPC. */
-
-/***************************************
- ************** PYR ******************
- ***************************************/
-#if defined (__pyr__) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("addw %5,%1 \n" \
- "addwc %3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "%0" ((USItype)(ah)), \
- "g" ((USItype)(bh)), \
- "%1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("subw %5,%1 \n" \
- "subwb %3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "0" ((USItype)(ah)), \
- "g" ((USItype)(bh)), \
- "1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
-/* This insn works on Pyramids with AP, XP, or MI CPUs, but not with SP. */
-# define umul_ppmm(w1, w0, u, v) \
- ({union {UDItype __ll; \
- struct {USItype __h, __l;} __i; \
- } __xx; \
- __asm__ ("movw %1,%R0 \n" \
- "uemul %2,%0" \
- : "=&r" (__xx.__ll) \
- : "g" ((USItype) (u)), \
- "g" ((USItype)(v))); \
- (w1) = __xx.__i.__h; (w0) = __xx.__i.__l;})
-#endif /* __pyr__ */
-
-
-/***************************************
- ************** RT/ROMP **************
- ***************************************/
-#if defined (__ibm032__) /* RT/ROMP */ && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("a %1,%5 \n" \
- "ae %0,%3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "%0" ((USItype)(ah)), \
- "r" ((USItype)(bh)), \
- "%1" ((USItype)(al)), \
- "r" ((USItype)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("s %1,%5\n" \
- "se %0,%3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "0" ((USItype)(ah)), \
- "r" ((USItype)(bh)), \
- "1" ((USItype)(al)), \
- "r" ((USItype)(bl)))
-# define umul_ppmm(ph, pl, m0, m1) \
- do { \
- USItype __m0 = (m0), __m1 = (m1); \
- __asm__ ( \
- "s r2,r2 \n" \
- "mts r10,%2 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "cas %0,r2,r0 \n" \
- "mfs r10,%1" \
- : "=r" ((USItype)(ph)), \
- "=r" ((USItype)(pl)) \
- : "%r" (__m0), \
- "r" (__m1) \
- : "r2"); \
- (ph) += ((((SItype) __m0 >> 31) & __m1) \
- + (((SItype) __m1 >> 31) & __m0)); \
- } while (0)
-# define UMUL_TIME 20
-# define UDIV_TIME 200
-# define count_leading_zeros(count, x) \
- do { \
- if ((x) >= 0x10000) \
- __asm__ ("clz %0,%1" \
- : "=r" ((USItype)(count)) \
- : "r" ((USItype)(x) >> 16)); \
- else \
- { \
- __asm__ ("clz %0,%1" \
- : "=r" ((USItype)(count)) \
- : "r" ((USItype)(x))); \
- (count) += 16; \
- } \
- } while (0)
-#endif /* RT/ROMP */
-
-
-/***************************************
- ************** SH2 ******************
- ***************************************/
-#if (defined (__sh2__) || defined(__sh3__) || defined(__SH4__) ) \
- && W_TYPE_SIZE == 32
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ( \
- "dmulu.l %2,%3\n" \
- "sts macl,%1\n" \
- "sts mach,%0" \
- : "=r" ((USItype)(w1)), \
- "=r" ((USItype)(w0)) \
- : "r" ((USItype)(u)), \
- "r" ((USItype)(v)) \
- : "macl", "mach")
-# define UMUL_TIME 5
-#endif
-
-/***************************************
- ************** SPARC ****************
- ***************************************/
-#if defined (__sparc__) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("addcc %r4,%5,%1\n" \
- "addx %r2,%3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "%rJ" ((USItype)(ah)), \
- "rI" ((USItype)(bh)), \
- "%rJ" ((USItype)(al)), \
- "rI" ((USItype)(bl)) \
- __CLOBBER_CC)
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("subcc %r4,%5,%1\n" \
- "subx %r2,%3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "rJ" ((USItype)(ah)), \
- "rI" ((USItype)(bh)), \
- "rJ" ((USItype)(al)), \
- "rI" ((USItype)(bl)) \
- __CLOBBER_CC)
-# if defined (__sparc_v8__) || defined(__sparcv8)
-/* Don't match immediate range because, 1) it is not often useful,
- 2) the 'I' flag thinks of the range as a 13 bit signed interval,
- while we want to match a 13 bit interval, sign extended to 32 bits,
- but INTERPRETED AS UNSIGNED. */
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("umul %2,%3,%1;rd %%y,%0" \
- : "=r" ((USItype)(w1)), \
- "=r" ((USItype)(w0)) \
- : "r" ((USItype)(u)), \
- "r" ((USItype)(v)))
-# define UMUL_TIME 5
-# ifndef SUPERSPARC /* SuperSPARC's udiv only handles 53 bit dividends */
-# define udiv_qrnnd(q, r, n1, n0, d) \
- do { \
- USItype __q; \
- __asm__ ("mov %1,%%y;nop;nop;nop;udiv %2,%3,%0" \
- : "=r" ((USItype)(__q)) \
- : "r" ((USItype)(n1)), \
- "r" ((USItype)(n0)), \
- "r" ((USItype)(d))); \
- (r) = (n0) - __q * (d); \
- (q) = __q; \
- } while (0)
-# define UDIV_TIME 25
-# endif /*!SUPERSPARC */
-# else /* ! __sparc_v8__ */
-# if defined (__sparclite__)
-/* This has hardware multiply but not divide. It also has two additional
- instructions scan (ffs from high bit) and divscc. */
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("umul %2,%3,%1;rd %%y,%0" \
- : "=r" ((USItype)(w1)), \
- "=r" ((USItype)(w0)) \
- : "r" ((USItype)(u)), \
- "r" ((USItype)(v)))
-# define UMUL_TIME 5
-# define udiv_qrnnd(q, r, n1, n0, d) \
- __asm__ ("! Inlined udiv_qrnnd \n" \
- " wr %%g0,%2,%%y ! Not a delayed write for sparclite \n" \
- " tst %%g0 \n" \
- " divscc %3,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%0 \n" \
- " rd %%y,%1 \n" \
- " bl,a 1f \n" \
- " add %1,%4,%1 \n" \
- "1: ! End of inline udiv_qrnnd" \
- : "=r" ((USItype)(q)), \
- "=r" ((USItype)(r)) \
- : "r" ((USItype)(n1)), \
- "r" ((USItype)(n0)), \
- "rI" ((USItype)(d)) \
- : "%g1" __AND_CLOBBER_CC)
-# define UDIV_TIME 37
-# define count_leading_zeros(count, x) \
- __asm__ ("scan %1,0,%0" \
- : "=r" ((USItype)(x)) \
- : "r" ((USItype)(count)))
-/* Early sparclites return 63 for an argument of 0, but they warn that future
- implementations might change this. Therefore, leave COUNT_LEADING_ZEROS_0
- undefined. */
-# endif /* !__sparclite__ */
-# endif /* !__sparc_v8__ */
-/* Default to sparc v7 versions of umul_ppmm and udiv_qrnnd. */
-# ifndef umul_ppmm
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("! Inlined umul_ppmm \n" \
- " wr %%g0,%2,%%y ! SPARC has 0-3 delay insn after a wr \n" \
- " sra %3,31,%%g2 ! Don't move this insn \n" \
- " and %2,%%g2,%%g2 ! Don't move this insn \n" \
- " andcc %%g0,0,%%g1 ! Don't move this insn \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,0,%%g1 \n" \
- " add %%g1,%%g2,%0 \n" \
- " rd %%y,%1" \
- : "=r" ((USItype)(w1)), \
- "=r" ((USItype)(w0)) \
- : "%rI" ((USItype)(u)), \
- "r" ((USItype)(v)) \
- : "%g1", "%g2" __AND_CLOBBER_CC)
-# define UMUL_TIME 39 /* 39 instructions */
-# endif /* umul_ppmm */
-# ifndef udiv_qrnnd
-# ifndef LONGLONG_STANDALONE
-# define udiv_qrnnd(q, r, n1, n0, d) \
- do { USItype __r; \
- (q) = __udiv_qrnnd (&__r, (n1), (n0), (d)); \
- (r) = __r; \
- } while (0)
-extern USItype __udiv_qrnnd ();
-# define UDIV_TIME 140
-# endif /* LONGLONG_STANDALONE */
-# endif /* udiv_qrnnd */
-#endif /* __sparc__ */
-
-
-/***************************************
- ************** VAX ******************
- ***************************************/
-#if defined (__vax__) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("addl2 %5,%1\n" \
- "adwc %3,%0" \
- : "=g" ((USItype)(sh)), \
- "=&g" ((USItype)(sl)) \
- : "%0" ((USItype)(ah)), \
- "g" ((USItype)(bh)), \
- "%1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("subl2 %5,%1\n" \
- "sbwc %3,%0" \
- : "=g" ((USItype)(sh)), \
- "=&g" ((USItype)(sl)) \
- : "0" ((USItype)(ah)), \
- "g" ((USItype)(bh)), \
- "1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
-# define umul_ppmm(xh, xl, m0, m1) \
- do { \
- union {UDItype __ll; \
- struct {USItype __l, __h;} __i; \
- } __xx; \
- USItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("emul %1,%2,$0,%0" \
- : "=g" (__xx.__ll) \
- : "g" (__m0), \
- "g" (__m1)); \
- (xh) = __xx.__i.__h; (xl) = __xx.__i.__l; \
- (xh) += ((((SItype) __m0 >> 31) & __m1) \
- + (((SItype) __m1 >> 31) & __m0)); \
- } while (0)
-# define sdiv_qrnnd(q, r, n1, n0, d) \
- do { \
- union {DItype __ll; \
- struct {SItype __l, __h;} __i; \
- } __xx; \
- __xx.__i.__h = (n1); __xx.__i.__l = (n0); \
- __asm__ ("ediv %3,%2,%0,%1" \
- : "=g" (q), "=g" (r) \
- : "g" (__xx.__ll), "g" (d)); \
- } while (0)
-#endif /* __vax__ */
-
-
-/***************************************
- ************** Z8000 ****************
- ***************************************/
-#if defined (__z8000__) && W_TYPE_SIZE == 16
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("add %H1,%H5\n\tadc %H0,%H3" \
- : "=r" ((unsigned int)(sh)), \
- "=&r" ((unsigned int)(sl)) \
- : "%0" ((unsigned int)(ah)), \
- "r" ((unsigned int)(bh)), \
- "%1" ((unsigned int)(al)), \
- "rQR" ((unsigned int)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("sub %H1,%H5\n\tsbc %H0,%H3" \
- : "=r" ((unsigned int)(sh)), \
- "=&r" ((unsigned int)(sl)) \
- : "0" ((unsigned int)(ah)), \
- "r" ((unsigned int)(bh)), \
- "1" ((unsigned int)(al)), \
- "rQR" ((unsigned int)(bl)))
-# define umul_ppmm(xh, xl, m0, m1) \
- do { \
- union {long int __ll; \
- struct {unsigned int __h, __l;} __i; \
- } __xx; \
- unsigned int __m0 = (m0), __m1 = (m1); \
- __asm__ ("mult %S0,%H3" \
- : "=r" (__xx.__i.__h), \
- "=r" (__xx.__i.__l) \
- : "%1" (__m0), \
- "rQR" (__m1)); \
- (xh) = __xx.__i.__h; (xl) = __xx.__i.__l; \
- (xh) += ((((signed int) __m0 >> 15) & __m1) \
- + (((signed int) __m1 >> 15) & __m0)); \
- } while (0)
-#endif /* __z8000__ */
-
-
-/***************************************
- *********** s390x/zSeries ************
- ***************************************/
-#if defined (__s390x__) && W_TYPE_SIZE == 64 && __GNUC__ >= 4
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("algr %1,%5\n" \
- "alcgr %0,%3\n" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "0" ((UDItype)(ah)), \
- "r" ((UDItype)(bh)), \
- "1" ((UDItype)(al)), \
- "r" ((UDItype)(bl)) \
- __CLOBBER_CC)
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("slgr %1,%5\n" \
- "slbgr %0,%3\n" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "0" ((UDItype)(ah)), \
- "r" ((UDItype)(bh)), \
- "1" ((UDItype)(al)), \
- "r" ((UDItype)(bl)) \
- __CLOBBER_CC)
-typedef unsigned int UTItype __attribute__ ((mode (TI)));
-# define umul_ppmm(w1, w0, u, v) \
- do { \
- UTItype ___r; \
- __asm__ ("mlgr %0,%2" \
- : "=r" (___r) \
- : "0" ((UDItype)(u)), \
- "r" ((UDItype)(v))); \
- (w1) = ___r >> 64; \
- (w0) = (UDItype) ___r; \
- } while (0)
-# define udiv_qrnnd(q, r, n1, n0, d) \
- do { \
- UTItype ___r = ((UTItype)n1 << 64) | n0; \
- __asm__ ("dlgr %0,%2" \
- : "=r" (___r) \
- : "0" (___r), \
- "r" ((UDItype)(d))); \
- (r) = ___r >> 64; \
- (q) = (UDItype) ___r; \
- } while (0)
-#endif /* __s390x__ */
-
-
-/***************************************
- ***** End CPU Specific Versions *****
- ***************************************/
-
-#endif /* __GNUC__ */
-#endif /* !__riscos__ */
-
-
-/***************************************
- *********** Generic Versions ********
- ***************************************/
-#if !defined (umul_ppmm) && defined (__umulsidi3)
-# define umul_ppmm(ph, pl, m0, m1) \
- { \
- UDWtype __ll = __umulsidi3 (m0, m1); \
- ph = (UWtype) (__ll >> W_TYPE_SIZE); \
- pl = (UWtype) __ll; \
- }
-#endif
-
-#if !defined (__umulsidi3)
-# define __umulsidi3(u, v) \
- ({UWtype __hi, __lo; \
- umul_ppmm (__hi, __lo, u, v); \
- ((UDWtype) __hi << W_TYPE_SIZE) | __lo; })
-#endif
-
-/* If this machine has no inline assembler, use C macros. */
-
-#if !defined (add_ssaaaa)
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- do { \
- UWtype __x; \
- __x = (al) + (bl); \
- (sh) = (ah) + (bh) + (__x < (al)); \
- (sl) = __x; \
- } while (0)
-#endif
-
-#if !defined (sub_ddmmss)
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- do { \
- UWtype __x; \
- __x = (al) - (bl); \
- (sh) = (ah) - (bh) - (__x > (al)); \
- (sl) = __x; \
- } while (0)
-#endif
-
-#if !defined (umul_ppmm)
-# define umul_ppmm(w1, w0, u, v) \
- do { \
- UWtype __x0, __x1, __x2, __x3; \
- UHWtype __ul, __vl, __uh, __vh; \
- UWtype __u = (u), __v = (v); \
- \
- __ul = __ll_lowpart (__u); \
- __uh = __ll_highpart (__u); \
- __vl = __ll_lowpart (__v); \
- __vh = __ll_highpart (__v); \
- \
- __x0 = (UWtype) __ul * __vl; \
- __x1 = (UWtype) __ul * __vh; \
- __x2 = (UWtype) __uh * __vl; \
- __x3 = (UWtype) __uh * __vh; \
- \
- __x1 += __ll_highpart (__x0);/* this can't give carry */ \
- __x1 += __x2; /* but this indeed can */ \
- if (__x1 < __x2) /* did we get it? */ \
- __x3 += __ll_B; /* yes, add it in the proper pos. */ \
- \
- (w1) = __x3 + __ll_highpart (__x1); \
- (w0) = (__ll_lowpart (__x1) << W_TYPE_SIZE/2) + __ll_lowpart (__x0);\
- } while (0)
-#endif
-
-#if !defined (umul_ppmm)
-# define smul_ppmm(w1, w0, u, v) \
- do { \
- UWtype __w1; \
- UWtype __m0 = (u), __m1 = (v); \
- umul_ppmm (__w1, w0, __m0, __m1); \
- (w1) = __w1 - (-(__m0 >> (W_TYPE_SIZE - 1)) & __m1) \
- - (-(__m1 >> (W_TYPE_SIZE - 1)) & __m0); \
- } while (0)
-#endif
-
-/* Define this unconditionally, so it can be used for debugging. */
-#define __udiv_qrnnd_c(q, r, n1, n0, d) \
- do { \
- UWtype __d1, __d0, __q1, __q0, __r1, __r0, __m; \
- __d1 = __ll_highpart (d); \
- __d0 = __ll_lowpart (d); \
- \
- __r1 = (n1) % __d1; \
- __q1 = (n1) / __d1; \
- __m = (UWtype) __q1 * __d0; \
- __r1 = __r1 * __ll_B | __ll_highpart (n0); \
- if (__r1 < __m) \
- { \
- __q1--, __r1 += (d); \
- if (__r1 >= (d)) /* i.e. we didn't get carry when adding to __r1 */\
- if (__r1 < __m) \
- __q1--, __r1 += (d); \
- } \
- __r1 -= __m; \
- \
- __r0 = __r1 % __d1; \
- __q0 = __r1 / __d1; \
- __m = (UWtype) __q0 * __d0; \
- __r0 = __r0 * __ll_B | __ll_lowpart (n0); \
- if (__r0 < __m) \
- { \
- __q0--, __r0 += (d); \
- if (__r0 >= (d)) \
- if (__r0 < __m) \
- __q0--, __r0 += (d); \
- } \
- __r0 -= __m; \
- \
- (q) = (UWtype) __q1 * __ll_B | __q0; \
- (r) = __r0; \
- } while (0)
-
-/* If the processor has no udiv_qrnnd but sdiv_qrnnd, go through
- __udiv_w_sdiv (defined in libgcc or elsewhere). */
-#if !defined (udiv_qrnnd) && defined (sdiv_qrnnd)
-# define udiv_qrnnd(q, r, nh, nl, d) \
- do { \
- UWtype __r; \
- (q) = __MPN(udiv_w_sdiv) (&__r, nh, nl, d); \
- (r) = __r; \
- } while (0)
-#endif
-
-/* If udiv_qrnnd was not defined for this processor, use __udiv_qrnnd_c. */
-#if !defined (udiv_qrnnd)
-# define UDIV_NEEDS_NORMALIZATION 1
-# define udiv_qrnnd __udiv_qrnnd_c
-#endif
-
-#if !defined (count_leading_zeros)
-# if defined (HAVE_BUILTIN_CLZL) && SIZEOF_UNSIGNED_LONG * 8 == W_TYPE_SIZE
-# define count_leading_zeros(count, x) (count = __builtin_clzl(x))
-# undef COUNT_LEADING_ZEROS_0 /* Input X=0 is undefined for the builtin. */
-# elif defined (HAVE_BUILTIN_CLZ) && SIZEOF_UNSIGNED_INT * 8 == W_TYPE_SIZE
-# define count_leading_zeros(count, x) (count = __builtin_clz(x))
-# undef COUNT_LEADING_ZEROS_0 /* Input X=0 is undefined for the builtin. */
-# endif
-#endif
-
-#if !defined (count_trailing_zeros)
-# if defined (HAVE_BUILTIN_CTZL) && SIZEOF_UNSIGNED_LONG * 8 == W_TYPE_SIZE
-# define count_trailing_zeros(count, x) (count = __builtin_ctzl(x))
-# undef COUNT_LEADING_ZEROS_0 /* Input X=0 is undefined for the builtin. */
-# elif defined (HAVE_BUILTIN_CTZ) && SIZEOF_UNSIGNED_INT * 8 == W_TYPE_SIZE
-# define count_trailing_zeros(count, x) (count = __builtin_ctz(x))
-# undef COUNT_LEADING_ZEROS_0 /* Input X=0 is undefined for the builtin. */
-# endif
-#endif
-
-#if !defined (count_leading_zeros)
-extern
-# ifdef __STDC__
-const
-# endif
-unsigned char _gcry_clz_tab[];
-# define MPI_INTERNAL_NEED_CLZ_TAB 1
-# define count_leading_zeros(count, x) \
- do { \
- UWtype __xr = (x); \
- UWtype __a; \
- \
- if (W_TYPE_SIZE <= 32) \
- { \
- __a = __xr < ((UWtype) 1 << 2*__BITS4) \
- ? (__xr < ((UWtype) 1 << __BITS4) ? 0 : __BITS4) \
- : (__xr < ((UWtype) 1 << 3*__BITS4) ? 2*__BITS4 : 3*__BITS4);\
- } \
- else \
- { \
- for (__a = W_TYPE_SIZE - 8; __a > 0; __a -= 8) \
- if (((__xr >> __a) & 0xff) != 0) \
- break; \
- } \
- \
- (count) = W_TYPE_SIZE - (_gcry_clz_tab[__xr >> __a] + __a); \
- } while (0)
-/* This version gives a well-defined value for zero. */
-# define COUNT_LEADING_ZEROS_0 W_TYPE_SIZE
-#endif /* !count_leading_zeros */
-
-#if !defined (count_trailing_zeros)
-/* Define count_trailing_zeros using count_leading_zeros. The latter might be
- defined in asm, but if it is not, the C version above is good enough. */
-# define count_trailing_zeros(count, x) \
- do { \
- UWtype __ctz_x = (x); \
- UWtype __ctz_c; \
- count_leading_zeros (__ctz_c, __ctz_x & -__ctz_x); \
- (count) = W_TYPE_SIZE - 1 - __ctz_c; \
- } while (0)
-#endif /* !count_trailing_zeros */
-
-#ifndef UDIV_NEEDS_NORMALIZATION
-# define UDIV_NEEDS_NORMALIZATION 0
-#endif
-
-/***************************************
- ****** longlong.h ends here *********
- ***************************************/
Index: sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch/libgcrypt-1.10.1-new/mpi
===================================================================
--- sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch/libgcrypt-1.10.1-new/mpi (revision 446)
+++ sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch/libgcrypt-1.10.1-new/mpi (nonexistent)
Property changes on: sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch/libgcrypt-1.10.1-new/mpi
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch/libgcrypt-1.10.1-new
===================================================================
--- sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch/libgcrypt-1.10.1-new (revision 446)
+++ sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch/libgcrypt-1.10.1-new (nonexistent)
Property changes on: sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch/libgcrypt-1.10.1-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch
===================================================================
--- sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch (revision 446)
+++ sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch (nonexistent)
Property changes on: sources/packages/n/libgcrypt/create-1.10.1-powerpc-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: sources/packages/n/libgcrypt/create-1.10.1-riscv-patch/file.list
===================================================================
--- sources/packages/n/libgcrypt/create-1.10.1-riscv-patch/file.list (revision 446)
+++ sources/packages/n/libgcrypt/create-1.10.1-riscv-patch/file.list (nonexistent)
@@ -1 +0,0 @@
-libgcrypt-1.10.1/mpi/longlong.h
Index: sources/packages/n/libgcrypt/create-1.10.1-riscv-patch/create.patch.sh
===================================================================
--- sources/packages/n/libgcrypt/create-1.10.1-riscv-patch/create.patch.sh (revision 446)
+++ sources/packages/n/libgcrypt/create-1.10.1-riscv-patch/create.patch.sh (nonexistent)
@@ -1,15 +0,0 @@
-#!/bin/sh
-
-VERSION=1.10.1
-
-tar --files-from=file.list -xjvf ../libgcrypt-$VERSION.tar.bz2
-mv libgcrypt-$VERSION libgcrypt-$VERSION-orig
-
-cp -rf ./libgcrypt-$VERSION-new ./libgcrypt-$VERSION
-
-diff --unified -Nr libgcrypt-$VERSION-orig libgcrypt-$VERSION > libgcrypt-$VERSION-riscv.patch
-
-mv libgcrypt-$VERSION-riscv.patch ../patches
-
-rm -rf ./libgcrypt-$VERSION
-rm -rf ./libgcrypt-$VERSION-orig
Property changes on: sources/packages/n/libgcrypt/create-1.10.1-riscv-patch/create.patch.sh
___________________________________________________________________
Deleted: svn:executable
## -1 +0,0 ##
-*
\ No newline at end of property
Index: sources/packages/n/libgcrypt/create-1.10.1-riscv-patch/libgcrypt-1.10.1-new/mpi/longlong.h
===================================================================
--- sources/packages/n/libgcrypt/create-1.10.1-riscv-patch/libgcrypt-1.10.1-new/mpi/longlong.h (revision 446)
+++ sources/packages/n/libgcrypt/create-1.10.1-riscv-patch/libgcrypt-1.10.1-new/mpi/longlong.h (nonexistent)
@@ -1,1855 +0,0 @@
-/* longlong.h -- definitions for mixed size 32/64 bit arithmetic.
- Note: This is the Libgcrypt version
-
-
-Copyright (C) 1991, 1992, 1993, 1994, 1996, 1998,
- 2000, 2001, 2002, 2003, 2004, 2011 Free Software Foundation, Inc.
-
-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 Library General Public License
-along with this file; see the file COPYING.LIB. If not, write to
-the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
-MA 02111-1307, USA. */
-
-/* You have to define the following before including this file:
-
- UWtype -- An unsigned type, default type for operations (typically a "word")
- UHWtype -- An unsigned type, at least half the size of UWtype.
- UDWtype -- An unsigned type, at least twice as large a UWtype
- W_TYPE_SIZE -- size in bits of UWtype
-
- SItype, USItype -- Signed and unsigned 32 bit types.
- DItype, UDItype -- Signed and unsigned 64 bit types.
-
- On a 32 bit machine UWtype should typically be USItype;
- on a 64 bit machine, UWtype should typically be UDItype.
-*/
-
-#define __BITS4 (W_TYPE_SIZE / 4)
-#define __ll_B ((UWtype) 1 << (W_TYPE_SIZE / 2))
-#define __ll_lowpart(t) ((UWtype) (t) & (__ll_B - 1))
-#define __ll_highpart(t) ((UWtype) (t) >> (W_TYPE_SIZE / 2))
-
-/* This is used to make sure no undesirable sharing between different libraries
- that use this file takes place. */
-#ifndef __MPN
-# define __MPN(x) __##x
-#endif
-
-/* Define auxiliary asm macros.
-
- 1) umul_ppmm(high_prod, low_prod, multipler, multiplicand) multiplies two
- UWtype integers MULTIPLER and MULTIPLICAND, and generates a two UWtype
- word product in HIGH_PROD and LOW_PROD.
-
- 2) __umulsidi3(a,b) multiplies two UWtype integers A and B, and returns a
- UDWtype product. This is just a variant of umul_ppmm.
-
- 3) udiv_qrnnd(quotient, remainder, high_numerator, low_numerator,
- denominator) divides a UDWtype, composed by the UWtype integers
- HIGH_NUMERATOR and LOW_NUMERATOR, by DENOMINATOR and places the quotient
- in QUOTIENT and the remainder in REMAINDER. HIGH_NUMERATOR must be less
- than DENOMINATOR for correct operation. If, in addition, the most
- significant bit of DENOMINATOR must be 1, then the pre-processor symbol
- UDIV_NEEDS_NORMALIZATION is defined to 1.
-
- 4) sdiv_qrnnd(quotient, remainder, high_numerator, low_numerator,
- denominator). Like udiv_qrnnd but the numbers are signed. The quotient
- is rounded towards 0.
-
- 5) count_leading_zeros(count, x) counts the number of zero-bits from the
- msb to the first non-zero bit in the UWtype X. This is the number of
- steps X needs to be shifted left to set the msb. Undefined for X == 0,
- unless the symbol COUNT_LEADING_ZEROS_0 is defined to some value.
-
- 6) count_trailing_zeros(count, x) like count_leading_zeros, but counts
- from the least significant end.
-
- 7) add_ssaaaa(high_sum, low_sum, high_addend_1, low_addend_1,
- high_addend_2, low_addend_2) adds two UWtype integers, composed by
- HIGH_ADDEND_1 and LOW_ADDEND_1, and HIGH_ADDEND_2 and LOW_ADDEND_2
- respectively. The result is placed in HIGH_SUM and LOW_SUM. Overflow
- (i.e. carry out) is not stored anywhere, and is lost.
-
- 8) sub_ddmmss(high_difference, low_difference, high_minuend, low_minuend,
- high_subtrahend, low_subtrahend) subtracts two two-word UWtype integers,
- composed by HIGH_MINUEND_1 and LOW_MINUEND_1, and HIGH_SUBTRAHEND_2 and
- LOW_SUBTRAHEND_2 respectively. The result is placed in HIGH_DIFFERENCE
- and LOW_DIFFERENCE. Overflow (i.e. carry out) is not stored anywhere,
- and is lost.
-
- If any of these macros are left undefined for a particular CPU,
- C macros are used. */
-
-/* The CPUs come in alphabetical order below.
-
- Please add support for more CPUs here, or improve the current support
- for the CPUs below! */
-
-#ifdef __riscos__
-#pragma continue_after_hash_error
-#else /* !__riscos__ */
-#if defined (__GNUC__) && !defined (NO_ASM)
-
-/* We sometimes need to clobber "cc" with gcc2, but that would not be
- understood by gcc1. Use cpp to avoid major code duplication. */
-#if __GNUC__ < 2
-# define __CLOBBER_CC
-# define __AND_CLOBBER_CC
-#else /* __GNUC__ >= 2 */
-# define __CLOBBER_CC : "cc"
-# define __AND_CLOBBER_CC , "cc"
-#endif /* __GNUC__ < 2 */
-
-/***************************************
- **** Begin CPU Specific Versions ****
- ***************************************/
-
-/***************************************
- ************** A29K *****************
- ***************************************/
-#if (defined (__a29k__) || defined (_AM29K)) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("add %1,%4,%5\n" \
- "addc %0,%2,%3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "%r" ((USItype)(ah)), \
- "rI" ((USItype)(bh)), \
- "%r" ((USItype)(al)), \
- "rI" ((USItype)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("sub %1,%4,%5\n" \
- "subc %0,%2,%3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "r" ((USItype)(ah)), \
- "rI" ((USItype)(bh)), \
- "r" ((USItype)(al)), \
- "rI" ((USItype)(bl)))
-# define umul_ppmm(xh, xl, m0, m1) \
- do { \
- USItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("multiplu %0,%1,%2" \
- : "=r" ((USItype)(xl)) \
- : "r" (__m0), \
- "r" (__m1)); \
- __asm__ ("multmu %0,%1,%2" \
- : "=r" ((USItype)(xh)) \
- : "r" (__m0), \
- "r" (__m1)); \
- } while (0)
-# define udiv_qrnnd(q, r, n1, n0, d) \
- __asm__ ("dividu %0,%3,%4" \
- : "=r" ((USItype)(q)), \
- "=q" ((USItype)(r)) \
- : "1" ((USItype)(n1)), \
- "r" ((USItype)(n0)), \
- "r" ((USItype)(d)))
-# define count_leading_zeros(count, x) \
- __asm__ ("clz %0,%1" \
- : "=r" ((USItype)(count)) \
- : "r" ((USItype)(x)))
-# define COUNT_LEADING_ZEROS_0 32
-#endif /* __a29k__ */
-
-
-#if defined (__alpha) && W_TYPE_SIZE == 64
-# define umul_ppmm(ph, pl, m0, m1) \
- do { \
- UDItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("umulh %r1,%2,%0" \
- : "=r" ((UDItype)(ph)) \
- : "%rJ" (__m0), \
- "rI" (__m1)); \
- (pl) = __m0 * __m1; \
- } while (0)
-# define UMUL_TIME 46
-# ifndef LONGLONG_STANDALONE
-# define udiv_qrnnd(q, r, n1, n0, d) \
- do { UDItype __r; \
- (q) = __udiv_qrnnd (&__r, (n1), (n0), (d)); \
- (r) = __r; \
- } while (0)
-extern UDItype __udiv_qrnnd ();
-# define UDIV_TIME 220
-# endif /* !LONGLONG_STANDALONE */
-#endif /* __alpha */
-
-/***************************************
- ************** ARM ******************
- ***************************************/
-#if defined (__arm__) && W_TYPE_SIZE == 32 && \
- (!defined (__thumb__) || defined (__thumb2__))
-/* The __ARM_ARCH define is provided by gcc 4.8. Construct it otherwise. */
-# ifndef __ARM_ARCH
-# ifdef __ARM_ARCH_2__
-# define __ARM_ARCH 2
-# elif defined (__ARM_ARCH_3__) || defined (__ARM_ARCH_3M__)
-# define __ARM_ARCH 3
-# elif defined (__ARM_ARCH_4__) || defined (__ARM_ARCH_4T__)
-# define __ARM_ARCH 4
-# elif defined (__ARM_ARCH_5__) || defined (__ARM_ARCH_5E__) \
- || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__) \
- || defined(__ARM_ARCH_5TEJ__)
-# define __ARM_ARCH 5
-# elif defined (__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \
- || defined (__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) \
- || defined (__ARM_ARCH_6K__) || defined(__ARM_ARCH_6T2__)
-# define __ARM_ARCH 6
-# elif defined (__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \
- || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) \
- || defined(__ARM_ARCH_7EM__)
-# define __ARM_ARCH 7
-# else
- /* could not detect? */
-# endif
-# endif /* !__ARM_ARCH */
-
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("adds %1, %4, %5\n" \
- "adc %0, %2, %3" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "%r" ((USItype)(ah)), \
- "rI" ((USItype)(bh)), \
- "%r" ((USItype)(al)), \
- "rI" ((USItype)(bl)) __CLOBBER_CC)
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("subs %1, %4, %5\n" \
- "sbc %0, %2, %3" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "r" ((USItype)(ah)), \
- "rI" ((USItype)(bh)), \
- "r" ((USItype)(al)), \
- "rI" ((USItype)(bl)) __CLOBBER_CC)
-# if (defined __ARM_ARCH && __ARM_ARCH <= 3)
-# define umul_ppmm(xh, xl, a, b) \
- __asm__ ("@ Inlined umul_ppmm\n" \
- "mov %|r0, %2, lsr #16 @ AAAA\n" \
- "mov %|r2, %3, lsr #16 @ BBBB\n" \
- "bic %|r1, %2, %|r0, lsl #16 @ aaaa\n" \
- "bic %0, %3, %|r2, lsl #16 @ bbbb\n" \
- "mul %1, %|r1, %|r2 @ aaaa * BBBB\n" \
- "mul %|r2, %|r0, %|r2 @ AAAA * BBBB\n" \
- "mul %|r1, %0, %|r1 @ aaaa * bbbb\n" \
- "mul %0, %|r0, %0 @ AAAA * bbbb\n" \
- "adds %|r0, %1, %0 @ central sum\n" \
- "addcs %|r2, %|r2, #65536\n" \
- "adds %1, %|r1, %|r0, lsl #16\n" \
- "adc %0, %|r2, %|r0, lsr #16" \
- : "=&r" ((xh)), \
- "=r" ((xl)) \
- : "r" ((USItype)(a)), \
- "r" ((USItype)(b)) \
- : "r0", "r1", "r2" __AND_CLOBBER_CC)
-# else /* __ARM_ARCH >= 4 */
-# define umul_ppmm(xh, xl, a, b) \
- __asm__ ("@ Inlined umul_ppmm\n" \
- "umull %1, %0, %2, %3" \
- : "=&r" ((xh)), \
- "=r" ((xl)) \
- : "r" ((USItype)(a)), \
- "r" ((USItype)(b)))
-# endif /* __ARM_ARCH >= 4 */
-# define UMUL_TIME 20
-# define UDIV_TIME 100
-# if (defined __ARM_ARCH && __ARM_ARCH >= 5)
-# define count_leading_zeros(count, x) \
- __asm__ ("clz %0, %1" \
- : "=r" ((count)) \
- : "r" ((USItype)(x)))
-# endif /* __ARM_ARCH >= 5 */
-#endif /* __arm__ */
-
-/***************************************
- ********** ARM64 / Aarch64 **********
- ***************************************/
-#if defined(__aarch64__) && W_TYPE_SIZE == 64
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("adds %1, %4, %5\n" \
- "adc %0, %2, %3\n" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "r" ((UDItype)(ah)), \
- "r" ((UDItype)(bh)), \
- "r" ((UDItype)(al)), \
- "r" ((UDItype)(bl)) __CLOBBER_CC)
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("subs %1, %4, %5\n" \
- "sbc %0, %2, %3\n" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "r" ((UDItype)(ah)), \
- "r" ((UDItype)(bh)), \
- "r" ((UDItype)(al)), \
- "r" ((UDItype)(bl)) __CLOBBER_CC)
-# define umul_ppmm(ph, pl, m0, m1) \
- do { \
- UDItype __m0 = (m0), __m1 = (m1), __ph; \
- (pl) = __m0 * __m1; \
- __asm__ ("umulh %0,%1,%2" \
- : "=r" (__ph) \
- : "r" (__m0), \
- "r" (__m1)); \
- (ph) = __ph; \
- } while (0)
-# define count_leading_zeros(count, x) \
- do { \
- UDItype __co; \
- __asm__ ("clz %0, %1\n" \
- : "=r" (__co) \
- : "r" ((UDItype)(x))); \
- (count) = __co; \
- } while (0)
-#endif /* __aarch64__ */
-
-/***************************************
- ************** CLIPPER **************
- ***************************************/
-#if defined (__clipper__) && W_TYPE_SIZE == 32
-# define umul_ppmm(w1, w0, u, v) \
- ({union {UDItype __ll; \
- struct {USItype __l, __h;} __i; \
- } __xx; \
- __asm__ ("mulwux %2,%0" \
- : "=r" (__xx.__ll) \
- : "%0" ((USItype)(u)), \
- "r" ((USItype)(v))); \
- (w1) = __xx.__i.__h; (w0) = __xx.__i.__l;})
-# define smul_ppmm(w1, w0, u, v) \
- ({union {DItype __ll; \
- struct {SItype __l, __h;} __i; \
- } __xx; \
- __asm__ ("mulwx %2,%0" \
- : "=r" (__xx.__ll) \
- : "%0" ((SItype)(u)), \
- "r" ((SItype)(v))); \
- (w1) = __xx.__i.__h; (w0) = __xx.__i.__l;})
-# define __umulsidi3(u, v) \
- ({UDItype __w; \
- __asm__ ("mulwux %2,%0" \
- : "=r" (__w) \
- : "%0" ((USItype)(u)), \
- "r" ((USItype)(v))); \
- __w; })
-#endif /* __clipper__ */
-
-
-/***************************************
- ************** GMICRO ***************
- ***************************************/
-#if defined (__gmicro__) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("add.w %5,%1\n" \
- "addx %3,%0" \
- : "=g" ((USItype)(sh)), \
- "=&g" ((USItype)(sl)) \
- : "%0" ((USItype)(ah)), \
- "g" ((USItype)(bh)), \
- "%1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("sub.w %5,%1\n" \
- "subx %3,%0" \
- : "=g" ((USItype)(sh)), \
- "=&g" ((USItype)(sl)) \
- : "0" ((USItype)(ah)), \
- "g" ((USItype)(bh)), \
- "1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
-# define umul_ppmm(ph, pl, m0, m1) \
- __asm__ ("mulx %3,%0,%1" \
- : "=g" ((USItype)(ph)), \
- "=r" ((USItype)(pl)) \
- : "%0" ((USItype)(m0)), \
- "g" ((USItype)(m1)))
-# define udiv_qrnnd(q, r, nh, nl, d) \
- __asm__ ("divx %4,%0,%1" \
- : "=g" ((USItype)(q)), \
- "=r" ((USItype)(r)) \
- : "1" ((USItype)(nh)), \
- "0" ((USItype)(nl)), \
- "g" ((USItype)(d)))
-# define count_leading_zeros(count, x) \
- __asm__ ("bsch/1 %1,%0" \
- : "=g" (count) \
- : "g" ((USItype)(x)), \
- "0" ((USItype)0))
-#endif
-
-
-/***************************************
- ************** HPPA *****************
- ***************************************/
-#if defined (__hppa) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ (" add %4,%5,%1\n" \
- " addc %2,%3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "%rM" ((USItype)(ah)), \
- "rM" ((USItype)(bh)), \
- "%rM" ((USItype)(al)), \
- "rM" ((USItype)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ (" sub %4,%5,%1\n" \
- " subb %2,%3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "rM" ((USItype)(ah)), \
- "rM" ((USItype)(bh)), \
- "rM" ((USItype)(al)), \
- "rM" ((USItype)(bl)))
-# if defined (_PA_RISC1_1)
-# define umul_ppmm(wh, wl, u, v) \
- do { \
- union {UDItype __ll; \
- struct {USItype __h, __l;} __i; \
- } __xx; \
- __asm__ (" xmpyu %1,%2,%0" \
- : "=*f" (__xx.__ll) \
- : "*f" ((USItype)(u)), \
- "*f" ((USItype)(v))); \
- (wh) = __xx.__i.__h; \
- (wl) = __xx.__i.__l; \
- } while (0)
-# define UMUL_TIME 8
-# define UDIV_TIME 60
-# else
-# define UMUL_TIME 40
-# define UDIV_TIME 80
-# endif
-# ifndef LONGLONG_STANDALONE
-# define udiv_qrnnd(q, r, n1, n0, d) \
- do { USItype __r; \
- (q) = __udiv_qrnnd (&__r, (n1), (n0), (d)); \
- (r) = __r; \
- } while (0)
-extern USItype __udiv_qrnnd ();
-# endif /* !LONGLONG_STANDALONE */
-# define count_leading_zeros(count, x) \
- do { \
- USItype __tmp; \
- __asm__ ( \
- " ldi 1,%0 \n" \
- " extru,= %1,15,16,%%r0 ; Bits 31..16 zero? \n" \
- " extru,tr %1,15,16,%1 ; No. Shift down, skip add.\n" \
- " ldo 16(%0),%0 ; Yes. Perform add. \n" \
- " extru,= %1,23,8,%%r0 ; Bits 15..8 zero? \n" \
- " extru,tr %1,23,8,%1 ; No. Shift down, skip add.\n" \
- " ldo 8(%0),%0 ; Yes. Perform add. \n" \
- " extru,= %1,27,4,%%r0 ; Bits 7..4 zero? \n" \
- " extru,tr %1,27,4,%1 ; No. Shift down, skip add.\n" \
- " ldo 4(%0),%0 ; Yes. Perform add. \n" \
- " extru,= %1,29,2,%%r0 ; Bits 3..2 zero? \n" \
- " extru,tr %1,29,2,%1 ; No. Shift down, skip add.\n" \
- " ldo 2(%0),%0 ; Yes. Perform add. \n" \
- " extru %1,30,1,%1 ; Extract bit 1. \n" \
- " sub %0,%1,%0 ; Subtract it. " \
- : "=r" (count), "=r" (__tmp) : "1" (x)); \
- } while (0)
-#endif /* hppa */
-
-
-/***************************************
- ************** I370 *****************
- ***************************************/
-#if (defined (__i370__) || defined (__mvs__)) && W_TYPE_SIZE == 32
-# define umul_ppmm(xh, xl, m0, m1) \
- do { \
- union {UDItype __ll; \
- struct {USItype __h, __l;} __i; \
- } __xx; \
- USItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("mr %0,%3" \
- : "=r" (__xx.__i.__h), \
- "=r" (__xx.__i.__l) \
- : "%1" (__m0), \
- "r" (__m1)); \
- (xh) = __xx.__i.__h; (xl) = __xx.__i.__l; \
- (xh) += ((((SItype) __m0 >> 31) & __m1) \
- + (((SItype) __m1 >> 31) & __m0)); \
- } while (0)
-# define smul_ppmm(xh, xl, m0, m1) \
- do { \
- union {DItype __ll; \
- struct {USItype __h, __l;} __i; \
- } __xx; \
- __asm__ ("mr %0,%3" \
- : "=r" (__xx.__i.__h), \
- "=r" (__xx.__i.__l) \
- : "%1" (m0), \
- "r" (m1)); \
- (xh) = __xx.__i.__h; (xl) = __xx.__i.__l; \
- } while (0)
-# define sdiv_qrnnd(q, r, n1, n0, d) \
- do { \
- union {DItype __ll; \
- struct {USItype __h, __l;} __i; \
- } __xx; \
- __xx.__i.__h = (n1); __xx.__i.__l = (n0); \
- __asm__ ("dr %0,%2" \
- : "=r" (__xx.__ll) \
- : "0" (__xx.__ll), "r" (d)); \
- (q) = __xx.__i.__l; (r) = __xx.__i.__h; \
- } while (0)
-#endif
-
-
-/***************************************
- ************** I386 *****************
- ***************************************/
-#if (defined (__i386__) || defined (__i486__)) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("addl %5,%1\n" \
- "adcl %3,%0" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "%0" ((USItype)(ah)), \
- "g" ((USItype)(bh)), \
- "%1" ((USItype)(al)), \
- "g" ((USItype)(bl)) \
- __CLOBBER_CC)
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("subl %5,%1\n" \
- "sbbl %3,%0" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "0" ((USItype)(ah)), \
- "g" ((USItype)(bh)), \
- "1" ((USItype)(al)), \
- "g" ((USItype)(bl)) \
- __CLOBBER_CC)
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("mull %3" \
- : "=a" ((w0)), \
- "=d" ((w1)) \
- : "%0" ((USItype)(u)), \
- "rm" ((USItype)(v)) \
- __CLOBBER_CC)
-# define udiv_qrnnd(q, r, n1, n0, d) \
- __asm__ ("divl %4" \
- : "=a" ((q)), \
- "=d" ((r)) \
- : "0" ((USItype)(n0)), \
- "1" ((USItype)(n1)), \
- "rm" ((USItype)(d)) \
- __CLOBBER_CC)
-# define count_leading_zeros(count, x) \
- do { \
- USItype __cbtmp; \
- __asm__ ("bsrl %1,%0" \
- : "=r" (__cbtmp) : "rm" ((USItype)(x)) \
- __CLOBBER_CC); \
- (count) = __cbtmp ^ 31; \
- } while (0)
-# define count_trailing_zeros(count, x) \
- __asm__ ("bsfl %1,%0" : "=r" (count) : "rm" ((USItype)(x)) __CLOBBER_CC)
-# ifndef UMUL_TIME
-# define UMUL_TIME 40
-# endif
-# ifndef UDIV_TIME
-# define UDIV_TIME 40
-# endif
-#endif /* 80x86 */
-
-/***************************************
- *********** AMD64 / x86-64 ************
- ***************************************/
-#if defined(__x86_64) && W_TYPE_SIZE == 64
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("addq %5,%1\n" \
- "adcq %3,%0" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "0" ((UDItype)(ah)), \
- "g" ((UDItype)(bh)), \
- "1" ((UDItype)(al)), \
- "g" ((UDItype)(bl)) \
- __CLOBBER_CC)
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("subq %5,%1\n" \
- "sbbq %3,%0" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "0" ((UDItype)(ah)), \
- "g" ((UDItype)(bh)), \
- "1" ((UDItype)(al)), \
- "g" ((UDItype)(bl)) \
- __CLOBBER_CC)
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("mulq %3" \
- : "=a" ((w0)), \
- "=d" ((w1)) \
- : "0" ((UDItype)(u)), \
- "rm" ((UDItype)(v)) \
- __CLOBBER_CC)
-# define udiv_qrnnd(q, r, n1, n0, d) \
- __asm__ ("divq %4" \
- : "=a" ((q)), \
- "=d" ((r)) \
- : "0" ((UDItype)(n0)), \
- "1" ((UDItype)(n1)), \
- "rm" ((UDItype)(d)) \
- __CLOBBER_CC)
-# define count_leading_zeros(count, x) \
- do { \
- UDItype __cbtmp; \
- __asm__ ("bsrq %1,%0" \
- : "=r" (__cbtmp) : "rm" ((UDItype)(x)) \
- __CLOBBER_CC); \
- (count) = __cbtmp ^ 63; \
- } while (0)
-# define count_trailing_zeros(count, x) \
- do { \
- UDItype __cbtmp; \
- __asm__ ("bsfq %1,%0" \
- : "=r" (__cbtmp) : "rm" ((UDItype)(x)) \
- __CLOBBER_CC); \
- (count) = __cbtmp; \
- } while (0)
-# ifndef UMUL_TIME
-# define UMUL_TIME 40
-# endif
-# ifndef UDIV_TIME
-# define UDIV_TIME 40
-# endif
-#endif /* __x86_64 */
-
-
-/***************************************
- ************** I860 *****************
- ***************************************/
-#if defined (__i860__) && W_TYPE_SIZE == 32
-# define rshift_rhlc(r,h,l,c) \
- __asm__ ("shr %3,r0,r0\n" \
- "shrd %1,%2,%0" \
- "=r" (r) : "r" (h), "r" (l), "rn" (c))
-#endif /* i860 */
-
-/***************************************
- ************** I960 *****************
- ***************************************/
-#if defined (__i960__) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("cmpo 1,0\n" \
- "addc %5,%4,%1\n" \
- "addc %3,%2,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "%dI" ((USItype)(ah)), \
- "dI" ((USItype)(bh)), \
- "%dI" ((USItype)(al)), \
- "dI" ((USItype)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("cmpo 0,0\n" \
- "subc %5,%4,%1\n" \
- "subc %3,%2,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "dI" ((USItype)(ah)), \
- "dI" ((USItype)(bh)), \
- "dI" ((USItype)(al)), \
- "dI" ((USItype)(bl)))
-# define umul_ppmm(w1, w0, u, v) \
- ({union {UDItype __ll; \
- struct {USItype __l, __h;} __i; \
- } __xx; \
- __asm__ ("emul %2,%1,%0" \
- : "=d" (__xx.__ll) \
- : "%dI" ((USItype)(u)), \
- "dI" ((USItype)(v))); \
- (w1) = __xx.__i.__h; (w0) = __xx.__i.__l;})
-# define __umulsidi3(u, v) \
- ({UDItype __w; \
- __asm__ ("emul %2,%1,%0" \
- : "=d" (__w) \
- : "%dI" ((USItype)(u)), \
- "dI" ((USItype)(v))); \
- __w; })
-# define udiv_qrnnd(q, r, nh, nl, d) \
- do { \
- union {UDItype __ll; \
- struct {USItype __l, __h;} __i; \
- } __nn; \
- __nn.__i.__h = (nh); __nn.__i.__l = (nl); \
- __asm__ ("ediv %d,%n,%0" \
- : "=d" (__rq.__ll) \
- : "dI" (__nn.__ll), \
- "dI" ((USItype)(d))); \
- (r) = __rq.__i.__l; (q) = __rq.__i.__h; \
- } while (0)
-# define count_leading_zeros(count, x) \
- do { \
- USItype __cbtmp; \
- __asm__ ("scanbit %1,%0" \
- : "=r" (__cbtmp) \
- : "r" ((USItype)(x))); \
- (count) = __cbtmp ^ 31; \
- } while (0)
-# define COUNT_LEADING_ZEROS_0 (-32) /* sic */
-# if defined (__i960mx) /* what is the proper symbol to test??? */
-# define rshift_rhlc(r,h,l,c) \
- do { \
- union {UDItype __ll; \
- struct {USItype __l, __h;} __i; \
- } __nn; \
- __nn.__i.__h = (h); __nn.__i.__l = (l); \
- __asm__ ("shre %2,%1,%0" \
- : "=d" (r) : "dI" (__nn.__ll), "dI" (c)); \
- }
-# endif /* i960mx */
-#endif /* i960 */
-
-
-/***************************************
- ************** 68000 ****************
- ***************************************/
-#if (defined (__mc68000__) || defined (__mc68020__) \
- || defined (__NeXT__) || defined(mc68020)) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("add%.l %5,%1\n" \
- "addx%.l %3,%0" \
- : "=d" ((USItype)(sh)), \
- "=&d" ((USItype)(sl)) \
- : "%0" ((USItype)(ah)), \
- "d" ((USItype)(bh)), \
- "%1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("sub%.l %5,%1\n" \
- "subx%.l %3,%0" \
- : "=d" ((USItype)(sh)), \
- "=&d" ((USItype)(sl)) \
- : "0" ((USItype)(ah)), \
- "d" ((USItype)(bh)), \
- "1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
-# if (defined (__mc68020__) || defined (__NeXT__) || defined(mc68020))
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("mulu%.l %3,%1:%0" \
- : "=d" ((USItype)(w0)), \
- "=d" ((USItype)(w1)) \
- : "%0" ((USItype)(u)), \
- "dmi" ((USItype)(v)))
-# define UMUL_TIME 45
-# define udiv_qrnnd(q, r, n1, n0, d) \
- __asm__ ("divu%.l %4,%1:%0" \
- : "=d" ((USItype)(q)), \
- "=d" ((USItype)(r)) \
- : "0" ((USItype)(n0)), \
- "1" ((USItype)(n1)), \
- "dmi" ((USItype)(d)))
-# define UDIV_TIME 90
-# define sdiv_qrnnd(q, r, n1, n0, d) \
- __asm__ ("divs%.l %4,%1:%0" \
- : "=d" ((USItype)(q)), \
- "=d" ((USItype)(r)) \
- : "0" ((USItype)(n0)), \
- "1" ((USItype)(n1)), \
- "dmi" ((USItype)(d)))
-# define count_leading_zeros(count, x) \
- __asm__ ("bfffo %1{%b2:%b2},%0" \
- : "=d" ((USItype)(count)) \
- : "od" ((USItype)(x)), "n" (0))
-# define COUNT_LEADING_ZEROS_0 32
-# else /* not mc68020 */
-# define umul_ppmm(xh, xl, a, b) \
- do { USItype __umul_tmp1, __umul_tmp2; \
- __asm__ ("| Inlined umul_ppmm \n" \
- " move%.l %5,%3 \n" \
- " move%.l %2,%0 \n" \
- " move%.w %3,%1 \n" \
- " swap %3 \n" \
- " swap %0 \n" \
- " mulu %2,%1 \n" \
- " mulu %3,%0 \n" \
- " mulu %2,%3 \n" \
- " swap %2 \n" \
- " mulu %5,%2 \n" \
- " add%.l %3,%2 \n" \
- " jcc 1f \n" \
- " add%.l %#0x10000,%0 \n" \
- "1: move%.l %2,%3 \n" \
- " clr%.w %2 \n" \
- " swap %2 \n" \
- " swap %3 \n" \
- " clr%.w %3 \n" \
- " add%.l %3,%1 \n" \
- " addx%.l %2,%0 \n" \
- " | End inlined umul_ppmm" \
- : "=&d" ((USItype)(xh)), "=&d" ((USItype)(xl)), \
- "=d" (__umul_tmp1), "=&d" (__umul_tmp2) \
- : "%2" ((USItype)(a)), "d" ((USItype)(b))); \
- } while (0)
-# define UMUL_TIME 100
-# define UDIV_TIME 400
-# endif /* not mc68020 */
-#endif /* mc68000 */
-
-
-/***************************************
- ************** 88000 ****************
- ***************************************/
-#if defined (__m88000__) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("addu.co %1,%r4,%r5\n" \
- "addu.ci %0,%r2,%r3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "%rJ" ((USItype)(ah)), \
- "rJ" ((USItype)(bh)), \
- "%rJ" ((USItype)(al)), \
- "rJ" ((USItype)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("subu.co %1,%r4,%r5\n" \
- "subu.ci %0,%r2,%r3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "rJ" ((USItype)(ah)), \
- "rJ" ((USItype)(bh)), \
- "rJ" ((USItype)(al)), \
- "rJ" ((USItype)(bl)))
-# define count_leading_zeros(count, x) \
- do { \
- USItype __cbtmp; \
- __asm__ ("ff1 %0,%1" \
- : "=r" (__cbtmp) \
- : "r" ((USItype)(x))); \
- (count) = __cbtmp ^ 31; \
- } while (0)
-# define COUNT_LEADING_ZEROS_0 63 /* sic */
-# if defined (__m88110__)
-# define umul_ppmm(wh, wl, u, v) \
- do { \
- union {UDItype __ll; \
- struct {USItype __h, __l;} __i; \
- } __x; \
- __asm__ ("mulu.d %0,%1,%2" : "=r" (__x.__ll) : "r" (u), "r" (v)); \
- (wh) = __x.__i.__h; \
- (wl) = __x.__i.__l; \
- } while (0)
-# define udiv_qrnnd(q, r, n1, n0, d) \
- ({union {UDItype __ll; \
- struct {USItype __h, __l;} __i; \
- } __x, __q; \
- __x.__i.__h = (n1); __x.__i.__l = (n0); \
- __asm__ ("divu.d %0,%1,%2" \
- : "=r" (__q.__ll) : "r" (__x.__ll), "r" (d)); \
- (r) = (n0) - __q.__l * (d); (q) = __q.__l; })
-# define UMUL_TIME 5
-# define UDIV_TIME 25
-# else
-# define UMUL_TIME 17
-# define UDIV_TIME 150
-# endif /* __m88110__ */
-#endif /* __m88000__ */
-
-/***************************************
- ************** MIPS *****************
- ***************************************/
-#if defined (__mips__) && W_TYPE_SIZE == 32
-# if defined (__clang__) || (__GNUC__ >= 5) || (__GNUC__ == 4 && \
- __GNUC_MINOR__ >= 4)
-# define umul_ppmm(w1, w0, u, v) \
- do { \
- UDItype __r; \
- __r = (UDItype)(u) * (v); \
- (w1) = __r >> 32; \
- (w0) = (USItype) __r; \
- } while (0)
-# elif __GNUC__ > 2 || __GNUC_MINOR__ >= 7
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("multu %2,%3" \
- : "=l" ((USItype)(w0)), \
- "=h" ((USItype)(w1)) \
- : "d" ((USItype)(u)), \
- "d" ((USItype)(v)))
-# else
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("multu %2,%3 \n" \
- "mflo %0 \n" \
- "mfhi %1" \
- : "=d" ((USItype)(w0)), \
- "=d" ((USItype)(w1)) \
- : "d" ((USItype)(u)), \
- "d" ((USItype)(v)))
-# endif
-# define UMUL_TIME 10
-# define UDIV_TIME 100
-#endif /* __mips__ */
-
-/***************************************
- ************** MIPS/64 **************
- ***************************************/
-#if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64
-# if defined (__clang__) || (__GNUC__ >= 5) || (__GNUC__ == 4 && \
- __GNUC_MINOR__ >= 4)
-typedef unsigned int UTItype __attribute__ ((mode (TI)));
-# define umul_ppmm(w1, w0, u, v) \
- do { \
- UTItype __r; \
- __r = (UTItype)(u) * (v); \
- (w1) = __r >> 64; \
- (w0) = (UDItype) __r; \
- } while (0)
-# elif __GNUC__ > 2 || __GNUC_MINOR__ >= 7
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("dmultu %2,%3" \
- : "=l" ((UDItype)(w0)), \
- "=h" ((UDItype)(w1)) \
- : "d" ((UDItype)(u)), \
- "d" ((UDItype)(v)))
-# else
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("dmultu %2,%3 \n" \
- "mflo %0 \n" \
- "mfhi %1" \
- : "=d" ((UDItype)(w0)), \
- "=d" ((UDItype)(w1)) \
- : "d" ((UDItype)(u)), \
- "d" ((UDItype)(v)))
-# endif
-# define UMUL_TIME 20
-# define UDIV_TIME 140
-#endif /* __mips__ */
-
-
-/***************************************
- ************** 32000 ****************
- ***************************************/
-#if defined (__ns32000__) && W_TYPE_SIZE == 32
-# define umul_ppmm(w1, w0, u, v) \
- ({union {UDItype __ll; \
- struct {USItype __l, __h;} __i; \
- } __xx; \
- __asm__ ("meid %2,%0" \
- : "=g" (__xx.__ll) \
- : "%0" ((USItype)(u)), \
- "g" ((USItype)(v))); \
- (w1) = __xx.__i.__h; (w0) = __xx.__i.__l;})
-# define __umulsidi3(u, v) \
- ({UDItype __w; \
- __asm__ ("meid %2,%0" \
- : "=g" (__w) \
- : "%0" ((USItype)(u)), \
- "g" ((USItype)(v))); \
- __w; })
-# define udiv_qrnnd(q, r, n1, n0, d) \
- ({union {UDItype __ll; \
- struct {USItype __l, __h;} __i; \
- } __xx; \
- __xx.__i.__h = (n1); __xx.__i.__l = (n0); \
- __asm__ ("deid %2,%0" \
- : "=g" (__xx.__ll) \
- : "0" (__xx.__ll), \
- "g" ((USItype)(d))); \
- (r) = __xx.__i.__l; (q) = __xx.__i.__h; })
-# define count_trailing_zeros(count,x) \
- do {
- __asm__ ("ffsd %2,%0" \
- : "=r" ((USItype) (count)) \
- : "0" ((USItype) 0), \
- "r" ((USItype) (x))); \
- } while (0)
-#endif /* __ns32000__ */
-
-
-/***************************************
- ************** PPC ******************
- ***************************************/
-#if (defined (_ARCH_PPC) || defined (_IBMR2)) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- do { \
- if (__builtin_constant_p (bh) && (bh) == 0) \
- __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{aze|addze} %0,%2" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "%r" ((USItype)(ah)), \
- "%r" ((USItype)(al)), \
- "rI" ((USItype)(bl))); \
- else if (__builtin_constant_p (bh) && (bh) ==~(USItype) 0) \
- __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{ame|addme} %0,%2" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "%r" ((USItype)(ah)), \
- "%r" ((USItype)(al)), \
- "rI" ((USItype)(bl))); \
- else \
- __asm__ ("{a%I5|add%I5c} %1,%4,%5\n\t{ae|adde} %0,%2,%3" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "%r" ((USItype)(ah)), \
- "r" ((USItype)(bh)), \
- "%r" ((USItype)(al)), \
- "rI" ((USItype)(bl))); \
- } while (0)
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- do { \
- if (__builtin_constant_p (ah) && (ah) == 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfze|subfze} %0,%2" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "r" ((USItype)(bh)), \
- "rI" ((USItype)(al)), \
- "r" ((USItype)(bl))); \
- else if (__builtin_constant_p (ah) && (ah) ==~(USItype) 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfme|subfme} %0,%2" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "r" ((USItype)(bh)), \
- "rI" ((USItype)(al)), \
- "r" ((USItype)(bl))); \
- else if (__builtin_constant_p (bh) && (bh) == 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{ame|addme} %0,%2" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "r" ((USItype)(ah)), \
- "rI" ((USItype)(al)), \
- "r" ((USItype)(bl))); \
- else if (__builtin_constant_p (bh) && (bh) ==~(USItype) 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{aze|addze} %0,%2" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "r" ((USItype)(ah)), \
- "rI" ((USItype)(al)), \
- "r" ((USItype)(bl))); \
- else \
- __asm__ ("{sf%I4|subf%I4c} %1,%5,%4\n\t{sfe|subfe} %0,%3,%2" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "r" ((USItype)(ah)), \
- "r" ((USItype)(bh)), \
- "rI" ((USItype)(al)), \
- "r" ((USItype)(bl))); \
- } while (0)
-# define count_leading_zeros(count, x) \
- __asm__ ("{cntlz|cntlzw} %0,%1" \
- : "=r" ((count)) \
- : "r" ((USItype)(x)))
-# define COUNT_LEADING_ZEROS_0 32
-# if defined (_ARCH_PPC)
-# define umul_ppmm(ph, pl, m0, m1) \
- do { \
- USItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("mulhwu %0,%1,%2" \
- : "=r" (ph) \
- : "%r" (__m0), \
- "r" (__m1)); \
- (pl) = __m0 * __m1; \
- } while (0)
-# define UMUL_TIME 15
-# define smul_ppmm(ph, pl, m0, m1) \
- do { \
- SItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("mulhw %0,%1,%2" \
- : "=r" ((SItype) ph) \
- : "%r" (__m0), \
- "r" (__m1)); \
- (pl) = __m0 * __m1; \
- } while (0)
-# define SMUL_TIME 14
-# define UDIV_TIME 120
-# else
-# define umul_ppmm(xh, xl, m0, m1) \
- do { \
- USItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("mul %0,%2,%3" \
- : "=r" ((xh)), \
- "=q" ((xl)) \
- : "r" (__m0), \
- "r" (__m1)); \
- (xh) += ((((SItype) __m0 >> 31) & __m1) \
- + (((SItype) __m1 >> 31) & __m0)); \
- } while (0)
-# define UMUL_TIME 8
-# define smul_ppmm(xh, xl, m0, m1) \
- __asm__ ("mul %0,%2,%3" \
- : "=r" ((SItype)(xh)), \
- "=q" ((SItype)(xl)) \
- : "r" (m0), \
- "r" (m1))
-# define SMUL_TIME 4
-# define sdiv_qrnnd(q, r, nh, nl, d) \
- __asm__ ("div %0,%2,%4" \
- : "=r" ((SItype)(q)), "=q" ((SItype)(r)) \
- : "r" ((SItype)(nh)), "1" ((SItype)(nl)), "r" ((SItype)(d)))
-# define UDIV_TIME 100
-# endif
-#endif /* Power architecture variants. */
-
-/* Powerpc 64 bit support taken from gmp-4.1.2. */
-/* We should test _IBMR2 here when we add assembly support for the system
- vendor compilers. */
-#if (defined (_ARCH_PPC) || defined (__powerpc__)) && W_TYPE_SIZE == 64
-#define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- do { \
- if (__builtin_constant_p (bh) && (bh) == 0) \
- __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{aze|addze} %0,%2" \
- : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl));\
- else if (__builtin_constant_p (bh) && (bh) == ~(UDItype) 0) \
- __asm__ ("{a%I4|add%I4c} %1,%3,%4\n\t{ame|addme} %0,%2" \
- : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl));\
- else \
- __asm__ ("{a%I5|add%I5c} %1,%4,%5\n\t{ae|adde} %0,%2,%3" \
- : "=r" (sh), "=&r" (sl) \
- : "%r" (ah), "r" (bh), "%r" (al), "rI" (bl)); \
- } while (0)
-#define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- do { \
- if (__builtin_constant_p (ah) && (ah) == 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfze|subfze} %0,%2" \
- : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl));\
- else if (__builtin_constant_p (ah) && (ah) == ~(UDItype) 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{sfme|subfme} %0,%2" \
- : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl));\
- else if (__builtin_constant_p (bh) && (bh) == 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{ame|addme} %0,%2" \
- : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl));\
- else if (__builtin_constant_p (bh) && (bh) == ~(UDItype) 0) \
- __asm__ ("{sf%I3|subf%I3c} %1,%4,%3\n\t{aze|addze} %0,%2" \
- : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl));\
- else \
- __asm__ ("{sf%I4|subf%I4c} %1,%5,%4\n\t{sfe|subfe} %0,%3,%2" \
- : "=r" (sh), "=&r" (sl) \
- : "r" (ah), "r" (bh), "rI" (al), "r" (bl)); \
- } while (0)
-#define count_leading_zeros(count, x) \
- __asm__ ("cntlzd %0,%1" : "=r" (count) : "r" (x))
-#define COUNT_LEADING_ZEROS_0 64
-#define umul_ppmm(ph, pl, m0, m1) \
- do { \
- UDItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("mulhdu %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \
- (pl) = __m0 * __m1; \
- } while (0)
-#define UMUL_TIME 15
-#define smul_ppmm(ph, pl, m0, m1) \
- do { \
- DItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("mulhd %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \
- (pl) = __m0 * __m1; \
- } while (0)
-#define SMUL_TIME 14 /* ??? */
-#define UDIV_TIME 120 /* ??? */
-#endif /* 64-bit PowerPC. */
-
-/***************************************
- ************** PYR ******************
- ***************************************/
-#if defined (__pyr__) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("addw %5,%1 \n" \
- "addwc %3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "%0" ((USItype)(ah)), \
- "g" ((USItype)(bh)), \
- "%1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("subw %5,%1 \n" \
- "subwb %3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "0" ((USItype)(ah)), \
- "g" ((USItype)(bh)), \
- "1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
-/* This insn works on Pyramids with AP, XP, or MI CPUs, but not with SP. */
-# define umul_ppmm(w1, w0, u, v) \
- ({union {UDItype __ll; \
- struct {USItype __h, __l;} __i; \
- } __xx; \
- __asm__ ("movw %1,%R0 \n" \
- "uemul %2,%0" \
- : "=&r" (__xx.__ll) \
- : "g" ((USItype) (u)), \
- "g" ((USItype)(v))); \
- (w1) = __xx.__i.__h; (w0) = __xx.__i.__l;})
-#endif /* __pyr__ */
-
-
-/***************************************
- ************** RISCV ****************
- ***************************************/
-#if defined(__riscv)
-#ifdef __riscv_mul
-#define __umulsidi3(u,v) ((UDWtype)(UWtype)(u) * (UWtype)(v))
-#define __muluw3(a, b) ((UWtype)(a) * (UWtype)(b))
-#else
-#if __riscv_xlen == 32
- #define MULUW3 "call __mulsi3"
-#elif __riscv_xlen == 64
- #define MULUW3 "call __muldi3"
-#else
-#error unsupport xlen
-#endif /* __riscv_xlen */
-/* We rely on the fact that MULUW3 doesn't clobber the t-registers.
- It can get better register allocation result. */
-#define __muluw3(a, b) \
- ({ \
- register UWtype __op0 asm ("a0") = a; \
- register UWtype __op1 asm ("a1") = b; \
- asm volatile (MULUW3 \
- : "+r" (__op0), "+r" (__op1) \
- : \
- : "ra", "a2", "a3"); \
- __op0; \
- })
-#endif /* __riscv_mul */
-#define umul_ppmm(w1, w0, u, v) \
- do { \
- UWtype __x0, __x1, __x2, __x3; \
- UHWtype __ul, __vl, __uh, __vh; \
- \
- __ul = __ll_lowpart (u); \
- __uh = __ll_highpart (u); \
- __vl = __ll_lowpart (v); \
- __vh = __ll_highpart (v); \
- \
- __x0 = __muluw3 (__ul, __vl); \
- __x1 = __muluw3 (__ul, __vh); \
- __x2 = __muluw3 (__uh, __vl); \
- __x3 = __muluw3 (__uh, __vh); \
- \
- __x1 += __ll_highpart (__x0);/* this can't give carry */ \
- __x1 += __x2; /* but this indeed can */ \
- if (__x1 < __x2) /* did we get it? */ \
- __x3 += __ll_B; /* yes, add it in the proper pos. */ \
- \
- (w1) = __x3 + __ll_highpart (__x1); \
- (w0) = __ll_lowpart (__x1) * __ll_B + __ll_lowpart (__x0); \
- } while (0)
-#endif /* __riscv */
-
-
-/***************************************
- ************** RT/ROMP **************
- ***************************************/
-#if defined (__ibm032__) /* RT/ROMP */ && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("a %1,%5 \n" \
- "ae %0,%3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "%0" ((USItype)(ah)), \
- "r" ((USItype)(bh)), \
- "%1" ((USItype)(al)), \
- "r" ((USItype)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("s %1,%5\n" \
- "se %0,%3" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "0" ((USItype)(ah)), \
- "r" ((USItype)(bh)), \
- "1" ((USItype)(al)), \
- "r" ((USItype)(bl)))
-# define umul_ppmm(ph, pl, m0, m1) \
- do { \
- USItype __m0 = (m0), __m1 = (m1); \
- __asm__ ( \
- "s r2,r2 \n" \
- "mts r10,%2 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "m r2,%3 \n" \
- "cas %0,r2,r0 \n" \
- "mfs r10,%1" \
- : "=r" ((USItype)(ph)), \
- "=r" ((USItype)(pl)) \
- : "%r" (__m0), \
- "r" (__m1) \
- : "r2"); \
- (ph) += ((((SItype) __m0 >> 31) & __m1) \
- + (((SItype) __m1 >> 31) & __m0)); \
- } while (0)
-# define UMUL_TIME 20
-# define UDIV_TIME 200
-# define count_leading_zeros(count, x) \
- do { \
- if ((x) >= 0x10000) \
- __asm__ ("clz %0,%1" \
- : "=r" ((USItype)(count)) \
- : "r" ((USItype)(x) >> 16)); \
- else \
- { \
- __asm__ ("clz %0,%1" \
- : "=r" ((USItype)(count)) \
- : "r" ((USItype)(x))); \
- (count) += 16; \
- } \
- } while (0)
-#endif /* RT/ROMP */
-
-
-/***************************************
- ************** SH2 ******************
- ***************************************/
-#if (defined (__sh2__) || defined(__sh3__) || defined(__SH4__) ) \
- && W_TYPE_SIZE == 32
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ( \
- "dmulu.l %2,%3\n" \
- "sts macl,%1\n" \
- "sts mach,%0" \
- : "=r" ((USItype)(w1)), \
- "=r" ((USItype)(w0)) \
- : "r" ((USItype)(u)), \
- "r" ((USItype)(v)) \
- : "macl", "mach")
-# define UMUL_TIME 5
-#endif
-
-/***************************************
- ************** SPARC ****************
- ***************************************/
-#if defined (__sparc__) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("addcc %r4,%5,%1\n" \
- "addx %r2,%3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "%rJ" ((USItype)(ah)), \
- "rI" ((USItype)(bh)), \
- "%rJ" ((USItype)(al)), \
- "rI" ((USItype)(bl)) \
- __CLOBBER_CC)
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("subcc %r4,%5,%1\n" \
- "subx %r2,%3,%0" \
- : "=r" ((USItype)(sh)), \
- "=&r" ((USItype)(sl)) \
- : "rJ" ((USItype)(ah)), \
- "rI" ((USItype)(bh)), \
- "rJ" ((USItype)(al)), \
- "rI" ((USItype)(bl)) \
- __CLOBBER_CC)
-# if defined (__sparc_v8__) || defined(__sparcv8)
-/* Don't match immediate range because, 1) it is not often useful,
- 2) the 'I' flag thinks of the range as a 13 bit signed interval,
- while we want to match a 13 bit interval, sign extended to 32 bits,
- but INTERPRETED AS UNSIGNED. */
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("umul %2,%3,%1;rd %%y,%0" \
- : "=r" ((USItype)(w1)), \
- "=r" ((USItype)(w0)) \
- : "r" ((USItype)(u)), \
- "r" ((USItype)(v)))
-# define UMUL_TIME 5
-# ifndef SUPERSPARC /* SuperSPARC's udiv only handles 53 bit dividends */
-# define udiv_qrnnd(q, r, n1, n0, d) \
- do { \
- USItype __q; \
- __asm__ ("mov %1,%%y;nop;nop;nop;udiv %2,%3,%0" \
- : "=r" ((USItype)(__q)) \
- : "r" ((USItype)(n1)), \
- "r" ((USItype)(n0)), \
- "r" ((USItype)(d))); \
- (r) = (n0) - __q * (d); \
- (q) = __q; \
- } while (0)
-# define UDIV_TIME 25
-# endif /*!SUPERSPARC */
-# else /* ! __sparc_v8__ */
-# if defined (__sparclite__)
-/* This has hardware multiply but not divide. It also has two additional
- instructions scan (ffs from high bit) and divscc. */
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("umul %2,%3,%1;rd %%y,%0" \
- : "=r" ((USItype)(w1)), \
- "=r" ((USItype)(w0)) \
- : "r" ((USItype)(u)), \
- "r" ((USItype)(v)))
-# define UMUL_TIME 5
-# define udiv_qrnnd(q, r, n1, n0, d) \
- __asm__ ("! Inlined udiv_qrnnd \n" \
- " wr %%g0,%2,%%y ! Not a delayed write for sparclite \n" \
- " tst %%g0 \n" \
- " divscc %3,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%%g1 \n" \
- " divscc %%g1,%4,%0 \n" \
- " rd %%y,%1 \n" \
- " bl,a 1f \n" \
- " add %1,%4,%1 \n" \
- "1: ! End of inline udiv_qrnnd" \
- : "=r" ((USItype)(q)), \
- "=r" ((USItype)(r)) \
- : "r" ((USItype)(n1)), \
- "r" ((USItype)(n0)), \
- "rI" ((USItype)(d)) \
- : "%g1" __AND_CLOBBER_CC)
-# define UDIV_TIME 37
-# define count_leading_zeros(count, x) \
- __asm__ ("scan %1,0,%0" \
- : "=r" ((USItype)(x)) \
- : "r" ((USItype)(count)))
-/* Early sparclites return 63 for an argument of 0, but they warn that future
- implementations might change this. Therefore, leave COUNT_LEADING_ZEROS_0
- undefined. */
-# endif /* !__sparclite__ */
-# endif /* !__sparc_v8__ */
-/* Default to sparc v7 versions of umul_ppmm and udiv_qrnnd. */
-# ifndef umul_ppmm
-# define umul_ppmm(w1, w0, u, v) \
- __asm__ ("! Inlined umul_ppmm \n" \
- " wr %%g0,%2,%%y ! SPARC has 0-3 delay insn after a wr \n" \
- " sra %3,31,%%g2 ! Don't move this insn \n" \
- " and %2,%%g2,%%g2 ! Don't move this insn \n" \
- " andcc %%g0,0,%%g1 ! Don't move this insn \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,%3,%%g1 \n" \
- " mulscc %%g1,0,%%g1 \n" \
- " add %%g1,%%g2,%0 \n" \
- " rd %%y,%1" \
- : "=r" ((USItype)(w1)), \
- "=r" ((USItype)(w0)) \
- : "%rI" ((USItype)(u)), \
- "r" ((USItype)(v)) \
- : "%g1", "%g2" __AND_CLOBBER_CC)
-# define UMUL_TIME 39 /* 39 instructions */
-# endif /* umul_ppmm */
-# ifndef udiv_qrnnd
-# ifndef LONGLONG_STANDALONE
-# define udiv_qrnnd(q, r, n1, n0, d) \
- do { USItype __r; \
- (q) = __udiv_qrnnd (&__r, (n1), (n0), (d)); \
- (r) = __r; \
- } while (0)
-extern USItype __udiv_qrnnd ();
-# define UDIV_TIME 140
-# endif /* LONGLONG_STANDALONE */
-# endif /* udiv_qrnnd */
-#endif /* __sparc__ */
-
-
-/***************************************
- ************** VAX ******************
- ***************************************/
-#if defined (__vax__) && W_TYPE_SIZE == 32
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("addl2 %5,%1\n" \
- "adwc %3,%0" \
- : "=g" ((USItype)(sh)), \
- "=&g" ((USItype)(sl)) \
- : "%0" ((USItype)(ah)), \
- "g" ((USItype)(bh)), \
- "%1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("subl2 %5,%1\n" \
- "sbwc %3,%0" \
- : "=g" ((USItype)(sh)), \
- "=&g" ((USItype)(sl)) \
- : "0" ((USItype)(ah)), \
- "g" ((USItype)(bh)), \
- "1" ((USItype)(al)), \
- "g" ((USItype)(bl)))
-# define umul_ppmm(xh, xl, m0, m1) \
- do { \
- union {UDItype __ll; \
- struct {USItype __l, __h;} __i; \
- } __xx; \
- USItype __m0 = (m0), __m1 = (m1); \
- __asm__ ("emul %1,%2,$0,%0" \
- : "=g" (__xx.__ll) \
- : "g" (__m0), \
- "g" (__m1)); \
- (xh) = __xx.__i.__h; (xl) = __xx.__i.__l; \
- (xh) += ((((SItype) __m0 >> 31) & __m1) \
- + (((SItype) __m1 >> 31) & __m0)); \
- } while (0)
-# define sdiv_qrnnd(q, r, n1, n0, d) \
- do { \
- union {DItype __ll; \
- struct {SItype __l, __h;} __i; \
- } __xx; \
- __xx.__i.__h = (n1); __xx.__i.__l = (n0); \
- __asm__ ("ediv %3,%2,%0,%1" \
- : "=g" (q), "=g" (r) \
- : "g" (__xx.__ll), "g" (d)); \
- } while (0)
-#endif /* __vax__ */
-
-
-/***************************************
- ************** Z8000 ****************
- ***************************************/
-#if defined (__z8000__) && W_TYPE_SIZE == 16
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("add %H1,%H5\n\tadc %H0,%H3" \
- : "=r" ((unsigned int)(sh)), \
- "=&r" ((unsigned int)(sl)) \
- : "%0" ((unsigned int)(ah)), \
- "r" ((unsigned int)(bh)), \
- "%1" ((unsigned int)(al)), \
- "rQR" ((unsigned int)(bl)))
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("sub %H1,%H5\n\tsbc %H0,%H3" \
- : "=r" ((unsigned int)(sh)), \
- "=&r" ((unsigned int)(sl)) \
- : "0" ((unsigned int)(ah)), \
- "r" ((unsigned int)(bh)), \
- "1" ((unsigned int)(al)), \
- "rQR" ((unsigned int)(bl)))
-# define umul_ppmm(xh, xl, m0, m1) \
- do { \
- union {long int __ll; \
- struct {unsigned int __h, __l;} __i; \
- } __xx; \
- unsigned int __m0 = (m0), __m1 = (m1); \
- __asm__ ("mult %S0,%H3" \
- : "=r" (__xx.__i.__h), \
- "=r" (__xx.__i.__l) \
- : "%1" (__m0), \
- "rQR" (__m1)); \
- (xh) = __xx.__i.__h; (xl) = __xx.__i.__l; \
- (xh) += ((((signed int) __m0 >> 15) & __m1) \
- + (((signed int) __m1 >> 15) & __m0)); \
- } while (0)
-#endif /* __z8000__ */
-
-
-/***************************************
- *********** s390x/zSeries ************
- ***************************************/
-#if defined (__s390x__) && W_TYPE_SIZE == 64 && __GNUC__ >= 4
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- __asm__ ("algr %1,%5\n" \
- "alcgr %0,%3\n" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "0" ((UDItype)(ah)), \
- "r" ((UDItype)(bh)), \
- "1" ((UDItype)(al)), \
- "r" ((UDItype)(bl)) \
- __CLOBBER_CC)
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- __asm__ ("slgr %1,%5\n" \
- "slbgr %0,%3\n" \
- : "=r" ((sh)), \
- "=&r" ((sl)) \
- : "0" ((UDItype)(ah)), \
- "r" ((UDItype)(bh)), \
- "1" ((UDItype)(al)), \
- "r" ((UDItype)(bl)) \
- __CLOBBER_CC)
-typedef unsigned int UTItype __attribute__ ((mode (TI)));
-# define umul_ppmm(w1, w0, u, v) \
- do { \
- UTItype ___r; \
- __asm__ ("mlgr %0,%2" \
- : "=r" (___r) \
- : "0" ((UDItype)(u)), \
- "r" ((UDItype)(v))); \
- (w1) = ___r >> 64; \
- (w0) = (UDItype) ___r; \
- } while (0)
-# define udiv_qrnnd(q, r, n1, n0, d) \
- do { \
- UTItype ___r = ((UTItype)n1 << 64) | n0; \
- __asm__ ("dlgr %0,%2" \
- : "=r" (___r) \
- : "0" (___r), \
- "r" ((UDItype)(d))); \
- (r) = ___r >> 64; \
- (q) = (UDItype) ___r; \
- } while (0)
-#endif /* __s390x__ */
-
-
-/***************************************
- ***** End CPU Specific Versions *****
- ***************************************/
-
-#endif /* __GNUC__ */
-#endif /* !__riscos__ */
-
-
-/***************************************
- *********** Generic Versions ********
- ***************************************/
-#if !defined (umul_ppmm) && defined (__umulsidi3)
-# define umul_ppmm(ph, pl, m0, m1) \
- { \
- UDWtype __ll = __umulsidi3 (m0, m1); \
- ph = (UWtype) (__ll >> W_TYPE_SIZE); \
- pl = (UWtype) __ll; \
- }
-#endif
-
-#if !defined (__umulsidi3)
-# define __umulsidi3(u, v) \
- ({UWtype __hi, __lo; \
- umul_ppmm (__hi, __lo, u, v); \
- ((UDWtype) __hi << W_TYPE_SIZE) | __lo; })
-#endif
-
-/* If this machine has no inline assembler, use C macros. */
-
-#if !defined (add_ssaaaa)
-# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
- do { \
- UWtype __x; \
- __x = (al) + (bl); \
- (sh) = (ah) + (bh) + (__x < (al)); \
- (sl) = __x; \
- } while (0)
-#endif
-
-#if !defined (sub_ddmmss)
-# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
- do { \
- UWtype __x; \
- __x = (al) - (bl); \
- (sh) = (ah) - (bh) - (__x > (al)); \
- (sl) = __x; \
- } while (0)
-#endif
-
-#if !defined (umul_ppmm)
-# define umul_ppmm(w1, w0, u, v) \
- do { \
- UWtype __x0, __x1, __x2, __x3; \
- UHWtype __ul, __vl, __uh, __vh; \
- UWtype __u = (u), __v = (v); \
- \
- __ul = __ll_lowpart (__u); \
- __uh = __ll_highpart (__u); \
- __vl = __ll_lowpart (__v); \
- __vh = __ll_highpart (__v); \
- \
- __x0 = (UWtype) __ul * __vl; \
- __x1 = (UWtype) __ul * __vh; \
- __x2 = (UWtype) __uh * __vl; \
- __x3 = (UWtype) __uh * __vh; \
- \
- __x1 += __ll_highpart (__x0);/* this can't give carry */ \
- __x1 += __x2; /* but this indeed can */ \
- if (__x1 < __x2) /* did we get it? */ \
- __x3 += __ll_B; /* yes, add it in the proper pos. */ \
- \
- (w1) = __x3 + __ll_highpart (__x1); \
- (w0) = (__ll_lowpart (__x1) << W_TYPE_SIZE/2) + __ll_lowpart (__x0);\
- } while (0)
-#endif
-
-#if !defined (umul_ppmm)
-# define smul_ppmm(w1, w0, u, v) \
- do { \
- UWtype __w1; \
- UWtype __m0 = (u), __m1 = (v); \
- umul_ppmm (__w1, w0, __m0, __m1); \
- (w1) = __w1 - (-(__m0 >> (W_TYPE_SIZE - 1)) & __m1) \
- - (-(__m1 >> (W_TYPE_SIZE - 1)) & __m0); \
- } while (0)
-#endif
-
-/* Define this unconditionally, so it can be used for debugging. */
-#define __udiv_qrnnd_c(q, r, n1, n0, d) \
- do { \
- UWtype __d1, __d0, __q1, __q0, __r1, __r0, __m; \
- __d1 = __ll_highpart (d); \
- __d0 = __ll_lowpart (d); \
- \
- __r1 = (n1) % __d1; \
- __q1 = (n1) / __d1; \
- __m = (UWtype) __q1 * __d0; \
- __r1 = __r1 * __ll_B | __ll_highpart (n0); \
- if (__r1 < __m) \
- { \
- __q1--, __r1 += (d); \
- if (__r1 >= (d)) /* i.e. we didn't get carry when adding to __r1 */\
- if (__r1 < __m) \
- __q1--, __r1 += (d); \
- } \
- __r1 -= __m; \
- \
- __r0 = __r1 % __d1; \
- __q0 = __r1 / __d1; \
- __m = (UWtype) __q0 * __d0; \
- __r0 = __r0 * __ll_B | __ll_lowpart (n0); \
- if (__r0 < __m) \
- { \
- __q0--, __r0 += (d); \
- if (__r0 >= (d)) \
- if (__r0 < __m) \
- __q0--, __r0 += (d); \
- } \
- __r0 -= __m; \
- \
- (q) = (UWtype) __q1 * __ll_B | __q0; \
- (r) = __r0; \
- } while (0)
-
-/* If the processor has no udiv_qrnnd but sdiv_qrnnd, go through
- __udiv_w_sdiv (defined in libgcc or elsewhere). */
-#if !defined (udiv_qrnnd) && defined (sdiv_qrnnd)
-# define udiv_qrnnd(q, r, nh, nl, d) \
- do { \
- UWtype __r; \
- (q) = __MPN(udiv_w_sdiv) (&__r, nh, nl, d); \
- (r) = __r; \
- } while (0)
-#endif
-
-/* If udiv_qrnnd was not defined for this processor, use __udiv_qrnnd_c. */
-#if !defined (udiv_qrnnd)
-# define UDIV_NEEDS_NORMALIZATION 1
-# define udiv_qrnnd __udiv_qrnnd_c
-#endif
-
-#if !defined (count_leading_zeros)
-# if defined (HAVE_BUILTIN_CLZL) && SIZEOF_UNSIGNED_LONG * 8 == W_TYPE_SIZE
-# define count_leading_zeros(count, x) (count = __builtin_clzl(x))
-# undef COUNT_LEADING_ZEROS_0 /* Input X=0 is undefined for the builtin. */
-# elif defined (HAVE_BUILTIN_CLZ) && SIZEOF_UNSIGNED_INT * 8 == W_TYPE_SIZE
-# define count_leading_zeros(count, x) (count = __builtin_clz(x))
-# undef COUNT_LEADING_ZEROS_0 /* Input X=0 is undefined for the builtin. */
-# endif
-#endif
-
-#if !defined (count_trailing_zeros)
-# if defined (HAVE_BUILTIN_CTZL) && SIZEOF_UNSIGNED_LONG * 8 == W_TYPE_SIZE
-# define count_trailing_zeros(count, x) (count = __builtin_ctzl(x))
-# undef COUNT_LEADING_ZEROS_0 /* Input X=0 is undefined for the builtin. */
-# elif defined (HAVE_BUILTIN_CTZ) && SIZEOF_UNSIGNED_INT * 8 == W_TYPE_SIZE
-# define count_trailing_zeros(count, x) (count = __builtin_ctz(x))
-# undef COUNT_LEADING_ZEROS_0 /* Input X=0 is undefined for the builtin. */
-# endif
-#endif
-
-#if !defined (count_leading_zeros)
-extern
-# ifdef __STDC__
-const
-# endif
-unsigned char _gcry_clz_tab[];
-# define MPI_INTERNAL_NEED_CLZ_TAB 1
-# define count_leading_zeros(count, x) \
- do { \
- UWtype __xr = (x); \
- UWtype __a; \
- \
- if (W_TYPE_SIZE <= 32) \
- { \
- __a = __xr < ((UWtype) 1 << 2*__BITS4) \
- ? (__xr < ((UWtype) 1 << __BITS4) ? 0 : __BITS4) \
- : (__xr < ((UWtype) 1 << 3*__BITS4) ? 2*__BITS4 : 3*__BITS4);\
- } \
- else \
- { \
- for (__a = W_TYPE_SIZE - 8; __a > 0; __a -= 8) \
- if (((__xr >> __a) & 0xff) != 0) \
- break; \
- } \
- \
- (count) = W_TYPE_SIZE - (_gcry_clz_tab[__xr >> __a] + __a); \
- } while (0)
-/* This version gives a well-defined value for zero. */
-# define COUNT_LEADING_ZEROS_0 W_TYPE_SIZE
-#endif /* !count_leading_zeros */
-
-#if !defined (count_trailing_zeros)
-/* Define count_trailing_zeros using count_leading_zeros. The latter might be
- defined in asm, but if it is not, the C version above is good enough. */
-# define count_trailing_zeros(count, x) \
- do { \
- UWtype __ctz_x = (x); \
- UWtype __ctz_c; \
- count_leading_zeros (__ctz_c, __ctz_x & -__ctz_x); \
- (count) = W_TYPE_SIZE - 1 - __ctz_c; \
- } while (0)
-#endif /* !count_trailing_zeros */
-
-#ifndef UDIV_NEEDS_NORMALIZATION
-# define UDIV_NEEDS_NORMALIZATION 0
-#endif
-
-/***************************************
- ****** longlong.h ends here *********
- ***************************************/
Index: sources/packages/n/libgcrypt/create-1.10.1-riscv-patch/libgcrypt-1.10.1-new/mpi
===================================================================
--- sources/packages/n/libgcrypt/create-1.10.1-riscv-patch/libgcrypt-1.10.1-new/mpi (revision 446)
+++ sources/packages/n/libgcrypt/create-1.10.1-riscv-patch/libgcrypt-1.10.1-new/mpi (nonexistent)
Property changes on: sources/packages/n/libgcrypt/create-1.10.1-riscv-patch/libgcrypt-1.10.1-new/mpi
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: sources/packages/n/libgcrypt/create-1.10.1-riscv-patch/libgcrypt-1.10.1-new
===================================================================
--- sources/packages/n/libgcrypt/create-1.10.1-riscv-patch/libgcrypt-1.10.1-new (revision 446)
+++ sources/packages/n/libgcrypt/create-1.10.1-riscv-patch/libgcrypt-1.10.1-new (nonexistent)
Property changes on: sources/packages/n/libgcrypt/create-1.10.1-riscv-patch/libgcrypt-1.10.1-new
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: sources/packages/n/libgcrypt/create-1.10.1-riscv-patch
===================================================================
--- sources/packages/n/libgcrypt/create-1.10.1-riscv-patch (revision 446)
+++ sources/packages/n/libgcrypt/create-1.10.1-riscv-patch (nonexistent)
Property changes on: sources/packages/n/libgcrypt/create-1.10.1-riscv-patch
___________________________________________________________________
Deleted: svn:ignore
## -1,73 +0,0 ##
-
-# install dir
-dist
-
-# Target build dirs
-.a1x-newlib
-.a2x-newlib
-.at91sam7s-newlib
-
-.build-machine
-
-.a1x-glibc
-.a2x-glibc
-.h3-glibc
-.h5-glibc
-.i586-glibc
-.i686-glibc
-.imx6-glibc
-.jz47xx-glibc
-.makefile
-.am335x-glibc
-.omap543x-glibc
-.p5600-glibc
-.power8-glibc
-.power8le-glibc
-.power9-glibc
-.power9le-glibc
-.m1000-glibc
-.riscv64-glibc
-.rk328x-glibc
-.rk33xx-glibc
-.rk339x-glibc
-.s8xx-glibc
-.s9xx-glibc
-.x86_64-glibc
-
-# Hidden files (each file)
-.makefile
-.dist
-.rootfs
-
-# src & hw requires
-.src_requires
-.src_requires_depend
-.requires
-.requires_depend
-
-# Tarballs
-*.gz
-*.bz2
-*.lz
-*.xz
-*.tgz
-*.txz
-
-# Signatures
-*.asc
-*.sig
-*.sign
-*.sha1sum
-
-# Patches
-*.patch
-
-# Descriptions
-*.dsc
-*.txt
-
-# Default linux config files
-*.defconfig
-
-# backup copies
-*~
Index: sources/packages/n/libgcrypt/Makefile
===================================================================
--- sources/packages/n/libgcrypt/Makefile (revision 446)
+++ sources/packages/n/libgcrypt/Makefile (revision 447)
@@ -7,7 +7,7 @@
url = $(DOWNLOAD_SERVER)/sources/packages/n/libgcrypt
-versions = 1.10.1
+versions = 1.11.0
pkgname = libgcrypt
suffix = tar.bz2
@@ -14,8 +14,7 @@
tarballs = $(addsuffix .$(suffix), $(addprefix $(pkgname)-, $(versions)))
sha1s = $(addsuffix .sha1sum, $(tarballs))
-patches = $(CURDIR)/patches/libgcrypt-1.10.1-powerpc.patch
-patches += $(CURDIR)/patches/libgcrypt-1.10.1-riscv.patch
+patches = $(CURDIR)/patches/libgcrypt-1.11.0-riscv.patch
.NOTPARALLEL: $(patches)
@@ -50,8 +49,7 @@
$(patches): $(sha1s)
@echo -e "\n======= Create Patches =======\n" ; \
- ( cd create-1.10.1-powerpc-patch ; ./create.patch.sh ) ; \
- ( cd create-1.10.1-riscv-patch ; ./create.patch.sh ) ; \
+ ( cd create-1.11.0-riscv-patch ; ./create.patch.sh ) ; \
echo -e "\n"
download_clean:
Index: sources/packages/n/libgcrypt/create-1.11.0-riscv-patch/create.patch.sh
===================================================================
--- sources/packages/n/libgcrypt/create-1.11.0-riscv-patch/create.patch.sh (nonexistent)
+++ sources/packages/n/libgcrypt/create-1.11.0-riscv-patch/create.patch.sh (revision 447)
@@ -0,0 +1,15 @@
+#!/bin/sh
+
+VERSION=1.11.0
+
+tar --files-from=file.list -xjvf ../libgcrypt-$VERSION.tar.bz2
+mv libgcrypt-$VERSION libgcrypt-$VERSION-orig
+
+cp -rf ./libgcrypt-$VERSION-new ./libgcrypt-$VERSION
+
+diff --unified -Nr libgcrypt-$VERSION-orig libgcrypt-$VERSION > libgcrypt-$VERSION-riscv.patch
+
+mv libgcrypt-$VERSION-riscv.patch ../patches
+
+rm -rf ./libgcrypt-$VERSION
+rm -rf ./libgcrypt-$VERSION-orig
Property changes on: sources/packages/n/libgcrypt/create-1.11.0-riscv-patch/create.patch.sh
___________________________________________________________________
Added: svn:executable
## -0,0 +1 ##
+*
\ No newline at end of property
Index: sources/packages/n/libgcrypt/create-1.11.0-riscv-patch/file.list
===================================================================
--- sources/packages/n/libgcrypt/create-1.11.0-riscv-patch/file.list (nonexistent)
+++ sources/packages/n/libgcrypt/create-1.11.0-riscv-patch/file.list (revision 447)
@@ -0,0 +1 @@
+libgcrypt-1.11.0/mpi/longlong.h
Index: sources/packages/n/libgcrypt/create-1.11.0-riscv-patch/libgcrypt-1.11.0-new/mpi/longlong.h
===================================================================
--- sources/packages/n/libgcrypt/create-1.11.0-riscv-patch/libgcrypt-1.11.0-new/mpi/longlong.h (nonexistent)
+++ sources/packages/n/libgcrypt/create-1.11.0-riscv-patch/libgcrypt-1.11.0-new/mpi/longlong.h (revision 447)
@@ -0,0 +1,1864 @@
+/* longlong.h -- definitions for mixed size 32/64 bit arithmetic.
+ Note: This is the Libgcrypt version
+
+
+Copyright (C) 1991, 1992, 1993, 1994, 1996, 1998,
+ 2000, 2001, 2002, 2003, 2004, 2011 Free Software Foundation, Inc.
+
+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 Library General Public License
+along with this file; see the file COPYING.LIB. If not, see <https://www.gnu.org/licenses/>.
+SPDX-License-Identifier: LGPL-2.1-or-later
+*/
+
+/* On 32-bit, use 64-bit 'unsigned long long' for UDWtype, if available. */
+#if !defined (UDWtype) && SIZEOF_UNSIGNED_LONG_LONG * 8 == W_TYPE_SIZE * 2
+# define UDWtype unsigned long long
+#endif
+
+/* On 64-bit, use 128-bit 'unsigned __int128' for UDWtype, if available. */
+#if !defined (UDWtype) && SIZEOF_UNSIGNED___INT128 * 8 == W_TYPE_SIZE * 2
+# define UDWtype unsigned __int128
+#endif
+
+/* You have to define the following before including this file:
+
+ UWtype -- An unsigned type, default type for operations (typically a "word").
+ UHWtype -- An unsigned type, at least half the size of UWtype.
+ UDWtype -- An unsigned type, at least twice as large a UWtype.
+ W_TYPE_SIZE -- size in bits of UWtype.
+
+ SItype, USItype -- Signed and unsigned 32 bit types.
+ DItype, UDItype -- Signed and unsigned 64 bit types.
+
+ On a 32 bit machine UWtype should typically be USItype.
+ On a 64 bit machine, UWtype should typically be UDItype.
+*/
+
+#define __BITS4 (W_TYPE_SIZE / 4)
+#define __ll_B ((UWtype) 1 << (W_TYPE_SIZE / 2))
+#define __ll_lowpart(t) ((UWtype) (t) & (__ll_B - 1))
+#define __ll_highpart(t) ((UWtype) (t) >> (W_TYPE_SIZE / 2))
+
+/* This is used to make sure no undesirable sharing between different libraries
+ that use this file takes place. */
+#ifndef __MPN
+# define __MPN(x) __##x
+#endif
+
+/* Define auxiliary asm macros.
+
+ 1) umul_ppmm(high_prod, low_prod, multipler, multiplicand) multiplies two
+ UWtype integers MULTIPLER and MULTIPLICAND, and generates a two UWtype
+ word product in HIGH_PROD and LOW_PROD.
+
+ 2) __umulsidi3(a,b) multiplies two UWtype integers A and B, and returns a
+ UDWtype product. This is just a variant of umul_ppmm.
+
+ 3) udiv_qrnnd(quotient, remainder, high_numerator, low_numerator,
+ denominator) divides a UDWtype, composed by the UWtype integers
+ HIGH_NUMERATOR and LOW_NUMERATOR, by DENOMINATOR and places the quotient
+ in QUOTIENT and the remainder in REMAINDER. HIGH_NUMERATOR must be less
+ than DENOMINATOR for correct operation. If, in addition, the most
+ significant bit of DENOMINATOR must be 1, then the pre-processor symbol
+ UDIV_NEEDS_NORMALIZATION is defined to 1.
+
+ 4) sdiv_qrnnd(quotient, remainder, high_numerator, low_numerator,
+ denominator). Like udiv_qrnnd but the numbers are signed. The quotient
+ is rounded towards 0.
+
+ 5) count_leading_zeros(count, x) counts the number of zero-bits from the
+ msb to the first non-zero bit in the UWtype X. This is the number of
+ steps X needs to be shifted left to set the msb. Undefined for X == 0,
+ unless the symbol COUNT_LEADING_ZEROS_0 is defined to some value.
+
+ 6) count_trailing_zeros(count, x) like count_leading_zeros, but counts
+ from the least significant end.
+
+ 7) add_ssaaaa(high_sum, low_sum, high_addend_1, low_addend_1,
+ high_addend_2, low_addend_2) adds two UWtype integers, composed by
+ HIGH_ADDEND_1 and LOW_ADDEND_1, and HIGH_ADDEND_2 and LOW_ADDEND_2
+ respectively. The result is placed in HIGH_SUM and LOW_SUM. Overflow
+ (i.e. carry out) is not stored anywhere, and is lost.
+
+ 8) sub_ddmmss(high_difference, low_difference, high_minuend, low_minuend,
+ high_subtrahend, low_subtrahend) subtracts two two-word UWtype integers,
+ composed by HIGH_MINUEND_1 and LOW_MINUEND_1, and HIGH_SUBTRAHEND_2 and
+ LOW_SUBTRAHEND_2 respectively. The result is placed in HIGH_DIFFERENCE
+ and LOW_DIFFERENCE. Overflow (i.e. carry out) is not stored anywhere,
+ and is lost.
+
+ If any of these macros are left undefined for a particular CPU,
+ C macros are used. */
+
+/* The CPUs come in alphabetical order below.
+
+ Please add support for more CPUs here, or improve the current support
+ for the CPUs below! */
+
+#ifdef __riscos__
+#pragma continue_after_hash_error
+#else /* !__riscos__ */
+#if defined (__GNUC__) && !defined (NO_ASM)
+
+/* We sometimes need to clobber "cc" with gcc2, but that would not be
+ understood by gcc1. Use cpp to avoid major code duplication. */
+#if __GNUC__ < 2
+# define __CLOBBER_CC
+# define __AND_CLOBBER_CC
+#else /* __GNUC__ >= 2 */
+# define __CLOBBER_CC : "cc"
+# define __AND_CLOBBER_CC , "cc"
+#endif /* __GNUC__ < 2 */
+
+/***************************************
+ **** Begin CPU Specific Versions ****
+ ***************************************/
+
+/***************************************
+ ************** A29K *****************
+ ***************************************/
+#if (defined (__a29k__) || defined (_AM29K)) && W_TYPE_SIZE == 32
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ __asm__ ("add %1,%4,%5\n" \
+ "addc %0,%2,%3" \
+ : "=r" ((USItype)(sh)), \
+ "=&r" ((USItype)(sl)) \
+ : "%r" ((USItype)(ah)), \
+ "rI" ((USItype)(bh)), \
+ "%r" ((USItype)(al)), \
+ "rI" ((USItype)(bl)))
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ __asm__ ("sub %1,%4,%5\n" \
+ "subc %0,%2,%3" \
+ : "=r" ((USItype)(sh)), \
+ "=&r" ((USItype)(sl)) \
+ : "r" ((USItype)(ah)), \
+ "rI" ((USItype)(bh)), \
+ "r" ((USItype)(al)), \
+ "rI" ((USItype)(bl)))
+# define umul_ppmm(xh, xl, m0, m1) \
+ do { \
+ USItype __m0 = (m0), __m1 = (m1); \
+ __asm__ ("multiplu %0,%1,%2" \
+ : "=r" ((USItype)(xl)) \
+ : "r" (__m0), \
+ "r" (__m1)); \
+ __asm__ ("multmu %0,%1,%2" \
+ : "=r" ((USItype)(xh)) \
+ : "r" (__m0), \
+ "r" (__m1)); \
+ } while (0)
+# define udiv_qrnnd(q, r, n1, n0, d) \
+ __asm__ ("dividu %0,%3,%4" \
+ : "=r" ((USItype)(q)), \
+ "=q" ((USItype)(r)) \
+ : "1" ((USItype)(n1)), \
+ "r" ((USItype)(n0)), \
+ "r" ((USItype)(d)))
+# define count_leading_zeros(count, x) \
+ __asm__ ("clz %0,%1" \
+ : "=r" ((USItype)(count)) \
+ : "r" ((USItype)(x)))
+# define COUNT_LEADING_ZEROS_0 32
+#endif /* __a29k__ */
+
+
+#if defined (__alpha) && W_TYPE_SIZE == 64
+# define umul_ppmm(ph, pl, m0, m1) \
+ do { \
+ UDItype __m0 = (m0), __m1 = (m1); \
+ __asm__ ("umulh %r1,%2,%0" \
+ : "=r" ((UDItype)(ph)) \
+ : "%rJ" (__m0), \
+ "rI" (__m1)); \
+ (pl) = __m0 * __m1; \
+ } while (0)
+# define UMUL_TIME 46
+# ifndef LONGLONG_STANDALONE
+# define udiv_qrnnd(q, r, n1, n0, d) \
+ do { UDItype __r; \
+ (q) = __udiv_qrnnd (&__r, (n1), (n0), (d)); \
+ (r) = __r; \
+ } while (0)
+extern UDItype __udiv_qrnnd ();
+# define UDIV_TIME 220
+# endif /* !LONGLONG_STANDALONE */
+#endif /* __alpha */
+
+/***************************************
+ ************** ARM ******************
+ ***************************************/
+#if defined (__arm__) && W_TYPE_SIZE == 32 && \
+ (!defined (__thumb__) || defined (__thumb2__))
+/* The __ARM_ARCH define is provided by gcc 4.8. Construct it otherwise. */
+# ifndef __ARM_ARCH
+# ifdef __ARM_ARCH_2__
+# define __ARM_ARCH 2
+# elif defined (__ARM_ARCH_3__) || defined (__ARM_ARCH_3M__)
+# define __ARM_ARCH 3
+# elif defined (__ARM_ARCH_4__) || defined (__ARM_ARCH_4T__)
+# define __ARM_ARCH 4
+# elif defined (__ARM_ARCH_5__) || defined (__ARM_ARCH_5E__) \
+ || defined(__ARM_ARCH_5T__) || defined(__ARM_ARCH_5TE__) \
+ || defined(__ARM_ARCH_5TEJ__)
+# define __ARM_ARCH 5
+# elif defined (__ARM_ARCH_6__) || defined(__ARM_ARCH_6J__) \
+ || defined (__ARM_ARCH_6Z__) || defined(__ARM_ARCH_6ZK__) \
+ || defined (__ARM_ARCH_6K__) || defined(__ARM_ARCH_6T2__)
+# define __ARM_ARCH 6
+# elif defined (__ARM_ARCH_7__) || defined(__ARM_ARCH_7A__) \
+ || defined(__ARM_ARCH_7R__) || defined(__ARM_ARCH_7M__) \
+ || defined(__ARM_ARCH_7EM__)
+# define __ARM_ARCH 7
+# else
+ /* could not detect? */
+# endif
+# endif /* !__ARM_ARCH */
+
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ __asm__ ("adds %1, %4, %5\n" \
+ "adc %0, %2, %3" \
+ : "=r" ((sh)), \
+ "=&r" ((sl)) \
+ : "%r" ((USItype)(ah)), \
+ "rI" ((USItype)(bh)), \
+ "%r" ((USItype)(al)), \
+ "rI" ((USItype)(bl)) __CLOBBER_CC)
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ __asm__ ("subs %1, %4, %5\n" \
+ "sbc %0, %2, %3" \
+ : "=r" ((sh)), \
+ "=&r" ((sl)) \
+ : "r" ((USItype)(ah)), \
+ "rI" ((USItype)(bh)), \
+ "r" ((USItype)(al)), \
+ "rI" ((USItype)(bl)) __CLOBBER_CC)
+# if (defined __ARM_ARCH && __ARM_ARCH <= 3)
+# define umul_ppmm(xh, xl, a, b) \
+ __asm__ ("@ Inlined umul_ppmm\n" \
+ "mov %|r0, %2, lsr #16 @ AAAA\n" \
+ "mov %|r2, %3, lsr #16 @ BBBB\n" \
+ "bic %|r1, %2, %|r0, lsl #16 @ aaaa\n" \
+ "bic %0, %3, %|r2, lsl #16 @ bbbb\n" \
+ "mul %1, %|r1, %|r2 @ aaaa * BBBB\n" \
+ "mul %|r2, %|r0, %|r2 @ AAAA * BBBB\n" \
+ "mul %|r1, %0, %|r1 @ aaaa * bbbb\n" \
+ "mul %0, %|r0, %0 @ AAAA * bbbb\n" \
+ "adds %|r0, %1, %0 @ central sum\n" \
+ "addcs %|r2, %|r2, #65536\n" \
+ "adds %1, %|r1, %|r0, lsl #16\n" \
+ "adc %0, %|r2, %|r0, lsr #16" \
+ : "=&r" ((xh)), \
+ "=r" ((xl)) \
+ : "r" ((USItype)(a)), \
+ "r" ((USItype)(b)) \
+ : "r0", "r1", "r2" __AND_CLOBBER_CC)
+# else /* __ARM_ARCH >= 4 */
+# define umul_ppmm(xh, xl, a, b) \
+ __asm__ ("@ Inlined umul_ppmm\n" \
+ "umull %1, %0, %2, %3" \
+ : "=&r" ((xh)), \
+ "=r" ((xl)) \
+ : "r" ((USItype)(a)), \
+ "r" ((USItype)(b)))
+# endif /* __ARM_ARCH >= 4 */
+# define UMUL_TIME 20
+# define UDIV_TIME 100
+# if (defined __ARM_ARCH && __ARM_ARCH >= 5)
+# define count_leading_zeros(count, x) \
+ __asm__ ("clz %0, %1" \
+ : "=r" ((count)) \
+ : "r" ((USItype)(x)))
+# endif /* __ARM_ARCH >= 5 */
+#endif /* __arm__ */
+
+/***************************************
+ ********** ARM64 / Aarch64 **********
+ ***************************************/
+#if defined(__aarch64__) && W_TYPE_SIZE == 64
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ __asm__ ("adds %1, %4, %5\n" \
+ "adc %0, %2, %3\n" \
+ : "=r" ((sh)), \
+ "=&r" ((sl)) \
+ : "r" ((UDItype)(ah)), \
+ "r" ((UDItype)(bh)), \
+ "r" ((UDItype)(al)), \
+ "r" ((UDItype)(bl)) __CLOBBER_CC)
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ __asm__ ("subs %1, %4, %5\n" \
+ "sbc %0, %2, %3\n" \
+ : "=r" ((sh)), \
+ "=&r" ((sl)) \
+ : "r" ((UDItype)(ah)), \
+ "r" ((UDItype)(bh)), \
+ "r" ((UDItype)(al)), \
+ "r" ((UDItype)(bl)) __CLOBBER_CC)
+# define umul_ppmm(ph, pl, m0, m1) \
+ do { \
+ UDItype __m0 = (m0), __m1 = (m1), __ph; \
+ (pl) = __m0 * __m1; \
+ __asm__ ("umulh %0,%1,%2" \
+ : "=r" (__ph) \
+ : "r" (__m0), \
+ "r" (__m1)); \
+ (ph) = __ph; \
+ } while (0)
+# define count_leading_zeros(count, x) \
+ do { \
+ UDItype __co; \
+ __asm__ ("clz %0, %1\n" \
+ : "=r" (__co) \
+ : "r" ((UDItype)(x))); \
+ (count) = __co; \
+ } while (0)
+#endif /* __aarch64__ */
+
+/***************************************
+ ************** CLIPPER **************
+ ***************************************/
+#if defined (__clipper__) && W_TYPE_SIZE == 32
+# define umul_ppmm(w1, w0, u, v) \
+ ({union {UDItype __ll; \
+ struct {USItype __l, __h;} __i; \
+ } __xx; \
+ __asm__ ("mulwux %2,%0" \
+ : "=r" (__xx.__ll) \
+ : "%0" ((USItype)(u)), \
+ "r" ((USItype)(v))); \
+ (w1) = __xx.__i.__h; (w0) = __xx.__i.__l;})
+# define smul_ppmm(w1, w0, u, v) \
+ ({union {DItype __ll; \
+ struct {SItype __l, __h;} __i; \
+ } __xx; \
+ __asm__ ("mulwx %2,%0" \
+ : "=r" (__xx.__ll) \
+ : "%0" ((SItype)(u)), \
+ "r" ((SItype)(v))); \
+ (w1) = __xx.__i.__h; (w0) = __xx.__i.__l;})
+# define __umulsidi3(u, v) \
+ ({UDItype __w; \
+ __asm__ ("mulwux %2,%0" \
+ : "=r" (__w) \
+ : "%0" ((USItype)(u)), \
+ "r" ((USItype)(v))); \
+ __w; })
+#endif /* __clipper__ */
+
+
+/***************************************
+ ************** GMICRO ***************
+ ***************************************/
+#if defined (__gmicro__) && W_TYPE_SIZE == 32
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ __asm__ ("add.w %5,%1\n" \
+ "addx %3,%0" \
+ : "=g" ((USItype)(sh)), \
+ "=&g" ((USItype)(sl)) \
+ : "%0" ((USItype)(ah)), \
+ "g" ((USItype)(bh)), \
+ "%1" ((USItype)(al)), \
+ "g" ((USItype)(bl)))
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ __asm__ ("sub.w %5,%1\n" \
+ "subx %3,%0" \
+ : "=g" ((USItype)(sh)), \
+ "=&g" ((USItype)(sl)) \
+ : "0" ((USItype)(ah)), \
+ "g" ((USItype)(bh)), \
+ "1" ((USItype)(al)), \
+ "g" ((USItype)(bl)))
+# define umul_ppmm(ph, pl, m0, m1) \
+ __asm__ ("mulx %3,%0,%1" \
+ : "=g" ((USItype)(ph)), \
+ "=r" ((USItype)(pl)) \
+ : "%0" ((USItype)(m0)), \
+ "g" ((USItype)(m1)))
+# define udiv_qrnnd(q, r, nh, nl, d) \
+ __asm__ ("divx %4,%0,%1" \
+ : "=g" ((USItype)(q)), \
+ "=r" ((USItype)(r)) \
+ : "1" ((USItype)(nh)), \
+ "0" ((USItype)(nl)), \
+ "g" ((USItype)(d)))
+# define count_leading_zeros(count, x) \
+ __asm__ ("bsch/1 %1,%0" \
+ : "=g" (count) \
+ : "g" ((USItype)(x)), \
+ "0" ((USItype)0))
+#endif
+
+
+/***************************************
+ ************** HPPA *****************
+ ***************************************/
+#if defined (__hppa) && W_TYPE_SIZE == 32
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ __asm__ ("add %4,%5,%1\n\t" \
+ "addc %2,%3,%0" \
+ : "=r" ((USItype)(sh)), \
+ "=&r" ((USItype)(sl)) \
+ : "%rM" ((USItype)(ah)), \
+ "rM" ((USItype)(bh)), \
+ "%rM" ((USItype)(al)), \
+ "rM" ((USItype)(bl)) __CLOBBER_CC)
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ __asm__ ("sub %4,%5,%1\n\t" \
+ "subb %2,%3,%0" \
+ : "=r" ((USItype)(sh)), \
+ "=&r" ((USItype)(sl)) \
+ : "rM" ((USItype)(ah)), \
+ "rM" ((USItype)(bh)), \
+ "rM" ((USItype)(al)), \
+ "rM" ((USItype)(bl)) __CLOBBER_CC)
+# if defined (_PA_RISC1_1)
+# define umul_ppmm(wh, wl, u, v) \
+ do { \
+ union {UDItype __ll; \
+ struct {USItype __h, __l;} __i; \
+ } __xx; \
+ __asm__ (" xmpyu %1,%2,%0" \
+ : "=*f" (__xx.__ll) \
+ : "*f" ((USItype)(u)), \
+ "*f" ((USItype)(v))); \
+ (wh) = __xx.__i.__h; \
+ (wl) = __xx.__i.__l; \
+ } while (0)
+# define UMUL_TIME 8
+# define UDIV_TIME 60
+# else
+# define UMUL_TIME 40
+# define UDIV_TIME 80
+# endif
+# if !defined(LONGLONG_STANDALONE) && !defined(ASM_DISABLED)
+# define udiv_qrnnd(q, r, n1, n0, d) \
+ do { USItype __r; \
+ (q) = __udiv_qrnnd (&__r, (n1), (n0), (d)); \
+ (r) = __r; \
+ } while (0)
+extern USItype __udiv_qrnnd ();
+# endif /* !LONGLONG_STANDALONE && !ASM_DISABLED */
+# define count_leading_zeros(count, x) \
+ do { \
+ USItype __tmp; \
+ __asm__ ( \
+ " ldi 1,%0 \n" \
+ " extru,= %1,15,16,%%r0 ; Bits 31..16 zero? \n" \
+ " extru,tr %1,15,16,%1 ; No. Shift down, skip add.\n" \
+ " ldo 16(%0),%0 ; Yes. Perform add. \n" \
+ " extru,= %1,23,8,%%r0 ; Bits 15..8 zero? \n" \
+ " extru,tr %1,23,8,%1 ; No. Shift down, skip add.\n" \
+ " ldo 8(%0),%0 ; Yes. Perform add. \n" \
+ " extru,= %1,27,4,%%r0 ; Bits 7..4 zero? \n" \
+ " extru,tr %1,27,4,%1 ; No. Shift down, skip add.\n" \
+ " ldo 4(%0),%0 ; Yes. Perform add. \n" \
+ " extru,= %1,29,2,%%r0 ; Bits 3..2 zero? \n" \
+ " extru,tr %1,29,2,%1 ; No. Shift down, skip add.\n" \
+ " ldo 2(%0),%0 ; Yes. Perform add. \n" \
+ " extru %1,30,1,%1 ; Extract bit 1. \n" \
+ " sub %0,%1,%0 ; Subtract it. " \
+ : "=r" (count), "=r" (__tmp) : "1" (x)); \
+ } while (0)
+#endif /* hppa */
+
+
+/***************************************
+ ************** I370 *****************
+ ***************************************/
+#if (defined (__i370__) || defined (__mvs__)) && W_TYPE_SIZE == 32
+# define umul_ppmm(xh, xl, m0, m1) \
+ do { \
+ union {UDItype __ll; \
+ struct {USItype __h, __l;} __i; \
+ } __xx; \
+ USItype __m0 = (m0), __m1 = (m1); \
+ __asm__ ("mr %0,%3" \
+ : "=r" (__xx.__i.__h), \
+ "=r" (__xx.__i.__l) \
+ : "%1" (__m0), \
+ "r" (__m1)); \
+ (xh) = __xx.__i.__h; (xl) = __xx.__i.__l; \
+ (xh) += ((((SItype) __m0 >> 31) & __m1) \
+ + (((SItype) __m1 >> 31) & __m0)); \
+ } while (0)
+# define smul_ppmm(xh, xl, m0, m1) \
+ do { \
+ union {DItype __ll; \
+ struct {USItype __h, __l;} __i; \
+ } __xx; \
+ __asm__ ("mr %0,%3" \
+ : "=r" (__xx.__i.__h), \
+ "=r" (__xx.__i.__l) \
+ : "%1" (m0), \
+ "r" (m1)); \
+ (xh) = __xx.__i.__h; (xl) = __xx.__i.__l; \
+ } while (0)
+# define sdiv_qrnnd(q, r, n1, n0, d) \
+ do { \
+ union {DItype __ll; \
+ struct {USItype __h, __l;} __i; \
+ } __xx; \
+ __xx.__i.__h = (n1); __xx.__i.__l = (n0); \
+ __asm__ ("dr %0,%2" \
+ : "=r" (__xx.__ll) \
+ : "0" (__xx.__ll), "r" (d)); \
+ (q) = __xx.__i.__l; (r) = __xx.__i.__h; \
+ } while (0)
+#endif
+
+
+/***************************************
+ ************** I386 *****************
+ ***************************************/
+#if (defined (__i386__) || defined (__i486__)) && W_TYPE_SIZE == 32
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ __asm__ ("addl %5,%1\n" \
+ "adcl %3,%0" \
+ : "=r" ((sh)), \
+ "=&r" ((sl)) \
+ : "%0" ((USItype)(ah)), \
+ "g" ((USItype)(bh)), \
+ "%1" ((USItype)(al)), \
+ "g" ((USItype)(bl)) \
+ __CLOBBER_CC)
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ __asm__ ("subl %5,%1\n" \
+ "sbbl %3,%0" \
+ : "=r" ((sh)), \
+ "=&r" ((sl)) \
+ : "0" ((USItype)(ah)), \
+ "g" ((USItype)(bh)), \
+ "1" ((USItype)(al)), \
+ "g" ((USItype)(bl)) \
+ __CLOBBER_CC)
+# define umul_ppmm(w1, w0, u, v) \
+ __asm__ ("mull %3" \
+ : "=a" ((w0)), \
+ "=d" ((w1)) \
+ : "%0" ((USItype)(u)), \
+ "rm" ((USItype)(v)) \
+ __CLOBBER_CC)
+# define udiv_qrnnd(q, r, n1, n0, d) \
+ __asm__ ("divl %4" \
+ : "=a" ((q)), \
+ "=d" ((r)) \
+ : "0" ((USItype)(n0)), \
+ "1" ((USItype)(n1)), \
+ "rm" ((USItype)(d)) \
+ __CLOBBER_CC)
+# define count_leading_zeros(count, x) \
+ do { \
+ USItype __cbtmp; \
+ __asm__ ("bsrl %1,%0" \
+ : "=r" (__cbtmp) : "rm" ((USItype)(x)) \
+ __CLOBBER_CC); \
+ (count) = __cbtmp ^ 31; \
+ } while (0)
+# define count_trailing_zeros(count, x) \
+ __asm__ ("rep;bsfl %1,%0" : "=r" (count) : "rm" ((USItype)(x)) __CLOBBER_CC)
+# ifndef UMUL_TIME
+# define UMUL_TIME 40
+# endif
+# ifndef UDIV_TIME
+# define UDIV_TIME 40
+# endif
+#endif /* 80x86 */
+
+/***************************************
+ *********** AMD64 / x86-64 ************
+ ***************************************/
+#if defined(__x86_64) && W_TYPE_SIZE == 64
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ __asm__ ("addq %5,%1\n" \
+ "adcq %3,%0" \
+ : "=r" ((sh)), \
+ "=&r" ((sl)) \
+ : "0" ((UDItype)(ah)), \
+ "g" ((UDItype)(bh)), \
+ "1" ((UDItype)(al)), \
+ "g" ((UDItype)(bl)) \
+ __CLOBBER_CC)
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ __asm__ ("subq %5,%1\n" \
+ "sbbq %3,%0" \
+ : "=r" ((sh)), \
+ "=&r" ((sl)) \
+ : "0" ((UDItype)(ah)), \
+ "g" ((UDItype)(bh)), \
+ "1" ((UDItype)(al)), \
+ "g" ((UDItype)(bl)) \
+ __CLOBBER_CC)
+# define umul_ppmm(w1, w0, u, v) \
+ __asm__ ("mulq %3" \
+ : "=a" ((w0)), \
+ "=d" ((w1)) \
+ : "0" ((UDItype)(u)), \
+ "rm" ((UDItype)(v)) \
+ __CLOBBER_CC)
+# define udiv_qrnnd(q, r, n1, n0, d) \
+ __asm__ ("divq %4" \
+ : "=a" ((q)), \
+ "=d" ((r)) \
+ : "0" ((UDItype)(n0)), \
+ "1" ((UDItype)(n1)), \
+ "rm" ((UDItype)(d)) \
+ __CLOBBER_CC)
+# define count_leading_zeros(count, x) \
+ do { \
+ UDItype __cbtmp; \
+ __asm__ ("bsrq %1,%0" \
+ : "=r" (__cbtmp) : "rm" ((UDItype)(x)) \
+ __CLOBBER_CC); \
+ (count) = __cbtmp ^ 63; \
+ } while (0)
+# define count_trailing_zeros(count, x) \
+ do { \
+ UDItype __cbtmp; \
+ __asm__ ("rep;bsfq %1,%0" \
+ : "=r" (__cbtmp) : "rm" ((UDItype)(x)) \
+ __CLOBBER_CC); \
+ (count) = __cbtmp; \
+ } while (0)
+# ifndef UMUL_TIME
+# define UMUL_TIME 40
+# endif
+# ifndef UDIV_TIME
+# define UDIV_TIME 40
+# endif
+#endif /* __x86_64 */
+
+
+/***************************************
+ ************** I860 *****************
+ ***************************************/
+#if defined (__i860__) && W_TYPE_SIZE == 32
+# define rshift_rhlc(r,h,l,c) \
+ __asm__ ("shr %3,r0,r0\n" \
+ "shrd %1,%2,%0" \
+ "=r" (r) : "r" (h), "r" (l), "rn" (c))
+#endif /* i860 */
+
+/***************************************
+ ************** I960 *****************
+ ***************************************/
+#if defined (__i960__) && W_TYPE_SIZE == 32
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ __asm__ ("cmpo 1,0\n" \
+ "addc %5,%4,%1\n" \
+ "addc %3,%2,%0" \
+ : "=r" ((USItype)(sh)), \
+ "=&r" ((USItype)(sl)) \
+ : "%dI" ((USItype)(ah)), \
+ "dI" ((USItype)(bh)), \
+ "%dI" ((USItype)(al)), \
+ "dI" ((USItype)(bl)))
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ __asm__ ("cmpo 0,0\n" \
+ "subc %5,%4,%1\n" \
+ "subc %3,%2,%0" \
+ : "=r" ((USItype)(sh)), \
+ "=&r" ((USItype)(sl)) \
+ : "dI" ((USItype)(ah)), \
+ "dI" ((USItype)(bh)), \
+ "dI" ((USItype)(al)), \
+ "dI" ((USItype)(bl)))
+# define umul_ppmm(w1, w0, u, v) \
+ ({union {UDItype __ll; \
+ struct {USItype __l, __h;} __i; \
+ } __xx; \
+ __asm__ ("emul %2,%1,%0" \
+ : "=d" (__xx.__ll) \
+ : "%dI" ((USItype)(u)), \
+ "dI" ((USItype)(v))); \
+ (w1) = __xx.__i.__h; (w0) = __xx.__i.__l;})
+# define __umulsidi3(u, v) \
+ ({UDItype __w; \
+ __asm__ ("emul %2,%1,%0" \
+ : "=d" (__w) \
+ : "%dI" ((USItype)(u)), \
+ "dI" ((USItype)(v))); \
+ __w; })
+# define udiv_qrnnd(q, r, nh, nl, d) \
+ do { \
+ union {UDItype __ll; \
+ struct {USItype __l, __h;} __i; \
+ } __nn; \
+ __nn.__i.__h = (nh); __nn.__i.__l = (nl); \
+ __asm__ ("ediv %d,%n,%0" \
+ : "=d" (__rq.__ll) \
+ : "dI" (__nn.__ll), \
+ "dI" ((USItype)(d))); \
+ (r) = __rq.__i.__l; (q) = __rq.__i.__h; \
+ } while (0)
+# define count_leading_zeros(count, x) \
+ do { \
+ USItype __cbtmp; \
+ __asm__ ("scanbit %1,%0" \
+ : "=r" (__cbtmp) \
+ : "r" ((USItype)(x))); \
+ (count) = __cbtmp ^ 31; \
+ } while (0)
+# define COUNT_LEADING_ZEROS_0 (-32) /* sic */
+# if defined (__i960mx) /* what is the proper symbol to test??? */
+# define rshift_rhlc(r,h,l,c) \
+ do { \
+ union {UDItype __ll; \
+ struct {USItype __l, __h;} __i; \
+ } __nn; \
+ __nn.__i.__h = (h); __nn.__i.__l = (l); \
+ __asm__ ("shre %2,%1,%0" \
+ : "=d" (r) : "dI" (__nn.__ll), "dI" (c)); \
+ }
+# endif /* i960mx */
+#endif /* i960 */
+
+
+/***************************************
+ ************** 68000 ****************
+ ***************************************/
+#if (defined (__mc68000__) || defined (__mc68020__) \
+ || defined (__NeXT__) || defined(mc68020)) && W_TYPE_SIZE == 32
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ __asm__ ("add%.l %5,%1\n" \
+ "addx%.l %3,%0" \
+ : "=d" ((USItype)(sh)), \
+ "=&d" ((USItype)(sl)) \
+ : "%0" ((USItype)(ah)), \
+ "d" ((USItype)(bh)), \
+ "%1" ((USItype)(al)), \
+ "g" ((USItype)(bl)))
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ __asm__ ("sub%.l %5,%1\n" \
+ "subx%.l %3,%0" \
+ : "=d" ((USItype)(sh)), \
+ "=&d" ((USItype)(sl)) \
+ : "0" ((USItype)(ah)), \
+ "d" ((USItype)(bh)), \
+ "1" ((USItype)(al)), \
+ "g" ((USItype)(bl)))
+# if (defined (__mc68020__) || defined (__NeXT__) || defined(mc68020))
+# define umul_ppmm(w1, w0, u, v) \
+ __asm__ ("mulu%.l %3,%1:%0" \
+ : "=d" ((USItype)(w0)), \
+ "=d" ((USItype)(w1)) \
+ : "%0" ((USItype)(u)), \
+ "dmi" ((USItype)(v)))
+# define UMUL_TIME 45
+# define udiv_qrnnd(q, r, n1, n0, d) \
+ __asm__ ("divu%.l %4,%1:%0" \
+ : "=d" ((USItype)(q)), \
+ "=d" ((USItype)(r)) \
+ : "0" ((USItype)(n0)), \
+ "1" ((USItype)(n1)), \
+ "dmi" ((USItype)(d)))
+# define UDIV_TIME 90
+# define sdiv_qrnnd(q, r, n1, n0, d) \
+ __asm__ ("divs%.l %4,%1:%0" \
+ : "=d" ((USItype)(q)), \
+ "=d" ((USItype)(r)) \
+ : "0" ((USItype)(n0)), \
+ "1" ((USItype)(n1)), \
+ "dmi" ((USItype)(d)))
+# define count_leading_zeros(count, x) \
+ __asm__ ("bfffo %1{%b2:%b2},%0" \
+ : "=d" ((USItype)(count)) \
+ : "od" ((USItype)(x)), "n" (0))
+# define COUNT_LEADING_ZEROS_0 32
+# else /* not mc68020 */
+# define umul_ppmm(xh, xl, a, b) \
+ do { USItype __umul_tmp1, __umul_tmp2; \
+ __asm__ ("| Inlined umul_ppmm \n" \
+ " move%.l %5,%3 \n" \
+ " move%.l %2,%0 \n" \
+ " move%.w %3,%1 \n" \
+ " swap %3 \n" \
+ " swap %0 \n" \
+ " mulu %2,%1 \n" \
+ " mulu %3,%0 \n" \
+ " mulu %2,%3 \n" \
+ " swap %2 \n" \
+ " mulu %5,%2 \n" \
+ " add%.l %3,%2 \n" \
+ " jcc 1f \n" \
+ " add%.l %#0x10000,%0 \n" \
+ "1: move%.l %2,%3 \n" \
+ " clr%.w %2 \n" \
+ " swap %2 \n" \
+ " swap %3 \n" \
+ " clr%.w %3 \n" \
+ " add%.l %3,%1 \n" \
+ " addx%.l %2,%0 \n" \
+ " | End inlined umul_ppmm" \
+ : "=&d" ((USItype)(xh)), "=&d" ((USItype)(xl)), \
+ "=d" (__umul_tmp1), "=&d" (__umul_tmp2) \
+ : "%2" ((USItype)(a)), "d" ((USItype)(b))); \
+ } while (0)
+# define UMUL_TIME 100
+# define UDIV_TIME 400
+# endif /* not mc68020 */
+#endif /* mc68000 */
+
+
+/***************************************
+ ************** 88000 ****************
+ ***************************************/
+#if defined (__m88000__) && W_TYPE_SIZE == 32
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ __asm__ ("addu.co %1,%r4,%r5\n" \
+ "addu.ci %0,%r2,%r3" \
+ : "=r" ((USItype)(sh)), \
+ "=&r" ((USItype)(sl)) \
+ : "%rJ" ((USItype)(ah)), \
+ "rJ" ((USItype)(bh)), \
+ "%rJ" ((USItype)(al)), \
+ "rJ" ((USItype)(bl)))
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ __asm__ ("subu.co %1,%r4,%r5\n" \
+ "subu.ci %0,%r2,%r3" \
+ : "=r" ((USItype)(sh)), \
+ "=&r" ((USItype)(sl)) \
+ : "rJ" ((USItype)(ah)), \
+ "rJ" ((USItype)(bh)), \
+ "rJ" ((USItype)(al)), \
+ "rJ" ((USItype)(bl)))
+# define count_leading_zeros(count, x) \
+ do { \
+ USItype __cbtmp; \
+ __asm__ ("ff1 %0,%1" \
+ : "=r" (__cbtmp) \
+ : "r" ((USItype)(x))); \
+ (count) = __cbtmp ^ 31; \
+ } while (0)
+# define COUNT_LEADING_ZEROS_0 63 /* sic */
+# if defined (__m88110__)
+# define umul_ppmm(wh, wl, u, v) \
+ do { \
+ union {UDItype __ll; \
+ struct {USItype __h, __l;} __i; \
+ } __x; \
+ __asm__ ("mulu.d %0,%1,%2" : "=r" (__x.__ll) : "r" (u), "r" (v)); \
+ (wh) = __x.__i.__h; \
+ (wl) = __x.__i.__l; \
+ } while (0)
+# define udiv_qrnnd(q, r, n1, n0, d) \
+ ({union {UDItype __ll; \
+ struct {USItype __h, __l;} __i; \
+ } __x, __q; \
+ __x.__i.__h = (n1); __x.__i.__l = (n0); \
+ __asm__ ("divu.d %0,%1,%2" \
+ : "=r" (__q.__ll) : "r" (__x.__ll), "r" (d)); \
+ (r) = (n0) - __q.__l * (d); (q) = __q.__l; })
+# define UMUL_TIME 5
+# define UDIV_TIME 25
+# else
+# define UMUL_TIME 17
+# define UDIV_TIME 150
+# endif /* __m88110__ */
+#endif /* __m88000__ */
+
+/***************************************
+ ************** MIPS *****************
+ ***************************************/
+#if defined (__mips__) && W_TYPE_SIZE == 32
+# if defined (__clang__) || (__GNUC__ >= 5) || (__GNUC__ == 4 && \
+ __GNUC_MINOR__ >= 4)
+# define umul_ppmm(w1, w0, u, v) \
+ do { \
+ UDItype __r; \
+ __r = (UDItype)(u) * (v); \
+ (w1) = __r >> 32; \
+ (w0) = (USItype) __r; \
+ } while (0)
+# elif __GNUC__ > 2 || __GNUC_MINOR__ >= 7
+# define umul_ppmm(w1, w0, u, v) \
+ __asm__ ("multu %2,%3" \
+ : "=l" ((USItype)(w0)), \
+ "=h" ((USItype)(w1)) \
+ : "d" ((USItype)(u)), \
+ "d" ((USItype)(v)))
+# else
+# define umul_ppmm(w1, w0, u, v) \
+ __asm__ ("multu %2,%3 \n" \
+ "mflo %0 \n" \
+ "mfhi %1" \
+ : "=d" ((USItype)(w0)), \
+ "=d" ((USItype)(w1)) \
+ : "d" ((USItype)(u)), \
+ "d" ((USItype)(v)))
+# endif
+# define UMUL_TIME 10
+# define UDIV_TIME 100
+#endif /* __mips__ */
+
+/***************************************
+ ************** MIPS/64 **************
+ ***************************************/
+#if (defined (__mips) && __mips >= 3) && W_TYPE_SIZE == 64
+# if defined (__clang__) || (__GNUC__ >= 5) || (__GNUC__ == 4 && \
+ __GNUC_MINOR__ >= 4)
+typedef unsigned int UTItype __attribute__ ((mode (TI)));
+# define umul_ppmm(w1, w0, u, v) \
+ do { \
+ UTItype __r; \
+ __r = (UTItype)(u) * (v); \
+ (w1) = __r >> 64; \
+ (w0) = (UDItype) __r; \
+ } while (0)
+# elif __GNUC__ > 2 || __GNUC_MINOR__ >= 7
+# define umul_ppmm(w1, w0, u, v) \
+ __asm__ ("dmultu %2,%3" \
+ : "=l" ((UDItype)(w0)), \
+ "=h" ((UDItype)(w1)) \
+ : "d" ((UDItype)(u)), \
+ "d" ((UDItype)(v)))
+# else
+# define umul_ppmm(w1, w0, u, v) \
+ __asm__ ("dmultu %2,%3 \n" \
+ "mflo %0 \n" \
+ "mfhi %1" \
+ : "=d" ((UDItype)(w0)), \
+ "=d" ((UDItype)(w1)) \
+ : "d" ((UDItype)(u)), \
+ "d" ((UDItype)(v)))
+# endif
+# define UMUL_TIME 20
+# define UDIV_TIME 140
+#endif /* __mips__ */
+
+
+/***************************************
+ ************** 32000 ****************
+ ***************************************/
+#if defined (__ns32000__) && W_TYPE_SIZE == 32
+# define umul_ppmm(w1, w0, u, v) \
+ ({union {UDItype __ll; \
+ struct {USItype __l, __h;} __i; \
+ } __xx; \
+ __asm__ ("meid %2,%0" \
+ : "=g" (__xx.__ll) \
+ : "%0" ((USItype)(u)), \
+ "g" ((USItype)(v))); \
+ (w1) = __xx.__i.__h; (w0) = __xx.__i.__l;})
+# define __umulsidi3(u, v) \
+ ({UDItype __w; \
+ __asm__ ("meid %2,%0" \
+ : "=g" (__w) \
+ : "%0" ((USItype)(u)), \
+ "g" ((USItype)(v))); \
+ __w; })
+# define udiv_qrnnd(q, r, n1, n0, d) \
+ ({union {UDItype __ll; \
+ struct {USItype __l, __h;} __i; \
+ } __xx; \
+ __xx.__i.__h = (n1); __xx.__i.__l = (n0); \
+ __asm__ ("deid %2,%0" \
+ : "=g" (__xx.__ll) \
+ : "0" (__xx.__ll), \
+ "g" ((USItype)(d))); \
+ (r) = __xx.__i.__l; (q) = __xx.__i.__h; })
+# define count_trailing_zeros(count,x) \
+ do {
+ __asm__ ("ffsd %2,%0" \
+ : "=r" ((USItype) (count)) \
+ : "0" ((USItype) 0), \
+ "r" ((USItype) (x))); \
+ } while (0)
+#endif /* __ns32000__ */
+
+
+/***************************************
+ ************** PPC ******************
+ ***************************************/
+/* Powerpc 32 bit support taken from GCC longlong.h. */
+#if (defined (_ARCH_PPC) || defined (__powerpc__)) && W_TYPE_SIZE == 32
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ do { \
+ if (__builtin_constant_p (bh) && (bh) == 0) \
+ __asm__ ("add%I4c %1,%3,%4\n\taddze %0,%2" \
+ : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl) \
+ __CLOBBER_CC); \
+ else if (__builtin_constant_p (bh) && (bh) == ~(USItype) 0) \
+ __asm__ ("add%I4c %1,%3,%4\n\taddme %0,%2" \
+ : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl) \
+ __CLOBBER_CC); \
+ else \
+ __asm__ ("add%I5c %1,%4,%5\n\tadde %0,%2,%3" \
+ : "=r" (sh), "=&r" (sl) \
+ : "%r" (ah), "r" (bh), "%r" (al), "rI" (bl) \
+ __CLOBBER_CC); \
+ } while (0)
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ do { \
+ if (__builtin_constant_p (ah) && (ah) == 0) \
+ __asm__ ("subf%I3c %1,%4,%3\n\tsubfze %0,%2" \
+ : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl) \
+ __CLOBBER_CC); \
+ else if (__builtin_constant_p (ah) && (ah) == ~(USItype) 0) \
+ __asm__ ("subf%I3c %1,%4,%3\n\tsubfme %0,%2" \
+ : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl) \
+ __CLOBBER_CC); \
+ else if (__builtin_constant_p (bh) && (bh) == 0) \
+ __asm__ ("subf%I3c %1,%4,%3\n\taddme %0,%2" \
+ : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl) \
+ __CLOBBER_CC); \
+ else if (__builtin_constant_p (bh) && (bh) == ~(USItype) 0) \
+ __asm__ ("subf%I3c %1,%4,%3\n\taddze %0,%2" \
+ : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl) \
+ __CLOBBER_CC); \
+ else \
+ __asm__ ("subf%I4c %1,%5,%4\n\tsubfe %0,%3,%2" \
+ : "=r" (sh), "=&r" (sl) \
+ : "r" (ah), "r" (bh), "rI" (al), "r" (bl) \
+ __CLOBBER_CC); \
+ } while (0)
+# define count_leading_zeros(count, x) \
+ __asm__ ("cntlzw %0,%1" : "=r" (count) : "r" (x))
+# define COUNT_LEADING_ZEROS_0 32
+# define umul_ppmm(ph, pl, m0, m1) \
+ do { \
+ USItype __m0 = (m0), __m1 = (m1); \
+ __asm__ ("mulhwu %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \
+ (pl) = __m0 * __m1; \
+ } while (0)
+# define UMUL_TIME 15
+# define smul_ppmm(ph, pl, m0, m1) \
+ do { \
+ SItype __m0 = (m0), __m1 = (m1); \
+ __asm__ ("mulhw %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \
+ (pl) = __m0 * __m1; \
+ } while (0)
+# define SMUL_TIME 14
+# define UDIV_TIME 120
+#endif /* 32-bit POWER architecture variants. */
+
+/* Powerpc 64 bit support taken from GCC longlong.h. */
+/* We should test _IBMR2 here when we add assembly support for the system
+ vendor compilers. */
+#if (defined (_ARCH_PPC64) || defined (__powerpc64__)) && W_TYPE_SIZE == 64
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ do { \
+ if (__builtin_constant_p (bh) && (bh) == 0) \
+ __asm__ ("add%I4c %1,%3,%4\n\taddze %0,%2" \
+ : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl) \
+ __CLOBBER_CC); \
+ else if (__builtin_constant_p (bh) && (bh) == ~(UDItype) 0) \
+ __asm__ ("add%I4c %1,%3,%4\n\taddme %0,%2" \
+ : "=r" (sh), "=&r" (sl) : "r" (ah), "%r" (al), "rI" (bl) \
+ __CLOBBER_CC); \
+ else \
+ __asm__ ("add%I5c %1,%4,%5\n\tadde %0,%2,%3" \
+ : "=r" (sh), "=&r" (sl) \
+ : "%r" (ah), "r" (bh), "%r" (al), "rI" (bl) \
+ __CLOBBER_CC); \
+ } while (0)
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ do { \
+ if (__builtin_constant_p (ah) && (ah) == 0) \
+ __asm__ ("subf%I3c %1,%4,%3\n\tsubfze %0,%2" \
+ : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl) \
+ __CLOBBER_CC); \
+ else if (__builtin_constant_p (ah) && (ah) == ~(UDItype) 0) \
+ __asm__ ("subf%I3c %1,%4,%3\n\tsubfme %0,%2" \
+ : "=r" (sh), "=&r" (sl) : "r" (bh), "rI" (al), "r" (bl) \
+ __CLOBBER_CC); \
+ else if (__builtin_constant_p (bh) && (bh) == 0) \
+ __asm__ ("subf%I3c %1,%4,%3\n\taddme %0,%2" \
+ : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl) \
+ __CLOBBER_CC); \
+ else if (__builtin_constant_p (bh) && (bh) == ~(UDItype) 0) \
+ __asm__ ("subf%I3c %1,%4,%3\n\taddze %0,%2" \
+ : "=r" (sh), "=&r" (sl) : "r" (ah), "rI" (al), "r" (bl) \
+ __CLOBBER_CC); \
+ else \
+ __asm__ ("subf%I4c %1,%5,%4\n\tsubfe %0,%3,%2" \
+ : "=r" (sh), "=&r" (sl) \
+ : "r" (ah), "r" (bh), "rI" (al), "r" (bl) \
+ __CLOBBER_CC); \
+ } while (0)
+# define count_leading_zeros(count, x) \
+ __asm__ ("cntlzd %0,%1" : "=r" (count) : "r" (x))
+# define COUNT_LEADING_ZEROS_0 64
+# define umul_ppmm(ph, pl, m0, m1) \
+ do { \
+ UDItype __m0 = (m0), __m1 = (m1); \
+ __asm__ ("mulhdu %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \
+ (pl) = __m0 * __m1; \
+ } while (0)
+# define UMUL_TIME 15
+# define smul_ppmm(ph, pl, m0, m1) \
+ do { \
+ DItype __m0 = (m0), __m1 = (m1); \
+ __asm__ ("mulhd %0,%1,%2" : "=r" (ph) : "%r" (m0), "r" (m1)); \
+ (pl) = __m0 * __m1; \
+ } while (0)
+# define SMUL_TIME 14 /* ??? */
+# define UDIV_TIME 120 /* ??? */
+#endif /* 64-bit PowerPC. */
+
+/***************************************
+ ************** PYR ******************
+ ***************************************/
+#if defined (__pyr__) && W_TYPE_SIZE == 32
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ __asm__ ("addw %5,%1 \n" \
+ "addwc %3,%0" \
+ : "=r" ((USItype)(sh)), \
+ "=&r" ((USItype)(sl)) \
+ : "%0" ((USItype)(ah)), \
+ "g" ((USItype)(bh)), \
+ "%1" ((USItype)(al)), \
+ "g" ((USItype)(bl)))
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ __asm__ ("subw %5,%1 \n" \
+ "subwb %3,%0" \
+ : "=r" ((USItype)(sh)), \
+ "=&r" ((USItype)(sl)) \
+ : "0" ((USItype)(ah)), \
+ "g" ((USItype)(bh)), \
+ "1" ((USItype)(al)), \
+ "g" ((USItype)(bl)))
+/* This insn works on Pyramids with AP, XP, or MI CPUs, but not with SP. */
+# define umul_ppmm(w1, w0, u, v) \
+ ({union {UDItype __ll; \
+ struct {USItype __h, __l;} __i; \
+ } __xx; \
+ __asm__ ("movw %1,%R0 \n" \
+ "uemul %2,%0" \
+ : "=&r" (__xx.__ll) \
+ : "g" ((USItype) (u)), \
+ "g" ((USItype)(v))); \
+ (w1) = __xx.__i.__h; (w0) = __xx.__i.__l;})
+#endif /* __pyr__ */
+
+
+/***************************************
+ ************** RISCV ****************
+ ***************************************/
+#if defined(__riscv)
+#ifdef __riscv_mul
+#define __umulsidi3(u,v) ((UDWtype)(UWtype)(u) * (UWtype)(v))
+#define __muluw3(a, b) ((UWtype)(a) * (UWtype)(b))
+#else
+#if __riscv_xlen == 32
+ #define MULUW3 "call __mulsi3"
+#elif __riscv_xlen == 64
+ #define MULUW3 "call __muldi3"
+#else
+#error unsupport xlen
+#endif /* __riscv_xlen */
+/* We rely on the fact that MULUW3 doesn't clobber the t-registers.
+ It can get better register allocation result. */
+#define __muluw3(a, b) \
+ ({ \
+ register UWtype __op0 asm ("a0") = a; \
+ register UWtype __op1 asm ("a1") = b; \
+ asm volatile (MULUW3 \
+ : "+r" (__op0), "+r" (__op1) \
+ : \
+ : "ra", "a2", "a3"); \
+ __op0; \
+ })
+#endif /* __riscv_mul */
+#define umul_ppmm(w1, w0, u, v) \
+ do { \
+ UWtype __x0, __x1, __x2, __x3; \
+ UHWtype __ul, __vl, __uh, __vh; \
+ \
+ __ul = __ll_lowpart (u); \
+ __uh = __ll_highpart (u); \
+ __vl = __ll_lowpart (v); \
+ __vh = __ll_highpart (v); \
+ \
+ __x0 = __muluw3 (__ul, __vl); \
+ __x1 = __muluw3 (__ul, __vh); \
+ __x2 = __muluw3 (__uh, __vl); \
+ __x3 = __muluw3 (__uh, __vh); \
+ \
+ __x1 += __ll_highpart (__x0);/* this can't give carry */ \
+ __x1 += __x2; /* but this indeed can */ \
+ if (__x1 < __x2) /* did we get it? */ \
+ __x3 += __ll_B; /* yes, add it in the proper pos. */ \
+ \
+ (w1) = __x3 + __ll_highpart (__x1); \
+ (w0) = __ll_lowpart (__x1) * __ll_B + __ll_lowpart (__x0); \
+ } while (0)
+#endif /* __riscv */
+
+
+/***************************************
+ ************** RT/ROMP **************
+ ***************************************/
+#if defined (__ibm032__) /* RT/ROMP */ && W_TYPE_SIZE == 32
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ __asm__ ("a %1,%5 \n" \
+ "ae %0,%3" \
+ : "=r" ((USItype)(sh)), \
+ "=&r" ((USItype)(sl)) \
+ : "%0" ((USItype)(ah)), \
+ "r" ((USItype)(bh)), \
+ "%1" ((USItype)(al)), \
+ "r" ((USItype)(bl)))
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ __asm__ ("s %1,%5\n" \
+ "se %0,%3" \
+ : "=r" ((USItype)(sh)), \
+ "=&r" ((USItype)(sl)) \
+ : "0" ((USItype)(ah)), \
+ "r" ((USItype)(bh)), \
+ "1" ((USItype)(al)), \
+ "r" ((USItype)(bl)))
+# define umul_ppmm(ph, pl, m0, m1) \
+ do { \
+ USItype __m0 = (m0), __m1 = (m1); \
+ __asm__ ( \
+ "s r2,r2 \n" \
+ "mts r10,%2 \n" \
+ "m r2,%3 \n" \
+ "m r2,%3 \n" \
+ "m r2,%3 \n" \
+ "m r2,%3 \n" \
+ "m r2,%3 \n" \
+ "m r2,%3 \n" \
+ "m r2,%3 \n" \
+ "m r2,%3 \n" \
+ "m r2,%3 \n" \
+ "m r2,%3 \n" \
+ "m r2,%3 \n" \
+ "m r2,%3 \n" \
+ "m r2,%3 \n" \
+ "m r2,%3 \n" \
+ "m r2,%3 \n" \
+ "m r2,%3 \n" \
+ "cas %0,r2,r0 \n" \
+ "mfs r10,%1" \
+ : "=r" ((USItype)(ph)), \
+ "=r" ((USItype)(pl)) \
+ : "%r" (__m0), \
+ "r" (__m1) \
+ : "r2"); \
+ (ph) += ((((SItype) __m0 >> 31) & __m1) \
+ + (((SItype) __m1 >> 31) & __m0)); \
+ } while (0)
+# define UMUL_TIME 20
+# define UDIV_TIME 200
+# define count_leading_zeros(count, x) \
+ do { \
+ if ((x) >= 0x10000) \
+ __asm__ ("clz %0,%1" \
+ : "=r" ((USItype)(count)) \
+ : "r" ((USItype)(x) >> 16)); \
+ else \
+ { \
+ __asm__ ("clz %0,%1" \
+ : "=r" ((USItype)(count)) \
+ : "r" ((USItype)(x))); \
+ (count) += 16; \
+ } \
+ } while (0)
+#endif /* RT/ROMP */
+
+
+/***************************************
+ ************** SH2 ******************
+ ***************************************/
+#if (defined (__sh2__) || defined(__sh3__) || defined(__SH4__) ) \
+ && W_TYPE_SIZE == 32
+# define umul_ppmm(w1, w0, u, v) \
+ __asm__ ( \
+ "dmulu.l %2,%3\n" \
+ "sts macl,%1\n" \
+ "sts mach,%0" \
+ : "=r" ((USItype)(w1)), \
+ "=r" ((USItype)(w0)) \
+ : "r" ((USItype)(u)), \
+ "r" ((USItype)(v)) \
+ : "macl", "mach")
+# define UMUL_TIME 5
+#endif
+
+/***************************************
+ ************** SPARC ****************
+ ***************************************/
+#if defined (__sparc__) && W_TYPE_SIZE == 32
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ __asm__ ("addcc %r4,%5,%1\n" \
+ "addx %r2,%3,%0" \
+ : "=r" ((USItype)(sh)), \
+ "=&r" ((USItype)(sl)) \
+ : "%rJ" ((USItype)(ah)), \
+ "rI" ((USItype)(bh)), \
+ "%rJ" ((USItype)(al)), \
+ "rI" ((USItype)(bl)) \
+ __CLOBBER_CC)
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ __asm__ ("subcc %r4,%5,%1\n" \
+ "subx %r2,%3,%0" \
+ : "=r" ((USItype)(sh)), \
+ "=&r" ((USItype)(sl)) \
+ : "rJ" ((USItype)(ah)), \
+ "rI" ((USItype)(bh)), \
+ "rJ" ((USItype)(al)), \
+ "rI" ((USItype)(bl)) \
+ __CLOBBER_CC)
+# if defined (__sparc_v8__) || defined(__sparcv8)
+/* Don't match immediate range because, 1) it is not often useful,
+ 2) the 'I' flag thinks of the range as a 13 bit signed interval,
+ while we want to match a 13 bit interval, sign extended to 32 bits,
+ but INTERPRETED AS UNSIGNED. */
+# define umul_ppmm(w1, w0, u, v) \
+ __asm__ ("umul %2,%3,%1;rd %%y,%0" \
+ : "=r" ((USItype)(w1)), \
+ "=r" ((USItype)(w0)) \
+ : "r" ((USItype)(u)), \
+ "r" ((USItype)(v)))
+# define UMUL_TIME 5
+# ifndef SUPERSPARC /* SuperSPARC's udiv only handles 53 bit dividends */
+# define udiv_qrnnd(q, r, n1, n0, d) \
+ do { \
+ USItype __q; \
+ __asm__ ("mov %1,%%y;nop;nop;nop;udiv %2,%3,%0" \
+ : "=r" ((USItype)(__q)) \
+ : "r" ((USItype)(n1)), \
+ "r" ((USItype)(n0)), \
+ "r" ((USItype)(d))); \
+ (r) = (n0) - __q * (d); \
+ (q) = __q; \
+ } while (0)
+# define UDIV_TIME 25
+# endif /*!SUPERSPARC */
+# else /* ! __sparc_v8__ */
+# if defined (__sparclite__)
+/* This has hardware multiply but not divide. It also has two additional
+ instructions scan (ffs from high bit) and divscc. */
+# define umul_ppmm(w1, w0, u, v) \
+ __asm__ ("umul %2,%3,%1;rd %%y,%0" \
+ : "=r" ((USItype)(w1)), \
+ "=r" ((USItype)(w0)) \
+ : "r" ((USItype)(u)), \
+ "r" ((USItype)(v)))
+# define UMUL_TIME 5
+# define udiv_qrnnd(q, r, n1, n0, d) \
+ __asm__ ("! Inlined udiv_qrnnd \n" \
+ " wr %%g0,%2,%%y ! Not a delayed write for sparclite \n" \
+ " tst %%g0 \n" \
+ " divscc %3,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%%g1 \n" \
+ " divscc %%g1,%4,%0 \n" \
+ " rd %%y,%1 \n" \
+ " bl,a 1f \n" \
+ " add %1,%4,%1 \n" \
+ "1: ! End of inline udiv_qrnnd" \
+ : "=r" ((USItype)(q)), \
+ "=r" ((USItype)(r)) \
+ : "r" ((USItype)(n1)), \
+ "r" ((USItype)(n0)), \
+ "rI" ((USItype)(d)) \
+ : "%g1" __AND_CLOBBER_CC)
+# define UDIV_TIME 37
+# define count_leading_zeros(count, x) \
+ __asm__ ("scan %1,0,%0" \
+ : "=r" ((USItype)(x)) \
+ : "r" ((USItype)(count)))
+/* Early sparclites return 63 for an argument of 0, but they warn that future
+ implementations might change this. Therefore, leave COUNT_LEADING_ZEROS_0
+ undefined. */
+# endif /* !__sparclite__ */
+# endif /* !__sparc_v8__ */
+/* Default to sparc v7 versions of umul_ppmm and udiv_qrnnd. */
+# ifndef umul_ppmm
+# define umul_ppmm(w1, w0, u, v) \
+ __asm__ ("! Inlined umul_ppmm \n" \
+ " wr %%g0,%2,%%y ! SPARC has 0-3 delay insn after a wr \n" \
+ " sra %3,31,%%g2 ! Don't move this insn \n" \
+ " and %2,%%g2,%%g2 ! Don't move this insn \n" \
+ " andcc %%g0,0,%%g1 ! Don't move this insn \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,%3,%%g1 \n" \
+ " mulscc %%g1,0,%%g1 \n" \
+ " add %%g1,%%g2,%0 \n" \
+ " rd %%y,%1" \
+ : "=r" ((USItype)(w1)), \
+ "=r" ((USItype)(w0)) \
+ : "%rI" ((USItype)(u)), \
+ "r" ((USItype)(v)) \
+ : "%g1", "%g2" __AND_CLOBBER_CC)
+# define UMUL_TIME 39 /* 39 instructions */
+# endif /* umul_ppmm */
+# ifndef udiv_qrnnd
+# ifndef LONGLONG_STANDALONE
+# define udiv_qrnnd(q, r, n1, n0, d) \
+ do { USItype __r; \
+ (q) = __udiv_qrnnd (&__r, (n1), (n0), (d)); \
+ (r) = __r; \
+ } while (0)
+extern USItype __udiv_qrnnd ();
+# define UDIV_TIME 140
+# endif /* LONGLONG_STANDALONE */
+# endif /* udiv_qrnnd */
+#endif /* __sparc__ */
+
+
+/***************************************
+ ************** VAX ******************
+ ***************************************/
+#if defined (__vax__) && W_TYPE_SIZE == 32
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ __asm__ ("addl2 %5,%1\n" \
+ "adwc %3,%0" \
+ : "=g" ((USItype)(sh)), \
+ "=&g" ((USItype)(sl)) \
+ : "%0" ((USItype)(ah)), \
+ "g" ((USItype)(bh)), \
+ "%1" ((USItype)(al)), \
+ "g" ((USItype)(bl)))
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ __asm__ ("subl2 %5,%1\n" \
+ "sbwc %3,%0" \
+ : "=g" ((USItype)(sh)), \
+ "=&g" ((USItype)(sl)) \
+ : "0" ((USItype)(ah)), \
+ "g" ((USItype)(bh)), \
+ "1" ((USItype)(al)), \
+ "g" ((USItype)(bl)))
+# define umul_ppmm(xh, xl, m0, m1) \
+ do { \
+ union {UDItype __ll; \
+ struct {USItype __l, __h;} __i; \
+ } __xx; \
+ USItype __m0 = (m0), __m1 = (m1); \
+ __asm__ ("emul %1,%2,$0,%0" \
+ : "=g" (__xx.__ll) \
+ : "g" (__m0), \
+ "g" (__m1)); \
+ (xh) = __xx.__i.__h; (xl) = __xx.__i.__l; \
+ (xh) += ((((SItype) __m0 >> 31) & __m1) \
+ + (((SItype) __m1 >> 31) & __m0)); \
+ } while (0)
+# define sdiv_qrnnd(q, r, n1, n0, d) \
+ do { \
+ union {DItype __ll; \
+ struct {SItype __l, __h;} __i; \
+ } __xx; \
+ __xx.__i.__h = (n1); __xx.__i.__l = (n0); \
+ __asm__ ("ediv %3,%2,%0,%1" \
+ : "=g" (q), "=g" (r) \
+ : "g" (__xx.__ll), "g" (d)); \
+ } while (0)
+#endif /* __vax__ */
+
+
+/***************************************
+ ************** Z8000 ****************
+ ***************************************/
+#if defined (__z8000__) && W_TYPE_SIZE == 16
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ __asm__ ("add %H1,%H5\n\tadc %H0,%H3" \
+ : "=r" ((unsigned int)(sh)), \
+ "=&r" ((unsigned int)(sl)) \
+ : "%0" ((unsigned int)(ah)), \
+ "r" ((unsigned int)(bh)), \
+ "%1" ((unsigned int)(al)), \
+ "rQR" ((unsigned int)(bl)))
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ __asm__ ("sub %H1,%H5\n\tsbc %H0,%H3" \
+ : "=r" ((unsigned int)(sh)), \
+ "=&r" ((unsigned int)(sl)) \
+ : "0" ((unsigned int)(ah)), \
+ "r" ((unsigned int)(bh)), \
+ "1" ((unsigned int)(al)), \
+ "rQR" ((unsigned int)(bl)))
+# define umul_ppmm(xh, xl, m0, m1) \
+ do { \
+ union {long int __ll; \
+ struct {unsigned int __h, __l;} __i; \
+ } __xx; \
+ unsigned int __m0 = (m0), __m1 = (m1); \
+ __asm__ ("mult %S0,%H3" \
+ : "=r" (__xx.__i.__h), \
+ "=r" (__xx.__i.__l) \
+ : "%1" (__m0), \
+ "rQR" (__m1)); \
+ (xh) = __xx.__i.__h; (xl) = __xx.__i.__l; \
+ (xh) += ((((signed int) __m0 >> 15) & __m1) \
+ + (((signed int) __m1 >> 15) & __m0)); \
+ } while (0)
+#endif /* __z8000__ */
+
+
+/***************************************
+ *********** s390x/zSeries ************
+ ***************************************/
+#if defined (__s390x__) && W_TYPE_SIZE == 64 && __GNUC__ >= 4
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ __asm__ ("algr %1,%5\n" \
+ "alcgr %0,%3\n" \
+ : "=r" ((sh)), \
+ "=&r" ((sl)) \
+ : "0" ((UDItype)(ah)), \
+ "r" ((UDItype)(bh)), \
+ "1" ((UDItype)(al)), \
+ "r" ((UDItype)(bl)) \
+ __CLOBBER_CC)
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ __asm__ ("slgr %1,%5\n" \
+ "slbgr %0,%3\n" \
+ : "=r" ((sh)), \
+ "=&r" ((sl)) \
+ : "0" ((UDItype)(ah)), \
+ "r" ((UDItype)(bh)), \
+ "1" ((UDItype)(al)), \
+ "r" ((UDItype)(bl)) \
+ __CLOBBER_CC)
+typedef unsigned int UTItype __attribute__ ((mode (TI)));
+# define umul_ppmm(w1, w0, u, v) \
+ do { \
+ UTItype ___r; \
+ __asm__ ("mlgr %0,%2" \
+ : "=r" (___r) \
+ : "0" ((UDItype)(u)), \
+ "r" ((UDItype)(v))); \
+ (w1) = ___r >> 64; \
+ (w0) = (UDItype) ___r; \
+ } while (0)
+# define udiv_qrnnd(q, r, n1, n0, d) \
+ do { \
+ UTItype ___r = ((UTItype)n1 << 64) | n0; \
+ __asm__ ("dlgr %0,%2" \
+ : "=r" (___r) \
+ : "0" (___r), \
+ "r" ((UDItype)(d))); \
+ (r) = ___r >> 64; \
+ (q) = (UDItype) ___r; \
+ } while (0)
+#endif /* __s390x__ */
+
+
+/***************************************
+ ***** End CPU Specific Versions *****
+ ***************************************/
+
+#endif /* __GNUC__ */
+#endif /* !__riscos__ */
+
+
+/***************************************
+ *********** Generic Versions ********
+ ***************************************/
+#if !defined (umul_ppmm) && defined (__umulsidi3)
+# define umul_ppmm(ph, pl, m0, m1) \
+ { \
+ UDWtype __ll = __umulsidi3 (m0, m1); \
+ ph = (UWtype) (__ll >> W_TYPE_SIZE); \
+ pl = (UWtype) __ll; \
+ }
+#endif
+
+#if !defined (__umulsidi3)
+# define __umulsidi3(u, v) \
+ ({UWtype __hi, __lo; \
+ umul_ppmm (__hi, __lo, u, v); \
+ ((UDWtype) __hi << W_TYPE_SIZE) | __lo; })
+#endif
+
+/* If this machine has no inline assembler, use C macros. */
+
+#if !defined (add_ssaaaa) && defined (UDWtype)
+/* Use double word type when available. */
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ do { \
+ UDWtype __audw = (ah); \
+ UDWtype __budw = (bh); \
+ __audw <<= W_TYPE_SIZE; \
+ __audw |= (al); \
+ __budw <<= W_TYPE_SIZE; \
+ __budw |= (bl); \
+ __audw += __budw; \
+ (sh) = (UWtype)(__audw >> W_TYPE_SIZE); \
+ (sl) = (UWtype)(__audw); \
+ } while (0)
+#elif !defined (add_ssaaaa)
+# define add_ssaaaa(sh, sl, ah, al, bh, bl) \
+ do { \
+ UWtype __x; \
+ __x = (al) + (bl); \
+ (sh) = (ah) + (bh) + (__x < (al)); \
+ (sl) = __x; \
+ } while (0)
+#endif
+
+#if !defined (sub_ddmmss) && defined (UDWtype)
+/* Use double word type when available. */
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ do { \
+ UDWtype __audw = (ah); \
+ UDWtype __budw = (bh); \
+ __audw <<= W_TYPE_SIZE; \
+ __audw |= (al); \
+ __budw <<= W_TYPE_SIZE; \
+ __budw |= (bl); \
+ __audw -= __budw; \
+ (sh) = (UWtype)(__audw >> W_TYPE_SIZE); \
+ (sl) = (UWtype)(__audw); \
+ } while (0)
+#elif !defined (sub_ddmmss)
+# define sub_ddmmss(sh, sl, ah, al, bh, bl) \
+ do { \
+ UWtype __x; \
+ __x = (al) - (bl); \
+ (sh) = (ah) - (bh) - (__x > (al)); \
+ (sl) = __x; \
+ } while (0)
+#endif
+
+#if !defined (umul_ppmm) && defined (UDWtype)
+# define umul_ppmm(w1, w0, u, v) \
+ do { \
+ UDWtype __x = (u); \
+ __x *= (v); \
+ (w1) = (UWtype)(__x >> W_TYPE_SIZE); \
+ (w0) = (UWtype)(__x); \
+ } while (0)
+#elif !defined (umul_ppmm)
+# define umul_ppmm(w1, w0, u, v) \
+ do { \
+ UWtype __x0, __x1, __x2, __x3; \
+ UHWtype __ul, __vl, __uh, __vh; \
+ UWtype __u = (u), __v = (v); \
+ \
+ __ul = __ll_lowpart (__u); \
+ __uh = __ll_highpart (__u); \
+ __vl = __ll_lowpart (__v); \
+ __vh = __ll_highpart (__v); \
+ \
+ __x0 = (UWtype) __ul * __vl; \
+ __x1 = (UWtype) __ul * __vh; \
+ __x2 = (UWtype) __uh * __vl; \
+ __x3 = (UWtype) __uh * __vh; \
+ \
+ __x1 += __ll_highpart (__x0);/* this can't give carry */ \
+ __x1 += __x2; /* but this indeed can */ \
+ if (__x1 < __x2) /* did we get it? */ \
+ __x3 += __ll_B; /* yes, add it in the proper pos. */ \
+ \
+ (w1) = __x3 + __ll_highpart (__x1); \
+ (w0) = (__ll_lowpart (__x1) << W_TYPE_SIZE/2) + __ll_lowpart (__x0);\
+ } while (0)
+#endif
+
+#if !defined (smul_ppmm)
+# define smul_ppmm(w1, w0, u, v) \
+ do { \
+ UWtype __w1; \
+ UWtype __m0 = (u), __m1 = (v); \
+ umul_ppmm (__w1, w0, __m0, __m1); \
+ (w1) = __w1 - (-(__m0 >> (W_TYPE_SIZE - 1)) & __m1) \
+ - (-(__m1 >> (W_TYPE_SIZE - 1)) & __m0); \
+ } while (0)
+#endif
+
+/* Define this unconditionally, so it can be used for debugging. */
+#define __udiv_qrnnd_c(q, r, n1, n0, d) \
+ do { \
+ UWtype __d1, __d0, __q1, __q0, __r1, __r0, __m; \
+ __d1 = __ll_highpart (d); \
+ __d0 = __ll_lowpart (d); \
+ \
+ __r1 = (n1) % __d1; \
+ __q1 = (n1) / __d1; \
+ __m = (UWtype) __q1 * __d0; \
+ __r1 = __r1 * __ll_B | __ll_highpart (n0); \
+ if (__r1 < __m) \
+ { \
+ __q1--, __r1 += (d); \
+ if (__r1 >= (d)) /* i.e. we didn't get carry when adding to __r1 */\
+ if (__r1 < __m) \
+ __q1--, __r1 += (d); \
+ } \
+ __r1 -= __m; \
+ \
+ __r0 = __r1 % __d1; \
+ __q0 = __r1 / __d1; \
+ __m = (UWtype) __q0 * __d0; \
+ __r0 = __r0 * __ll_B | __ll_lowpart (n0); \
+ if (__r0 < __m) \
+ { \
+ __q0--, __r0 += (d); \
+ if (__r0 >= (d)) \
+ if (__r0 < __m) \
+ __q0--, __r0 += (d); \
+ } \
+ __r0 -= __m; \
+ \
+ (q) = (UWtype) __q1 * __ll_B | __q0; \
+ (r) = __r0; \
+ } while (0)
+
+/* Use double word type if available. */
+#if !defined (udiv_qrnnd) && defined (UDWtype)
+# define udiv_qrnnd(q, r, nh, nl, d) \
+ do { \
+ UWtype __d = (d); \
+ UDWtype __nudw = (nh); \
+ __nudw <<= W_TYPE_SIZE; \
+ __nudw |= (nl); \
+ (q) = (UWtype)(__nudw / __d); \
+ (r) = (UWtype)(__nudw % __d); \
+ } while (0)
+#endif
+
+/* If the processor has no udiv_qrnnd but sdiv_qrnnd, go through
+ __udiv_w_sdiv (defined in libgcc or elsewhere). */
+#if !defined (udiv_qrnnd) && defined (sdiv_qrnnd)
+# define udiv_qrnnd(q, r, nh, nl, d) \
+ do { \
+ UWtype __r; \
+ (q) = __MPN(udiv_w_sdiv) (&__r, nh, nl, d); \
+ (r) = __r; \
+ } while (0)
+#endif
+
+/* If udiv_qrnnd was not defined for this processor, use __udiv_qrnnd_c. */
+#if !defined (udiv_qrnnd)
+# define UDIV_NEEDS_NORMALIZATION 1
+# define udiv_qrnnd __udiv_qrnnd_c
+#endif
+
+#if !defined (count_leading_zeros)
+# if defined (HAVE_BUILTIN_CLZL) && SIZEOF_UNSIGNED_LONG * 8 == W_TYPE_SIZE
+# define count_leading_zeros(count, x) (count = __builtin_clzl(x))
+# undef COUNT_LEADING_ZEROS_0 /* Input X=0 is undefined for the builtin. */
+# elif defined (HAVE_BUILTIN_CLZ) && SIZEOF_UNSIGNED_INT * 8 == W_TYPE_SIZE
+# define count_leading_zeros(count, x) (count = __builtin_clz(x))
+# undef COUNT_LEADING_ZEROS_0 /* Input X=0 is undefined for the builtin. */
+# endif
+#endif
+
+#if !defined (count_trailing_zeros)
+# if defined (HAVE_BUILTIN_CTZL) && SIZEOF_UNSIGNED_LONG * 8 == W_TYPE_SIZE
+# define count_trailing_zeros(count, x) (count = __builtin_ctzl(x))
+# undef COUNT_LEADING_ZEROS_0 /* Input X=0 is undefined for the builtin. */
+# elif defined (HAVE_BUILTIN_CTZ) && SIZEOF_UNSIGNED_INT * 8 == W_TYPE_SIZE
+# define count_trailing_zeros(count, x) (count = __builtin_ctz(x))
+# undef COUNT_LEADING_ZEROS_0 /* Input X=0 is undefined for the builtin. */
+# endif
+#endif
+
+#if !defined (count_leading_zeros)
+extern
+# ifdef __STDC__
+const
+# endif
+unsigned char _gcry_clz_tab[];
+# define MPI_INTERNAL_NEED_CLZ_TAB 1
+# define count_leading_zeros(count, x) \
+ do { \
+ UWtype __xr = (x); \
+ UWtype __a; \
+ \
+ if (W_TYPE_SIZE <= 32) \
+ { \
+ __a = __xr < ((UWtype) 1 << 2*__BITS4) \
+ ? (__xr < ((UWtype) 1 << __BITS4) ? 0 : __BITS4) \
+ : (__xr < ((UWtype) 1 << 3*__BITS4) ? 2*__BITS4 : 3*__BITS4);\
+ } \
+ else \
+ { \
+ for (__a = W_TYPE_SIZE - 8; __a > 0; __a -= 8) \
+ if (((__xr >> __a) & 0xff) != 0) \
+ break; \
+ } \
+ \
+ (count) = W_TYPE_SIZE - (_gcry_clz_tab[__xr >> __a] + __a); \
+ } while (0)
+/* This version gives a well-defined value for zero. */
+# define COUNT_LEADING_ZEROS_0 W_TYPE_SIZE
+#endif /* !count_leading_zeros */
+
+#if !defined (count_trailing_zeros)
+/* Define count_trailing_zeros using count_leading_zeros. The latter might be
+ defined in asm, but if it is not, the C version above is good enough. */
+# define count_trailing_zeros(count, x) \
+ do { \
+ UWtype __ctz_x = (x); \
+ UWtype __ctz_c; \
+ count_leading_zeros (__ctz_c, __ctz_x & -__ctz_x); \
+ (count) = W_TYPE_SIZE - 1 - __ctz_c; \
+ } while (0)
+#endif /* !count_trailing_zeros */
+
+#ifndef UDIV_NEEDS_NORMALIZATION
+# define UDIV_NEEDS_NORMALIZATION 0
+#endif
+
+/***************************************
+ ****** longlong.h ends here *********
+ ***************************************/
Index: sources/packages/n/libgcrypt/patches/README
===================================================================
--- sources/packages/n/libgcrypt/patches/README (revision 446)
+++ sources/packages/n/libgcrypt/patches/README (revision 447)
@@ -1,11 +1,10 @@
/* begin *
- libgcrypt-1.10.1-riscv.patch - From GNU Libc 2.32 (stdlib/longlong.h);
- libgcrypt-1.10.1-powerpc.patch - From GNU Libc 2.32 (stdlib/longlong.h);
+ libgcrypt-1.11.0-riscv.patch - From GNU Libc 2.32 (stdlib/longlong.h);
NOTE:
====
- The patch 'libgcrypt-1.10.1-riscv.patch' should be applies before.
+ The patch 'libgcrypt-1.11.0-riscv.patch' should be applies before.
* end */
Index: sources/packages/n/libgpg-error/Makefile
===================================================================
--- sources/packages/n/libgpg-error/Makefile (revision 446)
+++ sources/packages/n/libgpg-error/Makefile (revision 447)
@@ -7,7 +7,7 @@
url = $(DOWNLOAD_SERVER)/sources/packages/n/libgpg-error
-versions = 1.41
+versions = 1.51
pkgname = libgpg-error
suffix = tar.bz2