1
0
mirror of git://git.gnupg.org/gnupg.git synced 2024-06-20 01:02:44 +02:00

See ChangeLog: Thu Dec 9 10:31:05 CET 1999 Werner Koch

This commit is contained in:
Werner Koch 1999-12-09 09:32:23 +00:00
parent 5553cc985e
commit a8d59e6d53
20 changed files with 795 additions and 74 deletions

View File

@ -1,3 +1,7 @@
Thu Dec 9 10:31:05 CET 1999 Werner Koch <wk@gnupg.de>
* INSTALL: Add a hint for AIX. By Jos Backus.
Sat Dec 4 12:30:28 CET 1999 Werner Koch <wk@gnupg.de>
* configure.in (dlopen): Use CHECK_FUNC for a test of dlopen in libc.

13
INSTALL
View File

@ -70,6 +70,19 @@ This doesn't matter and we know about it (actually it is due to the some
warning options which we have enabled for gcc)
Specific problems on some machines
==================================
* IBM RS/6000 running AIX:
Due to a change in gcc (since version 2.8) the MPI stuff may
not build. In this case try to run configure using:
CFLAGS="-g -O2 -mcpu=powerpc" ./configure
The Random Device
=================
Random devices are available in Linux, FreeBSD and OpenBSD.

4
THANKS
View File

@ -48,6 +48,7 @@ Joachim Backes backes@rhrk.uni-kl.de
John A. Martin jam@jamux.com
Johnny Teveßen j.tevessen@gmx.de
Jörg Schilling schilling@fokus.gmd.de
Jos Backus Jos.Backus@nl.origin-it.com
Jun Kuriyama kuriyama@sky.rim.or.jp
Karl Fogel kfogel@guanabana.onshore.com
Karsten Thygesen karthy@kom.auc.dk
@ -104,7 +105,8 @@ Ulf M
Urko Lusa ulusa@euskalnet.net
Walter Hofmann Walter.Hofmann@physik.stud.uni-erlangen.de
Walter Koch koch@hsp.de
Werner Koch werner.koch@guug.de
Wayne Chapeskie waynec@spinnaker.com
Werner Koch wk@gnupg.org
Wim Vandeputte bunbun@reptile.rug.ac.be
nbecker@hns.com

View File

@ -1,7 +1,7 @@
This is an alpha release of GnuPG for MS-Windows and WNT.
The random number generator should now work but has not undergone
a thorough testing, so we won't say anything about the quality of
the generated key and Suggest that you don't use this version with
the generated key and suggest that you don't use this version with
your production secret keys! It is however okay to verify signatures
or encrypt files using this version.

View File

@ -1,3 +1,7 @@
Thu Dec 9 10:31:05 CET 1999 Werner Koch <wk@gnupg.de>
* hkp.c: i18n the strings.
Sat Dec 4 15:32:20 CET 1999 Werner Koch <wk@gnupg.de>
* trustdb.c (verify_key): Shortcut for ultimately trusted keys.

View File

