aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorWerner Koch <[email protected]>1999-12-09 09:32:23 +0000
committerWerner Koch <[email protected]>1999-12-09 09:32:23 +0000
commita8d59e6d536ec68f4724f533722c23a34ad02f19 (patch)
treeceab6cd7550fbd0f158945a31de8036cc2388535
parentSee ChangeLog: Sat Dec 4 15:32:20 CET 1999 Werner Koch (diff)
downloadgnupg-a8d59e6d536ec68f4724f533722c23a34ad02f19.tar.gz
gnupg-a8d59e6d536ec68f4724f533722c23a34ad02f19.zip
See ChangeLog: Thu Dec 9 10:31:05 CET 1999 Werner Koch
-rw-r--r--ChangeLog4
-rw-r--r--INSTALL13
-rw-r--r--THANKS4
-rw-r--r--doc/README.W322
-rw-r--r--g10/ChangeLog4
-rw-r--r--g10/hkp.c18
-rw-r--r--mpi/ChangeLog10
-rw-r--r--mpi/config.links7
-rw-r--r--mpi/mpih-div.c2
-rw-r--r--mpi/power/distfiles7
-rw-r--r--mpi/power/mpih-add1.S85
-rw-r--r--mpi/power/mpih-lshift.S63
-rw-r--r--mpi/power/mpih-mul1.S113
-rw-r--r--mpi/power/mpih-mul2.S129
-rw-r--r--mpi/power/mpih-mul3.S134
-rw-r--r--mpi/power/mpih-rshift.S63
-rw-r--r--mpi/power/mpih-sub1.S86
-rw-r--r--po/ChangeLog5
-rw-r--r--po/de.po15
-rw-r--r--po/pt_BR.po105
20 files changed, 795 insertions, 74 deletions
diff --git a/ChangeLog b/ChangeLog
index a46e69f3a..babe3145f 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Thu Dec 9 10:31:05 CET 1999 Werner Koch <[email protected]>
+
+ * INSTALL: Add a hint for AIX. By Jos Backus.
+
Sat Dec 4 12:30:28 CET 1999 Werner Koch <[email protected]>
* configure.in (dlopen): Use CHECK_FUNC for a test of dlopen in libc.
diff --git a/INSTALL b/INSTALL
index 55a4c855f..b81c9e3fa 100644
--- a/INSTALL
+++ b/INSTALL
@@ -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.
diff --git a/THANKS b/THANKS
index 620a8f000..a2d6e5838 100644
--- a/THANKS
+++ b/THANKS
@@ -48,6 +48,7 @@ Joachim Backes [email protected]
John A. Martin [email protected]
Johnny Teve�en [email protected]
J�rg Schilling [email protected]
+Jos Backus [email protected]
Jun Kuriyama [email protected]
Karl Fogel [email protected]
Karsten Thygesen [email protected]
@@ -104,7 +105,8 @@ Ulf M�ller [email protected]
Walter Hofmann [email protected]
Walter Koch [email protected]
-Werner Koch [email protected]
+Wayne Chapeskie [email protected]
+Werner Koch [email protected]
Wim Vandeputte [email protected]
diff --git a/doc/README.W32 b/doc/README.W32
index 588ac39e5..81a6bf921 100644
--- a/doc/README.W32
+++ b/doc/README.W32
@@ -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.
diff --git a/g10/ChangeLog b/g10/ChangeLog
index 0d4e36799..f9a3d0745 100644
--- a/g10/ChangeLog
+++ b/g10/ChangeLog
@@ -1,3 +1,7 @@
+Thu Dec 9 10:31:05 CET 1999 Werner Koch <[email protected]>
+
+ * hkp.c: i18n the strings.
+
Sat Dec 4 15:32:20 CET 1999 Werner Koch <[email protected]>
* trustdb.c (verify_key): Shortcut for ultimately trusted keys.
diff --git a/g10/hkp.c b/g10/hkp.c
index 2d4a8c6e9..712fb6f51 100644
--- a/g10/hkp.c
+++ b/g10/hkp.c
@@ -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 );
diff --git a/mpi/ChangeLog b/mpi/ChangeLog
index c6f9e4f29..21ad464a7 100644
--- a/mpi/ChangeLog
+++ b/mpi/ChangeLog
@@ -1,3 +1,13 @@
+Thu Dec 9 10:31:05 CET 1999 Werner Koch <[email protected]>
+
+ * 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 <[email protected]>
* Makefile.am: Removed libtool.
diff --git a/mpi/config.links b/mpi/config.links
index da44a9122..6f1161cce 100644
--- a/mpi/config.links
+++ b/mpi/config.links
@@ -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
diff --git a/mpi/mpih-div.c b/mpi/mpih-div.c
index 0d711cb58..bb837208b 100644
--- a/mpi/mpih-div.c
+++ b/mpi/mpih-div.c
@@ -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;
}
diff --git a/mpi/power/distfiles b/mpi/power/distfiles
index e69de29bb..e664c8db6 100644
--- a/mpi/power/distfiles
+++ b/mpi/power/distfiles
@@ -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
diff --git a/mpi/power/mpih-add1.S b/mpi/power/mpih-add1.S
new file mode 100644
index 000000000..f7918c6e7
--- /dev/null
+++ b/mpi/power/mpih-add1.S
@@ -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
+
diff --git a/mpi/power/mpih-lshift.S b/mpi/power/mpih-lshift.S
new file mode 100644
index 000000000..c01b0fcda
--- /dev/null
+++ b/mpi/power/mpih-lshift.S
@@ -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
+
diff --git a/mpi/power/mpih-mul1.S b/mpi/power/mpih-mul1.S
new file mode 100644
index 000000000..6d1f1910a
--- /dev/null
+++ b/mpi/power/mpih-mul1.S
@@ -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
+
diff --git a/mpi/power/mpih-mul2.S b/mpi/power/mpih-mul2.S
new file mode 100644
index 000000000..6e4ae6f81
--- /dev/null
+++ b/mpi/power/mpih-mul2.S
@@ -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
+
diff --git a/mpi/power/mpih-mul3.S b/mpi/power/mpih-mul3.S
new file mode 100644
index 000000000..8860c50e5
--- /dev/null
+++ b/mpi/power/mpih-mul3.S
@@ -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
+
diff --git a/mpi/power/mpih-rshift.S b/mpi/power/mpih-rshift.S
new file mode 100644
index 000000000..d78d00d15
--- /dev/null
+++ b/mpi/power/mpih-rshift.S
@@ -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
+
+
diff --git a/mpi/power/mpih-sub1.S b/mpi/power/mpih-sub1.S
new file mode 100644
index 000000000..2de8af2fa
--- /dev/null
+++ b/mpi/power/mpih-sub1.S
@@ -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
+
diff --git a/po/ChangeLog b/po/ChangeLog
index b77f34190..0e839d00c 100644
--- a/po/ChangeLog
+++ b/po/ChangeLog
@@ -1,3 +1,8 @@
+Thu Dec 9 10:31:05 CET 1999 Werner Koch <[email protected]>
+
+ * de.po: Updated.
+ * pt_BR.po: Updated.
+
Fri Nov 12 20:33:19 CET 1999 Werner Koch <[email protected]>
* es_ES.po: Fixed 3 \n mismatches.
diff --git a/po/de.po b/po/de.po
index b4f7172a3..2d4d36a8a 100644
--- a/po/de.po
+++ b/po/de.po
@@ -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 <[email protected]>\n"
"Language-Team: German <[email protected]>\n"
"MIME-Version: 1.0\n"
@@ -352,12 +352,11 @@ msgstr "Ein neues Schl�sselpaar erzeugen"
#: 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�ssel nur auf diesem Rechner signieren"
#: 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�nglicher Dateiname='%.*s'\n"
#: 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
diff --git a/po/pt_BR.po b/po/pt_BR.po
index 2f6c381d1..999b879cb 100644
--- a/po/pt_BR.po
+++ b/po/pt_BR.po
@@ -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�blica n�o encontrada"
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�o digital:"
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�o est� certificada com uma assinatura confi�vel!\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�s N�O confiamos nesta chave!\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�o digital"
#: 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�rio N"
#: 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�ria N"
#: 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�rio"
#: 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�rio"
#: 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�ria"
#: 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�ria"
#: 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�blica"
#: 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�ncias"
#: 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�a"
#: 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�ria"
#: 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�rio criado\n"
#: 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