diff options
-rw-r--r-- | nptl/ChangeLog | 22 | ||||
-rw-r--r-- | nptl/atomic.h | 2 | ||||
-rw-r--r-- | nptl/sysdeps/pthread/pthread_cond_timedwait.c | 23 | ||||
-rw-r--r-- | nptl/sysdeps/pthread/pthread_cond_wait.c | 42 | ||||
-rw-r--r-- | nptl/sysdeps/pthread/pthread_rwlock_timedrdlock.c | 8 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c | 25 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.c | 2 | ||||
-rw-r--r-- | nptl/sysdeps/unix/sysv/linux/s390/sem_post.c | 2 | ||||
-rw-r--r-- | po/gl.po | 521 | ||||
-rw-r--r-- | po/sv.po | 6 |
10 files changed, 377 insertions, 276 deletions
diff --git a/nptl/ChangeLog b/nptl/ChangeLog index d6ca84806c..740d6ff1f8 100644 --- a/nptl/ChangeLog +++ b/nptl/ChangeLog @@ -1,3 +1,25 @@ +2003-03-03 Martin Schwidefsky <schwidefsky@de.ibm.com> + + * atomic.h (atomic_exchange_and_add): Return newval, not oldval. + + * sysdeps/pthread/pthread_cond_timedwait.c (__pthread_cond_timedwait): + Fix handling of cancellation and failing pthread_mutex_unlock call. + * sysdeps/pthread/pthread_cond_wait.c (__condvar_cleanup): Likewise. + (__pthread_cond_wait): Likewise. + + * sysdeps/pthread/pthread_rwlock_timedrdlock.c + (pthread_rwlock_timedrdlock): Fix clobber of result variable by + lll_futex_timed_wait call. + * sysdeps/pthread/pthread_rwlock_timedwrlock.c + (pthread_rwlock_timedwrlock): Likewise. + + * sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c (___lll_lock): + Don't define lll_unlock_wake_cb and ___lll_timedwait_tid in libc.so. + * sysdeps/unix/sysv/linux/s390/lowlevellock.c: Remove XXX comments. + + * sysdeps/unix/sysv/linux/s390/sem_post.c (__new_sem_post): Fix + check of lll_futex_wake return value. + 2003-03-03 Roland McGrath <roland@redhat.com> * forward.c: Fix typo in __pthread_attr_init_2_0 compat_symbol decl. diff --git a/nptl/atomic.h b/nptl/atomic.h index 4279235a71..813fb80a03 100644 --- a/nptl/atomic.h +++ b/nptl/atomic.h @@ -60,7 +60,7 @@ while (atomic_compare_and_exchange_acq (__memp, __oldval + __value, \ __oldval)); \ \ - __oldval; }) + __oldval + __value; }) #endif diff --git a/nptl/sysdeps/pthread/pthread_cond_timedwait.c b/nptl/sysdeps/pthread/pthread_cond_timedwait.c index 797d244cf7..3b29cb4ea6 100644 --- a/nptl/sysdeps/pthread/pthread_cond_timedwait.c +++ b/nptl/sysdeps/pthread/pthread_cond_timedwait.c @@ -31,6 +31,12 @@ extern void __condvar_cleanup (void *arg) __attribute__ ((visibility ("hidden"))); +struct _condvar_cleanup_buffer +{ + int oldtype; + pthread_cond_t *cond; + pthread_mutex_t *mutex; +}; int __pthread_cond_timedwait (cond, mutex, abstime) @@ -39,6 +45,7 @@ __pthread_cond_timedwait (cond, mutex, abstime) const struct timespec *abstime; { struct _pthread_cleanup_buffer buffer; + struct _condvar_cleanup_buffer cbuffer; int result = 0; /* Catch invalid parameters. */ @@ -54,9 +61,13 @@ __pthread_cond_timedwait (cond, mutex, abstime) /* We have one new user of the condvar. */ ++cond->__data.__total_seq; + /* Prepare structure passed to cancellation handler. */ + cbuffer.cond = cond; + cbuffer.mutex = mutex; + /* Before we block we enable cancellation. Therefore we have to install a cancellation handler. */ - __pthread_cleanup_push (&buffer, __condvar_cleanup, cond); + __pthread_cleanup_push (&buffer, __condvar_cleanup, &cbuffer); /* The current values of the wakeup counter. The "woken" counter must exceed this value. */ @@ -76,6 +87,8 @@ __pthread_cond_timedwait (cond, mutex, abstime) while (1) { + int err; + /* Get the current time. So far we support only one clock. */ struct timeval tv; (void) gettimeofday (&tv, NULL); @@ -104,14 +117,14 @@ __pthread_cond_timedwait (cond, mutex, abstime) lll_mutex_unlock (cond->__data.__lock); /* Enable asynchronous cancellation. Required by the standard. */ - int oldtype = __pthread_enable_asynccancel (); + cbuffer.oldtype = __pthread_enable_asynccancel (); /* Wait until woken by signal or broadcast. Note that we truncate the 'val' value to 32 bits. */ - result = lll_futex_timed_wait (futex, (unsigned int) val, &rt); + err = lll_futex_timed_wait (futex, (unsigned int) val, &rt); /* Disable asynchronous cancellation. */ - __pthread_disable_asynccancel (oldtype); + __pthread_disable_asynccancel (cbuffer.oldtype); /* We are going to look at shared data again, so get the lock. */ lll_mutex_lock(cond->__data.__lock); @@ -123,7 +136,7 @@ __pthread_cond_timedwait (cond, mutex, abstime) break; /* Not woken yet. Maybe the time expired? */ - if (result == -ETIMEDOUT) + if (err == -ETIMEDOUT) { /* Yep. Adjust the counters. */ ++cond->__data.__wakeup_seq; diff --git a/nptl/sysdeps/pthread/pthread_cond_wait.c b/nptl/sysdeps/pthread/pthread_cond_wait.c index d0b63bd8df..d96444f49b 100644 --- a/nptl/sysdeps/pthread/pthread_cond_wait.c +++ b/nptl/sysdeps/pthread/pthread_cond_wait.c @@ -27,22 +27,35 @@ #include <shlib-compat.h> +struct _condvar_cleanup_buffer +{ + int oldtype; + pthread_cond_t *cond; + pthread_mutex_t *mutex; +}; + void __attribute__ ((visibility ("hidden"))) __condvar_cleanup (void *arg) { - pthread_cond_t *cond = (pthread_cond_t *) arg; + struct _condvar_cleanup_buffer *cbuffer = + (struct _condvar_cleanup_buffer *) arg; /* We are going to modify shared data. */ - lll_mutex_lock (cond->__data.__lock); + lll_mutex_lock (cbuffer->cond->__data.__lock); /* This thread is not waiting anymore. Adjust the sequence counters appropriately. */ - ++cond->__data.__wakeup_seq; - ++cond->__data.__woken_seq; + ++cbuffer->cond->__data.__wakeup_seq; + ++cbuffer->cond->__data.__woken_seq; /* We are done. */ - lll_mutex_unlock (cond->__data.__lock); + lll_mutex_unlock (cbuffer->cond->__data.__lock); + + /* Get the mutex before returning unless asynchronous cancellation + is in effect. */ + if (!(cbuffer->oldtype & CANCELTYPE_BITMASK)) + __pthread_mutex_lock_internal (cbuffer->mutex); } @@ -52,19 +65,30 @@ __pthread_cond_wait (cond, mutex) pthread_mutex_t *mutex; { struct _pthread_cleanup_buffer buffer; + struct _condvar_cleanup_buffer cbuffer; + int err; /* Make sure we are along. */ lll_mutex_lock (cond->__data.__lock); /* Now we can release the mutex. */ - __pthread_mutex_unlock_internal (mutex); + err = __pthread_mutex_unlock_internal (mutex); + if (err) + { + lll_mutex_unlock (cond->__data.__lock); + return err; + } /* We have one new user of the condvar. */ ++cond->__data.__total_seq; + /* Prepare structure passed to cancellation handler. */ + cbuffer.cond = cond; + cbuffer.mutex = mutex; + /* Before we block we enable cancellation. Therefore we have to install a cancellation handler. */ - __pthread_cleanup_push (&buffer, __condvar_cleanup, cond); + __pthread_cleanup_push (&buffer, __condvar_cleanup, &cbuffer); /* The current values of the wakeup counter. The "woken" counter must exceed this value. */ @@ -88,14 +112,14 @@ __pthread_cond_wait (cond, mutex) lll_mutex_unlock (cond->__data.__lock); /* Enable asynchronous cancellation. Required by the standard. */ - int oldtype = __pthread_enable_asynccancel (); + cbuffer.oldtype = __pthread_enable_asynccancel (); /* Wait until woken by signal or broadcast. Note that we truncate the 'val' value to 32 bits. */ lll_futex_wait (futex, (unsigned int) val); /* Disable asynchronous cancellation. */ - __pthread_disable_asynccancel (oldtype); + __pthread_disable_asynccancel (cbuffer.oldtype); /* We are going to look at shared data again, so get the lock. */ lll_mutex_lock(cond->__data.__lock); diff --git a/nptl/sysdeps/pthread/pthread_rwlock_timedrdlock.c b/nptl/sysdeps/pthread/pthread_rwlock_timedrdlock.c index fb6382544e..9c1815570f 100644 --- a/nptl/sysdeps/pthread/pthread_rwlock_timedrdlock.c +++ b/nptl/sysdeps/pthread/pthread_rwlock_timedrdlock.c @@ -37,6 +37,8 @@ pthread_rwlock_timedrdlock (rwlock, abstime) while (1) { + int err; + /* Get the rwlock if there is no writer... */ if (rwlock->__data.__writer == 0 /* ...and if either no writer is waiting or we prefer readers. */ @@ -111,14 +113,14 @@ pthread_rwlock_timedrdlock (rwlock, abstime) lll_mutex_unlock (rwlock->__data.__lock); /* Wait for the writer to finish. */ - result = lll_futex_timed_wait (&rwlock->__data.__readers_wakeup, - waitval, &rt); + err = lll_futex_timed_wait (&rwlock->__data.__readers_wakeup, + waitval, &rt); /* Get the lock. */ lll_mutex_lock (rwlock->__data.__lock); /* Did the futex call time out? */ - if (result == -ETIMEDOUT) + if (err == -ETIMEDOUT) { /* Yep, report it. */ result = ETIMEDOUT; diff --git a/nptl/sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c b/nptl/sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c index 40b5c3e441..7035479c1a 100644 --- a/nptl/sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c +++ b/nptl/sysdeps/unix/sysv/linux/s390/libc-lowlevellock.c @@ -17,5 +17,26 @@ Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -/* No difference to lowlevellock.c */ -#include "lowlevellock.c" +#include <errno.h> +#include <sysdep.h> +#include <lowlevellock.h> +#include <sys/time.h> + + +void +___lll_lock (futex, newval) + int *futex; + int newval; +{ + do + { + int oldval; + + lll_futex_wait (futex, newval); + lll_compare_and_swap (futex, oldval, newval, "lr %2,%1; ahi %2,-1"); + } + while (newval != 0); + + *futex = -1; +} +hidden_proto (___lll_lock) diff --git a/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.c b/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.c index bc501c7ee4..f98e163ae1 100644 --- a/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.c +++ b/nptl/sysdeps/unix/sysv/linux/s390/lowlevellock.c @@ -42,7 +42,6 @@ ___lll_lock (futex, newval) hidden_proto (___lll_lock) -/* XXX Should not be in libc.so */ int lll_unlock_wake_cb (futex) int *futex; @@ -58,7 +57,6 @@ lll_unlock_wake_cb (futex) hidden_proto (lll_unlock_wake_cb) -/* XXX Should not be in libc.so */ int ___lll_timedwait_tid (ptid, abstime) int *ptid; diff --git a/nptl/sysdeps/unix/sysv/linux/s390/sem_post.c b/nptl/sysdeps/unix/sysv/linux/s390/sem_post.c index df64c03ba6..b573532a32 100644 --- a/nptl/sysdeps/unix/sysv/linux/s390/sem_post.c +++ b/nptl/sysdeps/unix/sysv/linux/s390/sem_post.c @@ -34,7 +34,7 @@ __new_sem_post (sem_t *sem) lll_compare_and_swap ((int *) sem, oldval, newval, "lr %2,%1; ahi %2,1"); err = lll_futex_wake(((int *) sem), newval); - if (err != 0) + if (err < 0) { __set_errno(-err); return -1; diff --git a/po/gl.po b/po/gl.po index 6eac219d60..e5eeeb735f 100644 --- a/po/gl.po +++ b/po/gl.po @@ -4,9 +4,9 @@ # msgid "" msgstr "" -"Project-Id-Version: libc 2.3\n" -"POT-Creation-Date: 2002-10-02 17:22-0700\n" -"PO-Revision-Date: 2002-10-05 15:13+0200\n" +"Project-Id-Version: libc 2.3.2\n" +"POT-Creation-Date: 2003-02-22 15:34-0800\n" +"PO-Revision-Date: 2003-03-03 20:13+0100\n" "Last-Translator: Jacobo Tarrio <jtarrio@trasno.net>\n" "Language-Team: Galician <gpul-traduccion@ceu.fi.udc.es>\n" "MIME-Version: 1.0\n" @@ -259,8 +259,8 @@ msgstr "non se pode abri-lo ficheiro de saída" #: iconv/iconv_prog.c:241 #, c-format -msgid "conversions from `%s' and to `%s' are not supported" -msgstr "as conversións de `%s' a `%s' non están soportadas" +msgid "conversion from `%s' and to `%s' are not supported" +msgstr "as conversións de `%s' e a `%s' non están soportadas" #: iconv/iconv_prog.c:246 #, c-format @@ -285,15 +285,15 @@ msgstr "non se puido comeza-lo procesamento de conversión" msgid "error while closing output file" msgstr "erro ao pecha-lo ficheiro de saída" -#: iconv/iconv_prog.c:407 iconv/iconvconfig.c:355 locale/programs/locale.c:268 +#: iconv/iconv_prog.c:407 iconv/iconvconfig.c:357 locale/programs/locale.c:274 #: locale/programs/localedef.c:372 catgets/gencat.c:233 #: malloc/memusagestat.c:602 debug/pcprofiledump.c:199 msgid "Report bugs using the `glibcbug' script to <bugs@gnu.org>.\n" msgstr "Informe dos erros usando o script `glibcbug' a <bugs@gnu.org>.\n" -#: iconv/iconv_prog.c:421 iconv/iconvconfig.c:369 locale/programs/locale.c:281 -#: locale/programs/localedef.c:386 catgets/gencat.c:246 posix/getconf.c:904 -#: nss/getent.c:74 nscd/nscd.c:279 nscd/nscd_nischeck.c:90 elf/ldconfig.c:259 +#: iconv/iconv_prog.c:421 iconv/iconvconfig.c:371 locale/programs/locale.c:287 +#: locale/programs/localedef.c:386 catgets/gencat.c:246 posix/getconf.c:910 +#: nss/getent.c:74 nscd/nscd.c:330 nscd/nscd_nischeck.c:90 elf/ldconfig.c:271 #: elf/sprof.c:349 #, c-format msgid "" @@ -305,9 +305,9 @@ msgstr "" "Isto é software libre; vexa o código fonte polas condicións de copia. NON hai\n" "garantía; nin sequera de COMERCIABILIDADE ou APTITUDE PARA UN FIN DETERMINADO.\n" -#: iconv/iconv_prog.c:426 iconv/iconvconfig.c:374 locale/programs/locale.c:286 -#: locale/programs/localedef.c:391 catgets/gencat.c:251 posix/getconf.c:909 -#: nss/getent.c:79 nscd/nscd.c:284 nscd/nscd_nischeck.c:95 elf/ldconfig.c:264 +#: iconv/iconv_prog.c:426 iconv/iconvconfig.c:376 locale/programs/locale.c:292 +#: locale/programs/localedef.c:391 catgets/gencat.c:251 posix/getconf.c:915 +#: nss/getent.c:79 nscd/nscd.c:335 nscd/nscd_nischeck.c:95 elf/ldconfig.c:276 #: elf/sprof.c:355 #, c-format msgid "Written by %s.\n" @@ -359,15 +359,15 @@ msgstr "[DIR...]" msgid "Prefix used for all file accesses" msgstr "Prefixo a empregar para tódolos accesos a ficheiro" -#: iconv/iconvconfig.c:325 locale/programs/localedef.c:292 +#: iconv/iconvconfig.c:327 locale/programs/localedef.c:292 msgid "no output file produced because warning were issued" msgstr "non se producíu un ficheiro de saída porque se deron avisos" -#: iconv/iconvconfig.c:403 +#: iconv/iconvconfig.c:405 msgid "while inserting in search tree" msgstr "ao inserir na árbore de busca" -#: iconv/iconvconfig.c:1202 +#: iconv/iconvconfig.c:1204 msgid "cannot generate output file" msgstr "non se pode xera-lo ficheiro de saída" @@ -1277,7 +1277,7 @@ msgstr "lixo á fin da especificación do código de caracteres" msgid "unterminated symbolic name" msgstr "nome simbólico non rematado" -#: locale/programs/linereader.c:537 catgets/gencat.c:1166 +#: locale/programs/linereader.c:537 catgets/gencat.c:1195 msgid "invalid escape sequence" msgstr "secuencia de escape non válida" @@ -1307,39 +1307,39 @@ msgstr "o símbolo `%.*s' non está no mapa de repertorios" msgid "trailing garbage at end of line" msgstr "lixo na fin da liña" -#: locale/programs/locale.c:73 +#: locale/programs/locale.c:75 msgid "System information:" msgstr "Información do sistema:" -#: locale/programs/locale.c:75 +#: locale/programs/locale.c:77 msgid "Write names of available locales" msgstr "Escribi-los nomes dos `locales' dispoñibles" -#: locale/programs/locale.c:77 +#: locale/programs/locale.c:79 msgid "Write names of available charmaps" msgstr "Escribi-los nomes dos mapas de caracteres dispoñibles" -#: locale/programs/locale.c:78 +#: locale/programs/locale.c:80 msgid "Modify output format:" msgstr "Modifica-lo formato de saída:" -#: locale/programs/locale.c:79 +#: locale/programs/locale.c:81 msgid "Write names of selected categories" msgstr "Escribi-los nomes das categorías seleccionadas" -#: locale/programs/locale.c:80 +#: locale/programs/locale.c:82 msgid "Write names of selected keywords" msgstr "Escribi-los nomes das claves seleccionadas" -#: locale/programs/locale.c:81 +#: locale/programs/locale.c:83 msgid "Print more information" msgstr "Amosar máis información" -#: locale/programs/locale.c:86 +#: locale/programs/locale.c:88 msgid "Get locale-specific information." msgstr "Obter información específica do `locale'." -#: locale/programs/locale.c:89 +#: locale/programs/locale.c:91 msgid "" "NAME\n" "[-a|-m]" @@ -1347,7 +1347,7 @@ msgstr "" "NOME\n" "[-a|-m]" -#: locale/programs/locale.c:488 +#: locale/programs/locale.c:512 msgid "while preparing output" msgstr "ao prepara-la saída" @@ -1478,16 +1478,16 @@ msgstr "non se pode engadi-lo locale xa lido `%s' outra vez" msgid "cannot create temporary file" msgstr "non se pode crea-lo ficheiro temporal" -#: locale/programs/locarchive.c:118 locale/programs/locarchive.c:302 +#: locale/programs/locarchive.c:118 locale/programs/locarchive.c:305 msgid "cannot initialize archive file" msgstr "non se pode inicializa-lo ficheiro de arquivo" -#: locale/programs/locarchive.c:125 locale/programs/locarchive.c:309 +#: locale/programs/locarchive.c:125 locale/programs/locarchive.c:312 msgid "cannot resize archive file" msgstr "non se pode cambia-lo tamaño do ficheiro de arquivo" -#: locale/programs/locarchive.c:134 locale/programs/locarchive.c:318 -#: locale/programs/locarchive.c:508 +#: locale/programs/locarchive.c:134 locale/programs/locarchive.c:321 +#: locale/programs/locarchive.c:511 msgid "cannot map archive header" msgstr "non se pode mapea-la cabeceira do arquivo" @@ -1503,88 +1503,88 @@ msgstr "non se pode cambia-lo modo do novo arquivo de locales" msgid "cannot map locale archive file" msgstr "non se pode mapea-lo ficheiro de arquivo de locales" -#: locale/programs/locarchive.c:326 +#: locale/programs/locarchive.c:329 msgid "cannot lock new archive" msgstr "non se pode bloquea-lo novo arquivo" -#: locale/programs/locarchive.c:377 +#: locale/programs/locarchive.c:380 msgid "cannot extend locale archive file" msgstr "non se pode extende-lo ficheiro de arquivo de locales" -#: locale/programs/locarchive.c:386 +#: locale/programs/locarchive.c:389 msgid "cannot change mode of resized locale archive" msgstr "non se pode cambia-lo modo do arquivo de locales co novo tamaño" -#: locale/programs/locarchive.c:394 +#: locale/programs/locarchive.c:397 msgid "cannot rename new archive" msgstr "non se pode renomea-lo novo arquivo" -#: locale/programs/locarchive.c:447 +#: locale/programs/locarchive.c:450 #, c-format msgid "cannot open locale archive \"%s\"" msgstr "non se pode abri-lo arquivo de locales \"%s\"" -#: locale/programs/locarchive.c:452 +#: locale/programs/locarchive.c:455 #, c-format msgid "cannot stat locale archive \"%s\"" msgstr "non se pode facer stat do arquivo de locales \"%s\"" -#: locale/programs/locarchive.c:471 +#: locale/programs/locarchive.c:474 #, c-format msgid "cannot lock locale archive \"%s\"" msgstr "non se pode bloquea-lo arquivo de locales \"%s\"" -#: locale/programs/locarchive.c:494 +#: locale/programs/locarchive.c:497 msgid "cannot read archive header" msgstr "non se pode le-la cabeceira do arquivo" -#: locale/programs/locarchive.c:554 +#: locale/programs/locarchive.c:557 #, c-format msgid "locale '%s' already exists" msgstr "o locale '%s' xa existe" -#: locale/programs/locarchive.c:784 locale/programs/locarchive.c:799 -#: locale/programs/locarchive.c:811 locale/programs/locarchive.c:823 +#: locale/programs/locarchive.c:788 locale/programs/locarchive.c:803 +#: locale/programs/locarchive.c:815 locale/programs/locarchive.c:827 #: locale/programs/locfile.c:343 msgid "cannot add to locale archive" msgstr "non se pode engadir no arquivo de locales" -#: locale/programs/locarchive.c:976 +#: locale/programs/locarchive.c:982 #, c-format msgid "locale alias file `%s' not found" msgstr "non se atopou o ficheiro de alias de locales `%s'" -#: locale/programs/locarchive.c:1118 +#: locale/programs/locarchive.c:1126 #, c-format msgid "Adding %s\n" msgstr "Engadindo %s\n" -#: locale/programs/locarchive.c:1124 +#: locale/programs/locarchive.c:1132 #, c-format msgid "stat of \"%s\" failed: %s: ignored" msgstr "a chamada a stat de \"%s\" fallou: %s: ignórase" -#: locale/programs/locarchive.c:1130 +#: locale/programs/locarchive.c:1138 #, c-format msgid "\"%s\" is no directory; ignored" msgstr "\"%s\" non é un directorio; ignórase" -#: locale/programs/locarchive.c:1137 +#: locale/programs/locarchive.c:1145 #, c-format msgid "cannot open directory \"%s\": %s: ignored" msgstr "non se pode abr-lo directorio \"%s\": %s: ignorado" -#: locale/programs/locarchive.c:1209 +#: locale/programs/locarchive.c:1217 #, c-format msgid "incomplete set of locale files in \"%s\"" msgstr "conxunto de ficheiros de locale incompleto en \"%s\"" -#: locale/programs/locarchive.c:1273 +#: locale/programs/locarchive.c:1281 #, c-format msgid "cannot read all files in \"%s\": ignored" msgstr "non se poden ler tódolos ficheiros de \"%s\": ignorado" -#: locale/programs/locarchive.c:1343 +#: locale/programs/locarchive.c:1351 #, c-format msgid "locale \"%s\" not in archive" msgstr "o locale \"%s\" non está no arquivo" @@ -1653,8 +1653,8 @@ msgstr "<%s> e <%s> son nomes non válidos para o rango" msgid "upper limit in range is not smaller then lower limit" msgstr "o límite superior do rango non é menor có límite inferior" -#: locale/programs/xmalloc.c:70 malloc/obstack.c:500 malloc/obstack.c:503 -#: posix/getconf.c:996 +#: locale/programs/xmalloc.c:70 malloc/obstack.c:505 malloc/obstack.c:508 +#: posix/getconf.c:1002 msgid "memory exhausted" msgstr "memoria esgotada" @@ -1680,7 +1680,7 @@ msgstr "Primeira cadea para facer probas." msgid "Another string for testing." msgstr "Outra cadea para facer probas." -#: catgets/gencat.c:111 catgets/gencat.c:115 nscd/nscd.c:79 +#: catgets/gencat.c:111 catgets/gencat.c:115 nscd/nscd.c:84 msgid "NAME" msgstr "NOME" @@ -1725,7 +1725,7 @@ msgstr "número de conxunto ilegal" msgid "duplicate set definition" msgstr "definición de conxunto duplicada" -#: catgets/gencat.c:446 catgets/gencat.c:619 catgets/gencat.c:648 +#: catgets/gencat.c:446 catgets/gencat.c:623 catgets/gencat.c:677 msgid "this is the first definition" msgstr "esta é a primeira definición" @@ -1743,44 +1743,44 @@ msgstr "carácter de cita non válido" msgid "unknown directive `%s': line ignored" msgstr "directiva `%s' descoñecida: liña ignorada" -#: catgets/gencat.c:617 +#: catgets/gencat.c:621 msgid "duplicated message number" msgstr "número de mensaxe duplicado" -#: catgets/gencat.c:645 +#: catgets/gencat.c:674 msgid "duplicated message identifier" msgstr "identificador de mensaxes duplicado" -#: catgets/gencat.c:702 +#: catgets/gencat.c:731 msgid "invalid character: message ignored" msgstr "carácter non válido: mensaxe ignorada" -#: catgets/gencat.c:745 +#: catgets/gencat.c:774 msgid "invalid line" msgstr "liña non válida" -#: catgets/gencat.c:799 +#: catgets/gencat.c:828 msgid "malformed line ignored" msgstr "ignórase unha liña mal formada" -#: catgets/gencat.c:963 catgets/gencat.c:1004 +#: catgets/gencat.c:992 catgets/gencat.c:1033 #, c-format msgid "cannot open output file `%s'" msgstr "non se pode abri-lo ficheiro de saída `%s'" -#: catgets/gencat.c:1188 +#: catgets/gencat.c:1217 msgid "unterminated message" msgstr "mensaxe non rematada" -#: catgets/gencat.c:1212 +#: catgets/gencat.c:1241 msgid "while opening old catalog file" msgstr "ao abrir un antigo ficheiro de catálogo" -#: catgets/gencat.c:1303 +#: catgets/gencat.c:1332 msgid "conversion modules not available" msgstr "os módulos de conversión non están dispoñibles" -#: catgets/gencat.c:1329 +#: catgets/gencat.c:1358 msgid "cannot determine escape character" msgstr "non se pode determina-lo carácter de escape" @@ -1788,7 +1788,7 @@ msgstr "non se pode determina-lo carácter de escape" msgid "makecontext: does not know how to handle more than 8 arguments\n" msgstr "makecontext: non se sabe como manexar máis de 8 argumentos\n" -#: stdio-common/../sysdeps/gnu/errlist.c:12 posix/regcomp.c:178 +#: stdio-common/../sysdeps/gnu/errlist.c:12 posix/regcomp.c:133 #: nis/nis_error.c:29 nis/ypclnt.c:787 nis/ypclnt.c:861 msgid "Success" msgstr "Éxito" @@ -2977,23 +2977,23 @@ msgstr "Non se pode enviar despois de desconecta-lo socket" msgid "%s%sUnknown signal %d\n" msgstr "%s%sSinal descoñecido %d\n" -#: malloc/mcheck.c:296 +#: malloc/mcheck.c:346 msgid "memory is consistent, library is buggy\n" msgstr "a memoria é consistente, a biblioteca ten erros\n" -#: malloc/mcheck.c:299 +#: malloc/mcheck.c:349 msgid "memory clobbered before allocated block\n" msgstr "memoria alterada antes do bloque reservado\n" -#: malloc/mcheck.c:302 +#: malloc/mcheck.c:352 msgid "memory clobbered past end of allocated block\n" msgstr "memoria alterada despois do bloque reservado\n" -#: malloc/mcheck.c:305 +#: malloc/mcheck.c:355 msgid "block freed twice\n" msgstr "bloque liberado dúas veces\n" -#: malloc/mcheck.c:308 +#: malloc/mcheck.c:358 msgid "bogus mcheck_status, library is buggy\n" msgstr "mcheck_status falso, a biblioteca ten erros\n" @@ -3029,6 +3029,10 @@ msgstr "Xerar un gráfico dos datos de perfilado da memoria" msgid "DATAFILE [OUTFILE]" msgstr "FICHEIRO_DATOS [FICHEIRO_SAÍDA]" +#: string/strerror.c:43 posix/../sysdeps/posix/gai_strerror.c:57 +msgid "Unknown error" +msgstr "Erro descoñecido" + #: string/strsignal.c:69 #, c-format msgid "Real-time signal %d" @@ -3053,7 +3057,7 @@ msgstr "Erro ao escribir na saída estándar" msgid "%s: Memory exhausted: %s\n" msgstr "%s: Memoria esgotada: %s\n" -#: timezone/zic.c:390 misc/error.c:120 +#: timezone/zic.c:390 misc/error.c:127 misc/error.c:155 msgid "Unknown system error" msgstr "Erro de sistema descoñecido" @@ -3446,25 +3450,21 @@ msgstr "Tódalas peticións completadas" msgid "Interrupted by a signal" msgstr "Interrompido por un sinal" -#: posix/../sysdeps/posix/gai_strerror.c:57 -msgid "Unknown error" -msgstr "Erro descoñecido" - -#: posix/getconf.c:883 +#: posix/getconf.c:889 #, c-format msgid "Usage: %s [-v specification] variable_name [pathname]\n" msgstr "Uso: %s [-v especificación] nome_variable [nome]\n" -#: posix/getconf.c:941 +#: posix/getconf.c:947 #, c-format msgid "unknown specification \"%s\"" msgstr "especificación `%s' descoñecida" -#: posix/getconf.c:968 posix/getconf.c:984 +#: posix/getconf.c:974 posix/getconf.c:990 msgid "undefined" msgstr "non definido" -#: posix/getconf.c:1006 +#: posix/getconf.c:1012 #, c-format msgid "Unrecognized variable `%s'" msgstr "Variable `%s' non recoñecida" @@ -3526,71 +3526,71 @@ msgstr "%s: a opción `-W %s' é ambigua\n" msgid "%s: option `-W %s' doesn't allow an argument\n" msgstr "%s: a opción `-W %s' non acepta parámetros\n" -#: posix/regcomp.c:181 +#: posix/regcomp.c:136 msgid "No match" msgstr "Nada coincide" -#: posix/regcomp.c:184 +#: posix/regcomp.c:139 msgid "Invalid regular expression" msgstr "Expresión regular incorrecta" -#: posix/regcomp.c:187 +#: posix/regcomp.c:142 msgid "Invalid collation character" msgstr "Carácter de ordenación incorrecto" -#: posix/regcomp.c:190 +#: posix/regcomp.c:145 msgid "Invalid character class name" msgstr "Nome da clase de caracteres incorrecto" -#: posix/regcomp.c:193 +#: posix/regcomp.c:148 msgid "Trailing backslash" msgstr "Barra invertida extra ó final" -#: posix/regcomp.c:196 +#: posix/regcomp.c:151 msgid "Invalid back reference" msgstr "Referencia cara a atrás incorrecta" -#: posix/regcomp.c:199 +#: posix/regcomp.c:154 msgid "Unmatched [ or [^" msgstr "[ ou [^ sen parella" -#: posix/regcomp.c:202 +#: posix/regcomp.c:157 msgid "Unmatched ( or \\(" msgstr "( ou \\( sen parella" -#: posix/regcomp.c:205 +#: posix/regcomp.c:160 msgid "Unmatched \\{" msgstr "\\{ sen parella" -#: posix/regcomp.c:208 +#: posix/regcomp.c:163 msgid "Invalid content of \\{\\}" msgstr "Contido de \\{\\} incorrecto" -#: posix/regcomp.c:211 +#: posix/regcomp.c:166 msgid "Invalid range end" msgstr "Final do rango incorrecto" -#: posix/regcomp.c:214 +#: posix/regcomp.c:169 msgid "Memory exhausted" msgstr "Memoria esgotada" -#: posix/regcomp.c:217 +#: posix/regcomp.c:172 msgid "Invalid preceding regular expression" msgstr "Expresión regular precedente incorrecta" -#: posix/regcomp.c:220 +#: posix/regcomp.c:175 msgid "Premature end of regular expression" msgstr "Final prematura da expresión regular" -#: posix/regcomp.c:223 +#: posix/regcomp.c:178 msgid "Regular expression too big" msgstr "Expresión regular demasiado grande" -#: posix/regcomp.c:226 +#: posix/regcomp.c:181 msgid "Unmatched ) or \\)" msgstr ") ou \\) sen parella" -#: posix/regcomp.c:673 +#: posix/regcomp.c:615 msgid "No previous regular expression" msgstr "Non hai unha expresión regular precedente" @@ -3744,24 +3744,24 @@ msgstr "base-de-datos [clave ...]" msgid "Service configuration to be used" msgstr "Configuración do servicio a empregar" -#: nss/getent.c:136 nss/getent.c:305 +#: nss/getent.c:136 nss/getent.c:308 #, c-format msgid "Enumeration not supported on %s\n" msgstr "A enumeración non está soportada en %s\n" -#: nss/getent.c:729 +#: nss/getent.c:732 msgid "getent - get entries from administrative database." msgstr "getent - obte-las entradas da base de datos administrativa." -#: nss/getent.c:730 +#: nss/getent.c:733 msgid "Supported databases:" msgstr "Bases de datos soportadas:" -#: nss/getent.c:787 nscd/nscd.c:119 nscd/nscd_nischeck.c:64 +#: nss/getent.c:790 nscd/nscd.c:124 nscd/nscd_nischeck.c:64 msgid "wrong number of arguments" msgstr "número de parámetros incorrecto" -#: nss/getent.c:797 +#: nss/getent.c:800 #, c-format msgid "Unknown database: %s\n" msgstr "Base de datos descoñecida: %s\n" @@ -3790,68 +3790,72 @@ msgstr "non se pode le-la cabeceira" msgid "invalid pointer size" msgstr "tamaño de punteiro non válido" -#: inet/rcmd.c:174 inet/rcmd.c:177 +#: inet/rcmd.c:163 inet/rcmd.c:166 +msgid "rcmd: Cannot allocate memory\n" +msgstr "rcmd: Non se pode reservar memoria\n" + +#: inet/rcmd.c:185 inet/rcmd.c:188 msgid "rcmd: socket: All ports in use\n" msgstr "rcmp: socket: Tódolos portos están sendo utilizados\n" -#: inet/rcmd.c:211 +#: inet/rcmd.c:222 #, c-format msgid "connect to address %s: " msgstr "conectarse ao enderezo %s: " -#: inet/rcmd.c:229 +#: inet/rcmd.c:240 #, c-format msgid "Trying %s...\n" msgstr "Probando %s...\n" -#: inet/rcmd.c:278 +#: inet/rcmd.c:289 #, c-format msgid "rcmd: write (setting up stderr): %m\n" msgstr "rcmd: write (configurando stderr): %m\n" -#: inet/rcmd.c:299 +#: inet/rcmd.c:310 #, c-format msgid "rcmd: poll (setting up stderr): %m\n" msgstr "rcmd: poll (configurando stderr): %m\n" -#: inet/rcmd.c:302 +#: inet/rcmd.c:313 msgid "poll: protocol failure in circuit setup\n" msgstr "poll: fallo de protocolo no establecemento do circuito\n" -#: inet/rcmd.c:346 +#: inet/rcmd.c:358 msgid "socket: protocol failure in circuit setup\n" msgstr "socket: fallo do protocolo no establecemento do circuito\n" -#: inet/rcmd.c:368 +#: inet/rcmd.c:387 #, c-format msgid "rcmd: %s: short read" msgstr "rcmd: %s: lectura curta" -#: inet/rcmd.c:524 +#: inet/rcmd.c:549 msgid "lstat failed" msgstr "fallou a chamada a lstat" -#: inet/rcmd.c:526 +#: inet/rcmd.c:551 msgid "not regular file" msgstr "non é un ficheiro normal" -#: inet/rcmd.c:531 +#: inet/rcmd.c:556 msgid "cannot open" msgstr "non se pode abrir" -#: inet/rcmd.c:533 +#: inet/rcmd.c:558 msgid "fstat failed" msgstr "fallou a chamada a fstat" -#: inet/rcmd.c:535 +#: inet/rcmd.c:560 msgid "bad owner" msgstr "propietario incorrecto" -#: inet/rcmd.c:537 +#: inet/rcmd.c:562 msgid "writeable by other than owner" msgstr "escribible por alguén distinto do propietario" -#: inet/rcmd.c:539 +#: inet/rcmd.c:564 msgid "hard linked somewhere" msgstr "ten un enlace duro nalgún sitio" @@ -4062,109 +4066,109 @@ msgstr "Problema cunha chamada multidifusión" msgid "Cannot receive reply to broadcast" msgstr "Non se pode recibi-la resposta á multidifusión" -#: sunrpc/rpc_main.c:289 +#: sunrpc/rpc_main.c:288 #, c-format msgid "%s: output would overwrite %s\n" msgstr "%s: a saída sobreescribiría %s\n" -#: sunrpc/rpc_main.c:296 +#: sunrpc/rpc_main.c:295 #, c-format msgid "%s: unable to open %s: %m\n" msgstr "%s: non se pode abrir %s: %m\n" -#: sunrpc/rpc_main.c:308 +#: sunrpc/rpc_main.c:307 #, c-format msgid "%s: while writing output %s: %m" msgstr "%s: ao escribir á saída %s: %m" -#: sunrpc/rpc_main.c:343 +#: sunrpc/rpc_main.c:342 #, c-format msgid "cannot find C preprocessor: %s \n" msgstr "non podo atopa-lo preprocesador de C: %s \n" -#: sunrpc/rpc_main.c:351 +#: sunrpc/rpc_main.c:350 msgid "cannot find any C preprocessor (cpp)\n" msgstr "non podo atopar un preprocesador de C (cpp)\n" -#: sunrpc/rpc_main.c:420 +#: sunrpc/rpc_main.c:419 #, c-format msgid "%s: C preprocessor failed with signal %d\n" msgstr "%s: O preprocesador de C fallou co sinal %d\n" -#: sunrpc/rpc_main.c:423 +#: sunrpc/rpc_main.c:422 #, c-format msgid "%s: C preprocessor failed with exit code %d\n" msgstr "%s: O preprocesador de C fallou co código de saída %d\n" -#: sunrpc/rpc_main.c:463 +#: sunrpc/rpc_main.c:462 #, c-format msgid "illegal nettype :`%s'\n" msgstr "tipo de rede ilegal :`%s'\n" -#: sunrpc/rpc_main.c:1105 +#: sunrpc/rpc_main.c:1104 msgid "rpcgen: too many defines\n" msgstr "rpcgen: demasiadas definicións\n" -#: sunrpc/rpc_main.c:1117 +#: sunrpc/rpc_main.c:1116 msgid "rpcgen: arglist coding error\n" msgstr "rpcgen: erro de codificación da lista de parámetros\n" #. TRANS: the file will not be removed; this is an #. TRANS: informative message. -#: sunrpc/rpc_main.c:1150 +#: sunrpc/rpc_main.c:1149 #, c-format msgid "file `%s' already exists and may be overwritten\n" msgstr "o ficheiro `%s' xa existe e pode ser sobreescrito\n" -#: sunrpc/rpc_main.c:1195 +#: sunrpc/rpc_main.c:1194 msgid "Cannot specify more than one input file!\n" msgstr "¡Non se pode indicar máis dun ficheiro de entrada!\n" -#: sunrpc/rpc_main.c:1365 +#: sunrpc/rpc_main.c:1364 msgid "This implementation doesn't support newstyle or MT-safe code!\n" msgstr "¡Esta implementación non soporta código de novo estilo ou seguro para MT!\n" -#: sunrpc/rpc_main.c:1374 +#: sunrpc/rpc_main.c:1373 msgid "Cannot use netid flag with inetd flag!\n" msgstr "¡Non se pode utiliza-la opción netid coa opción inetd!\n" -#: sunrpc/rpc_main.c:1386 +#: sunrpc/rpc_main.c:1385 msgid "Cannot use netid flag without TIRPC!\n" msgstr "¡Non se pode utiliza-la opción netid sen TIRPC!\n" -#: sunrpc/rpc_main.c:1393 +#: sunrpc/rpc_main.c:1392 msgid "Cannot use table flags with newstyle!\n" msgstr "¡Non se poden utiliza-las opcións de táboa con newstyle!\n" -#: sunrpc/rpc_main.c:1412 +#: sunrpc/rpc_main.c:1411 msgid "\"infile\" is required for template generation flags.\n" msgstr "Precísase dun ficheiro de \"entrada\" para as opcións de xeración de patróns.\n" -#: sunrpc/rpc_main.c:1417 +#: sunrpc/rpc_main.c:1416 msgid "Cannot have more than one file generation flag!\n" msgstr "Non se pode ter máis dunha opción de xeración de ficheiros\n" -#: sunrpc/rpc_main.c:1426 +#: sunrpc/rpc_main.c:1425 #, c-format msgid "usage: %s infile\n" msgstr "uso: %s ficheiro-de-entrada\n" -#: sunrpc/rpc_main.c:1427 +#: sunrpc/rpc_main.c:1426 #, c-format msgid "\t%s [-abkCLNTM][-Dname[=value]] [-i size] [-I [-K seconds]] [-Y path] infile\n" msgstr "\t%s [-abkCLNTM][-Dnome[=valor]] [-i tamaño] [-I [-K segundos]] [-Y rota] entrada\n" -#: sunrpc/rpc_main.c:1429 +#: sunrpc/rpc_main.c:1428 #, c-format msgid "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o outfile] [infile]\n" msgstr "\t%s [-c | -h | -l | -m | -t | -Sc | -Ss | -Sm] [-o saída] [entrada]\n" -#: sunrpc/rpc_main.c:1431 +#: sunrpc/rpc_main.c:1430 #, c-format msgid "\t%s [-s nettype]* [-o outfile] [infile]\n" msgstr "\t%s [-s tiporede]* [-o saída] [entrada]\n" -#: sunrpc/rpc_main.c:1432 +#: sunrpc/rpc_main.c:1431 #, c-format msgid "\t%s [-n netid]* [-o outfile] [infile]\n" msgstr "\t%s [-n idrede]* [-o saída] [entrada]\n" @@ -5021,7 +5025,7 @@ msgstr "yp_update: non se pode obte-lo enderezo do servidor\n" msgid "while allocating hash table entry" msgstr "ao reservar espacio para a entrada da táboa hash" -#: nscd/cache.c:150 nscd/connections.c:185 +#: nscd/cache.c:150 nscd/connections.c:187 #, c-format msgid "cannot stat() file `%s': %s" msgstr "non se pode facer stat() sobre o ficheiro `%s': %s" @@ -5034,153 +5038,158 @@ msgstr "non se pode le-lo ficheiro de configuración; isto é fatal" msgid "Cannot run nscd in secure mode as unprivileged user" msgstr "Non se pode executar nscd en modo seguro coma usuario non privilexiado" -#: nscd/connections.c:199 +#: nscd/connections.c:175 +#, c-format +msgid "while allocating cache: %s" +msgstr "ao reservar espacio para a caché: %s" + +#: nscd/connections.c:200 #, c-format msgid "cannot open socket: %s" msgstr "non se pode abrir un socket: %s" -#: nscd/connections.c:217 +#: nscd/connections.c:218 #, c-format msgid "cannot enable socket to accept connections: %s" msgstr "non se pode facer que o socket acepte conexións: %s" -#: nscd/connections.c:259 +#: nscd/connections.c:260 #, c-format msgid "handle_request: request received (Version = %d)" msgstr "handle_request: petición recibida (Version = %d)" -#: nscd/connections.c:265 +#: nscd/connections.c:266 #, c-format msgid "cannot handle old request version %d; current version is %d" msgstr "non se pode manexa-la antiga petición versión %d; a versión actual é %d" -#: nscd/connections.c:303 nscd/connections.c:325 +#: nscd/connections.c:304 nscd/connections.c:326 #, c-format msgid "cannot write result: %s" msgstr "non se pode escribi-lo resultado: %s" -#: nscd/connections.c:404 nscd/connections.c:498 +#: nscd/connections.c:405 nscd/connections.c:499 #, c-format msgid "error getting callers id: %s" msgstr "erro ao obte-lo identificador do chamante: %s" -#: nscd/connections.c:470 +#: nscd/connections.c:471 #, c-format msgid "while accepting connection: %s" msgstr "ao aceptar unha conexión: %s" -#: nscd/connections.c:481 +#: nscd/connections.c:482 #, c-format msgid "short read while reading request: %s" msgstr "lectura demasiado curta ao le-la petición: %s" -#: nscd/connections.c:517 +#: nscd/connections.c:518 #, c-format msgid "key length in request too long: %d" msgstr "lonxitude da clave da petición demasiado grande: %d" -#: nscd/connections.c:531 +#: nscd/connections.c:532 #, c-format msgid "short read while reading request key: %s" msgstr "lectura demasiado curta ao le-la clave de petición: %s" -#: nscd/connections.c:590 nscd/connections.c:591 nscd/connections.c:610 -#: nscd/connections.c:623 nscd/connections.c:629 nscd/connections.c:636 +#: nscd/connections.c:591 nscd/connections.c:592 nscd/connections.c:611 +#: nscd/connections.c:624 nscd/connections.c:630 nscd/connections.c:637 #, c-format msgid "Failed to run nscd as user '%s'" msgstr "Non se puido executar nscd coma o usuario '%s'" -#: nscd/connections.c:611 +#: nscd/connections.c:612 msgid "getgrouplist failed" msgstr "fallou a chamada a getgrouplist" -#: nscd/connections.c:624 +#: nscd/connections.c:625 msgid "setgroups failed" msgstr "fallou a chamada a setgroups" -#: nscd/grpcache.c:102 nscd/hstcache.c:110 nscd/pwdcache.c:108 +#: nscd/grpcache.c:103 nscd/hstcache.c:111 nscd/pwdcache.c:109 msgid "while allocating key copy" msgstr "ao reservar espacio para a copia da clave" -#: nscd/grpcache.c:152 nscd/hstcache.c:167 nscd/pwdcache.c:145 +#: nscd/grpcache.c:153 nscd/hstcache.c:168 nscd/pwdcache.c:146 msgid "while allocating cache entry" msgstr "ao reservar espacio para a entrada de caché" -#: nscd/grpcache.c:195 nscd/hstcache.c:281 nscd/pwdcache.c:191 +#: nscd/grpcache.c:196 nscd/hstcache.c:282 nscd/pwdcache.c:192 #, c-format msgid "short write in %s: %s" msgstr "escritura demasiado curta en %s: %s" -#: nscd/grpcache.c:217 +#: nscd/grpcache.c:218 #, c-format msgid "Haven't found \"%s\" in group cache!" msgstr "¡Non atopei \"%s\" na caché de grupos!" -#: nscd/grpcache.c:292 +#: nscd/grpcache.c:284 #, c-format msgid "Invalid numeric gid \"%s\"!" msgstr "¡Identificación numérica de grupo \"%s\" non válida!" -#: nscd/grpcache.c:299 +#: nscd/grpcache.c:291 #, c-format msgid "Haven't found \"%d\" in group cache!" msgstr "¡Non atopei \"%d\" na caché de grupos!" -#: nscd/hstcache.c:303 nscd/hstcache.c:378 nscd/hstcache.c:456 -#: nscd/hstcache.c:533 +#: nscd/hstcache.c:304 nscd/hstcache.c:370 nscd/hstcache.c:435 +#: nscd/hstcache.c:500 #, c-format msgid "Haven't found \"%s\" in hosts cache!" msgstr "¡Non atopei \"%s\" na caché de servidores!" -#: nscd/nscd.c:80 +#: nscd/nscd.c:85 msgid "Read configuration data from NAME" msgstr "Le-los datos de configuración de NOME" -#: nscd/nscd.c:82 +#: nscd/nscd.c:87 msgid "Do not fork and display messages on the current tty" msgstr "Non bifurcar e visualiza-las mensaxes no terminal actual" -#: nscd/nscd.c:83 +#: nscd/nscd.c:88 msgid "NUMBER" msgstr "NÚMERO" -#: nscd/nscd.c:83 +#: nscd/nscd.c:88 msgid "Start NUMBER threads" msgstr "Comezar NÚMERO fíos" -#: nscd/nscd.c:84 +#: nscd/nscd.c:89 msgid "Shut the server down" msgstr "Apaga-lo servidor" -#: nscd/nscd.c:85 +#: nscd/nscd.c:90 msgid "Print current configuration statistic" msgstr "Visualiza-la estatística da configuración actual" -#: nscd/nscd.c:86 +#: nscd/nscd.c:91 msgid "TABLE" msgstr "TÁBOA" -#: nscd/nscd.c:87 +#: nscd/nscd.c:92 msgid "Invalidate the specified cache" msgstr "Invalida-la caché especificada" -#: nscd/nscd.c:88 +#: nscd/nscd.c:93 msgid "TABLE,yes" msgstr "TÁBOA,si" -#: nscd/nscd.c:88 +#: nscd/nscd.c:93 msgid "Use separate cache for each user" msgstr "Usar unha caché separada para cada usuario" -#: nscd/nscd.c:93 +#: nscd/nscd.c:98 msgid "Name Service Cache Daemon." msgstr "Demo de Cache de Servicio de Nomes." -#: nscd/nscd.c:126 +#: nscd/nscd.c:131 msgid "already running" msgstr "xa en execución" -#: nscd/nscd.c:192 nscd/nscd.c:212 nscd/nscd.c:218 +#: nscd/nscd.c:243 nscd/nscd.c:263 nscd/nscd.c:269 msgid "Only root is allowed to use this option!" msgstr "¡Só root pode usar esa opción!" @@ -5270,22 +5279,22 @@ msgstr "" "%15ld%% tasa de acertos de caché\n" "%15s comprobe /etc/%s para ve-los cambios\n" -#: nscd/pwdcache.c:213 +#: nscd/pwdcache.c:214 #, c-format msgid "Haven't found \"%s\" in password cache!" msgstr "¡Non atopei \"%s\" na caché de contrasinais!" -#: nscd/pwdcache.c:288 +#: nscd/pwdcache.c:280 #, c-format msgid "Invalid numeric uid \"%s\"!" msgstr "¡Identificación numérica de usuario \"%s\" non válida!" -#: nscd/pwdcache.c:295 +#: nscd/pwdcache.c:287 #, c-format msgid "Haven't found \"%d\" in password cache!" msgstr "¡Non atopei \"%d\" na caché de contrasinais!" -#: elf/../sysdeps/generic/dl-sysdep.c:297 +#: elf/../sysdeps/generic/dl-sysdep.c:357 msgid "cannot create capability list" msgstr "non se pode crea-la lista de capacidades" @@ -5336,7 +5345,7 @@ msgstr "Sistema operativo descoñecido" msgid ", OS ABI: %s %d.%d.%d" msgstr ", OS ABI: %s %d.%d.%d" -#: elf/cache.c:136 elf/ldconfig.c:1033 +#: elf/cache.c:136 elf/ldconfig.c:1045 #, c-format msgid "Can't open cache file %s\n" msgstr "Non se puido abri-lo ficheiro de caché %s\n" @@ -5382,15 +5391,15 @@ msgstr "O cambio dos dereitos de acceso de %s a %#o fallou" msgid "Renaming of %s to %s failed" msgstr "Fallou o renomeado de %s a %s" -#: elf/dl-close.c:113 +#: elf/dl-close.c:128 msgid "shared object not open" msgstr "o obxecto compartido non está aberto" -#: elf/dl-close.c:357 elf/dl-open.c:436 +#: elf/dl-close.c:486 elf/dl-open.c:444 msgid "TLS generation counter wrapped! Please send report with the 'glibcbug' script." msgstr "O xerador de TLS deu unha volta completa. Informe co script 'glibcbug'." -#: elf/dl-deps.c:111 elf/dl-open.c:177 +#: elf/dl-deps.c:111 elf/dl-open.c:183 msgid "DST not allowed in SUID/SGID programs" msgstr "Non se admite DST en programas SUID/SGID" @@ -5407,181 +5416,193 @@ msgstr "non se pode carga-lo `%s' auxiliar debido a unha substitución de element msgid "cannot allocate dependency list" msgstr "non se pode localiza-la lista de dependencias" -#: elf/dl-deps.c:492 elf/dl-deps.c:547 +#: elf/dl-deps.c:494 elf/dl-deps.c:549 msgid "cannot allocate symbol search list" msgstr "non se pode localiza-la lista de busca de símbolos" -#: elf/dl-deps.c:532 +#: elf/dl-deps.c:534 msgid "Filters not supported with LD_TRACE_PRELINKING" msgstr "Non se soportan os filtros con LD_TRACE_PRELINKING" -#: elf/dl-error.c:73 +#: elf/dl-error.c:75 msgid "DYNAMIC LINKER BUG!!!" msgstr "¡¡¡ERRO NO LIGADOR DINÁMICO!!!" -#: elf/dl-error.c:106 +#: elf/dl-error.c:108 msgid "error while loading shared libraries" msgstr "erro ao carga-las bibliotecas compartidas" -#: elf/dl-load.c:338 +#: elf/dl-load.c:339 msgid "cannot allocate name record" msgstr "non se pode localiza-lo rexistro de nome" -#: elf/dl-load.c:440 elf/dl-load.c:520 elf/dl-load.c:614 elf/dl-load.c:709 +#: elf/dl-load.c:441 elf/dl-load.c:520 elf/dl-load.c:612 elf/dl-load.c:707 msgid "cannot create cache for search path" msgstr "non se pode crea-la caché para a ruta de busca" -#: elf/dl-load.c:545 +#: elf/dl-load.c:543 msgid "cannot create RUNPATH/RPATH copy" msgstr "non se pode crear unha copia de RUNPATH/RPATH" -#: elf/dl-load.c:600 +#: elf/dl-load.c:598 msgid "cannot create search path array" msgstr "non se pode crea-lo vector de rutas de busca" -#: elf/dl-load.c:796 +#: elf/dl-load.c:794 msgid "cannot stat shared object" msgstr "non se puido facer stat sobre o obxecto compartido" -#: elf/dl-load.c:840 +#: elf/dl-load.c:838 msgid "cannot open zero fill device" msgstr "non se pode abrir un dispositivo de recheo de ceros" -#: elf/dl-load.c:849 elf/dl-load.c:1855 +#: elf/dl-load.c:847 elf/dl-load.c:1902 msgid "cannot create shared object descriptor" msgstr "non se pode crear un descriptor de obxecto compartido" -#: elf/dl-load.c:868 elf/dl-load.c:1351 elf/dl-load.c:1434 +#: elf/dl-load.c:866 elf/dl-load.c:1398 elf/dl-load.c:1481 msgid "cannot read file data" msgstr "non se pode le-los datos do ficheiro" -#: elf/dl-load.c:908 +#: elf/dl-load.c:906 msgid "ELF load command alignment not page-aligned" msgstr "O comando de carga ELF non está aliñado coa páxina" -#: elf/dl-load.c:915 +#: elf/dl-load.c:913 msgid "ELF load command address/offset not properly aligned" msgstr "O enderezo/desprazamento do comando de carga ELF non está ben aliñado" -#: elf/dl-load.c:996 +#: elf/dl-load.c:988 +msgid "cannot allocate TLS data structures for initial thread" +msgstr "non se poden crea-las estructuras de datos TLS para o fío inicial" + +#: elf/dl-load.c:1012 +msgid "cannot handle TLS data" +msgstr "non se poden manexa-los datos TLS" + +#: elf/dl-load.c:1047 msgid "failed to map segment from shared object" msgstr "non se puido mapear un segmento dun obxecto compartido" -#: elf/dl-load.c:1020 +#: elf/dl-load.c:1071 msgid "cannot dynamically load executable" msgstr "non se pode cargar dinamicamente o executable" -#: elf/dl-load.c:1081 +#: elf/dl-load.c:1132 msgid "cannot change memory protections" msgstr "non se poden cambia-las proteccións de memoria" -#: elf/dl-load.c:1100 +#: elf/dl-load.c:1151 msgid "cannot map zero-fill pages" msgstr "non se poden mapear páxinas de recheo de ceros" -#: elf/dl-load.c:1118 +#: elf/dl-load.c:1169 msgid "cannot allocate memory for program header" msgstr "Non se pode reservar memoria para a cabeceira do programa" -#: elf/dl-load.c:1149 +#: elf/dl-load.c:1200 msgid "object file has no dynamic section" msgstr "o ficheiro obxecto non ten unha sección dinámica" -#: elf/dl-load.c:1193 +#: elf/dl-load.c:1240 msgid "shared object cannot be dlopen()ed" msgstr "non se pode facer dlopen() sobre o obxecto compartido" -#: elf/dl-load.c:1216 +#: elf/dl-load.c:1263 msgid "cannot create searchlist" msgstr "non se pode crea-la lista de busca" -#: elf/dl-load.c:1351 +#: elf/dl-load.c:1398 msgid "file too short" msgstr "ficheiro pequeno de máis" -#: elf/dl-load.c:1374 +#: elf/dl-load.c:1421 msgid "invalid ELF header" msgstr "cabeceira ELF non válida" -#: elf/dl-load.c:1383 +#: elf/dl-load.c:1430 msgid "ELF file data encoding not big-endian" msgstr "A codificación dos datos do ficheiro ELF non é \"big-endian\"" -#: elf/dl-load.c:1385 +#: elf/dl-load.c:1432 msgid "ELF file data encoding not little-endian" msgstr "A codificación dos datos do ficheiro ELF non é \"little-endian\"" -#: elf/dl-load.c:1389 +#: elf/dl-load.c:1436 msgid "ELF file version ident does not match current one" msgstr "O identificador da versión do ficheiro ELF non coincide co actual" -#: elf/dl-load.c:1393 +#: elf/dl-load.c:1440 msgid "ELF file OS ABI invalid" msgstr "ABI do SO do ficheiro ELF non válida" -#: elf/dl-load.c:1395 +#: elf/dl-load.c:1442 msgid "ELF file ABI version invalid" msgstr "Versión do ABI do ficheiro ELF non válida" -#: elf/dl-load.c:1398 +#: elf/dl-load.c:1445 msgid "internal error" msgstr "erro interno" -#: elf/dl-load.c:1405 +#: elf/dl-load.c:1452 msgid "ELF file version does not match current one" msgstr "A versión do ficheiro ELF non coincide coa actual" -#: elf/dl-load.c:1413 +#: elf/dl-load.c:1460 msgid "ELF file's phentsize not the expected size" msgstr "O phentsize do ficheiro ELF non é o tamaño esperado" -#: elf/dl-load.c:1419 +#: elf/dl-load.c:1466 msgid "only ET_DYN and ET_EXEC can be loaded" msgstr "só se pode cargar ET_DYN e ET_EXEC" -#: elf/dl-load.c:1870 +#: elf/dl-load.c:1917 msgid "cannot open shared object file" msgstr "non se pode abrir un ficheiro de obxecto compartido" -#: elf/dl-lookup.c:248 elf/dl-lookup.c:413 +#: elf/dl-lookup.c:265 elf/dl-lookup.c:430 msgid "relocation error" msgstr "erro de cambio de reserva" -#: elf/dl-open.c:105 +#: elf/dl-open.c:111 msgid "cannot extend global scope" msgstr "non se pode extende-lo alcance global" -#: elf/dl-open.c:208 +#: elf/dl-open.c:214 msgid "empty dynamic string token substitution" msgstr "substitución de elementos da cadea dinámica baleira" -#: elf/dl-open.c:345 elf/dl-open.c:356 +#: elf/dl-open.c:351 elf/dl-open.c:362 msgid "cannot create scope list" msgstr "non se pode crea-la lista de alcance" -#: elf/dl-open.c:416 +#: elf/dl-open.c:424 msgid "cannot create TLS data structures" msgstr "non se poden crea-las estructuras de datos TLS" -#: elf/dl-open.c:478 +#: elf/dl-open.c:486 msgid "invalid mode for dlopen()" msgstr "modo incorrecto para dlopen()" -#: elf/dl-reloc.c:88 +#: elf/dl-reloc.c:58 +msgid "shared object cannot be dlopen()ed: static TLS memory too small" +msgstr "non se pode facer dlopen() sobre o obxecto compartido: a memoria TLS estática é pequena de máis" + +#: elf/dl-reloc.c:118 msgid "cannot make segment writable for relocation" msgstr "non se pode face-lo segmento gravable para o movemento" -#: elf/dl-reloc.c:174 +#: elf/dl-reloc.c:219 #, c-format msgid "%s: profiler found no PLTREL in object %s\n" msgstr "%s: o perfilador non atopou PLTREL no obxecto %s\n" -#: elf/dl-reloc.c:186 +#: elf/dl-reloc.c:231 #, c-format msgid "%s: profiler out of memory shadowing PLTREL of %s\n" msgstr "%s: o perfilador esgotou a memoria sombreando o PLTREL de %s\n" -#: elf/dl-reloc.c:201 +#: elf/dl-reloc.c:246 msgid "cannot restore segment prot after reloc" msgstr "non se pode restaura-la protección do segmento despois de movelo" @@ -5637,119 +5658,119 @@ msgstr "Formato para empregar: new (novo), old (vello) ou compat (por defecto)" msgid "Configure Dynamic Linker Run Time Bindings." msgstr "Configura-las Asignacións de Tempo de Execución do Ligador Dinámico" -#: elf/ldconfig.c:282 +#: elf/ldconfig.c:294 #, c-format msgid "Path `%s' given more than once" msgstr "Proporcionouse a ruta `%s' máis dunha vez" -#: elf/ldconfig.c:326 +#: elf/ldconfig.c:338 #, c-format msgid "%s is not a known library type" msgstr "%s non é un tipo de biblioteca coñecido" -#: elf/ldconfig.c:344 +#: elf/ldconfig.c:356 #, c-format msgid "Can't stat %s" msgstr "Non se puido executar `stat' sobre %s" -#: elf/ldconfig.c:414 +#: elf/ldconfig.c:426 #, c-format msgid "Can't stat %s\n" msgstr "Non se puido executar `stat' sobre %s\n" -#: elf/ldconfig.c:424 +#: elf/ldconfig.c:436 #, c-format msgid "%s is not a symbolic link\n" msgstr "%s non é unha ligazón simbólica\n" -#: elf/ldconfig.c:443 +#: elf/ldconfig.c:455 #, c-format msgid "Can't unlink %s" msgstr "Non se puido borrar %s" -#: elf/ldconfig.c:449 +#: elf/ldconfig.c:461 #, c-format msgid "Can't link %s to %s" msgstr "Non se puido ligar %s a %s" -#: elf/ldconfig.c:455 +#: elf/ldconfig.c:467 msgid " (changed)\n" msgstr " (cambiou)\n" -#: elf/ldconfig.c:457 +#: elf/ldconfig.c:469 msgid " (SKIPPED)\n" msgstr " (OMITIDO)\n" -#: elf/ldconfig.c:512 +#: elf/ldconfig.c:524 #, c-format msgid "Can't find %s" msgstr "Non se pode atopar %s" -#: elf/ldconfig.c:528 +#: elf/ldconfig.c:540 #, c-format msgid "Can't lstat %s" msgstr "Non se pode facer lstat sobre %s" -#: elf/ldconfig.c:535 +#: elf/ldconfig.c:547 #, c-format msgid "Ignored file %s since it is not a regular file." msgstr "Ignorouse o ficheiro %s porque non é un ficheiro normal" -#: elf/ldconfig.c:543 +#: elf/ldconfig.c:555 #, c-format msgid "No link created since soname could not be found for %s" msgstr "Non se creou unha ligazón porque non se atopou o soname para %s" -#: elf/ldconfig.c:634 +#: elf/ldconfig.c:646 #, c-format msgid "Can't open directory %s" msgstr "Non se puido abri-lo directorio %s" -#: elf/ldconfig.c:689 elf/ldconfig.c:736 +#: elf/ldconfig.c:701 elf/ldconfig.c:748 #, c-format msgid "Cannot lstat %s" msgstr "Non se pode facer lstat sobre %s" -#: elf/ldconfig.c:701 +#: elf/ldconfig.c:713 #, c-format msgid "Cannot stat %s" msgstr "Non se pode executar `stat' sobre %s" -#: elf/ldconfig.c:758 elf/readlib.c:93 +#: elf/ldconfig.c:770 elf/readlib.c:93 #, c-format msgid "Input file %s not found.\n" msgstr "Non se atopou o ficheiro de entrada %s.\n" -#: elf/ldconfig.c:792 +#: elf/ldconfig.c:804 #, c-format msgid "libc5 library %s in wrong directory" msgstr "biblioteca libc5 %s nun directorio incorrecto" -#: elf/ldconfig.c:795 +#: elf/ldconfig.c:807 #, c-format msgid "libc6 library %s in wrong directory" msgstr "biblioteca libc6 %s nun directorio incorrecto" -#: elf/ldconfig.c:798 +#: elf/ldconfig.c:810 #, c-format msgid "libc4 library %s in wrong directory" msgstr "biblioteca libc4 %s nun directorio incorrecto" -#: elf/ldconfig.c:825 +#: elf/ldconfig.c:837 #, c-format msgid "libraries %s and %s in directory %s have same soname but different type." msgstr "as bibliotecas %s e %s do directorio %s teñen o mesmo soname pero diferente tipo." -#: elf/ldconfig.c:928 +#: elf/ldconfig.c:940 #, c-format msgid "Can't open configuration file %s" msgstr "Non se puido abri-lo ficheiro de configuración %s" -#: elf/ldconfig.c:1012 +#: elf/ldconfig.c:1024 msgid "Can't chdir to /" msgstr "Non se pode cambiar ao directorio /" -#: elf/ldconfig.c:1054 +#: elf/ldconfig.c:1066 #, c-format msgid "Can't open cache file directory %s\n" msgstr "Non se puido abri-lo directorio de ficheiros caché %s\n" diff --git a/po/sv.po b/po/sv.po index debfff5197..3f4151f1ad 100644 --- a/po/sv.po +++ b/po/sv.po @@ -1,13 +1,13 @@ # GNU libc message catalog for swedish # Copyright © 1996, 1998, 2001, 2002, 2003 Free Software Foundation, Inc. # Jan Djärv <jan.h.d@swipnet.se>, 1996, 1998, 2001, 2002, 2003. -# Revision: 1.44 +# Revision: 1.45 # msgid "" msgstr "" "Project-Id-Version: libc 2.3.2\n" "POT-Creation-Date: 2003-02-22 15:34-0800\n" -"PO-Revision-Date: 2003-03-03 19:14+0100\n" +"PO-Revision-Date: 2003-03-03 21:11+0100\n" "Last-Translator: Jan Djärv <jan.h.d@swipnet.se>\n" "Language-Team: Swedish <sv@li.org>\n" "MIME-Version: 1.0\n" @@ -4714,7 +4714,7 @@ msgid "" "Group Members :\n" msgstr "" "\n" -"Guppmedlemmar:\n" +"Gruppmedlemmar:\n" #: nis/nis_print.c:266 #, c-format |