@ -59,7 +59,7 @@ hkp_ask_import( u32 *keyid )
if( !opt.keyserver_name )
return -1;
log_info("requesting key %08lX from %s ...\n", (ulong)keyid[1],
log_info(_("requesting key %08lX from %s ...\n"), (ulong)keyid[1],
opt.keyserver_name );
request = m_alloc( strlen( opt.keyserver_name ) + 100 );
/* hkp does not accept the long keyid - we should really write a
@ -68,7 +68,7 @@ hkp_ask_import( u32 *keyid )
opt.keyserver_name, (ulong)keyid[1] );
rc = http_open_document( &hd, request, hflags );
if( rc ) {
log_info("can't get key from keyserver: %s\n",
log_info(_("can't get key from keyserver: %s\n"),
rc == G10ERR_NETWORK? strerror(errno)
: g10_errstr(rc) );
}
@ -91,7 +91,7 @@ hkp_import( STRLIST users )
return -1;
#else
if( !opt.keyserver_name ) {
log_error("no keyserver known (use option --keyserver)\n");
log_error(_("no keyserver known (use option --keyserver)\n"));
return -1;
}
@ -99,7 +99,7 @@ hkp_import( STRLIST users )
u32 kid[2];
int type = classify_user_id( users->d, kid, NULL, NULL, NULL );
if( type != 10 && type != 11 ) {
log_info("%s: not a valid key ID\n", users->d );
log_info(_("%s: not a valid key ID\n"), users->d );
continue;
}
hkp_ask_import( kid );
@ -124,7 +124,7 @@ hkp_export( STRLIST users )
unsigned int hflags = opt.honor_http_proxy? HTTP_FLAG_TRY_PROXY : 0;
if( !opt.keyserver_name ) {
log_error("no keyserver known (use option --keyserver)\n");
log_error(_("no keyserver known (use option --keyserver)\n"));
return -1;
}
@ -146,7 +146,7 @@ hkp_export( STRLIST users )
sprintf( request, "x-hkp://%s:11371/pks/add", opt.keyserver_name );
rc = http_open( &hd, HTTP_REQ_POST, request , hflags );
if( rc ) {
log_error("can't connect to `%s': %s\n",
log_error(_("can't connect to `%s': %s\n"),
opt.keyserver_name,
rc == G10ERR_NETWORK? strerror(errno)
: g10_errstr(rc) );
@ -170,7 +170,7 @@ hkp_export( STRLIST users )
rc = http_wait_response( &hd, &status );
if( rc ) {
log_error("error sending to `%s': %s\n",
log_error(_("error sending to `%s': %s\n"),
opt.keyserver_name, g10_errstr(rc) );
}
else {
@ -182,10 +182,10 @@ hkp_export( STRLIST users )
}
#endif
if( (status/100) == 2 )
log_info("success sending to `%s' (status=%u)\n",
log_info(_("success sending to `%s' (status=%u)\n"),
opt.keyserver_name, status );
else
log_error("failed sending to `%s': status=%u\n",
log_error(_("failed sending to `%s': status=%u\n"),
opt.keyserver_name, status );
}
http_close( &hd );

View File

@ -1,3 +1,13 @@
Thu Dec 9 10:31:05 CET 1999 Werner Koch <wk@gnupg.de>
* power/: Add all files from GMP for this CPU.
* config.links: Support for BSDI 4.x. By Wayne Chapeskie.
(sparc8): Made the search path the same as sparc9
* mpih-div.c (mpihelp_divrem): The MPN_COPY_DECR copied one
elemnat too many. This is gmp2.0.2p9.txt patch.
Sat Oct 9 20:34:41 CEST 1999 Werner Koch <wk@gnupg.de>
* Makefile.am: Removed libtool.

View File

@ -22,6 +22,11 @@ case "${target}" in
cat $srcdir/mpi/i386/syntax.h >>./mpi/asm-syntax.h
path="i586 i386"
;;
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 X86_BROKEN_ALIGN' >>./mpi/asm-syntax.h
@ -80,7 +85,7 @@ case "${target}" in
;;
sparc8*-*-* | microsparc*-*-*)
echo '/* configured for sparc8 */' >>./mpi/asm-syntax.h
path="sparc32v8"
path="sparc32v8 sparc32"
;;
supersparc*-*-*)
echo '/* configured for supersparc */' >>./mpi/asm-syntax.h

View File

@ -338,7 +338,7 @@ mpihelp_divrem( mpi_ptr_t qp, mpi_size_t qextra_limbs,
}
else {
n2 = np[dsize - 1];
MPN_COPY_DECR (np + 1, np, dsize);
MPN_COPY_DECR (np + 1, np, dsize - 1);
np[0] = 0;
}

View File

@ -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

85
mpi/power/mpih-add1.S Normal file
View File

