summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMark Wielaard <mark@klomp.org>2019-01-11 13:39:27 +0100
committerMark Wielaard <mark@klomp.org>2019-01-11 13:39:27 +0100
commitb244a241a82c28f7fef33f37d82bc47631ceca4e (patch)
tree8b83c72f0a99dca6624f0903e8c3ee1eb26ad900
parent029c76f0d4b06584e370b5fc0112712ba99a6219 (diff)
parent4ea9a2db164caadf836a65d5cdffb09a2d5a37ce (diff)
Merge tag 'elfutils-0.175' into mjw/RH-DTSdts-0.175
elfutils 0.175 release
-rw-r--r--NEWS18
-rw-r--r--backends/ChangeLog30
-rw-r--r--backends/aarch64_symbol.c3
-rw-r--r--backends/alpha_symbol.c3
-rw-r--r--backends/arm_symbol.c3
-rw-r--r--backends/bpf_symbol.c3
-rw-r--r--backends/i386_symbol.c3
-rw-r--r--backends/ia64_symbol.c3
-rw-r--r--backends/m68k_symbol.c3
-rw-r--r--backends/ppc64_symbol.c3
-rw-r--r--backends/ppc_initreg.c8
-rw-r--r--backends/ppc_symbol.c3
-rw-r--r--backends/riscv_symbol.c26
-rw-r--r--backends/s390_symbol.c3
-rw-r--r--backends/sh_symbol.c3
-rw-r--r--backends/sparc_symbol.c3
-rw-r--r--backends/tilegx_symbol.c3
-rw-r--r--backends/x86_64_init.c3
-rw-r--r--backends/x86_64_symbol.c17
-rw-r--r--config/elfutils.spec.in14
-rwxr-xr-xconfig/upload-release.sh38
-rw-r--r--configure.ac2
-rw-r--r--lib/ChangeLog4
-rw-r--r--lib/bpf.h4
-rw-r--r--libasm/ChangeLog4
-rw-r--r--libasm/disasm_cb.c2
-rw-r--r--libcpu/ChangeLog5
-rw-r--r--libcpu/bpf_disasm.c26
-rw-r--r--libdw/ChangeLog8
-rw-r--r--libdw/dwarf_getcfi_elf.c2
-rw-r--r--libdw/libdw.map5
-rw-r--r--libdwelf/ChangeLog13
-rw-r--r--libdwelf/Makefile.am2
-rw-r--r--libdwelf/dwelf_elf_begin.c62
-rw-r--r--libdwelf/dwelf_elf_gnu_build_id.c4
-rw-r--r--libdwelf/libdwelf.h10
-rw-r--r--libdwfl/ChangeLog33
-rw-r--r--libdwfl/core-file.c4
-rw-r--r--libdwfl/dwfl_module_getdwarf.c2
-rw-r--r--libdwfl/dwfl_segment_report_module.c49
-rw-r--r--libdwfl/libdwflP.h4
-rw-r--r--libdwfl/linux-core-attach.c4
-rw-r--r--libdwfl/linux-kernel-modules.c35
-rw-r--r--libdwfl/open.c30
-rw-r--r--libdwfl/relocate.c21
-rw-r--r--libebl/ChangeLog35
-rw-r--r--libebl/ebl-hooks.h2
-rw-r--r--libebl/eblobjnote.c346
-rw-r--r--libebl/eblobjnotetypename.c32
-rw-r--r--libebl/eblopenbackend.c5
-rw-r--r--libebl/eblrelocsimpletype.c4
-rw-r--r--libebl/libebl.h14
-rw-r--r--libelf/ChangeLog60
-rw-r--r--libelf/elf-knowledge.h21
-rw-r--r--libelf/elf32_xlatetom.c2
-rw-r--r--libelf/elf_compress.c13
-rw-r--r--libelf/elf_compress_gnu.c9
-rw-r--r--libelf/elf_getdata.c32
-rw-r--r--libelf/gelf_fsize.c2
-rw-r--r--libelf/gelf_getnote.c47
-rw-r--r--libelf/gelf_xlate.c3
-rw-r--r--libelf/libelf.h2
-rw-r--r--libelf/libelfP.h16
-rw-r--r--libelf/note_xlate.h52
-rw-r--r--po/de.po1162
-rw-r--r--po/es.po1169
-rw-r--r--po/ja.po1166
-rw-r--r--po/pl.po1172
-rw-r--r--po/uk.po1175
-rw-r--r--src/ChangeLog149
-rw-r--r--src/addr2line.c6
-rw-r--r--src/ar.c10
-rw-r--r--src/arlib.c3
-rw-r--r--src/elflint.c50
-rw-r--r--src/findtextrel.c23
-rw-r--r--src/readelf.c153
-rw-r--r--src/size.c6
-rw-r--r--src/strip.c874
-rw-r--r--src/unstrip.c102
-rw-r--r--tests/ChangeLog71
-rw-r--r--tests/Makefile.am11
-rw-r--r--tests/backtrace-dwarf.c38
-rwxr-xr-xtests/run-annobingroup.sh33
-rwxr-xr-xtests/run-readelf-compressed.sh34
-rwxr-xr-xtests/run-readelf-macro.sh4
-rwxr-xr-xtests/run-readelf-macros.sh435
-rwxr-xr-xtests/run-readelf-n.sh127
-rwxr-xr-xtests/run-readelf-zdebug-rel.sh106
-rwxr-xr-xtests/run-readelf-zdebug.sh2
-rwxr-xr-xtests/run-strip-reloc.sh21
-rw-r--r--tests/testfile-annobingroup-x86_64.o.bz2bin0 -> 1437 bytes
-rw-r--r--tests/testfile-bpf-dis1.expect.bz2bin1467 -> 1516 bytes
-rw-r--r--tests/testfile-debug-rel-ppc64-g.o.bz2bin0 -> 1400 bytes
-rw-r--r--tests/testfile-debug-rel-ppc64-z.o.bz2bin0 -> 1420 bytes
-rw-r--r--tests/testfile-debug-rel-ppc64.o.bz2bin0 -> 1103 bytes
-rwxr-xr-xtests/testfile-gnu-property-note.bz2bin0 -> 1146 bytes
-rw-r--r--tests/testfile-gnu-property-note.o.bz2bin0 -> 482 bytes
-rw-r--r--tests/testfile-macros-object.o.bz2bin0 -> 5718 bytes
98 files changed, 6019 insertions, 3308 deletions
diff --git a/NEWS b/NEWS
index 0b7994e2..95fbac02 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,21 @@
+Version 0.175
+
+readelf: Handle mutliple .debug_macro sections.
+ Recognize and parse GNU Property notes, NT_VERSION notes
+ and GNU Build Attribute ELF Notes.
+
+strip: Handle SHT_GROUP correctly.
+ Add strip --reloc-debug-sections-only option.
+ Handle relocations against GNU compressed sections.
+
+libdwelf: New function dwelf_elf_begin.
+
+libcpu: Recognize bpf jump variants BPF_JLT, BPF_JLE, BPF_JSLT and BPF_JSLE.
+
+backends: RISCV handles ADD/SUB relocations. Handle SHT_X86_64_UNWIND.
+
+Fixes CVE-2018-18310, CVE-2018-18520 and CVE-2018-18521.
+
Version 0.174
libelf, libdw and all tools now handle extended shnum and shstrndx correctly.
diff --git a/backends/ChangeLog b/backends/ChangeLog
index fdff3021..e2a02812 100644
--- a/backends/ChangeLog
+++ b/backends/ChangeLog
@@ -1,3 +1,33 @@
+2018-11-06 Mark Wielaard <mark@klomp.org>
+
+ * x86_64_symbol.c (x86_64_section_type_name): New function.
+ * x86_64_init.c (x86_64_int): Hook section_type_name.
+
+2018-10-20 Mark Wielaard <mark@klomp.org>
+
+ * ppc_initreg.c (ppc_set_initial_registers_tid): Use define instead of
+ const for size of dwarf_regs array.
+
+2018-10-02 Andreas Schwab <schwab@suse.de>
+
+ * riscv_symbol.c (riscv_reloc_simple_type): Add parameter addsub.
+ Set it for ADD and SUB relocations.
+ * aarch64_symbol.c (aarch64_reloc_simple_type): Add and ignore
+ third parameter.
+ * alpha_symbol.c (alpha_reloc_simple_type): Likewise.
+ * arm_symbol.c (arm_reloc_simple_type): Likewise.
+ * bpf_symbol.c (bpf_reloc_simple_type): Likewise.
+ * i386_symbol.c (i386_reloc_simple_type): Likewise.
+ * ia64_symbol.c (ia64_reloc_simple_type): Likewise.
+ * m68k_symbol.c (m68k_reloc_simple_type): Likewise.
+ * ppc64_symbol.c (ppc64_reloc_simple_type): Likewise.
+ * ppc_symbol.c (ppc_reloc_simple_type): Likewise.
+ * s390_symbol.c (s390_reloc_simple_type): Likewise.
+ * sh_symbol.c (sh_reloc_simple_type): Likewise.
+ * sparc_symbol.c (sparc_reloc_simple_type): Likewise.
+ * tilegx_symbol.c (tilegx_reloc_simple_type): Likewise.
+ * x86_64_symbol.c (x86_64_reloc_simple_type): Likewise.
+
2018-09-12 Mark Wielaard <mark@klomp.org>
* ppc64_init.c (ppc64_init): Use elf_getshdrstrndx.
diff --git a/backends/aarch64_symbol.c b/backends/aarch64_symbol.c
index dfd755a5..e30c409d 100644
--- a/backends/aarch64_symbol.c
+++ b/backends/aarch64_symbol.c
@@ -40,7 +40,8 @@
/* Check for the simple reloc types. */
Elf_Type
-aarch64_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
+aarch64_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
+ int *addsub __attribute__ ((unused)))
{
switch (type)
{
diff --git a/backends/alpha_symbol.c b/backends/alpha_symbol.c
index b7f7c17a..53a9e7b7 100644
--- a/backends/alpha_symbol.c
+++ b/backends/alpha_symbol.c
@@ -61,7 +61,8 @@ alpha_dynamic_tag_check (int64_t tag)
/* Check for the simple reloc types. */
Elf_Type
-alpha_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
+alpha_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
+ int *addsub __attribute__ ((unused)))
{
switch (type)
{
diff --git a/backends/arm_symbol.c b/backends/arm_symbol.c
index 3edda724..c8e1d7f9 100644
--- a/backends/arm_symbol.c
+++ b/backends/arm_symbol.c
@@ -109,7 +109,8 @@ arm_machine_flag_check (GElf_Word flags)
/* Check for the simple reloc types. */
Elf_Type
-arm_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
+arm_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
+ int *addsub __attribute__ ((unused)))
{
switch (type)
{
diff --git a/backends/bpf_symbol.c b/backends/bpf_symbol.c
index c9856f26..85c948ab 100644
--- a/backends/bpf_symbol.c
+++ b/backends/bpf_symbol.c
@@ -40,7 +40,8 @@
/* Check for the simple reloc types. */
Elf_Type
-bpf_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
+bpf_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
+ int *addsub __attribute__ ((unused)))
{
switch (type)
{
diff --git a/backends/i386_symbol.c b/backends/i386_symbol.c
index 7dbf899f..a4b6ec08 100644
--- a/backends/i386_symbol.c
+++ b/backends/i386_symbol.c
@@ -49,7 +49,8 @@ i386_gotpc_reloc_check (Elf *elf __attribute__ ((unused)), int type)
/* Check for the simple reloc types. */
Elf_Type
-i386_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
+i386_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
+ int *addsub __attribute__ ((unused)))
{
switch (type)
{
diff --git a/backends/ia64_symbol.c b/backends/ia64_symbol.c
index f928b0b7..0c038f0d 100644
--- a/backends/ia64_symbol.c
+++ b/backends/ia64_symbol.c
@@ -115,7 +115,8 @@ ia64_section_type_name (int type,
/* Check for the simple reloc types. */
Elf_Type
-ia64_reloc_simple_type (Ebl *ebl, int type)
+ia64_reloc_simple_type (Ebl *ebl, int type,
+ int *addsub __attribute__ ((unused)))
{
switch (type)
{
diff --git a/backends/m68k_symbol.c b/backends/m68k_symbol.c
index 269d12e5..9551cdfe 100644
--- a/backends/m68k_symbol.c
+++ b/backends/m68k_symbol.c
@@ -54,7 +54,8 @@ m68k_gotpc_reloc_check (Elf *elf __attribute__ ((unused)), int type)
/* Check for the simple reloc types. */
Elf_Type
-m68k_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
+m68k_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
+ int *addsub __attribute__ ((unused)))
{
switch (type)
{
diff --git a/backends/ppc64_symbol.c b/backends/ppc64_symbol.c
index 40ba4f74..81b94cfd 100644
--- a/backends/ppc64_symbol.c
+++ b/backends/ppc64_symbol.c
@@ -42,7 +42,8 @@
/* Check for the simple reloc types. */
Elf_Type
-ppc64_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
+ppc64_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
+ int *addsub __attribute__ ((unused)))
{
switch (type)
{
diff --git a/backends/ppc_initreg.c b/backends/ppc_initreg.c
index 3e4432f6..0e0d3599 100644
--- a/backends/ppc_initreg.c
+++ b/backends/ppc_initreg.c
@@ -93,11 +93,11 @@ ppc_set_initial_registers_tid (pid_t tid __attribute__ ((unused)),
if (errno != 0)
return false;
}
- const size_t gprs = sizeof (user_regs.r.gpr) / sizeof (*user_regs.r.gpr);
- Dwarf_Word dwarf_regs[gprs];
- for (unsigned gpr = 0; gpr < gprs; gpr++)
+#define GPRS (sizeof (user_regs.r.gpr) / sizeof (*user_regs.r.gpr))
+ Dwarf_Word dwarf_regs[GPRS];
+ for (unsigned gpr = 0; gpr < GPRS; gpr++)
dwarf_regs[gpr] = user_regs.r.gpr[gpr];
- if (! setfunc (0, gprs, dwarf_regs, arg))
+ if (! setfunc (0, GPRS, dwarf_regs, arg))
return false;
dwarf_regs[0] = user_regs.r.link;
// LR uses both 65 and 108 numbers, there is no consistency for it.
diff --git a/backends/ppc_symbol.c b/backends/ppc_symbol.c
index 35b14319..5a169d54 100644
--- a/backends/ppc_symbol.c
+++ b/backends/ppc_symbol.c
@@ -42,7 +42,8 @@
/* Check for the simple reloc types. */
Elf_Type
-ppc_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
+ppc_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
+ int *addsub __attribute__ ((unused)))
{
switch (type)
{
diff --git a/backends/riscv_symbol.c b/backends/riscv_symbol.c
index 866a2d7a..c34b7702 100644
--- a/backends/riscv_symbol.c
+++ b/backends/riscv_symbol.c
@@ -40,14 +40,38 @@
/* Check for the simple reloc types. */
Elf_Type
-riscv_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
+riscv_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
+ int *addsub)
{
switch (type)
{
+ case R_RISCV_SET8:
+ return ELF_T_BYTE;
+ case R_RISCV_SET16:
+ return ELF_T_HALF;
case R_RISCV_32:
+ case R_RISCV_SET32:
return ELF_T_WORD;
case R_RISCV_64:
return ELF_T_XWORD;
+ case R_RISCV_ADD16:
+ *addsub = 1;
+ return ELF_T_HALF;
+ case R_RISCV_SUB16:
+ *addsub = -1;
+ return ELF_T_HALF;
+ case R_RISCV_ADD32:
+ *addsub = 1;
+ return ELF_T_WORD;
+ case R_RISCV_SUB32:
+ *addsub = -1;
+ return ELF_T_WORD;
+ case R_RISCV_ADD64:
+ *addsub = 1;
+ return ELF_T_XWORD;
+ case R_RISCV_SUB64:
+ *addsub = -1;
+ return ELF_T_XWORD;
default:
return ELF_T_NUM;
}
diff --git a/backends/s390_symbol.c b/backends/s390_symbol.c
index a0a4fafa..f91e1373 100644
--- a/backends/s390_symbol.c
+++ b/backends/s390_symbol.c
@@ -38,7 +38,8 @@
/* Check for the simple reloc types. */
Elf_Type
-s390_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
+s390_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
+ int *addsub __attribute__ ((unused)))
{
switch (type)
{
diff --git a/backends/sh_symbol.c b/backends/sh_symbol.c
index 8101e96f..2761d92c 100644
--- a/backends/sh_symbol.c
+++ b/backends/sh_symbol.c
@@ -47,7 +47,8 @@ sh_gotpc_reloc_check (Elf *elf __attribute__ ((unused)), int type)
/* Check for the simple reloc types. */
Elf_Type
-sh_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
+sh_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
+ int *addsub __attribute__ ((unused)))
{
switch (type)
{
diff --git a/backends/sparc_symbol.c b/backends/sparc_symbol.c
index ec11dc97..e8ee3911 100644
--- a/backends/sparc_symbol.c
+++ b/backends/sparc_symbol.c
@@ -39,7 +39,8 @@
/* Check for the simple reloc types. */
Elf_Type
-sparc_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
+sparc_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
+ int *addsub __attribute__ ((unused)))
{
switch (type)
{
diff --git a/backends/tilegx_symbol.c b/backends/tilegx_symbol.c
index b6533266..62a46907 100644
--- a/backends/tilegx_symbol.c
+++ b/backends/tilegx_symbol.c
@@ -39,7 +39,8 @@
/* Check for the simple reloc types. */
Elf_Type
-tilegx_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
+tilegx_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
+ int *addsub __attribute__ ((unused)))
{
switch (type)
{
diff --git a/backends/x86_64_init.c b/backends/x86_64_init.c
index adfa4791..49f6c6c7 100644
--- a/backends/x86_64_init.c
+++ b/backends/x86_64_init.c
@@ -1,5 +1,5 @@
/* Initialization of x86-64 specific backend library.
- Copyright (C) 2002-2009, 2013 Red Hat, Inc.
+ Copyright (C) 2002-2009, 2013, 2018 Red Hat, Inc.
Copyright (C) H.J. Lu <hjl.tools@gmail.com>, 2015.
This file is part of elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -55,6 +55,7 @@ x86_64_init (Elf *elf __attribute__ ((unused)),
eh->name = "AMD x86-64";
x86_64_init_reloc (eh);
HOOK (eh, reloc_simple_type);
+ HOOK (eh, section_type_name);
if (eh->class == ELFCLASS32)
eh->core_note = x32_core_note;
else
diff --git a/backends/x86_64_symbol.c b/backends/x86_64_symbol.c
index 1622461d..98457bcb 100644
--- a/backends/x86_64_symbol.c
+++ b/backends/x86_64_symbol.c
@@ -1,5 +1,5 @@
/* x86_64 specific symbolic name handling.
- Copyright (C) 2002, 2005 Red Hat, Inc.
+ Copyright (C) 2002, 2005, 2018 Red Hat, Inc.
This file is part of elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -40,7 +40,8 @@
/* Check for the simple reloc types. */
Elf_Type
-x86_64_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
+x86_64_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type,
+ int *addsub __attribute__ ((unused)))
{
switch (type)
{
@@ -58,3 +59,15 @@ x86_64_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type)
return ELF_T_NUM;
}
}
+
+/* Return symbolic representation of section type. */
+const char *
+x86_64_section_type_name (int type,
+ char *buf __attribute__ ((unused)),
+ size_t len __attribute__ ((unused)))
+{
+ if (type == SHT_X86_64_UNWIND)
+ return "X86_64_UNWIND";
+
+ return NULL;
+}
diff --git a/config/elfutils.spec.in b/config/elfutils.spec.in
index 0f9687d4..e2fb0e4d 100644
--- a/config/elfutils.spec.in
+++ b/config/elfutils.spec.in
@@ -227,6 +227,20 @@ rm -rf ${RPM_BUILD_ROOT}
%{_sysctldir}/10-default-yama-scope.conf
%changelog
+* Wed Nov 14 2018 Mark Wielaard <mark@klomp.org> 0.175-1
+- readelf: Handle mutliple .debug_macro sections.
+ Recognize and parse GNU Property notes, NT_VERSION notes and
+ GNU Build Attribute ELF Notes.
+- strip: Handle SHT_GROUP correctly.
+ Add strip --reloc-debug-sections-only option.
+ Handle relocations against GNU compressed sections.
+- libdwelf: New function dwelf_elf_begin.
+- libcpu: Recognize bpf jump variants BPF_JLT, BPF_JLE, BPF_JSLT
+ and BPF_JSLE.
+- backends: RISCV handles ADD/SUB relocations.
+ Handle SHT_X86_64_UNWIND.
+- Fixes CVE-2018-18310, CVE-2018-18520 and CVE-2018-18521.
+
* Fri Sep 14 2018 Mark Wielaard <mark@klomp> 0.174-1
- libelf, libdw and all tools now handle extended shnum and shstrndx
correctly.
diff --git a/config/upload-release.sh b/config/upload-release.sh
index 320d1ada..a44d40c9 100755
--- a/config/upload-release.sh
+++ b/config/upload-release.sh
@@ -1,5 +1,10 @@
#!/bin/bash
+# Must be run in the source directory.
+# Should have passed make distcheck.
+# And all final changes should already have been pushed.
+# Backup copy will be created in $HOME/elfutils-$VERSION
+
# Any error is fatal
set -e
@@ -11,21 +16,44 @@ fi
VERSION="$1"
-# Check we are in the build dir already configured.
-ELFUTILS_VERSION=$(echo $VERSION | cut -f2 -d\.)
-grep $ELFUTILS_VERSION version.h \
- || (echo "Must be run in configured build dir for $VERSION"; exit -1)
+echo Make sure the git repo is tagged, signed and pushed
+echo git tag -s -m \"elfutils $VERSION release\" elfutils-$VERSION
+echo git push --tags
+
+# Create a temporary directoy and make sure it is cleaned up.
+tempdir=$(mktemp -d) || exit
+trap "rm -rf -- ${tempdir}" EXIT
+
+pushd "${tempdir}"
+
+# Checkout
+git clone git://sourceware.org/git/elfutils.git
+cd elfutils
+git checkout -b "$VERSION" "elfutils-${VERSION}"
+# Create dist
+autoreconf -v -f -i
+./configure --enable-maintainer-mode
make dist
+# Sign
mkdir $VERSION
cp elfutils-$VERSION.tar.bz2 $VERSION/
cd $VERSION/
gpg -b elfutils-$VERSION.tar.bz2
cd ..
-scp -r $VERSION sourceware.org:/sourceware/ftp/pub/elfutils/
+# Backup copy
+cp -r $VERSION $HOME/elfutils-$VERSION
+
+# Upload
+scp -r $VERSION sourceware.org:/sourceware/ftp/pub/elfutils/
ssh sourceware.org "(cd /sourceware/ftp/pub/elfutils \
&& ln -sf $VERSION/elfutils-$VERSION.tar.bz2 elfutils-latest.tar.bz2 \
&& ln -sf $VERSION/elfutils-$VERSION.tar.bz2.sig elfutils-latest.tar.bz2.sig \
&& ls -lah elfutils-latest*)"
+
+# Cleanup
+popd
+trap - EXIT
+exit
diff --git a/configure.ac b/configure.ac
index 9decd612..e2b271a4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,7 +17,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.174],[https://sourceware.org/bugzilla],[elfutils],[http://elfutils.org/])
+AC_INIT([elfutils],[0.175],[https://sourceware.org/bugzilla],[elfutils],[http://elfutils.org/])
dnl Workaround for older autoconf < 2.64
m4_ifndef([AC_PACKAGE_URL],
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 86a53d2c..0914b2c6 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,7 @@
+2018-11-04 Mark Wielaard <mark@klomp.org>
+
+ * bpf.h: Add BPF_JLT, BPF_JLE, BPF_JSLT and BPF_JSLE.
+
2018-07-04 Ross Burton <ross.burton@intel.com>
* color.c: Remove error.h, add system.h include.
diff --git a/lib/bpf.h b/lib/bpf.h
index db80a51e..efb26f8f 100644
--- a/lib/bpf.h
+++ b/lib/bpf.h
@@ -23,6 +23,10 @@
#define BPF_JSGE 0x70
#define BPF_CALL 0x80
#define BPF_EXIT 0x90
+#define BPF_JLT 0xa0
+#define BPF_JLE 0xb0
+#define BPF_JSLT 0xc0
+#define BPF_JSLE 0xd0
#define BPF_W 0x00
#define BPF_H 0x08
diff --git a/libasm/ChangeLog b/libasm/ChangeLog
index 2efd85fa..92dfd729 100644
--- a/libasm/ChangeLog
+++ b/libasm/ChangeLog
@@ -1,3 +1,7 @@
+2018-10-19 Mark Wielaard <mark@klomp.org>
+
+ * disasm_cb.c (read_symtab_exec): Check sh_entsize is not zero.
+
2018-07-04 Ross Burton <ross.burton@intel.com>
* asm_end.c: Remove error.h include.
diff --git a/libasm/disasm_cb.c b/libasm/disasm_cb.c
index cf278c71..80f8b25b 100644
--- a/libasm/disasm_cb.c
+++ b/libasm/disasm_cb.c
@@ -93,6 +93,8 @@ read_symtab_exec (DisasmCtx_t *ctx)
xndxdata = elf_getdata (elf_getscn (ctx->elf, xndxscnidx), NULL);
/* Iterate over all symbols. Add all defined symbols. */
+ if (shdr->sh_entsize == 0)
+ continue;
int nsyms = shdr->sh_size / shdr->sh_entsize;
for (int cnt = 1; cnt < nsyms; ++cnt)
{
diff --git a/libcpu/ChangeLog b/libcpu/ChangeLog
index 86d29478..adebbef8 100644
--- a/libcpu/ChangeLog
+++ b/libcpu/ChangeLog
@@ -1,3 +1,8 @@
+2018-11-04 Mark Wielaard <mark@klomp.org>
+
+ * bpf_disasm.c (bpf_disasm): Recognize BPF_JLT, BPF_JLE, BPF_JSLT
+ and BPF_JSLE.
+
2018-02-09 Joshua Watt <JPEWhacker@gmail.com>
* i386_disasm.c (i386_disasm): Use FALLTHOUGH macro instead of
diff --git a/libcpu/bpf_disasm.c b/libcpu/bpf_disasm.c
index 054aba2b..3d92d014 100644
--- a/libcpu/bpf_disasm.c
+++ b/libcpu/bpf_disasm.c
@@ -1,5 +1,5 @@
/* Disassembler for BPF.
- Copyright (C) 2016 Red Hat, Inc.
+ Copyright (C) 2016, 2018 Red Hat, Inc.
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
@@ -346,6 +346,18 @@ bpf_disasm (Ebl *ebl, const uint8_t **startp, const uint8_t *end,
case BPF_JMP | BPF_JSGE | BPF_K:
code_fmt = J64(REGS(1), >=, IMMS(2));
goto do_dst_imm_jmp;
+ case BPF_JMP | BPF_JLT | BPF_K:
+ code_fmt = J64(REG(1), <, IMMS(2));
+ goto do_dst_imm_jmp;
+ case BPF_JMP | BPF_JLE | BPF_K:
+ code_fmt = J64(REG(1), <=, IMMS(2));
+ goto do_dst_imm_jmp;
+ case BPF_JMP | BPF_JSLT | BPF_K:
+ code_fmt = J64(REGS(1), <, IMMS(2));
+ goto do_dst_imm_jmp;
+ case BPF_JMP | BPF_JSLE | BPF_K:
+ code_fmt = J64(REGS(1), <=, IMMS(2));
+ goto do_dst_imm_jmp;
case BPF_JMP | BPF_JEQ | BPF_X:
code_fmt = J64(REG(1), ==, REG(2));
@@ -368,6 +380,18 @@ bpf_disasm (Ebl *ebl, const uint8_t **startp, const uint8_t *end,
case BPF_JMP | BPF_JSGE | BPF_X:
code_fmt = J64(REGS(1), >=, REGS(2));
goto do_dst_src_jmp;
+ case BPF_JMP | BPF_JLT | BPF_X:
+ code_fmt = J64(REG(1), <, REG(2));
+ goto do_dst_src_jmp;
+ case BPF_JMP | BPF_JLE | BPF_X:
+ code_fmt = J64(REG(1), <=, REG(2));
+ goto do_dst_src_jmp;
+ case BPF_JMP | BPF_JSLT | BPF_X:
+ code_fmt = J64(REGS(1), <, REGS(2));
+ goto do_dst_src_jmp;
+ case BPF_JMP | BPF_JSLE | BPF_X:
+ code_fmt = J64(REGS(1), <=, REGS(2));
+ goto do_dst_src_jmp;
case BPF_LDX | BPF_MEM | BPF_B:
code_fmt = LOAD(u8);
diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index ebe002cd..7caa2234 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,3 +1,11 @@
+2018-10-20 Mark Wielaard <mark@klomp.org>
+
+ * libdw.map (ELFUTILS_0.175): New section. Add dwelf_elf_begin.
+
+2018-10-29 Milian Wolff <milian.wolff@kdab.com>
+
+ * dwarf_getcfi_elf.c (getcfi_shdr): Check sh_type != SHT_NOBITS.
+
2018-09-13 Mark Wielaard <mark@klomp.org>
* dwarf_begin_elf.c (check_section): Drop ehdr argument, add and
diff --git a/libdw/dwarf_getcfi_elf.c b/libdw/dwarf_getcfi_elf.c
index 315cc02f..adcaea03 100644
--- a/libdw/dwarf_getcfi_elf.c
+++ b/libdw/dwarf_getcfi_elf.c
@@ -298,7 +298,7 @@ getcfi_shdr (Elf *elf, const GElf_Ehdr *ehdr)
}
else if (!strcmp (name, ".eh_frame"))
{
- if (shdr->sh_type == SHT_PROGBITS)
+ if (shdr->sh_type != SHT_NOBITS)
return getcfi_scn_eh_frame (elf, ehdr, scn, shdr,
hdr_scn, hdr_vaddr);
else
diff --git a/libdw/libdw.map b/libdw/libdw.map
index 3fef2ede..55482d58 100644
--- a/libdw/libdw.map
+++ b/libdw/libdw.map
@@ -356,3 +356,8 @@ ELFUTILS_0.173 {
global:
dwarf_next_lines;
} ELFUTILS_0.171;
+
+ELFUTILS_0.175 {
+ global:
+ dwelf_elf_begin;
+} ELFUTILS_0.173; \ No newline at end of file
diff --git a/libdwelf/ChangeLog b/libdwelf/ChangeLog
index a3326556..88be3421 100644
--- a/libdwelf/ChangeLog
+++ b/libdwelf/ChangeLog
@@ -1,4 +1,15 @@
-2015-10-11 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
+2018-10-21 Mark Wielaard <mark@klomp.org>
+
+ * libdwelf.h (dwelf_elf_begin): Add function declaration.
+ * dwelf_elf_begin.c: New file.
+ * Makefile.am (libdwelf_a_SOURCES): Add dwelf_elf_begin.c.
+
+2018-10-18 Mark Wielaard <mark@klomp.org>
+
+ * dwelf_elf_gnu_build_id.c (find_elf_build_id): Check p_align to
+ set ELF type.
+
+2016-10-11 Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
* dwelf_strtab.c: Remove sys/param.h include.
(MIN): Remove definition.
diff --git a/libdwelf/Makefile.am b/libdwelf/Makefile.am
index b526b7cd..da418e6e 100644
--- a/libdwelf/Makefile.am
+++ b/libdwelf/Makefile.am
@@ -42,7 +42,7 @@ noinst_HEADERS = libdwelfP.h
libdwelf_a_CFLAGS = -fPIC -fvisibility=hidden $(AM_CFLAGS)
libdwelf_a_SOURCES = dwelf_elf_gnu_debuglink.c dwelf_dwarf_gnu_debugaltlink.c \
dwelf_elf_gnu_build_id.c dwelf_scn_gnu_compressed_size.c \
- dwelf_strtab.c
+ dwelf_strtab.c dwelf_elf_begin.c
libdwelf = $(libdw)
diff --git a/libdwelf/dwelf_elf_begin.c b/libdwelf/dwelf_elf_begin.c
new file mode 100644
index 00000000..79825338
--- /dev/null
+++ b/libdwelf/dwelf_elf_begin.c
@@ -0,0 +1,62 @@
+/* Creates an ELF handle from a possibly compressed file descriptor.
+ Copyright (C) 2018 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 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 "libdwelfP.h"
+#include "libdwflP.h"
+#include "libelfP.h"
+
+#include <unistd.h>
+
+Elf *
+dwelf_elf_begin (int fd)
+{
+ Elf *elf = NULL;
+ Dwfl_Error e = __libdw_open_elf (fd, &elf);
+ if (elf != NULL && elf_kind (elf) != ELF_K_NONE)
+ return elf;
+
+ /* Elf wasn't usable. Make sure there is a proper elf error message. */
+
+ if (elf != NULL)
+ elf_end (elf);
+
+ if (e != DWFL_E_LIBELF)
+ {
+ /* Force a bad ELF error. */
+ char badelf[EI_NIDENT] = { };
+ Elf *belf = elf_memory (badelf, EI_NIDENT);
+ elf32_getehdr (belf);
+ elf_end (belf);
+ }
+
+ return NULL;
+}
diff --git a/libdwelf/dwelf_elf_gnu_build_id.c b/libdwelf/dwelf_elf_gnu_build_id.c
index 8c78c700..dbcfc829 100644
--- a/libdwelf/dwelf_elf_gnu_build_id.c
+++ b/libdwelf/dwelf_elf_gnu_build_id.c
@@ -88,7 +88,9 @@ find_elf_build_id (Dwfl_Module *mod, int e_type, Elf *elf,
result = check_notes (elf_getdata_rawchunk (elf,
phdr->p_offset,
phdr->p_filesz,
- ELF_T_NHDR),
+ (phdr->p_align == 8
+ ? ELF_T_NHDR8
+ : ELF_T_NHDR)),
phdr->p_vaddr,
build_id_bits,
build_id_elfaddr,
diff --git a/libdwelf/libdwelf.h b/libdwelf/libdwelf.h
index 72089dbf..6d491847 100644
--- a/libdwelf/libdwelf.h
+++ b/libdwelf/libdwelf.h
@@ -1,5 +1,5 @@
/* Interfaces for libdwelf. DWARF ELF Low-level Functions.
- Copyright (C) 2014, 2015, 2016 Red Hat, Inc.
+ Copyright (C) 2014, 2015, 2016, 2018 Red Hat, Inc.
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
@@ -125,6 +125,14 @@ extern const char *dwelf_strent_str (Dwelf_Strent *se)
extern void dwelf_strtab_free (Dwelf_Strtab *st)
__nonnull_attribute__ (1);
+/* Creates a read-only Elf handle from the given file handle. The
+ file may be compressed and/or contain a linux kernel image header,
+ in which case it is eagerly decompressed in full and the Elf handle
+ is created as if created with elf_memory (). On error NULL is
+ returned. The Elf handle should be closed with elf_end (). The
+ file handle will not be closed. Does not return ELF_K_NONE handles. */
+extern Elf *dwelf_elf_begin (int fd);
+
#ifdef __cplusplus
}
#endif
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog
index 5e9b986d..45cc1b4e 100644
--- a/libdwfl/ChangeLog
+++ b/libdwfl/ChangeLog
@@ -1,3 +1,36 @@
+2018-10-20 Mark Wielaard <mark@klomp.org>
+
+ * libdwflP.h (__libdw_open_elf): New internal function declaration.
+ * open.c (what_kind): Rename close_fd to may_close_fd.
+ (__libdw_open_file): Replaced (and renamed) by a call to ...
+ (libdw_open_elf): this. And add never_close_fd argument.
+ (__libdw_open_elf): New function that calls libdw_open_elf.
+
+2018-10-18 Mark Wielaard <mark@klomp.org>
+
+ * dwfl_segment_report_module.c (consider_note): Take align as new
+ argument. Use align to set d_type and calculate padding.
+ (dwfl_segment_report_module): Pass align to consider_notes.
+ * core-file.c (dwfl_core_file_report): Check p_align to set ELF
+ type.
+ * linux-kernel-modules.c (check_notes): Check name and type of note
+ to determine padding.
+
+2018-10-19 Mark Wielaard <mark@klomp.org>
+
+ * dwfl_module_getdwarf.c (find_aux_sym): Check sh_entsize is not zero.
+
+2018-10-14 Mark Wielaard <mark@klomp.org>
+
+ * dwfl_segment_report_module.c (read_portion): Check requested
+ filesz isn't larger than buffer_available.
+ (dwfl_segment_report_module): Check data_size vs filesz after
+ read_portion call.
+
+2018-10-02 Andreas Schwab <schwab@suse.de>
+
+ * relocate.c (relocate): Handle ADD/SUB relocations.
+
2018-09-13 Mark Wielaard <mark@klomp.org>
* dwfl_segment_report_module.c (dwfl_segment_report_module):
diff --git a/libdwfl/core-file.c b/libdwfl/core-file.c
index 84cb89ac..01109f4b 100644
--- a/libdwfl/core-file.c
+++ b/libdwfl/core-file.c
@@ -496,7 +496,9 @@ dwfl_core_file_report (Dwfl *dwfl, Elf *elf, const char *executable)
Elf_Data *notes = elf_getdata_rawchunk (elf,
notes_phdr.p_offset,
notes_phdr.p_filesz,
- ELF_T_NHDR);
+ (notes_phdr.p_align == 8
+ ? ELF_T_NHDR8
+ : ELF_T_NHDR));
if (likely (notes != NULL))
{
size_t pos = 0;
diff --git a/libdwfl/dwfl_module_getdwarf.c b/libdwfl/dwfl_module_getdwarf.c
index af6838a6..56e61054 100644
--- a/libdwfl/dwfl_module_getdwarf.c
+++ b/libdwfl/dwfl_module_getdwarf.c
@@ -1007,6 +1007,8 @@ find_aux_sym (Dwfl_Module *mod __attribute__ ((unused)),
switch (shdr->sh_type)
{
case SHT_SYMTAB:
+ if (shdr->sh_entsize == 0)
+ return;
minisymtab = true;
*aux_symscn = scn;
*aux_strshndx = shdr->sh_link;
diff --git a/libdwfl/dwfl_segment_report_module.c b/libdwfl/dwfl_segment_report_module.c
index 36e5c823..0d633ffe 100644
--- a/libdwfl/dwfl_segment_report_module.c
+++ b/libdwfl/dwfl_segment_report_module.c
@@ -1,5 +1,5 @@
/* Sniff out modules from ELF headers visible in memory segments.
- Copyright (C) 2008-2012, 2014, 2015 Red Hat, Inc.
+ Copyright (C) 2008-2012, 2014, 2015, 2018 Red Hat, Inc.
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
@@ -27,7 +27,7 @@
not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
-#include "../libelf/libelfP.h" /* For NOTE_ALIGN. */
+#include "../libelf/libelfP.h" /* For NOTE_ALIGN4 and NOTE_ALIGN8. */
#undef _
#include "libdwflP.h"
#include "common.h"
@@ -301,7 +301,10 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name,
inline bool read_portion (void **data, size_t *data_size,
GElf_Addr vaddr, size_t filesz)
{
- if (vaddr - start + filesz > buffer_available
+ /* Check whether we will have to read the segment data, or if it
+ can be returned from the existing buffer. */
+ if (filesz > buffer_available
+ || vaddr - start > buffer_available - filesz
/* If we're in string mode, then don't consider the buffer we have
sufficient unless it contains the terminator of the string. */
|| (filesz == 0 && memchr (vaddr - start + buffer, '\0',
@@ -448,7 +451,8 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name,
GElf_Addr build_id_vaddr = 0;
/* Consider a PT_NOTE we've found in the image. */
- inline void consider_notes (GElf_Addr vaddr, GElf_Xword filesz)
+ inline void consider_notes (GElf_Addr vaddr, GElf_Xword filesz,
+ GElf_Xword align)
{
/* If we have already seen a build ID, we don't care any more. */
if (build_id != NULL || filesz == 0)
@@ -459,6 +463,12 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name,
if (read_portion (&data, &data_size, vaddr, filesz))
return;
+ /* data_size will be zero if we got everything from the initial
+ buffer, otherwise it will be the size of the new buffer that
+ could be read. */
+ if (data_size != 0)
+ filesz = data_size;
+
assert (sizeof (Elf32_Nhdr) == sizeof (Elf64_Nhdr));
void *notes;
@@ -469,7 +479,8 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name,
notes = malloc (filesz);
if (unlikely (notes == NULL))
return;
- xlatefrom.d_type = xlateto.d_type = ELF_T_NHDR;
+ xlatefrom.d_type = xlateto.d_type = (align == 8
+ ? ELF_T_NHDR8 : ELF_T_NHDR);
xlatefrom.d_buf = (void *) data;
xlatefrom.d_size = filesz;
xlateto.d_buf = notes;
@@ -480,15 +491,23 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name,
}
const GElf_Nhdr *nh = notes;
- while ((const void *) nh < (const void *) notes + filesz)
- {
- const void *note_name = nh + 1;
- const void *note_desc = note_name + NOTE_ALIGN (nh->n_namesz);
- if (unlikely ((size_t) ((const void *) notes + filesz
- - note_desc) < nh->n_descsz))
+ size_t len = 0;
+ while (filesz > len + sizeof (*nh))
+ {
+ const void *note_name;
+ const void *note_desc;
+
+ len += sizeof (*nh);
+ note_name = notes + len;
+
+ len += nh->n_namesz;
+ len = align == 8 ? NOTE_ALIGN8 (len) : NOTE_ALIGN4 (len);
+ note_desc = notes + len;
+
+ if (unlikely (filesz < len + nh->n_descsz))
break;
- if (nh->n_type == NT_GNU_BUILD_ID
+ if (nh->n_type == NT_GNU_BUILD_ID
&& nh->n_descsz > 0
&& nh->n_namesz == sizeof "GNU"
&& !memcmp (note_name, "GNU", sizeof "GNU"))
@@ -501,7 +520,9 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name,
break;
}
- nh = note_desc + NOTE_ALIGN (nh->n_descsz);
+ len += nh->n_descsz;
+ len = align == 8 ? NOTE_ALIGN8 (len) : NOTE_ALIGN4 (len);
+ nh = (void *) notes + len;
}
done:
@@ -526,7 +547,7 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name,
case PT_NOTE:
/* We calculate from the p_offset of the note segment,
because we don't yet know the bias for its p_vaddr. */
- consider_notes (start + offset, filesz);
+ consider_notes (start + offset, filesz, align);
break;
case PT_LOAD:
diff --git a/libdwfl/libdwflP.h b/libdwfl/libdwflP.h
index 31e6e190..941a8b66 100644
--- a/libdwfl/libdwflP.h
+++ b/libdwfl/libdwflP.h
@@ -626,6 +626,10 @@ extern Dwfl_Error __libdw_open_file (int *fdp, Elf **elfp,
bool close_on_fail, bool archive_ok)
internal_function;
+/* Same as __libdw_open_file, but never closes the given file
+ descriptor and ELF_K_AR is always an acceptable type. */
+extern Dwfl_Error __libdw_open_elf (int fd, Elf **elfp) internal_function;
+
/* Fetch PT_DYNAMIC P_VADDR from ELF and store it to *VADDRP. Return success.
*VADDRP is not modified if the function fails. */
extern bool __libdwfl_dynamic_vaddr_get (Elf *elf, GElf_Addr *vaddrp)
diff --git a/libdwfl/linux-core-attach.c b/libdwfl/linux-core-attach.c
index 9f05f72a..6c99b9e2 100644
--- a/libdwfl/linux-core-attach.c
+++ b/libdwfl/linux-core-attach.c
@@ -355,7 +355,9 @@ dwfl_core_file_attach (Dwfl *dwfl, Elf *core)
if (phdr != NULL && phdr->p_type == PT_NOTE)
{
note_data = elf_getdata_rawchunk (core, phdr->p_offset,
- phdr->p_filesz, ELF_T_NHDR);
+ phdr->p_filesz, (phdr->p_align == 8
+ ? ELF_T_NHDR8
+ : ELF_T_NHDR));
break;
}
}
diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c
index 9d0fef2c..360e4ee9 100644
--- a/libdwfl/linux-kernel-modules.c
+++ b/libdwfl/linux-kernel-modules.c
@@ -39,6 +39,7 @@
#include <config.h>
#include <system.h>
+#include "libelfP.h"
#include "libdwflP.h"
#include <inttypes.h>
#include <errno.h>
@@ -554,15 +555,41 @@ check_notes (Dwfl_Module *mod, const char *notesfile,
return 1;
unsigned char *p = buf.data;
+ size_t len = 0;
while (p < &buf.data[n])
{
/* No translation required since we are reading the native kernel. */
GElf_Nhdr *nhdr = (void *) p;
- p += sizeof *nhdr;
+ len += sizeof *nhdr;
+ p += len;
unsigned char *name = p;
- p += (nhdr->n_namesz + 3) & -4U;
- unsigned char *bits = p;
- p += (nhdr->n_descsz + 3) & -4U;
+ unsigned char *bits;
+ /* This is somewhat ugly, GNU Property notes use different padding,
+ but all we have is the file content, so we have to actually check
+ the name and type. */
+ if (nhdr->n_type == NT_GNU_PROPERTY_TYPE_0
+ && nhdr->n_namesz == sizeof "GNU"
+ && name + nhdr->n_namesz < &buf.data[n]
+ && !memcmp (name, "GNU", sizeof "GNU"))
+ {
+ len += nhdr->n_namesz;
+ len = NOTE_ALIGN8 (len);
+ p = buf.data + len;
+ bits = p;
+ len += nhdr->n_descsz;
+ len = NOTE_ALIGN8 (len);
+ p = buf.data + len;
+ }
+ else
+ {
+ len += nhdr->n_namesz;
+ len = NOTE_ALIGN4 (len);
+ p = buf.data + len;
+ bits = p;
+ len += nhdr->n_descsz;
+ len = NOTE_ALIGN4 (len);
+ p = buf.data + len;
+ }
if (p <= &buf.data[n]
&& nhdr->n_type == NT_GNU_BUILD_ID
diff --git a/libdwfl/open.c b/libdwfl/open.c
index 4e0461bd..74367359 100644
--- a/libdwfl/open.c
+++ b/libdwfl/open.c
@@ -95,7 +95,7 @@ decompress (int fd __attribute__ ((unused)), Elf **elf)
}
static Dwfl_Error
-what_kind (int fd, Elf **elfp, Elf_Kind *kind, bool *close_fd)
+what_kind (int fd, Elf **elfp, Elf_Kind *kind, bool *may_close_fd)
{
Dwfl_Error error = DWFL_E_NOERROR;
*kind = elf_kind (*elfp);
@@ -108,7 +108,7 @@ what_kind (int fd, Elf **elfp, Elf_Kind *kind, bool *close_fd)
error = decompress (fd, elfp);
if (error == DWFL_E_NOERROR)
{
- *close_fd = true;
+ *may_close_fd = true;
*kind = elf_kind (*elfp);
}
}
@@ -116,15 +116,16 @@ what_kind (int fd, Elf **elfp, Elf_Kind *kind, bool *close_fd)
return error;
}
-Dwfl_Error internal_function
-__libdw_open_file (int *fdp, Elf **elfp, bool close_on_fail, bool archive_ok)
+static Dwfl_Error
+libdw_open_elf (int *fdp, Elf **elfp, bool close_on_fail, bool archive_ok,
+ bool never_close_fd)
{
- bool close_fd = false;
+ bool may_close_fd = false;
Elf *elf = elf_begin (*fdp, ELF_C_READ_MMAP_PRIVATE, NULL);
Elf_Kind kind;
- Dwfl_Error error = what_kind (*fdp, &elf, &kind, &close_fd);
+ Dwfl_Error error = what_kind (*fdp, &elf, &kind, &may_close_fd);
if (error == DWFL_E_BADELF)
{
/* It's not an ELF file or a compressed file.
@@ -153,7 +154,7 @@ __libdw_open_file (int *fdp, Elf **elfp, bool close_on_fail, bool archive_ok)
elf->flags &= ~(ELF_F_MMAPPED | ELF_F_MALLOCED);
elf_end (elf);
elf = subelf;
- error = what_kind (*fdp, &elf, &kind, &close_fd);
+ error = what_kind (*fdp, &elf, &kind, &may_close_fd);
}
}
}
@@ -169,7 +170,8 @@ __libdw_open_file (int *fdp, Elf **elfp, bool close_on_fail, bool archive_ok)
elf = NULL;
}
- if (error == DWFL_E_NOERROR ? close_fd : close_on_fail)
+ if (! never_close_fd
+ && error == DWFL_E_NOERROR ? may_close_fd : close_on_fail)
{
close (*fdp);
*fdp = -1;
@@ -178,3 +180,15 @@ __libdw_open_file (int *fdp, Elf **elfp, bool close_on_fail, bool archive_ok)
*elfp = elf;
return error;
}
+
+Dwfl_Error internal_function
+__libdw_open_file (int *fdp, Elf **elfp, bool close_on_fail, bool archive_ok)
+{
+ return libdw_open_elf (fdp, elfp, close_on_fail, archive_ok, false);
+}
+
+Dwfl_Error internal_function
+__libdw_open_elf (int fd, Elf **elfp)
+{
+ return libdw_open_elf (&fd, elfp, false, true, true);
+}
diff --git a/libdwfl/relocate.c b/libdwfl/relocate.c
index 9afcdebe..58c56786 100644
--- a/libdwfl/relocate.c
+++ b/libdwfl/relocate.c
@@ -338,7 +338,8 @@ relocate (Dwfl_Module * const mod,
So we just pretend it's OK without further relocation. */
return DWFL_E_NOERROR;
- Elf_Type type = ebl_reloc_simple_type (mod->ebl, rtype);
+ int addsub = 0;
+ Elf_Type type = ebl_reloc_simple_type (mod->ebl, rtype, &addsub);
if (unlikely (type == ELF_T_NUM))
return DWFL_E_BADRELTYPE;
@@ -383,6 +384,9 @@ relocate (Dwfl_Module * const mod,
{
#define DO_TYPE(NAME, Name) \
case ELF_T_##NAME: \
+ if (addsub != 0 && addend == NULL) \
+ /* These do not make sense with SHT_REL. */ \
+ return DWFL_E_BADRELTYPE; \
size = sizeof (GElf_##Name); \
break
TYPES;
@@ -417,11 +421,24 @@ relocate (Dwfl_Module * const mod,
{
/* For the addend form, we have the value already. */
value += *addend;
+ /* For ADD/SUB relocations we need to fetch the section
+ contents. */
+ if (addsub != 0)
+ {
+ Elf_Data *d = gelf_xlatetom (relocated, &tmpdata, &rdata,
+ ehdr->e_ident[EI_DATA]);
+ if (d == NULL)
+ return DWFL_E_LIBELF;
+ assert (d == &tmpdata);
+ }
switch (type)
{
#define DO_TYPE(NAME, Name) \
case ELF_T_##NAME: \
- tmpbuf.Name = value; \
+ if (addsub != 0) \
+ tmpbuf.Name += value * addsub; \
+ else \
+ tmpbuf.Name = value; \
break
TYPES;
#undef DO_TYPE
diff --git a/libebl/ChangeLog b/libebl/ChangeLog
index d36a2681..a2f89562 100644
--- a/libebl/ChangeLog
+++ b/libebl/ChangeLog
@@ -1,3 +1,38 @@
+2018-11-15 Mark Wielaard <mark@klomp.org>
+
+ * eblobjnotetypename.c (ebl_object_note_type_name): Don't update
+ w, t and len unnecessarily.
+
+2018-11-12 Mark Wielaard <mark@klomp.org>
+
+ * libebl.h (ebl_object_note): Add new argument namesz.
+ * eblobjnote.c (ebl_object_note): Likewise and handle GNU Build
+ Attribute notes.
+ * eblobjnotetypename.c (ebl_object_note_type_name): Handle GNU
+ Build Attribute notes.
+
+2018-11-11 Mark Wielaard <mark@klomp.org>
+
+ * eblobjnote.c (ebl_object_note): Recognize NT_VERSION with zero
+ descriptor. Add explicit "GNU" name check.
+ * eblobjnotetypename.c (ebl_object_note_type_name): Add extra
+ argument descsz. Recognize NT_VERSION using descsz. With "GNU"
+ name it is NT_GNU_ABI_TAG.
+ * libebl.h (ebl_object_note_type_name): Add extra argument descsz.
+
+2018-10-18 Mark Wielaard <mark@klomp.org>
+
+ * eblobjnote.c (ebl_object_note): Handle NT_GNU_PROPERTY_TYPE_0.
+ * eblobjnotetypename.c (ebl_object_note_type_name): Add
+ GNU_PROPERTY_TYPE_0.
+
+2018-10-02 Andreas Schwab <schwab@suse.de>
+
+ * ebl-hooks.h (EBLHOOK(reloc_simple_type)): Add third parameter.
+ * libebl.h (ebl_reloc_simple_type): Likewise.
+ * eblopenbackend.c (default_reloc_simple_type): Likewise.
+ * eblrelocsimpletype.c (ebl_reloc_simple_type): Pass it down.
+
2018-09-12 Mark Wielaard <mark@klomp.org>
* eblsectionstripp.c (ebl_section_strip_p): Drop ehdr argument.
diff --git a/libebl/ebl-hooks.h b/libebl/ebl-hooks.h
index 7a355cd1..1e7960b8 100644
--- a/libebl/ebl-hooks.h
+++ b/libebl/ebl-hooks.h
@@ -33,7 +33,7 @@ const char *EBLHOOK(reloc_type_name) (int, char *, size_t);
bool EBLHOOK(reloc_type_check) (int);
/* Check if relocation type is for simple absolute relocations. */
-Elf_Type EBLHOOK(reloc_simple_type) (Ebl *, int);
+Elf_Type EBLHOOK(reloc_simple_type) (Ebl *, int, int *);
/* Check relocation type use. */
bool EBLHOOK(reloc_valid_use) (Elf *, int);
diff --git a/libebl/eblobjnote.c b/libebl/eblobjnote.c
index ca4f155d..58ac86d7 100644
--- a/libebl/eblobjnote.c
+++ b/libebl/eblobjnote.c
@@ -1,5 +1,5 @@
/* Print contents of object file note.
- Copyright (C) 2002, 2007, 2009, 2011, 2015, 2016 Red Hat, Inc.
+ Copyright (C) 2002, 2007, 2009, 2011, 2015, 2016, 2018 Red Hat, Inc.
This file is part of elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -37,9 +37,14 @@
#include <string.h>
#include <libeblP.h>
+#include "common.h"
+#include "libelfP.h"
+#include "libdwP.h"
+#include "memory-access.h"
+
void
-ebl_object_note (Ebl *ebl, const char *name, uint32_t type,
+ebl_object_note (Ebl *ebl, uint32_t namesz, const char *name, uint32_t type,
uint32_t descsz, const char *desc)
{
if (! ebl->object_note (name, type, descsz, desc))
@@ -133,6 +138,160 @@ ebl_object_note (Ebl *ebl, const char *name, uint32_t type,
return;
}
+ if (strncmp (name, ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX,
+ strlen (ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX)) == 0
+ && (type == NT_GNU_BUILD_ATTRIBUTE_OPEN
+ || type == NT_GNU_BUILD_ATTRIBUTE_FUNC))
+ {
+ /* There might or might not be a pair of addresses in the desc. */
+ if (descsz > 0)
+ {
+ printf (" Address Range: ");
+
+ union
+ {
+ Elf64_Addr a64[2];
+ Elf32_Addr a32[2];
+ } addrs;
+
+ size_t addr_size = gelf_fsize (ebl->elf, ELF_T_ADDR,
+ 2, EV_CURRENT);
+ if (descsz != addr_size)
+ printf ("<unknown data>\n");
+ else
+ {
+ Elf_Data src =
+ {
+ .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
+ .d_buf = (void *) desc, .d_size = descsz
+ };
+
+ Elf_Data dst =
+ {
+ .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
+ .d_buf = &addrs, .d_size = descsz
+ };
+
+ if (gelf_xlatetom (ebl->elf, &dst, &src,
+ elf_getident (ebl->elf,
+ NULL)[EI_DATA]) == NULL)
+ printf ("%s\n", elf_errmsg (-1));
+ else
+ {
+ if (addr_size == 4)
+ printf ("%#" PRIx32 " - %#" PRIx32 "\n",
+ addrs.a32[0], addrs.a32[1]);
+ else
+ printf ("%#" PRIx64 " - %#" PRIx64 "\n",
+ addrs.a64[0], addrs.a64[1]);
+ }
+ }
+ }
+
+ /* Most data actually is inside the name.
+ https://fedoraproject.org/wiki/Toolchain/Watermark */
+
+ /* We need at least 2 chars of data to describe the
+ attribute and value encodings. */
+ const char *data = (name
+ + strlen (ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX));
+ if (namesz < 2)
+ {
+ printf ("<insufficient data>\n");
+ return;
+ }
+
+ printf (" ");
+
+ /* In most cases the value comes right after the encoding bytes. */
+ const char *value = &data[2];
+ switch (data[1])
+ {
+ case GNU_BUILD_ATTRIBUTE_VERSION:
+ printf ("VERSION: ");
+ break;
+ case GNU_BUILD_ATTRIBUTE_STACK_PROT:
+ printf ("STACK_PROT: ");
+ break;
+ case GNU_BUILD_ATTRIBUTE_RELRO:
+ printf ("RELRO: ");
+ break;
+ case GNU_BUILD_ATTRIBUTE_STACK_SIZE:
+ printf ("STACK_SIZE: ");
+ break;
+ case GNU_BUILD_ATTRIBUTE_TOOL:
+ printf ("TOOL: ");
+ break;
+ case GNU_BUILD_ATTRIBUTE_ABI:
+ printf ("ABI: ");
+ break;
+ case GNU_BUILD_ATTRIBUTE_PIC:
+ printf ("PIC: ");
+ break;
+ case GNU_BUILD_ATTRIBUTE_SHORT_ENUM:
+ printf ("SHORT_ENUM: ");
+ break;
+ case 32 ... 126:
+ printf ("\"%s\": ", &data[1]);
+ value += strlen (&data[1]) + 1;
+ break;
+ default:
+ printf ("<unknown>: ");
+ break;
+ }
+
+ switch (data[0])
+ {
+ case GNU_BUILD_ATTRIBUTE_TYPE_NUMERIC:
+ {
+ /* Any numbers are always in (unsigned) little endian. */
+ static const Dwarf dbg
+ = { .other_byte_order = MY_ELFDATA != ELFDATA2LSB };
+ size_t bytes = namesz - (value - name);
+ uint64_t val;
+ if (bytes == 1)
+ val = *(unsigned char *) value;
+ else if (bytes == 2)
+ val = read_2ubyte_unaligned (&dbg, value);
+ else if (bytes == 4)
+ val = read_4ubyte_unaligned (&dbg, value);
+ else if (bytes == 8)
+ val = read_8ubyte_unaligned (&dbg, value);
+ else
+ goto unknown;
+ printf ("%" PRIx64, val);
+ }
+ break;
+ case GNU_BUILD_ATTRIBUTE_TYPE_STRING:
+ printf ("\"%s\"", value);
+ break;
+ case GNU_BUILD_ATTRIBUTE_TYPE_BOOL_TRUE:
+ printf ("TRUE");
+ break;
+ case GNU_BUILD_ATTRIBUTE_TYPE_BOOL_FALSE:
+ printf ("FALSE");
+ break;
+ default:
+ {
+ unknown:
+ printf ("<unknown>");
+ }
+ break;
+ }
+
+ printf ("\n");
+
+ return;
+ }
+
+ /* NT_VERSION doesn't have any info. All data is in the name. */
+ if (descsz == 0 && type == NT_VERSION)
+ return;
+
+ /* Everything else should have the "GNU" owner name. */
+ if (strcmp ("GNU", name) != 0)
+ return;
+
switch (type)
{
case NT_GNU_BUILD_ID:
@@ -153,8 +312,189 @@ ebl_object_note (Ebl *ebl, const char *name, uint32_t type,
(int) descsz, desc);
break;
+ case NT_GNU_PROPERTY_TYPE_0:
+ if (strcmp (name, "GNU") == 0 && descsz > 0)
+ {
+ /* There are at least 2 words. type and datasz. */
+ while (descsz >= 8)
+ {
+ struct pr_prop
+ {
+ GElf_Word pr_type;
+ GElf_Word pr_datasz;
+ } prop;
+
+ Elf_Data in =
+ {
+ .d_version = EV_CURRENT,
+ .d_type = ELF_T_WORD,
+ .d_size = 8,
+ .d_buf = (void *) desc
+ };
+ Elf_Data out =
+ {
+ .d_version = EV_CURRENT,
+ .d_type = ELF_T_WORD,
+ .d_size = descsz,
+ .d_buf = (void *) &prop
+ };
+
+ if (gelf_xlatetom (ebl->elf, &out, &in,
+ elf_getident (ebl->elf,
+ NULL)[EI_DATA]) == NULL)
+ {
+ printf ("%s\n", elf_errmsg (-1));
+ return;
+ }
+
+ desc += 8;
+ descsz -= 8;
+
+ int elfclass = gelf_getclass (ebl->elf);
+ char *elfident = elf_getident (ebl->elf, NULL);
+ GElf_Ehdr ehdr;
+ gelf_getehdr (ebl->elf, &ehdr);
+
+ /* Prefix. */
+ printf (" ");
+ if (prop.pr_type == GNU_PROPERTY_STACK_SIZE)
+ {
+ printf ("STACK_SIZE ");
+ if (prop.pr_datasz == 4 || prop.pr_datasz == 8)
+ {
+ GElf_Addr addr;
+ in.d_type = ELF_T_ADDR;
+ out.d_type = ELF_T_ADDR;
+ in.d_size = prop.pr_datasz;
+ out.d_size = sizeof (addr);
+ in.d_buf = (void *) desc;
+ out.d_buf = (void *) &addr;
+
+ if (gelf_xlatetom (ebl->elf, &out, &in,
+ elfident[EI_DATA]) == NULL)
+ {
+ printf ("%s\n", elf_errmsg (-1));
+ return;
+ }
+ printf ("%#" PRIx64 "\n", addr);
+ }
+ else
+ printf (" (garbage datasz: %" PRIx32 ")\n",
+ prop.pr_datasz);
+ }
+ else if (prop.pr_type == GNU_PROPERTY_NO_COPY_ON_PROTECTED)
+ {
+ printf ("NO_COPY_ON_PROTECTION");
+ if (prop.pr_datasz == 0)
+ printf ("\n");
+ else
+ printf (" (garbage datasz: %" PRIx32 ")\n",
+ prop.pr_datasz);
+ }
+ else if (prop.pr_type >= GNU_PROPERTY_LOPROC
+ && prop.pr_type <= GNU_PROPERTY_HIPROC
+ && (ehdr.e_machine == EM_386
+ || ehdr.e_machine == EM_X86_64))
+ {
+ printf ("X86 ");
+ if (prop.pr_type == GNU_PROPERTY_X86_FEATURE_1_AND)
+ {
+ printf ("FEATURE_1_AND: ");
+
+ if (prop.pr_datasz == 4)
+ {
+ GElf_Word data;
+ in.d_type = ELF_T_WORD;
+ out.d_type = ELF_T_WORD;
+ in.d_size = 4;
+ out.d_size = 4;
+ in.d_buf = (void *) desc;
+ out.d_buf = (void *) &data;
+
+ if (gelf_xlatetom (ebl->elf, &out, &in,
+ elfident[EI_DATA]) == NULL)
+ {
+ printf ("%s\n", elf_errmsg (-1));
+ return;
+ }
+ printf ("%08" PRIx32 " ", data);
+
+ if ((data & GNU_PROPERTY_X86_FEATURE_1_IBT)
+ != 0)
+ {
+ printf ("IBT");
+ data &= ~GNU_PROPERTY_X86_FEATURE_1_IBT;
+ if (data != 0)
+ printf (" ");
+ }
+
+ if ((data & GNU_PROPERTY_X86_FEATURE_1_SHSTK)
+ != 0)
+ {
+ printf ("SHSTK");
+ data &= ~GNU_PROPERTY_X86_FEATURE_1_SHSTK;
+ if (data != 0)
+ printf (" ");
+ }
+
+ if (data != 0)
+ printf ("UNKNOWN");
+ }
+ else
+ printf ("<bad datasz: %" PRId32 ">",
+ prop.pr_datasz);
+
+ printf ("\n");
+ }
+ else
+ {
+ printf ("%#" PRIx32, prop.pr_type);
+ if (prop.pr_datasz > 0)
+ {
+ printf (" data: ");
+ size_t i;
+ for (i = 0; i < prop.pr_datasz - 1; i++)
+ printf ("%02" PRIx8 " ", (uint8_t) desc[i]);
+ printf ("%02" PRIx8 "\n", (uint8_t) desc[i]);
+ }
+ }
+ }
+ else
+ {
+ if (prop.pr_type >= GNU_PROPERTY_LOPROC
+ && prop.pr_type <= GNU_PROPERTY_HIPROC)
+ printf ("proc_type %#" PRIx32, prop.pr_type);
+ else if (prop.pr_type >= GNU_PROPERTY_LOUSER
+ && prop.pr_type <= GNU_PROPERTY_HIUSER)
+ printf ("app_type %#" PRIx32, prop.pr_type);
+ else
+ printf ("unknown_type %#" PRIx32, prop.pr_type);
+
+ if (prop.pr_datasz > 0)
+ {
+ printf (" data: ");
+ size_t i;
+ for (i = 0; i < prop.pr_datasz - 1; i++)
+ printf ("%02" PRIx8 " ", (uint8_t) desc[i]);
+ printf ("%02" PRIx8 "\n", (uint8_t) desc[i]);
+ }
+ }
+ if (elfclass == ELFCLASS32)
+ {
+ desc += NOTE_ALIGN4 (prop.pr_datasz);
+ descsz -= NOTE_ALIGN4 (prop.pr_datasz);
+ }
+ else
+ {
+ desc += NOTE_ALIGN8 (prop.pr_datasz);
+ descsz -= NOTE_ALIGN8 (prop.pr_datasz);
+ }
+ }
+ }
+ break;
+
case NT_GNU_ABI_TAG:
- if (strcmp (name, "GNU") == 0 && descsz >= 8 && descsz % 4 == 0)
+ if (descsz >= 8 && descsz % 4 == 0)
{
Elf_Data in =
{
diff --git a/libebl/eblobjnotetypename.c b/libebl/eblobjnotetypename.c
index db040d29..6b803cef 100644
--- a/libebl/eblobjnotetypename.c
+++ b/libebl/eblobjnotetypename.c
@@ -1,5 +1,5 @@
/* Return note type name.
- Copyright (C) 2002, 2007, 2009, 2011, 2016 Red Hat, Inc.
+ Copyright (C) 2002, 2007, 2009, 2011, 2016, 2018 Red Hat, Inc.
This file is part of elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -39,6 +39,7 @@
const char *
ebl_object_note_type_name (Ebl *ebl, const char *name, uint32_t type,
+ GElf_Word descsz,
char *buf, size_t len)
{
const char *res = ebl->object_note_type_name (name, type, buf, len);
@@ -78,19 +79,46 @@ ebl_object_note_type_name (Ebl *ebl, const char *name, uint32_t type,
}
}
+ if (strncmp (name, ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX,
+ strlen (ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX)) == 0)
+ {
+ /* GNU Build Attribute notes (ab)use the owner name to store
+ most of their data. Don't decode everything here. Just
+ the type.*/
+ char *t = buf;
+ const char *gba = "GNU Build Attribute";
+ int w = snprintf (t, len, "%s ", gba);
+ t += w;
+ len -= w;
+ if (type == NT_GNU_BUILD_ATTRIBUTE_OPEN)
+ snprintf (t, len, "OPEN");
+ else if (type == NT_GNU_BUILD_ATTRIBUTE_FUNC)
+ snprintf (t, len, "FUNC");
+ else
+ snprintf (t, len, "%x", type);
+
+ return buf;
+ }
+
if (strcmp (name, "GNU") != 0)
{
+ /* NT_VERSION is special, all data is in the name. */
+ if (descsz == 0 && type == NT_VERSION)
+ return "VERSION";
+
snprintf (buf, len, "%s: %" PRIu32, gettext ("<unknown>"), type);
return buf;
}
+ /* And finally all the "GNU" note types. */
static const char *knowntypes[] =
{
#define KNOWNSTYPE(name) [NT_##name] = #name
- KNOWNSTYPE (VERSION),
+ KNOWNSTYPE (GNU_ABI_TAG),
KNOWNSTYPE (GNU_HWCAP),
KNOWNSTYPE (GNU_BUILD_ID),
KNOWNSTYPE (GNU_GOLD_VERSION),
+ KNOWNSTYPE (GNU_PROPERTY_TYPE_0),
};
/* Handle standard names. */
diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c
index b04768ff..74251eaa 100644
--- a/libebl/eblopenbackend.c
+++ b/libebl/eblopenbackend.c
@@ -153,7 +153,7 @@ static const struct
static const char *default_reloc_type_name (int ignore, char *buf, size_t len);
static bool default_reloc_type_check (int ignore);
static bool default_reloc_valid_use (Elf *elf, int ignore);
-static Elf_Type default_reloc_simple_type (Ebl *ebl, int ignore);
+static Elf_Type default_reloc_simple_type (Ebl *ebl, int ignore, int *addsub);
static bool default_gotpc_reloc_check (Elf *elf, int ignore);
static const char *default_segment_type_name (int ignore, char *buf,
size_t len);
@@ -428,7 +428,8 @@ default_reloc_valid_use (Elf *elf __attribute__ ((unused)),
static Elf_Type
default_reloc_simple_type (Ebl *eh __attribute__ ((unused)),
- int ignore __attribute__ ((unused)))
+ int ignore __attribute__ ((unused)),
+ int *addsub __attribute__ ((unused)))
{
return ELF_T_NUM;
}
diff --git a/libebl/eblrelocsimpletype.c b/libebl/eblrelocsimpletype.c
index 9bd29285..12292804 100644
--- a/libebl/eblrelocsimpletype.c
+++ b/libebl/eblrelocsimpletype.c
@@ -34,7 +34,7 @@
Elf_Type
-ebl_reloc_simple_type (Ebl *ebl, int reloc)
+ebl_reloc_simple_type (Ebl *ebl, int reloc, int *addsub)
{
- return ebl != NULL ? ebl->reloc_simple_type (ebl, reloc) : ELF_T_NUM;
+ return ebl != NULL ? ebl->reloc_simple_type (ebl, reloc, addsub) : ELF_T_NUM;
}
diff --git a/libebl/libebl.h b/libebl/libebl.h
index 5abc02d8..ca9b9fec 100644
--- a/libebl/libebl.h
+++ b/libebl/libebl.h
@@ -99,8 +99,10 @@ extern bool ebl_reloc_type_check (Ebl *ebl, int reloc);
extern bool ebl_reloc_valid_use (Ebl *ebl, int reloc);
/* Check if relocation type is for simple absolute relocations.
- Return ELF_T_{BYTE,HALF,SWORD,SXWORD} for a simple type, else ELF_T_NUM. */
-extern Elf_Type ebl_reloc_simple_type (Ebl *ebl, int reloc);
+ Return ELF_T_{BYTE,HALF,SWORD,SXWORD} for a simple type, else ELF_T_NUM.
+ If the relocation type is an ADD or SUB relocation, set *ADDSUB to 1 or -1,
+ resp. */
+extern Elf_Type ebl_reloc_simple_type (Ebl *ebl, int reloc, int *addsub);
/* Return true if the symbol type is that referencing the GOT. E.g.,
R_386_GOTPC. */
@@ -173,12 +175,12 @@ extern const char *ebl_core_note_type_name (Ebl *ebl, uint32_t type, char *buf,
/* Return name of the note section type for an object file. */
extern const char *ebl_object_note_type_name (Ebl *ebl, const char *name,
- uint32_t type, char *buf,
- size_t len);
+ uint32_t type, GElf_Word descsz,
+ char *buf, size_t len);
/* Print information about object note if available. */
-extern void ebl_object_note (Ebl *ebl, const char *name, uint32_t type,
- uint32_t descsz, const char *desc);
+extern void ebl_object_note (Ebl *ebl, uint32_t namesz, const char *name,
+ uint32_t type, uint32_t descsz, const char *desc);
/* Check whether an attribute in a .gnu_attributes section is recognized.
Fills in *TAG_NAME with the name for this tag.
diff --git a/libelf/ChangeLog b/libelf/ChangeLog
index be37ab60..68c4fbdd 100644
--- a/libelf/ChangeLog
+++ b/libelf/ChangeLog
@@ -1,3 +1,63 @@
+2018-11-16 Mark Wielaard <mark@klomp.org>
+
+ * libebl.h (__elf32_msize): Mark with const attribute.
+ (__elf64_msize): Likewise.
+
+2018-11-13 Mark Wielaard <mark@klomp.org>
+
+ * elf_getdata.c (__libelf_set_rawdata_wrlock): Explicitly set the
+ alignment of SHF_COMPRESSED data to the alignment of ELF_T_CHDR.
+ * elf_compress.c (elf_compress): After compression set sh_addralign
+ to the alignment of ELF_T_CHDR.
+
+2018-11-09 Mark Wielaard <mark@klomp.org>
+
+ * elf_compress_gnu.c (elf_compress_gnu): Use elf_getdata.
+
+2018-11-12 Mark Wielaard <mark@klomp.org>
+
+ * elf-knowledge.c (ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX): New define.
+ (NT_GNU_BUILD_ATTRIBUTE_{OPEN,FUNC}): Likewise.
+ (GNU_BUILD_ATTRIBUTE_TYPE_{NUMERIC,STRING,BOOL_TRUE,BOOL_FALSE}):
+ Likewise.
+ (GNU_BUILD_ATTRIBUTE_{VERSION,STACK_PROT,RELRO,STACK_SIZE,TOOL,ABI,
+ PIC,SHORT_ENUM}): Likewise.
+
+2018-11-09 Mark Wielaard <mark@klomp.org>
+
+ * elf_compress.c (__libelf_reset_rawdata): Make rawdata change
+ explicit by calling __libelf_set_data_list.
+ * elf_getdata.c (convert_data): Don't convert if type is ELF_T_BYTE
+ even if endianness is different.
+
+2018-10-18 Mark Wielaard <mark@klomp.org>
+
+ * libelf.h (Elf_Type): Add ELF_T_NHDR8.
+ * libelfP.h (__libelf_data_type): Add align argument.
+ (NOTE_ALIGN): Split into...
+ (NOTE_ALIGN4): ... and ...
+ (NOTE_ALIGN8): this.
+ * elf32_xlatetom.c (xlatetom): Recognize both ELF_T_NHDR and
+ ELF_T_NHDR8.
+ * elf_compress.c (elf_compress): Pass zdata_align to
+ __libelf_data_type.
+ * elf_compress_gnu.c (elf_compress_gnu): Pass sh_addralign to
+ __libelf_data_type.
+ * elf_getdata.c (shtype_map): Add ELF_T_NHDR8.
+ (__libelf_data_type): Take align as extra argument, use it to
+ determine Elf_Type.
+ (__libelf_set_rawdata_wrlock): Recognize ELF_T_NHDR8. Pass align to
+ __libelf_data_type.
+ * gelf_fsize.c (__libelf_type_sizes): Add ELF_T_NHDR8.
+ * gelf_getnote.c (gelf_getnote): Use Elf_Type of Elf_Data to calculate
+ padding.
+ * gelf_xlate.c (__elf_xfctstom): Set ELF_T_NHDR to elf_cvt_note4,
+ add ELF_T_NHDR8.
+ * note_xlate.h (elf_cvt_note): Take nhdr8 argument and use it to
+ determine padding.
+ (elf_cvt_note4): New function.
+ (elf_cvt_note8): Likewise.
+
2018-09-13 Mark Wielaard <mark@klomp.org>
* elf32_updatefile.c (updatemmap): Use shnum, not ehdr->e_shnum.
diff --git a/libelf/elf-knowledge.h b/libelf/elf-knowledge.h
index 64f58878..9d3be0ff 100644
--- a/libelf/elf-knowledge.h
+++ b/libelf/elf-knowledge.h
@@ -77,4 +77,25 @@
|| ((Ehdr)->e_machine == EM_S390 \
&& (Ehdr)->e_ident[EI_CLASS] == ELFCLASS64) ? 8 : 4)
+/* GNU Annobin notes are not fully standardized and abuses the owner name. */
+
+#define ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX "GA"
+
+#define NT_GNU_BUILD_ATTRIBUTE_OPEN 0x100
+#define NT_GNU_BUILD_ATTRIBUTE_FUNC 0x101
+
+#define GNU_BUILD_ATTRIBUTE_TYPE_NUMERIC '*'
+#define GNU_BUILD_ATTRIBUTE_TYPE_STRING '$'
+#define GNU_BUILD_ATTRIBUTE_TYPE_BOOL_TRUE '+'
+#define GNU_BUILD_ATTRIBUTE_TYPE_BOOL_FALSE '!'
+
+#define GNU_BUILD_ATTRIBUTE_VERSION 1
+#define GNU_BUILD_ATTRIBUTE_STACK_PROT 2
+#define GNU_BUILD_ATTRIBUTE_RELRO 3
+#define GNU_BUILD_ATTRIBUTE_STACK_SIZE 4
+#define GNU_BUILD_ATTRIBUTE_TOOL 5
+#define GNU_BUILD_ATTRIBUTE_ABI 6
+#define GNU_BUILD_ATTRIBUTE_PIC 7
+#define GNU_BUILD_ATTRIBUTE_SHORT_ENUM 8
+
#endif /* elf-knowledge.h */
diff --git a/libelf/elf32_xlatetom.c b/libelf/elf32_xlatetom.c
index 13cd485d..3b94cac7 100644
--- a/libelf/elf32_xlatetom.c
+++ b/libelf/elf32_xlatetom.c
@@ -60,7 +60,7 @@ elfw2(LIBELFBITS, xlatetom) (Elf_Data *dest, const Elf_Data *src,
/* We shouldn't require integer number of records when processing
notes. Payload bytes follow the header immediately, it's not an
array of records as is the case otherwise. */
- if (src->d_type != ELF_T_NHDR
+ if (src->d_type != ELF_T_NHDR && src->d_type != ELF_T_NHDR8
&& src->d_size % recsize != 0)
{
__libelf_seterrno (ELF_E_INVALID_DATA);
diff --git a/libelf/elf_compress.c b/libelf/elf_compress.c
index 711be591..be9eeaba 100644
--- a/libelf/elf_compress.c
+++ b/libelf/elf_compress.c
@@ -326,6 +326,12 @@ __libelf_reset_rawdata (Elf_Scn *scn, void *buf, size_t size, size_t align,
scn->rawdata_base = buf;
scn->flags |= ELF_F_MALLOCED;
+
+ /* Pretend we (tried to) read the data from the file and setup the
+ data (might have to convert the Chdr to native format). */
+ scn->data_read = 1;
+ scn->flags |= ELF_F_FILEDATA;
+ __libelf_set_data_list_rdlock (scn, 1);
}
int
@@ -449,14 +455,14 @@ elf_compress (Elf_Scn *scn, int type, unsigned int flags)
{
Elf32_Shdr *shdr = elf32_getshdr (scn);
shdr->sh_size = new_size;
- shdr->sh_addralign = 1;
+ shdr->sh_addralign = __libelf_type_align (ELFCLASS32, ELF_T_CHDR);
shdr->sh_flags |= SHF_COMPRESSED;
}
else
{
Elf64_Shdr *shdr = elf64_getshdr (scn);
shdr->sh_size = new_size;
- shdr->sh_addralign = 1;
+ shdr->sh_addralign = __libelf_type_align (ELFCLASS64, ELF_T_CHDR);
shdr->sh_flags |= SHF_COMPRESSED;
}
@@ -513,7 +519,8 @@ elf_compress (Elf_Scn *scn, int type, unsigned int flags)
__libelf_reset_rawdata (scn, scn->zdata_base,
scn->zdata_size, scn->zdata_align,
- __libelf_data_type (elf, sh_type));
+ __libelf_data_type (elf, sh_type,
+ scn->zdata_align));
return 1;
}
diff --git a/libelf/elf_compress_gnu.c b/libelf/elf_compress_gnu.c
index dfa7c571..1ecd6a08 100644
--- a/libelf/elf_compress_gnu.c
+++ b/libelf/elf_compress_gnu.c
@@ -144,9 +144,10 @@ elf_compress_gnu (Elf_Scn *scn, int inflate, unsigned int flags)
else if (inflate == 0)
{
/* In theory the user could have constucted a compressed section
- by hand. But we always just take the rawdata directly and
- decompress that. */
- Elf_Data *data = elf_rawdata (scn, NULL);
+ by hand. And in practice they do. For example when copying
+ a section from one file to another using elf_newdata. So we
+ have to use elf_getdata (not elf_rawdata). */
+ Elf_Data *data = elf_getdata (scn, NULL);
if (data == NULL)
return -1;
@@ -196,7 +197,7 @@ elf_compress_gnu (Elf_Scn *scn, int inflate, unsigned int flags)
}
__libelf_reset_rawdata (scn, buf_out, size, sh_addralign,
- __libelf_data_type (elf, sh_type));
+ __libelf_data_type (elf, sh_type, sh_addralign));
scn->zdata_base = buf_out;
diff --git a/libelf/elf_getdata.c b/libelf/elf_getdata.c
index 278dfa8f..639a798e 100644
--- a/libelf/elf_getdata.c
+++ b/libelf/elf_getdata.c
@@ -65,7 +65,7 @@ static const Elf_Type shtype_map[EV_NUM - 1][TYPEIDX (SHT_HISUNW) + 1] =
[SHT_PREINIT_ARRAY] = ELF_T_ADDR,
[SHT_GROUP] = ELF_T_WORD,
[SHT_SYMTAB_SHNDX] = ELF_T_WORD,
- [SHT_NOTE] = ELF_T_NHDR,
+ [SHT_NOTE] = ELF_T_NHDR, /* Need alignment to guess ELF_T_NHDR8. */
[TYPEIDX (SHT_GNU_verdef)] = ELF_T_VDEF,
[TYPEIDX (SHT_GNU_verneed)] = ELF_T_VNEED,
[TYPEIDX (SHT_GNU_versym)] = ELF_T_HALF,
@@ -106,6 +106,7 @@ const uint_fast8_t __libelf_type_aligns[EV_NUM - 1][ELFCLASSNUM - 1][ELF_T_NUM]
[ELF_T_GNUHASH] = __alignof__ (Elf32_Word), \
[ELF_T_AUXV] = __alignof__ (ElfW2(Bits,auxv_t)), \
[ELF_T_CHDR] = __alignof__ (ElfW2(Bits,Chdr)), \
+ [ELF_T_NHDR8] = 8 /* Special case for GNU Property note. */ \
}
[EV_CURRENT - 1] =
{
@@ -118,7 +119,7 @@ const uint_fast8_t __libelf_type_aligns[EV_NUM - 1][ELFCLASSNUM - 1][ELF_T_NUM]
Elf_Type
internal_function
-__libelf_data_type (Elf *elf, int sh_type)
+__libelf_data_type (Elf *elf, int sh_type, GElf_Xword align)
{
/* Some broken ELF ABI for 64-bit machines use the wrong hash table
entry size. See elf-knowledge.h for more information. */
@@ -129,7 +130,13 @@ __libelf_data_type (Elf *elf, int sh_type)
return (SH_ENTSIZE_HASH (ehdr) == 4 ? ELF_T_WORD : ELF_T_XWORD);
}
else
- return shtype_map[LIBELF_EV_IDX][TYPEIDX (sh_type)];
+ {
+ Elf_Type t = shtype_map[LIBELF_EV_IDX][TYPEIDX (sh_type)];
+ /* Special case for GNU Property notes. */
+ if (t == ELF_T_NHDR && align == 8)
+ t = ELF_T_NHDR8;
+ return t;
+ }
}
/* Convert the data in the current section. */
@@ -139,7 +146,8 @@ convert_data (Elf_Scn *scn, int version __attribute__ ((unused)), int eclass,
{
const size_t align = __libelf_type_align (eclass, type);
- if (data == MY_ELFDATA)
+ /* Do we need to convert the data and/or adjust for alignment? */
+ if (data == MY_ELFDATA || type == ELF_T_BYTE)
{
if (((((size_t) (char *) scn->rawdata_base)) & (align - 1)) == 0)
/* No need to copy, we can use the raw data. */
@@ -260,9 +268,15 @@ __libelf_set_rawdata_wrlock (Elf_Scn *scn)
/* First a test whether the section is valid at all. */
size_t entsize;
- /* Compressed data has a header, but then compressed data. */
+ /* Compressed data has a header, but then compressed data.
+ Make sure to set the alignment of the header explicitly,
+ don't trust the file alignment for the section, it is
+ often wrong. */
if ((flags & SHF_COMPRESSED) != 0)
- entsize = 1;
+ {
+ entsize = 1;
+ align = __libelf_type_align (elf->class, ELF_T_CHDR);
+ }
else if (type == SHT_HASH)
{
GElf_Ehdr ehdr_mem;
@@ -272,7 +286,9 @@ __libelf_set_rawdata_wrlock (Elf_Scn *scn)
else
{
Elf_Type t = shtype_map[LIBELF_EV_IDX][TYPEIDX (type)];
- if (t == ELF_T_VDEF || t == ELF_T_NHDR
+ if (t == ELF_T_NHDR && align == 8)
+ t = ELF_T_NHDR8;
+ if (t == ELF_T_VDEF || t == ELF_T_NHDR || t == ELF_T_NHDR8
|| (t == ELF_T_GNUHASH && elf->class == ELFCLASS64))
entsize = 1;
else
@@ -357,7 +373,7 @@ __libelf_set_rawdata_wrlock (Elf_Scn *scn)
if ((flags & SHF_COMPRESSED) != 0)
scn->rawdata.d.d_type = ELF_T_CHDR;
else
- scn->rawdata.d.d_type = __libelf_data_type (elf, type);
+ scn->rawdata.d.d_type = __libelf_data_type (elf, type, align);
scn->rawdata.d.d_off = 0;
/* Make sure the alignment makes sense. d_align should be aligned both
diff --git a/libelf/gelf_fsize.c b/libelf/gelf_fsize.c
index 0c509265..d04ec5d5 100644
--- a/libelf/gelf_fsize.c
+++ b/libelf/gelf_fsize.c
@@ -64,6 +64,8 @@ const size_t __libelf_type_sizes[EV_NUM - 1][ELFCLASSNUM - 1][ELF_T_NUM] =
[ELF_T_VNEED] = sizeof (ElfW2(LIBELFBITS, Ext_Verneed)), \
[ELF_T_VNAUX] = sizeof (ElfW2(LIBELFBITS, Ext_Vernaux)), \
[ELF_T_NHDR] = sizeof (ElfW2(LIBELFBITS, Ext_Nhdr)), \
+ /* Note the header size is the same, but padding is different. */ \
+ [ELF_T_NHDR8] = sizeof (ElfW2(LIBELFBITS, Ext_Nhdr)), \
[ELF_T_SYMINFO] = sizeof (ElfW2(LIBELFBITS, Ext_Syminfo)), \
[ELF_T_MOVE] = sizeof (ElfW2(LIBELFBITS, Ext_Move)), \
[ELF_T_LIB] = sizeof (ElfW2(LIBELFBITS, Ext_Lib)), \
diff --git a/libelf/gelf_getnote.c b/libelf/gelf_getnote.c
index c75eddab..6d33b355 100644
--- a/libelf/gelf_getnote.c
+++ b/libelf/gelf_getnote.c
@@ -1,5 +1,5 @@
/* Get note information at the supplied offset.
- Copyright (C) 2007, 2014, 2015 Red Hat, Inc.
+ Copyright (C) 2007, 2014, 2015, 2018 Red Hat, Inc.
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
@@ -43,7 +43,7 @@ gelf_getnote (Elf_Data *data, size_t offset, GElf_Nhdr *result,
if (data == NULL)
return 0;
- if (unlikely (data->d_type != ELF_T_NHDR))
+ if (unlikely (data->d_type != ELF_T_NHDR && data->d_type != ELF_T_NHDR8))
{
__libelf_seterrno (ELF_E_INVALID_HANDLE);
return 0;
@@ -69,27 +69,42 @@ gelf_getnote (Elf_Data *data, size_t offset, GElf_Nhdr *result,
const GElf_Nhdr *n = data->d_buf + offset;
offset += sizeof *n;
- /* Include padding. Check below for overflow. */
- GElf_Word namesz = NOTE_ALIGN (n->n_namesz);
- GElf_Word descsz = NOTE_ALIGN (n->n_descsz);
-
- if (unlikely (offset > data->d_size
- || data->d_size - offset < namesz
- || (namesz == 0 && n->n_namesz != 0)))
+ if (offset > data->d_size)
offset = 0;
else
{
+ /* This is slightly tricky, offset is guaranteed to be 4
+ byte aligned, which is what we need for the name_offset.
+ And normally desc_offset is also 4 byte aligned, but not
+ for GNU Property notes, then it should be 8. So align
+ the offset, after adding the namesz, and include padding
+ in descsz to get to the end. */
*name_offset = offset;
- offset += namesz;
- if (unlikely (offset > data->d_size
- || data->d_size - offset < descsz
- || (descsz == 0 && n->n_descsz != 0)))
+ offset += n->n_namesz;
+ if (offset > data->d_size)
offset = 0;
else
{
- *desc_offset = offset;
- offset += descsz;
- *result = *n;
+ /* Include padding. Check below for overflow. */
+ GElf_Word descsz = (data->d_type == ELF_T_NHDR8
+ ? NOTE_ALIGN8 (n->n_descsz)
+ : NOTE_ALIGN4 (n->n_descsz));
+
+ if (data->d_type == ELF_T_NHDR8)
+ offset = NOTE_ALIGN8 (offset);
+ else
+ offset = NOTE_ALIGN4 (offset);
+
+ if (unlikely (offset > data->d_size
+ || data->d_size - offset < descsz
+ || (descsz == 0 && n->n_descsz != 0)))
+ offset = 0;
+ else
+ {
+ *desc_offset = offset;
+ offset += descsz;
+ *result = *n;
+ }
}
}
}
diff --git a/libelf/gelf_xlate.c b/libelf/gelf_xlate.c
index 479f1436..b5d6ef3d 100644
--- a/libelf/gelf_xlate.c
+++ b/libelf/gelf_xlate.c
@@ -195,7 +195,8 @@ const xfct_t __elf_xfctstom[EV_NUM - 1][EV_NUM - 1][ELFCLASSNUM - 1][ELF_T_NUM]
[ELF_T_VDAUX] = elf_cvt_Verdef, \
[ELF_T_VNEED] = elf_cvt_Verneed, \
[ELF_T_VNAUX] = elf_cvt_Verneed, \
- [ELF_T_NHDR] = elf_cvt_note, \
+ [ELF_T_NHDR] = elf_cvt_note4, \
+ [ELF_T_NHDR8] = elf_cvt_note8, \
[ELF_T_SYMINFO] = ElfW2(Bits, cvt_Syminfo), \
[ELF_T_MOVE] = ElfW2(Bits, cvt_Move), \
[ELF_T_LIB] = ElfW2(Bits, cvt_Lib), \
diff --git a/libelf/libelf.h b/libelf/libelf.h
index d11358cc..1ff11c95 100644
--- a/libelf/libelf.h
+++ b/libelf/libelf.h
@@ -117,6 +117,8 @@ typedef enum
ELF_T_GNUHASH, /* GNU-style hash section. */
ELF_T_AUXV, /* Elf32_auxv_t, Elf64_auxv_t, ... */
ELF_T_CHDR, /* Compressed, Elf32_Chdr, Elf64_Chdr, ... */
+ ELF_T_NHDR8, /* Special GNU Properties note. Same as Nhdr,
+ except padding. */
/* Keep this the last entry. */
ELF_T_NUM
} Elf_Type;
diff --git a/libelf/libelfP.h b/libelf/libelfP.h
index ed216c8c..9f3e8e9d 100644
--- a/libelf/libelfP.h
+++ b/libelf/libelfP.h
@@ -452,7 +452,8 @@ extern const uint_fast8_t __libelf_type_aligns[EV_NUM - 1][ELFCLASSNUM - 1][ELF_
/* Given an Elf handle and a section type returns the Elf_Data d_type.
Should not be called when SHF_COMPRESSED is set, the d_type should
be ELF_T_BYTE. */
-extern Elf_Type __libelf_data_type (Elf *elf, int sh_type) internal_function;
+extern Elf_Type __libelf_data_type (Elf *elf, int sh_type, GElf_Xword align)
+ internal_function;
/* The libelf API does not have such a function but it is still useful.
Get the memory size for the given type.
@@ -460,9 +461,9 @@ extern Elf_Type __libelf_data_type (Elf *elf, int sh_type) internal_function;
These functions cannot be marked internal since they are aliases
of the export elfXX_fsize functions.*/
extern size_t __elf32_msize (Elf_Type __type, size_t __count,
- unsigned int __version);
+ unsigned int __version) __const_attribute__;
extern size_t __elf64_msize (Elf_Type __type, size_t __count,
- unsigned int __version);
+ unsigned int __version) __const_attribute__;
/* Create Elf descriptor from memory image. */
@@ -624,8 +625,13 @@ extern void __libelf_reset_rawdata (Elf_Scn *scn, void *buf, size_t size,
} \
} while (0)
-/* Align offset to 4 bytes as needed for note name and descriptor data. */
-#define NOTE_ALIGN(n) (((n) + 3) & -4U)
+/* Align offset to 4 bytes as needed for note name and descriptor data.
+ This is almost always used, except for GNU Property notes, which use
+ 8 byte padding... */
+#define NOTE_ALIGN4(n) (((n) + 3) & -4U)
+
+/* Special note padding rule for GNU Property notes. */
+#define NOTE_ALIGN8(n) (((n) + 7) & -8U)
/* Convenience macro. */
#define INVALID_NDX(ndx, type, data) \
diff --git a/libelf/note_xlate.h b/libelf/note_xlate.h
index 62c6f63d..9bdc3e2c 100644
--- a/libelf/note_xlate.h
+++ b/libelf/note_xlate.h
@@ -1,5 +1,5 @@
/* Conversion functions for notes.
- Copyright (C) 2007, 2009, 2014 Red Hat, Inc.
+ Copyright (C) 2007, 2009, 2014, 2018 Red Hat, Inc.
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
@@ -27,38 +27,60 @@
not, see <http://www.gnu.org/licenses/>. */
static void
-elf_cvt_note (void *dest, const void *src, size_t len, int encode)
+elf_cvt_note (void *dest, const void *src, size_t len, int encode,
+ bool nhdr8)
{
+ /* Note that the header is always the same size, but the padding
+ differs for GNU Property notes. */
assert (sizeof (Elf32_Nhdr) == sizeof (Elf64_Nhdr));
while (len >= sizeof (Elf32_Nhdr))
{
+ /* Convert the header. */
(1 ? Elf32_cvt_Nhdr : Elf64_cvt_Nhdr) (dest, src, sizeof (Elf32_Nhdr),
encode);
const Elf32_Nhdr *n = encode ? src : dest;
- Elf32_Word namesz = NOTE_ALIGN (n->n_namesz);
- Elf32_Word descsz = NOTE_ALIGN (n->n_descsz);
- len -= sizeof *n;
- src += sizeof *n;
- dest += sizeof *n;
+ size_t note_len = sizeof *n;
- if (namesz > len)
+ /* desc needs to be aligned. */
+ note_len += n->n_namesz;
+ note_len = nhdr8 ? NOTE_ALIGN8 (note_len) : NOTE_ALIGN4 (note_len);
+ if (note_len > len || note_len < 8)
break;
- len -= namesz;
- if (descsz > len)
+
+ /* data as a whole needs to be aligned. */
+ note_len += n->n_descsz;
+ note_len = nhdr8 ? NOTE_ALIGN8 (note_len) : NOTE_ALIGN4 (note_len);
+ if (note_len > len || note_len < 8)
break;
- len -= descsz;
+ /* Copy or skip the note data. */
+ size_t note_data_len = note_len - sizeof *n;
+ src += sizeof *n;
+ dest += sizeof *n;
if (src != dest)
- memcpy (dest, src, namesz + descsz);
+ memcpy (dest, src, note_data_len);
- src += namesz + descsz;
- dest += namesz + descsz;
+ src += note_data_len;
+ dest += note_data_len;
+ len -= note_len;
}
- /* Copy opver any leftover data unconcerted. Probably part of
+ /* Copy over any leftover data unconverted. Probably part of
truncated name/desc data. */
if (unlikely (len > 0) && src != dest)
memcpy (dest, src, len);
}
+
+static void
+elf_cvt_note4 (void *dest, const void *src, size_t len, int encode)
+{
+ elf_cvt_note (dest, src, len, encode, false);
+}
+
+static void
+elf_cvt_note8 (void *dest, const void *src, size_t len, int encode)
+{
+ elf_cvt_note (dest, src, len, encode, true);
+}
diff --git a/po/de.po b/po/de.po
index c3aecf43..88d7e6bc 100644
--- a/po/de.po
+++ b/po/de.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: elfutils VERSION\n"
"Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n"
-"POT-Creation-Date: 2018-09-14 12:05+0200\n"
+"POT-Creation-Date: 2018-11-16 12:42+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"
@@ -54,8 +54,8 @@ msgstr ""
"GARANTIE,\n"
"auch nicht für Marktgängigkeit oder Eignung für einen Bestimmten Zweck.\n"
-#: lib/xmalloc.c:52 lib/xmalloc.c:65 lib/xmalloc.c:77 src/readelf.c:3409
-#: src/readelf.c:11212 src/unstrip.c:2256 src/unstrip.c:2462
+#: lib/xmalloc.c:52 lib/xmalloc.c:65 lib/xmalloc.c:77 src/readelf.c:3414
+#: src/readelf.c:11259 src/unstrip.c:2346 src/unstrip.c:2552
#, c-format
msgid "memory exhausted"
msgstr "Kein Speicher mehr verfügbar"
@@ -298,7 +298,7 @@ msgstr "unbekannter Typ"
msgid ".debug_addr section missing"
msgstr ".debug_line Sektion fehlt"
-#: libdwfl/argp-std.c:50 src/stack.c:638 src/unstrip.c:2403
+#: libdwfl/argp-std.c:50 src/stack.c:638 src/unstrip.c:2493
msgid "Input selection options:"
msgstr "Eingabeauswahloptionen:"
@@ -530,8 +530,8 @@ msgstr "Ungültige ELF Datei"
msgid "No backend"
msgstr "Kein Backend"
-#: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:76
-#: libebl/eblobjnotetypename.c:83 libebl/eblobjnotetypename.c:102
+#: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:77
+#: libebl/eblobjnotetypename.c:109 libebl/eblobjnotetypename.c:130
#: libebl/eblosabiname.c:73 libebl/eblsectionname.c:83
#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:79
msgid "<unknown>"
@@ -542,58 +542,58 @@ msgstr "<Unbekannt>"
msgid "<unknown>: %#<PRIx64>"
msgstr "<Unbekannt>: %#<PRIx64>"
-#: libebl/eblobjnote.c:53
+#: libebl/eblobjnote.c:58
#, fuzzy, c-format
msgid "unknown SDT version %u\n"
msgstr "unbekannte Version"
-#: libebl/eblobjnote.c:71
+#: libebl/eblobjnote.c:76
#, fuzzy, c-format
msgid "invalid SDT probe descriptor\n"
msgstr "ungültiger Datei-Deskriptor"
-#: libebl/eblobjnote.c:121
+#: libebl/eblobjnote.c:126
#, c-format
msgid " PC: "
msgstr ""
-#: libebl/eblobjnote.c:123
+#: libebl/eblobjnote.c:128
#, c-format
msgid " Base: "
msgstr ""
-#: libebl/eblobjnote.c:125
+#: libebl/eblobjnote.c:130
#, c-format
msgid " Semaphore: "
msgstr ""
-#: libebl/eblobjnote.c:127
+#: libebl/eblobjnote.c:132
#, c-format
msgid " Provider: "
msgstr ""
-#: libebl/eblobjnote.c:129
+#: libebl/eblobjnote.c:134
#, c-format
msgid " Name: "
msgstr ""
-#: libebl/eblobjnote.c:131
+#: libebl/eblobjnote.c:136
#, c-format
msgid " Args: "
msgstr ""
-#: libebl/eblobjnote.c:141
+#: libebl/eblobjnote.c:300
#, c-format
msgid " Build ID: "
msgstr " Build ID: "
#. A non-null terminated version string.
-#: libebl/eblobjnote.c:152
+#: libebl/eblobjnote.c:311
#, c-format
msgid " Linker version: %.*s\n"
msgstr ""
-#: libebl/eblobjnote.c:213
+#: libebl/eblobjnote.c:553
#, c-format
msgid " OS: %s, ABI: "
msgstr " OS: %s, ABI: "
@@ -627,7 +627,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:87 src/readelf.c:6123
+#: libelf/elf_error.c:87 src/readelf.c:6129
#, c-format
msgid "invalid encoding"
msgstr "ungültige Kodierung"
@@ -715,8 +715,8 @@ msgstr "data/scn Unterschied"
msgid "invalid section header"
msgstr "ungültiger Abschnitts-Header"
-#: libelf/elf_error.c:191 src/readelf.c:9758 src/readelf.c:10329
-#: src/readelf.c:10430 src/readelf.c:10611
+#: libelf/elf_error.c:191 src/readelf.c:9775 src/readelf.c:10375
+#: src/readelf.c:10476 src/readelf.c:10658
#, c-format
msgid "invalid data"
msgstr "Ungültige Daten"
@@ -1048,12 +1048,12 @@ msgstr ""
msgid "no entry %s in archive\n"
msgstr "Kein Eintrag %s in Archiv\n"
-#: src/ar.c:472 src/ar.c:917 src/ar.c:1121
+#: src/ar.c:472 src/ar.c:923 src/ar.c:1127
#, c-format
msgid "cannot create hash table"
msgstr "Konnte Hash-Tabelle nicht erstellen"
-#: src/ar.c:479 src/ar.c:924 src/ar.c:1130
+#: src/ar.c:479 src/ar.c:930 src/ar.c:1136
#, c-format
msgid "cannot insert into hash table"
msgstr "Konnte nicht in Hash-Tabelle einfügen"
@@ -1063,97 +1063,97 @@ msgstr "Konnte nicht in Hash-Tabelle einfügen"
msgid "cannot stat '%s'"
msgstr ""
-#: src/ar.c:583
+#: src/ar.c:589
#, c-format
msgid "cannot read content of %s: %s"
msgstr "Konnte Inhalt von %s: %s nicht lesen"
-#: src/ar.c:626
+#: src/ar.c:632
#, c-format
msgid "cannot open %.*s"
msgstr "Konnte %.*s nicht öffnen"
-#: src/ar.c:648
+#: src/ar.c:654
#, c-format
msgid "failed to write %s"
msgstr "Konnte %s nicht schreiben"
-#: src/ar.c:660
+#: src/ar.c:666
#, c-format
msgid "cannot change mode of %s"
msgstr ""
-#: src/ar.c:676
+#: src/ar.c:682
#, c-format
msgid "cannot change modification time of %s"
msgstr "Konnte Bearbeitungszeit von %s nicht ändern"
-#: src/ar.c:722
+#: src/ar.c:728
#, c-format
msgid "cannot rename temporary file to %.*s"
msgstr "Konnte temporäre Datei nicht in %.*s umbenennen"
-#: src/ar.c:758 src/ar.c:1009 src/ar.c:1410 src/ranlib.c:222
+#: src/ar.c:764 src/ar.c:1015 src/ar.c:1416 src/ranlib.c:222
#, c-format
msgid "cannot create new file"
msgstr "neue Datei konnte nicht angelegt werden"
-#: src/ar.c:1212
+#: src/ar.c:1218
#, c-format
msgid "position member %s not found"
msgstr ""
-#: src/ar.c:1222
+#: src/ar.c:1228
#, c-format
msgid "%s: no entry %s in archive!\n"
msgstr "%s: Kein Eintrag %s in dem Archiv!\n"
-#: src/ar.c:1251 src/objdump.c:241
+#: src/ar.c:1257 src/objdump.c:241
#, c-format
msgid "cannot open %s"
msgstr "Konnte %s nicht öffnen"
-#: src/ar.c:1256
+#: src/ar.c:1262
#, c-format
msgid "cannot stat %s"
msgstr ""
-#: src/ar.c:1262
+#: src/ar.c:1268
#, c-format
msgid "%s is no regular file"
msgstr "%s ist keine reguläre Datei"
-#: src/ar.c:1275
+#: src/ar.c:1281
#, c-format
msgid "cannot get ELF descriptor for %s: %s\n"
msgstr ""
-#: src/ar.c:1295
+#: src/ar.c:1301
#, c-format
msgid "cannot read %s: %s"
msgstr "Konnte %s: %s nicht lesen"
-#: src/ar.c:1470
+#: src/ar.c:1476
#, fuzzy, c-format
msgid "cannot represent ar_date"
msgstr "konnte Abschnittsdaten nicht kopieren: %s"
-#: src/ar.c:1476
+#: src/ar.c:1482
#, fuzzy, c-format
msgid "cannot represent ar_uid"
msgstr "konnte Abschnittsdaten nicht kopieren: %s"
-#: src/ar.c:1482
+#: src/ar.c:1488
#, fuzzy, c-format
msgid "cannot represent ar_gid"
msgstr "konnte Abschnittsdaten nicht kopieren: %s"
-#: src/ar.c:1488
+#: src/ar.c:1494
#, fuzzy, c-format
msgid "cannot represent ar_mode"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/ar.c:1494
+#: src/ar.c:1500
#, fuzzy, c-format
msgid "cannot represent ar_size"
msgstr "Konnte %s nicht öffnen"
@@ -1374,8 +1374,8 @@ msgid "Invalid value '%s' for --gaps parameter."
msgstr ""
#: src/elfcmp.c:734 src/findtextrel.c:205 src/nm.c:364 src/ranlib.c:141
-#: src/size.c:272 src/strings.c:185 src/strip.c:517 src/strip.c:554
-#: src/unstrip.c:2052 src/unstrip.c:2081
+#: src/size.c:272 src/strings.c:185 src/strip.c:984 src/strip.c:1021
+#: src/unstrip.c:2142 src/unstrip.c:2171
#, c-format
msgid "cannot open '%s'"
msgstr "'%s' kann nicht geöffnet werden"
@@ -1390,7 +1390,7 @@ msgstr ""
msgid "cannot create EBL descriptor for '%s'"
msgstr ""
-#: src/elfcmp.c:761 src/findtextrel.c:393
+#: src/elfcmp.c:761 src/findtextrel.c:394
#, c-format
msgid "cannot get section header of section %zu: %s"
msgstr ""
@@ -1405,7 +1405,7 @@ msgstr ""
msgid "cannot get relocation: %s"
msgstr ""
-#: src/elfcompress.c:115 src/strip.c:296 src/unstrip.c:121
+#: src/elfcompress.c:115 src/strip.c:308 src/unstrip.c:121
#, c-format
msgid "-o option specified twice"
msgstr ""
@@ -1458,7 +1458,7 @@ msgid ""
"rewrite the file even if no section would be (de)compressed"
msgstr ""
-#: src/elfcompress.c:1324 src/strip.c:90
+#: src/elfcompress.c:1324 src/strip.c:93
msgid "Relax a few rules to handle slightly broken ELF files"
msgstr ""
@@ -1673,7 +1673,7 @@ msgstr ""
#: src/elflint.c:610 src/elflint.c:1494 src/elflint.c:1545 src/elflint.c:1651
#: src/elflint.c:1987 src/elflint.c:2313 src/elflint.c:2932 src/elflint.c:3095
-#: src/elflint.c:3243 src/elflint.c:3433 src/elflint.c:4401
+#: src/elflint.c:3243 src/elflint.c:3433 src/elflint.c:4431
#, c-format
msgid "section [%2d] '%s': cannot get section data\n"
msgstr ""
@@ -3027,194 +3027,197 @@ msgid ""
"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
msgstr ""
-#: src/elflint.c:4344
+#: src/elflint.c:4370
#, c-format
-msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %zu\n"
+msgid ""
+"phdr[%d]: unknown object file note type %<PRIu32> with owner name '%s' at "
+"offset %zu\n"
msgstr ""
-#: src/elflint.c:4348
+#: src/elflint.c:4375
#, c-format
msgid ""
-"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n"
+"section [%2d] '%s': unknown object file note type %<PRIu32> with owner name "
+"'%s' at offset %zu\n"
msgstr ""
-#: src/elflint.c:4365
+#: src/elflint.c:4394
#, c-format
msgid "phdr[%d]: no note entries defined for the type of file\n"
msgstr ""
-#: src/elflint.c:4384
+#: src/elflint.c:4414
#, c-format
msgid "phdr[%d]: cannot get content of note section: %s\n"
msgstr ""
-#: src/elflint.c:4387
+#: src/elflint.c:4417
#, c-format
msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
msgstr ""
-#: src/elflint.c:4408
+#: src/elflint.c:4438
#, c-format
msgid "section [%2d] '%s': no note entries defined for the type of file\n"
msgstr ""
-#: src/elflint.c:4415
+#: src/elflint.c:4445
#, c-format
msgid "section [%2d] '%s': cannot get content of note section\n"
msgstr ""
-#: src/elflint.c:4418
+#: src/elflint.c:4448
#, c-format
msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
msgstr ""
-#: src/elflint.c:4436
+#: src/elflint.c:4466
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
msgstr ""
-#: src/elflint.c:4451
+#: src/elflint.c:4481
#, c-format
msgid "cannot get program header entry %d: %s\n"
msgstr ""
-#: src/elflint.c:4460
+#: src/elflint.c:4490
#, c-format
msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:4471
+#: src/elflint.c:4501
#, c-format
msgid "more than one INTERP entry in program header\n"
msgstr ""
-#: src/elflint.c:4479
+#: src/elflint.c:4509
#, c-format
msgid "more than one TLS entry in program header\n"
msgstr ""
-#: src/elflint.c:4486
+#: src/elflint.c:4516
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr ""
-#: src/elflint.c:4500
+#: src/elflint.c:4530
#, c-format
msgid "dynamic section reference in program header has wrong offset\n"
msgstr ""
-#: src/elflint.c:4503
+#: src/elflint.c:4533
#, c-format
msgid "dynamic section size mismatch in program and section header\n"
msgstr ""
-#: src/elflint.c:4513
+#: src/elflint.c:4543
#, c-format
msgid "more than one GNU_RELRO entry in program header\n"
msgstr ""
-#: src/elflint.c:4534
+#: src/elflint.c:4564
#, c-format
msgid "loadable segment GNU_RELRO applies to is not writable\n"
msgstr ""
-#: src/elflint.c:4545
+#: src/elflint.c:4575
#, c-format
msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
msgstr ""
-#: src/elflint.c:4552
+#: src/elflint.c:4582
#, c-format
msgid ""
"GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
msgstr ""
-#: src/elflint.c:4561 src/elflint.c:4584
+#: src/elflint.c:4591 src/elflint.c:4614
#, c-format
msgid "%s segment not contained in a loaded segment\n"
msgstr ""
-#: src/elflint.c:4590
+#: src/elflint.c:4620
#, c-format
msgid "program header offset in ELF header and PHDR entry do not match"
msgstr ""
-#: src/elflint.c:4615
+#: src/elflint.c:4647
#, c-format
msgid "call frame search table reference in program header has wrong offset\n"
msgstr ""
-#: src/elflint.c:4618
+#: src/elflint.c:4650
#, c-format
msgid "call frame search table size mismatch in program and section header\n"
msgstr ""
-#: src/elflint.c:4631
+#: src/elflint.c:4663
#, c-format
msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
msgstr ""
-#: src/elflint.c:4639
+#: src/elflint.c:4671
#, c-format
msgid "call frame search table must be allocated\n"
msgstr ""
-#: src/elflint.c:4642
+#: src/elflint.c:4674
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
msgstr ""
-#: src/elflint.c:4646
+#: src/elflint.c:4678
#, c-format
msgid "call frame search table must not be writable\n"
msgstr ""
-#: src/elflint.c:4649
+#: src/elflint.c:4681
#, c-format
msgid "section [%2zu] '%s' must not be writable\n"
msgstr ""
-#: src/elflint.c:4654
+#: src/elflint.c:4686
#, c-format
msgid "call frame search table must not be executable\n"
msgstr ""
-#: src/elflint.c:4657
+#: src/elflint.c:4689
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
msgstr ""
-#: src/elflint.c:4668
+#: src/elflint.c:4700
#, c-format
msgid "program header entry %d: file size greater than memory size\n"
msgstr ""
-#: src/elflint.c:4675
+#: src/elflint.c:4707
#, c-format
msgid "program header entry %d: alignment not a power of 2\n"
msgstr ""
-#: src/elflint.c:4678
+#: src/elflint.c:4710
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
"alignment\n"
msgstr ""
-#: src/elflint.c:4691
+#: src/elflint.c:4723
#, 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:4725
+#: src/elflint.c:4757
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr ""
-#: src/elflint.c:4751
+#: src/elflint.c:4783
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr ""
@@ -3238,7 +3241,7 @@ msgstr ""
#. Strings for arguments in help texts.
#: src/findtextrel.c:74 src/nm.c:108 src/objdump.c:71 src/size.c:80
-#: src/strings.c:87 src/strip.c:98
+#: src/strings.c:87 src/strip.c:101
msgid "[FILE...]"
msgstr ""
@@ -3257,73 +3260,73 @@ msgstr ""
msgid "getting get section header of section %zu: %s"
msgstr ""
-#: src/findtextrel.c:276
+#: src/findtextrel.c:277
#, c-format
msgid "cannot read dynamic section: %s"
msgstr ""
-#: src/findtextrel.c:297
+#: src/findtextrel.c:298
#, c-format
msgid "no text relocations reported in '%s'"
msgstr ""
-#: src/findtextrel.c:309
+#: src/findtextrel.c:310
#, c-format
msgid "while reading ELF file"
msgstr ""
-#: src/findtextrel.c:313
+#: src/findtextrel.c:314
#, fuzzy, c-format
msgid "cannot get program header count: %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/findtextrel.c:324 src/findtextrel.c:341
+#: src/findtextrel.c:325 src/findtextrel.c:342
#, fuzzy, c-format
msgid "cannot get program header index at offset %zd: %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/findtextrel.c:405
+#: src/findtextrel.c:406
#, c-format
msgid "cannot get symbol table section %zu in '%s': %s"
msgstr ""
-#: src/findtextrel.c:425 src/findtextrel.c:448
+#: src/findtextrel.c:427 src/findtextrel.c:450
#, c-format
msgid "cannot get relocation at index %d in section %zu in '%s': %s"
msgstr ""
-#: src/findtextrel.c:514
+#: src/findtextrel.c:516
#, c-format
msgid "%s not compiled with -fpic/-fPIC\n"
msgstr ""
-#: src/findtextrel.c:567
+#: src/findtextrel.c:570
#, c-format
msgid ""
"the file containing the function '%s' is not compiled with -fpic/-fPIC\n"
msgstr ""
-#: src/findtextrel.c:574 src/findtextrel.c:594
+#: src/findtextrel.c:577 src/findtextrel.c:597
#, c-format
msgid ""
"the file containing the function '%s' might not be compiled with -fpic/-"
"fPIC\n"
msgstr ""
-#: src/findtextrel.c:582
+#: src/findtextrel.c:585
#, c-format
msgid ""
"either the file containing the function '%s' or the file containing the "
"function '%s' is not compiled with -fpic/-fPIC\n"
msgstr ""
-#: src/findtextrel.c:602
+#: src/findtextrel.c:605
#, c-format
msgid ""
"a relocation modifies memory at offset %llu in a write-protected segment\n"
msgstr ""
-#: src/nm.c:66 src/strip.c:69
+#: src/nm.c:66 src/strip.c:70
msgid "Output selection:"
msgstr ""
@@ -3390,7 +3393,7 @@ msgstr "Kennzeichne schwache Symbole"
msgid "Print size of defined symbols"
msgstr "Zeige Grösse der definierten Symbole"
-#: src/nm.c:91 src/size.c:68 src/strip.c:74 src/unstrip.c:73
+#: src/nm.c:91 src/size.c:68 src/strip.c:75 src/unstrip.c:73
msgid "Output options:"
msgstr "Ausgabeoptionen:"
@@ -3420,18 +3423,18 @@ msgstr ""
msgid "Output formatting"
msgstr "Ausgabeformat:"
-#: src/nm.c:140 src/objdump.c:103 src/size.c:105 src/strip.c:130
+#: src/nm.c:140 src/objdump.c:103 src/size.c:105 src/strip.c:133
#, fuzzy, c-format
msgid "%s: INTERNAL ERROR %d (%s): %s"
msgstr "%s: INTERNER FEHLER %d (%s-%s): %s"
#: src/nm.c:381 src/nm.c:393 src/size.c:288 src/size.c:297 src/size.c:308
-#: src/strip.c:2505
+#: src/strip.c:2747
#, c-format
msgid "while closing '%s'"
msgstr "beim Schliessen von '%s'"
-#: src/nm.c:403 src/objdump.c:280 src/strip.c:442
+#: src/nm.c:403 src/objdump.c:280 src/strip.c:797
#, c-format
msgid "%s: File format not recognized"
msgstr "%s: Dateiformat nicht erkannt"
@@ -3472,12 +3475,12 @@ msgid "cannot create search tree"
msgstr "Kann Suchbaum nicht erstellen"
#: src/nm.c:746 src/nm.c:1207 src/objdump.c:777 src/readelf.c:605
-#: src/readelf.c:1410 src/readelf.c:1558 src/readelf.c:1759 src/readelf.c:1965
-#: src/readelf.c:2155 src/readelf.c:2333 src/readelf.c:2409 src/readelf.c:2667
-#: src/readelf.c:2743 src/readelf.c:2830 src/readelf.c:3428 src/readelf.c:3478
-#: src/readelf.c:3541 src/readelf.c:11044 src/readelf.c:12216
-#: src/readelf.c:12419 src/readelf.c:12487 src/size.c:396 src/size.c:465
-#: src/strip.c:571
+#: src/readelf.c:1412 src/readelf.c:1563 src/readelf.c:1764 src/readelf.c:1970
+#: src/readelf.c:2160 src/readelf.c:2338 src/readelf.c:2414 src/readelf.c:2672
+#: src/readelf.c:2748 src/readelf.c:2835 src/readelf.c:3433 src/readelf.c:3483
+#: src/readelf.c:3546 src/readelf.c:11091 src/readelf.c:12276
+#: src/readelf.c:12480 src/readelf.c:12548 src/size.c:398 src/size.c:467
+#: src/strip.c:1038
#, c-format
msgid "cannot get section header string table index"
msgstr ""
@@ -3569,11 +3572,11 @@ msgstr "Keine Operation angegeben.\n"
msgid "while close `%s'"
msgstr ""
-#: src/objdump.c:363 src/readelf.c:2060 src/readelf.c:2252
+#: src/objdump.c:363 src/readelf.c:2065 src/readelf.c:2257
msgid "INVALID SYMBOL"
msgstr ""
-#: src/objdump.c:378 src/readelf.c:2094 src/readelf.c:2288
+#: src/objdump.c:378 src/readelf.c:2099 src/readelf.c:2293
msgid "INVALID SECTION"
msgstr ""
@@ -3773,21 +3776,21 @@ msgstr ""
msgid "cannot generate Elf descriptor: %s"
msgstr "konnte Elf-Deskriptor nicht erzeugen: %s"
-#: src/readelf.c:596 src/readelf.c:924 src/strip.c:640
+#: src/readelf.c:596 src/readelf.c:923 src/strip.c:1133
#, c-format
msgid "cannot determine number of sections: %s"
msgstr ""
-#: src/readelf.c:614 src/readelf.c:1226 src/readelf.c:1434
+#: src/readelf.c:614 src/readelf.c:1228 src/readelf.c:1436
#, c-format
msgid "cannot get section: %s"
msgstr ""
-#: src/readelf.c:623 src/readelf.c:1233 src/readelf.c:1442 src/readelf.c:12439
-#: src/unstrip.c:394 src/unstrip.c:425 src/unstrip.c:474 src/unstrip.c:584
-#: src/unstrip.c:605 src/unstrip.c:642 src/unstrip.c:846 src/unstrip.c:1138
-#: src/unstrip.c:1330 src/unstrip.c:1391 src/unstrip.c:1564 src/unstrip.c:1679
-#: src/unstrip.c:1819 src/unstrip.c:1914
+#: src/readelf.c:623 src/readelf.c:1235 src/readelf.c:1444 src/readelf.c:12500
+#: src/unstrip.c:395 src/unstrip.c:426 src/unstrip.c:481 src/unstrip.c:600
+#: src/unstrip.c:621 src/unstrip.c:660 src/unstrip.c:871 src/unstrip.c:1202
+#: src/unstrip.c:1394 src/unstrip.c:1458 src/unstrip.c:1632 src/unstrip.c:1766
+#: src/unstrip.c:1909 src/unstrip.c:2004
#, c-format
msgid "cannot get section header: %s"
msgstr ""
@@ -3797,8 +3800,8 @@ msgstr ""
msgid "cannot get section name"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:640 src/readelf.c:6533 src/readelf.c:10317 src/readelf.c:10419
-#: src/readelf.c:10596
+#: src/readelf.c:640 src/readelf.c:6539 src/readelf.c:10363 src/readelf.c:10465
+#: src/readelf.c:10643
#, c-format
msgid "cannot get %s content: %s"
msgstr ""
@@ -3848,274 +3851,279 @@ msgstr "Konnte '%s' nicht lesen: %s"
msgid "No such section '%s' in '%s'"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:909
+#: src/readelf.c:908
#, c-format
msgid "cannot read ELF header: %s"
msgstr ""
-#: src/readelf.c:917
+#: src/readelf.c:916
#, c-format
msgid "cannot create EBL handle"
msgstr ""
-#: src/readelf.c:930
+#: src/readelf.c:929
#, fuzzy, c-format
msgid "cannot determine number of program headers: %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/readelf.c:1020
+#: src/readelf.c:961
+#, fuzzy, c-format
+msgid "cannot read ELF: %s"
+msgstr "Konnte %s: %s nicht lesen"
+
+#: src/readelf.c:1022
msgid "NONE (None)"
msgstr ""
-#: src/readelf.c:1021
+#: src/readelf.c:1023
msgid "REL (Relocatable file)"
msgstr ""
-#: src/readelf.c:1022
+#: src/readelf.c:1024
msgid "EXEC (Executable file)"
msgstr ""
-#: src/readelf.c:1023
+#: src/readelf.c:1025
msgid "DYN (Shared object file)"
msgstr ""
-#: src/readelf.c:1024
+#: src/readelf.c:1026
msgid "CORE (Core file)"
msgstr ""
-#: src/readelf.c:1029
+#: src/readelf.c:1031
#, c-format
msgid "OS Specific: (%x)\n"
msgstr ""
#. && e_type <= ET_HIPROC always true
-#: src/readelf.c:1031
+#: src/readelf.c:1033
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr ""
-#: src/readelf.c:1041
+#: src/readelf.c:1043
msgid ""
"ELF Header:\n"
" Magic: "
msgstr ""
-#: src/readelf.c:1045
+#: src/readelf.c:1047
#, c-format
msgid ""
"\n"
" Class: %s\n"
msgstr ""
-#: src/readelf.c:1050
+#: src/readelf.c:1052
#, fuzzy, c-format
msgid " Data: %s\n"
msgstr " Daten: %s\n"
-#: src/readelf.c:1056
+#: src/readelf.c:1058
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr ""
-#: src/readelf.c:1058 src/readelf.c:1075
+#: src/readelf.c:1060 src/readelf.c:1077
msgid "(current)"
msgstr "(aktuell)"
-#: src/readelf.c:1062
+#: src/readelf.c:1064
#, c-format
msgid " OS/ABI: %s\n"
msgstr ""
-#: src/readelf.c:1065
+#: src/readelf.c:1067
#, c-format
msgid " ABI Version: %hhd\n"
msgstr ""
-#: src/readelf.c:1068
+#: src/readelf.c:1070
msgid " Type: "
msgstr " Typ: "
-#: src/readelf.c:1071
+#: src/readelf.c:1073
#, c-format
msgid " Machine: %s\n"
msgstr ""
-#: src/readelf.c:1073
+#: src/readelf.c:1075
#, c-format
msgid " Version: %d %s\n"
msgstr ""
-#: src/readelf.c:1077
+#: src/readelf.c:1079
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr ""
-#: src/readelf.c:1080
+#: src/readelf.c:1082
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr ""
-#: src/readelf.c:1081 src/readelf.c:1084
+#: src/readelf.c:1083 src/readelf.c:1086
msgid "(bytes into file)"
msgstr ""
-#: src/readelf.c:1083
+#: src/readelf.c:1085
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr ""
-#: src/readelf.c:1086
+#: src/readelf.c:1088
#, c-format
msgid " Flags: %s\n"
msgstr ""
-#: src/readelf.c:1089
+#: src/readelf.c:1091
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr ""
-#: src/readelf.c:1090 src/readelf.c:1093 src/readelf.c:1110
+#: src/readelf.c:1092 src/readelf.c:1095 src/readelf.c:1112
msgid "(bytes)"
msgstr "(Bytes)"
-#: src/readelf.c:1092
+#: src/readelf.c:1094
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr ""
-#: src/readelf.c:1095
+#: src/readelf.c:1097
#, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr ""
-#: src/readelf.c:1102
+#: src/readelf.c:1104
#, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr ""
-#: src/readelf.c:1105 src/readelf.c:1122 src/readelf.c:1136
+#: src/readelf.c:1107 src/readelf.c:1124 src/readelf.c:1138
msgid " ([0] not available)"
msgstr ""
-#: src/readelf.c:1109
+#: src/readelf.c:1111
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr ""
-#: src/readelf.c:1112
+#: src/readelf.c:1114
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr ""
-#: src/readelf.c:1119
+#: src/readelf.c:1121
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr ""
#. We managed to get the zeroth section.
-#: src/readelf.c:1132
+#: src/readelf.c:1134
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr ""
-#: src/readelf.c:1140
+#: src/readelf.c:1142
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
"\n"
msgstr ""
-#: src/readelf.c:1144
+#: src/readelf.c:1146
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
"\n"
msgstr ""
-#: src/readelf.c:1191 src/readelf.c:1399
+#: src/readelf.c:1193 src/readelf.c:1401
#, fuzzy, c-format
msgid "cannot get number of sections: %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/readelf.c:1194
+#: src/readelf.c:1196
#, fuzzy, c-format
msgid ""
"There are %zd section headers, starting at offset %#<PRIx64>:\n"
"\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:1203
+#: src/readelf.c:1205
#, fuzzy, c-format
msgid "cannot get section header string table index: %s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:1206
+#: src/readelf.c:1208
msgid "Section Headers:"
msgstr ""
-#: src/readelf.c:1209
+#: src/readelf.c:1211
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
msgstr ""
-#: src/readelf.c:1211
+#: src/readelf.c:1213
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
msgstr ""
-#: src/readelf.c:1216
+#: src/readelf.c:1218
msgid " [Compression Size Al]"
msgstr ""
-#: src/readelf.c:1218
+#: src/readelf.c:1220
msgid " [Compression Size Al]"
msgstr ""
-#: src/readelf.c:1294
+#: src/readelf.c:1296
#, c-format
msgid "bad compression header for section %zd: %s"
msgstr ""
-#: src/readelf.c:1305
+#: src/readelf.c:1307
#, c-format
msgid "bad gnu compressed size for section %zd: %s"
msgstr ""
-#: src/readelf.c:1323
+#: src/readelf.c:1325
msgid "Program Headers:"
msgstr "Programm-Köpfe:"
-#: src/readelf.c:1325
+#: src/readelf.c:1327
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
-#: src/readelf.c:1328
+#: src/readelf.c:1330
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
msgstr ""
-#: src/readelf.c:1385
+#: src/readelf.c:1387
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr ""
-#: src/readelf.c:1412
+#: src/readelf.c:1414
msgid ""
"\n"
" Section to Segment mapping:\n"
" Segment Sections..."
msgstr ""
-#: src/readelf.c:1423 src/unstrip.c:1973 src/unstrip.c:2015 src/unstrip.c:2022
+#: src/readelf.c:1425 src/unstrip.c:2063 src/unstrip.c:2105 src/unstrip.c:2112
#, c-format
msgid "cannot get program header: %s"
msgstr ""
-#: src/readelf.c:1566
+#: src/readelf.c:1571
#, c-format
msgid ""
"\n"
@@ -4126,7 +4134,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1571
+#: src/readelf.c:1576
#, c-format
msgid ""
"\n"
@@ -4137,31 +4145,31 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1579
+#: src/readelf.c:1584
msgid "<INVALID SYMBOL>"
msgstr ""
-#: src/readelf.c:1593
+#: src/readelf.c:1598
msgid "<INVALID SECTION>"
msgstr ""
-#: src/readelf.c:1616 src/readelf.c:2343 src/readelf.c:3444 src/readelf.c:12310
-#: src/readelf.c:12317 src/readelf.c:12361 src/readelf.c:12368
+#: src/readelf.c:1621 src/readelf.c:2348 src/readelf.c:3449 src/readelf.c:12371
+#: src/readelf.c:12378 src/readelf.c:12422 src/readelf.c:12429
msgid "Couldn't uncompress section"
msgstr ""
-#: src/readelf.c:1621 src/readelf.c:2348 src/readelf.c:3449
+#: src/readelf.c:1626 src/readelf.c:2353 src/readelf.c:3454
#, fuzzy, c-format
msgid "cannot get section [%zd] header: %s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:1765 src/readelf.c:2415 src/readelf.c:2673 src/readelf.c:2749
-#: src/readelf.c:3053 src/readelf.c:3127 src/readelf.c:5322
+#: src/readelf.c:1770 src/readelf.c:2420 src/readelf.c:2678 src/readelf.c:2754
+#: src/readelf.c:3058 src/readelf.c:3132 src/readelf.c:5327
#, fuzzy, c-format
msgid "invalid sh_link value in section %zu"
msgstr "ungültige .debug_line Sektion"
-#: src/readelf.c:1768
+#: src/readelf.c:1773
#, c-format
msgid ""
"\n"
@@ -4174,43 +4182,43 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1778
+#: src/readelf.c:1783
msgid " Type Value\n"
msgstr ""
-#: src/readelf.c:1802
+#: src/readelf.c:1807
#, c-format
msgid "Shared library: [%s]\n"
msgstr ""
-#: src/readelf.c:1807
+#: src/readelf.c:1812
#, c-format
msgid "Library soname: [%s]\n"
msgstr ""
-#: src/readelf.c:1812
+#: src/readelf.c:1817
#, c-format
msgid "Library rpath: [%s]\n"
msgstr ""
-#: src/readelf.c:1817
+#: src/readelf.c:1822
#, c-format
msgid "Library runpath: [%s]\n"
msgstr ""
-#: src/readelf.c:1837
+#: src/readelf.c:1842
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr ""
-#: src/readelf.c:1950 src/readelf.c:2140
+#: src/readelf.c:1955 src/readelf.c:2145
#, c-format
msgid ""
"\n"
"Invalid symbol table at offset %#0<PRIx64>\n"
msgstr ""
-#: src/readelf.c:1968 src/readelf.c:2158
+#: src/readelf.c:1973 src/readelf.c:2163
#, c-format
msgid ""
"\n"
@@ -4229,7 +4237,7 @@ 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:1983 src/readelf.c:2173
+#: src/readelf.c:1988 src/readelf.c:2178
#, c-format
msgid ""
"\n"
@@ -4240,29 +4248,29 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1993
+#: src/readelf.c:1998
msgid " Offset Type Value Name\n"
msgstr ""
-#: src/readelf.c:1995
+#: src/readelf.c:2000
msgid " Offset Type Value Name\n"
msgstr ""
-#: src/readelf.c:2048 src/readelf.c:2059 src/readelf.c:2072 src/readelf.c:2093
-#: src/readelf.c:2105 src/readelf.c:2239 src/readelf.c:2251 src/readelf.c:2265
-#: src/readelf.c:2287 src/readelf.c:2300
+#: src/readelf.c:2053 src/readelf.c:2064 src/readelf.c:2077 src/readelf.c:2098
+#: src/readelf.c:2110 src/readelf.c:2244 src/readelf.c:2256 src/readelf.c:2270
+#: src/readelf.c:2292 src/readelf.c:2305
msgid "<INVALID RELOC>"
msgstr ""
-#: src/readelf.c:2183
+#: src/readelf.c:2188
msgid " Offset Type Value Addend Name\n"
msgstr ""
-#: src/readelf.c:2185
+#: src/readelf.c:2190
msgid " Offset Type Value Addend Name\n"
msgstr ""
-#: src/readelf.c:2423
+#: src/readelf.c:2428
#, c-format
msgid ""
"\n"
@@ -4273,40 +4281,40 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2428
+#: src/readelf.c:2433
#, 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:2436
+#: src/readelf.c:2441
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: src/readelf.c:2438
+#: src/readelf.c:2443
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: src/readelf.c:2458
+#: src/readelf.c:2463
#, c-format
msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
msgstr ""
-#: src/readelf.c:2546
+#: src/readelf.c:2551
#, c-format
msgid "bad dynamic symbol"
msgstr ""
-#: src/readelf.c:2628
+#: src/readelf.c:2633
msgid "none"
msgstr "keine"
-#: src/readelf.c:2645
+#: src/readelf.c:2650
msgid "| <unknown>"
msgstr "| <unbekannt>"
-#: src/readelf.c:2676
+#: src/readelf.c:2681
#, c-format
msgid ""
"\n"
@@ -4319,17 +4327,17 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2697
+#: src/readelf.c:2702
#, fuzzy, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: Version: %hu Datei: %s Cnt: %hu\n"
-#: src/readelf.c:2710
+#: src/readelf.c:2715
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: Name: %s Flags: %s Version: %hu\n"
-#: src/readelf.c:2753
+#: src/readelf.c:2758
#, c-format
msgid ""
"\n"
@@ -4342,18 +4350,18 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2781
+#: src/readelf.c:2786
#, c-format
msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n"
msgstr ""
-#: src/readelf.c:2796
+#: src/readelf.c:2801
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr ""
#. Print the header.
-#: src/readelf.c:3057
+#: src/readelf.c:3062
#, c-format
msgid ""
"\n"
@@ -4366,15 +4374,15 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:3085
+#: src/readelf.c:3090
msgid " 0 *local* "
msgstr " 0 *lokal* "
-#: src/readelf.c:3090
+#: src/readelf.c:3095
msgid " 1 *global* "
msgstr " 1 *global* "
-#: src/readelf.c:3132
+#: src/readelf.c:3137
#, c-format
msgid ""
"\n"
@@ -4389,66 +4397,66 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:3154
+#: src/readelf.c:3159
#, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr ""
-#: src/readelf.c:3156
+#: src/readelf.c:3161
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:3163
+#: src/readelf.c:3168
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:3176
+#: src/readelf.c:3181
#, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
"\t\t\t unsuccessful lookup: %f\n"
msgstr ""
-#: src/readelf.c:3194 src/readelf.c:3258 src/readelf.c:3324
+#: src/readelf.c:3199 src/readelf.c:3263 src/readelf.c:3329
#, c-format
msgid "cannot get data for section %d: %s"
msgstr ""
-#: src/readelf.c:3202
+#: src/readelf.c:3207
#, fuzzy, c-format
msgid "invalid data in sysv.hash section %d"
msgstr "ungültige .debug_line Sektion"
-#: src/readelf.c:3231
+#: src/readelf.c:3236
#, fuzzy, c-format
msgid "invalid chain in sysv.hash section %d"
msgstr "ungültige .debug_line Sektion"
-#: src/readelf.c:3266
+#: src/readelf.c:3271
#, fuzzy, c-format
msgid "invalid data in sysv.hash64 section %d"
msgstr "ungültige .debug_line Sektion"
-#: src/readelf.c:3297
+#: src/readelf.c:3302
#, fuzzy, c-format
msgid "invalid chain in sysv.hash64 section %d"
msgstr "ungültige .debug_line Sektion"
-#: src/readelf.c:3333
+#: src/readelf.c:3338
#, fuzzy, c-format
msgid "invalid data in gnu.hash section %d"
msgstr "ungültige .debug_line Sektion"
-#: src/readelf.c:3400
+#: src/readelf.c:3405
#, c-format
msgid ""
" Symbol Bias: %u\n"
" Bitmask Size: %zu bytes %<PRIuFAST32>%% bits set 2nd hash shift: %u\n"
msgstr ""
-#: src/readelf.c:3489
+#: src/readelf.c:3494
#, c-format
msgid ""
"\n"
@@ -4459,13 +4467,13 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:3503
+#: src/readelf.c:3508
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
msgstr ""
-#: src/readelf.c:3553
+#: src/readelf.c:3558
#, c-format
msgid ""
"\n"
@@ -4473,102 +4481,102 @@ msgid ""
"%#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:3570
+#: src/readelf.c:3575
msgid " Owner Size\n"
msgstr ""
-#: src/readelf.c:3599
+#: src/readelf.c:3604
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
#. Unknown subsection, print and skip.
-#: src/readelf.c:3638
+#: src/readelf.c:3643
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
#. Tag_File
-#: src/readelf.c:3643
+#: src/readelf.c:3648
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " File: %11<PRIu32>\n"
-#: src/readelf.c:3692
+#: src/readelf.c:3697
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>, %s\n"
-#: src/readelf.c:3695
+#: src/readelf.c:3700
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3698
+#: src/readelf.c:3703
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3708
+#: src/readelf.c:3713
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3711
+#: src/readelf.c:3716
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3781
+#: src/readelf.c:3786
#, fuzzy, c-format
msgid "sprintf failure"
msgstr "mprotect fehlgeschlagen"
-#: src/readelf.c:4263
+#: src/readelf.c:4268
msgid "empty block"
msgstr ""
-#: src/readelf.c:4266
+#: src/readelf.c:4271
#, c-format
msgid "%zu byte block:"
msgstr ""
-#: src/readelf.c:4744
+#: src/readelf.c:4749
#, c-format
msgid "%*s[%2<PRIuMAX>] %s <TRUNCATED>\n"
msgstr ""
-#: src/readelf.c:4808
+#: src/readelf.c:4813
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr ""
-#: src/readelf.c:4815
+#: src/readelf.c:4820
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr ""
-#: src/readelf.c:4822
+#: src/readelf.c:4827
#, c-format
msgid "%s %#<PRIx64> used with different base addresses"
msgstr ""
-#: src/readelf.c:4829
+#: src/readelf.c:4834
#, c-format
msgid "%s %#<PRIx64> used with different attribute %s and %s"
msgstr ""
-#: src/readelf.c:4926
+#: src/readelf.c:4931
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr ""
-#: src/readelf.c:4934
+#: src/readelf.c:4939
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr ""
-#: src/readelf.c:5012
+#: src/readelf.c:5017
#, c-format
msgid ""
"\n"
@@ -4576,79 +4584,79 @@ msgid ""
" [ Code]\n"
msgstr ""
-#: src/readelf.c:5020
+#: src/readelf.c:5025
#, c-format
msgid ""
"\n"
"Abbreviation section at offset %<PRIu64>:\n"
msgstr ""
-#: src/readelf.c:5033
+#: src/readelf.c:5038
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr ""
-#: src/readelf.c:5049
+#: src/readelf.c:5054
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr ""
-#: src/readelf.c:5082 src/readelf.c:5391 src/readelf.c:5557 src/readelf.c:5942
-#: src/readelf.c:6543 src/readelf.c:8184 src/readelf.c:8854 src/readelf.c:9290
-#: src/readelf.c:9534 src/readelf.c:9699 src/readelf.c:10060
-#: src/readelf.c:10118
+#: src/readelf.c:5087 src/readelf.c:5396 src/readelf.c:5563 src/readelf.c:5948
+#: src/readelf.c:6549 src/readelf.c:8199 src/readelf.c:8870 src/readelf.c:9306
+#: src/readelf.c:9551 src/readelf.c:9717 src/readelf.c:10104
+#: src/readelf.c:10164
#, c-format
msgid ""
"\n"
"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:5095
+#: src/readelf.c:5100
#, fuzzy, c-format
msgid "cannot get .debug_addr section data: %s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:5195 src/readelf.c:5219 src/readelf.c:5602 src/readelf.c:8899
+#: src/readelf.c:5200 src/readelf.c:5224 src/readelf.c:5608 src/readelf.c:8915
#, fuzzy, c-format
msgid " Length: %8<PRIu64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5197 src/readelf.c:5234 src/readelf.c:5615 src/readelf.c:8912
+#: src/readelf.c:5202 src/readelf.c:5239 src/readelf.c:5621 src/readelf.c:8928
#, fuzzy, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5198 src/readelf.c:5243 src/readelf.c:5624 src/readelf.c:8921
+#: src/readelf.c:5203 src/readelf.c:5248 src/readelf.c:5630 src/readelf.c:8937
#, fuzzy, c-format
msgid " Address size: %8<PRIu64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5200 src/readelf.c:5253 src/readelf.c:5634 src/readelf.c:8931
+#: src/readelf.c:5205 src/readelf.c:5258 src/readelf.c:5640 src/readelf.c:8947
#, fuzzy, c-format
msgid " Segment size: %8<PRIu64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5238 src/readelf.c:5619 src/readelf.c:8916 src/readelf.c:10250
+#: src/readelf.c:5243 src/readelf.c:5625 src/readelf.c:8932 src/readelf.c:10296
#, fuzzy, c-format
msgid "Unknown version"
msgstr "unbekannte Version"
-#: src/readelf.c:5248 src/readelf.c:5461 src/readelf.c:5629 src/readelf.c:8926
+#: src/readelf.c:5253 src/readelf.c:5466 src/readelf.c:5635 src/readelf.c:8942
#, fuzzy, c-format
msgid "unsupported address size"
msgstr "Kein Adress-Wert"
-#: src/readelf.c:5259 src/readelf.c:5472 src/readelf.c:5639 src/readelf.c:8936
+#: src/readelf.c:5264 src/readelf.c:5477 src/readelf.c:5645 src/readelf.c:8952
#, c-format
msgid "unsupported segment size"
msgstr ""
-#: src/readelf.c:5312 src/readelf.c:5386
+#: src/readelf.c:5317 src/readelf.c:5391
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr ""
-#: src/readelf.c:5327
+#: src/readelf.c:5332
#, c-format
msgid ""
"\n"
@@ -4659,241 +4667,241 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:5358
+#: src/readelf.c:5363
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:5360
+#: src/readelf.c:5365
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
msgstr ""
-#: src/readelf.c:5404 src/readelf.c:8211
+#: src/readelf.c:5409 src/readelf.c:8226
#, c-format
msgid ""
"\n"
"Table at offset %zu:\n"
msgstr ""
-#: src/readelf.c:5408 src/readelf.c:5583 src/readelf.c:6567 src/readelf.c:8222
-#: src/readelf.c:8880
+#: src/readelf.c:5413 src/readelf.c:5589 src/readelf.c:6573 src/readelf.c:8237
+#: src/readelf.c:8896
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr ""
-#: src/readelf.c:5424
+#: src/readelf.c:5429
#, fuzzy, c-format
msgid ""
"\n"
" Length: %6<PRIu64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5436
+#: src/readelf.c:5441
#, fuzzy, c-format
msgid " DWARF version: %6<PRIuFAST16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5440
+#: src/readelf.c:5445
#, c-format
msgid "unsupported aranges version"
msgstr ""
-#: src/readelf.c:5451
+#: src/readelf.c:5456
#, fuzzy, c-format
msgid " CU offset: %6<PRIx64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5457
+#: src/readelf.c:5462
#, c-format
msgid " Address size: %6<PRIu64>\n"
msgstr ""
-#: src/readelf.c:5468
+#: src/readelf.c:5473
#, c-format
msgid ""
" Segment size: %6<PRIu64>\n"
"\n"
msgstr ""
-#: src/readelf.c:5523
+#: src/readelf.c:5528
#, c-format
msgid " %zu padding bytes\n"
msgstr ""
-#: src/readelf.c:5566
+#: src/readelf.c:5572
#, fuzzy, c-format
msgid "cannot get .debug_rnglists content: %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/readelf.c:5589 src/readelf.c:8886
+#: src/readelf.c:5595 src/readelf.c:8902
#, fuzzy, c-format
msgid ""
"Table at Offset 0x%<PRIx64>:\n"
"\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5644 src/readelf.c:8941
+#: src/readelf.c:5650 src/readelf.c:8957
#, fuzzy, c-format
msgid " Offset entries: %8<PRIu64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5660 src/readelf.c:8957
+#: src/readelf.c:5666 src/readelf.c:8973
#, c-format
msgid " Unknown CU base: "
msgstr ""
-#: src/readelf.c:5662 src/readelf.c:8959
+#: src/readelf.c:5668 src/readelf.c:8975
#, c-format
msgid " CU [%6<PRIx64>] base: "
msgstr ""
-#: src/readelf.c:5668 src/readelf.c:8965
+#: src/readelf.c:5674 src/readelf.c:8981
#, c-format
msgid " Not associated with a CU.\n"
msgstr ""
-#: src/readelf.c:5679 src/readelf.c:8976
+#: src/readelf.c:5685 src/readelf.c:8992
#, c-format
msgid "too many offset entries for unit length"
msgstr ""
-#: src/readelf.c:5683 src/readelf.c:8980
+#: src/readelf.c:5689 src/readelf.c:8996
#, fuzzy, c-format
msgid " Offsets starting at 0x%<PRIx64>:\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5735
+#: src/readelf.c:5741
#, fuzzy, c-format
msgid "invalid range list data"
msgstr "Ungültige Daten"
-#: src/readelf.c:5920 src/readelf.c:9268
+#: src/readelf.c:5926 src/readelf.c:9284
#, c-format
msgid ""
" %zu padding bytes\n"
"\n"
msgstr ""
-#: src/readelf.c:5937
+#: src/readelf.c:5943
#, c-format
msgid "cannot get .debug_ranges content: %s"
msgstr ""
-#: src/readelf.c:5973 src/readelf.c:9323
+#: src/readelf.c:5979 src/readelf.c:9339
#, c-format
msgid ""
"\n"
" Unknown CU base: "
msgstr ""
-#: src/readelf.c:5975 src/readelf.c:9325
+#: src/readelf.c:5981 src/readelf.c:9341
#, c-format
msgid ""
"\n"
" CU [%6<PRIx64>] base: "
msgstr ""
-#: src/readelf.c:5984 src/readelf.c:9351 src/readelf.c:9377
+#: src/readelf.c:5990 src/readelf.c:9367 src/readelf.c:9393
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr ""
-#: src/readelf.c:6005 src/readelf.c:9457
+#: src/readelf.c:6011 src/readelf.c:9473
#, c-format
msgid ""
" [%6tx] base address\n"
" "
msgstr ""
-#: src/readelf.c:6013 src/readelf.c:9465
+#: src/readelf.c:6019 src/readelf.c:9481
#, fuzzy, c-format
msgid " [%6tx] empty list\n"
msgstr " [%6tx] %s..%s\n"
-#: src/readelf.c:6268
+#: src/readelf.c:6274
msgid " <INVALID DATA>\n"
msgstr ""
-#: src/readelf.c:6521
+#: src/readelf.c:6527
#, fuzzy, c-format
msgid "cannot get ELF: %s"
msgstr "ELF Kopf konnte nicht ausgelesen werden"
-#: src/readelf.c:6539
+#: src/readelf.c:6545
#, c-format
msgid ""
"\n"
"Call frame information section [%2zu] '%s' at offset %#<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:6589
+#: src/readelf.c:6595
#, c-format
msgid ""
"\n"
" [%6tx] Zero terminator\n"
msgstr ""
-#: src/readelf.c:6682 src/readelf.c:6836
+#: src/readelf.c:6696 src/readelf.c:6850
#, fuzzy, c-format
msgid "invalid augmentation length"
msgstr "ungültige Abschnittsausrichtung"
-#: src/readelf.c:6697
+#: src/readelf.c:6711
msgid "FDE address encoding: "
msgstr ""
-#: src/readelf.c:6703
+#: src/readelf.c:6717
msgid "LSDA pointer encoding: "
msgstr ""
-#: src/readelf.c:6813
+#: src/readelf.c:6827
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr ""
-#: src/readelf.c:6820
+#: src/readelf.c:6834
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr ""
-#: src/readelf.c:6857
+#: src/readelf.c:6871
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr ""
-#: src/readelf.c:6942
+#: src/readelf.c:6956
#, c-format
msgid "DIE [%<PRIx64>] cannot get attribute code: %s"
msgstr ""
-#: src/readelf.c:6952
+#: src/readelf.c:6966
#, c-format
msgid "DIE [%<PRIx64>] cannot get attribute form: %s"
msgstr ""
-#: src/readelf.c:6974
+#: src/readelf.c:6988
#, c-format
msgid "DIE [%<PRIx64>] cannot get attribute '%s' (%s) value: %s"
msgstr ""
-#: src/readelf.c:7307
+#: src/readelf.c:7321
#, fuzzy, c-format
msgid "invalid file (%<PRId64>): %s"
msgstr "Ungültige Datei"
-#: src/readelf.c:7311
+#: src/readelf.c:7325
#, fuzzy, c-format
msgid "no srcfiles for CU [%<PRIx64>]"
msgstr "unbekannte Form %<PRIx64>"
-#: src/readelf.c:7315
+#: src/readelf.c:7329
#, fuzzy, c-format
msgid "couldn't get DWARF CU: %s"
msgstr "ELF Kopf konnte nicht ausgelesen werden"
-#: src/readelf.c:7538
+#: src/readelf.c:7552
#, c-format
msgid ""
"\n"
@@ -4901,12 +4909,12 @@ msgid ""
" [Offset]\n"
msgstr ""
-#: src/readelf.c:7588
+#: src/readelf.c:7602
#, fuzzy, c-format
msgid "cannot get next unit: %s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:7607
+#: src/readelf.c:7621
#, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -4915,7 +4923,7 @@ msgid ""
" Type signature: %#<PRIx64>, Type offset: %#<PRIx64> [%<PRIx64>]\n"
msgstr ""
-#: src/readelf.c:7619
+#: src/readelf.c:7633
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -4923,37 +4931,37 @@ msgid ""
"%<PRIu8>, Offset size: %<PRIu8>\n"
msgstr ""
-#: src/readelf.c:7629 src/readelf.c:7792
+#: src/readelf.c:7643 src/readelf.c:7806
#, c-format
msgid " Unit type: %s (%<PRIu8>)"
msgstr ""
-#: src/readelf.c:7656
+#: src/readelf.c:7670
#, c-format
msgid "unknown version (%d) or unit type (%d)"
msgstr ""
-#: src/readelf.c:7685
+#: src/readelf.c:7699
#, c-format
msgid "cannot get DIE offset: %s"
msgstr ""
-#: src/readelf.c:7694
+#: src/readelf.c:7708
#, 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:7732
+#: src/readelf.c:7746
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr ""
-#: src/readelf.c:7740
+#: src/readelf.c:7754
#, c-format
msgid "cannot get next DIE: %s"
msgstr ""
-#: src/readelf.c:7784
+#: src/readelf.c:7798
#, c-format
msgid ""
" Split compilation unit at offset %<PRIu64>:\n"
@@ -4961,7 +4969,7 @@ msgid ""
"%<PRIu8>, Offset size: %<PRIu8>\n"
msgstr ""
-#: src/readelf.c:7835
+#: src/readelf.c:7850
#, c-format
msgid ""
"\n"
@@ -4969,18 +4977,18 @@ msgid ""
"\n"
msgstr ""
-#: src/readelf.c:8167
+#: src/readelf.c:8182
#, fuzzy, c-format
msgid "unknown form: %s"
msgstr "unbekannte Form %<PRIx64>"
-#: src/readelf.c:8198
+#: src/readelf.c:8213
#, c-format
msgid "cannot get line data section data: %s"
msgstr ""
#. Print what we got so far.
-#: src/readelf.c:8300
+#: src/readelf.c:8315
#, c-format
msgid ""
"\n"
@@ -4999,171 +5007,171 @@ msgid ""
"Opcodes:\n"
msgstr ""
-#: src/readelf.c:8322
+#: src/readelf.c:8337
#, fuzzy, c-format
msgid "cannot handle .debug_line version: %u\n"
msgstr "ungültige .debug_line Sektion"
-#: src/readelf.c:8330
+#: src/readelf.c:8345
#, fuzzy, c-format
msgid "cannot handle address size: %u\n"
msgstr "Kein Adress-Wert"
-#: src/readelf.c:8338
+#: src/readelf.c:8353
#, c-format
msgid "cannot handle segment selector size: %u\n"
msgstr ""
-#: src/readelf.c:8348
+#: src/readelf.c:8363
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
msgstr ""
-#: src/readelf.c:8363
+#: src/readelf.c:8378
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:8374
+#: src/readelf.c:8389
msgid ""
"\n"
"Directory table:"
msgstr ""
-#: src/readelf.c:8380 src/readelf.c:8455
+#: src/readelf.c:8395 src/readelf.c:8470
#, fuzzy, c-format
msgid " ["
msgstr " %s: %s\n"
-#: src/readelf.c:8449
+#: src/readelf.c:8464
msgid ""
"\n"
"File name table:"
msgstr ""
-#: src/readelf.c:8510
+#: src/readelf.c:8525
msgid " Entry Dir Time Size Name"
msgstr ""
-#: src/readelf.c:8545
+#: src/readelf.c:8560
msgid ""
"\n"
"Line number statements:"
msgstr ""
-#: src/readelf.c:8568
+#: src/readelf.c:8583
#, c-format
msgid "invalid maximum operations per instruction is zero"
msgstr ""
-#: src/readelf.c:8602
+#: src/readelf.c:8617
#, c-format
msgid " special opcode %u: address+%u = "
msgstr ""
-#: src/readelf.c:8606
+#: src/readelf.c:8621
#, c-format
msgid ", op_index = %u, line%+d = %zu\n"
msgstr ""
-#: src/readelf.c:8609
+#: src/readelf.c:8624
#, c-format
msgid ", line%+d = %zu\n"
msgstr ""
-#: src/readelf.c:8627
+#: src/readelf.c:8642
#, c-format
msgid " extended opcode %u: "
msgstr ""
-#: src/readelf.c:8632
+#: src/readelf.c:8647
msgid " end of sequence"
msgstr ""
-#: src/readelf.c:8650
+#: src/readelf.c:8665
#, fuzzy, c-format
msgid " set address to "
msgstr "Außerhalb des Adressbereiches"
-#: src/readelf.c:8678
+#: src/readelf.c:8693
#, c-format
msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
msgstr ""
-#: src/readelf.c:8691
+#: src/readelf.c:8706
#, c-format
msgid " set discriminator to %u\n"
msgstr ""
#. Unknown, ignore it.
-#: src/readelf.c:8696
+#: src/readelf.c:8711
#, fuzzy
msgid " unknown opcode"
msgstr "unbekannter Typ"
#. Takes no argument.
-#: src/readelf.c:8708
+#: src/readelf.c:8723
msgid " copy"
msgstr ""
-#: src/readelf.c:8717
+#: src/readelf.c:8732
#, c-format
msgid " advance address by %u to "
msgstr ""
-#: src/readelf.c:8721 src/readelf.c:8777
+#: src/readelf.c:8736 src/readelf.c:8792
#, c-format
msgid ", op_index to %u"
msgstr ""
-#: src/readelf.c:8731
+#: src/readelf.c:8746
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr ""
-#: src/readelf.c:8739
+#: src/readelf.c:8754
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr ""
-#: src/readelf.c:8749
+#: src/readelf.c:8764
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr ""
-#: src/readelf.c:8756
+#: src/readelf.c:8771
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr ""
#. Takes no argument.
-#: src/readelf.c:8762
+#: src/readelf.c:8777
msgid " set basic block flag"
msgstr ""
-#: src/readelf.c:8773
+#: src/readelf.c:8788
#, c-format
msgid " advance address by constant %u to "
msgstr ""
-#: src/readelf.c:8792
+#: src/readelf.c:8807
#, c-format
msgid " advance address by fixed value %u to \n"
msgstr ""
#. Takes no argument.
-#: src/readelf.c:8802
+#: src/readelf.c:8817
msgid " set prologue end flag"
msgstr ""
#. Takes no argument.
-#: src/readelf.c:8807
+#: src/readelf.c:8822
msgid " set epilogue begin flag"
msgstr ""
-#: src/readelf.c:8816
+#: src/readelf.c:8831
#, c-format
msgid " set isa to %u\n"
msgstr ""
@@ -5171,103 +5179,103 @@ 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:8825
+#: src/readelf.c:8840
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:8863
+#: src/readelf.c:8879
#, fuzzy, c-format
msgid "cannot get .debug_loclists content: %s"
msgstr "konnte Eintrag aus der Symboltabelle nicht holen: %s"
-#: src/readelf.c:9032
+#: src/readelf.c:9048
#, fuzzy, c-format
msgid "invalid loclists data"
msgstr "Ungültige Daten"
-#: src/readelf.c:9285
+#: src/readelf.c:9301
#, c-format
msgid "cannot get .debug_loc content: %s"
msgstr ""
-#: src/readelf.c:9492 src/readelf.c:10506
+#: src/readelf.c:9508 src/readelf.c:10552
msgid " <INVALID DATA>\n"
msgstr ""
-#: src/readelf.c:9546 src/readelf.c:9709
+#: src/readelf.c:9563 src/readelf.c:9726
#, c-format
msgid "cannot get macro information section data: %s"
msgstr ""
-#: src/readelf.c:9626
+#: src/readelf.c:9643
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr ""
-#: src/readelf.c:9649
+#: src/readelf.c:9666
#, c-format
msgid "%*s*** missing DW_MACINFO_start_file argument at end of section"
msgstr ""
-#: src/readelf.c:9750
+#: src/readelf.c:9767
#, fuzzy, c-format
msgid " Offset: 0x%<PRIx64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:9762
+#: src/readelf.c:9779
#, fuzzy, c-format
msgid " Version: %<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:9768 src/readelf.c:10625
+#: src/readelf.c:9785 src/readelf.c:10672
#, c-format
msgid " unknown version, cannot parse section\n"
msgstr ""
-#: src/readelf.c:9775
+#: src/readelf.c:9792
#, fuzzy, c-format
-msgid " Flag: 0x%<PRIx8>\n"
+msgid " Flag: 0x%<PRIx8>"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:9778
+#: src/readelf.c:9821
#, c-format
msgid " Offset length: %<PRIu8>\n"
msgstr ""
-#: src/readelf.c:9786
+#: src/readelf.c:9829
#, c-format
msgid " .debug_line offset: 0x%<PRIx64>\n"
msgstr ""
-#: src/readelf.c:9811
+#: src/readelf.c:9854
#, c-format
msgid " extension opcode table, %<PRIu8> items:\n"
msgstr ""
-#: src/readelf.c:9818
+#: src/readelf.c:9861
#, c-format
msgid " [%<PRIx8>]"
msgstr ""
-#: src/readelf.c:9830
+#: src/readelf.c:9873
#, c-format
msgid " %<PRIu8> arguments:"
msgstr ""
-#: src/readelf.c:9845
+#: src/readelf.c:9888
#, c-format
msgid " no arguments."
msgstr ""
-#: src/readelf.c:10046
+#: src/readelf.c:10089
#, c-format
msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
msgstr ""
-#: src/readelf.c:10088
+#: src/readelf.c:10133
#, c-format
msgid ""
"\n"
@@ -5275,72 +5283,72 @@ msgid ""
" %*s String\n"
msgstr ""
-#: src/readelf.c:10103
+#: src/readelf.c:10148
#, c-format
msgid " *** error, missing string terminator\n"
msgstr ""
-#: src/readelf.c:10131
+#: src/readelf.c:10177
#, fuzzy, c-format
msgid "cannot get .debug_str_offsets section data: %s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:10230
+#: src/readelf.c:10276
#, fuzzy, c-format
msgid " Length: %8<PRIu64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10232
+#: src/readelf.c:10278
#, fuzzy, c-format
msgid " Offset size: %8<PRIu8>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10246
+#: src/readelf.c:10292
#, fuzzy, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10255
+#: src/readelf.c:10301
#, fuzzy, c-format
msgid " Padding: %8<PRIx16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10309
+#: src/readelf.c:10355
#, c-format
msgid ""
"\n"
"Call frame search table section [%2zu] '.eh_frame_hdr':\n"
msgstr ""
-#: src/readelf.c:10411
+#: src/readelf.c:10457
#, c-format
msgid ""
"\n"
"Exception handling table section [%2zu] '.gcc_except_table':\n"
msgstr ""
-#: src/readelf.c:10434
+#: src/readelf.c:10480
#, c-format
msgid " LPStart encoding: %#x "
msgstr ""
-#: src/readelf.c:10446
+#: src/readelf.c:10492
#, c-format
msgid " TType encoding: %#x "
msgstr ""
-#: src/readelf.c:10461
+#: src/readelf.c:10507
#, c-format
msgid " Call site encoding: %#x "
msgstr ""
-#: src/readelf.c:10474
+#: src/readelf.c:10520
msgid ""
"\n"
" Call site table:"
msgstr ""
-#: src/readelf.c:10488
+#: src/readelf.c:10534
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -5349,142 +5357,142 @@ msgid ""
" Action: %u\n"
msgstr ""
-#: src/readelf.c:10561
+#: src/readelf.c:10607
#, c-format
msgid "invalid TType encoding"
msgstr ""
-#: src/readelf.c:10587
+#: src/readelf.c:10634
#, c-format
msgid ""
"\n"
"GDB section [%2zu] '%s' at offset %#<PRIx64> contains %<PRId64> bytes :\n"
msgstr ""
-#: src/readelf.c:10616
+#: src/readelf.c:10663
#, fuzzy, c-format
msgid " Version: %<PRId32>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10634
+#: src/readelf.c:10681
#, c-format
msgid " CU offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:10641
+#: src/readelf.c:10688
#, c-format
msgid " TU offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:10648
+#: src/readelf.c:10695
#, c-format
msgid " address offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:10655
+#: src/readelf.c:10702
#, c-format
msgid " symbol offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:10662
+#: src/readelf.c:10709
#, c-format
msgid " constant offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:10676
+#: src/readelf.c:10723
#, c-format
msgid ""
"\n"
" CU list at offset %#<PRIx32> contains %zu entries:\n"
msgstr ""
-#: src/readelf.c:10701
+#: src/readelf.c:10748
#, c-format
msgid ""
"\n"
" TU list at offset %#<PRIx32> contains %zu entries:\n"
msgstr ""
-#: src/readelf.c:10730
+#: src/readelf.c:10777
#, c-format
msgid ""
"\n"
" Address list at offset %#<PRIx32> contains %zu entries:\n"
msgstr ""
-#: src/readelf.c:10762
+#: src/readelf.c:10809
#, c-format
msgid ""
"\n"
" Symbol table at offset %#<PRIx32> contains %zu slots:\n"
msgstr ""
-#: src/readelf.c:10900
+#: src/readelf.c:10947
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr ""
-#: src/readelf.c:11263 src/readelf.c:11885 src/readelf.c:11996
-#: src/readelf.c:12054
+#: src/readelf.c:11310 src/readelf.c:11932 src/readelf.c:12043
+#: src/readelf.c:12101
#, c-format
msgid "cannot convert core note data: %s"
msgstr ""
-#: src/readelf.c:11626
+#: src/readelf.c:11673
#, c-format
msgid ""
"\n"
"%*s... <repeats %u more times> ..."
msgstr ""
-#: src/readelf.c:12133
+#: src/readelf.c:12180
msgid " Owner Data size Type\n"
msgstr ""
-#: src/readelf.c:12151
+#: src/readelf.c:12209
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr ""
-#: src/readelf.c:12201
+#: src/readelf.c:12261
#, fuzzy, c-format
msgid "cannot get content of note: %s"
msgstr "Konnte Inhalt von %s: %s nicht lesen"
-#: src/readelf.c:12228
+#: src/readelf.c:12288
#, c-format
msgid ""
"\n"
"Note section [%2zu] '%s' of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:12251
+#: src/readelf.c:12311
#, c-format
msgid ""
"\n"
"Note segment of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:12297
+#: src/readelf.c:12358
#, fuzzy, c-format
msgid ""
"\n"
"Section [%zu] '%s' has no data to dump.\n"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:12324 src/readelf.c:12375
+#: src/readelf.c:12385 src/readelf.c:12436
#, fuzzy, c-format
msgid "cannot get data for section [%zu] '%s': %s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:12329
+#: src/readelf.c:12390
#, c-format
msgid ""
"\n"
"Hex dump of section [%zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:12334
+#: src/readelf.c:12395
#, c-format
msgid ""
"\n"
@@ -5492,21 +5500,21 @@ msgid ""
"%#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:12348
+#: src/readelf.c:12409
#, fuzzy, c-format
msgid ""
"\n"
"Section [%zu] '%s' has no strings to dump.\n"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:12380
+#: src/readelf.c:12441
#, c-format
msgid ""
"\n"
"String section [%zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:12385
+#: src/readelf.c:12446
#, c-format
msgid ""
"\n"
@@ -5514,45 +5522,45 @@ msgid ""
"offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:12434
+#: src/readelf.c:12495
#, c-format
msgid ""
"\n"
"section [%lu] does not exist"
msgstr ""
-#: src/readelf.c:12463
+#: src/readelf.c:12524
#, c-format
msgid ""
"\n"
"section '%s' does not exist"
msgstr ""
-#: src/readelf.c:12520
+#: src/readelf.c:12581
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr ""
-#: src/readelf.c:12523
+#: src/readelf.c:12584
#, c-format
msgid ""
"\n"
"Archive '%s' has no symbol index\n"
msgstr ""
-#: src/readelf.c:12527
+#: src/readelf.c:12588
#, c-format
msgid ""
"\n"
"Index of archive '%s' has %zu entries:\n"
msgstr ""
-#: src/readelf.c:12545
+#: src/readelf.c:12606
#, fuzzy, c-format
msgid "cannot extract member at offset %zu in '%s': %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/readelf.c:12550
+#: src/readelf.c:12611
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr ""
@@ -5615,12 +5623,12 @@ msgstr ""
msgid "%s: file format not recognized"
msgstr ""
-#: src/size.c:416 src/size.c:549
+#: src/size.c:418 src/size.c:551
#, c-format
msgid " (ex %s)"
msgstr ""
-#: src/size.c:574
+#: src/size.c:576
msgid "(TOTALS)\n"
msgstr ""
@@ -5806,94 +5814,114 @@ msgstr "mprotect fehlgeschlagen"
msgid "Skipping section %zd '%s' data outside file"
msgstr ""
-#: src/strip.c:70
+#: src/strip.c:71
msgid "Place stripped output into FILE"
msgstr ""
-#: src/strip.c:71
+#: src/strip.c:72
msgid "Extract the removed sections into FILE"
msgstr ""
-#: src/strip.c:72
+#: src/strip.c:73
msgid "Embed name FILE instead of -f argument"
msgstr ""
-#: src/strip.c:76
+#: src/strip.c:77
msgid "Remove all debugging symbols"
msgstr ""
-#: src/strip.c:80
+#: src/strip.c:81
msgid "Remove section headers (not recommended)"
msgstr ""
-#: src/strip.c:82
+#: src/strip.c:83
msgid "Copy modified/access timestamps to the output"
msgstr ""
-#: src/strip.c:84
+#: src/strip.c:85
msgid ""
"Resolve all trivial relocations between debug sections if the removed "
"sections are placed in a debug file (only relevant for ET_REL files, "
"operation is not reversable, needs -f)"
msgstr ""
-#: src/strip.c:86
+#: src/strip.c:87
+msgid ""
+"Similar to --reloc-debug-sections, but resolve all trivial relocations "
+"between debug sections in place. No other stripping is performed (operation "
+"is not reversable, incompatible with -f, -g, --remove-comment and --remove-"
+"section)"
+msgstr ""
+
+#: src/strip.c:89
msgid "Remove .comment section"
msgstr ""
-#: src/strip.c:87
+#: src/strip.c:90
msgid ""
"Remove the named section. SECTION is an extended wildcard pattern. May be "
"given more than once. Only non-allocated sections can be removed."
msgstr ""
-#: src/strip.c:88
+#: src/strip.c:91
msgid ""
"Keep the named section. SECTION is an extended wildcard pattern. May be "
"given more than once."
msgstr ""
#. Short description of program.
-#: src/strip.c:95
+#: src/strip.c:98
msgid "Discard symbols from object files."
msgstr ""
-#: src/strip.c:241
+#: src/strip.c:247
#, c-format
msgid "--reloc-debug-sections used without -f"
msgstr ""
-#: src/strip.c:255
+#: src/strip.c:253
+#, c-format
+msgid ""
+"--reloc-debug-sections-only incompatible with -f, -g, --remove-comment and --"
+"remove-section"
+msgstr ""
+
+#: src/strip.c:267
#, c-format
msgid "Only one input file allowed together with '-o' and '-f'"
msgstr ""
-#: src/strip.c:278
+#: src/strip.c:290
#, c-format
msgid "-f option specified twice"
msgstr ""
-#: src/strip.c:287
+#: src/strip.c:299
#, c-format
msgid "-F option specified twice"
msgstr ""
-#: src/strip.c:346
+#: src/strip.c:362
#, c-format
msgid "cannot both keep and remove .comment section"
msgstr ""
-#: src/strip.c:371 src/strip.c:395
+#: src/strip.c:574
+#, fuzzy, c-format
+msgid "bad relocation"
+msgstr "Relocations anzeigen"
+
+#: src/strip.c:726 src/strip.c:750
#, c-format
msgid "cannot stat input file '%s'"
msgstr ""
-#: src/strip.c:385
+#: src/strip.c:740
#, c-format
msgid "while opening '%s'"
msgstr ""
-#: src/strip.c:423
+#: src/strip.c:778
#, c-format
msgid "%s: cannot use -o or -f when stripping archive"
msgstr ""
@@ -5904,132 +5932,132 @@ msgstr ""
#. result = handle_ar (fd, elf, NULL, fname,
#. preserve_dates ? tv : NULL);
#.
-#: src/strip.c:435
+#: src/strip.c:790
#, fuzzy, c-format
msgid "%s: no support for stripping archive"
msgstr "%s: Kein Eintrag %s in dem Archiv!\n"
-#: src/strip.c:534
+#: src/strip.c:1001
#, c-format
msgid "cannot open EBL backend"
msgstr ""
-#: src/strip.c:579
+#: src/strip.c:1046
#, fuzzy, c-format
msgid "cannot get number of phdrs"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/strip.c:595 src/strip.c:619
-#, c-format
-msgid "cannot create new file '%s': %s"
-msgstr ""
+#: src/strip.c:1060 src/strip.c:1103
+#, fuzzy, c-format
+msgid "cannot create new ehdr for file '%s': %s"
+msgstr "neue Datei konnte nicht angelegt werden"
+
+#: src/strip.c:1070 src/strip.c:1113
+#, fuzzy, c-format
+msgid "cannot create new phdr for file '%s': %s"
+msgstr "neue Datei konnte nicht angelegt werden"
-#: src/strip.c:701
+#: src/strip.c:1194
#, c-format
msgid "illformed file '%s'"
msgstr ""
-#: src/strip.c:711
+#: src/strip.c:1204
#, fuzzy, c-format
msgid "Cannot remove allocated section '%s'"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/strip.c:720
+#: src/strip.c:1213
#, fuzzy, c-format
msgid "Cannot both keep and remove section '%s'"
msgstr "Konnte Archiv '%s' nicht öffnen"
-#: src/strip.c:1076 src/strip.c:1210
+#: src/strip.c:1573 src/strip.c:1688
#, c-format
msgid "while generating output file: %s"
msgstr ""
-#: src/strip.c:1141
+#: src/strip.c:1637
#, fuzzy, c-format
-msgid "%s: error while getting shdrstrndx: %s"
+msgid "%s: error while updating ELF header: %s"
msgstr "Fehler beim Schliessen des Elf-Desktriptor: %s\n"
-#: src/strip.c:1157
-#, c-format
-msgid "%s: error getting zero section: %s"
-msgstr ""
-
-#: src/strip.c:1166
+#: src/strip.c:1646
#, fuzzy, c-format
-msgid "%s: error while updating zero section: %s"
+msgid "%s: error while getting shdrstrndx: %s"
msgstr "Fehler beim Schliessen des Elf-Desktriptor: %s\n"
-#: src/strip.c:1176 src/strip.c:2292
-#, c-format
-msgid "%s: error while creating ELF header: %s"
-msgstr ""
+#: src/strip.c:1654 src/strip.c:2534
+#, fuzzy, c-format
+msgid "%s: error updating shdrstrndx: %s"
+msgstr "Fehler beim Schliessen des Elf-Desktriptor: %s\n"
-#: src/strip.c:1193
+#: src/strip.c:1671
#, c-format
msgid "while preparing output for '%s'"
msgstr ""
-#: src/strip.c:1255 src/strip.c:1318
+#: src/strip.c:1733 src/strip.c:1796
#, c-format
msgid "while create section header section: %s"
msgstr ""
-#: src/strip.c:1264
+#: src/strip.c:1742
#, c-format
msgid "cannot allocate section data: %s"
msgstr ""
-#: src/strip.c:1330
+#: src/strip.c:1808
#, c-format
msgid "while create section header string table: %s"
msgstr ""
-#: src/strip.c:1337
+#: src/strip.c:1815
#, c-format
msgid "no memory to create section header string table"
msgstr ""
-#: src/strip.c:1547
+#: src/strip.c:2027
#, c-format
msgid "Cannot remove symbol [%zd] from allocated symbol table [%zd]"
msgstr ""
-#: src/strip.c:2078
-#, fuzzy, c-format
-msgid "bad relocation"
-msgstr "Relocations anzeigen"
-
-#: src/strip.c:2203 src/strip.c:2316
+#: src/strip.c:2450 src/strip.c:2558
#, c-format
msgid "while writing '%s': %s"
msgstr ""
-#: src/strip.c:2214
+#: src/strip.c:2461
#, c-format
msgid "while creating '%s'"
msgstr ""
-#: src/strip.c:2237
+#: src/strip.c:2484
#, c-format
msgid "while computing checksum for debug information"
msgstr ""
-#: src/strip.c:2301
+#: src/strip.c:2525
+#, c-format
+msgid "%s: error while creating ELF header: %s"
+msgstr ""
+
+#: src/strip.c:2543
#, c-format
msgid "%s: error while reading the file: %s"
msgstr ""
-#: src/strip.c:2341 src/strip.c:2361
+#: src/strip.c:2583 src/strip.c:2603
#, fuzzy, c-format
msgid "while writing '%s'"
msgstr "beim Schliessen von '%s'"
-#: src/strip.c:2398 src/strip.c:2405
+#: src/strip.c:2640 src/strip.c:2647
#, c-format
msgid "error while finishing '%s': %s"
msgstr ""
-#: src/strip.c:2422 src/strip.c:2498
+#: src/strip.c:2664 src/strip.c:2740
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr ""
@@ -6115,269 +6143,299 @@ msgstr ""
msgid "cannot get shdrstrndx:%s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/unstrip.c:257
+#: src/unstrip.c:248 src/unstrip.c:2034
+#, c-format
+msgid "cannot get ELF header: %s"
+msgstr ""
+
+#: src/unstrip.c:258
#, fuzzy, c-format
msgid "cannot get new zero section: %s"
msgstr "konnte Versionierungsabschnitt nicht erstellen: %s"
-#: src/unstrip.c:260
+#: src/unstrip.c:261
#, fuzzy, c-format
msgid "cannot update new zero section: %s"
msgstr "konnte Versionierungsabschnitt nicht erstellen: %s"
-#: src/unstrip.c:264
+#: src/unstrip.c:265
#, c-format
msgid "cannot copy ELF header: %s"
msgstr ""
-#: src/unstrip.c:268 src/unstrip.c:1962 src/unstrip.c:2005
+#: src/unstrip.c:269 src/unstrip.c:2052 src/unstrip.c:2095
#, fuzzy, c-format
msgid "cannot get number of program headers: %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/unstrip.c:273 src/unstrip.c:1966
+#: src/unstrip.c:274 src/unstrip.c:2056
#, c-format
msgid "cannot create program headers: %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/unstrip.c:279
+#: src/unstrip.c:280
#, c-format
msgid "cannot copy program header: %s"
msgstr "konnte Programm-Kopf nicht kopieren: %s"
-#: src/unstrip.c:289
+#: src/unstrip.c:290
#, c-format
msgid "cannot copy section header: %s"
msgstr ""
-#: src/unstrip.c:292 src/unstrip.c:1597
+#: src/unstrip.c:293 src/unstrip.c:1665
#, c-format
msgid "cannot get section data: %s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/unstrip.c:294 src/unstrip.c:1599
+#: src/unstrip.c:295 src/unstrip.c:1667
#, c-format
msgid "cannot copy section data: %s"
msgstr "konnte Abschnittsdaten nicht kopieren: %s"
-#: src/unstrip.c:318
+#: src/unstrip.c:319
#, c-format
msgid "cannot create directory '%s'"
msgstr "konnte Verzeichnis nicht erstellen: %s"
-#: src/unstrip.c:390 src/unstrip.c:820 src/unstrip.c:1631
+#: src/unstrip.c:391 src/unstrip.c:845 src/unstrip.c:1702
#, c-format
msgid "cannot get symbol table entry: %s"
msgstr "konnte Eintrag aus der Symboltabelle nicht holen: %s"
-#: src/unstrip.c:406 src/unstrip.c:631 src/unstrip.c:652 src/unstrip.c:664
-#: src/unstrip.c:1652 src/unstrip.c:1828 src/unstrip.c:1852
+#: src/unstrip.c:407 src/unstrip.c:649 src/unstrip.c:670 src/unstrip.c:682
+#: src/unstrip.c:1723 src/unstrip.c:1918 src/unstrip.c:1942
#, c-format
msgid "cannot update symbol table: %s"
msgstr "konnte Symboltabelle nicht aktualisieren: %s"
-#: src/unstrip.c:416
+#: src/unstrip.c:417
#, c-format
msgid "cannot update section header: %s"
msgstr ""
-#: src/unstrip.c:455 src/unstrip.c:466
+#: src/unstrip.c:459 src/unstrip.c:473
#, c-format
msgid "cannot update relocation: %s"
msgstr ""
-#: src/unstrip.c:554
+#: src/unstrip.c:570
#, c-format
msgid "cannot get symbol version: %s"
msgstr ""
-#: src/unstrip.c:567
+#: src/unstrip.c:583
#, c-format
msgid "unexpected section type in [%zu] with sh_link to symtab"
msgstr ""
-#: src/unstrip.c:826
+#: src/unstrip.c:851
#, fuzzy, c-format
msgid "invalid string offset in symbol [%zu]"
msgstr "ungültiger Offset %zu für Symbol %s"
-#: src/unstrip.c:984 src/unstrip.c:1334
+#: src/unstrip.c:1009 src/unstrip.c:1398
#, fuzzy, c-format
msgid "cannot read section [%zu] name: %s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/unstrip.c:1025 src/unstrip.c:1044 src/unstrip.c:1082
+#: src/unstrip.c:1024
+#, fuzzy, c-format
+msgid "bad sh_link for group section: %s"
+msgstr "ungültige .debug_line Sektion"
+
+#: src/unstrip.c:1030
+#, fuzzy, c-format
+msgid "couldn't get shdr for group section: %s"
+msgstr "konnte Versionierungsabschnitt nicht erstellen: %s"
+
+#: src/unstrip.c:1035
+#, fuzzy, c-format
+msgid "bad data for group symbol section: %s"
+msgstr "ungültige .debug_line Sektion"
+
+#: src/unstrip.c:1041
+#, fuzzy, c-format
+msgid "couldn't get symbol for group section: %s"
+msgstr "konnte Programm-Kopf nicht erstellen: %s"
+
+#: src/unstrip.c:1046
+#, fuzzy, c-format
+msgid "bad symbol name for group section: %s"
+msgstr "konnte Programm-Kopf nicht erstellen: %s"
+
+#: src/unstrip.c:1088 src/unstrip.c:1107 src/unstrip.c:1145
#, c-format
msgid "cannot read '.gnu.prelink_undo' section: %s"
msgstr ""
-#: src/unstrip.c:1062
+#: src/unstrip.c:1125
#, c-format
msgid "overflow with shnum = %zu in '%s' section"
msgstr ""
-#: src/unstrip.c:1073
+#: src/unstrip.c:1136
#, c-format
msgid "invalid contents in '%s' section"
msgstr ""
-#: src/unstrip.c:1128 src/unstrip.c:1456
+#: src/unstrip.c:1192 src/unstrip.c:1524
#, fuzzy, c-format
msgid "cannot find matching section for [%zu] '%s'"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/unstrip.c:1253 src/unstrip.c:1268 src/unstrip.c:1535 src/unstrip.c:1787
+#: src/unstrip.c:1317 src/unstrip.c:1332 src/unstrip.c:1603 src/unstrip.c:1877
#, c-format
msgid "cannot add section name to string table: %s"
msgstr ""
-#: src/unstrip.c:1277
+#: src/unstrip.c:1341
#, c-format
msgid "cannot update section header string table data: %s"
msgstr ""
-#: src/unstrip.c:1305 src/unstrip.c:1309
+#: src/unstrip.c:1369 src/unstrip.c:1373
#, c-format
msgid "cannot get section header string table section index: %s"
msgstr ""
-#: src/unstrip.c:1313 src/unstrip.c:1317 src/unstrip.c:1550
+#: src/unstrip.c:1377 src/unstrip.c:1381 src/unstrip.c:1618
#, c-format
msgid "cannot get section count: %s"
msgstr ""
-#: src/unstrip.c:1320
+#: src/unstrip.c:1384
#, c-format
msgid "more sections in stripped file than debug file -- arguments reversed?"
msgstr ""
-#: src/unstrip.c:1379 src/unstrip.c:1471
+#: src/unstrip.c:1446 src/unstrip.c:1539
#, c-format
msgid "cannot read section header string table: %s"
msgstr ""
-#: src/unstrip.c:1529
+#: src/unstrip.c:1597
#, c-format
msgid "cannot add new section: %s"
msgstr ""
-#: src/unstrip.c:1639
+#: src/unstrip.c:1710
#, fuzzy, c-format
msgid "symbol [%zu] has invalid section index"
msgstr "ungültiger Abschnittsindex"
-#: src/unstrip.c:1923
+#: src/unstrip.c:1742
+#, fuzzy, c-format
+msgid "group has invalid section index [%zd]"
+msgstr "ungültiger Abschnittsindex"
+
+#: src/unstrip.c:2013
#, fuzzy, c-format
msgid "cannot read section data: %s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/unstrip.c:1944
-#, c-format
-msgid "cannot get ELF header: %s"
-msgstr ""
-
-#: src/unstrip.c:1952
+#: src/unstrip.c:2042
#, c-format
msgid "cannot update ELF header: %s"
msgstr ""
-#: src/unstrip.c:1976
+#: src/unstrip.c:2066
#, c-format
msgid "cannot update program header: %s"
msgstr "konnte Programm-Kopf nicht aktualisieren: %s"
-#: src/unstrip.c:1981 src/unstrip.c:2063
+#: src/unstrip.c:2071 src/unstrip.c:2153
#, c-format
msgid "cannot write output file: %s"
msgstr ""
-#: src/unstrip.c:2032
+#: src/unstrip.c:2122
#, c-format
msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
msgstr ""
-#: src/unstrip.c:2035
+#: src/unstrip.c:2125
#, c-format
msgid ""
"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
msgstr ""
-#: src/unstrip.c:2054 src/unstrip.c:2105 src/unstrip.c:2117 src/unstrip.c:2203
+#: src/unstrip.c:2144 src/unstrip.c:2195 src/unstrip.c:2207 src/unstrip.c:2293
#, c-format
msgid "cannot create ELF descriptor: %s"
msgstr ""
-#: src/unstrip.c:2096
+#: src/unstrip.c:2186
msgid "WARNING: "
msgstr ""
-#: src/unstrip.c:2098
+#: src/unstrip.c:2188
msgid ", use --force"
msgstr ""
-#: src/unstrip.c:2121
+#: src/unstrip.c:2211
msgid "ELF header identification (e_ident) different"
msgstr ""
-#: src/unstrip.c:2124
+#: src/unstrip.c:2214
msgid "ELF header type (e_type) different"
msgstr ""
-#: src/unstrip.c:2127
+#: src/unstrip.c:2217
msgid "ELF header machine type (e_machine) different"
msgstr ""
-#: src/unstrip.c:2130
+#: src/unstrip.c:2220
msgid "stripped program header (e_phnum) smaller than unstripped"
msgstr ""
-#: src/unstrip.c:2160
+#: src/unstrip.c:2250
#, c-format
msgid "cannot find stripped file for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2164
+#: src/unstrip.c:2254
#, c-format
msgid "cannot open stripped file '%s' for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2179
+#: src/unstrip.c:2269
#, c-format
msgid "cannot find debug file for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2183
+#: src/unstrip.c:2273
#, c-format
msgid "cannot open debug file '%s' for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2196
+#: src/unstrip.c:2286
#, c-format
msgid "module '%s' file '%s' is not stripped"
msgstr ""
-#: src/unstrip.c:2227
+#: src/unstrip.c:2317
#, c-format
msgid "cannot cache section addresses for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2360
+#: src/unstrip.c:2450
#, c-format
msgid "no matching modules found"
msgstr "kein passendes Modul gefunden"
-#: src/unstrip.c:2369
+#: src/unstrip.c:2459
#, c-format
msgid "matched more than one module"
msgstr "mehr als ein passendes Modul"
-#: src/unstrip.c:2413
+#: src/unstrip.c:2503
msgid ""
"STRIPPED-FILE DEBUG-FILE\n"
"[MODULE...]"
msgstr ""
-#: src/unstrip.c:2414
+#: src/unstrip.c:2504
msgid ""
"Combine stripped files with separate symbols and debug information.\n"
"\n"
diff --git a/po/es.po b/po/es.po
index 58fd06ed..ad84e9e9 100644
--- a/po/es.po
+++ b/po/es.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: elfutils.master.es\n"
"Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n"
-"POT-Creation-Date: 2018-09-14 12:05+0200\n"
+"POT-Creation-Date: 2018-11-16 12:42+0100\n"
"PO-Revision-Date: 2011-01-10 15:17-0300\n"
"Last-Translator: Claudio Rodrigo Pereyra Diaz <claudiorodrigo@pereyradiaz."
"com.ar>\n"
@@ -57,8 +57,8 @@ msgstr ""
"garantía, ni siquiera para SU COMERCIALIZACIÓN o PARA SER USADO CON UN FIN "
"DETERMINADO.\n"
-#: lib/xmalloc.c:52 lib/xmalloc.c:65 lib/xmalloc.c:77 src/readelf.c:3409
-#: src/readelf.c:11212 src/unstrip.c:2256 src/unstrip.c:2462
+#: lib/xmalloc.c:52 lib/xmalloc.c:65 lib/xmalloc.c:77 src/readelf.c:3414
+#: src/readelf.c:11259 src/unstrip.c:2346 src/unstrip.c:2552
#, c-format
msgid "memory exhausted"
msgstr "memoria agotada"
@@ -300,7 +300,7 @@ msgstr "código operativo desconocido "
msgid ".debug_addr section missing"
msgstr ".debug_ranges section faltante"
-#: libdwfl/argp-std.c:50 src/stack.c:638 src/unstrip.c:2403
+#: libdwfl/argp-std.c:50 src/stack.c:638 src/unstrip.c:2493
msgid "Input selection options:"
msgstr "Opciones de selección de entrada:"
@@ -528,8 +528,8 @@ msgstr "no es un archivo ELF válido"
msgid "No backend"
msgstr "No hay segundo plano (Backend)"
-#: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:76
-#: libebl/eblobjnotetypename.c:83 libebl/eblobjnotetypename.c:102
+#: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:77
+#: libebl/eblobjnotetypename.c:109 libebl/eblobjnotetypename.c:130
#: libebl/eblosabiname.c:73 libebl/eblsectionname.c:83
#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:79
msgid "<unknown>"
@@ -540,58 +540,58 @@ msgstr "<desconocido>"
msgid "<unknown>: %#<PRIx64>"
msgstr "<desconocido>: %#<PRIx64>"
-#: libebl/eblobjnote.c:53
+#: libebl/eblobjnote.c:58
#, fuzzy, c-format
msgid "unknown SDT version %u\n"
msgstr "versión desconocida"
-#: libebl/eblobjnote.c:71
+#: libebl/eblobjnote.c:76
#, fuzzy, c-format
msgid "invalid SDT probe descriptor\n"
msgstr "descriptor de archivo inválido"
-#: libebl/eblobjnote.c:121
+#: libebl/eblobjnote.c:126
#, c-format
msgid " PC: "
msgstr ""
-#: libebl/eblobjnote.c:123
+#: libebl/eblobjnote.c:128
#, c-format
msgid " Base: "
msgstr ""
-#: libebl/eblobjnote.c:125
+#: libebl/eblobjnote.c:130
#, c-format
msgid " Semaphore: "
msgstr ""
-#: libebl/eblobjnote.c:127
+#: libebl/eblobjnote.c:132
#, c-format
msgid " Provider: "
msgstr ""
-#: libebl/eblobjnote.c:129
+#: libebl/eblobjnote.c:134
#, c-format
msgid " Name: "
msgstr ""
-#: libebl/eblobjnote.c:131
+#: libebl/eblobjnote.c:136
#, c-format
msgid " Args: "
msgstr ""
-#: libebl/eblobjnote.c:141
+#: libebl/eblobjnote.c:300
#, c-format
msgid " Build ID: "
msgstr " Build ID: "
#. A non-null terminated version string.
-#: libebl/eblobjnote.c:152
+#: libebl/eblobjnote.c:311
#, c-format
msgid " Linker version: %.*s\n"
msgstr " Versión del Enlazador: %.*s\n"
-#: libebl/eblobjnote.c:213
+#: libebl/eblobjnote.c:553
#, c-format
msgid " OS: %s, ABI: "
msgstr " OS: %s, ABI: "
@@ -625,7 +625,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:87 src/readelf.c:6123
+#: libelf/elf_error.c:87 src/readelf.c:6129
#, c-format
msgid "invalid encoding"
msgstr "codificación inválida"
@@ -711,8 +711,8 @@ msgstr "no coinciden los datos/scn"
msgid "invalid section header"
msgstr "encabezamiento de sección inválida"
-#: libelf/elf_error.c:191 src/readelf.c:9758 src/readelf.c:10329
-#: src/readelf.c:10430 src/readelf.c:10611
+#: libelf/elf_error.c:191 src/readelf.c:9775 src/readelf.c:10375
+#: src/readelf.c:10476 src/readelf.c:10658
#, c-format
msgid "invalid data"
msgstr "datos inválidos"
@@ -1051,12 +1051,12 @@ msgstr "no sepuede stat el archivo '%s'"
msgid "no entry %s in archive\n"
msgstr "no hay entrada %s en archivo\n"
-#: src/ar.c:472 src/ar.c:917 src/ar.c:1121
+#: src/ar.c:472 src/ar.c:923 src/ar.c:1127
#, c-format
msgid "cannot create hash table"
msgstr "Falló al crear la tabla de dispersión"
-#: src/ar.c:479 src/ar.c:924 src/ar.c:1130
+#: src/ar.c:479 src/ar.c:930 src/ar.c:1136
#, c-format
msgid "cannot insert into hash table"
msgstr "no sepuede insertar en tabla de dispersión"
@@ -1066,97 +1066,97 @@ msgstr "no sepuede insertar en tabla de dispersión"
msgid "cannot stat '%s'"
msgstr "no se puede stat '%s'"
-#: src/ar.c:583
+#: src/ar.c:589
#, c-format
msgid "cannot read content of %s: %s"
msgstr "no se puede leer el contenido de %s: %s"
-#: src/ar.c:626
+#: src/ar.c:632
#, c-format
msgid "cannot open %.*s"
msgstr " Imposible abrir %.*s"
-#: src/ar.c:648
+#: src/ar.c:654
#, c-format
msgid "failed to write %s"
msgstr "Falló al escribir %s"
-#: src/ar.c:660
+#: src/ar.c:666
#, c-format
msgid "cannot change mode of %s"
msgstr "No se puede cambiar el modo de %s"
-#: src/ar.c:676
+#: src/ar.c:682
#, c-format
msgid "cannot change modification time of %s"
msgstr "No puede cambiar tiempo de modificación de %s"
-#: src/ar.c:722
+#: src/ar.c:728
#, c-format
msgid "cannot rename temporary file to %.*s"
msgstr "no sepuede renombrar fichero temporal para %.*s"
-#: src/ar.c:758 src/ar.c:1009 src/ar.c:1410 src/ranlib.c:222
+#: src/ar.c:764 src/ar.c:1015 src/ar.c:1416 src/ranlib.c:222
#, c-format
msgid "cannot create new file"
msgstr "no sepuede crear fichero nuevo"
-#: src/ar.c:1212
+#: src/ar.c:1218
#, c-format
msgid "position member %s not found"
msgstr "no se encuentra miembro de posición %s "
-#: src/ar.c:1222
+#: src/ar.c:1228
#, c-format
msgid "%s: no entry %s in archive!\n"
msgstr "%s: ¡no hay entrada %s en archive!\n"
-#: src/ar.c:1251 src/objdump.c:241
+#: src/ar.c:1257 src/objdump.c:241
#, c-format
msgid "cannot open %s"
msgstr "no sepuede abrir %s"
-#: src/ar.c:1256
+#: src/ar.c:1262
#, c-format
msgid "cannot stat %s"
msgstr "no sepuede efectuar stat %s"
-#: src/ar.c:1262
+#: src/ar.c:1268
#, c-format
msgid "%s is no regular file"
msgstr " %s no es un fichero ordinario "
-#: src/ar.c:1275
+#: src/ar.c:1281
#, c-format
msgid "cannot get ELF descriptor for %s: %s\n"
msgstr "no sepuede obtener descriptor ELF para %s: %s\n"
-#: src/ar.c:1295
+#: src/ar.c:1301
#, c-format
msgid "cannot read %s: %s"
msgstr "no sepuede leer %s: %s"
-#: src/ar.c:1470
+#: src/ar.c:1476
#, fuzzy, c-format
msgid "cannot represent ar_date"
msgstr "no pueden copiar datos de sección: %s"
-#: src/ar.c:1476
+#: src/ar.c:1482
#, fuzzy, c-format
msgid "cannot represent ar_uid"
msgstr "no pueden copiar datos de sección: %s"
-#: src/ar.c:1482
+#: src/ar.c:1488
#, fuzzy, c-format
msgid "cannot represent ar_gid"
msgstr "no pueden copiar datos de sección: %s"
-#: src/ar.c:1488
+#: src/ar.c:1494
#, fuzzy, c-format
msgid "cannot represent ar_mode"
msgstr "no se puede obtener encabezamiento de sección\n"
-#: src/ar.c:1494
+#: src/ar.c:1500
#, fuzzy, c-format
msgid "cannot represent ar_size"
msgstr "no sepuede abrir %s"
@@ -1381,8 +1381,8 @@ msgid "Invalid value '%s' for --gaps parameter."
msgstr "Valor inválido '%s' para parámetro --gaps"
#: src/elfcmp.c:734 src/findtextrel.c:205 src/nm.c:364 src/ranlib.c:141
-#: src/size.c:272 src/strings.c:185 src/strip.c:517 src/strip.c:554
-#: src/unstrip.c:2052 src/unstrip.c:2081
+#: src/size.c:272 src/strings.c:185 src/strip.c:984 src/strip.c:1021
+#: src/unstrip.c:2142 src/unstrip.c:2171
#, c-format
msgid "cannot open '%s'"
msgstr "Imposible abrir '%s'"
@@ -1397,7 +1397,7 @@ msgstr "No puede crear descriptor ELF para '%s': %s"
msgid "cannot create EBL descriptor for '%s'"
msgstr "no se puede crear el descriptor EBL para '%s'"
-#: src/elfcmp.c:761 src/findtextrel.c:393
+#: src/elfcmp.c:761 src/findtextrel.c:394
#, c-format
msgid "cannot get section header of section %zu: %s"
msgstr "No se puede obtener el encabezamiento de sección %zu: %s"
@@ -1412,7 +1412,7 @@ msgstr "No se puede obtener contenido de sección %zu: %s"
msgid "cannot get relocation: %s"
msgstr "No se puede obtener reubicación: %s"
-#: src/elfcompress.c:115 src/strip.c:296 src/unstrip.c:121
+#: src/elfcompress.c:115 src/strip.c:308 src/unstrip.c:121
#, c-format
msgid "-o option specified twice"
msgstr "opción -o especificada dos veces"
@@ -1466,7 +1466,7 @@ msgid ""
"rewrite the file even if no section would be (de)compressed"
msgstr ""
-#: src/elfcompress.c:1324 src/strip.c:90
+#: src/elfcompress.c:1324 src/strip.c:93
msgid "Relax a few rules to handle slightly broken ELF files"
msgstr "Relaja algunas reglas para manejar ficheros ELF rotos"
@@ -1692,7 +1692,7 @@ msgstr ""
#: src/elflint.c:610 src/elflint.c:1494 src/elflint.c:1545 src/elflint.c:1651
#: src/elflint.c:1987 src/elflint.c:2313 src/elflint.c:2932 src/elflint.c:3095
-#: src/elflint.c:3243 src/elflint.c:3433 src/elflint.c:4401
+#: src/elflint.c:3243 src/elflint.c:3433 src/elflint.c:4431
#, 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"
@@ -3288,55 +3288,58 @@ msgstr ""
"Sección [%2d] '%s': tipo de nota de fichero core desconocido %<PRIu32> en "
"compensación %Zu\n"
-#: src/elflint.c:4344
+#: src/elflint.c:4370
#, fuzzy, c-format
-msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %zu\n"
+msgid ""
+"phdr[%d]: unknown object file note type %<PRIu32> with owner name '%s' at "
+"offset %zu\n"
msgstr ""
"phdr[%d]: tipo de nota de fichero objeto desconocido %<PRIu32> en "
"compensación %Zu\n"
-#: src/elflint.c:4348
+#: src/elflint.c:4375
#, fuzzy, c-format
msgid ""
-"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n"
+"section [%2d] '%s': unknown object file note type %<PRIu32> with owner name "
+"'%s' at offset %zu\n"
msgstr ""
"Sección [%2d] '%s': tipo de nota de fichero objeto desconocido %<PRIu32> en "
"compensación %Zu\n"
-#: src/elflint.c:4365
+#: src/elflint.c:4394
#, 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:4384
+#: src/elflint.c:4414
#, 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:4387
+#: src/elflint.c:4417
#, 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:4408
+#: src/elflint.c:4438
#, 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:4415
+#: src/elflint.c:4445
#, 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:4418
+#: src/elflint.c:4448
#, 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:4436
+#: src/elflint.c:4466
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
@@ -3344,145 +3347,145 @@ msgstr ""
"Sólo ejecutables, objetos compartidos y ficheros core pueden tener "
"encabezamientos de programas\n"
-#: src/elflint.c:4451
+#: src/elflint.c:4481
#, 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:4460
+#: src/elflint.c:4490
#, 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:4471
+#: src/elflint.c:4501
#, 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:4479
+#: src/elflint.c:4509
#, 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:4486
+#: src/elflint.c:4516
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr "ejecutable estático no puede tener secciones dinámicas\n"
-#: src/elflint.c:4500
+#: src/elflint.c:4530
#, 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:4503
+#: src/elflint.c:4533
#, 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:4513
+#: src/elflint.c:4543
#, 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:4534
+#: src/elflint.c:4564
#, 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:4545
+#: src/elflint.c:4575
#, 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:4552
+#: src/elflint.c:4582
#, c-format
msgid ""
"GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
msgstr ""
-#: src/elflint.c:4561 src/elflint.c:4584
+#: src/elflint.c:4591 src/elflint.c:4614
#, 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:4590
+#: src/elflint.c:4620
#, 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:4615
+#: src/elflint.c:4647
#, 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:4618
+#: src/elflint.c:4650
#, 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:4631
+#: src/elflint.c:4663
#, 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:4639
+#: src/elflint.c:4671
#, 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:4642
+#: src/elflint.c:4674
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
msgstr "sección [%2zu] '%s' debe ser asignada\n"
-#: src/elflint.c:4646
+#: src/elflint.c:4678
#, 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:4649
+#: src/elflint.c:4681
#, 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:4654
+#: src/elflint.c:4686
#, 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:4657
+#: src/elflint.c:4689
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
msgstr "sección [%2zu] '%s' no debe ser ejecutable\n"
-#: src/elflint.c:4668
+#: src/elflint.c:4700
#, 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:4675
+#: src/elflint.c:4707
#, 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:4678
+#: src/elflint.c:4710
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
@@ -3491,7 +3494,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:4691
+#: src/elflint.c:4723
#, c-format
msgid ""
"executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME "
@@ -3500,12 +3503,12 @@ msgstr ""
"ejecutable/DSO con sección .eh_frame_hdr no tiene una entrada de "
"encabezamiento de programa PT_GNU_EH_FRAME"
-#: src/elflint.c:4725
+#: src/elflint.c:4757
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr "No se puede leer encabezamiento ELF: %s\n"
-#: src/elflint.c:4751
+#: src/elflint.c:4783
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr "Bandera de reubicación de texto establecida pero no necesaria\n"
@@ -3530,7 +3533,7 @@ msgstr ""
#. Strings for arguments in help texts.
#: src/findtextrel.c:74 src/nm.c:108 src/objdump.c:71 src/size.c:80
-#: src/strings.c:87 src/strip.c:98
+#: src/strings.c:87 src/strip.c:101
msgid "[FILE...]"
msgstr "[FICHERO...]"
@@ -3549,57 +3552,57 @@ msgstr "'%s' es no un DSO o PIE"
msgid "getting get section header of section %zu: %s"
msgstr "obtener encabezamiento de sección get de sección %zu: %s"
-#: src/findtextrel.c:276
+#: src/findtextrel.c:277
#, c-format
msgid "cannot read dynamic section: %s"
msgstr "No se puede leer sección dinámica: %s"
-#: src/findtextrel.c:297
+#: src/findtextrel.c:298
#, c-format
msgid "no text relocations reported in '%s'"
msgstr "no hay reubicaciones de texto reportado en '%s'"
-#: src/findtextrel.c:309
+#: src/findtextrel.c:310
#, c-format
msgid "while reading ELF file"
msgstr "Error al leer fichero ELF"
-#: src/findtextrel.c:313
+#: src/findtextrel.c:314
#, fuzzy, c-format
msgid "cannot get program header count: %s"
msgstr "no se puede obtener memoria para encabezamiento del programa: %s"
-#: src/findtextrel.c:324 src/findtextrel.c:341
+#: src/findtextrel.c:325 src/findtextrel.c:342
#, fuzzy, c-format
msgid "cannot get program header index at offset %zd: %s"
msgstr ""
"Nos se puede obtener el índice de encabezamiento de programa en compensación "
"%d: %s"
-#: src/findtextrel.c:405
+#: src/findtextrel.c:406
#, c-format
msgid "cannot get symbol table section %zu in '%s': %s"
msgstr "No se puede obtener tabla de símbolos %zu en '%s': %s"
-#: src/findtextrel.c:425 src/findtextrel.c:448
+#: src/findtextrel.c:427 src/findtextrel.c:450
#, c-format
msgid "cannot get relocation at index %d in section %zu in '%s': %s"
msgstr ""
"No se puede obtener reubicación en índice %d en sección %zu en '%s': %s"
-#: src/findtextrel.c:514
+#: src/findtextrel.c:516
#, c-format
msgid "%s not compiled with -fpic/-fPIC\n"
msgstr "%s no compilado con -fpic/-fPIC\n"
-#: src/findtextrel.c:567
+#: src/findtextrel.c:570
#, c-format
msgid ""
"the file containing the function '%s' is not compiled with -fpic/-fPIC\n"
msgstr ""
"El archivo que contiene la función '%s' no está compilado con -fpic/-fPIC\n"
-#: src/findtextrel.c:574 src/findtextrel.c:594
+#: src/findtextrel.c:577 src/findtextrel.c:597
#, c-format
msgid ""
"the file containing the function '%s' might not be compiled with -fpic/-"
@@ -3608,7 +3611,7 @@ msgstr ""
"el fichero que contiene la función '%s' podría no estar compilado con -fpic/-"
"fPIC\n"
-#: src/findtextrel.c:582
+#: src/findtextrel.c:585
#, c-format
msgid ""
"either the file containing the function '%s' or the file containing the "
@@ -3617,7 +3620,7 @@ msgstr ""
"Tanto el fichero que contiene la función '%s' como el fichero que contiene "
"la función '%s' no están compilados con -fpic/-fPIC\n"
-#: src/findtextrel.c:602
+#: src/findtextrel.c:605
#, c-format
msgid ""
"a relocation modifies memory at offset %llu in a write-protected segment\n"
@@ -3625,7 +3628,7 @@ msgstr ""
"Una reubicación modifica memoria en compensación %llu en un segmento "
"protegido contra escritura\n"
-#: src/nm.c:66 src/strip.c:69
+#: src/nm.c:66 src/strip.c:70
msgid "Output selection:"
msgstr "Selección de salida:"
@@ -3690,7 +3693,7 @@ msgstr "Marcar símbolos débiles"
msgid "Print size of defined symbols"
msgstr "Tamaño de impresión de símbolos definidos"
-#: src/nm.c:91 src/size.c:68 src/strip.c:74 src/unstrip.c:73
+#: src/nm.c:91 src/size.c:68 src/strip.c:75 src/unstrip.c:73
msgid "Output options:"
msgstr "Opciones de salida:"
@@ -3720,18 +3723,18 @@ msgstr "Listar símbolos de FICHEROS (a.out por defecto)."
msgid "Output formatting"
msgstr "Formato de salida:"
-#: src/nm.c:140 src/objdump.c:103 src/size.c:105 src/strip.c:130
+#: src/nm.c:140 src/objdump.c:103 src/size.c:105 src/strip.c:133
#, fuzzy, c-format
msgid "%s: INTERNAL ERROR %d (%s): %s"
msgstr "%s: ERROR INTERNO %d (%s-%s): %s"
#: src/nm.c:381 src/nm.c:393 src/size.c:288 src/size.c:297 src/size.c:308
-#: src/strip.c:2505
+#: src/strip.c:2747
#, c-format
msgid "while closing '%s'"
msgstr "error al cerrar '%s'"
-#: src/nm.c:403 src/objdump.c:280 src/strip.c:442
+#: src/nm.c:403 src/objdump.c:280 src/strip.c:797
#, c-format
msgid "%s: File format not recognized"
msgstr "%s: No se reconoce el formato del fichero"
@@ -3772,12 +3775,12 @@ msgid "cannot create search tree"
msgstr "No se puede crear el árbol de búsqueda"
#: src/nm.c:746 src/nm.c:1207 src/objdump.c:777 src/readelf.c:605
-#: src/readelf.c:1410 src/readelf.c:1558 src/readelf.c:1759 src/readelf.c:1965
-#: src/readelf.c:2155 src/readelf.c:2333 src/readelf.c:2409 src/readelf.c:2667
-#: src/readelf.c:2743 src/readelf.c:2830 src/readelf.c:3428 src/readelf.c:3478
-#: src/readelf.c:3541 src/readelf.c:11044 src/readelf.c:12216
-#: src/readelf.c:12419 src/readelf.c:12487 src/size.c:396 src/size.c:465
-#: src/strip.c:571
+#: src/readelf.c:1412 src/readelf.c:1563 src/readelf.c:1764 src/readelf.c:1970
+#: src/readelf.c:2160 src/readelf.c:2338 src/readelf.c:2414 src/readelf.c:2672
+#: src/readelf.c:2748 src/readelf.c:2835 src/readelf.c:3433 src/readelf.c:3483
+#: src/readelf.c:3546 src/readelf.c:11091 src/readelf.c:12276
+#: src/readelf.c:12480 src/readelf.c:12548 src/size.c:398 src/size.c:467
+#: src/strip.c:1038
#, c-format
msgid "cannot get section header string table index"
msgstr "no se puede obtener índice de cadena de encabezamiento de sección"
@@ -3873,11 +3876,11 @@ msgstr "No se especificó una operación.\n"
msgid "while close `%s'"
msgstr "mientras cierra `%s'"
-#: src/objdump.c:363 src/readelf.c:2060 src/readelf.c:2252
+#: src/objdump.c:363 src/readelf.c:2065 src/readelf.c:2257
msgid "INVALID SYMBOL"
msgstr "SÃMBOLO INVÃLIDO"
-#: src/objdump.c:378 src/readelf.c:2094 src/readelf.c:2288
+#: src/objdump.c:378 src/readelf.c:2099 src/readelf.c:2293
msgid "INVALID SECTION"
msgstr "SECCIÓN INVÃLIDA"
@@ -4084,21 +4087,21 @@ msgstr "Sección de depuración DWARF desconocida `%s'.\n"
msgid "cannot generate Elf descriptor: %s"
msgstr "no se puede crear descriptor ELF: %s"
-#: src/readelf.c:596 src/readelf.c:924 src/strip.c:640
+#: src/readelf.c:596 src/readelf.c:923 src/strip.c:1133
#, c-format
msgid "cannot determine number of sections: %s"
msgstr "no se pudieron determinar el número de secciones: %s"
-#: src/readelf.c:614 src/readelf.c:1226 src/readelf.c:1434
+#: src/readelf.c:614 src/readelf.c:1228 src/readelf.c:1436
#, c-format
msgid "cannot get section: %s"
msgstr "No se puede encontrar la sección: %s"
-#: src/readelf.c:623 src/readelf.c:1233 src/readelf.c:1442 src/readelf.c:12439
-#: src/unstrip.c:394 src/unstrip.c:425 src/unstrip.c:474 src/unstrip.c:584
-#: src/unstrip.c:605 src/unstrip.c:642 src/unstrip.c:846 src/unstrip.c:1138
-#: src/unstrip.c:1330 src/unstrip.c:1391 src/unstrip.c:1564 src/unstrip.c:1679
-#: src/unstrip.c:1819 src/unstrip.c:1914
+#: src/readelf.c:623 src/readelf.c:1235 src/readelf.c:1444 src/readelf.c:12500
+#: src/unstrip.c:395 src/unstrip.c:426 src/unstrip.c:481 src/unstrip.c:600
+#: src/unstrip.c:621 src/unstrip.c:660 src/unstrip.c:871 src/unstrip.c:1202
+#: src/unstrip.c:1394 src/unstrip.c:1458 src/unstrip.c:1632 src/unstrip.c:1766
+#: src/unstrip.c:1909 src/unstrip.c:2004
#, c-format
msgid "cannot get section header: %s"
msgstr "No se puede obtener encabezamiento de sección: %s"
@@ -4108,8 +4111,8 @@ msgstr "No se puede obtener encabezamiento de sección: %s"
msgid "cannot get section name"
msgstr "no se puede obtener encabezamiento de sección\n"
-#: src/readelf.c:640 src/readelf.c:6533 src/readelf.c:10317 src/readelf.c:10419
-#: src/readelf.c:10596
+#: src/readelf.c:640 src/readelf.c:6539 src/readelf.c:10363 src/readelf.c:10465
+#: src/readelf.c:10643
#, c-format
msgid "cannot get %s content: %s"
msgstr "No se puede obtener el contenido %s: %s"
@@ -4159,53 +4162,58 @@ msgstr "Falló lectura de '%s': %s"
msgid "No such section '%s' in '%s'"
msgstr "No se puede obtener contenido de sección %zu en '%s': %s"
-#: src/readelf.c:909
+#: src/readelf.c:908
#, c-format
msgid "cannot read ELF header: %s"
msgstr "no se pudo leer encabezamiento ELF: %s"
-#: src/readelf.c:917
+#: src/readelf.c:916
#, c-format
msgid "cannot create EBL handle"
msgstr "no se puede crear EBL"
-#: src/readelf.c:930
+#: src/readelf.c:929
#, 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:1020
+#: src/readelf.c:961
+#, fuzzy, c-format
+msgid "cannot read ELF: %s"
+msgstr "no sepuede leer %s: %s"
+
+#: src/readelf.c:1022
msgid "NONE (None)"
msgstr "NONE (Ninguno)"
-#: src/readelf.c:1021
+#: src/readelf.c:1023
msgid "REL (Relocatable file)"
msgstr "REL (Fichero reubicable)"
-#: src/readelf.c:1022
+#: src/readelf.c:1024
msgid "EXEC (Executable file)"
msgstr "EXEC (Fichero ejecutable)"
-#: src/readelf.c:1023
+#: src/readelf.c:1025
msgid "DYN (Shared object file)"
msgstr "DYN (Fichero objeto compartido)"
-#: src/readelf.c:1024
+#: src/readelf.c:1026
msgid "CORE (Core file)"
msgstr "CORE (Fichero núcleo)"
-#: src/readelf.c:1029
+#: src/readelf.c:1031
#, c-format
msgid "OS Specific: (%x)\n"
msgstr "OS Specific: (%x)\n"
#. && e_type <= ET_HIPROC always true
-#: src/readelf.c:1031
+#: src/readelf.c:1033
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr "Específico del procesador: (%x)\n"
-#: src/readelf.c:1041
+#: src/readelf.c:1043
msgid ""
"ELF Header:\n"
" Magic: "
@@ -4213,7 +4221,7 @@ msgstr ""
"Encabezamiento ELF:\n"
" Mágico: "
-#: src/readelf.c:1045
+#: src/readelf.c:1047
#, c-format
msgid ""
"\n"
@@ -4222,120 +4230,120 @@ msgstr ""
"\n"
" Clase: %s\n"
-#: src/readelf.c:1050
+#: src/readelf.c:1052
#, c-format
msgid " Data: %s\n"
msgstr " Datos: %s\n"
-#: src/readelf.c:1056
+#: src/readelf.c:1058
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr " Versión ident: %hhd %s\n"
-#: src/readelf.c:1058 src/readelf.c:1075
+#: src/readelf.c:1060 src/readelf.c:1077
msgid "(current)"
msgstr "(actual)"
-#: src/readelf.c:1062
+#: src/readelf.c:1064
#, c-format
msgid " OS/ABI: %s\n"
msgstr " OS/ABI: %s\n"
-#: src/readelf.c:1065
+#: src/readelf.c:1067
#, c-format
msgid " ABI Version: %hhd\n"
msgstr " Versión ABI: %hhd\n"
-#: src/readelf.c:1068
+#: src/readelf.c:1070
msgid " Type: "
msgstr " Tipo: "
-#: src/readelf.c:1071
+#: src/readelf.c:1073
#, c-format
msgid " Machine: %s\n"
msgstr " Máquina: %s\n"
-#: src/readelf.c:1073
+#: src/readelf.c:1075
#, c-format
msgid " Version: %d %s\n"
msgstr " Versión: %d %s\n"
-#: src/readelf.c:1077
+#: src/readelf.c:1079
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr " Dirección de punto de entrada: %#<PRIx64>\n"
-#: src/readelf.c:1080
+#: src/readelf.c:1082
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr " Inicio de encabezamientos de programa: %<PRId64> %s\n"
-#: src/readelf.c:1081 src/readelf.c:1084
+#: src/readelf.c:1083 src/readelf.c:1086
msgid "(bytes into file)"
msgstr " (bytes en el archivo)"
-#: src/readelf.c:1083
+#: src/readelf.c:1085
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr " Inicio de encabezamientos de sección: %<PRId64> %s\n"
-#: src/readelf.c:1086
+#: src/readelf.c:1088
#, c-format
msgid " Flags: %s\n"
msgstr " Indicadores: %s\n"
-#: src/readelf.c:1089
+#: src/readelf.c:1091
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr " Tamaño de este encabezamiento: %<PRId16> %s\n"
-#: src/readelf.c:1090 src/readelf.c:1093 src/readelf.c:1110
+#: src/readelf.c:1092 src/readelf.c:1095 src/readelf.c:1112
msgid "(bytes)"
msgstr "(bytes)"
-#: src/readelf.c:1092
+#: src/readelf.c:1094
#, 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:1095
+#: src/readelf.c:1097
#, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr " Cantidad de entradas de encabezados de programa: %<PRId16>"
-#: src/readelf.c:1102
+#: src/readelf.c:1104
#, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr " (%<PRIu32> in [0].sh_info)"
-#: src/readelf.c:1105 src/readelf.c:1122 src/readelf.c:1136
+#: src/readelf.c:1107 src/readelf.c:1124 src/readelf.c:1138
msgid " ([0] not available)"
msgstr " ([0] no disponible)"
-#: src/readelf.c:1109
+#: src/readelf.c:1111
#, 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:1112
+#: src/readelf.c:1114
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr " Cantidad de entradas en los encabezamientos de sección: %<PRId16>"
-#: src/readelf.c:1119
+#: src/readelf.c:1121
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr " (%<PRIu32> en [0].sh_size)"
#. We managed to get the zeroth section.
-#: src/readelf.c:1132
+#: src/readelf.c:1134
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr " (%<PRIu32> en [0].sh_link)"
-#: src/readelf.c:1140
+#: src/readelf.c:1142
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
@@ -4344,19 +4352,19 @@ msgstr ""
" Ãndice de tabla de cadenas de sección de encabezamiento de : XINDEX%s\n"
"\n"
-#: src/readelf.c:1144
+#: src/readelf.c:1146
#, 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:1191 src/readelf.c:1399
+#: src/readelf.c:1193 src/readelf.c:1401
#, fuzzy, c-format
msgid "cannot get number of sections: %s"
msgstr "no se pudieron determinar el número de secciones: %s"
-#: src/readelf.c:1194
+#: src/readelf.c:1196
#, fuzzy, c-format
msgid ""
"There are %zd section headers, starting at offset %#<PRIx64>:\n"
@@ -4365,16 +4373,16 @@ msgstr ""
"Hay %d encabezamientos de sección, comenzando en compensación %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:1203
+#: src/readelf.c:1205
#, 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:1206
+#: src/readelf.c:1208
msgid "Section Headers:"
msgstr "encabezamientos de sección:"
-#: src/readelf.c:1209
+#: src/readelf.c:1211
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
@@ -4382,7 +4390,7 @@ msgstr ""
"[Nr] Nombre Tipo Dirección Off Tamaño Inf Al "
"Enlace banderas ES"
-#: src/readelf.c:1211
+#: src/readelf.c:1213
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
@@ -4390,36 +4398,36 @@ msgstr ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
-#: src/readelf.c:1216
+#: src/readelf.c:1218
msgid " [Compression Size Al]"
msgstr ""
-#: src/readelf.c:1218
+#: src/readelf.c:1220
msgid " [Compression Size Al]"
msgstr ""
-#: src/readelf.c:1294
+#: src/readelf.c:1296
#, 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:1305
+#: src/readelf.c:1307
#, 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:1323
+#: src/readelf.c:1325
msgid "Program Headers:"
msgstr "encabezamientos de programa:"
-#: src/readelf.c:1325
+#: src/readelf.c:1327
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:1328
+#: src/readelf.c:1330
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
@@ -4427,12 +4435,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:1385
+#: src/readelf.c:1387
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr "\t[Solicitando intérprete de programa: %s]\n"
-#: src/readelf.c:1412
+#: src/readelf.c:1414
msgid ""
"\n"
" Section to Segment mapping:\n"
@@ -4442,12 +4450,12 @@ msgstr ""
" Sección para asignación de segmento:\n"
" Secciones de segmento..."
-#: src/readelf.c:1423 src/unstrip.c:1973 src/unstrip.c:2015 src/unstrip.c:2022
+#: src/readelf.c:1425 src/unstrip.c:2063 src/unstrip.c:2105 src/unstrip.c:2112
#, c-format
msgid "cannot get program header: %s"
msgstr "no se puede obtener memoria para encabezamiento del programa: %s"
-#: src/readelf.c:1566
+#: src/readelf.c:1571
#, c-format
msgid ""
"\n"
@@ -4462,7 +4470,7 @@ msgstr[1] ""
"\n"
"Grupo de sección COMDAT [%2zu] '%s' con firma '%s' contiene entradas %zu:\n"
-#: src/readelf.c:1571
+#: src/readelf.c:1576
#, c-format
msgid ""
"\n"
@@ -4477,31 +4485,31 @@ msgstr[1] ""
"\n"
"Grupo de sección [%2zu] '%s' con firma '%s' contiene entradas %zu:\n"
-#: src/readelf.c:1579
+#: src/readelf.c:1584
msgid "<INVALID SYMBOL>"
msgstr "<SÃMBOLO INVÃLIDO>"
-#: src/readelf.c:1593
+#: src/readelf.c:1598
msgid "<INVALID SECTION>"
msgstr "<SECCIÓN INVÃLIDA>"
-#: src/readelf.c:1616 src/readelf.c:2343 src/readelf.c:3444 src/readelf.c:12310
-#: src/readelf.c:12317 src/readelf.c:12361 src/readelf.c:12368
+#: src/readelf.c:1621 src/readelf.c:2348 src/readelf.c:3449 src/readelf.c:12371
+#: src/readelf.c:12378 src/readelf.c:12422 src/readelf.c:12429
msgid "Couldn't uncompress section"
msgstr ""
-#: src/readelf.c:1621 src/readelf.c:2348 src/readelf.c:3449
+#: src/readelf.c:1626 src/readelf.c:2353 src/readelf.c:3454
#, fuzzy, c-format
msgid "cannot get section [%zd] header: %s"
msgstr "No se puede obtener encabezamiento de sección: %s"
-#: src/readelf.c:1765 src/readelf.c:2415 src/readelf.c:2673 src/readelf.c:2749
-#: src/readelf.c:3053 src/readelf.c:3127 src/readelf.c:5322
+#: src/readelf.c:1770 src/readelf.c:2420 src/readelf.c:2678 src/readelf.c:2754
+#: src/readelf.c:3058 src/readelf.c:3132 src/readelf.c:5327
#, fuzzy, c-format
msgid "invalid sh_link value in section %zu"
msgstr ".debug_line section inválida"
-#: src/readelf.c:1768
+#: src/readelf.c:1773
#, c-format
msgid ""
"\n"
@@ -4522,36 +4530,36 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'\n"
-#: src/readelf.c:1778
+#: src/readelf.c:1783
msgid " Type Value\n"
msgstr " Tipo Valor\n"
-#: src/readelf.c:1802
+#: src/readelf.c:1807
#, c-format
msgid "Shared library: [%s]\n"
msgstr "Biblioteca compartida: [%s]\n"
-#: src/readelf.c:1807
+#: src/readelf.c:1812
#, c-format
msgid "Library soname: [%s]\n"
msgstr "Nombre-so de la biblioteca: [%s]\n"
-#: src/readelf.c:1812
+#: src/readelf.c:1817
#, c-format
msgid "Library rpath: [%s]\n"
msgstr "Rpath de la biblioteca: [%s]\n"
-#: src/readelf.c:1817
+#: src/readelf.c:1822
#, c-format
msgid "Library runpath: [%s]\n"
msgstr "Ruta de ejecución de la biblioteca: [%s]\n"
-#: src/readelf.c:1837
+#: src/readelf.c:1842
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr "%<PRId64> (bytes)\n"
-#: src/readelf.c:1950 src/readelf.c:2140
+#: src/readelf.c:1955 src/readelf.c:2145
#, c-format
msgid ""
"\n"
@@ -4560,7 +4568,7 @@ msgstr ""
"\n"
"Tabla de símbolos inválida en compensación %#0<PRIx64>\n"
-#: src/readelf.c:1968 src/readelf.c:2158
+#: src/readelf.c:1973 src/readelf.c:2163
#, c-format
msgid ""
"\n"
@@ -4585,7 +4593,7 @@ 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:1983 src/readelf.c:2173
+#: src/readelf.c:1988 src/readelf.c:2178
#, c-format
msgid ""
"\n"
@@ -4602,29 +4610,29 @@ msgstr[1] ""
"Sección de reubicación [%2u] '%s' en compensación %#0<PRIx64> contiene "
"entradas %d:\n"
-#: src/readelf.c:1993
+#: src/readelf.c:1998
msgid " Offset Type Value Name\n"
msgstr " Compensación Tipo Valor Nombre\n"
-#: src/readelf.c:1995
+#: src/readelf.c:2000
msgid " Offset Type Value Name\n"
msgstr " Compensación Tipo Valor Nombre\n"
-#: src/readelf.c:2048 src/readelf.c:2059 src/readelf.c:2072 src/readelf.c:2093
-#: src/readelf.c:2105 src/readelf.c:2239 src/readelf.c:2251 src/readelf.c:2265
-#: src/readelf.c:2287 src/readelf.c:2300
+#: src/readelf.c:2053 src/readelf.c:2064 src/readelf.c:2077 src/readelf.c:2098
+#: src/readelf.c:2110 src/readelf.c:2244 src/readelf.c:2256 src/readelf.c:2270
+#: src/readelf.c:2292 src/readelf.c:2305
msgid "<INVALID RELOC>"
msgstr "<REUBIC INVÃLIDA>"
-#: src/readelf.c:2183
+#: src/readelf.c:2188
msgid " Offset Type Value Addend Name\n"
msgstr " Compensación Tipo Valor Nombre Adend\n"
-#: src/readelf.c:2185
+#: src/readelf.c:2190
msgid " Offset Type Value Addend Name\n"
msgstr " Compensación Tipo Valor Nombre Adend\n"
-#: src/readelf.c:2423
+#: src/readelf.c:2428
#, c-format
msgid ""
"\n"
@@ -4639,40 +4647,40 @@ msgstr[1] ""
"\n"
"La tabla de símbolos [%2u] '%s' contiene entradas %u:\n"
-#: src/readelf.c:2428
+#: src/readelf.c:2433
#, 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:2436
+#: src/readelf.c:2441
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:2438
+#: src/readelf.c:2443
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:2458
+#: src/readelf.c:2463
#, 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:2546
+#: src/readelf.c:2551
#, c-format
msgid "bad dynamic symbol"
msgstr "símbolo dinámico erróneo"
-#: src/readelf.c:2628
+#: src/readelf.c:2633
msgid "none"
msgstr "nada"
-#: src/readelf.c:2645
+#: src/readelf.c:2650
msgid "| <unknown>"
msgstr "| <desconocido>"
-#: src/readelf.c:2676
+#: src/readelf.c:2681
#, c-format
msgid ""
"\n"
@@ -4693,17 +4701,17 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'\n"
-#: src/readelf.c:2697
+#: src/readelf.c:2702
#, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: Versión: %hu Fichero: %s Conteo: %hu\n"
-#: src/readelf.c:2710
+#: src/readelf.c:2715
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: Nombre: %s Banderas: %s Versión: %hu\n"
-#: src/readelf.c:2753
+#: src/readelf.c:2758
#, c-format
msgid ""
"\n"
@@ -4724,19 +4732,19 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'\n"
-#: src/readelf.c:2781
+#: src/readelf.c:2786
#, 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:2796
+#: src/readelf.c:2801
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr " %#06x: Principal %d: %s\n"
#. Print the header.
-#: src/readelf.c:3057
+#: src/readelf.c:3062
#, c-format
msgid ""
"\n"
@@ -4757,15 +4765,15 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'"
-#: src/readelf.c:3085
+#: src/readelf.c:3090
msgid " 0 *local* "
msgstr " 0 *local* "
-#: src/readelf.c:3090
+#: src/readelf.c:3095
msgid " 1 *global* "
msgstr " 1 *global* "
-#: src/readelf.c:3132
+#: src/readelf.c:3137
#, c-format
msgid ""
"\n"
@@ -4790,22 +4798,22 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'\n"
-#: src/readelf.c:3154
+#: src/readelf.c:3159
#, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr " Longitud Número % of total Cobertura\n"
-#: src/readelf.c:3156
+#: src/readelf.c:3161
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:3163
+#: src/readelf.c:3168
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:3176
+#: src/readelf.c:3181
#, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
@@ -4814,37 +4822,37 @@ msgstr ""
" Número promedio de pruebas: búsqueda exitosa: %f\n"
" búsqueda sin éxito: %f\n"
-#: src/readelf.c:3194 src/readelf.c:3258 src/readelf.c:3324
+#: src/readelf.c:3199 src/readelf.c:3263 src/readelf.c:3329
#, 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:3202
+#: src/readelf.c:3207
#, fuzzy, c-format
msgid "invalid data in sysv.hash section %d"
msgstr "Datos inválidos en sección [%zu] '%s'"
-#: src/readelf.c:3231
+#: src/readelf.c:3236
#, fuzzy, c-format
msgid "invalid chain in sysv.hash section %d"
msgstr "Datos inválidos en sección [%zu] '%s'"
-#: src/readelf.c:3266
+#: src/readelf.c:3271
#, fuzzy, c-format
msgid "invalid data in sysv.hash64 section %d"
msgstr "Datos inválidos en sección [%zu] '%s'"
-#: src/readelf.c:3297
+#: src/readelf.c:3302
#, fuzzy, c-format
msgid "invalid chain in sysv.hash64 section %d"
msgstr "Datos inválidos en sección [%zu] '%s'"
-#: src/readelf.c:3333
+#: src/readelf.c:3338
#, fuzzy, c-format
msgid "invalid data in gnu.hash section %d"
msgstr "Datos inválidos en sección [%zu] '%s'"
-#: src/readelf.c:3400
+#: src/readelf.c:3405
#, c-format
msgid ""
" Symbol Bias: %u\n"
@@ -4854,7 +4862,7 @@ msgstr ""
" Tamaño de Bitmask: %zu bytes %<PRIuFAST32>%% bits establecen segundo "
"cambio de dispersión: %u\n"
-#: src/readelf.c:3489
+#: src/readelf.c:3494
#, c-format
msgid ""
"\n"
@@ -4871,7 +4879,7 @@ msgstr[1] ""
"Sección de lista de biblioteca [%2zu] '%s' en compensación %#0<PRIx64> "
"contiene entradas %d:\n"
-#: src/readelf.c:3503
+#: src/readelf.c:3508
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
@@ -4879,7 +4887,7 @@ msgstr ""
" Biblioteca Marca de tiempo Indicadores "
"de versión de suma de verificación"
-#: src/readelf.c:3553
+#: src/readelf.c:3558
#, c-format
msgid ""
"\n"
@@ -4890,102 +4898,102 @@ msgstr ""
"Sección de atributos de objeto [%2zu] '%s' de %<PRIu64> bytes con "
"desplazamiento %#0<PRIx64>:\n"
-#: src/readelf.c:3570
+#: src/readelf.c:3575
msgid " Owner Size\n"
msgstr " Propietario Tamaño\n"
-#: src/readelf.c:3599
+#: src/readelf.c:3604
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
#. Unknown subsection, print and skip.
-#: src/readelf.c:3638
+#: src/readelf.c:3643
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
#. Tag_File
-#: src/readelf.c:3643
+#: src/readelf.c:3648
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " File: %11<PRIu32>\n"
-#: src/readelf.c:3692
+#: src/readelf.c:3697
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>, %s\n"
-#: src/readelf.c:3695
+#: src/readelf.c:3700
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3698
+#: src/readelf.c:3703
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3708
+#: src/readelf.c:3713
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3711
+#: src/readelf.c:3716
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3781
+#: src/readelf.c:3786
#, fuzzy, c-format
msgid "sprintf failure"
msgstr "mprotect falló"
-#: src/readelf.c:4263
+#: src/readelf.c:4268
msgid "empty block"
msgstr "bloque vacío"
-#: src/readelf.c:4266
+#: src/readelf.c:4271
#, c-format
msgid "%zu byte block:"
msgstr "bloque de byte %zu:"
-#: src/readelf.c:4744
+#: src/readelf.c:4749
#, fuzzy, c-format
msgid "%*s[%2<PRIuMAX>] %s <TRUNCATED>\n"
msgstr "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
-#: src/readelf.c:4808
+#: src/readelf.c:4813
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr "%s %#<PRIx64> utilizado con direcciones de diferente tamaño"
-#: src/readelf.c:4815
+#: src/readelf.c:4820
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr "%s %#<PRIx64> utilizado con offsetr de diferente tamaño"
-#: src/readelf.c:4822
+#: src/readelf.c:4827
#, fuzzy, c-format
msgid "%s %#<PRIx64> used with different base addresses"
msgstr "%s %#<PRIx64> utilizado con direcciones de diferente tamaño"
-#: src/readelf.c:4829
+#: src/readelf.c:4834
#, 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:4926
+#: src/readelf.c:4931
#, 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:4934
+#: src/readelf.c:4939
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr " [%6tx] <MATERIAL INUTIL NO UTILIZADO> ... %<PRIu64> bytes ...\n"
-#: src/readelf.c:5012
+#: src/readelf.c:5017
#, c-format
msgid ""
"\n"
@@ -4996,7 +5004,7 @@ msgstr ""
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
" [ Código]\n"
-#: src/readelf.c:5020
+#: src/readelf.c:5025
#, c-format
msgid ""
"\n"
@@ -5005,20 +5013,20 @@ msgstr ""
"\n"
"Sección de abreviatura en compensación %<PRIu64>:\n"
-#: src/readelf.c:5033
+#: src/readelf.c:5038
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr " *** error en lectura de abreviatura: %s\n"
-#: src/readelf.c:5049
+#: src/readelf.c:5054
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr " [%5u] compensación: %<PRId64>, hijos: %s, etiqueta: %s\n"
-#: src/readelf.c:5082 src/readelf.c:5391 src/readelf.c:5557 src/readelf.c:5942
-#: src/readelf.c:6543 src/readelf.c:8184 src/readelf.c:8854 src/readelf.c:9290
-#: src/readelf.c:9534 src/readelf.c:9699 src/readelf.c:10060
-#: src/readelf.c:10118
+#: src/readelf.c:5087 src/readelf.c:5396 src/readelf.c:5563 src/readelf.c:5948
+#: src/readelf.c:6549 src/readelf.c:8199 src/readelf.c:8870 src/readelf.c:9306
+#: src/readelf.c:9551 src/readelf.c:9717 src/readelf.c:10104
+#: src/readelf.c:10164
#, c-format
msgid ""
"\n"
@@ -5027,52 +5035,52 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
-#: src/readelf.c:5095
+#: src/readelf.c:5100
#, fuzzy, c-format
msgid "cannot get .debug_addr section data: %s"
msgstr "no se pueden obtener datos de sección: %s"
-#: src/readelf.c:5195 src/readelf.c:5219 src/readelf.c:5602 src/readelf.c:8899
+#: src/readelf.c:5200 src/readelf.c:5224 src/readelf.c:5608 src/readelf.c:8915
#, fuzzy, c-format
msgid " Length: %8<PRIu64>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:5197 src/readelf.c:5234 src/readelf.c:5615 src/readelf.c:8912
+#: src/readelf.c:5202 src/readelf.c:5239 src/readelf.c:5621 src/readelf.c:8928
#, fuzzy, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5198 src/readelf.c:5243 src/readelf.c:5624 src/readelf.c:8921
+#: src/readelf.c:5203 src/readelf.c:5248 src/readelf.c:5630 src/readelf.c:8937
#, fuzzy, c-format
msgid " Address size: %8<PRIu64>\n"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:5200 src/readelf.c:5253 src/readelf.c:5634 src/readelf.c:8931
+#: src/readelf.c:5205 src/readelf.c:5258 src/readelf.c:5640 src/readelf.c:8947
#, fuzzy, c-format
msgid " Segment size: %8<PRIu64>\n"
msgstr " establecer archivo a %<PRIu64>\n"
-#: src/readelf.c:5238 src/readelf.c:5619 src/readelf.c:8916 src/readelf.c:10250
+#: src/readelf.c:5243 src/readelf.c:5625 src/readelf.c:8932 src/readelf.c:10296
#, fuzzy, c-format
msgid "Unknown version"
msgstr "versión desconocida"
-#: src/readelf.c:5248 src/readelf.c:5461 src/readelf.c:5629 src/readelf.c:8926
+#: src/readelf.c:5253 src/readelf.c:5466 src/readelf.c:5635 src/readelf.c:8942
#, fuzzy, c-format
msgid "unsupported address size"
msgstr "no hay valor de dirección"
-#: src/readelf.c:5259 src/readelf.c:5472 src/readelf.c:5639 src/readelf.c:8936
+#: src/readelf.c:5264 src/readelf.c:5477 src/readelf.c:5645 src/readelf.c:8952
#, c-format
msgid "unsupported segment size"
msgstr ""
-#: src/readelf.c:5312 src/readelf.c:5386
+#: src/readelf.c:5317 src/readelf.c:5391
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr "no se ha podido obtener contenido de .debug_aranges: %s"
-#: src/readelf.c:5327
+#: src/readelf.c:5332
#, c-format
msgid ""
"\n"
@@ -5087,12 +5095,12 @@ msgstr[1] ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entradas %zu:\n"
-#: src/readelf.c:5358
+#: src/readelf.c:5363
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:5360
+#: src/readelf.c:5365
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
@@ -5100,7 +5108,7 @@ msgstr ""
" Inicio [%*zu]: %0#*<PRIx64>, longitud: %5<PRIu64>, compensación CU DIE: "
"%6<PRId64>\n"
-#: src/readelf.c:5404 src/readelf.c:8211
+#: src/readelf.c:5409 src/readelf.c:8226
#, fuzzy, c-format
msgid ""
"\n"
@@ -5109,152 +5117,152 @@ msgstr ""
"\n"
"Tabla en compensación %Zu:\n"
-#: src/readelf.c:5408 src/readelf.c:5583 src/readelf.c:6567 src/readelf.c:8222
-#: src/readelf.c:8880
+#: src/readelf.c:5413 src/readelf.c:5589 src/readelf.c:6573 src/readelf.c:8237
+#: src/readelf.c:8896
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr "Datos inválidos en sección [%zu] '%s'"
-#: src/readelf.c:5424
+#: src/readelf.c:5429
#, fuzzy, c-format
msgid ""
"\n"
" Length: %6<PRIu64>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:5436
+#: src/readelf.c:5441
#, fuzzy, c-format
msgid " DWARF version: %6<PRIuFAST16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5440
+#: src/readelf.c:5445
#, c-format
msgid "unsupported aranges version"
msgstr ""
-#: src/readelf.c:5451
+#: src/readelf.c:5456
#, fuzzy, c-format
msgid " CU offset: %6<PRIx64>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:5457
+#: src/readelf.c:5462
#, fuzzy, c-format
msgid " Address size: %6<PRIu64>\n"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:5468
+#: src/readelf.c:5473
#, fuzzy, c-format
msgid ""
" Segment size: %6<PRIu64>\n"
"\n"
msgstr " establecer archivo a %<PRIu64>\n"
-#: src/readelf.c:5523
+#: src/readelf.c:5528
#, c-format
msgid " %zu padding bytes\n"
msgstr ""
-#: src/readelf.c:5566
+#: src/readelf.c:5572
#, fuzzy, c-format
msgid "cannot get .debug_rnglists content: %s"
msgstr "no se ha podido obtener contenido de .debug_ranges: %s"
-#: src/readelf.c:5589 src/readelf.c:8886
+#: src/readelf.c:5595 src/readelf.c:8902
#, fuzzy, c-format
msgid ""
"Table at Offset 0x%<PRIx64>:\n"
"\n"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:5644 src/readelf.c:8941
+#: src/readelf.c:5650 src/readelf.c:8957
#, fuzzy, c-format
msgid " Offset entries: %8<PRIu64>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:5660 src/readelf.c:8957
+#: src/readelf.c:5666 src/readelf.c:8973
#, c-format
msgid " Unknown CU base: "
msgstr ""
-#: src/readelf.c:5662 src/readelf.c:8959
+#: src/readelf.c:5668 src/readelf.c:8975
#, c-format
msgid " CU [%6<PRIx64>] base: "
msgstr ""
-#: src/readelf.c:5668 src/readelf.c:8965
+#: src/readelf.c:5674 src/readelf.c:8981
#, c-format
msgid " Not associated with a CU.\n"
msgstr ""
-#: src/readelf.c:5679 src/readelf.c:8976
+#: src/readelf.c:5685 src/readelf.c:8992
#, c-format
msgid "too many offset entries for unit length"
msgstr ""
-#: src/readelf.c:5683 src/readelf.c:8980
+#: src/readelf.c:5689 src/readelf.c:8996
#, fuzzy, c-format
msgid " Offsets starting at 0x%<PRIx64>:\n"
msgstr " Propietario Tamaño\n"
-#: src/readelf.c:5735
+#: src/readelf.c:5741
#, fuzzy, c-format
msgid "invalid range list data"
msgstr "datos inválidos"
-#: src/readelf.c:5920 src/readelf.c:9268
+#: src/readelf.c:5926 src/readelf.c:9284
#, c-format
msgid ""
" %zu padding bytes\n"
"\n"
msgstr ""
-#: src/readelf.c:5937
+#: src/readelf.c:5943
#, c-format
msgid "cannot get .debug_ranges content: %s"
msgstr "no se ha podido obtener contenido de .debug_ranges: %s"
-#: src/readelf.c:5973 src/readelf.c:9323
+#: src/readelf.c:5979 src/readelf.c:9339
#, c-format
msgid ""
"\n"
" Unknown CU base: "
msgstr ""
-#: src/readelf.c:5975 src/readelf.c:9325
+#: src/readelf.c:5981 src/readelf.c:9341
#, c-format
msgid ""
"\n"
" CU [%6<PRIx64>] base: "
msgstr ""
-#: src/readelf.c:5984 src/readelf.c:9351 src/readelf.c:9377
+#: src/readelf.c:5990 src/readelf.c:9367 src/readelf.c:9393
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr " [%6tx] <DATOS INVÃLIDOS>\n"
-#: src/readelf.c:6005 src/readelf.c:9457
+#: src/readelf.c:6011 src/readelf.c:9473
#, fuzzy, c-format
msgid ""
" [%6tx] base address\n"
" "
msgstr " [%6tx] (dirección base) %s\n"
-#: src/readelf.c:6013 src/readelf.c:9465
+#: src/readelf.c:6019 src/readelf.c:9481
#, fuzzy, c-format
msgid " [%6tx] empty list\n"
msgstr " [%6tx] lista vacía\n"
-#: src/readelf.c:6268
+#: src/readelf.c:6274
#, fuzzy
msgid " <INVALID DATA>\n"
msgstr " <DATOS INVÃLIDOS>\n"
-#: src/readelf.c:6521
+#: src/readelf.c:6527
#, fuzzy, c-format
msgid "cannot get ELF: %s"
msgstr "no se puede leer encabezamiento ELF: %s"
-#: src/readelf.c:6539
+#: src/readelf.c:6545
#, c-format
msgid ""
"\n"
@@ -5264,7 +5272,7 @@ msgstr ""
"Sección de información de marco de llamada [%2zu] '%s' en compensación "
"%#<PRIx64>:\n"
-#: src/readelf.c:6589
+#: src/readelf.c:6595
#, c-format
msgid ""
"\n"
@@ -5273,65 +5281,65 @@ msgstr ""
"\n"
" [%6tx] Terminator cero\n"
-#: src/readelf.c:6682 src/readelf.c:6836
+#: src/readelf.c:6696 src/readelf.c:6850
#, c-format
msgid "invalid augmentation length"
msgstr "longitud de aumento inválida"
-#: src/readelf.c:6697
+#: src/readelf.c:6711
msgid "FDE address encoding: "
msgstr "Codificación de dirección FDE:"
-#: src/readelf.c:6703
+#: src/readelf.c:6717
msgid "LSDA pointer encoding: "
msgstr "Codificación de puntero LSDA:"
-#: src/readelf.c:6813
+#: src/readelf.c:6827
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:6820
+#: src/readelf.c:6834
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:6857
+#: src/readelf.c:6871
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr "Puntero %-26sLSDA: %#<PRIx64>\n"
-#: src/readelf.c:6942
+#: src/readelf.c:6956
#, fuzzy, c-format
msgid "DIE [%<PRIx64>] cannot get attribute code: %s"
msgstr "No se puede obtener código de atributo: %s"
-#: src/readelf.c:6952
+#: src/readelf.c:6966
#, fuzzy, c-format
msgid "DIE [%<PRIx64>] cannot get attribute form: %s"
msgstr "No se puede obtener forma de atributo: %s"
-#: src/readelf.c:6974
+#: src/readelf.c:6988
#, fuzzy, c-format
msgid "DIE [%<PRIx64>] cannot get attribute '%s' (%s) value: %s"
msgstr "No se puede obtener valor: %s"
-#: src/readelf.c:7307
+#: src/readelf.c:7321
#, fuzzy, c-format
msgid "invalid file (%<PRId64>): %s"
msgstr "Archivo inválido"
-#: src/readelf.c:7311
+#: src/readelf.c:7325
#, fuzzy, c-format
msgid "no srcfiles for CU [%<PRIx64>]"
msgstr " establecer archivo a %<PRIu64>\n"
-#: src/readelf.c:7315
+#: src/readelf.c:7329
#, fuzzy, c-format
msgid "couldn't get DWARF CU: %s"
msgstr "no se puede leer encabezamiento ELF: %s"
-#: src/readelf.c:7538
+#: src/readelf.c:7552
#, c-format
msgid ""
"\n"
@@ -5342,12 +5350,12 @@ msgstr ""
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
" [Offset]\n"
-#: src/readelf.c:7588
+#: src/readelf.c:7602
#, fuzzy, c-format
msgid "cannot get next unit: %s"
msgstr "No se puede obtener próximo DIE: %s"
-#: src/readelf.c:7607
+#: src/readelf.c:7621
#, fuzzy, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5360,7 +5368,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:7619
+#: src/readelf.c:7633
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5371,39 +5379,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:7629 src/readelf.c:7792
+#: src/readelf.c:7643 src/readelf.c:7806
#, c-format
msgid " Unit type: %s (%<PRIu8>)"
msgstr ""
-#: src/readelf.c:7656
+#: src/readelf.c:7670
#, c-format
msgid "unknown version (%d) or unit type (%d)"
msgstr ""
-#: src/readelf.c:7685
+#: src/readelf.c:7699
#, c-format
msgid "cannot get DIE offset: %s"
msgstr "no se puede obtener DIE en compensación: %s"
-#: src/readelf.c:7694
+#: src/readelf.c:7708
#, 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:7732
+#: src/readelf.c:7746
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr "No se puede obtener próximo DIE: %s\n"
-#: src/readelf.c:7740
+#: src/readelf.c:7754
#, c-format
msgid "cannot get next DIE: %s"
msgstr "No se puede obtener próximo DIE: %s"
-#: src/readelf.c:7784
+#: src/readelf.c:7798
#, fuzzy, c-format
msgid ""
" Split compilation unit at offset %<PRIu64>:\n"
@@ -5414,7 +5422,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:7835
+#: src/readelf.c:7850
#, fuzzy, c-format
msgid ""
"\n"
@@ -5424,18 +5432,18 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
-#: src/readelf.c:8167
+#: src/readelf.c:8182
#, fuzzy, c-format
msgid "unknown form: %s"
msgstr "Forma %<PRIx64> desconocida"
-#: src/readelf.c:8198
+#: src/readelf.c:8213
#, c-format
msgid "cannot get line data section data: %s"
msgstr "No se puede obtener sección de datos de línea: %s"
#. Print what we got so far.
-#: src/readelf.c:8300
+#: src/readelf.c:8315
#, fuzzy, c-format
msgid ""
"\n"
@@ -5466,34 +5474,34 @@ msgstr ""
"\n"
"Códigos operativos:\n"
-#: src/readelf.c:8322
+#: src/readelf.c:8337
#, 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:8330
+#: src/readelf.c:8345
#, fuzzy, c-format
msgid "cannot handle address size: %u\n"
msgstr "no hay valor de dirección"
-#: src/readelf.c:8338
+#: src/readelf.c:8353
#, fuzzy, c-format
msgid "cannot handle segment selector size: %u\n"
msgstr "No se puede encontrar la sección: %s"
-#: src/readelf.c:8348
+#: src/readelf.c:8363
#, 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:8363
+#: src/readelf.c:8378
#, 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:8374
+#: src/readelf.c:8389
msgid ""
"\n"
"Directory table:"
@@ -5501,12 +5509,12 @@ msgstr ""
"\n"
"Tabla de Directorio:"
-#: src/readelf.c:8380 src/readelf.c:8455
+#: src/readelf.c:8395 src/readelf.c:8470
#, fuzzy, c-format
msgid " ["
msgstr " %s: %s\n"
-#: src/readelf.c:8449
+#: src/readelf.c:8464
#, fuzzy
msgid ""
"\n"
@@ -5515,7 +5523,7 @@ msgstr ""
"\n"
" Tabla de sitio de llamada:"
-#: src/readelf.c:8510
+#: src/readelf.c:8525
#, fuzzy
msgid " Entry Dir Time Size Name"
msgstr ""
@@ -5523,7 +5531,7 @@ msgstr ""
"Tabla de nombre de archivo:\n"
" Directorio de entrada Tiempo Tamaño Nombre"
-#: src/readelf.c:8545
+#: src/readelf.c:8560
msgid ""
"\n"
"Line number statements:"
@@ -5531,121 +5539,121 @@ msgstr ""
"\n"
" Declaraciones de número de Línea:"
-#: src/readelf.c:8568
+#: src/readelf.c:8583
#, 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:8602
+#: src/readelf.c:8617
#, 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:8606
+#: src/readelf.c:8621
#, 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:8609
+#: src/readelf.c:8624
#, c-format
msgid ", line%+d = %zu\n"
msgstr ""
-#: src/readelf.c:8627
+#: src/readelf.c:8642
#, c-format
msgid " extended opcode %u: "
msgstr " Código operativo extendido %u: "
-#: src/readelf.c:8632
+#: src/readelf.c:8647
#, fuzzy
msgid " end of sequence"
msgstr "Fin de secuencia"
-#: src/readelf.c:8650
+#: src/readelf.c:8665
#, fuzzy, c-format
msgid " set address to "
msgstr "Establecer dirección a %s\n"
-#: src/readelf.c:8678
+#: src/readelf.c:8693
#, 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:8691
+#: src/readelf.c:8706
#, c-format
msgid " set discriminator to %u\n"
msgstr " establecer discriminador a %u\n"
#. Unknown, ignore it.
-#: src/readelf.c:8696
+#: src/readelf.c:8711
#, fuzzy
msgid " unknown opcode"
msgstr "código operativo desconocido "
#. Takes no argument.
-#: src/readelf.c:8708
+#: src/readelf.c:8723
msgid " copy"
msgstr "Copiar"
-#: src/readelf.c:8717
+#: src/readelf.c:8732
#, fuzzy, c-format
msgid " advance address by %u to "
msgstr "Dirección de avance por %u a %s\n"
-#: src/readelf.c:8721 src/readelf.c:8777
+#: src/readelf.c:8736 src/readelf.c:8792
#, c-format
msgid ", op_index to %u"
msgstr ""
-#: src/readelf.c:8731
+#: src/readelf.c:8746
#, 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:8739
+#: src/readelf.c:8754
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr " establecer archivo a %<PRIu64>\n"
-#: src/readelf.c:8749
+#: src/readelf.c:8764
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr " Establecer columna a %<PRIu64>\n"
-#: src/readelf.c:8756
+#: src/readelf.c:8771
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr "Establecer '%s' a %<PRIuFAST8>\n"
#. Takes no argument.
-#: src/readelf.c:8762
+#: src/readelf.c:8777
msgid " set basic block flag"
msgstr "Establecer bandera de bloque básico"
-#: src/readelf.c:8773
+#: src/readelf.c:8788
#, fuzzy, c-format
msgid " advance address by constant %u to "
msgstr "Dirección de avance por constante %u a %s\n"
-#: src/readelf.c:8792
+#: src/readelf.c:8807
#, 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:8802
+#: src/readelf.c:8817
msgid " set prologue end flag"
msgstr " Establecer bandera prologue_end"
#. Takes no argument.
-#: src/readelf.c:8807
+#: src/readelf.c:8822
msgid " set epilogue begin flag"
msgstr " Establecer bandera epilogue_begin"
-#: src/readelf.c:8816
+#: src/readelf.c:8831
#, c-format
msgid " set isa to %u\n"
msgstr " establecer isa para %u\n"
@@ -5653,105 +5661,105 @@ 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:8825
+#: src/readelf.c:8840
#, 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:8863
+#: src/readelf.c:8879
#, fuzzy, c-format
msgid "cannot get .debug_loclists content: %s"
msgstr "no es posible obtener contenido de .debug_loc: %s"
-#: src/readelf.c:9032
+#: src/readelf.c:9048
#, fuzzy, c-format
msgid "invalid loclists data"
msgstr "datos inválidos"
-#: src/readelf.c:9285
+#: src/readelf.c:9301
#, c-format
msgid "cannot get .debug_loc content: %s"
msgstr "no es posible obtener contenido de .debug_loc: %s"
-#: src/readelf.c:9492 src/readelf.c:10506
+#: src/readelf.c:9508 src/readelf.c:10552
msgid " <INVALID DATA>\n"
msgstr " <DATOS INVÃLIDOS>\n"
-#: src/readelf.c:9546 src/readelf.c:9709
+#: src/readelf.c:9563 src/readelf.c:9726
#, c-format
msgid "cannot get macro information section data: %s"
msgstr "no es posible obtener datos de la sección de macro información: %s"
-#: src/readelf.c:9626
+#: src/readelf.c:9643
#, 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:9649
+#: src/readelf.c:9666
#, 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:9750
+#: src/readelf.c:9767
#, fuzzy, c-format
msgid " Offset: 0x%<PRIx64>\n"
msgstr " Propietario Tamaño\n"
-#: src/readelf.c:9762
+#: src/readelf.c:9779
#, fuzzy, c-format
msgid " Version: %<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:9768 src/readelf.c:10625
+#: src/readelf.c:9785 src/readelf.c:10672
#, c-format
msgid " unknown version, cannot parse section\n"
msgstr ""
-#: src/readelf.c:9775
+#: src/readelf.c:9792
#, fuzzy, c-format
-msgid " Flag: 0x%<PRIx8>\n"
+msgid " Flag: 0x%<PRIx8>"
msgstr " Dirección de punto de entrada: %#<PRIx64>\n"
-#: src/readelf.c:9778
+#: src/readelf.c:9821
#, fuzzy, c-format
msgid " Offset length: %<PRIu8>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:9786
+#: src/readelf.c:9829
#, fuzzy, c-format
msgid " .debug_line offset: 0x%<PRIx64>\n"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:9811
+#: src/readelf.c:9854
#, fuzzy, c-format
msgid " extension opcode table, %<PRIu8> items:\n"
msgstr " opcódigo con parámetro %<PRIu8> desconocido:"
-#: src/readelf.c:9818
+#: src/readelf.c:9861
#, c-format
msgid " [%<PRIx8>]"
msgstr ""
-#: src/readelf.c:9830
+#: src/readelf.c:9873
#, fuzzy, c-format
msgid " %<PRIu8> arguments:"
msgstr " [%*<PRIuFAST8>] argumento %hhu \n"
-#: src/readelf.c:9845
+#: src/readelf.c:9888
#, c-format
msgid " no arguments."
msgstr ""
-#: src/readelf.c:10046
+#: src/readelf.c:10089
#, 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:10088
+#: src/readelf.c:10133
#, c-format
msgid ""
"\n"
@@ -5762,37 +5770,37 @@ msgstr ""
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
" %*s String\n"
-#: src/readelf.c:10103
+#: src/readelf.c:10148
#, fuzzy, c-format
msgid " *** error, missing string terminator\n"
msgstr " *** error en lectura de cadenas: %s\n"
-#: src/readelf.c:10131
+#: src/readelf.c:10177
#, fuzzy, c-format
msgid "cannot get .debug_str_offsets section data: %s"
msgstr "no se pueden obtener datos de sección: %s"
-#: src/readelf.c:10230
+#: src/readelf.c:10276
#, fuzzy, c-format
msgid " Length: %8<PRIu64>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:10232
+#: src/readelf.c:10278
#, fuzzy, c-format
msgid " Offset size: %8<PRIu8>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:10246
+#: src/readelf.c:10292
#, fuzzy, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10255
+#: src/readelf.c:10301
#, fuzzy, c-format
msgid " Padding: %8<PRIx16>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:10309
+#: src/readelf.c:10355
#, c-format
msgid ""
"\n"
@@ -5801,7 +5809,7 @@ msgstr ""
"\n"
"Sección de tabla de búsqueda de marco de llamada [%2zu] '.eh_frame_hdr':\n"
-#: src/readelf.c:10411
+#: src/readelf.c:10457
#, c-format
msgid ""
"\n"
@@ -5810,22 +5818,22 @@ msgstr ""
"\n"
"Excepción en el manejo de la sección de tabla [%2zu] '.gcc_except_table':\n"
-#: src/readelf.c:10434
+#: src/readelf.c:10480
#, c-format
msgid " LPStart encoding: %#x "
msgstr "Codificación LPStart: %#x "
-#: src/readelf.c:10446
+#: src/readelf.c:10492
#, c-format
msgid " TType encoding: %#x "
msgstr "Codificación TType: %#x "
-#: src/readelf.c:10461
+#: src/readelf.c:10507
#, c-format
msgid " Call site encoding: %#x "
msgstr "Codificación de sitio de llamada: %#x "
-#: src/readelf.c:10474
+#: src/readelf.c:10520
msgid ""
"\n"
" Call site table:"
@@ -5833,7 +5841,7 @@ msgstr ""
"\n"
" Tabla de sitio de llamada:"
-#: src/readelf.c:10488
+#: src/readelf.c:10534
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -5846,12 +5854,12 @@ msgstr ""
" Landing pad: %#<PRIx64>\n"
" Action: %u\n"
-#: src/readelf.c:10561
+#: src/readelf.c:10607
#, c-format
msgid "invalid TType encoding"
msgstr "Codificación TType inválida"
-#: src/readelf.c:10587
+#: src/readelf.c:10634
#, fuzzy, c-format
msgid ""
"\n"
@@ -5860,37 +5868,37 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
-#: src/readelf.c:10616
+#: src/readelf.c:10663
#, fuzzy, c-format
msgid " Version: %<PRId32>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10634
+#: src/readelf.c:10681
#, fuzzy, c-format
msgid " CU offset: %#<PRIx32>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:10641
+#: src/readelf.c:10688
#, fuzzy, c-format
msgid " TU offset: %#<PRIx32>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:10648
+#: src/readelf.c:10695
#, fuzzy, c-format
msgid " address offset: %#<PRIx32>\n"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:10655
+#: src/readelf.c:10702
#, fuzzy, c-format
msgid " symbol offset: %#<PRIx32>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:10662
+#: src/readelf.c:10709
#, fuzzy, c-format
msgid " constant offset: %#<PRIx32>\n"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:10676
+#: src/readelf.c:10723
#, fuzzy, c-format
msgid ""
"\n"
@@ -5899,7 +5907,7 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
-#: src/readelf.c:10701
+#: src/readelf.c:10748
#, fuzzy, c-format
msgid ""
"\n"
@@ -5908,7 +5916,7 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
-#: src/readelf.c:10730
+#: src/readelf.c:10777
#, fuzzy, c-format
msgid ""
"\n"
@@ -5917,7 +5925,7 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
-#: src/readelf.c:10762
+#: src/readelf.c:10809
#, fuzzy, c-format
msgid ""
"\n"
@@ -5926,18 +5934,18 @@ msgstr ""
"\n"
"Tabla de símbolos inválida en compensación %#0<PRIx64>\n"
-#: src/readelf.c:10900
+#: src/readelf.c:10947
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "no se puede depurar descriptor de contexto: %s"
-#: src/readelf.c:11263 src/readelf.c:11885 src/readelf.c:11996
-#: src/readelf.c:12054
+#: src/readelf.c:11310 src/readelf.c:11932 src/readelf.c:12043
+#: src/readelf.c:12101
#, c-format
msgid "cannot convert core note data: %s"
msgstr "no es posible convertir datos de la nota principal: %s"
-#: src/readelf.c:11626
+#: src/readelf.c:11673
#, c-format
msgid ""
"\n"
@@ -5946,21 +5954,21 @@ msgstr ""
"\n"
"%*s... <repeats %u more times> ..."
-#: src/readelf.c:12133
+#: src/readelf.c:12180
msgid " Owner Data size Type\n"
msgstr " Owner Data size Type\n"
-#: src/readelf.c:12151
+#: src/readelf.c:12209
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:12201
+#: src/readelf.c:12261
#, 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:12228
+#: src/readelf.c:12288
#, c-format
msgid ""
"\n"
@@ -5969,7 +5977,7 @@ msgstr ""
"\n"
"Sección de nota [%2zu] '%s' de %<PRIu64> bytes en compensación %#0<PRIx64>:\n"
-#: src/readelf.c:12251
+#: src/readelf.c:12311
#, c-format
msgid ""
"\n"
@@ -5978,7 +5986,7 @@ msgstr ""
"\n"
"Segmento de nota de %<PRIu64> bytes en compensación %#0<PRIx64>:\n"
-#: src/readelf.c:12297
+#: src/readelf.c:12358
#, fuzzy, c-format
msgid ""
"\n"
@@ -5987,12 +5995,12 @@ msgstr ""
"\n"
"Sección [%Zu] '%s' no tiene datos para volcar.\n"
-#: src/readelf.c:12324 src/readelf.c:12375
+#: src/readelf.c:12385 src/readelf.c:12436
#, 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:12329
+#: src/readelf.c:12390
#, fuzzy, c-format
msgid ""
"\n"
@@ -6002,7 +6010,7 @@ msgstr ""
"Volcado Hex de sección [%Zu] '%s', %<PRIu64> bytes en compensación "
"%#0<PRIx64>:\n"
-#: src/readelf.c:12334
+#: src/readelf.c:12395
#, fuzzy, c-format
msgid ""
"\n"
@@ -6013,7 +6021,7 @@ msgstr ""
"Volcado Hex de sección [%Zu] '%s', %<PRIu64> bytes en compensación "
"%#0<PRIx64>:\n"
-#: src/readelf.c:12348
+#: src/readelf.c:12409
#, fuzzy, c-format
msgid ""
"\n"
@@ -6022,7 +6030,7 @@ msgstr ""
"\n"
"Sección [%Zu] '%s' no tiene datos para volcar.\n"
-#: src/readelf.c:12380
+#: src/readelf.c:12441
#, fuzzy, c-format
msgid ""
"\n"
@@ -6032,7 +6040,7 @@ msgstr ""
"Sección de cadena [%Zu] '%s' contiene %<PRIu64> bytes en compensación "
"%#0<PRIx64>:\n"
-#: src/readelf.c:12385
+#: src/readelf.c:12446
#, fuzzy, c-format
msgid ""
"\n"
@@ -6043,7 +6051,7 @@ msgstr ""
"Sección de cadena [%Zu] '%s' contiene %<PRIu64> bytes en compensación "
"%#0<PRIx64>:\n"
-#: src/readelf.c:12434
+#: src/readelf.c:12495
#, c-format
msgid ""
"\n"
@@ -6052,7 +6060,7 @@ msgstr ""
"\n"
"sección [%lu] no existe"
-#: src/readelf.c:12463
+#: src/readelf.c:12524
#, c-format
msgid ""
"\n"
@@ -6061,12 +6069,12 @@ msgstr ""
"\n"
"sección '%s' no existe"
-#: src/readelf.c:12520
+#: src/readelf.c:12581
#, 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:12523
+#: src/readelf.c:12584
#, c-format
msgid ""
"\n"
@@ -6075,7 +6083,7 @@ msgstr ""
"\n"
"Archivo '%s' no tiene índice de símbolo\n"
-#: src/readelf.c:12527
+#: src/readelf.c:12588
#, fuzzy, c-format
msgid ""
"\n"
@@ -6084,12 +6092,12 @@ msgstr ""
"\n"
"Ãndice de archivo '%s' tiene %Zu entradas:\n"
-#: src/readelf.c:12545
+#: src/readelf.c:12606
#, 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:12550
+#: src/readelf.c:12611
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "Miembro de archivo contiene '%s':\n"
@@ -6156,12 +6164,12 @@ msgstr "Radical inválido: %s"
msgid "%s: file format not recognized"
msgstr "%s: No se reconoce el formato del fichero"
-#: src/size.c:416 src/size.c:549
+#: src/size.c:418 src/size.c:551
#, c-format
msgid " (ex %s)"
msgstr " (ex %s)"
-#: src/size.c:574
+#: src/size.c:576
msgid "(TOTALS)\n"
msgstr "(TOTALES)\n"
@@ -6350,94 +6358,114 @@ msgstr "mprotect falló"
msgid "Skipping section %zd '%s' data outside file"
msgstr ""
-#: src/strip.c:70
+#: src/strip.c:71
msgid "Place stripped output into FILE"
msgstr "Colocar la salida obtenida en FICHERO"
-#: src/strip.c:71
+#: src/strip.c:72
msgid "Extract the removed sections into FILE"
msgstr "Extraer secciones eliminadas en FICHERO"
-#: src/strip.c:72
+#: src/strip.c:73
msgid "Embed name FILE instead of -f argument"
msgstr "Incorporar nombre FILE en lugar de argumento -f"
-#: src/strip.c:76
+#: src/strip.c:77
msgid "Remove all debugging symbols"
msgstr "Elimina todos los símbolos de depuración"
-#: src/strip.c:80
+#: src/strip.c:81
msgid "Remove section headers (not recommended)"
msgstr "Quitar sección de cabeceras (no recomendado)"
-#: src/strip.c:82
+#: src/strip.c:83
msgid "Copy modified/access timestamps to the output"
msgstr "Copiar marcas de tiempo modificadas/acceso a la salida"
-#: src/strip.c:84
+#: src/strip.c:85
msgid ""
"Resolve all trivial relocations between debug sections if the removed "
"sections are placed in a debug file (only relevant for ET_REL files, "
"operation is not reversable, needs -f)"
msgstr ""
-#: src/strip.c:86
+#: src/strip.c:87
+msgid ""
+"Similar to --reloc-debug-sections, but resolve all trivial relocations "
+"between debug sections in place. No other stripping is performed (operation "
+"is not reversable, incompatible with -f, -g, --remove-comment and --remove-"
+"section)"
+msgstr ""
+
+#: src/strip.c:89
msgid "Remove .comment section"
msgstr "Quitar sección de comentario"
-#: src/strip.c:87
+#: src/strip.c:90
msgid ""
"Remove the named section. SECTION is an extended wildcard pattern. May be "
"given more than once. Only non-allocated sections can be removed."
msgstr ""
-#: src/strip.c:88
+#: src/strip.c:91
msgid ""
"Keep the named section. SECTION is an extended wildcard pattern. May be "
"given more than once."
msgstr ""
#. Short description of program.
-#: src/strip.c:95
+#: src/strip.c:98
msgid "Discard symbols from object files."
msgstr "Descarta símbolos de archivos objeto."
-#: src/strip.c:241
+#: src/strip.c:247
#, c-format
msgid "--reloc-debug-sections used without -f"
msgstr ""
-#: src/strip.c:255
+#: src/strip.c:253
+#, c-format
+msgid ""
+"--reloc-debug-sections-only incompatible with -f, -g, --remove-comment and --"
+"remove-section"
+msgstr ""
+
+#: src/strip.c:267
#, c-format
msgid "Only one input file allowed together with '-o' and '-f'"
msgstr "Sólo se permite ingresar un archivo junto con '-o' y '-f'"
-#: src/strip.c:278
+#: src/strip.c:290
#, c-format
msgid "-f option specified twice"
msgstr "opción -f especificada dos veces"
-#: src/strip.c:287
+#: src/strip.c:299
#, c-format
msgid "-F option specified twice"
msgstr "opción -F especificada dos veces"
-#: src/strip.c:346
+#: src/strip.c:362
#, fuzzy, c-format
msgid "cannot both keep and remove .comment section"
msgstr "Quitar sección de comentario"
-#: src/strip.c:371 src/strip.c:395
+#: src/strip.c:574
+#, fuzzy, c-format
+msgid "bad relocation"
+msgstr "Mostrar reubicaciones"
+
+#: src/strip.c:726 src/strip.c:750
#, c-format
msgid "cannot stat input file '%s'"
msgstr "no sepuede stat fichero de entrada '%s'"
-#: src/strip.c:385
+#: src/strip.c:740
#, c-format
msgid "while opening '%s'"
msgstr "mientras se abría '%s'"
-#: src/strip.c:423
+#: src/strip.c:778
#, c-format
msgid "%s: cannot use -o or -f when stripping archive"
msgstr "%s: no puede utilizarse -o o -f cuando se extrae un archivo"
@@ -6448,132 +6476,132 @@ msgstr "%s: no puede utilizarse -o o -f cuando se extrae un archivo"
#. result = handle_ar (fd, elf, NULL, fname,
#. preserve_dates ? tv : NULL);
#.
-#: src/strip.c:435
+#: src/strip.c:790
#, fuzzy, c-format
msgid "%s: no support for stripping archive"
msgstr "%s: no puede utilizarse -o o -f cuando se extrae un archivo"
-#: src/strip.c:534
+#: src/strip.c:1001
#, c-format
msgid "cannot open EBL backend"
msgstr "No se puede abrir el segundo plano EBL"
-#: src/strip.c:579
+#: src/strip.c:1046
#, fuzzy, c-format
msgid "cannot get number of phdrs"
msgstr "no se pudo determinar la cantidad de encabezados de programa: %s"
-#: src/strip.c:595 src/strip.c:619
-#, c-format
-msgid "cannot create new file '%s': %s"
+#: src/strip.c:1060 src/strip.c:1103
+#, fuzzy, c-format
+msgid "cannot create new ehdr for file '%s': %s"
msgstr "no se puede crear fichero nuevo '%s': %s"
-#: src/strip.c:701
+#: src/strip.c:1070 src/strip.c:1113
+#, fuzzy, c-format
+msgid "cannot create new phdr for file '%s': %s"
+msgstr "no se puede crear fichero nuevo '%s': %s"
+
+#: src/strip.c:1194
#, c-format
msgid "illformed file '%s'"
msgstr "Fichero illformed '%s'"
-#: src/strip.c:711
+#: src/strip.c:1204
#, fuzzy, c-format
msgid "Cannot remove allocated section '%s'"
msgstr "No se puede asignar sección PLT: %s"
-#: src/strip.c:720
+#: src/strip.c:1213
#, fuzzy, c-format
msgid "Cannot both keep and remove section '%s'"
msgstr "No se puede añadir nueva sección: %s"
-#: src/strip.c:1076 src/strip.c:1210
+#: src/strip.c:1573 src/strip.c:1688
#, c-format
msgid "while generating output file: %s"
msgstr "al generar fichero de salida: %s"
-#: src/strip.c:1141
+#: src/strip.c:1637
#, fuzzy, c-format
-msgid "%s: error while getting shdrstrndx: %s"
+msgid "%s: error while updating ELF header: %s"
msgstr "%s: error al crear encabezamiento ELF: %s"
-#: src/strip.c:1157
+#: src/strip.c:1646
#, fuzzy, c-format
-msgid "%s: error getting zero section: %s"
-msgstr "%s: error al leer el fichero: %s"
+msgid "%s: error while getting shdrstrndx: %s"
+msgstr "%s: error al crear encabezamiento ELF: %s"
-#: src/strip.c:1166
+#: src/strip.c:1654 src/strip.c:2534
#, fuzzy, c-format
-msgid "%s: error while updating zero section: %s"
-msgstr "%s: error al leer el fichero: %s"
-
-#: src/strip.c:1176 src/strip.c:2292
-#, c-format
-msgid "%s: error while creating ELF header: %s"
+msgid "%s: error updating shdrstrndx: %s"
msgstr "%s: error al crear encabezamiento ELF: %s"
-#: src/strip.c:1193
+#: src/strip.c:1671
#, c-format
msgid "while preparing output for '%s'"
msgstr "al preparar salida para '%s'"
-#: src/strip.c:1255 src/strip.c:1318
+#: src/strip.c:1733 src/strip.c:1796
#, c-format
msgid "while create section header section: %s"
msgstr "al crear sección de encabezamiento de sección: %s"
-#: src/strip.c:1264
+#: src/strip.c:1742
#, c-format
msgid "cannot allocate section data: %s"
msgstr "no se puede asignar espacio para los datos: %s"
-#: src/strip.c:1330
+#: src/strip.c:1808
#, c-format
msgid "while create section header string table: %s"
msgstr "al crear tabla de cadenas de encabezamiento de sección: %s"
-#: src/strip.c:1337
+#: src/strip.c:1815
#, fuzzy, c-format
msgid "no memory to create section header string table"
msgstr "al crear tabla de cadenas de encabezamiento de sección: %s"
-#: src/strip.c:1547
+#: src/strip.c:2027
#, c-format
msgid "Cannot remove symbol [%zd] from allocated symbol table [%zd]"
msgstr ""
-#: src/strip.c:2078
-#, fuzzy, c-format
-msgid "bad relocation"
-msgstr "Mostrar reubicaciones"
-
-#: src/strip.c:2203 src/strip.c:2316
+#: src/strip.c:2450 src/strip.c:2558
#, c-format
msgid "while writing '%s': %s"
msgstr "al escribir '%s': %s"
-#: src/strip.c:2214
+#: src/strip.c:2461
#, c-format
msgid "while creating '%s'"
msgstr "al crear '%s'"
-#: src/strip.c:2237
+#: src/strip.c:2484
#, c-format
msgid "while computing checksum for debug information"
msgstr "al computar la suma de verificación para información de depuración"
-#: src/strip.c:2301
+#: src/strip.c:2525
+#, c-format
+msgid "%s: error while creating ELF header: %s"
+msgstr "%s: error al crear encabezamiento ELF: %s"
+
+#: src/strip.c:2543
#, c-format
msgid "%s: error while reading the file: %s"
msgstr "%s: error al leer el fichero: %s"
-#: src/strip.c:2341 src/strip.c:2361
+#: src/strip.c:2583 src/strip.c:2603
#, c-format
msgid "while writing '%s'"
msgstr "al escribir '%s'"
-#: src/strip.c:2398 src/strip.c:2405
+#: src/strip.c:2640 src/strip.c:2647
#, c-format
msgid "error while finishing '%s': %s"
msgstr "Error al terminar '%s': %s"
-#: src/strip.c:2422 src/strip.c:2498
+#: src/strip.c:2664 src/strip.c:2740
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr "no es posible establecer acceso y fecha de modificación de '%s'"
@@ -6661,196 +6689,226 @@ msgstr "no se puede crear el encabezamiento ELF: %s"
msgid "cannot get shdrstrndx:%s"
msgstr "No se puede encontrar la sección: %s"
-#: src/unstrip.c:257
+#: src/unstrip.c:248 src/unstrip.c:2034
+#, c-format
+msgid "cannot get ELF header: %s"
+msgstr "no se puede leer encabezamiento ELF: %s"
+
+#: src/unstrip.c:258
#, fuzzy, c-format
msgid "cannot get new zero section: %s"
msgstr "No se puede encontrar la sección: %s"
-#: src/unstrip.c:260
+#: src/unstrip.c:261
#, fuzzy, c-format
msgid "cannot update new zero section: %s"
msgstr "no se puede actualizar reubicación: %s"
-#: src/unstrip.c:264
+#: src/unstrip.c:265
#, c-format
msgid "cannot copy ELF header: %s"
msgstr "no se puede copiar encabezamiento ELF: %s"
-#: src/unstrip.c:268 src/unstrip.c:1962 src/unstrip.c:2005
+#: src/unstrip.c:269 src/unstrip.c:2052 src/unstrip.c:2095
#, fuzzy, c-format
msgid "cannot get number of program headers: %s"
msgstr "no se pudo determinar la cantidad de encabezados de programa: %s"
-#: src/unstrip.c:273 src/unstrip.c:1966
+#: src/unstrip.c:274 src/unstrip.c:2056
#, c-format
msgid "cannot create program headers: %s"
msgstr "No pueden crear encabezamientos de programa: %s"
-#: src/unstrip.c:279
+#: src/unstrip.c:280
#, c-format
msgid "cannot copy program header: %s"
msgstr "no puede copiar encabezamiento de programa: %s"
-#: src/unstrip.c:289
+#: src/unstrip.c:290
#, c-format
msgid "cannot copy section header: %s"
msgstr "no se puede copiar encabezamiento de sección: %s"
-#: src/unstrip.c:292 src/unstrip.c:1597
+#: src/unstrip.c:293 src/unstrip.c:1665
#, c-format
msgid "cannot get section data: %s"
msgstr "no se pueden obtener datos de sección: %s"
-#: src/unstrip.c:294 src/unstrip.c:1599
+#: src/unstrip.c:295 src/unstrip.c:1667
#, c-format
msgid "cannot copy section data: %s"
msgstr "no pueden copiar datos de sección: %s"
-#: src/unstrip.c:318
+#: src/unstrip.c:319
#, c-format
msgid "cannot create directory '%s'"
msgstr "no se puede crear el directorio '%s'"
-#: src/unstrip.c:390 src/unstrip.c:820 src/unstrip.c:1631
+#: src/unstrip.c:391 src/unstrip.c:845 src/unstrip.c:1702
#, c-format
msgid "cannot get symbol table entry: %s"
msgstr "no se puede obtener entrada de tabla de símbolos: %s"
-#: src/unstrip.c:406 src/unstrip.c:631 src/unstrip.c:652 src/unstrip.c:664
-#: src/unstrip.c:1652 src/unstrip.c:1828 src/unstrip.c:1852
+#: src/unstrip.c:407 src/unstrip.c:649 src/unstrip.c:670 src/unstrip.c:682
+#: src/unstrip.c:1723 src/unstrip.c:1918 src/unstrip.c:1942
#, c-format
msgid "cannot update symbol table: %s"
msgstr "no se puede actualizar tabla de símbolos: %s"
-#: src/unstrip.c:416
+#: src/unstrip.c:417
#, c-format
msgid "cannot update section header: %s"
msgstr "no se puede actualizar encabezamiento de sección: %s"
-#: src/unstrip.c:455 src/unstrip.c:466
+#: src/unstrip.c:459 src/unstrip.c:473
#, c-format
msgid "cannot update relocation: %s"
msgstr "no se puede actualizar reubicación: %s"
-#: src/unstrip.c:554
+#: src/unstrip.c:570
#, c-format
msgid "cannot get symbol version: %s"
msgstr "no se puede obtener versión de símbolo: %s"
-#: src/unstrip.c:567
+#: src/unstrip.c:583
#, fuzzy, c-format
msgid "unexpected section type in [%zu] with sh_link to symtab"
msgstr "tipo de sección inesperado en [%Zu] con sh_link para symtab"
-#: src/unstrip.c:826
+#: src/unstrip.c:851
#, fuzzy, c-format
msgid "invalid string offset in symbol [%zu]"
msgstr "compensación de cadena inválida en símbolo [%Zu]"
-#: src/unstrip.c:984 src/unstrip.c:1334
+#: src/unstrip.c:1009 src/unstrip.c:1398
#, fuzzy, c-format
msgid "cannot read section [%zu] name: %s"
msgstr "no se puede leer nombre [%Zu]: %s"
-#: src/unstrip.c:1025 src/unstrip.c:1044 src/unstrip.c:1082
+#: src/unstrip.c:1024
+#, fuzzy, c-format
+msgid "bad sh_link for group section: %s"
+msgstr ".debug_line section inválida"
+
+#: src/unstrip.c:1030
+#, fuzzy, c-format
+msgid "couldn't get shdr for group section: %s"
+msgstr "No se puede obtener encabezamiento de sección 0th: %s"
+
+#: src/unstrip.c:1035
+#, fuzzy, c-format
+msgid "bad data for group symbol section: %s"
+msgstr "no se puede obtener sección para símbolos\n"
+
+#: src/unstrip.c:1041
+#, fuzzy, c-format
+msgid "couldn't get symbol for group section: %s"
+msgstr "no se puede obtener versión de símbolo: %s"
+
+#: src/unstrip.c:1046
+#, fuzzy, c-format
+msgid "bad symbol name for group section: %s"
+msgstr "No se puede obtener el encabezamiento de sección %zu: %s"
+
+#: src/unstrip.c:1088 src/unstrip.c:1107 src/unstrip.c:1145
#, c-format
msgid "cannot read '.gnu.prelink_undo' section: %s"
msgstr "no se puede leer sección '.gnu.prelink_undo': %s"
-#: src/unstrip.c:1062
+#: src/unstrip.c:1125
#, c-format
msgid "overflow with shnum = %zu in '%s' section"
msgstr ""
-#: src/unstrip.c:1073
+#: src/unstrip.c:1136
#, c-format
msgid "invalid contents in '%s' section"
msgstr "contenido inválido en sección '%s'"
-#: src/unstrip.c:1128 src/unstrip.c:1456
+#: src/unstrip.c:1192 src/unstrip.c:1524
#, fuzzy, c-format
msgid "cannot find matching section for [%zu] '%s'"
msgstr "no se puede hallar sección coincidente para [%Zu] '%s'"
-#: src/unstrip.c:1253 src/unstrip.c:1268 src/unstrip.c:1535 src/unstrip.c:1787
+#: src/unstrip.c:1317 src/unstrip.c:1332 src/unstrip.c:1603 src/unstrip.c:1877
#, c-format
msgid "cannot add section name to string table: %s"
msgstr "no se puede añadir nombre de sección a tabla de cadenas: %s"
-#: src/unstrip.c:1277
+#: src/unstrip.c:1341
#, c-format
msgid "cannot update section header string table data: %s"
msgstr ""
"no se pueden actualizar datos de tabla de cadenas de encabezamiento de "
"sección: %s"
-#: src/unstrip.c:1305 src/unstrip.c:1309
+#: src/unstrip.c:1369 src/unstrip.c:1373
#, c-format
msgid "cannot get section header string table section index: %s"
msgstr ""
"no se puede obtener índice de sección de tabla de cadenas de encabezamiento "
"de sección: %s"
-#: src/unstrip.c:1313 src/unstrip.c:1317 src/unstrip.c:1550
+#: src/unstrip.c:1377 src/unstrip.c:1381 src/unstrip.c:1618
#, c-format
msgid "cannot get section count: %s"
msgstr "No se puede obtener cuenta de sección: %s"
-#: src/unstrip.c:1320
+#: src/unstrip.c:1384
#, c-format
msgid "more sections in stripped file than debug file -- arguments reversed?"
msgstr ""
"más secciones en el archivo despojado que en el archivo de depuración -- "
"¿argumentos invertidos?"
-#: src/unstrip.c:1379 src/unstrip.c:1471
+#: src/unstrip.c:1446 src/unstrip.c:1539
#, c-format
msgid "cannot read section header string table: %s"
msgstr "no se puede obtener tabla de cadenas de encabezamiento de sección: %s"
-#: src/unstrip.c:1529
+#: src/unstrip.c:1597
#, c-format
msgid "cannot add new section: %s"
msgstr "No se puede añadir nueva sección: %s"
-#: src/unstrip.c:1639
+#: src/unstrip.c:1710
#, fuzzy, c-format
msgid "symbol [%zu] has invalid section index"
msgstr "símbolo [%Zu] tiene índice de sección inválido"
-#: src/unstrip.c:1923
+#: src/unstrip.c:1742
+#, fuzzy, c-format
+msgid "group has invalid section index [%zd]"
+msgstr "símbolo [%Zu] tiene índice de sección inválido"
+
+#: src/unstrip.c:2013
#, c-format
msgid "cannot read section data: %s"
msgstr "no se puede leer la sección de datos: %s"
-#: src/unstrip.c:1944
-#, c-format
-msgid "cannot get ELF header: %s"
-msgstr "no se puede leer encabezamiento ELF: %s"
-
-#: src/unstrip.c:1952
+#: src/unstrip.c:2042
#, c-format
msgid "cannot update ELF header: %s"
msgstr "No se puede actualizar encabezamiento ELF: %s"
-#: src/unstrip.c:1976
+#: src/unstrip.c:2066
#, c-format
msgid "cannot update program header: %s"
msgstr "no se puede actualizar encabezamiento de programa: %s"
-#: src/unstrip.c:1981 src/unstrip.c:2063
+#: src/unstrip.c:2071 src/unstrip.c:2153
#, c-format
msgid "cannot write output file: %s"
msgstr "no se puede escribir al archivo de salida: %s"
-#: src/unstrip.c:2032
+#: src/unstrip.c:2122
#, c-format
msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
msgstr ""
"datos DWARF no se ajustan para polarización de pre-enlace; considere prelink "
"-u"
-#: src/unstrip.c:2035
+#: src/unstrip.c:2125
#, c-format
msgid ""
"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
@@ -6858,77 +6916,77 @@ msgstr ""
"Datos DWARF en '%s' no se ajustan a polarización de pre-enlace; considere "
"prelink -u"
-#: src/unstrip.c:2054 src/unstrip.c:2105 src/unstrip.c:2117 src/unstrip.c:2203
+#: src/unstrip.c:2144 src/unstrip.c:2195 src/unstrip.c:2207 src/unstrip.c:2293
#, c-format
msgid "cannot create ELF descriptor: %s"
msgstr "no se puede crear un descriptor ELF: %s"
-#: src/unstrip.c:2096
+#: src/unstrip.c:2186
msgid "WARNING: "
msgstr ""
-#: src/unstrip.c:2098
+#: src/unstrip.c:2188
msgid ", use --force"
msgstr ""
-#: src/unstrip.c:2121
+#: src/unstrip.c:2211
msgid "ELF header identification (e_ident) different"
msgstr ""
-#: src/unstrip.c:2124
+#: src/unstrip.c:2214
msgid "ELF header type (e_type) different"
msgstr ""
-#: src/unstrip.c:2127
+#: src/unstrip.c:2217
msgid "ELF header machine type (e_machine) different"
msgstr ""
-#: src/unstrip.c:2130
+#: src/unstrip.c:2220
msgid "stripped program header (e_phnum) smaller than unstripped"
msgstr ""
-#: src/unstrip.c:2160
+#: src/unstrip.c:2250
#, c-format
msgid "cannot find stripped file for module '%s': %s"
msgstr "no se puede hallar archivo obtenido para módulo '%s': %s "
-#: src/unstrip.c:2164
+#: src/unstrip.c:2254
#, c-format
msgid "cannot open stripped file '%s' for module '%s': %s"
msgstr "No se puede abrir el archivo '%s' obtenido para módulo '%s': %s"
-#: src/unstrip.c:2179
+#: src/unstrip.c:2269
#, c-format
msgid "cannot find debug file for module '%s': %s"
msgstr "no puede hallar archivo de depuración para módulo '%s': %su"
-#: src/unstrip.c:2183
+#: src/unstrip.c:2273
#, c-format
msgid "cannot open debug file '%s' for module '%s': %s"
msgstr "No puede abrir archivo de depuración '%s' para módulo '%s': %s"
-#: src/unstrip.c:2196
+#: src/unstrip.c:2286
#, c-format
msgid "module '%s' file '%s' is not stripped"
msgstr "No se obtuvo el archivo '%s' de módulo '%s' "
-#: src/unstrip.c:2227
+#: src/unstrip.c:2317
#, c-format
msgid "cannot cache section addresses for module '%s': %s"
msgstr ""
"No puede almacenar en cache direcciones de sección para módulo '%s': %s"
-#: src/unstrip.c:2360
+#: src/unstrip.c:2450
#, c-format
msgid "no matching modules found"
msgstr "No se encontraron módulos coincidentes"
-#: src/unstrip.c:2369
+#: src/unstrip.c:2459
#, c-format
msgid "matched more than one module"
msgstr "coincidió con más de un módulo"
-#: src/unstrip.c:2413
+#: src/unstrip.c:2503
msgid ""
"STRIPPED-FILE DEBUG-FILE\n"
"[MODULE...]"
@@ -6936,7 +6994,7 @@ msgstr ""
"STRIPPED-FILE DEBUG-FILE\n"
"[MODULE...]"
-#: src/unstrip.c:2414
+#: src/unstrip.c:2504
#, fuzzy
msgid ""
"Combine stripped files with separate symbols and debug information.\n"
@@ -7002,6 +7060,14 @@ msgstr "También mostrar nombres de función"
msgid "Show instances of inlined functions"
msgstr ""
+#, fuzzy
+#~ msgid "%s: error getting zero section: %s"
+#~ msgstr "%s: error al leer el fichero: %s"
+
+#, fuzzy
+#~ msgid "%s: error while updating zero section: %s"
+#~ msgstr "%s: error al leer el fichero: %s"
+
#~ msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
#~ msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>"
@@ -7524,9 +7590,6 @@ msgstr ""
#~ msgid "internal error: non-nobits section follows nobits section"
#~ msgstr "error interno: sección non-nobits sigue a sección nobits"
-#~ msgid "cannot get header of 0th section: %s"
-#~ msgstr "No se puede obtener encabezamiento de sección 0th: %s"
-
#~ msgid "linker backend didn't specify function to relocate section"
#~ msgstr ""
#~ "enlazador de segundo plano no especificó función para reubicar sección"
diff --git a/po/ja.po b/po/ja.po
index 9ea59ec4..fc47ba20 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ja\n"
"Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n"
-"POT-Creation-Date: 2018-09-14 12:05+0200\n"
+"POT-Creation-Date: 2018-11-16 12:42+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"
@@ -50,8 +50,8 @@ msgstr ""
"This is free software; see the source for copying conditions. There is NO\n"
"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n"
-#: lib/xmalloc.c:52 lib/xmalloc.c:65 lib/xmalloc.c:77 src/readelf.c:3409
-#: src/readelf.c:11212 src/unstrip.c:2256 src/unstrip.c:2462
+#: lib/xmalloc.c:52 lib/xmalloc.c:65 lib/xmalloc.c:77 src/readelf.c:3414
+#: src/readelf.c:11259 src/unstrip.c:2346 src/unstrip.c:2552
#, c-format
msgid "memory exhausted"
msgstr "メモリー消費済ã¿"
@@ -293,7 +293,7 @@ msgstr "ä¸æ˜Žãªå‘½ä»¤ã‚³ãƒ¼ãƒ‰"
msgid ".debug_addr section missing"
msgstr ".debug_ranges セクションãŒã‚ã‚Šã¾ã›ã‚“"
-#: libdwfl/argp-std.c:50 src/stack.c:638 src/unstrip.c:2403
+#: libdwfl/argp-std.c:50 src/stack.c:638 src/unstrip.c:2493
msgid "Input selection options:"
msgstr "é¸æŠžã‚ªãƒ—ションを入力ã—ã¦ãã ã•ã„:"
@@ -527,8 +527,8 @@ msgstr "ä¸å½“㪠ELF ファイル"
msgid "No backend"
msgstr "ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ãŒã‚ã‚Šã¾ã›ã‚“"
-#: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:76
-#: libebl/eblobjnotetypename.c:83 libebl/eblobjnotetypename.c:102
+#: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:77
+#: libebl/eblobjnotetypename.c:109 libebl/eblobjnotetypename.c:130
#: libebl/eblosabiname.c:73 libebl/eblsectionname.c:83
#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:79
msgid "<unknown>"
@@ -539,58 +539,58 @@ msgstr "<ä¸æ˜Ž>"
msgid "<unknown>: %#<PRIx64>"
msgstr "<ä¸æ˜Ž>: %#<PRIx64>"
-#: libebl/eblobjnote.c:53
+#: libebl/eblobjnote.c:58
#, fuzzy, c-format
msgid "unknown SDT version %u\n"
msgstr "ä¸æ˜Žãªãƒãƒ¼ã‚¸ãƒ§ãƒ³"
-#: libebl/eblobjnote.c:71
+#: libebl/eblobjnote.c:76
#, fuzzy, c-format
msgid "invalid SDT probe descriptor\n"
msgstr "ä¸å½“ãªãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­"
-#: libebl/eblobjnote.c:121
+#: libebl/eblobjnote.c:126
#, c-format
msgid " PC: "
msgstr ""
-#: libebl/eblobjnote.c:123
+#: libebl/eblobjnote.c:128
#, c-format
msgid " Base: "
msgstr ""
-#: libebl/eblobjnote.c:125
+#: libebl/eblobjnote.c:130
#, c-format
msgid " Semaphore: "
msgstr ""
-#: libebl/eblobjnote.c:127
+#: libebl/eblobjnote.c:132
#, c-format
msgid " Provider: "
msgstr ""
-#: libebl/eblobjnote.c:129
+#: libebl/eblobjnote.c:134
#, c-format
msgid " Name: "
msgstr ""
-#: libebl/eblobjnote.c:131
+#: libebl/eblobjnote.c:136
#, c-format
msgid " Args: "
msgstr ""
-#: libebl/eblobjnote.c:141
+#: libebl/eblobjnote.c:300
#, c-format
msgid " Build ID: "
msgstr " ビルト ID: "
#. A non-null terminated version string.
-#: libebl/eblobjnote.c:152
+#: libebl/eblobjnote.c:311
#, c-format
msgid " Linker version: %.*s\n"
msgstr ""
-#: libebl/eblobjnote.c:213
+#: libebl/eblobjnote.c:553
#, c-format
msgid " OS: %s, ABI: "
msgstr " OS: %sã€ABI: "
@@ -624,7 +624,7 @@ msgstr "ソース演算å­ã®å¤§ãã•ãŒç„¡åŠ¹"
msgid "invalid size of destination operand"
msgstr "宛先演算å­ã®å¤§ãã•ãŒç„¡åŠ¹"
-#: libelf/elf_error.c:87 src/readelf.c:6123
+#: libelf/elf_error.c:87 src/readelf.c:6129
#, c-format
msgid "invalid encoding"
msgstr "無効ãªã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰"
@@ -711,8 +711,8 @@ msgstr "データ/scnãŒä¸æ•´åˆã§ã™"
msgid "invalid section header"
msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³ãƒ˜ãƒƒãƒ€ãƒ¼"
-#: libelf/elf_error.c:191 src/readelf.c:9758 src/readelf.c:10329
-#: src/readelf.c:10430 src/readelf.c:10611
+#: libelf/elf_error.c:191 src/readelf.c:9775 src/readelf.c:10375
+#: src/readelf.c:10476 src/readelf.c:10658
#, c-format
msgid "invalid data"
msgstr "ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
@@ -1046,12 +1046,12 @@ msgstr "アーカイブ㫠stat ã§ãã¾ã›ã‚“: '%s'"
msgid "no entry %s in archive\n"
msgstr "アーカイブã«é …ç›® %s ãŒã‚ã‚Šã¾ã›ã‚“\n"
-#: src/ar.c:472 src/ar.c:917 src/ar.c:1121
+#: src/ar.c:472 src/ar.c:923 src/ar.c:1127
#, c-format
msgid "cannot create hash table"
msgstr "ãƒãƒƒã‚·ãƒ¥ãƒ†ãƒ¼ãƒ–ルを生æˆã§ãã¾ã›ã‚“"
-#: src/ar.c:479 src/ar.c:924 src/ar.c:1130
+#: src/ar.c:479 src/ar.c:930 src/ar.c:1136
#, c-format
msgid "cannot insert into hash table"
msgstr "ãƒãƒƒã‚·ãƒ¥ã«æŒ¿å…¥ã§ãã¾ã›ã‚“"
@@ -1061,97 +1061,97 @@ msgstr "ãƒãƒƒã‚·ãƒ¥ã«æŒ¿å…¥ã§ãã¾ã›ã‚“"
msgid "cannot stat '%s'"
msgstr "'%s' ã« stat ã§ãã¾ã›ã‚“"
-#: src/ar.c:583
+#: src/ar.c:589
#, c-format
msgid "cannot read content of %s: %s"
msgstr "%s ã®å†…容を読むã“ã¨ãŒã§ãã¾ã›ã‚“: %s"
-#: src/ar.c:626
+#: src/ar.c:632
#, c-format
msgid "cannot open %.*s"
msgstr "%.*s ã‚’é–‹ã‘ã¾ã›ã‚“"
-#: src/ar.c:648
+#: src/ar.c:654
#, c-format
msgid "failed to write %s"
msgstr "%s ã¸ã®æ›¸è¾¼ã¿ã«å¤±æ•—ã—ã¾ã—ãŸ"
-#: src/ar.c:660
+#: src/ar.c:666
#, c-format
msgid "cannot change mode of %s"
msgstr "%s ã®ãƒ¢ãƒ¼ãƒ‰ã‚’変更ã§ãã¾ã›ã‚“"
-#: src/ar.c:676
+#: src/ar.c:682
#, c-format
msgid "cannot change modification time of %s"
msgstr "%s ã®æ›´æ–°æ™‚間を変更ã§ãã¾ã›ã‚“"
-#: src/ar.c:722
+#: src/ar.c:728
#, c-format
msgid "cannot rename temporary file to %.*s"
msgstr "一時ファイルを %.*s ã«åå‰å¤‰æ›´ã§ãã¾ã›ã‚“"
-#: src/ar.c:758 src/ar.c:1009 src/ar.c:1410 src/ranlib.c:222
+#: src/ar.c:764 src/ar.c:1015 src/ar.c:1416 src/ranlib.c:222
#, c-format
msgid "cannot create new file"
msgstr "æ–°ã—ã„ファイルを生æˆã§ãã¾ã›ã‚“"
-#: src/ar.c:1212
+#: src/ar.c:1218
#, c-format
msgid "position member %s not found"
msgstr "ä½ç½®ãƒ¡ãƒ³ãƒãƒ¼ %s ãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“"
-#: src/ar.c:1222
+#: src/ar.c:1228
#, c-format
msgid "%s: no entry %s in archive!\n"
msgstr "%s: é …ç›® %s ãŒã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã«ã‚ã‚Šã¾ã›ã‚“!\n"
-#: src/ar.c:1251 src/objdump.c:241
+#: src/ar.c:1257 src/objdump.c:241
#, c-format
msgid "cannot open %s"
msgstr "%s ã‚’é–‹ã‘ã¾ã›ã‚“"
-#: src/ar.c:1256
+#: src/ar.c:1262
#, c-format
msgid "cannot stat %s"
msgstr "%s ã‚’ stat ã§ãã¾ã›ã‚“"
-#: src/ar.c:1262
+#: src/ar.c:1268
#, c-format
msgid "%s is no regular file"
msgstr "%s ã¯ä¸€èˆ¬ãƒ•ã‚¡ã‚¤ãƒ«ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: src/ar.c:1275
+#: src/ar.c:1281
#, c-format
msgid "cannot get ELF descriptor for %s: %s\n"
msgstr "%s ã® ELF 記述å­ã‚’得られã¾ã›ã‚“: %s\n"
-#: src/ar.c:1295
+#: src/ar.c:1301
#, c-format
msgid "cannot read %s: %s"
msgstr "%s を読ã¿ã¾ã›ã‚“: %s"
-#: src/ar.c:1470
+#: src/ar.c:1476
#, fuzzy, c-format
msgid "cannot represent ar_date"
msgstr "セクションデータを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s"
-#: src/ar.c:1476
+#: src/ar.c:1482
#, fuzzy, c-format
msgid "cannot represent ar_uid"
msgstr "セクションデータを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s"
-#: src/ar.c:1482
+#: src/ar.c:1488
#, fuzzy, c-format
msgid "cannot represent ar_gid"
msgstr "セクションデータを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s"
-#: src/ar.c:1488
+#: src/ar.c:1494
#, fuzzy, c-format
msgid "cannot represent ar_mode"
msgstr "セクションを得られã¾ã›ã‚“: %s"
-#: src/ar.c:1494
+#: src/ar.c:1500
#, fuzzy, c-format
msgid "cannot represent ar_size"
msgstr "%s ã‚’é–‹ã‘ã¾ã›ã‚“"
@@ -1373,8 +1373,8 @@ msgid "Invalid value '%s' for --gaps parameter."
msgstr ""
#: src/elfcmp.c:734 src/findtextrel.c:205 src/nm.c:364 src/ranlib.c:141
-#: src/size.c:272 src/strings.c:185 src/strip.c:517 src/strip.c:554
-#: src/unstrip.c:2052 src/unstrip.c:2081
+#: src/size.c:272 src/strings.c:185 src/strip.c:984 src/strip.c:1021
+#: src/unstrip.c:2142 src/unstrip.c:2171
#, c-format
msgid "cannot open '%s'"
msgstr "'%s' ã‚’é–‹ã‘ã¾ã›ã‚“"
@@ -1389,7 +1389,7 @@ msgstr ""
msgid "cannot create EBL descriptor for '%s'"
msgstr ""
-#: src/elfcmp.c:761 src/findtextrel.c:393
+#: src/elfcmp.c:761 src/findtextrel.c:394
#, c-format
msgid "cannot get section header of section %zu: %s"
msgstr ""
@@ -1404,7 +1404,7 @@ msgstr ""
msgid "cannot get relocation: %s"
msgstr ""
-#: src/elfcompress.c:115 src/strip.c:296 src/unstrip.c:121
+#: src/elfcompress.c:115 src/strip.c:308 src/unstrip.c:121
#, c-format
msgid "-o option specified twice"
msgstr "-o オプション㌠2 回指定ã•ã‚Œã¦ã„ã¾ã™"
@@ -1458,7 +1458,7 @@ msgid ""
"rewrite the file even if no section would be (de)compressed"
msgstr ""
-#: src/elfcompress.c:1324 src/strip.c:90
+#: src/elfcompress.c:1324 src/strip.c:93
msgid "Relax a few rules to handle slightly broken ELF files"
msgstr "å°‘ã—壊れ㟠ELF ファイルをå–り扱ã†ãŸã‚ã«ãƒ«ãƒ¼ãƒ«ã‚’å°‘ã—ç·©å’Œã™ã‚‹"
@@ -1679,7 +1679,7 @@ msgstr ""
#: src/elflint.c:610 src/elflint.c:1494 src/elflint.c:1545 src/elflint.c:1651
#: src/elflint.c:1987 src/elflint.c:2313 src/elflint.c:2932 src/elflint.c:3095
-#: src/elflint.c:3243 src/elflint.c:3433 src/elflint.c:4401
+#: src/elflint.c:3243 src/elflint.c:3433 src/elflint.c:4431
#, c-format
msgid "section [%2d] '%s': cannot get section data\n"
msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
@@ -3108,194 +3108,197 @@ msgid ""
"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
msgstr ""
-#: src/elflint.c:4344
+#: src/elflint.c:4370
#, c-format
-msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %zu\n"
+msgid ""
+"phdr[%d]: unknown object file note type %<PRIu32> with owner name '%s' at "
+"offset %zu\n"
msgstr ""
-#: src/elflint.c:4348
+#: src/elflint.c:4375
#, c-format
msgid ""
-"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n"
+"section [%2d] '%s': unknown object file note type %<PRIu32> with owner name "
+"'%s' at offset %zu\n"
msgstr ""
-#: src/elflint.c:4365
+#: src/elflint.c:4394
#, c-format
msgid "phdr[%d]: no note entries defined for the type of file\n"
msgstr ""
-#: src/elflint.c:4384
+#: src/elflint.c:4414
#, c-format
msgid "phdr[%d]: cannot get content of note section: %s\n"
msgstr ""
-#: src/elflint.c:4387
+#: src/elflint.c:4417
#, c-format
msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
msgstr ""
-#: src/elflint.c:4408
+#: src/elflint.c:4438
#, c-format
msgid "section [%2d] '%s': no note entries defined for the type of file\n"
msgstr ""
-#: src/elflint.c:4415
+#: src/elflint.c:4445
#, c-format
msgid "section [%2d] '%s': cannot get content of note section\n"
msgstr ""
-#: src/elflint.c:4418
+#: src/elflint.c:4448
#, c-format
msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
msgstr ""
-#: src/elflint.c:4436
+#: src/elflint.c:4466
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
msgstr ""
-#: src/elflint.c:4451
+#: src/elflint.c:4481
#, c-format
msgid "cannot get program header entry %d: %s\n"
msgstr ""
-#: src/elflint.c:4460
+#: src/elflint.c:4490
#, c-format
msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:4471
+#: src/elflint.c:4501
#, c-format
msgid "more than one INTERP entry in program header\n"
msgstr ""
-#: src/elflint.c:4479
+#: src/elflint.c:4509
#, c-format
msgid "more than one TLS entry in program header\n"
msgstr ""
-#: src/elflint.c:4486
+#: src/elflint.c:4516
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr ""
-#: src/elflint.c:4500
+#: src/elflint.c:4530
#, c-format
msgid "dynamic section reference in program header has wrong offset\n"
msgstr ""
-#: src/elflint.c:4503
+#: src/elflint.c:4533
#, c-format
msgid "dynamic section size mismatch in program and section header\n"
msgstr ""
-#: src/elflint.c:4513
+#: src/elflint.c:4543
#, c-format
msgid "more than one GNU_RELRO entry in program header\n"
msgstr ""
-#: src/elflint.c:4534
+#: src/elflint.c:4564
#, c-format
msgid "loadable segment GNU_RELRO applies to is not writable\n"
msgstr ""
-#: src/elflint.c:4545
+#: src/elflint.c:4575
#, c-format
msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
msgstr ""
-#: src/elflint.c:4552
+#: src/elflint.c:4582
#, c-format
msgid ""
"GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
msgstr ""
-#: src/elflint.c:4561 src/elflint.c:4584
+#: src/elflint.c:4591 src/elflint.c:4614
#, c-format
msgid "%s segment not contained in a loaded segment\n"
msgstr ""
-#: src/elflint.c:4590
+#: src/elflint.c:4620
#, c-format
msgid "program header offset in ELF header and PHDR entry do not match"
msgstr ""
-#: src/elflint.c:4615
+#: src/elflint.c:4647
#, c-format
msgid "call frame search table reference in program header has wrong offset\n"
msgstr ""
-#: src/elflint.c:4618
+#: src/elflint.c:4650
#, c-format
msgid "call frame search table size mismatch in program and section header\n"
msgstr ""
-#: src/elflint.c:4631
+#: src/elflint.c:4663
#, c-format
msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
msgstr ""
-#: src/elflint.c:4639
+#: src/elflint.c:4671
#, c-format
msgid "call frame search table must be allocated\n"
msgstr ""
-#: src/elflint.c:4642
+#: src/elflint.c:4674
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
msgstr ""
-#: src/elflint.c:4646
+#: src/elflint.c:4678
#, c-format
msgid "call frame search table must not be writable\n"
msgstr ""
-#: src/elflint.c:4649
+#: src/elflint.c:4681
#, c-format
msgid "section [%2zu] '%s' must not be writable\n"
msgstr ""
-#: src/elflint.c:4654
+#: src/elflint.c:4686
#, c-format
msgid "call frame search table must not be executable\n"
msgstr ""
-#: src/elflint.c:4657
+#: src/elflint.c:4689
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
msgstr ""
-#: src/elflint.c:4668
+#: src/elflint.c:4700
#, c-format
msgid "program header entry %d: file size greater than memory size\n"
msgstr ""
-#: src/elflint.c:4675
+#: src/elflint.c:4707
#, c-format
msgid "program header entry %d: alignment not a power of 2\n"
msgstr ""
-#: src/elflint.c:4678
+#: src/elflint.c:4710
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
"alignment\n"
msgstr ""
-#: src/elflint.c:4691
+#: src/elflint.c:4723
#, 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:4725
+#: src/elflint.c:4757
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr ""
-#: src/elflint.c:4751
+#: src/elflint.c:4783
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr ""
@@ -3319,7 +3322,7 @@ msgstr ""
#. Strings for arguments in help texts.
#: src/findtextrel.c:74 src/nm.c:108 src/objdump.c:71 src/size.c:80
-#: src/strings.c:87 src/strip.c:98
+#: src/strings.c:87 src/strip.c:101
msgid "[FILE...]"
msgstr "[ãµãã„ã‚‹...]"
@@ -3338,73 +3341,73 @@ msgstr ""
msgid "getting get section header of section %zu: %s"
msgstr ""
-#: src/findtextrel.c:276
+#: src/findtextrel.c:277
#, c-format
msgid "cannot read dynamic section: %s"
msgstr ""
-#: src/findtextrel.c:297
+#: src/findtextrel.c:298
#, c-format
msgid "no text relocations reported in '%s'"
msgstr ""
-#: src/findtextrel.c:309
+#: src/findtextrel.c:310
#, c-format
msgid "while reading ELF file"
msgstr ""
-#: src/findtextrel.c:313
+#: src/findtextrel.c:314
#, fuzzy, c-format
msgid "cannot get program header count: %s"
msgstr "プログラムヘッダーを得られã¾ã›ã‚“: %s"
-#: src/findtextrel.c:324 src/findtextrel.c:341
+#: src/findtextrel.c:325 src/findtextrel.c:342
#, fuzzy, c-format
msgid "cannot get program header index at offset %zd: %s"
msgstr "プログラムヘッダーを得られã¾ã›ã‚“: %s"
-#: src/findtextrel.c:405
+#: src/findtextrel.c:406
#, c-format
msgid "cannot get symbol table section %zu in '%s': %s"
msgstr ""
-#: src/findtextrel.c:425 src/findtextrel.c:448
+#: src/findtextrel.c:427 src/findtextrel.c:450
#, c-format
msgid "cannot get relocation at index %d in section %zu in '%s': %s"
msgstr ""
-#: src/findtextrel.c:514
+#: src/findtextrel.c:516
#, c-format
msgid "%s not compiled with -fpic/-fPIC\n"
msgstr ""
-#: src/findtextrel.c:567
+#: src/findtextrel.c:570
#, c-format
msgid ""
"the file containing the function '%s' is not compiled with -fpic/-fPIC\n"
msgstr ""
-#: src/findtextrel.c:574 src/findtextrel.c:594
+#: src/findtextrel.c:577 src/findtextrel.c:597
#, c-format
msgid ""
"the file containing the function '%s' might not be compiled with -fpic/-"
"fPIC\n"
msgstr ""
-#: src/findtextrel.c:582
+#: src/findtextrel.c:585
#, c-format
msgid ""
"either the file containing the function '%s' or the file containing the "
"function '%s' is not compiled with -fpic/-fPIC\n"
msgstr ""
-#: src/findtextrel.c:602
+#: src/findtextrel.c:605
#, c-format
msgid ""
"a relocation modifies memory at offset %llu in a write-protected segment\n"
msgstr ""
-#: src/nm.c:66 src/strip.c:69
+#: src/nm.c:66 src/strip.c:70
msgid "Output selection:"
msgstr "出力é¸æŠž:"
@@ -3469,7 +3472,7 @@ msgstr "å¼±ã„シンボルã«å°ã‚’点ã‘ã‚‹"
msgid "Print size of defined symbols"
msgstr "定義ã•ã‚ŒãŸã‚·ãƒ³ãƒœãƒ«ã®å°åˆ·ã‚µã‚¤ã‚º"
-#: src/nm.c:91 src/size.c:68 src/strip.c:74 src/unstrip.c:73
+#: src/nm.c:91 src/size.c:68 src/strip.c:75 src/unstrip.c:73
msgid "Output options:"
msgstr "出力オプション:"
@@ -3499,18 +3502,18 @@ msgstr "ãµãã„ã‚‹ ã‹ã‚‰ã‚·ãƒ³ãƒœãƒ«ã‚’表示 (デフォルトã§ã¯a.out)。
msgid "Output formatting"
msgstr "出力形å¼:"
-#: src/nm.c:140 src/objdump.c:103 src/size.c:105 src/strip.c:130
+#: src/nm.c:140 src/objdump.c:103 src/size.c:105 src/strip.c:133
#, fuzzy, c-format
msgid "%s: INTERNAL ERROR %d (%s): %s"
msgstr "%s: 内部エラー %d (%s-%s): %s"
#: src/nm.c:381 src/nm.c:393 src/size.c:288 src/size.c:297 src/size.c:308
-#: src/strip.c:2505
+#: src/strip.c:2747
#, c-format
msgid "while closing '%s'"
msgstr "'%s' ã‚’é–‰ã˜ã¦ã„る最中"
-#: src/nm.c:403 src/objdump.c:280 src/strip.c:442
+#: src/nm.c:403 src/objdump.c:280 src/strip.c:797
#, c-format
msgid "%s: File format not recognized"
msgstr "%s: ファイル形å¼ã‚’èªè­˜ã§ãã¾ã›ã‚“ã§ã—ãŸ"
@@ -3551,12 +3554,12 @@ msgid "cannot create search tree"
msgstr "検索ツリーを生æˆã§ãã¾ã›ã‚“"
#: src/nm.c:746 src/nm.c:1207 src/objdump.c:777 src/readelf.c:605
-#: src/readelf.c:1410 src/readelf.c:1558 src/readelf.c:1759 src/readelf.c:1965
-#: src/readelf.c:2155 src/readelf.c:2333 src/readelf.c:2409 src/readelf.c:2667
-#: src/readelf.c:2743 src/readelf.c:2830 src/readelf.c:3428 src/readelf.c:3478
-#: src/readelf.c:3541 src/readelf.c:11044 src/readelf.c:12216
-#: src/readelf.c:12419 src/readelf.c:12487 src/size.c:396 src/size.c:465
-#: src/strip.c:571
+#: src/readelf.c:1412 src/readelf.c:1563 src/readelf.c:1764 src/readelf.c:1970
+#: src/readelf.c:2160 src/readelf.c:2338 src/readelf.c:2414 src/readelf.c:2672
+#: src/readelf.c:2748 src/readelf.c:2835 src/readelf.c:3433 src/readelf.c:3483
+#: src/readelf.c:3546 src/readelf.c:11091 src/readelf.c:12276
+#: src/readelf.c:12480 src/readelf.c:12548 src/size.c:398 src/size.c:467
+#: src/strip.c:1038
#, c-format
msgid "cannot get section header string table index"
msgstr "セクションヘッダー文字列テーブル索引ãŒå¾—られã¾ã›ã‚“"
@@ -3650,11 +3653,11 @@ msgstr "æ“作ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。\n"
msgid "while close `%s'"
msgstr ""
-#: src/objdump.c:363 src/readelf.c:2060 src/readelf.c:2252
+#: src/objdump.c:363 src/readelf.c:2065 src/readelf.c:2257
msgid "INVALID SYMBOL"
msgstr "ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«"
-#: src/objdump.c:378 src/readelf.c:2094 src/readelf.c:2288
+#: src/objdump.c:378 src/readelf.c:2099 src/readelf.c:2293
msgid "INVALID SECTION"
msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³"
@@ -3858,21 +3861,21 @@ msgstr "ä¸æ˜Žãª DWARF デãƒãƒƒã‚°ã‚»ã‚¯ã‚·ãƒ§ãƒ³ `%s'.\n"
msgid "cannot generate Elf descriptor: %s"
msgstr "Elf 記述å­ã‚’生æˆã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:596 src/readelf.c:924 src/strip.c:640
+#: src/readelf.c:596 src/readelf.c:923 src/strip.c:1133
#, c-format
msgid "cannot determine number of sections: %s"
msgstr "セクション数を決定ã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:614 src/readelf.c:1226 src/readelf.c:1434
+#: src/readelf.c:614 src/readelf.c:1228 src/readelf.c:1436
#, c-format
msgid "cannot get section: %s"
msgstr "セクションを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:623 src/readelf.c:1233 src/readelf.c:1442 src/readelf.c:12439
-#: src/unstrip.c:394 src/unstrip.c:425 src/unstrip.c:474 src/unstrip.c:584
-#: src/unstrip.c:605 src/unstrip.c:642 src/unstrip.c:846 src/unstrip.c:1138
-#: src/unstrip.c:1330 src/unstrip.c:1391 src/unstrip.c:1564 src/unstrip.c:1679
-#: src/unstrip.c:1819 src/unstrip.c:1914
+#: src/readelf.c:623 src/readelf.c:1235 src/readelf.c:1444 src/readelf.c:12500
+#: src/unstrip.c:395 src/unstrip.c:426 src/unstrip.c:481 src/unstrip.c:600
+#: src/unstrip.c:621 src/unstrip.c:660 src/unstrip.c:871 src/unstrip.c:1202
+#: src/unstrip.c:1394 src/unstrip.c:1458 src/unstrip.c:1632 src/unstrip.c:1766
+#: src/unstrip.c:1909 src/unstrip.c:2004
#, c-format
msgid "cannot get section header: %s"
msgstr "セクションヘッダーを得られã¾ã›ã‚“: %s"
@@ -3882,8 +3885,8 @@ msgstr "セクションヘッダーを得られã¾ã›ã‚“: %s"
msgid "cannot get section name"
msgstr "セクションを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:640 src/readelf.c:6533 src/readelf.c:10317 src/readelf.c:10419
-#: src/readelf.c:10596
+#: src/readelf.c:640 src/readelf.c:6539 src/readelf.c:10363 src/readelf.c:10465
+#: src/readelf.c:10643
#, c-format
msgid "cannot get %s content: %s"
msgstr "%s ã®å†…容を得られã¾ã›ã‚“: %s"
@@ -3933,53 +3936,58 @@ msgstr "'%s' ã®èª­è¾¼ã¿ã«å¤±æ•—: %s"
msgid "No such section '%s' in '%s'"
msgstr "セクション [%Zu] '%s' ã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ãŒå¾—られã¾ã›ã‚“: %s"
-#: src/readelf.c:909
+#: src/readelf.c:908
#, c-format
msgid "cannot read ELF header: %s"
msgstr "ELF ヘッダーãŒèª­ã‚ã¾ã›ã‚“: %s"
-#: src/readelf.c:917
+#: src/readelf.c:916
#, c-format
msgid "cannot create EBL handle"
msgstr "EBL ヘッダーを生æˆã§ãã¾ã›ã‚“"
-#: src/readelf.c:930
+#: src/readelf.c:929
#, fuzzy, c-format
msgid "cannot determine number of program headers: %s"
msgstr "セクション数を決定ã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:1020
+#: src/readelf.c:961
+#, fuzzy, c-format
+msgid "cannot read ELF: %s"
+msgstr "%s を読ã¿ã¾ã›ã‚“: %s"
+
+#: src/readelf.c:1022
msgid "NONE (None)"
msgstr "ãªã— (ãªã—)"
-#: src/readelf.c:1021
+#: src/readelf.c:1023
msgid "REL (Relocatable file)"
msgstr "REL (リロケータブルファイル)"
-#: src/readelf.c:1022
+#: src/readelf.c:1024
msgid "EXEC (Executable file)"
msgstr "(EXEC (実行ファイル)"
-#: src/readelf.c:1023
+#: src/readelf.c:1025
msgid "DYN (Shared object file)"
msgstr "DYN (共用オブジェクトファイル)"
-#: src/readelf.c:1024
+#: src/readelf.c:1026
msgid "CORE (Core file)"
msgstr "CORE (コアファイル)"
-#: src/readelf.c:1029
+#: src/readelf.c:1031
#, c-format
msgid "OS Specific: (%x)\n"
msgstr "OS 固有: (%x)\n"
#. && e_type <= ET_HIPROC always true
-#: src/readelf.c:1031
+#: src/readelf.c:1033
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr "プロセッサー固有: (%x)\n"
-#: src/readelf.c:1041
+#: src/readelf.c:1043
msgid ""
"ELF Header:\n"
" Magic: "
@@ -3987,7 +3995,7 @@ msgstr ""
"ELF ヘッダー:\n"
" マジック: "
-#: src/readelf.c:1045
+#: src/readelf.c:1047
#, c-format
msgid ""
"\n"
@@ -3996,118 +4004,118 @@ msgstr ""
"\n"
" クラス: %s\n"
-#: src/readelf.c:1050
+#: src/readelf.c:1052
#, c-format
msgid " Data: %s\n"
msgstr " データ: %s\n"
-#: src/readelf.c:1056
+#: src/readelf.c:1058
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr " 識別ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hhd %s\n"
-#: src/readelf.c:1058 src/readelf.c:1075
+#: src/readelf.c:1060 src/readelf.c:1077
msgid "(current)"
msgstr "(ç¾åœ¨)"
-#: src/readelf.c:1062
+#: src/readelf.c:1064
#, c-format
msgid " OS/ABI: %s\n"
msgstr " OS/ABI: %s\n"
-#: src/readelf.c:1065
+#: src/readelf.c:1067
#, c-format
msgid " ABI Version: %hhd\n"
msgstr " ABI ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hhd\n"
-#: src/readelf.c:1068
+#: src/readelf.c:1070
msgid " Type: "
msgstr " タイプ: "
-#: src/readelf.c:1071
+#: src/readelf.c:1073
#, c-format
msgid " Machine: %s\n"
msgstr " マシン : %s\n"
-#: src/readelf.c:1073
+#: src/readelf.c:1075
#, c-format
msgid " Version: %d %s\n"
msgstr " ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %d %s\n"
-#: src/readelf.c:1077
+#: src/readelf.c:1079
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr " å…¥å£ç‚¹ã‚¢ãƒ‰ãƒ¬ã‚¹ : %#<PRIx64>\n"
-#: src/readelf.c:1080
+#: src/readelf.c:1082
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr " プログラムヘッダーã®é–‹å§‹: %<PRId64> %s\n"
-#: src/readelf.c:1081 src/readelf.c:1084
+#: src/readelf.c:1083 src/readelf.c:1086
msgid "(bytes into file)"
msgstr "(ファイルã¸ã®ãƒã‚¤ãƒˆæ•°)"
-#: src/readelf.c:1083
+#: src/readelf.c:1085
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr " セクションヘッダーã®é–‹å§‹: %<PRId64> %s\n"
-#: src/readelf.c:1086
+#: src/readelf.c:1088
#, c-format
msgid " Flags: %s\n"
msgstr " フラグ: %s\n"
-#: src/readelf.c:1089
+#: src/readelf.c:1091
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr " ã“ã®ãƒ˜ãƒƒãƒ€ãƒ¼ã®å¤§ãã•: %<PRId16> %s\n"
-#: src/readelf.c:1090 src/readelf.c:1093 src/readelf.c:1110
+#: src/readelf.c:1092 src/readelf.c:1095 src/readelf.c:1112
msgid "(bytes)"
msgstr "(ãƒã‚¤ãƒˆ)"
-#: src/readelf.c:1092
+#: src/readelf.c:1094
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr " プログラムヘッダー項目ã®å¤§ãã•:%<PRId16> %s\n"
-#: src/readelf.c:1095
+#: src/readelf.c:1097
#, fuzzy, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr " プログラムヘッダー項目ã®æ•° : %<PRId16>\n"
-#: src/readelf.c:1102
+#: src/readelf.c:1104
#, fuzzy, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr "([0].sh_link ã® %<PRIu32>)"
-#: src/readelf.c:1105 src/readelf.c:1122 src/readelf.c:1136
+#: src/readelf.c:1107 src/readelf.c:1124 src/readelf.c:1138
msgid " ([0] not available)"
msgstr "([0]ã¯ä½¿ãˆã¾ã›ã‚“)"
-#: src/readelf.c:1109
+#: src/readelf.c:1111
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr " セクションヘッダー項目ã®å¤§ãã•:%<PRId16> %s\n"
-#: src/readelf.c:1112
+#: src/readelf.c:1114
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr " セクションヘッダー項目ã®æ•° : %<PRId16>"
-#: src/readelf.c:1119
+#: src/readelf.c:1121
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr " ([0].sh_size ã® %<PRIu32>)"
#. We managed to get the zeroth section.
-#: src/readelf.c:1132
+#: src/readelf.c:1134
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr "([0].sh_link ã® %<PRIu32>)"
-#: src/readelf.c:1140
+#: src/readelf.c:1142
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
@@ -4116,7 +4124,7 @@ msgstr ""
" セクションヘッダー文字列テーブル索引: XINDEX%s\n"
"\n"
-#: src/readelf.c:1144
+#: src/readelf.c:1146
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
@@ -4125,12 +4133,12 @@ msgstr ""
" セクションヘッダー文字列テーブル索引: %<PRId16>\n"
"\n"
-#: src/readelf.c:1191 src/readelf.c:1399
+#: src/readelf.c:1193 src/readelf.c:1401
#, fuzzy, c-format
msgid "cannot get number of sections: %s"
msgstr "セクション数を決定ã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:1194
+#: src/readelf.c:1196
#, fuzzy, c-format
msgid ""
"There are %zd section headers, starting at offset %#<PRIx64>:\n"
@@ -4139,16 +4147,16 @@ msgstr ""
"オフセット %2$#<PRIx64> ã‹ã‚‰å§‹ã¾ã‚‹ %1$d 個ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ãƒ˜ãƒƒãƒ€ãƒ¼ãŒã‚ã‚Šã¾ã™:\n"
"\n"
-#: src/readelf.c:1203
+#: src/readelf.c:1205
#, fuzzy, c-format
msgid "cannot get section header string table index: %s"
msgstr "セクションヘッダー文字列テーブル索引ãŒå¾—られã¾ã›ã‚“"
-#: src/readelf.c:1206
+#: src/readelf.c:1208
msgid "Section Headers:"
msgstr "セクションヘッダー:"
-#: src/readelf.c:1209
+#: src/readelf.c:1211
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
@@ -4156,7 +4164,7 @@ msgstr ""
"[番] åå‰ ã‚¿ã‚¤ãƒ— アドレス オフセ 大ãã• ES フラグLk "
"Inf Al"
-#: src/readelf.c:1211
+#: src/readelf.c:1213
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
@@ -4164,35 +4172,35 @@ msgstr ""
"[番] åå‰ ã‚¿ã‚¤ãƒ— アドレス オフセ 大ãã• ES "
"フラグLk Inf Al"
-#: src/readelf.c:1216
+#: src/readelf.c:1218
msgid " [Compression Size Al]"
msgstr ""
-#: src/readelf.c:1218
+#: src/readelf.c:1220
msgid " [Compression Size Al]"
msgstr ""
-#: src/readelf.c:1294
+#: src/readelf.c:1296
#, fuzzy, c-format
msgid "bad compression header for section %zd: %s"
msgstr "セクションヘッダー文字列セクションを生æˆã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:1305
+#: src/readelf.c:1307
#, fuzzy, c-format
msgid "bad gnu compressed size for section %zd: %s"
msgstr "セクションã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã‚’得られã¾ã›ã‚“ %d: %s"
-#: src/readelf.c:1323
+#: src/readelf.c:1325
msgid "Program Headers:"
msgstr "プログラムヘッダー:"
-#: src/readelf.c:1325
+#: src/readelf.c:1327
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
" タイプ オフセ 仮アドレス 物アドレス ãƒ•ã‚¡ã‚¤é‡ ãƒ¡ãƒ¢é‡ Flg 調整 "
-#: src/readelf.c:1328
+#: src/readelf.c:1330
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
@@ -4200,12 +4208,12 @@ msgstr ""
" タイプ オフセ 仮想アドレス 物ç†ã‚¢ãƒ‰ãƒ¬ã‚¹ ファイルé‡ãƒ¡ãƒ¢"
"é‡ Flg 調整 "
-#: src/readelf.c:1385
+#: src/readelf.c:1387
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr "\t[プログラム割込ã¿ã‚’è¦æ±‚: %s]\n"
-#: src/readelf.c:1412
+#: src/readelf.c:1414
msgid ""
"\n"
" Section to Segment mapping:\n"
@@ -4215,12 +4223,12 @@ msgstr ""
" セクションã‹ã‚‰ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã¸ã®ãƒžãƒƒãƒ“ング:\n"
" セグメント セクション..."
-#: src/readelf.c:1423 src/unstrip.c:1973 src/unstrip.c:2015 src/unstrip.c:2022
+#: src/readelf.c:1425 src/unstrip.c:2063 src/unstrip.c:2105 src/unstrip.c:2112
#, c-format
msgid "cannot get program header: %s"
msgstr "プログラムヘッダーを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:1566
+#: src/readelf.c:1571
#, c-format
msgid ""
"\n"
@@ -4233,7 +4241,7 @@ msgstr[0] ""
"ç½²å '%3$s' ã‚’æŒã¤ COMDAT セクショングループ [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®"
"é …ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:1571
+#: src/readelf.c:1576
#, c-format
msgid ""
"\n"
@@ -4246,31 +4254,31 @@ msgstr[0] ""
"ç½²å '%3$s' ã‚’æŒã¤ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚°ãƒ«ãƒ¼ãƒ— [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …ç›®ãŒã‚"
"ã‚Šã¾ã™:\n"
-#: src/readelf.c:1579
+#: src/readelf.c:1584
msgid "<INVALID SYMBOL>"
msgstr "<ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«>"
-#: src/readelf.c:1593
+#: src/readelf.c:1598
msgid "<INVALID SECTION>"
msgstr "<ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³>"
-#: src/readelf.c:1616 src/readelf.c:2343 src/readelf.c:3444 src/readelf.c:12310
-#: src/readelf.c:12317 src/readelf.c:12361 src/readelf.c:12368
+#: src/readelf.c:1621 src/readelf.c:2348 src/readelf.c:3449 src/readelf.c:12371
+#: src/readelf.c:12378 src/readelf.c:12422 src/readelf.c:12429
msgid "Couldn't uncompress section"
msgstr ""
-#: src/readelf.c:1621 src/readelf.c:2348 src/readelf.c:3449
+#: src/readelf.c:1626 src/readelf.c:2353 src/readelf.c:3454
#, fuzzy, c-format
msgid "cannot get section [%zd] header: %s"
msgstr "セクションヘッダーを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:1765 src/readelf.c:2415 src/readelf.c:2673 src/readelf.c:2749
-#: src/readelf.c:3053 src/readelf.c:3127 src/readelf.c:5322
+#: src/readelf.c:1770 src/readelf.c:2420 src/readelf.c:2678 src/readelf.c:2754
+#: src/readelf.c:3058 src/readelf.c:3132 src/readelf.c:5327
#, fuzzy, c-format
msgid "invalid sh_link value in section %zu"
msgstr "ä¸å½“㪠.debug_line セクション"
-#: src/readelf.c:1768
+#: src/readelf.c:1773
#, c-format
msgid ""
"\n"
@@ -4286,36 +4294,36 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'\n"
-#: src/readelf.c:1778
+#: src/readelf.c:1783
msgid " Type Value\n"
msgstr " タイプ 値\n"
-#: src/readelf.c:1802
+#: src/readelf.c:1807
#, c-format
msgid "Shared library: [%s]\n"
msgstr "共用ライブラリー: [%s]\n"
-#: src/readelf.c:1807
+#: src/readelf.c:1812
#, c-format
msgid "Library soname: [%s]\n"
msgstr "ライブラリー so å: [%s]\n"
-#: src/readelf.c:1812
+#: src/readelf.c:1817
#, c-format
msgid "Library rpath: [%s]\n"
msgstr "ライブラリー rパス: [%s]\n"
-#: src/readelf.c:1817
+#: src/readelf.c:1822
#, c-format
msgid "Library runpath: [%s]\n"
msgstr "ライブラリー run パス: [%s]\n"
-#: src/readelf.c:1837
+#: src/readelf.c:1842
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr "%<PRId64> (ãƒã‚¤ãƒˆ)\n"
-#: src/readelf.c:1950 src/readelf.c:2140
+#: src/readelf.c:1955 src/readelf.c:2145
#, c-format
msgid ""
"\n"
@@ -4324,7 +4332,7 @@ msgstr ""
"\n"
"オフセット %#0<PRIx64> ã«ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«ãƒ†ãƒ¼ãƒ–ル\n"
-#: src/readelf.c:1968 src/readelf.c:2158
+#: src/readelf.c:1973 src/readelf.c:2163
#, c-format
msgid ""
"\n"
@@ -4345,7 +4353,7 @@ 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:1983 src/readelf.c:2173
+#: src/readelf.c:1988 src/readelf.c:2178
#, c-format
msgid ""
"\n"
@@ -4358,29 +4366,29 @@ msgstr[0] ""
"オフセット %3$#0<PRIx64> ã®ãƒªãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%1$2u] '%2$s' ã«ã¯ %4$d "
"個ã®é …ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:1993
+#: src/readelf.c:1998
msgid " Offset Type Value Name\n"
msgstr " オフセット タイプ 値 åå‰\n"
-#: src/readelf.c:1995
+#: src/readelf.c:2000
msgid " Offset Type Value Name\n"
msgstr " オフセット タイプ 値 åå‰\n"
-#: src/readelf.c:2048 src/readelf.c:2059 src/readelf.c:2072 src/readelf.c:2093
-#: src/readelf.c:2105 src/readelf.c:2239 src/readelf.c:2251 src/readelf.c:2265
-#: src/readelf.c:2287 src/readelf.c:2300
+#: src/readelf.c:2053 src/readelf.c:2064 src/readelf.c:2077 src/readelf.c:2098
+#: src/readelf.c:2110 src/readelf.c:2244 src/readelf.c:2256 src/readelf.c:2270
+#: src/readelf.c:2292 src/readelf.c:2305
msgid "<INVALID RELOC>"
msgstr "<ä¸å½“ãªRELOC>"
-#: src/readelf.c:2183
+#: src/readelf.c:2188
msgid " Offset Type Value Addend Name\n"
msgstr " オフセット タイプ 値 付加å\n"
-#: src/readelf.c:2185
+#: src/readelf.c:2190
msgid " Offset Type Value Addend Name\n"
msgstr " オフセット タイプ 値 付加å\n"
-#: src/readelf.c:2423
+#: src/readelf.c:2428
#, c-format
msgid ""
"\n"
@@ -4392,39 +4400,39 @@ msgstr[0] ""
"\n"
"シンボルテーブル [%2u] '%s' ã«ã¯ %u 個ã®é …ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:2428
+#: src/readelf.c:2433
#, 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:2436
+#: src/readelf.c:2441
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " æ•° : 値 大ã タイプ Bind Vis Ndx åå‰\n"
-#: src/readelf.c:2438
+#: src/readelf.c:2443
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " æ•° : 値 大ã タイプ Bind Vis Ndx åå‰\n"
-#: src/readelf.c:2458
+#: src/readelf.c:2463
#, 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:2546
+#: src/readelf.c:2551
#, c-format
msgid "bad dynamic symbol"
msgstr "ä¸æ­£ãªå‹•çš„シンボル"
-#: src/readelf.c:2628
+#: src/readelf.c:2633
msgid "none"
msgstr "ãªã—"
-#: src/readelf.c:2645
+#: src/readelf.c:2650
msgid "| <unknown>"
msgstr "| <ä¸æ˜Ž>"
-#: src/readelf.c:2676
+#: src/readelf.c:2681
#, c-format
msgid ""
"\n"
@@ -4440,17 +4448,17 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'\n"
-#: src/readelf.c:2697
+#: src/readelf.c:2702
#, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hu ファイル: %s æ•°: %hu\n"
-#: src/readelf.c:2710
+#: src/readelf.c:2715
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: åå‰: %s フラグ: %s ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hu\n"
-#: src/readelf.c:2753
+#: src/readelf.c:2758
#, c-format
msgid ""
"\n"
@@ -4466,18 +4474,18 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'\n"
-#: src/readelf.c:2781
+#: src/readelf.c:2786
#, 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:2796
+#: src/readelf.c:2801
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr " %#06x: 親 %d: %s\n"
#. Print the header.
-#: src/readelf.c:3057
+#: src/readelf.c:3062
#, c-format
msgid ""
"\n"
@@ -4493,15 +4501,15 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'"
-#: src/readelf.c:3085
+#: src/readelf.c:3090
msgid " 0 *local* "
msgstr " 0 *ローカル* "
-#: src/readelf.c:3090
+#: src/readelf.c:3095
msgid " 1 *global* "
msgstr " 1 *グローãƒãƒ«* "
-#: src/readelf.c:3132
+#: src/readelf.c:3137
#, c-format
msgid ""
"\n"
@@ -4519,22 +4527,22 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'\n"
-#: src/readelf.c:3154
+#: src/readelf.c:3159
#, fuzzy, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr " é•·ã• æ•° 全体ã®% 範囲 \n"
-#: src/readelf.c:3156
+#: src/readelf.c:3161
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:3163
+#: src/readelf.c:3168
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:3176
+#: src/readelf.c:3181
#, fuzzy, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
@@ -4543,37 +4551,37 @@ msgstr ""
" テストã®å¹³å‡æ•°: 検索æˆåŠŸ: %f\n"
" 検索失敗: %f\n"
-#: src/readelf.c:3194 src/readelf.c:3258 src/readelf.c:3324
+#: src/readelf.c:3199 src/readelf.c:3263 src/readelf.c:3329
#, c-format
msgid "cannot get data for section %d: %s"
msgstr "セクションã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã‚’得られã¾ã›ã‚“ %d: %s"
-#: src/readelf.c:3202
+#: src/readelf.c:3207
#, fuzzy, c-format
msgid "invalid data in sysv.hash section %d"
msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:3231
+#: src/readelf.c:3236
#, fuzzy, c-format
msgid "invalid chain in sysv.hash section %d"
msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:3266
+#: src/readelf.c:3271
#, fuzzy, c-format
msgid "invalid data in sysv.hash64 section %d"
msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:3297
+#: src/readelf.c:3302
#, fuzzy, c-format
msgid "invalid chain in sysv.hash64 section %d"
msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:3333
+#: src/readelf.c:3338
#, fuzzy, c-format
msgid "invalid data in gnu.hash section %d"
msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:3400
+#: src/readelf.c:3405
#, c-format
msgid ""
" Symbol Bias: %u\n"
@@ -4583,7 +4591,7 @@ msgstr ""
" ビットマスクã®å¤§ãã•: %zu ãƒã‚¤ãƒˆ %<PRIuFAST32>%% ビット設定 第2ãƒãƒƒã‚·ãƒ¥ã‚·ãƒ•"
"ト: %u\n"
-#: src/readelf.c:3489
+#: src/readelf.c:3494
#, c-format
msgid ""
"\n"
@@ -4596,7 +4604,7 @@ msgstr[0] ""
"オフセット %3$#0<PRIx64> ã®ãƒ©ã‚¤ãƒ–ラリー一覧セクション [%1$2zu] '%2$s' ã«ã¯ "
"%4$d 個ã®é …ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:3503
+#: src/readelf.c:3508
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
@@ -4604,7 +4612,7 @@ msgstr ""
" ライブラリー タイムスタンプ ãƒã‚§ãƒƒã‚¯ã‚µãƒ  ãƒãƒ¼"
"ジョン フラグ"
-#: src/readelf.c:3553
+#: src/readelf.c:3558
#, c-format
msgid ""
"\n"
@@ -4615,102 +4623,102 @@ msgstr ""
"オフセット %4$#0<PRIx64> ã® %3$<PRIu64> ãƒã‚¤ãƒˆã®ã‚ªãƒ–ジェクト属性セクション "
"[%1$2zu] '%2$s':\n"
-#: src/readelf.c:3570
+#: src/readelf.c:3575
msgid " Owner Size\n"
msgstr " 所有者 大ãã•\n"
-#: src/readelf.c:3599
+#: src/readelf.c:3604
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
#. Unknown subsection, print and skip.
-#: src/readelf.c:3638
+#: src/readelf.c:3643
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
#. Tag_File
-#: src/readelf.c:3643
+#: src/readelf.c:3648
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " ファイル: %11<PRIu32>\n"
-#: src/readelf.c:3692
+#: src/readelf.c:3697
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>ã€%s\n"
-#: src/readelf.c:3695
+#: src/readelf.c:3700
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3698
+#: src/readelf.c:3703
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3708
+#: src/readelf.c:3713
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3711
+#: src/readelf.c:3716
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3781
+#: src/readelf.c:3786
#, c-format
msgid "sprintf failure"
msgstr ""
-#: src/readelf.c:4263
+#: src/readelf.c:4268
msgid "empty block"
msgstr "空ブロック"
-#: src/readelf.c:4266
+#: src/readelf.c:4271
#, c-format
msgid "%zu byte block:"
msgstr "%zu ãƒã‚¤ãƒˆã®ãƒ–ロック:"
-#: src/readelf.c:4744
+#: src/readelf.c:4749
#, fuzzy, c-format
msgid "%*s[%2<PRIuMAX>] %s <TRUNCATED>\n"
msgstr "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
-#: src/readelf.c:4808
+#: src/readelf.c:4813
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr ""
-#: src/readelf.c:4815
+#: src/readelf.c:4820
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr ""
-#: src/readelf.c:4822
+#: src/readelf.c:4827
#, c-format
msgid "%s %#<PRIx64> used with different base addresses"
msgstr ""
-#: src/readelf.c:4829
+#: src/readelf.c:4834
#, c-format
msgid "%s %#<PRIx64> used with different attribute %s and %s"
msgstr ""
-#: src/readelf.c:4926
+#: src/readelf.c:4931
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr ""
-#: src/readelf.c:4934
+#: src/readelf.c:4939
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr ""
-#: src/readelf.c:5012
+#: src/readelf.c:5017
#, c-format
msgid ""
"\n"
@@ -4721,7 +4729,7 @@ msgstr ""
"オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
" [ コード]\n"
-#: src/readelf.c:5020
+#: src/readelf.c:5025
#, c-format
msgid ""
"\n"
@@ -4730,20 +4738,20 @@ msgstr ""
"\n"
"オフセット %<PRIu64> ã®ç•¥èªžã‚»ã‚¯ã‚·ãƒ§ãƒ³:\n"
-#: src/readelf.c:5033
+#: src/readelf.c:5038
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr " *** 略語を読んã§ã„ã‚‹é–“ã«ã‚¨ãƒ©ãƒ¼: %s\n"
-#: src/readelf.c:5049
+#: src/readelf.c:5054
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr " [%5u] オフセット: %<PRId64>ã€å­: %sã€ã‚¿ã‚°: %s\n"
-#: src/readelf.c:5082 src/readelf.c:5391 src/readelf.c:5557 src/readelf.c:5942
-#: src/readelf.c:6543 src/readelf.c:8184 src/readelf.c:8854 src/readelf.c:9290
-#: src/readelf.c:9534 src/readelf.c:9699 src/readelf.c:10060
-#: src/readelf.c:10118
+#: src/readelf.c:5087 src/readelf.c:5396 src/readelf.c:5563 src/readelf.c:5948
+#: src/readelf.c:6549 src/readelf.c:8199 src/readelf.c:8870 src/readelf.c:9306
+#: src/readelf.c:9551 src/readelf.c:9717 src/readelf.c:10104
+#: src/readelf.c:10164
#, c-format
msgid ""
"\n"
@@ -4752,52 +4760,52 @@ msgstr ""
"\n"
"オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
-#: src/readelf.c:5095
+#: src/readelf.c:5100
#, fuzzy, c-format
msgid "cannot get .debug_addr section data: %s"
msgstr "セクションデータを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s"
-#: src/readelf.c:5195 src/readelf.c:5219 src/readelf.c:5602 src/readelf.c:8899
+#: src/readelf.c:5200 src/readelf.c:5224 src/readelf.c:5608 src/readelf.c:8915
#, fuzzy, c-format
msgid " Length: %8<PRIu64>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:5197 src/readelf.c:5234 src/readelf.c:5615 src/readelf.c:8912
+#: src/readelf.c:5202 src/readelf.c:5239 src/readelf.c:5621 src/readelf.c:8928
#, fuzzy, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5198 src/readelf.c:5243 src/readelf.c:5624 src/readelf.c:8921
+#: src/readelf.c:5203 src/readelf.c:5248 src/readelf.c:5630 src/readelf.c:8937
#, fuzzy, c-format
msgid " Address size: %8<PRIu64>\n"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:5200 src/readelf.c:5253 src/readelf.c:5634 src/readelf.c:8931
+#: src/readelf.c:5205 src/readelf.c:5258 src/readelf.c:5640 src/readelf.c:8947
#, fuzzy, c-format
msgid " Segment size: %8<PRIu64>\n"
msgstr " ファイルを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:5238 src/readelf.c:5619 src/readelf.c:8916 src/readelf.c:10250
+#: src/readelf.c:5243 src/readelf.c:5625 src/readelf.c:8932 src/readelf.c:10296
#, fuzzy, c-format
msgid "Unknown version"
msgstr "ä¸æ˜Žãªãƒãƒ¼ã‚¸ãƒ§ãƒ³"
-#: src/readelf.c:5248 src/readelf.c:5461 src/readelf.c:5629 src/readelf.c:8926
+#: src/readelf.c:5253 src/readelf.c:5466 src/readelf.c:5635 src/readelf.c:8942
#, fuzzy, c-format
msgid "unsupported address size"
msgstr "アドレス値ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: src/readelf.c:5259 src/readelf.c:5472 src/readelf.c:5639 src/readelf.c:8936
+#: src/readelf.c:5264 src/readelf.c:5477 src/readelf.c:5645 src/readelf.c:8952
#, c-format
msgid "unsupported segment size"
msgstr ""
-#: src/readelf.c:5312 src/readelf.c:5386
+#: src/readelf.c:5317 src/readelf.c:5391
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr ".debug_aragnes ã®å†…容を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:5327
+#: src/readelf.c:5332
#, c-format
msgid ""
"\n"
@@ -4810,19 +4818,19 @@ msgstr[0] ""
"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
"ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:5358
+#: src/readelf.c:5363
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:5360
+#: src/readelf.c:5365
#, 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:5404 src/readelf.c:8211
+#: src/readelf.c:5409 src/readelf.c:8226
#, fuzzy, c-format
msgid ""
"\n"
@@ -4831,154 +4839,154 @@ msgstr ""
"\n"
"オフセット %Zu ã®ãƒ†ãƒ¼ãƒ–ル:\n"
-#: src/readelf.c:5408 src/readelf.c:5583 src/readelf.c:6567 src/readelf.c:8222
-#: src/readelf.c:8880
+#: src/readelf.c:5413 src/readelf.c:5589 src/readelf.c:6573 src/readelf.c:8237
+#: src/readelf.c:8896
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:5424
+#: src/readelf.c:5429
#, fuzzy, c-format
msgid ""
"\n"
" Length: %6<PRIu64>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:5436
+#: src/readelf.c:5441
#, fuzzy, c-format
msgid " DWARF version: %6<PRIuFAST16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:5440
+#: src/readelf.c:5445
#, c-format
msgid "unsupported aranges version"
msgstr ""
-#: src/readelf.c:5451
+#: src/readelf.c:5456
#, fuzzy, c-format
msgid " CU offset: %6<PRIx64>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:5457
+#: src/readelf.c:5462
#, fuzzy, c-format
msgid " Address size: %6<PRIu64>\n"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:5468
+#: src/readelf.c:5473
#, fuzzy, c-format
msgid ""
" Segment size: %6<PRIu64>\n"
"\n"
msgstr " ファイルを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:5523
+#: src/readelf.c:5528
#, c-format
msgid " %zu padding bytes\n"
msgstr ""
-#: src/readelf.c:5566
+#: src/readelf.c:5572
#, fuzzy, c-format
msgid "cannot get .debug_rnglists content: %s"
msgstr ".degub_ranges ã®å†…容を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:5589 src/readelf.c:8886
+#: src/readelf.c:5595 src/readelf.c:8902
#, fuzzy, c-format
msgid ""
"Table at Offset 0x%<PRIx64>:\n"
"\n"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:5644 src/readelf.c:8941
+#: src/readelf.c:5650 src/readelf.c:8957
#, fuzzy, c-format
msgid " Offset entries: %8<PRIu64>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:5660 src/readelf.c:8957
+#: src/readelf.c:5666 src/readelf.c:8973
#, c-format
msgid " Unknown CU base: "
msgstr ""
-#: src/readelf.c:5662 src/readelf.c:8959
+#: src/readelf.c:5668 src/readelf.c:8975
#, c-format
msgid " CU [%6<PRIx64>] base: "
msgstr ""
-#: src/readelf.c:5668 src/readelf.c:8965
+#: src/readelf.c:5674 src/readelf.c:8981
#, c-format
msgid " Not associated with a CU.\n"
msgstr ""
-#: src/readelf.c:5679 src/readelf.c:8976
+#: src/readelf.c:5685 src/readelf.c:8992
#, c-format
msgid "too many offset entries for unit length"
msgstr ""
-#: src/readelf.c:5683 src/readelf.c:8980
+#: src/readelf.c:5689 src/readelf.c:8996
#, fuzzy, c-format
msgid " Offsets starting at 0x%<PRIx64>:\n"
msgstr " 所有者 大ãã•\n"
-#: src/readelf.c:5735
+#: src/readelf.c:5741
#, fuzzy, c-format
msgid "invalid range list data"
msgstr "ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:5920 src/readelf.c:9268
+#: src/readelf.c:5926 src/readelf.c:9284
#, c-format
msgid ""
" %zu padding bytes\n"
"\n"
msgstr ""
-#: src/readelf.c:5937
+#: src/readelf.c:5943
#, c-format
msgid "cannot get .debug_ranges content: %s"
msgstr ".degub_ranges ã®å†…容を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:5973 src/readelf.c:9323
+#: src/readelf.c:5979 src/readelf.c:9339
#, c-format
msgid ""
"\n"
" Unknown CU base: "
msgstr ""
-#: src/readelf.c:5975 src/readelf.c:9325
+#: src/readelf.c:5981 src/readelf.c:9341
#, c-format
msgid ""
"\n"
" CU [%6<PRIx64>] base: "
msgstr ""
-#: src/readelf.c:5984 src/readelf.c:9351 src/readelf.c:9377
+#: src/readelf.c:5990 src/readelf.c:9367 src/readelf.c:9393
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr " [%6tx] <ä¸å½“ãªãƒ‡ãƒ¼ã‚¿>\n"
-#: src/readelf.c:6005 src/readelf.c:9457
+#: src/readelf.c:6011 src/readelf.c:9473
#, fuzzy, c-format
msgid ""
" [%6tx] base address\n"
" "
msgstr " [%6tx] ベースアドレス %s\n"
-#: src/readelf.c:6013 src/readelf.c:9465
+#: src/readelf.c:6019 src/readelf.c:9481
#, fuzzy, c-format
msgid " [%6tx] empty list\n"
msgstr ""
"\n"
" [%6tx] ゼロ終端\n"
-#: src/readelf.c:6268
+#: src/readelf.c:6274
#, fuzzy
msgid " <INVALID DATA>\n"
msgstr " [%6tx] <ä¸å½“ãªãƒ‡ãƒ¼ã‚¿>\n"
-#: src/readelf.c:6521
+#: src/readelf.c:6527
#, fuzzy, c-format
msgid "cannot get ELF: %s"
msgstr "次㮠DIE を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:6539
+#: src/readelf.c:6545
#, c-format
msgid ""
"\n"
@@ -4987,7 +4995,7 @@ msgstr ""
"\n"
"オフセット %3$#<PRIx64> 㮠フレーム情報呼出ã—セクション [%1$2zu] '%2$s':\n"
-#: src/readelf.c:6589
+#: src/readelf.c:6595
#, c-format
msgid ""
"\n"
@@ -4996,65 +5004,65 @@ msgstr ""
"\n"
" [%6tx] ゼロ終端\n"
-#: src/readelf.c:6682 src/readelf.c:6836
+#: src/readelf.c:6696 src/readelf.c:6850
#, fuzzy, c-format
msgid "invalid augmentation length"
msgstr "ä¸å½“ãªæ‹¡å¤§ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰"
-#: src/readelf.c:6697
+#: src/readelf.c:6711
msgid "FDE address encoding: "
msgstr "FDE アドレスエンコード"
-#: src/readelf.c:6703
+#: src/readelf.c:6717
msgid "LSDA pointer encoding: "
msgstr "LSDA ãƒã‚¤ãƒ³ã‚¿ãƒ¼ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰:"
-#: src/readelf.c:6813
+#: src/readelf.c:6827
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:6820
+#: src/readelf.c:6834
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:6857
+#: src/readelf.c:6871
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr " %-26sLSDA ãƒã‚¤ãƒ³ã‚¿ãƒ¼: %#<PRIx64>\n"
-#: src/readelf.c:6942
+#: src/readelf.c:6956
#, fuzzy, c-format
msgid "DIE [%<PRIx64>] cannot get attribute code: %s"
msgstr "属性コードを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:6952
+#: src/readelf.c:6966
#, fuzzy, c-format
msgid "DIE [%<PRIx64>] cannot get attribute form: %s"
msgstr "属性様å¼ã‚’得られã¾ã›ã‚“: %s"
-#: src/readelf.c:6974
+#: src/readelf.c:6988
#, fuzzy, c-format
msgid "DIE [%<PRIx64>] cannot get attribute '%s' (%s) value: %s"
msgstr "属性値を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:7307
+#: src/readelf.c:7321
#, fuzzy, c-format
msgid "invalid file (%<PRId64>): %s"
msgstr "ä¸å½“ãªãƒ•ã‚¡ã‚¤ãƒ«"
-#: src/readelf.c:7311
+#: src/readelf.c:7325
#, fuzzy, c-format
msgid "no srcfiles for CU [%<PRIx64>]"
msgstr " ファイルを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:7315
+#: src/readelf.c:7329
#, fuzzy, c-format
msgid "couldn't get DWARF CU: %s"
msgstr "次㮠DIE を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:7538
+#: src/readelf.c:7552
#, c-format
msgid ""
"\n"
@@ -5065,12 +5073,12 @@ msgstr ""
"オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
" [オフセット]\n"
-#: src/readelf.c:7588
+#: src/readelf.c:7602
#, fuzzy, c-format
msgid "cannot get next unit: %s"
msgstr "次㮠DIE を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:7607
+#: src/readelf.c:7621
#, fuzzy, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5082,7 +5090,7 @@ msgstr ""
" ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %2$<PRIu16>ã€ç•¥èªžã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚ªãƒ•ã‚»ãƒƒãƒˆ: %3$<PRIu64>ã€ã‚¢ãƒ‰ãƒ¬ã‚¹ã®å¤§"
"ãã•: %4$<PRIu8>ã€ã‚ªãƒ•ã‚»ãƒƒãƒˆã®å¤§ãã•: %5$<PRIu8>\n"
-#: src/readelf.c:7619
+#: src/readelf.c:7633
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5093,39 +5101,39 @@ msgstr ""
" ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %2$<PRIu16>ã€ç•¥èªžã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚ªãƒ•ã‚»ãƒƒãƒˆ: %3$<PRIu64>ã€ã‚¢ãƒ‰ãƒ¬ã‚¹ã®å¤§"
"ãã•: %4$<PRIu8>ã€ã‚ªãƒ•ã‚»ãƒƒãƒˆã®å¤§ãã•: %5$<PRIu8>\n"
-#: src/readelf.c:7629 src/readelf.c:7792
+#: src/readelf.c:7643 src/readelf.c:7806
#, c-format
msgid " Unit type: %s (%<PRIu8>)"
msgstr ""
-#: src/readelf.c:7656
+#: src/readelf.c:7670
#, c-format
msgid "unknown version (%d) or unit type (%d)"
msgstr ""
-#: src/readelf.c:7685
+#: src/readelf.c:7699
#, c-format
msgid "cannot get DIE offset: %s"
msgstr "DIE オフセットを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:7694
+#: src/readelf.c:7708
#, 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:7732
+#: src/readelf.c:7746
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr "次㮠DIE を得られã¾ã›ã‚“: %s\n"
-#: src/readelf.c:7740
+#: src/readelf.c:7754
#, c-format
msgid "cannot get next DIE: %s"
msgstr "次㮠DIE を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:7784
+#: src/readelf.c:7798
#, fuzzy, c-format
msgid ""
" Split compilation unit at offset %<PRIu64>:\n"
@@ -5136,7 +5144,7 @@ msgstr ""
" ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %2$<PRIu16>ã€ç•¥èªžã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚ªãƒ•ã‚»ãƒƒãƒˆ: %3$<PRIu64>ã€ã‚¢ãƒ‰ãƒ¬ã‚¹ã®å¤§"
"ãã•: %4$<PRIu8>ã€ã‚ªãƒ•ã‚»ãƒƒãƒˆã®å¤§ãã•: %5$<PRIu8>\n"
-#: src/readelf.c:7835
+#: src/readelf.c:7850
#, fuzzy, c-format
msgid ""
"\n"
@@ -5146,18 +5154,18 @@ msgstr ""
"\n"
"オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
-#: src/readelf.c:8167
+#: src/readelf.c:8182
#, fuzzy, c-format
msgid "unknown form: %s"
msgstr "ä¸æ˜Žãªæ§˜å¼ %<PRIx64>"
-#: src/readelf.c:8198
+#: src/readelf.c:8213
#, c-format
msgid "cannot get line data section data: %s"
msgstr "ラインデータセクションデータを得られã¾ã›ã‚“: %s"
#. Print what we got so far.
-#: src/readelf.c:8300
+#: src/readelf.c:8315
#, fuzzy, c-format
msgid ""
"\n"
@@ -5187,33 +5195,33 @@ msgstr ""
"\n"
"命令コード:\n"
-#: src/readelf.c:8322
+#: src/readelf.c:8337
#, fuzzy, c-format
msgid "cannot handle .debug_line version: %u\n"
msgstr ".degub_ranges ã®å†…容を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:8330
+#: src/readelf.c:8345
#, fuzzy, c-format
msgid "cannot handle address size: %u\n"
msgstr "アドレス値ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: src/readelf.c:8338
+#: src/readelf.c:8353
#, fuzzy, c-format
msgid "cannot handle segment selector size: %u\n"
msgstr "セクションを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:8348
+#: src/readelf.c:8363
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
msgstr "セクション [%2$zu] '%3$s' 中ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆ %1$tu ã«ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:8363
+#: src/readelf.c:8378
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
msgstr[0] " [%*<PRIuFAST8>] %hhu パラメーター\n"
-#: src/readelf.c:8374
+#: src/readelf.c:8389
msgid ""
"\n"
"Directory table:"
@@ -5221,12 +5229,12 @@ msgstr ""
"\n"
"ディレクトリーテーブル:"
-#: src/readelf.c:8380 src/readelf.c:8455
+#: src/readelf.c:8395 src/readelf.c:8470
#, fuzzy, c-format
msgid " ["
msgstr " %s: %s\n"
-#: src/readelf.c:8449
+#: src/readelf.c:8464
#, fuzzy
msgid ""
"\n"
@@ -5235,7 +5243,7 @@ msgstr ""
"\n"
" 呼出ã—サイトテーブル:"
-#: src/readelf.c:8510
+#: src/readelf.c:8525
#, fuzzy
msgid " Entry Dir Time Size Name"
msgstr ""
@@ -5243,7 +5251,7 @@ msgstr ""
"ファイルåテーブル:\n"
" Entry Dir 時刻 大ãã• åå‰"
-#: src/readelf.c:8545
+#: src/readelf.c:8560
msgid ""
"\n"
"Line number statements:"
@@ -5251,119 +5259,119 @@ msgstr ""
"\n"
"è¡Œ ç•ªå· æ–‡:"
-#: src/readelf.c:8568
+#: src/readelf.c:8583
#, c-format
msgid "invalid maximum operations per instruction is zero"
msgstr ""
-#: src/readelf.c:8602
+#: src/readelf.c:8617
#, fuzzy, c-format
msgid " special opcode %u: address+%u = "
msgstr " 特殊命令コード %u: アドレス+%u = %s, 行%+d = %zu\n"
-#: src/readelf.c:8606
+#: src/readelf.c:8621
#, fuzzy, c-format
msgid ", op_index = %u, line%+d = %zu\n"
msgstr " 特殊命令コード %u: アドレス+%u = %s, 行%+d = %zu\n"
-#: src/readelf.c:8609
+#: src/readelf.c:8624
#, c-format
msgid ", line%+d = %zu\n"
msgstr ""
-#: src/readelf.c:8627
+#: src/readelf.c:8642
#, c-format
msgid " extended opcode %u: "
msgstr " 拡張命令コード %u: "
-#: src/readelf.c:8632
+#: src/readelf.c:8647
#, fuzzy
msgid " end of sequence"
msgstr "列ã®çµ‚ã‚ã‚Š"
-#: src/readelf.c:8650
+#: src/readelf.c:8665
#, fuzzy, c-format
msgid " set address to "
msgstr "アドレスを %s ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:8678
+#: src/readelf.c:8693
#, 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:8691
+#: src/readelf.c:8706
#, fuzzy, c-format
msgid " set discriminator to %u\n"
msgstr "カラムを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
#. Unknown, ignore it.
-#: src/readelf.c:8696
+#: src/readelf.c:8711
#, fuzzy
msgid " unknown opcode"
msgstr "ä¸æ˜Žãªå‘½ä»¤ã‚³ãƒ¼ãƒ‰"
#. Takes no argument.
-#: src/readelf.c:8708
+#: src/readelf.c:8723
msgid " copy"
msgstr "複写"
-#: src/readelf.c:8717
+#: src/readelf.c:8732
#, fuzzy, c-format
msgid " advance address by %u to "
msgstr "アドレスを %u ã ã‘進ã‚㦠%s ã«ã™ã‚‹\n"
-#: src/readelf.c:8721 src/readelf.c:8777
+#: src/readelf.c:8736 src/readelf.c:8792
#, c-format
msgid ", op_index to %u"
msgstr ""
-#: src/readelf.c:8731
+#: src/readelf.c:8746
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr "行を定数 %d ã ã‘進ã‚㦠%<PRId64> ã«ã™ã‚‹\n"
-#: src/readelf.c:8739
+#: src/readelf.c:8754
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr " ファイルを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:8749
+#: src/readelf.c:8764
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr "カラムを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:8756
+#: src/readelf.c:8771
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr " '%s' ã‚’ %<PRIuFAST8> ã«è¨­å®šã™ã‚‹\n"
#. Takes no argument.
-#: src/readelf.c:8762
+#: src/readelf.c:8777
msgid " set basic block flag"
msgstr "基本ブロックフラグを設定ã™ã‚‹"
-#: src/readelf.c:8773
+#: src/readelf.c:8788
#, fuzzy, c-format
msgid " advance address by constant %u to "
msgstr "アドレスを定数 %u ã ã‘済ã‚㦠%s ã«ã™ã‚‹\n"
-#: src/readelf.c:8792
+#: src/readelf.c:8807
#, fuzzy, c-format
msgid " advance address by fixed value %u to \n"
msgstr "アドレスを固定値 %u ã ã‘進ã‚㦠%s ã«ã™ã‚‹\n"
#. Takes no argument.
-#: src/readelf.c:8802
+#: src/readelf.c:8817
msgid " set prologue end flag"
msgstr "プロローグ終了フラグを設定ã™ã‚‹"
#. Takes no argument.
-#: src/readelf.c:8807
+#: src/readelf.c:8822
msgid " set epilogue begin flag"
msgstr "エピローグ開始フラグを設定ã™ã‚‹"
-#: src/readelf.c:8816
+#: src/readelf.c:8831
#, fuzzy, c-format
msgid " set isa to %u\n"
msgstr " ファイルを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
@@ -5371,98 +5379,98 @@ 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:8825
+#: src/readelf.c:8840
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
msgstr[0] " %<PRIu8> 個ã®ãƒ‘ラメーターã®ã‚ã‚‹ä¸æ˜Žãªå‘½ä»¤ã‚³ãƒ¼ãƒ‰:"
-#: src/readelf.c:8863
+#: src/readelf.c:8879
#, fuzzy, c-format
msgid "cannot get .debug_loclists content: %s"
msgstr ".debug_loc ã®å†…容を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:9032
+#: src/readelf.c:9048
#, fuzzy, c-format
msgid "invalid loclists data"
msgstr "ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:9285
+#: src/readelf.c:9301
#, c-format
msgid "cannot get .debug_loc content: %s"
msgstr ".debug_loc ã®å†…容を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:9492 src/readelf.c:10506
+#: src/readelf.c:9508 src/readelf.c:10552
#, fuzzy
msgid " <INVALID DATA>\n"
msgstr " [%6tx] <ä¸å½“ãªãƒ‡ãƒ¼ã‚¿>\n"
-#: src/readelf.c:9546 src/readelf.c:9709
+#: src/readelf.c:9563 src/readelf.c:9726
#, c-format
msgid "cannot get macro information section data: %s"
msgstr "マクロ情報セクションã®ãƒ‡ãƒ¼ã‚¿ã‚’得られã¾ã›ã‚“: %s"
-#: src/readelf.c:9626
+#: src/readelf.c:9643
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr "%*s*** 最後ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®çµ‚端ã—ã¦ã„ãªã„文字列"
-#: src/readelf.c:9649
+#: src/readelf.c:9666
#, fuzzy, c-format
msgid "%*s*** missing DW_MACINFO_start_file argument at end of section"
msgstr "%*s*** 最後ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®çµ‚端ã—ã¦ã„ãªã„文字列"
-#: src/readelf.c:9750
+#: src/readelf.c:9767
#, fuzzy, c-format
msgid " Offset: 0x%<PRIx64>\n"
msgstr " 所有者 大ãã•\n"
-#: src/readelf.c:9762
+#: src/readelf.c:9779
#, fuzzy, c-format
msgid " Version: %<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:9768 src/readelf.c:10625
+#: src/readelf.c:9785 src/readelf.c:10672
#, c-format
msgid " unknown version, cannot parse section\n"
msgstr ""
-#: src/readelf.c:9775
+#: src/readelf.c:9792
#, fuzzy, c-format
-msgid " Flag: 0x%<PRIx8>\n"
+msgid " Flag: 0x%<PRIx8>"
msgstr " å…¥å£ç‚¹ã‚¢ãƒ‰ãƒ¬ã‚¹ : %#<PRIx64>\n"
-#: src/readelf.c:9778
+#: src/readelf.c:9821
#, fuzzy, c-format
msgid " Offset length: %<PRIu8>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:9786
+#: src/readelf.c:9829
#, fuzzy, c-format
msgid " .debug_line offset: 0x%<PRIx64>\n"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:9811
+#: src/readelf.c:9854
#, fuzzy, c-format
msgid " extension opcode table, %<PRIu8> items:\n"
msgstr " %<PRIu8> 個ã®ãƒ‘ラメーターã®ã‚ã‚‹ä¸æ˜Žãªå‘½ä»¤ã‚³ãƒ¼ãƒ‰:"
-#: src/readelf.c:9818
+#: src/readelf.c:9861
#, c-format
msgid " [%<PRIx8>]"
msgstr ""
-#: src/readelf.c:9830
+#: src/readelf.c:9873
#, fuzzy, c-format
msgid " %<PRIu8> arguments:"
msgstr " [%*<PRIuFAST8>] %hhu パラメーター\n"
-#: src/readelf.c:9845
+#: src/readelf.c:9888
#, c-format
msgid " no arguments."
msgstr ""
-#: src/readelf.c:10046
+#: src/readelf.c:10089
#, c-format
msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
msgstr ""
@@ -5470,7 +5478,7 @@ msgstr ""
# # "オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
# # " %4$*s 文字列\n" ãŒã‚¨ãƒ©ãƒ¼ã«ãªã‚‹ã®ã¯ä½•æ•…? å–ã‚Šæ•¢ãˆãš fuzzy扱ã„
-#: src/readelf.c:10088
+#: src/readelf.c:10133
#, fuzzy, c-format
msgid ""
"\n"
@@ -5481,37 +5489,37 @@ msgstr ""
"オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
" %4$*s 文字列\n"
-#: src/readelf.c:10103
+#: src/readelf.c:10148
#, fuzzy, c-format
msgid " *** error, missing string terminator\n"
msgstr " *** 文字列ã®èª­è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼: %s\n"
-#: src/readelf.c:10131
+#: src/readelf.c:10177
#, fuzzy, c-format
msgid "cannot get .debug_str_offsets section data: %s"
msgstr ".degub_ranges ã®å†…容を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:10230
+#: src/readelf.c:10276
#, fuzzy, c-format
msgid " Length: %8<PRIu64>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:10232
+#: src/readelf.c:10278
#, fuzzy, c-format
msgid " Offset size: %8<PRIu8>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:10246
+#: src/readelf.c:10292
#, fuzzy, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10255
+#: src/readelf.c:10301
#, fuzzy, c-format
msgid " Padding: %8<PRIx16>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:10309
+#: src/readelf.c:10355
#, c-format
msgid ""
"\n"
@@ -5520,7 +5528,7 @@ msgstr ""
"\n"
"呼出ã—フレーム検索テーブルセクション [%2zu] '.eh_frame_hdr':\n"
-#: src/readelf.c:10411
+#: src/readelf.c:10457
#, c-format
msgid ""
"\n"
@@ -5529,22 +5537,22 @@ msgstr ""
"\n"
"例外å–扱ã„テーブルセクション [%2zu] '.gcc_except_table':\n"
-#: src/readelf.c:10434
+#: src/readelf.c:10480
#, c-format
msgid " LPStart encoding: %#x "
msgstr " LPStart コード化: %#x "
-#: src/readelf.c:10446
+#: src/readelf.c:10492
#, c-format
msgid " TType encoding: %#x "
msgstr "TType コード化: %#x "
-#: src/readelf.c:10461
+#: src/readelf.c:10507
#, c-format
msgid " Call site encoding: %#x "
msgstr "呼出ã—サイトコード化: %#x "
-#: src/readelf.c:10474
+#: src/readelf.c:10520
msgid ""
"\n"
" Call site table:"
@@ -5552,7 +5560,7 @@ msgstr ""
"\n"
" 呼出ã—サイトテーブル:"
-#: src/readelf.c:10488
+#: src/readelf.c:10534
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -5565,12 +5573,12 @@ msgstr ""
" 離ç€é™¸å ´: %#<PRIx64>\n"
" 行動: %u\n"
-#: src/readelf.c:10561
+#: src/readelf.c:10607
#, c-format
msgid "invalid TType encoding"
msgstr "ä¸å½“㪠TType コード化"
-#: src/readelf.c:10587
+#: src/readelf.c:10634
#, fuzzy, c-format
msgid ""
"\n"
@@ -5580,37 +5588,37 @@ msgstr ""
"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
"ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:10616
+#: src/readelf.c:10663
#, fuzzy, c-format
msgid " Version: %<PRId32>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:10634
+#: src/readelf.c:10681
#, fuzzy, c-format
msgid " CU offset: %#<PRIx32>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:10641
+#: src/readelf.c:10688
#, fuzzy, c-format
msgid " TU offset: %#<PRIx32>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:10648
+#: src/readelf.c:10695
#, fuzzy, c-format
msgid " address offset: %#<PRIx32>\n"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:10655
+#: src/readelf.c:10702
#, fuzzy, c-format
msgid " symbol offset: %#<PRIx32>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:10662
+#: src/readelf.c:10709
#, fuzzy, c-format
msgid " constant offset: %#<PRIx32>\n"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:10676
+#: src/readelf.c:10723
#, fuzzy, c-format
msgid ""
"\n"
@@ -5620,7 +5628,7 @@ msgstr ""
"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
"ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:10701
+#: src/readelf.c:10748
#, fuzzy, c-format
msgid ""
"\n"
@@ -5630,7 +5638,7 @@ msgstr ""
"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
"ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:10730
+#: src/readelf.c:10777
#, fuzzy, c-format
msgid ""
"\n"
@@ -5640,7 +5648,7 @@ msgstr ""
"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
"ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:10762
+#: src/readelf.c:10809
#, fuzzy, c-format
msgid ""
"\n"
@@ -5649,18 +5657,18 @@ msgstr ""
"\n"
"オフセット %#0<PRIx64> ã«ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«ãƒ†ãƒ¼ãƒ–ル\n"
-#: src/readelf.c:10900
+#: src/readelf.c:10947
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "デãƒãƒƒã‚°å†…容記述å­ã‚’得られã¾ã›ã‚“: %s"
-#: src/readelf.c:11263 src/readelf.c:11885 src/readelf.c:11996
-#: src/readelf.c:12054
+#: src/readelf.c:11310 src/readelf.c:11932 src/readelf.c:12043
+#: src/readelf.c:12101
#, c-format
msgid "cannot convert core note data: %s"
msgstr "コアノートデータã®å¤‰æ›ãŒã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:11626
+#: src/readelf.c:11673
#, c-format
msgid ""
"\n"
@@ -5669,21 +5677,21 @@ msgstr ""
"\n"
"%*s... < %u 回ã®ç¹°è¿”ã—> ..."
-#: src/readelf.c:12133
+#: src/readelf.c:12180
msgid " Owner Data size Type\n"
msgstr " 所有者 データ大ãã•ã‚¿ã‚¤ãƒ—\n"
-#: src/readelf.c:12151
+#: src/readelf.c:12209
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:12201
+#: src/readelf.c:12261
#, fuzzy, c-format
msgid "cannot get content of note: %s"
msgstr "ノートセクションã®å†…容を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:12228
+#: src/readelf.c:12288
#, c-format
msgid ""
"\n"
@@ -5693,7 +5701,7 @@ msgstr ""
"オフセット %4$#0<PRIx64> ã® %3$<PRIu64> ãƒã‚¤ãƒˆã®ãƒŽãƒ¼ãƒˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%1$2zu] "
"'%2$s':\n"
-#: src/readelf.c:12251
+#: src/readelf.c:12311
#, c-format
msgid ""
"\n"
@@ -5702,7 +5710,7 @@ msgstr ""
"\n"
"オフセット %2$#0<PRIx64> ã® %1$<PRIu64> ãƒã‚¤ãƒˆã®ãƒŽãƒ¼ãƒˆã‚»ã‚°ãƒ¡ãƒ³ãƒˆ:\n"
-#: src/readelf.c:12297
+#: src/readelf.c:12358
#, fuzzy, c-format
msgid ""
"\n"
@@ -5711,12 +5719,12 @@ msgstr ""
"\n"
"セクション [%Zu] '%s' ã«ã¯ãƒ€ãƒ³ãƒ—ã™ã¹ãデータãŒã‚ã‚Šã¾ã›ã‚“。\n"
-#: src/readelf.c:12324 src/readelf.c:12375
+#: src/readelf.c:12385 src/readelf.c:12436
#, fuzzy, c-format
msgid "cannot get data for section [%zu] '%s': %s"
msgstr "セクション [%Zu] '%s' ã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ãŒå¾—られã¾ã›ã‚“: %s"
-#: src/readelf.c:12329
+#: src/readelf.c:12390
#, fuzzy, c-format
msgid ""
"\n"
@@ -5726,7 +5734,7 @@ msgstr ""
"オフセット %4$#0<PRIx64> ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%1$Zu] '%2$s' ã®16進ダン"
"プã€%3$<PRIu64> ãƒã‚¤ãƒˆ:\n"
-#: src/readelf.c:12334
+#: src/readelf.c:12395
#, fuzzy, c-format
msgid ""
"\n"
@@ -5737,7 +5745,7 @@ msgstr ""
"オフセット %4$#0<PRIx64> ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%1$Zu] '%2$s' ã®16進ダン"
"プã€%3$<PRIu64> ãƒã‚¤ãƒˆ:\n"
-#: src/readelf.c:12348
+#: src/readelf.c:12409
#, fuzzy, c-format
msgid ""
"\n"
@@ -5746,7 +5754,7 @@ msgstr ""
"\n"
"セクション [%Zu] '%s' ã«ã¯ãƒ€ãƒ³ãƒ—ã™ã¹ãデータãŒã‚ã‚Šã¾ã›ã‚“。\n"
-#: src/readelf.c:12380
+#: src/readelf.c:12441
#, fuzzy, c-format
msgid ""
"\n"
@@ -5756,7 +5764,7 @@ msgstr ""
"オフセット %4$#0<PRIx64> 文字列セクション [%1$Zu] '%2$s' ã«ã¯ %3$<PRIu64> ãƒ"
"イトã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:12385
+#: src/readelf.c:12446
#, fuzzy, c-format
msgid ""
"\n"
@@ -5767,7 +5775,7 @@ msgstr ""
"オフセット %4$#0<PRIx64> 文字列セクション [%1$Zu] '%2$s' ã«ã¯ %3$<PRIu64> ãƒ"
"イトã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:12434
+#: src/readelf.c:12495
#, c-format
msgid ""
"\n"
@@ -5776,7 +5784,7 @@ msgstr ""
"\n"
"セクション [%lu] ãŒã‚ã‚Šã¾ã›ã‚“"
-#: src/readelf.c:12463
+#: src/readelf.c:12524
#, c-format
msgid ""
"\n"
@@ -5785,12 +5793,12 @@ msgstr ""
"\n"
"セクション '%s' ãŒã‚ã‚Šã¾ã›ã‚“"
-#: src/readelf.c:12520
+#: src/readelf.c:12581
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr "アーカイブã®ã‚·ãƒ³ãƒœãƒ«ç´¢å¼• '%s' を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:12523
+#: src/readelf.c:12584
#, c-format
msgid ""
"\n"
@@ -5799,7 +5807,7 @@ msgstr ""
"\n"
"アーカイブ '%s' ã«ã¯ã‚·ãƒ³ãƒœãƒ«ç´¢å¼•ãŒã‚ã‚Šã¾ã›ã‚“\n"
-#: src/readelf.c:12527
+#: src/readelf.c:12588
#, fuzzy, c-format
msgid ""
"\n"
@@ -5808,12 +5816,12 @@ msgstr ""
"\n"
"アーカイブ '%s' ã®ç´¢å¼•ã«ã¯ %Zu é …ç›®ã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:12545
+#: src/readelf.c:12606
#, fuzzy, c-format
msgid "cannot extract member at offset %zu in '%s': %s"
msgstr "'%2$s' 㮠オフセット %1$Zu ã®ãƒ¡ãƒ³ãƒãƒ¼ã‚’抽出ã§ãã¾ã›ã‚“: %3$s"
-#: src/readelf.c:12550
+#: src/readelf.c:12611
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "アーカイブメンãƒãƒ¼ '%s' ã«ã¯ä»¥ä¸‹ãŒã‚ã‚Šã¾ã™:\n"
@@ -5878,12 +5886,12 @@ msgstr "ä¸å½“ãªåŸºæ•°: %s"
msgid "%s: file format not recognized"
msgstr "%s: ファイル形å¼ã‚’èªè­˜ã§ãã¾ã›ã‚“"
-#: src/size.c:416 src/size.c:549
+#: src/size.c:418 src/size.c:551
#, c-format
msgid " (ex %s)"
msgstr " (ex %s)"
-#: src/size.c:574
+#: src/size.c:576
msgid "(TOTALS)\n"
msgstr "(åˆè¨ˆ)\n"
@@ -6071,94 +6079,114 @@ msgstr ""
msgid "Skipping section %zd '%s' data outside file"
msgstr ""
-#: src/strip.c:70
+#: src/strip.c:71
msgid "Place stripped output into FILE"
msgstr "ã¯ãŽå–ã£ãŸå‡ºåŠ›ã‚’ ãµãã„ã‚‹ ã«ç½®ã"
-#: src/strip.c:71
+#: src/strip.c:72
msgid "Extract the removed sections into FILE"
msgstr "抽出ã—ãŸå–り除ã„ãŸã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’ ãµãã„ã‚‹ ã«ç½®ã"
-#: src/strip.c:72
+#: src/strip.c:73
msgid "Embed name FILE instead of -f argument"
msgstr "-f パラメーターã®ä»£ã‚ã‚Šã« åå‰ ãµãã„ã‚‹ を有効ã«ã™ã‚‹"
-#: src/strip.c:76
+#: src/strip.c:77
msgid "Remove all debugging symbols"
msgstr "デãƒãƒƒã‚°ç”¨ã®ã‚·ãƒ³ãƒœãƒ«ã‚’å…¨ã¦å–り除ã"
-#: src/strip.c:80
+#: src/strip.c:81
msgid "Remove section headers (not recommended)"
msgstr ""
-#: src/strip.c:82
+#: src/strip.c:83
msgid "Copy modified/access timestamps to the output"
msgstr "修正/アクセスタイムスタンプを出力ã¸è¤‡å†™ã™ã‚‹"
-#: src/strip.c:84
+#: src/strip.c:85
msgid ""
"Resolve all trivial relocations between debug sections if the removed "
"sections are placed in a debug file (only relevant for ET_REL files, "
"operation is not reversable, needs -f)"
msgstr ""
-#: src/strip.c:86
+#: src/strip.c:87
+msgid ""
+"Similar to --reloc-debug-sections, but resolve all trivial relocations "
+"between debug sections in place. No other stripping is performed (operation "
+"is not reversable, incompatible with -f, -g, --remove-comment and --remove-"
+"section)"
+msgstr ""
+
+#: src/strip.c:89
msgid "Remove .comment section"
msgstr ".comment セクションをå–り除ã"
-#: src/strip.c:87
+#: src/strip.c:90
msgid ""
"Remove the named section. SECTION is an extended wildcard pattern. May be "
"given more than once. Only non-allocated sections can be removed."
msgstr ""
-#: src/strip.c:88
+#: src/strip.c:91
msgid ""
"Keep the named section. SECTION is an extended wildcard pattern. May be "
"given more than once."
msgstr ""
#. Short description of program.
-#: src/strip.c:95
+#: src/strip.c:98
msgid "Discard symbols from object files."
msgstr "オブジェクトファイルã‹ã‚‰ã‚·ãƒ³ãƒœãƒ«ã‚’破棄ã™ã‚‹"
-#: src/strip.c:241
+#: src/strip.c:247
#, c-format
msgid "--reloc-debug-sections used without -f"
msgstr ""
-#: src/strip.c:255
+#: src/strip.c:253
+#, c-format
+msgid ""
+"--reloc-debug-sections-only incompatible with -f, -g, --remove-comment and --"
+"remove-section"
+msgstr ""
+
+#: src/strip.c:267
#, c-format
msgid "Only one input file allowed together with '-o' and '-f'"
msgstr "'-o' 㨠'-f' ã¨ä¸€ç·’ã®å ´åˆã¯å…¥åŠ›ãƒ•ã‚¡ã‚¤ãƒ«ã¯ 1 ã¤ã—ã‹èªã‚られã¾ã›ã‚“"
-#: src/strip.c:278
+#: src/strip.c:290
#, c-format
msgid "-f option specified twice"
msgstr "-f オプション㌠2 回指定ã•ã‚Œã¦ã„ã¾ã™"
-#: src/strip.c:287
+#: src/strip.c:299
#, c-format
msgid "-F option specified twice"
msgstr "-F オプション㌠2 回指定ã•ã‚Œã¦ã„ã¾ã™"
-#: src/strip.c:346
+#: src/strip.c:362
#, fuzzy, c-format
msgid "cannot both keep and remove .comment section"
msgstr ".comment セクションをå–り除ã"
-#: src/strip.c:371 src/strip.c:395
+#: src/strip.c:574
+#, fuzzy, c-format
+msgid "bad relocation"
+msgstr "リロケーションを表示"
+
+#: src/strip.c:726 src/strip.c:750
#, c-format
msgid "cannot stat input file '%s'"
msgstr "入力ファイル '%s' ã‚’ stat ã§ãã¾ã›ã‚“"
-#: src/strip.c:385
+#: src/strip.c:740
#, c-format
msgid "while opening '%s'"
msgstr "'%s' ã‚’é–‹ã„ã¦ã„ã‚‹é–“"
-#: src/strip.c:423
+#: src/strip.c:778
#, c-format
msgid "%s: cannot use -o or -f when stripping archive"
msgstr "%s: アーカイブã‹ã‚‰æŠœã出ã—ã¦ã„る時㯠-o ã‚„ -f ã¯ä½¿ãˆã¾ã›ã‚“"
@@ -6169,132 +6197,132 @@ msgstr "%s: アーカイブã‹ã‚‰æŠœã出ã—ã¦ã„る時㯠-o ã‚„ -f ã¯ä½¿ãˆ
#. result = handle_ar (fd, elf, NULL, fname,
#. preserve_dates ? tv : NULL);
#.
-#: src/strip.c:435
+#: src/strip.c:790
#, fuzzy, c-format
msgid "%s: no support for stripping archive"
msgstr "%s: アーカイブã‹ã‚‰æŠœã出ã—ã¦ã„る時㯠-o ã‚„ -f ã¯ä½¿ãˆã¾ã›ã‚“"
-#: src/strip.c:534
+#: src/strip.c:1001
#, c-format
msgid "cannot open EBL backend"
msgstr "EBL ãƒãƒƒã‚¯ã‚¨ãƒ³ãƒ‰ã‚’é–‹ã‘ã¾ã›ã‚“"
-#: src/strip.c:579
+#: src/strip.c:1046
#, fuzzy, c-format
msgid "cannot get number of phdrs"
msgstr "セクション数を決定ã§ãã¾ã›ã‚“: %s"
-#: src/strip.c:595 src/strip.c:619
-#, c-format
-msgid "cannot create new file '%s': %s"
+#: src/strip.c:1060 src/strip.c:1103
+#, fuzzy, c-format
+msgid "cannot create new ehdr for file '%s': %s"
msgstr "æ–°ã—ã„ファイル '%s' を生æˆã§ãã¾ã›ã‚“: %s"
-#: src/strip.c:701
+#: src/strip.c:1070 src/strip.c:1113
+#, fuzzy, c-format
+msgid "cannot create new phdr for file '%s': %s"
+msgstr "æ–°ã—ã„ファイル '%s' を生æˆã§ãã¾ã›ã‚“: %s"
+
+#: src/strip.c:1194
#, c-format
msgid "illformed file '%s'"
msgstr "ä¸é©æ ¼ãªãƒ•ã‚¡ã‚¤ãƒ« '%s'"
-#: src/strip.c:711
+#: src/strip.c:1204
#, fuzzy, c-format
msgid "Cannot remove allocated section '%s'"
msgstr "PLT セクションを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s"
-#: src/strip.c:720
+#: src/strip.c:1213
#, fuzzy, c-format
msgid "Cannot both keep and remove section '%s'"
msgstr "0番目ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®ãƒ˜ãƒƒãƒ€ãƒ¼ã‚’得られã¾ã›ã‚“: %s"
-#: src/strip.c:1076 src/strip.c:1210
+#: src/strip.c:1573 src/strip.c:1688
#, c-format
msgid "while generating output file: %s"
msgstr "出力ファイルを生æˆã—ã¦ã„ã‚‹é–“: %s"
-#: src/strip.c:1141
+#: src/strip.c:1637
#, fuzzy, c-format
-msgid "%s: error while getting shdrstrndx: %s"
+msgid "%s: error while updating ELF header: %s"
msgstr "%s: ELF ヘッダーを生æˆã—ã¦ã„ã‚‹é–“ã«ã‚¨ãƒ©ãƒ¼: %s"
-#: src/strip.c:1157
+#: src/strip.c:1646
#, fuzzy, c-format
-msgid "%s: error getting zero section: %s"
-msgstr "%s: ファイルを読込ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼: %s"
+msgid "%s: error while getting shdrstrndx: %s"
+msgstr "%s: ELF ヘッダーを生æˆã—ã¦ã„ã‚‹é–“ã«ã‚¨ãƒ©ãƒ¼: %s"
-#: src/strip.c:1166
+#: src/strip.c:1654 src/strip.c:2534
#, fuzzy, c-format
-msgid "%s: error while updating zero section: %s"
-msgstr "%s: ファイルを読込ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼: %s"
-
-#: src/strip.c:1176 src/strip.c:2292
-#, c-format
-msgid "%s: error while creating ELF header: %s"
+msgid "%s: error updating shdrstrndx: %s"
msgstr "%s: ELF ヘッダーを生æˆã—ã¦ã„ã‚‹é–“ã«ã‚¨ãƒ©ãƒ¼: %s"
-#: src/strip.c:1193
+#: src/strip.c:1671
#, c-format
msgid "while preparing output for '%s'"
msgstr "'%s' ã®ãŸã‚ã®å‡ºåŠ›ã‚’準備ã—ã¦ã„ã‚‹é–“"
-#: src/strip.c:1255 src/strip.c:1318
+#: src/strip.c:1733 src/strip.c:1796
#, c-format
msgid "while create section header section: %s"
msgstr "セクションヘッダーセクションを生æˆã—ã¦ã„ã‚‹é–“: %s"
-#: src/strip.c:1264
+#: src/strip.c:1742
#, c-format
msgid "cannot allocate section data: %s"
msgstr "セクションデータを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s"
-#: src/strip.c:1330
+#: src/strip.c:1808
#, c-format
msgid "while create section header string table: %s"
msgstr "セクションヘッダー文字列テーブルを生æˆä¸­: %s"
-#: src/strip.c:1337
+#: src/strip.c:1815
#, fuzzy, c-format
msgid "no memory to create section header string table"
msgstr "セクションヘッダー文字列テーブルを生æˆä¸­: %s"
-#: src/strip.c:1547
+#: src/strip.c:2027
#, c-format
msgid "Cannot remove symbol [%zd] from allocated symbol table [%zd]"
msgstr ""
-#: src/strip.c:2078
-#, fuzzy, c-format
-msgid "bad relocation"
-msgstr "リロケーションを表示"
-
-#: src/strip.c:2203 src/strip.c:2316
+#: src/strip.c:2450 src/strip.c:2558
#, c-format
msgid "while writing '%s': %s"
msgstr "'%s' を書込ã¿ä¸­: %s"
-#: src/strip.c:2214
+#: src/strip.c:2461
#, c-format
msgid "while creating '%s'"
msgstr "'%s' を生æˆä¸­"
-#: src/strip.c:2237
+#: src/strip.c:2484
#, c-format
msgid "while computing checksum for debug information"
msgstr "デãƒãƒƒã‚°æƒ…å ±ã®ãƒã‚§ãƒƒã‚¯ã‚µãƒ ã‚’計算中"
-#: src/strip.c:2301
+#: src/strip.c:2525
+#, c-format
+msgid "%s: error while creating ELF header: %s"
+msgstr "%s: ELF ヘッダーを生æˆã—ã¦ã„ã‚‹é–“ã«ã‚¨ãƒ©ãƒ¼: %s"
+
+#: src/strip.c:2543
#, c-format
msgid "%s: error while reading the file: %s"
msgstr "%s: ファイルを読込ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼: %s"
-#: src/strip.c:2341 src/strip.c:2361
+#: src/strip.c:2583 src/strip.c:2603
#, fuzzy, c-format
msgid "while writing '%s'"
msgstr "'%s' を書込ã¿ä¸­: %s"
-#: src/strip.c:2398 src/strip.c:2405
+#: src/strip.c:2640 src/strip.c:2647
#, c-format
msgid "error while finishing '%s': %s"
msgstr "'%s' ã®çµ‚了中ã«ã‚¨ãƒ©ãƒ¼: %s"
-#: src/strip.c:2422 src/strip.c:2498
+#: src/strip.c:2664 src/strip.c:2740
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr "'%s' ã®ã‚¢ã‚¯ã‚»ã‚¹ã¨å¤‰æ›´æ—¥ä»˜ã‚’設定ã§ãã¾ã›ã‚“"
@@ -6380,269 +6408,299 @@ msgstr ""
msgid "cannot get shdrstrndx:%s"
msgstr "セクションを得られã¾ã›ã‚“: %s"
-#: src/unstrip.c:257
+#: src/unstrip.c:248 src/unstrip.c:2034
+#, c-format
+msgid "cannot get ELF header: %s"
+msgstr ""
+
+#: src/unstrip.c:258
#, fuzzy, c-format
msgid "cannot get new zero section: %s"
msgstr "セクションを得られã¾ã›ã‚“: %s"
-#: src/unstrip.c:260
+#: src/unstrip.c:261
#, fuzzy, c-format
msgid "cannot update new zero section: %s"
msgstr "セクション数を決定ã§ãã¾ã›ã‚“: %s"
-#: src/unstrip.c:264
+#: src/unstrip.c:265
#, c-format
msgid "cannot copy ELF header: %s"
msgstr ""
-#: src/unstrip.c:268 src/unstrip.c:1962 src/unstrip.c:2005
+#: src/unstrip.c:269 src/unstrip.c:2052 src/unstrip.c:2095
#, fuzzy, c-format
msgid "cannot get number of program headers: %s"
msgstr "セクション数を決定ã§ãã¾ã›ã‚“: %s"
-#: src/unstrip.c:273 src/unstrip.c:1966
+#: src/unstrip.c:274 src/unstrip.c:2056
#, c-format
msgid "cannot create program headers: %s"
msgstr ""
-#: src/unstrip.c:279
+#: src/unstrip.c:280
#, c-format
msgid "cannot copy program header: %s"
msgstr ""
-#: src/unstrip.c:289
+#: src/unstrip.c:290
#, c-format
msgid "cannot copy section header: %s"
msgstr ""
-#: src/unstrip.c:292 src/unstrip.c:1597
+#: src/unstrip.c:293 src/unstrip.c:1665
#, c-format
msgid "cannot get section data: %s"
msgstr ""
-#: src/unstrip.c:294 src/unstrip.c:1599
+#: src/unstrip.c:295 src/unstrip.c:1667
#, c-format
msgid "cannot copy section data: %s"
msgstr ""
-#: src/unstrip.c:318
+#: src/unstrip.c:319
#, c-format
msgid "cannot create directory '%s'"
msgstr ""
-#: src/unstrip.c:390 src/unstrip.c:820 src/unstrip.c:1631
+#: src/unstrip.c:391 src/unstrip.c:845 src/unstrip.c:1702
#, c-format
msgid "cannot get symbol table entry: %s"
msgstr ""
-#: src/unstrip.c:406 src/unstrip.c:631 src/unstrip.c:652 src/unstrip.c:664
-#: src/unstrip.c:1652 src/unstrip.c:1828 src/unstrip.c:1852
+#: src/unstrip.c:407 src/unstrip.c:649 src/unstrip.c:670 src/unstrip.c:682
+#: src/unstrip.c:1723 src/unstrip.c:1918 src/unstrip.c:1942
#, c-format
msgid "cannot update symbol table: %s"
msgstr ""
-#: src/unstrip.c:416
+#: src/unstrip.c:417
#, c-format
msgid "cannot update section header: %s"
msgstr ""
-#: src/unstrip.c:455 src/unstrip.c:466
+#: src/unstrip.c:459 src/unstrip.c:473
#, c-format
msgid "cannot update relocation: %s"
msgstr ""
-#: src/unstrip.c:554
+#: src/unstrip.c:570
#, c-format
msgid "cannot get symbol version: %s"
msgstr ""
-#: src/unstrip.c:567
+#: src/unstrip.c:583
#, c-format
msgid "unexpected section type in [%zu] with sh_link to symtab"
msgstr ""
-#: src/unstrip.c:826
+#: src/unstrip.c:851
#, fuzzy, c-format
msgid "invalid string offset in symbol [%zu]"
msgstr "シンボル %2$sã®ä¸æ­£ãªã‚ªãƒ•ã‚»ãƒƒãƒˆ %1$zu "
-#: src/unstrip.c:984 src/unstrip.c:1334
+#: src/unstrip.c:1009 src/unstrip.c:1398
#, fuzzy, c-format
msgid "cannot read section [%zu] name: %s"
msgstr "セクションデータを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s"
-#: src/unstrip.c:1025 src/unstrip.c:1044 src/unstrip.c:1082
+#: src/unstrip.c:1024
+#, fuzzy, c-format
+msgid "bad sh_link for group section: %s"
+msgstr "ä¸å½“㪠.debug_line セクション"
+
+#: src/unstrip.c:1030
+#, fuzzy, c-format
+msgid "couldn't get shdr for group section: %s"
+msgstr "セクションã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã‚’得られã¾ã›ã‚“ %d: %s"
+
+#: src/unstrip.c:1035
+#, fuzzy, c-format
+msgid "bad data for group symbol section: %s"
+msgstr "セクションã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã‚’得られã¾ã›ã‚“ %d: %s"
+
+#: src/unstrip.c:1041
+#, fuzzy, c-format
+msgid "couldn't get symbol for group section: %s"
+msgstr "セクション数を決定ã§ãã¾ã›ã‚“: %s"
+
+#: src/unstrip.c:1046
+#, fuzzy, c-format
+msgid "bad symbol name for group section: %s"
+msgstr "セクションヘッダー文字列セクションを生æˆã§ãã¾ã›ã‚“: %s"
+
+#: src/unstrip.c:1088 src/unstrip.c:1107 src/unstrip.c:1145
#, c-format
msgid "cannot read '.gnu.prelink_undo' section: %s"
msgstr ""
-#: src/unstrip.c:1062
+#: src/unstrip.c:1125
#, c-format
msgid "overflow with shnum = %zu in '%s' section"
msgstr ""
-#: src/unstrip.c:1073
+#: src/unstrip.c:1136
#, c-format
msgid "invalid contents in '%s' section"
msgstr ""
-#: src/unstrip.c:1128 src/unstrip.c:1456
+#: src/unstrip.c:1192 src/unstrip.c:1524
#, fuzzy, c-format
msgid "cannot find matching section for [%zu] '%s'"
msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/unstrip.c:1253 src/unstrip.c:1268 src/unstrip.c:1535 src/unstrip.c:1787
+#: src/unstrip.c:1317 src/unstrip.c:1332 src/unstrip.c:1603 src/unstrip.c:1877
#, c-format
msgid "cannot add section name to string table: %s"
msgstr ""
-#: src/unstrip.c:1277
+#: src/unstrip.c:1341
#, c-format
msgid "cannot update section header string table data: %s"
msgstr ""
-#: src/unstrip.c:1305 src/unstrip.c:1309
+#: src/unstrip.c:1369 src/unstrip.c:1373
#, c-format
msgid "cannot get section header string table section index: %s"
msgstr ""
-#: src/unstrip.c:1313 src/unstrip.c:1317 src/unstrip.c:1550
+#: src/unstrip.c:1377 src/unstrip.c:1381 src/unstrip.c:1618
#, c-format
msgid "cannot get section count: %s"
msgstr ""
-#: src/unstrip.c:1320
+#: src/unstrip.c:1384
#, c-format
msgid "more sections in stripped file than debug file -- arguments reversed?"
msgstr ""
-#: src/unstrip.c:1379 src/unstrip.c:1471
+#: src/unstrip.c:1446 src/unstrip.c:1539
#, c-format
msgid "cannot read section header string table: %s"
msgstr ""
-#: src/unstrip.c:1529
+#: src/unstrip.c:1597
#, c-format
msgid "cannot add new section: %s"
msgstr ""
-#: src/unstrip.c:1639
+#: src/unstrip.c:1710
#, fuzzy, c-format
msgid "symbol [%zu] has invalid section index"
msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³ç´¢å¼•"
-#: src/unstrip.c:1923
+#: src/unstrip.c:1742
+#, fuzzy, c-format
+msgid "group has invalid section index [%zd]"
+msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³ç´¢å¼•"
+
+#: src/unstrip.c:2013
#, fuzzy, c-format
msgid "cannot read section data: %s"
msgstr "セクションデータを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s"
-#: src/unstrip.c:1944
-#, c-format
-msgid "cannot get ELF header: %s"
-msgstr ""
-
-#: src/unstrip.c:1952
+#: src/unstrip.c:2042
#, c-format
msgid "cannot update ELF header: %s"
msgstr "ELF ヘッダーを更新ã§ãã¾ã›ã‚“: %s"
-#: src/unstrip.c:1976
+#: src/unstrip.c:2066
#, c-format
msgid "cannot update program header: %s"
msgstr ""
-#: src/unstrip.c:1981 src/unstrip.c:2063
+#: src/unstrip.c:2071 src/unstrip.c:2153
#, c-format
msgid "cannot write output file: %s"
msgstr ""
-#: src/unstrip.c:2032
+#: src/unstrip.c:2122
#, c-format
msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
msgstr ""
-#: src/unstrip.c:2035
+#: src/unstrip.c:2125
#, c-format
msgid ""
"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
msgstr ""
-#: src/unstrip.c:2054 src/unstrip.c:2105 src/unstrip.c:2117 src/unstrip.c:2203
+#: src/unstrip.c:2144 src/unstrip.c:2195 src/unstrip.c:2207 src/unstrip.c:2293
#, c-format
msgid "cannot create ELF descriptor: %s"
msgstr ""
-#: src/unstrip.c:2096
+#: src/unstrip.c:2186
msgid "WARNING: "
msgstr ""
-#: src/unstrip.c:2098
+#: src/unstrip.c:2188
msgid ", use --force"
msgstr ""
-#: src/unstrip.c:2121
+#: src/unstrip.c:2211
msgid "ELF header identification (e_ident) different"
msgstr ""
-#: src/unstrip.c:2124
+#: src/unstrip.c:2214
msgid "ELF header type (e_type) different"
msgstr ""
-#: src/unstrip.c:2127
+#: src/unstrip.c:2217
msgid "ELF header machine type (e_machine) different"
msgstr ""
-#: src/unstrip.c:2130
+#: src/unstrip.c:2220
msgid "stripped program header (e_phnum) smaller than unstripped"
msgstr ""
-#: src/unstrip.c:2160
+#: src/unstrip.c:2250
#, c-format
msgid "cannot find stripped file for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2164
+#: src/unstrip.c:2254
#, c-format
msgid "cannot open stripped file '%s' for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2179
+#: src/unstrip.c:2269
#, c-format
msgid "cannot find debug file for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2183
+#: src/unstrip.c:2273
#, c-format
msgid "cannot open debug file '%s' for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2196
+#: src/unstrip.c:2286
#, c-format
msgid "module '%s' file '%s' is not stripped"
msgstr ""
-#: src/unstrip.c:2227
+#: src/unstrip.c:2317
#, c-format
msgid "cannot cache section addresses for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2360
+#: src/unstrip.c:2450
#, c-format
msgid "no matching modules found"
msgstr ""
-#: src/unstrip.c:2369
+#: src/unstrip.c:2459
#, c-format
msgid "matched more than one module"
msgstr ""
-#: src/unstrip.c:2413
+#: src/unstrip.c:2503
msgid ""
"STRIPPED-FILE DEBUG-FILE\n"
"[MODULE...]"
msgstr ""
-#: src/unstrip.c:2414
+#: src/unstrip.c:2504
msgid ""
"Combine stripped files with separate symbols and debug information.\n"
"\n"
@@ -6683,6 +6741,14 @@ msgstr "出力é¸æŠž:"
msgid "Show instances of inlined functions"
msgstr ""
+#, fuzzy
+#~ msgid "%s: error getting zero section: %s"
+#~ msgstr "%s: ファイルを読込ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼: %s"
+
+#, fuzzy
+#~ msgid "%s: error while updating zero section: %s"
+#~ msgstr "%s: ファイルを読込ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼: %s"
+
#~ msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
#~ msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>"
diff --git a/po/pl.po b/po/pl.po
index 32baa51f..546fe3e3 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: 2018-09-14 12:05+0200\n"
+"POT-Creation-Date: 2018-11-16 12:42+0100\n"
"PO-Revision-Date: 2016-12-29 17:48+0100\n"
"Last-Translator: Piotr DrÄ…g <piotrdrag@gmail.com>\n"
"Language-Team: Polish <trans-pl@lists.fedoraproject.org>\n"
@@ -59,8 +59,8 @@ msgstr ""
"BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej gwarancji PRZYDATNOŚCI\n"
"HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ.\n"
-#: lib/xmalloc.c:52 lib/xmalloc.c:65 lib/xmalloc.c:77 src/readelf.c:3409
-#: src/readelf.c:11212 src/unstrip.c:2256 src/unstrip.c:2462
+#: lib/xmalloc.c:52 lib/xmalloc.c:65 lib/xmalloc.c:77 src/readelf.c:3414
+#: src/readelf.c:11259 src/unstrip.c:2346 src/unstrip.c:2552
#, c-format
msgid "memory exhausted"
msgstr "pamięć wyczerpana"
@@ -301,7 +301,7 @@ msgstr " nieznana instrukcja"
msgid ".debug_addr section missing"
msgstr "brak sekcji .debug_ranges"
-#: libdwfl/argp-std.c:50 src/stack.c:638 src/unstrip.c:2403
+#: libdwfl/argp-std.c:50 src/stack.c:638 src/unstrip.c:2493
msgid "Input selection options:"
msgstr "Opcje wyboru wejścia:"
@@ -523,8 +523,8 @@ msgstr "Nie jest plikiem ELF ET_CORE"
msgid "No backend"
msgstr "Brak zaplecza"
-#: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:76
-#: libebl/eblobjnotetypename.c:83 libebl/eblobjnotetypename.c:102
+#: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:77
+#: libebl/eblobjnotetypename.c:109 libebl/eblobjnotetypename.c:130
#: libebl/eblosabiname.c:73 libebl/eblsectionname.c:83
#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:79
msgid "<unknown>"
@@ -535,58 +535,58 @@ msgstr "<nieznany>"
msgid "<unknown>: %#<PRIx64>"
msgstr "<nieznany>: %#<PRIx64>"
-#: libebl/eblobjnote.c:53
+#: libebl/eblobjnote.c:58
#, c-format
msgid "unknown SDT version %u\n"
msgstr "nieznana wersja SDT %u\n"
-#: libebl/eblobjnote.c:71
+#: libebl/eblobjnote.c:76
#, c-format
msgid "invalid SDT probe descriptor\n"
msgstr "nieprawidłowy deskryptor sondy SDT\n"
-#: libebl/eblobjnote.c:121
+#: libebl/eblobjnote.c:126
#, c-format
msgid " PC: "
msgstr " PC: "
-#: libebl/eblobjnote.c:123
+#: libebl/eblobjnote.c:128
#, c-format
msgid " Base: "
msgstr " Podstawa: "
-#: libebl/eblobjnote.c:125
+#: libebl/eblobjnote.c:130
#, c-format
msgid " Semaphore: "
msgstr " Semafor: "
-#: libebl/eblobjnote.c:127
+#: libebl/eblobjnote.c:132
#, c-format
msgid " Provider: "
msgstr " Dostawca: "
-#: libebl/eblobjnote.c:129
+#: libebl/eblobjnote.c:134
#, c-format
msgid " Name: "
msgstr " Nazwa: "
-#: libebl/eblobjnote.c:131
+#: libebl/eblobjnote.c:136
#, c-format
msgid " Args: "
msgstr " Parametry: "
-#: libebl/eblobjnote.c:141
+#: libebl/eblobjnote.c:300
#, c-format
msgid " Build ID: "
msgstr " Identyfikator kopii: "
#. A non-null terminated version string.
-#: libebl/eblobjnote.c:152
+#: libebl/eblobjnote.c:311
#, c-format
msgid " Linker version: %.*s\n"
msgstr " Wersja konsolidatora: %.*s\n"
-#: libebl/eblobjnote.c:213
+#: libebl/eblobjnote.c:553
#, c-format
msgid " OS: %s, ABI: "
msgstr " System operacyjny: %s, ABI: "
@@ -620,7 +620,7 @@ msgstr "nieprawidłowy rozmiar operanda źródłowego"
msgid "invalid size of destination operand"
msgstr "nieprawidłowy rozmiar operanda docelowego"
-#: libelf/elf_error.c:87 src/readelf.c:6123
+#: libelf/elf_error.c:87 src/readelf.c:6129
#, c-format
msgid "invalid encoding"
msgstr "nieprawidłowe kodowanie"
@@ -706,8 +706,8 @@ msgstr "dane/scn nie zgadzajÄ… siÄ™"
msgid "invalid section header"
msgstr "nieprawidłowy nagłówek sekcji"
-#: libelf/elf_error.c:191 src/readelf.c:9758 src/readelf.c:10329
-#: src/readelf.c:10430 src/readelf.c:10611
+#: libelf/elf_error.c:191 src/readelf.c:9775 src/readelf.c:10375
+#: src/readelf.c:10476 src/readelf.c:10658
#, c-format
msgid "invalid data"
msgstr "nieprawidłowe dane"
@@ -1038,12 +1038,12 @@ msgstr "nie można wykonać stat na archiwum „%sâ€"
msgid "no entry %s in archive\n"
msgstr "brak wpisu %s w archiwum\n"
-#: src/ar.c:472 src/ar.c:917 src/ar.c:1121
+#: src/ar.c:472 src/ar.c:923 src/ar.c:1127
#, c-format
msgid "cannot create hash table"
msgstr "nie można utworzyć tabeli mieszającej"
-#: src/ar.c:479 src/ar.c:924 src/ar.c:1130
+#: src/ar.c:479 src/ar.c:930 src/ar.c:1136
#, c-format
msgid "cannot insert into hash table"
msgstr "nie można umieścić w tabeli mieszającej"
@@ -1053,97 +1053,97 @@ msgstr "nie można umieścić w tabeli mieszającej"
msgid "cannot stat '%s'"
msgstr "nie można wykonać stat na „%sâ€"
-#: src/ar.c:583
+#: src/ar.c:589
#, c-format
msgid "cannot read content of %s: %s"
msgstr "nie można odczytać zawartości %s: %s"
-#: src/ar.c:626
+#: src/ar.c:632
#, c-format
msgid "cannot open %.*s"
msgstr "nie można otworzyć %.*s"
-#: src/ar.c:648
+#: src/ar.c:654
#, c-format
msgid "failed to write %s"
msgstr "zapisanie %s się nie powiodło"
-#: src/ar.c:660
+#: src/ar.c:666
#, c-format
msgid "cannot change mode of %s"
msgstr "nie można zmienić trybu %s"
-#: src/ar.c:676
+#: src/ar.c:682
#, c-format
msgid "cannot change modification time of %s"
msgstr "nie można zmienić czasu modyfikacji %s"
-#: src/ar.c:722
+#: src/ar.c:728
#, c-format
msgid "cannot rename temporary file to %.*s"
msgstr "nie można zmienić nazwy pliku tymczasowego na %.*s"
-#: src/ar.c:758 src/ar.c:1009 src/ar.c:1410 src/ranlib.c:222
+#: src/ar.c:764 src/ar.c:1015 src/ar.c:1416 src/ranlib.c:222
#, c-format
msgid "cannot create new file"
msgstr "nie można utworzyć nowego pliku"
-#: src/ar.c:1212
+#: src/ar.c:1218
#, c-format
msgid "position member %s not found"
msgstr "nie odnaleziono położenia elementu %s"
-#: src/ar.c:1222
+#: src/ar.c:1228
#, c-format
msgid "%s: no entry %s in archive!\n"
msgstr "%s: brak wpisu %s w archiwum.\n"
-#: src/ar.c:1251 src/objdump.c:241
+#: src/ar.c:1257 src/objdump.c:241
#, c-format
msgid "cannot open %s"
msgstr "nie można otworzyć %s"
-#: src/ar.c:1256
+#: src/ar.c:1262
#, c-format
msgid "cannot stat %s"
msgstr "nie można wykonać stat na %s"
-#: src/ar.c:1262
+#: src/ar.c:1268
#, c-format
msgid "%s is no regular file"
msgstr "%s nie jest zwykłym plikiem"
-#: src/ar.c:1275
+#: src/ar.c:1281
#, c-format
msgid "cannot get ELF descriptor for %s: %s\n"
msgstr "nie można uzyskać deskryptora ELF dla %s: %s\n"
-#: src/ar.c:1295
+#: src/ar.c:1301
#, c-format
msgid "cannot read %s: %s"
msgstr "nie można odczytać %s: %s"
-#: src/ar.c:1470
+#: src/ar.c:1476
#, fuzzy, c-format
msgid "cannot represent ar_date"
msgstr "nie można dekompresować danych"
-#: src/ar.c:1476
+#: src/ar.c:1482
#, fuzzy, c-format
msgid "cannot represent ar_uid"
msgstr "nie można dekompresować danych"
-#: src/ar.c:1482
+#: src/ar.c:1488
#, fuzzy, c-format
msgid "cannot represent ar_gid"
msgstr "nie można dekompresować danych"
-#: src/ar.c:1488
+#: src/ar.c:1494
#, fuzzy, c-format
msgid "cannot represent ar_mode"
msgstr "nie można uzyskać nazwy sekcji"
-#: src/ar.c:1494
+#: src/ar.c:1500
#, fuzzy, c-format
msgid "cannot represent ar_size"
msgstr "nie można otworzyć %s"
@@ -1365,8 +1365,8 @@ msgid "Invalid value '%s' for --gaps parameter."
msgstr "Nieprawidłowa wartość „%s†dla parametru --gaps."
#: src/elfcmp.c:734 src/findtextrel.c:205 src/nm.c:364 src/ranlib.c:141
-#: src/size.c:272 src/strings.c:185 src/strip.c:517 src/strip.c:554
-#: src/unstrip.c:2052 src/unstrip.c:2081
+#: src/size.c:272 src/strings.c:185 src/strip.c:984 src/strip.c:1021
+#: src/unstrip.c:2142 src/unstrip.c:2171
#, c-format
msgid "cannot open '%s'"
msgstr "nie można otworzyć „%sâ€"
@@ -1381,7 +1381,7 @@ msgstr "nie można utworzyć deskryptora ELF dla „%sâ€: %s"
msgid "cannot create EBL descriptor for '%s'"
msgstr "nie można utworzyć deskryptora EBL dla „%sâ€"
-#: src/elfcmp.c:761 src/findtextrel.c:393
+#: src/elfcmp.c:761 src/findtextrel.c:394
#, c-format
msgid "cannot get section header of section %zu: %s"
msgstr "nie można uzyskać nagłówka sekcji dla sekcji %zu: %s"
@@ -1396,7 +1396,7 @@ msgstr "nie można uzyskać zawartości sekcji %zu: %s"
msgid "cannot get relocation: %s"
msgstr "nie można uzyskać relokacji: %s"
-#: src/elfcompress.c:115 src/strip.c:296 src/unstrip.c:121
+#: src/elfcompress.c:115 src/strip.c:308 src/unstrip.c:121
#, c-format
msgid "-o option specified twice"
msgstr "OpcjÄ™ -o podano dwukrotnie"
@@ -1455,7 +1455,7 @@ msgid ""
"rewrite the file even if no section would be (de)compressed"
msgstr "Wymusza kompresję sekcji nawet, jeśli spowodowałoby to jej zwiększenie"
-#: src/elfcompress.c:1324 src/strip.c:90
+#: src/elfcompress.c:1324 src/strip.c:93
msgid "Relax a few rules to handle slightly broken ELF files"
msgstr "Åagodzi kilka reguÅ‚, aby obsÅ‚użyć lekko uszkodzone pliki ELF"
@@ -1675,7 +1675,7 @@ msgstr ""
#: src/elflint.c:610 src/elflint.c:1494 src/elflint.c:1545 src/elflint.c:1651
#: src/elflint.c:1987 src/elflint.c:2313 src/elflint.c:2932 src/elflint.c:3095
-#: src/elflint.c:3243 src/elflint.c:3433 src/elflint.c:4401
+#: src/elflint.c:3243 src/elflint.c:3433 src/elflint.c:4431
#, c-format
msgid "section [%2d] '%s': cannot get section data\n"
msgstr "sekcja [%2d] „%sâ€: nie można uzyskać danych sekcji\n"
@@ -3229,51 +3229,54 @@ msgstr ""
"sekcja [%2d]: „%sâ€: nieznany typ notatki pliku core %<PRIu32> pod offsetem "
"%zu\n"
-#: src/elflint.c:4344
-#, c-format
-msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %zu\n"
+#: src/elflint.c:4370
+#, fuzzy, c-format
+msgid ""
+"phdr[%d]: unknown object file note type %<PRIu32> with owner name '%s' at "
+"offset %zu\n"
msgstr ""
"phdr[%d]: nieznany typ notatki pliku obiektu %<PRIu32> pod offsetem %zu\n"
-#: src/elflint.c:4348
-#, c-format
+#: src/elflint.c:4375
+#, fuzzy, c-format
msgid ""
-"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n"
+"section [%2d] '%s': unknown object file note type %<PRIu32> with owner name "
+"'%s' at offset %zu\n"
msgstr ""
"sekcja [%2d] „%sâ€: nieznany typ notatki pliku obiektu %<PRIu32> pod offsetem "
"%zu\n"
-#: src/elflint.c:4365
+#: src/elflint.c:4394
#, 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:4384
+#: src/elflint.c:4414
#, 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:4387
+#: src/elflint.c:4417
#, c-format
msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
msgstr "phdr[%d]: dodatkowe %<PRIu64> bajtów po ostatniej notatce\n"
-#: src/elflint.c:4408
+#: src/elflint.c:4438
#, 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:4415
+#: src/elflint.c:4445
#, 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:4418
+#: src/elflint.c:4448
#, c-format
msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
msgstr "sekcja [%2d] „%sâ€: dodatkowe %<PRIu64> bajtów po ostatniej notatce\n"
-#: src/elflint.c:4436
+#: src/elflint.c:4466
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
@@ -3281,135 +3284,135 @@ msgstr ""
"tylko pliki wykonywalne, obiekty współdzielone i pliki core mogą mieć "
"nagłówki programu\n"
-#: src/elflint.c:4451
+#: src/elflint.c:4481
#, 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:4460
+#: src/elflint.c:4490
#, 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:4471
+#: src/elflint.c:4501
#, 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:4479
+#: src/elflint.c:4509
#, 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:4486
+#: src/elflint.c:4516
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr "statyczny plik wykonywalny nie może mieć sekcji dynamicznych\n"
-#: src/elflint.c:4500
+#: src/elflint.c:4530
#, 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:4503
+#: src/elflint.c:4533
#, 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:4513
+#: src/elflint.c:4543
#, 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:4534
+#: src/elflint.c:4564
#, 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:4545
+#: src/elflint.c:4575
#, 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:4552
+#: src/elflint.c:4582
#, 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:4561 src/elflint.c:4584
+#: src/elflint.c:4591 src/elflint.c:4614
#, 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:4590
+#: src/elflint.c:4620
#, 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:4615
+#: src/elflint.c:4647
#, 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:4618
+#: src/elflint.c:4650
#, 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:4631
+#: src/elflint.c:4663
#, 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:4639
+#: src/elflint.c:4671
#, c-format
msgid "call frame search table must be allocated\n"
msgstr "tabela wyszukiwania ramki wywołania musi być przydzielona\n"
-#: src/elflint.c:4642
+#: src/elflint.c:4674
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
msgstr "sekcja [%2zu] „%sâ€: musi być przydzielona\n"
-#: src/elflint.c:4646
+#: src/elflint.c:4678
#, 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:4649
+#: src/elflint.c:4681
#, c-format
msgid "section [%2zu] '%s' must not be writable\n"
msgstr "sekcja [%2zu] „%s†nie może być zapisywalna\n"
-#: src/elflint.c:4654
+#: src/elflint.c:4686
#, 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:4657
+#: src/elflint.c:4689
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
msgstr "sekcja [%2zu] „%s†nie może być wykonywalna\n"
-#: src/elflint.c:4668
+#: src/elflint.c:4700
#, 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:4675
+#: src/elflint.c:4707
#, 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:4678
+#: src/elflint.c:4710
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
@@ -3418,7 +3421,7 @@ msgstr ""
"wpis nagłówka programu %d: offset w pliku i adres wirtualny nie są "
"wielokrotnością wyrównania\n"
-#: src/elflint.c:4691
+#: src/elflint.c:4723
#, c-format
msgid ""
"executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME "
@@ -3427,12 +3430,12 @@ msgstr ""
"plik wykonywalny/DSO z sekcją .eh_frame_hdr nie ma wpisu nagłówka programu "
"PT_GNU_EH_FRAME"
-#: src/elflint.c:4725
+#: src/elflint.c:4757
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr "nie można odczytać nagłówka ELF: %s\n"
-#: src/elflint.c:4751
+#: src/elflint.c:4783
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr "flaga relokacji tekstu jest ustawiona, ale niepotrzebna\n"
@@ -3456,7 +3459,7 @@ msgstr "Odnajduje źródło relokacji tekstu w PLIKACH (domyślnie a.out)."
#. Strings for arguments in help texts.
#: src/findtextrel.c:74 src/nm.c:108 src/objdump.c:71 src/size.c:80
-#: src/strings.c:87 src/strip.c:98
+#: src/strings.c:87 src/strip.c:101
msgid "[FILE...]"
msgstr "[PLIK…]"
@@ -3475,53 +3478,53 @@ msgstr "„%s†nie jest DSO ani PIE"
msgid "getting get section header of section %zu: %s"
msgstr "uzyskiwanie nagłówka sekcji dla sekcji %zu: %s"
-#: src/findtextrel.c:276
+#: src/findtextrel.c:277
#, c-format
msgid "cannot read dynamic section: %s"
msgstr "nie można odczytać sekcji dynamicznej: %s"
-#: src/findtextrel.c:297
+#: src/findtextrel.c:298
#, c-format
msgid "no text relocations reported in '%s'"
msgstr "brak relokacji tekstu w „%sâ€"
-#: src/findtextrel.c:309
+#: src/findtextrel.c:310
#, c-format
msgid "while reading ELF file"
msgstr "podczas odczytywania pliku ELF"
-#: src/findtextrel.c:313
+#: src/findtextrel.c:314
#, c-format
msgid "cannot get program header count: %s"
msgstr "nie można uzyskać liczby nagłówków programu: %s"
-#: src/findtextrel.c:324 src/findtextrel.c:341
+#: src/findtextrel.c:325 src/findtextrel.c:342
#, c-format
msgid "cannot get program header index at offset %zd: %s"
msgstr "nie można uzyskać indeksu nagłówka programu pod offsetem %zd: %s"
-#: src/findtextrel.c:405
+#: src/findtextrel.c:406
#, c-format
msgid "cannot get symbol table section %zu in '%s': %s"
msgstr "nie można uzyskać sekcji tabeli symboli %zu w „%sâ€: %s"
-#: src/findtextrel.c:425 src/findtextrel.c:448
+#: src/findtextrel.c:427 src/findtextrel.c:450
#, c-format
msgid "cannot get relocation at index %d in section %zu in '%s': %s"
msgstr "nie można uzyskać relokacji pod indeksem %d w sekcji %zu w „%sâ€: %s"
-#: src/findtextrel.c:514
+#: src/findtextrel.c:516
#, c-format
msgid "%s not compiled with -fpic/-fPIC\n"
msgstr "%s nie został skompilowany z -fpic/-fPIC\n"
-#: src/findtextrel.c:567
+#: src/findtextrel.c:570
#, c-format
msgid ""
"the file containing the function '%s' is not compiled with -fpic/-fPIC\n"
msgstr "plik zawierający funkcję „%s†nie został skompilowany z -fpic/-fPIC\n"
-#: src/findtextrel.c:574 src/findtextrel.c:594
+#: src/findtextrel.c:577 src/findtextrel.c:597
#, c-format
msgid ""
"the file containing the function '%s' might not be compiled with -fpic/-"
@@ -3529,7 +3532,7 @@ msgid ""
msgstr ""
"plik zawierający funkcję „%s†mógł nie zostać skompilowany z -fpic/-fPIC\n"
-#: src/findtextrel.c:582
+#: src/findtextrel.c:585
#, c-format
msgid ""
"either the file containing the function '%s' or the file containing the "
@@ -3538,7 +3541,7 @@ msgstr ""
"plik zawierający funkcję „%s†lub plik zawierający funkcję „%s†nie został "
"skompilowany z -fpic/-fPIC\n"
-#: src/findtextrel.c:602
+#: src/findtextrel.c:605
#, c-format
msgid ""
"a relocation modifies memory at offset %llu in a write-protected segment\n"
@@ -3546,7 +3549,7 @@ msgstr ""
"relokacja modyfikuje pamięć pod offsetem %llu w segmencie zabezpieczonym "
"przed zapisem\n"
-#: src/nm.c:66 src/strip.c:69
+#: src/nm.c:66 src/strip.c:70
msgid "Output selection:"
msgstr "Wybór wyjścia:"
@@ -3610,7 +3613,7 @@ msgstr "Oznacza specjalne symbole"
msgid "Print size of defined symbols"
msgstr "Wyświetla rozmiar określonych symboli"
-#: src/nm.c:91 src/size.c:68 src/strip.c:74 src/unstrip.c:73
+#: src/nm.c:91 src/size.c:68 src/strip.c:75 src/unstrip.c:73
msgid "Output options:"
msgstr "Opcje wyjścia:"
@@ -3639,18 +3642,18 @@ msgstr "Wyświetla listę symboli z PLIKU (domyślnie a.out)."
msgid "Output formatting"
msgstr "Formatowanie wyjścia"
-#: src/nm.c:140 src/objdump.c:103 src/size.c:105 src/strip.c:130
+#: src/nm.c:140 src/objdump.c:103 src/size.c:105 src/strip.c:133
#, c-format
msgid "%s: INTERNAL ERROR %d (%s): %s"
msgstr "%s: BÅÄ„D WEWNĘTRZNY %d (%s): %s"
#: src/nm.c:381 src/nm.c:393 src/size.c:288 src/size.c:297 src/size.c:308
-#: src/strip.c:2505
+#: src/strip.c:2747
#, c-format
msgid "while closing '%s'"
msgstr "podczas zamykania „%sâ€"
-#: src/nm.c:403 src/objdump.c:280 src/strip.c:442
+#: src/nm.c:403 src/objdump.c:280 src/strip.c:797
#, c-format
msgid "%s: File format not recognized"
msgstr "%s: nie rozpoznano formatu pliku"
@@ -3690,12 +3693,12 @@ msgid "cannot create search tree"
msgstr "nie można utworzyć drzewa wyszukiwania"
#: src/nm.c:746 src/nm.c:1207 src/objdump.c:777 src/readelf.c:605
-#: src/readelf.c:1410 src/readelf.c:1558 src/readelf.c:1759 src/readelf.c:1965
-#: src/readelf.c:2155 src/readelf.c:2333 src/readelf.c:2409 src/readelf.c:2667
-#: src/readelf.c:2743 src/readelf.c:2830 src/readelf.c:3428 src/readelf.c:3478
-#: src/readelf.c:3541 src/readelf.c:11044 src/readelf.c:12216
-#: src/readelf.c:12419 src/readelf.c:12487 src/size.c:396 src/size.c:465
-#: src/strip.c:571
+#: src/readelf.c:1412 src/readelf.c:1563 src/readelf.c:1764 src/readelf.c:1970
+#: src/readelf.c:2160 src/readelf.c:2338 src/readelf.c:2414 src/readelf.c:2672
+#: src/readelf.c:2748 src/readelf.c:2835 src/readelf.c:3433 src/readelf.c:3483
+#: src/readelf.c:3546 src/readelf.c:11091 src/readelf.c:12276
+#: src/readelf.c:12480 src/readelf.c:12548 src/size.c:398 src/size.c:467
+#: src/strip.c:1038
#, c-format
msgid "cannot get section header string table index"
msgstr "nie można uzyskać indeksu tabeli ciągów nagłówków sekcji"
@@ -3788,11 +3791,11 @@ msgstr "Nie podano działania.\n"
msgid "while close `%s'"
msgstr "podczas zamykania „%sâ€"
-#: src/objdump.c:363 src/readelf.c:2060 src/readelf.c:2252
+#: src/objdump.c:363 src/readelf.c:2065 src/readelf.c:2257
msgid "INVALID SYMBOL"
msgstr "NIEPRAWIDÅOWY SYMBOL"
-#: src/objdump.c:378 src/readelf.c:2094 src/readelf.c:2288
+#: src/objdump.c:378 src/readelf.c:2099 src/readelf.c:2293
msgid "INVALID SECTION"
msgstr "NIEPRAWIDÅOWA SEKCJA"
@@ -3999,21 +4002,21 @@ msgstr "Nieznana sekcja debugowania DWARF „%sâ€.\n"
msgid "cannot generate Elf descriptor: %s"
msgstr "nie można utworzyć deskryptora ELF: %s"
-#: src/readelf.c:596 src/readelf.c:924 src/strip.c:640
+#: src/readelf.c:596 src/readelf.c:923 src/strip.c:1133
#, c-format
msgid "cannot determine number of sections: %s"
msgstr "nie można określić liczby sekcji: %s"
-#: src/readelf.c:614 src/readelf.c:1226 src/readelf.c:1434
+#: src/readelf.c:614 src/readelf.c:1228 src/readelf.c:1436
#, c-format
msgid "cannot get section: %s"
msgstr "nie można uzyskać sekcji: %s"
-#: src/readelf.c:623 src/readelf.c:1233 src/readelf.c:1442 src/readelf.c:12439
-#: src/unstrip.c:394 src/unstrip.c:425 src/unstrip.c:474 src/unstrip.c:584
-#: src/unstrip.c:605 src/unstrip.c:642 src/unstrip.c:846 src/unstrip.c:1138
-#: src/unstrip.c:1330 src/unstrip.c:1391 src/unstrip.c:1564 src/unstrip.c:1679
-#: src/unstrip.c:1819 src/unstrip.c:1914
+#: src/readelf.c:623 src/readelf.c:1235 src/readelf.c:1444 src/readelf.c:12500
+#: src/unstrip.c:395 src/unstrip.c:426 src/unstrip.c:481 src/unstrip.c:600
+#: src/unstrip.c:621 src/unstrip.c:660 src/unstrip.c:871 src/unstrip.c:1202
+#: src/unstrip.c:1394 src/unstrip.c:1458 src/unstrip.c:1632 src/unstrip.c:1766
+#: src/unstrip.c:1909 src/unstrip.c:2004
#, c-format
msgid "cannot get section header: %s"
msgstr "nie można uzyskać nagłówka sekcji: %s"
@@ -4023,8 +4026,8 @@ msgstr "nie można uzyskać nagłówka sekcji: %s"
msgid "cannot get section name"
msgstr "nie można uzyskać nazwy sekcji"
-#: src/readelf.c:640 src/readelf.c:6533 src/readelf.c:10317 src/readelf.c:10419
-#: src/readelf.c:10596
+#: src/readelf.c:640 src/readelf.c:6539 src/readelf.c:10363 src/readelf.c:10465
+#: src/readelf.c:10643
#, c-format
msgid "cannot get %s content: %s"
msgstr "nie można uzyskać zwartości %s: %s"
@@ -4074,53 +4077,58 @@ msgstr "odczytanie „%s†się nie powiodło: %s"
msgid "No such section '%s' in '%s'"
msgstr "Brak sekcji „%s†w „%sâ€"
-#: src/readelf.c:909
+#: src/readelf.c:908
#, c-format
msgid "cannot read ELF header: %s"
msgstr "nie można odczytać nagłówka ELF: %s"
-#: src/readelf.c:917
+#: src/readelf.c:916
#, c-format
msgid "cannot create EBL handle"
msgstr "nie można utworzyć uchwytu EBL"
-#: src/readelf.c:930
+#: src/readelf.c:929
#, 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:1020
+#: src/readelf.c:961
+#, fuzzy, c-format
+msgid "cannot read ELF: %s"
+msgstr "nie można odczytać %s: %s"
+
+#: src/readelf.c:1022
msgid "NONE (None)"
msgstr "NONE (żaden)"
-#: src/readelf.c:1021
+#: src/readelf.c:1023
msgid "REL (Relocatable file)"
msgstr "REL (plik relokowalny)"
-#: src/readelf.c:1022
+#: src/readelf.c:1024
msgid "EXEC (Executable file)"
msgstr "EXEC (plik wykonywalny)"
-#: src/readelf.c:1023
+#: src/readelf.c:1025
msgid "DYN (Shared object file)"
msgstr "DYN (plik obiektu współdzielonego)"
-#: src/readelf.c:1024
+#: src/readelf.c:1026
msgid "CORE (Core file)"
msgstr "CORE (plik core)"
-#: src/readelf.c:1029
+#: src/readelf.c:1031
#, c-format
msgid "OS Specific: (%x)\n"
msgstr "Zależny od systemu: (%x)\n"
#. && e_type <= ET_HIPROC always true
-#: src/readelf.c:1031
+#: src/readelf.c:1033
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr "Zależny od procesora: (%x)\n"
-#: src/readelf.c:1041
+#: src/readelf.c:1043
msgid ""
"ELF Header:\n"
" Magic: "
@@ -4128,7 +4136,7 @@ msgstr ""
"Nagłówek ELF:\n"
" Magic: "
-#: src/readelf.c:1045
+#: src/readelf.c:1047
#, c-format
msgid ""
"\n"
@@ -4137,118 +4145,118 @@ msgstr ""
"\n"
" Klasa: %s\n"
-#: src/readelf.c:1050
+#: src/readelf.c:1052
#, c-format
msgid " Data: %s\n"
msgstr " Dane: %s\n"
-#: src/readelf.c:1056
+#: src/readelf.c:1058
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr " Wersja Ident: %hhd %s\n"
-#: src/readelf.c:1058 src/readelf.c:1075
+#: src/readelf.c:1060 src/readelf.c:1077
msgid "(current)"
msgstr "(bieżąca)"
-#: src/readelf.c:1062
+#: src/readelf.c:1064
#, c-format
msgid " OS/ABI: %s\n"
msgstr " System operacyjny/ABI: %s\n"
-#: src/readelf.c:1065
+#: src/readelf.c:1067
#, c-format
msgid " ABI Version: %hhd\n"
msgstr " Wersja ABI: %hhd\n"
-#: src/readelf.c:1068
+#: src/readelf.c:1070
msgid " Type: "
msgstr " Typ: "
-#: src/readelf.c:1071
+#: src/readelf.c:1073
#, c-format
msgid " Machine: %s\n"
msgstr " Komputer: %s\n"
-#: src/readelf.c:1073
+#: src/readelf.c:1075
#, c-format
msgid " Version: %d %s\n"
msgstr " Wersja: %d %s\n"
-#: src/readelf.c:1077
+#: src/readelf.c:1079
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr " Adres punktu wejściowego: %#<PRIx64>\n"
-#: src/readelf.c:1080
+#: src/readelf.c:1082
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr " Początek nagłówków programu: %<PRId64> %s\n"
-#: src/readelf.c:1081 src/readelf.c:1084
+#: src/readelf.c:1083 src/readelf.c:1086
msgid "(bytes into file)"
msgstr "(bajtów w pliku)"
-#: src/readelf.c:1083
+#: src/readelf.c:1085
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr " Początek nagłówków sekcji: %<PRId64> %s\n"
-#: src/readelf.c:1086
+#: src/readelf.c:1088
#, c-format
msgid " Flags: %s\n"
msgstr " Flagi: %s\n"
-#: src/readelf.c:1089
+#: src/readelf.c:1091
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr " Rozmiar tego nagłówka: %<PRId16> %s\n"
-#: src/readelf.c:1090 src/readelf.c:1093 src/readelf.c:1110
+#: src/readelf.c:1092 src/readelf.c:1095 src/readelf.c:1112
msgid "(bytes)"
msgstr "(bajtów)"
-#: src/readelf.c:1092
+#: src/readelf.c:1094
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr " Rozmiar wpisów nagłówka programu: %<PRId16> %s\n"
-#: src/readelf.c:1095
+#: src/readelf.c:1097
#, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr " Liczba wpisów nagłówków programu: %<PRId16>"
-#: src/readelf.c:1102
+#: src/readelf.c:1104
#, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr " (%<PRIu32> w [0].sh_info)"
-#: src/readelf.c:1105 src/readelf.c:1122 src/readelf.c:1136
+#: src/readelf.c:1107 src/readelf.c:1124 src/readelf.c:1138
msgid " ([0] not available)"
msgstr " ([0] niedostępny)"
-#: src/readelf.c:1109
+#: src/readelf.c:1111
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr " Rozmiar wpisów nagłówka sekcji: %<PRId16> %s\n"
-#: src/readelf.c:1112
+#: src/readelf.c:1114
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr " Liczba wpisów nagłówków sekcji: %<PRId16>"
-#: src/readelf.c:1119
+#: src/readelf.c:1121
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr " (%<PRIu32> w [0].sh_size)"
#. We managed to get the zeroth section.
-#: src/readelf.c:1132
+#: src/readelf.c:1134
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr " (%<PRIu32> w [0].sh_link)"
-#: src/readelf.c:1140
+#: src/readelf.c:1142
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
@@ -4257,7 +4265,7 @@ msgstr ""
" Indeks tabeli ciągów nagłówków sekcji: XINDEX%s\n"
"\n"
-#: src/readelf.c:1144
+#: src/readelf.c:1146
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
@@ -4266,12 +4274,12 @@ msgstr ""
" Indeks tabeli ciągów nagłówków sekcji: %<PRId16>\n"
"\n"
-#: src/readelf.c:1191 src/readelf.c:1399
+#: src/readelf.c:1193 src/readelf.c:1401
#, fuzzy, c-format
msgid "cannot get number of sections: %s"
msgstr "nie można określić liczby sekcji: %s"
-#: src/readelf.c:1194
+#: src/readelf.c:1196
#, fuzzy, c-format
msgid ""
"There are %zd section headers, starting at offset %#<PRIx64>:\n"
@@ -4280,16 +4288,16 @@ msgstr ""
"Jest %d nagłówków sekcji, rozpoczynających się od offsetu %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:1203
+#: src/readelf.c:1205
#, fuzzy, 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"
-#: src/readelf.c:1206
+#: src/readelf.c:1208
msgid "Section Headers:"
msgstr "Nagłówki sekcji:"
-#: src/readelf.c:1209
+#: src/readelf.c:1211
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
@@ -4297,7 +4305,7 @@ msgstr ""
"[Nr] Nazwa Typ Adres Offset Rozm. ES Flagi Lk "
"Inf Al"
-#: src/readelf.c:1211
+#: src/readelf.c:1213
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
@@ -4305,36 +4313,36 @@ msgstr ""
"[Nr] Nazwa Typ Adres Offset Rozmiar ES "
"Flagi Lk Inf Al"
-#: src/readelf.c:1216
+#: src/readelf.c:1218
msgid " [Compression Size Al]"
msgstr " [Kompresja Rozmiar Al]"
-#: src/readelf.c:1218
+#: src/readelf.c:1220
msgid " [Compression Size Al]"
msgstr " [Kompresja Rozmiar Al]"
-#: src/readelf.c:1294
+#: src/readelf.c:1296
#, c-format
msgid "bad compression header for section %zd: %s"
msgstr "błędny nagłówek kompresji dla sekcji %zd: %s"
-#: src/readelf.c:1305
+#: src/readelf.c:1307
#, c-format
msgid "bad gnu compressed size for section %zd: %s"
msgstr "błędny rozmiar kompresji gnu dla sekcji %zd: %s"
-#: src/readelf.c:1323
+#: src/readelf.c:1325
msgid "Program Headers:"
msgstr "Nagłówki programu:"
-#: src/readelf.c:1325
+#: src/readelf.c:1327
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
" Typ Offset AdresWirt AdresFiz RozmPlik RozmPam Flg "
"Wyrównanie"
-#: src/readelf.c:1328
+#: src/readelf.c:1330
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
@@ -4342,12 +4350,12 @@ msgstr ""
" Typ Offset AdresWirtualny AdresFizyczny RozmPlik "
"RozmPam Flg Wyrównanie"
-#: src/readelf.c:1385
+#: src/readelf.c:1387
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr "\t[Wywołanie interpretera programu: %s]\n"
-#: src/readelf.c:1412
+#: src/readelf.c:1414
msgid ""
"\n"
" Section to Segment mapping:\n"
@@ -4357,12 +4365,12 @@ msgstr ""
" Mapowanie sekcji do segmentów:\n"
" Segment sekcji…"
-#: src/readelf.c:1423 src/unstrip.c:1973 src/unstrip.c:2015 src/unstrip.c:2022
+#: src/readelf.c:1425 src/unstrip.c:2063 src/unstrip.c:2105 src/unstrip.c:2112
#, c-format
msgid "cannot get program header: %s"
msgstr "nie można uzyskać nagłówka programu: %s"
-#: src/readelf.c:1566
+#: src/readelf.c:1571
#, c-format
msgid ""
"\n"
@@ -4380,7 +4388,7 @@ msgstr[2] ""
"\n"
"Grupa sekcji COMDAT [%2zu] „%s†z podpisem „%s†zawiera %zu wpisów:\n"
-#: src/readelf.c:1571
+#: src/readelf.c:1576
#, c-format
msgid ""
"\n"
@@ -4398,31 +4406,31 @@ msgstr[2] ""
"\n"
"Grupa sekcji [%2zu] „%s†z podpisem „%s†zawiera %zu wpisów:\n"
-#: src/readelf.c:1579
+#: src/readelf.c:1584
msgid "<INVALID SYMBOL>"
msgstr "<NIEPRAWIDÅOWY SYMBOL>"
-#: src/readelf.c:1593
+#: src/readelf.c:1598
msgid "<INVALID SECTION>"
msgstr "<NIEPRAWIDÅOWY SEKCJA>"
-#: src/readelf.c:1616 src/readelf.c:2343 src/readelf.c:3444 src/readelf.c:12310
-#: src/readelf.c:12317 src/readelf.c:12361 src/readelf.c:12368
+#: src/readelf.c:1621 src/readelf.c:2348 src/readelf.c:3449 src/readelf.c:12371
+#: src/readelf.c:12378 src/readelf.c:12422 src/readelf.c:12429
msgid "Couldn't uncompress section"
msgstr "Nie można dekompresować sekcji"
-#: src/readelf.c:1621 src/readelf.c:2348 src/readelf.c:3449
+#: src/readelf.c:1626 src/readelf.c:2353 src/readelf.c:3454
#, c-format
msgid "cannot get section [%zd] header: %s"
msgstr "nie można uzyskać nagłówka sekcji [%zd]: %s"
-#: src/readelf.c:1765 src/readelf.c:2415 src/readelf.c:2673 src/readelf.c:2749
-#: src/readelf.c:3053 src/readelf.c:3127 src/readelf.c:5322
+#: src/readelf.c:1770 src/readelf.c:2420 src/readelf.c:2678 src/readelf.c:2754
+#: src/readelf.c:3058 src/readelf.c:3132 src/readelf.c:5327
#, c-format
msgid "invalid sh_link value in section %zu"
msgstr "nieprawidłowa wartość sh_link w sekcji %zu"
-#: src/readelf.c:1768
+#: src/readelf.c:1773
#, c-format
msgid ""
"\n"
@@ -4448,36 +4456,36 @@ msgstr[2] ""
" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
"'%s'\n"
-#: src/readelf.c:1778
+#: src/readelf.c:1783
msgid " Type Value\n"
msgstr " Typ Wartość\n"
-#: src/readelf.c:1802
+#: src/readelf.c:1807
#, c-format
msgid "Shared library: [%s]\n"
msgstr "Biblioteka współdzielona: [%s]\n"
-#: src/readelf.c:1807
+#: src/readelf.c:1812
#, c-format
msgid "Library soname: [%s]\n"
msgstr "soname biblioteki: [%s]\n"
-#: src/readelf.c:1812
+#: src/readelf.c:1817
#, c-format
msgid "Library rpath: [%s]\n"
msgstr "rpath biblioteki: [%s]\n"
-#: src/readelf.c:1817
+#: src/readelf.c:1822
#, c-format
msgid "Library runpath: [%s]\n"
msgstr "runpath biblioteki: [%s]\n"
-#: src/readelf.c:1837
+#: src/readelf.c:1842
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr "%<PRId64> (bajtów)\n"
-#: src/readelf.c:1950 src/readelf.c:2140
+#: src/readelf.c:1955 src/readelf.c:2145
#, c-format
msgid ""
"\n"
@@ -4486,7 +4494,7 @@ msgstr ""
"\n"
"Nieprawidłowa tabela symboli pod offsetem %#0<PRIx64>\n"
-#: src/readelf.c:1968 src/readelf.c:2158
+#: src/readelf.c:1973 src/readelf.c:2163
#, c-format
msgid ""
"\n"
@@ -4515,7 +4523,7 @@ 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:1983 src/readelf.c:2173
+#: src/readelf.c:1988 src/readelf.c:2178
#, c-format
msgid ""
"\n"
@@ -4533,30 +4541,30 @@ msgstr[2] ""
"\n"
"Sekcja relokacji [%2u] „%s†pod offsetem %#0<PRIx64> zawiera %d wpisów:\n"
-#: src/readelf.c:1993
+#: src/readelf.c:1998
msgid " Offset Type Value Name\n"
msgstr " Offset Typ Wartość Nazwa\n"
-#: src/readelf.c:1995
+#: src/readelf.c:2000
msgid " Offset Type Value Name\n"
msgstr " Offset Typ Wartość Nazwa\n"
-#: src/readelf.c:2048 src/readelf.c:2059 src/readelf.c:2072 src/readelf.c:2093
-#: src/readelf.c:2105 src/readelf.c:2239 src/readelf.c:2251 src/readelf.c:2265
-#: src/readelf.c:2287 src/readelf.c:2300
+#: src/readelf.c:2053 src/readelf.c:2064 src/readelf.c:2077 src/readelf.c:2098
+#: src/readelf.c:2110 src/readelf.c:2244 src/readelf.c:2256 src/readelf.c:2270
+#: src/readelf.c:2292 src/readelf.c:2305
msgid "<INVALID RELOC>"
msgstr "<NIEPRAWIDÅOWA RELOKACJA>"
-#: src/readelf.c:2183
+#: src/readelf.c:2188
msgid " Offset Type Value Addend Name\n"
msgstr " Offset Typ Wartość Koniec Nazwa\n"
-#: src/readelf.c:2185
+#: src/readelf.c:2190
msgid " Offset Type Value Addend Name\n"
msgstr ""
" Offset Typ Wartość Koniec Nazwa\n"
-#: src/readelf.c:2423
+#: src/readelf.c:2428
#, c-format
msgid ""
"\n"
@@ -4574,7 +4582,7 @@ msgstr[2] ""
"\n"
"Tabela symboli [%2u] „%s†zawiera %u wpisów:\n"
-#: src/readelf.c:2428
+#: src/readelf.c:2433
#, c-format
msgid " %lu local symbol String table: [%2u] '%s'\n"
msgid_plural " %lu local symbols String table: [%2u] '%s'\n"
@@ -4582,33 +4590,33 @@ 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:2436
+#: src/readelf.c:2441
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " Numer: Wartość Rozm Typ Bind Widoczność Ndx Nazwa\n"
-#: src/readelf.c:2438
+#: src/readelf.c:2443
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " Numer: Wartość Rozm Typ Bind Widoczność Ndx Nazwa\n"
-#: src/readelf.c:2458
+#: src/readelf.c:2463
#, 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:2546
+#: src/readelf.c:2551
#, c-format
msgid "bad dynamic symbol"
msgstr "błędny symbol dynamiczny"
-#: src/readelf.c:2628
+#: src/readelf.c:2633
msgid "none"
msgstr "brak"
-#: src/readelf.c:2645
+#: src/readelf.c:2650
msgid "| <unknown>"
msgstr "| <nieznany>"
-#: src/readelf.c:2676
+#: src/readelf.c:2681
#, c-format
msgid ""
"\n"
@@ -4634,17 +4642,17 @@ msgstr[2] ""
" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
"„%sâ€\n"
-#: src/readelf.c:2697
+#: src/readelf.c:2702
#, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: Wersja: %hu Plik: %s Licznik: %hu\n"
-#: src/readelf.c:2710
+#: src/readelf.c:2715
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: Nazwa: %s Flagi: %s Wersja: %hu\n"
-#: src/readelf.c:2753
+#: src/readelf.c:2758
#, c-format
msgid ""
"\n"
@@ -4670,19 +4678,19 @@ msgstr[2] ""
" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
"„%sâ€\n"
-#: src/readelf.c:2781
+#: src/readelf.c:2786
#, 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:2796
+#: src/readelf.c:2801
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr " %#06x: Rodzic %d: %s\n"
#. Print the header.
-#: src/readelf.c:3057
+#: src/readelf.c:3062
#, c-format
msgid ""
"\n"
@@ -4705,15 +4713,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:3085
+#: src/readelf.c:3090
msgid " 0 *local* "
msgstr " 0 *lokalny* "
-#: src/readelf.c:3090
+#: src/readelf.c:3095
msgid " 1 *global* "
msgstr " 1 *globalny* "
-#: src/readelf.c:3132
+#: src/readelf.c:3137
#, c-format
msgid ""
"\n"
@@ -4744,22 +4752,22 @@ msgstr[2] ""
" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
"„%sâ€\n"
-#: src/readelf.c:3154
+#: src/readelf.c:3159
#, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr " Długość Liczba % całości Pokrycie\n"
-#: src/readelf.c:3156
+#: src/readelf.c:3161
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:3163
+#: src/readelf.c:3168
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:3176
+#: src/readelf.c:3181
#, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
@@ -4768,37 +4776,37 @@ msgstr ""
" Średnia liczba testów: udane wyszukania: %f\n"
"\t\t\t nieudane wyszukania: %f\n"
-#: src/readelf.c:3194 src/readelf.c:3258 src/readelf.c:3324
+#: src/readelf.c:3199 src/readelf.c:3263 src/readelf.c:3329
#, c-format
msgid "cannot get data for section %d: %s"
msgstr "nie można uzyskać danych dla sekcji %d: %s"
-#: src/readelf.c:3202
+#: src/readelf.c:3207
#, c-format
msgid "invalid data in sysv.hash section %d"
msgstr "nieprawidłowe dane w sekcji sysv.hash %d"
-#: src/readelf.c:3231
+#: src/readelf.c:3236
#, fuzzy, c-format
msgid "invalid chain in sysv.hash section %d"
msgstr "nieprawidłowe dane w sekcji sysv.hash %d"
-#: src/readelf.c:3266
+#: src/readelf.c:3271
#, c-format
msgid "invalid data in sysv.hash64 section %d"
msgstr "nieprawidłowe dane w sekcji sysv.hash64 %d"
-#: src/readelf.c:3297
+#: src/readelf.c:3302
#, fuzzy, c-format
msgid "invalid chain in sysv.hash64 section %d"
msgstr "nieprawidłowe dane w sekcji sysv.hash64 %d"
-#: src/readelf.c:3333
+#: src/readelf.c:3338
#, c-format
msgid "invalid data in gnu.hash section %d"
msgstr "nieprawidłowe dane w sekcji gnu.hash %d"
-#: src/readelf.c:3400
+#: src/readelf.c:3405
#, c-format
msgid ""
" Symbol Bias: %u\n"
@@ -4808,7 +4816,7 @@ msgstr ""
" Rozmiar maski bitowej: %zu bajtów %<PRIuFAST32>%% bitów ustawionych "
"drugie przesunięcie skrótu: %u\n"
-#: src/readelf.c:3489
+#: src/readelf.c:3494
#, c-format
msgid ""
"\n"
@@ -4829,7 +4837,7 @@ msgstr[2] ""
"Sekcja listy bibliotek [%2zu] „%s†pod offsetem %#0<PRIx64> zawiera %d "
"wpisów:\n"
-#: src/readelf.c:3503
+#: src/readelf.c:3508
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
@@ -4837,7 +4845,7 @@ msgstr ""
" Biblioteka Oznaczenie czasu Suma k. Wersja "
"Flagi"
-#: src/readelf.c:3553
+#: src/readelf.c:3558
#, c-format
msgid ""
"\n"
@@ -4848,102 +4856,102 @@ msgstr ""
"Sekcja atrybutów obiektu [%2zu] „%s†%<PRIu64> bajtów pod offsetem "
"%#0<PRIx64>:\n"
-#: src/readelf.c:3570
+#: src/readelf.c:3575
msgid " Owner Size\n"
msgstr " Właściciel Rozmiar\n"
-#: src/readelf.c:3599
+#: src/readelf.c:3604
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
#. Unknown subsection, print and skip.
-#: src/readelf.c:3638
+#: src/readelf.c:3643
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
#. Tag_File
-#: src/readelf.c:3643
+#: src/readelf.c:3648
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " Plik: %11<PRIu32>\n"
-#: src/readelf.c:3692
+#: src/readelf.c:3697
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>, %s\n"
-#: src/readelf.c:3695
+#: src/readelf.c:3700
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3698
+#: src/readelf.c:3703
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3708
+#: src/readelf.c:3713
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3711
+#: src/readelf.c:3716
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3781
+#: src/readelf.c:3786
#, fuzzy, c-format
msgid "sprintf failure"
msgstr "mprotect się nie powiodło"
-#: src/readelf.c:4263
+#: src/readelf.c:4268
msgid "empty block"
msgstr "pusty blok"
-#: src/readelf.c:4266
+#: src/readelf.c:4271
#, c-format
msgid "%zu byte block:"
msgstr "%zu bajtowy blok:"
-#: src/readelf.c:4744
+#: src/readelf.c:4749
#, fuzzy, c-format
msgid "%*s[%2<PRIuMAX>] %s <TRUNCATED>\n"
msgstr "%*s[%4<PRIuMAX>] %s <SKRÓCONE>\n"
-#: src/readelf.c:4808
+#: src/readelf.c:4813
#, 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:4815
+#: src/readelf.c:4820
#, 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:4822
+#: src/readelf.c:4827
#, 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:4829
+#: src/readelf.c:4834
#, fuzzy, c-format
msgid "%s %#<PRIx64> used with different attribute %s and %s"
msgstr "%s %#<PRIx64> zostało użyte z różnymi rozmiarami adresu"
-#: src/readelf.c:4926
+#: src/readelf.c:4931
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr " [%6tx] <NIEUŻYWANE ŚMIECIE W RESZCIE SEKCJI>\n"
-#: src/readelf.c:4934
+#: src/readelf.c:4939
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr " [%6tx] <NIEUŻYWANE ŚMIECIE>… %<PRIu64> bajtów…\n"
-#: src/readelf.c:5012
+#: src/readelf.c:5017
#, c-format
msgid ""
"\n"
@@ -4954,7 +4962,7 @@ msgstr ""
"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64>:\n"
" [ Kod]\n"
-#: src/readelf.c:5020
+#: src/readelf.c:5025
#, c-format
msgid ""
"\n"
@@ -4963,20 +4971,20 @@ msgstr ""
"\n"
"Sekcja skrótów pod offsetem %<PRIu64>:\n"
-#: src/readelf.c:5033
+#: src/readelf.c:5038
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr " *** błąd podczas odczytywania skrótu: %s\n"
-#: src/readelf.c:5049
+#: src/readelf.c:5054
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr " [%5u] offset: %<PRId64>, potomek: %s, znacznik: %s\n"
-#: src/readelf.c:5082 src/readelf.c:5391 src/readelf.c:5557 src/readelf.c:5942
-#: src/readelf.c:6543 src/readelf.c:8184 src/readelf.c:8854 src/readelf.c:9290
-#: src/readelf.c:9534 src/readelf.c:9699 src/readelf.c:10060
-#: src/readelf.c:10118
+#: src/readelf.c:5087 src/readelf.c:5396 src/readelf.c:5563 src/readelf.c:5948
+#: src/readelf.c:6549 src/readelf.c:8199 src/readelf.c:8870 src/readelf.c:9306
+#: src/readelf.c:9551 src/readelf.c:9717 src/readelf.c:10104
+#: src/readelf.c:10164
#, c-format
msgid ""
"\n"
@@ -4985,56 +4993,56 @@ msgstr ""
"\n"
"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64>:\n"
-#: src/readelf.c:5095
+#: src/readelf.c:5100
#, fuzzy, c-format
msgid "cannot get .debug_addr section data: %s"
msgstr "nie można uzyskać danych sekcji: %s"
-#: src/readelf.c:5195 src/readelf.c:5219 src/readelf.c:5602 src/readelf.c:8899
+#: src/readelf.c:5200 src/readelf.c:5224 src/readelf.c:5608 src/readelf.c:8915
#, fuzzy, c-format
msgid " Length: %8<PRIu64>\n"
msgstr ""
"\n"
" Długość: %6<PRIu64>\n"
-#: src/readelf.c:5197 src/readelf.c:5234 src/readelf.c:5615 src/readelf.c:8912
+#: src/readelf.c:5202 src/readelf.c:5239 src/readelf.c:5621 src/readelf.c:8928
#, fuzzy, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " Wersja DWARF: %6<PRIuFAST16>\n"
-#: src/readelf.c:5198 src/readelf.c:5243 src/readelf.c:5624 src/readelf.c:8921
+#: src/readelf.c:5203 src/readelf.c:5248 src/readelf.c:5630 src/readelf.c:8937
#, fuzzy, c-format
msgid " Address size: %8<PRIu64>\n"
msgstr " Offset adresu: %6<PRIu64>\n"
-#: src/readelf.c:5200 src/readelf.c:5253 src/readelf.c:5634 src/readelf.c:8931
+#: src/readelf.c:5205 src/readelf.c:5258 src/readelf.c:5640 src/readelf.c:8947
#, fuzzy, c-format
msgid " Segment size: %8<PRIu64>\n"
msgstr ""
" Rozmiar segmentu: %6<PRIu64>\n"
"\n"
-#: src/readelf.c:5238 src/readelf.c:5619 src/readelf.c:8916 src/readelf.c:10250
+#: src/readelf.c:5243 src/readelf.c:5625 src/readelf.c:8932 src/readelf.c:10296
#, fuzzy, c-format
msgid "Unknown version"
msgstr "nieznana wersja"
-#: src/readelf.c:5248 src/readelf.c:5461 src/readelf.c:5629 src/readelf.c:8926
+#: src/readelf.c:5253 src/readelf.c:5466 src/readelf.c:5635 src/readelf.c:8942
#, c-format
msgid "unsupported address size"
msgstr "nieobsługiwany rozmiar adresu"
-#: src/readelf.c:5259 src/readelf.c:5472 src/readelf.c:5639 src/readelf.c:8936
+#: src/readelf.c:5264 src/readelf.c:5477 src/readelf.c:5645 src/readelf.c:8952
#, c-format
msgid "unsupported segment size"
msgstr "nieobsługiwany rozmiar segmentu"
-#: src/readelf.c:5312 src/readelf.c:5386
+#: src/readelf.c:5317 src/readelf.c:5391
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr "nie można uzyskać zawartości .debug_aranges: %s"
-#: src/readelf.c:5327
+#: src/readelf.c:5332
#, c-format
msgid ""
"\n"
@@ -5052,12 +5060,12 @@ msgstr[2] ""
"\n"
"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64> zawiera %zu wpisów:\n"
-#: src/readelf.c:5358
+#: src/readelf.c:5363
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:5360
+#: src/readelf.c:5365
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
@@ -5065,7 +5073,7 @@ msgstr ""
" [%*zu] początek: %0#*<PRIx64>, długość: %5<PRIu64>, offset CU DIE: "
"%6<PRId64>\n"
-#: src/readelf.c:5404 src/readelf.c:8211
+#: src/readelf.c:5409 src/readelf.c:8226
#, c-format
msgid ""
"\n"
@@ -5074,13 +5082,13 @@ msgstr ""
"\n"
"Tabela pod offsetem %zu:\n"
-#: src/readelf.c:5408 src/readelf.c:5583 src/readelf.c:6567 src/readelf.c:8222
-#: src/readelf.c:8880
+#: src/readelf.c:5413 src/readelf.c:5589 src/readelf.c:6573 src/readelf.c:8237
+#: src/readelf.c:8896
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr "nieprawidÅ‚owe dane w sekcji [%zu] „%sâ€"
-#: src/readelf.c:5424
+#: src/readelf.c:5429
#, c-format
msgid ""
"\n"
@@ -5089,27 +5097,27 @@ msgstr ""
"\n"
" Długość: %6<PRIu64>\n"
-#: src/readelf.c:5436
+#: src/readelf.c:5441
#, c-format
msgid " DWARF version: %6<PRIuFAST16>\n"
msgstr " Wersja DWARF: %6<PRIuFAST16>\n"
-#: src/readelf.c:5440
+#: src/readelf.c:5445
#, c-format
msgid "unsupported aranges version"
msgstr "nieobsługiwana wersja aranges"
-#: src/readelf.c:5451
+#: src/readelf.c:5456
#, c-format
msgid " CU offset: %6<PRIx64>\n"
msgstr " Offset CU: %6<PRIx64>\n"
-#: src/readelf.c:5457
+#: src/readelf.c:5462
#, c-format
msgid " Address size: %6<PRIu64>\n"
msgstr " Offset adresu: %6<PRIu64>\n"
-#: src/readelf.c:5468
+#: src/readelf.c:5473
#, c-format
msgid ""
" Segment size: %6<PRIu64>\n"
@@ -5118,111 +5126,111 @@ msgstr ""
" Rozmiar segmentu: %6<PRIu64>\n"
"\n"
-#: src/readelf.c:5523
+#: src/readelf.c:5528
#, c-format
msgid " %zu padding bytes\n"
msgstr " bajty wypełnienia: %zu\n"
-#: src/readelf.c:5566
+#: src/readelf.c:5572
#, fuzzy, c-format
msgid "cannot get .debug_rnglists content: %s"
msgstr "nie można uzyskać zawartości .debug_ranges: %s"
-#: src/readelf.c:5589 src/readelf.c:8886
+#: src/readelf.c:5595 src/readelf.c:8902
#, fuzzy, c-format
msgid ""
"Table at Offset 0x%<PRIx64>:\n"
"\n"
msgstr " Offset .debug_line: 0x%<PRIx64>\n"
-#: src/readelf.c:5644 src/readelf.c:8941
+#: src/readelf.c:5650 src/readelf.c:8957
#, fuzzy, c-format
msgid " Offset entries: %8<PRIu64>\n"
msgstr " Długość offsetu: %<PRIu8>\n"
-#: src/readelf.c:5660 src/readelf.c:8957
+#: src/readelf.c:5666 src/readelf.c:8973
#, c-format
msgid " Unknown CU base: "
msgstr ""
-#: src/readelf.c:5662 src/readelf.c:8959
+#: src/readelf.c:5668 src/readelf.c:8975
#, c-format
msgid " CU [%6<PRIx64>] base: "
msgstr ""
-#: src/readelf.c:5668 src/readelf.c:8965
+#: src/readelf.c:5674 src/readelf.c:8981
#, c-format
msgid " Not associated with a CU.\n"
msgstr ""
-#: src/readelf.c:5679 src/readelf.c:8976
+#: src/readelf.c:5685 src/readelf.c:8992
#, c-format
msgid "too many offset entries for unit length"
msgstr ""
-#: src/readelf.c:5683 src/readelf.c:8980
+#: src/readelf.c:5689 src/readelf.c:8996
#, fuzzy, c-format
msgid " Offsets starting at 0x%<PRIx64>:\n"
msgstr " Offset: 0x%<PRIx64>\n"
-#: src/readelf.c:5735
+#: src/readelf.c:5741
#, fuzzy, c-format
msgid "invalid range list data"
msgstr "nieprawidłowe dane"
-#: src/readelf.c:5920 src/readelf.c:9268
+#: src/readelf.c:5926 src/readelf.c:9284
#, fuzzy, c-format
msgid ""
" %zu padding bytes\n"
"\n"
msgstr " bajty wypełnienia: %zu\n"
-#: src/readelf.c:5937
+#: src/readelf.c:5943
#, c-format
msgid "cannot get .debug_ranges content: %s"
msgstr "nie można uzyskać zawartości .debug_ranges: %s"
-#: src/readelf.c:5973 src/readelf.c:9323
+#: src/readelf.c:5979 src/readelf.c:9339
#, c-format
msgid ""
"\n"
" Unknown CU base: "
msgstr ""
-#: src/readelf.c:5975 src/readelf.c:9325
+#: src/readelf.c:5981 src/readelf.c:9341
#, c-format
msgid ""
"\n"
" CU [%6<PRIx64>] base: "
msgstr ""
-#: src/readelf.c:5984 src/readelf.c:9351 src/readelf.c:9377
+#: src/readelf.c:5990 src/readelf.c:9367 src/readelf.c:9393
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr " [%6tx] <NIEPRAWIDÅOWE DANE>\n"
-#: src/readelf.c:6005 src/readelf.c:9457
+#: src/readelf.c:6011 src/readelf.c:9473
#, fuzzy, c-format
msgid ""
" [%6tx] base address\n"
" "
msgstr " [%6tx] adres podstawowy %s\n"
-#: src/readelf.c:6013 src/readelf.c:9465
+#: src/readelf.c:6019 src/readelf.c:9481
#, fuzzy, c-format
msgid " [%6tx] empty list\n"
msgstr " [%6tx] pusta lista\n"
-#: src/readelf.c:6268
+#: src/readelf.c:6274
msgid " <INVALID DATA>\n"
msgstr " <NIEPRAWIDÅOWE DANE>\n"
-#: src/readelf.c:6521
+#: src/readelf.c:6527
#, c-format
msgid "cannot get ELF: %s"
msgstr "nie można uzyskać ELF: %s"
-#: src/readelf.c:6539
+#: src/readelf.c:6545
#, c-format
msgid ""
"\n"
@@ -5231,7 +5239,7 @@ msgstr ""
"\n"
"Sekcja informacji o ramce wywołania [%2zu] „%s†pod offsetem %#<PRIx64>:\n"
-#: src/readelf.c:6589
+#: src/readelf.c:6595
#, c-format
msgid ""
"\n"
@@ -5240,65 +5248,65 @@ msgstr ""
"\n"
" [%6tx] Zerowy koniec\n"
-#: src/readelf.c:6682 src/readelf.c:6836
+#: src/readelf.c:6696 src/readelf.c:6850
#, c-format
msgid "invalid augmentation length"
msgstr "nieprawidłowa długość powiększenia"
-#: src/readelf.c:6697
+#: src/readelf.c:6711
msgid "FDE address encoding: "
msgstr "Kodowanie adresu FDE: "
-#: src/readelf.c:6703
+#: src/readelf.c:6717
msgid "LSDA pointer encoding: "
msgstr "Kodowanie wskaźnika LSDA: "
-#: src/readelf.c:6813
+#: src/readelf.c:6827
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr " (offset: %#<PRIx64>)"
-#: src/readelf.c:6820
+#: src/readelf.c:6834
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr " (kończący offset: %#<PRIx64>)"
-#: src/readelf.c:6857
+#: src/readelf.c:6871
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr " %-26sWskaźnik LSDA: %#<PRIx64>\n"
-#: src/readelf.c:6942
+#: src/readelf.c:6956
#, fuzzy, c-format
msgid "DIE [%<PRIx64>] cannot get attribute code: %s"
msgstr "nie można uzyskać kodu atrybutu: %s"
-#: src/readelf.c:6952
+#: src/readelf.c:6966
#, fuzzy, c-format
msgid "DIE [%<PRIx64>] cannot get attribute form: %s"
msgstr "nie można uzyskać formy atrybutu: %s"
-#: src/readelf.c:6974
+#: src/readelf.c:6988
#, fuzzy, c-format
msgid "DIE [%<PRIx64>] cannot get attribute '%s' (%s) value: %s"
msgstr "nie można uzyskać wartości atrybutu: %s"
-#: src/readelf.c:7307
+#: src/readelf.c:7321
#, fuzzy, c-format
msgid "invalid file (%<PRId64>): %s"
msgstr "nieprawidłowy plik"
-#: src/readelf.c:7311
+#: src/readelf.c:7325
#, fuzzy, c-format
msgid "no srcfiles for CU [%<PRIx64>]"
msgstr " ustawienie pliku na %<PRIu64>\n"
-#: src/readelf.c:7315
+#: src/readelf.c:7329
#, fuzzy, c-format
msgid "couldn't get DWARF CU: %s"
msgstr "nie można uzyskać ELF: %s"
-#: src/readelf.c:7538
+#: src/readelf.c:7552
#, c-format
msgid ""
"\n"
@@ -5309,12 +5317,12 @@ msgstr ""
"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64>:\n"
" [Offset]\n"
-#: src/readelf.c:7588
+#: src/readelf.c:7602
#, fuzzy, c-format
msgid "cannot get next unit: %s"
msgstr "nie można uzyskać następnego DIE: %s"
-#: src/readelf.c:7607
+#: src/readelf.c:7621
#, fuzzy, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5327,7 +5335,7 @@ msgstr ""
"%<PRIu8>, rozmiar offsetu: %<PRIu8>\n"
" Podpis typu: %#<PRIx64>, offset typu: %#<PRIx64>\n"
-#: src/readelf.c:7619
+#: src/readelf.c:7633
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5338,38 +5346,38 @@ msgstr ""
" Wersja: %<PRIu16>, offset sekcji skrótów: %<PRIu64>, rozmiar adresu: "
"%<PRIu8>, rozmiar offsetu: %<PRIu8>\n"
-#: src/readelf.c:7629 src/readelf.c:7792
+#: src/readelf.c:7643 src/readelf.c:7806
#, c-format
msgid " Unit type: %s (%<PRIu8>)"
msgstr ""
-#: src/readelf.c:7656
+#: src/readelf.c:7670
#, c-format
msgid "unknown version (%d) or unit type (%d)"
msgstr ""
-#: src/readelf.c:7685
+#: src/readelf.c:7699
#, c-format
msgid "cannot get DIE offset: %s"
msgstr "nie można uzyskać offsetu DIE: %s"
-#: src/readelf.c:7694
+#: src/readelf.c:7708
#, fuzzy, c-format
msgid "cannot get tag of DIE at offset [%<PRIx64>] in section '%s': %s"
msgstr ""
"nie można uzyskać znacznika DIE pod offsetem %<PRIu64> w sekcji „%sâ€: %s"
-#: src/readelf.c:7732
+#: src/readelf.c:7746
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr "nie można uzyskać następnego DIE: %s\n"
-#: src/readelf.c:7740
+#: src/readelf.c:7754
#, c-format
msgid "cannot get next DIE: %s"
msgstr "nie można uzyskać następnego DIE: %s"
-#: src/readelf.c:7784
+#: src/readelf.c:7798
#, fuzzy, c-format
msgid ""
" Split compilation unit at offset %<PRIu64>:\n"
@@ -5380,7 +5388,7 @@ msgstr ""
" Wersja: %<PRIu16>, offset sekcji skrótów: %<PRIu64>, rozmiar adresu: "
"%<PRIu8>, rozmiar offsetu: %<PRIu8>\n"
-#: src/readelf.c:7835
+#: src/readelf.c:7850
#, c-format
msgid ""
"\n"
@@ -5391,18 +5399,18 @@ msgstr ""
"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:8167
+#: src/readelf.c:8182
#, fuzzy, c-format
msgid "unknown form: %s"
msgstr "nieznany błąd"
-#: src/readelf.c:8198
+#: src/readelf.c:8213
#, c-format
msgid "cannot get line data section data: %s"
msgstr "nie można uzyskać danych sekcji danych wiersza: %s"
#. Print what we got so far.
-#: src/readelf.c:8300
+#: src/readelf.c:8315
#, fuzzy, c-format
msgid ""
"\n"
@@ -5433,27 +5441,27 @@ msgstr ""
"\n"
"Instrukcje:\n"
-#: src/readelf.c:8322
+#: src/readelf.c:8337
#, fuzzy, c-format
msgid "cannot handle .debug_line version: %u\n"
msgstr "nie można uzyskać wersji symbolu: %s"
-#: src/readelf.c:8330
+#: src/readelf.c:8345
#, fuzzy, c-format
msgid "cannot handle address size: %u\n"
msgstr "nieobsługiwany rozmiar adresu"
-#: src/readelf.c:8338
+#: src/readelf.c:8353
#, fuzzy, c-format
msgid "cannot handle segment selector size: %u\n"
msgstr "nie można uzyskać sekcji: %s"
-#: src/readelf.c:8348
+#: src/readelf.c:8363
#, 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:8363
+#: src/readelf.c:8378
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
@@ -5461,7 +5469,7 @@ msgstr[0] " [%*<PRIuFAST8>] %hhu parametr\n"
msgstr[1] " [%*<PRIuFAST8>] %hhu parametry\n"
msgstr[2] " [%*<PRIuFAST8>] %hhu parametrów\n"
-#: src/readelf.c:8374
+#: src/readelf.c:8389
msgid ""
"\n"
"Directory table:"
@@ -5469,12 +5477,12 @@ msgstr ""
"\n"
"Tabela katalogu:"
-#: src/readelf.c:8380 src/readelf.c:8455
+#: src/readelf.c:8395 src/readelf.c:8470
#, fuzzy, c-format
msgid " ["
msgstr " PC: "
-#: src/readelf.c:8449
+#: src/readelf.c:8464
#, fuzzy
msgid ""
"\n"
@@ -5483,7 +5491,7 @@ msgstr ""
"\n"
" Tabela strony wywołania:"
-#: src/readelf.c:8510
+#: src/readelf.c:8525
#, fuzzy
msgid " Entry Dir Time Size Name"
msgstr ""
@@ -5491,7 +5499,7 @@ msgstr ""
"Tabela nazw plików:\n"
" Wpis Kat Czas Rozmiar Nazwa"
-#: src/readelf.c:8545
+#: src/readelf.c:8560
msgid ""
"\n"
"Line number statements:"
@@ -5499,119 +5507,119 @@ msgstr ""
"\n"
"Instrukcje numerów wierszy:"
-#: src/readelf.c:8568
+#: src/readelf.c:8583
#, c-format
msgid "invalid maximum operations per instruction is zero"
msgstr "nieprawidłowe maksimum operacji na instrukcję wynosi zero"
-#: src/readelf.c:8602
+#: src/readelf.c:8617
#, fuzzy, c-format
msgid " special opcode %u: address+%u = "
msgstr " instrukcja specjalna %u: adres+%u = %s, wiersz%+d = %zu\n"
-#: src/readelf.c:8606
+#: src/readelf.c:8621
#, fuzzy, c-format
msgid ", op_index = %u, line%+d = %zu\n"
msgstr ""
" instrukcja specjalna %u: adres+%u = %s, op_index = %u, wiersz%+d = %zu\n"
-#: src/readelf.c:8609
+#: src/readelf.c:8624
#, c-format
msgid ", line%+d = %zu\n"
msgstr ""
-#: src/readelf.c:8627
+#: src/readelf.c:8642
#, c-format
msgid " extended opcode %u: "
msgstr " instrukcja rozszerzona %u: "
-#: src/readelf.c:8632
+#: src/readelf.c:8647
msgid " end of sequence"
msgstr " koniec sekwencji"
-#: src/readelf.c:8650
+#: src/readelf.c:8665
#, fuzzy, c-format
msgid " set address to "
msgstr " ustawienie adresu na %s\n"
-#: src/readelf.c:8678
+#: src/readelf.c:8693
#, 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:8691
+#: src/readelf.c:8706
#, c-format
msgid " set discriminator to %u\n"
msgstr " ustawienie dyskryminatora na %u\n"
#. Unknown, ignore it.
-#: src/readelf.c:8696
+#: src/readelf.c:8711
msgid " unknown opcode"
msgstr " nieznana instrukcja"
#. Takes no argument.
-#: src/readelf.c:8708
+#: src/readelf.c:8723
msgid " copy"
msgstr " kopiowanie"
-#: src/readelf.c:8717
+#: src/readelf.c:8732
#, fuzzy, c-format
msgid " advance address by %u to "
msgstr " zwiększenie adresu o %u do %s\n"
-#: src/readelf.c:8721 src/readelf.c:8777
+#: src/readelf.c:8736 src/readelf.c:8792
#, c-format
msgid ", op_index to %u"
msgstr ""
-#: src/readelf.c:8731
+#: src/readelf.c:8746
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr " zwiększenie wiersza o stałą %d do %<PRId64>\n"
-#: src/readelf.c:8739
+#: src/readelf.c:8754
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr " ustawienie pliku na %<PRIu64>\n"
-#: src/readelf.c:8749
+#: src/readelf.c:8764
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr " ustawienie kolumny na %<PRIu64>\n"
-#: src/readelf.c:8756
+#: src/readelf.c:8771
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr " ustawienie „%s†na %<PRIuFAST8>\n"
#. Takes no argument.
-#: src/readelf.c:8762
+#: src/readelf.c:8777
msgid " set basic block flag"
msgstr " ustawienie podstawowej flagi bloku"
-#: src/readelf.c:8773
+#: src/readelf.c:8788
#, fuzzy, c-format
msgid " advance address by constant %u to "
msgstr " zwiększenie adresu o stałą %u do %s\n"
-#: src/readelf.c:8792
+#: src/readelf.c:8807
#, fuzzy, c-format
msgid " advance address by fixed value %u to \n"
msgstr " zwiększenie adresu o stałą wartość %u do %s\n"
#. Takes no argument.
-#: src/readelf.c:8802
+#: src/readelf.c:8817
msgid " set prologue end flag"
msgstr " ustawienie flagi końca prologu"
#. Takes no argument.
-#: src/readelf.c:8807
+#: src/readelf.c:8822
msgid " set epilogue begin flag"
msgstr " ustawienie flagi poczÄ…tku epilogu"
-#: src/readelf.c:8816
+#: src/readelf.c:8831
#, c-format
msgid " set isa to %u\n"
msgstr " ustawienie isa na %u\n"
@@ -5619,7 +5627,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:8825
+#: src/readelf.c:8840
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
@@ -5627,96 +5635,96 @@ msgstr[0] " nieznana instrukcja z %<PRIu8> parametrem:"
msgstr[1] " nieznana instrukcja z %<PRIu8> parametrami:"
msgstr[2] " nieznana instrukcja z %<PRIu8> parametrami:"
-#: src/readelf.c:8863
+#: src/readelf.c:8879
#, fuzzy, c-format
msgid "cannot get .debug_loclists content: %s"
msgstr "nie można uzyskać zawartości .debug_log: %s"
-#: src/readelf.c:9032
+#: src/readelf.c:9048
#, fuzzy, c-format
msgid "invalid loclists data"
msgstr "nieprawidłowe dane"
-#: src/readelf.c:9285
+#: src/readelf.c:9301
#, c-format
msgid "cannot get .debug_loc content: %s"
msgstr "nie można uzyskać zawartości .debug_log: %s"
-#: src/readelf.c:9492 src/readelf.c:10506
+#: src/readelf.c:9508 src/readelf.c:10552
msgid " <INVALID DATA>\n"
msgstr " <NIEPRAWIDÅOWE DANE>\n"
-#: src/readelf.c:9546 src/readelf.c:9709
+#: src/readelf.c:9563 src/readelf.c:9726
#, c-format
msgid "cannot get macro information section data: %s"
msgstr "nie można uzyskać danych sekcji informacji o makrach: %s"
-#: src/readelf.c:9626
+#: src/readelf.c:9643
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr "%*s*** niezakończony ciąg na końcu sekcji"
-#: src/readelf.c:9649
+#: src/readelf.c:9666
#, 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:9750
+#: src/readelf.c:9767
#, c-format
msgid " Offset: 0x%<PRIx64>\n"
msgstr " Offset: 0x%<PRIx64>\n"
-#: src/readelf.c:9762
+#: src/readelf.c:9779
#, c-format
msgid " Version: %<PRIu16>\n"
msgstr " Wersja: %<PRIu16>\n"
-#: src/readelf.c:9768 src/readelf.c:10625
+#: src/readelf.c:9785 src/readelf.c:10672
#, c-format
msgid " unknown version, cannot parse section\n"
msgstr " nieznana wersja, nie można przetworzyć sekcji\n"
-#: src/readelf.c:9775
-#, c-format
-msgid " Flag: 0x%<PRIx8>\n"
+#: src/readelf.c:9792
+#, fuzzy, c-format
+msgid " Flag: 0x%<PRIx8>"
msgstr " Flaga: 0x%<PRIx8>\n"
-#: src/readelf.c:9778
+#: src/readelf.c:9821
#, c-format
msgid " Offset length: %<PRIu8>\n"
msgstr " Długość offsetu: %<PRIu8>\n"
-#: src/readelf.c:9786
+#: src/readelf.c:9829
#, c-format
msgid " .debug_line offset: 0x%<PRIx64>\n"
msgstr " Offset .debug_line: 0x%<PRIx64>\n"
-#: src/readelf.c:9811
+#: src/readelf.c:9854
#, c-format
msgid " extension opcode table, %<PRIu8> items:\n"
msgstr " tabela instrukcji rozszerzenia, %<PRIu8> elementów:\n"
-#: src/readelf.c:9818
+#: src/readelf.c:9861
#, c-format
msgid " [%<PRIx8>]"
msgstr " [%<PRIx8>]"
-#: src/readelf.c:9830
+#: src/readelf.c:9873
#, c-format
msgid " %<PRIu8> arguments:"
msgstr " Parametry %<PRIu8>:"
-#: src/readelf.c:9845
+#: src/readelf.c:9888
#, c-format
msgid " no arguments."
msgstr " brak parametrów."
-#: src/readelf.c:10046
+#: src/readelf.c:10089
#, 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:10088
+#: src/readelf.c:10133
#, c-format
msgid ""
"\n"
@@ -5727,41 +5735,41 @@ msgstr ""
"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64>:\n"
" %*s CiÄ…g\n"
-#: src/readelf.c:10103
+#: src/readelf.c:10148
#, fuzzy, c-format
msgid " *** error, missing string terminator\n"
msgstr " *** błąd podczas odczytywania ciągów: %s\n"
-#: src/readelf.c:10131
+#: src/readelf.c:10177
#, fuzzy, c-format
msgid "cannot get .debug_str_offsets section data: %s"
msgstr "nie można uzyskać danych sekcji: %s"
-#: src/readelf.c:10230
+#: src/readelf.c:10276
#, fuzzy, c-format
msgid " Length: %8<PRIu64>\n"
msgstr ""
"\n"
" Długość: %6<PRIu64>\n"
-#: src/readelf.c:10232
+#: src/readelf.c:10278
#, fuzzy, c-format
msgid " Offset size: %8<PRIu8>\n"
msgstr " Długość offsetu: %<PRIu8>\n"
-#: src/readelf.c:10246
+#: src/readelf.c:10292
#, fuzzy, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " Wersja DWARF: %6<PRIuFAST16>\n"
-#: src/readelf.c:10255
+#: src/readelf.c:10301
#, fuzzy, c-format
msgid " Padding: %8<PRIx16>\n"
msgstr ""
"\n"
" Długość: %6<PRIu64>\n"
-#: src/readelf.c:10309
+#: src/readelf.c:10355
#, c-format
msgid ""
"\n"
@@ -5770,7 +5778,7 @@ msgstr ""
"\n"
"Sekcja tabeli wyszukiwania ramki wywoÅ‚ania [%2zu] „.eh_frame_hdrâ€:\n"
-#: src/readelf.c:10411
+#: src/readelf.c:10457
#, c-format
msgid ""
"\n"
@@ -5779,22 +5787,22 @@ msgstr ""
"\n"
"Sekcja tabeli obsÅ‚ugiwania wyjÄ…tków [%2zu] „.gcc_except_tableâ€:\n"
-#: src/readelf.c:10434
+#: src/readelf.c:10480
#, c-format
msgid " LPStart encoding: %#x "
msgstr " Kodowanie LPStart: %#x "
-#: src/readelf.c:10446
+#: src/readelf.c:10492
#, c-format
msgid " TType encoding: %#x "
msgstr " Kodowanie TType: %#x "
-#: src/readelf.c:10461
+#: src/readelf.c:10507
#, c-format
msgid " Call site encoding: %#x "
msgstr " Kodowanie strony wywołania: %#x "
-#: src/readelf.c:10474
+#: src/readelf.c:10520
msgid ""
"\n"
" Call site table:"
@@ -5802,7 +5810,7 @@ msgstr ""
"\n"
" Tabela strony wywołania:"
-#: src/readelf.c:10488
+#: src/readelf.c:10534
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -5815,12 +5823,12 @@ msgstr ""
" LÄ…dowisko: %#<PRIx64>\n"
" Działanie: %u\n"
-#: src/readelf.c:10561
+#: src/readelf.c:10607
#, c-format
msgid "invalid TType encoding"
msgstr "nieprawidłowe kodowanie TType"
-#: src/readelf.c:10587
+#: src/readelf.c:10634
#, c-format
msgid ""
"\n"
@@ -5829,37 +5837,37 @@ msgstr ""
"\n"
"Sekcja GDB [%2zu] „%s†pod offsetem %#<PRIx64> zawiera %<PRId64> bajtów:\n"
-#: src/readelf.c:10616
+#: src/readelf.c:10663
#, c-format
msgid " Version: %<PRId32>\n"
msgstr " Wersja: %<PRId32>\n"
-#: src/readelf.c:10634
+#: src/readelf.c:10681
#, c-format
msgid " CU offset: %#<PRIx32>\n"
msgstr " offset CU: %#<PRIx32>\n"
-#: src/readelf.c:10641
+#: src/readelf.c:10688
#, c-format
msgid " TU offset: %#<PRIx32>\n"
msgstr " offset TU: %#<PRIx32>\n"
-#: src/readelf.c:10648
+#: src/readelf.c:10695
#, c-format
msgid " address offset: %#<PRIx32>\n"
msgstr " offset adresu: %#<PRIx32>\n"
-#: src/readelf.c:10655
+#: src/readelf.c:10702
#, c-format
msgid " symbol offset: %#<PRIx32>\n"
msgstr " offset symbolu: %#<PRIx32>\n"
-#: src/readelf.c:10662
+#: src/readelf.c:10709
#, c-format
msgid " constant offset: %#<PRIx32>\n"
msgstr " offset stałej: %#<PRIx32>\n"
-#: src/readelf.c:10676
+#: src/readelf.c:10723
#, c-format
msgid ""
"\n"
@@ -5868,7 +5876,7 @@ msgstr ""
"\n"
" Lista CU pod offsetem %#<PRIx32> zawiera %zu wpisów:\n"
-#: src/readelf.c:10701
+#: src/readelf.c:10748
#, c-format
msgid ""
"\n"
@@ -5877,7 +5885,7 @@ msgstr ""
"\n"
" Lista TU pod offsetem %#<PRIx32> zawiera %zu wpisów:\n"
-#: src/readelf.c:10730
+#: src/readelf.c:10777
#, c-format
msgid ""
"\n"
@@ -5886,7 +5894,7 @@ msgstr ""
"\n"
" Lista adresów pod offsetem %#<PRIx32> zawiera %zu wpisów:\n"
-#: src/readelf.c:10762
+#: src/readelf.c:10809
#, c-format
msgid ""
"\n"
@@ -5895,18 +5903,18 @@ msgstr ""
"\n"
" Tabela symboli pod offsetem %#<PRIx32> zawiera %zu gniazd:\n"
-#: src/readelf.c:10900
+#: src/readelf.c:10947
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "nie można uzyskać deskryptora kontekstu debugowania: %s"
-#: src/readelf.c:11263 src/readelf.c:11885 src/readelf.c:11996
-#: src/readelf.c:12054
+#: src/readelf.c:11310 src/readelf.c:11932 src/readelf.c:12043
+#: src/readelf.c:12101
#, c-format
msgid "cannot convert core note data: %s"
msgstr "nie można konwertować danych notatki core: %s"
-#: src/readelf.c:11626
+#: src/readelf.c:11673
#, c-format
msgid ""
"\n"
@@ -5915,21 +5923,21 @@ msgstr ""
"\n"
"%*s… <powtarza się jeszcze %u razy>…"
-#: src/readelf.c:12133
+#: src/readelf.c:12180
msgid " Owner Data size Type\n"
msgstr " Właściciel Rozmiar danych Typ\n"
-#: src/readelf.c:12151
+#: src/readelf.c:12209
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:12201
+#: src/readelf.c:12261
#, fuzzy, c-format
msgid "cannot get content of note: %s"
msgstr "nie można uzyskać zawartości sekcji notatki: %s"
-#: src/readelf.c:12228
+#: src/readelf.c:12288
#, c-format
msgid ""
"\n"
@@ -5939,7 +5947,7 @@ msgstr ""
"Segment notatki [%2zu] „%s†o długości %<PRIu64> bajtów pod offsetem "
"%#0<PRIx64>:\n"
-#: src/readelf.c:12251
+#: src/readelf.c:12311
#, c-format
msgid ""
"\n"
@@ -5948,7 +5956,7 @@ msgstr ""
"\n"
"Segment notatki o długości %<PRIu64> bajtów pod offsetem %#0<PRIx64>:\n"
-#: src/readelf.c:12297
+#: src/readelf.c:12358
#, c-format
msgid ""
"\n"
@@ -5957,12 +5965,12 @@ msgstr ""
"\n"
"Sekcja [%zu] „%s†nie ma danych do zrzucenia.\n"
-#: src/readelf.c:12324 src/readelf.c:12375
+#: src/readelf.c:12385 src/readelf.c:12436
#, 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:12329
+#: src/readelf.c:12390
#, c-format
msgid ""
"\n"
@@ -5972,7 +5980,7 @@ msgstr ""
"Segment zrzutu szesnastkowego [%zu] „%sâ€, %<PRIu64> bajtów pod offsetem "
"%#0<PRIx64>:\n"
-#: src/readelf.c:12334
+#: src/readelf.c:12395
#, c-format
msgid ""
"\n"
@@ -5983,7 +5991,7 @@ msgstr ""
"Zrzut szesnastkowy sekcji [%zu] „%sâ€, %<PRIu64> bajtów (%zd "
"nieskompresowanych) pod offsetem %#0<PRIx64>:\n"
-#: src/readelf.c:12348
+#: src/readelf.c:12409
#, c-format
msgid ""
"\n"
@@ -5992,7 +6000,7 @@ msgstr ""
"\n"
"Sekcja [%zu] „%s†nie ma ciągów do zrzucenia.\n"
-#: src/readelf.c:12380
+#: src/readelf.c:12441
#, c-format
msgid ""
"\n"
@@ -6001,7 +6009,7 @@ msgstr ""
"\n"
"Sekcja ciągów [%zu] „%s†zawiera %<PRIu64> bajtów pod offsetem %#0<PRIx64>:\n"
-#: src/readelf.c:12385
+#: src/readelf.c:12446
#, c-format
msgid ""
"\n"
@@ -6012,7 +6020,7 @@ msgstr ""
"Sekcja ciągów [%zu] „%s†zawiera %<PRIu64> bajtów (%zd nieskompresowanych) "
"pod offsetem %#0<PRIx64>:\n"
-#: src/readelf.c:12434
+#: src/readelf.c:12495
#, c-format
msgid ""
"\n"
@@ -6021,7 +6029,7 @@ msgstr ""
"\n"
"sekcja [%lu] nie istnieje"
-#: src/readelf.c:12463
+#: src/readelf.c:12524
#, c-format
msgid ""
"\n"
@@ -6030,12 +6038,12 @@ msgstr ""
"\n"
"sekcja „%s†nie istnieje"
-#: src/readelf.c:12520
+#: src/readelf.c:12581
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr "nie można uzyskać indeksu symboli archiwum „%sâ€: %s"
-#: src/readelf.c:12523
+#: src/readelf.c:12584
#, c-format
msgid ""
"\n"
@@ -6044,7 +6052,7 @@ msgstr ""
"\n"
"Archiwum „%s†nie ma indeksu symboli\n"
-#: src/readelf.c:12527
+#: src/readelf.c:12588
#, c-format
msgid ""
"\n"
@@ -6053,12 +6061,12 @@ msgstr ""
"\n"
"Indeks archiwum „%s†ma %zu wpisów:\n"
-#: src/readelf.c:12545
+#: src/readelf.c:12606
#, 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:12550
+#: src/readelf.c:12611
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "Element archiwum „%s†zawiera:\n"
@@ -6122,12 +6130,12 @@ msgstr "Nieprawidłowa baza: %s"
msgid "%s: file format not recognized"
msgstr "%s: nie rozpoznano formatu pliku"
-#: src/size.c:416 src/size.c:549
+#: src/size.c:418 src/size.c:551
#, c-format
msgid " (ex %s)"
msgstr " (ex %s)"
-#: src/size.c:574
+#: src/size.c:576
msgid "(TOTALS)\n"
msgstr "(CAÅKOWITE)\n"
@@ -6334,31 +6342,31 @@ msgstr "mprotect się nie powiodło"
msgid "Skipping section %zd '%s' data outside file"
msgstr "Pomijanie sekcji %zd „%s†dane poza plikiem"
-#: src/strip.c:70
+#: src/strip.c:71
msgid "Place stripped output into FILE"
msgstr "Umieszcza okrojone wyjście w PLIKU"
-#: src/strip.c:71
+#: src/strip.c:72
msgid "Extract the removed sections into FILE"
msgstr "Wydobywa usunięte sekcje do PLIKU"
-#: src/strip.c:72
+#: src/strip.c:73
msgid "Embed name FILE instead of -f argument"
msgstr "Osadza nazwÄ™ PLIKU zamiast parametru -f"
-#: src/strip.c:76
+#: src/strip.c:77
msgid "Remove all debugging symbols"
msgstr "Usuwa wszystkie symbole debugowania"
-#: src/strip.c:80
+#: src/strip.c:81
msgid "Remove section headers (not recommended)"
msgstr "Usuwa nagłówki sekcji (niezalecane)"
-#: src/strip.c:82
+#: src/strip.c:83
msgid "Copy modified/access timestamps to the output"
msgstr "Kopiuje czasy modyfikacji/dostępu do wyjścia"
-#: src/strip.c:84
+#: src/strip.c:85
msgid ""
"Resolve all trivial relocations between debug sections if the removed "
"sections are placed in a debug file (only relevant for ET_REL files, "
@@ -6368,63 +6376,83 @@ msgstr ""
"usunięte sekcje zostały umieszczone w pliku debugowania (ma znaczenie tylko "
"dla plików ET_REL, działanie jest nieodwracalne, wymaga użycia opcji -f)"
-#: src/strip.c:86
+#: src/strip.c:87
+msgid ""
+"Similar to --reloc-debug-sections, but resolve all trivial relocations "
+"between debug sections in place. No other stripping is performed (operation "
+"is not reversable, incompatible with -f, -g, --remove-comment and --remove-"
+"section)"
+msgstr ""
+
+#: src/strip.c:89
msgid "Remove .comment section"
msgstr "Usuwa sekcjÄ™ .comment"
-#: src/strip.c:87
+#: src/strip.c:90
msgid ""
"Remove the named section. SECTION is an extended wildcard pattern. May be "
"given more than once. Only non-allocated sections can be removed."
msgstr ""
-#: src/strip.c:88
+#: src/strip.c:91
msgid ""
"Keep the named section. SECTION is an extended wildcard pattern. May be "
"given more than once."
msgstr ""
#. Short description of program.
-#: src/strip.c:95
+#: src/strip.c:98
msgid "Discard symbols from object files."
msgstr "Odrzuca symbole z plików obiektów."
-#: src/strip.c:241
+#: src/strip.c:247
#, c-format
msgid "--reloc-debug-sections used without -f"
msgstr "Użyto --reloc-debug-sections bez opcji -f"
-#: src/strip.c:255
+#: src/strip.c:253
+#, c-format
+msgid ""
+"--reloc-debug-sections-only incompatible with -f, -g, --remove-comment and --"
+"remove-section"
+msgstr ""
+
+#: src/strip.c:267
#, c-format
msgid "Only one input file allowed together with '-o' and '-f'"
msgstr "Tylko jeden plik wejÅ›ciowy jest dozwolony z „-o†i „-fâ€"
-#: src/strip.c:278
+#: src/strip.c:290
#, c-format
msgid "-f option specified twice"
msgstr "OpcjÄ™ -f podano dwukrotnie"
-#: src/strip.c:287
+#: src/strip.c:299
#, c-format
msgid "-F option specified twice"
msgstr "OpcjÄ™ -F podano dwukrotnie"
-#: src/strip.c:346
+#: src/strip.c:362
#, fuzzy, c-format
msgid "cannot both keep and remove .comment section"
msgstr "Usuwa sekcjÄ™ .comment"
-#: src/strip.c:371 src/strip.c:395
+#: src/strip.c:574
+#, c-format
+msgid "bad relocation"
+msgstr "błędna relokacja"
+
+#: src/strip.c:726 src/strip.c:750
#, c-format
msgid "cannot stat input file '%s'"
msgstr "nie można wykonać stat na pliku wejÅ›ciowym „%sâ€"
-#: src/strip.c:385
+#: src/strip.c:740
#, c-format
msgid "while opening '%s'"
msgstr "podczas otwierania „%sâ€"
-#: src/strip.c:423
+#: src/strip.c:778
#, c-format
msgid "%s: cannot use -o or -f when stripping archive"
msgstr "%s: nie można używać -o lub -f podczas okrajania archiwum"
@@ -6435,132 +6463,132 @@ msgstr "%s: nie można używać -o lub -f podczas okrajania archiwum"
#. result = handle_ar (fd, elf, NULL, fname,
#. preserve_dates ? tv : NULL);
#.
-#: src/strip.c:435
+#: src/strip.c:790
#, c-format
msgid "%s: no support for stripping archive"
msgstr "%s: brak obsługi okrajania archiwum"
-#: src/strip.c:534
+#: src/strip.c:1001
#, c-format
msgid "cannot open EBL backend"
msgstr "nie można otworzyć zaplecza EBL"
-#: src/strip.c:579
+#: src/strip.c:1046
#, c-format
msgid "cannot get number of phdrs"
msgstr "nie można uzyskać liczby phdr"
-#: src/strip.c:595 src/strip.c:619
-#, c-format
-msgid "cannot create new file '%s': %s"
+#: src/strip.c:1060 src/strip.c:1103
+#, fuzzy, c-format
+msgid "cannot create new ehdr for file '%s': %s"
+msgstr "nie można utworzyć nowego pliku „%sâ€: %s"
+
+#: src/strip.c:1070 src/strip.c:1113
+#, fuzzy, c-format
+msgid "cannot create new phdr for file '%s': %s"
msgstr "nie można utworzyć nowego pliku „%sâ€: %s"
-#: src/strip.c:701
+#: src/strip.c:1194
#, c-format
msgid "illformed file '%s'"
msgstr "plik „%s†ma błędny format"
-#: src/strip.c:711
+#: src/strip.c:1204
#, fuzzy, c-format
msgid "Cannot remove allocated section '%s'"
msgstr "nie można przydzielić danych sekcji: %s"
-#: src/strip.c:720
+#: src/strip.c:1213
#, fuzzy, c-format
msgid "Cannot both keep and remove section '%s'"
msgstr "nie można dodać nowej sekcji: %s"
-#: src/strip.c:1076 src/strip.c:1210
+#: src/strip.c:1573 src/strip.c:1688
#, c-format
msgid "while generating output file: %s"
msgstr "podczas tworzenia pliku wyjściowego: %s"
-#: src/strip.c:1141
+#: src/strip.c:1637
#, fuzzy, c-format
-msgid "%s: error while getting shdrstrndx: %s"
+msgid "%s: error while updating ELF header: %s"
msgstr "%s: błąd podczas tworzenia nagłówka ELF: %s"
-#: src/strip.c:1157
+#: src/strip.c:1646
#, fuzzy, c-format
-msgid "%s: error getting zero section: %s"
-msgstr "%s: błąd podczas odczytywania pliku: %s"
+msgid "%s: error while getting shdrstrndx: %s"
+msgstr "%s: błąd podczas tworzenia nagłówka ELF: %s"
-#: src/strip.c:1166
+#: src/strip.c:1654 src/strip.c:2534
#, fuzzy, c-format
-msgid "%s: error while updating zero section: %s"
-msgstr "%s: błąd podczas odczytywania pliku: %s"
-
-#: src/strip.c:1176 src/strip.c:2292
-#, c-format
-msgid "%s: error while creating ELF header: %s"
+msgid "%s: error updating shdrstrndx: %s"
msgstr "%s: błąd podczas tworzenia nagłówka ELF: %s"
-#: src/strip.c:1193
+#: src/strip.c:1671
#, c-format
msgid "while preparing output for '%s'"
msgstr "podczas przygotowywania wyjÅ›cia dla „%sâ€"
-#: src/strip.c:1255 src/strip.c:1318
+#: src/strip.c:1733 src/strip.c:1796
#, c-format
msgid "while create section header section: %s"
msgstr "podczas tworzenia sekcji nagłówka sekcji: %s"
-#: src/strip.c:1264
+#: src/strip.c:1742
#, c-format
msgid "cannot allocate section data: %s"
msgstr "nie można przydzielić danych sekcji: %s"
-#: src/strip.c:1330
+#: src/strip.c:1808
#, c-format
msgid "while create section header string table: %s"
msgstr "podczas tworzenia tabeli ciągów nagłówka sekcji: %s"
-#: src/strip.c:1337
+#: src/strip.c:1815
#, c-format
msgid "no memory to create section header string table"
msgstr "brak pamięci do utworzenia tabeli ciągów nagłówka sekcji"
-#: src/strip.c:1547
+#: src/strip.c:2027
#, c-format
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:2078
-#, c-format
-msgid "bad relocation"
-msgstr "błędna relokacja"
-
-#: src/strip.c:2203 src/strip.c:2316
+#: src/strip.c:2450 src/strip.c:2558
#, c-format
msgid "while writing '%s': %s"
msgstr "podczas zapisywania „%sâ€: %s"
-#: src/strip.c:2214
+#: src/strip.c:2461
#, c-format
msgid "while creating '%s'"
msgstr "podczas tworzenia „%sâ€"
-#: src/strip.c:2237
+#: src/strip.c:2484
#, c-format
msgid "while computing checksum for debug information"
msgstr "podczas obliczania sumy kontrolnej dla informacji debugowania"
-#: src/strip.c:2301
+#: src/strip.c:2525
+#, c-format
+msgid "%s: error while creating ELF header: %s"
+msgstr "%s: błąd podczas tworzenia nagłówka ELF: %s"
+
+#: src/strip.c:2543
#, c-format
msgid "%s: error while reading the file: %s"
msgstr "%s: błąd podczas odczytywania pliku: %s"
-#: src/strip.c:2341 src/strip.c:2361
+#: src/strip.c:2583 src/strip.c:2603
#, c-format
msgid "while writing '%s'"
msgstr "podczas zapisywania „%sâ€"
-#: src/strip.c:2398 src/strip.c:2405
+#: src/strip.c:2640 src/strip.c:2647
#, c-format
msgid "error while finishing '%s': %s"
msgstr "bÅ‚Ä…d podczas koÅ„czenia „%sâ€: %s"
-#: src/strip.c:2422 src/strip.c:2498
+#: src/strip.c:2664 src/strip.c:2740
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr "nie można ustawić czasu dostÄ™pu i modyfikacji „%sâ€"
@@ -6648,192 +6676,222 @@ msgstr "nie można utworzyć nagłówka ELF: %s"
msgid "cannot get shdrstrndx:%s"
msgstr "nie można uzyskać sekcji: %s"
-#: src/unstrip.c:257
+#: src/unstrip.c:248 src/unstrip.c:2034
+#, c-format
+msgid "cannot get ELF header: %s"
+msgstr "nie można uzyskać nagłówka ELF: %s"
+
+#: src/unstrip.c:258
#, fuzzy, c-format
msgid "cannot get new zero section: %s"
msgstr "nie można uzyskać sekcji: %s"
-#: src/unstrip.c:260
+#: src/unstrip.c:261
#, fuzzy, c-format
msgid "cannot update new zero section: %s"
msgstr "nie można zaktualizować relokacji: %s"
-#: src/unstrip.c:264
+#: src/unstrip.c:265
#, c-format
msgid "cannot copy ELF header: %s"
msgstr "nie można skopiować nagłówka ELF: %s"
-#: src/unstrip.c:268 src/unstrip.c:1962 src/unstrip.c:2005
+#: src/unstrip.c:269 src/unstrip.c:2052 src/unstrip.c:2095
#, c-format
msgid "cannot get number of program headers: %s"
msgstr "nie można uzyskać liczby nagłówków programu: %s"
-#: src/unstrip.c:273 src/unstrip.c:1966
+#: src/unstrip.c:274 src/unstrip.c:2056
#, c-format
msgid "cannot create program headers: %s"
msgstr "nie można utworzyć nagłówków programu: %s"
-#: src/unstrip.c:279
+#: src/unstrip.c:280
#, c-format
msgid "cannot copy program header: %s"
msgstr "nie można skopiować nagłówka programu: %s"
-#: src/unstrip.c:289
+#: src/unstrip.c:290
#, c-format
msgid "cannot copy section header: %s"
msgstr "nie można skopiować nagłówka sekcji: %s"
-#: src/unstrip.c:292 src/unstrip.c:1597
+#: src/unstrip.c:293 src/unstrip.c:1665
#, c-format
msgid "cannot get section data: %s"
msgstr "nie można uzyskać danych sekcji: %s"
-#: src/unstrip.c:294 src/unstrip.c:1599
+#: src/unstrip.c:295 src/unstrip.c:1667
#, c-format
msgid "cannot copy section data: %s"
msgstr "nie można skopiować danych sekcji: %s"
-#: src/unstrip.c:318
+#: src/unstrip.c:319
#, c-format
msgid "cannot create directory '%s'"
msgstr "nie można utworzyć katalogu „%sâ€"
-#: src/unstrip.c:390 src/unstrip.c:820 src/unstrip.c:1631
+#: src/unstrip.c:391 src/unstrip.c:845 src/unstrip.c:1702
#, c-format
msgid "cannot get symbol table entry: %s"
msgstr "nie można uzyskać wpisu tabeli symboli: %s"
-#: src/unstrip.c:406 src/unstrip.c:631 src/unstrip.c:652 src/unstrip.c:664
-#: src/unstrip.c:1652 src/unstrip.c:1828 src/unstrip.c:1852
+#: src/unstrip.c:407 src/unstrip.c:649 src/unstrip.c:670 src/unstrip.c:682
+#: src/unstrip.c:1723 src/unstrip.c:1918 src/unstrip.c:1942
#, c-format
msgid "cannot update symbol table: %s"
msgstr "nie można zaktualizować tabeli symboli: %s"
-#: src/unstrip.c:416
+#: src/unstrip.c:417
#, c-format
msgid "cannot update section header: %s"
msgstr "nie można zaktualizować nagłówka sekcji: %s"
-#: src/unstrip.c:455 src/unstrip.c:466
+#: src/unstrip.c:459 src/unstrip.c:473
#, c-format
msgid "cannot update relocation: %s"
msgstr "nie można zaktualizować relokacji: %s"
-#: src/unstrip.c:554
+#: src/unstrip.c:570
#, c-format
msgid "cannot get symbol version: %s"
msgstr "nie można uzyskać wersji symbolu: %s"
-#: src/unstrip.c:567
+#: src/unstrip.c:583
#, c-format
msgid "unexpected section type in [%zu] with sh_link to symtab"
msgstr "nieoczekiwany typ sekcji w [%zu] z sh_link do tabeli symboli"
-#: src/unstrip.c:826
+#: src/unstrip.c:851
#, c-format
msgid "invalid string offset in symbol [%zu]"
msgstr "nieprawidłowy offset ciągu w symbolu [%zu]"
-#: src/unstrip.c:984 src/unstrip.c:1334
+#: src/unstrip.c:1009 src/unstrip.c:1398
#, c-format
msgid "cannot read section [%zu] name: %s"
msgstr "nie można odczytać nazwy sekcji [%zu]: %s"
-#: src/unstrip.c:1025 src/unstrip.c:1044 src/unstrip.c:1082
+#: src/unstrip.c:1024
+#, fuzzy, c-format
+msgid "bad sh_link for group section: %s"
+msgstr "nieprawidłowa wartość sh_link w sekcji %zu"
+
+#: src/unstrip.c:1030
+#, fuzzy, c-format
+msgid "couldn't get shdr for group section: %s"
+msgstr "nie można uzyskać danych dla sekcji %d: %s"
+
+#: src/unstrip.c:1035
+#, fuzzy, c-format
+msgid "bad data for group symbol section: %s"
+msgstr "nie można uzyskać danych dla sekcji symboli\n"
+
+#: src/unstrip.c:1041
+#, fuzzy, c-format
+msgid "couldn't get symbol for group section: %s"
+msgstr "nie można uzyskać wersji symbolu: %s"
+
+#: src/unstrip.c:1046
+#, fuzzy, c-format
+msgid "bad symbol name for group section: %s"
+msgstr "błędny nagłówek kompresji dla sekcji %zd: %s"
+
+#: src/unstrip.c:1088 src/unstrip.c:1107 src/unstrip.c:1145
#, c-format
msgid "cannot read '.gnu.prelink_undo' section: %s"
msgstr "nie można odczytać sekcji „.gnu.prelink_undoâ€: %s"
-#: src/unstrip.c:1062
+#: src/unstrip.c:1125
#, c-format
msgid "overflow with shnum = %zu in '%s' section"
msgstr "przepeÅ‚nienie z shnum = %zu w sekcji „%sâ€"
-#: src/unstrip.c:1073
+#: src/unstrip.c:1136
#, c-format
msgid "invalid contents in '%s' section"
msgstr "nieprawidÅ‚owa zawartość w sekcji „%sâ€"
-#: src/unstrip.c:1128 src/unstrip.c:1456
+#: src/unstrip.c:1192 src/unstrip.c:1524
#, c-format
msgid "cannot find matching section for [%zu] '%s'"
msgstr "nie można odnaleźć pasujÄ…cej sekcji dla [%zu] „%sâ€"
-#: src/unstrip.c:1253 src/unstrip.c:1268 src/unstrip.c:1535 src/unstrip.c:1787
+#: src/unstrip.c:1317 src/unstrip.c:1332 src/unstrip.c:1603 src/unstrip.c:1877
#, c-format
msgid "cannot add section name to string table: %s"
msgstr "nie można nazwy sekcji do tabeli ciągów: %s"
-#: src/unstrip.c:1277
+#: src/unstrip.c:1341
#, c-format
msgid "cannot update section header string table data: %s"
msgstr "nie można zaktualizować danych tabeli ciągów nagłówków sekcji: %s"
-#: src/unstrip.c:1305 src/unstrip.c:1309
+#: src/unstrip.c:1369 src/unstrip.c:1373
#, c-format
msgid "cannot get section header string table section index: %s"
msgstr "nie można uzyskać indeksu sekcji tabeli ciągów nagłówków sekcji: %s"
-#: src/unstrip.c:1313 src/unstrip.c:1317 src/unstrip.c:1550
+#: src/unstrip.c:1377 src/unstrip.c:1381 src/unstrip.c:1618
#, c-format
msgid "cannot get section count: %s"
msgstr "nie można uzyskać licznika sekcji: %s"
-#: src/unstrip.c:1320
+#: src/unstrip.c:1384
#, c-format
msgid "more sections in stripped file than debug file -- arguments reversed?"
msgstr ""
"więcej sekcji w okrojonym pliku niż w pliku debugowania — odwrócono "
"parametry?"
-#: src/unstrip.c:1379 src/unstrip.c:1471
+#: src/unstrip.c:1446 src/unstrip.c:1539
#, c-format
msgid "cannot read section header string table: %s"
msgstr "nie można odczytać tabeli ciągów nagłówków sekcji: %s"
-#: src/unstrip.c:1529
+#: src/unstrip.c:1597
#, c-format
msgid "cannot add new section: %s"
msgstr "nie można dodać nowej sekcji: %s"
-#: src/unstrip.c:1639
+#: src/unstrip.c:1710
#, c-format
msgid "symbol [%zu] has invalid section index"
msgstr "symbol [%zu] ma nieprawidłowy indeks sekcji"
-#: src/unstrip.c:1923
+#: src/unstrip.c:1742
+#, fuzzy, c-format
+msgid "group has invalid section index [%zd]"
+msgstr "symbol [%zu] ma nieprawidłowy indeks sekcji"
+
+#: src/unstrip.c:2013
#, c-format
msgid "cannot read section data: %s"
msgstr "nie można odczytać danych sekcji: %s"
-#: src/unstrip.c:1944
-#, c-format
-msgid "cannot get ELF header: %s"
-msgstr "nie można uzyskać nagłówka ELF: %s"
-
-#: src/unstrip.c:1952
+#: src/unstrip.c:2042
#, c-format
msgid "cannot update ELF header: %s"
msgstr "nie można zaktualizować nagłówka ELF: %s"
-#: src/unstrip.c:1976
+#: src/unstrip.c:2066
#, c-format
msgid "cannot update program header: %s"
msgstr "nie można zaktualizować nagłówka programu: %s"
-#: src/unstrip.c:1981 src/unstrip.c:2063
+#: src/unstrip.c:2071 src/unstrip.c:2153
#, c-format
msgid "cannot write output file: %s"
msgstr "nie można zapisać pliku wyjściowego: %s"
-#: src/unstrip.c:2032
+#: src/unstrip.c:2122
#, c-format
msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
msgstr ""
"Dane DWARF nie zostały dostosowane do przesunięcia wczesnego konsolidowania; "
"proszę rozważyć polecenie prelink -u"
-#: src/unstrip.c:2035
+#: src/unstrip.c:2125
#, c-format
msgid ""
"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
@@ -6841,77 +6899,77 @@ msgstr ""
"Dane DWARF w „%s†nie zostały dostosowane do przesunięcia wczesnego "
"konsolidowania; proszę rozważyć polecenie prelink -u"
-#: src/unstrip.c:2054 src/unstrip.c:2105 src/unstrip.c:2117 src/unstrip.c:2203
+#: src/unstrip.c:2144 src/unstrip.c:2195 src/unstrip.c:2207 src/unstrip.c:2293
#, c-format
msgid "cannot create ELF descriptor: %s"
msgstr "nie można utworzyć deskryptora ELF: %s"
-#: src/unstrip.c:2096
+#: src/unstrip.c:2186
msgid "WARNING: "
msgstr "OSTRZEŻENIE: "
-#: src/unstrip.c:2098
+#: src/unstrip.c:2188
msgid ", use --force"
msgstr ", należy użyć opcji --force"
-#: src/unstrip.c:2121
+#: src/unstrip.c:2211
msgid "ELF header identification (e_ident) different"
msgstr "Różna identyfikacja nagłówka ELF (e_ident)"
-#: src/unstrip.c:2124
+#: src/unstrip.c:2214
msgid "ELF header type (e_type) different"
msgstr "Różne typy nagłówka ELF (e_type)"
-#: src/unstrip.c:2127
+#: src/unstrip.c:2217
msgid "ELF header machine type (e_machine) different"
msgstr "Różne typy maszyny nagłówka ELF (e_machine)"
-#: src/unstrip.c:2130
+#: src/unstrip.c:2220
msgid "stripped program header (e_phnum) smaller than unstripped"
msgstr "okrojony nagłówek programu (e_phnum) jest mniejszy niż nieokrojony"
-#: src/unstrip.c:2160
+#: src/unstrip.c:2250
#, c-format
msgid "cannot find stripped file for module '%s': %s"
msgstr "nie można odnaleźć okrojonego pliku dla moduÅ‚u „%sâ€: %s"
-#: src/unstrip.c:2164
+#: src/unstrip.c:2254
#, c-format
msgid "cannot open stripped file '%s' for module '%s': %s"
msgstr "nie można otworzyć okrojonego pliku „%s†dla moduÅ‚u „%sâ€: %s"
-#: src/unstrip.c:2179
+#: src/unstrip.c:2269
#, c-format
msgid "cannot find debug file for module '%s': %s"
msgstr "nie można odnaleźć pliku debugowania dla moduÅ‚u „%sâ€: %s"
-#: src/unstrip.c:2183
+#: src/unstrip.c:2273
#, c-format
msgid "cannot open debug file '%s' for module '%s': %s"
msgstr "nie można otworzyć pliku debugowania „%s†dla moduÅ‚u „%sâ€: %s"
-#: src/unstrip.c:2196
+#: src/unstrip.c:2286
#, c-format
msgid "module '%s' file '%s' is not stripped"
msgstr "moduł „%s†pliku „%s†nie został okrojony"
-#: src/unstrip.c:2227
+#: src/unstrip.c:2317
#, c-format
msgid "cannot cache section addresses for module '%s': %s"
msgstr ""
"nie można utworzyć pamiÄ™ci podrÄ™cznej adresów sekcji dla moduÅ‚u „%sâ€: %s"
-#: src/unstrip.c:2360
+#: src/unstrip.c:2450
#, c-format
msgid "no matching modules found"
msgstr "nie odnaleziono pasujących modułów"
-#: src/unstrip.c:2369
+#: src/unstrip.c:2459
#, c-format
msgid "matched more than one module"
msgstr "pasuje więcej niż jeden moduł"
-#: src/unstrip.c:2413
+#: src/unstrip.c:2503
msgid ""
"STRIPPED-FILE DEBUG-FILE\n"
"[MODULE...]"
@@ -6919,7 +6977,7 @@ msgstr ""
"OKROJONY-PLIK PLIK-DEBUGOWANIA\n"
"[MODUÅ…]"
-#: src/unstrip.c:2414
+#: src/unstrip.c:2504
#, fuzzy
msgid ""
"Combine stripped files with separate symbols and debug information.\n"
@@ -6987,6 +7045,14 @@ msgstr "Dodatkowo wyświetla nazwy funkcji"
msgid "Show instances of inlined functions"
msgstr "Wyświetla wystąpienia wstawionych funkcji"
+#, fuzzy
+#~ msgid "%s: error getting zero section: %s"
+#~ msgstr "%s: błąd podczas odczytywania pliku: %s"
+
+#, fuzzy
+#~ msgid "%s: error while updating zero section: %s"
+#~ msgstr "%s: błąd podczas odczytywania pliku: %s"
+
#~ msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
#~ msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>"
diff --git a/po/uk.po b/po/uk.po
index 2198414d..79d9c911 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: https://sourceware.org/bugzilla/\n"
-"POT-Creation-Date: 2018-09-14 12:05+0200\n"
+"POT-Creation-Date: 2018-11-16 12:42+0100\n"
"PO-Revision-Date: 2015-09-26 16:41+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n"
"Language-Team: Ukrainian <kde-i18n-uk@kde.org>\n"
@@ -58,8 +58,8 @@ msgstr ""
"початкових кодах. Умовами Ð»Ñ–Ñ†ÐµÐ½Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ ÐЕ передбачено жодних "
"гарантій, зокрема гарантій працездатноÑÑ‚Ñ– або придатноÑÑ‚Ñ– Ð´Ð»Ñ Ð¿ÐµÐ²Ð½Ð¾Ñ— мети.\n"
-#: lib/xmalloc.c:52 lib/xmalloc.c:65 lib/xmalloc.c:77 src/readelf.c:3409
-#: src/readelf.c:11212 src/unstrip.c:2256 src/unstrip.c:2462
+#: lib/xmalloc.c:52 lib/xmalloc.c:65 lib/xmalloc.c:77 src/readelf.c:3414
+#: src/readelf.c:11259 src/unstrip.c:2346 src/unstrip.c:2552
#, c-format
msgid "memory exhausted"
msgstr "пам’ÑÑ‚ÑŒ вичерпано"
@@ -300,7 +300,7 @@ msgstr " невідомий код операції"
msgid ".debug_addr section missing"
msgstr "немає розділу .debug_ranges"
-#: libdwfl/argp-std.c:50 src/stack.c:638 src/unstrip.c:2403
+#: libdwfl/argp-std.c:50 src/stack.c:638 src/unstrip.c:2493
msgid "Input selection options:"
msgstr "Вибір параметрів Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…:"
@@ -524,8 +524,8 @@ msgstr "Ðе Ñ” файлом ET_CORE ELF"
msgid "No backend"
msgstr "Ðемає Ñервера"
-#: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:76
-#: libebl/eblobjnotetypename.c:83 libebl/eblobjnotetypename.c:102
+#: libebl/eblcorenotetypename.c:100 libebl/eblobjnotetypename.c:77
+#: libebl/eblobjnotetypename.c:109 libebl/eblobjnotetypename.c:130
#: libebl/eblosabiname.c:73 libebl/eblsectionname.c:83
#: libebl/eblsectiontypename.c:115 libebl/eblsegmenttypename.c:79
msgid "<unknown>"
@@ -536,58 +536,58 @@ msgstr "<невідомо>"
msgid "<unknown>: %#<PRIx64>"
msgstr "<невідомо>: %#<PRIx64>"
-#: libebl/eblobjnote.c:53
+#: libebl/eblobjnote.c:58
#, c-format
msgid "unknown SDT version %u\n"
msgstr "невідома верÑÑ–Ñ SDT, %u\n"
-#: libebl/eblobjnote.c:71
+#: libebl/eblobjnote.c:76
#, c-format
msgid "invalid SDT probe descriptor\n"
msgstr "некоректний деÑкриптор Ð·Ð¾Ð½Ð´ÑƒÐ²Ð°Ð½Ð½Ñ SDT\n"
-#: libebl/eblobjnote.c:121
+#: libebl/eblobjnote.c:126
#, c-format
msgid " PC: "
msgstr " PC: "
-#: libebl/eblobjnote.c:123
+#: libebl/eblobjnote.c:128
#, c-format
msgid " Base: "
msgstr "ОÑнова: "
-#: libebl/eblobjnote.c:125
+#: libebl/eblobjnote.c:130
#, c-format
msgid " Semaphore: "
msgstr " Семафор: "
-#: libebl/eblobjnote.c:127
+#: libebl/eblobjnote.c:132
#, c-format
msgid " Provider: "
msgstr " ПоÑтачальник: "
-#: libebl/eblobjnote.c:129
+#: libebl/eblobjnote.c:134
#, c-format
msgid " Name: "
msgstr "Ðазва: "
-#: libebl/eblobjnote.c:131
+#: libebl/eblobjnote.c:136
#, c-format
msgid " Args: "
msgstr " Ðрг.: "
-#: libebl/eblobjnote.c:141
+#: libebl/eblobjnote.c:300
#, c-format
msgid " Build ID: "
msgstr " Ід. збираннÑ: "
#. A non-null terminated version string.
-#: libebl/eblobjnote.c:152
+#: libebl/eblobjnote.c:311
#, c-format
msgid " Linker version: %.*s\n"
msgstr " ВерÑÑ–Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ°: %.*s\n"
-#: libebl/eblobjnote.c:213
+#: libebl/eblobjnote.c:553
#, c-format
msgid " OS: %s, ABI: "
msgstr " ОС: %s, ABI: "
@@ -621,7 +621,7 @@ msgstr "некоректна розмірніÑÑ‚ÑŒ вхідного парамÐ
msgid "invalid size of destination operand"
msgstr "некоректна розмірніÑÑ‚ÑŒ вихідного параметра"
-#: libelf/elf_error.c:87 src/readelf.c:6123
+#: libelf/elf_error.c:87 src/readelf.c:6129
#, c-format
msgid "invalid encoding"
msgstr "некоректне кодуваннÑ"
@@ -707,8 +707,8 @@ msgstr "невідповідніÑÑ‚ÑŒ полів data/scn"
msgid "invalid section header"
msgstr "некоректний заголовок розділу"
-#: libelf/elf_error.c:191 src/readelf.c:9758 src/readelf.c:10329
-#: src/readelf.c:10430 src/readelf.c:10611
+#: libelf/elf_error.c:191 src/readelf.c:9775 src/readelf.c:10375
+#: src/readelf.c:10476 src/readelf.c:10658
#, c-format
msgid "invalid data"
msgstr "некоректні дані"
@@ -1045,12 +1045,12 @@ msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані архіву «%s» за Ð
msgid "no entry %s in archive\n"
msgstr "у архіві немає запиÑу %s\n"
-#: src/ar.c:472 src/ar.c:917 src/ar.c:1121
+#: src/ar.c:472 src/ar.c:923 src/ar.c:1127
#, c-format
msgid "cannot create hash table"
msgstr "не вдалоÑÑ Ñтворити таблицю хешів"
-#: src/ar.c:479 src/ar.c:924 src/ar.c:1130
+#: src/ar.c:479 src/ar.c:930 src/ar.c:1136
#, c-format
msgid "cannot insert into hash table"
msgstr "не вдалоÑÑ Ð²Ñтавити Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ таблиці хешів"
@@ -1060,97 +1060,97 @@ msgstr "не вдалоÑÑ Ð²Ñтавити Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¾ таблиці хе
msgid "cannot stat '%s'"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані з «%s» за допомогою stat"
-#: src/ar.c:583
+#: src/ar.c:589
#, c-format
msgid "cannot read content of %s: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ вміÑÑ‚ з %s: %s"
-#: src/ar.c:626
+#: src/ar.c:632
#, c-format
msgid "cannot open %.*s"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %.*s"
-#: src/ar.c:648
+#: src/ar.c:654
#, c-format
msgid "failed to write %s"
msgstr "не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати %s"
-#: src/ar.c:660
+#: src/ar.c:666
#, c-format
msgid "cannot change mode of %s"
msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ права доÑтупу до %s"
-#: src/ar.c:676
+#: src/ar.c:682
#, c-format
msgid "cannot change modification time of %s"
msgstr "не вдалоÑÑ Ð·Ð¼Ñ–Ð½Ð¸Ñ‚Ð¸ чаÑову мітку зміни %s"
-#: src/ar.c:722
+#: src/ar.c:728
#, c-format
msgid "cannot rename temporary file to %.*s"
msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÐ¹Ð¼ÐµÐ½ÑƒÐ²Ð°Ñ‚Ð¸ файл тимчаÑових даних на %.*s"
-#: src/ar.c:758 src/ar.c:1009 src/ar.c:1410 src/ranlib.c:222
+#: src/ar.c:764 src/ar.c:1015 src/ar.c:1416 src/ranlib.c:222
#, c-format
msgid "cannot create new file"
msgstr "не вдалоÑÑ Ñтворити файл"
-#: src/ar.c:1212
+#: src/ar.c:1218
#, c-format
msgid "position member %s not found"
msgstr "не виÑвлено елемента позиції %s"
-#: src/ar.c:1222
+#: src/ar.c:1228
#, c-format
msgid "%s: no entry %s in archive!\n"
msgstr "%s: у архіві немає запиÑу %s!\n"
-#: src/ar.c:1251 src/objdump.c:241
+#: src/ar.c:1257 src/objdump.c:241
#, c-format
msgid "cannot open %s"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s"
-#: src/ar.c:1256
+#: src/ar.c:1262
#, c-format
msgid "cannot stat %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані %s за допомогою stat"
-#: src/ar.c:1262
+#: src/ar.c:1268
#, c-format
msgid "%s is no regular file"
msgstr "%s не є звичайним файлом"
-#: src/ar.c:1275
+#: src/ar.c:1281
#, c-format
msgid "cannot get ELF descriptor for %s: %s\n"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ деÑкриптор ELF Ð´Ð»Ñ %s: %s\n"
-#: src/ar.c:1295
+#: src/ar.c:1301
#, c-format
msgid "cannot read %s: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %s: %s"
-#: src/ar.c:1470
+#: src/ar.c:1476
#, fuzzy, c-format
msgid "cannot represent ar_date"
msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ñ‚Ð¸ DWARF"
-#: src/ar.c:1476
+#: src/ar.c:1482
#, fuzzy, c-format
msgid "cannot represent ar_uid"
msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ñ‚Ð¸ DWARF"
-#: src/ar.c:1482
+#: src/ar.c:1488
#, fuzzy, c-format
msgid "cannot represent ar_gid"
msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ñ‚Ð¸ DWARF"
-#: src/ar.c:1488
+#: src/ar.c:1494
#, fuzzy, c-format
msgid "cannot represent ar_mode"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ назву розділу"
-#: src/ar.c:1494
+#: src/ar.c:1500
#, fuzzy, c-format
msgid "cannot represent ar_size"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ %s"
@@ -1375,8 +1375,8 @@ msgid "Invalid value '%s' for --gaps parameter."
msgstr "Ðекоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«%s» параметра --gaps."
#: src/elfcmp.c:734 src/findtextrel.c:205 src/nm.c:364 src/ranlib.c:141
-#: src/size.c:272 src/strings.c:185 src/strip.c:517 src/strip.c:554
-#: src/unstrip.c:2052 src/unstrip.c:2081
+#: src/size.c:272 src/strings.c:185 src/strip.c:984 src/strip.c:1021
+#: src/unstrip.c:2142 src/unstrip.c:2171
#, c-format
msgid "cannot open '%s'"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ «%s»"
@@ -1391,7 +1391,7 @@ msgstr "не вдалоÑÑ Ñтворити деÑкриптор ELF Ð´Ð»Ñ Â«%
msgid "cannot create EBL descriptor for '%s'"
msgstr "не вдалоÑÑ Ñтворити деÑкриптор EBL Ð´Ð»Ñ Â«%s»"
-#: src/elfcmp.c:761 src/findtextrel.c:393
+#: src/elfcmp.c:761 src/findtextrel.c:394
#, c-format
msgid "cannot get section header of section %zu: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу %zu: %s"
@@ -1406,7 +1406,7 @@ msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ розділу %zu: %s"
msgid "cannot get relocation: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ переÑуваннÑ: %s"
-#: src/elfcompress.c:115 src/strip.c:296 src/unstrip.c:121
+#: src/elfcompress.c:115 src/strip.c:308 src/unstrip.c:121
#, c-format
msgid "-o option specified twice"
msgstr "параметр -o вказано двічі"
@@ -1461,7 +1461,7 @@ msgid ""
"rewrite the file even if no section would be (de)compressed"
msgstr ""
-#: src/elfcompress.c:1324 src/strip.c:90
+#: src/elfcompress.c:1324 src/strip.c:93
msgid "Relax a few rules to handle slightly broken ELF files"
msgstr ""
"Знехтувати декількома правилами Ð´Ð»Ñ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ трохи пошкоджених файлів ELF"
@@ -1687,7 +1687,7 @@ msgstr ""
#: src/elflint.c:610 src/elflint.c:1494 src/elflint.c:1545 src/elflint.c:1651
#: src/elflint.c:1987 src/elflint.c:2313 src/elflint.c:2932 src/elflint.c:3095
-#: src/elflint.c:3243 src/elflint.c:3433 src/elflint.c:4401
+#: src/elflint.c:3243 src/elflint.c:3433 src/elflint.c:4431
#, c-format
msgid "section [%2d] '%s': cannot get section data\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу\n"
@@ -3272,53 +3272,56 @@ msgstr ""
"розділ [%2d] «%s»: невідомий тип нотатки файла core %<PRIu32> за зміщеннÑм "
"%zu\n"
-#: src/elflint.c:4344
-#, c-format
-msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %zu\n"
+#: src/elflint.c:4370
+#, fuzzy, c-format
+msgid ""
+"phdr[%d]: unknown object file note type %<PRIu32> with owner name '%s' at "
+"offset %zu\n"
msgstr ""
"phdr[%d]: невідомий тип нотатки об’єктного файла %<PRIu32> за зміщеннÑм %zu\n"
-#: src/elflint.c:4348
-#, c-format
+#: src/elflint.c:4375
+#, fuzzy, c-format
msgid ""
-"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n"
+"section [%2d] '%s': unknown object file note type %<PRIu32> with owner name "
+"'%s' at offset %zu\n"
msgstr ""
"розділ [%2d] «%s»: невідомий тип нотатки об’єктного файла %<PRIu32> за "
"зміщеннÑм %zu\n"
-#: src/elflint.c:4365
+#: src/elflint.c:4394
#, c-format
msgid "phdr[%d]: no note entries defined for the type of file\n"
msgstr "phdr[%d]: Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ типу файлів не визначено запиÑів нотаток\n"
-#: src/elflint.c:4384
+#: src/elflint.c:4414
#, c-format
msgid "phdr[%d]: cannot get content of note section: %s\n"
msgstr "phdr[%d]: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ розділу нотаток: %s\n"
-#: src/elflint.c:4387
+#: src/elflint.c:4417
#, c-format
msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
msgstr "phdr[%d]: зайві %<PRIu64> байтів піÑÐ»Ñ Ð¾Ñтаннього запиÑу нотатки\n"
-#: src/elflint.c:4408
+#: src/elflint.c:4438
#, c-format
msgid "section [%2d] '%s': no note entries defined for the type of file\n"
msgstr ""
"розділ [%2d] «%s»: Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ типу файлів не визначено запиÑів нотаток\n"
-#: src/elflint.c:4415
+#: src/elflint.c:4445
#, c-format
msgid "section [%2d] '%s': cannot get content of note section\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ розділу нотаток\n"
-#: src/elflint.c:4418
+#: src/elflint.c:4448
#, c-format
msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
msgstr ""
"розділ [%2d] «%s»: додаткові %<PRIu64> байтів піÑÐ»Ñ Ð¾Ñтанньої нотатки\n"
-#: src/elflint.c:4436
+#: src/elflint.c:4466
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
@@ -3326,141 +3329,141 @@ msgstr ""
"заголовки програм можуть бути лише у виконуваних файлів, об’єктних файлів "
"Ñпільного викориÑÑ‚Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ файлів core\n"
-#: src/elflint.c:4451
+#: src/elflint.c:4481
#, c-format
msgid "cannot get program header entry %d: %s\n"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: %s\n"
-#: src/elflint.c:4460
+#: src/elflint.c:4490
#, c-format
msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
msgstr ""
"Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: невідомий тип запиÑу заголовка програми "
"%#<PRIx64>\n"
-#: src/elflint.c:4471
+#: src/elflint.c:4501
#, c-format
msgid "more than one INTERP entry in program header\n"
msgstr "більше за один Ð·Ð°Ð¿Ð¸Ñ INTERP у заголовку програми\n"
-#: src/elflint.c:4479
+#: src/elflint.c:4509
#, c-format
msgid "more than one TLS entry in program header\n"
msgstr "більше за один Ð·Ð°Ð¿Ð¸Ñ TLS у заголовку програми\n"
-#: src/elflint.c:4486
+#: src/elflint.c:4516
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr "у Ñтатичному виконуваному файлі не може бути динамічних розділів\n"
-#: src/elflint.c:4500
+#: src/elflint.c:4530
#, c-format
msgid "dynamic section reference in program header has wrong offset\n"
msgstr ""
"поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° динамічний розділ у заголовку програми має помилкове зміщеннÑ\n"
-#: src/elflint.c:4503
+#: src/elflint.c:4533
#, c-format
msgid "dynamic section size mismatch in program and section header\n"
msgstr ""
"розміри динамічного розділу у заголовку програми та у заголовку розділу не "
"збігаютьÑÑ\n"
-#: src/elflint.c:4513
+#: src/elflint.c:4543
#, c-format
msgid "more than one GNU_RELRO entry in program header\n"
msgstr "більше за один Ð·Ð°Ð¿Ð¸Ñ GNU_RELRO у заголовку програми\n"
-#: src/elflint.c:4534
+#: src/elflint.c:4564
#, c-format
msgid "loadable segment GNU_RELRO applies to is not writable\n"
msgstr ""
"придатний до Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñегмент, до Ñкого звертаєтьÑÑ GNU_RELRO, "
"непридатний до запиÑу\n"
-#: src/elflint.c:4545
+#: src/elflint.c:4575
#, c-format
msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
msgstr ""
"прапорці придатного до Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñегмента [%u] не відповідають прапорцÑм "
"GNU_RELRO [%u]\n"
-#: src/elflint.c:4552
+#: src/elflint.c:4582
#, c-format
msgid ""
"GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
msgstr ""
-#: src/elflint.c:4561 src/elflint.c:4584
+#: src/elflint.c:4591 src/elflint.c:4614
#, c-format
msgid "%s segment not contained in a loaded segment\n"
msgstr "Ñегмент %s не міÑтитьÑÑ Ñƒ завантаженому Ñегменті\n"
-#: src/elflint.c:4590
+#: src/elflint.c:4620
#, c-format
msgid "program header offset in ELF header and PHDR entry do not match"
msgstr "Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми у заголовку ELF Ñ– Ð·Ð°Ð¿Ð¸Ñ PHDR не збігаютьÑÑ"
-#: src/elflint.c:4615
+#: src/elflint.c:4647
#, c-format
msgid "call frame search table reference in program header has wrong offset\n"
msgstr ""
"поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° таблицю вікон викликів у заголовку програми має помилкове "
"зміщеннÑ\n"
-#: src/elflint.c:4618
+#: src/elflint.c:4650
#, c-format
msgid "call frame search table size mismatch in program and section header\n"
msgstr ""
"розміри таблиці пошуку вікон виклику у заголовку програми та у заголовку "
"розділу не збігаютьÑÑ\n"
-#: src/elflint.c:4631
+#: src/elflint.c:4663
#, 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:4639
+#: src/elflint.c:4671
#, c-format
msgid "call frame search table must be allocated\n"
msgstr "таблицю пошуку вікон викликів має бути розміщено у пам’ÑÑ‚Ñ–\n"
-#: src/elflint.c:4642
+#: src/elflint.c:4674
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
msgstr "розділ [%2zu] «%s» має бути розміщено у пам’ÑÑ‚Ñ–\n"
-#: src/elflint.c:4646
+#: src/elflint.c:4678
#, c-format
msgid "call frame search table must not be writable\n"
msgstr "Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ вікон викликів не повинна бути придатною до запиÑу\n"
-#: src/elflint.c:4649
+#: src/elflint.c:4681
#, c-format
msgid "section [%2zu] '%s' must not be writable\n"
msgstr "розділ [%2zu] «%s» не повинен бути придатним до запиÑу\n"
-#: src/elflint.c:4654
+#: src/elflint.c:4686
#, c-format
msgid "call frame search table must not be executable\n"
msgstr "Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ вікон викликів не повинна бути придатною до виконаннÑ\n"
-#: src/elflint.c:4657
+#: src/elflint.c:4689
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
msgstr "розділ [%2zu] «%s» не повинен бути придатним до виконаннÑ\n"
-#: src/elflint.c:4668
+#: src/elflint.c:4700
#, c-format
msgid "program header entry %d: file size greater than memory size\n"
msgstr "Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: розмір файла перевищує об’єм пам’ÑÑ‚Ñ–\n"
-#: src/elflint.c:4675
+#: src/elflint.c:4707
#, c-format
msgid "program header entry %d: alignment not a power of 2\n"
msgstr "Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ Ð½Ðµ Ñ” Ñтепенем 2\n"
-#: src/elflint.c:4678
+#: src/elflint.c:4710
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
@@ -3469,7 +3472,7 @@ msgstr ""
"Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñƒ файлі Ñ– віртуальна адреÑа не "
"ÑпіввідноÑÑÑ‚ÑŒÑÑ Ð· вирівнюваннÑм\n"
-#: src/elflint.c:4691
+#: src/elflint.c:4723
#, c-format
msgid ""
"executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME "
@@ -3478,12 +3481,12 @@ msgstr ""
"виконуваний модуль/DSO з розділом .eh_frame_hdr не міÑтить запиÑу заголовка "
"програми PT_GNU_EH_FRAME"
-#: src/elflint.c:4725
+#: src/elflint.c:4757
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ заголовок ELF: %s\n"
-#: src/elflint.c:4751
+#: src/elflint.c:4783
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr ""
@@ -3508,7 +3511,7 @@ msgstr "Шукає джерело переÑуваного текÑту у ФÐÐ
#. Strings for arguments in help texts.
#: src/findtextrel.c:74 src/nm.c:108 src/objdump.c:71 src/size.c:80
-#: src/strings.c:87 src/strip.c:98
+#: src/strings.c:87 src/strip.c:101
msgid "[FILE...]"
msgstr "[ФÐЙЛ...]"
@@ -3527,55 +3530,55 @@ msgstr "«%s» не є DSO або PIE"
msgid "getting get section header of section %zu: %s"
msgstr "Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ð½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° розділу get розділу %zu: %s"
-#: src/findtextrel.c:276
+#: src/findtextrel.c:277
#, c-format
msgid "cannot read dynamic section: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ динамічний розділ: %s"
-#: src/findtextrel.c:297
+#: src/findtextrel.c:298
#, c-format
msgid "no text relocations reported in '%s'"
msgstr "у «%s» не виÑвлено переÑувань текÑту"
-#: src/findtextrel.c:309
+#: src/findtextrel.c:310
#, c-format
msgid "while reading ELF file"
msgstr "під Ñ‡Ð°Ñ Ñпроби Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° ELF"
-#: src/findtextrel.c:313
+#: src/findtextrel.c:314
#, c-format
msgid "cannot get program header count: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ кількіÑÑ‚ÑŒ заголовків програми: %s"
-#: src/findtextrel.c:324 src/findtextrel.c:341
+#: src/findtextrel.c:325 src/findtextrel.c:342
#, c-format
msgid "cannot get program header index at offset %zd: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ñ–Ð½Ð´ÐµÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми за зміщеннÑм %zd: %s"
-#: src/findtextrel.c:405
+#: src/findtextrel.c:406
#, c-format
msgid "cannot get symbol table section %zu in '%s': %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ таблицю Ñимволів розділу %zu у «%s»: %s"
-#: src/findtextrel.c:425 src/findtextrel.c:448
+#: src/findtextrel.c:427 src/findtextrel.c:450
#, c-format
msgid "cannot get relocation at index %d in section %zu in '%s': %s"
msgstr ""
"не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð° індекÑом %d у розділі %zu у «%s»: %s"
-#: src/findtextrel.c:514
+#: src/findtextrel.c:516
#, c-format
msgid "%s not compiled with -fpic/-fPIC\n"
msgstr "%s не зібрано з -fpic/-fPIC\n"
-#: src/findtextrel.c:567
+#: src/findtextrel.c:570
#, c-format
msgid ""
"the file containing the function '%s' is not compiled with -fpic/-fPIC\n"
msgstr ""
"файл, що міÑтить функцію «%s», не було зібрано з параметрами -fpic/-fPIC\n"
-#: src/findtextrel.c:574 src/findtextrel.c:594
+#: src/findtextrel.c:577 src/findtextrel.c:597
#, c-format
msgid ""
"the file containing the function '%s' might not be compiled with -fpic/-"
@@ -3584,7 +3587,7 @@ msgstr ""
"файл, що міÑтить функцію «%s», ймовірно, не було зібрано з параметрами -"
"fpic/-fPIC\n"
-#: src/findtextrel.c:582
+#: src/findtextrel.c:585
#, c-format
msgid ""
"either the file containing the function '%s' or the file containing the "
@@ -3593,7 +3596,7 @@ msgstr ""
"файл, що міÑтить функцію «%s», або файл, що міÑтить функцію «%s», зібрано "
"без параметрів -fpic/-fPIC\n"
-#: src/findtextrel.c:602
+#: src/findtextrel.c:605
#, c-format
msgid ""
"a relocation modifies memory at offset %llu in a write-protected segment\n"
@@ -3601,7 +3604,7 @@ msgstr ""
"переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¸Ð·Ð²Ð¾Ð´Ð¸Ñ‚ÑŒ до зміни запиÑу пам’ÑÑ‚Ñ– за зміщеннÑм %llu у "
"захищеному від запиÑу Ñегменті\n"
-#: src/nm.c:66 src/strip.c:69
+#: src/nm.c:66 src/strip.c:70
msgid "Output selection:"
msgstr "Вибір виводу:"
@@ -3665,7 +3668,7 @@ msgstr "Позначати Ñпеціальні Ñимволи"
msgid "Print size of defined symbols"
msgstr "ВивеÑти розмір визначених Ñимволів"
-#: src/nm.c:91 src/size.c:68 src/strip.c:74 src/unstrip.c:73
+#: src/nm.c:91 src/size.c:68 src/strip.c:75 src/unstrip.c:73
msgid "Output options:"
msgstr "Параметри виводу:"
@@ -3694,18 +3697,18 @@ msgstr "Показати ÑпиÑок Ñимволів з ФÐЙЛів (типо
msgid "Output formatting"
msgstr "Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ"
-#: src/nm.c:140 src/objdump.c:103 src/size.c:105 src/strip.c:130
+#: src/nm.c:140 src/objdump.c:103 src/size.c:105 src/strip.c:133
#, c-format
msgid "%s: INTERNAL ERROR %d (%s): %s"
msgstr "%s: Ð’ÐУТРІШÐЯ ПОМИЛКР%d (%s): %s"
#: src/nm.c:381 src/nm.c:393 src/size.c:288 src/size.c:297 src/size.c:308
-#: src/strip.c:2505
+#: src/strip.c:2747
#, c-format
msgid "while closing '%s'"
msgstr "під Ñ‡Ð°Ñ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Â«%s»"
-#: src/nm.c:403 src/objdump.c:280 src/strip.c:442
+#: src/nm.c:403 src/objdump.c:280 src/strip.c:797
#, c-format
msgid "%s: File format not recognized"
msgstr "%s: не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ñ‚Ð¸ формат файла"
@@ -3745,12 +3748,12 @@ msgid "cannot create search tree"
msgstr "не вдалоÑÑ Ñтворити дерево пошуку"
#: src/nm.c:746 src/nm.c:1207 src/objdump.c:777 src/readelf.c:605
-#: src/readelf.c:1410 src/readelf.c:1558 src/readelf.c:1759 src/readelf.c:1965
-#: src/readelf.c:2155 src/readelf.c:2333 src/readelf.c:2409 src/readelf.c:2667
-#: src/readelf.c:2743 src/readelf.c:2830 src/readelf.c:3428 src/readelf.c:3478
-#: src/readelf.c:3541 src/readelf.c:11044 src/readelf.c:12216
-#: src/readelf.c:12419 src/readelf.c:12487 src/size.c:396 src/size.c:465
-#: src/strip.c:571
+#: src/readelf.c:1412 src/readelf.c:1563 src/readelf.c:1764 src/readelf.c:1970
+#: src/readelf.c:2160 src/readelf.c:2338 src/readelf.c:2414 src/readelf.c:2672
+#: src/readelf.c:2748 src/readelf.c:2835 src/readelf.c:3433 src/readelf.c:3483
+#: src/readelf.c:3546 src/readelf.c:11091 src/readelf.c:12276
+#: src/readelf.c:12480 src/readelf.c:12548 src/size.c:398 src/size.c:467
+#: src/strip.c:1038
#, c-format
msgid "cannot get section header string table index"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñ–Ð½Ð´ÐµÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° розділу у таблиці Ñ€Ñдків"
@@ -3843,11 +3846,11 @@ msgstr "Ðе вказано дії.\n"
msgid "while close `%s'"
msgstr "під Ñ‡Ð°Ñ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Â«%s»"
-#: src/objdump.c:363 src/readelf.c:2060 src/readelf.c:2252
+#: src/objdump.c:363 src/readelf.c:2065 src/readelf.c:2257
msgid "INVALID SYMBOL"
msgstr "ÐЕКОРЕКТÐИЙ СИМВОЛ"
-#: src/objdump.c:378 src/readelf.c:2094 src/readelf.c:2288
+#: src/objdump.c:378 src/readelf.c:2099 src/readelf.c:2293
msgid "INVALID SECTION"
msgstr "ÐЕКОРЕКТÐИЙ РОЗДІЛ"
@@ -4052,21 +4055,21 @@ msgstr "Ðевідомий діагноÑтичний розділ DWARF «%s».
msgid "cannot generate Elf descriptor: %s"
msgstr "не вдалоÑÑ Ñтворити деÑкриптор Elf: %s"
-#: src/readelf.c:596 src/readelf.c:924 src/strip.c:640
+#: src/readelf.c:596 src/readelf.c:923 src/strip.c:1133
#, c-format
msgid "cannot determine number of sections: %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ кількіÑÑ‚ÑŒ розділів: %s"
-#: src/readelf.c:614 src/readelf.c:1226 src/readelf.c:1434
+#: src/readelf.c:614 src/readelf.c:1228 src/readelf.c:1436
#, c-format
msgid "cannot get section: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ розділ: %s"
-#: src/readelf.c:623 src/readelf.c:1233 src/readelf.c:1442 src/readelf.c:12439
-#: src/unstrip.c:394 src/unstrip.c:425 src/unstrip.c:474 src/unstrip.c:584
-#: src/unstrip.c:605 src/unstrip.c:642 src/unstrip.c:846 src/unstrip.c:1138
-#: src/unstrip.c:1330 src/unstrip.c:1391 src/unstrip.c:1564 src/unstrip.c:1679
-#: src/unstrip.c:1819 src/unstrip.c:1914
+#: src/readelf.c:623 src/readelf.c:1235 src/readelf.c:1444 src/readelf.c:12500
+#: src/unstrip.c:395 src/unstrip.c:426 src/unstrip.c:481 src/unstrip.c:600
+#: src/unstrip.c:621 src/unstrip.c:660 src/unstrip.c:871 src/unstrip.c:1202
+#: src/unstrip.c:1394 src/unstrip.c:1458 src/unstrip.c:1632 src/unstrip.c:1766
+#: src/unstrip.c:1909 src/unstrip.c:2004
#, c-format
msgid "cannot get section header: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу: %s"
@@ -4076,8 +4079,8 @@ msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу:
msgid "cannot get section name"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ назву розділу"
-#: src/readelf.c:640 src/readelf.c:6533 src/readelf.c:10317 src/readelf.c:10419
-#: src/readelf.c:10596
+#: src/readelf.c:640 src/readelf.c:6539 src/readelf.c:10363 src/readelf.c:10465
+#: src/readelf.c:10643
#, c-format
msgid "cannot get %s content: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані %s: %s"
@@ -4127,53 +4130,58 @@ msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ «%s»: %s"
msgid "No such section '%s' in '%s'"
msgstr "У «%2$s» немає розділу «%1$s»"
-#: src/readelf.c:909
+#: src/readelf.c:908
#, c-format
msgid "cannot read ELF header: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ заголовок ELF: %s"
-#: src/readelf.c:917
+#: src/readelf.c:916
#, c-format
msgid "cannot create EBL handle"
msgstr "не вдалоÑÑ Ñтворити деÑкриптор EBL"
-#: src/readelf.c:930
+#: src/readelf.c:929
#, c-format
msgid "cannot determine number of program headers: %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ кількіÑÑ‚ÑŒ заголовків програми: %s"
-#: src/readelf.c:1020
+#: src/readelf.c:961
+#, fuzzy, c-format
+msgid "cannot read ELF: %s"
+msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ %s: %s"
+
+#: src/readelf.c:1022
msgid "NONE (None)"
msgstr "NONE (Ðемає)"
-#: src/readelf.c:1021
+#: src/readelf.c:1023
msgid "REL (Relocatable file)"
msgstr "REL (Придатний до переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»)"
-#: src/readelf.c:1022
+#: src/readelf.c:1024
msgid "EXEC (Executable file)"
msgstr "EXEC (Виконуваний файл)"
-#: src/readelf.c:1023
+#: src/readelf.c:1025
msgid "DYN (Shared object file)"
msgstr "DYN (Файл об’єктів Ñпільного викориÑтаннÑ)"
-#: src/readelf.c:1024
+#: src/readelf.c:1026
msgid "CORE (Core file)"
msgstr "CORE (Файл Ñдра)"
-#: src/readelf.c:1029
+#: src/readelf.c:1031
#, c-format
msgid "OS Specific: (%x)\n"
msgstr "ОС-Ñпецифічне: (%x)\n"
#. && e_type <= ET_HIPROC always true
-#: src/readelf.c:1031
+#: src/readelf.c:1033
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr "Специфічне Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑора: (%x)\n"
-#: src/readelf.c:1041
+#: src/readelf.c:1043
msgid ""
"ELF Header:\n"
" Magic: "
@@ -4181,7 +4189,7 @@ msgstr ""
"Заголовок ELF:\n"
" Magic: "
-#: src/readelf.c:1045
+#: src/readelf.c:1047
#, c-format
msgid ""
"\n"
@@ -4190,118 +4198,118 @@ msgstr ""
"\n"
" КлаÑ: %s\n"
-#: src/readelf.c:1050
+#: src/readelf.c:1052
#, c-format
msgid " Data: %s\n"
msgstr " Дані: %s\n"
-#: src/readelf.c:1056
+#: src/readelf.c:1058
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr " ВерÑÑ–Ñ Ident: %hhd %s\n"
-#: src/readelf.c:1058 src/readelf.c:1075
+#: src/readelf.c:1060 src/readelf.c:1077
msgid "(current)"
msgstr "(поточний)"
-#: src/readelf.c:1062
+#: src/readelf.c:1064
#, c-format
msgid " OS/ABI: %s\n"
msgstr " ОС/ABI: %s\n"
-#: src/readelf.c:1065
+#: src/readelf.c:1067
#, c-format
msgid " ABI Version: %hhd\n"
msgstr " ВерÑÑ–Ñ ABI: %hhd\n"
-#: src/readelf.c:1068
+#: src/readelf.c:1070
msgid " Type: "
msgstr " Тип: "
-#: src/readelf.c:1071
+#: src/readelf.c:1073
#, c-format
msgid " Machine: %s\n"
msgstr " Ðрхітектура: %s\n"
-#: src/readelf.c:1073
+#: src/readelf.c:1075
#, c-format
msgid " Version: %d %s\n"
msgstr " ВерÑÑ–Ñ: %d %s\n"
-#: src/readelf.c:1077
+#: src/readelf.c:1079
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr " ÐдреÑа вхідної точки: %#<PRIx64>\n"
-#: src/readelf.c:1080
+#: src/readelf.c:1082
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr " Початок заголовків програм: %<PRId64> %s\n"
-#: src/readelf.c:1081 src/readelf.c:1084
+#: src/readelf.c:1083 src/readelf.c:1086
msgid "(bytes into file)"
msgstr "(байтів у файл)"
-#: src/readelf.c:1083
+#: src/readelf.c:1085
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr " Початок заголовків розділів: %<PRId64> %s\n"
-#: src/readelf.c:1086
+#: src/readelf.c:1088
#, c-format
msgid " Flags: %s\n"
msgstr " Прапорці: %s\n"
-#: src/readelf.c:1089
+#: src/readelf.c:1091
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr " Розмір цього заголовка: %<PRId16> %s\n"
-#: src/readelf.c:1090 src/readelf.c:1093 src/readelf.c:1110
+#: src/readelf.c:1092 src/readelf.c:1095 src/readelf.c:1112
msgid "(bytes)"
msgstr "(байтів)"
-#: src/readelf.c:1092
+#: src/readelf.c:1094
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr " Розмір запиÑів заголовка програми: %<PRId16> %s\n"
-#: src/readelf.c:1095
+#: src/readelf.c:1097
#, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr " КількіÑÑ‚ÑŒ запиÑів заголовків програми: %<PRId16>"
-#: src/readelf.c:1102
+#: src/readelf.c:1104
#, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr " (%<PRIu32> у [0].sh_info)"
-#: src/readelf.c:1105 src/readelf.c:1122 src/readelf.c:1136
+#: src/readelf.c:1107 src/readelf.c:1124 src/readelf.c:1138
msgid " ([0] not available)"
msgstr " ([0] недоÑтупний)"
-#: src/readelf.c:1109
+#: src/readelf.c:1111
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr " Розмір запиÑів заголовків розділів: %<PRId16> %s\n"
-#: src/readelf.c:1112
+#: src/readelf.c:1114
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr " КількіÑÑ‚ÑŒ запиÑів заголовків розділів: %<PRId16>"
-#: src/readelf.c:1119
+#: src/readelf.c:1121
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr " (%<PRIu32> у [0].sh_size)"
#. We managed to get the zeroth section.
-#: src/readelf.c:1132
+#: src/readelf.c:1134
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr " (%<PRIu32> у [0].sh_link)"
-#: src/readelf.c:1140
+#: src/readelf.c:1142
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
@@ -4310,7 +4318,7 @@ msgstr ""
" Ð†Ð½Ð´ÐµÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° розділу у таблиці Ñ€Ñдків: XINDEX%s\n"
"\n"
-#: src/readelf.c:1144
+#: src/readelf.c:1146
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
@@ -4319,12 +4327,12 @@ msgstr ""
" Ð†Ð½Ð´ÐµÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° розділу у таблиці Ñ€Ñдків: %<PRId16>\n"
"\n"
-#: src/readelf.c:1191 src/readelf.c:1399
+#: src/readelf.c:1193 src/readelf.c:1401
#, fuzzy, c-format
msgid "cannot get number of sections: %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ кількіÑÑ‚ÑŒ розділів: %s"
-#: src/readelf.c:1194
+#: src/readelf.c:1196
#, fuzzy, c-format
msgid ""
"There are %zd section headers, starting at offset %#<PRIx64>:\n"
@@ -4333,16 +4341,16 @@ msgstr ""
"ВиÑвлено %d заголовків розділів, Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ — %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:1203
+#: src/readelf.c:1205
#, fuzzy, c-format
msgid "cannot get section header string table index: %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñ–Ð½Ð´ÐµÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° розділу у таблиці Ñ€Ñдків"
-#: src/readelf.c:1206
+#: src/readelf.c:1208
msgid "Section Headers:"
msgstr "Заголовки розділів:"
-#: src/readelf.c:1209
+#: src/readelf.c:1211
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
@@ -4350,7 +4358,7 @@ msgstr ""
"[â„– ] Ðазва Тип Ðдр Змі Розмір ES Прап Lk "
"Інф Al"
-#: src/readelf.c:1211
+#: src/readelf.c:1213
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
@@ -4358,35 +4366,35 @@ msgstr ""
"[â„– ] Ðазва Тип Ðдр Змі Розмір ES "
"Прап Lk Інф Al"
-#: src/readelf.c:1216
+#: src/readelf.c:1218
msgid " [Compression Size Al]"
msgstr ""
-#: src/readelf.c:1218
+#: src/readelf.c:1220
msgid " [Compression Size Al]"
msgstr ""
-#: src/readelf.c:1294
+#: src/readelf.c:1296
#, fuzzy, c-format
msgid "bad compression header for section %zd: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу %zu: %s"
-#: src/readelf.c:1305
+#: src/readelf.c:1307
#, fuzzy, c-format
msgid "bad gnu compressed size for section %zd: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d: %s"
-#: src/readelf.c:1323
+#: src/readelf.c:1325
msgid "Program Headers:"
msgstr "Заголовки програми:"
-#: src/readelf.c:1325
+#: src/readelf.c:1327
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
" Тип Зміщен ВіртÐдр ФізÐдр РозмФайл РозмПам Пра Вирів"
-#: src/readelf.c:1328
+#: src/readelf.c:1330
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
@@ -4394,12 +4402,12 @@ msgstr ""
" Тип Зміщен ВіртÐдр ФізÐдр "
"РозмФайлРозмПам Пра Вирів"
-#: src/readelf.c:1385
+#: src/readelf.c:1387
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr "\t[Запит щодо інтерпретатора програми: %s]\n"
-#: src/readelf.c:1412
+#: src/readelf.c:1414
msgid ""
"\n"
" Section to Segment mapping:\n"
@@ -4409,12 +4417,12 @@ msgstr ""
" Ð’Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² на Ñегмент:\n"
" Розділи Ñегмента..."
-#: src/readelf.c:1423 src/unstrip.c:1973 src/unstrip.c:2015 src/unstrip.c:2022
+#: src/readelf.c:1425 src/unstrip.c:2063 src/unstrip.c:2105 src/unstrip.c:2112
#, c-format
msgid "cannot get program header: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок програми: %s"
-#: src/readelf.c:1566
+#: src/readelf.c:1571
#, c-format
msgid ""
"\n"
@@ -4432,7 +4440,7 @@ msgstr[2] ""
"\n"
"Група розділів COMDAT [%2zu] «%s» з підпиÑом «%s» міÑтить %zu запиÑів:\n"
-#: src/readelf.c:1571
+#: src/readelf.c:1576
#, c-format
msgid ""
"\n"
@@ -4450,31 +4458,31 @@ msgstr[2] ""
"\n"
"Група розділів [%2zu] «%s» з підпиÑом «%s» міÑтить %zu запиÑів:\n"
-#: src/readelf.c:1579
+#: src/readelf.c:1584
msgid "<INVALID SYMBOL>"
msgstr "<ÐЕКОРЕКТÐИЙ СИМВОЛ>"
-#: src/readelf.c:1593
+#: src/readelf.c:1598
msgid "<INVALID SECTION>"
msgstr "<ÐЕКОРЕКТÐИЙ РОЗДІЛ>"
-#: src/readelf.c:1616 src/readelf.c:2343 src/readelf.c:3444 src/readelf.c:12310
-#: src/readelf.c:12317 src/readelf.c:12361 src/readelf.c:12368
+#: src/readelf.c:1621 src/readelf.c:2348 src/readelf.c:3449 src/readelf.c:12371
+#: src/readelf.c:12378 src/readelf.c:12422 src/readelf.c:12429
msgid "Couldn't uncompress section"
msgstr ""
-#: src/readelf.c:1621 src/readelf.c:2348 src/readelf.c:3449
+#: src/readelf.c:1626 src/readelf.c:2353 src/readelf.c:3454
#, fuzzy, c-format
msgid "cannot get section [%zd] header: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу: %s"
-#: src/readelf.c:1765 src/readelf.c:2415 src/readelf.c:2673 src/readelf.c:2749
-#: src/readelf.c:3053 src/readelf.c:3127 src/readelf.c:5322
+#: src/readelf.c:1770 src/readelf.c:2420 src/readelf.c:2678 src/readelf.c:2754
+#: src/readelf.c:3058 src/readelf.c:3132 src/readelf.c:5327
#, c-format
msgid "invalid sh_link value in section %zu"
msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ sh_link у розділі %zu"
-#: src/readelf.c:1768
+#: src/readelf.c:1773
#, c-format
msgid ""
"\n"
@@ -4497,36 +4505,36 @@ msgstr[2] ""
"Динамічний Ñегмент міÑтить %lu запиÑів:\n"
" Ðдр: %#0*<PRIx64> ЗміщеннÑ: %#08<PRIx64> ПоÑ. на розділ: [%2u] '%s'\n"
-#: src/readelf.c:1778
+#: src/readelf.c:1783
msgid " Type Value\n"
msgstr " Тип ЗначеннÑ\n"
-#: src/readelf.c:1802
+#: src/readelf.c:1807
#, c-format
msgid "Shared library: [%s]\n"
msgstr "Спільна бібліотека: [%s]\n"
-#: src/readelf.c:1807
+#: src/readelf.c:1812
#, c-format
msgid "Library soname: [%s]\n"
msgstr "Ðазва so бібліотеки: [%s]\n"
-#: src/readelf.c:1812
+#: src/readelf.c:1817
#, c-format
msgid "Library rpath: [%s]\n"
msgstr "Rpath бібліотеки: [%s]\n"
-#: src/readelf.c:1817
+#: src/readelf.c:1822
#, c-format
msgid "Library runpath: [%s]\n"
msgstr "Runpath бібліотеки: [%s]\n"
-#: src/readelf.c:1837
+#: src/readelf.c:1842
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr "%<PRId64> (байт)\n"
-#: src/readelf.c:1950 src/readelf.c:2140
+#: src/readelf.c:1955 src/readelf.c:2145
#, c-format
msgid ""
"\n"
@@ -4535,7 +4543,7 @@ msgstr ""
"\n"
"Ðекоректна Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів за зміщеннÑм %#0<PRIx64>\n"
-#: src/readelf.c:1968 src/readelf.c:2158
+#: src/readelf.c:1973 src/readelf.c:2163
#, c-format
msgid ""
"\n"
@@ -4564,7 +4572,7 @@ 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:1983 src/readelf.c:2173
+#: src/readelf.c:1988 src/readelf.c:2178
#, c-format
msgid ""
"\n"
@@ -4582,30 +4590,30 @@ msgstr[2] ""
"\n"
"Розділ переÑÑƒÐ²Ð°Ð½Ð½Ñ [%2u] «%s» за зміщеннÑм %#0<PRIx64> міÑтить %d запиÑів:\n"
-#: src/readelf.c:1993
+#: src/readelf.c:1998
msgid " Offset Type Value Name\n"
msgstr " Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва\n"
-#: src/readelf.c:1995
+#: src/readelf.c:2000
msgid " Offset Type Value Name\n"
msgstr " Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва\n"
-#: src/readelf.c:2048 src/readelf.c:2059 src/readelf.c:2072 src/readelf.c:2093
-#: src/readelf.c:2105 src/readelf.c:2239 src/readelf.c:2251 src/readelf.c:2265
-#: src/readelf.c:2287 src/readelf.c:2300
+#: src/readelf.c:2053 src/readelf.c:2064 src/readelf.c:2077 src/readelf.c:2098
+#: src/readelf.c:2110 src/readelf.c:2244 src/readelf.c:2256 src/readelf.c:2270
+#: src/readelf.c:2292 src/readelf.c:2305
msgid "<INVALID RELOC>"
msgstr "<ÐЕКОРЕКТÐЕ ПЕРЕМІЩЕÐÐЯ>"
-#: src/readelf.c:2183
+#: src/readelf.c:2188
msgid " Offset Type Value Addend Name\n"
msgstr " Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва додатка\n"
-#: src/readelf.c:2185
+#: src/readelf.c:2190
msgid " Offset Type Value Addend Name\n"
msgstr ""
" Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва додатка\n"
-#: src/readelf.c:2423
+#: src/readelf.c:2428
#, c-format
msgid ""
"\n"
@@ -4623,7 +4631,7 @@ msgstr[2] ""
"\n"
"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів [%2u] «%s» міÑтить %u запиÑів:\n"
-#: src/readelf.c:2428
+#: src/readelf.c:2433
#, c-format
msgid " %lu local symbol String table: [%2u] '%s'\n"
msgid_plural " %lu local symbols String table: [%2u] '%s'\n"
@@ -4631,33 +4639,33 @@ msgstr[0] " %lu лок. Ñимвол Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів: [%2u] «
msgstr[1] " %lu лок. Ñимволи Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів: [%2u] «%s»\n"
msgstr[2] " %lu лок. Ñимволів Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів: [%2u] «%s»\n"
-#: src/readelf.c:2436
+#: src/readelf.c:2441
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " â„–â„– Знач. Роз. Тип Зв’Ñз Вид. Інд Ðазва\n"
-#: src/readelf.c:2438
+#: src/readelf.c:2443
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " â„–â„– Знач. Роз. Тип Зв’Ñз Вид. Інд Ðазва\n"
-#: src/readelf.c:2458
+#: src/readelf.c:2463
#, 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:2546
+#: src/readelf.c:2551
#, c-format
msgid "bad dynamic symbol"
msgstr "помилковий динамічний Ñимвол"
-#: src/readelf.c:2628
+#: src/readelf.c:2633
msgid "none"
msgstr "немає"
-#: src/readelf.c:2645
+#: src/readelf.c:2650
msgid "| <unknown>"
msgstr "| <невідомо>"
-#: src/readelf.c:2676
+#: src/readelf.c:2681
#, c-format
msgid ""
"\n"
@@ -4680,17 +4688,17 @@ msgstr[2] ""
"Розділ потреби у верÑÑ–ÑÑ… [%2u] «%s», що міÑтить %d запиÑів:\n"
" Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»\n"
-#: src/readelf.c:2697
+#: src/readelf.c:2702
#, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: ВерÑÑ–Ñ: %hu Файл: %s Кть: %hu\n"
-#: src/readelf.c:2710
+#: src/readelf.c:2715
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: Ðазва: %s Прап: %s ВерÑÑ–Ñ: %hu\n"
-#: src/readelf.c:2753
+#: src/readelf.c:2758
#, c-format
msgid ""
"\n"
@@ -4713,18 +4721,18 @@ msgstr[2] ""
"Розділ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²ÐµÑ€ÑÑ–Ñ— [%2u] «%s», що міÑтить %d запиÑів:\n"
" Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»\n"
-#: src/readelf.c:2781
+#: src/readelf.c:2786
#, 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:2796
+#: src/readelf.c:2801
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr " %#06x: батьківÑький %d: %s\n"
#. Print the header.
-#: src/readelf.c:3057
+#: src/readelf.c:3062
#, c-format
msgid ""
"\n"
@@ -4747,15 +4755,15 @@ msgstr[2] ""
"Розділ Ñимволів верÑій [%2u] «%s», що міÑтить %d запиÑів:\n"
" Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»"
-#: src/readelf.c:3085
+#: src/readelf.c:3090
msgid " 0 *local* "
msgstr " 0 *локальний* "
-#: src/readelf.c:3090
+#: src/readelf.c:3095
msgid " 1 *global* "
msgstr " 1 *загальний* "
-#: src/readelf.c:3132
+#: src/readelf.c:3137
#, c-format
msgid ""
"\n"
@@ -4783,22 +4791,22 @@ msgstr[2] ""
"блоками):\n"
" Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»\n"
-#: src/readelf.c:3154
+#: src/readelf.c:3159
#, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr " Довжина Ðомер % від загал. ПокриттÑ\n"
-#: src/readelf.c:3156
+#: src/readelf.c:3161
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:3163
+#: src/readelf.c:3168
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:3176
+#: src/readelf.c:3181
#, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
@@ -4807,37 +4815,37 @@ msgstr ""
" Ð¡ÐµÑ€ÐµÐ´Ð½Ñ ÐºÑ–Ð»ÑŒÐºÑ–ÑÑ‚ÑŒ теÑтів: уÑпішний пошук: %f\n"
"\t\t\t неуÑпішний пошук: %f\n"
-#: src/readelf.c:3194 src/readelf.c:3258 src/readelf.c:3324
+#: src/readelf.c:3199 src/readelf.c:3263 src/readelf.c:3329
#, c-format
msgid "cannot get data for section %d: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d: %s"
-#: src/readelf.c:3202
+#: src/readelf.c:3207
#, c-format
msgid "invalid data in sysv.hash section %d"
msgstr "некоректні дані у розділі sysv.hash %d"
-#: src/readelf.c:3231
+#: src/readelf.c:3236
#, fuzzy, c-format
msgid "invalid chain in sysv.hash section %d"
msgstr "некоректні дані у розділі sysv.hash %d"
-#: src/readelf.c:3266
+#: src/readelf.c:3271
#, c-format
msgid "invalid data in sysv.hash64 section %d"
msgstr "некоректні дані у розділі sysv.hash64 %d"
-#: src/readelf.c:3297
+#: src/readelf.c:3302
#, fuzzy, c-format
msgid "invalid chain in sysv.hash64 section %d"
msgstr "некоректні дані у розділі sysv.hash64 %d"
-#: src/readelf.c:3333
+#: src/readelf.c:3338
#, c-format
msgid "invalid data in gnu.hash section %d"
msgstr "некоректні дані у розділі gnu.hash %d"
-#: src/readelf.c:3400
+#: src/readelf.c:3405
#, c-format
msgid ""
" Symbol Bias: %u\n"
@@ -4847,7 +4855,7 @@ msgstr ""
" Розмір бітової маÑки: %zu байтів %<PRIuFAST32>%% вÑтановлених бітів зÑув "
"2-го хешу: %u\n"
-#: src/readelf.c:3489
+#: src/readelf.c:3494
#, c-format
msgid ""
"\n"
@@ -4868,7 +4876,7 @@ msgstr[2] ""
"Розділ ÑпиÑку бібліотек [%2zu] «%s» за зміщеннÑм %#0<PRIx64> міÑтить %d "
"запиÑів:\n"
-#: src/readelf.c:3503
+#: src/readelf.c:3508
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
@@ -4876,7 +4884,7 @@ msgstr ""
" Бібліотека ЧаÑовий штамп ВерÑÑ–Ñ Ñуми "
"Прапорці"
-#: src/readelf.c:3553
+#: src/readelf.c:3558
#, c-format
msgid ""
"\n"
@@ -4887,102 +4895,102 @@ msgstr ""
"Розділ атрибутів об’єктів [%2zu] «%s» з %<PRIu64> байтів за зміщеннÑм "
"%#0<PRIx64>:\n"
-#: src/readelf.c:3570
+#: src/readelf.c:3575
msgid " Owner Size\n"
msgstr " ВлаÑник Розмір\n"
-#: src/readelf.c:3599
+#: src/readelf.c:3604
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
#. Unknown subsection, print and skip.
-#: src/readelf.c:3638
+#: src/readelf.c:3643
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
#. Tag_File
-#: src/readelf.c:3643
+#: src/readelf.c:3648
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " Файл: %11<PRIu32>\n"
-#: src/readelf.c:3692
+#: src/readelf.c:3697
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>, %s\n"
-#: src/readelf.c:3695
+#: src/readelf.c:3700
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3698
+#: src/readelf.c:3703
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3708
+#: src/readelf.c:3713
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3711
+#: src/readelf.c:3716
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3781
+#: src/readelf.c:3786
#, fuzzy, c-format
msgid "sprintf failure"
msgstr "помилка mprotect"
-#: src/readelf.c:4263
+#: src/readelf.c:4268
msgid "empty block"
msgstr "порожній блок"
-#: src/readelf.c:4266
+#: src/readelf.c:4271
#, c-format
msgid "%zu byte block:"
msgstr "%zu-байтовий блок:"
-#: src/readelf.c:4744
+#: src/readelf.c:4749
#, fuzzy, c-format
msgid "%*s[%2<PRIuMAX>] %s <TRUNCATED>\n"
msgstr "%*s[%4<PRIuMAX>] %s <ОБРІЗÐÐО>\n"
-#: src/readelf.c:4808
+#: src/readelf.c:4813
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr "%s %#<PRIx64> викориÑтано з різними розмірами адреÑ"
-#: src/readelf.c:4815
+#: src/readelf.c:4820
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr "%s %#<PRIx64> викориÑтано з різними розмірами зміщень"
-#: src/readelf.c:4822
+#: src/readelf.c:4827
#, c-format
msgid "%s %#<PRIx64> used with different base addresses"
msgstr "%s %#<PRIx64> викориÑтано з різними базовими адреÑами"
-#: src/readelf.c:4829
+#: src/readelf.c:4834
#, fuzzy, c-format
msgid "%s %#<PRIx64> used with different attribute %s and %s"
msgstr "%s %#<PRIx64> викориÑтано з різними розмірами адреÑ"
-#: src/readelf.c:4926
+#: src/readelf.c:4931
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr " [%6tx] <ÐЕВИКОРИСТОВУВÐÐІ ДÐÐІ У РЕШТІ РОЗДІЛУ>\n"
-#: src/readelf.c:4934
+#: src/readelf.c:4939
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr " [%6tx] <ÐЕВИКОРИСТОВУВÐÐІ ДÐÐІ> ... %<PRIu64> байтів ...\n"
-#: src/readelf.c:5012
+#: src/readelf.c:5017
#, c-format
msgid ""
"\n"
@@ -4993,7 +5001,7 @@ msgstr ""
"Розділ DWARF [%2zu] «%s» зі зміщеннÑм %#<PRIx64>:\n"
" [ Код]\n"
-#: src/readelf.c:5020
+#: src/readelf.c:5025
#, c-format
msgid ""
"\n"
@@ -5002,20 +5010,20 @@ msgstr ""
"\n"
"Розділ Ñкорочень за зміщеннÑм %<PRIu64>:\n"
-#: src/readelf.c:5033
+#: src/readelf.c:5038
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr " *** помилка під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ ÑкороченнÑ: %s\n"
-#: src/readelf.c:5049
+#: src/readelf.c:5054
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr " [%5u] зміщеннÑ: %<PRId64>, дочірній: %s, мітка: %s\n"
-#: src/readelf.c:5082 src/readelf.c:5391 src/readelf.c:5557 src/readelf.c:5942
-#: src/readelf.c:6543 src/readelf.c:8184 src/readelf.c:8854 src/readelf.c:9290
-#: src/readelf.c:9534 src/readelf.c:9699 src/readelf.c:10060
-#: src/readelf.c:10118
+#: src/readelf.c:5087 src/readelf.c:5396 src/readelf.c:5563 src/readelf.c:5948
+#: src/readelf.c:6549 src/readelf.c:8199 src/readelf.c:8870 src/readelf.c:9306
+#: src/readelf.c:9551 src/readelf.c:9717 src/readelf.c:10104
+#: src/readelf.c:10164
#, c-format
msgid ""
"\n"
@@ -5024,56 +5032,56 @@ msgstr ""
"\n"
"Розділ DWARF [%2zu] «%s» зі зміщеннÑм %#<PRIx64>:\n"
-#: src/readelf.c:5095
+#: src/readelf.c:5100
#, fuzzy, c-format
msgid "cannot get .debug_addr section data: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу: %s"
-#: src/readelf.c:5195 src/readelf.c:5219 src/readelf.c:5602 src/readelf.c:8899
+#: src/readelf.c:5200 src/readelf.c:5224 src/readelf.c:5608 src/readelf.c:8915
#, fuzzy, c-format
msgid " Length: %8<PRIu64>\n"
msgstr ""
"\n"
" Довжина: %6<PRIu64>\n"
-#: src/readelf.c:5197 src/readelf.c:5234 src/readelf.c:5615 src/readelf.c:8912
+#: src/readelf.c:5202 src/readelf.c:5239 src/readelf.c:5621 src/readelf.c:8928
#, fuzzy, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " верÑÑ–Ñ DWARF: %6<PRIuFAST16>\n"
-#: src/readelf.c:5198 src/readelf.c:5243 src/readelf.c:5624 src/readelf.c:8921
+#: src/readelf.c:5203 src/readelf.c:5248 src/readelf.c:5630 src/readelf.c:8937
#, fuzzy, c-format
msgid " Address size: %8<PRIu64>\n"
msgstr " Розмір адреÑи: %6<PRIu64>\n"
-#: src/readelf.c:5200 src/readelf.c:5253 src/readelf.c:5634 src/readelf.c:8931
+#: src/readelf.c:5205 src/readelf.c:5258 src/readelf.c:5640 src/readelf.c:8947
#, fuzzy, c-format
msgid " Segment size: %8<PRIu64>\n"
msgstr ""
" Розмір Ñегмента: %6<PRIu64>\n"
"\n"
-#: src/readelf.c:5238 src/readelf.c:5619 src/readelf.c:8916 src/readelf.c:10250
+#: src/readelf.c:5243 src/readelf.c:5625 src/readelf.c:8932 src/readelf.c:10296
#, fuzzy, c-format
msgid "Unknown version"
msgstr "невідома верÑÑ–Ñ"
-#: src/readelf.c:5248 src/readelf.c:5461 src/readelf.c:5629 src/readelf.c:8926
+#: src/readelf.c:5253 src/readelf.c:5466 src/readelf.c:5635 src/readelf.c:8942
#, c-format
msgid "unsupported address size"
msgstr "непідтримуваний розмір адреÑи"
-#: src/readelf.c:5259 src/readelf.c:5472 src/readelf.c:5639 src/readelf.c:8936
+#: src/readelf.c:5264 src/readelf.c:5477 src/readelf.c:5645 src/readelf.c:8952
#, c-format
msgid "unsupported segment size"
msgstr "непідтримуваний розмір Ñегмента"
-#: src/readelf.c:5312 src/readelf.c:5386
+#: src/readelf.c:5317 src/readelf.c:5391
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані get .debug_aranges: %s"
-#: src/readelf.c:5327
+#: src/readelf.c:5332
#, c-format
msgid ""
"\n"
@@ -5091,12 +5099,12 @@ msgstr[2] ""
"\n"
"Розділ DWARF [%2zu] «%s» за зміщеннÑм %#<PRIx64> міÑтить %zu запиÑів:\n"
-#: src/readelf.c:5358
+#: src/readelf.c:5363
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:5360
+#: src/readelf.c:5365
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
@@ -5104,7 +5112,7 @@ msgstr ""
" [%*zu] початок: %0#*<PRIx64>, довжина: %5<PRIu64>, Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ CU DIE: "
"%6<PRId64>\n"
-#: src/readelf.c:5404 src/readelf.c:8211
+#: src/readelf.c:5409 src/readelf.c:8226
#, c-format
msgid ""
"\n"
@@ -5113,13 +5121,13 @@ msgstr ""
"\n"
"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð·Ð° зміщеннÑм %zu:\n"
-#: src/readelf.c:5408 src/readelf.c:5583 src/readelf.c:6567 src/readelf.c:8222
-#: src/readelf.c:8880
+#: src/readelf.c:5413 src/readelf.c:5589 src/readelf.c:6573 src/readelf.c:8237
+#: src/readelf.c:8896
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr "некоректні дані у розділі [%zu] «%s»"
-#: src/readelf.c:5424
+#: src/readelf.c:5429
#, c-format
msgid ""
"\n"
@@ -5128,27 +5136,27 @@ msgstr ""
"\n"
" Довжина: %6<PRIu64>\n"
-#: src/readelf.c:5436
+#: src/readelf.c:5441
#, c-format
msgid " DWARF version: %6<PRIuFAST16>\n"
msgstr " верÑÑ–Ñ DWARF: %6<PRIuFAST16>\n"
-#: src/readelf.c:5440
+#: src/readelf.c:5445
#, c-format
msgid "unsupported aranges version"
msgstr "непідтримувана верÑÑ–Ñ aranges"
-#: src/readelf.c:5451
+#: src/readelf.c:5456
#, c-format
msgid " CU offset: %6<PRIx64>\n"
msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ CU: %6<PRIx64>\n"
-#: src/readelf.c:5457
+#: src/readelf.c:5462
#, c-format
msgid " Address size: %6<PRIu64>\n"
msgstr " Розмір адреÑи: %6<PRIu64>\n"
-#: src/readelf.c:5468
+#: src/readelf.c:5473
#, c-format
msgid ""
" Segment size: %6<PRIu64>\n"
@@ -5157,111 +5165,111 @@ msgstr ""
" Розмір Ñегмента: %6<PRIu64>\n"
"\n"
-#: src/readelf.c:5523
+#: src/readelf.c:5528
#, c-format
msgid " %zu padding bytes\n"
msgstr " %zu байтів доповненнÑ\n"
-#: src/readelf.c:5566
+#: src/readelf.c:5572
#, fuzzy, c-format
msgid "cannot get .debug_rnglists content: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані .debug_ranges: %s"
-#: src/readelf.c:5589 src/readelf.c:8886
+#: src/readelf.c:5595 src/readelf.c:8902
#, fuzzy, c-format
msgid ""
"Table at Offset 0x%<PRIx64>:\n"
"\n"
msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ .debug_line: 0x%<PRIx64>\n"
-#: src/readelf.c:5644 src/readelf.c:8941
+#: src/readelf.c:5650 src/readelf.c:8957
#, fuzzy, c-format
msgid " Offset entries: %8<PRIu64>\n"
msgstr " Довжина зміщеннÑ: %<PRIu8>\n"
-#: src/readelf.c:5660 src/readelf.c:8957
+#: src/readelf.c:5666 src/readelf.c:8973
#, c-format
msgid " Unknown CU base: "
msgstr ""
-#: src/readelf.c:5662 src/readelf.c:8959
+#: src/readelf.c:5668 src/readelf.c:8975
#, c-format
msgid " CU [%6<PRIx64>] base: "
msgstr ""
-#: src/readelf.c:5668 src/readelf.c:8965
+#: src/readelf.c:5674 src/readelf.c:8981
#, c-format
msgid " Not associated with a CU.\n"
msgstr ""
-#: src/readelf.c:5679 src/readelf.c:8976
+#: src/readelf.c:5685 src/readelf.c:8992
#, c-format
msgid "too many offset entries for unit length"
msgstr ""
-#: src/readelf.c:5683 src/readelf.c:8980
+#: src/readelf.c:5689 src/readelf.c:8996
#, fuzzy, c-format
msgid " Offsets starting at 0x%<PRIx64>:\n"
msgstr " ЗміщеннÑ: 0x%<PRIx64>\n"
-#: src/readelf.c:5735
+#: src/readelf.c:5741
#, fuzzy, c-format
msgid "invalid range list data"
msgstr "некоректні дані"
-#: src/readelf.c:5920 src/readelf.c:9268
+#: src/readelf.c:5926 src/readelf.c:9284
#, fuzzy, c-format
msgid ""
" %zu padding bytes\n"
"\n"
msgstr " %zu байтів доповненнÑ\n"
-#: src/readelf.c:5937
+#: src/readelf.c:5943
#, c-format
msgid "cannot get .debug_ranges content: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані .debug_ranges: %s"
-#: src/readelf.c:5973 src/readelf.c:9323
+#: src/readelf.c:5979 src/readelf.c:9339
#, c-format
msgid ""
"\n"
" Unknown CU base: "
msgstr ""
-#: src/readelf.c:5975 src/readelf.c:9325
+#: src/readelf.c:5981 src/readelf.c:9341
#, c-format
msgid ""
"\n"
" CU [%6<PRIx64>] base: "
msgstr ""
-#: src/readelf.c:5984 src/readelf.c:9351 src/readelf.c:9377
+#: src/readelf.c:5990 src/readelf.c:9367 src/readelf.c:9393
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr " [%6tx] <ÐЕКОРЕКТÐІ ДÐÐІ>\n"
-#: src/readelf.c:6005 src/readelf.c:9457
+#: src/readelf.c:6011 src/readelf.c:9473
#, fuzzy, c-format
msgid ""
" [%6tx] base address\n"
" "
msgstr " [%6tx] базова адреÑа %s\n"
-#: src/readelf.c:6013 src/readelf.c:9465
+#: src/readelf.c:6019 src/readelf.c:9481
#, fuzzy, c-format
msgid " [%6tx] empty list\n"
msgstr " [%6tx] порожній ÑпиÑок\n"
-#: src/readelf.c:6268
+#: src/readelf.c:6274
msgid " <INVALID DATA>\n"
msgstr " <ÐЕКОРЕКТÐІ ДÐÐІ>\n"
-#: src/readelf.c:6521
+#: src/readelf.c:6527
#, c-format
msgid "cannot get ELF: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ELF: %s"
-#: src/readelf.c:6539
+#: src/readelf.c:6545
#, c-format
msgid ""
"\n"
@@ -5270,7 +5278,7 @@ msgstr ""
"\n"
"Розділ відомоÑтей щодо вікна викликів [%2zu] «%s» за зміщеннÑм %#<PRIx64>:\n"
-#: src/readelf.c:6589
+#: src/readelf.c:6595
#, c-format
msgid ""
"\n"
@@ -5279,65 +5287,65 @@ msgstr ""
"\n"
" [%6tx] нульовий переривач\n"
-#: src/readelf.c:6682 src/readelf.c:6836
+#: src/readelf.c:6696 src/readelf.c:6850
#, c-format
msgid "invalid augmentation length"
msgstr "некоректна довжина збільшеннÑ"
-#: src/readelf.c:6697
+#: src/readelf.c:6711
msgid "FDE address encoding: "
msgstr "ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð´Ñ€ÐµÑи FDE: "
-#: src/readelf.c:6703
+#: src/readelf.c:6717
msgid "LSDA pointer encoding: "
msgstr "ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° LSDA: "
-#: src/readelf.c:6813
+#: src/readelf.c:6827
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr " (зміщеннÑ: %#<PRIx64>)"
-#: src/readelf.c:6820
+#: src/readelf.c:6834
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr " (Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ кінцÑ: %#<PRIx64>)"
-#: src/readelf.c:6857
+#: src/readelf.c:6871
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr " %-26sвказівник LSDA: %#<PRIx64>\n"
-#: src/readelf.c:6942
+#: src/readelf.c:6956
#, fuzzy, c-format
msgid "DIE [%<PRIx64>] cannot get attribute code: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ код атрибута: %s"
-#: src/readelf.c:6952
+#: src/readelf.c:6966
#, fuzzy, c-format
msgid "DIE [%<PRIx64>] cannot get attribute form: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ форму атрибута: %s"
-#: src/readelf.c:6974
+#: src/readelf.c:6988
#, fuzzy, c-format
msgid "DIE [%<PRIx64>] cannot get attribute '%s' (%s) value: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°: %s"
-#: src/readelf.c:7307
+#: src/readelf.c:7321
#, fuzzy, c-format
msgid "invalid file (%<PRId64>): %s"
msgstr "некоректний файл"
-#: src/readelf.c:7311
+#: src/readelf.c:7325
#, fuzzy, c-format
msgid "no srcfiles for CU [%<PRIx64>]"
msgstr " вÑтановити файл у %<PRIu64>\n"
-#: src/readelf.c:7315
+#: src/readelf.c:7329
#, fuzzy, c-format
msgid "couldn't get DWARF CU: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ELF: %s"
-#: src/readelf.c:7538
+#: src/readelf.c:7552
#, c-format
msgid ""
"\n"
@@ -5348,12 +5356,12 @@ msgstr ""
"Розділ DWARF [%2zu] «%s» за зміщеннÑм %#<PRIx64>:\n"
" [ЗміщеннÑ]\n"
-#: src/readelf.c:7588
+#: src/readelf.c:7602
#, fuzzy, c-format
msgid "cannot get next unit: %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ наÑтупний DIE: %s"
-#: src/readelf.c:7607
+#: src/readelf.c:7621
#, fuzzy, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5366,7 +5374,7 @@ msgstr ""
"ЗміщеннÑ: %<PRIu8>\n"
" ÐŸÑ–Ð´Ð¿Ð¸Ñ Ñ‚Ð¸Ð¿Ñƒ: %#<PRIx64>, Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ: %#<PRIx64>\n"
-#: src/readelf.c:7619
+#: src/readelf.c:7633
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5377,38 +5385,38 @@ msgstr ""
" ВерÑÑ–Ñ: %<PRIu16>, Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñкорочень: %<PRIu64>, ÐдреÑа: %<PRIu8>, "
"ЗміщеннÑ: %<PRIu8>\n"
-#: src/readelf.c:7629 src/readelf.c:7792
+#: src/readelf.c:7643 src/readelf.c:7806
#, c-format
msgid " Unit type: %s (%<PRIu8>)"
msgstr ""
-#: src/readelf.c:7656
+#: src/readelf.c:7670
#, c-format
msgid "unknown version (%d) or unit type (%d)"
msgstr ""
-#: src/readelf.c:7685
+#: src/readelf.c:7699
#, c-format
msgid "cannot get DIE offset: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ DIE: %s"
-#: src/readelf.c:7694
+#: src/readelf.c:7708
#, fuzzy, c-format
msgid "cannot get tag of DIE at offset [%<PRIx64>] in section '%s': %s"
msgstr ""
"не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ мітку DIE за зміщеннÑм %<PRIu64> у розділі «%s»: %s"
-#: src/readelf.c:7732
+#: src/readelf.c:7746
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ наÑтупний DIE: %s\n"
-#: src/readelf.c:7740
+#: src/readelf.c:7754
#, c-format
msgid "cannot get next DIE: %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ наÑтупний DIE: %s"
-#: src/readelf.c:7784
+#: src/readelf.c:7798
#, fuzzy, c-format
msgid ""
" Split compilation unit at offset %<PRIu64>:\n"
@@ -5419,7 +5427,7 @@ msgstr ""
" ВерÑÑ–Ñ: %<PRIu16>, Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñкорочень: %<PRIu64>, ÐдреÑа: %<PRIu8>, "
"ЗміщеннÑ: %<PRIu8>\n"
-#: src/readelf.c:7835
+#: src/readelf.c:7850
#, c-format
msgid ""
"\n"
@@ -5430,18 +5438,18 @@ msgstr ""
"Розділ DWARF [%2zu] «%s» зі зміщеннÑм %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:8167
+#: src/readelf.c:8182
#, fuzzy, c-format
msgid "unknown form: %s"
msgstr "невідома форма %#<PRIx64>"
-#: src/readelf.c:8198
+#: src/readelf.c:8213
#, c-format
msgid "cannot get line data section data: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу лінійних даних: %s"
#. Print what we got so far.
-#: src/readelf.c:8300
+#: src/readelf.c:8315
#, fuzzy, c-format
msgid ""
"\n"
@@ -5472,27 +5480,27 @@ msgstr ""
"\n"
"Коди операцій:\n"
-#: src/readelf.c:8322
+#: src/readelf.c:8337
#, fuzzy, c-format
msgid "cannot handle .debug_line version: %u\n"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ верÑÑ–ÑŽ Ñимволу: %s"
-#: src/readelf.c:8330
+#: src/readelf.c:8345
#, fuzzy, c-format
msgid "cannot handle address size: %u\n"
msgstr "непідтримуваний розмір адреÑи"
-#: src/readelf.c:8338
+#: src/readelf.c:8353
#, fuzzy, c-format
msgid "cannot handle segment selector size: %u\n"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ розділ: %s"
-#: src/readelf.c:8348
+#: src/readelf.c:8363
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
msgstr "некоректні дані зі зміщеннÑм %tu у розділі [%zu] «%s»"
-#: src/readelf.c:8363
+#: src/readelf.c:8378
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
@@ -5500,7 +5508,7 @@ msgstr[0] " [%*<PRIuFAST8>] %hhu аргумент\n"
msgstr[1] " [%*<PRIuFAST8>] %hhu аргументи\n"
msgstr[2] " [%*<PRIuFAST8>] %hhu аргументів\n"
-#: src/readelf.c:8374
+#: src/readelf.c:8389
msgid ""
"\n"
"Directory table:"
@@ -5508,12 +5516,12 @@ msgstr ""
"\n"
"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ:"
-#: src/readelf.c:8380 src/readelf.c:8455
+#: src/readelf.c:8395 src/readelf.c:8470
#, fuzzy, c-format
msgid " ["
msgstr " PC: "
-#: src/readelf.c:8449
+#: src/readelf.c:8464
#, fuzzy
msgid ""
"\n"
@@ -5522,7 +5530,7 @@ msgstr ""
"\n"
" Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¼Ñ–ÑÑ†Ñ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ:"
-#: src/readelf.c:8510
+#: src/readelf.c:8525
#, fuzzy
msgid " Entry Dir Time Size Name"
msgstr ""
@@ -5530,7 +5538,7 @@ msgstr ""
"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð½Ð°Ð·Ð² файлів:\n"
" Ð—Ð°Ð¿Ð¸Ñ ÐšÐ°Ñ‚ Ð§Ð°Ñ Ð Ð¾Ð·Ð¼Ñ–Ñ€ Ðазва"
-#: src/readelf.c:8545
+#: src/readelf.c:8560
msgid ""
"\n"
"Line number statements:"
@@ -5538,120 +5546,120 @@ msgstr ""
"\n"
"Оператори номерів Ñ€Ñдків:"
-#: src/readelf.c:8568
+#: src/readelf.c:8583
#, c-format
msgid "invalid maximum operations per instruction is zero"
msgstr "некоректну кількіÑÑ‚ÑŒ операцій на інÑтрукцію прирівнÑно до нулÑ"
-#: src/readelf.c:8602
+#: src/readelf.c:8617
#, fuzzy, c-format
msgid " special opcode %u: address+%u = "
msgstr " Ñпеціальний код операції %u: адреÑа+%u = %s, Ñ€Ñдок%+d = %zu\n"
-#: src/readelf.c:8606
+#: src/readelf.c:8621
#, fuzzy, c-format
msgid ", op_index = %u, line%+d = %zu\n"
msgstr ""
" Ñпеціальний код операції %u: адреÑа+%u = %s, індекÑ_оп = %u, Ñ€Ñдок%+d = "
"%zu\n"
-#: src/readelf.c:8609
+#: src/readelf.c:8624
#, c-format
msgid ", line%+d = %zu\n"
msgstr ""
-#: src/readelf.c:8627
+#: src/readelf.c:8642
#, c-format
msgid " extended opcode %u: "
msgstr " розширений код операції %u: "
-#: src/readelf.c:8632
+#: src/readelf.c:8647
msgid " end of sequence"
msgstr " кінець поÑлідовноÑÑ‚Ñ–"
-#: src/readelf.c:8650
+#: src/readelf.c:8665
#, fuzzy, c-format
msgid " set address to "
msgstr " вÑтановити адреÑу у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %s\n"
-#: src/readelf.c:8678
+#: src/readelf.c:8693
#, 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:8691
+#: src/readelf.c:8706
#, c-format
msgid " set discriminator to %u\n"
msgstr " вÑтановити Ñ€Ð¾Ð·Ñ€Ñ–Ð·Ð½ÐµÐ½Ð½Ñ Ð´Ð»Ñ %u\n"
#. Unknown, ignore it.
-#: src/readelf.c:8696
+#: src/readelf.c:8711
msgid " unknown opcode"
msgstr " невідомий код операції"
#. Takes no argument.
-#: src/readelf.c:8708
+#: src/readelf.c:8723
msgid " copy"
msgstr " копіÑ"
-#: src/readelf.c:8717
+#: src/readelf.c:8732
#, fuzzy, c-format
msgid " advance address by %u to "
msgstr " Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи на %u до %s\n"
-#: src/readelf.c:8721 src/readelf.c:8777
+#: src/readelf.c:8736 src/readelf.c:8792
#, c-format
msgid ", op_index to %u"
msgstr ""
-#: src/readelf.c:8731
+#: src/readelf.c:8746
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr " проÑувати Ñ€Ñдок на Ñталу %d до %<PRId64>\n"
-#: src/readelf.c:8739
+#: src/readelf.c:8754
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr " вÑтановити файл у %<PRIu64>\n"
-#: src/readelf.c:8749
+#: src/readelf.c:8764
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr " вÑтановити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñтовпчика %<PRIu64>\n"
-#: src/readelf.c:8756
+#: src/readelf.c:8771
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr " вÑтановити «%s» у %<PRIuFAST8>\n"
#. Takes no argument.
-#: src/readelf.c:8762
+#: src/readelf.c:8777
msgid " set basic block flag"
msgstr " вÑтановити прапорець базового блоку"
-#: src/readelf.c:8773
+#: src/readelf.c:8788
#, fuzzy, c-format
msgid " advance address by constant %u to "
msgstr " збільшити адреÑу на Ñталу величину %u до %s\n"
-#: src/readelf.c:8792
+#: src/readelf.c:8807
#, fuzzy, c-format
msgid " advance address by fixed value %u to \n"
msgstr " збільшити адреÑу на фікÑовану величину %u до %s\n"
#. Takes no argument.
-#: src/readelf.c:8802
+#: src/readelf.c:8817
msgid " set prologue end flag"
msgstr " вÑтановити прапорець ÐºÑ–Ð½Ñ†Ñ Ð²Ñтупу"
#. Takes no argument.
-#: src/readelf.c:8807
+#: src/readelf.c:8822
msgid " set epilogue begin flag"
msgstr " вÑтановити прапорець початку епілогу"
-#: src/readelf.c:8816
+#: src/readelf.c:8831
#, c-format
msgid " set isa to %u\n"
msgstr " вÑтановити isa у %u\n"
@@ -5659,7 +5667,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:8825
+#: src/readelf.c:8840
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
@@ -5667,97 +5675,97 @@ msgstr[0] " невідомий код операції з %<PRIu8> парамеÑ
msgstr[1] " невідомий код операції з %<PRIu8> параметрами:"
msgstr[2] " невідомий код операції з %<PRIu8> параметрами:"
-#: src/readelf.c:8863
+#: src/readelf.c:8879
#, fuzzy, c-format
msgid "cannot get .debug_loclists content: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ .debug_loc: %s"
-#: src/readelf.c:9032
+#: src/readelf.c:9048
#, fuzzy, c-format
msgid "invalid loclists data"
msgstr "некоректні дані"
-#: src/readelf.c:9285
+#: src/readelf.c:9301
#, c-format
msgid "cannot get .debug_loc content: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ .debug_loc: %s"
-#: src/readelf.c:9492 src/readelf.c:10506
+#: src/readelf.c:9508 src/readelf.c:10552
msgid " <INVALID DATA>\n"
msgstr " <ÐЕКОРЕКТÐІ ДÐÐІ>\n"
-#: src/readelf.c:9546 src/readelf.c:9709
+#: src/readelf.c:9563 src/readelf.c:9726
#, c-format
msgid "cannot get macro information section data: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу відомоÑтей щодо макроÑів: %s"
-#: src/readelf.c:9626
+#: src/readelf.c:9643
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr "%*s*** незавершений Ñ€Ñдок наприкінці розділу"
-#: src/readelf.c:9649
+#: src/readelf.c:9666
#, c-format
msgid "%*s*** missing DW_MACINFO_start_file argument at end of section"
msgstr "%*s*** пропущено аргумент DW_MACINFO_start_file наприкінці розділу"
-#: src/readelf.c:9750
+#: src/readelf.c:9767
#, c-format
msgid " Offset: 0x%<PRIx64>\n"
msgstr " ЗміщеннÑ: 0x%<PRIx64>\n"
-#: src/readelf.c:9762
+#: src/readelf.c:9779
#, c-format
msgid " Version: %<PRIu16>\n"
msgstr " ВерÑÑ–Ñ: %<PRIu16>\n"
-#: src/readelf.c:9768 src/readelf.c:10625
+#: src/readelf.c:9785 src/readelf.c:10672
#, c-format
msgid " unknown version, cannot parse section\n"
msgstr " невідома верÑÑ–Ñ, не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ розділ\n"
-#: src/readelf.c:9775
-#, c-format
-msgid " Flag: 0x%<PRIx8>\n"
+#: src/readelf.c:9792
+#, fuzzy, c-format
+msgid " Flag: 0x%<PRIx8>"
msgstr " Прапорець: 0x%<PRIx8>\n"
-#: src/readelf.c:9778
+#: src/readelf.c:9821
#, c-format
msgid " Offset length: %<PRIu8>\n"
msgstr " Довжина зміщеннÑ: %<PRIu8>\n"
-#: src/readelf.c:9786
+#: src/readelf.c:9829
#, c-format
msgid " .debug_line offset: 0x%<PRIx64>\n"
msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ .debug_line: 0x%<PRIx64>\n"
-#: src/readelf.c:9811
+#: src/readelf.c:9854
#, c-format
msgid " extension opcode table, %<PRIu8> items:\n"
msgstr " Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ ÐºÐ¾Ð´Ñ–Ð² операцій розширень, запиÑів — %<PRIu8>:\n"
-#: src/readelf.c:9818
+#: src/readelf.c:9861
#, c-format
msgid " [%<PRIx8>]"
msgstr " [%<PRIx8>]"
-#: src/readelf.c:9830
+#: src/readelf.c:9873
#, c-format
msgid " %<PRIu8> arguments:"
msgstr " %<PRIu8> аргументів:"
-#: src/readelf.c:9845
+#: src/readelf.c:9888
#, c-format
msgid " no arguments."
msgstr " немає аргументів."
-#: src/readelf.c:10046
+#: src/readelf.c:10089
#, 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:10088
+#: src/readelf.c:10133
#, c-format
msgid ""
"\n"
@@ -5768,41 +5776,41 @@ msgstr ""
"Розділ DWARF [%2zu] «%s» зі зміщеннÑм %#<PRIx64>:\n"
" %*s РÑдок\n"
-#: src/readelf.c:10103
+#: src/readelf.c:10148
#, fuzzy, c-format
msgid " *** error, missing string terminator\n"
msgstr " *** помилка під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ€Ñдків: %s\n"
-#: src/readelf.c:10131
+#: src/readelf.c:10177
#, fuzzy, c-format
msgid "cannot get .debug_str_offsets section data: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу: %s"
-#: src/readelf.c:10230
+#: src/readelf.c:10276
#, fuzzy, c-format
msgid " Length: %8<PRIu64>\n"
msgstr ""
"\n"
" Довжина: %6<PRIu64>\n"
-#: src/readelf.c:10232
+#: src/readelf.c:10278
#, fuzzy, c-format
msgid " Offset size: %8<PRIu8>\n"
msgstr " Довжина зміщеннÑ: %<PRIu8>\n"
-#: src/readelf.c:10246
+#: src/readelf.c:10292
#, fuzzy, c-format
msgid " DWARF version: %8<PRIu16>\n"
msgstr " верÑÑ–Ñ DWARF: %6<PRIuFAST16>\n"
-#: src/readelf.c:10255
+#: src/readelf.c:10301
#, fuzzy, c-format
msgid " Padding: %8<PRIx16>\n"
msgstr ""
"\n"
" Довжина: %6<PRIu64>\n"
-#: src/readelf.c:10309
+#: src/readelf.c:10355
#, c-format
msgid ""
"\n"
@@ -5811,7 +5819,7 @@ msgstr ""
"\n"
"Розділ таблиці пошуку вікон виклику [%2zu] '.eh_frame_hdr':\n"
-#: src/readelf.c:10411
+#: src/readelf.c:10457
#, c-format
msgid ""
"\n"
@@ -5820,22 +5828,22 @@ msgstr ""
"\n"
"Розділ таблиці обробки виключень [%2zu] '.gcc_except_table':\n"
-#: src/readelf.c:10434
+#: src/readelf.c:10480
#, c-format
msgid " LPStart encoding: %#x "
msgstr " ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ LPStart: %#x "
-#: src/readelf.c:10446
+#: src/readelf.c:10492
#, c-format
msgid " TType encoding: %#x "
msgstr " ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ TType: %#x "
-#: src/readelf.c:10461
+#: src/readelf.c:10507
#, c-format
msgid " Call site encoding: %#x "
msgstr " ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ñ–ÑÑ†Ñ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ:%#x "
-#: src/readelf.c:10474
+#: src/readelf.c:10520
msgid ""
"\n"
" Call site table:"
@@ -5843,7 +5851,7 @@ msgstr ""
"\n"
" Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¼Ñ–ÑÑ†Ñ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ:"
-#: src/readelf.c:10488
+#: src/readelf.c:10534
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -5856,12 +5864,12 @@ msgstr ""
" МіÑце заÑтоÑуваннÑ: %#<PRIx64>\n"
" ДіÑ: %u\n"
-#: src/readelf.c:10561
+#: src/readelf.c:10607
#, c-format
msgid "invalid TType encoding"
msgstr "некоректне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ TType"
-#: src/readelf.c:10587
+#: src/readelf.c:10634
#, c-format
msgid ""
"\n"
@@ -5870,37 +5878,37 @@ msgstr ""
"\n"
"Розділ GDB [%2zu] «%s» за зміщеннÑм %#<PRIx64> міÑтить %<PRId64> байтів:\n"
-#: src/readelf.c:10616
+#: src/readelf.c:10663
#, c-format
msgid " Version: %<PRId32>\n"
msgstr " ВерÑÑ–Ñ: %<PRId32>\n"
-#: src/readelf.c:10634
+#: src/readelf.c:10681
#, c-format
msgid " CU offset: %#<PRIx32>\n"
msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ CU: %#<PRIx32>\n"
-#: src/readelf.c:10641
+#: src/readelf.c:10688
#, c-format
msgid " TU offset: %#<PRIx32>\n"
msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ TU: %#<PRIx32>\n"
-#: src/readelf.c:10648
+#: src/readelf.c:10695
#, c-format
msgid " address offset: %#<PRIx32>\n"
msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи: %#<PRIx32>\n"
-#: src/readelf.c:10655
+#: src/readelf.c:10702
#, c-format
msgid " symbol offset: %#<PRIx32>\n"
msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñимволу: %#<PRIx32>\n"
-#: src/readelf.c:10662
+#: src/readelf.c:10709
#, c-format
msgid " constant offset: %#<PRIx32>\n"
msgstr " Ñтале зміщеннÑ: %#<PRIx32>\n"
-#: src/readelf.c:10676
+#: src/readelf.c:10723
#, c-format
msgid ""
"\n"
@@ -5909,7 +5917,7 @@ msgstr ""
"\n"
" СпиÑок CU зі зміщеннÑм %#<PRIx32> міÑтить %zu запиÑів:\n"
-#: src/readelf.c:10701
+#: src/readelf.c:10748
#, c-format
msgid ""
"\n"
@@ -5918,7 +5926,7 @@ msgstr ""
"\n"
" СпиÑок TU зі зміщеннÑм %#<PRIx32> міÑтить %zu запиÑів:\n"
-#: src/readelf.c:10730
+#: src/readelf.c:10777
#, c-format
msgid ""
"\n"
@@ -5927,7 +5935,7 @@ msgstr ""
"\n"
" СпиÑок Ð°Ð´Ñ€ÐµÑ Ð·Ñ– зміщеннÑм %#<PRIx32> міÑтить %zu запиÑів:\n"
-#: src/readelf.c:10762
+#: src/readelf.c:10809
#, c-format
msgid ""
"\n"
@@ -5936,18 +5944,18 @@ msgstr ""
"\n"
" Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів за зміщеннÑм %#<PRIx32> міÑтить %zu позицій:\n"
-#: src/readelf.c:10900
+#: src/readelf.c:10947
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ деÑкриптор контекÑту зневаджуваннÑ: %s"
-#: src/readelf.c:11263 src/readelf.c:11885 src/readelf.c:11996
-#: src/readelf.c:12054
+#: src/readelf.c:11310 src/readelf.c:11932 src/readelf.c:12043
+#: src/readelf.c:12101
#, c-format
msgid "cannot convert core note data: %s"
msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ дані запиÑу Ñдра: %s"
-#: src/readelf.c:11626
+#: src/readelf.c:11673
#, c-format
msgid ""
"\n"
@@ -5956,21 +5964,21 @@ msgstr ""
"\n"
"%*s... <повторюєтьÑÑ %u разів> ..."
-#: src/readelf.c:12133
+#: src/readelf.c:12180
msgid " Owner Data size Type\n"
msgstr " ВлаÑник Розм. даних Тип\n"
-#: src/readelf.c:12151
+#: src/readelf.c:12209
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:12201
+#: src/readelf.c:12261
#, fuzzy, c-format
msgid "cannot get content of note: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ розділу запиÑів: %s"
-#: src/readelf.c:12228
+#: src/readelf.c:12288
#, c-format
msgid ""
"\n"
@@ -5980,7 +5988,7 @@ msgstr ""
"Розділ запиÑів (note) [%2zu] «%s» з %<PRIu64> байтів за зміщеннÑм "
"%#0<PRIx64>:\n"
-#: src/readelf.c:12251
+#: src/readelf.c:12311
#, c-format
msgid ""
"\n"
@@ -5989,7 +5997,7 @@ msgstr ""
"\n"
"Сегмент запиÑів з %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n"
-#: src/readelf.c:12297
+#: src/readelf.c:12358
#, c-format
msgid ""
"\n"
@@ -5998,12 +6006,12 @@ msgstr ""
"\n"
"У розділі [%zu] «%s» не міÑтитьÑÑ Ð´Ð°Ð½Ð¸Ñ… Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð´Ð°Ð¼Ð¿Ñƒ.\n"
-#: src/readelf.c:12324 src/readelf.c:12375
+#: src/readelf.c:12385 src/readelf.c:12436
#, c-format
msgid "cannot get data for section [%zu] '%s': %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ [%zu] «%s»: %s"
-#: src/readelf.c:12329
+#: src/readelf.c:12390
#, c-format
msgid ""
"\n"
@@ -6012,7 +6020,7 @@ msgstr ""
"\n"
"ШіÑÑ‚. дамп розділу [%zu] «%s», %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n"
-#: src/readelf.c:12334
+#: src/readelf.c:12395
#, fuzzy, c-format
msgid ""
"\n"
@@ -6022,7 +6030,7 @@ msgstr ""
"\n"
"ШіÑÑ‚. дамп розділу [%zu] «%s», %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n"
-#: src/readelf.c:12348
+#: src/readelf.c:12409
#, c-format
msgid ""
"\n"
@@ -6031,7 +6039,7 @@ msgstr ""
"\n"
"У розділі [%zu] «%s» не міÑтитьÑÑ Ñ€Ñдків Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð´Ð°Ð¼Ð¿Ñƒ.\n"
-#: src/readelf.c:12380
+#: src/readelf.c:12441
#, c-format
msgid ""
"\n"
@@ -6040,7 +6048,7 @@ msgstr ""
"\n"
"Розділ Ñ€Ñдків [%zu] «%s» міÑтить %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n"
-#: src/readelf.c:12385
+#: src/readelf.c:12446
#, fuzzy, c-format
msgid ""
"\n"
@@ -6050,7 +6058,7 @@ msgstr ""
"\n"
"Розділ Ñ€Ñдків [%zu] «%s» міÑтить %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n"
-#: src/readelf.c:12434
+#: src/readelf.c:12495
#, c-format
msgid ""
"\n"
@@ -6059,7 +6067,7 @@ msgstr ""
"\n"
"розділу [%lu] не Ñ–Ñнує"
-#: src/readelf.c:12463
+#: src/readelf.c:12524
#, c-format
msgid ""
"\n"
@@ -6068,12 +6076,12 @@ msgstr ""
"\n"
"розділу «%s» не Ñ–Ñнує"
-#: src/readelf.c:12520
+#: src/readelf.c:12581
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ покажчик Ñимволів архіву «%s»: %s"
-#: src/readelf.c:12523
+#: src/readelf.c:12584
#, c-format
msgid ""
"\n"
@@ -6082,7 +6090,7 @@ msgstr ""
"\n"
"У архіві «%s» немає покажчика Ñимволів\n"
-#: src/readelf.c:12527
+#: src/readelf.c:12588
#, c-format
msgid ""
"\n"
@@ -6091,12 +6099,12 @@ msgstr ""
"\n"
"Покажчик архіву «%s» міÑтить %zu запиÑів:\n"
-#: src/readelf.c:12545
+#: src/readelf.c:12606
#, c-format
msgid "cannot extract member at offset %zu in '%s': %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð´Ð¾Ð±ÑƒÑ‚Ð¸ елемент за зміщеннÑм %zu у «%s»: %s"
-#: src/readelf.c:12550
+#: src/readelf.c:12611
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "Елемент архіву «%s» міÑтить:\n"
@@ -6163,12 +6171,12 @@ msgstr "Ðекоректна оÑнова чиÑленнÑ: %s"
msgid "%s: file format not recognized"
msgstr "%s: не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ñ‚Ð¸ формат файла"
-#: src/size.c:416 src/size.c:549
+#: src/size.c:418 src/size.c:551
#, c-format
msgid " (ex %s)"
msgstr " (прикл. %s)"
-#: src/size.c:574
+#: src/size.c:576
msgid "(TOTALS)\n"
msgstr "(ЗÐГÐЛОМ)\n"
@@ -6377,31 +6385,31 @@ msgstr "помилка mprotect"
msgid "Skipping section %zd '%s' data outside file"
msgstr "ПропуÑкаємо дані %zd «%s» поза файлом"
-#: src/strip.c:70
+#: src/strip.c:71
msgid "Place stripped output into FILE"
msgstr "ВивеÑти дані піÑÐ»Ñ Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾ ФÐЙЛа"
-#: src/strip.c:71
+#: src/strip.c:72
msgid "Extract the removed sections into FILE"
msgstr "Видобути вилучені розділи до ФÐЙЛа"
-#: src/strip.c:72
+#: src/strip.c:73
msgid "Embed name FILE instead of -f argument"
msgstr "Вбудувати назву ФÐЙЛа заміÑÑ‚ÑŒ аргументу -f"
-#: src/strip.c:76
+#: src/strip.c:77
msgid "Remove all debugging symbols"
msgstr "Вилучити вÑÑ– Ñимволи зневаджуваннÑ"
-#: src/strip.c:80
+#: src/strip.c:81
msgid "Remove section headers (not recommended)"
msgstr "Вилучити заголовки розділів (не рекомендовано)"
-#: src/strip.c:82
+#: src/strip.c:83
msgid "Copy modified/access timestamps to the output"
msgstr "Скопіювати чаÑові позначки зміни/доÑтупу до виведених даних"
-#: src/strip.c:84
+#: src/strip.c:85
msgid ""
"Resolve all trivial relocations between debug sections if the removed "
"sections are placed in a debug file (only relevant for ET_REL files, "
@@ -6411,64 +6419,84 @@ msgstr ""
"вилучені розділи було розташовано у діагноÑтичному файлі (ÑтоÑуєтьÑÑ Ð»Ð¸ÑˆÐµ "
"файлів ET_REL, ÑкаÑувати дію неможливо, потребує параметра -f)"
-#: src/strip.c:86
+#: src/strip.c:87
+msgid ""
+"Similar to --reloc-debug-sections, but resolve all trivial relocations "
+"between debug sections in place. No other stripping is performed (operation "
+"is not reversable, incompatible with -f, -g, --remove-comment and --remove-"
+"section)"
+msgstr ""
+
+#: src/strip.c:89
msgid "Remove .comment section"
msgstr "Вилучити розділ .comment"
-#: src/strip.c:87
+#: src/strip.c:90
msgid ""
"Remove the named section. SECTION is an extended wildcard pattern. May be "
"given more than once. Only non-allocated sections can be removed."
msgstr ""
-#: src/strip.c:88
+#: src/strip.c:91
msgid ""
"Keep the named section. SECTION is an extended wildcard pattern. May be "
"given more than once."
msgstr ""
#. Short description of program.
-#: src/strip.c:95
+#: src/strip.c:98
msgid "Discard symbols from object files."
msgstr "Відкинути Ñимволи з об’єктних файлів"
-#: src/strip.c:241
+#: src/strip.c:247
#, c-format
msgid "--reloc-debug-sections used without -f"
msgstr "--reloc-debug-sections викориÑтано без -f"
-#: src/strip.c:255
+#: src/strip.c:253
+#, c-format
+msgid ""
+"--reloc-debug-sections-only incompatible with -f, -g, --remove-comment and --"
+"remove-section"
+msgstr ""
+
+#: src/strip.c:267
#, c-format
msgid "Only one input file allowed together with '-o' and '-f'"
msgstr ""
"Разом з «-o» або «-f» можна викориÑтовувати лише один файл вхідних даних"
-#: src/strip.c:278
+#: src/strip.c:290
#, c-format
msgid "-f option specified twice"
msgstr "параметр -f вказано двічі"
-#: src/strip.c:287
+#: src/strip.c:299
#, c-format
msgid "-F option specified twice"
msgstr "параметр -F вказано двічі"
-#: src/strip.c:346
+#: src/strip.c:362
#, fuzzy, c-format
msgid "cannot both keep and remove .comment section"
msgstr "Вилучити розділ .comment"
-#: src/strip.c:371 src/strip.c:395
+#: src/strip.c:574
+#, c-format
+msgid "bad relocation"
+msgstr "помилкове переÑуваннÑ"
+
+#: src/strip.c:726 src/strip.c:750
#, c-format
msgid "cannot stat input file '%s'"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані з вхідного файла «%s» за допомогою stat"
-#: src/strip.c:385
+#: src/strip.c:740
#, c-format
msgid "while opening '%s'"
msgstr "під Ñ‡Ð°Ñ Ñпроби Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Â«%s»"
-#: src/strip.c:423
+#: src/strip.c:778
#, c-format
msgid "%s: cannot use -o or -f when stripping archive"
msgstr ""
@@ -6481,132 +6509,132 @@ msgstr ""
#. result = handle_ar (fd, elf, NULL, fname,
#. preserve_dates ? tv : NULL);
#.
-#: src/strip.c:435
+#: src/strip.c:790
#, c-format
msgid "%s: no support for stripping archive"
msgstr "%s: підтримки Ð²Ð¸Ð»ÑƒÑ‡ÐµÐ½Ð½Ñ Ð´Ð¾Ð´Ð°Ñ‚ÐºÐ¾Ð²Ð¾Ð³Ð¾ вміÑту з архіву не передбачено"
-#: src/strip.c:534
+#: src/strip.c:1001
#, c-format
msgid "cannot open EBL backend"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ канал Ñервера EBL"
-#: src/strip.c:579
+#: src/strip.c:1046
#, c-format
msgid "cannot get number of phdrs"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ кількіÑÑ‚ÑŒ phdr"
-#: src/strip.c:595 src/strip.c:619
-#, c-format
-msgid "cannot create new file '%s': %s"
+#: src/strip.c:1060 src/strip.c:1103
+#, fuzzy, c-format
+msgid "cannot create new ehdr for file '%s': %s"
+msgstr "не вдалоÑÑ Ñтворити файл «%s»: %s"
+
+#: src/strip.c:1070 src/strip.c:1113
+#, fuzzy, c-format
+msgid "cannot create new phdr for file '%s': %s"
msgstr "не вдалоÑÑ Ñтворити файл «%s»: %s"
-#: src/strip.c:701
+#: src/strip.c:1194
#, c-format
msgid "illformed file '%s'"
msgstr "помилкове Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° «%s»"
-#: src/strip.c:711
+#: src/strip.c:1204
#, fuzzy, c-format
msgid "Cannot remove allocated section '%s'"
msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити PLT-розділ: %s"
-#: src/strip.c:720
+#: src/strip.c:1213
#, fuzzy, c-format
msgid "Cannot both keep and remove section '%s'"
msgstr "не вдалоÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ новий розділ: %s"
-#: src/strip.c:1076 src/strip.c:1210
+#: src/strip.c:1573 src/strip.c:1688
#, c-format
msgid "while generating output file: %s"
msgstr "під Ñ‡Ð°Ñ Ñпроби ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð° з виведеними даними: %s"
-#: src/strip.c:1141
+#: src/strip.c:1637
#, fuzzy, c-format
-msgid "%s: error while getting shdrstrndx: %s"
+msgid "%s: error while updating ELF header: %s"
msgstr "%s: помилка під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° ELF: %s"
-#: src/strip.c:1157
+#: src/strip.c:1646
#, fuzzy, c-format
-msgid "%s: error getting zero section: %s"
-msgstr "%s: помилка під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð°: %s"
+msgid "%s: error while getting shdrstrndx: %s"
+msgstr "%s: помилка під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° ELF: %s"
-#: src/strip.c:1166
+#: src/strip.c:1654 src/strip.c:2534
#, fuzzy, c-format
-msgid "%s: error while updating zero section: %s"
-msgstr "%s: помилка під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð°: %s"
-
-#: src/strip.c:1176 src/strip.c:2292
-#, c-format
-msgid "%s: error while creating ELF header: %s"
+msgid "%s: error updating shdrstrndx: %s"
msgstr "%s: помилка під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° ELF: %s"
-#: src/strip.c:1193
+#: src/strip.c:1671
#, c-format
msgid "while preparing output for '%s'"
msgstr "під Ñ‡Ð°Ñ Ð¿Ñ€Ð¸Ð³Ð¾Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð¸Ñ… даних Ð´Ð»Ñ Â«%s»"
-#: src/strip.c:1255 src/strip.c:1318
+#: src/strip.c:1733 src/strip.c:1796
#, c-format
msgid "while create section header section: %s"
msgstr "під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ заголовка розділу: %s"
-#: src/strip.c:1264
+#: src/strip.c:1742
#, c-format
msgid "cannot allocate section data: %s"
msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¼Ñ–Ñтити дані розділу: %s"
-#: src/strip.c:1330
+#: src/strip.c:1808
#, c-format
msgid "while create section header string table: %s"
msgstr "під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ€Ñдків заголовка розділу: %s"
-#: src/strip.c:1337
+#: src/strip.c:1815
#, fuzzy, c-format
msgid "no memory to create section header string table"
msgstr "під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñ€Ñдків заголовка розділу: %s"
-#: src/strip.c:1547
+#: src/strip.c:2027
#, c-format
msgid "Cannot remove symbol [%zd] from allocated symbol table [%zd]"
msgstr ""
-#: src/strip.c:2078
-#, c-format
-msgid "bad relocation"
-msgstr "помилкове переÑуваннÑ"
-
-#: src/strip.c:2203 src/strip.c:2316
+#: src/strip.c:2450 src/strip.c:2558
#, c-format
msgid "while writing '%s': %s"
msgstr "під Ñ‡Ð°Ñ Ð·Ð°Ð¿Ð¸Ñу «%s»: %s"
-#: src/strip.c:2214
+#: src/strip.c:2461
#, c-format
msgid "while creating '%s'"
msgstr "під Ñ‡Ð°Ñ Ñпроби ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Â«%s»"
-#: src/strip.c:2237
+#: src/strip.c:2484
#, c-format
msgid "while computing checksum for debug information"
msgstr "під Ñ‡Ð°Ñ Ð¾Ð±Ñ‡Ð¸ÑÐ»ÐµÐ½Ð½Ñ ÐºÐ¾Ð½Ñ‚Ñ€Ð¾Ð»ÑŒÐ½Ð¾Ñ— Ñуми Ð´Ð»Ñ Ð´Ñ–Ð°Ð³Ð½Ð¾Ñтичних даних"
-#: src/strip.c:2301
+#: src/strip.c:2525
+#, c-format
+msgid "%s: error while creating ELF header: %s"
+msgstr "%s: помилка під Ñ‡Ð°Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° ELF: %s"
+
+#: src/strip.c:2543
#, c-format
msgid "%s: error while reading the file: %s"
msgstr "%s: помилка під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð°: %s"
-#: src/strip.c:2341 src/strip.c:2361
+#: src/strip.c:2583 src/strip.c:2603
#, c-format
msgid "while writing '%s'"
msgstr "під Ñ‡Ð°Ñ Ñпроби запиÑу «%s»"
-#: src/strip.c:2398 src/strip.c:2405
+#: src/strip.c:2640 src/strip.c:2647
#, c-format
msgid "error while finishing '%s': %s"
msgstr "помилка під Ñ‡Ð°Ñ Ð·Ð°Ð²ÐµÑ€ÑˆÐµÐ½Ð½Ñ Â«%s»: %s"
-#: src/strip.c:2422 src/strip.c:2498
+#: src/strip.c:2664 src/strip.c:2740
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr "не вдалоÑÑ Ð²Ñтановити права доÑтупу та дату зміни «%s»"
@@ -6699,193 +6727,223 @@ msgstr "не вдалоÑÑ Ñтворити заголовок ELF: %s"
msgid "cannot get shdrstrndx:%s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ розділ: %s"
-#: src/unstrip.c:257
+#: src/unstrip.c:248 src/unstrip.c:2034
+#, c-format
+msgid "cannot get ELF header: %s"
+msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок ELF: %s"
+
+#: src/unstrip.c:258
#, fuzzy, c-format
msgid "cannot get new zero section: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ розділ: %s"
-#: src/unstrip.c:260
+#: src/unstrip.c:261
#, fuzzy, c-format
msgid "cannot update new zero section: %s"
msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ переÑуваннÑ: %s"
-#: src/unstrip.c:264
+#: src/unstrip.c:265
#, c-format
msgid "cannot copy ELF header: %s"
msgstr "не вдалоÑÑ Ñкопіювати заголовок ELF: %s"
-#: src/unstrip.c:268 src/unstrip.c:1962 src/unstrip.c:2005
+#: src/unstrip.c:269 src/unstrip.c:2052 src/unstrip.c:2095
#, c-format
msgid "cannot get number of program headers: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ кількіÑÑ‚ÑŒ заголовків програми: %s"
-#: src/unstrip.c:273 src/unstrip.c:1966
+#: src/unstrip.c:274 src/unstrip.c:2056
#, c-format
msgid "cannot create program headers: %s"
msgstr "не вдалоÑÑ Ñтворити заголовки програми: %s"
-#: src/unstrip.c:279
+#: src/unstrip.c:280
#, c-format
msgid "cannot copy program header: %s"
msgstr "не вдалоÑÑ Ñкопіювати заголовок програми: %s"
-#: src/unstrip.c:289
+#: src/unstrip.c:290
#, c-format
msgid "cannot copy section header: %s"
msgstr "не вдалоÑÑ Ñкопіювати заголовок розділу: %s"
-#: src/unstrip.c:292 src/unstrip.c:1597
+#: src/unstrip.c:293 src/unstrip.c:1665
#, c-format
msgid "cannot get section data: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу: %s"
-#: src/unstrip.c:294 src/unstrip.c:1599
+#: src/unstrip.c:295 src/unstrip.c:1667
#, c-format
msgid "cannot copy section data: %s"
msgstr "не вдалоÑÑ Ñкопіювати дані розділу: %s"
-#: src/unstrip.c:318
+#: src/unstrip.c:319
#, c-format
msgid "cannot create directory '%s'"
msgstr "не вдалоÑÑ Ñтворити каталог «%s»"
-#: src/unstrip.c:390 src/unstrip.c:820 src/unstrip.c:1631
+#: src/unstrip.c:391 src/unstrip.c:845 src/unstrip.c:1702
#, c-format
msgid "cannot get symbol table entry: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñимволів: %s"
-#: src/unstrip.c:406 src/unstrip.c:631 src/unstrip.c:652 src/unstrip.c:664
-#: src/unstrip.c:1652 src/unstrip.c:1828 src/unstrip.c:1852
+#: src/unstrip.c:407 src/unstrip.c:649 src/unstrip.c:670 src/unstrip.c:682
+#: src/unstrip.c:1723 src/unstrip.c:1918 src/unstrip.c:1942
#, c-format
msgid "cannot update symbol table: %s"
msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ таблицю Ñимволів: %s"
-#: src/unstrip.c:416
+#: src/unstrip.c:417
#, c-format
msgid "cannot update section header: %s"
msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ заголовок розділу: %s"
-#: src/unstrip.c:455 src/unstrip.c:466
+#: src/unstrip.c:459 src/unstrip.c:473
#, c-format
msgid "cannot update relocation: %s"
msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ переÑуваннÑ: %s"
-#: src/unstrip.c:554
+#: src/unstrip.c:570
#, c-format
msgid "cannot get symbol version: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ верÑÑ–ÑŽ Ñимволу: %s"
-#: src/unstrip.c:567
+#: src/unstrip.c:583
#, c-format
msgid "unexpected section type in [%zu] with sh_link to symtab"
msgstr "неочікуваний тип розділу у [%zu] з поÑиланнÑм sh_link на symtab"
-#: src/unstrip.c:826
+#: src/unstrip.c:851
#, c-format
msgid "invalid string offset in symbol [%zu]"
msgstr "некоректне Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ€Ñдка у Ñимволі [%zu]"
-#: src/unstrip.c:984 src/unstrip.c:1334
+#: src/unstrip.c:1009 src/unstrip.c:1398
#, c-format
msgid "cannot read section [%zu] name: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ назву розділу [%zu]: %s"
-#: src/unstrip.c:1025 src/unstrip.c:1044 src/unstrip.c:1082
+#: src/unstrip.c:1024
+#, fuzzy, c-format
+msgid "bad sh_link for group section: %s"
+msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ sh_link у розділі %zu"
+
+#: src/unstrip.c:1030
+#, fuzzy, c-format
+msgid "couldn't get shdr for group section: %s"
+msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок 0-го розділу: %s"
+
+#: src/unstrip.c:1035
+#, fuzzy, c-format
+msgid "bad data for group symbol section: %s"
+msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñимволів\n"
+
+#: src/unstrip.c:1041
+#, fuzzy, c-format
+msgid "couldn't get symbol for group section: %s"
+msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ верÑÑ–ÑŽ Ñимволу: %s"
+
+#: src/unstrip.c:1046
+#, fuzzy, c-format
+msgid "bad symbol name for group section: %s"
+msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу %zu: %s"
+
+#: src/unstrip.c:1088 src/unstrip.c:1107 src/unstrip.c:1145
#, c-format
msgid "cannot read '.gnu.prelink_undo' section: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ розділ «.gnu.prelink_undo»: %s"
-#: src/unstrip.c:1062
+#: src/unstrip.c:1125
#, c-format
msgid "overflow with shnum = %zu in '%s' section"
msgstr ""
-#: src/unstrip.c:1073
+#: src/unstrip.c:1136
#, c-format
msgid "invalid contents in '%s' section"
msgstr "некоректний вміÑÑ‚ розділу «%s»"
-#: src/unstrip.c:1128 src/unstrip.c:1456
+#: src/unstrip.c:1192 src/unstrip.c:1524
#, c-format
msgid "cannot find matching section for [%zu] '%s'"
msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ відповідний розділ Ð´Ð»Ñ [%zu] «%s»"
-#: src/unstrip.c:1253 src/unstrip.c:1268 src/unstrip.c:1535 src/unstrip.c:1787
+#: src/unstrip.c:1317 src/unstrip.c:1332 src/unstrip.c:1603 src/unstrip.c:1877
#, c-format
msgid "cannot add section name to string table: %s"
msgstr "не вдалоÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ назву розділу до таблиці Ñ€Ñдків: %s"
-#: src/unstrip.c:1277
+#: src/unstrip.c:1341
#, c-format
msgid "cannot update section header string table data: %s"
msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ дані заголовка розділу у таблиці Ñ€Ñдків: %s"
-#: src/unstrip.c:1305 src/unstrip.c:1309
+#: src/unstrip.c:1369 src/unstrip.c:1373
#, c-format
msgid "cannot get section header string table section index: %s"
msgstr ""
"не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ заголовка розділу у таблиці Ñ€Ñдків: %s"
-#: src/unstrip.c:1313 src/unstrip.c:1317 src/unstrip.c:1550
+#: src/unstrip.c:1377 src/unstrip.c:1381 src/unstrip.c:1618
#, c-format
msgid "cannot get section count: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ кількіÑÑ‚ÑŒ розділів: %s"
-#: src/unstrip.c:1320
+#: src/unstrip.c:1384
#, c-format
msgid "more sections in stripped file than debug file -- arguments reversed?"
msgstr ""
"у очищеному файлі більше розділів ніж у файлі з даними Ð´Ð»Ñ Ð·Ð½ÐµÐ²Ð°Ð´Ð¶ÑƒÐ²Ð°Ð½Ð½Ñ â€” "
"помилковий порÑдок параметрів?"
-#: src/unstrip.c:1379 src/unstrip.c:1471
+#: src/unstrip.c:1446 src/unstrip.c:1539
#, c-format
msgid "cannot read section header string table: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ таблицю Ñ€Ñдків заголовка розділу: %s"
-#: src/unstrip.c:1529
+#: src/unstrip.c:1597
#, c-format
msgid "cannot add new section: %s"
msgstr "не вдалоÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ новий розділ: %s"
-#: src/unstrip.c:1639
+#: src/unstrip.c:1710
#, c-format
msgid "symbol [%zu] has invalid section index"
msgstr "Ñимвол [%zu] має некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ"
-#: src/unstrip.c:1923
+#: src/unstrip.c:1742
+#, fuzzy, c-format
+msgid "group has invalid section index [%zd]"
+msgstr "Ñимвол [%zu] має некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ"
+
+#: src/unstrip.c:2013
#, c-format
msgid "cannot read section data: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ дані розділу: %s"
-#: src/unstrip.c:1944
-#, c-format
-msgid "cannot get ELF header: %s"
-msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок ELF: %s"
-
-#: src/unstrip.c:1952
+#: src/unstrip.c:2042
#, c-format
msgid "cannot update ELF header: %s"
msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ заголовок ELF: %s"
-#: src/unstrip.c:1976
+#: src/unstrip.c:2066
#, c-format
msgid "cannot update program header: %s"
msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ заголовок програми: %s"
-#: src/unstrip.c:1981 src/unstrip.c:2063
+#: src/unstrip.c:2071 src/unstrip.c:2153
#, c-format
msgid "cannot write output file: %s"
msgstr "не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати файл виведених даних: %s"
-#: src/unstrip.c:2032
+#: src/unstrip.c:2122
#, c-format
msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
msgstr ""
"Дані DWARF не Ñкориговано відповідно до Ð²Ñ–Ð´Ñ…Ð¸Ð»ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ´ компонуваннÑм; "
"Ñпробуйте виправити це командою prelink -u"
-#: src/unstrip.c:2035
+#: src/unstrip.c:2125
#, c-format
msgid ""
"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
@@ -6893,76 +6951,76 @@ msgstr ""
"Дані DWARF у «%s» не Ñкориговано відповідно до Ð²Ñ–Ð´Ñ…Ð¸Ð»ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ´ "
"компонуваннÑм; Ñпробуйте виправити це командою prelink -u"
-#: src/unstrip.c:2054 src/unstrip.c:2105 src/unstrip.c:2117 src/unstrip.c:2203
+#: src/unstrip.c:2144 src/unstrip.c:2195 src/unstrip.c:2207 src/unstrip.c:2293
#, c-format
msgid "cannot create ELF descriptor: %s"
msgstr "не вдалоÑÑ Ñтворити деÑкриптор ELF: %s"
-#: src/unstrip.c:2096
+#: src/unstrip.c:2186
msgid "WARNING: "
msgstr "УВÐГÐ: "
-#: src/unstrip.c:2098
+#: src/unstrip.c:2188
msgid ", use --force"
msgstr ", ÑкориÑтайтеÑÑ --force"
-#: src/unstrip.c:2121
+#: src/unstrip.c:2211
msgid "ELF header identification (e_ident) different"
msgstr "Різні ідентифікатори заголовків ELF (e_ident)"
-#: src/unstrip.c:2124
+#: src/unstrip.c:2214
msgid "ELF header type (e_type) different"
msgstr "Різні типи заголовків ELF (e_type)"
-#: src/unstrip.c:2127
+#: src/unstrip.c:2217
msgid "ELF header machine type (e_machine) different"
msgstr "Різні типи архітектур заголовків ELF (e_machine)"
-#: src/unstrip.c:2130
+#: src/unstrip.c:2220
msgid "stripped program header (e_phnum) smaller than unstripped"
msgstr "очищений заголовок програми (e_phnum) є меншим за неочищений"
-#: src/unstrip.c:2160
+#: src/unstrip.c:2250
#, c-format
msgid "cannot find stripped file for module '%s': %s"
msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ очищений файл Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»: %s"
-#: src/unstrip.c:2164
+#: src/unstrip.c:2254
#, c-format
msgid "cannot open stripped file '%s' for module '%s': %s"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ очищений файл «%s» Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»: %s"
-#: src/unstrip.c:2179
+#: src/unstrip.c:2269
#, c-format
msgid "cannot find debug file for module '%s': %s"
msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ файл діагноÑтичних даних Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»: %s"
-#: src/unstrip.c:2183
+#: src/unstrip.c:2273
#, c-format
msgid "cannot open debug file '%s' for module '%s': %s"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл діагноÑтичних даних «%s» Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»: %s"
-#: src/unstrip.c:2196
+#: src/unstrip.c:2286
#, c-format
msgid "module '%s' file '%s' is not stripped"
msgstr "у модулі «%s» файл «%s» не очищено strip"
-#: src/unstrip.c:2227
+#: src/unstrip.c:2317
#, c-format
msgid "cannot cache section addresses for module '%s': %s"
msgstr "не вдалоÑÑ ÐºÐµÑˆÑƒÐ²Ð°Ñ‚Ð¸ адреÑи розділів Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»: %s"
-#: src/unstrip.c:2360
+#: src/unstrip.c:2450
#, c-format
msgid "no matching modules found"
msgstr "відповідних модулів не виÑвлено"
-#: src/unstrip.c:2369
+#: src/unstrip.c:2459
#, c-format
msgid "matched more than one module"
msgstr "вÑтановлено відповідніÑÑ‚ÑŒ декількох модулів"
-#: src/unstrip.c:2413
+#: src/unstrip.c:2503
msgid ""
"STRIPPED-FILE DEBUG-FILE\n"
"[MODULE...]"
@@ -6970,7 +7028,7 @@ msgstr ""
"ОЧИЩЕÐИЙ-ФÐЙЛ ФÐЙЛ-DEBUG\n"
"[МОДУЛЬ...]"
-#: src/unstrip.c:2414
+#: src/unstrip.c:2504
#, fuzzy
msgid ""
"Combine stripped files with separate symbols and debug information.\n"
@@ -7042,6 +7100,14 @@ msgstr "Додатково вивеÑти назви функцій"
msgid "Show instances of inlined functions"
msgstr "ВивеÑти екземплÑри вбудованих функцій"
+#, fuzzy
+#~ msgid "%s: error getting zero section: %s"
+#~ msgstr "%s: помилка під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð°: %s"
+
+#, fuzzy
+#~ msgid "%s: error while updating zero section: %s"
+#~ msgstr "%s: помилка під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð°: %s"
+
#~ msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
#~ msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>"
@@ -7546,9 +7612,6 @@ msgstr "ВивеÑти екземплÑри вбудованих функцій"
#~ msgstr ""
#~ "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: небезбітовий розділ Ñлідом за безбітовим розділом"
-#~ msgid "cannot get header of 0th section: %s"
-#~ msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок 0-го розділу: %s"
-
#~ msgid "linker backend didn't specify function to relocate section"
#~ msgstr "у Ñервері ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ðµ визначено функції Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ переÑуваннÑ"
diff --git a/src/ChangeLog b/src/ChangeLog
index 6a702ee1..803ac95f 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,152 @@
+2018-11-10 Mark Wielaard <mark@klomp.org>
+
+ * elflint.c (check_program_header): Allow PT_GNU_EH_FRAME segment
+ to be matched against SHT_X86_64_UNWIND section.
+
+2018-11-09 Mark Wielaard <mark@klomp.org>
+
+ * strip.c (remove_debug_relocations): Check if section is gnu
+ compressed and decompress and recompress it.
+
+2018-11-12 Mark Wielaard <mark@klomp.org>
+
+ * elflint.c (check_note_data): Recognize NT_GNU_BUILD_ATTRIBUTE_OPEN
+ and NT_GNU_BUILD_ATTRIBUTE_OPEN.
+ * readelf.c (handle_notes_data): Handle
+ ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX. Pass nhdr.n_namesz to
+ ebl_object_note.
+
+2018-11-11 Mark Wielaard <mark@klomp.org>
+
+ * readelf.c (handle_notes_data): Pass n_descsz to
+ ebl_object_note_type_name.
+ * elflint.c (check_note_data): Recognize NT_VERSION, add owner
+ name to unknown note error.
+
+2018-10-20 Mark Wielaard <mark@klomp.org>
+
+ * readelf.c (process_elf_file): Use dwelf_elf_begin to open pure_elf.
+
+2018-10-26 Mark Wielaard <mark@klomp.org>
+
+ * strip.c (OPT_RELOC_DEBUG_ONLY): New define.
+ (options): Add reloc-debug-sections-only.
+ (reloc_debug_only): New static bool.
+ (main): Check reloc_debug_only is the only strip option used.
+ (parse_opt): Handle OPT_RELOC_DEBUG_ONLY.
+ (handle_debug_relocs): New function.
+ (handle_elf): Add local variables lastsec_offset and lastsec_size.
+ Handle reloc_debug_only.
+
+2018-10-24 Mark Wielaard <mark@klomp.org>
+
+ * strip.c (handle_elf): Extract code to update shdrstrndx into...
+ (update_shdrstrndx): ... this new function.
+
+2018-10-24 Mark Wielaard <mark@klomp.org>
+
+ * strip.c (handle_elf): Extract code into separate functions...
+ (secndx_name): ... new function.
+ (get_xndxdata): Likewise.
+ (remove_debug_relocations): Likewise.
+
+2018-10-24 Mark Wielaard <mark@klomp.org>
+
+ * strip.c (handle_elf): Always copy over phdrs if there are any
+ and check phnum instead of e_type to determine whether to move
+ allocated sections.
+
+2018-11-02 Mark Wielaard <mark@klomp.org>
+
+ * unstrip.c (copy_elf): Add ELF_CHECK to make sure gelf_getehdr ()
+ doesn't return NULL.
+
+2018-10-18 Mark Wielaard <mark@klomp.org>
+
+ * elflint.c (check_note_data): Recognize NT_GNU_PROPERTY_TYPE_0.
+ (check_note): Use p_align to pass either ELF_T_NHDR or ELF_T_NHDR8 to
+ elf_getdata_rawchunk.
+ * readelf (handle_notes): Likewise.
+
+2018-10-24 Mark Wielaard <mark@klomp.org>
+
+ * addr2line.c (print_addrsym): Use elf_getshdrstrndx instead of
+ Ehdr field.
+
+2018-10-24 Mark Wielaard <mark@klomp.org>
+
+ * readelf.c (section_name): Remove ehdr argument, lookup shstrndx.
+ (print_debug_abbrev_section): Don't pass ehdr.
+ (print_debug_addr_section): Likewise.
+ (print_decoded_aranges_section): Likewise.
+ (print_debug_aranges_section): Likewise.
+ (print_debug_rnglists_section): Likewise.
+ (print_debug_ranges_section): Likewise.
+ (print_debug_units): Likewise.
+ (print_decoded_line_section): Likewise.
+ (print_debug_line_section): Likewise.
+ (print_debug_loclists_section): Likewise.
+ (print_debug_loc_section): Likewise.
+ (print_debug_macinfo_section): Likewise.
+ (print_debug_macro_section): Likewise.
+ (print_debug_pubnames_section): Likewise.
+ (print_debug_str_section): Liekwise.
+ (print_debug_str_offsets_section): Likewise.
+ (print_gdb_index_section): Likewise.
+
+2018-10-16 Mark Wielaard <mark@klomp.org>
+
+ * readelf.c (print_debug_frame_section): Make sure readp is never
+ greater than cieend.
+
+2018-10-19 Mark Wielaard <mark@klomp.org>
+
+ * dwfl_module_getdwarf.c (adjust_relocs): Check sh_entsize is not
+ zero.
+ (add_new_section_symbols): Likewise.
+ (copy_elided_sections): Likewise.
+
+2018-10-18 Mark Wielaard <mark@klomp.org>
+
+ * size.c (handle_ar): Only close elf if prefix was NULL.
+
+2018-10-18 Mark Wielaard <mark@klomp.org>
+
+ * arlib.c (arlib_add_symbols): Check that sh_entsize is not zero.
+
+2018-10-14 Mark Wielaard <mark@klomp.org>
+
+ * ar.c (do_oper_extract): Assume epoch if ar_date is bogus.
+
+2018-10-14 Mark Wielaard <mark@klomp.org>
+
+ * findtextrel.c (process_file): Check that sh_entsize is not zero.
+
+2018-10-13 Mark Wielaard <mark@klomp.org>
+
+ * readelf.c (print_debug_macro_section): Use elf_getdata. Print
+ decoded flag string.
+
+2018-10-19 Mark Wielaard <mark@klomp.org>
+
+ * unstrip.c (copy_elided_sections): Renumber group section indexes.
+
+2018-10-12 Mark Wielaard <mark@klomp.org>
+
+ * strip.c (handle_elf): Don't remove SHF_GROUP flag from sections.
+ Skip group section flag when renumbering section indexes.
+ * unstrip.c (struct section): Add sig field.
+ (compare_unalloc_sections): Take and use sig1 and sig2 as arguments.
+ (compare_sections): Pass signatures to compare_unalloc_sections.
+ (get_group_sig): New function.
+ (find_alloc_sections_prelink): Set signature.
+ (copy_elided_sections): Likewise and pass them on.
+ (find_unalloc_section): Take and pass signatures.
+
+2018-10-02 Andreas Schwab <schwab@suse.de>
+
+ * strip.c (handle_elf): Handle ADD/SUB relocation.
+
2018-09-13 Mark Wielaard <mark@klomp.org>
* readelf.c (print_shdr): Get number of section with elf_getshdrnum.
diff --git a/src/addr2line.c b/src/addr2line.c
index b7eb893e..69d8d995 100644
--- a/src/addr2line.c
+++ b/src/addr2line.c
@@ -446,9 +446,9 @@ print_addrsym (Dwfl_Module *mod, GElf_Addr addr)
if (shdr != NULL)
{
Elf *elf = dwfl_module_getelf (mod, &ebias);
- GElf_Ehdr ehdr;
- if (gelf_getehdr (elf, &ehdr) != NULL)
- printf (" (%s)", elf_strptr (elf, ehdr.e_shstrndx,
+ size_t shstrndx;
+ if (elf_getshdrstrndx (elf, &shstrndx) >= 0)
+ printf (" (%s)", elf_strptr (elf, shstrndx,
shdr->sh_name));
}
}
diff --git a/src/ar.c b/src/ar.c
index 6f98f75d..d70f1f46 100644
--- a/src/ar.c
+++ b/src/ar.c
@@ -539,8 +539,14 @@ do_oper_extract (int oper, const char *arfname, char **argv, int argc,
else if (oper == oper_list)
{
char datestr[100];
- strftime (datestr, sizeof (datestr), "%b %e %H:%M %Y",
- localtime (&arhdr->ar_date));
+ struct tm *tp = localtime (&arhdr->ar_date);
+ if (tp == NULL)
+ {
+ time_t time = 0;
+ tp = localtime (&time);
+ }
+
+ strftime (datestr, sizeof (datestr), "%b %e %H:%M %Y", tp);
printf ("%c%c%c%c%c%c%c%c%c %u/%u %6ju %s %s\n",
(arhdr->ar_mode & S_IRUSR) ? 'r' : '-',
diff --git a/src/arlib.c b/src/arlib.c
index 778e0878..a6521e30 100644
--- a/src/arlib.c
+++ b/src/arlib.c
@@ -252,6 +252,9 @@ arlib_add_symbols (Elf *elf, const char *arfname, const char *membername,
if (data == NULL)
continue;
+ if (shdr->sh_entsize == 0)
+ continue;
+
int nsyms = shdr->sh_size / shdr->sh_entsize;
for (int ndx = shdr->sh_info; ndx < nsyms; ++ndx)
{
diff --git a/src/elflint.c b/src/elflint.c
index 3d445954..810c8bd7 100644
--- a/src/elflint.c
+++ b/src/elflint.c
@@ -1,5 +1,5 @@
/* Pedantic checking of ELF files compliance with gABI/psABI spec.
- Copyright (C) 2001-2015, 2017 Red Hat, Inc.
+ Copyright (C) 2001-2015, 2017, 2018 Red Hat, Inc.
This file is part of elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2001.
@@ -4331,7 +4331,31 @@ section [%2d] '%s': unknown core file note type %" PRIu32
case NT_GNU_HWCAP:
case NT_GNU_BUILD_ID:
case NT_GNU_GOLD_VERSION:
- break;
+ case NT_GNU_PROPERTY_TYPE_0:
+ if (nhdr.n_namesz == sizeof ELF_NOTE_GNU
+ && strcmp (data->d_buf + name_offset, ELF_NOTE_GNU) == 0)
+ break;
+ else
+ {
+ /* NT_VERSION is 1, same as NT_GNU_ABI_TAG. It has no
+ descriptor and (ab)uses the name as version string. */
+ if (nhdr.n_descsz == 0 && nhdr.n_type == NT_VERSION)
+ break;
+ }
+ goto unknown_note;
+
+ case NT_GNU_BUILD_ATTRIBUTE_OPEN:
+ case NT_GNU_BUILD_ATTRIBUTE_FUNC:
+ /* GNU Build Attributes store most data in the owner
+ name, which must start with the
+ ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX "GA". */
+ if (nhdr.n_namesz >= sizeof ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX
+ && strncmp (data->d_buf + name_offset,
+ ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX,
+ strlen (ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX)) == 0)
+ break;
+ else
+ goto unknown_note;
case 0:
/* Linux vDSOs use a type 0 note for the kernel version word. */
@@ -4340,16 +4364,21 @@ section [%2d] '%s': unknown core file note type %" PRIu32
break;
FALLTHROUGH;
default:
+ {
+ unknown_note:
if (shndx == 0)
ERROR (gettext ("\
-phdr[%d]: unknown object file note type %" PRIu32 " at offset %zu\n"),
- phndx, (uint32_t) nhdr.n_type, offset);
+phdr[%d]: unknown object file note type %" PRIu32 " with owner name '%s' at offset %zu\n"),
+ phndx, (uint32_t) nhdr.n_type,
+ (char *) data->d_buf + name_offset, offset);
else
ERROR (gettext ("\
section [%2d] '%s': unknown object file note type %" PRIu32
- " at offset %zu\n"),
+ " with owner name '%s' at offset %zu\n"),
shndx, section_name (ebl, shndx),
- (uint32_t) nhdr.n_type, offset);
+ (uint32_t) nhdr.n_type,
+ (char *) data->d_buf + name_offset, offset);
+ }
}
}
@@ -4376,7 +4405,8 @@ phdr[%d]: no note entries defined for the type of file\n"),
GElf_Off notes_size = 0;
Elf_Data *data = elf_getdata_rawchunk (ebl->elf,
phdr->p_offset, phdr->p_filesz,
- ELF_T_NHDR);
+ (phdr->p_align == 8
+ ? ELF_T_NHDR8 : ELF_T_NHDR));
if (data != NULL && data->d_buf != NULL)
notes_size = check_note_data (ebl, ehdr, data, 0, cnt, phdr->p_offset);
@@ -4603,8 +4633,10 @@ program header offset in ELF header and PHDR entry do not match"));
any = true;
shdr = gelf_getshdr (scn, &shdr_mem);
if (shdr != NULL
- && shdr->sh_type == (is_debuginfo
- ? SHT_NOBITS : SHT_PROGBITS)
+ && ((is_debuginfo && shdr->sh_type == SHT_NOBITS)
+ || (! is_debuginfo
+ && (shdr->sh_type == SHT_PROGBITS
+ || shdr->sh_type == SHT_X86_64_UNWIND)))
&& elf_strptr (ebl->elf, shstrndx, shdr->sh_name) != NULL
&& ! strcmp (".eh_frame_hdr",
elf_strptr (ebl->elf, shstrndx, shdr->sh_name)))
diff --git a/src/findtextrel.c b/src/findtextrel.c
index 49731592..f48752e5 100644
--- a/src/findtextrel.c
+++ b/src/findtextrel.c
@@ -1,5 +1,5 @@
/* Locate source files or functions which caused text relocations.
- Copyright (C) 2005-2010, 2012, 2014 Red Hat, Inc.
+ Copyright (C) 2005-2010, 2012, 2014, 2018 Red Hat, Inc.
This file is part of elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2005.
@@ -263,9 +263,10 @@ process_file (const char *fname, bool more_than_one)
seen_dynamic = true;
Elf_Data *data = elf_getdata (scn, NULL);
+ size_t entries = (shdr->sh_entsize == 0
+ ? 0 : shdr->sh_size / shdr->sh_entsize);
- for (size_t cnt = 0; cnt < shdr->sh_size / shdr->sh_entsize;
- ++cnt)
+ for (size_t cnt = 0; cnt < entries; ++cnt)
{
GElf_Dyn dynmem;
GElf_Dyn *dyn;
@@ -413,10 +414,11 @@ cannot get symbol table section %zu in '%s': %s"),
if (shdr->sh_type == SHT_REL)
{
Elf_Data *data = elf_getdata (scn, NULL);
+ size_t entries = (shdr->sh_entsize == 0
+ ? 0 : shdr->sh_size / shdr->sh_entsize);
for (int cnt = 0;
- (size_t) cnt < shdr->sh_size / shdr->sh_entsize;
- ++cnt)
+ (size_t) cnt < entries; ++cnt)
{
GElf_Rel rel_mem;
GElf_Rel *rel = gelf_getrel (data, cnt, &rel_mem);
@@ -436,10 +438,10 @@ cannot get relocation at index %d in section %zu in '%s': %s"),
else if (shdr->sh_type == SHT_RELA)
{
Elf_Data *data = elf_getdata (scn, NULL);
+ size_t entries = (shdr->sh_entsize == 0
+ ? 0 : shdr->sh_size / shdr->sh_entsize);
- for (int cnt = 0;
- (size_t) cnt < shdr->sh_size / shdr->sh_entsize;
- ++cnt)
+ for (int cnt = 0; (size_t) cnt < entries; ++cnt)
{
GElf_Rela rela_mem;
GElf_Rela *rela = gelf_getrela (data, cnt, &rela_mem);
@@ -531,9 +533,10 @@ check_rel (size_t nsegments, struct segments segments[nsegments],
int highidx = -1;
GElf_Sym sym_mem;
GElf_Sym *sym;
+ size_t entries = (shdr->sh_entsize == 0
+ ? 0 : shdr->sh_size / shdr->sh_entsize);
- for (int i = 0; (size_t) i < shdr->sh_size / shdr->sh_entsize;
- ++i)
+ for (int i = 0; (size_t) i < entries; ++i)
{
sym = gelf_getsym (symdata, i, &sym_mem);
if (sym == NULL)
diff --git a/src/readelf.c b/src/readelf.c
index bddcd703..3a73710f 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -905,7 +905,6 @@ process_elf_file (Dwfl_Module *dwflmod, int fd)
if (ehdr == NULL)
{
- elf_error:
error (0, 0, gettext ("cannot read ELF header: %s"), elf_errmsg (-1));
return;
}
@@ -948,7 +947,7 @@ process_elf_file (Dwfl_Module *dwflmod, int fd)
{
/* Read the file afresh. */
off_t aroff = elf_getaroff (elf);
- pure_elf = elf_begin (fd, ELF_C_READ_MMAP, NULL);
+ pure_elf = dwelf_elf_begin (fd);
if (aroff > 0)
{
/* Archive member. */
@@ -958,7 +957,10 @@ process_elf_file (Dwfl_Module *dwflmod, int fd)
pure_elf = armem;
}
if (pure_elf == NULL)
- goto elf_error;
+ {
+ error (0, 0, gettext ("cannot read ELF: %s"), elf_errmsg (-1));
+ return;
+ }
pure_ebl = ebl_openbackend (pure_elf);
if (pure_ebl == NULL)
goto ebl_error;
@@ -1530,9 +1532,12 @@ print_phdr (Ebl *ebl, GElf_Ehdr *ehdr)
static const char *
-section_name (Ebl *ebl, GElf_Ehdr *ehdr, GElf_Shdr *shdr)
+section_name (Ebl *ebl, GElf_Shdr *shdr)
{
- return elf_strptr (ebl->elf, ehdr->e_shstrndx, shdr->sh_name) ?: "???";
+ size_t shstrndx;
+ if (elf_getshdrstrndx (ebl->elf, &shstrndx) < 0)
+ return "???";
+ return elf_strptr (ebl->elf, shstrndx, shdr->sh_name) ?: "???";
}
@@ -5003,7 +5008,7 @@ listptr_cu (struct listptr_table *table, size_t *idxp,
static void
print_debug_abbrev_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
- Ebl *ebl, GElf_Ehdr *ehdr,
+ Ebl *ebl, GElf_Ehdr *ehdr __attribute__ ((unused)),
Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
{
const size_t sh_size = (dbg->sectiondata[IDX_debug_abbrev] ?
@@ -5011,7 +5016,7 @@ print_debug_abbrev_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
printf (gettext ("\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"
" [ Code]\n"),
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ elf_ndxscn (scn), section_name (ebl, shdr),
(uint64_t) shdr->sh_offset);
Dwarf_Off offset = 0;
@@ -5081,7 +5086,7 @@ print_debug_addr_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
{
printf (gettext ("\
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ elf_ndxscn (scn), section_name (ebl, shdr),
(uint64_t) shdr->sh_offset);
if (shdr->sh_size == 0)
@@ -5329,7 +5334,7 @@ print_decoded_aranges_section (Ebl *ebl, GElf_Ehdr *ehdr, Elf_Scn *scn,
"\
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 " contains %zu entries:\n",
cnt),
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ elf_ndxscn (scn), section_name (ebl, shdr),
(uint64_t) shdr->sh_offset, cnt);
/* Compute floor(log16(cnt)). */
@@ -5390,7 +5395,7 @@ print_debug_aranges_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
printf (gettext ("\
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ elf_ndxscn (scn), section_name (ebl, shdr),
(uint64_t) shdr->sh_offset);
const unsigned char *readp = data->d_buf;
@@ -5406,7 +5411,7 @@ print_debug_aranges_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
{
invalid_data:
error (0, 0, gettext ("invalid data in section [%zu] '%s'"),
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr));
+ elf_ndxscn (scn), section_name (ebl, shdr));
return;
}
@@ -5550,13 +5555,14 @@ split_dwarf_cu_base (Dwarf *dbg, Dwarf_CU **cu, Dwarf_Addr *cu_base)
/* Print content of DWARF .debug_rnglists section. */
static void
print_debug_rnglists_section (Dwfl_Module *dwflmod,
- Ebl *ebl, GElf_Ehdr *ehdr,
+ Ebl *ebl,
+ GElf_Ehdr *ehdr __attribute__ ((unused)),
Elf_Scn *scn, GElf_Shdr *shdr,
Dwarf *dbg __attribute__((unused)))
{
printf (gettext ("\
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ elf_ndxscn (scn), section_name (ebl, shdr),
(uint64_t) shdr->sh_offset);
Elf_Data *data =(dbg->sectiondata[IDX_debug_rnglists]
@@ -5581,7 +5587,7 @@ print_debug_rnglists_section (Dwfl_Module *dwflmod,
{
invalid_data:
error (0, 0, gettext ("invalid data in section [%zu] '%s'"),
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr));
+ elf_ndxscn (scn), section_name (ebl, shdr));
return;
}
@@ -5941,7 +5947,7 @@ print_debug_ranges_section (Dwfl_Module *dwflmod,
printf (gettext ("\
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ elf_ndxscn (scn), section_name (ebl, shdr),
(uint64_t) shdr->sh_offset);
sort_listptr (&known_rangelistptr, "rangelistptr");
@@ -6598,18 +6604,24 @@ print_debug_frame_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr,
ptrdiff_t start = readp - (unsigned char *) data->d_buf;
const unsigned char *const cieend = readp + unit_length;
- if (unlikely (cieend > dataend || readp + 8 > dataend))
+ if (unlikely (cieend > dataend))
goto invalid_data;
Dwarf_Off cie_id;
if (length == 4)
{
+ if (unlikely (cieend - readp < 4))
+ goto invalid_data;
cie_id = read_4ubyte_unaligned_inc (dbg, readp);
if (!is_eh_frame && cie_id == DW_CIE_ID_32)
cie_id = DW_CIE_ID_64;
}
else
- cie_id = read_8ubyte_unaligned_inc (dbg, readp);
+ {
+ if (unlikely (cieend - readp < 8))
+ goto invalid_data;
+ cie_id = read_8ubyte_unaligned_inc (dbg, readp);
+ }
uint_fast8_t version = 2;
unsigned int code_alignment_factor;
@@ -6621,6 +6633,8 @@ print_debug_frame_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr,
if (cie_id == (is_eh_frame ? 0 : DW_CIE_ID_64))
{
+ if (unlikely (cieend - readp < 2))
+ goto invalid_data;
version = *readp++;
const char *const augmentation = (const char *) readp;
readp = memchr (readp, '\0', cieend - readp);
@@ -7527,12 +7541,12 @@ attr_callback (Dwarf_Attribute *attrp, void *arg)
static void
print_debug_units (Dwfl_Module *dwflmod,
- Ebl *ebl, GElf_Ehdr *ehdr,
+ Ebl *ebl, GElf_Ehdr *ehdr __attribute__ ((unused)),
Elf_Scn *scn, GElf_Shdr *shdr,
Dwarf *dbg, bool debug_types)
{
const bool silent = !(print_debug_sections & section_info) && !debug_types;
- const char *secname = section_name (ebl, ehdr, shdr);
+ const char *secname = section_name (ebl, shdr);
if (!silent)
printf (gettext ("\
@@ -7829,12 +7843,13 @@ print_debug_types_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr,
static void
-print_decoded_line_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr,
+print_decoded_line_section (Dwfl_Module *dwflmod, Ebl *ebl,
+ GElf_Ehdr *ehdr __attribute__ ((unused)),
Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
{
printf (gettext ("\
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n\n"),
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ elf_ndxscn (scn), section_name (ebl, shdr),
(uint64_t) shdr->sh_offset);
size_t address_size
@@ -8183,7 +8198,7 @@ print_debug_line_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr,
printf (gettext ("\
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ elf_ndxscn (scn), section_name (ebl, shdr),
(uint64_t) shdr->sh_offset);
if (shdr->sh_size == 0)
@@ -8220,7 +8235,7 @@ print_debug_line_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr,
{
invalid_data:
error (0, 0, gettext ("invalid data in section [%zu] '%s'"),
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr));
+ elf_ndxscn (scn), section_name (ebl, shdr));
return;
}
unit_length = read_8ubyte_unaligned_inc (dbg, linep);
@@ -8347,7 +8362,7 @@ print_debug_line_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr,
error (0, 0,
gettext ("invalid data at offset %tu in section [%zu] '%s'"),
linep - (const unsigned char *) data->d_buf,
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr));
+ elf_ndxscn (scn), section_name (ebl, shdr));
linep = lineendp;
continue;
}
@@ -8847,13 +8862,14 @@ print_debug_line_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr,
static void
print_debug_loclists_section (Dwfl_Module *dwflmod,
- Ebl *ebl, GElf_Ehdr *ehdr,
+ Ebl *ebl,
+ GElf_Ehdr *ehdr __attribute__ ((unused)),
Elf_Scn *scn, GElf_Shdr *shdr,
Dwarf *dbg)
{
printf (gettext ("\
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ elf_ndxscn (scn), section_name (ebl, shdr),
(uint64_t) shdr->sh_offset);
Elf_Data *data = (dbg->sectiondata[IDX_debug_loclists]
@@ -8878,7 +8894,7 @@ print_debug_loclists_section (Dwfl_Module *dwflmod,
{
invalid_data:
error (0, 0, gettext ("invalid data in section [%zu] '%s'"),
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr));
+ elf_ndxscn (scn), section_name (ebl, shdr));
return;
}
@@ -9289,7 +9305,7 @@ print_debug_loc_section (Dwfl_Module *dwflmod,
printf (gettext ("\
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ elf_ndxscn (scn), section_name (ebl, shdr),
(uint64_t) shdr->sh_offset);
sort_listptr (&known_locsptr, "loclistptr");
@@ -9528,12 +9544,13 @@ mac_compare (const void *p1, const void *p2)
static void
print_debug_macinfo_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
- Ebl *ebl, GElf_Ehdr *ehdr,
+ Ebl *ebl,
+ GElf_Ehdr *ehdr __attribute__ ((unused)),
Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
{
printf (gettext ("\
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ elf_ndxscn (scn), section_name (ebl, shdr),
(uint64_t) shdr->sh_offset);
putc_unlocked ('\n', stdout);
@@ -9693,17 +9710,17 @@ print_debug_macinfo_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
static void
print_debug_macro_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
- Ebl *ebl, GElf_Ehdr *ehdr,
+ Ebl *ebl,
+ GElf_Ehdr *ehdr __attribute__ ((unused)),
Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
{
printf (gettext ("\
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ elf_ndxscn (scn), section_name (ebl, shdr),
(uint64_t) shdr->sh_offset);
putc_unlocked ('\n', stdout);
- Elf_Data *data = (dbg->sectiondata[IDX_debug_macro]
- ?: elf_rawdata (scn, NULL));
+ Elf_Data *data = elf_getdata (scn, NULL);
if (unlikely (data == NULL))
{
error (0, 0, gettext ("cannot get macro information section data: %s"),
@@ -9772,7 +9789,33 @@ print_debug_macro_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
if (readp + 1 > readendp)
goto invalid_data;
const unsigned char flag = *readp++;
- printf (gettext (" Flag: 0x%" PRIx8 "\n"), flag);
+ printf (gettext (" Flag: 0x%" PRIx8), flag);
+ if (flag != 0)
+ {
+ printf (" (");
+ if ((flag & 0x01) != 0)
+ {
+ printf ("offset_size");
+ if ((flag & 0xFE) != 0)
+ printf (", ");
+ }
+ if ((flag & 0x02) != 0)
+ {
+ printf ("debug_line_offset");
+ if ((flag & 0xFC) != 0)
+ printf (", ");
+ }
+ if ((flag & 0x04) != 0)
+ {
+ printf ("operands_table");
+ if ((flag & 0xF8) != 0)
+ printf (", ");
+ }
+ if ((flag & 0xF8) != 0)
+ printf ("unknown");
+ printf (")");
+ }
+ printf ("\n");
unsigned int offset_len = (flag & 0x01) ? 8 : 4;
printf (gettext (" Offset length: %" PRIu8 "\n"), offset_len);
@@ -10054,11 +10097,12 @@ print_pubnames (Dwarf *dbg __attribute__ ((unused)), Dwarf_Global *global,
/* Print the known exported symbols in the DWARF section '.debug_pubnames'. */
static void
print_debug_pubnames_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
- Ebl *ebl, GElf_Ehdr *ehdr,
+ Ebl *ebl,
+ GElf_Ehdr *ehdr __attribute__ ((unused)),
Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
{
printf (gettext ("\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ elf_ndxscn (scn), section_name (ebl, shdr),
(uint64_t) shdr->sh_offset);
int n = 0;
@@ -10068,7 +10112,8 @@ print_debug_pubnames_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
/* Print the content of the DWARF string section '.debug_str'. */
static void
print_debug_str_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
- Ebl *ebl, GElf_Ehdr *ehdr,
+ Ebl *ebl,
+ GElf_Ehdr *ehdr __attribute__ ((unused)),
Elf_Scn *scn, GElf_Shdr *shdr,
Dwarf *dbg __attribute__ ((unused)))
{
@@ -10088,7 +10133,7 @@ print_debug_str_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
printf (gettext ("\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"
" %*s String\n"),
elf_ndxscn (scn),
- section_name (ebl, ehdr, shdr), (uint64_t) shdr->sh_offset,
+ section_name (ebl, shdr), (uint64_t) shdr->sh_offset,
/* TRANS: the debugstr| prefix makes the string unique. */
digits + 2, sgettext ("debugstr|Offset"));
@@ -10112,12 +10157,13 @@ print_debug_str_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
static void
print_debug_str_offsets_section (Dwfl_Module *dwflmod __attribute__ ((unused)),
- Ebl *ebl, GElf_Ehdr *ehdr,
+ Ebl *ebl,
+ GElf_Ehdr *ehdr __attribute__ ((unused)),
Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
{
printf (gettext ("\
\nDWARF section [%2zu] '%s' at offset %#" PRIx64 ":\n"),
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ elf_ndxscn (scn), section_name (ebl, shdr),
(uint64_t) shdr->sh_offset);
if (shdr->sh_size == 0)
@@ -10581,12 +10627,13 @@ print_debug_exception_table (Dwfl_Module *dwflmod __attribute__ ((unused)),
http://sourceware.org/gdb/current/onlinedocs/gdb/Index-Section-Format.html
*/
static void
-print_gdb_index_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr,
+print_gdb_index_section (Dwfl_Module *dwflmod, Ebl *ebl,
+ GElf_Ehdr *ehdr __attribute__ ((unused)),
Elf_Scn *scn, GElf_Shdr *shdr, Dwarf *dbg)
{
printf (gettext ("\nGDB section [%2zu] '%s' at offset %#" PRIx64
" contains %" PRId64 " bytes :\n"),
- elf_ndxscn (scn), section_name (ebl, ehdr, shdr),
+ elf_ndxscn (scn), section_name (ebl, shdr),
(uint64_t) shdr->sh_offset, (uint64_t) shdr->sh_size);
Elf_Data *data = elf_rawdata (scn, NULL);
@@ -12146,14 +12193,26 @@ handle_notes_data (Ebl *ebl, const GElf_Ehdr *ehdr,
const char *name = nhdr.n_namesz == 0 ? "" : data->d_buf + name_offset;
const char *desc = data->d_buf + desc_offset;
+ /* GNU Build Attributes are weird, they store most of their data
+ into the owner name field. Extract just the owner name
+ prefix here, then use the rest later as data. */
+ bool is_gnu_build_attr
+ = strncmp (name, ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX,
+ strlen (ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX)) == 0;
+ const char *print_name = (is_gnu_build_attr
+ ? ELF_NOTE_GNU_BUILD_ATTRIBUTE_PREFIX : name);
+ size_t print_namesz = (is_gnu_build_attr
+ ? strlen (print_name) : nhdr.n_namesz);
+
char buf[100];
char buf2[100];
printf (gettext (" %-13.*s %9" PRId32 " %s\n"),
- (int) nhdr.n_namesz, name, nhdr.n_descsz,
+ (int) print_namesz, print_name, nhdr.n_descsz,
ehdr->e_type == ET_CORE
? ebl_core_note_type_name (ebl, nhdr.n_type,
buf, sizeof (buf))
: ebl_object_note_type_name (ebl, name, nhdr.n_type,
+ nhdr.n_descsz,
buf2, sizeof (buf2)));
/* Filter out invalid entries. */
@@ -12189,7 +12248,8 @@ handle_notes_data (Ebl *ebl, const GElf_Ehdr *ehdr,
handle_core_note (ebl, &nhdr, name, desc);
}
else
- ebl_object_note (ebl, name, nhdr.n_type, nhdr.n_descsz, desc);
+ ebl_object_note (ebl, nhdr.n_namesz, name, nhdr.n_type,
+ nhdr.n_descsz, desc);
}
}
@@ -12255,7 +12315,8 @@ handle_notes (Ebl *ebl, GElf_Ehdr *ehdr)
handle_notes_data (ebl, ehdr, phdr->p_offset,
elf_getdata_rawchunk (ebl->elf,
phdr->p_offset, phdr->p_filesz,
- ELF_T_NHDR));
+ (phdr->p_align == 8
+ ? ELF_T_NHDR8 : ELF_T_NHDR)));
}
}
diff --git a/src/size.c b/src/size.c
index 5ff3f2af..f01fd880 100644
--- a/src/size.c
+++ b/src/size.c
@@ -374,8 +374,10 @@ handle_ar (int fd, Elf *elf, const char *prefix, const char *fname)
INTERNAL_ERROR (fname);
}
- if (unlikely (elf_end (elf) != 0))
- INTERNAL_ERROR (fname);
+ /* Only close ELF handle if this was a "top level" ar file. */
+ if (prefix == NULL)
+ if (unlikely (elf_end (elf) != 0))
+ INTERNAL_ERROR (fname);
return result;
}
diff --git a/src/strip.c b/src/strip.c
index 4a3db1b5..15180737 100644
--- a/src/strip.c
+++ b/src/strip.c
@@ -1,5 +1,5 @@
/* Discard section not used at runtime from object files.
- Copyright (C) 2000-2012, 2014, 2015, 2016, 2017 Red Hat, Inc.
+ Copyright (C) 2000-2012, 2014, 2015, 2016, 2017, 2018 Red Hat, Inc.
This file is part of elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2000.
@@ -61,6 +61,7 @@ ARGP_PROGRAM_BUG_ADDRESS_DEF = PACKAGE_BUGREPORT;
#define OPT_STRIP_SECTIONS 0x102
#define OPT_RELOC_DEBUG 0x103
#define OPT_KEEP_SECTION 0x104
+#define OPT_RELOC_DEBUG_ONLY 0x105
/* Definitions of arguments for argp functions. */
@@ -82,6 +83,8 @@ static const struct argp_option options[] =
N_("Copy modified/access timestamps to the output"), 0 },
{ "reloc-debug-sections", OPT_RELOC_DEBUG, NULL, 0,
N_("Resolve all trivial relocations between debug sections if the removed sections are placed in a debug file (only relevant for ET_REL files, operation is not reversable, needs -f)"), 0 },
+ { "reloc-debug-sections-only", OPT_RELOC_DEBUG_ONLY, NULL, 0,
+ N_("Similar to --reloc-debug-sections, but resolve all trivial relocations between debug sections in place. No other stripping is performed (operation is not reversable, incompatible with -f, -g, --remove-comment and --remove-section)"), 0 },
{ "remove-comment", OPT_REMOVE_COMMENT, NULL, 0,
N_("Remove .comment section"), 0 },
{ "remove-section", 'R', "SECTION", 0, N_("Remove the named section. SECTION is an extended wildcard pattern. May be given more than once. Only non-allocated sections can be removed."), 0 },
@@ -159,6 +162,9 @@ static bool permissive;
/* If true perform relocations between debug sections. */
static bool reloc_debug;
+/* If true perform relocations between debug sections only. */
+static bool reloc_debug_only;
+
/* Sections the user explicitly wants to keep or remove. */
struct section_pattern
{
@@ -240,6 +246,12 @@ main (int argc, char *argv[])
error (EXIT_FAILURE, 0,
gettext ("--reloc-debug-sections used without -f"));
+ if (reloc_debug_only &&
+ (debug_fname != NULL || remove_secs != NULL
+ || remove_comment == true || remove_debug == true))
+ error (EXIT_FAILURE, 0,
+ gettext ("--reloc-debug-sections-only incompatible with -f, -g, --remove-comment and --remove-section"));
+
/* Tell the library which version we are expecting. */
elf_version (EV_CURRENT);
@@ -307,6 +319,10 @@ parse_opt (int key, char *arg, struct argp_state *state)
reloc_debug = true;
break;
+ case OPT_RELOC_DEBUG_ONLY:
+ reloc_debug_only = true;
+ break;
+
case OPT_REMOVE_COMMENT:
remove_comment = true;
break;
@@ -354,6 +370,345 @@ parse_opt (int key, char *arg, struct argp_state *state)
return 0;
}
+static const char *
+secndx_name (Elf *elf, size_t ndx)
+{
+ size_t shstrndx;
+ GElf_Shdr mem;
+ Elf_Scn *sec = elf_getscn (elf, ndx);
+ GElf_Shdr *shdr = gelf_getshdr (sec, &mem);
+ if (shdr == NULL || elf_getshdrstrndx (elf, &shstrndx) < 0)
+ return "???";
+ return elf_strptr (elf, shstrndx, shdr->sh_name) ?: "???";
+}
+
+/* Get the extended section index table data for a symbol table section. */
+static Elf_Data *
+get_xndxdata (Elf *elf, Elf_Scn *symscn)
+{
+ Elf_Data *xndxdata = NULL;
+ GElf_Shdr shdr_mem;
+ GElf_Shdr *shdr = gelf_getshdr (symscn, &shdr_mem);
+ if (shdr != NULL && shdr->sh_type == SHT_SYMTAB)
+ {
+ size_t scnndx = elf_ndxscn (symscn);
+ Elf_Scn *xndxscn = NULL;
+ while ((xndxscn = elf_nextscn (elf, xndxscn)) != NULL)
+ {
+ GElf_Shdr xndxshdr_mem;
+ GElf_Shdr *xndxshdr = gelf_getshdr (xndxscn, &xndxshdr_mem);
+
+ if (xndxshdr != NULL
+ && xndxshdr->sh_type == SHT_SYMTAB_SHNDX
+ && xndxshdr->sh_link == scnndx)
+ {
+ xndxdata = elf_getdata (xndxscn, NULL);
+ break;
+ }
+ }
+ }
+
+ return xndxdata;
+}
+
+/* Updates the shdrstrndx for the given Elf by updating the Ehdr and
+ possibly the section zero extension field. Returns zero on success. */
+static int
+update_shdrstrndx (Elf *elf, size_t shdrstrndx)
+{
+ GElf_Ehdr ehdr;
+ if (gelf_getehdr (elf, &ehdr) == 0)
+ return 1;
+
+ if (shdrstrndx < SHN_LORESERVE)
+ ehdr.e_shstrndx = shdrstrndx;
+ else
+ {
+ ehdr.e_shstrndx = SHN_XINDEX;
+ Elf_Scn *scn0 = elf_getscn (elf, 0);
+ GElf_Shdr shdr0_mem;
+ GElf_Shdr *shdr0 = gelf_getshdr (scn0, &shdr0_mem);
+ if (shdr0 == NULL)
+ return 1;
+
+ shdr0->sh_link = shdrstrndx;
+ if (gelf_update_shdr (scn0, shdr0) == 0)
+ return 1;
+ }
+
+ if (unlikely (gelf_update_ehdr (elf, &ehdr) == 0))
+ return 1;
+
+ return 0;
+}
+
+/* Remove any relocations between debug sections in ET_REL
+ for the debug file when requested. These relocations are always
+ zero based between the unallocated sections. */
+static void
+remove_debug_relocations (Ebl *ebl, Elf *elf, GElf_Ehdr *ehdr,
+ const char *fname, size_t shstrndx)
+{
+ Elf_Scn *scn = NULL;
+ while ((scn = elf_nextscn (elf, scn)) != NULL)
+ {
+ /* We need the actual section and header from the elf
+ not just the cached original in shdr_info because we
+ might want to change the size. */
+ GElf_Shdr shdr_mem;
+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
+ if (shdr->sh_type == SHT_REL || shdr->sh_type == SHT_RELA)
+ {
+ /* Make sure that this relocation section points to a
+ section to relocate with contents, that isn't
+ allocated and that is a debug section. */
+ Elf_Scn *tscn = elf_getscn (elf, shdr->sh_info);
+ GElf_Shdr tshdr_mem;
+ GElf_Shdr *tshdr = gelf_getshdr (tscn, &tshdr_mem);
+ if (tshdr->sh_type == SHT_NOBITS
+ || tshdr->sh_size == 0
+ || (tshdr->sh_flags & SHF_ALLOC) != 0)
+ continue;
+
+ const char *tname = elf_strptr (elf, shstrndx,
+ tshdr->sh_name);
+ if (! tname || ! ebl_debugscn_p (ebl, tname))
+ continue;
+
+ /* OK, lets relocate all trivial cross debug section
+ relocations. */
+ Elf_Data *reldata = elf_getdata (scn, NULL);
+ if (reldata == NULL || reldata->d_buf == NULL)
+ INTERNAL_ERROR (fname);
+
+ /* Make sure we adjust the uncompressed debug data
+ (and recompress if necessary at the end). */
+ GElf_Chdr tchdr;
+ int tcompress_type = 0;
+ bool is_gnu_compressed = false;
+ if (strncmp (tname, ".zdebug", strlen ("zdebug")) == 0)
+ {
+ is_gnu_compressed = true;
+ if (elf_compress_gnu (tscn, 0, 0) != 1)
+ INTERNAL_ERROR (fname);
+ }
+ else
+ {
+ if (gelf_getchdr (tscn, &tchdr) != NULL)
+ {
+ tcompress_type = tchdr.ch_type;
+ if (elf_compress (tscn, 0, 0) != 1)
+ INTERNAL_ERROR (fname);
+ }
+ }
+
+ Elf_Data *tdata = elf_getdata (tscn, NULL);
+ if (tdata == NULL || tdata->d_buf == NULL
+ || tdata->d_type != ELF_T_BYTE)
+ INTERNAL_ERROR (fname);
+
+ /* Pick up the symbol table and shndx table to
+ resolve relocation symbol indexes. */
+ Elf64_Word symt = shdr->sh_link;
+ Elf_Data *symdata, *xndxdata;
+ Elf_Scn * symscn = elf_getscn (elf, symt);
+ symdata = elf_getdata (symscn, NULL);
+ xndxdata = get_xndxdata (elf, symscn);
+ if (symdata == NULL)
+ INTERNAL_ERROR (fname);
+
+ /* Apply one relocation. Returns true when trivial
+ relocation actually done. */
+ bool relocate (GElf_Addr offset, const GElf_Sxword addend,
+ bool is_rela, int rtype, int symndx)
+ {
+ /* R_*_NONE relocs can always just be removed. */
+ if (rtype == 0)
+ return true;
+
+ /* We only do simple absolute relocations. */
+ int addsub = 0;
+ Elf_Type type = ebl_reloc_simple_type (ebl, rtype, &addsub);
+ if (type == ELF_T_NUM)
+ return false;
+
+ /* These are the types we can relocate. */
+#define TYPES DO_TYPE (BYTE, Byte); DO_TYPE (HALF, Half); \
+ DO_TYPE (WORD, Word); DO_TYPE (SWORD, Sword); \
+ DO_TYPE (XWORD, Xword); DO_TYPE (SXWORD, Sxword)
+
+ /* And only for relocations against other debug sections. */
+ GElf_Sym sym_mem;
+ Elf32_Word xndx;
+ GElf_Sym *sym = gelf_getsymshndx (symdata, xndxdata,
+ symndx, &sym_mem,
+ &xndx);
+ Elf32_Word sec = (sym->st_shndx == SHN_XINDEX
+ ? xndx : sym->st_shndx);
+
+ if (ebl_debugscn_p (ebl, secndx_name (elf, sec)))
+ {
+ size_t size;
+
+#define DO_TYPE(NAME, Name) GElf_##Name Name;
+ union { TYPES; } tmpbuf;
+#undef DO_TYPE
+
+ switch (type)
+ {
+#define DO_TYPE(NAME, Name) \
+ case ELF_T_##NAME: \
+ size = sizeof (GElf_##Name); \
+ tmpbuf.Name = 0; \
+ break;
+ TYPES;
+#undef DO_TYPE
+ default:
+ return false;
+ }
+
+ if (offset > tdata->d_size
+ || tdata->d_size - offset < size)
+ {
+ cleanup_debug ();
+ error (EXIT_FAILURE, 0, gettext ("bad relocation"));
+ }
+
+ /* When the symbol value is zero then for SHT_REL
+ sections this is all that needs to be checked.
+ The addend is contained in the original data at
+ the offset already. So if the (section) symbol
+ address is zero and the given addend is zero
+ just remove the relocation, it isn't needed
+ anymore. */
+ if (addend == 0 && sym->st_value == 0)
+ return true;
+
+ Elf_Data tmpdata =
+ {
+ .d_type = type,
+ .d_buf = &tmpbuf,
+ .d_size = size,
+ .d_version = EV_CURRENT,
+ };
+ Elf_Data rdata =
+ {
+ .d_type = type,
+ .d_buf = tdata->d_buf + offset,
+ .d_size = size,
+ .d_version = EV_CURRENT,
+ };
+
+ GElf_Addr value = sym->st_value;
+ if (is_rela)
+ {
+ /* For SHT_RELA sections we just take the
+ given addend and add it to the value. */
+ value += addend;
+ /* For ADD/SUB relocations we need to fetch the
+ current section contents. */
+ if (addsub != 0)
+ {
+ Elf_Data *d = gelf_xlatetom (elf, &tmpdata,
+ &rdata,
+ ehdr->e_ident[EI_DATA]);
+ if (d == NULL)
+ INTERNAL_ERROR (fname);
+ assert (d == &tmpdata);
+ }
+ }
+ else
+ {
+ /* For SHT_REL sections we have to peek at
+ what is already in the section at the given
+ offset to get the addend. */
+ Elf_Data *d = gelf_xlatetom (elf, &tmpdata,
+ &rdata,
+ ehdr->e_ident[EI_DATA]);
+ if (d == NULL)
+ INTERNAL_ERROR (fname);
+ assert (d == &tmpdata);
+ }
+
+ switch (type)
+ {
+#define DO_TYPE(NAME, Name) \
+ case ELF_T_##NAME: \
+ if (addsub < 0) \
+ tmpbuf.Name -= (GElf_##Name) value; \
+ else \
+ tmpbuf.Name += (GElf_##Name) value; \
+ break;
+ TYPES;
+#undef DO_TYPE
+ default:
+ abort ();
+ }
+
+ /* Now finally put in the new value. */
+ Elf_Data *s = gelf_xlatetof (elf, &rdata,
+ &tmpdata,
+ ehdr->e_ident[EI_DATA]);
+ if (s == NULL)
+ INTERNAL_ERROR (fname);
+ assert (s == &rdata);
+
+ return true;
+ }
+ return false;
+ }
+
+ if (shdr->sh_entsize == 0)
+ INTERNAL_ERROR (fname);
+
+ size_t nrels = shdr->sh_size / shdr->sh_entsize;
+ size_t next = 0;
+ if (shdr->sh_type == SHT_REL)
+ for (size_t relidx = 0; relidx < nrels; ++relidx)
+ {
+ GElf_Rel rel_mem;
+ GElf_Rel *r = gelf_getrel (reldata, relidx, &rel_mem);
+ if (! relocate (r->r_offset, 0, false,
+ GELF_R_TYPE (r->r_info),
+ GELF_R_SYM (r->r_info)))
+ {
+ if (relidx != next)
+ gelf_update_rel (reldata, next, r);
+ ++next;
+ }
+ }
+ else
+ for (size_t relidx = 0; relidx < nrels; ++relidx)
+ {
+ GElf_Rela rela_mem;
+ GElf_Rela *r = gelf_getrela (reldata, relidx, &rela_mem);
+ if (! relocate (r->r_offset, r->r_addend, true,
+ GELF_R_TYPE (r->r_info),
+ GELF_R_SYM (r->r_info)))
+ {
+ if (relidx != next)
+ gelf_update_rela (reldata, next, r);
+ ++next;
+ }
+ }
+
+ nrels = next;
+ shdr->sh_size = reldata->d_size = nrels * shdr->sh_entsize;
+ gelf_update_shdr (scn, shdr);
+
+ if (is_gnu_compressed)
+ {
+ if (elf_compress_gnu (tscn, 1, ELF_CHF_FORCE) != 1)
+ INTERNAL_ERROR (fname);
+ }
+ else if (tcompress_type != 0)
+ {
+ if (elf_compress (tscn, tcompress_type, ELF_CHF_FORCE) != 1)
+ INTERNAL_ERROR (fname);
+ }
+ }
+ }
+}
static int
process_file (const char *fname)
@@ -452,6 +807,116 @@ process_file (const char *fname)
return result;
}
+/* Processing for --reloc-debug-sections-only. */
+static int
+handle_debug_relocs (Elf *elf, Ebl *ebl, Elf *new_elf,
+ GElf_Ehdr *ehdr, const char *fname, size_t shstrndx,
+ GElf_Off *last_offset, GElf_Xword *last_size)
+{
+
+ /* Copy over the ELF header. */
+ if (gelf_update_ehdr (new_elf, ehdr) == 0)
+ {
+ error (0, 0, "couldn't update new ehdr: %s", elf_errmsg (-1));
+ return 1;
+ }
+
+ /* Copy over sections and record end of allocated sections. */
+ GElf_Off lastoffset = 0;
+ Elf_Scn *scn = NULL;
+ while ((scn = elf_nextscn (elf, scn)) != NULL)
+ {
+ /* Get the header. */
+ GElf_Shdr shdr;
+ if (gelf_getshdr (scn, &shdr) == NULL)
+ {
+ error (0, 0, "couldn't get shdr: %s", elf_errmsg (-1));
+ return 1;
+ }
+
+ /* Create new section. */
+ Elf_Scn *new_scn = elf_newscn (new_elf);
+ if (new_scn == NULL)
+ {
+ error (0, 0, "couldn't create new section: %s", elf_errmsg (-1));
+ return 1;
+ }
+
+ if (gelf_update_shdr (new_scn, &shdr) == 0)
+ {
+ error (0, 0, "couldn't update shdr: %s", elf_errmsg (-1));
+ return 1;
+ }
+
+ /* Copy over section data. */
+ Elf_Data *data = NULL;
+ while ((data = elf_getdata (scn, data)) != NULL)
+ {
+ Elf_Data *new_data = elf_newdata (new_scn);
+ if (new_data == NULL)
+ {
+ error (0, 0, "couldn't create new section data: %s",
+ elf_errmsg (-1));
+ return 1;
+ }
+ *new_data = *data;
+ }
+
+ /* Record last offset of allocated section. */
+ if ((shdr.sh_flags & SHF_ALLOC) != 0)
+ {
+ GElf_Off filesz = (shdr.sh_type != SHT_NOBITS
+ ? shdr.sh_size : 0);
+ if (lastoffset < shdr.sh_offset + filesz)
+ lastoffset = shdr.sh_offset + filesz;
+ }
+ }
+
+ /* Make sure section header name table is setup correctly, we'll
+ need it to determine whether to relocate sections. */
+ if (update_shdrstrndx (new_elf, shstrndx) != 0)
+ {
+ error (0, 0, "error updating shdrstrndx: %s", elf_errmsg (-1));
+ return 1;
+ }
+
+ /* Adjust the relocation sections. */
+ remove_debug_relocations (ebl, new_elf, ehdr, fname, shstrndx);
+
+ /* Adjust the offsets of the non-allocated sections, so they come after
+ the allocated sections. */
+ scn = NULL;
+ while ((scn = elf_nextscn (new_elf, scn)) != NULL)
+ {
+ /* Get the header. */
+ GElf_Shdr shdr;
+ if (gelf_getshdr (scn, &shdr) == NULL)
+ {
+ error (0, 0, "couldn't get shdr: %s", elf_errmsg (-1));
+ return 1;
+ }
+
+ /* Adjust non-allocated section offsets to be after any allocated. */
+ if ((shdr.sh_flags & SHF_ALLOC) == 0)
+ {
+ shdr.sh_offset = ((lastoffset + shdr.sh_addralign - 1)
+ & ~((GElf_Off) (shdr.sh_addralign - 1)));
+ if (gelf_update_shdr (scn, &shdr) == 0)
+ {
+ error (0, 0, "couldn't update shdr: %s", elf_errmsg (-1));
+ return 1;
+ }
+
+ GElf_Off filesz = (shdr.sh_type != SHT_NOBITS
+ ? shdr.sh_size : 0);
+ lastoffset = shdr.sh_offset + filesz;
+ *last_offset = shdr.sh_offset;
+ *last_size = filesz;
+ }
+ }
+
+ return 0;
+}
/* Maximum size of array allocated on stack. */
#define MAX_STACK_ALLOC (400 * 1024)
@@ -468,6 +933,8 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
tmp_debug_fname = NULL;
int result = 0;
size_t shdridx = 0;
+ GElf_Off lastsec_offset = 0;
+ Elf64_Xword lastsec_size = 0;
size_t shstrndx;
struct shdr_info
{
@@ -526,7 +993,7 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
the --reloc-debug-sections option are currently the only reasons
we need EBL so don't open the backend unless necessary. */
Ebl *ebl = NULL;
- if (remove_debug || reloc_debug)
+ if (remove_debug || reloc_debug || reloc_debug_only)
{
ebl = ebl_openbackend (elf);
if (ebl == NULL)
@@ -588,49 +1055,75 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
else
newelf = elf_clone (elf, ELF_C_EMPTY);
- if (unlikely (gelf_newehdr (newelf, gelf_getclass (elf)) == 0)
- || (ehdr->e_type != ET_REL
- && unlikely (gelf_newphdr (newelf, phnum) == 0)))
+ if (unlikely (gelf_newehdr (newelf, gelf_getclass (elf)) == 0))
{
- error (0, 0, gettext ("cannot create new file '%s': %s"),
+ error (0, 0, gettext ("cannot create new ehdr for file '%s': %s"),
output_fname ?: fname, elf_errmsg (-1));
goto fail;
}
/* Copy over the old program header if needed. */
- if (ehdr->e_type != ET_REL)
- for (cnt = 0; cnt < phnum; ++cnt)
- {
- GElf_Phdr phdr_mem;
- GElf_Phdr *phdr = gelf_getphdr (elf, cnt, &phdr_mem);
- if (phdr == NULL
- || unlikely (gelf_update_phdr (newelf, cnt, phdr) == 0))
- INTERNAL_ERROR (fname);
- }
+ if (phnum > 0)
+ {
+ if (unlikely (gelf_newphdr (newelf, phnum) == 0))
+ {
+ error (0, 0, gettext ("cannot create new phdr for file '%s': %s"),
+ output_fname ?: fname, elf_errmsg (-1));
+ goto fail;
+ }
+
+ for (cnt = 0; cnt < phnum; ++cnt)
+ {
+ GElf_Phdr phdr_mem;
+ GElf_Phdr *phdr = gelf_getphdr (elf, cnt, &phdr_mem);
+ if (phdr == NULL
+ || unlikely (gelf_update_phdr (newelf, cnt, phdr) == 0))
+ INTERNAL_ERROR (fname);
+ }
+ }
+
+ if (reloc_debug_only)
+ {
+ if (handle_debug_relocs (elf, ebl, newelf, ehdr, fname, shstrndx,
+ &lastsec_offset, &lastsec_size) != 0)
+ {
+ result = 1;
+ goto fail_close;
+ }
+ idx = shstrndx;
+ goto done; /* Skip all actual stripping operations. */
+ }
if (debug_fname != NULL)
{
/* Also create an ELF descriptor for the debug file */
debugelf = elf_begin (debug_fd, ELF_C_WRITE_MMAP, NULL);
- if (unlikely (gelf_newehdr (debugelf, gelf_getclass (elf)) == 0)
- || (ehdr->e_type != ET_REL
- && unlikely (gelf_newphdr (debugelf, phnum) == 0)))
+ if (unlikely (gelf_newehdr (debugelf, gelf_getclass (elf)) == 0))
{
- error (0, 0, gettext ("cannot create new file '%s': %s"),
+ error (0, 0, gettext ("cannot create new ehdr for file '%s': %s"),
debug_fname, elf_errmsg (-1));
goto fail_close;
}
/* Copy over the old program header if needed. */
- if (ehdr->e_type != ET_REL)
- for (cnt = 0; cnt < phnum; ++cnt)
- {
- GElf_Phdr phdr_mem;
- GElf_Phdr *phdr = gelf_getphdr (elf, cnt, &phdr_mem);
- if (phdr == NULL
- || unlikely (gelf_update_phdr (debugelf, cnt, phdr) == 0))
- INTERNAL_ERROR (fname);
- }
+ if (phnum > 0)
+ {
+ if (unlikely (gelf_newphdr (debugelf, phnum) == 0))
+ {
+ error (0, 0, gettext ("cannot create new phdr for file '%s': %s"),
+ debug_fname, elf_errmsg (-1));
+ goto fail_close;
+ }
+
+ for (cnt = 0; cnt < phnum; ++cnt)
+ {
+ GElf_Phdr phdr_mem;
+ GElf_Phdr *phdr = gelf_getphdr (elf, cnt, &phdr_mem);
+ if (phdr == NULL
+ || unlikely (gelf_update_phdr (debugelf, cnt, phdr) == 0))
+ INTERNAL_ERROR (fname);
+ }
+ }
}
/* Number of sections. */
@@ -738,7 +1231,7 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
to keep the layout of all allocated sections as similar as
possible to the original file. In relocatable object files
everything can be moved. */
- if (ehdr->e_type == ET_REL
+ if (phnum == 0
|| (shdr_info[cnt].shdr.sh_flags & SHF_ALLOC) == 0)
shdr_info[cnt].shdr.sh_offset = 0;
@@ -792,9 +1285,13 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
if (shdr_info[shdr_info[cnt].group_idx].idx == 0)
{
- /* The section group section will be removed. */
+ /* The section group section might be removed.
+ Don't remove the SHF_GROUP flag. The section is
+ either also removed, in which case the flag doesn't matter.
+ Or it moves with the group into the debug file, then
+ it will be reconnected with the new group and should
+ still have the flag set. */
shdr_info[cnt].group_idx = 0;
- shdr_info[cnt].shdr.sh_flags &= ~SHF_GROUP;
}
}
@@ -1135,6 +1632,14 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
debugehdr->e_entry = ehdr->e_entry;
debugehdr->e_flags = ehdr->e_flags;
+ if (unlikely (gelf_update_ehdr (debugelf, debugehdr) == 0))
+ {
+ error (0, 0, gettext ("%s: error while updating ELF header: %s"),
+ debug_fname, elf_errmsg (-1));
+ result = 1;
+ goto fail_close;
+ }
+
size_t shdrstrndx;
if (elf_getshdrstrndx (elf, &shdrstrndx) < 0)
{
@@ -1144,36 +1649,9 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
goto fail_close;
}
- if (shstrndx < SHN_LORESERVE)
- debugehdr->e_shstrndx = shdrstrndx;
- else
+ if (update_shdrstrndx (debugelf, shdrstrndx) != 0)
{
- debugehdr->e_shstrndx = SHN_XINDEX;
- Elf_Scn *scn0 = elf_getscn (debugelf, 0);
- GElf_Shdr shdr0_mem;
- GElf_Shdr *shdr0 = gelf_getshdr (scn0, &shdr0_mem);
- if (shdr0 == NULL)
- {
- error (0, 0, gettext ("%s: error getting zero section: %s"),
- debug_fname, elf_errmsg (-1));
- result = 1;
- goto fail_close;
- }
-
- shdr0->sh_link = shdrstrndx;
- if (gelf_update_shdr (scn0, shdr0) == 0)
- {
- error (0, 0, gettext ("%s: error while updating zero section: %s"),
- debug_fname, elf_errmsg (-1));
- result = 1;
- goto fail_close;
- }
-
- }
-
- if (unlikely (gelf_update_ehdr (debugelf, debugehdr) == 0))
- {
- error (0, 0, gettext ("%s: error while creating ELF header: %s"),
+ error (0, 0, gettext ("%s: error updating shdrstrndx: %s"),
debug_fname, elf_errmsg (-1));
result = 1;
goto fail_close;
@@ -1368,7 +1846,9 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
&& shdr_info[cnt].data->d_buf != NULL);
Elf32_Word *grpref = (Elf32_Word *) shdr_info[cnt].data->d_buf;
- for (size_t inner = 0;
+ /* First word is the section group flag.
+ Followed by section indexes, that need to be renumbered. */
+ for (size_t inner = 1;
inner < shdr_info[cnt].data->d_size / sizeof (Elf32_Word);
++inner)
if (grpref[inner] < shnum)
@@ -1958,240 +2438,7 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname,
zero based between the unallocated sections. */
if (debug_fname != NULL && removing_sections
&& reloc_debug && ehdr->e_type == ET_REL)
- {
- scn = NULL;
- cnt = 0;
- while ((scn = elf_nextscn (debugelf, scn)) != NULL)
- {
- cnt++;
- /* We need the actual section and header from the debugelf
- not just the cached original in shdr_info because we
- might want to change the size. */
- GElf_Shdr shdr_mem;
- GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
- if (shdr->sh_type == SHT_REL || shdr->sh_type == SHT_RELA)
- {
- /* Make sure that this relocation section points to a
- section to relocate with contents, that isn't
- allocated and that is a debug section. */
- Elf_Scn *tscn = elf_getscn (debugelf, shdr->sh_info);
- GElf_Shdr tshdr_mem;
- GElf_Shdr *tshdr = gelf_getshdr (tscn, &tshdr_mem);
- if (tshdr->sh_type == SHT_NOBITS
- || tshdr->sh_size == 0
- || (tshdr->sh_flags & SHF_ALLOC) != 0)
- continue;
-
- const char *tname = elf_strptr (debugelf, shstrndx,
- tshdr->sh_name);
- if (! tname || ! ebl_debugscn_p (ebl, tname))
- continue;
-
- /* OK, lets relocate all trivial cross debug section
- relocations. */
- Elf_Data *reldata = elf_getdata (scn, NULL);
- if (reldata == NULL || reldata->d_buf == NULL)
- INTERNAL_ERROR (fname);
-
- /* Make sure we adjust the uncompressed debug data
- (and recompress if necessary at the end). */
- GElf_Chdr tchdr;
- int tcompress_type = 0;
- if (gelf_getchdr (tscn, &tchdr) != NULL)
- {
- tcompress_type = tchdr.ch_type;
- if (elf_compress (tscn, 0, 0) != 1)
- INTERNAL_ERROR (fname);
- }
-
- Elf_Data *tdata = elf_getdata (tscn, NULL);
- if (tdata == NULL || tdata->d_buf == NULL
- || tdata->d_type != ELF_T_BYTE)
- INTERNAL_ERROR (fname);
-
- /* Pick up the symbol table and shndx table to
- resolve relocation symbol indexes. */
- Elf64_Word symt = shdr->sh_link;
- Elf_Data *symdata, *xndxdata;
- elf_assert (symt < shnum + 2);
- elf_assert (shdr_info[symt].symtab_idx < shnum + 2);
- symdata = (shdr_info[symt].debug_data
- ?: shdr_info[symt].data);
- xndxdata = (shdr_info[shdr_info[symt].symtab_idx].debug_data
- ?: shdr_info[shdr_info[symt].symtab_idx].data);
-
- /* Apply one relocation. Returns true when trivial
- relocation actually done. */
- bool relocate (GElf_Addr offset, const GElf_Sxword addend,
- bool is_rela, int rtype, int symndx)
- {
- /* R_*_NONE relocs can always just be removed. */
- if (rtype == 0)
- return true;
-
- /* We only do simple absolute relocations. */
- Elf_Type type = ebl_reloc_simple_type (ebl, rtype);
- if (type == ELF_T_NUM)
- return false;
-
- /* These are the types we can relocate. */
-#define TYPES DO_TYPE (BYTE, Byte); DO_TYPE (HALF, Half); \
- DO_TYPE (WORD, Word); DO_TYPE (SWORD, Sword); \
- DO_TYPE (XWORD, Xword); DO_TYPE (SXWORD, Sxword)
-
- /* And only for relocations against other debug sections. */
- GElf_Sym sym_mem;
- Elf32_Word xndx;
- GElf_Sym *sym = gelf_getsymshndx (symdata, xndxdata,
- symndx, &sym_mem,
- &xndx);
- Elf32_Word sec = (sym->st_shndx == SHN_XINDEX
- ? xndx : sym->st_shndx);
- if (sec >= shnum + 2)
- INTERNAL_ERROR (fname);
-
- if (ebl_debugscn_p (ebl, shdr_info[sec].name))
- {
- size_t size;
-
-#define DO_TYPE(NAME, Name) GElf_##Name Name;
- union { TYPES; } tmpbuf;
-#undef DO_TYPE
-
- switch (type)
- {
-#define DO_TYPE(NAME, Name) \
- case ELF_T_##NAME: \
- size = sizeof (GElf_##Name); \
- tmpbuf.Name = 0; \
- break;
- TYPES;
-#undef DO_TYPE
- default:
- return false;
- }
-
- if (offset > tdata->d_size
- || tdata->d_size - offset < size)
- {
- cleanup_debug ();
- error (EXIT_FAILURE, 0, gettext ("bad relocation"));
- }
-
- /* When the symbol value is zero then for SHT_REL
- sections this is all that needs to be checked.
- The addend is contained in the original data at
- the offset already. So if the (section) symbol
- address is zero and the given addend is zero
- just remove the relocation, it isn't needed
- anymore. */
- if (addend == 0 && sym->st_value == 0)
- return true;
-
- Elf_Data tmpdata =
- {
- .d_type = type,
- .d_buf = &tmpbuf,
- .d_size = size,
- .d_version = EV_CURRENT,
- };
- Elf_Data rdata =
- {
- .d_type = type,
- .d_buf = tdata->d_buf + offset,
- .d_size = size,
- .d_version = EV_CURRENT,
- };
-
- GElf_Addr value = sym->st_value;
- if (is_rela)
- {
- /* For SHT_RELA sections we just take the
- given addend and add it to the value. */
- value += addend;
- }
- else
- {
- /* For SHT_REL sections we have to peek at
- what is already in the section at the given
- offset to get the addend. */
- Elf_Data *d = gelf_xlatetom (debugelf, &tmpdata,
- &rdata,
- ehdr->e_ident[EI_DATA]);
- if (d == NULL)
- INTERNAL_ERROR (fname);
- assert (d == &tmpdata);
- }
-
- switch (type)
- {
-#define DO_TYPE(NAME, Name) \
- case ELF_T_##NAME: \
- tmpbuf.Name += (GElf_##Name) value; \
- break;
- TYPES;
-#undef DO_TYPE
- default:
- abort ();
- }
-
- /* Now finally put in the new value. */
- Elf_Data *s = gelf_xlatetof (debugelf, &rdata,
- &tmpdata,
- ehdr->e_ident[EI_DATA]);
- if (s == NULL)
- INTERNAL_ERROR (fname);
- assert (s == &rdata);
-
- return true;
- }
- return false;
- }
-
- if (shdr->sh_entsize == 0)
- INTERNAL_ERROR (fname);
-
- size_t nrels = shdr->sh_size / shdr->sh_entsize;
- size_t next = 0;
- if (shdr->sh_type == SHT_REL)
- for (size_t relidx = 0; relidx < nrels; ++relidx)
- {
- GElf_Rel rel_mem;
- GElf_Rel *r = gelf_getrel (reldata, relidx, &rel_mem);
- if (! relocate (r->r_offset, 0, false,
- GELF_R_TYPE (r->r_info),
- GELF_R_SYM (r->r_info)))
- {
- if (relidx != next)
- gelf_update_rel (reldata, next, r);
- ++next;
- }
- }
- else
- for (size_t relidx = 0; relidx < nrels; ++relidx)
- {
- GElf_Rela rela_mem;
- GElf_Rela *r = gelf_getrela (reldata, relidx, &rela_mem);
- if (! relocate (r->r_offset, r->r_addend, true,
- GELF_R_TYPE (r->r_info),
- GELF_R_SYM (r->r_info)))
- {
- if (relidx != next)
- gelf_update_rela (reldata, next, r);
- ++next;
- }
- }
-
- nrels = next;
- shdr->sh_size = reldata->d_size = nrels * shdr->sh_entsize;
- gelf_update_shdr (scn, shdr);
-
- if (tcompress_type != 0)
- if (elf_compress (tscn, tcompress_type, ELF_CHF_FORCE) != 1)
- INTERNAL_ERROR (fname);
- }
- }
- }
+ remove_debug_relocations (ebl, debugelf, ehdr, fname, shstrndx);
/* Now that we have done all adjustments to the data,
we can actually write out the debug file. */
@@ -2249,6 +2496,10 @@ while computing checksum for debug information"));
}
}
+ lastsec_offset = shdr_info[shdridx].shdr.sh_offset;
+ lastsec_size = shdr_info[shdridx].shdr.sh_size;
+
+ done:
/* Finally finish the ELF header. Fill in the fields not handled by
libelf from the old file. */
newehdr = gelf_getehdr (newelf, &newehdr_mem);
@@ -2265,31 +2516,22 @@ while computing checksum for debug information"));
/* We need to position the section header table. */
const size_t offsize = gelf_fsize (elf, ELF_T_OFF, 1, EV_CURRENT);
- newehdr->e_shoff = ((shdr_info[shdridx].shdr.sh_offset
- + shdr_info[shdridx].shdr.sh_size + offsize - 1)
+ newehdr->e_shoff = ((lastsec_offset + lastsec_size + offsize - 1)
& ~((GElf_Off) (offsize - 1)));
newehdr->e_shentsize = gelf_fsize (elf, ELF_T_SHDR, 1, EV_CURRENT);
- /* The new section header string table index. */
- if (likely (idx < SHN_HIRESERVE) && likely (idx != SHN_XINDEX))
- newehdr->e_shstrndx = idx;
- else
+ if (gelf_update_ehdr (newelf, newehdr) == 0)
{
- /* The index does not fit in the ELF header field. */
- shdr_info[0].scn = elf_getscn (elf, 0);
-
- if (gelf_getshdr (shdr_info[0].scn, &shdr_info[0].shdr) == NULL)
- INTERNAL_ERROR (fname);
-
- shdr_info[0].shdr.sh_link = idx;
- (void) gelf_update_shdr (shdr_info[0].scn, &shdr_info[0].shdr);
-
- newehdr->e_shstrndx = SHN_XINDEX;
+ error (0, 0, gettext ("%s: error while creating ELF header: %s"),
+ output_fname ?: fname, elf_errmsg (-1));
+ cleanup_debug ();
+ return 1;
}
- if (gelf_update_ehdr (newelf, newehdr) == 0)
+ /* The new section header string table index. */
+ if (update_shdrstrndx (newelf, idx) != 0)
{
- error (0, 0, gettext ("%s: error while creating ELF header: %s"),
+ error (0, 0, gettext ("%s: error updating shdrstrndx: %s"),
output_fname ?: fname, elf_errmsg (-1));
cleanup_debug ();
return 1;
@@ -2307,7 +2549,7 @@ while computing checksum for debug information"));
/* The ELF library better follows our layout when this is not a
relocatable object file. */
elf_flagelf (newelf, ELF_C_SET,
- (ehdr->e_type != ET_REL ? ELF_F_LAYOUT : 0)
+ (phnum > 0 ? ELF_F_LAYOUT : 0)
| (permissive ? ELF_F_PERMISSIVE : 0));
/* Finally write the file. */
@@ -2336,7 +2578,7 @@ while computing checksum for debug information"));
|| (pwrite_retry (fd, zero, sizeof zero,
offsetof (Elf32_Ehdr, e_shentsize))
!= sizeof zero)
- || ftruncate (fd, shdr_info[shdridx].shdr.sh_offset) < 0)
+ || ftruncate (fd, lastsec_offset) < 0)
{
error (0, errno, gettext ("while writing '%s'"),
output_fname ?: fname);
@@ -2356,7 +2598,7 @@ while computing checksum for debug information"));
|| (pwrite_retry (fd, zero, sizeof zero,
offsetof (Elf64_Ehdr, e_shentsize))
!= sizeof zero)
- || ftruncate (fd, shdr_info[shdridx].shdr.sh_offset) < 0)
+ || ftruncate (fd, lastsec_offset) < 0)
{
error (0, errno, gettext ("while writing '%s'"),
output_fname ?: fname);
diff --git a/src/unstrip.c b/src/unstrip.c
index e6f09478..3495b1d9 100644
--- a/src/unstrip.c
+++ b/src/unstrip.c
@@ -245,6 +245,7 @@ copy_elf (Elf *outelf, Elf *inelf)
GElf_Ehdr ehdr_mem;
GElf_Ehdr *ehdr = gelf_getehdr (inelf, &ehdr_mem);
+ ELF_CHECK (ehdr != NULL, _("cannot get ELF header: %s"));
if (shstrndx < SHN_LORESERVE)
ehdr->e_shstrndx = shstrndx;
else
@@ -446,6 +447,9 @@ adjust_relocs (Elf_Scn *outscn, Elf_Scn *inscn, const GElf_Shdr *shdr,
switch (shdr->sh_type)
{
case SHT_REL:
+ if (shdr->sh_entsize == 0)
+ error (EXIT_FAILURE, 0, "REL section cannot have zero sh_entsize");
+
for (size_t i = 0; i < shdr->sh_size / shdr->sh_entsize; ++i)
{
GElf_Rel rel_mem;
@@ -457,6 +461,9 @@ adjust_relocs (Elf_Scn *outscn, Elf_Scn *inscn, const GElf_Shdr *shdr,
break;
case SHT_RELA:
+ if (shdr->sh_entsize == 0)
+ error (EXIT_FAILURE, 0, "RELA section cannot have zero sh_entsize");
+
for (size_t i = 0; i < shdr->sh_size / shdr->sh_entsize; ++i)
{
GElf_Rela rela_mem;
@@ -483,6 +490,10 @@ adjust_relocs (Elf_Scn *outscn, Elf_Scn *inscn, const GElf_Shdr *shdr,
case SHT_HASH:
/* We must expand the table and rejigger its contents. */
{
+ if (shdr->sh_entsize == 0)
+ error (EXIT_FAILURE, 0, "HASH section cannot have zero sh_entsize");
+ if (symshdr->sh_entsize == 0)
+ error (EXIT_FAILURE, 0, "Symbol table cannot have zero sh_entsize");
const size_t nsym = symshdr->sh_size / symshdr->sh_entsize;
const size_t onent = shdr->sh_size / shdr->sh_entsize;
assert (data->d_size == shdr->sh_size);
@@ -538,6 +549,11 @@ adjust_relocs (Elf_Scn *outscn, Elf_Scn *inscn, const GElf_Shdr *shdr,
case SHT_GNU_versym:
/* We must expand the table and move its elements around. */
{
+ if (shdr->sh_entsize == 0)
+ error (EXIT_FAILURE, 0,
+ "GNU_versym section cannot have zero sh_entsize");
+ if (symshdr->sh_entsize == 0)
+ error (EXIT_FAILURE, 0, "Symbol table cannot have zero sh_entsize");
const size_t nent = symshdr->sh_size / symshdr->sh_entsize;
const size_t onent = shdr->sh_size / shdr->sh_entsize;
assert (nent >= onent);
@@ -603,6 +619,8 @@ add_new_section_symbols (Elf_Scn *old_symscn, size_t old_shnum,
GElf_Shdr shdr_mem;
GElf_Shdr *shdr = gelf_getshdr (symscn, &shdr_mem);
ELF_CHECK (shdr != NULL, _("cannot get section header: %s"));
+ if (shdr->sh_entsize == 0)
+ error (EXIT_FAILURE, 0, "Symbol table section cannot have zero sh_entsize");
const size_t nsym = shdr->sh_size / shdr->sh_entsize;
size_t symndx_map[nsym - 1];
@@ -696,6 +714,7 @@ struct section
{
Elf_Scn *scn;
const char *name;
+ const char *sig;
Elf_Scn *outscn;
Dwelf_Strent *strent;
GElf_Shdr shdr;
@@ -720,7 +739,8 @@ compare_alloc_sections (const struct section *s1, const struct section *s2,
static int
compare_unalloc_sections (const GElf_Shdr *shdr1, const GElf_Shdr *shdr2,
- const char *name1, const char *name2)
+ const char *name1, const char *name2,
+ const char *sig1, const char *sig2)
{
/* Sort by sh_flags as an arbitrary ordering. */
if (shdr1->sh_flags < shdr2->sh_flags)
@@ -734,6 +754,10 @@ compare_unalloc_sections (const GElf_Shdr *shdr1, const GElf_Shdr *shdr2,
if (shdr1->sh_size > shdr2->sh_size)
return 1;
+ /* Are they both SHT_GROUP sections? Then compare signatures. */
+ if (sig1 != NULL && sig2 != NULL)
+ return strcmp (sig1, sig2);
+
/* Sort by name as last resort. */
return strcmp (name1, name2);
}
@@ -751,7 +775,8 @@ compare_sections (const void *a, const void *b, bool rel)
return ((s1->shdr.sh_flags & SHF_ALLOC)
? compare_alloc_sections (s1, s2, rel)
: compare_unalloc_sections (&s1->shdr, &s2->shdr,
- s1->name, s2->name));
+ s1->name, s2->name,
+ s1->sig, s2->sig));
}
static int
@@ -986,6 +1011,44 @@ get_section_name (size_t ndx, const GElf_Shdr *shdr, const Elf_Data *shstrtab)
return shstrtab->d_buf + shdr->sh_name;
}
+/* Returns the signature of a group section, or NULL if the given
+ section isn't a group. */
+static const char *
+get_group_sig (Elf *elf, GElf_Shdr *shdr)
+{
+ if (shdr->sh_type != SHT_GROUP)
+ return NULL;
+
+ Elf_Scn *symscn = elf_getscn (elf, shdr->sh_link);
+ if (symscn == NULL)
+ error (EXIT_FAILURE, 0, _("bad sh_link for group section: %s"),
+ elf_errmsg (-1));
+
+ GElf_Shdr symshdr_mem;
+ GElf_Shdr *symshdr = gelf_getshdr (symscn, &symshdr_mem);
+ if (symshdr == NULL)
+ error (EXIT_FAILURE, 0, _("couldn't get shdr for group section: %s"),
+ elf_errmsg (-1));
+
+ Elf_Data *symdata = elf_getdata (symscn, NULL);
+ if (symdata == NULL)
+ error (EXIT_FAILURE, 0, _("bad data for group symbol section: %s"),
+ elf_errmsg (-1));
+
+ GElf_Sym sym_mem;
+ GElf_Sym *sym = gelf_getsym (symdata, shdr->sh_info, &sym_mem);
+ if (sym == NULL)
+ error (EXIT_FAILURE, 0, _("couldn't get symbol for group section: %s"),
+ elf_errmsg (-1));
+
+ const char *sig = elf_strptr (elf, symshdr->sh_link, sym->st_name);
+ if (sig == NULL)
+ error (EXIT_FAILURE, 0, _("bad symbol name for group section: %s"),
+ elf_errmsg (-1));
+
+ return sig;
+}
+
/* Fix things up when prelink has moved some allocated sections around
and the debuginfo file's section headers no longer match up.
This fills in SECTIONS[0..NALLOC-1].outscn or exits.
@@ -1111,6 +1174,7 @@ find_alloc_sections_prelink (Elf *debug, Elf_Data *debug_shstrtab,
sec->scn = elf_getscn (main, i + 1); /* Really just for ndx. */
sec->outscn = NULL;
sec->strent = NULL;
+ sec->sig = get_group_sig (main, &sec->shdr);
++undo_nalloc;
}
}
@@ -1336,6 +1400,7 @@ more sections in stripped file than debug file -- arguments reversed?"));
sections[i].scn = scn;
sections[i].outscn = NULL;
sections[i].strent = NULL;
+ sections[i].sig = get_group_sig (stripped, shdr);
}
const struct section *stripped_symtab = NULL;
@@ -1354,7 +1419,8 @@ more sections in stripped file than debug file -- arguments reversed?"));
/* Locate a matching unallocated section in SECTIONS. */
inline struct section *find_unalloc_section (const GElf_Shdr *shdr,
- const char *name)
+ const char *name,
+ const char *sig)
{
size_t l = nalloc, u = stripped_shnum - 1;
while (l < u)
@@ -1362,7 +1428,8 @@ more sections in stripped file than debug file -- arguments reversed?"));
size_t i = (l + u) / 2;
struct section *sec = &sections[i];
int cmp = compare_unalloc_sections (shdr, &sec->shdr,
- name, sec->name);
+ name, sec->name,
+ sig, sec->sig);
if (cmp < 0)
u = i;
else if (cmp > 0)
@@ -1435,7 +1502,8 @@ more sections in stripped file than debug file -- arguments reversed?"));
else
{
/* Look for the section that matches. */
- sec = find_unalloc_section (shdr, name);
+ sec = find_unalloc_section (shdr, name,
+ get_group_sig (unstripped, shdr));
if (sec == NULL)
{
/* An additional unallocated section is fine if not SHT_NOBITS.
@@ -1621,6 +1689,9 @@ more sections in stripped file than debug file -- arguments reversed?"));
Elf_Data *shndxdata = NULL; /* XXX */
+ if (shdr_mem.sh_entsize == 0)
+ error (EXIT_FAILURE, 0,
+ "SYMTAB section cannot have zero sh_entsize");
for (size_t i = 1; i < shdr_mem.sh_size / shdr_mem.sh_entsize; ++i)
{
GElf_Sym sym_mem;
@@ -1658,6 +1729,20 @@ more sections in stripped file than debug file -- arguments reversed?"));
if (shdr_mem.sh_type == SHT_DYNSYM)
stripped_dynsym = sec;
}
+
+ if (shdr_mem.sh_type == SHT_GROUP)
+ {
+ /* We must adjust all the section indices in the group.
+ Skip the first word, which is the section group flag.
+ Everything else is a section index. */
+ Elf32_Word *shndx = (Elf32_Word *) outdata->d_buf;
+ for (size_t i = 1; i < shdr_mem.sh_size / sizeof (Elf32_Word); ++i)
+ if (shndx[i] == SHN_UNDEF || shndx[i] >= stripped_shnum)
+ error (EXIT_FAILURE, 0,
+ _("group has invalid section index [%zd]"), i);
+ else
+ shndx[i] = ndx_section[shndx[i] - 1];
+ }
}
/* We may need to update the symbol table. */
@@ -1672,11 +1757,16 @@ more sections in stripped file than debug file -- arguments reversed?"));
/* Merge the stripped file's symbol table into the unstripped one. */
const size_t stripped_nsym = (stripped_symtab == NULL ? 1
: (stripped_symtab->shdr.sh_size
- / stripped_symtab->shdr.sh_entsize));
+ / (stripped_symtab->shdr.sh_entsize == 0
+ ? 1
+ : stripped_symtab->shdr.sh_entsize)));
GElf_Shdr shdr_mem;
GElf_Shdr *shdr = gelf_getshdr (unstripped_symtab, &shdr_mem);
ELF_CHECK (shdr != NULL, _("cannot get section header: %s"));
+ if (shdr->sh_entsize == 0)
+ error (EXIT_FAILURE, 0,
+ "unstripped SYMTAB section cannot have zero sh_entsize");
const size_t unstripped_nsym = shdr->sh_size / shdr->sh_entsize;
/* First collect all the symbols from both tables. */
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 4e8b8144..514229b7 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,74 @@
+2018-11-09 Mark Wielaard <mark@klomp.org>
+
+ * run-strip-reloc.sh: Also test testfile-debug-rel-ppc64-z.o
+ testfile-debug-rel-ppc64-g.o.
+
+2018-11-12 Mark Wielaard <mark@klomp.org>
+
+ * run-readelf-n.sh: Add testfile-annobingroup.o test.
+
+2018-11-11 Mark Wielaard <mark@klomp.org>
+
+ * run-readelf-n.sh: Fix NT_GNU_ABI_TAG type. Add testfile11 test
+ for NT_VERSION.
+
+2018-11-04 Mark Wielaard <mark@klomp.org>
+
+ * testfile-bpf-reloc.expect.bz2: Update with new expected jump
+ variants.
+
+2018-10-20 Mark Wielaard <mark@klomp.org>
+
+ * run-readelf-compressed.sh: New test.
+ * Makefile.am (TESTS): Add run-readelf-compressed.sh.
+ (EXTRA_DIST): Likewise.
+
+2018-11-09 Mark Wielaard <mark@klomp.org>
+
+ * testfile-debug-rel-ppc64-g.o.bz2: New test file.
+ * testfile-debug-rel-ppc64-z.o.bz2: Likewise.
+ * testfile-debug-rel-ppc64.o.bz2: Likewise.
+ * Makefile.am (EXTRA_DIST): Add testfile-debug-rel-ppc64-g.o.bz2,
+ testfile-debug-rel-ppc64-z.o.bz2 and testfile-debug-rel-ppc64.o.bz2.
+ * run-strip-reloc.sh: Also test on testfile-debug-rel-ppc64.o.
+ * run-readelf-zdebug-rel.sh: Also test on testfile-debug-rel-ppc64*.o.
+
+2018-10-26 Mark Wielaard <mark@klomp.org>
+
+ * run-strip-reloc.sh: Add a test for --reloc-debug-sections-only.
+
+2018-10-18 Mark Wielaard <mark@klomp.org>
+
+ * run-readelf-n.sh: New test.
+ * testfile-gnu-property-note.bz2: New testfile.
+ * testfile-gnu-property-note.o.bz2: Likewise.
+ * Makefile.am (TESTS): Add run-readelf-n.sh.
+ (EXTRA_DIST): Likewise and testfile-gnu-property-note.bz2,
+ testfile-gnu-property-note.o.bz2.
+
+2018-10-12 Mark Wielaard <mark@klomp.org>
+
+ * run-readelf-zdebug.sh: Adjust flags output.
+ * run-readelf-macro.sh: Likewise.
+ * run-readelf-macros.sh: New test.
+ * testfile-macros-object.o.bz2: New test file.
+ * Makefile.am (TESTS): Add run-readelf-macros.sh.
+ (EXTRA_DIST): Add run-readelf-macros.sh and
+ testfile-macros-object.o.bz2.
+
+2018-09-12 Mark Wielaard <mark@klomp.org>
+
+ * run-annobingroup.sh: Add x86_64 ET_REL testcase.
+ * testfile-annobingroup-x86_64.o.bz2: New test file.
+ * Makefile.am (EXTRA_DIST): Add testfile-annobingroup-x86_64.o.bz2.
+
+2018-09-18 Mark Wielaard <mark@klomp.org>
+
+ * backtrace-dwarf.c (thread_callback): Only error when
+ dwfl_thread_getframes returns an error.
+ (main): Don't call abort or assert but print an error when
+ something unexpected happens.
+
2018-09-13 Mark Wielaard <mark@klomp.org>
* run-strip-test-many.sh: New test.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index b060587b..6258685b 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -99,12 +99,14 @@ 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-self.sh run-readelf-self.sh run-readelf-info-plus.sh \
+ run-readelf-compressed.sh \
run-readelf-const-values.sh \
run-varlocs-self.sh run-exprlocs-self.sh \
run-readelf-test1.sh run-readelf-test2.sh run-readelf-test3.sh \
run-readelf-test4.sh run-readelf-twofiles.sh \
run-readelf-macro.sh run-readelf-loc.sh run-readelf-ranges.sh \
run-readelf-aranges.sh run-readelf-line.sh run-readelf-z.sh \
+ run-readelf-n.sh \
run-native-test.sh run-bug1-test.sh \
run-debuglink.sh run-debugaltlink.sh run-buildid.sh \
dwfl-bug-addr-overflow run-addrname-test.sh \
@@ -198,6 +200,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \
run-strip-nothing.sh run-strip-remove-keep.sh run-strip-g.sh \
run-annobingroup.sh testfile-annobingroup.o.bz2 \
testfile-annobingroup-i386.o.bz2 \
+ 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 \
@@ -213,6 +216,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \
run-ranlib-test3.sh run-ranlib-test4.sh \
run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \
run-nm-self.sh run-readelf-self.sh run-readelf-info-plus.sh \
+ run-readelf-compressed.sh \
run-readelf-const-values.sh testfile-const-values.debug.bz2 \
run-addrcfi.sh run-dwarfcfi.sh \
testfile11-debugframe.bz2 testfile12-debugframe.bz2 \
@@ -270,6 +274,8 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \
testfile-dwzstr.bz2 testfile-dwzstr.multi.bz2 \
run-readelf-addr.sh run-readelf-str.sh \
run-readelf-types.sh \
+ run-readelf-n.sh \
+ testfile-gnu-property-note.bz2 testfile-gnu-property-note.o.bz2 \
run-allfcts-multi.sh \
test-offset-loop.bz2 test-offset-loop.alt.bz2 \
run-prelink-addr-test.sh \
@@ -407,7 +413,10 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh run-ar.sh \
testfile-riscv64.bz2 testfile-riscv64-s.bz2 \
testfile-riscv64-core.bz2 \
run-copyadd-sections.sh run-copymany-sections.sh \
- run-typeiter-many.sh run-strip-test-many.sh
+ run-typeiter-many.sh run-strip-test-many.sh \
+ testfile-debug-rel-ppc64-g.o.bz2 \
+ testfile-debug-rel-ppc64-z.o.bz2 \
+ testfile-debug-rel-ppc64.o.bz2
if USE_VALGRIND
valgrind_cmd='valgrind -q --leak-check=full --error-exitcode=1'
diff --git a/tests/backtrace-dwarf.c b/tests/backtrace-dwarf.c
index 35f25ed6..dfbf1856 100644
--- a/tests/backtrace-dwarf.c
+++ b/tests/backtrace-dwarf.c
@@ -1,5 +1,5 @@
/* Test program for unwinding of complicated DWARF expressions.
- Copyright (C) 2013, 2015 Red Hat, Inc.
+ Copyright (C) 2013, 2015, 2018 Red Hat, Inc.
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
@@ -16,7 +16,6 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include <config.h>
-#include <assert.h>
#include <inttypes.h>
#include <stdio_ext.h>
#include <locale.h>
@@ -117,9 +116,11 @@ frame_callback (Dwfl_Frame *state, void *frame_arg)
static int
thread_callback (Dwfl_Thread *thread, void *thread_arg)
{
- dwfl_thread_getframes (thread, frame_callback, NULL);
+ if (dwfl_thread_getframes (thread, frame_callback, NULL) == -1)
+ error (1, 0, "dwfl_thread_getframes: %s", dwfl_errmsg (-1));
+
/* frame_callback shall exit (0) on success. */
- error (1, 0, "dwfl_thread_getframes: %s", dwfl_errmsg (-1));
+ printf ("dwfl_thread_getframes returned, main not found\n");
return DWARF_CB_ABORT;
}
@@ -141,13 +142,18 @@ main (int argc __attribute__ ((unused)), char **argv)
switch (pid)
{
case -1:
- abort ();
+ perror ("fork failed");
+ exit (-1);
case 0:;
long l = ptrace (PTRACE_TRACEME, 0, NULL, NULL);
- assert (errno == 0);
- assert (l == 0);
+ if (l != 0)
+ {
+ perror ("PTRACE_TRACEME failed");
+ exit (-1);
+ }
cleanup_13_main ();
- abort ();
+ printf ("cleanup_13_main returned, impossible...\n");
+ exit (-1);
default:
break;
}
@@ -155,16 +161,20 @@ main (int argc __attribute__ ((unused)), char **argv)
errno = 0;
int status;
pid_t got = waitpid (pid, &status, 0);
- assert (errno == 0);
- assert (got == pid);
- assert (WIFSTOPPED (status));
- assert (WSTOPSIG (status) == SIGABRT);
+ if (got != pid)
+ error (1, errno, "waitpid returned %d", got);
+ if (!WIFSTOPPED (status))
+ error (1, 0, "unexpected wait status %u", status);
+ if (WSTOPSIG (status) != SIGABRT)
+ error (1, 0, "unexpected signal %u", WSTOPSIG (status));
Dwfl *dwfl = pid_to_dwfl (pid);
- dwfl_getthreads (dwfl, thread_callback, NULL);
+ if (dwfl_getthreads (dwfl, thread_callback, NULL) == -1)
+ error (1, 0, "dwfl_getthreads: %s", dwfl_errmsg (-1));
/* There is an exit (0) call if we find the "main" frame, */
- error (1, 0, "dwfl_getthreads: %s", dwfl_errmsg (-1));
+ printf ("dwfl_getthreads returned, main not found\n");
+ exit (-1);
}
#endif /* ! __linux__ */
diff --git a/tests/run-annobingroup.sh b/tests/run-annobingroup.sh
index 700df321..fd36e4ac 100755
--- a/tests/run-annobingroup.sh
+++ b/tests/run-annobingroup.sh
@@ -120,4 +120,37 @@ EOF
testrun ${abs_top_builddir}/src/elfcmp testfile-annobingroup-i386.o remerged.elf
+# echo "void * foo (void) { return foo; }" > testfile-annobingroup-x86_64.c
+# gcc -g -O2 -fplugin=annobin -c testfile-annobingroup-x86_64.c
+testfiles testfile-annobingroup-x86_64.o
+
+testrun_compare ${abs_top_builddir}/src/readelf -g testfile-annobingroup-x86_64.o << EOF
+
+Section group [ 1] '.group' with signature '.text.hot.group' contains 3 entries:
+ [11] .text.hot
+ [12] .gnu.build.attributes.hot
+ [13] .rela.gnu.build.attributes.hot
+
+Section group [ 2] '.group' with signature '.text.unlikely.group' contains 3 entries:
+ [14] .text.unlikely
+ [15] .gnu.build.attributes.unlikely
+ [16] .rela.gnu.build.attributes.unlikely
+
+Section group [ 3] '.group' with signature '.text.hot..group' contains 1 entry:
+ [26] .text.hot
+
+Section group [ 4] '.group' with signature '.text.unlikely..group' contains 1 entry:
+ [27] .text.unlikely
+EOF
+
+testrun ${abs_top_builddir}/src/strip -o stripped.elf -f debugfile.elf testfile-annobingroup-x86_64.o
+
+# This would/should work, except for the unknown NOTEs.
+# testrun ${abs_top_builddir}/src/elflint --gnu stripped.elf
+# testrun ${abs_top_builddir}/src/elflint --gnu --debug debugfile.elf
+
+testrun ${abs_top_builddir}/src/unstrip -o remerged.elf stripped.elf debugfile.elf
+
+testrun ${abs_top_builddir}/src/elfcmp testfile-annobingroup-x86_64.o remerged.elf
+
exit 0
diff --git a/tests/run-readelf-compressed.sh b/tests/run-readelf-compressed.sh
new file mode 100755
index 00000000..a2a04a2a
--- /dev/null
+++ b/tests/run-readelf-compressed.sh
@@ -0,0 +1,34 @@
+#! /bin/sh
+# Copyright (C) 2018 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
+
+# See run-strip-reloc.sh
+testfiles hello_i386.ko
+
+tempfiles hello_i386.ko.bz2 readelf.out.1 readelf.out.2
+
+testrun ${abs_top_builddir}/src/readelf -a hello_i386.ko > readelf.out.1
+bzip2 hello_i386.ko
+testrun ${abs_top_builddir}/src/readelf -a hello_i386.ko.bz2 > readelf.out.2
+
+diff -u readelf.out.1 readelf.out.2
+if [ $? != 0 ]; then
+ exit 1;
+fi
+
+exit 0
diff --git a/tests/run-readelf-macro.sh b/tests/run-readelf-macro.sh
index 86932033..8b17f7da 100755
--- a/tests/run-readelf-macro.sh
+++ b/tests/run-readelf-macro.sh
@@ -65,7 +65,7 @@ DWARF section [32] '.debug_macro' at offset 0x2480:
Offset: 0x0
Version: 4
- Flag: 0x2
+ Flag: 0x2 (debug_line_offset)
Offset length: 4
.debug_line offset: 0x0
@@ -329,7 +329,7 @@ DWARF section [32] '.debug_macro' at offset 0x2480:
Offset: 0x5bc
Version: 4
- Flag: 0x2
+ Flag: 0x2 (debug_line_offset)
Offset length: 4
.debug_line offset: 0x47
diff --git a/tests/run-readelf-macros.sh b/tests/run-readelf-macros.sh
new file mode 100755
index 00000000..cc311b75
--- /dev/null
+++ b/tests/run-readelf-macros.sh
@@ -0,0 +1,435 @@
+#! /bin/sh
+# Copyright (C) 2018 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
+
+# - testfile-macros-object.c
+#
+# #define SUCCESS 0
+# #define FAILURE 0
+#
+# #include <stdbool.h>
+#
+# bool foo (int input)
+# {
+# return input == SUCCESS ? SUCCESS : FAILURE;
+# }
+
+# gcc -g3 -gdwarf-5 -O2 -c testfile-macros-object.c
+
+testfiles testfile-macros-object.o
+
+testrun_compare ${abs_top_builddir}/src/readelf --debug-dump=macro testfile-macros-object.o <<\EOF
+
+DWARF section [12] '.debug_macro' at offset 0x16f:
+
+ Offset: 0x0
+ Version: 5
+ Flag: 0x2 (debug_line_offset)
+ Offset length: 4
+ .debug_line offset: 0x0
+
+ #include offset 0x0
+ start_file 0, [1] /home/mark/build/elfutils-obj/testfile-macros-object.c
+ start_file 31, [2] /usr/include/stdc-predef.h
+ #include offset 0x0
+ end_file
+ #define SUCCESS 0, line 1 (indirect)
+ #define FAILURE 0, line 2 (indirect)
+ start_file 4, [3] /opt/rh/devtoolset-8/root/usr/lib/gcc/x86_64-redhat-linux/8/include/stdbool.h
+ #include offset 0x0
+ end_file
+ end_file
+
+
+DWARF section [14] '.debug_macro' at offset 0x19e:
+
+ Offset: 0x0
+ Version: 5
+ Flag: 0x0
+ Offset length: 4
+
+ #define __STDC__ 1, line 0 (indirect)
+ #define __STDC_VERSION__ 201710L, line 0 (indirect)
+ #define __STDC_UTF_16__ 1, line 0 (indirect)
+ #define __STDC_UTF_32__ 1, line 0 (indirect)
+ #define __STDC_HOSTED__ 1, line 0 (indirect)
+ #define __GNUC__ 8, line 0 (indirect)
+ #define __GNUC_MINOR__ 2, line 0 (indirect)
+ #define __GNUC_PATCHLEVEL__ 1, line 0 (indirect)
+ #define __VERSION__ "8.2.1 20180905 (Red Hat 8.2.1-3)", line 0 (indirect)
+ #define __GNUC_RH_RELEASE__ 3, line 0 (indirect)
+ #define __ATOMIC_RELAXED 0, line 0 (indirect)
+ #define __ATOMIC_SEQ_CST 5, line 0 (indirect)
+ #define __ATOMIC_ACQUIRE 2, line 0 (indirect)
+ #define __ATOMIC_RELEASE 3, line 0 (indirect)
+ #define __ATOMIC_ACQ_REL 4, line 0 (indirect)
+ #define __ATOMIC_CONSUME 1, line 0 (indirect)
+ #define __OPTIMIZE__ 1, line 0 (indirect)
+ #define __FINITE_MATH_ONLY__ 0, line 0 (indirect)
+ #define _LP64 1, line 0 (indirect)
+ #define __LP64__ 1, line 0 (indirect)
+ #define __SIZEOF_INT__ 4, line 0 (indirect)
+ #define __SIZEOF_LONG__ 8, line 0 (indirect)
+ #define __SIZEOF_LONG_LONG__ 8, line 0 (indirect)
+ #define __SIZEOF_SHORT__ 2, line 0 (indirect)
+ #define __SIZEOF_FLOAT__ 4, line 0 (indirect)
+ #define __SIZEOF_DOUBLE__ 8, line 0 (indirect)
+ #define __SIZEOF_LONG_DOUBLE__ 16, line 0 (indirect)
+ #define __SIZEOF_SIZE_T__ 8, line 0 (indirect)
+ #define __CHAR_BIT__ 8, line 0 (indirect)
+ #define __BIGGEST_ALIGNMENT__ 16, line 0 (indirect)
+ #define __ORDER_LITTLE_ENDIAN__ 1234, line 0 (indirect)
+ #define __ORDER_BIG_ENDIAN__ 4321, line 0 (indirect)
+ #define __ORDER_PDP_ENDIAN__ 3412, line 0 (indirect)
+ #define __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__, line 0 (indirect)
+ #define __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__, line 0 (indirect)
+ #define __SIZEOF_POINTER__ 8, line 0 (indirect)
+ #define __SIZE_TYPE__ long unsigned int, line 0 (indirect)
+ #define __PTRDIFF_TYPE__ long int, line 0 (indirect)
+ #define __WCHAR_TYPE__ int, line 0 (indirect)
+ #define __WINT_TYPE__ unsigned int, line 0 (indirect)
+ #define __INTMAX_TYPE__ long int, line 0 (indirect)
+ #define __UINTMAX_TYPE__ long unsigned int, line 0 (indirect)
+ #define __CHAR16_TYPE__ short unsigned int, line 0 (indirect)
+ #define __CHAR32_TYPE__ unsigned int, line 0 (indirect)
+ #define __SIG_ATOMIC_TYPE__ int, line 0 (indirect)
+ #define __INT8_TYPE__ signed char, line 0 (indirect)
+ #define __INT16_TYPE__ short int, line 0 (indirect)
+ #define __INT32_TYPE__ int, line 0 (indirect)
+ #define __INT64_TYPE__ long int, line 0 (indirect)
+ #define __UINT8_TYPE__ unsigned char, line 0 (indirect)
+ #define __UINT16_TYPE__ short unsigned int, line 0 (indirect)
+ #define __UINT32_TYPE__ unsigned int, line 0 (indirect)
+ #define __UINT64_TYPE__ long unsigned int, line 0 (indirect)
+ #define __INT_LEAST8_TYPE__ signed char, line 0 (indirect)
+ #define __INT_LEAST16_TYPE__ short int, line 0 (indirect)
+ #define __INT_LEAST32_TYPE__ int, line 0 (indirect)
+ #define __INT_LEAST64_TYPE__ long int, line 0 (indirect)
+ #define __UINT_LEAST8_TYPE__ unsigned char, line 0 (indirect)
+ #define __UINT_LEAST16_TYPE__ short unsigned int, line 0 (indirect)
+ #define __UINT_LEAST32_TYPE__ unsigned int, line 0 (indirect)
+ #define __UINT_LEAST64_TYPE__ long unsigned int, line 0 (indirect)
+ #define __INT_FAST8_TYPE__ signed char, line 0 (indirect)
+ #define __INT_FAST16_TYPE__ long int, line 0 (indirect)
+ #define __INT_FAST32_TYPE__ long int, line 0 (indirect)
+ #define __INT_FAST64_TYPE__ long int, line 0 (indirect)
+ #define __UINT_FAST8_TYPE__ unsigned char, line 0 (indirect)
+ #define __UINT_FAST16_TYPE__ long unsigned int, line 0 (indirect)
+ #define __UINT_FAST32_TYPE__ long unsigned int, line 0 (indirect)
+ #define __UINT_FAST64_TYPE__ long unsigned int, line 0 (indirect)
+ #define __INTPTR_TYPE__ long int, line 0 (indirect)
+ #define __UINTPTR_TYPE__ long unsigned int, line 0 (indirect)
+ #define __has_include(STR) __has_include__(STR), line 0 (indirect)
+ #define __has_include_next(STR) __has_include_next__(STR), line 0 (indirect)
+ #define __GXX_ABI_VERSION 1013, line 0 (indirect)
+ #define __SCHAR_MAX__ 0x7f, line 0 (indirect)
+ #define __SHRT_MAX__ 0x7fff, line 0 (indirect)
+ #define __INT_MAX__ 0x7fffffff, line 0 (indirect)
+ #define __LONG_MAX__ 0x7fffffffffffffffL, line 0 (indirect)
+ #define __LONG_LONG_MAX__ 0x7fffffffffffffffLL, line 0 (indirect)
+ #define __WCHAR_MAX__ 0x7fffffff, line 0 (indirect)
+ #define __WCHAR_MIN__ (-__WCHAR_MAX__ - 1), line 0 (indirect)
+ #define __WINT_MAX__ 0xffffffffU, line 0 (indirect)
+ #define __WINT_MIN__ 0U, line 0 (indirect)
+ #define __PTRDIFF_MAX__ 0x7fffffffffffffffL, line 0 (indirect)
+ #define __SIZE_MAX__ 0xffffffffffffffffUL, line 0 (indirect)
+ #define __SCHAR_WIDTH__ 8, line 0 (indirect)
+ #define __SHRT_WIDTH__ 16, line 0 (indirect)
+ #define __INT_WIDTH__ 32, line 0 (indirect)
+ #define __LONG_WIDTH__ 64, line 0 (indirect)
+ #define __LONG_LONG_WIDTH__ 64, line 0 (indirect)
+ #define __WCHAR_WIDTH__ 32, line 0 (indirect)
+ #define __WINT_WIDTH__ 32, line 0 (indirect)
+ #define __PTRDIFF_WIDTH__ 64, line 0 (indirect)
+ #define __SIZE_WIDTH__ 64, line 0 (indirect)
+ #define __INTMAX_MAX__ 0x7fffffffffffffffL, line 0 (indirect)
+ #define __INTMAX_C(c) c ## L, line 0 (indirect)
+ #define __UINTMAX_MAX__ 0xffffffffffffffffUL, line 0 (indirect)
+ #define __UINTMAX_C(c) c ## UL, line 0 (indirect)
+ #define __INTMAX_WIDTH__ 64, line 0 (indirect)
+ #define __SIG_ATOMIC_MAX__ 0x7fffffff, line 0 (indirect)
+ #define __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1), line 0 (indirect)
+ #define __SIG_ATOMIC_WIDTH__ 32, line 0 (indirect)
+ #define __INT8_MAX__ 0x7f, line 0 (indirect)
+ #define __INT16_MAX__ 0x7fff, line 0 (indirect)
+ #define __INT32_MAX__ 0x7fffffff, line 0 (indirect)
+ #define __INT64_MAX__ 0x7fffffffffffffffL, line 0 (indirect)
+ #define __UINT8_MAX__ 0xff, line 0 (indirect)
+ #define __UINT16_MAX__ 0xffff, line 0 (indirect)
+ #define __UINT32_MAX__ 0xffffffffU, line 0 (indirect)
+ #define __UINT64_MAX__ 0xffffffffffffffffUL, line 0 (indirect)
+ #define __INT_LEAST8_MAX__ 0x7f, line 0 (indirect)
+ #define __INT8_C(c) c, line 0 (indirect)
+ #define __INT_LEAST8_WIDTH__ 8, line 0 (indirect)
+ #define __INT_LEAST16_MAX__ 0x7fff, line 0 (indirect)
+ #define __INT16_C(c) c, line 0 (indirect)
+ #define __INT_LEAST16_WIDTH__ 16, line 0 (indirect)
+ #define __INT_LEAST32_MAX__ 0x7fffffff, line 0 (indirect)
+ #define __INT32_C(c) c, line 0 (indirect)
+ #define __INT_LEAST32_WIDTH__ 32, line 0 (indirect)
+ #define __INT_LEAST64_MAX__ 0x7fffffffffffffffL, line 0 (indirect)
+ #define __INT64_C(c) c ## L, line 0 (indirect)
+ #define __INT_LEAST64_WIDTH__ 64, line 0 (indirect)
+ #define __UINT_LEAST8_MAX__ 0xff, line 0 (indirect)
+ #define __UINT8_C(c) c, line 0 (indirect)
+ #define __UINT_LEAST16_MAX__ 0xffff, line 0 (indirect)
+ #define __UINT16_C(c) c, line 0 (indirect)
+ #define __UINT_LEAST32_MAX__ 0xffffffffU, line 0 (indirect)
+ #define __UINT32_C(c) c ## U, line 0 (indirect)
+ #define __UINT_LEAST64_MAX__ 0xffffffffffffffffUL, line 0 (indirect)
+ #define __UINT64_C(c) c ## UL, line 0 (indirect)
+ #define __INT_FAST8_MAX__ 0x7f, line 0 (indirect)
+ #define __INT_FAST8_WIDTH__ 8, line 0 (indirect)
+ #define __INT_FAST16_MAX__ 0x7fffffffffffffffL, line 0 (indirect)
+ #define __INT_FAST16_WIDTH__ 64, line 0 (indirect)
+ #define __INT_FAST32_MAX__ 0x7fffffffffffffffL, line 0 (indirect)
+ #define __INT_FAST32_WIDTH__ 64, line 0 (indirect)
+ #define __INT_FAST64_MAX__ 0x7fffffffffffffffL, line 0 (indirect)
+ #define __INT_FAST64_WIDTH__ 64, line 0 (indirect)
+ #define __UINT_FAST8_MAX__ 0xff, line 0 (indirect)
+ #define __UINT_FAST16_MAX__ 0xffffffffffffffffUL, line 0 (indirect)
+ #define __UINT_FAST32_MAX__ 0xffffffffffffffffUL, line 0 (indirect)
+ #define __UINT_FAST64_MAX__ 0xffffffffffffffffUL, line 0 (indirect)
+ #define __INTPTR_MAX__ 0x7fffffffffffffffL, line 0 (indirect)
+ #define __INTPTR_WIDTH__ 64, line 0 (indirect)
+ #define __UINTPTR_MAX__ 0xffffffffffffffffUL, line 0 (indirect)
+ #define __GCC_IEC_559 2, line 0 (indirect)
+ #define __GCC_IEC_559_COMPLEX 2, line 0 (indirect)
+ #define __FLT_EVAL_METHOD__ 0, line 0 (indirect)
+ #define __FLT_EVAL_METHOD_TS_18661_3__ 0, line 0 (indirect)
+ #define __DEC_EVAL_METHOD__ 2, line 0 (indirect)
+ #define __FLT_RADIX__ 2, line 0 (indirect)
+ #define __FLT_MANT_DIG__ 24, line 0 (indirect)
+ #define __FLT_DIG__ 6, line 0 (indirect)
+ #define __FLT_MIN_EXP__ (-125), line 0 (indirect)
+ #define __FLT_MIN_10_EXP__ (-37), line 0 (indirect)
+ #define __FLT_MAX_EXP__ 128, line 0 (indirect)
+ #define __FLT_MAX_10_EXP__ 38, line 0 (indirect)
+ #define __FLT_DECIMAL_DIG__ 9, line 0 (indirect)
+ #define __FLT_MAX__ 3.40282346638528859811704183484516925e+38F, line 0 (indirect)
+ #define __FLT_MIN__ 1.17549435082228750796873653722224568e-38F, line 0 (indirect)
+ #define __FLT_EPSILON__ 1.19209289550781250000000000000000000e-7F, line 0 (indirect)
+ #define __FLT_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F, line 0 (indirect)
+ #define __FLT_HAS_DENORM__ 1, line 0 (indirect)
+ #define __FLT_HAS_INFINITY__ 1, line 0 (indirect)
+ #define __FLT_HAS_QUIET_NAN__ 1, line 0 (indirect)
+ #define __DBL_MANT_DIG__ 53, line 0 (indirect)
+ #define __DBL_DIG__ 15, line 0 (indirect)
+ #define __DBL_MIN_EXP__ (-1021), line 0 (indirect)
+ #define __DBL_MIN_10_EXP__ (-307), line 0 (indirect)
+ #define __DBL_MAX_EXP__ 1024, line 0 (indirect)
+ #define __DBL_MAX_10_EXP__ 308, line 0 (indirect)
+ #define __DBL_DECIMAL_DIG__ 17, line 0 (indirect)
+ #define __DBL_MAX__ ((double)1.79769313486231570814527423731704357e+308L), line 0 (indirect)
+ #define __DBL_MIN__ ((double)2.22507385850720138309023271733240406e-308L), line 0 (indirect)
+ #define __DBL_EPSILON__ ((double)2.22044604925031308084726333618164062e-16L), line 0 (indirect)
+ #define __DBL_DENORM_MIN__ ((double)4.94065645841246544176568792868221372e-324L), line 0 (indirect)
+ #define __DBL_HAS_DENORM__ 1, line 0 (indirect)
+ #define __DBL_HAS_INFINITY__ 1, line 0 (indirect)
+ #define __DBL_HAS_QUIET_NAN__ 1, line 0 (indirect)
+ #define __LDBL_MANT_DIG__ 64, line 0 (indirect)
+ #define __LDBL_DIG__ 18, line 0 (indirect)
+ #define __LDBL_MIN_EXP__ (-16381), line 0 (indirect)
+ #define __LDBL_MIN_10_EXP__ (-4931), line 0 (indirect)
+ #define __LDBL_MAX_EXP__ 16384, line 0 (indirect)
+ #define __LDBL_MAX_10_EXP__ 4932, line 0 (indirect)
+ #define __DECIMAL_DIG__ 21, line 0 (indirect)
+ #define __LDBL_DECIMAL_DIG__ 21, line 0 (indirect)
+ #define __LDBL_MAX__ 1.18973149535723176502126385303097021e+4932L, line 0 (indirect)
+ #define __LDBL_MIN__ 3.36210314311209350626267781732175260e-4932L, line 0 (indirect)
+ #define __LDBL_EPSILON__ 1.08420217248550443400745280086994171e-19L, line 0 (indirect)
+ #define __LDBL_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951L, line 0 (indirect)
+ #define __LDBL_HAS_DENORM__ 1, line 0 (indirect)
+ #define __LDBL_HAS_INFINITY__ 1, line 0 (indirect)
+ #define __LDBL_HAS_QUIET_NAN__ 1, line 0 (indirect)
+ #define __FLT32_MANT_DIG__ 24, line 0 (indirect)
+ #define __FLT32_DIG__ 6, line 0 (indirect)
+ #define __FLT32_MIN_EXP__ (-125), line 0 (indirect)
+ #define __FLT32_MIN_10_EXP__ (-37), line 0 (indirect)
+ #define __FLT32_MAX_EXP__ 128, line 0 (indirect)
+ #define __FLT32_MAX_10_EXP__ 38, line 0 (indirect)
+ #define __FLT32_DECIMAL_DIG__ 9, line 0 (indirect)
+ #define __FLT32_MAX__ 3.40282346638528859811704183484516925e+38F32, line 0 (indirect)
+ #define __FLT32_MIN__ 1.17549435082228750796873653722224568e-38F32, line 0 (indirect)
+ #define __FLT32_EPSILON__ 1.19209289550781250000000000000000000e-7F32, line 0 (indirect)
+ #define __FLT32_DENORM_MIN__ 1.40129846432481707092372958328991613e-45F32, line 0 (indirect)
+ #define __FLT32_HAS_DENORM__ 1, line 0 (indirect)
+ #define __FLT32_HAS_INFINITY__ 1, line 0 (indirect)
+ #define __FLT32_HAS_QUIET_NAN__ 1, line 0 (indirect)
+ #define __FLT64_MANT_DIG__ 53, line 0 (indirect)
+ #define __FLT64_DIG__ 15, line 0 (indirect)
+ #define __FLT64_MIN_EXP__ (-1021), line 0 (indirect)
+ #define __FLT64_MIN_10_EXP__ (-307), line 0 (indirect)
+ #define __FLT64_MAX_EXP__ 1024, line 0 (indirect)
+ #define __FLT64_MAX_10_EXP__ 308, line 0 (indirect)
+ #define __FLT64_DECIMAL_DIG__ 17, line 0 (indirect)
+ #define __FLT64_MAX__ 1.79769313486231570814527423731704357e+308F64, line 0 (indirect)
+ #define __FLT64_MIN__ 2.22507385850720138309023271733240406e-308F64, line 0 (indirect)
+ #define __FLT64_EPSILON__ 2.22044604925031308084726333618164062e-16F64, line 0 (indirect)
+ #define __FLT64_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F64, line 0 (indirect)
+ #define __FLT64_HAS_DENORM__ 1, line 0 (indirect)
+ #define __FLT64_HAS_INFINITY__ 1, line 0 (indirect)
+ #define __FLT64_HAS_QUIET_NAN__ 1, line 0 (indirect)
+ #define __FLT128_MANT_DIG__ 113, line 0 (indirect)
+ #define __FLT128_DIG__ 33, line 0 (indirect)
+ #define __FLT128_MIN_EXP__ (-16381), line 0 (indirect)
+ #define __FLT128_MIN_10_EXP__ (-4931), line 0 (indirect)
+ #define __FLT128_MAX_EXP__ 16384, line 0 (indirect)
+ #define __FLT128_MAX_10_EXP__ 4932, line 0 (indirect)
+ #define __FLT128_DECIMAL_DIG__ 36, line 0 (indirect)
+ #define __FLT128_MAX__ 1.18973149535723176508575932662800702e+4932F128, line 0 (indirect)
+ #define __FLT128_MIN__ 3.36210314311209350626267781732175260e-4932F128, line 0 (indirect)
+ #define __FLT128_EPSILON__ 1.92592994438723585305597794258492732e-34F128, line 0 (indirect)
+ #define __FLT128_DENORM_MIN__ 6.47517511943802511092443895822764655e-4966F128, line 0 (indirect)
+ #define __FLT128_HAS_DENORM__ 1, line 0 (indirect)
+ #define __FLT128_HAS_INFINITY__ 1, line 0 (indirect)
+ #define __FLT128_HAS_QUIET_NAN__ 1, line 0 (indirect)
+ #define __FLT32X_MANT_DIG__ 53, line 0 (indirect)
+ #define __FLT32X_DIG__ 15, line 0 (indirect)
+ #define __FLT32X_MIN_EXP__ (-1021), line 0 (indirect)
+ #define __FLT32X_MIN_10_EXP__ (-307), line 0 (indirect)
+ #define __FLT32X_MAX_EXP__ 1024, line 0 (indirect)
+ #define __FLT32X_MAX_10_EXP__ 308, line 0 (indirect)
+ #define __FLT32X_DECIMAL_DIG__ 17, line 0 (indirect)
+ #define __FLT32X_MAX__ 1.79769313486231570814527423731704357e+308F32x, line 0 (indirect)
+ #define __FLT32X_MIN__ 2.22507385850720138309023271733240406e-308F32x, line 0 (indirect)
+ #define __FLT32X_EPSILON__ 2.22044604925031308084726333618164062e-16F32x, line 0 (indirect)
+ #define __FLT32X_DENORM_MIN__ 4.94065645841246544176568792868221372e-324F32x, line 0 (indirect)
+ #define __FLT32X_HAS_DENORM__ 1, line 0 (indirect)
+ #define __FLT32X_HAS_INFINITY__ 1, line 0 (indirect)
+ #define __FLT32X_HAS_QUIET_NAN__ 1, line 0 (indirect)
+ #define __FLT64X_MANT_DIG__ 64, line 0 (indirect)
+ #define __FLT64X_DIG__ 18, line 0 (indirect)
+ #define __FLT64X_MIN_EXP__ (-16381), line 0 (indirect)
+ #define __FLT64X_MIN_10_EXP__ (-4931), line 0 (indirect)
+ #define __FLT64X_MAX_EXP__ 16384, line 0 (indirect)
+ #define __FLT64X_MAX_10_EXP__ 4932, line 0 (indirect)
+ #define __FLT64X_DECIMAL_DIG__ 21, line 0 (indirect)
+ #define __FLT64X_MAX__ 1.18973149535723176502126385303097021e+4932F64x, line 0 (indirect)
+ #define __FLT64X_MIN__ 3.36210314311209350626267781732175260e-4932F64x, line 0 (indirect)
+ #define __FLT64X_EPSILON__ 1.08420217248550443400745280086994171e-19F64x, line 0 (indirect)
+ #define __FLT64X_DENORM_MIN__ 3.64519953188247460252840593361941982e-4951F64x, line 0 (indirect)
+ #define __FLT64X_HAS_DENORM__ 1, line 0 (indirect)
+ #define __FLT64X_HAS_INFINITY__ 1, line 0 (indirect)
+ #define __FLT64X_HAS_QUIET_NAN__ 1, line 0 (indirect)
+ #define __DEC32_MANT_DIG__ 7, line 0 (indirect)
+ #define __DEC32_MIN_EXP__ (-94), line 0 (indirect)
+ #define __DEC32_MAX_EXP__ 97, line 0 (indirect)
+ #define __DEC32_MIN__ 1E-95DF, line 0 (indirect)
+ #define __DEC32_MAX__ 9.999999E96DF, line 0 (indirect)
+ #define __DEC32_EPSILON__ 1E-6DF, line 0 (indirect)
+ #define __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF, line 0 (indirect)
+ #define __DEC64_MANT_DIG__ 16, line 0 (indirect)
+ #define __DEC64_MIN_EXP__ (-382), line 0 (indirect)
+ #define __DEC64_MAX_EXP__ 385, line 0 (indirect)
+ #define __DEC64_MIN__ 1E-383DD, line 0 (indirect)
+ #define __DEC64_MAX__ 9.999999999999999E384DD, line 0 (indirect)
+ #define __DEC64_EPSILON__ 1E-15DD, line 0 (indirect)
+ #define __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD, line 0 (indirect)
+ #define __DEC128_MANT_DIG__ 34, line 0 (indirect)
+ #define __DEC128_MIN_EXP__ (-6142), line 0 (indirect)
+ #define __DEC128_MAX_EXP__ 6145, line 0 (indirect)
+ #define __DEC128_MIN__ 1E-6143DL, line 0 (indirect)
+ #define __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL, line 0 (indirect)
+ #define __DEC128_EPSILON__ 1E-33DL, line 0 (indirect)
+ #define __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL, line 0 (indirect)
+ #define __REGISTER_PREFIX__ , line 0 (indirect)
+ #define __USER_LABEL_PREFIX__ , line 0 (indirect)
+ #define __GNUC_STDC_INLINE__ 1, line 0 (indirect)
+ #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1, line 0 (indirect)
+ #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1, line 0 (indirect)
+ #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1, line 0 (indirect)
+ #define __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1, line 0 (indirect)
+ #define __GCC_ATOMIC_BOOL_LOCK_FREE 2, line 0 (indirect)
+ #define __GCC_ATOMIC_CHAR_LOCK_FREE 2, line 0 (indirect)
+ #define __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2, line 0 (indirect)
+ #define __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2, line 0 (indirect)
+ #define __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2, line 0 (indirect)
+ #define __GCC_ATOMIC_SHORT_LOCK_FREE 2, line 0 (indirect)
+ #define __GCC_ATOMIC_INT_LOCK_FREE 2, line 0 (indirect)
+ #define __GCC_ATOMIC_LONG_LOCK_FREE 2, line 0 (indirect)
+ #define __GCC_ATOMIC_LLONG_LOCK_FREE 2, line 0 (indirect)
+ #define __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1, line 0 (indirect)
+ #define __GCC_ATOMIC_POINTER_LOCK_FREE 2, line 0 (indirect)
+ #define __GCC_HAVE_DWARF2_CFI_ASM 1, line 0 (indirect)
+ #define __PRAGMA_REDEFINE_EXTNAME 1, line 0 (indirect)
+ #define __SIZEOF_INT128__ 16, line 0 (indirect)
+ #define __SIZEOF_WCHAR_T__ 4, line 0 (indirect)
+ #define __SIZEOF_WINT_T__ 4, line 0 (indirect)
+ #define __SIZEOF_PTRDIFF_T__ 8, line 0 (indirect)
+ #define __amd64 1, line 0 (indirect)
+ #define __amd64__ 1, line 0 (indirect)
+ #define __x86_64 1, line 0 (indirect)
+ #define __x86_64__ 1, line 0 (indirect)
+ #define __SIZEOF_FLOAT80__ 16, line 0 (indirect)
+ #define __SIZEOF_FLOAT128__ 16, line 0 (indirect)
+ #define __ATOMIC_HLE_ACQUIRE 65536, line 0 (indirect)
+ #define __ATOMIC_HLE_RELEASE 131072, line 0 (indirect)
+ #define __GCC_ASM_FLAG_OUTPUTS__ 1, line 0 (indirect)
+ #define __k8 1, line 0 (indirect)
+ #define __k8__ 1, line 0 (indirect)
+ #define __code_model_small__ 1, line 0 (indirect)
+ #define __MMX__ 1, line 0 (indirect)
+ #define __SSE__ 1, line 0 (indirect)
+ #define __SSE2__ 1, line 0 (indirect)
+ #define __FXSR__ 1, line 0 (indirect)
+ #define __SSE_MATH__ 1, line 0 (indirect)
+ #define __SSE2_MATH__ 1, line 0 (indirect)
+ #define __SEG_FS 1, line 0 (indirect)
+ #define __SEG_GS 1, line 0 (indirect)
+ #define __gnu_linux__ 1, line 0 (indirect)
+ #define __linux 1, line 0 (indirect)
+ #define __linux__ 1, line 0 (indirect)
+ #define linux 1, line 0 (indirect)
+ #define __unix 1, line 0 (indirect)
+ #define __unix__ 1, line 0 (indirect)
+ #define unix 1, line 0 (indirect)
+ #define __ELF__ 1, line 0 (indirect)
+ #define __DECIMAL_BID_FORMAT__ 1, line 0 (indirect)
+
+
+DWARF section [16] '.debug_macro' at offset 0x98e:
+
+ Offset: 0x0
+ Version: 5
+ Flag: 0x0
+ Offset length: 4
+
+ #define _STDC_PREDEF_H 1, line 19 (indirect)
+ #define __STDC_IEC_559__ 1, line 30 (indirect)
+ #define __STDC_IEC_559_COMPLEX__ 1, line 31 (indirect)
+ #define __STDC_ISO_10646__ 201103L, line 35 (indirect)
+ #define __STDC_NO_THREADS__ 1, line 38 (indirect)
+
+
+DWARF section [18] '.debug_macro' at offset 0x9b0:
+
+ Offset: 0x0
+ Version: 5
+ Flag: 0x0
+ Offset length: 4
+
+ #define _STDBOOL_H , line 29 (indirect)
+ #define bool _Bool, line 33 (indirect)
+ #define true 1, line 34 (indirect)
+ #define false 0, line 35 (indirect)
+ #define __bool_true_false_are_defined 1, line 52 (indirect)
+
+EOF
+
+exit 0
diff --git a/tests/run-readelf-n.sh b/tests/run-readelf-n.sh
new file mode 100755
index 00000000..c2db2ce2
--- /dev/null
+++ b/tests/run-readelf-n.sh
@@ -0,0 +1,127 @@
+# Copyright (C) 2018 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
+
+# - testfile-gnu-property-note.c
+# int
+# main ()
+# {
+# return 0;
+# }
+#
+# gcc -fcf-protection -c testfile-gnu-property-note.c
+# gcc -o testfile-gnu-property-note testfile-gnu-property-note.o
+# eu-strip --strip-sections testfile-gnu-property-note
+
+testfiles testfile-gnu-property-note.o testfile-gnu-property-note
+
+# Test reading notes through sections
+testrun_compare ${abs_top_builddir}/src/readelf -n testfile-gnu-property-note.o << EOF
+
+Note section [ 6] '.note.gnu.property' of 32 bytes at offset 0x80:
+ Owner Data size Type
+ GNU 16 GNU_PROPERTY_TYPE_0
+ X86 FEATURE_1_AND: 00000003 IBT SHSTK
+EOF
+
+# Test reading notes through segments
+testrun_compare ${abs_top_builddir}/src/readelf -n testfile-gnu-property-note << EOF
+
+Note segment of 32 bytes at offset 0x300:
+ Owner Data size Type
+ GNU 16 GNU_PROPERTY_TYPE_0
+ X86 FEATURE_1_AND: 00000003 IBT SHSTK
+
+Note segment of 68 bytes at offset 0x320:
+ Owner Data size Type
+ GNU 16 GNU_ABI_TAG
+ OS: Linux, ABI: 3.2.0
+ GNU 20 GNU_BUILD_ID
+ Build ID: 83cb2229fabd2065d1361f5b46424cd75270f94b
+EOF
+
+# NT_VERSION note type clashes with "GNU" owner type NT_GNU_ABI_TAG.
+# Uses owner name (with zero desc) for version string.
+testfiles testfile11
+testrun_compare ${abs_top_builddir}/src/readelf -n testfile11 << EOF
+
+Note section [ 2] '.note.ABI-tag' of 32 bytes at offset 0x128:
+ Owner Data size Type
+ GNU 16 GNU_ABI_TAG
+ OS: Linux, ABI: 2.2.5
+
+Note section [35] '.note' of 60 bytes at offset 0x13364:
+ Owner Data size Type
+ 01.01 0 VERSION
+ 01.01 0 VERSION
+ 01.01 0 VERSION
+EOF
+
+# See run-annobingroup.sh
+testfiles testfile-annobingroup.o
+testrun_compare ${abs_top_builddir}/src/readelf -n testfile-annobingroup.o << EOF
+
+Note section [ 5] '.gnu.build.attributes' of 272 bytes at offset 0x50:
+ Owner Data size Type
+ GA 16 GNU Build Attribute OPEN
+ Address Range: 0 - 0
+ VERSION: "3p8"
+ GA 0 GNU Build Attribute OPEN
+ TOOL: "gcc 8.1.1 20180712"
+ GA 0 GNU Build Attribute OPEN
+ "GOW": 5
+ GA 0 GNU Build Attribute OPEN
+ STACK_PROT: 0
+ GA 0 GNU Build Attribute OPEN
+ "stack_clash": FALSE
+ GA 0 GNU Build Attribute OPEN
+ "cf_protection": 0
+ GA 0 GNU Build Attribute OPEN
+ PIC: 0
+ GA 0 GNU Build Attribute OPEN
+ SHORT_ENUM: FALSE
+ GA 0 GNU Build Attribute OPEN
+ ABI: c001100000012
+ GA 0 GNU Build Attribute OPEN
+ "stack_realign": FALSE
+
+Note section [ 7] '.gnu.build.attributes..text.unlikely' of 216 bytes at offset 0x160:
+ Owner Data size Type
+ GA 16 GNU Build Attribute FUNC
+ Address Range: 0 - 0
+ ABI: c001100000012
+ GA 0 GNU Build Attribute FUNC
+ "stack_realign": FALSE
+ GA 0 GNU Build Attribute FUNC
+ STACK_PROT: 0
+ GA 0 GNU Build Attribute FUNC
+ "stack_clash": FALSE
+ GA 0 GNU Build Attribute FUNC
+ "cf_protection": 0
+ GA 0 GNU Build Attribute FUNC
+ PIC: 0
+ GA 0 GNU Build Attribute FUNC
+ "GOW": 5
+ GA 0 GNU Build Attribute FUNC
+ SHORT_ENUM: FALSE
+
+Note section [22] '.note.gnu.property' of 48 bytes at offset 0x40c:
+ Owner Data size Type
+ GNU 32 GNU_PROPERTY_TYPE_0
+ X86 0xc0000000 data: 00 00 00 00
+ X86 0xc0000001 data: 00 00 00 00
+EOF
diff --git a/tests/run-readelf-zdebug-rel.sh b/tests/run-readelf-zdebug-rel.sh
index 3f20078c..53fa42a2 100755
--- a/tests/run-readelf-zdebug-rel.sh
+++ b/tests/run-readelf-zdebug-rel.sh
@@ -146,4 +146,110 @@ cat loc.out | sed -e "s/'.debug_loc' at offset 0x185/'.zdebug_loc' at offset 0x1
cat loc.out | sed -e "s/at offset 0x185/at offset 0x150/" | testrun_compare ${abs_top_builddir}/src/readelf -U --debug-dump=loc testfile-debug-rel-z.o
+# Same as above, but on ppc64
+testfiles testfile-debug-rel-ppc64.o
+testfiles testfile-debug-rel-ppc64-g.o testfile-debug-rel-ppc64-z.o
+
+cat > info.out << \EOF
+
+DWARF section [ 6] '.debug_info' at offset 0x80:
+ [Offset]
+ Compilation unit at offset 0:
+ Version: 4, Abbreviation section offset: 0, Address size: 8, Offset size: 4
+ [ b] compile_unit abbrev: 1
+ producer (strp) "GNU C11 7.3.1 20180712 (Red Hat 7.3.1-6) -Asystem=linux -Asystem=unix -Asystem=posix -msecure-plt -g -Og"
+ language (data1) C99 (12)
+ name (strp) "testfile-zdebug-rel.c"
+ comp_dir (strp) "/home/mjw"
+ low_pc (addr) 000000000000000000
+ high_pc (data8) 44 (0x000000000000002c)
+ stmt_list (sec_offset) 0
+ [ 2d] subprogram abbrev: 2
+ external (flag_present) yes
+ name (strp) "main"
+ decl_file (data1) testfile-zdebug-rel.c (1)
+ decl_line (data1) 4
+ prototyped (flag_present) yes
+ type (ref4) [ 82]
+ low_pc (addr) 000000000000000000
+ high_pc (data8) 44 (0x000000000000002c)
+ frame_base (exprloc)
+ [ 0] call_frame_cfa
+ GNU_all_call_sites (flag_present) yes
+ sibling (ref4) [ 82]
+ [ 4e] formal_parameter abbrev: 3
+ name (strp) "argc"
+ decl_file (data1) testfile-zdebug-rel.c (1)
+ decl_line (data1) 4
+ type (ref4) [ 82]
+ location (sec_offset) location list [ 0]
+ [ 5d] formal_parameter abbrev: 4
+ name (strp) "argv"
+ decl_file (data1) testfile-zdebug-rel.c (1)
+ decl_line (data1) 4
+ type (ref4) [ 89]
+ location (exprloc)
+ [ 0] reg4
+ [ 6a] variable abbrev: 5
+ name (string) "a"
+ decl_file (data1) testfile-zdebug-rel.c (1)
+ decl_line (data1) 6
+ type (ref4) [ 9c]
+ const_value (sdata) 18446744073709551607 (-9)
+ [ 74] variable abbrev: 6
+ name (string) "b"
+ decl_file (data1) testfile-zdebug-rel.c (1)
+ decl_line (data1) 7
+ type (ref4) [ 9c]
+ location (sec_offset) location list [ 4e]
+ [ 82] base_type abbrev: 7
+ byte_size (data1) 4
+ encoding (data1) signed (5)
+ name (string) "int"
+ [ 89] pointer_type abbrev: 8
+ byte_size (data1) 8
+ type (ref4) [ 8f]
+ [ 8f] pointer_type abbrev: 8
+ byte_size (data1) 8
+ type (ref4) [ 95]
+ [ 95] base_type abbrev: 9
+ byte_size (data1) 1
+ encoding (data1) unsigned_char (8)
+ name (strp) "char"
+ [ 9c] base_type abbrev: 9
+ byte_size (data1) 8
+ encoding (data1) unsigned (7)
+ name (strp) "long unsigned int"
+EOF
+
+cat info.out | testrun_compare ${abs_top_builddir}/src/readelf -U --debug-dump=info testfile-debug-rel-ppc64.o
+
+cat info.out | sed -e "s/'.debug_info'/'.zdebug_info'/" | testrun_compare ${abs_top_builddir}/src/readelf -U --debug-dump=info testfile-debug-rel-ppc64-g.o
+
+cat info.out | testrun_compare ${abs_top_builddir}/src/readelf -U --debug-dump=info testfile-debug-rel-ppc64-z.o
+
+cat > loc.out << \EOF
+
+DWARF section [ 9] '.debug_loc' at offset 0x1af:
+
+ CU [ b] base: 000000000000000000
+ [ 0] range 0, 4
+ [ 0] reg3
+ range 4, 14
+ [ 0] breg3 -42
+ [ 2] stack_value
+ range 14, 2c
+ [ 0] GNU_entry_value:
+ [ 0] reg3
+ [ 3] stack_value
+ [ 4e] range 8, 18
+ [ 0] reg3
+EOF
+
+cat loc.out | testrun_compare ${abs_top_builddir}/src/readelf -U --debug-dump=loc testfile-debug-rel-ppc64.o
+
+cat loc.out | sed -e "s/'.debug_loc' at offset 0x1af/'.zdebug_loc' at offset 0x15f/" | testrun_compare ${abs_top_builddir}/src/readelf -U --debug-dump=loc testfile-debug-rel-ppc64-g.o
+
+cat loc.out | sed -e "s/at offset 0x1af/at offset 0x177/" | testrun_compare ${abs_top_builddir}/src/readelf -U --debug-dump=loc testfile-debug-rel-ppc64-z.o
+
exit 0
diff --git a/tests/run-readelf-zdebug.sh b/tests/run-readelf-zdebug.sh
index 878e0ba8..9de68deb 100755
--- a/tests/run-readelf-zdebug.sh
+++ b/tests/run-readelf-zdebug.sh
@@ -100,7 +100,7 @@ DWARF section [33] '.debug_macro' at offset 0xab5:
Offset: 0x0
Version: 4
- Flag: 0x2
+ Flag: 0x2 (debug_line_offset)
Offset length: 4
.debug_line offset: 0x0
diff --git a/tests/run-strip-reloc.sh b/tests/run-strip-reloc.sh
index caa7eb52..3523f075 100755
--- a/tests/run-strip-reloc.sh
+++ b/tests/run-strip-reloc.sh
@@ -32,6 +32,8 @@ runtest() {
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 ||
@@ -67,6 +69,15 @@ runtest() {
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.
@@ -122,4 +133,14 @@ testrun ${abs_top_builddir}/src/elfcompress -o strip-compressed.o -t zlib \
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/testfile-annobingroup-x86_64.o.bz2 b/tests/testfile-annobingroup-x86_64.o.bz2
new file mode 100644
index 00000000..ec389db2
--- /dev/null
+++ b/tests/testfile-annobingroup-x86_64.o.bz2
Binary files differ
diff --git a/tests/testfile-bpf-dis1.expect.bz2 b/tests/testfile-bpf-dis1.expect.bz2
index 21b55e94..61a8afb1 100644
--- a/tests/testfile-bpf-dis1.expect.bz2
+++ b/tests/testfile-bpf-dis1.expect.bz2
Binary files differ
diff --git a/tests/testfile-debug-rel-ppc64-g.o.bz2 b/tests/testfile-debug-rel-ppc64-g.o.bz2
new file mode 100644
index 00000000..8c5ec99e
--- /dev/null
+++ b/tests/testfile-debug-rel-ppc64-g.o.bz2
Binary files differ
diff --git a/tests/testfile-debug-rel-ppc64-z.o.bz2 b/tests/testfile-debug-rel-ppc64-z.o.bz2
new file mode 100644
index 00000000..df50465f
--- /dev/null
+++ b/tests/testfile-debug-rel-ppc64-z.o.bz2
Binary files differ
diff --git a/tests/testfile-debug-rel-ppc64.o.bz2 b/tests/testfile-debug-rel-ppc64.o.bz2
new file mode 100644
index 00000000..8340d0ce
--- /dev/null
+++ b/tests/testfile-debug-rel-ppc64.o.bz2
Binary files differ
diff --git a/tests/testfile-gnu-property-note.bz2 b/tests/testfile-gnu-property-note.bz2
new file mode 100755
index 00000000..c03bd9bb
--- /dev/null
+++ b/tests/testfile-gnu-property-note.bz2
Binary files differ
diff --git a/tests/testfile-gnu-property-note.o.bz2 b/tests/testfile-gnu-property-note.o.bz2
new file mode 100644
index 00000000..5147c64f
--- /dev/null
+++ b/tests/testfile-gnu-property-note.o.bz2
Binary files differ
diff --git a/tests/testfile-macros-object.o.bz2 b/tests/testfile-macros-object.o.bz2
new file mode 100644
index 00000000..de5fa1a0
--- /dev/null
+++ b/tests/testfile-macros-object.o.bz2
Binary files differ