Compare commits

...
Author SHA1 Message Date
Adhemerval Zanella 9d528833ac linux: Do not spawn a new thread for SIGEV_THREAD (BZ 30558, 27895, 29705, 32833)
The current timer_create SIGEV_THREAD implementation has some
downsides:

  1. There is no way to report failure at thread creation when a
     timer triggers.  It means that it might occur unreported and with
     missed events depending of the system load.

  2. The background thread is also kept in the background even when there
     are no more timers, consuming resources and also misleading memory
     profile tools (BZ 29705).

  3. There is a lot of metadata that needs to be kept: a control
     variable for helper thread creation, a list of active SIGEV_THREAD
     timers, atfork handlers to cleanup the list.

  4. timer_create does not propagate all thread attributes to the new
     thread (BZ 27895).

  5. Kernel might deliver in-flight events for a timer after it was
     destroyed by timer_delete.  The timer_helper_thread mechanism to
     handle it does not cover all possible issue, which leads to
     callbacks being wrongly triggered (BZ 32833).

This new implementation moves the thread creation to timer_create, so
any failure is reported to the caller.  Also, the same thread will
serve multiple timers, thus there are no unreported missed events.
Avoiding parallel timer activation also avoids possible parallel
timer invocations seeing the same overrun value.

SIGTIMER is used internally and aliases SIGCANCEL (__SIGRTMIN).  The
helper thread keeps it blocked while waiting for expirations with
sigwaitinfo, and unblocks it only around the notification function so
that an asynchronous pthread_cancel targeting the pthread_t obtained
from pthread_self within the notification is delivered and acted upon
(POSIX requires SIGEV_THREAD to behave as if a fresh thread serviced
each notification).  Because the same signal number is unblocked
there, the SIGCANCEL handler is installed eagerly from timer_create:
otherwise a timer re-fire or a timer_delete wake reaching the
notification thread would hit the default disposition of __SIGRTMIN
and terminate the process.  For the same reason timer_delete wakes the
helper with SIGTIMER queued with SI_QUEUE instead of tgkill, so the
wake is not mistaken for a cancellation by the handler.

Unblocking SIGTIMER during the notification forces overrun accounting
into userspace.  The kernel only counts an expiration as an overrun
while a signal for the timer is still pending; but with the signal
unblocked every expiration that arrives during the notification is
delivered promptly to the handler and ignored, so the kernel never
leaves one pending and never counts it (timer_getoverrun would thus
always report zero).  The handler instead counts these ignored
expirations, and timer_create adds the ones the kernel folded in while
the helper was blocked between firings, into a per-timer cumulative
counter returned by timer_getoverrun.  The counter is never reset
across notifications (otherwise the overruns of a slow notification
would be lost when the next one starts) and saturates at
DELAYTIMER_MAX, matching the kernel.  This lets an application detect a
notification function too slow for the interval and take corrective
action, such as re-arming the timer with timer_settime.

The notification runs under a cancellation landing pad rooted at the
wait loop: a pthread_cancel or a pthread_exit from the notification
function unwinds back into the loop, a cleanup handler resets all
internal thread state, and the helper serves the next firing instead
of terminating.  This also avoids the need to recreate the thread for
a pthread_exit call (and the possible unreported missed events from a
failed thread creation).

It also prevents the re-use issue when a newly-allocated timer has
in-flight events being delivered by the kernel (BZ 32833).

Performance-wise it uses less CPU time for multiple thread activations,
although each thread now requires a sigwaitinfo which generates more
context-switches/page-faults (check comment 7 from BZ 30558).  I would
expect that latency should improve, since it avoids a thread creation
for each timer expiration.

Checked on aarch64-linux-gnu, x86_64-linux-gnu and i686-linux-gnu.
2026-07-13 08:46:55 -03:00
Yury Khrustalev d70dd7d722 Revert "malloc: aarch64: Add ifuncs for malloc functions"
Due to issue in GDB and Valgrind that incorrectly call malloc
ifunc resolver as the malloc function, we have to revert this
change.

GDB BZ: https://sourceware.org/bugzilla/show_bug.cgi?id=34330
Valgrind bug: https://bugs.kde.org/show_bug.cgi?id=522497

This reverts commit 9ed3576e61.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2026-07-06 16:33:43 +01:00
Adhemerval Zanella b416f91801 netinet/tcp.h: Sync with Linux 6.15 and fix struct tcp_info tail (BZ 34347)
Add the TCP_RTO_MAX_MS and TCP_RTO_MIN_US socket options (commit
54a378f43425085d0684679d99735696b69165bc, Linux 6.15) and TCP_DELACK_MAX_US
(commit 9552f90835ef3552d0af327e48dc360717777d62, Linux 6.15).

Commit 7e46c2aae4 synced the accurate ECN
additions but encoded the trailing bitfield word of struct tcp_info
incorrectly as two uint16_t fields (tcpi_accecn_fail_mode and
tcpi_accecn_opt_seen), omitting tcpi_ecn_mode and tcpi_options2.  Restore
the kernel layout:

  uint32_t tcpi_ecn_mode:2,
	   tcpi_accecn_opt_seen:2,
	   tcpi_accecn_fail_mode:4,
	   tcpi_options2:24;

The overall structure size is unchanged.  Also add the TCPI_ECN_MODE_*
and TCP_ACCECN_* value constants for these fields, introduced together
with them by Linux commit 4fa4ac5e5848 (Linux 7.0).

Reviewed-by: Florian Weimer <fweimer@redhat.com>
2026-07-06 10:50:50 -03:00
Adhemerval Zanella 3e3146fd86 Add OPEN_TREE_NAMESPACE and FSMOUNT_NAMESPACE to sys/mount.h
Add OPEN_TREE_NAMESPACE (commit 9b8a0ba68246a61d903ce62c35c303b1501df28b,
Linux 7.0) and FSMOUNT_NAMESPACE (commit
5e8969bd192712419aae511dd5ba26855c2c78db, Linux 7.1).
2026-07-06 10:47:38 -03:00
Adhemerval Zanella 28c3a25bc2 s390: Prevent hoisting the thread-pointer read in THREAD_SET_STACK_GUARD (BZ 34297)
THREAD_SET_STACK_GUARD reads the thread pointer via THREAD_SELF
(__builtin_thread_pointer), which the compiler treats as invariant.  In the
static startup path the thread pointer is installed by the __libc_setup_tls
call that immediately precedes the guard store, so the read must stay below
it.  The existing barrier only clobbered the access registers a0/a1, which
creates no dependency on the call, so the compiler could move the whole
barrier and read above __libc_setup_tls.

This is sensitive to instruction scheduling and recent TLS startup
changes exposed it on s390x.

Add a "memory" clobber to the barrier so it is tied to the call's memory
effects and cannot be hoisted above it.  The macro is shared with the
dynamic loader, so both startup paths are covered.

I checked on s390x-linux-gnu build for arch5, arch8, arch9, and arch11
by running the elf tests on qemu system (kernel 6.1.0).

Reviewed-by: Stefan Liebler <stli@linux.ibm.com>
2026-07-06 10:47:30 -03:00
Adhemerval Zanella 1d95a42ead Add new AArch64 HWCAP definitions from Linux 6.14, 6.18 and 7.0 to bits/hwcap.h
Add the 2024 dpISA HWCAP bits HWCAP_CMPBR, HWCAP_FPRCVT, HWCAP_F8MM8,
HWCAP_F8MM4, HWCAP_SVE_F16MM, HWCAP_SVE_ELTPERM, HWCAP_SVE_AES2,
HWCAP_SVE_BFSCALE, HWCAP_SVE2P2, HWCAP_SME2P2, HWCAP_SME_SBITPERM,
HWCAP_SME_AES, HWCAP_SME_SFEXPA, HWCAP_SME_STMOP and HWCAP_SME_SMOP4
(commit 819935464cb2f72fff8dfbbf95cf2726d4a66388, Linux 6.14), HWCAP3_LSFE
(commit 220928e52cb03d223b3acad3888baf0687486d21, Linux 6.18) and
HWCAP3_LS64 (commit 58ce78667a641f93afa0c152c700a1673383d323, Linux 7.0).

Reviewed-by: Wilco Dijkstra  <Wilco.Dijkstra@arm.com>
2026-07-06 10:47:06 -03:00
H.J. Lu 0f61d77aef Makefile: Depend on elf/subdir_lib only if $(subdirs) has elf
commit 7cac99621e
Author: Adhemerval Zanella <adhemerval.zanella@linaro.org>
Date:   Wed Jun 10 16:26:15 2026 -0300

    Makefile: Run the subdirectory recursion in parallel

added:

$(elf-objpfx)ld.so $(elf-objpfx)sofini.os $(elf-objpfx)interp.os: \
  | elf/subdir_lib ;

which doesn't work with

$ make check -jN subdirs=DIR

where DIR doesn't have elf.  Add such rule only if $(subdirs) has elf.
This fixes BZ #34355.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
2026-07-06 16:28:12 +08:00
Andreas Schwab db59f39646 sysdeps/x86: don't spuriously mark tests as xfail
Properly set xfail marker, $(with-lld) is always non-empty.
2026-07-06 09:36:06 +02:00
59cb960a22 riscv: Add RVV strncpy for both multiarch and non-multiarch builds
This patch adds an RVV-optimized implementation of strncpy for RISC-V and
enables it for both multiarch (IFUNC) and non-multiarch builds.

The implementation integrates Hau Hsu's 2023 RVV work under a unified
ifunc-based framework. A vectorized version (__strncpy_vector) is added
alongside the generic fallback (__strncpy_generic). The runtime resolver
selects the RVV variant when RISCV_HWPROBE_KEY_IMA_EXT_0 reports vector
support (RVV).

Currently, the resolver still selects the RVV variant even when the RVV
extension is disabled via prctl(). As a consequence, any process that
has RVV disabled via prctl() will receive SIGILL when calling strncpy().

Co-authored-by: Hau Hsu <hau.hsu@sifive.com>
Co-authored-by: Jerry Shih <jerry.shih@sifive.com>
Signed-off-by: Yao Zihong <zihong.plct@isrc.iscas.ac.cn>
Reviewed-by: Peter Bergner <bergner@tenstorrent.com>
2026-07-05 13:36:37 +00:00
df0669d41d riscv: Add RVV stpncpy for both multiarch and non-multiarch builds
This patch adds an RVV-optimized implementation of stpncpy for RISC-V and
enables it for both multiarch (IFUNC) and non-multiarch builds.

The implementation integrates Hau Hsu's 2023 RVV work under a unified
ifunc-based framework. A vectorized version (__stpncpy_vector) is added
alongside the generic fallback (__stpncpy_generic). The runtime resolver
selects the RVV variant when RISCV_HWPROBE_KEY_IMA_EXT_0 reports vector
support (RVV).

Currently, the resolver still selects the RVV variant even when the RVV
extension is disabled via prctl(). As a consequence, any process that
has RVV disabled via prctl() will receive SIGILL when calling stpncpy().

Co-authored-by: Hau Hsu <hau.hsu@sifive.com>
Co-authored-by: Jerry Shih <jerry.shih@sifive.com>
Signed-off-by: Yao Zihong <zihong.plct@isrc.iscas.ac.cn>
Reviewed-by: Peter Bergner <bergner@tenstorrent.com>
2026-07-05 13:36:37 +00:00
H.J. Lu d692a3444e Add tst-thp-size-mod.so dependency to strace THP tests
After

7cac99621e Makefile: Run the subdirectory recursion in parallel

tests under elf may run in parallel. "make check -jN" reports

FAIL: elf/strace-tst-thp-align-default
FAIL: elf/strace-tst-thp-align-disabled
FAIL: elf/strace-tst-thp-align-enabled

at random since they use tst-thp-align which dlopens tst-thp-size-mod.so,
but tst-thp-size-mod.so dependency is missing.  Add the missing dependency
to fix BZ #34351.

Signed-off-by: H.J. Lu <hjl.tools@gmail.com>
2026-07-05 19:10:24 +08:00
Adhemerval Zanella d109f366ce build-many-glibcs.py: Update Linux kernel version to 7.1
Use the 7.1 release as the default Linux kernel version for building test
compilers and headers.

Reviewed-by: Florian Weimer <fweimer@redhat.com>
2026-07-03 16:32:00 -03:00
Adhemerval Zanella c6ce3bed6d Update kernel version to 7.1 in header constant tests
There are no new constants covered by tst-mman-consts.py or
tst-openat2-consts.py in Linux 6.18, 6.19, 7.0, or 7.1.

Reviewed-by: Florian Weimer <fweimer@redhat.com>
2026-07-03 16:31:58 -03:00
Adhemerval Zanella 800ab3e463 Update syscall lists for Linux 7.1
Linux 6.18 adds the uprobe syscall (x86_64 only), Linux 6.19 adds listns,
and Linux 7.0 adds rseq_slice_yield.  Linux 7.0 also wires up clone3 on
sparc and memfd_secret on loongarch.  Update syscall-names.list and
regenerate the arch-syscall.h headers with build-many-glibcs.py
update-syscalls.

Reviewed-by: Florian Weimer <fweimer@redhat.com>
2026-07-03 16:31:55 -03:00
Adhemerval Zanella 568e673fa9 Add NT_RISCV_USER_CFI from Linux 7.0 to elf.h
It was added by commit 2af7c9cf021c5dabe880b68e5cc22c618060d954.

Reviewed-by: Florian Weimer <fweimer@redhat.com>
2026-07-03 16:31:54 -03:00
Adhemerval Zanella 6f1d069804 Add IPPROTO_AGGFRAG from Linux 6.14 to netinet/in.h (BZ 34347)
It was added by commit 64e844505bc08cde3f346f193cbbbab0096fef54.

Reviewed-by: Florian Weimer <fweimer@redhat.com>
2026-07-03 16:31:52 -03:00
Adhemerval Zanella b4a0ea4a2c Add SCHED_GETATTR_FLAG_DL_DYNAMIC from Linux 7.1 to bits/sched.h
It was added by commit 2e7af192697ef2a71c76fd57860b0fcd02754e14, which
introduced the flags argument for sched_getattr.

Reviewed-by: Florian Weimer <fweimer@redhat.com>
2026-07-03 16:31:50 -03:00
Adhemerval Zanella b9476fa9aa Update PIDFD_* constants for Linux 7.1
The pidfd_info interface was extended to report coredump information:

  * PIDFD_INFO_SUPPORTED_MASK, along with the supported_mask field, so
    userspace can check which flags the running kernel supports (commit
    dfd78546c95330db2252e0d7e937a15ab5eddb4e, Linux 6.19).

  * PIDFD_INFO_COREDUMP_SIGNAL, along with the coredump_signal field
    (commit 036375522be8425874e9e0f907c7127e315c7a52, Linux 6.19).

  * PIDFD_INFO_COREDUMP_CODE, along with the coredump_code field (commit
    701f7f4fbabbf4989ba6fbf033b160dd943221d5, Linux 7.1).

The struct pidfd_info is extended accordingly and PIDFD_INFO_SIZE_VER1,
PIDFD_INFO_SIZE_VER2, and PIDFD_INFO_SIZE_VER3 are added to reflect the
new struct sizes.

Reviewed-by: Florian Weimer <fweimer@redhat.com>
2026-07-03 16:31:48 -03:00
Adhemerval Zanella 5bba5e06e0 Add new LoongArch HWCAP definitions from Linux 7.0 and 7.1 to bits/hwcap.h
Add HWCAP_LOONGARCH_SCQ (commit 48543c4283e76d561d11b9955222b1a3054abdb9,
Linux 7.0) and HWCAP_LOONGARCH_LAM_BH (commit
1dd3e8a8eeb4059fb34b07578362380cf35b7ed5, Linux 7.1).

Reviewed-by: Florian Weimer <fweimer@redhat.com>
2026-07-03 16:31:43 -03:00
Adhemerval Zanella f2e3dacbff Add new constants from Linux 6.12, 6.18 and 6.19 to bits/fcntl-linux.h
Add the FD_NSFS_ROOT (commit e83f0b5d10dcf62833008327cb661c7d118bca85,
Linux 6.18), and F_GETDELEG and F_SETDELEG (commit
1602bad16d7df82faca6d7c70821117684a66f49, Linux 6.19).

Reviewed-by: Florian Weimer <fweimer@redhat.com>
2026-07-03 16:31:41 -03:00
RyotaSaito 2077c0e385 x86: Remove unused VZEROUPPER_SHORT_RETURN macro from memset
The VZEROUPPER_SHORT_RETURN macro in memset-vec-unaligned-erms.S has had
no users since commit e59ced2384 ("x86: Optimize
memset-vec-unaligned-erms.S") removed its last invocation, leaving both
the VEC_SIZE > 16 definition and the "rep; ret" fallback definition in
place.  Remove the two now-dead definitions.

Signed-off-by: RyotaSaito <saito.ryota.23@shizuoka.ac.jp>
Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2026-07-03 14:55:54 -03:00
Samuel Balazi 70dd422b6f string: Fix memory leak in argz-addsep.c
Assign the realloc result to a temporary variable, so the original
memory block is not lost if the allocation fails.

Reviewed-by: Adhemerval Zanella  <adhemerval.zanella@linaro.org>
2026-07-03 14:55:43 -03:00
Adhemerval Zanella 1ab0003872 Makerules: run test-container helper through the built loader
The tests-container rule launches support/test-container, which is always
dynamically linked, through $(test-via-rtld-prefix).  That prefix is empty
for tests listed in tests-static/xtests-static, so for a static container
test the helper ran under the system loader/libc instead of the newly
built one.

Reviewed-by: Florian Weimer <fweimer@redhat.com>
2026-07-03 14:07:58 -03:00
Adhemerval Zanella 2b13da5e0e Makerules: add 'make check-parallel' to run tests without serialization
The default 'make check' serializes the timing-sensitive test runs: the
threading (nptl, or htl on Hurd) and realtime (rt) subdirectories run
with .NOTPARALLEL and are ordered after the rest of the test run, so they
are not perturbed by competing machine load.

Add a check-parallel (and xcheck-parallel) variant for when that is not
wanted -- an idle machine, or a run where the extra throughput is worth
the risk of flakiness in the timing-sensitive tests (check the
libc-alpha discussion [1] for more context why this approach was proposed).

A new serialize-tests flag (default yes, defined in Makeconfig) gates both
the per-subdirectory .NOTPARALLEL and the top-level run-time ordering;
check-parallel just runs the suite with serialize-tests=no, so every test
program builds and runs at full concurrency in a single pass.

'make check' and its default behavior are unchanged.

[1] https://inbox.sourceware.org/libc-alpha/lhutsr3khz7.fsf@oldenburg.str.redhat.com/

Reviewed-by: Sam James <sam@gentoo.org>
2026-07-03 13:01:13 -03:00
Adhemerval Zanella 19e158b7f0 Run check-installed-headers concurrently for each header
The check-installed-headers-c/-cxx tests ran one script invocation per
subdirectory over all of its installed headers, performing about 80
compiler invocations per header serially.

Give each header its own intermediate target so the compiler
invocations parallelize under the make jobserver, recording the
per-header script exit status next to the output.  The .out target
concatenates the per-header outputs in the original $(headers) order
and fails if any recorded status is non-zero, so both the .out contents
(verified byte-identical for all 76 files) and the tests.sum results
are unchanged.

Results on a x86_64 machine [1] from a make check with run-built-tests=no
show neutral results, and on aarch64 machine [2] it improves from 241.574s
to 182.405.

[1] Ryzen 5900x, 12c/24t, gcc 16.1.1, binutils 2.26, and GNU make 4.3
[2] N1, 80c, gcc 15.1.1, binutils 2.25, GNU make 4.3

Reviewed-by: Sam James <sam@gentoo.org>
2026-07-03 13:00:07 -03:00
Adhemerval Zanella b6804fb36e Makefile: Do not install the container testroot if not running tests
Every subdirectory tests target depends on
$(objpfx)testroot.pristine/install.stamp, whose recipe performs a full
DESTDIR installation (about 12s and 154MB on x86_64).  The testroot is
only consumed by the container tests, which do not run when
run-built-tests is no, so skip it entirely in that case.

This saves about 10s on x86_64 [1] and 30s on aarch64 [2].

[1] Ryzen 5900x, 12c/24t, gcc 16.1.1, binutils 2.26, and GNU make 4.3
[2] N1, 80c, gcc 15.1.1, binutils 2.25, GNU make 4.3

Reviewed-by: Sam James <sam@gentoo.org>
2026-07-03 12:48:32 -03:00
Adhemerval Zanella ef1cb97f69 Makefile: Do not force elf last for the others and tests passes
The requirement that the elf subdirectory comes last in the
subdirectory ordering stems from its lib pass: the rtld link consumes
$(common-objpfx)libc_pic.a, which aggregates every other
subdirectory's objects.

The others, tests, and xtests classes have no such dependency: everything
they consume from other subdirectories is provided by the pass barriers
(others after lib, tests after others).  Keep elf last only for the
object-building classes and let its others and tests sub-makes run
concurrently with the other subdirectories.

With elf no longer forced last for those classes, the Depend edges
pointing to elf (e.g. support/Depend) no longer create a cycle there,
so honor them instead of dropping them.

This improves the make check with run-built-tests=no, specially on
machine with many cores.  Results on a x86_64 machine [1] it improves
from 190s to 181s, while on a aarch64 machine [2] it improves from
298.726s to 243.098s.

Build results remain bit-identical and the tests.sum failure sets are
unchanged.

[1] Ryzen 5900x, 12c/24t, gcc 16.1.1, binutils 2.26, and GNU make 4.3
[2] N1, 80c, gcc 15.1.1, binutils 2.25, GNU make 4.3

Reviewed-by: Sam James <sam@gentoo.org>
2026-07-03 12:46:57 -03:00
Adhemerval Zanella 7cac99621e Makefile: Run the subdirectory recursion in parallel
The top-level makefile was marked .NOTPARALLEL and ran the
per-subdirectory sub-makes strictly one at a time in the topological
order computed by scripts/gen-sorted.awk.  Only the compilations inside
a single subdirectory could run in parallel, so on wide machines every
subdirectory's compile tail and link steps left most cores idle, once
per subdirectory per pass.

Drop .NOTPARALLEL and encode the ordering the serial recursion relied
on as explicit dependencies between the per-subdirectory targets:

  * The subdirectories that generate shared files in $(common-objpfx)
    consumed by the rest of the build without explicit dependencies run
    serially, in their sorted order, before the rest fan out: csu
    provides the tree-wide gen-as-const headers, and on Hurd the mach
    and hurd directories generate the MiG RPC headers (every other
    subdirectory otherwise runs a nested make in hurd/ to create them,
    racing under parallel recursion; see sysdeps/mach/hurd/Makefile).
    The first of them also materializes the other shared generated files
    (abi-versions.h, sysd-syscalls, before-compile headers).

  * The edges requested by the Depend files (now emitted by
    gen-sorted.awk as subdir-deps-*) are preserved.  Edges pointing to
    elf are dropped, as the sorted list already overrides them by
    forcing elf last.

  * The tests and xtests classes only run the per-directory test
    programs, which are mutually independent once the others pass has
    built the tree.  They therefore carry only the others pass barrier
    below and none of the csu-first or Depend edges (+ordered_parallel_-
    subdir_targets excludes them); otherwise "make subdir/tests" would
    also run the tests of every subdirectory reachable through those
    edges, rather than just the requested one.

  * elf stays last: its rtld link consumes $(common-objpfx)libc_pic.a,
    which aggregates every other subdirectory's objects, and its
    rtld-Rules recursion compiles into the other subdirectories' object
    directories.

  * Pass barriers replace the implicit pass ordering: others after lib
    (a subdirectory others sub-make would otherwise race to link
    libc.so itself), tests/xtests after others, and the testroot
    install behind others.

  * The threading (nptl, or htl on Hurd) and realtime (rt) tests are
    timing-sensitive and were previously shielded from system load by
    the global .NOTPARALLEL.  With the recursion now parallel, a full
    test run ('make check'/'tests', run-built-tests=yes) orders them
    after the rest of the test run and one group at a time -- the
    threading subdirectory, then rt -- and each serializes its own run
    via a .NOTPARALLEL in its Makefile.  A targeted 'make subdir/tests'
    is not ordered.

    The serialization (the per-subdirectory .NOTPARALLEL and the ordering
    above) constrains only the test run, not the build of the test
    programs; but building and running a subdirectory's tests are fused
    in its sub-make, so under run-built-tests=yes the serialized
    subdirectories would also build their test programs serially.  To
    avoid that, the top-level 'make check' (in Makerules) now runs two
    passes: it builds every test program with run-built-tests=no, where
    the recursion is fully parallel and none of the serialization
    applies, and then runs the tests with run-built-tests=yes.  'make
    tests' and a subdirectory's own 'check' stay single pass.

  * The subdirectory-built files that the top-level libc.so and
    linkobj/libc_pic.a rules list as prerequisites (elf/ld.so,
    interp.os, sofini.os, sunrpc/librpc_compat_pic.a, and on Hurd
    mach/libmachuser_pic.a and hurd/libhurduser_pic.a, from which the
    lib*user-link.so inputs of libc.so are built) get order-only edges
    on the corresponding sub-make with an explicit empty recipe.  A
    prerequisite-only rule would trigger an implicit rule search and
    this level would compile them itself in the wrong context.

  * The install, clean, abi, and stubs target classes keep the
    previous total order via a serial dependency chain.

  * The elf DSO sorting test recipes, run when make remakes the
    included generated makefiles at parse time, create the elf object
    directory before writing into it; the serial recursion no longer
    guarantees another rule created it first.

  * catgets builds locale-specific message catalogs (and tst-catgets
    reads one) by running gencat under de_DE.ISO-8859-1, hr_HR.ISO-8859-2
    and ja_JP.SJIS, but never declared those locales as prerequisites: it
    relied on localedata running before it in the serial order.  Under
    the parallel recursion gencat could run before localedata generated
    the locale, fall back to C, and fail.  catgets/Makefile now pulls the
    locales in via gen-locales.mk, like the other subdirectories that use
    locales in their tests.

Results on a x86_64 machine [1] with default configuration [3]: a
from-scratch build improves from 78.728s to 61s, and check with
run-built-tests=no from 374s to 190s.

On a 80-core aarch64 machine [2] with default configuration [3]: a
from-scratch build improves from 105.251s to 56.703s, and check with
run-built-tests=no from 886.183s to 298.726s.

Build results are unchanged: all 8919 built objects, archives, and
shared objects are bit-identical to the serial build across 7 clean
parallel builds, the installed tree layout is identical, and the
tests.sum failure sets are identical.  i686-gnu was verified with
repeated from-scratch builds.

[1] Ryzen 5900x, 12c/24t, gcc 16.1.1, binutils 2.26, and GNU make 4.3
[2] N1, 80c, gcc 15.1.1, binutils 2.25, GNU make 4.3
[3] --enable-stack-protector=all --enable-bind-now=yes --enable-profile=yes
    --enable-fortify-source=2 --enable-hardcoded-path-in-tests

Reviewed-by: Sam James <sam@gentoo.org>
2026-07-03 12:46:47 -03:00
Adhemerval Zanella e80612e596 scripts/gen-sorted.awk: Also emit the subdirectory dependency edges
gen-sorted.awk collects the inter-subdirectory dependencies from the
Depend files and the sysdeps Subdirs 'first' directives, but only uses
them to compute the flattened sorted-subdirs list.

This change also emit the raw edges as subdir-deps-<dir> make variables
so the parent makefile can express the same ordering as explicit
dependencies between the per-subdirectory recursion targets and run
independent subdirectories in parallel.

For instance, on x86_64-linux-gnu build the 'sysd-sorted' now shows:

  [...]
  subdir-deps-assert += iconvdata
  subdir-deps-assert += localedata
  subdir-deps-catgets += intl
  subdir-deps-debug += localedata
  subdir-deps-iconvdata += iconv
  subdir-deps-iconvdata += localedata
  subdir-deps-intl += iconvdata
  subdir-deps-intl += localedata
  subdir-deps-libio += localedata
  subdir-deps-localedata += locale
  [...]

Reviewed-by: Sam James <sam@gentoo.org>
2026-07-03 12:24:05 -03:00
Sam James 3c779ab155 intl: create correct directory in tst-translit.sh
Depending on parallelism, it's possible for domaindir/existing-locale/LC_MESSAGES
to have not been created yet:
```
msgfmt: error while opening "build/intl/domaindir/existing-locale/LC_MESSAGES/translit.mo" for writing: No such file or directory
make[2]: Leaving directory 'src/intl'
FAIL: intl/tst-translit
original exit status 1
cat: build/intl/tst-translit.out: No such file or directory
make[1]: *** [Makefile:944: test] Error 1
```

If so, the following msgfmt call will fail. Fix the typo in the mkdir call.

Arguably we should split these test preparations to avoid producing binaries
we know won't PASS because their support data is missing.

Reviewed-by: Collin Funk <collin.funk1@gmail.com>
2026-07-03 12:10:24 +01:00
Andreas K. Hüttel 84c3993f1f po/*.po: integrate current state of translations
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
2026-07-01 11:14:06 +09:00
Andreas K. Hüttel 45267197ff po/libc.pot: regenerate
Signed-off-by: Andreas K. Hüttel <dilfridge@gentoo.org>
2026-07-01 10:53:46 +09:00
DJ Delorie fae194043a Add system-wide tunables: manual
Document the syntax and operation.

Reviewed-by: Arjun Shankar <arjun@redhat.com>
2026-06-30 16:49:44 -04:00
DJ Delorie fcea66cd46 Add system-wide tunables: Filters
Add support for [proc:*] syntax where * matches /proc/self/exe
(fallback: argv[0] unless AT_SECURE).  Tunables after such a
line are limited to matching processes.

Note that this filter is reset when including a file or at
end of file.

If the filename starts with a slash (example: [proc:/bin/foo]) the
full path must match.  If not (example: [proc:foo]) the basename is
matched.

Add support for filtering out AT_SECURE or non-AT_SECURE binaries:

  $glibc.only-for.nonsecure-binaries=1
  @glibc.only-for.secure-binaries=1

Reviewed-by: Arjun Shankar <arjun@redhat.com>
2026-06-30 16:49:44 -04:00
DJ Delorie 9a953f9a48 Add system-wide tunables: Apply tunables part
Load ld.so.cache and fetch the tunables extension.  Apply
those tunables to the current program.  We do not yet apply
security policies.

Reviewed-by: Arjun Shankar <arjun@redhat.com>
2026-06-30 16:49:44 -04:00
DJ Delorie b9957a70b8 Add system-wide tunables: cache ld.so.cache
The purpose of this change is twofold:

1. The ld.so.cache is cached in memory and only re-read if/when
   it changes on disk.  This allows us to have much more intensive
   security checks in the future, without impacting performance as
   much.  It also allows for cases where the cache is corrupted -
   we continue using the last valid one.

2. We break out the load/check logic so that the cache can be
   loaded independently of the library lookup, such as for
   code that only needs to look at the extensions.

Reviewed-by: Arjun Shankar <arjun@redhat.com>
2026-06-30 16:49:42 -04:00
DJ Delorie e24269f74b Add system-wide tunables: ldconfig part
Adds support for reading /etc/tunables.conf

The file contains one line per tunable, like this:

glibc.foo.bar=14
glibc.malloc.more=0

Additionally, each line can be prefixed with a single word or character
that controls overridability by the GLIBC_TUNABLES env var:

overridable glibc.foo=0
+glibc.foo=0
   ^ May be overridden (the default)
nonoverridable glibc.foo=0
-glibc.foo=0
   ^ May not be overridden

The tunable cache format allows for a filter to be assigned to
each tunable, to be used at program start to decide if a tunable
applies to that program.  No such filters have yet been specified.

The cache format also stores a pre-parsed value for the tunable, and
the ID of the tunable, to improve load-time performance.

Reviewed-by: Arjun Shankar <arjun@redhat.com>
2026-06-30 16:46:08 -04:00
156 changed files with 15881 additions and 15737 deletions
+17
View File
@@ -782,6 +782,14 @@ run-built-tests = yes
endif
endif
# Whether the timing-sensitive test runs are serialized: each is run with
# .NOTPARALLEL and, at the top level, ordered after the rest of the test run.
# This is the default; 'make check-parallel' clears it to run every test
# concurrently.
ifndef serialize-tests
serialize-tests = yes
endif
# Whether to build the static math tests
ifndef build-math-static-tests
build-math-static-tests = no
@@ -815,8 +823,15 @@ $(subst $(empty) ,:,$(strip $(patsubst -Wl$(comma)-rpath-link=%, %,\
run-via-rtld-prefix = \
$(if $(strip $(filter $(notdir $(built-program-file)), \
$(tests-static) $(xtests-static))),, $(rtld-prefix))
# $(container-via-rtld-prefix) is like $(run-via-rtld-prefix), but for the
# support/test-container helper, which is always dynamically linked even
# when the test it launches is static. It must therefore always run
# through the newly built loader, unlike $(run-via-rtld-prefix) which is
# empty for tests listed in tests-static or xtests-static.
container-via-rtld-prefix = $(rtld-prefix)
else
run-via-rtld-prefix =
container-via-rtld-prefix =
endif
# $(run-program-env) is the default environment variable settings to
# use when running a program built with the newly built library.
@@ -883,6 +898,7 @@ endif
ifeq (yes,$(build-hardcoded-path-in-tests))
test-via-rtld-prefix =
test-container-via-rtld-prefix =
test-program-prefix-before-env = $(test-wrapper-env)
test-program-prefix-after-env =
test-program-prefix = $(test-program-prefix-before-env) $(run-program-env) \
@@ -894,6 +910,7 @@ test-program-cmd = $(test-program-cmd-before-env) $(run-program-env) \
host-test-program-cmd = $(built-program-file)
else
test-via-rtld-prefix = $(run-via-rtld-prefix)
test-container-via-rtld-prefix = $(container-via-rtld-prefix)
test-program-prefix-before-env = $(run-program-prefix-before-env)
test-program-prefix-after-env = $(run-program-prefix-after-env)
test-program-prefix = $(run-program-prefix)
+183 -14
View File
@@ -54,9 +54,6 @@ configure: configure.ac aclocal.m4; $(autoconf-it)
endif # $(AUTOCONF) = no
# We don't want to run anything here in parallel.
.NOTPARALLEL:
# These are the targets that are made by making them in each subdirectory.
+subdir_targets := subdir_lib objects objs others subdir_mostlyclean \
subdir_clean subdir_distclean subdir_realclean \
@@ -129,6 +126,13 @@ lib-noranlib: subdir_lib
ifeq (yes,$(build-shared))
# Build the shared object from the PIC object library.
lib: $(common-objpfx)libc.so $(common-objpfx)linkobj/libc.so
ifdef libc.so-version
# Every program linked in the others pass lists the versioned name
# (through link-libc-between-gnulib) as a prerequisite, and the rule
# creating the symbolic link is visible in every sub-make. Build it
# here once so the concurrent sub-makes do not race to create it.
lib: $(common-objpfx)libc.so$(libc.so-version)
endif
endif # $(build-shared)
# Used to build testrun.sh.
@@ -490,6 +494,151 @@ subdir=$(@D)$(if $($(@D)-srcdir),\
endef
.PHONY: $(+subdir_targets) $(all-subdirs-targets)
# Encode the topological ordering computed by scripts/gen-sorted.awk as
# explicit dependencies between the per-subdirectory targets, so that
# independent subdirectories build concurrently. In summary:
#
# * Every subdirectory depends on the first sorted one (csu, or mach on
# Hurd): its sub-make also materializes the shared generated files in
# $(common-objpfx) (abi-versions.h, sysd-syscalls, before-compile
# headers, ...) that concurrent sub-makes would otherwise race to
# create.
#
# * The edges requested by the Depend files (emitted by gen-sorted.awk
# as subdir-deps-*) are preserved.
#
# * elf stays last for the object-building classes, as in the sorted
# list: its rtld link consumes $(common-objpfx)libc_pic.a, which
# aggregates every other subdirectory's objects, and its rtld-Rules
# recursion compiles into the other subdirectories' object
# directories. The others/tests/xtests classes have no such
# dependency (the pass barriers below provide everything they need),
# so elf is unordered there.
#
# * Only target classes without cross-directory file conflicts use this
# sparse ordering; everything else (install, clean, abi, stubs) keeps
# the previous total order via a serial chain.
+elf_last_subdir_targets := \
subdir_lib objects \
objs \
subdir_objs \
# +elf_last_subdir_targets
+parallel_subdir_targets := \
$(+elf_last_subdir_targets) \
others \
tests \
xtests \
# +parallel_subdir_targets
+serial_subdir_targets := $(filter-out $(+parallel_subdir_targets),\
$(+subdir_targets))
# The tests and xtests classes run, rather than build, the per-directory
# test programs; once the 'others' pass barrier below has built the tree
# they are mutually independent and carry no cross-directory ordering.
# Keeping them out of the generated-file and Depend edges below is what
# lets 'make subdir/tests' run only that subdirectory's tests.
+barrier_only_subdir_targets := tests xtests
+ordered_parallel_subdir_targets := \
$(filter-out $(+barrier_only_subdir_targets),$(+parallel_subdir_targets))
# The subdirectories that generate shared files in $(common-objpfx)
# consumed by the rest of the build without explicit dependencies: csu
# provides the gen-as-const headers, and on Hurd the mach and hurd
# directories generate the MiG RPC headers (every other subdirectory
# otherwise runs a nested make in hurd/ to create them, racing under
# parallel recursion; see sysdeps/mach/hurd/Makefile). Run them serially,
# in their sorted order (mach, hurd, csu).
+subdir-pregen := $(filter mach hurd csu,$(subdirs))
+subdir-rest := $(filter-out $(+subdir-pregen),$(subdirs))
$(foreach t,$(+ordered_parallel_subdir_targets),$(eval \
$(addsuffix /$(t),$(+subdir-rest)): $(addsuffix /$(t),$(+subdir-pregen))))
+subdir-pregen-prev :=
$(foreach d,$(+subdir-pregen),$(foreach t,$(+ordered_parallel_subdir_targets),$(eval \
$(d)/$(t): $(addsuffix /$(t),$(+subdir-pregen-prev))))\
$(eval +subdir-pregen-prev := $(d)))
# For the classes where elf is forced last, edges pointing to elf are
# dropped: the sorted list always overrides such Depend requests today
# (e.g. support/Depend), and the elf-last edges below would otherwise
# create a cycle. The remaining classes honor them.
$(foreach t,$(+elf_last_subdir_targets),$(foreach d,$(+subdir-rest),$(eval \
$(d)/$(t): $(addsuffix /$(t),\
$(filter-out elf,$(filter $(subdirs),$(subdir-deps-$(d))))))))
$(foreach t,$(filter-out $(+elf_last_subdir_targets),\
$(+ordered_parallel_subdir_targets)),\
$(foreach d,$(+subdir-rest),$(eval \
$(d)/$(t): $(addsuffix /$(t),$(filter $(subdirs),$(subdir-deps-$(d)))))))
ifneq (,$(filter elf,$(subdirs)))
$(foreach t,$(+elf_last_subdir_targets),$(eval \
elf/$(t): $(addsuffix /$(t),$(filter-out elf,$(subdirs)))))
endif
# Pass barriers: a subdirectory 'others' build links programs against
# the libraries, so the 'lib' pass (including the top-level libc.so
# link) must have completed.
# 'tests' and 'xtests' additionally require the 'others' pass. The
# testroot used by the container tests performs a full installation in
# its recipe, which must not run concurrently with the build passes.
$(addsuffix /others,$(subdirs)): lib
$(addsuffix /tests,$(subdirs)) $(addsuffix /xtests,$(subdirs)): others
$(objpfx)testroot.pristine/install.stamp: | others
# Timing-sensitive test runs: the threading tests (nptl/htl) and the realtime
# tests (rt) are perturbed by the machine load, so run them after the rest of
# the test run has finished and one group at a time. Those subdirectories
# also serialize their own tests (.NOTPARALLEL in their Makefiles).
#
# This only orders a full-suite run ('make check'/'tests'); a targeted
# 'make subdir/tests' is left alone. And it only orders the test run
# (run-built-tests=yes); the "build the tests" pass (run-built-tests=no)
# is left fully parallel, so every test program still builds concurrently.
# serialize-tests=no ('make check-parallel') drops the ordering entirely.
ifeq ($(run-built-tests),yes)
ifeq (yes,$(serialize-tests))
ifneq (,$(filter tests xtests check xcheck,$(MAKECMDGOALS)))
+late-test-subdirs := $(filter nptl htl,$(subdirs)) $(filter rt,$(subdirs))
+test-run-prev := \
$(addsuffix /tests,$(filter-out $(+late-test-subdirs),$(subdirs)))
$(foreach d,$(+late-test-subdirs),\
$(eval $(d)/tests: $(+test-run-prev))\
$(eval +test-run-prev += $(d)/tests))
endif
endif
endif
ifeq (yes,$(build-shared))
# The top-level libc.so and linkobj/libc_pic.a rules list these
# subdirectory-built files as prerequisites, but no rule at this level
# builds them. The explicit empty recipe (';') is required, a
# prerequisite-only rule would send make on an implicitrule search and
# have this level compile them itself with the wrong context.
ifneq (,$(filter elf,$(subdirs)))
$(elf-objpfx)ld.so $(elf-objpfx)sofini.os $(elf-objpfx)interp.os: \
| elf/subdir_lib ;
endif
ifneq (,$(filter sunrpc,$(subdirs)))
# Makerules explicit adds librpc_compat_pic.a as a dependency of
# libc_pic.a.
$(common-objpfx)sunrpc/librpc_compat_pic.a: | sunrpc/subdir_lib ;
endif
# Hurd sysdedp Makeilfe links libc.so against the lib*user-link.so
# objects, built by the %-link.so: %_pic.a pattern rule from archives
# that only the mach and hurd sub-makes create.
ifneq (,$(filter mach,$(subdirs)))
$(common-objpfx)mach/libmachuser_pic.a: | mach/subdir_lib ;
endif
ifneq (,$(filter hurd,$(subdirs)))
$(common-objpfx)hurd/libhurduser_pic.a: | hurd/subdir_lib ;
endif
endif
# The remaining target classes keep the old total order.
+subdir-chain-prev :=
$(foreach d,$(subdirs),$(foreach t,$(+serial_subdir_targets),$(eval \
$(d)/$(t): $(addsuffix /$(t),$(+subdir-chain-prev))))\
$(eval +subdir-chain-prev := $(d)))
# Targets to clean things up to various degrees.
@@ -540,26 +689,41 @@ $(objpfx)check-local-headers.out: scripts/check-local-headers.sh
$(evaluate-test)
ifneq "$(headers)" ""
# Special test of all the installed headers in this directory.
# Special test of all the installed headers in this directory. See
# Rules for the per-header split rationale.
tests-special += $(objpfx)check-installed-headers-c.out
libof-check-installed-headers-c := testsuite
$(objpfx)check-installed-headers-c.out: \
+cih-c-iouts := $(patsubst %,$(objpfx)check-installed-headers-c/%.iout,\
$(headers))
$(+cih-c-iouts): $(objpfx)check-installed-headers-c/%.iout: \
scripts/check-installed-headers.sh $(headers)
$(SHELL) $(..)scripts/check-installed-headers.sh c $(supported-fortify) \
"$(CC) $(test-config-cflags-finput-charset-ascii) \
$(filter-out -std=%,$(CFLAGS)) -D_ISOMAC $(+includes)" \
$(headers) > $@; \
$(make-target-directory)
($(SHELL) $(..)scripts/check-installed-headers.sh c $(supported-fortify) \
"$(CC) $(test-config-cflags-finput-charset-ascii) \
$(filter-out -std=%,$(CFLAGS)) -D_ISOMAC $(+includes)" \
$*; echo $$? > $@-ret) > $@T; \
mv -f $@T $@
$(objpfx)check-installed-headers-c.out: $(+cih-c-iouts)
cat $^ > $@; \
! grep -qv '^0$$' $(+cih-c-iouts:%=%-ret); \
$(evaluate-test)
ifneq "$(CXX)" ""
tests-special += $(objpfx)check-installed-headers-cxx.out
libof-check-installed-headers-cxx := testsuite
$(objpfx)check-installed-headers-cxx.out: \
+cih-cxx-iouts := $(patsubst %,$(objpfx)check-installed-headers-cxx/%.iout,\
$(headers))
$(+cih-cxx-iouts): $(objpfx)check-installed-headers-cxx/%.iout: \
scripts/check-installed-headers.sh $(headers)
$(SHELL) $(..)scripts/check-installed-headers.sh c++ $(supported-fortify) \
"$(CXX) $(test-config-cxxflags-finput-charset-ascii) \
$(filter-out -std=%,$(CXXFLAGS)) -D_ISOMAC $(+includes)" \
$(headers) > $@; \
$(make-target-directory)
($(SHELL) $(..)scripts/check-installed-headers.sh c++ $(supported-fortify) \
"$(CXX) $(test-config-cxxflags-finput-charset-ascii) \
$(filter-out -std=%,$(CXXFLAGS)) -D_ISOMAC $(+includes)" \
$*; echo $$? > $@-ret) > $@T; \
mv -f $@T $@
$(objpfx)check-installed-headers-cxx.out: $(+cih-cxx-iouts)
cat $^ > $@; \
! grep -qv '^0$$' $(+cih-cxx-iouts:%=%-ret); \
$(evaluate-test)
endif # $(CXX)
@@ -648,8 +812,13 @@ else
LINKS_DSO_PROGRAM = links-dso-program
endif
# The testroot is only used by the container tests, which are not run
# when run-built-tests is no; skip the installation entirely in that
# case.
ifeq ($(run-built-tests),yes)
$(tests-container) $(addsuffix /tests,$(subdirs)) : \
$(objpfx)testroot.pristine/install.stamp
endif
$(objpfx)testroot.pristine/install.stamp :
test -d $(objpfx)testroot.pristine || \
mkdir $(objpfx)testroot.pristine
+40 -4
View File
@@ -1184,12 +1184,48 @@ ALL_BUILD_CFLAGS = $(BUILD_CFLAGS) $(BUILD_CPPFLAGS) -D_GNU_SOURCE \
-DIS_IN_build -include $(common-objpfx)config.h
# Support the GNU standard name for this target.
.PHONY: check
# Special target xcheck runs tests which cannot be run unconditionally;
# maintainers should use this target.
.PHONY: check xcheck
# Building and running a subdirectory's tests are fused in its sub-make,
# and run-built-tests is fixed for a make instance, so the only way to
# build every test program with the recursion fully parallel while the
# run still honors the per-subdirectory .NOTPARALLEL (nptl/htl/rt) and the
# run-time ordering is to use two passes. At the top level, 'make check'
# therefore builds the test programs (run-built-tests=no, recursion fully
# parallel) and then runs them (run-built-tests=yes). 'make tests' and a
# subdirectory's own 'check' stay single-pass.
check-twopass :=
ifndef subdir
ifeq (yes,$(run-built-tests))
check-twopass := yes
endif
endif
ifeq (yes,$(check-twopass))
check:
$(MAKE) run-built-tests=no tests
$(MAKE) run-built-tests=yes tests
xcheck:
$(MAKE) run-built-tests=no xtests
$(MAKE) run-built-tests=yes xtests
else
check: tests
# Special target to run tests which cannot be run unconditionally.
# Maintainers should use this target.
.PHONY: xcheck
xcheck: xtests
endif
# 'make check-parallel' runs the whole suite with maximum concurrency:
# serialize-tests=no drops the per-subdirectory .NOTPARALLEL and the run-time
# ordering, so every test builds and runs in parallel. A single pass suffices
# (there is no .NOTPARALLEL to work around, so the test programs already build
# concurrently).
# This is faster on an idle machine, at the cost of possible flakiness in the
# timing-sensitive tests under the heavier load.
.PHONY: check-parallel xcheck-parallel
check-parallel:
$(MAKE) serialize-tests=no tests
xcheck-parallel:
$(MAKE) serialize-tests=no xtests
# Also handle test inputs in sysdeps.
vpath %.input $(sysdirs)
+28 -12
View File
@@ -80,15 +80,24 @@ common-generated += dummy.o dummy.c
ifneq "$(headers)" ""
# Test that all of the headers installed by this directory can be compiled
# in isolation.
# in isolation. Each header gets its own intermediate target so that the
# it can run concurrently under -j; the .out target concatenates the per-header
# results in the original $(headers) order.
tests-special += $(objpfx)check-installed-headers-c.out
libof-check-installed-headers-c := testsuite
$(objpfx)check-installed-headers-c.out: \
+cih-c-iouts := $(patsubst %,$(objpfx)check-installed-headers-c/%.iout,\
$(headers))
$(+cih-c-iouts): $(objpfx)check-installed-headers-c/%.iout: \
$(..)scripts/check-installed-headers.sh $(headers)
$(SHELL) $(..)scripts/check-installed-headers.sh c $(supported-fortify) \
"$(CC) $(test-config-cflags-finput-charset-ascii) \
$(filter-out -std=%,$(CFLAGS)) -D_ISOMAC $(+includes)" \
$(headers) > $@; \
$(make-target-directory)
($(SHELL) $(..)scripts/check-installed-headers.sh c $(supported-fortify) \
"$(CC) $(test-config-cflags-finput-charset-ascii) \
$(filter-out -std=%,$(CFLAGS)) -D_ISOMAC $(+includes)" \
$*; echo $$? > $@-ret) > $@T; \
mv -f $@T $@
$(objpfx)check-installed-headers-c.out: $(+cih-c-iouts)
cat $^ > $@; \
! grep -qv '^0$$' $(+cih-c-iouts:%=%-ret); \
$(evaluate-test)
ifneq "$(CXX)" ""
@@ -96,12 +105,19 @@ ifneq "$(CXX)" ""
# in isolation as C++.
tests-special += $(objpfx)check-installed-headers-cxx.out
libof-check-installed-headers-cxx := testsuite
$(objpfx)check-installed-headers-cxx.out: \
+cih-cxx-iouts := $(patsubst %,$(objpfx)check-installed-headers-cxx/%.iout,\
$(headers))
$(+cih-cxx-iouts): $(objpfx)check-installed-headers-cxx/%.iout: \
$(..)scripts/check-installed-headers.sh $(headers)
$(SHELL) $(..)scripts/check-installed-headers.sh c++ $(supported-fortify) \
"$(CXX) $(test-config-cxxflags-finput-charset-ascii) \
$(filter-out -std=%,$(CXXFLAGS)) -D_ISOMAC $(+includes)" \
$(headers) > $@; \
$(make-target-directory)
($(SHELL) $(..)scripts/check-installed-headers.sh c++ $(supported-fortify) \
"$(CXX) $(test-config-cxxflags-finput-charset-ascii) \
$(filter-out -std=%,$(CXXFLAGS)) -D_ISOMAC $(+includes)" \
$*; echo $$? > $@-ret) > $@T; \
mv -f $@T $@
$(objpfx)check-installed-headers-cxx.out: $(+cih-cxx-iouts)
cat $^ > $@; \
! grep -qv '^0$$' $(+cih-cxx-iouts:%=%-ret); \
$(evaluate-test)
endif # $(CXX)
@@ -413,7 +429,7 @@ $(objpfx)%.out: /dev/null $(objpfx)% # Make it 2nd arg for canned sequence.
# and pid namespaces) in which to run, should be added to
# tests-container.
$(tests-container:%=$(objpfx)%.out): $(objpfx)%.out : $(if $(wildcard $(objpfx)%.files),$(objpfx)%.files,/dev/null) $(objpfx)%
$(test-wrapper-env) $(run-program-env) $(test-via-rtld-prefix) \
$(test-wrapper-env) $(run-program-env) $(test-container-via-rtld-prefix) \
$(common-objpfx)support/test-container env $(run-program-env) $($*-ENV) $(test-tunables) \
$(host-test-program-cmd) $($*-ARGS) > $@; \
$(evaluate-test)
+11 -3
View File
@@ -60,6 +60,14 @@ vpath %.c ../locale/programs
include ../Rules
# The catalog-generation tests below run gencat under specific locales,
# and tst-catgets reads the resulting catalog, so the build must wait for
# those locales to be generated. Without this dependency a parallel build
# races catgets against localedata and gencat can run before the locale
# exists (it then falls back to C and the test fails).
LOCALES := de_DE.ISO-8859-1 hr_HR.ISO-8859-2 ja_JP.SJIS
include ../gen-locales.mk
$(objpfx)gencat: $(gencat-modules:%=$(objpfx)%.o)
catgets-CPPFLAGS := -DNLSPATH='"$(localedir)/%L/%N:$(localedir)/%L/LC_MESSAGES/%N:$(localedir)/%l/%N:$(localedir)/%l/LC_MESSAGES/%N:"'
@@ -95,7 +103,7 @@ tst-catgets-ENV = NLSPATH="$(objpfx)%l/%N.cat" LANG=de \
ifeq ($(run-built-tests),yes)
# This test just checks whether the program produces any error or not.
# The result is not tested.
$(objpfx)test1.cat: test1.msg $(objpfx)gencat
$(objpfx)test1.cat: test1.msg $(objpfx)gencat $(gen-locales)
$(built-program-cmd-before-env) \
$(run-program-env) LC_ALL=hr_HR.ISO-8859-2 \
$(built-program-cmd-after-env) -H $(objpfx)test1.h $@ $<; \
@@ -103,7 +111,7 @@ $(objpfx)test1.cat: test1.msg $(objpfx)gencat
$(objpfx)test2.cat: test2.msg $(objpfx)gencat
$(built-program-cmd) -H $(objpfx)test2.h $@ $<; \
$(evaluate-test)
$(objpfx)de/libc.cat: $(objpfx)de.msg $(objpfx)gencat
$(objpfx)de/libc.cat: $(objpfx)de.msg $(objpfx)gencat $(gen-locales)
$(make-target-directory)
$(built-program-cmd-before-env) \
$(run-program-env) LC_ALL=de_DE.ISO-8859-1 \
@@ -116,7 +124,7 @@ $(objpfx)de.msg: xopen-msg.awk $(..)po/de.po
LC_ALL=C $(AWK) -f $^ $< > $@
$(objpfx)test-gencat.out: test-gencat.sh $(objpfx)test-gencat \
$(objpfx)sample.SJIS.cat
$(objpfx)sample.SJIS.cat $(gen-locales)
$(SHELL) $< $(common-objpfx) '$(test-program-cmd-before-env)' \
'$(run-program-env)' '$(test-program-cmd-after-env)'; \
$(evaluate-test)
+1 -1
View File
@@ -264,7 +264,7 @@ LIBC_START_MAIN (int (*main) (int, char **, char ** MAIN_AUXVEC_DECL),
_dl_aux_init (auxvec);
# endif
__tunables_init (__environ);
__tunables_init (__environ, argv);
ARCH_INIT_CPU_FEATURES ();
+14
View File
@@ -225,6 +225,7 @@ ldconfig-modules := \
readlib \
static-stubs \
stringtable \
tunconf \
xmalloc \
xstrdup \
# ldconfig-modules
@@ -335,6 +336,7 @@ tests-internal := \
$(tests-static-internal) \
tst-tls1 \
tst-tls_tp_offset \
tst-tunconf1 \
# tests-internal
tests-static := $(tests-static-normal) $(tests-static-internal)
@@ -345,6 +347,8 @@ tests-static += \
tst-tls9-static \
# tests-static
tst-tunconf1-TUNABLES-only = glibc.malloc.tcache_count=5
static-dlopen-environment = \
LD_LIBRARY_PATH=$(ld-library-path):$(common-objpfx)dlfcn
tst-tls9-static-ENV = $(static-dlopen-environment)
@@ -577,10 +581,12 @@ endif
tests-container += \
tst-dlopen-self-container \
tst-dlopen-tlsmodid-container \
tst-ldconfig-cache \
tst-pldd \
tst-preload-pthread-libc \
tst-ptrguard-static-dlopen \
tst-rootdir \
tst-tunconf1 \
# tests-container
test-srcs = \
@@ -734,6 +740,9 @@ one-hundred = $(foreach x,0 1 2 3 4 5 6 7 8 9, \
0$x 1$x 2$x 3$x 4$x 5$x 6$x 7$x 8$x 9$x)
tst-tls-many-dynamic-modules := \
$(foreach n,$(one-hundred),tst-tls-manydynamic$(n)mod)
tst-ldconfig-cache-modules := \
$(foreach n,01 02 03 04 05,tst-tls-manydynamic$(n)mod)
$(objpfx)tst-ldconfig-cache.out: $(tst-ldconfig-cache-modules:%=$(objpfx)%.so)
tst-tls-many-dynamic-modules-dep-suffixes = 0 1 2 3 4 5 6 7 8 9 10 11 12 13 \
14 15 16 17 18 19
tst-tls-many-dynamic-modules-dep = \
@@ -1441,6 +1450,7 @@ ifndef avoid-generated
# Makefile fragment to be included.
define include_dsosort_tests
$(objpfx)$(1).generated-makefile: $(1)
$$(make-target-directory)
$(PYTHON) $(..)scripts/dso-ordering-test.py \
--description-file $$< --objpfx $(objpfx) --output-makefile $$@T
mv $$@T $$@
@@ -1449,6 +1459,7 @@ endef
# Likewise, where the .def file itself is generated.
define include_dsosort_tests_objpfx
$(objpfx)$(1).generated-makefile: $(objpfx)$(1)
$$(make-target-directory)
$(PYTHON) $(..)scripts/dso-ordering-test.py \
--description-file $$< --objpfx $(objpfx) --output-makefile $$@T
mv $$@T $$@
@@ -1467,12 +1478,15 @@ $(eval $(call include_dsosort_tests,dso-sort-tests-1.def))
$(eval $(call include_dsosort_tests,dso-sort-tests-2.def))
$(objpfx)dso-sort-tests-all2.def: dso-sort-tests-all.py
$(make-target-directory)
$(PYTHON) $< 2 > $@
$(objpfx)dso-sort-tests-all3.def: dso-sort-tests-all.py
$(make-target-directory)
$(PYTHON) $< 3 > $@
$(objpfx)dso-sort-tests-all4.def: dso-sort-tests-all.py
$(make-target-directory)
$(PYTHON) $< 4 > $@
$(eval $(call include_dsosort_tests_objpfx,dso-sort-tests-all2.def))
+106 -2
View File
@@ -36,6 +36,7 @@
#include <dl-cache.h>
#include <version.h>
#include <stringtable.h>
#include <tunconf.h>
/* Used to store library names, paths, and other strings. */
static struct stringtable strings;
@@ -275,7 +276,8 @@ check_new_cache (struct cache_file_new *cache)
/* Print the extension information in *EXT. */
static void
print_extensions (struct cache_extension_all_loaded *ext)
print_extensions (struct cache_extension_all_loaded *ext,
const char *cache_data)
{
if (ext->sections[cache_extension_tag_generator].base != NULL)
{
@@ -284,6 +286,65 @@ print_extensions (struct cache_extension_all_loaded *ext)
ext->sections[cache_extension_tag_generator].size, stdout);
putchar ('\n');
}
if (ext->sections[cache_extension_tag_tunables].base != NULL)
{
struct tunable_header_cached *thc;
struct tunable_entry_cached *tec;
int i, count;
thc = (struct tunable_header_cached *)
ext->sections[cache_extension_tag_tunables].base;
tec = thc->tunables;
count = thc->num_tunables;
printf("tunables sig 0x%08x ver 0x%08x count %u\n",
thc->signature, thc->version, thc->num_tunables);
/* Check that COUNT won't overflow our data block. */
assert (ext->sections[cache_extension_tag_tunables].base
+ ext->sections[cache_extension_tag_tunables].size
== (void *) & tec[count]);
for (i = 0; i < count; ++ i)
{
printf (" [%d] %s = %s [flags 0x%08x (",
i,
cache_data + tec[i].name_offset,
cache_data + tec[i].value_offset,
tec[i].flags);
if (tec[i].flags & TUNCONF_FLAG_PARSED)
printf ("parsed,");
if (tec[i].flags & TUNCONF_FLAG_NEGATIVE)
printf ("negative,");
if ((tec[i].flags & TUNCONF_FLAG_OVERRIDABLE)
== TUNCONF_OVERRIDE_ALLOW)
printf ("overridable");
else
printf ("nonoverridable");
switch (tec[i].flags & (TUNCONF_EXCLUDE_SECURE
| TUNCONF_EXCLUDE_UNSECURE))
{
case TUNCONF_EXCLUDE_SECURE:
printf(",nonsecure");
break;
case TUNCONF_EXCLUDE_UNSECURE:
printf(",onlysecure");
break;
case TUNCONF_EXCLUDE_SECURE | TUNCONF_EXCLUDE_UNSECURE:
printf(",ignore");
break;
case 0:
printf(",anysecure");
break;
}
switch (tec[i].flags & TUNCONF_FLAG_FILTER)
{
case TUNCONF_FILTER_PERPROC:
printf(",[proc]");
break;
}
if (tec[i].flag_offset != 0)
printf (",'%s'", cache_data + tec[i].flag_offset);
printf (")]\n");
}
}
}
/* Print the whole cache file, if a file contains the new cache format
@@ -394,7 +455,7 @@ print_cache (const char *cache_name)
cache_new->libs[i].hwcap, hwcaps_string,
cache_data + cache_new->libs[i].value);
}
print_extensions (&ext);
print_extensions (&ext, cache_data);
}
/* Cleanup. */
munmap (cache, cache_size);
@@ -466,6 +527,18 @@ write_extensions (int fd, uint32_t str_offset,
if (p->used)
hwcaps_array[p->section_index] = str_offset + p->name->offset;
struct tunable_header_cached *tunable_data;
size_t tunable_size;
size_t tunable_aligner = 0;
tunable_data = get_tunconf_ext (str_offset);
if (tunable_data == NULL)
{
/* There is no section for tunables data. */
hwcaps_offset -= sizeof (struct cache_extension_section);
}
/* This is the offset of the generator string. */
uint32_t generator_offset = hwcaps_offset;
if (hwcaps_count == 0)
@@ -498,6 +571,23 @@ write_extensions (int fd, uint32_t str_offset,
ext->sections[xid].size = hwcaps_size;
}
if (tunable_data != NULL)
{
uint32_t tunable_offset_ua;
uint32_t tunable_offset;
tunable_size = TUNCONF_SIZE (tunable_data);
tunable_offset_ua = generator_offset + strlen (generator);
tunable_offset = ALIGN_UP (tunable_offset_ua, 8);
tunable_aligner = tunable_offset - tunable_offset_ua;
++xid;
ext->sections[xid].tag = cache_extension_tag_tunables;
ext->sections[xid].flags = 0;
ext->sections[xid].offset = tunable_offset;
ext->sections[xid].size = tunable_size;
}
++xid;
ext->count = xid;
assert (xid <= cache_extension_count);
@@ -509,6 +599,14 @@ write_extensions (int fd, uint32_t str_offset,
|| write (fd, generator, strlen (generator)) != strlen (generator))
error (EXIT_FAILURE, errno, _("Writing of cache extension data failed"));
if (tunable_data)
{
if (write (fd, " ", tunable_aligner) != tunable_aligner
|| write (fd, tunable_data, tunable_size) != tunable_size)
error (EXIT_FAILURE, errno, _("Writing of cache tunable data failed"));
free (tunable_data);
}
free (hwcaps_array);
free (ext);
}
@@ -1106,3 +1204,9 @@ out_fail:
free (temp_name);
free (file_entries);
}
struct stringtable_entry *
cache_store_string (const char *string)
{
return stringtable_add (&strings, string);
}
+230 -84
View File
@@ -26,11 +26,22 @@
#include <_itoa.h>
#include <dl-hwcaps.h>
#include <dl-isa-level.h>
#include <fcntl.h>
#include <sys/stat.h>
#include "tunconf.h"
/* This is the starting address and the size of the mmap()ed file. */
static struct cache_file *cache;
static struct cache_file_new *cache_new;
static size_t cachesize;
static struct cache_extension_all_loaded ext;
static struct {
typeof ((*(struct __stat64_t64 *)0).st_mtime) mtime;
typeof ((*(struct __stat64_t64 *)0).st_ino) ino;
typeof ((*(struct __stat64_t64 *)0).st_size) size;
typeof ((*(struct __stat64_t64 *)0).st_dev) dev;
} cache_file_time, new_cache_file_time;
#ifdef SHARED
/* This is used to cache the priorities of glibc-hwcaps
@@ -53,6 +64,7 @@ glibc_hwcaps_priorities_free (void)
free (glibc_hwcaps_priorities);
glibc_hwcaps_priorities = NULL;
glibc_hwcaps_priorities_allocated = 0;
glibc_hwcaps_priorities_length = 0;
}
/* Ordered comparison of a hwcaps string from the cache on the left
@@ -84,10 +96,6 @@ glibc_hwcaps_compare (uint32_t left_index, struct dl_hwcaps_priority *right)
static void
glibc_hwcaps_priorities_init (void)
{
struct cache_extension_all_loaded ext;
if (!cache_extension_load (cache_new, cache, cachesize, &ext))
return;
uint32_t length = (ext.sections[cache_extension_tag_glibc_hwcaps].size
/ sizeof (uint32_t));
if (length > glibc_hwcaps_priorities_allocated)
@@ -374,6 +382,165 @@ _dl_cache_libcmp (const char *p1, const char *p2)
return *p1 - *p2;
}
/* Set the cache back to the "no cache" state, which may include
cleaning up a loaded cache. */
static void
_dl_maybe_unload_ldsocache (void)
{
if (cache != NULL)
__munmap (cache, cachesize);
cache = NULL;
cache_new = NULL;
cachesize = 0;
#ifdef SHARED
glibc_hwcaps_priorities_free ();
#endif
}
/* Returns TRUE if for any reason the cache needs to be reloaded
(including, the first time, loaded). */
static bool
_dl_check_ldsocache_needs_loading (void)
{
int rv;
static bool copy_old_time = 0;
struct __stat64_t64 new_cache_file_stat;
/* Save the previous stat every time. We only care when this
changes, and we only stat it here, so we can get away with doing
the copy now instead of at every single return statement in this
function. However, we only need to copy it if the previous stat
succeeded. The only way this could be subverted is if the admin
moves the file aside, then moves it back, but CACHE would be set
to NULL in the interim so that would be detected. */
if (copy_old_time)
cache_file_time = new_cache_file_time;
rv = __fstatat64_time64 (AT_FDCWD, LD_SO_CACHE, &new_cache_file_stat, 0);
copy_old_time = (rv >= 0);
/* No file to load, but there used to be. Assume user intentionally
deleted the cache and act accordingly. */
if (rv < 0 && cache != NULL)
{
_dl_maybe_unload_ldsocache ();
return false;
}
/* No file to load and no loaded cache, so nothing to do. */
if (rv < 0)
return false;
/* Any file is better than no file (likely the first time
through). */
if (cache == NULL)
return true;
/* Store the fields we check, in order they're likely to differ. */
new_cache_file_time.mtime = new_cache_file_stat.st_mtime;
new_cache_file_time.ino = new_cache_file_stat.st_ino;
new_cache_file_time.size = new_cache_file_stat.st_size;
new_cache_file_time.dev = new_cache_file_stat.st_dev;
/* At this point, NEW_CACHE_FILE_TIME is valid as well as
CACHE_FILE_TIME, so we compare them. */
return (memcmp (&new_cache_file_time, &cache_file_time,
sizeof(new_cache_file_time)));
}
/* Attempts to load and validate the cache. On return, CACHE is either
unchanged (still loaded or still not loaded) or valid. */
static void
_dl_maybe_load_ldsocache (void)
{
struct cache_file *tmp_cache = NULL;
struct cache_file_new *tmp_cache_new = NULL;
size_t tmp_cachesize = 0;
/* Read the contents of the file. */
void *file = _dl_sysdep_read_whole_file (LD_SO_CACHE, &tmp_cachesize,
PROT_READ);
/* We can handle three different cache file formats here:
- only the new format
- the old libc5/glibc2.0/2.1 format
- the old format with the new format in it
The following checks if the cache contains any of these formats. */
if (file != MAP_FAILED && tmp_cachesize > sizeof *cache_new
&& memcmp (file, CACHEMAGIC_VERSION_NEW,
sizeof CACHEMAGIC_VERSION_NEW - 1) == 0
/* Check for corruption, avoiding overflow. */
&& ((tmp_cachesize - sizeof *cache_new) / sizeof (struct file_entry_new)
>= ((struct cache_file_new *) file)->nlibs))
{
if (! cache_file_new_matches_endian (file))
{
__munmap (file, tmp_cachesize);
return;
}
tmp_cache_new = file;
tmp_cache = file;
}
else if (file != MAP_FAILED && tmp_cachesize > sizeof *cache
&& memcmp (file, CACHEMAGIC, sizeof CACHEMAGIC - 1) == 0
/* Check for corruption, avoiding overflow. */
&& ((tmp_cachesize - sizeof *cache) / sizeof (struct file_entry)
>= ((struct cache_file *) file)->nlibs))
{
size_t offset;
/* Looks ok. */
tmp_cache = file;
/* Check for new version. */
offset = ALIGN_CACHE (sizeof (struct cache_file)
+ tmp_cache->nlibs * sizeof (struct file_entry));
tmp_cache_new = (struct cache_file_new *) ((void *) tmp_cache + offset);
if (tmp_cachesize < (offset + sizeof (struct cache_file_new))
|| memcmp (tmp_cache_new->magic, CACHEMAGIC_VERSION_NEW,
sizeof CACHEMAGIC_VERSION_NEW - 1) != 0)
tmp_cache_new = NULL;
else
{
if (! cache_file_new_matches_endian (tmp_cache_new))
/* The old-format part of the cache is bogus as well
if the endianness does not match. (But it is
unclear how the new header can be located if the
endianness does not match.) */
{
__munmap (file, tmp_cachesize);
return;
}
}
}
else
{
if (file != MAP_FAILED)
__munmap (file, tmp_cachesize);
return;
}
struct cache_extension_all_loaded tmp_ext;
if (!cache_extension_load (tmp_cache_new, tmp_cache, tmp_cachesize, &tmp_ext))
{
/* The extension is corrupt, so the cache is corrupt. */
__munmap (file, tmp_cachesize);
return;
}
/* If we've gotten here, the loaded cache is good and we need to
save it. */
_dl_maybe_unload_ldsocache ();
cache = tmp_cache;
cache_new = tmp_cache_new;
cachesize = tmp_cachesize;
ext = tmp_ext;
assert (cache != NULL);
}
/* Look up NAME in ld.so.cache and return the file name stored there, or null
if none is found. The cache is loaded if it was not already. If loading
@@ -389,81 +556,14 @@ _dl_load_cache_lookup (const char *name)
if (__glibc_unlikely (GLRO(dl_debug_mask) & DL_DEBUG_LIBS))
_dl_debug_printf (" search cache=%s\n", LD_SO_CACHE);
if (_dl_check_ldsocache_needs_loading ())
_dl_maybe_load_ldsocache ();
if (cache == NULL)
{
/* Read the contents of the file. */
void *file = _dl_sysdep_read_whole_file (LD_SO_CACHE, &cachesize,
PROT_READ);
/* We can handle three different cache file formats here:
- only the new format
- the old libc5/glibc2.0/2.1 format
- the old format with the new format in it
The following checks if the cache contains any of these formats. */
if (file != MAP_FAILED && cachesize > sizeof *cache_new
&& memcmp (file, CACHEMAGIC_VERSION_NEW,
sizeof CACHEMAGIC_VERSION_NEW - 1) == 0
/* Check for corruption, avoiding overflow. */
&& ((cachesize - sizeof *cache_new) / sizeof (struct file_entry_new)
>= ((struct cache_file_new *) file)->nlibs))
{
if (! cache_file_new_matches_endian (file))
{
__munmap (file, cachesize);
file = (void *) -1;
}
cache_new = file;
cache = file;
}
else if (file != MAP_FAILED && cachesize > sizeof *cache
&& memcmp (file, CACHEMAGIC, sizeof CACHEMAGIC - 1) == 0
/* Check for corruption, avoiding overflow. */
&& ((cachesize - sizeof *cache) / sizeof (struct file_entry)
>= ((struct cache_file *) file)->nlibs))
{
size_t offset;
/* Looks ok. */
cache = file;
/* Check for new version. */
offset = ALIGN_CACHE (sizeof (struct cache_file)
+ cache->nlibs * sizeof (struct file_entry));
cache_new = (struct cache_file_new *) ((void *) cache + offset);
if (cachesize < (offset + sizeof (struct cache_file_new))
|| memcmp (cache_new->magic, CACHEMAGIC_VERSION_NEW,
sizeof CACHEMAGIC_VERSION_NEW - 1) != 0)
cache_new = (void *) -1;
else
{
if (! cache_file_new_matches_endian (cache_new))
{
/* The old-format part of the cache is bogus as well
if the endianness does not match. (But it is
unclear how the new header can be located if the
endianness does not match.) */
cache = (void *) -1;
cache_new = (void *) -1;
__munmap (file, cachesize);
}
}
}
else
{
if (file != MAP_FAILED)
__munmap (file, cachesize);
cache = (void *) -1;
}
assert (cache != NULL);
}
if (cache == (void *) -1)
/* Previously looked for the cache file and didn't find it. */
return NULL;
const char *best;
if (cache_new != (void *) -1)
if (cache_new != NULL)
{
const char *string_table = (const char *) cache_new;
best = search_cache (string_table, cachesize,
@@ -510,14 +610,60 @@ _dl_load_cache_lookup (const char *name)
void
_dl_unload_cache (void)
{
if (cache != NULL && cache != (struct cache_file *) -1)
{
__munmap (cache, cachesize);
cache = NULL;
}
#ifdef SHARED
/* This marks the glibc_hwcaps_priorities array as out-of-date. */
glibc_hwcaps_priorities_length = 0;
#endif
/* Functionality is no longer needed, but kept for internal ABI for
now. */
}
#endif
const struct tunable_header_cached *
_dl_load_cache_tunables (const char **data)
{
struct cache_extension_all_loaded ext;
struct tunable_header_cached *thc;
struct tunable_entry_cached *tec;
int i, count;
if (_dl_check_ldsocache_needs_loading ())
_dl_maybe_load_ldsocache ();
if (cache_new)
*data = (const char *) cache_new;
else
return NULL;
if (!cache_extension_load (cache_new, cache, cachesize, &ext))
return NULL;
/* Validate length/contents here. */
if (ext.sections[cache_extension_tag_tunables].size
< sizeof(struct tunable_header_cached))
return NULL;
thc = (struct tunable_header_cached *)
ext.sections[cache_extension_tag_tunables].base;
tec = thc->tunables;
count = thc->num_tunables;
if (ext.sections[cache_extension_tag_tunables].base
+ ext.sections[cache_extension_tag_tunables].size
!= (void *) & tec[count])
return NULL;
/* Validate each entry. */
int s_start = (const char *) (&cache_new->libs[cache_new->nlibs]) - *data;
int s_end = s_start + cache_new->len_strings;
for (i = 0; i < count; i ++)
{
if (thc->tunables[i].name_offset < s_start
|| thc->tunables[i].name_offset >= s_end
|| thc->tunables[i].value_offset < s_start
|| thc->tunables[i].value_offset >= s_end)
return NULL;
if (thc->tunables[i].flag_offset != 0
&& (thc->tunables[i].flag_offset < s_start
|| thc->tunables[i].flag_offset >= s_end))
return NULL;
}
return thc;
}
+139 -1
View File
@@ -37,6 +37,7 @@
#define TUNABLES_INTERNAL 1
#include "dl-tunables.h"
#include "tunconf.h"
static char **
get_next_env (char **envp, char **name, char **val, char ***prev_envp)
@@ -291,7 +292,7 @@ parse_tunables (const char *valstring)
ENV_ALIAS to find values. Later we will also use the tunable names to find
values. */
void
__tunables_init (char **envp)
__tunables_init (char **envp, char **argv)
{
char *envname = NULL;
char *envval = NULL;
@@ -302,6 +303,143 @@ __tunables_init (char **envp)
if (MALLOC_DEFAULT_THP_PAGESIZE > 0)
TUNABLE_SET (glibc, malloc, hugetlb, 1);
#if defined(SHARED) && defined (USE_LDCONFIG)
const char *prog_name = (argv && argv[0]) ? argv[0] : "";
int prog_name_len = -1;
const char *base_name = NULL;
#ifdef PATH_MAX
char exebuf[PATH_MAX];
#else
char exebuf[256];
#endif
const struct tunable_header_cached *thc;
const char *td;
thc = _dl_load_cache_tunables (&td);
if (thc != NULL)
{
for (int t = 0; t < thc->num_tunables; ++ t)
{
const struct tunable_entry_cached *tec = &( thc->tunables[t] );
int tid = tec->tunable_id;
const char *name = td + tec->name_offset;
const char *value = td + tec->value_offset;
/* Check that we have the correct tunable, and search by
name if needed. We rely on order of operations here to
avoid mis-indexing tunables[]. */
if (tid < 0 || tid >= tunables_list_size
|| strcmp (name, tunable_list[tid].name) != 0)
{
/* It does not, search by name instead. */
tid = -1;
for (int i = 0; i < tunables_list_size; i++)
{
if (strcmp (name, tunable_list[i].name) == 0)
{
tid = i;
break;
}
}
if (tid == -1)
continue;
}
/* At this point, TID is valid for the tunable we want. */
if (tec->flags & TUNCONF_EXCLUDE_SECURE && __libc_enable_secure)
goto skip_due_to_filter;
if (tec->flags & TUNCONF_EXCLUDE_UNSECURE && !__libc_enable_secure)
goto skip_due_to_filter;
/* Apply selected filter, if any. */
switch (tec->flags & TUNCONF_FLAG_FILTER) {
case TUNCONF_FILTER_NONE:
break;
case TUNCONF_FILTER_PERPROC:
/* Perform one-time calculations that aren't needed if we
don't use this filter. */
if (prog_name_len == -1)
{
ssize_t n = readlink ("/proc/self/exe",
exebuf, sizeof (exebuf) - 1);
if (n > 0 && n < sizeof(exebuf)-1)
{
/* If /proc/self/exe exists and we can read it,
it's more reliable than argv[] so use it. */
exebuf[n] = '\0';
prog_name = exebuf;
}
else if (__libc_enable_secure)
prog_name = NULL;
if (prog_name != NULL)
{
const char *slash = NULL, *cp;
for (cp = prog_name; *cp; ++ cp)
if (*cp == '/')
slash = cp;
if (slash)
base_name = slash + 1;
else
base_name = prog_name;
prog_name_len = strlen (prog_name);
}
}
/* prog_name and the cached string are both NUL terminated. */
if (prog_name)
{
if (((const char *)(td + tec->flag_offset))[0] == '/')
{
if (strcmp (prog_name, td + tec->flag_offset) != 0)
goto skip_due_to_filter;
}
else
{
if (strcmp (base_name, td + tec->flag_offset) != 0)
goto skip_due_to_filter;
}
}
else
/* Program is AT_SECURE but the only source of program
name is argv[0], which is not secure, so we do not
match any name-based filter. */
goto skip_due_to_filter;
break;
default:
/* Unknown filter. */
goto skip_due_to_filter;
}
/* See if the parsed type matches the desired type. */
if (tunable_list[tid].type.type_code == TUNABLE_TYPE_STRING)
{
/* This is a memory leak but there's no easy way around
it, as the mapping will go away if the disk file is
updated and the cache is reloaded. */
tunable_list[tid].val.strval.str = __strdup (value);
tunable_list[tid].val.strval.len = strlen (value);
tunable_list[tid].initialized = true;
}
else
{
tunable_val_t tval;
if (tec->flags & TUNCONF_FLAG_PARSED)
{
tval.numval = tec->parsed_value;
do_tunable_update_val (& tunable_list[tid],
&tval, NULL, NULL);
}
else
{
tunable_initialize (& tunable_list[tid],
value, strlen (value));
}
}
skip_due_to_filter:;
}
}
#endif /* defined(SHARED) && defined (USE_LDCONFIG) */
/* Ignore tunables for AT_SECURE programs. */
if (__libc_enable_secure)
return;
+1 -1
View File
@@ -47,7 +47,7 @@ typedef void (*tunable_callback_t) (tunable_val_t *);
#include "dl-tunable-list.h"
extern void __tunables_init (char **);
extern void __tunables_init (char **, char **);
extern void __tunables_print (void);
extern bool __tunable_is_initialized (tunable_id_t);
extern void __tunable_get_val (tunable_id_t, void *, tunable_callback_t);
+1
View File
@@ -847,6 +847,7 @@ typedef struct
#define NT_RISCV_VECTOR 0x901 /* RISC-V vector registers */
#define NT_RISCV_TAGGED_ADDR_CTRL 0x902 /* RISC-V tagged
address control */
#define NT_RISCV_USER_CFI 0x903 /* RISC-V shadow stack state */
#define NT_LOONGARCH_CPUCFG 0xa00 /* LoongArch CPU config registers. */
#define NT_LOONGARCH_CSR 0xa01 /* LoongArch control and
status registers. */
+4 -2
View File
@@ -47,8 +47,10 @@ ldconfig_parse_config_1 (const char *filename, bool do_chroot,
opt_chroot - If non-NULL, all paths are relative to this.
callback - for each non-blank line in the file, this function is called
with the line and it's location.
callback - for each non-blank line in the file, this function is
called with the line and it's location. Will also be called
with a NULL line at the start and end of each file, for
file-scoped config items.
*/
void
+23 -3
View File
@@ -44,12 +44,17 @@
#include <dl-cache.h>
#include <dl-hwcaps.h>
#include <dl-is_dso.h>
#include "tunconf.h"
#ifndef LD_SO_CONF
# define LD_SO_CONF SYSCONFDIR "/ld.so.conf"
#endif
#ifndef TUNABLES_CONF
# define TUNABLES_CONF SYSCONFDIR "/tunables.conf"
#endif
/* Get libc version number. */
#include <version.h>
@@ -107,9 +112,12 @@ static int opt_ignore_aux_cache;
/* Cache file to use. */
static char *cache_file;
/* Configuration file. */
/* Configuration file for libraries. */
static const char *config_file;
/* Configuration file for tunables. */
static const char *tunconfig_file;
/* Name and version of program. */
static void print_version (FILE *stream, struct argp_state *state);
void (*argp_program_version_hook) (FILE *, struct argp_state *)
@@ -127,7 +135,8 @@ static const struct argp_option options[] =
{ NULL, 'X', NULL, 0, N_("Don't update symbolic links"), 0},
{ NULL, 'r', N_("ROOT"), 0, N_("Change to and use ROOT as root directory"), 0},
{ NULL, 'C', N_("CACHE"), 0, N_("Use CACHE as cache file"), 0},
{ NULL, 'f', N_("CONF"), 0, N_("Use CONF as configuration file"), 0},
{ NULL, 'f', N_("CONF"), 0, N_("Use CONF as configuration file for libraries"), 0},
{ NULL, 't', N_("TUNCONF"), 0, N_("Use TUNCONF as configuration file for tunables"), 0},
{ NULL, 'n', NULL, 0, N_("Only process directories specified on the command line. Don't build cache."), 0},
{ NULL, 'l', NULL, 0, N_("Manually link individual libraries."), 0},
{ "format", 'c', N_("FORMAT"), 0, N_("Format to use: new (default), old, or compat"), 0},
@@ -164,6 +173,9 @@ parse_opt (int key, char *arg, struct argp_state *state)
case 'f':
config_file = arg;
break;
case 't':
tunconfig_file = arg;
break;
case 'i':
opt_ignore_aux_cache = 1;
break;
@@ -421,8 +433,11 @@ add_dir_1 (const char *line, const char *from_file, int from_line)
}
static void
add_dir_callback (const char *line, const char *from_file, int from_line)
add_dir_callback (char *line, const char *from_file, int from_line)
{
/* Denotes file boundaries. Not needed here. */
if (line == NULL)
return;
if (!strncasecmp (line, "hwcap", 5) && isblank (line[5]))
error (0, 0, _("%s:%u: hwcap directive ignored"), from_file, from_line);
else
@@ -1089,6 +1104,9 @@ main (int argc, char **argv)
if (config_file == NULL)
config_file = LD_SO_CONF;
if (tunconfig_file == NULL)
tunconfig_file = TUNABLES_CONF;
if (opt_print_cache)
{
if (opt_chroot != NULL)
@@ -1164,6 +1182,8 @@ main (int argc, char **argv)
search_dirs ();
parse_tunconf (tunconfig_file, opt_chroot);
if (opt_build_cache)
{
save_cache (cache_file);
+134
View File
@@ -0,0 +1,134 @@
/* Test ldconfig cache is correctly used when changed.
Copyright (C) 2026 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, see <https://www.gnu.org/licenses/>. */
/* What we're testing for: We initially load ld.so.cache at startup
and remember it. If we detect that ld.so.cache has changed, and we
can load it successfully, we replace our remember it. If it
doesn't change, or if the new version is corrupted, we continue
using the old remembered copy. */
#include <fcntl.h>
#include <support/support.h>
#include <support/check.h>
#include <support/xstdio.h>
#include <support/xstdlib.h>
#include <support/xdlfcn.h>
#include <support/xunistd.h>
/* Verify that we can (or can't) load one of our test objects. */
static void
try (int i, int invert)
{
char dlname[100];
char symname[100];
int (*proc)(int);
void *dl;
/* These match the objects copied by tst-ldconfig-cache.script,
copied from tst-tls-manydynamic*.so. */
sprintf (dlname, "libcache%d.so", i);
sprintf (symname, "set_value_%02d", i);
dl = dlopen (dlname, RTLD_NOW);
if (invert)
{
/* This is a negative test; if the object doesn't load the test
passes. */
TEST_VERIFY (dl == NULL);
return;
}
else
{
/* This is a positive test; if the object doesn't load the test
fails. */
if (dl == NULL)
FAIL_EXIT1 ("error: dlopen: %s\n", dlerror ());
}
proc = xdlsym (dl, symname);
/* We don't need to call the symbol, just make sure it exists. */
TEST_VERIFY (proc != NULL);
xdlclose (dl);
}
/* Cause corruption in the cache that should prevent loading it. */
static void
corrupt (void)
{
int fd = xopen ("/etc/ld.so.cache", O_RDWR, 0);
char bytes[] = { 15, 32, 184, 4 };
xwrite (fd, bytes, sizeof(bytes));
xclose (fd);
}
/* Regenerate the cache from ld.so.conf. */
static void
ldconfig (void)
{
xsystem ("/sbin/ldconfig -X");
}
/* Change ld.so.conf to refer to the new directory, and generate a new
cache. */
static void
newpath (const char *p)
{
FILE *f = xfopen ("/etc/ld.so.conf", "w");
fprintf (f, "%s\n", p);
xfclose (f);
ldconfig ();
}
static int
do_test (void)
{
/* Test that the cache we started with can still load objects in
/a. */
try (1, 0);
/* Create a new cache that doesn't include /a but corrupt it. Test
that we still use the cache with /a in it. */
newpath ("/c");
corrupt ();
try (2, 0);
/* Regenerate a clean cache with /a in it and verify we can load
objects in /a. */
newpath ("/a");
try (3, 0);
/* Generate a new cache with /b but not /a and make sure objects
in /a can't be loaded. */
newpath ("/b");
try (3, 1);
/* But objects in /b can be loaded. */
try (4, 0);
/* Even multiple times. */
try (5, 0);
return 0;
}
#include <support/test-driver.c>
@@ -0,0 +1,3 @@
/lib
/lib64
/a
@@ -0,0 +1,7 @@
mkdirp 0755 /a
cp $B/elf/tst-tls-manydynamic01mod.so /a/libcache1.so
cp $B/elf/tst-tls-manydynamic02mod.so /a/libcache2.so
cp $B/elf/tst-tls-manydynamic03mod.so /a/libcache3.so
mkdirp 0755 /b
cp $B/elf/tst-tls-manydynamic04mod.so /b/libcache4.so
cp $B/elf/tst-tls-manydynamic05mod.so /b/libcache5.so
+36
View File
@@ -0,0 +1,36 @@
/* Test that the tunables cache can override env vars.
Copyright (C) 2026 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
#include <stdio.h>
#include <support/check.h>
#include "dl-tunables.h"
static int
do_test (void)
{
size_t tcache_count = TUNABLE_GET_FULL (glibc, malloc, tcache_count, size_t, NULL);
size_t tcache_max = TUNABLE_GET_FULL (glibc, malloc, tcache_max, size_t, NULL);
printf("tcache count is %ld (should be 5, from env)\n", (long)tcache_count);
TEST_COMPARE ((long)tcache_count, 5);
printf("tcache max is %ld (should be 4, from /etc)\n", (long)tcache_max);
TEST_COMPARE ((long)tcache_max, 4);
return 0;
}
#include <support/test-driver.c>
+14
View File
@@ -0,0 +1,14 @@
# These test the parser for both the overridability characters as well as
# tunables that either never exist, or only exist on some platforms.
-glibc.cpu.cached_memopt=1
+glibc.cpu.hwcaps=some,random,string
@glibc.test_secure=1
$glibc.test_unsecure=1
# These are checked inside the test case
glibc.malloc.tcache_max=6
$glibc.malloc.tcache_count=3
[proc:/bin/ls]
glibc.malloc.tcache_max=7
[proc:tst-tunconf1]
glibc.malloc.tcache_max=4
View File
View File
+434
View File
@@ -0,0 +1,434 @@
/* Manage /etc/tunables.*
Copyright (C) 1999-2023 Free Software Foundation, Inc.
This file is part of the GNU C Library.
This program 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; version 2 of the License, or
(at your option) any later version.
This program 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, see <https://www.gnu.org/licenses/>. */
#include <alloca.h>
#include <argp.h>
#include <assert.h>
#include <error.h>
#include <inttypes.h>
#include <glob.h>
#include <libgen.h>
#include <libintl.h>
#include <locale.h>
#include <programs/xmalloc.h>
#include <stdint.h>
#include <stdio.h>
#include <stdio_ext.h>
#include <stdlib.h>
#include <string.h>
#define TUNABLES_INTERNAL
#include <elf/dl-tunables.h>
#include <unistd.h>
#include <ldconfig.h>
#include <dl-cache.h>
#include <version.h>
#include <stringtable.h>
#include <array_length.h>
#include "tunconf.h"
/*----------------------------------------------------------------------*/
#ifndef TUNABLES_CONF
# define TUNABLES_CONF SYSCONFDIR "/tunables.conf"
#endif
#ifndef TUNABLES_CACHE
# define TUNABLES_CACHE SYSCONFDIR "/tunables.cache"
#endif
/* Tunable Override Policies. */
typedef enum {
TOP_ALLOW = 0, /* let the environment variable override */
TOP_DENY /* no override allowed */
} TOP;
struct tunable_entry_int {
struct stringtable_entry *name;
struct stringtable_entry *value;
struct stringtable_entry *filter;
TOP top;
bool exclude_secure:1;
bool exclude_nonsecure:1;
int tunable_id;
int value_is_negative:1;
int value_was_parsed:1;
unsigned long long value_ull;
signed long long value_sll;
long filter_flags;
struct tunable_entry_int *next;
};
struct tunable_entry_int *entry_list;
static int filter_flags = 0;
static char *filter_string = NULL;
/*----------------------------------------------------------------------*/
static void
clear_filter (void)
{
free (filter_string);
filter_string = NULL;
filter_flags = 0;
}
/* Filters are lines the are bracketed, like
[prog:foo]
*/
static void
parse_filter (char *line, const char *filename, int lineno)
{
const char *colon = NULL;
const char *right_bracket = NULL;
const char *cp;
for (cp = line; *cp != 0; ++cp)
{
if (*cp == ':')
colon = cp;
if (*cp == ']')
{
right_bracket = cp;
break;
}
}
/* Special case: [] means "no filter" */
if (right_bracket != NULL && right_bracket == line + 1)
{
clear_filter ();
return;
}
if (colon == NULL)
{
error_at_line (0, 0, filename, lineno,
"syntax error, filter line ignored: `%s' (missing ':')\n",
line);
return;
}
if (right_bracket == NULL)
{
error_at_line (0, 0, filename, lineno,
"syntax error, filter line ignored: `%s' (missing ']')\n",
line);
return;
}
if (filter_string != NULL)
{
clear_filter ();
}
if (colon - line - 1 == 4 && memcmp ("proc", line + 1, 4) == 0)
{
/* Consider this example: [proc:foo] ..." */
/* We allocate 4 bytes, [0] through [3]. */
filter_string = (char *) xmalloc (right_bracket - colon);
/* We copy "foo" for 3 bytes, [0] through [2]. */
memcpy (filter_string, colon + 1, right_bracket - colon - 1);
/* [3] = 0 so now "foo\0". */
filter_string [right_bracket - colon - 1] = 0;
filter_flags = TUNCONF_FILTER_PERPROC;
}
else
error_at_line (0, 0, filename, lineno,
"unrecognized filter `%.*s', ignored\n",
(int)(colon - line - 1), line + 1);
}
static void
add_tunable (char *line, const char *filename, int lineno)
{
TOP top = TOP_ALLOW;
char *name;
char *value;
char *eq;
char *orig_line;
struct tunable_entry_int *entry;
int i, id;
static struct tunable_entry_int **entry_list_next = &entry_list;
bool exclude_secure = 1, exclude_nonsecure = 0;
/* Denotes file boundaries. */
if (line == NULL)
{
clear_filter();
return;
}
orig_line = line;
/* Leading whitespace has already been stripped. */
/* Canonicalize the line. */
for (i=0; line[i]; i++)
{
if (line[i] == '\t')
line[i] = ' ';
if (line[i] == '\n' || line[i] == '\r')
{
line[i] = '\0';
break;
}
}
/* Parse modifiers. */
while (*line)
{
if (strncmp (line, "overridable ", 13) == 0)
{
top = TOP_ALLOW;
/* The line++ below skips the space. */
line += 12;
}
else if (strncmp (line, "nonoverridable ", 16) == 0)
{
top = TOP_DENY;
line += 15;
}
else if (strncmp (line, "onlysecure ", 11) == 0)
{
exclude_nonsecure = 1;
exclude_secure = 0;
line += 10;
}
else if (strncmp (line, "nonsecure ", 10) == 0)
{
exclude_secure = 1;
exclude_nonsecure = 0;
line += 9;
}
else if (strncmp (line, "anysecure ", 10) == 0)
{
exclude_secure = 0;
exclude_nonsecure = 0;
line += 9;
}
else switch (*line)
{
case '+':
top = TOP_ALLOW;
break;
case '-':
top = TOP_DENY;
break;
case '@':
exclude_nonsecure = 1;
exclude_secure = 0;
break;
case '$':
exclude_nonsecure = 0;
exclude_secure = 1;
break;
case '*':
exclude_nonsecure = 0;
exclude_secure = 0;
break;
case '[':
parse_filter (line, filename, lineno);
return;
case ' ':
break;
default:
goto done;
}
line ++;
}
done:
/* NAME now points to the start of the tunable name. */
name = line;
/* Look for the '=' separator. */
eq = strchr (line, '=');
if (eq == NULL)
{
error_at_line (0, 0, filename, lineno,
"syntax error, line ignored: `%s' (missing '=')",
orig_line);
return;
}
if (eq == name)
{
error_at_line (0, 0, filename, lineno,
"syntax error, line ignored: `%s' (missing tunable name)",
orig_line);
return;
}
/* At this point, EQ actually points to '='. */
value = eq + 1;
while (*value && isspace(*value))
value ++;
if (*value == 0)
{
error_at_line (0, 0, filename, lineno,
"syntax error, line ignored: `%s' (missing value)",
orig_line);
return;
}
/* VALUE now points to the start of the value. */
/* Split the string into name and value c-strings. */
*eq = 0;
/* Trim trailing whitespace off NAME. */
while (*name && isspace (name[strlen(name)-1]))
name[strlen(name)-1] = 0;
/* Trim trailing whitespace off VALUE. */
while (*value && isspace (value[strlen(value)-1]))
value[strlen(value)-1] = 0;
id = -1;
for (i = 0; i < array_length (tunable_list); i ++)
if (strcmp (tunable_list[i].name, name) == 0)
{
id = i;
break;
}
if (id == -1)
printf ("%s:%d: Warning: tunable %s not recognized.\n",
filename, lineno, name);
entry = (struct tunable_entry_int *) xcalloc (sizeof (struct tunable_entry_int), 1);
entry->name = cache_store_string (name);
entry->value = cache_store_string (value);
entry->tunable_id = id;
entry->top = top;
entry->exclude_secure = exclude_secure;
entry->exclude_nonsecure = exclude_nonsecure;
if (filter_flags)
{
entry->filter_flags = filter_flags;
entry->filter = cache_store_string (filter_string);
}
if (value[0] == '-')
{
entry->value_is_negative = 1;
if (sscanf (value, "%lld", &entry->value_sll) == 1)
entry->value_was_parsed = 1;
}
else
{
entry->value_is_negative = 0;
if (sscanf (value, "%llu", &entry->value_ull) == 1)
entry->value_was_parsed = 1;
}
*entry_list_next = entry;
entry_list_next = & (entry->next);
}
void
parse_tunconf (const char *filename, char *opt_chroot)
{
ldconfig_parse_config (filename, opt_chroot, add_tunable);
}
struct tunable_header_cached *
get_tunconf_ext (uint32_t string_table_offset)
{
struct tunable_entry_int *tei;
struct tunable_header_cached *thc;
size_t count;
size_t size;
/* First, count the number of entries we have. */
tei = entry_list;
count = 0;
while (tei != NULL)
{
++ count;
tei = tei->next;
}
if (count == 0)
return NULL;
/* Allocate enough space for the whole cached block. */
size = sizeof (struct tunable_header_cached)
+ sizeof (struct tunable_entry_cached) * count;
thc = (struct tunable_header_cached *) xmalloc (size);
/* Now, fill in the structures. */
thc->signature = TUNCONF_SIGNATURE;
thc->version = TUNCONF_VERSION;
thc->num_tunables = count;
thc->unused_1 = 0;
tei = entry_list;
count = 0;
while (tei != NULL)
{
struct tunable_entry_cached *tec;
tec = & ( thc->tunables[count] );
tec->flags = 0;
if (tei->value_was_parsed)
tec->flags |= TUNCONF_FLAG_PARSED;
if (tei->value_is_negative)
tec->flags |= TUNCONF_FLAG_NEGATIVE;
switch (tei->top)
{
case TOP_ALLOW:
tec->flags |= TUNCONF_OVERRIDE_ALLOW;
break;
case TOP_DENY:
tec->flags |= TUNCONF_OVERRIDE_DENY;
break;
}
if (tei->exclude_secure)
tec->flags |= TUNCONF_EXCLUDE_SECURE;
if (tei->exclude_nonsecure)
tec->flags |= TUNCONF_EXCLUDE_UNSECURE;
tec->tunable_id = tei->tunable_id;
tec->name_offset = tei->name->offset + string_table_offset;
tec->value_offset = tei->value->offset + string_table_offset;
if (tei->filter_flags != 0)
{
tec->flag_offset = tei->filter->offset + string_table_offset;
tec->flags |= tei->filter_flags;
}
else
tec->flag_offset = 0;
tec->unused_1 = 0;
if (tei->value_is_negative)
tec->parsed_value = (uint64_t) tei->value_sll;
else
tec->parsed_value = (uint64_t) tei->value_ull;
++ count;
tei = tei->next;
}
return thc;
}
+45
View File
@@ -0,0 +1,45 @@
#define TUNCONF_SIGNATURE 0x7c3ba94f
#define TUNCONF_VERSION 0x01000000
#define TUNCONF_FLAG_PARSED 0x00000001
#define TUNCONF_FLAG_NEGATIVE 0x00000002
#define TUNCONF_FLAG_OVERRIDABLE 0x0000000C
#define TUNCONF_OVERRIDE_DENY 0x00000004
#define TUNCONF_OVERRIDE_ALLOW 0x00000000
#define TUNCONF_EXCLUDE_SECURE 0x00000010
#define TUNCONF_EXCLUDE_UNSECURE 0x00000020
#define TUNCONF_FLAG_FILTER 0x0000ff00
#define TUNCONF_FILTER_NONE 0x00000000
#define TUNCONF_FILTER_PERPROC 0x00000100
/* An array of [num_tunables] of these follows the below. */
struct tunable_entry_cached {
uint32_t flags;
uint32_t tunable_id;
uint32_t name_offset;
uint32_t value_offset;
uint32_t flag_offset;
uint32_t unused_1; /* for alignment */
uint64_t parsed_value;
};
/* One of these is at the beginning of the tunable data block. */
struct tunable_header_cached {
uint32_t signature;
uint32_t version;
uint32_t num_tunables;
uint32_t unused_1; /* for alignment */
struct tunable_entry_cached tunables[0 /* num_tunables */];
};
void parse_tunconf (const char *filename, char *opt_chroot);
struct tunable_header_cached * get_tunconf_ext (uint32_t str_offset);
#define TUNCONF_SIZE(thc_p) (sizeof(struct tunable_header_cached) \
+ thc_p->num_tunables * sizeof (struct tunable_entry_cached))
extern const struct tunable_header_cached *
_dl_load_cache_tunables (const char **data);
+7
View File
@@ -257,3 +257,10 @@ $(addprefix $(objpfx),$(tests-static) $(xtests-static)): $(srcdir)/libpthread_sy
else
$(addprefix $(objpfx),$(tests) $(test-srcs)): $(srcdir)/libpthread_syms.a $(objpfx)libpthread.a
endif
# Like rt, these tests prefer to be run serially.
ifeq (yes-yes,$(run-built-tests)-$(serialize-tests))
ifneq ($(filter %tests,$(MAKECMDGOALS)),)
.NOTPARALLEL:
endif
endif
+2
View File
@@ -91,6 +91,8 @@ enum
#define IPPROTO_MPLS IPPROTO_MPLS
IPPROTO_ETHERNET = 143, /* Ethernet-within-IPv6 Encapsulation. */
#define IPPROTO_ETHERNET IPPROTO_ETHERNET
IPPROTO_AGGFRAG = 144, /* AGGFRAG in ESP (RFC 9347). */
#define IPPROTO_AGGFRAG IPPROTO_AGGFRAG
IPPROTO_RAW = 255, /* Raw IP packets. */
#define IPPROTO_RAW IPPROTO_RAW
IPPROTO_SMC = 256, /* Shared Memory Communications. */
+1 -1
View File
@@ -24,7 +24,7 @@ test_program_prefix=$2
objpfx=$3
# Create the locale directories.
mkdir -p ${objpfx}localedir/existing-locale/LC_MESSAGES
mkdir -p ${objpfx}domaindir/existing-locale/LC_MESSAGES
msgfmt -o ${objpfx}domaindir/existing-locale/LC_MESSAGES/translit.mo \
translit.po
-2
View File
@@ -24,8 +24,6 @@
#include <malloc-size.h>
#include <hugepages.h>
#include <calloc-clear-memory.h>
#include <malloc-api.h>
#include <malloc-ifuncs.h>
/* Called in the parent process before a fork. */
void __malloc_fork_lock_parent (void) attribute_hidden;
+133 -22
View File
@@ -459,10 +459,101 @@ static int extra_mmap_prot = 0;
/* ---------- description of public routines ------------ */
#if IS_IN (libc)
/*
malloc(size_t n)
Returns a pointer to a newly allocated chunk of at least n bytes, or null
if no space is available. Additionally, on failure, errno is
set to ENOMEM on ANSI C systems.
If n is zero, malloc returns a minimum-sized chunk. (The minimum
size is 16 bytes on most 32bit systems, and 24 or 32 bytes on 64bit
systems.) On most systems, size_t is an unsigned type, so calls
with negative arguments are interpreted as requests for huge amounts
of space, which will often fail. The maximum supported value of n
differs across systems, but is in all cases less than the maximum
representable value of a size_t.
*/
void *__libc_malloc (size_t);
libc_hidden_proto (__libc_malloc)
static void *__libc_calloc2 (size_t);
static void *__libc_malloc2 (size_t);
/*
free(void* p)
Releases the chunk of memory pointed to by p, that had been previously
allocated using malloc or a related routine such as realloc.
It has no effect if p is null. It can have arbitrary (i.e., bad!)
effects if p has already been freed.
Unless disabled (using mallopt), freeing very large spaces will
when possible, automatically trigger operations that give
back unused memory to the system, thus reducing program footprint.
*/
void __libc_free(void*);
libc_hidden_proto (__libc_free)
/*
calloc(size_t n_elements, size_t element_size);
Returns a pointer to n_elements * element_size bytes, with all locations
set to zero.
*/
void* __libc_calloc(size_t, size_t);
/*
realloc(void* p, size_t n)
Returns a pointer to a chunk of size n that contains the same data
as does chunk p up to the minimum of (n, p's size) bytes, or null
if no space is available.
The returned pointer may or may not be the same as p. The algorithm
prefers extending p when possible, otherwise it employs the
equivalent of a malloc-copy-free sequence.
If p is null, realloc is equivalent to malloc.
If space is not available, realloc returns null, errno is set (if on
ANSI) and p is NOT freed.
if n is for fewer bytes than already held by p, the newly unused
space is lopped off and freed if possible. Unless the #define
REALLOC_ZERO_BYTES_FREES is set, realloc with a size argument of
zero (re)allocates a minimum-sized chunk.
Large chunks that were internally obtained via mmap will always be
grown using malloc-copy-free sequences unless the system supports
MREMAP (currently only linux).
The old unix realloc convention of allowing the last-free'd chunk
to be used as an argument to realloc is not supported.
*/
void* __libc_realloc(void*, size_t);
libc_hidden_proto (__libc_realloc)
/*
memalign(size_t alignment, size_t n);
Returns a pointer to a newly allocated chunk of n bytes, aligned
in accord with the alignment argument.
The alignment argument should be a power of two. If the argument is
not a power of two, the nearest greater power is used.
8-byte alignment is guaranteed by normal malloc calls, so don't
bother calling memalign with an argument of 8 or less.
Overreliance on memalign is a sure way to fragment space.
*/
void* __libc_memalign(size_t, size_t);
libc_hidden_proto (__libc_memalign)
/*
valloc(size_t n);
Equivalent to memalign(pagesize, n), where pagesize is the page
size of the system. If the pagesize is unknown, 4096 is used.
*/
void* __libc_valloc(size_t);
/*
mallinfo()
Returns (by copy) a struct containing various summary statistics:
@@ -487,6 +578,14 @@ libc_hidden_proto (__libc_mallinfo2)
struct mallinfo __libc_mallinfo(void);
/*
pvalloc(size_t n);
Equivalent to valloc(minimum-page-that-holds(n)), that is,
round up n to nearest pagesize.
*/
void* __libc_pvalloc(size_t);
/*
malloc_trim(size_t pad);
@@ -513,6 +612,23 @@ struct mallinfo __libc_mallinfo(void);
*/
int __malloc_trim(size_t);
/*
malloc_usable_size(void* p);
Returns the number of bytes you can actually use in
an allocated chunk, which may be more than you requested (although
often not) due to alignment and minimum size constraints.
You can use this many bytes without worrying about
overwriting other allocated objects. This is not a particularly great
programming practice. malloc_usable_size can be more useful in
debugging and assertions, for example:
p = malloc(n);
assert(malloc_usable_size(p) >= 256);
*/
size_t __malloc_usable_size(void*);
/*
malloc_stats();
Prints on stderr the amount of space obtained from the system (both
@@ -535,6 +651,12 @@ int __malloc_trim(size_t);
*/
void __malloc_stats(void);
/*
posix_memalign(void **memptr, size_t alignment, size_t size);
POSIX wrapper like memalign(), checking for validity of size.
*/
int __posix_memalign(void **, size_t, size_t);
#endif /* IS_IN (libc) */
/*
@@ -3190,8 +3312,10 @@ __libc_memalign (size_t alignment, size_t bytes)
}
libc_hidden_def (__libc_memalign)
/* For ISO C17. */
void *
__aligned_alloc (size_t alignment, size_t bytes)
weak_function
aligned_alloc (size_t alignment, size_t bytes)
{
/* Starting with ISO C17 the standard requires an error for alignments
that are not supported. Only integral powers of 2 are valid. */
@@ -3203,10 +3327,11 @@ __aligned_alloc (size_t alignment, size_t bytes)
return _mid_memalign (alignment, bytes);
}
libc_hidden_def (__aligned_alloc)
/* For ISO C23. */
void
__free_sized (void *ptr, __attribute_maybe_unused__ size_t size)
weak_function
free_sized (void *ptr, __attribute_maybe_unused__ size_t size)
{
/* We do not perform validation that size is the same as the original
requested size at this time. We leave that to the sanitizers. We
@@ -3215,10 +3340,11 @@ __free_sized (void *ptr, __attribute_maybe_unused__ size_t size)
free (ptr);
}
libc_hidden_def (__free_sized)
/* For ISO C23. */
void
__free_aligned_sized (void *ptr, __attribute_maybe_unused__ size_t alignment,
weak_function
free_aligned_sized (void *ptr, __attribute_maybe_unused__ size_t alignment,
__attribute_maybe_unused__ size_t size)
{
/* We do not perform validation that size and alignment is the same as
@@ -3228,7 +3354,6 @@ __free_aligned_sized (void *ptr, __attribute_maybe_unused__ size_t alignment,
free (ptr);
}
libc_hidden_def (__free_aligned_sized)
static void *
_mid_memalign (size_t alignment, size_t bytes)
@@ -3277,7 +3402,6 @@ __libc_valloc (size_t bytes)
{
return _mid_memalign (GLRO (dl_pagesize), bytes);
}
libc_hidden_def (__libc_valloc)
void *
__libc_pvalloc (size_t bytes)
@@ -3295,7 +3419,6 @@ __libc_pvalloc (size_t bytes)
return _mid_memalign (pagesize, rounded_bytes & -pagesize);
}
libc_hidden_def (__libc_pvalloc)
static void * __attribute_noinline__
__libc_calloc2 (size_t sz)
@@ -3417,7 +3540,6 @@ __libc_calloc (size_t n, size_t elem_size)
#endif
return __libc_calloc2 (bytes);
}
libc_hidden_def (__libc_calloc)
#endif /* IS_IN (libc) */
/*
@@ -4410,7 +4532,6 @@ __malloc_usable_size (void *m)
return 0;
return musable (m);
}
libc_hidden_def (__malloc_usable_size)
#endif /* IS_IN (libc) */
/*
@@ -4984,7 +5105,6 @@ __posix_memalign (void **memptr, size_t alignment, size_t size)
*memptr = mem;
return 0;
}
libc_hidden_def (__posix_memalign)
#endif /* IS_IN (libc) */
@@ -5147,9 +5267,6 @@ __malloc_info (int options, FILE *fp)
}
#if IS_IN (libc)
/* See sysdeps/generic/malloc-ifuncs.h for details. */
# if !USE_MULTIARCH_MALLOC
strong_alias (__libc_malloc, malloc)
strong_alias (__libc_realloc, realloc)
strong_alias (__libc_free, free)
@@ -5159,10 +5276,6 @@ weak_alias (__posix_memalign, posix_memalign)
weak_alias (__libc_valloc, valloc)
weak_alias (__libc_pvalloc, pvalloc)
weak_alias (__malloc_usable_size, malloc_usable_size)
weak_alias (__aligned_alloc, aligned_alloc)
weak_alias (__free_sized, free_sized)
weak_alias (__free_aligned_sized, free_aligned_sized)
#endif /* !USE_MULTIARCH_MALLOC */
weak_alias (__malloc_info, malloc_info)
weak_alias (__libc_mallinfo, mallinfo)
@@ -5172,11 +5285,9 @@ weak_alias (__malloc_stats, malloc_stats)
weak_alias (__malloc_trim, malloc_trim)
#endif /* IS_IN (libc) */
#if !USE_MULTIARCH_MALLOC
# if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_26)
#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_26)
compat_symbol (libc, __libc_free, cfree, GLIBC_2_0);
# endif
#endif /* !USE_MULTIARCH_MALLOC */
#endif
/* ------------------------------------------------------------
History:
+94
View File
@@ -67,6 +67,7 @@ glibc.elf.thp: 0 (min: 0, max: 1)
@end example
@menu
* System-wide Tunables:: Tunables that affect every process
* Tunable names:: The structure of a tunable name
* Memory Allocation Tunables:: Tunables in the memory allocation subsystem
* Dynamic Linking Tunables:: Tunables in the dynamic linking subsystem
@@ -82,6 +83,99 @@ glibc.elf.thp: 0 (min: 0, max: 1)
@end menu
@node System-wide Tunables
@section System-wide Tunables
@cindex System-wide Tunables
@cindex /etc/tunables.conf
In addition to setting the @code{GLIBC_TUNABLES} environment variable,
tunables may be provided globally via the file
@file{/etc/tunables.conf}, which gets stored in glibc's dynamic
library cache @file{/etc/ld.so.cache} and read by every program at
startup. @file{/etc/tunables.conf} contains one tunable per line:
@example
glibc.malloc.trim_threshold=128
glibc.malloc.check=3
@end example
@file{ldconfig} (with whatever options you normally use) will read the
tunables in @file{/etc/tunables.conf} and save them as an extension
in @file{/etc/ld.so.cache}. Tunables in the cache are applied to
every program at startup, programs which are already running are not
affected.
@file{/etc/tunables.conf} supports the same ``include @var{file}''
syntax as @file{ld.so.conf}.
Tunables in @file{/etc/tunables.conf} serve as defaults. They
override the built-in defaults in each program, but may be overridden
by the @code{GLIBC_TUNABLES} environment variable. Each tunable may
have one or more prefixes which modifies the behavior of the tunable.
@table @code
@item overridable
@item +
@item nonoverridable
@item -
Prefixing the tunable name with @code{nonoverridable} or @code{-}
blocks changes from the environment variable, giving the global
setting precedence. Prefixing with @code{overridable} or @code{+}
(the default) reverts this behavior, which is only useful with the
filters (below).
@item onlysecure
@item @@
Tunables prefixed with @code{onlysecure} or @code{@@} will apply only
to processes that are AT_SECURE (i.e. setuid or setgid binaries, or
elevated capabilities).
@item nonsecure
@item $
Tunables prefixed with @code{nonsecure} or @code{$} will apply only to
processes that aren't AT_SECURE.
@item anysecure
@item *
Tunables prefixed with @code{anysecure} or @code{*} will apply to all
processes.
@end table
Filters make the system-wide tunables only affect certain programs.
This allows having a non-overridable default for most of the system
but a different, overridable, value for certain programs that might
not work at all with the default setting. The syntax for filters is
to have each filter on its own line, followed by tunables that are
applied when the filter matches, with this format:
@example
[ @var{filtername} : @var{pattern} ]
@end example
Existing filters are:
@table @code
@item proc
Matches the process name. The pattern is either a fully qualified
path, or the basename of such a path. The process name is read from
@file{/proc/self/exe} (if available) or @file{argv[0]} (unless
AT_SECURE is in effect). Example:
@example
-glibc.cpu.x86_shstk=1
[proc:/usr/bin/program_that_crashes_with_shstk]
+glibc.cpu.x86_shstk=0
@end example
@end table
Note that the effects of a filter only last until the next filter, or
a line with @code{[]} on it (``no filter''), or the end of the file
(if the filter appears in an included file, at the end of the included
file).
@node Tunable names
@section Tunable names
@cindex Tunable names
+4 -2
View File
@@ -93,6 +93,7 @@ routines = \
pthread_barrierattr_init \
pthread_barrierattr_setpshared \
pthread_cancel \
pthread_cancel_signal \
pthread_cleanup_upto \
pthread_clockjoin \
pthread_cond_broadcast \
@@ -738,8 +739,9 @@ tst-audit-threads-ENV = LD_AUDIT=$(objpfx)tst-audit-threads-mod1.so
tst-setuid1-static-ENV = \
LD_LIBRARY_PATH=$(ld-library-path):$(common-objpfx)elf:$(common-objpfx)nss
# The tests here better do not run in parallel.
ifeq ($(run-built-tests),yes)
# The tests here better do not run in parallel, unless serialize-tests is
# cleared (make check-parallel).
ifeq (yes-yes,$(run-built-tests)-$(serialize-tests))
ifneq ($(filter %tests,$(MAKECMDGOALS)),)
.NOTPARALLEL:
endif
+1 -22
View File
@@ -124,28 +124,7 @@ get_cached_stack (size_t *sizep, void **memp)
*sizep = result->stackblock_size;
*memp = result->stackblock;
/* Cancellation handling is back to the default. */
result->cancelhandling = 0;
result->cleanup = NULL;
result->setup_failed = 0;
/* No pending event. */
result->nextevent = NULL;
result->exiting = false;
__libc_lock_init (result->exit_lock);
memset (&result->tls_state, 0, sizeof result->tls_state);
result->getrandom_buf = NULL;
/* Clear the DTV. */
dtv_t *dtv = GET_DTV (TLS_TPADJ (result));
for (size_t cnt = 0; cnt < dtv[-1].counter; ++cnt)
free (dtv[1 + cnt].pointer.to_free);
memset (dtv, '\0', (dtv[-1].counter + 1) * sizeof (dtv_t));
/* Re-initialize the TLS. */
_dl_allocate_tls_init (TLS_TPADJ (result), false);
__pthread_init_stack (result);
return result;
}
+7
View File
@@ -414,6 +414,13 @@ struct pthread
/* Used on strsignal. */
struct tls_internal_t tls_state;
/* POSIX per-process timer. */
int timerid;
/* POSIX per-process timer/SSIGEV_THREAD, the cumulative number of timer
expirations that could not be serviced by the notification function. */
int timer_overrun;
/* getrandom vDSO per-thread opaque state. */
void *getrandom_buf;
+2 -49
View File
@@ -15,45 +15,11 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
#include <errno.h>
#include <signal.h>
#include <stdlib.h>
#include "pthreadP.h"
#include <atomic.h>
#include <sysdep.h>
#include <unistd.h>
#include <unwind-link.h>
#include <cancellation-pc-check.h>
#include <stdio.h>
#include <gnu/lib-names.h>
#include <sys/single_threaded.h>
/* For asynchronous cancellation we use a signal. */
static void
sigcancel_handler (int sig, siginfo_t *si, void *ctx)
{
/* Safety check. It would be possible to call this function for
other signals and send a signal from another process. This is not
correct and might even be a security problem. Try to catch as
many incorrect invocations as possible. */
if (sig != SIGCANCEL
|| si->si_pid != __getpid()
|| si->si_code != SI_TKILL)
return;
/* Check if asynchronous cancellation mode is set and cancellation is not
already in progress, or if interrupted instruction pointer falls within
the cancellable syscall bridge.
For interruptable syscalls with external side-effects (i.e. partial
reads), the kernel will set the IP to after __syscall_cancel_arch_end,
thus disabling the cancellation and allowing the process to handle such
conditions. */
struct pthread *self = THREAD_SELF;
int oldval = atomic_load_relaxed (&self->cancelhandling);
if (cancel_enabled_and_canceled_and_async (oldval)
|| cancellation_pc_check (ctx))
__syscall_do_cancel ();
}
#include <shlib-compat.h>
int
__pthread_cancel (pthread_t th)
@@ -67,20 +33,7 @@ __pthread_cancel (pthread_t th)
determined. */
return 0;
static int init_sigcancel = 0;
if (atomic_load_relaxed (&init_sigcancel) == 0)
{
struct sigaction sa;
sa.sa_sigaction = sigcancel_handler;
/* The signal handle should be non-interruptible to avoid the risk of
spurious EINTR caused by SIGCANCEL sent to process or if
pthread_cancel() is called while cancellation is disabled in the
target thread. */
sa.sa_flags = SA_SIGINFO | SA_RESTART;
__sigemptyset (&sa.sa_mask);
__libc_sigaction (SIGCANCEL, &sa, NULL);
atomic_store_relaxed (&init_sigcancel, 1);
}
__pthread_install_sigcancel_handler ();
#ifdef SHARED
/* Trigger an error if libgcc_s cannot be loaded. */
+90
View File
@@ -0,0 +1,90 @@
/* Signal handling for pthread cancellation.
Copyright (C) 2002-2026 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
#include <stdbool.h>
#include <stdint.h>
#include <sys/ucontext.h>
#include <cancellation-pc-check.h>
#include <kernel-posix-timers.h>
#include "pthreadP.h"
#include <unistd.h>
/* For asynchronous cancellation we use a signal. */
static void
sigcancel_handler (int sig, siginfo_t *si, void *ctx)
{
if (sig != SIGCANCEL)
return;
/* A timer expiration (SI_TIMER) delivered and the expiration cannot be
serviced now, so it is ignored and recorded as an overrun. si_overrun
accounts for any further expirations the kernel folded into this one. */
if (si->si_code == SI_TIMER)
{
struct pthread *self = THREAD_SELF;
int inc;
if (INT_ADD_WRAPV (si->si_overrun, 1, &inc))
inc = INT_MAX;
timer_overrun_add (&self->timer_overrun, inc);
return;
}
/* Safety check. It would be possible to call this function for
other signals and send a signal from another process. This is not
correct and might even be a security problem. Try to catch as
many incorrect invocations as possible. */
if (si->si_pid != __getpid()
|| si->si_code != SI_TKILL)
return;
/* Check if asynchronous cancellation mode is set and cancellation is not
already in progress, or if interrupted instruction pointer falls within
the cancellable syscall bridge.
For interruptable syscalls with external side-effects (i.e. partial
reads), the kernel will set the IP to after __syscall_cancel_arch_end,
thus disabling the cancellation and allowing the process to handle such
conditions. */
struct pthread *self = THREAD_SELF;
int oldval = atomic_load_relaxed (&self->cancelhandling);
if (cancel_enabled_and_canceled_and_async (oldval)
|| cancellation_pc_check (ctx))
__syscall_do_cancel ();
}
/* Install the SIGCANCEL handler if it has not been installed yet. This is
done lazily from __pthread_cancel, and eagerly from the POSIX timer code
(which unblocks SIGCANCEL/SIGTIMER in the SIGEV_THREAD helper thread and
therefore needs the handler in place before any signal can be delivered). */
void
__pthread_install_sigcancel_handler (void)
{
static int init_sigcancel = 0;
if (atomic_load_relaxed (&init_sigcancel) == 0)
{
struct sigaction sa;
sa.sa_sigaction = sigcancel_handler;
/* The signal handle should be non-interruptible to avoid the risk of
spurious EINTR caused by SIGCANCEL sent to process or if
pthread_cancel() is called while cancellation is disabled in the
target thread. */
sa.sa_flags = SA_SIGINFO | SA_RESTART;
__sigemptyset (&sa.sa_mask);
__libc_sigaction (SIGCANCEL, &sa, NULL);
atomic_store_relaxed (&init_sigcancel, 1);
}
}
+83
View File
@@ -92,6 +92,44 @@ late_init (void)
NULL, __NSIG_BYTES);
}
static void
__pthread_init_stack (struct pthread *result)
{
/* Cancellation handling is back to the default. */
result->cancelhandling = 0;
result->cleanup = NULL;
result->setup_failed = 0;
/* No pending event. */
result->nextevent = NULL;
result->exiting = false;
__libc_lock_init (result->exit_lock);
memset (&result->tls_state, 0, sizeof result->tls_state);
/* getrandom_buf, timerid and timer_overrun are intentionally not reset
here:
- getrandom_buf: the prior thread's exit path calls
__getrandom_vdso_release, and resetting it here in would orphan a live
buffer (or force a fresh allocation if).
- timerid and timer_overrun: meaningful only for SIGEV_THREAD helper
threads. timerid is written by the thread setup before releasing the
helper from its setup barrier; timer_overrun is a cumulative overrun
count that must survive across every notification (including a
cancelled or exited one) so timer_getoverrun can still read it. */
/* Clear the DTV. */
dtv_t *dtv = GET_DTV (TLS_TPADJ (result));
for (size_t cnt = 0; cnt < dtv[-1].counter; ++cnt)
free (dtv[1 + cnt].pointer.to_free);
memset (dtv, '\0', (dtv[-1].counter + 1) * sizeof (dtv_t));
/* Re-initialize the TLS. */
_dl_allocate_tls_init (TLS_TPADJ (result), false);
}
/* Code to allocate and deallocate a stack. */
#include "allocatestack.c"
@@ -644,6 +682,51 @@ report_thread_creation (struct pthread *pd)
return false;
}
/* Reset internal thread state as if the start thread routine was initially
called from pthread_create. It is used on POSIX timers to reset the
SIGEV_THREAD thread after a timer activation (as required by POSIX in
Realtime Signal Generation and Delivery): each firing must behave as if a
fresh thread was created, so TLS destructors, TSD destructors, libc
per-thread state, the DTV, the signal mask, and cancellation state are all
reset.
The per-thread vDSO getrandom buffer (getrandom_buf) is *not* reset here.
It is internal, opaque state that advances forward-securely on each use, so
no observable data leaks across firings.
The kernel timer id (timerid) is also *not* reset here: it identifies the
active timer for this helper thread and timer_delete signals exit by
setting its MSB, which the helper thread checks after each firing. */
void
__pthread_reset_state (void *arg)
{
struct pthread *self = THREAD_SELF;
/* Call destructors for the thread_local TLS variables. */
call_function_static_weak (__call_tls_dtors);
/* Run the destructor for the thread-local data. */
__nptl_deallocate_tsd ();
/* Clean up any state libc stored in thread-local variables. */
__libc_thread_freeres ();
/* Reset internal TCB state. */
struct pthread_reset_cleanup_args_t *args = arg;
self->cleanup_jmp_buf = args->cleanup_jmp_buf;
self->cleanup_jmp_buf->priv.data.prev = NULL;
self->cleanup_jmp_buf->priv.data.cleanup = NULL;
self->cleanup_jmp_buf->priv.data.canceltype = 0;
self->cleanup = NULL;
self->exc = (struct _Unwind_Exception) { 0 };
self->cancelhandling = 0;
self->nextevent = NULL;
__pthread_init_stack (self);
/* Reset to the expected initial signal mask. */
internal_signal_restore_set (&self->sigmask);
}
int
__pthread_create_2_1 (pthread_t *newthread, const pthread_attr_t *attr,
+403 -496
View File
File diff suppressed because it is too large Load Diff
+290 -317
View File
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libc 2.40.9000\n"
"POT-Creation-Date: 2026-01-19 16:22+0100\n"
"POT-Creation-Date: 2026-07-01 10:52+0900\n"
"PO-Revision-Date: 2025-01-08 11:17+0300\n"
"Last-Translator: Viktar Siarhiejčyk <vics@eq.by>\n"
"Language-Team: Belarusian <debian-l10n-belarusian@lists.debian.org>\n"
@@ -129,11 +129,11 @@ msgstr ""
"-o ВЫХОДНЫ-ФАЙЛ [УВАХОДНЫ-ФАЙЛ]...\n"
"[ВЫХОДНЫ-ФАЙЛ [УВАХОДНЫ-ФАЙЛ]...]"
#: catgets/gencat.c:231 debug/pcprofiledump.c:219 elf/ldconfig.c:216
#: catgets/gencat.c:231 debug/pcprofiledump.c:219 elf/ldconfig.c:228
#: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:372 iconv/iconv_prog.c:374
#: iconv/iconvconfig.c:380 locale/programs/locale.c:275
#: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
#: malloc/memusagestat.c:564 nss/getent.c:961 nss/makedb.c:371
#: malloc/memusagestat.c:564 nss/getent.c:980 nss/makedb.c:371
#: posix/getconf.c:551
#, c-format
msgid ""
@@ -144,11 +144,11 @@ msgstr ""
"%s.\n"
#: catgets/gencat.c:247 debug/pcprofiledump.c:235 debug/xtrace.sh:63
#: elf/ldconfig.c:232 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:75
#: elf/ldconfig.c:244 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:76
#: elf/sprof.c:389 iconv/iconv_prog.c:391 iconv/iconvconfig.c:397
#: locale/programs/locale.c:292 locale/programs/localedef.c:459
#: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
#: nscd/nscd.c:521 nss/getent.c:92 nss/makedb.c:387 posix/getconf.c:533
#: nscd/nscd.c:521 nss/getent.c:96 nss/makedb.c:387 posix/getconf.c:533
#, c-format
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -159,10 +159,10 @@ msgstr ""
"Гэта свабоднае праграмнае забеспячэнне; умовы капіравання глядзіце ў зыходных файлах. Гарантыі НЯМА; нават не для КАШТОЎНАСЦІ або ПРЫДАТНАСЦІ ДЛЯ ПЭЎНАЙ МЭТЫ.\n"
#: catgets/gencat.c:252 debug/pcprofiledump.c:240 debug/xtrace.sh:67
#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: elf/ldconfig.c:249 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: iconv/iconvconfig.c:402 locale/programs/locale.c:297
#: locale/programs/localedef.c:464 malloc/memusage.sh:74
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:101 nss/makedb.c:392
#: posix/getconf.c:538
#, c-format
msgid "Written by %s.\n"
@@ -303,7 +303,7 @@ msgstr "няправільны памер указальніка"
msgid "Usage: xtrace [OPTION]... PROGRAM [PROGRAMOPTION]...\\n"
msgstr "Выкарыстанне: xtrace [ВАРЫЯНТ]... ПРАГРАМА [ОПЦЫЯ-ПРАГРАМЫ]...\\n"
#: debug/xtrace.sh:31 elf/sotruss.sh:56 elf/sotruss.sh:67 elf/sotruss.sh:135
#: debug/xtrace.sh:31 elf/sotruss.sh:56 elf/sotruss.sh:68 elf/sotruss.sh:136
#: malloc/memusage.sh:25
msgid "Try \\`%s --help' or \\`%s --usage' for more information.\\n"
msgstr "Паспрабуйце \\`%s --help' ці \\`%s --usage' для больш падрабязных звестак.\\n"
@@ -376,76 +376,76 @@ msgstr "нерэчаісны рэжым"
msgid "invalid mode parameter"
msgstr "няправільны параметр рэжыму"
#: elf/cache.c:174
#: elf/cache.c:175
msgid "unknown or unsupported flag"
msgstr "невядомы або непадтрыманы флаг"
#: elf/cache.c:273
#: elf/cache.c:274
#, c-format
msgid "Cache file has wrong endianness.\n"
msgstr "Файл кэша мае няправільны парадак байтаў.\n"
#: elf/cache.c:282
#: elf/cache.c:284
msgid "Cache generated by: "
msgstr "Кэш створаны: "
#: elf/cache.c:296 elf/ldconfig.c:1238
#: elf/cache.c:357 elf/ldconfig.c:1116
#, c-format
msgid "Can't open cache file %s\n"
msgstr "Немагчыма адкрыць файл кэшу %s\n"
#: elf/cache.c:310
#: elf/cache.c:371
#, c-format
msgid "mmap of cache file failed.\n"
msgstr "не атрымалася зрабіць mmap кэш-файла.\n"
#: elf/cache.c:314 elf/cache.c:328 elf/cache.c:339
#: elf/cache.c:375 elf/cache.c:389 elf/cache.c:400
#, c-format
msgid "File is not a cache file.\n"
msgstr "Гэта не кэш-файл.\n"
#: elf/cache.c:368 elf/cache.c:383
#: elf/cache.c:429 elf/cache.c:444
#, c-format
msgid "%d libs found in cache `%s'\n"
msgstr "%d бібліятэк адшукана ў кэшы `%s'\n"
#: elf/cache.c:381
#: elf/cache.c:442
#, c-format
msgid "Malformed extension data in cache file %s\n"
msgstr "Няправільныя дадзеныя пашырэння ў файле кэша %s\n"
#: elf/cache.c:510
#: elf/cache.c:600
#, c-format
msgid "Writing of cache extension data failed"
msgstr "Памылка запісу даных пашырэння кэша"
#: elf/cache.c:521
#: elf/cache.c:619
#, c-format
msgid "%s: ISA level is too high (%d > %d)"
msgstr "%s: узровень ISA занадта высокі (%d > %d)"
#: elf/cache.c:685
#: elf/cache.c:783
#, c-format
msgid "Can't create temporary cache file %s"
msgstr "Не ўдалося стварыць часовы кэш-файл %s"
#: elf/cache.c:693 elf/cache.c:703 elf/cache.c:707 elf/cache.c:712
#: elf/cache.c:731
#: elf/cache.c:791 elf/cache.c:801 elf/cache.c:805 elf/cache.c:810
#: elf/cache.c:829
#, c-format
msgid "Writing of cache data failed"
msgstr "Запіс даных кэшу не ўдаўся"
#: elf/cache.c:726
#: elf/cache.c:824
#, c-format
msgid "Changing access rights of %s to %#o failed"
msgstr "Змяненне правоў доступу %s да %#o не ўдалася"
#: elf/cache.c:735
#: elf/cache.c:833
#, c-format
msgid "Renaming of %s to %s failed"
msgstr "Пераназванне %s у %s не ўдалося"
#: elf/cache.c:765
#: elf/cache.c:863
#, c-format
msgid "Could not create library path"
msgstr "Немагчыма стварыць шлях да бібліятэкі"
@@ -458,36 +458,36 @@ msgstr "памылка падчас загрузкі супольных бібл
msgid "DYNAMIC LINKER BUG!!!"
msgstr "ПАМЫЛКА ДЫНАМІЧНАГА ЛІНКЕРА!!!"
#: elf/dl-close.c:363 elf/dl-open.c:297
#: elf/dl-close.c:368 elf/dl-open.c:297
msgid "cannot create scope list"
msgstr "не ўдалося стварыць спіс абшараў"
#: elf/dl-close.c:790
#: elf/dl-close.c:795
msgid "shared object not open"
msgstr "супольны аб'ект не адкрыты"
#: elf/dl-deps.c:96
#: elf/dl-deps.c:103
msgid "DST not allowed in SUID/SGID programs"
msgstr "DST не дазваляецца ў праграмах SUID/SGID"
#: elf/dl-deps.c:109
msgid "empty dynamic string token substitution"
msgstr "пустая замена дынамічнага такену радка (DST)"
#: elf/dl-deps.c:193
msgid "cannot allocate dependency buffer"
msgstr "не ўдалося выдзеліць памяць для буфер залежнасцяў"
#: elf/dl-deps.c:115
#: elf/dl-deps.c:224 elf/dl-deps.c:286
#, c-format
msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n"
msgstr "не ўдалося загрузіць дадатковага `%s' з-за пустое замены дынамічнага такену радка (DST)\n"
#: elf/dl-deps.c:204
msgid "cannot allocate dependency buffer"
msgstr "не ўдалося выдзеліць памяць для буфер залежнасцяў"
#: elf/dl-deps.c:283
msgid "empty dynamic string token substitution"
msgstr "пустая замена дынамічнага такену радка (DST)"
#: elf/dl-deps.c:427
#: elf/dl-deps.c:449
msgid "cannot allocate dependency list"
msgstr "не ўдалося выдзеліць памяць для спісу залежнасцяў"
#: elf/dl-deps.c:467
#: elf/dl-deps.c:489
msgid "cannot allocate symbol search list"
msgstr "не ўдалося выдзеліць памяць для спісу пошуку сімвалаў"
@@ -499,139 +499,140 @@ msgstr "не ўдалося стварыць прыярытэты HWCAP"
msgid "cannot create capability list"
msgstr "не ўдалося стварыць спіс магчымасцяў"
#: elf/dl-load.c:424
#: elf/dl-load.c:408
msgid "cannot allocate name record"
msgstr "не ўдалося выдзеліць запіс для назвы"
#: elf/dl-load.c:510 elf/dl-load.c:623 elf/dl-load.c:717 elf/dl-load.c:814
msgid "cannot create cache for search path"
msgstr "немагчыма стварыць кэш для шляху пошуку"
#: elf/dl-load.c:606
#: elf/dl-load.c:595
msgid "cannot create RUNPATH/RPATH copy"
msgstr "немагчыма стварыць RUNPATH/RPATH копію"
#: elf/dl-load.c:703
#: elf/dl-load.c:612 elf/dl-load.c:621 elf/dl-load.c:712 elf/dl-load.c:810
#: elf/dl-load.c:830
msgid "cannot create cache for search path"
msgstr "немагчыма стварыць кэш для шляху пошуку"
#: elf/dl-load.c:698
msgid "cannot create search path array"
msgstr "не ўдалося стварыць табліцу шляхоў пошуку"
#: elf/dl-load.c:978
msgid "cannot stat shared object"
msgstr "не ўдалося выканаць stat для супольнага аб'екта"
#: elf/dl-load.c:1071 elf/dl-load.c:2160
msgid "cannot create shared object descriptor"
msgstr "не ўдалося стварыць дэскрыптар супольнага аб'екта"
#: elf/dl-load.c:1090 elf/dl-load.c:1594 elf/dl-load.c:1704
#: elf/dl-load.c:1000 elf/dl-load.c:1354 elf/dl-load.c:1647
msgid "cannot read file data"
msgstr "не ўдалося прачытаць даныя файла"
#: elf/dl-load.c:1143 elf/dl-map-segments.h:118
#: elf/dl-load.c:1011 elf/dl-map-segments.h:120
msgid "ELF load command address/offset not page-aligned"
msgstr "Адрас/зрушэнне каманды загрузкі ELF не выраўнаваны па старонцы"
#: elf/dl-load.c:1224
#: elf/dl-load.c:1151
msgid "cannot stat shared object"
msgstr "не ўдалося выканаць stat для супольнага аб'екта"
#: elf/dl-load.c:1246 elf/dl-load.c:2203
msgid "cannot create shared object descriptor"
msgstr "не ўдалося стварыць дэскрыптар супольнага аб'екта"
#: elf/dl-load.c:1278
msgid "object file has no loadable segments"
msgstr "аб'ектны файл не мае сегментаў для загрузкі"
#: elf/dl-load.c:1241
#: elf/dl-load.c:1291
msgid "cannot dynamically load executable"
msgstr "не ўдалося дынамічна загрузіць выканальны файл"
#: elf/dl-load.c:1248
#: elf/dl-load.c:1298
msgid "object file has no dynamic section"
msgstr "аб'ектны файл не мае дынамічнай секцыі"
#: elf/dl-load.c:1283
#: elf/dl-load.c:1333
msgid "cannot dynamically load position-independent executable"
msgstr "немагчыма загрузіць пазіцыйна-незалежную праграму ў дынамічным рэжыме"
#: elf/dl-load.c:1285
#: elf/dl-load.c:1335
msgid "shared object cannot be dlopen()ed"
msgstr "супольны аб'ект немагчыма адкрыць праз dlopen()"
#: elf/dl-load.c:1298
#: elf/dl-load.c:1347
msgid "cannot allocate memory for program header"
msgstr "немагчыма выдзеліць памяць для загалоўку праграмы"
#: elf/dl-load.c:1323
#: elf/dl-load.c:1377
msgid "cannot enable executable stack as shared object requires"
msgstr "не ўдалося ўключыць выканальны стэк, як патрабуе супольны аб'ект"
#: elf/dl-load.c:1351
#: elf/dl-load.c:1401
msgid "cannot close file descriptor"
msgstr "немагчыма закрыць дэскрыптар файла"
#: elf/dl-load.c:1594
#: elf/dl-load.c:1647
msgid "file too short"
msgstr "файл закароткі"
#: elf/dl-load.c:1628
#: elf/dl-load.c:1681
msgid "invalid ELF header"
msgstr "няправільны загаловак ELF"
#: elf/dl-load.c:1645
#: elf/dl-load.c:1698
msgid "ELF file data encoding not big-endian"
msgstr "кадаванне даных файла ELF не big-endian"
#: elf/dl-load.c:1647
#: elf/dl-load.c:1700
msgid "ELF file data encoding not little-endian"
msgstr "кадаванне даных файла ELF не little-endian"
#: elf/dl-load.c:1651
#: elf/dl-load.c:1704
msgid "ELF file version ident does not match current one"
msgstr "ідэнтыфікатар версіі файла ELF не адпавядае актуальнай версіі"
#: elf/dl-load.c:1655
#: elf/dl-load.c:1708
msgid "ELF file OS ABI invalid"
msgstr "няправільны ABI сістэмы файла ELF"
#: elf/dl-load.c:1658
#: elf/dl-load.c:1711
msgid "ELF file ABI version invalid"
msgstr "Няправільная версія ABI ELF файла"
#: elf/dl-load.c:1661
#: elf/dl-load.c:1714
msgid "nonzero padding in e_ident"
msgstr "дапаўненне ў e_ident ненулявое"
#: elf/dl-load.c:1664
#: elf/dl-load.c:1717
msgid "internal error"
msgstr "унутраная памылка"
#: elf/dl-load.c:1671
#: elf/dl-load.c:1724
msgid "ELF file version does not match current one"
msgstr "версія файла ELF не адпавядае актуальнай версіі"
#: elf/dl-load.c:1685
#: elf/dl-load.c:1738
msgid "only ET_DYN and ET_EXEC can be loaded"
msgstr "можна загрузіць толькі ET_DYN і ET_EXEC"
#: elf/dl-load.c:1690
#: elf/dl-load.c:1743
msgid "ELF file's phentsize not the expected size"
msgstr "phentsize файла ELF нечаканага памеру"
#: elf/dl-load.c:2179
#: elf/dl-load.c:2222
msgid "wrong ELF class: ELFCLASS64"
msgstr "няправільны клас ELF: ELFCLASS64"
#: elf/dl-load.c:2180
#: elf/dl-load.c:2223
msgid "wrong ELF class: ELFCLASS32"
msgstr "няправільны клас ELF: ELFCLASS32"
#: elf/dl-load.c:2183
#: elf/dl-load.c:2226
msgid "cannot open shared object file"
msgstr "не ўдалося адкрыць супольны аб'ектны файл"
#: elf/dl-load.h:126
#: elf/dl-load.h:249
msgid "failed to map segment from shared object"
msgstr "не ўдалося загрузіць сегмент з супольнага аб'екта"
#: elf/dl-load.h:128
#: elf/dl-load.h:251
msgid "cannot change memory protections"
msgstr "не ўдалося змяніць абарону памяці"
#: elf/dl-load.h:130
#: elf/dl-load.h:253
msgid "cannot map zero-fill pages"
msgstr "запоўненыя нулямі старонкі нельга адлюстроўваць"
@@ -647,40 +648,40 @@ msgstr "не ўдалося пашырыць глабальную прастор
msgid "TLS generation counter wrapped! Please report this."
msgstr "Лічыльнік генерацыі TLS перапоўнены! Калі ласка, паведаміце аб гэтым."
#: elf/dl-open.c:717
#: elf/dl-open.c:729
msgid "cannot allocate address lookup data"
msgstr "не ўдалося размясціць даныя пошуку адрасоў"
#: elf/dl-open.c:817
#: elf/dl-open.c:816
msgid "invalid mode for dlopen()"
msgstr "няправільны рэжым для dlopen()"
#: elf/dl-open.c:834
#: elf/dl-open.c:833
msgid "no more namespaces available for dlmopen()"
msgstr "для dlmopen() больш няма прастораў назваў"
#: elf/dl-open.c:859
#: elf/dl-open.c:858
msgid "invalid target namespace in dlmopen()"
msgstr "няправільная прастора назваў прызначэння ў dlmopen()"
#: elf/dl-reloc.c:140
#: elf/dl-reloc.c:139
msgid "cannot allocate memory in static TLS block"
msgstr "немагчыма размеркаваць памяць ў статычным блоку TLS"
#: elf/dl-reloc.c:283
#: elf/dl-reloc.c:261
msgid "cannot make segment writable for relocation"
msgstr "нельга зрабіць сегмент запісвальным для рэлакацыі"
#: elf/dl-reloc.c:313
#: elf/dl-reloc.c:311
#, c-format
msgid "%s: out of memory to store relocation results for %s\n"
msgstr "%s: недастаткова памяці, каб захаваць вынікі рэлакацыі для %s\n"
#: elf/dl-reloc.c:328
#: elf/dl-reloc.c:326
msgid "cannot restore segment prot after reloc"
msgstr "не ўдалося аднавіць ахову сегмента пасля перамяшчэння"
#: elf/dl-reloc.c:366
#: elf/dl-reloc.c:364
msgid "cannot apply additional memory protection after relocation"
msgstr "не ўдалося ўжыць дадатковую ахову памяці пасля перамяшчэння"
@@ -688,7 +689,7 @@ msgstr "не ўдалося ўжыць дадатковую ахову памя
msgid "RTLD_NEXT used in code not dynamically loaded"
msgstr "RTLD_NEXT выкарыстаны ў кодзе, які не загружаны дынамічна"
#: elf/dl-tls.c:1217
#: elf/dl-tls.c:1279
msgid "cannot create TLS data structures"
msgstr "немагчыма стварыць структуры даных TLS"
@@ -704,216 +705,212 @@ msgstr "не ўдалося выдзеліць памяць для табліц
msgid "DT_RELR without GLIBC_ABI_DT_RELR dependency"
msgstr "DT_RELR без залежнасці GLIBC_ABI_DT_RELR"
#: elf/ldconfig.c:124
msgid "Print cache"
msgstr "Надрукаваць кэш"
#: elf/ldconfig.c:125
msgid "Generate verbose messages"
msgstr "Стварае шматслоўныя паведамленьні"
#: elf/ldconfig.c:126
msgid "Don't build cache"
msgstr "Не будаваць кэш"
#: elf/ldconfig.c:127
msgid "Don't update symbolic links"
msgstr "Не абнаўляць сімвалічныя спасылкі"
#: elf/ldconfig.c:128
msgid "Change to and use ROOT as root directory"
msgstr "Перайсці ў КОРАНЬ і ўжыць яго як каранёвы каталог"
#: elf/ldconfig.c:128
msgid "ROOT"
msgstr "КОРАНЬ"
#: elf/ldconfig.c:129
msgid "CACHE"
msgstr "КЭШ"
#: elf/ldconfig.c:129
msgid "Use CACHE as cache file"
msgstr "Ужываць КЭШ у якасці кэш-файла"
#: elf/ldconfig.c:130
msgid "CONF"
msgstr "КАНФ"
#: elf/ldconfig.c:130
msgid "Use CONF as configuration file"
msgstr "Ужыць КАНФ у якасці канфігурацыйнага файла"
#: elf/ldconfig.c:131
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "Апрацоўваць толькі каталогі, указаныя ў камандным радку. Не будаваць кэш"
#: elf/ldconfig.c:132
msgid "Manually link individual libraries."
msgstr "Злучыць асобныя бібліятэкі ўручную з"
#: elf/ldconfig.c:133
msgid "FORMAT"
msgstr "ФАРМАТ"
#: elf/ldconfig.c:133
msgid "Format to use: new (default), old, or compat"
msgstr "Фармат для выкарыстання: новы (па змаўчанні), стары або сумяшчальны"
#: elf/ldconfig.c:134
msgid "Ignore auxiliary cache file"
msgstr "Ігнараваць дапаможны кэш-файл"
#: elf/ldconfig.c:142
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr "Cканфігураваць сувязі падчас выканання для дынамічнага лінкера"
#: elf/ldconfig.c:276
#, c-format
msgid "Path `%s' given more than once"
msgstr "Шлях `%s' пададзены некалькі разоў"
#: elf/ldconfig.c:277
#, c-format
msgid "(from %s:%d and %s:%d)\n"
msgstr "(з %s:%d і %s:%d)\n"
#: elf/ldconfig.c:309 elf/ldconfig.c:350
#, c-format
msgid "Could not form glibc-hwcaps path"
msgstr "Не ўдалося сфармаваць шлях glibc-hwcaps"
#: elf/ldconfig.c:323
#, c-format
msgid "Listing directory %s"
msgstr "Прагляд каталога %s"
#: elf/ldconfig.c:405
#, c-format
msgid "Can't stat %s"
msgstr "Немагчыма зрабіць stat %s"
#: elf/ldconfig.c:486
#, c-format
msgid "Can't stat %s\n"
msgstr "Немагчыма зрабіць stat %s\n"
#: elf/ldconfig.c:496
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s - гэта не сімвальная спасылка\n"
#: elf/ldconfig.c:515
#, c-format
msgid "Can't unlink %s"
msgstr "Немагчыма зрабіць unlink %s"
#: elf/ldconfig.c:521
#, c-format
msgid "Can't link %s to %s"
msgstr "Немагчыма зрабіць спасылку %s на %s"
#: elf/ldconfig.c:527
msgid " (changed)\n"
msgstr " (зьменена)\n"
#: elf/ldconfig.c:529
msgid " (SKIPPED)\n"
msgstr " (ПРАПУШЧАНА)\n"
#: elf/ldconfig.c:584
#, c-format
msgid "Can't find %s"
msgstr "Немагчыма знайсці %s"
#: elf/ldconfig.c:600 elf/ldconfig.c:759 elf/ldconfig.c:826
#, c-format
msgid "Cannot lstat %s"
msgstr "Немагчыма зрабіць lstat %s"
#: elf/ldconfig.c:606
#, c-format
msgid "Ignored file %s since it is not a regular file."
msgstr "Файл %s праігнараваны, бо ён не ёсць звычайным файлам."
#: elf/ldconfig.c:614
#, c-format
msgid "No link created since soname could not be found for %s"
msgstr "Спасылка не створаная, бо не знойдзены soname для %s"
#: elf/ldconfig.c:700
#, c-format
msgid " (from %s:%d)\n"
msgstr " (з %s:%d)\n"
#: elf/ldconfig.c:715
#, c-format
msgid "Can't open directory %s"
msgstr "Немагчыма адкрыць каталог %s"
#: elf/ldconfig.c:742 elf/ldconfig.c:747
#, c-format
msgid "Could not form library path"
msgstr "Не атрымалася сфармаваць шлях да бібліятэкі"
#: elf/ldconfig.c:776 elf/ldconfig.c:814 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "Файл уводу %s не адшуканы.\n"
#: elf/ldconfig.c:783
#, c-format
msgid "Cannot stat %s"
msgstr "Немагчыма зрабіць stat %s"
#: elf/ldconfig.c:902
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "libc6-бібліятэка %s у неадпаведным каталогу"
#: elf/ldconfig.c:921
#, c-format
msgid "libraries %s and %s in directory %s have same soname but different type."
msgstr "бібліятэкі %s і %s у каталогу %s маюць аднолькавы soname, але адрозныя тыпы."
#: elf/ldconfig.c:1050
#: elf/ldconfig-parse.c:90
#, c-format
msgid "Warning: ignoring configuration file that cannot be opened: %s"
msgstr "Папярэджаньне: ігнаруецца канфігурацыйны файл, які немагчыма адкрыць: %s"
#: elf/ldconfig.c:1098
#, c-format
msgid "%s:%u: hwcap directive ignored"
msgstr "%s:%u: дырэктыва hwcap ігнаруецца"
#: elf/ldconfig.c:1117
#: elf/ldconfig-parse.c:156
#, c-format
msgid "need absolute file name for configuration file when using -r"
msgstr "пры ўжыванні -r патрэбна абсалютная назва канфігурацыйнага файла"
#: elf/ldconfig.c:1124 locale/programs/xasprintf.c:31
#: elf/ldconfig-parse.c:163 locale/programs/xasprintf.c:31
#: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
#: posix/getconf.c:503 posix/getconf.c:745
#, c-format
msgid "memory exhausted"
msgstr "памяць вычарпана"
#: elf/ldconfig.c:1157
#: elf/ldconfig-parse.c:196
#, c-format
msgid "%s:%u: cannot read directory %s"
msgstr "%s:%u: немагчыма прачытаць каталог %s"
#: elf/ldconfig.c:1195
#: elf/ldconfig.c:132
msgid "Print cache"
msgstr "Надрукаваць кэш"
#: elf/ldconfig.c:133
msgid "Generate verbose messages"
msgstr "Стварае шматслоўныя паведамленьні"
#: elf/ldconfig.c:134
msgid "Don't build cache"
msgstr "Не будаваць кэш"
#: elf/ldconfig.c:135
msgid "Don't update symbolic links"
msgstr "Не абнаўляць сімвалічныя спасылкі"
#: elf/ldconfig.c:136
msgid "Change to and use ROOT as root directory"
msgstr "Перайсці ў КОРАНЬ і ўжыць яго як каранёвы каталог"
#: elf/ldconfig.c:136
msgid "ROOT"
msgstr "КОРАНЬ"
#: elf/ldconfig.c:137
msgid "CACHE"
msgstr "КЭШ"
#: elf/ldconfig.c:137
msgid "Use CACHE as cache file"
msgstr "Ужываць КЭШ у якасці кэш-файла"
#: elf/ldconfig.c:138
msgid "CONF"
msgstr "КАНФ"
#: elf/ldconfig.c:140
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "Апрацоўваць толькі каталогі, указаныя ў камандным радку. Не будаваць кэш"
#: elf/ldconfig.c:141
msgid "Manually link individual libraries."
msgstr "Злучыць асобныя бібліятэкі ўручную з"
#: elf/ldconfig.c:142
msgid "FORMAT"
msgstr "ФАРМАТ"
#: elf/ldconfig.c:142
msgid "Format to use: new (default), old, or compat"
msgstr "Фармат для выкарыстання: новы (па змаўчанні), стары або сумяшчальны"
#: elf/ldconfig.c:143
msgid "Ignore auxiliary cache file"
msgstr "Ігнараваць дапаможны кэш-файл"
#: elf/ldconfig.c:151
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr "Cканфігураваць сувязі падчас выканання для дынамічнага лінкера"
#: elf/ldconfig.c:288
#, c-format
msgid "Path `%s' given more than once"
msgstr "Шлях `%s' пададзены некалькі разоў"
#: elf/ldconfig.c:289
#, c-format
msgid "(from %s:%d and %s:%d)\n"
msgstr "(з %s:%d і %s:%d)\n"
#: elf/ldconfig.c:321 elf/ldconfig.c:362
#, c-format
msgid "Could not form glibc-hwcaps path"
msgstr "Не ўдалося сфармаваць шлях glibc-hwcaps"
#: elf/ldconfig.c:335
#, c-format
msgid "Listing directory %s"
msgstr "Прагляд каталога %s"
#: elf/ldconfig.c:417
#, c-format
msgid "Can't stat %s"
msgstr "Немагчыма зрабіць stat %s"
#: elf/ldconfig.c:442
#, c-format
msgid "%s:%u: hwcap directive ignored"
msgstr "%s:%u: дырэктыва hwcap ігнаруецца"
#: elf/ldconfig.c:511
#, c-format
msgid "Can't stat %s\n"
msgstr "Немагчыма зрабіць stat %s\n"
#: elf/ldconfig.c:521
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s - гэта не сімвальная спасылка\n"
#: elf/ldconfig.c:540
#, c-format
msgid "Can't unlink %s"
msgstr "Немагчыма зрабіць unlink %s"
#: elf/ldconfig.c:546
#, c-format
msgid "Can't link %s to %s"
msgstr "Немагчыма зрабіць спасылку %s на %s"
#: elf/ldconfig.c:552
msgid " (changed)\n"
msgstr " (зьменена)\n"
#: elf/ldconfig.c:554
msgid " (SKIPPED)\n"
msgstr " (ПРАПУШЧАНА)\n"
#: elf/ldconfig.c:609
#, c-format
msgid "Can't find %s"
msgstr "Немагчыма знайсці %s"
#: elf/ldconfig.c:625 elf/ldconfig.c:784 elf/ldconfig.c:851
#, c-format
msgid "Cannot lstat %s"
msgstr "Немагчыма зрабіць lstat %s"
#: elf/ldconfig.c:631
#, c-format
msgid "Ignored file %s since it is not a regular file."
msgstr "Файл %s праігнараваны, бо ён не ёсць звычайным файлам."
#: elf/ldconfig.c:639
#, c-format
msgid "No link created since soname could not be found for %s"
msgstr "Спасылка не створаная, бо не знойдзены soname для %s"
#: elf/ldconfig.c:725
#, c-format
msgid " (from %s:%d)\n"
msgstr " (з %s:%d)\n"
#: elf/ldconfig.c:740
#, c-format
msgid "Can't open directory %s"
msgstr "Немагчыма адкрыць каталог %s"
#: elf/ldconfig.c:767 elf/ldconfig.c:772
#, c-format
msgid "Could not form library path"
msgstr "Не атрымалася сфармаваць шлях да бібліятэкі"
#: elf/ldconfig.c:801 elf/ldconfig.c:839 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "Файл уводу %s не адшуканы.\n"
#: elf/ldconfig.c:808
#, c-format
msgid "Cannot stat %s"
msgstr "Немагчыма зрабіць stat %s"
#: elf/ldconfig.c:927
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "libc6-бібліятэка %s у неадпаведным каталогу"
#: elf/ldconfig.c:946
#, c-format
msgid "libraries %s and %s in directory %s have same soname but different type."
msgstr "бібліятэкі %s і %s у каталогу %s маюць аднолькавы soname, але адрозныя тыпы."
#: elf/ldconfig.c:1070
#, c-format
msgid "relative path `%s' used to build cache"
msgstr "пры стварэнні кэшу ўжыты адносны шлях `%s'"
#: elf/ldconfig.c:1217
#: elf/ldconfig.c:1092
#, c-format
msgid "Can't chdir to /"
msgstr "Немагчыма перайсці ў каталог /"
#: elf/ldconfig.c:1258
#: elf/ldconfig.c:1136
#, c-format
msgid "Can't open cache file directory %s\n"
msgstr "Немагчыма адкрыць каталог кэш-файла %s\n"
@@ -1209,15 +1206,11 @@ msgstr "Абавязковыя аргументы для доўгіх опцыя
msgid "%s: option requires an argument -- '%s'\\n"
msgstr "%s: опцыя патрабуе аргумента -- '%s'\\n"
#: elf/sotruss.sh:61
msgid "%s: option is ambiguous; possibilities:"
msgstr "%s: опцыя неадназначная; магчымыя:"
#: elf/sotruss.sh:79
#: elf/sotruss.sh:80
msgid "Written by %s.\\n"
msgstr "Аўтар %s.\\n"
#: elf/sotruss.sh:86
#: elf/sotruss.sh:87
msgid ""
"Usage: %s [-ef] [-F FROMLIST] [-o FILENAME] [-T TOLIST] [--exit]\n"
"\t [--follow] [--from FROMLIST] [--output FILENAME] [--to TOLIST]\n"
@@ -1229,7 +1222,7 @@ msgstr ""
"\t [--help] [--usage] [--version] [--]\n"
"\t ПРАГРАМА [ОПЦЫЯ-ПРАГРАМЫ...]\\n"
#: elf/sotruss.sh:134
#: elf/sotruss.sh:135
msgid "%s: unrecognized option '%c%s'\\n"
msgstr "%s: невядомая опцыя '%c%s'\\n%s: unrecognized option '%c%s'\\n"
@@ -3271,12 +3264,12 @@ msgstr "yp_update: немагчыма пераўтварыць вузел у с
msgid "yp_update: cannot get server address\n"
msgstr "yp_update: немагчыма атрымаць адрэсу паслужніку\n"
#: nscd/aicache.c:68 nscd/hstcache.c:451
#: nscd/aicache.c:77 nscd/hstcache.c:451
#, c-format
msgid "Haven't found \"%s\" in hosts cache!"
msgstr "Не знойдзены \"%s\" у кэшы вузлоў!"
#: nscd/aicache.c:70 nscd/hstcache.c:453
#: nscd/aicache.c:79 nscd/hstcache.c:453
#, c-format
msgid "Reloading \"%s\" in hosts cache!"
msgstr "Перазагрузка \"%s\" у кэш хостаў!"
@@ -3575,7 +3568,7 @@ msgstr "getgrouplist не ўдалося"
msgid "setgroups failed"
msgstr "setgroups не ўдалося"
#: nscd/grpcache.c:384 nscd/hstcache.c:401 nscd/initgrcache.c:377
#: nscd/grpcache.c:384 nscd/hstcache.c:402 nscd/initgrcache.c:377
#: nscd/pwdcache.c:362 nscd/servicescache.c:309
#, c-format
msgid "short write in %s: %s"
@@ -3674,7 +3667,7 @@ msgstr "Выкарыстоўваць асабісты кэш для кожнаг
msgid "Name Service Cache Daemon."
msgstr "Дэман кэша службы імёнаў."
#: nscd/nscd.c:158 nss/getent.c:995 nss/makedb.c:208
#: nscd/nscd.c:158 nss/getent.c:1014 nss/makedb.c:208
#, c-format
msgid "wrong number of arguments"
msgstr "няправільная колькасць аргументаў"
@@ -3965,12 +3958,12 @@ msgstr "prctl(KEEPCAPS) не атрымалася"
msgid "Failed to initialize drop of capabilities"
msgstr "Не ўдалося ініцыялізаваць скарачэнне магчымасцяў"
#: nss/getent.c:154 nss/getent.c:466 nss/getent.c:513
#: nss/getent.c:158 nss/getent.c:481 nss/getent.c:528
#, c-format
msgid "Enumeration not supported on %s\n"
msgstr "Пералічэньне непадтрымліваецца на %s\n"
#: nss/getent.c:1005
#: nss/getent.c:1024
#, c-format
msgid "Unknown database: %s\n"
msgstr "Невядомая база даньняў: %s\n"
@@ -4015,7 +4008,7 @@ msgstr "Памылка пошуку назвы вузла"
msgid "Unknown server error"
msgstr "Невядомая памылка паслужніку"
#: stdio-common/psiginfo-data.h:46 timezone/zdump.c:445 timezone/zic.c:652
#: stdio-common/psiginfo-data.h:46 timezone/zdump.c:424 timezone/zic.c:831
msgid "I/O error"
msgstr "памылка У/В"
@@ -4320,11 +4313,11 @@ msgstr "Ня той від носьбіта"
msgid "cannot map pages for fdesc table"
msgstr "не ўдалося загрузіць старонкі для табліцы fdesc"
#: sysdeps/hppa/dl-fptr.c:214
#: sysdeps/hppa/dl-fptr.c:212
msgid "cannot map pages for fptr table"
msgstr "не ўдалося загрузіць старонкі для табліцы fptr"
#: sysdeps/hppa/dl-fptr.c:243
#: sysdeps/hppa/dl-fptr.c:240
msgid "internal error: symidx out of range of fptr table"
msgstr "унутраная памылка: symidx па-за дыяпазонам у табліцы fptr"
@@ -4349,57 +4342,37 @@ msgstr "ai_socktype непадтрымліваецца"
msgid "%s is for unknown machine %d.\n"
msgstr "%s для невядомае машыны %d.\n"
#: timezone/zic.c:463
#: timezone/zic.c:559
#, c-format
msgid "%s: Memory exhausted: %s\n"
msgstr "%s: памяць вычарпана: %s\n"
#: timezone/zic.c:588
#: timezone/zic.c:687
msgid "standard input"
msgstr "стандартны ўвод"
#: timezone/zic.c:639
#: timezone/zic.c:739
#, c-format
msgid "warning: "
msgstr "увага: "
#: timezone/zic.c:1025
#, c-format
msgid "%s: More than one -d option specified\n"
msgstr "%s: больш чым адзін выбар -d зададзены\n"
#: timezone/zic.c:1036
#, c-format
msgid "%s: More than one -l option specified\n"
msgstr "%s: больш чым адзін выбар -l зададзены\n"
#: timezone/zic.c:1047
#, c-format
msgid "%s: More than one -p option specified\n"
msgstr "%s: больш чым адзін выбар -p зададзены\n"
#: timezone/zic.c:1071
#, c-format
msgid "%s: More than one -L option specified\n"
msgstr "%s: больш чым адзін выбар -L зададзены\n"
#: timezone/zic.c:1688
#: timezone/zic.c:1975
msgid "line too long"
msgstr "радок занадта вялікі"
#: timezone/zic.c:1709
#: timezone/zic.c:1996
#, c-format
msgid "%s: Can't open %s: %s\n"
msgstr "%s: немагчыма адчыніць %s: %s\n"
#: timezone/zic.c:1839
#: timezone/zic.c:2123
msgid "invalid saved time"
msgstr "нерэчаісны захаваны час"
#: timezone/zic.c:1883
#: timezone/zic.c:2167
msgid "wrong number of fields on Zone line"
msgstr "памылковы нумар палёў у радку поясу (Zone)"
#: timezone/zic.c:1956
#: timezone/zic.c:2241
msgid "invalid abbreviation format"
msgstr "нерэчаісны фармат скарачэньня"
+403 -496
View File
File diff suppressed because it is too large Load Diff
+391 -458
View File
File diff suppressed because it is too large Load Diff
+403 -496
View File
File diff suppressed because it is too large Load Diff
+268 -303
View File
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libc-2.11.1\n"
"POT-Creation-Date: 2026-01-19 16:22+0100\n"
"POT-Creation-Date: 2026-07-01 10:52+0900\n"
"PO-Revision-Date: 2010-11-01 10:37+0100\n"
"Last-Translator: Keld Simonsen <keld@keldix.com>\n"
"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
@@ -127,11 +127,11 @@ msgstr ""
"[UDFIL [INDFIL]...]"
#: catgets/gencat.c:247 debug/pcprofiledump.c:235 debug/xtrace.sh:63
#: elf/ldconfig.c:232 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:75
#: elf/ldconfig.c:244 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:76
#: elf/sprof.c:389 iconv/iconv_prog.c:391 iconv/iconvconfig.c:397
#: locale/programs/locale.c:292 locale/programs/localedef.c:459
#: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
#: nscd/nscd.c:521 nss/getent.c:92 nss/makedb.c:387 posix/getconf.c:533
#: nscd/nscd.c:521 nss/getent.c:96 nss/makedb.c:387 posix/getconf.c:533
#, c-format
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -144,10 +144,10 @@ msgstr ""
"TIL NOGEN SPECIEL OPGAVE.\n"
#: catgets/gencat.c:252 debug/pcprofiledump.c:240 debug/xtrace.sh:67
#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: elf/ldconfig.c:249 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: iconv/iconvconfig.c:402 locale/programs/locale.c:297
#: locale/programs/localedef.c:464 malloc/memusage.sh:74
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:101 nss/makedb.c:392
#: posix/getconf.c:538
#, c-format
msgid "Written by %s.\n"
@@ -327,43 +327,43 @@ msgstr "ugyldig tilstand"
msgid "invalid mode parameter"
msgstr "ugyldig tilstandsparameter"
#: elf/cache.c:296 elf/ldconfig.c:1238
#: elf/cache.c:357 elf/ldconfig.c:1116
#, c-format
msgid "Can't open cache file %s\n"
msgstr "Kan ikke åbne hurtigbufferfil %s\n"
#: elf/cache.c:310
#: elf/cache.c:371
#, c-format
msgid "mmap of cache file failed.\n"
msgstr "mmap af bufferfil fejlede\n"
#: elf/cache.c:314 elf/cache.c:328 elf/cache.c:339
#: elf/cache.c:375 elf/cache.c:389 elf/cache.c:400
#, c-format
msgid "File is not a cache file.\n"
msgstr "Fil er ikke en bufferfil.\n"
#: elf/cache.c:368 elf/cache.c:383
#: elf/cache.c:429 elf/cache.c:444
#, c-format
msgid "%d libs found in cache `%s'\n"
msgstr "%d libs fundet i hurtigbuffer '%s'\n"
#: elf/cache.c:685
#: elf/cache.c:783
#, c-format
msgid "Can't create temporary cache file %s"
msgstr "Kan ikke oprette midlertidig hurtigbufferfil %s"
#: elf/cache.c:693 elf/cache.c:703 elf/cache.c:707 elf/cache.c:712
#: elf/cache.c:731
#: elf/cache.c:791 elf/cache.c:801 elf/cache.c:805 elf/cache.c:810
#: elf/cache.c:829
#, c-format
msgid "Writing of cache data failed"
msgstr "Udskrivning af bufferdata fejlede"
#: elf/cache.c:726
#: elf/cache.c:824
#, c-format
msgid "Changing access rights of %s to %#o failed"
msgstr "Ændring af adgangsrettigheder for %s til %#o fejlede"
#: elf/cache.c:735
#: elf/cache.c:833
#, c-format
msgid "Renaming of %s to %s failed"
msgstr "Omdøbning af %s til %s fejlede"
@@ -376,34 +376,34 @@ msgstr "fejl ved indlæsning af delte biblioteker"
msgid "DYNAMIC LINKER BUG!!!"
msgstr "FEJL I DYNAMISK LÆNKER!!!"
#: elf/dl-close.c:363 elf/dl-open.c:297
#: elf/dl-close.c:368 elf/dl-open.c:297
msgid "cannot create scope list"
msgstr "kan ikke oprette omfangsliste"
#: elf/dl-close.c:790
#: elf/dl-close.c:795
msgid "shared object not open"
msgstr "delt objekt er ikke åbent"
#: elf/dl-deps.c:96
#: elf/dl-deps.c:103
msgid "DST not allowed in SUID/SGID programs"
msgstr "DST er ikke tilladt i SUIT/SGID-programmer"
#: elf/dl-deps.c:109
msgid "empty dynamic string token substitution"
msgstr "tom dynamisk strengelement-erstatning"
#: elf/dl-deps.c:115
#: elf/dl-deps.c:224 elf/dl-deps.c:286
#, c-format
msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n"
msgstr ""
"kan ikke indlæse ekstra \"%s\" på grund af at erstatning af\n"
"\"dynamic string token\" er tom\n"
#: elf/dl-deps.c:427
#: elf/dl-deps.c:283
msgid "empty dynamic string token substitution"
msgstr "tom dynamisk strengelement-erstatning"
#: elf/dl-deps.c:449
msgid "cannot allocate dependency list"
msgstr "kan ikke allokere afhængighedsliste"
#: elf/dl-deps.c:467
#: elf/dl-deps.c:489
msgid "cannot allocate symbol search list"
msgstr "kan ikke allokere symbolsøgningsliste"
@@ -411,127 +411,128 @@ msgstr "kan ikke allokere symbolsøgningsliste"
msgid "cannot create capability list"
msgstr "kan ikke oprette egenskabsliste"
#: elf/dl-load.c:424
#: elf/dl-load.c:408
msgid "cannot allocate name record"
msgstr "kan ikke allokere navnepost"
#: elf/dl-load.c:510 elf/dl-load.c:623 elf/dl-load.c:717 elf/dl-load.c:814
msgid "cannot create cache for search path"
msgstr "Kan ikke oprette buffer for søgesti"
#: elf/dl-load.c:606
#: elf/dl-load.c:595
msgid "cannot create RUNPATH/RPATH copy"
msgstr "kan ikke oprette kopi af RUNPATH/RPATH"
#: elf/dl-load.c:703
#: elf/dl-load.c:612 elf/dl-load.c:621 elf/dl-load.c:712 elf/dl-load.c:810
#: elf/dl-load.c:830
msgid "cannot create cache for search path"
msgstr "Kan ikke oprette buffer for søgesti"
#: elf/dl-load.c:698
msgid "cannot create search path array"
msgstr "kan ikke oprette tabel over søgestier"
#: elf/dl-load.c:978
msgid "cannot stat shared object"
msgstr "kan ikke tage status på delt objekt"
#: elf/dl-load.c:1071 elf/dl-load.c:2160
msgid "cannot create shared object descriptor"
msgstr "kan ikke oprette delt objektbeskriver"
#: elf/dl-load.c:1090 elf/dl-load.c:1594 elf/dl-load.c:1704
#: elf/dl-load.c:1000 elf/dl-load.c:1354 elf/dl-load.c:1647
msgid "cannot read file data"
msgstr "kan ikke indlæse fildata"
#: elf/dl-load.c:1224
#: elf/dl-load.c:1151
msgid "cannot stat shared object"
msgstr "kan ikke tage status på delt objekt"
#: elf/dl-load.c:1246 elf/dl-load.c:2203
msgid "cannot create shared object descriptor"
msgstr "kan ikke oprette delt objektbeskriver"
#: elf/dl-load.c:1278
msgid "object file has no loadable segments"
msgstr "objektfil har ingen indlæsbare segmenter"
#: elf/dl-load.c:1241
#: elf/dl-load.c:1291
msgid "cannot dynamically load executable"
msgstr "kan ikke indlæse udførbare programmer dynamisk"
#: elf/dl-load.c:1248
#: elf/dl-load.c:1298
msgid "object file has no dynamic section"
msgstr "objektfil har ingen dynamisk sektion"
#: elf/dl-load.c:1285
#: elf/dl-load.c:1335
msgid "shared object cannot be dlopen()ed"
msgstr "delt objekt kan ikke åbnes med dlopen()"
#: elf/dl-load.c:1298
#: elf/dl-load.c:1347
msgid "cannot allocate memory for program header"
msgstr "kan ikke allokere hukommelse til programhoved"
#: elf/dl-load.c:1323
#: elf/dl-load.c:1377
msgid "cannot enable executable stack as shared object requires"
msgstr "kan ikke oprette udførbar stak som kræves af delt objekt"
#: elf/dl-load.c:1351
#: elf/dl-load.c:1401
msgid "cannot close file descriptor"
msgstr "kan ikke lukke filbeskriver"
#: elf/dl-load.c:1594
#: elf/dl-load.c:1647
msgid "file too short"
msgstr "for kort fil"
#: elf/dl-load.c:1628
#: elf/dl-load.c:1681
msgid "invalid ELF header"
msgstr "ugyldigt ELF-hoved"
#: elf/dl-load.c:1645
#: elf/dl-load.c:1698
msgid "ELF file data encoding not big-endian"
msgstr "Kodning for ELF-fildata er ikke \"big-endian\""
#: elf/dl-load.c:1647
#: elf/dl-load.c:1700
msgid "ELF file data encoding not little-endian"
msgstr "Kodning for ELF-fildata er ikke \"little-endian\""
#: elf/dl-load.c:1651
#: elf/dl-load.c:1704
msgid "ELF file version ident does not match current one"
msgstr "ELF-filens version-identitet passer ikke med den aktuelle"
#: elf/dl-load.c:1655
#: elf/dl-load.c:1708
msgid "ELF file OS ABI invalid"
msgstr "ELF-filens OS ABI er ugyldigt"
#: elf/dl-load.c:1658
#: elf/dl-load.c:1711
msgid "ELF file ABI version invalid"
msgstr "ELF-filens ABI-version er ugyldig"
#: elf/dl-load.c:1664
#: elf/dl-load.c:1717
msgid "internal error"
msgstr "intern fejl"
#: elf/dl-load.c:1671
#: elf/dl-load.c:1724
msgid "ELF file version does not match current one"
msgstr "ELF-filens version passer ikke med den aktuelle"
#: elf/dl-load.c:1685
#: elf/dl-load.c:1738
msgid "only ET_DYN and ET_EXEC can be loaded"
msgstr "kun ET_DYN og ET_EXEC kan indlæses"
#: elf/dl-load.c:1690
#: elf/dl-load.c:1743
msgid "ELF file's phentsize not the expected size"
msgstr "ELF-filens 'phentsize' er ikke den forventede størrelse"
#: elf/dl-load.c:2179
#: elf/dl-load.c:2222
msgid "wrong ELF class: ELFCLASS64"
msgstr "forkert ELF-klasse: ELFCLASS64"
#: elf/dl-load.c:2180
#: elf/dl-load.c:2223
msgid "wrong ELF class: ELFCLASS32"
msgstr "forkert ELF-klasse: ELFCLASS32"
#: elf/dl-load.c:2183
#: elf/dl-load.c:2226
msgid "cannot open shared object file"
msgstr "kan ikke åbne delt objektfil"
#: elf/dl-load.h:126
#: elf/dl-load.h:249
msgid "failed to map segment from shared object"
msgstr "kunne ikke afbilde segment fra delt objekt'"
#: elf/dl-load.h:128
#: elf/dl-load.h:251
msgid "cannot change memory protections"
msgstr "kan ikke ændre hukommelsesbeskyttelser"
#: elf/dl-load.h:130
#: elf/dl-load.h:253
msgid "cannot map zero-fill pages"
msgstr "kan ikke mappe nulstil-sider"
@@ -547,36 +548,36 @@ msgstr "kan ikke udvide globalt defineringområde"
msgid "TLS generation counter wrapped! Please report this."
msgstr "Generationstæller for TLS tilbagestillet! Vær sød at indsende fejlrapport."
#: elf/dl-open.c:817
#: elf/dl-open.c:816
msgid "invalid mode for dlopen()"
msgstr "ugyldig modus for dlopen()"
#: elf/dl-open.c:834
#: elf/dl-open.c:833
msgid "no more namespaces available for dlmopen()"
msgstr "ikke flere navnerum tilgængelige for dlmopen()"
#: elf/dl-open.c:859
#: elf/dl-open.c:858
msgid "invalid target namespace in dlmopen()"
msgstr "ugyldigt mål-navnerum for dlmopen()"
#: elf/dl-reloc.c:140
#: elf/dl-reloc.c:139
msgid "cannot allocate memory in static TLS block"
msgstr "Kan ikke tildele hukommelse i statisk TLS-blok"
#: elf/dl-reloc.c:283
#: elf/dl-reloc.c:261
msgid "cannot make segment writable for relocation"
msgstr "kan ikke gøre segment skrivbart for relokering"
#: elf/dl-reloc.c:313
#: elf/dl-reloc.c:311
#, c-format
msgid "%s: out of memory to store relocation results for %s\n"
msgstr "%s: ikke mere hukommelse til at gemme relokeringsresultat for %s\n"
#: elf/dl-reloc.c:328
#: elf/dl-reloc.c:326
msgid "cannot restore segment prot after reloc"
msgstr "kan ikke genskabe segmentbeskyttelse efter flytning"
#: elf/dl-reloc.c:366
#: elf/dl-reloc.c:364
msgid "cannot apply additional memory protection after relocation"
msgstr "kan ikke udføre yderligere hukommelsesbeskyttelser efter flytning"
@@ -584,7 +585,7 @@ msgstr "kan ikke udføre yderligere hukommelsesbeskyttelser efter flytning"
msgid "RTLD_NEXT used in code not dynamically loaded"
msgstr "RTLD_NEXT brugt i kode er ikke dynamisk indlæst"
#: elf/dl-tls.c:1217
#: elf/dl-tls.c:1279
msgid "cannot create TLS data structures"
msgstr "kan ikke oprette datastrukturer for TLS"
@@ -592,173 +593,169 @@ msgstr "kan ikke oprette datastrukturer for TLS"
msgid "cannot allocate version reference table"
msgstr "kan ikke allokere versionsreferencetabel"
#: elf/ldconfig.c:124
msgid "Print cache"
msgstr "Udskriftsbuffer"
#: elf/ldconfig.c:125
msgid "Generate verbose messages"
msgstr "Skriv udførlige meddelelser"
#: elf/ldconfig.c:126
msgid "Don't build cache"
msgstr "Byg ikke hurtigbuffer"
#: elf/ldconfig.c:128
msgid "Change to and use ROOT as root directory"
msgstr "Skift til og brug ROOT som rod-katalog"
#: elf/ldconfig.c:128
msgid "ROOT"
msgstr "ROOT"
#: elf/ldconfig.c:129
msgid "CACHE"
msgstr "CACHE"
#: elf/ldconfig.c:129
msgid "Use CACHE as cache file"
msgstr "Brug CACHE som bufferfil"
#: elf/ldconfig.c:130
msgid "CONF"
msgstr "CONF"
#: elf/ldconfig.c:130
msgid "Use CONF as configuration file"
msgstr "Brug CONF som konfigurationsfil"
#: elf/ldconfig.c:131
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "Kun proces-kataloger angivet på kommandolinjen. Undlad at bygge buffer."
#: elf/ldconfig.c:132
msgid "Manually link individual libraries."
msgstr "Lænk manuelt individuelle biblioteker"
#: elf/ldconfig.c:133
msgid "FORMAT"
msgstr "FORMAT"
#: elf/ldconfig.c:134
msgid "Ignore auxiliary cache file"
msgstr "Ignorér ekstern bufferfil"
#: elf/ldconfig.c:142
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr "Konfigurér kørselsværdier til Dynamisk Lænker"
#: elf/ldconfig.c:276
#, c-format
msgid "Path `%s' given more than once"
msgstr "Stien '%s' givet mere end én gang"
#: elf/ldconfig.c:405
#, c-format
msgid "Can't stat %s"
msgstr "Kan ikke stat() %s"
#: elf/ldconfig.c:486
#, c-format
msgid "Can't stat %s\n"
msgstr "Kan ikke stat() %s\n"
#: elf/ldconfig.c:496
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s er ikke en symbolsk lænke\n"
#: elf/ldconfig.c:515
#, c-format
msgid "Can't unlink %s"
msgstr "Kan ikke aflænke %s"
#: elf/ldconfig.c:521
#, c-format
msgid "Can't link %s to %s"
msgstr "Kan ikke lænke %s til %s"
#: elf/ldconfig.c:527
msgid " (changed)\n"
msgstr " (ændret)\n"
#: elf/ldconfig.c:529
msgid " (SKIPPED)\n"
msgstr " (UDELADT)\n"
#: elf/ldconfig.c:584
#, c-format
msgid "Can't find %s"
msgstr "Kan ikke finde %s"
#: elf/ldconfig.c:600 elf/ldconfig.c:759 elf/ldconfig.c:826
#, c-format
msgid "Cannot lstat %s"
msgstr "Kan ikke lstat %s"
#: elf/ldconfig.c:606
#, c-format
msgid "Ignored file %s since it is not a regular file."
msgstr "Ignorerede filen %s da den ikke er en almindelig fil."
#: elf/ldconfig.c:614
#, c-format
msgid "No link created since soname could not be found for %s"
msgstr "Ingen lænke oprettet da .so-navn ikke kunne findes for %s"
#: elf/ldconfig.c:715
#, c-format
msgid "Can't open directory %s"
msgstr "Kan ikke åbne katalog %s"
#: elf/ldconfig.c:776 elf/ldconfig.c:814 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "Inddatafilen %s ikke fundet\n"
#: elf/ldconfig.c:783
#, c-format
msgid "Cannot stat %s"
msgstr "Kan ikke stat() %s"
#: elf/ldconfig.c:902
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "libc6-bibliotek %s i forkert katalog"
#: elf/ldconfig.c:921
#, c-format
msgid "libraries %s and %s in directory %s have same soname but different type."
msgstr "bibliotekerne %s og %s i kataloget %s har samme .so-navn, men forskellig type"
#: elf/ldconfig.c:1117
#: elf/ldconfig-parse.c:156
#, c-format
msgid "need absolute file name for configuration file when using -r"
msgstr "behøver fuldt filnavn for konfigurationsfil når -r bruges"
#: elf/ldconfig.c:1124 locale/programs/xasprintf.c:31
#: elf/ldconfig-parse.c:163 locale/programs/xasprintf.c:31
#: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
#: posix/getconf.c:503 posix/getconf.c:745
#, c-format
msgid "memory exhausted"
msgstr "hukommelsen opbrugt"
#: elf/ldconfig.c:1157
#: elf/ldconfig-parse.c:196
#, c-format
msgid "%s:%u: cannot read directory %s"
msgstr "%s:%u: kan ikke læse katalog %s"
#: elf/ldconfig.c:1195
#: elf/ldconfig.c:132
msgid "Print cache"
msgstr "Udskriftsbuffer"
#: elf/ldconfig.c:133
msgid "Generate verbose messages"
msgstr "Skriv udførlige meddelelser"
#: elf/ldconfig.c:134
msgid "Don't build cache"
msgstr "Byg ikke hurtigbuffer"
#: elf/ldconfig.c:136
msgid "Change to and use ROOT as root directory"
msgstr "Skift til og brug ROOT som rod-katalog"
#: elf/ldconfig.c:136
msgid "ROOT"
msgstr "ROOT"
#: elf/ldconfig.c:137
msgid "CACHE"
msgstr "CACHE"
#: elf/ldconfig.c:137
msgid "Use CACHE as cache file"
msgstr "Brug CACHE som bufferfil"
#: elf/ldconfig.c:138
msgid "CONF"
msgstr "CONF"
#: elf/ldconfig.c:140
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "Kun proces-kataloger angivet på kommandolinjen. Undlad at bygge buffer."
#: elf/ldconfig.c:141
msgid "Manually link individual libraries."
msgstr "Lænk manuelt individuelle biblioteker"
#: elf/ldconfig.c:142
msgid "FORMAT"
msgstr "FORMAT"
#: elf/ldconfig.c:143
msgid "Ignore auxiliary cache file"
msgstr "Ignorér ekstern bufferfil"
#: elf/ldconfig.c:151
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr "Konfigurér kørselsværdier til Dynamisk Lænker"
#: elf/ldconfig.c:288
#, c-format
msgid "Path `%s' given more than once"
msgstr "Stien '%s' givet mere end én gang"
#: elf/ldconfig.c:417
#, c-format
msgid "Can't stat %s"
msgstr "Kan ikke stat() %s"
#: elf/ldconfig.c:511
#, c-format
msgid "Can't stat %s\n"
msgstr "Kan ikke stat() %s\n"
#: elf/ldconfig.c:521
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s er ikke en symbolsk lænke\n"
#: elf/ldconfig.c:540
#, c-format
msgid "Can't unlink %s"
msgstr "Kan ikke aflænke %s"
#: elf/ldconfig.c:546
#, c-format
msgid "Can't link %s to %s"
msgstr "Kan ikke lænke %s til %s"
#: elf/ldconfig.c:552
msgid " (changed)\n"
msgstr " (ændret)\n"
#: elf/ldconfig.c:554
msgid " (SKIPPED)\n"
msgstr " (UDELADT)\n"
#: elf/ldconfig.c:609
#, c-format
msgid "Can't find %s"
msgstr "Kan ikke finde %s"
#: elf/ldconfig.c:625 elf/ldconfig.c:784 elf/ldconfig.c:851
#, c-format
msgid "Cannot lstat %s"
msgstr "Kan ikke lstat %s"
#: elf/ldconfig.c:631
#, c-format
msgid "Ignored file %s since it is not a regular file."
msgstr "Ignorerede filen %s da den ikke er en almindelig fil."
#: elf/ldconfig.c:639
#, c-format
msgid "No link created since soname could not be found for %s"
msgstr "Ingen lænke oprettet da .so-navn ikke kunne findes for %s"
#: elf/ldconfig.c:740
#, c-format
msgid "Can't open directory %s"
msgstr "Kan ikke åbne katalog %s"
#: elf/ldconfig.c:801 elf/ldconfig.c:839 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "Inddatafilen %s ikke fundet\n"
#: elf/ldconfig.c:808
#, c-format
msgid "Cannot stat %s"
msgstr "Kan ikke stat() %s"
#: elf/ldconfig.c:927
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "libc6-bibliotek %s i forkert katalog"
#: elf/ldconfig.c:946
#, c-format
msgid "libraries %s and %s in directory %s have same soname but different type."
msgstr "bibliotekerne %s og %s i kataloget %s har samme .so-navn, men forskellig type"
#: elf/ldconfig.c:1070
#, c-format
msgid "relative path `%s' used to build cache"
msgstr "relativ søgesti \"%s\" brugt til at bygge hurtigbuffer"
#: elf/ldconfig.c:1217
#: elf/ldconfig.c:1092
#, c-format
msgid "Can't chdir to /"
msgstr "Kan ikke chdir til /"
#: elf/ldconfig.c:1258
#: elf/ldconfig.c:1136
#, c-format
msgid "Can't open cache file directory %s\n"
msgstr "Kan ikke åbne hurtigbuffer-katalog %s\n"
@@ -3194,12 +3191,12 @@ msgstr "yp_update: kan ikke konvertere vært til netnavn\n"
msgid "yp_update: cannot get server address\n"
msgstr "yp_update: kan ikke hente serveradresse\n"
#: nscd/aicache.c:68 nscd/hstcache.c:451
#: nscd/aicache.c:77 nscd/hstcache.c:451
#, c-format
msgid "Haven't found \"%s\" in hosts cache!"
msgstr "Har ikke fundet '%s' i værts-nærbuffer!"
#: nscd/aicache.c:70 nscd/hstcache.c:453
#: nscd/aicache.c:79 nscd/hstcache.c:453
#, c-format
msgid "Reloading \"%s\" in hosts cache!"
msgstr "Genindlæser '%s' i værts-nærbuffer!"
@@ -3404,7 +3401,7 @@ msgstr "getgrouplist mislykkedes"
msgid "setgroups failed"
msgstr "setgroups mislykkedes"
#: nscd/grpcache.c:384 nscd/hstcache.c:401 nscd/initgrcache.c:377
#: nscd/grpcache.c:384 nscd/hstcache.c:402 nscd/initgrcache.c:377
#: nscd/pwdcache.c:362 nscd/servicescache.c:309
#, c-format
msgid "short write in %s: %s"
@@ -3475,7 +3472,7 @@ msgstr "Brug separat buffer for hver bruger"
msgid "Name Service Cache Daemon."
msgstr "Dæmon for bufring af navnetjeneste"
#: nscd/nscd.c:158 nss/getent.c:995 nss/makedb.c:208
#: nscd/nscd.c:158 nss/getent.c:1014 nss/makedb.c:208
#, c-format
msgid "wrong number of arguments"
msgstr "galt antal argumenter"
@@ -3798,25 +3795,25 @@ msgstr "database [nøgle ...]"
msgid "Service configuration to be used"
msgstr "Tjenestekonfiguration som skal bruges"
#: nss/getent.c:67
#: nss/getent.c:68
msgid "Get entries from administrative database."
msgstr "Hent poster fra administrativ database."
#: nss/getent.c:154 nss/getent.c:466 nss/getent.c:513
#: nss/getent.c:158 nss/getent.c:481 nss/getent.c:528
#, c-format
msgid "Enumeration not supported on %s\n"
msgstr "Enumeration er ikke understøttet på %s\n"
#: nss/getent.c:905
#: nss/getent.c:920
#, c-format
msgid "Unknown database name"
msgstr "Ukendt databasenavn"
#: nss/getent.c:939
#: nss/getent.c:958
msgid "Supported databases:\n"
msgstr "Understøttede databaser:\n"
#: nss/getent.c:1005
#: nss/getent.c:1024
#, c-format
msgid "Unknown database: %s\n"
msgstr "Ukendt database: %s\n"
@@ -3979,7 +3976,7 @@ msgstr "Ubalanceret ) eller \\)"
msgid "No previous regular expression"
msgstr "Intet foregående regulært udtryk"
#: posix/wordexp.c:1794
#: posix/wordexp.c:1806
msgid "parameter null or not set"
msgstr "parameter er nul eller ikke sat"
@@ -5288,11 +5285,11 @@ msgstr "RPC-programmet er ikke tilgængeligt"
msgid "cannot map pages for fdesc table"
msgstr "kan ikke hukommelsesmappe sider for fdesc-tabel"
#: sysdeps/hppa/dl-fptr.c:214
#: sysdeps/hppa/dl-fptr.c:212
msgid "cannot map pages for fptr table"
msgstr "kan ikke hukommelsesmappe sider for fptr-tabel"
#: sysdeps/hppa/dl-fptr.c:243
#: sysdeps/hppa/dl-fptr.c:240
msgid "internal error: symidx out of range of fptr table"
msgstr "intern fejl: symidx er udenfor intervallet for fptr-tabellen"
@@ -5373,194 +5370,162 @@ msgstr "Parameterstreng fejlagtigt kodet"
msgid "%s is for unknown machine %d.\n"
msgstr "%s er til ukendt maskine %d.\n"
#: timezone/zdump.c:411
#: timezone/zdump.c:390
#, c-format
msgid "%s: warning: zone \"%s\" abbreviation \"%s\" %s\n"
msgstr "%s: advarsel: zone \"%s\" forkortelse \"%s\": %s\n"
#: timezone/zdump.c:543
#: timezone/zdump.c:523
#, c-format
msgid "%s: wild -c argument %s\n"
msgstr "%s: argument \"%s\" til flaget -c har forkert format\n"
#: timezone/zic.c:463
#: timezone/zic.c:559
#, c-format
msgid "%s: Memory exhausted: %s\n"
msgstr "%s: Lageret opbrugt: %s\n"
#: timezone/zic.c:588
#: timezone/zic.c:687
msgid "standard input"
msgstr "standard inddata"
#: timezone/zic.c:639
#: timezone/zic.c:739
#, c-format
msgid "warning: "
msgstr "advarsel: "
#: timezone/zic.c:992
#: timezone/zic.c:1249
msgid "wild compilation-time specification of zic_t"
msgstr "definitionen af zic_t ved kompilering er urimelig"
#: timezone/zic.c:1025
#, c-format
msgid "%s: More than one -d option specified\n"
msgstr "%s: Mere end et -d-flag specificeret\n"
#: timezone/zic.c:1036
#, c-format
msgid "%s: More than one -l option specified\n"
msgstr "%s: Mere end et -l-flag specificeret\n"
#: timezone/zic.c:1047
#, c-format
msgid "%s: More than one -p option specified\n"
msgstr "%s: Mere end et -p-flag specificeret\n"
#: timezone/zic.c:1071
#, c-format
msgid "%s: More than one -L option specified\n"
msgstr "%s: Mere end et -L-flag specificeret\n"
#: timezone/zic.c:1608 timezone/zic.c:1610
#: timezone/zic.c:1895 timezone/zic.c:1897
msgid "same rule name in multiple files"
msgstr "samme regelnavn i flere filer"
#: timezone/zic.c:1656
#: timezone/zic.c:1943
#, c-format
msgid "%s in ruleless zone"
msgstr "%s i zone uden regel"
#: timezone/zic.c:1688
#: timezone/zic.c:1975
msgid "line too long"
msgstr "for lang linje"
#: timezone/zic.c:1709
#: timezone/zic.c:1996
#, c-format
msgid "%s: Can't open %s: %s\n"
msgstr "%s: Kan ikke åbne %s: %s\n"
#: timezone/zic.c:1734
#: timezone/zic.c:2021
msgid "input line of unknown type"
msgstr "inddatalinje af ukendt type"
#: timezone/zic.c:1761
#: timezone/zic.c:2049
msgid "expected continuation line not found"
msgstr "forventet fortsættelseslinje ikke fundet"
#: timezone/zic.c:1815 timezone/zic.c:3760
msgid "time overflow"
msgstr "for stor tidsværdi"
#: timezone/zic.c:1821
#: timezone/zic.c:2105
msgid "values over 24 hours not handled by pre-2007 versions of zic"
msgstr "værdier større end 24 timer håndteres ikke af zic-versioner før 2007"
#: timezone/zic.c:1839
#: timezone/zic.c:2123
msgid "invalid saved time"
msgstr "ugyldig lagret tid"
#: timezone/zic.c:1850
#: timezone/zic.c:2134
msgid "wrong number of fields on Rule line"
msgstr "galt antal felter på 'Rule'-linje"
#: timezone/zic.c:1883
#: timezone/zic.c:2167
msgid "wrong number of fields on Zone line"
msgstr "galt antal felter på 'Zone'-linje"
#: timezone/zic.c:1887
#: timezone/zic.c:2171
#, c-format
msgid "\"Zone %s\" line and -l option are mutually exclusive"
msgstr "'Zone %s'-linje og flaget -l udelukker hinanden"
#: timezone/zic.c:1892
#: timezone/zic.c:2176
#, c-format
msgid "\"Zone %s\" line and -p option are mutually exclusive"
msgstr "'Zone %s'-linje og flaget -p udelukker hinanden"
#: timezone/zic.c:1913
#: timezone/zic.c:2197
msgid "wrong number of fields on Zone continuation line"
msgstr "galt antal felter på 'Zone'-fortsættelseslinje"
#: timezone/zic.c:1956
#: timezone/zic.c:2241
msgid "invalid abbreviation format"
msgstr "ugyldig forkortelsesformat"
#: timezone/zic.c:1986
#: timezone/zic.c:2267
msgid "Zone continuation line end time is not after end time of previous line"
msgstr "Sluttiden på fortsætningslinjen til en zone kommer før sluttiden på foregående linje"
#: timezone/zic.c:2027
#: timezone/zic.c:2308
msgid "invalid leaping year"
msgstr "ugyldigt skudår"
#: timezone/zic.c:2049 timezone/zic.c:2154
#: timezone/zic.c:2330 timezone/zic.c:2427
msgid "invalid month name"
msgstr "ugyldigt månedsnavn"
#: timezone/zic.c:2062 timezone/zic.c:2252 timezone/zic.c:2266
#: timezone/zic.c:2343 timezone/zic.c:2529 timezone/zic.c:2543
msgid "invalid day of month"
msgstr "ugyldig dag i måneden"
#: timezone/zic.c:2067
msgid "time too small"
msgstr "tid for lille"
#: timezone/zic.c:2071
msgid "time too large"
msgstr "tid for stor"
#: timezone/zic.c:2075 timezone/zic.c:2183
#: timezone/zic.c:2348 timezone/zic.c:2456
msgid "invalid time of day"
msgstr "ugyldig tid på dagen"
#: timezone/zic.c:2086
#: timezone/zic.c:2359
msgid "wrong number of fields on Leap line"
msgstr "galt antal felter på 'Leap'-linje"
#: timezone/zic.c:2125
#: timezone/zic.c:2398
msgid "wrong number of fields on Link line"
msgstr "forkert antal felter på 'Link'-linje"
#: timezone/zic.c:2199
#: timezone/zic.c:2472
msgid "invalid starting year"
msgstr "ugyldigt startår"
#: timezone/zic.c:2214
#: timezone/zic.c:2487
msgid "invalid ending year"
msgstr "ugyldigt slutår"
#: timezone/zic.c:2218
#: timezone/zic.c:2491
msgid "starting year greater than ending year"
msgstr "startår er højere end slutår"
#: timezone/zic.c:2257
#: timezone/zic.c:2534
msgid "invalid weekday name"
msgstr "ugyldigt ugedagsnavn"
#: timezone/zic.c:3388
#: timezone/zic.c:3684
msgid "can't determine time zone abbreviation to use just after until time"
msgstr "kan ikke afgøre tidszoneforkortelse for brug lige efter 'until'-tid"
#: timezone/zic.c:3512
#: timezone/zic.c:3816
msgid "too many local time types"
msgstr "for mange lokale tidstyper"
#: timezone/zic.c:3530
msgid "too many leap seconds"
msgstr "for mange skudsekunder"
#: timezone/zic.c:3741
#: timezone/zic.c:4043
msgid "Odd number of quotation marks"
msgstr "Ulige antal anførselstegn"
#: timezone/zic.c:3838
#: timezone/zic.c:4062
msgid "time overflow"
msgstr "for stor tidsværdi"
#: timezone/zic.c:4154
msgid "use of 2/29 in non leap-year"
msgstr "bruger 29/2 i ikke-skudår"
#: timezone/zic.c:3895
#: timezone/zic.c:4205
msgid "time zone abbreviation differs from POSIX standard"
msgstr "tidszoneforkortelse afviger fra POSIX-standarden"
#: timezone/zic.c:3901
#: timezone/zic.c:4246
msgid "too many, or too long, time zone abbreviations"
msgstr "for mange eller for lange tidszoneforkortelser"
+406 -499
View File
File diff suppressed because it is too large Load Diff
+57 -81
View File
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libc 2.2.3\n"
"POT-Creation-Date: 2026-01-19 16:22+0100\n"
"POT-Creation-Date: 2026-07-01 10:52+0900\n"
"PO-Revision-Date: 2001-05-21 19:20:31+0000\n"
"Last-Translator: Nikos Mavroyanopoulos <nmav@hellug.gr>\n"
"Language-Team: Greek <nls@tux.hellug.gr>\n"
@@ -117,11 +117,11 @@ msgstr ""
"[ΑΡΧΕΙΟ-ΕΞΟΔΟΥ [ΑΡΧΕΙΟ-ΕΙΣΟΔΟΥ]...]"
#: catgets/gencat.c:247 debug/pcprofiledump.c:235 debug/xtrace.sh:63
#: elf/ldconfig.c:232 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:75
#: elf/ldconfig.c:244 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:76
#: elf/sprof.c:389 iconv/iconv_prog.c:391 iconv/iconvconfig.c:397
#: locale/programs/locale.c:292 locale/programs/localedef.c:459
#: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
#: nscd/nscd.c:521 nss/getent.c:92 nss/makedb.c:387 posix/getconf.c:533
#: nscd/nscd.c:521 nss/getent.c:96 nss/makedb.c:387 posix/getconf.c:533
#, c-format
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -134,10 +134,10 @@ msgstr ""
"ΚΑΠΟΙΟ ΣΥΓΚΕΚΡΙΜΕΝΟ ΣΚΟΠΟ.\n"
#: catgets/gencat.c:252 debug/pcprofiledump.c:240 debug/xtrace.sh:67
#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: elf/ldconfig.c:249 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: iconv/iconvconfig.c:402 locale/programs/locale.c:297
#: locale/programs/localedef.c:464 malloc/memusage.sh:74
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:101 nss/makedb.c:392
#: posix/getconf.c:538
#, c-format
msgid "Written by %s.\n"
@@ -201,7 +201,7 @@ msgstr "μη τερματιζόμενο μήνυμα"
msgid "while opening old catalog file"
msgstr "κατά το άνοιγμα παλιού αρχείου καταλόγου"
#: elf/dl-open.c:817
#: elf/dl-open.c:816
msgid "invalid mode for dlopen()"
msgstr "μη έγκυρη κατάσταση για την dlopen()"
@@ -209,22 +209,22 @@ msgstr "μη έγκυρη κατάσταση για την dlopen()"
msgid "RTLD_NEXT used in code not dynamically loaded"
msgstr "Το RTLD_NEXT που χρησιμοποιείται στον κώδικα δεν φορτώθηκε δυναμικά"
#: elf/ldconfig.c:496
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "το %s δεν είναι συμβολικός σύνδεσμος\n"
#: elf/ldconfig.c:527
msgid " (changed)\n"
msgstr " (άλλαξε)\n"
#: elf/ldconfig.c:1124 locale/programs/xasprintf.c:31
#: elf/ldconfig-parse.c:163 locale/programs/xasprintf.c:31
#: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
#: posix/getconf.c:503 posix/getconf.c:745
#, c-format
msgid "memory exhausted"
msgstr "η μνήμη εξαντλήθηκε"
#: elf/ldconfig.c:521
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "το %s δεν είναι συμβολικός σύνδεσμος\n"
#: elf/ldconfig.c:552
msgid " (changed)\n"
msgstr " (άλλαξε)\n"
#. TRANS This is a ``file doesn't exist'' error
#. TRANS for ordinary files that are referenced in contexts where they are
#. TRANS expected to already exist.
@@ -1461,7 +1461,7 @@ msgstr "yp_update: αδυναμία μετατροπής ονόματος συσ
msgid "yp_update: cannot get server address\n"
msgstr "yp_update: αδυναμία λήψης διεύθυνσης διακομιστή\n"
#: nscd/aicache.c:68 nscd/hstcache.c:451
#: nscd/aicache.c:77 nscd/hstcache.c:451
#, c-format
msgid "Haven't found \"%s\" in hosts cache!"
msgstr "Δε βρέθηκε το \"%s\" στην λανθάνουσα μνήμη συστημάτων!"
@@ -1501,7 +1501,7 @@ msgstr "σύντομη ανάγνωση κατά την ανάγνωση του
msgid "handle_request: request received (Version = %d)"
msgstr "handle_request: λήψη αίτησης (Έκδοση = %d)"
#: nscd/grpcache.c:384 nscd/hstcache.c:401 nscd/initgrcache.c:377
#: nscd/grpcache.c:384 nscd/hstcache.c:402 nscd/initgrcache.c:377
#: nscd/pwdcache.c:362 nscd/servicescache.c:309
#, c-format
msgid "short write in %s: %s"
@@ -1548,7 +1548,7 @@ msgstr "Χρήση ξεχωριστής λανθάνουσας μνήμης γι
msgid "Name Service Cache Daemon."
msgstr "Λανθάνουσα Υπηρεσία Εξυπηρέτησης Αντιστοιχιών Ονομάτων."
#: nscd/nscd.c:158 nss/getent.c:995 nss/makedb.c:208
#: nscd/nscd.c:158 nss/getent.c:1014 nss/makedb.c:208
#, c-format
msgid "wrong number of arguments"
msgstr "λάθος αριθμός παραμέτρων"
@@ -1608,7 +1608,7 @@ msgstr ""
msgid "database [key ...]"
msgstr "βάση_δεδομένων [κλειδί ...]"
#: nss/getent.c:1005
#: nss/getent.c:1024
#, c-format
msgid "Unknown database: %s\n"
msgstr "Άγνωστη βάση δεδομένων: %s\n"
@@ -1745,7 +1745,7 @@ msgstr "Εσωτερικό σφάλμα του αναλυτή διευθύνσε
msgid "Unknown resolver error"
msgstr "Άγνωστο σφάλμα αναλύτη διευθύνσεων"
#: stdio-common/psiginfo-data.h:46 timezone/zdump.c:445 timezone/zic.c:652
#: stdio-common/psiginfo-data.h:46 timezone/zdump.c:424 timezone/zic.c:831
msgid "I/O error"
msgstr "Σφάλμα εισόδου/εξόδου"
@@ -2965,166 +2965,142 @@ msgstr "Σφάλμα συστήματος"
msgid "%s is for unknown machine %d.\n"
msgstr "το %s είναι για το άγνωστο σύστημά %d.\n"
#: timezone/zic.c:463
#: timezone/zic.c:559
#, c-format
msgid "%s: Memory exhausted: %s\n"
msgstr "%s: Η μνήμη εξαντλήθηκε: %s\n"
#: timezone/zic.c:588
#: timezone/zic.c:687
msgid "standard input"
msgstr "κανονική είσοδος"
#: timezone/zic.c:639
#: timezone/zic.c:739
#, c-format
msgid "warning: "
msgstr "προειδοποίηση: "
#: timezone/zic.c:1025
#, c-format
msgid "%s: More than one -d option specified\n"
msgstr "%s: Περισσότερες από μία -d επιλογές καθορίστηκαν\n"
#: timezone/zic.c:1036
#, c-format
msgid "%s: More than one -l option specified\n"
msgstr "%s: Περισσότερες από μία -l επιλογές καθορίστηκαν\n"
#: timezone/zic.c:1047
#, c-format
msgid "%s: More than one -p option specified\n"
msgstr "%s: Περισσότερες από μία -p επιλογές καθορίστηκαν\n"
#: timezone/zic.c:1071
#, c-format
msgid "%s: More than one -L option specified\n"
msgstr "%s: Περισσότερες από μία -L επιλογές καθορίστηκαν\n"
#: timezone/zic.c:1608 timezone/zic.c:1610
#: timezone/zic.c:1895 timezone/zic.c:1897
msgid "same rule name in multiple files"
msgstr "ο ίδιος κανόνας σε πολλαπλά αρχεία"
#: timezone/zic.c:1656
#: timezone/zic.c:1943
#, c-format
msgid "%s in ruleless zone"
msgstr "%s σε ακανόνιστη ζώνη"
#: timezone/zic.c:1688
#: timezone/zic.c:1975
msgid "line too long"
msgstr "πολύ μεγάλη γραμμή"
#: timezone/zic.c:1709
#: timezone/zic.c:1996
#, c-format
msgid "%s: Can't open %s: %s\n"
msgstr "%s: Δεν είναι δυνατόν να ανοιχτεί το %s: %s\n"
#: timezone/zic.c:1734
#: timezone/zic.c:2021
msgid "input line of unknown type"
msgstr "γραμμή εισαγωγής αγνώστου τύπου"
#: timezone/zic.c:1761
#: timezone/zic.c:2049
msgid "expected continuation line not found"
msgstr "αναμενόταν γραμμή παράτασης και δεν βρέθηκε"
#: timezone/zic.c:1815 timezone/zic.c:3760
msgid "time overflow"
msgstr "υπερχείλιση ώρας"
#: timezone/zic.c:1839
#: timezone/zic.c:2123
msgid "invalid saved time"
msgstr "μη έγκυρη σωσμένη ώρα"
#: timezone/zic.c:1850
#: timezone/zic.c:2134
msgid "wrong number of fields on Rule line"
msgstr "λάθος αριθμός πεδίων στη γραμμή Rule"
#: timezone/zic.c:1883
#: timezone/zic.c:2167
msgid "wrong number of fields on Zone line"
msgstr "λάθος αριθμός πεδίων στη γραμμή Zone"
#: timezone/zic.c:1887
#: timezone/zic.c:2171
#, c-format
msgid "\"Zone %s\" line and -l option are mutually exclusive"
msgstr "\"Ζώνη %s\" γραμμή και επιλογή -l είναι αμοιβαίως αποκλειόμενα"
#: timezone/zic.c:1892
#: timezone/zic.c:2176
#, c-format
msgid "\"Zone %s\" line and -p option are mutually exclusive"
msgstr "\"Ζώνη %s\" γραμμή και επιλογή -p είναι αμοιβαίως αποκλειόμενα"
#: timezone/zic.c:1913
#: timezone/zic.c:2197
msgid "wrong number of fields on Zone continuation line"
msgstr "λάθος αριθμός πεδίων στη γραμμή παράτασης Zone"
#: timezone/zic.c:1956
#: timezone/zic.c:2241
msgid "invalid abbreviation format"
msgstr "μη έγκυρη διαμόρφωση συντόμευσης"
#: timezone/zic.c:1986
#: timezone/zic.c:2267
msgid "Zone continuation line end time is not after end time of previous line"
msgstr "Ο χρόνος τέλους της γραμμής συνέχισης της ζώνης δεν είναι μετά από το χρόνο τέλους της προηγούμενης γραμμής"
#: timezone/zic.c:2027
#: timezone/zic.c:2308
msgid "invalid leaping year"
msgstr "μη έγκυρος χρόνος αναπήδης"
#: timezone/zic.c:2049 timezone/zic.c:2154
#: timezone/zic.c:2330 timezone/zic.c:2427
msgid "invalid month name"
msgstr "μη έγκυρο όνομα μήνα"
#: timezone/zic.c:2062 timezone/zic.c:2252 timezone/zic.c:2266
#: timezone/zic.c:2343 timezone/zic.c:2529 timezone/zic.c:2543
msgid "invalid day of month"
msgstr "μη έγκυρη μέρα του μήνα"
#: timezone/zic.c:2075 timezone/zic.c:2183
#: timezone/zic.c:2348 timezone/zic.c:2456
msgid "invalid time of day"
msgstr "μη έγκυρη ώρα της μέρας"
#: timezone/zic.c:2086
#: timezone/zic.c:2359
msgid "wrong number of fields on Leap line"
msgstr "λάθος αριθμός πεδίων στη γραμμή Leap"
#: timezone/zic.c:2125
#: timezone/zic.c:2398
msgid "wrong number of fields on Link line"
msgstr "λάθος αριθμός πεδίων στη γραμμή Link"
#: timezone/zic.c:2199
#: timezone/zic.c:2472
msgid "invalid starting year"
msgstr "μη έγκυρος χρόνος έναρξης"
#: timezone/zic.c:2214
#: timezone/zic.c:2487
msgid "invalid ending year"
msgstr "μη έγκυρος χρόνος λήξης"
#: timezone/zic.c:2218
#: timezone/zic.c:2491
msgid "starting year greater than ending year"
msgstr "το έτος έναρξης είναι μεγαλύτερος το έτος τερματισμού"
#: timezone/zic.c:2257
#: timezone/zic.c:2534
msgid "invalid weekday name"
msgstr "μη έγκυρο όνομα εβδομάδας"
#: timezone/zic.c:3388
#: timezone/zic.c:3684
msgid "can't determine time zone abbreviation to use just after until time"
msgstr ""
"δεν είναι δυνατόν να καθοριστεί η συντόμευση της ζώνης ώρας για\n"
"να χρησιμοποιηθεί αμέσως μετά το 'until time'"
#: timezone/zic.c:3512
#: timezone/zic.c:3816
msgid "too many local time types"
msgstr "υπορβολικά πολλοί τύποι τοπικής ώρας"
#: timezone/zic.c:3530
msgid "too many leap seconds"
msgstr "υπερβολικά πολλά δευτερόλεπτα αναπήδησης"
#: timezone/zic.c:3741
#: timezone/zic.c:4043
msgid "Odd number of quotation marks"
msgstr "Περιττός αριθμός εισαγωγικών"
#: timezone/zic.c:3838
#: timezone/zic.c:4062
msgid "time overflow"
msgstr "υπερχείλιση ώρας"
#: timezone/zic.c:4154
msgid "use of 2/29 in non leap-year"
msgstr "χρήση του 2/29 σε χρόνο μη δίσεκτο"
#: timezone/zic.c:3901
#: timezone/zic.c:4246
msgid "too many, or too long, time zone abbreviations"
msgstr "υπερβολικά πολλές, ή πολύ μακρές, συντομεύσεις ζώνης ώρας"
+239 -278
View File
@@ -9,7 +9,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libc 2.31.9000\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2026-01-19 16:22+0100\n"
"POT-Creation-Date: 2026-07-01 10:52+0900\n"
"PO-Revision-Date: 2020-12-30 12:07+0100\n"
"Last-Translator: Benno Schulenberg <vertaling@coevern.nl>\n"
"Language-Team: Esperanto <translation-team-eo@lists.sourceforge.net>\n"
@@ -134,11 +134,11 @@ msgstr ""
"-o ELIGDOSIERO [ENIGDOSIERO...]\n"
"[ELIGDOSIERO [ENIGDOSIERO...]]"
#: catgets/gencat.c:231 debug/pcprofiledump.c:219 elf/ldconfig.c:216
#: catgets/gencat.c:231 debug/pcprofiledump.c:219 elf/ldconfig.c:228
#: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:372 iconv/iconv_prog.c:374
#: iconv/iconvconfig.c:380 locale/programs/locale.c:275
#: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
#: malloc/memusagestat.c:564 nss/getent.c:961 nss/makedb.c:371
#: malloc/memusagestat.c:564 nss/getent.c:980 nss/makedb.c:371
#: posix/getconf.c:551
#, c-format
msgid ""
@@ -149,11 +149,11 @@ msgstr ""
" %s.\n"
#: catgets/gencat.c:247 debug/pcprofiledump.c:235 debug/xtrace.sh:63
#: elf/ldconfig.c:232 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:75
#: elf/ldconfig.c:244 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:76
#: elf/sprof.c:389 iconv/iconv_prog.c:391 iconv/iconvconfig.c:397
#: locale/programs/locale.c:292 locale/programs/localedef.c:459
#: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
#: nscd/nscd.c:521 nss/getent.c:92 nss/makedb.c:387 posix/getconf.c:533
#: nscd/nscd.c:521 nss/getent.c:96 nss/makedb.c:387 posix/getconf.c:533
#, c-format
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -165,10 +165,10 @@ msgstr ""
"Doniĝas NENIA GARANTIO; eĉ ne por KOMERCKVALITO aŭ ADEKVATECO POR IU CELO.\n"
#: catgets/gencat.c:252 debug/pcprofiledump.c:240 debug/xtrace.sh:67
#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: elf/ldconfig.c:249 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: iconv/iconvconfig.c:402 locale/programs/locale.c:297
#: locale/programs/localedef.c:464 malloc/memusage.sh:74
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:101 nss/makedb.c:392
#: posix/getconf.c:538
#, c-format
msgid "Written by %s.\n"
@@ -286,7 +286,7 @@ msgstr "ne eblas malfermi enigan dosieron"
msgid "invalid pointer size"
msgstr "nevalida grando de referenco"
#: debug/xtrace.sh:31 elf/sotruss.sh:56 elf/sotruss.sh:67 elf/sotruss.sh:135
#: debug/xtrace.sh:31 elf/sotruss.sh:56 elf/sotruss.sh:68 elf/sotruss.sh:136
#: malloc/memusage.sh:25
msgid "Try \\`%s --help' or \\`%s --usage' for more information.\\n"
msgstr "Tajpu «%s --help» aŭ «%s --usage» por pli da informoj.\\n"
@@ -330,43 +330,43 @@ msgstr "nevalida moduso"
msgid "invalid mode parameter"
msgstr "nevalida modusa argumento"
#: elf/cache.c:296 elf/ldconfig.c:1238
#: elf/cache.c:357 elf/ldconfig.c:1116
#, c-format
msgid "Can't open cache file %s\n"
msgstr "Ne eblas malfermi kaŝmemoran dosieron %s\n"
#: elf/cache.c:310
#: elf/cache.c:371
#, c-format
msgid "mmap of cache file failed.\n"
msgstr "Malsukcesis enmemorigo de kaŝmemora dosiero.\n"
#: elf/cache.c:314 elf/cache.c:328 elf/cache.c:339
#: elf/cache.c:375 elf/cache.c:389 elf/cache.c:400
#, c-format
msgid "File is not a cache file.\n"
msgstr "Dosiero ne estas kaŝmemora dosiero.\n"
#: elf/cache.c:368 elf/cache.c:383
#: elf/cache.c:429 elf/cache.c:444
#, c-format
msgid "%d libs found in cache `%s'\n"
msgstr "%d bibliotekoj troviĝis en kaŝmemoro '%s'\n"
#: elf/cache.c:685
#: elf/cache.c:783
#, c-format
msgid "Can't create temporary cache file %s"
msgstr "Ne eblas krei provizoran kaŝmemoran dosieron %s"
#: elf/cache.c:693 elf/cache.c:703 elf/cache.c:707 elf/cache.c:712
#: elf/cache.c:731
#: elf/cache.c:791 elf/cache.c:801 elf/cache.c:805 elf/cache.c:810
#: elf/cache.c:829
#, c-format
msgid "Writing of cache data failed"
msgstr "Malsukcesis skribado de kaŝmemoraj datumoj"
#: elf/cache.c:726
#: elf/cache.c:824
#, c-format
msgid "Changing access rights of %s to %#o failed"
msgstr "Malsukcesis ŝanĝi la atingpermesojn por %s al %#o"
#: elf/cache.c:735
#: elf/cache.c:833
#, c-format
msgid "Renaming of %s to %s failed"
msgstr "Malsukcesis alinomi %s al %s"
@@ -379,11 +379,11 @@ msgstr "eraro dum ŝargo de komunaj bibliotekoj"
msgid "DYNAMIC LINKER BUG!!!"
msgstr "**PROGRAMMISO** en dinamika bindilo!!!"
#: elf/dl-close.c:363 elf/dl-open.c:297
#: elf/dl-close.c:368 elf/dl-open.c:297
msgid "cannot create scope list"
msgstr "ne eblas krei ampleksliston"
#: elf/dl-close.c:790
#: elf/dl-close.c:795
msgid "shared object not open"
msgstr "komuna objekto ne estas malferma"
@@ -391,227 +391,224 @@ msgstr "komuna objekto ne estas malferma"
msgid "cannot create capability list"
msgstr "ne eblas krei mandatliston"
#: elf/dl-load.c:424
#: elf/dl-load.c:408
msgid "cannot allocate name record"
msgstr "mankas sufiĉa memoro por nomrikordo"
#: elf/dl-load.c:510 elf/dl-load.c:623 elf/dl-load.c:717 elf/dl-load.c:814
#: elf/dl-load.c:612 elf/dl-load.c:621 elf/dl-load.c:712 elf/dl-load.c:810
#: elf/dl-load.c:830
msgid "cannot create cache for search path"
msgstr "ne eblas krei kaŝmemoron por serĉpado"
#: elf/dl-load.c:978
msgid "cannot stat shared object"
msgstr "malsukcesis eltrovi statinformon pri komuna objekto"
#: elf/dl-load.c:1090 elf/dl-load.c:1594 elf/dl-load.c:1704
#: elf/dl-load.c:1000 elf/dl-load.c:1354 elf/dl-load.c:1647
msgid "cannot read file data"
msgstr "ne eblas legi dosierdatumojn"
#: elf/dl-load.c:1351
#: elf/dl-load.c:1151
msgid "cannot stat shared object"
msgstr "malsukcesis eltrovi statinformon pri komuna objekto"
#: elf/dl-load.c:1401
msgid "cannot close file descriptor"
msgstr "ne eblas fermi dosierpriaĵon"
#: elf/dl-load.c:1594
#: elf/dl-load.c:1647
msgid "file too short"
msgstr "dosiero tro mallongas"
#: elf/dl-load.c:1628
#: elf/dl-load.c:1681
msgid "invalid ELF header"
msgstr "nevalida ELF-ĉapo"
#: elf/dl-load.c:1664
#: elf/dl-load.c:1717
msgid "internal error"
msgstr "**interna programmiso**"
#: elf/dl-load.c:2179
#: elf/dl-load.c:2222
msgid "wrong ELF class: ELFCLASS64"
msgstr "malĝusta ELF-klaso: ELFCLASS64"
#: elf/dl-load.c:2180
#: elf/dl-load.c:2223
msgid "wrong ELF class: ELFCLASS32"
msgstr "malĝusta ELF-klaso: ELFCLASS32"
#: elf/dl-load.c:2183
#: elf/dl-load.c:2226
msgid "cannot open shared object file"
msgstr "ne eblas malfermi komunan objektdosieron"
#: elf/dl-open.c:817
#: elf/dl-open.c:816
msgid "invalid mode for dlopen()"
msgstr "nevalida moduso por 'dlopen()'"
#: elf/ldconfig.c:124
msgid "Print cache"
msgstr "eligi kaŝmemoron"
#: elf/ldconfig.c:125
msgid "Generate verbose messages"
msgstr "eligi detalajn mesaĝojn"
#: elf/ldconfig.c:126
msgid "Don't build cache"
msgstr "ne krei kaŝmemoron"
#: elf/ldconfig.c:127
msgid "Don't update symbolic links"
msgstr "ne ĝisdatigi simbolajn ligojn"
#: elf/ldconfig.c:128
msgid "Change to and use ROOT as root directory"
msgstr "ŝanĝi al RADIKO kaj uzi ĝin kiel radikan dosierujon"
#: elf/ldconfig.c:128
msgid "ROOT"
msgstr "RADIKO"
#: elf/ldconfig.c:129
msgid "CACHE"
msgstr "KAŜMEMORO"
#: elf/ldconfig.c:129
msgid "Use CACHE as cache file"
msgstr "uzi KAŜMEMOROn kiel kaŝmemoran dosieron"
#: elf/ldconfig.c:130
msgid "CONF"
msgstr "AGORDDOSIERO"
#: elf/ldconfig.c:130
msgid "Use CONF as configuration file"
msgstr "uzi AGORDDOSIEROn kiel agordan dosieron"
#: elf/ldconfig.c:131
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "nur trakti dosierujojn kiuj indikatas en komandlinio; ne krei kaŝmemoron"
#: elf/ldconfig.c:132
msgid "Manually link individual libraries."
msgstr "mane ligi individuajn bibliotekojn"
#: elf/ldconfig.c:133
msgid "FORMAT"
msgstr "ARANĜO"
#: elf/ldconfig.c:133
msgid "Format to use: new (default), old, or compat"
msgstr "uzenda aranĝo: 'new' (nova, defaŭlte), 'old' (malnova), aŭ 'compat' (kongrua)"
#: elf/ldconfig.c:134
msgid "Ignore auxiliary cache file"
msgstr "ignori neĉefan kaŝmemoran dosieron"
#: elf/ldconfig.c:142
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr ""
" \n"
"Agordas la dinamika bindilo."
#: elf/ldconfig.c:276
#, c-format
msgid "Path `%s' given more than once"
msgstr "pado '%s' indikatas plurfoje"
#: elf/ldconfig.c:405
#, c-format
msgid "Can't stat %s"
msgstr "malsukcesis eltrovi statinformon pri %s"
#: elf/ldconfig.c:486
#, c-format
msgid "Can't stat %s\n"
msgstr "malsukcesis eltrovi statinformon pri %s\n"
#: elf/ldconfig.c:496
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s ne estas simbola ligo\n"
#: elf/ldconfig.c:515
#, c-format
msgid "Can't unlink %s"
msgstr "ne eblas malligi %s"
#: elf/ldconfig.c:521
#, c-format
msgid "Can't link %s to %s"
msgstr "ne eblas ligi %s al %s"
# SIGWINCH 28,28,20 Ign Window resize signal (4.3 BSD, Sun)
#: elf/ldconfig.c:527
msgid " (changed)\n"
msgstr " (ŝanĝiĝis)\n"
#: elf/ldconfig.c:529
msgid " (SKIPPED)\n"
msgstr " (TRANSSALTITA)\n"
#: elf/ldconfig.c:584
#, c-format
msgid "Can't find %s"
msgstr "malsukcesis trovi %s"
#: elf/ldconfig.c:600 elf/ldconfig.c:759 elf/ldconfig.c:826
#, c-format
msgid "Cannot lstat %s"
msgstr "malsukcesis eltrovi statinformon pri %s"
#: elf/ldconfig.c:606
#, c-format
msgid "Ignored file %s since it is not a regular file."
msgstr "Dosiero %s ignoriĝis ĉar ĝi ne estas normala dosiero."
#: elf/ldconfig.c:700
#, c-format
msgid " (from %s:%d)\n"
msgstr " (elde %s:%d)\n"
#: elf/ldconfig.c:715
#, c-format
msgid "Can't open directory %s"
msgstr "ne eblas malfermi dosierujon %s"
#: elf/ldconfig.c:776 elf/ldconfig.c:814 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "Eniga dosiero %s ne troviĝas.\n"
#: elf/ldconfig.c:783
#, c-format
msgid "Cannot stat %s"
msgstr "malsukcesis eltrovi statinformon pri %s"
#: elf/ldconfig.c:902
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "libc6-biblioteko %s estas en malĝusta dosierujo"
#: elf/ldconfig.c:1050
#: elf/ldconfig-parse.c:90
#, c-format
msgid "Warning: ignoring configuration file that cannot be opened: %s"
msgstr "Averto: ignoriĝas agorda dosiero kiu ne malfermeblas: %s"
#: elf/ldconfig.c:1124 locale/programs/xasprintf.c:31
#: elf/ldconfig-parse.c:163 locale/programs/xasprintf.c:31
#: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
#: posix/getconf.c:503 posix/getconf.c:745
#, c-format
msgid "memory exhausted"
msgstr "mankas sufiĉa memoro"
#: elf/ldconfig.c:1157
#: elf/ldconfig-parse.c:196
#, c-format
msgid "%s:%u: cannot read directory %s"
msgstr "%s:%u: ne eblas legi dosierujon %s"
#: elf/ldconfig.c:1195
#: elf/ldconfig.c:132
msgid "Print cache"
msgstr "eligi kaŝmemoron"
#: elf/ldconfig.c:133
msgid "Generate verbose messages"
msgstr "eligi detalajn mesaĝojn"
#: elf/ldconfig.c:134
msgid "Don't build cache"
msgstr "ne krei kaŝmemoron"
#: elf/ldconfig.c:135
msgid "Don't update symbolic links"
msgstr "ne ĝisdatigi simbolajn ligojn"
#: elf/ldconfig.c:136
msgid "Change to and use ROOT as root directory"
msgstr "ŝanĝi al RADIKO kaj uzi ĝin kiel radikan dosierujon"
#: elf/ldconfig.c:136
msgid "ROOT"
msgstr "RADIKO"
#: elf/ldconfig.c:137
msgid "CACHE"
msgstr "KAŜMEMORO"
#: elf/ldconfig.c:137
msgid "Use CACHE as cache file"
msgstr "uzi KAŜMEMOROn kiel kaŝmemoran dosieron"
#: elf/ldconfig.c:138
msgid "CONF"
msgstr "AGORDDOSIERO"
#: elf/ldconfig.c:140
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "nur trakti dosierujojn kiuj indikatas en komandlinio; ne krei kaŝmemoron"
#: elf/ldconfig.c:141
msgid "Manually link individual libraries."
msgstr "mane ligi individuajn bibliotekojn"
#: elf/ldconfig.c:142
msgid "FORMAT"
msgstr "ARANĜO"
#: elf/ldconfig.c:142
msgid "Format to use: new (default), old, or compat"
msgstr "uzenda aranĝo: 'new' (nova, defaŭlte), 'old' (malnova), aŭ 'compat' (kongrua)"
#: elf/ldconfig.c:143
msgid "Ignore auxiliary cache file"
msgstr "ignori neĉefan kaŝmemoran dosieron"
#: elf/ldconfig.c:151
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr ""
" \n"
"Agordas la dinamika bindilo."
#: elf/ldconfig.c:288
#, c-format
msgid "Path `%s' given more than once"
msgstr "pado '%s' indikatas plurfoje"
#: elf/ldconfig.c:417
#, c-format
msgid "Can't stat %s"
msgstr "malsukcesis eltrovi statinformon pri %s"
#: elf/ldconfig.c:511
#, c-format
msgid "Can't stat %s\n"
msgstr "malsukcesis eltrovi statinformon pri %s\n"
#: elf/ldconfig.c:521
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s ne estas simbola ligo\n"
#: elf/ldconfig.c:540
#, c-format
msgid "Can't unlink %s"
msgstr "ne eblas malligi %s"
#: elf/ldconfig.c:546
#, c-format
msgid "Can't link %s to %s"
msgstr "ne eblas ligi %s al %s"
# SIGWINCH 28,28,20 Ign Window resize signal (4.3 BSD, Sun)
#: elf/ldconfig.c:552
msgid " (changed)\n"
msgstr " (ŝanĝiĝis)\n"
#: elf/ldconfig.c:554
msgid " (SKIPPED)\n"
msgstr " (TRANSSALTITA)\n"
#: elf/ldconfig.c:609
#, c-format
msgid "Can't find %s"
msgstr "malsukcesis trovi %s"
#: elf/ldconfig.c:625 elf/ldconfig.c:784 elf/ldconfig.c:851
#, c-format
msgid "Cannot lstat %s"
msgstr "malsukcesis eltrovi statinformon pri %s"
#: elf/ldconfig.c:631
#, c-format
msgid "Ignored file %s since it is not a regular file."
msgstr "Dosiero %s ignoriĝis ĉar ĝi ne estas normala dosiero."
#: elf/ldconfig.c:725
#, c-format
msgid " (from %s:%d)\n"
msgstr " (elde %s:%d)\n"
#: elf/ldconfig.c:740
#, c-format
msgid "Can't open directory %s"
msgstr "ne eblas malfermi dosierujon %s"
#: elf/ldconfig.c:801 elf/ldconfig.c:839 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "Eniga dosiero %s ne troviĝas.\n"
#: elf/ldconfig.c:808
#, c-format
msgid "Cannot stat %s"
msgstr "malsukcesis eltrovi statinformon pri %s"
#: elf/ldconfig.c:927
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "libc6-biblioteko %s estas en malĝusta dosierujo"
#: elf/ldconfig.c:1070
#, c-format
msgid "relative path `%s' used to build cache"
msgstr "uziĝas relativa pado '%s' por krei kaŝmemoron"
#: elf/ldconfig.c:1217
#: elf/ldconfig.c:1092
#, c-format
msgid "Can't chdir to /"
msgstr "malsukcesis ŝanĝi aktualan dosierujon al «/»"
#: elf/ldconfig.c:1258
#: elf/ldconfig.c:1136
#, c-format
msgid "Can't open cache file directory %s\n"
msgstr "malsukcesis malfermi kaŝmemoran dosierujon %s\n"
@@ -811,15 +808,11 @@ msgstr "Endaj argumentoj por longaj opcioj ankaŭ endas por korespondaj mallonga
msgid "%s: option requires an argument -- '%s'\\n"
msgstr "%s: opcio bezonas argumenton -- «%s»\\n"
#: elf/sotruss.sh:61
msgid "%s: option is ambiguous; possibilities:"
msgstr "%s: opcio estas plursenca; eblaĵoj estas:"
#: elf/sotruss.sh:79
#: elf/sotruss.sh:80
msgid "Written by %s.\\n"
msgstr "Verkita de %s.\\n"
#: elf/sotruss.sh:134
#: elf/sotruss.sh:135
msgid "%s: unrecognized option '%c%s'\\n"
msgstr "%s: nekonata opcio «%c%s»\\n"
@@ -1715,12 +1708,12 @@ msgstr "Domajno ne estas bindita"
msgid "Unknown ypbind error"
msgstr "Nekonata eraro en 'ypbind'"
#: nscd/aicache.c:68 nscd/hstcache.c:451
#: nscd/aicache.c:77 nscd/hstcache.c:451
#, c-format
msgid "Haven't found \"%s\" in hosts cache!"
msgstr "Ne troviĝas \"%s\" en kaŝmemoro de gastigantoj!"
#: nscd/aicache.c:70 nscd/hstcache.c:453
#: nscd/aicache.c:79 nscd/hstcache.c:453
#, c-format
msgid "Reloading \"%s\" in hosts cache!"
msgstr "Reŝargo de \"%s\" en kaŝmemoron de gastigantoj!"
@@ -1839,7 +1832,7 @@ msgstr "uzi apartan kaŝmemoron por ĉiu uzanto"
msgid "Name Service Cache Daemon."
msgstr "Nomserva kaŝmemora servo."
#: nscd/nscd.c:158 nss/getent.c:995 nss/makedb.c:208
#: nscd/nscd.c:158 nss/getent.c:1014 nss/makedb.c:208
#, c-format
msgid "wrong number of arguments"
msgstr "malĝusta nombro de argumentoj"
@@ -2027,30 +2020,30 @@ msgstr "uzenda dosiero de sistemagordoj"
msgid "disable IDN encoding"
msgstr "malŝalti IDN-kodon"
#: nss/getent.c:67
#: nss/getent.c:68
msgid "Get entries from administrative database."
msgstr "Prenas erojn el administrativa datumbazo."
#: nss/getent.c:154 nss/getent.c:466 nss/getent.c:513
#: nss/getent.c:158 nss/getent.c:481 nss/getent.c:528
#, c-format
msgid "Enumeration not supported on %s\n"
msgstr "listigo ne subtenatas en dosiero '%s'\n"
#: nss/getent.c:521 nss/getent.c:534
#: nss/getent.c:536 nss/getent.c:549
#, c-format
msgid "Could not allocate group list: %m\n"
msgstr "mankas sufiĉa memoro por grupa listo: %m\n"
#: nss/getent.c:905
#: nss/getent.c:920
#, c-format
msgid "Unknown database name"
msgstr "nekonata datumbaznomo"
#: nss/getent.c:939
#: nss/getent.c:958
msgid "Supported databases:\n"
msgstr "Subtenataj datumbazoj:\n"
#: nss/getent.c:1005
#: nss/getent.c:1024
#, c-format
msgid "Unknown database: %s\n"
msgstr "nekonata datumbazo: %s\n"
@@ -2427,7 +2420,7 @@ msgstr "Disponeblas eligaj bufroj"
msgid "Input message available"
msgstr "Disponeblas eniga mesaĝo"
#: stdio-common/psiginfo-data.h:46 timezone/zdump.c:445 timezone/zic.c:652
#: stdio-common/psiginfo-data.h:46 timezone/zdump.c:424 timezone/zic.c:831
msgid "I/O error"
msgstr "En-eliga eraro"
@@ -3775,212 +3768,180 @@ msgstr "Parametra ĉeno ne estas ĝuste kodita"
msgid "%s is for unknown machine %d.\n"
msgstr "%s estas por nekonata maŝino %d.\n"
#: timezone/zdump.c:404
#: timezone/zdump.c:383
msgid "has fewer than 3 characters"
msgstr "havas malpli ol tri signojn"
#: timezone/zdump.c:406
#: timezone/zdump.c:385
msgid "has more than 6 characters"
msgstr "havas pli ol ses signojn"
#: timezone/zdump.c:411
#: timezone/zdump.c:390
#, c-format
msgid "%s: warning: zone \"%s\" abbreviation \"%s\" %s\n"
msgstr "%s: averto: zono \"%s\" mallongigo \"%s\" %s\n"
#: timezone/zdump.c:543
#: timezone/zdump.c:523
#, c-format
msgid "%s: wild -c argument %s\n"
msgstr "%s: troa argumento %s je opcio «-c»\n"
#: timezone/zdump.c:576
#: timezone/zdump.c:556
#, c-format
msgid "%s: wild -t argument %s\n"
msgstr "%s: troa argumento %s je opcio «-t»\n"
#: timezone/zic.c:463
#: timezone/zic.c:559
#, c-format
msgid "%s: Memory exhausted: %s\n"
msgstr "%s: Mankas sufiĉa memoro: %s\n"
#: timezone/zic.c:470
#: timezone/zic.c:566
msgid "size overflow"
msgstr "grandtroo"
#: timezone/zic.c:559
#: timezone/zic.c:658
msgid "integer overflow"
msgstr "entjertroo"
#: timezone/zic.c:588
#: timezone/zic.c:687
msgid "standard input"
msgstr "ĉefenigujo"
#: timezone/zic.c:616
#: timezone/zic.c:716
#, c-format
msgid "\"%s\", line %<PRIdMAX>: "
msgstr "«%s», linio %<PRIdMAX>: "
#: timezone/zic.c:620
#: timezone/zic.c:720
#, c-format
msgid " (rule from \"%s\", line %<PRIdMAX>)"
msgstr " (regulo el «%s», linio %<PRIdMAX>)"
#: timezone/zic.c:639
#: timezone/zic.c:739
#, c-format
msgid "warning: "
msgstr "averto: "
#: timezone/zic.c:1025
#, c-format
msgid "%s: More than one -d option specified\n"
msgstr "%s: Indikatas pluraj opcioj «-d»\n"
#: timezone/zic.c:1036
#, c-format
msgid "%s: More than one -l option specified\n"
msgstr "%s: Indikatas pluraj opcioj «-l»\n"
#: timezone/zic.c:1047
#, c-format
msgid "%s: More than one -p option specified\n"
msgstr "%s: Indikatas pluraj opcioj «-p»\n"
#: timezone/zic.c:1071
#, c-format
msgid "%s: More than one -L option specified\n"
msgstr "%s: Indikatas pluraj opcioj «-L»\n"
#: timezone/zic.c:1608 timezone/zic.c:1610
#: timezone/zic.c:1895 timezone/zic.c:1897
msgid "same rule name in multiple files"
msgstr "sama regulnomo en pluraj dosieroj"
#: timezone/zic.c:1656
#: timezone/zic.c:1943
#, c-format
msgid "%s in ruleless zone"
msgstr "%s en senregula zono"
#: timezone/zic.c:1688
#: timezone/zic.c:1975
msgid "line too long"
msgstr "linio tro longas"
#: timezone/zic.c:1709
#: timezone/zic.c:1996
#, c-format
msgid "%s: Can't open %s: %s\n"
msgstr "%s: Ne eblas malfermi %s: %s\n"
#: timezone/zic.c:1734
#: timezone/zic.c:2021
msgid "input line of unknown type"
msgstr "eniga linio estas de nekonata tipo"
#: timezone/zic.c:1815 timezone/zic.c:3760
msgid "time overflow"
msgstr "temptroo"
#: timezone/zic.c:1839
#: timezone/zic.c:2123
msgid "invalid saved time"
msgstr "nevalida konservita tempo"
#: timezone/zic.c:1952
#: timezone/zic.c:2236
msgid "invalid UT offset"
msgstr "nevalida UTC-deŝovo"
#: timezone/zic.c:1956
#: timezone/zic.c:2241
msgid "invalid abbreviation format"
msgstr "nevalida aranĝo de mallongigo"
#: timezone/zic.c:2027
#: timezone/zic.c:2308
msgid "invalid leaping year"
msgstr "nevalida superjaro"
#: timezone/zic.c:2049 timezone/zic.c:2154
#: timezone/zic.c:2330 timezone/zic.c:2427
msgid "invalid month name"
msgstr "nevalida monatnomo"
#: timezone/zic.c:2062 timezone/zic.c:2252 timezone/zic.c:2266
#: timezone/zic.c:2343 timezone/zic.c:2529 timezone/zic.c:2543
msgid "invalid day of month"
msgstr "nevalida tago de monato"
#: timezone/zic.c:2067
msgid "time too small"
msgstr "tempo tro etas"
#: timezone/zic.c:2071
msgid "time too large"
msgstr "tempo tro grandas"
#: timezone/zic.c:2075 timezone/zic.c:2183
#: timezone/zic.c:2348 timezone/zic.c:2456
msgid "invalid time of day"
msgstr "nevalida tempo de tago"
#: timezone/zic.c:2078
#: timezone/zic.c:2351
msgid "leap second precedes Epoch"
msgstr "supersekundo antaŭas al Epoko"
#: timezone/zic.c:2112
#: timezone/zic.c:2385
msgid "wrong number of fields on Expires line"
msgstr "malĝusta nombro de kampoj en 'Expires'-linio"
#: timezone/zic.c:2114
#: timezone/zic.c:2387
msgid "multiple Expires lines"
msgstr "pluraj 'Expires'-linioj"
#: timezone/zic.c:2125
#: timezone/zic.c:2398
msgid "wrong number of fields on Link line"
msgstr "malĝusta nombro de kampoj en 'Link'-linio"
#: timezone/zic.c:2199
#: timezone/zic.c:2472
msgid "invalid starting year"
msgstr "nevalida komencjaro"
#: timezone/zic.c:2214
#: timezone/zic.c:2487
msgid "invalid ending year"
msgstr "nevalida finjaro"
#: timezone/zic.c:2218
#: timezone/zic.c:2491
msgid "starting year greater than ending year"
msgstr "komencjaro pli grandas ol finjaro"
#: timezone/zic.c:2257
#: timezone/zic.c:2534
msgid "invalid weekday name"
msgstr "nevalida nomo de semajntago"
#: timezone/zic.c:2537
#: timezone/zic.c:2831
msgid "too many transition times"
msgstr "tro multaj pasaĵaj tempoj"
#: timezone/zic.c:3489
#: timezone/zic.c:3787
msgid "UT offset out of range"
msgstr "UTC-deŝovo estas ekster gamo"
#: timezone/zic.c:3530
msgid "too many leap seconds"
msgstr "tro multaj supersekundoj"
#: timezone/zic.c:3741
#: timezone/zic.c:4043
msgid "Odd number of quotation marks"
msgstr "Nepara nombro de citiloj"
#: timezone/zic.c:3838
#: timezone/zic.c:4062
msgid "time overflow"
msgstr "temptroo"
#: timezone/zic.c:4154
msgid "use of 2/29 in non leap-year"
msgstr "uzo de feb 29 en nesuperjaro"
#: timezone/zic.c:3891
#: timezone/zic.c:4201
msgid "time zone abbreviation has fewer than 3 characters"
msgstr "horzona mallongigo havas malpli ol tri signojn"
#: timezone/zic.c:3893
#: timezone/zic.c:4203
msgid "time zone abbreviation has too many characters"
msgstr "horzona mallongigo havas tro da signoj"
#: timezone/zic.c:3895
#: timezone/zic.c:4205
msgid "time zone abbreviation differs from POSIX standard"
msgstr "horzona mallongigo diferencas de POSIX-normo"
#: timezone/zic.c:3901
#: timezone/zic.c:4246
msgid "too many, or too long, time zone abbreviations"
msgstr "tro multaj aŭ tro longaj horzonaj mallongigoj"
#: timezone/zic.c:3952
#: timezone/zic.c:4304
#, c-format
msgid "%s: Can't create directory %s: %s"
msgstr "%s: Ne eblas krei dosierujon %s: %s"
+291 -326
View File
File diff suppressed because it is too large Load Diff
+291 -345
View File
File diff suppressed because it is too large Load Diff
+370 -434
View File
File diff suppressed because it is too large Load Diff
+225 -252
View File
@@ -5,7 +5,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libc 2.3.2\n"
"POT-Creation-Date: 2026-01-19 16:22+0100\n"
"POT-Creation-Date: 2026-07-01 10:52+0900\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"
@@ -125,11 +125,11 @@ msgstr ""
"[FICHEIRO-SAÍDA [FICHEIRO-ENTRADA]...]"
#: catgets/gencat.c:247 debug/pcprofiledump.c:235 debug/xtrace.sh:63
#: elf/ldconfig.c:232 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:75
#: elf/ldconfig.c:244 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:76
#: elf/sprof.c:389 iconv/iconv_prog.c:391 iconv/iconvconfig.c:397
#: locale/programs/locale.c:292 locale/programs/localedef.c:459
#: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
#: nscd/nscd.c:521 nss/getent.c:92 nss/makedb.c:387 posix/getconf.c:533
#: nscd/nscd.c:521 nss/getent.c:96 nss/makedb.c:387 posix/getconf.c:533
#, c-format
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -141,10 +141,10 @@ msgstr ""
"garantía; nin sequera de COMERCIABILIDADE ou APTITUDE PARA UN FIN DETERMINADO.\n"
#: catgets/gencat.c:252 debug/pcprofiledump.c:240 debug/xtrace.sh:67
#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: elf/ldconfig.c:249 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: iconv/iconvconfig.c:402 locale/programs/locale.c:297
#: locale/programs/localedef.c:464 malloc/memusage.sh:74
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:101 nss/makedb.c:392
#: posix/getconf.c:538
#, c-format
msgid "Written by %s.\n"
@@ -261,43 +261,43 @@ msgstr "non se pode abri-lo ficheiro de entrada"
msgid "invalid pointer size"
msgstr "tamaño de punteiro non válido"
#: elf/cache.c:296 elf/ldconfig.c:1238
#: elf/cache.c:357 elf/ldconfig.c:1116
#, c-format
msgid "Can't open cache file %s\n"
msgstr "Non se puido abri-lo ficheiro de caché %s\n"
#: elf/cache.c:310
#: elf/cache.c:371
#, c-format
msgid "mmap of cache file failed.\n"
msgstr "fallou a chamada a mmap sobre o ficheiro de caché.\n"
#: elf/cache.c:314 elf/cache.c:328 elf/cache.c:339
#: elf/cache.c:375 elf/cache.c:389 elf/cache.c:400
#, c-format
msgid "File is not a cache file.\n"
msgstr "O ficheiro non é un ficheiro caché.\n"
#: elf/cache.c:368 elf/cache.c:383
#: elf/cache.c:429 elf/cache.c:444
#, c-format
msgid "%d libs found in cache `%s'\n"
msgstr "%d bibliotecas atopadas na caché `%s'\n"
#: elf/cache.c:685
#: elf/cache.c:783
#, c-format
msgid "Can't create temporary cache file %s"
msgstr "Non se puido crea-lo ficheiro temporal de caché %s"
#: elf/cache.c:693 elf/cache.c:703 elf/cache.c:707 elf/cache.c:712
#: elf/cache.c:731
#: elf/cache.c:791 elf/cache.c:801 elf/cache.c:805 elf/cache.c:810
#: elf/cache.c:829
#, c-format
msgid "Writing of cache data failed"
msgstr "A escritura dos datos da caché fallou"
#: elf/cache.c:726
#: elf/cache.c:824
#, c-format
msgid "Changing access rights of %s to %#o failed"
msgstr "O cambio dos dereitos de acceso de %s a %#o fallou"
#: elf/cache.c:735
#: elf/cache.c:833
#, c-format
msgid "Renaming of %s to %s failed"
msgstr "Fallou o renomeado de %s a %s"
@@ -310,32 +310,32 @@ msgstr "erro ao carga-las bibliotecas compartidas"
msgid "DYNAMIC LINKER BUG!!!"
msgstr "¡¡¡ERRO NO LIGADOR DINÁMICO!!!"
#: elf/dl-close.c:363 elf/dl-open.c:297
#: elf/dl-close.c:368 elf/dl-open.c:297
msgid "cannot create scope list"
msgstr "non se pode crea-la lista de alcance"
#: elf/dl-close.c:790
#: elf/dl-close.c:795
msgid "shared object not open"
msgstr "o obxecto compartido non está aberto"
#: elf/dl-deps.c:96
#: elf/dl-deps.c:103
msgid "DST not allowed in SUID/SGID programs"
msgstr "Non se admite DST en programas SUID/SGID"
#: elf/dl-deps.c:109
msgid "empty dynamic string token substitution"
msgstr "substitución de elementos da cadea dinámica baleira"
#: elf/dl-deps.c:115
#: elf/dl-deps.c:224 elf/dl-deps.c:286
#, c-format
msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n"
msgstr "non se pode carga-lo `%s' auxiliar debido a unha substitución de elementos de cadea dinámicos baleiros\n"
#: elf/dl-deps.c:427
#: elf/dl-deps.c:283
msgid "empty dynamic string token substitution"
msgstr "substitución de elementos da cadea dinámica baleira"
#: elf/dl-deps.c:449
msgid "cannot allocate dependency list"
msgstr "non se pode localiza-la lista de dependencias"
#: elf/dl-deps.c:467
#: elf/dl-deps.c:489
msgid "cannot allocate symbol search list"
msgstr "non se pode localiza-la lista de busca de símbolos"
@@ -343,107 +343,108 @@ msgstr "non se pode localiza-la lista de busca de símbolos"
msgid "cannot create capability list"
msgstr "non se pode crea-la lista de capacidades"
#: elf/dl-load.c:424
#: elf/dl-load.c:408
msgid "cannot allocate name record"
msgstr "non se pode localiza-lo rexistro de nome"
#: elf/dl-load.c:510 elf/dl-load.c:623 elf/dl-load.c:717 elf/dl-load.c:814
msgid "cannot create cache for search path"
msgstr "non se pode crea-la caché para a ruta de busca"
#: elf/dl-load.c:606
#: elf/dl-load.c:595
msgid "cannot create RUNPATH/RPATH copy"
msgstr "non se pode crear unha copia de RUNPATH/RPATH"
#: elf/dl-load.c:703
#: elf/dl-load.c:612 elf/dl-load.c:621 elf/dl-load.c:712 elf/dl-load.c:810
#: elf/dl-load.c:830
msgid "cannot create cache for search path"
msgstr "non se pode crea-la caché para a ruta de busca"
#: elf/dl-load.c:698
msgid "cannot create search path array"
msgstr "non se pode crea-lo vector de rutas de busca"
#: elf/dl-load.c:978
msgid "cannot stat shared object"
msgstr "non se puido facer stat sobre o obxecto compartido"
#: elf/dl-load.c:1071 elf/dl-load.c:2160
msgid "cannot create shared object descriptor"
msgstr "non se pode crear un descriptor de obxecto compartido"
#: elf/dl-load.c:1090 elf/dl-load.c:1594 elf/dl-load.c:1704
#: elf/dl-load.c:1000 elf/dl-load.c:1354 elf/dl-load.c:1647
msgid "cannot read file data"
msgstr "non se pode le-los datos do ficheiro"
#: elf/dl-load.c:1241
#: elf/dl-load.c:1151
msgid "cannot stat shared object"
msgstr "non se puido facer stat sobre o obxecto compartido"
#: elf/dl-load.c:1246 elf/dl-load.c:2203
msgid "cannot create shared object descriptor"
msgstr "non se pode crear un descriptor de obxecto compartido"
#: elf/dl-load.c:1291
msgid "cannot dynamically load executable"
msgstr "non se pode cargar dinamicamente o executable"
#: elf/dl-load.c:1248
#: elf/dl-load.c:1298
msgid "object file has no dynamic section"
msgstr "o ficheiro obxecto non ten unha sección dinámica"
#: elf/dl-load.c:1285
#: elf/dl-load.c:1335
msgid "shared object cannot be dlopen()ed"
msgstr "non se pode facer dlopen() sobre o obxecto compartido"
#: elf/dl-load.c:1298
#: elf/dl-load.c:1347
msgid "cannot allocate memory for program header"
msgstr "Non se pode reservar memoria para a cabeceira do programa"
#: elf/dl-load.c:1594
#: elf/dl-load.c:1647
msgid "file too short"
msgstr "ficheiro pequeno de máis"
#: elf/dl-load.c:1628
#: elf/dl-load.c:1681
msgid "invalid ELF header"
msgstr "cabeceira ELF non válida"
#: elf/dl-load.c:1645
#: elf/dl-load.c:1698
msgid "ELF file data encoding not big-endian"
msgstr "A codificación dos datos do ficheiro ELF non é \"big-endian\""
#: elf/dl-load.c:1647
#: elf/dl-load.c:1700
msgid "ELF file data encoding not little-endian"
msgstr "A codificación dos datos do ficheiro ELF non é \"little-endian\""
#: elf/dl-load.c:1651
#: elf/dl-load.c:1704
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:1655
#: elf/dl-load.c:1708
msgid "ELF file OS ABI invalid"
msgstr "ABI do SO do ficheiro ELF non válida"
#: elf/dl-load.c:1658
#: elf/dl-load.c:1711
msgid "ELF file ABI version invalid"
msgstr "Versión do ABI do ficheiro ELF non válida"
#: elf/dl-load.c:1664
#: elf/dl-load.c:1717
msgid "internal error"
msgstr "erro interno"
#: elf/dl-load.c:1671
#: elf/dl-load.c:1724
msgid "ELF file version does not match current one"
msgstr "A versión do ficheiro ELF non coincide coa actual"
#: elf/dl-load.c:1685
#: elf/dl-load.c:1738
msgid "only ET_DYN and ET_EXEC can be loaded"
msgstr "só se pode cargar ET_DYN e ET_EXEC"
#: elf/dl-load.c:1690
#: elf/dl-load.c:1743
msgid "ELF file's phentsize not the expected size"
msgstr "O phentsize do ficheiro ELF non é o tamaño esperado"
#: elf/dl-load.c:2183
#: elf/dl-load.c:2226
msgid "cannot open shared object file"
msgstr "non se pode abrir un ficheiro de obxecto compartido"
#: elf/dl-load.h:126
#: elf/dl-load.h:249
msgid "failed to map segment from shared object"
msgstr "non se puido mapear un segmento dun obxecto compartido"
#: elf/dl-load.h:128
#: elf/dl-load.h:251
msgid "cannot change memory protections"
msgstr "non se poden cambia-las proteccións de memoria"
#: elf/dl-load.h:130
#: elf/dl-load.h:253
msgid "cannot map zero-fill pages"
msgstr "non se poden mapear páxinas de recheo de ceros"
@@ -451,15 +452,15 @@ msgstr "non se poden mapear páxinas de recheo de ceros"
msgid "cannot extend global scope"
msgstr "non se pode extende-lo alcance global"
#: elf/dl-open.c:817
#: elf/dl-open.c:816
msgid "invalid mode for dlopen()"
msgstr "modo incorrecto para dlopen()"
#: elf/dl-reloc.c:283
#: elf/dl-reloc.c:261
msgid "cannot make segment writable for relocation"
msgstr "non se pode face-lo segmento gravable para o movemento"
#: elf/dl-reloc.c:328
#: elf/dl-reloc.c:326
msgid "cannot restore segment prot after reloc"
msgstr "non se pode restaura-la protección do segmento despois de movelo"
@@ -467,7 +468,7 @@ msgstr "non se pode restaura-la protección do segmento despois de movelo"
msgid "RTLD_NEXT used in code not dynamically loaded"
msgstr "Úsase RTLD_NEXT en código non cargado dinamicamente"
#: elf/dl-tls.c:1217
#: elf/dl-tls.c:1279
msgid "cannot create TLS data structures"
msgstr "non se poden crea-las estructuras de datos TLS"
@@ -475,138 +476,134 @@ msgstr "non se poden crea-las estructuras de datos TLS"
msgid "cannot allocate version reference table"
msgstr "non se pode localiza-la táboa de referencias de versións"
#: elf/ldconfig.c:124
msgid "Print cache"
msgstr "Amosa-la caché"
#: elf/ldconfig.c:125
msgid "Generate verbose messages"
msgstr "Visualizar máis mensaxes"
#: elf/ldconfig.c:126
msgid "Don't build cache"
msgstr "Non construí-la caché"
#: elf/ldconfig.c:128
msgid "Change to and use ROOT as root directory"
msgstr "Cambiar a e empregar RAÍZ coma directorio raíz"
#: elf/ldconfig.c:129
msgid "Use CACHE as cache file"
msgstr "Empregar CACHÉ coma un ficheiro de caché"
#: elf/ldconfig.c:130
msgid "Use CONF as configuration file"
msgstr "Empregar CONF coma un ficheiro de configuración"
#: elf/ldconfig.c:131
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "Nó se procesan os directorios especificados na liña de comando. Non se constrúen as cachés."
#: elf/ldconfig.c:132
msgid "Manually link individual libraries."
msgstr "Ligue as bibliotecas individuais manualmente."
#: elf/ldconfig.c:142
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr "Configura-las Asignacións de Tempo de Execución do Ligador Dinámico"
#: elf/ldconfig.c:276
#, c-format
msgid "Path `%s' given more than once"
msgstr "Proporcionouse a ruta `%s' máis dunha vez"
#: elf/ldconfig.c:405
#, c-format
msgid "Can't stat %s"
msgstr "Non se puido executar `stat' sobre %s"
#: elf/ldconfig.c:486
#, c-format
msgid "Can't stat %s\n"
msgstr "Non se puido executar `stat' sobre %s\n"
#: elf/ldconfig.c:496
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s non é unha ligazón simbólica\n"
#: elf/ldconfig.c:515
#, c-format
msgid "Can't unlink %s"
msgstr "Non se puido borrar %s"
#: elf/ldconfig.c:521
#, c-format
msgid "Can't link %s to %s"
msgstr "Non se puido ligar %s a %s"
#: elf/ldconfig.c:527
msgid " (changed)\n"
msgstr " (cambiou)\n"
#: elf/ldconfig.c:529
msgid " (SKIPPED)\n"
msgstr " (OMITIDO)\n"
#: elf/ldconfig.c:584
#, c-format
msgid "Can't find %s"
msgstr "Non se pode atopar %s"
#: elf/ldconfig.c:600 elf/ldconfig.c:759 elf/ldconfig.c:826
#, c-format
msgid "Cannot lstat %s"
msgstr "Non se pode facer lstat sobre %s"
#: elf/ldconfig.c:606
#, 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:614
#, 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:715
#, c-format
msgid "Can't open directory %s"
msgstr "Non se puido abri-lo directorio %s"
#: elf/ldconfig.c:776 elf/ldconfig.c:814 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "Non se atopou o ficheiro de entrada %s.\n"
#: elf/ldconfig.c:783
#, c-format
msgid "Cannot stat %s"
msgstr "Non se pode executar `stat' sobre %s"
#: elf/ldconfig.c:902
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "biblioteca libc6 %s nun directorio incorrecto"
#: elf/ldconfig.c:921
#, 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:1124 locale/programs/xasprintf.c:31
#: elf/ldconfig-parse.c:163 locale/programs/xasprintf.c:31
#: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
#: posix/getconf.c:503 posix/getconf.c:745
#, c-format
msgid "memory exhausted"
msgstr "memoria esgotada"
#: elf/ldconfig.c:1217
#: elf/ldconfig.c:132
msgid "Print cache"
msgstr "Amosa-la caché"
#: elf/ldconfig.c:133
msgid "Generate verbose messages"
msgstr "Visualizar máis mensaxes"
#: elf/ldconfig.c:134
msgid "Don't build cache"
msgstr "Non construí-la caché"
#: elf/ldconfig.c:136
msgid "Change to and use ROOT as root directory"
msgstr "Cambiar a e empregar RAÍZ coma directorio raíz"
#: elf/ldconfig.c:137
msgid "Use CACHE as cache file"
msgstr "Empregar CACHÉ coma un ficheiro de caché"
#: elf/ldconfig.c:140
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "Nó se procesan os directorios especificados na liña de comando. Non se constrúen as cachés."
#: elf/ldconfig.c:141
msgid "Manually link individual libraries."
msgstr "Ligue as bibliotecas individuais manualmente."
#: elf/ldconfig.c:151
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr "Configura-las Asignacións de Tempo de Execución do Ligador Dinámico"
#: elf/ldconfig.c:288
#, c-format
msgid "Path `%s' given more than once"
msgstr "Proporcionouse a ruta `%s' máis dunha vez"
#: elf/ldconfig.c:417
#, c-format
msgid "Can't stat %s"
msgstr "Non se puido executar `stat' sobre %s"
#: elf/ldconfig.c:511
#, c-format
msgid "Can't stat %s\n"
msgstr "Non se puido executar `stat' sobre %s\n"
#: elf/ldconfig.c:521
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s non é unha ligazón simbólica\n"
#: elf/ldconfig.c:540
#, c-format
msgid "Can't unlink %s"
msgstr "Non se puido borrar %s"
#: elf/ldconfig.c:546
#, c-format
msgid "Can't link %s to %s"
msgstr "Non se puido ligar %s a %s"
#: elf/ldconfig.c:552
msgid " (changed)\n"
msgstr " (cambiou)\n"
#: elf/ldconfig.c:554
msgid " (SKIPPED)\n"
msgstr " (OMITIDO)\n"
#: elf/ldconfig.c:609
#, c-format
msgid "Can't find %s"
msgstr "Non se pode atopar %s"
#: elf/ldconfig.c:625 elf/ldconfig.c:784 elf/ldconfig.c:851
#, c-format
msgid "Cannot lstat %s"
msgstr "Non se pode facer lstat sobre %s"
#: elf/ldconfig.c:631
#, 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:639
#, 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:740
#, c-format
msgid "Can't open directory %s"
msgstr "Non se puido abri-lo directorio %s"
#: elf/ldconfig.c:801 elf/ldconfig.c:839 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "Non se atopou o ficheiro de entrada %s.\n"
#: elf/ldconfig.c:808
#, c-format
msgid "Cannot stat %s"
msgstr "Non se pode executar `stat' sobre %s"
#: elf/ldconfig.c:927
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "biblioteca libc6 %s nun directorio incorrecto"
#: elf/ldconfig.c:946
#, 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:1092
#, c-format
msgid "Can't chdir to /"
msgstr "Non se pode cambiar ao directorio /"
#: elf/ldconfig.c:1258
#: elf/ldconfig.c:1136
#, c-format
msgid "Can't open cache file directory %s\n"
msgstr "Non se puido abri-lo directorio de ficheiros caché %s\n"
@@ -2740,7 +2737,7 @@ msgstr "yp_update: non se pode converti-lo servidor a nome de rede\n"
msgid "yp_update: cannot get server address\n"
msgstr "yp_update: non se pode obte-lo enderezo do servidor\n"
#: nscd/aicache.c:68 nscd/hstcache.c:451
#: nscd/aicache.c:77 nscd/hstcache.c:451
#, c-format
msgid "Haven't found \"%s\" in hosts cache!"
msgstr "¡Non atopei \"%s\" na caché de servidores!"
@@ -2800,7 +2797,7 @@ msgstr "fallou a chamada a getgrouplist"
msgid "setgroups failed"
msgstr "fallou a chamada a setgroups"
#: nscd/grpcache.c:384 nscd/hstcache.c:401 nscd/initgrcache.c:377
#: nscd/grpcache.c:384 nscd/hstcache.c:402 nscd/initgrcache.c:377
#: nscd/pwdcache.c:362 nscd/servicescache.c:309
#, c-format
msgid "short write in %s: %s"
@@ -2852,7 +2849,7 @@ msgstr "Usar unha caché separada para cada usuario"
msgid "Name Service Cache Daemon."
msgstr "Demo de Cache de Servicio de Nomes."
#: nscd/nscd.c:158 nss/getent.c:995 nss/makedb.c:208
#: nscd/nscd.c:158 nss/getent.c:1014 nss/makedb.c:208
#, c-format
msgid "wrong number of arguments"
msgstr "número de parámetros incorrecto"
@@ -2926,12 +2923,12 @@ msgstr "base-de-datos [clave ...]"
msgid "Service configuration to be used"
msgstr "Configuración do servicio a empregar"
#: nss/getent.c:154 nss/getent.c:466 nss/getent.c:513
#: nss/getent.c:158 nss/getent.c:481 nss/getent.c:528
#, c-format
msgid "Enumeration not supported on %s\n"
msgstr "A enumeración non está soportada en %s\n"
#: nss/getent.c:1005
#: nss/getent.c:1024
#, c-format
msgid "Unknown database: %s\n"
msgstr "Base de datos descoñecida: %s\n"
@@ -3055,7 +3052,7 @@ msgstr ") ou \\) sen parella"
msgid "No previous regular expression"
msgstr "Non hai unha expresión regular precedente"
#: posix/wordexp.c:1794
#: posix/wordexp.c:1806
msgid "parameter null or not set"
msgstr "parámetro nulo ou non estabrecido"
@@ -3112,7 +3109,7 @@ msgstr "%s: liña %d: comando `%s' incorrecto\n"
msgid "%s: line %d: ignoring trailing garbage `%s'\n"
msgstr "%s: liña %d: ignórase o lixo á fin de liña `%s'\n"
#: stdio-common/psiginfo-data.h:46 timezone/zdump.c:445 timezone/zic.c:652
#: stdio-common/psiginfo-data.h:46 timezone/zdump.c:424 timezone/zic.c:831
msgid "I/O error"
msgstr "Erro de E/S"
@@ -4370,164 +4367,140 @@ msgstr "Interrompido por un sinal"
msgid "%s is for unknown machine %d.\n"
msgstr "%s é para unha máquina descoñecida %d.\n"
#: timezone/zic.c:463
#: timezone/zic.c:559
#, c-format
msgid "%s: Memory exhausted: %s\n"
msgstr "%s: Memoria esgotada: %s\n"
#: timezone/zic.c:588
#: timezone/zic.c:687
msgid "standard input"
msgstr "entrada estándar"
#: timezone/zic.c:639
#: timezone/zic.c:739
#, c-format
msgid "warning: "
msgstr "aviso: "
#: timezone/zic.c:1025
#, c-format
msgid "%s: More than one -d option specified\n"
msgstr "%s: Indicouse máis dunha opción -d\n"
#: timezone/zic.c:1036
#, c-format
msgid "%s: More than one -l option specified\n"
msgstr "%s: Indicouse máis dunha opción -l\n"
#: timezone/zic.c:1047
#, c-format
msgid "%s: More than one -p option specified\n"
msgstr "%s: Indicouse máis dunha opción -p\n"
#: timezone/zic.c:1071
#, c-format
msgid "%s: More than one -L option specified\n"
msgstr "%s: Indicouse máis dunha opción -L\n"
#: timezone/zic.c:1608 timezone/zic.c:1610
#: timezone/zic.c:1895 timezone/zic.c:1897
msgid "same rule name in multiple files"
msgstr "o mesmo nome de regra aparece en varios ficheiros"
#: timezone/zic.c:1656
#: timezone/zic.c:1943
#, c-format
msgid "%s in ruleless zone"
msgstr "%s nunha zona sen regras"
#: timezone/zic.c:1688
#: timezone/zic.c:1975
msgid "line too long"
msgstr "liña demasiado longa"
#: timezone/zic.c:1709
#: timezone/zic.c:1996
#, c-format
msgid "%s: Can't open %s: %s\n"
msgstr "%s: Non se pode abrir %s: %s\n"
#: timezone/zic.c:1734
#: timezone/zic.c:2021
msgid "input line of unknown type"
msgstr "liña de entrada de tipo descoñecido"
#: timezone/zic.c:1761
#: timezone/zic.c:2049
msgid "expected continuation line not found"
msgstr "non se atopou a liña de continuación que se esperaba"
#: timezone/zic.c:1815 timezone/zic.c:3760
msgid "time overflow"
msgstr "desbordamento de tempo"
#: timezone/zic.c:1839
#: timezone/zic.c:2123
msgid "invalid saved time"
msgstr "hora gravada incorrecta"
#: timezone/zic.c:1850
#: timezone/zic.c:2134
msgid "wrong number of fields on Rule line"
msgstr "número de campos na liña Rule incorrecto"
#: timezone/zic.c:1883
#: timezone/zic.c:2167
msgid "wrong number of fields on Zone line"
msgstr "número de campos na liña Zone incorrecto"
#: timezone/zic.c:1887
#: timezone/zic.c:2171
#, c-format
msgid "\"Zone %s\" line and -l option are mutually exclusive"
msgstr "A liña \"Zone %s\" e a opción -l son mutuamente exclusivas"
#: timezone/zic.c:1892
#: timezone/zic.c:2176
#, c-format
msgid "\"Zone %s\" line and -p option are mutually exclusive"
msgstr "A liña \"Zone %s\" e a opción -p son mutuamente exclusivas"
#: timezone/zic.c:1913
#: timezone/zic.c:2197
msgid "wrong number of fields on Zone continuation line"
msgstr "número de campos na liña de continuación de Zone incorrecto"
#: timezone/zic.c:1956
#: timezone/zic.c:2241
msgid "invalid abbreviation format"
msgstr "formato de abreviatura incorrecto"
#: timezone/zic.c:1986
#: timezone/zic.c:2267
msgid "Zone continuation line end time is not after end time of previous line"
msgstr "A hora final da liña de continuación de fuso horario non segue á hora final da liña anterior"
#: timezone/zic.c:2027
#: timezone/zic.c:2308
msgid "invalid leaping year"
msgstr "ano bisesto incorrecto"
#: timezone/zic.c:2049 timezone/zic.c:2154
#: timezone/zic.c:2330 timezone/zic.c:2427
msgid "invalid month name"
msgstr "nome do mes incorrecto"
#: timezone/zic.c:2062 timezone/zic.c:2252 timezone/zic.c:2266
#: timezone/zic.c:2343 timezone/zic.c:2529 timezone/zic.c:2543
msgid "invalid day of month"
msgstr "día do mes incorrecto"
#: timezone/zic.c:2075 timezone/zic.c:2183
#: timezone/zic.c:2348 timezone/zic.c:2456
msgid "invalid time of day"
msgstr "hora do día incorrecta"
#: timezone/zic.c:2086
#: timezone/zic.c:2359
msgid "wrong number of fields on Leap line"
msgstr "número de campos na liña Leap incorrecto"
#: timezone/zic.c:2125
#: timezone/zic.c:2398
msgid "wrong number of fields on Link line"
msgstr "número de campos na liña Link incorrecto"
#: timezone/zic.c:2199
#: timezone/zic.c:2472
msgid "invalid starting year"
msgstr "ano de inicio incorrecto"
#: timezone/zic.c:2214
#: timezone/zic.c:2487
msgid "invalid ending year"
msgstr "ano final incorecto"
#: timezone/zic.c:2218
#: timezone/zic.c:2491
msgid "starting year greater than ending year"
msgstr "o ano de comezo é maior có ano final"
#: timezone/zic.c:2257
#: timezone/zic.c:2534
msgid "invalid weekday name"
msgstr "día da semana incorrecto"
#: timezone/zic.c:3388
#: timezone/zic.c:3684
msgid "can't determine time zone abbreviation to use just after until time"
msgstr "non podo determina-la abreviatura do fuso horario a usar despois da hora"
#: timezone/zic.c:3512
#: timezone/zic.c:3816
msgid "too many local time types"
msgstr "demasiados tipos de hora local"
#: timezone/zic.c:3530
msgid "too many leap seconds"
msgstr "demasiados segundos de compensación"
#: timezone/zic.c:3741
#: timezone/zic.c:4043
msgid "Odd number of quotation marks"
msgstr "Número de comiñas impar"
#: timezone/zic.c:3838
#: timezone/zic.c:4062
msgid "time overflow"
msgstr "desbordamento de tempo"
#: timezone/zic.c:4154
msgid "use of 2/29 in non leap-year"
msgstr "uso do 29 de febreiro nun ano non bisesto"
#: timezone/zic.c:3901
#: timezone/zic.c:4246
msgid "too many, or too long, time zone abbreviations"
msgstr "demasiadas abreviaturas de fuso horario, ou demasiado longas"
+403 -496
View File
File diff suppressed because it is too large Load Diff
+69 -68
View File
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libc 2.10.1\n"
"POT-Creation-Date: 2026-01-19 16:22+0100\n"
"POT-Creation-Date: 2026-07-01 10:52+0900\n"
"PO-Revision-Date: 2009-08-04 02:23+0200\n"
"Last-Translator: Gabor Kelemen <kelemeng@gnome.hu>\n"
"Language-Team: Hungarian <translation-team-hu@lists.sourceforge.net>\n"
@@ -128,11 +128,11 @@ msgstr ""
"[KIMENETIFÁJL [BEMENETIFÁJL]...]"
#: catgets/gencat.c:247 debug/pcprofiledump.c:235 debug/xtrace.sh:63
#: elf/ldconfig.c:232 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:75
#: elf/ldconfig.c:244 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:76
#: elf/sprof.c:389 iconv/iconv_prog.c:391 iconv/iconvconfig.c:397
#: locale/programs/locale.c:292 locale/programs/localedef.c:459
#: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
#: nscd/nscd.c:521 nss/getent.c:92 nss/makedb.c:387 posix/getconf.c:533
#: nscd/nscd.c:521 nss/getent.c:96 nss/makedb.c:387 posix/getconf.c:533
#, c-format
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -144,10 +144,10 @@ msgstr ""
"garancia, még az ADOTT CÉLRE VALÓ ELADHATÓSÁGRA VAGY MEGFELELŐSÉGRE SEM.\n"
#: catgets/gencat.c:252 debug/pcprofiledump.c:240 debug/xtrace.sh:67
#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: elf/ldconfig.c:249 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: iconv/iconvconfig.c:402 locale/programs/locale.c:297
#: locale/programs/localedef.c:464 malloc/memusage.sh:74
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:101 nss/makedb.c:392
#: posix/getconf.c:538
#, c-format
msgid "Written by %s.\n"
@@ -328,43 +328,43 @@ msgstr "érvénytelen mód"
msgid "invalid mode parameter"
msgstr "érvénytelen módparaméter"
#: elf/cache.c:296 elf/ldconfig.c:1238
#: elf/cache.c:357 elf/ldconfig.c:1116
#, c-format
msgid "Can't open cache file %s\n"
msgstr "Nem nyitható meg a gyorsítótárfájl (%s)\n"
#: elf/cache.c:310
#: elf/cache.c:371
#, c-format
msgid "mmap of cache file failed.\n"
msgstr "a gyorsítótár mmap-olása meghiúsult.\n"
#: elf/cache.c:314 elf/cache.c:328 elf/cache.c:339
#: elf/cache.c:375 elf/cache.c:389 elf/cache.c:400
#, c-format
msgid "File is not a cache file.\n"
msgstr "A fájl nem gyorsítótárfájl.\n"
#: elf/cache.c:368 elf/cache.c:383
#: elf/cache.c:429 elf/cache.c:444
#, c-format
msgid "%d libs found in cache `%s'\n"
msgstr "%d programkönyvtár található a gyorsítótárban („%s”)\n"
#: elf/cache.c:685
#: elf/cache.c:783
#, c-format
msgid "Can't create temporary cache file %s"
msgstr "Nem hozható létre az ideiglenes gyorsítótárfájl (%s)"
#: elf/cache.c:693 elf/cache.c:703 elf/cache.c:707 elf/cache.c:712
#: elf/cache.c:731
#: elf/cache.c:791 elf/cache.c:801 elf/cache.c:805 elf/cache.c:810
#: elf/cache.c:829
#, c-format
msgid "Writing of cache data failed"
msgstr "A gyorsítótáradatok írása meghiúsult"
#: elf/cache.c:726
#: elf/cache.c:824
#, c-format
msgid "Changing access rights of %s to %#o failed"
msgstr "%s hozzáférési jogainak módosítása meghiúsult erre: %#o"
#: elf/cache.c:735
#: elf/cache.c:833
#, c-format
msgid "Renaming of %s to %s failed"
msgstr "%s átnevezése meghiúsult erre: %s"
@@ -377,156 +377,157 @@ msgstr "hiba a megosztott programkönyvtárak betöltésekor"
msgid "DYNAMIC LINKER BUG!!!"
msgstr "HIBA A DINAMIKUS LINKELŐBEN!"
#: elf/dl-close.c:363 elf/dl-open.c:297
#: elf/dl-close.c:368 elf/dl-open.c:297
msgid "cannot create scope list"
msgstr "Nem hozható létre hatókörlista"
#: elf/dl-close.c:790
#: elf/dl-close.c:795
msgid "shared object not open"
msgstr "a megosztott objektum nincs megnyitva"
#: elf/dl-deps.c:96
#: elf/dl-deps.c:103
msgid "DST not allowed in SUID/SGID programs"
msgstr "a DST nem engedélyezett SUID/SGID programokban"
#: elf/dl-deps.c:109
msgid "empty dynamic string token substitution"
msgstr "üres dinamikus karakterlánc-helyettesítés"
#: elf/dl-deps.c:115
#: elf/dl-deps.c:224 elf/dl-deps.c:286
#, c-format
msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n"
msgstr "nem tölthető be a külső „%s”, az üres dinamikus karakterlánc-helyettesítés miatt\n"
#: elf/dl-deps.c:427
#: elf/dl-deps.c:283
msgid "empty dynamic string token substitution"
msgstr "üres dinamikus karakterlánc-helyettesítés"
#: elf/dl-deps.c:449
msgid "cannot allocate dependency list"
msgstr "nem foglalható le a függőségi lista"
#: elf/dl-deps.c:467
#: elf/dl-deps.c:489
msgid "cannot allocate symbol search list"
msgstr "nem foglalható le a szimbólumkeresési lista"
#: elf/dl-load.c:424
#: elf/dl-load.c:408
msgid "cannot allocate name record"
msgstr "nem foglalható le névrekord"
#: elf/dl-load.c:510 elf/dl-load.c:623 elf/dl-load.c:717 elf/dl-load.c:814
msgid "cannot create cache for search path"
msgstr "nem hozható létre gyorsítótár a keresési útvonalhoz"
#: elf/dl-load.c:606
#: elf/dl-load.c:595
msgid "cannot create RUNPATH/RPATH copy"
msgstr "nem hozható létre RUNPATH/RPATH másolat"
#: elf/dl-load.c:703
#: elf/dl-load.c:612 elf/dl-load.c:621 elf/dl-load.c:712 elf/dl-load.c:810
#: elf/dl-load.c:830
msgid "cannot create cache for search path"
msgstr "nem hozható létre gyorsítótár a keresési útvonalhoz"
#: elf/dl-load.c:698
msgid "cannot create search path array"
msgstr "nem hozható létre keresésiútvonal-tömb"
#: elf/dl-load.c:978
msgid "cannot stat shared object"
msgstr "nem érhető el a megosztott objektum"
#: elf/dl-load.c:1071 elf/dl-load.c:2160
msgid "cannot create shared object descriptor"
msgstr "nem hozható létre megosztott objektumleíró"
#: elf/dl-load.c:1090 elf/dl-load.c:1594 elf/dl-load.c:1704
#: elf/dl-load.c:1000 elf/dl-load.c:1354 elf/dl-load.c:1647
msgid "cannot read file data"
msgstr "nem olvashatók a fájladatok"
#: elf/dl-load.c:1224
#: elf/dl-load.c:1151
msgid "cannot stat shared object"
msgstr "nem érhető el a megosztott objektum"
#: elf/dl-load.c:1246 elf/dl-load.c:2203
msgid "cannot create shared object descriptor"
msgstr "nem hozható létre megosztott objektumleíró"
#: elf/dl-load.c:1278
msgid "object file has no loadable segments"
msgstr "az objektumfájlnak nincsenek betölthető szakaszai"
#: elf/dl-load.c:1241
#: elf/dl-load.c:1291
msgid "cannot dynamically load executable"
msgstr "nem tölthető be dinamikusan a végrehajtható fájl"
#: elf/dl-load.c:1248
#: elf/dl-load.c:1298
msgid "object file has no dynamic section"
msgstr "az objektumfájlnak nincs dinamikus szakasza"
#: elf/dl-load.c:1285
#: elf/dl-load.c:1335
msgid "shared object cannot be dlopen()ed"
msgstr "megosztott objektumra nem hívható meg a dlopen()"
#: elf/dl-load.c:1298
#: elf/dl-load.c:1347
msgid "cannot allocate memory for program header"
msgstr "nem foglalható memória a program fejlécének"
#: elf/dl-load.c:1323
#: elf/dl-load.c:1377
msgid "cannot enable executable stack as shared object requires"
msgstr "nem engedélyezhető a végrehajtható verem, mint ahogy a megosztott objektum megköveteli"
#: elf/dl-load.c:1351
#: elf/dl-load.c:1401
msgid "cannot close file descriptor"
msgstr "nem zárható le a fájlleíró"
#: elf/dl-load.c:1594
#: elf/dl-load.c:1647
msgid "file too short"
msgstr "a fájl túl rövid"
#: elf/dl-load.c:1628
#: elf/dl-load.c:1681
msgid "invalid ELF header"
msgstr "érvénytelen ELF fejléc"
#: elf/dl-load.c:1645
#: elf/dl-load.c:1698
msgid "ELF file data encoding not big-endian"
msgstr "az ELF fájladatok kódolása nem big endian"
#: elf/dl-load.c:1647
#: elf/dl-load.c:1700
msgid "ELF file data encoding not little-endian"
msgstr "az ELF fájladatok kódolása nem little endian"
#: elf/dl-load.c:1651
#: elf/dl-load.c:1704
msgid "ELF file version ident does not match current one"
msgstr "az ELF fájlverzió azonosítója nem felel meg az aktuálisnak"
#: elf/dl-load.c:1655
#: elf/dl-load.c:1708
msgid "ELF file OS ABI invalid"
msgstr "az ELF fájl OS ABI-ja érvénytelen"
#: elf/dl-load.c:1658
#: elf/dl-load.c:1711
msgid "ELF file ABI version invalid"
msgstr "az ELF fájl ABI verziója érvénytelen"
#: elf/dl-load.c:1664
#: elf/dl-load.c:1717
msgid "internal error"
msgstr "belső hiba"
#: elf/dl-load.c:1671
#: elf/dl-load.c:1724
msgid "ELF file version does not match current one"
msgstr "az ELF fájlverzió nem felel meg az aktuálisnak"
#: elf/dl-load.c:1685
#: elf/dl-load.c:1738
msgid "only ET_DYN and ET_EXEC can be loaded"
msgstr "csak az ET_DYN és ET_EXEC tölthető be"
#: elf/dl-load.c:1690
#: elf/dl-load.c:1743
msgid "ELF file's phentsize not the expected size"
msgstr "az ELF fájl phentsize értéke nem a várt méretű"
#: elf/dl-load.c:2179
#: elf/dl-load.c:2222
msgid "wrong ELF class: ELFCLASS64"
msgstr "hibás ELF osztály: ELFCLASS64"
#: elf/dl-load.c:2180
#: elf/dl-load.c:2223
msgid "wrong ELF class: ELFCLASS32"
msgstr "hibás ELF osztály: ELFCLASS32"
#: elf/dl-load.c:2183
#: elf/dl-load.c:2226
msgid "cannot open shared object file"
msgstr "nem nyitható meg a megosztott objektumfájl"
#: elf/dl-load.h:126
#: elf/dl-load.h:249
msgid "failed to map segment from shared object"
msgstr "a szegmens leképezése meghiúsult a megosztott objektumból"
#: elf/dl-load.h:128
#: elf/dl-load.h:251
msgid "cannot change memory protections"
msgstr "a memóriavédelem nem módosítható"
#: elf/dl-load.h:130
#: elf/dl-load.h:253
msgid "cannot map zero-fill pages"
msgstr "nem képezhetők le a nullával kitöltött lapok"
@@ -538,7 +539,7 @@ msgstr "szimbólumkikeresési hiba"
msgid "cannot extend global scope"
msgstr "a globális hatáskör nem bővíthető"
#: elf/ldconfig.c:1124 locale/programs/xasprintf.c:31
#: elf/ldconfig-parse.c:163 locale/programs/xasprintf.c:31
#: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
#: posix/getconf.c:503 posix/getconf.c:745
#, c-format
@@ -1775,11 +1776,11 @@ msgstr "Az RPC program nem érhető el"
msgid "cannot map pages for fdesc table"
msgstr "nem képezhetők le a lapok az fdesc táblára"
#: sysdeps/hppa/dl-fptr.c:214
#: sysdeps/hppa/dl-fptr.c:212
msgid "cannot map pages for fptr table"
msgstr "nem képezhetők le a lapok az fptr táblára"
#: sysdeps/hppa/dl-fptr.c:243
#: sysdeps/hppa/dl-fptr.c:240
msgid "internal error: symidx out of range of fptr table"
msgstr "belső hiba: a symidx kívül van az fptr tábla tartományán"
@@ -1860,6 +1861,6 @@ msgstr "A paraméter-karakterlánc kódolása nem megfelelő"
msgid "%s is for unknown machine %d.\n"
msgstr "%s az ismeretlen géphez tartozik: %d.\n"
#: timezone/zic.c:588
#: timezone/zic.c:687
msgid "standard input"
msgstr "szabványos bemenet"
+225 -232
View File
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libc 2.17-pre1\n"
"POT-Creation-Date: 2026-01-19 16:22+0100\n"
"POT-Creation-Date: 2026-07-01 10:52+0900\n"
"PO-Revision-Date: 2013-04-26 04:10+0400\n"
"Last-Translator: Nik Kalach <nik.kalach@inbox.ru>\n"
"Language-Team: Interlingua <translation-team-ia@lists.sourceforge.net>\n"
@@ -125,11 +125,11 @@ msgstr ""
"-o FILE-OUTPUT [FILE-INPUT]...\n"
"[FILE-OUTPUT [FILE-INPUT]...]"
#: catgets/gencat.c:231 debug/pcprofiledump.c:219 elf/ldconfig.c:216
#: catgets/gencat.c:231 debug/pcprofiledump.c:219 elf/ldconfig.c:228
#: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:372 iconv/iconv_prog.c:374
#: iconv/iconvconfig.c:380 locale/programs/locale.c:275
#: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
#: malloc/memusagestat.c:564 nss/getent.c:961 nss/makedb.c:371
#: malloc/memusagestat.c:564 nss/getent.c:980 nss/makedb.c:371
#: posix/getconf.c:551
#, c-format
msgid ""
@@ -140,11 +140,11 @@ msgstr ""
"%s.\n"
#: catgets/gencat.c:247 debug/pcprofiledump.c:235 debug/xtrace.sh:63
#: elf/ldconfig.c:232 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:75
#: elf/ldconfig.c:244 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:76
#: elf/sprof.c:389 iconv/iconv_prog.c:391 iconv/iconvconfig.c:397
#: locale/programs/locale.c:292 locale/programs/localedef.c:459
#: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
#: nscd/nscd.c:521 nss/getent.c:92 nss/makedb.c:387 posix/getconf.c:533
#: nscd/nscd.c:521 nss/getent.c:96 nss/makedb.c:387 posix/getconf.c:533
#, c-format
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -156,10 +156,10 @@ msgstr ""
"NULLE garantia; atque pro MERCABILETATE o APTITUDE PRO UN PROPOSITO PARTICULAR.\n"
#: catgets/gencat.c:252 debug/pcprofiledump.c:240 debug/xtrace.sh:67
#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: elf/ldconfig.c:249 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: iconv/iconvconfig.c:402 locale/programs/locale.c:297
#: locale/programs/localedef.c:464 malloc/memusage.sh:74
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:101 nss/makedb.c:392
#: posix/getconf.c:538
#, c-format
msgid "Written by %s.\n"
@@ -280,7 +280,7 @@ msgstr "Dimension de punctator incorrecte"
msgid "Usage: xtrace [OPTION]... PROGRAM [PROGRAMOPTION]...\\n"
msgstr "Usage: xtrace [OPTION]... PROGRAMMA [OPTION-DE-PROGRAMMA]...\\n"
#: debug/xtrace.sh:31 elf/sotruss.sh:56 elf/sotruss.sh:67 elf/sotruss.sh:135
#: debug/xtrace.sh:31 elf/sotruss.sh:56 elf/sotruss.sh:68 elf/sotruss.sh:136
#: malloc/memusage.sh:25
msgid "Try \\`%s --help' or \\`%s --usage' for more information.\\n"
msgstr "Tenta \\`%s --help' o \\`%s --usage' pro plus de information.\\n"
@@ -354,43 +354,43 @@ msgstr "modo invalide"
msgid "invalid mode parameter"
msgstr "parametro de modo incorrecte"
#: elf/cache.c:296 elf/ldconfig.c:1238
#: elf/cache.c:357 elf/ldconfig.c:1116
#, c-format
msgid "Can't open cache file %s\n"
msgstr "Impossibile de aperir le file de cache %s\n"
#: elf/cache.c:310
#: elf/cache.c:371
#, c-format
msgid "mmap of cache file failed.\n"
msgstr "mmap sur le file de cache ha fallite.\n"
#: elf/cache.c:314 elf/cache.c:328 elf/cache.c:339
#: elf/cache.c:375 elf/cache.c:389 elf/cache.c:400
#, c-format
msgid "File is not a cache file.\n"
msgstr "Le file non es un file de cache.\n"
#: elf/cache.c:368 elf/cache.c:383
#: elf/cache.c:429 elf/cache.c:444
#, c-format
msgid "%d libs found in cache `%s'\n"
msgstr "%d bibliothecas trovate in le cache `%s'\n"
#: elf/cache.c:685
#: elf/cache.c:783
#, c-format
msgid "Can't create temporary cache file %s"
msgstr "Impossibile de crear le file de cache temporari %s"
#: elf/cache.c:693 elf/cache.c:703 elf/cache.c:707 elf/cache.c:712
#: elf/cache.c:731
#: elf/cache.c:791 elf/cache.c:801 elf/cache.c:805 elf/cache.c:810
#: elf/cache.c:829
#, c-format
msgid "Writing of cache data failed"
msgstr "Insuccesso al scriber le datos de cache"
#: elf/cache.c:726
#: elf/cache.c:824
#, c-format
msgid "Changing access rights of %s to %#o failed"
msgstr "Insuccesso del modification del derectos de accesso de %s a %#o"
#: elf/cache.c:735
#: elf/cache.c:833
#, c-format
msgid "Renaming of %s to %s failed"
msgstr "Insuccesso del cambiamento de nomine %s a %s"
@@ -403,32 +403,32 @@ msgstr "error durante le cargamento del bibliothecas condivise"
msgid "DYNAMIC LINKER BUG!!!"
msgstr "PROBLEMA CON LE EDITOR DE LIGAMINES DYNAMIC!!!"
#: elf/dl-close.c:363 elf/dl-open.c:297
#: elf/dl-close.c:368 elf/dl-open.c:297
msgid "cannot create scope list"
msgstr "impossibile de crear un lista de ambito"
#: elf/dl-close.c:790
#: elf/dl-close.c:795
msgid "shared object not open"
msgstr "objecto condivise non aperte"
#: elf/dl-deps.c:96
#: elf/dl-deps.c:103
msgid "DST not allowed in SUID/SGID programs"
msgstr "DST non se permitte in programmas con SUID/SGID"
#: elf/dl-deps.c:109
msgid "empty dynamic string token substitution"
msgstr "substitution de DST vacue"
#: elf/dl-deps.c:115
#: elf/dl-deps.c:224 elf/dl-deps.c:286
#, c-format
msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n"
msgstr "impossibile de cargar le `%s' auxiliar a causa del substitution de DST vacue\n"
#: elf/dl-deps.c:427
#: elf/dl-deps.c:283
msgid "empty dynamic string token substitution"
msgstr "substitution de DST vacue"
#: elf/dl-deps.c:449
msgid "cannot allocate dependency list"
msgstr "impossibile de allocar un lista de dependentias "
#: elf/dl-deps.c:467
#: elf/dl-deps.c:489
msgid "cannot allocate symbol search list"
msgstr "impossibile de allocar un lista pro le cerca de symbolos"
@@ -436,131 +436,132 @@ msgstr "impossibile de allocar un lista pro le cerca de symbolos"
msgid "cannot create capability list"
msgstr "impossibile de crear un lista de capabilitates"
#: elf/dl-load.c:424
#: elf/dl-load.c:408
msgid "cannot allocate name record"
msgstr "impossibile de allocar un entrata de nomine"
#: elf/dl-load.c:510 elf/dl-load.c:623 elf/dl-load.c:717 elf/dl-load.c:814
msgid "cannot create cache for search path"
msgstr "impossibile de crear un cache pro le percurso de cerca"
#: elf/dl-load.c:606
#: elf/dl-load.c:595
msgid "cannot create RUNPATH/RPATH copy"
msgstr "impossibile de crear un copia de RUNPATH/RPATH"
#: elf/dl-load.c:703
#: elf/dl-load.c:612 elf/dl-load.c:621 elf/dl-load.c:712 elf/dl-load.c:810
#: elf/dl-load.c:830
msgid "cannot create cache for search path"
msgstr "impossibile de crear un cache pro le percurso de cerca"
#: elf/dl-load.c:698
msgid "cannot create search path array"
msgstr "impossibile de crear un array del percurso de cerca"
#: elf/dl-load.c:978
msgid "cannot stat shared object"
msgstr "impossibile de effectuar stat sur le objecto condivise"
#: elf/dl-load.c:1071 elf/dl-load.c:2160
msgid "cannot create shared object descriptor"
msgstr "impossibile de crear un descriptor de objecto condivise"
#: elf/dl-load.c:1090 elf/dl-load.c:1594 elf/dl-load.c:1704
#: elf/dl-load.c:1000 elf/dl-load.c:1354 elf/dl-load.c:1647
msgid "cannot read file data"
msgstr "impossibile de leger datos del file"
#: elf/dl-load.c:1224
#: elf/dl-load.c:1151
msgid "cannot stat shared object"
msgstr "impossibile de effectuar stat sur le objecto condivise"
#: elf/dl-load.c:1246 elf/dl-load.c:2203
msgid "cannot create shared object descriptor"
msgstr "impossibile de crear un descriptor de objecto condivise"
#: elf/dl-load.c:1278
msgid "object file has no loadable segments"
msgstr "le file de objecto non ha segmentos cargabile"
#: elf/dl-load.c:1241
#: elf/dl-load.c:1291
msgid "cannot dynamically load executable"
msgstr "impossibile de cargar dynamicamente un executabile"
#: elf/dl-load.c:1248
#: elf/dl-load.c:1298
msgid "object file has no dynamic section"
msgstr "le file de objecto non ha un section dynamic"
#: elf/dl-load.c:1285
#: elf/dl-load.c:1335
msgid "shared object cannot be dlopen()ed"
msgstr "le objecto condivise non pote esser aperite via dlopen()"
#: elf/dl-load.c:1298
#: elf/dl-load.c:1347
msgid "cannot allocate memory for program header"
msgstr "impossibile de allocar le memoria pro un testa de programma"
#: elf/dl-load.c:1323
#: elf/dl-load.c:1377
msgid "cannot enable executable stack as shared object requires"
msgstr "impossibile de habilitar un pila executabile como le objecto condivise necessita"
#: elf/dl-load.c:1351
#: elf/dl-load.c:1401
msgid "cannot close file descriptor"
msgstr "impossibile de clauder un descriptor de file"
#: elf/dl-load.c:1594
#: elf/dl-load.c:1647
msgid "file too short"
msgstr "file troppo curte"
#: elf/dl-load.c:1628
#: elf/dl-load.c:1681
msgid "invalid ELF header"
msgstr "testa ELF incorrecte"
#: elf/dl-load.c:1645
#: elf/dl-load.c:1698
msgid "ELF file data encoding not big-endian"
msgstr "le codification de datos del file ELF non es big-endian"
#: elf/dl-load.c:1647
#: elf/dl-load.c:1700
msgid "ELF file data encoding not little-endian"
msgstr "le codification de datos del file ELF non es little-endian"
#: elf/dl-load.c:1651
#: elf/dl-load.c:1704
msgid "ELF file version ident does not match current one"
msgstr "le identificator de version del file ELF non corresponde con le version actual"
#: elf/dl-load.c:1655
#: elf/dl-load.c:1708
msgid "ELF file OS ABI invalid"
msgstr "ABI de systema operative del file ELF invalide"
#: elf/dl-load.c:1658
#: elf/dl-load.c:1711
msgid "ELF file ABI version invalid"
msgstr "Version de ABI del file ELF invalide"
#: elf/dl-load.c:1661
#: elf/dl-load.c:1714
msgid "nonzero padding in e_ident"
msgstr "impletion con non-zeros in e_ident"
#: elf/dl-load.c:1664
#: elf/dl-load.c:1717
msgid "internal error"
msgstr "error interne"
#: elf/dl-load.c:1671
#: elf/dl-load.c:1724
msgid "ELF file version does not match current one"
msgstr "Le version del file ELF non corresponde con le version actual"
#: elf/dl-load.c:1685
#: elf/dl-load.c:1738
msgid "only ET_DYN and ET_EXEC can be loaded"
msgstr "solo ET_DYN e ET_EXEC pote esser cargate"
#: elf/dl-load.c:1690
#: elf/dl-load.c:1743
msgid "ELF file's phentsize not the expected size"
msgstr "Le valor `phentsize' del file ELF non concorda con le expectation"
#: elf/dl-load.c:2179
#: elf/dl-load.c:2222
msgid "wrong ELF class: ELFCLASS64"
msgstr "classe ELF incorrecte: ELFCLASS64"
#: elf/dl-load.c:2180
#: elf/dl-load.c:2223
msgid "wrong ELF class: ELFCLASS32"
msgstr "classe ELF incorrecte: ELFCLASS32"
#: elf/dl-load.c:2183
#: elf/dl-load.c:2226
msgid "cannot open shared object file"
msgstr "impossibile de aperir un file de objecto condivise"
#: elf/dl-load.h:126
#: elf/dl-load.h:249
msgid "failed to map segment from shared object"
msgstr "insuccesso de mmap sur un objecto condivise"
#: elf/dl-load.h:128
#: elf/dl-load.h:251
msgid "cannot change memory protections"
msgstr "impossibile de modificar le protection de memoria"
#: elf/dl-load.h:130
#: elf/dl-load.h:253
msgid "cannot map zero-fill pages"
msgstr "impossibile de mmap paginas del dispositivo de impletion con zeros"
@@ -576,36 +577,36 @@ msgstr "impossibile de extender le ambito global"
msgid "TLS generation counter wrapped! Please report this."
msgstr "Le contator de generation TLS ha permitite! Reporta iste problema."
#: elf/dl-open.c:817
#: elf/dl-open.c:816
msgid "invalid mode for dlopen()"
msgstr "modo invalide pro dlopen()"
#: elf/dl-open.c:834
#: elf/dl-open.c:833
msgid "no more namespaces available for dlmopen()"
msgstr "necun altere spatios de nomines disponibile pro dlmopen()"
#: elf/dl-open.c:859
#: elf/dl-open.c:858
msgid "invalid target namespace in dlmopen()"
msgstr "spatio de nomines de destination invalide in dlmopen()"
#: elf/dl-reloc.c:140
#: elf/dl-reloc.c:139
msgid "cannot allocate memory in static TLS block"
msgstr "impossibile de allocar memoria in un bloco TLS static"
#: elf/dl-reloc.c:283
#: elf/dl-reloc.c:261
msgid "cannot make segment writable for relocation"
msgstr "impossibile de render un segmento scribibile pro le relocation"
#: elf/dl-reloc.c:313
#: elf/dl-reloc.c:311
#, c-format
msgid "%s: out of memory to store relocation results for %s\n"
msgstr "%s: memoria exhauste pro immagazinar le resultatos de relocation pro %s\n"
#: elf/dl-reloc.c:328
#: elf/dl-reloc.c:326
msgid "cannot restore segment prot after reloc"
msgstr "impossibile de restabilir le protection del segmento post le relocation"
#: elf/dl-reloc.c:366
#: elf/dl-reloc.c:364
msgid "cannot apply additional memory protection after relocation"
msgstr "impossibile de applicar le protection de memoria additional post le relocation"
@@ -613,7 +614,7 @@ msgstr "impossibile de applicar le protection de memoria additional post le relo
msgid "RTLD_NEXT used in code not dynamically loaded"
msgstr "RTLD_NEXT usate in le codice non cargate dynamicamente"
#: elf/dl-tls.c:1217
#: elf/dl-tls.c:1279
msgid "cannot create TLS data structures"
msgstr "impossibile de crear structuras de datos TLS"
@@ -625,178 +626,174 @@ msgstr "error de cerca de version"
msgid "cannot allocate version reference table"
msgstr "impossibile de allocar le tabula de referentias a versiones"
#: elf/ldconfig.c:124
msgid "Print cache"
msgstr "Monstrar le cache"
#: elf/ldconfig.c:125
msgid "Generate verbose messages"
msgstr "Monstrar messages in modo verbose"
#: elf/ldconfig.c:126
msgid "Don't build cache"
msgstr "Non construer le cache"
#: elf/ldconfig.c:128
msgid "Change to and use ROOT as root directory"
msgstr "Passar a RADICE e utilisar lo como un directorio de radice"
#: elf/ldconfig.c:128
msgid "ROOT"
msgstr "RADICE"
#: elf/ldconfig.c:129
msgid "CACHE"
msgstr "CACHE"
#: elf/ldconfig.c:129
msgid "Use CACHE as cache file"
msgstr "Utilisar CACHE como un file de cache"
#: elf/ldconfig.c:130
msgid "CONF"
msgstr "CONF"
#: elf/ldconfig.c:130
msgid "Use CONF as configuration file"
msgstr "Utilisar CONF como un file de configuration"
#: elf/ldconfig.c:131
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "Tractar solo le directorios specificate in le linea de commando. Non construer le cache."
#: elf/ldconfig.c:132
msgid "Manually link individual libraries."
msgstr "Ligar manualmente le bibliothecas individual."
#: elf/ldconfig.c:133
msgid "FORMAT"
msgstr "FORMATO"
#: elf/ldconfig.c:134
msgid "Ignore auxiliary cache file"
msgstr "Ignorar le file de cache auxiliar"
#: elf/ldconfig.c:142
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr "Configurar le associationes de tempore de execution del editor de ligamines dynamic."
#: elf/ldconfig.c:276
#, c-format
msgid "Path `%s' given more than once"
msgstr "Percurso `%s' fornite plus de un vice"
#: elf/ldconfig.c:405
#, c-format
msgid "Can't stat %s"
msgstr "Impossibile de effectuar stat sur %s"
#: elf/ldconfig.c:486
#, c-format
msgid "Can't stat %s\n"
msgstr "Impossibile de effectuar stat sur %s\n"
#: elf/ldconfig.c:496
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s non es un ligamine symbolic\n"
#: elf/ldconfig.c:515
#, c-format
msgid "Can't unlink %s"
msgstr "Impossibile de efectuar unlink sur %s"
#: elf/ldconfig.c:521
#, c-format
msgid "Can't link %s to %s"
msgstr "Impossibile de crear un ligamine de %s a %s"
#: elf/ldconfig.c:527
msgid " (changed)\n"
msgstr " (cambiate)\n"
#: elf/ldconfig.c:529
msgid " (SKIPPED)\n"
msgstr " (OMITTITE)\n"
#: elf/ldconfig.c:584
#, c-format
msgid "Can't find %s"
msgstr "Impossibile de trovar %s"
#: elf/ldconfig.c:600 elf/ldconfig.c:759 elf/ldconfig.c:826
#, c-format
msgid "Cannot lstat %s"
msgstr "Impossibile de effectuar lstat sur %s"
#: elf/ldconfig.c:606
#, c-format
msgid "Ignored file %s since it is not a regular file."
msgstr "Le file %s es ignorate proque illo non es un file regular."
#: elf/ldconfig.c:614
#, c-format
msgid "No link created since soname could not be found for %s"
msgstr "Ligamine non create proque il non esseva possibile trovar le so-nomine pro %s"
#: elf/ldconfig.c:715
#, c-format
msgid "Can't open directory %s"
msgstr "Impossibile de aperir le directorio %s"
#: elf/ldconfig.c:776 elf/ldconfig.c:814 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "Le file de entrata %s non trovate.\n"
#: elf/ldconfig.c:783
#, c-format
msgid "Cannot stat %s"
msgstr "Impossibile de effectuar stat sur %s"
#: elf/ldconfig.c:902
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "bibliotheca libc6 %s es in un directorio incorrecte"
#: elf/ldconfig.c:921
#, c-format
msgid "libraries %s and %s in directory %s have same soname but different type."
msgstr "Le bibliothecas %s e %s es in le directorio %s ha le mesme so-nomine, ma lor typo es differente."
#: elf/ldconfig.c:1050
#: elf/ldconfig-parse.c:90
#, c-format
msgid "Warning: ignoring configuration file that cannot be opened: %s"
msgstr "Advertimento: ignorar le file de configuration que non pote esser aperite: %s"
#: elf/ldconfig.c:1117
#: elf/ldconfig-parse.c:156
#, c-format
msgid "need absolute file name for configuration file when using -r"
msgstr "il es necessari usar le nomine absolute pro le file de configuration quando on utilisa -r"
#: elf/ldconfig.c:1124 locale/programs/xasprintf.c:31
#: elf/ldconfig-parse.c:163 locale/programs/xasprintf.c:31
#: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
#: posix/getconf.c:503 posix/getconf.c:745
#, c-format
msgid "memory exhausted"
msgstr "memoria exhaurite"
#: elf/ldconfig.c:1157
#: elf/ldconfig-parse.c:196
#, c-format
msgid "%s:%u: cannot read directory %s"
msgstr "%s:%u: impossibile de leger le directorio %s"
#: elf/ldconfig.c:1195
#: elf/ldconfig.c:132
msgid "Print cache"
msgstr "Monstrar le cache"
#: elf/ldconfig.c:133
msgid "Generate verbose messages"
msgstr "Monstrar messages in modo verbose"
#: elf/ldconfig.c:134
msgid "Don't build cache"
msgstr "Non construer le cache"
#: elf/ldconfig.c:136
msgid "Change to and use ROOT as root directory"
msgstr "Passar a RADICE e utilisar lo como un directorio de radice"
#: elf/ldconfig.c:136
msgid "ROOT"
msgstr "RADICE"
#: elf/ldconfig.c:137
msgid "CACHE"
msgstr "CACHE"
#: elf/ldconfig.c:137
msgid "Use CACHE as cache file"
msgstr "Utilisar CACHE como un file de cache"
#: elf/ldconfig.c:138
msgid "CONF"
msgstr "CONF"
#: elf/ldconfig.c:140
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "Tractar solo le directorios specificate in le linea de commando. Non construer le cache."
#: elf/ldconfig.c:141
msgid "Manually link individual libraries."
msgstr "Ligar manualmente le bibliothecas individual."
#: elf/ldconfig.c:142
msgid "FORMAT"
msgstr "FORMATO"
#: elf/ldconfig.c:143
msgid "Ignore auxiliary cache file"
msgstr "Ignorar le file de cache auxiliar"
#: elf/ldconfig.c:151
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr "Configurar le associationes de tempore de execution del editor de ligamines dynamic."
#: elf/ldconfig.c:288
#, c-format
msgid "Path `%s' given more than once"
msgstr "Percurso `%s' fornite plus de un vice"
#: elf/ldconfig.c:417
#, c-format
msgid "Can't stat %s"
msgstr "Impossibile de effectuar stat sur %s"
#: elf/ldconfig.c:511
#, c-format
msgid "Can't stat %s\n"
msgstr "Impossibile de effectuar stat sur %s\n"
#: elf/ldconfig.c:521
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s non es un ligamine symbolic\n"
#: elf/ldconfig.c:540
#, c-format
msgid "Can't unlink %s"
msgstr "Impossibile de efectuar unlink sur %s"
#: elf/ldconfig.c:546
#, c-format
msgid "Can't link %s to %s"
msgstr "Impossibile de crear un ligamine de %s a %s"
#: elf/ldconfig.c:552
msgid " (changed)\n"
msgstr " (cambiate)\n"
#: elf/ldconfig.c:554
msgid " (SKIPPED)\n"
msgstr " (OMITTITE)\n"
#: elf/ldconfig.c:609
#, c-format
msgid "Can't find %s"
msgstr "Impossibile de trovar %s"
#: elf/ldconfig.c:625 elf/ldconfig.c:784 elf/ldconfig.c:851
#, c-format
msgid "Cannot lstat %s"
msgstr "Impossibile de effectuar lstat sur %s"
#: elf/ldconfig.c:631
#, c-format
msgid "Ignored file %s since it is not a regular file."
msgstr "Le file %s es ignorate proque illo non es un file regular."
#: elf/ldconfig.c:639
#, c-format
msgid "No link created since soname could not be found for %s"
msgstr "Ligamine non create proque il non esseva possibile trovar le so-nomine pro %s"
#: elf/ldconfig.c:740
#, c-format
msgid "Can't open directory %s"
msgstr "Impossibile de aperir le directorio %s"
#: elf/ldconfig.c:801 elf/ldconfig.c:839 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "Le file de entrata %s non trovate.\n"
#: elf/ldconfig.c:808
#, c-format
msgid "Cannot stat %s"
msgstr "Impossibile de effectuar stat sur %s"
#: elf/ldconfig.c:927
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "bibliotheca libc6 %s es in un directorio incorrecte"
#: elf/ldconfig.c:946
#, c-format
msgid "libraries %s and %s in directory %s have same soname but different type."
msgstr "Le bibliothecas %s e %s es in le directorio %s ha le mesme so-nomine, ma lor typo es differente."
#: elf/ldconfig.c:1070
#, c-format
msgid "relative path `%s' used to build cache"
msgstr "percurso relative `%s' usate pro construer le cache"
#: elf/ldconfig.c:1217
#: elf/ldconfig.c:1092
#, c-format
msgid "Can't chdir to /"
msgstr "Impossibile de effectuar chdir a /"
#: elf/ldconfig.c:1258
#: elf/ldconfig.c:1136
#, c-format
msgid "Can't open cache file directory %s\n"
msgstr "Impossibile de aperir le directorio de files de cache %s\n"
@@ -1085,15 +1082,11 @@ msgstr "Le argumentos obligatori del optiones longe es anque obligatori pro le o
msgid "%s: option requires an argument -- '%s'\\n"
msgstr "%s: option require un argumento -- '%s'\\n"
#: elf/sotruss.sh:61
msgid "%s: option is ambiguous; possibilities:"
msgstr "%s: option es ambigue; possibilitates:"
#: elf/sotruss.sh:79
#: elf/sotruss.sh:80
msgid "Written by %s.\\n"
msgstr "Scribite per %s.\\n"
#: elf/sotruss.sh:86
#: elf/sotruss.sh:87
msgid ""
"Usage: %s [-ef] [-F FROMLIST] [-o FILENAME] [-T TOLIST] [--exit]\n"
"\t [--follow] [--from FROMLIST] [--output FILENAME] [--to TOLIST]\n"
@@ -1105,7 +1098,7 @@ msgstr ""
"\t [--help] [--usage] [--version] [--]\n"
"\t EXECUTABILE [OPTION-DEL-EXECUTABILE...]\\n"
#: elf/sotruss.sh:134
#: elf/sotruss.sh:135
msgid "%s: unrecognized option '%c%s'\\n"
msgstr "%s: option non recognoscite '%c%s'\\n"
@@ -2458,10 +2451,10 @@ msgstr ""
msgid "cannot map pages for fdesc table"
msgstr "impossibile de effectuar mmap pro le tabula fdesc"
#: sysdeps/hppa/dl-fptr.c:214
#: sysdeps/hppa/dl-fptr.c:212
msgid "cannot map pages for fptr table"
msgstr "impossibile de effectuar mmap pro le tabula fptr"
#: sysdeps/hppa/dl-fptr.c:243
#: sysdeps/hppa/dl-fptr.c:240
msgid "internal error: symidx out of range of fptr table"
msgstr "error interne: symidx es in exterior del tabula fptr"
+268 -303
View File
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libc 2.10.1\n"
"POT-Creation-Date: 2026-01-19 16:22+0100\n"
"POT-Creation-Date: 2026-07-01 10:52+0900\n"
"PO-Revision-Date: 2009-06-23 12:30+0700\n"
"Last-Translator: Arif E. Nugroho <arif_endro@yahoo.com>\n"
"Language-Team: Indonesian <translation-team-id@lists.sourceforge.net>\n"
@@ -126,11 +126,11 @@ msgstr ""
"[BERKAS-KELUARAN [BERKAS-MASUKAN]...]"
#: catgets/gencat.c:247 debug/pcprofiledump.c:235 debug/xtrace.sh:63
#: elf/ldconfig.c:232 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:75
#: elf/ldconfig.c:244 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:76
#: elf/sprof.c:389 iconv/iconv_prog.c:391 iconv/iconvconfig.c:397
#: locale/programs/locale.c:292 locale/programs/localedef.c:459
#: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
#: nscd/nscd.c:521 nss/getent.c:92 nss/makedb.c:387 posix/getconf.c:533
#: nscd/nscd.c:521 nss/getent.c:96 nss/makedb.c:387 posix/getconf.c:533
#, c-format
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -142,10 +142,10 @@ msgstr ""
"garansi; bahkan untuk PERDAGANGAN atau KECOCOKAN UNTUK SEBUAH TUJUAN TERTENTU.\n"
#: catgets/gencat.c:252 debug/pcprofiledump.c:240 debug/xtrace.sh:67
#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: elf/ldconfig.c:249 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: iconv/iconvconfig.c:402 locale/programs/locale.c:297
#: locale/programs/localedef.c:464 malloc/memusage.sh:74
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:101 nss/makedb.c:392
#: posix/getconf.c:538
#, c-format
msgid "Written by %s.\n"
@@ -326,43 +326,43 @@ msgstr "mode tidak valid"
msgid "invalid mode parameter"
msgstr "mode parameter tidak valid"
#: elf/cache.c:296 elf/ldconfig.c:1238
#: elf/cache.c:357 elf/ldconfig.c:1116
#, c-format
msgid "Can't open cache file %s\n"
msgstr "Tidak dapat membuka berkas cache %s\n"
#: elf/cache.c:310
#: elf/cache.c:371
#, c-format
msgid "mmap of cache file failed.\n"
msgstr "mmap dari berkas cache gagal.\n"
#: elf/cache.c:314 elf/cache.c:328 elf/cache.c:339
#: elf/cache.c:375 elf/cache.c:389 elf/cache.c:400
#, c-format
msgid "File is not a cache file.\n"
msgstr "Berkas bukan sebuah berkas cache.\n"
#: elf/cache.c:368 elf/cache.c:383
#: elf/cache.c:429 elf/cache.c:444
#, c-format
msgid "%d libs found in cache `%s'\n"
msgstr "%d libs ditemukan dalam cache `%s'\n"
#: elf/cache.c:685
#: elf/cache.c:783
#, c-format
msgid "Can't create temporary cache file %s"
msgstr "Tidak dapat membuat berkas cache %s sementara"
#: elf/cache.c:693 elf/cache.c:703 elf/cache.c:707 elf/cache.c:712
#: elf/cache.c:731
#: elf/cache.c:791 elf/cache.c:801 elf/cache.c:805 elf/cache.c:810
#: elf/cache.c:829
#, c-format
msgid "Writing of cache data failed"
msgstr "Penulisan dari cache data gagal"
#: elf/cache.c:726
#: elf/cache.c:824
#, c-format
msgid "Changing access rights of %s to %#o failed"
msgstr "Mengubah ijin akses dari %s ke %#o gagal"
#: elf/cache.c:735
#: elf/cache.c:833
#, c-format
msgid "Renaming of %s to %s failed"
msgstr "Mengubah nama dari %s ke %s gagal"
@@ -375,32 +375,32 @@ msgstr "error ketika melod perpustakaan terbagi"
msgid "DYNAMIC LINKER BUG!!!"
msgstr "BUG LINKER DINAMIS!!!"
#: elf/dl-close.c:363 elf/dl-open.c:297
#: elf/dl-close.c:368 elf/dl-open.c:297
msgid "cannot create scope list"
msgstr "tidak dapat membuat daftar scope"
#: elf/dl-close.c:790
#: elf/dl-close.c:795
msgid "shared object not open"
msgstr "shared objek tidak dapat dibuka"
#: elf/dl-deps.c:96
#: elf/dl-deps.c:103
msgid "DST not allowed in SUID/SGID programs"
msgstr "DST tidak diperbolehkan dalam aplikasi SUID/SGID"
#: elf/dl-deps.c:109
msgid "empty dynamic string token substitution"
msgstr "penggantian string token dinamis kosong"
#: elf/dl-deps.c:115
#: elf/dl-deps.c:224 elf/dl-deps.c:286
#, c-format
msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n"
msgstr "tidak dapat melod tambahan `%s' karena penggantian string dinamis kosong\n"
#: elf/dl-deps.c:427
#: elf/dl-deps.c:283
msgid "empty dynamic string token substitution"
msgstr "penggantian string token dinamis kosong"
#: elf/dl-deps.c:449
msgid "cannot allocate dependency list"
msgstr "tidak dapat mengalokasikan daftar ketergantungan"
#: elf/dl-deps.c:467
#: elf/dl-deps.c:489
msgid "cannot allocate symbol search list"
msgstr "tidak dapat mengalokasikan daftar pencarian simbol"
@@ -408,127 +408,128 @@ msgstr "tidak dapat mengalokasikan daftar pencarian simbol"
msgid "cannot create capability list"
msgstr "tidak dapat membuat daftar kapabilitas"
#: elf/dl-load.c:424
#: elf/dl-load.c:408
msgid "cannot allocate name record"
msgstr "tidak dapat mengalokasikan rekaman nama"
#: elf/dl-load.c:510 elf/dl-load.c:623 elf/dl-load.c:717 elf/dl-load.c:814
msgid "cannot create cache for search path"
msgstr "tidak dapat membuat cache untuk jalur pencarian"
#: elf/dl-load.c:606
#: elf/dl-load.c:595
msgid "cannot create RUNPATH/RPATH copy"
msgstr "tidak dapat membuat salinan RUNPATH/RPATH"
#: elf/dl-load.c:703
#: elf/dl-load.c:612 elf/dl-load.c:621 elf/dl-load.c:712 elf/dl-load.c:810
#: elf/dl-load.c:830
msgid "cannot create cache for search path"
msgstr "tidak dapat membuat cache untuk jalur pencarian"
#: elf/dl-load.c:698
msgid "cannot create search path array"
msgstr "tidak dapat membuah array jalur pencarian"
#: elf/dl-load.c:978
msgid "cannot stat shared object"
msgstr "tidak dapat memperoleh statistik objek terbagi"
#: elf/dl-load.c:1071 elf/dl-load.c:2160
msgid "cannot create shared object descriptor"
msgstr "tidak dapat membuat deskripsi objek terbagi"
#: elf/dl-load.c:1090 elf/dl-load.c:1594 elf/dl-load.c:1704
#: elf/dl-load.c:1000 elf/dl-load.c:1354 elf/dl-load.c:1647
msgid "cannot read file data"
msgstr "tidak dapat membaca berkas data"
#: elf/dl-load.c:1224
#: elf/dl-load.c:1151
msgid "cannot stat shared object"
msgstr "tidak dapat memperoleh statistik objek terbagi"
#: elf/dl-load.c:1246 elf/dl-load.c:2203
msgid "cannot create shared object descriptor"
msgstr "tidak dapat membuat deskripsi objek terbagi"
#: elf/dl-load.c:1278
msgid "object file has no loadable segments"
msgstr "berkas objek tidak memiliki segmen yang dapat diangkut"
#: elf/dl-load.c:1241
#: elf/dl-load.c:1291
msgid "cannot dynamically load executable"
msgstr "tidak dapat secara dinamis mengangkut aplikasi"
#: elf/dl-load.c:1248
#: elf/dl-load.c:1298
msgid "object file has no dynamic section"
msgstr "berkas objek tidak memiliki bagian dinamis"
#: elf/dl-load.c:1285
#: elf/dl-load.c:1335
msgid "shared object cannot be dlopen()ed"
msgstr "objek terbagi tidak dapat di dlopen()ed"
#: elf/dl-load.c:1298
#: elf/dl-load.c:1347
msgid "cannot allocate memory for program header"
msgstr "tidak dapat mengalokasikan memori untuk aplikasi header"
#: elf/dl-load.c:1323
#: elf/dl-load.c:1377
msgid "cannot enable executable stack as shared object requires"
msgstr "tidak dapat mengaktifkan stack aplikasi sebagai objek terbagi yang dibutuhkan"
#: elf/dl-load.c:1351
#: elf/dl-load.c:1401
msgid "cannot close file descriptor"
msgstr "tidak dapat menutup berkas deskripsi"
#: elf/dl-load.c:1594
#: elf/dl-load.c:1647
msgid "file too short"
msgstr "berkas terlalu pendek"
#: elf/dl-load.c:1628
#: elf/dl-load.c:1681
msgid "invalid ELF header"
msgstr "header ELF tidak valid"
#: elf/dl-load.c:1645
#: elf/dl-load.c:1698
msgid "ELF file data encoding not big-endian"
msgstr "berkas data enkoding ELF bukan big-endian"
#: elf/dl-load.c:1647
#: elf/dl-load.c:1700
msgid "ELF file data encoding not little-endian"
msgstr "berkas data enkoding ELF bukan little-endian"
#: elf/dl-load.c:1651
#: elf/dl-load.c:1704
msgid "ELF file version ident does not match current one"
msgstr "berkas versi ident ELF tidak cocok dengan yang sekarang"
#: elf/dl-load.c:1655
#: elf/dl-load.c:1708
msgid "ELF file OS ABI invalid"
msgstr "berkas OS ABI ELF tidak valid"
#: elf/dl-load.c:1658
#: elf/dl-load.c:1711
msgid "ELF file ABI version invalid"
msgstr "berkas versi ABI ELF tidak valid"
#: elf/dl-load.c:1664
#: elf/dl-load.c:1717
msgid "internal error"
msgstr "internal error"
#: elf/dl-load.c:1671
#: elf/dl-load.c:1724
msgid "ELF file version does not match current one"
msgstr "berkas versi ELF tidak cocok dengan yang sekarang"
#: elf/dl-load.c:1685
#: elf/dl-load.c:1738
msgid "only ET_DYN and ET_EXEC can be loaded"
msgstr "hanya ET_DYN dan ET_EXEC yang dapat diangkut"
#: elf/dl-load.c:1690
#: elf/dl-load.c:1743
msgid "ELF file's phentsize not the expected size"
msgstr "berkas phentsize ELF tidak seperti ukuran yang diduga"
#: elf/dl-load.c:2179
#: elf/dl-load.c:2222
msgid "wrong ELF class: ELFCLASS64"
msgstr "kelas ELF salah: ELFCLASS64"
#: elf/dl-load.c:2180
#: elf/dl-load.c:2223
msgid "wrong ELF class: ELFCLASS32"
msgstr "kelas ELF salah: ELFCLASS32"
#: elf/dl-load.c:2183
#: elf/dl-load.c:2226
msgid "cannot open shared object file"
msgstr "tidak dapat membuka berkas objek terbagi"
#: elf/dl-load.h:126
#: elf/dl-load.h:249
msgid "failed to map segment from shared object"
msgstr "gagal untuk memetakan segmen dari objek terbagi"
#: elf/dl-load.h:128
#: elf/dl-load.h:251
msgid "cannot change memory protections"
msgstr "tidak dapat mengubah proteksi memori"
#: elf/dl-load.h:130
#: elf/dl-load.h:253
msgid "cannot map zero-fill pages"
msgstr "tidak dapat memetakan halaman pengisian-nol"
@@ -544,36 +545,36 @@ msgstr "tidak dapat mengeksten global scope"
msgid "TLS generation counter wrapped! Please report this."
msgstr "pembuatan TLS penghitung wrapped! Tolong laporkan ini."
#: elf/dl-open.c:817
#: elf/dl-open.c:816
msgid "invalid mode for dlopen()"
msgstr "mode untuk dlopen() tidak valid"
#: elf/dl-open.c:834
#: elf/dl-open.c:833
msgid "no more namespaces available for dlmopen()"
msgstr "tidak ada lagi ruang-nama yang tersedia untuk dlmopen()"
#: elf/dl-open.c:859
#: elf/dl-open.c:858
msgid "invalid target namespace in dlmopen()"
msgstr "target ruang-nama dalam dlmopen() tidak valid"
#: elf/dl-reloc.c:140
#: elf/dl-reloc.c:139
msgid "cannot allocate memory in static TLS block"
msgstr "tidak dapat mengalokasikan memori dalam blok TLS statis"
#: elf/dl-reloc.c:283
#: elf/dl-reloc.c:261
msgid "cannot make segment writable for relocation"
msgstr "tidak dapat membuat segmen dapat ditulis untuk relokasi"
#: elf/dl-reloc.c:313
#: elf/dl-reloc.c:311
#, c-format
msgid "%s: out of memory to store relocation results for %s\n"
msgstr "%s: kehabisan dari memori untuk menyimpan hasil relokasi untuk %s\n"
#: elf/dl-reloc.c:328
#: elf/dl-reloc.c:326
msgid "cannot restore segment prot after reloc"
msgstr "tidak dapat merestore segmen prot setelah relokasi"
#: elf/dl-reloc.c:366
#: elf/dl-reloc.c:364
msgid "cannot apply additional memory protection after relocation"
msgstr "tidak dapat mengaplikasikan proteksi memori tambahan setelah relokasi"
@@ -581,7 +582,7 @@ msgstr "tidak dapat mengaplikasikan proteksi memori tambahan setelah relokasi"
msgid "RTLD_NEXT used in code not dynamically loaded"
msgstr "RTLD_NEXT digunakan dalam kode yang tidak secara dinamis diangkut"
#: elf/dl-tls.c:1217
#: elf/dl-tls.c:1279
msgid "cannot create TLS data structures"
msgstr "tidak dapat membuat struktur data TLS"
@@ -589,173 +590,169 @@ msgstr "tidak dapat membuat struktur data TLS"
msgid "cannot allocate version reference table"
msgstr "tidak dapat mengalokasikan tabel referensi versi"
#: elf/ldconfig.c:124
msgid "Print cache"
msgstr "Menampilkan cache"
#: elf/ldconfig.c:125
msgid "Generate verbose messages"
msgstr "Menghasilkan pesan verbose"
#: elf/ldconfig.c:126
msgid "Don't build cache"
msgstr "Jangan membuat cache"
#: elf/ldconfig.c:128
msgid "Change to and use ROOT as root directory"
msgstr "Ubah ke dan gunakan ROOT sebagai direktori root"
#: elf/ldconfig.c:128
msgid "ROOT"
msgstr "ROOT"
#: elf/ldconfig.c:129
msgid "CACHE"
msgstr "CACHE"
#: elf/ldconfig.c:129
msgid "Use CACHE as cache file"
msgstr "Gunakan CACHE sebagai berkas cache"
#: elf/ldconfig.c:130
msgid "CONF"
msgstr "CONF"
#: elf/ldconfig.c:130
msgid "Use CONF as configuration file"
msgstr "Gunakan CONF sebagai berkas konfigurasi"
#: elf/ldconfig.c:131
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "Hanya proses direktori yang dispesifikasikan dalam baris perintah. Jangan buat cache."
#: elf/ldconfig.c:132
msgid "Manually link individual libraries."
msgstr "Secara manual hubungkan perpustakaan individu."
#: elf/ldconfig.c:133
msgid "FORMAT"
msgstr "FORMAT"
#: elf/ldconfig.c:134
msgid "Ignore auxiliary cache file"
msgstr "Abaikan berkas cache tambahan"
#: elf/ldconfig.c:142
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr "Konfigurasi Linker Dinamis Ikatan Waktu Jalan."
#: elf/ldconfig.c:276
#, c-format
msgid "Path `%s' given more than once"
msgstr "Jalur `%s' diberikan lebih dari sekali"
#: elf/ldconfig.c:405
#, c-format
msgid "Can't stat %s"
msgstr "Tidak dapat memperoleh statistik %s"
#: elf/ldconfig.c:486
#, c-format
msgid "Can't stat %s\n"
msgstr "Tidak dapat memperoleh statistik %s\n"
#: elf/ldconfig.c:496
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s bukan sebuah link simbolis\n"
#: elf/ldconfig.c:515
#, c-format
msgid "Can't unlink %s"
msgstr "Tidak dapat memutuskan %s"
#: elf/ldconfig.c:521
#, c-format
msgid "Can't link %s to %s"
msgstr "Tidak dapat menghubungkan %s ke %s"
#: elf/ldconfig.c:527
msgid " (changed)\n"
msgstr " (berubah)\n"
#: elf/ldconfig.c:529
msgid " (SKIPPED)\n"
msgstr " (DILEWATI)\n"
#: elf/ldconfig.c:584
#, c-format
msgid "Can't find %s"
msgstr "Tidak dapat menemukan %s"
#: elf/ldconfig.c:600 elf/ldconfig.c:759 elf/ldconfig.c:826
#, c-format
msgid "Cannot lstat %s"
msgstr "Tidak dapat lstat %s"
#: elf/ldconfig.c:606
#, c-format
msgid "Ignored file %s since it is not a regular file."
msgstr "Mengabaikan berkas %s karena itu bukan sebuah berkas umum."
#: elf/ldconfig.c:614
#, c-format
msgid "No link created since soname could not be found for %s"
msgstr "Tidak ada hubungan yang dibuat karena soname tidak dapaat ditemukan untuk %s"
#: elf/ldconfig.c:715
#, c-format
msgid "Can't open directory %s"
msgstr "Tidak dapat membuka direktori %s"
#: elf/ldconfig.c:776 elf/ldconfig.c:814 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "Berkas masukan %s tidak ditemukan.\n"
#: elf/ldconfig.c:783
#, c-format
msgid "Cannot stat %s"
msgstr "Tidak dapat memperoleh statistik %s"
#: elf/ldconfig.c:902
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "perpustakaan libc6 %s berada dalam direktori salah"
#: elf/ldconfig.c:921
#, c-format
msgid "libraries %s and %s in directory %s have same soname but different type."
msgstr "perpustakaan %s dan %s berada dalam direktori %s memiliki soname sama tetapi memiliki tipe berbeda."
#: elf/ldconfig.c:1117
#: elf/ldconfig-parse.c:156
#, c-format
msgid "need absolute file name for configuration file when using -r"
msgstr "membutuhkan nama berkas absolut untuk berkas konfigurasi ketika menggunakan -r"
#: elf/ldconfig.c:1124 locale/programs/xasprintf.c:31
#: elf/ldconfig-parse.c:163 locale/programs/xasprintf.c:31
#: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
#: posix/getconf.c:503 posix/getconf.c:745
#, c-format
msgid "memory exhausted"
msgstr "kehabisan memori"
#: elf/ldconfig.c:1157
#: elf/ldconfig-parse.c:196
#, c-format
msgid "%s:%u: cannot read directory %s"
msgstr "%s:%u: tidak dapat membaca direktori %s"
#: elf/ldconfig.c:1195
#: elf/ldconfig.c:132
msgid "Print cache"
msgstr "Menampilkan cache"
#: elf/ldconfig.c:133
msgid "Generate verbose messages"
msgstr "Menghasilkan pesan verbose"
#: elf/ldconfig.c:134
msgid "Don't build cache"
msgstr "Jangan membuat cache"
#: elf/ldconfig.c:136
msgid "Change to and use ROOT as root directory"
msgstr "Ubah ke dan gunakan ROOT sebagai direktori root"
#: elf/ldconfig.c:136
msgid "ROOT"
msgstr "ROOT"
#: elf/ldconfig.c:137
msgid "CACHE"
msgstr "CACHE"
#: elf/ldconfig.c:137
msgid "Use CACHE as cache file"
msgstr "Gunakan CACHE sebagai berkas cache"
#: elf/ldconfig.c:138
msgid "CONF"
msgstr "CONF"
#: elf/ldconfig.c:140
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "Hanya proses direktori yang dispesifikasikan dalam baris perintah. Jangan buat cache."
#: elf/ldconfig.c:141
msgid "Manually link individual libraries."
msgstr "Secara manual hubungkan perpustakaan individu."
#: elf/ldconfig.c:142
msgid "FORMAT"
msgstr "FORMAT"
#: elf/ldconfig.c:143
msgid "Ignore auxiliary cache file"
msgstr "Abaikan berkas cache tambahan"
#: elf/ldconfig.c:151
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr "Konfigurasi Linker Dinamis Ikatan Waktu Jalan."
#: elf/ldconfig.c:288
#, c-format
msgid "Path `%s' given more than once"
msgstr "Jalur `%s' diberikan lebih dari sekali"
#: elf/ldconfig.c:417
#, c-format
msgid "Can't stat %s"
msgstr "Tidak dapat memperoleh statistik %s"
#: elf/ldconfig.c:511
#, c-format
msgid "Can't stat %s\n"
msgstr "Tidak dapat memperoleh statistik %s\n"
#: elf/ldconfig.c:521
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s bukan sebuah link simbolis\n"
#: elf/ldconfig.c:540
#, c-format
msgid "Can't unlink %s"
msgstr "Tidak dapat memutuskan %s"
#: elf/ldconfig.c:546
#, c-format
msgid "Can't link %s to %s"
msgstr "Tidak dapat menghubungkan %s ke %s"
#: elf/ldconfig.c:552
msgid " (changed)\n"
msgstr " (berubah)\n"
#: elf/ldconfig.c:554
msgid " (SKIPPED)\n"
msgstr " (DILEWATI)\n"
#: elf/ldconfig.c:609
#, c-format
msgid "Can't find %s"
msgstr "Tidak dapat menemukan %s"
#: elf/ldconfig.c:625 elf/ldconfig.c:784 elf/ldconfig.c:851
#, c-format
msgid "Cannot lstat %s"
msgstr "Tidak dapat lstat %s"
#: elf/ldconfig.c:631
#, c-format
msgid "Ignored file %s since it is not a regular file."
msgstr "Mengabaikan berkas %s karena itu bukan sebuah berkas umum."
#: elf/ldconfig.c:639
#, c-format
msgid "No link created since soname could not be found for %s"
msgstr "Tidak ada hubungan yang dibuat karena soname tidak dapaat ditemukan untuk %s"
#: elf/ldconfig.c:740
#, c-format
msgid "Can't open directory %s"
msgstr "Tidak dapat membuka direktori %s"
#: elf/ldconfig.c:801 elf/ldconfig.c:839 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "Berkas masukan %s tidak ditemukan.\n"
#: elf/ldconfig.c:808
#, c-format
msgid "Cannot stat %s"
msgstr "Tidak dapat memperoleh statistik %s"
#: elf/ldconfig.c:927
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "perpustakaan libc6 %s berada dalam direktori salah"
#: elf/ldconfig.c:946
#, c-format
msgid "libraries %s and %s in directory %s have same soname but different type."
msgstr "perpustakaan %s dan %s berada dalam direktori %s memiliki soname sama tetapi memiliki tipe berbeda."
#: elf/ldconfig.c:1070
#, c-format
msgid "relative path `%s' used to build cache"
msgstr "jalur relatif `%s' digunakan untuk membuat cache"
#: elf/ldconfig.c:1217
#: elf/ldconfig.c:1092
#, c-format
msgid "Can't chdir to /"
msgstr "Tidak dapat chdir ke /"
#: elf/ldconfig.c:1258
#: elf/ldconfig.c:1136
#, c-format
msgid "Can't open cache file directory %s\n"
msgstr "Tidak dapat membuat berkas cache direktori %s\n"
@@ -3189,12 +3186,12 @@ msgstr "yp_update: tidak dapat mengubah host ke netname\n"
msgid "yp_update: cannot get server address\n"
msgstr "yp_update: tidak dapat memperoleh alamat server\n"
#: nscd/aicache.c:68 nscd/hstcache.c:451
#: nscd/aicache.c:77 nscd/hstcache.c:451
#, c-format
msgid "Haven't found \"%s\" in hosts cache!"
msgstr "Belum ditemukan \"%s\" dalam cache host!"
#: nscd/aicache.c:70 nscd/hstcache.c:453
#: nscd/aicache.c:79 nscd/hstcache.c:453
#, c-format
msgid "Reloading \"%s\" in hosts cache!"
msgstr "Reloading \"%s\" dalam cache host !"
@@ -3399,7 +3396,7 @@ msgstr "getgrouplist gagal"
msgid "setgroups failed"
msgstr "setgroups gagal"
#: nscd/grpcache.c:384 nscd/hstcache.c:401 nscd/initgrcache.c:377
#: nscd/grpcache.c:384 nscd/hstcache.c:402 nscd/initgrcache.c:377
#: nscd/pwdcache.c:362 nscd/servicescache.c:309
#, c-format
msgid "short write in %s: %s"
@@ -3470,7 +3467,7 @@ msgstr "Gunakan pemisah cache untuk setiap pengguna"
msgid "Name Service Cache Daemon."
msgstr "Cache Layanan Pengguna Daemon."
#: nscd/nscd.c:158 nss/getent.c:995 nss/makedb.c:208
#: nscd/nscd.c:158 nss/getent.c:1014 nss/makedb.c:208
#, c-format
msgid "wrong number of arguments"
msgstr "jumlah salah dari argumen"
@@ -3793,25 +3790,25 @@ msgstr "basis data [kunci ...]"
msgid "Service configuration to be used"
msgstr "Konfigurasi layanan yang akan digunakan"
#: nss/getent.c:67
#: nss/getent.c:68
msgid "Get entries from administrative database."
msgstr "Dapatkan masukan dari basis data administrasi."
#: nss/getent.c:154 nss/getent.c:466 nss/getent.c:513
#: nss/getent.c:158 nss/getent.c:481 nss/getent.c:528
#, c-format
msgid "Enumeration not supported on %s\n"
msgstr "Enumerasi tidak didukung di %s\n"
#: nss/getent.c:905
#: nss/getent.c:920
#, c-format
msgid "Unknown database name"
msgstr "Nama basis data tidak dikenal"
#: nss/getent.c:939
#: nss/getent.c:958
msgid "Supported databases:\n"
msgstr "Basis data yang didukung:\n"
#: nss/getent.c:1005
#: nss/getent.c:1024
#, c-format
msgid "Unknown database: %s\n"
msgstr "Basis data tidak dikenal: %s\n"
@@ -3974,7 +3971,7 @@ msgstr "Tidak cocok ) atau \\)"
msgid "No previous regular expression"
msgstr "Tidak ada ekspresi regular sebelumnya"
#: posix/wordexp.c:1794
#: posix/wordexp.c:1806
msgid "parameter null or not set"
msgstr "parameter kosong atau tidak diset"
@@ -5283,11 +5280,11 @@ msgstr "aplikasi RPC tidak tersedia"
msgid "cannot map pages for fdesc table"
msgstr "tidak dapat memetakan halaman untuk tabel fdesc"
#: sysdeps/hppa/dl-fptr.c:214
#: sysdeps/hppa/dl-fptr.c:212
msgid "cannot map pages for fptr table"
msgstr "tidak dapat memetakan halaman untuk tabel fptr"
#: sysdeps/hppa/dl-fptr.c:243
#: sysdeps/hppa/dl-fptr.c:240
msgid "internal error: symidx out of range of fptr table"
msgstr "internal error: symidx diluar dari jangkauan tabel fptr"
@@ -5368,194 +5365,162 @@ msgstr "String parameter tidak secara benar terkode"
msgid "%s is for unknown machine %d.\n"
msgstr "%s adalah untuk mesin tidak dikenal %d.\n"
#: timezone/zdump.c:411
#: timezone/zdump.c:390
#, c-format
msgid "%s: warning: zone \"%s\" abbreviation \"%s\" %s\n"
msgstr "%s: peringatan: daerah \"%s\" kependekan \"%s\" %s\n"
#: timezone/zdump.c:543
#: timezone/zdump.c:523
#, c-format
msgid "%s: wild -c argument %s\n"
msgstr "%s: argumen -c ganas %s\n"
#: timezone/zic.c:463
#: timezone/zic.c:559
#, c-format
msgid "%s: Memory exhausted: %s\n"
msgstr "%s: Kehabisan memori: %s\n"
#: timezone/zic.c:588
#: timezone/zic.c:687
msgid "standard input"
msgstr "masukan standar"
#: timezone/zic.c:639
#: timezone/zic.c:739
#, c-format
msgid "warning: "
msgstr "peringatan: "
#: timezone/zic.c:992
#: timezone/zic.c:1249
msgid "wild compilation-time specification of zic_t"
msgstr "spesifikasi waktu-kompilasi ganas dari zic_t"
#: timezone/zic.c:1025
#, c-format
msgid "%s: More than one -d option specified\n"
msgstr "%s: Lebih dari satu pilihan -d dispesifikasikan\n"
#: timezone/zic.c:1036
#, c-format
msgid "%s: More than one -l option specified\n"
msgstr "%s: Lebih dari satu pilihan -l dispesifikasikan\n"
#: timezone/zic.c:1047
#, c-format
msgid "%s: More than one -p option specified\n"
msgstr "%s: Lebih dari satu pilihan -p dispesifikasikan\n"
#: timezone/zic.c:1071
#, c-format
msgid "%s: More than one -L option specified\n"
msgstr "%s: Lebih dari satu pilihan -L dispesifikasikan\n"
#: timezone/zic.c:1608 timezone/zic.c:1610
#: timezone/zic.c:1895 timezone/zic.c:1897
msgid "same rule name in multiple files"
msgstr "nama aturan sama dalam beberapa berkas"
#: timezone/zic.c:1656
#: timezone/zic.c:1943
#, c-format
msgid "%s in ruleless zone"
msgstr "%s dalam daerah tidak beraturan"
#: timezone/zic.c:1688
#: timezone/zic.c:1975
msgid "line too long"
msgstr "baris terlalu panjang"
#: timezone/zic.c:1709
#: timezone/zic.c:1996
#, c-format
msgid "%s: Can't open %s: %s\n"
msgstr "%s: Tidak dapat membuka %s: %s\n"
#: timezone/zic.c:1734
#: timezone/zic.c:2021
msgid "input line of unknown type"
msgstr "baris masukan dari tipe yang tidak dikenal"
#: timezone/zic.c:1761
#: timezone/zic.c:2049
msgid "expected continuation line not found"
msgstr "diduga baris kelanjutan tidak ditemukan"
#: timezone/zic.c:1815 timezone/zic.c:3760
msgid "time overflow"
msgstr "waktu overflow"
#: timezone/zic.c:1821
#: timezone/zic.c:2105
msgid "values over 24 hours not handled by pre-2007 versions of zic"
msgstr "nilai lebih 24 jam tidak ditangani oleh versi sebelum 2007 dari zic"
#: timezone/zic.c:1839
#: timezone/zic.c:2123
msgid "invalid saved time"
msgstr "waktu disimpan tidak valid"
#: timezone/zic.c:1850
#: timezone/zic.c:2134
msgid "wrong number of fields on Rule line"
msgstr "jumlah dari daerah salah dalam baris Aturan"
#: timezone/zic.c:1883
#: timezone/zic.c:2167
msgid "wrong number of fields on Zone line"
msgstr "jumlah dari daerah dalam baris daerah salah"
#: timezone/zic.c:1887
#: timezone/zic.c:2171
#, c-format
msgid "\"Zone %s\" line and -l option are mutually exclusive"
msgstr "\"Daerah %s\" baris dan pilihan -l secara mutual ekslusif"
#: timezone/zic.c:1892
#: timezone/zic.c:2176
#, c-format
msgid "\"Zone %s\" line and -p option are mutually exclusive"
msgstr "\"Daerah %s\" baris dan pilihan -p secara mutual ekslusif"
#: timezone/zic.c:1913
#: timezone/zic.c:2197
msgid "wrong number of fields on Zone continuation line"
msgstr "jumlah dari daerah salah di baris kelanjutan Daerah"
#: timezone/zic.c:1956
#: timezone/zic.c:2241
msgid "invalid abbreviation format"
msgstr "format kependekan tidak valid"
#: timezone/zic.c:1986
#: timezone/zic.c:2267
msgid "Zone continuation line end time is not after end time of previous line"
msgstr "baris kelanjutan Daerah akhir waktu tidak setelah akhir waktu dari baris sebelumnya"
#: timezone/zic.c:2027
#: timezone/zic.c:2308
msgid "invalid leaping year"
msgstr "tahun leapin tidak valid"
#: timezone/zic.c:2049 timezone/zic.c:2154
#: timezone/zic.c:2330 timezone/zic.c:2427
msgid "invalid month name"
msgstr "nama bulan tidak valid"
#: timezone/zic.c:2062 timezone/zic.c:2252 timezone/zic.c:2266
#: timezone/zic.c:2343 timezone/zic.c:2529 timezone/zic.c:2543
msgid "invalid day of month"
msgstr "hari dari bulan tidak valid"
#: timezone/zic.c:2067
msgid "time too small"
msgstr "waktu terlalu kecil"
#: timezone/zic.c:2071
msgid "time too large"
msgstr "waktu terlalu besar"
#: timezone/zic.c:2075 timezone/zic.c:2183
#: timezone/zic.c:2348 timezone/zic.c:2456
msgid "invalid time of day"
msgstr "waktu dari hari tidak valid"
#: timezone/zic.c:2086
#: timezone/zic.c:2359
msgid "wrong number of fields on Leap line"
msgstr "jumlah dari daerah salah di baris Leap"
#: timezone/zic.c:2125
#: timezone/zic.c:2398
msgid "wrong number of fields on Link line"
msgstr "jumlah dari daerah salah di baris sambungan"
#: timezone/zic.c:2199
#: timezone/zic.c:2472
msgid "invalid starting year"
msgstr "awal tahun tidak valid"
#: timezone/zic.c:2214
#: timezone/zic.c:2487
msgid "invalid ending year"
msgstr "akhir tahun tidak valid"
#: timezone/zic.c:2218
#: timezone/zic.c:2491
msgid "starting year greater than ending year"
msgstr "awal tahun lebih besar dari akhir tahun"
#: timezone/zic.c:2257
#: timezone/zic.c:2534
msgid "invalid weekday name"
msgstr "nama hari-minggu tidak valid"
#: timezone/zic.c:3388
#: timezone/zic.c:3684
msgid "can't determine time zone abbreviation to use just after until time"
msgstr "tidak dapat menentukan kependekan daerah waktu untuk digunakan setelah waktu"
#: timezone/zic.c:3512
#: timezone/zic.c:3816
msgid "too many local time types"
msgstr "terlalu banyak tipe waktu lokal"
#: timezone/zic.c:3530
msgid "too many leap seconds"
msgstr "terlalu banyak leap detik"
#: timezone/zic.c:3741
#: timezone/zic.c:4043
msgid "Odd number of quotation marks"
msgstr "Jumlah dari tanda kuotasi ganjil"
#: timezone/zic.c:3838
#: timezone/zic.c:4062
msgid "time overflow"
msgstr "waktu overflow"
#: timezone/zic.c:4154
msgid "use of 2/29 in non leap-year"
msgstr "penggunaan dari 2/29 dalam bukan leap-year"
#: timezone/zic.c:3895
#: timezone/zic.c:4205
msgid "time zone abbreviation differs from POSIX standard"
msgstr "kependekan daerah waktu berbeda dari standar POSIX"
#: timezone/zic.c:3901
#: timezone/zic.c:4246
msgid "too many, or too long, time zone abbreviations"
msgstr "terlalu banyak, atau terlalu panjang, kependekan daerah waktu"
+309 -374
View File
File diff suppressed because it is too large Load Diff
+270 -309
View File
@@ -8,7 +8,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libc 2.36.9000\n"
"POT-Creation-Date: 2026-01-19 16:22+0100\n"
"POT-Creation-Date: 2026-07-01 10:52+0900\n"
"PO-Revision-Date: 2023-05-09 08:02+0900\n"
"Last-Translator: Takeshi Hamasaki <hmatrjp@users.sourceforge.jp>\n"
"Language-Team: Japanese <translation-team-ja@lists.sourceforge.net>\n"
@@ -135,11 +135,11 @@ msgstr ""
"[OUTPUT-FILE [INPUT-FILE]...]"
#: catgets/gencat.c:247 debug/pcprofiledump.c:235 debug/xtrace.sh:63
#: elf/ldconfig.c:232 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:75
#: elf/ldconfig.c:244 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:76
#: elf/sprof.c:389 iconv/iconv_prog.c:391 iconv/iconvconfig.c:397
#: locale/programs/locale.c:292 locale/programs/localedef.c:459
#: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
#: nscd/nscd.c:521 nss/getent.c:92 nss/makedb.c:387 posix/getconf.c:533
#: nscd/nscd.c:521 nss/getent.c:96 nss/makedb.c:387 posix/getconf.c:533
#, c-format
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -151,10 +151,10 @@ msgstr ""
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
#: catgets/gencat.c:252 debug/pcprofiledump.c:240 debug/xtrace.sh:67
#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: elf/ldconfig.c:249 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: iconv/iconvconfig.c:402 locale/programs/locale.c:297
#: locale/programs/localedef.c:464 malloc/memusage.sh:74
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:101 nss/makedb.c:392
#: posix/getconf.c:538
#, c-format
msgid "Written by %s.\n"
@@ -275,7 +275,7 @@ msgstr "無効なポインタサイズです"
msgid "Usage: xtrace [OPTION]... PROGRAM [PROGRAMOPTION]...\\n"
msgstr "使用法: xtrace [OPTION]... PROGRAM [PROGRAMOPTION]...\\n"
#: debug/xtrace.sh:31 elf/sotruss.sh:56 elf/sotruss.sh:67 elf/sotruss.sh:135
#: debug/xtrace.sh:31 elf/sotruss.sh:56 elf/sotruss.sh:68 elf/sotruss.sh:136
#: malloc/memusage.sh:25
msgid "Try \\`%s --help' or \\`%s --usage' for more information.\\n"
msgstr "詳細は `%s --help' または `%s --usage' を実行して下さい。\\n"
@@ -343,43 +343,43 @@ msgstr "無効なモードです"
msgid "invalid mode parameter"
msgstr "無効なモードパラメータです"
#: elf/cache.c:296 elf/ldconfig.c:1238
#: elf/cache.c:357 elf/ldconfig.c:1116
#, c-format
msgid "Can't open cache file %s\n"
msgstr "キャッシュファイル %s を開けません\n"
#: elf/cache.c:310
#: elf/cache.c:371
#, c-format
msgid "mmap of cache file failed.\n"
msgstr "キャッシュファイルの mmap に失敗しました。\n"
#: elf/cache.c:314 elf/cache.c:328 elf/cache.c:339
#: elf/cache.c:375 elf/cache.c:389 elf/cache.c:400
#, c-format
msgid "File is not a cache file.\n"
msgstr "ファイルはキャッシュファイルではありません.\n"
#: elf/cache.c:368 elf/cache.c:383
#: elf/cache.c:429 elf/cache.c:444
#, c-format
msgid "%d libs found in cache `%s'\n"
msgstr "%d 個のライブラリがキャッシュ `%s' 内で見つかりました\n"
#: elf/cache.c:685
#: elf/cache.c:783
#, c-format
msgid "Can't create temporary cache file %s"
msgstr "一時キャッシュファイル %s を作成できません"
#: elf/cache.c:693 elf/cache.c:703 elf/cache.c:707 elf/cache.c:712
#: elf/cache.c:731
#: elf/cache.c:791 elf/cache.c:801 elf/cache.c:805 elf/cache.c:810
#: elf/cache.c:829
#, c-format
msgid "Writing of cache data failed"
msgstr "キャッシュデータの書込みに失敗しました"
#: elf/cache.c:726
#: elf/cache.c:824
#, c-format
msgid "Changing access rights of %s to %#o failed"
msgstr "%s のアクセス権限を %#o へ変更するのに失敗しました"
#: elf/cache.c:735
#: elf/cache.c:833
#, c-format
msgid "Renaming of %s to %s failed"
msgstr "%s から %s への名前変更に失敗しました"
@@ -392,32 +392,32 @@ msgstr "共有ライブラリのロード中にエラーが発生しました"
msgid "DYNAMIC LINKER BUG!!!"
msgstr "ダイナミックリンカのバグです!!!"
#: elf/dl-close.c:363 elf/dl-open.c:297
#: elf/dl-close.c:368 elf/dl-open.c:297
msgid "cannot create scope list"
msgstr "スコープリストを作成できません"
#: elf/dl-close.c:790
#: elf/dl-close.c:795
msgid "shared object not open"
msgstr "共有オブジェクトが開けません"
#: elf/dl-deps.c:96
#: elf/dl-deps.c:103
msgid "DST not allowed in SUID/SGID programs"
msgstr "DSTは SUID/SGID プログラム内では許可されていません"
#: elf/dl-deps.c:109
msgid "empty dynamic string token substitution"
msgstr "空の動的文字列トークンの代入です"
#: elf/dl-deps.c:115
#: elf/dl-deps.c:224 elf/dl-deps.c:286
#, c-format
msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n"
msgstr "動的ロードに際し空文字トークンによる置換えを行ったために auxiliary `%s' のロードに失敗しました\n"
#: elf/dl-deps.c:427
#: elf/dl-deps.c:283
msgid "empty dynamic string token substitution"
msgstr "空の動的文字列トークンの代入です"
#: elf/dl-deps.c:449
msgid "cannot allocate dependency list"
msgstr "依存リストを配置出来ません"
#: elf/dl-deps.c:467
#: elf/dl-deps.c:489
msgid "cannot allocate symbol search list"
msgstr "シンボル探索リストを配置出来ません"
@@ -425,131 +425,132 @@ msgstr "シンボル探索リストを配置出来ません"
msgid "cannot create capability list"
msgstr "権限リストを作成できません"
#: elf/dl-load.c:424
#: elf/dl-load.c:408
msgid "cannot allocate name record"
msgstr "名前レコードを配置できません"
#: elf/dl-load.c:510 elf/dl-load.c:623 elf/dl-load.c:717 elf/dl-load.c:814
msgid "cannot create cache for search path"
msgstr "探索パス用のキャッシュを作成できません"
#: elf/dl-load.c:606
#: elf/dl-load.c:595
msgid "cannot create RUNPATH/RPATH copy"
msgstr "RUNPATH/RPATH のコピーを作成できません"
#: elf/dl-load.c:703
#: elf/dl-load.c:612 elf/dl-load.c:621 elf/dl-load.c:712 elf/dl-load.c:810
#: elf/dl-load.c:830
msgid "cannot create cache for search path"
msgstr "探索パス用のキャッシュを作成できません"
#: elf/dl-load.c:698
msgid "cannot create search path array"
msgstr "探索パス配列を作成できません"
#: elf/dl-load.c:978
msgid "cannot stat shared object"
msgstr "共有オブジェクトの状態取得 (stat) ができません"
#: elf/dl-load.c:1071 elf/dl-load.c:2160
msgid "cannot create shared object descriptor"
msgstr "共有オブジェクト記述子を作成できません"
#: elf/dl-load.c:1090 elf/dl-load.c:1594 elf/dl-load.c:1704
#: elf/dl-load.c:1000 elf/dl-load.c:1354 elf/dl-load.c:1647
msgid "cannot read file data"
msgstr "ファイルデータを読み込めません"
#: elf/dl-load.c:1224
#: elf/dl-load.c:1151
msgid "cannot stat shared object"
msgstr "共有オブジェクトの状態取得 (stat) ができません"
#: elf/dl-load.c:1246 elf/dl-load.c:2203
msgid "cannot create shared object descriptor"
msgstr "共有オブジェクト記述子を作成できません"
#: elf/dl-load.c:1278
msgid "object file has no loadable segments"
msgstr "オブジェクトファイルはロード可能セグメントを持っていません"
#: elf/dl-load.c:1241
#: elf/dl-load.c:1291
msgid "cannot dynamically load executable"
msgstr "実行ファイルを動的にロードできません"
#: elf/dl-load.c:1248
#: elf/dl-load.c:1298
msgid "object file has no dynamic section"
msgstr "オブジェクトファイルは動的セクションを持っていません"
#: elf/dl-load.c:1285
#: elf/dl-load.c:1335
msgid "shared object cannot be dlopen()ed"
msgstr "共有オブジェクトは dlopen() できません"
#: elf/dl-load.c:1298
#: elf/dl-load.c:1347
msgid "cannot allocate memory for program header"
msgstr "プログラムヘッダー用のメモリを配置できません"
#: elf/dl-load.c:1323
#: elf/dl-load.c:1377
msgid "cannot enable executable stack as shared object requires"
msgstr "共有オブジェクトが必要としている実行可能スタックを有効にできません"
#: elf/dl-load.c:1351
#: elf/dl-load.c:1401
msgid "cannot close file descriptor"
msgstr "ファイル記述子を閉じられません"
#: elf/dl-load.c:1594
#: elf/dl-load.c:1647
msgid "file too short"
msgstr "ファイルが小さすぎます"
#: elf/dl-load.c:1628
#: elf/dl-load.c:1681
msgid "invalid ELF header"
msgstr "無効な ELF ヘッダーです"
#: elf/dl-load.c:1645
#: elf/dl-load.c:1698
msgid "ELF file data encoding not big-endian"
msgstr "ELF ファイルデータのエンコーディングがビッグエンディアンではありません"
#: elf/dl-load.c:1647
#: elf/dl-load.c:1700
msgid "ELF file data encoding not little-endian"
msgstr "ELF ファイルデータのエンコーディングがリトルエンディアンではありません"
#: elf/dl-load.c:1651
#: elf/dl-load.c:1704
msgid "ELF file version ident does not match current one"
msgstr "ELF ファイルバージョン識別子が現在のものと一致していません"
#: elf/dl-load.c:1655
#: elf/dl-load.c:1708
msgid "ELF file OS ABI invalid"
msgstr "ELF ファイル OS ABI が無効です"
#: elf/dl-load.c:1658
#: elf/dl-load.c:1711
msgid "ELF file ABI version invalid"
msgstr "ELF ファイル ABI バージョンが無効です"
#: elf/dl-load.c:1661
#: elf/dl-load.c:1714
msgid "nonzero padding in e_ident"
msgstr "e_ident 内にゼロでない詰め文字があります"
#: elf/dl-load.c:1664
#: elf/dl-load.c:1717
msgid "internal error"
msgstr "内部エラー"
#: elf/dl-load.c:1671
#: elf/dl-load.c:1724
msgid "ELF file version does not match current one"
msgstr "ELFファイルのバージョン番号が現在のファイルに一致していません"
#: elf/dl-load.c:1685
#: elf/dl-load.c:1738
msgid "only ET_DYN and ET_EXEC can be loaded"
msgstr "ET_DYN と ET_EXEC のみロード可能です"
#: elf/dl-load.c:1690
#: elf/dl-load.c:1743
msgid "ELF file's phentsize not the expected size"
msgstr "ELF ファイルの phentsize が予期されたサイズではありません"
#: elf/dl-load.c:2179
#: elf/dl-load.c:2222
msgid "wrong ELF class: ELFCLASS64"
msgstr "間違った ELF クラスです: ELFCLASS64"
#: elf/dl-load.c:2180
#: elf/dl-load.c:2223
msgid "wrong ELF class: ELFCLASS32"
msgstr "間違った ELF クラスです: ELFCLASS32"
#: elf/dl-load.c:2183
#: elf/dl-load.c:2226
msgid "cannot open shared object file"
msgstr "共有オブジェクトファイルを開けません"
#: elf/dl-load.h:126
#: elf/dl-load.h:249
msgid "failed to map segment from shared object"
msgstr "共有オブジェクトのセグメントをマップするのに失敗しました"
#: elf/dl-load.h:128
#: elf/dl-load.h:251
msgid "cannot change memory protections"
msgstr "メモリ保護を変更できません"
#: elf/dl-load.h:130
#: elf/dl-load.h:253
msgid "cannot map zero-fill pages"
msgstr "ゼロで埋められたページをマップできません"
@@ -565,36 +566,36 @@ msgstr "大域スコープを拡張できません"
msgid "TLS generation counter wrapped! Please report this."
msgstr "TLS 生成カウンタが一周しました! これを報告してください。"
#: elf/dl-open.c:817
#: elf/dl-open.c:816
msgid "invalid mode for dlopen()"
msgstr "dlopen() 用の無効なモードです"
#: elf/dl-open.c:834
#: elf/dl-open.c:833
msgid "no more namespaces available for dlmopen()"
msgstr "dlmopen() 用にこれ以上名前空間を使用出来ません"
#: elf/dl-open.c:859
#: elf/dl-open.c:858
msgid "invalid target namespace in dlmopen()"
msgstr "dlmopen() 内で無効なターゲット名前空間です"
#: elf/dl-reloc.c:140
#: elf/dl-reloc.c:139
msgid "cannot allocate memory in static TLS block"
msgstr "静的 TLS ブロック内にメモリを配置出来ません"
#: elf/dl-reloc.c:283
#: elf/dl-reloc.c:261
msgid "cannot make segment writable for relocation"
msgstr "セグメントを再配置用に書き込み可能に出来ません"
#: elf/dl-reloc.c:313
#: elf/dl-reloc.c:311
#, c-format
msgid "%s: out of memory to store relocation results for %s\n"
msgstr "%s: %s 用の再配置結果を保存するときにメモリが足りなくなりました\n"
#: elf/dl-reloc.c:328
#: elf/dl-reloc.c:326
msgid "cannot restore segment prot after reloc"
msgstr "再配置後にセグメントの prot を復元できません"
#: elf/dl-reloc.c:366
#: elf/dl-reloc.c:364
msgid "cannot apply additional memory protection after relocation"
msgstr "再配置後に追加のメモリ保護を適用できません"
@@ -602,7 +603,7 @@ msgstr "再配置後に追加のメモリ保護を適用できません"
msgid "RTLD_NEXT used in code not dynamically loaded"
msgstr "コード内で使用されている RTLD_NEXT を動的にロード出来ません"
#: elf/dl-tls.c:1217
#: elf/dl-tls.c:1279
msgid "cannot create TLS data structures"
msgstr "TLS データ構造体を作成できません"
@@ -614,173 +615,169 @@ msgstr "バージョン検索エラーです"
msgid "cannot allocate version reference table"
msgstr "バージョン参照表を配置出来ません"
#: elf/ldconfig.c:124
msgid "Print cache"
msgstr "キャッシュを表示します"
#: elf/ldconfig.c:125
msgid "Generate verbose messages"
msgstr "冗長なメッセージを生成します"
#: elf/ldconfig.c:126
msgid "Don't build cache"
msgstr "キャッシュの構築を行いません"
#: elf/ldconfig.c:128
msgid "Change to and use ROOT as root directory"
msgstr "ルートディレクトリを ROOT に変更し、使用します"
#: elf/ldconfig.c:128
msgid "ROOT"
msgstr "ROOT"
#: elf/ldconfig.c:129
msgid "CACHE"
msgstr "CACHE"
#: elf/ldconfig.c:129
msgid "Use CACHE as cache file"
msgstr "キャッシュファイルとして CACHE を使用します"
#: elf/ldconfig.c:130
msgid "CONF"
msgstr "CONF"
#: elf/ldconfig.c:130
msgid "Use CONF as configuration file"
msgstr "設定ファイルとして CONF を使用します"
#: elf/ldconfig.c:131
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "コマンドラインで指定されたディレクトリのみ処理します。キャッシュは作成しません。"
#: elf/ldconfig.c:132
msgid "Manually link individual libraries."
msgstr "個々のライブラリを手動でリンクしてください。"
#: elf/ldconfig.c:133
msgid "FORMAT"
msgstr "FORMAT"
#: elf/ldconfig.c:134
msgid "Ignore auxiliary cache file"
msgstr "補助キャッシュファイルを無視しています"
#: elf/ldconfig.c:142
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr "動的リンカランタイムのバインディングを設定します。"
#: elf/ldconfig.c:276
#, c-format
msgid "Path `%s' given more than once"
msgstr "パス `%s' が二回以上与えられました"
#: elf/ldconfig.c:405
#, c-format
msgid "Can't stat %s"
msgstr "%s の情報取得 (stat) ができません"
#: elf/ldconfig.c:486
#, c-format
msgid "Can't stat %s\n"
msgstr "%s の情報取得 (stat) が出来ません\n"
#: elf/ldconfig.c:496
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s はシンボリックリンクではありません\n"
#: elf/ldconfig.c:515
#, c-format
msgid "Can't unlink %s"
msgstr "%s をリンク解除できません"
#: elf/ldconfig.c:521
#, c-format
msgid "Can't link %s to %s"
msgstr "%s から %s へリンクできません"
#: elf/ldconfig.c:527
msgid " (changed)\n"
msgstr " (変更されました)\n"
#: elf/ldconfig.c:529
msgid " (SKIPPED)\n"
msgstr " (スキップされました)\n"
#: elf/ldconfig.c:584
#, c-format
msgid "Can't find %s"
msgstr "%s を見つけられません"
#: elf/ldconfig.c:600 elf/ldconfig.c:759 elf/ldconfig.c:826
#, c-format
msgid "Cannot lstat %s"
msgstr "%s の状態取得 (lstat) が出来ません"
#: elf/ldconfig.c:606
#, c-format
msgid "Ignored file %s since it is not a regular file."
msgstr "通常ファイルでないためファイル %s を無視しています。"
#: elf/ldconfig.c:614
#, c-format
msgid "No link created since soname could not be found for %s"
msgstr "%s 用の動的ライブラリ名 (soname) が見つからないためリンクが作成されませんでした"
#: elf/ldconfig.c:715
#, c-format
msgid "Can't open directory %s"
msgstr "ディレクトリ %s を開けません"
#: elf/ldconfig.c:776 elf/ldconfig.c:814 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "入力ファイル %s が見つかりません。\n"
#: elf/ldconfig.c:783
#, c-format
msgid "Cannot stat %s"
msgstr "%s の状態取得 (stat) が出来ません"
#: elf/ldconfig.c:902
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "libc6 ライブラリ %s が誤ったディレクトリ内にあります"
#: elf/ldconfig.c:921
#, c-format
msgid "libraries %s and %s in directory %s have same soname but different type."
msgstr "ディレクトリ %3$s 内にあるライブラリ %1$s と %2$s は同一の動的ライブラリ名 (soname) ですが異なった型です。"
#: elf/ldconfig.c:1117
#: elf/ldconfig-parse.c:156
#, c-format
msgid "need absolute file name for configuration file when using -r"
msgstr "-r を使用しているときは設定ファイル名として絶対パスのファイル名が必要です"
#: elf/ldconfig.c:1124 locale/programs/xasprintf.c:31
#: elf/ldconfig-parse.c:163 locale/programs/xasprintf.c:31
#: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
#: posix/getconf.c:503 posix/getconf.c:745
#, c-format
msgid "memory exhausted"
msgstr "メモリを使い果たしました"
#: elf/ldconfig.c:1157
#: elf/ldconfig-parse.c:196
#, c-format
msgid "%s:%u: cannot read directory %s"
msgstr "%s:%u: ディレクトリ %s を読み込めません"
#: elf/ldconfig.c:1195
#: elf/ldconfig.c:132
msgid "Print cache"
msgstr "キャッシュを表示します"
#: elf/ldconfig.c:133
msgid "Generate verbose messages"
msgstr "冗長なメッセージを生成します"
#: elf/ldconfig.c:134
msgid "Don't build cache"
msgstr "キャッシュの構築を行いません"
#: elf/ldconfig.c:136
msgid "Change to and use ROOT as root directory"
msgstr "ルートディレクトリを ROOT に変更し、使用します"
#: elf/ldconfig.c:136
msgid "ROOT"
msgstr "ROOT"
#: elf/ldconfig.c:137
msgid "CACHE"
msgstr "CACHE"
#: elf/ldconfig.c:137
msgid "Use CACHE as cache file"
msgstr "キャッシュファイルとして CACHE を使用します"
#: elf/ldconfig.c:138
msgid "CONF"
msgstr "CONF"
#: elf/ldconfig.c:140
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "コマンドラインで指定されたディレクトリのみ処理します。キャッシュは作成しません。"
#: elf/ldconfig.c:141
msgid "Manually link individual libraries."
msgstr "個々のライブラリを手動でリンクしてください。"
#: elf/ldconfig.c:142
msgid "FORMAT"
msgstr "FORMAT"
#: elf/ldconfig.c:143
msgid "Ignore auxiliary cache file"
msgstr "補助キャッシュファイルを無視しています"
#: elf/ldconfig.c:151
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr "動的リンカランタイムのバインディングを設定します。"
#: elf/ldconfig.c:288
#, c-format
msgid "Path `%s' given more than once"
msgstr "パス `%s' が二回以上与えられました"
#: elf/ldconfig.c:417
#, c-format
msgid "Can't stat %s"
msgstr "%s の情報取得 (stat) ができません"
#: elf/ldconfig.c:511
#, c-format
msgid "Can't stat %s\n"
msgstr "%s の情報取得 (stat) が出来ません\n"
#: elf/ldconfig.c:521
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s はシンボリックリンクではありません\n"
#: elf/ldconfig.c:540
#, c-format
msgid "Can't unlink %s"
msgstr "%s をリンク解除できません"
#: elf/ldconfig.c:546
#, c-format
msgid "Can't link %s to %s"
msgstr "%s から %s へリンクできません"
#: elf/ldconfig.c:552
msgid " (changed)\n"
msgstr " (変更されました)\n"
#: elf/ldconfig.c:554
msgid " (SKIPPED)\n"
msgstr " (スキップされました)\n"
#: elf/ldconfig.c:609
#, c-format
msgid "Can't find %s"
msgstr "%s を見つけられません"
#: elf/ldconfig.c:625 elf/ldconfig.c:784 elf/ldconfig.c:851
#, c-format
msgid "Cannot lstat %s"
msgstr "%s の状態取得 (lstat) が出来ません"
#: elf/ldconfig.c:631
#, c-format
msgid "Ignored file %s since it is not a regular file."
msgstr "通常ファイルでないためファイル %s を無視しています。"
#: elf/ldconfig.c:639
#, c-format
msgid "No link created since soname could not be found for %s"
msgstr "%s 用の動的ライブラリ名 (soname) が見つからないためリンクが作成されませんでした"
#: elf/ldconfig.c:740
#, c-format
msgid "Can't open directory %s"
msgstr "ディレクトリ %s を開けません"
#: elf/ldconfig.c:801 elf/ldconfig.c:839 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "入力ファイル %s が見つかりません。\n"
#: elf/ldconfig.c:808
#, c-format
msgid "Cannot stat %s"
msgstr "%s の状態取得 (stat) が出来ません"
#: elf/ldconfig.c:927
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "libc6 ライブラリ %s が誤ったディレクトリ内にあります"
#: elf/ldconfig.c:946
#, c-format
msgid "libraries %s and %s in directory %s have same soname but different type."
msgstr "ディレクトリ %3$s 内にあるライブラリ %1$s と %2$s は同一の動的ライブラリ名 (soname) ですが異なった型です。"
#: elf/ldconfig.c:1070
#, c-format
msgid "relative path `%s' used to build cache"
msgstr "キャッシュ生成時に相対パス `%s' が使用されました"
#: elf/ldconfig.c:1217
#: elf/ldconfig.c:1092
#, c-format
msgid "Can't chdir to /"
msgstr "/ へディレクトリ移動 (chdir) 出来ません"
#: elf/ldconfig.c:1258
#: elf/ldconfig.c:1136
#, c-format
msgid "Can't open cache file directory %s\n"
msgstr "キャッシュファイルディレクトリ %s を開けません\n"
@@ -952,15 +949,11 @@ msgstr "長い形式のオプションで必須または任意の引数は、そ
msgid "%s: option requires an argument -- '%s'\\n"
msgstr "%s: オプションには引数が必要です -- '%c'\\n"
#: elf/sotruss.sh:61
msgid "%s: option is ambiguous; possibilities:"
msgstr "%s: オプション '%s' は曖昧です: 次のものが可能です:"
#: elf/sotruss.sh:79
#: elf/sotruss.sh:80
msgid "Written by %s.\\n"
msgstr "作者 %s。\\n"
#: elf/sotruss.sh:134
#: elf/sotruss.sh:135
msgid "%s: unrecognized option '%c%s'\\n"
msgstr "%s: オプション '%c%s' を認識できません\\n"
@@ -3272,12 +3265,12 @@ msgstr "yp_update: ホストをネット名へ変換できません\n"
msgid "yp_update: cannot get server address\n"
msgstr "yp_update: サーバーアドレスを取得できません\n"
#: nscd/aicache.c:68 nscd/hstcache.c:451
#: nscd/aicache.c:77 nscd/hstcache.c:451
#, c-format
msgid "Haven't found \"%s\" in hosts cache!"
msgstr "ホストキャッシュ内に \"%s\" が見つかりません!"
#: nscd/aicache.c:70 nscd/hstcache.c:453
#: nscd/aicache.c:79 nscd/hstcache.c:453
#, c-format
msgid "Reloading \"%s\" in hosts cache!"
msgstr "ホストキャッシュ内の \"%s\" を再ロードしています"
@@ -3472,7 +3465,7 @@ msgstr "getgrouplistに 失敗しました"
msgid "setgroups failed"
msgstr "setgroups に失敗しました"
#: nscd/grpcache.c:384 nscd/hstcache.c:401 nscd/initgrcache.c:377
#: nscd/grpcache.c:384 nscd/hstcache.c:402 nscd/initgrcache.c:377
#: nscd/pwdcache.c:362 nscd/servicescache.c:309
#, c-format
msgid "short write in %s: %s"
@@ -3543,7 +3536,7 @@ msgstr "ユーザごとにキャッシュを分離する"
msgid "Name Service Cache Daemon."
msgstr "名前サービスキャッシュデーモン。"
#: nscd/nscd.c:158 nss/getent.c:995 nss/makedb.c:208
#: nscd/nscd.c:158 nss/getent.c:1014 nss/makedb.c:208
#, c-format
msgid "wrong number of arguments"
msgstr "引数の数が間違っています"
@@ -3887,25 +3880,25 @@ msgstr "使用されるサービス設定"
msgid "disable IDN encoding"
msgstr "IDN エンコーディングを無効にする"
#: nss/getent.c:67
#: nss/getent.c:68
msgid "Get entries from administrative database."
msgstr "管理データベースからエントリを取得します。"
#: nss/getent.c:154 nss/getent.c:466 nss/getent.c:513
#: nss/getent.c:158 nss/getent.c:481 nss/getent.c:528
#, c-format
msgid "Enumeration not supported on %s\n"
msgstr "エミュレーションは %s 上ではサポートされていません\n"
#: nss/getent.c:905
#: nss/getent.c:920
#, c-format
msgid "Unknown database name"
msgstr "不明なデータベース名です"
#: nss/getent.c:939
#: nss/getent.c:958
msgid "Supported databases:\n"
msgstr "サポートされているデータベース:\n"
#: nss/getent.c:1005
#: nss/getent.c:1024
#, c-format
msgid "Unknown database: %s\n"
msgstr "不明なデータベースです: %s\n"
@@ -4067,7 +4060,7 @@ msgstr ") または \\) が不一致です"
msgid "No previous regular expression"
msgstr "以前に正規表現がありません"
#: posix/wordexp.c:1794
#: posix/wordexp.c:1806
msgid "parameter null or not set"
msgstr "パラメータが NULL であるか設定されていません"
@@ -4248,7 +4241,7 @@ msgstr "出力バッファーが使用可能です"
msgid "Input message available"
msgstr "入力メッセージが使用可能です"
#: stdio-common/psiginfo-data.h:46 timezone/zdump.c:445 timezone/zic.c:652
#: stdio-common/psiginfo-data.h:46 timezone/zdump.c:424 timezone/zic.c:831
msgid "I/O error"
msgstr "I/Oエラーです"
@@ -5562,11 +5555,11 @@ msgstr "RPCプログラムは利用できません"
msgid "cannot map pages for fdesc table"
msgstr "ファイル記述子 (fdesc) 表用のページをマップできません"
#: sysdeps/hppa/dl-fptr.c:214
#: sysdeps/hppa/dl-fptr.c:212
msgid "cannot map pages for fptr table"
msgstr "ファイルポインタ (fptr) 表用のページをマップできません"
#: sysdeps/hppa/dl-fptr.c:243
#: sysdeps/hppa/dl-fptr.c:240
msgid "internal error: symidx out of range of fptr table"
msgstr "内部エラー: ファイルポインタ (fptr) 表のシンボル索引が範囲外です"
@@ -5647,180 +5640,148 @@ msgstr "パラメーター文字列が正しくエンコードされていませ
msgid "%s is for unknown machine %d.\n"
msgstr "%s は未知のマシン %d に対するものです.\n"
#: timezone/zdump.c:411
#: timezone/zdump.c:390
#, c-format
msgid "%s: warning: zone \"%s\" abbreviation \"%s\" %s\n"
msgstr "%s: 警告: ゾーン \"%s\" 省略形 \"%s\" %s\n"
#: timezone/zic.c:463
#: timezone/zic.c:559
#, c-format
msgid "%s: Memory exhausted: %s\n"
msgstr "%s: メモリが足りません: %s\n"
#: timezone/zic.c:588
#: timezone/zic.c:687
msgid "standard input"
msgstr "標準入力"
#: timezone/zic.c:639
#: timezone/zic.c:739
#, c-format
msgid "warning: "
msgstr "警告: "
#: timezone/zic.c:1025
#, c-format
msgid "%s: More than one -d option specified\n"
msgstr "%s: -d オプションが複数指定されています\n"
#: timezone/zic.c:1036
#, c-format
msgid "%s: More than one -l option specified\n"
msgstr "%s: -l オプションが複数指定されています\n"
#: timezone/zic.c:1047
#, c-format
msgid "%s: More than one -p option specified\n"
msgstr "%s: -p オプションが複数指定されています\n"
#: timezone/zic.c:1071
#, c-format
msgid "%s: More than one -L option specified\n"
msgstr "%s: -L オプションが複数指定されています\n"
#: timezone/zic.c:1608 timezone/zic.c:1610
#: timezone/zic.c:1895 timezone/zic.c:1897
msgid "same rule name in multiple files"
msgstr "複数ファイルに同じルール名があります"
#: timezone/zic.c:1688
#: timezone/zic.c:1975
msgid "line too long"
msgstr "行が長すぎます"
#: timezone/zic.c:1709
#: timezone/zic.c:1996
#, c-format
msgid "%s: Can't open %s: %s\n"
msgstr "%s: %sを開けません: %s\n"
#: timezone/zic.c:1734
#: timezone/zic.c:2021
msgid "input line of unknown type"
msgstr "不明な形式の入力行です"
#: timezone/zic.c:1761
#: timezone/zic.c:2049
msgid "expected continuation line not found"
msgstr "継続行が期待されましたが見つかりません"
#: timezone/zic.c:1815 timezone/zic.c:3760
msgid "time overflow"
msgstr "時間オーバーフロー"
#: timezone/zic.c:1821
#: timezone/zic.c:2105
msgid "values over 24 hours not handled by pre-2007 versions of zic"
msgstr "2007 以前のバージョンの zic では24時間を超える値は扱えません"
#: timezone/zic.c:1839
#: timezone/zic.c:2123
msgid "invalid saved time"
msgstr "不正な保存時刻です"
#: timezone/zic.c:1850
#: timezone/zic.c:2134
msgid "wrong number of fields on Rule line"
msgstr "Rule行のフィールド数が間違っています"
#: timezone/zic.c:1883
#: timezone/zic.c:2167
msgid "wrong number of fields on Zone line"
msgstr "Zone行のフィールド数が間違っています"
#: timezone/zic.c:1887
#: timezone/zic.c:2171
#, c-format
msgid "\"Zone %s\" line and -l option are mutually exclusive"
msgstr "\"Zone %s\"行と -l オプションは同時指定できません"
#: timezone/zic.c:1892
#: timezone/zic.c:2176
#, c-format
msgid "\"Zone %s\" line and -p option are mutually exclusive"
msgstr "\"Zone %s\"行と -p オプションは同時指定できません"
#: timezone/zic.c:1913
#: timezone/zic.c:2197
msgid "wrong number of fields on Zone continuation line"
msgstr "Zone continuation行のフィールド数が間違っています"
#: timezone/zic.c:1956
#: timezone/zic.c:2241
msgid "invalid abbreviation format"
msgstr "無効な省略形です"
#: timezone/zic.c:1986
#: timezone/zic.c:2267
msgid "Zone continuation line end time is not after end time of previous line"
msgstr "ゾーン連続行 end time は前の行の end time よりも後であってはなりません"
#: timezone/zic.c:2027
#: timezone/zic.c:2308
msgid "invalid leaping year"
msgstr "無効なうるう年です"
#: timezone/zic.c:2049 timezone/zic.c:2154
#: timezone/zic.c:2330 timezone/zic.c:2427
msgid "invalid month name"
msgstr "無効なな月名です"
#: timezone/zic.c:2062 timezone/zic.c:2252 timezone/zic.c:2266
#: timezone/zic.c:2343 timezone/zic.c:2529 timezone/zic.c:2543
msgid "invalid day of month"
msgstr "一月あたりの日にちが無効です"
#: timezone/zic.c:2067
msgid "time too small"
msgstr "時刻が小さすぎます"
#: timezone/zic.c:2071
msgid "time too large"
msgstr "時刻が大きすぎます"
#: timezone/zic.c:2075 timezone/zic.c:2183
#: timezone/zic.c:2348 timezone/zic.c:2456
msgid "invalid time of day"
msgstr "1日あたりの時間が無効です"
#: timezone/zic.c:2086
#: timezone/zic.c:2359
msgid "wrong number of fields on Leap line"
msgstr "Leap行のフィールド数が間違っています"
#: timezone/zic.c:2125
#: timezone/zic.c:2398
msgid "wrong number of fields on Link line"
msgstr "Link行のフィールド数が間違っています"
#: timezone/zic.c:2199
#: timezone/zic.c:2472
msgid "invalid starting year"
msgstr "無効な開始年です"
#: timezone/zic.c:2214
#: timezone/zic.c:2487
msgid "invalid ending year"
msgstr "無効な終了年です"
#: timezone/zic.c:2218
#: timezone/zic.c:2491
msgid "starting year greater than ending year"
msgstr "開始年が終了年より大きくなっています"
#: timezone/zic.c:2257
#: timezone/zic.c:2534
msgid "invalid weekday name"
msgstr "無効な曜日名です"
#: timezone/zic.c:3388
#: timezone/zic.c:3684
msgid "can't determine time zone abbreviation to use just after until time"
msgstr "ちょうどその時刻を使用するタイムゾーンの省略形を決定できません"
#: timezone/zic.c:3512
#: timezone/zic.c:3816
msgid "too many local time types"
msgstr "ローカル時間形式が多すぎます"
#: timezone/zic.c:3530
msgid "too many leap seconds"
msgstr "うるう秒が大きすぎます"
#: timezone/zic.c:3741
#: timezone/zic.c:4043
msgid "Odd number of quotation marks"
msgstr "クォートするマークが奇数個分しかありません"
#: timezone/zic.c:3838
#: timezone/zic.c:4062
msgid "time overflow"
msgstr "時間オーバーフロー"
#: timezone/zic.c:4154
msgid "use of 2/29 in non leap-year"
msgstr "うるう年ではないのに2/29を使っています"
#: timezone/zic.c:3895
#: timezone/zic.c:4205
msgid "time zone abbreviation differs from POSIX standard"
msgstr "タイムゾーン省略名が POSIX 標準と異なります"
#: timezone/zic.c:3901
#: timezone/zic.c:4246
msgid "too many, or too long, time zone abbreviations"
msgstr "タイムゾーン省略名が多すぎるか長すぎます"
+277 -337
View File
File diff suppressed because it is too large Load Diff
+404 -497
View File
File diff suppressed because it is too large Load Diff
+501 -462
View File
File diff suppressed because it is too large Load Diff
+137 -145
View File
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libc-2.7\n"
"POT-Creation-Date: 2026-01-19 16:22+0100\n"
"POT-Creation-Date: 2026-07-01 10:52+0900\n"
"PO-Revision-Date: 2009-02-12 05:24+0200\n"
"Last-Translator: Gintautas Miliauskas <gintas@akl.lt>\n"
"Language-Team: Lithuanian <komp_lt@konferencijos.lt>\n"
@@ -114,10 +114,10 @@ msgstr ""
"[IŠVEDIMO-FAILAS [DUOMENŲ-FAILAS]...]"
#: catgets/gencat.c:252 debug/pcprofiledump.c:240 debug/xtrace.sh:67
#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: elf/ldconfig.c:249 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: iconv/iconvconfig.c:402 locale/programs/locale.c:297
#: locale/programs/localedef.c:464 malloc/memusage.sh:74
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:101 nss/makedb.c:392
#: posix/getconf.c:538
#, c-format
msgid "Written by %s.\n"
@@ -204,22 +204,22 @@ msgstr "nepalaikoma dlinfo užklausa"
msgid "invalid mode"
msgstr "netaisyklinga veiksena"
#: elf/cache.c:296 elf/ldconfig.c:1238
#: elf/cache.c:357 elf/ldconfig.c:1116
#, c-format
msgid "Can't open cache file %s\n"
msgstr "Nepavyko atverti podėlio failo %s\n"
#: elf/cache.c:314 elf/cache.c:328 elf/cache.c:339
#: elf/cache.c:375 elf/cache.c:389 elf/cache.c:400
#, c-format
msgid "File is not a cache file.\n"
msgstr "Failas nėra podėlio failas.\n"
#: elf/cache.c:368 elf/cache.c:383
#: elf/cache.c:429 elf/cache.c:444
#, c-format
msgid "%d libs found in cache `%s'\n"
msgstr "Rasta %d bibliotekų podėlyje „%s“\n"
#: elf/cache.c:735
#: elf/cache.c:833
#, c-format
msgid "Renaming of %s to %s failed"
msgstr "%s pervadinimas į %s nesėkmingas"
@@ -228,83 +228,83 @@ msgstr "%s pervadinimas į %s nesėkmingas"
msgid "error while loading shared libraries"
msgstr "klaida įkeliant bendrąsias bibliotekas"
#: elf/dl-close.c:790
#: elf/dl-close.c:795
msgid "shared object not open"
msgstr "bendrasis objektas neatvertas"
#: elf/dl-deps.c:96
#: elf/dl-deps.c:103
msgid "DST not allowed in SUID/SGID programs"
msgstr "DST neleidžiamas SUID/SGID programose"
#: elf/dl-load.c:1090 elf/dl-load.c:1594 elf/dl-load.c:1704
#: elf/dl-load.c:1000 elf/dl-load.c:1354 elf/dl-load.c:1647
msgid "cannot read file data"
msgstr "nepavyko nuskaityti failo duomenų"
#: elf/dl-load.c:1224
#: elf/dl-load.c:1278
msgid "object file has no loadable segments"
msgstr "objektiniame faile nėra įkeliamų segmentų"
#: elf/dl-load.c:1248
#: elf/dl-load.c:1298
msgid "object file has no dynamic section"
msgstr "objektiniame faile nėra dinaminės sekcijos"
#: elf/dl-load.c:1285
#: elf/dl-load.c:1335
msgid "shared object cannot be dlopen()ed"
msgstr "bendrasis objektas negali būti atvertas su dlopen()"
#: elf/dl-load.c:1298
#: elf/dl-load.c:1347
msgid "cannot allocate memory for program header"
msgstr "nepavyko išskirti atminties programos antraštei"
#: elf/dl-load.c:1351
#: elf/dl-load.c:1401
msgid "cannot close file descriptor"
msgstr "nepavyko užverti failo deskriptoriaus"
#: elf/dl-load.c:1594
#: elf/dl-load.c:1647
msgid "file too short"
msgstr "failas per trumpas"
#: elf/dl-load.c:1628
#: elf/dl-load.c:1681
msgid "invalid ELF header"
msgstr "netaisyklinga ELF antraštė"
#: elf/dl-load.c:1645
#: elf/dl-load.c:1698
msgid "ELF file data encoding not big-endian"
msgstr "ELF failo duomenų koduotė ne big-endian"
#: elf/dl-load.c:1647
#: elf/dl-load.c:1700
msgid "ELF file data encoding not little-endian"
msgstr "ELF failo duomenų koduotė ne little-endian"
#: elf/dl-load.c:1651
#: elf/dl-load.c:1704
msgid "ELF file version ident does not match current one"
msgstr "ELF failo versijos identifikatorius neatitinka esamo"
#: elf/dl-load.c:1655
#: elf/dl-load.c:1708
msgid "ELF file OS ABI invalid"
msgstr "ELF failo OS ABI netaisyklingas"
#: elf/dl-load.c:1658
#: elf/dl-load.c:1711
msgid "ELF file ABI version invalid"
msgstr "ELF failo ABI versija netaisyklinga"
#: elf/dl-load.c:1664
#: elf/dl-load.c:1717
msgid "internal error"
msgstr "vidinė klaida"
#: elf/dl-load.c:1671
#: elf/dl-load.c:1724
msgid "ELF file version does not match current one"
msgstr "ELF failo versija neatitinka esamos"
#: elf/dl-load.c:2179
#: elf/dl-load.c:2222
msgid "wrong ELF class: ELFCLASS64"
msgstr "klaidinga ELF klasė: ELFCLASS64"
#: elf/dl-load.c:2180
#: elf/dl-load.c:2223
msgid "wrong ELF class: ELFCLASS32"
msgstr "klaidinga ELF klasė: ELFCLASS32"
#: elf/dl-load.c:2183
#: elf/dl-load.c:2226
msgid "cannot open shared object file"
msgstr "nepavyko atverti bendrojo objekto failo"
@@ -316,127 +316,123 @@ msgstr "simbolio paieškos klaida"
msgid "TLS generation counter wrapped! Please report this."
msgstr "TLS kartų skaitiklis persivertė! Prašytume apie tai pranešti."
#: elf/dl-open.c:817
#: elf/dl-open.c:816
msgid "invalid mode for dlopen()"
msgstr "netaisyklinga veiksena dlopen()"
#: elf/dl-tls.c:1217
#: elf/dl-tls.c:1279
msgid "cannot create TLS data structures"
msgstr "nepavyko sukurti TLS duomenų struktūrų"
#: elf/ldconfig.c:124
msgid "Print cache"
msgstr "Spausdinti podėlį"
#: elf/ldconfig.c:125
msgid "Generate verbose messages"
msgstr "Generuoti išsamius pranešimus"
#: elf/ldconfig.c:126
msgid "Don't build cache"
msgstr "Nekurti podėlio"
#: elf/ldconfig.c:128
msgid "Change to and use ROOT as root directory"
msgstr "Naudoti ŠAKNĮ kaip šakninį aplanką"
#: elf/ldconfig.c:128
msgid "ROOT"
msgstr "ŠAKNIS"
#: elf/ldconfig.c:129
msgid "CACHE"
msgstr "PODĖLIS"
#: elf/ldconfig.c:129
msgid "Use CACHE as cache file"
msgstr "Naudoti PODĖLĮ kaip podėlio failą"
#: elf/ldconfig.c:130
msgid "CONF"
msgstr "KONF"
#: elf/ldconfig.c:130
msgid "Use CONF as configuration file"
msgstr "Naudoti KONF kaip konfigūracijos failą"
#: elf/ldconfig.c:131
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "Apdoroti tik aplankus, nurodytus komandų eilutėje. Nekurti podėlio."
#: elf/ldconfig.c:132
msgid "Manually link individual libraries."
msgstr "Rankiniu būdu susaistyti (link) atskiras bibliotekas."
#: elf/ldconfig.c:133
msgid "FORMAT"
msgstr "FORMATAS"
#: elf/ldconfig.c:134
msgid "Ignore auxiliary cache file"
msgstr "Ignoruoti pagalbinį podėlio failą"
#: elf/ldconfig.c:276
#, c-format
msgid "Path `%s' given more than once"
msgstr "Kelias „%s“ nurodytas daugiau negu vieną kartą"
#: elf/ldconfig.c:496
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s nėra simbolinė nuoroda\n"
#: elf/ldconfig.c:521
#, c-format
msgid "Can't link %s to %s"
msgstr "Nepavyko susaistyti (link) %s su %s"
#: elf/ldconfig.c:527
msgid " (changed)\n"
msgstr " (pakeista)\n"
#: elf/ldconfig.c:529
msgid " (SKIPPED)\n"
msgstr " (PRALEISTA)\n"
#: elf/ldconfig.c:584
#, c-format
msgid "Can't find %s"
msgstr "Nepavyko rasti %s"
#: elf/ldconfig.c:606
#, c-format
msgid "Ignored file %s since it is not a regular file."
msgstr "Failas %s praleistas, nes tai nėra paprastas failas"
#: elf/ldconfig.c:715
#, c-format
msgid "Can't open directory %s"
msgstr "Nepavyko atverti aplanko %s"
#: elf/ldconfig.c:776 elf/ldconfig.c:814 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "Įvedimo failas %s nerastas.\n"
#: elf/ldconfig.c:902
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "libc6 biblioteka %s ne tame aplanke"
#: elf/ldconfig.c:1124 locale/programs/xasprintf.c:31
#: elf/ldconfig-parse.c:163 locale/programs/xasprintf.c:31
#: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
#: posix/getconf.c:503 posix/getconf.c:745
#, c-format
msgid "memory exhausted"
msgstr "baigėsi atmintis"
#: elf/ldconfig.c:1157
#: elf/ldconfig-parse.c:196
#, c-format
msgid "%s:%u: cannot read directory %s"
msgstr "%s:%u: nepavyko atverti aplanko %s"
#: elf/ldconfig.c:1258
#: elf/ldconfig.c:132
msgid "Print cache"
msgstr "Spausdinti podėlį"
#: elf/ldconfig.c:133
msgid "Generate verbose messages"
msgstr "Generuoti išsamius pranešimus"
#: elf/ldconfig.c:134
msgid "Don't build cache"
msgstr "Nekurti podėlio"
#: elf/ldconfig.c:136
msgid "Change to and use ROOT as root directory"
msgstr "Naudoti ŠAKNĮ kaip šakninį aplanką"
#: elf/ldconfig.c:136
msgid "ROOT"
msgstr "ŠAKNIS"
#: elf/ldconfig.c:137
msgid "CACHE"
msgstr "PODĖLIS"
#: elf/ldconfig.c:137
msgid "Use CACHE as cache file"
msgstr "Naudoti PODĖLĮ kaip podėlio failą"
#: elf/ldconfig.c:138
msgid "CONF"
msgstr "KONF"
#: elf/ldconfig.c:140
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "Apdoroti tik aplankus, nurodytus komandų eilutėje. Nekurti podėlio."
#: elf/ldconfig.c:141
msgid "Manually link individual libraries."
msgstr "Rankiniu būdu susaistyti (link) atskiras bibliotekas."
#: elf/ldconfig.c:142
msgid "FORMAT"
msgstr "FORMATAS"
#: elf/ldconfig.c:143
msgid "Ignore auxiliary cache file"
msgstr "Ignoruoti pagalbinį podėlio failą"
#: elf/ldconfig.c:288
#, c-format
msgid "Path `%s' given more than once"
msgstr "Kelias „%s“ nurodytas daugiau negu vieną kartą"
#: elf/ldconfig.c:521
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s nėra simbolinė nuoroda\n"
#: elf/ldconfig.c:546
#, c-format
msgid "Can't link %s to %s"
msgstr "Nepavyko susaistyti (link) %s su %s"
#: elf/ldconfig.c:552
msgid " (changed)\n"
msgstr " (pakeista)\n"
#: elf/ldconfig.c:554
msgid " (SKIPPED)\n"
msgstr " (PRALEISTA)\n"
#: elf/ldconfig.c:609
#, c-format
msgid "Can't find %s"
msgstr "Nepavyko rasti %s"
#: elf/ldconfig.c:631
#, c-format
msgid "Ignored file %s since it is not a regular file."
msgstr "Failas %s praleistas, nes tai nėra paprastas failas"
#: elf/ldconfig.c:740
#, c-format
msgid "Can't open directory %s"
msgstr "Nepavyko atverti aplanko %s"
#: elf/ldconfig.c:801 elf/ldconfig.c:839 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "Įvedimo failas %s nerastas.\n"
#: elf/ldconfig.c:927
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "libc6 biblioteka %s ne tame aplanke"
#: elf/ldconfig.c:1136
#, c-format
msgid "Can't open cache file directory %s\n"
msgstr "Nepavyko atverti podėlio failo aplanko %s\n"
@@ -795,16 +791,16 @@ msgstr "ne"
msgid "Failed to determine if kernel supports SELinux"
msgstr "Nepavyko nustatyti, ar branduolys palaiko SELinux"
#: nss/getent.c:905
#: nss/getent.c:920
#, c-format
msgid "Unknown database name"
msgstr "Nežinomas duomenų bazės vardas"
#: nss/getent.c:939
#: nss/getent.c:958
msgid "Supported databases:\n"
msgstr "Palaikomos duomenų bazės:\n"
#: nss/getent.c:1005
#: nss/getent.c:1024
#, c-format
msgid "Unknown database: %s\n"
msgstr "Nežinoma duomenų bazė: %s\n"
@@ -852,7 +848,7 @@ msgstr "Nesuderintas ) arba \\)"
msgid "No previous regular expression"
msgstr "Nėra ankstesniosios reguliariosios išraiškos"
#: posix/wordexp.c:1794
#: posix/wordexp.c:1806
msgid "parameter null or not set"
msgstr "parametras tuščias arba nenustatytas"
@@ -1885,26 +1881,22 @@ msgstr "Nutraukta signalo"
msgid "Parameter string not correctly encoded"
msgstr "Parametrų seka netaisyklingai užkoduota"
#: timezone/zic.c:2062 timezone/zic.c:2252 timezone/zic.c:2266
#: timezone/zic.c:2343 timezone/zic.c:2529 timezone/zic.c:2543
msgid "invalid day of month"
msgstr "netinkama mėnesio diena"
#: timezone/zic.c:2257
#: timezone/zic.c:2534
msgid "invalid weekday name"
msgstr "netinkamas savaitės dienos pavadinimas"
#: timezone/zic.c:3512
#: timezone/zic.c:3816
msgid "too many local time types"
msgstr "per daug lokalaus laiko tipų"
#: timezone/zic.c:3530
msgid "too many leap seconds"
msgstr "per daug keliamųjų sekundžių"
#: timezone/zic.c:3741
#: timezone/zic.c:4043
msgid "Odd number of quotation marks"
msgstr "Nelyginis kabučių skaičius"
#: timezone/zic.c:3838
#: timezone/zic.c:4154
msgid "use of 2/29 in non leap-year"
msgstr "vasario 29 d. nekeliamuosiuose metuose"
+46 -70
View File
@@ -7,7 +7,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libc 2.3.2\n"
"POT-Creation-Date: 2026-01-19 16:22+0100\n"
"POT-Creation-Date: 2026-07-01 10:52+0900\n"
"PO-Revision-Date: 2003-08-28 09:27+0100\n"
"Last-Translator: Eivind Tagseth <eivindt@multinet.no>\n"
"Language-Team: Norwegian <i18n-nb@lister.ping.uio.no>\n"
@@ -114,11 +114,11 @@ msgstr ""
"[UTFIL [INNFIL]...]"
#: catgets/gencat.c:247 debug/pcprofiledump.c:235 debug/xtrace.sh:63
#: elf/ldconfig.c:232 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:75
#: elf/ldconfig.c:244 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:76
#: elf/sprof.c:389 iconv/iconv_prog.c:391 iconv/iconvconfig.c:397
#: locale/programs/locale.c:292 locale/programs/localedef.c:459
#: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
#: nscd/nscd.c:521 nss/getent.c:92 nss/makedb.c:387 posix/getconf.c:533
#: nscd/nscd.c:521 nss/getent.c:96 nss/makedb.c:387 posix/getconf.c:533
#, c-format
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -131,10 +131,10 @@ msgstr ""
"TIL NOEN SPESIELL OPPGAVE.\n"
#: catgets/gencat.c:252 debug/pcprofiledump.c:240 debug/xtrace.sh:67
#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: elf/ldconfig.c:249 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: iconv/iconvconfig.c:402 locale/programs/locale.c:297
#: locale/programs/localedef.c:464 malloc/memusage.sh:74
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:101 nss/makedb.c:392
#: posix/getconf.c:538
#, c-format
msgid "Written by %s.\n"
@@ -198,7 +198,7 @@ msgstr "uavsluttet melding"
msgid "while opening old catalog file"
msgstr "da den gamle katalogfilen ble åpnet"
#: elf/dl-open.c:817
#: elf/dl-open.c:816
msgid "invalid mode for dlopen()"
msgstr "ugyldig modus for dlopen()"
@@ -206,7 +206,7 @@ msgstr "ugyldig modus for dlopen()"
msgid "RTLD_NEXT used in code not dynamically loaded"
msgstr "RTLD_NEXT brukt i kode som ikke er dynamisk lastet"
#: elf/ldconfig.c:1124 locale/programs/xasprintf.c:31
#: elf/ldconfig-parse.c:163 locale/programs/xasprintf.c:31
#: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
#: posix/getconf.c:503 posix/getconf.c:745
#, c-format
@@ -1580,7 +1580,7 @@ msgstr "yp_update: kan ikke konvertere vert til nettnavn\n"
msgid "yp_update: cannot get server address\n"
msgstr "yp_update: kan ikke hente tjeneradresse\n"
#: nscd/aicache.c:68 nscd/hstcache.c:451
#: nscd/aicache.c:77 nscd/hstcache.c:451
#, c-format
msgid "Haven't found \"%s\" in hosts cache!"
msgstr "Har ikke funnet «%s» i verts-nærbuffer!"
@@ -1615,7 +1615,7 @@ msgstr "avkortet lesing ved lesing av forespørsel: %s"
msgid "handle_request: request received (Version = %d)"
msgstr "handle_request: forespørsel mottatt (versjon = %d)"
#: nscd/grpcache.c:384 nscd/hstcache.c:401 nscd/initgrcache.c:377
#: nscd/grpcache.c:384 nscd/hstcache.c:402 nscd/initgrcache.c:377
#: nscd/pwdcache.c:362 nscd/servicescache.c:309
#, c-format
msgid "short write in %s: %s"
@@ -1646,7 +1646,7 @@ msgstr "Start ANTALL tråder"
msgid "Shut the server down"
msgstr "Slå av tjeneren"
#: nscd/nscd.c:158 nss/getent.c:995 nss/makedb.c:208
#: nscd/nscd.c:158 nss/getent.c:1014 nss/makedb.c:208
#, c-format
msgid "wrong number of arguments"
msgstr "feil antall argumenter"
@@ -1706,7 +1706,7 @@ msgstr ""
msgid "database [key ...]"
msgstr "database [nøkkel ...]"
#: nss/getent.c:1005
#: nss/getent.c:1024
#, c-format
msgid "Unknown database: %s\n"
msgstr "Ukjent database: %s\n"
@@ -3007,159 +3007,135 @@ msgstr "ai_socktype er ikke støttet"
msgid "System error"
msgstr "Systemfeil"
#: timezone/zic.c:463
#: timezone/zic.c:559
#, c-format
msgid "%s: Memory exhausted: %s\n"
msgstr "%s: Minnet oppbrukt: %s\n"
#: timezone/zic.c:588
#: timezone/zic.c:687
msgid "standard input"
msgstr "standard innkanal"
#: timezone/zic.c:1025
#, c-format
msgid "%s: More than one -d option specified\n"
msgstr "%s: Mer enn ett -d-flagg spesifisert\n"
#: timezone/zic.c:1036
#, c-format
msgid "%s: More than one -l option specified\n"
msgstr "%s: Mer enn ett -l-flagg spesifisert\n"
#: timezone/zic.c:1047
#, c-format
msgid "%s: More than one -p option specified\n"
msgstr "%s: Mer enn ett -p-flagg spesifisert\n"
#: timezone/zic.c:1071
#, c-format
msgid "%s: More than one -L option specified\n"
msgstr "%s: Mer enn ett -L-flagg spesifisert\n"
#: timezone/zic.c:1608 timezone/zic.c:1610
#: timezone/zic.c:1895 timezone/zic.c:1897
msgid "same rule name in multiple files"
msgstr "samme regel i flere filer"
#: timezone/zic.c:1656
#: timezone/zic.c:1943
#, c-format
msgid "%s in ruleless zone"
msgstr "%s i sone uten regel"
#: timezone/zic.c:1688
#: timezone/zic.c:1975
msgid "line too long"
msgstr "for lang linje"
#: timezone/zic.c:1709
#: timezone/zic.c:1996
#, c-format
msgid "%s: Can't open %s: %s\n"
msgstr "%s: Kan ikke åpne %s: %s\n"
#: timezone/zic.c:1734
#: timezone/zic.c:2021
msgid "input line of unknown type"
msgstr "innlinje av ukjent type"
#: timezone/zic.c:1761
#: timezone/zic.c:2049
msgid "expected continuation line not found"
msgstr "forventet fortsettelseslinje ikke funnet"
#: timezone/zic.c:1815 timezone/zic.c:3760
msgid "time overflow"
msgstr "for stor tidsverdi"
#: timezone/zic.c:1839
#: timezone/zic.c:2123
msgid "invalid saved time"
msgstr "ugyldig lagret tid"
#: timezone/zic.c:1850
#: timezone/zic.c:2134
msgid "wrong number of fields on Rule line"
msgstr "feil antall felt på «Rule»-linje"
#: timezone/zic.c:1883
#: timezone/zic.c:2167
msgid "wrong number of fields on Zone line"
msgstr "feil antall felt på «Zone»-linje"
#: timezone/zic.c:1887
#: timezone/zic.c:2171
#, c-format
msgid "\"Zone %s\" line and -l option are mutually exclusive"
msgstr "«Zone %s»-linje og flagget -l utelukker hverandre"
#: timezone/zic.c:1892
#: timezone/zic.c:2176
#, c-format
msgid "\"Zone %s\" line and -p option are mutually exclusive"
msgstr "«Zone %s»-linje og flagget -p utelukker hverandre"
#: timezone/zic.c:1913
#: timezone/zic.c:2197
msgid "wrong number of fields on Zone continuation line"
msgstr "feil antall felt på «Zone»-fortsettelseslinje"
#: timezone/zic.c:1956
#: timezone/zic.c:2241
msgid "invalid abbreviation format"
msgstr "ugyldig forkortningsformat"
#: timezone/zic.c:1986
#: timezone/zic.c:2267
msgid "Zone continuation line end time is not after end time of previous line"
msgstr "Sluttiden på fortsetningslinjen til en sone kommer før sluttiden på foregående linje"
#: timezone/zic.c:2027
#: timezone/zic.c:2308
msgid "invalid leaping year"
msgstr "ugyldig skuddår"
#: timezone/zic.c:2049 timezone/zic.c:2154
#: timezone/zic.c:2330 timezone/zic.c:2427
msgid "invalid month name"
msgstr "ugyldig månedsnavn"
#: timezone/zic.c:2062 timezone/zic.c:2252 timezone/zic.c:2266
#: timezone/zic.c:2343 timezone/zic.c:2529 timezone/zic.c:2543
msgid "invalid day of month"
msgstr "ugyldig dag i måneden"
#: timezone/zic.c:2075 timezone/zic.c:2183
#: timezone/zic.c:2348 timezone/zic.c:2456
msgid "invalid time of day"
msgstr "ugyldig tid på dagen"
#: timezone/zic.c:2086
#: timezone/zic.c:2359
msgid "wrong number of fields on Leap line"
msgstr "feil antall felt på «Leap»-linje"
#: timezone/zic.c:2125
#: timezone/zic.c:2398
msgid "wrong number of fields on Link line"
msgstr "feil antall felt på «Link»-linje"
#: timezone/zic.c:2199
#: timezone/zic.c:2472
msgid "invalid starting year"
msgstr "ugyldig startår"
#: timezone/zic.c:2214
#: timezone/zic.c:2487
msgid "invalid ending year"
msgstr "ugyldig sluttår"
#: timezone/zic.c:2218
#: timezone/zic.c:2491
msgid "starting year greater than ending year"
msgstr "startår er større enn sluttår"
#: timezone/zic.c:2257
#: timezone/zic.c:2534
msgid "invalid weekday name"
msgstr "ugyldig ukedagsnavn"
#: timezone/zic.c:3388
#: timezone/zic.c:3684
msgid "can't determine time zone abbreviation to use just after until time"
msgstr "kan ikke avgjøre tidssoneforkortning for bruk rett etter «until»-tid"
#: timezone/zic.c:3512
#: timezone/zic.c:3816
msgid "too many local time types"
msgstr "for mange lokale tidstyper"
#: timezone/zic.c:3530
msgid "too many leap seconds"
msgstr "for mange skuddsekunder"
#: timezone/zic.c:3741
#: timezone/zic.c:4043
msgid "Odd number of quotation marks"
msgstr "Odde antall siteringstegn"
#: timezone/zic.c:3838
#: timezone/zic.c:4062
msgid "time overflow"
msgstr "for stor tidsverdi"
#: timezone/zic.c:4154
msgid "use of 2/29 in non leap-year"
msgstr "bruker 29/2 i ikke-skuddår"
#: timezone/zic.c:3901
#: timezone/zic.c:4246
msgid "too many, or too long, time zone abbreviations"
msgstr "for mange eller for lange tidssoneforkortelser"
+408 -501
View File
File diff suppressed because it is too large Load Diff
+403 -496
View File
File diff suppressed because it is too large Load Diff
+403 -496
View File
File diff suppressed because it is too large Load Diff
+373 -437
View File
File diff suppressed because it is too large Load Diff
+403 -496
View File
File diff suppressed because it is too large Load Diff
+403 -496
View File
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -14,7 +14,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libc 2.3\n"
"POT-Creation-Date: 2026-01-19 16:22+0100\n"
"POT-Creation-Date: 2026-07-01 10:52+0900\n"
"PO-Revision-Date: 2005-04-04 10:55-0700\n"
"Last-Translator: Steven Michael Murphy <murf@e-tools.com>\n"
"Language-Team: Kinyarwanda <translation-team-rw@lists.sourceforge.net>\n"
+229 -264
View File
@@ -6,7 +6,7 @@
msgid ""
msgstr ""
"Project-Id-Version: libc 2.3.3\n"
"POT-Creation-Date: 2026-01-19 16:22+0100\n"
"POT-Creation-Date: 2026-07-01 10:52+0900\n"
"PO-Revision-Date: 2004-08-05 22:19+0200\n"
"Last-Translator: Marcel Telka <marcel@telka.sk>\n"
"Language-Team: Slovak <sk-i18n@lists.linux.sk>\n"
@@ -125,11 +125,11 @@ msgstr ""
"[VÝSTUPNÝ_SÚBOR [VSTUPNÝ_SÚBOR]...]"
#: catgets/gencat.c:247 debug/pcprofiledump.c:235 debug/xtrace.sh:63
#: elf/ldconfig.c:232 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:75
#: elf/ldconfig.c:244 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:76
#: elf/sprof.c:389 iconv/iconv_prog.c:391 iconv/iconvconfig.c:397
#: locale/programs/locale.c:292 locale/programs/localedef.c:459
#: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
#: nscd/nscd.c:521 nss/getent.c:92 nss/makedb.c:387 posix/getconf.c:533
#: nscd/nscd.c:521 nss/getent.c:96 nss/makedb.c:387 posix/getconf.c:533
#, c-format
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -142,10 +142,10 @@ msgstr ""
"NA KONKRÉTNY ÚČEL.\n"
#: catgets/gencat.c:252 debug/pcprofiledump.c:240 debug/xtrace.sh:67
#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: elf/ldconfig.c:249 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: iconv/iconvconfig.c:402 locale/programs/locale.c:297
#: locale/programs/localedef.c:464 malloc/memusage.sh:74
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:101 nss/makedb.c:392
#: posix/getconf.c:538
#, c-format
msgid "Written by %s.\n"
@@ -266,43 +266,43 @@ msgstr "neprípustná veľkostť ukazovateľa"
msgid "unsupported dlinfo request"
msgstr "nepodporovaná žiadosť dlinfo"
#: elf/cache.c:296 elf/ldconfig.c:1238
#: elf/cache.c:357 elf/ldconfig.c:1116
#, c-format
msgid "Can't open cache file %s\n"
msgstr "Nie je možné otvoriť cache súbor %s\n"
#: elf/cache.c:310
#: elf/cache.c:371
#, c-format
msgid "mmap of cache file failed.\n"
msgstr "zlyhalo mapovanie cache súboru\n"
#: elf/cache.c:314 elf/cache.c:328 elf/cache.c:339
#: elf/cache.c:375 elf/cache.c:389 elf/cache.c:400
#, c-format
msgid "File is not a cache file.\n"
msgstr "Súbor nie je cache súborom.\n"
#: elf/cache.c:368 elf/cache.c:383
#: elf/cache.c:429 elf/cache.c:444
#, c-format
msgid "%d libs found in cache `%s'\n"
msgstr "%d knižníc nájdených v cache `%s'\n"
#: elf/cache.c:685
#: elf/cache.c:783
#, c-format
msgid "Can't create temporary cache file %s"
msgstr "Nie je možné vytvoriť dočasný cache súbor %s"
#: elf/cache.c:693 elf/cache.c:703 elf/cache.c:707 elf/cache.c:712
#: elf/cache.c:731
#: elf/cache.c:791 elf/cache.c:801 elf/cache.c:805 elf/cache.c:810
#: elf/cache.c:829
#, c-format
msgid "Writing of cache data failed"
msgstr "Zápi údajov do cache zlyhal"
#: elf/cache.c:726
#: elf/cache.c:824
#, c-format
msgid "Changing access rights of %s to %#o failed"
msgstr "Zmena prístupových práv %s na %#o zlyhala"
#: elf/cache.c:735
#: elf/cache.c:833
#, c-format
msgid "Renaming of %s to %s failed"
msgstr "Premenovanie %s na %s zlyhalo"
@@ -315,32 +315,32 @@ msgstr "chyba počas načítavania zdieľaných knižníc"
msgid "DYNAMIC LINKER BUG!!!"
msgstr "CHYBA V DYNAMICKOM LINKERI!!!"
#: elf/dl-close.c:363 elf/dl-open.c:297
#: elf/dl-close.c:368 elf/dl-open.c:297
msgid "cannot create scope list"
msgstr "nie je možné vytvoriť zoznam pôsobnosti"
#: elf/dl-close.c:790
#: elf/dl-close.c:795
msgid "shared object not open"
msgstr "zdieľaný objekt nie je otvorený"
#: elf/dl-deps.c:96
#: elf/dl-deps.c:103
msgid "DST not allowed in SUID/SGID programs"
msgstr "DST nie je pre SUID/SGID programy povolené"
#: elf/dl-deps.c:109
msgid "empty dynamic string token substitution"
msgstr "prázdna substitúcia tokenu dynamického reťazca"
#: elf/dl-deps.c:115
#: elf/dl-deps.c:224 elf/dl-deps.c:286
#, c-format
msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n"
msgstr "nemôžem načítať prídavný `%s' pretože je prázdna substitúcia tokenu dynamického reťazca\n"
#: elf/dl-deps.c:427
#: elf/dl-deps.c:283
msgid "empty dynamic string token substitution"
msgstr "prázdna substitúcia tokenu dynamického reťazca"
#: elf/dl-deps.c:449
msgid "cannot allocate dependency list"
msgstr "nie je možné prideliť pamäť pre zoznam závislostí"
#: elf/dl-deps.c:467
#: elf/dl-deps.c:489
msgid "cannot allocate symbol search list"
msgstr "nie je možné prideliť pamäť pre vyhľadávací zoznam symbolov"
@@ -348,115 +348,116 @@ msgstr "nie je možné prideliť pamäť pre vyhľadávací zoznam symbolov"
msgid "cannot create capability list"
msgstr "nie je možné vytvoriť zoznam zlučiteľnosti"
#: elf/dl-load.c:424
#: elf/dl-load.c:408
msgid "cannot allocate name record"
msgstr "nie je možné prideliť pamäť pre záznam názvu"
#: elf/dl-load.c:510 elf/dl-load.c:623 elf/dl-load.c:717 elf/dl-load.c:814
msgid "cannot create cache for search path"
msgstr "Nie je možné vytvoriť cache pre hľadanie v ceste"
#: elf/dl-load.c:606
#: elf/dl-load.c:595
msgid "cannot create RUNPATH/RPATH copy"
msgstr "nie je možné vytvoriť kópiu RUNPATH/RPATH"
#: elf/dl-load.c:703
#: elf/dl-load.c:612 elf/dl-load.c:621 elf/dl-load.c:712 elf/dl-load.c:810
#: elf/dl-load.c:830
msgid "cannot create cache for search path"
msgstr "Nie je možné vytvoriť cache pre hľadanie v ceste"
#: elf/dl-load.c:698
msgid "cannot create search path array"
msgstr "nie je možné vytvoriť pole ciest"
#: elf/dl-load.c:978
msgid "cannot stat shared object"
msgstr "nepodarilo sa zistiť stav zdieľaného objektu"
#: elf/dl-load.c:1071 elf/dl-load.c:2160
msgid "cannot create shared object descriptor"
msgstr "nie je možné vytvoriť deskriptor zdieľaného objektu"
#: elf/dl-load.c:1090 elf/dl-load.c:1594 elf/dl-load.c:1704
#: elf/dl-load.c:1000 elf/dl-load.c:1354 elf/dl-load.c:1647
msgid "cannot read file data"
msgstr "nie je možné načítať údaje súboru"
#: elf/dl-load.c:1224
#: elf/dl-load.c:1151
msgid "cannot stat shared object"
msgstr "nepodarilo sa zistiť stav zdieľaného objektu"
#: elf/dl-load.c:1246 elf/dl-load.c:2203
msgid "cannot create shared object descriptor"
msgstr "nie je možné vytvoriť deskriptor zdieľaného objektu"
#: elf/dl-load.c:1278
msgid "object file has no loadable segments"
msgstr "objektový súbor neobsahuje žiadny nahrateľný segment"
#: elf/dl-load.c:1241
#: elf/dl-load.c:1291
msgid "cannot dynamically load executable"
msgstr "nie je možné dynamicky načítať spustiteľný súbor"
#: elf/dl-load.c:1248
#: elf/dl-load.c:1298
msgid "object file has no dynamic section"
msgstr "objektový súbor neobsahuje žiadnu dynamickú sekciu"
#: elf/dl-load.c:1285
#: elf/dl-load.c:1335
msgid "shared object cannot be dlopen()ed"
msgstr "zdieľaný objekt nemôže byť otvorený pomocou dlopen()"
#: elf/dl-load.c:1298
#: elf/dl-load.c:1347
msgid "cannot allocate memory for program header"
msgstr "nie je možné prideliť pamäť pre hlavičku programu"
#: elf/dl-load.c:1323
#: elf/dl-load.c:1377
msgid "cannot enable executable stack as shared object requires"
msgstr "nie je možné povoliť spustiteľný zásobník ako vyžaduje zdieľaný objekt"
#: elf/dl-load.c:1594
#: elf/dl-load.c:1647
msgid "file too short"
msgstr "súbor je príliš krátky"
#: elf/dl-load.c:1628
#: elf/dl-load.c:1681
msgid "invalid ELF header"
msgstr "neprípustná ELF hlavička"
#: elf/dl-load.c:1645
#: elf/dl-load.c:1698
msgid "ELF file data encoding not big-endian"
msgstr "Kódovanie dát v ELF súbore nie je big-endian"
#: elf/dl-load.c:1647
#: elf/dl-load.c:1700
msgid "ELF file data encoding not little-endian"
msgstr "Kódovanie dát v ELF súbore nie je little-endian"
#: elf/dl-load.c:1651
#: elf/dl-load.c:1704
msgid "ELF file version ident does not match current one"
msgstr "Identifikácia verzie ELF súboru sa nezhoduje s aktuálnou"
#: elf/dl-load.c:1655
#: elf/dl-load.c:1708
msgid "ELF file OS ABI invalid"
msgstr "Neplatný OS ABI ELF súboru"
#: elf/dl-load.c:1658
#: elf/dl-load.c:1711
msgid "ELF file ABI version invalid"
msgstr "Neplatná verzia ABI ELF súboru"
#: elf/dl-load.c:1664
#: elf/dl-load.c:1717
msgid "internal error"
msgstr "interná chyba"
#: elf/dl-load.c:1671
#: elf/dl-load.c:1724
msgid "ELF file version does not match current one"
msgstr "Verzia súboru ELF sa nezhoduje s aktuálnou"
#: elf/dl-load.c:1685
#: elf/dl-load.c:1738
msgid "only ET_DYN and ET_EXEC can be loaded"
msgstr "iba ET_DYN a ET_EXEC môžu byť načítané"
#: elf/dl-load.c:1690
#: elf/dl-load.c:1743
msgid "ELF file's phentsize not the expected size"
msgstr "phentsize ELF súboru nie je očakávaná"
#: elf/dl-load.c:2183
#: elf/dl-load.c:2226
msgid "cannot open shared object file"
msgstr "nie je možné otvoriť súbor zdieľaného objektu"
#: elf/dl-load.h:126
#: elf/dl-load.h:249
msgid "failed to map segment from shared object"
msgstr "nepodarilo sa namapovať segment zo zdieľaného objektu"
#: elf/dl-load.h:128
#: elf/dl-load.h:251
msgid "cannot change memory protections"
msgstr "nie je možné zmeniť ochranu pamäti"
#: elf/dl-load.h:130
#: elf/dl-load.h:253
msgid "cannot map zero-fill pages"
msgstr "nie je možné namapovať stránky vyplnené nulami"
@@ -464,19 +465,19 @@ msgstr "nie je možné namapovať stránky vyplnené nulami"
msgid "cannot extend global scope"
msgstr "nie je možné rozšíriť globálny rozsah"
#: elf/dl-open.c:817
#: elf/dl-open.c:816
msgid "invalid mode for dlopen()"
msgstr "neprípustný mód pre dlopen()"
#: elf/dl-reloc.c:140
#: elf/dl-reloc.c:139
msgid "cannot allocate memory in static TLS block"
msgstr "nie je možné prideliť pamäť v statickom bloku TLS"
#: elf/dl-reloc.c:283
#: elf/dl-reloc.c:261
msgid "cannot make segment writable for relocation"
msgstr "nie je možné zmeniť segment na zapisovateľný pre relokáciu"
#: elf/dl-reloc.c:328
#: elf/dl-reloc.c:326
msgid "cannot restore segment prot after reloc"
msgstr "nie je možné obnoviť segment prot po reloc"
@@ -484,7 +485,7 @@ msgstr "nie je možné obnoviť segment prot po reloc"
msgid "RTLD_NEXT used in code not dynamically loaded"
msgstr "RTLD_NEXT je použité pre kód, ktorý nie je dynamicky zavedený"
#: elf/dl-tls.c:1217
#: elf/dl-tls.c:1279
msgid "cannot create TLS data structures"
msgstr "nie je možné dátové štruktúry TLS"
@@ -492,143 +493,139 @@ msgstr "nie je možné dátové štruktúry TLS"
msgid "cannot allocate version reference table"
msgstr "nie je možné prideliť pamäť pre referenčnú tabuľku verzií"
#: elf/ldconfig.c:124
msgid "Print cache"
msgstr "Vypísať cache"
#: elf/ldconfig.c:125
msgid "Generate verbose messages"
msgstr "Vypísovať podrobnejšie správy"
#: elf/ldconfig.c:126
msgid "Don't build cache"
msgstr "Nevytvoriť cache"
#: elf/ldconfig.c:128
msgid "Change to and use ROOT as root directory"
msgstr "Zmeniť adresár na ROOT a použiť ho ako koreňový adresár"
#: elf/ldconfig.c:129
msgid "Use CACHE as cache file"
msgstr "Použiť CACHE ako cache súbor"
#: elf/ldconfig.c:130
msgid "Use CONF as configuration file"
msgstr "Použiť CONF ako konfiguračný súbor"
#: elf/ldconfig.c:131
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "Na príkazovom riadku sú zadané iba adresáre procesov. Nevytvárať cache."
#: elf/ldconfig.c:132
msgid "Manually link individual libraries."
msgstr "Ručne linkovať jednotlivé knižnice."
#: elf/ldconfig.c:142
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr "Konfigurácia runtime väzieb dynamického linkera."
#: elf/ldconfig.c:276
#, c-format
msgid "Path `%s' given more than once"
msgstr "Cesta `%s' bola zadaná viac ako raz"
#: elf/ldconfig.c:405
#, c-format
msgid "Can't stat %s"
msgstr "Zlyhal stat %s"
#: elf/ldconfig.c:486
#, c-format
msgid "Can't stat %s\n"
msgstr "Zlyhal stat %s\n"
#: elf/ldconfig.c:496
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s nie je symbolický odkaz\n"
#: elf/ldconfig.c:515
#, c-format
msgid "Can't unlink %s"
msgstr "Nie je možné odstrániť %s"
#: elf/ldconfig.c:521
#, c-format
msgid "Can't link %s to %s"
msgstr "Nie je možné vytvoriť odkaz %s na %s"
#: elf/ldconfig.c:527
msgid " (changed)\n"
msgstr " (zmenené)\n"
#: elf/ldconfig.c:529
msgid " (SKIPPED)\n"
msgstr " (VYNECHANÉ)\n"
#: elf/ldconfig.c:584
#, c-format
msgid "Can't find %s"
msgstr "Nie je možné nájsť %s"
#: elf/ldconfig.c:600 elf/ldconfig.c:759 elf/ldconfig.c:826
#, c-format
msgid "Cannot lstat %s"
msgstr "Zlyhal lstat %s"
#: elf/ldconfig.c:606
#, c-format
msgid "Ignored file %s since it is not a regular file."
msgstr "Súbor %s ignorovaný, keďže nie je regulérnym súborom."
#: elf/ldconfig.c:614
#, c-format
msgid "No link created since soname could not be found for %s"
msgstr "Odkaz nebol vytvorený, keďže pre %s nebolo možné nájsť soname"
#: elf/ldconfig.c:715
#, c-format
msgid "Can't open directory %s"
msgstr "Nie je možné otvoriť adresár %s"
#: elf/ldconfig.c:776 elf/ldconfig.c:814 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "Vstupný súbor %s nebol nájdený.\n"
#: elf/ldconfig.c:783
#, c-format
msgid "Cannot stat %s"
msgstr "Zlyhal stat %s"
#: elf/ldconfig.c:902
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "libc6 knižnica %s je v nesprávnom adresári"
#: elf/ldconfig.c:921
#, c-format
msgid "libraries %s and %s in directory %s have same soname but different type."
msgstr "knižnice %s a %s v adresári %s majú rovnaké soname, ale odlišný typ."
#: elf/ldconfig.c:1124 locale/programs/xasprintf.c:31
#: elf/ldconfig-parse.c:163 locale/programs/xasprintf.c:31
#: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
#: posix/getconf.c:503 posix/getconf.c:745
#, c-format
msgid "memory exhausted"
msgstr "nedostatok pamäti"
#: elf/ldconfig.c:1195
#: elf/ldconfig.c:132
msgid "Print cache"
msgstr "Vypísať cache"
#: elf/ldconfig.c:133
msgid "Generate verbose messages"
msgstr "Vypísovať podrobnejšie správy"
#: elf/ldconfig.c:134
msgid "Don't build cache"
msgstr "Nevytvoriť cache"
#: elf/ldconfig.c:136
msgid "Change to and use ROOT as root directory"
msgstr "Zmeniť adresár na ROOT a použiť ho ako koreňový adresár"
#: elf/ldconfig.c:137
msgid "Use CACHE as cache file"
msgstr "Použiť CACHE ako cache súbor"
#: elf/ldconfig.c:140
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "Na príkazovom riadku sú zadané iba adresáre procesov. Nevytvárať cache."
#: elf/ldconfig.c:141
msgid "Manually link individual libraries."
msgstr "Ručne linkovať jednotlivé knižnice."
#: elf/ldconfig.c:151
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr "Konfigurácia runtime väzieb dynamického linkera."
#: elf/ldconfig.c:288
#, c-format
msgid "Path `%s' given more than once"
msgstr "Cesta `%s' bola zadaná viac ako raz"
#: elf/ldconfig.c:417
#, c-format
msgid "Can't stat %s"
msgstr "Zlyhal stat %s"
#: elf/ldconfig.c:511
#, c-format
msgid "Can't stat %s\n"
msgstr "Zlyhal stat %s\n"
#: elf/ldconfig.c:521
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s nie je symbolický odkaz\n"
#: elf/ldconfig.c:540
#, c-format
msgid "Can't unlink %s"
msgstr "Nie je možné odstrániť %s"
#: elf/ldconfig.c:546
#, c-format
msgid "Can't link %s to %s"
msgstr "Nie je možné vytvoriť odkaz %s na %s"
#: elf/ldconfig.c:552
msgid " (changed)\n"
msgstr " (zmenené)\n"
#: elf/ldconfig.c:554
msgid " (SKIPPED)\n"
msgstr " (VYNECHANÉ)\n"
#: elf/ldconfig.c:609
#, c-format
msgid "Can't find %s"
msgstr "Nie je možné nájsť %s"
#: elf/ldconfig.c:625 elf/ldconfig.c:784 elf/ldconfig.c:851
#, c-format
msgid "Cannot lstat %s"
msgstr "Zlyhal lstat %s"
#: elf/ldconfig.c:631
#, c-format
msgid "Ignored file %s since it is not a regular file."
msgstr "Súbor %s ignorovaný, keďže nie je regulérnym súborom."
#: elf/ldconfig.c:639
#, c-format
msgid "No link created since soname could not be found for %s"
msgstr "Odkaz nebol vytvorený, keďže pre %s nebolo možné nájsť soname"
#: elf/ldconfig.c:740
#, c-format
msgid "Can't open directory %s"
msgstr "Nie je možné otvoriť adresár %s"
#: elf/ldconfig.c:801 elf/ldconfig.c:839 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "Vstupný súbor %s nebol nájdený.\n"
#: elf/ldconfig.c:808
#, c-format
msgid "Cannot stat %s"
msgstr "Zlyhal stat %s"
#: elf/ldconfig.c:927
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "libc6 knižnica %s je v nesprávnom adresári"
#: elf/ldconfig.c:946
#, c-format
msgid "libraries %s and %s in directory %s have same soname but different type."
msgstr "knižnice %s a %s v adresári %s majú rovnaké soname, ale odlišný typ."
#: elf/ldconfig.c:1070
#, c-format
msgid "relative path `%s' used to build cache"
msgstr "relatívna cesta `%s' použitá na vytvorenie cache"
#: elf/ldconfig.c:1217
#: elf/ldconfig.c:1092
#, c-format
msgid "Can't chdir to /"
msgstr "Nie je možné zmeniť adresár na /"
#: elf/ldconfig.c:1258
#: elf/ldconfig.c:1136
#, c-format
msgid "Can't open cache file directory %s\n"
msgstr "Nie je možné otvoriť adresár cache súboru %s\n"
@@ -2762,7 +2759,7 @@ msgstr "yp_update: nie je možné konvertovať meno počítača na meno siete\n"
msgid "yp_update: cannot get server address\n"
msgstr "yp_update: nie je možné zístiť adresu servera\n"
#: nscd/aicache.c:68 nscd/hstcache.c:451
#: nscd/aicache.c:77 nscd/hstcache.c:451
#, c-format
msgid "Haven't found \"%s\" in hosts cache!"
msgstr "Nenájdené \"%s\" v cache počítačov!"
@@ -2827,7 +2824,7 @@ msgstr "getgrouplist zlyhalo"
msgid "setgroups failed"
msgstr "setgroups zlyhalo"
#: nscd/grpcache.c:384 nscd/hstcache.c:401 nscd/initgrcache.c:377
#: nscd/grpcache.c:384 nscd/hstcache.c:402 nscd/initgrcache.c:377
#: nscd/pwdcache.c:362 nscd/servicescache.c:309
#, c-format
msgid "short write in %s: %s"
@@ -2879,7 +2876,7 @@ msgstr "Použiť samostatnú cache pre každého používateľa"
msgid "Name Service Cache Daemon."
msgstr "Démon cache služby názvov."
#: nscd/nscd.c:158 nss/getent.c:995 nss/makedb.c:208
#: nscd/nscd.c:158 nss/getent.c:1014 nss/makedb.c:208
#, c-format
msgid "wrong number of arguments"
msgstr "chybný počet argumentov"
@@ -2983,12 +2980,12 @@ msgstr "databáza [kľúč ...]"
msgid "Service configuration to be used"
msgstr "Konfigurácia služby, ktorá má byť použitá"
#: nss/getent.c:154 nss/getent.c:466 nss/getent.c:513
#: nss/getent.c:158 nss/getent.c:481 nss/getent.c:528
#, c-format
msgid "Enumeration not supported on %s\n"
msgstr "Enumerácia %s nie je podporované\n"
#: nss/getent.c:1005
#: nss/getent.c:1024
#, c-format
msgid "Unknown database: %s\n"
msgstr "Neznáma databáza %s\n"
@@ -3081,7 +3078,7 @@ msgstr "Nepárová ) or \\)"
msgid "No previous regular expression"
msgstr "Žiadny predchádzajúci regulérny výraz"
#: posix/wordexp.c:1794
#: posix/wordexp.c:1806
msgid "parameter null or not set"
msgstr "prázdny alebo nenastavený parameter"
@@ -3138,7 +3135,7 @@ msgstr "%s: riadok %d: zlý príkaz `%s'\n"
msgid "%s: line %d: ignoring trailing garbage `%s'\n"
msgstr "%s: riadok %d: ignorujem koncové smetie `%s'\n"
#: stdio-common/psiginfo-data.h:46 timezone/zdump.c:445 timezone/zic.c:652
#: stdio-common/psiginfo-data.h:46 timezone/zdump.c:424 timezone/zic.c:831
msgid "I/O error"
msgstr "V/V chyba"
@@ -4402,172 +4399,140 @@ msgstr "Prerušené signálom"
msgid "%s is for unknown machine %d.\n"
msgstr "%s je pre neznámy stroj %d.\n"
#: timezone/zic.c:463
#: timezone/zic.c:559
#, c-format
msgid "%s: Memory exhausted: %s\n"
msgstr "%s: Nedostatok pamäti: %s\n"
#: timezone/zic.c:588
#: timezone/zic.c:687
msgid "standard input"
msgstr "štandardný vstup"
#: timezone/zic.c:639
#: timezone/zic.c:739
#, c-format
msgid "warning: "
msgstr "varovanie: "
#: timezone/zic.c:1025
#, c-format
msgid "%s: More than one -d option specified\n"
msgstr "%s: Voľba -d zadaná viac ako raz\n"
#: timezone/zic.c:1036
#, c-format
msgid "%s: More than one -l option specified\n"
msgstr "%s: Voľba -l zadaná viac ako raz\n"
#: timezone/zic.c:1047
#, c-format
msgid "%s: More than one -p option specified\n"
msgstr "%s: Voľba -p zadaná viac ako raz\n"
#: timezone/zic.c:1071
#, c-format
msgid "%s: More than one -L option specified\n"
msgstr "%s: Voľba -L zadaná viac ako raz\n"
#: timezone/zic.c:1608 timezone/zic.c:1610
#: timezone/zic.c:1895 timezone/zic.c:1897
msgid "same rule name in multiple files"
msgstr "rovnaké meno pravidla vo viacerých súboroch"
#: timezone/zic.c:1656
#: timezone/zic.c:1943
#, c-format
msgid "%s in ruleless zone"
msgstr "%s v zóne bez pravidiel"
#: timezone/zic.c:1688
#: timezone/zic.c:1975
msgid "line too long"
msgstr "pridlhý riadok"
#: timezone/zic.c:1709
#: timezone/zic.c:1996
#, c-format
msgid "%s: Can't open %s: %s\n"
msgstr "%s: Nie je možné otvoriť %s: %s\n"
#: timezone/zic.c:1734
#: timezone/zic.c:2021
msgid "input line of unknown type"
msgstr "vstupný riadok neznámeho typu"
#: timezone/zic.c:1761
#: timezone/zic.c:2049
msgid "expected continuation line not found"
msgstr "očakávaný pokračovací riadok nebol nájdený"
#: timezone/zic.c:1815 timezone/zic.c:3760
msgid "time overflow"
msgstr "pretečenie času"
#: timezone/zic.c:1839
#: timezone/zic.c:2123
msgid "invalid saved time"
msgstr "neprípustný uložený čas"
#: timezone/zic.c:1850
#: timezone/zic.c:2134
msgid "wrong number of fields on Rule line"
msgstr "chybný počšt polí v riadku Rule"
#: timezone/zic.c:1883
#: timezone/zic.c:2167
msgid "wrong number of fields on Zone line"
msgstr "chybný počet polí v riadku Zone"
#: timezone/zic.c:1887
#: timezone/zic.c:2171
#, c-format
msgid "\"Zone %s\" line and -l option are mutually exclusive"
msgstr "Riadok \"Zone %s\" a voľba -l sa navzájom vylučujú"
#: timezone/zic.c:1892
#: timezone/zic.c:2176
#, c-format
msgid "\"Zone %s\" line and -p option are mutually exclusive"
msgstr "Riadok \"Zone %s\" a voľba -p sa navzájom vylučujú"
#: timezone/zic.c:1913
#: timezone/zic.c:2197
msgid "wrong number of fields on Zone continuation line"
msgstr "chybný počet polí v pokračovacom riadku Zone"
#: timezone/zic.c:1956
#: timezone/zic.c:2241
msgid "invalid abbreviation format"
msgstr "neprípustný formát skratky"
#: timezone/zic.c:1986
#: timezone/zic.c:2267
msgid "Zone continuation line end time is not after end time of previous line"
msgstr "Koncový čas pokračovacieho riadku zóny nie je väčší ako koncový čas predchádzajúceho riadku"
#: timezone/zic.c:2027
#: timezone/zic.c:2308
msgid "invalid leaping year"
msgstr "neprípustný priestupný rok"
#: timezone/zic.c:2049 timezone/zic.c:2154
#: timezone/zic.c:2330 timezone/zic.c:2427
msgid "invalid month name"
msgstr "neprípustný názov mesiaca"
#: timezone/zic.c:2062 timezone/zic.c:2252 timezone/zic.c:2266
#: timezone/zic.c:2343 timezone/zic.c:2529 timezone/zic.c:2543
msgid "invalid day of month"
msgstr "neprípustný deň mesiaca"
#: timezone/zic.c:2067
msgid "time too small"
msgstr "čas je príliš malý"
#: timezone/zic.c:2071
msgid "time too large"
msgstr "čas je príliš veľký"
#: timezone/zic.c:2075 timezone/zic.c:2183
#: timezone/zic.c:2348 timezone/zic.c:2456
msgid "invalid time of day"
msgstr "neprípustný čas v dni"
#: timezone/zic.c:2086
#: timezone/zic.c:2359
msgid "wrong number of fields on Leap line"
msgstr "chybný počet polí v riadku Leap"
#: timezone/zic.c:2125
#: timezone/zic.c:2398
msgid "wrong number of fields on Link line"
msgstr "chybný počet polí v riadku Link"
#: timezone/zic.c:2199
#: timezone/zic.c:2472
msgid "invalid starting year"
msgstr "neprípustný počiatočný rok"
#: timezone/zic.c:2214
#: timezone/zic.c:2487
msgid "invalid ending year"
msgstr "neprípustný koncový rok"
#: timezone/zic.c:2218
#: timezone/zic.c:2491
msgid "starting year greater than ending year"
msgstr "počiatočný rok väčší ako koncový"
#: timezone/zic.c:2257
#: timezone/zic.c:2534
msgid "invalid weekday name"
msgstr "neprípustný názov dňa"
#: timezone/zic.c:3388
#: timezone/zic.c:3684
msgid "can't determine time zone abbreviation to use just after until time"
msgstr "nie je možné nájsť skratku časovej zóny pre použitie hneď po koncovom čase"
#: timezone/zic.c:3512
#: timezone/zic.c:3816
msgid "too many local time types"
msgstr "priveľa lokálnych typov času"
#: timezone/zic.c:3530
msgid "too many leap seconds"
msgstr "priveľa priestupných sekúnd"
#: timezone/zic.c:3741
#: timezone/zic.c:4043
msgid "Odd number of quotation marks"
msgstr "Nepárny počet úvodzoviek"
#: timezone/zic.c:3838
#: timezone/zic.c:4062
msgid "time overflow"
msgstr "pretečenie času"
#: timezone/zic.c:4154
msgid "use of 2/29 in non leap-year"
msgstr "29. február použitý v nepriestupnom roku"
#: timezone/zic.c:3901
#: timezone/zic.c:4246
msgid "too many, or too long, time zone abbreviations"
msgstr "príliš veľa alebo príliš dlhé skratku časovej zóny"
+232 -235
View File
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: libc 2.22-pre1\n"
"Report-Msgid-Bugs-To: bug-coreutils@gnu.org\n"
"POT-Creation-Date: 2026-01-19 16:22+0100\n"
"POT-Creation-Date: 2026-07-01 10:52+0900\n"
"PO-Revision-Date: 2016-01-04 23:59+0100\n"
"Last-Translator: Primož Peterlin <primozz.peterlin@gmail.com>\n"
"Language-Team: Slovenian <translation-team-sl@lists.sourceforge.net>\n"
@@ -128,11 +128,11 @@ msgstr ""
"-o IZHODNA_DATOTEKA [VHODNA_DATOTEKA]...\n"
"[IZHODNA_DATOTEKA [VHODNA_DATOTEKA]...]"
#: catgets/gencat.c:231 debug/pcprofiledump.c:219 elf/ldconfig.c:216
#: catgets/gencat.c:231 debug/pcprofiledump.c:219 elf/ldconfig.c:228
#: elf/pldd.c:246 elf/sln.c:77 elf/sprof.c:372 iconv/iconv_prog.c:374
#: iconv/iconvconfig.c:380 locale/programs/locale.c:275
#: locale/programs/localedef.c:437 login/programs/pt_chown.c:88
#: malloc/memusagestat.c:564 nss/getent.c:961 nss/makedb.c:371
#: malloc/memusagestat.c:564 nss/getent.c:980 nss/makedb.c:371
#: posix/getconf.c:551
#, c-format
msgid ""
@@ -143,11 +143,11 @@ msgstr ""
"%s.\n"
#: catgets/gencat.c:247 debug/pcprofiledump.c:235 debug/xtrace.sh:63
#: elf/ldconfig.c:232 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:75
#: elf/ldconfig.c:244 elf/ldd.bash.in:39 elf/pldd.c:262 elf/sotruss.sh:76
#: elf/sprof.c:389 iconv/iconv_prog.c:391 iconv/iconvconfig.c:397
#: locale/programs/locale.c:292 locale/programs/localedef.c:459
#: login/programs/pt_chown.c:62 malloc/memusage.sh:70 malloc/memusagestat.c:582
#: nscd/nscd.c:521 nss/getent.c:92 nss/makedb.c:387 posix/getconf.c:533
#: nscd/nscd.c:521 nss/getent.c:96 nss/makedb.c:387 posix/getconf.c:533
#, c-format
msgid ""
"Copyright (C) %s Free Software Foundation, Inc.\n"
@@ -160,10 +160,10 @@ msgstr ""
"niti jamstev USTREZNOSTI ZA PRODAJO ali PRIMERNOSTI ZA RABO.\n"
#: catgets/gencat.c:252 debug/pcprofiledump.c:240 debug/xtrace.sh:67
#: elf/ldconfig.c:237 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: elf/ldconfig.c:249 elf/pldd.c:267 elf/sprof.c:395 iconv/iconv_prog.c:396
#: iconv/iconvconfig.c:402 locale/programs/locale.c:297
#: locale/programs/localedef.c:464 malloc/memusage.sh:74
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:97 nss/makedb.c:392
#: malloc/memusagestat.c:587 nscd/nscd.c:526 nss/getent.c:101 nss/makedb.c:392
#: posix/getconf.c:538
#, c-format
msgid "Written by %s.\n"
@@ -284,7 +284,7 @@ msgstr "neveljavna velikost kazalca"
msgid "Usage: xtrace [OPTION]... PROGRAM [PROGRAMOPTION]...\\n"
msgstr "Uporaba: xtrace [IZBIRA]... PROGRAM [IZBIRA_PROGRAMA]...\\n"
#: debug/xtrace.sh:31 elf/sotruss.sh:56 elf/sotruss.sh:67 elf/sotruss.sh:135
#: debug/xtrace.sh:31 elf/sotruss.sh:56 elf/sotruss.sh:68 elf/sotruss.sh:136
#: malloc/memusage.sh:25
msgid "Try \\`%s --help' or \\`%s --usage' for more information.\\n"
msgstr "Poskusite »%s --help« ali »%s --usage« za izčrpnejša navodila.\\n"
@@ -356,43 +356,43 @@ msgstr "napačna zaščita"
msgid "invalid mode parameter"
msgstr "napačen parameter zaščita"
#: elf/cache.c:296 elf/ldconfig.c:1238
#: elf/cache.c:357 elf/ldconfig.c:1116
#, c-format
msgid "Can't open cache file %s\n"
msgstr "Ni mogoče odpreti predpomnilniške datoteke %s\n"
#: elf/cache.c:310
#: elf/cache.c:371
#, c-format
msgid "mmap of cache file failed.\n"
msgstr "mmap predpomnilniške datoteke ni uspel.\n"
#: elf/cache.c:314 elf/cache.c:328 elf/cache.c:339
#: elf/cache.c:375 elf/cache.c:389 elf/cache.c:400
#, c-format
msgid "File is not a cache file.\n"
msgstr "Datoteka ni predpomnilniška datoteka.\n"
#: elf/cache.c:368 elf/cache.c:383
#: elf/cache.c:429 elf/cache.c:444
#, c-format
msgid "%d libs found in cache `%s'\n"
msgstr "%d knjižnic najdeno v predpomnilniku »%s«\n"
#: elf/cache.c:685
#: elf/cache.c:783
#, c-format
msgid "Can't create temporary cache file %s"
msgstr "Začasne predpomnilniške datoteke %s ni mogoče ustvariti"
#: elf/cache.c:693 elf/cache.c:703 elf/cache.c:707 elf/cache.c:712
#: elf/cache.c:731
#: elf/cache.c:791 elf/cache.c:801 elf/cache.c:805 elf/cache.c:810
#: elf/cache.c:829
#, c-format
msgid "Writing of cache data failed"
msgstr "Zapisovanje predpomnilniških podatkov ni uspelo"
#: elf/cache.c:726
#: elf/cache.c:824
#, c-format
msgid "Changing access rights of %s to %#o failed"
msgstr "Sprememba pravic dostopa za %s na %#o ni uspela"
#: elf/cache.c:735
#: elf/cache.c:833
#, c-format
msgid "Renaming of %s to %s failed"
msgstr "Preimenovanje %s v %s ni uspelo"
@@ -405,32 +405,32 @@ msgstr "napaka ob nalaganju deljene knjižnice"
msgid "DYNAMIC LINKER BUG!!!"
msgstr "NAPAKA DINAMIČNEGA POVEZOVALNIKA!!!"
#: elf/dl-close.c:363 elf/dl-open.c:297
#: elf/dl-close.c:368 elf/dl-open.c:297
msgid "cannot create scope list"
msgstr "seznama področja ni mogoče ustvariti"
#: elf/dl-close.c:790
#: elf/dl-close.c:795
msgid "shared object not open"
msgstr "deljeni predmet ni odprt"
#: elf/dl-deps.c:96
#: elf/dl-deps.c:103
msgid "DST not allowed in SUID/SGID programs"
msgstr "DST ni dovoljen pri programih SUID/SGID"
#: elf/dl-deps.c:109
msgid "empty dynamic string token substitution"
msgstr "prazna zamenjava dinamičnega niza žetonov"
#: elf/dl-deps.c:115
#: elf/dl-deps.c:224 elf/dl-deps.c:286
#, c-format
msgid "cannot load auxiliary `%s' because of empty dynamic string token substitution\n"
msgstr "pomožne datoteke »%s« ni mogoče naložiti zaradi prazne zamenjave dinamičnega niza žetonov\n"
#: elf/dl-deps.c:427
#: elf/dl-deps.c:283
msgid "empty dynamic string token substitution"
msgstr "prazna zamenjava dinamičnega niza žetonov"
#: elf/dl-deps.c:449
msgid "cannot allocate dependency list"
msgstr "seznama odvisnosti ni mogoče dodeliti"
#: elf/dl-deps.c:467
#: elf/dl-deps.c:489
msgid "cannot allocate symbol search list"
msgstr "seznama iskalnih simbolov ni mogoče dodeliti"
@@ -438,131 +438,132 @@ msgstr "seznama iskalnih simbolov ni mogoče dodeliti"
msgid "cannot create capability list"
msgstr "seznama sposobnosti ni mogoče ustvariti"
#: elf/dl-load.c:424
#: elf/dl-load.c:408
msgid "cannot allocate name record"
msgstr "zapisa imena ni mogoče dodeliti"
#: elf/dl-load.c:510 elf/dl-load.c:623 elf/dl-load.c:717 elf/dl-load.c:814
msgid "cannot create cache for search path"
msgstr "predpomnilnika za iskalno pot ni mogoče ustvariti"
#: elf/dl-load.c:606
#: elf/dl-load.c:595
msgid "cannot create RUNPATH/RPATH copy"
msgstr "kopije RUNPATH/RPATH ni mogoče ustvariti"
#: elf/dl-load.c:703
#: elf/dl-load.c:612 elf/dl-load.c:621 elf/dl-load.c:712 elf/dl-load.c:810
#: elf/dl-load.c:830
msgid "cannot create cache for search path"
msgstr "predpomnilnika za iskalno pot ni mogoče ustvariti"
#: elf/dl-load.c:698
msgid "cannot create search path array"
msgstr "polja iskalnih poti ni mogoče ustvariti"
#: elf/dl-load.c:978
msgid "cannot stat shared object"
msgstr "statusa deljenega predmeta ni mogoče ugotoviti"
#: elf/dl-load.c:1071 elf/dl-load.c:2160
msgid "cannot create shared object descriptor"
msgstr "deljenega predmetnega deskriptorja ni mogoče ustvariti"
#: elf/dl-load.c:1090 elf/dl-load.c:1594 elf/dl-load.c:1704
#: elf/dl-load.c:1000 elf/dl-load.c:1354 elf/dl-load.c:1647
msgid "cannot read file data"
msgstr "podatkov datoteke ni mogoče prebrati"
#: elf/dl-load.c:1224
#: elf/dl-load.c:1151
msgid "cannot stat shared object"
msgstr "statusa deljenega predmeta ni mogoče ugotoviti"
#: elf/dl-load.c:1246 elf/dl-load.c:2203
msgid "cannot create shared object descriptor"
msgstr "deljenega predmetnega deskriptorja ni mogoče ustvariti"
#: elf/dl-load.c:1278
msgid "object file has no loadable segments"
msgstr "predmetna datoteka nima včitljivega segmenta"
#: elf/dl-load.c:1241
#: elf/dl-load.c:1291
msgid "cannot dynamically load executable"
msgstr "dinamično nalaganje izvedljive datoteke ni mogoče"
#: elf/dl-load.c:1248
#: elf/dl-load.c:1298
msgid "object file has no dynamic section"
msgstr "predmetna datoteka nima dinamične sekcije"
#: elf/dl-load.c:1285
#: elf/dl-load.c:1335
msgid "shared object cannot be dlopen()ed"
msgstr "dlopen() na deljenih predmetih ni mogoč"
#: elf/dl-load.c:1298
#: elf/dl-load.c:1347
msgid "cannot allocate memory for program header"
msgstr "dodelitev pomnilnika za glavo programa ni mogoča"
#: elf/dl-load.c:1323
#: elf/dl-load.c:1377
msgid "cannot enable executable stack as shared object requires"
msgstr "izvedljivega sklada ni mogoče omogočiti, kot to zahteva deljeni predmet"
#: elf/dl-load.c:1351
#: elf/dl-load.c:1401
msgid "cannot close file descriptor"
msgstr "datotečnega deskriptorja ni mogoče zapreti"
#: elf/dl-load.c:1594
#: elf/dl-load.c:1647
msgid "file too short"
msgstr "datoteka je prekratka"
#: elf/dl-load.c:1628
#: elf/dl-load.c:1681
msgid "invalid ELF header"
msgstr "neveljavna glava ELF"
#: elf/dl-load.c:1645
#: elf/dl-load.c:1698
msgid "ELF file data encoding not big-endian"
msgstr "kodiranje podatkov datoteke ELF ni »big-endian«"
#: elf/dl-load.c:1647
#: elf/dl-load.c:1700
msgid "ELF file data encoding not little-endian"
msgstr "kodiranje podatkov datoteke ELF ni »little-endian«"
#: elf/dl-load.c:1651
#: elf/dl-load.c:1704
msgid "ELF file version ident does not match current one"
msgstr "identifikator različice datoteke ELF se ne ujema s trenutnim"
#: elf/dl-load.c:1655
#: elf/dl-load.c:1708
msgid "ELF file OS ABI invalid"
msgstr "OS ABI datoteke ELF ni veljaven"
#: elf/dl-load.c:1658
#: elf/dl-load.c:1711
msgid "ELF file ABI version invalid"
msgstr "različica ABI datoteke ELF ni veljavna"
#: elf/dl-load.c:1661
#: elf/dl-load.c:1714
msgid "nonzero padding in e_ident"
msgstr "neničelno zapolnjenje pri e_ident"
#: elf/dl-load.c:1664
#: elf/dl-load.c:1717
msgid "internal error"
msgstr "interna napaka"
#: elf/dl-load.c:1671
#: elf/dl-load.c:1724
msgid "ELF file version does not match current one"
msgstr "različica datoteke ELF se ne ujema s trenutno"
#: elf/dl-load.c:1685
#: elf/dl-load.c:1738
msgid "only ET_DYN and ET_EXEC can be loaded"
msgstr "samo ET_DYN in ET_EXEC je mogoče naložiti"
#: elf/dl-load.c:1690
#: elf/dl-load.c:1743
msgid "ELF file's phentsize not the expected size"
msgstr "phentsize datoteke ELF ni pričakovane velikosti"
#: elf/dl-load.c:2179
#: elf/dl-load.c:2222
msgid "wrong ELF class: ELFCLASS64"
msgstr "napačen razred ELF: ELFCLASS64"
#: elf/dl-load.c:2180
#: elf/dl-load.c:2223
msgid "wrong ELF class: ELFCLASS32"
msgstr "napačen razred ELF: ELFCLASS32"
#: elf/dl-load.c:2183
#: elf/dl-load.c:2226
msgid "cannot open shared object file"
msgstr "deljene predmetne datoteke ni mogoče odpreti"
#: elf/dl-load.h:126
#: elf/dl-load.h:249
msgid "failed to map segment from shared object"
msgstr "preslikava segmenta iz deljenega predmeta ni uspela"
#: elf/dl-load.h:128
#: elf/dl-load.h:251
msgid "cannot change memory protections"
msgstr "sprememba zaščite pomnilnika ni mogoča"
#: elf/dl-load.h:130
#: elf/dl-load.h:253
msgid "cannot map zero-fill pages"
msgstr "ničelnih strani ni mogoče preslikati"
@@ -578,36 +579,36 @@ msgstr "ni mogoče razširiti globalnega področja"
msgid "TLS generation counter wrapped! Please report this."
msgstr "Zapletanje števca generacij TLS! Prosim, javite to napako."
#: elf/dl-open.c:817
#: elf/dl-open.c:816
msgid "invalid mode for dlopen()"
msgstr "neveljavni način za dlopen()"
#: elf/dl-open.c:834
#: elf/dl-open.c:833
msgid "no more namespaces available for dlmopen()"
msgstr "nobenega imenskega prostora za dlmopen() ni več na voljo"
#: elf/dl-open.c:859
#: elf/dl-open.c:858
msgid "invalid target namespace in dlmopen()"
msgstr "neveljavni ciljni imenski prostor pri dlmopen()"
#: elf/dl-reloc.c:140
#: elf/dl-reloc.c:139
msgid "cannot allocate memory in static TLS block"
msgstr "ni mogoče dodeliti pomnilnika v statičnem bloku TLS"
#: elf/dl-reloc.c:283
#: elf/dl-reloc.c:261
msgid "cannot make segment writable for relocation"
msgstr "segmenta se ne da odščititi za pisanje pred premikom"
#: elf/dl-reloc.c:313
#: elf/dl-reloc.c:311
#, c-format
msgid "%s: out of memory to store relocation results for %s\n"
msgstr "%s: pomnilnika ni dovolj za shranjevanje rezultatov premikanja %s\n"
#: elf/dl-reloc.c:328
#: elf/dl-reloc.c:326
msgid "cannot restore segment prot after reloc"
msgstr "zaščite segmenta po premiku ni mogoče povrniti"
#: elf/dl-reloc.c:366
#: elf/dl-reloc.c:364
msgid "cannot apply additional memory protection after relocation"
msgstr "dodatne zaščite pomnilnika po premiku ni mogoče uporabiti"
@@ -615,7 +616,7 @@ msgstr "dodatne zaščite pomnilnika po premiku ni mogoče uporabiti"
msgid "RTLD_NEXT used in code not dynamically loaded"
msgstr "RTLD_NEXT uporabljen v kodi se ni dinamično naložil"
#: elf/dl-tls.c:1217
#: elf/dl-tls.c:1279
msgid "cannot create TLS data structures"
msgstr "podatkovnih struktur TLS ni mogoče ustvariti"
@@ -627,151 +628,12 @@ msgstr "napaka pri vpogledu v različico"
msgid "cannot allocate version reference table"
msgstr "ni mogoče dodeliti tabele sklicev različic"
#: elf/ldconfig.c:124
msgid "Print cache"
msgstr "Izpiši vsebino predpomnilnika"
#: elf/ldconfig.c:125
msgid "Generate verbose messages"
msgstr "Ustvarjaj obširna sporočila"
#: elf/ldconfig.c:126
msgid "Don't build cache"
msgstr "Ne gradi predpomnilnika"
#: elf/ldconfig.c:128
msgid "Change to and use ROOT as root directory"
msgstr "Spremeni delovni imenik v KOREN in ga uporabi kot korenski imenik"
#: elf/ldconfig.c:128
msgid "ROOT"
msgstr "KOREN"
#: elf/ldconfig.c:129
msgid "CACHE"
msgstr "PREDPOMNILNIK"
#: elf/ldconfig.c:129
msgid "Use CACHE as cache file"
msgstr "Uporabi PREDPOMNILNIK kot predpomnilniško datoteko"
#: elf/ldconfig.c:130
msgid "CONF"
msgstr "KONF"
#: elf/ldconfig.c:130
msgid "Use CONF as configuration file"
msgstr "Uporabi KONF kot nastavitveno datoteko"
#: elf/ldconfig.c:131
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "Obdelaj le imenike, določene v ukazni vrstici. Ne gradi predpomnilnika."
#: elf/ldconfig.c:132
msgid "Manually link individual libraries."
msgstr "Ročno poveži posamične knjižnice."
#: elf/ldconfig.c:133
msgid "FORMAT"
msgstr "OBLIKA"
#: elf/ldconfig.c:134
msgid "Ignore auxiliary cache file"
msgstr "Ne upoštevaj nadomestne predpomnilniške datoteke"
#: elf/ldconfig.c:142
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr "Nastavi izvajalne povezave dinamičnega povezovalnika."
#: elf/ldconfig.c:276
#, c-format
msgid "Path `%s' given more than once"
msgstr "Pot »%s« je podana več kot enkrat"
#: elf/ldconfig.c:405
#, c-format
msgid "Can't stat %s"
msgstr "Statusa %s ni moč ugotoviti"
#: elf/ldconfig.c:486
#, c-format
msgid "Can't stat %s\n"
msgstr "Statusa %s ni moč ugotoviti\n"
#: elf/ldconfig.c:496
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s ni simbolna povezava\n"
#: elf/ldconfig.c:515
#, c-format
msgid "Can't unlink %s"
msgstr "Ni mogoče odstraniti povezave %s"
#: elf/ldconfig.c:521
#, c-format
msgid "Can't link %s to %s"
msgstr "Ni mogoče ustvariti povezave %s na %s"
#: elf/ldconfig.c:527
msgid " (changed)\n"
msgstr " (zamenjano)\n"
#: elf/ldconfig.c:529
msgid " (SKIPPED)\n"
msgstr " (PRESKOČENO)\n"
#: elf/ldconfig.c:584
#, c-format
msgid "Can't find %s"
msgstr "Neuspelo iskanje %s"
#: elf/ldconfig.c:600 elf/ldconfig.c:759 elf/ldconfig.c:826
#, c-format
msgid "Cannot lstat %s"
msgstr "Ni mogoče izvesti lstat %s"
#: elf/ldconfig.c:606
#, c-format
msgid "Ignored file %s since it is not a regular file."
msgstr "Datoteka %s ni bila upoštevana, ker ni navadna datoteka."
#: elf/ldconfig.c:614
#, c-format
msgid "No link created since soname could not be found for %s"
msgstr "Povezava ni bila ustvarjena, ker ni bilo moč najti soname za %s"
#: elf/ldconfig.c:715
#, c-format
msgid "Can't open directory %s"
msgstr "Ni mogoče odpreti imenika %s"
#: elf/ldconfig.c:776 elf/ldconfig.c:814 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "Vhodne datoteke %s ni moč najti.\n"
#: elf/ldconfig.c:783
#, c-format
msgid "Cannot stat %s"
msgstr "Statusa %s ni moč ugotoviti"
#: elf/ldconfig.c:902
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "knjižnica libc6 %s v napačnem imeniku"
#: elf/ldconfig.c:921
#, c-format
msgid "libraries %s and %s in directory %s have same soname but different type."
msgstr "knjižnici %s in %s v imeniku %s imata isti soname, a sta različnega tipa."
#: elf/ldconfig.c:1050
#: elf/ldconfig-parse.c:90
#, c-format
msgid "Warning: ignoring configuration file that cannot be opened: %s"
msgstr "Opozorilo: nastavitvene datoteke ni mogoče prebrati in se je ne upošteva: %s"
#: elf/ldconfig.c:1117
#: elf/ldconfig-parse.c:156
#, c-format
msgid "need absolute file name for configuration file when using -r"
msgstr "ob izbiri -r je potrebo absolutno ime za nastavitveno datoteko"
@@ -782,29 +644,164 @@ msgstr "ob izbiri -r je potrebo absolutno ime za nastavitveno datoteko"
# ! INEXACT
# #-#-#-#-# gettext-tools-0.18.3.sl.po (GNU gettext-tools 0.18.3) #-#-#-#-#
# Morda ,,Zmanjkalo pomnilnika''?
#: elf/ldconfig.c:1124 locale/programs/xasprintf.c:31
#: elf/ldconfig-parse.c:163 locale/programs/xasprintf.c:31
#: locale/programs/xmalloc.c:63 malloc/obstack.c:416 malloc/obstack.c:418
#: posix/getconf.c:503 posix/getconf.c:745
#, c-format
msgid "memory exhausted"
msgstr "pomnilnik porabljen"
#: elf/ldconfig.c:1157
#: elf/ldconfig-parse.c:196
#, c-format
msgid "%s:%u: cannot read directory %s"
msgstr "%s:%u: imenika %s ni mogoče prebrati"
#: elf/ldconfig.c:1195
#: elf/ldconfig.c:132
msgid "Print cache"
msgstr "Izpiši vsebino predpomnilnika"
#: elf/ldconfig.c:133
msgid "Generate verbose messages"
msgstr "Ustvarjaj obširna sporočila"
#: elf/ldconfig.c:134
msgid "Don't build cache"
msgstr "Ne gradi predpomnilnika"
#: elf/ldconfig.c:136
msgid "Change to and use ROOT as root directory"
msgstr "Spremeni delovni imenik v KOREN in ga uporabi kot korenski imenik"
#: elf/ldconfig.c:136
msgid "ROOT"
msgstr "KOREN"
#: elf/ldconfig.c:137
msgid "CACHE"
msgstr "PREDPOMNILNIK"
#: elf/ldconfig.c:137
msgid "Use CACHE as cache file"
msgstr "Uporabi PREDPOMNILNIK kot predpomnilniško datoteko"
#: elf/ldconfig.c:138
msgid "CONF"
msgstr "KONF"
#: elf/ldconfig.c:140
msgid "Only process directories specified on the command line. Don't build cache."
msgstr "Obdelaj le imenike, določene v ukazni vrstici. Ne gradi predpomnilnika."
#: elf/ldconfig.c:141
msgid "Manually link individual libraries."
msgstr "Ročno poveži posamične knjižnice."
#: elf/ldconfig.c:142
msgid "FORMAT"
msgstr "OBLIKA"
#: elf/ldconfig.c:143
msgid "Ignore auxiliary cache file"
msgstr "Ne upoštevaj nadomestne predpomnilniške datoteke"
#: elf/ldconfig.c:151
msgid "Configure Dynamic Linker Run Time Bindings."
msgstr "Nastavi izvajalne povezave dinamičnega povezovalnika."
#: elf/ldconfig.c:288
#, c-format
msgid "Path `%s' given more than once"
msgstr "Pot »%s« je podana več kot enkrat"
#: elf/ldconfig.c:417
#, c-format
msgid "Can't stat %s"
msgstr "Statusa %s ni moč ugotoviti"
#: elf/ldconfig.c:511
#, c-format
msgid "Can't stat %s\n"
msgstr "Statusa %s ni moč ugotoviti\n"
#: elf/ldconfig.c:521
#, c-format
msgid "%s is not a symbolic link\n"
msgstr "%s ni simbolna povezava\n"
#: elf/ldconfig.c:540
#, c-format
msgid "Can't unlink %s"
msgstr "Ni mogoče odstraniti povezave %s"
#: elf/ldconfig.c:546
#, c-format
msgid "Can't link %s to %s"
msgstr "Ni mogoče ustvariti povezave %s na %s"
#: elf/ldconfig.c:552
msgid " (changed)\n"
msgstr " (zamenjano)\n"
#: elf/ldconfig.c:554
msgid " (SKIPPED)\n"
msgstr " (PRESKOČENO)\n"
#: elf/ldconfig.c:609
#, c-format
msgid "Can't find %s"
msgstr "Neuspelo iskanje %s"
#: elf/ldconfig.c:625 elf/ldconfig.c:784 elf/ldconfig.c:851
#, c-format
msgid "Cannot lstat %s"
msgstr "Ni mogoče izvesti lstat %s"
#: elf/ldconfig.c:631
#, c-format
msgid "Ignored file %s since it is not a regular file."
msgstr "Datoteka %s ni bila upoštevana, ker ni navadna datoteka."
#: elf/ldconfig.c:639
#, c-format
msgid "No link created since soname could not be found for %s"
msgstr "Povezava ni bila ustvarjena, ker ni bilo moč najti soname za %s"
#: elf/ldconfig.c:740
#, c-format
msgid "Can't open directory %s"
msgstr "Ni mogoče odpreti imenika %s"
#: elf/ldconfig.c:801 elf/ldconfig.c:839 elf/readlib.c:81
#, c-format
msgid "Input file %s not found.\n"
msgstr "Vhodne datoteke %s ni moč najti.\n"
#: elf/ldconfig.c:808
#, c-format
msgid "Cannot stat %s"
msgstr "Statusa %s ni moč ugotoviti"
#: elf/ldconfig.c:927
#, c-format
msgid "libc6 library %s in wrong directory"
msgstr "knjižnica libc6 %s v napačnem imeniku"
#: elf/ldconfig.c:946
#, c-format
msgid "libraries %s and %s in directory %s have same soname but different type."
msgstr "knjižnici %s in %s v imeniku %s imata isti soname, a sta različnega tipa."
#: elf/ldconfig.c:1070
#, c-format
msgid "relative path `%s' used to build cache"
msgstr "relativna pot »%s« uporabljena za izgradnjo predpomnilnika"
#: elf/ldconfig.c:1217
#: elf/ldconfig.c:1092
#, c-format
msgid "Can't chdir to /"
msgstr "Sprememba imenika na / ni mogoča"
#: elf/ldconfig.c:1258
#: elf/ldconfig.c:1136
#, c-format
msgid "Can't open cache file directory %s\n"
msgstr "Ni mogoče odpreti imenika %s s predpomnilniško datoteko\n"
@@ -1099,14 +1096,14 @@ msgid "%s: option requires an argument -- '%s'\\n"
msgstr "%s: izbira zahteva argument -- »%s«\\n"
#: elf/sotruss.sh:61
msgid "%s: option is ambiguous; possibilities:"
msgstr "%s: izbira ni enopomenska; možnosti so:"
msgid "%s: option '%s' is ambiguous; possibilities:"
msgstr "%s: izbira »%s« ni enopomenska; možnosti so:"
#: elf/sotruss.sh:79
#: elf/sotruss.sh:80
msgid "Written by %s.\\n"
msgstr "Avtor(ica): %s.\\n"
#: elf/sotruss.sh:86
#: elf/sotruss.sh:87
msgid ""
"Usage: %s [-ef] [-F FROMLIST] [-o FILENAME] [-T TOLIST] [--exit]\n"
"\t [--follow] [--from FROMLIST] [--output FILENAME] [--to TOLIST]\n"
@@ -1118,7 +1115,7 @@ msgstr ""
" [-help] [--usage] [--version] [--]\n"
" PROGRAM [IZBIRA_PROGRAMA...]"
#: elf/sotruss.sh:134
#: elf/sotruss.sh:135
msgid "%s: unrecognized option '%c%s'\\n"
msgstr "%s: neprepoznana izbira »%c%s«\\n"
@@ -1875,7 +1872,7 @@ msgstr "Uspešno"
msgid "NUMBER"
msgstr "N"
#: nscd/nscd.c:158 nss/getent.c:995 nss/makedb.c:208
#: nscd/nscd.c:158 nss/getent.c:1014 nss/makedb.c:208
#, c-format
msgid "wrong number of arguments"
msgstr "napačno število argumentov"
@@ -1972,7 +1969,7 @@ msgstr "Zaklepaj ) ali \\) brez para"
msgid "No previous regular expression"
msgstr "Manjkajoč prejšnji regularni izraz"
#: stdio-common/psiginfo-data.h:46 timezone/zdump.c:445 timezone/zic.c:652
#: stdio-common/psiginfo-data.h:46 timezone/zdump.c:424 timezone/zic.c:831
msgid "I/O error"
msgstr "V/I napaka"
@@ -2505,11 +2502,11 @@ msgstr "Operacija bi blokirala"
msgid "cannot map pages for fdesc table"
msgstr "strani za tabelo fdesc ni mogoče preslikati"
#: sysdeps/hppa/dl-fptr.c:214
#: sysdeps/hppa/dl-fptr.c:212
msgid "cannot map pages for fptr table"
msgstr "strani za tabelo fptr ni mogoče preslikati"
#: sysdeps/hppa/dl-fptr.c:243
#: sysdeps/hppa/dl-fptr.c:240
msgid "internal error: symidx out of range of fptr table"
msgstr "interna napaka: symidx je izven obsega tabele fptr"
@@ -2585,16 +2582,16 @@ msgstr "Parametrični niz nepravilno kodiran"
# ! INEXACT
# #-#-#-#-# gnulib-3.0.0.6062.a6b16.sl.po (gnulib 3.0.0.6062.a6b16) #-#-#-#-#
# ! INEXACT
#: timezone/zic.c:463
#: timezone/zic.c:559
#, c-format
msgid "%s: Memory exhausted: %s\n"
msgstr "%s: Pomnilnik porabljen: %s\n"
#: timezone/zic.c:588
#: timezone/zic.c:687
msgid "standard input"
msgstr "standardni vhod"
#: timezone/zic.c:639
#: timezone/zic.c:739
#, c-format
msgid "warning: "
msgstr "opozorilo: "
+444 -501
View File
File diff suppressed because it is too large Load Diff
+403 -497
View File
File diff suppressed because it is too large Load Diff
+370 -434
View File
File diff suppressed because it is too large Load Diff
+407 -501
View File
File diff suppressed because it is too large Load Diff
+379 -443
View File
File diff suppressed because it is too large Load Diff
+403 -496
View File
File diff suppressed because it is too large Load Diff
+402 -495
View File
File diff suppressed because it is too large Load Diff
+19 -1
View File
@@ -76,7 +76,13 @@ tests := tst-shm tst-timer tst-timer2 \
tst-cpuclock2 tst-cputimer1 tst-cputimer2 tst-cputimer3 \
tst-clock_nanosleep2 \
tst-shm-cancel \
tst-mqueue10
tst-mqueue10 \
tst-timer6 \
tst-timer7 \
tst-timer8 \
tst-timer8x \
tst-timer9 \
tst-timer10
tests-internal := tst-timer-sigmask
tests-time64 := \
@@ -98,6 +104,9 @@ include ../Rules
CFLAGS-aio_suspend.c += -fexceptions
CFLAGS-mq_timedreceive.c += -fexceptions -fasynchronous-unwind-tables
CFLAGS-mq_timedsend.c += -fexceptions -fasynchronous-unwind-tables
CFLAGS-timer_create.c += -fexceptions -fasynchronous-unwind-tables
CFLAGS-tst-timer8x.c += -fexceptions -fasynchronous-unwind-tables
# Exclude fortified routines from being built with _FORTIFY_SOURCE
routines_no_fortify += \
@@ -109,3 +118,12 @@ LDFLAGS-rt.so = -Wl,--enable-new-dtags,-z,nodelete
$(objpfx)librt.so: $(shared-thread-library)
tst-mqueue7-ARGS = -- $(host-test-program-cmd)
# The timer and message-queue tests here are timing-sensitive and better
# do not run in parallel, unless serialize-tests is cleared (make
# check-parallel).
ifeq (yes-yes,$(run-built-tests)-$(serialize-tests))
ifneq ($(filter %tests,$(MAKECMDGOALS)),)
.NOTPARALLEL:
endif
endif
+9 -6
View File
@@ -38,19 +38,22 @@ thread_handler (union sigval sv)
printf ("%s: blocked signal mask = { ", __func__);
for (int sig = 1; sig < NSIG; sig++)
{
/* POSIX timers threads created to handle SIGEV_THREAD block all
signals except SIGKILL, SIGSTOP and glibc internals ones. */
/* While the notification function runs, the SIGEV_THREAD helper blocks
all signals except SIGKILL, SIGSTOP, SIGSETXID, and SIGCANCEL (the
last, which aliases SIGTIMER, is unblocked around the notification
function so that it can be cancelled). */
if (sigismember (&ss, sig))
{
TEST_VERIFY (sig != SIGKILL && sig != SIGSTOP);
TEST_VERIFY (!is_internal_signal (sig));
}
TEST_VERIFY (sig != SIGKILL && sig != SIGSTOP && sig != SIGSETXID
&& sig != SIGCANCEL);
if (test_verbose && sigismember (&ss, sig))
printf ("%d, ", sig);
}
if (test_verbose > 0)
printf ("}\n");
/* SIGCANCEL must be unblocked here so pthread_cancel is honored. */
TEST_VERIFY (!sigismember (&ss, SIGCANCEL));
xpthread_barrier_wait (&barrier);
}
+109
View File
@@ -0,0 +1,109 @@
/* Check that timer_getoverrun accumulates SIGEV_THREAD overruns across
multiple notifications.
Copyright (C) 2026 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, see <https://www.gnu.org/licenses/>. */
/* A periodic timer whose notification function runs longer than the interval
overruns on every firing. Because the helper serves one notification at a
time and the missed expirations are delivered promptly (SIGTIMER unblocked)
rather than left pending, they are tracked in userspace. The count must be
cumulative and overruns from earlier notifications must not be lost when
a new notification starts. */
#include <signal.h>
#include <stdatomic.h>
#include <time.h>
#include <support/check.h>
enum { interval_nsec = 10000000 }; /* 0.01s */
enum { run_intervals = 4 };
enum { notifications = 6 };
static atomic_int reached_final;
static atomic_int keep_spinning = 1;
static atomic_int overrun_cumulative;
static timer_t timerid;
static void
busy_wait (long int nsec)
{
struct timespec start, now;
clock_gettime (CLOCK_MONOTONIC, &start);
do
clock_gettime (CLOCK_MONOTONIC, &now);
while ((now.tv_sec - start.tv_sec) * NSEC_PER_SEC
+ (now.tv_nsec - start.tv_nsec) < nsec);
}
static void
on_timer (union sigval sv)
{
static int n;
if (++n < notifications)
/* Run past several interval boundaries so this notification overruns. */
busy_wait ((long int) run_intervals * interval_nsec);
else if (n == notifications)
{
/* Cumulative overruns from the prior notifications. */
atomic_store_explicit (&overrun_cumulative, timer_getoverrun (timerid),
memory_order_relaxed);
atomic_store_explicit (&reached_final, 1, memory_order_release);
while (atomic_load_explicit (&keep_spinning, memory_order_acquire))
;
}
}
static int
do_test (void)
{
struct sigevent ev =
{
.sigev_notify = SIGEV_THREAD,
.sigev_notify_function = on_timer,
};
TEST_COMPARE (timer_create (CLOCK_MONOTONIC, &ev, &timerid), 0);
struct itimerspec its =
{ .it_value = { .tv_nsec = interval_nsec },
.it_interval = { .tv_nsec = interval_nsec } };
TEST_COMPARE (timer_settime (timerid, 0, &its, NULL), 0);
while (atomic_load_explicit (&reached_final, memory_order_acquire) == 0)
;
/* Each of the (notifications - 1) prior notifications missed about
(run_intervals - 1) expirations, so the cumulative count is several
times what one notification alone contributes. */
int overrun = atomic_load_explicit (&overrun_cumulative,
memory_order_relaxed);
TEST_VERIFY (overrun >= notifications);
printf ("debug: overrun = %d\n", overrun);
struct itimerspec its_stop = { 0 };
TEST_COMPARE (timer_settime (timerid, 0, &its_stop, NULL), 0);
atomic_store_explicit (&keep_spinning, 0, memory_order_release);
TEST_COMPARE (timer_delete (timerid), 0);
return 0;
}
#define TIMEOUT 15
#include <support/test-driver.c>
+79
View File
@@ -0,0 +1,79 @@
/* Check re-use timer id for SIGEV_THREAD (BZ 32833)
Copyright (C) 2026 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, see <https://www.gnu.org/licenses/>. */
#include <signal.h>
#include <time.h>
#include <support/check.h>
/* The test depends of the system load and scheduler pressure, so the
number of iteration is arbitrary to not take too much time. */
enum { niters = 1<<13 };
static void
on_good_timer (union sigval sv)
{
}
static void
on_bad_timer (union sigval sv)
{
FAIL_EXIT1 ("triggered bad timer");
}
static int
do_test (void)
{
struct itimerspec its_long = { .it_value = { .tv_sec = 180 } };
struct itimerspec its_short = { .it_value = { .tv_nsec = 1000 } };
struct itimerspec its_zero = { .it_interval = { .tv_sec = 0 } };
struct sigevent ev_short =
{
.sigev_notify = SIGEV_THREAD,
.sigev_notify_function = on_good_timer,
};
struct sigevent ev_long =
{
.sigev_notify = SIGEV_THREAD,
.sigev_notify_function = on_bad_timer,
};
for (int which = 0; which < niters; which++)
{
struct sigevent *ev = which & 0x1 ? &ev_short : &ev_long;
struct itimerspec *its = which & 0x1 ? &its_short : &its_long;
timer_t timerid;
if (timer_create (CLOCK_REALTIME, ev, &timerid) == -1)
FAIL_EXIT1 ("timer_create: %m");
if (timer_settime (timerid, 0, its, NULL) == -1)
FAIL_EXIT1 ("timer_settime: %m");
if (timer_settime (timerid, 0, &its_zero, NULL) == -1)
FAIL_EXIT1 ("timer_settime: %m");
if (timer_delete (timerid) == -1)
FAIL_EXIT1 ("timer_delete: %m");
}
return 0;
}
#include <support/test-driver.c>
+91
View File
@@ -0,0 +1,91 @@
/* Check if thread local storage is reset on each SIGEV_THREAD trigger.
Copyright (C) 2026 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, see <https://www.gnu.org/licenses/>. */
#include <array_length.h>
#include <semaphore.h>
#include <signal.h>
#include <string.h>
#include <time.h>
#include <support/check.h>
static sem_t sem;
static __thread int var1;
#define VAR2_LEN 32
static __thread char var2[] = { [0 ... VAR2_LEN] = 0xcc };
static const char var2_expected[] = { [0 ... VAR2_LEN] = 0xcc };
static void
on_timer (union sigval sv)
{
TEST_COMPARE (var1, 0);
TEST_COMPARE_BLOB (var2, array_length (var2),
var2_expected, array_length (var2_expected));
var1 = 1;
memset (var2, 0x00, array_length (var2));
sem_post (&sem);
}
#define NITERS 10
static int
do_test (void)
{
const struct itimerspec its =
{ .it_value = { .tv_nsec = 10000000 /* 0.01s */ },
.it_interval = { .tv_nsec = 10000000 /* 0.01s */ } };
const struct itimerspec its_stop = { 0 };
sem_init (&sem, 0, 0);
timer_t timerid;
struct sigevent ev =
{
.sigev_notify = SIGEV_THREAD,
.sigev_notify_function = on_timer,
};
if (timer_create (CLOCK_REALTIME, &ev, &timerid) == -1)
FAIL_EXIT1 ("timer_create: %m");
if (timer_settime (timerid, 0, &its, NULL) == -1)
FAIL_EXIT1 ("timer_settime: %m");
for (int i = 0; i < NITERS; i++)
{
if (sem_wait (&sem) != 0)
FAIL_EXIT1 ("sem_wait: %m");
}
/* Disarm before deleting to minimise the chance of an in-flight
invocation racing with timer_delete. */
if (timer_settime (timerid, 0, &its_stop, NULL) == -1)
FAIL_EXIT1 ("timer_settime: %m");
if (timer_delete (timerid) == -1)
FAIL_EXIT1 ("timer_delete: %m");
sem_destroy (&sem);
return 0;
}
#include <support/test-driver.c>
+107
View File
@@ -0,0 +1,107 @@
/* Check that SIGEV_THREAD notification functions honor cancellation
(BZ 30558).
Copyright (C) 2026 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, see <https://www.gnu.org/licenses/>. */
/* POSIX requires SIGEV_THREAD notifications to behave as if a new thread was
created for each delivery and thus it must support cancellation. */
#include <pthread.h>
#include <signal.h>
#include <stdatomic.h>
#include <time.h>
#include <support/check.h>
/* Set by the notification function on its first firing, once it has published
handler_thread and is about to spin; waited on by do_test. */
static atomic_int handler_started;
/* Set by a later firing, proving the helper survived the cancellation and is
reused; waited on by do_test. */
static atomic_int handler_reused;
static pthread_t handler_thread;
static void
on_timer (union sigval sv)
{
/* Plain static (not thread-local) storage, so it survives the per-firing
thread state reset and lets us act only on the first firing. */
static atomic_int firings;
if (atomic_fetch_add (&firings, 1) == 0)
{
handler_thread = pthread_self ();
TEST_COMPARE (pthread_setcancelstate (PTHREAD_CANCEL_ENABLE, NULL), 0);
TEST_COMPARE (pthread_setcanceltype (PTHREAD_CANCEL_ASYNCHRONOUS, NULL),
0);
/* Publish handler_thread and signal do_test. */
atomic_store_explicit (&handler_started, 1, memory_order_release);
/* Spin until asynchronously cancelled, and the flag is never cleared.
The only way out is the cancellation. */
while (atomic_load_explicit (&handler_started, memory_order_relaxed))
;
}
else
atomic_store_explicit (&handler_reused, 1, memory_order_release);
}
static int
do_test (void)
{
timer_t timerid;
struct sigevent ev =
{
.sigev_notify = SIGEV_THREAD,
.sigev_notify_function = on_timer,
};
TEST_COMPARE (timer_create (CLOCK_REALTIME, &ev, &timerid), 0);
/* Periodic so that a firing keeps arriving after the first one is
cancelled. */
struct itimerspec its =
{ .it_value = { .tv_nsec = 10000000 /* 0.01s */ },
.it_interval = { .tv_nsec = 10000000 /* 0.01s */ } };
TEST_COMPARE (timer_settime (timerid, 0, &its, NULL), 0);
/* Busy wait until the notification function is spinning. */
while (atomic_load_explicit (&handler_started, memory_order_acquire) == 0)
;
TEST_COMPARE (pthread_cancel (handler_thread), 0);
/* If the cancellation is honored the spin is interrupted, the helper resets
and resumes, and a later firing sets handler_reused. */
while (atomic_load_explicit (&handler_reused, memory_order_acquire) == 0)
;
/* The helper survived the cancellation and is still alive. */
TEST_COMPARE (pthread_kill (handler_thread, 0), 0);
struct itimerspec its_stop = { 0 };
TEST_COMPARE (timer_settime (timerid, 0, &its_stop, NULL), 0);
TEST_COMPARE (timer_delete (timerid), 0);
return 0;
}
#define TIMEOUT 10
#include <support/test-driver.c>
+21
View File
@@ -0,0 +1,21 @@
/* Check that SIGEV_THREAD notification functions honor cancellation
(BZ 30558).
Copyright (C) 2026 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, see <https://www.gnu.org/licenses/>. */
/* It is built with -fexceptions and -fasynchronous-unwind-tables. */
#include "tst-timer8.c"
+90
View File
@@ -0,0 +1,90 @@
/* Check that timer_getoverrun reports SIGEV_THREAD expirations.
Copyright (C) 2026 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, see <https://www.gnu.org/licenses/>. */
#include <signal.h>
#include <stdatomic.h>
#include <time.h>
#include <support/check.h>
static atomic_int handler_started;
static atomic_int keep_spinning = 1;
static void
on_timer (union sigval sv)
{
static atomic_int firings;
if (atomic_fetch_add (&firings, 1) == 0)
{
atomic_store_explicit (&handler_started, 1, memory_order_release);
/* Simulate handler stuck under load. While this runs, further
expirations are delivered and folded into the timer overrun. */
while (atomic_load_explicit (&keep_spinning, memory_order_acquire))
;
}
}
static int
do_test (void)
{
timer_t timerid;
struct sigevent ev =
{
.sigev_notify = SIGEV_THREAD,
.sigev_notify_function = on_timer,
};
TEST_COMPARE (timer_create (CLOCK_REALTIME, &ev, &timerid), 0);
/* Periodic so expirations keep arriving while the first delivery spins. */
enum { interval_nsec = 10000000 }; /* 0.01s */
struct itimerspec its =
{ .it_value = { .tv_nsec = interval_nsec },
.it_interval = { .tv_nsec = interval_nsec } };
TEST_COMPARE (timer_settime (timerid, 0, &its, NULL), 0);
/* Busy wait (acquire) until the notification function is spinning. */
while (atomic_load_explicit (&handler_started, memory_order_acquire) == 0)
;
/* Let several expirations pile up while the notification is stuck. */
enum { wait_intervals = 10 };
struct timespec delay =
{ .tv_sec = 0, .tv_nsec = wait_intervals * interval_nsec };
TEST_COMPARE (nanosleep (&delay, NULL), 0);
/* The overrun is read while the notification is still spinning, so it is
stable. */
int overrun = timer_getoverrun (timerid);
if (overrun == -1)
FAIL_EXIT1 ("timer_getoverrun: %m");
if (overrun == 0)
FAIL_EXIT1 ("timer_getoverrun returned 0");
/* Disarm before releasing. */
struct itimerspec its_stop = { 0 };
TEST_COMPARE (timer_settime (timerid, 0, &its_stop, NULL), 0);
atomic_store_explicit (&keep_spinning, 0, memory_order_release);
TEST_COMPARE (timer_delete (timerid), 0);
return 0;
}
#define TIMEOUT 10
#include <support/test-driver.c>
+1 -1
View File
@@ -870,7 +870,7 @@ class Context(object):
'gcc': 'vcs-15',
'glibc': 'vcs-mainline',
'gmp': '6.3.0',
'linux': '7.0',
'linux': '7.1',
'mpc': '1.4.1',
'mpfr': '4.2.2',
'mig': 'vcs-mainline',
+6
View File
@@ -108,5 +108,11 @@ END {
}
printf "%s\n", saw_elf ? " elf" : "";
# Also emit the raw dependency edges so the parent makefile can
# parallelize the subdirectory recursion while preserving the
# relative ordering the Depend files request.
for (i = 0; i < dnt; ++i)
printf "subdir-deps-%s += %s\n", from[i], to[i];
print "sysd-sorted-done := t"
}
+4 -2
View File
@@ -30,10 +30,12 @@ __argz_add_sep (char **argz, size_t *argz_len, const char *string, int delim)
{
const char *rp;
char *wp;
char *tmp_argz;
*argz = (char *) realloc (*argz, *argz_len + nlen);
if (*argz == NULL)
tmp_argz = (char *) realloc (*argz, *argz_len + nlen);
if (tmp_argz == NULL)
return ENOMEM;
*argz = tmp_argz;
wp = *argz + *argz_len;
rp = string;
+2 -8
View File
@@ -18,11 +18,5 @@ sysdep_routines += \
memset_zva64 \
strlen_asimd \
strlen_generic \
# sysdep_routines
endif # ifeq ($(subdir),string)
ifeq ($(subdir),malloc)
sysdep_routines += \
malloc-ifuncs \
# sysdep_routines
endif # ifeq ($(subdir),malloc)
# sysdep_routines
endif
-77
View File
@@ -1,77 +0,0 @@
/* Code for ifunc resolvers for malloc: aarch64 version.
Copyright (C) 2026 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
#if IS_IN (libc)
#include <init-arch.h>
#include <malloc-api.h>
#include <shlib-compat.h>
libc_ifunc_hidden (__libc_malloc, __libc_malloc_redirect,
__libc_malloc)
strong_alias (__libc_malloc_redirect, malloc)
libc_ifunc_hidden (__libc_calloc, __libc_calloc_redirect,
__libc_calloc)
weak_alias (__libc_calloc_redirect, calloc)
libc_ifunc_hidden (__libc_memalign, __libc_memalign_redirect,
__libc_memalign)
weak_alias (__libc_memalign_redirect, memalign)
libc_ifunc_hidden (__libc_valloc, __libc_valloc_redirect,
__libc_valloc)
weak_alias (__libc_valloc_redirect, valloc)
libc_ifunc_hidden (__libc_pvalloc, __libc_pvalloc_redirect,
__libc_pvalloc)
weak_alias (__libc_pvalloc_redirect, pvalloc)
libc_ifunc_hidden (__libc_realloc, __libc_realloc_redirect,
__libc_realloc)
strong_alias (__libc_realloc_redirect, realloc)
libc_ifunc_hidden (__libc_free, __libc_free_redirect,
__libc_free)
strong_alias (__libc_free_redirect, free)
libc_ifunc_hidden (__malloc_usable_size, __malloc_usable_size_redirect,
__malloc_usable_size)
weak_alias (__malloc_usable_size_redirect, malloc_usable_size)
libc_ifunc_hidden (__posix_memalign, __posix_memalign_redirect,
__posix_memalign)
weak_alias (__posix_memalign_redirect, posix_memalign)
libc_ifunc_hidden (__aligned_alloc, __aligned_alloc_redirect,
__aligned_alloc)
weak_alias (__aligned_alloc_redirect, aligned_alloc)
libc_ifunc_hidden (__free_sized, __free_sized_redirect,
__free_sized)
weak_alias (__free_sized_redirect, free_sized)
libc_ifunc_hidden (__free_aligned_sized, __free_aligned_sized_redirect,
__free_aligned_sized)
weak_alias (__free_aligned_sized_redirect, free_aligned_sized)
#endif /* IS_IN (libc) */
#if SHLIB_COMPAT (libc, GLIBC_2_0, GLIBC_2_26)
compat_symbol (libc, __libc_free_redirect, cfree, GLIBC_2_0);
#endif
+20
View File
@@ -220,6 +220,12 @@ enum cache_extension_tag
size must be a multiple of 4. */
cache_extension_tag_glibc_hwcaps,
/* Array of system-wide tunable information.
For this section, 8-byte alignment is required, and the section
size must be a multiple of 8. */
cache_extension_tag_tunables,
/* Total number of known cache extension tags. */
cache_extension_count
};
@@ -293,6 +299,20 @@ cache_extension_verify (struct cache_extension_all_loaded *loaded)
hwcaps->flags = 0;
}
}
{
/* Section must not be empty, it must be aligned at 8 bytes, and
the size must be a multiple of 8. */
struct cache_extension_loaded *tun
= &loaded->sections[cache_extension_tag_tunables];
if (tun->size == 0
|| ((uintptr_t) tun->base % 8) != 0
|| (tun->size % 8) != 0)
{
tun->base = NULL;
tun->size = 0;
tun->flags = 0;
}
}
}
static bool __attribute__ ((unused))
+4 -2
View File
@@ -74,6 +74,8 @@ extern void add_to_cache (const char *path, const char *filename,
unsigned int isa_level,
struct glibc_hwcaps_subdirectory *);
extern struct stringtable_entry *cache_store_string (const char *string);
extern void init_aux_cache (void);
extern void load_aux_cache (const char *aux_cache_name);
@@ -112,8 +114,8 @@ enum opt_format
extern enum opt_format opt_format;
/* Declared in ldconfig-parse.c */
typedef void (*ldconfig_parse_config_cb) (const char *line,
const char *from_file, int from_line);
typedef void (*ldconfig_parse_config_cb) (char *line,
const char *from_file, int from_line);
void ldconfig_parse_config (const char *filename, char *opt_chroot,
ldconfig_parse_config_cb cb);
-161
View File
@@ -1,161 +0,0 @@
/* Malloc API functions.
Copyright (C) 2026 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation; either version 2.1 of the
License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; see the file COPYING.LIB. If
not, see <https://www.gnu.org/licenses/>. */
#ifndef _MALLOC_API_H
#define _MALLOC_API_H
#include <stddef.h>
#include <libc-symbols.h>
/*
malloc(size_t n)
Returns a pointer to a newly allocated chunk of at least n bytes, or null
if no space is available. Additionally, on failure, errno is
set to ENOMEM on ANSI C systems.
If n is zero, malloc returns a minimum-sized chunk. (The minimum
size is 16 bytes on most 32bit systems, and 24 or 32 bytes on 64bit
systems.) On most systems, size_t is an unsigned type, so calls
with negative arguments are interpreted as requests for huge amounts
of space, which will often fail. The maximum supported value of n
differs across systems, but is in all cases less than the maximum
representable value of a size_t.
*/
void *__libc_malloc (size_t);
libc_hidden_proto (__libc_malloc)
/*
calloc(size_t n_elements, size_t element_size);
Returns a pointer to n_elements * element_size bytes, with all locations
set to zero.
*/
void *__libc_calloc (size_t, size_t);
libc_hidden_proto (__libc_calloc)
/*
memalign(size_t alignment, size_t n);
Returns a pointer to a newly allocated chunk of n bytes, aligned
in accord with the alignment argument.
The alignment argument should be a power of two. If the argument is
not a power of two, the nearest greater power is used.
8-byte alignment is guaranteed by normal malloc calls, so don't
bother calling memalign with an argument of 8 or less.
Overreliance on memalign is a sure way to fragment space.
*/
void *__libc_memalign (size_t, size_t);
libc_hidden_proto (__libc_memalign)
/*
valloc(size_t n);
Equivalent to memalign(pagesize, n), where pagesize is the page
size of the system. If the pagesize is unknown, 4096 is used.
*/
void *__libc_valloc (size_t);
libc_hidden_proto (__libc_valloc)
/*
pvalloc(size_t n);
Equivalent to valloc(minimum-page-that-holds(n)), that is,
round up n to nearest pagesize.
*/
void *__libc_pvalloc (size_t);
libc_hidden_proto (__libc_pvalloc)
/*
realloc(void* p, size_t n)
Returns a pointer to a chunk of size n that contains the same data
as does chunk p up to the minimum of (n, p's size) bytes, or null
if no space is available.
The returned pointer may or may not be the same as p. The algorithm
prefers extending p when possible, otherwise it employs the
equivalent of a malloc-copy-free sequence.
If p is null, realloc is equivalent to malloc.
If space is not available, realloc returns null, errno is set (if on
ANSI) and p is NOT freed.
if n is for fewer bytes than already held by p, the newly unused
space is lopped off and freed if possible. Unless the #define
REALLOC_ZERO_BYTES_FREES is set, realloc with a size argument of
zero (re)allocates a minimum-sized chunk.
Large chunks that were internally obtained via mmap will always be
grown using malloc-copy-free sequences unless the system supports
MREMAP (currently only linux).
The old unix realloc convention of allowing the last-free'd chunk
to be used as an argument to realloc is not supported.
*/
void *__libc_realloc (void *, size_t);
libc_hidden_proto (__libc_realloc)
/*
free(void* p)
Releases the chunk of memory pointed to by p, that had been previously
allocated using malloc or a related routine such as realloc.
It has no effect if p is null. It can have arbitrary (i.e., bad!)
effects if p has already been freed.
Unless disabled (using mallopt), freeing very large spaces will
when possible, automatically trigger operations that give
back unused memory to the system, thus reducing program footprint.
*/
void __libc_free (void *);
libc_hidden_proto (__libc_free)
/*
malloc_usable_size(void* p);
Returns the number of bytes you can actually use in
an allocated chunk, which may be more than you requested (although
often not) due to alignment and minimum size constraints.
You can use this many bytes without worrying about
overwriting other allocated objects. This is not a particularly great
programming practice. malloc_usable_size can be more useful in
debugging and assertions, for example:
p = malloc(n);
assert(malloc_usable_size(p) >= 256);
*/
size_t __malloc_usable_size (void *);
libc_hidden_proto (__malloc_usable_size)
/*
posix_memalign(void **memptr, size_t alignment, size_t size);
POSIX wrapper like memalign(), checking for validity of size.
*/
int __posix_memalign (void **, size_t, size_t);
libc_hidden_proto (__posix_memalign)
/* For ISO C17. */
void *__aligned_alloc (size_t, size_t);
libc_hidden_proto (__aligned_alloc)
/* For ISO C23. */
void __free_sized (void *, size_t);
libc_hidden_proto (__free_sized)
void __free_aligned_sized (void *, size_t, size_t);
libc_hidden_proto (__free_aligned_sized)
#endif /* _MALLOC_API_H */
+25 -2
View File
@@ -80,6 +80,9 @@
as a cmsg on read. */
#define TCP_CM_INQ TCP_INQ
#define TCP_TX_DELAY 37 /* Delay outgoing packets by XX usec. */
#define TCP_RTO_MAX_MS 44 /* Max time to retransmit (msec). */
#define TCP_RTO_MIN_US 45 /* Min time to retransmit (usec). */
#define TCP_DELACK_MAX_US 46 /* Max delayed ack time (usec). */
#define TCP_REPAIR_ON 1
#define TCP_REPAIR_OFF 0
@@ -226,6 +229,24 @@ enum tcp_ca_state
TCP_CA_Loss = 4
};
/* Values for tcpi_ecn_mode after negotiation. */
#define TCPI_ECN_MODE_DISABLED 0x0
#define TCPI_ECN_MODE_RFC3168 0x1
#define TCPI_ECN_MODE_ACCECN 0x2
#define TCPI_ECN_MODE_PENDING 0x3
/* Values for tcpi_accecn_opt_seen. */
#define TCP_ACCECN_OPT_NOT_SEEN 0x0
#define TCP_ACCECN_OPT_EMPTY_SEEN 0x1
#define TCP_ACCECN_OPT_COUNTER_SEEN 0x2
#define TCP_ACCECN_OPT_FAIL_SEEN 0x3
/* Values for tcpi_accecn_fail_mode. */
#define TCP_ACCECN_ACE_FAIL_SEND 0x1
#define TCP_ACCECN_ACE_FAIL_RECV 0x2
#define TCP_ACCECN_OPT_FAIL_SEND 0x4
#define TCP_ACCECN_OPT_FAIL_RECV 0x8
struct tcp_info
{
uint8_t tcpi_state;
@@ -319,8 +340,10 @@ struct tcp_info
uint32_t tcpi_received_e1_bytes;
uint32_t tcpi_received_e0_bytes;
uint32_t tcpi_received_ce_bytes;
uint16_t tcpi_accecn_fail_mode;
uint16_t tcpi_accecn_opt_seen;
uint32_t tcpi_ecn_mode:2,
tcpi_accecn_opt_seen:2,
tcpi_accecn_fail_mode:4,
tcpi_options2:24;
};
/* Netlink attributes types for SCM_TIMESTAMPING_OPT_STATS */
+1 -1
View File
@@ -98,7 +98,7 @@ _dl_sysdep_start (void **start_argptr,
__libc_enable_secure = _dl_hurd_data->flags & EXEC_SECURE;
__tunables_init (_environ);
__tunables_init (_environ, _dl_argv);
/* Initialize DSO sorting algorithm after tunables. */
_dl_sort_maps_init ();
-2
View File
@@ -16,8 +16,6 @@
# <https://www.gnu.org/licenses/>.
ifeq ($(subdir),rt)
sysdep_routines += timer_routines
tests += tst-mqueue8x
CFLAGS-tst-mqueue8x.c += -fexceptions
endif
-2
View File
@@ -20,7 +20,6 @@
#define _FORK_H
#include <assert.h>
#include <kernel-posix-timers.h>
#include <ldsodefs.h>
#include <list.h>
#include <mqueue.h>
@@ -46,7 +45,6 @@ fork_system_setup_after_fork (void)
__default_pthread_attr_lock = LLL_LOCK_INITIALIZER;
call_function_static_weak (__mq_notify_fork_subprocess);
call_function_static_weak (__timer_fork_subprocess);
call_function_static_weak (__getrandom_fork_subprocess);
}
+22
View File
@@ -667,6 +667,28 @@ int __pthread_attr_extension (struct pthread_attr *attr) attribute_hidden
# define PTHREAD_STATIC_FN_REQUIRE(name) __asm (".globl " #name);
#endif
struct pthread_reset_cleanup_args_t
{
/* The thread's original (start_thread) cancellation landing pad. It is
restored into self->cleanup_jmp_buf so the reused helper thread is left
in a ristine state after the notification function returns, calls
pthread_exit, or is cancelled. */
struct pthread_unwind_buf *cleanup_jmp_buf;
};
/* Reset the thread's internal state to a point as close to the initial call
to pthread_create. It is designed to be used as the argument to
pthread_cleanup_push along with a struct pthread_reset_cleanup_args_t
pointer in args with a valid cleanup_jmp_buf used to reset the threads own
copy. */
void __pthread_reset_state (void *arg) attribute_hidden;
/* Install the process-wide SIGCANCEL handler if it is not already installed.
Used lazily by pthread_cancel and eagerly by the POSIX timer SIGEV_THREAD
support. */
void __pthread_install_sigcancel_handler (void) attribute_hidden;
/* Make a deep copy of the attribute *SOURCE in *TARGET. *TARGET is
not assumed to have been initialized. Returns 0 on success, or a
positive error code otherwise. */
@@ -1,4 +1,4 @@
/* Definitions for ifunc resolvers for malloc: generic version.
/* Re-include the default stpncpy implementation.
Copyright (C) 2026 Free Software Foundation, Inc.
This file is part of the GNU C Library.
@@ -16,21 +16,13 @@
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
#ifndef _GENERIC_MALLOC_IFUNCS_H
#define _GENERIC_MALLOC_IFUNCS_H
#include <string.h>
/* Targets that support GNU ifuncs should define this macro
if they provide ifuncs for malloc functions.
When USE_MULTIARCH_MALLOC is defined as 1, the following
functions should be implemented via ifuncs:
malloc, calloc, free, realloc
memalign, valloc, pvalloc
posix_memalign
malloc_usable_size
aligned_alloc, free_sized, free_aligned_sized
*/
#define USE_MULTIARCH_MALLOC 0
#endif /* _GENERIC_MALLOC_IFUNCS_H */
#if IS_IN(libc)
# define STPNCPY __stpncpy_generic
# undef libc_hidden_def
# define libc_hidden_def(name)
# undef weak_alias
# define weak_alias(x, x2)
# include <string/stpncpy.c>
#endif
+28
View File
@@ -0,0 +1,28 @@
/* Re-include the RISC-V RVV based stpncpy implementation.
Copyright (C) 2026 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
#if IS_IN(libc)
# define STPNCPY __stpncpy_vector
# undef libc_hidden_builtin_def
# define libc_hidden_builtin_def(name)
# undef libc_hidden_def
# define libc_hidden_def(name)
# undef weak_alias
# define weak_alias(name, alias)
# include <sysdeps/riscv/rvv/stpncpy.S>
#endif
+26
View File
@@ -0,0 +1,26 @@
/* Re-include the default strncpy implementation.
Copyright (C) 2026 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public
License as published by the Free Software Foundation; either
version 2.1 of the License, or (at your option) any later version.
The GNU C Library 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
Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with the GNU C Library; if not, see
<https://www.gnu.org/licenses/>. */
#include <string.h>
#if IS_IN(libc)
# define STRNCPY __strncpy_generic
# undef libc_hidden_builtin_def
# define libc_hidden_builtin_def(x)
# include <string/strncpy.c>
#endif

Some files were not shown because too many files have changed in this diff Show More