@ -0,0 +1,85 @@
/* 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

63
mpi/power/mpih-lshift.S Normal file
View File

@ -0,0 +1,63 @@
/* 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

113
mpi/power/mpih-mul1.S Normal file
View File

@ -0,0 +1,113 @@
/* 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

129
mpi/power/mpih-mul2.S Normal file
View File

@ -0,0 +1,129 @@
/* 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

134
mpi/power/mpih-mul3.S Normal file
View File

@ -0,0 +1,134 @@
/* 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

63
mpi/power/mpih-rshift.S Normal file
View File

@ -0,0 +1,63 @@
/* 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

86
mpi/power/mpih-sub1.S Normal file
View File

@ -0,0 +1,86 @@
/* 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

View File

@ -1,3 +1,8 @@
Thu Dec 9 10:31:05 CET 1999 Werner Koch <wk@gnupg.de>
* de.po: Updated.
* pt_BR.po: Updated.
Fri Nov 12 20:33:19 CET 1999 Werner Koch <wk@gnupg.de>
* es_ES.po: Fixed 3 \n mismatches.

View File

@ -4,7 +4,7 @@
msgid ""
msgstr ""
"POT-Creation-Date: 1999-12-04 14:36+0100\n"
"PO-Revision-Date: 1999-11-07 10:36+0100\n"
"PO-Revision-Date: 1999-12-05 10:36+0100\n"
"Last-Translator: Walter Koch <koch@hsp.de>\n"
"Language-Team: German <de@li.org>\n"
"MIME-Version: 1.0\n"
@ -352,12 +352,11 @@ msgstr "Ein neues Schl
#: g10/g10.c:207
msgid "remove key from the public keyring"
msgstr "Schlüssel entfernen"
msgstr "Schlüssel aus dem öff. Schlüsselbund entfernen"
#: g10/g10.c:209
#, fuzzy
msgid "remove key from the secret keyring"
msgstr "Schlüssel entfernen"
msgstr "Schlüssel aus dem geh. Schlüsselbund entfernen"
#: g10/g10.c:210
msgid "sign a key"
@ -369,7 +368,7 @@ msgstr "Schl
#: g10/g10.c:212
msgid "sign or edit a key"
msgstr "Unterschreiben o. Bearbeiten eines Schlüssels"
msgstr "Unterschreiben oder Bearbeiten eines Schl."
#: g10/g10.c:213
msgid "generate a revocation certificate"
@ -1353,6 +1352,8 @@ msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
msgstr ""
"Ihr Rechner kann Daten jenseits des Jahres 2038 nicht anzeigen.\n"
"Trotzdem werden Daten bis 2106 korrekt verarbeitet.\n"
#: g10/keygen.c:567
msgid "Is this correct (y/n)? "
@ -2471,7 +2472,7 @@ msgstr "Urspr
#: g10/mainproc.c:513
msgid "standalone revocation - use \"gpg --import\" to apply\n"
msgstr ""
msgstr "Einzelner Widerruf - verwenden Sie \"gpg --import\" um ihn anzuwenden\n"
#: g10/mainproc.c:596 g10/mainproc.c:605
msgid "WARNING: invalid notation data found\n"
@ -3237,7 +3238,7 @@ msgstr "%s: Verzeichnis erzeugt\n"
#: g10/openfile.c:318
msgid "you have to start GnuPG again, so it can read the new options file\n"
msgstr ""
msgstr "Sie müssen GnuPG noch einmal starten, damit es die neue Optionsdatei liest\n"
#: g10/encr-data.c:66
#, c-format

View File

@ -52,7 +52,7 @@ msgstr "sair"
#: util/miscutil.c:311
msgid "qQ"
msgstr ""
msgstr "qQ"
#: util/errors.c:54
msgid "general error"
@ -102,7 +102,6 @@ msgstr "chave p
msgid "unknown cipher algorithm"
msgstr "algoritmo de criptografia desconhecido"
# keyring == molho ???
#: util/errors.c:66
msgid "can't open the keyring"
msgstr "não é possível abrir o chaveiro"
@ -156,7 +155,6 @@ msgstr "erro na abertura de arquivo"
msgid "file create error"
msgstr "erro na criação de arquivo"
# frase secreta ???
#: util/errors.c:79
msgid "invalid passphrase"
msgstr "frase secreta inválida"
@ -250,9 +248,8 @@ msgid "not encrypted"
msgstr "não criptografado"
#: util/errors.c:103
#, fuzzy
msgid "not processed"
msgstr "%lu chaves processadas\n"
msgstr "não processado(s)"
#: util/logger.c:218
#, c-format
@ -365,9 +362,8 @@ msgid "remove key from the public keyring"
msgstr "remover a chave do chaveiro público"
#: g10/g10.c:209
#, fuzzy
msgid "remove key from the secret keyring"
msgstr "remover a chave do chaveiro público"
msgstr "remover a chave do chaveiro secreto"
#: g10/g10.c:210
msgid "sign a key"
@ -954,11 +950,10 @@ msgstr " Impress
msgid "Fingerprint:"
msgstr "Impressão digital:"
# ???
#. a string with valid answers
#: g10/pkclist.c:197
msgid "sSmMqQ"
msgstr ""
msgstr "sSmMqQ"
#: g10/pkclist.c:201
#, c-format
@ -994,7 +989,7 @@ msgstr ""
#: g10/pkclist.c:222
msgid " m = back to the main menu\n"
msgstr " m = volta ao menu principal\n"
msgstr " m = voltar ao menu principal\n"
#: g10/pkclist.c:224
msgid " q = quit\n"
@ -1108,7 +1103,7 @@ msgstr "AVISO: Esta chave foi revogada pelo seu dono!\n"
#: g10/pkclist.c:535
msgid " This could mean that the signature is forgery.\n"
msgstr " Isto pode significar que a assinatura é falsificada.\n"
msgstr " Isto pode significar que a assinatura é falsificada.\n"
#: g10/pkclist.c:539
msgid "WARNING: This subkey has been revoked by its owner!\n"
@ -1125,7 +1120,7 @@ msgstr "AVISO: Esta chave n
#: g10/pkclist.c:570
msgid ""
" There is no indication that the signature belongs to the owner.\n"
msgstr " Não há indicação de que a assinatura pertence ao dono.\n"
msgstr " Não há indicação de que a assinatura pertence ao dono.\n"
#: g10/pkclist.c:587
msgid "WARNING: We do NOT trust this key!\n"
@ -1133,7 +1128,7 @@ msgstr "AVISO: N
#: g10/pkclist.c:588
msgid " The signature is probably a FORGERY.\n"
msgstr " A assinatura é provavelmente uma FALSIFICAÇÃO.\n"
msgstr " A assinatura é provavelmente uma FALSIFICAÇÃO.\n"
#: g10/pkclist.c:595
msgid ""
@ -1144,7 +1139,7 @@ msgstr ""
#: g10/pkclist.c:598
msgid " It is not certain that the signature belongs to the owner.\n"
msgstr " Não se tem certeza de que a assinatura pertence ao dono.\n"
msgstr " Não se tem certeza de que a assinatura pertence ao dono.\n"
#: g10/pkclist.c:700 g10/pkclist.c:722 g10/pkclist.c:848 g10/pkclist.c:893
#, c-format
@ -1364,6 +1359,8 @@ msgid ""
"Your system can't display dates beyond 2038.\n"
"However, it will be correctly handled up to 2106.\n"
msgstr ""
"Seu sistema não consegue mostrar datas além de 2038.\n"
"Apesar disso, elas serão corretamente manipuladas até 2106.\n"
#: g10/keygen.c:567
msgid "Is this correct (y/n)? "
@ -2010,11 +2007,11 @@ msgstr "sair deste menu"
#: g10/keyedit.c:565
msgid "q"
msgstr ""
msgstr "q"
#: g10/keyedit.c:566
msgid "save"
msgstr ""
msgstr "save"
#: g10/keyedit.c:566
msgid "save and quit"
@ -2022,7 +2019,7 @@ msgstr "gravar e sair"
#: g10/keyedit.c:567
msgid "help"
msgstr ""
msgstr "help"
#: g10/keyedit.c:567
msgid "show this help"
@ -2030,7 +2027,7 @@ msgstr "mostra esta ajuda"
#: g10/keyedit.c:569
msgid "fpr"
msgstr ""
msgstr "fpr"
#: g10/keyedit.c:569
msgid "show fingerprint"
@ -2038,20 +2035,19 @@ msgstr "mostra impress
#: g10/keyedit.c:570
msgid "list"
msgstr ""
msgstr "list"
#: g10/keyedit.c:570
msgid "list key and user IDs"
msgstr "lista chave e identificadores de usuários"
# ???
#: g10/keyedit.c:571
msgid "l"
msgstr ""
msgstr "l"
#: g10/keyedit.c:572
msgid "uid"
msgstr ""
msgstr "uid"
#: g10/keyedit.c:572
msgid "select user ID N"
@ -2059,7 +2055,7 @@ msgstr "seleciona ID de usu
#: g10/keyedit.c:573
msgid "key"
msgstr ""
msgstr "key"
#: g10/keyedit.c:573
msgid "select secondary key N"
@ -2067,33 +2063,31 @@ msgstr "seleciona chave secund
#: g10/keyedit.c:574
msgid "check"
msgstr ""
msgstr "check"
#: g10/keyedit.c:574
msgid "list signatures"
msgstr "lista assinaturas"
# ???
#: g10/keyedit.c:575
msgid "c"
msgstr ""
msgstr "c"
#: g10/keyedit.c:576
msgid "sign"
msgstr ""
msgstr "sign"
#: g10/keyedit.c:576
msgid "sign the key"
msgstr "assina a chave"
# ???
#: g10/keyedit.c:577
msgid "s"
msgstr ""
msgstr "s"
#: g10/keyedit.c:578
msgid "lsign"
msgstr ""
msgstr "lsign"
#: g10/keyedit.c:578
msgid "sign the key locally"
@ -2101,11 +2095,11 @@ msgstr "assina a chave localmente"
#: g10/keyedit.c:579
msgid "debug"
msgstr ""
msgstr "debug"
#: g10/keyedit.c:580
msgid "adduid"
msgstr ""
msgstr "adduid"
#: g10/keyedit.c:580
msgid "add a user ID"
@ -2113,7 +2107,7 @@ msgstr "adiciona um novo ID de usu
#: g10/keyedit.c:581
msgid "deluid"
msgstr ""
msgstr "deluid"
#: g10/keyedit.c:581
msgid "delete user ID"
@ -2121,7 +2115,7 @@ msgstr "remove ID de usu
#: g10/keyedit.c:582
msgid "addkey"
msgstr ""
msgstr "addkey"
#: g10/keyedit.c:582
msgid "add a secondary key"
@ -2129,7 +2123,7 @@ msgstr "adiciona nova chave secund
#: g10/keyedit.c:583
msgid "delkey"
msgstr ""
msgstr "delkey"
#: g10/keyedit.c:583
msgid "delete a secondary key"
@ -2137,7 +2131,7 @@ msgstr "remove uma chave secund
#: g10/keyedit.c:584
msgid "delsig"
msgstr ""
msgstr "delsig"
#: g10/keyedit.c:584
msgid "delete signatures"
@ -2145,7 +2139,7 @@ msgstr "remove assinaturas"
#: g10/keyedit.c:585
msgid "expire"
msgstr ""
msgstr "expire"
#: g10/keyedit.c:585
msgid "change the expire date"
@ -2153,7 +2147,7 @@ msgstr "muda a data de validade"
#: g10/keyedit.c:586
msgid "toggle"
msgstr ""
msgstr "toggle"
#: g10/keyedit.c:586
msgid "toggle between secret and public key listing"
@ -2161,11 +2155,11 @@ msgstr "alterna entre listagem de chave secreta e p
#: g10/keyedit.c:588
msgid "t"
msgstr ""
msgstr "t"
#: g10/keyedit.c:589
msgid "pref"
msgstr ""
msgstr "pref"
#: g10/keyedit.c:589
msgid "list preferences"
@ -2173,7 +2167,7 @@ msgstr "lista prefer
#: g10/keyedit.c:590
msgid "passwd"
msgstr ""
msgstr "passwd"
#: g10/keyedit.c:590
msgid "change the passphrase"
@ -2181,7 +2175,7 @@ msgstr "muda a frase secreta"
#: g10/keyedit.c:591
msgid "trust"
msgstr ""
msgstr "trust"
#: g10/keyedit.c:591
msgid "change the ownertrust"
@ -2189,7 +2183,7 @@ msgstr "muda os valores de confian
#: g10/keyedit.c:592
msgid "revsig"
msgstr ""
msgstr "revsig"
#: g10/keyedit.c:592
msgid "revoke signatures"
@ -2197,7 +2191,7 @@ msgstr "revoga assinaturas"
#: g10/keyedit.c:593
msgid "revkey"
msgstr ""
msgstr "revkey"
#: g10/keyedit.c:593
msgid "revoke a secondary key"
@ -2205,7 +2199,7 @@ msgstr "revoga uma chave secund
#: g10/keyedit.c:594
msgid "disable"
msgstr ""
msgstr "disable"
#: g10/keyedit.c:594
msgid "disable a key"
@ -2213,7 +2207,7 @@ msgstr "desativa uma chave"
#: g10/keyedit.c:595
msgid "enable"
msgstr ""
msgstr "enable"
#: g10/keyedit.c:595
msgid "enable a key"
@ -2477,7 +2471,7 @@ msgstr "nome de arquivo original='%.*s'\n"
#: g10/mainproc.c:513
msgid "standalone revocation - use \"gpg --import\" to apply\n"
msgstr ""
msgstr "revogação isolada - use \"gpg --import\" para aplicá-la\n"
#: g10/mainproc.c:596 g10/mainproc.c:605
msgid "WARNING: invalid notation data found\n"
@ -2519,9 +2513,9 @@ msgid "Can't check signature: %s\n"
msgstr "Impossível verificar assinatura: %s\n"
#: g10/mainproc.c:1189
#, fuzzy, c-format
#, c-format
msgid "standalone signature of class 0x%02x\n"
msgstr "classe de assinatura desconhecida"
msgstr "assinatura isolada da classe 0x%02x\n"
#: g10/mainproc.c:1228
msgid "old style (PGP 2.x) signature\n"
@ -2605,9 +2599,8 @@ msgid "data not saved; use option \"--output\" to save it\n"
msgstr "dados não salvos; use a opção \"--output\" para salvá-los\n"
#: g10/plaintext.c:311
#, fuzzy
msgid "Detached signature.\n"
msgstr "%d assinatura removida.\n"
msgstr "Assinatura separada.\n"
#: g10/plaintext.c:315
msgid "Please enter name of data file: "
@ -3046,9 +3039,9 @@ msgid "lid %lu: dir record w/o key - skipped\n"
msgstr "lid %lu: registro de diretório sem chave - ignorado\n"
#: g10/trustdb.c:1794
#, fuzzy, c-format
#, c-format
msgid "\t%lu due to new pubkeys\n"
msgstr "chave %08lX: %d novas subchaves\n"
msgstr "\t%lu devido a novas chaves públicas\n"
#: g10/trustdb.c:1796
#, c-format
@ -3130,6 +3123,9 @@ msgid ""
"Please remember that the signature file (.sig or .asc)\n"
"should be the first file given on the command line.\n"
msgstr ""
"a assinatura não pôde ser verificada.\n"
"Por favor lembre-se de que o arquivo com a assinatura (.sig ou .asc)\n"
"deve ser o primeiro arquivo dado na linha de comando.\n"
#: g10/verify.c:147
#, c-format
@ -3229,7 +3225,8 @@ msgstr "%s: diret
#: g10/openfile.c:318
msgid "you have to start GnuPG again, so it can read the new options file\n"
msgstr ""
msgstr "você deve reiniciar o GnuPG, para que ele possa ler o novo arquivo\n"
"de opções\n"
#: g10/encr-data.c:66
#, c-format