aboutsummaryrefslogtreecommitdiffstats
path: root/mpi
diff options
context:
space:
mode:
Diffstat (limited to 'mpi')
-rw-r--r--mpi/Makefile.am8
-rw-r--r--mpi/Makefile.in268
-rw-r--r--mpi/mpicoder.c8
-rw-r--r--mpi/mpiutil.c30
4 files changed, 201 insertions, 113 deletions
diff --git a/mpi/Makefile.am b/mpi/Makefile.am
index 18b5581a7..11b15dd3b 100644
--- a/mpi/Makefile.am
+++ b/mpi/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to produce Makefile.in
-INCLUDES = -I$(top_srcdir)/include
+INCLUDES = -I.. -I$(top_srcdir)/include
CFLAGS += -O2
SUFFIXES = .S .s
@@ -8,10 +8,10 @@ SUFFIXES = .S .s
EXTRA_DIST = config.links
-noinst_LIBRARIES = mpi
+noinst_LIBRARIES = libmpi.a
# noinst_HEADERS =
-mpi_SOURCES = longlong.h \
+libmpi_a_SOURCES = longlong.h \
mpi-add.c \
mpi-bit.c \
mpi-cmp.c \
@@ -31,7 +31,7 @@ mpi_SOURCES = longlong.h \
mpih-mul.c \
mpiutil.c
-mpi_LIBADD = mpih-mul1.o \
+libmpi_a_LIBADD = mpih-mul1.o \
mpih-mul2.o \
mpih-mul3.o \
mpih-add1.o \
diff --git a/mpi/Makefile.in b/mpi/Makefile.in
index 81910ff2b..98b42753d 100644
--- a/mpi/Makefile.in
+++ b/mpi/Makefile.in
@@ -1,8 +1,14 @@
-# Makefile.in generated automatically by automake 1.0 from Makefile.am
+# Makefile.in generated automatically by automake 1.2d from Makefile.am
-# Copyright (C) 1994, 1995, 1996 Free Software Foundation, Inc.
+# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc.
# This Makefile.in is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
+# gives unlimited permission to copy and/or distribute it,
+# with or without modifications, as long as this notice is preserved.
+
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
+# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
+# PARTICULAR PURPOSE.
SHELL = /bin/sh
@@ -32,22 +38,63 @@ pkgincludedir = $(includedir)/@PACKAGE@
top_builddir = ..
+ACLOCAL = @ACLOCAL@
+AUTOCONF = @AUTOCONF@
+AUTOMAKE = @AUTOMAKE@
+AUTOHEADER = @AUTOHEADER@
+
INSTALL = @INSTALL@
INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA = @INSTALL_DATA@
INSTALL_SCRIPT = @INSTALL_SCRIPT@
transform = @program_transform_name@
-INCLUDES = -I$(top_srcdir)/include
+NORMAL_INSTALL = :
+PRE_INSTALL = :
+POST_INSTALL = :
+NORMAL_UNINSTALL = :
+PRE_UNINSTALL = :
+POST_UNINSTALL = :
+build_alias = @build_alias@
+build_triplet = @build@
+host_alias = @host_alias@
+host_triplet = @host@
+target_alias = @target_alias@
+target_triplet = @target@
+CATALOGS = @CATALOGS@
+CATOBJEXT = @CATOBJEXT@
+CC = @CC@
+CIPHER_EXTRA_DIST = @CIPHER_EXTRA_DIST@
+CIPHER_EXTRA_OBJS = @CIPHER_EXTRA_OBJS@
+CPP = @CPP@
+DATADIRNAME = @DATADIRNAME@
+G10_LOCALEDIR = @G10_LOCALEDIR@
+GENCAT = @GENCAT@
+GMOFILES = @GMOFILES@
+GMSGFMT = @GMSGFMT@
+INSTOBJEXT = @INSTOBJEXT@
+INTLDEPS = @INTLDEPS@
+INTLLIBS = @INTLLIBS@
+INTLOBJS = @INTLOBJS@
+INTLSUB = @INTLSUB@
+MPI_EXTRA_ASM_OBJS = @MPI_EXTRA_ASM_OBJS@
+MSGFMT = @MSGFMT@
+PACKAGE = @PACKAGE@
+POFILES = @POFILES@
+POSUB = @POSUB@
+RANLIB = @RANLIB@
+VERSION = @VERSION@
+
+INCLUDES = -I.. -I$(top_srcdir)/include
SUFFIXES = .S .s
EXTRA_DIST = config.links
-noinst_LIBRARIES = mpi
+noinst_LIBRARIES = libmpi.a
# noinst_HEADERS =
-mpi_SOURCES = longlong.h \
+libmpi_a_SOURCES = longlong.h \
mpi-add.c \
mpi-bit.c \
mpi-cmp.c \
@@ -67,199 +114,205 @@ mpi_SOURCES = longlong.h \
mpih-mul.c \
mpiutil.c
-mpi_LIBADD = mpih-mul1.o \
+libmpi_a_LIBADD = mpih-mul1.o \
mpih-mul2.o \
mpih-mul3.o \
mpih-add1.o \
mpih-sub1.o \
mpih-shift.o @MPI_EXTRA_ASM_OBJS@
-mkinstalldirs = $(top_srcdir)/scripts/mkinstalldirs
+mkinstalldirs = $(SHELL) $(top_srcdir)/scripts/mkinstalldirs
CONFIG_HEADER = ../config.h
-LIBRARIES = $(noinst_LIBRARIES)
+CONFIG_CLEAN_FILES =
+LIBRARIES = $(noinst_LIBRARIES)
-noinst_LIBFILES = libmpi.a
-
-CC = @CC@
-LEX = @LEX@
-YACC = @YACC@
DEFS = @DEFS@ -I. -I$(srcdir) -I..
CPPFLAGS = @CPPFLAGS@
-CFLAGS = @CFLAGS@
LDFLAGS = @LDFLAGS@
LIBS = @LIBS@
-
-COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
-LINK = $(CC) $(LDFLAGS) -o $@
-mpi_OBJECTS = mpi-add.o mpi-bit.o mpi-cmp.o mpi-div.o mpi-gcd.o \
+libmpi_a_DEPENDENCIES = mpih-mul1.o mpih-mul2.o mpih-mul3.o mpih-add1.o \
+mpih-sub1.o mpih-shift.o
+libmpi_a_OBJECTS = mpi-add.o mpi-bit.o mpi-cmp.o mpi-div.o mpi-gcd.o \
mpi-inv.o mpi-mul.o mpi-pow.o mpi-scan.o mpicoder.o mpih-cmp.o \
mpih-add.o mpih-sub.o mpih-div.o mpih-mul.o mpiutil.o
-EXTRA_mpi_SOURCES =
-LIBFILES = libmpi.a
AR = ar
-RANLIB = @RANLIB@
-DIST_COMMON = Makefile.am Makefile.in
+CFLAGS = @CFLAGS@
+COMPILE = $(CC) $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
+LINK = $(CC) $(CFLAGS) $(LDFLAGS) -o $@
+DIST_COMMON = Makefile.am Makefile.in
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-
-DISTFILES = $(DIST_COMMON) $(SOURCES) $(BUILT_SOURCES) $(HEADERS) \
- $(TEXINFOS) $(INFOS) $(MANS) $(EXTRA_DIST) $(DATA)
-DEP_DISTFILES = $(DIST_COMMON) $(SOURCES) $(BUILT_SOURCES) $(HEADERS) \
- $(TEXINFOS) $(INFO_DEPS) $(MANS) $(EXTRA_DIST) $(DATA)
+DISTFILES = $(DIST_COMMON) $(SOURCES) $(HEADERS) $(TEXINFOS) $(EXTRA_DIST)
TAR = tar
-DEP_FILES = $(srcdir)/.deps/mpi-add.P $(srcdir)/.deps/mpi-bit.P \
-$(srcdir)/.deps/mpi-cmp.P $(srcdir)/.deps/mpi-div.P \
-$(srcdir)/.deps/mpi-gcd.P $(srcdir)/.deps/mpi-inv.P \
-$(srcdir)/.deps/mpi-mul.P $(srcdir)/.deps/mpi-pow.P \
-$(srcdir)/.deps/mpi-scan.P $(srcdir)/.deps/mpicoder.P \
-$(srcdir)/.deps/mpih-add.P $(srcdir)/.deps/mpih-cmp.P \
-$(srcdir)/.deps/mpih-div.P $(srcdir)/.deps/mpih-mul.P \
-$(srcdir)/.deps/mpih-sub.P $(srcdir)/.deps/mpiutil.P
-SOURCES = $(mpi_SOURCES)
-OBJECTS = $(mpi_OBJECTS)
+GZIP = --best
+DEP_FILES = .deps/mpi-add.P .deps/mpi-bit.P .deps/mpi-cmp.P \
+.deps/mpi-div.P .deps/mpi-gcd.P .deps/mpi-inv.P .deps/mpi-mul.P \
+.deps/mpi-pow.P .deps/mpi-scan.P .deps/mpicoder.P .deps/mpih-add.P \
+.deps/mpih-cmp.P .deps/mpih-div.P .deps/mpih-mul.P .deps/mpih-sub.P \
+.deps/mpiutil.P
+SOURCES = $(libmpi_a_SOURCES)
+OBJECTS = $(libmpi_a_OBJECTS)
default: all
+.SUFFIXES:
+.SUFFIXES: .S .c .o .s
+$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4)
+ cd $(top_srcdir) && $(AUTOMAKE) --gnu mpi/Makefile
-$(srcdir)/Makefile.in: Makefile.am $(top_srcdir)/configure.in
- cd $(top_srcdir) && automake $(subdir)/Makefile
+Makefile: $(srcdir)/Makefile.in $(top_builddir)/config.status $(BUILT_SOURCES)
+ cd $(top_builddir) \
+ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status
-Makefile: $(top_builddir)/config.status Makefile.in
- cd $(top_builddir) && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= ./config.status
mostlyclean-noinstLIBRARIES:
clean-noinstLIBRARIES:
- rm -f $(noinst_LIBFILES)
+ -test -z "$(noinst_LIBRARIES)" || rm -f $(noinst_LIBRARIES)
distclean-noinstLIBRARIES:
maintainer-clean-noinstLIBRARIES:
.c.o:
- $(COMPILE) $<
+ $(COMPILE) -c $<
+
+.s.o:
+ $(COMPILE) -c $<
+
+.S.o:
+ $(COMPILE) -c $<
mostlyclean-compile:
- rm -f *.o core
+ -rm -f *.o core
clean-compile:
distclean-compile:
- rm -f *.tab.c
+ -rm -f *.tab.c
maintainer-clean-compile:
-$(mpi_OBJECTS): ../config.h
-libmpi.a: $(mpi_OBJECTS) $(mpi_LIBADD)
- rm -f libmpi.a
- $(AR) cru libmpi.a $(mpi_OBJECTS) $(mpi_LIBADD)
+libmpi.a: $(libmpi_a_OBJECTS) $(libmpi_a_DEPENDENCIES)
+ -rm -f libmpi.a
+ $(AR) cru libmpi.a $(libmpi_a_OBJECTS) $(libmpi_a_LIBADD)
$(RANLIB) libmpi.a
-ID: $(HEADERS) $(SOURCES)
- here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS)
-
tags: TAGS
-TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES)
- here=`pwd` && cd $(srcdir) && etags $(ETAGS_ARGS) $(SOURCES) $(HEADERS) -o $$here/TAGS
+ID: $(HEADERS) $(SOURCES) $(LISP)
+ here=`pwd` && cd $(srcdir) \
+ && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP)
+
+TAGS: $(HEADERS) $(SOURCES) $(TAGS_DEPENDENCIES) $(LISP)
+ tags=; \
+ here=`pwd`; \
+ test -z "$(ETAGS_ARGS)$(SOURCES)$(HEADERS)$(LISP)$$tags" \
+ || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags $(SOURCES) $(HEADERS) $(LISP) -o $$here/TAGS)
mostlyclean-tags:
clean-tags:
distclean-tags:
- rm -f TAGS ID
+ -rm -f TAGS ID
maintainer-clean-tags:
-subdir = mpi
distdir = $(top_builddir)/$(PACKAGE)-$(VERSION)/$(subdir)
-distdir: $(DEP_DISTFILES)
- @for file in `cd $(srcdir) && echo $(DISTFILES)`; do \
+
+subdir = mpi
+
+distdir: $(DISTFILES)
+ here=`cd $(top_builddir) && pwd`; \
+ top_distdir=`cd $(top_distdir) && pwd`; \
+ distdir=`cd $(distdir) && pwd`; \
+ cd $(top_srcdir) \
+ && $(AUTOMAKE) --include-deps --build-dir=$$here --srcdir-name=$(top_srcdir) --output-dir=$$top_distdir --gnu mpi/Makefile
+ @for file in $(DISTFILES); do \
+ d=$(srcdir); \
test -f $(distdir)/$$file \
- || ln $(srcdir)/$$file $(distdir)/$$file 2> /dev/null \
- || cp -p $(srcdir)/$$file $(distdir)/$$file; \
+ || ln $$d/$$file $(distdir)/$$file 2> /dev/null \
+ || cp -p $$d/$$file $(distdir)/$$file; \
done
-# This fragment is probably only useful for maintainers. It relies on
-# GNU make and gcc. It is only included in the generated Makefile.in
-# if `automake' is not passed the `--include-deps' flag.
+MKDEP = $(CC) -M $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
-MKDEP = gcc -MM $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS)
-
--include $(srcdir)/.deps/.P
-$(srcdir)/.deps/.P: $(BUILT_SOURCES)
- cd $(srcdir) && test -d .deps || mkdir .deps
+DEPS_MAGIC := $(shell mkdir .deps > /dev/null 2>&1 || :)
+-include .deps/.P
+.deps/.P: $(BUILT_SOURCES)
echo > $@
-include $(DEP_FILES)
-$(DEP_FILES): $(srcdir)/.deps/.P
-
-$(srcdir)/.deps/%.P: $(srcdir)/%.c
- @echo "mkdeps $< > $@"
- @re=`echo 's,^$(srcdir)//*,,g;s, $(srcdir)//*, ,g' | sed 's,\.,\\\\.,g'`; \
- $(MKDEP) $< | sed "$$re" > $@-tmp
- @if test -n "$o"; then \
- sed 's/\.o:/$$o:/' $@-tmp > $@; \
- rm $@-tmp; \
- else \
- mv $@-tmp $@; \
- fi
-
-# End of maintainer-only section
-info:
-dvi:
+mostlyclean-depend:
-check: all
+clean-depend:
-installcheck:
+distclean-depend:
+maintainer-clean-depend:
+ -rm -rf .deps
+
+.deps/%.P: %.c
+ @echo "Computing dependencies for $<..."
+ @o='o'; \
+ test -n "$o" && o='$$o'; \
+ $(MKDEP) $< >[email protected] \
+ && sed "s,^\(.*\)\.o:,\1.$$o \1.l$$o $@:," < [email protected] > $@ \
+info:
+dvi:
+check: all
+ $(MAKE)
+installcheck:
install-exec:
+ @$(NORMAL_INSTALL)
install-data:
+ @$(NORMAL_INSTALL)
install: install-exec install-data all
@:
uninstall:
-all: $(LIBFILES) Makefile
+all: Makefile $(LIBRARIES)
install-strip:
- $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' install
+ $(MAKE) INSTALL_PROGRAM='$(INSTALL_PROGRAM) -s' INSTALL_SCRIPT='$(INSTALL_PROGRAM)' install
installdirs:
mostlyclean-generic:
- test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
+ -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES)
clean-generic:
- test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
+ -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES)
distclean-generic:
- rm -f Makefile $(DISTCLEANFILES)
- rm -f config.cache config.log $(CONFIG_HEADER) stamp-h
+ -rm -f Makefile $(DISTCLEANFILES)
+ -rm -f config.cache config.log stamp-h stamp-h[0-9]*
+ -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES)
maintainer-clean-generic:
- test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
- test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
+ -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES)
+ -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES)
mostlyclean: mostlyclean-noinstLIBRARIES mostlyclean-compile \
- mostlyclean-tags mostlyclean-generic
+ mostlyclean-tags mostlyclean-depend mostlyclean-generic
-clean: clean-noinstLIBRARIES clean-compile clean-tags clean-generic \
- mostlyclean
+clean: clean-noinstLIBRARIES clean-compile clean-tags clean-depend \
+ clean-generic mostlyclean
distclean: distclean-noinstLIBRARIES distclean-compile distclean-tags \
- distclean-generic clean
- rm -f config.status
+ distclean-depend distclean-generic clean
+ -rm -f config.status
maintainer-clean: maintainer-clean-noinstLIBRARIES \
maintainer-clean-compile maintainer-clean-tags \
- maintainer-clean-generic distclean
+ maintainer-clean-depend maintainer-clean-generic \
+ distclean
@echo "This command is intended for maintainers to use;"
@echo "it deletes files that may require special tools to rebuild."
@@ -267,14 +320,13 @@ maintainer-clean: maintainer-clean-noinstLIBRARIES \
clean-noinstLIBRARIES maintainer-clean-noinstLIBRARIES \
mostlyclean-compile distclean-compile clean-compile \
maintainer-clean-compile tags mostlyclean-tags distclean-tags \
-clean-tags maintainer-clean-tags distdir info dvi check installcheck \
-install-exec install-data install uninstall all installdirs \
-mostlyclean-generic distclean-generic clean-generic \
+clean-tags maintainer-clean-tags distdir mostlyclean-depend \
+distclean-depend clean-depend maintainer-clean-depend info dvi \
+installcheck install-exec install-data install uninstall all \
+installdirs mostlyclean-generic distclean-generic clean-generic \
maintainer-clean-generic clean mostlyclean distclean maintainer-clean
CFLAGS += -O2
-.SUFFIXES:
-.SUFFIXES: .c .o $(SUFFIXES)
# Tell versions [3.59,3.63) of GNU make to not export all variables.
# Otherwise a system limit (for SysV at least) may be exceeded.
diff --git a/mpi/mpicoder.c b/mpi/mpicoder.c
index b371fa64a..efb5d0904 100644
--- a/mpi/mpicoder.c
+++ b/mpi/mpicoder.c
@@ -326,6 +326,14 @@ mpi_set_buffer( MPI a, const byte *buffer, unsigned nbytes, int sign )
alimb |= *p-- << 16 ;
alimb |= *p-- << 24 ;
#elif BYTES_PER_MPI_LIMB == 8
+ alimb = *p-- ;
+ alimb |= *p-- << 8 ;
+ alimb |= *p-- << 16 ;
+ alimb |= *p-- << 24 ;
+ alimb |= *p-- << 32 ;
+ alimb |= *p-- << 40 ;
+ alimb |= *p-- << 48 ;
+ alimb |= *p-- << 56 ;
#else
#error please implement for this limb size.
#endif
diff --git a/mpi/mpiutil.c b/mpi/mpiutil.c
index 068a9a399..7515eafd1 100644
--- a/mpi/mpiutil.c
+++ b/mpi/mpiutil.c
@@ -1,4 +1,4 @@
-/* mpiutil.c - Utility functions for MPI
+/* mpiutilac - Utility functions for MPI
* Copyright (c) 1997 by Werner Koch (dd9jn)
*
* This file is part of G10.
@@ -192,6 +192,34 @@ mpi_free( MPI a )
}
+void
+mpi_set_secure( MPI a )
+{
+ mpi_ptr_t ap, bp;
+
+ if( a->secure )
+ return;
+ a->secure = 1;
+ ap = a->d;
+ if( !a->nlimbs ) {
+ assert(!ap);
+ return;
+ }
+ #ifdef M_DEBUG
+ bp = mpi_debug_alloc_limb_space( a->nlimbs, 1, "set_secure" );
+ #else
+ bp = mpi_alloc_limb_space( a->nlimbs, 1 );
+ #endif
+ MPN_COPY( bp, ap, a->nlimbs );
+ a->d = bp;
+ #ifdef M_DEBUG
+ mpi_debug_free_limb_space(ap, "set_secure");
+ #else
+ mpi_free_limb_space(ap);
+ #endif
+}
+
+
/****************
* Note: This copy function shpould not interpret the MPI
* but copy it transparently.