mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-17 14:07:03 +01:00
See ChangeLog: Mon Jul 17 16:35:47 CEST 2000 Werner Koch
This commit is contained in:
parent
92cd255508
commit
0bf44b072c
@ -1,3 +1,7 @@
|
|||||||
|
Mon Jul 17 16:35:47 CEST 2000 Werner Koch <wk@>
|
||||||
|
|
||||||
|
* configure.in (mingw32): Changes to allow for mingw32msvc
|
||||||
|
|
||||||
Fri Jul 14 19:38:23 CEST 2000 Werner Koch <wk@>
|
Fri Jul 14 19:38:23 CEST 2000 Werner Koch <wk@>
|
||||||
|
|
||||||
The big merge between this one and the stable branch 1.0. Still need
|
The big merge between this one and the stable branch 1.0. Still need
|
||||||
|
@ -1,3 +1,7 @@
|
|||||||
|
Mon Jul 17 16:35:47 CEST 2000 Werner Koch <wk@>
|
||||||
|
|
||||||
|
* random.c (gather_faked): Replaced make_timestamp by time(2) again.
|
||||||
|
|
||||||
Fri Jul 14 19:38:23 CEST 2000 Werner Koch <wk@>
|
Fri Jul 14 19:38:23 CEST 2000 Werner Koch <wk@>
|
||||||
|
|
||||||
* md.c (gcry_md_ctl): Support GCRYCTL_{START,STOP}_DUMP.
|
* md.c (gcry_md_ctl): Support GCRYCTL_{START,STOP}_DUMP.
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
## Process this file with automake to produce Makefile.in
|
# Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
|
|
||||||
INCLUDES = -I$(top_srcdir)/gcrypt
|
INCLUDES = -I$(top_srcdir)/gcrypt
|
||||||
@ -56,9 +56,8 @@ libcipher_la_SOURCES = cipher.c \
|
|||||||
# configure creates the constructor file
|
# configure creates the constructor file
|
||||||
BUILT_SOURCES = construct.c
|
BUILT_SOURCES = construct.c
|
||||||
|
|
||||||
|
|
||||||
libcipher_la_DEPENDENCIES = @STATIC_CIPHER_OBJS@
|
libcipher_la_DEPENDENCIES = @STATIC_CIPHER_OBJS@
|
||||||
libcipher_la_LIBADD = @STATIC_CIPHER_OBJS@
|
libcipher_la_LIBADD = @STATIC_CIPHER_OBJS@
|
||||||
|
|
||||||
|
|
||||||
# If I remember it correct, automake 1.4 has a feature to set
|
# If I remember it correct, automake 1.4 has a feature to set
|
||||||
|
@ -666,9 +666,9 @@ gather_faked( void (*add)(const void*, size_t, int), int requester,
|
|||||||
#endif
|
#endif
|
||||||
initialized=1;
|
initialized=1;
|
||||||
#ifdef HAVE_RAND
|
#ifdef HAVE_RAND
|
||||||
srand(make_timestamp()*getpid());
|
srand( time(NULL)*getpid());
|
||||||
#else
|
#else
|
||||||
srandom(make_timestamp()*getpid());
|
srandom( time(NULL)*getpid());
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
13
configure.in
13
configure.in
@ -134,7 +134,7 @@ dnl
|
|||||||
dnl Setup some stuff depending on host/target.
|
dnl Setup some stuff depending on host/target.
|
||||||
dnl
|
dnl
|
||||||
case "${target}" in
|
case "${target}" in
|
||||||
*-*-mingw32)
|
*-*-mingw32*)
|
||||||
# special stuff for Windoze NT
|
# special stuff for Windoze NT
|
||||||
# Do we need to set cross_compiling here or is it sufficient
|
# Do we need to set cross_compiling here or is it sufficient
|
||||||
# to rely on AC_PROG_CC which is called later?
|
# to rely on AC_PROG_CC which is called later?
|
||||||
@ -170,8 +170,7 @@ dnl
|
|||||||
dnl Build shared libraries only when compilation of libgcrypt
|
dnl Build shared libraries only when compilation of libgcrypt
|
||||||
dnl has been requested
|
dnl has been requested
|
||||||
dnl
|
dnl
|
||||||
dnl AM_DISABLE_STATIC
|
AM_DISABLE_STATIC
|
||||||
dnl enable_shared="$compile_libgcrypt"
|
|
||||||
AM_PROG_LIBTOOL
|
AM_PROG_LIBTOOL
|
||||||
|
|
||||||
|
|
||||||
@ -181,7 +180,7 @@ MPI_OPT_FLAGS=""
|
|||||||
try_gettext=yes
|
try_gettext=yes
|
||||||
try_gdbm=yes
|
try_gdbm=yes
|
||||||
case "${target}" in
|
case "${target}" in
|
||||||
*-*-mingw32)
|
*-*-mingw32*)
|
||||||
# special stuff for Windoze NT
|
# special stuff for Windoze NT
|
||||||
ac_cv_have_dev_random=no
|
ac_cv_have_dev_random=no
|
||||||
AC_DEFINE(USE_ONLY_8DOT3)
|
AC_DEFINE(USE_ONLY_8DOT3)
|
||||||
@ -243,7 +242,7 @@ fi
|
|||||||
|
|
||||||
|
|
||||||
case "${target}" in
|
case "${target}" in
|
||||||
*-*-mingw32)
|
*-*-mingw32*)
|
||||||
PRINTABLE_OS_NAME="MingW32"
|
PRINTABLE_OS_NAME="MingW32"
|
||||||
;;
|
;;
|
||||||
i?86-emx-os2 | i?86-*-os2*emx )
|
i?86-emx-os2 | i?86-*-os2*emx )
|
||||||
@ -500,7 +499,7 @@ if test "$use_static_rnd" = default; then
|
|||||||
static_random_module="rndlinux"
|
static_random_module="rndlinux"
|
||||||
else
|
else
|
||||||
case "${target}" in
|
case "${target}" in
|
||||||
*-*-mingw32)
|
*-*-mingw32*)
|
||||||
static_random_module="rndw32"
|
static_random_module="rndw32"
|
||||||
AC_DEFINE(USE_STATIC_RNDW32)
|
AC_DEFINE(USE_STATIC_RNDW32)
|
||||||
;;
|
;;
|
||||||
@ -576,7 +575,7 @@ for name in $MODULES_IN_CIPHER; do
|
|||||||
done;
|
done;
|
||||||
if test $x = yes; then
|
if test $x = yes; then
|
||||||
STATIC_CIPHER_NAMES="$STATIC_CIPHER_NAMES $name"
|
STATIC_CIPHER_NAMES="$STATIC_CIPHER_NAMES $name"
|
||||||
STATIC_CIPHER_OBJS="$STATIC_CIPHER_OBJS $name.o"
|
STATIC_CIPHER_OBJS="$STATIC_CIPHER_OBJS $name.lo"
|
||||||
else
|
else
|
||||||
DYNAMIC_CIPHER_MODS="$DYNAMIC_CIPHER_MODS $name"
|
DYNAMIC_CIPHER_MODS="$DYNAMIC_CIPHER_MODS $name"
|
||||||
GNUPG_MSG_PRINT([$name])
|
GNUPG_MSG_PRINT([$name])
|
||||||
|
@ -88,7 +88,7 @@ kbxutil_SOURCES = kbxutil.c \
|
|||||||
# $(common_source)
|
# $(common_source)
|
||||||
|
|
||||||
|
|
||||||
LDADD = $(needed_libs) @ZLIBS@ @INTLLIBS@
|
LDADD = $(needed_libs) @ZLIBS@ @INTLLIBS@
|
||||||
|
|
||||||
|
|
||||||
$(PROGRAMS): $(needed_libs)
|
$(PROGRAMS): $(needed_libs)
|
||||||
|
@ -1,3 +1,30 @@
|
|||||||
|
Mon Jul 17 16:35:47 CEST 2000 Werner Koch <wk@>
|
||||||
|
|
||||||
|
* power/: Add all files from GMP for this CPU. Converted comments to
|
||||||
|
CPP comments because some ASes complain about ' in comments.
|
||||||
|
|
||||||
|
* config.links: Support for BSDI 4.x; by Wayne Chapeskie. Add support
|
||||||
|
for FreeBSD 5 and made the case stmt looking nicer; by Jun Kuriyama.
|
||||||
|
Add support for NetBSD.
|
||||||
|
(sparc8): Made the search path the same as sparc9
|
||||||
|
(sparc64-unknown-linux-gnu): use udiv module; by Adam Mitchell.
|
||||||
|
|
||||||
|
* Makefile.am: c/SFLAGS/ASFLAGS/. This has only been used by the
|
||||||
|
powerpc and actually never passed the -Wa,foo to the cc.
|
||||||
|
|
||||||
|
* mpih-div.c (mpihelp_divrem): The MPN_COPY_DECR copied one element
|
||||||
|
too many. This is a gmp2.0.2p9.txt patch.
|
||||||
|
|
||||||
|
* longlong.h (umul_ppmm): Fixes for ARM-4. By Sean MacLennan.
|
||||||
|
|
||||||
|
* mpi-internal.h (karatsuba_ctx): New.
|
||||||
|
* mpih-mul.c (mpihelp_release_karatsuba_ctx): New.
|
||||||
|
(mpihelp_mul_karatsuba_case): New.
|
||||||
|
(mpihelp_mul): Splitted to make use of the new functions.
|
||||||
|
* mpi-pow.c (mpi_powm): Make use of the new splitted function to avoid
|
||||||
|
multiple allocation of temporary memory during the karatsuba operations.
|
||||||
|
* mpi_mpow.c: Removed the unused Barrett code.
|
||||||
|
|
||||||
2000-03-21 16:17:30 Werner Koch (wk@habibti.openit.de)
|
2000-03-21 16:17:30 Werner Koch (wk@habibti.openit.de)
|
||||||
|
|
||||||
* config.links: Add support for FreeBSD 5.
|
* config.links: Add support for FreeBSD 5.
|
||||||
|
@ -3,12 +3,13 @@
|
|||||||
|
|
||||||
INCLUDES = -I$(top_srcdir)/gcrypt
|
INCLUDES = -I$(top_srcdir)/gcrypt
|
||||||
CFLAGS = @CFLAGS@ @MPI_OPT_FLAGS@
|
CFLAGS = @CFLAGS@ @MPI_OPT_FLAGS@
|
||||||
SFLAGS = @MPI_SFLAGS@
|
ASFLAGS = @MPI_SFLAGS@
|
||||||
|
|
||||||
EXTRA_DIST = config.links
|
EXTRA_DIST = config.links
|
||||||
DISTCLEANFILES = mpih-add1.S mpih-mul1.S mpih-mul2.S mpih-mul3.S \
|
DISTCLEANFILES = mpih-add1.S mpih-mul1.S mpih-mul2.S mpih-mul3.S \
|
||||||
mpih-lshift.S mpih-rshift.S mpih-sub1.S asm-syntax.h sysdep.h
|
mpih-lshift.S mpih-rshift.S mpih-sub1.S asm-syntax.h sysdep.h
|
||||||
# Note: we only use .S files so we should delete all left over .s
|
# Note: we only use .S files so we should delete all left over .s
|
||||||
|
# CLEANFILES = _*.s
|
||||||
CLEANFILES = *.s
|
CLEANFILES = *.s
|
||||||
|
|
||||||
noinst_LTLIBRARIES = libmpi.la
|
noinst_LTLIBRARIES = libmpi.la
|
||||||
@ -56,4 +57,9 @@ libmpi_la_LIBADD = $(common_asm_objects) @MPI_EXTRA_ASM_OBJS@
|
|||||||
.S.s:
|
.S.s:
|
||||||
$(CPP) $(INCLUDES) $(DEFS) $< | grep -v '^#' >$*.s
|
$(CPP) $(INCLUDES) $(DEFS) $< | grep -v '^#' >$*.s
|
||||||
|
|
||||||
|
# Hmmm, we should use this, so that OSes which do not distinguish
|
||||||
|
# filename case still work. We have to see how libtool can handle this
|
||||||
|
# $(CPP) $(INCLUDES) $(DEFS) $< | grep -v '^#' > _$*.s
|
||||||
|
# $(COMPILE) -c _$*.s
|
||||||
|
# mv -f _$*.o $*.o
|
||||||
|
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
# sourced my ../configure to get the list of files to link
|
# sourced by ../configure to get the list of files to link
|
||||||
# this should set $mpi_ln_src and mpi_ln_dst.
|
# this should set $mpi_ln_src and mpi_ln_dst.
|
||||||
# Note: this is called from the above directory.
|
# Note: this is called from the above directory.
|
||||||
|
|
||||||
@ -12,23 +12,40 @@ echo '/* created by config.links - do not edit */' >./mpi/asm-syntax.h
|
|||||||
|
|
||||||
if test "$try_asm_modules" = "yes" ; then
|
if test "$try_asm_modules" = "yes" ; then
|
||||||
case "${target}" in
|
case "${target}" in
|
||||||
i[34]86*-*-freebsd*-elf | i[34]86*-*-freebsd[3-9]* | i[34]86*-*-freebsdelf*)
|
i[34]86*-*-freebsd*-elf | \
|
||||||
|
i[34]86*-*-freebsd[3-9]* | \
|
||||||
|
i[34]86*-*-freebsdelf* | \
|
||||||
|
i[34]86*-*-netbsd* )
|
||||||
echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
|
echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
|
||||||
cat $srcdir/mpi/i386/syntax.h >>./mpi/asm-syntax.h
|
cat $srcdir/mpi/i386/syntax.h >>./mpi/asm-syntax.h
|
||||||
path="i386"
|
path="i386"
|
||||||
;;
|
;;
|
||||||
i[56]86*-*-freebsd*-elf | i[56]86*-*-freebsd[3-9]* | i[56]86*-*-freebsdelf*)
|
i[56]86*-*-freebsd*-elf | \
|
||||||
|
i[56]86*-*-freebsd[3-9]* | \
|
||||||
|
i[56]86*-*-freebsdelf* | \
|
||||||
|
i[56]86*-*-netbsd* | \
|
||||||
|
pentium-*-netbsd* | \
|
||||||
|
pentiumpro-*-netbsd*)
|
||||||
echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
|
echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
|
||||||
cat $srcdir/mpi/i386/syntax.h >>./mpi/asm-syntax.h
|
cat $srcdir/mpi/i386/syntax.h >>./mpi/asm-syntax.h
|
||||||
path="i586 i386"
|
path="i586 i386"
|
||||||
;;
|
;;
|
||||||
i[34]86*-*-linuxaout* | i[34]86*-*-linuxoldld* | i[34]86*-*-*bsd*)
|
i[34]86*-*-bsdi4*)
|
||||||
|
echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
|
||||||
|
cat $srcdir/mpi/i386/syntax.h >>./mpi/asm-syntax.h
|
||||||
|
path="i386"
|
||||||
|
;;
|
||||||
|
i[34]86*-*-linuxaout* | \
|
||||||
|
i[34]86*-*-linuxoldld* | \
|
||||||
|
i[34]86*-*-*bsd*)
|
||||||
echo '#define BSD_SYNTAX' >>./mpi/asm-syntax.h
|
echo '#define BSD_SYNTAX' >>./mpi/asm-syntax.h
|
||||||
echo '#define X86_BROKEN_ALIGN' >>./mpi/asm-syntax.h
|
echo '#define X86_BROKEN_ALIGN' >>./mpi/asm-syntax.h
|
||||||
cat $srcdir/mpi/i386/syntax.h >>./mpi/asm-syntax.h
|
cat $srcdir/mpi/i386/syntax.h >>./mpi/asm-syntax.h
|
||||||
path="i386"
|
path="i386"
|
||||||
;;
|
;;
|
||||||
i[56]86*-*-linuxaout* | i[56]86*-*-linuxoldld* | i[56]86*-*-*bsd*)
|
i[56]86*-*-linuxaout* | \
|
||||||
|
i[56]86*-*-linuxoldld* | \
|
||||||
|
i[56]86*-*-*bsd*)
|
||||||
echo '#define BSD_SYNTAX' >>./mpi/asm-syntax.h
|
echo '#define BSD_SYNTAX' >>./mpi/asm-syntax.h
|
||||||
echo '#define X86_BROKEN_ALIGN' >>./mpi/asm-syntax.h
|
echo '#define X86_BROKEN_ALIGN' >>./mpi/asm-syntax.h
|
||||||
cat $srcdir/mpi/i386/syntax.h >>./mpi/asm-syntax.h
|
cat $srcdir/mpi/i386/syntax.h >>./mpi/asm-syntax.h
|
||||||
@ -49,7 +66,9 @@ case "${target}" in
|
|||||||
cat $srcdir/mpi/i386/syntax.h >>./mpi/asm-syntax.h
|
cat $srcdir/mpi/i386/syntax.h >>./mpi/asm-syntax.h
|
||||||
path="i386"
|
path="i386"
|
||||||
;;
|
;;
|
||||||
i[56]86*-*-* | pentium-*-* | pentiumpro-*-*)
|
i[56]86*-*-* | \
|
||||||
|
pentium-*-* | \
|
||||||
|
pentiumpro-*-*)
|
||||||
echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
|
echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
|
||||||
cat $srcdir/mpi/i386/syntax.h >>./mpi/asm-syntax.h
|
cat $srcdir/mpi/i386/syntax.h >>./mpi/asm-syntax.h
|
||||||
path="i586 i386"
|
path="i586 i386"
|
||||||
@ -74,13 +93,23 @@ case "${target}" in
|
|||||||
path="pa7100 hppa1.1 hppa"
|
path="pa7100 hppa1.1 hppa"
|
||||||
mpi_extra_modules="udiv-qrnnd"
|
mpi_extra_modules="udiv-qrnnd"
|
||||||
;;
|
;;
|
||||||
sparc9*-*-* | sparc64*-*-* | ultrasparc*-*-*)
|
sparc64-*-linux-gnu)
|
||||||
|
# An extra rule because we have an report for this one only.
|
||||||
|
# Should be compared against the next GMP version
|
||||||
|
echo '/* configured for sparc64-*-linux-gnu */' >>./mpi/asm-syntax.h
|
||||||
|
path="sparc32v8 sparc32"
|
||||||
|
mpi_extra_modules="udiv"
|
||||||
|
;;
|
||||||
|
sparc9*-*-* | \
|
||||||
|
sparc64*-*-* | \
|
||||||
|
ultrasparc*-*-* )
|
||||||
echo '/* configured for sparc9 or higher */' >>./mpi/asm-syntax.h
|
echo '/* configured for sparc9 or higher */' >>./mpi/asm-syntax.h
|
||||||
path="sparc32v8 sparc32"
|
path="sparc32v8 sparc32"
|
||||||
;;
|
;;
|
||||||
sparc8*-*-* | microsparc*-*-*)
|
sparc8*-*-* | \
|
||||||
|
microsparc*-*-*)
|
||||||
echo '/* configured for sparc8 */' >>./mpi/asm-syntax.h
|
echo '/* configured for sparc8 */' >>./mpi/asm-syntax.h
|
||||||
path="sparc32v8"
|
path="sparc32v8 sparc32"
|
||||||
;;
|
;;
|
||||||
supersparc*-*-*)
|
supersparc*-*-*)
|
||||||
echo '/* configured for supersparc */' >>./mpi/asm-syntax.h
|
echo '/* configured for supersparc */' >>./mpi/asm-syntax.h
|
||||||
@ -92,7 +121,8 @@ case "${target}" in
|
|||||||
path="sparc32"
|
path="sparc32"
|
||||||
mpi_extra_modules="udiv"
|
mpi_extra_modules="udiv"
|
||||||
;;
|
;;
|
||||||
mips[34]*-*-* | mips*-*-irix6*)
|
mips[34]*-*-* | \
|
||||||
|
mips*-*-irix6*)
|
||||||
echo '/* configured for MIPS3 */' >>./mpi/asm-syntax.h
|
echo '/* configured for MIPS3 */' >>./mpi/asm-syntax.h
|
||||||
path="mips3"
|
path="mips3"
|
||||||
;;
|
;;
|
||||||
@ -103,7 +133,8 @@ case "${target}" in
|
|||||||
|
|
||||||
# Motorola 68k configurations. Let m68k mean 68020-68040.
|
# Motorola 68k configurations. Let m68k mean 68020-68040.
|
||||||
# mc68000 or mc68060 configurations need to be specified explicitly
|
# mc68000 or mc68060 configurations need to be specified explicitly
|
||||||
m680[234]0*-*-linuxaout* | m68k*-*-linuxaout*)
|
m680[234]0*-*-linuxaout* | \
|
||||||
|
m68k*-*-linuxaout*)
|
||||||
echo '#define MIT_SYNTAX' >>./mpi/asm-syntax.h
|
echo '#define MIT_SYNTAX' >>./mpi/asm-syntax.h
|
||||||
cat $srcdir/mpi/m68k/syntax.h >>./mpi/asm-syntax.h
|
cat $srcdir/mpi/m68k/syntax.h >>./mpi/asm-syntax.h
|
||||||
path="m68k/mc68020 m68k"
|
path="m68k/mc68020 m68k"
|
||||||
@ -113,7 +144,8 @@ case "${target}" in
|
|||||||
cat $srcdir/mpi/m68k/syntax.h >>./mpi/asm-syntax.h
|
cat $srcdir/mpi/m68k/syntax.h >>./mpi/asm-syntax.h
|
||||||
path="m68k"
|
path="m68k"
|
||||||
;;
|
;;
|
||||||
m680[234]0*-*-linux* | m68k*-*-linux*)
|
m680[234]0*-*-linux* | \
|
||||||
|
m68k*-*-linux*)
|
||||||
echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
|
echo '#define ELF_SYNTAX' >>./mpi/asm-syntax.h
|
||||||
cat $srcdir/mpi/m68k/syntax.h >>./mpi/asm-syntax.h
|
cat $srcdir/mpi/m68k/syntax.h >>./mpi/asm-syntax.h
|
||||||
;;
|
;;
|
||||||
@ -127,12 +159,14 @@ case "${target}" in
|
|||||||
cat $srcdir/mpi/m68k/syntax.h >>./mpi/asm-syntax.h
|
cat $srcdir/mpi/m68k/syntax.h >>./mpi/asm-syntax.h
|
||||||
path="m68k/mc68020 m68k"
|
path="m68k/mc68020 m68k"
|
||||||
;;
|
;;
|
||||||
m68000*-*-* | m68060*-*-*)
|
m68000*-*-* | \
|
||||||
|
m68060*-*-*)
|
||||||
echo '#define MIT_SYNTAX' >>./mpi/asm-syntax.h
|
echo '#define MIT_SYNTAX' >>./mpi/asm-syntax.h
|
||||||
cat $srcdir/mpi/m68k/syntax.h >>./mpi/asm-syntax.h
|
cat $srcdir/mpi/m68k/syntax.h >>./mpi/asm-syntax.h
|
||||||
path="m68k/mc68000"
|
path="m68k/mc68000"
|
||||||
;;
|
;;
|
||||||
m680[234]0*-*-* | m68k*-*-*)
|
m680[234]0*-*-* | \
|
||||||
|
m68k*-*-*)
|
||||||
echo '#define MIT_SYNTAX' >>./mpi/asm-syntax.h
|
echo '#define MIT_SYNTAX' >>./mpi/asm-syntax.h
|
||||||
cat $srcdir/mpi/m68k/syntax.h >>./mpi/asm-syntax.h
|
cat $srcdir/mpi/m68k/syntax.h >>./mpi/asm-syntax.h
|
||||||
path="m68k/mc68020 m68k"
|
path="m68k/mc68020 m68k"
|
||||||
@ -144,25 +178,37 @@ case "${target}" in
|
|||||||
cat $srcdir/mpi/powerpc32/syntax.h >>./mpi/asm-syntax.h
|
cat $srcdir/mpi/powerpc32/syntax.h >>./mpi/asm-syntax.h
|
||||||
path="powerpc32"
|
path="powerpc32"
|
||||||
;;
|
;;
|
||||||
rs6000-*-aix[456789]* | rs6000-*-aix3.2.[456789])
|
rs6000-*-aix[456789]* | \
|
||||||
|
rs6000-*-aix3.2.[456789])
|
||||||
mpi_sflags="-Wa,-mpwr"
|
mpi_sflags="-Wa,-mpwr"
|
||||||
path="power"
|
path="power"
|
||||||
mpi_extra_modules="udiv-w-sdiv"
|
mpi_extra_modules="udiv-w-sdiv"
|
||||||
;;
|
;;
|
||||||
rs6000-*-* | power-*-* | power2-*-*)
|
rs6000-*-* | \
|
||||||
|
power-*-* | \
|
||||||
|
power2-*-*)
|
||||||
mpi_sflags="-Wa,-mppc"
|
mpi_sflags="-Wa,-mppc"
|
||||||
path="power"
|
path="power"
|
||||||
mpi_extra_modules="udiv-w-sdiv"
|
mpi_extra_modules="udiv-w-sdiv"
|
||||||
;;
|
;;
|
||||||
|
powerpc-ibm-aix4.2.* )
|
||||||
|
# I am not sure about this one but a machine identified by
|
||||||
|
# powerpc-ibm-aix4.2.1.0 cannot use the powerpc32 code.
|
||||||
|
mpi_sflags="-Wa,-mpwr"
|
||||||
|
path="power"
|
||||||
|
mpi_extra_modules="udiv-w-sdiv"
|
||||||
|
;;
|
||||||
ppc601-*-*)
|
ppc601-*-*)
|
||||||
mpi_sflags="-Wa,-mppc"
|
mpi_sflags="-Wa,-mppc"
|
||||||
path="power powerpc32"
|
path="power powerpc32"
|
||||||
;;
|
;;
|
||||||
ppc60[234]*-*-* | powerpc*-*-*)
|
ppc60[234]*-*-* | \
|
||||||
|
powerpc*-*-*)
|
||||||
mpi_sflags="-Wa,-mppc"
|
mpi_sflags="-Wa,-mppc"
|
||||||
path="powerpc32"
|
path="powerpc32"
|
||||||
;;
|
;;
|
||||||
ppc620-*-* | powerpc64*-*-*)
|
ppc620-*-* | \
|
||||||
|
powerpc64*-*-*)
|
||||||
mpi_sflags="-Wa,-mppc"
|
mpi_sflags="-Wa,-mppc"
|
||||||
path="powerpc64"
|
path="powerpc64"
|
||||||
;;
|
;;
|
||||||
|
@ -199,6 +199,8 @@ extern UDItype __udiv_qrnnd ();
|
|||||||
"rI" ((USItype)(bh)), \
|
"rI" ((USItype)(bh)), \
|
||||||
"r" ((USItype)(al)), \
|
"r" ((USItype)(al)), \
|
||||||
"rI" ((USItype)(bl)))
|
"rI" ((USItype)(bl)))
|
||||||
|
#ifdef __ARM_ARCH_3__
|
||||||
|
/* SAM This does not work on arm4 */
|
||||||
#define umul_ppmm(xh, xl, a, b) \
|
#define umul_ppmm(xh, xl, a, b) \
|
||||||
__asm__ ("%@ Inlined umul_ppmm
|
__asm__ ("%@ Inlined umul_ppmm
|
||||||
mov %|r0, %2, lsr #16
|
mov %|r0, %2, lsr #16
|
||||||
@ -218,6 +220,18 @@ extern UDItype __udiv_qrnnd ();
|
|||||||
: "r" ((USItype)(a)), \
|
: "r" ((USItype)(a)), \
|
||||||
"r" ((USItype)(b)) \
|
"r" ((USItype)(b)) \
|
||||||
: "r0", "r1", "r2")
|
: "r0", "r1", "r2")
|
||||||
|
#elif __ARM_ARCH_4__
|
||||||
|
#define umul_ppmm(xh, xl, a, b) \
|
||||||
|
__asm__ ("%@ Inlined umul_ppmm
|
||||||
|
umull %r1, %r0, %r2, %r3" \
|
||||||
|
: "=&r" ((USItype)(xh)), \
|
||||||
|
"=r" ((USItype)(xl)) \
|
||||||
|
: "r" ((USItype)(a)), \
|
||||||
|
"r" ((USItype)(b)) \
|
||||||
|
: "r0", "r1")
|
||||||
|
#else
|
||||||
|
#error Untested architecture
|
||||||
|
#endif
|
||||||
#define UMUL_TIME 20
|
#define UMUL_TIME 20
|
||||||
#define UDIV_TIME 100
|
#define UDIV_TIME 100
|
||||||
#endif /* __arm__ */
|
#endif /* __arm__ */
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/* mpi-internal.h - Internal to the Multi Precision Integers
|
/* mpi-internal.h - Internal to the Multi Precision Integers
|
||||||
* Copyright (C) 1998 Free Software Foundation, Inc.
|
* Copyright (C) 1998 Free Software Foundation, Inc.
|
||||||
* Copyright (C) 1994, 1996 Free Software Foundation, Inc.
|
* Copyright (C) 1994, 1996, 2000 Free Software Foundation, Inc.
|
||||||
*
|
*
|
||||||
* This file is part of GnuPG.
|
* This file is part of GnuPG.
|
||||||
*
|
*
|
||||||
@ -186,6 +186,17 @@ mpi_limb_t mpihelp_sub(mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr, mpi_size_t s1_size,
|
|||||||
int mpihelp_cmp( mpi_ptr_t op1_ptr, mpi_ptr_t op2_ptr, mpi_size_t size );
|
int mpihelp_cmp( mpi_ptr_t op1_ptr, mpi_ptr_t op2_ptr, mpi_size_t size );
|
||||||
|
|
||||||
/*-- mpihelp-mul.c --*/
|
/*-- mpihelp-mul.c --*/
|
||||||
|
|
||||||
|
struct karatsuba_ctx {
|
||||||
|
struct karatsuba_ctx *next;
|
||||||
|
mpi_ptr_t tspace;
|
||||||
|
mpi_size_t tspace_size;
|
||||||
|
mpi_ptr_t tp;
|
||||||
|
mpi_size_t tp_size;
|
||||||
|
};
|
||||||
|
|
||||||
|
void mpihelp_release_karatsuba_ctx( struct karatsuba_ctx *ctx );
|
||||||
|
|
||||||
mpi_limb_t mpihelp_addmul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
|
mpi_limb_t mpihelp_addmul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
|
||||||
mpi_size_t s1_size, mpi_limb_t s2_limb);
|
mpi_size_t s1_size, mpi_limb_t s2_limb);
|
||||||
mpi_limb_t mpihelp_submul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
|
mpi_limb_t mpihelp_submul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
|
||||||
@ -198,6 +209,12 @@ void mpih_sqr_n_basecase( mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t size );
|
|||||||
void mpih_sqr_n( mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t size,
|
void mpih_sqr_n( mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t size,
|
||||||
mpi_ptr_t tspace);
|
mpi_ptr_t tspace);
|
||||||
|
|
||||||
|
void mpihelp_mul_karatsuba_case( mpi_ptr_t prodp,
|
||||||
|
mpi_ptr_t up, mpi_size_t usize,
|
||||||
|
mpi_ptr_t vp, mpi_size_t vsize,
|
||||||
|
struct karatsuba_ctx *ctx );
|
||||||
|
|
||||||
|
|
||||||
/*-- mpihelp-mul_1.c (or xxx/cpu/ *.S) --*/
|
/*-- mpihelp-mul_1.c (or xxx/cpu/ *.S) --*/
|
||||||
mpi_limb_t mpihelp_mul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
|
mpi_limb_t mpihelp_mul_1( mpi_ptr_t res_ptr, mpi_ptr_t s1_ptr,
|
||||||
mpi_size_t s1_size, mpi_limb_t s2_limb);
|
mpi_size_t s1_size, mpi_limb_t s2_limb);
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/* mpi-pow.c - MPI functions
|
/* mpi-pow.c - MPI functions
|
||||||
* Copyright (C) 1998 Free Software Foundation, Inc.
|
* Copyright (C) 1998 Free Software Foundation, Inc.
|
||||||
* Copyright (C) 1994, 1996 Free Software Foundation, Inc.
|
* Copyright (C) 1994, 1996, 2000 Free Software Foundation, Inc.
|
||||||
*
|
*
|
||||||
* This file is part of GnuPG.
|
* This file is part of GnuPG.
|
||||||
*
|
*
|
||||||
@ -30,9 +30,10 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <assert.h>
|
#include <string.h>
|
||||||
#include "mpi-internal.h"
|
#include "mpi-internal.h"
|
||||||
#include "longlong.h"
|
#include "longlong.h"
|
||||||
|
#include <assert.h>
|
||||||
|
|
||||||
|
|
||||||
/****************
|
/****************
|
||||||
@ -159,7 +160,9 @@ gcry_mpi_powm( MPI res, MPI base, MPI exp, MPI mod)
|
|||||||
int c;
|
int c;
|
||||||
mpi_limb_t e;
|
mpi_limb_t e;
|
||||||
mpi_limb_t carry_limb;
|
mpi_limb_t carry_limb;
|
||||||
|
struct karatsuba_ctx karactx;
|
||||||
|
|
||||||
|
memset( &karactx, 0, sizeof karactx );
|
||||||
negative_result = (ep[0] & 1) && base->sign;
|
negative_result = (ep[0] & 1) && base->sign;
|
||||||
|
|
||||||
i = esize - 1;
|
i = esize - 1;
|
||||||
@ -177,6 +180,7 @@ gcry_mpi_powm( MPI res, MPI base, MPI exp, MPI mod)
|
|||||||
* by RP (==RES->d), and with 50% probability in the area originally
|
* by RP (==RES->d), and with 50% probability in the area originally
|
||||||
* pointed to by XP.
|
* pointed to by XP.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
for(;;) {
|
for(;;) {
|
||||||
while( c ) {
|
while( c ) {
|
||||||
mpi_ptr_t tp;
|
mpi_ptr_t tp;
|
||||||
@ -194,7 +198,6 @@ gcry_mpi_powm( MPI res, MPI base, MPI exp, MPI mod)
|
|||||||
mpi_free_limb_space( tspace );
|
mpi_free_limb_space( tspace );
|
||||||
tsize = 2 * rsize;
|
tsize = 2 * rsize;
|
||||||
tspace = mpi_alloc_limb_space( tsize, 0 );
|
tspace = mpi_alloc_limb_space( tsize, 0 );
|
||||||
|
|
||||||
}
|
}
|
||||||
mpih_sqr_n( xp, rp, rsize, tspace );
|
mpih_sqr_n( xp, rp, rsize, tspace );
|
||||||
}
|
}
|
||||||
@ -209,7 +212,15 @@ gcry_mpi_powm( MPI res, MPI base, MPI exp, MPI mod)
|
|||||||
rsize = xsize;
|
rsize = xsize;
|
||||||
|
|
||||||
if( (mpi_limb_signed_t)e < 0 ) {
|
if( (mpi_limb_signed_t)e < 0 ) {
|
||||||
mpihelp_mul( xp, rp, rsize, bp, bsize );
|
/*mpihelp_mul( xp, rp, rsize, bp, bsize );*/
|
||||||
|
if( bsize < KARATSUBA_THRESHOLD ) {
|
||||||
|
mpihelp_mul( xp, rp, rsize, bp, bsize );
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
mpihelp_mul_karatsuba_case(
|
||||||
|
xp, rp, rsize, bp, bsize, &karactx );
|
||||||
|
}
|
||||||
|
|
||||||
xsize = rsize + bsize;
|
xsize = rsize + bsize;
|
||||||
if( xsize > msize ) {
|
if( xsize > msize ) {
|
||||||
mpihelp_divrem(xp + msize, 0, xp, xsize, mp, msize);
|
mpihelp_divrem(xp + msize, 0, xp, xsize, mp, msize);
|
||||||
@ -258,6 +269,8 @@ gcry_mpi_powm( MPI res, MPI base, MPI exp, MPI mod)
|
|||||||
if( mod_shift_cnt )
|
if( mod_shift_cnt )
|
||||||
mpihelp_rshift( rp, rp, rsize, mod_shift_cnt);
|
mpihelp_rshift( rp, rp, rsize, mod_shift_cnt);
|
||||||
MPN_NORMALIZE (rp, rsize);
|
MPN_NORMALIZE (rp, rsize);
|
||||||
|
|
||||||
|
mpihelp_release_karatsuba_ctx( &karactx );
|
||||||
}
|
}
|
||||||
|
|
||||||
if( negative_result && rsize ) {
|
if( negative_result && rsize ) {
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
/* mpihelp-div.c - MPI helper functions
|
/* mpihelp-div.c - MPI helper functions
|
||||||
* Copyright (C) 1998 Free Software Foundation, Inc.
|
* Copyright (C) 1998 Free Software Foundation, Inc.
|
||||||
* Copyright (C) 1994, 1996 Free Software Foundation, Inc.
|
* Copyright (C) 1994, 1996, 2000 Free Software Foundation, Inc.
|
||||||
*
|
*
|
||||||
* This file is part of GnuPG.
|
* This file is part of GnuPG.
|
||||||
*
|
*
|
||||||
@ -338,7 +338,7 @@ mpihelp_divrem( mpi_ptr_t qp, mpi_size_t qextra_limbs,
|
|||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
n2 = np[dsize - 1];
|
n2 = np[dsize - 1];
|
||||||
MPN_COPY_DECR (np + 1, np, dsize);
|
MPN_COPY_DECR (np + 1, np, dsize - 1);
|
||||||
np[0] = 0;
|
np[0] = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
119
mpi/mpih-mul.c
119
mpi/mpih-mul.c
@ -1,5 +1,5 @@
|
|||||||
/* mpihelp-mul.c - MPI helper functions
|
/* mpihelp-mul.c - MPI helper functions
|
||||||
* Copyright (C) 1994, 1996, 1998, 1999 Free Software Foundation, Inc.
|
* Copyright (C) 1994, 1996, 1998, 1999, 2000 Free Software Foundation, Inc.
|
||||||
*
|
*
|
||||||
* This file is part of GnuPG.
|
* This file is part of GnuPG.
|
||||||
*
|
*
|
||||||
@ -29,10 +29,10 @@
|
|||||||
#include <config.h>
|
#include <config.h>
|
||||||
#include <stdio.h>
|
#include <stdio.h>
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
|
#include <string.h>
|
||||||
#include "mpi-internal.h"
|
#include "mpi-internal.h"
|
||||||
#include "longlong.h"
|
#include "longlong.h"
|
||||||
#include "g10lib.h" /* for g10_is_secure() */
|
#include "g10lib.h" /* g10_is_secure() */
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#define MPN_MUL_N_RECURSE(prodp, up, vp, size, tspace) \
|
#define MPN_MUL_N_RECURSE(prodp, up, vp, size, tspace) \
|
||||||
@ -373,6 +373,86 @@ mpihelp_mul_n( mpi_ptr_t prodp, mpi_ptr_t up, mpi_ptr_t vp, mpi_size_t size)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
mpihelp_mul_karatsuba_case( mpi_ptr_t prodp,
|
||||||
|
mpi_ptr_t up, mpi_size_t usize,
|
||||||
|
mpi_ptr_t vp, mpi_size_t vsize,
|
||||||
|
struct karatsuba_ctx *ctx )
|
||||||
|
{
|
||||||
|
mpi_limb_t cy;
|
||||||
|
|
||||||
|
if( !ctx->tspace || ctx->tspace_size < vsize ) {
|
||||||
|
if( ctx->tspace )
|
||||||
|
mpi_free_limb_space( ctx->tspace );
|
||||||
|
ctx->tspace = mpi_alloc_limb_space( 2 * vsize,
|
||||||
|
g10_is_secure( up ) || g10_is_secure( vp ) );
|
||||||
|
ctx->tspace_size = vsize;
|
||||||
|
}
|
||||||
|
|
||||||
|
MPN_MUL_N_RECURSE( prodp, up, vp, vsize, ctx->tspace );
|
||||||
|
|
||||||
|
prodp += vsize;
|
||||||
|
up += vsize;
|
||||||
|
usize -= vsize;
|
||||||
|
if( usize >= vsize ) {
|
||||||
|
if( !ctx->tp || ctx->tp_size < vsize ) {
|
||||||
|
if( ctx->tp )
|
||||||
|
mpi_free_limb_space( ctx->tp );
|
||||||
|
ctx->tp = mpi_alloc_limb_space( 2 * vsize, g10_is_secure( up )
|
||||||
|
|| g10_is_secure( vp ) );
|
||||||
|
ctx->tp_size = vsize;
|
||||||
|
}
|
||||||
|
|
||||||
|
do {
|
||||||
|
MPN_MUL_N_RECURSE( ctx->tp, up, vp, vsize, ctx->tspace );
|
||||||
|
cy = mpihelp_add_n( prodp, prodp, ctx->tp, vsize );
|
||||||
|
mpihelp_add_1( prodp + vsize, ctx->tp + vsize, vsize, cy );
|
||||||
|
prodp += vsize;
|
||||||
|
up += vsize;
|
||||||
|
usize -= vsize;
|
||||||
|
} while( usize >= vsize );
|
||||||
|
}
|
||||||
|
|
||||||
|
if( usize ) {
|
||||||
|
if( usize < KARATSUBA_THRESHOLD ) {
|
||||||
|
mpihelp_mul( ctx->tspace, vp, vsize, up, usize );
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
if( !ctx->next ) {
|
||||||
|
ctx->next = g10_xcalloc( 1, sizeof *ctx );
|
||||||
|
}
|
||||||
|
mpihelp_mul_karatsuba_case( ctx->tspace,
|
||||||
|
vp, vsize,
|
||||||
|
up, usize,
|
||||||
|
ctx->next );
|
||||||
|
}
|
||||||
|
|
||||||
|
cy = mpihelp_add_n( prodp, prodp, ctx->tspace, vsize);
|
||||||
|
mpihelp_add_1( prodp + vsize, ctx->tspace + vsize, usize, cy );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
mpihelp_release_karatsuba_ctx( struct karatsuba_ctx *ctx )
|
||||||
|
{
|
||||||
|
struct karatsuba_ctx *ctx2;
|
||||||
|
|
||||||
|
if( ctx->tp )
|
||||||
|
mpi_free_limb_space( ctx->tp );
|
||||||
|
if( ctx->tspace )
|
||||||
|
mpi_free_limb_space( ctx->tspace );
|
||||||
|
for( ctx=ctx->next; ctx; ctx = ctx2 ) {
|
||||||
|
ctx2 = ctx->next;
|
||||||
|
if( ctx->tp )
|
||||||
|
mpi_free_limb_space( ctx->tp );
|
||||||
|
if( ctx->tspace )
|
||||||
|
mpi_free_limb_space( ctx->tspace );
|
||||||
|
g10_free( ctx );
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/* Multiply the natural numbers u (pointed to by UP, with USIZE limbs)
|
/* Multiply the natural numbers u (pointed to by UP, with USIZE limbs)
|
||||||
* and v (pointed to by VP, with VSIZE limbs), and store the result at
|
* and v (pointed to by VP, with VSIZE limbs), and store the result at
|
||||||
* PRODP. USIZE + VSIZE limbs are always stored, but if the input
|
* PRODP. USIZE + VSIZE limbs are always stored, but if the input
|
||||||
@ -394,7 +474,7 @@ mpihelp_mul( mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t usize,
|
|||||||
{
|
{
|
||||||
mpi_ptr_t prod_endp = prodp + usize + vsize - 1;
|
mpi_ptr_t prod_endp = prodp + usize + vsize - 1;
|
||||||
mpi_limb_t cy;
|
mpi_limb_t cy;
|
||||||
mpi_ptr_t tspace;
|
struct karatsuba_ctx ctx;
|
||||||
|
|
||||||
if( vsize < KARATSUBA_THRESHOLD ) {
|
if( vsize < KARATSUBA_THRESHOLD ) {
|
||||||
mpi_size_t i;
|
mpi_size_t i;
|
||||||
@ -438,34 +518,9 @@ mpihelp_mul( mpi_ptr_t prodp, mpi_ptr_t up, mpi_size_t usize,
|
|||||||
return cy;
|
return cy;
|
||||||
}
|
}
|
||||||
|
|
||||||
tspace = mpi_alloc_limb_space( 2 * vsize,
|
memset( &ctx, 0, sizeof ctx );
|
||||||
g10_is_secure( up ) || g10_is_secure( vp ) );
|
mpihelp_mul_karatsuba_case( prodp, up, usize, vp, vsize, &ctx );
|
||||||
MPN_MUL_N_RECURSE( prodp, up, vp, vsize, tspace );
|
mpihelp_release_karatsuba_ctx( &ctx );
|
||||||
|
|
||||||
prodp += vsize;
|
|
||||||
up += vsize;
|
|
||||||
usize -= vsize;
|
|
||||||
if( usize >= vsize ) {
|
|
||||||
mpi_ptr_t tp = mpi_alloc_limb_space( 2 * vsize, g10_is_secure( up )
|
|
||||||
|| g10_is_secure( vp ) );
|
|
||||||
do {
|
|
||||||
MPN_MUL_N_RECURSE( tp, up, vp, vsize, tspace );
|
|
||||||
cy = mpihelp_add_n( prodp, prodp, tp, vsize );
|
|
||||||
mpihelp_add_1( prodp + vsize, tp + vsize, vsize, cy );
|
|
||||||
prodp += vsize;
|
|
||||||
up += vsize;
|
|
||||||
usize -= vsize;
|
|
||||||
} while( usize >= vsize );
|
|
||||||
mpi_free_limb_space( tp );
|
|
||||||
}
|
|
||||||
|
|
||||||
if( usize ) {
|
|
||||||
mpihelp_mul( tspace, vp, vsize, up, usize );
|
|
||||||
cy = mpihelp_add_n( prodp, prodp, tspace, vsize);
|
|
||||||
mpihelp_add_1( prodp + vsize, tspace + vsize, usize, cy );
|
|
||||||
}
|
|
||||||
|
|
||||||
mpi_free_limb_space( tspace );
|
|
||||||
return *prod_endp;
|
return *prod_endp;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
mpih-add1.S
|
||||||
|
mpih-lshift.S
|
||||||
|
mpih-mul1.S
|
||||||
|
mpih-mul2.S
|
||||||
|
mpih-mul3.S
|
||||||
|
mpih-rshift.S
|
||||||
|
mpih-sub1.S
|
86
mpi/power/mpih-add1.S
Normal file
86
mpi/power/mpih-add1.S
Normal file
@ -0,0 +1,86 @@
|
|||||||
|
/* IBM POWER add_n -- Add two limb vectors of equal, non-zero length.
|
||||||
|
*
|
||||||
|
* Copyright (C) 1992, 1994, 1995, 1996, 1999 Free Software Foundation, Inc.
|
||||||
|
*
|
||||||
|
* This file is part of GnuPG.
|
||||||
|
*
|
||||||
|
* GnuPG is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* GnuPG is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "sysdep.h"
|
||||||
|
#include "asm-syntax.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
# INPUT PARAMETERS
|
||||||
|
# res_ptr r3
|
||||||
|
# s1_ptr r4
|
||||||
|
# s2_ptr r5
|
||||||
|
# size r6
|
||||||
|
*/
|
||||||
|
|
||||||
|
.toc
|
||||||
|
.extern mpihelp_add_n[DS]
|
||||||
|
.extern .mpihelp_add_n
|
||||||
|
.csect [PR]
|
||||||
|
.align 2
|
||||||
|
.globl mpihelp_add_n
|
||||||
|
.globl .mpihelp_add_n
|
||||||
|
.csect mpihelp_add_n[DS]
|
||||||
|
mpihelp_add_n:
|
||||||
|
.long .mpihelp_add_n, TOC[tc0], 0
|
||||||
|
.csect [PR]
|
||||||
|
.mpihelp_add_n:
|
||||||
|
andil. 10,6,1 # odd or even number of limbs?
|
||||||
|
l 8,0(4) # load least significant s1 limb
|
||||||
|
l 0,0(5) # load least significant s2 limb
|
||||||
|
cal 3,-4(3) # offset res_ptr, it's updated before it's used
|
||||||
|
sri 10,6,1 # count for unrolled loop
|
||||||
|
a 7,0,8 # add least significant limbs, set cy
|
||||||
|
mtctr 10 # copy count into CTR
|
||||||
|
beq 0,Leven # branch if even # of limbs (# of limbs >= 2)
|
||||||
|
|
||||||
|
# We have an odd # of limbs. Add the first limbs separately.
|
||||||
|
cmpi 1,10,0 # is count for unrolled loop zero?
|
||||||
|
bne 1,L1 # branch if not
|
||||||
|
st 7,4(3)
|
||||||
|
aze 3,10 # use the fact that r10 is zero...
|
||||||
|
br # return
|
||||||
|
|
||||||
|
# We added least significant limbs. Now reload the next limbs to enter loop.
|
||||||
|
L1: lu 8,4(4) # load s1 limb and update s1_ptr
|
||||||
|
lu 0,4(5) # load s2 limb and update s2_ptr
|
||||||
|
stu 7,4(3)
|
||||||
|
ae 7,0,8 # add limbs, set cy
|
||||||
|
Leven: lu 9,4(4) # load s1 limb and update s1_ptr
|
||||||
|
lu 10,4(5) # load s2 limb and update s2_ptr
|
||||||
|
bdz Lend # If done, skip loop
|
||||||
|
|
||||||
|
Loop: lu 8,4(4) # load s1 limb and update s1_ptr
|
||||||
|
lu 0,4(5) # load s2 limb and update s2_ptr
|
||||||
|
ae 11,9,10 # add previous limbs with cy, set cy
|
||||||
|
stu 7,4(3) #
|
||||||
|
lu 9,4(4) # load s1 limb and update s1_ptr
|
||||||
|
lu 10,4(5) # load s2 limb and update s2_ptr
|
||||||
|
ae 7,0,8 # add previous limbs with cy, set cy
|
||||||
|
stu 11,4(3) #
|
||||||
|
bdn Loop # decrement CTR and loop back
|
||||||
|
|
||||||
|
Lend: ae 11,9,10 # add limbs with cy, set cy
|
||||||
|
st 7,4(3) #
|
||||||
|
st 11,8(3) #
|
||||||
|
lil 3,0 # load cy into ...
|
||||||
|
aze 3,3 # ... return value register
|
||||||
|
br
|
||||||
|
|
64
mpi/power/mpih-lshift.S
Normal file
64
mpi/power/mpih-lshift.S
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
/* IBM POWER lshift
|
||||||
|
*
|
||||||
|
* Copyright (C) 1992, 1994, 1999 Free Software Foundation, Inc.
|
||||||
|
*
|
||||||
|
* This file is part of GnuPG.
|
||||||
|
*
|
||||||
|
* GnuPG is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* GnuPG is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "sysdep.h"
|
||||||
|
#include "asm-syntax.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
# INPUT PARAMETERS
|
||||||
|
# res_ptr r3
|
||||||
|
# s_ptr r4
|
||||||
|
# size r5
|
||||||
|
# cnt r6
|
||||||
|
*/
|
||||||
|
|
||||||
|
.toc
|
||||||
|
.extern mpihelp_lshift[DS]
|
||||||
|
.extern .mpihelp_lshift
|
||||||
|
.csect [PR]
|
||||||
|
.align 2
|
||||||
|
.globl mpihelp_lshift
|
||||||
|
.globl .mpihelp_lshift
|
||||||
|
.csect mpihelp_lshift[DS]
|
||||||
|
mpihelp_lshift:
|
||||||
|
.long .mpihelp_lshift, TOC[tc0], 0
|
||||||
|
.csect [PR]
|
||||||
|
.mpihelp_lshift:
|
||||||
|
sli 0,5,2
|
||||||
|
cax 9,3,0
|
||||||
|
cax 4,4,0
|
||||||
|
sfi 8,6,32
|
||||||
|
mtctr 5 # put limb count in CTR loop register
|
||||||
|
lu 0,-4(4) # read most significant limb
|
||||||
|
sre 3,0,8 # compute carry out limb, and init MQ register
|
||||||
|
bdz Lend2 # if just one limb, skip loop
|
||||||
|
lu 0,-4(4) # read 2:nd most significant limb
|
||||||
|
sreq 7,0,8 # compute most significant limb of result
|
||||||
|
bdz Lend # if just two limb, skip loop
|
||||||
|
Loop: lu 0,-4(4) # load next lower limb
|
||||||
|
stu 7,-4(9) # store previous result during read latency
|
||||||
|
sreq 7,0,8 # compute result limb
|
||||||
|
bdn Loop # loop back until CTR is zero
|
||||||
|
Lend: stu 7,-4(9) # store 2:nd least significant limb
|
||||||
|
Lend2: sle 7,0,6 # compute least significant limb
|
||||||
|
st 7,-4(9) # store it
|
||||||
|
br
|
||||||
|
|
115
mpi/power/mpih-mul1.S
Normal file
115
mpi/power/mpih-mul1.S
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
/* IBM POWER mul_1 -- Multiply a limb vector with a limb and store
|
||||||
|
* the result in a second limb vector.
|
||||||
|
*
|
||||||
|
* Copyright (C) 1992, 1994, 1999 Free Software Foundation, Inc.
|
||||||
|
*
|
||||||
|
* This file is part of GnuPG.
|
||||||
|
*
|
||||||
|
* GnuPG is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* GnuPG is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "sysdep.h"
|
||||||
|
#include "asm-syntax.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
# INPUT PARAMETERS
|
||||||
|
# res_ptr r3
|
||||||
|
# s1_ptr r4
|
||||||
|
# size r5
|
||||||
|
# s2_limb r6
|
||||||
|
|
||||||
|
# The RS/6000 has no unsigned 32x32->64 bit multiplication instruction. To
|
||||||
|
# obtain that operation, we have to use the 32x32->64 signed multiplication
|
||||||
|
# instruction, and add the appropriate compensation to the high limb of the
|
||||||
|
# result. We add the multiplicand if the multiplier has its most significant
|
||||||
|
# bit set, and we add the multiplier if the multiplicand has its most
|
||||||
|
# significant bit set. We need to preserve the carry flag between each
|
||||||
|
# iteration, so we have to compute the compensation carefully (the natural,
|
||||||
|
# srai+and doesn't work). Since the POWER architecture has a branch unit
|
||||||
|
# we can branch in zero cycles, so that's how we perform the additions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.toc
|
||||||
|
.csect .mpihelp_mul_1[PR]
|
||||||
|
.align 2
|
||||||
|
.globl mpihelp_mul_1
|
||||||
|
.globl .mpihelp_mul_1
|
||||||
|
.csect mpihelp_mul_1[DS]
|
||||||
|
mpihelp_mul_1:
|
||||||
|
.long .mpihelp_mul_1[PR], TOC[tc0], 0
|
||||||
|
.csect .mpihelp_mul_1[PR]
|
||||||
|
.mpihelp_mul_1:
|
||||||
|
|
||||||
|
cal 3,-4(3)
|
||||||
|
l 0,0(4)
|
||||||
|
cmpi 0,6,0
|
||||||
|
mtctr 5
|
||||||
|
mul 9,0,6
|
||||||
|
srai 7,0,31
|
||||||
|
and 7,7,6
|
||||||
|
mfmq 8
|
||||||
|
ai 0,0,0 # reset carry
|
||||||
|
cax 9,9,7
|
||||||
|
blt Lneg
|
||||||
|
Lpos: bdz Lend
|
||||||
|
Lploop: lu 0,4(4)
|
||||||
|
stu 8,4(3)
|
||||||
|
cmpi 0,0,0
|
||||||
|
mul 10,0,6
|
||||||
|
mfmq 0
|
||||||
|
ae 8,0,9
|
||||||
|
bge Lp0
|
||||||
|
cax 10,10,6 # adjust high limb for negative limb from s1
|
||||||
|
Lp0: bdz Lend0
|
||||||
|
lu 0,4(4)
|
||||||
|
stu 8,4(3)
|
||||||
|
cmpi 0,0,0
|
||||||
|
mul 9,0,6
|
||||||
|
mfmq 0
|
||||||
|
ae 8,0,10
|
||||||
|
bge Lp1
|
||||||
|
cax 9,9,6 # adjust high limb for negative limb from s1
|
||||||
|
Lp1: bdn Lploop
|
||||||
|
b Lend
|
||||||
|
|
||||||
|
Lneg: cax 9,9,0
|
||||||
|
bdz Lend
|
||||||
|
Lnloop: lu 0,4(4)
|
||||||
|
stu 8,4(3)
|
||||||
|
cmpi 0,0,0
|
||||||
|
mul 10,0,6
|
||||||
|
cax 10,10,0 # adjust high limb for negative s2_limb
|
||||||
|
mfmq 0
|
||||||
|
ae 8,0,9
|
||||||
|
bge Ln0
|
||||||
|
cax 10,10,6 # adjust high limb for negative limb from s1
|
||||||
|
Ln0: bdz Lend0
|
||||||
|
lu 0,4(4)
|
||||||
|
stu 8,4(3)
|
||||||
|
cmpi 0,0,0
|
||||||
|
mul 9,0,6
|
||||||
|
cax 9,9,0 # adjust high limb for negative s2_limb
|
||||||
|
mfmq 0
|
||||||
|
ae 8,0,10
|
||||||
|
bge Ln1
|
||||||
|
cax 9,9,6 # adjust high limb for negative limb from s1
|
||||||
|
Ln1: bdn Lnloop
|
||||||
|
b Lend
|
||||||
|
|
||||||
|
Lend0: cal 9,0(10)
|
||||||
|
Lend: st 8,4(3)
|
||||||
|
aze 3,9
|
||||||
|
br
|
||||||
|
|
130
mpi/power/mpih-mul2.S
Normal file
130
mpi/power/mpih-mul2.S
Normal file
@ -0,0 +1,130 @@
|
|||||||
|
/* IBM POWER addmul_1 -- Multiply a limb vector with a limb and add
|
||||||
|
* the result to a second limb vector.
|
||||||
|
*
|
||||||
|
* Copyright (C) 1992, 1994, 1999 Free Software Foundation, Inc.
|
||||||
|
*
|
||||||
|
* This file is part of GnuPG.
|
||||||
|
*
|
||||||
|
* GnuPG is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* GnuPG is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "sysdep.h"
|
||||||
|
#include "asm-syntax.h"
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
# INPUT PARAMETERS
|
||||||
|
# res_ptr r3
|
||||||
|
# s1_ptr r4
|
||||||
|
# size r5
|
||||||
|
# s2_limb r6
|
||||||
|
|
||||||
|
# The RS/6000 has no unsigned 32x32->64 bit multiplication instruction. To
|
||||||
|
# obtain that operation, we have to use the 32x32->64 signed multiplication
|
||||||
|
# instruction, and add the appropriate compensation to the high limb of the
|
||||||
|
# result. We add the multiplicand if the multiplier has its most significant
|
||||||
|
# bit set, and we add the multiplier if the multiplicand has its most
|
||||||
|
# significant bit set. We need to preserve the carry flag between each
|
||||||
|
# iteration, so we have to compute the compensation carefully (the natural,
|
||||||
|
# srai+and doesn't work). Since the POWER architecture has a branch unit
|
||||||
|
# we can branch in zero cycles, so that's how we perform the additions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.toc
|
||||||
|
.csect .mpihelp_addmul_1[PR]
|
||||||
|
.align 2
|
||||||
|
.globl mpihelp_addmul_1
|
||||||
|
.globl .mpihelp_addmul_1
|
||||||
|
.csect mpihelp_addmul_1[DS]
|
||||||
|
mpihelp_addmul_1:
|
||||||
|
.long .mpihelp_addmul_1[PR], TOC[tc0], 0
|
||||||
|
.csect .mpihelp_addmul_1[PR]
|
||||||
|
.mpihelp_addmul_1:
|
||||||
|
|
||||||
|
cal 3,-4(3)
|
||||||
|
l 0,0(4)
|
||||||
|
cmpi 0,6,0
|
||||||
|
mtctr 5
|
||||||
|
mul 9,0,6
|
||||||
|
srai 7,0,31
|
||||||
|
and 7,7,6
|
||||||
|
mfmq 8
|
||||||
|
cax 9,9,7
|
||||||
|
l 7,4(3)
|
||||||
|
a 8,8,7 # add res_limb
|
||||||
|
blt Lneg
|
||||||
|
Lpos: bdz Lend
|
||||||
|
|
||||||
|
Lploop: lu 0,4(4)
|
||||||
|
stu 8,4(3)
|
||||||
|
cmpi 0,0,0
|
||||||
|
mul 10,0,6
|
||||||
|
mfmq 0
|
||||||
|
ae 8,0,9 # low limb + old_cy_limb + old cy
|
||||||
|
l 7,4(3)
|
||||||
|
aze 10,10 # propagate cy to new cy_limb
|
||||||
|
a 8,8,7 # add res_limb
|
||||||
|
bge Lp0
|
||||||
|
cax 10,10,6 # adjust high limb for negative limb from s1
|
||||||
|
Lp0: bdz Lend0
|
||||||
|
lu 0,4(4)
|
||||||
|
stu 8,4(3)
|
||||||
|
cmpi 0,0,0
|
||||||
|
mul 9,0,6
|
||||||
|
mfmq 0
|
||||||
|
ae 8,0,10
|
||||||
|
l 7,4(3)
|
||||||
|
aze 9,9
|
||||||
|
a 8,8,7
|
||||||
|
bge Lp1
|
||||||
|
cax 9,9,6 # adjust high limb for negative limb from s1
|
||||||
|
Lp1: bdn Lploop
|
||||||
|
|
||||||
|
b Lend
|
||||||
|
|
||||||
|
Lneg: cax 9,9,0
|
||||||
|
bdz Lend
|
||||||
|
Lnloop: lu 0,4(4)
|
||||||
|
stu 8,4(3)
|
||||||
|
cmpi 0,0,0
|
||||||
|
mul 10,0,6
|
||||||
|
mfmq 7
|
||||||
|
ae 8,7,9
|
||||||
|
l 7,4(3)
|
||||||
|
ae 10,10,0 # propagate cy to new cy_limb
|
||||||
|
a 8,8,7 # add res_limb
|
||||||
|
bge Ln0
|
||||||
|
cax 10,10,6 # adjust high limb for negative limb from s1
|
||||||
|
Ln0: bdz Lend0
|
||||||
|
lu 0,4(4)
|
||||||
|
stu 8,4(3)
|
||||||
|
cmpi 0,0,0
|
||||||
|
mul 9,0,6
|
||||||
|
mfmq 7
|
||||||
|
ae 8,7,10
|
||||||
|
l 7,4(3)
|
||||||
|
ae 9,9,0 # propagate cy to new cy_limb
|
||||||
|
a 8,8,7 # add res_limb
|
||||||
|
bge Ln1
|
||||||
|
cax 9,9,6 # adjust high limb for negative limb from s1
|
||||||
|
Ln1: bdn Lnloop
|
||||||
|
b Lend
|
||||||
|
|
||||||
|
Lend0: cal 9,0(10)
|
||||||
|
Lend: st 8,4(3)
|
||||||
|
aze 3,9
|
||||||
|
br
|
||||||
|
|
135
mpi/power/mpih-mul3.S
Normal file
135
mpi/power/mpih-mul3.S
Normal file
@ -0,0 +1,135 @@
|
|||||||
|
/* IBM POWER submul_1 -- Multiply a limb vector with a limb and subtract
|
||||||
|
* the result from a second limb vector.
|
||||||
|
*
|
||||||
|
* Copyright (C) 1992, 1994, 1999 Free Software Foundation, Inc.
|
||||||
|
*
|
||||||
|
* This file is part of GnuPG.
|
||||||
|
*
|
||||||
|
* GnuPG is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* GnuPG is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "sysdep.h"
|
||||||
|
#include "asm-syntax.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
|
||||||
|
# INPUT PARAMETERS
|
||||||
|
# res_ptr r3
|
||||||
|
# s1_ptr r4
|
||||||
|
# size r5
|
||||||
|
# s2_limb r6
|
||||||
|
|
||||||
|
# The RS/6000 has no unsigned 32x32->64 bit multiplication instruction. To
|
||||||
|
# obtain that operation, we have to use the 32x32->64 signed multiplication
|
||||||
|
# instruction, and add the appropriate compensation to the high limb of the
|
||||||
|
# result. We add the multiplicand if the multiplier has its most significant
|
||||||
|
# bit set, and we add the multiplier if the multiplicand has its most
|
||||||
|
# significant bit set. We need to preserve the carry flag between each
|
||||||
|
# iteration, so we have to compute the compensation carefully (the natural,
|
||||||
|
# srai+and doesn't work). Since the POWER architecture has a branch unit
|
||||||
|
# we can branch in zero cycles, so that's how we perform the additions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
.toc
|
||||||
|
.csect .mpihelp_submul_1[PR]
|
||||||
|
.align 2
|
||||||
|
.globl mpihelp_submul_1
|
||||||
|
.globl .mpihelp_submul_1
|
||||||
|
.csect mpihelp_submul_1[DS]
|
||||||
|
mpihelp_submul_1:
|
||||||
|
.long .mpihelp_submul_1[PR], TOC[tc0], 0
|
||||||
|
.csect .mpihelp_submul_1[PR]
|
||||||
|
.mpihelp_submul_1:
|
||||||
|
|
||||||
|
cal 3,-4(3)
|
||||||
|
l 0,0(4)
|
||||||
|
cmpi 0,6,0
|
||||||
|
mtctr 5
|
||||||
|
mul 9,0,6
|
||||||
|
srai 7,0,31
|
||||||
|
and 7,7,6
|
||||||
|
mfmq 11
|
||||||
|
cax 9,9,7
|
||||||
|
l 7,4(3)
|
||||||
|
sf 8,11,7 # add res_limb
|
||||||
|
a 11,8,11 # invert cy (r11 is junk)
|
||||||
|
blt Lneg
|
||||||
|
Lpos: bdz Lend
|
||||||
|
|
||||||
|
Lploop: lu 0,4(4)
|
||||||
|
stu 8,4(3)
|
||||||
|
cmpi 0,0,0
|
||||||
|
mul 10,0,6
|
||||||
|
mfmq 0
|
||||||
|
ae 11,0,9 # low limb + old_cy_limb + old cy
|
||||||
|
l 7,4(3)
|
||||||
|
aze 10,10 # propagate cy to new cy_limb
|
||||||
|
sf 8,11,7 # add res_limb
|
||||||
|
a 11,8,11 # invert cy (r11 is junk)
|
||||||
|
bge Lp0
|
||||||
|
cax 10,10,6 # adjust high limb for negative limb from s1
|
||||||
|
Lp0: bdz Lend0
|
||||||
|
lu 0,4(4)
|
||||||
|
stu 8,4(3)
|
||||||
|
cmpi 0,0,0
|
||||||
|
mul 9,0,6
|
||||||
|
mfmq 0
|
||||||
|
ae 11,0,10
|
||||||
|
l 7,4(3)
|
||||||
|
aze 9,9
|
||||||
|
sf 8,11,7
|
||||||
|
a 11,8,11 # invert cy (r11 is junk)
|
||||||
|
bge Lp1
|
||||||
|
cax 9,9,6 # adjust high limb for negative limb from s1
|
||||||
|
Lp1: bdn Lploop
|
||||||
|
|
||||||
|
b Lend
|
||||||
|
|
||||||
|
Lneg: cax 9,9,0
|
||||||
|
bdz Lend
|
||||||
|
Lnloop: lu 0,4(4)
|
||||||
|
stu 8,4(3)
|
||||||
|
cmpi 0,0,0
|
||||||
|
mul 10,0,6
|
||||||
|
mfmq 7
|
||||||
|
ae 11,7,9
|
||||||
|
l 7,4(3)
|
||||||
|
ae 10,10,0 # propagate cy to new cy_limb
|
||||||
|
sf 8,11,7 # add res_limb
|
||||||
|
a 11,8,11 # invert cy (r11 is junk)
|
||||||
|
bge Ln0
|
||||||
|
cax 10,10,6 # adjust high limb for negative limb from s1
|
||||||
|
Ln0: bdz Lend0
|
||||||
|
lu 0,4(4)
|
||||||
|
stu 8,4(3)
|
||||||
|
cmpi 0,0,0
|
||||||
|
mul 9,0,6
|
||||||
|
mfmq 7
|
||||||
|
ae 11,7,10
|
||||||
|
l 7,4(3)
|
||||||
|
ae 9,9,0 # propagate cy to new cy_limb
|
||||||
|
sf 8,11,7 # add res_limb
|
||||||
|
a 11,8,11 # invert cy (r11 is junk)
|
||||||
|
bge Ln1
|
||||||
|
cax 9,9,6 # adjust high limb for negative limb from s1
|
||||||
|
Ln1: bdn Lnloop
|
||||||
|
b Lend
|
||||||
|
|
||||||
|
Lend0: cal 9,0(10)
|
||||||
|
Lend: st 8,4(3)
|
||||||
|
aze 3,9
|
||||||
|
br
|
||||||
|
|
64
mpi/power/mpih-rshift.S
Normal file
64
mpi/power/mpih-rshift.S
Normal file
@ -0,0 +1,64 @@
|
|||||||
|
/* IBM POWER rshift
|
||||||
|
*
|
||||||
|
* Copyright (C) 1992, 1994, 1999 Free Software Foundation, Inc.
|
||||||
|
*
|
||||||
|
* This file is part of GnuPG.
|
||||||
|
*
|
||||||
|
* GnuPG is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* GnuPG is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "sysdep.h"
|
||||||
|
#include "asm-syntax.h"
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
# INPUT PARAMETERS
|
||||||
|
# res_ptr r3
|
||||||
|
# s_ptr r4
|
||||||
|
# size r5
|
||||||
|
# cnt r6
|
||||||
|
*/
|
||||||
|
|
||||||
|
.toc
|
||||||
|
.extern mpihelp_rshift[DS]
|
||||||
|
.extern .mpihelp_rshift
|
||||||
|
.csect [PR]
|
||||||
|
.align 2
|
||||||
|
.globl mpihelp_rshift
|
||||||
|
.globl .mpihelp_rshift
|
||||||
|
.csect mpihelp_rshift[DS]
|
||||||
|
mpihelp_rshift:
|
||||||
|
.long .mpihelp_rshift, TOC[tc0], 0
|
||||||
|
.csect [PR]
|
||||||
|
.mpihelp_rshift:
|
||||||
|
sfi 8,6,32
|
||||||
|
mtctr 5 # put limb count in CTR loop register
|
||||||
|
l 0,0(4) # read least significant limb
|
||||||
|
ai 9,3,-4 # adjust res_ptr since it's offset in the stu:s
|
||||||
|
sle 3,0,8 # compute carry limb, and init MQ register
|
||||||
|
bdz Lend2 # if just one limb, skip loop
|
||||||
|
lu 0,4(4) # read 2:nd least significant limb
|
||||||
|
sleq 7,0,8 # compute least significant limb of result
|
||||||
|
bdz Lend # if just two limb, skip loop
|
||||||
|
Loop: lu 0,4(4) # load next higher limb
|
||||||
|
stu 7,4(9) # store previous result during read latency
|
||||||
|
sleq 7,0,8 # compute result limb
|
||||||
|
bdn Loop # loop back until CTR is zero
|
||||||
|
Lend: stu 7,4(9) # store 2:nd most significant limb
|
||||||
|
Lend2: sre 7,0,6 # compute most significant limb
|
||||||
|
st 7,4(9) # store it
|
||||||
|
br
|
||||||
|
|
||||||
|
|
87
mpi/power/mpih-sub1.S
Normal file
87
mpi/power/mpih-sub1.S
Normal file
@ -0,0 +1,87 @@
|
|||||||
|
/* IBM POWER sub_n -- Subtract two limb vectors of equal, non-zero length.
|
||||||
|
*
|
||||||
|
* Copyright (C) 1992, 1994, 1995, 1996, 1999 Free Software Foundation, Inc.
|
||||||
|
*
|
||||||
|
* This file is part of GnuPG.
|
||||||
|
*
|
||||||
|
* GnuPG is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 2 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* GnuPG is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program; if not, write to the Free Software
|
||||||
|
* Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include "sysdep.h"
|
||||||
|
#include "asm-syntax.h"
|
||||||
|
|
||||||
|
/*
|
||||||
|
# INPUT PARAMETERS
|
||||||
|
# res_ptr r3
|
||||||
|
# s1_ptr r4
|
||||||
|
# s2_ptr r5
|
||||||
|
# size r6
|
||||||
|
*/
|
||||||
|
|
||||||
|
.toc
|
||||||
|
.extern mpihelp_sub_n[DS]
|
||||||
|
.extern .mpihelp_sub_n
|
||||||
|
.csect [PR]
|
||||||
|
.align 2
|
||||||
|
.globl mpihelp_sub_n
|
||||||
|
.globl .mpihelp_sub_n
|
||||||
|
.csect mpihelp_sub_n[DS]
|
||||||
|
mpihelp_sub_n:
|
||||||
|
.long .mpihelp_sub_n, TOC[tc0], 0
|
||||||
|
.csect [PR]
|
||||||
|
.mpihelp_sub_n:
|
||||||
|
andil. 10,6,1 # odd or even number of limbs?
|
||||||
|
l 8,0(4) # load least significant s1 limb
|
||||||
|
l 0,0(5) # load least significant s2 limb
|
||||||
|
cal 3,-4(3) # offset res_ptr, it's updated before it's used
|
||||||
|
sri 10,6,1 # count for unrolled loop
|
||||||
|
sf 7,0,8 # subtract least significant limbs, set cy
|
||||||
|
mtctr 10 # copy count into CTR
|
||||||
|
beq 0,Leven # branch if even # of limbs (# of limbs >= 2)
|
||||||
|
|
||||||
|
# We have an odd # of limbs. Add the first limbs separately.
|
||||||
|
cmpi 1,10,0 # is count for unrolled loop zero?
|
||||||
|
bne 1,L1 # branch if not
|
||||||
|
st 7,4(3)
|
||||||
|
sfe 3,0,0 # load !cy into ...
|
||||||
|
sfi 3,3,0 # ... return value register
|
||||||
|
br # return
|
||||||
|
|
||||||
|
# We added least significant limbs. Now reload the next limbs to enter loop.
|
||||||
|
L1: lu 8,4(4) # load s1 limb and update s1_ptr
|
||||||
|
lu 0,4(5) # load s2 limb and update s2_ptr
|
||||||
|
stu 7,4(3)
|
||||||
|
sfe 7,0,8 # subtract limbs, set cy
|
||||||
|
Leven: lu 9,4(4) # load s1 limb and update s1_ptr
|
||||||
|
lu 10,4(5) # load s2 limb and update s2_ptr
|
||||||
|
bdz Lend # If done, skip loop
|
||||||
|
|
||||||
|
Loop: lu 8,4(4) # load s1 limb and update s1_ptr
|
||||||
|
lu 0,4(5) # load s2 limb and update s2_ptr
|
||||||
|
sfe 11,10,9 # subtract previous limbs with cy, set cy
|
||||||
|
stu 7,4(3) #
|
||||||
|
lu 9,4(4) # load s1 limb and update s1_ptr
|
||||||
|
lu 10,4(5) # load s2 limb and update s2_ptr
|
||||||
|
sfe 7,0,8 # subtract previous limbs with cy, set cy
|
||||||
|
stu 11,4(3) #
|
||||||
|
bdn Loop # decrement CTR and loop back
|
||||||
|
|
||||||
|
Lend: sfe 11,10,9 # subtract limbs with cy, set cy
|
||||||
|
st 7,4(3) #
|
||||||
|
st 11,8(3) #
|
||||||
|
sfe 3,0,0 # load !cy into ...
|
||||||
|
sfi 3,3,0 # ... return value register
|
||||||
|
br
|
||||||
|
|
@ -2,16 +2,20 @@
|
|||||||
# Copyright (c) 1998 by Werner Koch (dd9jn)
|
# Copyright (c) 1998 by Werner Koch (dd9jn)
|
||||||
|
|
||||||
# utility
|
# utility
|
||||||
gcrypt/secmem.c
|
|
||||||
jnlib/argparse.c
|
|
||||||
util/miscutil.c
|
util/miscutil.c
|
||||||
util/errors.c
|
util/errors.c
|
||||||
util/logger.c
|
util/logger.c
|
||||||
|
|
||||||
|
# jnlib
|
||||||
|
jnlib/argparse.c
|
||||||
|
|
||||||
# cipher
|
# cipher
|
||||||
cipher/random.c
|
cipher/random.c
|
||||||
cipher/rndlinux.c
|
cipher/rndlinux.c
|
||||||
|
|
||||||
|
# gcrypt
|
||||||
|
gcrypt/secmem.c
|
||||||
|
|
||||||
# main program
|
# main program
|
||||||
|
|
||||||
g10/gpg.c
|
g10/gpg.c
|
||||||
@ -49,4 +53,3 @@ g10/seskey.c
|
|||||||
g10/delkey.c
|
g10/delkey.c
|
||||||
g10/helptext.c
|
g10/helptext.c
|
||||||
|
|
||||||
#---end--
|
|
||||||
|
2087
po/es_ES.po
2087
po/es_ES.po
File diff suppressed because it is too large
Load Diff
1838
po/pt_BR.po
1838
po/pt_BR.po
File diff suppressed because it is too large
Load Diff
1706
po/pt_PT.po
1706
po/pt_PT.po
File diff suppressed because it is too large
Load Diff
@ -1,3 +1,8 @@
|
|||||||
|
Mon Jul 17 16:35:47 CEST 2000 Werner Koch <wk@>
|
||||||
|
|
||||||
|
* config.gues, config.sub: Support for s390-ibm-linux-gnu; thanks
|
||||||
|
to Holger Smolinski. Add support for QNX; by Sam Roberts.
|
||||||
|
|
||||||
Tue Oct 26 14:10:21 CEST 1999 Werner Koch <wk@gnupg.de>
|
Tue Oct 26 14:10:21 CEST 1999 Werner Koch <wk@gnupg.de>
|
||||||
|
|
||||||
* commit: Remove leading and trailing empty lines when copying
|
* commit: Remove leading and trailing empty lines when copying
|
||||||
|
186
scripts/config.guess
vendored
186
scripts/config.guess
vendored
@ -10,7 +10,7 @@
|
|||||||
#
|
#
|
||||||
# This program is distributed in the hope that it will be useful, but
|
# This program is distributed in the hope that it will be useful, but
|
||||||
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
# WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||||
# General Public License for more details.
|
# General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
@ -68,6 +68,9 @@ trap 'rm -f $dummy.c $dummy.o $dummy; exit 1' 1 2 15
|
|||||||
# Note: order is significant - the case branches are not exclusive.
|
# Note: order is significant - the case branches are not exclusive.
|
||||||
|
|
||||||
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
|
||||||
|
*:QNX:*:*)
|
||||||
|
echo i386-pc-qnx
|
||||||
|
exit 0 ;;
|
||||||
alpha:OSF1:*:*)
|
alpha:OSF1:*:*)
|
||||||
if test $UNAME_RELEASE = "V4.0"; then
|
if test $UNAME_RELEASE = "V4.0"; then
|
||||||
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
|
UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
|
||||||
@ -226,30 +229,30 @@ EOF
|
|||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
# The situation for MiNT is a little confusing. The machine name
|
# The situation for MiNT is a little confusing. The machine name
|
||||||
# can be virtually everything (everything which is not
|
# can be virtually everything (everything which is not
|
||||||
# "atarist" or "atariste" at least should have a processor
|
# "atarist" or "atariste" at least should have a processor
|
||||||
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
|
# > m68000). The system name ranges from "MiNT" over "FreeMiNT"
|
||||||
# to the lowercase version "mint" (or "freemint"). Finally
|
# to the lowercase version "mint" (or "freemint"). Finally
|
||||||
# the system name "TOS" denotes a system which is actually not
|
# the system name "TOS" denotes a system which is actually not
|
||||||
# MiNT. But MiNT is downward compatible to TOS, so this should
|
# MiNT. But MiNT is downward compatible to TOS, so this should
|
||||||
# be no problem.
|
# be no problem.
|
||||||
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
|
atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
|
||||||
echo m68k-atari-mint${UNAME_RELEASE}
|
echo m68k-atari-mint${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
|
atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
|
||||||
echo m68k-atari-mint${UNAME_RELEASE}
|
echo m68k-atari-mint${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
|
*falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
|
||||||
echo m68k-atari-mint${UNAME_RELEASE}
|
echo m68k-atari-mint${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
|
milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
|
||||||
echo m68k-milan-mint${UNAME_RELEASE}
|
echo m68k-milan-mint${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
|
hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
|
||||||
echo m68k-hades-mint${UNAME_RELEASE}
|
echo m68k-hades-mint${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
|
*:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
|
||||||
echo m68k-unknown-mint${UNAME_RELEASE}
|
echo m68k-unknown-mint${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
sun3*:NetBSD:*:*)
|
sun3*:NetBSD:*:*)
|
||||||
echo m68k-sun-netbsd${UNAME_RELEASE}
|
echo m68k-sun-netbsd${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
@ -272,8 +275,8 @@ EOF
|
|||||||
echo powerpc-apple-machten${UNAME_RELEASE}
|
echo powerpc-apple-machten${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
macppc:NetBSD:*:*)
|
macppc:NetBSD:*:*)
|
||||||
echo powerpc-apple-netbsd${UNAME_RELEASE}
|
echo powerpc-apple-netbsd${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
RISC*:Mach:*:*)
|
RISC*:Mach:*:*)
|
||||||
echo mips-dec-mach_bsd4.3
|
echo mips-dec-mach_bsd4.3
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
@ -287,7 +290,7 @@ EOF
|
|||||||
echo clipper-intergraph-clix${UNAME_RELEASE}
|
echo clipper-intergraph-clix${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
mips:*:*:UMIPS | mips:*:*:RISCos)
|
mips:*:*:UMIPS | mips:*:*:RISCos)
|
||||||
sed 's/^ //' << EOF >$dummy.c
|
sed 's/^ //' << EOF >$dummy.c
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
int main (int argc, char *argv[]) {
|
int main (int argc, char *argv[]) {
|
||||||
#else
|
#else
|
||||||
@ -326,19 +329,19 @@ EOF
|
|||||||
echo m88k-motorola-sysv3
|
echo m88k-motorola-sysv3
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
AViiON:dgux:*:*)
|
AViiON:dgux:*:*)
|
||||||
# DG/UX returns AViiON for all architectures
|
# DG/UX returns AViiON for all architectures
|
||||||
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
UNAME_PROCESSOR=`/usr/bin/uname -p`
|
||||||
if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
|
if [ $UNAME_PROCESSOR = mc88100 -o $UNAME_PROCESSOR = mc88110 ] ; then
|
||||||
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
|
if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx \
|
||||||
-o ${TARGET_BINARY_INTERFACE}x = x ] ; then
|
-o ${TARGET_BINARY_INTERFACE}x = x ] ; then
|
||||||
echo m88k-dg-dgux${UNAME_RELEASE}
|
echo m88k-dg-dgux${UNAME_RELEASE}
|
||||||
else
|
else
|
||||||
echo m88k-dg-dguxbcs${UNAME_RELEASE}
|
echo m88k-dg-dguxbcs${UNAME_RELEASE}
|
||||||
fi
|
fi
|
||||||
else echo i586-dg-dgux${UNAME_RELEASE}
|
else echo i586-dg-dgux${UNAME_RELEASE}
|
||||||
fi
|
fi
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
|
M88*:DolphinOS:*:*) # DolphinOS (SVR3)
|
||||||
echo m88k-dolphin-sysv3
|
echo m88k-dolphin-sysv3
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
M88*:*:R3*:*)
|
M88*:*:R3*:*)
|
||||||
@ -356,13 +359,13 @@ EOF
|
|||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
|
????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
|
||||||
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
|
echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
|
||||||
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
|
exit 0 ;; # Note that: echo "'`uname -s`'" gives 'AIX '
|
||||||
i?86:AIX:*:*)
|
i?86:AIX:*:*)
|
||||||
echo i386-ibm-aix
|
echo i386-ibm-aix
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
*:AIX:2:3)
|
*:AIX:2:3)
|
||||||
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
|
if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
|
||||||
sed 's/^ //' << EOF >$dummy.c
|
sed 's/^ //' << EOF >$dummy.c
|
||||||
#include <sys/systemcfg.h>
|
#include <sys/systemcfg.h>
|
||||||
|
|
||||||
main()
|
main()
|
||||||
@ -402,9 +405,9 @@ EOF
|
|||||||
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
|
ibmrt:4.4BSD:*|romp-ibm:BSD:*)
|
||||||
echo romp-ibm-bsd4.4
|
echo romp-ibm-bsd4.4
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
|
ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC NetBSD and
|
||||||
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
|
echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
|
||||||
exit 0 ;; # report: romp-ibm BSD 4.3
|
exit 0 ;; # report: romp-ibm BSD 4.3
|
||||||
*:BOSX:*:*)
|
*:BOSX:*:*)
|
||||||
echo rs6000-bull-bosx
|
echo rs6000-bull-bosx
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
@ -419,39 +422,39 @@ EOF
|
|||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
9000/[34678]??:HP-UX:*:*)
|
9000/[34678]??:HP-UX:*:*)
|
||||||
case "${UNAME_MACHINE}" in
|
case "${UNAME_MACHINE}" in
|
||||||
9000/31? ) HP_ARCH=m68000 ;;
|
9000/31? ) HP_ARCH=m68000 ;;
|
||||||
9000/[34]?? ) HP_ARCH=m68k ;;
|
9000/[34]?? ) HP_ARCH=m68k ;;
|
||||||
9000/[678][0-9][0-9])
|
9000/[678][0-9][0-9])
|
||||||
sed 's/^ //' << EOF >$dummy.c
|
sed 's/^ //' << EOF >$dummy.c
|
||||||
#include <stdlib.h>
|
#include <stdlib.h>
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
|
|
||||||
int main ()
|
int main ()
|
||||||
{
|
{
|
||||||
#if defined(_SC_KERNEL_BITS)
|
#if defined(_SC_KERNEL_BITS)
|
||||||
long bits = sysconf(_SC_KERNEL_BITS);
|
long bits = sysconf(_SC_KERNEL_BITS);
|
||||||
#endif
|
#endif
|
||||||
long cpu = sysconf (_SC_CPU_VERSION);
|
long cpu = sysconf (_SC_CPU_VERSION);
|
||||||
|
|
||||||
switch (cpu)
|
switch (cpu)
|
||||||
{
|
{
|
||||||
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
|
case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
|
||||||
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
|
case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
|
||||||
case CPU_PA_RISC2_0:
|
case CPU_PA_RISC2_0:
|
||||||
#if defined(_SC_KERNEL_BITS)
|
#if defined(_SC_KERNEL_BITS)
|
||||||
switch (bits)
|
switch (bits)
|
||||||
{
|
{
|
||||||
case 64: puts ("hppa2.0w"); break;
|
case 64: puts ("hppa2.0w"); break;
|
||||||
case 32: puts ("hppa2.0n"); break;
|
case 32: puts ("hppa2.0n"); break;
|
||||||
default: puts ("hppa2.0"); break;
|
default: puts ("hppa2.0"); break;
|
||||||
} break;
|
} break;
|
||||||
#else /* !defined(_SC_KERNEL_BITS) */
|
#else /* !defined(_SC_KERNEL_BITS) */
|
||||||
puts ("hppa2.0"); break;
|
puts ("hppa2.0"); break;
|
||||||
#endif
|
#endif
|
||||||
default: puts ("hppa1.0"); break;
|
default: puts ("hppa1.0"); break;
|
||||||
}
|
}
|
||||||
exit (0);
|
exit (0);
|
||||||
}
|
}
|
||||||
EOF
|
EOF
|
||||||
($CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
|
($CC_FOR_BUILD $dummy.c -o $dummy 2>/dev/null ) && HP_ARCH=`./$dummy`
|
||||||
rm -f $dummy.c $dummy
|
rm -f $dummy.c $dummy
|
||||||
@ -460,7 +463,7 @@ EOF
|
|||||||
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
|
echo ${HP_ARCH}-hp-hpux${HPUX_REV}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
3050*:HI-UX:*:*)
|
3050*:HI-UX:*:*)
|
||||||
sed 's/^ //' << EOF >$dummy.c
|
sed 's/^ //' << EOF >$dummy.c
|
||||||
#include <unistd.h>
|
#include <unistd.h>
|
||||||
int
|
int
|
||||||
main ()
|
main ()
|
||||||
@ -468,7 +471,7 @@ EOF
|
|||||||
long cpu = sysconf (_SC_CPU_VERSION);
|
long cpu = sysconf (_SC_CPU_VERSION);
|
||||||
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
|
/* The order matters, because CPU_IS_HP_MC68K erroneously returns
|
||||||
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
|
true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
|
||||||
results, however. */
|
results, however. */
|
||||||
if (CPU_IS_PA_RISC (cpu))
|
if (CPU_IS_PA_RISC (cpu))
|
||||||
{
|
{
|
||||||
switch (cpu)
|
switch (cpu)
|
||||||
@ -519,25 +522,25 @@ EOF
|
|||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
|
C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
|
||||||
echo c1-convex-bsd
|
echo c1-convex-bsd
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
|
C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
|
||||||
if getsysinfo -f scalar_acc
|
if getsysinfo -f scalar_acc
|
||||||
then echo c32-convex-bsd
|
then echo c32-convex-bsd
|
||||||
else echo c2-convex-bsd
|
else echo c2-convex-bsd
|
||||||
fi
|
fi
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
|
C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
|
||||||
echo c34-convex-bsd
|
echo c34-convex-bsd
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
|
C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
|
||||||
echo c38-convex-bsd
|
echo c38-convex-bsd
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
|
C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
|
||||||
echo c4-convex-bsd
|
echo c4-convex-bsd
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
CRAY*X-MP:*:*:*)
|
CRAY*X-MP:*:*:*)
|
||||||
echo xmp-cray-unicos
|
echo xmp-cray-unicos
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
CRAY*Y-MP:*:*:*)
|
CRAY*Y-MP:*:*:*)
|
||||||
echo ymp-cray-unicos${UNAME_RELEASE}
|
echo ymp-cray-unicos${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
@ -554,12 +557,12 @@ EOF
|
|||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
CRAY-2:*:*:*)
|
CRAY-2:*:*:*)
|
||||||
echo cray2-cray-unicos
|
echo cray2-cray-unicos
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
F300:UNIX_System_V:*:*)
|
F300:UNIX_System_V:*:*)
|
||||||
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
FUJITSU_SYS=`uname -p | tr 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' 'abcdefghijklmnopqrstuvwxyz' | sed -e 's/\///'`
|
||||||
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
|
||||||
echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
echo "f300-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
F301:UNIX_System_V:*:*)
|
F301:UNIX_System_V:*:*)
|
||||||
echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
|
echo f301-fujitsu-uxpv`echo $UNAME_RELEASE | sed 's/ .*//'`
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
@ -631,16 +634,17 @@ EOF
|
|||||||
ld_help_string=`cd /; ld --help 2>&1`
|
ld_help_string=`cd /; ld --help 2>&1`
|
||||||
ld_supported_emulations=`echo $ld_help_string \
|
ld_supported_emulations=`echo $ld_help_string \
|
||||||
| sed -ne '/supported emulations:/!d
|
| sed -ne '/supported emulations:/!d
|
||||||
s/[ ][ ]*/ /g
|
s/[ ][ ]*/ /g
|
||||||
s/.*supported emulations: *//
|
s/.*supported emulations: *//
|
||||||
s/ .*//
|
s/ .*//
|
||||||
p'`
|
p'`
|
||||||
case "$ld_supported_emulations" in
|
case "$ld_supported_emulations" in
|
||||||
i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;;
|
i?86linux) echo "${UNAME_MACHINE}-pc-linux-gnuaout" ; exit 0 ;;
|
||||||
i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;;
|
i?86coff) echo "${UNAME_MACHINE}-pc-linux-gnucoff" ; exit 0 ;;
|
||||||
sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
|
sparclinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
|
||||||
armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
|
armlinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
|
||||||
m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
|
m68klinux) echo "${UNAME_MACHINE}-unknown-linux-gnuaout" ; exit 0 ;;
|
||||||
|
elf_s390) echo "${UNAME_MACHINE}-ibm-linux-gnu" ; exit 0 ;;
|
||||||
elf32ppc)
|
elf32ppc)
|
||||||
# Determine Lib Version
|
# Determine Lib Version
|
||||||
cat >$dummy.c <<EOF
|
cat >$dummy.c <<EOF
|
||||||
@ -668,13 +672,13 @@ EOF
|
|||||||
if test "$?" = 0 ; then
|
if test "$?" = 0 ; then
|
||||||
LIBC="libc1"
|
LIBC="libc1"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
rm -f $dummy.c $dummy
|
rm -f $dummy.c $dummy
|
||||||
echo powerpc-unknown-linux-gnu${LIBC} ; exit 0 ;;
|
echo powerpc-unknown-linux-gnu${LIBC} ; exit 0 ;;
|
||||||
esac
|
esac
|
||||||
|
|
||||||
if test "${UNAME_MACHINE}" = "alpha" ; then
|
if test "${UNAME_MACHINE}" = "alpha" ; then
|
||||||
sed 's/^ //' <<EOF >$dummy.s
|
sed 's/^ //' <<EOF >$dummy.s
|
||||||
.globl main
|
.globl main
|
||||||
.ent main
|
.ent main
|
||||||
main:
|
main:
|
||||||
@ -789,11 +793,11 @@ EOF
|
|||||||
echo i386-sequent-sysv4
|
echo i386-sequent-sysv4
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
i?86:UNIX_SV:4.2MP:2.*)
|
i?86:UNIX_SV:4.2MP:2.*)
|
||||||
# Unixware is an offshoot of SVR4, but it has its own version
|
# Unixware is an offshoot of SVR4, but it has its own version
|
||||||
# number series starting with 2...
|
# number series starting with 2...
|
||||||
# I am not positive that other SVR4 systems won't match this,
|
# I am not positive that other SVR4 systems won't match this,
|
||||||
# I just have to hope. -- rms.
|
# I just have to hope. -- rms.
|
||||||
# Use sysv4.2uw... so that sysv4* matches it.
|
# Use sysv4.2uw... so that sysv4* matches it.
|
||||||
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
|
echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
|
i?86:*:4.*:* | i?86:SYSTEM_V:4.*:*)
|
||||||
@ -830,10 +834,10 @@ EOF
|
|||||||
fi
|
fi
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
pc:*:*:*)
|
pc:*:*:*)
|
||||||
# uname -m prints for DJGPP always 'pc', but it prints nothing about
|
# uname -m prints for DJGPP always 'pc', but it prints nothing about
|
||||||
# the processor, so we play safe by assuming i386.
|
# the processor, so we play safe by assuming i386.
|
||||||
echo i386-pc-msdosdjgpp
|
echo i386-pc-msdosdjgpp
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
Intel:Mach:3*:*)
|
Intel:Mach:3*:*)
|
||||||
echo i386-pc-mach3
|
echo i386-pc-mach3
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
@ -862,8 +866,8 @@ EOF
|
|||||||
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
|
/bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
|
||||||
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
|
&& echo i586-ncr-sysv4.3${OS_REL} && exit 0 ;;
|
||||||
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
|
3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
|
||||||
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
/bin/uname -p 2>/dev/null | grep 86 >/dev/null \
|
||||||
&& echo i486-ncr-sysv4 && exit 0 ;;
|
&& echo i486-ncr-sysv4 && exit 0 ;;
|
||||||
m68*:LynxOS:2.*:*)
|
m68*:LynxOS:2.*:*)
|
||||||
echo m68k-unknown-lynxos${UNAME_RELEASE}
|
echo m68k-unknown-lynxos${UNAME_RELEASE}
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
@ -897,9 +901,9 @@ EOF
|
|||||||
fi
|
fi
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
|
PENTIUM:CPunix:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
|
||||||
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
# says <Richard.M.Bartel@ccMail.Census.GOV>
|
||||||
echo i586-unisys-sysv4
|
echo i586-unisys-sysv4
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
*:UNIX_System_V:4*:FTX*)
|
*:UNIX_System_V:4*:FTX*)
|
||||||
# From Gerald Hewes <hewes@openmarket.com>.
|
# From Gerald Hewes <hewes@openmarket.com>.
|
||||||
# How about differentiating between stratus architectures? -djm
|
# How about differentiating between stratus architectures? -djm
|
||||||
@ -917,11 +921,11 @@ EOF
|
|||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
|
R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
|
||||||
if [ -d /usr/nec ]; then
|
if [ -d /usr/nec ]; then
|
||||||
echo mips-nec-sysv${UNAME_RELEASE}
|
echo mips-nec-sysv${UNAME_RELEASE}
|
||||||
else
|
else
|
||||||
echo mips-unknown-sysv${UNAME_RELEASE}
|
echo mips-unknown-sysv${UNAME_RELEASE}
|
||||||
fi
|
fi
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
|
BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
|
||||||
echo powerpc-be-beos
|
echo powerpc-be-beos
|
||||||
exit 0 ;;
|
exit 0 ;;
|
||||||
@ -964,11 +968,11 @@ main ()
|
|||||||
#include <sys/param.h>
|
#include <sys/param.h>
|
||||||
printf ("m68k-sony-newsos%s\n",
|
printf ("m68k-sony-newsos%s\n",
|
||||||
#ifdef NEWSOS4
|
#ifdef NEWSOS4
|
||||||
"4"
|
"4"
|
||||||
#else
|
#else
|
||||||
""
|
""
|
||||||
#endif
|
#endif
|
||||||
); exit (0);
|
); exit (0);
|
||||||
#endif
|
#endif
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
@ -1046,7 +1050,7 @@ main ()
|
|||||||
#endif
|
#endif
|
||||||
|
|
||||||
#if defined(__EMX__)
|
#if defined(__EMX__)
|
||||||
printf ("i386-pc-os2_emx"); exit(0);
|
printf ("i386-pc-os2_emx"); exit(0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
exit (1);
|
exit (1);
|
||||||
|
49
scripts/config.sub
vendored
49
scripts/config.sub
vendored
@ -12,7 +12,7 @@
|
|||||||
#
|
#
|
||||||
# This program is distributed in the hope that it will be useful,
|
# This program is distributed in the hope that it will be useful,
|
||||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
# GNU General Public License for more details.
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# You should have received a copy of the GNU General Public License
|
# You should have received a copy of the GNU General Public License
|
||||||
@ -34,7 +34,7 @@
|
|||||||
# and recognize all the CPU types, system types and aliases
|
# and recognize all the CPU types, system types and aliases
|
||||||
# that are meaningful with *any* GNU software.
|
# that are meaningful with *any* GNU software.
|
||||||
# Each package is responsible for reporting which valid configurations
|
# Each package is responsible for reporting which valid configurations
|
||||||
# it does not support. The user should be able to distinguish
|
# it does not support. The user should be able to distinguish
|
||||||
# a failure to support a valid configuration from a meaningless
|
# a failure to support a valid configuration from a meaningless
|
||||||
# configuration.
|
# configuration.
|
||||||
|
|
||||||
@ -166,7 +166,7 @@ case $basic_machine in
|
|||||||
| arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
|
| arme[lb] | pyramid | mn10200 | mn10300 | tron | a29k \
|
||||||
| 580 | i960 | h8300 \
|
| 580 | i960 | h8300 \
|
||||||
| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
|
| hppa | hppa1.0 | hppa1.1 | hppa2.0 | hppa2.0w | hppa2.0n \
|
||||||
| alpha | alphaev[4-7] | alphaev56 | alphapca5[67] \
|
| alpha | alphaev[4-7] | alphaev56 | alphapca5[67] | s390 \
|
||||||
| we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
|
| we32k | ns16k | clipper | i370 | sh | powerpc | powerpcle \
|
||||||
| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
|
| 1750a | dsp16xx | pdp11 | mips16 | mips64 | mipsel | mips64el \
|
||||||
| mips64orion | mips64orionel | mipstx39 | mipstx39el \
|
| mips64orion | mips64orionel | mipstx39 | mipstx39el \
|
||||||
@ -185,6 +185,12 @@ case $basic_machine in
|
|||||||
i[34567]86)
|
i[34567]86)
|
||||||
basic_machine=$basic_machine-pc
|
basic_machine=$basic_machine-pc
|
||||||
;;
|
;;
|
||||||
|
s390 | s390-ibm)
|
||||||
|
basic_machine=s390-ibm
|
||||||
|
;;
|
||||||
|
s390-redhat)
|
||||||
|
basic_machine=s390-redhat
|
||||||
|
;;
|
||||||
# Object if more than one company name word.
|
# Object if more than one company name word.
|
||||||
*-*-*)
|
*-*-*)
|
||||||
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
|
||||||
@ -600,7 +606,7 @@ case $basic_machine in
|
|||||||
pbb)
|
pbb)
|
||||||
basic_machine=m68k-tti
|
basic_machine=m68k-tti
|
||||||
;;
|
;;
|
||||||
pc532 | pc532-*)
|
pc532 | pc532-*)
|
||||||
basic_machine=ns32k-pc532
|
basic_machine=ns32k-pc532
|
||||||
;;
|
;;
|
||||||
pentium | p5 | k5 | k6 | nexen)
|
pentium | p5 | k5 | k6 | nexen)
|
||||||
@ -627,12 +633,12 @@ case $basic_machine in
|
|||||||
power) basic_machine=rs6000-ibm
|
power) basic_machine=rs6000-ibm
|
||||||
;;
|
;;
|
||||||
ppc) basic_machine=powerpc-unknown
|
ppc) basic_machine=powerpc-unknown
|
||||||
;;
|
;;
|
||||||
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
ppc-*) basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
ppcle | powerpclittle | ppc-le | powerpc-little)
|
ppcle | powerpclittle | ppc-le | powerpc-little)
|
||||||
basic_machine=powerpcle-unknown
|
basic_machine=powerpcle-unknown
|
||||||
;;
|
;;
|
||||||
ppcle-* | powerpclittle-*)
|
ppcle-* | powerpclittle-*)
|
||||||
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
|
basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
|
||||||
;;
|
;;
|
||||||
@ -756,8 +762,8 @@ case $basic_machine in
|
|||||||
os=-vms
|
os=-vms
|
||||||
;;
|
;;
|
||||||
vpp*|vx|vx-*)
|
vpp*|vx|vx-*)
|
||||||
basic_machine=f301-fujitsu
|
basic_machine=f301-fujitsu
|
||||||
;;
|
;;
|
||||||
vxworks960)
|
vxworks960)
|
||||||
basic_machine=i960-wrs
|
basic_machine=i960-wrs
|
||||||
os=-vxworks
|
os=-vxworks
|
||||||
@ -782,7 +788,7 @@ case $basic_machine in
|
|||||||
basic_machine=xmp-cray
|
basic_machine=xmp-cray
|
||||||
os=-unicos
|
os=-unicos
|
||||||
;;
|
;;
|
||||||
xps | xps100)
|
xps | xps100)
|
||||||
basic_machine=xps100-honeywell
|
basic_machine=xps100-honeywell
|
||||||
;;
|
;;
|
||||||
z8k-*-coff)
|
z8k-*-coff)
|
||||||
@ -830,7 +836,7 @@ case $basic_machine in
|
|||||||
sparc | sparcv9)
|
sparc | sparcv9)
|
||||||
basic_machine=sparc-sun
|
basic_machine=sparc-sun
|
||||||
;;
|
;;
|
||||||
cydra)
|
cydra)
|
||||||
basic_machine=cydra-cydrome
|
basic_machine=cydra-cydrome
|
||||||
;;
|
;;
|
||||||
orion)
|
orion)
|
||||||
@ -872,8 +878,8 @@ esac
|
|||||||
if [ x"$os" != x"" ]
|
if [ x"$os" != x"" ]
|
||||||
then
|
then
|
||||||
case $os in
|
case $os in
|
||||||
# First match some system type aliases
|
# First match some system type aliases
|
||||||
# that might get confused with valid system types.
|
# that might get confused with valid system types.
|
||||||
# -solaris* is a basic system type, with this one exception.
|
# -solaris* is a basic system type, with this one exception.
|
||||||
-solaris1 | -solaris1.*)
|
-solaris1 | -solaris1.*)
|
||||||
os=`echo $os | sed -e 's|solaris1|sunos4|'`
|
os=`echo $os | sed -e 's|solaris1|sunos4|'`
|
||||||
@ -881,6 +887,9 @@ case $os in
|
|||||||
-solaris)
|
-solaris)
|
||||||
os=-solaris2
|
os=-solaris2
|
||||||
;;
|
;;
|
||||||
|
-qnx)
|
||||||
|
os=-qnx
|
||||||
|
;;
|
||||||
-svr4*)
|
-svr4*)
|
||||||
os=-sysv4
|
os=-sysv4
|
||||||
;;
|
;;
|
||||||
@ -948,7 +957,7 @@ case $os in
|
|||||||
os=-sysv
|
os=-sysv
|
||||||
;;
|
;;
|
||||||
-ns2 )
|
-ns2 )
|
||||||
os=-nextstep2
|
os=-nextstep2
|
||||||
;;
|
;;
|
||||||
# Preserve the version number of sinix5.
|
# Preserve the version number of sinix5.
|
||||||
-sinix5.*)
|
-sinix5.*)
|
||||||
@ -984,8 +993,8 @@ case $os in
|
|||||||
-xenix)
|
-xenix)
|
||||||
os=-xenix
|
os=-xenix
|
||||||
;;
|
;;
|
||||||
-*mint | -*MiNT)
|
-*mint | -*MiNT)
|
||||||
os=-mint
|
os=-mint
|
||||||
;;
|
;;
|
||||||
-none)
|
-none)
|
||||||
;;
|
;;
|
||||||
@ -1018,7 +1027,7 @@ case $basic_machine in
|
|||||||
arm*-semi)
|
arm*-semi)
|
||||||
os=-aout
|
os=-aout
|
||||||
;;
|
;;
|
||||||
pdp11-*)
|
pdp11-*)
|
||||||
os=-none
|
os=-none
|
||||||
;;
|
;;
|
||||||
*-dec | vax-*)
|
*-dec | vax-*)
|
||||||
@ -1108,19 +1117,19 @@ case $basic_machine in
|
|||||||
*-next)
|
*-next)
|
||||||
os=-nextstep3
|
os=-nextstep3
|
||||||
;;
|
;;
|
||||||
*-gould)
|
*-gould)
|
||||||
os=-sysv
|
os=-sysv
|
||||||
;;
|
;;
|
||||||
*-highlevel)
|
*-highlevel)
|
||||||
os=-bsd
|
os=-bsd
|
||||||
;;
|
;;
|
||||||
*-encore)
|
*-encore)
|
||||||
os=-bsd
|
os=-bsd
|
||||||
;;
|
;;
|
||||||
*-sgi)
|
*-sgi)
|
||||||
os=-irix
|
os=-irix
|
||||||
;;
|
;;
|
||||||
*-siemens)
|
*-siemens)
|
||||||
os=-sysv4
|
os=-sysv4
|
||||||
;;
|
;;
|
||||||
*-masscomp)
|
*-masscomp)
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
Mon Jul 17 16:35:47 CEST 2000 Werner Koch <wk@>
|
||||||
|
|
||||||
|
* mail-signed-keys: New.
|
||||||
|
* ring-a-party: New.
|
||||||
|
|
||||||
Mon Jan 31 17:46:35 CET 2000 Werner Koch <wk@>
|
Mon Jan 31 17:46:35 CET 2000 Werner Koch <wk@>
|
||||||
|
|
||||||
* Makefile.am: Add libjnlib.
|
* Makefile.am: Add libjnlib.
|
||||||
@ -10,7 +15,6 @@ Thu Jul 8 16:21:27 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
|||||||
|
|
||||||
Wed Jul 7 13:08:40 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
Wed Jul 7 13:08:40 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||||
|
|
||||||
|
|
||||||
* Makefile.am: Support for libtool.
|
* Makefile.am: Support for libtool.
|
||||||
|
|
||||||
Tue Jun 8 13:36:25 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
Tue Jun 8 13:36:25 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||||
@ -30,4 +34,3 @@ Tue Apr 7 19:50:41 1998 Werner Koch (wk@isil.d.shuttle.de)
|
|||||||
|
|
||||||
* bftest.c: Now supports all availabe ciphers.
|
* bftest.c: Now supports all availabe ciphers.
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
## Process this file with automake to produce Makefile.in
|
## Process this file with automake to produce Makefile.in
|
||||||
|
|
||||||
EXTRA_DIST = lspgpot
|
EXTRA_DIST = lspgpot mail-signed-keys ring-a-party
|
||||||
INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/intl
|
INCLUDES = -I$(top_srcdir)/include -I$(top_srcdir)/intl
|
||||||
# we need to add libutil.la a second time because we have to resolve
|
# we need to add libutil.la a second time because we have to resolve
|
||||||
# gpg_log_ in some libjnlib modules. - very ugly - should be removed soon.
|
# gpg_log_ in some libjnlib modules. - very ugly - should be removed soon.
|
||||||
|
75
tools/mail-signed-keys
Executable file
75
tools/mail-signed-keys
Executable file
@ -0,0 +1,75 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [ -z "$1" -o -z "$2" ]; then
|
||||||
|
echo "usage: mail-signed-keys keyring signedby" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f $1 ]; then
|
||||||
|
echo "mail-signed-keys: '$1': no such file" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -f '.#tdb.tmp' ] && rm '.#tdb.tmp'
|
||||||
|
ro="--trustdb-name=./.#tdb.tmp --dry-run --lock-never --no-default-keyring --keyring $1"
|
||||||
|
|
||||||
|
signedby=`gpg $ro --fast-list-mode --list-keys --with-colons $2 \
|
||||||
|
2>/dev/null | awk -F: '$1=="pub" {print $5; exit 0}'`
|
||||||
|
|
||||||
|
if [ -z "$signedby" ]; then
|
||||||
|
echo "mail-signed-keys: '$2': no such signator" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "About to send the the keys signed by $signedby" >&2
|
||||||
|
echo -n "to their owners. Do you really want to do this? (y/N)" >&2
|
||||||
|
read
|
||||||
|
[ "$REPLY" != "y" -a "$REPLY" != "Y" ] && exit 0
|
||||||
|
|
||||||
|
|
||||||
|
gpg $ro --check-sigs --with-colons 2>/dev/null \
|
||||||
|
| awk -F: -v signedby="$signedby" -v gpgopt="$ro" '
|
||||||
|
BEGIN { sendmail="/usr/lib/sendmail -oi -t " }
|
||||||
|
$1 == "pub" { nextkid=$5; nextuid=$10
|
||||||
|
if( uidcount > 0 ) { myflush() }
|
||||||
|
kid=nextkid; uid=nextuid; next
|
||||||
|
}
|
||||||
|
$1 == "uid" { uid=$10 ; next }
|
||||||
|
$1 == "sig" && $2 == "!" && $5 == signedby { uids[uidcount++] = uid; next }
|
||||||
|
END { if( uidcount > 0 ) { myflush() } }
|
||||||
|
|
||||||
|
function myflush()
|
||||||
|
{
|
||||||
|
if ( kid == signedby ) { uidcount=0; return }
|
||||||
|
print "sending key " substr(kid,9) " to" | "cat >&2"
|
||||||
|
for(i=0; i < uidcount; i++ ) {
|
||||||
|
print " " uids[i] | "cat >&2"
|
||||||
|
if( i == 0 ) {
|
||||||
|
printf "To: %s", uids[i] | sendmail
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
printf ",\n %s", uids[i] | sendmail
|
||||||
|
}
|
||||||
|
}
|
||||||
|
printf "\n" | sendmail
|
||||||
|
print "Subject: I signed your key " substr(kid,9) | sendmail
|
||||||
|
print "" | sendmail
|
||||||
|
print "Hi," | sendmail
|
||||||
|
print "" | sendmail
|
||||||
|
print "Here you get back the signed key." | sendmail
|
||||||
|
print "" | sendmail
|
||||||
|
print "ciao," | sendmail
|
||||||
|
print " your Key Signator" | sendmail
|
||||||
|
print "" | sendmail
|
||||||
|
cmd = "gpg " gpgopt " --export -a " kid " 2>/dev/null"
|
||||||
|
while( (cmd | getline) > 0 ) {
|
||||||
|
print | sendmail
|
||||||
|
}
|
||||||
|
print "" | sendmail
|
||||||
|
close(cmd)
|
||||||
|
close( sendmail )
|
||||||
|
uidcount=0
|
||||||
|
}
|
||||||
|
'
|
||||||
|
|
||||||
|
|
103
tools/ring-a-party
Executable file
103
tools/ring-a-party
Executable file
@ -0,0 +1,103 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# ring-a-party - print a keyring suitable for a key signing party
|
||||||
|
|
||||||
|
if [ $# -lt 1 ]; then
|
||||||
|
echo "usage: ring-a-party keyring [headerline]" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
keyring="$1"
|
||||||
|
hdrline="$1"
|
||||||
|
if [ $# -gt 1 ]; then
|
||||||
|
hdrline="$2"
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ ! -f $keyring ]; then
|
||||||
|
echo "ring-a-party: '$keyring': no such file" >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "ring-a-party: output will be written to 'a.pub'" >&2
|
||||||
|
|
||||||
|
|
||||||
|
gpg --dry-run --with-fingerprint --with-colons $keyring \
|
||||||
|
| gawk -v "KEYRING=$hdrline" '
|
||||||
|
BEGIN { FS=":"
|
||||||
|
algos[1] = "RSA";
|
||||||
|
algos[16] = "ElGamal";
|
||||||
|
algos[17] = "DSA";
|
||||||
|
any = 0;
|
||||||
|
lines = -1;
|
||||||
|
page = 0;
|
||||||
|
now = strftime("%b %d %H:%M %Y");
|
||||||
|
}
|
||||||
|
$1 == "pub" {
|
||||||
|
if( any ) myflush();
|
||||||
|
uidcount = 0;
|
||||||
|
signencrypt = 0;
|
||||||
|
uids[uidcount++] = $10;
|
||||||
|
nbits = $3;
|
||||||
|
keyid = substr($5,9);
|
||||||
|
created = $6;
|
||||||
|
expires = $7;
|
||||||
|
algostr = mapalgo($4);
|
||||||
|
if( $4 == 20 || $4 == 1 ) signencrypt = 1;
|
||||||
|
any = 1;
|
||||||
|
}
|
||||||
|
$1 == "fpr" { fpr = $10 }
|
||||||
|
$1 == "uid" { uids[uidcount++] = $10 }
|
||||||
|
$1 == "sub" { if( $4 != 17 && $4 != 3 ) signencrypt=1 }
|
||||||
|
|
||||||
|
function myflush()
|
||||||
|
{
|
||||||
|
# fixme: take lines to print here into account
|
||||||
|
if( lines > 50 || lines == -1 ) {
|
||||||
|
if( lines != -1 ) printf "\f";
|
||||||
|
page++;
|
||||||
|
printf "%s %-50.50s Page %d\n\n", now, KEYRING, page ;
|
||||||
|
printf "Type Bits KeyID Created Expires Algorithm Use\n";
|
||||||
|
lines = 1;
|
||||||
|
}
|
||||||
|
printf "pub %04d 0x%s %10s %10s %-10s %15s\n",
|
||||||
|
nbits, keyid, created, expires == ""? "----------":expires, algostr,
|
||||||
|
signencrypt == 1? "Sign & Encrypt":"Sign only";
|
||||||
|
length(fpr) == 40 ? printfpr20( fpr ) : printfpr16( fpr );
|
||||||
|
lnes += 2;
|
||||||
|
for( i=0; i < uidcount; i++ ) {
|
||||||
|
printf "uid %s\n", uids[i];
|
||||||
|
lines++;
|
||||||
|
}
|
||||||
|
printf "\n\n";
|
||||||
|
lines += 2;
|
||||||
|
}
|
||||||
|
|
||||||
|
function mapalgo( no )
|
||||||
|
{
|
||||||
|
if( no in algos )
|
||||||
|
return algos[no];
|
||||||
|
return sprintf( "algoID=%ds", no );
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
function printfpr16( s )
|
||||||
|
{
|
||||||
|
printf "f16 Fingerprint16 =";
|
||||||
|
for(i=0; i < 16; i++ ) {
|
||||||
|
if( i == 8 ) printf " ";
|
||||||
|
printf " %s", substr( s, i*2, 2 );
|
||||||
|
}
|
||||||
|
printf "\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
function printfpr20( s )
|
||||||
|
{
|
||||||
|
printf "f20 Fingerprint20 =";
|
||||||
|
for(i=0; i < 10; i++ ) {
|
||||||
|
if( i == 5 ) printf " ";
|
||||||
|
printf " %s", substr( s, i*4, 4 );
|
||||||
|
}
|
||||||
|
printf "\n"
|
||||||
|
}
|
||||||
|
|
||||||
|
' | tee a.pub | gpg --print-mds
|
||||||
|
|
Loading…
x
Reference in New Issue
Block a user