aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTreehugger Robot <android-test-infra-autosubmit@system.gserviceaccount.com>2024-01-26 10:46:38 +0000
committerAutomerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>2024-01-26 10:46:38 +0000
commita1258d5a039487d16ce66e5c59ed4e9dd237445e (patch)
tree7e368189a5254f6872a12fd87d0b3e17055bddf3
parente5688bf8804efb757a9b73442b22084f186335d3 (diff)
parenta059696359760c305930781d3c439be89d29a314 (diff)
downloadelfutils-a1258d5a039487d16ce66e5c59ed4e9dd237445e.tar.gz
Merge "Merge tag 'elfutils-0.190' into main" into main am: a059696359
Original change: https://android-review.googlesource.com/c/platform/external/elfutils/+/2927750 Change-Id: I06846af485c697e76bc1140a11acb0376376a2e4 Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
-rw-r--r--CONTRIBUTING44
-rw-r--r--ChangeLog5
-rw-r--r--METADATA8
-rw-r--r--Makefile.am2
-rw-r--r--NEWS25
-rw-r--r--README2
-rw-r--r--SECURITY56
-rw-r--r--backends/ChangeLog40
-rw-r--r--backends/Makefile.am4
-rw-r--r--backends/libebl_CPU.h6
-rw-r--r--backends/loongarch_cfi.c83
-rw-r--r--backends/loongarch_corenote.c114
-rw-r--r--backends/loongarch_init.c12
-rw-r--r--backends/loongarch_initreg.c88
-rw-r--r--backends/loongarch_regs.c141
-rw-r--r--backends/loongarch_reloc.def49
-rw-r--r--backends/loongarch_retval.c202
-rw-r--r--backends/loongarch_symbol.c42
-rw-r--r--backends/loongarch_unwind.c84
-rw-r--r--backends/riscv_reloc.def4
-rw-r--r--config.h9
-rw-r--r--config/elfutils.spec.in18
-rw-r--r--configure.ac7
-rw-r--r--debuginfod/ChangeLog41
-rw-r--r--debuginfod/debuginfod-client.c121
-rw-r--r--debuginfod/debuginfod.cxx460
-rw-r--r--doc/Makefile.am2
-rw-r--r--doc/debuginfod.866
-rw-r--r--doc/srcfiles.1133
-rw-r--r--lib/eu-config.h7
-rw-r--r--lib/printversion.h7
-rw-r--r--libdw/ChangeLog44
-rw-r--r--libdw/dwarf_begin_elf.c87
-rw-r--r--libdw/dwarf_end.c3
-rw-r--r--libdw/dwarf_entrypc.c12
-rw-r--r--libdw/dwarf_getaranges.c17
-rw-r--r--libdw/dwarf_getmacros.c28
-rw-r--r--libdw/dwarf_macro_getsrcfiles.c8
-rw-r--r--libdw/dwarf_macro_param2.c21
-rw-r--r--libdw/dwarf_ranges.c4
-rw-r--r--libdw/libdwP.h19
-rw-r--r--libdw/libdw_find_split_unit.c2
-rw-r--r--libdwfl/ChangeLog13
-rw-r--r--libdwfl/dwfl_module.c2
-rw-r--r--libdwfl/dwfl_module_getdwarf.c11
-rw-r--r--libdwfl/gzip.c2
-rw-r--r--libdwfl/libdwflP.h2
-rw-r--r--libdwfl/link_map.c14
-rw-r--r--libdwfl/offline.c13
-rw-r--r--libebl/eblsectiontypename.c3
-rw-r--r--libelf/ChangeLog8
-rw-r--r--libelf/Makefile.am2
-rw-r--r--libelf/elf.h173
-rw-r--r--libelf/elf32_getchdr.c46
-rw-r--r--libelf/elf32_getchdr.h61
-rw-r--r--libelf/elf32_updatenull.c5
-rw-r--r--libelf/elf_compress.c14
-rw-r--r--libelf/elf_end.c32
-rw-r--r--libelf/elf_getdata.c14
-rw-r--r--libelf/elf_getdata_rawchunk.c51
-rw-r--r--libelf/elf_newscn.c6
-rw-r--r--libelf/elf_version.c11
-rw-r--r--libelf/gelf.h3
-rw-r--r--libelf/gelf_fsize.c3
-rw-r--r--libelf/gelf_xlate.c3
-rw-r--r--libelf/gelf_xlate.h1
-rw-r--r--libelf/libelf.h16
-rw-r--r--libelf/libelf.map1
-rw-r--r--libelf/libelfP.h19
-rw-r--r--patches/libdw-ignore-really-large-discriminator.patch47
-rw-r--r--po/de.po1482
-rw-r--r--po/es.po1493
-rw-r--r--po/ja.po1492
-rw-r--r--po/pl.po1495
-rw-r--r--po/uk.po1496
-rw-r--r--src/.gitignore1
-rw-r--r--src/ChangeLog16
-rw-r--r--src/Makefile.am6
-rw-r--r--src/elfcompress.c43
-rw-r--r--src/elflint.c51
-rw-r--r--src/readelf.c727
-rw-r--r--src/srcfiles.cxx218
-rw-r--r--src/strip.c9
-rw-r--r--tests/ChangeLog18
-rw-r--r--tests/Makefile.am43
-rw-r--r--tests/addsections.c7
-rw-r--r--tests/backtrace.c8
-rw-r--r--tests/dwarf-getmacros.c55
-rwxr-xr-xtests/run-copymany-be32.sh15
-rwxr-xr-xtests/run-copymany-be64.sh15
-rwxr-xr-xtests/run-copymany-le32.sh15
-rwxr-xr-xtests/run-copymany-le64.sh15
-rwxr-xr-xtests/run-debuginfod-IXr.sh94
-rwxr-xr-xtests/run-debuginfod-extraction.sh5
-rwxr-xr-xtests/run-debuginfod-federation-metrics.sh3
-rwxr-xr-xtests/run-debuginfod-federation-sqlite.sh4
-rwxr-xr-xtests/run-debuginfod-query-retry.sh2
-rwxr-xr-xtests/run-debuginfod-response-headers.sh8
-rwxr-xr-xtests/run-lfs-symbols.sh4
-rwxr-xr-xtests/run-native-test.sh3
-rwxr-xr-xtests/run-readelf-gdb_index.sh95
-rwxr-xr-xtests/run-readelf-self.sh2
-rwxr-xr-xtests/run-srcfiles-self.sh48
-rwxr-xr-xtests/run-strip-reloc-ko.sh51
-rwxr-xr-xtests/run-strip-reloc-ppc64.sh15
-rwxr-xr-xtests/run-strip-reloc-self.sh20
-rwxr-xr-xtests/run-strip-reloc.sh156
-rwxr-xr-xtests/run-varlocs.sh14
-rwxr-xr-xtests/strip-reloc-subr.sh79
-rw-r--r--tests/system-elf-gelf-test.c36
-rwxr-xr-xtests/test-copymany-subr.sh (renamed from tests/run-copymany-sections.sh)51
-rwxr-xr-xtests/testfilegdbindex9-no-maininfo.bz2bin0 -> 3502 bytes
-rwxr-xr-xtests/testfilegdbindex9.bz2bin0 -> 4266 bytes
-rw-r--r--version.h2
114 files changed, 7618 insertions, 4497 deletions
diff --git a/CONTRIBUTING b/CONTRIBUTING
index bb48975b..5614728e 100644
--- a/CONTRIBUTING
+++ b/CONTRIBUTING
@@ -45,13 +45,28 @@ then you just add a line saying
Signed-off-by: Random J Developer <random@developer.example.org>
-using your real name (sorry, no pseudonyms or anonymous contributions.)
+using a known identity (sorry, no anonymous contributions.)
+The name you use as your identity should not be an anonymous id
+or false name that misrepresents who you are.
git commit --signoff will add such a Signed-off-by line at the end of
the commit log message for you.
-The ideal patch contains a ChangeLog entry and a test case for the
-bug fixed or feature added.
+The ideal patch contains a ChangeLog entry for the commit message and
+a test case for the bug fixed or feature added.
+
+The commit message is expected to start with a one line summary of
+what the patch does, prefixed with the main subdir the patch applies
+to. e.g libelf: Rewind the elf_frob function bar definitions.
+
+Finally please include an ChangeLog entry explicitly listing the files
+and what changed in each of them in the commit message. This will help
+a reviewer understand which changes are expected (and which might be
+accidential). Try to follow the GNU Change Log style:
+https://www.gnu.org/prep/standards/html_node/Style-of-Change-Logs.html
+Note that elfutils previously maintained separate ChangeLog
+files. These are no longer used. All changes should be documented in
+the git commit message.
The testsuite (make check) is expected to have zero failing tests.
Do not knowingly add tests that FAIL. If there are architectures or
@@ -69,6 +84,22 @@ After sending your patch to the mailinglist one of the committers
to the project will review it, give feedback, and if perfect they
will commit it for you.
+All patches sent to the mailing list are tracked at
+https://patchwork.sourceware.org/project/elfutils/list/
+
+To use this from the command line you can use git-pw
+https://patchwork.readthedocs.io/projects/git-pw/en/latest/
+
+For using it with git-pw use these .git/config settings:
+ [pw]
+ server = https://patchwork.sourceware.org/api/1.2/
+ project = elfutils
+ token = <hex-token>
+ states = committed,accepted,superseded,deferred,rejected,under-review
+
+If you would like to help maintain the pending patch list your
+patchwork account can be added as maintainer for the elfutils project.
+
You can become a maintainer/committer yourself after you have provided
at least a handful of accepted patches and agree to the guidelines in
this document for creating, reviewing, accepting and committing patches.
@@ -96,10 +127,15 @@ mailinglist that the patch has been pushed.
committers may also create git branches starting with <nickname>/...
patches on these branches are works in progress, so might not be perfect
yet, but should follow the above guidelines as much as possible and should
-be aimed at integration into master. For merging a branch into master
+be aimed at integration into main. For merging a branch into main
the same process as above should be followed by posting the patches
to the list first.
+Note that a branch starting with <nickname>/try... will be picked up
+by the Sourceware buildbot and can be used to test your patches before
+merging into the main branch:
+https://builder.sourceware.org/buildbot/#/builders?tags=elfutils-try
+
committers/maintainers who repeatedly ignore the above guidelines,
are hostile or offensive towards other committers or contributors,
and don't correct their behavior after being asked by other committers
diff --git a/ChangeLog b/ChangeLog
index 10c23002..6aed95b6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2023-03-27 Di Chen <dichen@redhat.com>
+
+ * NEWS: Support readelf -Ds for using dynamic segment to
+ print symbol table.
+
2023-03-03 Mark Wielaard <mark@klomp.org>
* NEWS: Add ELFCOMPRESS_ZSTD support for libelf and elfcompress.
diff --git a/METADATA b/METADATA
index 61a4ee4b..7fd2f2df 100644
--- a/METADATA
+++ b/METADATA
@@ -12,12 +12,12 @@ third_party {
type: GIT
value: "git://sourceware.org/git/elfutils.git"
}
- version: "elfutils-0.189"
+ version: "elfutils-0.190"
license_type: BY_EXCEPTION_ONLY
license_note: "Would be RESTRICTED save for doc/COPYING-GFDL"
last_upgrade_date {
- year: 2023
- month: 11
- day: 2
+ year: 2024
+ month: 01
+ day: 24
}
}
diff --git a/Makefile.am b/Makefile.am
index e92e05c2..41badfd7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -29,7 +29,7 @@ pkginclude_HEADERS = version.h
SUBDIRS = config lib libelf libcpu backends libebl libdwelf libdwfl libdw \
libasm debuginfod src po doc tests
-EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING \
+EXTRA_DIST = elfutils.spec GPG-KEY NOTES CONTRIBUTING SECURITY \
COPYING COPYING-GPLV2 COPYING-LGPLV3
# Make sure the test install uses lib64 when $LIB will yield lib64.
diff --git a/NEWS b/NEWS
index 16e37eca..0420d3b8 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,28 @@
+Version 0.190 "Woke!"
+
+CONTRIBUTING: Switch from real name policy to known identity policy.
+ Updated ChangeLog policy (no more separate ChangeLog files).
+ There is a SECURITY bug policy now.
+ The default branch is now 'main'.
+
+libelf: Add RELR support.
+
+libdw: Recognize .debug_[ct]u_index sections
+
+readelf: Support readelf -Ds, --use-dynamic --symbol.
+ Support .gdb_index version 9
+
+scrlines: New tool that compiles a list of source files associated
+ with a specified dwarf/elf file.
+
+debuginfod: Schema change (reindexing required, sorry!) for a 60%
+ compression in filename representation, which was a large
+ part of the sqlite index; also, more deliberate sqlite
+ -wal management during scanning using the
+ --scan-checkpoint option.
+
+backends: Various LoongArch updates.
+
Version 0.189 "Don't deflate!"
configure: eu-nm, eu-addr2line and eu-stack can provide demangled symbols
diff --git a/README b/README
index 06a9fcd0..690febdf 100644
--- a/README
+++ b/README
@@ -29,3 +29,5 @@ Or use the form at https://sourceware.org/mailman/listinfo/elfutils-devel
See the CONTRIBUTING file for how to propose patches to the code.
See the NOTES files for some design decisions and notes.
+
+See the SECURITY file for defining and handling security-sensitive bugs.
diff --git a/SECURITY b/SECURITY
new file mode 100644
index 00000000..677802c6
--- /dev/null
+++ b/SECURITY
@@ -0,0 +1,56 @@
+
+The elfutils library and utilities aim to be generally robust and
+reliable. However, elfutils routinely processes complex binary
+structured data. This makes the code intricate and sometimes brittle.
+While elfutils developers use a variety of static and dynamic checker
+software (valgrind, sanitizers) in testing, bugs may remain. Some of
+these bugs may have security-related implications.
+
+
+While many errors are cleanly detected at runtime, it is possible that
+vulnerabilities exist that could be exploitable. These may arise from
+crafted / fuzzed / erroneous inputs, or perhaps even from valid inputs
+with unforseen characteristics. Therefore, to minimize risks, users
+of elfutils tools and libraries should consider measures such as:
+
+- avoiding running complex elfutils analysis on untrustworthy inputs
+- avoiding running elfutils tools as privileged processes
+- applying common platform level protection mechanisms such as
+ selinux, syscall filtering, hardened compilation, etc.
+
+Since most elfutils tools are run in short-lived, local, interactive,
+development context rather than remotely "in production", we generally
+treat malfunctions as ordinary bugs rather than security vulnerabilities.
+
+
+Elfutils includes one network client/server: debuginfod. The
+debuginfod man page contains a SECURITY section outlining the general
+risks. tl;dr: many classes of server problems are delegated to
+front-end proxies and curated elf/dwarf archives of the operator;
+others to careful configuration of the debuginfod client. These are
+not generally reportable as security vulnerabilities. However, we are
+likely to accept security vulnerability reports related to:
+
+- availability: e.g., remotely exploitable server crash, but not
+ routine resource exhaustion or overload; client crash due to
+ unexpected valid traffic from trusted server
+
+- confidentiality: e.g., allowing the server to expose one client's
+ traffic to another client
+
+- integrity: e.g., causing the server to send erroneous
+ elf/dwarf/source data across the webapi; causing the client to
+ corrupt its cache to lose file integrity
+
+We welcome reports that are tangential to any of these subjects.
+
+Please report bugs via any of:
+- email to <elfutils-devel@sourceware.org>
+- https://sourceware.org/bugzilla/enter_bug.cgi?product=elfutils
+
+After considering the above exclusions, please report suspected
+security vulnerabilities confidentially via any of:
+
+- email to <mark@klomp.org>
+- email to <fche@elastic.org>
+- email to <secalert@redhat.com>
diff --git a/backends/ChangeLog b/backends/ChangeLog
index 81f08314..ddb4e0af 100644
--- a/backends/ChangeLog
+++ b/backends/ChangeLog
@@ -1,3 +1,43 @@
+2023-05-09 Youling Tang <tangyouling@loongson.cn>
+
+ * Makefile.am (loongarch_SRCS): Add loongarch_initreg.c.
+ * loongarch_initreg.c: New file.
+ * loongarch_init.c (loongarch_init): Hook set_initial_registers_tid.
+
+2023-04-07 Youling Tang <tangyouling@loongson.cn>
+
+ * Makefile.am (loongarch_SRCS): Add loongarch_corenote.c.
+ * loongarch_init.c (loongarch_init): Hook core_note.
+ * loongarch_corenote.c: New file.
+
+2023-04-07 Youling Tang <tangyouling@loongson.cn>
+
+ * Makefile.am (loongarch_SRCS): Add loongarch_unwind.c.
+ * loongarch_init.c (loongarch_init): Hook unwind.
+ * loongarch_unwind.c: New file.
+
+2023-04-07 Youling Tang <tangyouling@loongson.cn>
+
+ * Makefile.am (loongarch_SRCS): Add loongarch_retval.c.
+ * loongarch_init.c (loongarch_init): Hook return_value_location.
+ * loongarch_retval.c: New file.
+
+2023-04-07 Youling Tang <tangyouling@loongson.cn>
+
+ * Makefile.am (loongarch_SRCS): Add loongarch_cfi.c and loongarch_regs.c.
+ * loongarch_cfi.c: New file.
+ * loongarch_regs.c: Likewise.
+ * loongarch_init.c (loongarch_init): Hook register_info and abi_cfi.
+
+2023-04-01 Youling Tang <tangyouling@loongson.cn>
+
+ * loongarch_init.c (loongarch_init): Hook check_special_symbol.
+ * loongarch_symbol.c (loongarch_check_special_symbol): New function.
+
+2023-04-01 Youling Tang <tangyouling@loongson.cn>
+
+ * loongarch_reloc.def: Add RELOC_TYPE B16 to RELAX.
+
2023-02-07 Mark Wielaard <mark@klomp.org>
* libebl_CPU.h (dwarf_peeled_die_type): Explicitly handle
diff --git a/backends/Makefile.am b/backends/Makefile.am
index f373e5fb..bbb2aac7 100644
--- a/backends/Makefile.am
+++ b/backends/Makefile.am
@@ -96,7 +96,9 @@ riscv_SRCS = riscv_init.c riscv_symbol.c riscv_cfi.c riscv_regs.c \
csky_SRCS = csky_attrs.c csky_init.c csky_symbol.c csky_cfi.c \
csky_regs.c csky_initreg.c csky_corenote.c
-loongarch_SRCS = loongarch_init.c loongarch_symbol.c
+loongarch_SRCS = loongarch_init.c loongarch_symbol.c loongarch_cfi.c \
+ loongarch_regs.c loongarch_retval.c loongarch_initreg.c \
+ loongarch_unwind.c loongarch_corenote.c
arc_SRCS = arc_init.c arc_symbol.c
diff --git a/backends/libebl_CPU.h b/backends/libebl_CPU.h
index 3b2cc3e4..d138f5f7 100644
--- a/backends/libebl_CPU.h
+++ b/backends/libebl_CPU.h
@@ -66,13 +66,13 @@ dwarf_peeled_die_type (Dwarf_Die *die, Dwarf_Die *result)
/* The function has no return value, like a `void' function in C. */
return 0;
- if (dwarf_formref_die (attr, result) == NULL)
+ if (result == NULL)
return -1;
- if (dwarf_peel_type (result, result) != 0)
+ if (dwarf_formref_die (attr, result) == NULL)
return -1;
- if (result == NULL)
+ if (dwarf_peel_type (result, result) != 0)
return -1;
int tag = dwarf_tag (result);
diff --git a/backends/loongarch_cfi.c b/backends/loongarch_cfi.c
new file mode 100644
index 00000000..5f3cd2c7
--- /dev/null
+++ b/backends/loongarch_cfi.c
@@ -0,0 +1,83 @@
+/* LoongArch ABI-specified defaults for DWARF CFI.
+ Copyright (C) 2023 OpenAnolis community LoongArch SIG.
+ Copyright (C) 2023 Loongson Technology Corporation Limted.
+ This file is part of elfutils.
+
+ This file is free software; you can redistribute it and/or modify
+ it under the terms of either
+
+ * the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 3 of the License, or (at
+ your option) any later version
+
+ or
+
+ * the GNU General Public License as published by the Free
+ Software Foundation; either version 2 of the License, or (at
+ your option) any later version
+
+ or both in parallel, as here.
+
+ elfutils 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 copies of the GNU General Public License and
+ the GNU Lesser General Public License along with this program. If
+ not, see <http://www.gnu.org/licenses/>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <dwarf.h>
+
+#define BACKEND loongarch_
+#include "libebl_CPU.h"
+
+/* LoongArch ELF ABI specification:
+https://loongson.github.io/LoongArch-Documentation/LoongArch-ELF-ABI-EN.html#_register_convention
+*/
+int
+loongarch_abi_cfi (Ebl *ebl __attribute__ ((unused)), Dwarf_CIE *abi_info)
+{
+ static const uint8_t abi_cfi[] =
+ {
+ /* The initial Canonical Frame Address is the value of the
+ Stack Pointer ($r3) as setup in the previous frame. */
+ DW_CFA_def_cfa, ULEB128_7 (3), ULEB128_7 (0),
+
+ /* The Stack Pointer ($r3) is restored from CFA address by default. */
+ DW_CFA_val_offset, ULEB128_7 (3), ULEB128_7 (0),
+
+#define SV(n) DW_CFA_same_value, ULEB128_7 (n)
+ /* The return address register contains the return address setup by
+ caller. */
+ SV (1),
+
+ /* Callee-saved registers $s0-$s7. */
+ SV (23), SV (24), SV (25), SV (26), SV (27), SV (28),
+ SV (29), SV (30), SV (31),
+
+ /* The Frame Pointer ($fp, $r22) */
+ SV(22),
+
+ /* Callee-saved registers $fs0-$fs7. */
+ SV (56), SV (57), SV (58), SV (59), SV (60), SV (61),
+ SV (62), SV (63),
+#undef SV
+
+ /* XXX Note: registers intentionally unused by the program,
+ for example as a consequence of the procedure call standard
+ should be initialized as if by DW_CFA_same_value. */
+ };
+
+ abi_info->initial_instructions = abi_cfi;
+ abi_info->initial_instructions_end = &abi_cfi[sizeof abi_cfi];
+ abi_info->data_alignment_factor = -4;
+
+ abi_info->return_address_register = 1; /* ra. */
+
+ return 0;
+}
diff --git a/backends/loongarch_corenote.c b/backends/loongarch_corenote.c
new file mode 100644
index 00000000..b549edc0
--- /dev/null
+++ b/backends/loongarch_corenote.c
@@ -0,0 +1,114 @@
+/* LoongArch specific core note handling.
+ Copyright (C) 2023 Loongson Technology Corporation Limited.
+ This file is part of elfutils.
+
+ This file is free software; you can redistribute it and/or modify
+ it under the terms of either
+
+ * the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 3 of the License, or (at
+ your option) any later version
+
+ or
+
+ * the GNU General Public License as published by the Free
+ Software Foundation; either version 2 of the License, or (at
+ your option) any later version
+
+ or both in parallel, as here.
+
+ elfutils 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 copies of the GNU General Public License and
+ the GNU Lesser General Public License along with this program. If
+ not, see <http://www.gnu.org/licenses/>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <elf.h>
+#include <inttypes.h>
+#include <stddef.h>
+#include <stdio.h>
+#include <sys/time.h>
+
+#define BACKEND loongarch_
+#include "libebl_CPU.h"
+
+#define ULONG uint64_t
+#define PID_T int32_t
+#define UID_T uint32_t
+#define GID_T uint32_t
+#define ALIGN_ULONG 8
+#define ALIGN_PID_T 4
+#define ALIGN_UID_T 4
+#define ALIGN_GID_T 4
+#define TYPE_ULONG ELF_T_XWORD
+#define TYPE_PID_T ELF_T_SWORD
+#define TYPE_UID_T ELF_T_WORD
+#define TYPE_GID_T ELF_T_WORD
+
+#define PRSTATUS_REGS_SIZE (45 * 8)
+
+static const Ebl_Register_Location prstatus_regs[] =
+ {
+ { .offset = 0, .regno = 0, .count = 32, .bits = 64 }, /* r0..r31 */
+ };
+
+#define PRSTATUS_REGSET_ITEMS \
+ { \
+ .name = "orig_a0", .type = ELF_T_XWORD, .format = 'x', \
+ .offset = (offsetof (struct EBLHOOK(prstatus), pr_reg) \
+ + 32 * 8), \
+ .group = "register" \
+ }, \
+ { \
+ .name = "csr_era", .type = ELF_T_XWORD, .format = 'x', \
+ .offset = (offsetof (struct EBLHOOK(prstatus), pr_reg) \
+ + 33 * 8), \
+ .group = "register", \
+ .pc_register = true \
+ }, \
+ { \
+ .name = "csr_badvaddr", .type = ELF_T_XWORD, .format = 'x', \
+ .offset = (offsetof (struct EBLHOOK(prstatus), pr_reg) \
+ + 34 * 8), \
+ .group = "register" \
+ }, \
+ { \
+ .name = "csr_crmd", .type = ELF_T_XWORD, .format = 'x', \
+ .offset = (offsetof (struct EBLHOOK(prstatus), pr_reg) \
+ + 35 * 8), \
+ .group = "register" \
+ }, \
+ { \
+ .name = "csr_prmd", .type = ELF_T_XWORD, .format = 'x', \
+ .offset = (offsetof (struct EBLHOOK(prstatus), pr_reg) \
+ + 36 * 8), \
+ .group = "register" \
+ }, \
+ { \
+ .name = "csr_euen", .type = ELF_T_XWORD, .format = 'x', \
+ .offset = (offsetof (struct EBLHOOK(prstatus), pr_reg) \
+ + 37 * 8), \
+ .group = "register" \
+ }, \
+ { \
+ .name = "csr_ecfg", .type = ELF_T_XWORD, .format = 'x', \
+ .offset = (offsetof (struct EBLHOOK(prstatus), pr_reg) \
+ + 38 * 8), \
+ .group = "register" \
+ }, \
+ { \
+ .name = "csr_estat", .type = ELF_T_XWORD, .format = 'x', \
+ .offset = (offsetof (struct EBLHOOK(prstatus), pr_reg) \
+ + 39 * 8), \
+ .group = "register" \
+ }
+ /* 40 ~ 44 reserved */
+
+#include "linux-core-note.c"
diff --git a/backends/loongarch_init.c b/backends/loongarch_init.c
index a8ed9e81..2f0d46c9 100644
--- a/backends/loongarch_init.c
+++ b/backends/loongarch_init.c
@@ -1,5 +1,7 @@
/* Initialization of LoongArch specific backend library.
Copyright (C) 2022 Hengqi Chen
+ Copyright (C) 2023 OpenAnolis community LoongArch SIG.
+ Copyright (C) 2023 Loongson Technology Corporation Limted.
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
@@ -45,6 +47,16 @@ loongarch_init (Elf *elf __attribute__ ((unused)),
{
loongarch_init_reloc (eh);
HOOK (eh, reloc_simple_type);
+ HOOK (eh, machine_flag_check);
+ HOOK (eh, register_info);
+ HOOK (eh, core_note);
+ HOOK (eh, abi_cfi);
+ /* gcc/config/ #define DWARF_FRAME_REGISTERS. */
+ eh->frame_nregs = 74;
+ HOOK (eh, check_special_symbol);
+ HOOK (eh, set_initial_registers_tid);
+ HOOK (eh, return_value_location);
+ HOOK (eh, unwind);
return eh;
}
diff --git a/backends/loongarch_initreg.c b/backends/loongarch_initreg.c
new file mode 100644
index 00000000..74cb62f5
--- /dev/null
+++ b/backends/loongarch_initreg.c
@@ -0,0 +1,88 @@
+/* Fetch live process registers from TID.
+ Copyright (C) 2023 OpenAnolis community LoongArch SIG.
+ Copyright (C) 2023 Loongson Technology Corporation Limted.
+ This file is part of elfutils.
+
+ This file is free software; you can redistribute it and/or modify
+ it under the terms of either
+
+ * the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 3 of the License, or (at
+ your option) any later version
+
+ or
+
+ * the GNU General Public License as published by the Free
+ Software Foundation; either version 2 of the License, or (at
+ your option) any later version
+
+ or both in parallel, as here.
+
+ elfutils 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 copies of the GNU General Public License and
+ the GNU Lesser General Public License along with this program. If
+ not, see <http://www.gnu.org/licenses/>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include "system.h"
+#include <assert.h>
+#if defined __loongarch__ && defined __linux__
+# include <sys/uio.h>
+# include <sys/procfs.h>
+# include <sys/ptrace.h>
+#endif
+
+#define BACKEND loongarch_
+#include "libebl_CPU.h"
+
+bool
+loongarch_set_initial_registers_tid (pid_t tid __attribute__ ((unused)),
+ ebl_tid_registers_t *setfunc __attribute__ ((unused)),
+ void *arg __attribute__ ((unused)))
+{
+#if !defined __loongarch__ || !defined __linux__
+ return false;
+#else /* __loongarch__ */
+
+ /* General registers. */
+ struct user_regs_struct gregs;
+ struct iovec iovec;
+ iovec.iov_base = &gregs;
+ iovec.iov_len = sizeof (gregs);
+ if (ptrace (PTRACE_GETREGSET, tid, NT_PRSTATUS, &iovec) != 0)
+ return false;
+
+ /* $r0 is constant 0. */
+ Dwarf_Word zero = 0;
+ if (! setfunc (0, 1, &zero, arg))
+ return false;
+
+ /* $r1-$r31. */
+ if (! setfunc (1, 32, (Dwarf_Word *) &gregs.regs[1], arg))
+ return false;
+
+ /* PC. */
+ if (! setfunc (-1, 1, (Dwarf_Word *) &gregs.csr_era, arg))
+ return false;
+
+ /* Floating-point registers (only 64bits are used). */
+ struct user_fp_struct fregs;
+ iovec.iov_base = &fregs;
+ iovec.iov_len = sizeof (fregs);
+ if (ptrace (PTRACE_GETREGSET, tid, NT_FPREGSET, &iovec) != 0)
+ return false;
+
+ /* $f0-$f31 */
+ if (! setfunc (32, 32, (Dwarf_Word *) &fregs.fpr[0], arg))
+ return false;
+
+ return true;
+#endif /* __loongarch__ */
+}
diff --git a/backends/loongarch_regs.c b/backends/loongarch_regs.c
new file mode 100644
index 00000000..4a4b2052
--- /dev/null
+++ b/backends/loongarch_regs.c
@@ -0,0 +1,141 @@
+/* Register names and numbers for LoongArch DWARF.
+ Copyright (C) 2023 OpenAnolis community LoongArch SIG.
+ Copyright (C) 2023 Loongson Technology Corporation Limted.
+ This file is part of elfutils.
+
+ This file is free software; you can redistribute it and/or modify
+ it under the terms of either
+
+ * the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 3 of the License, or (at
+ your option) any later version
+
+ or
+
+ * the GNU General Public License as published by the Free
+ Software Foundation; either version 2 of the License, or (at
+ your option) any later version
+
+ or both in parallel, as here.
+
+ elfutils 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 copies of the GNU General Public License and
+ the GNU Lesser General Public License along with this program. If
+ not, see <http://www.gnu.org/licenses/>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <string.h>
+#include <dwarf.h>
+
+#define BACKEND loongarch_
+#include "libebl_CPU.h"
+
+ssize_t
+loongarch_register_info (Ebl *ebl, int regno, char *name, size_t namelen,
+ const char **prefix, const char **setname,
+ int *bits, int *type)
+{
+ if (name == NULL)
+ return 64;
+
+ *prefix = "";
+
+ if (regno < 32)
+ {
+ *setname = "integer";
+ *type = DW_ATE_signed;
+ *bits = ebl->class == ELFCLASS64 ? 64 : 32;
+ }
+ else
+ {
+ *setname = "FPU";
+ *type = DW_ATE_float;
+ *bits = 64;
+ }
+
+ switch (regno)
+ {
+ case 0:
+ return stpcpy (name, "zero") + 1 - name;
+
+ case 1:
+ *type = DW_ATE_address;
+ return stpcpy (name, "ra") + 1 - name;
+
+ case 2:
+ *type = DW_ATE_address;
+ return stpcpy (name, "tp") + 1 - name;
+
+ case 3:
+ *type = DW_ATE_address;
+ return stpcpy (name, "sp") + 1 - name;
+
+ case 4 ... 11:
+ name[0] = 'a';
+ name[1] = regno - 4 + '0';
+ namelen = 2;
+ break;
+
+ case 12 ... 20:
+ name[0] = 't';
+ name[1] = regno - 12 + '0';
+ namelen = 2;
+ break;
+
+ case 21:
+ return stpcpy (name, "u0") + 1 - name;
+
+ case 22:
+ *type = DW_ATE_address;
+ return stpcpy (name, "fp") + 1 - name;
+
+ case 23 ... 31:
+ name[0] = 's';
+ name[1] = regno - 23 + '0';
+ namelen = 2;
+ break;
+
+ case 32 ... 39:
+ name[0] = 'f';
+ name[1] = 'a';
+ name[2] = regno - 32 + '0';
+ namelen = 3;
+ break;
+
+ case 40 ... 49:
+ name[0] = 'f';
+ name[1] = 't';
+ name[2] = regno - 40 + '0';
+ namelen = 3;
+ break;
+
+ case 50 ... 55:
+ name[0] = 'f';
+ name[1] = 't';
+ name[2] = '1';
+ name[3] = regno - 50 + '0';
+ namelen = 4;
+ break;
+
+ case 56 ... 63:
+ name[0] = 'f';
+ name[1] = 's';
+ name[2] = regno - 56 + '0';
+ namelen = 3;
+ break;
+
+ default:
+ *setname = NULL;
+ return 0;
+ }
+
+ name[namelen++] = '\0';
+ return namelen;
+}
diff --git a/backends/loongarch_reloc.def b/backends/loongarch_reloc.def
index dd4a6b6d..a39eefd9 100644
--- a/backends/loongarch_reloc.def
+++ b/backends/loongarch_reloc.def
@@ -79,3 +79,52 @@ RELOC_TYPE (SUB32, REL)
RELOC_TYPE (SUB64, REL)
RELOC_TYPE (GNU_VTINHERIT, REL)
RELOC_TYPE (GNU_VTENTRY, REL)
+
+/* reserved 59-63 */
+
+RELOC_TYPE (B16, REL)
+RELOC_TYPE (B21, REL)
+RELOC_TYPE (B26, REL)
+RELOC_TYPE (ABS_HI20, REL)
+RELOC_TYPE (ABS_LO12, REL)
+RELOC_TYPE (ABS64_LO20, REL)
+RELOC_TYPE (ABS64_HI12, REL)
+RELOC_TYPE (PCALA_HI20, REL)
+RELOC_TYPE (PCALA_LO12, REL)
+RELOC_TYPE (PCALA64_LO20, REL)
+RELOC_TYPE (PCALA64_HI12, REL)
+RELOC_TYPE (GOT_PC_HI20, REL)
+RELOC_TYPE (GOT_PC_LO12, REL)
+RELOC_TYPE (GOT64_PC_LO20, REL)
+RELOC_TYPE (GOT64_PC_HI12, REL)
+RELOC_TYPE (GOT_HI20, REL)
+RELOC_TYPE (GOT_LO12, REL)
+RELOC_TYPE (GOT64_LO20, REL)
+RELOC_TYPE (GOT64_HI12, REL)
+RELOC_TYPE (TLS_LE_HI20, REL)
+RELOC_TYPE (TLS_LE_LO12, REL)
+RELOC_TYPE (TLS_LE64_LO20, REL)
+RELOC_TYPE (TLS_LE64_HI12, REL)
+RELOC_TYPE (TLS_IE_PC_HI20, REL)
+RELOC_TYPE (TLS_IE_PC_LO12, REL)
+RELOC_TYPE (TLS_IE64_PC_LO20, REL)
+RELOC_TYPE (TLS_IE64_PC_HI12, REL)
+RELOC_TYPE (TLS_IE_HI20, REL)
+RELOC_TYPE (TLS_IE_LO12, REL)
+RELOC_TYPE (TLS_IE64_LO20, REL)
+RELOC_TYPE (TLS_IE64_HI12, REL)
+RELOC_TYPE (TLS_LD_PC_HI20, REL)
+RELOC_TYPE (TLS_LD_HI20, REL)
+RELOC_TYPE (TLS_GD_PC_HI20, REL)
+RELOC_TYPE (TLS_GD_HI20, REL)
+RELOC_TYPE (32_PCREL, REL)
+RELOC_TYPE (RELAX, REL)
+RELOC_TYPE (DELETE, REL)
+RELOC_TYPE (ALIGN, REL)
+RELOC_TYPE (PCREL20_S2, REL)
+RELOC_TYPE (CFA, REL)
+RELOC_TYPE (ADD6, REL)
+RELOC_TYPE (SUB6, REL)
+RELOC_TYPE (ADD_ULEB128, REL)
+RELOC_TYPE (SUB_ULEB128, REL)
+RELOC_TYPE (64_PCREL, REL)
diff --git a/backends/loongarch_retval.c b/backends/loongarch_retval.c
new file mode 100644
index 00000000..23b33ed5
--- /dev/null
+++ b/backends/loongarch_retval.c
@@ -0,0 +1,202 @@
+/* Function return value location for Linux/LoongArch ABI.
+ Copyright (C) 2013 Red Hat, Inc.
+ Copyright (C) 2023 OpenAnolis community LoongArch SIG.
+ Copyright (C) 2023 Loongson Technology Corporation Limited.
+
+ This file is part of elfutils.
+
+ This file is free software; you can redistribute it and/or modify
+ it under the terms of either
+
+ * the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 3 of the License, or (at
+ your option) any later version
+
+ or
+
+ * the GNU General Public License as published by the Free
+ Software Foundation; either version 2 of the License, or (at
+ your option) any later version
+
+ or both in parallel, as here.
+
+ elfutils 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 copies of the GNU General Public License and
+ the GNU Lesser General Public License along with this program. If
+ not, see <http://www.gnu.org/licenses/>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <stdio.h>
+#include <inttypes.h>
+
+#include <assert.h>
+#include <dwarf.h>
+
+#define BACKEND loongarch_
+#include "libebl_CPU.h"
+
+static int
+dwarf_bytesize_aux (Dwarf_Die *die, Dwarf_Word *sizep)
+{
+ int bits;
+ if (((bits = 8 * dwarf_bytesize (die)) < 0
+ && (bits = dwarf_bitsize (die)) < 0)
+ || bits % 8 != 0)
+ return -1;
+
+ *sizep = bits / 8;
+ return 0;
+}
+
+static int
+pass_in_gpr (const Dwarf_Op **locp, Dwarf_Word size)
+{
+ static const Dwarf_Op loc[] =
+ {
+ { .atom = DW_OP_reg4 }, { .atom = DW_OP_piece, .number = 8 },
+ { .atom = DW_OP_reg5 }, { .atom = DW_OP_piece, .number = 8 }
+ };
+
+ *locp = loc;
+ return size <= 8 ? 1 : 4;
+}
+
+static int
+pass_by_ref (const Dwarf_Op **locp)
+{
+ static const Dwarf_Op loc[] = { { .atom = DW_OP_breg4 } };
+
+ *locp = loc;
+ return 1;
+}
+
+static int
+pass_in_fpr (const Dwarf_Op **locp, Dwarf_Word size)
+{
+ static const Dwarf_Op loc[] =
+ {
+ { .atom = DW_OP_regx, .number = 32 },
+ { .atom = DW_OP_piece, .number = 8 },
+ { .atom = DW_OP_regx, .number = 33 },
+ { .atom = DW_OP_piece, .number = 8 }
+ };
+
+ *locp = loc;
+ return size <= 8 ? 1 : 4;
+}
+
+int
+loongarch_return_value_location(Dwarf_Die *functypedie,
+ const Dwarf_Op **locp)
+{
+ /* Start with the function's type, and get the DW_AT_type attribute,
+ which is the type of the return value. */
+ Dwarf_Die typedie;
+ int tag = dwarf_peeled_die_type (functypedie, &typedie);
+ if (tag <= 0)
+ return tag;
+
+ Dwarf_Word size = (Dwarf_Word)-1;
+
+ /* If the argument type is a Composite Type that is larger than 16
+ bytes, then the argument is copied to memory allocated by the
+ caller and the argument is replaced by a pointer to the copy. */
+ if (tag == DW_TAG_structure_type || tag == DW_TAG_union_type
+ || tag == DW_TAG_class_type || tag == DW_TAG_array_type)
+ {
+ if (dwarf_aggregate_size (&typedie, &size) < 0)
+ return -1;
+
+ /* Aggregates larger than 2*GRLEN bits are passed by reference. */
+ if (size > 16)
+ return pass_by_ref (locp);
+ /* Aggregates whose total size is no more than GRLEN bits are passed in
+ a register. Aggregates whose total size is no more than 2*GRLEN bits
+ are passed in a pair of registers. */
+ else
+ return pass_in_gpr (locp, size);
+ }
+
+ if (tag == DW_TAG_base_type || dwarf_is_pointer (tag))
+ {
+ if (dwarf_bytesize_aux (&typedie, &size) < 0)
+ {
+ if (dwarf_is_pointer (tag))
+ size = 8;
+ else
+ return -1;
+ }
+
+ Dwarf_Attribute attr_mem;
+ if (tag == DW_TAG_base_type)
+ {
+ Dwarf_Word encoding;
+ if (dwarf_formudata (dwarf_attr_integrate (&typedie, DW_AT_encoding,
+ &attr_mem),
+ &encoding) != 0)
+ return -1;
+
+ switch (encoding)
+ {
+ case DW_ATE_boolean:
+ case DW_ATE_signed:
+ case DW_ATE_unsigned:
+ case DW_ATE_unsigned_char:
+ case DW_ATE_signed_char:
+ /* Scalars that are at most GRLEN bits wide are passed in a single
+ argument register. Scalars that are 2*GRLEN bits wide are
+ passed in a pair of argument registers. Scalars wider than
+ 2*GRLEN are passed by reference. */
+ return pass_in_gpr (locp, size);
+
+ case DW_ATE_float:
+ /* A real floating-point argument is passed in a floating-point
+ argument register if it is no more than FLEN bits wide,
+ otherwise it is passed according to the integer calling
+ convention. */
+ switch (size)
+ {
+ case 4: /* single */
+ case 8: /* double */
+ return pass_in_fpr (locp, size);
+
+ case 16: /* quad */
+ return pass_in_gpr (locp, size);
+
+ default:
+ return -2;
+ }
+
+ case DW_ATE_complex_float:
+ /* A complex floating-point number is passed as though it were a
+ struct containing two floating-point reals. */
+ switch (size)
+ {
+ case 8: /* float _Complex */
+ case 16: /* double _Complex */
+ return pass_in_fpr (locp, size);
+
+ case 32: /* long double _Complex */
+ return pass_by_ref (locp);
+
+ default:
+ return -2;
+ }
+ }
+
+ return -2;
+ }
+ else
+ return pass_in_gpr (locp, size);
+ }
+
+ *locp = NULL;
+ return 0;
+}
diff --git a/backends/loongarch_symbol.c b/backends/loongarch_symbol.c
index 8ba66a09..5ce55bad 100644
--- a/backends/loongarch_symbol.c
+++ b/backends/loongarch_symbol.c
@@ -72,3 +72,45 @@ loongarch_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
return ELF_T_NUM;
}
}
+
+bool
+loongarch_machine_flag_check (GElf_Word flags)
+{
+ return ((flags &~ (EF_LARCH_ABI_MODIFIER_MASK
+ | EF_LARCH_OBJABI_V1)) == 0);
+}
+
+/* Check whether given symbol's st_value and st_size are OK despite failing
+ normal checks. */
+bool
+loongarch_check_special_symbol (Elf *elf, const GElf_Sym *sym,
+ const char *name, const GElf_Shdr *destshdr)
+{
+ if (name != NULL
+ && strcmp (name, "_GLOBAL_OFFSET_TABLE_") == 0)
+ {
+ size_t shstrndx;
+ if (elf_getshdrstrndx (elf, &shstrndx) != 0)
+ return false;
+ const char *sname = elf_strptr (elf, shstrndx, destshdr->sh_name);
+ if (sname != NULL
+ && (strcmp (sname, ".got") == 0 || strcmp (sname, ".got.plt") == 0))
+ {
+ Elf_Scn *scn = NULL;
+ while ((scn = elf_nextscn (elf, scn)) != NULL)
+ {
+ GElf_Shdr shdr_mem;
+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
+ if (shdr != NULL)
+ {
+ sname = elf_strptr (elf, shstrndx, shdr->sh_name);
+ if (sname != NULL && strcmp (sname, ".got") == 0)
+ return (sym->st_value >= shdr->sh_addr
+ && sym->st_value < shdr->sh_addr + shdr->sh_size);
+ }
+ }
+ }
+ }
+
+ return false;
+}
diff --git a/backends/loongarch_unwind.c b/backends/loongarch_unwind.c
new file mode 100644
index 00000000..fb748083
--- /dev/null
+++ b/backends/loongarch_unwind.c
@@ -0,0 +1,84 @@
+/* Get previous frame state for an existing frame state.
+ Copyright (C) 2023 OpenAnolis community LoongArch SIG.
+ Copyright (C) 2023 Loongson Technology Corporation Limited.
+ This file is part of elfutils.
+
+ This file is free software; you can redistribute it and/or modify
+ it under the terms of either
+
+ * the GNU Lesser General Public License as published by the Free
+ Software Foundation; either version 3 of the License, or (at
+ your option) any later version
+
+ or
+
+ * the GNU General Public License as published by the Free
+ Software Foundation; either version 2 of the License, or (at
+ your option) any later version
+
+ or both in parallel, as here.
+
+ elfutils 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 copies of the GNU General Public License and
+ the GNU Lesser General Public License along with this program. If
+ not, see <http://www.gnu.org/licenses/>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#define BACKEND loongarch_
+#define RA_REG 1
+#define SP_REG 3
+#define FP_REG 22
+
+#define RA_OFFSET 8
+#define FP_OFFSET 16
+
+#include "libebl_CPU.h"
+
+/* There was no CFI. Maybe we happen to have a frame pointer and can unwind from that? */
+
+bool
+EBLHOOK(unwind) (Ebl *ebl __attribute__ ((unused)), Dwarf_Addr pc __attribute__ ((unused)),
+ ebl_tid_registers_t *setfunc, ebl_tid_registers_get_t *getfunc,
+ ebl_pid_memory_read_t *readfunc, void *arg,
+ bool *signal_framep __attribute__ ((unused)))
+{
+ Dwarf_Word fp, ra, sp;
+
+ if (!getfunc(RA_REG, 1, &ra, arg))
+ return false;
+
+ if (ra == 0 || !setfunc(-1, 1, &ra, arg))
+ return false;
+
+ if (!getfunc(FP_REG, 1, &fp, arg))
+ fp = 0;
+
+ if (!getfunc(SP_REG, 1, &sp, arg))
+ sp = 0;
+
+ Dwarf_Word newRa, newFp, newSp;
+
+ if (!readfunc(fp - RA_OFFSET, &newRa, arg))
+ newRa = 0;
+
+ if (!readfunc(fp - FP_OFFSET, &newFp, arg))
+ newFp = 0;
+
+ newSp = fp;
+
+ // These are not fatal if they don't work. They will just prevent unwinding at the next frame.
+ setfunc(RA_REG, 1, &newRa, arg);
+ setfunc(FP_REG, 1, &newFp, arg);
+ setfunc(SP_REG, 1, &newSp, arg);
+
+ // If the fp is invalid, we might still have a valid ra.
+ // But if the fp is valid, then the stack should be moving in the right direction.
+ return fp == 0 || newSp > sp;
+}
diff --git a/backends/riscv_reloc.def b/backends/riscv_reloc.def
index 2bd3513e..f52f6489 100644
--- a/backends/riscv_reloc.def
+++ b/backends/riscv_reloc.def
@@ -81,3 +81,7 @@ RELOC_TYPE (SET8, REL)
RELOC_TYPE (SET16, REL)
RELOC_TYPE (SET32, REL)
RELOC_TYPE (32_PCREL, REL)
+RELOC_TYPE (IRELATIVE, EXEC|DYN)
+RELOC_TYPE (PLT32, REL)
+RELOC_TYPE (SET_ULEB128, REL)
+RELOC_TYPE (SUB_ULEB128, REL)
diff --git a/config.h b/config.h
index fb46250a..364ce05c 100644
--- a/config.h
+++ b/config.h
@@ -67,6 +67,9 @@
/* Define to 1 if you have the <err.h> header file. */
#define HAVE_ERR_H 1
+/* Define to 1 if you have the <execinfo.h> header file. */
+#define HAVE_EXECINFO_H 1
+
/* Defined if __attribute__((fallthrough)) is supported */
#define HAVE_FALLTHROUGH 1
@@ -149,7 +152,7 @@
#define PACKAGE_NAME "elfutils"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "elfutils 0.189"
+#define PACKAGE_STRING "elfutils 0.190"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "elfutils"
@@ -158,7 +161,7 @@
#define PACKAGE_URL "http://elfutils.org/"
/* Define to the version of this package. */
-#define PACKAGE_VERSION "0.189"
+#define PACKAGE_VERSION "0.190"
/* The size of `long', as computed by sizeof. */
#define SIZEOF_LONG 8
@@ -195,7 +198,7 @@
#define USE_ZSTD_COMPRESS 1
/* Version number of package */
-#define VERSION "0.189"
+#define VERSION "0.190"
/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
`char[]'. */
diff --git a/config/elfutils.spec.in b/config/elfutils.spec.in
index c82a40c5..67e88cb5 100644
--- a/config/elfutils.spec.in
+++ b/config/elfutils.spec.in
@@ -233,7 +233,7 @@ fi
%files
%license COPYING COPYING-GPLV2 COPYING-LGPLV3 doc/COPYING-GFDL
-%doc README TODO CONTRIBUTING
+%doc README TODO CONTRIBUTING SECURITY
%{_bindir}/eu-addr2line
%{_bindir}/eu-ar
%{_bindir}/eu-elfclassify
@@ -341,6 +341,22 @@ exit 0
%systemd_postun_with_restart debuginfod.service
%changelog
+* Fri Nov 3 2023 Mark Wielaard <mark@klomp.org> 0.190-1
+- CONTRIBUTING: Switch from real name policy to known identity policy.
+ Updated ChangeLog policy (no more separate ChangeLog files).
+ There is a SECURITY bug policy now. The default branch is now 'main'.
+- libelf: Add RELR support.
+- libdw: Recognize .debug_[ct]u_index sections.
+- readelf: Support readelf -Ds, --use-dynamic --symbol.
+ Support .gdb_index version 9
+- scrlines: New tool that compiles a list of source files associated
+ with a specified dwarf/elf file.
+- debuginfod: Schema change (reindexing required, sorry!) for a 60%
+ compression in filename representation, which was a large
+ part of the sqlite index; also, more deliberate sqlite
+ -wal management during scanning using the --scan-checkpoint option.
+- backends: Various LoongArch updates.
+
* Fri Mar 3 2023 Mark Wielaard <mark@klomp.org> 0.189-1
- configure: eu-nm, eu-addr2line and eu-stack can provide demangled
symbols when linked with libstdc++. Use --disable-demangler to disable.
diff --git a/configure.ac b/configure.ac
index 6e881fa0..af5b6bf7 100644
--- a/configure.ac
+++ b/configure.ac
@@ -18,7 +18,7 @@ dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
-AC_INIT([elfutils],[0.189],[https://sourceware.org/bugzilla],[elfutils],[http://elfutils.org/])
+AC_INIT([elfutils],[0.190],[https://sourceware.org/bugzilla],[elfutils],[http://elfutils.org/])
dnl Workaround for older autoconf < 2.64
m4_ifndef([AC_PACKAGE_URL],
@@ -169,7 +169,7 @@ if test "$use_msan" = yes; then
CXXFLAGS="$CXXFLAGS -fsanitize=memory -fsanitize-memory-track-origins -D_FORTIFY_SOURCE=0"
LDFLAGS="-shared"
AC_LINK_IFELSE([AC_LANG_SOURCE([int main (int argc, char **argv) { return 0; }])], use_msan=yes, use_msan=no)
- AS_IF([test "x$use_msan" == xyes],
+ AS_IF([test "x$use_msan" = xyes],
ac_cv_zdefs=no NO_UNDEFINED=,
AC_MSG_WARN([clang memory sanitizer not available])
CFLAGS="$old_CFLAGS" CXXFLAGS="$old_CXXFLAGS")
@@ -493,7 +493,7 @@ AC_ARG_ENABLE([demangler],
AS_HELP_STRING([--disable-demangler],
[Disable libstdc++ demangle support]),
[], [enable_demangler=yes])
-AS_IF([test "x$enable_demangler" == xyes],
+AS_IF([test "x$enable_demangler" = xyes],
AC_CHECK_LIB([stdc++], [__cxa_demangle], [dnl
AC_DEFINE([USE_DEMANGLE], [1], [Defined if demangling is enabled])])
AM_CONDITIONAL(DEMANGLE, test "x$ac_cv_lib_stdcpp___cxa_demangle" = "xyes")
@@ -839,6 +839,7 @@ AS_IF([test "x$enable_libdebuginfod" = "xdummy"],
[AC_DEFINE([DUMMY_LIBDEBUGINFOD], [1], [Build dummy libdebuginfod])])
AM_CONDITIONAL([LIBDEBUGINFOD],[test "x$enable_libdebuginfod" = "xyes" || test "x$enable_libdebuginfod" = "xdummy"])
AM_CONDITIONAL([DUMMY_LIBDEBUGINFOD],[test "x$enable_libdebuginfod" = "xdummy"])
+AC_CHECK_HEADERS([execinfo.h])
# Look for libmicrohttpd, libarchive, sqlite for debuginfo server
# minimum versions as per rhel7.
diff --git a/debuginfod/ChangeLog b/debuginfod/ChangeLog
index f861eb72..0e4810bb 100644
--- a/debuginfod/ChangeLog
+++ b/debuginfod/ChangeLog
@@ -1,3 +1,44 @@
+2023-04-21 Frank Ch. Eigler <fche@redhat.com>
+
+ * debuginfod.cxx (groom): Fix -r / -X logic.
+
+2023-04-13 Frank Ch. Eigler <fche@redhat.com>
+
+ * debuginfod.cxx (archive_classify, scan_archive_file): Catch and
+ propagate exceptions during archive scans.
+
+2023-03-30 Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+
+ * debuginfod-client.c (update_atime): New function.
+ (extract_section, debuginfod_query_server): Call it.
+
+2023-03-30 Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+
+ * debuginfod-client.c (debuginfod_query_server): Don't modify
+ atime unintentionally.
+ * debuginfod.cxx (extract_section, handle_buildid_r_match): Ditto.
+
+2023-03-30 Aaron Merey <amerey@redhat.com>
+
+ * debuginfod-client.c (debuginfod_query_server): Avoid sscanf on
+ mixed-case component of string.
+
+2023-03-29 Jan Alexander Steffens (heftig) <heftig@archlinux.org>
+
+ * debuginfod-client.c (debuginfod_query_server): s/futimes/futimens/
+ * debuginfod.cxx (extract_section, handle_buildid_r_match): Ditto.
+
+2023-03-29 lilydjwg <lilydjwg@gmail.com>
+
+ * debuginfod-client.c (debuginfod_query_server): Handle dl_size in
+ progress to account for possible curl 8.0.1 changes to
+ CURLINFO_CONTENT_LENGTH_DOWNLOAD*.
+
+2023-03-17 Aaron Merey <amerey@redhat.com>
+
+ * debuginfod-client.c (debuginfod_query_server): Do not create an
+ empty file in the cache if the query was cancelled by the progressfn.
+
2023-02-07 Aaron Merey <amerey@redhat.com>
* debuginfod-client.c (cache_find_section): Avoid returning -ENOENT
diff --git a/debuginfod/debuginfod-client.c b/debuginfod/debuginfod-client.c
index ef4d47e3..dcf05031 100644
--- a/debuginfod/debuginfod-client.c
+++ b/debuginfod/debuginfod-client.c
@@ -248,7 +248,7 @@ debuginfod_write_callback (char *ptr, size_t size, size_t nmemb, void *data)
/* handle config file read and write */
static int
-debuginfod_config_cache(char *config_path,
+debuginfod_config_cache(debuginfod_client *c, char *config_path,
long cache_config_default_s,
struct stat *st)
{
@@ -277,17 +277,27 @@ debuginfod_config_cache(char *config_path,
}
long cache_config;
+ /* PR29696 - NB: When using fdopen, the file descriptor is NOT
+ dup'ed and will be closed when the stream is closed. Manually
+ closing fd after fclose is called will lead to a race condition
+ where, if reused, the file descriptor will compete for its
+ regular use before being incorrectly closed here. */
FILE *config_file = fdopen(fd, "r");
if (config_file)
{
if (fscanf(config_file, "%ld", &cache_config) != 1)
- cache_config = cache_config_default_s;
- fclose(config_file);
+ cache_config = cache_config_default_s;
+ if (0 != fclose (config_file) && c->verbose_fd >= 0)
+ dprintf (c->verbose_fd, "fclose failed with %s (err=%d)\n",
+ strerror (errno), errno);
}
else
- cache_config = cache_config_default_s;
-
- close (fd);
+ {
+ cache_config = cache_config_default_s;
+ if (0 != close (fd) && c->verbose_fd >= 0)
+ dprintf (c->verbose_fd, "close failed with %s (err=%d)\n",
+ strerror (errno), errno);
+ }
return cache_config;
}
@@ -303,7 +313,7 @@ debuginfod_clean_cache(debuginfod_client *c,
struct stat st;
/* Create new interval file. */
- rc = debuginfod_config_cache(interval_path,
+ rc = debuginfod_config_cache(c, interval_path,
cache_clean_default_interval_s, &st);
if (rc < 0)
return rc;
@@ -320,7 +330,7 @@ debuginfod_clean_cache(debuginfod_client *c,
utime (interval_path, NULL);
/* Read max unused age value from config file. */
- rc = debuginfod_config_cache(max_unused_path,
+ rc = debuginfod_config_cache(c, max_unused_path,
cache_default_max_unused_age_s, &st);
if (rc < 0)
return rc;
@@ -558,7 +568,9 @@ header_callback (char * buffer, size_t size, size_t numitems, void * userdata)
struct handle_data *data = (struct handle_data *) userdata;
if (size != 1)
return 0;
- if (data->client && data->client->verbose_fd >= 0)
+ if (data->client
+ && data->client->verbose_fd >= 0
+ && numitems > 2)
dprintf (data->client->verbose_fd, "header %.*s", (int)numitems, buffer);
// Some basic checks to ensure the headers received are of the expected format
if (strncasecmp(buffer, "X-DEBUGINFOD", 11)
@@ -618,6 +630,19 @@ path_escape (const char *src, char *dest)
dest[q] = '\0';
}
+/* Attempt to update the atime */
+static void
+update_atime (int fd)
+{
+ struct timespec tvs[2];
+
+ tvs[0].tv_sec = tvs[1].tv_sec = 0;
+ tvs[0].tv_nsec = UTIME_NOW;
+ tvs[1].tv_nsec = UTIME_OMIT;
+
+ (void) futimens (fd, tvs); /* best effort */
+}
+
/* Attempt to read an ELF/DWARF section with name SECTION from FD and write
it to a separate file in the debuginfod cache. If successful the absolute
path of the separate file containing SECTION will be stored in USR_PATH.
@@ -761,6 +786,7 @@ extract_section (int fd, const char *section, char *fd_path, char **usr_path)
*usr_path = sec_path;
else
free (sec_path);
+ update_atime(fd);
rc = sec_fd;
goto out2;
}
@@ -1098,6 +1124,7 @@ debuginfod_query_server (debuginfod_client *c,
}
}
/* Success!!!! */
+ update_atime(fd);
rc = fd;
goto out;
}
@@ -1110,7 +1137,7 @@ debuginfod_query_server (debuginfod_client *c,
close(fd); /* no need to hold onto the negative-hit file descriptor */
- rc = debuginfod_config_cache(cache_miss_path,
+ rc = debuginfod_config_cache(c, cache_miss_path,
cache_miss_default_s, &st);
if (rc < 0)
goto out;
@@ -1467,7 +1494,7 @@ debuginfod_query_server (debuginfod_client *c,
goto out2;
}
- long dl_size = 0;
+ long dl_size = -1;
if (target_handle && (c->progressfn || maxsize > 0))
{
/* Get size of file being downloaded. NB: If going through
@@ -1486,7 +1513,7 @@ debuginfod_query_server (debuginfod_client *c,
curl_res = curl_easy_getinfo(target_handle,
CURLINFO_CONTENT_LENGTH_DOWNLOAD,
&cl);
- if (curl_res == CURLE_OK)
+ if (curl_res == CURLE_OK && cl >= 0)
dl_size = (cl >= (double)(LONG_MAX+1UL) ? LONG_MAX : (long)cl);
#endif
/* If Content-Length is -1, try to get the size from
@@ -1495,9 +1522,9 @@ debuginfod_query_server (debuginfod_client *c,
{
long xdl;
char *hdr = strcasestr(c->winning_headers, "x-debuginfod-size");
+ size_t off = strlen("x-debuginfod-size:");
- if (hdr != NULL
- && sscanf(hdr, "x-debuginfod-size: %ld", &xdl) == 1)
+ if (hdr != NULL && sscanf(hdr + off, "%ld", &xdl) == 1)
dl_size = xdl;
}
}
@@ -1508,26 +1535,40 @@ debuginfod_query_server (debuginfod_client *c,
long pa = loops; /* default param for progress callback */
if (target_handle) /* we've committed to a server; report its download progress */
{
- CURLcode curl_res;
+ /* PR30809: Check actual size of cached file. This same
+ fd is shared by all the multi-curl handles (but only
+ one will end up writing to it). Another way could be
+ to tabulate totals in debuginfod_write_callback(). */
+ struct stat cached;
+ int statrc = fstat(fd, &cached);
+ if (statrc == 0)
+ pa = (long) cached.st_size;
+ else
+ {
+ /* Otherwise, query libcurl for its tabulated total.
+ However, that counts http body length, not
+ decoded/decompressed content length, so does not
+ measure quite the same thing as dl. */
+ CURLcode curl_res;
#if CURL_AT_LEAST_VERSION(7, 55, 0)
- curl_off_t dl;
- curl_res = curl_easy_getinfo(target_handle,
- CURLINFO_SIZE_DOWNLOAD_T,
- &dl);
- if (curl_res == 0 && dl >= 0)
- pa = (dl > LONG_MAX ? LONG_MAX : (long)dl);
+ curl_off_t dl;
+ curl_res = curl_easy_getinfo(target_handle,
+ CURLINFO_SIZE_DOWNLOAD_T,
+ &dl);
+ if (curl_res == 0 && dl >= 0)
+ pa = (dl > LONG_MAX ? LONG_MAX : (long)dl);
#else
- double dl;
- curl_res = curl_easy_getinfo(target_handle,
- CURLINFO_SIZE_DOWNLOAD,
- &dl);
- if (curl_res == 0)
- pa = (dl >= (double)(LONG_MAX+1UL) ? LONG_MAX : (long)dl);
+ double dl;
+ curl_res = curl_easy_getinfo(target_handle,
+ CURLINFO_SIZE_DOWNLOAD,
+ &dl);
+ if (curl_res == 0)
+ pa = (dl >= (double)(LONG_MAX+1UL) ? LONG_MAX : (long)dl);
#endif
-
+ }
}
- if ((*c->progressfn) (c, pa, dl_size))
+ if ((*c->progressfn) (c, pa, dl_size == -1 ? 0 : dl_size))
{
c->progressfn_cancel = true;
break;
@@ -1667,9 +1708,9 @@ debuginfod_query_server (debuginfod_client *c,
}
} while (num_msg > 0);
- /* Create an empty file named as $HOME/.cache if the query fails
- with ENOENT.*/
- if (rc == -ENOENT)
+ /* Create an empty file in the cache if the query fails with ENOENT and
+ it wasn't cancelled early. */
+ if (rc == -ENOENT && !c->progressfn_cancel)
{
int efd = open (target_cache_path, O_CREAT|O_EXCL, DEFFILEMODE);
if (efd >= 0)
@@ -1718,13 +1759,15 @@ debuginfod_query_server (debuginfod_client *c,
#else
CURLcode curl_res = curl_easy_getinfo(verified_handle, CURLINFO_FILETIME, (void*) &mtime);
#endif
- if (curl_res != CURLE_OK)
- mtime = time(NULL); /* fall back to current time */
-
- struct timeval tvs[2];
- tvs[0].tv_sec = tvs[1].tv_sec = mtime;
- tvs[0].tv_usec = tvs[1].tv_usec = 0;
- (void) futimes (fd, tvs); /* best effort */
+ if (curl_res == CURLE_OK)
+ {
+ struct timespec tvs[2];
+ tvs[0].tv_sec = 0;
+ tvs[0].tv_nsec = UTIME_OMIT;
+ tvs[1].tv_sec = mtime;
+ tvs[1].tv_nsec = 0;
+ (void) futimens (fd, tvs); /* best effort */
+ }
/* PR27571: make cache files casually unwriteable; dirs are already 0700 */
(void) fchmod(fd, 0400);
diff --git a/debuginfod/debuginfod.cxx b/debuginfod/debuginfod.cxx
index 99b1f2b9..c11aeda1 100644
--- a/debuginfod/debuginfod.cxx
+++ b/debuginfod/debuginfod.cxx
@@ -44,6 +44,12 @@ extern "C" {
}
#endif
+#ifdef HAVE_EXECINFO_H
+extern "C" {
+#include <execinfo.h>
+}
+#endif
+
extern "C" {
#include "printversion.h"
#include "system.h"
@@ -85,6 +91,7 @@ extern "C" {
#include <cstring>
#include <vector>
#include <set>
+#include <unordered_set>
#include <map>
#include <string>
#include <iostream>
@@ -94,6 +101,7 @@ extern "C" {
#include <mutex>
#include <deque>
#include <condition_variable>
+#include <exception>
#include <thread>
// #include <regex> // on rhel7 gcc 4.8, not competent
#include <regex.h>
@@ -138,7 +146,7 @@ string_endswith(const string& haystack, const string& needle)
// Roll this identifier for every sqlite schema incompatibility.
-#define BUILDIDS "buildids9"
+#define BUILDIDS "buildids10"
#if SQLITE_VERSION_NUMBER >= 3008000
#define WITHOUT_ROWID "without rowid"
@@ -157,10 +165,23 @@ static const char DEBUGINFOD_SQLITE_DDL[] =
// NB: all these are overridable with -D option
// Normalization table for interning file names
- "create table if not exists " BUILDIDS "_files (\n"
+ "create table if not exists " BUILDIDS "_fileparts (\n"
" id integer primary key not null,\n"
" name text unique not null\n"
" );\n"
+ "create table if not exists " BUILDIDS "_files (\n"
+ " id integer primary key not null,\n"
+ " dirname integer not null,\n"
+ " basename integer not null,\n"
+ " unique (dirname, basename),\n"
+ " foreign key (dirname) references " BUILDIDS "_fileparts(id) on delete cascade,\n"
+ " foreign key (basename) references " BUILDIDS "_fileparts(id) on delete cascade\n"
+ " );\n"
+ "create view if not exists " BUILDIDS "_files_v as\n" // a
+ " select f.id, n1.name || '/' || n2.name as name\n"
+ " from " BUILDIDS "_files f, " BUILDIDS "_fileparts n1, " BUILDIDS "_fileparts n2\n"
+ " where f.dirname = n1.id and f.basename = n2.id;\n"
+
// Normalization table for interning buildids
"create table if not exists " BUILDIDS "_buildids (\n"
" id integer primary key not null,\n"
@@ -230,33 +251,33 @@ static const char DEBUGINFOD_SQLITE_DDL[] =
"create view if not exists " BUILDIDS "_query_d as \n"
"select\n"
" b.hex as buildid, n.mtime, 'F' as sourcetype, f0.name as source0, n.mtime as mtime, null as source1\n"
- " from " BUILDIDS "_buildids b, " BUILDIDS "_files f0, " BUILDIDS "_f_de n\n"
+ " from " BUILDIDS "_buildids b, " BUILDIDS "_files_v f0, " BUILDIDS "_f_de n\n"
" where b.id = n.buildid and f0.id = n.file and n.debuginfo_p = 1\n"
"union all select\n"
" b.hex as buildid, n.mtime, 'R' as sourcetype, f0.name as source0, n.mtime as mtime, f1.name as source1\n"
- " from " BUILDIDS "_buildids b, " BUILDIDS "_files f0, " BUILDIDS "_files f1, " BUILDIDS "_r_de n\n"
+ " from " BUILDIDS "_buildids b, " BUILDIDS "_files_v f0, " BUILDIDS "_files_v f1, " BUILDIDS "_r_de n\n"
" where b.id = n.buildid and f0.id = n.file and f1.id = n.content and n.debuginfo_p = 1\n"
";"
// ... and for E queries
"create view if not exists " BUILDIDS "_query_e as \n"
"select\n"
" b.hex as buildid, n.mtime, 'F' as sourcetype, f0.name as source0, n.mtime as mtime, null as source1\n"
- " from " BUILDIDS "_buildids b, " BUILDIDS "_files f0, " BUILDIDS "_f_de n\n"
+ " from " BUILDIDS "_buildids b, " BUILDIDS "_files_v f0, " BUILDIDS "_f_de n\n"
" where b.id = n.buildid and f0.id = n.file and n.executable_p = 1\n"
"union all select\n"
" b.hex as buildid, n.mtime, 'R' as sourcetype, f0.name as source0, n.mtime as mtime, f1.name as source1\n"
- " from " BUILDIDS "_buildids b, " BUILDIDS "_files f0, " BUILDIDS "_files f1, " BUILDIDS "_r_de n\n"
+ " from " BUILDIDS "_buildids b, " BUILDIDS "_files_v f0, " BUILDIDS "_files_v f1, " BUILDIDS "_r_de n\n"
" where b.id = n.buildid and f0.id = n.file and f1.id = n.content and n.executable_p = 1\n"
";"
// ... and for S queries
"create view if not exists " BUILDIDS "_query_s as \n"
"select\n"
" b.hex as buildid, fs.name as artifactsrc, 'F' as sourcetype, f0.name as source0, n.mtime as mtime, null as source1, null as source0ref\n"
- " from " BUILDIDS "_buildids b, " BUILDIDS "_files f0, " BUILDIDS "_files fs, " BUILDIDS "_f_s n\n"
+ " from " BUILDIDS "_buildids b, " BUILDIDS "_files_v f0, " BUILDIDS "_files_v fs, " BUILDIDS "_f_s n\n"
" where b.id = n.buildid and f0.id = n.file and fs.id = n.artifactsrc\n"
"union all select\n"
" b.hex as buildid, f1.name as artifactsrc, 'R' as sourcetype, f0.name as source0, sd.mtime as mtime, f1.name as source1, fsref.name as source0ref\n"
- " from " BUILDIDS "_buildids b, " BUILDIDS "_files f0, " BUILDIDS "_files f1, " BUILDIDS "_files fsref, "
+ " from " BUILDIDS "_buildids b, " BUILDIDS "_files_v f0, " BUILDIDS "_files_v f1, " BUILDIDS "_files_v fsref, "
" " BUILDIDS "_r_sdef sd, " BUILDIDS "_r_sref sr, " BUILDIDS "_r_de sde\n"
" where b.id = sr.buildid and f0.id = sd.file and fsref.id = sde.file and f1.id = sd.content\n"
" and sr.artifactsrc = sd.content and sde.buildid = sr.buildid\n"
@@ -271,6 +292,7 @@ static const char DEBUGINFOD_SQLITE_DDL[] =
"union all select 'archive sdef',count(*) from " BUILDIDS "_r_sdef\n"
"union all select 'buildids',count(*) from " BUILDIDS "_buildids\n"
"union all select 'filenames',count(*) from " BUILDIDS "_files\n"
+ "union all select 'fileparts',count(*) from " BUILDIDS "_fileparts\n"
"union all select 'files scanned (#)',count(*) from " BUILDIDS "_file_mtime_scanned\n"
"union all select 'files scanned (mb)',coalesce(sum(size)/1024/1024,0) from " BUILDIDS "_file_mtime_scanned\n"
#if SQLITE_VERSION_NUMBER >= 3016000
@@ -281,10 +303,26 @@ static const char DEBUGINFOD_SQLITE_DDL[] =
// schema change history & garbage collection
//
// XXX: we could have migration queries here to bring prior-schema
-// data over instead of just dropping it.
+// data over instead of just dropping it. But that could incur
+// doubled storage costs.
//
-// buildids9: widen the mtime_scanned table
+// buildids10: split the _files table into _parts
"" // <<< we are here
+// buildids9: widen the mtime_scanned table
+ "DROP VIEW IF EXISTS buildids9_stats;\n"
+ "DROP INDEX IF EXISTS buildids9_r_de_idx;\n"
+ "DROP INDEX IF EXISTS buildids9_f_de_idx;\n"
+ "DROP VIEW IF EXISTS buildids9_query_s;\n"
+ "DROP VIEW IF EXISTS buildids9_query_e;\n"
+ "DROP VIEW IF EXISTS buildids9_query_d;\n"
+ "DROP TABLE IF EXISTS buildids9_r_sdef;\n"
+ "DROP TABLE IF EXISTS buildids9_r_sref;\n"
+ "DROP TABLE IF EXISTS buildids9_r_de;\n"
+ "DROP TABLE IF EXISTS buildids9_f_s;\n"
+ "DROP TABLE IF EXISTS buildids9_f_de;\n"
+ "DROP TABLE IF EXISTS buildids9_file_mtime_scanned;\n"
+ "DROP TABLE IF EXISTS buildids9_buildids;\n"
+ "DROP TABLE IF EXISTS buildids9_files;\n"
// buildids8: slim the sref table
"drop table if exists buildids8_f_de;\n"
"drop table if exists buildids8_f_s;\n"
@@ -398,6 +436,8 @@ static const struct argp_option options[] =
{ "passive", ARGP_KEY_PASSIVE, NULL, 0, "Do not scan or groom, read-only database.", 0 },
#define ARGP_KEY_DISABLE_SOURCE_SCAN 0x1009
{ "disable-source-scan", ARGP_KEY_DISABLE_SOURCE_SCAN, NULL, 0, "Do not scan dwarf source info.", 0 },
+#define ARGP_SCAN_CHECKPOINT 0x100A
+ { "scan-checkpoint", ARGP_SCAN_CHECKPOINT, "NUM", 0, "Number of files scanned before a WAL checkpoint.", 0 },
{ NULL, 0, NULL, 0, NULL, 0 },
};
@@ -452,6 +492,7 @@ static unsigned forwarded_ttl_limit = 8;
static bool scan_source_info = true;
static string tmpdir;
static bool passive_p = false;
+static long scan_checkpoint = 256;
static void set_metric(const string& key, double value);
// static void inc_metric(const string& key);
@@ -653,6 +694,11 @@ parse_opt (int key, char *arg,
case ARGP_KEY_DISABLE_SOURCE_SCAN:
scan_source_info = false;
break;
+ case ARGP_SCAN_CHECKPOINT:
+ scan_checkpoint = atol (arg);
+ if (scan_checkpoint < 0)
+ argp_failure(state, 1, EINVAL, "scan checkpoint");
+ break;
// case 'h': argp_state_help (state, stderr, ARGP_HELP_LONG|ARGP_HELP_EXIT_OK);
default: return ARGP_ERR_UNKNOWN;
}
@@ -736,7 +782,7 @@ struct elfutils_exception: public reportable_exception
template <typename Payload>
class workq
{
- set<Payload> q; // eliminate duplicates
+ unordered_set<Payload> q; // eliminate duplicates
mutex mtx;
condition_variable cv;
bool dead;
@@ -825,6 +871,24 @@ inline bool operator< (const scan_payload& a, const scan_payload& b)
{
return a.first < b.first; // don't bother compare the stat fields
}
+
+namespace std { // https://gcc.gnu.org/bugzilla/show_bug.cgi?id=56480
+ template<> struct hash<::scan_payload>
+ {
+ std::size_t operator() (const ::scan_payload& p) const noexcept
+ {
+ return hash<string>()(p.first);
+ }
+ };
+ template<> struct equal_to<::scan_payload>
+ {
+ std::size_t operator() (const ::scan_payload& a, const ::scan_payload& b) const noexcept
+ {
+ return a.first == b.first;
+ }
+ };
+}
+
static workq<scan_payload> scanq; // just a single one
// producer & idler: thread_main_fts_source_paths()
// consumer: thread_main_scanner()
@@ -882,6 +946,72 @@ public:
////////////////////////////////////////////////////////////////////////
+// periodic_barrier is a concurrency control object that lets N threads
+// periodically (based on counter value) agree to wait at a barrier,
+// let one of them carry out some work, then be set free
+
+class periodic_barrier
+{
+private:
+ unsigned period; // number of count() reports to trigger barrier activation
+ unsigned threads; // number of threads participating
+ mutex mtx; // protects all the following fields
+ unsigned counter; // count of count() reports in the current generation
+ unsigned generation; // barrier activation generation
+ unsigned waiting; // number of threads waiting for barrier
+ bool dead; // bring out your
+ condition_variable cv;
+public:
+ periodic_barrier(unsigned t, unsigned p):
+ period(p), threads(t), counter(0), generation(0), waiting(0), dead(false) { }
+ virtual ~periodic_barrier() {}
+
+ virtual void periodic_barrier_work() noexcept = 0;
+ void nuke() {
+ unique_lock<mutex> lock(mtx);
+ dead = true;
+ cv.notify_all();
+ }
+
+ void count()
+ {
+ unique_lock<mutex> lock(mtx);
+ unsigned prev_generation = this->generation;
+ if (counter < period-1) // normal case: counter just freely running
+ {
+ counter ++;
+ return;
+ }
+ else if (counter == period-1) // we're the doer
+ {
+ counter = period; // entering barrier holding phase
+ cv.notify_all();
+ while (waiting < threads-1 && !dead)
+ cv.wait(lock);
+ // all other threads are now stuck in the barrier
+ this->periodic_barrier_work(); // NB: we're holding the mutex the whole time
+ // reset for next barrier, releasing other waiters
+ counter = 0;
+ generation ++;
+ cv.notify_all();
+ return;
+ }
+ else if (counter == period) // we're a waiter, in holding phase
+ {
+ waiting ++;
+ cv.notify_all();
+ while (counter == period && generation == prev_generation && !dead)
+ cv.wait(lock);
+ waiting --;
+ return;
+ }
+ }
+};
+
+
+
+////////////////////////////////////////////////////////////////////////
+
// Print a standard timestamp.
static ostream&
@@ -1026,6 +1156,24 @@ public:
////////////////////////////////////////////////////////////////////////
+
+struct sqlite_checkpoint_pb: public periodic_barrier
+{
+ // NB: don't use sqlite_ps since it can throw exceptions during ctor etc.
+ sqlite_checkpoint_pb(unsigned t, unsigned p):
+ periodic_barrier(t, p) { }
+
+ void periodic_barrier_work() noexcept
+ {
+ (void) sqlite3_exec (db, "pragma wal_checkpoint(truncate);", NULL, NULL, NULL);
+ }
+};
+
+static periodic_barrier* scan_barrier = 0; // initialized in main()
+
+
+////////////////////////////////////////////////////////////////////////
+
// RAII style templated autocloser
template <class Payload, class Ignore>
@@ -1635,13 +1783,14 @@ extract_section (int elf_fd, int64_t parent_mtime,
throw libc_exception (errno, "cannot write to temporary file");
/* Set mtime to be the same as the parent file's mtime. */
- struct timeval tvs[2];
+ struct timespec tvs[2];
if (fstat (elf_fd, &fs) != 0)
throw libc_exception (errno, "cannot fstat file");
- tvs[0].tv_sec = tvs[1].tv_sec = fs.st_mtime;
- tvs[0].tv_usec = tvs[1].tv_usec = 0;
- (void) futimes (fd, tvs);
+ tvs[0].tv_sec = 0;
+ tvs[0].tv_nsec = UTIME_OMIT;
+ tvs[1] = fs.st_mtim;
+ (void) futimens (fd, tvs);
/* Add to fdcache. */
fdcache.intern (b_source, section, tmppath, data->d_size, true);
@@ -1727,11 +1876,10 @@ handle_buildid_f_match (bool internal_req_t,
}
else
{
- std::string file = b_source0.substr(b_source0.find_last_of("/")+1, b_source0.length());
add_mhd_response_header (r, "Content-Type", "application/octet-stream");
add_mhd_response_header (r, "X-DEBUGINFOD-SIZE",
to_string(s.st_size).c_str());
- add_mhd_response_header (r, "X-DEBUGINFOD-FILE", file.c_str());
+ add_mhd_response_header (r, "X-DEBUGINFOD-FILE", b_source0.c_str());
add_mhd_last_modified (r, s.st_mtime);
if (verbose > 1)
obatched(clog) << "serving file " << b_source0 << " section=" << section << endl;
@@ -1951,10 +2099,12 @@ handle_buildid_r_match (bool internal_req_p,
// Set the mtime so the fdcache file mtimes, even prefetched ones,
// propagate to future webapi clients.
- struct timeval tvs[2];
- tvs[0].tv_sec = tvs[1].tv_sec = archive_entry_mtime(e);
- tvs[0].tv_usec = tvs[1].tv_usec = 0;
- (void) futimes (fd, tvs); /* best effort */
+ struct timespec tvs[2];
+ tvs[0].tv_sec = 0;
+ tvs[0].tv_nsec = UTIME_OMIT;
+ tvs[1].tv_sec = archive_entry_mtime(e);
+ tvs[1].tv_nsec = archive_entry_mtime_nsec(e);
+ (void) futimens (fd, tvs); /* best effort */
if (r != 0) // stage 3
{
@@ -2013,14 +2163,12 @@ handle_buildid_r_match (bool internal_req_p,
}
else
{
- std::string file = b_source1.substr(b_source1.find_last_of("/")+1, b_source1.length());
add_mhd_response_header (r, "Content-Type",
"application/octet-stream");
add_mhd_response_header (r, "X-DEBUGINFOD-SIZE",
to_string(archive_entry_size(e)).c_str());
- add_mhd_response_header (r, "X-DEBUGINFOD-ARCHIVE",
- b_source0.c_str());
- add_mhd_response_header (r, "X-DEBUGINFOD-FILE", file.c_str());
+ add_mhd_response_header (r, "X-DEBUGINFOD-ARCHIVE", b_source0.c_str());
+ add_mhd_response_header (r, "X-DEBUGINFOD-FILE", b_source1.c_str());
add_mhd_last_modified (r, archive_entry_mtime(e));
if (verbose > 1)
obatched(clog) << "serving archive " << b_source0
@@ -3037,10 +3185,65 @@ elf_classify (int fd, bool &executable_p, bool &debuginfo_p, string &buildid, se
}
+// Intern the given file name in two parts (dirname & basename) and
+// return the resulting file's id.
+static int64_t
+register_file_name(sqlite_ps& ps_upsert_fileparts,
+ sqlite_ps& ps_upsert_file,
+ sqlite_ps& ps_lookup_file,
+ const string& name)
+{
+ std::size_t slash = name.rfind('/');
+ string dirname, basename;
+ if (slash == std::string::npos)
+ {
+ dirname = "";
+ basename = name;
+ }
+ else
+ {
+ dirname = name.substr(0, slash);
+ basename = name.substr(slash+1);
+ }
+
+ // intern the two substrings
+ ps_upsert_fileparts
+ .reset()
+ .bind(1, dirname)
+ .step_ok_done();
+ ps_upsert_fileparts
+ .reset()
+ .bind(1, basename)
+ .step_ok_done();
+
+ // intern the tuple
+ ps_upsert_file
+ .reset()
+ .bind(1, dirname)
+ .bind(2, basename)
+ .step_ok_done();
+
+ // look up the tuple's id
+ ps_lookup_file
+ .reset()
+ .bind(1, dirname)
+ .bind(2, basename);
+ int rc = ps_lookup_file.step();
+ if (rc != SQLITE_ROW) throw sqlite_exception(rc, "step");
+
+ int64_t id = sqlite3_column_int64 (ps_lookup_file, 0);
+ ps_lookup_file.reset();
+ return id;
+}
+
+
+
static void
scan_source_file (const string& rps, const stat_t& st,
sqlite_ps& ps_upsert_buildids,
- sqlite_ps& ps_upsert_files,
+ sqlite_ps& ps_upsert_fileparts,
+ sqlite_ps& ps_upsert_file,
+ sqlite_ps& ps_lookup_file,
sqlite_ps& ps_upsert_de,
sqlite_ps& ps_upsert_s,
sqlite_ps& ps_query,
@@ -3050,10 +3253,12 @@ scan_source_file (const string& rps, const stat_t& st,
unsigned& fts_debuginfo,
unsigned& fts_sourcefiles)
{
+ int64_t fileid = register_file_name(ps_upsert_fileparts, ps_upsert_file, ps_lookup_file, rps);
+
/* See if we know of it already. */
int rc = ps_query
.reset()
- .bind(1, rps)
+ .bind(1, fileid)
.bind(2, st.st_mtime)
.step();
ps_query.reset();
@@ -3093,12 +3298,6 @@ scan_source_file (const string& rps, const stat_t& st,
if (fd >= 0)
close (fd);
- // register this file name in the interning table
- ps_upsert_files
- .reset()
- .bind(1, rps)
- .step_ok_done();
-
if (buildid == "")
{
// no point storing an elf file without buildid
@@ -3125,7 +3324,7 @@ scan_source_file (const string& rps, const stat_t& st,
.bind(1, buildid)
.bind(2, debuginfo_p ? 1 : 0)
.bind(3, executable_p ? 1 : 0)
- .bind(4, rps)
+ .bind(4, fileid)
.bind(5, st.st_mtime)
.step_ok_done();
}
@@ -3157,11 +3356,6 @@ scan_source_file (const string& rps, const stat_t& st,
<< " mtime=" << sfs.st_mtime
<< " as source " << dwarfsrc << endl;
- ps_upsert_files
- .reset()
- .bind(1, srps)
- .step_ok_done();
-
// PR25548: store canonicalized dwarfsrc path
string dwarfsrc_canon = canon_pathname (dwarfsrc);
if (dwarfsrc_canon != dwarfsrc)
@@ -3170,16 +3364,14 @@ scan_source_file (const string& rps, const stat_t& st,
obatched(clog) << "canonicalized src=" << dwarfsrc << " alias=" << dwarfsrc_canon << endl;
}
- ps_upsert_files
- .reset()
- .bind(1, dwarfsrc_canon)
- .step_ok_done();
+ int64_t fileid1 = register_file_name (ps_upsert_fileparts, ps_upsert_file, ps_lookup_file, dwarfsrc_canon);
+ int64_t fileid2 = register_file_name (ps_upsert_fileparts, ps_upsert_file, ps_lookup_file, srps);
ps_upsert_s
.reset()
.bind(1, buildid)
- .bind(2, dwarfsrc_canon)
- .bind(3, srps)
+ .bind(2, fileid1)
+ .bind(3, fileid2)
.bind(4, sfs.st_mtime)
.step_ok_done();
@@ -3189,7 +3381,7 @@ scan_source_file (const string& rps, const stat_t& st,
ps_scan_done
.reset()
- .bind(1, rps)
+ .bind(1, fileid)
.bind(2, st.st_mtime)
.bind(3, st.st_size)
.step_ok_done();
@@ -3208,8 +3400,9 @@ scan_source_file (const string& rps, const stat_t& st,
// Analyze given archive file of given age; record buildids / exec/debuginfo-ness of its
// constituent files with given upsert statements.
static void
-archive_classify (const string& rps, string& archive_extension,
- sqlite_ps& ps_upsert_buildids, sqlite_ps& ps_upsert_files,
+archive_classify (const string& rps, string& archive_extension, int64_t archiveid,
+ sqlite_ps& ps_upsert_buildids, sqlite_ps& ps_upsert_fileparts, sqlite_ps& ps_upsert_file,
+ sqlite_ps& ps_lookup_file,
sqlite_ps& ps_upsert_de, sqlite_ps& ps_upsert_sref, sqlite_ps& ps_upsert_sdef,
time_t mtime,
unsigned& fts_executable, unsigned& fts_debuginfo, unsigned& fts_sref, unsigned& fts_sdef,
@@ -3263,8 +3456,9 @@ archive_classify (const string& rps, string& archive_extension,
}
if (verbose > 3)
- obatched(clog) << "libarchive scanning " << rps << endl;
+ obatched(clog) << "libarchive scanning " << rps << " id " << archiveid << endl;
+ bool any_exceptions = false;
while(1) // parse archive entries
{
if (interrupted)
@@ -3316,10 +3510,7 @@ archive_classify (const string& rps, string& archive_extension,
.step_ok_done();
}
- ps_upsert_files // register this rpm constituent file name in interning table
- .reset()
- .bind(1, fn)
- .step_ok_done();
+ int64_t fileid = register_file_name (ps_upsert_fileparts, ps_upsert_file, ps_lookup_file, fn);
if (sourcefiles.size() > 0) // sref records needed
{
@@ -3348,15 +3539,13 @@ archive_classify (const string& rps, string& archive_extension,
obatched(clog) << "canonicalized src=" << dwarfsrc << " alias=" << dwarfsrc_canon << endl;
}
- ps_upsert_files
- .reset()
- .bind(1, dwarfsrc_canon)
- .step_ok_done();
-
+ int64_t srcfileid = register_file_name(ps_upsert_fileparts, ps_upsert_file, ps_lookup_file,
+ dwarfsrc_canon);
+
ps_upsert_sref
.reset()
.bind(1, buildid)
- .bind(2, dwarfsrc_canon)
+ .bind(2, srcfileid)
.step_ok_done();
fts_sref ++;
@@ -3375,9 +3564,9 @@ archive_classify (const string& rps, string& archive_extension,
.bind(1, buildid)
.bind(2, debuginfo_p ? 1 : 0)
.bind(3, executable_p ? 1 : 0)
- .bind(4, rps)
+ .bind(4, archiveid)
.bind(5, mtime)
- .bind(6, fn)
+ .bind(6, fileid)
.step_ok_done();
}
else // potential source - sdef record
@@ -3385,9 +3574,9 @@ archive_classify (const string& rps, string& archive_extension,
fts_sdef ++;
ps_upsert_sdef
.reset()
- .bind(1, rps)
+ .bind(1, archiveid)
.bind(2, mtime)
- .bind(3, fn)
+ .bind(3, fileid)
.step_ok_done();
}
@@ -3402,8 +3591,17 @@ archive_classify (const string& rps, string& archive_extension,
catch (const reportable_exception& e)
{
e.report(clog);
+ any_exceptions = true;
+ // NB: but we allow the libarchive iteration to continue, in
+ // case we can still gather some useful information. That
+ // would allow some webapi queries to work, until later when
+ // this archive is rescanned. (Its vitals won't go into the
+ // _file_mtime_scanned table until after a successful scan.)
}
}
+
+ if (any_exceptions)
+ throw reportable_exception("exceptions encountered during archive scan");
}
@@ -3412,7 +3610,9 @@ archive_classify (const string& rps, string& archive_extension,
static void
scan_archive_file (const string& rps, const stat_t& st,
sqlite_ps& ps_upsert_buildids,
- sqlite_ps& ps_upsert_files,
+ sqlite_ps& ps_upsert_fileparts,
+ sqlite_ps& ps_upsert_file,
+ sqlite_ps& ps_lookup_file,
sqlite_ps& ps_upsert_de,
sqlite_ps& ps_upsert_sref,
sqlite_ps& ps_upsert_sdef,
@@ -3424,10 +3624,13 @@ scan_archive_file (const string& rps, const stat_t& st,
unsigned& fts_sref,
unsigned& fts_sdef)
{
+ // intern the archive file name
+ int64_t archiveid = register_file_name (ps_upsert_fileparts, ps_upsert_file, ps_lookup_file, rps);
+
/* See if we know of it already. */
int rc = ps_query
.reset()
- .bind(1, rps)
+ .bind(1, archiveid)
.bind(2, st.st_mtime)
.step();
ps_query.reset();
@@ -3441,20 +3644,15 @@ scan_archive_file (const string& rps, const stat_t& st,
return;
}
- // intern the archive file name
- ps_upsert_files
- .reset()
- .bind(1, rps)
- .step_ok_done();
-
// extract the archive contents
unsigned my_fts_executable = 0, my_fts_debuginfo = 0, my_fts_sref = 0, my_fts_sdef = 0;
bool my_fts_sref_complete_p = true;
+ bool any_exceptions = false;
try
{
string archive_extension;
- archive_classify (rps, archive_extension,
- ps_upsert_buildids, ps_upsert_files,
+ archive_classify (rps, archive_extension, archiveid,
+ ps_upsert_buildids, ps_upsert_fileparts, ps_upsert_file, ps_lookup_file,
ps_upsert_de, ps_upsert_sref, ps_upsert_sdef, // dalt
st.st_mtime,
my_fts_executable, my_fts_debuginfo, my_fts_sref, my_fts_sdef,
@@ -3472,6 +3670,7 @@ scan_archive_file (const string& rps, const stat_t& st,
catch (const reportable_exception& e)
{
e.report(clog);
+ any_exceptions = true;
}
if (verbose > 2)
@@ -3481,6 +3680,7 @@ scan_archive_file (const string& rps, const stat_t& st,
<< " debuginfos=" << my_fts_debuginfo
<< " srefs=" << my_fts_sref
<< " sdefs=" << my_fts_sdef
+ << " exceptions=" << any_exceptions
<< endl;
fts_executable += my_fts_executable;
@@ -3488,10 +3688,13 @@ scan_archive_file (const string& rps, const stat_t& st,
fts_sref += my_fts_sref;
fts_sdef += my_fts_sdef;
+ if (any_exceptions)
+ throw reportable_exception("exceptions encountered during archive scan");
+
if (my_fts_sref_complete_p) // leave incomplete?
ps_scan_done
.reset()
- .bind(1, rps)
+ .bind(1, archiveid)
.bind(2, st.st_mtime)
.bind(3, st.st_size)
.step_ok_done();
@@ -3506,57 +3709,63 @@ scan_archive_file (const string& rps, const stat_t& st,
// The thread that consumes file names off of the scanq. We hold
// the persistent sqlite_ps's at this level and delegate file/archive
// scanning to other functions.
-static void*
-thread_main_scanner (void* arg)
+static void
+scan ()
{
- (void) arg;
-
// all the prepared statements fit to use, the _f_ set:
sqlite_ps ps_f_upsert_buildids (db, "file-buildids-intern", "insert or ignore into " BUILDIDS "_buildids VALUES (NULL, ?);");
- sqlite_ps ps_f_upsert_files (db, "file-files-intern", "insert or ignore into " BUILDIDS "_files VALUES (NULL, ?);");
+ sqlite_ps ps_f_upsert_fileparts (db, "file-fileparts-intern", "insert or ignore into " BUILDIDS "_fileparts VALUES (NULL, ?);");
+ sqlite_ps ps_f_upsert_file (db, "file-file-intern", "insert or ignore into " BUILDIDS "_files VALUES (NULL, \n"
+ "(select id from " BUILDIDS "_fileparts where name = ?),\n"
+ "(select id from " BUILDIDS "_fileparts where name = ?));");
+ sqlite_ps ps_f_lookup_file (db, "file-file-lookup",
+ "select f.id\n"
+ " from " BUILDIDS "_files f, " BUILDIDS "_fileparts p1, " BUILDIDS "_fileparts p2 \n"
+ " where f.dirname = p1.id and f.basename = p2.id and p1.name = ? and p2.name = ?;\n");
sqlite_ps ps_f_upsert_de (db, "file-de-upsert",
"insert or ignore into " BUILDIDS "_f_de "
"(buildid, debuginfo_p, executable_p, file, mtime) "
"values ((select id from " BUILDIDS "_buildids where hex = ?),"
- " ?,?,"
- " (select id from " BUILDIDS "_files where name = ?), ?);");
+ " ?,?,?,?);");
sqlite_ps ps_f_upsert_s (db, "file-s-upsert",
"insert or ignore into " BUILDIDS "_f_s "
"(buildid, artifactsrc, file, mtime) "
"values ((select id from " BUILDIDS "_buildids where hex = ?),"
- " (select id from " BUILDIDS "_files where name = ?),"
- " (select id from " BUILDIDS "_files where name = ?),"
- " ?);");
+ " ?,?,?);");
sqlite_ps ps_f_query (db, "file-negativehit-find",
"select 1 from " BUILDIDS "_file_mtime_scanned where sourcetype = 'F' "
- "and file = (select id from " BUILDIDS "_files where name = ?) and mtime = ?;");
+ "and file = ? and mtime = ?;");
sqlite_ps ps_f_scan_done (db, "file-scanned",
"insert or ignore into " BUILDIDS "_file_mtime_scanned (sourcetype, file, mtime, size)"
- "values ('F', (select id from " BUILDIDS "_files where name = ?), ?, ?);");
+ "values ('F', ?,?,?);");
// and now for the _r_ set
sqlite_ps ps_r_upsert_buildids (db, "rpm-buildid-intern", "insert or ignore into " BUILDIDS "_buildids VALUES (NULL, ?);");
- sqlite_ps ps_r_upsert_files (db, "rpm-file-intern", "insert or ignore into " BUILDIDS "_files VALUES (NULL, ?);");
+ sqlite_ps ps_r_upsert_fileparts (db, "rpm-fileparts-intern", "insert or ignore into " BUILDIDS "_fileparts VALUES (NULL, ?);");
+ sqlite_ps ps_r_upsert_file (db, "rpm-file-intern", "insert or ignore into " BUILDIDS "_files VALUES (NULL, \n"
+ "(select id from " BUILDIDS "_fileparts where name = ?),\n"
+ "(select id from " BUILDIDS "_fileparts where name = ?));");
+ sqlite_ps ps_r_lookup_file (db, "rpm-file-lookup",
+ "select f.id\n"
+ " from " BUILDIDS "_files f, " BUILDIDS "_fileparts p1, " BUILDIDS "_fileparts p2 \n"
+ " where f.dirname = p1.id and f.basename = p2.id and p1.name = ? and p2.name = ?;\n");
sqlite_ps ps_r_upsert_de (db, "rpm-de-insert",
"insert or ignore into " BUILDIDS "_r_de (buildid, debuginfo_p, executable_p, file, mtime, content) values ("
- "(select id from " BUILDIDS "_buildids where hex = ?), ?, ?, "
- "(select id from " BUILDIDS "_files where name = ?), ?, "
- "(select id from " BUILDIDS "_files where name = ?));");
+ "(select id from " BUILDIDS "_buildids where hex = ?), ?, ?, ?, ?, ?);");
sqlite_ps ps_r_upsert_sref (db, "rpm-sref-insert",
"insert or ignore into " BUILDIDS "_r_sref (buildid, artifactsrc) values ("
"(select id from " BUILDIDS "_buildids where hex = ?), "
- "(select id from " BUILDIDS "_files where name = ?));");
+ "?);");
sqlite_ps ps_r_upsert_sdef (db, "rpm-sdef-insert",
"insert or ignore into " BUILDIDS "_r_sdef (file, mtime, content) values ("
- "(select id from " BUILDIDS "_files where name = ?), ?,"
- "(select id from " BUILDIDS "_files where name = ?));");
+ "?, ?, ?);");
sqlite_ps ps_r_query (db, "rpm-negativehit-query",
"select 1 from " BUILDIDS "_file_mtime_scanned where "
- "sourcetype = 'R' and file = (select id from " BUILDIDS "_files where name = ?) and mtime = ?;");
+ "sourcetype = 'R' and file = ? and mtime = ?;");
sqlite_ps ps_r_scan_done (db, "rpm-scanned",
"insert or ignore into " BUILDIDS "_file_mtime_scanned (sourcetype, file, mtime, size)"
- "values ('R', (select id from " BUILDIDS "_files where name = ?), ?, ?);");
-
+ "values ('R', ?, ?, ?);");
+
unsigned fts_cached = 0, fts_executable = 0, fts_debuginfo = 0, fts_sourcefiles = 0;
unsigned fts_sref = 0, fts_sdef = 0;
@@ -3568,6 +3777,9 @@ thread_main_scanner (void* arg)
scan_payload p;
add_metric("thread_busy", "role", "scan", -1);
+ // NB: threads may be blocked within either of these two waiting
+ // states, if the work queue happens to run dry. That's OK.
+ if (scan_barrier) scan_barrier->count();
bool gotone = scanq.wait_front(p);
add_metric("thread_busy", "role", "scan", 1);
@@ -3583,7 +3795,9 @@ thread_main_scanner (void* arg)
if (scan_archive)
scan_archive_file (p.first, p.second,
ps_r_upsert_buildids,
- ps_r_upsert_files,
+ ps_r_upsert_fileparts,
+ ps_r_upsert_file,
+ ps_r_lookup_file,
ps_r_upsert_de,
ps_r_upsert_sref,
ps_r_upsert_sdef,
@@ -3598,7 +3812,9 @@ thread_main_scanner (void* arg)
if (scan_files) // NB: maybe "else if" ?
scan_source_file (p.first, p.second,
ps_f_upsert_buildids,
- ps_f_upsert_files,
+ ps_f_upsert_fileparts,
+ ps_f_upsert_file,
+ ps_f_lookup_file,
ps_f_upsert_de,
ps_f_upsert_s,
ps_f_query,
@@ -3622,8 +3838,25 @@ thread_main_scanner (void* arg)
inc_metric("thread_work_total","role","scan");
}
-
add_metric("thread_busy", "role", "scan", -1);
+}
+
+
+// Use this function as the thread entry point, so it can catch our
+// fleet of exceptions (incl. the sqlite_ps ctors) and report.
+static void*
+thread_main_scanner (void* arg)
+{
+ (void) arg;
+ while (! interrupted)
+ try
+ {
+ scan();
+ }
+ catch (const reportable_exception& e)
+ {
+ e.report(cerr);
+ }
return 0;
}
@@ -3836,7 +4069,7 @@ void groom()
// scan for files that have disappeared
sqlite_ps files (db, "check old files",
"select distinct s.mtime, s.file, f.name from "
- BUILDIDS "_file_mtime_scanned s, " BUILDIDS "_files f "
+ BUILDIDS "_file_mtime_scanned s, " BUILDIDS "_files_v f "
"where f.id = s.file");
// NB: Because _ftime_mtime_scanned can contain both F and
// R records for the same file, this query would return duplicates if the
@@ -3874,7 +4107,7 @@ void groom()
{
bool reg_include = !regexec (&file_include_regex, filename, 0, 0, 0);
bool reg_exclude = !regexec (&file_exclude_regex, filename, 0, 0, 0);
- regex_file_drop = reg_exclude && !reg_include;
+ regex_file_drop = !reg_include || reg_exclude; // match logic of scan_source_paths
}
rc = stat(filename, &s);
@@ -4136,6 +4369,20 @@ default_concurrency() // guaranteed >= 1
}
+// 30879: Something to help out in case of an uncaught exception.
+void my_terminate_handler()
+{
+#if defined(__GLIBC__)
+ void *array[40];
+ int size = backtrace (array, 40);
+ backtrace_symbols_fd (array, size, STDERR_FILENO);
+#endif
+#if defined(__GLIBCXX__) || defined(__GLIBCPP__)
+ __gnu_cxx::__verbose_terminate_handler();
+#endif
+ abort();
+}
+
int
main (int argc, char *argv[])
@@ -4144,6 +4391,8 @@ main (int argc, char *argv[])
(void) bindtextdomain (PACKAGE_TARNAME, LOCALEDIR);
(void) textdomain (PACKAGE_TARNAME);
+ std::set_terminate(& my_terminate_handler);
+
/* Tell the library which version we are expecting. */
elf_version (EV_CURRENT);
@@ -4364,8 +4613,10 @@ main (int argc, char *argv[])
obatched(clog) << "search concurrency " << concurrency << endl;
obatched(clog) << "webapi connection pool " << connection_pool
<< (connection_pool ? "" : " (unlimited)") << endl;
- if (! passive_p)
+ if (! passive_p) {
obatched(clog) << "rescan time " << rescan_s << endl;
+ obatched(clog) << "scan checkpoint " << scan_checkpoint << endl;
+ }
obatched(clog) << "fdcache fds " << fdcache_fds << endl;
obatched(clog) << "fdcache mbs " << fdcache_mbs << endl;
obatched(clog) << "fdcache prefetch " << fdcache_prefetch << endl;
@@ -4407,6 +4658,9 @@ main (int argc, char *argv[])
if (scan_files || scan_archives.size() > 0)
{
+ if (scan_checkpoint > 0)
+ scan_barrier = new sqlite_checkpoint_pb(concurrency, (unsigned) scan_checkpoint);
+
rc = pthread_create (& pt, NULL, thread_main_fts_source_paths, NULL);
if (rc)
error (EXIT_FAILURE, rc, "cannot spawn thread to traverse source paths\n");
@@ -4433,6 +4687,7 @@ main (int argc, char *argv[])
while (! interrupted)
pause ();
scanq.nuke(); // wake up any remaining scanq-related threads, let them die
+ if (scan_barrier) scan_barrier->nuke(); // ... in case they're stuck in a barrier
set_metric("ready", 0);
if (verbose)
@@ -4458,6 +4713,7 @@ main (int argc, char *argv[])
}
debuginfod_pool_groom ();
+ delete scan_barrier;
// NB: no problem with unconditional free here - an earlier failed regcomp would exit program
(void) regfree (& file_include_regex);
diff --git a/doc/Makefile.am b/doc/Makefile.am
index db5a842e..87de4f0b 100644
--- a/doc/Makefile.am
+++ b/doc/Makefile.am
@@ -17,7 +17,7 @@
## You should have received a copy of the GNU General Public License
## along with this program. If not, see <http://www.gnu.org/licenses/>.
EXTRA_DIST = COPYING-GFDL README
-dist_man1_MANS=readelf.1 elfclassify.1
+dist_man1_MANS=readelf.1 elfclassify.1 srcfiles.1
notrans_dist_man3_MANS=elf_update.3 elf_getdata.3 elf_clone.3 elf_begin.3
notrans_dist_man7_MANS=
notrans_dist_man8_MANS=
diff --git a/doc/debuginfod.8 b/doc/debuginfod.8
index 07cb01ae..4f1f04b3 100644
--- a/doc/debuginfod.8
+++ b/doc/debuginfod.8
@@ -172,7 +172,10 @@ interrupting a groom pass (if any).
.TP
.B "\-r"
-Apply the -I and -X during groom cycles, so that files excluded by the regexes are removed from the index. These parameters are in addition to what normally qualifies a file for grooming, not a replacement.
+Apply the -I and -X during groom cycles, so that most content related
+to files excluded by the regexes are removed from the index. Not all
+content can be practically removed, so eventually a "\-G"
+"maximal-groom" operation may be needed.
.TP
.B "\-g SECONDS" "\-\-groom\-time=SECONDS"
@@ -280,6 +283,13 @@ If a setup has no access to source code, the source info is not
required.
.TP
+.B "\-\-scan\-checkpoint=NUM"
+Run a synchronized SQLITE WAL checkpoint operation after every NUM
+completed archive or file scans. This may slow down parallel scanning
+phase somewhat, but generate much smaller "-wal" temporary files on
+busy servers. The default is 256. Disabled if 0.
+
+.TP
.B "\-v"
Increase verbosity of logging to the standard error file descriptor.
May be repeated to increase details. The default verbosity is 0.
@@ -294,18 +304,35 @@ Unknown buildid / request combinations result in HTTP error codes.
This file service resemblance is intentional, so that an installation
can take advantage of standard HTTP management infrastructure.
-Upon finding a file in an archive or simply in the database, some
-custom http headers are added to the response. For files in the
-database X-DEBUGINFOD-FILE and X-DEBUGINFOD-SIZE are added.
-X-DEBUGINFOD-FILE is simply the unescaped filename and
-X-DEBUGINFOD-SIZE is the size of the file. For files found in archives,
-in addition to X-DEBUGINFOD-FILE and X-DEBUGINFOD-SIZE,
-X-DEBUGINFOD-ARCHIVE is added. X-DEBUGINFOD-ARCHIVE is the name of the
-archive the file was found in.
+For most queries, some custom http headers are added to the response,
+providing additional metadata about the buildid-related response. For example:
+
+.SAMPLE
+% debuginfod-find -v debuginfo /bin/ls |& grep -i x-debuginfo
+x-debuginfod-size: 502024
+x-debuginfod-archive: /mnt/fedora_koji_prod/koji/packages/coreutils/9.3/4.fc39/x86_64/coreutils-debuginfo-9.3-4.fc39.x86_64.rpm
+x-debuginfod-file: /usr/lib/debug/usr/bin/ls-9.3-4.fc39.x86_64.debug
+.ESAMPLE
+
+.TP
+X-DEBUGINFOD-SIZE
+The size of the file, in bytes. This may differ from the http Content-Length:
+field (if present), due to compression in transit.
+
+.TP
+X-DEBUGINFOD-FILE
+The full path name of the file related to the given buildid.
+
+.TP
+X-DEBUGINFOD-ARCHIVE
+The full path name of the archive that contained the above file, if any.
+
+
+
-There are three requests. In each case, the buildid is encoded as a
-lowercase hexadecimal string. For example, for a program \fI/bin/ls\fP,
-look at the ELF note GNU_BUILD_ID:
+There are a handful of buildid-related requests. In each case, the
+buildid is encoded as a lowercase hexadecimal string. For example,
+for a program \fI/bin/ls\fP, look at the ELF note GNU_BUILD_ID:
.SAMPLE
% readelf -n /bin/ls | grep -A4 build.id
@@ -381,8 +408,7 @@ contents of the section, not an ELF file.
This endpoint returns a Prometheus formatted text/plain dump of a
variety of statistics about the operation of the debuginfod server.
The exact set of metrics and their meanings may change in future
-versions. Caution: configuration information (path names, versions)
-may be disclosed.
+versions.
.SH DATA MANAGEMENT
@@ -475,8 +501,16 @@ a denial-of-service in terms of RAM, CPU, disk I/O, or network I/O.
If this is a problem, users are advised to install debuginfod with a
HTTPS reverse-proxy front-end that enforces site policies for
firewalling, authentication, integrity, authorization, and load
-control. The \fI/metrics\fP webapi endpoint is probably not
-appropriate for disclosure to the public.
+control.
+
+Front-end proxies may elide sensitive path name components in
+X-DEBUGINFOD-FILE/ARCHIVE response headers. For example, using Apache
+httpd's \fBmod_headers\fP, you can remove the entire directory name
+prefix:
+
+.SAMPLE
+Header edit x-debuginfod-archive ".*/" ""
+.ESAMPLE
When relaying queries to upstream debuginfods, debuginfod \fBdoes not\fP
include any particular security features. It trusts that the binaries
diff --git a/doc/srcfiles.1 b/doc/srcfiles.1
new file mode 100644
index 00000000..6149c21b
--- /dev/null
+++ b/doc/srcfiles.1
@@ -0,0 +1,133 @@
+.\" Copyright 2023 Red Hat Inc.
+.\" Mon 2023-Sept 23 Housam Alamour <halamour@redhat.com>
+.\" Contact elfutils-devel@sourceware.org to correct errors or typos.
+.TH EU-SRCFILES 1 "2023-Sept-25" "elfutils"
+
+.de SAMPLE
+.br
+.RS 0
+.nf
+.nh
+\fB
+..
+.de ESAMPLE
+\fP
+.hy
+.fi
+.RE
+..
+
+.SH "NAME"
+eu-srcfiles \- Lists the source files of a DWARF/ELF file.
+
+.SH "SYNOPSIS"
+eu-srcfiles [\fB\-0\fR|\fB\-\-null\fR] [\fB\-c\fR|\fB\-\-cu\-only\fR] [\fB\-v\fR|\fB\-\-verbose\fR] INPUT
+
+.SH "DESCRIPTION"
+\fBeu-srcfiles\fR lists the source files of a given \s-DWARF/ELF\s0
+file. This list is based on a search of the DWARF debuginfo, which
+may be automatically fetched by debuginfod if applicable. The target
+file may be an executable, a coredump, a process, or even the running
+kernel. The default is the file 'a.out'. The source file names are
+made unique and printed to standard output.
+
+.SH "INPUT OPTIONS"
+The long and short forms of options, shown here as alternatives, are
+equivalent.
+.TP
+\fB--core=COREFILE\fR
+Find addresses from signatures found in COREFILE.
+
+.TP
+\fB--debuginfo-path=PATH\fR
+Search path for separate debuginfo files.
+
+.TP
+\fB-e FILE\fR, \fB--executable=FILE\fR
+Find addresses in FILE.
+
+.TP
+\fB-k\fR, \fB--kernel\fR
+Find addresses in the running kernel.
+
+.TP
+\fB-K\fR, \fB--offline-kernel[=RELEASE]\fR
+Kernel with all modules.
+
+.TP
+\fB-M FILE\fR, \fB--linux-process-map=FILE\fR
+Find addresses in files mapped as read from FILE in Linux /proc/PID/maps format.
+
+.TP
+\fB-p PID\fR, \fB--pid=PID\fR
+Find addresses in files mapped into process PID.
+
+.TP
+\fB-?\fR, \fB--help\fR
+Give this help list.
+
+.TP
+\fB--usage\fR
+Give a short usage message.
+
+.TP
+\fB-V\fR, \fB--version\fR
+Print program version.
+
+.SH "OUTPUT OPTIONS"
+
+.TP
+\fB\-0, \-\-null\fR
+Separate items by a null instead of a newline.
+
+.TP
+\fB\-c, \-\-cu\-only\fR
+Only list the CU names.
+
+.TP
+\fB\-v, \-\-verbose\fR
+Increase verbosity of logging messages.
+
+
+.SH EXAMPLES
+
+List all source files for a binary.
+.SAMPLE
+eu-srcfiles -e /bin/ls
+.ESAMPLE
+
+List all compilation units (CU) names for a given process (including shared libraries).
+.SAMPLE
+eu-srcfiles -c -p $$
+.ESAMPLE
+
+List source files of a binary based on its buildid, using debuginfod.
+.SAMPLE
+binary=`debuginfod-find executable 9c22d8d9e42bd051ffdc1064fdfd456ba781c629`
+eu-srcfiles -c -e $binary
+.ESAMPLE
+
+Show the source code of the first CU of a shared library.
+.SAMPLE
+binary=/usr/lib64/libc.so.6
+srcfile=`eu-srcfiles -c -e $binary | head -1`
+cat `debuginfod-find source $binary $srcfile`
+.ESAMPLE
+
+List the source files of a kernel image.
+.SAMPLE
+eu-srcfiles -e /boot/vmlinuz-`uname -r`
+.ESAMPLE
+
+
+.SH "AUTHOR"
+Written by Housam Alamour.
+
+.SH "REPORTING BUGS"
+Please reports bugs at https://sourceware.org/bugzilla/
+
+.SH "COPYRIGHT"
+Copyright (c) 2023 Red Hat Inc. License GPLv3+: GNU GPL version 3 or
+later <https://gnu.org/licenses/gpl.html>. This is free software: you
+are free to change and redistribute it. There is NO WARRANTY, to the
+extent permitted by law.
diff --git a/lib/eu-config.h b/lib/eu-config.h
index 78a5c4fe..feb079db 100644
--- a/lib/eu-config.h
+++ b/lib/eu-config.h
@@ -33,13 +33,18 @@
# include <pthread.h>
# include <assert.h>
# define rwlock_define(class,name) class pthread_rwlock_t name
+# define once_define(class,name) class pthread_once_t name = PTHREAD_ONCE_INIT
# define RWLOCK_CALL(call) \
({ int _err = pthread_rwlock_ ## call; assert_perror (_err); })
+# define ONCE_CALL(call) \
+ ({ int _err = pthread_ ## call; assert_perror (_err); })
# define rwlock_init(lock) RWLOCK_CALL (init (&lock, NULL))
# define rwlock_fini(lock) RWLOCK_CALL (destroy (&lock))
# define rwlock_rdlock(lock) RWLOCK_CALL (rdlock (&lock))
# define rwlock_wrlock(lock) RWLOCK_CALL (wrlock (&lock))
# define rwlock_unlock(lock) RWLOCK_CALL (unlock (&lock))
+# define once(once_control, init_routine) \
+ ONCE_CALL (once (&once_control, init_routine))
#else
/* Eventually we will allow multi-threaded applications to use the
libraries. Therefore we will add the necessary locking although
@@ -50,6 +55,8 @@
# define rwlock_rdlock(lock) ((void) (lock))
# define rwlock_wrlock(lock) ((void) (lock))
# define rwlock_unlock(lock) ((void) (lock))
+# define once_define(class,name)
+# define once(once_control, init_routine) init_routine()
#endif /* USE_LOCKS */
#include <libintl.h>
diff --git a/lib/printversion.h b/lib/printversion.h
index 4154b328..6811aa5b 100644
--- a/lib/printversion.h
+++ b/lib/printversion.h
@@ -32,6 +32,9 @@
#include <argp.h>
#include <stdio.h>
+#ifdef __cplusplus
+extern "C" {
+#endif
/* Defined in version.c. Common ARGP_PROGRAM_VERSION_HOOK_DEF. */
void print_version (FILE *stream, struct argp_state *state);
@@ -49,4 +52,8 @@ extern const char *const apba__;
#define ARGP_PROGRAM_BUG_ADDRESS_DEF \
const char *const apba__ __asm ("argp_program_bug_address")
+#ifdef __cplusplus
+}
+#endif
+
#endif // PRINTVERSION_H
diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index 406310ef..b19fc80d 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,3 +1,47 @@
+2023-09-27 Omar Sandoval <osandov@fb.com>
+
+ * libdwP.h ((Dwarf): Add elfpath.
+ * dwarf_begin_elf.c (__libdw_debugdir): Replace declaration with...
+ (__libdw_elfpath): New declaration.
+ (__libdw_set_debugdir): New declaration.
+ (__libdw_debugdir): Replace with..
+ (__libdw_elfpath): New function.
+ (__libdw_set_debugdir): New function.
+ (valid_p): Call __libdw_elfpath and __libdw_set_debugdir instead of
+ __libdw_debugdir.
+ * dwarf_end.c (dwarf_end): Free dwarf->elfpath.
+
+2023-09-27 Omar Sandoval <osandov@fb.com>
+
+ * libdw_find_split_unit.c (try_split_file): Make static.
+ * dwarf_entrypc.c (dwarf_entrypc): Call dwarf_lowpc.
+ * dwarf_ranges.c (dwarf_ranges): Use skeleton ranges section for
+ skeleton units.
+ * dwarf_macro_param2.c (dwarf_macro_param2): Change form condition to
+ switch statement and add DW_FORM_line_strp, DW_FORM_strp_sup,
+ DW_FORM_strx, and DW_FORM_strx[1-4].
+ * dwarf_getmacros.c (get_macinfo_table): Replace assignment of
+ table->is_64bit with assignments of table->address_size and
+ table->offset_size. Assume default DW_AT_stmt_list of 0 for split
+ DWARF. Set table->dbg.
+ (get_table_for_offset): Ditto.
+ (read_macros): Get fake CU offset_size from table->offset_size instead
+ of table->is_64bit.
+ * dwarf_macro_getsrcfiles.c (dwarf_macro_getsrcfiles): Get
+ address_size for __libdw_getsrclines from table->address_size instead
+ of table->is_64bit. Get dbg for __libdw_getsrclines from table->dbg
+ instead of dbg parameter, which is now unused.
+ * libdwP.h (Dwarf_Macro_Op_Table): Replace is_64bit with address_size
+ and offset_size. Add dbg.
+ Add IDX_debug_cu_index and IDX_debug_tu_index.
+ * dwarf_begin_elf.c (dwarf_scnnames): Add IDX_debug_cu_index and
+ IDX_debug_tu_index.
+ (scn_to_string_section_idx): Ditto.
+ (scn_dwarf_type): Check for .debug_cu_index, .debug_tu_index,
+ .zdebug_cu_index, and .zdebug_tu_index.
+ (check_section): Change .dwo suffix matching to account for
+ .debug_cu_index and .debug_tu_index.
+
2023-02-22 Mark Wielaard <mark@klomp.org>
* dwarf_getscopes.c (origin_match): Don't free a->scopes.
diff --git a/libdw/dwarf_begin_elf.c b/libdw/dwarf_begin_elf.c
index 92d76d24..323a91d0 100644
--- a/libdw/dwarf_begin_elf.c
+++ b/libdw/dwarf_begin_elf.c
@@ -67,6 +67,8 @@ static const char dwarf_scnnames[IDX_last][19] =
[IDX_debug_macro] = ".debug_macro",
[IDX_debug_ranges] = ".debug_ranges",
[IDX_debug_rnglists] = ".debug_rnglists",
+ [IDX_debug_cu_index] = ".debug_cu_index",
+ [IDX_debug_tu_index] = ".debug_tu_index",
[IDX_gnu_debugaltlink] = ".gnu_debugaltlink"
};
#define ndwarf_scnnames (sizeof (dwarf_scnnames) / sizeof (dwarf_scnnames[0]))
@@ -92,6 +94,8 @@ static const enum string_section_index scn_to_string_section_idx[IDX_last] =
[IDX_debug_macro] = STR_SCN_IDX_last,
[IDX_debug_ranges] = STR_SCN_IDX_last,
[IDX_debug_rnglists] = STR_SCN_IDX_last,
+ [IDX_debug_cu_index] = STR_SCN_IDX_last,
+ [IDX_debug_tu_index] = STR_SCN_IDX_last,
[IDX_gnu_debugaltlink] = STR_SCN_IDX_last
};
@@ -109,6 +113,11 @@ scn_dwarf_type (Dwarf *result, size_t shstrndx, Elf_Scn *scn)
{
if (startswith (scnname, ".gnu.debuglto_.debug"))
return TYPE_GNU_LTO;
+ else if (strcmp (scnname, ".debug_cu_index") == 0
+ || strcmp (scnname, ".debug_tu_index") == 0
+ || strcmp (scnname, ".zdebug_cu_index") == 0
+ || strcmp (scnname, ".zdebug_tu_index") == 0)
+ return TYPE_DWO;
else if (startswith (scnname, ".debug_") || startswith (scnname, ".zdebug_"))
{
size_t len = strlen (scnname);
@@ -173,42 +182,34 @@ check_section (Dwarf *result, size_t shstrndx, Elf_Scn *scn, bool inscngrp)
bool gnu_compressed = false;
for (cnt = 0; cnt < ndwarf_scnnames; ++cnt)
{
+ /* .debug_cu_index and .debug_tu_index don't have a .dwo suffix,
+ but they are for DWO. */
+ if (result->type != TYPE_DWO
+ && (cnt == IDX_debug_cu_index || cnt == IDX_debug_tu_index))
+ continue;
+ bool need_dot_dwo =
+ (result->type == TYPE_DWO
+ && cnt != IDX_debug_cu_index
+ && cnt != IDX_debug_tu_index);
size_t dbglen = strlen (dwarf_scnnames[cnt]);
size_t scnlen = strlen (scnname);
if (strncmp (scnname, dwarf_scnnames[cnt], dbglen) == 0
- && (dbglen == scnlen
- || (scnlen == dbglen + 4
+ && ((!need_dot_dwo && dbglen == scnlen)
+ || (need_dot_dwo
+ && scnlen == dbglen + 4
&& strstr (scnname, ".dwo") == scnname + dbglen)))
- {
- if (dbglen == scnlen)
- {
- if (result->type == TYPE_PLAIN)
- break;
- }
- else if (result->type == TYPE_DWO)
- break;
- }
+ break;
else if (scnname[0] == '.' && scnname[1] == 'z'
&& (strncmp (&scnname[2], &dwarf_scnnames[cnt][1],
dbglen - 1) == 0
- && (scnlen == dbglen + 1
- || (scnlen == dbglen + 5
+ && ((!need_dot_dwo && scnlen == dbglen + 1)
+ || (need_dot_dwo
+ && scnlen == dbglen + 5
&& strstr (scnname,
".dwo") == scnname + dbglen + 1))))
{
- if (scnlen == dbglen + 1)
- {
- if (result->type == TYPE_PLAIN)
- {
- gnu_compressed = true;
- break;
- }
- }
- else if (result->type <= TYPE_DWO)
- {
- gnu_compressed = true;
- break;
- }
+ gnu_compressed = true;
+ break;
}
else if (scnlen > 14 /* .gnu.debuglto_ prefix. */
&& startswith (scnname, ".gnu.debuglto_")
@@ -271,24 +272,27 @@ check_section (Dwarf *result, size_t shstrndx, Elf_Scn *scn, bool inscngrp)
return result;
}
-
-/* Helper function to set debugdir field. We want to cache the dir
- where we found this Dwarf ELF file to locate alt and dwo files. */
char *
-__libdw_debugdir (int fd)
+__libdw_elfpath (int fd)
{
/* strlen ("/proc/self/fd/") = 14 + strlen (<MAXINT>) = 10 + 1 = 25. */
char devfdpath[25];
sprintf (devfdpath, "/proc/self/fd/%u", fd);
- char *fdpath = realpath (devfdpath, NULL);
- char *fddir;
- if (fdpath != NULL && fdpath[0] == '/'
- && (fddir = strrchr (fdpath, '/')) != NULL)
- {
- *++fddir = '\0';
- return fdpath;
- }
- return NULL;
+ return realpath (devfdpath, NULL);
+}
+
+
+void
+__libdw_set_debugdir (Dwarf *dbg)
+{
+ if (dbg->elfpath == NULL || dbg->elfpath[0] != '/')
+ return;
+ size_t dirlen = strrchr (dbg->elfpath, '/') - dbg->elfpath + 1;
+ dbg->debugdir = malloc (dirlen + 1);
+ if (dbg->debugdir == NULL)
+ return;
+ memcpy (dbg->debugdir, dbg->elfpath, dirlen);
+ dbg->debugdir[dirlen] = '\0';
}
@@ -420,7 +424,10 @@ valid_p (Dwarf *result)
}
if (result != NULL)
- result->debugdir = __libdw_debugdir (result->elf->fildes);
+ {
+ result->elfpath = __libdw_elfpath (result->elf->fildes);
+ __libdw_set_debugdir(result);
+ }
return result;
}
diff --git a/libdw/dwarf_end.c b/libdw/dwarf_end.c
index 8dd075cf..e51d5dd7 100644
--- a/libdw/dwarf_end.c
+++ b/libdw/dwarf_end.c
@@ -144,7 +144,8 @@ dwarf_end (Dwarf *dwarf)
close (dwarf->alt_fd);
}
- /* The cached dir we found the Dwarf ELF file in. */
+ /* The cached path and dir we found the Dwarf ELF file in. */
+ free (dwarf->elfpath);
free (dwarf->debugdir);
/* Free the context descriptor. */
diff --git a/libdw/dwarf_entrypc.c b/libdw/dwarf_entrypc.c
index 0ef3b0ea..543567d4 100644
--- a/libdw/dwarf_entrypc.c
+++ b/libdw/dwarf_entrypc.c
@@ -37,12 +37,10 @@
int
dwarf_entrypc (Dwarf_Die *die, Dwarf_Addr *return_addr)
{
- Dwarf_Attribute attr_mem;
-
- return INTUSE(dwarf_formaddr) (INTUSE(dwarf_attr) (die, DW_AT_entry_pc,
- &attr_mem)
- ?: INTUSE(dwarf_attr) (die, DW_AT_low_pc,
- &attr_mem),
- return_addr);
+ Dwarf_Attribute attr_mem, *attr;
+ if ((attr = INTUSE(dwarf_attr) (die, DW_AT_entry_pc, &attr_mem)) != NULL)
+ return INTUSE(dwarf_formaddr) (attr, return_addr);
+ else
+ return INTUSE(dwarf_lowpc) (die, return_addr);
}
INTDEF(dwarf_entrypc)
diff --git a/libdw/dwarf_getaranges.c b/libdw/dwarf_getaranges.c
index de5b81ba..27439d37 100644
--- a/libdw/dwarf_getaranges.c
+++ b/libdw/dwarf_getaranges.c
@@ -1,5 +1,6 @@
/* Return list address ranges.
Copyright (C) 2000-2010, 2016, 2017 Red Hat, Inc.
+ Copyright (C) 2023 Mark J. Wielaard <mark@klomp.org>
This file is part of elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2000.
@@ -124,6 +125,10 @@ dwarf_getaranges (Dwarf *dbg, Dwarf_Aranges **aranges, size_t *naranges)
&& length <= DWARF3_LENGTH_MAX_ESCAPE_CODE))
goto invalid;
+ const unsigned char *endp = readp + length;
+ if (unlikely (endp > readendp))
+ goto invalid;
+
if (unlikely (readp + 2 > readendp))
goto invalid;
@@ -182,9 +187,17 @@ dwarf_getaranges (Dwarf *dbg, Dwarf_Aranges **aranges, size_t *naranges)
else
range_length = read_8ubyte_unaligned_inc (dbg, readp);
- /* Two zero values mark the end. */
+ /* Two zero values mark the end. But in some cases (bugs)
+ there might be such entries in the middle of the table.
+ Ignore and continue, we'll check the actual length of
+ the table to see if we are really at the end. */
if (range_address == 0 && range_length == 0)
- break;
+ {
+ if (readp >= endp)
+ break;
+ else
+ continue;
+ }
/* We don't use alloca for these temporary structures because
the total number of them can be quite large. */
diff --git a/libdw/dwarf_getmacros.c b/libdw/dwarf_getmacros.c
index fd929669..a3a78884 100644
--- a/libdw/dwarf_getmacros.c
+++ b/libdw/dwarf_getmacros.c
@@ -124,17 +124,24 @@ get_macinfo_table (Dwarf *dbg, Dwarf_Word macoff, Dwarf_Die *cudie)
= INTUSE(dwarf_attr) (cudie, DW_AT_stmt_list, &attr_mem);
Dwarf_Off line_offset = (Dwarf_Off) -1;
if (attr != NULL)
- if (unlikely (INTUSE(dwarf_formudata) (attr, &line_offset) != 0))
- return NULL;
+ {
+ if (unlikely (INTUSE(dwarf_formudata) (attr, &line_offset) != 0))
+ return NULL;
+ }
+ else if (cudie->cu->unit_type == DW_UT_split_compile
+ && dbg->sectiondata[IDX_debug_line] != NULL)
+ line_offset = 0;
Dwarf_Macro_Op_Table *table = libdw_alloc (dbg, Dwarf_Macro_Op_Table,
macinfo_data_size, 1);
memcpy (table, macinfo_data, macinfo_data_size);
+ table->dbg = dbg;
table->offset = macoff;
table->sec_index = IDX_debug_macinfo;
table->line_offset = line_offset;
- table->is_64bit = cudie->cu->address_size == 8;
+ table->address_size = cudie->cu->address_size;
+ table->offset_size = cudie->cu->offset_size;
table->comp_dir = __libdw_getcompdir (cudie);
return table;
@@ -182,6 +189,15 @@ get_table_for_offset (Dwarf *dbg, Dwarf_Word macoff,
return NULL;
}
+ uint8_t address_size;
+ if (cudie != NULL)
+ address_size = cudie->cu->address_size;
+ else
+ {
+ char *ident = elf_getident (dbg->elf, NULL);
+ address_size = ident[EI_CLASS] == ELFCLASS32 ? 4 : 8;
+ }
+
/* """The macinfo entry types defined in this standard may, but
might not, be described in the table""".
@@ -253,12 +269,14 @@ get_table_for_offset (Dwarf *dbg, Dwarf_Word macoff,
macop_table_size, 1);
*table = (Dwarf_Macro_Op_Table) {
+ .dbg = dbg,
.offset = macoff,
.sec_index = IDX_debug_macro,
.line_offset = line_offset,
.header_len = readp - startp,
.version = version,
- .is_64bit = is_64bit,
+ .address_size = address_size,
+ .offset_size = is_64bit ? 8 : 4,
/* NULL if CUDIE is NULL or DW_AT_comp_dir is absent. */
.comp_dir = __libdw_getcompdir (cudie),
@@ -368,7 +386,7 @@ read_macros (Dwarf *dbg, int sec_index,
.dbg = dbg,
.sec_idx = sec_index,
.version = table->version,
- .offset_size = table->is_64bit ? 8 : 4,
+ .offset_size = table->offset_size,
.str_off_base = str_offsets_base_off (dbg, (cudie != NULL
? cudie->cu: NULL)),
.startp = (void *) startp + offset,
diff --git a/libdw/dwarf_macro_getsrcfiles.c b/libdw/dwarf_macro_getsrcfiles.c
index 3b1794b1..11c587af 100644
--- a/libdw/dwarf_macro_getsrcfiles.c
+++ b/libdw/dwarf_macro_getsrcfiles.c
@@ -36,6 +36,9 @@ int
dwarf_macro_getsrcfiles (Dwarf *dbg, Dwarf_Macro *macro,
Dwarf_Files **files, size_t *nfiles)
{
+ /* This was needed before Dwarf_Macro_Op_Table stored the Dwarf handle. */
+ (void)dbg;
+
/* macro is declared NN */
Dwarf_Macro_Op_Table *const table = macro->table;
if (table->files == NULL)
@@ -71,9 +74,8 @@ dwarf_macro_getsrcfiles (Dwarf *dbg, Dwarf_Macro *macro,
the same unit through dwarf_getsrcfiles, and the file names
will be broken. */
- if (__libdw_getsrclines (dbg, line_offset, table->comp_dir,
- table->is_64bit ? 8 : 4,
- NULL, &table->files) < 0)
+ if (__libdw_getsrclines (table->dbg, line_offset, table->comp_dir,
+ table->address_size, NULL, &table->files) < 0)
table->files = (void *) -1;
}
diff --git a/libdw/dwarf_macro_param2.c b/libdw/dwarf_macro_param2.c
index cc902c99..f12e6f9a 100644
--- a/libdw/dwarf_macro_param2.c
+++ b/libdw/dwarf_macro_param2.c
@@ -44,12 +44,21 @@ dwarf_macro_param2 (Dwarf_Macro *macro, Dwarf_Word *paramp, const char **strp)
if (dwarf_macro_param (macro, 1, &param) != 0)
return -1;
- if (param.form == DW_FORM_string
- || param.form == DW_FORM_strp)
+ switch (param.form)
{
- *strp = dwarf_formstring (&param);
- return 0;
+ /* String forms allowed by libdw_valid_user_form. */
+ case DW_FORM_line_strp:
+ case DW_FORM_string:
+ case DW_FORM_strp:
+ case DW_FORM_strp_sup:
+ case DW_FORM_strx:
+ case DW_FORM_strx1:
+ case DW_FORM_strx2:
+ case DW_FORM_strx3:
+ case DW_FORM_strx4:
+ *strp = dwarf_formstring (&param);
+ return 0;
+ default:
+ return dwarf_formudata (&param, paramp);
}
- else
- return dwarf_formudata (&param, paramp);
}
diff --git a/libdw/dwarf_ranges.c b/libdw/dwarf_ranges.c
index 520f9ffe..b853e4b9 100644
--- a/libdw/dwarf_ranges.c
+++ b/libdw/dwarf_ranges.c
@@ -489,10 +489,10 @@ dwarf_ranges (Dwarf_Die *die, ptrdiff_t offset, Dwarf_Addr *basep,
size_t secidx = (cu->version < 5 ? IDX_debug_ranges : IDX_debug_rnglists);
const Elf_Data *d = cu->dbg->sectiondata[secidx];
- if (d == NULL && cu->unit_type == DW_UT_split_compile)
+ if (cu->unit_type == DW_UT_split_compile && (d == NULL || is_cudie (die)))
{
Dwarf_CU *skel = __libdw_find_split_unit (cu);
- if (skel != NULL)
+ if (skel != NULL && skel->dbg->sectiondata[secidx] != NULL)
{
cu = skel;
d = cu->dbg->sectiondata[secidx];
diff --git a/libdw/libdwP.h b/libdw/libdwP.h
index 5cbdc279..aef42267 100644
--- a/libdw/libdwP.h
+++ b/libdw/libdwP.h
@@ -82,6 +82,8 @@ enum
IDX_debug_macro,
IDX_debug_ranges,
IDX_debug_rnglists,
+ IDX_debug_cu_index,
+ IDX_debug_tu_index,
IDX_gnu_debugaltlink,
IDX_last
};
@@ -166,6 +168,10 @@ struct Dwarf
/* The underlying ELF file. */
Elf *elf;
+ /* The (absolute) path to the ELF file, if known. To help locating
+ dwp files. */
+ char *elfpath;
+
/* The (absolute) path to the ELF dir, if known. To help locating
alt and dwo files. */
char *debugdir;
@@ -508,6 +514,8 @@ typedef struct
/* Prototype table. */
typedef struct
{
+ Dwarf *dbg;
+
/* Offset of .debug_macro section. */
Dwarf_Off offset;
@@ -526,7 +534,8 @@ typedef struct
Dwarf_Half header_len;
uint16_t version;
- bool is_64bit;
+ uint8_t address_size;
+ uint8_t offset_size;
uint8_t sec_index; /* IDX_debug_macro or IDX_debug_macinfo. */
/* Shows where in TABLE each opcode is defined. Since opcode 0 is
@@ -1345,9 +1354,13 @@ __libdw_link_skel_split (Dwarf_CU *skel, Dwarf_CU *split)
int __libdw_addrx (Dwarf_CU *cu, Dwarf_Word idx, Dwarf_Addr *addr);
-/* Helper function to set debugdir field in Dwarf, used from dwarf_begin_elf
+/* Helper function to set elfpath field in Dwarf, used from dwarf_begin_elf
and libdwfl process_file. */
-char * __libdw_debugdir (int fd);
+char * __libdw_elfpath (int fd);
+
+/* Helper function to set debugdir field in Dwarf after elfpath field has been
+ set. */
+void __libdw_set_debugdir (Dwarf *dbg);
/* Given the directory of a debug file, an absolute or relative dir
diff --git a/libdw/libdw_find_split_unit.c b/libdw/libdw_find_split_unit.c
index a22e7bc9..533f8072 100644
--- a/libdw/libdw_find_split_unit.c
+++ b/libdw/libdw_find_split_unit.c
@@ -41,7 +41,7 @@
#include <sys/stat.h>
#include <fcntl.h>
-void
+static void
try_split_file (Dwarf_CU *cu, const char *dwo_path)
{
int split_fd = open (dwo_path, O_RDONLY);
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog
index daef2828..abbf0dfe 100644
--- a/libdwfl/ChangeLog
+++ b/libdwfl/ChangeLog
@@ -1,3 +1,16 @@
+2023-09-27 Omar Sandoval <osandov@fb.com>
+ * dwfl_module.c (__libdwfl_module_free): Free mod->elfpath instead of
+ mod->elfdir.
+ * dwfl_module_getdwarf.c (load_dw): Set mod->dw->elfpath and call
+ __libdw_set_debugdir instead of setting mod->dw->debugdir.
+ * libdwflP.h (Dwfl_Module): Replace elfdir with elfpath.
+ * offline.c (process_elf): Call __libdw_elfpath and set mod->elfpath
+ instead of mod->elfdir.
+
+2023-04-24 John Gallagher <john@gllghr.com>
+
+ * gzip.c: Fix memory leak in unzip()
+
2023-02-06 Mark Wielaard <mark@klomp.org>
* libdwfl.h: Guard debuginfod_client typedef with
diff --git a/libdwfl/dwfl_module.c b/libdwfl/dwfl_module.c
index 221d726d..c4d872d4 100644
--- a/libdwfl/dwfl_module.c
+++ b/libdwfl/dwfl_module.c
@@ -119,7 +119,7 @@ __libdwfl_module_free (Dwfl_Module *mod)
free (mod->reloc_info);
free (mod->name);
- free (mod->elfdir);
+ free (mod->elfpath);
free (mod);
}
diff --git a/libdwfl/dwfl_module_getdwarf.c b/libdwfl/dwfl_module_getdwarf.c
index 9ba499bb..6f98c02b 100644
--- a/libdwfl/dwfl_module_getdwarf.c
+++ b/libdwfl/dwfl_module_getdwarf.c
@@ -1362,11 +1362,14 @@ load_dw (Dwfl_Module *mod, struct dwfl_file *debugfile)
}
/* We might have already closed the fd when we asked dwarf_begin_elf to
- create an Dwarf. Help out a little in case we need to find an alt or
- dwo file later. */
- if (mod->dw->debugdir == NULL && mod->elfdir != NULL
+ create an Dwarf. Help out a little in case we need to find an alt,
+ dwo, or dwp file later. */
+ if (mod->dw->elfpath == NULL && mod->elfpath != NULL
&& debugfile == &mod->main)
- mod->dw->debugdir = strdup (mod->elfdir);
+ {
+ mod->dw->elfpath = strdup (mod->elfpath);
+ __libdw_set_debugdir (mod->dw);
+ }
/* Until we have iterated through all CU's, we might do lazy lookups. */
mod->lazycu = 1;
diff --git a/libdwfl/gzip.c b/libdwfl/gzip.c
index 53013be3..002afc4e 100644
--- a/libdwfl/gzip.c
+++ b/libdwfl/gzip.c
@@ -227,7 +227,7 @@ unzip (int fd, off_t start_offset,
#endif
)
/* Not a compressed file. */
- return DWFL_E_BADELF;
+ return fail (&state, DWFL_E_BADELF);
#ifdef ZSTD
/* special case for libzstd since it is slightly different from the
diff --git a/libdwfl/libdwflP.h b/libdwfl/libdwflP.h
index cdc528d0..b3dfea1d 100644
--- a/libdwfl/libdwflP.h
+++ b/libdwfl/libdwflP.h
@@ -186,7 +186,7 @@ struct Dwfl_Module
Elf_Data *symxndxdata; /* Data in the extended section index table. */
Elf_Data *aux_symxndxdata; /* Data in the extended auxiliary table. */
- char *elfdir; /* The dir where we found the main Elf. */
+ char *elfpath; /* The path where we found the main Elf. */
Dwarf *dw; /* libdw handle for its debugging info. */
Dwarf *alt; /* Dwarf used for dwarf_setalt, or NULL. */
diff --git a/libdwfl/link_map.c b/libdwfl/link_map.c
index 06d85eb6..76f23354 100644
--- a/libdwfl/link_map.c
+++ b/libdwfl/link_map.c
@@ -331,11 +331,17 @@ report_r_debug (uint_fast8_t elfclass, uint_fast8_t elfdata,
int result = 0;
/* There can't be more elements in the link_map list than there are
- segments. DWFL->lookup_elts is probably twice that number, so it
- is certainly above the upper bound. If we iterate too many times,
- there must be a loop in the pointers due to link_map clobberation. */
+ segments. A segment is created for each PT_LOAD and there can be
+ up to 5 per module (-z separate-code, tends to create four LOAD
+ segments, gold has -z text-unlikely-segment, which might result
+ in creating that number of load segments) DWFL->lookup_elts is
+ probably twice the number of modules, so that multiplied by max
+ PT_LOADs is certainly above the upper bound. If we iterate too
+ many times, there must be a loop in the pointers due to link_map
+ clobberation. */
+#define MAX_PT_LOAD 5
size_t iterations = 0;
- while (next != 0 && ++iterations < dwfl->lookup_elts)
+ while (next != 0 && ++iterations < dwfl->lookup_elts * MAX_PT_LOAD)
{
if (read_addrs (&memory_closure, elfclass, elfdata,
&buffer, &buffer_available, next, &read_vaddr,
diff --git a/libdwfl/offline.c b/libdwfl/offline.c
index e090b42b..e9ab0cc1 100644
--- a/libdwfl/offline.c
+++ b/libdwfl/offline.c
@@ -50,10 +50,11 @@ dwfl_offline_section_address (Dwfl_Module *mod,
const GElf_Shdr *shdr __attribute__ ((unused)),
Dwarf_Addr *addr)
{
- assert (mod->e_type == ET_REL);
- assert (shdr->sh_addr == 0);
- assert (shdr->sh_flags & SHF_ALLOC);
- assert (shndx != 0);
+ if (mod->e_type != ET_REL
+ || shdr->sh_addr != 0
+ || !(shdr->sh_flags & SHF_ALLOC)
+ || shndx == 0)
+ return -1;
if (mod->debug.elf == NULL)
/* We are only here because sh_addr is zero even though layout is complete.
@@ -151,9 +152,9 @@ process_elf (Dwfl *dwfl, const char *name, const char *file_name, int fd,
/* Don't keep the file descriptor around. */
if (mod->main.fd != -1 && elf_cntl (mod->main.elf, ELF_C_FDREAD) == 0)
{
- /* Grab the dir path in case we want to report this file as
+ /* Grab the path in case we want to report this file as
Dwarf later. */
- mod->elfdir = __libdw_debugdir (mod->main.fd);
+ mod->elfpath = __libdw_elfpath (mod->main.fd);
close (mod->main.fd);
mod->main.fd = -1;
}
diff --git a/libebl/eblsectiontypename.c b/libebl/eblsectiontypename.c
index 2008b95a..ade25d4a 100644
--- a/libebl/eblsectiontypename.c
+++ b/libebl/eblsectiontypename.c
@@ -61,7 +61,8 @@ ebl_section_type_name (Ebl *ebl, int section, char *buf, size_t len)
KNOWNSTYPE (FINI_ARRAY),
KNOWNSTYPE (PREINIT_ARRAY),
KNOWNSTYPE (GROUP),
- KNOWNSTYPE (SYMTAB_SHNDX)
+ KNOWNSTYPE (SYMTAB_SHNDX),
+ KNOWNSTYPE (RELR)
};
/* Handle standard names. */
diff --git a/libelf/ChangeLog b/libelf/ChangeLog
index 8cc3c53c..0e314ab6 100644
--- a/libelf/ChangeLog
+++ b/libelf/ChangeLog
@@ -1,3 +1,11 @@
+2023-09-09 Yanglin Xun <xunyanglins@gmail.com>
+
+ * libelf.h: Fix typo in comment
+
+2023-04-01 Youling Tang <tangyouling@loongson.cn>
+
+ * elf.h: Update from glibc.
+
2023-03-03 Mark Wielaard <mark@klomp.org>
* libelf.h: Define ELFCOMPRESS_ZSTD if undefined.
diff --git a/libelf/Makefile.am b/libelf/Makefile.am
index aabce43e..3402863e 100644
--- a/libelf/Makefile.am
+++ b/libelf/Makefile.am
@@ -41,7 +41,7 @@ include_HEADERS = libelf.h gelf.h nlist.h
noinst_HEADERS = abstract.h common.h exttypes.h gelf_xlate.h libelfP.h \
version_xlate.h gnuhash_xlate.h note_xlate.h dl-hash.h \
- chdr_xlate.h
+ chdr_xlate.h elf32_getchdr.h
if INSTALL_ELFH
include_HEADERS += elf.h
diff --git a/libelf/elf.h b/libelf/elf.h
index da41bad3..7b4a8fe4 100644
--- a/libelf/elf.h
+++ b/libelf/elf.h
@@ -1,5 +1,5 @@
/* This file defines standard ELF types, structures, and macros.
- Copyright (C) 1995-2022 Free Software Foundation, Inc.
+ Copyright (C) 1995-2023 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
@@ -210,7 +210,7 @@ typedef struct
#define EM_68HC12 53 /* Motorola M68HC12 */
#define EM_MMA 54 /* Fujitsu MMA Multimedia Accelerator */
#define EM_PCP 55 /* Siemens PCP */
-#define EM_NCPU 56 /* Sony nCPU embeeded RISC */
+#define EM_NCPU 56 /* Sony nCPU embedded RISC */
#define EM_NDR1 57 /* Denso NDR1 microprocessor */
#define EM_STARCORE 58 /* Motorola Start*Core processor */
#define EM_ME16 59 /* Toyota ME16 processor */
@@ -559,7 +559,7 @@ typedef struct
/* Possible bitmasks for si_flags. */
#define SYMINFO_FLG_DIRECT 0x0001 /* Direct bound symbol */
-#define SYMINFO_FLG_PASSTHRU 0x0002 /* Pass-thru symbol for translator */
+#define SYMINFO_FLG_PASSTHRU 0x0002 /* Pass-through symbol for translator */
#define SYMINFO_FLG_COPY 0x0004 /* Symbol is a copy-reloc */
#define SYMINFO_FLG_LAZYLOAD 0x0008 /* Symbol bound to object to be lazy
loaded */
@@ -728,6 +728,7 @@ typedef struct
#define PT_GNU_STACK 0x6474e551 /* Indicates stack executability */
#define PT_GNU_RELRO 0x6474e552 /* Read-only after relocation */
#define PT_GNU_PROPERTY 0x6474e553 /* GNU property */
+#define PT_GNU_SFRAME 0x6474e554 /* SFrame segment. */
#define PT_LOSUNW 0x6ffffffa
#define PT_SUNWBSS 0x6ffffffa /* Sun Specific segment */
#define PT_SUNWSTACK 0x6ffffffb /* Stack segment */
@@ -1223,6 +1224,9 @@ typedef struct
#define AT_HWCAP2 26 /* More machine-dependent hints about
processor capabilities. */
+#define AT_RSEQ_FEATURE_SIZE 27 /* rseq supported feature size. */
+#define AT_RSEQ_ALIGN 28 /* rseq allocation alignment. */
+
#define AT_EXECFN 31 /* Filename of executable. */
/* Pointer to the global system page used for system calls and other
@@ -1681,11 +1685,25 @@ typedef struct
#define EF_MIPS_PIC 2 /* Contains PIC code. */
#define EF_MIPS_CPIC 4 /* Uses PIC calling sequence. */
#define EF_MIPS_XGOT 8
-#define EF_MIPS_64BIT_WHIRL 16
+#define EF_MIPS_UCODE 16
#define EF_MIPS_ABI2 32
#define EF_MIPS_ABI_ON32 64
+#define EF_MIPS_OPTIONS_FIRST 0x00000080 /* Process the .MIPS.options
+ section first by ld. */
+#define EF_MIPS_32BITMODE 0x00000100 /* Indicates code compiled for
+ a 64-bit machine in 32-bit
+ mode (regs are 32-bits
+ wide). */
#define EF_MIPS_FP64 512 /* Uses FP64 (12 callee-saved). */
#define EF_MIPS_NAN2008 1024 /* Uses IEEE 754-2008 NaN encoding. */
+#define EF_MIPS_ARCH_ASE 0x0f000000 /* Architectural Extensions
+ used by this file. */
+#define EF_MIPS_ARCH_ASE_MDMX 0x08000000 /* Use MDMX multimedia
+ extensions. */
+#define EF_MIPS_ARCH_ASE_M16 0x04000000 /* Use MIPS-16 ISA
+ extensions. */
+#define EF_MIPS_ARCH_ASE_MICROMIPS 0x02000000 /* Use MICROMIPS ISA
+ extensions. */
#define EF_MIPS_ARCH 0xf0000000 /* MIPS architecture level. */
/* Legal values for MIPS architecture level. */
@@ -1699,6 +1717,38 @@ typedef struct
#define EF_MIPS_ARCH_64 0x60000000 /* MIPS64 code. */
#define EF_MIPS_ARCH_32R2 0x70000000 /* MIPS32r2 code. */
#define EF_MIPS_ARCH_64R2 0x80000000 /* MIPS64r2 code. */
+#define EF_MIPS_ARCH_32R6 0x90000000 /* MIPS32r6 code. */
+#define EF_MIPS_ARCH_64R6 0xa0000000 /* MIPS64r6 code. */
+#define EF_MIPS_ABI 0x0000F000 /* The ABI of the file. Also
+ see EF_MIPS_ABI2 above. */
+#define EF_MIPS_ABI_O32 0x00001000 /* The original o32 abi. */
+#define EF_MIPS_ABI_O64 0x00002000 /* O32 extended to work on
+ 64 bit architectures. */
+#define EF_MIPS_ABI_EABI32 0x00003000 /* EABI in 32 bit mode. */
+#define EF_MIPS_ABI_EABI64 0x00004000 /* EABI in 64 bit mode. */
+#define EF_MIPS_MACH 0x00FF0000
+#define EF_MIPS_MACH_3900 0x00810000
+#define EF_MIPS_MACH_4010 0x00820000
+#define EF_MIPS_MACH_4100 0x00830000
+#define EF_MIPS_MACH_ALLEGREX 0x00840000
+#define EF_MIPS_MACH_4650 0x00850000
+#define EF_MIPS_MACH_4120 0x00870000
+#define EF_MIPS_MACH_4111 0x00880000
+#define EF_MIPS_MACH_SB1 0x008a0000
+#define EF_MIPS_MACH_OCTEON 0x008b0000
+#define EF_MIPS_MACH_XLR 0x008c0000
+#define EF_MIPS_MACH_OCTEON2 0x008d0000
+#define EF_MIPS_MACH_OCTEON3 0x008e0000
+#define EF_MIPS_MACH_5400 0x00910000
+#define EF_MIPS_MACH_5900 0x00920000
+#define EF_MIPS_MACH_IAMR2 0x00930000
+#define EF_MIPS_MACH_5500 0x00980000
+#define EF_MIPS_MACH_9000 0x00990000
+#define EF_MIPS_MACH_LS2E 0x00A00000
+#define EF_MIPS_MACH_LS2F 0x00A10000
+#define EF_MIPS_MACH_GS464 0x00A20000
+#define EF_MIPS_MACH_GS464E 0x00A30000
+#define EF_MIPS_MACH_GS264E 0x00A40000
/* The following are unofficial names and should not be used. */
@@ -1759,6 +1809,7 @@ typedef struct
#define SHT_MIPS_EH_REGION 0x70000027
#define SHT_MIPS_XLATE_OLD 0x70000028
#define SHT_MIPS_PDR_EXCEPTION 0x70000029
+#define SHT_MIPS_ABIFLAGS 0x7000002a
#define SHT_MIPS_XHASH 0x7000002b
/* Legal values for sh_flags field of Elf32_Shdr. */
@@ -1927,10 +1978,68 @@ typedef struct
#define R_MIPS_TLS_TPREL_HI16 49 /* TP-relative offset, high 16 bits */
#define R_MIPS_TLS_TPREL_LO16 50 /* TP-relative offset, low 16 bits */
#define R_MIPS_GLOB_DAT 51
+#define R_MIPS_PC21_S2 60
+#define R_MIPS_PC26_S2 61
+#define R_MIPS_PC18_S3 62
+#define R_MIPS_PC19_S2 63
+#define R_MIPS_PCHI16 64
+#define R_MIPS_PCLO16 65
+#define R_MIPS16_26 100
+#define R_MIPS16_GPREL 101
+#define R_MIPS16_GOT16 102
+#define R_MIPS16_CALL16 103
+#define R_MIPS16_HI16 104
+#define R_MIPS16_LO16 105
+#define R_MIPS16_TLS_GD 106
+#define R_MIPS16_TLS_LDM 107
+#define R_MIPS16_TLS_DTPREL_HI16 108
+#define R_MIPS16_TLS_DTPREL_LO16 109
+#define R_MIPS16_TLS_GOTTPREL 110
+#define R_MIPS16_TLS_TPREL_HI16 111
+#define R_MIPS16_TLS_TPREL_LO16 112
+#define R_MIPS16_PC16_S1 113
#define R_MIPS_COPY 126
#define R_MIPS_JUMP_SLOT 127
+#define R_MIPS_RELATIVE 128
+#define R_MICROMIPS_26_S1 133
+#define R_MICROMIPS_HI16 134
+#define R_MICROMIPS_LO16 135
+#define R_MICROMIPS_GPREL16 136
+#define R_MICROMIPS_LITERAL 137
+#define R_MICROMIPS_GOT16 138
+#define R_MICROMIPS_PC7_S1 139
+#define R_MICROMIPS_PC10_S1 140
+#define R_MICROMIPS_PC16_S1 141
+#define R_MICROMIPS_CALL16 142
+#define R_MICROMIPS_GOT_DISP 145
+#define R_MICROMIPS_GOT_PAGE 146
+#define R_MICROMIPS_GOT_OFST 147
+#define R_MICROMIPS_GOT_HI16 148
+#define R_MICROMIPS_GOT_LO16 149
+#define R_MICROMIPS_SUB 150
+#define R_MICROMIPS_HIGHER 151
+#define R_MICROMIPS_HIGHEST 152
+#define R_MICROMIPS_CALL_HI16 153
+#define R_MICROMIPS_CALL_LO16 154
+#define R_MICROMIPS_SCN_DISP 155
+#define R_MICROMIPS_JALR 156
+#define R_MICROMIPS_HI0_LO16 157
+#define R_MICROMIPS_TLS_GD 162
+#define R_MICROMIPS_TLS_LDM 163
+#define R_MICROMIPS_TLS_DTPREL_HI16 164
+#define R_MICROMIPS_TLS_DTPREL_LO16 165
+#define R_MICROMIPS_TLS_GOTTPREL 166
+#define R_MICROMIPS_TLS_TPREL_HI16 169
+#define R_MICROMIPS_TLS_TPREL_LO16 170
+#define R_MICROMIPS_GPREL7_S2 172
+#define R_MICROMIPS_PC23_S2 173
+#define R_MIPS_PC32 248
+#define R_MIPS_EH 249
+#define R_MIPS_GNU_REL16_S2 250
+#define R_MIPS_GNU_VTINHERIT 253
+#define R_MIPS_GNU_VTENTRY 254
/* Keep this the last entry. */
-#define R_MIPS_NUM 128
+#define R_MIPS_NUM 255
/* Legal values for p_type field of Elf32_Phdr. */
@@ -3998,8 +4107,11 @@ enum
#define R_RISCV_SET32 56
#define R_RISCV_32_PCREL 57
#define R_RISCV_IRELATIVE 58
+#define R_RISCV_PLT32 59
+#define R_RISCV_SET_ULEB128 60
+#define R_RISCV_SUB_ULEB128 61
-#define R_RISCV_NUM 59
+#define R_RISCV_NUM 62
/* RISC-V specific values for the st_other field. */
#define STO_RISCV_VARIANT_CC 0x80 /* Function uses variant calling
@@ -4159,6 +4271,55 @@ enum
#define R_LARCH_GNU_VTINHERIT 57
#define R_LARCH_GNU_VTENTRY 58
+/* reserved 59-63 */
+
+#define R_LARCH_B16 64
+#define R_LARCH_B21 65
+#define R_LARCH_B26 66
+#define R_LARCH_ABS_HI20 67
+#define R_LARCH_ABS_LO12 68
+#define R_LARCH_ABS64_LO20 69
+#define R_LARCH_ABS64_HI12 70
+#define R_LARCH_PCALA_HI20 71
+#define R_LARCH_PCALA_LO12 72
+#define R_LARCH_PCALA64_LO20 73
+#define R_LARCH_PCALA64_HI12 74
+#define R_LARCH_GOT_PC_HI20 75
+#define R_LARCH_GOT_PC_LO12 76
+#define R_LARCH_GOT64_PC_LO20 77
+#define R_LARCH_GOT64_PC_HI12 78
+#define R_LARCH_GOT_HI20 79
+#define R_LARCH_GOT_LO12 80
+#define R_LARCH_GOT64_LO20 81
+#define R_LARCH_GOT64_HI12 82
+#define R_LARCH_TLS_LE_HI20 83
+#define R_LARCH_TLS_LE_LO12 84
+#define R_LARCH_TLS_LE64_LO20 85
+#define R_LARCH_TLS_LE64_HI12 86
+#define R_LARCH_TLS_IE_PC_HI20 87
+#define R_LARCH_TLS_IE_PC_LO12 88
+#define R_LARCH_TLS_IE64_PC_LO20 89
+#define R_LARCH_TLS_IE64_PC_HI12 90
+#define R_LARCH_TLS_IE_HI20 91
+#define R_LARCH_TLS_IE_LO12 92
+#define R_LARCH_TLS_IE64_LO20 93
+#define R_LARCH_TLS_IE64_HI12 94
+#define R_LARCH_TLS_LD_PC_HI20 95
+#define R_LARCH_TLS_LD_HI20 96
+#define R_LARCH_TLS_GD_PC_HI20 97
+#define R_LARCH_TLS_GD_HI20 98
+#define R_LARCH_32_PCREL 99
+#define R_LARCH_RELAX 100
+#define R_LARCH_DELETE 101
+#define R_LARCH_ALIGN 102
+#define R_LARCH_PCREL20_S2 103
+#define R_LARCH_CFA 104
+#define R_LARCH_ADD6 105
+#define R_LARCH_SUB6 106
+#define R_LARCH_ADD_ULEB128 107
+#define R_LARCH_SUB_ULEB128 108
+#define R_LARCH_64_PCREL 109
+
/* ARC specific declarations. */
/* Processor specific flags for the Ehdr e_flags field. */
diff --git a/libelf/elf32_getchdr.c b/libelf/elf32_getchdr.c
index 982a614c..41591300 100644
--- a/libelf/elf32_getchdr.c
+++ b/libelf/elf32_getchdr.c
@@ -38,46 +38,8 @@
# define LIBELFBITS 32
#endif
+#define ELF_WRLOCK_HELD 1
+#include "elf32_getchdr.h"
-ElfW2(LIBELFBITS,Chdr) *
-elfw2(LIBELFBITS,getchdr) (Elf_Scn *scn)
-{
- ElfW2(LIBELFBITS,Shdr) *shdr = elfw2(LIBELFBITS,getshdr) (scn);
- if (shdr == NULL)
- return NULL;
-
- /* Must have SHF_COMPRESSED flag set. Allocated or no bits sections
- can never be compressed. */
- if ((shdr->sh_flags & SHF_ALLOC) != 0)
- {
- __libelf_seterrno (ELF_E_INVALID_SECTION_FLAGS);
- return NULL;
- }
-
- if (shdr->sh_type == SHT_NULL
- || shdr->sh_type == SHT_NOBITS)
- {
- __libelf_seterrno (ELF_E_INVALID_SECTION_TYPE);
- return NULL;
- }
-
- if ((shdr->sh_flags & SHF_COMPRESSED) == 0)
- {
- __libelf_seterrno (ELF_E_NOT_COMPRESSED);
- return NULL;
- }
-
- /* This makes sure the data is in the correct format, so we don't
- need to swap fields. */
- Elf_Data *d = elf_getdata (scn, NULL);
- if (d == NULL)
- return NULL;
-
- if (d->d_size < sizeof (ElfW2(LIBELFBITS,Chdr)) || d->d_buf == NULL)
- {
- __libelf_seterrno (ELF_E_INVALID_DATA);
- return NULL;
- }
-
- return (ElfW2(LIBELFBITS,Chdr) *) d->d_buf;
-}
+#define ELF_WRLOCK_HELD 0
+#include "elf32_getchdr.h" \ No newline at end of file
diff --git a/libelf/elf32_getchdr.h b/libelf/elf32_getchdr.h
new file mode 100644
index 00000000..04d47e7a
--- /dev/null
+++ b/libelf/elf32_getchdr.h
@@ -0,0 +1,61 @@
+#undef ADD_ROUTINE_PREFIX
+#undef ADD_ROUTINE_SUFFIX
+
+#if ELF_WRLOCK_HELD
+#define CONCAT(x,y) x##y
+#define ADD_ROUTINE_PREFIX(y) CONCAT(__,y)
+#define ADD_ROUTINE_SUFFIX(x) x ## _wrlock
+#define INTERNAL internal_function
+#else
+#define ADD_ROUTINE_PREFIX(y) y
+#define ADD_ROUTINE_SUFFIX(x) x
+#define INTERNAL
+#endif
+
+ElfW2(LIBELFBITS,Chdr) *
+INTERNAL
+ADD_ROUTINE_PREFIX(elfw2(LIBELFBITS, ADD_ROUTINE_SUFFIX(getchdr))) (Elf_Scn *scn)
+{
+
+ ElfW2(LIBELFBITS,Shdr) *shdr = ADD_ROUTINE_PREFIX(elfw2(LIBELFBITS, ADD_ROUTINE_SUFFIX(getshdr)))(scn);
+
+ if (shdr == NULL)
+ return NULL;
+
+ /* Must have SHF_COMPRESSED flag set. Allocated or no bits sections
+ can never be compressed. */
+ if ((shdr->sh_flags & SHF_ALLOC) != 0)
+ {
+ __libelf_seterrno (ELF_E_INVALID_SECTION_FLAGS);
+ return NULL;
+ }
+
+ if (shdr->sh_type == SHT_NULL
+ || shdr->sh_type == SHT_NOBITS)
+ {
+ __libelf_seterrno (ELF_E_INVALID_SECTION_TYPE);
+ return NULL;
+ }
+
+ if ((shdr->sh_flags & SHF_COMPRESSED) == 0)
+ {
+ __libelf_seterrno (ELF_E_NOT_COMPRESSED);
+ return NULL;
+ }
+
+ /* This makes sure the data is in the correct format, so we don't
+ need to swap fields. */
+ Elf_Data *d = ADD_ROUTINE_PREFIX(ADD_ROUTINE_SUFFIX(elf_getdata)) (scn, NULL);
+ if (d == NULL)
+ return NULL;
+
+ if (d->d_size < sizeof (ElfW2(LIBELFBITS,Chdr)) || d->d_buf == NULL)
+ {
+ __libelf_seterrno (ELF_E_INVALID_DATA);
+ return NULL;
+ }
+
+ return (ElfW2(LIBELFBITS,Chdr) *) d->d_buf;
+}
+#undef INTERNAL
+#undef ELF_WRLOCK_HELD \ No newline at end of file
diff --git a/libelf/elf32_updatenull.c b/libelf/elf32_updatenull.c
index 6c06e5e4..3594e8ba 100644
--- a/libelf/elf32_updatenull.c
+++ b/libelf/elf32_updatenull.c
@@ -256,6 +256,9 @@ __elfw2(LIBELFBITS,updatenull_wrlock) (Elf *elf, int *change_bop, size_t shnum)
case SHT_SUNW_syminfo:
sh_entsize = elf_typesize (LIBELFBITS, ELF_T_SYMINFO, 1);
break;
+ case SHT_RELR:
+ sh_entsize = elf_typesize (LIBELFBITS, ELF_T_RELR, 1);
+ break;
default:
break;
}
@@ -404,7 +407,7 @@ __elfw2(LIBELFBITS,updatenull_wrlock) (Elf *elf, int *change_bop, size_t shnum)
else
{
ElfW2(LIBELFBITS,Chdr) *chdr;
- chdr = elfw2(LIBELFBITS,getchdr) (scn);
+ chdr = __elfw2(LIBELFBITS,getchdr_wrlock) (scn);
if (unlikely (chdr == NULL))
return -1;
sh_size = chdr->ch_size;
diff --git a/libelf/elf_compress.c b/libelf/elf_compress.c
index e3ecab32..0ad6a32a 100644
--- a/libelf/elf_compress.c
+++ b/libelf/elf_compress.c
@@ -1,5 +1,6 @@
/* Compress or decompress a section.
Copyright (C) 2015, 2016 Red Hat, Inc.
+ Copyright (C) 2023, Mark J. Wielaard <mark@klomp.org>
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
@@ -523,10 +524,20 @@ __libelf_reset_rawdata (Elf_Scn *scn, void *buf, size_t size, size_t align,
if (scn->data_base != scn->rawdata_base)
free (scn->data_base);
scn->data_base = NULL;
+ if (scn->zdata_base != buf
+ && scn->zdata_base != scn->rawdata_base)
+ {
+ free (scn->zdata_base);
+ scn->zdata_base = NULL;
+ }
if (scn->elf->map_address == NULL
|| scn->rawdata_base == scn->zdata_base
|| (scn->flags & ELF_F_MALLOCED) != 0)
- free (scn->rawdata_base);
+ {
+ free (scn->rawdata_base);
+ scn->rawdata_base = NULL;
+ scn->zdata_base = NULL;
+ }
scn->rawdata_base = buf;
scn->flags |= ELF_F_MALLOCED;
@@ -677,6 +688,7 @@ elf_compress (Elf_Scn *scn, int type, unsigned int flags)
data around, but since that might have been multiple Elf_Data
buffers let the user uncompress it explicitly again if they
want it to simplify bookkeeping. */
+ free (scn->zdata_base);
scn->zdata_base = NULL;
return 1;
diff --git a/libelf/elf_end.c b/libelf/elf_end.c
index 5c451f36..80f4d13f 100644
--- a/libelf/elf_end.c
+++ b/libelf/elf_end.c
@@ -1,5 +1,6 @@
/* Free resources associated with Elf descriptor.
Copyright (C) 1998,1999,2000,2001,2002,2004,2005,2007,2015,2016 Red Hat, Inc.
+ Copyright (C) 2023 Mark J. Wielaard <mark@klomp.org>
This file is part of elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 1998.
@@ -32,12 +33,22 @@
#endif
#include <assert.h>
+#include <search.h>
#include <stddef.h>
#include <stdlib.h>
#include "libelfP.h"
+static void
+free_chunk (void *n)
+{
+ Elf_Data_Chunk *rawchunk = (Elf_Data_Chunk *)n;
+ if (rawchunk->dummy_scn.flags & ELF_F_MALLOCED)
+ free (rawchunk->data.d.d_buf);
+ free (rawchunk);
+}
+
int
elf_end (Elf *elf)
{
@@ -71,7 +82,10 @@ elf_end (Elf *elf)
elf->state.ar.ar_sym = NULL;
if (elf->state.ar.children != NULL)
- return 0;
+ {
+ rwlock_unlock(elf->lock);
+ return 0;
+ }
}
/* Remove this structure from the children list. */
@@ -112,20 +126,13 @@ elf_end (Elf *elf)
case ELF_K_ELF:
{
- Elf_Data_Chunk *rawchunks
+ void *rawchunks
= (elf->class == ELFCLASS32
|| (offsetof (struct Elf, state.elf32.rawchunks)
== offsetof (struct Elf, state.elf64.rawchunks))
? elf->state.elf32.rawchunks
: elf->state.elf64.rawchunks);
- while (rawchunks != NULL)
- {
- Elf_Data_Chunk *next = rawchunks->next;
- if (rawchunks->dummy_scn.flags & ELF_F_MALLOCED)
- free (rawchunks->data.d.d_buf);
- free (rawchunks);
- rawchunks = next;
- }
+ tdestroy (rawchunks, free_chunk);
Elf_ScnList *list = (elf->class == ELFCLASS32
|| (offsetof (struct Elf, state.elf32.scns)
@@ -153,7 +160,10 @@ elf_end (Elf *elf)
rawdata_base. If it is already used it will be
freed below. */
if (scn->zdata_base != scn->rawdata_base)
- free (scn->zdata_base);
+ {
+ free (scn->zdata_base);
+ scn->zdata_base = NULL;
+ }
/* If the file has the same byte order and the
architecture doesn't require overly stringent
diff --git a/libelf/elf_getdata.c b/libelf/elf_getdata.c
index 5ebd270f..7c3ac043 100644
--- a/libelf/elf_getdata.c
+++ b/libelf/elf_getdata.c
@@ -582,4 +582,18 @@ elf_getdata (Elf_Scn *scn, Elf_Data *data)
return result;
}
+
+Elf_Data *
+internal_function
+__elf_getdata_wrlock (Elf_Scn *scn, Elf_Data *data)
+{
+ Elf_Data *result;
+
+ if (scn == NULL)
+ return NULL;
+
+ result = __elf_getdata_rdlock (scn, data);
+
+ return result;
+}
INTDEF(elf_getdata)
diff --git a/libelf/elf_getdata_rawchunk.c b/libelf/elf_getdata_rawchunk.c
index 5a35ccdc..05ff329c 100644
--- a/libelf/elf_getdata_rawchunk.c
+++ b/libelf/elf_getdata_rawchunk.c
@@ -1,6 +1,6 @@
/* Return converted data from raw chunk of ELF file.
Copyright (C) 2007, 2014, 2015 Red Hat, Inc.
- Copyright (C) 2022 Mark J. Wielaard <mark@klomp.org>
+ Copyright (C) 2022, 2023 Mark J. Wielaard <mark@klomp.org>
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
@@ -33,12 +33,28 @@
#include <assert.h>
#include <errno.h>
+#include <search.h>
#include <stdlib.h>
#include <string.h>
#include "libelfP.h"
#include "common.h"
+static int
+chunk_compare (const void *a, const void *b)
+{
+ Elf_Data_Chunk *da = (Elf_Data_Chunk *)a;
+ Elf_Data_Chunk *db = (Elf_Data_Chunk *)b;
+
+ if (da->offset != db->offset)
+ return da->offset - db->offset;
+
+ if (da->data.d.d_size != db->data.d.d_size)
+ return da->data.d.d_size - db->data.d.d_size;
+
+ return da->data.d.d_type - db->data.d.d_type;
+}
+
Elf_Data *
elf_getdata_rawchunk (Elf *elf, int64_t offset, size_t size, Elf_Type type)
{
@@ -75,19 +91,27 @@ elf_getdata_rawchunk (Elf *elf, int64_t offset, size_t size, Elf_Type type)
rwlock_rdlock (elf->lock);
/* Maybe we already got this chunk? */
- Elf_Data_Chunk *rawchunks = elf->state.elf.rawchunks;
- while (rawchunks != NULL)
+ Elf_Data_Chunk key;
+ key.offset = offset;
+ key.data.d.d_size = size;
+ key.data.d.d_type = type;
+ Elf_Data_Chunk **found = tsearch (&key, &elf->state.elf.rawchunks,
+ &chunk_compare);
+ if (found == NULL)
+ goto nomem;
+
+ /* Existing entry. */
+ if (*found != &key && *found != NULL)
{
- if ((rawchunks->offset == offset || size == 0)
- && rawchunks->data.d.d_size == size
- && rawchunks->data.d.d_type == type)
- {
- result = &rawchunks->data.d;
- goto out;
- }
- rawchunks = rawchunks->next;
+ result = &(*found)->data.d;
+ goto out;
}
+ /* New entry. Note that *found will point to the newly inserted
+ (dummy) key. We'll replace it with a real rawchunk when that is
+ setup. Make sure to tdelete the dummy key if anything goes
+ wrong. */
+
size_t align = __libelf_type_align (elf->class, type);
if (elf->map_address != NULL)
{
@@ -112,6 +136,7 @@ elf_getdata_rawchunk (Elf *elf, int64_t offset, size_t size, Elf_Type type)
if (rawchunk == NULL)
{
nomem:
+ tdelete (&key, &elf->state.elf.rawchunks, &chunk_compare);
__libelf_seterrno (ELF_E_NOMEM);
goto out;
}
@@ -122,6 +147,7 @@ elf_getdata_rawchunk (Elf *elf, int64_t offset, size_t size, Elf_Type type)
!= size))
{
/* Something went wrong. */
+ tdelete (&key, &elf->state.elf.rawchunks, &chunk_compare);
free (rawchunk);
__libelf_seterrno (ELF_E_READ_ERROR);
goto out;
@@ -189,8 +215,7 @@ elf_getdata_rawchunk (Elf *elf, int64_t offset, size_t size, Elf_Type type)
rwlock_unlock (elf->lock);
rwlock_wrlock (elf->lock);
- chunk->next = elf->state.elf.rawchunks;
- elf->state.elf.rawchunks = chunk;
+ *found = chunk;
result = &chunk->data.d;
out:
diff --git a/libelf/elf_newscn.c b/libelf/elf_newscn.c
index d6bdf153..ec731f75 100644
--- a/libelf/elf_newscn.c
+++ b/libelf/elf_newscn.c
@@ -94,9 +94,9 @@ elf_newscn (Elf *elf)
1
#endif
)
- newp = calloc (sizeof (Elf_ScnList)
- + ((elf->state.elf.scnincr *= 2)
- * sizeof (Elf_Scn)), 1);
+ newp = calloc (1, sizeof (Elf_ScnList)
+ + ((elf->state.elf.scnincr *= 2)
+ * sizeof (Elf_Scn)));
if (newp == NULL)
{
__libelf_seterrno (ELF_E_NOMEM);
diff --git a/libelf/elf_version.c b/libelf/elf_version.c
index 6ec534ab..8296bb65 100644
--- a/libelf/elf_version.c
+++ b/libelf/elf_version.c
@@ -32,12 +32,21 @@
#endif
#include <libelfP.h>
+#include <pthread.h>
+/* Multiple threads may initialize __libelf_version.
+ pthread_once() ensures that __libelf_version is initialized only once. */
+once_define(static, version_once);
/* Currently selected version. Should be EV_CURRENT.
Will be EV_NONE if elf_version () has not been called yet. */
unsigned int __libelf_version = EV_NONE;
+static void initialize_version(void)
+{
+ __libelf_version = EV_CURRENT;
+}
+
unsigned int
elf_version (unsigned int version)
{
@@ -49,7 +58,7 @@ elf_version (unsigned int version)
/* Phew, we know this version. */
/* Signal that the version is now initialized. */
- __libelf_version = EV_CURRENT;
+ once(version_once, initialize_version);
/* And return the last (or initial) version. */
return EV_CURRENT;
diff --git a/libelf/gelf.h b/libelf/gelf.h
index 7a3c87aa..1847021e 100644
--- a/libelf/gelf.h
+++ b/libelf/gelf.h
@@ -82,6 +82,9 @@ typedef Elf64_Rel GElf_Rel;
/* Relocation table entry with addend (in section of type SHT_RELA). */
typedef Elf64_Rela GElf_Rela;
+/* Relative relocation entry (in section of type SHT_RELR). */
+typedef Elf64_Relr GElf_Relr;
+
/* Program segment header. */
typedef Elf64_Phdr GElf_Phdr;
diff --git a/libelf/gelf_fsize.c b/libelf/gelf_fsize.c
index 493d7916..63bcbae5 100644
--- a/libelf/gelf_fsize.c
+++ b/libelf/gelf_fsize.c
@@ -69,7 +69,8 @@ const size_t __libelf_type_sizes[ELFCLASSNUM - 1][ELF_T_NUM] =
[ELF_T_LIB] = sizeof (ElfW2(LIBELFBITS, Ext_Lib)), \
[ELF_T_AUXV] = sizeof (ElfW2(LIBELFBITS, Ext_auxv_t)), \
[ELF_T_CHDR] = sizeof (ElfW2(LIBELFBITS, Ext_Chdr)), \
- [ELF_T_GNUHASH] = ELFW2(LIBELFBITS, FSZ_WORD)
+ [ELF_T_GNUHASH] = ELFW2(LIBELFBITS, FSZ_WORD), \
+ [ELF_T_RELR] = ELFW2(LIBELFBITS, FSZ_RELR)
TYPE_SIZES (32)
},
[ELFCLASS64 - 1] = {
diff --git a/libelf/gelf_xlate.c b/libelf/gelf_xlate.c
index d8ad0634..749da1a1 100644
--- a/libelf/gelf_xlate.c
+++ b/libelf/gelf_xlate.c
@@ -204,7 +204,8 @@ const xfct_t __elf_xfctstom[ELFCLASSNUM - 1][ELF_T_NUM] =
[ELF_T_MOVE] = ElfW2(Bits, cvt_Move), \
[ELF_T_LIB] = ElfW2(Bits, cvt_Lib), \
[ELF_T_AUXV] = ElfW2(Bits, cvt_auxv_t), \
- [ELF_T_CHDR] = ElfW2(Bits, cvt_chdr)
+ [ELF_T_CHDR] = ElfW2(Bits, cvt_chdr), \
+ [ELF_T_RELR] = ElfW2(Bits, cvt_Relr)
define_xfcts (32),
[ELF_T_GNUHASH] = Elf32_cvt_Word
},
diff --git a/libelf/gelf_xlate.h b/libelf/gelf_xlate.h
index 3c0e4bf6..d5511c34 100644
--- a/libelf/gelf_xlate.h
+++ b/libelf/gelf_xlate.h
@@ -36,6 +36,7 @@ FUNDAMENTAL (WORD, Word, LIBELFBITS);
FUNDAMENTAL (SWORD, Sword, LIBELFBITS);
FUNDAMENTAL (XWORD, Xword, LIBELFBITS);
FUNDAMENTAL (SXWORD, Sxword, LIBELFBITS);
+FUNDAMENTAL (RELR, Relr, LIBELFBITS);
/* The structured types. */
TYPE (Ehdr, LIBELFBITS)
diff --git a/libelf/libelf.h b/libelf/libelf.h
index 2374a48a..d3f057b4 100644
--- a/libelf/libelf.h
+++ b/libelf/libelf.h
@@ -69,6 +69,19 @@
#define ELFCOMPRESS_ZSTD 2 /* Zstandard algorithm. */
#endif
+#ifndef SHT_RELR
+ /* So RELR defines/typedefs can be used even with an old system elf.h. */
+ #define SHT_RELR 19 /* RELR relative relocations */
+
+ /* RELR relocation table entry */
+ typedef Elf32_Word Elf32_Relr;
+ typedef Elf64_Xword Elf64_Relr;
+
+ #define DT_RELRSZ 35 /* Total size of RELR relative relocations */
+ #define DT_RELR 36 /* Address of RELR relative relocations */
+ #define DT_RELRENT 37 /* Size of one RELR relative relocaction */
+#endif
+
#if __GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)
# define __nonnull_attribute__(...) __attribute__ ((__nonnull__ (__VA_ARGS__)))
# define __deprecated_attribute__ __attribute__ ((__deprecated__))
@@ -124,6 +137,7 @@ typedef enum
ELF_T_CHDR, /* Compressed, Elf32_Chdr, Elf64_Chdr, ... */
ELF_T_NHDR8, /* Special GNU Properties note. Same as Nhdr,
except padding. */
+ ELF_T_RELR, /* Relative relocation entry. */
/* Keep this the last entry. */
ELF_T_NUM
} Elf_Type;
@@ -288,7 +302,7 @@ extern Elf_Scn *elf_getscn (Elf *__elf, size_t __index);
/* Get section at OFFSET. */
extern Elf_Scn *elf32_offscn (Elf *__elf, Elf32_Off __offset);
-/* Similar bug this time the binary calls is ELFCLASS64. */
+/* Similar but this time the binary calls is ELFCLASS64. */
extern Elf_Scn *elf64_offscn (Elf *__elf, Elf64_Off __offset);
/* Get index of section. */
diff --git a/libelf/libelf.map b/libelf/libelf.map
index 10dc5059..25760bc4 100644
--- a/libelf/libelf.map
+++ b/libelf/libelf.map
@@ -50,7 +50,6 @@ ELFUTILS_1.0 {
elf_rand;
elf_rawdata;
elf_rawfile;
- elf_scncnt;
elf_strptr;
elf_update;
elf_version;
diff --git a/libelf/libelfP.h b/libelf/libelfP.h
index 6624f38a..ed061abb 100644
--- a/libelf/libelfP.h
+++ b/libelf/libelfP.h
@@ -1,5 +1,6 @@
/* Internal interfaces for libelf.
Copyright (C) 1998-2010, 2015, 2016 Red Hat, Inc.
+ Copyright (C) 2023 Mark J. Wielaard <mark@klomp.org>
This file is part of elfutils.
Contributed by Ulrich Drepper <drepper@redhat.com>, 1998.
@@ -62,6 +63,7 @@
#define ELF32_FSZ_SWORD 4
#define ELF32_FSZ_XWORD 8
#define ELF32_FSZ_SXWORD 8
+#define ELF32_FSZ_RELR 4
/* Same for 64 bits objects. */
#define ELF64_FSZ_ADDR 8
@@ -71,6 +73,7 @@
#define ELF64_FSZ_SWORD 4
#define ELF64_FSZ_XWORD 8
#define ELF64_FSZ_SXWORD 8
+#define ELF64_FSZ_RELR 8
/* This is an extension of the ELF_F_* enumeration. The values here are
@@ -262,11 +265,7 @@ typedef struct Elf_ScnList
typedef struct Elf_Data_Chunk
{
Elf_Data_Scn data;
- union
- {
- Elf_Scn dummy_scn;
- struct Elf_Data_Chunk *next;
- };
+ Elf_Scn dummy_scn;
int64_t offset; /* The original raw offset in the Elf image. */
} Elf_Data_Chunk;
@@ -324,7 +323,7 @@ struct Elf
Elf_ScnList *scns_last; /* Last element in the section list.
If NULL the data has not yet been
read from the file. */
- Elf_Data_Chunk *rawchunks; /* List of elf_getdata_rawchunk results. */
+ void *rawchunks; /* Tree of elf_getdata_rawchunk results. */
unsigned int scnincr; /* Number of sections allocate the last
time. */
int ehdr_flags; /* Flags (dirty) for ELF header. */
@@ -343,7 +342,7 @@ struct Elf
Elf_ScnList *scns_last; /* Last element in the section list.
If NULL the data has not yet been
read from the file. */
- Elf_Data_Chunk *rawchunks; /* List of elf_getdata_rawchunk results. */
+ void *rawchunks; /* Tree of elf_getdata_rawchunk results. */
unsigned int scnincr; /* Number of sections allocate the last
time. */
int ehdr_flags; /* Flags (dirty) for ELF header. */
@@ -368,7 +367,7 @@ struct Elf
Elf_ScnList *scns_last; /* Last element in the section list.
If NULL the data has not yet been
read from the file. */
- Elf_Data_Chunk *rawchunks; /* List of elf_getdata_rawchunk results. */
+ void *rawchunks; /* Tree of elf_getdata_rawchunk results. */
unsigned int scnincr; /* Number of sections allocate the last
time. */
int ehdr_flags; /* Flags (dirty) for ELF header. */
@@ -515,6 +514,8 @@ extern Elf32_Shdr *__elf32_getshdr_rdlock (Elf_Scn *__scn) internal_function;
extern Elf64_Shdr *__elf64_getshdr_rdlock (Elf_Scn *__scn) internal_function;
extern Elf32_Shdr *__elf32_getshdr_wrlock (Elf_Scn *__scn) internal_function;
extern Elf64_Shdr *__elf64_getshdr_wrlock (Elf_Scn *__scn) internal_function;
+extern Elf32_Chdr *__elf32_getchdr_wrlock (Elf_Scn *__scn) internal_function;
+extern Elf64_Chdr *__elf64_getchdr_wrlock (Elf_Scn *__scn) internal_function;
extern Elf_Scn *__elf_getscn_internal (Elf *__elf, size_t __index)
attribute_hidden;
extern Elf_Scn *__elf_nextscn_internal (Elf *__elf, Elf_Scn *__scn)
@@ -524,6 +525,8 @@ extern Elf_Data *__elf_getdata_internal (Elf_Scn *__scn, Elf_Data *__data)
attribute_hidden;
extern Elf_Data *__elf_getdata_rdlock (Elf_Scn *__scn, Elf_Data *__data)
internal_function;
+extern Elf_Data *__elf_getdata_wrlock (Elf_Scn *__scn, Elf_Data *__data)
+ internal_function;
extern Elf_Data *__elf_rawdata_internal (Elf_Scn *__scn, Elf_Data *__data)
attribute_hidden;
/* Should be called to setup first section data element if
diff --git a/patches/libdw-ignore-really-large-discriminator.patch b/patches/libdw-ignore-really-large-discriminator.patch
deleted file mode 100644
index d18b7e98..00000000
--- a/patches/libdw-ignore-really-large-discriminator.patch
+++ /dev/null
@@ -1,47 +0,0 @@
-From 6583a5497fb60496ae7f9df9907be1248a339360 Mon Sep 17 00:00:00 2001
-From: Mark Wielaard <mark@klomp.org>
-Date: Thu, 26 Oct 2023 16:49:08 +0200
-Subject: [PATCH] libdw: ignore really large discriminator
-
-llvm can create really large discriminator values. We used to flag those
-as invalid when the value wouldn't fit in 24 bits. Just truncate the value.
-
- * libdw/dwarf_getsrclines.c (add_new_line): Define SETX.
- Use SETX to set discriminator.
-
-https://sourceware.org/bugzilla/show_bug.cgi?id=30967
-
-Signed-off-by: Mark Wielaard <mark@klomp.org>
----
- libdw/dwarf_getsrclines.c | 8 +++++++-
- 1 file changed, 7 insertions(+), 1 deletion(-)
-
-diff --git a/libdw/dwarf_getsrclines.c b/libdw/dwarf_getsrclines.c
-index df003c5f..69e10c7b 100644
---- a/libdw/dwarf_getsrclines.c
-+++ b/libdw/dwarf_getsrclines.c
-@@ -129,6 +129,12 @@ add_new_line (struct line_state *state, struct linelist *new_line)
- return true; \
- } while (0)
-
-+ /* Same as above, but don't flag as "invalid" just use truncated
-+ value. Used for discriminator for which llvm might use a value
-+ that won't fit 24 bits. */
-+#define SETX(field) \
-+ new_line->line.field = state->field; \
-+
- SET (addr);
- SET (op_index);
- SET (file);
-@@ -140,7 +146,7 @@ add_new_line (struct line_state *state, struct linelist *new_line)
- SET (prologue_end);
- SET (epilogue_begin);
- SET (isa);
-- SET (discriminator);
-+ SETX (discriminator);
- SET (context);
- SET (function_name);
-
---
-2.42.0.869.gea05f2083d-goog
-
diff --git a/po/de.po b/po/de.po
index 1e552484..47acd743 100644
--- a/po/de.po
+++ b/po/de.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: elfutils\n"
"Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n"
-"POT-Creation-Date: 2023-03-03 16:09+0100\n"
+"POT-Creation-Date: 2023-11-03 17:36+0100\n"
"PO-Revision-Date: 2009-06-29 15:15+0200\n"
"Last-Translator: Michael Münch <micm@fedoraproject.org>\n"
"Language-Team: German\n"
@@ -49,7 +49,7 @@ msgstr ""
"GARANTIE,\n"
"auch nicht für Marktgängigkeit oder Eignung für einen Bestimmten Zweck.\n"
-#: lib/xmalloc.c:47 lib/xmalloc.c:60 lib/xmalloc.c:72 src/readelf.c:11793
+#: lib/xmalloc.c:47 lib/xmalloc.c:60 lib/xmalloc.c:72 src/readelf.c:12202
#: src/unstrip.c:311
#, c-format
msgid "memory exhausted"
@@ -553,7 +553,7 @@ msgstr "Kein Backend"
#: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:79
#: libebl/eblobjnotetypename.c:113 libebl/eblobjnotetypename.c:134
#: libebl/eblosabiname.c:73 libebl/eblsectionname.c:83
-#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:81
+#: libebl/eblsectiontypename.c:116 libebl/eblsegmenttypename.c:81
msgid "<unknown>"
msgstr "<Unbekannt>"
@@ -647,7 +647,7 @@ msgstr "ungültige Grösse des Quell-Operanden"
msgid "invalid size of destination operand"
msgstr "ungültige Grösse des Ziel-Operanden"
-#: libelf/elf_error.c:86 src/readelf.c:6415
+#: libelf/elf_error.c:86 src/readelf.c:6758
#, c-format
msgid "invalid encoding"
msgstr "ungültige Kodierung"
@@ -735,8 +735,8 @@ msgstr "data/scn Unterschied"
msgid "invalid section header"
msgstr "ungültiger Abschnitts-Header"
-#: libelf/elf_error.c:190 src/readelf.c:10294 src/readelf.c:10899
-#: src/readelf.c:11000 src/readelf.c:11188
+#: libelf/elf_error.c:190 src/readelf.c:10637 src/readelf.c:11242
+#: src/readelf.c:11343 src/readelf.c:11531
#, c-format
msgid "invalid data"
msgstr "Ungültige Daten"
@@ -1392,8 +1392,8 @@ msgid "Suppress some error output (counterpart to --verbose)"
msgstr ""
#. Strings for arguments in help texts.
-#: src/elfclassify.c:979 src/elfcompress.c:1433 src/elflint.c:76
-#: src/readelf.c:160
+#: src/elfclassify.c:979 src/elfcompress.c:1436 src/elflint.c:77
+#: src/readelf.c:161
msgid "FILE..."
msgstr "DATEI..."
@@ -1680,21 +1680,21 @@ msgid "unknown compression type '%s'"
msgstr "unbekannter Typ"
#. We need at least one input file.
-#: src/elfcompress.c:162 src/elfcompress.c:1444
+#: src/elfcompress.c:162 src/elfcompress.c:1447
#, fuzzy, c-format
msgid "No input file given"
msgstr "Eingabedatei '%s' ignoriert"
-#: src/elfcompress.c:168 src/elfcompress.c:1448
+#: src/elfcompress.c:168 src/elfcompress.c:1451
#, c-format
msgid "Only one input file allowed together with '-o'"
msgstr ""
-#: src/elfcompress.c:1405
+#: src/elfcompress.c:1408
msgid "Place (de)compressed output into FILE"
msgstr ""
-#: src/elfcompress.c:1408
+#: src/elfcompress.c:1411
msgid ""
"What type of compression to apply. TYPE can be 'none' (decompress), "
"'zlib' (ELF ZLIB compression, the default, 'zlib-gabi' is an alias), 'zlib-"
@@ -1702,297 +1702,297 @@ msgid ""
"compression)"
msgstr ""
-#: src/elfcompress.c:1412
+#: src/elfcompress.c:1415
msgid ""
"SECTION name to (de)compress, SECTION is an extended wildcard pattern "
"(defaults to '.?(z)debug*')"
msgstr ""
-#: src/elfcompress.c:1415
+#: src/elfcompress.c:1418
msgid "Print a message for each section being (de)compressed"
msgstr ""
-#: src/elfcompress.c:1418
+#: src/elfcompress.c:1421
msgid ""
"Force compression of section even if it would become larger or update/"
"rewrite the file even if no section would be (de)compressed"
msgstr ""
-#: src/elfcompress.c:1421 src/strip.c:92
+#: src/elfcompress.c:1424 src/strip.c:92
msgid "Relax a few rules to handle slightly broken ELF files"
msgstr ""
-#: src/elfcompress.c:1424
+#: src/elfcompress.c:1427
#, fuzzy
msgid "Be silent when a section cannot be compressed"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/elfcompress.c:1434
+#: src/elfcompress.c:1437
msgid "Compress or decompress sections in an ELF file."
msgstr ""
-#: src/elflint.c:62
+#: src/elflint.c:63
msgid "Be extremely strict, flag level 2 features."
msgstr ""
-#: src/elflint.c:63
+#: src/elflint.c:64
msgid "Do not print anything if successful"
msgstr "Gebe nichts aus, wenn erfolgreich"
-#: src/elflint.c:64
+#: src/elflint.c:65
msgid "Binary is a separate debuginfo file"
msgstr ""
-#: src/elflint.c:66
+#: src/elflint.c:67
msgid ""
"Binary has been created with GNU ld and is therefore known to be broken in "
"certain ways"
msgstr ""
#. Short description of program.
-#: src/elflint.c:72
+#: src/elflint.c:73
msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
msgstr ""
-#: src/elflint.c:153 src/readelf.c:391
+#: src/elflint.c:154 src/readelf.c:413
#, fuzzy, c-format
msgid "cannot open input file '%s'"
msgstr "Kann Eingabedatei nicht öffnen"
-#: src/elflint.c:160
+#: src/elflint.c:161
#, fuzzy, c-format
msgid "cannot generate Elf descriptor for '%s': %s\n"
msgstr "kann Elf-Deskriptor nicht erzeugen: %s\n"
-#: src/elflint.c:179
+#: src/elflint.c:180
#, c-format
msgid "error while closing Elf descriptor: %s\n"
msgstr "Fehler beim Schliessen des Elf-Desktriptor: %s\n"
-#: src/elflint.c:183
+#: src/elflint.c:184
msgid "No errors"
msgstr "Keine Fehler"
-#: src/elflint.c:218 src/readelf.c:603
+#: src/elflint.c:219 src/readelf.c:625
msgid "Missing file name.\n"
msgstr "Dateiname fehlt.\n"
-#: src/elflint.c:283
+#: src/elflint.c:284
#, c-format
msgid " error while freeing sub-ELF descriptor: %s\n"
msgstr ""
#. We cannot do anything.
-#: src/elflint.c:291
+#: src/elflint.c:292
#, fuzzy, c-format
msgid "Not an ELF file - it has the wrong magic bytes at the start\n"
msgstr "Keine ELF-Datei - sie hat die falschen Magic Bytes am Anfang\n"
-#: src/elflint.c:357
+#: src/elflint.c:358
#, c-format
msgid "e_ident[%d] == %d is no known class\n"
msgstr ""
-#: src/elflint.c:362
+#: src/elflint.c:363
#, c-format
msgid "e_ident[%d] == %d is no known data encoding\n"
msgstr ""
-#: src/elflint.c:366
+#: src/elflint.c:367
#, c-format
msgid "unknown ELF header version number e_ident[%d] == %d\n"
msgstr ""
-#: src/elflint.c:374
+#: src/elflint.c:375
#, c-format
msgid "unsupported OS ABI e_ident[%d] == '%s'\n"
msgstr ""
-#: src/elflint.c:380
+#: src/elflint.c:381
#, c-format
msgid "unsupported ABI version e_ident[%d] == %d\n"
msgstr ""
-#: src/elflint.c:385
+#: src/elflint.c:386
#, c-format
msgid "e_ident[%zu] is not zero\n"
msgstr "e_ident[%zu] ist nicht null\n"
-#: src/elflint.c:390
+#: src/elflint.c:391
#, c-format
msgid "unknown object file type %d\n"
msgstr ""
-#: src/elflint.c:397
+#: src/elflint.c:398
#, c-format
msgid "unknown machine type %d\n"
msgstr ""
-#: src/elflint.c:401
+#: src/elflint.c:402
#, c-format
msgid "unknown object file version\n"
msgstr ""
-#: src/elflint.c:407
+#: src/elflint.c:408
#, c-format
msgid "invalid program header offset\n"
msgstr ""
-#: src/elflint.c:409
+#: src/elflint.c:410
#, c-format
msgid "executables and DSOs cannot have zero program header offset\n"
msgstr ""
-#: src/elflint.c:413
+#: src/elflint.c:414
#, c-format
msgid "invalid number of program header entries\n"
msgstr ""
-#: src/elflint.c:421
+#: src/elflint.c:422
#, c-format
msgid "invalid section header table offset\n"
msgstr ""
-#: src/elflint.c:424
+#: src/elflint.c:425
#, c-format
msgid "section header table must be present\n"
msgstr ""
-#: src/elflint.c:438
+#: src/elflint.c:439
#, c-format
msgid "invalid number of section header table entries\n"
msgstr ""
-#: src/elflint.c:455
+#: src/elflint.c:456
#, c-format
msgid "invalid section header index\n"
msgstr ""
-#: src/elflint.c:473
+#: src/elflint.c:474
#, c-format
msgid "Can only check %u headers, shnum was %u\n"
msgstr ""
-#: src/elflint.c:487
+#: src/elflint.c:488
#, fuzzy, c-format
msgid "invalid number of program header table entries\n"
msgstr "Ungültige Anzahl von Parametern.\n"
-#: src/elflint.c:504
+#: src/elflint.c:505
#, c-format
msgid "Can only check %u headers, phnum was %u\n"
msgstr ""
-#: src/elflint.c:509
+#: src/elflint.c:510
#, c-format
msgid "invalid machine flags: %s\n"
msgstr ""
-#: src/elflint.c:516 src/elflint.c:533
+#: src/elflint.c:517 src/elflint.c:534
#, c-format
msgid "invalid ELF header size: %hd\n"
msgstr ""
-#: src/elflint.c:519 src/elflint.c:536
+#: src/elflint.c:520 src/elflint.c:537
#, c-format
msgid "invalid program header size: %hd\n"
msgstr ""
-#: src/elflint.c:522 src/elflint.c:539
+#: src/elflint.c:523 src/elflint.c:540
#, c-format
msgid "invalid program header position or size\n"
msgstr ""
-#: src/elflint.c:525 src/elflint.c:542
+#: src/elflint.c:526 src/elflint.c:543
#, c-format
msgid "invalid section header size: %hd\n"
msgstr ""
-#: src/elflint.c:528 src/elflint.c:545
+#: src/elflint.c:529 src/elflint.c:546
#, c-format
msgid "invalid section header position or size\n"
msgstr ""
-#: src/elflint.c:590
+#: src/elflint.c:591
#, c-format
msgid ""
"section [%2d] '%s': section with SHF_GROUP flag set not part of a section "
"group\n"
msgstr ""
-#: src/elflint.c:594
+#: src/elflint.c:595
#, c-format
msgid ""
"section [%2d] '%s': section group [%2zu] '%s' does not precede group member\n"
msgstr ""
-#: src/elflint.c:610 src/elflint.c:1498 src/elflint.c:1549 src/elflint.c:1655
-#: src/elflint.c:1991 src/elflint.c:2317 src/elflint.c:2943 src/elflint.c:3106
-#: src/elflint.c:3254 src/elflint.c:3456 src/elflint.c:4468
+#: src/elflint.c:611 src/elflint.c:1509 src/elflint.c:1560 src/elflint.c:1610
+#: src/elflint.c:1692 src/elflint.c:2029 src/elflint.c:2355 src/elflint.c:2981
+#: src/elflint.c:3144 src/elflint.c:3292 src/elflint.c:3494 src/elflint.c:4511
#, c-format
msgid "section [%2d] '%s': cannot get section data\n"
msgstr ""
-#: src/elflint.c:623 src/elflint.c:1662
+#: src/elflint.c:624 src/elflint.c:1699
#, c-format
msgid ""
"section [%2d] '%s': referenced as string table for section [%2d] '%s' but "
"type is not SHT_STRTAB\n"
msgstr ""
-#: src/elflint.c:646
+#: src/elflint.c:647
#, c-format
msgid ""
"section [%2d] '%s': symbol table cannot have more than one extended index "
"section\n"
msgstr ""
-#: src/elflint.c:658
+#: src/elflint.c:659
#, c-format
msgid "section [%2u] '%s': entry size is does not match ElfXX_Sym\n"
msgstr ""
-#: src/elflint.c:662
+#: src/elflint.c:663
#, c-format
msgid ""
"section [%2u] '%s': number of local entries in 'st_info' larger than table "
"size\n"
msgstr ""
-#: src/elflint.c:671
+#: src/elflint.c:672
#, c-format
msgid "section [%2d] '%s': cannot get symbol %d: %s\n"
msgstr ""
-#: src/elflint.c:676 src/elflint.c:679 src/elflint.c:682 src/elflint.c:685
-#: src/elflint.c:688 src/elflint.c:691
+#: src/elflint.c:677 src/elflint.c:680 src/elflint.c:683 src/elflint.c:686
+#: src/elflint.c:689 src/elflint.c:692
#, c-format
msgid "section [%2d] '%s': '%s' in zeroth entry not zero\n"
msgstr ""
-#: src/elflint.c:694
+#: src/elflint.c:695
#, c-format
msgid "section [%2d] '%s': XINDEX for zeroth entry not zero\n"
msgstr ""
-#: src/elflint.c:704
+#: src/elflint.c:705
#, c-format
msgid "section [%2d] '%s': cannot get symbol %zu: %s\n"
msgstr ""
-#: src/elflint.c:713
+#: src/elflint.c:714
#, c-format
msgid "section [%2d] '%s': symbol %zu: invalid name value\n"
msgstr ""
-#: src/elflint.c:728
+#: src/elflint.c:729
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): too large section index but no extended "
"section index section\n"
msgstr ""
-#: src/elflint.c:734
+#: src/elflint.c:735
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): XINDEX used for index which would fit "
@@ -2000,119 +2000,119 @@ msgid ""
msgstr ""
#. || sym->st_shndx > SHN_HIRESERVE always false
-#: src/elflint.c:746
+#: src/elflint.c:747
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): invalid section index\n"
msgstr "ungültiger Abschnittsindex"
-#: src/elflint.c:754
+#: src/elflint.c:755
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unknown type\n"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/elflint.c:760
+#: src/elflint.c:761
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unknown symbol binding\n"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/elflint.c:765
+#: src/elflint.c:766
#, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unique symbol not of object type\n"
msgstr ""
-#: src/elflint.c:773
+#: src/elflint.c:774
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): COMMON only allowed in relocatable "
"files\n"
msgstr ""
-#: src/elflint.c:777
+#: src/elflint.c:778
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): local COMMON symbols are nonsense\n"
msgstr ""
-#: src/elflint.c:781
+#: src/elflint.c:782
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): function in COMMON section is nonsense\n"
msgstr ""
-#: src/elflint.c:832
+#: src/elflint.c:833
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): st_value out of bounds\n"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/elflint.c:838 src/elflint.c:863 src/elflint.c:912
+#: src/elflint.c:839 src/elflint.c:864 src/elflint.c:913
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s) does not fit completely in referenced "
"section [%2d] '%s'\n"
msgstr ""
-#: src/elflint.c:847
+#: src/elflint.c:848
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): referenced section [%2d] '%s' does not "
"have SHF_TLS flag set\n"
msgstr ""
-#: src/elflint.c:857 src/elflint.c:905
+#: src/elflint.c:858 src/elflint.c:906
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): st_value out of bounds of referenced "
"section [%2d] '%s'\n"
msgstr ""
-#: src/elflint.c:884
+#: src/elflint.c:885
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): TLS symbol but no TLS program header "
"entry\n"
msgstr ""
-#: src/elflint.c:890
+#: src/elflint.c:891
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): TLS symbol but couldn't get TLS program "
"header entry\n"
msgstr ""
-#: src/elflint.c:898
+#: src/elflint.c:899
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): st_value short of referenced section "
"[%2d] '%s'\n"
msgstr ""
-#: src/elflint.c:925
+#: src/elflint.c:926
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): local symbol outside range described in "
"sh_info\n"
msgstr ""
-#: src/elflint.c:932
+#: src/elflint.c:933
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): non-local symbol outside range "
"described in sh_info\n"
msgstr ""
-#: src/elflint.c:939
+#: src/elflint.c:940
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): non-local section symbol\n"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/elflint.c:989
+#: src/elflint.c:990
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section "
"[%2d]\n"
msgstr ""
-#: src/elflint.c:996
+#: src/elflint.c:997
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] "
@@ -2122,1372 +2122,1367 @@ msgstr ""
#. This test is more strict than the psABIs which
#. usually allow the symbol to be in the middle of
#. the .got section, allowing negative offsets.
-#: src/elflint.c:1012
+#: src/elflint.c:1013
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
"match %s section address %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:1019
+#: src/elflint.c:1020
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
"match %s section size %<PRIu64>\n"
msgstr ""
-#: src/elflint.c:1027
+#: src/elflint.c:1028
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
"section\n"
msgstr ""
-#: src/elflint.c:1043
+#: src/elflint.c:1044
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
"segment address %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:1050
+#: src/elflint.c:1051
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
"segment size %<PRIu64>\n"
msgstr ""
-#: src/elflint.c:1063
+#: src/elflint.c:1064
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): symbol in dynamic symbol table with non-"
"default visibility\n"
msgstr ""
-#: src/elflint.c:1067
+#: src/elflint.c:1068
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unknown bit set in st_other\n"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/elflint.c:1105
+#: src/elflint.c:1106
#, fuzzy, c-format
msgid "section [%2d] '%s': cannot get section data.\n"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/elflint.c:1121
+#: src/elflint.c:1122
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
msgstr ""
-#: src/elflint.c:1132 src/elflint.c:1185
+#: src/elflint.c:1133 src/elflint.c:1186
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
msgstr ""
-#: src/elflint.c:1157 src/elflint.c:1210
+#: src/elflint.c:1158 src/elflint.c:1211
#, c-format
msgid ""
"section [%2d] '%s': relative relocations after index %d as specified by "
"DT_RELCOUNT\n"
msgstr ""
-#: src/elflint.c:1163 src/elflint.c:1216
+#: src/elflint.c:1164 src/elflint.c:1217
#, c-format
msgid ""
"section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
"specified %d relative relocations\n"
msgstr ""
-#: src/elflint.c:1175
+#: src/elflint.c:1176
#, c-format
msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
msgstr ""
-#: src/elflint.c:1258
+#: src/elflint.c:1259
#, c-format
msgid "section [%2d] '%s': invalid destination section index\n"
msgstr ""
-#: src/elflint.c:1270
+#: src/elflint.c:1271
#, c-format
msgid "section [%2d] '%s': invalid destination section type\n"
msgstr ""
-#: src/elflint.c:1278
+#: src/elflint.c:1279
#, c-format
msgid "section [%2d] '%s': sh_info should be zero\n"
msgstr ""
-#: src/elflint.c:1286
+#: src/elflint.c:1287
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': no relocations for merge-able string sections possible\n"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/elflint.c:1294
-#, c-format
-msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
-msgstr ""
-
-#: src/elflint.c:1354
+#: src/elflint.c:1365
#, c-format
msgid "text relocation flag set but there is no read-only segment\n"
msgstr ""
-#: src/elflint.c:1381
+#: src/elflint.c:1392
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid type\n"
msgstr ""
-#: src/elflint.c:1389
+#: src/elflint.c:1400
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: relocation type invalid for the file "
"type\n"
msgstr ""
-#: src/elflint.c:1397
+#: src/elflint.c:1408
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
msgstr ""
-#: src/elflint.c:1415
+#: src/elflint.c:1426
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
"be used with %s\n"
msgstr ""
-#: src/elflint.c:1432
+#: src/elflint.c:1443
#, c-format
msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
msgstr ""
-#: src/elflint.c:1447
+#: src/elflint.c:1458
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: copy relocation against symbol of type "
"%s\n"
msgstr ""
-#: src/elflint.c:1468
+#: src/elflint.c:1479
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: read-only section modified but text "
"relocation flag not set\n"
msgstr ""
-#: src/elflint.c:1483
+#: src/elflint.c:1494
#, c-format
msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
msgstr ""
-#: src/elflint.c:1523 src/elflint.c:1574
+#: src/elflint.c:1534 src/elflint.c:1585
#, c-format
msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
msgstr ""
-#: src/elflint.c:1650
+#: src/elflint.c:1687
#, c-format
msgid "more than one dynamic section present\n"
msgstr ""
-#: src/elflint.c:1668
+#: src/elflint.c:1705
#, c-format
msgid ""
"section [%2d]: referenced as string table for section [%2d] '%s' but section "
"link value is invalid\n"
msgstr ""
-#: src/elflint.c:1676
+#: src/elflint.c:1713
#, c-format
msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
msgstr ""
-#: src/elflint.c:1681 src/elflint.c:1970
+#: src/elflint.c:1718 src/elflint.c:2008
#, c-format
msgid "section [%2d] '%s': sh_info not zero\n"
msgstr ""
-#: src/elflint.c:1691
+#: src/elflint.c:1728
#, c-format
msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
msgstr ""
-#: src/elflint.c:1699
+#: src/elflint.c:1736
#, c-format
msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
msgstr ""
-#: src/elflint.c:1706
+#: src/elflint.c:1743
#, c-format
msgid "section [%2d] '%s': entry %zu: unknown tag\n"
msgstr ""
-#: src/elflint.c:1717
+#: src/elflint.c:1754
#, c-format
msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
msgstr ""
-#: src/elflint.c:1727
+#: src/elflint.c:1764
#, c-format
msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
msgstr ""
-#: src/elflint.c:1745
+#: src/elflint.c:1782
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
msgstr ""
-#: src/elflint.c:1758
+#: src/elflint.c:1795
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: pointer does not match address of section "
"[%2d] '%s' referenced by sh_link\n"
msgstr ""
-#: src/elflint.c:1801
+#: src/elflint.c:1839
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
msgstr ""
-#: src/elflint.c:1816
+#: src/elflint.c:1854
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must be valid offset in section "
"[%2d] '%s'\n"
msgstr ""
-#: src/elflint.c:1836 src/elflint.c:1864
+#: src/elflint.c:1874 src/elflint.c:1902
#, c-format
msgid "section [%2d] '%s': contains %s entry but not %s\n"
msgstr ""
-#: src/elflint.c:1848
+#: src/elflint.c:1886
#, c-format
msgid "section [%2d] '%s': mandatory tag %s not present\n"
msgstr ""
-#: src/elflint.c:1857
+#: src/elflint.c:1895
#, c-format
msgid "section [%2d] '%s': no hash section present\n"
msgstr ""
-#: src/elflint.c:1872 src/elflint.c:1879
+#: src/elflint.c:1910 src/elflint.c:1917
#, c-format
msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
msgstr ""
-#: src/elflint.c:1889 src/elflint.c:1893
+#: src/elflint.c:1927 src/elflint.c:1931
#, c-format
msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
msgstr ""
-#: src/elflint.c:1899
+#: src/elflint.c:1937
#, c-format
msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
msgstr ""
-#: src/elflint.c:1910 src/elflint.c:1914 src/elflint.c:1918 src/elflint.c:1922
+#: src/elflint.c:1948 src/elflint.c:1952 src/elflint.c:1956 src/elflint.c:1960
#, c-format
msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
msgstr ""
-#: src/elflint.c:1934
+#: src/elflint.c:1972
#, c-format
msgid ""
"section [%2d] '%s': only relocatable files can have extended section index\n"
msgstr ""
-#: src/elflint.c:1944
+#: src/elflint.c:1982
#, c-format
msgid ""
"section [%2d] '%s': extended section index section not for symbol table\n"
msgstr ""
-#: src/elflint.c:1948
+#: src/elflint.c:1986
#, c-format
msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n"
msgstr ""
-#: src/elflint.c:1953
+#: src/elflint.c:1991
#, c-format
msgid "cannot get data for symbol section\n"
msgstr ""
-#: src/elflint.c:1956
+#: src/elflint.c:1994
#, c-format
msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
msgstr ""
-#: src/elflint.c:1965
+#: src/elflint.c:2003
#, c-format
msgid "section [%2d] '%s': extended index table too small for symbol table\n"
msgstr ""
-#: src/elflint.c:1980
+#: src/elflint.c:2018
#, c-format
msgid ""
"section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
"same symbol table\n"
msgstr ""
-#: src/elflint.c:1998
+#: src/elflint.c:2036
#, c-format
msgid "symbol 0 should have zero extended section index\n"
msgstr ""
-#: src/elflint.c:2010
+#: src/elflint.c:2048
#, c-format
msgid "cannot get data for symbol %zu\n"
msgstr ""
-#: src/elflint.c:2015
+#: src/elflint.c:2053
#, c-format
msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
msgstr ""
-#: src/elflint.c:2032 src/elflint.c:2089
+#: src/elflint.c:2070 src/elflint.c:2127
#, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
msgstr ""
-#: src/elflint.c:2046 src/elflint.c:2103
+#: src/elflint.c:2084 src/elflint.c:2141
#, c-format
msgid "section [%2d] '%s': chain array too large\n"
msgstr ""
-#: src/elflint.c:2060 src/elflint.c:2117
+#: src/elflint.c:2098 src/elflint.c:2155
#, c-format
msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
msgstr ""
-#: src/elflint.c:2070
+#: src/elflint.c:2108
#, c-format
msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
msgstr ""
-#: src/elflint.c:2127
+#: src/elflint.c:2165
#, c-format
msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
msgstr ""
-#: src/elflint.c:2140
+#: src/elflint.c:2178
#, c-format
msgid "section [%2d] '%s': not enough data\n"
msgstr ""
-#: src/elflint.c:2152
+#: src/elflint.c:2190
#, c-format
msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n"
msgstr ""
-#: src/elflint.c:2168
+#: src/elflint.c:2206
#, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected at "
"least %ld)\n"
msgstr ""
-#: src/elflint.c:2177
+#: src/elflint.c:2215
#, c-format
msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
msgstr ""
-#: src/elflint.c:2211
+#: src/elflint.c:2249
#, c-format
msgid ""
"section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
msgstr ""
-#: src/elflint.c:2232
+#: src/elflint.c:2270
#, c-format
msgid ""
"section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
"undefined\n"
msgstr ""
-#: src/elflint.c:2245
+#: src/elflint.c:2283
#, c-format
msgid ""
"section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
msgstr ""
-#: src/elflint.c:2254
+#: src/elflint.c:2292
#, c-format
msgid ""
"section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n"
msgstr ""
-#: src/elflint.c:2284
+#: src/elflint.c:2322
#, c-format
msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
msgstr ""
-#: src/elflint.c:2289
+#: src/elflint.c:2327
#, c-format
msgid ""
"section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
msgstr ""
-#: src/elflint.c:2295
+#: src/elflint.c:2333
#, c-format
msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
msgstr ""
-#: src/elflint.c:2308
+#: src/elflint.c:2346
#, c-format
msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
msgstr ""
-#: src/elflint.c:2326
+#: src/elflint.c:2364
#, c-format
msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
msgstr ""
-#: src/elflint.c:2330
+#: src/elflint.c:2368
#, c-format
msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n"
msgstr ""
-#: src/elflint.c:2340
+#: src/elflint.c:2378
#, c-format
msgid "section [%2d] '%s': hash table entry size incorrect\n"
msgstr ""
-#: src/elflint.c:2345
+#: src/elflint.c:2383
#, c-format
msgid "section [%2d] '%s': not marked to be allocated\n"
msgstr ""
-#: src/elflint.c:2350
+#: src/elflint.c:2388
#, c-format
msgid ""
"section [%2d] '%s': hash table has not even room for initial administrative "
"entries\n"
msgstr ""
-#: src/elflint.c:2399
+#: src/elflint.c:2437
#, c-format
msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
msgstr ""
-#: src/elflint.c:2423 src/elflint.c:2488 src/elflint.c:2523
+#: src/elflint.c:2461 src/elflint.c:2526 src/elflint.c:2561
#, c-format
msgid "hash section [%2zu] '%s' does not contain enough data\n"
msgstr ""
-#: src/elflint.c:2444
+#: src/elflint.c:2482
#, c-format
msgid "hash section [%2zu] '%s' has zero bit mask words\n"
msgstr ""
-#: src/elflint.c:2455 src/elflint.c:2499 src/elflint.c:2536
+#: src/elflint.c:2493 src/elflint.c:2537 src/elflint.c:2574
#, c-format
msgid "hash section [%2zu] '%s' uses too much data\n"
msgstr ""
-#: src/elflint.c:2470
+#: src/elflint.c:2508
#, c-format
msgid ""
"hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: "
"%<PRIu32>, nentries: %<PRIu32>\n"
msgstr ""
-#: src/elflint.c:2557
+#: src/elflint.c:2595
#, c-format
msgid "hash section [%2zu] '%s' invalid sh_entsize\n"
msgstr ""
-#: src/elflint.c:2567 src/elflint.c:2571
+#: src/elflint.c:2605 src/elflint.c:2609
#, c-format
msgid "section [%2zu] '%s': reference to symbol index 0\n"
msgstr ""
-#: src/elflint.c:2578
+#: src/elflint.c:2616
#, c-format
msgid ""
"symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash "
"table in [%2zu] '%s'\n"
msgstr ""
-#: src/elflint.c:2590
+#: src/elflint.c:2628
#, c-format
msgid ""
"symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash "
"table in [%2zu] '%s'\n"
msgstr ""
-#: src/elflint.c:2606
+#: src/elflint.c:2644
#, c-format
msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
msgstr ""
-#: src/elflint.c:2626
+#: src/elflint.c:2664
#, c-format
msgid ""
"section [%2d] '%s': section groups only allowed in relocatable object files\n"
msgstr ""
-#: src/elflint.c:2637
+#: src/elflint.c:2675
#, c-format
msgid "section [%2d] '%s': cannot get symbol table: %s\n"
msgstr ""
-#: src/elflint.c:2642
+#: src/elflint.c:2680
#, c-format
msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
msgstr ""
-#: src/elflint.c:2648
+#: src/elflint.c:2686
#, c-format
msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
msgstr ""
-#: src/elflint.c:2653
+#: src/elflint.c:2691
#, c-format
msgid "section [%2d] '%s': sh_flags not zero\n"
msgstr ""
-#: src/elflint.c:2660
+#: src/elflint.c:2698
#, c-format
msgid "section [%2d] '%s': cannot get symbol for signature\n"
msgstr ""
-#: src/elflint.c:2664
+#: src/elflint.c:2702
#, c-format
msgid "section [%2d] '%s': cannot get symbol name for signature\n"
msgstr ""
-#: src/elflint.c:2669
+#: src/elflint.c:2707
#, c-format
msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
msgstr ""
-#: src/elflint.c:2675
+#: src/elflint.c:2713
#, c-format
msgid "section [%2d] '%s': sh_flags not set correctly\n"
msgstr ""
-#: src/elflint.c:2681
+#: src/elflint.c:2719
#, c-format
msgid "section [%2d] '%s': cannot get data: %s\n"
msgstr ""
-#: src/elflint.c:2690
+#: src/elflint.c:2728
#, c-format
msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
msgstr ""
-#: src/elflint.c:2696
+#: src/elflint.c:2734
#, c-format
msgid "section [%2d] '%s': section group without flags word\n"
msgstr ""
-#: src/elflint.c:2704
+#: src/elflint.c:2742
#, c-format
msgid "section [%2d] '%s': section group without member\n"
msgstr ""
-#: src/elflint.c:2708
+#: src/elflint.c:2746
#, c-format
msgid "section [%2d] '%s': section group with only one member\n"
msgstr ""
-#: src/elflint.c:2719
+#: src/elflint.c:2757
#, c-format
msgid "section [%2d] '%s': unknown section group flags\n"
msgstr ""
-#: src/elflint.c:2731
+#: src/elflint.c:2769
#, fuzzy, c-format
msgid "section [%2d] '%s': section index %zu out of range\n"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/elflint.c:2740
+#: src/elflint.c:2778
#, c-format
msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
msgstr ""
-#: src/elflint.c:2747
+#: src/elflint.c:2785
#, c-format
msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
msgstr ""
-#: src/elflint.c:2753
+#: src/elflint.c:2791
#, c-format
msgid ""
"section [%2d] '%s': element %zu references section [%2d] '%s' without "
"SHF_GROUP flag set\n"
msgstr ""
-#: src/elflint.c:2760
+#: src/elflint.c:2798
#, c-format
msgid "section [%2d] '%s' is contained in more than one section group\n"
msgstr ""
-#: src/elflint.c:2957
+#: src/elflint.c:2995
#, c-format
msgid ""
"section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no "
"dynamic symbol table\n"
msgstr ""
-#: src/elflint.c:2969
+#: src/elflint.c:3007
#, c-format
msgid ""
"section [%2d] '%s' has different number of entries than symbol table [%2d] "
"'%s'\n"
msgstr ""
-#: src/elflint.c:2985
+#: src/elflint.c:3023
#, c-format
msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
msgstr ""
-#: src/elflint.c:3001
+#: src/elflint.c:3039
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
msgstr ""
-#: src/elflint.c:3009
+#: src/elflint.c:3047
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
msgstr ""
-#: src/elflint.c:3023
+#: src/elflint.c:3061
#, c-format
msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
msgstr ""
-#: src/elflint.c:3028
+#: src/elflint.c:3066
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for defined version\n"
msgstr ""
-#: src/elflint.c:3038
+#: src/elflint.c:3076
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for requested version\n"
msgstr ""
-#: src/elflint.c:3091
+#: src/elflint.c:3129
#, c-format
msgid "more than one version reference section present\n"
msgstr ""
-#: src/elflint.c:3099 src/elflint.c:3246
+#: src/elflint.c:3137 src/elflint.c:3284
#, c-format
msgid "section [%2d] '%s': sh_link does not link to string table\n"
msgstr ""
-#: src/elflint.c:3124 src/elflint.c:3300
+#: src/elflint.c:3162 src/elflint.c:3338
#, c-format
msgid "section [%2d] '%s': entry %d has wrong version %d\n"
msgstr ""
-#: src/elflint.c:3131 src/elflint.c:3307
+#: src/elflint.c:3169 src/elflint.c:3345
#, c-format
msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
msgstr ""
-#: src/elflint.c:3141
+#: src/elflint.c:3179
#, c-format
msgid "section [%2d] '%s': entry %d has invalid file reference\n"
msgstr ""
-#: src/elflint.c:3149
+#: src/elflint.c:3187
#, c-format
msgid "section [%2d] '%s': entry %d references unknown dependency\n"
msgstr ""
-#: src/elflint.c:3161
+#: src/elflint.c:3199
#, c-format
msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
msgstr ""
-#: src/elflint.c:3169
+#: src/elflint.c:3207
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
"reference\n"
msgstr ""
-#: src/elflint.c:3178
+#: src/elflint.c:3216
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: "
"%#x, expected %#x\n"
msgstr ""
-#: src/elflint.c:3187
+#: src/elflint.c:3225
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
"name '%s'\n"
msgstr ""
-#: src/elflint.c:3198
+#: src/elflint.c:3236
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
msgstr ""
-#: src/elflint.c:3215 src/elflint.c:3391
+#: src/elflint.c:3253 src/elflint.c:3429
#, c-format
msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
msgstr ""
-#: src/elflint.c:3223 src/elflint.c:3399
+#: src/elflint.c:3261 src/elflint.c:3437
#, c-format
msgid ""
"section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says "
"there are more entries\n"
msgstr ""
-#: src/elflint.c:3238
+#: src/elflint.c:3276
#, c-format
msgid "more than one version definition section present\n"
msgstr ""
-#: src/elflint.c:3285
+#: src/elflint.c:3323
#, c-format
msgid "section [%2d] '%s': more than one BASE definition\n"
msgstr ""
-#: src/elflint.c:3289
+#: src/elflint.c:3327
#, c-format
msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
msgstr ""
-#: src/elflint.c:3295
+#: src/elflint.c:3333
#, c-format
msgid "section [%2d] '%s': entry %d has unknown flag\n"
msgstr ""
-#: src/elflint.c:3322
+#: src/elflint.c:3360
#, c-format
msgid "section [%2d] '%s': entry %d has invalid name reference\n"
msgstr ""
-#: src/elflint.c:3329
+#: src/elflint.c:3367
#, c-format
msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
msgstr ""
-#: src/elflint.c:3337
+#: src/elflint.c:3375
#, c-format
msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
msgstr ""
-#: src/elflint.c:3357
+#: src/elflint.c:3395
#, c-format
msgid ""
"section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
msgstr ""
-#: src/elflint.c:3374
+#: src/elflint.c:3412
#, c-format
msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
msgstr ""
-#: src/elflint.c:3407
+#: src/elflint.c:3445
#, c-format
msgid "section [%2d] '%s': no BASE definition\n"
msgstr ""
-#: src/elflint.c:3423
+#: src/elflint.c:3461
#, c-format
msgid "section [%2d] '%s': unknown parent version '%s'\n"
msgstr ""
-#: src/elflint.c:3448
+#: src/elflint.c:3486
#, c-format
msgid "section [%2d] '%s': empty object attributes section\n"
msgstr ""
-#: src/elflint.c:3464
+#: src/elflint.c:3502
#, c-format
msgid "section [%2d] '%s': unrecognized attribute format\n"
msgstr ""
-#: src/elflint.c:3475
+#: src/elflint.c:3513
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute section\n"
msgstr ""
-#: src/elflint.c:3484
+#: src/elflint.c:3522
#, c-format
msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
msgstr ""
-#: src/elflint.c:3496
+#: src/elflint.c:3534
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
msgstr ""
-#: src/elflint.c:3513
+#: src/elflint.c:3551
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
msgstr ""
-#: src/elflint.c:3522
+#: src/elflint.c:3560
#, c-format
msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
msgstr ""
-#: src/elflint.c:3531
+#: src/elflint.c:3569
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
msgstr ""
-#: src/elflint.c:3546
+#: src/elflint.c:3584
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
msgstr ""
#. Tag_File
-#: src/elflint.c:3557
+#: src/elflint.c:3595
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
msgstr ""
-#: src/elflint.c:3578
+#: src/elflint.c:3616
#, c-format
msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
msgstr ""
-#: src/elflint.c:3589
+#: src/elflint.c:3627
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
msgstr ""
-#: src/elflint.c:3602
+#: src/elflint.c:3640
#, c-format
msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
msgstr ""
-#: src/elflint.c:3606
+#: src/elflint.c:3644
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
msgstr ""
-#: src/elflint.c:3616
+#: src/elflint.c:3654
#, c-format
msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
msgstr ""
-#: src/elflint.c:3622
+#: src/elflint.c:3660
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
msgstr ""
-#: src/elflint.c:3719
+#: src/elflint.c:3758
#, c-format
msgid "cannot get section header of zeroth section\n"
msgstr ""
-#: src/elflint.c:3723
+#: src/elflint.c:3762
#, c-format
msgid "zeroth section has nonzero name\n"
msgstr ""
-#: src/elflint.c:3725
+#: src/elflint.c:3764
#, c-format
msgid "zeroth section has nonzero type\n"
msgstr ""
-#: src/elflint.c:3727
+#: src/elflint.c:3766
#, c-format
msgid "zeroth section has nonzero flags\n"
msgstr ""
-#: src/elflint.c:3729
+#: src/elflint.c:3768
#, c-format
msgid "zeroth section has nonzero address\n"
msgstr ""
-#: src/elflint.c:3731
+#: src/elflint.c:3770
#, c-format
msgid "zeroth section has nonzero offset\n"
msgstr ""
-#: src/elflint.c:3733
+#: src/elflint.c:3772
#, c-format
msgid "zeroth section has nonzero align value\n"
msgstr ""
-#: src/elflint.c:3735
+#: src/elflint.c:3774
#, c-format
msgid "zeroth section has nonzero entry size value\n"
msgstr ""
-#: src/elflint.c:3738
+#: src/elflint.c:3777
#, c-format
msgid ""
"zeroth section has nonzero size value while ELF header has nonzero shnum "
"value\n"
msgstr ""
-#: src/elflint.c:3742
+#: src/elflint.c:3781
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
"overflow in shstrndx\n"
msgstr ""
-#: src/elflint.c:3746
+#: src/elflint.c:3785
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
"overflow in phnum\n"
msgstr ""
-#: src/elflint.c:3764
+#: src/elflint.c:3803
#, c-format
msgid "cannot get section header for section [%2zu] '%s': %s\n"
msgstr ""
-#: src/elflint.c:3773
+#: src/elflint.c:3812
#, c-format
msgid "section [%2zu]: invalid name\n"
msgstr ""
-#: src/elflint.c:3800
+#: src/elflint.c:3839
#, c-format
msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
msgstr ""
-#: src/elflint.c:3817
+#: src/elflint.c:3856
#, c-format
msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
msgstr ""
-#: src/elflint.c:3835
+#: src/elflint.c:3874
#, c-format
msgid ""
"section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
msgstr ""
-#: src/elflint.c:3852
+#: src/elflint.c:3891
#, c-format
msgid "section [%2zu] '%s' present in object file\n"
msgstr ""
-#: src/elflint.c:3858 src/elflint.c:3890
+#: src/elflint.c:3897 src/elflint.c:3929
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
msgstr ""
-#: src/elflint.c:3863 src/elflint.c:3895
+#: src/elflint.c:3902 src/elflint.c:3934
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
"segments\n"
msgstr ""
-#: src/elflint.c:3871
+#: src/elflint.c:3910
#, c-format
msgid ""
"section [%2zu] '%s' is extension section index table in non-object file\n"
msgstr ""
-#: src/elflint.c:3914
+#: src/elflint.c:3953
#, c-format
msgid "section [%2zu] '%s': size not multiple of entry size\n"
msgstr ""
-#: src/elflint.c:3919
+#: src/elflint.c:3958
#, c-format
msgid "cannot get section header\n"
msgstr ""
-#: src/elflint.c:3929
+#: src/elflint.c:3968
#, c-format
msgid "section [%2zu] '%s' has unsupported type %d\n"
msgstr ""
-#: src/elflint.c:3949
+#: src/elflint.c:3988
#, c-format
msgid ""
"section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:3959
+#: src/elflint.c:3998
#, c-format
msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:3967
+#: src/elflint.c:4006
#, c-format
msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
msgstr ""
-#: src/elflint.c:3977
+#: src/elflint.c:4016
#, fuzzy, c-format
msgid "section [%2zu] '%s': allocated section cannot be compressed\n"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/elflint.c:3982
+#: src/elflint.c:4021
#, fuzzy, c-format
msgid "section [%2zu] '%s': nobits section cannot be compressed\n"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/elflint.c:3988
+#: src/elflint.c:4027
#, c-format
msgid ""
"section [%2zu] '%s': compressed section with no compression header: %s\n"
msgstr ""
-#: src/elflint.c:3994
+#: src/elflint.c:4033
#, c-format
msgid "section [%2zu] '%s': invalid section reference in link value\n"
msgstr ""
-#: src/elflint.c:3999
+#: src/elflint.c:4038
#, c-format
msgid "section [%2zu] '%s': invalid section reference in info value\n"
msgstr ""
-#: src/elflint.c:4006
+#: src/elflint.c:4045
#, c-format
msgid "section [%2zu] '%s': strings flag set without merge flag\n"
msgstr ""
-#: src/elflint.c:4011
+#: src/elflint.c:4050
#, c-format
msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
msgstr ""
-#: src/elflint.c:4030
+#: src/elflint.c:4069
#, c-format
msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
msgstr ""
-#: src/elflint.c:4039
+#: src/elflint.c:4078
#, c-format
msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n"
msgstr ""
-#: src/elflint.c:4046
+#: src/elflint.c:4085
#, c-format
msgid "section [%2zu] '%s' is both executable and writable\n"
msgstr ""
-#: src/elflint.c:4077
+#: src/elflint.c:4116
#, c-format
msgid ""
"section [%2zu] '%s' not fully contained in segment of program header entry "
"%d\n"
msgstr ""
-#: src/elflint.c:4087
+#: src/elflint.c:4126
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
"program header entry %d\n"
msgstr ""
-#: src/elflint.c:4113
+#: src/elflint.c:4152
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
"program header entry %d and file contents is non-zero\n"
msgstr ""
-#: src/elflint.c:4124
+#: src/elflint.c:4163
#, c-format
msgid ""
"section [%2zu] '%s' has not type NOBITS but is not read from the file in "
"segment of program header entry %d\n"
msgstr ""
-#: src/elflint.c:4135
+#: src/elflint.c:4174
#, c-format
msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
msgstr ""
-#: src/elflint.c:4145
+#: src/elflint.c:4184
#, c-format
msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
msgstr ""
-#: src/elflint.c:4155
+#: src/elflint.c:4194
#, c-format
msgid ""
"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
msgstr ""
-#: src/elflint.c:4161
+#: src/elflint.c:4200
#, c-format
msgid ""
"section [%2zu] '%s': ELF header says this is the section header string table "
"but type is not SHT_TYPE\n"
msgstr ""
-#: src/elflint.c:4169
+#: src/elflint.c:4208
#, c-format
msgid ""
"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
msgstr ""
-#: src/elflint.c:4220
+#: src/elflint.c:4263
#, c-format
msgid "more than one version symbol table present\n"
msgstr ""
-#: src/elflint.c:4243
+#: src/elflint.c:4286
#, c-format
msgid "INTERP program header entry but no .interp section\n"
msgstr ""
-#: src/elflint.c:4254
+#: src/elflint.c:4297
#, c-format
msgid ""
"loadable segment [%u] is executable but contains no executable sections\n"
msgstr ""
-#: src/elflint.c:4260
+#: src/elflint.c:4303
#, c-format
msgid "loadable segment [%u] is writable but contains no writable sections\n"
msgstr ""
-#: src/elflint.c:4271
+#: src/elflint.c:4314
#, c-format
msgid ""
"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
"exist\n"
msgstr ""
-#: src/elflint.c:4284
+#: src/elflint.c:4327
#, c-format
msgid "duplicate version index %d\n"
msgstr ""
-#: src/elflint.c:4298
+#: src/elflint.c:4341
#, c-format
msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
msgstr ""
-#: src/elflint.c:4347
+#: src/elflint.c:4390
#, c-format
msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
msgstr ""
-#: src/elflint.c:4351
+#: src/elflint.c:4394
#, c-format
msgid ""
"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
msgstr ""
-#: src/elflint.c:4407
+#: src/elflint.c:4450
#, c-format
msgid ""
"phdr[%d]: unknown object file note type %<PRIu32> with owner name '%s' at "
"offset %zu\n"
msgstr ""
-#: src/elflint.c:4412
+#: src/elflint.c:4455
#, c-format
msgid ""
"section [%2d] '%s': unknown object file note type %<PRIu32> with owner name "
"'%s' at offset %zu\n"
msgstr ""
-#: src/elflint.c:4431
+#: src/elflint.c:4474
#, c-format
msgid "phdr[%d]: no note entries defined for the type of file\n"
msgstr ""
-#: src/elflint.c:4451
+#: src/elflint.c:4494
#, c-format
msgid "phdr[%d]: cannot get content of note section: %s\n"
msgstr ""
-#: src/elflint.c:4454
+#: src/elflint.c:4497
#, c-format
msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
msgstr ""
-#: src/elflint.c:4475
+#: src/elflint.c:4518
#, c-format
msgid "section [%2d] '%s': no note entries defined for the type of file\n"
msgstr ""
-#: src/elflint.c:4482
+#: src/elflint.c:4525
#, c-format
msgid "section [%2d] '%s': cannot get content of note section\n"
msgstr ""
-#: src/elflint.c:4485
+#: src/elflint.c:4528
#, c-format
msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
msgstr ""
-#: src/elflint.c:4503
+#: src/elflint.c:4546
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
msgstr ""
-#: src/elflint.c:4518
+#: src/elflint.c:4561
#, c-format
msgid "cannot get program header entry %d: %s\n"
msgstr ""
-#: src/elflint.c:4528
+#: src/elflint.c:4571
#, c-format
msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:4539
+#: src/elflint.c:4582
#, c-format
msgid "more than one INTERP entry in program header\n"
msgstr ""
-#: src/elflint.c:4547
+#: src/elflint.c:4590
#, c-format
msgid "more than one TLS entry in program header\n"
msgstr ""
-#: src/elflint.c:4554
+#: src/elflint.c:4597
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr ""
-#: src/elflint.c:4568
+#: src/elflint.c:4611
#, c-format
msgid "dynamic section reference in program header has wrong offset\n"
msgstr ""
-#: src/elflint.c:4571
+#: src/elflint.c:4614
#, c-format
msgid "dynamic section size mismatch in program and section header\n"
msgstr ""
-#: src/elflint.c:4581
+#: src/elflint.c:4624
#, c-format
msgid "more than one GNU_RELRO entry in program header\n"
msgstr ""
-#: src/elflint.c:4602
+#: src/elflint.c:4645
#, c-format
msgid "loadable segment GNU_RELRO applies to is not writable\n"
msgstr ""
-#: src/elflint.c:4613
+#: src/elflint.c:4656
#, c-format
msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
msgstr ""
-#: src/elflint.c:4620
+#: src/elflint.c:4663
#, c-format
msgid ""
"GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
msgstr ""
-#: src/elflint.c:4629 src/elflint.c:4652
+#: src/elflint.c:4672 src/elflint.c:4695
#, c-format
msgid "%s segment not contained in a loaded segment\n"
msgstr ""
-#: src/elflint.c:4658
+#: src/elflint.c:4701
#, c-format
msgid "program header offset in ELF header and PHDR entry do not match"
msgstr ""
-#: src/elflint.c:4685
+#: src/elflint.c:4728
#, c-format
msgid "call frame search table reference in program header has wrong offset\n"
msgstr ""
-#: src/elflint.c:4688
+#: src/elflint.c:4731
#, c-format
msgid "call frame search table size mismatch in program and section header\n"
msgstr ""
-#: src/elflint.c:4701
+#: src/elflint.c:4744
#, c-format
msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
msgstr ""
-#: src/elflint.c:4709
+#: src/elflint.c:4752
#, c-format
msgid "call frame search table must be allocated\n"
msgstr ""
-#: src/elflint.c:4712
+#: src/elflint.c:4755
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
msgstr ""
-#: src/elflint.c:4716
+#: src/elflint.c:4759
#, c-format
msgid "call frame search table must not be writable\n"
msgstr ""
-#: src/elflint.c:4719
+#: src/elflint.c:4762
#, c-format
msgid "section [%2zu] '%s' must not be writable\n"
msgstr ""
-#: src/elflint.c:4724
+#: src/elflint.c:4767
#, c-format
msgid "call frame search table must not be executable\n"
msgstr ""
-#: src/elflint.c:4727
+#: src/elflint.c:4770
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
msgstr ""
-#: src/elflint.c:4741
+#: src/elflint.c:4784
#, c-format
msgid "program header entry %d: file size greater than memory size\n"
msgstr ""
-#: src/elflint.c:4748
+#: src/elflint.c:4791
#, c-format
msgid "program header entry %d: alignment not a power of 2\n"
msgstr ""
-#: src/elflint.c:4751
+#: src/elflint.c:4794
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
"alignment\n"
msgstr ""
-#: src/elflint.c:4764
+#: src/elflint.c:4807
#, c-format
msgid ""
"executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME "
"program header entry"
msgstr ""
-#: src/elflint.c:4798
+#: src/elflint.c:4841
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr ""
-#: src/elflint.c:4810
+#: src/elflint.c:4853
#, fuzzy, c-format
msgid "cannot create backend for ELF file\n"
msgstr "neue Datei konnte nicht angelegt werden"
-#: src/elflint.c:4831
+#: src/elflint.c:4874
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr ""
@@ -3699,7 +3694,7 @@ msgid "%s: INTERNAL ERROR %d (%s): %s"
msgstr "%s: INTERNER FEHLER %d (%s-%s): %s"
#: src/nm.c:380 src/nm.c:392 src/size.c:287 src/size.c:296 src/size.c:307
-#: src/strip.c:2766
+#: src/strip.c:2763
#, c-format
msgid "while closing '%s'"
msgstr "beim Schliessen von '%s'"
@@ -3743,13 +3738,13 @@ msgstr "%s%s%s: Dateiformat nicht erkannt"
msgid "cannot create search tree"
msgstr "Kann Suchbaum nicht erstellen"
-#: src/nm.c:742 src/nm.c:1234 src/objdump.c:778 src/readelf.c:663
-#: src/readelf.c:1484 src/readelf.c:1633 src/readelf.c:1860 src/readelf.c:2097
-#: src/readelf.c:2286 src/readelf.c:2466 src/readelf.c:2544 src/readelf.c:2809
-#: src/readelf.c:2884 src/readelf.c:2970 src/readelf.c:3565 src/readelf.c:3613
-#: src/readelf.c:3682 src/readelf.c:11620 src/readelf.c:12803
-#: src/readelf.c:13013 src/readelf.c:13081 src/size.c:396 src/size.c:467
-#: src/strip.c:1093
+#: src/nm.c:742 src/nm.c:1234 src/objdump.c:778 src/readelf.c:685
+#: src/readelf.c:1506 src/readelf.c:1655 src/readelf.c:1882 src/readelf.c:2123
+#: src/readelf.c:2312 src/readelf.c:2482 src/readelf.c:2604 src/readelf.c:2854
+#: src/readelf.c:3140 src/readelf.c:3215 src/readelf.c:3301 src/readelf.c:3896
+#: src/readelf.c:3944 src/readelf.c:4013 src/readelf.c:12029
+#: src/readelf.c:13212 src/readelf.c:13422 src/readelf.c:13490 src/size.c:396
+#: src/size.c:467 src/strip.c:1093
#, c-format
msgid "cannot get section header string table index"
msgstr ""
@@ -3855,7 +3850,7 @@ msgstr ""
msgid "Show information from FILEs (a.out by default)."
msgstr ""
-#: src/objdump.c:217 src/readelf.c:608
+#: src/objdump.c:217 src/readelf.c:630
msgid "No operation specified.\n"
msgstr "Keine Operation angegeben.\n"
@@ -3864,11 +3859,11 @@ msgstr "Keine Operation angegeben.\n"
msgid "while close `%s'"
msgstr ""
-#: src/objdump.c:362 src/readelf.c:2192 src/readelf.c:2383
+#: src/objdump.c:362 src/readelf.c:2218 src/readelf.c:2409
msgid "INVALID SYMBOL"
msgstr ""
-#: src/objdump.c:377 src/readelf.c:2226 src/readelf.c:2419
+#: src/objdump.c:377 src/readelf.c:2252 src/readelf.c:2445
msgid "INVALID SECTION"
msgstr ""
@@ -3923,175 +3918,175 @@ msgstr "'%s' ist kein Archiv"
msgid "error while freeing sub-ELF descriptor: %s"
msgstr ""
-#: src/readelf.c:96
+#: src/readelf.c:97
#, fuzzy
msgid "ELF input selection:"
msgstr "Eingabeauswahloptionen:"
-#: src/readelf.c:98
+#: src/readelf.c:99
msgid ""
"Use the named SECTION (default .gnu_debugdata) as (compressed) ELF input data"
msgstr ""
-#: src/readelf.c:101
+#: src/readelf.c:102
msgid ""
"Used with -w to find the skeleton Compile Units in FILE associated with the "
"Split Compile units in a .dwo input file"
msgstr ""
-#: src/readelf.c:103
+#: src/readelf.c:104
#, fuzzy
msgid "ELF output selection:"
msgstr "Eingabeauswahloptionen:"
-#: src/readelf.c:105
+#: src/readelf.c:106
msgid "All these plus -p .strtab -p .dynstr -p .comment"
msgstr ""
-#: src/readelf.c:106
+#: src/readelf.c:107
msgid "Display the dynamic segment"
msgstr ""
-#: src/readelf.c:107
+#: src/readelf.c:108
msgid "Display the ELF file header"
msgstr ""
-#: src/readelf.c:109
+#: src/readelf.c:110
msgid "Display histogram of bucket list lengths"
msgstr ""
-#: src/readelf.c:110
+#: src/readelf.c:111
msgid "Display the program headers"
msgstr "Programm-Köpfe anzeigen"
-#: src/readelf.c:112
+#: src/readelf.c:113
msgid "Display relocations"
msgstr "Relocations anzeigen"
-#: src/readelf.c:113
+#: src/readelf.c:114
#, fuzzy
msgid "Display the section groups"
msgstr "Programm-Köpfe anzeigen"
-#: src/readelf.c:114
+#: src/readelf.c:115
#, fuzzy
msgid "Display the sections' headers"
msgstr "Programm-Köpfe anzeigen"
-#: src/readelf.c:117
+#: src/readelf.c:118
#, fuzzy
msgid "Display the symbol table sections"
msgstr "Symboltabelle anzeigen"
-#: src/readelf.c:120
+#: src/readelf.c:121
#, fuzzy
msgid "Display (only) the dynamic symbol table"
msgstr "Zeige nur externe Symbole"
-#: src/readelf.c:121
+#: src/readelf.c:122
msgid "Display versioning information"
msgstr "Versionierungsinformationen anzeigen"
-#: src/readelf.c:122
+#: src/readelf.c:123
#, fuzzy
msgid "Display the ELF notes"
msgstr "Kernnotizen anzeigen"
-#: src/readelf.c:124
+#: src/readelf.c:125
#, fuzzy
msgid "Display architecture specific information, if any"
msgstr "Architekturspezifische Informationen anzeigen (falls vorhanden)"
-#: src/readelf.c:126
+#: src/readelf.c:127
msgid "Display sections for exception handling"
msgstr "Abschnitte für Ausnahmebehandlung anzeigen"
-#: src/readelf.c:128
+#: src/readelf.c:129
msgid "Additional output selection:"
msgstr ""
-#: src/readelf.c:130
+#: src/readelf.c:131
msgid ""
"Display DWARF section content. SECTION can be one of abbrev, addr, aranges, "
"decodedaranges, frame, gdb_index, info, info+, loc, line, decodedline, "
"ranges, pubnames, str, macinfo, macro or exception"
msgstr ""
-#: src/readelf.c:134
+#: src/readelf.c:135
msgid "Dump the uninterpreted contents of SECTION, by number or name"
msgstr ""
-#: src/readelf.c:136
+#: src/readelf.c:137
msgid "Print string contents of sections"
msgstr ""
-#: src/readelf.c:139
+#: src/readelf.c:140
msgid "Display the symbol index of an archive"
msgstr "Symbolindex des Archivs anzeigen"
-#: src/readelf.c:141
+#: src/readelf.c:142
msgid "Use the dynamic segment when possible for displaying info"
msgstr ""
-#: src/readelf.c:143
+#: src/readelf.c:144
msgid "Output control:"
msgstr "Ausgabekontrolle:"
-#: src/readelf.c:145
+#: src/readelf.c:146
msgid "Do not find symbol names for addresses in DWARF data"
msgstr "Keine symbolischen Namen für Adressen in DWARF-Daten suchen"
-#: src/readelf.c:147
+#: src/readelf.c:148
#, fuzzy
msgid ""
"Display just offsets instead of resolving values to addresses in DWARF data"
msgstr "Keine symbolischen Namen für Adressen in DWARF-Daten suchen"
-#: src/readelf.c:149
+#: src/readelf.c:150
msgid "Ignored for compatibility (lines always wide)"
msgstr ""
-#: src/readelf.c:151
+#: src/readelf.c:152
msgid ""
"Show compression information for compressed sections (when used with -S); "
"decompress section before dumping data (when used with -p or -x)"
msgstr ""
#. Short description of program.
-#: src/readelf.c:156
+#: src/readelf.c:157
msgid "Print information from ELF file in human-readable form."
msgstr "Informationen aus der ELF-Datei in menschenlesbarer Form ausgeben."
#. Look up once.
-#: src/readelf.c:373
+#: src/readelf.c:395
msgid "yes"
msgstr "ja"
-#: src/readelf.c:374
+#: src/readelf.c:396
msgid "no"
msgstr "nein"
-#: src/readelf.c:576
+#: src/readelf.c:598
#, c-format
msgid "Unknown DWARF debug section `%s'.\n"
msgstr ""
-#: src/readelf.c:647 src/readelf.c:758
+#: src/readelf.c:669 src/readelf.c:780
#, c-format
msgid "cannot generate Elf descriptor: %s"
msgstr "konnte Elf-Deskriptor nicht erzeugen: %s"
-#: src/readelf.c:654 src/readelf.c:980 src/strip.c:1188
+#: src/readelf.c:676 src/readelf.c:1002 src/strip.c:1188
#, c-format
msgid "cannot determine number of sections: %s"
msgstr ""
-#: src/readelf.c:672 src/readelf.c:1300 src/readelf.c:1508
+#: src/readelf.c:694 src/readelf.c:1322 src/readelf.c:1530
#, c-format
msgid "cannot get section: %s"
msgstr ""
-#: src/readelf.c:681 src/readelf.c:1307 src/readelf.c:1515 src/readelf.c:13033
+#: src/readelf.c:703 src/readelf.c:1329 src/readelf.c:1537 src/readelf.c:13442
#: src/unstrip.c:396 src/unstrip.c:427 src/unstrip.c:490 src/unstrip.c:610
#: src/unstrip.c:631 src/unstrip.c:671 src/unstrip.c:887 src/unstrip.c:1222
#: src/unstrip.c:1349 src/unstrip.c:1373 src/unstrip.c:1429 src/unstrip.c:1470
@@ -4100,345 +4095,345 @@ msgstr ""
msgid "cannot get section header: %s"
msgstr ""
-#: src/readelf.c:689
+#: src/readelf.c:711
#, fuzzy, c-format
msgid "cannot get section name"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:698 src/readelf.c:6833 src/readelf.c:10887 src/readelf.c:10989
-#: src/readelf.c:11173
+#: src/readelf.c:720 src/readelf.c:7176 src/readelf.c:11230 src/readelf.c:11332
+#: src/readelf.c:11516
#, c-format
msgid "cannot get %s content: %s"
msgstr ""
-#: src/readelf.c:714
+#: src/readelf.c:736
#, fuzzy, c-format
msgid "cannot create temp file '%s'"
msgstr "neue Datei konnte nicht angelegt werden"
-#: src/readelf.c:723
+#: src/readelf.c:745
#, fuzzy, c-format
msgid "cannot write section data"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:729 src/readelf.c:746 src/readelf.c:775
+#: src/readelf.c:751 src/readelf.c:768 src/readelf.c:797
#, c-format
msgid "error while closing Elf descriptor: %s"
msgstr ""
-#: src/readelf.c:736
+#: src/readelf.c:758
#, fuzzy, c-format
msgid "error while rewinding file descriptor"
msgstr "Fehler beim Schliessen des Elf-Desktriptor: %s\n"
-#: src/readelf.c:770
+#: src/readelf.c:792
#, c-format
msgid "'%s' is not an archive, cannot print archive index"
msgstr ""
-#: src/readelf.c:874
+#: src/readelf.c:896
#, c-format
msgid "cannot stat input file"
msgstr ""
-#: src/readelf.c:876
+#: src/readelf.c:898
#, c-format
msgid "input file is empty"
msgstr ""
-#: src/readelf.c:878
+#: src/readelf.c:900
#, c-format
msgid "failed reading '%s': %s"
msgstr "Konnte '%s' nicht lesen: %s"
-#: src/readelf.c:907
+#: src/readelf.c:929
#, fuzzy, c-format
msgid "No such section '%s' in '%s'"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:966
+#: src/readelf.c:988
#, c-format
msgid "cannot read ELF header: %s"
msgstr ""
-#: src/readelf.c:974
+#: src/readelf.c:996
#, c-format
msgid "cannot create EBL handle"
msgstr ""
-#: src/readelf.c:985
+#: src/readelf.c:1007
#, fuzzy, c-format
msgid "cannot determine number of program headers: %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/readelf.c:1017
+#: src/readelf.c:1039
#, fuzzy, c-format
msgid "cannot read ELF: %s"
msgstr "Konnte %s: %s nicht lesen"
-#: src/readelf.c:1050
+#: src/readelf.c:1072
#, fuzzy
msgid "cannot find section"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:1087
+#: src/readelf.c:1109
msgid "NONE (None)"
msgstr ""
-#: src/readelf.c:1088
+#: src/readelf.c:1110
msgid "REL (Relocatable file)"
msgstr ""
-#: src/readelf.c:1089
+#: src/readelf.c:1111
msgid "EXEC (Executable file)"
msgstr ""
-#: src/readelf.c:1090
+#: src/readelf.c:1112
msgid "DYN (Shared object file)"
msgstr ""
-#: src/readelf.c:1091
+#: src/readelf.c:1113
msgid "CORE (Core file)"
msgstr ""
-#: src/readelf.c:1096
+#: src/readelf.c:1118
#, c-format
msgid "OS Specific: (%x)\n"
msgstr ""
#. && e_type <= ET_HIPROC always true
-#: src/readelf.c:1098
+#: src/readelf.c:1120
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr ""
-#: src/readelf.c:1108
+#: src/readelf.c:1130
msgid ""
"ELF Header:\n"
" Magic: "
msgstr ""
-#: src/readelf.c:1112
+#: src/readelf.c:1134
#, c-format
msgid ""
"\n"
" Class: %s\n"
msgstr ""
-#: src/readelf.c:1117
+#: src/readelf.c:1139
#, fuzzy, c-format
msgid " Data: %s\n"
msgstr " Daten: %s\n"
-#: src/readelf.c:1123
+#: src/readelf.c:1145
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr ""
-#: src/readelf.c:1125 src/readelf.c:1147
+#: src/readelf.c:1147 src/readelf.c:1169
msgid "(current)"
msgstr "(aktuell)"
-#: src/readelf.c:1129
+#: src/readelf.c:1151
#, c-format
msgid " OS/ABI: %s\n"
msgstr ""
-#: src/readelf.c:1132
+#: src/readelf.c:1154
#, c-format
msgid " ABI Version: %hhd\n"
msgstr ""
-#: src/readelf.c:1135
+#: src/readelf.c:1157
msgid " Type: "
msgstr " Typ: "
-#: src/readelf.c:1140
+#: src/readelf.c:1162
#, c-format
msgid " Machine: %s\n"
msgstr ""
-#: src/readelf.c:1142
+#: src/readelf.c:1164
#, fuzzy, c-format
msgid " Machine: <unknown>: 0x%x\n"
msgstr " Daten: %s\n"
-#: src/readelf.c:1145
+#: src/readelf.c:1167
#, c-format
msgid " Version: %d %s\n"
msgstr ""
-#: src/readelf.c:1149
+#: src/readelf.c:1171
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr ""
-#: src/readelf.c:1152
+#: src/readelf.c:1174
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr ""
-#: src/readelf.c:1153 src/readelf.c:1156
+#: src/readelf.c:1175 src/readelf.c:1178
msgid "(bytes into file)"
msgstr ""
-#: src/readelf.c:1155
+#: src/readelf.c:1177
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr ""
-#: src/readelf.c:1158
+#: src/readelf.c:1180
#, c-format
msgid " Flags: %s\n"
msgstr ""
-#: src/readelf.c:1161
+#: src/readelf.c:1183
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr ""
-#: src/readelf.c:1162 src/readelf.c:1165 src/readelf.c:1182
+#: src/readelf.c:1184 src/readelf.c:1187 src/readelf.c:1204
msgid "(bytes)"
msgstr "(Bytes)"
-#: src/readelf.c:1164
+#: src/readelf.c:1186
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr ""
-#: src/readelf.c:1167
+#: src/readelf.c:1189
#, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr ""
-#: src/readelf.c:1174
+#: src/readelf.c:1196
#, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr ""
-#: src/readelf.c:1177 src/readelf.c:1194 src/readelf.c:1208
+#: src/readelf.c:1199 src/readelf.c:1216 src/readelf.c:1230
msgid " ([0] not available)"
msgstr ""
-#: src/readelf.c:1181
+#: src/readelf.c:1203
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr ""
-#: src/readelf.c:1184
+#: src/readelf.c:1206
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr ""
-#: src/readelf.c:1191
+#: src/readelf.c:1213
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr ""
#. We managed to get the zeroth section.
-#: src/readelf.c:1204
+#: src/readelf.c:1226
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr ""
-#: src/readelf.c:1212
+#: src/readelf.c:1234
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
"\n"
msgstr ""
-#: src/readelf.c:1216
+#: src/readelf.c:1238
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
"\n"
msgstr ""
-#: src/readelf.c:1266 src/readelf.c:1474
+#: src/readelf.c:1288 src/readelf.c:1496
#, fuzzy, c-format
msgid "cannot get number of sections: %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/readelf.c:1269
+#: src/readelf.c:1291
#, fuzzy, c-format
msgid ""
"There are %zd section headers, starting at offset %#<PRIx64>:\n"
"\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:1277
+#: src/readelf.c:1299
#, fuzzy, c-format
msgid "cannot get section header string table index: %s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:1280
+#: src/readelf.c:1302
msgid "Section Headers:"
msgstr ""
-#: src/readelf.c:1283
+#: src/readelf.c:1305
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
msgstr ""
-#: src/readelf.c:1285
+#: src/readelf.c:1307
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
msgstr ""
-#: src/readelf.c:1290
+#: src/readelf.c:1312
msgid " [Compression Size Al]"
msgstr ""
-#: src/readelf.c:1292
+#: src/readelf.c:1314
msgid " [Compression Size Al]"
msgstr ""
-#: src/readelf.c:1370
+#: src/readelf.c:1392
#, c-format
msgid "bad compression header for section %zd: %s"
msgstr ""
-#: src/readelf.c:1381
+#: src/readelf.c:1403
#, c-format
msgid "bad gnu compressed size for section %zd: %s"
msgstr ""
-#: src/readelf.c:1399
+#: src/readelf.c:1421
msgid "Program Headers:"
msgstr "Programm-Köpfe:"
-#: src/readelf.c:1401
+#: src/readelf.c:1423
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
-#: src/readelf.c:1404
+#: src/readelf.c:1426
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
msgstr ""
-#: src/readelf.c:1461
+#: src/readelf.c:1483
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr ""
-#: src/readelf.c:1486
+#: src/readelf.c:1508
msgid ""
"\n"
" Section to Segment mapping:\n"
" Segment Sections..."
msgstr ""
-#: src/readelf.c:1497 src/unstrip.c:2114 src/unstrip.c:2156 src/unstrip.c:2163
+#: src/readelf.c:1519 src/unstrip.c:2114 src/unstrip.c:2156 src/unstrip.c:2163
#, c-format
msgid "cannot get program header: %s"
msgstr ""
-#: src/readelf.c:1641
+#: src/readelf.c:1663
#, c-format
msgid ""
"\n"
@@ -4449,7 +4444,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1646
+#: src/readelf.c:1668
#, c-format
msgid ""
"\n"
@@ -4460,32 +4455,32 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1654
+#: src/readelf.c:1676
msgid "<INVALID SYMBOL>"
msgstr ""
-#: src/readelf.c:1668
+#: src/readelf.c:1690
msgid "<INVALID SECTION>"
msgstr ""
-#: src/readelf.c:1691 src/readelf.c:2476 src/readelf.c:3581 src/readelf.c:3881
-#: src/readelf.c:12905 src/readelf.c:12912 src/readelf.c:12956
-#: src/readelf.c:12963
+#: src/readelf.c:1713 src/readelf.c:2614 src/readelf.c:3912 src/readelf.c:4212
+#: src/readelf.c:13314 src/readelf.c:13321 src/readelf.c:13365
+#: src/readelf.c:13372
msgid "Couldn't uncompress section"
msgstr ""
-#: src/readelf.c:1695 src/readelf.c:2481 src/readelf.c:3585
+#: src/readelf.c:1717 src/readelf.c:2619 src/readelf.c:3916
#, fuzzy, c-format
msgid "cannot get section [%zd] header: %s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:1864 src/readelf.c:2550 src/readelf.c:2815 src/readelf.c:2890
-#: src/readelf.c:3193 src/readelf.c:3267 src/readelf.c:5619
+#: src/readelf.c:1886 src/readelf.c:2860 src/readelf.c:3146 src/readelf.c:3221
+#: src/readelf.c:3524 src/readelf.c:3598 src/readelf.c:5962
#, fuzzy, c-format
msgid "invalid sh_link value in section %zu"
msgstr "ungültige .debug_line Sektion"
-#: src/readelf.c:1867
+#: src/readelf.c:1889
#, c-format
msgid ""
"\n"
@@ -4498,7 +4493,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1880
+#: src/readelf.c:1902
#, c-format
msgid ""
"\n"
@@ -4511,48 +4506,48 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1890
+#: src/readelf.c:1912
msgid " Type Value\n"
msgstr ""
-#: src/readelf.c:1899
+#: src/readelf.c:1921
#, fuzzy
msgid "cannot get string table by using dynamic segment"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:1938
+#: src/readelf.c:1960
#, c-format
msgid "Shared library: [%s]\n"
msgstr ""
-#: src/readelf.c:1942
+#: src/readelf.c:1964
#, c-format
msgid "Library soname: [%s]\n"
msgstr ""
-#: src/readelf.c:1946
+#: src/readelf.c:1968
#, c-format
msgid "Library rpath: [%s]\n"
msgstr ""
-#: src/readelf.c:1950
+#: src/readelf.c:1972
#, c-format
msgid "Library runpath: [%s]\n"
msgstr ""
-#: src/readelf.c:1969
+#: src/readelf.c:1993
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr ""
-#: src/readelf.c:2083 src/readelf.c:2272
+#: src/readelf.c:2109 src/readelf.c:2298
#, c-format
msgid ""
"\n"
"Invalid symbol table at offset %#0<PRIx64>\n"
msgstr ""
-#: src/readelf.c:2100 src/readelf.c:2289
+#: src/readelf.c:2126 src/readelf.c:2315
#, c-format
msgid ""
"\n"
@@ -4571,7 +4566,8 @@ msgstr[1] ""
#. The .rela.dyn section does not refer to a specific section but
#. instead of section index zero. Do not try to print a section
#. name.
-#: src/readelf.c:2115 src/readelf.c:2304
+#. A .relr.dyn section does not refer to a specific section.
+#: src/readelf.c:2141 src/readelf.c:2330 src/readelf.c:2485
#, c-format
msgid ""
"\n"
@@ -4582,29 +4578,39 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2125
+#: src/readelf.c:2151
msgid " Offset Type Value Name\n"
msgstr ""
-#: src/readelf.c:2127
+#: src/readelf.c:2153
msgid " Offset Type Value Name\n"
msgstr ""
-#: src/readelf.c:2180 src/readelf.c:2191 src/readelf.c:2204 src/readelf.c:2225
-#: src/readelf.c:2237 src/readelf.c:2370 src/readelf.c:2382 src/readelf.c:2396
-#: src/readelf.c:2418 src/readelf.c:2431
+#: src/readelf.c:2206 src/readelf.c:2217 src/readelf.c:2230 src/readelf.c:2251
+#: src/readelf.c:2263 src/readelf.c:2396 src/readelf.c:2408 src/readelf.c:2422
+#: src/readelf.c:2444 src/readelf.c:2457
msgid "<INVALID RELOC>"
msgstr ""
-#: src/readelf.c:2314
+#: src/readelf.c:2340
msgid " Offset Type Value Addend Name\n"
msgstr ""
-#: src/readelf.c:2316
+#: src/readelf.c:2342
msgid " Offset Type Value Addend Name\n"
msgstr ""
-#: src/readelf.c:2558
+#: src/readelf.c:2654
+#, c-format
+msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
+msgstr ""
+
+#: src/readelf.c:2750
+#, c-format
+msgid "bad dynamic symbol"
+msgstr ""
+
+#: src/readelf.c:2868
#, c-format
msgid ""
"\n"
@@ -4615,40 +4621,34 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2563
+#: src/readelf.c:2873
#, c-format
msgid " %lu local symbol String table: [%2u] '%s'\n"
msgid_plural " %lu local symbols String table: [%2u] '%s'\n"
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2571
+#: src/readelf.c:2881
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: src/readelf.c:2573
+#: src/readelf.c:2883
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: src/readelf.c:2593
-#, c-format
-msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-msgstr ""
-
-#: src/readelf.c:2686
-#, c-format
-msgid "bad dynamic symbol"
+#: src/readelf.c:3002
+msgid "Dynamic symbol information is not available for displaying symbols."
msgstr ""
-#: src/readelf.c:2771
+#: src/readelf.c:3102
msgid "none"
msgstr "keine"
-#: src/readelf.c:2788
+#: src/readelf.c:3119
msgid "| <unknown>"
msgstr "| <unbekannt>"
-#: src/readelf.c:2818
+#: src/readelf.c:3149
#, c-format
msgid ""
"\n"
@@ -4661,17 +4661,17 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2839
+#: src/readelf.c:3170
#, fuzzy, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: Version: %hu Datei: %s Cnt: %hu\n"
-#: src/readelf.c:2852
+#: src/readelf.c:3183
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: Name: %s Flags: %s Version: %hu\n"
-#: src/readelf.c:2894
+#: src/readelf.c:3225
#, c-format
msgid ""
"\n"
@@ -4684,18 +4684,18 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2922
+#: src/readelf.c:3253
#, c-format
msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n"
msgstr ""
-#: src/readelf.c:2937
+#: src/readelf.c:3268
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr ""
#. Print the header.
-#: src/readelf.c:3197
+#: src/readelf.c:3528
#, c-format
msgid ""
"\n"
@@ -4708,15 +4708,15 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:3225
+#: src/readelf.c:3556
msgid " 0 *local* "
msgstr " 0 *lokal* "
-#: src/readelf.c:3230
+#: src/readelf.c:3561
msgid " 1 *global* "
msgstr " 1 *global* "
-#: src/readelf.c:3272
+#: src/readelf.c:3603
#, c-format
msgid ""
"\n"
@@ -4731,66 +4731,66 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:3294
+#: src/readelf.c:3625
#, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr ""
-#: src/readelf.c:3296
+#: src/readelf.c:3627
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:3303
+#: src/readelf.c:3634
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:3316
+#: src/readelf.c:3647
#, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
"\t\t\t unsuccessful lookup: %f\n"
msgstr ""
-#: src/readelf.c:3334 src/readelf.c:3398 src/readelf.c:3464
+#: src/readelf.c:3665 src/readelf.c:3729 src/readelf.c:3795
#, c-format
msgid "cannot get data for section %d: %s"
msgstr ""
-#: src/readelf.c:3342
+#: src/readelf.c:3673
#, fuzzy, c-format
msgid "invalid data in sysv.hash section %d"
msgstr "ungültige .debug_line Sektion"
-#: src/readelf.c:3371
+#: src/readelf.c:3702
#, fuzzy, c-format
msgid "invalid chain in sysv.hash section %d"
msgstr "ungültige .debug_line Sektion"
-#: src/readelf.c:3406
+#: src/readelf.c:3737
#, fuzzy, c-format
msgid "invalid data in sysv.hash64 section %d"
msgstr "ungültige .debug_line Sektion"
-#: src/readelf.c:3437
+#: src/readelf.c:3768
#, fuzzy, c-format
msgid "invalid chain in sysv.hash64 section %d"
msgstr "ungültige .debug_line Sektion"
-#: src/readelf.c:3473
+#: src/readelf.c:3804
#, fuzzy, c-format
msgid "invalid data in gnu.hash section %d"
msgstr "ungültige .debug_line Sektion"
-#: src/readelf.c:3539
+#: src/readelf.c:3870
#, c-format
msgid ""
" Symbol Bias: %u\n"
" Bitmask Size: %zu bytes %<PRIuFAST32>%% bits set 2nd hash shift: %u\n"
msgstr ""
-#: src/readelf.c:3624
+#: src/readelf.c:3955
#, c-format
msgid ""
"\n"
@@ -4801,13 +4801,13 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:3638
+#: src/readelf.c:3969
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
msgstr ""
-#: src/readelf.c:3698
+#: src/readelf.c:4029
#, c-format
msgid ""
"\n"
@@ -4815,107 +4815,107 @@ msgid ""
"%#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:3715
+#: src/readelf.c:4046
msgid " Owner Size\n"
msgstr ""
-#: src/readelf.c:3739
+#: src/readelf.c:4070
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
#. Unknown subsection, print and skip.
-#: src/readelf.c:3778
+#: src/readelf.c:4109
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
#. Tag_File
-#: src/readelf.c:3783
+#: src/readelf.c:4114
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " File: %11<PRIu32>\n"
-#: src/readelf.c:3833
+#: src/readelf.c:4164
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>, %s\n"
-#: src/readelf.c:3836
+#: src/readelf.c:4167
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3839
+#: src/readelf.c:4170
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3849
+#: src/readelf.c:4180
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3852
+#: src/readelf.c:4183
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3890
+#: src/readelf.c:4221
#, fuzzy
msgid "Couldn't get data from section"
msgstr "konnte Versionierungsabschnitt nicht erstellen: %s"
-#: src/readelf.c:3955
+#: src/readelf.c:4286
#, fuzzy
msgid "sprintf failure"
msgstr "mprotect fehlgeschlagen"
-#: src/readelf.c:4439
+#: src/readelf.c:4770
msgid "empty block"
msgstr ""
-#: src/readelf.c:4442
+#: src/readelf.c:4773
#, c-format
msgid "%zu byte block:"
msgstr ""
-#: src/readelf.c:4920
+#: src/readelf.c:5251
#, c-format
msgid "%*s[%2<PRIuMAX>] %s <TRUNCATED>\n"
msgstr ""
-#: src/readelf.c:5080
+#: src/readelf.c:5423
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr ""
-#: src/readelf.c:5087
+#: src/readelf.c:5430
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr ""
-#: src/readelf.c:5094
+#: src/readelf.c:5437
#, c-format
msgid "%s %#<PRIx64> used with different base addresses"
msgstr ""
-#: src/readelf.c:5101
+#: src/readelf.c:5444
#, c-format
msgid "%s %#<PRIx64> used with different attribute %s and %s"
msgstr ""
-#: src/readelf.c:5201
+#: src/readelf.c:5544
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr ""
-#: src/readelf.c:5209
+#: src/readelf.c:5552
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr ""
-#: src/readelf.c:5315
+#: src/readelf.c:5658
#, c-format
msgid ""
"\n"
@@ -4923,74 +4923,74 @@ msgid ""
" [ Code]\n"
msgstr ""
-#: src/readelf.c:5323
+#: src/readelf.c:5666
#, c-format
msgid ""
"\n"
"Abbreviation section at offset %<PRIu64>:\n"
msgstr ""
-#: src/readelf.c:5336
+#: src/readelf.c:5679
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr ""
-#: src/readelf.c:5352
+#: src/readelf.c:5695
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr ""
-#: src/readelf.c:5389 src/readelf.c:5682 src/readelf.c:5853 src/readelf.c:6224
-#: src/readelf.c:6850 src/readelf.c:8619 src/readelf.c:9361 src/readelf.c:9829
-#: src/readelf.c:10084 src/readelf.c:10246 src/readelf.c:10627
-#: src/readelf.c:10698
+#: src/readelf.c:5732 src/readelf.c:6025 src/readelf.c:6196 src/readelf.c:6567
+#: src/readelf.c:7193 src/readelf.c:8962 src/readelf.c:9704 src/readelf.c:10172
+#: src/readelf.c:10427 src/readelf.c:10589 src/readelf.c:10970
+#: src/readelf.c:11041
#, c-format
msgid ""
"\n"
"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:5492 src/readelf.c:5516 src/readelf.c:5889 src/readelf.c:9397
+#: src/readelf.c:5835 src/readelf.c:5859 src/readelf.c:6232 src/readelf.c:9740
#, fuzzy, c-format
msgid " Length: %8<PRIu64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5494 src/readelf.c:5531 src/readelf.c:5902 src/readelf.c:9410
+#: src/readelf.c:5837 src/readelf.c:5874 src/readelf.c:6245 src/readelf.c:9753
#, fuzzy, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5495 src/readelf.c:5540 src/readelf.c:5911 src/readelf.c:9419
+#: src/readelf.c:5838 src/readelf.c:5883 src/readelf.c:6254 src/readelf.c:9762
#, fuzzy, c-format
msgid " Address size: %8<PRIu64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5497 src/readelf.c:5550 src/readelf.c:5921 src/readelf.c:9429
+#: src/readelf.c:5840 src/readelf.c:5893 src/readelf.c:6264 src/readelf.c:9772
#, fuzzy, c-format
msgid " Segment size: %8<PRIu64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5535 src/readelf.c:5906 src/readelf.c:9414 src/readelf.c:10820
+#: src/readelf.c:5878 src/readelf.c:6249 src/readelf.c:9757 src/readelf.c:11163
#, fuzzy, c-format
msgid "Unknown version"
msgstr "unbekannte Version"
-#: src/readelf.c:5545 src/readelf.c:5752 src/readelf.c:5916 src/readelf.c:9424
+#: src/readelf.c:5888 src/readelf.c:6095 src/readelf.c:6259 src/readelf.c:9767
#, fuzzy, c-format
msgid "unsupported address size"
msgstr "Kein Adress-Wert"
-#: src/readelf.c:5556 src/readelf.c:5763 src/readelf.c:5926 src/readelf.c:9434
+#: src/readelf.c:5899 src/readelf.c:6106 src/readelf.c:6269 src/readelf.c:9777
#, c-format
msgid "unsupported segment size"
msgstr ""
-#: src/readelf.c:5609
+#: src/readelf.c:5952
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr ""
-#: src/readelf.c:5624
+#: src/readelf.c:5967
#, c-format
msgid ""
"\n"
@@ -5001,229 +5001,229 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:5655
+#: src/readelf.c:5998
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:5657
+#: src/readelf.c:6000
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
msgstr ""
-#: src/readelf.c:5695 src/readelf.c:8638
+#: src/readelf.c:6038 src/readelf.c:8981
#, c-format
msgid ""
"\n"
"Table at offset %zu:\n"
msgstr ""
-#: src/readelf.c:5699 src/readelf.c:5870 src/readelf.c:6874 src/readelf.c:8649
-#: src/readelf.c:9378
+#: src/readelf.c:6042 src/readelf.c:6213 src/readelf.c:7217 src/readelf.c:8992
+#: src/readelf.c:9721
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr ""
-#: src/readelf.c:5715
+#: src/readelf.c:6058
#, fuzzy, c-format
msgid ""
"\n"
" Length: %6<PRIu64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5727
+#: src/readelf.c:6070
#, fuzzy, c-format
msgid " DWARF version: %6<PRIuFAST16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5731
+#: src/readelf.c:6074
#, c-format
msgid "unsupported aranges version"
msgstr ""
-#: src/readelf.c:5742
+#: src/readelf.c:6085
#, fuzzy, c-format
msgid " CU offset: %6<PRIx64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5748
+#: src/readelf.c:6091
#, c-format
msgid " Address size: %6<PRIu64>\n"
msgstr ""
-#: src/readelf.c:5759
+#: src/readelf.c:6102
#, c-format
msgid ""
" Segment size: %6<PRIu64>\n"
"\n"
msgstr ""
-#: src/readelf.c:5814
+#: src/readelf.c:6157
#, c-format
msgid " %zu padding bytes\n"
msgstr ""
-#: src/readelf.c:5876 src/readelf.c:9384
+#: src/readelf.c:6219 src/readelf.c:9727
#, fuzzy, c-format
msgid ""
"Table at Offset 0x%<PRIx64>:\n"
"\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5931 src/readelf.c:9439
+#: src/readelf.c:6274 src/readelf.c:9782
#, fuzzy, c-format
msgid " Offset entries: %8<PRIu64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5947 src/readelf.c:9455
+#: src/readelf.c:6290 src/readelf.c:9798
#, c-format
msgid " Unknown CU base: "
msgstr ""
-#: src/readelf.c:5949 src/readelf.c:9457
+#: src/readelf.c:6292 src/readelf.c:9800
#, c-format
msgid " CU [%6<PRIx64>] base: "
msgstr ""
-#: src/readelf.c:5955 src/readelf.c:9463
+#: src/readelf.c:6298 src/readelf.c:9806
#, c-format
msgid " Not associated with a CU.\n"
msgstr ""
-#: src/readelf.c:5966 src/readelf.c:9474
+#: src/readelf.c:6309 src/readelf.c:9817
#, c-format
msgid "too many offset entries for unit length"
msgstr ""
-#: src/readelf.c:5970 src/readelf.c:9478
+#: src/readelf.c:6313 src/readelf.c:9821
#, fuzzy, c-format
msgid " Offsets starting at 0x%<PRIx64>:\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:6022
+#: src/readelf.c:6365
#, fuzzy, c-format
msgid "invalid range list data"
msgstr "Ungültige Daten"
-#: src/readelf.c:6207 src/readelf.c:9813
+#: src/readelf.c:6550 src/readelf.c:10156
#, c-format
msgid ""
" %zu padding bytes\n"
"\n"
msgstr ""
-#: src/readelf.c:6255 src/readelf.c:9862
+#: src/readelf.c:6598 src/readelf.c:10205
#, c-format
msgid ""
"\n"
" Unknown CU base: "
msgstr ""
-#: src/readelf.c:6257 src/readelf.c:9864
+#: src/readelf.c:6600 src/readelf.c:10207
#, c-format
msgid ""
"\n"
" CU [%6<PRIx64>] base: "
msgstr ""
-#: src/readelf.c:6266 src/readelf.c:9890 src/readelf.c:9916
+#: src/readelf.c:6609 src/readelf.c:10233 src/readelf.c:10259
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr ""
-#: src/readelf.c:6291 src/readelf.c:10000
+#: src/readelf.c:6634 src/readelf.c:10343
#, fuzzy
msgid "base address"
msgstr "Außerhalb des Adressbereiches"
-#: src/readelf.c:6301 src/readelf.c:10010
+#: src/readelf.c:6644 src/readelf.c:10353
#, fuzzy, c-format
msgid " [%6tx] empty list\n"
msgstr " [%6tx] %s..%s\n"
-#: src/readelf.c:6565
+#: src/readelf.c:6908
msgid " <INVALID DATA>\n"
msgstr ""
-#: src/readelf.c:6822
+#: src/readelf.c:7165
#, fuzzy, c-format
msgid "cannot get ELF: %s"
msgstr "ELF Kopf konnte nicht ausgelesen werden"
-#: src/readelf.c:6846
+#: src/readelf.c:7189
#, c-format
msgid ""
"\n"
"Call frame information section [%2zu] '%s' at offset %#<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:6896
+#: src/readelf.c:7239
#, c-format
msgid ""
"\n"
" [%6tx] Zero terminator\n"
msgstr ""
-#: src/readelf.c:7000 src/readelf.c:7154
+#: src/readelf.c:7343 src/readelf.c:7497
#, fuzzy, c-format
msgid "invalid augmentation length"
msgstr "ungültige Abschnittsausrichtung"
-#: src/readelf.c:7015
+#: src/readelf.c:7358
msgid "FDE address encoding: "
msgstr ""
-#: src/readelf.c:7021
+#: src/readelf.c:7364
msgid "LSDA pointer encoding: "
msgstr ""
-#: src/readelf.c:7131
+#: src/readelf.c:7474
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr ""
-#: src/readelf.c:7138
+#: src/readelf.c:7481
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr ""
-#: src/readelf.c:7175
+#: src/readelf.c:7518
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr ""
-#: src/readelf.c:7260
+#: src/readelf.c:7603
#, c-format
msgid "DIE [%<PRIx64>] cannot get attribute code: %s"
msgstr ""
-#: src/readelf.c:7270
+#: src/readelf.c:7613
#, c-format
msgid "DIE [%<PRIx64>] cannot get attribute form: %s"
msgstr ""
-#: src/readelf.c:7292
+#: src/readelf.c:7635
#, c-format
msgid "DIE [%<PRIx64>] cannot get attribute '%s' (%s) value: %s"
msgstr ""
-#: src/readelf.c:7622
+#: src/readelf.c:7965
#, fuzzy, c-format
msgid "invalid file (%<PRId64>): %s"
msgstr "Ungültige Datei"
-#: src/readelf.c:7626
+#: src/readelf.c:7969
#, fuzzy, c-format
msgid "no srcfiles for CU [%<PRIx64>]"
msgstr "unbekannte Form %<PRIx64>"
-#: src/readelf.c:7630
+#: src/readelf.c:7973
#, fuzzy, c-format
msgid "couldn't get DWARF CU: %s"
msgstr "ELF Kopf konnte nicht ausgelesen werden"
-#: src/readelf.c:7952
+#: src/readelf.c:8295
#, c-format
msgid ""
"\n"
@@ -5231,12 +5231,12 @@ msgid ""
" [Offset]\n"
msgstr ""
-#: src/readelf.c:8002
+#: src/readelf.c:8345
#, fuzzy, c-format
msgid "cannot get next unit: %s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:8022
+#: src/readelf.c:8365
#, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5245,7 +5245,7 @@ msgid ""
" Type signature: %#<PRIx64>, Type offset: %#<PRIx64> [%<PRIx64>]\n"
msgstr ""
-#: src/readelf.c:8034
+#: src/readelf.c:8377
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5253,37 +5253,37 @@ msgid ""
"%<PRIu8>, Offset size: %<PRIu8>\n"
msgstr ""
-#: src/readelf.c:8044 src/readelf.c:8205
+#: src/readelf.c:8387 src/readelf.c:8548
#, c-format
msgid " Unit type: %s (%<PRIu8>)"
msgstr ""
-#: src/readelf.c:8071
+#: src/readelf.c:8414
#, c-format
msgid "unknown version (%d) or unit type (%d)"
msgstr ""
-#: src/readelf.c:8100
+#: src/readelf.c:8443
#, c-format
msgid "cannot get DIE offset: %s"
msgstr ""
-#: src/readelf.c:8109
+#: src/readelf.c:8452
#, fuzzy, c-format
msgid "cannot get tag of DIE at offset [%<PRIx64>] in section '%s': %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/readelf.c:8145
+#: src/readelf.c:8488
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr ""
-#: src/readelf.c:8153
+#: src/readelf.c:8496
#, c-format
msgid "cannot get next DIE: %s"
msgstr ""
-#: src/readelf.c:8197
+#: src/readelf.c:8540
#, c-format
msgid ""
" Split compilation unit at offset %<PRIu64>:\n"
@@ -5291,7 +5291,7 @@ msgid ""
"%<PRIu8>, Offset size: %<PRIu8>\n"
msgstr ""
-#: src/readelf.c:8249
+#: src/readelf.c:8592
#, c-format
msgid ""
"\n"
@@ -5299,13 +5299,13 @@ msgid ""
"\n"
msgstr ""
-#: src/readelf.c:8581
+#: src/readelf.c:8924
#, fuzzy, c-format
msgid "unknown form: %s"
msgstr "unbekannte Form %<PRIx64>"
#. Print what we got so far.
-#: src/readelf.c:8729
+#: src/readelf.c:9072
#, c-format
msgid ""
"\n"
@@ -5324,187 +5324,187 @@ msgid ""
"Opcodes:\n"
msgstr ""
-#: src/readelf.c:8751
+#: src/readelf.c:9094
#, fuzzy, c-format
msgid "cannot handle .debug_line version: %u\n"
msgstr "ungültige .debug_line Sektion"
-#: src/readelf.c:8759
+#: src/readelf.c:9102
#, fuzzy, c-format
msgid "cannot handle address size: %u\n"
msgstr "Kein Adress-Wert"
-#: src/readelf.c:8767
+#: src/readelf.c:9110
#, c-format
msgid "cannot handle segment selector size: %u\n"
msgstr ""
-#: src/readelf.c:8777
+#: src/readelf.c:9120
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
msgstr ""
-#: src/readelf.c:8792
+#: src/readelf.c:9135
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:8803
+#: src/readelf.c:9146
msgid ""
"\n"
"Directory table:"
msgstr ""
-#: src/readelf.c:8809 src/readelf.c:8886
+#: src/readelf.c:9152 src/readelf.c:9229
#, fuzzy, c-format
msgid " ["
msgstr " %s: %s\n"
-#: src/readelf.c:8880
+#: src/readelf.c:9223
msgid ""
"\n"
"File name table:"
msgstr ""
-#: src/readelf.c:8941
+#: src/readelf.c:9284
msgid " Entry Dir Time Size Name"
msgstr ""
-#: src/readelf.c:8987
+#: src/readelf.c:9330
msgid ""
"\n"
"No line number statements."
msgstr ""
-#: src/readelf.c:8991
+#: src/readelf.c:9334
msgid ""
"\n"
"Line number statements:"
msgstr ""
-#: src/readelf.c:9006
+#: src/readelf.c:9349
#, c-format
msgid "invalid maximum operations per instruction is zero"
msgstr ""
-#: src/readelf.c:9040
+#: src/readelf.c:9383
#, c-format
msgid " special opcode %u: address+%u = "
msgstr ""
-#: src/readelf.c:9044
+#: src/readelf.c:9387
#, c-format
msgid ", op_index = %u, line%+d = %zu\n"
msgstr ""
-#: src/readelf.c:9047
+#: src/readelf.c:9390
#, c-format
msgid ", line%+d = %zu\n"
msgstr ""
-#: src/readelf.c:9065
+#: src/readelf.c:9408
#, c-format
msgid " extended opcode %u: "
msgstr ""
-#: src/readelf.c:9070
+#: src/readelf.c:9413
msgid " end of sequence"
msgstr ""
-#: src/readelf.c:9088
+#: src/readelf.c:9431
#, fuzzy, c-format
msgid " set address to "
msgstr "Außerhalb des Adressbereiches"
-#: src/readelf.c:9116
+#: src/readelf.c:9459
#, c-format
msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
msgstr ""
-#: src/readelf.c:9130
+#: src/readelf.c:9473
#, c-format
msgid " set discriminator to %u\n"
msgstr ""
-#: src/readelf.c:9157
+#: src/readelf.c:9500
#, c-format
msgid " set inlined context %u, function name %s (0x%x)\n"
msgstr ""
-#: src/readelf.c:9181
+#: src/readelf.c:9524
#, c-format
msgid " set function name %s (0x%x)\n"
msgstr ""
#. Unknown, ignore it.
-#: src/readelf.c:9188
+#: src/readelf.c:9531
#, fuzzy
msgid " unknown opcode"
msgstr "unbekannter Typ"
#. Takes no argument.
-#: src/readelf.c:9200
+#: src/readelf.c:9543
msgid " copy"
msgstr ""
-#: src/readelf.c:9211
+#: src/readelf.c:9554
#, c-format
msgid " advance address by %u to "
msgstr ""
-#: src/readelf.c:9215 src/readelf.c:9276
+#: src/readelf.c:9558 src/readelf.c:9619
#, c-format
msgid ", op_index to %u"
msgstr ""
-#: src/readelf.c:9227
+#: src/readelf.c:9570
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr ""
-#: src/readelf.c:9237
+#: src/readelf.c:9580
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr ""
-#: src/readelf.c:9248
+#: src/readelf.c:9591
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr ""
-#: src/readelf.c:9255
+#: src/readelf.c:9598
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr ""
#. Takes no argument.
-#: src/readelf.c:9261
+#: src/readelf.c:9604
msgid " set basic block flag"
msgstr ""
-#: src/readelf.c:9272
+#: src/readelf.c:9615
#, c-format
msgid " advance address by constant %u to "
msgstr ""
-#: src/readelf.c:9292
+#: src/readelf.c:9635
#, c-format
msgid " advance address by fixed value %u to \n"
msgstr ""
#. Takes no argument.
-#: src/readelf.c:9302
+#: src/readelf.c:9645
msgid " set prologue end flag"
msgstr ""
#. Takes no argument.
-#: src/readelf.c:9307
+#: src/readelf.c:9650
msgid " set epilogue begin flag"
msgstr ""
-#: src/readelf.c:9317
+#: src/readelf.c:9660
#, c-format
msgid " set isa to %u\n"
msgstr ""
@@ -5512,93 +5512,93 @@ msgstr ""
#. This is a new opcode the generator but not we know about.
#. Read the parameters associated with it but then discard
#. everything. Read all the parameters for this opcode.
-#: src/readelf.c:9326
+#: src/readelf.c:9669
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:9527
+#: src/readelf.c:9870
#, c-format
msgid " <INVALID DATA>\n"
msgstr ""
-#: src/readelf.c:9567
+#: src/readelf.c:9910
#, fuzzy, c-format
msgid "invalid loclists data"
msgstr "Ungültige Daten"
-#: src/readelf.c:10037 src/readelf.c:11082
+#: src/readelf.c:10380 src/readelf.c:11425
msgid " <INVALID DATA>\n"
msgstr ""
-#: src/readelf.c:10168
+#: src/readelf.c:10511
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr ""
-#: src/readelf.c:10191
+#: src/readelf.c:10534
#, c-format
msgid "%*s*** missing DW_MACINFO_start_file argument at end of section"
msgstr ""
-#: src/readelf.c:10286
+#: src/readelf.c:10629
#, fuzzy, c-format
msgid " Offset: 0x%<PRIx64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10298
+#: src/readelf.c:10641
#, fuzzy, c-format
msgid " Version: %<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10304 src/readelf.c:11202
+#: src/readelf.c:10647 src/readelf.c:11546
#, c-format
msgid " unknown version, cannot parse section\n"
msgstr ""
-#: src/readelf.c:10311
+#: src/readelf.c:10654
#, fuzzy, c-format
msgid " Flag: 0x%<PRIx8>"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10340
+#: src/readelf.c:10683
#, c-format
msgid " Offset length: %<PRIu8>\n"
msgstr ""
-#: src/readelf.c:10348
+#: src/readelf.c:10691
#, c-format
msgid " .debug_line offset: 0x%<PRIx64>\n"
msgstr ""
-#: src/readelf.c:10373
+#: src/readelf.c:10716
#, c-format
msgid " extension opcode table, %<PRIu8> items:\n"
msgstr ""
-#: src/readelf.c:10380
+#: src/readelf.c:10723
#, c-format
msgid " [%<PRIx8>]"
msgstr ""
-#: src/readelf.c:10392
+#: src/readelf.c:10735
#, c-format
msgid " %<PRIu8> arguments:"
msgstr ""
-#: src/readelf.c:10407
+#: src/readelf.c:10750
#, c-format
msgid " no arguments."
msgstr ""
-#: src/readelf.c:10608
+#: src/readelf.c:10951
#, c-format
msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
msgstr ""
-#: src/readelf.c:10663
+#: src/readelf.c:11006
#, c-format
msgid ""
"\n"
@@ -5607,72 +5607,72 @@ msgid ""
msgstr ""
#. TRANS: the debugstr| prefix makes the string unique.
-#: src/readelf.c:10668
+#: src/readelf.c:11011
msgctxt "debugstr"
msgid "Offset"
msgstr ""
-#: src/readelf.c:10678
+#: src/readelf.c:11021
#, c-format
msgid " *** error, missing string terminator\n"
msgstr ""
-#: src/readelf.c:10800
+#: src/readelf.c:11143
#, fuzzy, c-format
msgid " Length: %8<PRIu64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10802
+#: src/readelf.c:11145
#, fuzzy, c-format
msgid " Offset size: %8<PRIu8>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10816
+#: src/readelf.c:11159
#, fuzzy, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10825
+#: src/readelf.c:11168
#, fuzzy, c-format
msgid " Padding: %8<PRIx16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10879
+#: src/readelf.c:11222
#, c-format
msgid ""
"\n"
"Call frame search table section [%2zu] '.eh_frame_hdr':\n"
msgstr ""
-#: src/readelf.c:10981
+#: src/readelf.c:11324
#, c-format
msgid ""
"\n"
"Exception handling table section [%2zu] '.gcc_except_table':\n"
msgstr ""
-#: src/readelf.c:11004
+#: src/readelf.c:11347
#, c-format
msgid " LPStart encoding: %#x "
msgstr ""
-#: src/readelf.c:11016
+#: src/readelf.c:11359
#, c-format
msgid " TType encoding: %#x "
msgstr ""
-#: src/readelf.c:11033
+#: src/readelf.c:11376
#, c-format
msgid " Call site encoding: %#x "
msgstr ""
-#: src/readelf.c:11048
+#: src/readelf.c:11391
msgid ""
"\n"
" Call site table:"
msgstr ""
-#: src/readelf.c:11064
+#: src/readelf.c:11407
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -5681,142 +5681,164 @@ msgid ""
" Action: %u\n"
msgstr ""
-#: src/readelf.c:11137
+#: src/readelf.c:11480
#, c-format
msgid "invalid TType encoding"
msgstr ""
-#: src/readelf.c:11164
+#: src/readelf.c:11507
#, c-format
msgid ""
"\n"
"GDB section [%2zu] '%s' at offset %#<PRIx64> contains %<PRId64> bytes :\n"
msgstr ""
-#: src/readelf.c:11193
+#: src/readelf.c:11536
#, fuzzy, c-format
msgid " Version: %<PRId32>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:11211
+#: src/readelf.c:11555
#, c-format
msgid " CU offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:11218
+#: src/readelf.c:11562
#, c-format
msgid " TU offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:11225
+#: src/readelf.c:11569
#, c-format
msgid " address offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:11232
+#: src/readelf.c:11576
#, c-format
msgid " symbol offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:11239
+#: src/readelf.c:11586
+#, fuzzy, c-format
+msgid " shortcut offset: %#<PRIx32>\n"
+msgstr " %s: %<PRId64>\n"
+
+#: src/readelf.c:11594
#, c-format
msgid " constant offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:11253
+#: src/readelf.c:11608
#, c-format
msgid ""
"\n"
" CU list at offset %#<PRIx32> contains %zu entries:\n"
msgstr ""
-#: src/readelf.c:11278
+#: src/readelf.c:11633
#, c-format
msgid ""
"\n"
" TU list at offset %#<PRIx32> contains %zu entries:\n"
msgstr ""
-#: src/readelf.c:11307
+#: src/readelf.c:11662
#, c-format
msgid ""
"\n"
" Address list at offset %#<PRIx32> contains %zu entries:\n"
msgstr ""
-#: src/readelf.c:11339
+#: src/readelf.c:11705
#, c-format
msgid ""
"\n"
" Symbol table at offset %#<PRIx32> contains %zu slots:\n"
msgstr ""
-#: src/readelf.c:11477
+#: src/readelf.c:11790
+#, c-format
+msgid ""
+"\n"
+"Shortcut table at offset %#<PRIx32> contains %zu slots:\n"
+msgstr ""
+
+#: src/readelf.c:11802
+#, c-format
+msgid "Language of main: %s\n"
+msgstr ""
+
+#: src/readelf.c:11803
+#, c-format
+msgid "Name of main: "
+msgstr ""
+
+#: src/readelf.c:11886
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr ""
-#: src/readelf.c:11843 src/readelf.c:12463 src/readelf.c:12573
-#: src/readelf.c:12630
+#: src/readelf.c:12252 src/readelf.c:12872 src/readelf.c:12982
+#: src/readelf.c:13039
#, c-format
msgid "cannot convert core note data: %s"
msgstr ""
-#: src/readelf.c:12207
+#: src/readelf.c:12616
#, c-format
msgid ""
"\n"
"%*s... <repeats %u more times> ..."
msgstr ""
-#: src/readelf.c:12709
+#: src/readelf.c:13118
msgid " Owner Data size Type\n"
msgstr ""
-#: src/readelf.c:12737
+#: src/readelf.c:13146
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr ""
-#: src/readelf.c:12789
+#: src/readelf.c:13198
#, fuzzy, c-format
msgid "cannot get content of note: %s"
msgstr "Konnte Inhalt von %s: %s nicht lesen"
-#: src/readelf.c:12822
+#: src/readelf.c:13231
#, c-format
msgid ""
"\n"
"Note section [%2zu] '%s' of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:12845
+#: src/readelf.c:13254
#, c-format
msgid ""
"\n"
"Note segment of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:12892
+#: src/readelf.c:13301
#, fuzzy, c-format
msgid ""
"\n"
"Section [%zu] '%s' has no data to dump.\n"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:12919 src/readelf.c:12970
+#: src/readelf.c:13328 src/readelf.c:13379
#, fuzzy, c-format
msgid "cannot get data for section [%zu] '%s': %s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:12924
+#: src/readelf.c:13333
#, c-format
msgid ""
"\n"
"Hex dump of section [%zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:12929
+#: src/readelf.c:13338
#, c-format
msgid ""
"\n"
@@ -5824,21 +5846,21 @@ msgid ""
"%#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:12943
+#: src/readelf.c:13352
#, fuzzy, c-format
msgid ""
"\n"
"Section [%zu] '%s' has no strings to dump.\n"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:12975
+#: src/readelf.c:13384
#, c-format
msgid ""
"\n"
"String section [%zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:12980
+#: src/readelf.c:13389
#, c-format
msgid ""
"\n"
@@ -5846,45 +5868,45 @@ msgid ""
"offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:13028
+#: src/readelf.c:13437
#, c-format
msgid ""
"\n"
"section [%lu] does not exist"
msgstr ""
-#: src/readelf.c:13058
+#: src/readelf.c:13467
#, c-format
msgid ""
"\n"
"section '%s' does not exist"
msgstr ""
-#: src/readelf.c:13113
+#: src/readelf.c:13522
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr ""
-#: src/readelf.c:13116
+#: src/readelf.c:13525
#, c-format
msgid ""
"\n"
"Archive '%s' has no symbol index\n"
msgstr ""
-#: src/readelf.c:13120
+#: src/readelf.c:13529
#, c-format
msgid ""
"\n"
"Index of archive '%s' has %zu entries:\n"
msgstr ""
-#: src/readelf.c:13138
+#: src/readelf.c:13547
#, fuzzy, c-format
msgid "cannot extract member at offset %zu in '%s': %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/readelf.c:13143
+#: src/readelf.c:13552
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr ""
@@ -6362,7 +6384,7 @@ msgstr "Fehler beim Schliessen des Elf-Desktriptor: %s\n"
msgid "%s: error while getting shdrstrndx: %s"
msgstr "Fehler beim Schliessen des Elf-Desktriptor: %s\n"
-#: src/strip.c:1712 src/strip.c:2553
+#: src/strip.c:1712 src/strip.c:2552
#, fuzzy, c-format
msgid "%s: error updating shdrstrndx: %s"
msgstr "Fehler beim Schliessen des Elf-Desktriptor: %s\n"
@@ -6396,7 +6418,7 @@ msgstr ""
msgid "Cannot remove symbol [%zd] from allocated symbol table [%zd]"
msgstr ""
-#: src/strip.c:2469 src/strip.c:2577
+#: src/strip.c:2469 src/strip.c:2574
#, c-format
msgid "while writing '%s': %s"
msgstr ""
@@ -6416,22 +6438,22 @@ msgstr ""
msgid "%s: error while creating ELF header: %s"
msgstr ""
-#: src/strip.c:2562
+#: src/strip.c:2560
#, c-format
msgid "%s: error while reading the file: %s"
msgstr ""
-#: src/strip.c:2602 src/strip.c:2622
+#: src/strip.c:2599 src/strip.c:2619
#, fuzzy, c-format
msgid "while writing '%s'"
msgstr "beim Schliessen von '%s'"
-#: src/strip.c:2659 src/strip.c:2666
+#: src/strip.c:2656 src/strip.c:2663
#, c-format
msgid "error while finishing '%s': %s"
msgstr ""
-#: src/strip.c:2683 src/strip.c:2759
+#: src/strip.c:2680 src/strip.c:2756
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr ""
@@ -6877,7 +6899,7 @@ msgid ""
"section PATH SECTION-NAME\n"
msgstr ""
-#: tests/backtrace.c:483
+#: tests/backtrace.c:491
msgid "Run executable"
msgstr ""
diff --git a/po/es.po b/po/es.po
index 472a6b70..37362094 100644
--- a/po/es.po
+++ b/po/es.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: elfutils\n"
"Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n"
-"POT-Creation-Date: 2023-03-03 16:09+0100\n"
+"POT-Creation-Date: 2023-11-03 17:36+0100\n"
"PO-Revision-Date: 2011-01-10 15:17-0300\n"
"Last-Translator: Claudio Rodrigo Pereyra Diaz <claudiorodrigo@pereyradiaz."
"com.ar>\n"
@@ -52,7 +52,7 @@ msgstr ""
"garantía, ni siquiera para SU COMERCIALIZACIÓN o PARA SER USADO CON UN FIN "
"DETERMINADO.\n"
-#: lib/xmalloc.c:47 lib/xmalloc.c:60 lib/xmalloc.c:72 src/readelf.c:11793
+#: lib/xmalloc.c:47 lib/xmalloc.c:60 lib/xmalloc.c:72 src/readelf.c:12202
#: src/unstrip.c:311
#, c-format
msgid "memory exhausted"
@@ -555,7 +555,7 @@ msgstr "No hay segundo plano (Backend)"
#: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:79
#: libebl/eblobjnotetypename.c:113 libebl/eblobjnotetypename.c:134
#: libebl/eblosabiname.c:73 libebl/eblsectionname.c:83
-#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:81
+#: libebl/eblsectiontypename.c:116 libebl/eblsegmenttypename.c:81
msgid "<unknown>"
msgstr "<desconocido>"
@@ -649,7 +649,7 @@ msgstr "tamaño inválido del operando fuente"
msgid "invalid size of destination operand"
msgstr "tamaño inválido del operando destino"
-#: libelf/elf_error.c:86 src/readelf.c:6415
+#: libelf/elf_error.c:86 src/readelf.c:6758
#, c-format
msgid "invalid encoding"
msgstr "codificación inválida"
@@ -735,8 +735,8 @@ msgstr "no coinciden los datos/scn"
msgid "invalid section header"
msgstr "encabezamiento de sección inválida"
-#: libelf/elf_error.c:190 src/readelf.c:10294 src/readelf.c:10899
-#: src/readelf.c:11000 src/readelf.c:11188
+#: libelf/elf_error.c:190 src/readelf.c:10637 src/readelf.c:11242
+#: src/readelf.c:11343 src/readelf.c:11531
#, c-format
msgid "invalid data"
msgstr "datos inválidos"
@@ -1404,8 +1404,8 @@ msgid "Suppress some error output (counterpart to --verbose)"
msgstr ""
#. Strings for arguments in help texts.
-#: src/elfclassify.c:979 src/elfcompress.c:1433 src/elflint.c:76
-#: src/readelf.c:160
+#: src/elfclassify.c:979 src/elfcompress.c:1436 src/elflint.c:77
+#: src/readelf.c:161
msgid "FILE..."
msgstr "FICHERO..."
@@ -1696,22 +1696,22 @@ msgid "unknown compression type '%s'"
msgstr "tipo desconocido"
#. We need at least one input file.
-#: src/elfcompress.c:162 src/elfcompress.c:1444
+#: src/elfcompress.c:162 src/elfcompress.c:1447
#, fuzzy, c-format
msgid "No input file given"
msgstr "archivo de entrada vacío"
-#: src/elfcompress.c:168 src/elfcompress.c:1448
+#: src/elfcompress.c:168 src/elfcompress.c:1451
#, fuzzy, c-format
msgid "Only one input file allowed together with '-o'"
msgstr "Sólo se permite ingresar un archivo junto con '-o' y '-f'"
-#: src/elfcompress.c:1405
+#: src/elfcompress.c:1408
#, fuzzy
msgid "Place (de)compressed output into FILE"
msgstr "Colocar la salida obtenida en FICHERO"
-#: src/elfcompress.c:1408
+#: src/elfcompress.c:1411
msgid ""
"What type of compression to apply. TYPE can be 'none' (decompress), "
"'zlib' (ELF ZLIB compression, the default, 'zlib-gabi' is an alias), 'zlib-"
@@ -1719,49 +1719,49 @@ msgid ""
"compression)"
msgstr ""
-#: src/elfcompress.c:1412
+#: src/elfcompress.c:1415
msgid ""
"SECTION name to (de)compress, SECTION is an extended wildcard pattern "
"(defaults to '.?(z)debug*')"
msgstr ""
-#: src/elfcompress.c:1415
+#: src/elfcompress.c:1418
msgid "Print a message for each section being (de)compressed"
msgstr ""
-#: src/elfcompress.c:1418
+#: src/elfcompress.c:1421
msgid ""
"Force compression of section even if it would become larger or update/"
"rewrite the file even if no section would be (de)compressed"
msgstr ""
-#: src/elfcompress.c:1421 src/strip.c:92
+#: src/elfcompress.c:1424 src/strip.c:92
msgid "Relax a few rules to handle slightly broken ELF files"
msgstr "Relaja algunas reglas para manejar ficheros ELF rotos"
-#: src/elfcompress.c:1424
+#: src/elfcompress.c:1427
#, fuzzy
msgid "Be silent when a section cannot be compressed"
msgstr ""
"Sección [%2zu] '%s': dirección de secciones de datos de hilo-local no cero\n"
-#: src/elfcompress.c:1434
+#: src/elfcompress.c:1437
msgid "Compress or decompress sections in an ELF file."
msgstr ""
-#: src/elflint.c:62
+#: src/elflint.c:63
msgid "Be extremely strict, flag level 2 features."
msgstr "Sea extremadamente estricto, característica de marca de nivel 2."
-#: src/elflint.c:63
+#: src/elflint.c:64
msgid "Do not print anything if successful"
msgstr "No imprime nada si está correcto"
-#: src/elflint.c:64
+#: src/elflint.c:65
msgid "Binary is a separate debuginfo file"
msgstr "Binario es un archivo debuginfo independiente"
-#: src/elflint.c:66
+#: src/elflint.c:67
msgid ""
"Binary has been created with GNU ld and is therefore known to be broken in "
"certain ways"
@@ -1770,174 +1770,174 @@ msgstr ""
"roto de alguna forma"
#. Short description of program.
-#: src/elflint.c:72
+#: src/elflint.c:73
msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
msgstr "Chequeo minucioso de ficheros ELF de acuerdo con gABI/psABI "
-#: src/elflint.c:153 src/readelf.c:391
+#: src/elflint.c:154 src/readelf.c:413
#, fuzzy, c-format
msgid "cannot open input file '%s'"
msgstr "no se puede abrir el fichero de entrada"
-#: src/elflint.c:160
+#: src/elflint.c:161
#, fuzzy, c-format
msgid "cannot generate Elf descriptor for '%s': %s\n"
msgstr "no se puede crear descriptor ELF: %s\n"
-#: src/elflint.c:179
+#: src/elflint.c:180
#, c-format
msgid "error while closing Elf descriptor: %s\n"
msgstr "error al cerrar el descriptor ELF: %s\n"
-#: src/elflint.c:183
+#: src/elflint.c:184
msgid "No errors"
msgstr "No hay errores"
-#: src/elflint.c:218 src/readelf.c:603
+#: src/elflint.c:219 src/readelf.c:625
msgid "Missing file name.\n"
msgstr "Falta el nombre de archivo.\n"
-#: src/elflint.c:283
+#: src/elflint.c:284
#, c-format
msgid " error while freeing sub-ELF descriptor: %s\n"
msgstr " error al liberar descriptor sub-ELF: %s\n"
#. We cannot do anything.
-#: src/elflint.c:291
+#: src/elflint.c:292
#, c-format
msgid "Not an ELF file - it has the wrong magic bytes at the start\n"
msgstr "No es un fichero ELF - tiene los bytes mágicos errados en el inicio\n"
-#: src/elflint.c:357
+#: src/elflint.c:358
#, c-format
msgid "e_ident[%d] == %d is no known class\n"
msgstr "e_ident[%d] == %d es una clase desconocida\n"
-#: src/elflint.c:362
+#: src/elflint.c:363
#, c-format
msgid "e_ident[%d] == %d is no known data encoding\n"
msgstr "e_ident[%d] == %d es una codificación de datos desconocida\n"
-#: src/elflint.c:366
+#: src/elflint.c:367
#, c-format
msgid "unknown ELF header version number e_ident[%d] == %d\n"
msgstr ""
"número de versión de encabezamiento ELF desconocido e_ident[%d] == %d\n"
-#: src/elflint.c:374
+#: src/elflint.c:375
#, c-format
msgid "unsupported OS ABI e_ident[%d] == '%s'\n"
msgstr "Sistema operativo OS ABI e_ident[%d] == '%s' incompatible\n"
-#: src/elflint.c:380
+#: src/elflint.c:381
#, fuzzy, c-format
msgid "unsupported ABI version e_ident[%d] == %d\n"
msgstr "Versión incompatible ABI e_ident[%d] == %d\n"
-#: src/elflint.c:385
+#: src/elflint.c:386
#, c-format
msgid "e_ident[%zu] is not zero\n"
msgstr "e_ident[%zu] no es cero\n"
-#: src/elflint.c:390
+#: src/elflint.c:391
#, c-format
msgid "unknown object file type %d\n"
msgstr "tipo de fichero objeto desconocido %d\n"
-#: src/elflint.c:397
+#: src/elflint.c:398
#, c-format
msgid "unknown machine type %d\n"
msgstr "tipo de máquina desconocido %d\n"
-#: src/elflint.c:401
+#: src/elflint.c:402
#, c-format
msgid "unknown object file version\n"
msgstr "versión de fichero objeto desconocido\n"
-#: src/elflint.c:407
+#: src/elflint.c:408
#, c-format
msgid "invalid program header offset\n"
msgstr "Compensación de encabezamiento de programa inválida\n"
-#: src/elflint.c:409
+#: src/elflint.c:410
#, c-format
msgid "executables and DSOs cannot have zero program header offset\n"
msgstr ""
"tanto los ejecutables como los DSO no pueden tener compensación de "
"encabezamiento de programa cero\n"
-#: src/elflint.c:413
+#: src/elflint.c:414
#, c-format
msgid "invalid number of program header entries\n"
msgstr "cantidad no válida de entradas del encabezamiento del programa\n"
-#: src/elflint.c:421
+#: src/elflint.c:422
#, c-format
msgid "invalid section header table offset\n"
msgstr "compensación de sección de tabla de encabezamiento inválida\n"
-#: src/elflint.c:424
+#: src/elflint.c:425
#, c-format
msgid "section header table must be present\n"
msgstr "tabla de encabezamiento de sección debe estar presente\n"
-#: src/elflint.c:438
+#: src/elflint.c:439
#, c-format
msgid "invalid number of section header table entries\n"
msgstr ""
"cantidad no válida de entradas en la tabla del encabezamiento de sección\n"
-#: src/elflint.c:455
+#: src/elflint.c:456
#, c-format
msgid "invalid section header index\n"
msgstr "Ãndice de sección de encabezamiento inválido\n"
-#: src/elflint.c:473
+#: src/elflint.c:474
#, c-format
msgid "Can only check %u headers, shnum was %u\n"
msgstr ""
-#: src/elflint.c:487
+#: src/elflint.c:488
#, c-format
msgid "invalid number of program header table entries\n"
msgstr "cantidad no válida de entradas de tabla de encabezado del programa\n"
-#: src/elflint.c:504
+#: src/elflint.c:505
#, c-format
msgid "Can only check %u headers, phnum was %u\n"
msgstr ""
-#: src/elflint.c:509
+#: src/elflint.c:510
#, c-format
msgid "invalid machine flags: %s\n"
msgstr "Indicadores de máquina inválidos: %s\n"
-#: src/elflint.c:516 src/elflint.c:533
+#: src/elflint.c:517 src/elflint.c:534
#, c-format
msgid "invalid ELF header size: %hd\n"
msgstr "tamaño inválido del encabezamiento ELF: %hd\n"
-#: src/elflint.c:519 src/elflint.c:536
+#: src/elflint.c:520 src/elflint.c:537
#, c-format
msgid "invalid program header size: %hd\n"
msgstr "tamaño inválido del encabezamiento del programa: %hd\n"
-#: src/elflint.c:522 src/elflint.c:539
+#: src/elflint.c:523 src/elflint.c:540
#, c-format
msgid "invalid program header position or size\n"
msgstr "tamaño o posición inválidos del encabezamiento del programa\n"
-#: src/elflint.c:525 src/elflint.c:542
+#: src/elflint.c:526 src/elflint.c:543
#, c-format
msgid "invalid section header size: %hd\n"
msgstr "tamaño inválido del encabezamiento de sección: %hd\n"
-#: src/elflint.c:528 src/elflint.c:545
+#: src/elflint.c:529 src/elflint.c:546
#, c-format
msgid "invalid section header position or size\n"
msgstr "tamaño o posición no válidos del encabezamiento de sección\n"
-#: src/elflint.c:590
+#: src/elflint.c:591
#, c-format
msgid ""
"section [%2d] '%s': section with SHF_GROUP flag set not part of a section "
@@ -1946,7 +1946,7 @@ msgstr ""
"sección [%2d] '%s': sección con la bandera SHF_GROUP no es parte de una "
"sección de grupo\n"
-#: src/elflint.c:594
+#: src/elflint.c:595
#, c-format
msgid ""
"section [%2d] '%s': section group [%2zu] '%s' does not precede group member\n"
@@ -1954,14 +1954,14 @@ msgstr ""
"sección [%2d] '%s': el grupo de sección [%2zu] '%s' no precede al miembro de "
"grupo\n"
-#: src/elflint.c:610 src/elflint.c:1498 src/elflint.c:1549 src/elflint.c:1655
-#: src/elflint.c:1991 src/elflint.c:2317 src/elflint.c:2943 src/elflint.c:3106
-#: src/elflint.c:3254 src/elflint.c:3456 src/elflint.c:4468
+#: src/elflint.c:611 src/elflint.c:1509 src/elflint.c:1560 src/elflint.c:1610
+#: src/elflint.c:1692 src/elflint.c:2029 src/elflint.c:2355 src/elflint.c:2981
+#: src/elflint.c:3144 src/elflint.c:3292 src/elflint.c:3494 src/elflint.c:4511
#, c-format
msgid "section [%2d] '%s': cannot get section data\n"
msgstr "Sección [%2d] '%s': No se pueden obtener datos de sección\n"
-#: src/elflint.c:623 src/elflint.c:1662
+#: src/elflint.c:624 src/elflint.c:1699
#, c-format
msgid ""
"section [%2d] '%s': referenced as string table for section [%2d] '%s' but "
@@ -1970,7 +1970,7 @@ msgstr ""
"sección [%2d] '%s': nombrado como una tabla de cadena para la sección [%2d] "
"'%s' pero el tipo no es SHT_STRTAB\n"
-#: src/elflint.c:646
+#: src/elflint.c:647
#, c-format
msgid ""
"section [%2d] '%s': symbol table cannot have more than one extended index "
@@ -1979,13 +1979,13 @@ msgstr ""
"sección [%2d] '%s': la tabla de símbolo no puede tener más de una sección de "
"índice extendido\n"
-#: src/elflint.c:658
+#: src/elflint.c:659
#, c-format
msgid "section [%2u] '%s': entry size is does not match ElfXX_Sym\n"
msgstr ""
"sección [%2u] '%s': el tamaño de la entrada no coincide con ElfXX_Sym\n"
-#: src/elflint.c:662
+#: src/elflint.c:663
#, fuzzy, c-format
msgid ""
"section [%2u] '%s': number of local entries in 'st_info' larger than table "
@@ -1994,33 +1994,33 @@ msgstr ""
"Sección [%2d] '%s': no hay entradas de nota definidas para el tipo de "
"archivo\n"
-#: src/elflint.c:671
+#: src/elflint.c:672
#, c-format
msgid "section [%2d] '%s': cannot get symbol %d: %s\n"
msgstr "Sección [%2d] '%s': no se puede obtener símbolo %d: %s\n"
-#: src/elflint.c:676 src/elflint.c:679 src/elflint.c:682 src/elflint.c:685
-#: src/elflint.c:688 src/elflint.c:691
+#: src/elflint.c:677 src/elflint.c:680 src/elflint.c:683 src/elflint.c:686
+#: src/elflint.c:689 src/elflint.c:692
#, c-format
msgid "section [%2d] '%s': '%s' in zeroth entry not zero\n"
msgstr "Sección [%2d] '%s': '%s' en la entrada zeroth no es cero\n"
-#: src/elflint.c:694
+#: src/elflint.c:695
#, c-format
msgid "section [%2d] '%s': XINDEX for zeroth entry not zero\n"
msgstr "sección [%2d] '%s': XINDEX en la entrada zeroth no es cero\n"
-#: src/elflint.c:704
+#: src/elflint.c:705
#, c-format
msgid "section [%2d] '%s': cannot get symbol %zu: %s\n"
msgstr "sección [%2d] '%s': no es posible obtener el símbolo %zu: %s\n"
-#: src/elflint.c:713
+#: src/elflint.c:714
#, c-format
msgid "section [%2d] '%s': symbol %zu: invalid name value\n"
msgstr "sección [%2d] '%s': símbolo %zu: valor de nombre inválido\n"
-#: src/elflint.c:728
+#: src/elflint.c:729
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): too large section index but no extended "
@@ -2029,7 +2029,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo %zu: el índice de sección es demasiado extenso, "
"pero no la sección extendida de la sección de índice\n"
-#: src/elflint.c:734
+#: src/elflint.c:735
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): XINDEX used for index which would fit "
@@ -2039,27 +2039,27 @@ msgstr ""
"caber en st_shndx (%<PRIu32>)\n"
#. || sym->st_shndx > SHN_HIRESERVE always false
-#: src/elflint.c:746
+#: src/elflint.c:747
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): invalid section index\n"
msgstr "sección [%2d] '%s': símbolo %zu: índice de sección inválido\n"
-#: src/elflint.c:754
+#: src/elflint.c:755
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unknown type\n"
msgstr "sección [%2d] '%s': símbolo %zu: tipo desconocido\n"
-#: src/elflint.c:760
+#: src/elflint.c:761
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unknown symbol binding\n"
msgstr "sección [%2d] '%s': símbolo %zu: asociación de símbolo desconocida\n"
-#: src/elflint.c:765
+#: src/elflint.c:766
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unique symbol not of object type\n"
msgstr "Sección [%2d] '%s': símbolo %zu: símbolo único no de tipo de objeto\n"
-#: src/elflint.c:773
+#: src/elflint.c:774
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): COMMON only allowed in relocatable "
@@ -2068,26 +2068,26 @@ msgstr ""
"sección [%2d] '%s': símbolo %zu: COMMON solo es permitido en archivos "
"realojables\n"
-#: src/elflint.c:777
+#: src/elflint.c:778
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): local COMMON symbols are nonsense\n"
msgstr ""
"Sección [%2d] '%s': símbolo %zu: símbolos locales COMMON no tienen sentido\n"
-#: src/elflint.c:781
+#: src/elflint.c:782
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): function in COMMON section is nonsense\n"
msgstr ""
"Sección [%2d] '%s': símbolo %zu: función en sección COMMON no tiene sentido\n"
-#: src/elflint.c:832
+#: src/elflint.c:833
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): st_value out of bounds\n"
msgstr "sección [%2d] '%s': símbolo %zu: st_value fuera de límites\n"
-#: src/elflint.c:838 src/elflint.c:863 src/elflint.c:912
+#: src/elflint.c:839 src/elflint.c:864 src/elflint.c:913
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s) does not fit completely in referenced "
@@ -2096,7 +2096,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo %zu no se ajusta totalmente en la sección [%2d] "
"'%s'\n"
-#: src/elflint.c:847
+#: src/elflint.c:848
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): referenced section [%2d] '%s' does not "
@@ -2105,7 +2105,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo %zu: sección de referencia [%2d] '%s' no tiene "
"establecida bandera SHF_TLS\n"
-#: src/elflint.c:857 src/elflint.c:905
+#: src/elflint.c:858 src/elflint.c:906
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): st_value out of bounds of referenced "
@@ -2114,7 +2114,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo %zu: st_value fuera de límites de sección de "
"referencia [%2d] '%s'\n"
-#: src/elflint.c:884
+#: src/elflint.c:885
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): TLS symbol but no TLS program header "
@@ -2123,7 +2123,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo %zu: símbolo TLS, pero no hay entrada de "
"programa TLS\n"
-#: src/elflint.c:890
+#: src/elflint.c:891
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): TLS symbol but couldn't get TLS program "
@@ -2132,7 +2132,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo %zu: símbolo TLS, pero no hay entrada de "
"programa TLS\n"
-#: src/elflint.c:898
+#: src/elflint.c:899
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): st_value short of referenced section "
@@ -2141,7 +2141,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo %zu: st_value falta sección de referencia [%2d] "
"'%s'\n"
-#: src/elflint.c:925
+#: src/elflint.c:926
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): local symbol outside range described in "
@@ -2150,7 +2150,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo %zu: símbolo local fuera del rango descrito en "
"sh_info\n"
-#: src/elflint.c:932
+#: src/elflint.c:933
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): non-local symbol outside range "
@@ -2159,12 +2159,12 @@ msgstr ""
"Sección [%2d] '%s': símbolo %zu: símbolo non-local fuera del rango descrito "
"en sh_info\n"
-#: src/elflint.c:939
+#: src/elflint.c:940
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): non-local section symbol\n"
msgstr "Sección [%2d] '%s': símbolo %zu: símbolo de sección non-local\n"
-#: src/elflint.c:989
+#: src/elflint.c:990
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section "
@@ -2173,7 +2173,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo _GLOBAL_OFFSET_TABLE_ se refiere a sección "
"errada [%2d]\n"
-#: src/elflint.c:996
+#: src/elflint.c:997
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] "
@@ -2185,7 +2185,7 @@ msgstr ""
#. This test is more strict than the psABIs which
#. usually allow the symbol to be in the middle of
#. the .got section, allowing negative offsets.
-#: src/elflint.c:1012
+#: src/elflint.c:1013
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
@@ -2194,7 +2194,7 @@ msgstr ""
"Sección [%2d] '%s': valor del símbolo _GLOBAL_OFFSET_TABLE_ %#<PRIx64> no "
"coincide con dirección de sección %s %#<PRIx64>\n"
-#: src/elflint.c:1019
+#: src/elflint.c:1020
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
@@ -2203,7 +2203,7 @@ msgstr ""
"Sección [%2d] '%s': tamaño de símbolo _GLOBAL_OFFSET_TABLE_ %<PRIu64> no "
"coincide con tamaño de sección %s %<PRIu64>\n"
-#: src/elflint.c:1027
+#: src/elflint.c:1028
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
@@ -2212,7 +2212,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo _GLOBAL_OFFSET_TABLE_ presente, pero no. sección "
"got\n"
-#: src/elflint.c:1043
+#: src/elflint.c:1044
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
@@ -2221,7 +2221,7 @@ msgstr ""
"sección [%2d] '%s': Valor de símbolo _DYNAMIC_ %#<PRIx64> no coincide con la "
"dirección de segmento%#<PRIx64>\n"
-#: src/elflint.c:1050
+#: src/elflint.c:1051
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
@@ -2230,7 +2230,7 @@ msgstr ""
"Sección [%2d] '%s': tamaño de símbolo _DYNAMIC %<PRIu64> no coincide con "
"tamaño de segmento %<PRIu64>\n"
-#: src/elflint.c:1063
+#: src/elflint.c:1064
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): symbol in dynamic symbol table with non-"
@@ -2239,29 +2239,29 @@ msgstr ""
"Sección [%2d] '%s': símbolo %zu: símbolo en tabla de símbolos dinámicos sin "
"visibilidad predeterminada\n"
-#: src/elflint.c:1067
+#: src/elflint.c:1068
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unknown bit set in st_other\n"
msgstr ""
"Sección [%2d] '%s': símbolo %zu: bit desconocido establecido en st_other\n"
-#: src/elflint.c:1105
+#: src/elflint.c:1106
#, fuzzy, c-format
msgid "section [%2d] '%s': cannot get section data.\n"
msgstr "Sección [%2d] '%s': No se pueden obtener datos de sección\n"
-#: src/elflint.c:1121
+#: src/elflint.c:1122
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
msgstr "Sección [%2d] '%s': DT_RELCOUNT utilizada para esta sección RELA\n"
-#: src/elflint.c:1132 src/elflint.c:1185
+#: src/elflint.c:1133 src/elflint.c:1186
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
msgstr ""
"Sección [%2d] '%s': valor DT_RELCOUNT %d demasiado alto para esta sección\n"
-#: src/elflint.c:1157 src/elflint.c:1210
+#: src/elflint.c:1158 src/elflint.c:1211
#, c-format
msgid ""
"section [%2d] '%s': relative relocations after index %d as specified by "
@@ -2270,7 +2270,7 @@ msgstr ""
"Sección [%2d] '%s': reubicaciones relativas después de que el %d de índice "
"haya sido especificado por DT_RELCOUNT\n"
-#: src/elflint.c:1163 src/elflint.c:1216
+#: src/elflint.c:1164 src/elflint.c:1217
#, c-format
msgid ""
"section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
@@ -2279,50 +2279,44 @@ msgstr ""
"Sección [%2d] '%s': reubicación no-relativa en %zu de índice; DT_RELCOUNT "
"especificado %d reubicaciones relativas\n"
-#: src/elflint.c:1175
+#: src/elflint.c:1176
#, c-format
msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
msgstr "sección [%2d] '%s': DT_RELACOUNT utilizado para esta sección REL\n"
-#: src/elflint.c:1258
+#: src/elflint.c:1259
#, c-format
msgid "section [%2d] '%s': invalid destination section index\n"
msgstr "Sección [%2d] '%s': índice de sección de destino inválido\n"
-#: src/elflint.c:1270
+#: src/elflint.c:1271
#, c-format
msgid "section [%2d] '%s': invalid destination section type\n"
msgstr "Sección [%2d] '%s': tipo de sección de destino inválido\n"
-#: src/elflint.c:1278
+#: src/elflint.c:1279
#, c-format
msgid "section [%2d] '%s': sh_info should be zero\n"
msgstr "Sección [%2d] '%s': sh_info debe ser cero\n"
-#: src/elflint.c:1286
+#: src/elflint.c:1287
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': no relocations for merge-able string sections possible\n"
msgstr ""
"Sección [%2d] '%s': no reubicaciones para secciones de fusión posibles\n"
-#: src/elflint.c:1294
-#, c-format
-msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
-msgstr ""
-"Sección [%2d] '%s': tamaño de entrada de sección no coincide con ElfXX_Rela\n"
-
-#: src/elflint.c:1354
+#: src/elflint.c:1365
#, c-format
msgid "text relocation flag set but there is no read-only segment\n"
msgstr "Reubicación de bandera pero no hay segmento de sólo lectura\n"
-#: src/elflint.c:1381
+#: src/elflint.c:1392
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid type\n"
msgstr "Sección [%2d] '%s': reubicación %zu: tipo inválido\n"
-#: src/elflint.c:1389
+#: src/elflint.c:1400
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: relocation type invalid for the file "
@@ -2331,12 +2325,12 @@ msgstr ""
"Sección [%2d] '%s': reubicación %zu: tipo de reubicación inválido para el "
"tipo de archivo\n"
-#: src/elflint.c:1397
+#: src/elflint.c:1408
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
msgstr "Sección [%2d] '%s': reubicación %zu: índice de símbolo inválido\n"
-#: src/elflint.c:1415
+#: src/elflint.c:1426
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
@@ -2345,12 +2339,12 @@ msgstr ""
"Sección [%2d] '%s': reubicación %zu: sólo el símbolo '_GLOBAL_OFFSET_TABLE_' "
"puede utilizarse con %s\n"
-#: src/elflint.c:1432
+#: src/elflint.c:1443
#, c-format
msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
msgstr "Sección [%2d] '%s': reubicación %zu: compensación fuera de límites\n"
-#: src/elflint.c:1447
+#: src/elflint.c:1458
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: copy relocation against symbol of type "
@@ -2359,7 +2353,7 @@ msgstr ""
"Sección [%2d] '%s': reubicación %zu: reubicación de copia con símbolo de "
"tipo %s\n"
-#: src/elflint.c:1468
+#: src/elflint.c:1479
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: read-only section modified but text "
@@ -2368,24 +2362,24 @@ msgstr ""
"Sección [%2d] '%s': reubicación %zu: sección de sólo-lectura modificada, "
"pero no se estableció bandera de reubicación\n"
-#: src/elflint.c:1483
+#: src/elflint.c:1494
#, c-format
msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
msgstr ""
"Sección [%2d] '%s': las reubicaciones se hacen con datos cargados y "
"descargados\n"
-#: src/elflint.c:1523 src/elflint.c:1574
+#: src/elflint.c:1534 src/elflint.c:1585
#, c-format
msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
msgstr "Sección [%2d] '%s': no puede obtener reubicación %zu: %s\n"
-#: src/elflint.c:1650
+#: src/elflint.c:1687
#, c-format
msgid "more than one dynamic section present\n"
msgstr "más de una sección dinámica presente\n"
-#: src/elflint.c:1668
+#: src/elflint.c:1705
#, fuzzy, c-format
msgid ""
"section [%2d]: referenced as string table for section [%2d] '%s' but section "
@@ -2394,44 +2388,44 @@ msgstr ""
"sección [%2d] '%s': nombrado como una tabla de cadena para la sección [%2d] "
"'%s' pero el tipo no es SHT_STRTAB\n"
-#: src/elflint.c:1676
+#: src/elflint.c:1713
#, c-format
msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
msgstr ""
"Sección [%2d] '%s': tamaño de entrada de sección no coincide con ElfXX_Dyn\n"
-#: src/elflint.c:1681 src/elflint.c:1970
+#: src/elflint.c:1718 src/elflint.c:2008
#, c-format
msgid "section [%2d] '%s': sh_info not zero\n"
msgstr "Sección [%2d] '%s': sh_info no es cero\n"
-#: src/elflint.c:1691
+#: src/elflint.c:1728
#, c-format
msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
msgstr ""
"Sección [%2d] '%s': no puede obtener entrada de sección dinámica %zu: %s\n"
-#: src/elflint.c:1699
+#: src/elflint.c:1736
#, c-format
msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
msgstr "Sección [%2d] '%s': entradas non-DT_NULL siguen a la entrada DT_NULL\n"
-#: src/elflint.c:1706
+#: src/elflint.c:1743
#, c-format
msgid "section [%2d] '%s': entry %zu: unknown tag\n"
msgstr "Sección [%2d] '%s': entrada %zu: etiqueta desconocida\n"
-#: src/elflint.c:1717
+#: src/elflint.c:1754
#, c-format
msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
msgstr "Sección [%2d] '%s': entrada %zu: más de una entrada con etiqueta %s\n"
-#: src/elflint.c:1727
+#: src/elflint.c:1764
#, c-format
msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
msgstr "Sección [%2d] '%s': entrada %zu: nivel 2 etiqueta %s utilizada\n"
-#: src/elflint.c:1745
+#: src/elflint.c:1782
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
@@ -2439,7 +2433,7 @@ msgstr ""
"Sección [%2d] '%s': entrada %zu: el valor DT_PLTREL debe ser DT_REL or "
"DT_RELA\n"
-#: src/elflint.c:1758
+#: src/elflint.c:1795
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: pointer does not match address of section "
@@ -2448,14 +2442,14 @@ msgstr ""
"Sección [%2d] '%s': entrada %zu: puntero no coincide con dirección de "
"sección [%2d] '%s' al que hace referencia sh_link\n"
-#: src/elflint.c:1801
+#: src/elflint.c:1839
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
msgstr ""
"Sección [%2d] '%s': entrada %zu: valor %s debe apuntar en segmento cargado\n"
-#: src/elflint.c:1816
+#: src/elflint.c:1854
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must be valid offset in section "
@@ -2464,46 +2458,46 @@ msgstr ""
"sección [%2d] '%s': entrada %zu: valor %s debe ser compensación válida en "
"sección [%2d] '%s'\n"
-#: src/elflint.c:1836 src/elflint.c:1864
+#: src/elflint.c:1874 src/elflint.c:1902
#, c-format
msgid "section [%2d] '%s': contains %s entry but not %s\n"
msgstr "Sección [%2d] '%s': contiene entrada %s pero no %s\n"
-#: src/elflint.c:1848
+#: src/elflint.c:1886
#, c-format
msgid "section [%2d] '%s': mandatory tag %s not present\n"
msgstr "Sección [%2d] '%s': etiqueta obligatoria %s no está presente\n"
-#: src/elflint.c:1857
+#: src/elflint.c:1895
#, c-format
msgid "section [%2d] '%s': no hash section present\n"
msgstr "Sección [%2d] '%s': no hay sección de dispersión presente\n"
-#: src/elflint.c:1872 src/elflint.c:1879
+#: src/elflint.c:1910 src/elflint.c:1917
#, c-format
msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
msgstr "Sección [%2d] '%s': no todas las %s, %s, y %s están presentes\n"
-#: src/elflint.c:1889 src/elflint.c:1893
+#: src/elflint.c:1927 src/elflint.c:1931
#, c-format
msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
msgstr ""
"Sección [%2d] '%s': etiqueta %s faltante en DSO marcada durante el pre-"
"enlace\n"
-#: src/elflint.c:1899
+#: src/elflint.c:1937
#, c-format
msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
msgstr ""
"Sección [%2d] '%s': archivo no-DSO marcado como dependencia durante el pre-"
"enlace\n"
-#: src/elflint.c:1910 src/elflint.c:1914 src/elflint.c:1918 src/elflint.c:1922
+#: src/elflint.c:1948 src/elflint.c:1952 src/elflint.c:1956 src/elflint.c:1960
#, c-format
msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
msgstr "Sección [%2d] '%s': etiqueta %s faltante en pre-enlace ejecutable\n"
-#: src/elflint.c:1934
+#: src/elflint.c:1972
#, c-format
msgid ""
"section [%2d] '%s': only relocatable files can have extended section index\n"
@@ -2511,37 +2505,37 @@ msgstr ""
"Sección [%2d] '%s': sólo los archivos reubicables pueden tener índice de "
"sección extendido\n"
-#: src/elflint.c:1944
+#: src/elflint.c:1982
#, c-format
msgid ""
"section [%2d] '%s': extended section index section not for symbol table\n"
msgstr ""
"Sección [%2d] '%s': índice de sección extendido no para tabla de símbolos\n"
-#: src/elflint.c:1948
+#: src/elflint.c:1986
#, fuzzy, c-format
msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n"
msgstr ""
"Sección [%2d] '%s': índice de sección extendido no para tabla de símbolos\n"
-#: src/elflint.c:1953
+#: src/elflint.c:1991
#, c-format
msgid "cannot get data for symbol section\n"
msgstr "no se puede obtener sección para símbolos\n"
-#: src/elflint.c:1956
+#: src/elflint.c:1994
#, c-format
msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
msgstr "Sección [%2d] '%s': tamaño de entrada no coincide con Elf32_Word\n"
-#: src/elflint.c:1965
+#: src/elflint.c:2003
#, c-format
msgid "section [%2d] '%s': extended index table too small for symbol table\n"
msgstr ""
"Sección [%2d] '%s': tabla de índice extendida demasiado pequeña para tabla "
"de símbolos\n"
-#: src/elflint.c:1980
+#: src/elflint.c:2018
#, c-format
msgid ""
"section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
@@ -2550,24 +2544,24 @@ msgstr ""
"Sección [%2d] '%s': índice de sección extendida en sección [%2zu] '%s' se "
"refiere a la misma tabla de símbolos\n"
-#: src/elflint.c:1998
+#: src/elflint.c:2036
#, c-format
msgid "symbol 0 should have zero extended section index\n"
msgstr "símbolo 0 debe tener índice de sección extendida cero\n"
-#: src/elflint.c:2010
+#: src/elflint.c:2048
#, c-format
msgid "cannot get data for symbol %zu\n"
msgstr "no puede obtener datos para símbolo %zu\n"
-#: src/elflint.c:2015
+#: src/elflint.c:2053
#, c-format
msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
msgstr ""
"índice de sección extendida es %<PRIu32> pero índice de símbolo no es "
"XINDEX\n"
-#: src/elflint.c:2032 src/elflint.c:2089
+#: src/elflint.c:2070 src/elflint.c:2127
#, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
@@ -2575,42 +2569,42 @@ msgstr ""
"Sección [%2d] '%s': sección de tabla de dispersión es demasiado pequeña (es "
"%ld, se espera %ld)\n"
-#: src/elflint.c:2046 src/elflint.c:2103
+#: src/elflint.c:2084 src/elflint.c:2141
#, c-format
msgid "section [%2d] '%s': chain array too large\n"
msgstr "Sección [%2d] '%s': índice de la cadena es demasiado grande\n"
-#: src/elflint.c:2060 src/elflint.c:2117
+#: src/elflint.c:2098 src/elflint.c:2155
#, c-format
msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
msgstr ""
"Sección [%2d] '%s': referencia de cubetas de dispersión %zu fuera de "
"límites\n"
-#: src/elflint.c:2070
+#: src/elflint.c:2108
#, c-format
msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
msgstr ""
"Sección [%2d] '%s': referencia de cadena de dispersión %zu fuera de límites\n"
-#: src/elflint.c:2127
+#: src/elflint.c:2165
#, c-format
msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
msgstr ""
"Sección [%2d] '%s': referencia de cadena de dispersión %<PRIu64> fuera de "
"límites\n"
-#: src/elflint.c:2140
+#: src/elflint.c:2178
#, fuzzy, c-format
msgid "section [%2d] '%s': not enough data\n"
msgstr "Sección [%2d] '%s': no puede obtener datos: %s\n"
-#: src/elflint.c:2152
+#: src/elflint.c:2190
#, fuzzy, c-format
msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n"
msgstr "Sección [%2d] '%s': tamaño de bitmask no es potencia de 2: %u\n"
-#: src/elflint.c:2168
+#: src/elflint.c:2206
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected at "
@@ -2619,14 +2613,14 @@ msgstr ""
"Sección [%2d] '%s': sección de tabla de dispersión es demasiado pequeña (es "
"%ld, se espera al menos least%ld)\n"
-#: src/elflint.c:2177
+#: src/elflint.c:2215
#, c-format
msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
msgstr ""
"Sección [%2d] '%s': segundo cambio de función de dispersión demasiado "
"grande: %u\n"
-#: src/elflint.c:2211
+#: src/elflint.c:2249
#, c-format
msgid ""
"section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
@@ -2634,7 +2628,7 @@ msgstr ""
"Sección [%2d] '%s': cadena de dispersión para cubetas %zu inferior a "
"polarización de índice de símbolo\n"
-#: src/elflint.c:2232
+#: src/elflint.c:2270
#, c-format
msgid ""
"section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
@@ -2643,7 +2637,7 @@ msgstr ""
"Sección [%2d] '%s': el símbolo %u al que se hace referencia en cadena para "
"cubeta %zu es indefinido\n"
-#: src/elflint.c:2245
+#: src/elflint.c:2283
#, c-format
msgid ""
"section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
@@ -2651,7 +2645,7 @@ msgstr ""
"Sección [%2d] '%s': valor de dispersión para símbolo %u en cadena para "
"cubeta %zu está errado\n"
-#: src/elflint.c:2254
+#: src/elflint.c:2292
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n"
@@ -2659,13 +2653,13 @@ msgstr ""
"Sección [%2d] '%s': valor de dispersión para símbolo %u en cadena para "
"cubeta %zu está errado\n"
-#: src/elflint.c:2284
+#: src/elflint.c:2322
#, c-format
msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
msgstr ""
"Sección [%2d] '%s': cadena de dispersión para cubeta %zu fuera de limites\n"
-#: src/elflint.c:2289
+#: src/elflint.c:2327
#, c-format
msgid ""
"section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
@@ -2673,43 +2667,43 @@ msgstr ""
"Sección [%2d] '%s': referencia de símbolo en cadena para cubeta %zu fuera de "
"límites\n"
-#: src/elflint.c:2295
+#: src/elflint.c:2333
#, c-format
msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
msgstr ""
"Sección [%2d] '%s': bitmask no coincide con nombres en la tabla de "
"dispersión\n"
-#: src/elflint.c:2308
+#: src/elflint.c:2346
#, c-format
msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
msgstr ""
"Sección [%2d] '%s': archivos reubicables no pueden tener tablas de "
"dispersión\n"
-#: src/elflint.c:2326
+#: src/elflint.c:2364
#, c-format
msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
msgstr ""
"Sección [%2d] '%s': tabla de dispersión no para tabla de símbolos dinámicos\n"
-#: src/elflint.c:2330
+#: src/elflint.c:2368
#, fuzzy, c-format
msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n"
msgstr "Sección [%2d] '%s': índice de sección de destino inválido\n"
-#: src/elflint.c:2340
+#: src/elflint.c:2378
#, c-format
msgid "section [%2d] '%s': hash table entry size incorrect\n"
msgstr ""
"Sección [%2d] '%s': tamaño incorrecto de entrada de tabla de dispersión\n"
-#: src/elflint.c:2345
+#: src/elflint.c:2383
#, c-format
msgid "section [%2d] '%s': not marked to be allocated\n"
msgstr "Sección [%2d] '%s': no marcada para ser asignada\n"
-#: src/elflint.c:2350
+#: src/elflint.c:2388
#, c-format
msgid ""
"section [%2d] '%s': hash table has not even room for initial administrative "
@@ -2718,46 +2712,46 @@ msgstr ""
"Sección [%2d] '%s': tabla de dispersión no tiene ni siquiera espacio para "
"entradas administrativas iniciales\n"
-#: src/elflint.c:2399
+#: src/elflint.c:2437
#, c-format
msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
msgstr ""
"sh_link en secciones de dispersión [%2zu] '%s' y [%2zu] '%s' no son "
"idénticas\n"
-#: src/elflint.c:2423 src/elflint.c:2488 src/elflint.c:2523
+#: src/elflint.c:2461 src/elflint.c:2526 src/elflint.c:2561
#, fuzzy, c-format
msgid "hash section [%2zu] '%s' does not contain enough data\n"
msgstr "sección [%2zu] '%s' no debe ser ejecutable\n"
-#: src/elflint.c:2444
+#: src/elflint.c:2482
#, fuzzy, c-format
msgid "hash section [%2zu] '%s' has zero bit mask words\n"
msgstr "Sección [%2d] '%s': grupo de sección sin palabra de banderas\n"
-#: src/elflint.c:2455 src/elflint.c:2499 src/elflint.c:2536
+#: src/elflint.c:2493 src/elflint.c:2537 src/elflint.c:2574
#, fuzzy, c-format
msgid "hash section [%2zu] '%s' uses too much data\n"
msgstr "sección [%2zu] '%s' debe ser asignada\n"
-#: src/elflint.c:2470
+#: src/elflint.c:2508
#, c-format
msgid ""
"hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: "
"%<PRIu32>, nentries: %<PRIu32>\n"
msgstr ""
-#: src/elflint.c:2557
+#: src/elflint.c:2595
#, fuzzy, c-format
msgid "hash section [%2zu] '%s' invalid sh_entsize\n"
msgstr "Sección [%2zu]: nombre inválido\n"
-#: src/elflint.c:2567 src/elflint.c:2571
+#: src/elflint.c:2605 src/elflint.c:2609
#, c-format
msgid "section [%2zu] '%s': reference to symbol index 0\n"
msgstr "Sección [%2zu] '%s': referencia al índice de símbolo 0\n"
-#: src/elflint.c:2578
+#: src/elflint.c:2616
#, c-format
msgid ""
"symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash "
@@ -2766,7 +2760,7 @@ msgstr ""
"Símbolo %d nombrado en nueva tabla de dispersión en [%2zu] '%s' pero no en "
"la tabla de dispersión anterior en [%2zu] '%s'\n"
-#: src/elflint.c:2590
+#: src/elflint.c:2628
#, c-format
msgid ""
"symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash "
@@ -2775,12 +2769,12 @@ msgstr ""
"Símbolo %d nombrado en la tabla de dispersión anterior en [%2zu] '%s' pero "
"no en la nueva tabla de dispersión en [%2zu] '%s'\n"
-#: src/elflint.c:2606
+#: src/elflint.c:2644
#, c-format
msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
msgstr "Sección [%2d] '%s': nonzero sh_%s para sección NULL\n"
-#: src/elflint.c:2626
+#: src/elflint.c:2664
#, c-format
msgid ""
"section [%2d] '%s': section groups only allowed in relocatable object files\n"
@@ -2788,99 +2782,99 @@ msgstr ""
"Sección [%2d] '%s': grupos de sección sólo permitidos en archivos de objeto "
"reubicables\n"
-#: src/elflint.c:2637
+#: src/elflint.c:2675
#, c-format
msgid "section [%2d] '%s': cannot get symbol table: %s\n"
msgstr "Sección [%2d] '%s': no puede obtener tabla de símbolos: %s\n"
-#: src/elflint.c:2642
+#: src/elflint.c:2680
#, c-format
msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
msgstr ""
"Sección [%2d] '%s': referencia de sección en sh_link no es una tabla de "
"símbolos\n"
-#: src/elflint.c:2648
+#: src/elflint.c:2686
#, c-format
msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
msgstr "Sección [%2d] '%s': índice de símbolo inválido en sh_info\n"
-#: src/elflint.c:2653
+#: src/elflint.c:2691
#, c-format
msgid "section [%2d] '%s': sh_flags not zero\n"
msgstr "Sección [%2d] '%s': sh_flags no cero\n"
-#: src/elflint.c:2660
+#: src/elflint.c:2698
#, c-format
msgid "section [%2d] '%s': cannot get symbol for signature\n"
msgstr "Sección [%2d] '%s': no puede obtener símbolo para firma\n"
-#: src/elflint.c:2664
+#: src/elflint.c:2702
#, fuzzy, c-format
msgid "section [%2d] '%s': cannot get symbol name for signature\n"
msgstr "Sección [%2d] '%s': no puede obtener símbolo para firma\n"
-#: src/elflint.c:2669
+#: src/elflint.c:2707
#, c-format
msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
msgstr ""
"sección [%2d] '%s': el símbolo de firma no puede ser una cadena vacía\n"
-#: src/elflint.c:2675
+#: src/elflint.c:2713
#, c-format
msgid "section [%2d] '%s': sh_flags not set correctly\n"
msgstr "Sección [%2d] '%s': sh_flags no establecida correctamente\n"
-#: src/elflint.c:2681
+#: src/elflint.c:2719
#, c-format
msgid "section [%2d] '%s': cannot get data: %s\n"
msgstr "Sección [%2d] '%s': no puede obtener datos: %s\n"
-#: src/elflint.c:2690
+#: src/elflint.c:2728
#, c-format
msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
msgstr ""
"Sección [%2d] '%s': tamaño de sección no es múltiplo de tamaño de "
"(Elf32_Word)\n"
-#: src/elflint.c:2696
+#: src/elflint.c:2734
#, c-format
msgid "section [%2d] '%s': section group without flags word\n"
msgstr "Sección [%2d] '%s': grupo de sección sin palabra de banderas\n"
-#: src/elflint.c:2704
+#: src/elflint.c:2742
#, c-format
msgid "section [%2d] '%s': section group without member\n"
msgstr "Sección [%2d] '%s': grupo de sección sin miembro\n"
-#: src/elflint.c:2708
+#: src/elflint.c:2746
#, c-format
msgid "section [%2d] '%s': section group with only one member\n"
msgstr "Sección [%2d] '%s': grupo de sección con sólo un miembro\n"
-#: src/elflint.c:2719
+#: src/elflint.c:2757
#, c-format
msgid "section [%2d] '%s': unknown section group flags\n"
msgstr "Sección [%2d] '%s': banderas de grupo de sección desconocido\n"
-#: src/elflint.c:2731
+#: src/elflint.c:2769
#, fuzzy, c-format
msgid "section [%2d] '%s': section index %zu out of range\n"
msgstr "Sección [%2d] '%s': índice de sección %Zu fuera de rango\n"
-#: src/elflint.c:2740
+#: src/elflint.c:2778
#, c-format
msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
msgstr ""
"Sección [%2d] '%s': no se puede obtener encabezamiento de sección para "
"elemento %zu: %s\n"
-#: src/elflint.c:2747
+#: src/elflint.c:2785
#, c-format
msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
msgstr "Sección [%2d] '%s': grupo de sección contiene otro grupo [%2d] '%s'\n"
-#: src/elflint.c:2753
+#: src/elflint.c:2791
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': element %zu references section [%2d] '%s' without "
@@ -2889,12 +2883,12 @@ msgstr ""
"Sección [%2d] '%s': elemento %Zu hace referencia a sección [%2d] '%s' sin "
"establecer bandera SHF_GROUP\n"
-#: src/elflint.c:2760
+#: src/elflint.c:2798
#, c-format
msgid "section [%2d] '%s' is contained in more than one section group\n"
msgstr "Sección [%2d] '%s' está contenida en más de un grupo de sección\n"
-#: src/elflint.c:2957
+#: src/elflint.c:2995
#, c-format
msgid ""
"section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no "
@@ -2903,7 +2897,7 @@ msgstr ""
"Sección [%2d] '%s' se refiere en sh_link a la sección [%2d] '%s' la cual no "
"es una tabla de símbolos dinámicos\n"
-#: src/elflint.c:2969
+#: src/elflint.c:3007
#, c-format
msgid ""
"section [%2d] '%s' has different number of entries than symbol table [%2d] "
@@ -2912,29 +2906,29 @@ msgstr ""
"Sección [%2d] '%s' tiene un número diferente de entradas a la de la tabla de "
"símbolos [%2d] '%s'\n"
-#: src/elflint.c:2985
+#: src/elflint.c:3023
#, c-format
msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
msgstr ""
"Sección [%2d] '%s': el símbolo %d: no se pueden leer datos de versión\n"
-#: src/elflint.c:3001
+#: src/elflint.c:3039
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
msgstr ""
"Sección [%2d] '%s': el símbolo %d: el símbolo local con alcance mundial\n"
-#: src/elflint.c:3009
+#: src/elflint.c:3047
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
msgstr "Sección [%2d] '%s': símbolo %d: símbolo local con versión\n"
-#: src/elflint.c:3023
+#: src/elflint.c:3061
#, c-format
msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
msgstr "Sección [%2d] '%s': símbolo %d: índice de versión inválida %d\n"
-#: src/elflint.c:3028
+#: src/elflint.c:3066
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for defined version\n"
@@ -2942,7 +2936,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo %d: índice de versión %d es para versión "
"definida\n"
-#: src/elflint.c:3038
+#: src/elflint.c:3076
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for requested version\n"
@@ -2950,46 +2944,46 @@ msgstr ""
"Sección [%2d] '%s': símbolo %d: índice de versión %d es para la versión "
"solicitada\n"
-#: src/elflint.c:3091
+#: src/elflint.c:3129
#, c-format
msgid "more than one version reference section present\n"
msgstr "Más de una sección de referencia de versión presente\n"
-#: src/elflint.c:3099 src/elflint.c:3246
+#: src/elflint.c:3137 src/elflint.c:3284
#, c-format
msgid "section [%2d] '%s': sh_link does not link to string table\n"
msgstr "Sección [%2d] '%s': sh_link no se enlaza a la tabla de cadenas\n"
-#: src/elflint.c:3124 src/elflint.c:3300
+#: src/elflint.c:3162 src/elflint.c:3338
#, c-format
msgid "section [%2d] '%s': entry %d has wrong version %d\n"
msgstr "Sección [%2d] '%s': entrada %d tiene versión %d errada\n"
-#: src/elflint.c:3131 src/elflint.c:3307
+#: src/elflint.c:3169 src/elflint.c:3345
#, c-format
msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
msgstr ""
"Sección [%2d] '%s': entrada %d tiene compensación errada de datos "
"auxiliares\n"
-#: src/elflint.c:3141
+#: src/elflint.c:3179
#, c-format
msgid "section [%2d] '%s': entry %d has invalid file reference\n"
msgstr "Sección [%2d] '%s': entrada %d tiene referencia de archivo inválida\n"
-#: src/elflint.c:3149
+#: src/elflint.c:3187
#, c-format
msgid "section [%2d] '%s': entry %d references unknown dependency\n"
msgstr "Sección [%2d] '%s': %d hace referencia a dependencia desconocida\n"
-#: src/elflint.c:3161
+#: src/elflint.c:3199
#, c-format
msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
msgstr ""
"sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene bandera "
"desconocida\n"
-#: src/elflint.c:3169
+#: src/elflint.c:3207
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
@@ -2998,7 +2992,7 @@ msgstr ""
"Sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene referencia de "
"nombre inválida\n"
-#: src/elflint.c:3178
+#: src/elflint.c:3216
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: "
@@ -3007,7 +3001,7 @@ msgstr ""
"Sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene valor de "
"dispersión: %#x, esperado %#x\n"
-#: src/elflint.c:3187
+#: src/elflint.c:3225
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
@@ -3016,7 +3010,7 @@ msgstr ""
"sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene nombre duplicado "
"'%s'\n"
-#: src/elflint.c:3198
+#: src/elflint.c:3236
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
@@ -3024,14 +3018,14 @@ msgstr ""
"sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene próximo campo "
"errado\n"
-#: src/elflint.c:3215 src/elflint.c:3391
+#: src/elflint.c:3253 src/elflint.c:3429
#, c-format
msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
msgstr ""
"sección [%2d] '%s': entrada %d tiene compensación inválida para próxima "
"entrada\n"
-#: src/elflint.c:3223 src/elflint.c:3399
+#: src/elflint.c:3261 src/elflint.c:3437
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says "
@@ -3040,46 +3034,46 @@ msgstr ""
"sección [%2d] '%s': entrada %d tiene compensación inválida para próxima "
"entrada\n"
-#: src/elflint.c:3238
+#: src/elflint.c:3276
#, c-format
msgid "more than one version definition section present\n"
msgstr "más de una definición de versión presente de sección\n"
-#: src/elflint.c:3285
+#: src/elflint.c:3323
#, c-format
msgid "section [%2d] '%s': more than one BASE definition\n"
msgstr "Sección [%2d] '%s': más de una definición de BASE\n"
-#: src/elflint.c:3289
+#: src/elflint.c:3327
#, c-format
msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
msgstr ""
"Sección [%2d] '%s': definición de BASE debe tener índice VER_NDX_GLOBAL\n"
-#: src/elflint.c:3295
+#: src/elflint.c:3333
#, c-format
msgid "section [%2d] '%s': entry %d has unknown flag\n"
msgstr "Sección [%2d] '%s': entrada %d tiene bandera desconocida\n"
-#: src/elflint.c:3322
+#: src/elflint.c:3360
#, c-format
msgid "section [%2d] '%s': entry %d has invalid name reference\n"
msgstr "Sección [%2d] '%s': entrada %d tiene referencia de nombre inválida\n"
-#: src/elflint.c:3329
+#: src/elflint.c:3367
#, c-format
msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
msgstr ""
"Sección [%2d] '%s': entrada %d tiene valor de dispersión errado: %#x, "
"esperado %#x\n"
-#: src/elflint.c:3337
+#: src/elflint.c:3375
#, c-format
msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
msgstr ""
"Sección [%2d] '%s': entrada %d tiene nombre de versión duplicado '%s'\n"
-#: src/elflint.c:3357
+#: src/elflint.c:3395
#, c-format
msgid ""
"section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
@@ -3087,34 +3081,34 @@ msgstr ""
"Sección [%2d] '%s': entrada %d tiene referencia de nombre inválida en datos "
"auxiliares\n"
-#: src/elflint.c:3374
+#: src/elflint.c:3412
#, c-format
msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
msgstr ""
"Sección [%2d] '%s': entrada %d tiene próximo campo errado en datos "
"auxiliares\n"
-#: src/elflint.c:3407
+#: src/elflint.c:3445
#, c-format
msgid "section [%2d] '%s': no BASE definition\n"
msgstr "Sección [%2d] '%s': no hay definición de BASE\n"
-#: src/elflint.c:3423
+#: src/elflint.c:3461
#, c-format
msgid "section [%2d] '%s': unknown parent version '%s'\n"
msgstr "Sección [%2d] '%s': desconocida versión principal '%s'\n"
-#: src/elflint.c:3448
+#: src/elflint.c:3486
#, c-format
msgid "section [%2d] '%s': empty object attributes section\n"
msgstr "Sección [%2d] '%s': sección de atributos de objeto vacío\n"
-#: src/elflint.c:3464
+#: src/elflint.c:3502
#, c-format
msgid "section [%2d] '%s': unrecognized attribute format\n"
msgstr "Sección[%2d] '%s': formato de atributo no reconocido\n"
-#: src/elflint.c:3475
+#: src/elflint.c:3513
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute section\n"
@@ -3122,21 +3116,21 @@ msgstr ""
"Sección[%2d] '%s': compensación %zu: campo de longitud cero en sección de "
"atributo\n"
-#: src/elflint.c:3484
+#: src/elflint.c:3522
#, c-format
msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
msgstr ""
"Sección[%2d] '%s': compensación %zu: longitud inválida en sección de "
"atributo\n"
-#: src/elflint.c:3496
+#: src/elflint.c:3534
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
msgstr ""
"Sección[%2d] '%s': compensación %zu: cadena de nombre de proveedor sin "
"terminar\n"
-#: src/elflint.c:3513
+#: src/elflint.c:3551
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
@@ -3144,12 +3138,12 @@ msgstr ""
"Sección [%2d] '%s': compensación %zu: sin fin ULEB128 en etiqueta de sub-"
"sección de atributo\n"
-#: src/elflint.c:3522
+#: src/elflint.c:3560
#, c-format
msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
msgstr "Sección [%2d] '%s': compensación %zu: sección de atributo truncado\n"
-#: src/elflint.c:3531
+#: src/elflint.c:3569
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
@@ -3157,7 +3151,7 @@ msgstr ""
"Sección [%2d] '%s': compensación %zu: campo de longitud cero length en sub-"
"sección de atributo\n"
-#: src/elflint.c:3546
+#: src/elflint.c:3584
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
@@ -3166,7 +3160,7 @@ msgstr ""
"atributo\n"
#. Tag_File
-#: src/elflint.c:3557
+#: src/elflint.c:3595
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
@@ -3174,26 +3168,26 @@ msgstr ""
"Sección[%2d] '%s': compensación %zu: sub-sección de atributo tiene etiqueta "
"inesperada %u\n"
-#: src/elflint.c:3578
+#: src/elflint.c:3616
#, c-format
msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
msgstr ""
"Sección[%2d] '%s': compensación %zu: sin fin ULEB128 en etiqueta de "
"atributo\n"
-#: src/elflint.c:3589
+#: src/elflint.c:3627
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
msgstr ""
"Sección [%2d] '%s': compensación %zu: cadena sin terminar en atributo\n"
-#: src/elflint.c:3602
+#: src/elflint.c:3640
#, c-format
msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
msgstr ""
"Sección [%2d] '%s': compensación %zu: etiqueta de atributo no reconocida %u\n"
-#: src/elflint.c:3606
+#: src/elflint.c:3644
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
@@ -3201,12 +3195,12 @@ msgstr ""
"Sección [%2d] '%s': compensación %zu: no reconocido %s valor de atributo "
"%<PRIu64>\n"
-#: src/elflint.c:3616
+#: src/elflint.c:3654
#, c-format
msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
msgstr "Sección [%2d] '%s': compensación %zu: proveedor '%s' desconocido\n"
-#: src/elflint.c:3622
+#: src/elflint.c:3660
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
@@ -3214,47 +3208,47 @@ msgstr ""
"Sección [%2d] '%s': compensación %zu: extra bytes después de la última "
"sección de atributo\n"
-#: src/elflint.c:3719
+#: src/elflint.c:3758
#, c-format
msgid "cannot get section header of zeroth section\n"
msgstr "no puede obtener encabezamiento de sección de sección zeroth\n"
-#: src/elflint.c:3723
+#: src/elflint.c:3762
#, c-format
msgid "zeroth section has nonzero name\n"
msgstr "Sección zeroth tiene nombre nonzero\n"
-#: src/elflint.c:3725
+#: src/elflint.c:3764
#, c-format
msgid "zeroth section has nonzero type\n"
msgstr "Sección zeroth tiene tipo nonzero\n"
-#: src/elflint.c:3727
+#: src/elflint.c:3766
#, c-format
msgid "zeroth section has nonzero flags\n"
msgstr "Sección zeroth tiene banderas nonzero\n"
-#: src/elflint.c:3729
+#: src/elflint.c:3768
#, c-format
msgid "zeroth section has nonzero address\n"
msgstr "Sección zeroth tiene dirección nonzero\n"
-#: src/elflint.c:3731
+#: src/elflint.c:3770
#, c-format
msgid "zeroth section has nonzero offset\n"
msgstr "Sección zeroth tiene compensación nonzero\n"
-#: src/elflint.c:3733
+#: src/elflint.c:3772
#, c-format
msgid "zeroth section has nonzero align value\n"
msgstr "Sección zeroth tiene valor de alineación nonzero\n"
-#: src/elflint.c:3735
+#: src/elflint.c:3774
#, c-format
msgid "zeroth section has nonzero entry size value\n"
msgstr "Sección zeroth tiene valor de tamaño de entrada nonzero\n"
-#: src/elflint.c:3738
+#: src/elflint.c:3777
#, c-format
msgid ""
"zeroth section has nonzero size value while ELF header has nonzero shnum "
@@ -3263,7 +3257,7 @@ msgstr ""
"Sección zeroth tiene valor de tamaño nonzero mientras que el encabezamiento "
"ELF tiene valor shnum nonzero\n"
-#: src/elflint.c:3742
+#: src/elflint.c:3781
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
@@ -3272,7 +3266,7 @@ msgstr ""
"Sección zeroth tiene valor de enlace nonzero mientras que el encabezamiento "
"ELF no señala sobreflujo en shstrndx\n"
-#: src/elflint.c:3746
+#: src/elflint.c:3785
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
@@ -3281,27 +3275,27 @@ msgstr ""
"la sección zeroth tiene un valor de enlace distinto a cero mientras que el "
"encabezamiento ELF no señala desbordamiento en phnum\n"
-#: src/elflint.c:3764
+#: src/elflint.c:3803
#, c-format
msgid "cannot get section header for section [%2zu] '%s': %s\n"
msgstr "No se puede obtener encabezamiento para sección [%2zu] '%s': %s\n"
-#: src/elflint.c:3773
+#: src/elflint.c:3812
#, c-format
msgid "section [%2zu]: invalid name\n"
msgstr "Sección [%2zu]: nombre inválido\n"
-#: src/elflint.c:3800
+#: src/elflint.c:3839
#, c-format
msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
msgstr "Sección [%2d] '%s' tiene tipo errado: %s esperado, es %s\n"
-#: src/elflint.c:3817
+#: src/elflint.c:3856
#, c-format
msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
msgstr "Sección [%2zu] '%s' tiene banderas erradas: %s esperado, es %s\n"
-#: src/elflint.c:3835
+#: src/elflint.c:3874
#, c-format
msgid ""
"section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
@@ -3309,12 +3303,12 @@ msgstr ""
"Sección [%2zu] '%s' tiene banderas erradas: %s esperado y posiblemente %s, "
"es %s\n"
-#: src/elflint.c:3852
+#: src/elflint.c:3891
#, c-format
msgid "section [%2zu] '%s' present in object file\n"
msgstr "Sección [%2zu] '%s' presente en archivo objeto\n"
-#: src/elflint.c:3858 src/elflint.c:3890
+#: src/elflint.c:3897 src/elflint.c:3929
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
@@ -3322,7 +3316,7 @@ msgstr ""
"Sección [%2zu] '%s' tiene bandera SHF_ALLOC establecida pero no es un "
"segmento cargable\n"
-#: src/elflint.c:3863 src/elflint.c:3895
+#: src/elflint.c:3902 src/elflint.c:3934
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
@@ -3331,7 +3325,7 @@ msgstr ""
"Sección [%2zu] '%s' no tiene bandera SHF_ALLOC establecida pero hay "
"segmentos cargables\n"
-#: src/elflint.c:3871
+#: src/elflint.c:3910
#, c-format
msgid ""
"section [%2zu] '%s' is extension section index table in non-object file\n"
@@ -3339,22 +3333,22 @@ msgstr ""
"Sección [%2zu] '%s' es tabla de índice de sección de extensión en archivo no-"
"objeto\n"
-#: src/elflint.c:3914
+#: src/elflint.c:3953
#, c-format
msgid "section [%2zu] '%s': size not multiple of entry size\n"
msgstr "Sección [%2zu] '%s': tamaño no es múltiplo de tamaño de entrada\n"
-#: src/elflint.c:3919
+#: src/elflint.c:3958
#, c-format
msgid "cannot get section header\n"
msgstr "no se puede obtener encabezamiento de sección\n"
-#: src/elflint.c:3929
+#: src/elflint.c:3968
#, c-format
msgid "section [%2zu] '%s' has unsupported type %d\n"
msgstr "sección [%2zu] '%s' tiene tipo %d incompatible \n"
-#: src/elflint.c:3949
+#: src/elflint.c:3988
#, c-format
msgid ""
"section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
@@ -3362,76 +3356,76 @@ msgstr ""
"Sección [%2zu] '%s' contiene bandera(s) de procesador-específico inválidas "
"%#<PRIx64>\n"
-#: src/elflint.c:3959
+#: src/elflint.c:3998
#, c-format
msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
msgstr "Sección [%2zu] '%s' contiene bandera(s) desconocidas %#<PRIx64>\n"
-#: src/elflint.c:3967
+#: src/elflint.c:4006
#, c-format
msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
msgstr ""
"Sección [%2zu] '%s': dirección de secciones de datos de hilo-local no cero\n"
-#: src/elflint.c:3977
+#: src/elflint.c:4016
#, fuzzy, c-format
msgid "section [%2zu] '%s': allocated section cannot be compressed\n"
msgstr ""
"Sección [%2zu] '%s': dirección de secciones de datos de hilo-local no cero\n"
-#: src/elflint.c:3982
+#: src/elflint.c:4021
#, fuzzy, c-format
msgid "section [%2zu] '%s': nobits section cannot be compressed\n"
msgstr "Sección [%2d] '%s': no hay sección de dispersión presente\n"
-#: src/elflint.c:3988
+#: src/elflint.c:4027
#, fuzzy, c-format
msgid ""
"section [%2zu] '%s': compressed section with no compression header: %s\n"
msgstr "Sección [%2d] '%s': grupo de sección con sólo un miembro\n"
-#: src/elflint.c:3994
+#: src/elflint.c:4033
#, c-format
msgid "section [%2zu] '%s': invalid section reference in link value\n"
msgstr ""
"Sección [%2zu] '%s': referencia de sección inválida en valor de enlace\n"
-#: src/elflint.c:3999
+#: src/elflint.c:4038
#, c-format
msgid "section [%2zu] '%s': invalid section reference in info value\n"
msgstr ""
"Sección [%2zu] '%s': referencia de sección inválida en valor de información\n"
-#: src/elflint.c:4006
+#: src/elflint.c:4045
#, c-format
msgid "section [%2zu] '%s': strings flag set without merge flag\n"
msgstr ""
"Sección [%2zu] '%s': bandera de cadenas establecida sin bandera de fusión\n"
-#: src/elflint.c:4011
+#: src/elflint.c:4050
#, c-format
msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
msgstr ""
"Sección [%2zu] '%s': bandera de fusión establecida pero tamaño de entrada es "
"cero\n"
-#: src/elflint.c:4030
+#: src/elflint.c:4069
#, c-format
msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
msgstr ""
"Sección [%2zu] '%s' tiene un tipo %d inesperado para una sección ejecutable\n"
-#: src/elflint.c:4039
+#: src/elflint.c:4078
#, fuzzy, c-format
msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n"
msgstr "sección [%2zu] '%s' no debe tener permiso de escritura\n"
-#: src/elflint.c:4046
+#: src/elflint.c:4085
#, c-format
msgid "section [%2zu] '%s' is both executable and writable\n"
msgstr "Sección [%2zu] '%s' es tanto de ejecución como de escritura\n"
-#: src/elflint.c:4077
+#: src/elflint.c:4116
#, c-format
msgid ""
"section [%2zu] '%s' not fully contained in segment of program header entry "
@@ -3440,7 +3434,7 @@ msgstr ""
"Sección [%2zu] '%s' no contenida totalmente en segmento de entrada de "
"encabezamiento de programa %d\n"
-#: src/elflint.c:4087
+#: src/elflint.c:4126
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -3449,7 +3443,7 @@ msgstr ""
"Sección [%2zu] '%s' no tiene tipo NOBITS pero es leída desde el archivo en "
"segmento de entrada de encabezamiento de programa %d\n"
-#: src/elflint.c:4113
+#: src/elflint.c:4152
#, fuzzy, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -3458,7 +3452,7 @@ msgstr ""
"Sección [%2zu] '%s' no tiene tipo NOBITS pero es leída desde el archivo en "
"segmento de entrada de encabezamiento de programa %d\n"
-#: src/elflint.c:4124
+#: src/elflint.c:4163
#, c-format
msgid ""
"section [%2zu] '%s' has not type NOBITS but is not read from the file in "
@@ -3467,18 +3461,18 @@ msgstr ""
"Sección [%2zu] '%s' no tiene tipo NOBITS pero no es leída desde el fichero "
"en segmento de entrada de encabezamiento de programa %d\n"
-#: src/elflint.c:4135
+#: src/elflint.c:4174
#, c-format
msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
msgstr "Sección [%2zu] '%s' es ejecutable en segmento no ejecutable %d\n"
-#: src/elflint.c:4145
+#: src/elflint.c:4184
#, c-format
msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
msgstr ""
"Sección [%2zu] '%s' es de escritura en segmento que no es de escritura %d\n"
-#: src/elflint.c:4155
+#: src/elflint.c:4194
#, c-format
msgid ""
"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
@@ -3486,7 +3480,7 @@ msgstr ""
"Sección [%2zu] '%s': asignación de bandera establecida pero sección no en "
"ningún segmento cargado\n"
-#: src/elflint.c:4161
+#: src/elflint.c:4200
#, c-format
msgid ""
"section [%2zu] '%s': ELF header says this is the section header string table "
@@ -3495,7 +3489,7 @@ msgstr ""
"Sección [%2zu] '%s': encabezamiento ELF dice esta es la tabla de cadena de "
"encabezamiento de sección, pero el tipo no es SHT_TYPE\n"
-#: src/elflint.c:4169
+#: src/elflint.c:4208
#, c-format
msgid ""
"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
@@ -3503,32 +3497,32 @@ msgstr ""
"sección [%2zu] '%s': ficheros reubicables no pueden tener tablas de símbolos "
"dinámicos\n"
-#: src/elflint.c:4220
+#: src/elflint.c:4263
#, c-format
msgid "more than one version symbol table present\n"
msgstr "Más de una tabla de símbolos presente\n"
-#: src/elflint.c:4243
+#: src/elflint.c:4286
#, c-format
msgid "INTERP program header entry but no .interp section\n"
msgstr ""
"Entrada de encabezamiento de programa INTERP pero no la sección .interp\n"
-#: src/elflint.c:4254
+#: src/elflint.c:4297
#, c-format
msgid ""
"loadable segment [%u] is executable but contains no executable sections\n"
msgstr ""
"segmento cargable [%u] es ejecutable pero no contiene secciones ejecutables\n"
-#: src/elflint.c:4260
+#: src/elflint.c:4303
#, c-format
msgid "loadable segment [%u] is writable but contains no writable sections\n"
msgstr ""
"segmento cargable [%u] es de escritura pero contiene secciones protegidas "
"contra escritura\n"
-#: src/elflint.c:4271
+#: src/elflint.c:4314
#, c-format
msgid ""
"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
@@ -3537,26 +3531,26 @@ msgstr ""
"Sección no .gnu.versym presente, pero la sección .gnu.versym_d o la sección ."
"gnu.versym_r existen\n"
-#: src/elflint.c:4284
+#: src/elflint.c:4327
#, c-format
msgid "duplicate version index %d\n"
msgstr "Duplicar índice de versión %d\n"
-#: src/elflint.c:4298
+#: src/elflint.c:4341
#, c-format
msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
msgstr ""
"Sección .gnu.versym presente sin las secciones .gnu.versym_d o .gnu."
"versym_r\n"
-#: src/elflint.c:4347
+#: src/elflint.c:4390
#, c-format
msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
msgstr ""
"phdr[%d]: tipo de nota de fichero core desconocido %<PRIu32> en compensación "
"%<PRIu64>\n"
-#: src/elflint.c:4351
+#: src/elflint.c:4394
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
@@ -3564,7 +3558,7 @@ msgstr ""
"Sección [%2d] '%s': tipo de nota de fichero core desconocido %<PRIu32> en "
"compensación %Zu\n"
-#: src/elflint.c:4407
+#: src/elflint.c:4450
#, fuzzy, c-format
msgid ""
"phdr[%d]: unknown object file note type %<PRIu32> with owner name '%s' at "
@@ -3573,7 +3567,7 @@ msgstr ""
"phdr[%d]: tipo de nota de fichero objeto desconocido %<PRIu32> en "
"compensación %Zu\n"
-#: src/elflint.c:4412
+#: src/elflint.c:4455
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': unknown object file note type %<PRIu32> with owner name "
@@ -3582,40 +3576,40 @@ msgstr ""
"Sección [%2d] '%s': tipo de nota de fichero objeto desconocido %<PRIu32> en "
"compensación %Zu\n"
-#: src/elflint.c:4431
+#: src/elflint.c:4474
#, c-format
msgid "phdr[%d]: no note entries defined for the type of file\n"
msgstr "phdr[%d]: no hay entradas de nota definidas para el tipo de archivo\n"
-#: src/elflint.c:4451
+#: src/elflint.c:4494
#, c-format
msgid "phdr[%d]: cannot get content of note section: %s\n"
msgstr "phdr[%d]: no puede obtener contenido de sección de nota: %s\n"
-#: src/elflint.c:4454
+#: src/elflint.c:4497
#, c-format
msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
msgstr "phdr[%d]: extra %<PRIu64> bytes después de la última nota\n"
-#: src/elflint.c:4475
+#: src/elflint.c:4518
#, c-format
msgid "section [%2d] '%s': no note entries defined for the type of file\n"
msgstr ""
"Sección [%2d] '%s': no hay entradas de nota definidas para el tipo de "
"archivo\n"
-#: src/elflint.c:4482
+#: src/elflint.c:4525
#, c-format
msgid "section [%2d] '%s': cannot get content of note section\n"
msgstr ""
"Sección[%2d] '%s': no se puede obtener el contenido de sección de nota\n"
-#: src/elflint.c:4485
+#: src/elflint.c:4528
#, c-format
msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
msgstr "Sección[%2d] '%s': extra %<PRIu64> bytes después de la última nota\n"
-#: src/elflint.c:4503
+#: src/elflint.c:4546
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
@@ -3623,145 +3617,145 @@ msgstr ""
"Sólo ejecutables, objetos compartidos y ficheros core pueden tener "
"encabezamientos de programas\n"
-#: src/elflint.c:4518
+#: src/elflint.c:4561
#, c-format
msgid "cannot get program header entry %d: %s\n"
msgstr "no se puede obtener entrada de encabezamiento %d: %s\n"
-#: src/elflint.c:4528
+#: src/elflint.c:4571
#, c-format
msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
msgstr ""
"entrada de encabezamiento de programa %d: tipo %#<PRIx64> de entrada de "
"encabezamiento de programa desconocido\n"
-#: src/elflint.c:4539
+#: src/elflint.c:4582
#, c-format
msgid "more than one INTERP entry in program header\n"
msgstr "Más de una entrada INTERP en encabezamiento de programa\n"
-#: src/elflint.c:4547
+#: src/elflint.c:4590
#, c-format
msgid "more than one TLS entry in program header\n"
msgstr "más de una entrada TLS en encabezamiento de programa\n"
-#: src/elflint.c:4554
+#: src/elflint.c:4597
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr "ejecutable estático no puede tener secciones dinámicas\n"
-#: src/elflint.c:4568
+#: src/elflint.c:4611
#, c-format
msgid "dynamic section reference in program header has wrong offset\n"
msgstr ""
"Referencia de sección dinámica en encabezamiento de programa tiene "
"compensación errada\n"
-#: src/elflint.c:4571
+#: src/elflint.c:4614
#, c-format
msgid "dynamic section size mismatch in program and section header\n"
msgstr ""
"No coinciden tamaño de sección dinámica en programa y encabezamiento de "
"sección\n"
-#: src/elflint.c:4581
+#: src/elflint.c:4624
#, c-format
msgid "more than one GNU_RELRO entry in program header\n"
msgstr "Más de una entrada GNU_RELRO en encabezamiento de programa\n"
-#: src/elflint.c:4602
+#: src/elflint.c:4645
#, c-format
msgid "loadable segment GNU_RELRO applies to is not writable\n"
msgstr "Segmento cargable GNU_RELRO que se aplica no es de escritura\n"
-#: src/elflint.c:4613
+#: src/elflint.c:4656
#, c-format
msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
msgstr ""
"Banderas de segmento cargable [%u] no coinciden con banderas GNU_RELRO [%u]\n"
-#: src/elflint.c:4620
+#: src/elflint.c:4663
#, c-format
msgid ""
"GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
msgstr ""
-#: src/elflint.c:4629 src/elflint.c:4652
+#: src/elflint.c:4672 src/elflint.c:4695
#, c-format
msgid "%s segment not contained in a loaded segment\n"
msgstr "Segmento %s no contenido en un segmento cargable\n"
-#: src/elflint.c:4658
+#: src/elflint.c:4701
#, c-format
msgid "program header offset in ELF header and PHDR entry do not match"
msgstr ""
"Compensación de encabezamiento de programa en encabezamiento ELF y entrada "
"PHDR no coinciden"
-#: src/elflint.c:4685
+#: src/elflint.c:4728
#, c-format
msgid "call frame search table reference in program header has wrong offset\n"
msgstr ""
"Referencia de tabla de búsqueda de marco de llamada en encabezamiento de "
"programa tiene una compensación errada\n"
-#: src/elflint.c:4688
+#: src/elflint.c:4731
#, c-format
msgid "call frame search table size mismatch in program and section header\n"
msgstr ""
"Tamaño de tabla de búsqueda de marco de llamada no coincide con programa y "
"encabezamiento de sección\n"
-#: src/elflint.c:4701
+#: src/elflint.c:4744
#, c-format
msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
msgstr "PT_GNU_EH_FRAME presente pero no la sección.eh_frame_hdr\n"
-#: src/elflint.c:4709
+#: src/elflint.c:4752
#, c-format
msgid "call frame search table must be allocated\n"
msgstr "tabla de búsqueda de marco de llamada debe ser asignada\n"
-#: src/elflint.c:4712
+#: src/elflint.c:4755
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
msgstr "sección [%2zu] '%s' debe ser asignada\n"
-#: src/elflint.c:4716
+#: src/elflint.c:4759
#, c-format
msgid "call frame search table must not be writable\n"
msgstr ""
"tabla de búsqueda de marco de llamada no debe tener permiso de escritura\n"
-#: src/elflint.c:4719
+#: src/elflint.c:4762
#, c-format
msgid "section [%2zu] '%s' must not be writable\n"
msgstr "sección [%2zu] '%s' no debe tener permiso de escritura\n"
-#: src/elflint.c:4724
+#: src/elflint.c:4767
#, c-format
msgid "call frame search table must not be executable\n"
msgstr "tabla de búsqueda de marco de llamada no debe ser ejecutable\n"
-#: src/elflint.c:4727
+#: src/elflint.c:4770
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
msgstr "sección [%2zu] '%s' no debe ser ejecutable\n"
-#: src/elflint.c:4741
+#: src/elflint.c:4784
#, c-format
msgid "program header entry %d: file size greater than memory size\n"
msgstr ""
"entrada de encabezamiento de programa %d: tamaño de fichero mayor que el "
"tamaño de memoria\n"
-#: src/elflint.c:4748
+#: src/elflint.c:4791
#, c-format
msgid "program header entry %d: alignment not a power of 2\n"
msgstr ""
"entrada de encabezamiento de programa %d: alineamiento no es potencia de 2\n"
-#: src/elflint.c:4751
+#: src/elflint.c:4794
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
@@ -3770,7 +3764,7 @@ msgstr ""
"entrada de encabezamiento de programa %d: compensación de fichero y "
"dirección virtual no módulo de alineación\n"
-#: src/elflint.c:4764
+#: src/elflint.c:4807
#, c-format
msgid ""
"executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME "
@@ -3779,17 +3773,17 @@ msgstr ""
"ejecutable/DSO con sección .eh_frame_hdr no tiene una entrada de "
"encabezamiento de programa PT_GNU_EH_FRAME"
-#: src/elflint.c:4798
+#: src/elflint.c:4841
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr "No se puede leer encabezamiento ELF: %s\n"
-#: src/elflint.c:4810
+#: src/elflint.c:4853
#, fuzzy, c-format
msgid "cannot create backend for ELF file\n"
msgstr "no sepuede crear fichero nuevo"
-#: src/elflint.c:4831
+#: src/elflint.c:4874
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr "Bandera de reubicación de texto establecida pero no necesaria\n"
@@ -4010,7 +4004,7 @@ msgid "%s: INTERNAL ERROR %d (%s): %s"
msgstr "%s: ERROR INTERNO %d (%s-%s): %s"
#: src/nm.c:380 src/nm.c:392 src/size.c:287 src/size.c:296 src/size.c:307
-#: src/strip.c:2766
+#: src/strip.c:2763
#, c-format
msgid "while closing '%s'"
msgstr "error al cerrar '%s'"
@@ -4054,13 +4048,13 @@ msgstr "%s%s%s: no se reconoció el formato de fichero"
msgid "cannot create search tree"
msgstr "No se puede crear el árbol de búsqueda"
-#: src/nm.c:742 src/nm.c:1234 src/objdump.c:778 src/readelf.c:663
-#: src/readelf.c:1484 src/readelf.c:1633 src/readelf.c:1860 src/readelf.c:2097
-#: src/readelf.c:2286 src/readelf.c:2466 src/readelf.c:2544 src/readelf.c:2809
-#: src/readelf.c:2884 src/readelf.c:2970 src/readelf.c:3565 src/readelf.c:3613
-#: src/readelf.c:3682 src/readelf.c:11620 src/readelf.c:12803
-#: src/readelf.c:13013 src/readelf.c:13081 src/size.c:396 src/size.c:467
-#: src/strip.c:1093
+#: src/nm.c:742 src/nm.c:1234 src/objdump.c:778 src/readelf.c:685
+#: src/readelf.c:1506 src/readelf.c:1655 src/readelf.c:1882 src/readelf.c:2123
+#: src/readelf.c:2312 src/readelf.c:2482 src/readelf.c:2604 src/readelf.c:2854
+#: src/readelf.c:3140 src/readelf.c:3215 src/readelf.c:3301 src/readelf.c:3896
+#: src/readelf.c:3944 src/readelf.c:4013 src/readelf.c:12029
+#: src/readelf.c:13212 src/readelf.c:13422 src/readelf.c:13490 src/size.c:396
+#: src/size.c:467 src/strip.c:1093
#, c-format
msgid "cannot get section header string table index"
msgstr "no se puede obtener índice de cadena de encabezamiento de sección"
@@ -4170,7 +4164,7 @@ msgstr "Sólo muestra información para NOMBRE de sección."
msgid "Show information from FILEs (a.out by default)."
msgstr "Muestra información de FICHEROS (a.out por defecto)."
-#: src/objdump.c:217 src/readelf.c:608
+#: src/objdump.c:217 src/readelf.c:630
msgid "No operation specified.\n"
msgstr "No se especificó una operación.\n"
@@ -4179,11 +4173,11 @@ msgstr "No se especificó una operación.\n"
msgid "while close `%s'"
msgstr "mientras cierra `%s'"
-#: src/objdump.c:362 src/readelf.c:2192 src/readelf.c:2383
+#: src/objdump.c:362 src/readelf.c:2218 src/readelf.c:2409
msgid "INVALID SYMBOL"
msgstr "SÃMBOLO INVÃLIDO"
-#: src/objdump.c:377 src/readelf.c:2226 src/readelf.c:2419
+#: src/objdump.c:377 src/readelf.c:2252 src/readelf.c:2445
msgid "INVALID SECTION"
msgstr "SECCIÓN INVÃLIDA"
@@ -4241,90 +4235,90 @@ msgstr "%s: no es un archivo"
msgid "error while freeing sub-ELF descriptor: %s"
msgstr "error al liberar descriptor sub-ELF: %s"
-#: src/readelf.c:96
+#: src/readelf.c:97
#, fuzzy
msgid "ELF input selection:"
msgstr "Selección de salida de ELF:"
-#: src/readelf.c:98
+#: src/readelf.c:99
msgid ""
"Use the named SECTION (default .gnu_debugdata) as (compressed) ELF input data"
msgstr ""
-#: src/readelf.c:101
+#: src/readelf.c:102
msgid ""
"Used with -w to find the skeleton Compile Units in FILE associated with the "
"Split Compile units in a .dwo input file"
msgstr ""
-#: src/readelf.c:103
+#: src/readelf.c:104
msgid "ELF output selection:"
msgstr "Selección de salida de ELF:"
-#: src/readelf.c:105
+#: src/readelf.c:106
msgid "All these plus -p .strtab -p .dynstr -p .comment"
msgstr "Todo esto mas -p .strtab -p .dynstr -p .comment"
-#: src/readelf.c:106
+#: src/readelf.c:107
msgid "Display the dynamic segment"
msgstr "Mostrar el segmento dinámico"
-#: src/readelf.c:107
+#: src/readelf.c:108
msgid "Display the ELF file header"
msgstr "Mostrar el encabezamiento del fichero ELF"
-#: src/readelf.c:109
+#: src/readelf.c:110
msgid "Display histogram of bucket list lengths"
msgstr "Mostrar histograma de las longitudes de las listas de cubetas"
-#: src/readelf.c:110
+#: src/readelf.c:111
msgid "Display the program headers"
msgstr "Mostrar encabezamientos de programa"
-#: src/readelf.c:112
+#: src/readelf.c:113
msgid "Display relocations"
msgstr "Mostrar reubicaciones"
-#: src/readelf.c:113
+#: src/readelf.c:114
#, fuzzy
msgid "Display the section groups"
msgstr "Mostrar los encabezados de las secciones"
-#: src/readelf.c:114
+#: src/readelf.c:115
msgid "Display the sections' headers"
msgstr "Mostrar los encabezados de las secciones"
-#: src/readelf.c:117
+#: src/readelf.c:118
#, fuzzy
msgid "Display the symbol table sections"
msgstr "Mostrar la tabla de símbolos"
-#: src/readelf.c:120
+#: src/readelf.c:121
#, fuzzy
msgid "Display (only) the dynamic symbol table"
msgstr "Mostrar sólo símbolos externos"
-#: src/readelf.c:121
+#: src/readelf.c:122
msgid "Display versioning information"
msgstr "Mostrar información de versión"
-#: src/readelf.c:122
+#: src/readelf.c:123
msgid "Display the ELF notes"
msgstr "Mostrar las notas ELF"
-#: src/readelf.c:124
+#: src/readelf.c:125
msgid "Display architecture specific information, if any"
msgstr "Mostrar información específica de la arquitectura (si es que la hay)"
-#: src/readelf.c:126
+#: src/readelf.c:127
msgid "Display sections for exception handling"
msgstr "Muestra secciones para manejo de excepciones"
-#: src/readelf.c:128
+#: src/readelf.c:129
msgid "Additional output selection:"
msgstr "Selección de salida adicional:"
-#: src/readelf.c:130
+#: src/readelf.c:131
#, fuzzy
msgid ""
"Display DWARF section content. SECTION can be one of abbrev, addr, aranges, "
@@ -4335,85 +4329,85 @@ msgstr ""
"siguiente: abbrev, aranges, frame, info, loc, line, ranges, pubnames, str, "
"macinfo, o exception"
-#: src/readelf.c:134
+#: src/readelf.c:135
msgid "Dump the uninterpreted contents of SECTION, by number or name"
msgstr "Vuelca los contenidos no interpretados de SECCIÓN, por número o nombre"
-#: src/readelf.c:136
+#: src/readelf.c:137
msgid "Print string contents of sections"
msgstr "Imprime contenido de cadena de secciones"
-#: src/readelf.c:139
+#: src/readelf.c:140
msgid "Display the symbol index of an archive"
msgstr "Muestra el índice de símbolos de un archivo"
-#: src/readelf.c:141
+#: src/readelf.c:142
msgid "Use the dynamic segment when possible for displaying info"
msgstr ""
-#: src/readelf.c:143
+#: src/readelf.c:144
msgid "Output control:"
msgstr "Control de salida:"
-#: src/readelf.c:145
+#: src/readelf.c:146
msgid "Do not find symbol names for addresses in DWARF data"
msgstr ""
"No se encuentran los nombres de símbolos para direcciones en datos DWARF"
-#: src/readelf.c:147
+#: src/readelf.c:148
#, fuzzy
msgid ""
"Display just offsets instead of resolving values to addresses in DWARF data"
msgstr ""
"No se encuentran los nombres de símbolos para direcciones en datos DWARF"
-#: src/readelf.c:149
+#: src/readelf.c:150
msgid "Ignored for compatibility (lines always wide)"
msgstr ""
-#: src/readelf.c:151
+#: src/readelf.c:152
msgid ""
"Show compression information for compressed sections (when used with -S); "
"decompress section before dumping data (when used with -p or -x)"
msgstr ""
#. Short description of program.
-#: src/readelf.c:156
+#: src/readelf.c:157
msgid "Print information from ELF file in human-readable form."
msgstr ""
"Imprimir información del fichero ELF en una forma comprensible para los "
"seres humanos."
#. Look up once.
-#: src/readelf.c:373
+#: src/readelf.c:395
msgid "yes"
msgstr "sí"
-#: src/readelf.c:374
+#: src/readelf.c:396
msgid "no"
msgstr "no"
-#: src/readelf.c:576
+#: src/readelf.c:598
#, c-format
msgid "Unknown DWARF debug section `%s'.\n"
msgstr "Sección de depuración DWARF desconocida `%s'.\n"
-#: src/readelf.c:647 src/readelf.c:758
+#: src/readelf.c:669 src/readelf.c:780
#, c-format
msgid "cannot generate Elf descriptor: %s"
msgstr "no se puede crear descriptor ELF: %s"
-#: src/readelf.c:654 src/readelf.c:980 src/strip.c:1188
+#: src/readelf.c:676 src/readelf.c:1002 src/strip.c:1188
#, c-format
msgid "cannot determine number of sections: %s"
msgstr "no se pudieron determinar el número de secciones: %s"
-#: src/readelf.c:672 src/readelf.c:1300 src/readelf.c:1508
+#: src/readelf.c:694 src/readelf.c:1322 src/readelf.c:1530
#, c-format
msgid "cannot get section: %s"
msgstr "No se puede encontrar la sección: %s"
-#: src/readelf.c:681 src/readelf.c:1307 src/readelf.c:1515 src/readelf.c:13033
+#: src/readelf.c:703 src/readelf.c:1329 src/readelf.c:1537 src/readelf.c:13442
#: src/unstrip.c:396 src/unstrip.c:427 src/unstrip.c:490 src/unstrip.c:610
#: src/unstrip.c:631 src/unstrip.c:671 src/unstrip.c:887 src/unstrip.c:1222
#: src/unstrip.c:1349 src/unstrip.c:1373 src/unstrip.c:1429 src/unstrip.c:1470
@@ -4422,120 +4416,120 @@ msgstr "No se puede encontrar la sección: %s"
msgid "cannot get section header: %s"
msgstr "No se puede obtener encabezamiento de sección: %s"
-#: src/readelf.c:689
+#: src/readelf.c:711
#, fuzzy, c-format
msgid "cannot get section name"
msgstr "no se puede obtener encabezamiento de sección\n"
-#: src/readelf.c:698 src/readelf.c:6833 src/readelf.c:10887 src/readelf.c:10989
-#: src/readelf.c:11173
+#: src/readelf.c:720 src/readelf.c:7176 src/readelf.c:11230 src/readelf.c:11332
+#: src/readelf.c:11516
#, c-format
msgid "cannot get %s content: %s"
msgstr "No se puede obtener el contenido %s: %s"
-#: src/readelf.c:714
+#: src/readelf.c:736
#, fuzzy, c-format
msgid "cannot create temp file '%s'"
msgstr "no se puede crear fichero nuevo '%s': %s"
-#: src/readelf.c:723
+#: src/readelf.c:745
#, fuzzy, c-format
msgid "cannot write section data"
msgstr "no se puede leer la sección de datos: %s"
-#: src/readelf.c:729 src/readelf.c:746 src/readelf.c:775
+#: src/readelf.c:751 src/readelf.c:768 src/readelf.c:797
#, c-format
msgid "error while closing Elf descriptor: %s"
msgstr "error al cerrar el descriptor ELF: %s"
-#: src/readelf.c:736
+#: src/readelf.c:758
#, fuzzy, c-format
msgid "error while rewinding file descriptor"
msgstr "error al cerrar el descriptor ELF: %s"
-#: src/readelf.c:770
+#: src/readelf.c:792
#, c-format
msgid "'%s' is not an archive, cannot print archive index"
msgstr "'%s' no es un archivo, no se puede imprimir índice de archivo"
-#: src/readelf.c:874
+#: src/readelf.c:896
#, c-format
msgid "cannot stat input file"
msgstr "no sepudo stat archivo de entrada"
-#: src/readelf.c:876
+#: src/readelf.c:898
#, c-format
msgid "input file is empty"
msgstr "archivo de entrada vacío"
-#: src/readelf.c:878
+#: src/readelf.c:900
#, c-format
msgid "failed reading '%s': %s"
msgstr "Falló lectura de '%s': %s"
-#: src/readelf.c:907
+#: src/readelf.c:929
#, fuzzy, c-format
msgid "No such section '%s' in '%s'"
msgstr "No se puede obtener contenido de sección %zu en '%s': %s"
-#: src/readelf.c:966
+#: src/readelf.c:988
#, c-format
msgid "cannot read ELF header: %s"
msgstr "no se pudo leer encabezamiento ELF: %s"
-#: src/readelf.c:974
+#: src/readelf.c:996
#, c-format
msgid "cannot create EBL handle"
msgstr "no se puede crear EBL"
-#: src/readelf.c:985
+#: src/readelf.c:1007
#, c-format
msgid "cannot determine number of program headers: %s"
msgstr "no se pudo determinar la cantidad de encabezados de programa: %s"
-#: src/readelf.c:1017
+#: src/readelf.c:1039
#, fuzzy, c-format
msgid "cannot read ELF: %s"
msgstr "no sepuede leer %s: %s"
-#: src/readelf.c:1050
+#: src/readelf.c:1072
#, fuzzy
#| msgid "cannot get section: %s"
msgid "cannot find section"
msgstr "No se puede encontrar la sección: %s"
-#: src/readelf.c:1087
+#: src/readelf.c:1109
msgid "NONE (None)"
msgstr "NONE (Ninguno)"
-#: src/readelf.c:1088
+#: src/readelf.c:1110
msgid "REL (Relocatable file)"
msgstr "REL (Fichero reubicable)"
-#: src/readelf.c:1089
+#: src/readelf.c:1111
msgid "EXEC (Executable file)"
msgstr "EXEC (Fichero ejecutable)"
-#: src/readelf.c:1090
+#: src/readelf.c:1112
msgid "DYN (Shared object file)"
msgstr "DYN (Fichero objeto compartido)"
-#: src/readelf.c:1091
+#: src/readelf.c:1113
msgid "CORE (Core file)"
msgstr "CORE (Fichero núcleo)"
-#: src/readelf.c:1096
+#: src/readelf.c:1118
#, c-format
msgid "OS Specific: (%x)\n"
msgstr "OS Specific: (%x)\n"
#. && e_type <= ET_HIPROC always true
-#: src/readelf.c:1098
+#: src/readelf.c:1120
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr "Específico del procesador: (%x)\n"
-#: src/readelf.c:1108
+#: src/readelf.c:1130
msgid ""
"ELF Header:\n"
" Magic: "
@@ -4543,7 +4537,7 @@ msgstr ""
"Encabezamiento ELF:\n"
" Mágico: "
-#: src/readelf.c:1112
+#: src/readelf.c:1134
#, c-format
msgid ""
"\n"
@@ -4552,125 +4546,125 @@ msgstr ""
"\n"
" Clase: %s\n"
-#: src/readelf.c:1117
+#: src/readelf.c:1139
#, c-format
msgid " Data: %s\n"
msgstr " Datos: %s\n"
-#: src/readelf.c:1123
+#: src/readelf.c:1145
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr " Versión ident: %hhd %s\n"
-#: src/readelf.c:1125 src/readelf.c:1147
+#: src/readelf.c:1147 src/readelf.c:1169
msgid "(current)"
msgstr "(actual)"
-#: src/readelf.c:1129
+#: src/readelf.c:1151
#, c-format
msgid " OS/ABI: %s\n"
msgstr " OS/ABI: %s\n"
-#: src/readelf.c:1132
+#: src/readelf.c:1154
#, c-format
msgid " ABI Version: %hhd\n"
msgstr " Versión ABI: %hhd\n"
-#: src/readelf.c:1135
+#: src/readelf.c:1157
msgid " Type: "
msgstr " Tipo: "
-#: src/readelf.c:1140
+#: src/readelf.c:1162
#, c-format
msgid " Machine: %s\n"
msgstr " Máquina: %s\n"
-#: src/readelf.c:1142
+#: src/readelf.c:1164
#, fuzzy, c-format
msgid " Machine: <unknown>: 0x%x\n"
msgstr " Máquina: %s\n"
-#: src/readelf.c:1145
+#: src/readelf.c:1167
#, c-format
msgid " Version: %d %s\n"
msgstr " Versión: %d %s\n"
-#: src/readelf.c:1149
+#: src/readelf.c:1171
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr " Dirección de punto de entrada: %#<PRIx64>\n"
-#: src/readelf.c:1152
+#: src/readelf.c:1174
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr " Inicio de encabezamientos de programa: %<PRId64> %s\n"
-#: src/readelf.c:1153 src/readelf.c:1156
+#: src/readelf.c:1175 src/readelf.c:1178
msgid "(bytes into file)"
msgstr " (bytes en el archivo)"
-#: src/readelf.c:1155
+#: src/readelf.c:1177
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr " Inicio de encabezamientos de sección: %<PRId64> %s\n"
-#: src/readelf.c:1158
+#: src/readelf.c:1180
#, c-format
msgid " Flags: %s\n"
msgstr " Indicadores: %s\n"
-#: src/readelf.c:1161
+#: src/readelf.c:1183
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr " Tamaño de este encabezamiento: %<PRId16> %s\n"
-#: src/readelf.c:1162 src/readelf.c:1165 src/readelf.c:1182
+#: src/readelf.c:1184 src/readelf.c:1187 src/readelf.c:1204
msgid "(bytes)"
msgstr "(bytes)"
-#: src/readelf.c:1164
+#: src/readelf.c:1186
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr ""
" Tamaño de las entradas en encabezamiento del programa: %<PRId16> %s\n"
-#: src/readelf.c:1167
+#: src/readelf.c:1189
#, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr " Cantidad de entradas de encabezados de programa: %<PRId16>"
-#: src/readelf.c:1174
+#: src/readelf.c:1196
#, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr " (%<PRIu32> in [0].sh_info)"
-#: src/readelf.c:1177 src/readelf.c:1194 src/readelf.c:1208
+#: src/readelf.c:1199 src/readelf.c:1216 src/readelf.c:1230
msgid " ([0] not available)"
msgstr " ([0] no disponible)"
-#: src/readelf.c:1181
+#: src/readelf.c:1203
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr ""
" Tamaño de las entradas en el encabezamiento de sección: %<PRId16> %s\n"
-#: src/readelf.c:1184
+#: src/readelf.c:1206
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr " Cantidad de entradas en los encabezamientos de sección: %<PRId16>"
-#: src/readelf.c:1191
+#: src/readelf.c:1213
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr " (%<PRIu32> en [0].sh_size)"
#. We managed to get the zeroth section.
-#: src/readelf.c:1204
+#: src/readelf.c:1226
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr " (%<PRIu32> en [0].sh_link)"
-#: src/readelf.c:1212
+#: src/readelf.c:1234
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
@@ -4679,19 +4673,19 @@ msgstr ""
" Ãndice de tabla de cadenas de sección de encabezamiento de : XINDEX%s\n"
"\n"
-#: src/readelf.c:1216
+#: src/readelf.c:1238
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
"\n"
msgstr " Ãndice de tabla de cadenas de sección de encabezamiento: %<PRId16>\n"
-#: src/readelf.c:1266 src/readelf.c:1474
+#: src/readelf.c:1288 src/readelf.c:1496
#, fuzzy, c-format
msgid "cannot get number of sections: %s"
msgstr "no se pudieron determinar el número de secciones: %s"
-#: src/readelf.c:1269
+#: src/readelf.c:1291
#, fuzzy, c-format
msgid ""
"There are %zd section headers, starting at offset %#<PRIx64>:\n"
@@ -4700,16 +4694,16 @@ msgstr ""
"Hay %d encabezamientos de sección, comenzando en compensación %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:1277
+#: src/readelf.c:1299
#, fuzzy, c-format
msgid "cannot get section header string table index: %s"
msgstr "no se puede obtener índice de cadena de encabezamiento de sección"
-#: src/readelf.c:1280
+#: src/readelf.c:1302
msgid "Section Headers:"
msgstr "encabezamientos de sección:"
-#: src/readelf.c:1283
+#: src/readelf.c:1305
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
@@ -4717,7 +4711,7 @@ msgstr ""
"[Nr] Nombre Tipo Dirección Off Tamaño Inf Al "
"Enlace banderas ES"
-#: src/readelf.c:1285
+#: src/readelf.c:1307
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
@@ -4725,36 +4719,36 @@ msgstr ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
-#: src/readelf.c:1290
+#: src/readelf.c:1312
msgid " [Compression Size Al]"
msgstr ""
-#: src/readelf.c:1292
+#: src/readelf.c:1314
msgid " [Compression Size Al]"
msgstr ""
-#: src/readelf.c:1370
+#: src/readelf.c:1392
#, fuzzy, c-format
msgid "bad compression header for section %zd: %s"
msgstr "No se puede obtener el encabezamiento de sección %zu: %s"
-#: src/readelf.c:1381
+#: src/readelf.c:1403
#, fuzzy, c-format
msgid "bad gnu compressed size for section %zd: %s"
msgstr "No se pueden obtener datos para la sección %d: %s"
-#: src/readelf.c:1399
+#: src/readelf.c:1421
msgid "Program Headers:"
msgstr "encabezamientos de programa:"
-#: src/readelf.c:1401
+#: src/readelf.c:1423
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
" Tipo Compensación Dirección Virtual Dirección "
"Física Tamaño de Fichero Tamaño de Memoria Alineación de bandera"
-#: src/readelf.c:1404
+#: src/readelf.c:1426
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
@@ -4762,12 +4756,12 @@ msgstr ""
" Tipo Compensación Dirección Virtual Dirección "
"Física Tamaño de Fichero Tamaño de Memoria Alineación de bandera"
-#: src/readelf.c:1461
+#: src/readelf.c:1483
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr "\t[Solicitando intérprete de programa: %s]\n"
-#: src/readelf.c:1486
+#: src/readelf.c:1508
msgid ""
"\n"
" Section to Segment mapping:\n"
@@ -4777,12 +4771,12 @@ msgstr ""
" Sección para asignación de segmento:\n"
" Secciones de segmento..."
-#: src/readelf.c:1497 src/unstrip.c:2114 src/unstrip.c:2156 src/unstrip.c:2163
+#: src/readelf.c:1519 src/unstrip.c:2114 src/unstrip.c:2156 src/unstrip.c:2163
#, c-format
msgid "cannot get program header: %s"
msgstr "no se puede obtener memoria para encabezamiento del programa: %s"
-#: src/readelf.c:1641
+#: src/readelf.c:1663
#, c-format
msgid ""
"\n"
@@ -4797,7 +4791,7 @@ msgstr[1] ""
"\n"
"Grupo de sección COMDAT [%2zu] '%s' con firma '%s' contiene entradas %zu:\n"
-#: src/readelf.c:1646
+#: src/readelf.c:1668
#, c-format
msgid ""
"\n"
@@ -4812,32 +4806,32 @@ msgstr[1] ""
"\n"
"Grupo de sección [%2zu] '%s' con firma '%s' contiene entradas %zu:\n"
-#: src/readelf.c:1654
+#: src/readelf.c:1676
msgid "<INVALID SYMBOL>"
msgstr "<SÃMBOLO INVÃLIDO>"
-#: src/readelf.c:1668
+#: src/readelf.c:1690
msgid "<INVALID SECTION>"
msgstr "<SECCIÓN INVÃLIDA>"
-#: src/readelf.c:1691 src/readelf.c:2476 src/readelf.c:3581 src/readelf.c:3881
-#: src/readelf.c:12905 src/readelf.c:12912 src/readelf.c:12956
-#: src/readelf.c:12963
+#: src/readelf.c:1713 src/readelf.c:2614 src/readelf.c:3912 src/readelf.c:4212
+#: src/readelf.c:13314 src/readelf.c:13321 src/readelf.c:13365
+#: src/readelf.c:13372
msgid "Couldn't uncompress section"
msgstr ""
-#: src/readelf.c:1695 src/readelf.c:2481 src/readelf.c:3585
+#: src/readelf.c:1717 src/readelf.c:2619 src/readelf.c:3916
#, fuzzy, c-format
msgid "cannot get section [%zd] header: %s"
msgstr "No se puede obtener encabezamiento de sección: %s"
-#: src/readelf.c:1864 src/readelf.c:2550 src/readelf.c:2815 src/readelf.c:2890
-#: src/readelf.c:3193 src/readelf.c:3267 src/readelf.c:5619
+#: src/readelf.c:1886 src/readelf.c:2860 src/readelf.c:3146 src/readelf.c:3221
+#: src/readelf.c:3524 src/readelf.c:3598 src/readelf.c:5962
#, fuzzy, c-format
msgid "invalid sh_link value in section %zu"
msgstr ".debug_line section inválida"
-#: src/readelf.c:1867
+#: src/readelf.c:1889
#, c-format
msgid ""
"\n"
@@ -4858,7 +4852,7 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'\n"
-#: src/readelf.c:1880
+#: src/readelf.c:1902
#, fuzzy, c-format
#| msgid ""
#| "\n"
@@ -4887,41 +4881,41 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'\n"
-#: src/readelf.c:1890
+#: src/readelf.c:1912
msgid " Type Value\n"
msgstr " Tipo Valor\n"
-#: src/readelf.c:1899
+#: src/readelf.c:1921
#, fuzzy
msgid "cannot get string table by using dynamic segment"
msgstr "no se pueden obtener datos de sección: %s"
-#: src/readelf.c:1938
+#: src/readelf.c:1960
#, c-format
msgid "Shared library: [%s]\n"
msgstr "Biblioteca compartida: [%s]\n"
-#: src/readelf.c:1942
+#: src/readelf.c:1964
#, c-format
msgid "Library soname: [%s]\n"
msgstr "Nombre-so de la biblioteca: [%s]\n"
-#: src/readelf.c:1946
+#: src/readelf.c:1968
#, c-format
msgid "Library rpath: [%s]\n"
msgstr "Rpath de la biblioteca: [%s]\n"
-#: src/readelf.c:1950
+#: src/readelf.c:1972
#, c-format
msgid "Library runpath: [%s]\n"
msgstr "Ruta de ejecución de la biblioteca: [%s]\n"
-#: src/readelf.c:1969
+#: src/readelf.c:1993
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr "%<PRId64> (bytes)\n"
-#: src/readelf.c:2083 src/readelf.c:2272
+#: src/readelf.c:2109 src/readelf.c:2298
#, c-format
msgid ""
"\n"
@@ -4930,7 +4924,7 @@ msgstr ""
"\n"
"Tabla de símbolos inválida en compensación %#0<PRIx64>\n"
-#: src/readelf.c:2100 src/readelf.c:2289
+#: src/readelf.c:2126 src/readelf.c:2315
#, c-format
msgid ""
"\n"
@@ -4955,7 +4949,8 @@ msgstr[1] ""
#. The .rela.dyn section does not refer to a specific section but
#. instead of section index zero. Do not try to print a section
#. name.
-#: src/readelf.c:2115 src/readelf.c:2304
+#. A .relr.dyn section does not refer to a specific section.
+#: src/readelf.c:2141 src/readelf.c:2330 src/readelf.c:2485
#, c-format
msgid ""
"\n"
@@ -4972,29 +4967,39 @@ msgstr[1] ""
"Sección de reubicación [%2u] '%s' en compensación %#0<PRIx64> contiene "
"entradas %d:\n"
-#: src/readelf.c:2125
+#: src/readelf.c:2151
msgid " Offset Type Value Name\n"
msgstr " Compensación Tipo Valor Nombre\n"
-#: src/readelf.c:2127
+#: src/readelf.c:2153
msgid " Offset Type Value Name\n"
msgstr " Compensación Tipo Valor Nombre\n"
-#: src/readelf.c:2180 src/readelf.c:2191 src/readelf.c:2204 src/readelf.c:2225
-#: src/readelf.c:2237 src/readelf.c:2370 src/readelf.c:2382 src/readelf.c:2396
-#: src/readelf.c:2418 src/readelf.c:2431
+#: src/readelf.c:2206 src/readelf.c:2217 src/readelf.c:2230 src/readelf.c:2251
+#: src/readelf.c:2263 src/readelf.c:2396 src/readelf.c:2408 src/readelf.c:2422
+#: src/readelf.c:2444 src/readelf.c:2457
msgid "<INVALID RELOC>"
msgstr "<REUBIC INVÃLIDA>"
-#: src/readelf.c:2314
+#: src/readelf.c:2340
msgid " Offset Type Value Addend Name\n"
msgstr " Compensación Tipo Valor Nombre Adend\n"
-#: src/readelf.c:2316
+#: src/readelf.c:2342
msgid " Offset Type Value Addend Name\n"
msgstr " Compensación Tipo Valor Nombre Adend\n"
-#: src/readelf.c:2558
+#: src/readelf.c:2654
+#, c-format
+msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
+msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
+
+#: src/readelf.c:2750
+#, c-format
+msgid "bad dynamic symbol"
+msgstr "símbolo dinámico erróneo"
+
+#: src/readelf.c:2868
#, c-format
msgid ""
"\n"
@@ -5009,40 +5014,34 @@ msgstr[1] ""
"\n"
"La tabla de símbolos [%2u] '%s' contiene entradas %u:\n"
-#: src/readelf.c:2563
+#: src/readelf.c:2873
#, c-format
msgid " %lu local symbol String table: [%2u] '%s'\n"
msgid_plural " %lu local symbols String table: [%2u] '%s'\n"
msgstr[0] "símbolos locales %lu Tabla de cadena: [%2u] '%s'\n"
msgstr[1] " Símbolos locales %lu Tabla de cadenas: [%2u] '%s'\n"
-#: src/readelf.c:2571
+#: src/readelf.c:2881
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " Núm: Valor Tamaño Tipo Unión Vis Nombre Ndx\n"
-#: src/readelf.c:2573
+#: src/readelf.c:2883
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " Num: Valor Tamaño Tipo Unión Vis Nombre Ndx\n"
-#: src/readelf.c:2593
-#, c-format
-msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-
-#: src/readelf.c:2686
-#, c-format
-msgid "bad dynamic symbol"
-msgstr "símbolo dinámico erróneo"
+#: src/readelf.c:3002
+msgid "Dynamic symbol information is not available for displaying symbols."
+msgstr ""
-#: src/readelf.c:2771
+#: src/readelf.c:3102
msgid "none"
msgstr "nada"
-#: src/readelf.c:2788
+#: src/readelf.c:3119
msgid "| <unknown>"
msgstr "| <desconocido>"
-#: src/readelf.c:2818
+#: src/readelf.c:3149
#, c-format
msgid ""
"\n"
@@ -5063,17 +5062,17 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'\n"
-#: src/readelf.c:2839
+#: src/readelf.c:3170
#, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: Versión: %hu Fichero: %s Conteo: %hu\n"
-#: src/readelf.c:2852
+#: src/readelf.c:3183
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: Nombre: %s Banderas: %s Versión: %hu\n"
-#: src/readelf.c:2894
+#: src/readelf.c:3225
#, c-format
msgid ""
"\n"
@@ -5094,19 +5093,19 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'\n"
-#: src/readelf.c:2922
+#: src/readelf.c:3253
#, c-format
msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n"
msgstr ""
" %#06x: Versión: %hd Banderas: %s Ãndice: %hd Conteo: %hd Nombre: %s\n"
-#: src/readelf.c:2937
+#: src/readelf.c:3268
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr " %#06x: Principal %d: %s\n"
#. Print the header.
-#: src/readelf.c:3197
+#: src/readelf.c:3528
#, c-format
msgid ""
"\n"
@@ -5127,15 +5126,15 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'"
-#: src/readelf.c:3225
+#: src/readelf.c:3556
msgid " 0 *local* "
msgstr " 0 *local* "
-#: src/readelf.c:3230
+#: src/readelf.c:3561
msgid " 1 *global* "
msgstr " 1 *global* "
-#: src/readelf.c:3272
+#: src/readelf.c:3603
#, c-format
msgid ""
"\n"
@@ -5160,22 +5159,22 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'\n"
-#: src/readelf.c:3294
+#: src/readelf.c:3625
#, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr " Longitud Número % of total Cobertura\n"
-#: src/readelf.c:3296
+#: src/readelf.c:3627
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:3303
+#: src/readelf.c:3634
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:3316
+#: src/readelf.c:3647
#, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
@@ -5184,37 +5183,37 @@ msgstr ""
" Número promedio de pruebas: búsqueda exitosa: %f\n"
" búsqueda sin éxito: %f\n"
-#: src/readelf.c:3334 src/readelf.c:3398 src/readelf.c:3464
+#: src/readelf.c:3665 src/readelf.c:3729 src/readelf.c:3795
#, c-format
msgid "cannot get data for section %d: %s"
msgstr "No se pueden obtener datos para la sección %d: %s"
-#: src/readelf.c:3342
+#: src/readelf.c:3673
#, fuzzy, c-format
msgid "invalid data in sysv.hash section %d"
msgstr "Datos inválidos en sección [%zu] '%s'"
-#: src/readelf.c:3371
+#: src/readelf.c:3702
#, fuzzy, c-format
msgid "invalid chain in sysv.hash section %d"
msgstr "Datos inválidos en sección [%zu] '%s'"
-#: src/readelf.c:3406
+#: src/readelf.c:3737
#, fuzzy, c-format
msgid "invalid data in sysv.hash64 section %d"
msgstr "Datos inválidos en sección [%zu] '%s'"
-#: src/readelf.c:3437
+#: src/readelf.c:3768
#, fuzzy, c-format
msgid "invalid chain in sysv.hash64 section %d"
msgstr "Datos inválidos en sección [%zu] '%s'"
-#: src/readelf.c:3473
+#: src/readelf.c:3804
#, fuzzy, c-format
msgid "invalid data in gnu.hash section %d"
msgstr "Datos inválidos en sección [%zu] '%s'"
-#: src/readelf.c:3539
+#: src/readelf.c:3870
#, c-format
msgid ""
" Symbol Bias: %u\n"
@@ -5224,7 +5223,7 @@ msgstr ""
" Tamaño de Bitmask: %zu bytes %<PRIuFAST32>%% bits establecen segundo "
"cambio de dispersión: %u\n"
-#: src/readelf.c:3624
+#: src/readelf.c:3955
#, c-format
msgid ""
"\n"
@@ -5241,7 +5240,7 @@ msgstr[1] ""
"Sección de lista de biblioteca [%2zu] '%s' en compensación %#0<PRIx64> "
"contiene entradas %d:\n"
-#: src/readelf.c:3638
+#: src/readelf.c:3969
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
@@ -5249,7 +5248,7 @@ msgstr ""
" Biblioteca Marca de tiempo Indicadores "
"de versión de suma de verificación"
-#: src/readelf.c:3698
+#: src/readelf.c:4029
#, c-format
msgid ""
"\n"
@@ -5260,107 +5259,107 @@ msgstr ""
"Sección de atributos de objeto [%2zu] '%s' de %<PRIu64> bytes con "
"desplazamiento %#0<PRIx64>:\n"
-#: src/readelf.c:3715
+#: src/readelf.c:4046
msgid " Owner Size\n"
msgstr " Propietario Tamaño\n"
-#: src/readelf.c:3739
+#: src/readelf.c:4070
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
#. Unknown subsection, print and skip.
-#: src/readelf.c:3778
+#: src/readelf.c:4109
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
#. Tag_File
-#: src/readelf.c:3783
+#: src/readelf.c:4114
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " File: %11<PRIu32>\n"
-#: src/readelf.c:3833
+#: src/readelf.c:4164
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>, %s\n"
-#: src/readelf.c:3836
+#: src/readelf.c:4167
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3839
+#: src/readelf.c:4170
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3849
+#: src/readelf.c:4180
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3852
+#: src/readelf.c:4183
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3890
+#: src/readelf.c:4221
#, fuzzy
msgid "Couldn't get data from section"
msgstr "No se puede obtener encabezamiento de sección 0th: %s"
-#: src/readelf.c:3955
+#: src/readelf.c:4286
#, fuzzy
msgid "sprintf failure"
msgstr "mprotect falló"
-#: src/readelf.c:4439
+#: src/readelf.c:4770
msgid "empty block"
msgstr "bloque vacío"
-#: src/readelf.c:4442
+#: src/readelf.c:4773
#, c-format
msgid "%zu byte block:"
msgstr "bloque de byte %zu:"
-#: src/readelf.c:4920
+#: src/readelf.c:5251
#, fuzzy, c-format
msgid "%*s[%2<PRIuMAX>] %s <TRUNCATED>\n"
msgstr "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
-#: src/readelf.c:5080
+#: src/readelf.c:5423
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr "%s %#<PRIx64> utilizado con direcciones de diferente tamaño"
-#: src/readelf.c:5087
+#: src/readelf.c:5430
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr "%s %#<PRIx64> utilizado con offsetr de diferente tamaño"
-#: src/readelf.c:5094
+#: src/readelf.c:5437
#, fuzzy, c-format
msgid "%s %#<PRIx64> used with different base addresses"
msgstr "%s %#<PRIx64> utilizado con direcciones de diferente tamaño"
-#: src/readelf.c:5101
+#: src/readelf.c:5444
#, fuzzy, c-format
msgid "%s %#<PRIx64> used with different attribute %s and %s"
msgstr "%s %#<PRIx64> utilizado con direcciones de diferente tamaño"
-#: src/readelf.c:5201
+#: src/readelf.c:5544
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr " [%6tx] <MATERIAL INUTIL SIN UTILIZAR EN EL RESTO DE LA SECCION>\n"
-#: src/readelf.c:5209
+#: src/readelf.c:5552
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr " [%6tx] <MATERIAL INUTIL NO UTILIZADO> ... %<PRIu64> bytes ...\n"
-#: src/readelf.c:5315
+#: src/readelf.c:5658
#, c-format
msgid ""
"\n"
@@ -5371,7 +5370,7 @@ msgstr ""
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
" [ Código]\n"
-#: src/readelf.c:5323
+#: src/readelf.c:5666
#, c-format
msgid ""
"\n"
@@ -5380,20 +5379,20 @@ msgstr ""
"\n"
"Sección de abreviatura en compensación %<PRIu64>:\n"
-#: src/readelf.c:5336
+#: src/readelf.c:5679
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr " *** error en lectura de abreviatura: %s\n"
-#: src/readelf.c:5352
+#: src/readelf.c:5695
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr " [%5u] compensación: %<PRId64>, hijos: %s, etiqueta: %s\n"
-#: src/readelf.c:5389 src/readelf.c:5682 src/readelf.c:5853 src/readelf.c:6224
-#: src/readelf.c:6850 src/readelf.c:8619 src/readelf.c:9361 src/readelf.c:9829
-#: src/readelf.c:10084 src/readelf.c:10246 src/readelf.c:10627
-#: src/readelf.c:10698
+#: src/readelf.c:5732 src/readelf.c:6025 src/readelf.c:6196 src/readelf.c:6567
+#: src/readelf.c:7193 src/readelf.c:8962 src/readelf.c:9704 src/readelf.c:10172
+#: src/readelf.c:10427 src/readelf.c:10589 src/readelf.c:10970
+#: src/readelf.c:11041
#, c-format
msgid ""
"\n"
@@ -5402,47 +5401,47 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
-#: src/readelf.c:5492 src/readelf.c:5516 src/readelf.c:5889 src/readelf.c:9397
+#: src/readelf.c:5835 src/readelf.c:5859 src/readelf.c:6232 src/readelf.c:9740
#, fuzzy, c-format
msgid " Length: %8<PRIu64>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:5494 src/readelf.c:5531 src/readelf.c:5902 src/readelf.c:9410
+#: src/readelf.c:5837 src/readelf.c:5874 src/readelf.c:6245 src/readelf.c:9753
#, fuzzy, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5495 src/readelf.c:5540 src/readelf.c:5911 src/readelf.c:9419
+#: src/readelf.c:5838 src/readelf.c:5883 src/readelf.c:6254 src/readelf.c:9762
#, fuzzy, c-format
msgid " Address size: %8<PRIu64>\n"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:5497 src/readelf.c:5550 src/readelf.c:5921 src/readelf.c:9429
+#: src/readelf.c:5840 src/readelf.c:5893 src/readelf.c:6264 src/readelf.c:9772
#, fuzzy, c-format
msgid " Segment size: %8<PRIu64>\n"
msgstr " establecer archivo a %<PRIu64>\n"
-#: src/readelf.c:5535 src/readelf.c:5906 src/readelf.c:9414 src/readelf.c:10820
+#: src/readelf.c:5878 src/readelf.c:6249 src/readelf.c:9757 src/readelf.c:11163
#, fuzzy, c-format
msgid "Unknown version"
msgstr "versión desconocida"
-#: src/readelf.c:5545 src/readelf.c:5752 src/readelf.c:5916 src/readelf.c:9424
+#: src/readelf.c:5888 src/readelf.c:6095 src/readelf.c:6259 src/readelf.c:9767
#, fuzzy, c-format
msgid "unsupported address size"
msgstr "no hay valor de dirección"
-#: src/readelf.c:5556 src/readelf.c:5763 src/readelf.c:5926 src/readelf.c:9434
+#: src/readelf.c:5899 src/readelf.c:6106 src/readelf.c:6269 src/readelf.c:9777
#, c-format
msgid "unsupported segment size"
msgstr ""
-#: src/readelf.c:5609
+#: src/readelf.c:5952
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr "no se ha podido obtener contenido de .debug_aranges: %s"
-#: src/readelf.c:5624
+#: src/readelf.c:5967
#, c-format
msgid ""
"\n"
@@ -5457,12 +5456,12 @@ msgstr[1] ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entradas %zu:\n"
-#: src/readelf.c:5655
+#: src/readelf.c:5998
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:5657
+#: src/readelf.c:6000
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
@@ -5470,7 +5469,7 @@ msgstr ""
" Inicio [%*zu]: %0#*<PRIx64>, longitud: %5<PRIu64>, compensación CU DIE: "
"%6<PRId64>\n"
-#: src/readelf.c:5695 src/readelf.c:8638
+#: src/readelf.c:6038 src/readelf.c:8981
#, fuzzy, c-format
msgid ""
"\n"
@@ -5479,140 +5478,140 @@ msgstr ""
"\n"
"Tabla en compensación %Zu:\n"
-#: src/readelf.c:5699 src/readelf.c:5870 src/readelf.c:6874 src/readelf.c:8649
-#: src/readelf.c:9378
+#: src/readelf.c:6042 src/readelf.c:6213 src/readelf.c:7217 src/readelf.c:8992
+#: src/readelf.c:9721
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr "Datos inválidos en sección [%zu] '%s'"
-#: src/readelf.c:5715
+#: src/readelf.c:6058
#, fuzzy, c-format
msgid ""
"\n"
" Length: %6<PRIu64>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:5727
+#: src/readelf.c:6070
#, fuzzy, c-format
msgid " DWARF version: %6<PRIuFAST16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5731
+#: src/readelf.c:6074
#, c-format
msgid "unsupported aranges version"
msgstr ""
-#: src/readelf.c:5742
+#: src/readelf.c:6085
#, fuzzy, c-format
msgid " CU offset: %6<PRIx64>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:5748
+#: src/readelf.c:6091
#, fuzzy, c-format
msgid " Address size: %6<PRIu64>\n"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:5759
+#: src/readelf.c:6102
#, fuzzy, c-format
msgid ""
" Segment size: %6<PRIu64>\n"
"\n"
msgstr " establecer archivo a %<PRIu64>\n"
-#: src/readelf.c:5814
+#: src/readelf.c:6157
#, c-format
msgid " %zu padding bytes\n"
msgstr ""
-#: src/readelf.c:5876 src/readelf.c:9384
+#: src/readelf.c:6219 src/readelf.c:9727
#, fuzzy, c-format
msgid ""
"Table at Offset 0x%<PRIx64>:\n"
"\n"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:5931 src/readelf.c:9439
+#: src/readelf.c:6274 src/readelf.c:9782
#, fuzzy, c-format
msgid " Offset entries: %8<PRIu64>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:5947 src/readelf.c:9455
+#: src/readelf.c:6290 src/readelf.c:9798
#, c-format
msgid " Unknown CU base: "
msgstr ""
-#: src/readelf.c:5949 src/readelf.c:9457
+#: src/readelf.c:6292 src/readelf.c:9800
#, c-format
msgid " CU [%6<PRIx64>] base: "
msgstr ""
-#: src/readelf.c:5955 src/readelf.c:9463
+#: src/readelf.c:6298 src/readelf.c:9806
#, c-format
msgid " Not associated with a CU.\n"
msgstr ""
-#: src/readelf.c:5966 src/readelf.c:9474
+#: src/readelf.c:6309 src/readelf.c:9817
#, c-format
msgid "too many offset entries for unit length"
msgstr ""
-#: src/readelf.c:5970 src/readelf.c:9478
+#: src/readelf.c:6313 src/readelf.c:9821
#, fuzzy, c-format
msgid " Offsets starting at 0x%<PRIx64>:\n"
msgstr " Propietario Tamaño\n"
-#: src/readelf.c:6022
+#: src/readelf.c:6365
#, fuzzy, c-format
msgid "invalid range list data"
msgstr "datos inválidos"
-#: src/readelf.c:6207 src/readelf.c:9813
+#: src/readelf.c:6550 src/readelf.c:10156
#, c-format
msgid ""
" %zu padding bytes\n"
"\n"
msgstr ""
-#: src/readelf.c:6255 src/readelf.c:9862
+#: src/readelf.c:6598 src/readelf.c:10205
#, c-format
msgid ""
"\n"
" Unknown CU base: "
msgstr ""
-#: src/readelf.c:6257 src/readelf.c:9864
+#: src/readelf.c:6600 src/readelf.c:10207
#, c-format
msgid ""
"\n"
" CU [%6<PRIx64>] base: "
msgstr ""
-#: src/readelf.c:6266 src/readelf.c:9890 src/readelf.c:9916
+#: src/readelf.c:6609 src/readelf.c:10233 src/readelf.c:10259
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr " [%6tx] <DATOS INVÃLIDOS>\n"
-#: src/readelf.c:6291 src/readelf.c:10000
+#: src/readelf.c:6634 src/readelf.c:10343
#, fuzzy
msgid "base address"
msgstr "Establecer dirección a %s\n"
-#: src/readelf.c:6301 src/readelf.c:10010
+#: src/readelf.c:6644 src/readelf.c:10353
#, fuzzy, c-format
msgid " [%6tx] empty list\n"
msgstr " [%6tx] lista vacía\n"
-#: src/readelf.c:6565
+#: src/readelf.c:6908
#, fuzzy
msgid " <INVALID DATA>\n"
msgstr " <DATOS INVÃLIDOS>\n"
-#: src/readelf.c:6822
+#: src/readelf.c:7165
#, fuzzy, c-format
msgid "cannot get ELF: %s"
msgstr "no se puede leer encabezamiento ELF: %s"
-#: src/readelf.c:6846
+#: src/readelf.c:7189
#, c-format
msgid ""
"\n"
@@ -5622,7 +5621,7 @@ msgstr ""
"Sección de información de marco de llamada [%2zu] '%s' en compensación "
"%#<PRIx64>:\n"
-#: src/readelf.c:6896
+#: src/readelf.c:7239
#, c-format
msgid ""
"\n"
@@ -5631,65 +5630,65 @@ msgstr ""
"\n"
" [%6tx] Terminator cero\n"
-#: src/readelf.c:7000 src/readelf.c:7154
+#: src/readelf.c:7343 src/readelf.c:7497
#, c-format
msgid "invalid augmentation length"
msgstr "longitud de aumento inválida"
-#: src/readelf.c:7015
+#: src/readelf.c:7358
msgid "FDE address encoding: "
msgstr "Codificación de dirección FDE:"
-#: src/readelf.c:7021
+#: src/readelf.c:7364
msgid "LSDA pointer encoding: "
msgstr "Codificación de puntero LSDA:"
-#: src/readelf.c:7131
+#: src/readelf.c:7474
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:7138
+#: src/readelf.c:7481
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:7175
+#: src/readelf.c:7518
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr "Puntero %-26sLSDA: %#<PRIx64>\n"
-#: src/readelf.c:7260
+#: src/readelf.c:7603
#, fuzzy, c-format
msgid "DIE [%<PRIx64>] cannot get attribute code: %s"
msgstr "No se puede obtener código de atributo: %s"
-#: src/readelf.c:7270
+#: src/readelf.c:7613
#, fuzzy, c-format
msgid "DIE [%<PRIx64>] cannot get attribute form: %s"
msgstr "No se puede obtener forma de atributo: %s"
-#: src/readelf.c:7292
+#: src/readelf.c:7635
#, fuzzy, c-format
msgid "DIE [%<PRIx64>] cannot get attribute '%s' (%s) value: %s"
msgstr "No se puede obtener valor: %s"
-#: src/readelf.c:7622
+#: src/readelf.c:7965
#, fuzzy, c-format
msgid "invalid file (%<PRId64>): %s"
msgstr "Archivo inválido"
-#: src/readelf.c:7626
+#: src/readelf.c:7969
#, fuzzy, c-format
msgid "no srcfiles for CU [%<PRIx64>]"
msgstr " establecer archivo a %<PRIu64>\n"
-#: src/readelf.c:7630
+#: src/readelf.c:7973
#, fuzzy, c-format
msgid "couldn't get DWARF CU: %s"
msgstr "no se puede leer encabezamiento ELF: %s"
-#: src/readelf.c:7952
+#: src/readelf.c:8295
#, c-format
msgid ""
"\n"
@@ -5700,12 +5699,12 @@ msgstr ""
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
" [Offset]\n"
-#: src/readelf.c:8002
+#: src/readelf.c:8345
#, fuzzy, c-format
msgid "cannot get next unit: %s"
msgstr "No se puede obtener próximo DIE: %s"
-#: src/readelf.c:8022
+#: src/readelf.c:8365
#, fuzzy, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5718,7 +5717,7 @@ msgstr ""
"Tamaño de dirección: %<PRIu8>, Tamaño de compensación: %<PRIu8>\n"
" Tipo de firma: %#<PRIx64>, Tipo de compensación: %#<PRIx64>\n"
-#: src/readelf.c:8034
+#: src/readelf.c:8377
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5729,39 +5728,39 @@ msgstr ""
" Versión: %<PRIu16>, Compensación de sección de abreviatura: %<PRIu64>, "
"Tamaño de dirección: %<PRIu8>, Tamaño de compensación: %<PRIu8>\n"
-#: src/readelf.c:8044 src/readelf.c:8205
+#: src/readelf.c:8387 src/readelf.c:8548
#, c-format
msgid " Unit type: %s (%<PRIu8>)"
msgstr ""
-#: src/readelf.c:8071
+#: src/readelf.c:8414
#, c-format
msgid "unknown version (%d) or unit type (%d)"
msgstr ""
-#: src/readelf.c:8100
+#: src/readelf.c:8443
#, c-format
msgid "cannot get DIE offset: %s"
msgstr "no se puede obtener DIE en compensación: %s"
-#: src/readelf.c:8109
+#: src/readelf.c:8452
#, fuzzy, c-format
msgid "cannot get tag of DIE at offset [%<PRIx64>] in section '%s': %s"
msgstr ""
"no se ha podido obtener etiqueta de DIE en compensación%<PRIu64> en sección "
"'%s': %s"
-#: src/readelf.c:8145
+#: src/readelf.c:8488
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr "No se puede obtener próximo DIE: %s\n"
-#: src/readelf.c:8153
+#: src/readelf.c:8496
#, c-format
msgid "cannot get next DIE: %s"
msgstr "No se puede obtener próximo DIE: %s"
-#: src/readelf.c:8197
+#: src/readelf.c:8540
#, fuzzy, c-format
msgid ""
" Split compilation unit at offset %<PRIu64>:\n"
@@ -5772,7 +5771,7 @@ msgstr ""
" Versión: %<PRIu16>, Compensación de sección de abreviatura: %<PRIu64>, "
"Tamaño de dirección: %<PRIu8>, Tamaño de compensación: %<PRIu8>\n"
-#: src/readelf.c:8249
+#: src/readelf.c:8592
#, fuzzy, c-format
msgid ""
"\n"
@@ -5782,13 +5781,13 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
-#: src/readelf.c:8581
+#: src/readelf.c:8924
#, fuzzy, c-format
msgid "unknown form: %s"
msgstr "Forma %<PRIx64> desconocida"
#. Print what we got so far.
-#: src/readelf.c:8729
+#: src/readelf.c:9072
#, fuzzy, c-format
msgid ""
"\n"
@@ -5819,34 +5818,34 @@ msgstr ""
"\n"
"Códigos operativos:\n"
-#: src/readelf.c:8751
+#: src/readelf.c:9094
#, fuzzy, c-format
msgid "cannot handle .debug_line version: %u\n"
msgstr "no se puede obtener versión de símbolo: %s"
-#: src/readelf.c:8759
+#: src/readelf.c:9102
#, fuzzy, c-format
msgid "cannot handle address size: %u\n"
msgstr "no hay valor de dirección"
-#: src/readelf.c:8767
+#: src/readelf.c:9110
#, fuzzy, c-format
msgid "cannot handle segment selector size: %u\n"
msgstr "No se puede encontrar la sección: %s"
-#: src/readelf.c:8777
+#: src/readelf.c:9120
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
msgstr "datos inválidos en compensación %tu en sección [%zu] '%s'"
-#: src/readelf.c:8792
+#: src/readelf.c:9135
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
msgstr[0] " [%*<PRIuFAST8>] argumento %hhu \n"
msgstr[1] " [%*<PRIuFAST8>] argumento %hhu\n"
-#: src/readelf.c:8803
+#: src/readelf.c:9146
msgid ""
"\n"
"Directory table:"
@@ -5854,12 +5853,12 @@ msgstr ""
"\n"
"Tabla de Directorio:"
-#: src/readelf.c:8809 src/readelf.c:8886
+#: src/readelf.c:9152 src/readelf.c:9229
#, fuzzy, c-format
msgid " ["
msgstr " %s: %s\n"
-#: src/readelf.c:8880
+#: src/readelf.c:9223
#, fuzzy
msgid ""
"\n"
@@ -5868,7 +5867,7 @@ msgstr ""
"\n"
" Tabla de sitio de llamada:"
-#: src/readelf.c:8941
+#: src/readelf.c:9284
#, fuzzy
msgid " Entry Dir Time Size Name"
msgstr ""
@@ -5876,7 +5875,7 @@ msgstr ""
"Tabla de nombre de archivo:\n"
" Directorio de entrada Tiempo Tamaño Nombre"
-#: src/readelf.c:8987
+#: src/readelf.c:9330
#, fuzzy
msgid ""
"\n"
@@ -5885,7 +5884,7 @@ msgstr ""
"\n"
" Declaraciones de número de Línea:"
-#: src/readelf.c:8991
+#: src/readelf.c:9334
msgid ""
"\n"
"Line number statements:"
@@ -5893,132 +5892,132 @@ msgstr ""
"\n"
" Declaraciones de número de Línea:"
-#: src/readelf.c:9006
+#: src/readelf.c:9349
#, fuzzy, c-format
msgid "invalid maximum operations per instruction is zero"
msgstr "longitud mínima inválida de tamaño de cadena coincidente"
-#: src/readelf.c:9040
+#: src/readelf.c:9383
#, fuzzy, c-format
msgid " special opcode %u: address+%u = "
msgstr " opcode especial %u: dirección+%u = %s, línea%+d = %zu\n"
-#: src/readelf.c:9044
+#: src/readelf.c:9387
#, fuzzy, c-format
msgid ", op_index = %u, line%+d = %zu\n"
msgstr ""
" opcode especial %u: dirección+%u = %s, op_index = %u, línea%+d = %zu\n"
-#: src/readelf.c:9047
+#: src/readelf.c:9390
#, c-format
msgid ", line%+d = %zu\n"
msgstr ""
-#: src/readelf.c:9065
+#: src/readelf.c:9408
#, c-format
msgid " extended opcode %u: "
msgstr " Código operativo extendido %u: "
-#: src/readelf.c:9070
+#: src/readelf.c:9413
#, fuzzy
msgid " end of sequence"
msgstr "Fin de secuencia"
-#: src/readelf.c:9088
+#: src/readelf.c:9431
#, fuzzy, c-format
msgid " set address to "
msgstr "Establecer dirección a %s\n"
-#: src/readelf.c:9116
+#: src/readelf.c:9459
#, fuzzy, c-format
msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
msgstr ""
"definir nuevo archivo: dir=%u, mtime=%<PRIu64>, longitud=%<PRIu64>, "
"nombre=%s\n"
-#: src/readelf.c:9130
+#: src/readelf.c:9473
#, c-format
msgid " set discriminator to %u\n"
msgstr " establecer discriminador a %u\n"
-#: src/readelf.c:9157
+#: src/readelf.c:9500
#, c-format
msgid " set inlined context %u, function name %s (0x%x)\n"
msgstr ""
-#: src/readelf.c:9181
+#: src/readelf.c:9524
#, fuzzy, c-format
#| msgid "Also show function names"
msgid " set function name %s (0x%x)\n"
msgstr "También mostrar nombres de función"
#. Unknown, ignore it.
-#: src/readelf.c:9188
+#: src/readelf.c:9531
#, fuzzy
msgid " unknown opcode"
msgstr "código operativo desconocido "
#. Takes no argument.
-#: src/readelf.c:9200
+#: src/readelf.c:9543
msgid " copy"
msgstr "Copiar"
-#: src/readelf.c:9211
+#: src/readelf.c:9554
#, fuzzy, c-format
msgid " advance address by %u to "
msgstr "Dirección de avance por %u a %s\n"
-#: src/readelf.c:9215 src/readelf.c:9276
+#: src/readelf.c:9558 src/readelf.c:9619
#, c-format
msgid ", op_index to %u"
msgstr ""
-#: src/readelf.c:9227
+#: src/readelf.c:9570
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr " línea de avance por la constante %d a %<PRId64>\n"
-#: src/readelf.c:9237
+#: src/readelf.c:9580
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr " establecer archivo a %<PRIu64>\n"
-#: src/readelf.c:9248
+#: src/readelf.c:9591
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr " Establecer columna a %<PRIu64>\n"
-#: src/readelf.c:9255
+#: src/readelf.c:9598
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr "Establecer '%s' a %<PRIuFAST8>\n"
#. Takes no argument.
-#: src/readelf.c:9261
+#: src/readelf.c:9604
msgid " set basic block flag"
msgstr "Establecer bandera de bloque básico"
-#: src/readelf.c:9272
+#: src/readelf.c:9615
#, fuzzy, c-format
msgid " advance address by constant %u to "
msgstr "Dirección de avance por constante %u a %s\n"
-#: src/readelf.c:9292
+#: src/readelf.c:9635
#, fuzzy, c-format
msgid " advance address by fixed value %u to \n"
msgstr "dirección de avance por valor corregido %u a %s\n"
#. Takes no argument.
-#: src/readelf.c:9302
+#: src/readelf.c:9645
msgid " set prologue end flag"
msgstr " Establecer bandera prologue_end"
#. Takes no argument.
-#: src/readelf.c:9307
+#: src/readelf.c:9650
msgid " set epilogue begin flag"
msgstr " Establecer bandera epilogue_begin"
-#: src/readelf.c:9317
+#: src/readelf.c:9660
#, c-format
msgid " set isa to %u\n"
msgstr " establecer isa para %u\n"
@@ -6026,95 +6025,95 @@ msgstr " establecer isa para %u\n"
#. This is a new opcode the generator but not we know about.
#. Read the parameters associated with it but then discard
#. everything. Read all the parameters for this opcode.
-#: src/readelf.c:9326
+#: src/readelf.c:9669
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
msgstr[0] " opcódigo con parámetro %<PRIu8> desconocido:"
msgstr[1] " opcódigo con parámetros %<PRIu8> desconocido:"
-#: src/readelf.c:9527
+#: src/readelf.c:9870
#, fuzzy, c-format
msgid " <INVALID DATA>\n"
msgstr " <DATOS INVÃLIDOS>\n"
-#: src/readelf.c:9567
+#: src/readelf.c:9910
#, fuzzy, c-format
msgid "invalid loclists data"
msgstr "datos inválidos"
-#: src/readelf.c:10037 src/readelf.c:11082
+#: src/readelf.c:10380 src/readelf.c:11425
msgid " <INVALID DATA>\n"
msgstr " <DATOS INVÃLIDOS>\n"
-#: src/readelf.c:10168
+#: src/readelf.c:10511
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr "%*s*** cadena no finalizada al final de la sección"
-#: src/readelf.c:10191
+#: src/readelf.c:10534
#, fuzzy, c-format
msgid "%*s*** missing DW_MACINFO_start_file argument at end of section"
msgstr "%*s*** cadena no finalizada al final de la sección"
-#: src/readelf.c:10286
+#: src/readelf.c:10629
#, fuzzy, c-format
msgid " Offset: 0x%<PRIx64>\n"
msgstr " Propietario Tamaño\n"
-#: src/readelf.c:10298
+#: src/readelf.c:10641
#, fuzzy, c-format
msgid " Version: %<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10304 src/readelf.c:11202
+#: src/readelf.c:10647 src/readelf.c:11546
#, c-format
msgid " unknown version, cannot parse section\n"
msgstr ""
-#: src/readelf.c:10311
+#: src/readelf.c:10654
#, fuzzy, c-format
msgid " Flag: 0x%<PRIx8>"
msgstr " Dirección de punto de entrada: %#<PRIx64>\n"
-#: src/readelf.c:10340
+#: src/readelf.c:10683
#, fuzzy, c-format
msgid " Offset length: %<PRIu8>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:10348
+#: src/readelf.c:10691
#, fuzzy, c-format
msgid " .debug_line offset: 0x%<PRIx64>\n"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:10373
+#: src/readelf.c:10716
#, fuzzy, c-format
msgid " extension opcode table, %<PRIu8> items:\n"
msgstr " opcódigo con parámetro %<PRIu8> desconocido:"
-#: src/readelf.c:10380
+#: src/readelf.c:10723
#, c-format
msgid " [%<PRIx8>]"
msgstr ""
-#: src/readelf.c:10392
+#: src/readelf.c:10735
#, fuzzy, c-format
msgid " %<PRIu8> arguments:"
msgstr " [%*<PRIuFAST8>] argumento %hhu \n"
-#: src/readelf.c:10407
+#: src/readelf.c:10750
#, c-format
msgid " no arguments."
msgstr ""
-#: src/readelf.c:10608
+#: src/readelf.c:10951
#, c-format
msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
msgstr ""
" Compensación [%5d] DIE: %6<PRId64>, Compensación CU DIE: %6<PRId64>, "
"nombre: %s\n"
-#: src/readelf.c:10663
+#: src/readelf.c:11006
#, c-format
msgid ""
"\n"
@@ -6126,37 +6125,37 @@ msgstr ""
" %*s String\n"
#. TRANS: the debugstr| prefix makes the string unique.
-#: src/readelf.c:10668
+#: src/readelf.c:11011
msgctxt "debugstr"
msgid "Offset"
msgstr ""
-#: src/readelf.c:10678
+#: src/readelf.c:11021
#, fuzzy, c-format
msgid " *** error, missing string terminator\n"
msgstr " *** error en lectura de cadenas: %s\n"
-#: src/readelf.c:10800
+#: src/readelf.c:11143
#, fuzzy, c-format
msgid " Length: %8<PRIu64>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:10802
+#: src/readelf.c:11145
#, fuzzy, c-format
msgid " Offset size: %8<PRIu8>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:10816
+#: src/readelf.c:11159
#, fuzzy, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10825
+#: src/readelf.c:11168
#, fuzzy, c-format
msgid " Padding: %8<PRIx16>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:10879
+#: src/readelf.c:11222
#, c-format
msgid ""
"\n"
@@ -6165,7 +6164,7 @@ msgstr ""
"\n"
"Sección de tabla de búsqueda de marco de llamada [%2zu] '.eh_frame_hdr':\n"
-#: src/readelf.c:10981
+#: src/readelf.c:11324
#, c-format
msgid ""
"\n"
@@ -6174,22 +6173,22 @@ msgstr ""
"\n"
"Excepción en el manejo de la sección de tabla [%2zu] '.gcc_except_table':\n"
-#: src/readelf.c:11004
+#: src/readelf.c:11347
#, c-format
msgid " LPStart encoding: %#x "
msgstr "Codificación LPStart: %#x "
-#: src/readelf.c:11016
+#: src/readelf.c:11359
#, c-format
msgid " TType encoding: %#x "
msgstr "Codificación TType: %#x "
-#: src/readelf.c:11033
+#: src/readelf.c:11376
#, c-format
msgid " Call site encoding: %#x "
msgstr "Codificación de sitio de llamada: %#x "
-#: src/readelf.c:11048
+#: src/readelf.c:11391
msgid ""
"\n"
" Call site table:"
@@ -6197,7 +6196,7 @@ msgstr ""
"\n"
" Tabla de sitio de llamada:"
-#: src/readelf.c:11064
+#: src/readelf.c:11407
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -6210,12 +6209,12 @@ msgstr ""
" Landing pad: %#<PRIx64>\n"
" Action: %u\n"
-#: src/readelf.c:11137
+#: src/readelf.c:11480
#, c-format
msgid "invalid TType encoding"
msgstr "Codificación TType inválida"
-#: src/readelf.c:11164
+#: src/readelf.c:11507
#, fuzzy, c-format
msgid ""
"\n"
@@ -6224,37 +6223,42 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
-#: src/readelf.c:11193
+#: src/readelf.c:11536
#, fuzzy, c-format
msgid " Version: %<PRId32>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:11211
+#: src/readelf.c:11555
#, fuzzy, c-format
msgid " CU offset: %#<PRIx32>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:11218
+#: src/readelf.c:11562
#, fuzzy, c-format
msgid " TU offset: %#<PRIx32>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:11225
+#: src/readelf.c:11569
#, fuzzy, c-format
msgid " address offset: %#<PRIx32>\n"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:11232
+#: src/readelf.c:11576
#, fuzzy, c-format
msgid " symbol offset: %#<PRIx32>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:11239
+#: src/readelf.c:11586
+#, fuzzy, c-format
+msgid " shortcut offset: %#<PRIx32>\n"
+msgstr " (fin de compensación: %#<PRIx64>)"
+
+#: src/readelf.c:11594
#, fuzzy, c-format
msgid " constant offset: %#<PRIx32>\n"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:11253
+#: src/readelf.c:11608
#, fuzzy, c-format
msgid ""
"\n"
@@ -6263,7 +6267,7 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
-#: src/readelf.c:11278
+#: src/readelf.c:11633
#, fuzzy, c-format
msgid ""
"\n"
@@ -6272,7 +6276,7 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
-#: src/readelf.c:11307
+#: src/readelf.c:11662
#, fuzzy, c-format
msgid ""
"\n"
@@ -6281,7 +6285,7 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
-#: src/readelf.c:11339
+#: src/readelf.c:11705
#, fuzzy, c-format
msgid ""
"\n"
@@ -6290,18 +6294,37 @@ msgstr ""
"\n"
"Tabla de símbolos inválida en compensación %#0<PRIx64>\n"
-#: src/readelf.c:11477
+#: src/readelf.c:11790
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Shortcut table at offset %#<PRIx32> contains %zu slots:\n"
+msgstr ""
+"\n"
+"Tabla de símbolos inválida en compensación %#0<PRIx64>\n"
+
+#: src/readelf.c:11802
+#, c-format
+msgid "Language of main: %s\n"
+msgstr ""
+
+#: src/readelf.c:11803
+#, c-format
+msgid "Name of main: "
+msgstr ""
+
+#: src/readelf.c:11886
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "no se puede depurar descriptor de contexto: %s"
-#: src/readelf.c:11843 src/readelf.c:12463 src/readelf.c:12573
-#: src/readelf.c:12630
+#: src/readelf.c:12252 src/readelf.c:12872 src/readelf.c:12982
+#: src/readelf.c:13039
#, c-format
msgid "cannot convert core note data: %s"
msgstr "no es posible convertir datos de la nota principal: %s"
-#: src/readelf.c:12207
+#: src/readelf.c:12616
#, c-format
msgid ""
"\n"
@@ -6310,21 +6333,21 @@ msgstr ""
"\n"
"%*s... <repeats %u more times> ..."
-#: src/readelf.c:12709
+#: src/readelf.c:13118
msgid " Owner Data size Type\n"
msgstr " Owner Data size Type\n"
-#: src/readelf.c:12737
+#: src/readelf.c:13146
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:12789
+#: src/readelf.c:13198
#, fuzzy, c-format
msgid "cannot get content of note: %s"
msgstr "no se puede obtener el contenido de sección de nota: %s"
-#: src/readelf.c:12822
+#: src/readelf.c:13231
#, c-format
msgid ""
"\n"
@@ -6333,7 +6356,7 @@ msgstr ""
"\n"
"Sección de nota [%2zu] '%s' de %<PRIu64> bytes en compensación %#0<PRIx64>:\n"
-#: src/readelf.c:12845
+#: src/readelf.c:13254
#, c-format
msgid ""
"\n"
@@ -6342,7 +6365,7 @@ msgstr ""
"\n"
"Segmento de nota de %<PRIu64> bytes en compensación %#0<PRIx64>:\n"
-#: src/readelf.c:12892
+#: src/readelf.c:13301
#, fuzzy, c-format
msgid ""
"\n"
@@ -6351,12 +6374,12 @@ msgstr ""
"\n"
"Sección [%Zu] '%s' no tiene datos para volcar.\n"
-#: src/readelf.c:12919 src/readelf.c:12970
+#: src/readelf.c:13328 src/readelf.c:13379
#, fuzzy, c-format
msgid "cannot get data for section [%zu] '%s': %s"
msgstr "no se pueden obtener datos para sección [%Zu] '%s': %s"
-#: src/readelf.c:12924
+#: src/readelf.c:13333
#, fuzzy, c-format
msgid ""
"\n"
@@ -6366,7 +6389,7 @@ msgstr ""
"Volcado Hex de sección [%Zu] '%s', %<PRIu64> bytes en compensación "
"%#0<PRIx64>:\n"
-#: src/readelf.c:12929
+#: src/readelf.c:13338
#, fuzzy, c-format
msgid ""
"\n"
@@ -6377,7 +6400,7 @@ msgstr ""
"Volcado Hex de sección [%Zu] '%s', %<PRIu64> bytes en compensación "
"%#0<PRIx64>:\n"
-#: src/readelf.c:12943
+#: src/readelf.c:13352
#, fuzzy, c-format
msgid ""
"\n"
@@ -6386,7 +6409,7 @@ msgstr ""
"\n"
"Sección [%Zu] '%s' no tiene datos para volcar.\n"
-#: src/readelf.c:12975
+#: src/readelf.c:13384
#, fuzzy, c-format
msgid ""
"\n"
@@ -6396,7 +6419,7 @@ msgstr ""
"Sección de cadena [%Zu] '%s' contiene %<PRIu64> bytes en compensación "
"%#0<PRIx64>:\n"
-#: src/readelf.c:12980
+#: src/readelf.c:13389
#, fuzzy, c-format
msgid ""
"\n"
@@ -6407,7 +6430,7 @@ msgstr ""
"Sección de cadena [%Zu] '%s' contiene %<PRIu64> bytes en compensación "
"%#0<PRIx64>:\n"
-#: src/readelf.c:13028
+#: src/readelf.c:13437
#, c-format
msgid ""
"\n"
@@ -6416,7 +6439,7 @@ msgstr ""
"\n"
"sección [%lu] no existe"
-#: src/readelf.c:13058
+#: src/readelf.c:13467
#, c-format
msgid ""
"\n"
@@ -6425,12 +6448,12 @@ msgstr ""
"\n"
"sección '%s' no existe"
-#: src/readelf.c:13113
+#: src/readelf.c:13522
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr "no se puede obtener el índice de símbolo de archivo '%s': %s"
-#: src/readelf.c:13116
+#: src/readelf.c:13525
#, c-format
msgid ""
"\n"
@@ -6439,7 +6462,7 @@ msgstr ""
"\n"
"Archivo '%s' no tiene índice de símbolo\n"
-#: src/readelf.c:13120
+#: src/readelf.c:13529
#, fuzzy, c-format
msgid ""
"\n"
@@ -6448,12 +6471,12 @@ msgstr ""
"\n"
"Ãndice de archivo '%s' tiene %Zu entradas:\n"
-#: src/readelf.c:13138
+#: src/readelf.c:13547
#, fuzzy, c-format
msgid "cannot extract member at offset %zu in '%s': %s"
msgstr "no es posible extraer miembro en compensación %Zu en '%s': %s"
-#: src/readelf.c:13143
+#: src/readelf.c:13552
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "Miembro de archivo contiene '%s':\n"
@@ -6938,7 +6961,7 @@ msgstr "%s: error al crear encabezamiento ELF: %s"
msgid "%s: error while getting shdrstrndx: %s"
msgstr "%s: error al crear encabezamiento ELF: %s"
-#: src/strip.c:1712 src/strip.c:2553
+#: src/strip.c:1712 src/strip.c:2552
#, fuzzy, c-format
msgid "%s: error updating shdrstrndx: %s"
msgstr "%s: error al crear encabezamiento ELF: %s"
@@ -6973,7 +6996,7 @@ msgstr "al crear tabla de cadenas de encabezamiento de sección: %s"
msgid "Cannot remove symbol [%zd] from allocated symbol table [%zd]"
msgstr ""
-#: src/strip.c:2469 src/strip.c:2577
+#: src/strip.c:2469 src/strip.c:2574
#, c-format
msgid "while writing '%s': %s"
msgstr "al escribir '%s': %s"
@@ -6993,22 +7016,22 @@ msgstr "al computar la suma de verificación para información de depuración"
msgid "%s: error while creating ELF header: %s"
msgstr "%s: error al crear encabezamiento ELF: %s"
-#: src/strip.c:2562
+#: src/strip.c:2560
#, c-format
msgid "%s: error while reading the file: %s"
msgstr "%s: error al leer el fichero: %s"
-#: src/strip.c:2602 src/strip.c:2622
+#: src/strip.c:2599 src/strip.c:2619
#, c-format
msgid "while writing '%s'"
msgstr "al escribir '%s'"
-#: src/strip.c:2659 src/strip.c:2666
+#: src/strip.c:2656 src/strip.c:2663
#, c-format
msgid "error while finishing '%s': %s"
msgstr "Error al terminar '%s': %s"
-#: src/strip.c:2683 src/strip.c:2759
+#: src/strip.c:2680 src/strip.c:2756
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr "no es posible establecer acceso y fecha de modificación de '%s'"
@@ -7494,7 +7517,7 @@ msgid ""
"section PATH SECTION-NAME\n"
msgstr ""
-#: tests/backtrace.c:483
+#: tests/backtrace.c:491
msgid "Run executable"
msgstr ""
@@ -7507,6 +7530,12 @@ msgstr "También mostrar nombres de función"
msgid "Show instances of inlined functions"
msgstr ""
+#, c-format
+#~ msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
+#~ msgstr ""
+#~ "Sección [%2d] '%s': tamaño de entrada de sección no coincide con "
+#~ "ElfXX_Rela\n"
+
#, fuzzy, c-format
#~ msgid "cannot get .debug_addr section data: %s"
#~ msgstr "no se pueden obtener datos de sección: %s"
diff --git a/po/ja.po b/po/ja.po
index 9e4e5546..bca8f29f 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: elfutils\n"
"Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n"
-"POT-Creation-Date: 2023-03-03 16:09+0100\n"
+"POT-Creation-Date: 2023-11-03 17:36+0100\n"
"PO-Revision-Date: 2009-09-20 15:32+0900\n"
"Last-Translator: Hyu_gabaru Ryu_ichi <hyu_gabaru@yahoo.co.jp>\n"
"Language-Team: Japanese <jp@li.org>\n"
@@ -42,7 +42,7 @@ msgid ""
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
msgstr ""
-#: lib/xmalloc.c:47 lib/xmalloc.c:60 lib/xmalloc.c:72 src/readelf.c:11793
+#: lib/xmalloc.c:47 lib/xmalloc.c:60 lib/xmalloc.c:72 src/readelf.c:12202
#: src/unstrip.c:311
#, c-format
msgid "memory exhausted"
@@ -525,7 +525,7 @@ msgstr "ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ãŒã‚ã‚Šã¾ã›ã‚“"
#: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:79
#: libebl/eblobjnotetypename.c:113 libebl/eblobjnotetypename.c:134
#: libebl/eblosabiname.c:73 libebl/eblsectionname.c:83
-#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:81
+#: libebl/eblsectiontypename.c:116 libebl/eblsegmenttypename.c:81
msgid "<unknown>"
msgstr "<ä¸æ˜Ž>"
@@ -619,7 +619,7 @@ msgstr "ソース演算å­ã®å¤§ãã•ãŒç„¡åŠ¹ã§ã™"
msgid "invalid size of destination operand"
msgstr "宛先演算å­ã®å¤§ãã•ãŒç„¡åŠ¹ã§ã™"
-#: libelf/elf_error.c:86 src/readelf.c:6415
+#: libelf/elf_error.c:86 src/readelf.c:6758
#, c-format
msgid "invalid encoding"
msgstr "無効ãªã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã§ã™"
@@ -704,8 +704,8 @@ msgstr "データ/scnã®ä¸æ•´åˆã§ã™"
msgid "invalid section header"
msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³ãƒ˜ãƒƒãƒ€ãƒ¼ã§ã™"
-#: libelf/elf_error.c:190 src/readelf.c:10294 src/readelf.c:10899
-#: src/readelf.c:11000 src/readelf.c:11188
+#: libelf/elf_error.c:190 src/readelf.c:10637 src/readelf.c:11242
+#: src/readelf.c:11343 src/readelf.c:11531
#, c-format
msgid "invalid data"
msgstr "ä¸å½“ãªãƒ‡ãƒ¼ã‚¿ã§ã™"
@@ -1357,8 +1357,8 @@ msgid "Suppress some error output (counterpart to --verbose)"
msgstr "ã„ãã¤ã‹ã®ã‚¨ãƒ©ãƒ¼å‡ºåŠ›ã‚’ 抑制ã™ã‚‹ ( --verbose ã®å対)"
#. Strings for arguments in help texts.
-#: src/elfclassify.c:979 src/elfcompress.c:1433 src/elflint.c:76
-#: src/readelf.c:160
+#: src/elfclassify.c:979 src/elfcompress.c:1436 src/elflint.c:77
+#: src/readelf.c:161
msgid "FILE..."
msgstr ""
@@ -1646,21 +1646,21 @@ msgid "unknown compression type '%s'"
msgstr "ä¸æ˜Žãªåœ§ç¸®ã‚¿ã‚¤ãƒ— '%s'"
#. We need at least one input file.
-#: src/elfcompress.c:162 src/elfcompress.c:1444
+#: src/elfcompress.c:162 src/elfcompress.c:1447
#, c-format
msgid "No input file given"
msgstr "入力ファイルãŒä¸Žãˆã‚‰ã‚Œã¦ã„ã¾ã›ã‚“"
-#: src/elfcompress.c:168 src/elfcompress.c:1448
+#: src/elfcompress.c:168 src/elfcompress.c:1451
#, c-format
msgid "Only one input file allowed together with '-o'"
msgstr "'-o' ã¨ä¸€ç·’ã®å ´åˆã¯å…¥åŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã¯ 1 ã¤ã—ã‹èªã‚られã¾ã›ã‚“"
-#: src/elfcompress.c:1405
+#: src/elfcompress.c:1408
msgid "Place (de)compressed output into FILE"
msgstr "圧縮(展開)ã—ãŸå‡ºåŠ›ã‚’ FILE ã«ç½®ã"
-#: src/elfcompress.c:1408
+#: src/elfcompress.c:1411
msgid ""
"What type of compression to apply. TYPE can be 'none' (decompress), "
"'zlib' (ELF ZLIB compression, the default, 'zlib-gabi' is an alias), 'zlib-"
@@ -1668,7 +1668,7 @@ msgid ""
"compression)"
msgstr ""
-#: src/elfcompress.c:1412
+#: src/elfcompress.c:1415
msgid ""
"SECTION name to (de)compress, SECTION is an extended wildcard pattern "
"(defaults to '.?(z)debug*')"
@@ -1676,41 +1676,41 @@ msgstr ""
"圧縮(展開)ã™ã‚‹ セクションå。 SECTION 㯠拡張 ワイルドカード パターン(デ"
"フォルト㧠'.?(z)debug*')"
-#: src/elfcompress.c:1415
+#: src/elfcompress.c:1418
msgid "Print a message for each section being (de)compressed"
msgstr "圧縮(展開) ã•ã‚Œã¦ã„ã‚‹ å„セクション ã«å¯¾ã™ã‚‹ メッセージを 表示"
-#: src/elfcompress.c:1418
+#: src/elfcompress.c:1421
msgid ""
"Force compression of section even if it would become larger or update/"
"rewrite the file even if no section would be (de)compressed"
msgstr ""
-#: src/elfcompress.c:1421 src/strip.c:92
+#: src/elfcompress.c:1424 src/strip.c:92
msgid "Relax a few rules to handle slightly broken ELF files"
msgstr "å°‘ã—壊れ㟠ELF ファイルをå–り扱ã†ãŸã‚ã«ãƒ«ãƒ¼ãƒ«ã‚’å°‘ã—ç·©å’Œã™ã‚‹"
-#: src/elfcompress.c:1424
+#: src/elfcompress.c:1427
msgid "Be silent when a section cannot be compressed"
msgstr "セクションを圧縮ã§ããªã„ã¨ãã«é™ã‹ã«ã™ã‚‹"
-#: src/elfcompress.c:1434
+#: src/elfcompress.c:1437
msgid "Compress or decompress sections in an ELF file."
msgstr "ELF ファイル㮠セクションを 圧縮 ã¾ãŸã¯ 展開ã™ã‚‹"
-#: src/elflint.c:62
+#: src/elflint.c:63
msgid "Be extremely strict, flag level 2 features."
msgstr "éžå¸¸ã«åŽ³æ ¼ã«ã™ã‚‹ã€‚ フラグレベル 2 機能。"
-#: src/elflint.c:63
+#: src/elflint.c:64
msgid "Do not print anything if successful"
msgstr "æˆåŠŸã—ãŸå ´åˆã¯ä½•ã‚‚表示ã—ãªã„"
-#: src/elflint.c:64
+#: src/elflint.c:65
msgid "Binary is a separate debuginfo file"
msgstr "ãƒã‚¤ãƒŠãƒªãƒ¼ã¯åˆ¥ã® debuginfo ファイルã§ã™"
-#: src/elflint.c:66
+#: src/elflint.c:67
msgid ""
"Binary has been created with GNU ld and is therefore known to be broken in "
"certain ways"
@@ -1719,171 +1719,171 @@ msgstr ""
"ã‚‹"
#. Short description of program.
-#: src/elflint.c:72
+#: src/elflint.c:73
msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
msgstr "ELF ファイル㌠gABI/psABI 仕様ã¸æº–æ‹ ã—ã¦ã„ã‚‹ã‹ã®åŽ³å¯†ãªãƒã‚§ãƒƒã‚¯ã€‚"
-#: src/elflint.c:153 src/readelf.c:391
+#: src/elflint.c:154 src/readelf.c:413
#, c-format
msgid "cannot open input file '%s'"
msgstr "入力ファイル '%s' ã‚’é–‹ã‘ã¾ã›ã‚“"
-#: src/elflint.c:160
+#: src/elflint.c:161
#, c-format
msgid "cannot generate Elf descriptor for '%s': %s\n"
msgstr "'%s' ã«å¯¾ã™ã‚‹ Elf 記述å­ã‚’生æˆã§ãã¾ã›ã‚“: %s\n"
-#: src/elflint.c:179
+#: src/elflint.c:180
#, c-format
msgid "error while closing Elf descriptor: %s\n"
msgstr "Elf 記述å­ã‚’é–‰ã˜ã¦ã„る時ã«ã‚¨ãƒ©ãƒ¼: %s\n"
-#: src/elflint.c:183
+#: src/elflint.c:184
msgid "No errors"
msgstr "エラーã¯ã‚ã‚Šã¾ã›ã‚“"
-#: src/elflint.c:218 src/readelf.c:603
+#: src/elflint.c:219 src/readelf.c:625
msgid "Missing file name.\n"
msgstr "ファイルåãŒã‚ã‚Šã¾ã›ã‚“。\n"
-#: src/elflint.c:283
+#: src/elflint.c:284
#, c-format
msgid " error while freeing sub-ELF descriptor: %s\n"
msgstr "sub-ELF 記述å­ã‚’解放ã—ã¦ã„る時ã«ã‚¨ãƒ©ãƒ¼: %s\n"
#. We cannot do anything.
-#: src/elflint.c:291
+#: src/elflint.c:292
#, c-format
msgid "Not an ELF file - it has the wrong magic bytes at the start\n"
msgstr "ELF ファイルã§ã¯ã‚ã‚Šã¾ã›ã‚“ - 最åˆã«èª¤ã£ãŸãƒžã‚¸ãƒƒã‚¯ãƒã‚¤ãƒˆãŒã‚ã‚Šã¾ã™\n"
-#: src/elflint.c:357
+#: src/elflint.c:358
#, c-format
msgid "e_ident[%d] == %d is no known class\n"
msgstr "e_ident[%d] == %d ã¯æ—¢çŸ¥ã®ã‚¯ãƒ©ã‚¹ã§ã¯ã‚ã‚Šã¾ã›ã‚“\n"
-#: src/elflint.c:362
+#: src/elflint.c:363
#, c-format
msgid "e_ident[%d] == %d is no known data encoding\n"
msgstr "e_ident[%d] == %d ã¯æ—¢çŸ¥ã®ãƒ‡ãƒ¼ã‚¿ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã§ã¯ã‚ã‚Šã¾ã›ã‚“\n"
-#: src/elflint.c:366
+#: src/elflint.c:367
#, c-format
msgid "unknown ELF header version number e_ident[%d] == %d\n"
msgstr "ä¸æ˜Žãª ELF ヘッダーãƒãƒ¼ã‚¸ãƒ§ãƒ³æ•° e_ident[%d] == %d\n"
-#: src/elflint.c:374
+#: src/elflint.c:375
#, c-format
msgid "unsupported OS ABI e_ident[%d] == '%s'\n"
msgstr "ä¸æ˜Žãª OS ABI e_ident[%d] == '%s'\n"
-#: src/elflint.c:380
+#: src/elflint.c:381
#, c-format
msgid "unsupported ABI version e_ident[%d] == %d\n"
msgstr "ä¸æ˜Žãª ABI ãƒãƒ¼ã‚¸ãƒ§ãƒ³ e_ident[%d] == %d\n"
-#: src/elflint.c:385
+#: src/elflint.c:386
#, c-format
msgid "e_ident[%zu] is not zero\n"
msgstr "e_ident[%zu] ãŒã‚¼ãƒ­ã§ã¯ã‚ã‚Šã¾ã›ã‚“\n"
-#: src/elflint.c:390
+#: src/elflint.c:391
#, c-format
msgid "unknown object file type %d\n"
msgstr "ä¸æ˜Žãªã‚ªãƒ–ジェクトファイルタイプ %d\n"
-#: src/elflint.c:397
+#: src/elflint.c:398
#, c-format
msgid "unknown machine type %d\n"
msgstr "ä¸æ˜Žãªãƒžã‚·ãƒ³ã‚¿ã‚¤ãƒ— %d\n"
-#: src/elflint.c:401
+#: src/elflint.c:402
#, c-format
msgid "unknown object file version\n"
msgstr "ä¸æ˜Žãªã‚ªãƒ–ジェクトファイルãƒãƒ¼ã‚¸ãƒ§ãƒ³\n"
-#: src/elflint.c:407
+#: src/elflint.c:408
#, c-format
msgid "invalid program header offset\n"
msgstr "ä¸å½“ãªãƒ—ログラムヘッダーオフセット\n"
-#: src/elflint.c:409
+#: src/elflint.c:410
#, c-format
msgid "executables and DSOs cannot have zero program header offset\n"
msgstr ""
"実行ファイル㨠DSO ã¯ãƒ—ログラムヘッダーオフセット㌠0 ã§ã‚ã£ã¦ã¯ã„ã‘ã¾ã›ã‚“\n"
-#: src/elflint.c:413
+#: src/elflint.c:414
#, c-format
msgid "invalid number of program header entries\n"
msgstr "プログラムヘッダー項目数ã¨ã—ã¦ä¸å½“ãªæ•°\n"
-#: src/elflint.c:421
+#: src/elflint.c:422
#, c-format
msgid "invalid section header table offset\n"
msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³ãƒ˜ãƒƒãƒ€ãƒ¼ãƒ†ãƒ¼ãƒ–ルオフセット\n"
-#: src/elflint.c:424
+#: src/elflint.c:425
#, c-format
msgid "section header table must be present\n"
msgstr "セクションヘッダーテーブルãŒãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“\n"
-#: src/elflint.c:438
+#: src/elflint.c:439
#, c-format
msgid "invalid number of section header table entries\n"
msgstr "セクションヘッダーテーブル項目数ã¨ã—ã¦ä¸å½“ãªæ•°\n"
-#: src/elflint.c:455
+#: src/elflint.c:456
#, c-format
msgid "invalid section header index\n"
msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³ãƒ˜ãƒƒãƒ€ãƒ¼ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\n"
-#: src/elflint.c:473
+#: src/elflint.c:474
#, c-format
msgid "Can only check %u headers, shnum was %u\n"
msgstr ""
-#: src/elflint.c:487
+#: src/elflint.c:488
#, c-format
msgid "invalid number of program header table entries\n"
msgstr "プログラムヘッダー項目数ã¨ã—ã¦ä¸å½“ãªæ•°\n"
-#: src/elflint.c:504
+#: src/elflint.c:505
#, c-format
msgid "Can only check %u headers, phnum was %u\n"
msgstr ""
-#: src/elflint.c:509
+#: src/elflint.c:510
#, c-format
msgid "invalid machine flags: %s\n"
msgstr "ä¸å½“ãªãƒžã‚·ãƒ³ãƒ•ãƒ©ã‚°: %s\n"
-#: src/elflint.c:516 src/elflint.c:533
+#: src/elflint.c:517 src/elflint.c:534
#, c-format
msgid "invalid ELF header size: %hd\n"
msgstr "ä¸å½“㪠ELF ヘッダーサイズ: %hd\n"
-#: src/elflint.c:519 src/elflint.c:536
+#: src/elflint.c:520 src/elflint.c:537
#, c-format
msgid "invalid program header size: %hd\n"
msgstr "ä¸å½“ãªãƒ—ログラムヘッダーサイズ: %hd\n"
-#: src/elflint.c:522 src/elflint.c:539
+#: src/elflint.c:523 src/elflint.c:540
#, c-format
msgid "invalid program header position or size\n"
msgstr "ä¸å½“ãªãƒ—ログラムヘッダーä½ç½®ã‹ã‚µã‚¤ã‚º\n"
-#: src/elflint.c:525 src/elflint.c:542
+#: src/elflint.c:526 src/elflint.c:543
#, c-format
msgid "invalid section header size: %hd\n"
msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³ãƒ˜ãƒƒãƒ€ãƒ¼ã‚µã‚¤ã‚º: %hd\n"
-#: src/elflint.c:528 src/elflint.c:545
+#: src/elflint.c:529 src/elflint.c:546
#, c-format
msgid "invalid section header position or size\n"
msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³ãƒ˜ãƒƒãƒ€ãƒ¼ä½ç½®ã‹ã‚µã‚¤ã‚º\n"
-#: src/elflint.c:590
+#: src/elflint.c:591
#, c-format
msgid ""
"section [%2d] '%s': section with SHF_GROUP flag set not part of a section "
@@ -1892,7 +1892,7 @@ msgstr ""
"セクション [%2d] '%s': SHF_GROUP フラグã®ã‚るセクションã«ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚°ãƒ«ãƒ¼ãƒ—ã®"
"一部分ãŒè¨­å®šã•ã‚Œã¦ã„ã¾ã›ã‚“\n"
-#: src/elflint.c:594
+#: src/elflint.c:595
#, c-format
msgid ""
"section [%2d] '%s': section group [%2zu] '%s' does not precede group member\n"
@@ -1900,14 +1900,14 @@ msgstr ""
"セクション [%2d] '%s': セクショングループ [%2zu] '%s' ãŒã‚°ãƒ«ãƒ¼ãƒ—メンãƒãƒ¼ã‚ˆã‚Š"
"å‰ã«ã‚ã‚Šã¾ã›ã‚“\n"
-#: src/elflint.c:610 src/elflint.c:1498 src/elflint.c:1549 src/elflint.c:1655
-#: src/elflint.c:1991 src/elflint.c:2317 src/elflint.c:2943 src/elflint.c:3106
-#: src/elflint.c:3254 src/elflint.c:3456 src/elflint.c:4468
+#: src/elflint.c:611 src/elflint.c:1509 src/elflint.c:1560 src/elflint.c:1610
+#: src/elflint.c:1692 src/elflint.c:2029 src/elflint.c:2355 src/elflint.c:2981
+#: src/elflint.c:3144 src/elflint.c:3292 src/elflint.c:3494 src/elflint.c:4511
#, c-format
msgid "section [%2d] '%s': cannot get section data\n"
msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
-#: src/elflint.c:623 src/elflint.c:1662
+#: src/elflint.c:624 src/elflint.c:1699
#, c-format
msgid ""
"section [%2d] '%s': referenced as string table for section [%2d] '%s' but "
@@ -1916,7 +1916,7 @@ msgstr ""
"セクション [%2d] '%s': セクション [%2d] '%s' 用ã®æ–‡å­—列テーブルã¨ã—ã¦å‚ç…§ã•ã‚Œ"
"ã¦ã„ã¾ã™ãŒã€ã‚¿ã‚¤ãƒ—㌠SHT_STRTAB ã§ã¯ã‚ã‚Šã¾ã›ã‚“\n"
-#: src/elflint.c:646
+#: src/elflint.c:647
#, c-format
msgid ""
"section [%2d] '%s': symbol table cannot have more than one extended index "
@@ -1925,45 +1925,45 @@ msgstr ""
"セクション [%2d] '%s': シンボルテーブル㯠1 個を越ãˆã‚‹æ‹¡å¼µã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚»ã‚¯"
"ションをæŒã¦ã¾ã›ã‚“\n"
-#: src/elflint.c:658
+#: src/elflint.c:659
#, c-format
msgid "section [%2u] '%s': entry size is does not match ElfXX_Sym\n"
msgstr "セクション [%2u] '%s': 項目サイズ㌠ElfXX_Sym ã¨ä¸€è‡´ã—ã¾ã›ã‚“\n"
-#: src/elflint.c:662
+#: src/elflint.c:663
#, c-format
msgid ""
"section [%2u] '%s': number of local entries in 'st_info' larger than table "
"size\n"
msgstr ""
-#: src/elflint.c:671
+#: src/elflint.c:672
#, c-format
msgid "section [%2d] '%s': cannot get symbol %d: %s\n"
msgstr "セクション [%2d] '%s': シンボル %d を得られã¾ã›ã‚“: %s\n"
-#: src/elflint.c:676 src/elflint.c:679 src/elflint.c:682 src/elflint.c:685
-#: src/elflint.c:688 src/elflint.c:691
+#: src/elflint.c:677 src/elflint.c:680 src/elflint.c:683 src/elflint.c:686
+#: src/elflint.c:689 src/elflint.c:692
#, c-format
msgid "section [%2d] '%s': '%s' in zeroth entry not zero\n"
msgstr "セクション [%2d] '%s': 0番目ã®é …ç›®ã«ã‚ã‚‹ '%s' ゼロã§ã¯ã‚ã‚Šã¾ã›ã‚“\n"
-#: src/elflint.c:694
+#: src/elflint.c:695
#, c-format
msgid "section [%2d] '%s': XINDEX for zeroth entry not zero\n"
msgstr "セクション [%2d] '%s': 0番目ã®é …目用㮠XINDEX ãŒã‚¼ãƒ­ã§ã¯ã‚ã‚Šã¾ã›ã‚“\n"
-#: src/elflint.c:704
+#: src/elflint.c:705
#, c-format
msgid "section [%2d] '%s': cannot get symbol %zu: %s\n"
msgstr "セクション [%2d] '%s': シンボル %zu を得られã¾ã›ã‚“: %s\n"
-#: src/elflint.c:713
+#: src/elflint.c:714
#, c-format
msgid "section [%2d] '%s': symbol %zu: invalid name value\n"
msgstr "セクション [%2d] '%s': シンボル %zu: ä¸å½“ãªåå‰ã®å€¤\n"
-#: src/elflint.c:728
+#: src/elflint.c:729
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): too large section index but no extended "
@@ -1972,7 +1972,7 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: 大ãã™ãŽã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã ãŒã€æ‹¡"
"張セクションインデックスセクションãŒã‚ã‚Šã¾ã›ã‚“\n"
-#: src/elflint.c:734
+#: src/elflint.c:735
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): XINDEX used for index which would fit "
@@ -1982,29 +1982,29 @@ msgstr ""
"クス用ã«ä½¿ã‚れる XINDEX\n"
#. || sym->st_shndx > SHN_HIRESERVE always false
-#: src/elflint.c:746
+#: src/elflint.c:747
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): invalid section index\n"
msgstr "セクション [%2d] '%s': シンボル %zu: ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\n"
-#: src/elflint.c:754
+#: src/elflint.c:755
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unknown type\n"
msgstr "セクション [%2d] '%s': シンボル %zu: ä¸æ˜Žãªã‚¿ã‚¤ãƒ—\n"
-#: src/elflint.c:760
+#: src/elflint.c:761
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unknown symbol binding\n"
msgstr "セクション [%2d] '%s': シンボル %zu: ä¸æ˜Žãªã‚·ãƒ³ãƒœãƒ«ãƒã‚¤ãƒ³ãƒ‡ã‚£ãƒ³ã‚°\n"
-#: src/elflint.c:765
+#: src/elflint.c:766
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unique symbol not of object type\n"
msgstr ""
"セクション [%2d] '%s': シンボル %zu: オブジェクトタイプã¨ç•°ãªã‚‹å›ºæœ‰ã®ã‚·ãƒ³ãƒœ"
"ル\n"
-#: src/elflint.c:773
+#: src/elflint.c:774
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): COMMON only allowed in relocatable "
@@ -2013,7 +2013,7 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: COMMON ã¯ãƒªãƒ­ã‚±ãƒ¼ã‚¿ãƒ–ルファイル内ã®ã¿ã§"
"許ã•ã‚Œã¾ã™\n"
-#: src/elflint.c:777
+#: src/elflint.c:778
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): local COMMON symbols are nonsense\n"
@@ -2021,7 +2021,7 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: ローカル㪠COMMON シンボルã¯æ„味ãŒã‚ã‚Šã¾"
"ã›ã‚“\n"
-#: src/elflint.c:781
+#: src/elflint.c:782
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): function in COMMON section is nonsense\n"
@@ -2029,12 +2029,12 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: COMMON セクションã®æ©Ÿèƒ½ã¯æ„味ãŒã‚ã‚Šã¾ã›"
"ã‚“\n"
-#: src/elflint.c:832
+#: src/elflint.c:833
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): st_value out of bounds\n"
msgstr "セクション [%2d] '%s': シンボル %zu: st_value 境界外\n"
-#: src/elflint.c:838 src/elflint.c:863 src/elflint.c:912
+#: src/elflint.c:839 src/elflint.c:864 src/elflint.c:913
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s) does not fit completely in referenced "
@@ -2043,7 +2043,7 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu ã¯å‚ç…§ã•ã‚Œã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%2d] '%s' ã¨ã¯å®Œ"
"å…¨ã«ä¸€è‡´ã—ã¾ã›ã‚“\n"
-#: src/elflint.c:847
+#: src/elflint.c:848
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): referenced section [%2d] '%s' does not "
@@ -2052,7 +2052,7 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: å‚ç…§ã•ã‚Œã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%2d] '%s' 㯠"
"SHF_TLS フラグãŒè¨­å®šã•ã‚Œã¦ã„ã¾ã›ã‚“\n"
-#: src/elflint.c:857 src/elflint.c:905
+#: src/elflint.c:858 src/elflint.c:906
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): st_value out of bounds of referenced "
@@ -2061,7 +2061,7 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: st_value å‚ç…§ã•ã‚Œã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%2d] "
"'%s' ã®å¢ƒç•Œå¤–\n"
-#: src/elflint.c:884
+#: src/elflint.c:885
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): TLS symbol but no TLS program header "
@@ -2070,7 +2070,7 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: TLS プログラムヘッダー項目ãŒãªã„ TLS ã‚·"
"ンボル\n"
-#: src/elflint.c:890
+#: src/elflint.c:891
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): TLS symbol but couldn't get TLS program "
@@ -2079,7 +2079,7 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: TLS プログラムヘッダー項目ãŒãªã„ TLS ã‚·"
"ンボル\n"
-#: src/elflint.c:898
+#: src/elflint.c:899
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): st_value short of referenced section "
@@ -2088,7 +2088,7 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: å‚ç…§ã•ã‚Œã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%2d] '%s' ã®"
"st_value ä¸è¶³\n"
-#: src/elflint.c:925
+#: src/elflint.c:926
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): local symbol outside range described in "
@@ -2097,7 +2097,7 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: sh_info ã«è¨˜è¿°ã•ã‚ŒãŸç¯„囲外ã®ãƒ­ãƒ¼ã‚«ãƒ«ã‚·ãƒ³"
"ボル\n"
-#: src/elflint.c:932
+#: src/elflint.c:933
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): non-local symbol outside range "
@@ -2106,12 +2106,12 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: sh_info ã«è¨˜è¿°ã•ã‚ŒãŸç¯„囲外ã®éžãƒ­ãƒ¼ã‚«ãƒ«ã‚·"
"ンボル\n"
-#: src/elflint.c:939
+#: src/elflint.c:940
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): non-local section symbol\n"
msgstr "セクション [%2d] '%s': シンボル %zu: éžãƒ­ãƒ¼ã‚«ãƒ«ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚·ãƒ³ãƒœãƒ«\n"
-#: src/elflint.c:989
+#: src/elflint.c:990
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section "
@@ -2120,7 +2120,7 @@ msgstr ""
"セクション [%2d] '%s': _GLOBAL_OFFSET_TABLE_ シンボルãŒé–“é•ã£ãŸã‚»ã‚¯ã‚·ãƒ§ãƒ³ "
"[%2d] ã‚’å‚ç…§ã—ã¦ã„ã¾ã™\n"
-#: src/elflint.c:996
+#: src/elflint.c:997
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] "
@@ -2132,7 +2132,7 @@ msgstr ""
#. This test is more strict than the psABIs which
#. usually allow the symbol to be in the middle of
#. the .got section, allowing negative offsets.
-#: src/elflint.c:1012
+#: src/elflint.c:1013
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
@@ -2141,7 +2141,7 @@ msgstr ""
"セクション [%2d] '%s': _GLOBAL_OFFSET_TABLE_ シンボル値 %#<PRIx64> 㯠%s ã®ã‚»"
"クションアドレス %#<PRIx64> ã¨ä¸€è‡´ã—ã¾ã›ã‚“\n"
-#: src/elflint.c:1019
+#: src/elflint.c:1020
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
@@ -2150,7 +2150,7 @@ msgstr ""
"セクション [%2d] '%s': _GLOBAL_OFFSET_TABLE_ シンボルサイズ %<PRIu64> 㯠%s "
"ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚µã‚¤ã‚º %<PRIu64> ã¨ä¸€è‡´ã—ã¾ã›ã‚“\n"
-#: src/elflint.c:1027
+#: src/elflint.c:1028
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
@@ -2159,7 +2159,7 @@ msgstr ""
"セクション [%2d] '%s': _GLOBAL_OFFSET_TABLE_ シンボルã¯ã‚ã‚Šã¾ã™ãŒã€.got セク"
"ションãŒã‚ã‚Šã¾ã›ã‚“\n"
-#: src/elflint.c:1043
+#: src/elflint.c:1044
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
@@ -2168,7 +2168,7 @@ msgstr ""
"セクション [%2d] '%s': _DYNAMIC_ シンボル値 %#<PRIx64> ã¯å‹•çš„セグメントアドレ"
"ス %#<PRIx64> ã¨ä¸€è‡´ã—ã¾ã›ã‚“\n"
-#: src/elflint.c:1050
+#: src/elflint.c:1051
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
@@ -2177,7 +2177,7 @@ msgstr ""
"セクション [%2d] '%s': _DYNAMIC シンボルサイズ %<PRIu64> ã¯å‹•çš„セグメントサイ"
"ズ %<PRIu64> ã¨ä¸€è‡´ã—ã¾ã›ã‚“\n"
-#: src/elflint.c:1063
+#: src/elflint.c:1064
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): symbol in dynamic symbol table with non-"
@@ -2186,29 +2186,29 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: çœç•¥ä»¥å¤–ã®å¯è¦–性をæŒã£ãŸå‹•çš„シンボルテー"
"ブル中ã®ã‚·ãƒ³ãƒœãƒ«\n"
-#: src/elflint.c:1067
+#: src/elflint.c:1068
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unknown bit set in st_other\n"
msgstr ""
"セクション [%2d] '%s': シンボル %zu: st_other 中ã«è¨­å®šã•ã‚ŒãŸä¸æ˜Žãªãƒ“ット\n"
-#: src/elflint.c:1105
+#: src/elflint.c:1106
#, fuzzy, c-format
msgid "section [%2d] '%s': cannot get section data.\n"
msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
-#: src/elflint.c:1121
+#: src/elflint.c:1122
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
msgstr "セクション [%2d] '%s': ã“ã® RELA セクション用ã«ä½¿ã‚れる DT_RELCOUNT\n"
-#: src/elflint.c:1132 src/elflint.c:1185
+#: src/elflint.c:1133 src/elflint.c:1186
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
msgstr ""
"セクション [%2d] '%s': ã“ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ç”¨ã«ã¯é«˜ã™ãŽã‚‹ DT_RELCOUNT 値 %d\n"
-#: src/elflint.c:1157 src/elflint.c:1210
+#: src/elflint.c:1158 src/elflint.c:1211
#, c-format
msgid ""
"section [%2d] '%s': relative relocations after index %d as specified by "
@@ -2217,7 +2217,7 @@ msgstr ""
"セクション [%2d] '%s': UT_RELOCOUNT ã§æŒ‡å®šã•ã‚ŒãŸã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ %d 後ã®ç›¸å¯¾ãƒªãƒ­"
"ケーション\n"
-#: src/elflint.c:1163 src/elflint.c:1216
+#: src/elflint.c:1164 src/elflint.c:1217
#, c-format
msgid ""
"section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
@@ -2226,52 +2226,46 @@ msgstr ""
"セクション [%2d] '%s': インデックス %zu ã§ã®éžç›¸å¯¾ãƒªãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³; %d 相対リ"
"ロケーションã§æŒ‡å®šã•ã‚ŒãŸ DT_RELCOUNT\n"
-#: src/elflint.c:1175
+#: src/elflint.c:1176
#, c-format
msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
msgstr "セクション [%2d] '%s': ã“ã® REL セクション用ã«ä½¿ã‚れる DT_RELACOUNT\n"
-#: src/elflint.c:1258
+#: src/elflint.c:1259
#, c-format
msgid "section [%2d] '%s': invalid destination section index\n"
msgstr "セクション [%2d] '%s': ä¸å½“ãªå®›å…ˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\n"
-#: src/elflint.c:1270
+#: src/elflint.c:1271
#, c-format
msgid "section [%2d] '%s': invalid destination section type\n"
msgstr "セクション [%2d] '%s': ä¸å½“ãªå®›å…ˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚¿ã‚¤ãƒ—\n"
-#: src/elflint.c:1278
+#: src/elflint.c:1279
#, c-format
msgid "section [%2d] '%s': sh_info should be zero\n"
msgstr "セクション [%2d] '%s': sh_info ã¯ã‚¼ãƒ­ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“\n"
-#: src/elflint.c:1286
+#: src/elflint.c:1287
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': no relocations for merge-able string sections possible\n"
msgstr ""
"セクション [%2d] '%s': マージã§ãるセクションã®ãƒªãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã¯ä¸å¯èƒ½ã§ã™\n"
-#: src/elflint.c:1294
-#, c-format
-msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
-msgstr ""
-"セクション [%2d] '%s': セクション項目サイズ㌠ElfXX_Rela ã¨ä¸€è‡´ã—ã¾ã›ã‚“\n"
-
-#: src/elflint.c:1354
+#: src/elflint.c:1365
#, c-format
msgid "text relocation flag set but there is no read-only segment\n"
msgstr ""
"テキストリロケーションフラグãŒè¨­å®šã•ã‚Œã¦ã„ã¾ã™ãŒã€èª­è¾¼ã¿å°‚用セグメントãŒã‚ã‚Š"
"ã¾ã›ã‚“\n"
-#: src/elflint.c:1381
+#: src/elflint.c:1392
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid type\n"
msgstr "セクション [%2d] '%s': リロケーション %zu: ä¸å½“ãªã‚¿ã‚¤ãƒ—\n"
-#: src/elflint.c:1389
+#: src/elflint.c:1400
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: relocation type invalid for the file "
@@ -2280,13 +2274,13 @@ msgstr ""
"セクション [%2d] '%s': リロケーション %zu: ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ç”¨ã®ãƒªãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã‚¿ã‚¤"
"プã¯ä¸å½“ã§ã™\n"
-#: src/elflint.c:1397
+#: src/elflint.c:1408
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
msgstr ""
"セクション [%2d] '%s': リロケーション %zu: ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\n"
-#: src/elflint.c:1415
+#: src/elflint.c:1426
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
@@ -2295,12 +2289,12 @@ msgstr ""
"セクション [%2d] '%s': リロケーション %zu: シンボル '_GLOBAL_OFFSET_TABLE_' "
"ã®ã¿ãŒ %s ã¨ä¸€ç·’ã«ä½¿ç”¨ã§ãã¾ã™\n"
-#: src/elflint.c:1432
+#: src/elflint.c:1443
#, c-format
msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
msgstr "セクション [%2d] '%s': リロケーション %zu: オフセット境界外\n"
-#: src/elflint.c:1447
+#: src/elflint.c:1458
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: copy relocation against symbol of type "
@@ -2309,7 +2303,7 @@ msgstr ""
"セクション [%2d] '%s': リロケーション %zu: タイプ %s ã®ã‚·ãƒ³ãƒœãƒ«ã«å¯¾ã™ã‚‹ã‚³ãƒ”ー"
"リロケーション\n"
-#: src/elflint.c:1468
+#: src/elflint.c:1479
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: read-only section modified but text "
@@ -2318,24 +2312,24 @@ msgstr ""
"セクション [%2d] '%s': リロケーション %zu: 読込ã¿å°‚用セクションãŒå¤‰æ›´ã•ã‚Œã¾ã—"
"ãŸãŒã€ãƒ†ã‚­ã‚¹ãƒˆãƒªãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ãƒ•ãƒ©ã‚°ãŒè¨­å®šã•ã‚Œã¦ã„ã¾ã›ã‚“\n"
-#: src/elflint.c:1483
+#: src/elflint.c:1494
#, c-format
msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
msgstr ""
"セクション [%2d] '%s': リロケーションãŒãƒ­ãƒ¼ãƒ‰ã•ã‚ŒãŸãƒ‡ãƒ¼ã‚¿ã¨ãƒ­ãƒ¼ãƒ‰ã•ã‚Œãªã‹ã£ãŸ"
"データã«å¯¾ã—ã¦ã§ã™\n"
-#: src/elflint.c:1523 src/elflint.c:1574
+#: src/elflint.c:1534 src/elflint.c:1585
#, c-format
msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
msgstr ""
-#: src/elflint.c:1650
+#: src/elflint.c:1687
#, c-format
msgid "more than one dynamic section present\n"
msgstr ""
-#: src/elflint.c:1668
+#: src/elflint.c:1705
#, fuzzy, c-format
msgid ""
"section [%2d]: referenced as string table for section [%2d] '%s' but section "
@@ -2344,427 +2338,427 @@ msgstr ""
"セクション [%2d] '%s': セクション [%2d] '%s' 用ã®æ–‡å­—列テーブルã¨ã—ã¦å‚ç…§ã•ã‚Œ"
"ã¦ã„ã¾ã™ãŒã€ã‚¿ã‚¤ãƒ—㌠SHT_STRTAB ã§ã¯ã‚ã‚Šã¾ã›ã‚“\n"
-#: src/elflint.c:1676
+#: src/elflint.c:1713
#, c-format
msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
msgstr ""
-#: src/elflint.c:1681 src/elflint.c:1970
+#: src/elflint.c:1718 src/elflint.c:2008
#, c-format
msgid "section [%2d] '%s': sh_info not zero\n"
msgstr ""
-#: src/elflint.c:1691
+#: src/elflint.c:1728
#, c-format
msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
msgstr ""
-#: src/elflint.c:1699
+#: src/elflint.c:1736
#, c-format
msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
msgstr ""
-#: src/elflint.c:1706
+#: src/elflint.c:1743
#, c-format
msgid "section [%2d] '%s': entry %zu: unknown tag\n"
msgstr ""
-#: src/elflint.c:1717
+#: src/elflint.c:1754
#, c-format
msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
msgstr ""
-#: src/elflint.c:1727
+#: src/elflint.c:1764
#, c-format
msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
msgstr ""
-#: src/elflint.c:1745
+#: src/elflint.c:1782
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
msgstr ""
-#: src/elflint.c:1758
+#: src/elflint.c:1795
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: pointer does not match address of section "
"[%2d] '%s' referenced by sh_link\n"
msgstr ""
-#: src/elflint.c:1801
+#: src/elflint.c:1839
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
msgstr ""
-#: src/elflint.c:1816
+#: src/elflint.c:1854
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must be valid offset in section "
"[%2d] '%s'\n"
msgstr ""
-#: src/elflint.c:1836 src/elflint.c:1864
+#: src/elflint.c:1874 src/elflint.c:1902
#, c-format
msgid "section [%2d] '%s': contains %s entry but not %s\n"
msgstr ""
-#: src/elflint.c:1848
+#: src/elflint.c:1886
#, c-format
msgid "section [%2d] '%s': mandatory tag %s not present\n"
msgstr ""
-#: src/elflint.c:1857
+#: src/elflint.c:1895
#, c-format
msgid "section [%2d] '%s': no hash section present\n"
msgstr ""
-#: src/elflint.c:1872 src/elflint.c:1879
+#: src/elflint.c:1910 src/elflint.c:1917
#, c-format
msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
msgstr ""
-#: src/elflint.c:1889 src/elflint.c:1893
+#: src/elflint.c:1927 src/elflint.c:1931
#, c-format
msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
msgstr ""
-#: src/elflint.c:1899
+#: src/elflint.c:1937
#, c-format
msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
msgstr ""
-#: src/elflint.c:1910 src/elflint.c:1914 src/elflint.c:1918 src/elflint.c:1922
+#: src/elflint.c:1948 src/elflint.c:1952 src/elflint.c:1956 src/elflint.c:1960
#, c-format
msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
msgstr ""
-#: src/elflint.c:1934
+#: src/elflint.c:1972
#, c-format
msgid ""
"section [%2d] '%s': only relocatable files can have extended section index\n"
msgstr ""
-#: src/elflint.c:1944
+#: src/elflint.c:1982
#, c-format
msgid ""
"section [%2d] '%s': extended section index section not for symbol table\n"
msgstr ""
-#: src/elflint.c:1948
+#: src/elflint.c:1986
#, fuzzy, c-format
msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n"
msgstr "セクション [%2d] '%s': ä¸å½“ãªå®›å…ˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\n"
-#: src/elflint.c:1953
+#: src/elflint.c:1991
#, c-format
msgid "cannot get data for symbol section\n"
msgstr ""
-#: src/elflint.c:1956
+#: src/elflint.c:1994
#, c-format
msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
msgstr ""
-#: src/elflint.c:1965
+#: src/elflint.c:2003
#, c-format
msgid "section [%2d] '%s': extended index table too small for symbol table\n"
msgstr ""
-#: src/elflint.c:1980
+#: src/elflint.c:2018
#, c-format
msgid ""
"section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
"same symbol table\n"
msgstr ""
-#: src/elflint.c:1998
+#: src/elflint.c:2036
#, c-format
msgid "symbol 0 should have zero extended section index\n"
msgstr ""
-#: src/elflint.c:2010
+#: src/elflint.c:2048
#, c-format
msgid "cannot get data for symbol %zu\n"
msgstr ""
-#: src/elflint.c:2015
+#: src/elflint.c:2053
#, c-format
msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
msgstr ""
-#: src/elflint.c:2032 src/elflint.c:2089
+#: src/elflint.c:2070 src/elflint.c:2127
#, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
msgstr ""
-#: src/elflint.c:2046 src/elflint.c:2103
+#: src/elflint.c:2084 src/elflint.c:2141
#, c-format
msgid "section [%2d] '%s': chain array too large\n"
msgstr ""
-#: src/elflint.c:2060 src/elflint.c:2117
+#: src/elflint.c:2098 src/elflint.c:2155
#, c-format
msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
msgstr ""
-#: src/elflint.c:2070
+#: src/elflint.c:2108
#, c-format
msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
msgstr ""
-#: src/elflint.c:2127
+#: src/elflint.c:2165
#, c-format
msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
msgstr ""
-#: src/elflint.c:2140
+#: src/elflint.c:2178
#, fuzzy, c-format
msgid "section [%2d] '%s': not enough data\n"
msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
-#: src/elflint.c:2152
+#: src/elflint.c:2190
#, fuzzy, c-format
msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n"
msgstr "セクション [%2d] '%s': 0番目ã®é …ç›®ã«ã‚ã‚‹ '%s' ゼロã§ã¯ã‚ã‚Šã¾ã›ã‚“\n"
-#: src/elflint.c:2168
+#: src/elflint.c:2206
#, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected at "
"least %ld)\n"
msgstr ""
-#: src/elflint.c:2177
+#: src/elflint.c:2215
#, c-format
msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
msgstr ""
-#: src/elflint.c:2211
+#: src/elflint.c:2249
#, c-format
msgid ""
"section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
msgstr ""
-#: src/elflint.c:2232
+#: src/elflint.c:2270
#, c-format
msgid ""
"section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
"undefined\n"
msgstr ""
-#: src/elflint.c:2245
+#: src/elflint.c:2283
#, c-format
msgid ""
"section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
msgstr ""
-#: src/elflint.c:2254
+#: src/elflint.c:2292
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n"
msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
-#: src/elflint.c:2284
+#: src/elflint.c:2322
#, c-format
msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
msgstr ""
-#: src/elflint.c:2289
+#: src/elflint.c:2327
#, c-format
msgid ""
"section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
msgstr ""
-#: src/elflint.c:2295
+#: src/elflint.c:2333
#, c-format
msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
msgstr ""
-#: src/elflint.c:2308
+#: src/elflint.c:2346
#, c-format
msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
msgstr ""
-#: src/elflint.c:2326
+#: src/elflint.c:2364
#, c-format
msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
msgstr ""
-#: src/elflint.c:2330
+#: src/elflint.c:2368
#, fuzzy, c-format
msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n"
msgstr "セクション [%2d] '%s': ä¸å½“ãªå®›å…ˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\n"
-#: src/elflint.c:2340
+#: src/elflint.c:2378
#, c-format
msgid "section [%2d] '%s': hash table entry size incorrect\n"
msgstr ""
-#: src/elflint.c:2345
+#: src/elflint.c:2383
#, c-format
msgid "section [%2d] '%s': not marked to be allocated\n"
msgstr ""
-#: src/elflint.c:2350
+#: src/elflint.c:2388
#, c-format
msgid ""
"section [%2d] '%s': hash table has not even room for initial administrative "
"entries\n"
msgstr ""
-#: src/elflint.c:2399
+#: src/elflint.c:2437
#, c-format
msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
msgstr ""
-#: src/elflint.c:2423 src/elflint.c:2488 src/elflint.c:2523
+#: src/elflint.c:2461 src/elflint.c:2526 src/elflint.c:2561
#, fuzzy, c-format
msgid "hash section [%2zu] '%s' does not contain enough data\n"
msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
-#: src/elflint.c:2444
+#: src/elflint.c:2482
#, fuzzy, c-format
msgid "hash section [%2zu] '%s' has zero bit mask words\n"
msgstr ""
"\n"
"セクション [%Zu] '%s' ã«ã¯ãƒ€ãƒ³ãƒ—ã™ã¹ãデータãŒã‚ã‚Šã¾ã›ã‚“。\n"
-#: src/elflint.c:2455 src/elflint.c:2499 src/elflint.c:2536
+#: src/elflint.c:2493 src/elflint.c:2537 src/elflint.c:2574
#, fuzzy, c-format
msgid "hash section [%2zu] '%s' uses too much data\n"
msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
-#: src/elflint.c:2470
+#: src/elflint.c:2508
#, c-format
msgid ""
"hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: "
"%<PRIu32>, nentries: %<PRIu32>\n"
msgstr ""
-#: src/elflint.c:2557
+#: src/elflint.c:2595
#, fuzzy, c-format
msgid "hash section [%2zu] '%s' invalid sh_entsize\n"
msgstr "セクション [%2d] '%s': ä¸å½“ãªå®›å…ˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚¿ã‚¤ãƒ—\n"
-#: src/elflint.c:2567 src/elflint.c:2571
+#: src/elflint.c:2605 src/elflint.c:2609
#, c-format
msgid "section [%2zu] '%s': reference to symbol index 0\n"
msgstr ""
-#: src/elflint.c:2578
+#: src/elflint.c:2616
#, c-format
msgid ""
"symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash "
"table in [%2zu] '%s'\n"
msgstr ""
-#: src/elflint.c:2590
+#: src/elflint.c:2628
#, c-format
msgid ""
"symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash "
"table in [%2zu] '%s'\n"
msgstr ""
-#: src/elflint.c:2606
+#: src/elflint.c:2644
#, c-format
msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
msgstr ""
-#: src/elflint.c:2626
+#: src/elflint.c:2664
#, c-format
msgid ""
"section [%2d] '%s': section groups only allowed in relocatable object files\n"
msgstr ""
-#: src/elflint.c:2637
+#: src/elflint.c:2675
#, c-format
msgid "section [%2d] '%s': cannot get symbol table: %s\n"
msgstr ""
-#: src/elflint.c:2642
+#: src/elflint.c:2680
#, c-format
msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
msgstr ""
-#: src/elflint.c:2648
+#: src/elflint.c:2686
#, c-format
msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
msgstr ""
-#: src/elflint.c:2653
+#: src/elflint.c:2691
#, c-format
msgid "section [%2d] '%s': sh_flags not zero\n"
msgstr ""
-#: src/elflint.c:2660
+#: src/elflint.c:2698
#, c-format
msgid "section [%2d] '%s': cannot get symbol for signature\n"
msgstr ""
-#: src/elflint.c:2664
+#: src/elflint.c:2702
#, fuzzy, c-format
msgid "section [%2d] '%s': cannot get symbol name for signature\n"
msgstr "セクション [%2d] '%s': シンボル %d を得られã¾ã›ã‚“: %s\n"
-#: src/elflint.c:2669
+#: src/elflint.c:2707
#, fuzzy, c-format
msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
-#: src/elflint.c:2675
+#: src/elflint.c:2713
#, c-format
msgid "section [%2d] '%s': sh_flags not set correctly\n"
msgstr ""
-#: src/elflint.c:2681
+#: src/elflint.c:2719
#, c-format
msgid "section [%2d] '%s': cannot get data: %s\n"
msgstr ""
-#: src/elflint.c:2690
+#: src/elflint.c:2728
#, c-format
msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
msgstr ""
-#: src/elflint.c:2696
+#: src/elflint.c:2734
#, c-format
msgid "section [%2d] '%s': section group without flags word\n"
msgstr ""
-#: src/elflint.c:2704
+#: src/elflint.c:2742
#, c-format
msgid "section [%2d] '%s': section group without member\n"
msgstr ""
-#: src/elflint.c:2708
+#: src/elflint.c:2746
#, c-format
msgid "section [%2d] '%s': section group with only one member\n"
msgstr ""
-#: src/elflint.c:2719
+#: src/elflint.c:2757
#, c-format
msgid "section [%2d] '%s': unknown section group flags\n"
msgstr ""
-#: src/elflint.c:2731
+#: src/elflint.c:2769
#, fuzzy, c-format
msgid "section [%2d] '%s': section index %zu out of range\n"
msgstr "セクション [%2d] '%s': リロケーション %zu: オフセット境界外\n"
-#: src/elflint.c:2740
+#: src/elflint.c:2778
#, c-format
msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
msgstr ""
-#: src/elflint.c:2747
+#: src/elflint.c:2785
#, c-format
msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
msgstr ""
-#: src/elflint.c:2753
+#: src/elflint.c:2791
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': element %zu references section [%2d] '%s' without "
@@ -2773,770 +2767,770 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: å‚ç…§ã•ã‚Œã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%2d] '%s' 㯠"
"SHF_TLS フラグãŒè¨­å®šã•ã‚Œã¦ã„ã¾ã›ã‚“\n"
-#: src/elflint.c:2760
+#: src/elflint.c:2798
#, c-format
msgid "section [%2d] '%s' is contained in more than one section group\n"
msgstr ""
-#: src/elflint.c:2957
+#: src/elflint.c:2995
#, c-format
msgid ""
"section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no "
"dynamic symbol table\n"
msgstr ""
-#: src/elflint.c:2969
+#: src/elflint.c:3007
#, c-format
msgid ""
"section [%2d] '%s' has different number of entries than symbol table [%2d] "
"'%s'\n"
msgstr ""
-#: src/elflint.c:2985
+#: src/elflint.c:3023
#, c-format
msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
msgstr ""
-#: src/elflint.c:3001
+#: src/elflint.c:3039
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
msgstr ""
-#: src/elflint.c:3009
+#: src/elflint.c:3047
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
msgstr ""
-#: src/elflint.c:3023
+#: src/elflint.c:3061
#, c-format
msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
msgstr ""
-#: src/elflint.c:3028
+#: src/elflint.c:3066
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for defined version\n"
msgstr ""
-#: src/elflint.c:3038
+#: src/elflint.c:3076
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for requested version\n"
msgstr ""
-#: src/elflint.c:3091
+#: src/elflint.c:3129
#, c-format
msgid "more than one version reference section present\n"
msgstr ""
-#: src/elflint.c:3099 src/elflint.c:3246
+#: src/elflint.c:3137 src/elflint.c:3284
#, c-format
msgid "section [%2d] '%s': sh_link does not link to string table\n"
msgstr ""
-#: src/elflint.c:3124 src/elflint.c:3300
+#: src/elflint.c:3162 src/elflint.c:3338
#, c-format
msgid "section [%2d] '%s': entry %d has wrong version %d\n"
msgstr ""
-#: src/elflint.c:3131 src/elflint.c:3307
+#: src/elflint.c:3169 src/elflint.c:3345
#, c-format
msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
msgstr ""
-#: src/elflint.c:3141
+#: src/elflint.c:3179
#, c-format
msgid "section [%2d] '%s': entry %d has invalid file reference\n"
msgstr ""
-#: src/elflint.c:3149
+#: src/elflint.c:3187
#, c-format
msgid "section [%2d] '%s': entry %d references unknown dependency\n"
msgstr ""
-#: src/elflint.c:3161
+#: src/elflint.c:3199
#, c-format
msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
msgstr ""
-#: src/elflint.c:3169
+#: src/elflint.c:3207
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
"reference\n"
msgstr ""
-#: src/elflint.c:3178
+#: src/elflint.c:3216
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: "
"%#x, expected %#x\n"
msgstr ""
-#: src/elflint.c:3187
+#: src/elflint.c:3225
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
"name '%s'\n"
msgstr ""
-#: src/elflint.c:3198
+#: src/elflint.c:3236
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
msgstr ""
-#: src/elflint.c:3215 src/elflint.c:3391
+#: src/elflint.c:3253 src/elflint.c:3429
#, c-format
msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
msgstr ""
-#: src/elflint.c:3223 src/elflint.c:3399
+#: src/elflint.c:3261 src/elflint.c:3437
#, c-format
msgid ""
"section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says "
"there are more entries\n"
msgstr ""
-#: src/elflint.c:3238
+#: src/elflint.c:3276
#, c-format
msgid "more than one version definition section present\n"
msgstr ""
-#: src/elflint.c:3285
+#: src/elflint.c:3323
#, c-format
msgid "section [%2d] '%s': more than one BASE definition\n"
msgstr ""
-#: src/elflint.c:3289
+#: src/elflint.c:3327
#, c-format
msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
msgstr ""
-#: src/elflint.c:3295
+#: src/elflint.c:3333
#, c-format
msgid "section [%2d] '%s': entry %d has unknown flag\n"
msgstr ""
-#: src/elflint.c:3322
+#: src/elflint.c:3360
#, c-format
msgid "section [%2d] '%s': entry %d has invalid name reference\n"
msgstr ""
-#: src/elflint.c:3329
+#: src/elflint.c:3367
#, c-format
msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
msgstr ""
-#: src/elflint.c:3337
+#: src/elflint.c:3375
#, c-format
msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
msgstr ""
-#: src/elflint.c:3357
+#: src/elflint.c:3395
#, c-format
msgid ""
"section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
msgstr ""
-#: src/elflint.c:3374
+#: src/elflint.c:3412
#, c-format
msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
msgstr ""
-#: src/elflint.c:3407
+#: src/elflint.c:3445
#, c-format
msgid "section [%2d] '%s': no BASE definition\n"
msgstr ""
-#: src/elflint.c:3423
+#: src/elflint.c:3461
#, c-format
msgid "section [%2d] '%s': unknown parent version '%s'\n"
msgstr ""
-#: src/elflint.c:3448
+#: src/elflint.c:3486
#, c-format
msgid "section [%2d] '%s': empty object attributes section\n"
msgstr ""
-#: src/elflint.c:3464
+#: src/elflint.c:3502
#, c-format
msgid "section [%2d] '%s': unrecognized attribute format\n"
msgstr ""
-#: src/elflint.c:3475
+#: src/elflint.c:3513
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute section\n"
msgstr ""
-#: src/elflint.c:3484
+#: src/elflint.c:3522
#, c-format
msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
msgstr ""
-#: src/elflint.c:3496
+#: src/elflint.c:3534
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
msgstr ""
-#: src/elflint.c:3513
+#: src/elflint.c:3551
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
msgstr ""
-#: src/elflint.c:3522
+#: src/elflint.c:3560
#, c-format
msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
msgstr ""
-#: src/elflint.c:3531
+#: src/elflint.c:3569
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
msgstr ""
-#: src/elflint.c:3546
+#: src/elflint.c:3584
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
msgstr ""
#. Tag_File
-#: src/elflint.c:3557
+#: src/elflint.c:3595
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
msgstr ""
-#: src/elflint.c:3578
+#: src/elflint.c:3616
#, c-format
msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
msgstr ""
-#: src/elflint.c:3589
+#: src/elflint.c:3627
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
msgstr ""
-#: src/elflint.c:3602
+#: src/elflint.c:3640
#, c-format
msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
msgstr ""
-#: src/elflint.c:3606
+#: src/elflint.c:3644
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
msgstr ""
-#: src/elflint.c:3616
+#: src/elflint.c:3654
#, c-format
msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
msgstr ""
-#: src/elflint.c:3622
+#: src/elflint.c:3660
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
msgstr ""
-#: src/elflint.c:3719
+#: src/elflint.c:3758
#, c-format
msgid "cannot get section header of zeroth section\n"
msgstr ""
-#: src/elflint.c:3723
+#: src/elflint.c:3762
#, c-format
msgid "zeroth section has nonzero name\n"
msgstr ""
-#: src/elflint.c:3725
+#: src/elflint.c:3764
#, c-format
msgid "zeroth section has nonzero type\n"
msgstr ""
-#: src/elflint.c:3727
+#: src/elflint.c:3766
#, c-format
msgid "zeroth section has nonzero flags\n"
msgstr ""
-#: src/elflint.c:3729
+#: src/elflint.c:3768
#, c-format
msgid "zeroth section has nonzero address\n"
msgstr ""
-#: src/elflint.c:3731
+#: src/elflint.c:3770
#, c-format
msgid "zeroth section has nonzero offset\n"
msgstr ""
-#: src/elflint.c:3733
+#: src/elflint.c:3772
#, c-format
msgid "zeroth section has nonzero align value\n"
msgstr ""
-#: src/elflint.c:3735
+#: src/elflint.c:3774
#, c-format
msgid "zeroth section has nonzero entry size value\n"
msgstr ""
-#: src/elflint.c:3738
+#: src/elflint.c:3777
#, c-format
msgid ""
"zeroth section has nonzero size value while ELF header has nonzero shnum "
"value\n"
msgstr ""
-#: src/elflint.c:3742
+#: src/elflint.c:3781
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
"overflow in shstrndx\n"
msgstr ""
-#: src/elflint.c:3746
+#: src/elflint.c:3785
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
"overflow in phnum\n"
msgstr ""
-#: src/elflint.c:3764
+#: src/elflint.c:3803
#, c-format
msgid "cannot get section header for section [%2zu] '%s': %s\n"
msgstr ""
-#: src/elflint.c:3773
+#: src/elflint.c:3812
#, c-format
msgid "section [%2zu]: invalid name\n"
msgstr ""
-#: src/elflint.c:3800
+#: src/elflint.c:3839
#, c-format
msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
msgstr ""
-#: src/elflint.c:3817
+#: src/elflint.c:3856
#, c-format
msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
msgstr ""
-#: src/elflint.c:3835
+#: src/elflint.c:3874
#, c-format
msgid ""
"section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
msgstr ""
-#: src/elflint.c:3852
+#: src/elflint.c:3891
#, c-format
msgid "section [%2zu] '%s' present in object file\n"
msgstr ""
-#: src/elflint.c:3858 src/elflint.c:3890
+#: src/elflint.c:3897 src/elflint.c:3929
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
msgstr ""
-#: src/elflint.c:3863 src/elflint.c:3895
+#: src/elflint.c:3902 src/elflint.c:3934
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
"segments\n"
msgstr ""
-#: src/elflint.c:3871
+#: src/elflint.c:3910
#, c-format
msgid ""
"section [%2zu] '%s' is extension section index table in non-object file\n"
msgstr ""
-#: src/elflint.c:3914
+#: src/elflint.c:3953
#, c-format
msgid "section [%2zu] '%s': size not multiple of entry size\n"
msgstr ""
-#: src/elflint.c:3919
+#: src/elflint.c:3958
#, c-format
msgid "cannot get section header\n"
msgstr ""
-#: src/elflint.c:3929
+#: src/elflint.c:3968
#, c-format
msgid "section [%2zu] '%s' has unsupported type %d\n"
msgstr ""
-#: src/elflint.c:3949
+#: src/elflint.c:3988
#, c-format
msgid ""
"section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:3959
+#: src/elflint.c:3998
#, c-format
msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:3967
+#: src/elflint.c:4006
#, c-format
msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
msgstr ""
-#: src/elflint.c:3977
+#: src/elflint.c:4016
#, fuzzy, c-format
msgid "section [%2zu] '%s': allocated section cannot be compressed\n"
msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
-#: src/elflint.c:3982
+#: src/elflint.c:4021
#, fuzzy, c-format
msgid "section [%2zu] '%s': nobits section cannot be compressed\n"
msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
-#: src/elflint.c:3988
+#: src/elflint.c:4027
#, c-format
msgid ""
"section [%2zu] '%s': compressed section with no compression header: %s\n"
msgstr ""
-#: src/elflint.c:3994
+#: src/elflint.c:4033
#, c-format
msgid "section [%2zu] '%s': invalid section reference in link value\n"
msgstr ""
-#: src/elflint.c:3999
+#: src/elflint.c:4038
#, c-format
msgid "section [%2zu] '%s': invalid section reference in info value\n"
msgstr ""
-#: src/elflint.c:4006
+#: src/elflint.c:4045
#, c-format
msgid "section [%2zu] '%s': strings flag set without merge flag\n"
msgstr ""
-#: src/elflint.c:4011
+#: src/elflint.c:4050
#, c-format
msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
msgstr ""
-#: src/elflint.c:4030
+#: src/elflint.c:4069
#, c-format
msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
msgstr ""
-#: src/elflint.c:4039
+#: src/elflint.c:4078
#, c-format
msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n"
msgstr ""
-#: src/elflint.c:4046
+#: src/elflint.c:4085
#, c-format
msgid "section [%2zu] '%s' is both executable and writable\n"
msgstr ""
-#: src/elflint.c:4077
+#: src/elflint.c:4116
#, c-format
msgid ""
"section [%2zu] '%s' not fully contained in segment of program header entry "
"%d\n"
msgstr ""
-#: src/elflint.c:4087
+#: src/elflint.c:4126
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
"program header entry %d\n"
msgstr ""
-#: src/elflint.c:4113
+#: src/elflint.c:4152
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
"program header entry %d and file contents is non-zero\n"
msgstr ""
-#: src/elflint.c:4124
+#: src/elflint.c:4163
#, c-format
msgid ""
"section [%2zu] '%s' has not type NOBITS but is not read from the file in "
"segment of program header entry %d\n"
msgstr ""
-#: src/elflint.c:4135
+#: src/elflint.c:4174
#, c-format
msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
msgstr ""
-#: src/elflint.c:4145
+#: src/elflint.c:4184
#, c-format
msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
msgstr ""
-#: src/elflint.c:4155
+#: src/elflint.c:4194
#, c-format
msgid ""
"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
msgstr ""
-#: src/elflint.c:4161
+#: src/elflint.c:4200
#, c-format
msgid ""
"section [%2zu] '%s': ELF header says this is the section header string table "
"but type is not SHT_TYPE\n"
msgstr ""
-#: src/elflint.c:4169
+#: src/elflint.c:4208
#, c-format
msgid ""
"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
msgstr ""
-#: src/elflint.c:4220
+#: src/elflint.c:4263
#, c-format
msgid "more than one version symbol table present\n"
msgstr ""
-#: src/elflint.c:4243
+#: src/elflint.c:4286
#, c-format
msgid "INTERP program header entry but no .interp section\n"
msgstr ""
-#: src/elflint.c:4254
+#: src/elflint.c:4297
#, c-format
msgid ""
"loadable segment [%u] is executable but contains no executable sections\n"
msgstr ""
-#: src/elflint.c:4260
+#: src/elflint.c:4303
#, c-format
msgid "loadable segment [%u] is writable but contains no writable sections\n"
msgstr ""
-#: src/elflint.c:4271
+#: src/elflint.c:4314
#, c-format
msgid ""
"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
"exist\n"
msgstr ""
-#: src/elflint.c:4284
+#: src/elflint.c:4327
#, c-format
msgid "duplicate version index %d\n"
msgstr ""
-#: src/elflint.c:4298
+#: src/elflint.c:4341
#, c-format
msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
msgstr ""
-#: src/elflint.c:4347
+#: src/elflint.c:4390
#, c-format
msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
msgstr ""
-#: src/elflint.c:4351
+#: src/elflint.c:4394
#, c-format
msgid ""
"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
msgstr ""
-#: src/elflint.c:4407
+#: src/elflint.c:4450
#, c-format
msgid ""
"phdr[%d]: unknown object file note type %<PRIu32> with owner name '%s' at "
"offset %zu\n"
msgstr ""
-#: src/elflint.c:4412
+#: src/elflint.c:4455
#, c-format
msgid ""
"section [%2d] '%s': unknown object file note type %<PRIu32> with owner name "
"'%s' at offset %zu\n"
msgstr ""
-#: src/elflint.c:4431
+#: src/elflint.c:4474
#, c-format
msgid "phdr[%d]: no note entries defined for the type of file\n"
msgstr ""
-#: src/elflint.c:4451
+#: src/elflint.c:4494
#, c-format
msgid "phdr[%d]: cannot get content of note section: %s\n"
msgstr ""
-#: src/elflint.c:4454
+#: src/elflint.c:4497
#, c-format
msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
msgstr ""
-#: src/elflint.c:4475
+#: src/elflint.c:4518
#, c-format
msgid "section [%2d] '%s': no note entries defined for the type of file\n"
msgstr ""
-#: src/elflint.c:4482
+#: src/elflint.c:4525
#, c-format
msgid "section [%2d] '%s': cannot get content of note section\n"
msgstr ""
-#: src/elflint.c:4485
+#: src/elflint.c:4528
#, c-format
msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
msgstr ""
-#: src/elflint.c:4503
+#: src/elflint.c:4546
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
msgstr ""
-#: src/elflint.c:4518
+#: src/elflint.c:4561
#, c-format
msgid "cannot get program header entry %d: %s\n"
msgstr ""
-#: src/elflint.c:4528
+#: src/elflint.c:4571
#, c-format
msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:4539
+#: src/elflint.c:4582
#, c-format
msgid "more than one INTERP entry in program header\n"
msgstr ""
-#: src/elflint.c:4547
+#: src/elflint.c:4590
#, c-format
msgid "more than one TLS entry in program header\n"
msgstr ""
-#: src/elflint.c:4554
+#: src/elflint.c:4597
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr ""
-#: src/elflint.c:4568
+#: src/elflint.c:4611
#, c-format
msgid "dynamic section reference in program header has wrong offset\n"
msgstr ""
-#: src/elflint.c:4571
+#: src/elflint.c:4614
#, c-format
msgid "dynamic section size mismatch in program and section header\n"
msgstr ""
-#: src/elflint.c:4581
+#: src/elflint.c:4624
#, c-format
msgid "more than one GNU_RELRO entry in program header\n"
msgstr ""
-#: src/elflint.c:4602
+#: src/elflint.c:4645
#, c-format
msgid "loadable segment GNU_RELRO applies to is not writable\n"
msgstr ""
-#: src/elflint.c:4613
+#: src/elflint.c:4656
#, c-format
msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
msgstr ""
-#: src/elflint.c:4620
+#: src/elflint.c:4663
#, c-format
msgid ""
"GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
msgstr ""
-#: src/elflint.c:4629 src/elflint.c:4652
+#: src/elflint.c:4672 src/elflint.c:4695
#, c-format
msgid "%s segment not contained in a loaded segment\n"
msgstr ""
-#: src/elflint.c:4658
+#: src/elflint.c:4701
#, c-format
msgid "program header offset in ELF header and PHDR entry do not match"
msgstr ""
-#: src/elflint.c:4685
+#: src/elflint.c:4728
#, c-format
msgid "call frame search table reference in program header has wrong offset\n"
msgstr ""
-#: src/elflint.c:4688
+#: src/elflint.c:4731
#, c-format
msgid "call frame search table size mismatch in program and section header\n"
msgstr ""
-#: src/elflint.c:4701
+#: src/elflint.c:4744
#, c-format
msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
msgstr ""
-#: src/elflint.c:4709
+#: src/elflint.c:4752
#, c-format
msgid "call frame search table must be allocated\n"
msgstr ""
-#: src/elflint.c:4712
+#: src/elflint.c:4755
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
msgstr ""
-#: src/elflint.c:4716
+#: src/elflint.c:4759
#, c-format
msgid "call frame search table must not be writable\n"
msgstr ""
-#: src/elflint.c:4719
+#: src/elflint.c:4762
#, c-format
msgid "section [%2zu] '%s' must not be writable\n"
msgstr ""
-#: src/elflint.c:4724
+#: src/elflint.c:4767
#, c-format
msgid "call frame search table must not be executable\n"
msgstr ""
-#: src/elflint.c:4727
+#: src/elflint.c:4770
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
msgstr ""
-#: src/elflint.c:4741
+#: src/elflint.c:4784
#, c-format
msgid "program header entry %d: file size greater than memory size\n"
msgstr ""
-#: src/elflint.c:4748
+#: src/elflint.c:4791
#, c-format
msgid "program header entry %d: alignment not a power of 2\n"
msgstr ""
-#: src/elflint.c:4751
+#: src/elflint.c:4794
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
"alignment\n"
msgstr ""
-#: src/elflint.c:4764
+#: src/elflint.c:4807
#, c-format
msgid ""
"executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME "
"program header entry"
msgstr ""
-#: src/elflint.c:4798
+#: src/elflint.c:4841
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr ""
-#: src/elflint.c:4810
+#: src/elflint.c:4853
#, fuzzy, c-format
msgid "cannot create backend for ELF file\n"
msgstr "æ–°ã—ã„ファイルを生æˆã§ãã¾ã›ã‚“"
-#: src/elflint.c:4831
+#: src/elflint.c:4874
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr ""
@@ -3752,7 +3746,7 @@ msgid "%s: INTERNAL ERROR %d (%s): %s"
msgstr "%s: 内部エラー %d (%s-%s): %s"
#: src/nm.c:380 src/nm.c:392 src/size.c:287 src/size.c:296 src/size.c:307
-#: src/strip.c:2766
+#: src/strip.c:2763
#, c-format
msgid "while closing '%s'"
msgstr "'%s' ã‚’é–‰ã˜ã¦ã„る最中"
@@ -3796,13 +3790,13 @@ msgstr "%s%s%s: ファイル形å¼ã‚’èªè­˜ã§ãã¾ã›ã‚“"
msgid "cannot create search tree"
msgstr "検索ツリーを生æˆã§ãã¾ã›ã‚“"
-#: src/nm.c:742 src/nm.c:1234 src/objdump.c:778 src/readelf.c:663
-#: src/readelf.c:1484 src/readelf.c:1633 src/readelf.c:1860 src/readelf.c:2097
-#: src/readelf.c:2286 src/readelf.c:2466 src/readelf.c:2544 src/readelf.c:2809
-#: src/readelf.c:2884 src/readelf.c:2970 src/readelf.c:3565 src/readelf.c:3613
-#: src/readelf.c:3682 src/readelf.c:11620 src/readelf.c:12803
-#: src/readelf.c:13013 src/readelf.c:13081 src/size.c:396 src/size.c:467
-#: src/strip.c:1093
+#: src/nm.c:742 src/nm.c:1234 src/objdump.c:778 src/readelf.c:685
+#: src/readelf.c:1506 src/readelf.c:1655 src/readelf.c:1882 src/readelf.c:2123
+#: src/readelf.c:2312 src/readelf.c:2482 src/readelf.c:2604 src/readelf.c:2854
+#: src/readelf.c:3140 src/readelf.c:3215 src/readelf.c:3301 src/readelf.c:3896
+#: src/readelf.c:3944 src/readelf.c:4013 src/readelf.c:12029
+#: src/readelf.c:13212 src/readelf.c:13422 src/readelf.c:13490 src/size.c:396
+#: src/size.c:467 src/strip.c:1093
#, c-format
msgid "cannot get section header string table index"
msgstr "セクションヘッダー文字列テーブル索引ãŒå¾—られã¾ã›ã‚“"
@@ -3909,7 +3903,7 @@ msgstr "NAME セクションã®æƒ…å ±ã®ã¿ã‚’表示"
msgid "Show information from FILEs (a.out by default)."
msgstr "FILE ã‹ã‚‰æƒ…報を表示ã™ã‚‹ (デフォルトã§ã¯ a.out)"
-#: src/objdump.c:217 src/readelf.c:608
+#: src/objdump.c:217 src/readelf.c:630
msgid "No operation specified.\n"
msgstr "æ“作ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。\n"
@@ -3918,11 +3912,11 @@ msgstr "æ“作ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。\n"
msgid "while close `%s'"
msgstr ""
-#: src/objdump.c:362 src/readelf.c:2192 src/readelf.c:2383
+#: src/objdump.c:362 src/readelf.c:2218 src/readelf.c:2409
msgid "INVALID SYMBOL"
msgstr "ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«"
-#: src/objdump.c:377 src/readelf.c:2226 src/readelf.c:2419
+#: src/objdump.c:377 src/readelf.c:2252 src/readelf.c:2445
msgid "INVALID SECTION"
msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³"
@@ -3976,87 +3970,87 @@ msgstr "'%s' ã¯ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
msgid "error while freeing sub-ELF descriptor: %s"
msgstr ""
-#: src/readelf.c:96
+#: src/readelf.c:97
msgid "ELF input selection:"
msgstr "ELF入力é¸æŠžï¼š"
-#: src/readelf.c:98
+#: src/readelf.c:99
msgid ""
"Use the named SECTION (default .gnu_debugdata) as (compressed) ELF input data"
msgstr ""
"ELF 入力データã¨ã—㦠SECTION (デフォルトã§ã¯ .gnu_debugdata) を使用ã™ã‚‹"
-#: src/readelf.c:101
+#: src/readelf.c:102
msgid ""
"Used with -w to find the skeleton Compile Units in FILE associated with the "
"Split Compile units in a .dwo input file"
msgstr ""
-#: src/readelf.c:103
+#: src/readelf.c:104
msgid "ELF output selection:"
msgstr "ELF出力é¸æŠžï¼š"
-#: src/readelf.c:105
+#: src/readelf.c:106
msgid "All these plus -p .strtab -p .dynstr -p .comment"
msgstr ""
-#: src/readelf.c:106
+#: src/readelf.c:107
msgid "Display the dynamic segment"
msgstr "動的セグメントを表示"
-#: src/readelf.c:107
+#: src/readelf.c:108
msgid "Display the ELF file header"
msgstr "ELF ファイルヘッダーを表示"
-#: src/readelf.c:109
+#: src/readelf.c:110
msgid "Display histogram of bucket list lengths"
msgstr "ãƒã‚±ãƒƒãƒˆãƒªã‚¹ãƒˆé•·ã®ãƒ’ストグラムを表示"
-#: src/readelf.c:110
+#: src/readelf.c:111
msgid "Display the program headers"
msgstr "プログラムヘッダーを表示"
-#: src/readelf.c:112
+#: src/readelf.c:113
msgid "Display relocations"
msgstr "リロケーションを表示"
-#: src/readelf.c:113
+#: src/readelf.c:114
msgid "Display the section groups"
msgstr "セクショングループを表示"
-#: src/readelf.c:114
+#: src/readelf.c:115
msgid "Display the sections' headers"
msgstr "セクションヘッダーを表示"
-#: src/readelf.c:117
+#: src/readelf.c:118
msgid "Display the symbol table sections"
msgstr "シンボルテーブルセクションを表示"
-#: src/readelf.c:120
+#: src/readelf.c:121
msgid "Display (only) the dynamic symbol table"
msgstr "動的シンボルテーブル(ã®ã¿ï¼‰ã‚’表示"
-#: src/readelf.c:121
+#: src/readelf.c:122
msgid "Display versioning information"
msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ‹ãƒ³ã‚°æƒ…報を表示"
-#: src/readelf.c:122
+#: src/readelf.c:123
msgid "Display the ELF notes"
msgstr "ELF notes を表示"
-#: src/readelf.c:124
+#: src/readelf.c:125
msgid "Display architecture specific information, if any"
msgstr "(ã‚‚ã—ã‚ã‚Œã°)アーキテクãƒãƒ£ãƒ¼å›ºæœ‰ã®æƒ…報を表示"
-#: src/readelf.c:126
+#: src/readelf.c:127
msgid "Display sections for exception handling"
msgstr "例外ãƒãƒ³ãƒ‰ãƒªãƒ³ã‚°ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’表示"
-#: src/readelf.c:128
+#: src/readelf.c:129
msgid "Additional output selection:"
msgstr "追加ã®å‡ºåŠ›é¸æŠžï¼š"
-#: src/readelf.c:130
+#: src/readelf.c:131
#, fuzzy
msgid ""
"Display DWARF section content. SECTION can be one of abbrev, addr, aranges, "
@@ -4066,81 +4060,81 @@ msgstr ""
"DWARF セクションã®å†…容を表示。SECTION 㯠addrevã‹ã€arangesã€frameã€infoã€"
"locã€rangesã€pubnamesã€strã€macinfoã€exception ã®ã„ãšã‚Œã‹ã§ã™"
-#: src/readelf.c:134
+#: src/readelf.c:135
msgid "Dump the uninterpreted contents of SECTION, by number or name"
msgstr "SECTION 㮠未解釈㮠内容を ダンプã™ã‚‹ã€‚ ç•ªå· ã¾ãŸã¯ åå‰ã§æŒ‡å®šã™ã‚‹"
-#: src/readelf.c:136
+#: src/readelf.c:137
msgid "Print string contents of sections"
msgstr "セクションã®æ–‡å­—列内容を表示"
-#: src/readelf.c:139
+#: src/readelf.c:140
msgid "Display the symbol index of an archive"
msgstr "アーカイブã®ã‚·ãƒ³ãƒœãƒ«ç´¢å¼•ã‚’表示"
-#: src/readelf.c:141
+#: src/readelf.c:142
msgid "Use the dynamic segment when possible for displaying info"
msgstr ""
-#: src/readelf.c:143
+#: src/readelf.c:144
msgid "Output control:"
msgstr "出力制御:"
-#: src/readelf.c:145
+#: src/readelf.c:146
msgid "Do not find symbol names for addresses in DWARF data"
msgstr "DWARFデータ中ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã®ãŸã‚ã®ã‚·ãƒ³ãƒœãƒ«åを探ã•ãªã„"
-#: src/readelf.c:147
+#: src/readelf.c:148
#, fuzzy
msgid ""
"Display just offsets instead of resolving values to addresses in DWARF data"
msgstr "DWARFデータ中ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã®ãŸã‚ã®ã‚·ãƒ³ãƒœãƒ«åを探ã•ãªã„"
-#: src/readelf.c:149
+#: src/readelf.c:150
msgid "Ignored for compatibility (lines always wide)"
msgstr ""
-#: src/readelf.c:151
+#: src/readelf.c:152
msgid ""
"Show compression information for compressed sections (when used with -S); "
"decompress section before dumping data (when used with -p or -x)"
msgstr ""
#. Short description of program.
-#: src/readelf.c:156
+#: src/readelf.c:157
msgid "Print information from ELF file in human-readable form."
msgstr "ELF ファイルã‹ã‚‰äººé–“ãŒèª­ã‚ã‚‹å½¢ã§æƒ…報を表示ã™ã‚‹ã€‚"
#. Look up once.
-#: src/readelf.c:373
+#: src/readelf.c:395
msgid "yes"
msgstr "ã¯ã„"
-#: src/readelf.c:374
+#: src/readelf.c:396
msgid "no"
msgstr "ã„ã„ãˆ"
-#: src/readelf.c:576
+#: src/readelf.c:598
#, c-format
msgid "Unknown DWARF debug section `%s'.\n"
msgstr "ä¸æ˜Žãª DWARF デãƒãƒƒã‚°ã‚»ã‚¯ã‚·ãƒ§ãƒ³ `%s'.\n"
-#: src/readelf.c:647 src/readelf.c:758
+#: src/readelf.c:669 src/readelf.c:780
#, c-format
msgid "cannot generate Elf descriptor: %s"
msgstr "Elf 記述å­ã‚’生æˆã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:654 src/readelf.c:980 src/strip.c:1188
+#: src/readelf.c:676 src/readelf.c:1002 src/strip.c:1188
#, c-format
msgid "cannot determine number of sections: %s"
msgstr "セクション数を決定ã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:672 src/readelf.c:1300 src/readelf.c:1508
+#: src/readelf.c:694 src/readelf.c:1322 src/readelf.c:1530
#, c-format
msgid "cannot get section: %s"
msgstr "セクションをå–å¾—ã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:681 src/readelf.c:1307 src/readelf.c:1515 src/readelf.c:13033
+#: src/readelf.c:703 src/readelf.c:1329 src/readelf.c:1537 src/readelf.c:13442
#: src/unstrip.c:396 src/unstrip.c:427 src/unstrip.c:490 src/unstrip.c:610
#: src/unstrip.c:631 src/unstrip.c:671 src/unstrip.c:887 src/unstrip.c:1222
#: src/unstrip.c:1349 src/unstrip.c:1373 src/unstrip.c:1429 src/unstrip.c:1470
@@ -4149,120 +4143,120 @@ msgstr "セクションをå–å¾—ã§ãã¾ã›ã‚“: %s"
msgid "cannot get section header: %s"
msgstr "セクションヘッダーをå–å¾—ã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:689
+#: src/readelf.c:711
#, c-format
msgid "cannot get section name"
msgstr "セクションåã‚’å–å¾—ã§ãã¾ã›ã‚“"
-#: src/readelf.c:698 src/readelf.c:6833 src/readelf.c:10887 src/readelf.c:10989
-#: src/readelf.c:11173
+#: src/readelf.c:720 src/readelf.c:7176 src/readelf.c:11230 src/readelf.c:11332
+#: src/readelf.c:11516
#, c-format
msgid "cannot get %s content: %s"
msgstr "%s ã®å†…容をå–å¾—ã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:714
+#: src/readelf.c:736
#, c-format
msgid "cannot create temp file '%s'"
msgstr "一時ファイル '%s' を作æˆã§ãã¾ã›ã‚“"
-#: src/readelf.c:723
+#: src/readelf.c:745
#, c-format
msgid "cannot write section data"
msgstr "セクションデータを書ãè¾¼ã¿ã§ãã¾ã›ã‚“"
-#: src/readelf.c:729 src/readelf.c:746 src/readelf.c:775
+#: src/readelf.c:751 src/readelf.c:768 src/readelf.c:797
#, c-format
msgid "error while closing Elf descriptor: %s"
msgstr "Elf 記述å­ã‚’é–‰ã˜ã¦ã„る時ã«ã‚¨ãƒ©ãƒ¼: %s"
-#: src/readelf.c:736
+#: src/readelf.c:758
#, c-format
msgid "error while rewinding file descriptor"
msgstr "ファイル記述å­ã‚’å·»ã戻ã—ã¦ã„る時ã«ã‚¨ãƒ©ãƒ¼"
-#: src/readelf.c:770
+#: src/readelf.c:792
#, c-format
msgid "'%s' is not an archive, cannot print archive index"
msgstr "'%s' ã¯ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã§ã¯ãªãã€ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–索引を表示ã§ãã¾ã›ã‚“"
-#: src/readelf.c:874
+#: src/readelf.c:896
#, c-format
msgid "cannot stat input file"
msgstr "入力ファイルを stat ã§ãã¾ã›ã‚“"
-#: src/readelf.c:876
+#: src/readelf.c:898
#, c-format
msgid "input file is empty"
msgstr "入力ファイルãŒç©ºã§ã™"
-#: src/readelf.c:878
+#: src/readelf.c:900
#, c-format
msgid "failed reading '%s': %s"
msgstr "'%s' ã®èª­è¾¼ã¿ã«å¤±æ•—: %s"
-#: src/readelf.c:907
+#: src/readelf.c:929
#, fuzzy, c-format
msgid "No such section '%s' in '%s'"
msgstr "セクション [%Zu] '%s' ã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ãŒå¾—られã¾ã›ã‚“: %s"
-#: src/readelf.c:966
+#: src/readelf.c:988
#, c-format
msgid "cannot read ELF header: %s"
msgstr "ELF ヘッダーを読ã¿è¾¼ã‚ã¾ã›ã‚“: %s"
-#: src/readelf.c:974
+#: src/readelf.c:996
#, c-format
msgid "cannot create EBL handle"
msgstr "EBL ãƒãƒ³ãƒ‰ãƒ«ã‚’作æˆã§ãã¾ã›ã‚“"
-#: src/readelf.c:985
+#: src/readelf.c:1007
#, c-format
msgid "cannot determine number of program headers: %s"
msgstr "プログラムヘッダã®æ•°ã‚’決定ã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:1017
+#: src/readelf.c:1039
#, c-format
msgid "cannot read ELF: %s"
msgstr "ELFを読ã¿è¾¼ã‚ã¾ã›ã‚“: %s"
-#: src/readelf.c:1050
+#: src/readelf.c:1072
#, fuzzy
#| msgid "cannot get section: %s"
msgid "cannot find section"
msgstr "セクションをå–å¾—ã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:1087
+#: src/readelf.c:1109
msgid "NONE (None)"
msgstr "ãªã— (ãªã—)"
-#: src/readelf.c:1088
+#: src/readelf.c:1110
msgid "REL (Relocatable file)"
msgstr "REL (リロケータブルファイル)"
-#: src/readelf.c:1089
+#: src/readelf.c:1111
msgid "EXEC (Executable file)"
msgstr "(EXEC (実行ファイル)"
-#: src/readelf.c:1090
+#: src/readelf.c:1112
msgid "DYN (Shared object file)"
msgstr "DYN (共用オブジェクトファイル)"
-#: src/readelf.c:1091
+#: src/readelf.c:1113
msgid "CORE (Core file)"
msgstr "CORE (コアファイル)"
-#: src/readelf.c:1096
+#: src/readelf.c:1118
#, c-format
msgid "OS Specific: (%x)\n"
msgstr "OS 固有: (%x)\n"
#. && e_type <= ET_HIPROC always true
-#: src/readelf.c:1098
+#: src/readelf.c:1120
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr "プロセッサー固有: (%x)\n"
-#: src/readelf.c:1108
+#: src/readelf.c:1130
msgid ""
"ELF Header:\n"
" Magic: "
@@ -4270,7 +4264,7 @@ msgstr ""
"ELF ヘッダー:\n"
" マジック: "
-#: src/readelf.c:1112
+#: src/readelf.c:1134
#, c-format
msgid ""
"\n"
@@ -4279,123 +4273,123 @@ msgstr ""
"\n"
" クラス: %s\n"
-#: src/readelf.c:1117
+#: src/readelf.c:1139
#, c-format
msgid " Data: %s\n"
msgstr " データ: %s\n"
-#: src/readelf.c:1123
+#: src/readelf.c:1145
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr " 識別ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hhd %s\n"
-#: src/readelf.c:1125 src/readelf.c:1147
+#: src/readelf.c:1147 src/readelf.c:1169
msgid "(current)"
msgstr "(ç¾åœ¨)"
-#: src/readelf.c:1129
+#: src/readelf.c:1151
#, c-format
msgid " OS/ABI: %s\n"
msgstr " OS/ABI: %s\n"
-#: src/readelf.c:1132
+#: src/readelf.c:1154
#, c-format
msgid " ABI Version: %hhd\n"
msgstr " ABI ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hhd\n"
-#: src/readelf.c:1135
+#: src/readelf.c:1157
msgid " Type: "
msgstr " タイプ: "
-#: src/readelf.c:1140
+#: src/readelf.c:1162
#, c-format
msgid " Machine: %s\n"
msgstr " マシン : %s\n"
-#: src/readelf.c:1142
+#: src/readelf.c:1164
#, fuzzy, c-format
msgid " Machine: <unknown>: 0x%x\n"
msgstr " マシン : %s\n"
-#: src/readelf.c:1145
+#: src/readelf.c:1167
#, c-format
msgid " Version: %d %s\n"
msgstr " ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %d %s\n"
-#: src/readelf.c:1149
+#: src/readelf.c:1171
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr " å…¥å£ç‚¹ã‚¢ãƒ‰ãƒ¬ã‚¹ : %#<PRIx64>\n"
-#: src/readelf.c:1152
+#: src/readelf.c:1174
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr " プログラムヘッダーã®é–‹å§‹: %<PRId64> %s\n"
-#: src/readelf.c:1153 src/readelf.c:1156
+#: src/readelf.c:1175 src/readelf.c:1178
msgid "(bytes into file)"
msgstr "(ファイルã¸ã®ãƒã‚¤ãƒˆæ•°)"
-#: src/readelf.c:1155
+#: src/readelf.c:1177
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr " セクションヘッダーã®é–‹å§‹: %<PRId64> %s\n"
-#: src/readelf.c:1158
+#: src/readelf.c:1180
#, c-format
msgid " Flags: %s\n"
msgstr " フラグ: %s\n"
-#: src/readelf.c:1161
+#: src/readelf.c:1183
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr " ã“ã®ãƒ˜ãƒƒãƒ€ãƒ¼ã®å¤§ãã•: %<PRId16> %s\n"
-#: src/readelf.c:1162 src/readelf.c:1165 src/readelf.c:1182
+#: src/readelf.c:1184 src/readelf.c:1187 src/readelf.c:1204
msgid "(bytes)"
msgstr "(ãƒã‚¤ãƒˆ)"
-#: src/readelf.c:1164
+#: src/readelf.c:1186
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr " プログラムヘッダー項目ã®å¤§ãã•:%<PRId16> %s\n"
-#: src/readelf.c:1167
+#: src/readelf.c:1189
#, fuzzy, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr " プログラムヘッダー項目ã®æ•° : %<PRId16>\n"
-#: src/readelf.c:1174
+#: src/readelf.c:1196
#, fuzzy, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr "([0].sh_link ã® %<PRIu32>)"
-#: src/readelf.c:1177 src/readelf.c:1194 src/readelf.c:1208
+#: src/readelf.c:1199 src/readelf.c:1216 src/readelf.c:1230
msgid " ([0] not available)"
msgstr "([0]ã¯ä½¿ãˆã¾ã›ã‚“)"
-#: src/readelf.c:1181
+#: src/readelf.c:1203
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr " セクションヘッダー項目ã®å¤§ãã•:%<PRId16> %s\n"
-#: src/readelf.c:1184
+#: src/readelf.c:1206
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr " セクションヘッダー項目ã®æ•° : %<PRId16>"
-#: src/readelf.c:1191
+#: src/readelf.c:1213
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr " ([0].sh_size ã® %<PRIu32>)"
#. We managed to get the zeroth section.
-#: src/readelf.c:1204
+#: src/readelf.c:1226
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr "([0].sh_link ã® %<PRIu32>)"
-#: src/readelf.c:1212
+#: src/readelf.c:1234
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
@@ -4404,7 +4398,7 @@ msgstr ""
" セクションヘッダー文字列テーブル索引: XINDEX%s\n"
"\n"
-#: src/readelf.c:1216
+#: src/readelf.c:1238
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
@@ -4413,12 +4407,12 @@ msgstr ""
" セクションヘッダー文字列テーブル索引: %<PRId16>\n"
"\n"
-#: src/readelf.c:1266 src/readelf.c:1474
+#: src/readelf.c:1288 src/readelf.c:1496
#, fuzzy, c-format
msgid "cannot get number of sections: %s"
msgstr "セクション数を決定ã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:1269
+#: src/readelf.c:1291
#, fuzzy, c-format
msgid ""
"There are %zd section headers, starting at offset %#<PRIx64>:\n"
@@ -4427,16 +4421,16 @@ msgstr ""
"オフセット %2$#<PRIx64> ã‹ã‚‰å§‹ã¾ã‚‹ %1$d 個ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ãƒ˜ãƒƒãƒ€ãƒ¼ãŒã‚ã‚Šã¾ã™:\n"
"\n"
-#: src/readelf.c:1277
+#: src/readelf.c:1299
#, fuzzy, c-format
msgid "cannot get section header string table index: %s"
msgstr "セクションヘッダー文字列テーブル索引ãŒå¾—られã¾ã›ã‚“"
-#: src/readelf.c:1280
+#: src/readelf.c:1302
msgid "Section Headers:"
msgstr "セクションヘッダー:"
-#: src/readelf.c:1283
+#: src/readelf.c:1305
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
@@ -4444,7 +4438,7 @@ msgstr ""
"[番] åå‰ ã‚¿ã‚¤ãƒ— アドレス オフセ 大ãã• ES フラグLk "
"Inf Al"
-#: src/readelf.c:1285
+#: src/readelf.c:1307
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
@@ -4452,35 +4446,35 @@ msgstr ""
"[番] åå‰ ã‚¿ã‚¤ãƒ— アドレス オフセ 大ãã• ES "
"フラグLk Inf Al"
-#: src/readelf.c:1290
+#: src/readelf.c:1312
msgid " [Compression Size Al]"
msgstr ""
-#: src/readelf.c:1292
+#: src/readelf.c:1314
msgid " [Compression Size Al]"
msgstr ""
-#: src/readelf.c:1370
+#: src/readelf.c:1392
#, fuzzy, c-format
msgid "bad compression header for section %zd: %s"
msgstr "セクションヘッダー文字列セクションを生æˆã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:1381
+#: src/readelf.c:1403
#, fuzzy, c-format
msgid "bad gnu compressed size for section %zd: %s"
msgstr "セクションã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã‚’得られã¾ã›ã‚“ %d: %s"
-#: src/readelf.c:1399
+#: src/readelf.c:1421
msgid "Program Headers:"
msgstr "プログラムヘッダー:"
-#: src/readelf.c:1401
+#: src/readelf.c:1423
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
" タイプ オフセ 仮アドレス 物アドレス ãƒ•ã‚¡ã‚¤é‡ ãƒ¡ãƒ¢é‡ Flg 調整 "
-#: src/readelf.c:1404
+#: src/readelf.c:1426
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
@@ -4488,12 +4482,12 @@ msgstr ""
" タイプ オフセ 仮想アドレス 物ç†ã‚¢ãƒ‰ãƒ¬ã‚¹ ファイルé‡ãƒ¡ãƒ¢"
"é‡ Flg 調整 "
-#: src/readelf.c:1461
+#: src/readelf.c:1483
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr "\t[プログラム割込ã¿ã‚’è¦æ±‚: %s]\n"
-#: src/readelf.c:1486
+#: src/readelf.c:1508
msgid ""
"\n"
" Section to Segment mapping:\n"
@@ -4503,12 +4497,12 @@ msgstr ""
" セクションã‹ã‚‰ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã¸ã®ãƒžãƒƒãƒ“ング:\n"
" セグメント セクション..."
-#: src/readelf.c:1497 src/unstrip.c:2114 src/unstrip.c:2156 src/unstrip.c:2163
+#: src/readelf.c:1519 src/unstrip.c:2114 src/unstrip.c:2156 src/unstrip.c:2163
#, c-format
msgid "cannot get program header: %s"
msgstr "プログラムヘッダーを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:1641
+#: src/readelf.c:1663
#, c-format
msgid ""
"\n"
@@ -4521,7 +4515,7 @@ msgstr[0] ""
"ç½²å '%3$s' ã‚’æŒã¤ COMDAT セクショングループ [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®"
"é …ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:1646
+#: src/readelf.c:1668
#, c-format
msgid ""
"\n"
@@ -4534,32 +4528,32 @@ msgstr[0] ""
"ç½²å '%3$s' ã‚’æŒã¤ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚°ãƒ«ãƒ¼ãƒ— [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …ç›®ãŒã‚"
"ã‚Šã¾ã™:\n"
-#: src/readelf.c:1654
+#: src/readelf.c:1676
msgid "<INVALID SYMBOL>"
msgstr "<ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«>"
-#: src/readelf.c:1668
+#: src/readelf.c:1690
msgid "<INVALID SECTION>"
msgstr "<ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³>"
-#: src/readelf.c:1691 src/readelf.c:2476 src/readelf.c:3581 src/readelf.c:3881
-#: src/readelf.c:12905 src/readelf.c:12912 src/readelf.c:12956
-#: src/readelf.c:12963
+#: src/readelf.c:1713 src/readelf.c:2614 src/readelf.c:3912 src/readelf.c:4212
+#: src/readelf.c:13314 src/readelf.c:13321 src/readelf.c:13365
+#: src/readelf.c:13372
msgid "Couldn't uncompress section"
msgstr ""
-#: src/readelf.c:1695 src/readelf.c:2481 src/readelf.c:3585
+#: src/readelf.c:1717 src/readelf.c:2619 src/readelf.c:3916
#, fuzzy, c-format
msgid "cannot get section [%zd] header: %s"
msgstr "セクションヘッダーを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:1864 src/readelf.c:2550 src/readelf.c:2815 src/readelf.c:2890
-#: src/readelf.c:3193 src/readelf.c:3267 src/readelf.c:5619
+#: src/readelf.c:1886 src/readelf.c:2860 src/readelf.c:3146 src/readelf.c:3221
+#: src/readelf.c:3524 src/readelf.c:3598 src/readelf.c:5962
#, fuzzy, c-format
msgid "invalid sh_link value in section %zu"
msgstr "ä¸å½“㪠.debug_line セクション"
-#: src/readelf.c:1867
+#: src/readelf.c:1889
#, c-format
msgid ""
"\n"
@@ -4575,7 +4569,7 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'\n"
-#: src/readelf.c:1880
+#: src/readelf.c:1902
#, fuzzy, c-format
#| msgid ""
#| "\n"
@@ -4599,42 +4593,42 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'\n"
-#: src/readelf.c:1890
+#: src/readelf.c:1912
msgid " Type Value\n"
msgstr " タイプ 値\n"
-#: src/readelf.c:1899
+#: src/readelf.c:1921
#, fuzzy
#| msgid "cannot get string section data: %s"
msgid "cannot get string table by using dynamic segment"
msgstr "文字列セクションデータをå–å¾—ã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:1938
+#: src/readelf.c:1960
#, c-format
msgid "Shared library: [%s]\n"
msgstr "共用ライブラリー: [%s]\n"
-#: src/readelf.c:1942
+#: src/readelf.c:1964
#, c-format
msgid "Library soname: [%s]\n"
msgstr "ライブラリー so å: [%s]\n"
-#: src/readelf.c:1946
+#: src/readelf.c:1968
#, c-format
msgid "Library rpath: [%s]\n"
msgstr "ライブラリー rパス: [%s]\n"
-#: src/readelf.c:1950
+#: src/readelf.c:1972
#, c-format
msgid "Library runpath: [%s]\n"
msgstr "ライブラリー run パス: [%s]\n"
-#: src/readelf.c:1969
+#: src/readelf.c:1993
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr "%<PRId64> (ãƒã‚¤ãƒˆ)\n"
-#: src/readelf.c:2083 src/readelf.c:2272
+#: src/readelf.c:2109 src/readelf.c:2298
#, c-format
msgid ""
"\n"
@@ -4643,7 +4637,7 @@ msgstr ""
"\n"
"オフセット %#0<PRIx64> ã«ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«ãƒ†ãƒ¼ãƒ–ル\n"
-#: src/readelf.c:2100 src/readelf.c:2289
+#: src/readelf.c:2126 src/readelf.c:2315
#, c-format
msgid ""
"\n"
@@ -4664,7 +4658,8 @@ msgstr[0] ""
#. The .rela.dyn section does not refer to a specific section but
#. instead of section index zero. Do not try to print a section
#. name.
-#: src/readelf.c:2115 src/readelf.c:2304
+#. A .relr.dyn section does not refer to a specific section.
+#: src/readelf.c:2141 src/readelf.c:2330 src/readelf.c:2485
#, c-format
msgid ""
"\n"
@@ -4677,29 +4672,39 @@ msgstr[0] ""
"オフセット %3$#0<PRIx64> ã®ãƒªãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%1$2u] '%2$s' ã«ã¯ %4$d "
"個ã®é …ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:2125
+#: src/readelf.c:2151
msgid " Offset Type Value Name\n"
msgstr " オフセット タイプ 値 åå‰\n"
-#: src/readelf.c:2127
+#: src/readelf.c:2153
msgid " Offset Type Value Name\n"
msgstr " オフセット タイプ 値 åå‰\n"
-#: src/readelf.c:2180 src/readelf.c:2191 src/readelf.c:2204 src/readelf.c:2225
-#: src/readelf.c:2237 src/readelf.c:2370 src/readelf.c:2382 src/readelf.c:2396
-#: src/readelf.c:2418 src/readelf.c:2431
+#: src/readelf.c:2206 src/readelf.c:2217 src/readelf.c:2230 src/readelf.c:2251
+#: src/readelf.c:2263 src/readelf.c:2396 src/readelf.c:2408 src/readelf.c:2422
+#: src/readelf.c:2444 src/readelf.c:2457
msgid "<INVALID RELOC>"
msgstr "<ä¸å½“ãªRELOC>"
-#: src/readelf.c:2314
+#: src/readelf.c:2340
msgid " Offset Type Value Addend Name\n"
msgstr " オフセット タイプ 値 付加å\n"
-#: src/readelf.c:2316
+#: src/readelf.c:2342
msgid " Offset Type Value Addend Name\n"
msgstr " オフセット タイプ 値 付加å\n"
-#: src/readelf.c:2558
+#: src/readelf.c:2654
+#, c-format
+msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
+msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
+
+#: src/readelf.c:2750
+#, c-format
+msgid "bad dynamic symbol"
+msgstr "ä¸æ­£ãªå‹•çš„シンボル"
+
+#: src/readelf.c:2868
#, c-format
msgid ""
"\n"
@@ -4711,39 +4716,33 @@ msgstr[0] ""
"\n"
"シンボルテーブル [%2u] '%s' ã«ã¯ %u 個ã®é …ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:2563
+#: src/readelf.c:2873
#, c-format
msgid " %lu local symbol String table: [%2u] '%s'\n"
msgid_plural " %lu local symbols String table: [%2u] '%s'\n"
msgstr[0] " %lu ローカルシンボル文字列テーブル: [%2u] '%s'\n"
-#: src/readelf.c:2571
+#: src/readelf.c:2881
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " æ•° : 値 大ã タイプ Bind Vis Ndx åå‰\n"
-#: src/readelf.c:2573
+#: src/readelf.c:2883
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " æ•° : 値 大ã タイプ Bind Vis Ndx åå‰\n"
-#: src/readelf.c:2593
-#, c-format
-msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-
-#: src/readelf.c:2686
-#, c-format
-msgid "bad dynamic symbol"
-msgstr "ä¸æ­£ãªå‹•çš„シンボル"
+#: src/readelf.c:3002
+msgid "Dynamic symbol information is not available for displaying symbols."
+msgstr ""
-#: src/readelf.c:2771
+#: src/readelf.c:3102
msgid "none"
msgstr "ãªã—"
-#: src/readelf.c:2788
+#: src/readelf.c:3119
msgid "| <unknown>"
msgstr "| <ä¸æ˜Ž>"
-#: src/readelf.c:2818
+#: src/readelf.c:3149
#, c-format
msgid ""
"\n"
@@ -4759,17 +4758,17 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'\n"
-#: src/readelf.c:2839
+#: src/readelf.c:3170
#, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hu ファイル: %s æ•°: %hu\n"
-#: src/readelf.c:2852
+#: src/readelf.c:3183
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: åå‰: %s フラグ: %s ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hu\n"
-#: src/readelf.c:2894
+#: src/readelf.c:3225
#, c-format
msgid ""
"\n"
@@ -4785,18 +4784,18 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'\n"
-#: src/readelf.c:2922
+#: src/readelf.c:3253
#, c-format
msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n"
msgstr " %#06x: ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hd フラグ: %s 索引: %hd æ•°: %hd åå‰: %s\n"
-#: src/readelf.c:2937
+#: src/readelf.c:3268
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr " %#06x: 親 %d: %s\n"
#. Print the header.
-#: src/readelf.c:3197
+#: src/readelf.c:3528
#, c-format
msgid ""
"\n"
@@ -4812,15 +4811,15 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'"
-#: src/readelf.c:3225
+#: src/readelf.c:3556
msgid " 0 *local* "
msgstr " 0 *ローカル* "
-#: src/readelf.c:3230
+#: src/readelf.c:3561
msgid " 1 *global* "
msgstr " 1 *グローãƒãƒ«* "
-#: src/readelf.c:3272
+#: src/readelf.c:3603
#, c-format
msgid ""
"\n"
@@ -4838,22 +4837,22 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'\n"
-#: src/readelf.c:3294
+#: src/readelf.c:3625
#, fuzzy, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr " é•·ã• æ•° 全体ã®% 範囲 \n"
-#: src/readelf.c:3296
+#: src/readelf.c:3627
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:3303
+#: src/readelf.c:3634
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:3316
+#: src/readelf.c:3647
#, fuzzy, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
@@ -4862,37 +4861,37 @@ msgstr ""
" テストã®å¹³å‡æ•°: 検索æˆåŠŸ: %f\n"
" 検索失敗: %f\n"
-#: src/readelf.c:3334 src/readelf.c:3398 src/readelf.c:3464
+#: src/readelf.c:3665 src/readelf.c:3729 src/readelf.c:3795
#, c-format
msgid "cannot get data for section %d: %s"
msgstr "セクションã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã‚’得られã¾ã›ã‚“ %d: %s"
-#: src/readelf.c:3342
+#: src/readelf.c:3673
#, fuzzy, c-format
msgid "invalid data in sysv.hash section %d"
msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:3371
+#: src/readelf.c:3702
#, fuzzy, c-format
msgid "invalid chain in sysv.hash section %d"
msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:3406
+#: src/readelf.c:3737
#, fuzzy, c-format
msgid "invalid data in sysv.hash64 section %d"
msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:3437
+#: src/readelf.c:3768
#, fuzzy, c-format
msgid "invalid chain in sysv.hash64 section %d"
msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:3473
+#: src/readelf.c:3804
#, fuzzy, c-format
msgid "invalid data in gnu.hash section %d"
msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:3539
+#: src/readelf.c:3870
#, c-format
msgid ""
" Symbol Bias: %u\n"
@@ -4902,7 +4901,7 @@ msgstr ""
" ビットマスクã®å¤§ãã•: %zu ãƒã‚¤ãƒˆ %<PRIuFAST32>%% ビット設定 第2ãƒãƒƒã‚·ãƒ¥ã‚·ãƒ•"
"ト: %u\n"
-#: src/readelf.c:3624
+#: src/readelf.c:3955
#, c-format
msgid ""
"\n"
@@ -4915,7 +4914,7 @@ msgstr[0] ""
"オフセット %3$#0<PRIx64> ã®ãƒ©ã‚¤ãƒ–ラリー一覧セクション [%1$2zu] '%2$s' ã«ã¯ "
"%4$d 個ã®é …ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:3638
+#: src/readelf.c:3969
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
@@ -4923,7 +4922,7 @@ msgstr ""
" ライブラリー タイムスタンプ ãƒã‚§ãƒƒã‚¯ã‚µãƒ  ãƒãƒ¼"
"ジョン フラグ"
-#: src/readelf.c:3698
+#: src/readelf.c:4029
#, c-format
msgid ""
"\n"
@@ -4934,107 +4933,107 @@ msgstr ""
"オフセット %4$#0<PRIx64> ã® %3$<PRIu64> ãƒã‚¤ãƒˆã®ã‚ªãƒ–ジェクト属性セクション "
"[%1$2zu] '%2$s':\n"
-#: src/readelf.c:3715
+#: src/readelf.c:4046
msgid " Owner Size\n"
msgstr " 所有者 大ãã•\n"
-#: src/readelf.c:3739
+#: src/readelf.c:4070
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
#. Unknown subsection, print and skip.
-#: src/readelf.c:3778
+#: src/readelf.c:4109
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
#. Tag_File
-#: src/readelf.c:3783
+#: src/readelf.c:4114
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " ファイル: %11<PRIu32>\n"
-#: src/readelf.c:3833
+#: src/readelf.c:4164
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>ã€%s\n"
-#: src/readelf.c:3836
+#: src/readelf.c:4167
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3839
+#: src/readelf.c:4170
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3849
+#: src/readelf.c:4180
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3852
+#: src/readelf.c:4183
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3890
+#: src/readelf.c:4221
#, fuzzy
#| msgid "couldn't get shdr for group section: %s"
msgid "Couldn't get data from section"
msgstr "グループセクションã«å¯¾ã™ã‚‹ shdr ã‚’å–å¾—ã§ãã¾ã›ã‚“ã§ã—ãŸ: %s"
-#: src/readelf.c:3955
+#: src/readelf.c:4286
msgid "sprintf failure"
msgstr ""
-#: src/readelf.c:4439
+#: src/readelf.c:4770
msgid "empty block"
msgstr "空ブロック"
-#: src/readelf.c:4442
+#: src/readelf.c:4773
#, c-format
msgid "%zu byte block:"
msgstr "%zu ãƒã‚¤ãƒˆã®ãƒ–ロック:"
-#: src/readelf.c:4920
+#: src/readelf.c:5251
#, fuzzy, c-format
msgid "%*s[%2<PRIuMAX>] %s <TRUNCATED>\n"
msgstr "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
-#: src/readelf.c:5080
+#: src/readelf.c:5423
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr ""
-#: src/readelf.c:5087
+#: src/readelf.c:5430
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr ""
-#: src/readelf.c:5094
+#: src/readelf.c:5437
#, c-format
msgid "%s %#<PRIx64> used with different base addresses"
msgstr ""
-#: src/readelf.c:5101
+#: src/readelf.c:5444
#, c-format
msgid "%s %#<PRIx64> used with different attribute %s and %s"
msgstr ""
-#: src/readelf.c:5201
+#: src/readelf.c:5544
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr ""
-#: src/readelf.c:5209
+#: src/readelf.c:5552
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr ""
-#: src/readelf.c:5315
+#: src/readelf.c:5658
#, c-format
msgid ""
"\n"
@@ -5045,7 +5044,7 @@ msgstr ""
"オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
" [ コード]\n"
-#: src/readelf.c:5323
+#: src/readelf.c:5666
#, c-format
msgid ""
"\n"
@@ -5054,20 +5053,20 @@ msgstr ""
"\n"
"オフセット %<PRIu64> ã®ç•¥èªžã‚»ã‚¯ã‚·ãƒ§ãƒ³:\n"
-#: src/readelf.c:5336
+#: src/readelf.c:5679
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr " *** 略語を読んã§ã„ã‚‹é–“ã«ã‚¨ãƒ©ãƒ¼: %s\n"
-#: src/readelf.c:5352
+#: src/readelf.c:5695
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr " [%5u] オフセット: %<PRId64>ã€å­: %sã€ã‚¿ã‚°: %s\n"
-#: src/readelf.c:5389 src/readelf.c:5682 src/readelf.c:5853 src/readelf.c:6224
-#: src/readelf.c:6850 src/readelf.c:8619 src/readelf.c:9361 src/readelf.c:9829
-#: src/readelf.c:10084 src/readelf.c:10246 src/readelf.c:10627
-#: src/readelf.c:10698
+#: src/readelf.c:5732 src/readelf.c:6025 src/readelf.c:6196 src/readelf.c:6567
+#: src/readelf.c:7193 src/readelf.c:8962 src/readelf.c:9704 src/readelf.c:10172
+#: src/readelf.c:10427 src/readelf.c:10589 src/readelf.c:10970
+#: src/readelf.c:11041
#, c-format
msgid ""
"\n"
@@ -5076,47 +5075,47 @@ msgstr ""
"\n"
"オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
-#: src/readelf.c:5492 src/readelf.c:5516 src/readelf.c:5889 src/readelf.c:9397
+#: src/readelf.c:5835 src/readelf.c:5859 src/readelf.c:6232 src/readelf.c:9740
#, fuzzy, c-format
msgid " Length: %8<PRIu64>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:5494 src/readelf.c:5531 src/readelf.c:5902 src/readelf.c:9410
+#: src/readelf.c:5837 src/readelf.c:5874 src/readelf.c:6245 src/readelf.c:9753
#, fuzzy, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5495 src/readelf.c:5540 src/readelf.c:5911 src/readelf.c:9419
+#: src/readelf.c:5838 src/readelf.c:5883 src/readelf.c:6254 src/readelf.c:9762
#, fuzzy, c-format
msgid " Address size: %8<PRIu64>\n"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:5497 src/readelf.c:5550 src/readelf.c:5921 src/readelf.c:9429
+#: src/readelf.c:5840 src/readelf.c:5893 src/readelf.c:6264 src/readelf.c:9772
#, fuzzy, c-format
msgid " Segment size: %8<PRIu64>\n"
msgstr " ファイルを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:5535 src/readelf.c:5906 src/readelf.c:9414 src/readelf.c:10820
+#: src/readelf.c:5878 src/readelf.c:6249 src/readelf.c:9757 src/readelf.c:11163
#, fuzzy, c-format
msgid "Unknown version"
msgstr "ä¸æ˜Žãªãƒãƒ¼ã‚¸ãƒ§ãƒ³"
-#: src/readelf.c:5545 src/readelf.c:5752 src/readelf.c:5916 src/readelf.c:9424
+#: src/readelf.c:5888 src/readelf.c:6095 src/readelf.c:6259 src/readelf.c:9767
#, fuzzy, c-format
msgid "unsupported address size"
msgstr "アドレス値ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: src/readelf.c:5556 src/readelf.c:5763 src/readelf.c:5926 src/readelf.c:9434
+#: src/readelf.c:5899 src/readelf.c:6106 src/readelf.c:6269 src/readelf.c:9777
#, c-format
msgid "unsupported segment size"
msgstr ""
-#: src/readelf.c:5609
+#: src/readelf.c:5952
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr ".debug_aragnes ã®å†…容を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:5624
+#: src/readelf.c:5967
#, c-format
msgid ""
"\n"
@@ -5129,19 +5128,19 @@ msgstr[0] ""
"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
"ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:5655
+#: src/readelf.c:5998
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:5657
+#: src/readelf.c:6000
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
msgstr ""
" [%*zu] 開始: %0#*<PRIx64>ã€é•·ã•: %5<PRIu64>ã€CU DIE オフセット: %6<PRId64>\n"
-#: src/readelf.c:5695 src/readelf.c:8638
+#: src/readelf.c:6038 src/readelf.c:8981
#, fuzzy, c-format
msgid ""
"\n"
@@ -5150,142 +5149,142 @@ msgstr ""
"\n"
"オフセット %Zu ã®ãƒ†ãƒ¼ãƒ–ル:\n"
-#: src/readelf.c:5699 src/readelf.c:5870 src/readelf.c:6874 src/readelf.c:8649
-#: src/readelf.c:9378
+#: src/readelf.c:6042 src/readelf.c:6213 src/readelf.c:7217 src/readelf.c:8992
+#: src/readelf.c:9721
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:5715
+#: src/readelf.c:6058
#, fuzzy, c-format
msgid ""
"\n"
" Length: %6<PRIu64>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:5727
+#: src/readelf.c:6070
#, fuzzy, c-format
msgid " DWARF version: %6<PRIuFAST16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5731
+#: src/readelf.c:6074
#, c-format
msgid "unsupported aranges version"
msgstr ""
-#: src/readelf.c:5742
+#: src/readelf.c:6085
#, fuzzy, c-format
msgid " CU offset: %6<PRIx64>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:5748
+#: src/readelf.c:6091
#, fuzzy, c-format
msgid " Address size: %6<PRIu64>\n"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:5759
+#: src/readelf.c:6102
#, fuzzy, c-format
msgid ""
" Segment size: %6<PRIu64>\n"
"\n"
msgstr " ファイルを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:5814
+#: src/readelf.c:6157
#, c-format
msgid " %zu padding bytes\n"
msgstr ""
-#: src/readelf.c:5876 src/readelf.c:9384
+#: src/readelf.c:6219 src/readelf.c:9727
#, fuzzy, c-format
msgid ""
"Table at Offset 0x%<PRIx64>:\n"
"\n"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:5931 src/readelf.c:9439
+#: src/readelf.c:6274 src/readelf.c:9782
#, fuzzy, c-format
msgid " Offset entries: %8<PRIu64>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:5947 src/readelf.c:9455
+#: src/readelf.c:6290 src/readelf.c:9798
#, c-format
msgid " Unknown CU base: "
msgstr ""
-#: src/readelf.c:5949 src/readelf.c:9457
+#: src/readelf.c:6292 src/readelf.c:9800
#, c-format
msgid " CU [%6<PRIx64>] base: "
msgstr ""
-#: src/readelf.c:5955 src/readelf.c:9463
+#: src/readelf.c:6298 src/readelf.c:9806
#, c-format
msgid " Not associated with a CU.\n"
msgstr ""
-#: src/readelf.c:5966 src/readelf.c:9474
+#: src/readelf.c:6309 src/readelf.c:9817
#, c-format
msgid "too many offset entries for unit length"
msgstr ""
-#: src/readelf.c:5970 src/readelf.c:9478
+#: src/readelf.c:6313 src/readelf.c:9821
#, fuzzy, c-format
msgid " Offsets starting at 0x%<PRIx64>:\n"
msgstr " 所有者 大ãã•\n"
-#: src/readelf.c:6022
+#: src/readelf.c:6365
#, fuzzy, c-format
msgid "invalid range list data"
msgstr "ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:6207 src/readelf.c:9813
+#: src/readelf.c:6550 src/readelf.c:10156
#, c-format
msgid ""
" %zu padding bytes\n"
"\n"
msgstr ""
-#: src/readelf.c:6255 src/readelf.c:9862
+#: src/readelf.c:6598 src/readelf.c:10205
#, c-format
msgid ""
"\n"
" Unknown CU base: "
msgstr ""
-#: src/readelf.c:6257 src/readelf.c:9864
+#: src/readelf.c:6600 src/readelf.c:10207
#, c-format
msgid ""
"\n"
" CU [%6<PRIx64>] base: "
msgstr ""
-#: src/readelf.c:6266 src/readelf.c:9890 src/readelf.c:9916
+#: src/readelf.c:6609 src/readelf.c:10233 src/readelf.c:10259
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr " [%6tx] <ä¸å½“ãªãƒ‡ãƒ¼ã‚¿>\n"
-#: src/readelf.c:6291 src/readelf.c:10000
+#: src/readelf.c:6634 src/readelf.c:10343
#, fuzzy
msgid "base address"
msgstr "アドレスを %s ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:6301 src/readelf.c:10010
+#: src/readelf.c:6644 src/readelf.c:10353
#, fuzzy, c-format
msgid " [%6tx] empty list\n"
msgstr ""
"\n"
" [%6tx] ゼロ終端\n"
-#: src/readelf.c:6565
+#: src/readelf.c:6908
#, fuzzy
msgid " <INVALID DATA>\n"
msgstr " [%6tx] <ä¸å½“ãªãƒ‡ãƒ¼ã‚¿>\n"
-#: src/readelf.c:6822
+#: src/readelf.c:7165
#, fuzzy, c-format
msgid "cannot get ELF: %s"
msgstr "次㮠DIE を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:6846
+#: src/readelf.c:7189
#, c-format
msgid ""
"\n"
@@ -5294,7 +5293,7 @@ msgstr ""
"\n"
"オフセット %3$#<PRIx64> 㮠フレーム情報呼出ã—セクション [%1$2zu] '%2$s':\n"
-#: src/readelf.c:6896
+#: src/readelf.c:7239
#, c-format
msgid ""
"\n"
@@ -5303,65 +5302,65 @@ msgstr ""
"\n"
" [%6tx] ゼロ終端\n"
-#: src/readelf.c:7000 src/readelf.c:7154
+#: src/readelf.c:7343 src/readelf.c:7497
#, fuzzy, c-format
msgid "invalid augmentation length"
msgstr "ä¸å½“ãªæ‹¡å¤§ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰"
-#: src/readelf.c:7015
+#: src/readelf.c:7358
msgid "FDE address encoding: "
msgstr "FDE アドレスエンコード"
-#: src/readelf.c:7021
+#: src/readelf.c:7364
msgid "LSDA pointer encoding: "
msgstr "LSDA ãƒã‚¤ãƒ³ã‚¿ãƒ¼ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰:"
-#: src/readelf.c:7131
+#: src/readelf.c:7474
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:7138
+#: src/readelf.c:7481
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:7175
+#: src/readelf.c:7518
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr " %-26sLSDA ãƒã‚¤ãƒ³ã‚¿ãƒ¼: %#<PRIx64>\n"
-#: src/readelf.c:7260
+#: src/readelf.c:7603
#, fuzzy, c-format
msgid "DIE [%<PRIx64>] cannot get attribute code: %s"
msgstr "属性コードを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:7270
+#: src/readelf.c:7613
#, fuzzy, c-format
msgid "DIE [%<PRIx64>] cannot get attribute form: %s"
msgstr "属性様å¼ã‚’得られã¾ã›ã‚“: %s"
-#: src/readelf.c:7292
+#: src/readelf.c:7635
#, fuzzy, c-format
msgid "DIE [%<PRIx64>] cannot get attribute '%s' (%s) value: %s"
msgstr "属性値を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:7622
+#: src/readelf.c:7965
#, fuzzy, c-format
msgid "invalid file (%<PRId64>): %s"
msgstr "ä¸å½“ãªãƒ•ã‚¡ã‚¤ãƒ«"
-#: src/readelf.c:7626
+#: src/readelf.c:7969
#, fuzzy, c-format
msgid "no srcfiles for CU [%<PRIx64>]"
msgstr " ファイルを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:7630
+#: src/readelf.c:7973
#, fuzzy, c-format
msgid "couldn't get DWARF CU: %s"
msgstr "次㮠DIE を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:7952
+#: src/readelf.c:8295
#, c-format
msgid ""
"\n"
@@ -5372,12 +5371,12 @@ msgstr ""
"オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
" [オフセット]\n"
-#: src/readelf.c:8002
+#: src/readelf.c:8345
#, fuzzy, c-format
msgid "cannot get next unit: %s"
msgstr "次㮠DIE を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:8022
+#: src/readelf.c:8365
#, fuzzy, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5389,7 +5388,7 @@ msgstr ""
" ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %2$<PRIu16>ã€ç•¥èªžã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚ªãƒ•ã‚»ãƒƒãƒˆ: %3$<PRIu64>ã€ã‚¢ãƒ‰ãƒ¬ã‚¹ã®å¤§"
"ãã•: %4$<PRIu8>ã€ã‚ªãƒ•ã‚»ãƒƒãƒˆã®å¤§ãã•: %5$<PRIu8>\n"
-#: src/readelf.c:8034
+#: src/readelf.c:8377
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5400,39 +5399,39 @@ msgstr ""
" ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %2$<PRIu16>ã€ç•¥èªžã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚ªãƒ•ã‚»ãƒƒãƒˆ: %3$<PRIu64>ã€ã‚¢ãƒ‰ãƒ¬ã‚¹ã®å¤§"
"ãã•: %4$<PRIu8>ã€ã‚ªãƒ•ã‚»ãƒƒãƒˆã®å¤§ãã•: %5$<PRIu8>\n"
-#: src/readelf.c:8044 src/readelf.c:8205
+#: src/readelf.c:8387 src/readelf.c:8548
#, c-format
msgid " Unit type: %s (%<PRIu8>)"
msgstr ""
-#: src/readelf.c:8071
+#: src/readelf.c:8414
#, c-format
msgid "unknown version (%d) or unit type (%d)"
msgstr ""
-#: src/readelf.c:8100
+#: src/readelf.c:8443
#, c-format
msgid "cannot get DIE offset: %s"
msgstr "DIE オフセットを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:8109
+#: src/readelf.c:8452
#, fuzzy, c-format
msgid "cannot get tag of DIE at offset [%<PRIx64>] in section '%s': %s"
msgstr ""
"セクション '%2$s' 中ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆ %1$<PRIu64> ã® DIE ã®ã‚¿ã‚°ã‚’得られã¾ã›ã‚“: "
"%3$s"
-#: src/readelf.c:8145
+#: src/readelf.c:8488
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr "次㮠DIE を得られã¾ã›ã‚“: %s\n"
-#: src/readelf.c:8153
+#: src/readelf.c:8496
#, c-format
msgid "cannot get next DIE: %s"
msgstr "次㮠DIE を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:8197
+#: src/readelf.c:8540
#, fuzzy, c-format
msgid ""
" Split compilation unit at offset %<PRIu64>:\n"
@@ -5443,7 +5442,7 @@ msgstr ""
" ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %2$<PRIu16>ã€ç•¥èªžã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚ªãƒ•ã‚»ãƒƒãƒˆ: %3$<PRIu64>ã€ã‚¢ãƒ‰ãƒ¬ã‚¹ã®å¤§"
"ãã•: %4$<PRIu8>ã€ã‚ªãƒ•ã‚»ãƒƒãƒˆã®å¤§ãã•: %5$<PRIu8>\n"
-#: src/readelf.c:8249
+#: src/readelf.c:8592
#, fuzzy, c-format
msgid ""
"\n"
@@ -5453,13 +5452,13 @@ msgstr ""
"\n"
"オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
-#: src/readelf.c:8581
+#: src/readelf.c:8924
#, fuzzy, c-format
msgid "unknown form: %s"
msgstr "ä¸æ˜Žãªæ§˜å¼ %<PRIx64>"
#. Print what we got so far.
-#: src/readelf.c:8729
+#: src/readelf.c:9072
#, fuzzy, c-format
msgid ""
"\n"
@@ -5489,33 +5488,33 @@ msgstr ""
"\n"
"命令コード:\n"
-#: src/readelf.c:8751
+#: src/readelf.c:9094
#, c-format
msgid "cannot handle .debug_line version: %u\n"
msgstr ".debug_line ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’扱ãˆã¾ã›ã‚“: %u\n"
-#: src/readelf.c:8759
+#: src/readelf.c:9102
#, c-format
msgid "cannot handle address size: %u\n"
msgstr "アドレスサイズを扱ãˆã¾ã›ã‚“: %u\n"
-#: src/readelf.c:8767
+#: src/readelf.c:9110
#, c-format
msgid "cannot handle segment selector size: %u\n"
msgstr "セグメントセレクタサイズを扱ãˆã¾ã›ã‚“: %u\n"
-#: src/readelf.c:8777
+#: src/readelf.c:9120
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
msgstr "セクション [%2$zu] '%3$s' 中ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆ %1$tu ã«ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:8792
+#: src/readelf.c:9135
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
msgstr[0] " [%*<PRIuFAST8>] %hhu パラメーター\n"
-#: src/readelf.c:8803
+#: src/readelf.c:9146
msgid ""
"\n"
"Directory table:"
@@ -5523,12 +5522,12 @@ msgstr ""
"\n"
"ディレクトリーテーブル:"
-#: src/readelf.c:8809 src/readelf.c:8886
+#: src/readelf.c:9152 src/readelf.c:9229
#, fuzzy, c-format
msgid " ["
msgstr " %s: %s\n"
-#: src/readelf.c:8880
+#: src/readelf.c:9223
#, fuzzy
msgid ""
"\n"
@@ -5537,7 +5536,7 @@ msgstr ""
"\n"
" 呼出ã—サイトテーブル:"
-#: src/readelf.c:8941
+#: src/readelf.c:9284
#, fuzzy
msgid " Entry Dir Time Size Name"
msgstr ""
@@ -5545,7 +5544,7 @@ msgstr ""
"ファイルåテーブル:\n"
" Entry Dir 時刻 大ãã• åå‰"
-#: src/readelf.c:8987
+#: src/readelf.c:9330
#, fuzzy
msgid ""
"\n"
@@ -5554,7 +5553,7 @@ msgstr ""
"\n"
"è¡Œ ç•ªå· æ–‡:"
-#: src/readelf.c:8991
+#: src/readelf.c:9334
msgid ""
"\n"
"Line number statements:"
@@ -5562,129 +5561,129 @@ msgstr ""
"\n"
"è¡Œ ç•ªå· æ–‡:"
-#: src/readelf.c:9006
+#: src/readelf.c:9349
#, c-format
msgid "invalid maximum operations per instruction is zero"
msgstr ""
-#: src/readelf.c:9040
+#: src/readelf.c:9383
#, fuzzy, c-format
msgid " special opcode %u: address+%u = "
msgstr " 特殊命令コード %u: アドレス+%u = %s, 行%+d = %zu\n"
-#: src/readelf.c:9044
+#: src/readelf.c:9387
#, fuzzy, c-format
msgid ", op_index = %u, line%+d = %zu\n"
msgstr " 特殊命令コード %u: アドレス+%u = %s, 行%+d = %zu\n"
-#: src/readelf.c:9047
+#: src/readelf.c:9390
#, c-format
msgid ", line%+d = %zu\n"
msgstr ""
-#: src/readelf.c:9065
+#: src/readelf.c:9408
#, c-format
msgid " extended opcode %u: "
msgstr " 拡張命令コード %u: "
-#: src/readelf.c:9070
+#: src/readelf.c:9413
#, fuzzy
msgid " end of sequence"
msgstr "列ã®çµ‚ã‚ã‚Š"
-#: src/readelf.c:9088
+#: src/readelf.c:9431
#, fuzzy, c-format
msgid " set address to "
msgstr "アドレスを %s ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:9116
+#: src/readelf.c:9459
#, fuzzy, c-format
msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
msgstr ""
"新ファイルを定義ã™ã‚‹: dir=%uã€mtime=%<PRIu64>ã€é•·ã•h=%<PRIu64>ã€åå‰=%s\n"
-#: src/readelf.c:9130
+#: src/readelf.c:9473
#, fuzzy, c-format
msgid " set discriminator to %u\n"
msgstr "カラムを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:9157
+#: src/readelf.c:9500
#, c-format
msgid " set inlined context %u, function name %s (0x%x)\n"
msgstr ""
-#: src/readelf.c:9181
+#: src/readelf.c:9524
#, fuzzy, c-format
#| msgid "Also show function names"
msgid " set function name %s (0x%x)\n"
msgstr "関数åも表示"
#. Unknown, ignore it.
-#: src/readelf.c:9188
+#: src/readelf.c:9531
msgid " unknown opcode"
msgstr "ä¸æ˜Žãªã‚ªãƒšã‚³ãƒ¼ãƒ‰"
#. Takes no argument.
-#: src/readelf.c:9200
+#: src/readelf.c:9543
msgid " copy"
msgstr "複写"
-#: src/readelf.c:9211
+#: src/readelf.c:9554
#, fuzzy, c-format
msgid " advance address by %u to "
msgstr "アドレスを %u ã ã‘進ã‚㦠%s ã«ã™ã‚‹\n"
-#: src/readelf.c:9215 src/readelf.c:9276
+#: src/readelf.c:9558 src/readelf.c:9619
#, c-format
msgid ", op_index to %u"
msgstr ""
-#: src/readelf.c:9227
+#: src/readelf.c:9570
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr "行を定数 %d ã ã‘進ã‚㦠%<PRId64> ã«ã™ã‚‹\n"
-#: src/readelf.c:9237
+#: src/readelf.c:9580
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr " ファイルを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:9248
+#: src/readelf.c:9591
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr "カラムを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:9255
+#: src/readelf.c:9598
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr " '%s' ã‚’ %<PRIuFAST8> ã«è¨­å®šã™ã‚‹\n"
#. Takes no argument.
-#: src/readelf.c:9261
+#: src/readelf.c:9604
msgid " set basic block flag"
msgstr "基本ブロックフラグを設定ã™ã‚‹"
-#: src/readelf.c:9272
+#: src/readelf.c:9615
#, fuzzy, c-format
msgid " advance address by constant %u to "
msgstr "アドレスを定数 %u ã ã‘済ã‚㦠%s ã«ã™ã‚‹\n"
-#: src/readelf.c:9292
+#: src/readelf.c:9635
#, fuzzy, c-format
msgid " advance address by fixed value %u to \n"
msgstr "アドレスを固定値 %u ã ã‘進ã‚㦠%s ã«ã™ã‚‹\n"
#. Takes no argument.
-#: src/readelf.c:9302
+#: src/readelf.c:9645
msgid " set prologue end flag"
msgstr "プロローグ終了フラグを設定ã™ã‚‹"
#. Takes no argument.
-#: src/readelf.c:9307
+#: src/readelf.c:9650
msgid " set epilogue begin flag"
msgstr "エピローグ開始フラグを設定ã™ã‚‹"
-#: src/readelf.c:9317
+#: src/readelf.c:9660
#, fuzzy, c-format
msgid " set isa to %u\n"
msgstr " ファイルを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
@@ -5692,88 +5691,88 @@ msgstr " ファイルを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
#. This is a new opcode the generator but not we know about.
#. Read the parameters associated with it but then discard
#. everything. Read all the parameters for this opcode.
-#: src/readelf.c:9326
+#: src/readelf.c:9669
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
msgstr[0] " %<PRIu8> 個ã®ãƒ‘ラメーターã®ã‚ã‚‹ä¸æ˜Žãªå‘½ä»¤ã‚³ãƒ¼ãƒ‰:"
-#: src/readelf.c:9527
+#: src/readelf.c:9870
#, fuzzy, c-format
msgid " <INVALID DATA>\n"
msgstr " [%6tx] <ä¸å½“ãªãƒ‡ãƒ¼ã‚¿>\n"
-#: src/readelf.c:9567
+#: src/readelf.c:9910
#, fuzzy, c-format
msgid "invalid loclists data"
msgstr "ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:10037 src/readelf.c:11082
+#: src/readelf.c:10380 src/readelf.c:11425
#, fuzzy
msgid " <INVALID DATA>\n"
msgstr " [%6tx] <ä¸å½“ãªãƒ‡ãƒ¼ã‚¿>\n"
-#: src/readelf.c:10168
+#: src/readelf.c:10511
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr "%*s*** 最後ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®çµ‚端ã—ã¦ã„ãªã„文字列"
-#: src/readelf.c:10191
+#: src/readelf.c:10534
#, fuzzy, c-format
msgid "%*s*** missing DW_MACINFO_start_file argument at end of section"
msgstr "%*s*** 最後ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®çµ‚端ã—ã¦ã„ãªã„文字列"
-#: src/readelf.c:10286
+#: src/readelf.c:10629
#, fuzzy, c-format
msgid " Offset: 0x%<PRIx64>\n"
msgstr " 所有者 大ãã•\n"
-#: src/readelf.c:10298
+#: src/readelf.c:10641
#, fuzzy, c-format
msgid " Version: %<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10304 src/readelf.c:11202
+#: src/readelf.c:10647 src/readelf.c:11546
#, c-format
msgid " unknown version, cannot parse section\n"
msgstr ""
-#: src/readelf.c:10311
+#: src/readelf.c:10654
#, fuzzy, c-format
msgid " Flag: 0x%<PRIx8>"
msgstr " å…¥å£ç‚¹ã‚¢ãƒ‰ãƒ¬ã‚¹ : %#<PRIx64>\n"
-#: src/readelf.c:10340
+#: src/readelf.c:10683
#, fuzzy, c-format
msgid " Offset length: %<PRIu8>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:10348
+#: src/readelf.c:10691
#, fuzzy, c-format
msgid " .debug_line offset: 0x%<PRIx64>\n"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:10373
+#: src/readelf.c:10716
#, fuzzy, c-format
msgid " extension opcode table, %<PRIu8> items:\n"
msgstr " %<PRIu8> 個ã®ãƒ‘ラメーターã®ã‚ã‚‹ä¸æ˜Žãªå‘½ä»¤ã‚³ãƒ¼ãƒ‰:"
-#: src/readelf.c:10380
+#: src/readelf.c:10723
#, c-format
msgid " [%<PRIx8>]"
msgstr ""
-#: src/readelf.c:10392
+#: src/readelf.c:10735
#, fuzzy, c-format
msgid " %<PRIu8> arguments:"
msgstr " [%*<PRIuFAST8>] %hhu パラメーター\n"
-#: src/readelf.c:10407
+#: src/readelf.c:10750
#, c-format
msgid " no arguments."
msgstr ""
-#: src/readelf.c:10608
+#: src/readelf.c:10951
#, c-format
msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
msgstr ""
@@ -5781,7 +5780,7 @@ msgstr ""
# # "オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
# # " %4$*s 文字列\n" ãŒã‚¨ãƒ©ãƒ¼ã«ãªã‚‹ã®ã¯ä½•æ•…? å–ã‚Šæ•¢ãˆãš fuzzy扱ã„
-#: src/readelf.c:10663
+#: src/readelf.c:11006
#, fuzzy, c-format
msgid ""
"\n"
@@ -5793,37 +5792,37 @@ msgstr ""
" %4$*s 文字列\n"
#. TRANS: the debugstr| prefix makes the string unique.
-#: src/readelf.c:10668
+#: src/readelf.c:11011
msgctxt "debugstr"
msgid "Offset"
msgstr ""
-#: src/readelf.c:10678
+#: src/readelf.c:11021
#, fuzzy, c-format
msgid " *** error, missing string terminator\n"
msgstr " *** 文字列ã®èª­è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼: %s\n"
-#: src/readelf.c:10800
+#: src/readelf.c:11143
#, fuzzy, c-format
msgid " Length: %8<PRIu64>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:10802
+#: src/readelf.c:11145
#, fuzzy, c-format
msgid " Offset size: %8<PRIu8>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:10816
+#: src/readelf.c:11159
#, fuzzy, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10825
+#: src/readelf.c:11168
#, fuzzy, c-format
msgid " Padding: %8<PRIx16>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:10879
+#: src/readelf.c:11222
#, c-format
msgid ""
"\n"
@@ -5832,7 +5831,7 @@ msgstr ""
"\n"
"呼出ã—フレーム検索テーブルセクション [%2zu] '.eh_frame_hdr':\n"
-#: src/readelf.c:10981
+#: src/readelf.c:11324
#, c-format
msgid ""
"\n"
@@ -5841,22 +5840,22 @@ msgstr ""
"\n"
"例外å–扱ã„テーブルセクション [%2zu] '.gcc_except_table':\n"
-#: src/readelf.c:11004
+#: src/readelf.c:11347
#, c-format
msgid " LPStart encoding: %#x "
msgstr " LPStart コード化: %#x "
-#: src/readelf.c:11016
+#: src/readelf.c:11359
#, c-format
msgid " TType encoding: %#x "
msgstr "TType コード化: %#x "
-#: src/readelf.c:11033
+#: src/readelf.c:11376
#, c-format
msgid " Call site encoding: %#x "
msgstr "呼出ã—サイトコード化: %#x "
-#: src/readelf.c:11048
+#: src/readelf.c:11391
msgid ""
"\n"
" Call site table:"
@@ -5864,7 +5863,7 @@ msgstr ""
"\n"
" 呼出ã—サイトテーブル:"
-#: src/readelf.c:11064
+#: src/readelf.c:11407
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -5877,12 +5876,12 @@ msgstr ""
" 離ç€é™¸å ´: %#<PRIx64>\n"
" 行動: %u\n"
-#: src/readelf.c:11137
+#: src/readelf.c:11480
#, c-format
msgid "invalid TType encoding"
msgstr "ä¸å½“㪠TType コード化"
-#: src/readelf.c:11164
+#: src/readelf.c:11507
#, fuzzy, c-format
msgid ""
"\n"
@@ -5892,37 +5891,42 @@ msgstr ""
"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
"ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:11193
+#: src/readelf.c:11536
#, fuzzy, c-format
msgid " Version: %<PRId32>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:11211
+#: src/readelf.c:11555
#, fuzzy, c-format
msgid " CU offset: %#<PRIx32>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:11218
+#: src/readelf.c:11562
#, fuzzy, c-format
msgid " TU offset: %#<PRIx32>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:11225
+#: src/readelf.c:11569
#, fuzzy, c-format
msgid " address offset: %#<PRIx32>\n"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:11232
+#: src/readelf.c:11576
#, fuzzy, c-format
msgid " symbol offset: %#<PRIx32>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:11239
+#: src/readelf.c:11586
+#, fuzzy, c-format
+msgid " shortcut offset: %#<PRIx32>\n"
+msgstr " (終了オフセット: %#<PRIx64>)"
+
+#: src/readelf.c:11594
#, fuzzy, c-format
msgid " constant offset: %#<PRIx32>\n"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:11253
+#: src/readelf.c:11608
#, fuzzy, c-format
msgid ""
"\n"
@@ -5932,7 +5936,7 @@ msgstr ""
"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
"ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:11278
+#: src/readelf.c:11633
#, fuzzy, c-format
msgid ""
"\n"
@@ -5942,7 +5946,7 @@ msgstr ""
"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
"ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:11307
+#: src/readelf.c:11662
#, fuzzy, c-format
msgid ""
"\n"
@@ -5952,7 +5956,7 @@ msgstr ""
"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
"ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:11339
+#: src/readelf.c:11705
#, fuzzy, c-format
msgid ""
"\n"
@@ -5961,18 +5965,37 @@ msgstr ""
"\n"
"オフセット %#0<PRIx64> ã«ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«ãƒ†ãƒ¼ãƒ–ル\n"
-#: src/readelf.c:11477
+#: src/readelf.c:11790
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Shortcut table at offset %#<PRIx32> contains %zu slots:\n"
+msgstr ""
+"\n"
+"オフセット %#0<PRIx64> ã«ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«ãƒ†ãƒ¼ãƒ–ル\n"
+
+#: src/readelf.c:11802
+#, c-format
+msgid "Language of main: %s\n"
+msgstr ""
+
+#: src/readelf.c:11803
+#, c-format
+msgid "Name of main: "
+msgstr ""
+
+#: src/readelf.c:11886
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "デãƒãƒƒã‚°å†…容記述å­ã‚’得られã¾ã›ã‚“: %s"
-#: src/readelf.c:11843 src/readelf.c:12463 src/readelf.c:12573
-#: src/readelf.c:12630
+#: src/readelf.c:12252 src/readelf.c:12872 src/readelf.c:12982
+#: src/readelf.c:13039
#, c-format
msgid "cannot convert core note data: %s"
msgstr "コアノートデータã®å¤‰æ›ãŒã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:12207
+#: src/readelf.c:12616
#, c-format
msgid ""
"\n"
@@ -5981,21 +6004,21 @@ msgstr ""
"\n"
"%*s... < %u 回ã®ç¹°è¿”ã—> ..."
-#: src/readelf.c:12709
+#: src/readelf.c:13118
msgid " Owner Data size Type\n"
msgstr " 所有者 データ大ãã•ã‚¿ã‚¤ãƒ—\n"
-#: src/readelf.c:12737
+#: src/readelf.c:13146
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:12789
+#: src/readelf.c:13198
#, c-format
msgid "cannot get content of note: %s"
msgstr "ノートセクションã®å†…容をå–å¾—ã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:12822
+#: src/readelf.c:13231
#, c-format
msgid ""
"\n"
@@ -6005,7 +6028,7 @@ msgstr ""
"オフセット %4$#0<PRIx64> ã® %3$<PRIu64> ãƒã‚¤ãƒˆã®ãƒŽãƒ¼ãƒˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%1$2zu] "
"'%2$s':\n"
-#: src/readelf.c:12845
+#: src/readelf.c:13254
#, c-format
msgid ""
"\n"
@@ -6014,7 +6037,7 @@ msgstr ""
"\n"
"オフセット %2$#0<PRIx64> ã® %1$<PRIu64> ãƒã‚¤ãƒˆã®ãƒŽãƒ¼ãƒˆã‚»ã‚°ãƒ¡ãƒ³ãƒˆ:\n"
-#: src/readelf.c:12892
+#: src/readelf.c:13301
#, fuzzy, c-format
msgid ""
"\n"
@@ -6023,12 +6046,12 @@ msgstr ""
"\n"
"セクション [%Zu] '%s' ã«ã¯ãƒ€ãƒ³ãƒ—ã™ã¹ãデータãŒã‚ã‚Šã¾ã›ã‚“。\n"
-#: src/readelf.c:12919 src/readelf.c:12970
+#: src/readelf.c:13328 src/readelf.c:13379
#, fuzzy, c-format
msgid "cannot get data for section [%zu] '%s': %s"
msgstr "セクション [%Zu] '%s' ã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ãŒå¾—られã¾ã›ã‚“: %s"
-#: src/readelf.c:12924
+#: src/readelf.c:13333
#, fuzzy, c-format
msgid ""
"\n"
@@ -6038,7 +6061,7 @@ msgstr ""
"オフセット %4$#0<PRIx64> ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%1$Zu] '%2$s' ã®16進ダン"
"プã€%3$<PRIu64> ãƒã‚¤ãƒˆ:\n"
-#: src/readelf.c:12929
+#: src/readelf.c:13338
#, fuzzy, c-format
msgid ""
"\n"
@@ -6049,7 +6072,7 @@ msgstr ""
"オフセット %4$#0<PRIx64> ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%1$Zu] '%2$s' ã®16進ダン"
"プã€%3$<PRIu64> ãƒã‚¤ãƒˆ:\n"
-#: src/readelf.c:12943
+#: src/readelf.c:13352
#, fuzzy, c-format
msgid ""
"\n"
@@ -6058,7 +6081,7 @@ msgstr ""
"\n"
"セクション [%Zu] '%s' ã«ã¯ãƒ€ãƒ³ãƒ—ã™ã¹ãデータãŒã‚ã‚Šã¾ã›ã‚“。\n"
-#: src/readelf.c:12975
+#: src/readelf.c:13384
#, fuzzy, c-format
msgid ""
"\n"
@@ -6068,7 +6091,7 @@ msgstr ""
"オフセット %4$#0<PRIx64> 文字列セクション [%1$Zu] '%2$s' ã«ã¯ %3$<PRIu64> ãƒ"
"イトã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:12980
+#: src/readelf.c:13389
#, fuzzy, c-format
msgid ""
"\n"
@@ -6079,7 +6102,7 @@ msgstr ""
"オフセット %4$#0<PRIx64> 文字列セクション [%1$Zu] '%2$s' ã«ã¯ %3$<PRIu64> ãƒ"
"イトã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:13028
+#: src/readelf.c:13437
#, c-format
msgid ""
"\n"
@@ -6088,7 +6111,7 @@ msgstr ""
"\n"
"セクション [%lu] ãŒã‚ã‚Šã¾ã›ã‚“"
-#: src/readelf.c:13058
+#: src/readelf.c:13467
#, c-format
msgid ""
"\n"
@@ -6097,12 +6120,12 @@ msgstr ""
"\n"
"セクション '%s' ãŒã‚ã‚Šã¾ã›ã‚“"
-#: src/readelf.c:13113
+#: src/readelf.c:13522
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr "アーカイブã®ã‚·ãƒ³ãƒœãƒ«ç´¢å¼• '%s' を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:13116
+#: src/readelf.c:13525
#, c-format
msgid ""
"\n"
@@ -6111,7 +6134,7 @@ msgstr ""
"\n"
"アーカイブ '%s' ã«ã¯ã‚·ãƒ³ãƒœãƒ«ç´¢å¼•ãŒã‚ã‚Šã¾ã›ã‚“\n"
-#: src/readelf.c:13120
+#: src/readelf.c:13529
#, c-format
msgid ""
"\n"
@@ -6120,12 +6143,12 @@ msgstr ""
"\n"
"アーカイブ '%s' ã®ç´¢å¼•ã¯ %zu 個ã®é …目をæŒã¡ã¾ã™:\n"
-#: src/readelf.c:13138
+#: src/readelf.c:13547
#, c-format
msgid "cannot extract member at offset %zu in '%s': %s"
msgstr "'%2$s' 㮠オフセット %1$zu ã®ãƒ¡ãƒ³ãƒãƒ¼ã‚’抽出ã§ãã¾ã›ã‚“: %3$s"
-#: src/readelf.c:13143
+#: src/readelf.c:13552
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "アーカイブメンãƒãƒ¼ '%s' ã«ã¯ä»¥ä¸‹ãŒã‚ã‚Šã¾ã™:\n"
@@ -6609,7 +6632,7 @@ msgstr "%s: ELF ヘッダーã®æ›´æ–°ä¸­ã«ã‚¨ãƒ©ãƒ¼: %s"
msgid "%s: error while getting shdrstrndx: %s"
msgstr "%s: shdrstrndx ã®å–得中ã«ã‚¨ãƒ©ãƒ¼: %s"
-#: src/strip.c:1712 src/strip.c:2553
+#: src/strip.c:1712 src/strip.c:2552
#, c-format
msgid "%s: error updating shdrstrndx: %s"
msgstr "%s: shdrstrndx ã®æ›´æ–°ä¸­ã«ã‚¨ãƒ©ãƒ¼: %s"
@@ -6643,7 +6666,7 @@ msgstr "セクションヘッダー文字列テーブルを作æˆã™ã‚‹ãƒ¡ãƒ¢ãƒª
msgid "Cannot remove symbol [%zd] from allocated symbol table [%zd]"
msgstr ""
-#: src/strip.c:2469 src/strip.c:2577
+#: src/strip.c:2469 src/strip.c:2574
#, c-format
msgid "while writing '%s': %s"
msgstr "'%s' を書込ã¿ä¸­: %s"
@@ -6663,22 +6686,22 @@ msgstr "デãƒãƒƒã‚°æƒ…å ±ã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã‚’計算中"
msgid "%s: error while creating ELF header: %s"
msgstr "%s: ELF ヘッダーを生æˆã—ã¦ã„ã‚‹é–“ã«ã‚¨ãƒ©ãƒ¼: %s"
-#: src/strip.c:2562
+#: src/strip.c:2560
#, c-format
msgid "%s: error while reading the file: %s"
msgstr "%s: ファイルを読込ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼: %s"
-#: src/strip.c:2602 src/strip.c:2622
+#: src/strip.c:2599 src/strip.c:2619
#, c-format
msgid "while writing '%s'"
msgstr "書ãè¾¼ã¿ä¸­ '%s'"
-#: src/strip.c:2659 src/strip.c:2666
+#: src/strip.c:2656 src/strip.c:2663
#, c-format
msgid "error while finishing '%s': %s"
msgstr "'%s' ã®çµ‚了中ã«ã‚¨ãƒ©ãƒ¼: %s"
-#: src/strip.c:2683 src/strip.c:2759
+#: src/strip.c:2680 src/strip.c:2756
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr "'%s' ã®ã‚¢ã‚¯ã‚»ã‚¹ã¨å¤‰æ›´æ—¥ä»˜ã‚’設定ã§ãã¾ã›ã‚“"
@@ -7127,7 +7150,7 @@ msgid ""
"section PATH SECTION-NAME\n"
msgstr ""
-#: tests/backtrace.c:483
+#: tests/backtrace.c:491
msgid "Run executable"
msgstr ""
@@ -7139,6 +7162,11 @@ msgstr "関数åã‚’ ã•ã‚‰ã« 表示"
msgid "Show instances of inlined functions"
msgstr "インライン関数ã®å®Ÿä½“を表示"
+#, c-format
+#~ msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
+#~ msgstr ""
+#~ "セクション [%2d] '%s': セクション項目サイズ㌠ElfXX_Rela ã¨ä¸€è‡´ã—ã¾ã›ã‚“\n"
+
#, fuzzy, c-format
#~ msgid "cannot get .debug_addr section data: %s"
#~ msgstr "セクションデータを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s"
diff --git a/po/pl.po b/po/pl.po
index 31ee8678..a8bf8ce8 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: elfutils\n"
"Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n"
-"POT-Creation-Date: 2023-03-03 16:09+0100\n"
+"POT-Creation-Date: 2023-11-03 17:36+0100\n"
"PO-Revision-Date: 2021-02-22 16:25+0100\n"
"Last-Translator: Piotr DrÄ…g <piotrdrag@gmail.com>\n"
"Language-Team: Polish <trans-pl@lists.fedoraproject.org>\n"
@@ -54,7 +54,7 @@ msgstr ""
"BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej gwarancji PRZYDATNOŚCI\n"
"HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ.\n"
-#: lib/xmalloc.c:47 lib/xmalloc.c:60 lib/xmalloc.c:72 src/readelf.c:11793
+#: lib/xmalloc.c:47 lib/xmalloc.c:60 lib/xmalloc.c:72 src/readelf.c:12202
#: src/unstrip.c:311
#, c-format
msgid "memory exhausted"
@@ -537,7 +537,7 @@ msgstr "Brak zaplecza"
#: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:79
#: libebl/eblobjnotetypename.c:113 libebl/eblobjnotetypename.c:134
#: libebl/eblosabiname.c:73 libebl/eblsectionname.c:83
-#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:81
+#: libebl/eblsectiontypename.c:116 libebl/eblsegmenttypename.c:81
msgid "<unknown>"
msgstr "<nieznany>"
@@ -631,7 +631,7 @@ msgstr "nieprawidłowy rozmiar operandu źródłowego"
msgid "invalid size of destination operand"
msgstr "nieprawidłowy rozmiar operandu docelowego"
-#: libelf/elf_error.c:86 src/readelf.c:6415
+#: libelf/elf_error.c:86 src/readelf.c:6758
#, c-format
msgid "invalid encoding"
msgstr "nieprawidłowe kodowanie"
@@ -716,8 +716,8 @@ msgstr "dane/scn nie zgadzajÄ… siÄ™"
msgid "invalid section header"
msgstr "nieprawidłowy nagłówek sekcji"
-#: libelf/elf_error.c:190 src/readelf.c:10294 src/readelf.c:10899
-#: src/readelf.c:11000 src/readelf.c:11188
+#: libelf/elf_error.c:190 src/readelf.c:10637 src/readelf.c:11242
+#: src/readelf.c:11343 src/readelf.c:11531
#, c-format
msgid "invalid data"
msgstr "nieprawidłowe dane"
@@ -1374,8 +1374,8 @@ msgid "Suppress some error output (counterpart to --verbose)"
msgstr "Zmniejsza wyjście błędów (odpowiednik opcji --verbose)"
#. Strings for arguments in help texts.
-#: src/elfclassify.c:979 src/elfcompress.c:1433 src/elflint.c:76
-#: src/readelf.c:160
+#: src/elfclassify.c:979 src/elfcompress.c:1436 src/elflint.c:77
+#: src/readelf.c:161
msgid "FILE..."
msgstr "PLIK…"
@@ -1699,21 +1699,21 @@ msgid "unknown compression type '%s'"
msgstr "nieznany typ kompresji „%sâ€"
#. We need at least one input file.
-#: src/elfcompress.c:162 src/elfcompress.c:1444
+#: src/elfcompress.c:162 src/elfcompress.c:1447
#, c-format
msgid "No input file given"
msgstr "Nie podano pliku wejściowego"
-#: src/elfcompress.c:168 src/elfcompress.c:1448
+#: src/elfcompress.c:168 src/elfcompress.c:1451
#, c-format
msgid "Only one input file allowed together with '-o'"
msgstr "Tylko jeden plik wejÅ›ciowy jest dozwolony z „-oâ€"
-#: src/elfcompress.c:1405
+#: src/elfcompress.c:1408
msgid "Place (de)compressed output into FILE"
msgstr "Umieszcza zdekompresowane wyjście w PLIKU"
-#: src/elfcompress.c:1408
+#: src/elfcompress.c:1411
#, fuzzy
#| msgid ""
#| "What type of compression to apply. TYPE can be 'none' (decompress), "
@@ -1729,7 +1729,7 @@ msgstr ""
"„zlib†(kompresja zlib ELF, domyślna, „zlib-gabi†to alias) lub „zlib-"
"gnu†(kompresja .zdebug w stylu GNU, „gnu†to alias)"
-#: src/elfcompress.c:1412
+#: src/elfcompress.c:1415
msgid ""
"SECTION name to (de)compress, SECTION is an extended wildcard pattern "
"(defaults to '.?(z)debug*')"
@@ -1737,11 +1737,11 @@ msgstr ""
"Nazwa SEKCJI do (de)kompresowania, SEKCJA jest rozszerzonym wzorem "
"(domyÅ›lnie „.?(z)debug*â€)"
-#: src/elfcompress.c:1415
+#: src/elfcompress.c:1418
msgid "Print a message for each section being (de)compressed"
msgstr "Wyświetla komunikat dla każdej (de)kompresowanej sekcji"
-#: src/elfcompress.c:1418
+#: src/elfcompress.c:1421
msgid ""
"Force compression of section even if it would become larger or update/"
"rewrite the file even if no section would be (de)compressed"
@@ -1750,31 +1750,31 @@ msgstr ""
"zaktualizowanie/przepisanie pliku, nawet jeśli żadna sekcja nie zostałaby "
"(zde)kompresowana"
-#: src/elfcompress.c:1421 src/strip.c:92
+#: src/elfcompress.c:1424 src/strip.c:92
msgid "Relax a few rules to handle slightly broken ELF files"
msgstr "Åagodzi kilka reguÅ‚, aby obsÅ‚użyć lekko uszkodzone pliki ELF"
-#: src/elfcompress.c:1424
+#: src/elfcompress.c:1427
msgid "Be silent when a section cannot be compressed"
msgstr "Bez zgłaszania, kiedy nie można zdekompresować sekcji"
-#: src/elfcompress.c:1434
+#: src/elfcompress.c:1437
msgid "Compress or decompress sections in an ELF file."
msgstr "Kompresuje lub dekompresuje sekcje w pliku ELF."
-#: src/elflint.c:62
+#: src/elflint.c:63
msgid "Be extremely strict, flag level 2 features."
msgstr "Bardzo ścisłe sprawdzanie, cechy poziomu 2 flag."
-#: src/elflint.c:63
+#: src/elflint.c:64
msgid "Do not print anything if successful"
msgstr "Nie wypisywanie niczego w przypadku powodzenia"
-#: src/elflint.c:64
+#: src/elflint.c:65
msgid "Binary is a separate debuginfo file"
msgstr "Plik binarny jest oddzielnym plikiem debuginfo"
-#: src/elflint.c:66
+#: src/elflint.c:67
msgid ""
"Binary has been created with GNU ld and is therefore known to be broken in "
"certain ways"
@@ -1783,172 +1783,172 @@ msgstr ""
"w pewien sposób"
#. Short description of program.
-#: src/elflint.c:72
+#: src/elflint.c:73
msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
msgstr ""
"Szczegółowe sprawdzanie zgodności plików ELF ze specyfikacją gABI/psABI."
-#: src/elflint.c:153 src/readelf.c:391
+#: src/elflint.c:154 src/readelf.c:413
#, c-format
msgid "cannot open input file '%s'"
msgstr "nie można otworzyć pliku wejÅ›ciowego „%sâ€"
-#: src/elflint.c:160
+#: src/elflint.c:161
#, c-format
msgid "cannot generate Elf descriptor for '%s': %s\n"
msgstr "nie można utworzyć deskryptora ELF dla „%sâ€: %s\n"
-#: src/elflint.c:179
+#: src/elflint.c:180
#, c-format
msgid "error while closing Elf descriptor: %s\n"
msgstr "błąd podczas zamykania deskryptora ELF: %s\n"
-#: src/elflint.c:183
+#: src/elflint.c:184
msgid "No errors"
msgstr "Brak błędów"
-#: src/elflint.c:218 src/readelf.c:603
+#: src/elflint.c:219 src/readelf.c:625
msgid "Missing file name.\n"
msgstr "Brak nazwy pliku.\n"
-#: src/elflint.c:283
+#: src/elflint.c:284
#, c-format
msgid " error while freeing sub-ELF descriptor: %s\n"
msgstr " błąd podczas zwalniania deskryptora pod-ELF: %s\n"
#. We cannot do anything.
-#: src/elflint.c:291
+#: src/elflint.c:292
#, c-format
msgid "Not an ELF file - it has the wrong magic bytes at the start\n"
msgstr "To nie jest plik ELF — ma błędne bajty magiczne na początku\n"
-#: src/elflint.c:357
+#: src/elflint.c:358
#, c-format
msgid "e_ident[%d] == %d is no known class\n"
msgstr "e_ident[%d] == %d nie jest znanÄ… klasÄ…\n"
-#: src/elflint.c:362
+#: src/elflint.c:363
#, c-format
msgid "e_ident[%d] == %d is no known data encoding\n"
msgstr "e_ident[%d] == %d nie jest znanym kodowaniem danych\n"
-#: src/elflint.c:366
+#: src/elflint.c:367
#, c-format
msgid "unknown ELF header version number e_ident[%d] == %d\n"
msgstr "nieznany numer wersji nagłówka ELF e_ident[%d] == %d\n"
-#: src/elflint.c:374
+#: src/elflint.c:375
#, c-format
msgid "unsupported OS ABI e_ident[%d] == '%s'\n"
msgstr "nieobsÅ‚ugiwane ABI systemu operacyjnego e_ident[%d] == „%sâ€\n"
-#: src/elflint.c:380
+#: src/elflint.c:381
#, c-format
msgid "unsupported ABI version e_ident[%d] == %d\n"
msgstr "nieobsługiwana wersja ABI e_ident[%d] == %d\n"
-#: src/elflint.c:385
+#: src/elflint.c:386
#, c-format
msgid "e_ident[%zu] is not zero\n"
msgstr "e_ident[%zu] nie wynosi zero\n"
-#: src/elflint.c:390
+#: src/elflint.c:391
#, c-format
msgid "unknown object file type %d\n"
msgstr "nieznany typ pliku obiektu %d\n"
-#: src/elflint.c:397
+#: src/elflint.c:398
#, c-format
msgid "unknown machine type %d\n"
msgstr "nieznany typ komputera %d\n"
-#: src/elflint.c:401
+#: src/elflint.c:402
#, c-format
msgid "unknown object file version\n"
msgstr "nieznana wersja pliku obiektu\n"
-#: src/elflint.c:407
+#: src/elflint.c:408
#, c-format
msgid "invalid program header offset\n"
msgstr "nieprawidłowy offset nagłówka programu\n"
-#: src/elflint.c:409
+#: src/elflint.c:410
#, c-format
msgid "executables and DSOs cannot have zero program header offset\n"
msgstr ""
"pliki wykonywalne i DSO nie mogą mieć zerowego offsetu nagłówka programu\n"
-#: src/elflint.c:413
+#: src/elflint.c:414
#, c-format
msgid "invalid number of program header entries\n"
msgstr "nieprawidłowa liczba wpisów nagłówka programu\n"
-#: src/elflint.c:421
+#: src/elflint.c:422
#, c-format
msgid "invalid section header table offset\n"
msgstr "nieprawidłowy offset tabeli nagłówków sekcji\n"
-#: src/elflint.c:424
+#: src/elflint.c:425
#, c-format
msgid "section header table must be present\n"
msgstr "tabela nagłówków sekcji musi istnieć\n"
-#: src/elflint.c:438
+#: src/elflint.c:439
#, c-format
msgid "invalid number of section header table entries\n"
msgstr "nieprawidłowa liczba wpisów tabeli nagłówków sekcji\n"
-#: src/elflint.c:455
+#: src/elflint.c:456
#, c-format
msgid "invalid section header index\n"
msgstr "nieprawidłowy indeks nagłówka sekcji\n"
-#: src/elflint.c:473
+#: src/elflint.c:474
#, c-format
msgid "Can only check %u headers, shnum was %u\n"
msgstr "Można sprawdzić tylko nagłówki %u, shnum wynosiło %u\n"
-#: src/elflint.c:487
+#: src/elflint.c:488
#, c-format
msgid "invalid number of program header table entries\n"
msgstr "nieprawidłowa liczba wpisów tabeli nagłówka programu\n"
-#: src/elflint.c:504
+#: src/elflint.c:505
#, c-format
msgid "Can only check %u headers, phnum was %u\n"
msgstr "Można sprawdzić tylko nagłówki %u, phnum wynosiło %u\n"
-#: src/elflint.c:509
+#: src/elflint.c:510
#, c-format
msgid "invalid machine flags: %s\n"
msgstr "nieprawidłowe flagi komputera: %s\n"
-#: src/elflint.c:516 src/elflint.c:533
+#: src/elflint.c:517 src/elflint.c:534
#, c-format
msgid "invalid ELF header size: %hd\n"
msgstr "nieprawidłowy rozmiar nagłówka ELF: %hd\n"
-#: src/elflint.c:519 src/elflint.c:536
+#: src/elflint.c:520 src/elflint.c:537
#, c-format
msgid "invalid program header size: %hd\n"
msgstr "nieprawidłowa rozmiar nagłówka programu: %hd\n"
-#: src/elflint.c:522 src/elflint.c:539
+#: src/elflint.c:523 src/elflint.c:540
#, c-format
msgid "invalid program header position or size\n"
msgstr "nieprawidłowe położenie lub rozmiar nagłówka programu\n"
-#: src/elflint.c:525 src/elflint.c:542
+#: src/elflint.c:526 src/elflint.c:543
#, c-format
msgid "invalid section header size: %hd\n"
msgstr "nieprawidłowy rozmiar nagłówka sekcji: %hd\n"
-#: src/elflint.c:528 src/elflint.c:545
+#: src/elflint.c:529 src/elflint.c:546
#, c-format
msgid "invalid section header position or size\n"
msgstr "nieprawidłowe położenie lub rozmiar nagłówka sekcji\n"
-#: src/elflint.c:590
+#: src/elflint.c:591
#, c-format
msgid ""
"section [%2d] '%s': section with SHF_GROUP flag set not part of a section "
@@ -1956,21 +1956,21 @@ msgid ""
msgstr ""
"sekcja [%2d] „%sâ€: sekcja z flagÄ… SHF_GROUP nie jest częściÄ… grupy sekcji\n"
-#: src/elflint.c:594
+#: src/elflint.c:595
#, c-format
msgid ""
"section [%2d] '%s': section group [%2zu] '%s' does not precede group member\n"
msgstr ""
"sekcja [%2d] „%sâ€: grupa sekcji [%2zu] „%s†nie poprzedza elementu grupy\n"
-#: src/elflint.c:610 src/elflint.c:1498 src/elflint.c:1549 src/elflint.c:1655
-#: src/elflint.c:1991 src/elflint.c:2317 src/elflint.c:2943 src/elflint.c:3106
-#: src/elflint.c:3254 src/elflint.c:3456 src/elflint.c:4468
+#: src/elflint.c:611 src/elflint.c:1509 src/elflint.c:1560 src/elflint.c:1610
+#: src/elflint.c:1692 src/elflint.c:2029 src/elflint.c:2355 src/elflint.c:2981
+#: src/elflint.c:3144 src/elflint.c:3292 src/elflint.c:3494 src/elflint.c:4511
#, c-format
msgid "section [%2d] '%s': cannot get section data\n"
msgstr "sekcja [%2d] „%sâ€: nie można uzyskać danych sekcji\n"
-#: src/elflint.c:623 src/elflint.c:1662
+#: src/elflint.c:624 src/elflint.c:1699
#, c-format
msgid ""
"section [%2d] '%s': referenced as string table for section [%2d] '%s' but "
@@ -1979,7 +1979,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: użyta jako tabela ciÄ…gów dla sekcji [%2d] „%sâ€, ale nie "
"jest typu SHT_STRTAB\n"
-#: src/elflint.c:646
+#: src/elflint.c:647
#, c-format
msgid ""
"section [%2d] '%s': symbol table cannot have more than one extended index "
@@ -1988,12 +1988,12 @@ msgstr ""
"sekcja [%2d] „%sâ€: tabela symboli nie może mieć wiÄ™cej niż jednej "
"rozszerzonej sekcji indeksów\n"
-#: src/elflint.c:658
+#: src/elflint.c:659
#, c-format
msgid "section [%2u] '%s': entry size is does not match ElfXX_Sym\n"
msgstr "sekcja [%2u] „%sâ€: rozmiar wpisu nie zgadza siÄ™ z ElfXX_Sym\n"
-#: src/elflint.c:662
+#: src/elflint.c:663
#, c-format
msgid ""
"section [%2u] '%s': number of local entries in 'st_info' larger than table "
@@ -2002,33 +2002,33 @@ msgstr ""
"sekcja [%2u] „%sâ€: liczba lokalnych wpisów w „st_info†jest wiÄ™ksza niż "
"rozmiar tabeli\n"
-#: src/elflint.c:671
+#: src/elflint.c:672
#, c-format
msgid "section [%2d] '%s': cannot get symbol %d: %s\n"
msgstr "sekcja [%2d] „%sâ€: nie można uzyskać symbolu %d: %s\n"
-#: src/elflint.c:676 src/elflint.c:679 src/elflint.c:682 src/elflint.c:685
-#: src/elflint.c:688 src/elflint.c:691
+#: src/elflint.c:677 src/elflint.c:680 src/elflint.c:683 src/elflint.c:686
+#: src/elflint.c:689 src/elflint.c:692
#, c-format
msgid "section [%2d] '%s': '%s' in zeroth entry not zero\n"
msgstr "sekcja [%2d] „%sâ€: „%s†w zerowym wpisie nie jest zerem\n"
-#: src/elflint.c:694
+#: src/elflint.c:695
#, c-format
msgid "section [%2d] '%s': XINDEX for zeroth entry not zero\n"
msgstr "sekcja [%2d] „%sâ€: XINDEX dla zerowego wpisu nie jest zerem\n"
-#: src/elflint.c:704
+#: src/elflint.c:705
#, c-format
msgid "section [%2d] '%s': cannot get symbol %zu: %s\n"
msgstr "sekcja [%2d] „%sâ€: nie można uzyskać symbolu %zu: %s\n"
-#: src/elflint.c:713
+#: src/elflint.c:714
#, c-format
msgid "section [%2d] '%s': symbol %zu: invalid name value\n"
msgstr "sekcja [%2d] „%sâ€: symbol %zu: nieprawidÅ‚owa wartość nazwy\n"
-#: src/elflint.c:728
+#: src/elflint.c:729
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): too large section index but no extended "
@@ -2037,7 +2037,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: symbol %zu (%s): za duży indeks sekcji, ale nie ma sekcji "
"rozszerzonych indeksów sekcji\n"
-#: src/elflint.c:734
+#: src/elflint.c:735
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): XINDEX used for index which would fit "
@@ -2047,28 +2047,28 @@ msgstr ""
"zmieściłby się w st_shndx (%<PRIu32>)\n"
#. || sym->st_shndx > SHN_HIRESERVE always false
-#: src/elflint.c:746
+#: src/elflint.c:747
#, c-format
msgid "section [%2d] '%s': symbol %zu (%s): invalid section index\n"
msgstr "sekcja [%2d] „%sâ€: symbol %zu (%s): nieprawidÅ‚owy indeks sekcji\n"
-#: src/elflint.c:754
+#: src/elflint.c:755
#, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unknown type\n"
msgstr "sekcja [%2d] „%sâ€: symbol %zu (%s): nieznany typ\n"
-#: src/elflint.c:760
+#: src/elflint.c:761
#, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unknown symbol binding\n"
msgstr "sekcja [%2d] „%sâ€: symbol %zu (%s): nieznane dowiÄ…zanie symbolu\n"
-#: src/elflint.c:765
+#: src/elflint.c:766
#, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unique symbol not of object type\n"
msgstr ""
"sekcja [%2d] „%sâ€: symbol %zu (%s): unikalny symbol nie jest typem obiektu\n"
-#: src/elflint.c:773
+#: src/elflint.c:774
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): COMMON only allowed in relocatable "
@@ -2077,26 +2077,26 @@ msgstr ""
"sekcja [%2d] „%sâ€: symbol %zu (%s): COMMON jest dozwolone tylko w plikach "
"relokowalnych\n"
-#: src/elflint.c:777
+#: src/elflint.c:778
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): local COMMON symbols are nonsense\n"
msgstr ""
"sekcja [%2d] „%sâ€: symbol %zu (%s): lokalne symbole COMMON to nonsens\n"
-#: src/elflint.c:781
+#: src/elflint.c:782
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): function in COMMON section is nonsense\n"
msgstr ""
"sekcja [%2d] „%sâ€: symbol %zu (%s): funkcja w sekcji COMMON to nonsens\n"
-#: src/elflint.c:832
+#: src/elflint.c:833
#, c-format
msgid "section [%2d] '%s': symbol %zu (%s): st_value out of bounds\n"
msgstr "sekcja [%2d] „%sâ€: symbol %zu (%s): st_value spoza zakresu\n"
-#: src/elflint.c:838 src/elflint.c:863 src/elflint.c:912
+#: src/elflint.c:839 src/elflint.c:864 src/elflint.c:913
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s) does not fit completely in referenced "
@@ -2105,7 +2105,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: symbol %zu (%s) nie mieÅ›ci siÄ™ w caÅ‚oÅ›ci we wskazywanej "
"sekcji [%2d] „%sâ€\n"
-#: src/elflint.c:847
+#: src/elflint.c:848
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): referenced section [%2d] '%s' does not "
@@ -2114,7 +2114,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: symbol %zu (%s): wskazywana sekcja [%2d] „%s†nie ma "
"ustawionej flagi SHF_TLS\n"
-#: src/elflint.c:857 src/elflint.c:905
+#: src/elflint.c:858 src/elflint.c:906
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): st_value out of bounds of referenced "
@@ -2123,7 +2123,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: symbol %zu (%s): st_value spoza zakresu wskazywanej "
"sekcji [%2d] „%sâ€\n"
-#: src/elflint.c:884
+#: src/elflint.c:885
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): TLS symbol but no TLS program header "
@@ -2132,7 +2132,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: symbol %zu (%s): symbol TLS, ale brak wpisu TLS nagłówka "
"programu\n"
-#: src/elflint.c:890
+#: src/elflint.c:891
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): TLS symbol but couldn't get TLS program "
@@ -2141,7 +2141,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: symbol %zu (%s): symbol TLS, ale nie można uzyskać wpisu "
"TLS nagłówka programu\n"
-#: src/elflint.c:898
+#: src/elflint.c:899
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): st_value short of referenced section "
@@ -2150,7 +2150,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: symbol %zu (%s): st_value pomija wskazywanÄ… sekcjÄ™ [%2d] "
"„%sâ€\n"
-#: src/elflint.c:925
+#: src/elflint.c:926
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): local symbol outside range described in "
@@ -2159,7 +2159,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: symbol %zu (%s): lokalny symbol spoza zakresu okreÅ›lonego "
"w sh_info\n"
-#: src/elflint.c:932
+#: src/elflint.c:933
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): non-local symbol outside range "
@@ -2168,12 +2168,12 @@ msgstr ""
"sekcja [%2d] „%sâ€: symbol %zu (%s): nielokalny symbol spoza zakresu "
"określonego w sh_info\n"
-#: src/elflint.c:939
+#: src/elflint.c:940
#, c-format
msgid "section [%2d] '%s': symbol %zu (%s): non-local section symbol\n"
msgstr "sekcja [%2d] „%sâ€: symbol %zu (%s): nielokalny symbol sekcji\n"
-#: src/elflint.c:989
+#: src/elflint.c:990
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section "
@@ -2182,7 +2182,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: symbol _GLOBAL_OFFSET_TABLE_ odnosi siÄ™ do bÅ‚Ä™dnej sekcji "
"[%2d]\n"
-#: src/elflint.c:996
+#: src/elflint.c:997
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] "
@@ -2194,7 +2194,7 @@ msgstr ""
#. This test is more strict than the psABIs which
#. usually allow the symbol to be in the middle of
#. the .got section, allowing negative offsets.
-#: src/elflint.c:1012
+#: src/elflint.c:1013
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
@@ -2203,7 +2203,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: wartość symbolu _GLOBAL_OFFSET_TABLE_ %#<PRIx64> nie "
"pasuje do adresu sekcji %s %#<PRIx64>\n"
-#: src/elflint.c:1019
+#: src/elflint.c:1020
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
@@ -2212,7 +2212,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: rozmiar symbolu _GLOBAL_OFFSET_TABLE_ %<PRIu64> nie "
"pasuje do rozmiaru sekcji %s %<PRIu64>\n"
-#: src/elflint.c:1027
+#: src/elflint.c:1028
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
@@ -2221,7 +2221,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: symbol _GLOBAL_OFFSET_TABLE_ istnieje, ale brak sekcji ."
"got\n"
-#: src/elflint.c:1043
+#: src/elflint.c:1044
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
@@ -2230,7 +2230,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: wartość symbolu _DYNAMIC_ %#<PRIx64> nie pasuje do adresu "
"segmentu dynamicznego %#<PRIx64>\n"
-#: src/elflint.c:1050
+#: src/elflint.c:1051
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
@@ -2239,7 +2239,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: rozmiar symbolu _DYNAMIC_ %<PRIu64> nie pasuje do "
"rozmiaru segmentu dynamicznego %<PRIu64>\n"
-#: src/elflint.c:1063
+#: src/elflint.c:1064
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): symbol in dynamic symbol table with non-"
@@ -2248,28 +2248,28 @@ msgstr ""
"sekcja [%2d] „%sâ€: symbol %zu (%s): symbol w dynamicznej tabeli symboli "
"z niedomyślną widocznością\n"
-#: src/elflint.c:1067
+#: src/elflint.c:1068
#, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unknown bit set in st_other\n"
msgstr ""
"sekcja [%2d] „%sâ€: symbol %zu (%s): ustawiono nieznany bit w st_other\n"
-#: src/elflint.c:1105
+#: src/elflint.c:1106
#, c-format
msgid "section [%2d] '%s': cannot get section data.\n"
msgstr "sekcja [%2d] „%sâ€: nie można uzyskać danych sekcji.\n"
-#: src/elflint.c:1121
+#: src/elflint.c:1122
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
msgstr "sekcja [%2d] „%sâ€: DT_RELCOUNT użyte dla tej sekcji RELA\n"
-#: src/elflint.c:1132 src/elflint.c:1185
+#: src/elflint.c:1133 src/elflint.c:1186
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
msgstr "sekcja [%2d] „%sâ€: DT_RELCOUNT %d za duże dla tej sekcji\n"
-#: src/elflint.c:1157 src/elflint.c:1210
+#: src/elflint.c:1158 src/elflint.c:1211
#, c-format
msgid ""
"section [%2d] '%s': relative relocations after index %d as specified by "
@@ -2278,7 +2278,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: relokacje wzglÄ™dne po indeksie %d podanym przez "
"DT_RELCOUNT\n"
-#: src/elflint.c:1163 src/elflint.c:1216
+#: src/elflint.c:1164 src/elflint.c:1217
#, c-format
msgid ""
"section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
@@ -2287,50 +2287,45 @@ msgstr ""
"sekcja [%2d] „%sâ€: relokacja bezwzglÄ™dna pod indeksem %zu; DT_RELCOUNT podaÅ‚ "
"%d relokacji względnych\n"
-#: src/elflint.c:1175
+#: src/elflint.c:1176
#, c-format
msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
msgstr "sekcja [%2d] „%sâ€: DT_RELACOUNT użyte dla tej sekcji REL\n"
-#: src/elflint.c:1258
+#: src/elflint.c:1259
#, c-format
msgid "section [%2d] '%s': invalid destination section index\n"
msgstr "sekcja [%2d] „%sâ€: nieprawidÅ‚owy indeks sekcji docelowej\n"
-#: src/elflint.c:1270
+#: src/elflint.c:1271
#, c-format
msgid "section [%2d] '%s': invalid destination section type\n"
msgstr "sekcja [%2d] „%sâ€: nieprawidÅ‚owy typ sekcji docelowej\n"
-#: src/elflint.c:1278
+#: src/elflint.c:1279
#, c-format
msgid "section [%2d] '%s': sh_info should be zero\n"
msgstr "sekcja [%2d] „%sâ€: sh_info musi wynosić zero\n"
-#: src/elflint.c:1286
+#: src/elflint.c:1287
#, c-format
msgid ""
"section [%2d] '%s': no relocations for merge-able string sections possible\n"
msgstr ""
"sekcja [%2d] „%sâ€: relokacje dla sekcji zÅ‚Ä…czalnych ciÄ…gów sÄ… niemożliwe\n"
-#: src/elflint.c:1294
-#, c-format
-msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
-msgstr "sekcja [%2d] „%sâ€: rozmiar wpisu sekcji nie zgadza siÄ™ z ElfXX_Rela\n"
-
-#: src/elflint.c:1354
+#: src/elflint.c:1365
#, c-format
msgid "text relocation flag set but there is no read-only segment\n"
msgstr ""
"flaga relokacji tekstu jest ustawiona, ale nie ma segmentu tylko do odczytu\n"
-#: src/elflint.c:1381
+#: src/elflint.c:1392
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid type\n"
msgstr "sekcja [%2d] „%sâ€: relokacja %zu: nieprawidÅ‚owy typ\n"
-#: src/elflint.c:1389
+#: src/elflint.c:1400
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: relocation type invalid for the file "
@@ -2339,12 +2334,12 @@ msgstr ""
"sekcja [%2d] „%sâ€: relokacja %zu: typ relokacji nieprawidÅ‚owy dla tego typu "
"pliku\n"
-#: src/elflint.c:1397
+#: src/elflint.c:1408
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
msgstr "sekcja [%2d] „%sâ€: relokacja %zu: nieprawidÅ‚owy indeks symbolu\n"
-#: src/elflint.c:1415
+#: src/elflint.c:1426
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
@@ -2353,12 +2348,12 @@ msgstr ""
"sekcja [%2d] „%sâ€: relokacja %zu: z %s można użyć tylko symbolu "
"„_GLOBAL_OFFSET_TABLE_â€\n"
-#: src/elflint.c:1432
+#: src/elflint.c:1443
#, c-format
msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
msgstr "sekcja [%2d] „%sâ€: relokacja %zu: offset spoza zakresu\n"
-#: src/elflint.c:1447
+#: src/elflint.c:1458
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: copy relocation against symbol of type "
@@ -2366,7 +2361,7 @@ msgid ""
msgstr ""
"sekcja [%2d] „%sâ€: relokacja %zu: relokacja kopii wzglÄ™dem symbolu typu %s\n"
-#: src/elflint.c:1468
+#: src/elflint.c:1479
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: read-only section modified but text "
@@ -2375,23 +2370,23 @@ msgstr ""
"sekcja [%2d] „%sâ€: relokacja %zu: sekcja tylko do odczytu zostaÅ‚a "
"zmodyfikowana, ale nie ustawiono flagi relokacji tekstu\n"
-#: src/elflint.c:1483
+#: src/elflint.c:1494
#, c-format
msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
msgstr ""
"sekcja [%2d] „%sâ€: relokacje wzglÄ™dem wczytanych i niewczytanych danych\n"
-#: src/elflint.c:1523 src/elflint.c:1574
+#: src/elflint.c:1534 src/elflint.c:1585
#, c-format
msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
msgstr "sekcja [%2d] „%sâ€: nie można uzyskać relokacji %zu: %s\n"
-#: src/elflint.c:1650
+#: src/elflint.c:1687
#, c-format
msgid "more than one dynamic section present\n"
msgstr "obecna jest więcej niż jedna sekcja dynamiczna\n"
-#: src/elflint.c:1668
+#: src/elflint.c:1705
#, c-format
msgid ""
"section [%2d]: referenced as string table for section [%2d] '%s' but section "
@@ -2400,43 +2395,43 @@ msgstr ""
"sekcja [%2d]: wskazane jako tabela ciÄ…gów dla sekcji [%2d] „%sâ€, ale wartość "
"dowiązania sekcji jest nieprawidłowa\n"
-#: src/elflint.c:1676
+#: src/elflint.c:1713
#, c-format
msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
msgstr "sekcja [%2d] „%sâ€: rozmiar wpisu sekcji nie zgadza siÄ™ z ElfXX_Dyn\n"
-#: src/elflint.c:1681 src/elflint.c:1970
+#: src/elflint.c:1718 src/elflint.c:2008
#, c-format
msgid "section [%2d] '%s': sh_info not zero\n"
msgstr "sekcja [%2d] „%sâ€: sh_info nie wynosi zero\n"
-#: src/elflint.c:1691
+#: src/elflint.c:1728
#, c-format
msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
msgstr ""
"sekcja [%2d] „%sâ€: nie można uzyskać wpisu %zu sekcji dynamicznej: %s\n"
-#: src/elflint.c:1699
+#: src/elflint.c:1736
#, c-format
msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
msgstr "sekcja [%2d] „%sâ€: wpisy nie-DT_NULL wystÄ™pujÄ… po wpisie DT_NULL\n"
-#: src/elflint.c:1706
+#: src/elflint.c:1743
#, c-format
msgid "section [%2d] '%s': entry %zu: unknown tag\n"
msgstr "sekcja [%2d] „%sâ€: wpis %zu: nieznany znacznik\n"
-#: src/elflint.c:1717
+#: src/elflint.c:1754
#, c-format
msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
msgstr "sekcja [%2d] „%sâ€: wpis %zu: wiÄ™cej niż jeden wpis ze znacznikiem %s\n"
-#: src/elflint.c:1727
+#: src/elflint.c:1764
#, c-format
msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
msgstr "sekcja [%2d] „%sâ€: wpis %zu: użyto znacznika %s poziomu 2\n"
-#: src/elflint.c:1745
+#: src/elflint.c:1782
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
@@ -2444,7 +2439,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: wpis %zu: wartość DT_PLTREL musi wynosić DT_REL lub "
"DT_RELA\n"
-#: src/elflint.c:1758
+#: src/elflint.c:1795
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: pointer does not match address of section "
@@ -2453,14 +2448,14 @@ msgstr ""
"sekcja [%2d] „%sâ€: wpis %zu: wskaźnik nie pasuje do adresu sekcji [%2d] „%s†"
"wskazywanej przez sh_link\n"
-#: src/elflint.c:1801
+#: src/elflint.c:1839
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
msgstr ""
"sekcja [%2d] „%sâ€: wpis %zu: wartość %s musi wskazywać na wczytany segment\n"
-#: src/elflint.c:1816
+#: src/elflint.c:1854
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must be valid offset in section "
@@ -2469,48 +2464,48 @@ msgstr ""
"sekcja [%2d] „%sâ€: wpis %zu: wartość %s musi być prawidÅ‚owym offsetem "
"w sekcji [%2d] „%sâ€\n"
-#: src/elflint.c:1836 src/elflint.c:1864
+#: src/elflint.c:1874 src/elflint.c:1902
#, c-format
msgid "section [%2d] '%s': contains %s entry but not %s\n"
msgstr "sekcja [%2d] „%sâ€: zawiera wpis %s, ale nie %s\n"
-#: src/elflint.c:1848
+#: src/elflint.c:1886
#, c-format
msgid "section [%2d] '%s': mandatory tag %s not present\n"
msgstr "sekcja [%2d] „%sâ€: brak obowiÄ…zkowego znacznika %s\n"
-#: src/elflint.c:1857
+#: src/elflint.c:1895
#, c-format
msgid "section [%2d] '%s': no hash section present\n"
msgstr "sekcja [%2d] „%sâ€: brak sekcji skrótów\n"
-#: src/elflint.c:1872 src/elflint.c:1879
+#: src/elflint.c:1910 src/elflint.c:1917
#, c-format
msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
msgstr "sekcja [%2d] „%sâ€: nie wszystkie z %s, %s i %s sÄ… obecne\n"
-#: src/elflint.c:1889 src/elflint.c:1893
+#: src/elflint.c:1927 src/elflint.c:1931
#, c-format
msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
msgstr ""
"sekcja [%2d] „%sâ€: brak znacznika %s w DSO oznaczonym podczas wstÄ™pnej "
"konsolidacji\n"
-#: src/elflint.c:1899
+#: src/elflint.c:1937
#, c-format
msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
msgstr ""
"sekcja [%2d] „%sâ€: plik nie-DSO oznaczony jako zależność podczas wstÄ™pnej "
"konsolidacji\n"
-#: src/elflint.c:1910 src/elflint.c:1914 src/elflint.c:1918 src/elflint.c:1922
+#: src/elflint.c:1948 src/elflint.c:1952 src/elflint.c:1956 src/elflint.c:1960
#, c-format
msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
msgstr ""
"sekcja [%2d] „%sâ€: brak znacznika %s we wstÄ™pnie konsolidowanym pliku "
"wykonywalnym\n"
-#: src/elflint.c:1934
+#: src/elflint.c:1972
#, c-format
msgid ""
"section [%2d] '%s': only relocatable files can have extended section index\n"
@@ -2518,7 +2513,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: tylko pliki relokowalne mogÄ… mieć rozszerzonÄ… sekcjÄ™ "
"indeksów\n"
-#: src/elflint.c:1944
+#: src/elflint.c:1982
#, c-format
msgid ""
"section [%2d] '%s': extended section index section not for symbol table\n"
@@ -2526,31 +2521,31 @@ msgstr ""
"sekcja [%2d] „%sâ€: sekcja rozszerzonych indeksów sekcji nie dla tabeli "
"symboli\n"
-#: src/elflint.c:1948
+#: src/elflint.c:1986
#, c-format
msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n"
msgstr ""
"sekcja [%2d] „%sâ€: rozszerzony indeks sekcji sh_link [%2d] jest "
"nieprawidłowy\n"
-#: src/elflint.c:1953
+#: src/elflint.c:1991
#, c-format
msgid "cannot get data for symbol section\n"
msgstr "nie można uzyskać danych dla sekcji symboli\n"
-#: src/elflint.c:1956
+#: src/elflint.c:1994
#, c-format
msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
msgstr "sekcja [%2d] „%sâ€: rozmiar wpisu nie zgadza siÄ™ z Elf32_Word\n"
-#: src/elflint.c:1965
+#: src/elflint.c:2003
#, c-format
msgid "section [%2d] '%s': extended index table too small for symbol table\n"
msgstr ""
"sekcja [%2d] „%sâ€: tabela rozszerzonych indeksów jest za maÅ‚a dla tabeli "
"symboli\n"
-#: src/elflint.c:1980
+#: src/elflint.c:2018
#, c-format
msgid ""
"section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
@@ -2559,24 +2554,24 @@ msgstr ""
"sekcja [%2d] „%sâ€: rozszerzony indeks sekcji w sekcji [%2zu] „%s†odwoÅ‚uje "
"siÄ™ do tej samej tabeli symboli\n"
-#: src/elflint.c:1998
+#: src/elflint.c:2036
#, c-format
msgid "symbol 0 should have zero extended section index\n"
msgstr "symbol 0 musi mieć zerowy rozszerzony indeks sekcji\n"
-#: src/elflint.c:2010
+#: src/elflint.c:2048
#, c-format
msgid "cannot get data for symbol %zu\n"
msgstr "nie można uzyskać danych dla symbolu %zu\n"
-#: src/elflint.c:2015
+#: src/elflint.c:2053
#, c-format
msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
msgstr ""
"rozszerzony indeks sekcji wynosi %<PRIu32>, ale indeks symbolu nie wynosi "
"XINDEX\n"
-#: src/elflint.c:2032 src/elflint.c:2089
+#: src/elflint.c:2070 src/elflint.c:2127
#, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
@@ -2584,43 +2579,43 @@ msgstr ""
"sekcja [%2d] „%sâ€: sekcja tabeli mieszajÄ…cej jest za maÅ‚a (%ld, oczekiwano "
"%ld)\n"
-#: src/elflint.c:2046 src/elflint.c:2103
+#: src/elflint.c:2084 src/elflint.c:2141
#, c-format
msgid "section [%2d] '%s': chain array too large\n"
msgstr "sekcja [%2d] „%sâ€: tabela Å‚aÅ„cuchowa jest za duża\n"
-#: src/elflint.c:2060 src/elflint.c:2117
+#: src/elflint.c:2098 src/elflint.c:2155
#, c-format
msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
msgstr ""
"sekcja [%2d] „%sâ€: odwoÅ‚anie do kubeÅ‚ka skrótu %zu jest spoza zakresu\n"
-#: src/elflint.c:2070
+#: src/elflint.c:2108
#, c-format
msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
msgstr ""
"sekcja [%2d] „%sâ€: odwoÅ‚anie do Å‚aÅ„cucha skrótu %zu jest spoza zakresu\n"
-#: src/elflint.c:2127
+#: src/elflint.c:2165
#, c-format
msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
msgstr ""
"sekcja [%2d] „%sâ€: odwoÅ‚anie do Å‚aÅ„cucha skrótu %<PRIu64> jest spoza "
"zakresu\n"
-#: src/elflint.c:2140
+#: src/elflint.c:2178
#, c-format
msgid "section [%2d] '%s': not enough data\n"
msgstr "sekcja [%2d] „%sâ€: brak wystarczajÄ…cej iloÅ›ci danych\n"
-#: src/elflint.c:2152
+#: src/elflint.c:2190
#, c-format
msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n"
msgstr ""
"sekcja [%2d] „%sâ€: rozmiar maski bitowej wynosi zero lub nie jest potÄ™gÄ… 2: "
"%u\n"
-#: src/elflint.c:2168
+#: src/elflint.c:2206
#, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected at "
@@ -2629,13 +2624,13 @@ msgstr ""
"sekcja [%2d] „%sâ€: sekcja tabeli mieszajÄ…cej jest za maÅ‚a (wynosi %ld, "
"oczekiwano co najmniej %ld)\n"
-#: src/elflint.c:2177
+#: src/elflint.c:2215
#, c-format
msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
msgstr ""
"sekcja [%2d] „%sâ€: drugie przesuniÄ™cie funkcji mieszajÄ…cej jest za duże: %u\n"
-#: src/elflint.c:2211
+#: src/elflint.c:2249
#, c-format
msgid ""
"section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
@@ -2643,7 +2638,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: Å‚aÅ„cuch mieszajÄ…cy dla kubeÅ‚ka %zu jest mniejszy niż "
"przesunięcie indeksu symboli\n"
-#: src/elflint.c:2232
+#: src/elflint.c:2270
#, c-format
msgid ""
"section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
@@ -2652,7 +2647,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: symbol %u wskazywany w łaÅ„cuchu dla kubeÅ‚ka %zu jest "
"nieokreślony\n"
-#: src/elflint.c:2245
+#: src/elflint.c:2283
#, c-format
msgid ""
"section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
@@ -2660,7 +2655,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: wartość skrótu dla symbolu %u w łaÅ„cuchu dla kubeÅ‚ka %zu "
"jest błędna\n"
-#: src/elflint.c:2254
+#: src/elflint.c:2292
#, c-format
msgid ""
"section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n"
@@ -2668,12 +2663,12 @@ msgstr ""
"sekcja [%2d] „%sâ€: indeks maski dla symbolu %u w łaÅ„cuchu dla kubeÅ‚ka %zu "
"jest błędny\n"
-#: src/elflint.c:2284
+#: src/elflint.c:2322
#, c-format
msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
msgstr "sekcja [%2d] „%sâ€: Å‚aÅ„cuch skrótu dla kubeÅ‚ka %zu jest spoza zakresu\n"
-#: src/elflint.c:2289
+#: src/elflint.c:2327
#, c-format
msgid ""
"section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
@@ -2681,41 +2676,41 @@ msgstr ""
"sekcja [%2d] „%sâ€: odwoÅ‚anie do symbolu w łaÅ„cuchu dla kubeÅ‚ka %zu jest "
"spoza zakresu\n"
-#: src/elflint.c:2295
+#: src/elflint.c:2333
#, c-format
msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
msgstr ""
"sekcja [%2d] „%sâ€: maska bitowa nie pasuje do nazw w tabeli mieszajÄ…cej\n"
-#: src/elflint.c:2308
+#: src/elflint.c:2346
#, c-format
msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
msgstr ""
"sekcja [%2d] „%sâ€: pliki relokowalne nie mogÄ… mieć tabeli mieszajÄ…cych\n"
-#: src/elflint.c:2326
+#: src/elflint.c:2364
#, c-format
msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
msgstr ""
"sekcja [%2d] „%sâ€: tabela mieszajÄ…ca nie dla tabeli dynamicznych symboli\n"
-#: src/elflint.c:2330
+#: src/elflint.c:2368
#, c-format
msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n"
msgstr ""
"sekcja [%2d] „%sâ€: nieprawidÅ‚owy indeks sekcji tabeli symboli sh_link [%2d]\n"
-#: src/elflint.c:2340
+#: src/elflint.c:2378
#, c-format
msgid "section [%2d] '%s': hash table entry size incorrect\n"
msgstr "sekcja [%2d] „%sâ€: niepoprawny rozmiar wpisu tabeli mieszajÄ…cej\n"
-#: src/elflint.c:2345
+#: src/elflint.c:2383
#, c-format
msgid "section [%2d] '%s': not marked to be allocated\n"
msgstr "sekcja [%2d] „%sâ€: nieoznaczona do przydzielenia\n"
-#: src/elflint.c:2350
+#: src/elflint.c:2388
#, c-format
msgid ""
"section [%2d] '%s': hash table has not even room for initial administrative "
@@ -2724,29 +2719,29 @@ msgstr ""
"sekcja [%2d] „%sâ€: tabela mieszajÄ…ca nie ma miejsca nawet na poczÄ…tkowe "
"wpisy administracyjne\n"
-#: src/elflint.c:2399
+#: src/elflint.c:2437
#, c-format
msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
msgstr ""
"sh_link w sekcjach skrótu [%2zu] „%s†i [%2zu] „%s†nie są identyczne\n"
-#: src/elflint.c:2423 src/elflint.c:2488 src/elflint.c:2523
+#: src/elflint.c:2461 src/elflint.c:2526 src/elflint.c:2561
#, c-format
msgid "hash section [%2zu] '%s' does not contain enough data\n"
msgstr ""
"sekcja mieszania [%2zu] „%s†nie zawiera wystarczającej ilości danych\n"
-#: src/elflint.c:2444
+#: src/elflint.c:2482
#, c-format
msgid "hash section [%2zu] '%s' has zero bit mask words\n"
msgstr "sekcja mieszania [%2zu] „%s†ma zerowe słowa maski bitów\n"
-#: src/elflint.c:2455 src/elflint.c:2499 src/elflint.c:2536
+#: src/elflint.c:2493 src/elflint.c:2537 src/elflint.c:2574
#, c-format
msgid "hash section [%2zu] '%s' uses too much data\n"
msgstr "sekcja mieszania [%2zu] „%s†używa za dużo danych\n"
-#: src/elflint.c:2470
+#: src/elflint.c:2508
#, c-format
msgid ""
"hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: "
@@ -2755,17 +2750,17 @@ msgstr ""
"sekcja mieszająca [%2zu] „%s†nieprawidłowy indeks symboli %<PRIu32> "
"(max_nsyms: %<PRIu32>, nentries: %<PRIu32>\n"
-#: src/elflint.c:2557
+#: src/elflint.c:2595
#, c-format
msgid "hash section [%2zu] '%s' invalid sh_entsize\n"
msgstr "sekcja mieszania [%2zu] „%s†nieprawidłowe sh_entsize\n"
-#: src/elflint.c:2567 src/elflint.c:2571
+#: src/elflint.c:2605 src/elflint.c:2609
#, c-format
msgid "section [%2zu] '%s': reference to symbol index 0\n"
msgstr "sekcja [%2zu] „%sâ€: odwoÅ‚anie do symbolu o indeksie 0\n"
-#: src/elflint.c:2578
+#: src/elflint.c:2616
#, c-format
msgid ""
"symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash "
@@ -2774,7 +2769,7 @@ msgstr ""
"symbol %d wymieniony w nowej tabeli mieszajÄ…cej w [%2zu] „%sâ€, ale nie "
"w poprzedniej tabeli mieszajÄ…cej [%2zu] „%sâ€\n"
-#: src/elflint.c:2590
+#: src/elflint.c:2628
#, c-format
msgid ""
"symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash "
@@ -2783,12 +2778,12 @@ msgstr ""
"symbol %d wymieniony w poprzedniej tabeli mieszajÄ…cej w [%2zu] „%sâ€, ale nie "
"w nowej tabeli mieszajÄ…cej w [%2zu] „%sâ€\n"
-#: src/elflint.c:2606
+#: src/elflint.c:2644
#, c-format
msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
msgstr "sekcja [%2d] „%sâ€: niezerowe sh_%s dla sekcji NULL\n"
-#: src/elflint.c:2626
+#: src/elflint.c:2664
#, c-format
msgid ""
"section [%2d] '%s': section groups only allowed in relocatable object files\n"
@@ -2796,96 +2791,96 @@ msgstr ""
"sekcja [%2d] „%sâ€: w plikach obiektów relokowalnych dozwolone sÄ… tylko grupy "
"sekcji\n"
-#: src/elflint.c:2637
+#: src/elflint.c:2675
#, c-format
msgid "section [%2d] '%s': cannot get symbol table: %s\n"
msgstr "sekcja [%2d] „%sâ€: nie można uzyskać tabeli symboli: %s\n"
-#: src/elflint.c:2642
+#: src/elflint.c:2680
#, c-format
msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
msgstr ""
"sekcja [%2d] „%sâ€: odwoÅ‚anie do sekcji w sh_link nie ma tabeli symboli\n"
-#: src/elflint.c:2648
+#: src/elflint.c:2686
#, c-format
msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
msgstr "sekcja [%2d] „%sâ€: nieprawidÅ‚owy indeks symbolu w sh_info\n"
-#: src/elflint.c:2653
+#: src/elflint.c:2691
#, c-format
msgid "section [%2d] '%s': sh_flags not zero\n"
msgstr "sekcja [%2d] „%sâ€: niezerowe sh_flags\n"
-#: src/elflint.c:2660
+#: src/elflint.c:2698
#, c-format
msgid "section [%2d] '%s': cannot get symbol for signature\n"
msgstr "sekcja [%2d] „%sâ€: nie można uzyskać symbolu dla podpisu\n"
-#: src/elflint.c:2664
+#: src/elflint.c:2702
#, c-format
msgid "section [%2d] '%s': cannot get symbol name for signature\n"
msgstr "sekcja [%2d] „%sâ€: nie można uzyskać nazwy symbolu dla podpisu\n"
-#: src/elflint.c:2669
+#: src/elflint.c:2707
#, c-format
msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
msgstr "sekcja [%2d] „%sâ€: symbol podpisu nie można być pustym ciÄ…giem\n"
-#: src/elflint.c:2675
+#: src/elflint.c:2713
#, c-format
msgid "section [%2d] '%s': sh_flags not set correctly\n"
msgstr "sekcja [%2d] „%sâ€: sh_flags nie ustawione poprawnie\n"
-#: src/elflint.c:2681
+#: src/elflint.c:2719
#, c-format
msgid "section [%2d] '%s': cannot get data: %s\n"
msgstr "sekcja [%2d] „%sâ€: nie można uzyskać danych: %s\n"
-#: src/elflint.c:2690
+#: src/elflint.c:2728
#, c-format
msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
msgstr ""
"sekcja [%2d] „%sâ€: rozmiar sekcji nie jest wielokrotnoÅ›ciÄ… "
"sizeof(Elf32_Word)\n"
-#: src/elflint.c:2696
+#: src/elflint.c:2734
#, c-format
msgid "section [%2d] '%s': section group without flags word\n"
msgstr "sekcja [%2d] „%sâ€: grupa sekcji bez sÅ‚owa flag\n"
-#: src/elflint.c:2704
+#: src/elflint.c:2742
#, c-format
msgid "section [%2d] '%s': section group without member\n"
msgstr "sekcja [%2d] „%sâ€: grupa sekcji bez elementów\n"
-#: src/elflint.c:2708
+#: src/elflint.c:2746
#, c-format
msgid "section [%2d] '%s': section group with only one member\n"
msgstr "sekcja [%2d] „%sâ€: grupa sekcji z tylko jednym elementem\n"
-#: src/elflint.c:2719
+#: src/elflint.c:2757
#, c-format
msgid "section [%2d] '%s': unknown section group flags\n"
msgstr "sekcja [%2d] „%sâ€: nieznane flagi grupy sekcji\n"
-#: src/elflint.c:2731
+#: src/elflint.c:2769
#, c-format
msgid "section [%2d] '%s': section index %zu out of range\n"
msgstr "sekcja [%2d] „%sâ€: indeks sekcji %zu jest spoza zakresu\n"
-#: src/elflint.c:2740
+#: src/elflint.c:2778
#, c-format
msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
msgstr ""
"sekcja [%2d] „%sâ€: nie można uzyskać nagłówka sekcji dla elementu %zu: %s\n"
-#: src/elflint.c:2747
+#: src/elflint.c:2785
#, c-format
msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
msgstr "sekcja [%2d] „%sâ€: grupa sekcji zawiera innÄ… grupÄ™ [%2d] „%sâ€\n"
-#: src/elflint.c:2753
+#: src/elflint.c:2791
#, c-format
msgid ""
"section [%2d] '%s': element %zu references section [%2d] '%s' without "
@@ -2894,12 +2889,12 @@ msgstr ""
"sekcja [%2d] „%sâ€: element %zu odwoÅ‚uje siÄ™ do sekcji [%2d] „%s†bez flagi "
"SHF_GROUP\n"
-#: src/elflint.c:2760
+#: src/elflint.c:2798
#, c-format
msgid "section [%2d] '%s' is contained in more than one section group\n"
msgstr "sekcja [%2d] „%s†jest zawarta w więcej niż jednej grupie sekcji\n"
-#: src/elflint.c:2957
+#: src/elflint.c:2995
#, c-format
msgid ""
"section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no "
@@ -2908,7 +2903,7 @@ msgstr ""
"sekcja [%2d] „%s†odwoÅ‚uje siÄ™ w sh_link do sekcji [%2d] „%sâ€, która nie "
"jest tabelÄ… symboli dynamicznych\n"
-#: src/elflint.c:2969
+#: src/elflint.c:3007
#, c-format
msgid ""
"section [%2d] '%s' has different number of entries than symbol table [%2d] "
@@ -2916,76 +2911,76 @@ msgid ""
msgstr ""
"sekcja [%2d] „%s†ma innÄ… liczbÄ™ wpisów niż tabela symboli [%2d] „%sâ€\n"
-#: src/elflint.c:2985
+#: src/elflint.c:3023
#, c-format
msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
msgstr "sekcja [%2d] „%sâ€: symbol %d: nie można odczytać danych wersji\n"
-#: src/elflint.c:3001
+#: src/elflint.c:3039
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
msgstr "sekcja [%2d] „%sâ€: symbol %d: symbol lokalny z zakresem globalnym\n"
-#: src/elflint.c:3009
+#: src/elflint.c:3047
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
msgstr "sekcja [%2d] „%sâ€: symbol %d: symbol lokalny z wersjÄ…\n"
-#: src/elflint.c:3023
+#: src/elflint.c:3061
#, c-format
msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
msgstr "sekcja [%2d] „%sâ€: symbol %d: nieprawidÅ‚owy indeks wersji %d\n"
-#: src/elflint.c:3028
+#: src/elflint.c:3066
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for defined version\n"
msgstr ""
"sekcja [%2d] „%sâ€: symbol %d: indeks wersji %d jest dla wersji okreÅ›lonej\n"
-#: src/elflint.c:3038
+#: src/elflint.c:3076
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for requested version\n"
msgstr ""
"sekcja [%2d] „%sâ€: symbol %d: indeks wersji %d jest dla wersji żądanej\n"
-#: src/elflint.c:3091
+#: src/elflint.c:3129
#, c-format
msgid "more than one version reference section present\n"
msgstr "obecna jest więcej niż jedna sekcja odniesienia wersji\n"
-#: src/elflint.c:3099 src/elflint.c:3246
+#: src/elflint.c:3137 src/elflint.c:3284
#, c-format
msgid "section [%2d] '%s': sh_link does not link to string table\n"
msgstr "sekcja [%2d] „%sâ€: sh_link nie Å‚Ä…czy siÄ™ z tabelÄ… ciÄ…gów\n"
-#: src/elflint.c:3124 src/elflint.c:3300
+#: src/elflint.c:3162 src/elflint.c:3338
#, c-format
msgid "section [%2d] '%s': entry %d has wrong version %d\n"
msgstr "sekcja [%2d] „%sâ€: wpis %d ma bÅ‚Ä™dnÄ… wersjÄ™ %d\n"
-#: src/elflint.c:3131 src/elflint.c:3307
+#: src/elflint.c:3169 src/elflint.c:3345
#, c-format
msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
msgstr "sekcja [%2d] „%sâ€: wpis %d ma bÅ‚Ä™dny offset dla danych dodatkowych\n"
-#: src/elflint.c:3141
+#: src/elflint.c:3179
#, c-format
msgid "section [%2d] '%s': entry %d has invalid file reference\n"
msgstr "sekcja [%2d] „%sâ€: symbol %d ma bÅ‚Ä™dne odniesienie do pliku\n"
-#: src/elflint.c:3149
+#: src/elflint.c:3187
#, c-format
msgid "section [%2d] '%s': entry %d references unknown dependency\n"
msgstr "sekcja [%2d] „%sâ€: wpis %d odnosi siÄ™ do nieznanej zależnoÅ›ci\n"
-#: src/elflint.c:3161
+#: src/elflint.c:3199
#, c-format
msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
msgstr "sekcja [%2d] „%sâ€: wpis dodatkowy %d do wpisu %d ma nieznanÄ… flagÄ™\n"
-#: src/elflint.c:3169
+#: src/elflint.c:3207
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
@@ -2994,7 +2989,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: wpis dodatkowy %d do wpisu %d ma nieprawidÅ‚owe "
"odniesienie do nazwy\n"
-#: src/elflint.c:3178
+#: src/elflint.c:3216
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: "
@@ -3003,7 +2998,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: wpis dodatkowy %d do wpisu %d ma bÅ‚Ä™dnÄ… wartość skrótu: "
"%#x, oczekiwano %#x\n"
-#: src/elflint.c:3187
+#: src/elflint.c:3225
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
@@ -3012,19 +3007,19 @@ msgstr ""
"sekcja [%2d] „%sâ€: wpis dodatkowy %d do wpisu %d ma powtórzonÄ… nazwÄ™ wersji "
"„%sâ€\n"
-#: src/elflint.c:3198
+#: src/elflint.c:3236
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
msgstr ""
"sekcja [%2d] „%sâ€: wpis dodatkowy %d do wpisu %d ma bÅ‚Ä™dne nastÄ™pne pole\n"
-#: src/elflint.c:3215 src/elflint.c:3391
+#: src/elflint.c:3253 src/elflint.c:3429
#, c-format
msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
msgstr "sekcja [%2d] „%sâ€: wpis %d ma bÅ‚Ä™dny offset do nastÄ™pnego wpisu\n"
-#: src/elflint.c:3223 src/elflint.c:3399
+#: src/elflint.c:3261 src/elflint.c:3437
#, c-format
msgid ""
"section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says "
@@ -3033,43 +3028,43 @@ msgstr ""
"sekcja [%2d] „%sâ€: wpis %d ma zerowy offset do nastÄ™pnego wpisu, ale sh_info "
"zawiera informacje o większej liczbie wpisów\n"
-#: src/elflint.c:3238
+#: src/elflint.c:3276
#, c-format
msgid "more than one version definition section present\n"
msgstr "obecna jest więcej niż jedna sekcja definicji wersji\n"
-#: src/elflint.c:3285
+#: src/elflint.c:3323
#, c-format
msgid "section [%2d] '%s': more than one BASE definition\n"
msgstr "sekcja [%2d] „%sâ€: jest wiÄ™cej niż jedna definicja BASE\n"
-#: src/elflint.c:3289
+#: src/elflint.c:3327
#, c-format
msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
msgstr "sekcja [%2d] „%sâ€: definicja BASE musi mieć indeks VER_NDX_GLOBAL\n"
-#: src/elflint.c:3295
+#: src/elflint.c:3333
#, c-format
msgid "section [%2d] '%s': entry %d has unknown flag\n"
msgstr "sekcja [%2d] „%sâ€: wpis %d ma nieznanÄ… flagÄ™\n"
-#: src/elflint.c:3322
+#: src/elflint.c:3360
#, c-format
msgid "section [%2d] '%s': entry %d has invalid name reference\n"
msgstr "sekcja [%2d] „%sâ€: wpis %d ma nieprawidÅ‚owe odniesienie do nazwy\n"
-#: src/elflint.c:3329
+#: src/elflint.c:3367
#, c-format
msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
msgstr ""
"sekcja [%2d] „%sâ€: wpis %d ma bÅ‚Ä™dnÄ… wartość skrótu: %#x, oczekiwano %#x\n"
-#: src/elflint.c:3337
+#: src/elflint.c:3375
#, c-format
msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
msgstr "sekcja [%2d] „%sâ€: wpis %d ma powtórzonÄ… nazwÄ™ wersji „%sâ€\n"
-#: src/elflint.c:3357
+#: src/elflint.c:3395
#, c-format
msgid ""
"section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
@@ -3077,51 +3072,51 @@ msgstr ""
"sekcja [%2d] „%sâ€: wpis %d ma nieprawidÅ‚owe odniesienie do nazwy w danych "
"dodatkowych\n"
-#: src/elflint.c:3374
+#: src/elflint.c:3412
#, c-format
msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
msgstr ""
"sekcja [%2d] „%sâ€: wpis %d ma bÅ‚Ä™dne nastÄ™pne pole w danych dodatkowych\n"
-#: src/elflint.c:3407
+#: src/elflint.c:3445
#, c-format
msgid "section [%2d] '%s': no BASE definition\n"
msgstr "sekcja [%2d] „%sâ€: brak definicji BASE\n"
-#: src/elflint.c:3423
+#: src/elflint.c:3461
#, c-format
msgid "section [%2d] '%s': unknown parent version '%s'\n"
msgstr "sekcja [%2d] „%sâ€: nieznana wersja rodzica „%sâ€\n"
-#: src/elflint.c:3448
+#: src/elflint.c:3486
#, c-format
msgid "section [%2d] '%s': empty object attributes section\n"
msgstr "sekcja [%2d] „%sâ€: pusta sekcja atrybutów obiektu\n"
-#: src/elflint.c:3464
+#: src/elflint.c:3502
#, c-format
msgid "section [%2d] '%s': unrecognized attribute format\n"
msgstr "sekcja [%2d] „%sâ€: nierozpoznany format atrybutu\n"
-#: src/elflint.c:3475
+#: src/elflint.c:3513
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute section\n"
msgstr ""
"sekcja [%2d] „%sâ€: offset %zu: pole o zerowej dÅ‚ugoÅ›ci w sekcji atrybutów\n"
-#: src/elflint.c:3484
+#: src/elflint.c:3522
#, c-format
msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
msgstr ""
"sekcja [%2d] „%sâ€: offset %zu: nieprawidÅ‚owa dÅ‚ugość w sekcji atrybutów\n"
-#: src/elflint.c:3496
+#: src/elflint.c:3534
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
msgstr "sekcja [%2d] „%sâ€: offset %zu: niezakoÅ„czony ciÄ…g nazwy producenta\n"
-#: src/elflint.c:3513
+#: src/elflint.c:3551
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
@@ -3129,19 +3124,19 @@ msgstr ""
"sekcja [%2d] „%sâ€: offset %zu: niekoÅ„czÄ…ce siÄ™ ULEB128 w znaczniku podsekcji "
"atrybutów\n"
-#: src/elflint.c:3522
+#: src/elflint.c:3560
#, c-format
msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
msgstr "sekcja [%2d] „%sâ€: offset %zu: skrócona sekcja atrybutów\n"
-#: src/elflint.c:3531
+#: src/elflint.c:3569
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
msgstr ""
"sekcja [%2d] „%sâ€: offset %zu: zerowej dÅ‚ugoÅ›ci pole w podsekcji atrybutów\n"
-#: src/elflint.c:3546
+#: src/elflint.c:3584
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
@@ -3149,7 +3144,7 @@ msgstr ""
"sekcja [%2d] „%sâ€: offset %zu: nieprawidÅ‚owa dÅ‚ugość w podsekcji atrybutów\n"
#. Tag_File
-#: src/elflint.c:3557
+#: src/elflint.c:3595
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
@@ -3157,23 +3152,23 @@ msgstr ""
"sekcja [%2d] „%sâ€: offset %zu: podsekcja atrybutów ma nieoczekiwany znacznik "
"%u\n"
-#: src/elflint.c:3578
+#: src/elflint.c:3616
#, c-format
msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
msgstr ""
"sekcja [%2d] „%sâ€: offset %zu: niekoÅ„czÄ…ce siÄ™ ULEB128 w znaczniku atrybutu\n"
-#: src/elflint.c:3589
+#: src/elflint.c:3627
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
msgstr "sekcja [%2d] „%sâ€: offset %zu: niezakoÅ„czony ciÄ…g w atrybucie\n"
-#: src/elflint.c:3602
+#: src/elflint.c:3640
#, c-format
msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
msgstr "sekcja [%2d] „%sâ€: offset %zu: nierozpoznany znacznik atrybutu %u\n"
-#: src/elflint.c:3606
+#: src/elflint.c:3644
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
@@ -3181,12 +3176,12 @@ msgstr ""
"sekcja [%2d] „%sâ€: offset %zu: atrybut %s ma nierozpoznanÄ… wartość "
"%<PRIu64>\n"
-#: src/elflint.c:3616
+#: src/elflint.c:3654
#, c-format
msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
msgstr "sekcja [%2d] „%sâ€: offset %zu: producent „%s†jest nieznany\n"
-#: src/elflint.c:3622
+#: src/elflint.c:3660
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
@@ -3194,47 +3189,47 @@ msgstr ""
"sekcja [%2d] „%sâ€: offset %zu: dodatkowe bajty po ostatniej sekcji "
"atrybutów\n"
-#: src/elflint.c:3719
+#: src/elflint.c:3758
#, c-format
msgid "cannot get section header of zeroth section\n"
msgstr "nie można uzyskać nagłówka sekcji zerowej\n"
-#: src/elflint.c:3723
+#: src/elflint.c:3762
#, c-format
msgid "zeroth section has nonzero name\n"
msgstr "sekcja zerowa ma niezerowÄ… nazwÄ™\n"
-#: src/elflint.c:3725
+#: src/elflint.c:3764
#, c-format
msgid "zeroth section has nonzero type\n"
msgstr "sekcja zerowa ma niezerowy typ\n"
-#: src/elflint.c:3727
+#: src/elflint.c:3766
#, c-format
msgid "zeroth section has nonzero flags\n"
msgstr "sekcja zerowa ma niezerowe flagi\n"
-#: src/elflint.c:3729
+#: src/elflint.c:3768
#, c-format
msgid "zeroth section has nonzero address\n"
msgstr "sekcja zerowa ma niezerowy adres\n"
-#: src/elflint.c:3731
+#: src/elflint.c:3770
#, c-format
msgid "zeroth section has nonzero offset\n"
msgstr "sekcja zerowa ma niezerowy offset\n"
-#: src/elflint.c:3733
+#: src/elflint.c:3772
#, c-format
msgid "zeroth section has nonzero align value\n"
msgstr "sekcja zerowa ma niezerową wartość wyrównania\n"
-#: src/elflint.c:3735
+#: src/elflint.c:3774
#, c-format
msgid "zeroth section has nonzero entry size value\n"
msgstr "sekcja zerowa ma niezerową wartość rozmiaru wpisu\n"
-#: src/elflint.c:3738
+#: src/elflint.c:3777
#, c-format
msgid ""
"zeroth section has nonzero size value while ELF header has nonzero shnum "
@@ -3243,7 +3238,7 @@ msgstr ""
"sekcja zerowa ma niezerową wartość rozmiaru, a nagłówek ELF ma niezerową "
"wartość shnum\n"
-#: src/elflint.c:3742
+#: src/elflint.c:3781
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
@@ -3252,7 +3247,7 @@ msgstr ""
"sekcja zerowa ma niezerową wartość dowiązań, a nagłówek ELF nie wskazuje "
"przepełnienia w shstrndx\n"
-#: src/elflint.c:3746
+#: src/elflint.c:3785
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
@@ -3261,46 +3256,46 @@ msgstr ""
"sekcja zerowa ma niezerową wartość dowiązań, a nagłówek ELF nie wskazuje "
"przepełnienia w phnum\n"
-#: src/elflint.c:3764
+#: src/elflint.c:3803
#, c-format
msgid "cannot get section header for section [%2zu] '%s': %s\n"
msgstr "nie można uzyskać nagłówka sekcji dla sekcji [%2zu] „%sâ€: %s\n"
-#: src/elflint.c:3773
+#: src/elflint.c:3812
#, c-format
msgid "section [%2zu]: invalid name\n"
msgstr "sekcja [%2zu]: nieprawidłowa nazwa\n"
-#: src/elflint.c:3800
+#: src/elflint.c:3839
#, c-format
msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
msgstr "sekcja [%2d] „%s†ma błędny typ: oczekiwano %s, jest %s\n"
-#: src/elflint.c:3817
+#: src/elflint.c:3856
#, c-format
msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
msgstr "sekcja [%2zu] „%s†ma błędne flagi: oczekiwano %s, jest %s\n"
-#: src/elflint.c:3835
+#: src/elflint.c:3874
#, c-format
msgid ""
"section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
msgstr ""
"sekcja [%2zu] „%s†ma błędne flagi: oczekiwano %s i być może %s, jest %s\n"
-#: src/elflint.c:3852
+#: src/elflint.c:3891
#, c-format
msgid "section [%2zu] '%s' present in object file\n"
msgstr "sekcja [%2zu] „%s†jest obecna w pliku obiektu\n"
-#: src/elflint.c:3858 src/elflint.c:3890
+#: src/elflint.c:3897 src/elflint.c:3929
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
msgstr ""
"sekcja [%2zu] „%s†ma flagę SHF_ALLOC, ale nie ma segmentu wczytywalnego\n"
-#: src/elflint.c:3863 src/elflint.c:3895
+#: src/elflint.c:3902 src/elflint.c:3934
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
@@ -3308,7 +3303,7 @@ msgid ""
msgstr ""
"sekcja [%2zu] „%s†nie ma flagi SHF_ALLOC, ale są segmenty wczytywalne\n"
-#: src/elflint.c:3871
+#: src/elflint.c:3910
#, c-format
msgid ""
"section [%2zu] '%s' is extension section index table in non-object file\n"
@@ -3316,22 +3311,22 @@ msgstr ""
"sekcja [%2zu] „%s†jest tabelą indeksów sekcji rozszerzeń w pliku "
"nieobiektowym\n"
-#: src/elflint.c:3914
+#: src/elflint.c:3953
#, c-format
msgid "section [%2zu] '%s': size not multiple of entry size\n"
msgstr "sekcja [%2zu] „%sâ€: rozmiar nie jest wielokrotnoÅ›ciÄ… rozmiaru wpisu\n"
-#: src/elflint.c:3919
+#: src/elflint.c:3958
#, c-format
msgid "cannot get section header\n"
msgstr "nie można uzyskać nagłówka sekcji\n"
-#: src/elflint.c:3929
+#: src/elflint.c:3968
#, c-format
msgid "section [%2zu] '%s' has unsupported type %d\n"
msgstr "sekcja [%2zu] „%s†ma nieobsługiwany typ %d\n"
-#: src/elflint.c:3949
+#: src/elflint.c:3988
#, c-format
msgid ""
"section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
@@ -3339,74 +3334,74 @@ msgstr ""
"sekcja [%2zu] „%s†zawiera nieprawidłowe flagi dla konkretnego procesora "
"%#<PRIx64>\n"
-#: src/elflint.c:3959
+#: src/elflint.c:3998
#, c-format
msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
msgstr "sekcja [%2zu] „%s†zawiera nieznane flagi %#<PRIx64>\n"
-#: src/elflint.c:3967
+#: src/elflint.c:4006
#, c-format
msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
msgstr ""
"sekcja [%2zu] „%sâ€: adres sekcji danych lokalnych dla wÄ…tków nie jest zerem\n"
-#: src/elflint.c:3977
+#: src/elflint.c:4016
#, c-format
msgid "section [%2zu] '%s': allocated section cannot be compressed\n"
msgstr "sekcja [%2zu] „%sâ€: nie można skompresować przydzielonej sekcji\n"
-#: src/elflint.c:3982
+#: src/elflint.c:4021
#, c-format
msgid "section [%2zu] '%s': nobits section cannot be compressed\n"
msgstr "sekcja [%2zu] „%sâ€: nie można skompresować sekcji „nobitsâ€\n"
-#: src/elflint.c:3988
+#: src/elflint.c:4027
#, c-format
msgid ""
"section [%2zu] '%s': compressed section with no compression header: %s\n"
msgstr "sekcja [%2zu] „%sâ€: skompresowana sekcja bez nagłówka kompresji: %s\n"
-#: src/elflint.c:3994
+#: src/elflint.c:4033
#, c-format
msgid "section [%2zu] '%s': invalid section reference in link value\n"
msgstr ""
"sekcja [%2zu] „%sâ€: nieprawidÅ‚owe odwoÅ‚anie do sekcji w wartoÅ›ci dowiÄ…zania\n"
-#: src/elflint.c:3999
+#: src/elflint.c:4038
#, c-format
msgid "section [%2zu] '%s': invalid section reference in info value\n"
msgstr ""
"sekcja [%2zu] „%sâ€: nieprawidÅ‚owe odwoÅ‚anie do sekcji w wartoÅ›ci "
"informacyjnej\n"
-#: src/elflint.c:4006
+#: src/elflint.c:4045
#, c-format
msgid "section [%2zu] '%s': strings flag set without merge flag\n"
msgstr "sekcja [%2zu] „%sâ€: flaga ciÄ…gów jest ustawiona bez flagi merge\n"
-#: src/elflint.c:4011
+#: src/elflint.c:4050
#, c-format
msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
msgstr ""
"sekcja [%2zu] „%sâ€: flaga merge jest ustawiona, ale rozmiar wpisu jest "
"zerowy\n"
-#: src/elflint.c:4030
+#: src/elflint.c:4069
#, c-format
msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
msgstr "sekcja [%2zu] „%s†ma nieoczekiwany typ %d dla sekcji wykonywalnej\n"
-#: src/elflint.c:4039
+#: src/elflint.c:4078
#, c-format
msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n"
msgstr "sekcja [%2zu] „%s†musi być typu NOBITS w plikach debuginfo\n"
-#: src/elflint.c:4046
+#: src/elflint.c:4085
#, c-format
msgid "section [%2zu] '%s' is both executable and writable\n"
msgstr "sekcja [%2zu] „%s†jest wykonywalne i zapisywalne\n"
-#: src/elflint.c:4077
+#: src/elflint.c:4116
#, c-format
msgid ""
"section [%2zu] '%s' not fully contained in segment of program header entry "
@@ -3415,7 +3410,7 @@ msgstr ""
"sekcja [%2zu] „%s†nie jest w całości zawarta w segmencie wpisu %d nagłówka "
"programu\n"
-#: src/elflint.c:4087
+#: src/elflint.c:4126
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -3424,7 +3419,7 @@ msgstr ""
"sekcja [%2zu] „%s†ma typ NOBITS, a jest odczytywana z pliku w segmencie "
"wpisu %d nagłówka programu\n"
-#: src/elflint.c:4113
+#: src/elflint.c:4152
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -3433,7 +3428,7 @@ msgstr ""
"sekcja [%2zu] „%s†ma typ NOBITS, ale jest odczytywana z pliku w segmencie "
"wpisu %d nagłówka programu, a zawartość pliku jest niezerowa\n"
-#: src/elflint.c:4124
+#: src/elflint.c:4163
#, c-format
msgid ""
"section [%2zu] '%s' has not type NOBITS but is not read from the file in "
@@ -3442,17 +3437,17 @@ msgstr ""
"sekcja [%2zu] „%s†nie ma typu NOBITS, a nie jest odczytywana z pliku "
"w segmencie wpisu %d nagłówka programu\n"
-#: src/elflint.c:4135
+#: src/elflint.c:4174
#, c-format
msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
msgstr "sekcja [%2zu] „%s†jest wykonywalne w segmencie niewykonywalnym %d\n"
-#: src/elflint.c:4145
+#: src/elflint.c:4184
#, c-format
msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
msgstr "sekcja [%2zu] „%s†jest zapisywalne w niezapisywalnym segmencie %d\n"
-#: src/elflint.c:4155
+#: src/elflint.c:4194
#, c-format
msgid ""
"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
@@ -3460,7 +3455,7 @@ msgstr ""
"sekcja [%2zu] „%sâ€: ma flagÄ™ alloc, ale sekcja nie jest w żadnym segmencie "
"wczytywalnym\n"
-#: src/elflint.c:4161
+#: src/elflint.c:4200
#, c-format
msgid ""
"section [%2zu] '%s': ELF header says this is the section header string table "
@@ -3469,7 +3464,7 @@ msgstr ""
"sekcja [%2zu] „%sâ€: wedÅ‚ug nagłówka ELF to jest tabela ciÄ…gów nagłówków "
"sekcji, ale typ nie jest SHT_TYPE\n"
-#: src/elflint.c:4169
+#: src/elflint.c:4208
#, c-format
msgid ""
"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
@@ -3477,17 +3472,17 @@ msgstr ""
"sekcja [%2zu] „%sâ€: pliki relokowalne nie mogÄ… mieć tabeli symboli "
"dynamicznych\n"
-#: src/elflint.c:4220
+#: src/elflint.c:4263
#, c-format
msgid "more than one version symbol table present\n"
msgstr "obecna jest więcej niż jedna tabela symboli wersji\n"
-#: src/elflint.c:4243
+#: src/elflint.c:4286
#, c-format
msgid "INTERP program header entry but no .interp section\n"
msgstr "jest wpis nagłówka programu INTERP, ale nie ma sekcji .interp\n"
-#: src/elflint.c:4254
+#: src/elflint.c:4297
#, c-format
msgid ""
"loadable segment [%u] is executable but contains no executable sections\n"
@@ -3495,14 +3490,14 @@ msgstr ""
"wczytywalny segment [%u] jest wykonywalny, ale nie zawiera wykonywalnych "
"sekcji\n"
-#: src/elflint.c:4260
+#: src/elflint.c:4303
#, c-format
msgid "loadable segment [%u] is writable but contains no writable sections\n"
msgstr ""
"wczytywalny segment [%u] jest zapisywalny, ale nie zawiera zapisywalnych "
"sekcji\n"
-#: src/elflint.c:4271
+#: src/elflint.c:4314
#, c-format
msgid ""
"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
@@ -3511,23 +3506,23 @@ msgstr ""
"brak sekcji .gnu.versym, ale istnieje sekcja .gnu.versym_d lub .gnu."
"versym_r\n"
-#: src/elflint.c:4284
+#: src/elflint.c:4327
#, c-format
msgid "duplicate version index %d\n"
msgstr "powtórzony indeks wersji %d\n"
-#: src/elflint.c:4298
+#: src/elflint.c:4341
#, c-format
msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
msgstr "sekcja .gnu.versym istnieje bez .gnu.versym_d lub .gnu.versym_r\n"
-#: src/elflint.c:4347
+#: src/elflint.c:4390
#, c-format
msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
msgstr ""
"phdr[%d]: nieznany typ notatki pliku core %<PRIu32> pod offsetem %<PRIu64>\n"
-#: src/elflint.c:4351
+#: src/elflint.c:4394
#, c-format
msgid ""
"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
@@ -3535,7 +3530,7 @@ msgstr ""
"sekcja [%2d]: „%sâ€: nieznany typ notatki pliku core %<PRIu32> pod offsetem "
"%zu\n"
-#: src/elflint.c:4407
+#: src/elflint.c:4450
#, c-format
msgid ""
"phdr[%d]: unknown object file note type %<PRIu32> with owner name '%s' at "
@@ -3544,7 +3539,7 @@ msgstr ""
"phdr[%d]: nieznany typ notatki pliku obiektu %<PRIu32> o nazwie właściciela "
"„%s†pod offsetem %zu\n"
-#: src/elflint.c:4412
+#: src/elflint.c:4455
#, c-format
msgid ""
"section [%2d] '%s': unknown object file note type %<PRIu32> with owner name "
@@ -3553,37 +3548,37 @@ msgstr ""
"sekcja [%2d] „%sâ€: nieznany typ notatki pliku obiektu %<PRIu32> o nazwie "
"właściciela „%s†pod offsetem %zu\n"
-#: src/elflint.c:4431
+#: src/elflint.c:4474
#, c-format
msgid "phdr[%d]: no note entries defined for the type of file\n"
msgstr "phdr[%d]: brak określonych wpisów notatek dla typu pliku\n"
-#: src/elflint.c:4451
+#: src/elflint.c:4494
#, c-format
msgid "phdr[%d]: cannot get content of note section: %s\n"
msgstr "phdr[%d]: nie można uzyskać zawartości sekcji notatki: %s\n"
-#: src/elflint.c:4454
+#: src/elflint.c:4497
#, c-format
msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
msgstr "phdr[%d]: dodatkowe %<PRIu64> B po ostatniej notatce\n"
-#: src/elflint.c:4475
+#: src/elflint.c:4518
#, c-format
msgid "section [%2d] '%s': no note entries defined for the type of file\n"
msgstr "sekcja [%2d] „%sâ€: brak okreÅ›lonych wpisów notatek dla typu pliku\n"
-#: src/elflint.c:4482
+#: src/elflint.c:4525
#, c-format
msgid "section [%2d] '%s': cannot get content of note section\n"
msgstr "sekcja [%2d] „%sâ€: nie można uzyskać zawartoÅ›ci sekcji notatek\n"
-#: src/elflint.c:4485
+#: src/elflint.c:4528
#, c-format
msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
msgstr "sekcja [%2d] „%sâ€: dodatkowe %<PRIu64> B po ostatniej notatce\n"
-#: src/elflint.c:4503
+#: src/elflint.c:4546
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
@@ -3591,135 +3586,135 @@ msgstr ""
"tylko pliki wykonywalne, obiekty współdzielone i pliki core mogą mieć "
"nagłówki programu\n"
-#: src/elflint.c:4518
+#: src/elflint.c:4561
#, c-format
msgid "cannot get program header entry %d: %s\n"
msgstr "nie można uzyskać wpisu nagłówka programu %d: %s\n"
-#: src/elflint.c:4528
+#: src/elflint.c:4571
#, c-format
msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
msgstr ""
"wpis nagłówka programu %d: nieznany typ wpisu nagłówka programu %#<PRIx64>\n"
-#: src/elflint.c:4539
+#: src/elflint.c:4582
#, c-format
msgid "more than one INTERP entry in program header\n"
msgstr "więcej niż jeden wpis INTERP w nagłówku programu\n"
-#: src/elflint.c:4547
+#: src/elflint.c:4590
#, c-format
msgid "more than one TLS entry in program header\n"
msgstr "więcej niż jeden wpis TLS w nagłówku programu\n"
-#: src/elflint.c:4554
+#: src/elflint.c:4597
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr "statyczny plik wykonywalny nie może mieć sekcji dynamicznych\n"
-#: src/elflint.c:4568
+#: src/elflint.c:4611
#, c-format
msgid "dynamic section reference in program header has wrong offset\n"
msgstr "odniesienie sekcji dynamicznej w nagłówku programu ma błędny offset\n"
-#: src/elflint.c:4571
+#: src/elflint.c:4614
#, c-format
msgid "dynamic section size mismatch in program and section header\n"
msgstr "różne rozmiary sekcji dynamicznej w nagłówku programu i sekcji\n"
-#: src/elflint.c:4581
+#: src/elflint.c:4624
#, c-format
msgid "more than one GNU_RELRO entry in program header\n"
msgstr "więcej niż jeden wpis GNU_RELRO w nagłówku programu\n"
-#: src/elflint.c:4602
+#: src/elflint.c:4645
#, c-format
msgid "loadable segment GNU_RELRO applies to is not writable\n"
msgstr "wczytywalny segment wskazywany przez GNU_RELRO nie jest zapisywalny\n"
-#: src/elflint.c:4613
+#: src/elflint.c:4656
#, c-format
msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
msgstr "flagi wczytywalnego segmentu [%u] nie pasujÄ… do flag GNU_RELRO [%u]\n"
-#: src/elflint.c:4620
+#: src/elflint.c:4663
#, c-format
msgid ""
"GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
msgstr ""
"flagi GNU_RELRO [%u] nie sÄ… podzbiorem flag wczytywalnego segmentu [%u]\n"
-#: src/elflint.c:4629 src/elflint.c:4652
+#: src/elflint.c:4672 src/elflint.c:4695
#, c-format
msgid "%s segment not contained in a loaded segment\n"
msgstr "segment %s nie zawiera siÄ™ we wczytywalnym segmencie\n"
-#: src/elflint.c:4658
+#: src/elflint.c:4701
#, c-format
msgid "program header offset in ELF header and PHDR entry do not match"
msgstr ""
"offsety nagłówka programu w nagłówku ELF i wpisie PHDR nie zgadzają się"
-#: src/elflint.c:4685
+#: src/elflint.c:4728
#, c-format
msgid "call frame search table reference in program header has wrong offset\n"
msgstr ""
"odniesienie tabeli wyszukiwania ramki wywołania w nagłówku programu ma "
"błędny offset\n"
-#: src/elflint.c:4688
+#: src/elflint.c:4731
#, c-format
msgid "call frame search table size mismatch in program and section header\n"
msgstr ""
"różne rozmiary tabel wyszukiwania ramki wywołania w nagłówku programu "
"i sekcji\n"
-#: src/elflint.c:4701
+#: src/elflint.c:4744
#, c-format
msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
msgstr "PT_GNU_EH_FRAME jest obecne, ale brak sekcji .eh_frame_hdr\n"
-#: src/elflint.c:4709
+#: src/elflint.c:4752
#, c-format
msgid "call frame search table must be allocated\n"
msgstr "tabela wyszukiwania ramki wywołania musi być przydzielona\n"
-#: src/elflint.c:4712
+#: src/elflint.c:4755
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
msgstr "sekcja [%2zu] „%sâ€: musi być przydzielona\n"
-#: src/elflint.c:4716
+#: src/elflint.c:4759
#, c-format
msgid "call frame search table must not be writable\n"
msgstr "tabela wyszukiwania ramki wywołania nie może być zapisywalna\n"
-#: src/elflint.c:4719
+#: src/elflint.c:4762
#, c-format
msgid "section [%2zu] '%s' must not be writable\n"
msgstr "sekcja [%2zu] „%s†nie może być zapisywalna\n"
-#: src/elflint.c:4724
+#: src/elflint.c:4767
#, c-format
msgid "call frame search table must not be executable\n"
msgstr "tabela wyszukiwania ramki wywołania nie może być wykonywalna\n"
-#: src/elflint.c:4727
+#: src/elflint.c:4770
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
msgstr "sekcja [%2zu] „%s†nie może być wykonywalna\n"
-#: src/elflint.c:4741
+#: src/elflint.c:4784
#, c-format
msgid "program header entry %d: file size greater than memory size\n"
msgstr "wpis nagłówka programu %d: rozmiar pliku większy niż rozmiar pamięci\n"
-#: src/elflint.c:4748
+#: src/elflint.c:4791
#, c-format
msgid "program header entry %d: alignment not a power of 2\n"
msgstr "wpis nagłówka programu %d: wyrównanie nie jest potęgą 2\n"
-#: src/elflint.c:4751
+#: src/elflint.c:4794
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
@@ -3728,7 +3723,7 @@ msgstr ""
"wpis nagłówka programu %d: offset w pliku i adres wirtualny nie są "
"wielokrotnością wyrównania\n"
-#: src/elflint.c:4764
+#: src/elflint.c:4807
#, c-format
msgid ""
"executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME "
@@ -3737,17 +3732,17 @@ msgstr ""
"plik wykonywalny/DSO z sekcją .eh_frame_hdr nie ma wpisu nagłówka programu "
"PT_GNU_EH_FRAME"
-#: src/elflint.c:4798
+#: src/elflint.c:4841
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr "nie można odczytać nagłówka ELF: %s\n"
-#: src/elflint.c:4810
+#: src/elflint.c:4853
#, c-format
msgid "cannot create backend for ELF file\n"
msgstr "nie można utworzyć zaplecza dla pliku ELF\n"
-#: src/elflint.c:4831
+#: src/elflint.c:4874
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr "flaga relokacji tekstu jest ustawiona, ale niepotrzebna\n"
@@ -3960,7 +3955,7 @@ msgid "%s: INTERNAL ERROR %d (%s): %s"
msgstr "%s: BÅÄ„D WEWNĘTRZNY %d (%s): %s"
#: src/nm.c:380 src/nm.c:392 src/size.c:287 src/size.c:296 src/size.c:307
-#: src/strip.c:2766
+#: src/strip.c:2763
#, c-format
msgid "while closing '%s'"
msgstr "podczas zamykania „%sâ€"
@@ -4003,13 +3998,13 @@ msgstr "%s%s%s: nie rozpoznano formatu pliku"
msgid "cannot create search tree"
msgstr "nie można utworzyć drzewa wyszukiwania"
-#: src/nm.c:742 src/nm.c:1234 src/objdump.c:778 src/readelf.c:663
-#: src/readelf.c:1484 src/readelf.c:1633 src/readelf.c:1860 src/readelf.c:2097
-#: src/readelf.c:2286 src/readelf.c:2466 src/readelf.c:2544 src/readelf.c:2809
-#: src/readelf.c:2884 src/readelf.c:2970 src/readelf.c:3565 src/readelf.c:3613
-#: src/readelf.c:3682 src/readelf.c:11620 src/readelf.c:12803
-#: src/readelf.c:13013 src/readelf.c:13081 src/size.c:396 src/size.c:467
-#: src/strip.c:1093
+#: src/nm.c:742 src/nm.c:1234 src/objdump.c:778 src/readelf.c:685
+#: src/readelf.c:1506 src/readelf.c:1655 src/readelf.c:1882 src/readelf.c:2123
+#: src/readelf.c:2312 src/readelf.c:2482 src/readelf.c:2604 src/readelf.c:2854
+#: src/readelf.c:3140 src/readelf.c:3215 src/readelf.c:3301 src/readelf.c:3896
+#: src/readelf.c:3944 src/readelf.c:4013 src/readelf.c:12029
+#: src/readelf.c:13212 src/readelf.c:13422 src/readelf.c:13490 src/size.c:396
+#: src/size.c:467 src/strip.c:1093
#, c-format
msgid "cannot get section header string table index"
msgstr "nie można uzyskać indeksu tabeli ciągów nagłówków sekcji"
@@ -4118,7 +4113,7 @@ msgstr "Wyświetla tylko informacje o sekcji NAZWA."
msgid "Show information from FILEs (a.out by default)."
msgstr "Wyświetla informacje z PLIKÓW (domyślnie a.out)."
-#: src/objdump.c:217 src/readelf.c:608
+#: src/objdump.c:217 src/readelf.c:630
msgid "No operation specified.\n"
msgstr "Nie podano działania.\n"
@@ -4127,11 +4122,11 @@ msgstr "Nie podano działania.\n"
msgid "while close `%s'"
msgstr "podczas zamykania „%sâ€"
-#: src/objdump.c:362 src/readelf.c:2192 src/readelf.c:2383
+#: src/objdump.c:362 src/readelf.c:2218 src/readelf.c:2409
msgid "INVALID SYMBOL"
msgstr "NIEPRAWIDÅOWY SYMBOL"
-#: src/objdump.c:377 src/readelf.c:2226 src/readelf.c:2419
+#: src/objdump.c:377 src/readelf.c:2252 src/readelf.c:2445
msgid "INVALID SECTION"
msgstr "NIEPRAWIDÅOWA SEKCJA"
@@ -4188,18 +4183,18 @@ msgstr "„%s†nie jest archiwum"
msgid "error while freeing sub-ELF descriptor: %s"
msgstr "błąd podczas zwalniania deskryptora pod-ELF: %s"
-#: src/readelf.c:96
+#: src/readelf.c:97
msgid "ELF input selection:"
msgstr "Wybór wyjścia ELF:"
-#: src/readelf.c:98
+#: src/readelf.c:99
msgid ""
"Use the named SECTION (default .gnu_debugdata) as (compressed) ELF input data"
msgstr ""
"Używa podanej SEKCJI (domyślnie .gnu_debugdata) jako (skompresowanych) "
"danych wejściowych ELF"
-#: src/readelf.c:101
+#: src/readelf.c:102
msgid ""
"Used with -w to find the skeleton Compile Units in FILE associated with the "
"Split Compile units in a .dwo input file"
@@ -4207,71 +4202,71 @@ msgstr ""
"Używane z opcją -w do wyszukiwania szkieletów jednostek kompilacji w PLIKU "
"powiązanych z jednostkami podzielonej kompilacji w pliku wejściowym .dwo"
-#: src/readelf.c:103
+#: src/readelf.c:104
msgid "ELF output selection:"
msgstr "Wybór wyjścia ELF:"
-#: src/readelf.c:105
+#: src/readelf.c:106
msgid "All these plus -p .strtab -p .dynstr -p .comment"
msgstr "Wszystkie te plus -p .strtab -p .dynstr -p .comment"
-#: src/readelf.c:106
+#: src/readelf.c:107
msgid "Display the dynamic segment"
msgstr "Wyświetla segment dynamiczny"
-#: src/readelf.c:107
+#: src/readelf.c:108
msgid "Display the ELF file header"
msgstr "Wyświetla nagłówek pliku ELF"
-#: src/readelf.c:109
+#: src/readelf.c:110
msgid "Display histogram of bucket list lengths"
msgstr "Wyświetla histogram długości list kubełków"
-#: src/readelf.c:110
+#: src/readelf.c:111
msgid "Display the program headers"
msgstr "Wyświetla nagłówki programu"
-#: src/readelf.c:112
+#: src/readelf.c:113
msgid "Display relocations"
msgstr "Wyświetla relokacje"
-#: src/readelf.c:113
+#: src/readelf.c:114
msgid "Display the section groups"
msgstr "Wyświetla grupy sekcji"
-#: src/readelf.c:114
+#: src/readelf.c:115
msgid "Display the sections' headers"
msgstr "Wyświetla nagłówki sekcji"
-#: src/readelf.c:117
+#: src/readelf.c:118
msgid "Display the symbol table sections"
msgstr "Wyświetla sekcje tabeli symboli"
-#: src/readelf.c:120
+#: src/readelf.c:121
msgid "Display (only) the dynamic symbol table"
msgstr "Wyświetla (tylko) tabelę symboli dynamicznych"
-#: src/readelf.c:121
+#: src/readelf.c:122
msgid "Display versioning information"
msgstr "Wyświetla informacje o wersji"
-#: src/readelf.c:122
+#: src/readelf.c:123
msgid "Display the ELF notes"
msgstr "Wyświetla notatki ELF"
-#: src/readelf.c:124
+#: src/readelf.c:125
msgid "Display architecture specific information, if any"
msgstr "Wyświetla informacje dla konkretnej architektury, jeśli są"
-#: src/readelf.c:126
+#: src/readelf.c:127
msgid "Display sections for exception handling"
msgstr "Wyświetla sekcje do obsługi wyjątków"
-#: src/readelf.c:128
+#: src/readelf.c:129
msgid "Additional output selection:"
msgstr "Dodatkowy wybór wyjścia:"
-#: src/readelf.c:130
+#: src/readelf.c:131
msgid ""
"Display DWARF section content. SECTION can be one of abbrev, addr, aranges, "
"decodedaranges, frame, gdb_index, info, info+, loc, line, decodedline, "
@@ -4281,42 +4276,42 @@ msgstr ""
"aranges, decodedaranges, frame, gdb_index, info, info+, loc, line, "
"decodedline, ranges, pubnames, str, macinfo, macro lub exception"
-#: src/readelf.c:134
+#: src/readelf.c:135
msgid "Dump the uninterpreted contents of SECTION, by number or name"
msgstr "Zrzuca niezinterpretowaną zawartość SEKCJI, według liczny lub nazwy"
-#: src/readelf.c:136
+#: src/readelf.c:137
msgid "Print string contents of sections"
msgstr "Wyświetla zawartość ciągów sekcji"
-#: src/readelf.c:139
+#: src/readelf.c:140
msgid "Display the symbol index of an archive"
msgstr "Wyświetla indeks symboli archiwum"
-#: src/readelf.c:141
+#: src/readelf.c:142
msgid "Use the dynamic segment when possible for displaying info"
msgstr ""
-#: src/readelf.c:143
+#: src/readelf.c:144
msgid "Output control:"
msgstr "Kontrola wyjścia:"
-#: src/readelf.c:145
+#: src/readelf.c:146
msgid "Do not find symbol names for addresses in DWARF data"
msgstr "Bez odnajdywania nazw symboli dla adresów w danych DWARF"
-#: src/readelf.c:147
+#: src/readelf.c:148
msgid ""
"Display just offsets instead of resolving values to addresses in DWARF data"
msgstr ""
"Wyświetla tylko offsety zamiast rozwiązywania wartości na adresy w danych "
"DWARF"
-#: src/readelf.c:149
+#: src/readelf.c:150
msgid "Ignored for compatibility (lines always wide)"
msgstr "Ignorowane dla zgodności (wiersze są zawsze szerokie)"
-#: src/readelf.c:151
+#: src/readelf.c:152
msgid ""
"Show compression information for compressed sections (when used with -S); "
"decompress section before dumping data (when used with -p or -x)"
@@ -4326,40 +4321,40 @@ msgstr ""
"używane z opcją -p lub -x)"
#. Short description of program.
-#: src/readelf.c:156
+#: src/readelf.c:157
msgid "Print information from ELF file in human-readable form."
msgstr "Wyświetla informacje z pliku ELF w postaci czytelnej dla człowieka."
#. Look up once.
-#: src/readelf.c:373
+#: src/readelf.c:395
msgid "yes"
msgstr "tak"
-#: src/readelf.c:374
+#: src/readelf.c:396
msgid "no"
msgstr "nie"
-#: src/readelf.c:576
+#: src/readelf.c:598
#, c-format
msgid "Unknown DWARF debug section `%s'.\n"
msgstr "Nieznana sekcja debugowania DWARF „%sâ€.\n"
-#: src/readelf.c:647 src/readelf.c:758
+#: src/readelf.c:669 src/readelf.c:780
#, c-format
msgid "cannot generate Elf descriptor: %s"
msgstr "nie można utworzyć deskryptora ELF: %s"
-#: src/readelf.c:654 src/readelf.c:980 src/strip.c:1188
+#: src/readelf.c:676 src/readelf.c:1002 src/strip.c:1188
#, c-format
msgid "cannot determine number of sections: %s"
msgstr "nie można określić liczby sekcji: %s"
-#: src/readelf.c:672 src/readelf.c:1300 src/readelf.c:1508
+#: src/readelf.c:694 src/readelf.c:1322 src/readelf.c:1530
#, c-format
msgid "cannot get section: %s"
msgstr "nie można uzyskać sekcji: %s"
-#: src/readelf.c:681 src/readelf.c:1307 src/readelf.c:1515 src/readelf.c:13033
+#: src/readelf.c:703 src/readelf.c:1329 src/readelf.c:1537 src/readelf.c:13442
#: src/unstrip.c:396 src/unstrip.c:427 src/unstrip.c:490 src/unstrip.c:610
#: src/unstrip.c:631 src/unstrip.c:671 src/unstrip.c:887 src/unstrip.c:1222
#: src/unstrip.c:1349 src/unstrip.c:1373 src/unstrip.c:1429 src/unstrip.c:1470
@@ -4368,120 +4363,120 @@ msgstr "nie można uzyskać sekcji: %s"
msgid "cannot get section header: %s"
msgstr "nie można uzyskać nagłówka sekcji: %s"
-#: src/readelf.c:689
+#: src/readelf.c:711
#, c-format
msgid "cannot get section name"
msgstr "nie można uzyskać nazwy sekcji"
-#: src/readelf.c:698 src/readelf.c:6833 src/readelf.c:10887 src/readelf.c:10989
-#: src/readelf.c:11173
+#: src/readelf.c:720 src/readelf.c:7176 src/readelf.c:11230 src/readelf.c:11332
+#: src/readelf.c:11516
#, c-format
msgid "cannot get %s content: %s"
msgstr "nie można uzyskać zwartości %s: %s"
-#: src/readelf.c:714
+#: src/readelf.c:736
#, c-format
msgid "cannot create temp file '%s'"
msgstr "nie można utworzyć pliku tymczasowego „%sâ€"
-#: src/readelf.c:723
+#: src/readelf.c:745
#, c-format
msgid "cannot write section data"
msgstr "nie można zapisać danych sekcji"
-#: src/readelf.c:729 src/readelf.c:746 src/readelf.c:775
+#: src/readelf.c:751 src/readelf.c:768 src/readelf.c:797
#, c-format
msgid "error while closing Elf descriptor: %s"
msgstr "błąd podczas zamykania deskryptora ELF: %s"
-#: src/readelf.c:736
+#: src/readelf.c:758
#, c-format
msgid "error while rewinding file descriptor"
msgstr "błąd podczas przewijania deskryptora pliku"
-#: src/readelf.c:770
+#: src/readelf.c:792
#, c-format
msgid "'%s' is not an archive, cannot print archive index"
msgstr "„%s†nie jest archiwum, nie można wyświetlić indeksu archiwum"
-#: src/readelf.c:874
+#: src/readelf.c:896
#, c-format
msgid "cannot stat input file"
msgstr "nie można wykonać stat na pliku wejściowym"
-#: src/readelf.c:876
+#: src/readelf.c:898
#, c-format
msgid "input file is empty"
msgstr "plik wejściowy jest pusty"
-#: src/readelf.c:878
+#: src/readelf.c:900
#, c-format
msgid "failed reading '%s': %s"
msgstr "odczytanie „%s†się nie powiodło: %s"
-#: src/readelf.c:907
+#: src/readelf.c:929
#, c-format
msgid "No such section '%s' in '%s'"
msgstr "Brak sekcji „%s†w „%sâ€"
-#: src/readelf.c:966
+#: src/readelf.c:988
#, c-format
msgid "cannot read ELF header: %s"
msgstr "nie można odczytać nagłówka ELF: %s"
-#: src/readelf.c:974
+#: src/readelf.c:996
#, c-format
msgid "cannot create EBL handle"
msgstr "nie można utworzyć uchwytu EBL"
-#: src/readelf.c:985
+#: src/readelf.c:1007
#, c-format
msgid "cannot determine number of program headers: %s"
msgstr "nie można określić liczby nagłówków programu: %s"
-#: src/readelf.c:1017
+#: src/readelf.c:1039
#, c-format
msgid "cannot read ELF: %s"
msgstr "nie można odczytać danych ELF: %s"
-#: src/readelf.c:1050
+#: src/readelf.c:1072
#, fuzzy
#| msgid "cannot get section: %s"
msgid "cannot find section"
msgstr "nie można uzyskać sekcji: %s"
-#: src/readelf.c:1087
+#: src/readelf.c:1109
msgid "NONE (None)"
msgstr "NONE (żaden)"
-#: src/readelf.c:1088
+#: src/readelf.c:1110
msgid "REL (Relocatable file)"
msgstr "REL (plik relokowalny)"
-#: src/readelf.c:1089
+#: src/readelf.c:1111
msgid "EXEC (Executable file)"
msgstr "EXEC (plik wykonywalny)"
-#: src/readelf.c:1090
+#: src/readelf.c:1112
msgid "DYN (Shared object file)"
msgstr "DYN (plik obiektu współdzielonego)"
-#: src/readelf.c:1091
+#: src/readelf.c:1113
msgid "CORE (Core file)"
msgstr "CORE (plik core)"
-#: src/readelf.c:1096
+#: src/readelf.c:1118
#, c-format
msgid "OS Specific: (%x)\n"
msgstr "Zależny od systemu: (%x)\n"
#. && e_type <= ET_HIPROC always true
-#: src/readelf.c:1098
+#: src/readelf.c:1120
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr "Zależny od procesora: (%x)\n"
-#: src/readelf.c:1108
+#: src/readelf.c:1130
msgid ""
"ELF Header:\n"
" Magic: "
@@ -4489,7 +4484,7 @@ msgstr ""
"Nagłówek ELF:\n"
" Magic: "
-#: src/readelf.c:1112
+#: src/readelf.c:1134
#, c-format
msgid ""
"\n"
@@ -4498,123 +4493,123 @@ msgstr ""
"\n"
" Klasa: %s\n"
-#: src/readelf.c:1117
+#: src/readelf.c:1139
#, c-format
msgid " Data: %s\n"
msgstr " Dane: %s\n"
-#: src/readelf.c:1123
+#: src/readelf.c:1145
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr " Wersja Ident: %hhd %s\n"
-#: src/readelf.c:1125 src/readelf.c:1147
+#: src/readelf.c:1147 src/readelf.c:1169
msgid "(current)"
msgstr "(bieżąca)"
-#: src/readelf.c:1129
+#: src/readelf.c:1151
#, c-format
msgid " OS/ABI: %s\n"
msgstr " System operacyjny/ABI: %s\n"
-#: src/readelf.c:1132
+#: src/readelf.c:1154
#, c-format
msgid " ABI Version: %hhd\n"
msgstr " Wersja ABI: %hhd\n"
-#: src/readelf.c:1135
+#: src/readelf.c:1157
msgid " Type: "
msgstr " Typ: "
-#: src/readelf.c:1140
+#: src/readelf.c:1162
#, c-format
msgid " Machine: %s\n"
msgstr " Komputer: %s\n"
-#: src/readelf.c:1142
+#: src/readelf.c:1164
#, c-format
msgid " Machine: <unknown>: 0x%x\n"
msgstr " Komputer: <nieznany>: 0x%x\n"
-#: src/readelf.c:1145
+#: src/readelf.c:1167
#, c-format
msgid " Version: %d %s\n"
msgstr " Wersja: %d %s\n"
-#: src/readelf.c:1149
+#: src/readelf.c:1171
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr " Adres punktu wejściowego: %#<PRIx64>\n"
-#: src/readelf.c:1152
+#: src/readelf.c:1174
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr " Początek nagłówków programu: %<PRId64> %s\n"
-#: src/readelf.c:1153 src/readelf.c:1156
+#: src/readelf.c:1175 src/readelf.c:1178
msgid "(bytes into file)"
msgstr "(bajtów w pliku)"
-#: src/readelf.c:1155
+#: src/readelf.c:1177
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr " Początek nagłówków sekcji: %<PRId64> %s\n"
-#: src/readelf.c:1158
+#: src/readelf.c:1180
#, c-format
msgid " Flags: %s\n"
msgstr " Flagi: %s\n"
-#: src/readelf.c:1161
+#: src/readelf.c:1183
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr " Rozmiar tego nagłówka: %<PRId16> %s\n"
-#: src/readelf.c:1162 src/readelf.c:1165 src/readelf.c:1182
+#: src/readelf.c:1184 src/readelf.c:1187 src/readelf.c:1204
msgid "(bytes)"
msgstr "(bajtów)"
-#: src/readelf.c:1164
+#: src/readelf.c:1186
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr " Rozmiar wpisów nagłówka programu: %<PRId16> %s\n"
-#: src/readelf.c:1167
+#: src/readelf.c:1189
#, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr " Liczba wpisów nagłówków programu: %<PRId16>"
-#: src/readelf.c:1174
+#: src/readelf.c:1196
#, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr " (%<PRIu32> w [0].sh_info)"
-#: src/readelf.c:1177 src/readelf.c:1194 src/readelf.c:1208
+#: src/readelf.c:1199 src/readelf.c:1216 src/readelf.c:1230
msgid " ([0] not available)"
msgstr " ([0] niedostępny)"
-#: src/readelf.c:1181
+#: src/readelf.c:1203
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr " Rozmiar wpisów nagłówka sekcji: %<PRId16> %s\n"
-#: src/readelf.c:1184
+#: src/readelf.c:1206
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr " Liczba wpisów nagłówków sekcji: %<PRId16>"
-#: src/readelf.c:1191
+#: src/readelf.c:1213
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr " (%<PRIu32> w [0].sh_size)"
#. We managed to get the zeroth section.
-#: src/readelf.c:1204
+#: src/readelf.c:1226
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr " (%<PRIu32> w [0].sh_link)"
-#: src/readelf.c:1212
+#: src/readelf.c:1234
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
@@ -4623,7 +4618,7 @@ msgstr ""
" Indeks tabeli ciągów nagłówków sekcji: XINDEX%s\n"
"\n"
-#: src/readelf.c:1216
+#: src/readelf.c:1238
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
@@ -4632,12 +4627,12 @@ msgstr ""
" Indeks tabeli ciągów nagłówków sekcji: %<PRId16>\n"
"\n"
-#: src/readelf.c:1266 src/readelf.c:1474
+#: src/readelf.c:1288 src/readelf.c:1496
#, c-format
msgid "cannot get number of sections: %s"
msgstr "nie można uzyskać liczby sekcji: %s"
-#: src/readelf.c:1269
+#: src/readelf.c:1291
#, c-format
msgid ""
"There are %zd section headers, starting at offset %#<PRIx64>:\n"
@@ -4646,16 +4641,16 @@ msgstr ""
"Liczba nagłówków sekcji: %zd, rozpoczynających się od offsetu %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:1277
+#: src/readelf.c:1299
#, c-format
msgid "cannot get section header string table index: %s"
msgstr "nie można uzyskać indeksu tabeli ciągów nagłówków sekcji: %s"
-#: src/readelf.c:1280
+#: src/readelf.c:1302
msgid "Section Headers:"
msgstr "Nagłówki sekcji:"
-#: src/readelf.c:1283
+#: src/readelf.c:1305
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
@@ -4663,7 +4658,7 @@ msgstr ""
"[Nr] Nazwa Typ Adres Offset Rozm. ES Flagi Lk "
"Inf Al"
-#: src/readelf.c:1285
+#: src/readelf.c:1307
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
@@ -4671,36 +4666,36 @@ msgstr ""
"[Nr] Nazwa Typ Adres Offset Rozmiar ES "
"Flagi Lk Inf Al"
-#: src/readelf.c:1290
+#: src/readelf.c:1312
msgid " [Compression Size Al]"
msgstr " [Kompresja Rozmiar Al]"
-#: src/readelf.c:1292
+#: src/readelf.c:1314
msgid " [Compression Size Al]"
msgstr " [Kompresja Rozmiar Al]"
-#: src/readelf.c:1370
+#: src/readelf.c:1392
#, c-format
msgid "bad compression header for section %zd: %s"
msgstr "błędny nagłówek kompresji dla sekcji %zd: %s"
-#: src/readelf.c:1381
+#: src/readelf.c:1403
#, c-format
msgid "bad gnu compressed size for section %zd: %s"
msgstr "błędny rozmiar kompresji gnu dla sekcji %zd: %s"
-#: src/readelf.c:1399
+#: src/readelf.c:1421
msgid "Program Headers:"
msgstr "Nagłówki programu:"
-#: src/readelf.c:1401
+#: src/readelf.c:1423
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
" Typ Offset AdresWirt AdresFiz RozmPlik RozmPam Flg "
"Wyrównanie"
-#: src/readelf.c:1404
+#: src/readelf.c:1426
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
@@ -4708,12 +4703,12 @@ msgstr ""
" Typ Offset AdresWirtualny AdresFizyczny RozmPlik "
"RozmPam Flg Wyrównanie"
-#: src/readelf.c:1461
+#: src/readelf.c:1483
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr "\t[Wywołanie interpretera programu: %s]\n"
-#: src/readelf.c:1486
+#: src/readelf.c:1508
msgid ""
"\n"
" Section to Segment mapping:\n"
@@ -4723,12 +4718,12 @@ msgstr ""
" Mapowanie sekcji do segmentów:\n"
" Segment sekcji…"
-#: src/readelf.c:1497 src/unstrip.c:2114 src/unstrip.c:2156 src/unstrip.c:2163
+#: src/readelf.c:1519 src/unstrip.c:2114 src/unstrip.c:2156 src/unstrip.c:2163
#, c-format
msgid "cannot get program header: %s"
msgstr "nie można uzyskać nagłówka programu: %s"
-#: src/readelf.c:1641
+#: src/readelf.c:1663
#, c-format
msgid ""
"\n"
@@ -4746,7 +4741,7 @@ msgstr[2] ""
"\n"
"Grupa sekcji COMDAT [%2zu] „%s†z podpisem „%s†zawiera %zu wpisów:\n"
-#: src/readelf.c:1646
+#: src/readelf.c:1668
#, c-format
msgid ""
"\n"
@@ -4764,32 +4759,32 @@ msgstr[2] ""
"\n"
"Grupa sekcji [%2zu] „%s†z podpisem „%s†zawiera %zu wpisów:\n"
-#: src/readelf.c:1654
+#: src/readelf.c:1676
msgid "<INVALID SYMBOL>"
msgstr "<NIEPRAWIDÅOWY SYMBOL>"
-#: src/readelf.c:1668
+#: src/readelf.c:1690
msgid "<INVALID SECTION>"
msgstr "<NIEPRAWIDÅOWY SEKCJA>"
-#: src/readelf.c:1691 src/readelf.c:2476 src/readelf.c:3581 src/readelf.c:3881
-#: src/readelf.c:12905 src/readelf.c:12912 src/readelf.c:12956
-#: src/readelf.c:12963
+#: src/readelf.c:1713 src/readelf.c:2614 src/readelf.c:3912 src/readelf.c:4212
+#: src/readelf.c:13314 src/readelf.c:13321 src/readelf.c:13365
+#: src/readelf.c:13372
msgid "Couldn't uncompress section"
msgstr "Nie można dekompresować sekcji"
-#: src/readelf.c:1695 src/readelf.c:2481 src/readelf.c:3585
+#: src/readelf.c:1717 src/readelf.c:2619 src/readelf.c:3916
#, c-format
msgid "cannot get section [%zd] header: %s"
msgstr "nie można uzyskać nagłówka sekcji [%zd]: %s"
-#: src/readelf.c:1864 src/readelf.c:2550 src/readelf.c:2815 src/readelf.c:2890
-#: src/readelf.c:3193 src/readelf.c:3267 src/readelf.c:5619
+#: src/readelf.c:1886 src/readelf.c:2860 src/readelf.c:3146 src/readelf.c:3221
+#: src/readelf.c:3524 src/readelf.c:3598 src/readelf.c:5962
#, c-format
msgid "invalid sh_link value in section %zu"
msgstr "nieprawidłowa wartość sh_link w sekcji %zu"
-#: src/readelf.c:1867
+#: src/readelf.c:1889
#, c-format
msgid ""
"\n"
@@ -4815,7 +4810,7 @@ msgstr[2] ""
" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
"'%s'\n"
-#: src/readelf.c:1880
+#: src/readelf.c:1902
#, fuzzy, c-format
#| msgid ""
#| "\n"
@@ -4849,42 +4844,42 @@ msgstr[2] ""
" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
"'%s'\n"
-#: src/readelf.c:1890
+#: src/readelf.c:1912
msgid " Type Value\n"
msgstr " Typ Wartość\n"
-#: src/readelf.c:1899
+#: src/readelf.c:1921
#, fuzzy
#| msgid "cannot get string section data: %s"
msgid "cannot get string table by using dynamic segment"
msgstr "nie można uzyskać danych sekcji ciągów: %s"
-#: src/readelf.c:1938
+#: src/readelf.c:1960
#, c-format
msgid "Shared library: [%s]\n"
msgstr "Biblioteka współdzielona: [%s]\n"
-#: src/readelf.c:1942
+#: src/readelf.c:1964
#, c-format
msgid "Library soname: [%s]\n"
msgstr "soname biblioteki: [%s]\n"
-#: src/readelf.c:1946
+#: src/readelf.c:1968
#, c-format
msgid "Library rpath: [%s]\n"
msgstr "rpath biblioteki: [%s]\n"
-#: src/readelf.c:1950
+#: src/readelf.c:1972
#, c-format
msgid "Library runpath: [%s]\n"
msgstr "runpath biblioteki: [%s]\n"
-#: src/readelf.c:1969
+#: src/readelf.c:1993
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr "%<PRId64> (bajtów)\n"
-#: src/readelf.c:2083 src/readelf.c:2272
+#: src/readelf.c:2109 src/readelf.c:2298
#, c-format
msgid ""
"\n"
@@ -4893,7 +4888,7 @@ msgstr ""
"\n"
"Nieprawidłowa tabela symboli pod offsetem %#0<PRIx64>\n"
-#: src/readelf.c:2100 src/readelf.c:2289
+#: src/readelf.c:2126 src/readelf.c:2315
#, c-format
msgid ""
"\n"
@@ -4922,7 +4917,8 @@ msgstr[2] ""
#. The .rela.dyn section does not refer to a specific section but
#. instead of section index zero. Do not try to print a section
#. name.
-#: src/readelf.c:2115 src/readelf.c:2304
+#. A .relr.dyn section does not refer to a specific section.
+#: src/readelf.c:2141 src/readelf.c:2330 src/readelf.c:2485
#, c-format
msgid ""
"\n"
@@ -4940,30 +4936,40 @@ msgstr[2] ""
"\n"
"Sekcja relokacji [%2u] „%s†pod offsetem %#0<PRIx64> zawiera %d wpisów:\n"
-#: src/readelf.c:2125
+#: src/readelf.c:2151
msgid " Offset Type Value Name\n"
msgstr " Offset Typ Wartość Nazwa\n"
-#: src/readelf.c:2127
+#: src/readelf.c:2153
msgid " Offset Type Value Name\n"
msgstr " Offset Typ Wartość Nazwa\n"
-#: src/readelf.c:2180 src/readelf.c:2191 src/readelf.c:2204 src/readelf.c:2225
-#: src/readelf.c:2237 src/readelf.c:2370 src/readelf.c:2382 src/readelf.c:2396
-#: src/readelf.c:2418 src/readelf.c:2431
+#: src/readelf.c:2206 src/readelf.c:2217 src/readelf.c:2230 src/readelf.c:2251
+#: src/readelf.c:2263 src/readelf.c:2396 src/readelf.c:2408 src/readelf.c:2422
+#: src/readelf.c:2444 src/readelf.c:2457
msgid "<INVALID RELOC>"
msgstr "<NIEPRAWIDÅOWA RELOKACJA>"
-#: src/readelf.c:2314
+#: src/readelf.c:2340
msgid " Offset Type Value Addend Name\n"
msgstr " Offset Typ Wartość Koniec Nazwa\n"
-#: src/readelf.c:2316
+#: src/readelf.c:2342
msgid " Offset Type Value Addend Name\n"
msgstr ""
" Offset Typ Wartość Koniec Nazwa\n"
-#: src/readelf.c:2558
+#: src/readelf.c:2654
+#, c-format
+msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
+msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
+
+#: src/readelf.c:2750
+#, c-format
+msgid "bad dynamic symbol"
+msgstr "błędny symbol dynamiczny"
+
+#: src/readelf.c:2868
#, c-format
msgid ""
"\n"
@@ -4981,7 +4987,7 @@ msgstr[2] ""
"\n"
"Tabela symboli [%2u] „%s†zawiera %u wpisów:\n"
-#: src/readelf.c:2563
+#: src/readelf.c:2873
#, c-format
msgid " %lu local symbol String table: [%2u] '%s'\n"
msgid_plural " %lu local symbols String table: [%2u] '%s'\n"
@@ -4989,33 +4995,27 @@ msgstr[0] " %lu symbol lokalny Tabela ciÄ…gów: [%2u] „%sâ€\n"
msgstr[1] " %lu symbole lokalne Tabela ciÄ…gów: [%2u] „%sâ€\n"
msgstr[2] " %lu symboli lokalnych Tabela ciÄ…gów: [%2u] „%sâ€\n"
-#: src/readelf.c:2571
+#: src/readelf.c:2881
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " Numer: Wartość Rozm Typ Bind Widoczność Ndx Nazwa\n"
-#: src/readelf.c:2573
+#: src/readelf.c:2883
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " Numer: Wartość Rozm Typ Bind Widoczność Ndx Nazwa\n"
-#: src/readelf.c:2593
-#, c-format
-msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-
-#: src/readelf.c:2686
-#, c-format
-msgid "bad dynamic symbol"
-msgstr "błędny symbol dynamiczny"
+#: src/readelf.c:3002
+msgid "Dynamic symbol information is not available for displaying symbols."
+msgstr ""
-#: src/readelf.c:2771
+#: src/readelf.c:3102
msgid "none"
msgstr "brak"
-#: src/readelf.c:2788
+#: src/readelf.c:3119
msgid "| <unknown>"
msgstr "| <nieznany>"
-#: src/readelf.c:2818
+#: src/readelf.c:3149
#, c-format
msgid ""
"\n"
@@ -5041,17 +5041,17 @@ msgstr[2] ""
" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
"„%sâ€\n"
-#: src/readelf.c:2839
+#: src/readelf.c:3170
#, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: Wersja: %hu Plik: %s Licznik: %hu\n"
-#: src/readelf.c:2852
+#: src/readelf.c:3183
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: Nazwa: %s Flagi: %s Wersja: %hu\n"
-#: src/readelf.c:2894
+#: src/readelf.c:3225
#, c-format
msgid ""
"\n"
@@ -5077,19 +5077,19 @@ msgstr[2] ""
" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
"„%sâ€\n"
-#: src/readelf.c:2922
+#: src/readelf.c:3253
#, c-format
msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n"
msgstr ""
" %#06x: Wersja: %hd Flagi: %s Indeks: %hd Licznik: %hd Nazwa: %s\n"
-#: src/readelf.c:2937
+#: src/readelf.c:3268
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr " %#06x: Rodzic %d: %s\n"
#. Print the header.
-#: src/readelf.c:3197
+#: src/readelf.c:3528
#, c-format
msgid ""
"\n"
@@ -5112,15 +5112,15 @@ msgstr[2] ""
"Sekcja symboli wersji [%2u] „%s†zawiera %d wpisów:\n"
" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] „%sâ€"
-#: src/readelf.c:3225
+#: src/readelf.c:3556
msgid " 0 *local* "
msgstr " 0 *lokalny* "
-#: src/readelf.c:3230
+#: src/readelf.c:3561
msgid " 1 *global* "
msgstr " 1 *globalny* "
-#: src/readelf.c:3272
+#: src/readelf.c:3603
#, c-format
msgid ""
"\n"
@@ -5151,22 +5151,22 @@ msgstr[2] ""
" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
"„%sâ€\n"
-#: src/readelf.c:3294
+#: src/readelf.c:3625
#, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr " Długość Liczba % całości Pokrycie\n"
-#: src/readelf.c:3296
+#: src/readelf.c:3627
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:3303
+#: src/readelf.c:3634
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:3316
+#: src/readelf.c:3647
#, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
@@ -5175,37 +5175,37 @@ msgstr ""
" Średnia liczba testów: udane wyszukania: %f\n"
"\t\t\t nieudane wyszukania: %f\n"
-#: src/readelf.c:3334 src/readelf.c:3398 src/readelf.c:3464
+#: src/readelf.c:3665 src/readelf.c:3729 src/readelf.c:3795
#, c-format
msgid "cannot get data for section %d: %s"
msgstr "nie można uzyskać danych dla sekcji %d: %s"
-#: src/readelf.c:3342
+#: src/readelf.c:3673
#, c-format
msgid "invalid data in sysv.hash section %d"
msgstr "nieprawidłowe dane w sekcji sysv.hash %d"
-#: src/readelf.c:3371
+#: src/readelf.c:3702
#, c-format
msgid "invalid chain in sysv.hash section %d"
msgstr "nieprawidłowy łańcuch w sekcji sysv.hash %d"
-#: src/readelf.c:3406
+#: src/readelf.c:3737
#, c-format
msgid "invalid data in sysv.hash64 section %d"
msgstr "nieprawidłowe dane w sekcji sysv.hash64 %d"
-#: src/readelf.c:3437
+#: src/readelf.c:3768
#, c-format
msgid "invalid chain in sysv.hash64 section %d"
msgstr "nieprawidłowy łańcuch w sekcji sysv.hash64 %d"
-#: src/readelf.c:3473
+#: src/readelf.c:3804
#, c-format
msgid "invalid data in gnu.hash section %d"
msgstr "nieprawidłowe dane w sekcji gnu.hash %d"
-#: src/readelf.c:3539
+#: src/readelf.c:3870
#, c-format
msgid ""
" Symbol Bias: %u\n"
@@ -5215,7 +5215,7 @@ msgstr ""
" Rozmiar maski bitowej: %zu B %<PRIuFAST32>%% b ustawionych drugie "
"przesunięcie skrótu: %u\n"
-#: src/readelf.c:3624
+#: src/readelf.c:3955
#, c-format
msgid ""
"\n"
@@ -5236,7 +5236,7 @@ msgstr[2] ""
"Sekcja listy bibliotek [%2zu] „%s†pod offsetem %#0<PRIx64> zawiera %d "
"wpisów:\n"
-#: src/readelf.c:3638
+#: src/readelf.c:3969
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
@@ -5244,7 +5244,7 @@ msgstr ""
" Biblioteka Czas Suma k. Wersja "
"Flagi"
-#: src/readelf.c:3698
+#: src/readelf.c:4029
#, c-format
msgid ""
"\n"
@@ -5254,107 +5254,107 @@ msgstr ""
"\n"
"Sekcja atrybutów obiektu [%2zu] „%s†%<PRIu64> B pod offsetem %#0<PRIx64>:\n"
-#: src/readelf.c:3715
+#: src/readelf.c:4046
msgid " Owner Size\n"
msgstr " Właściciel Rozmiar\n"
-#: src/readelf.c:3739
+#: src/readelf.c:4070
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
#. Unknown subsection, print and skip.
-#: src/readelf.c:3778
+#: src/readelf.c:4109
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
#. Tag_File
-#: src/readelf.c:3783
+#: src/readelf.c:4114
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " Plik: %11<PRIu32>\n"
-#: src/readelf.c:3833
+#: src/readelf.c:4164
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>, %s\n"
-#: src/readelf.c:3836
+#: src/readelf.c:4167
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3839
+#: src/readelf.c:4170
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3849
+#: src/readelf.c:4180
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3852
+#: src/readelf.c:4183
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3890
+#: src/readelf.c:4221
#, fuzzy
#| msgid "couldn't get shdr for group section: %s"
msgid "Couldn't get data from section"
msgstr "nie można uzyskać shdr dla sekcji grupy: %s"
-#: src/readelf.c:3955
+#: src/readelf.c:4286
msgid "sprintf failure"
msgstr "sprintf się nie powiodło"
-#: src/readelf.c:4439
+#: src/readelf.c:4770
msgid "empty block"
msgstr "pusty blok"
-#: src/readelf.c:4442
+#: src/readelf.c:4773
#, c-format
msgid "%zu byte block:"
msgstr "blok o %zu B:"
-#: src/readelf.c:4920
+#: src/readelf.c:5251
#, c-format
msgid "%*s[%2<PRIuMAX>] %s <TRUNCATED>\n"
msgstr "%*s[%2<PRIuMAX>] %s <SKRÓCONE>\n"
-#: src/readelf.c:5080
+#: src/readelf.c:5423
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr "%s %#<PRIx64> zostało użyte z różnymi rozmiarami adresu"
-#: src/readelf.c:5087
+#: src/readelf.c:5430
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr "%s %#<PRIx64> zostało użyte z różnymi rozmiarami offsetu"
-#: src/readelf.c:5094
+#: src/readelf.c:5437
#, c-format
msgid "%s %#<PRIx64> used with different base addresses"
msgstr "%s %#<PRIx64> zostało użyte z różnymi adresami podstawowymi"
-#: src/readelf.c:5101
+#: src/readelf.c:5444
#, c-format
msgid "%s %#<PRIx64> used with different attribute %s and %s"
msgstr "%s %#<PRIx64> zostało użyte z różnymi atrybutami %s i %s"
-#: src/readelf.c:5201
+#: src/readelf.c:5544
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr " [%6tx] <NIEUŻYWANE ŚMIECIE W RESZCIE SEKCJI>\n"
-#: src/readelf.c:5209
+#: src/readelf.c:5552
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr " [%6tx] <NIEUŻYWANE ŚMIECIE>… %<PRIu64> B…\n"
-#: src/readelf.c:5315
+#: src/readelf.c:5658
#, c-format
msgid ""
"\n"
@@ -5365,7 +5365,7 @@ msgstr ""
"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64>:\n"
" [ Kod]\n"
-#: src/readelf.c:5323
+#: src/readelf.c:5666
#, c-format
msgid ""
"\n"
@@ -5374,20 +5374,20 @@ msgstr ""
"\n"
"Sekcja skrótów pod offsetem %<PRIu64>:\n"
-#: src/readelf.c:5336
+#: src/readelf.c:5679
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr " *** błąd podczas odczytywania skrótu: %s\n"
-#: src/readelf.c:5352
+#: src/readelf.c:5695
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr " [%5u] offset: %<PRId64>, potomek: %s, znacznik: %s\n"
-#: src/readelf.c:5389 src/readelf.c:5682 src/readelf.c:5853 src/readelf.c:6224
-#: src/readelf.c:6850 src/readelf.c:8619 src/readelf.c:9361 src/readelf.c:9829
-#: src/readelf.c:10084 src/readelf.c:10246 src/readelf.c:10627
-#: src/readelf.c:10698
+#: src/readelf.c:5732 src/readelf.c:6025 src/readelf.c:6196 src/readelf.c:6567
+#: src/readelf.c:7193 src/readelf.c:8962 src/readelf.c:9704 src/readelf.c:10172
+#: src/readelf.c:10427 src/readelf.c:10589 src/readelf.c:10970
+#: src/readelf.c:11041
#, c-format
msgid ""
"\n"
@@ -5396,47 +5396,47 @@ msgstr ""
"\n"
"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64>:\n"
-#: src/readelf.c:5492 src/readelf.c:5516 src/readelf.c:5889 src/readelf.c:9397
+#: src/readelf.c:5835 src/readelf.c:5859 src/readelf.c:6232 src/readelf.c:9740
#, c-format
msgid " Length: %8<PRIu64>\n"
msgstr " Długość: %8<PRIu64>\n"
-#: src/readelf.c:5494 src/readelf.c:5531 src/readelf.c:5902 src/readelf.c:9410
+#: src/readelf.c:5837 src/readelf.c:5874 src/readelf.c:6245 src/readelf.c:9753
#, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " Wersja DWARF: %8<PRIu16>\n"
-#: src/readelf.c:5495 src/readelf.c:5540 src/readelf.c:5911 src/readelf.c:9419
+#: src/readelf.c:5838 src/readelf.c:5883 src/readelf.c:6254 src/readelf.c:9762
#, c-format
msgid " Address size: %8<PRIu64>\n"
msgstr " Rozmiar adresu: %8<PRIu64>\n"
-#: src/readelf.c:5497 src/readelf.c:5550 src/readelf.c:5921 src/readelf.c:9429
+#: src/readelf.c:5840 src/readelf.c:5893 src/readelf.c:6264 src/readelf.c:9772
#, c-format
msgid " Segment size: %8<PRIu64>\n"
msgstr " Rozmiar segmentu: %8<PRIu64>\n"
-#: src/readelf.c:5535 src/readelf.c:5906 src/readelf.c:9414 src/readelf.c:10820
+#: src/readelf.c:5878 src/readelf.c:6249 src/readelf.c:9757 src/readelf.c:11163
#, c-format
msgid "Unknown version"
msgstr "Nieznana wersja"
-#: src/readelf.c:5545 src/readelf.c:5752 src/readelf.c:5916 src/readelf.c:9424
+#: src/readelf.c:5888 src/readelf.c:6095 src/readelf.c:6259 src/readelf.c:9767
#, c-format
msgid "unsupported address size"
msgstr "nieobsługiwany rozmiar adresu"
-#: src/readelf.c:5556 src/readelf.c:5763 src/readelf.c:5926 src/readelf.c:9434
+#: src/readelf.c:5899 src/readelf.c:6106 src/readelf.c:6269 src/readelf.c:9777
#, c-format
msgid "unsupported segment size"
msgstr "nieobsługiwany rozmiar segmentu"
-#: src/readelf.c:5609
+#: src/readelf.c:5952
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr "nie można uzyskać zawartości .debug_aranges: %s"
-#: src/readelf.c:5624
+#: src/readelf.c:5967
#, c-format
msgid ""
"\n"
@@ -5454,12 +5454,12 @@ msgstr[2] ""
"\n"
"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64> zawiera %zu wpisów:\n"
-#: src/readelf.c:5655
+#: src/readelf.c:5998
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:5657
+#: src/readelf.c:6000
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
@@ -5467,7 +5467,7 @@ msgstr ""
" [%*zu] początek: %0#*<PRIx64>, długość: %5<PRIu64>, offset CU DIE: "
"%6<PRId64>\n"
-#: src/readelf.c:5695 src/readelf.c:8638
+#: src/readelf.c:6038 src/readelf.c:8981
#, c-format
msgid ""
"\n"
@@ -5476,13 +5476,13 @@ msgstr ""
"\n"
"Tabela pod offsetem %zu:\n"
-#: src/readelf.c:5699 src/readelf.c:5870 src/readelf.c:6874 src/readelf.c:8649
-#: src/readelf.c:9378
+#: src/readelf.c:6042 src/readelf.c:6213 src/readelf.c:7217 src/readelf.c:8992
+#: src/readelf.c:9721
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr "nieprawidÅ‚owe dane w sekcji [%zu] „%sâ€"
-#: src/readelf.c:5715
+#: src/readelf.c:6058
#, c-format
msgid ""
"\n"
@@ -5491,27 +5491,27 @@ msgstr ""
"\n"
" Długość: %6<PRIu64>\n"
-#: src/readelf.c:5727
+#: src/readelf.c:6070
#, c-format
msgid " DWARF version: %6<PRIuFAST16>\n"
msgstr " Wersja DWARF: %6<PRIuFAST16>\n"
-#: src/readelf.c:5731
+#: src/readelf.c:6074
#, c-format
msgid "unsupported aranges version"
msgstr "nieobsługiwana wersja aranges"
-#: src/readelf.c:5742
+#: src/readelf.c:6085
#, c-format
msgid " CU offset: %6<PRIx64>\n"
msgstr " Offset CU: %6<PRIx64>\n"
-#: src/readelf.c:5748
+#: src/readelf.c:6091
#, c-format
msgid " Address size: %6<PRIu64>\n"
msgstr " Offset adresu: %6<PRIu64>\n"
-#: src/readelf.c:5759
+#: src/readelf.c:6102
#, c-format
msgid ""
" Segment size: %6<PRIu64>\n"
@@ -5520,12 +5520,12 @@ msgstr ""
" Rozmiar segmentu: %6<PRIu64>\n"
"\n"
-#: src/readelf.c:5814
+#: src/readelf.c:6157
#, c-format
msgid " %zu padding bytes\n"
msgstr " %zu B wypełnienia\n"
-#: src/readelf.c:5876 src/readelf.c:9384
+#: src/readelf.c:6219 src/readelf.c:9727
#, c-format
msgid ""
"Table at Offset 0x%<PRIx64>:\n"
@@ -5534,42 +5534,42 @@ msgstr ""
"Tabela pod offsetem 0x%<PRIx64>:\n"
"\n"
-#: src/readelf.c:5931 src/readelf.c:9439
+#: src/readelf.c:6274 src/readelf.c:9782
#, c-format
msgid " Offset entries: %8<PRIu64>\n"
msgstr " Wpisy offsetu: %8<PRIu64>\n"
-#: src/readelf.c:5947 src/readelf.c:9455
+#: src/readelf.c:6290 src/readelf.c:9798
#, c-format
msgid " Unknown CU base: "
msgstr " Nieznana podstawa CU: "
-#: src/readelf.c:5949 src/readelf.c:9457
+#: src/readelf.c:6292 src/readelf.c:9800
#, c-format
msgid " CU [%6<PRIx64>] base: "
msgstr " Podstawa CU [%6<PRIx64>]: "
-#: src/readelf.c:5955 src/readelf.c:9463
+#: src/readelf.c:6298 src/readelf.c:9806
#, c-format
msgid " Not associated with a CU.\n"
msgstr " Brak powiązania z CU.\n"
-#: src/readelf.c:5966 src/readelf.c:9474
+#: src/readelf.c:6309 src/readelf.c:9817
#, c-format
msgid "too many offset entries for unit length"
msgstr "za dużo wpisów offsetu dla długości jednostki"
-#: src/readelf.c:5970 src/readelf.c:9478
+#: src/readelf.c:6313 src/readelf.c:9821
#, c-format
msgid " Offsets starting at 0x%<PRIx64>:\n"
msgstr " Offsety zaczynające się w 0x%<PRIx64>:\n"
-#: src/readelf.c:6022
+#: src/readelf.c:6365
#, c-format
msgid "invalid range list data"
msgstr "nieprawidłowe dane listy zakresów"
-#: src/readelf.c:6207 src/readelf.c:9813
+#: src/readelf.c:6550 src/readelf.c:10156
#, c-format
msgid ""
" %zu padding bytes\n"
@@ -5578,7 +5578,7 @@ msgstr ""
" %zu B wypełnienia\n"
"\n"
-#: src/readelf.c:6255 src/readelf.c:9862
+#: src/readelf.c:6598 src/readelf.c:10205
#, c-format
msgid ""
"\n"
@@ -5587,7 +5587,7 @@ msgstr ""
"\n"
" Nieznana podstawa CU: "
-#: src/readelf.c:6257 src/readelf.c:9864
+#: src/readelf.c:6600 src/readelf.c:10207
#, c-format
msgid ""
"\n"
@@ -5596,30 +5596,30 @@ msgstr ""
"\n"
" Podstawa CU [%6<PRIx64>]: "
-#: src/readelf.c:6266 src/readelf.c:9890 src/readelf.c:9916
+#: src/readelf.c:6609 src/readelf.c:10233 src/readelf.c:10259
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr " [%6tx] <NIEPRAWIDÅOWE DANE>\n"
-#: src/readelf.c:6291 src/readelf.c:10000
+#: src/readelf.c:6634 src/readelf.c:10343
msgid "base address"
msgstr "adres podstawowy"
-#: src/readelf.c:6301 src/readelf.c:10010
+#: src/readelf.c:6644 src/readelf.c:10353
#, c-format
msgid " [%6tx] empty list\n"
msgstr " [%6tx] pusta lista\n"
-#: src/readelf.c:6565
+#: src/readelf.c:6908
msgid " <INVALID DATA>\n"
msgstr " <NIEPRAWIDÅOWE DANE>\n"
-#: src/readelf.c:6822
+#: src/readelf.c:7165
#, c-format
msgid "cannot get ELF: %s"
msgstr "nie można uzyskać ELF: %s"
-#: src/readelf.c:6846
+#: src/readelf.c:7189
#, c-format
msgid ""
"\n"
@@ -5628,7 +5628,7 @@ msgstr ""
"\n"
"Sekcja informacji o ramce wywołania [%2zu] „%s†pod offsetem %#<PRIx64>:\n"
-#: src/readelf.c:6896
+#: src/readelf.c:7239
#, c-format
msgid ""
"\n"
@@ -5637,65 +5637,65 @@ msgstr ""
"\n"
" [%6tx] Zerowy koniec\n"
-#: src/readelf.c:7000 src/readelf.c:7154
+#: src/readelf.c:7343 src/readelf.c:7497
#, c-format
msgid "invalid augmentation length"
msgstr "nieprawidłowa długość powiększenia"
-#: src/readelf.c:7015
+#: src/readelf.c:7358
msgid "FDE address encoding: "
msgstr "Kodowanie adresu FDE: "
-#: src/readelf.c:7021
+#: src/readelf.c:7364
msgid "LSDA pointer encoding: "
msgstr "Kodowanie wskaźnika LSDA: "
-#: src/readelf.c:7131
+#: src/readelf.c:7474
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr " (offset: %#<PRIx64>)"
-#: src/readelf.c:7138
+#: src/readelf.c:7481
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr " (kończący offset: %#<PRIx64>)"
-#: src/readelf.c:7175
+#: src/readelf.c:7518
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr " %-26sWskaźnik LSDA: %#<PRIx64>\n"
-#: src/readelf.c:7260
+#: src/readelf.c:7603
#, c-format
msgid "DIE [%<PRIx64>] cannot get attribute code: %s"
msgstr "DIE [%<PRIx64>] nie można uzyskać kodu atrybutu: %s"
-#: src/readelf.c:7270
+#: src/readelf.c:7613
#, c-format
msgid "DIE [%<PRIx64>] cannot get attribute form: %s"
msgstr "DIE [%<PRIx64>] nie można uzyskać formy atrybutu: %s"
-#: src/readelf.c:7292
+#: src/readelf.c:7635
#, c-format
msgid "DIE [%<PRIx64>] cannot get attribute '%s' (%s) value: %s"
msgstr "DIE [%<PRIx64>] nie można uzyskać wartości atrybutu „%s†(%s): %s"
-#: src/readelf.c:7622
+#: src/readelf.c:7965
#, c-format
msgid "invalid file (%<PRId64>): %s"
msgstr "nieprawidłowy plik (%<PRId64>): %s"
-#: src/readelf.c:7626
+#: src/readelf.c:7969
#, c-format
msgid "no srcfiles for CU [%<PRIx64>]"
msgstr "brak plików źródłowych dla CU [%<PRIx64>]"
-#: src/readelf.c:7630
+#: src/readelf.c:7973
#, c-format
msgid "couldn't get DWARF CU: %s"
msgstr "nie można uzyskać CU DWARF: %s"
-#: src/readelf.c:7952
+#: src/readelf.c:8295
#, c-format
msgid ""
"\n"
@@ -5706,12 +5706,12 @@ msgstr ""
"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64>:\n"
" [Offset]\n"
-#: src/readelf.c:8002
+#: src/readelf.c:8345
#, c-format
msgid "cannot get next unit: %s"
msgstr "nie można uzyskać następnej jednostki: %s"
-#: src/readelf.c:8022
+#: src/readelf.c:8365
#, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5724,7 +5724,7 @@ msgstr ""
"%<PRIu8>, rozmiar offsetu: %<PRIu8>\n"
" Podpis typu: %#<PRIx64>, offset typu: %#<PRIx64> [%<PRIx64>]\n"
-#: src/readelf.c:8034
+#: src/readelf.c:8377
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5735,38 +5735,38 @@ msgstr ""
" Wersja: %<PRIu16>, offset sekcji skrótów: %<PRIu64>, rozmiar adresu: "
"%<PRIu8>, rozmiar offsetu: %<PRIu8>\n"
-#: src/readelf.c:8044 src/readelf.c:8205
+#: src/readelf.c:8387 src/readelf.c:8548
#, c-format
msgid " Unit type: %s (%<PRIu8>)"
msgstr " Typ jednostki: %s (%<PRIu8>)"
-#: src/readelf.c:8071
+#: src/readelf.c:8414
#, c-format
msgid "unknown version (%d) or unit type (%d)"
msgstr "nieznana wersja (%d) lub typ jednostki (%d)"
-#: src/readelf.c:8100
+#: src/readelf.c:8443
#, c-format
msgid "cannot get DIE offset: %s"
msgstr "nie można uzyskać offsetu DIE: %s"
-#: src/readelf.c:8109
+#: src/readelf.c:8452
#, c-format
msgid "cannot get tag of DIE at offset [%<PRIx64>] in section '%s': %s"
msgstr ""
"nie można uzyskać znacznika DIE pod offsetem [%<PRIx64>] w sekcji „%sâ€: %s"
-#: src/readelf.c:8145
+#: src/readelf.c:8488
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr "nie można uzyskać następnego DIE: %s\n"
-#: src/readelf.c:8153
+#: src/readelf.c:8496
#, c-format
msgid "cannot get next DIE: %s"
msgstr "nie można uzyskać następnego DIE: %s"
-#: src/readelf.c:8197
+#: src/readelf.c:8540
#, c-format
msgid ""
" Split compilation unit at offset %<PRIu64>:\n"
@@ -5777,7 +5777,7 @@ msgstr ""
" Wersja: %<PRIu16>, offset sekcji skrótów: %<PRIu64>, rozmiar adresu: "
"%<PRIu8>, rozmiar offsetu: %<PRIu8>\n"
-#: src/readelf.c:8249
+#: src/readelf.c:8592
#, c-format
msgid ""
"\n"
@@ -5788,13 +5788,13 @@ msgstr ""
"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:8581
+#: src/readelf.c:8924
#, c-format
msgid "unknown form: %s"
msgstr "nieznana forma: %s"
#. Print what we got so far.
-#: src/readelf.c:8729
+#: src/readelf.c:9072
#, c-format
msgid ""
"\n"
@@ -5827,27 +5827,27 @@ msgstr ""
"\n"
"Instrukcje:\n"
-#: src/readelf.c:8751
+#: src/readelf.c:9094
#, c-format
msgid "cannot handle .debug_line version: %u\n"
msgstr "nie można obsłużyć wersji .debug_line: %u\n"
-#: src/readelf.c:8759
+#: src/readelf.c:9102
#, c-format
msgid "cannot handle address size: %u\n"
msgstr "nie można obsłużyć rozmiaru adresu: %u\n"
-#: src/readelf.c:8767
+#: src/readelf.c:9110
#, c-format
msgid "cannot handle segment selector size: %u\n"
msgstr "nie można obsłużyć rozmiaru selektora segmentu: %u\n"
-#: src/readelf.c:8777
+#: src/readelf.c:9120
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
msgstr "nieprawidÅ‚owe dane pod offsetem %tu w sekcji [%zu] „%sâ€"
-#: src/readelf.c:8792
+#: src/readelf.c:9135
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
@@ -5855,7 +5855,7 @@ msgstr[0] " [%*<PRIuFAST8>] %hhu parametr\n"
msgstr[1] " [%*<PRIuFAST8>] %hhu parametry\n"
msgstr[2] " [%*<PRIuFAST8>] %hhu parametrów\n"
-#: src/readelf.c:8803
+#: src/readelf.c:9146
msgid ""
"\n"
"Directory table:"
@@ -5863,12 +5863,12 @@ msgstr ""
"\n"
"Tabela katalogu:"
-#: src/readelf.c:8809 src/readelf.c:8886
+#: src/readelf.c:9152 src/readelf.c:9229
#, c-format
msgid " ["
msgstr " ["
-#: src/readelf.c:8880
+#: src/readelf.c:9223
msgid ""
"\n"
"File name table:"
@@ -5876,11 +5876,11 @@ msgstr ""
"\n"
"Tabela nazw plików:"
-#: src/readelf.c:8941
+#: src/readelf.c:9284
msgid " Entry Dir Time Size Name"
msgstr " Wpis Kat Czas Rozmiar Nazwa"
-#: src/readelf.c:8987
+#: src/readelf.c:9330
msgid ""
"\n"
"No line number statements."
@@ -5888,7 +5888,7 @@ msgstr ""
"\n"
"Brak instrukcji numerów wierszy."
-#: src/readelf.c:8991
+#: src/readelf.c:9334
msgid ""
"\n"
"Line number statements:"
@@ -5896,129 +5896,129 @@ msgstr ""
"\n"
"Instrukcje numerów wierszy:"
-#: src/readelf.c:9006
+#: src/readelf.c:9349
#, c-format
msgid "invalid maximum operations per instruction is zero"
msgstr "nieprawidłowe maksimum operacji na instrukcję wynosi zero"
-#: src/readelf.c:9040
+#: src/readelf.c:9383
#, c-format
msgid " special opcode %u: address+%u = "
msgstr " instrukcja specjalna %u: adres+%u = "
-#: src/readelf.c:9044
+#: src/readelf.c:9387
#, c-format
msgid ", op_index = %u, line%+d = %zu\n"
msgstr ", op_index = %u, wiersz%+d = %zu\n"
-#: src/readelf.c:9047
+#: src/readelf.c:9390
#, c-format
msgid ", line%+d = %zu\n"
msgstr ", wiersz%+d = %zu\n"
-#: src/readelf.c:9065
+#: src/readelf.c:9408
#, c-format
msgid " extended opcode %u: "
msgstr " instrukcja rozszerzona %u: "
-#: src/readelf.c:9070
+#: src/readelf.c:9413
msgid " end of sequence"
msgstr " koniec sekwencji"
-#: src/readelf.c:9088
+#: src/readelf.c:9431
#, c-format
msgid " set address to "
msgstr " ustawienie adresu na "
-#: src/readelf.c:9116
+#: src/readelf.c:9459
#, c-format
msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
msgstr ""
" definicja nowego pliku: dir=%u, mtime=%<PRIu64>, długość=%<PRIu64>, "
"nazwa=%s\n"
-#: src/readelf.c:9130
+#: src/readelf.c:9473
#, c-format
msgid " set discriminator to %u\n"
msgstr " ustawienie dyskryminatora na %u\n"
-#: src/readelf.c:9157
+#: src/readelf.c:9500
#, c-format
msgid " set inlined context %u, function name %s (0x%x)\n"
msgstr ""
-#: src/readelf.c:9181
+#: src/readelf.c:9524
#, fuzzy, c-format
#| msgid "Also show function names"
msgid " set function name %s (0x%x)\n"
msgstr "Wyświetla także nazwy funkcji"
#. Unknown, ignore it.
-#: src/readelf.c:9188
+#: src/readelf.c:9531
msgid " unknown opcode"
msgstr " nieznana instrukcja"
#. Takes no argument.
-#: src/readelf.c:9200
+#: src/readelf.c:9543
msgid " copy"
msgstr " kopiowanie"
-#: src/readelf.c:9211
+#: src/readelf.c:9554
#, c-format
msgid " advance address by %u to "
msgstr " zwiększenie adresu o %u do "
-#: src/readelf.c:9215 src/readelf.c:9276
+#: src/readelf.c:9558 src/readelf.c:9619
#, c-format
msgid ", op_index to %u"
msgstr ", op_index do %u"
-#: src/readelf.c:9227
+#: src/readelf.c:9570
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr " zwiększenie wiersza o stałą %d do %<PRId64>\n"
-#: src/readelf.c:9237
+#: src/readelf.c:9580
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr " ustawienie pliku na %<PRIu64>\n"
-#: src/readelf.c:9248
+#: src/readelf.c:9591
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr " ustawienie kolumny na %<PRIu64>\n"
-#: src/readelf.c:9255
+#: src/readelf.c:9598
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr " ustawienie „%s†na %<PRIuFAST8>\n"
#. Takes no argument.
-#: src/readelf.c:9261
+#: src/readelf.c:9604
msgid " set basic block flag"
msgstr " ustawienie podstawowej flagi bloku"
-#: src/readelf.c:9272
+#: src/readelf.c:9615
#, c-format
msgid " advance address by constant %u to "
msgstr " zwiększenie adresu o stałą %u do "
-#: src/readelf.c:9292
+#: src/readelf.c:9635
#, c-format
msgid " advance address by fixed value %u to \n"
msgstr " zwiększenie adresu o stałą wartość %u do \n"
#. Takes no argument.
-#: src/readelf.c:9302
+#: src/readelf.c:9645
msgid " set prologue end flag"
msgstr " ustawienie flagi końca prologu"
#. Takes no argument.
-#: src/readelf.c:9307
+#: src/readelf.c:9650
msgid " set epilogue begin flag"
msgstr " ustawienie flagi poczÄ…tku epilogu"
-#: src/readelf.c:9317
+#: src/readelf.c:9660
#, c-format
msgid " set isa to %u\n"
msgstr " ustawienie isa na %u\n"
@@ -6026,7 +6026,7 @@ msgstr " ustawienie isa na %u\n"
#. This is a new opcode the generator but not we know about.
#. Read the parameters associated with it but then discard
#. everything. Read all the parameters for this opcode.
-#: src/readelf.c:9326
+#: src/readelf.c:9669
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
@@ -6034,86 +6034,86 @@ msgstr[0] " nieznana instrukcja z %<PRIu8> parametrem:"
msgstr[1] " nieznana instrukcja z %<PRIu8> parametrami:"
msgstr[2] " nieznana instrukcja z %<PRIu8> parametrami:"
-#: src/readelf.c:9527
+#: src/readelf.c:9870
#, c-format
msgid " <INVALID DATA>\n"
msgstr " <NIEPRAWIDÅOWE DANE>\n"
-#: src/readelf.c:9567
+#: src/readelf.c:9910
#, c-format
msgid "invalid loclists data"
msgstr "nieprawidłowe dane loclists"
-#: src/readelf.c:10037 src/readelf.c:11082
+#: src/readelf.c:10380 src/readelf.c:11425
msgid " <INVALID DATA>\n"
msgstr " <NIEPRAWIDÅOWE DANE>\n"
-#: src/readelf.c:10168
+#: src/readelf.c:10511
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr "%*s*** niezakończony ciąg na końcu sekcji"
-#: src/readelf.c:10191
+#: src/readelf.c:10534
#, c-format
msgid "%*s*** missing DW_MACINFO_start_file argument at end of section"
msgstr "%*s*** brak parametru DW_MACINFO_start_file na końcu sekcji"
-#: src/readelf.c:10286
+#: src/readelf.c:10629
#, c-format
msgid " Offset: 0x%<PRIx64>\n"
msgstr " Offset: 0x%<PRIx64>\n"
-#: src/readelf.c:10298
+#: src/readelf.c:10641
#, c-format
msgid " Version: %<PRIu16>\n"
msgstr " Wersja: %<PRIu16>\n"
-#: src/readelf.c:10304 src/readelf.c:11202
+#: src/readelf.c:10647 src/readelf.c:11546
#, c-format
msgid " unknown version, cannot parse section\n"
msgstr " nieznana wersja, nie można przetworzyć sekcji\n"
-#: src/readelf.c:10311
+#: src/readelf.c:10654
#, c-format
msgid " Flag: 0x%<PRIx8>"
msgstr " Flaga: 0x%<PRIx8>"
-#: src/readelf.c:10340
+#: src/readelf.c:10683
#, c-format
msgid " Offset length: %<PRIu8>\n"
msgstr " Długość offsetu: %<PRIu8>\n"
-#: src/readelf.c:10348
+#: src/readelf.c:10691
#, c-format
msgid " .debug_line offset: 0x%<PRIx64>\n"
msgstr " Offset .debug_line: 0x%<PRIx64>\n"
-#: src/readelf.c:10373
+#: src/readelf.c:10716
#, c-format
msgid " extension opcode table, %<PRIu8> items:\n"
msgstr " tabela instrukcji rozszerzenia, %<PRIu8> elementów:\n"
-#: src/readelf.c:10380
+#: src/readelf.c:10723
#, c-format
msgid " [%<PRIx8>]"
msgstr " [%<PRIx8>]"
-#: src/readelf.c:10392
+#: src/readelf.c:10735
#, c-format
msgid " %<PRIu8> arguments:"
msgstr " Parametry %<PRIu8>:"
-#: src/readelf.c:10407
+#: src/readelf.c:10750
#, c-format
msgid " no arguments."
msgstr " brak parametrów."
-#: src/readelf.c:10608
+#: src/readelf.c:10951
#, c-format
msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
msgstr " [%5d] offset DIE: %6<PRId64>, offset CU DIE: %6<PRId64>, nazwa: %s\n"
-#: src/readelf.c:10663
+#: src/readelf.c:11006
#, c-format
msgid ""
"\n"
@@ -6125,37 +6125,37 @@ msgstr ""
" %*s CiÄ…g\n"
#. TRANS: the debugstr| prefix makes the string unique.
-#: src/readelf.c:10668
+#: src/readelf.c:11011
msgctxt "debugstr"
msgid "Offset"
msgstr ""
-#: src/readelf.c:10678
+#: src/readelf.c:11021
#, c-format
msgid " *** error, missing string terminator\n"
msgstr " *** błąd, brak znaku kończącego ciąg\n"
-#: src/readelf.c:10800
+#: src/readelf.c:11143
#, c-format
msgid " Length: %8<PRIu64>\n"
msgstr " Długość: %8<PRIu64>\n"
-#: src/readelf.c:10802
+#: src/readelf.c:11145
#, c-format
msgid " Offset size: %8<PRIu8>\n"
msgstr " Rozmiar offsetu: %8<PRIu8>\n"
-#: src/readelf.c:10816
+#: src/readelf.c:11159
#, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " Wersja DWARF: %8<PRIu16>\n"
-#: src/readelf.c:10825
+#: src/readelf.c:11168
#, c-format
msgid " Padding: %8<PRIx16>\n"
msgstr " Wypełnienie: %8<PRIx16>\n"
-#: src/readelf.c:10879
+#: src/readelf.c:11222
#, c-format
msgid ""
"\n"
@@ -6164,7 +6164,7 @@ msgstr ""
"\n"
"Sekcja tabeli wyszukiwania ramki wywoÅ‚ania [%2zu] „.eh_frame_hdrâ€:\n"
-#: src/readelf.c:10981
+#: src/readelf.c:11324
#, c-format
msgid ""
"\n"
@@ -6173,22 +6173,22 @@ msgstr ""
"\n"
"Sekcja tabeli obsÅ‚ugiwania wyjÄ…tków [%2zu] „.gcc_except_tableâ€:\n"
-#: src/readelf.c:11004
+#: src/readelf.c:11347
#, c-format
msgid " LPStart encoding: %#x "
msgstr " Kodowanie LPStart: %#x "
-#: src/readelf.c:11016
+#: src/readelf.c:11359
#, c-format
msgid " TType encoding: %#x "
msgstr " Kodowanie TType: %#x "
-#: src/readelf.c:11033
+#: src/readelf.c:11376
#, c-format
msgid " Call site encoding: %#x "
msgstr " Kodowanie strony wywołania: %#x "
-#: src/readelf.c:11048
+#: src/readelf.c:11391
msgid ""
"\n"
" Call site table:"
@@ -6196,7 +6196,7 @@ msgstr ""
"\n"
" Tabela strony wywołania:"
-#: src/readelf.c:11064
+#: src/readelf.c:11407
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -6209,12 +6209,12 @@ msgstr ""
" LÄ…dowisko: %#<PRIx64>\n"
" Działanie: %u\n"
-#: src/readelf.c:11137
+#: src/readelf.c:11480
#, c-format
msgid "invalid TType encoding"
msgstr "nieprawidłowe kodowanie TType"
-#: src/readelf.c:11164
+#: src/readelf.c:11507
#, c-format
msgid ""
"\n"
@@ -6223,37 +6223,43 @@ msgstr ""
"\n"
"Sekcja GDB [%2zu] „%s†pod offsetem %#<PRIx64> zawiera %<PRId64> B:\n"
-#: src/readelf.c:11193
+#: src/readelf.c:11536
#, c-format
msgid " Version: %<PRId32>\n"
msgstr " Wersja: %<PRId32>\n"
-#: src/readelf.c:11211
+#: src/readelf.c:11555
#, c-format
msgid " CU offset: %#<PRIx32>\n"
msgstr " offset CU: %#<PRIx32>\n"
-#: src/readelf.c:11218
+#: src/readelf.c:11562
#, c-format
msgid " TU offset: %#<PRIx32>\n"
msgstr " offset TU: %#<PRIx32>\n"
-#: src/readelf.c:11225
+#: src/readelf.c:11569
#, c-format
msgid " address offset: %#<PRIx32>\n"
msgstr " offset adresu: %#<PRIx32>\n"
-#: src/readelf.c:11232
+#: src/readelf.c:11576
#, c-format
msgid " symbol offset: %#<PRIx32>\n"
msgstr " offset symbolu: %#<PRIx32>\n"
-#: src/readelf.c:11239
+#: src/readelf.c:11586
+#, fuzzy, c-format
+#| msgid " constant offset: %#<PRIx32>\n"
+msgid " shortcut offset: %#<PRIx32>\n"
+msgstr " offset stałej: %#<PRIx32>\n"
+
+#: src/readelf.c:11594
#, c-format
msgid " constant offset: %#<PRIx32>\n"
msgstr " offset stałej: %#<PRIx32>\n"
-#: src/readelf.c:11253
+#: src/readelf.c:11608
#, c-format
msgid ""
"\n"
@@ -6262,7 +6268,7 @@ msgstr ""
"\n"
" Lista CU pod offsetem %#<PRIx32> zawiera %zu wpisów:\n"
-#: src/readelf.c:11278
+#: src/readelf.c:11633
#, c-format
msgid ""
"\n"
@@ -6271,7 +6277,7 @@ msgstr ""
"\n"
" Lista TU pod offsetem %#<PRIx32> zawiera %zu wpisów:\n"
-#: src/readelf.c:11307
+#: src/readelf.c:11662
#, c-format
msgid ""
"\n"
@@ -6280,7 +6286,7 @@ msgstr ""
"\n"
" Lista adresów pod offsetem %#<PRIx32> zawiera %zu wpisów:\n"
-#: src/readelf.c:11339
+#: src/readelf.c:11705
#, c-format
msgid ""
"\n"
@@ -6289,18 +6295,40 @@ msgstr ""
"\n"
" Tabela symboli pod offsetem %#<PRIx32> zawiera %zu gniazd:\n"
-#: src/readelf.c:11477
+#: src/readelf.c:11790
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| " Symbol table at offset %#<PRIx32> contains %zu slots:\n"
+msgid ""
+"\n"
+"Shortcut table at offset %#<PRIx32> contains %zu slots:\n"
+msgstr ""
+"\n"
+" Tabela symboli pod offsetem %#<PRIx32> zawiera %zu gniazd:\n"
+
+#: src/readelf.c:11802
+#, c-format
+msgid "Language of main: %s\n"
+msgstr ""
+
+#: src/readelf.c:11803
+#, c-format
+msgid "Name of main: "
+msgstr ""
+
+#: src/readelf.c:11886
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "nie można uzyskać deskryptora kontekstu debugowania: %s"
-#: src/readelf.c:11843 src/readelf.c:12463 src/readelf.c:12573
-#: src/readelf.c:12630
+#: src/readelf.c:12252 src/readelf.c:12872 src/readelf.c:12982
+#: src/readelf.c:13039
#, c-format
msgid "cannot convert core note data: %s"
msgstr "nie można konwertować danych notatki core: %s"
-#: src/readelf.c:12207
+#: src/readelf.c:12616
#, c-format
msgid ""
"\n"
@@ -6309,21 +6337,21 @@ msgstr ""
"\n"
"%*s… <powtarza się jeszcze %u razy>…"
-#: src/readelf.c:12709
+#: src/readelf.c:13118
msgid " Owner Data size Type\n"
msgstr " Właściciel Rozmiar danych Typ\n"
-#: src/readelf.c:12737
+#: src/readelf.c:13146
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:12789
+#: src/readelf.c:13198
#, c-format
msgid "cannot get content of note: %s"
msgstr "nie można uzyskać zawartości notatki: %s"
-#: src/readelf.c:12822
+#: src/readelf.c:13231
#, c-format
msgid ""
"\n"
@@ -6333,7 +6361,7 @@ msgstr ""
"Segment notatki [%2zu] „%s†o długości %<PRIu64> B pod offsetem "
"%#0<PRIx64>:\n"
-#: src/readelf.c:12845
+#: src/readelf.c:13254
#, c-format
msgid ""
"\n"
@@ -6342,7 +6370,7 @@ msgstr ""
"\n"
"Segment notatki o długości %<PRIu64> B pod offsetem %#0<PRIx64>:\n"
-#: src/readelf.c:12892
+#: src/readelf.c:13301
#, c-format
msgid ""
"\n"
@@ -6351,12 +6379,12 @@ msgstr ""
"\n"
"Sekcja [%zu] „%s†nie ma danych do zrzucenia.\n"
-#: src/readelf.c:12919 src/readelf.c:12970
+#: src/readelf.c:13328 src/readelf.c:13379
#, c-format
msgid "cannot get data for section [%zu] '%s': %s"
msgstr "nie można uzyskać danych dla sekcji [%zu] „%sâ€: %s"
-#: src/readelf.c:12924
+#: src/readelf.c:13333
#, c-format
msgid ""
"\n"
@@ -6366,7 +6394,7 @@ msgstr ""
"Segment zrzutu szesnastkowego [%zu] „%sâ€, %<PRIu64> B pod offsetem "
"%#0<PRIx64>:\n"
-#: src/readelf.c:12929
+#: src/readelf.c:13338
#, c-format
msgid ""
"\n"
@@ -6377,7 +6405,7 @@ msgstr ""
"Zrzut szesnastkowy sekcji [%zu] „%sâ€, %<PRIu64> B (%zd nieskompresowanych) "
"pod offsetem %#0<PRIx64>:\n"
-#: src/readelf.c:12943
+#: src/readelf.c:13352
#, c-format
msgid ""
"\n"
@@ -6386,7 +6414,7 @@ msgstr ""
"\n"
"Sekcja [%zu] „%s†nie ma ciągów do zrzucenia.\n"
-#: src/readelf.c:12975
+#: src/readelf.c:13384
#, c-format
msgid ""
"\n"
@@ -6395,7 +6423,7 @@ msgstr ""
"\n"
"Sekcja ciągów [%zu] „%s†zawiera %<PRIu64> B pod offsetem %#0<PRIx64>:\n"
-#: src/readelf.c:12980
+#: src/readelf.c:13389
#, c-format
msgid ""
"\n"
@@ -6406,7 +6434,7 @@ msgstr ""
"Sekcja ciągów [%zu] „%s†zawiera %<PRIu64> B (%zd nieskompresowanych) pod "
"offsetem %#0<PRIx64>:\n"
-#: src/readelf.c:13028
+#: src/readelf.c:13437
#, c-format
msgid ""
"\n"
@@ -6415,7 +6443,7 @@ msgstr ""
"\n"
"sekcja [%lu] nie istnieje"
-#: src/readelf.c:13058
+#: src/readelf.c:13467
#, c-format
msgid ""
"\n"
@@ -6424,12 +6452,12 @@ msgstr ""
"\n"
"sekcja „%s†nie istnieje"
-#: src/readelf.c:13113
+#: src/readelf.c:13522
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr "nie można uzyskać indeksu symboli archiwum „%sâ€: %s"
-#: src/readelf.c:13116
+#: src/readelf.c:13525
#, c-format
msgid ""
"\n"
@@ -6438,7 +6466,7 @@ msgstr ""
"\n"
"Archiwum „%s†nie ma indeksu symboli\n"
-#: src/readelf.c:13120
+#: src/readelf.c:13529
#, c-format
msgid ""
"\n"
@@ -6447,12 +6475,12 @@ msgstr ""
"\n"
"Indeks archiwum „%s†ma %zu wpisów:\n"
-#: src/readelf.c:13138
+#: src/readelf.c:13547
#, c-format
msgid "cannot extract member at offset %zu in '%s': %s"
msgstr "nie można wydobyć elementów pod offsetem %zu w „%sâ€: %s"
-#: src/readelf.c:13143
+#: src/readelf.c:13552
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "Element archiwum „%s†zawiera:\n"
@@ -6960,7 +6988,7 @@ msgstr "%s: błąd podczas aktualizowania nagłówka ELF: %s"
msgid "%s: error while getting shdrstrndx: %s"
msgstr "%s: błąd podczas uzyskiwania shdrstrndx: %s"
-#: src/strip.c:1712 src/strip.c:2553
+#: src/strip.c:1712 src/strip.c:2552
#, c-format
msgid "%s: error updating shdrstrndx: %s"
msgstr "%s: błąd podczas aktualizowania shdrstrndx: %s"
@@ -6994,7 +7022,7 @@ msgstr "brak pamięci do utworzenia tabeli ciągów nagłówka sekcji"
msgid "Cannot remove symbol [%zd] from allocated symbol table [%zd]"
msgstr "Nie można usunąć symbolu [%zd] z przydzielonej tabeli symboli [%zd]"
-#: src/strip.c:2469 src/strip.c:2577
+#: src/strip.c:2469 src/strip.c:2574
#, c-format
msgid "while writing '%s': %s"
msgstr "podczas zapisywania „%sâ€: %s"
@@ -7014,22 +7042,22 @@ msgstr "podczas obliczania sumy kontrolnej dla informacji debugowania"
msgid "%s: error while creating ELF header: %s"
msgstr "%s: błąd podczas tworzenia nagłówka ELF: %s"
-#: src/strip.c:2562
+#: src/strip.c:2560
#, c-format
msgid "%s: error while reading the file: %s"
msgstr "%s: błąd podczas odczytywania pliku: %s"
-#: src/strip.c:2602 src/strip.c:2622
+#: src/strip.c:2599 src/strip.c:2619
#, c-format
msgid "while writing '%s'"
msgstr "podczas zapisywania „%sâ€"
-#: src/strip.c:2659 src/strip.c:2666
+#: src/strip.c:2656 src/strip.c:2663
#, c-format
msgid "error while finishing '%s': %s"
msgstr "bÅ‚Ä…d podczas koÅ„czenia „%sâ€: %s"
-#: src/strip.c:2683 src/strip.c:2759
+#: src/strip.c:2680 src/strip.c:2756
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr "nie można ustawić czasu dostÄ™pu i modyfikacji „%sâ€"
@@ -7527,7 +7555,7 @@ msgstr ""
"source IDENTYFIKATOR-KOPII /NAZWA-PLIKU\n"
"source ŚCIEŻKA /NAZWA-PLIKU\n"
-#: tests/backtrace.c:483
+#: tests/backtrace.c:491
msgid "Run executable"
msgstr "Uruchamia plik wykonywalny"
@@ -7540,6 +7568,11 @@ msgid "Show instances of inlined functions"
msgstr "Wyświetla wystąpienia wstawionych funkcji"
#, c-format
+#~ msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
+#~ msgstr ""
+#~ "sekcja [%2d] „%sâ€: rozmiar wpisu sekcji nie zgadza siÄ™ z ElfXX_Rela\n"
+
+#, c-format
#~ msgid "cannot get .debug_addr section data: %s"
#~ msgstr "nie można uzyskać danych sekcji .debug_addr: %s"
diff --git a/po/uk.po b/po/uk.po
index 0d0609a6..86f43ddf 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: elfutils\n"
"Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n"
-"POT-Creation-Date: 2023-03-03 16:09+0100\n"
+"POT-Creation-Date: 2023-11-03 17:36+0100\n"
"PO-Revision-Date: 2020-03-28 14:59+0200\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <kde-i18n-uk@kde.org>\n"
@@ -53,7 +53,7 @@ msgstr ""
"початкових кодах. Умовами Ð»Ñ–Ñ†ÐµÐ½Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ ÐЕ передбачено жодних "
"гарантій, зокрема гарантій працездатноÑÑ‚Ñ– або придатноÑÑ‚Ñ– Ð´Ð»Ñ Ð¿ÐµÐ²Ð½Ð¾Ñ— мети.\n"
-#: lib/xmalloc.c:47 lib/xmalloc.c:60 lib/xmalloc.c:72 src/readelf.c:11793
+#: lib/xmalloc.c:47 lib/xmalloc.c:60 lib/xmalloc.c:72 src/readelf.c:12202
#: src/unstrip.c:311
#, c-format
msgid "memory exhausted"
@@ -541,7 +541,7 @@ msgstr "Ðемає Ñервера"
#: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:79
#: libebl/eblobjnotetypename.c:113 libebl/eblobjnotetypename.c:134
#: libebl/eblosabiname.c:73 libebl/eblsectionname.c:83
-#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:81
+#: libebl/eblsectiontypename.c:116 libebl/eblsegmenttypename.c:81
msgid "<unknown>"
msgstr "<невідомо>"
@@ -635,7 +635,7 @@ msgstr "некоректна розмірніÑÑ‚ÑŒ вхідного парамÐ
msgid "invalid size of destination operand"
msgstr "некоректна розмірніÑÑ‚ÑŒ вихідного параметра"
-#: libelf/elf_error.c:86 src/readelf.c:6415
+#: libelf/elf_error.c:86 src/readelf.c:6758
#, c-format
msgid "invalid encoding"
msgstr "некоректне кодуваннÑ"
@@ -720,8 +720,8 @@ msgstr "невідповідніÑÑ‚ÑŒ полів data/scn"
msgid "invalid section header"
msgstr "некоректний заголовок розділу"
-#: libelf/elf_error.c:190 src/readelf.c:10294 src/readelf.c:10899
-#: src/readelf.c:11000 src/readelf.c:11188
+#: libelf/elf_error.c:190 src/readelf.c:10637 src/readelf.c:11242
+#: src/readelf.c:11343 src/readelf.c:11531
#, c-format
msgid "invalid data"
msgstr "некоректні дані"
@@ -1384,8 +1384,8 @@ msgid "Suppress some error output (counterpart to --verbose)"
msgstr ""
#. Strings for arguments in help texts.
-#: src/elfclassify.c:979 src/elfcompress.c:1433 src/elflint.c:76
-#: src/readelf.c:160
+#: src/elfclassify.c:979 src/elfcompress.c:1436 src/elflint.c:77
+#: src/readelf.c:161
msgid "FILE..."
msgstr "ФÐЙЛ..."
@@ -1674,21 +1674,21 @@ msgid "unknown compression type '%s'"
msgstr "невідомий тип ÑтиÑÐ½ÐµÐ½Ð½Ñ Â«%s»"
#. We need at least one input file.
-#: src/elfcompress.c:162 src/elfcompress.c:1444
+#: src/elfcompress.c:162 src/elfcompress.c:1447
#, c-format
msgid "No input file given"
msgstr "Ðе надано файла вхідних даних"
-#: src/elfcompress.c:168 src/elfcompress.c:1448
+#: src/elfcompress.c:168 src/elfcompress.c:1451
#, c-format
msgid "Only one input file allowed together with '-o'"
msgstr "З параметром «-o» можна викориÑтовувати лише один файл вхідних даних"
-#: src/elfcompress.c:1405
+#: src/elfcompress.c:1408
msgid "Place (de)compressed output into FILE"
msgstr "ПоміÑтити результати Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ ÑтиÑÐºÐ°Ð½Ð½Ñ Ð´Ð¾ ФÐЙЛа"
-#: src/elfcompress.c:1408
+#: src/elfcompress.c:1411
#, fuzzy
#| msgid ""
#| "What type of compression to apply. TYPE can be 'none' (decompress), "
@@ -1705,7 +1705,7 @@ msgstr ""
"назва — «zlib-gabi») або «zlib-gnu» (ÑтиÑÐºÐ°Ð½Ð½Ñ Ñƒ Ñтилі GNU .zdebug, інша "
"назва — «gnu»)"
-#: src/elfcompress.c:1412
+#: src/elfcompress.c:1415
msgid ""
"SECTION name to (de)compress, SECTION is an extended wildcard pattern "
"(defaults to '.?(z)debug*')"
@@ -1713,12 +1713,12 @@ msgstr ""
"назва РОЗДІЛу Ð´Ð»Ñ Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ ÑтиÑканнÑ, РОЗДІЛ Ñ” розширеним взірцем із "
"замінниками (типове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ -- «.?(z)debug*»)"
-#: src/elfcompress.c:1415
+#: src/elfcompress.c:1418
msgid "Print a message for each section being (de)compressed"
msgstr ""
"ВивеÑти Ð¿Ð¾Ð²Ñ–Ð´Ð¾Ð¼Ð»ÐµÐ½Ð½Ñ Ð´Ð»Ñ ÐºÐ¾Ð¶Ð½Ð¾Ð³Ð¾ розділу, Ñкий розпаковуєтьÑÑ Ñ‡Ð¸ ÑтиÑкаєтьÑÑ"
-#: src/elfcompress.c:1418
+#: src/elfcompress.c:1421
msgid ""
"Force compression of section even if it would become larger or update/"
"rewrite the file even if no section would be (de)compressed"
@@ -1726,32 +1726,32 @@ msgstr ""
"ПримуÑове ÑтиÑÐºÐ°Ð½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ, навіть Ñкщо він Ñтане більшим, або Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ñ‡Ð¸ "
"Ð¿ÐµÑ€ÐµÐ·Ð°Ð¿Ð¸Ñ Ñ„Ð°Ð¹Ð»Ð°, навіть Ñкщо жодного розділу не буде розпаковано або ÑтиÑнено"
-#: src/elfcompress.c:1421 src/strip.c:92
+#: src/elfcompress.c:1424 src/strip.c:92
msgid "Relax a few rules to handle slightly broken ELF files"
msgstr ""
"Знехтувати декількома правилами Ð´Ð»Ñ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ трохи пошкоджених файлів ELF"
-#: src/elfcompress.c:1424
+#: src/elfcompress.c:1427
msgid "Be silent when a section cannot be compressed"
msgstr "Ðе Ñповіщати, Ñкщо розділ неможливо ÑтиÑнути"
-#: src/elfcompress.c:1434
+#: src/elfcompress.c:1437
msgid "Compress or decompress sections in an ELF file."
msgstr "СтиÑнути або розпакувати розділи у файлі ELF."
-#: src/elflint.c:62
+#: src/elflint.c:63
msgid "Be extremely strict, flag level 2 features."
msgstr "ВиÑока ÑтрогіÑÑ‚ÑŒ, увімкнути можливоÑÑ‚Ñ– Ñ€Ñ–Ð²Ð½Ñ 2."
-#: src/elflint.c:63
+#: src/elflint.c:64
msgid "Do not print anything if successful"
msgstr "Ðе виводити ніÑких даних у разі уÑпіху"
-#: src/elflint.c:64
+#: src/elflint.c:65
msgid "Binary is a separate debuginfo file"
msgstr "Бінарний файл є окремим файлом debuginfo"
-#: src/elflint.c:66
+#: src/elflint.c:67
msgid ""
"Binary has been created with GNU ld and is therefore known to be broken in "
"certain ways"
@@ -1760,173 +1760,173 @@ msgstr ""
"певної міри неправильним"
#. Short description of program.
-#: src/elflint.c:72
+#: src/elflint.c:73
msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
msgstr ""
"Педантична перевірка файлів ELF на ÑуміÑніÑÑ‚ÑŒ зі ÑпецифікаціÑми gABI/psABI."
-#: src/elflint.c:153 src/readelf.c:391
+#: src/elflint.c:154 src/readelf.c:413
#, c-format
msgid "cannot open input file '%s'"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ вхідний файл «%s»"
-#: src/elflint.c:160
+#: src/elflint.c:161
#, c-format
msgid "cannot generate Elf descriptor for '%s': %s\n"
msgstr "не вдалоÑÑ Ñтворити деÑкриптор Elf Ð´Ð»Ñ Â«%s»: %s\n"
-#: src/elflint.c:179
+#: src/elflint.c:180
#, c-format
msgid "error while closing Elf descriptor: %s\n"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð´ÐµÑкриптора Elf: %s\n"
-#: src/elflint.c:183
+#: src/elflint.c:184
msgid "No errors"
msgstr "Без помилок"
-#: src/elflint.c:218 src/readelf.c:603
+#: src/elflint.c:219 src/readelf.c:625
msgid "Missing file name.\n"
msgstr "Ðе вказано назви файла.\n"
-#: src/elflint.c:283
+#: src/elflint.c:284
#, c-format
msgid " error while freeing sub-ELF descriptor: %s\n"
msgstr " помилка під Ñ‡Ð°Ñ Ñпроби Ð²Ð¸Ð²Ñ–Ð»ÑŒÐ½ÐµÐ½Ð½Ñ Ð´ÐµÑкриптора Ñуб-ELF: %s\n"
#. We cannot do anything.
-#: src/elflint.c:291
+#: src/elflint.c:292
#, c-format
msgid "Not an ELF file - it has the wrong magic bytes at the start\n"
msgstr "Ðе Ñ” файлом ELF. ВиÑвлено помилкові магічні байти на початку файла\n"
-#: src/elflint.c:357
+#: src/elflint.c:358
#, c-format
msgid "e_ident[%d] == %d is no known class\n"
msgstr "e_ident[%d] == %d не Ñ” відомим клаÑом\n"
-#: src/elflint.c:362
+#: src/elflint.c:363
#, c-format
msgid "e_ident[%d] == %d is no known data encoding\n"
msgstr "e_ident[%d] == %d не Ñ” відомим кодуваннÑм даних\n"
-#: src/elflint.c:366
+#: src/elflint.c:367
#, c-format
msgid "unknown ELF header version number e_ident[%d] == %d\n"
msgstr "невідомий номер верÑÑ–Ñ— заголовка ELF e_ident[%d] == %d\n"
-#: src/elflint.c:374
+#: src/elflint.c:375
#, c-format
msgid "unsupported OS ABI e_ident[%d] == '%s'\n"
msgstr "непідтримуване ABI ОС e_ident[%d] == «%s»\n"
-#: src/elflint.c:380
+#: src/elflint.c:381
#, c-format
msgid "unsupported ABI version e_ident[%d] == %d\n"
msgstr "непідтримувана верÑÑ–Ñ ABI e_ident[%d] == %d\n"
-#: src/elflint.c:385
+#: src/elflint.c:386
#, c-format
msgid "e_ident[%zu] is not zero\n"
msgstr "e_ident[%zu] не дорівнює нулеві\n"
-#: src/elflint.c:390
+#: src/elflint.c:391
#, c-format
msgid "unknown object file type %d\n"
msgstr "невідомий тип об’єктних файлів %d\n"
-#: src/elflint.c:397
+#: src/elflint.c:398
#, c-format
msgid "unknown machine type %d\n"
msgstr "невідомий тип архітектури %d\n"
-#: src/elflint.c:401
+#: src/elflint.c:402
#, c-format
msgid "unknown object file version\n"
msgstr "невідома верÑÑ–Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ñ… файлів\n"
-#: src/elflint.c:407
+#: src/elflint.c:408
#, c-format
msgid "invalid program header offset\n"
msgstr "некоректне Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми\n"
-#: src/elflint.c:409
+#: src/elflint.c:410
#, c-format
msgid "executables and DSOs cannot have zero program header offset\n"
msgstr ""
"виконувані файли Ñ– DSO не можуть міÑтити заголовка програми з нульовим "
"зміщеннÑм\n"
-#: src/elflint.c:413
+#: src/elflint.c:414
#, c-format
msgid "invalid number of program header entries\n"
msgstr "некоректна кількіÑÑ‚ÑŒ запиÑів заголовків програми\n"
-#: src/elflint.c:421
+#: src/elflint.c:422
#, c-format
msgid "invalid section header table offset\n"
msgstr "некоректне Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– заголовків розділів\n"
-#: src/elflint.c:424
+#: src/elflint.c:425
#, c-format
msgid "section header table must be present\n"
msgstr "має бути вказано таблицю заголовків розділів\n"
-#: src/elflint.c:438
+#: src/elflint.c:439
#, c-format
msgid "invalid number of section header table entries\n"
msgstr "некоректна кількіÑÑ‚ÑŒ запиÑів таблиці заголовків розділів\n"
-#: src/elflint.c:455
+#: src/elflint.c:456
#, c-format
msgid "invalid section header index\n"
msgstr "некоректний Ñ–Ð½Ð´ÐµÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° розділу\n"
-#: src/elflint.c:473
+#: src/elflint.c:474
#, c-format
msgid "Can only check %u headers, shnum was %u\n"
msgstr "Можна перевірити лише %u заголовків, значеннÑм же shnum було %u\n"
-#: src/elflint.c:487
+#: src/elflint.c:488
#, c-format
msgid "invalid number of program header table entries\n"
msgstr "некоректна кількіÑÑ‚ÑŒ запиÑів таблиці заголовків програми\n"
-#: src/elflint.c:504
+#: src/elflint.c:505
#, c-format
msgid "Can only check %u headers, phnum was %u\n"
msgstr "Можна перевірити лише %u заголовків, значеннÑм же phnum було %u\n"
-#: src/elflint.c:509
+#: src/elflint.c:510
#, c-format
msgid "invalid machine flags: %s\n"
msgstr "некоректні прапорці архітектури: %s\n"
-#: src/elflint.c:516 src/elflint.c:533
+#: src/elflint.c:517 src/elflint.c:534
#, c-format
msgid "invalid ELF header size: %hd\n"
msgstr "некоректний розмір заголовка ELF: %hd\n"
-#: src/elflint.c:519 src/elflint.c:536
+#: src/elflint.c:520 src/elflint.c:537
#, c-format
msgid "invalid program header size: %hd\n"
msgstr "некоректний розмір заголовка програми: %hd\n"
-#: src/elflint.c:522 src/elflint.c:539
+#: src/elflint.c:523 src/elflint.c:540
#, c-format
msgid "invalid program header position or size\n"
msgstr "некоректне Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ розмір заголовка програми\n"
-#: src/elflint.c:525 src/elflint.c:542
+#: src/elflint.c:526 src/elflint.c:543
#, c-format
msgid "invalid section header size: %hd\n"
msgstr "некоректний розмір заголовка розділу: %hd\n"
-#: src/elflint.c:528 src/elflint.c:545
+#: src/elflint.c:529 src/elflint.c:546
#, c-format
msgid "invalid section header position or size\n"
msgstr "некоректне Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ розмір заголовка розділу\n"
-#: src/elflint.c:590
+#: src/elflint.c:591
#, c-format
msgid ""
"section [%2d] '%s': section with SHF_GROUP flag set not part of a section "
@@ -1935,7 +1935,7 @@ msgstr ""
"розділ [%2d] «%s»: розділ з вÑтановленим прапорцем SHF_GROUP не Ñ” чаÑтиною "
"групи розділів\n"
-#: src/elflint.c:594
+#: src/elflint.c:595
#, c-format
msgid ""
"section [%2d] '%s': section group [%2zu] '%s' does not precede group member\n"
@@ -1943,14 +1943,14 @@ msgstr ""
"розділ [%2d] «%s»: групу розділів [%2zu] «%s» мало бути визначено до розділу-"
"елемента цієї групи\n"
-#: src/elflint.c:610 src/elflint.c:1498 src/elflint.c:1549 src/elflint.c:1655
-#: src/elflint.c:1991 src/elflint.c:2317 src/elflint.c:2943 src/elflint.c:3106
-#: src/elflint.c:3254 src/elflint.c:3456 src/elflint.c:4468
+#: src/elflint.c:611 src/elflint.c:1509 src/elflint.c:1560 src/elflint.c:1610
+#: src/elflint.c:1692 src/elflint.c:2029 src/elflint.c:2355 src/elflint.c:2981
+#: src/elflint.c:3144 src/elflint.c:3292 src/elflint.c:3494 src/elflint.c:4511
#, c-format
msgid "section [%2d] '%s': cannot get section data\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу\n"
-#: src/elflint.c:623 src/elflint.c:1662
+#: src/elflint.c:624 src/elflint.c:1699
#, c-format
msgid ""
"section [%2d] '%s': referenced as string table for section [%2d] '%s' but "
@@ -1959,7 +1959,7 @@ msgstr ""
"розділ [%2d] «%s»: надано поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° таблицю Ñ€Ñдків розділу [%2d] «%s», "
"але типом даних не є SHT_STRTAB\n"
-#: src/elflint.c:646
+#: src/elflint.c:647
#, c-format
msgid ""
"section [%2d] '%s': symbol table cannot have more than one extended index "
@@ -1968,12 +1968,12 @@ msgstr ""
"розділ [%2d] «%s»: у таблиці Ñимволів не може бути більше одного розширеного "
"розділу покажчика\n"
-#: src/elflint.c:658
+#: src/elflint.c:659
#, c-format
msgid "section [%2u] '%s': entry size is does not match ElfXX_Sym\n"
msgstr "розділ [%2u] «%s»: розмірніÑÑ‚ÑŒ запиÑу не відповідає ElfXX_Sym\n"
-#: src/elflint.c:662
+#: src/elflint.c:663
#, c-format
msgid ""
"section [%2u] '%s': number of local entries in 'st_info' larger than table "
@@ -1982,33 +1982,33 @@ msgstr ""
"розділ [%2u] «%s»: кількіÑÑ‚ÑŒ локальних запиÑів у «st_info» перевищує розмір "
"таблиці\n"
-#: src/elflint.c:671
+#: src/elflint.c:672
#, c-format
msgid "section [%2d] '%s': cannot get symbol %d: %s\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ñимвол %d: %s\n"
-#: src/elflint.c:676 src/elflint.c:679 src/elflint.c:682 src/elflint.c:685
-#: src/elflint.c:688 src/elflint.c:691
+#: src/elflint.c:677 src/elflint.c:680 src/elflint.c:683 src/elflint.c:686
+#: src/elflint.c:689 src/elflint.c:692
#, c-format
msgid "section [%2d] '%s': '%s' in zeroth entry not zero\n"
msgstr "розділ [%2d] «%s»: «%s» у нульовому запиÑÑ– не Ñ” нулем\n"
-#: src/elflint.c:694
+#: src/elflint.c:695
#, c-format
msgid "section [%2d] '%s': XINDEX for zeroth entry not zero\n"
msgstr "розділ [%2d] «%s»: XINDEX Ð´Ð»Ñ Ð½ÑƒÐ»ÑŒÐ¾Ð²Ð¾Ð³Ð¾ запиÑу не Ñ” нулем\n"
-#: src/elflint.c:704
+#: src/elflint.c:705
#, c-format
msgid "section [%2d] '%s': cannot get symbol %zu: %s\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ñимвол %zu: %s\n"
-#: src/elflint.c:713
+#: src/elflint.c:714
#, c-format
msgid "section [%2d] '%s': symbol %zu: invalid name value\n"
msgstr "розділ [%2d] «%s»: Ñимвол %zu: некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ð°Ð·Ð²Ð¸\n"
-#: src/elflint.c:728
+#: src/elflint.c:729
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): too large section index but no extended "
@@ -2017,7 +2017,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: занадто великий покажчик розділу за умови, що "
"не визначено розділу розширеного покажчика розділів\n"
-#: src/elflint.c:734
+#: src/elflint.c:735
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): XINDEX used for index which would fit "
@@ -2027,29 +2027,29 @@ msgstr ""
"відповідає st_shndx (%<PRIu32>)\n"
#. || sym->st_shndx > SHN_HIRESERVE always false
-#: src/elflint.c:746
+#: src/elflint.c:747
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): invalid section index\n"
msgstr "розділ [%2d] «%s»: Ñимвол %zu: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ\n"
-#: src/elflint.c:754
+#: src/elflint.c:755
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unknown type\n"
msgstr "розділ [%2d] «%s»: Ñимвол %zu: невідомий тип\n"
-#: src/elflint.c:760
+#: src/elflint.c:761
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unknown symbol binding\n"
msgstr "розділ [%2d] «%s»: Ñимвол %zu: невідома прив’Ñзка Ñимволу\n"
-#: src/elflint.c:765
+#: src/elflint.c:766
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unique symbol not of object type\n"
msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: унікальний Ñимвол, що не належить до типу "
"об’єктів\n"
-#: src/elflint.c:773
+#: src/elflint.c:774
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): COMMON only allowed in relocatable "
@@ -2058,7 +2058,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: COMMON можна викориÑтовувати лише у файлах, "
"придатних до переÑуваннÑ\n"
-#: src/elflint.c:777
+#: src/elflint.c:778
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): local COMMON symbols are nonsense\n"
@@ -2066,7 +2066,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: викориÑÑ‚Ð°Ð½Ð½Ñ Ð»Ð¾ÐºÐ°Ð»ÑŒÐ½Ð¸Ñ… Ñимволів COMMON "
"позбавлене ÑенÑу\n"
-#: src/elflint.c:781
+#: src/elflint.c:782
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): function in COMMON section is nonsense\n"
@@ -2074,13 +2074,13 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: викориÑÑ‚Ð°Ð½Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— у розділі COMMON "
"позбавлене ÑенÑу\n"
-#: src/elflint.c:832
+#: src/elflint.c:833
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): st_value out of bounds\n"
msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ st_value поза можливим діапазоном\n"
-#: src/elflint.c:838 src/elflint.c:863 src/elflint.c:912
+#: src/elflint.c:839 src/elflint.c:864 src/elflint.c:913
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s) does not fit completely in referenced "
@@ -2089,7 +2089,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu не повніÑÑ‚ÑŽ відповідає розділу, на Ñкий "
"поÑилаєтьÑÑ, [%2d] «%s»\n"
-#: src/elflint.c:847
+#: src/elflint.c:848
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): referenced section [%2d] '%s' does not "
@@ -2098,7 +2098,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ поÑÐ¸Ð»Ð°Ð½Ð½Ñ [%2d] «%s» не "
"вÑтановлено прапорець SHF_TLS\n"
-#: src/elflint.c:857 src/elflint.c:905
+#: src/elflint.c:858 src/elflint.c:906
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): st_value out of bounds of referenced "
@@ -2107,7 +2107,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ st_value поза межами розділу "
"поÑиланнÑ, [%2d] «%s»\n"
-#: src/elflint.c:884
+#: src/elflint.c:885
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): TLS symbol but no TLS program header "
@@ -2115,7 +2115,7 @@ msgid ""
msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: Ñимвол TLS без запиÑу заголовка програми TLS\n"
-#: src/elflint.c:890
+#: src/elflint.c:891
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): TLS symbol but couldn't get TLS program "
@@ -2124,7 +2124,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: маємо Ñимвол TLS, але не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ "
"Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми TLS\n"
-#: src/elflint.c:898
+#: src/elflint.c:899
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): st_value short of referenced section "
@@ -2133,7 +2133,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ st_value перед розділом поÑиланнÑ, "
"[%2d] «%s»\n"
-#: src/elflint.c:925
+#: src/elflint.c:926
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): local symbol outside range described in "
@@ -2142,7 +2142,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: у sh_info опиÑано локальний Ñимвол поза "
"діапазоном\n"
-#: src/elflint.c:932
+#: src/elflint.c:933
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): non-local symbol outside range "
@@ -2151,12 +2151,12 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: у sh_info опиÑано нелокальний Ñимвол поза "
"діапазоном\n"
-#: src/elflint.c:939
+#: src/elflint.c:940
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): non-local section symbol\n"
msgstr "розділ [%2d] «%s»: Ñимвол %zu: нелокальний Ñимвол розділу\n"
-#: src/elflint.c:989
+#: src/elflint.c:990
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section "
@@ -2165,7 +2165,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол _GLOBAL_OFFSET_TABLE_ поÑилаєтьÑÑ Ð½Ð° помилковий "
"розділ, [%2d]\n"
-#: src/elflint.c:996
+#: src/elflint.c:997
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] "
@@ -2177,7 +2177,7 @@ msgstr ""
#. This test is more strict than the psABIs which
#. usually allow the symbol to be in the middle of
#. the .got section, allowing negative offsets.
-#: src/elflint.c:1012
+#: src/elflint.c:1013
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
@@ -2186,7 +2186,7 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñимволу _GLOBAL_OFFSET_TABLE_ %#<PRIx64> не "
"відповідає адреÑÑ– розділу %s %#<PRIx64>\n"
-#: src/elflint.c:1019
+#: src/elflint.c:1020
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
@@ -2195,7 +2195,7 @@ msgstr ""
"розділ [%2d] «%s»: розмір Ñимволу _GLOBAL_OFFSET_TABLE_ %<PRIu64> не "
"відповідає розміру розділу %s %<PRIu64>\n"
-#: src/elflint.c:1027
+#: src/elflint.c:1028
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
@@ -2204,7 +2204,7 @@ msgstr ""
"розділ [%2d] «%s»: виÑвлено Ñимвол _GLOBAL_OFFSET_TABLE_, але не виÑвлено "
"розділу .got\n"
-#: src/elflint.c:1043
+#: src/elflint.c:1044
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
@@ -2213,7 +2213,7 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñимволу _DYNAMIC_ %#<PRIx64> не відповідає "
"адреÑÑ– динамічного Ñегмента %#<PRIx64>\n"
-#: src/elflint.c:1050
+#: src/elflint.c:1051
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
@@ -2222,7 +2222,7 @@ msgstr ""
"розділ [%2d] «%s»: розмір Ñимволу _DYNAMIC %<PRIu64> не відповідає розміру "
"динамічного Ñегмента %<PRIu64>\n"
-#: src/elflint.c:1063
+#: src/elflint.c:1064
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu (%s): symbol in dynamic symbol table with non-"
@@ -2231,29 +2231,29 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: Ñимвол у динамічній таблиці Ñимволів з "
"нетиповою видиміÑÑ‚ÑŽ\n"
-#: src/elflint.c:1067
+#: src/elflint.c:1068
#, fuzzy, c-format
msgid "section [%2d] '%s': symbol %zu (%s): unknown bit set in st_other\n"
msgstr "розділ [%2d] «%s»: Ñимвол %zu: невідомий набір бітів у st_other\n"
-#: src/elflint.c:1105
+#: src/elflint.c:1106
#, c-format
msgid "section [%2d] '%s': cannot get section data.\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу.\n"
-#: src/elflint.c:1121
+#: src/elflint.c:1122
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
msgstr "розділ [%2d] «%s»: Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ розділу RELA викориÑтано DT_RELCOUNT\n"
-#: src/elflint.c:1132 src/elflint.c:1185
+#: src/elflint.c:1133 src/elflint.c:1186
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
msgstr ""
"розділ [%2d] «%s»: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ DT_RELCOUNT %d Ñ” занадто виÑоким Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ "
"розділу\n"
-#: src/elflint.c:1157 src/elflint.c:1210
+#: src/elflint.c:1158 src/elflint.c:1211
#, c-format
msgid ""
"section [%2d] '%s': relative relocations after index %d as specified by "
@@ -2262,7 +2262,7 @@ msgstr ""
"розділ [%2d] «%s»: відноÑні переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ–ÑÐ»Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ— %d, вказаної за "
"допомогою DT_RELCOUNT\n"
-#: src/elflint.c:1163 src/elflint.c:1216
+#: src/elflint.c:1164 src/elflint.c:1217
#, c-format
msgid ""
"section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
@@ -2271,27 +2271,27 @@ msgstr ""
"розділ [%2d] «%s»: безвідноÑне переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° позиції %zu; DT_RELCOUNT "
"визначено %d відноÑних переÑуваннÑ\n"
-#: src/elflint.c:1175
+#: src/elflint.c:1176
#, c-format
msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
msgstr "розділ [%2d] «%s»: Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ розділу REL викориÑтано DT_RELACOUNT\n"
-#: src/elflint.c:1258
+#: src/elflint.c:1259
#, c-format
msgid "section [%2d] '%s': invalid destination section index\n"
msgstr "розділ [%2d] «%s»: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ призначеннÑ\n"
-#: src/elflint.c:1270
+#: src/elflint.c:1271
#, c-format
msgid "section [%2d] '%s': invalid destination section type\n"
msgstr "розділ [%2d] «%s»: некоректний тип розділу призначеннÑ\n"
-#: src/elflint.c:1278
+#: src/elflint.c:1279
#, c-format
msgid "section [%2d] '%s': sh_info should be zero\n"
msgstr "розділ [%2d] «%s»: sh_info має бути нульовим\n"
-#: src/elflint.c:1286
+#: src/elflint.c:1287
#, c-format
msgid ""
"section [%2d] '%s': no relocations for merge-able string sections possible\n"
@@ -2299,25 +2299,19 @@ msgstr ""
"розділ [%2d] «%s»: неможливі переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² Ñ€Ñдків, Ñкі непридатні "
"до об'єднаннÑ\n"
-#: src/elflint.c:1294
-#, c-format
-msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
-msgstr ""
-"розділ [%2d] «%s»: розмірніÑÑ‚ÑŒ запиÑу розділу не відповідає ElfXX_Rela\n"
-
-#: src/elflint.c:1354
+#: src/elflint.c:1365
#, c-format
msgid "text relocation flag set but there is no read-only segment\n"
msgstr ""
"вÑтановлено прапорець переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÑту, але Ñегмент придатний лише до "
"читаннÑ\n"
-#: src/elflint.c:1381
+#: src/elflint.c:1392
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid type\n"
msgstr "розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: некоректний тип\n"
-#: src/elflint.c:1389
+#: src/elflint.c:1400
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: relocation type invalid for the file "
@@ -2326,12 +2320,12 @@ msgstr ""
"розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: некоректний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ñƒ "
"файла\n"
-#: src/elflint.c:1397
+#: src/elflint.c:1408
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
msgstr "розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñимволу\n"
-#: src/elflint.c:1415
+#: src/elflint.c:1426
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
@@ -2340,12 +2334,12 @@ msgstr ""
"розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: з %s можна викориÑтовувати лише Ñимвол "
"«_GLOBAL_OFFSET_TABLE_»\n"
-#: src/elflint.c:1432
+#: src/elflint.c:1443
#, c-format
msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
msgstr "розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð·Ð° межі діапазону\n"
-#: src/elflint.c:1447
+#: src/elflint.c:1458
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: copy relocation against symbol of type "
@@ -2354,7 +2348,7 @@ msgstr ""
"розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: переÑÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ñимволу типу "
"%s\n"
-#: src/elflint.c:1468
+#: src/elflint.c:1479
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: read-only section modified but text "
@@ -2363,22 +2357,22 @@ msgstr ""
"розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: змінено придатний лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ "
"розділ, але не вÑтановлено прапорець переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÑту\n"
-#: src/elflint.c:1483
+#: src/elflint.c:1494
#, c-format
msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
msgstr "розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð¸Ñ… Ñ– незавантажених даних\n"
-#: src/elflint.c:1523 src/elflint.c:1574
+#: src/elflint.c:1534 src/elflint.c:1585
#, c-format
msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: %s\n"
-#: src/elflint.c:1650
+#: src/elflint.c:1687
#, c-format
msgid "more than one dynamic section present\n"
msgstr "вказано більше одного динамічного розділу\n"
-#: src/elflint.c:1668
+#: src/elflint.c:1705
#, c-format
msgid ""
"section [%2d]: referenced as string table for section [%2d] '%s' but section "
@@ -2387,46 +2381,46 @@ msgstr ""
"розділ [%2d]: надано поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° таблицю Ñ€Ñдків розділу [%2d] «%s», але "
"Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾ÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ Ñ” некоректним\n"
-#: src/elflint.c:1676
+#: src/elflint.c:1713
#, c-format
msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
msgstr ""
"розділ [%2d] «%s»: розмірніÑÑ‚ÑŒ запиÑу розділу не відповідає ElfXX_Dyn\n"
-#: src/elflint.c:1681 src/elflint.c:1970
+#: src/elflint.c:1718 src/elflint.c:2008
#, c-format
msgid "section [%2d] '%s': sh_info not zero\n"
msgstr "розділ [%2d] «%s»: sh_info не є нульовим\n"
-#: src/elflint.c:1691
+#: src/elflint.c:1728
#, c-format
msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
msgstr ""
"розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ розділу %zu: %s\n"
-#: src/elflint.c:1699
+#: src/elflint.c:1736
#, c-format
msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
msgstr ""
"розділ [%2d] «%s»: за запиÑом DT_NULL вказано запиÑи, що не належать до "
"DT_NULL\n"
-#: src/elflint.c:1706
+#: src/elflint.c:1743
#, c-format
msgid "section [%2d] '%s': entry %zu: unknown tag\n"
msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %zu: невідома мітка\n"
-#: src/elflint.c:1717
+#: src/elflint.c:1754
#, c-format
msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %zu: декілька запиÑів з міткою %s\n"
-#: src/elflint.c:1727
+#: src/elflint.c:1764
#, c-format
msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %zu: викориÑтано мітку Ñ€Ñ–Ð²Ð½Ñ 2 %s\n"
-#: src/elflint.c:1745
+#: src/elflint.c:1782
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
@@ -2434,7 +2428,7 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %zu: значеннÑм DT_PLTREL має бути DT_REL або "
"DT_RELA\n"
-#: src/elflint.c:1758
+#: src/elflint.c:1795
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: pointer does not match address of section "
@@ -2443,7 +2437,7 @@ msgstr ""
"розділ [%2d] «%s»: розділ %zu: вказівник не відповідає адреÑÑ– розділу [%2d] "
"«%s», на Ñку поÑилаєтьÑÑ sh_link\n"
-#: src/elflint.c:1801
+#: src/elflint.c:1839
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
@@ -2451,7 +2445,7 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %zu: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %s має вказувати на завантажений "
"Ñегмент\n"
-#: src/elflint.c:1816
+#: src/elflint.c:1854
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must be valid offset in section "
@@ -2460,48 +2454,48 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %zu: значеннÑм %s має бути коректне Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñƒ "
"розділі [%2d] «%s»\n"
-#: src/elflint.c:1836 src/elflint.c:1864
+#: src/elflint.c:1874 src/elflint.c:1902
#, c-format
msgid "section [%2d] '%s': contains %s entry but not %s\n"
msgstr "розділ [%2d] «%s»: міÑтить Ð·Ð°Ð¿Ð¸Ñ %s, але не %s\n"
-#: src/elflint.c:1848
+#: src/elflint.c:1886
#, c-format
msgid "section [%2d] '%s': mandatory tag %s not present\n"
msgstr "розділ [%2d] «%s»: немає обов’Ñзкової мітки %s\n"
-#: src/elflint.c:1857
+#: src/elflint.c:1895
#, c-format
msgid "section [%2d] '%s': no hash section present\n"
msgstr "розділ [%2d] «%s»: не виÑвлено розділу хешів\n"
-#: src/elflint.c:1872 src/elflint.c:1879
+#: src/elflint.c:1910 src/elflint.c:1917
#, c-format
msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
msgstr "розділ [%2d] «%s»: вказано не вÑÑ– зі значень %s, %s Ñ– %s\n"
-#: src/elflint.c:1889 src/elflint.c:1893
+#: src/elflint.c:1927 src/elflint.c:1931
#, c-format
msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
msgstr ""
"розділ [%2d] «%s»: у DSO, позначеному на кроці попереднього компонуваннÑ, "
"немає мітки %s\n"
-#: src/elflint.c:1899
+#: src/elflint.c:1937
#, c-format
msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
msgstr ""
"розділ [%2d] «%s»: під Ñ‡Ð°Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñк залежніÑÑ‚ÑŒ позначено "
"файл, Ñкий не Ñ” файлом DSO\n"
-#: src/elflint.c:1910 src/elflint.c:1914 src/elflint.c:1918 src/elflint.c:1922
+#: src/elflint.c:1948 src/elflint.c:1952 src/elflint.c:1956 src/elflint.c:1960
#, c-format
msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
msgstr ""
"розділ [%2d] «%s»: у попередньо Ñкомпонованому виконуваному файлі не "
"міÑтитьÑÑ Ð¼Ñ–Ñ‚ÐºÐ¸ %s\n"
-#: src/elflint.c:1934
+#: src/elflint.c:1972
#, c-format
msgid ""
"section [%2d] '%s': only relocatable files can have extended section index\n"
@@ -2509,7 +2503,7 @@ msgstr ""
"розділ [%2d] «%s»: розширений розділ покажчика можуть мати лише файли, "
"придатні до переÑуваннÑ\n"
-#: src/elflint.c:1944
+#: src/elflint.c:1982
#, c-format
msgid ""
"section [%2d] '%s': extended section index section not for symbol table\n"
@@ -2517,29 +2511,29 @@ msgstr ""
"розділ [%2d] «%s»: розділ розширеного покажчика розділів не призначено Ð´Ð»Ñ "
"таблиць Ñимволів\n"
-#: src/elflint.c:1948
+#: src/elflint.c:1986
#, c-format
msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n"
msgstr ""
"розділ [%2d] «%s»: Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ð³Ð¾ розділу sh_link [%2d] Ñ” некоректним\n"
-#: src/elflint.c:1953
+#: src/elflint.c:1991
#, c-format
msgid "cannot get data for symbol section\n"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñимволів\n"
-#: src/elflint.c:1956
+#: src/elflint.c:1994
#, c-format
msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
msgstr "розділ [%2d] «%s»: розмірніÑÑ‚ÑŒ запиÑу не відповідає Elf32_Word\n"
-#: src/elflint.c:1965
+#: src/elflint.c:2003
#, c-format
msgid "section [%2d] '%s': extended index table too small for symbol table\n"
msgstr ""
"розділ [%2d] «%s»: розширена Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¿Ð¾ÐºÐ°Ð¶Ñ‡Ð¸ÐºÐ° замала Ð´Ð»Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñимволів\n"
-#: src/elflint.c:1980
+#: src/elflint.c:2018
#, c-format
msgid ""
"section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
@@ -2548,24 +2542,24 @@ msgstr ""
"розділ [%2d] «%s»: розширений покажчик розділів у розділі [%2zu] «%s» "
"поÑилаєтьÑÑ Ð½Ð° ту Ñаму таблицю розділів\n"
-#: src/elflint.c:1998
+#: src/elflint.c:2036
#, c-format
msgid "symbol 0 should have zero extended section index\n"
msgstr "Ñимволу 0 має відповідати нульовий Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ð³Ð¾ розділу\n"
-#: src/elflint.c:2010
+#: src/elflint.c:2048
#, c-format
msgid "cannot get data for symbol %zu\n"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñимволу %zu\n"
-#: src/elflint.c:2015
+#: src/elflint.c:2053
#, c-format
msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
msgstr ""
"Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ð³Ð¾ розділу дорівнює %<PRIu32>, але Ñ–Ð½Ð´ÐµÐºÑ Ñимволу не Ñ” "
"XINDEX\n"
-#: src/elflint.c:2032 src/elflint.c:2089
+#: src/elflint.c:2070 src/elflint.c:2127
#, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
@@ -2573,43 +2567,43 @@ msgstr ""
"розділ [%2d] «%s»: розділ таблиці хешів занадто малий (розмір %ld, мало бути "
"— %ld)\n"
-#: src/elflint.c:2046 src/elflint.c:2103
+#: src/elflint.c:2084 src/elflint.c:2141
#, c-format
msgid "section [%2d] '%s': chain array too large\n"
msgstr "розділ [%2d] «%s»: маÑив ланцюжка занадто великий\n"
-#: src/elflint.c:2060 src/elflint.c:2117
+#: src/elflint.c:2098 src/elflint.c:2155
#, c-format
msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
msgstr ""
"розділ [%2d] «%s»: поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° хеш блоку %zu лежить поза межами діапазону\n"
-#: src/elflint.c:2070
+#: src/elflint.c:2108
#, c-format
msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
msgstr ""
"розділ [%2d] «%s»: поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð»Ð°Ð½Ñ†ÑŽÐ¶ÐºÐ° хешів %zu лежить поза межами "
"діапазону\n"
-#: src/elflint.c:2127
+#: src/elflint.c:2165
#, c-format
msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
msgstr ""
"розділ [%2d] «%s»: поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð»Ð°Ð½Ñ†ÑŽÐ¶ÐºÐ° хешів %<PRIu64> лежить поза межами "
"діапазону\n"
-#: src/elflint.c:2140
+#: src/elflint.c:2178
#, c-format
msgid "section [%2d] '%s': not enough data\n"
msgstr "розділ [%2d] «%s»: недоÑтатньо даних\n"
-#: src/elflint.c:2152
+#: src/elflint.c:2190
#, c-format
msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n"
msgstr ""
"розділ [%2d] «%s»: розмір бітової маÑки Ñ” нульовим або не Ñ” Ñтепенем 2: %u\n"
-#: src/elflint.c:2168
+#: src/elflint.c:2206
#, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected at "
@@ -2618,12 +2612,12 @@ msgstr ""
"розділ [%2d] «%s»: розділ таблиці хешів є надто малим (маємо %ld, мало бути "
"принаймні %ld)\n"
-#: src/elflint.c:2177
+#: src/elflint.c:2215
#, c-format
msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
msgstr "розділ [%2d] «%s»: зÑув 2-ої функції Ñ…ÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ великий: %u\n"
-#: src/elflint.c:2211
+#: src/elflint.c:2249
#, c-format
msgid ""
"section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
@@ -2631,7 +2625,7 @@ msgstr ""
"розділ [%2d] '%s': ланцюжок хешів Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÑƒ %zu розташовано нижче за позицію "
"Ð²Ñ–Ð´Ñ…Ð¸Ð»ÐµÐ½Ð½Ñ Ñ–Ð½Ð´ÐµÐºÑу Ñимволу\n"
-#: src/elflint.c:2232
+#: src/elflint.c:2270
#, c-format
msgid ""
"section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
@@ -2640,7 +2634,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %u, на Ñкий поÑилаєтьÑÑ Ð»Ð°Ð½Ñ†ÑŽÐ¶Ð¾Ðº у блоці %zu не "
"визначено\n"
-#: src/elflint.c:2245
+#: src/elflint.c:2283
#, c-format
msgid ""
"section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
@@ -2648,7 +2642,7 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ…ÐµÑˆÑƒ Ð´Ð»Ñ Ñимволу %u у ланцюжку Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÑƒ %zu Ñ” "
"помилковим\n"
-#: src/elflint.c:2254
+#: src/elflint.c:2292
#, c-format
msgid ""
"section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n"
@@ -2656,14 +2650,14 @@ msgstr ""
"розділ [%2d] «%s»: Ñ–Ð½Ð´ÐµÐºÑ Ð¼Ð°Ñки Ð´Ð»Ñ Ñимволу %u у ланцюжку Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÑƒ %zu Ñ” "
"помилковим\n"
-#: src/elflint.c:2284
+#: src/elflint.c:2322
#, c-format
msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
msgstr ""
"розділ [%2d] «%s»: ланцюжок хешів Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÑƒ %zu лежить поза межами "
"діапазону\n"
-#: src/elflint.c:2289
+#: src/elflint.c:2327
#, c-format
msgid ""
"section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
@@ -2671,43 +2665,43 @@ msgstr ""
"розділ [%2d] «%s»: поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° Ñимвол у ланцюжку Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÑƒ %zu лежить поза "
"межами діапазону\n"
-#: src/elflint.c:2295
+#: src/elflint.c:2333
#, c-format
msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
msgstr "розділ [%2d] «%s»: бітова маÑка не відповідає назвам у таблиці хешів\n"
-#: src/elflint.c:2308
+#: src/elflint.c:2346
#, c-format
msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
msgstr ""
"розділ [%2d] «%s»: придатні до переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð¸ не можуть міÑтити таблиць "
"хешів\n"
-#: src/elflint.c:2326
+#: src/elflint.c:2364
#, c-format
msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
msgstr ""
"розділ [%2d] «%s»: таблицю хешів не призначено Ð´Ð»Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– "
"динамічних Ñимволів\n"
-#: src/elflint.c:2330
+#: src/elflint.c:2368
#, c-format
msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n"
msgstr ""
"розділ [%2d] «%s»: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ таблиці Ñимволів sh_link "
"[%2d]\n"
-#: src/elflint.c:2340
+#: src/elflint.c:2378
#, c-format
msgid "section [%2d] '%s': hash table entry size incorrect\n"
msgstr "розділ [%2d] «%s»: розмірніÑÑ‚ÑŒ запиÑу таблиці хешів Ñ” некоректною\n"
-#: src/elflint.c:2345
+#: src/elflint.c:2383
#, c-format
msgid "section [%2d] '%s': not marked to be allocated\n"
msgstr "розділ [%2d] «%s»: не позначено Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑуваннÑ\n"
-#: src/elflint.c:2350
+#: src/elflint.c:2388
#, c-format
msgid ""
"section [%2d] '%s': hash table has not even room for initial administrative "
@@ -2716,27 +2710,27 @@ msgstr ""
"розділ [%2d] «%s»: у таблиці хешів виÑвлено незвичайне Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ "
"початкових адмініÑтративних запиÑів\n"
-#: src/elflint.c:2399
+#: src/elflint.c:2437
#, c-format
msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
msgstr "sh_link у розділах хешів [%2zu] «%s» Ñ– [%2zu] «%s» не збігаютьÑÑ\n"
-#: src/elflint.c:2423 src/elflint.c:2488 src/elflint.c:2523
+#: src/elflint.c:2461 src/elflint.c:2526 src/elflint.c:2561
#, c-format
msgid "hash section [%2zu] '%s' does not contain enough data\n"
msgstr "розділ хешу [%2zu] «%s» міÑтить недоÑтатньо даних\n"
-#: src/elflint.c:2444
+#: src/elflint.c:2482
#, c-format
msgid "hash section [%2zu] '%s' has zero bit mask words\n"
msgstr "розділ хешу [%2zu] «%s» міÑтить нульові Ñлова бітової маÑки\n"
-#: src/elflint.c:2455 src/elflint.c:2499 src/elflint.c:2536
+#: src/elflint.c:2493 src/elflint.c:2537 src/elflint.c:2574
#, c-format
msgid "hash section [%2zu] '%s' uses too much data\n"
msgstr "розділ хешу [%2zu] «%s» викориÑтовує надто багато даних\n"
-#: src/elflint.c:2470
+#: src/elflint.c:2508
#, c-format
msgid ""
"hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: "
@@ -2745,17 +2739,17 @@ msgstr ""
"розділ хешу [%2zu] «%s» некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñимволу %<PRIu32> (макÑ. к-Ñ‚ÑŒ "
"Ñимволів: %<PRIu32>, кількіÑÑ‚ÑŒ запиÑів: %<PRIu32>\n"
-#: src/elflint.c:2557
+#: src/elflint.c:2595
#, c-format
msgid "hash section [%2zu] '%s' invalid sh_entsize\n"
msgstr "розділ хешу [%2zu] «%s» некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ sh_entsize\n"
-#: src/elflint.c:2567 src/elflint.c:2571
+#: src/elflint.c:2605 src/elflint.c:2609
#, c-format
msgid "section [%2zu] '%s': reference to symbol index 0\n"
msgstr "розділ [%2zu] «%s»: поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° Ñ–Ð½Ð´ÐµÐºÑ Ñимволів 0\n"
-#: src/elflint.c:2578
+#: src/elflint.c:2616
#, c-format
msgid ""
"symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash "
@@ -2764,7 +2758,7 @@ msgstr ""
"виÑвлено поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° Ñимвол %d у новій таблиці хешів у [%2zu] «%s», але "
"його немає у Ñтарій таблиці хешів у [%2zu] «%s»\n"
-#: src/elflint.c:2590
+#: src/elflint.c:2628
#, c-format
msgid ""
"symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash "
@@ -2773,12 +2767,12 @@ msgstr ""
"виÑвлено поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° Ñимвол %d у Ñтарій таблиці хешів у [%2zu] «%s», але "
"його немає у новій таблиці хешів у [%2zu] «%s»\n"
-#: src/elflint.c:2606
+#: src/elflint.c:2644
#, c-format
msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
msgstr "розділ [%2d] «%s»: ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ sh_%s Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ NULL\n"
-#: src/elflint.c:2626
+#: src/elflint.c:2664
#, c-format
msgid ""
"section [%2d] '%s': section groups only allowed in relocatable object files\n"
@@ -2786,95 +2780,95 @@ msgstr ""
"розділ [%2d] «%s»: групи розділів передбачено лише Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ñ… до "
"переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ñ… файлах\n"
-#: src/elflint.c:2637
+#: src/elflint.c:2675
#, c-format
msgid "section [%2d] '%s': cannot get symbol table: %s\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ таблицю Ñимволів: %s\n"
-#: src/elflint.c:2642
+#: src/elflint.c:2680
#, c-format
msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
msgstr ""
"розділ [%2d] «%s»: поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ у sh_link не має таблиці Ñимволів\n"
-#: src/elflint.c:2648
+#: src/elflint.c:2686
#, c-format
msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
msgstr "розділ [%2d] «%s»: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñимволу у sh_info\n"
-#: src/elflint.c:2653
+#: src/elflint.c:2691
#, c-format
msgid "section [%2d] '%s': sh_flags not zero\n"
msgstr "розділ [%2d] «%s»: sh_flags не є нульовим\n"
-#: src/elflint.c:2660
+#: src/elflint.c:2698
#, c-format
msgid "section [%2d] '%s': cannot get symbol for signature\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ñимвол Ð´Ð»Ñ Ð¿Ñ–Ð´Ð¿Ð¸Ñу\n"
-#: src/elflint.c:2664
+#: src/elflint.c:2702
#, c-format
msgid "section [%2d] '%s': cannot get symbol name for signature\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ назву Ñимволу Ð´Ð»Ñ Ð¿Ñ–Ð´Ð¿Ð¸Ñу\n"
-#: src/elflint.c:2669
+#: src/elflint.c:2707
#, c-format
msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
msgstr "розділ [%2d] «%s»: Ñимвол підпиÑу не може бути порожнім Ñ€Ñдком\n"
-#: src/elflint.c:2675
+#: src/elflint.c:2713
#, c-format
msgid "section [%2d] '%s': sh_flags not set correctly\n"
msgstr "розділ [%2d] «%s»: Ð´Ð»Ñ sh_flags вÑтановлено помилкове значеннÑ\n"
-#: src/elflint.c:2681
+#: src/elflint.c:2719
#, c-format
msgid "section [%2d] '%s': cannot get data: %s\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані: %s\n"
-#: src/elflint.c:2690
+#: src/elflint.c:2728
#, c-format
msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
msgstr "розділ [%2d] «%s»: розмір розділу не є кратним до sizeof(Elf32_Word)\n"
-#: src/elflint.c:2696
+#: src/elflint.c:2734
#, c-format
msgid "section [%2d] '%s': section group without flags word\n"
msgstr "розділ [%2d] «%s»: група розділів без Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ word прапорців\n"
-#: src/elflint.c:2704
+#: src/elflint.c:2742
#, c-format
msgid "section [%2d] '%s': section group without member\n"
msgstr "розділ [%2d] «%s»: група розділів без елементів\n"
-#: src/elflint.c:2708
+#: src/elflint.c:2746
#, c-format
msgid "section [%2d] '%s': section group with only one member\n"
msgstr "розділ [%2d] «%s»: група розділів, що міÑтить лише один елемент\n"
-#: src/elflint.c:2719
+#: src/elflint.c:2757
#, c-format
msgid "section [%2d] '%s': unknown section group flags\n"
msgstr "розділ [%2d] «%s»: невідомі прапорці групи розділів\n"
-#: src/elflint.c:2731
+#: src/elflint.c:2769
#, c-format
msgid "section [%2d] '%s': section index %zu out of range\n"
msgstr "розділ [%2d] «%s»: Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %zu поза межами діапазону\n"
-#: src/elflint.c:2740
+#: src/elflint.c:2778
#, c-format
msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
msgstr ""
"розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу Ð´Ð»Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð° %zu: "
"%s\n"
-#: src/elflint.c:2747
+#: src/elflint.c:2785
#, c-format
msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
msgstr "розділ [%2d] «%s»: група розділів міÑтить іншу групу [%2d] «%s»\n"
-#: src/elflint.c:2753
+#: src/elflint.c:2791
#, c-format
msgid ""
"section [%2d] '%s': element %zu references section [%2d] '%s' without "
@@ -2883,12 +2877,12 @@ msgstr ""
"розділ [%2d] «%s»: елемент %zu поÑилаєтьÑÑ Ð½Ð° розділ [%2d] «%s» без "
"вÑтановленого Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ SHF_GROUP\n"
-#: src/elflint.c:2760
+#: src/elflint.c:2798
#, c-format
msgid "section [%2d] '%s' is contained in more than one section group\n"
msgstr "розділ [%2d] «%s» міÑтитьÑÑ Ñƒ більше ніж одній групі розділів\n"
-#: src/elflint.c:2957
+#: src/elflint.c:2995
#, c-format
msgid ""
"section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no "
@@ -2897,7 +2891,7 @@ msgstr ""
"розділ [%2d] «%s» поÑилаєтьÑÑ Ñƒ sh_link на розділ [%2d] «%s», Ñкий не має "
"динамічної таблиці Ñимволів\n"
-#: src/elflint.c:2969
+#: src/elflint.c:3007
#, c-format
msgid ""
"section [%2d] '%s' has different number of entries than symbol table [%2d] "
@@ -2906,28 +2900,28 @@ msgstr ""
"кількіÑÑ‚ÑŒ запиÑів у розділі [%2d] «%s» відрізнÑєтьÑÑ Ð²Ñ–Ð´ кількоÑÑ‚Ñ– у таблиці "
"Ñимволів [%2d] «%s»\n"
-#: src/elflint.c:2985
+#: src/elflint.c:3023
#, c-format
msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
msgstr "розділ [%2d] «%s»: Ñимвол %d: не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ дані щодо верÑÑ–Ñ—\n"
-#: src/elflint.c:3001
+#: src/elflint.c:3039
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
msgstr ""
"розділ [%2d] «%s»: Ñимвол %d: локальний Ñимвол у загальному контекÑÑ‚Ñ–\n"
-#: src/elflint.c:3009
+#: src/elflint.c:3047
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
msgstr "розділ [%2d] «%s»: Ñимвол %d: локальний Ñимвол з верÑією\n"
-#: src/elflint.c:3023
+#: src/elflint.c:3061
#, c-format
msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
msgstr "розділ [%2d] «%s»: Ñимвол %d: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ð²ÐµÑ€ÑÑ–Ñ— %d\n"
-#: src/elflint.c:3028
+#: src/elflint.c:3066
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for defined version\n"
@@ -2935,7 +2929,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %d: індекÑи верÑÑ–Ñ— %d призначено до визначеної "
"верÑÑ–Ñ—\n"
-#: src/elflint.c:3038
+#: src/elflint.c:3076
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for requested version\n"
@@ -2943,45 +2937,45 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %d: Ñ–Ð½Ð´ÐµÐºÑ Ð²ÐµÑ€ÑÑ–Ñ— %d призначено Ð´Ð»Ñ Ð²ÐµÑ€ÑÑ–Ñ—, на Ñку "
"надійшов запит\n"
-#: src/elflint.c:3091
+#: src/elflint.c:3129
#, c-format
msgid "more than one version reference section present\n"
msgstr "виÑвлено більше за один розділ поÑилань на верÑÑ–Ñ—\n"
-#: src/elflint.c:3099 src/elflint.c:3246
+#: src/elflint.c:3137 src/elflint.c:3284
#, c-format
msgid "section [%2d] '%s': sh_link does not link to string table\n"
msgstr "розділ [%2d] «%s»: sh_link не поÑилаєтьÑÑ Ð½Ð° таблицю Ñ€Ñдків\n"
-#: src/elflint.c:3124 src/elflint.c:3300
+#: src/elflint.c:3162 src/elflint.c:3338
#, c-format
msgid "section [%2d] '%s': entry %d has wrong version %d\n"
msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d має помилкову верÑÑ–ÑŽ %d\n"
-#: src/elflint.c:3131 src/elflint.c:3307
+#: src/elflint.c:3169 src/elflint.c:3345
#, c-format
msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
msgstr ""
"розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d міÑтить помилкове Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñƒ допоміжних даних\n"
-#: src/elflint.c:3141
+#: src/elflint.c:3179
#, c-format
msgid "section [%2d] '%s': entry %d has invalid file reference\n"
msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d міÑтить некоректне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° файл\n"
-#: src/elflint.c:3149
+#: src/elflint.c:3187
#, c-format
msgid "section [%2d] '%s': entry %d references unknown dependency\n"
msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d поÑилаєтьÑÑ Ð½Ð° невідому залежніÑÑ‚ÑŒ\n"
-#: src/elflint.c:3161
+#: src/elflint.c:3199
#, c-format
msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
msgstr ""
"розділ [%2d] «%s»: допоміжний Ð·Ð°Ð¿Ð¸Ñ %d запиÑу %d позначено невідомим "
"прапорцем\n"
-#: src/elflint.c:3169
+#: src/elflint.c:3207
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
@@ -2990,7 +2984,7 @@ msgstr ""
"розділ [%2d] «%s»: допоміжний Ð·Ð°Ð¿Ð¸Ñ %d запиÑу %d міÑтить некоректне "
"поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° назву\n"
-#: src/elflint.c:3178
+#: src/elflint.c:3216
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: "
@@ -2999,7 +2993,7 @@ msgstr ""
"розділ [%2d] «%s»: допоміжний Ð·Ð°Ð¿Ð¸Ñ %d запиÑу %d має помилкове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ "
"хешу: %#x, мало бути %#x\n"
-#: src/elflint.c:3187
+#: src/elflint.c:3225
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
@@ -3008,7 +3002,7 @@ msgstr ""
"розділ [%2d] «%s»: допоміжний Ð·Ð°Ð¿Ð¸Ñ %d запиÑу %d міÑтить дублікати назви "
"верÑÑ–Ñ— «%s»\n"
-#: src/elflint.c:3198
+#: src/elflint.c:3236
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
@@ -3016,13 +3010,13 @@ msgstr ""
"розділ [%2d] «%s»: допоміжний Ð·Ð°Ð¿Ð¸Ñ %d запиÑу %d має помилкове наÑтупне "
"поле\n"
-#: src/elflint.c:3215 src/elflint.c:3391
+#: src/elflint.c:3253 src/elflint.c:3429
#, c-format
msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
msgstr ""
"розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d має некоректне Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ наÑтупного запиÑу\n"
-#: src/elflint.c:3223 src/elflint.c:3399
+#: src/elflint.c:3261 src/elflint.c:3437
#, c-format
msgid ""
"section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says "
@@ -3031,44 +3025,44 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d має нульове Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ наÑтупного запиÑу, але "
"за sh_info можна зрозуміти, що запиÑів більше\n"
-#: src/elflint.c:3238
+#: src/elflint.c:3276
#, c-format
msgid "more than one version definition section present\n"
msgstr "виÑвлено більше за один розділ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²ÐµÑ€Ñій\n"
-#: src/elflint.c:3285
+#: src/elflint.c:3323
#, c-format
msgid "section [%2d] '%s': more than one BASE definition\n"
msgstr "розділ [%2d] «%s»: повторне Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ BASE\n"
-#: src/elflint.c:3289
+#: src/elflint.c:3327
#, c-format
msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
msgstr ""
"розділ [%2d] «%s»: Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ BASE повинно мати Ñ–Ð½Ð´ÐµÐºÑ VER_NDX_GLOBAL\n"
-#: src/elflint.c:3295
+#: src/elflint.c:3333
#, c-format
msgid "section [%2d] '%s': entry %d has unknown flag\n"
msgstr "розділ [%2d] «%s»: невідомий прапорець запиÑу %d\n"
-#: src/elflint.c:3322
+#: src/elflint.c:3360
#, c-format
msgid "section [%2d] '%s': entry %d has invalid name reference\n"
msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d міÑтить некоректне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° назву\n"
-#: src/elflint.c:3329
+#: src/elflint.c:3367
#, c-format
msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
msgstr ""
"розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d має помилкове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ…ÐµÑˆÑƒ: %#x, мало бути %#x\n"
-#: src/elflint.c:3337
+#: src/elflint.c:3375
#, c-format
msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d міÑтить дублікати назви верÑÑ–Ñ— «%s»\n"
-#: src/elflint.c:3357
+#: src/elflint.c:3395
#, c-format
msgid ""
"section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
@@ -3076,53 +3070,53 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d міÑтить некоректне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° назву у "
"допоміжних даних\n"
-#: src/elflint.c:3374
+#: src/elflint.c:3412
#, c-format
msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
msgstr ""
"розділ [%2d] «%s»: у допоміжних даних запиÑу %d міÑтитьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ поле "
"наÑтупного запиÑу\n"
-#: src/elflint.c:3407
+#: src/elflint.c:3445
#, c-format
msgid "section [%2d] '%s': no BASE definition\n"
msgstr "розділ [%2d] «%s»: немає Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ BASE\n"
-#: src/elflint.c:3423
+#: src/elflint.c:3461
#, c-format
msgid "section [%2d] '%s': unknown parent version '%s'\n"
msgstr "розділ [%2d] «%s»: невідома оÑновна верÑÑ–Ñ Â«%s»\n"
-#: src/elflint.c:3448
+#: src/elflint.c:3486
#, c-format
msgid "section [%2d] '%s': empty object attributes section\n"
msgstr "розділ [%2d] «%s»: порожній розділ атрибутів об’єкта\n"
-#: src/elflint.c:3464
+#: src/elflint.c:3502
#, c-format
msgid "section [%2d] '%s': unrecognized attribute format\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ формат атрибутів\n"
-#: src/elflint.c:3475
+#: src/elflint.c:3513
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute section\n"
msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: поле нульового розміру у розділі атрибутів\n"
-#: src/elflint.c:3484
+#: src/elflint.c:3522
#, c-format
msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: некоректна довжина у розділі атрибутів\n"
-#: src/elflint.c:3496
+#: src/elflint.c:3534
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: незавершений Ñ€Ñдок назви поÑтачальника\n"
-#: src/elflint.c:3513
+#: src/elflint.c:3551
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
@@ -3130,12 +3124,12 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: незавершене поле ULEB128 у тезі підрозділу "
"атрибутів\n"
-#: src/elflint.c:3522
+#: src/elflint.c:3560
#, c-format
msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
msgstr "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: обрізаний розділ атрибутів\n"
-#: src/elflint.c:3531
+#: src/elflint.c:3569
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
@@ -3143,7 +3137,7 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: поле нульового розміру у підрозділі "
"атрибутів\n"
-#: src/elflint.c:3546
+#: src/elflint.c:3584
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
@@ -3151,7 +3145,7 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: некоректна довжина у підрозділі атрибутів\n"
#. Tag_File
-#: src/elflint.c:3557
+#: src/elflint.c:3595
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
@@ -3159,35 +3153,35 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: підрозділ атрибутів міÑтить неочікуваний "
"теґ %u\n"
-#: src/elflint.c:3578
+#: src/elflint.c:3616
#, c-format
msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: незавершене поле ULEB128 у тезі атрибуту\n"
-#: src/elflint.c:3589
+#: src/elflint.c:3627
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
msgstr "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: незавершений Ñ€Ñдок у атрибуті\n"
-#: src/elflint.c:3602
+#: src/elflint.c:3640
#, c-format
msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
msgstr "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: незавершений теґ атрибуту %u\n"
-#: src/elflint.c:3606
+#: src/elflint.c:3644
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: невідоме Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %s атрибуту %<PRIu64>\n"
-#: src/elflint.c:3616
+#: src/elflint.c:3654
#, c-format
msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
msgstr "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: невідомий поÑтачальник «%s»\n"
-#: src/elflint.c:3622
+#: src/elflint.c:3660
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
@@ -3195,47 +3189,47 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: зайві байти піÑÐ»Ñ Ð¾Ñтаннього розділу "
"атрибутів\n"
-#: src/elflint.c:3719
+#: src/elflint.c:3758
#, c-format
msgid "cannot get section header of zeroth section\n"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок нульового розділу\n"
-#: src/elflint.c:3723
+#: src/elflint.c:3762
#, c-format
msgid "zeroth section has nonzero name\n"
msgstr "нульовий розділ має ненульову назву\n"
-#: src/elflint.c:3725
+#: src/elflint.c:3764
#, c-format
msgid "zeroth section has nonzero type\n"
msgstr "нульовий розділ має ненульовий тип\n"
-#: src/elflint.c:3727
+#: src/elflint.c:3766
#, c-format
msgid "zeroth section has nonzero flags\n"
msgstr "нульовий розділ має ненульові прапорці\n"
-#: src/elflint.c:3729
+#: src/elflint.c:3768
#, c-format
msgid "zeroth section has nonzero address\n"
msgstr "нульовий розділ має ненульову адреÑу\n"
-#: src/elflint.c:3731
+#: src/elflint.c:3770
#, c-format
msgid "zeroth section has nonzero offset\n"
msgstr "нульовий розділ має ненульове зміщеннÑ\n"
-#: src/elflint.c:3733
+#: src/elflint.c:3772
#, c-format
msgid "zeroth section has nonzero align value\n"
msgstr "нульовий розділ має ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ\n"
-#: src/elflint.c:3735
+#: src/elflint.c:3774
#, c-format
msgid "zeroth section has nonzero entry size value\n"
msgstr "нульовий розділ має ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ запиÑу\n"
-#: src/elflint.c:3738
+#: src/elflint.c:3777
#, c-format
msgid ""
"zeroth section has nonzero size value while ELF header has nonzero shnum "
@@ -3244,7 +3238,7 @@ msgstr ""
"нульовий розділ має ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ, хоча заголовок ELF ман "
"ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ shnum\n"
-#: src/elflint.c:3742
+#: src/elflint.c:3781
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
@@ -3253,7 +3247,7 @@ msgstr ""
"нульовий розділ має ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ, хоча у заголовку ELF "
"немає Ñигналу Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñƒ shstrndx\n"
-#: src/elflint.c:3746
+#: src/elflint.c:3785
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
@@ -3262,28 +3256,28 @@ msgstr ""
"нульовий розділ має ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ, хоча у заголовку ELF "
"немає Ñигналу Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñƒ phnum\n"
-#: src/elflint.c:3764
+#: src/elflint.c:3803
#, c-format
msgid "cannot get section header for section [%2zu] '%s': %s\n"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу [%2zu] «%s»: %s\n"
-#: src/elflint.c:3773
+#: src/elflint.c:3812
#, c-format
msgid "section [%2zu]: invalid name\n"
msgstr "розділ [%2zu]: некоректна назва\n"
-#: src/elflint.c:3800
+#: src/elflint.c:3839
#, c-format
msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
msgstr ""
"розділ [%2d] «%s» належить до помилкового типу: мав бути %s, маємо %s\n"
-#: src/elflint.c:3817
+#: src/elflint.c:3856
#, c-format
msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
msgstr "розділ [%2zu] «%s» має помилкові прапорці: мало бути %s, маємо %s\n"
-#: src/elflint.c:3835
+#: src/elflint.c:3874
#, c-format
msgid ""
"section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
@@ -3291,12 +3285,12 @@ msgstr ""
"розділ [%2zu] «%s» має помилкові прапорці: мало бути %s, можливо, %s, але "
"маємо %s\n"
-#: src/elflint.c:3852
+#: src/elflint.c:3891
#, c-format
msgid "section [%2zu] '%s' present in object file\n"
msgstr "у об’єктному файлі виÑвлено розділ [%2zu] «%s»\n"
-#: src/elflint.c:3858 src/elflint.c:3890
+#: src/elflint.c:3897 src/elflint.c:3929
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
@@ -3304,7 +3298,7 @@ msgstr ""
"у розділ [%2zu] «%s» вÑтановлено прапорець SHF_ALLOC, але немає придатного "
"до Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñегмента\n"
-#: src/elflint.c:3863 src/elflint.c:3895
+#: src/elflint.c:3902 src/elflint.c:3934
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
@@ -3313,7 +3307,7 @@ msgstr ""
"у розділі [%2zu] «%s» не вÑтановлено прапорець SHF_ALLOC, але Ñ” придатні до "
"Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñегменти\n"
-#: src/elflint.c:3871
+#: src/elflint.c:3910
#, c-format
msgid ""
"section [%2zu] '%s' is extension section index table in non-object file\n"
@@ -3321,22 +3315,22 @@ msgstr ""
"розділ [%2zu] «%s» Ñ” таблицею-покажчиком розділу розширень у файлі, Ñкий не "
"є об’єктним\n"
-#: src/elflint.c:3914
+#: src/elflint.c:3953
#, c-format
msgid "section [%2zu] '%s': size not multiple of entry size\n"
msgstr "розділ [%2zu] «%s»: розмір не Ñ” кратним до розміру запиÑу\n"
-#: src/elflint.c:3919
+#: src/elflint.c:3958
#, c-format
msgid "cannot get section header\n"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу\n"
-#: src/elflint.c:3929
+#: src/elflint.c:3968
#, c-format
msgid "section [%2zu] '%s' has unsupported type %d\n"
msgstr "розділ [%2zu] «%s» належить до непідтримуваного типу %d\n"
-#: src/elflint.c:3949
+#: src/elflint.c:3988
#, c-format
msgid ""
"section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
@@ -3344,74 +3338,74 @@ msgstr ""
"розділ [%2zu] «%s» міÑтить некоректні Ñпецифічні Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑора прапорці "
"%#<PRIx64>\n"
-#: src/elflint.c:3959
+#: src/elflint.c:3998
#, c-format
msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
msgstr "розділ [%2zu] «%s» міÑтить невідомі прапорці %#<PRIx64>\n"
-#: src/elflint.c:3967
+#: src/elflint.c:4006
#, c-format
msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
msgstr ""
"розділ [%2zu] «%s»: адреÑа розділів локальних даних потоків не Ñ” нульовою\n"
-#: src/elflint.c:3977
+#: src/elflint.c:4016
#, c-format
msgid "section [%2zu] '%s': allocated section cannot be compressed\n"
msgstr ""
"розділ [%2zu] «%s»: розміщений у пам'ÑÑ‚Ñ– розділ не може бути ÑтиÑнений\n"
-#: src/elflint.c:3982
+#: src/elflint.c:4021
#, c-format
msgid "section [%2zu] '%s': nobits section cannot be compressed\n"
msgstr "розділ [%2zu] «%s»: розділ nobits не може бути ÑтиÑнений\n"
-#: src/elflint.c:3988
+#: src/elflint.c:4027
#, c-format
msgid ""
"section [%2zu] '%s': compressed section with no compression header: %s\n"
msgstr "розділ [%2zu] «%s»: ÑтиÑнений розділ без заголовка ÑтиÑненнÑ: %s\n"
-#: src/elflint.c:3994
+#: src/elflint.c:4033
#, c-format
msgid "section [%2zu] '%s': invalid section reference in link value\n"
msgstr ""
"розділ [%2zu] «%s»: некоректне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ у значенні компонуваннÑ\n"
-#: src/elflint.c:3999
+#: src/elflint.c:4038
#, c-format
msgid "section [%2zu] '%s': invalid section reference in info value\n"
msgstr ""
"розділ [%2zu] «%s»: некоректне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ у значенні відомоÑтей\n"
-#: src/elflint.c:4006
+#: src/elflint.c:4045
#, c-format
msgid "section [%2zu] '%s': strings flag set without merge flag\n"
msgstr "розділ [%2zu] «%s»: вÑтановлено прапорець strings без Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ merge\n"
-#: src/elflint.c:4011
+#: src/elflint.c:4050
#, c-format
msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
msgstr ""
"розділ [%2zu] «%s»: вÑтановлено прапорець merge, але розмір запиÑу Ñ” "
"нульовим\n"
-#: src/elflint.c:4030
+#: src/elflint.c:4069
#, c-format
msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
msgstr "розділ [%2zu] «%s» має неочікуваний тип %d Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ розділу\n"
-#: src/elflint.c:4039
+#: src/elflint.c:4078
#, c-format
msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n"
msgstr "розділ [%2zu] «%s» у файлах debuginfo має належати до типу NOBITS\n"
-#: src/elflint.c:4046
+#: src/elflint.c:4085
#, c-format
msgid "section [%2zu] '%s' is both executable and writable\n"
msgstr "розділ [%2zu] «%s» Ñ” одночаÑно виконуваним Ñ– придатним до запиÑу\n"
-#: src/elflint.c:4077
+#: src/elflint.c:4116
#, c-format
msgid ""
"section [%2zu] '%s' not fully contained in segment of program header entry "
@@ -3420,7 +3414,7 @@ msgstr ""
"розділ [%2zu] «%s» не повніÑÑ‚ÑŽ міÑтитьÑÑ Ñƒ Ñегменті запиÑу заголовка "
"програми %d\n"
-#: src/elflint.c:4087
+#: src/elflint.c:4126
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -3429,7 +3423,7 @@ msgstr ""
"розділ [%2zu] «%s» належить до типу NOBITS, але його Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑÑ Ð· "
"файла у Ñегментів запиÑу заголовка програми %d\n"
-#: src/elflint.c:4113
+#: src/elflint.c:4152
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -3438,7 +3432,7 @@ msgstr ""
"розділ [%2zu] «%s» належить до типу NOBITS, але його Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑÑ Ð· "
"файла у Ñегментів запиÑу заголовка програми %d, а вміÑÑ‚ файла Ñ” ненульовим\n"
-#: src/elflint.c:4124
+#: src/elflint.c:4163
#, c-format
msgid ""
"section [%2zu] '%s' has not type NOBITS but is not read from the file in "
@@ -3447,19 +3441,19 @@ msgstr ""
"розділ [%2zu] «%s» не належить до типу NOBITS, але його Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð½Ðµ "
"виконуєтьÑÑ Ð· файла у Ñегментів запиÑу заголовка програми %d\n"
-#: src/elflint.c:4135
+#: src/elflint.c:4174
#, c-format
msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
msgstr "розділ [%2zu] «%s» Ñ” виконуваним у невиконуваному Ñегменті %d\n"
-#: src/elflint.c:4145
+#: src/elflint.c:4184
#, c-format
msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
msgstr ""
"розділ [%2zu] «%s» Ñ” придатним до запиÑу у непридатному до запиÑу Ñегменті "
"%d\n"
-#: src/elflint.c:4155
+#: src/elflint.c:4194
#, c-format
msgid ""
"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
@@ -3467,7 +3461,7 @@ msgstr ""
"розділ [%2zu] «%s»: вÑтановлено прапорець alloc, але розділ не перебуває у "
"жодному завантаженому Ñегменті\n"
-#: src/elflint.c:4161
+#: src/elflint.c:4200
#, c-format
msgid ""
"section [%2zu] '%s': ELF header says this is the section header string table "
@@ -3476,7 +3470,7 @@ msgstr ""
"розділ [%2zu] «%s»: заголовок ELF повідомлÑÑ” про те, що це Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ€Ñдків "
"заголовка розділу, але Ñ†Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð½Ðµ належить до типу SHT_TYPE\n"
-#: src/elflint.c:4169
+#: src/elflint.c:4208
#, c-format
msgid ""
"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
@@ -3484,17 +3478,17 @@ msgstr ""
"розділ [%2zu] «%s»: придатні до переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð¸ не можуть міÑтити "
"динамічних таблиць Ñимволів\n"
-#: src/elflint.c:4220
+#: src/elflint.c:4263
#, c-format
msgid "more than one version symbol table present\n"
msgstr "виÑвлено більше за одну таблицю Ñимволів верÑій\n"
-#: src/elflint.c:4243
+#: src/elflint.c:4286
#, c-format
msgid "INTERP program header entry but no .interp section\n"
msgstr "Ñ–Ñнує Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми INTERP, але не розділ .interp\n"
-#: src/elflint.c:4254
+#: src/elflint.c:4297
#, c-format
msgid ""
"loadable segment [%u] is executable but contains no executable sections\n"
@@ -3502,14 +3496,14 @@ msgstr ""
"придатний до Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñегмент [%u] Ñ” виконуваним, але не міÑтить "
"виконуваних розділів\n"
-#: src/elflint.c:4260
+#: src/elflint.c:4303
#, c-format
msgid "loadable segment [%u] is writable but contains no writable sections\n"
msgstr ""
"придатний до Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð» [%u] Ñ” придатним до запиÑу, але не міÑтить "
"придатних до запиÑу розділів\n"
-#: src/elflint.c:4271
+#: src/elflint.c:4314
#, c-format
msgid ""
"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
@@ -3518,24 +3512,24 @@ msgstr ""
"немає розділу .gnu.versym, хоча Ñ–Ñнує розділ .gnu.versym_d або .gnu."
"versym_r\n"
-#: src/elflint.c:4284
+#: src/elflint.c:4327
#, c-format
msgid "duplicate version index %d\n"
msgstr "дублікат індекÑу верÑÑ–Ñ— %d\n"
-#: src/elflint.c:4298
+#: src/elflint.c:4341
#, c-format
msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
msgstr ""
"Ñ–Ñнує розділ .gnu.versym, але немає розділу .gnu.versym_d або .gnu.versym_r\n"
-#: src/elflint.c:4347
+#: src/elflint.c:4390
#, c-format
msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
msgstr ""
"phdr[%d]: невідомий тип нотатки файла core %<PRIu32> за зміщеннÑм %<PRIu64>\n"
-#: src/elflint.c:4351
+#: src/elflint.c:4394
#, c-format
msgid ""
"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
@@ -3543,7 +3537,7 @@ msgstr ""
"розділ [%2d] «%s»: невідомий тип нотатки файла core %<PRIu32> за зміщеннÑм "
"%zu\n"
-#: src/elflint.c:4407
+#: src/elflint.c:4450
#, c-format
msgid ""
"phdr[%d]: unknown object file note type %<PRIu32> with owner name '%s' at "
@@ -3552,7 +3546,7 @@ msgstr ""
"phdr[%d]: невідомий тип нотатки у файлі об'єктів, %<PRIu32>, із іменем "
"влаÑника «%s» за зміщеннÑм %zu\n"
-#: src/elflint.c:4412
+#: src/elflint.c:4455
#, c-format
msgid ""
"section [%2d] '%s': unknown object file note type %<PRIu32> with owner name "
@@ -3561,39 +3555,39 @@ msgstr ""
"розділ [%2d] «%s»: невідомий тип нотатки у файлі об'єктів, %<PRIu32>, із "
"іменем влаÑника «%s» за зміщеннÑм %zu\n"
-#: src/elflint.c:4431
+#: src/elflint.c:4474
#, c-format
msgid "phdr[%d]: no note entries defined for the type of file\n"
msgstr "phdr[%d]: Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ типу файлів не визначено запиÑів нотаток\n"
-#: src/elflint.c:4451
+#: src/elflint.c:4494
#, c-format
msgid "phdr[%d]: cannot get content of note section: %s\n"
msgstr "phdr[%d]: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ розділу нотаток: %s\n"
-#: src/elflint.c:4454
+#: src/elflint.c:4497
#, c-format
msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
msgstr "phdr[%d]: зайві %<PRIu64> байтів піÑÐ»Ñ Ð¾Ñтаннього запиÑу нотатки\n"
-#: src/elflint.c:4475
+#: src/elflint.c:4518
#, c-format
msgid "section [%2d] '%s': no note entries defined for the type of file\n"
msgstr ""
"розділ [%2d] «%s»: Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ типу файлів не визначено запиÑів нотаток\n"
-#: src/elflint.c:4482
+#: src/elflint.c:4525
#, c-format
msgid "section [%2d] '%s': cannot get content of note section\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ розділу нотаток\n"
-#: src/elflint.c:4485
+#: src/elflint.c:4528
#, c-format
msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
msgstr ""
"розділ [%2d] «%s»: додаткові %<PRIu64> байтів піÑÐ»Ñ Ð¾Ñтанньої нотатки\n"
-#: src/elflint.c:4503
+#: src/elflint.c:4546
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
@@ -3601,66 +3595,66 @@ msgstr ""
"заголовки програм можуть бути лише у виконуваних файлів, об’єктних файлів "
"Ñпільного викориÑÑ‚Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ файлів core\n"
-#: src/elflint.c:4518
+#: src/elflint.c:4561
#, c-format
msgid "cannot get program header entry %d: %s\n"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: %s\n"
-#: src/elflint.c:4528
+#: src/elflint.c:4571
#, c-format
msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
msgstr ""
"Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: невідомий тип запиÑу заголовка програми "
"%#<PRIx64>\n"
-#: src/elflint.c:4539
+#: src/elflint.c:4582
#, c-format
msgid "more than one INTERP entry in program header\n"
msgstr "більше за один Ð·Ð°Ð¿Ð¸Ñ INTERP у заголовку програми\n"
-#: src/elflint.c:4547
+#: src/elflint.c:4590
#, c-format
msgid "more than one TLS entry in program header\n"
msgstr "більше за один Ð·Ð°Ð¿Ð¸Ñ TLS у заголовку програми\n"
-#: src/elflint.c:4554
+#: src/elflint.c:4597
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr "у Ñтатичному виконуваному файлі не може бути динамічних розділів\n"
-#: src/elflint.c:4568
+#: src/elflint.c:4611
#, c-format
msgid "dynamic section reference in program header has wrong offset\n"
msgstr ""
"поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° динамічний розділ у заголовку програми має помилкове зміщеннÑ\n"
-#: src/elflint.c:4571
+#: src/elflint.c:4614
#, c-format
msgid "dynamic section size mismatch in program and section header\n"
msgstr ""
"розміри динамічного розділу у заголовку програми та у заголовку розділу не "
"збігаютьÑÑ\n"
-#: src/elflint.c:4581
+#: src/elflint.c:4624
#, c-format
msgid "more than one GNU_RELRO entry in program header\n"
msgstr "більше за один Ð·Ð°Ð¿Ð¸Ñ GNU_RELRO у заголовку програми\n"
-#: src/elflint.c:4602
+#: src/elflint.c:4645
#, c-format
msgid "loadable segment GNU_RELRO applies to is not writable\n"
msgstr ""
"придатний до Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñегмент, до Ñкого звертаєтьÑÑ GNU_RELRO, "
"непридатний до запиÑу\n"
-#: src/elflint.c:4613
+#: src/elflint.c:4656
#, c-format
msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
msgstr ""
"прапорці придатного до Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñегмента [%u] не відповідають прапорцÑм "
"GNU_RELRO [%u]\n"
-#: src/elflint.c:4620
+#: src/elflint.c:4663
#, c-format
msgid ""
"GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
@@ -3668,76 +3662,76 @@ msgstr ""
"прапорці GNU_RELRO [%u] не Ñ” підмножиною прапорців завантажуваного Ñегмента "
"[%u]\n"
-#: src/elflint.c:4629 src/elflint.c:4652
+#: src/elflint.c:4672 src/elflint.c:4695
#, c-format
msgid "%s segment not contained in a loaded segment\n"
msgstr "Ñегмент %s не міÑтитьÑÑ Ñƒ завантаженому Ñегменті\n"
-#: src/elflint.c:4658
+#: src/elflint.c:4701
#, c-format
msgid "program header offset in ELF header and PHDR entry do not match"
msgstr "Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми у заголовку ELF Ñ– Ð·Ð°Ð¿Ð¸Ñ PHDR не збігаютьÑÑ"
-#: src/elflint.c:4685
+#: src/elflint.c:4728
#, c-format
msgid "call frame search table reference in program header has wrong offset\n"
msgstr ""
"поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° таблицю вікон викликів у заголовку програми має помилкове "
"зміщеннÑ\n"
-#: src/elflint.c:4688
+#: src/elflint.c:4731
#, c-format
msgid "call frame search table size mismatch in program and section header\n"
msgstr ""
"розміри таблиці пошуку вікон виклику у заголовку програми та у заголовку "
"розділу не збігаютьÑÑ\n"
-#: src/elflint.c:4701
+#: src/elflint.c:4744
#, c-format
msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
msgstr "Ñ–Ñнує PT_GNU_EH_FRAME, хоча немає розділу .eh_frame_hdr\n"
-#: src/elflint.c:4709
+#: src/elflint.c:4752
#, c-format
msgid "call frame search table must be allocated\n"
msgstr "таблицю пошуку вікон викликів має бути розміщено у пам’ÑÑ‚Ñ–\n"
-#: src/elflint.c:4712
+#: src/elflint.c:4755
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
msgstr "розділ [%2zu] «%s» має бути розміщено у пам’ÑÑ‚Ñ–\n"
-#: src/elflint.c:4716
+#: src/elflint.c:4759
#, c-format
msgid "call frame search table must not be writable\n"
msgstr "Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ вікон викликів не повинна бути придатною до запиÑу\n"
-#: src/elflint.c:4719
+#: src/elflint.c:4762
#, c-format
msgid "section [%2zu] '%s' must not be writable\n"
msgstr "розділ [%2zu] «%s» не повинен бути придатним до запиÑу\n"
-#: src/elflint.c:4724
+#: src/elflint.c:4767
#, c-format
msgid "call frame search table must not be executable\n"
msgstr "Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ вікон викликів не повинна бути придатною до виконаннÑ\n"
-#: src/elflint.c:4727
+#: src/elflint.c:4770
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
msgstr "розділ [%2zu] «%s» не повинен бути придатним до виконаннÑ\n"
-#: src/elflint.c:4741
+#: src/elflint.c:4784
#, c-format
msgid "program header entry %d: file size greater than memory size\n"
msgstr "Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: розмір файла перевищує об’єм пам’ÑÑ‚Ñ–\n"
-#: src/elflint.c:4748
+#: src/elflint.c:4791
#, c-format
msgid "program header entry %d: alignment not a power of 2\n"
msgstr "Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ Ð½Ðµ Ñ” Ñтепенем 2\n"
-#: src/elflint.c:4751
+#: src/elflint.c:4794
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
@@ -3746,7 +3740,7 @@ msgstr ""
"Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñƒ файлі Ñ– віртуальна адреÑа не "
"ÑпіввідноÑÑÑ‚ÑŒÑÑ Ð· вирівнюваннÑм\n"
-#: src/elflint.c:4764
+#: src/elflint.c:4807
#, c-format
msgid ""
"executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME "
@@ -3755,17 +3749,17 @@ msgstr ""
"виконуваний модуль/DSO з розділом .eh_frame_hdr не міÑтить запиÑу заголовка "
"програми PT_GNU_EH_FRAME"
-#: src/elflint.c:4798
+#: src/elflint.c:4841
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ заголовок ELF: %s\n"
-#: src/elflint.c:4810
+#: src/elflint.c:4853
#, fuzzy, c-format
msgid "cannot create backend for ELF file\n"
msgstr "не вдалоÑÑ Ñтворити файл"
-#: src/elflint.c:4831
+#: src/elflint.c:4874
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr ""
@@ -3982,7 +3976,7 @@ msgid "%s: INTERNAL ERROR %d (%s): %s"
msgstr "%s: Ð’ÐУТРІШÐЯ ПОМИЛКР%d (%s): %s"
#: src/nm.c:380 src/nm.c:392 src/size.c:287 src/size.c:296 src/size.c:307
-#: src/strip.c:2766
+#: src/strip.c:2763
#, c-format
msgid "while closing '%s'"
msgstr "під Ñ‡Ð°Ñ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Â«%s»"
@@ -4025,13 +4019,13 @@ msgstr "%s%s%s: не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ñ‚Ð¸ формат файла
msgid "cannot create search tree"
msgstr "не вдалоÑÑ Ñтворити дерево пошуку"
-#: src/nm.c:742 src/nm.c:1234 src/objdump.c:778 src/readelf.c:663
-#: src/readelf.c:1484 src/readelf.c:1633 src/readelf.c:1860 src/readelf.c:2097
-#: src/readelf.c:2286 src/readelf.c:2466 src/readelf.c:2544 src/readelf.c:2809
-#: src/readelf.c:2884 src/readelf.c:2970 src/readelf.c:3565 src/readelf.c:3613
-#: src/readelf.c:3682 src/readelf.c:11620 src/readelf.c:12803
-#: src/readelf.c:13013 src/readelf.c:13081 src/size.c:396 src/size.c:467
-#: src/strip.c:1093
+#: src/nm.c:742 src/nm.c:1234 src/objdump.c:778 src/readelf.c:685
+#: src/readelf.c:1506 src/readelf.c:1655 src/readelf.c:1882 src/readelf.c:2123
+#: src/readelf.c:2312 src/readelf.c:2482 src/readelf.c:2604 src/readelf.c:2854
+#: src/readelf.c:3140 src/readelf.c:3215 src/readelf.c:3301 src/readelf.c:3896
+#: src/readelf.c:3944 src/readelf.c:4013 src/readelf.c:12029
+#: src/readelf.c:13212 src/readelf.c:13422 src/readelf.c:13490 src/size.c:396
+#: src/size.c:467 src/strip.c:1093
#, c-format
msgid "cannot get section header string table index"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñ–Ð½Ð´ÐµÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° розділу у таблиці Ñ€Ñдків"
@@ -4140,7 +4134,7 @@ msgstr "Показати інформацію лише з розділу ÐÐЗÐ
msgid "Show information from FILEs (a.out by default)."
msgstr "Показати інформацію з ФÐЙЛів (типово a.out)."
-#: src/objdump.c:217 src/readelf.c:608
+#: src/objdump.c:217 src/readelf.c:630
msgid "No operation specified.\n"
msgstr "Ðе вказано дії.\n"
@@ -4149,11 +4143,11 @@ msgstr "Ðе вказано дії.\n"
msgid "while close `%s'"
msgstr "під Ñ‡Ð°Ñ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Â«%s»"
-#: src/objdump.c:362 src/readelf.c:2192 src/readelf.c:2383
+#: src/objdump.c:362 src/readelf.c:2218 src/readelf.c:2409
msgid "INVALID SYMBOL"
msgstr "ÐЕКОРЕКТÐИЙ СИМВОЛ"
-#: src/objdump.c:377 src/readelf.c:2226 src/readelf.c:2419
+#: src/objdump.c:377 src/readelf.c:2252 src/readelf.c:2445
msgid "INVALID SECTION"
msgstr "ÐЕКОРЕКТÐИЙ РОЗДІЛ"
@@ -4211,18 +4205,18 @@ msgstr "«%s» не є архівом"
msgid "error while freeing sub-ELF descriptor: %s"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ð²Ð¸Ð²Ñ–Ð»ÑŒÐ½ÐµÐ½Ð½Ñ Ð´ÐµÑкриптора під-ELF: %s"
-#: src/readelf.c:96
+#: src/readelf.c:97
msgid "ELF input selection:"
msgstr "Вибір вихідних даних ELF:"
-#: src/readelf.c:98
+#: src/readelf.c:99
msgid ""
"Use the named SECTION (default .gnu_debugdata) as (compressed) ELF input data"
msgstr ""
"ВикориÑтовувати вказаний за іменем РОЗДІЛ (типово .gnu_debugdata) Ñк "
"(ÑтиÑнені) вхідні дані ELF"
-#: src/readelf.c:101
+#: src/readelf.c:102
msgid ""
"Used with -w to find the skeleton Compile Units in FILE associated with the "
"Split Compile units in a .dwo input file"
@@ -4230,71 +4224,71 @@ msgstr ""
"ВикориÑтовуєтьÑÑ Ð· -w Ð´Ð»Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ оÑнови компільованих модулів у ФÐЙЛі, "
"пов'Ñзаному із модулÑми розділеної компілÑції у вхідному файлі .dwo"
-#: src/readelf.c:103
+#: src/readelf.c:104
msgid "ELF output selection:"
msgstr "Вибір виводу ELF:"
-#: src/readelf.c:105
+#: src/readelf.c:106
msgid "All these plus -p .strtab -p .dynstr -p .comment"
msgstr "Ð’Ñе це Ð¿Ð»ÑŽÑ -p .strtab -p .dynstr -p .comment"
-#: src/readelf.c:106
+#: src/readelf.c:107
msgid "Display the dynamic segment"
msgstr "Показувати динамічний Ñегмент"
-#: src/readelf.c:107
+#: src/readelf.c:108
msgid "Display the ELF file header"
msgstr "Показувати заголовок файла ELF"
-#: src/readelf.c:109
+#: src/readelf.c:110
msgid "Display histogram of bucket list lengths"
msgstr "Показати гіÑтограму довжин ÑпиÑку блоків"
-#: src/readelf.c:110
+#: src/readelf.c:111
msgid "Display the program headers"
msgstr "Показувати заголовки програми"
-#: src/readelf.c:112
+#: src/readelf.c:113
msgid "Display relocations"
msgstr "Показувати переÑуваннÑ"
-#: src/readelf.c:113
+#: src/readelf.c:114
msgid "Display the section groups"
msgstr "Показувати групи розділів"
-#: src/readelf.c:114
+#: src/readelf.c:115
msgid "Display the sections' headers"
msgstr "Показувати заголовки розділів"
-#: src/readelf.c:117
+#: src/readelf.c:118
msgid "Display the symbol table sections"
msgstr "Показати розділи таблиці Ñимволів"
-#: src/readelf.c:120
+#: src/readelf.c:121
msgid "Display (only) the dynamic symbol table"
msgstr "Показувати (лише) динамічну таблицю Ñимволів"
-#: src/readelf.c:121
+#: src/readelf.c:122
msgid "Display versioning information"
msgstr "Показувати відомоÑÑ‚Ñ– щодо верÑÑ–Ñ—"
-#: src/readelf.c:122
+#: src/readelf.c:123
msgid "Display the ELF notes"
msgstr "Показувати нотатки ELF"
-#: src/readelf.c:124
+#: src/readelf.c:125
msgid "Display architecture specific information, if any"
msgstr "Показувати Ñпецифічні Ð´Ð»Ñ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ дані, Ñкщо такі буде виÑвлено"
-#: src/readelf.c:126
+#: src/readelf.c:127
msgid "Display sections for exception handling"
msgstr "Показувати розділи Ð´Ð»Ñ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ виключень"
-#: src/readelf.c:128
+#: src/readelf.c:129
msgid "Additional output selection:"
msgstr "Додатковий вибір виводу:"
-#: src/readelf.c:130
+#: src/readelf.c:131
msgid ""
"Display DWARF section content. SECTION can be one of abbrev, addr, aranges, "
"decodedaranges, frame, gdb_index, info, info+, loc, line, decodedline, "
@@ -4304,42 +4298,42 @@ msgstr ""
"aranges, decodedaranges, frame, gdb_index, info, info+, loc, line, "
"decodedline, ranges, pubnames, str, macinfo, macro або exception"
-#: src/readelf.c:134
+#: src/readelf.c:135
msgid "Dump the uninterpreted contents of SECTION, by number or name"
msgstr ""
"Створити дамп даних РОЗДІЛ, Ñкі не вдалоÑÑ Ñ–Ð½Ñ‚ÐµÑ€Ð¿Ñ€ÐµÑ‚ÑƒÐ²Ð°Ñ‚Ð¸, за номером або "
"назвами"
-#: src/readelf.c:136
+#: src/readelf.c:137
msgid "Print string contents of sections"
msgstr "Виводити вміÑÑ‚ Ñ€Ñдків розділів"
-#: src/readelf.c:139
+#: src/readelf.c:140
msgid "Display the symbol index of an archive"
msgstr "Показувати покажчик Ñимволів архіву"
-#: src/readelf.c:141
+#: src/readelf.c:142
msgid "Use the dynamic segment when possible for displaying info"
msgstr ""
-#: src/readelf.c:143
+#: src/readelf.c:144
msgid "Output control:"
msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð²Ð¾Ð´Ð¾Ð¼:"
-#: src/readelf.c:145
+#: src/readelf.c:146
msgid "Do not find symbol names for addresses in DWARF data"
msgstr "Ðе шукати назви Ñимволів Ð´Ð»Ñ Ð°Ð´Ñ€ÐµÑ Ñƒ даних DWARF"
-#: src/readelf.c:147
+#: src/readelf.c:148
msgid ""
"Display just offsets instead of resolving values to addresses in DWARF data"
msgstr "Показати лише зміщеннÑ, а не визначені Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи у даних DWARF"
-#: src/readelf.c:149
+#: src/readelf.c:150
msgid "Ignored for compatibility (lines always wide)"
msgstr "ІгноруєтьÑÑ Ð· міркувань ÑуміÑноÑÑ‚Ñ– (Ñ€Ñдки завжди широкі)"
-#: src/readelf.c:151
+#: src/readelf.c:152
msgid ""
"Show compression information for compressed sections (when used with -S); "
"decompress section before dumping data (when used with -p or -x)"
@@ -4348,40 +4342,40 @@ msgstr ""
"розпакувати розділ до ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð´Ð°Ð¼Ð¿Ñƒ даних (Ñкщо викориÑтано з -p або -x)"
#. Short description of program.
-#: src/readelf.c:156
+#: src/readelf.c:157
msgid "Print information from ELF file in human-readable form."
msgstr "Виводити відомоÑÑ‚Ñ– з файла ELF у придатному Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–."
#. Look up once.
-#: src/readelf.c:373
+#: src/readelf.c:395
msgid "yes"
msgstr "так"
-#: src/readelf.c:374
+#: src/readelf.c:396
msgid "no"
msgstr "ні"
-#: src/readelf.c:576
+#: src/readelf.c:598
#, c-format
msgid "Unknown DWARF debug section `%s'.\n"
msgstr "Ðевідомий діагноÑтичний розділ DWARF «%s».\n"
-#: src/readelf.c:647 src/readelf.c:758
+#: src/readelf.c:669 src/readelf.c:780
#, c-format
msgid "cannot generate Elf descriptor: %s"
msgstr "не вдалоÑÑ Ñтворити деÑкриптор Elf: %s"
-#: src/readelf.c:654 src/readelf.c:980 src/strip.c:1188
+#: src/readelf.c:676 src/readelf.c:1002 src/strip.c:1188
#, c-format
msgid "cannot determine number of sections: %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ кількіÑÑ‚ÑŒ розділів: %s"
-#: src/readelf.c:672 src/readelf.c:1300 src/readelf.c:1508
+#: src/readelf.c:694 src/readelf.c:1322 src/readelf.c:1530
#, c-format
msgid "cannot get section: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ розділ: %s"
-#: src/readelf.c:681 src/readelf.c:1307 src/readelf.c:1515 src/readelf.c:13033
+#: src/readelf.c:703 src/readelf.c:1329 src/readelf.c:1537 src/readelf.c:13442
#: src/unstrip.c:396 src/unstrip.c:427 src/unstrip.c:490 src/unstrip.c:610
#: src/unstrip.c:631 src/unstrip.c:671 src/unstrip.c:887 src/unstrip.c:1222
#: src/unstrip.c:1349 src/unstrip.c:1373 src/unstrip.c:1429 src/unstrip.c:1470
@@ -4390,120 +4384,120 @@ msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ розділ: %s"
msgid "cannot get section header: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу: %s"
-#: src/readelf.c:689
+#: src/readelf.c:711
#, c-format
msgid "cannot get section name"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ назву розділу"
-#: src/readelf.c:698 src/readelf.c:6833 src/readelf.c:10887 src/readelf.c:10989
-#: src/readelf.c:11173
+#: src/readelf.c:720 src/readelf.c:7176 src/readelf.c:11230 src/readelf.c:11332
+#: src/readelf.c:11516
#, c-format
msgid "cannot get %s content: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані %s: %s"
-#: src/readelf.c:714
+#: src/readelf.c:736
#, c-format
msgid "cannot create temp file '%s'"
msgstr "не вдалоÑÑ Ñтворити файл тимчаÑових даних «%s»"
-#: src/readelf.c:723
+#: src/readelf.c:745
#, c-format
msgid "cannot write section data"
msgstr "не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати дані розділу"
-#: src/readelf.c:729 src/readelf.c:746 src/readelf.c:775
+#: src/readelf.c:751 src/readelf.c:768 src/readelf.c:797
#, c-format
msgid "error while closing Elf descriptor: %s"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð´ÐµÑкриптора Elf: %s"
-#: src/readelf.c:736
+#: src/readelf.c:758
#, c-format
msgid "error while rewinding file descriptor"
msgstr "помилка під Ñ‡Ð°Ñ Ð¿Ð¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ Ð´Ð¾ початкового Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´ÐµÑкриптора файла"
-#: src/readelf.c:770
+#: src/readelf.c:792
#, c-format
msgid "'%s' is not an archive, cannot print archive index"
msgstr "«%s» не Ñ” архівом, Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¿Ð¾ÐºÐ°Ð¶Ñ‡Ð¸ÐºÐ° архіву неможливе"
-#: src/readelf.c:874
+#: src/readelf.c:896
#, c-format
msgid "cannot stat input file"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані з вхідного файла за допомогою stat"
-#: src/readelf.c:876
+#: src/readelf.c:898
#, c-format
msgid "input file is empty"
msgstr "вхідний файл є порожнім"
-#: src/readelf.c:878
+#: src/readelf.c:900
#, c-format
msgid "failed reading '%s': %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ «%s»: %s"
-#: src/readelf.c:907
+#: src/readelf.c:929
#, c-format
msgid "No such section '%s' in '%s'"
msgstr "У «%2$s» немає розділу «%1$s»"
-#: src/readelf.c:966
+#: src/readelf.c:988
#, c-format
msgid "cannot read ELF header: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ заголовок ELF: %s"
-#: src/readelf.c:974
+#: src/readelf.c:996
#, c-format
msgid "cannot create EBL handle"
msgstr "не вдалоÑÑ Ñтворити деÑкриптор EBL"
-#: src/readelf.c:985
+#: src/readelf.c:1007
#, c-format
msgid "cannot determine number of program headers: %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ кількіÑÑ‚ÑŒ заголовків програми: %s"
-#: src/readelf.c:1017
+#: src/readelf.c:1039
#, c-format
msgid "cannot read ELF: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ ELF: %s"
-#: src/readelf.c:1050
+#: src/readelf.c:1072
#, fuzzy
#| msgid "cannot get section: %s"
msgid "cannot find section"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ розділ: %s"
-#: src/readelf.c:1087
+#: src/readelf.c:1109
msgid "NONE (None)"
msgstr "NONE (Ðемає)"
-#: src/readelf.c:1088
+#: src/readelf.c:1110
msgid "REL (Relocatable file)"
msgstr "REL (Придатний до переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»)"
-#: src/readelf.c:1089
+#: src/readelf.c:1111
msgid "EXEC (Executable file)"
msgstr "EXEC (Виконуваний файл)"
-#: src/readelf.c:1090
+#: src/readelf.c:1112
msgid "DYN (Shared object file)"
msgstr "DYN (Файл об’єктів Ñпільного викориÑтаннÑ)"
-#: src/readelf.c:1091
+#: src/readelf.c:1113
msgid "CORE (Core file)"
msgstr "CORE (Файл Ñдра)"
-#: src/readelf.c:1096
+#: src/readelf.c:1118
#, c-format
msgid "OS Specific: (%x)\n"
msgstr "ОС-Ñпецифічне: (%x)\n"
#. && e_type <= ET_HIPROC always true
-#: src/readelf.c:1098
+#: src/readelf.c:1120
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr "Специфічне Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑора: (%x)\n"
-#: src/readelf.c:1108
+#: src/readelf.c:1130
msgid ""
"ELF Header:\n"
" Magic: "
@@ -4511,7 +4505,7 @@ msgstr ""
"Заголовок ELF:\n"
" Magic: "
-#: src/readelf.c:1112
+#: src/readelf.c:1134
#, c-format
msgid ""
"\n"
@@ -4520,123 +4514,123 @@ msgstr ""
"\n"
" КлаÑ: %s\n"
-#: src/readelf.c:1117
+#: src/readelf.c:1139
#, c-format
msgid " Data: %s\n"
msgstr " Дані: %s\n"
-#: src/readelf.c:1123
+#: src/readelf.c:1145
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr " ВерÑÑ–Ñ Ident: %hhd %s\n"
-#: src/readelf.c:1125 src/readelf.c:1147
+#: src/readelf.c:1147 src/readelf.c:1169
msgid "(current)"
msgstr "(поточний)"
-#: src/readelf.c:1129
+#: src/readelf.c:1151
#, c-format
msgid " OS/ABI: %s\n"
msgstr " ОС/ABI: %s\n"
-#: src/readelf.c:1132
+#: src/readelf.c:1154
#, c-format
msgid " ABI Version: %hhd\n"
msgstr " ВерÑÑ–Ñ ABI: %hhd\n"
-#: src/readelf.c:1135
+#: src/readelf.c:1157
msgid " Type: "
msgstr " Тип: "
-#: src/readelf.c:1140
+#: src/readelf.c:1162
#, c-format
msgid " Machine: %s\n"
msgstr " Ðрхітектура: %s\n"
-#: src/readelf.c:1142
+#: src/readelf.c:1164
#, c-format
msgid " Machine: <unknown>: 0x%x\n"
msgstr " Ðрхітектура: <невідома>: 0x%x\n"
-#: src/readelf.c:1145
+#: src/readelf.c:1167
#, c-format
msgid " Version: %d %s\n"
msgstr " ВерÑÑ–Ñ: %d %s\n"
-#: src/readelf.c:1149
+#: src/readelf.c:1171
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr " ÐдреÑа вхідної точки: %#<PRIx64>\n"
-#: src/readelf.c:1152
+#: src/readelf.c:1174
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr " Початок заголовків програм: %<PRId64> %s\n"
-#: src/readelf.c:1153 src/readelf.c:1156
+#: src/readelf.c:1175 src/readelf.c:1178
msgid "(bytes into file)"
msgstr "(байтів у файл)"
-#: src/readelf.c:1155
+#: src/readelf.c:1177
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr " Початок заголовків розділів: %<PRId64> %s\n"
-#: src/readelf.c:1158
+#: src/readelf.c:1180
#, c-format
msgid " Flags: %s\n"
msgstr " Прапорці: %s\n"
-#: src/readelf.c:1161
+#: src/readelf.c:1183
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr " Розмір цього заголовка: %<PRId16> %s\n"
-#: src/readelf.c:1162 src/readelf.c:1165 src/readelf.c:1182
+#: src/readelf.c:1184 src/readelf.c:1187 src/readelf.c:1204
msgid "(bytes)"
msgstr "(байтів)"
-#: src/readelf.c:1164
+#: src/readelf.c:1186
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr " Розмір запиÑів заголовка програми: %<PRId16> %s\n"
-#: src/readelf.c:1167
+#: src/readelf.c:1189
#, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr " КількіÑÑ‚ÑŒ запиÑів заголовків програми: %<PRId16>"
-#: src/readelf.c:1174
+#: src/readelf.c:1196
#, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr " (%<PRIu32> у [0].sh_info)"
-#: src/readelf.c:1177 src/readelf.c:1194 src/readelf.c:1208
+#: src/readelf.c:1199 src/readelf.c:1216 src/readelf.c:1230
msgid " ([0] not available)"
msgstr " ([0] недоÑтупний)"
-#: src/readelf.c:1181
+#: src/readelf.c:1203
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr " Розмір запиÑів заголовків розділів: %<PRId16> %s\n"
-#: src/readelf.c:1184
+#: src/readelf.c:1206
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr " КількіÑÑ‚ÑŒ запиÑів заголовків розділів: %<PRId16>"
-#: src/readelf.c:1191
+#: src/readelf.c:1213
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr " (%<PRIu32> у [0].sh_size)"
#. We managed to get the zeroth section.
-#: src/readelf.c:1204
+#: src/readelf.c:1226
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr " (%<PRIu32> у [0].sh_link)"
-#: src/readelf.c:1212
+#: src/readelf.c:1234
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
@@ -4645,7 +4639,7 @@ msgstr ""
" Ð†Ð½Ð´ÐµÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° розділу у таблиці Ñ€Ñдків: XINDEX%s\n"
"\n"
-#: src/readelf.c:1216
+#: src/readelf.c:1238
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
@@ -4654,12 +4648,12 @@ msgstr ""
" Ð†Ð½Ð´ÐµÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° розділу у таблиці Ñ€Ñдків: %<PRId16>\n"
"\n"
-#: src/readelf.c:1266 src/readelf.c:1474
+#: src/readelf.c:1288 src/readelf.c:1496
#, c-format
msgid "cannot get number of sections: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ кількіÑÑ‚ÑŒ розділів: %s"
-#: src/readelf.c:1269
+#: src/readelf.c:1291
#, c-format
msgid ""
"There are %zd section headers, starting at offset %#<PRIx64>:\n"
@@ -4668,16 +4662,16 @@ msgstr ""
"ВиÑвлено %zd заголовків розділів, Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ — %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:1277
+#: src/readelf.c:1299
#, c-format
msgid "cannot get section header string table index: %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñ–Ð½Ð´ÐµÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° розділу у таблиці Ñ€Ñдків: %s"
-#: src/readelf.c:1280
+#: src/readelf.c:1302
msgid "Section Headers:"
msgstr "Заголовки розділів:"
-#: src/readelf.c:1283
+#: src/readelf.c:1305
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
@@ -4685,7 +4679,7 @@ msgstr ""
"[â„– ] Ðазва Тип Ðдр Змі Розмір ES Прап Lk "
"Інф Al"
-#: src/readelf.c:1285
+#: src/readelf.c:1307
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
@@ -4693,35 +4687,35 @@ msgstr ""
"[â„– ] Ðазва Тип Ðдр Змі Розмір ES "
"Прап Lk Інф Al"
-#: src/readelf.c:1290
+#: src/readelf.c:1312
msgid " [Compression Size Al]"
msgstr " [СтиÑÐºÐ°Ð½Ð½Ñ Ð Ð¾Ð·Ð¼Ñ–Ñ€ Ðл]"
-#: src/readelf.c:1292
+#: src/readelf.c:1314
msgid " [Compression Size Al]"
msgstr " [СтиÑÐºÐ°Ð½Ð½Ñ Ð Ð¾Ð·Ð¼Ñ–Ñ€ Ðл]"
-#: src/readelf.c:1370
+#: src/readelf.c:1392
#, c-format
msgid "bad compression header for section %zd: %s"
msgstr "помилковий заголовок ÑтиÑÐ½ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %zd: %s"
-#: src/readelf.c:1381
+#: src/readelf.c:1403
#, c-format
msgid "bad gnu compressed size for section %zd: %s"
msgstr "помилкове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÑтиÑненого розміру gnu Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %zd: %s"
-#: src/readelf.c:1399
+#: src/readelf.c:1421
msgid "Program Headers:"
msgstr "Заголовки програми:"
-#: src/readelf.c:1401
+#: src/readelf.c:1423
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
" Тип Зміщен ВіртÐдр ФізÐдр РозмФайл РозмПам Пра Вирів"
-#: src/readelf.c:1404
+#: src/readelf.c:1426
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
@@ -4729,12 +4723,12 @@ msgstr ""
" Тип Зміщен ВіртÐдр ФізÐдр "
"РозмФайлРозмПам Пра Вирів"
-#: src/readelf.c:1461
+#: src/readelf.c:1483
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr "\t[Запит щодо інтерпретатора програми: %s]\n"
-#: src/readelf.c:1486
+#: src/readelf.c:1508
msgid ""
"\n"
" Section to Segment mapping:\n"
@@ -4744,12 +4738,12 @@ msgstr ""
" Ð’Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² на Ñегмент:\n"
" Розділи Ñегмента..."
-#: src/readelf.c:1497 src/unstrip.c:2114 src/unstrip.c:2156 src/unstrip.c:2163
+#: src/readelf.c:1519 src/unstrip.c:2114 src/unstrip.c:2156 src/unstrip.c:2163
#, c-format
msgid "cannot get program header: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок програми: %s"
-#: src/readelf.c:1641
+#: src/readelf.c:1663
#, c-format
msgid ""
"\n"
@@ -4767,7 +4761,7 @@ msgstr[2] ""
"\n"
"Група розділів COMDAT [%2zu] «%s» з підпиÑом «%s» міÑтить %zu запиÑів:\n"
-#: src/readelf.c:1646
+#: src/readelf.c:1668
#, c-format
msgid ""
"\n"
@@ -4785,32 +4779,32 @@ msgstr[2] ""
"\n"
"Група розділів [%2zu] «%s» з підпиÑом «%s» міÑтить %zu запиÑів:\n"
-#: src/readelf.c:1654
+#: src/readelf.c:1676
msgid "<INVALID SYMBOL>"
msgstr "<ÐЕКОРЕКТÐИЙ СИМВОЛ>"
-#: src/readelf.c:1668
+#: src/readelf.c:1690
msgid "<INVALID SECTION>"
msgstr "<ÐЕКОРЕКТÐИЙ РОЗДІЛ>"
-#: src/readelf.c:1691 src/readelf.c:2476 src/readelf.c:3581 src/readelf.c:3881
-#: src/readelf.c:12905 src/readelf.c:12912 src/readelf.c:12956
-#: src/readelf.c:12963
+#: src/readelf.c:1713 src/readelf.c:2614 src/readelf.c:3912 src/readelf.c:4212
+#: src/readelf.c:13314 src/readelf.c:13321 src/readelf.c:13365
+#: src/readelf.c:13372
msgid "Couldn't uncompress section"
msgstr "Ðе вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ñ‚Ð¸ розділ"
-#: src/readelf.c:1695 src/readelf.c:2481 src/readelf.c:3585
+#: src/readelf.c:1717 src/readelf.c:2619 src/readelf.c:3916
#, c-format
msgid "cannot get section [%zd] header: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу [%zd]: %s"
-#: src/readelf.c:1864 src/readelf.c:2550 src/readelf.c:2815 src/readelf.c:2890
-#: src/readelf.c:3193 src/readelf.c:3267 src/readelf.c:5619
+#: src/readelf.c:1886 src/readelf.c:2860 src/readelf.c:3146 src/readelf.c:3221
+#: src/readelf.c:3524 src/readelf.c:3598 src/readelf.c:5962
#, c-format
msgid "invalid sh_link value in section %zu"
msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ sh_link у розділі %zu"
-#: src/readelf.c:1867
+#: src/readelf.c:1889
#, c-format
msgid ""
"\n"
@@ -4833,7 +4827,7 @@ msgstr[2] ""
"Динамічний Ñегмент міÑтить %lu запиÑів:\n"
" Ðдр: %#0*<PRIx64> ЗміщеннÑ: %#08<PRIx64> ПоÑ. на розділ: [%2u] '%s'\n"
-#: src/readelf.c:1880
+#: src/readelf.c:1902
#, fuzzy, c-format
#| msgid ""
#| "\n"
@@ -4864,42 +4858,42 @@ msgstr[2] ""
"Динамічний Ñегмент міÑтить %lu запиÑів:\n"
" Ðдр: %#0*<PRIx64> ЗміщеннÑ: %#08<PRIx64> ПоÑ. на розділ: [%2u] '%s'\n"
-#: src/readelf.c:1890
+#: src/readelf.c:1912
msgid " Type Value\n"
msgstr " Тип ЗначеннÑ\n"
-#: src/readelf.c:1899
+#: src/readelf.c:1921
#, fuzzy
#| msgid "cannot get string section data: %s"
msgid "cannot get string table by using dynamic segment"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу Ñ€Ñдків: %s"
-#: src/readelf.c:1938
+#: src/readelf.c:1960
#, c-format
msgid "Shared library: [%s]\n"
msgstr "Спільна бібліотека: [%s]\n"
-#: src/readelf.c:1942
+#: src/readelf.c:1964
#, c-format
msgid "Library soname: [%s]\n"
msgstr "Ðазва so бібліотеки: [%s]\n"
-#: src/readelf.c:1946
+#: src/readelf.c:1968
#, c-format
msgid "Library rpath: [%s]\n"
msgstr "Rpath бібліотеки: [%s]\n"
-#: src/readelf.c:1950
+#: src/readelf.c:1972
#, c-format
msgid "Library runpath: [%s]\n"
msgstr "Runpath бібліотеки: [%s]\n"
-#: src/readelf.c:1969
+#: src/readelf.c:1993
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr "%<PRId64> (байт)\n"
-#: src/readelf.c:2083 src/readelf.c:2272
+#: src/readelf.c:2109 src/readelf.c:2298
#, c-format
msgid ""
"\n"
@@ -4908,7 +4902,7 @@ msgstr ""
"\n"
"Ðекоректна Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів за зміщеннÑм %#0<PRIx64>\n"
-#: src/readelf.c:2100 src/readelf.c:2289
+#: src/readelf.c:2126 src/readelf.c:2315
#, c-format
msgid ""
"\n"
@@ -4937,7 +4931,8 @@ msgstr[2] ""
#. The .rela.dyn section does not refer to a specific section but
#. instead of section index zero. Do not try to print a section
#. name.
-#: src/readelf.c:2115 src/readelf.c:2304
+#. A .relr.dyn section does not refer to a specific section.
+#: src/readelf.c:2141 src/readelf.c:2330 src/readelf.c:2485
#, c-format
msgid ""
"\n"
@@ -4955,30 +4950,40 @@ msgstr[2] ""
"\n"
"Розділ переÑÑƒÐ²Ð°Ð½Ð½Ñ [%2u] «%s» за зміщеннÑм %#0<PRIx64> міÑтить %d запиÑів:\n"
-#: src/readelf.c:2125
+#: src/readelf.c:2151
msgid " Offset Type Value Name\n"
msgstr " Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва\n"
-#: src/readelf.c:2127
+#: src/readelf.c:2153
msgid " Offset Type Value Name\n"
msgstr " Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва\n"
-#: src/readelf.c:2180 src/readelf.c:2191 src/readelf.c:2204 src/readelf.c:2225
-#: src/readelf.c:2237 src/readelf.c:2370 src/readelf.c:2382 src/readelf.c:2396
-#: src/readelf.c:2418 src/readelf.c:2431
+#: src/readelf.c:2206 src/readelf.c:2217 src/readelf.c:2230 src/readelf.c:2251
+#: src/readelf.c:2263 src/readelf.c:2396 src/readelf.c:2408 src/readelf.c:2422
+#: src/readelf.c:2444 src/readelf.c:2457
msgid "<INVALID RELOC>"
msgstr "<ÐЕКОРЕКТÐЕ ПЕРЕМІЩЕÐÐЯ>"
-#: src/readelf.c:2314
+#: src/readelf.c:2340
msgid " Offset Type Value Addend Name\n"
msgstr " Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва додатка\n"
-#: src/readelf.c:2316
+#: src/readelf.c:2342
msgid " Offset Type Value Addend Name\n"
msgstr ""
" Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва додатка\n"
-#: src/readelf.c:2558
+#: src/readelf.c:2654
+#, c-format
+msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
+msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
+
+#: src/readelf.c:2750
+#, c-format
+msgid "bad dynamic symbol"
+msgstr "помилковий динамічний Ñимвол"
+
+#: src/readelf.c:2868
#, c-format
msgid ""
"\n"
@@ -4996,7 +5001,7 @@ msgstr[2] ""
"\n"
"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів [%2u] «%s» міÑтить %u запиÑів:\n"
-#: src/readelf.c:2563
+#: src/readelf.c:2873
#, c-format
msgid " %lu local symbol String table: [%2u] '%s'\n"
msgid_plural " %lu local symbols String table: [%2u] '%s'\n"
@@ -5004,33 +5009,27 @@ msgstr[0] " %lu лок. Ñимвол Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів: [%2u] «
msgstr[1] " %lu лок. Ñимволи Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів: [%2u] «%s»\n"
msgstr[2] " %lu лок. Ñимволів Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів: [%2u] «%s»\n"
-#: src/readelf.c:2571
+#: src/readelf.c:2881
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " â„–â„– Знач. Роз. Тип Зв’Ñз Вид. Інд Ðазва\n"
-#: src/readelf.c:2573
+#: src/readelf.c:2883
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " â„–â„– Знач. Роз. Тип Зв’Ñз Вид. Інд Ðазва\n"
-#: src/readelf.c:2593
-#, c-format
-msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
-
-#: src/readelf.c:2686
-#, c-format
-msgid "bad dynamic symbol"
-msgstr "помилковий динамічний Ñимвол"
+#: src/readelf.c:3002
+msgid "Dynamic symbol information is not available for displaying symbols."
+msgstr ""
-#: src/readelf.c:2771
+#: src/readelf.c:3102
msgid "none"
msgstr "немає"
-#: src/readelf.c:2788
+#: src/readelf.c:3119
msgid "| <unknown>"
msgstr "| <невідомо>"
-#: src/readelf.c:2818
+#: src/readelf.c:3149
#, c-format
msgid ""
"\n"
@@ -5053,17 +5052,17 @@ msgstr[2] ""
"Розділ потреби у верÑÑ–ÑÑ… [%2u] «%s», що міÑтить %d запиÑів:\n"
" Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»\n"
-#: src/readelf.c:2839
+#: src/readelf.c:3170
#, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: ВерÑÑ–Ñ: %hu Файл: %s Кть: %hu\n"
-#: src/readelf.c:2852
+#: src/readelf.c:3183
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: Ðазва: %s Прап: %s ВерÑÑ–Ñ: %hu\n"
-#: src/readelf.c:2894
+#: src/readelf.c:3225
#, c-format
msgid ""
"\n"
@@ -5086,18 +5085,18 @@ msgstr[2] ""
"Розділ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²ÐµÑ€ÑÑ–Ñ— [%2u] «%s», що міÑтить %d запиÑів:\n"
" Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»\n"
-#: src/readelf.c:2922
+#: src/readelf.c:3253
#, c-format
msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n"
msgstr " %#06x: ВерÑÑ–Ñ: %hd Прап.: %s ІндекÑ: %hd К-Ñ‚ÑŒ: %hd Ðазва: %s\n"
-#: src/readelf.c:2937
+#: src/readelf.c:3268
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr " %#06x: батьківÑький %d: %s\n"
#. Print the header.
-#: src/readelf.c:3197
+#: src/readelf.c:3528
#, c-format
msgid ""
"\n"
@@ -5120,15 +5119,15 @@ msgstr[2] ""
"Розділ Ñимволів верÑій [%2u] «%s», що міÑтить %d запиÑів:\n"
" Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»"
-#: src/readelf.c:3225
+#: src/readelf.c:3556
msgid " 0 *local* "
msgstr " 0 *локальний* "
-#: src/readelf.c:3230
+#: src/readelf.c:3561
msgid " 1 *global* "
msgstr " 1 *загальний* "
-#: src/readelf.c:3272
+#: src/readelf.c:3603
#, c-format
msgid ""
"\n"
@@ -5156,22 +5155,22 @@ msgstr[2] ""
"блоками):\n"
" Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»\n"
-#: src/readelf.c:3294
+#: src/readelf.c:3625
#, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr " Довжина Ðомер % від загал. ПокриттÑ\n"
-#: src/readelf.c:3296
+#: src/readelf.c:3627
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:3303
+#: src/readelf.c:3634
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:3316
+#: src/readelf.c:3647
#, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
@@ -5180,37 +5179,37 @@ msgstr ""
" Ð¡ÐµÑ€ÐµÐ´Ð½Ñ ÐºÑ–Ð»ÑŒÐºÑ–ÑÑ‚ÑŒ теÑтів: уÑпішний пошук: %f\n"
"\t\t\t неуÑпішний пошук: %f\n"
-#: src/readelf.c:3334 src/readelf.c:3398 src/readelf.c:3464
+#: src/readelf.c:3665 src/readelf.c:3729 src/readelf.c:3795
#, c-format
msgid "cannot get data for section %d: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d: %s"
-#: src/readelf.c:3342
+#: src/readelf.c:3673
#, c-format
msgid "invalid data in sysv.hash section %d"
msgstr "некоректні дані у розділі sysv.hash %d"
-#: src/readelf.c:3371
+#: src/readelf.c:3702
#, c-format
msgid "invalid chain in sysv.hash section %d"
msgstr "некоректний ланцюжок у розділі sysv.hash %d"
-#: src/readelf.c:3406
+#: src/readelf.c:3737
#, c-format
msgid "invalid data in sysv.hash64 section %d"
msgstr "некоректні дані у розділі sysv.hash64 %d"
-#: src/readelf.c:3437
+#: src/readelf.c:3768
#, c-format
msgid "invalid chain in sysv.hash64 section %d"
msgstr "некоректний ланцюжок у розділі sysv.hash64 %d"
-#: src/readelf.c:3473
+#: src/readelf.c:3804
#, c-format
msgid "invalid data in gnu.hash section %d"
msgstr "некоректні дані у розділі gnu.hash %d"
-#: src/readelf.c:3539
+#: src/readelf.c:3870
#, c-format
msgid ""
" Symbol Bias: %u\n"
@@ -5220,7 +5219,7 @@ msgstr ""
" Розмір бітової маÑки: %zu байтів %<PRIuFAST32>%% вÑтановлених бітів зÑув "
"2-го хешу: %u\n"
-#: src/readelf.c:3624
+#: src/readelf.c:3955
#, c-format
msgid ""
"\n"
@@ -5241,7 +5240,7 @@ msgstr[2] ""
"Розділ ÑпиÑку бібліотек [%2zu] «%s» за зміщеннÑм %#0<PRIx64> міÑтить %d "
"запиÑів:\n"
-#: src/readelf.c:3638
+#: src/readelf.c:3969
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
@@ -5249,7 +5248,7 @@ msgstr ""
" Бібліотека ЧаÑовий штамп ВерÑÑ–Ñ Ñуми "
"Прапорці"
-#: src/readelf.c:3698
+#: src/readelf.c:4029
#, c-format
msgid ""
"\n"
@@ -5260,107 +5259,107 @@ msgstr ""
"Розділ атрибутів об’єктів [%2zu] «%s» з %<PRIu64> байтів за зміщеннÑм "
"%#0<PRIx64>:\n"
-#: src/readelf.c:3715
+#: src/readelf.c:4046
msgid " Owner Size\n"
msgstr " ВлаÑник Розмір\n"
-#: src/readelf.c:3739
+#: src/readelf.c:4070
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
#. Unknown subsection, print and skip.
-#: src/readelf.c:3778
+#: src/readelf.c:4109
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
#. Tag_File
-#: src/readelf.c:3783
+#: src/readelf.c:4114
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " Файл: %11<PRIu32>\n"
-#: src/readelf.c:3833
+#: src/readelf.c:4164
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>, %s\n"
-#: src/readelf.c:3836
+#: src/readelf.c:4167
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3839
+#: src/readelf.c:4170
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3849
+#: src/readelf.c:4180
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3852
+#: src/readelf.c:4183
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3890
+#: src/readelf.c:4221
#, fuzzy
#| msgid "couldn't get shdr for group section: %s"
msgid "Couldn't get data from section"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ shdr Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ груп: %s"
-#: src/readelf.c:3955
+#: src/readelf.c:4286
msgid "sprintf failure"
msgstr "помилка sprintf"
-#: src/readelf.c:4439
+#: src/readelf.c:4770
msgid "empty block"
msgstr "порожній блок"
-#: src/readelf.c:4442
+#: src/readelf.c:4773
#, c-format
msgid "%zu byte block:"
msgstr "%zu-байтовий блок:"
-#: src/readelf.c:4920
+#: src/readelf.c:5251
#, c-format
msgid "%*s[%2<PRIuMAX>] %s <TRUNCATED>\n"
msgstr "%*s[%2<PRIuMAX>] %s <ОБРІЗÐÐО>\n"
-#: src/readelf.c:5080
+#: src/readelf.c:5423
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr "%s %#<PRIx64> викориÑтано з різними розмірами адреÑ"
-#: src/readelf.c:5087
+#: src/readelf.c:5430
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr "%s %#<PRIx64> викориÑтано з різними розмірами зміщень"
-#: src/readelf.c:5094
+#: src/readelf.c:5437
#, c-format
msgid "%s %#<PRIx64> used with different base addresses"
msgstr "%s %#<PRIx64> викориÑтано з різними базовими адреÑами"
-#: src/readelf.c:5101
+#: src/readelf.c:5444
#, c-format
msgid "%s %#<PRIx64> used with different attribute %s and %s"
msgstr "%s %#<PRIx64> викориÑтано з різними атрибутами, %s Ñ– %s"
-#: src/readelf.c:5201
+#: src/readelf.c:5544
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr " [%6tx] <ÐЕВИКОРИСТОВУВÐÐІ ДÐÐІ У РЕШТІ РОЗДІЛУ>\n"
-#: src/readelf.c:5209
+#: src/readelf.c:5552
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr " [%6tx] <ÐЕВИКОРИСТОВУВÐÐІ ДÐÐІ> ... %<PRIu64> байтів ...\n"
-#: src/readelf.c:5315
+#: src/readelf.c:5658
#, c-format
msgid ""
"\n"
@@ -5371,7 +5370,7 @@ msgstr ""
"Розділ DWARF [%2zu] «%s» зі зміщеннÑм %#<PRIx64>:\n"
" [ Код]\n"
-#: src/readelf.c:5323
+#: src/readelf.c:5666
#, c-format
msgid ""
"\n"
@@ -5380,20 +5379,20 @@ msgstr ""
"\n"
"Розділ Ñкорочень за зміщеннÑм %<PRIu64>:\n"
-#: src/readelf.c:5336
+#: src/readelf.c:5679
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr " *** помилка під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ ÑкороченнÑ: %s\n"
-#: src/readelf.c:5352
+#: src/readelf.c:5695
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr " [%5u] зміщеннÑ: %<PRId64>, дочірній: %s, мітка: %s\n"
-#: src/readelf.c:5389 src/readelf.c:5682 src/readelf.c:5853 src/readelf.c:6224
-#: src/readelf.c:6850 src/readelf.c:8619 src/readelf.c:9361 src/readelf.c:9829
-#: src/readelf.c:10084 src/readelf.c:10246 src/readelf.c:10627
-#: src/readelf.c:10698
+#: src/readelf.c:5732 src/readelf.c:6025 src/readelf.c:6196 src/readelf.c:6567
+#: src/readelf.c:7193 src/readelf.c:8962 src/readelf.c:9704 src/readelf.c:10172
+#: src/readelf.c:10427 src/readelf.c:10589 src/readelf.c:10970
+#: src/readelf.c:11041
#, c-format
msgid ""
"\n"
@@ -5402,49 +5401,49 @@ msgstr ""
"\n"
"Розділ DWARF [%2zu] «%s» зі зміщеннÑм %#<PRIx64>:\n"
-#: src/readelf.c:5492 src/readelf.c:5516 src/readelf.c:5889 src/readelf.c:9397
+#: src/readelf.c:5835 src/readelf.c:5859 src/readelf.c:6232 src/readelf.c:9740
#, c-format
msgid " Length: %8<PRIu64>\n"
msgstr " Довжина: %8<PRIu64>\n"
-#: src/readelf.c:5494 src/readelf.c:5531 src/readelf.c:5902 src/readelf.c:9410
+#: src/readelf.c:5837 src/readelf.c:5874 src/readelf.c:6245 src/readelf.c:9753
#, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " верÑÑ–Ñ DWARF: %8<PRIu16>\n"
-#: src/readelf.c:5495 src/readelf.c:5540 src/readelf.c:5911 src/readelf.c:9419
+#: src/readelf.c:5838 src/readelf.c:5883 src/readelf.c:6254 src/readelf.c:9762
#, c-format
msgid " Address size: %8<PRIu64>\n"
msgstr " Розмір адреÑи: %8<PRIu64>\n"
-#: src/readelf.c:5497 src/readelf.c:5550 src/readelf.c:5921 src/readelf.c:9429
+#: src/readelf.c:5840 src/readelf.c:5893 src/readelf.c:6264 src/readelf.c:9772
#, c-format
msgid " Segment size: %8<PRIu64>\n"
msgstr ""
" Розмір Ñегмента: %8<PRIu64>\n"
"\n"
-#: src/readelf.c:5535 src/readelf.c:5906 src/readelf.c:9414 src/readelf.c:10820
+#: src/readelf.c:5878 src/readelf.c:6249 src/readelf.c:9757 src/readelf.c:11163
#, c-format
msgid "Unknown version"
msgstr "Ðевідома верÑÑ–Ñ"
-#: src/readelf.c:5545 src/readelf.c:5752 src/readelf.c:5916 src/readelf.c:9424
+#: src/readelf.c:5888 src/readelf.c:6095 src/readelf.c:6259 src/readelf.c:9767
#, c-format
msgid "unsupported address size"
msgstr "непідтримуваний розмір адреÑи"
-#: src/readelf.c:5556 src/readelf.c:5763 src/readelf.c:5926 src/readelf.c:9434
+#: src/readelf.c:5899 src/readelf.c:6106 src/readelf.c:6269 src/readelf.c:9777
#, c-format
msgid "unsupported segment size"
msgstr "непідтримуваний розмір Ñегмента"
-#: src/readelf.c:5609
+#: src/readelf.c:5952
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані get .debug_aranges: %s"
-#: src/readelf.c:5624
+#: src/readelf.c:5967
#, c-format
msgid ""
"\n"
@@ -5462,12 +5461,12 @@ msgstr[2] ""
"\n"
"Розділ DWARF [%2zu] «%s» за зміщеннÑм %#<PRIx64> міÑтить %zu запиÑів:\n"
-#: src/readelf.c:5655
+#: src/readelf.c:5998
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:5657
+#: src/readelf.c:6000
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
@@ -5475,7 +5474,7 @@ msgstr ""
" [%*zu] початок: %0#*<PRIx64>, довжина: %5<PRIu64>, Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ CU DIE: "
"%6<PRId64>\n"
-#: src/readelf.c:5695 src/readelf.c:8638
+#: src/readelf.c:6038 src/readelf.c:8981
#, c-format
msgid ""
"\n"
@@ -5484,13 +5483,13 @@ msgstr ""
"\n"
"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð·Ð° зміщеннÑм %zu:\n"
-#: src/readelf.c:5699 src/readelf.c:5870 src/readelf.c:6874 src/readelf.c:8649
-#: src/readelf.c:9378
+#: src/readelf.c:6042 src/readelf.c:6213 src/readelf.c:7217 src/readelf.c:8992
+#: src/readelf.c:9721
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr "некоректні дані у розділі [%zu] «%s»"
-#: src/readelf.c:5715
+#: src/readelf.c:6058
#, c-format
msgid ""
"\n"
@@ -5499,27 +5498,27 @@ msgstr ""
"\n"
" Довжина: %6<PRIu64>\n"
-#: src/readelf.c:5727
+#: src/readelf.c:6070
#, c-format
msgid " DWARF version: %6<PRIuFAST16>\n"
msgstr " верÑÑ–Ñ DWARF: %6<PRIuFAST16>\n"
-#: src/readelf.c:5731
+#: src/readelf.c:6074
#, c-format
msgid "unsupported aranges version"
msgstr "непідтримувана верÑÑ–Ñ aranges"
-#: src/readelf.c:5742
+#: src/readelf.c:6085
#, c-format
msgid " CU offset: %6<PRIx64>\n"
msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ CU: %6<PRIx64>\n"
-#: src/readelf.c:5748
+#: src/readelf.c:6091
#, c-format
msgid " Address size: %6<PRIu64>\n"
msgstr " Розмір адреÑи: %6<PRIu64>\n"
-#: src/readelf.c:5759
+#: src/readelf.c:6102
#, c-format
msgid ""
" Segment size: %6<PRIu64>\n"
@@ -5528,12 +5527,12 @@ msgstr ""
" Розмір Ñегмента: %6<PRIu64>\n"
"\n"
-#: src/readelf.c:5814
+#: src/readelf.c:6157
#, c-format
msgid " %zu padding bytes\n"
msgstr " %zu байтів доповненнÑ\n"
-#: src/readelf.c:5876 src/readelf.c:9384
+#: src/readelf.c:6219 src/readelf.c:9727
#, c-format
msgid ""
"Table at Offset 0x%<PRIx64>:\n"
@@ -5542,42 +5541,42 @@ msgstr ""
"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð·Ð° зміщеннÑм 0x%<PRIx64>:\n"
"\n"
-#: src/readelf.c:5931 src/readelf.c:9439
+#: src/readelf.c:6274 src/readelf.c:9782
#, c-format
msgid " Offset entries: %8<PRIu64>\n"
msgstr " ЗапиÑи зміщеннÑ: %8<PRIu64>\n"
-#: src/readelf.c:5947 src/readelf.c:9455
+#: src/readelf.c:6290 src/readelf.c:9798
#, c-format
msgid " Unknown CU base: "
msgstr " Ðевідома оÑнова CU: "
-#: src/readelf.c:5949 src/readelf.c:9457
+#: src/readelf.c:6292 src/readelf.c:9800
#, c-format
msgid " CU [%6<PRIx64>] base: "
msgstr " ОÑнова CU [%6<PRIx64>]: "
-#: src/readelf.c:5955 src/readelf.c:9463
+#: src/readelf.c:6298 src/readelf.c:9806
#, c-format
msgid " Not associated with a CU.\n"
msgstr " Ðе пов'Ñзано із CU.\n"
-#: src/readelf.c:5966 src/readelf.c:9474
+#: src/readelf.c:6309 src/readelf.c:9817
#, c-format
msgid "too many offset entries for unit length"
msgstr "забагато запиÑів зÑуву Ð´Ð»Ñ Ð´Ð¾Ð²Ð¶Ð¸Ð½Ð¸ модулÑ"
-#: src/readelf.c:5970 src/readelf.c:9478
+#: src/readelf.c:6313 src/readelf.c:9821
#, c-format
msgid " Offsets starting at 0x%<PRIx64>:\n"
msgstr " ЗміщеннÑ, що починаютьÑÑ Ð· 0x%<PRIx64>:\n"
-#: src/readelf.c:6022
+#: src/readelf.c:6365
#, c-format
msgid "invalid range list data"
msgstr "некоректні дані ÑпиÑку діапазонів"
-#: src/readelf.c:6207 src/readelf.c:9813
+#: src/readelf.c:6550 src/readelf.c:10156
#, c-format
msgid ""
" %zu padding bytes\n"
@@ -5586,7 +5585,7 @@ msgstr ""
" %zu байтів доповненнÑ\n"
"\n"
-#: src/readelf.c:6255 src/readelf.c:9862
+#: src/readelf.c:6598 src/readelf.c:10205
#, c-format
msgid ""
"\n"
@@ -5595,7 +5594,7 @@ msgstr ""
"\n"
" Ðевідома оÑнова CU: "
-#: src/readelf.c:6257 src/readelf.c:9864
+#: src/readelf.c:6600 src/readelf.c:10207
#, c-format
msgid ""
"\n"
@@ -5604,31 +5603,31 @@ msgstr ""
"\n"
" ОÑнова CU [%6<PRIx64>]: "
-#: src/readelf.c:6266 src/readelf.c:9890 src/readelf.c:9916
+#: src/readelf.c:6609 src/readelf.c:10233 src/readelf.c:10259
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr " [%6tx] <ÐЕКОРЕКТÐІ ДÐÐІ>\n"
-#: src/readelf.c:6291 src/readelf.c:10000
+#: src/readelf.c:6634 src/readelf.c:10343
#, fuzzy
msgid "base address"
msgstr " вÑтановити адреÑу у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ "
-#: src/readelf.c:6301 src/readelf.c:10010
+#: src/readelf.c:6644 src/readelf.c:10353
#, c-format
msgid " [%6tx] empty list\n"
msgstr " [%6tx] порожній ÑпиÑок\n"
-#: src/readelf.c:6565
+#: src/readelf.c:6908
msgid " <INVALID DATA>\n"
msgstr " <ÐЕКОРЕКТÐІ ДÐÐІ>\n"
-#: src/readelf.c:6822
+#: src/readelf.c:7165
#, c-format
msgid "cannot get ELF: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ELF: %s"
-#: src/readelf.c:6846
+#: src/readelf.c:7189
#, c-format
msgid ""
"\n"
@@ -5637,7 +5636,7 @@ msgstr ""
"\n"
"Розділ відомоÑтей щодо вікна викликів [%2zu] «%s» за зміщеннÑм %#<PRIx64>:\n"
-#: src/readelf.c:6896
+#: src/readelf.c:7239
#, c-format
msgid ""
"\n"
@@ -5646,65 +5645,65 @@ msgstr ""
"\n"
" [%6tx] нульовий переривач\n"
-#: src/readelf.c:7000 src/readelf.c:7154
+#: src/readelf.c:7343 src/readelf.c:7497
#, c-format
msgid "invalid augmentation length"
msgstr "некоректна довжина збільшеннÑ"
-#: src/readelf.c:7015
+#: src/readelf.c:7358
msgid "FDE address encoding: "
msgstr "ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð´Ñ€ÐµÑи FDE: "
-#: src/readelf.c:7021
+#: src/readelf.c:7364
msgid "LSDA pointer encoding: "
msgstr "ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° LSDA: "
-#: src/readelf.c:7131
+#: src/readelf.c:7474
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr " (зміщеннÑ: %#<PRIx64>)"
-#: src/readelf.c:7138
+#: src/readelf.c:7481
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr " (Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ кінцÑ: %#<PRIx64>)"
-#: src/readelf.c:7175
+#: src/readelf.c:7518
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr " %-26sвказівник LSDA: %#<PRIx64>\n"
-#: src/readelf.c:7260
+#: src/readelf.c:7603
#, c-format
msgid "DIE [%<PRIx64>] cannot get attribute code: %s"
msgstr "DIE [%<PRIx64>] не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ код атрибута: %s"
-#: src/readelf.c:7270
+#: src/readelf.c:7613
#, c-format
msgid "DIE [%<PRIx64>] cannot get attribute form: %s"
msgstr "DIE [%<PRIx64>] не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ форму атрибута: %s"
-#: src/readelf.c:7292
+#: src/readelf.c:7635
#, c-format
msgid "DIE [%<PRIx64>] cannot get attribute '%s' (%s) value: %s"
msgstr "DIE [%<PRIx64>] не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð° «%s» (%s): %s"
-#: src/readelf.c:7622
+#: src/readelf.c:7965
#, c-format
msgid "invalid file (%<PRId64>): %s"
msgstr "некоректний файл (%<PRId64>): %s"
-#: src/readelf.c:7626
+#: src/readelf.c:7969
#, c-format
msgid "no srcfiles for CU [%<PRIx64>]"
msgstr "немає srcfiles Ð´Ð»Ñ CU [%<PRIx64>]"
-#: src/readelf.c:7630
+#: src/readelf.c:7973
#, c-format
msgid "couldn't get DWARF CU: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ CU DWARF: %s"
-#: src/readelf.c:7952
+#: src/readelf.c:8295
#, c-format
msgid ""
"\n"
@@ -5715,12 +5714,12 @@ msgstr ""
"Розділ DWARF [%2zu] «%s» за зміщеннÑм %#<PRIx64>:\n"
" [ЗміщеннÑ]\n"
-#: src/readelf.c:8002
+#: src/readelf.c:8345
#, c-format
msgid "cannot get next unit: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ наÑтупний модуль: %s"
-#: src/readelf.c:8022
+#: src/readelf.c:8365
#, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5733,7 +5732,7 @@ msgstr ""
"%<PRIu8>, Розмір зміщеннÑ: %<PRIu8>\n"
" ÐŸÑ–Ð´Ð¿Ð¸Ñ Ñ‚Ð¸Ð¿Ñƒ: %#<PRIx64>, Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ: %#<PRIx64> [%<PRIx64>]\n"
-#: src/readelf.c:8034
+#: src/readelf.c:8377
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5744,38 +5743,38 @@ msgstr ""
" ВерÑÑ–Ñ: %<PRIu16>, Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñкорочень: %<PRIu64>, ÐдреÑа: %<PRIu8>, "
"ЗміщеннÑ: %<PRIu8>\n"
-#: src/readelf.c:8044 src/readelf.c:8205
+#: src/readelf.c:8387 src/readelf.c:8548
#, c-format
msgid " Unit type: %s (%<PRIu8>)"
msgstr " Тип модулÑ: %s (%<PRIu8>)"
-#: src/readelf.c:8071
+#: src/readelf.c:8414
#, c-format
msgid "unknown version (%d) or unit type (%d)"
msgstr "невідома верÑÑ–Ñ (%d) або тип Ð¼Ð¾Ð´ÑƒÐ»Ñ (%d)"
-#: src/readelf.c:8100
+#: src/readelf.c:8443
#, c-format
msgid "cannot get DIE offset: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ DIE: %s"
-#: src/readelf.c:8109
+#: src/readelf.c:8452
#, c-format
msgid "cannot get tag of DIE at offset [%<PRIx64>] in section '%s': %s"
msgstr ""
"не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ мітку DIE за зміщеннÑм [%<PRIu64>] у розділі «%s»: %s"
-#: src/readelf.c:8145
+#: src/readelf.c:8488
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ наÑтупний DIE: %s\n"
-#: src/readelf.c:8153
+#: src/readelf.c:8496
#, c-format
msgid "cannot get next DIE: %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ наÑтупний DIE: %s"
-#: src/readelf.c:8197
+#: src/readelf.c:8540
#, c-format
msgid ""
" Split compilation unit at offset %<PRIu64>:\n"
@@ -5786,7 +5785,7 @@ msgstr ""
" ВерÑÑ–Ñ: %<PRIu16>, Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñкорочень: %<PRIu64>, ÐдреÑа: %<PRIu8>, "
"ЗміщеннÑ: %<PRIu8>\n"
-#: src/readelf.c:8249
+#: src/readelf.c:8592
#, c-format
msgid ""
"\n"
@@ -5797,13 +5796,13 @@ msgstr ""
"Розділ DWARF [%2zu] «%s» зі зміщеннÑм %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:8581
+#: src/readelf.c:8924
#, c-format
msgid "unknown form: %s"
msgstr "невідома форма: %s"
#. Print what we got so far.
-#: src/readelf.c:8729
+#: src/readelf.c:9072
#, c-format
msgid ""
"\n"
@@ -5836,27 +5835,27 @@ msgstr ""
"\n"
"Коди операцій:\n"
-#: src/readelf.c:8751
+#: src/readelf.c:9094
#, c-format
msgid "cannot handle .debug_line version: %u\n"
msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ верÑÑ–ÑŽ .debug_line: %u\n"
-#: src/readelf.c:8759
+#: src/readelf.c:9102
#, c-format
msgid "cannot handle address size: %u\n"
msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ розмір адреÑи: %u\n"
-#: src/readelf.c:8767
+#: src/readelf.c:9110
#, c-format
msgid "cannot handle segment selector size: %u\n"
msgstr "не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ розмір Ñелектора Ñегментів: %u\n"
-#: src/readelf.c:8777
+#: src/readelf.c:9120
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
msgstr "некоректні дані зі зміщеннÑм %tu у розділі [%zu] «%s»"
-#: src/readelf.c:8792
+#: src/readelf.c:9135
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
@@ -5864,7 +5863,7 @@ msgstr[0] " [%*<PRIuFAST8>] %hhu аргумент\n"
msgstr[1] " [%*<PRIuFAST8>] %hhu аргументи\n"
msgstr[2] " [%*<PRIuFAST8>] %hhu аргументів\n"
-#: src/readelf.c:8803
+#: src/readelf.c:9146
msgid ""
"\n"
"Directory table:"
@@ -5872,12 +5871,12 @@ msgstr ""
"\n"
"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ:"
-#: src/readelf.c:8809 src/readelf.c:8886
+#: src/readelf.c:9152 src/readelf.c:9229
#, c-format
msgid " ["
msgstr " ["
-#: src/readelf.c:8880
+#: src/readelf.c:9223
msgid ""
"\n"
"File name table:"
@@ -5885,11 +5884,11 @@ msgstr ""
"\n"
" Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð½Ð°Ð·Ð² файлів:"
-#: src/readelf.c:8941
+#: src/readelf.c:9284
msgid " Entry Dir Time Size Name"
msgstr " Ð—Ð°Ð¿Ð¸Ñ ÐšÐ°Ñ‚ Ð§Ð°Ñ Ð Ð¾Ð·Ð¼Ñ–Ñ€ Ðазва"
-#: src/readelf.c:8987
+#: src/readelf.c:9330
#, fuzzy
msgid ""
"\n"
@@ -5898,7 +5897,7 @@ msgstr ""
"\n"
"Оператори номерів Ñ€Ñдків:"
-#: src/readelf.c:8991
+#: src/readelf.c:9334
msgid ""
"\n"
"Line number statements:"
@@ -5906,129 +5905,129 @@ msgstr ""
"\n"
"Оператори номерів Ñ€Ñдків:"
-#: src/readelf.c:9006
+#: src/readelf.c:9349
#, c-format
msgid "invalid maximum operations per instruction is zero"
msgstr "некоректну кількіÑÑ‚ÑŒ операцій на інÑтрукцію прирівнÑно до нулÑ"
-#: src/readelf.c:9040
+#: src/readelf.c:9383
#, c-format
msgid " special opcode %u: address+%u = "
msgstr " Ñпеціальний код операції %u: адреÑа+%u = "
-#: src/readelf.c:9044
+#: src/readelf.c:9387
#, c-format
msgid ", op_index = %u, line%+d = %zu\n"
msgstr ", індекÑ_оп = %u, Ñ€Ñдок%+d = %zu\n"
-#: src/readelf.c:9047
+#: src/readelf.c:9390
#, c-format
msgid ", line%+d = %zu\n"
msgstr ", Ñ€Ñдок%+d = %zu\n"
-#: src/readelf.c:9065
+#: src/readelf.c:9408
#, c-format
msgid " extended opcode %u: "
msgstr " розширений код операції %u: "
-#: src/readelf.c:9070
+#: src/readelf.c:9413
msgid " end of sequence"
msgstr " кінець поÑлідовноÑÑ‚Ñ–"
-#: src/readelf.c:9088
+#: src/readelf.c:9431
#, c-format
msgid " set address to "
msgstr " вÑтановити адреÑу у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ "
-#: src/readelf.c:9116
+#: src/readelf.c:9459
#, c-format
msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
msgstr ""
" Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ файла: dir=%u, mtime=%<PRIu64>, довжина=%<PRIu64>, "
"назва=%s\n"
-#: src/readelf.c:9130
+#: src/readelf.c:9473
#, c-format
msgid " set discriminator to %u\n"
msgstr " вÑтановити Ñ€Ð¾Ð·Ñ€Ñ–Ð·Ð½ÐµÐ½Ð½Ñ Ð´Ð»Ñ %u\n"
-#: src/readelf.c:9157
+#: src/readelf.c:9500
#, c-format
msgid " set inlined context %u, function name %s (0x%x)\n"
msgstr ""
-#: src/readelf.c:9181
+#: src/readelf.c:9524
#, fuzzy, c-format
#| msgid "Also show function names"
msgid " set function name %s (0x%x)\n"
msgstr "Показувати також назви функцій"
#. Unknown, ignore it.
-#: src/readelf.c:9188
+#: src/readelf.c:9531
msgid " unknown opcode"
msgstr " невідомий код операції"
#. Takes no argument.
-#: src/readelf.c:9200
+#: src/readelf.c:9543
msgid " copy"
msgstr " копіÑ"
-#: src/readelf.c:9211
+#: src/readelf.c:9554
#, c-format
msgid " advance address by %u to "
msgstr " Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи на %u до "
-#: src/readelf.c:9215 src/readelf.c:9276
+#: src/readelf.c:9558 src/readelf.c:9619
#, c-format
msgid ", op_index to %u"
msgstr ", op_index до %u"
-#: src/readelf.c:9227
+#: src/readelf.c:9570
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr " проÑувати Ñ€Ñдок на Ñталу %d до %<PRId64>\n"
-#: src/readelf.c:9237
+#: src/readelf.c:9580
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr " вÑтановити файл у %<PRIu64>\n"
-#: src/readelf.c:9248
+#: src/readelf.c:9591
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr " вÑтановити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñтовпчика %<PRIu64>\n"
-#: src/readelf.c:9255
+#: src/readelf.c:9598
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr " вÑтановити «%s» у %<PRIuFAST8>\n"
#. Takes no argument.
-#: src/readelf.c:9261
+#: src/readelf.c:9604
msgid " set basic block flag"
msgstr " вÑтановити прапорець базового блоку"
-#: src/readelf.c:9272
+#: src/readelf.c:9615
#, c-format
msgid " advance address by constant %u to "
msgstr " збільшити адреÑу на Ñталу величину %u до "
-#: src/readelf.c:9292
+#: src/readelf.c:9635
#, c-format
msgid " advance address by fixed value %u to \n"
msgstr " збільшити адреÑу на фікÑовану величину %u до \n"
#. Takes no argument.
-#: src/readelf.c:9302
+#: src/readelf.c:9645
msgid " set prologue end flag"
msgstr " вÑтановити прапорець ÐºÑ–Ð½Ñ†Ñ Ð²Ñтупу"
#. Takes no argument.
-#: src/readelf.c:9307
+#: src/readelf.c:9650
msgid " set epilogue begin flag"
msgstr " вÑтановити прапорець початку епілогу"
-#: src/readelf.c:9317
+#: src/readelf.c:9660
#, c-format
msgid " set isa to %u\n"
msgstr " вÑтановити isa у %u\n"
@@ -6036,7 +6035,7 @@ msgstr " вÑтановити isa у %u\n"
#. This is a new opcode the generator but not we know about.
#. Read the parameters associated with it but then discard
#. everything. Read all the parameters for this opcode.
-#: src/readelf.c:9326
+#: src/readelf.c:9669
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
@@ -6044,87 +6043,87 @@ msgstr[0] " невідомий код операції з %<PRIu8> парамеÑ
msgstr[1] " невідомий код операції з %<PRIu8> параметрами:"
msgstr[2] " невідомий код операції з %<PRIu8> параметрами:"
-#: src/readelf.c:9527
+#: src/readelf.c:9870
#, fuzzy, c-format
msgid " <INVALID DATA>\n"
msgstr " <ÐЕКОРЕКТÐІ ДÐÐІ>\n"
-#: src/readelf.c:9567
+#: src/readelf.c:9910
#, c-format
msgid "invalid loclists data"
msgstr "некоректні дані loclists"
-#: src/readelf.c:10037 src/readelf.c:11082
+#: src/readelf.c:10380 src/readelf.c:11425
msgid " <INVALID DATA>\n"
msgstr " <ÐЕКОРЕКТÐІ ДÐÐІ>\n"
-#: src/readelf.c:10168
+#: src/readelf.c:10511
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr "%*s*** незавершений Ñ€Ñдок наприкінці розділу"
-#: src/readelf.c:10191
+#: src/readelf.c:10534
#, c-format
msgid "%*s*** missing DW_MACINFO_start_file argument at end of section"
msgstr "%*s*** пропущено аргумент DW_MACINFO_start_file наприкінці розділу"
-#: src/readelf.c:10286
+#: src/readelf.c:10629
#, c-format
msgid " Offset: 0x%<PRIx64>\n"
msgstr " ЗміщеннÑ: 0x%<PRIx64>\n"
-#: src/readelf.c:10298
+#: src/readelf.c:10641
#, c-format
msgid " Version: %<PRIu16>\n"
msgstr " ВерÑÑ–Ñ: %<PRIu16>\n"
-#: src/readelf.c:10304 src/readelf.c:11202
+#: src/readelf.c:10647 src/readelf.c:11546
#, c-format
msgid " unknown version, cannot parse section\n"
msgstr " невідома верÑÑ–Ñ, не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ розділ\n"
-#: src/readelf.c:10311
+#: src/readelf.c:10654
#, c-format
msgid " Flag: 0x%<PRIx8>"
msgstr " Прапорець: 0x%<PRIx8>"
-#: src/readelf.c:10340
+#: src/readelf.c:10683
#, c-format
msgid " Offset length: %<PRIu8>\n"
msgstr " Довжина зміщеннÑ: %<PRIu8>\n"
-#: src/readelf.c:10348
+#: src/readelf.c:10691
#, c-format
msgid " .debug_line offset: 0x%<PRIx64>\n"
msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ .debug_line: 0x%<PRIx64>\n"
-#: src/readelf.c:10373
+#: src/readelf.c:10716
#, c-format
msgid " extension opcode table, %<PRIu8> items:\n"
msgstr " Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ ÐºÐ¾Ð´Ñ–Ð² операцій розширень, запиÑів — %<PRIu8>:\n"
-#: src/readelf.c:10380
+#: src/readelf.c:10723
#, c-format
msgid " [%<PRIx8>]"
msgstr " [%<PRIx8>]"
-#: src/readelf.c:10392
+#: src/readelf.c:10735
#, c-format
msgid " %<PRIu8> arguments:"
msgstr " %<PRIu8> аргументів:"
-#: src/readelf.c:10407
+#: src/readelf.c:10750
#, c-format
msgid " no arguments."
msgstr " немає аргументів."
-#: src/readelf.c:10608
+#: src/readelf.c:10951
#, c-format
msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
msgstr ""
" [%5d] Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ DIE: %6<PRId64>, Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ CU DIE: %6<PRId64>, назва: %s\n"
-#: src/readelf.c:10663
+#: src/readelf.c:11006
#, c-format
msgid ""
"\n"
@@ -6136,37 +6135,37 @@ msgstr ""
" %*s РÑдок\n"
#. TRANS: the debugstr| prefix makes the string unique.
-#: src/readelf.c:10668
+#: src/readelf.c:11011
msgctxt "debugstr"
msgid "Offset"
msgstr ""
-#: src/readelf.c:10678
+#: src/readelf.c:11021
#, c-format
msgid " *** error, missing string terminator\n"
msgstr " *** помилка, пропущено роздільник Ñ€Ñдків\n"
-#: src/readelf.c:10800
+#: src/readelf.c:11143
#, c-format
msgid " Length: %8<PRIu64>\n"
msgstr " Довжина: %8<PRIu64>\n"
-#: src/readelf.c:10802
+#: src/readelf.c:11145
#, c-format
msgid " Offset size: %8<PRIu8>\n"
msgstr " Розмір зÑуву: %8<PRIu8>\n"
-#: src/readelf.c:10816
+#: src/readelf.c:11159
#, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " верÑÑ–Ñ DWARF: %8<PRIu16>\n"
-#: src/readelf.c:10825
+#: src/readelf.c:11168
#, c-format
msgid " Padding: %8<PRIx16>\n"
msgstr " ЗаповненнÑ: %8<PRIx16>\n"
-#: src/readelf.c:10879
+#: src/readelf.c:11222
#, c-format
msgid ""
"\n"
@@ -6175,7 +6174,7 @@ msgstr ""
"\n"
"Розділ таблиці пошуку вікон виклику [%2zu] '.eh_frame_hdr':\n"
-#: src/readelf.c:10981
+#: src/readelf.c:11324
#, c-format
msgid ""
"\n"
@@ -6184,22 +6183,22 @@ msgstr ""
"\n"
"Розділ таблиці обробки виключень [%2zu] '.gcc_except_table':\n"
-#: src/readelf.c:11004
+#: src/readelf.c:11347
#, c-format
msgid " LPStart encoding: %#x "
msgstr " ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ LPStart: %#x "
-#: src/readelf.c:11016
+#: src/readelf.c:11359
#, c-format
msgid " TType encoding: %#x "
msgstr " ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ TType: %#x "
-#: src/readelf.c:11033
+#: src/readelf.c:11376
#, c-format
msgid " Call site encoding: %#x "
msgstr " ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ñ–ÑÑ†Ñ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ:%#x "
-#: src/readelf.c:11048
+#: src/readelf.c:11391
msgid ""
"\n"
" Call site table:"
@@ -6207,7 +6206,7 @@ msgstr ""
"\n"
" Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¼Ñ–ÑÑ†Ñ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ:"
-#: src/readelf.c:11064
+#: src/readelf.c:11407
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -6220,12 +6219,12 @@ msgstr ""
" МіÑце заÑтоÑуваннÑ: %#<PRIx64>\n"
" ДіÑ: %u\n"
-#: src/readelf.c:11137
+#: src/readelf.c:11480
#, c-format
msgid "invalid TType encoding"
msgstr "некоректне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ TType"
-#: src/readelf.c:11164
+#: src/readelf.c:11507
#, c-format
msgid ""
"\n"
@@ -6234,37 +6233,43 @@ msgstr ""
"\n"
"Розділ GDB [%2zu] «%s» за зміщеннÑм %#<PRIx64> міÑтить %<PRId64> байтів:\n"
-#: src/readelf.c:11193
+#: src/readelf.c:11536
#, c-format
msgid " Version: %<PRId32>\n"
msgstr " ВерÑÑ–Ñ: %<PRId32>\n"
-#: src/readelf.c:11211
+#: src/readelf.c:11555
#, c-format
msgid " CU offset: %#<PRIx32>\n"
msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ CU: %#<PRIx32>\n"
-#: src/readelf.c:11218
+#: src/readelf.c:11562
#, c-format
msgid " TU offset: %#<PRIx32>\n"
msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ TU: %#<PRIx32>\n"
-#: src/readelf.c:11225
+#: src/readelf.c:11569
#, c-format
msgid " address offset: %#<PRIx32>\n"
msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи: %#<PRIx32>\n"
-#: src/readelf.c:11232
+#: src/readelf.c:11576
#, c-format
msgid " symbol offset: %#<PRIx32>\n"
msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñимволу: %#<PRIx32>\n"
-#: src/readelf.c:11239
+#: src/readelf.c:11586
+#, fuzzy, c-format
+#| msgid " constant offset: %#<PRIx32>\n"
+msgid " shortcut offset: %#<PRIx32>\n"
+msgstr " Ñтале зміщеннÑ: %#<PRIx32>\n"
+
+#: src/readelf.c:11594
#, c-format
msgid " constant offset: %#<PRIx32>\n"
msgstr " Ñтале зміщеннÑ: %#<PRIx32>\n"
-#: src/readelf.c:11253
+#: src/readelf.c:11608
#, c-format
msgid ""
"\n"
@@ -6273,7 +6278,7 @@ msgstr ""
"\n"
" СпиÑок CU зі зміщеннÑм %#<PRIx32> міÑтить %zu запиÑів:\n"
-#: src/readelf.c:11278
+#: src/readelf.c:11633
#, c-format
msgid ""
"\n"
@@ -6282,7 +6287,7 @@ msgstr ""
"\n"
" СпиÑок TU зі зміщеннÑм %#<PRIx32> міÑтить %zu запиÑів:\n"
-#: src/readelf.c:11307
+#: src/readelf.c:11662
#, c-format
msgid ""
"\n"
@@ -6291,7 +6296,7 @@ msgstr ""
"\n"
" СпиÑок Ð°Ð´Ñ€ÐµÑ Ð·Ñ– зміщеннÑм %#<PRIx32> міÑтить %zu запиÑів:\n"
-#: src/readelf.c:11339
+#: src/readelf.c:11705
#, c-format
msgid ""
"\n"
@@ -6300,18 +6305,40 @@ msgstr ""
"\n"
" Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів за зміщеннÑм %#<PRIx32> міÑтить %zu позицій:\n"
-#: src/readelf.c:11477
+#: src/readelf.c:11790
+#, fuzzy, c-format
+#| msgid ""
+#| "\n"
+#| " Symbol table at offset %#<PRIx32> contains %zu slots:\n"
+msgid ""
+"\n"
+"Shortcut table at offset %#<PRIx32> contains %zu slots:\n"
+msgstr ""
+"\n"
+" Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів за зміщеннÑм %#<PRIx32> міÑтить %zu позицій:\n"
+
+#: src/readelf.c:11802
+#, c-format
+msgid "Language of main: %s\n"
+msgstr ""
+
+#: src/readelf.c:11803
+#, c-format
+msgid "Name of main: "
+msgstr ""
+
+#: src/readelf.c:11886
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ деÑкриптор контекÑту зневаджуваннÑ: %s"
-#: src/readelf.c:11843 src/readelf.c:12463 src/readelf.c:12573
-#: src/readelf.c:12630
+#: src/readelf.c:12252 src/readelf.c:12872 src/readelf.c:12982
+#: src/readelf.c:13039
#, c-format
msgid "cannot convert core note data: %s"
msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ дані запиÑу Ñдра: %s"
-#: src/readelf.c:12207
+#: src/readelf.c:12616
#, c-format
msgid ""
"\n"
@@ -6320,21 +6347,21 @@ msgstr ""
"\n"
"%*s... <повторюєтьÑÑ %u разів> ..."
-#: src/readelf.c:12709
+#: src/readelf.c:13118
msgid " Owner Data size Type\n"
msgstr " ВлаÑник Розм. даних Тип\n"
-#: src/readelf.c:12737
+#: src/readelf.c:13146
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:12789
+#: src/readelf.c:13198
#, c-format
msgid "cannot get content of note: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ нотатки: %s"
-#: src/readelf.c:12822
+#: src/readelf.c:13231
#, c-format
msgid ""
"\n"
@@ -6344,7 +6371,7 @@ msgstr ""
"Розділ запиÑів (note) [%2zu] «%s» з %<PRIu64> байтів за зміщеннÑм "
"%#0<PRIx64>:\n"
-#: src/readelf.c:12845
+#: src/readelf.c:13254
#, c-format
msgid ""
"\n"
@@ -6353,7 +6380,7 @@ msgstr ""
"\n"
"Сегмент запиÑів з %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n"
-#: src/readelf.c:12892
+#: src/readelf.c:13301
#, c-format
msgid ""
"\n"
@@ -6362,12 +6389,12 @@ msgstr ""
"\n"
"У розділі [%zu] «%s» не міÑтитьÑÑ Ð´Ð°Ð½Ð¸Ñ… Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð´Ð°Ð¼Ð¿Ñƒ.\n"
-#: src/readelf.c:12919 src/readelf.c:12970
+#: src/readelf.c:13328 src/readelf.c:13379
#, c-format
msgid "cannot get data for section [%zu] '%s': %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ [%zu] «%s»: %s"
-#: src/readelf.c:12924
+#: src/readelf.c:13333
#, c-format
msgid ""
"\n"
@@ -6376,7 +6403,7 @@ msgstr ""
"\n"
"ШіÑÑ‚. дамп розділу [%zu] «%s», %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n"
-#: src/readelf.c:12929
+#: src/readelf.c:13338
#, c-format
msgid ""
"\n"
@@ -6387,7 +6414,7 @@ msgstr ""
"ШіÑÑ‚. дамп розділу [%zu] «%s», %<PRIu64> байтів (%zd неÑтиÑнено) за "
"зміщеннÑм %#0<PRIx64>:\n"
-#: src/readelf.c:12943
+#: src/readelf.c:13352
#, c-format
msgid ""
"\n"
@@ -6396,7 +6423,7 @@ msgstr ""
"\n"
"У розділі [%zu] «%s» не міÑтитьÑÑ Ñ€Ñдків Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð´Ð°Ð¼Ð¿Ñƒ.\n"
-#: src/readelf.c:12975
+#: src/readelf.c:13384
#, c-format
msgid ""
"\n"
@@ -6405,7 +6432,7 @@ msgstr ""
"\n"
"Розділ Ñ€Ñдків [%zu] «%s» міÑтить %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n"
-#: src/readelf.c:12980
+#: src/readelf.c:13389
#, c-format
msgid ""
"\n"
@@ -6416,7 +6443,7 @@ msgstr ""
"РÑдок розділу [%zu] «%s» міÑтить %<PRIu64> байти (%zd неÑтиÑнено) на "
"зміщенні %#0<PRIx64>:\n"
-#: src/readelf.c:13028
+#: src/readelf.c:13437
#, c-format
msgid ""
"\n"
@@ -6425,7 +6452,7 @@ msgstr ""
"\n"
"розділу [%lu] не Ñ–Ñнує"
-#: src/readelf.c:13058
+#: src/readelf.c:13467
#, c-format
msgid ""
"\n"
@@ -6434,12 +6461,12 @@ msgstr ""
"\n"
"розділу «%s» не Ñ–Ñнує"
-#: src/readelf.c:13113
+#: src/readelf.c:13522
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ покажчик Ñимволів архіву «%s»: %s"
-#: src/readelf.c:13116
+#: src/readelf.c:13525
#, c-format
msgid ""
"\n"
@@ -6448,7 +6475,7 @@ msgstr ""
"\n"
"У архіві «%s» немає покажчика Ñимволів\n"
-#: src/readelf.c:13120
+#: src/readelf.c:13529
#, c-format
msgid ""
"\n"
@@ -6457,12 +6484,12 @@ msgstr ""
"\n"
"Покажчик архіву «%s» міÑтить %zu запиÑів:\n"
-#: src/readelf.c:13138
+#: src/readelf.c:13547
#, c-format
msgid "cannot extract member at offset %zu in '%s': %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð´Ð¾Ð±ÑƒÑ‚Ð¸ елемент за зміщеннÑм %zu у «%s»: %s"
-#: src/readelf.c:13143
+#: src/readelf.c:13552
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "Елемент архіву «%s» міÑтить:\n"
@@ -6979,7 +7006,7 @@ msgstr "%s: помилка під Ñ‡Ð°Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° E
msgid "%s: error while getting shdrstrndx: %s"
msgstr "%s: помилка під Ñ‡Ð°Ñ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ shdrstrndx: %s"
-#: src/strip.c:1712 src/strip.c:2553
+#: src/strip.c:1712 src/strip.c:2552
#, c-format
msgid "%s: error updating shdrstrndx: %s"
msgstr "%s: помилка під Ñ‡Ð°Ñ Ð¾Ð½Ð¾Ð²Ð»ÐµÐ½Ð½Ñ shdrstrndx: %s"
@@ -7014,7 +7041,7 @@ msgid "Cannot remove symbol [%zd] from allocated symbol table [%zd]"
msgstr ""
"Ðеможливо вилучити Ñимвол [%zd] з розміщеної у пам'ÑÑ‚Ñ– таблиці Ñимволів [%zd]"
-#: src/strip.c:2469 src/strip.c:2577
+#: src/strip.c:2469 src/strip.c:2574
#, c-format
msgid "while writing '%s': %s"
msgstr "під Ñ‡Ð°Ñ Ð·Ð°Ð¿Ð¸Ñу «%s»: %s"
@@ -7034,22 +7061,22 @@ msgstr "під Ñ‡Ð°Ñ Ð¾Ð±Ñ‡Ð¸ÑÐ»ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð¾Ñ— Ñуми длÑ
msgid "%s: error while creating ELF header: %s"
msgstr "%s: помилка під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° ELF: %s"
-#: src/strip.c:2562
+#: src/strip.c:2560
#, c-format
msgid "%s: error while reading the file: %s"
msgstr "%s: помилка під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð°: %s"
-#: src/strip.c:2602 src/strip.c:2622
+#: src/strip.c:2599 src/strip.c:2619
#, c-format
msgid "while writing '%s'"
msgstr "під Ñ‡Ð°Ñ Ñпроби запиÑу «%s»"
-#: src/strip.c:2659 src/strip.c:2666
+#: src/strip.c:2656 src/strip.c:2663
#, c-format
msgid "error while finishing '%s': %s"
msgstr "помилка під Ñ‡Ð°Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Â«%s»: %s"
-#: src/strip.c:2683 src/strip.c:2759
+#: src/strip.c:2680 src/strip.c:2756
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr "не вдалоÑÑ Ð²Ñтановити права доÑтупу та дату зміни «%s»"
@@ -7542,7 +7569,7 @@ msgid ""
"section PATH SECTION-NAME\n"
msgstr ""
-#: tests/backtrace.c:483
+#: tests/backtrace.c:491
msgid "Run executable"
msgstr "ЗапуÑтити виконуваний файл"
@@ -7555,6 +7582,11 @@ msgid "Show instances of inlined functions"
msgstr "ВивеÑти екземплÑри вбудованих функцій"
#, c-format
+#~ msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
+#~ msgstr ""
+#~ "розділ [%2d] «%s»: розмірніÑÑ‚ÑŒ запиÑу розділу не відповідає ElfXX_Rela\n"
+
+#, c-format
#~ msgid "cannot get .debug_addr section data: %s"
#~ msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу .debug_addr: %s"
diff --git a/src/.gitignore b/src/.gitignore
index f7252a4a..83d43a20 100644
--- a/src/.gitignore
+++ b/src/.gitignore
@@ -11,6 +11,7 @@
/ranlib
/readelf
/size
+/srcfiles
/stack
/strings
/strip
diff --git a/src/ChangeLog b/src/ChangeLog
index c26dafdd..ae62f4ed 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,19 @@
+2023-03-27 Di Chen <dichen@redhat.com>
+
+ * readelf.c (options): Support dynamic symtab print with '-Ds'.
+ (process_symtab): New function.
+ (handle_dynamic_symtab): Likewise.
+ (handle_symtab): Return true if symtab was printed. Move printing
+ code to process_symtab and call that function.
+ (print_symtab): Call handle_dynamic_symtab for SHT_DYNSYM when
+ using dynamic segment.
+ (enum dyn_idx): Include i_symtab_shndx, i_verneednum and
+ i_verdefnum.
+ (process_elf_file): Only call print_symtab for SHT_SYMTAB when not
+ use_dynamic_segment.
+ (get_dynscn_addrs): Handle DT_VERDEFNUM, DT_VERNEEDNUM and
+ DT_SYMTAB_SHNDX.
+
2023-03-03 Mark Wielaard <mark@klomp.org>
* readelf (process_elf_file): ebl_closebackend only after
diff --git a/src/Makefile.am b/src/Makefile.am
index 6cc019da..d3d9d408 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -27,7 +27,7 @@ AM_LDFLAGS = -Wl,-rpath-link,../libelf:../libdw $(STACK_USAGE_NO_ERROR)
bin_PROGRAMS = readelf nm size strip elflint findtextrel addr2line \
elfcmp objdump ranlib strings ar unstrip stack elfcompress \
- elfclassify
+ elfclassify srcfiles
noinst_LIBRARIES = libar.a
@@ -42,7 +42,7 @@ CLEANFILES += make-debug-archive
if BUILD_STATIC
libasm = ../libasm/libasm.a
libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) -ldl -lpthread
-libelf = ../libelf/libelf.a -lz
+libelf = ../libelf/libelf.a -lz $(zstd_LIBS)
else
libasm = ../libasm/libasm.so
libdw = ../libdw/libdw.so
@@ -84,6 +84,8 @@ unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) $(demanglelib)
elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
elfclassify_LDADD = $(libelf) $(libdw) $(libeu) $(argp_LDADD)
+srcfiles_SOURCES = srcfiles.cxx
+srcfiles_LDADD = $(libdw) $(libelf) $(libeu) $(argp_LDADD)
installcheck-binPROGRAMS: $(bin_PROGRAMS)
bad=0; pid=$$$$; list="$(bin_PROGRAMS)"; for p in $$list; do \
diff --git a/src/elfcompress.c b/src/elfcompress.c
index 18ade66f..f771b92a 100644
--- a/src/elfcompress.c
+++ b/src/elfcompress.c
@@ -529,30 +529,33 @@ process_file (const char *fname)
}
}
- if (shdr->sh_type != SHT_NOBITS
- && (shdr->sh_flags & SHF_ALLOC) == 0)
+ if (force || type != schtype)
{
- set_section (sections, ndx);
- /* Check if we might want to change this section name. */
- if (! adjust_names
- && ((type != ZLIB_GNU
- && startswith (sname, ".zdebug"))
- || (type == ZLIB_GNU
- && startswith (sname, ".debug"))))
- adjust_names = true;
-
- /* We need a buffer this large if we change the names. */
- if (adjust_names)
+ if (shdr->sh_type != SHT_NOBITS
+ && (shdr->sh_flags & SHF_ALLOC) == 0)
{
- size_t slen = strlen (sname);
- if (slen > maxnamelen)
- maxnamelen = slen;
+ set_section (sections, ndx);
+ /* Check if we might want to change this section name. */
+ if (! adjust_names
+ && ((type != ZLIB_GNU
+ && startswith (sname, ".zdebug"))
+ || (type == ZLIB_GNU
+ && startswith (sname, ".debug"))))
+ adjust_names = true;
+
+ /* We need a buffer this large if we change the names. */
+ if (adjust_names)
+ {
+ size_t slen = strlen (sname);
+ if (slen > maxnamelen)
+ maxnamelen = slen;
+ }
}
+ else
+ if (verbose >= 0)
+ printf ("[%zd] %s ignoring %s section\n", ndx, sname,
+ (shdr->sh_type == SHT_NOBITS ? "no bits" : "allocated"));
}
- else
- if (verbose >= 0)
- printf ("[%zd] %s ignoring %s section\n", ndx, sname,
- (shdr->sh_type == SHT_NOBITS ? "no bits" : "allocated"));
}
if (shdr->sh_type == SHT_SYMTAB)
diff --git a/src/elflint.c b/src/elflint.c
index dd42dcb4..864de710 100644
--- a/src/elflint.c
+++ b/src/elflint.c
@@ -1,5 +1,6 @@
/* Pedantic checking of ELF files compliance with gABI/psABI spec.
Copyright (C) 2001-2015, 2017, 2018 Red Hat, Inc.
+ Copyright (C) 2023 Mark J. Wielaard <mark@klomp.org>
This file is part of elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2001.
@@ -1291,10 +1292,20 @@ section [%2d] '%s': no relocations for merge-able string sections possible\n"),
size_t sh_entsize = gelf_fsize (ebl->elf, reltype, 1, EV_CURRENT);
if (shdr->sh_entsize != sh_entsize)
- ERROR (_(reltype == ELF_T_RELA ? "\
-section [%2d] '%s': section entry size does not match ElfXX_Rela\n" : "\
-section [%2d] '%s': section entry size does not match ElfXX_Rel\n"),
- idx, section_name (ebl, idx));
+ {
+ if (reltype == ELF_T_RELA)
+ ERROR ("\
+section [%2d] '%s': section entry size does not match ElfXX_Rela\n",
+ idx, section_name (ebl, idx));
+ else if (reltype == ELF_T_REL)
+ ERROR ("\
+section [%2d] '%s': section entry size does not match ElfXX_Rel\n",
+ idx, section_name (ebl, idx));
+ else
+ ERROR ("\
+section [%2d] '%s': section entry size does not match ElfXX_Relr\n",
+ idx, section_name (ebl, idx));
+ }
/* In preparation of checking whether relocations are text
relocations or not we need to determine whether the file is
@@ -1590,6 +1601,32 @@ section [%2d] '%s': cannot get relocation %zu: %s\n"),
}
}
+static void
+check_relr (Ebl *ebl, GElf_Ehdr *ehdr, GElf_Shdr *shdr, int idx)
+{
+ Elf_Data *data = elf_getdata (elf_getscn (ebl->elf, idx), NULL);
+ if (data == NULL)
+ {
+ ERROR (_("section [%2d] '%s': cannot get section data\n"),
+ idx, section_name (ebl, idx));
+ return;
+ }
+
+ /* Check the fields of the section header. */
+ GElf_Shdr destshdr_mem;
+ GElf_Shdr *destshdr = NULL;
+ struct loaded_segment *loaded = NULL;
+ check_reloc_shdr (ebl, ehdr, shdr, idx, ELF_T_RELR, &destshdr,
+ &destshdr_mem, &loaded);
+
+ /* Just throw them away. */
+ while (loaded != NULL)
+ {
+ struct loaded_segment *old = loaded;
+ loaded = loaded->next;
+ free (old);
+ }
+}
/* Number of dynamic sections. */
static int ndynamic;
@@ -1780,6 +1817,7 @@ section [%2d] '%s': entry %zu: pointer does not match address of section [%2d] '
case DT_PLTGOT:
case DT_REL:
case DT_RELA:
+ case DT_RELR:
case DT_SYMBOLIC:
case DT_SYMTAB:
case DT_VERDEF:
@@ -3660,6 +3698,7 @@ static const struct
{ ".plt", 5, SHT_PROGBITS, unused, 0, 0 }, // XXX more tests
{ ".preinit_array", 15, SHT_PREINIT_ARRAY, exact, SHF_ALLOC | SHF_WRITE, 0 },
{ ".rela", 5, SHT_RELA, atleast, 0, SHF_ALLOC | SHF_INFO_LINK }, // XXX more tests
+ { ".relr", 5, SHT_RELR, atleast, 0, SHF_ALLOC }, // XXX more tests
{ ".rel", 4, SHT_REL, atleast, 0, SHF_ALLOC | SHF_INFO_LINK }, // XXX more tests
{ ".rodata", 8, SHT_PROGBITS, atleast, SHF_ALLOC, SHF_MERGE | SHF_STRINGS },
{ ".rodata1", 9, SHT_PROGBITS, atleast, SHF_ALLOC, SHF_MERGE | SHF_STRINGS },
@@ -4182,6 +4221,10 @@ section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"),
check_rel (ebl, ehdr, shdr, cnt);
break;
+ case SHT_RELR:
+ check_relr (ebl, ehdr, shdr, cnt);
+ break;
+
case SHT_DYNAMIC:
check_dynamic (ebl, ehdr, shdr, cnt);
break;
diff --git a/src/readelf.c b/src/readelf.c
index 6950204e..decfaf15 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -1,5 +1,6 @@
/* Print information from ELF file in human-readable form.
Copyright (C) 1999-2018 Red Hat, Inc.
+ Copyright (C) 2023 Mark J. Wielaard <mark@klomp.org>
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
@@ -301,13 +302,29 @@ static void print_shdr (Ebl *ebl, GElf_Ehdr *ehdr);
static void print_phdr (Ebl *ebl, GElf_Ehdr *ehdr);
static void print_scngrp (Ebl *ebl);
static void print_dynamic (Ebl *ebl);
-static void print_relocs (Ebl *ebl, GElf_Ehdr *ehdr);
+static void print_relocs (Ebl *ebl, Dwfl_Module *mod, GElf_Ehdr *ehdr);
static void handle_relocs_rel (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn,
GElf_Shdr *shdr);
static void handle_relocs_rela (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn,
GElf_Shdr *shdr);
+static void handle_relocs_relr (Ebl *ebl, Dwfl_Module *mod, Elf_Scn *scn,
+ GElf_Shdr *shdr);
static bool print_symtab (Ebl *ebl, int type);
-static void handle_symtab (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr);
+static bool handle_symtab (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr);
+static bool handle_dynamic_symtab (Ebl *ebl);
+static void
+process_symtab(
+ Ebl * ebl,
+ unsigned int nsyms,
+ Elf64_Word idx,
+ Elf32_Word verneed_stridx,
+ Elf32_Word verdef_stridx,
+ Elf_Data * symdata,
+ Elf_Data * versym_data,
+ Elf_Data * symstr_data,
+ Elf_Data * verneed_data,
+ Elf_Data * verdef_data,
+ Elf_Data * xndx_data);
static void print_verinfo (Ebl *ebl);
static void handle_verneed (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr);
static void handle_verdef (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr);
@@ -322,12 +339,17 @@ static void dump_data (Ebl *ebl);
static void dump_strings (Ebl *ebl);
static void print_strings (Ebl *ebl);
static void dump_archive_index (Elf *, const char *);
+static void print_dwarf_addr (Dwfl_Module *dwflmod, int address_size,
+ Dwarf_Addr address, Dwarf_Addr raw);
enum dyn_idx
{
+ i_symtab_shndx,
i_strsz,
i_verneed,
+ i_verneednum,
i_verdef,
+ i_verdefnum,
i_versym,
i_symtab,
i_strtab,
@@ -1035,14 +1057,14 @@ process_elf_file (Dwfl_Module *dwflmod, int fd)
if (print_dynamic_table)
print_dynamic (ebl);
if (print_relocations)
- print_relocs (pure_ebl, ehdr);
+ print_relocs (pure_ebl, dwflmod, ehdr);
if (print_histogram)
handle_hash (ebl);
if (print_symbol_table || print_dynsym_table)
symtab_printed |= print_symtab (ebl, SHT_DYNSYM);
if (print_version_info)
print_verinfo (ebl);
- if (print_symbol_table)
+ if (print_symbol_table && !use_dynamic_segment)
symtab_printed |= print_symtab (ebl, SHT_SYMTAB);
if ((print_symbol_table || print_dynsym_table)
@@ -1606,7 +1628,7 @@ static const char *
section_name (Ebl *ebl, GElf_Shdr *shdr)
{
size_t shstrndx;
- if (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0)
+ if (shdr == NULL || elf_getshdrstrndx (ebl->elf, &shstrndx) < 0)
return "???";
return elf_strptr (ebl->elf, shstrndx, shdr->sh_name) ?: "???";
}
@@ -1954,9 +1976,11 @@ handle_dynamic (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr, GElf_Phdr *phdr)
case DT_RELASZ:
case DT_STRSZ:
case DT_RELSZ:
+ case DT_RELRSZ:
case DT_RELAENT:
case DT_SYMENT:
case DT_RELENT:
+ case DT_RELRENT:
case DT_PLTPADSZ:
case DT_MOVEENT:
case DT_MOVESZ:
@@ -2032,7 +2056,7 @@ print_dynamic (Ebl *ebl)
/* Print relocations. */
static void
-print_relocs (Ebl *ebl, GElf_Ehdr *ehdr)
+print_relocs (Ebl *ebl, Dwfl_Module *mod, GElf_Ehdr *ehdr)
{
/* Find all relocation sections and handle them. */
Elf_Scn *scn = NULL;
@@ -2049,6 +2073,8 @@ print_relocs (Ebl *ebl, GElf_Ehdr *ehdr)
handle_relocs_rel (ebl, ehdr, scn, shdr);
else if (shdr->sh_type == SHT_RELA)
handle_relocs_rela (ebl, ehdr, scn, shdr);
+ else if (shdr->sh_type == SHT_RELR)
+ handle_relocs_relr (ebl, mod, scn, shdr);
}
}
}
@@ -2437,12 +2463,124 @@ handle_relocs_rela (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr)
}
}
+/* Handle a relocation section. */
+static void
+handle_relocs_relr (Ebl *ebl, Dwfl_Module *mod, Elf_Scn *scn, GElf_Shdr *shdr)
+{
+ int class = gelf_getclass (ebl->elf);
+ size_t sh_entsize = gelf_fsize (ebl->elf, ELF_T_RELR, 1, EV_CURRENT);
+ int nentries = shdr->sh_size / sh_entsize;
+
+ /* Get the data of the section. */
+ Elf_Data *data = elf_getdata (scn, NULL);
+ if (data == NULL)
+ return;
+
+ /* Get the section header string table index. */
+ size_t shstrndx;
+ if (unlikely (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0))
+ error_exit (0, _("cannot get section header string table index"));
+
+ /* A .relr.dyn section does not refer to a specific section. */
+ printf (ngettext ("\
+\nRelocation section [%2u] '%s' at offset %#0" PRIx64 " contains %d entry:\n",
+ "\
+\nRelocation section [%2u] '%s' at offset %#0" PRIx64 " contains %d entries:\n",
+ nentries),
+ (unsigned int) elf_ndxscn (scn),
+ elf_strptr (ebl->elf, shstrndx, shdr->sh_name),
+ shdr->sh_offset,
+ nentries);
+
+ if (class == ELFCLASS32)
+ {
+ uint32_t base = 0;
+ for (int cnt = 0; cnt < nentries; ++cnt)
+ {
+ Elf32_Word *words = data->d_buf;
+ Elf32_Word entry = words[cnt];
+
+ /* Just the raw entries? */
+ if (print_unresolved_addresses)
+ printf (" %#010" PRIx32 "%s\n", entry,
+ (entry & 1) == 0 ? " *" : "");
+ else
+ {
+ /* A real address, also sets base. */
+ if ((entry & 1) == 0)
+ {
+ printf (" ");
+ print_dwarf_addr (mod, 4, entry, entry);
+ printf (" *\n");
+
+ base = entry + 4;
+ }
+ else
+ {
+ /* Untangle address from base and bits. */
+ uint32_t addr;
+ for (addr = base; (entry >>= 1) != 0; addr += 4)
+ if ((entry & 1) != 0)
+ {
+ printf (" ");
+ print_dwarf_addr (mod, 4, addr, addr);
+ printf ("\n");
+ }
+ base += 4 * (4 * 8 - 1);
+ }
+ }
+ }
+ }
+ else
+ {
+ uint64_t base = 0;
+ for (int cnt = 0; cnt < nentries; ++cnt)
+ {
+ Elf64_Xword *xwords = data->d_buf;
+ Elf64_Xword entry = xwords[cnt];
+
+ /* Just the raw entries? */
+ if (print_unresolved_addresses)
+ printf (" %#018" PRIx64 "%s\n", entry,
+ (entry & 1) == 0 ? " *" : "");
+ else
+ {
+ /* A real address, also sets base. */
+ if ((entry & 1) == 0)
+ {
+ printf (" ");
+ print_dwarf_addr (mod, 8, entry, entry);
+ printf (" *\n");
+
+ base = entry + 8;
+ }
+ else
+ {
+ /* Untangle address from base and bits. */
+ uint64_t addr;
+ for (addr = base; (entry >>= 1) != 0; addr += 8)
+ if ((entry & 1) != 0)
+ {
+ printf (" ");
+ print_dwarf_addr (mod, 8, addr, addr);
+ printf ("\n");
+ }
+ base += 8 * (8 * 8 - 1);
+ }
+ }
+ }
+ }
+}
/* Print the program header. Return true if a symtab is printed,
false otherwise. */
static bool
print_symtab (Ebl *ebl, int type)
{
+ /* Use the dynamic section info to display symbol tables. */
+ if (use_dynamic_segment && type == SHT_DYNSYM)
+ return handle_dynamic_symtab(ebl);
+
/* Find the symbol table(s). For this we have to search through the
section table. */
Elf_Scn *scn = NULL;
@@ -2481,8 +2619,7 @@ print_symtab (Ebl *ebl, int type)
_("cannot get section [%zd] header: %s"),
elf_ndxscn (scn), elf_errmsg (-1));
}
- handle_symtab (ebl, scn, shdr);
- symtab_printed = true;
+ symtab_printed = handle_symtab (ebl, scn, shdr);
}
}
@@ -2491,6 +2628,179 @@ print_symtab (Ebl *ebl, int type)
static void
+process_symtab (Ebl *ebl, unsigned int nsyms, Elf64_Word idx,
+ Elf32_Word verneed_stridx, Elf32_Word verdef_stridx,
+ Elf_Data *symdata, Elf_Data *versym_data,
+ Elf_Data *symstr_data, Elf_Data *verneed_data,
+ Elf_Data *verdef_data, Elf_Data *xndx_data)
+{
+ for (unsigned int cnt = 0; cnt < nsyms; ++cnt)
+ {
+ char typebuf[64];
+ char bindbuf[64];
+ char scnbuf[64];
+ Elf32_Word xndx;
+ GElf_Sym sym_mem;
+ GElf_Sym *sym
+ = gelf_getsymshndx (symdata, xndx_data, cnt, &sym_mem, &xndx);
+
+ if (unlikely (sym == NULL))
+ continue;
+
+ /* Determine the real section index. */
+ if (likely (sym->st_shndx != SHN_XINDEX))
+ xndx = sym->st_shndx;
+
+ printf (_ ("\
+%5u: %0*" PRIx64 " %6" PRId64 " %-7s %-6s %-9s %6s %s"),
+ cnt, gelf_getclass (ebl->elf) == ELFCLASS32 ? 8 : 16,
+ sym->st_value, sym->st_size,
+ ebl_symbol_type_name (ebl, GELF_ST_TYPE (sym->st_info), typebuf,
+ sizeof (typebuf)),
+ ebl_symbol_binding_name (ebl, GELF_ST_BIND (sym->st_info),
+ bindbuf, sizeof (bindbuf)),
+ get_visibility_type (GELF_ST_VISIBILITY (sym->st_other)),
+ ebl_section_name (ebl, sym->st_shndx, xndx, scnbuf,
+ sizeof (scnbuf), NULL, shnum),
+ use_dynamic_segment == true
+ ? (char *)symstr_data->d_buf + sym->st_name
+ : elf_strptr (ebl->elf, idx, sym->st_name));
+
+ if (versym_data != NULL)
+ {
+ /* Get the version information. */
+ GElf_Versym versym_mem;
+ GElf_Versym *versym = gelf_getversym (versym_data, cnt, &versym_mem);
+
+ if (versym != NULL && ((*versym & 0x8000) != 0 || *versym > 1))
+ {
+ bool is_nobits = false;
+ bool check_def = xndx != SHN_UNDEF;
+
+ if (xndx < SHN_LORESERVE || sym->st_shndx == SHN_XINDEX)
+ {
+ GElf_Shdr symshdr_mem;
+ GElf_Shdr *symshdr = gelf_getshdr (
+ elf_getscn (ebl->elf, xndx), &symshdr_mem);
+
+ is_nobits
+ = (symshdr != NULL && symshdr->sh_type == SHT_NOBITS);
+ }
+
+ if (is_nobits || !check_def)
+ {
+ /* We must test both. */
+ GElf_Vernaux vernaux_mem;
+ GElf_Vernaux *vernaux = NULL;
+ size_t vn_offset = 0;
+
+ GElf_Verneed verneed_mem;
+ GElf_Verneed *verneed
+ = gelf_getverneed (verneed_data, 0, &verneed_mem);
+ while (verneed != NULL)
+ {
+ size_t vna_offset = vn_offset;
+
+ vernaux = gelf_getvernaux (verneed_data,
+ vna_offset += verneed->vn_aux,
+ &vernaux_mem);
+ while (vernaux != NULL && vernaux->vna_other != *versym
+ && vernaux->vna_next != 0
+ && (verneed_data->d_size - vna_offset
+ >= vernaux->vna_next))
+ {
+ /* Update the offset. */
+ vna_offset += vernaux->vna_next;
+
+ vernaux = (vernaux->vna_next == 0
+ ? NULL
+ : gelf_getvernaux (verneed_data,
+ vna_offset,
+ &vernaux_mem));
+ }
+
+ /* Check whether we found the version. */
+ if (vernaux != NULL && vernaux->vna_other == *versym)
+ /* Found it. */
+ break;
+
+ if (verneed_data->d_size - vn_offset < verneed->vn_next)
+ break;
+
+ vn_offset += verneed->vn_next;
+ verneed
+ = (verneed->vn_next == 0
+ ? NULL
+ : gelf_getverneed (verneed_data, vn_offset,
+ &verneed_mem));
+ }
+
+ if (vernaux != NULL && vernaux->vna_other == *versym)
+ {
+ printf ("@%s (%u)",
+ use_dynamic_segment == true
+ ? (char *)symstr_data->d_buf
+ + vernaux->vna_name
+ : elf_strptr (ebl->elf, verneed_stridx,
+ vernaux->vna_name),
+ (unsigned int)vernaux->vna_other);
+ check_def = 0;
+ }
+ else if (unlikely (!is_nobits))
+ error (0, 0, _ ("bad dynamic symbol"));
+ else
+ check_def = 1;
+ }
+
+ if (check_def && *versym != 0x8001)
+ {
+ /* We must test both. */
+ size_t vd_offset = 0;
+
+ GElf_Verdef verdef_mem;
+ GElf_Verdef *verdef
+ = gelf_getverdef (verdef_data, 0, &verdef_mem);
+ while (verdef != NULL)
+ {
+ if (verdef->vd_ndx == (*versym & 0x7fff))
+ /* Found the definition. */
+ break;
+
+ if (verdef_data->d_size - vd_offset < verdef->vd_next)
+ break;
+
+ vd_offset += verdef->vd_next;
+ verdef = (verdef->vd_next == 0
+ ? NULL
+ : gelf_getverdef (verdef_data, vd_offset,
+ &verdef_mem));
+ }
+
+ if (verdef != NULL)
+ {
+ GElf_Verdaux verdaux_mem;
+ GElf_Verdaux *verdaux = gelf_getverdaux (
+ verdef_data, vd_offset + verdef->vd_aux,
+ &verdaux_mem);
+
+ if (verdaux != NULL)
+ printf ((*versym & 0x8000) ? "@%s" : "@@%s",
+ use_dynamic_segment == true
+ ? (char *)symstr_data->d_buf
+ + verdaux->vda_name
+ : elf_strptr (ebl->elf, verdef_stridx,
+ verdaux->vda_name));
+ }
+ }
+ }
+ }
+
+ putchar_unlocked ('\n');
+ }
+}
+
+
+static bool
handle_symtab (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
{
Elf_Data *versym_data = NULL;
@@ -2504,7 +2814,7 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
/* Get the data of the section. */
Elf_Data *data = elf_getdata (scn, NULL);
if (data == NULL)
- return;
+ return false;
/* Find out whether we have other sections we might need. */
Elf_Scn *runscn = NULL;
@@ -2574,163 +2884,184 @@ handle_symtab (Ebl *ebl, Elf_Scn *scn, GElf_Shdr *shdr)
Num: Value Size Type Bind Vis Ndx Name\n"),
stdout);
- for (unsigned int cnt = 0; cnt < nsyms; ++cnt)
- {
- char typebuf[64];
- char bindbuf[64];
- char scnbuf[64];
- Elf32_Word xndx;
- GElf_Sym sym_mem;
- GElf_Sym *sym = gelf_getsymshndx (data, xndx_data, cnt, &sym_mem, &xndx);
-
- if (unlikely (sym == NULL))
- continue;
-
- /* Determine the real section index. */
- if (likely (sym->st_shndx != SHN_XINDEX))
- xndx = sym->st_shndx;
-
- printf (_("\
-%5u: %0*" PRIx64 " %6" PRId64 " %-7s %-6s %-9s %6s %s"),
- cnt,
- class == ELFCLASS32 ? 8 : 16,
- sym->st_value,
- sym->st_size,
- ebl_symbol_type_name (ebl, GELF_ST_TYPE (sym->st_info),
- typebuf, sizeof (typebuf)),
- ebl_symbol_binding_name (ebl, GELF_ST_BIND (sym->st_info),
- bindbuf, sizeof (bindbuf)),
- get_visibility_type (GELF_ST_VISIBILITY (sym->st_other)),
- ebl_section_name (ebl, sym->st_shndx, xndx, scnbuf,
- sizeof (scnbuf), NULL, shnum),
- elf_strptr (ebl->elf, shdr->sh_link, sym->st_name));
-
- if (versym_data != NULL)
- {
- /* Get the version information. */
- GElf_Versym versym_mem;
- GElf_Versym *versym = gelf_getversym (versym_data, cnt, &versym_mem);
-
- if (versym != NULL && ((*versym & 0x8000) != 0 || *versym > 1))
- {
- bool is_nobits = false;
- bool check_def = xndx != SHN_UNDEF;
-
- if (xndx < SHN_LORESERVE || sym->st_shndx == SHN_XINDEX)
- {
- GElf_Shdr symshdr_mem;
- GElf_Shdr *symshdr =
- gelf_getshdr (elf_getscn (ebl->elf, xndx), &symshdr_mem);
+ process_symtab(ebl, nsyms, shdr->sh_link, verneed_stridx, verdef_stridx,
+ data, versym_data, NULL, verneed_data, verdef_data, xndx_data);
+ return true;
+}
- is_nobits = (symshdr != NULL
- && symshdr->sh_type == SHT_NOBITS);
- }
- if (is_nobits || ! check_def)
- {
- /* We must test both. */
- GElf_Vernaux vernaux_mem;
- GElf_Vernaux *vernaux = NULL;
- size_t vn_offset = 0;
-
- GElf_Verneed verneed_mem;
- GElf_Verneed *verneed = gelf_getverneed (verneed_data, 0,
- &verneed_mem);
- while (verneed != NULL)
- {
- size_t vna_offset = vn_offset;
-
- vernaux = gelf_getvernaux (verneed_data,
- vna_offset += verneed->vn_aux,
- &vernaux_mem);
- while (vernaux != NULL
- && vernaux->vna_other != *versym
- && vernaux->vna_next != 0
- && (verneed_data->d_size - vna_offset
- >= vernaux->vna_next))
- {
- /* Update the offset. */
- vna_offset += vernaux->vna_next;
-
- vernaux = (vernaux->vna_next == 0
- ? NULL
- : gelf_getvernaux (verneed_data,
- vna_offset,
- &vernaux_mem));
- }
-
- /* Check whether we found the version. */
- if (vernaux != NULL && vernaux->vna_other == *versym)
- /* Found it. */
- break;
+static bool
+handle_dynamic_symtab (Ebl *ebl)
+{
+ GElf_Phdr phdr_mem;
+ GElf_Phdr *phdr = NULL;
+ /* phnum is a static variable which was already fetched in function
+ process_elf_file. */
+ for (size_t i = 0; i < phnum; ++i)
+ {
+ phdr = gelf_getphdr (ebl->elf, i, &phdr_mem);
+ if (phdr->p_type == PT_DYNAMIC)
+ break;
+ }
+ if (phdr == NULL)
+ return false;
- if (verneed_data->d_size - vn_offset < verneed->vn_next)
- break;
+ GElf_Addr addrs[i_max] = {
+ 0,
+ };
+ GElf_Off offs[i_max] = {
+ 0,
+ };
+ get_dynscn_addrs (ebl->elf, phdr, addrs);
+ find_offsets (ebl->elf, 0, i_max, addrs, offs);
- vn_offset += verneed->vn_next;
- verneed = (verneed->vn_next == 0
- ? NULL
- : gelf_getverneed (verneed_data, vn_offset,
- &verneed_mem));
- }
+ size_t syments = 0;
- if (vernaux != NULL && vernaux->vna_other == *versym)
- {
- printf ("@%s (%u)",
- elf_strptr (ebl->elf, verneed_stridx,
- vernaux->vna_name),
- (unsigned int) vernaux->vna_other);
- check_def = 0;
- }
- else if (unlikely (! is_nobits))
- error (0, 0, _("bad dynamic symbol"));
- else
- check_def = 1;
- }
+ GElf_Ehdr ehdr_mem;
+ GElf_Ehdr *ehdr = gelf_getehdr (ebl->elf, &ehdr_mem);
- if (check_def && *versym != 0x8001)
- {
- /* We must test both. */
- size_t vd_offset = 0;
+ if (offs[i_hash] != 0)
+ {
+ /* In the original format, .hash says the size of .dynsym. */
- GElf_Verdef verdef_mem;
- GElf_Verdef *verdef = gelf_getverdef (verdef_data, 0,
- &verdef_mem);
- while (verdef != NULL)
- {
- if (verdef->vd_ndx == (*versym & 0x7fff))
- /* Found the definition. */
- break;
+ size_t entsz = SH_ENTSIZE_HASH (ehdr);
+ Elf_Data *data
+ = elf_getdata_rawchunk (ebl->elf, offs[i_hash] + entsz, entsz,
+ (entsz == 4 ? ELF_T_WORD : ELF_T_XWORD));
+ if (data != NULL)
+ syments = (entsz == 4 ? *(const GElf_Word *)data->d_buf
+ : *(const GElf_Xword *)data->d_buf);
+ }
+ if (offs[i_gnu_hash] != 0 && syments == 0)
+ {
+ /* In the new format, we can derive it with some work. */
- if (verdef_data->d_size - vd_offset < verdef->vd_next)
- break;
+ const struct
+ {
+ Elf32_Word nbuckets;
+ Elf32_Word symndx;
+ Elf32_Word maskwords;
+ Elf32_Word shift2;
+ } * header;
+
+ Elf_Data *data = elf_getdata_rawchunk (ebl->elf, offs[i_gnu_hash],
+ sizeof *header, ELF_T_WORD);
+ if (data != NULL)
+ {
+ header = data->d_buf;
+ Elf32_Word nbuckets = header->nbuckets;
+ Elf32_Word symndx = header->symndx;
+ GElf_Off buckets_at
+ = (offs[i_gnu_hash] + sizeof *header
+ + (gelf_getclass (ebl->elf) * sizeof (Elf32_Word)
+ * header->maskwords));
+
+ // elf_getdata_rawchunk takes a size_t, make sure it
+ // doesn't overflow.
+#if SIZE_MAX <= UINT32_MAX
+ if (nbuckets > SIZE_MAX / sizeof (Elf32_Word))
+ data = NULL;
+ else
+#endif
+ data = elf_getdata_rawchunk (ebl->elf, buckets_at,
+ nbuckets * sizeof (Elf32_Word),
+ ELF_T_WORD);
+ if (data != NULL && symndx < nbuckets)
+ {
+ const Elf32_Word *const buckets = data->d_buf;
+ Elf32_Word maxndx = symndx;
+ for (Elf32_Word bucket = 0; bucket < nbuckets; ++bucket)
+ if (buckets[bucket] > maxndx)
+ maxndx = buckets[bucket];
+
+ GElf_Off hasharr_at
+ = (buckets_at + nbuckets * sizeof (Elf32_Word));
+ hasharr_at += (maxndx - symndx) * sizeof (Elf32_Word);
+ do
+ {
+ data = elf_getdata_rawchunk (
+ ebl->elf, hasharr_at, sizeof (Elf32_Word), ELF_T_WORD);
+ if (data != NULL && (*(const Elf32_Word *)data->d_buf & 1u))
+ {
+ syments = maxndx + 1;
+ break;
+ }
+ ++maxndx;
+ hasharr_at += sizeof (Elf32_Word);
+ }
+ while (data != NULL);
+ }
+ }
+ }
+ if (offs[i_strtab] > offs[i_symtab] && syments == 0)
+ syments = ((offs[i_strtab] - offs[i_symtab])
+ / gelf_fsize (ebl->elf, ELF_T_SYM, 1, EV_CURRENT));
- vd_offset += verdef->vd_next;
- verdef = (verdef->vd_next == 0
- ? NULL
- : gelf_getverdef (verdef_data, vd_offset,
- &verdef_mem));
- }
+ if (syments <= 0 || offs[i_strtab] == 0 || offs[i_symtab] == 0)
+ {
+ error_exit (0, _ ("Dynamic symbol information is not available for "
+ "displaying symbols."));
+ }
- if (verdef != NULL)
- {
- GElf_Verdaux verdaux_mem;
- GElf_Verdaux *verdaux
- = gelf_getverdaux (verdef_data,
- vd_offset + verdef->vd_aux,
- &verdaux_mem);
-
- if (verdaux != NULL)
- printf ((*versym & 0x8000) ? "@%s" : "@@%s",
- elf_strptr (ebl->elf, verdef_stridx,
- verdaux->vda_name));
- }
- }
- }
- }
+ /* All the data chunk initializaion. */
+ Elf_Data *symdata = NULL;
+ Elf_Data *symstrdata = NULL;
+ Elf_Data *versym_data = NULL;
+ Elf_Data *verdef_data = NULL;
+ Elf_Data *verneed_data = NULL;
- putchar_unlocked ('\n');
- }
+ symdata = elf_getdata_rawchunk (
+ ebl->elf, offs[i_symtab],
+ gelf_fsize (ebl->elf, ELF_T_SYM, syments, EV_CURRENT), ELF_T_SYM);
+ symstrdata = elf_getdata_rawchunk (ebl->elf, offs[i_strtab], addrs[i_strsz],
+ ELF_T_BYTE);
+ versym_data = elf_getdata_rawchunk (
+ ebl->elf, offs[i_versym], syments * sizeof (Elf64_Half), ELF_T_HALF);
+
+ /* Get the verneed_data without vernaux. */
+ verneed_data = elf_getdata_rawchunk (
+ ebl->elf, offs[i_verneed], addrs[i_verneednum] * sizeof (Elf64_Verneed),
+ ELF_T_VNEED);
+ size_t vernauxnum = 0;
+ size_t vn_next_offset = 0;
+
+ for (size_t i = 0; i < addrs[i_verneednum]; i++)
+ {
+ GElf_Verneed *verneed
+ = (GElf_Verneed *)(verneed_data->d_buf + vn_next_offset);
+ vernauxnum += verneed->vn_cnt;
+ vn_next_offset += verneed->vn_next;
+ }
+
+ /* Update the verneed_data to include the vernaux. */
+ verneed_data = elf_getdata_rawchunk (
+ ebl->elf, offs[i_verneed],
+ (addrs[i_verneednum] + vernauxnum) * sizeof (GElf_Verneed), ELF_T_VNEED);
+
+ /* Get the verdef_data without verdaux. */
+ verdef_data = elf_getdata_rawchunk (
+ ebl->elf, offs[i_verdef], addrs[i_verdefnum] * sizeof (Elf64_Verdef),
+ ELF_T_VDEF);
+ size_t verdauxnum = 0;
+ size_t vd_next_offset = 0;
+
+ for (size_t i = 0; i < addrs[i_verdefnum]; i++)
+ {
+ GElf_Verdef *verdef
+ = (GElf_Verdef *)(verdef_data->d_buf + vd_next_offset);
+ verdauxnum += verdef->vd_cnt;
+ vd_next_offset += verdef->vd_next;
+ }
+
+ /* Update the verdef_data to include the verdaux. */
+ verdef_data = elf_getdata_rawchunk (
+ ebl->elf, offs[i_verdef],
+ (addrs[i_verdefnum] + verdauxnum) * sizeof (GElf_Verdef), ELF_T_VDEF);
+
+ unsigned int nsyms = (unsigned int)syments;
+ process_symtab (ebl, nsyms, 0, 0, 0, symdata, versym_data, symstrdata,
+ verneed_data, verdef_data, NULL);
+ return true;
}
@@ -3893,7 +4224,7 @@ get_debug_elf_data (Dwarf *dbg, Ebl *ebl, int idx, Elf_Scn *scn)
return elf_getdata (scn, NULL);
}
-void
+static void
print_dwarf_addr (Dwfl_Module *dwflmod,
int address_size, Dwarf_Addr address, Dwarf_Addr raw)
{
@@ -4990,13 +5321,25 @@ get_dynscn_addrs(Elf *elf, GElf_Phdr *phdr, GElf_Addr addrs[i_max])
addrs[i_verdef] = dyn->d_un.d_ptr;
break;
+ case DT_VERDEFNUM:
+ addrs[i_verdefnum] = dyn->d_un.d_val;
+ break;
+
case DT_VERNEED:
addrs[i_verneed] = dyn->d_un.d_ptr;
break;
+ case DT_VERNEEDNUM:
+ addrs[i_verneednum] = dyn->d_un.d_val;
+ break;
+
case DT_STRSZ:
addrs[i_strsz] = dyn->d_un.d_val;
break;
+
+ case DT_SYMTAB_SHNDX:
+ addrs[i_symtab_shndx] = dyn->d_un.d_ptr;
+ break;
}
}
}
@@ -11196,8 +11539,9 @@ print_gdb_index_section (Dwfl_Module *dwflmod, Ebl *ebl,
// hash used for generating the table. Version 6 contains symbols
// for inlined functions, older versions didn't. Version 7 adds
// symbol kinds. Version 8 just indicates that it correctly includes
- // TUs for symbols.
- if (vers < 4 || vers > 8)
+ // TUs for symbols. Version 9 adds shortcut table for information
+ // regarding the main function.
+ if (vers < 4 || vers > 9)
{
printf (_(" unknown version, cannot parse section\n"));
return;
@@ -11235,6 +11579,17 @@ print_gdb_index_section (Dwfl_Module *dwflmod, Ebl *ebl,
if (unlikely (readp + 4 > dataend))
goto invalid_data;
+ uint32_t shortcut_off = 0;
+ if (vers >= 9)
+ {
+ shortcut_off = read_4ubyte_unaligned (dbg, readp);
+ printf (_(" shortcut offset: %#" PRIx32 "\n"), shortcut_off);
+
+ readp += 4;
+ if (unlikely (readp + 4 > dataend))
+ goto invalid_data;
+ }
+
uint32_t const_off = read_4ubyte_unaligned (dbg, readp);
printf (_(" constant offset: %#" PRIx32 "\n"), const_off);
@@ -11332,8 +11687,19 @@ print_gdb_index_section (Dwfl_Module *dwflmod, Ebl *ebl,
if (const_off >= data->d_size)
goto invalid_data;
+ const unsigned char *shortcut_start = NULL;
+ if (vers >= 9)
+ {
+ if (shortcut_off >= data->d_size)
+ goto invalid_data;
+
+ shortcut_start = data->d_buf + shortcut_off;
+ nextp = shortcut_start;
+ }
+ else
+ nextp = const_start;
+
readp = data->d_buf + sym_off;
- nextp = const_start;
size_t sym_nr = (nextp - readp) / 8;
printf (_("\n Symbol table at offset %#" PRIx32
@@ -11407,6 +11773,49 @@ print_gdb_index_section (Dwfl_Module *dwflmod, Ebl *ebl,
}
n++;
}
+
+ if (vers < 9)
+ return;
+
+ if (unlikely (shortcut_start == NULL))
+ goto invalid_data;
+
+ readp = shortcut_start;
+ nextp = const_start;
+ size_t shortcut_nr = (nextp - readp) / 4;
+
+ if (unlikely (shortcut_nr != 2))
+ goto invalid_data;
+
+ printf (_("\nShortcut table at offset %#" PRIx32 " contains %zu slots:\n"),
+ shortcut_off, shortcut_nr);
+
+ uint32_t lang = read_4ubyte_unaligned (dbg, readp);
+ readp += 4;
+
+ /* Include the hex number of LANG in the output if the language
+ is unknown. */
+ const char *lang_str = dwarf_lang_string (lang);
+ lang_str = string_or_unknown (lang_str, lang, DW_LANG_lo_user,
+ DW_LANG_hi_user, true);
+
+ printf (_("Language of main: %s\n"), lang_str);
+ printf (_("Name of main: "));
+
+ if (lang != 0)
+ {
+ uint32_t name = read_4ubyte_unaligned (dbg, readp);
+ readp += 4;
+ const unsigned char *sym = const_start + name;
+
+ if (unlikely ((size_t) (dataend - const_start) < name
+ || memchr (sym, '\0', dataend - sym) == NULL))
+ goto invalid_data;
+
+ printf ("%s\n", sym);
+ }
+ else
+ printf ("<unknown>\n");
}
/* Returns true and sets split DWARF CU id if there is a split compile
diff --git a/src/srcfiles.cxx b/src/srcfiles.cxx
new file mode 100644
index 00000000..3c7afdc4
--- /dev/null
+++ b/src/srcfiles.cxx
@@ -0,0 +1,218 @@
+/* Print the source files of a given ELF file.
+ Copyright (C) 2023 Red Hat, Inc.
+ This file is part of elfutils.
+ Written by Housam Alamour <alamourh@redhat.com>.
+
+ This file is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ elfutils 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 <http://www.gnu.org/licenses/>. */
+
+#include "printversion.h"
+#include <dwarf.h>
+#include <argp.h>
+#include <cstring>
+#include <set>
+#include <string>
+#include <cassert>
+#include <config.h>
+
+#include <libdwfl.h>
+#include <fcntl.h>
+#include <iostream>
+#include <libdw.h>
+
+using namespace std;
+
+/* Name and version of program. */
+ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
+
+/* Bug report address. */
+ARGP_PROGRAM_BUG_ADDRESS_DEF = PACKAGE_BUGREPORT;
+
+/* Definitions of arguments for argp functions. */
+static const struct argp_option options[] =
+{
+ { NULL, 0, NULL, OPTION_DOC, N_("Output options:"), 1 },
+ { "null", '0', NULL, 0,
+ N_ ("Separate items by a null instead of a newline."), 0 },
+ { "verbose", 'v', NULL, 0,
+ N_ ("Increase verbosity of logging messages."), 0 },
+ { "cu-only", 'c', NULL, 0, N_ ("Only list the CU names."), 0 },
+ { NULL, 0, NULL, 0, NULL, 0 }
+};
+
+/* Short description of program. */
+static const char doc[] = N_("Lists the source files of a DWARF/ELF file. The default input is the file 'a.out'.");
+
+/* Strings for arguments in help texts. */
+static const char args_doc[] = N_("INPUT");
+
+/* Prototype for option handler. */
+static error_t parse_opt (int key, char *arg, struct argp_state *state);
+
+static struct argp_child argp_children[2]; /* [0] is set in main. */
+
+/* Data structure to communicate with argp functions. */
+static const struct argp argp =
+{
+ options, parse_opt, args_doc, doc, argp_children, NULL, NULL
+};
+
+/* Verbose message printing. */
+static bool verbose;
+/* Delimit the output with nulls. */
+static bool null_arg;
+/* Only print compilation unit names. */
+static bool CU_only;
+
+/* Handle program arguments. */
+static error_t
+parse_opt (int key, char *arg, struct argp_state *state)
+{
+ /* Suppress "unused parameter" warning. */
+ (void)arg;
+ switch (key)
+ {
+ case ARGP_KEY_INIT:
+ state->child_inputs[0] = state->input;
+ break;
+
+ case '0':
+ null_arg = true;
+ break;
+
+ case 'v':
+ verbose = true;
+ break;
+
+ case 'c':
+ CU_only = true;
+ break;
+
+ default:
+ return ARGP_ERR_UNKNOWN;
+ }
+ return 0;
+}
+
+
+/* Global list of collected source files. Normally, it'll contain
+ the sources of just one named binary, but the '-K' option can cause
+ multiple dwfl modules to be loaded, thus listed. */
+ set<string> debug_sourcefiles;
+
+static int
+collect_sourcefiles (Dwfl_Module *dwflmod,
+ void **userdata __attribute__ ((unused)),
+ const char *name __attribute__ ((unused)),
+ Dwarf_Addr base __attribute__ ((unused)),
+ void *arg __attribute__ ((unused)))
+{
+ Dwarf *dbg;
+ Dwarf_Addr bias; /* ignored - for addressing purposes only */
+
+ dbg = dwfl_module_getdwarf (dwflmod, &bias);
+
+ Dwarf_Off offset = 0;
+ Dwarf_Off old_offset;
+ size_t hsize;
+
+ /* Traverse all CUs of this module. */
+ while (dwarf_nextcu (dbg, old_offset = offset, &offset, &hsize, NULL, NULL, NULL) == 0)
+ {
+ Dwarf_Die cudie_mem;
+ Dwarf_Die *cudie = dwarf_offdie (dbg, old_offset + hsize, &cudie_mem);
+
+ if (cudie == NULL)
+ continue;
+
+ const char *cuname = dwarf_diename (cudie) ?: "<unknown>";
+ Dwarf_Files *files;
+ size_t nfiles;
+ if (dwarf_getsrcfiles (cudie, &files, &nfiles) != 0)
+ continue;
+
+ /* extract DW_AT_comp_dir to resolve relative file names */
+ const char *comp_dir = "";
+ const char *const *dirs;
+ size_t ndirs;
+
+ if (dwarf_getsrcdirs (files, &dirs, &ndirs) == 0 && dirs[0] != NULL)
+ comp_dir = dirs[0];
+ if (comp_dir == NULL)
+ comp_dir = "";
+
+ if (verbose)
+ std::clog << "searching for sources for cu=" << cuname
+ << " comp_dir=" << comp_dir << " #files=" << nfiles
+ << " #dirs=" << ndirs << endl;
+
+ for (size_t f = 1; f < nfiles; f++)
+ {
+ const char *hat;
+ if (CU_only)
+ {
+ if (strcmp(cuname, "<unknown>") == 0 || strcmp(cuname, "<artificial>") == 0 )
+ continue;
+ hat = cuname;
+ }
+ else
+ hat = dwarf_filesrc (files, f, NULL, NULL);
+
+ if (hat == NULL)
+ continue;
+
+ if (string(hat).find("<built-in>")
+ != std::string::npos) /* gcc intrinsics, don't bother record */
+ continue;
+
+ string waldo;
+ if (hat[0] == '/') /* absolute */
+ waldo = (string (hat));
+ else if (comp_dir[0] != '\0') /* comp_dir relative */
+ waldo = (string (comp_dir) + string ("/") + string (hat));
+ debug_sourcefiles.insert (waldo);
+ }
+ }
+
+ return DWARF_CB_OK;
+}
+
+
+int
+main (int argc, char *argv[])
+{
+ int remaining;
+
+ /* Parse and process arguments. This includes opening the modules. */
+ argp_children[0].argp = dwfl_standard_argp ();
+ argp_children[0].group = 1;
+
+ Dwfl *dwfl = NULL;
+ (void) argp_parse (&argp, argc, argv, 0, &remaining, &dwfl);
+ assert (dwfl != NULL);
+ /* Process all loaded modules - probably just one, except if -K or -p is used. */
+ (void) dwfl_getmodules (dwfl, &collect_sourcefiles, NULL, 0);
+
+ if (!debug_sourcefiles.empty ())
+ for (const string &element : debug_sourcefiles)
+ {
+ std::cout << element;
+ if (null_arg)
+ std::cout << '\0';
+ else
+ std::cout << '\n';
+ }
+
+ dwfl_end (dwfl);
+ return 0;
+}
diff --git a/src/strip.c b/src/strip.c
index 2a2cc801..7f4788b3 100644
--- a/src/strip.c
+++ b/src/strip.c
@@ -2543,8 +2543,7 @@ while computing checksum for debug information"));
{
error (0, 0, _("%s: error while creating ELF header: %s"),
output_fname ?: fname, elf_errmsg (-1));
- cleanup_debug ();
- return 1;
+ result = 1;
}
/* The new section header string table index. */
@@ -2552,8 +2551,7 @@ while computing checksum for debug information"));
{
error (0, 0, _("%s: error updating shdrstrndx: %s"),
output_fname ?: fname, elf_errmsg (-1));
- cleanup_debug ();
- return 1;
+ result = 1;
}
/* We have everything from the old file. */
@@ -2561,8 +2559,7 @@ while computing checksum for debug information"));
{
error (0, 0, _("%s: error while reading the file: %s"),
fname, elf_errmsg (-1));
- cleanup_debug ();
- return 1;
+ result = 1;
}
/* The ELF library better follows our layout when this is not a
diff --git a/tests/ChangeLog b/tests/ChangeLog
index eb3e1118..d97749f5 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,21 @@
+2023-09-27 Omar Sandoval <osandov@fb.com>
+
+ * dwarf-getmacros.c (mac): Add DW_MACRO_define_sup,
+ DW_MACRO_define_strx, DW_MACRO_undef_sup, and DW_MACRO_undef_strx
+ cases to opcode switch statement.
+ (getmacros): New function.
+ (main): If second argument is empty, call getmacros on every unit.
+ Otherwise, call getmacros on given unit.
+
+2023-09-27 Omar Sandoval <osandov@fb.com>
+
+ * run-varlocs.sh: Add entry PC to split units.
+
+2023-04-21 Frank Ch. Eigler <fche@redhat.com>
+
+ * run-debuginfod-IXr.sh: New test.
+ * Makefile.am: Run it, ship it.
+
2023-02-10 Mark Wielaard <mark@klomp.org>
* varlocs.c (print_expr): Handle DW_OP_GNU_uninit.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index fd58bf84..7fb8efb1 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -61,7 +61,7 @@ check_PROGRAMS = arextract arsymtest newfile saridx scnnames sectiondump \
elfcopy addsections xlate_notes elfrdwrnop \
dwelf_elf_e_machine_string \
getphdrnum leb128 read_unaligned \
- msg_tst system-elf-libelf-test \
+ msg_tst system-elf-libelf-test system-elf-gelf-test \
nvidia_extended_linemap_libdw \
$(asm_TESTS)
@@ -118,7 +118,9 @@ TESTS = run-arextract.sh run-arsymtest.sh run-ar.sh newfile test-nlist \
run-strip-test9.sh run-strip-test10.sh run-strip-test11.sh \
run-strip-test12.sh \
run-strip-nothing.sh run-strip-g.sh run-annobingroup.sh \
- run-strip-groups.sh run-strip-reloc.sh run-strip-strmerge.sh \
+ run-strip-groups.sh run-strip-strmerge.sh \
+ run-strip-reloc-ko.sh run-strip-reloc-self.sh \
+ run-strip-reloc-ppc64.sh \
run-strip-nobitsalign.sh run-strip-remove-keep.sh \
run-unstrip-test.sh run-unstrip-test2.sh run-unstrip-test3.sh \
run-unstrip-test4.sh run-unstrip-M.sh run-elfstrmerge-test.sh \
@@ -129,6 +131,7 @@ TESTS = run-arextract.sh run-arsymtest.sh run-ar.sh newfile test-nlist \
run-find-prologues.sh run-allregs.sh run-addrcfi.sh \
run-dwarfcfi.sh run-nm-syms.sh \
run-nm-self.sh run-readelf-self.sh run-readelf-info-plus.sh \
+ run-srcfiles-self.sh \
run-readelf-compressed.sh \
run-readelf-const-values.sh \
run-varlocs-self.sh run-exprlocs-self.sh \
@@ -193,7 +196,9 @@ TESTS = run-arextract.sh run-arsymtest.sh run-ar.sh newfile test-nlist \
run-reloc-bpf.sh \
run-next-cfi.sh run-next-cfi-self.sh \
run-reverse-sections.sh run-reverse-sections-self.sh \
- run-copyadd-sections.sh run-copymany-sections.sh \
+ run-copyadd-sections.sh \
+ run-copymany-be32.sh run-copymany-le32.sh \
+ run-copymany-be64.sh run-copymany-le64.sh \
run-typeiter-many.sh run-strip-test-many.sh \
run-strip-version.sh run-xlate-note.sh \
run-readelf-discr.sh \
@@ -203,7 +208,7 @@ TESTS = run-arextract.sh run-arsymtest.sh run-ar.sh newfile test-nlist \
run-pt_gnu_prop-tests.sh \
run-getphdrnum.sh run-test-includes.sh \
leb128 read_unaligned \
- msg_tst system-elf-libelf-test \
+ msg_tst system-elf-libelf-test system-elf-gelf-test \
$(asm_TESTS) run-disasm-bpf.sh run-low_high_pc-dw-form-indirect.sh \
run-nvidia-extended-linemap-libdw.sh run-nvidia-extended-linemap-readelf.sh \
run-readelf-dw-form-indirect.sh run-strip-largealign.sh \
@@ -261,7 +266,8 @@ TESTS += run-debuginfod-dlopen.sh \
run-debuginfod-response-headers.sh \
run-debuginfod-extraction-passive.sh \
run-debuginfod-webapi-concurrency.sh \
- run-debuginfod-section.sh
+ run-debuginfod-section.sh \
+ run-debuginfod-IXr.sh
endif
if !OLD_LIBMICROHTTPD
# Will crash on too old libmicrohttpd
@@ -301,7 +307,9 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \
testfile-annobingroup-x86_64.o.bz2 \
run-strip-strmerge.sh run-strip-nobitsalign.sh \
testfile-nobitsalign.bz2 testfile-nobitsalign.strip.bz2 \
- run-strip-reloc.sh hello_i386.ko.bz2 hello_x86_64.ko.bz2 \
+ run-strip-reloc-ko.sh run-strip-reloc-self.sh \
+ run-strip-reloc-ppc64.sh strip-reloc-subr.sh \
+ hello_i386.ko.bz2 hello_x86_64.ko.bz2 \
hello_ppc64.ko.bz2 hello_s390.ko.bz2 hello_aarch64.ko.bz2 \
hello_m68k.ko.bz2 hello_riscv64.ko.bz2 hello_csky.ko.bz2 \
hello_arc_hs4.ko.bz2 \
@@ -316,7 +324,8 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \
run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \
run-nm-syms.sh testfilesyms32.bz2 testfilesyms64.bz2 \
run-nm-self.sh run-readelf-self.sh run-readelf-info-plus.sh \
- run-readelf-compressed.sh \
+ run-srcfiles-self.sh \
+ run-readelf-compressed.sh \
run-readelf-compressed-zstd.sh \
run-readelf-const-values.sh testfile-const-values.debug.bz2 \
run-addrcfi.sh run-dwarfcfi.sh \
@@ -410,7 +419,8 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \
run-readelf-Dd.sh \
testfile-s390x-hash-both.bz2 \
run-readelf-gdb_index.sh testfilegdbindex5.bz2 \
- testfilegdbindex7.bz2 \
+ testfilegdbindex7.bz2 testfilegdbindex9.bz2 \
+ testfilegdbindex9-no-maininfo.bz2 \
run-readelf-s.sh testfilebazdbg.bz2 testfilebazdyn.bz2 \
testfilebazmin.bz2 testfilebazdbg.debug.bz2 testfilebazmdb.bz2 \
testfilebaztab.bz2 testfilebasmin.bz2 testfilebaxmin.bz2 \
@@ -538,7 +548,9 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \
testfile-riscv64.bz2 testfile-riscv64-s.bz2 \
testfile-riscv64-core.bz2 \
run-reverse-sections.sh run-reverse-sections-self.sh \
- run-copyadd-sections.sh run-copymany-sections.sh \
+ run-copyadd-sections.sh test-copymany-subr.sh \
+ run-copymany-be32.sh run-copymany-le32.sh \
+ run-copymany-be64.sh run-copymany-le64.sh \
run-large-elf-file.sh \
run-typeiter-many.sh run-strip-test-many.sh \
testfile-debug-rel-ppc64-g.o.bz2 \
@@ -578,6 +590,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \
run-debuginfod-extraction-passive.sh \
run-debuginfod-webapi-concurrency.sh \
run-debuginfod-section.sh \
+ run-debuginfod-IXr.sh \
debuginfod-rpms/fedora30/hello2-1.0-2.src.rpm \
debuginfod-rpms/fedora30/hello2-1.0-2.x86_64.rpm \
debuginfod-rpms/fedora30/hello2-debuginfo-1.0-2.x86_64.rpm \
@@ -664,7 +677,7 @@ installcheck-local:
if BUILD_STATIC
libdw = ../libdw/libdw.a -lz $(zip_LIBS) $(libelf) $(libebl) -ldl -lpthread
-libelf = ../libelf/libelf.a -lz
+libelf = ../libelf/libelf.a -lz $(zstd_LIBS)
libasm = ../libasm/libasm.a
else
libdw = ../libdw/libdw.so
@@ -795,14 +808,22 @@ leb128_LDADD = $(libelf) $(libdw)
read_unaligned_LDADD = $(libelf) $(libdw)
nvidia_extended_linemap_libdw_LDADD = $(libelf) $(libdw)
-# We want to test the libelf header against the system elf.h header.
+# We want to test the libelf headers against the system elf.h header.
# Don't include any -I CPPFLAGS. Except when we install our own elf.h.
+# For the gelf test we do want our own libelf.h, but nothing else.
+BUILT_SOURCES = libelf.h
+CLEANFILES += libelf.h
+libelf.h: $(top_srcdir)/libelf/libelf.h
+ cp $< $@
if !INSTALL_ELFH
system_elf_libelf_test_CPPFLAGS =
+system_elf_gelf_test_CPPFLAGS = -I.
else
system_elf_libelf_test_CPPFLAGS = -I$(top_srcdir)/libelf
+system_elf_gelf_test_CPPFLAGS = -I$(top_srcdir)/libelf
endif
system_elf_libelf_test_LDADD = $(libelf)
+system_elf_gelf_test_LDADD = $(libelf)
# A lock file used to make sure only one test dumps core at a time
CLEANFILES += core-dump-backtrace.lock
diff --git a/tests/addsections.c b/tests/addsections.c
index c1b0fa81..a4e42038 100644
--- a/tests/addsections.c
+++ b/tests/addsections.c
@@ -153,8 +153,8 @@ add_sections (const char *name, size_t nr, int use_mmap, size_t sec_size)
size_t bufsz;
if (sec_size == 0)
{
- buf = strdup ("extra");
- bufsz = strlen ("extra") + 1;
+ buf = "";
+ bufsz = 1;
}
else
{
@@ -293,7 +293,8 @@ add_sections (const char *name, size_t nr, int use_mmap, size_t sec_size)
exit (1);
}
- free (buf);
+ if (sec_size != 0)
+ free (buf);
free (new_shstrtab_buf);
}
diff --git a/tests/backtrace.c b/tests/backtrace.c
index afc12fb9..55555301 100644
--- a/tests/backtrace.c
+++ b/tests/backtrace.c
@@ -90,6 +90,14 @@ callback_verify (pid_t tid, unsigned frameno, Dwarf_Addr pc,
return;
}
Dwfl_Module *mod;
+ /* Skip frames for which there isn't a function name. */
+ static int nulls_seen = 0;
+ if (symname == NULL)
+ {
+ nulls_seen++;
+ return;
+ }
+ frameno -= nulls_seen;
/* See case 4. Special case to help out simple frame pointer unwinders. */
static bool duplicate_sigusr2 = false;
if (duplicate_sigusr2)
diff --git a/tests/dwarf-getmacros.c b/tests/dwarf-getmacros.c
index ac70248d..8381d42c 100644
--- a/tests/dwarf-getmacros.c
+++ b/tests/dwarf-getmacros.c
@@ -82,6 +82,8 @@ mac (Dwarf_Macro *macro, void *dbg)
case DW_MACINFO_define:
case DW_MACRO_define_strp:
+ case DW_MACRO_define_sup:
+ case DW_MACRO_define_strx:
{
const char *value;
dwarf_macro_param2 (macro, NULL, &value);
@@ -91,6 +93,8 @@ mac (Dwarf_Macro *macro, void *dbg)
case DW_MACINFO_undef:
case DW_MACRO_undef_strp:
+ case DW_MACRO_undef_sup:
+ case DW_MACRO_undef_strx:
break;
default:
@@ -117,26 +121,57 @@ include (Dwarf *dbg, Dwarf_Off macoff, ptrdiff_t token)
}
}
+static void
+getmacros (Dwarf *dbg, Dwarf_Die *die, bool new_style)
+{
+ for (ptrdiff_t off = new_style ? DWARF_GETMACROS_START : 0;
+ (off = dwarf_getmacros (die, mac, dbg, off)); )
+ if (off == -1)
+ {
+ puts (dwarf_errmsg (-1));
+ break;
+ }
+}
+
int
main (int argc, char *argv[])
{
assert (argc >= 3);
const char *name = argv[1];
- ptrdiff_t cuoff = strtol (argv[2], NULL, 0);
bool new_style = argc > 3;
int fd = open (name, O_RDONLY);
Dwarf *dbg = dwarf_begin (fd, DWARF_C_READ);
- Dwarf_Die cudie_mem, *cudie = dwarf_offdie (dbg, cuoff, &cudie_mem);
-
- for (ptrdiff_t off = new_style ? DWARF_GETMACROS_START : 0;
- (off = dwarf_getmacros (cudie, mac, dbg, off)); )
- if (off == -1)
- {
- puts (dwarf_errmsg (dwarf_errno ()));
- break;
- }
+ if (argv[2][0] == '\0')
+ {
+ Dwarf_CU *cu = NULL;
+ Dwarf_Die cudie, subdie;
+ uint8_t unit_type;
+ while (dwarf_get_units (dbg, cu, &cu, NULL,
+ &unit_type, &cudie, &subdie) == 0)
+ {
+ Dwarf_Die *die = (unit_type == DW_UT_skeleton
+ ? &subdie : &cudie);
+ if (! dwarf_hasattr (die, DW_AT_macro_info)
+ && ! dwarf_hasattr (die, DW_AT_GNU_macros)
+ && ! dwarf_hasattr (die, DW_AT_macros))
+ continue;
+ printf ("CU %s\n", dwarf_diename (die));
+ getmacros (dbg, die, new_style);
+ }
+ }
+ else
+ {
+ ptrdiff_t cuoff = strtol (argv[2], NULL, 0);
+ Dwarf_Die cudie_mem, *cudie = dwarf_offdie (dbg, cuoff, &cudie_mem);
+ if (cudie == NULL)
+ {
+ puts (dwarf_errmsg (-1));
+ return 1;
+ }
+ getmacros (dbg, cudie, new_style);
+ }
dwarf_end (dbg);
diff --git a/tests/run-copymany-be32.sh b/tests/run-copymany-be32.sh
new file mode 100755
index 00000000..dc32e7a9
--- /dev/null
+++ b/tests/run-copymany-be32.sh
@@ -0,0 +1,15 @@
+#! /bin/sh
+
+. $srcdir/test-copymany-subr.sh
+
+# 32bit, big endian, rel
+testfiles testfile29
+test_copy_and_add testfile29
+test_copy_and_add testfile29.copy
+
+# 32bit, big endian, non-rel
+testfiles testfile26
+test_copy_and_add testfile26
+test_copy_and_add testfile26.copy
+
+exit 0
diff --git a/tests/run-copymany-be64.sh b/tests/run-copymany-be64.sh
new file mode 100755
index 00000000..1f06e077
--- /dev/null
+++ b/tests/run-copymany-be64.sh
@@ -0,0 +1,15 @@
+#! /bin/sh
+
+. $srcdir/test-copymany-subr.sh
+
+# 64bit, big endian, rel
+testfiles testfile23
+test_copy_and_add testfile23
+test_copy_and_add testfile23.copy
+
+# 64bit, big endian, non-rel
+testfiles testfile27
+test_copy_and_add testfile27
+test_copy_and_add testfile27.copy
+
+exit 0
diff --git a/tests/run-copymany-le32.sh b/tests/run-copymany-le32.sh
new file mode 100755
index 00000000..d47a90ed
--- /dev/null
+++ b/tests/run-copymany-le32.sh
@@ -0,0 +1,15 @@
+#! /bin/sh
+
+. $srcdir/test-copymany-subr.sh
+
+# 32bit, little endian, rel
+testfiles testfile9
+test_copy_and_add testfile9
+test_copy_and_add testfile9.copy
+
+# 32bit, little endian, non-rel
+testfiles testfile
+test_copy_and_add testfile
+test_copy_and_add testfile.copy
+
+exit 0
diff --git a/tests/run-copymany-le64.sh b/tests/run-copymany-le64.sh
new file mode 100755
index 00000000..b563d9de
--- /dev/null
+++ b/tests/run-copymany-le64.sh
@@ -0,0 +1,15 @@
+#! /bin/sh
+
+. $srcdir/test-copymany-subr.sh
+
+# 64bit, little endian, rel
+testfiles testfile38
+test_copy_and_add testfile38
+test_copy_and_add testfile38.copy
+
+# 64bit, little endian, non-rel
+testfiles testfile10
+test_copy_and_add testfile10
+test_copy_and_add testfile10.copy
+
+exit 0
diff --git a/tests/run-debuginfod-IXr.sh b/tests/run-debuginfod-IXr.sh
new file mode 100755
index 00000000..631b7bbf
--- /dev/null
+++ b/tests/run-debuginfod-IXr.sh
@@ -0,0 +1,94 @@
+#!/usr/bin/env bash
+#
+# Copyright (C) 2019-2023 Red Hat, Inc.
+# This file is part of elfutils.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# elfutils 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 <http://www.gnu.org/licenses/>.
+
+. $srcdir/debuginfod-subr.sh
+
+# for test case debugging, uncomment:
+set -x
+unset VALGRIND_CMD
+
+mkdir R Z
+# This variable is essential and ensures no time-race for claiming ports occurs
+# set base to a unique multiple of 100 not used in any other 'run-debuginfod-*' test
+base=10100
+get_ports
+
+DB=${PWD}/.debuginfod_tmp.sqlite
+tempfiles $DB
+export DEBUGINFOD_CACHE_PATH=${PWD}/.client_cache
+
+cp -rvp ${abs_srcdir}/debuginfod-rpms R
+
+if [ "$zstd" = "false" ]; then # nuke the zstd fedora 31 ones
+ rm -vrf R/debuginfod-rpms/fedora31
+ rpms=0
+ tarxz=1
+ groomed=2
+else
+ rpms=6
+ tarxz=1
+ groomed=8
+fi
+
+cp -rvp ${abs_srcdir}/debuginfod-tars Z
+
+env LD_LIBRARY_PATH=$ldpath ${abs_builddir}/../debuginfod/debuginfod $VERBOSE -d $DB -X 'hello2' -I 'hello' -R -Z .tar.xz -Z .tar.bz2=bzcat -p $PORT1 -t0 -g0 -v R Z > vlog$PORT1 2>&1 &
+PID1=$!
+tempfiles vlog$PORT1
+errfiles vlog$PORT1
+# Server must become ready
+wait_ready $PORT1 'ready' 1
+
+# Wait till both files are in the index and scan/index fully finished
+wait_ready $PORT1 'thread_work_total{role="traverse"}' 1
+wait_ready $PORT1 'thread_work_pending{role="scan"}' 0
+wait_ready $PORT1 'thread_busy{role="scan"}' 0
+
+# Confirm that the hello3 files are excluded
+
+wait_ready $PORT1 'scanned_files_total{source=".rpm archive"}' $rpms
+wait_ready $PORT1 'scanned_files_total{source=".tar.xz archive"}' $tarxz
+
+
+kill $PID1
+wait $PID1
+PID1=0
+
+# Start second debuginfod, with exclusion of everything
+
+echo 'RERUN WITH -r and -X everything' >> vlog$PORT1
+
+env LD_LIBRARY_PATH=$ldpath ${abs_builddir}/../debuginfod/debuginfod $VERBOSE -d $DB -r -X '.*' -F -R -Z .tar.xz -Z .tar.bz2=bzcat -p $PORT1 -t0 -g0 -v R Z >> vlog$PORT1 2>&1 &
+PID1=$!
+tempfiles vlog$PORT1
+errfiles vlog$PORT1
+# Server must become ready
+wait_ready $PORT1 'ready' 1
+
+wait_ready $PORT1 'thread_work_total{role="groom"}' 1
+wait_ready $PORT1 'thread_work_pending{role="scan"}' 0
+wait_ready $PORT1 'thread_busy{role="scan"}' 0
+
+wait_ready $PORT1 'groomed_total{decision="stale"}' $groomed
+wait_ready $PORT1 'groom{statistic="files scanned (#)"}' 0
+
+kill $PID1
+wait $PID1
+PID1=0
+
+exit 0
diff --git a/tests/run-debuginfod-extraction.sh b/tests/run-debuginfod-extraction.sh
index 3ca31b8a..da6b25cf 100755
--- a/tests/run-debuginfod-extraction.sh
+++ b/tests/run-debuginfod-extraction.sh
@@ -32,7 +32,7 @@ DB=${PWD}/.debuginfod_tmp.sqlite
tempfiles $DB
export DEBUGINFOD_CACHE_PATH=${PWD}/.client_cache
-env LD_LIBRARY_PATH=$ldpath ${abs_builddir}/../debuginfod/debuginfod $VERBOSE -d $DB -F -R -Z .tar.xz -Z .tar.bz2=bzcat -p $PORT1 -t0 -g0 -v R Z > vlog$PORT1 2>&1 &
+env LD_LIBRARY_PATH=$ldpath ${abs_builddir}/../debuginfod/debuginfod $VERBOSE -d $DB -F -R -Z .tar.xz -Z .tar.bz2=bzcat -p $PORT1 --scan-checkpoint=1 -t0 -g0 -v R Z > vlog$PORT1 2>&1 &
PID1=$!
tempfiles vlog$PORT1
errfiles vlog$PORT1
@@ -61,6 +61,9 @@ wait_ready $PORT1 'thread_work_total{role="traverse"}' 2
wait_ready $PORT1 'thread_work_pending{role="scan"}' 0
wait_ready $PORT1 'thread_busy{role="scan"}' 0
+# Take a dump if possible
+type sqlite3 2>/dev/null && sqlite3 $DB '.d'
+
########################################################################
# All rpms need to be in the index, except the dummy permission-000 one
rpms=$(find R -name \*rpm | grep -v nothing | wc -l)
diff --git a/tests/run-debuginfod-federation-metrics.sh b/tests/run-debuginfod-federation-metrics.sh
index 3d716246..60fe69ca 100755
--- a/tests/run-debuginfod-federation-metrics.sh
+++ b/tests/run-debuginfod-federation-metrics.sh
@@ -191,7 +191,8 @@ curl -s http://127.0.0.1:$PORT2/metrics | grep 'dc_pool_op.*reuse'
# Use a file that hasn't been previously extracted in to make it
# likely that even this test debuginfod will experience concurrency
# and impose some "after-you" delays.
-(for i in `seq 100`; do
+maxreq=256
+(for i in `seq $maxreq`; do
curl -s http://127.0.0.1:$PORT1/buildid/87c08d12c78174f1082b7c888b3238219b0eb265/executable >/dev/null &
done;
wait)
diff --git a/tests/run-debuginfod-federation-sqlite.sh b/tests/run-debuginfod-federation-sqlite.sh
index d9321526..6b090074 100755
--- a/tests/run-debuginfod-federation-sqlite.sh
+++ b/tests/run-debuginfod-federation-sqlite.sh
@@ -157,7 +157,9 @@ testrun ${abs_top_builddir}/debuginfod/debuginfod-find debuginfo $BUILDID
# Use a file that hasn't been previously extracted in to make it
# likely that even this test debuginfod will experience concurrency
# and impose some "after-you" delays.
-(for i in `seq 100`; do
+maxreq=$[$(nproc) * 4]
+maxreq=$(( $maxreq > 64 ? 64 : $maxreq ))
+(for i in `seq $maxreq`; do
curl -s http://127.0.0.1:$PORT1/buildid/87c08d12c78174f1082b7c888b3238219b0eb265/executable >/dev/null &
done;
wait)
diff --git a/tests/run-debuginfod-query-retry.sh b/tests/run-debuginfod-query-retry.sh
index 2f551ffb..d2cdfd65 100755
--- a/tests/run-debuginfod-query-retry.sh
+++ b/tests/run-debuginfod-query-retry.sh
@@ -26,7 +26,7 @@ unset VALGRIND_CMD
# set up tests for retrying failed queries.
retry_attempts=`(testrun env DEBUGINFOD_URLS=http://255.255.255.255/JUNKJUNK DEBUGINFOD_RETRY_LIMIT=10 DEBUGINFOD_VERBOSE=1 DEBUGINFOD_CACHE_PATH=${PWD}/.client_cache \
${abs_top_builddir}/debuginfod/debuginfod-find debuginfo \
- ${abs_top_builddir}/debuginfod/libdebuginfod.so.1 || true) \
+ ${abs_top_builddir}/debuginfod/debuginfod-find || true) \
2>&1 >/dev/null | grep -c 'Retry failed query'`
if [ $retry_attempts -ne 10 ]; then
echo "retry mechanism failed."
diff --git a/tests/run-debuginfod-response-headers.sh b/tests/run-debuginfod-response-headers.sh
index 8cb7b843..fbb6a484 100755
--- a/tests/run-debuginfod-response-headers.sh
+++ b/tests/run-debuginfod-response-headers.sh
@@ -78,8 +78,8 @@ tempfiles vlog-find$PORT1.1
errfiles vlog-find$PORT1.1
cat vlog-find$PORT1.1
grep 'Headers:' vlog-find$PORT1.1
-grep -i 'X-DEBUGINFOD-FILE: prog' vlog-find$PORT1.1
-grep -i 'X-DEBUGINFOD-SIZE: ' vlog-find$PORT1.1
+grep -i 'X-DEBUGINFOD-FILE: .*/prog' vlog-find$PORT1.1
+grep -i 'X-DEBUGINFOD-SIZE: ' vlog-find$PORT1.1
# Check to see if an executable file located in an archive prints the file's description and archive
env DEBUGINFOD_URLS="http://127.0.0.1:"$PORT1 LD_LIBRARY_PATH=$ldpath ${abs_top_builddir}/debuginfod/debuginfod-find\
@@ -88,9 +88,9 @@ tempfiles vlog-find$PORT1.2
errfiles vlog-find$PORT1.2
cat vlog-find$PORT1.2
grep 'Headers:' vlog-find$PORT1.2
-grep -i 'X-DEBUGINFOD-FILE: ' vlog-find$PORT1.2
+grep -i 'X-DEBUGINFOD-FILE: .*/.*' vlog-find$PORT1.2
grep -i 'X-DEBUGINFOD-SIZE: ' vlog-find$PORT1.2
-grep -i 'X-DEBUGINFOD-ARCHIVE: ' vlog-find$PORT1.2
+grep -i 'X-DEBUGINFOD-ARCHIVE: .*/.*' vlog-find$PORT1.2
# Check that X-DEBUGINFOD-SIZE matches the size of each file
for file in vlog-find$PORT1.1 vlog-find$PORT1.2
diff --git a/tests/run-lfs-symbols.sh b/tests/run-lfs-symbols.sh
index 762a5d96..88c6270a 100755
--- a/tests/run-lfs-symbols.sh
+++ b/tests/run-lfs-symbols.sh
@@ -42,13 +42,13 @@ LFS_FORMAT='BEGIN {
LFS=$(printf "$LFS_FORMAT" "${abs_srcdir}/lfs-symbols")
makeprint() {
- make print-$1 -C $2 |& awk -F= "/^$1=/{ print \$2 }"
+ make print-$1 -C $2 |& gawk -F= "/^$1=/{ print \$2 }"
}
testrun_lfs() {
echo "checking $1"
if [ -e "$1" ]; then
- bad=$(testrun ${abs_top_builddir}/src/nm -u "$1" | awk "$LFS")
+ bad=$(testrun ${abs_top_builddir}/src/nm -u "$1" | gawk "$LFS")
if [ -n "$bad" ]; then
echo "$1 contains non-lfs symbols:" $bad
exit_status=1
diff --git a/tests/run-native-test.sh b/tests/run-native-test.sh
index d19007f2..042a51c6 100755
--- a/tests/run-native-test.sh
+++ b/tests/run-native-test.sh
@@ -27,7 +27,8 @@
# in all builds.
tempfiles native.c native
-echo 'main () { while (1) pause (); }' > native.c
+printf '#include <unistd.h>\nint main (void) { while (1) pause (); }\n' \
+ > native.c
native=0
kill_native()
diff --git a/tests/run-readelf-gdb_index.sh b/tests/run-readelf-gdb_index.sh
index fcbc3c57..cd437f52 100755
--- a/tests/run-readelf-gdb_index.sh
+++ b/tests/run-readelf-gdb_index.sh
@@ -63,7 +63,7 @@
# (gdb) save gdb-index .
# objcopy --add-section .gdb_index=testfilegdbindex7.gdb-index --set-section-flags .gdb_index=readonly testfilegdbindex7 testfilegdbindex7
-testfiles testfilegdbindex5 testfilegdbindex7
+testfiles testfilegdbindex5 testfilegdbindex7 testfilegdbindex9 testfilegdbindex9-no-maininfo
testrun_compare ${abs_top_builddir}/src/readelf --debug-dump=gdb_index testfilegdbindex5 <<\EOF
@@ -127,4 +127,97 @@ GDB section [33] '.gdb_index' at offset 0xe76 contains 8399 bytes :
[ 754] symbol: int, CUs: 0 (type:S)
EOF
+# testfilegdbindex9-no-maininfo is built the same way as testfilegdbindex7.
+testrun_compare ${abs_top_builddir}/src/readelf --debug-dump=gdb_index testfilegdbindex9-no-maininfo <<\EOF
+
+GDB section [33] '.gdb_index' at offset 0x38e1 contains 8415 bytes :
+ Version: 9
+ CU offset: 0x1c
+ TU offset: 0x3c
+ address offset: 0x54
+ symbol offset: 0x7c
+ shortcut offset: 0x207c
+ constant offset: 0x2084
+
+ CU list at offset 0x1c contains 2 entries:
+ [ 0] start: 0x00004c, length: 220
+ [ 1] start: 0x000128, length: 214
+
+ TU list at offset 0x3c contains 1 entries:
+ [ 0] CU offset: 0, type offset: 30, signature: 0x87e03f92cc37cdf0
+
+ Address list at offset 0x54 contains 2 entries:
+ [ 0] 0x0000000000401106 <main>..0x000000000040113b <main+0x35>, CU index: 1
+ [ 1] 0x000000000040113c <hello>..0x0000000000401173 <say+0x1c>, CU index: 2
+
+ Symbol table at offset 0x54 contains 1024 slots:
+ [ 123] symbol: global, CUs: 1 (var:G), 0T (var:G)
+ [ 489] symbol: main, CUs: 1 (func:G)
+ [ 518] symbol: char, CUs: 0 (type:S)
+ [ 661] symbol: foo, CUs: 0 (type:S)
+ [ 741] symbol: hello, CUs: 1 (var:S), 0T (func:S)
+ [ 746] symbol: say, CUs: 0T (func:G)
+ [ 754] symbol: int, CUs: 1 (type:S)
+
+Shortcut table at offset 0x207c contains 2 slots:
+Language of main: ??? (0)
+Name of main: <unknown>
+EOF
+
+# testfilegdbindex9.f90
+#
+# program repro
+# type small_stride
+# character*40 long_string
+# integer small_pad
+# end type small_stride
+# type(small_stride), dimension (20), target :: unpleasant
+# character*40, pointer, dimension(:):: c40pt
+# integer i
+# do i = 0,19
+# unpleasant(i+1)%small_pad = i+1
+# unpleasant(i+1)%long_string = char (ichar('0') + i)
+# end do
+# c40pt => unpleasant%long_string
+# print *, c40pt
+#end program repro
+
+# gfortran -g -o testfilegdbindex9 testfilegdbindex9.f90
+# gdb-add-index testfilegdbindex9
+
+testrun_compare ${abs_top_builddir}/src/readelf --debug-dump=gdb_index testfilegdbindex9 <<\EOF
+
+GDB section [35] '.gdb_index' at offset 0x37d9 contains 8395 bytes :
+ Version: 9
+ CU offset: 0x1c
+ TU offset: 0x2c
+ address offset: 0x2c
+ symbol offset: 0x40
+ shortcut offset: 0x2040
+ constant offset: 0x2048
+
+ CU list at offset 0x1c contains 1 entries:
+ [ 0] start: 00000000, length: 307
+
+ TU list at offset 0x2c contains 0 entries:
+
+ Address list at offset 0x2c contains 1 entries:
+ [ 0] 0x0000000000401166 <MAIN__>..0x00000000004013f0 <main+0x3a>, CU index: 0
+
+ Symbol table at offset 0x2c contains 1024 slots:
+ [ 61] symbol: small_stride, CUs: 0 (type:S)
+ [ 71] symbol: integer(kind=8), CUs: 0 (type:S)
+ [ 161] symbol: character(kind=1), CUs: 0 (type:S)
+ [ 397] symbol: unpleasant, CUs: 0 (var:S)
+ [ 489] symbol: main, CUs: 0 (func:G)
+ [ 827] symbol: integer(kind=4), CUs: 0 (type:S)
+ [ 858] symbol: c40pt, CUs: 0 (var:S)
+ [ 965] symbol: repro, CUs: 0 (func:S)
+ [1016] symbol: i, CUs: 0 (var:S)
+
+Shortcut table at offset 0x2040 contains 2 slots:
+Language of main: Fortran08
+Name of main: repro
+EOF
+
exit 0
diff --git a/tests/run-readelf-self.sh b/tests/run-readelf-self.sh
index f5984597..de528d5e 100755
--- a/tests/run-readelf-self.sh
+++ b/tests/run-readelf-self.sh
@@ -23,4 +23,4 @@ if test -n "$ELFUTILS_MEMORY_SANITIZER"; then
fi
# Just makes sure readelf doesn't crash
-testrun_on_self_quiet ${abs_top_builddir}/src/readelf -a -w
+testrun_on_self_quiet ${abs_top_builddir}/src/readelf -N -a -w
diff --git a/tests/run-srcfiles-self.sh b/tests/run-srcfiles-self.sh
new file mode 100755
index 00000000..0e64dd2b
--- /dev/null
+++ b/tests/run-srcfiles-self.sh
@@ -0,0 +1,48 @@
+#! /bin/sh
+# Copyright (C) 2023 Red Hat, Inc.
+# This file is part of elfutils.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# elfutils 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 <http://www.gnu.org/licenses/>.
+
+. $srcdir/test-subr.sh
+
+# Test different command line combinations on the srcfiles binary itself.
+ET_EXEC="${abs_top_builddir}/src/srcfiles"
+ET_PID=$$
+
+SRC_NAME="srcfiles.cxx"
+
+# Ensure the output contains the expected source file srcfiles.cxx
+testrun $ET_EXEC -e $ET_EXEC | grep $SRC_NAME > /dev/null
+
+for null_arg in --null ""; do
+ for verbose_arg in --verbose ""; do
+ testrun $ET_EXEC $null_arg $verbose_arg -p $ET_PID > /dev/null
+
+ # Ensure that the output contains srclines.cxx
+ cu_only=$(testrun $ET_EXEC $null_arg $verbose_arg -c -e $ET_EXEC)
+ default=$(testrun $ET_EXEC $null_arg $verbose_arg -e $ET_EXEC)
+ result1=$(echo "$cu_only" | grep "$SRC_NAME")
+ result2=$(echo "$default" | grep "$SRC_NAME")
+
+ if [ -z "$result1" ] || [ -z "$result2" ]; then
+ exit 1
+ fi
+
+ # Ensure that the output with the cu-only option contains less source files
+ if [ $(echo "$cu_only" | wc -m) -gt $(echo "$default" | wc -m) ]; then
+ exit 1
+ fi
+ done
+done
diff --git a/tests/run-strip-reloc-ko.sh b/tests/run-strip-reloc-ko.sh
new file mode 100755
index 00000000..55fa74db
--- /dev/null
+++ b/tests/run-strip-reloc-ko.sh
@@ -0,0 +1,51 @@
+#! /bin/sh
+
+. $srcdir/strip-reloc-subr.sh
+
+testfiles hello_i386.ko hello_x86_64.ko hello_ppc64.ko hello_s390.ko \
+ hello_aarch64.ko hello_m68k.ko hello_riscv64.ko hello_csky.ko \
+ hello_arc_hs4.ko
+
+# Most simple hello world kernel module for various architectures.
+# Make sure that it contains debuginfo with CONFIG_DEBUG_INFO=y.
+# ::::::::::::::
+# Makefile
+# ::::::::::::::
+# obj-m := hello.o
+# hello-y := init.o exit.o
+#
+# all:
+# make -C /lib/modules/$(shell uname -r)/build M=$(PWD) \
+# CONFIG_DEBUG_INFO=y modules
+# ::::::::::::::
+# init.c
+# ::::::::::::::
+# #include <linux/kernel.h>
+# #include <linux/module.h>
+#
+# int init_module(void)
+# {
+# printk(KERN_INFO "Hello, world!\n");
+# return 0;
+# }
+# ::::::::::::::
+# exit.c
+# ::::::::::::::
+# #include <linux/kernel.h>
+# #include <linux/module.h>
+#
+# void cleanup_module()
+# {
+# printk(KERN_INFO "Goodbye, World!\n");
+# }
+runtest hello_i386.ko 1
+runtest hello_x86_64.ko 1
+runtest hello_ppc64.ko 1
+runtest hello_s390.ko 1
+runtest hello_aarch64.ko 1
+runtest hello_m68k.ko 1
+runtest hello_riscv64.ko 1
+runtest hello_csky.ko 1
+runtest hello_arc_hs4.ko 1
+
+exit $runtest_status
diff --git a/tests/run-strip-reloc-ppc64.sh b/tests/run-strip-reloc-ppc64.sh
new file mode 100755
index 00000000..239c34d9
--- /dev/null
+++ b/tests/run-strip-reloc-ppc64.sh
@@ -0,0 +1,15 @@
+#! /bin/sh
+
+. $srcdir/strip-reloc-subr.sh
+
+# See run-readelf-zdebug-rel.sh
+testfiles testfile-debug-rel-ppc64.o
+runtest testfile-debug-rel-ppc64.o 1
+
+testfiles testfile-debug-rel-ppc64-z.o
+runtest testfile-debug-rel-ppc64-z.o 1
+
+testfiles testfile-debug-rel-ppc64-g.o
+runtest testfile-debug-rel-ppc64-g.o 1
+
+exit $runtest_status
diff --git a/tests/run-strip-reloc-self.sh b/tests/run-strip-reloc-self.sh
new file mode 100755
index 00000000..68ed4cc2
--- /dev/null
+++ b/tests/run-strip-reloc-self.sh
@@ -0,0 +1,20 @@
+#! /bin/sh
+
+. $srcdir/strip-reloc-subr.sh
+
+# self test, shouldn't impact non-ET_REL files at all.
+runtest ${abs_top_builddir}/src/strip 0
+runtest ${abs_top_builddir}/src/strip.o 1
+
+# Copy ET_REL file for self-test and make sure to run with/without
+# elf section compression.
+tempfiles strip-uncompressed.o strip-compressed.o
+testrun ${abs_top_builddir}/src/elfcompress -o strip-uncompressed.o -t none \
+ ${abs_top_builddir}/src/strip.o
+testrun ${abs_top_builddir}/src/elfcompress -o strip-compressed.o -t zlib \
+ --force ${abs_top_builddir}/src/strip.o
+
+runtest strip-uncompressed.o 1
+runtest strip-compressed.o 1
+
+exit $runtest_status
diff --git a/tests/run-strip-reloc.sh b/tests/run-strip-reloc.sh
deleted file mode 100755
index 02e626af..00000000
--- a/tests/run-strip-reloc.sh
+++ /dev/null
@@ -1,156 +0,0 @@
-#! /bin/sh
-# Copyright (C) 2011, 2013 Red Hat, Inc.
-# This file is part of elfutils.
-#
-# This file is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 3 of the License, or
-# (at your option) any later version.
-#
-# elfutils 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 <http://www.gnu.org/licenses/>.
-
-. $srcdir/test-subr.sh
-
-if test -n "$ELFUTILS_MEMORY_SANITIZER"; then
- echo "binaries linked with memory sanitizer are too big"
- exit 77
-fi
-
-testfiles hello_i386.ko hello_x86_64.ko hello_ppc64.ko hello_s390.ko \
- hello_aarch64.ko hello_m68k.ko hello_riscv64.ko hello_csky.ko \
- hello_arc_hs4.ko
-
-tempfiles readelf.out readelf.out1 readelf.out2
-tempfiles out.stripped1 out.debug1 out.stripped2 out.debug2
-
-status=0
-runtest() {
- infile=$1
- is_ET_REL=$2
- outfile1=out.stripped1
- debugfile1=out.debug1
- outfile2=out.stripped2
- debugfile2=out.debug2
-
- echo "runtest $infile"
-
- rm -f $outfile1 $debugfile1 $outfile2 $debugfile2
-
- testrun ${abs_top_builddir}/src/strip -o $outfile1 -f $debugfile1 $infile ||
- { echo "*** failure strip $infile"; status=1; }
-
- testrun ${abs_top_builddir}/src/strip --reloc-debug-sections -o $outfile2 \
- -f $debugfile2 $infile ||
- { echo "*** failure strip --reloc-debug-sections $infile"; status=1; }
-
- # shouldn't make any difference for stripped files.
- testrun ${abs_top_builddir}/src/readelf -a $outfile1 > readelf.out ||
- { echo "*** failure readelf -a outfile1 $infile"; status=1; }
-
- testrun_compare ${abs_top_builddir}/src/readelf -a $outfile2 < readelf.out ||
- { echo "*** failure compare stripped files $infile"; status=1; }
-
- # debug files however should be smaller, when ET_REL.
- SIZE1=$(stat -c%s $debugfile1)
- SIZE2=$(stat -c%s $debugfile2)
- test \( \( $is_ET_REL -eq 1 \) -a \( $SIZE1 -gt $SIZE2 \) \) \
- -o \( \( $is_ET_REL -eq 0 \) -a \( $SIZE1 -eq $SIZE2 \) \) ||
- { echo "*** failure --reloc-debug-sections not smaller $infile"; status=1; }
-
- # Strip of DWARF section lines, offset will not match.
- # Everything else should match.
- testrun ${abs_top_builddir}/src/readelf -w $debugfile1 \
- | grep -v ^DWARF\ section > readelf.out1 ||
- { echo "*** failure readelf -w debugfile1 $infile"; status=1; }
-
- testrun ${abs_top_builddir}/src/readelf -w $debugfile2 \
- | grep -v ^DWARF\ section > readelf.out2 ||
- { echo "*** failure readelf -w debugfile2 $infile"; status=1; }
-
- testrun_compare cat readelf.out1 < readelf.out2 ||
- { echo "*** failure readelf -w compare $infile"; status=1; }
-
- testrun ${abs_top_builddir}/src/strip --reloc-debug-sections-only \
- $debugfile1 ||
- { echo "*** failure strip --reloc-debug-sections-only $debugfile1"; \
- status=1; }
-
- cmp $debugfile1 $debugfile2 ||
- { echo "*** failure --reloc-debug-sections[-only] $debugfile1 $debugfile2"; \
- status=1; }
-}
-
-# Most simple hello world kernel module for various architectures.
-# Make sure that it contains debuginfo with CONFIG_DEBUG_INFO=y.
-# ::::::::::::::
-# Makefile
-# ::::::::::::::
-# obj-m := hello.o
-# hello-y := init.o exit.o
-#
-# all:
-# make -C /lib/modules/$(shell uname -r)/build M=$(PWD) \
-# CONFIG_DEBUG_INFO=y modules
-# ::::::::::::::
-# init.c
-# ::::::::::::::
-# #include <linux/kernel.h>
-# #include <linux/module.h>
-#
-# int init_module(void)
-# {
-# printk(KERN_INFO "Hello, world!\n");
-# return 0;
-# }
-# ::::::::::::::
-# exit.c
-# ::::::::::::::
-# #include <linux/kernel.h>
-# #include <linux/module.h>
-#
-# void cleanup_module()
-# {
-# printk(KERN_INFO "Goodbye, World!\n");
-# }
-runtest hello_i386.ko 1
-runtest hello_x86_64.ko 1
-runtest hello_ppc64.ko 1
-runtest hello_s390.ko 1
-runtest hello_aarch64.ko 1
-runtest hello_m68k.ko 1
-runtest hello_riscv64.ko 1
-runtest hello_csky.ko 1
-runtest hello_arc_hs4.ko 1
-
-# self test, shouldn't impact non-ET_REL files at all.
-runtest ${abs_top_builddir}/src/strip 0
-runtest ${abs_top_builddir}/src/strip.o 1
-
-# Copy ET_REL file for self-test and make sure to run with/without
-# elf section compression.
-tempfiles strip-uncompressed.o strip-compressed.o
-testrun ${abs_top_builddir}/src/elfcompress -o strip-uncompressed.o -t none \
- ${abs_top_builddir}/src/strip.o
-testrun ${abs_top_builddir}/src/elfcompress -o strip-compressed.o -t zlib \
- --force ${abs_top_builddir}/src/strip.o
-
-runtest strip-uncompressed.o 1
-runtest strip-compressed.o 1
-
-# See run-readelf-zdebug-rel.sh
-testfiles testfile-debug-rel-ppc64.o
-runtest testfile-debug-rel-ppc64.o 1
-
-testfiles testfile-debug-rel-ppc64-z.o
-runtest testfile-debug-rel-ppc64-z.o 1
-
-testfiles testfile-debug-rel-ppc64-g.o
-runtest testfile-debug-rel-ppc64-g.o 1
-
-exit $status
diff --git a/tests/run-varlocs.sh b/tests/run-varlocs.sh
index b2621776..cbbcf6c7 100755
--- a/tests/run-varlocs.sh
+++ b/tests/run-varlocs.sh
@@ -206,7 +206,7 @@ testfiles testfilesplitranges5.debug
testfiles testfile-ranges-hello5.dwo testfile-ranges-world5.dwo
testrun_compare ${abs_top_builddir}/tests/varlocs --debug -e testfilesplitranges5.debug <<\EOF
module 'testfilesplitranges5.debug'
-[14] CU 'hello.c'
+[14] CU 'hello.c'@0
[1d] function 'no_say'@401160
frame_base: {call_frame_cfa {...}}
[33] parameter 'prefix'
@@ -236,7 +236,7 @@ module 'testfilesplitranges5.debug'
[111] parameter 'count'
[401150,401160) {reg4}
module 'testfilesplitranges5.debug'
-[14] CU 'world.c'
+[14] CU 'world.c'@401180
[1d] function 'no_main'@4011d0
frame_base: {call_frame_cfa {...}}
[35] parameter 'argc'
@@ -282,7 +282,7 @@ testfiles testfilesplitranges4.debug
testfiles testfile-ranges-hello.dwo testfile-ranges-world.dwo
testrun_compare ${abs_top_builddir}/tests/varlocs --debug -e testfilesplitranges4.debug <<\EOF
module 'testfilesplitranges4.debug'
-[b] CU 'hello.c'
+[b] CU 'hello.c'@0
[18] function 'no_say'@4004f0
frame_base: {call_frame_cfa {...}}
[2f] parameter 'prefix'
@@ -310,7 +310,7 @@ module 'testfilesplitranges4.debug'
[102] parameter 'count'
[4004e0,4004f0) {reg4}
module 'testfilesplitranges4.debug'
-[b] CU 'world.c'
+[b] CU 'world.c'@400500
[18] function 'no_main'@400550
frame_base: {call_frame_cfa {...}}
[2f] parameter 'argc'
@@ -373,7 +373,7 @@ EOF
testfiles testfile-addrx_constx-5 addrx_constx-5.dwo
testrun_compare ${abs_top_builddir}/tests/varlocs --exprlocs -e testfile-addrx_constx-5 <<\EOF
module 'testfile-addrx_constx-5'
-[14] CU 'addrx_constx.c'
+[14] CU 'addrx_constx.c'@0
producer (strx)
language (data1)
name (strx)
@@ -467,7 +467,7 @@ EOF
testfiles testfile-addrx_constx-4 addrx_constx-4.dwo
testrun_compare ${abs_top_builddir}/tests/varlocs --exprlocs -e testfile-addrx_constx-4 <<\EOF
module 'testfile-addrx_constx-4'
-[b] CU 'addrx_constx.c'
+[b] CU 'addrx_constx.c'@0
producer (GNU_str_index)
language (data1)
name (GNU_str_index)
@@ -565,7 +565,7 @@ testfiles splitdwarf4-not-split4.dwo
testrun_compare ${abs_top_builddir}/tests/varlocs --debug -e testfile-splitdwarf4-not-split4.debug <<\EOF
module 'testfile-splitdwarf4-not-split4.debug'
-[b] CU 'splitdwarf4-not-split4.c'
+[b] CU 'splitdwarf4-not-split4.c'@0
[18] function 'main'@401050
frame_base: {call_frame_cfa {...}}
[30] parameter 'argc'
diff --git a/tests/strip-reloc-subr.sh b/tests/strip-reloc-subr.sh
new file mode 100755
index 00000000..c4d55ced
--- /dev/null
+++ b/tests/strip-reloc-subr.sh
@@ -0,0 +1,79 @@
+#! /bin/sh
+# Copyright (C) 2011, 2013 Red Hat, Inc.
+# This file is part of elfutils.
+#
+# This file is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3 of the License, or
+# (at your option) any later version.
+#
+# elfutils 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 <http://www.gnu.org/licenses/>.
+
+. $srcdir/test-subr.sh
+
+if test -n "$ELFUTILS_MEMORY_SANITIZER"; then
+ echo "binaries linked with memory sanitizer are too big"
+ exit 77
+fi
+
+tempfiles readelf.out1 readelf.out2
+tempfiles out.stripped1 out.debug1 out.stripped2 out.debug2
+
+runtest_status=0
+runtest() {
+ infile=$1
+ is_ET_REL=$2
+ outfile1=out.stripped1
+ debugfile1=out.debug1
+ outfile2=out.stripped2
+ debugfile2=out.debug2
+
+ echo "runtest $infile"
+
+ rm -f $outfile1 $debugfile1 $outfile2 $debugfile2
+
+ testrun ${abs_top_builddir}/src/strip -o $outfile1 -f $debugfile1 $infile ||
+ { echo "*** failure strip $infile"; runtest_status=1; }
+
+ testrun ${abs_top_builddir}/src/strip --reloc-debug-sections -o $outfile2 \
+ -f $debugfile2 $infile ||
+ { echo "*** failure strip --reloc-debug-sections $infile"; runtest_status=1; }
+
+ testrun ${abs_top_builddir}/src/elfcmp $outfile1 $outfile2 ||
+ { echo "*** failure compare stripped files $infile"; runtest_status=1; }
+
+ # debug files however should be smaller, when ET_REL.
+ SIZE1=$(stat -c%s $debugfile1)
+ SIZE2=$(stat -c%s $debugfile2)
+ test \( \( $is_ET_REL -eq 1 \) -a \( $SIZE1 -gt $SIZE2 \) \) \
+ -o \( \( $is_ET_REL -eq 0 \) -a \( $SIZE1 -eq $SIZE2 \) \) ||
+ { echo "*** failure --reloc-debug-sections not smaller $infile"; runtest_status=1; }
+
+ # Strip of DWARF section lines, offset will not match.
+ # Everything else should match.
+ testrun ${abs_top_builddir}/src/readelf -N -w $debugfile1 \
+ | grep -v ^DWARF\ section > readelf.out1 ||
+ { echo "*** failure readelf -N -w debugfile1 $infile"; runtest_status=1; }
+
+ testrun ${abs_top_builddir}/src/readelf -N -w $debugfile2 \
+ | grep -v ^DWARF\ section > readelf.out2 ||
+ { echo "*** failure readelf -N -w debugfile2 $infile"; runtest_status=1; }
+
+ testrun_compare cat readelf.out1 < readelf.out2 ||
+ { echo "*** failure readelf -N -w compare $infile"; runtest_status=1; }
+
+ testrun ${abs_top_builddir}/src/strip --reloc-debug-sections-only \
+ $debugfile1 ||
+ { echo "*** failure strip --reloc-debug-sections-only $debugfile1"; \
+ runtest_status=1; }
+
+ cmp $debugfile1 $debugfile2 ||
+ { echo "*** failure --reloc-debug-sections[-only] $debugfile1 $debugfile2"; \
+ runtest_status=1; }
+}
diff --git a/tests/system-elf-gelf-test.c b/tests/system-elf-gelf-test.c
new file mode 100644
index 00000000..5a0e4e76
--- /dev/null
+++ b/tests/system-elf-gelf-test.c
@@ -0,0 +1,36 @@
+/* Explicit test compiling with system elf.h header plus libelf/gelf headers.
+
+ Copyright (C) Mark J. Wielaard <mark@klomp.org>
+ This file is part of elfutils.
+
+ This file is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 3 of the License, or
+ (at your option) any later version.
+
+ elfutils 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 <http://www.gnu.org/licenses/>. */
+
+#include <elf.h>
+#include <stddef.h>
+#include "../libelf/libelf.h"
+#include "../libelf/gelf.h"
+
+int
+main (void)
+{
+ /* Trivial test, this is really a compile test anyway. */
+ if (elf_version (EV_CURRENT) == EV_NONE)
+ return -1;
+
+ /* This will obviously fail. It is just to check that gelf_getclass
+ available (both at compile time and runtime). */
+ int cls = gelf_getclass (NULL);
+
+ return cls == ELFCLASSNONE ? 0 : -1;
+}
diff --git a/tests/run-copymany-sections.sh b/tests/test-copymany-subr.sh
index 84c052c9..054103b4 100755
--- a/tests/run-copymany-sections.sh
+++ b/tests/test-copymany-subr.sh
@@ -35,12 +35,13 @@ test_copy_and_add ()
testrun ${abs_top_builddir}/src/elfcmp ${in_file} ${out_file}
# Can we add a section (in-place)?
- testrun ${abs_builddir}/addsections 65535 ${out_file}
+ testrun ${abs_builddir}/addsections 32768 ${out_file}
testrun ${abs_top_builddir}/src/readelf -S ${out_file} > readelf.out
nr=$(grep '.extra' readelf.out | wc -l)
# We try twice...
- if test ${nr} != 65535 -a ${nr} != 131070; then
+ if test ${nr} != 32768 -a ${nr} != 65536; then
# Show what went wrong
+ echo nr: ${nr}
testrun ${abs_top_builddir}/src/readelf -S ${out_file}
exit 1
fi
@@ -54,46 +55,8 @@ test_copy_and_add ()
# A collection of random testfiles to test 32/64bit, little/big endian
# and non-ET_REL (with phdrs)/ET_REL (without phdrs).
-# Try to add 0xffff sections twice.
+# Try to add 0x0fff sections twice.
-# 32bit, big endian, rel
-testfiles testfile29
-test_copy_and_add testfile29
-test_copy_and_add testfile29.copy
-
-# 64bit, big endian, rel
-testfiles testfile23
-test_copy_and_add testfile23
-test_copy_and_add testfile23.copy
-
-# 32bit, little endian, rel
-testfiles testfile9
-test_copy_and_add testfile9
-test_copy_and_add testfile9.copy
-
-# 64bit, little endian, rel
-testfiles testfile38
-test_copy_and_add testfile38
-test_copy_and_add testfile38.copy
-
-# 32bit, big endian, non-rel
-testfiles testfile26
-test_copy_and_add testfile26
-test_copy_and_add testfile26.copy
-
-# 64bit, big endian, non-rel
-testfiles testfile27
-test_copy_and_add testfile27
-test_copy_and_add testfile27.copy
-
-# 32bit, little endian, non-rel
-testfiles testfile
-test_copy_and_add testfile
-test_copy_and_add testfile.copy
-
-# 64bit, little endian, non-rel
-testfiles testfile10
-test_copy_and_add testfile10
-test_copy_and_add testfile10.copy
-
-exit 0
+# Separated out into subtests
+# run-copymany-be32.sh run-copymany-be64.sh
+# run-copymany-le32.sh run-copymany-le64.sh
diff --git a/tests/testfilegdbindex9-no-maininfo.bz2 b/tests/testfilegdbindex9-no-maininfo.bz2
new file mode 100755
index 00000000..043b8d38
--- /dev/null
+++ b/tests/testfilegdbindex9-no-maininfo.bz2
Binary files differ
diff --git a/tests/testfilegdbindex9.bz2 b/tests/testfilegdbindex9.bz2
new file mode 100755
index 00000000..9a2c1893
--- /dev/null
+++ b/tests/testfilegdbindex9.bz2
Binary files differ
diff --git a/version.h b/version.h
index 5d86cd9f..f3e0b00b 100644
--- a/version.h
+++ b/version.h
@@ -30,7 +30,7 @@
#ifndef _ELFUTILS_VERSION_H
#define _ELFUTILS_VERSION_H 1
-#define _ELFUTILS_VERSION 189
+#define _ELFUTILS_VERSION 190
#define _ELFUTILS_PREREQ(major, minor) \
(_ELFUTILS_VERSION >= ((major) * 1000 + (minor)))