summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChih-Hung Hsieh <chh@google.com>2016-01-25 10:12:35 -0800
committerChih-Hung Hsieh <chh@google.com>2016-01-25 11:25:11 -0800
commit3ad5c39aed9ad8b3847015a8349053b7a1ac094f (patch)
tree482d3d6644a743b44c3fc79c95e2b6b5e30e6ab2
parent97c644e689be3b7b3b7898513a38ead399d2285a (diff)
parent203f0a3eec8c630c5183fb9984d66339c1ea3c31 (diff)
downloadandroid_external_elfutils-3ad5c39aed9ad8b3847015a8349053b7a1ac094f.tar.gz
android_external_elfutils-3ad5c39aed9ad8b3847015a8349053b7a1ac094f.tar.bz2
android_external_elfutils-3ad5c39aed9ad8b3847015a8349053b7a1ac094f.zip
Merge upstream 0.165 SHA '203f0a3'
* git merge 203f0a3 * See all upstream changes since the previous merge in branch aosp/upstream-master: git diff 9d1e236..203f0a3 * Android relevant upstream changes: * Version number changed from 0.164 to 0.165 * libelf now depends on zlib * Changed version number in generated files: version.h, config.h * No change to generated files: libdw/known-dwarf.h * Updated libelf/Android.mk: * added new source files: gelf_getchdr.c elf{32,64}_getchdr.c elf_compress.c * added LOCAL_STATIC_LIBRARIES := libz Change-Id: Ieb306d84ffcaf680ad6e74da28fcc8efbf00592a
-rw-r--r--.gitignore3
-rw-r--r--ChangeLog14
-rw-r--r--Makefile.am6
-rw-r--r--NEWS17
-rw-r--r--config.h8
-rw-r--r--config/ChangeLog14
-rw-r--r--config/Makefile.am6
-rw-r--r--config/elfutils.spec.in29
-rw-r--r--config/libdw.pc.in22
-rw-r--r--config/libelf.pc.in14
-rw-r--r--configure.ac16
-rw-r--r--libdw/ChangeLog17
-rw-r--r--libdw/dwarf_begin_elf.c156
-rw-r--r--libdw/dwarf_end.c20
-rw-r--r--libdw/libdw.map5
-rw-r--r--libdw/libdwP.h11
-rw-r--r--libdwelf/ChangeLog7
-rw-r--r--libdwelf/Makefile.am4
-rw-r--r--libdwelf/dwelf_scn_gnu_compressed_size.c77
-rw-r--r--libdwelf/libdwelf.h9
-rw-r--r--libdwfl/ChangeLog19
-rw-r--r--libdwfl/Makefile.am6
-rw-r--r--libdwfl/dwfl_module_getdwarf.c99
-rw-r--r--libdwfl/linux-kernel-modules.c8
-rw-r--r--libdwfl/open.c10
-rw-r--r--libdwfl/relocate.c116
-rw-r--r--libebl/ChangeLog9
-rw-r--r--libebl/eblobjnote.c362
-rw-r--r--libebl/eblopenbackend.c4
-rwxr-xr-xlibelf/Android.mk8
-rw-r--r--libelf/ChangeLog80
-rw-r--r--libelf/Makefile.am9
-rw-r--r--libelf/abstract.h20
-rw-r--r--libelf/chdr_xlate.h33
-rw-r--r--libelf/elf32_getchdr.c83
-rw-r--r--libelf/elf32_getshdr.c5
-rw-r--r--libelf/elf32_updatenull.c23
-rw-r--r--libelf/elf64_getchdr.c30
-rw-r--r--libelf/elf_begin.c2
-rw-r--r--libelf/elf_compress.c516
-rw-r--r--libelf/elf_compress_gnu.c208
-rw-r--r--libelf/elf_end.c11
-rw-r--r--libelf/elf_error.c44
-rw-r--r--libelf/elf_getdata.c41
-rw-r--r--libelf/elf_strptr.c51
-rw-r--r--libelf/exttypes.h4
-rw-r--r--libelf/gelf.h8
-rw-r--r--libelf/gelf_fsize.c1
-rw-r--r--libelf/gelf_getchdr.c69
-rw-r--r--libelf/gelf_xlate.c4
-rw-r--r--libelf/gelf_xlate.h1
-rw-r--r--libelf/libelf.h100
-rw-r--r--libelf/libelf.map10
-rw-r--r--libelf/libelfP.h35
-rw-r--r--po/ChangeLog8
-rw-r--r--po/de.po1528
-rw-r--r--po/es.po1536
-rw-r--r--po/ja.po1535
-rw-r--r--po/pl.po2627
-rw-r--r--po/uk.po1534
-rw-r--r--src/ChangeLog49
-rw-r--r--src/Makefile.am3
-rw-r--r--src/elfcompress.c1321
-rw-r--r--src/elflint.c57
-rw-r--r--src/readelf.c188
-rw-r--r--tests/ChangeLog110
-rw-r--r--tests/Makefile.am48
-rw-r--r--tests/dwelfgnucompressed.c104
-rw-r--r--tests/dwfl-bug-fd-leak.c10
-rw-r--r--tests/dwfl-proc-attach.c2
-rw-r--r--tests/elfgetchdr.c124
-rw-r--r--tests/elfgetzdata.c113
-rw-r--r--tests/elfputzdata.c237
-rw-r--r--tests/elfstrmerge.c9
-rw-r--r--tests/msg_tst.c9
-rwxr-xr-xtests/run-compress-test.sh102
-rwxr-xr-xtests/run-dwelfgnucompressed.sh108
-rwxr-xr-xtests/run-elfgetchdr.sh188
-rwxr-xr-xtests/run-elfgetzdata.sh214
-rwxr-xr-xtests/run-elfputzdata.sh340
-rwxr-xr-xtests/run-elfstrmerge-test.sh40
-rwxr-xr-xtests/run-readelf-z.sh202
-rwxr-xr-xtests/run-readelf-zdebug-rel.sh144
-rwxr-xr-xtests/run-readelf-zp.sh271
-rwxr-xr-xtests/run-readelf-zx.sh66
-rwxr-xr-xtests/run-zstrptr.sh167
-rw-r--r--tests/system-elf-libelf-test.c35
-rw-r--r--tests/testfile-debug-rel-g.o.bz2bin0 -> 1238 bytes
-rw-r--r--tests/testfile-debug-rel-z.o.bz2bin0 -> 1225 bytes
-rw-r--r--tests/testfile-debug-rel.o.bz2bin0 -> 1069 bytes
-rwxr-xr-xtests/testfile-zgabi32.bz2bin0 -> 767 bytes
-rwxr-xr-xtests/testfile-zgabi32be.bz2bin0 -> 769 bytes
-rwxr-xr-xtests/testfile-zgabi64.bz2bin0 -> 795 bytes
-rwxr-xr-xtests/testfile-zgabi64be.bz2bin0 -> 780 bytes
-rwxr-xr-xtests/testfile-zgnu32.bz2bin0 -> 780 bytes
-rwxr-xr-xtests/testfile-zgnu32be.bz2bin0 -> 779 bytes
-rwxr-xr-xtests/testfile-zgnu64.bz2bin0 -> 785 bytes
-rwxr-xr-xtests/testfile-zgnu64be.bz2bin0 -> 795 bytes
-rw-r--r--tests/zstrptr.c124
-rw-r--r--version.h2
100 files changed, 11024 insertions, 4615 deletions
diff --git a/.gitignore b/.gitignore
index a9447621..75043fe4 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,6 +31,8 @@ Makefile.in
/config/config.sub
/config/depcomp
/config/install-sh
+/config/libdw.pc
+/config/libelf.pc
/config/missing
/config/test-driver
/config/ylwrap
@@ -55,6 +57,7 @@ Makefile.in
/src/addr2line
/src/ar
/src/elfcmp
+/src/elfcompress
/src/elflint
/src/findtextrel
/src/ld
diff --git a/ChangeLog b/ChangeLog
index bbe0b8cf..637bc130 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,17 @@
+2016-01-08 Mark Wielaard <mjw@redhat.com>
+
+ * configure.ac: Set version to 0.165.
+ * NEWS: Add 0.164 section.
+
+2016-01-04 Mark Wielaard <mjw@redhat.com>
+
+ * configure.ac: Add BZ2_LIBS and LIBLZMA substitutions.
+ Add config/libelf.pc and config/libdw.pc config files.
+
+2015-12-31 Mark Wielaard <mjw@redhat.com>
+
+ * Makefile.am (AM_MAKEFLAGS): Set --no-print-directory.
+
2015-10-16 Mark Wielaard <mjw@redhat.com>
* configure.ac: Make zlib mandatory.
diff --git a/Makefile.am b/Makefile.am
index 1454d043..2ff444e7 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -1,7 +1,7 @@
## Process this file with automake to create Makefile.in
## Configure input file for elfutils.
##
-## Copyright (C) 1996-2002, 2003, 2004, 2005, 2006, 2008, 2009 Red Hat, Inc.
+## Copyright (C) 1996-2006, 2008, 2009, 2015 Red Hat, Inc.
##
## This file is part of elfutils.
##
@@ -20,6 +20,10 @@
##
ACLOCAL_AMFLAGS = -I m4
+# automake already tells which subdir is being entered.
+# Don't make make repeat.
+AM_MAKEFLAGS = --no-print-directory
+
pkginclude_HEADERS = version.h
# Add doc back when we have some real content.
diff --git a/NEWS b/NEWS
index 6416a727..53fe3647 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,20 @@
+Version 0.165
+
+elfcompress: New utility to compress or decompress ELF sections.
+
+readelf: Add -z,--decompress option.
+
+libelf: Add elf_compress, elf_compress_gnu, elf32_getchdr, elf64_getchdr
+ and gelf_getchdr.
+
+libdwelf: New function dwelf_scn_gnu_compressed_size.
+
+config: Add libelf and libdw pkg-config files.
+
+backends: sparc support for core and live backtraces.
+
+translations: Updated Polish translation.
+
Version 0.164
strip, unstrip: Handle ELF files with merged strtab/shstrtab tables.
diff --git a/config.h b/config.h
index 07f2ff7d..f5a11b3a 100644
--- a/config.h
+++ b/config.h
@@ -41,7 +41,7 @@
#define LIBEBL_SUBDIR "elfutils"
/* Identifier for modules in the build. */
-#define MODVERSION "Build for elfutils 164 x86_64-unknown-linux-gnu"
+#define MODVERSION "Build for elfutils 165 x86_64-unknown-linux-gnu"
/* Define to 32 or 64 if a specific implementation is wanted. */
/* #undef NATIVE_ELF */
@@ -56,7 +56,7 @@
#define PACKAGE_NAME "elfutils"
/* Define to the full name and version of this package. */
-#define PACKAGE_STRING "elfutils 0.164"
+#define PACKAGE_STRING "elfutils 0.165"
/* Define to the one symbol short name of this package. */
#define PACKAGE_TARNAME "elfutils"
@@ -65,7 +65,7 @@
#define PACKAGE_URL ""
/* Define to the version of this package. */
-#define PACKAGE_VERSION "0.164"
+#define PACKAGE_VERSION "0.165"
/* The size of `long', as computed by sizeof. */
#if __LP64__
@@ -93,7 +93,7 @@
#define USE_ZLIB 1
/* Version number of package */
-#define VERSION "0.164"
+#define VERSION "0.165"
/* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a
`char[]'. */
diff --git a/config/ChangeLog b/config/ChangeLog
index 428162fe..8e20f1e6 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,17 @@
+2016-01-08 Mark Wielaard <mjw@redhat.com>
+
+ * elfutils.spec.in: Add elfcompress. Update for 0.165.
+
+2016-01-04 Mark Wielaard <mjw@redhat.com>
+
+ * libelf.pc.in: New file.
+ * libdw.pc.in: Likewise.
+ * Makefile.am (EXTRA_DIST): Add libelf.pc.in and libdw.pc.in.
+ (pkgconfigdir): New variable.
+ (pkgconfigdir_DATA): Likewise.
+ * elfutils.spec.in (files devel): Add libdw.pc.
+ (files libelf-devel): Add libelf.pc.
+
2015-10-15 Mark Wielaard <mjw@redhat.com>
* elfutils.spec.in: Update for 0.164.
diff --git a/config/Makefile.am b/config/Makefile.am
index 23f7b655..66012d02 100644
--- a/config/Makefile.am
+++ b/config/Makefile.am
@@ -1,7 +1,7 @@
## Process this file with automake to produce Makefile.in -*-Makefile-*-
## Configure input file for elfutils.
##
-## Copyright (C) 2004, 2005, 2008, 2009, 2011, 2015 Red Hat, Inc.
+## Copyright (C) 2004, 2005, 2008, 2009, 2011, 2015, 2016 Red Hat, Inc.
## This file is part of elfutils.
##
## This file is free software; you can redistribute it and/or modify
@@ -29,6 +29,10 @@
## not, see <http://www.gnu.org/licenses/>.
##
EXTRA_DIST = elfutils.spec.in known-dwarf.awk 10-default-yama-scope.conf
+ libelf.pc.in libdw.pc.in
+
+pkgconfigdir = $(libdir)/pkgconfig
+pkgconfig_DATA = libelf.pc libdw.pc
if MAINTAINER_MODE
$(srcdir)/elfutils.spec.in: $(top_srcdir)/NEWS
diff --git a/config/elfutils.spec.in b/config/elfutils.spec.in
index b718f066..693c2628 100644
--- a/config/elfutils.spec.in
+++ b/config/elfutils.spec.in
@@ -31,13 +31,15 @@ BuildRequires: gcc-c++
%define _programprefix eu-
%description
-Elfutils is a collection of utilities, including ld (a linker),
-nm (for listing symbols from object files), size (for listing the
-section sizes of an object or archive file), strip (for discarding
-symbols), readelf (to see the raw ELF file structures), and elflint
-(to check for well-formed ELF files). Also included are numerous
-helper libraries which implement DWARF, ELF, and machine-specific ELF
-handling.
+
+Elfutils is a collection of utilities, including stack (to show
+backtraces), nm (for listing symbols from object files), size
+(for listing the section sizes of an object or archive file),
+strip (for discarding symbols), readelf (to see the raw ELF file
+structures), elflint (to check for well-formed ELF files) and
+elfcompress (to compress or decompress ELF sections).
+Also included are helper libraries which implement DWARF, ELF,
+and machine-specific ELF handling and process introspection.
%package devel
Summary: Development libraries to handle compiled objects.
@@ -175,6 +177,7 @@ rm -rf ${RPM_BUILD_ROOT}
%{_bindir}/eu-unstrip
%{_bindir}/eu-make-debug-archive
#%{_bindir}/eu-ld
+%{_bindir}/eu-elfcompress
%{_libdir}/libasm-%{version}.so
%{_libdir}/libdw-%{version}.so
%{_libdir}/libasm.so.*
@@ -197,6 +200,7 @@ rm -rf ${RPM_BUILD_ROOT}
%{_libdir}/libebl.a
#%{_libdir}/libasm.so
%{_libdir}/libdw.so
+%{_libdir}/pkgconfig/libdw.pc
%files devel-static
%{_libdir}/libdw.a
@@ -215,6 +219,7 @@ rm -rf ${RPM_BUILD_ROOT}
%{_includedir}/nlist.h
%{_includedir}/elfutils/version.h
%{_libdir}/libelf.so
+%{_libdir}/pkgconfig/libelf.pc
%files libelf-devel-static
%{_libdir}/libelf.a
@@ -223,6 +228,16 @@ rm -rf ${RPM_BUILD_ROOT}
%config(noreplace) %{_sysctldir}/10-default-yama-scope.conf
%changelog
+* Fri Jan 8 2016 Mark Wielaard <mjw@redhat.com> 0.165-1
+- elfcompress: New utility to compress or decompress ELF sections.
+- readelf: Add -z,--decompress option.
+- libelf: Add elf_compress, elf_compress_gnu, elf32_getchdr,
+ elf64_getchdr and gelf_getchdr.
+- libdwelf: New function dwelf_scn_gnu_compressed_size.
+- config: Add libelf and libdw pkg-config files.
+- backends: sparc support for core and live backtraces.
+- translations: Updated Polish translation.
+
* Thu Oct 15 2015 Mark Wielaard <mjw@redhat.com> 0.164-1
- strip, unstrip: Handle ELF files with merged strtab/shstrtab
tables. Handle missing SHF_INFO_LINK section flags.
diff --git a/config/libdw.pc.in b/config/libdw.pc.in
new file mode 100644
index 00000000..b7dc0026
--- /dev/null
+++ b/config/libdw.pc.in
@@ -0,0 +1,22 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libdw
+Description: elfutils library for DWARF data and ELF file or process inspection
+Version: @VERSION@
+URL: https://fedorahosted.org/elfutils/
+
+Libs: -L${libdir} -ldw
+Cflags: -I${includedir}
+
+# We need the exact matching elfutils libelf version since internal data
+# structures are used.
+Requires: libelf = @VERSION@
+
+# We support various compressed ELF images, but don't export any of the
+# data structures or functions. zlib (gz) is always required, bzip2 (bz2)
+# and lzma (xz) are optional. But bzip2 doesn't have a pkg-config file.
+Requires.private: zlib @LIBLZMA@
+Libs.private: @BZ2_LIB@
diff --git a/config/libelf.pc.in b/config/libelf.pc.in
new file mode 100644
index 00000000..1fc7e4cb
--- /dev/null
+++ b/config/libelf.pc.in
@@ -0,0 +1,14 @@
+prefix=@prefix@
+exec_prefix=@exec_prefix@
+libdir=@libdir@
+includedir=@includedir@
+
+Name: libelf
+Description: elfutils libelf library to read and write ELF files
+Version: @VERSION@
+URL: https://fedorahosted.org/elfutils/
+
+Libs: -L${libdir} -lelf
+Cflags: -I${includedir}
+
+Requires.private: zlib
diff --git a/configure.ac b/configure.ac
index e0107549..9a3301f5 100644
--- a/configure.ac
+++ b/configure.ac
@@ -1,7 +1,7 @@
dnl Process this file with autoconf to produce a configure script.
dnl Configure input file for elfutils. -*-autoconf-*-
dnl
-dnl Copyright (C) 1996-2015 Red Hat, Inc.
+dnl Copyright (C) 1996-2016 Red Hat, Inc.
dnl
dnl This file is part of elfutils.
dnl
@@ -17,12 +17,12 @@ 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.164],[https://bugzilla.redhat.com/],[elfutils])
+AC_INIT([elfutils],[0.165],[https://bugzilla.redhat.com/],[elfutils])
AC_CONFIG_AUX_DIR([config])
AC_CONFIG_FILES([config/Makefile])
-AC_COPYRIGHT([Copyright (C) 1996-2015 Red Hat, Inc.])
+AC_COPYRIGHT([Copyright (C) 1996-2016 Red Hat, Inc.])
AC_PREREQ(2.63) dnl Minimum Autoconf version required.
dnl We use GNU make extensions; automake 1.10 defaults to -Wportability.
@@ -244,7 +244,7 @@ dnl zlib is mandatory.
save_LIBS="$LIBS"
LIBS=
eu_ZIPLIB(zlib,ZLIB,z,gzdirect,gzip)
-AS_IF([test "x$with_zlib" = xno], [AC_MSG_ERROR("zlib not found")])
+AS_IF([test "x$with_zlib" = xno], [AC_MSG_ERROR([zlib not found but is required])])
LIBS="$save_LIBS"
dnl Test for bzlib and xz/lzma, gives BZLIB/LZMALIB .am
@@ -252,7 +252,12 @@ dnl conditional and config.h USE_BZLIB/USE_LZMALIB #define.
save_LIBS="$LIBS"
LIBS=
eu_ZIPLIB(bzlib,BZLIB,bz2,BZ2_bzdopen,bzip2)
+# We need this since bzip2 doesn't have a pkgconfig file.
+BZ2_LIB="$LIBS"
+AC_SUBST([BZ2_LIB])
eu_ZIPLIB(lzma,LZMA,lzma,lzma_auto_decoder,[LZMA (xz)])
+AS_IF([test "x$with_lzma" = xyes], [LIBLZMA="liblzma"], [LIBLZMA=""])
+AC_SUBST([LIBLZMA])
zip_LIBS="$LIBS"
LIBS="$save_LIBS"
AC_SUBST([zip_LIBS])
@@ -352,6 +357,9 @@ dnl Test suite.
AM_CONDITIONAL(STANDALONE, false)dnl Used in tests/Makefile.am, which see.
AC_CONFIG_FILES([tests/Makefile])
+dnl pkgconfig files
+AC_CONFIG_FILES([config/libelf.pc config/libdw.pc])
+
# Get the definitions necessary to create the Makefiles in the po
# subdirectories. This is a small subset of the gettext rules.
AC_SUBST(USE_NLS, yes)
diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index d0e97f3c..fc80e8d2 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,3 +1,20 @@
+2015-12-18 Mark Wielaard <mjw@redhat.com>
+
+ * libdwP.h (struct Dwarf): Remove sectiondata_gzip_mask.
+ (__libdw_free_zdata): Remove.
+ * dwarf_begin_elf.c (inflate_section): Remove.
+ (check_section): Remove __libdw_free_zdata calls. Use elf_compress
+ and elf_compress_gnu to decompress if necessary.
+ (valid_p): Remove __libdw_free_zdata calls.
+ (scngrp_read): Use elf_compress if section is compressed. Remove
+ __libdw_free_zdata calls.
+ * dwarf_end.c (__libdw_free_zdata): Remove.
+ (dwarf_end): Don't call __libdw_free_zdata.
+
+2015-10-28 Mark Wielaard <mjw@redhat.com>
+
+ * libdw.map (ELFUTILS_0.165): New. Add dwelf_scn_gnu_compressed_size.
+
2015-12-02 Mark Wielaard <mjw@redhat.com>
* fde.c (intern_fde): Don't leak duplicate FDEs.
diff --git a/libdw/dwarf_begin_elf.c b/libdw/dwarf_begin_elf.c
index 63532fd8..6f25e429 100644
--- a/libdw/dwarf_begin_elf.c
+++ b/libdw/dwarf_begin_elf.c
@@ -44,13 +44,6 @@
#include "libdwP.h"
-#if USE_ZLIB
-# include <endian.h>
-# define crc32 loser_crc32
-# include <zlib.h>
-# undef crc32
-#endif
-
/* Section names. */
static const char dwarf_scnnames[IDX_last][18] =
@@ -71,70 +64,6 @@ static const char dwarf_scnnames[IDX_last][18] =
};
#define ndwarf_scnnames (sizeof (dwarf_scnnames) / sizeof (dwarf_scnnames[0]))
-#if USE_ZLIB
-static Elf_Data *
-inflate_section (Elf_Data * data)
-{
- /* There is a 12-byte header of "ZLIB" followed by
- an 8-byte big-endian size. */
-
- if (unlikely (data->d_size < 4 + 8)
- || unlikely (memcmp (data->d_buf, "ZLIB", 4) != 0))
- return NULL;
-
- uint64_t size;
- memcpy (&size, data->d_buf + 4, sizeof size);
- size = be64toh (size);
-
- /* Check for unsigned overflow so malloc always allocated
- enough memory for both the Elf_Data header and the
- uncompressed section data. */
- if (unlikely (sizeof (Elf_Data) + size < size))
- return NULL;
-
- Elf_Data *zdata = malloc (sizeof (Elf_Data) + size);
- if (unlikely (zdata == NULL))
- return NULL;
-
- zdata->d_buf = &zdata[1];
- zdata->d_type = ELF_T_BYTE;
- zdata->d_version = EV_CURRENT;
- zdata->d_size = size;
- zdata->d_off = 0;
- zdata->d_align = 1;
-
- z_stream z =
- {
- .next_in = data->d_buf + 4 + 8,
- .avail_in = data->d_size - 4 - 8,
- .next_out = zdata->d_buf,
- .avail_out = zdata->d_size
- };
- int zrc = inflateInit (&z);
- while (z.avail_in > 0 && likely (zrc == Z_OK))
- {
- z.next_out = zdata->d_buf + (zdata->d_size - z.avail_out);
- zrc = inflate (&z, Z_FINISH);
- if (unlikely (zrc != Z_STREAM_END))
- {
- zrc = Z_DATA_ERROR;
- break;
- }
- zrc = inflateReset (&z);
- }
- if (likely (zrc == Z_OK))
- zrc = inflateEnd (&z);
-
- if (unlikely (zrc != Z_OK) || unlikely (z.avail_out != 0))
- {
- free (zdata);
- return NULL;
- }
-
- return zdata;
-}
-#endif
-
static Dwarf *
check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp)
{
@@ -173,7 +102,6 @@ check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp)
/* The section name must be valid. Otherwise is the ELF file
invalid. */
err:
- __libdw_free_zdata (result);
Dwarf_Sig8_Hash_free (&result->sig8_hash);
__libdw_seterrno (DWARF_E_INVALID_ELF);
free (result);
@@ -182,14 +110,14 @@ check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp)
/* Recognize the various sections. Most names start with .debug_. */
size_t cnt;
- bool compressed = false;
+ bool gnu_compressed = false;
for (cnt = 0; cnt < ndwarf_scnnames; ++cnt)
if (strcmp (scnname, dwarf_scnnames[cnt]) == 0)
break;
else if (scnname[0] == '.' && scnname[1] == 'z'
&& strcmp (&scnname[2], &dwarf_scnnames[cnt][1]) == 0)
{
- compressed = true;
+ gnu_compressed = true;
break;
}
@@ -201,40 +129,41 @@ check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp)
/* A section appears twice. That's bad. We ignore the section. */
return result;
+ /* We cannot know whether or not a GNU compressed section has already
+ been uncompressed or not, so ignore any errors. */
+ if (gnu_compressed)
+ elf_compress_gnu (scn, 0, 0);
+
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+ {
+ if (elf_compress (scn, 0, 0) < 0)
+ {
+ /* If we failed to decompress the section and it's the
+ debug_info section, then fail with specific error rather
+ than the generic NO_DWARF. Without debug_info we can't do
+ anything (see also valid_p()). */
+ if (cnt == IDX_debug_info)
+ {
+ Dwarf_Sig8_Hash_free (&result->sig8_hash);
+ __libdw_seterrno (DWARF_E_COMPRESSED_ERROR);
+ free (result);
+ return NULL;
+ }
+ return result;
+ }
+ }
+
/* Get the section data. */
Elf_Data *data = elf_getdata (scn, NULL);
- if (data == NULL || data->d_size == 0)
+ if (data == NULL)
+ goto err;
+
+ if (data->d_buf == NULL || data->d_size == 0)
/* No data actually available, ignore it. */
return result;
/* We can now read the section data into results. */
- if (!compressed)
- result->sectiondata[cnt] = data;
- else
- {
- /* A compressed section. */
-
-#if USE_ZLIB
- Elf_Data *inflated = inflate_section(data);
- if (inflated != NULL)
- {
- result->sectiondata[cnt] = inflated;
- result->sectiondata_gzip_mask |= 1U << cnt;
- }
-#endif
-
- /* If we failed to decompress the section and it's the debug_info section,
- * then fail with specific error rather than the generic NO_DWARF. Without
- * debug_info we can't do anything (see also valid_p()). */
- if (result->sectiondata[cnt] == NULL && cnt == IDX_debug_info)
- {
- __libdw_free_zdata (result);
- Dwarf_Sig8_Hash_free (&result->sig8_hash);
- __libdw_seterrno (DWARF_E_COMPRESSED_ERROR);
- free (result);
- return NULL;
- }
- }
+ result->sectiondata[cnt] = data;
return result;
}
@@ -253,7 +182,6 @@ valid_p (Dwarf *result)
if (likely (result != NULL)
&& unlikely (result->sectiondata[IDX_debug_info] == NULL))
{
- __libdw_free_zdata (result);
Dwarf_Sig8_Hash_free (&result->sig8_hash);
__libdw_seterrno (DWARF_E_NO_DWARF);
free (result);
@@ -265,7 +193,6 @@ valid_p (Dwarf *result)
result->fake_loc_cu = (Dwarf_CU *) calloc (1, sizeof (Dwarf_CU));
if (unlikely (result->fake_loc_cu == NULL))
{
- __libdw_free_zdata (result);
Dwarf_Sig8_Hash_free (&result->sig8_hash);
__libdw_seterrno (DWARF_E_NOMEM);
free (result);
@@ -301,13 +228,31 @@ global_read (Dwarf *result, Elf *elf, GElf_Ehdr *ehdr)
static Dwarf *
scngrp_read (Dwarf *result, Elf *elf, GElf_Ehdr *ehdr, Elf_Scn *scngrp)
{
+ GElf_Shdr shdr_mem;
+ GElf_Shdr *shdr = gelf_getshdr (scngrp, &shdr_mem);
+ if (shdr == NULL)
+ {
+ Dwarf_Sig8_Hash_free (&result->sig8_hash);
+ __libdw_seterrno (DWARF_E_INVALID_ELF);
+ free (result);
+ return NULL;
+ }
+
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0
+ && elf_compress (scngrp, 0, 0) < 0)
+ {
+ Dwarf_Sig8_Hash_free (&result->sig8_hash);
+ __libdw_seterrno (DWARF_E_COMPRESSED_ERROR);
+ free (result);
+ return NULL;
+ }
+
/* SCNGRP is the section descriptor for a section group which might
contain debug sections. */
Elf_Data *data = elf_getdata (scngrp, NULL);
if (data == NULL)
{
/* We cannot read the section content. Fail! */
- __libdw_free_zdata (result);
Dwarf_Sig8_Hash_free (&result->sig8_hash);
free (result);
return NULL;
@@ -324,7 +269,6 @@ scngrp_read (Dwarf *result, Elf *elf, GElf_Ehdr *ehdr, Elf_Scn *scngrp)
{
/* A section group refers to a non-existing section. Should
never happen. */
- __libdw_free_zdata (result);
Dwarf_Sig8_Hash_free (&result->sig8_hash);
__libdw_seterrno (DWARF_E_INVALID_ELF);
free (result);
diff --git a/libdw/dwarf_end.c b/libdw/dwarf_end.c
index 2108063d..6c6d985a 100644
--- a/libdw/dwarf_end.c
+++ b/libdw/dwarf_end.c
@@ -57,24 +57,6 @@ cu_free (void *arg)
}
-#if USE_ZLIB
-void
-internal_function
-__libdw_free_zdata (Dwarf *dwarf)
-{
- unsigned int gzip_mask = dwarf->sectiondata_gzip_mask;
- while (gzip_mask != 0)
- {
- int i = ffs (gzip_mask);
- assert (i > 0);
- --i;
- assert (i < IDX_last);
- free (dwarf->sectiondata[i]);
- gzip_mask &= ~(1U << i);
- }
-}
-#endif
-
int
dwarf_end (Dwarf *dwarf)
{
@@ -110,8 +92,6 @@ dwarf_end (Dwarf *dwarf)
/* Free the pubnames helper structure. */
free (dwarf->pubnames_sets);
- __libdw_free_zdata (dwarf);
-
/* Free the ELF descriptor if necessary. */
if (dwarf->free_elf)
elf_end (dwarf->elf);
diff --git a/libdw/libdw.map b/libdw/libdw.map
index 1d4cbb0c..1681b6b5 100644
--- a/libdw/libdw.map
+++ b/libdw/libdw.map
@@ -322,3 +322,8 @@ ELFUTILS_0.161 {
dwarf_macro_getparamcnt;
dwarf_macro_param;
} ELFUTILS_0.160;
+
+ELFUTILS_0.165 {
+ global:
+ dwelf_scn_gnu_compressed_size;
+} ELFUTILS_0.161;
diff --git a/libdw/libdwP.h b/libdw/libdwP.h
index 2d233f63..5d095a7e 100644
--- a/libdw/libdwP.h
+++ b/libdw/libdwP.h
@@ -147,11 +147,6 @@ struct Dwarf
/* The section data. */
Elf_Data *sectiondata[IDX_last];
-#if USE_ZLIB
- /* The 1 << N bit is set if sectiondata[N] is malloc'd decompressed data. */
- unsigned int sectiondata_gzip_mask:IDX_last;
-#endif
-
/* True if the file has a byte order different from the host. */
bool other_byte_order;
@@ -440,12 +435,6 @@ extern void *__libdw_allocate (Dwarf *dbg, size_t minsize, size_t align)
/* Default OOM handler. */
extern void __libdw_oom (void) __attribute ((noreturn, visibility ("hidden")));
-#if USE_ZLIB
-extern void __libdw_free_zdata (Dwarf *dwarf) internal_function;
-#else
-# define __libdw_free_zdata(dwarf) ((void) (dwarf))
-#endif
-
/* Allocate the internal data for a unit not seen before. */
extern struct Dwarf_CU *__libdw_intern_next_unit (Dwarf *dbg, bool debug_types)
__nonnull_attribute__ (1) internal_function;
diff --git a/libdwelf/ChangeLog b/libdwelf/ChangeLog
index f182ecf4..fe8af1b4 100644
--- a/libdwelf/ChangeLog
+++ b/libdwelf/ChangeLog
@@ -1,3 +1,10 @@
+2015-10-28 Mark Wielaard <mjw@redhat.com>
+
+ * Makefile.am (libdwelf_a_SOURCES): Add
+ dwelf_scn_gnu_compressed_size.c.
+ * dwelf_scn_gnu_compressed_size.c: Likewise.
+ * libdwelf.h (dwelf_scn_gnu_compressed_size): New declaration.
+
2015-10-14 Chih-Hung Hsieh <chh@google.com>
* dwelf_elf_gnu_build_id.c (find_elf_build_id): Move nested function
diff --git a/libdwelf/Makefile.am b/libdwelf/Makefile.am
index cd4b7ddf..4de4b2ed 100644
--- a/libdwelf/Makefile.am
+++ b/libdwelf/Makefile.am
@@ -2,7 +2,7 @@
##
## Process this file with automake to create Makefile.in
##
-## Copyright (C) 2014 Red Hat, Inc.
+## Copyright (C) 2014, 2015 Red Hat, Inc.
## This file is part of elfutils.
##
## This file is free software; you can redistribute it and/or modify
@@ -40,7 +40,7 @@ pkginclude_HEADERS = libdwelf.h
noinst_HEADERS = libdwelfP.h
libdwelf_a_SOURCES = dwelf_elf_gnu_debuglink.c dwelf_dwarf_gnu_debugaltlink.c \
- dwelf_elf_gnu_build_id.c
+ dwelf_elf_gnu_build_id.c dwelf_scn_gnu_compressed_size.c
libdwelf = $(libdw)
diff --git a/libdwelf/dwelf_scn_gnu_compressed_size.c b/libdwelf/dwelf_scn_gnu_compressed_size.c
new file mode 100644
index 00000000..d39b702a
--- /dev/null
+++ b/libdwelf/dwelf_scn_gnu_compressed_size.c
@@ -0,0 +1,77 @@
+/* Return size of GNU compressed section.
+ Copyright (C) 2015 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 "libelfP.h"
+
+ssize_t
+dwelf_scn_gnu_compressed_size (Elf_Scn *scn)
+{
+ if (scn == NULL)
+ return -1;
+
+ GElf_Shdr shdr;
+ if (gelf_getshdr (scn, &shdr) == NULL)
+ return -1;
+
+ /* Allocated or no bits sections can never be compressed. */
+ if ((shdr.sh_flags & SHF_ALLOC) != 0
+ || shdr.sh_type == SHT_NULL
+ || shdr.sh_type == SHT_NOBITS)
+ return -1;
+
+ Elf_Data *d = elf_rawdata (scn, NULL);
+ if (d == NULL)
+ return -1;
+
+ if (d->d_size >= 4 + 8
+ && memcmp (d->d_buf, "ZLIB", 4) == 0)
+ {
+ /* There is a 12-byte header of "ZLIB" followed by
+ an 8-byte big-endian size. There is only one type and
+ alignment isn't preserved separately. */
+ uint64_t size;
+ memcpy (&size, d->d_buf + 4, sizeof size);
+ size = be64toh (size);
+
+ /* One more sanity check, size should be bigger than original
+ data size plus some overhead (4 chars ZLIB + 8 bytes size + 6
+ bytes zlib stream overhead + 5 bytes overhead max for one 16K
+ block) and should fit into a size_t. */
+ if (size + 4 + 8 + 6 + 5 < d->d_size || size > SIZE_MAX)
+ return -1;
+
+ return size;
+ }
+
+ return -1;
+}
diff --git a/libdwelf/libdwelf.h b/libdwelf/libdwelf.h
index e16dc0f3..7f7f679a 100644
--- a/libdwelf/libdwelf.h
+++ b/libdwelf/libdwelf.h
@@ -1,5 +1,5 @@
/* Interfaces for libdwelf. DWARF ELF Low-level Functions.
- Copyright (C) 2014 Red Hat, Inc.
+ Copyright (C) 2014, 2015 Red Hat, Inc.
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
@@ -65,6 +65,13 @@ extern ssize_t dwelf_dwarf_gnu_debugaltlink (Dwarf *dwarf,
note. Returns -1 in case of malformed data or other errors. */
extern ssize_t dwelf_elf_gnu_build_id (Elf *elf, const void **build_idp);
+/* Returns the size of the uncompressed data of a GNU compressed
+ section. The section name should start with .zdebug (but this
+ isn't checked by this function). If the section isn't compressed
+ (the section data doesn't start with ZLIB) -1 is returned. If an
+ error occured -1 is returned and elf_errno is set. */
+extern ssize_t dwelf_scn_gnu_compressed_size (Elf_Scn *scn);
+
#ifdef __cplusplus
}
#endif
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog
index 06b8469d..94c58d90 100644
--- a/libdwfl/ChangeLog
+++ b/libdwfl/ChangeLog
@@ -1,3 +1,22 @@
+2016-01-08 Mark Wielaard <mjw@redhat.com>
+
+ * libdwfl_a_SOURCES: Unconditionally add gzip.c.
+ * linux-kernel-modules.c (vmlinux_suffixes): We always have at least
+ .gz support.
+ (try_kernel_name): Likewise.
+ (check_suffix): Likewise.
+ * open.c (decompress): Likewise.
+
+2015-12-18 Mark Wielaard <mjw@redhat.com>
+
+ * dwfl_module_getdwarf.c (find_symtab): Uncompress symstr, xndx, sym
+ sections and aux_str, aux_xndx and aux_sym sections if necessary.
+ * relocate.c (relocate_getsym): Uncompress symtab and symtab_shndx
+ if necessary.
+ (resolve_symbol): Uncompress strtab section if necessary.
+ (relocate_section): Uncompress the section the relocations apply to
+ if necessary.
+
2015-11-18 Chih-Hung Hsieh <chh@google.com>
* linux-proc-maps.c (proc_maps_report): Move nested function
diff --git a/libdwfl/Makefile.am b/libdwfl/Makefile.am
index 72c980bf..89ca92ed 100644
--- a/libdwfl/Makefile.am
+++ b/libdwfl/Makefile.am
@@ -68,11 +68,9 @@ libdwfl_a_SOURCES = dwfl_begin.c dwfl_end.c dwfl_error.c dwfl_version.c \
dwfl_segment_report_module.c \
link_map.c core-file.c open.c image-header.c \
dwfl_frame.c frame_unwind.c dwfl_frame_pc.c \
- linux-pid-attach.c linux-core-attach.c dwfl_frame_regs.c
+ linux-pid-attach.c linux-core-attach.c dwfl_frame_regs.c \
+ gzip.c
-if ZLIB
-libdwfl_a_SOURCES += gzip.c
-endif
if BZLIB
libdwfl_a_SOURCES += bzip2.c
endif
diff --git a/libdwfl/dwfl_module_getdwarf.c b/libdwfl/dwfl_module_getdwarf.c
index e9589b3f..0e8810b1 100644
--- a/libdwfl/dwfl_module_getdwarf.c
+++ b/libdwfl/dwfl_module_getdwarf.c
@@ -1130,10 +1130,39 @@ find_symtab (Dwfl_Module *mod)
goto aux_cleanup; /* This cleans up some more and tries find_dynsym. */
}
- /* Cache the data; MOD->syments and MOD->first_global were set above. */
+ /* Cache the data; MOD->syments and MOD->first_global were set
+ above. If any of the sections is compressed, uncompress it
+ first. Only the string data setion could theoretically be
+ compressed GNU style (as .zdebug_str). Everything else only ELF
+ gabi style (SHF_COMPRESSED). */
+
+ Elf_Scn *symstrscn = elf_getscn (mod->symfile->elf, strshndx);
+ if (symstrscn == NULL)
+ goto elferr;
+
+ GElf_Shdr shdr_mem;
+ GElf_Shdr *shdr = gelf_getshdr (symstrscn, &shdr_mem);
+ if (shdr == NULL)
+ goto elferr;
+
+ size_t shstrndx;
+ if (elf_getshdrstrndx (mod->symfile->elf, &shstrndx) < 0)
+ goto elferr;
+
+ const char *sname = elf_strptr (mod->symfile->elf, shstrndx, shdr->sh_name);
+ if (sname == NULL)
+ goto elferr;
+
+ if (strncmp (sname, ".zdebug", strlen (".zdebug")) == 0)
+ /* Try to uncompress, but it might already have been, an error
+ might just indicate, already uncompressed. */
+ elf_compress_gnu (symstrscn, 0, 0);
- mod->symstrdata = elf_getdata (elf_getscn (mod->symfile->elf, strshndx),
- NULL);
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+ if (elf_compress (symstrscn, 0, 0) < 0)
+ goto elferr;
+
+ mod->symstrdata = elf_getdata (symstrscn, NULL);
if (mod->symstrdata == NULL || mod->symstrdata->d_buf == NULL)
goto elferr;
@@ -1141,17 +1170,33 @@ find_symtab (Dwfl_Module *mod)
mod->symxndxdata = NULL;
else
{
+ shdr = gelf_getshdr (xndxscn, &shdr_mem);
+ if (shdr == NULL)
+ goto elferr;
+
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+ if (elf_compress (xndxscn, 0, 0) < 0)
+ goto elferr;
+
mod->symxndxdata = elf_getdata (xndxscn, NULL);
if (mod->symxndxdata == NULL || mod->symxndxdata->d_buf == NULL)
goto elferr;
}
+ shdr = gelf_getshdr (symscn, &shdr_mem);
+ if (shdr == NULL)
+ goto elferr;
+
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+ if (elf_compress (symscn, 0, 0) < 0)
+ goto elferr;
+
mod->symdata = elf_getdata (symscn, NULL);
if (mod->symdata == NULL || mod->symdata->d_buf == NULL)
goto elferr;
// Sanity check number of symbols.
- GElf_Shdr shdr_mem, *shdr = gelf_getshdr (symscn, &shdr_mem);
+ shdr = gelf_getshdr (symscn, &shdr_mem);
if (shdr == NULL || shdr->sh_entsize == 0
|| mod->syments > mod->symdata->d_size / shdr->sh_entsize
|| (size_t) mod->first_global > mod->syments)
@@ -1174,9 +1219,33 @@ find_symtab (Dwfl_Module *mod)
return;
}
- mod->aux_symstrdata = elf_getdata (elf_getscn (mod->aux_sym.elf,
- aux_strshndx),
- NULL);
+ Elf_Scn *aux_strscn = elf_getscn (mod->aux_sym.elf, aux_strshndx);
+ if (aux_strscn == NULL)
+ goto elferr;
+
+ shdr = gelf_getshdr (aux_strscn, &shdr_mem);
+ if (shdr == NULL)
+ goto elferr;
+
+ size_t aux_shstrndx;
+ if (elf_getshdrstrndx (mod->aux_sym.elf, &aux_shstrndx) < 0)
+ goto elferr;
+
+ sname = elf_strptr (mod->aux_sym.elf, aux_shstrndx,
+ shdr->sh_name);
+ if (sname == NULL)
+ goto elferr;
+
+ if (strncmp (sname, ".zdebug", strlen (".zdebug")) == 0)
+ /* Try to uncompress, but it might already have been, an error
+ might just indicate, already uncompressed. */
+ elf_compress_gnu (aux_strscn, 0, 0);
+
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+ if (elf_compress (aux_strscn, 0, 0) < 0)
+ goto elferr;
+
+ mod->aux_symstrdata = elf_getdata (aux_strscn, NULL);
if (mod->aux_symstrdata == NULL || mod->aux_symstrdata->d_buf == NULL)
goto aux_cleanup;
@@ -1184,12 +1253,28 @@ find_symtab (Dwfl_Module *mod)
mod->aux_symxndxdata = NULL;
else
{
+ shdr = gelf_getshdr (aux_xndxscn, &shdr_mem);
+ if (shdr == NULL)
+ goto elferr;
+
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+ if (elf_compress (aux_xndxscn, 0, 0) < 0)
+ goto elferr;
+
mod->aux_symxndxdata = elf_getdata (aux_xndxscn, NULL);
if (mod->aux_symxndxdata == NULL
|| mod->aux_symxndxdata->d_buf == NULL)
goto aux_cleanup;
}
+ shdr = gelf_getshdr (aux_symscn, &shdr_mem);
+ if (shdr == NULL)
+ goto elferr;
+
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+ if (elf_compress (aux_symscn, 0, 0) < 0)
+ goto elferr;
+
mod->aux_symdata = elf_getdata (aux_symscn, NULL);
if (mod->aux_symdata == NULL || mod->aux_symdata->d_buf == NULL)
goto aux_cleanup;
diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c
index d8020fc3..e27f74f9 100644
--- a/libdwfl/linux-kernel-modules.c
+++ b/libdwfl/linux-kernel-modules.c
@@ -65,12 +65,9 @@
#define MODULE_SECT_NAME_LEN 32 /* Minimum any linux/module.h has had. */
-#if defined (USE_ZLIB) || defined (USE_BZLIB) || defined (USE_LZMA)
static const char *vmlinux_suffixes[] =
{
-#ifdef USE_ZLIB
".gz",
-#endif
#ifdef USE_BZLIB
".bz2",
#endif
@@ -78,7 +75,6 @@ static const char *vmlinux_suffixes[] =
".xz",
#endif
};
-#endif
/* Try to open the given file as it is or under the debuginfo directory. */
static int
@@ -115,7 +111,6 @@ try_kernel_name (Dwfl *dwfl, char **fname, bool try_debug)
}
}
-#if defined (USE_ZLIB) || defined (USE_BZLIB) || defined (USE_LZMA)
if (fd < 0)
for (size_t i = 0;
i < sizeof vmlinux_suffixes / sizeof vmlinux_suffixes[0];
@@ -134,7 +129,6 @@ try_kernel_name (Dwfl *dwfl, char **fname, bool try_debug)
}
}
}
-#endif
if (fd < 0)
{
@@ -304,9 +298,7 @@ check_suffix (const FTSENT *f, size_t namelen)
return sizeof sfx - 1
TRY (".ko");
-#if USE_ZLIB
TRY (".ko.gz");
-#endif
#if USE_BZLIB
TRY (".ko.bz2");
#endif
diff --git a/libdwfl/open.c b/libdwfl/open.c
index c1d0ed2b..92f2798b 100644
--- a/libdwfl/open.c
+++ b/libdwfl/open.c
@@ -1,5 +1,5 @@
-/* Decompression support for libdwfl: zlib (gzip) and/or bzlib (bzip2).
- Copyright (C) 2009 Red Hat, Inc.
+/* Decompression support for libdwfl: zlib (gzip), bzlib (bzip2) or lzma (xz).
+ Copyright (C) 2009, 2016 Red Hat, Inc.
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
@@ -32,10 +32,6 @@
#include <unistd.h>
-#if !USE_ZLIB
-# define __libdw_gunzip(...) DWFL_E_BADELF
-#endif
-
#if !USE_BZLIB
# define __libdw_bunzip2(...) DWFL_E_BADELF
#endif
@@ -52,7 +48,6 @@ decompress (int fd __attribute__ ((unused)), Elf **elf)
void *buffer = NULL;
size_t size = 0;
-#if USE_ZLIB || USE_BZLIB || USE_LZMA
const off_t offset = (*elf)->start_offset;
void *const mapped = ((*elf)->map_address == NULL ? NULL
: (*elf)->map_address + offset);
@@ -65,7 +60,6 @@ decompress (int fd __attribute__ ((unused)), Elf **elf)
error = __libdw_bunzip2 (fd, offset, mapped, mapped_size, &buffer, &size);
if (error == DWFL_E_BADELF)
error = __libdw_unlzma (fd, offset, mapped, mapped_size, &buffer, &size);
-#endif
if (error == DWFL_E_NOERROR)
{
diff --git a/libdwfl/relocate.c b/libdwfl/relocate.c
index 2dc67374..fc88df30 100644
--- a/libdwfl/relocate.c
+++ b/libdwfl/relocate.c
@@ -123,23 +123,32 @@ relocate_getsym (Dwfl_Module *mod,
{
GElf_Shdr shdr_mem, *shdr = gelf_getshdr (scn, &shdr_mem);
if (shdr != NULL)
- switch (shdr->sh_type)
- {
- default:
- continue;
- case SHT_SYMTAB:
- cache->symelf = relocated;
- cache->symdata = elf_getdata (scn, NULL);
- cache->strtabndx = shdr->sh_link;
- if (unlikely (cache->symdata == NULL))
- return DWFL_E_LIBELF;
- break;
- case SHT_SYMTAB_SHNDX:
- cache->symxndxdata = elf_getdata (scn, NULL);
- if (unlikely (cache->symxndxdata == NULL))
+ {
+ /* We need uncompressed data. */
+ if ((shdr->sh_type == SHT_SYMTAB
+ || shdr->sh_type == SHT_SYMTAB_SHNDX)
+ && (shdr->sh_flags & SHF_COMPRESSED) != 0)
+ if (elf_compress (scn, 0, 0) < 0)
return DWFL_E_LIBELF;
- break;
- }
+
+ switch (shdr->sh_type)
+ {
+ default:
+ continue;
+ case SHT_SYMTAB:
+ cache->symelf = relocated;
+ cache->symdata = elf_getdata (scn, NULL);
+ cache->strtabndx = shdr->sh_link;
+ if (unlikely (cache->symdata == NULL))
+ return DWFL_E_LIBELF;
+ break;
+ case SHT_SYMTAB_SHNDX:
+ cache->symxndxdata = elf_getdata (scn, NULL);
+ if (unlikely (cache->symxndxdata == NULL))
+ return DWFL_E_LIBELF;
+ break;
+ }
+ }
if (cache->symdata != NULL && cache->symxndxdata != NULL)
break;
}
@@ -203,9 +212,34 @@ resolve_symbol (Dwfl_Module *referer, struct reloc_symtab_cache *symtab,
/* Cache the strtab for this symtab. */
assert (referer->symfile == NULL
|| referer->symfile->elf != symtab->symelf);
- symtab->symstrdata = elf_getdata (elf_getscn (symtab->symelf,
- symtab->strtabndx),
- NULL);
+
+ Elf_Scn *scn = elf_getscn (symtab->symelf, symtab->strtabndx);
+ if (scn == NULL)
+ return DWFL_E_LIBELF;
+
+ GElf_Shdr shdr_mem;
+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
+ if (shdr == NULL)
+ return DWFL_E_LIBELF;
+
+ if (symtab->symshstrndx == SHN_UNDEF
+ && elf_getshdrstrndx (symtab->symelf, &symtab->symshstrndx) < 0)
+ return DWFL_E_LIBELF;
+
+ const char *sname = elf_strptr (symtab->symelf, symtab->symshstrndx,
+ shdr->sh_name);
+ if (sname == NULL)
+ return DWFL_E_LIBELF;
+
+ /* If the section is already decompressed, that isn't an error. */
+ if (strncmp (sname, ".zdebug", strlen (".zdebug")) == 0)
+ elf_compress_gnu (scn, 0, 0);
+
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+ if (elf_compress (scn, 0, 0) < 0)
+ return DWFL_E_LIBELF;
+
+ symtab->symstrdata = elf_getdata (scn, NULL);
if (unlikely (symtab->symstrdata == NULL
|| symtab->symstrdata->d_buf == NULL))
return DWFL_E_LIBELF;
@@ -446,22 +480,56 @@ relocate_section (Dwfl_Module *mod, Elf *relocated, const GElf_Ehdr *ehdr,
Elf_Scn *scn, GElf_Shdr *shdr,
Elf_Scn *tscn, bool debugscn, bool partial)
{
- /* First, fetch the name of the section these relocations apply to. */
+ /* First, fetch the name of the section these relocations apply to.
+ Then try to decompress both relocation and target section. */
GElf_Shdr tshdr_mem;
GElf_Shdr *tshdr = gelf_getshdr (tscn, &tshdr_mem);
+ if (tshdr == NULL)
+ return DWFL_E_LIBELF;
+
const char *tname = elf_strptr (relocated, shstrndx, tshdr->sh_name);
if (tname == NULL)
return DWFL_E_LIBELF;
- if (unlikely (tshdr->sh_type == SHT_NOBITS) || unlikely (tshdr->sh_size == 0))
- /* No contents to relocate. */
- return DWFL_E_NOERROR;
-
if (debugscn && ! ebl_debugscn_p (mod->ebl, tname))
/* This relocation section is not for a debugging section.
Nothing to do here. */
return DWFL_E_NOERROR;
+ if (strncmp (tname, ".zdebug", strlen ("zdebug")) == 0)
+ elf_compress_gnu (tscn, 0, 0);
+
+ if ((tshdr->sh_flags & SHF_COMPRESSED) != 0)
+ if (elf_compress (tscn, 0, 0) < 0)
+ return DWFL_E_LIBELF;
+
+ /* Reload Shdr in case section was just decompressed. */
+ tshdr = gelf_getshdr (tscn, &tshdr_mem);
+ if (tshdr == NULL)
+ return DWFL_E_LIBELF;
+
+ if (unlikely (tshdr->sh_type == SHT_NOBITS)
+ || unlikely (tshdr->sh_size == 0))
+ /* No contents to relocate. */
+ return DWFL_E_NOERROR;
+
+ const char *sname = elf_strptr (relocated, shstrndx, shdr->sh_name);
+ if (sname == NULL)
+ return DWFL_E_LIBELF;
+
+ if (strncmp (sname, ".zdebug", strlen ("zdebug")) == 0)
+ elf_compress_gnu (scn, 0, 0);
+
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+ if (elf_compress (scn, 0, 0) < 0)
+ return DWFL_E_LIBELF;
+
+ /* Reload Shdr in case section was just decompressed. */
+ GElf_Shdr shdr_mem;
+ shdr = gelf_getshdr (scn, &shdr_mem);
+ if (shdr == NULL)
+ return DWFL_E_LIBELF;
+
/* Fetch the section data that needs the relocations applied. */
Elf_Data *tdata = elf_rawdata (tscn, NULL);
if (tdata == NULL)
diff --git a/libebl/ChangeLog b/libebl/ChangeLog
index a1a10224..aa3d6867 100644
--- a/libebl/ChangeLog
+++ b/libebl/ChangeLog
@@ -1,3 +1,12 @@
+2016-01-09 Mark Wielaard <mjw@redhat.com>
+
+ * eblobjnote.c (ebl_object_note): Add brackets around if statement
+ body.
+
+2015-12-18 Mark Wielaard <mjw@redhat.com>
+
+ * eblopenbackend.c (default_debugscn_p): Also match .zdebug sections.
+
2015-12-08 Jose E. Marchesi <jose.marchesi@oracle.com>
* libebl.h: Prototype for ebl_ra_offset.
diff --git a/libebl/eblobjnote.c b/libebl/eblobjnote.c
index fa1eb93a..f80a1a57 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 Red Hat, Inc.
+ Copyright (C) 2002, 2007, 2009, 2011, 2015, 2016 Red Hat, Inc.
This file is part of elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2002.
@@ -43,189 +43,191 @@ ebl_object_note (Ebl *ebl, const char *name, uint32_t type,
uint32_t descsz, const char *desc)
{
if (! ebl->object_note (name, type, descsz, desc))
- /* The machine specific function did not know this type. */
+ {
+ /* The machine specific function did not know this type. */
- if (strcmp ("stapsdt", name) == 0)
- {
- if (type != 3)
- {
- printf (gettext ("unknown SDT version %u\n"), type);
- return;
- }
-
- /* Descriptor starts with three addresses, pc, base ref and
- semaphore. Then three zero terminated strings provider,
- name and arguments. */
-
- union
+ if (strcmp ("stapsdt", name) == 0)
{
- Elf64_Addr a64[3];
- Elf32_Addr a32[3];
- } addrs;
+ if (type != 3)
+ {
+ printf (gettext ("unknown SDT version %u\n"), type);
+ return;
+ }
- size_t addrs_size = gelf_fsize (ebl->elf, ELF_T_ADDR, 3, EV_CURRENT);
- if (descsz < addrs_size + 3)
- {
- invalid_sdt:
- printf (gettext ("invalid SDT probe descriptor\n"));
- return;
- }
+ /* Descriptor starts with three addresses, pc, base ref and
+ semaphore. Then three zero terminated strings provider,
+ name and arguments. */
- Elf_Data src =
+ union
{
- .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
- .d_buf = (void *) desc, .d_size = addrs_size
- };
-
- Elf_Data dst =
- {
- .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
- .d_buf = &addrs, .d_size = addrs_size
- };
-
- if (gelf_xlatetom (ebl->elf, &dst, &src,
- elf_getident (ebl->elf, NULL)[EI_DATA]) == NULL)
- {
- printf ("%s\n", elf_errmsg (-1));
- return;
- }
-
- const char *provider = desc + addrs_size;
- const char *pname = memchr (provider, '\0', desc + descsz - provider);
- if (pname == NULL)
- goto invalid_sdt;
-
- ++pname;
- const char *args = memchr (pname, '\0', desc + descsz - pname);
- if (args == NULL ||
- memchr (++args, '\0', desc + descsz - pname) != desc + descsz - 1)
- goto invalid_sdt;
-
- GElf_Addr pc;
- GElf_Addr base;
- GElf_Addr sem;
- if (gelf_getclass (ebl->elf) == ELFCLASS32)
- {
- pc = addrs.a32[0];
- base = addrs.a32[1];
- sem = addrs.a32[2];
- }
- else
- {
- pc = addrs.a64[0];
- base = addrs.a64[1];
- sem = addrs.a64[2];
- }
-
- printf (gettext (" PC: "));
- printf ("%#" PRIx64 ",", pc);
- printf (gettext (" Base: "));
- printf ("%#" PRIx64 ",", base);
- printf (gettext (" Semaphore: "));
- printf ("%#" PRIx64 "\n", sem);
- printf (gettext (" Provider: "));
- printf ("%s,", provider);
- printf (gettext (" Name: "));
- printf ("%s,", pname);
- printf (gettext (" Args: "));
- printf ("'%s'\n", args);
- return;
- }
-
- switch (type)
- {
- case NT_GNU_BUILD_ID:
- if (strcmp (name, "GNU") == 0 && descsz > 0)
- {
- printf (gettext (" Build ID: "));
- uint_fast32_t i;
- for (i = 0; i < descsz - 1; ++i)
- printf ("%02" PRIx8, (uint8_t) desc[i]);
- printf ("%02" PRIx8 "\n", (uint8_t) desc[i]);
- }
- break;
-
- case NT_GNU_GOLD_VERSION:
- if (strcmp (name, "GNU") == 0 && descsz > 0)
- /* A non-null terminated version string. */
- printf (gettext (" Linker version: %.*s\n"),
- (int) descsz, desc);
- break;
-
- case NT_GNU_ABI_TAG:
- if (strcmp (name, "GNU") == 0 && descsz >= 8 && descsz % 4 == 0)
- {
- Elf_Data in =
- {
- .d_version = EV_CURRENT,
- .d_type = ELF_T_WORD,
- .d_size = descsz,
- .d_buf = (void *) desc
- };
- /* Normally NT_GNU_ABI_TAG is just 4 words (16 bytes). If it
- is much (4*) larger dynamically allocate memory to convert. */
+ Elf64_Addr a64[3];
+ Elf32_Addr a32[3];
+ } addrs;
+
+ size_t addrs_size = gelf_fsize (ebl->elf, ELF_T_ADDR, 3, EV_CURRENT);
+ if (descsz < addrs_size + 3)
+ {
+ invalid_sdt:
+ printf (gettext ("invalid SDT probe descriptor\n"));
+ return;
+ }
+
+ Elf_Data src =
+ {
+ .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
+ .d_buf = (void *) desc, .d_size = addrs_size
+ };
+
+ Elf_Data dst =
+ {
+ .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
+ .d_buf = &addrs, .d_size = addrs_size
+ };
+
+ if (gelf_xlatetom (ebl->elf, &dst, &src,
+ elf_getident (ebl->elf, NULL)[EI_DATA]) == NULL)
+ {
+ printf ("%s\n", elf_errmsg (-1));
+ return;
+ }
+
+ const char *provider = desc + addrs_size;
+ const char *pname = memchr (provider, '\0', desc + descsz - provider);
+ if (pname == NULL)
+ goto invalid_sdt;
+
+ ++pname;
+ const char *args = memchr (pname, '\0', desc + descsz - pname);
+ if (args == NULL ||
+ memchr (++args, '\0', desc + descsz - pname) != desc + descsz - 1)
+ goto invalid_sdt;
+
+ GElf_Addr pc;
+ GElf_Addr base;
+ GElf_Addr sem;
+ if (gelf_getclass (ebl->elf) == ELFCLASS32)
+ {
+ pc = addrs.a32[0];
+ base = addrs.a32[1];
+ sem = addrs.a32[2];
+ }
+ else
+ {
+ pc = addrs.a64[0];
+ base = addrs.a64[1];
+ sem = addrs.a64[2];
+ }
+
+ printf (gettext (" PC: "));
+ printf ("%#" PRIx64 ",", pc);
+ printf (gettext (" Base: "));
+ printf ("%#" PRIx64 ",", base);
+ printf (gettext (" Semaphore: "));
+ printf ("%#" PRIx64 "\n", sem);
+ printf (gettext (" Provider: "));
+ printf ("%s,", provider);
+ printf (gettext (" Name: "));
+ printf ("%s,", pname);
+ printf (gettext (" Args: "));
+ printf ("'%s'\n", args);
+ return;
+ }
+
+ switch (type)
+ {
+ case NT_GNU_BUILD_ID:
+ if (strcmp (name, "GNU") == 0 && descsz > 0)
+ {
+ printf (gettext (" Build ID: "));
+ uint_fast32_t i;
+ for (i = 0; i < descsz - 1; ++i)
+ printf ("%02" PRIx8, (uint8_t) desc[i]);
+ printf ("%02" PRIx8 "\n", (uint8_t) desc[i]);
+ }
+ break;
+
+ case NT_GNU_GOLD_VERSION:
+ if (strcmp (name, "GNU") == 0 && descsz > 0)
+ /* A non-null terminated version string. */
+ printf (gettext (" Linker version: %.*s\n"),
+ (int) descsz, desc);
+ break;
+
+ case NT_GNU_ABI_TAG:
+ if (strcmp (name, "GNU") == 0 && descsz >= 8 && descsz % 4 == 0)
+ {
+ Elf_Data in =
+ {
+ .d_version = EV_CURRENT,
+ .d_type = ELF_T_WORD,
+ .d_size = descsz,
+ .d_buf = (void *) desc
+ };
+ /* Normally NT_GNU_ABI_TAG is just 4 words (16 bytes). If it
+ is much (4*) larger dynamically allocate memory to convert. */
#define FIXED_TAG_BYTES 16
- uint32_t sbuf[FIXED_TAG_BYTES];
- uint32_t *buf;
- if (unlikely (descsz / 4 > FIXED_TAG_BYTES))
- {
- buf = malloc (descsz);
- if (unlikely (buf == NULL))
- return;
- }
- else
- buf = sbuf;
- Elf_Data out =
- {
- .d_version = EV_CURRENT,
- .d_type = ELF_T_WORD,
- .d_size = descsz,
- .d_buf = buf
- };
-
- if (elf32_xlatetom (&out, &in, ebl->data) != NULL)
- {
- const char *os;
- switch (buf[0])
- {
- case ELF_NOTE_OS_LINUX:
- os = "Linux";
- break;
-
- case ELF_NOTE_OS_GNU:
- os = "GNU";
- break;
-
- case ELF_NOTE_OS_SOLARIS2:
- os = "Solaris";
- break;
-
- case ELF_NOTE_OS_FREEBSD:
- os = "FreeBSD";
- break;
-
- default:
- os = "???";
- break;
- }
-
- printf (gettext (" OS: %s, ABI: "), os);
- for (size_t cnt = 1; cnt < descsz / 4; ++cnt)
- {
- if (cnt > 1)
- putchar_unlocked ('.');
- printf ("%" PRIu32, buf[cnt]);
- }
- putchar_unlocked ('\n');
- }
- if (descsz / 4 > FIXED_TAG_BYTES)
- free (buf);
- break;
- }
- /* FALLTHROUGH */
-
- default:
- /* Unknown type. */
- break;
- }
+ uint32_t sbuf[FIXED_TAG_BYTES];
+ uint32_t *buf;
+ if (unlikely (descsz / 4 > FIXED_TAG_BYTES))
+ {
+ buf = malloc (descsz);
+ if (unlikely (buf == NULL))
+ return;
+ }
+ else
+ buf = sbuf;
+ Elf_Data out =
+ {
+ .d_version = EV_CURRENT,
+ .d_type = ELF_T_WORD,
+ .d_size = descsz,
+ .d_buf = buf
+ };
+
+ if (elf32_xlatetom (&out, &in, ebl->data) != NULL)
+ {
+ const char *os;
+ switch (buf[0])
+ {
+ case ELF_NOTE_OS_LINUX:
+ os = "Linux";
+ break;
+
+ case ELF_NOTE_OS_GNU:
+ os = "GNU";
+ break;
+
+ case ELF_NOTE_OS_SOLARIS2:
+ os = "Solaris";
+ break;
+
+ case ELF_NOTE_OS_FREEBSD:
+ os = "FreeBSD";
+ break;
+
+ default:
+ os = "???";
+ break;
+ }
+
+ printf (gettext (" OS: %s, ABI: "), os);
+ for (size_t cnt = 1; cnt < descsz / 4; ++cnt)
+ {
+ if (cnt > 1)
+ putchar_unlocked ('.');
+ printf ("%" PRIu32, buf[cnt]);
+ }
+ putchar_unlocked ('\n');
+ }
+ if (descsz / 4 > FIXED_TAG_BYTES)
+ free (buf);
+ break;
+ }
+ /* FALLTHROUGH */
+
+ default:
+ /* Unknown type. */
+ break;
+ }
+ }
}
diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c
index b3014005..372ef2a4 100644
--- a/libebl/eblopenbackend.c
+++ b/libebl/eblopenbackend.c
@@ -662,7 +662,9 @@ default_debugscn_p (const char *name)
const size_t ndwarf_scn_names = (sizeof (dwarf_scn_names)
/ sizeof (dwarf_scn_names[0]));
for (size_t cnt = 0; cnt < ndwarf_scn_names; ++cnt)
- if (strcmp (name, dwarf_scn_names[cnt]) == 0)
+ if (strcmp (name, dwarf_scn_names[cnt]) == 0
+ || (strncmp (name, ".zdebug", strlen (".zdebug")) == 0
+ && strcmp (&name[2], &dwarf_scn_names[cnt][1]) == 0))
return true;
return false;
diff --git a/libelf/Android.mk b/libelf/Android.mk
index 1c0195c4..53d47be4 100755
--- a/libelf/Android.mk
+++ b/libelf/Android.mk
@@ -17,6 +17,7 @@ LOCAL_PATH := $(call my-dir)
LIBELF_SRC_FILES := \
elf32_checksum.c \
elf32_fsize.c \
+ elf32_getchdr.c \
elf32_getehdr.c \
elf32_getphdr.c \
elf32_getshdr.c \
@@ -29,6 +30,7 @@ LIBELF_SRC_FILES := \
elf32_xlatetom.c \
elf64_checksum.c \
elf64_fsize.c \
+ elf64_getchdr.c \
elf64_getehdr.c \
elf64_getphdr.c \
elf64_getshdr.c \
@@ -42,6 +44,7 @@ LIBELF_SRC_FILES := \
elf_begin.c \
elf_clone.c \
elf_cntl.c \
+ elf_compress.c \
elf_end.c \
elf_error.c \
elf_fill.c \
@@ -82,6 +85,7 @@ LIBELF_SRC_FILES := \
gelf_checksum.c \
gelf_fsize.c \
gelf_getauxv.c \
+ gelf_getchdr.c \
gelf_getclass.c \
gelf_getdyn.c \
gelf_getehdr.c \
@@ -148,6 +152,8 @@ LOCAL_CFLAGS += -Wno-pointer-arith
LOCAL_MODULE := libelf
+LOCAL_STATIC_LIBRARIES := libz
+
LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH)
include $(BUILD_HOST_STATIC_LIBRARY)
@@ -171,6 +177,8 @@ LOCAL_C_INCLUDES := \
LOCAL_C_INCLUDES += $(LOCAL_PATH)/../bionic-fixup
+LOCAL_STATIC_LIBRARIES := libz
+
LOCAL_CFLAGS += -DHAVE_CONFIG_H -std=gnu99 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64
# to suppress the "pointer of type ‘void *’ used in arithmetic" warning
diff --git a/libelf/ChangeLog b/libelf/ChangeLog
index fbe8e3ae..afe6a6a5 100644
--- a/libelf/ChangeLog
+++ b/libelf/ChangeLog
@@ -1,3 +1,83 @@
+2016-01-22 Chih-Hung Hsieh <chh@google.com>
+
+ * elf_compress.c (__libelf_compress): Move nested function
+ 'do_deflate_cleanup' to file scope to compile with clang.
+ * elf_strptr.c (elf_strptr): Move nested function 'get_zdata'
+ to file scope to compile with clang.
+
+2016-01-13 Mark Wielaard <mjw@redhat.com>
+
+ * libelf.h: Check SHF_COMPRESSED is defined. If not define it and the
+ associated ELF compression types/defines.
+
+2015-11-26 Mark Wielaard <mjw@redhat.com>
+
+ * elf_compress.c (__libelf_decompress_elf): New function, extracted
+ from...
+ (elf_compress): here. Check zdata_base use __libelf_decompress_elf.
+ * elf_strptr.c (elf_strptr): If SHF_COMPRESSED check, uncompress and
+ use zdata.
+ * libelfP.h (struct Elf_Scn): Add zdata_size and zdata_align.
+ (__libelf_decompress_elf): New internal function definition.
+
+2015-10-21 Mark Wielaard <mjw@redhat.com>
+
+ * Makefile.am (libelf_a_SOURCES): Add elf_compress.c and
+ elf_compress_gnu.c.
+ * elf_compress.c: New file.
+ * elf_compress_gnu.c: Likewise.
+ * elf_begin.c (file_read_elf): Make a writable copy of the shdrs
+ for ELF_C_READ_MMAP.
+ * elf_end.c (elf_end): Free zdata_base.
+ * elf_error.c: Add ELF_E_ALREADY_COMPRESSED,
+ ELF_E_UNKNOWN_COMPRESSION_TYPE, ELF_E_COMPRESS_ERROR and
+ ELF_E_DECOMPRESS_ERROR.
+ * elf_data.c (__libelf_data_type): New internal function extracted
+ from convert_data.
+ (convert_data): Handle SHF_COMPRESSED.
+ * elf32_updatenull.c (updatenull_wrlock): Check sh_entsize against
+ uncompressed section data size if SHF_COMPRESSED.
+ * elf32_getshdr.c (load_shdr_wrlock): Adjust assert to account for
+ ELF_C_READ_MMAP.
+ * libelf.h: Define elf_compress and elf_compress_gnu.
+ * libelf.map (ELFUTILS_1.7): Add elf_compress and elf_compress_gnu.
+ * libelfP.h: Add ELF_E_ALREADY_COMPRESSED,
+ ELF_E_UNKNOWN_COMPRESSION_TYPE, ELF_E_COMPRESS_ERROR and
+ ELF_E_DECOMPRESS_ERROR. Define __libelf_data_type.
+ (__libelf_compress): New internal function definition.
+ (__libelf_decompress): Likewise.
+ (__libelf_reset_rawdata): Likewise.
+ (__libelf_data_type): Likewise.
+ (struct Elf_Scn): Add zdata_base.
+
+2015-11-19 Mark Wielaard <mjw@redhat.com>
+
+ * Makefile.am (libelf_a_SOURCES): Add elf32_getchdr.c,
+ elf64_getchdr.c and gelf_getchdr.c.
+ (noinst_HEADERS): Add chdr_xlate.h.
+ * abstract.h: Define Chdr32 and Chdr64.
+ * chdr_xlate.h: New file.
+ * elf32_getchdr.c: New file.
+ * elf64_getchdr.c: New file.
+ * elf_error.c: Add ELF_E_NOT_COMPRESSED, ELF_E_INVALID_SECTION_TYPE
+ and ELF_E_INVALID_SECTION_FLAGS.
+ * elf_getdata.c (__libelf_set_rawdata_wrlock): Set d_type to
+ ELF_T_CHDR for SHF_COMPRESSED sections.
+ * exttypes.h: Add Chdr32 and Chdr64.
+ * gelf.h (GElf_Chdr): New typedef.
+ (gelf_getchdr): New function definition.
+ * gelf_fsize.c (__libelf_type_sizes): Add ELF_T_CHDR.
+ * gelf_getchdr.c: New file.
+ * gelf_xlate.c (__elf_xfctstom): Add ELF_T_CHDR cvt_chdr.
+ * gelf_xlate.h: Add Chdr.
+ * libelf.h (Elf_Type): Add ELF_T_CHDR.
+ (elf32_getchdr): New function definition.
+ (elf64_getchdr): Likewise.
+ * libelf.map (ELFUTILS_1.7): New sections add elf32_getchdr,
+ elf64_getchdr and gelf_getchdr.
+ * libelfP.h: Add ELF_E_NOT_COMPRESSED, ELF_E_INVALID_SECTION_TYPE
+ and ELF_E_INVALID_SECTION_FLAGS.
+
2015-10-16 Mark Wielaard <mjw@redhat.com>
* Makefile.am (libelf_so_LDLIBS): Add -lz.
diff --git a/libelf/Makefile.am b/libelf/Makefile.am
index 4a4131c1..167a8322 100644
--- a/libelf/Makefile.am
+++ b/libelf/Makefile.am
@@ -1,6 +1,6 @@
## Process this file with automake to create Makefile.in
##
-## Copyright (C) 1996-2010 Red Hat, Inc.
+## Copyright (C) 1996-2010, 2015 Red Hat, Inc.
## This file is part of elfutils.
##
## This file is free software; you can redistribute it and/or modify
@@ -88,7 +88,9 @@ libelf_a_SOURCES = elf_version.c elf_hash.c elf_error.c elf_fill.c \
elf32_offscn.c elf64_offscn.c gelf_offscn.c \
elf_getaroff.c \
elf_gnu_hash.c \
- elf_scnshndx.c
+ elf_scnshndx.c \
+ elf32_getchdr.c elf64_getchdr.c gelf_getchdr.c \
+ elf_compress.c elf_compress_gnu.c
libelf_pic_a_SOURCES =
am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os)
@@ -118,7 +120,8 @@ uninstall: uninstall-am
rm -f $(DESTDIR)$(libdir)/libelf.so
noinst_HEADERS = elf.h abstract.h common.h exttypes.h gelf_xlate.h libelfP.h \
- version_xlate.h gnuhash_xlate.h note_xlate.h dl-hash.h
+ version_xlate.h gnuhash_xlate.h note_xlate.h dl-hash.h \
+ chdr_xlate.h
EXTRA_DIST = libelf.map
CLEANFILES += $(am_libelf_pic_a_OBJECTS) libelf.so.$(VERSION)
diff --git a/libelf/abstract.h b/libelf/abstract.h
index 53713eec..d4515f27 100644
--- a/libelf/abstract.h
+++ b/libelf/abstract.h
@@ -1,5 +1,5 @@
/* Abstract description of component ELF types.
- Copyright (C) 1998, 1999, 2000, 2002, 2004, 2007 Red Hat, Inc.
+ Copyright (C) 1998, 1999, 2000, 2002, 2004, 2007, 2015 Red Hat, Inc.
This file is part of elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 1998.
@@ -310,3 +310,21 @@ START (64, auxv_t, Ext##auxv_t) \
TYPE_XLATE (Elf64_cvt_Addr1 (&tdest->a_un.a_val, &tsrc->a_un.a_val);) \
TYPE_EXTRA (} a_un;) \
END (64, Ext##auxv_t)
+
+/* Note that there is actual compression data right after the Chdr.
+ So we also have a separate conversion function for the whole
+ section. */
+#define Chdr32(Ext) \
+START (32, Chdr, Ext##Chdr) \
+ TYPE_NAME (ElfW2(32, Ext##Word), ch_type) \
+ TYPE_NAME (ElfW2(32, Ext##Word), ch_size) \
+ TYPE_NAME (ElfW2(32, Ext##Word), ch_addralign) \
+END (32, Ext##Chdr)
+
+#define Chdr64(Ext) \
+START (64, Chdr, Ext##Chdr) \
+ TYPE_NAME (ElfW2(64, Ext##Word), ch_type) \
+ TYPE_NAME (ElfW2(64, Ext##Word), ch_reserved) \
+ TYPE_NAME (ElfW2(64, Ext##Xword), ch_size) \
+ TYPE_NAME (ElfW2(64, Ext##Xword), ch_addralign) \
+END (64, Ext##Chdr)
diff --git a/libelf/chdr_xlate.h b/libelf/chdr_xlate.h
new file mode 100644
index 00000000..70782b43
--- /dev/null
+++ b/libelf/chdr_xlate.h
@@ -0,0 +1,33 @@
+#include "common.h"
+
+/* These functions convert a while section, one Chdr plus compression data. */
+
+static void
+Elf32_cvt_chdr (void *dest, const void *src, size_t len, int encode)
+{
+ if (len == 0)
+ return;
+
+ /* Move everything over, if necessary, we only need to xlate the
+ header, not the compressed data following it. */
+ if (dest != src)
+ memmove (dest, src, len);
+
+ if (len >= sizeof (Elf32_Chdr))
+ Elf32_cvt_Chdr (dest, src, sizeof (Elf32_Chdr), encode);
+}
+
+static void
+Elf64_cvt_chdr (void *dest, const void *src, size_t len, int encode)
+{
+ if (len == 0)
+ return;
+
+ /* Move everything over, if necessary, we only need to xlate the
+ header, not the compressed data following it. */
+ if (dest != src)
+ memmove (dest, src, len);
+
+ if (len >= sizeof (Elf64_Chdr))
+ Elf64_cvt_Chdr (dest, src, sizeof (Elf64_Chdr), encode);
+}
diff --git a/libelf/elf32_getchdr.c b/libelf/elf32_getchdr.c
new file mode 100644
index 00000000..982a614c
--- /dev/null
+++ b/libelf/elf32_getchdr.c
@@ -0,0 +1,83 @@
+/* Return section compression header.
+ Copyright (C) 2015 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 <libelf.h>
+#include "libelfP.h"
+#include "common.h"
+
+#ifndef LIBELFBITS
+# define LIBELFBITS 32
+#endif
+
+
+ElfW2(LIBELFBITS,Chdr) *
+elfw2(LIBELFBITS,getchdr) (Elf_Scn *scn)
+{
+ ElfW2(LIBELFBITS,Shdr) *shdr = elfw2(LIBELFBITS,getshdr) (scn);
+ if (shdr == NULL)
+ return NULL;
+
+ /* Must have SHF_COMPRESSED flag set. Allocated or no bits sections
+ can never be compressed. */
+ if ((shdr->sh_flags & SHF_ALLOC) != 0)
+ {
+ __libelf_seterrno (ELF_E_INVALID_SECTION_FLAGS);
+ return NULL;
+ }
+
+ if (shdr->sh_type == SHT_NULL
+ || shdr->sh_type == SHT_NOBITS)
+ {
+ __libelf_seterrno (ELF_E_INVALID_SECTION_TYPE);
+ return NULL;
+ }
+
+ if ((shdr->sh_flags & SHF_COMPRESSED) == 0)
+ {
+ __libelf_seterrno (ELF_E_NOT_COMPRESSED);
+ return NULL;
+ }
+
+ /* This makes sure the data is in the correct format, so we don't
+ need to swap fields. */
+ Elf_Data *d = elf_getdata (scn, NULL);
+ if (d == NULL)
+ return NULL;
+
+ if (d->d_size < sizeof (ElfW2(LIBELFBITS,Chdr)) || d->d_buf == NULL)
+ {
+ __libelf_seterrno (ELF_E_INVALID_DATA);
+ return NULL;
+ }
+
+ return (ElfW2(LIBELFBITS,Chdr) *) d->d_buf;
+}
diff --git a/libelf/elf32_getshdr.c b/libelf/elf32_getshdr.c
index 3a6375c1..237d9122 100644
--- a/libelf/elf32_getshdr.c
+++ b/libelf/elf32_getshdr.c
@@ -99,6 +99,7 @@ load_shdr_wrlock (Elf_Scn *scn)
assert ((elf->flags & ELF_F_MALLOCED)
|| ehdr->e_ident[EI_DATA] != MY_ELFDATA
+ || elf->cmd == ELF_C_READ_MMAP
|| (! ALLOW_UNALIGNED
&& ((uintptr_t) file_shdr
& (__alignof__ (ElfW2(LIBELFBITS,Shdr)) - 1)) != 0));
@@ -106,7 +107,9 @@ load_shdr_wrlock (Elf_Scn *scn)
/* Now copy the data and at the same time convert the byte order. */
if (ehdr->e_ident[EI_DATA] == MY_ELFDATA)
{
- assert ((elf->flags & ELF_F_MALLOCED) || ! ALLOW_UNALIGNED);
+ assert ((elf->flags & ELF_F_MALLOCED)
+ || elf->cmd == ELF_C_READ_MMAP
+ || ! ALLOW_UNALIGNED);
memcpy (shdr, file_shdr, size);
}
else
diff --git a/libelf/elf32_updatenull.c b/libelf/elf32_updatenull.c
index d3754d32..03de0321 100644
--- a/libelf/elf32_updatenull.c
+++ b/libelf/elf32_updatenull.c
@@ -382,12 +382,27 @@ __elfw2(LIBELFBITS,updatenull_wrlock) (Elf *elf, int *change_bop, size_t shnum)
/* Check that the section size is actually a multiple of
the entry size. */
- if (shdr->sh_entsize != 0
- && unlikely (shdr->sh_size % shdr->sh_entsize != 0)
+ if (shdr->sh_entsize != 0 && shdr->sh_entsize != 1
&& (elf->flags & ELF_F_PERMISSIVE) == 0)
{
- __libelf_seterrno (ELF_E_INVALID_SHENTSIZE);
- return -1;
+ /* For compressed sections check the uncompressed size. */
+ ElfW2(LIBELFBITS,Word) sh_size;
+ if ((shdr->sh_flags & SHF_COMPRESSED) == 0)
+ sh_size = shdr->sh_size;
+ else
+ {
+ ElfW2(LIBELFBITS,Chdr) *chdr;
+ chdr = elfw2(LIBELFBITS,getchdr) (scn);
+ if (unlikely (chdr == NULL))
+ return -1;
+ sh_size = chdr->ch_size;
+ }
+
+ if (unlikely (sh_size % shdr->sh_entsize != 0))
+ {
+ __libelf_seterrno (ELF_E_INVALID_SHENTSIZE);
+ return -1;
+ }
}
}
diff --git a/libelf/elf64_getchdr.c b/libelf/elf64_getchdr.c
new file mode 100644
index 00000000..6588b791
--- /dev/null
+++ b/libelf/elf64_getchdr.c
@@ -0,0 +1,30 @@
+/* Return section compression header.
+ Copyright (C) 2015 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/>. */
+
+#define LIBELFBITS 64
+#include "elf32_getchdr.c"
diff --git a/libelf/elf_begin.c b/libelf/elf_begin.c
index d2920c4e..147f5f4b 100644
--- a/libelf/elf_begin.c
+++ b/libelf/elf_begin.c
@@ -340,6 +340,7 @@ file_read_elf (int fildes, void *map_address, unsigned char *e_ident,
Elf32_Off e_shoff = elf->state.elf32.ehdr->e_shoff;
if (map_address != NULL && e_ident[EI_DATA] == MY_ELFDATA
+ && cmd != ELF_C_READ_MMAP /* We need a copy to be able to write. */
&& (ALLOW_UNALIGNED
|| (((uintptr_t) ((char *) ehdr + e_shoff)
& (__alignof__ (Elf32_Shdr) - 1)) == 0)))
@@ -441,6 +442,7 @@ file_read_elf (int fildes, void *map_address, unsigned char *e_ident,
Elf64_Off e_shoff = elf->state.elf64.ehdr->e_shoff;
if (map_address != NULL && e_ident[EI_DATA] == MY_ELFDATA
+ && cmd != ELF_C_READ_MMAP /* We need a copy to be able to write. */
&& (ALLOW_UNALIGNED
|| (((uintptr_t) ((char *) ehdr + e_shoff)
& (__alignof__ (Elf64_Shdr) - 1)) == 0)))
diff --git a/libelf/elf_compress.c b/libelf/elf_compress.c
new file mode 100644
index 00000000..4c7c35e1
--- /dev/null
+++ b/libelf/elf_compress.c
@@ -0,0 +1,516 @@
+/* Compress or decompress a section.
+ Copyright (C) 2015 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 <libelf.h>
+#include "libelfP.h"
+#include "common.h"
+
+#include <stddef.h>
+#include <stdlib.h>
+#include <string.h>
+#include <sys/param.h>
+#include <unistd.h>
+#include <zlib.h>
+
+#ifndef MAX
+# define MAX(a, b) ((a) > (b) ? (a) : (b))
+#endif
+
+/* Cleanup and return result. Don't leak memory. */
+static void *
+do_deflate_cleanup (void *result, z_stream *z, void *out_buf,
+ int ei_data, Elf_Data *cdatap)
+{
+ deflateEnd (z);
+ free (out_buf);
+ if (ei_data != MY_ELFDATA)
+ free (cdatap->d_buf);
+ return result;
+}
+
+#define deflate_cleanup(result) \
+ do_deflate_cleanup(result, &z, out_buf, ei_data, &cdata)
+
+/* Given a section, uses the (in-memory) Elf_Data to extract the
+ original data size (including the given header size) and data
+ alignment. Returns a buffer that has at least hsize bytes (for the
+ caller to fill in with a header) plus zlib compressed date. Also
+ returns the new buffer size in new_size (hsize + compressed data
+ size). Returns (void *) -1 when FORCE is false and the compressed
+ data would be bigger than the original data. */
+void *
+internal_function
+__libelf_compress (Elf_Scn *scn, size_t hsize, int ei_data,
+ size_t *orig_size, size_t *orig_addralign,
+ size_t *new_size, bool force)
+{
+ /* The compressed data is the on-disk data. We simplify the
+ implementation a bit by asking for the (converted) in-memory
+ data (which might be all there is if the user created it with
+ elf_newdata) and then convert back to raw if needed before
+ compressing. Should be made a bit more clever to directly
+ use raw if that is directly available. */
+ Elf_Data *data = elf_getdata (scn, NULL);
+ if (data == NULL)
+ return NULL;
+
+ /* When not forced and we immediately know we would use more data by
+ compressing, because of the header plus zlib overhead (five bytes
+ per 16 KB block, plus a one-time overhead of six bytes for the
+ entire stream), don't do anything. */
+ Elf_Data *next_data = elf_getdata (scn, data);
+ if (next_data == NULL && !force
+ && data->d_size <= hsize + 5 + 6)
+ return (void *) -1;
+
+ *orig_addralign = data->d_align;
+ *orig_size = data->d_size;
+
+ /* Guess an output block size. 1/8th of the original Elf_Data plus
+ hsize. Make the first chunk twice that size (25%), then increase
+ by a block (12.5%) when necessary. */
+ size_t block = (data->d_size / 8) + hsize;
+ size_t out_size = 2 * block;
+ void *out_buf = malloc (out_size);
+ if (out_buf == NULL)
+ {
+ __libelf_seterrno (ELF_E_NOMEM);
+ return NULL;
+ }
+
+ /* Caller gets to fill in the header at the start. Just skip it here. */
+ size_t used = hsize;
+
+ z_stream z;
+ z.zalloc = Z_NULL;
+ z.zfree = Z_NULL;
+ z.opaque = Z_NULL;
+ int zrc = deflateInit (&z, Z_BEST_COMPRESSION);
+ if (zrc != Z_OK)
+ {
+ __libelf_seterrno (ELF_E_COMPRESS_ERROR);
+ return NULL;
+ }
+
+ Elf_Data cdata;
+ cdata.d_buf = NULL;
+
+ /* Loop over data buffers. */
+ int flush = Z_NO_FLUSH;
+ do
+ {
+ /* Convert to raw if different endianess. */
+ cdata = *data;
+ if (ei_data != MY_ELFDATA)
+ {
+ /* Don't do this conversion in place, we might want to keep
+ the original data around, caller decides. */
+ cdata.d_buf = malloc (data->d_size);
+ if (cdata.d_buf == NULL)
+ {
+ __libelf_seterrno (ELF_E_NOMEM);
+ return deflate_cleanup (NULL);
+ }
+ if (gelf_xlatetof (scn->elf, &cdata, data, ei_data) == NULL)
+ return deflate_cleanup (NULL);
+ }
+
+ z.avail_in = cdata.d_size;
+ z.next_in = cdata.d_buf;
+
+ /* Get next buffer to see if this is the last one. */
+ data = next_data;
+ if (data != NULL)
+ {
+ *orig_addralign = MAX (*orig_addralign, data->d_align);
+ *orig_size += data->d_size;
+ next_data = elf_getdata (scn, data);
+ }
+ else
+ flush = Z_FINISH;
+
+ /* Flush one data buffer. */
+ do
+ {
+ z.avail_out = out_size - used;
+ z.next_out = out_buf + used;
+ zrc = deflate (&z, flush);
+ if (zrc == Z_STREAM_ERROR)
+ {
+ __libelf_seterrno (ELF_E_COMPRESS_ERROR);
+ return deflate_cleanup (NULL);
+ }
+ used += (out_size - used) - z.avail_out;
+
+ /* Bail out if we are sure the user doesn't want the
+ compression forced and we are using more compressed data
+ than original data. */
+ if (!force && flush == Z_FINISH && used >= *orig_size)
+ return deflate_cleanup ((void *) -1);
+
+ if (z.avail_out == 0)
+ {
+ void *bigger = realloc (out_buf, out_size + block);
+ if (bigger == NULL)
+ {
+ __libelf_seterrno (ELF_E_NOMEM);
+ return deflate_cleanup (NULL);
+ }
+ out_buf = bigger;
+ out_size += block;
+ }
+ }
+ while (z.avail_out == 0); /* Need more output buffer. */
+
+ if (ei_data != MY_ELFDATA)
+ {
+ free (cdata.d_buf);
+ cdata.d_buf = NULL;
+ }
+ }
+ while (flush != Z_FINISH); /* More data blocks. */
+
+ zrc = deflateEnd (&z);
+ if (zrc != Z_OK)
+ {
+ __libelf_seterrno (ELF_E_COMPRESS_ERROR);
+ return deflate_cleanup (NULL);
+ }
+
+ *new_size = used;
+ return out_buf;
+}
+
+void *
+internal_function
+__libelf_decompress (void *buf_in, size_t size_in, size_t size_out)
+{
+ void *buf_out = malloc (size_out);
+ if (unlikely (buf_out == NULL))
+ {
+ __libelf_seterrno (ELF_E_NOMEM);
+ return NULL;
+ }
+
+ z_stream z =
+ {
+ .next_in = buf_in,
+ .avail_in = size_in,
+ .next_out = buf_out,
+ .avail_out = size_out
+ };
+ int zrc = inflateInit (&z);
+ while (z.avail_in > 0 && likely (zrc == Z_OK))
+ {
+ z.next_out = buf_out + (size_out - z.avail_out);
+ zrc = inflate (&z, Z_FINISH);
+ if (unlikely (zrc != Z_STREAM_END))
+ {
+ zrc = Z_DATA_ERROR;
+ break;
+ }
+ zrc = inflateReset (&z);
+ }
+ if (likely (zrc == Z_OK))
+ zrc = inflateEnd (&z);
+
+ if (unlikely (zrc != Z_OK) || unlikely (z.avail_out != 0))
+ {
+ free (buf_out);
+ __libelf_seterrno (ELF_E_DECOMPRESS_ERROR);
+ return NULL;
+ }
+
+ return buf_out;
+}
+
+void *
+internal_function
+__libelf_decompress_elf (Elf_Scn *scn, size_t *size_out, size_t *addralign)
+{
+ GElf_Chdr chdr;
+ if (gelf_getchdr (scn, &chdr) == NULL)
+ return NULL;
+
+ if (chdr.ch_type != ELFCOMPRESS_ZLIB)
+ {
+ __libelf_seterrno (ELF_E_UNKNOWN_COMPRESSION_TYPE);
+ return NULL;
+ }
+
+ if (! powerof2 (chdr.ch_addralign))
+ {
+ __libelf_seterrno (ELF_E_INVALID_ALIGN);
+ return NULL;
+ }
+
+ /* Take the in-memory representation, so we can even handle a
+ section that has just been constructed (maybe it was copied
+ over from some other ELF file first with elf_newdata). This
+ is slightly inefficient when the raw data needs to be
+ converted since then we'll be converting the whole buffer and
+ not just Chdr. */
+ Elf_Data *data = elf_getdata (scn, NULL);
+ if (data == NULL)
+ return NULL;
+
+ int elfclass = scn->elf->class;
+ size_t hsize = (elfclass == ELFCLASS32
+ ? sizeof (Elf32_Chdr) : sizeof (Elf64_Chdr));
+ size_t size_in = data->d_size - hsize;
+ void *buf_in = data->d_buf + hsize;
+ void *buf_out = __libelf_decompress (buf_in, size_in, chdr.ch_size);
+ *size_out = chdr.ch_size;
+ *addralign = chdr.ch_addralign;
+ return buf_out;
+}
+
+void
+internal_function
+__libelf_reset_rawdata (Elf_Scn *scn, void *buf, size_t size, size_t align,
+ Elf_Type type)
+{
+ /* This is the new raw data, replace and possibly free old data. */
+ scn->rawdata.d.d_off = 0;
+ scn->rawdata.d.d_version = __libelf_version;
+ scn->rawdata.d.d_buf = buf;
+ scn->rawdata.d.d_size = size;
+ scn->rawdata.d.d_align = align;
+ scn->rawdata.d.d_type = type;
+
+ /* Existing existing data is no longer valid. */
+ scn->data_list_rear = NULL;
+ if (scn->data_base != scn->rawdata_base)
+ free (scn->data_base);
+ scn->data_base = NULL;
+ if (scn->elf->map_address == NULL
+ || scn->rawdata_base == scn->zdata_base)
+ free (scn->rawdata_base);
+
+ scn->rawdata_base = buf;
+}
+
+int
+elf_compress (Elf_Scn *scn, int type, unsigned int flags)
+{
+ if (scn == NULL)
+ return -1;
+
+ if ((flags & ~ELF_CHF_FORCE) != 0)
+ {
+ __libelf_seterrno (ELF_E_INVALID_OPERAND);
+ return -1;
+ }
+
+ bool force = (flags & ELF_CHF_FORCE) != 0;
+
+ Elf *elf = scn->elf;
+ GElf_Ehdr ehdr;
+ if (gelf_getehdr (elf, &ehdr) == NULL)
+ return -1;
+
+ int elfclass = elf->class;
+ int elfdata = ehdr.e_ident[EI_DATA];
+
+ Elf64_Xword sh_flags;
+ Elf64_Word sh_type;
+ Elf64_Xword sh_addralign;
+ if (elfclass == ELFCLASS32)
+ {
+ Elf32_Shdr *shdr = elf32_getshdr (scn);
+ if (shdr == NULL)
+ return -1;
+
+ sh_flags = shdr->sh_flags;
+ sh_type = shdr->sh_type;
+ sh_addralign = shdr->sh_addralign;
+ }
+ else
+ {
+ Elf64_Shdr *shdr = elf64_getshdr (scn);
+ if (shdr == NULL)
+ return -1;
+
+ sh_flags = shdr->sh_flags;
+ sh_type = shdr->sh_type;
+ sh_addralign = shdr->sh_addralign;
+ }
+
+ if ((sh_flags & SHF_ALLOC) != 0)
+ {
+ __libelf_seterrno (ELF_E_INVALID_SECTION_FLAGS);
+ return -1;
+ }
+
+ if (sh_type == SHT_NULL || sh_type == SHT_NOBITS)
+ {
+ __libelf_seterrno (ELF_E_INVALID_SECTION_TYPE);
+ return -1;
+ }
+
+ int compressed = (sh_flags & SHF_COMPRESSED);
+ if (type == ELFCOMPRESS_ZLIB)
+ {
+ /* Compress/Deflate. */
+ if (compressed == 1)
+ {
+ __libelf_seterrno (ELF_E_ALREADY_COMPRESSED);
+ return -1;
+ }
+
+ size_t hsize = (elfclass == ELFCLASS32
+ ? sizeof (Elf32_Chdr) : sizeof (Elf64_Chdr));
+ size_t orig_size, orig_addralign, new_size;
+ void *out_buf = __libelf_compress (scn, hsize, elfdata,
+ &orig_size, &orig_addralign,
+ &new_size, force);
+
+ /* Compression would make section larger, don't change anything. */
+ if (out_buf == (void *) -1)
+ return 0;
+
+ /* Compression failed, return error. */
+ if (out_buf == NULL)
+ return -1;
+
+ /* Put the header in front of the data. */
+ if (elfclass == ELFCLASS32)
+ {
+ Elf32_Chdr chdr;
+ chdr.ch_type = ELFCOMPRESS_ZLIB;
+ chdr.ch_size = orig_size;
+ chdr.ch_addralign = orig_addralign;
+ if (elfdata != MY_ELFDATA)
+ {
+ CONVERT (chdr.ch_type);
+ CONVERT (chdr.ch_size);
+ CONVERT (chdr.ch_addralign);
+ }
+ memcpy (out_buf, &chdr, sizeof (Elf32_Chdr));
+ }
+ else
+ {
+ Elf64_Chdr chdr;
+ chdr.ch_type = ELFCOMPRESS_ZLIB;
+ chdr.ch_reserved = 0;
+ chdr.ch_size = orig_size;
+ chdr.ch_addralign = sh_addralign;
+ if (elfdata != MY_ELFDATA)
+ {
+ CONVERT (chdr.ch_type);
+ CONVERT (chdr.ch_reserved);
+ CONVERT (chdr.ch_size);
+ CONVERT (chdr.ch_addralign);
+ }
+ memcpy (out_buf, &chdr, sizeof (Elf64_Chdr));
+ }
+
+ /* Note we keep the sh_entsize as is, we assume it is setup
+ correctly and ignored when SHF_COMPRESSED is set. */
+ if (elfclass == ELFCLASS32)
+ {
+ Elf32_Shdr *shdr = elf32_getshdr (scn);
+ shdr->sh_size = new_size;
+ shdr->sh_addralign = 1;
+ shdr->sh_flags |= SHF_COMPRESSED;
+ }
+ else
+ {
+ Elf64_Shdr *shdr = elf64_getshdr (scn);
+ shdr->sh_size = new_size;
+ shdr->sh_addralign = 1;
+ shdr->sh_flags |= SHF_COMPRESSED;
+ }
+
+ __libelf_reset_rawdata (scn, out_buf, new_size, 1, ELF_T_CHDR);
+
+ /* The section is now compressed, we could keep the uncompressed
+ data around, but since that might have been multiple Elf_Data
+ buffers let the user uncompress it explicitly again if they
+ want it to simplify bookkeeping. */
+ scn->zdata_base = NULL;
+
+ return 1;
+ }
+ else if (type == 0)
+ {
+ /* Decompress/Inflate. */
+ if (compressed == 0)
+ {
+ __libelf_seterrno (ELF_E_NOT_COMPRESSED);
+ return -1;
+ }
+
+ /* If the data is already decompressed (by elf_strptr), then we
+ only need to setup the rawdata and section header. XXX what
+ about elf_newdata? */
+ if (scn->zdata_base == NULL)
+ {
+ size_t size_out, addralign;
+ void *buf_out = __libelf_decompress_elf (scn, &size_out, &addralign);
+ if (buf_out == NULL)
+ return -1;
+
+ scn->zdata_base = buf_out;
+ scn->zdata_size = size_out;
+ scn->zdata_align = addralign;
+ }
+
+ /* Note we keep the sh_entsize as is, we assume it is setup
+ correctly and ignored when SHF_COMPRESSED is set. */
+ if (elfclass == ELFCLASS32)
+ {
+ Elf32_Shdr *shdr = elf32_getshdr (scn);
+ shdr->sh_size = scn->zdata_size;
+ shdr->sh_addralign = scn->zdata_align;
+ shdr->sh_flags &= ~SHF_COMPRESSED;
+ }
+ else
+ {
+ Elf64_Shdr *shdr = elf64_getshdr (scn);
+ shdr->sh_size = scn->zdata_size;
+ shdr->sh_addralign = scn->zdata_align;
+ shdr->sh_flags &= ~SHF_COMPRESSED;
+ }
+
+ __libelf_reset_rawdata (scn, scn->zdata_base,
+ scn->zdata_size, scn->zdata_align,
+ __libelf_data_type (elf, sh_type));
+
+ return 1;
+ }
+ else
+ {
+ __libelf_seterrno (ELF_E_UNKNOWN_COMPRESSION_TYPE);
+ return -1;
+ }
+}
diff --git a/libelf/elf_compress_gnu.c b/libelf/elf_compress_gnu.c
new file mode 100644
index 00000000..c35dc395
--- /dev/null
+++ b/libelf/elf_compress_gnu.c
@@ -0,0 +1,208 @@
+/* Compress or decompress a section.
+ Copyright (C) 2015 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 <libelf.h>
+#include "libelfP.h"
+#include "common.h"
+
+int
+elf_compress_gnu (Elf_Scn *scn, int inflate, unsigned int flags)
+{
+ if (scn == NULL)
+ return -1;
+
+ if ((flags & ~ELF_CHF_FORCE) != 0)
+ {
+ __libelf_seterrno (ELF_E_INVALID_OPERAND);
+ return -1;
+ }
+
+ bool force = (flags & ELF_CHF_FORCE) != 0;
+
+ Elf *elf = scn->elf;
+ GElf_Ehdr ehdr;
+ if (gelf_getehdr (elf, &ehdr) == NULL)
+ return -1;
+
+ int elfclass = elf->class;
+ int elfdata = ehdr.e_ident[EI_DATA];
+
+ Elf64_Xword sh_flags;
+ Elf64_Word sh_type;
+ Elf64_Xword sh_addralign;
+ if (elfclass == ELFCLASS32)
+ {
+ Elf32_Shdr *shdr = elf32_getshdr (scn);
+ if (shdr == NULL)
+ return -1;
+
+ sh_flags = shdr->sh_flags;
+ sh_type = shdr->sh_type;
+ sh_addralign = shdr->sh_addralign;
+ }
+ else
+ {
+ Elf64_Shdr *shdr = elf64_getshdr (scn);
+ if (shdr == NULL)
+ return -1;
+
+ sh_flags = shdr->sh_flags;
+ sh_type = shdr->sh_type;
+ sh_addralign = shdr->sh_addralign;
+ }
+
+ if ((sh_flags & SHF_ALLOC) != 0)
+ {
+ __libelf_seterrno (ELF_E_INVALID_SECTION_FLAGS);
+ return -1;
+ }
+
+ if (sh_type == SHT_NULL || sh_type == SHT_NOBITS)
+ {
+ __libelf_seterrno (ELF_E_INVALID_SECTION_TYPE);
+ return -1;
+ }
+
+ /* For GNU compression we cannot really know whether the section is
+ already compressed or not. Just try and see what happens... */
+ // int compressed = (sh_flags & SHF_COMPRESSED);
+ if (inflate == 1)
+ {
+ size_t hsize = 4 + 8; /* GNU "ZLIB" + 8 byte size. */
+ size_t orig_size, new_size, orig_addralign;
+ void *out_buf = __libelf_compress (scn, hsize, elfdata,
+ &orig_size, &orig_addralign,
+ &new_size, force);
+
+ /* Compression would make section larger, don't change anything. */
+ if (out_buf == (void *) -1)
+ return 0;
+
+ /* Compression failed, return error. */
+ if (out_buf == NULL)
+ return -1;
+
+ uint64_t be64_size = htobe64 (orig_size);
+ memmove (out_buf, "ZLIB", 4);
+ memmove (out_buf + 4, &be64_size, sizeof (be64_size));
+
+ /* We don't know anything about sh_entsize, sh_addralign and
+ sh_flags won't have a SHF_COMPRESSED hint in the GNU format.
+ Just adjust the sh_size. */
+ if (elfclass == ELFCLASS32)
+ {
+ Elf32_Shdr *shdr = elf32_getshdr (scn);
+ shdr->sh_size = new_size;
+ }
+ else
+ {
+ Elf64_Shdr *shdr = elf64_getshdr (scn);
+ shdr->sh_size = new_size;
+ }
+
+ __libelf_reset_rawdata (scn, out_buf, new_size, 1, ELF_T_BYTE);
+
+ /* The section is now compressed, we could keep the uncompressed
+ data around, but since that might have been multiple Elf_Data
+ buffers let the user uncompress it explicitly again if they
+ want it to simplify bookkeeping. */
+ scn->zdata_base = NULL;
+
+ return 1;
+ }
+ 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);
+ if (data == NULL)
+ return -1;
+
+ size_t hsize = 4 + 8; /* GNU "ZLIB" + 8 byte size. */
+ if (data->d_size < hsize || memcmp (data->d_buf, "ZLIB", 4) != 0)
+ {
+ __libelf_seterrno (ELF_E_NOT_COMPRESSED);
+ return -1;
+ }
+
+ /* There is a 12-byte header of "ZLIB" followed by
+ an 8-byte big-endian size. There is only one type and
+ Alignment isn't preserved separately. */
+ uint64_t gsize;
+ memcpy (&gsize, data->d_buf + 4, sizeof gsize);
+ gsize = be64toh (gsize);
+
+ /* One more sanity check, size should be bigger than original
+ data size plus some overhead (4 chars ZLIB + 8 bytes size + 6
+ bytes zlib stream overhead + 5 bytes overhead max for one 16K
+ block) and should fit into a size_t. */
+ if (gsize + 4 + 8 + 6 + 5 < data->d_size || gsize > SIZE_MAX)
+ {
+ __libelf_seterrno (ELF_E_NOT_COMPRESSED);
+ return -1;
+ }
+
+ size_t size = gsize;
+ size_t size_in = data->d_size - hsize;
+ void *buf_in = data->d_buf + hsize;
+ void *buf_out = __libelf_decompress (buf_in, size_in, size);
+ if (buf_out == NULL)
+ return -1;
+
+ /* We don't know anything about sh_entsize, sh_addralign and
+ sh_flags won't have a SHF_COMPRESSED hint in the GNU format.
+ Just adjust the sh_size. */
+ if (elfclass == ELFCLASS32)
+ {
+ Elf32_Shdr *shdr = elf32_getshdr (scn);
+ shdr->sh_size = size;
+ }
+ else
+ {
+ Elf64_Shdr *shdr = elf64_getshdr (scn);
+ shdr->sh_size = size;
+ }
+
+ __libelf_reset_rawdata (scn, buf_out, size, sh_addralign,
+ __libelf_data_type (elf, sh_type));
+
+ scn->zdata_base = buf_out;
+
+ return 1;
+ }
+ else
+ {
+ __libelf_seterrno (ELF_E_UNKNOWN_COMPRESSION_TYPE);
+ return -1;
+ }
+}
diff --git a/libelf/elf_end.c b/libelf/elf_end.c
index 7ea876c3..fde17b50 100644
--- a/libelf/elf_end.c
+++ b/libelf/elf_end.c
@@ -150,6 +150,12 @@ elf_end (Elf *elf)
/* It doesn't matter which pointer. */
free (scn->shdr.e32);
+ /* Free zdata if uncompressed, but not yet used as
+ rawdata_base. If it is already used it will be
+ freed below. */
+ if (scn->zdata_base != scn->rawdata_base)
+ free (scn->zdata_base);
+
/* If the file has the same byte order and the
architecture doesn't require overly stringent
alignment the raw data buffer is the same as the
@@ -158,8 +164,9 @@ elf_end (Elf *elf)
free (scn->data_base);
/* The section data is allocated if we couldn't mmap
- the file. */
- if (elf->map_address == NULL)
+ the file. Or if we had to decompress. */
+ if (elf->map_address == NULL
+ || scn->rawdata_base == scn->zdata_base)
free (scn->rawdata_base);
/* Free the list of data buffers for the section.
diff --git a/libelf/elf_error.c b/libelf/elf_error.c
index d6bdaab0..888b389a 100644
--- a/libelf/elf_error.c
+++ b/libelf/elf_error.c
@@ -230,6 +230,41 @@ core files")
(ELF_E_NO_PHDR_IDX \
+ sizeof "file has no program header")
N_("invalid offset")
+ "\0"
+#define ELF_E_INVALID_SECTION_TYPE_IDX \
+ (ELF_E_INVALID_OFFSET_IDX \
+ + sizeof "invalid offset")
+ N_("invalid section type")
+ "\0"
+#define ELF_E_INVALID_SECTION_FLAGS_IDX \
+ (ELF_E_INVALID_SECTION_TYPE_IDX \
+ + sizeof "invalid section type")
+ N_("invalid section flags")
+ "\0"
+#define ELF_E_NOT_COMPRESSED_IDX \
+ (ELF_E_INVALID_SECTION_FLAGS_IDX \
+ + sizeof "invalid section flags")
+ N_("section does not contain compressed data")
+ "\0"
+#define ELF_E_ALREADY_COMPRESSED_IDX \
+ (ELF_E_NOT_COMPRESSED_IDX \
+ + sizeof "section does not contain compressed data")
+ N_("section contains compressed data")
+ "\0"
+#define ELF_E_UNKNOWN_COMPRESSION_TYPE_IDX \
+ (ELF_E_ALREADY_COMPRESSED_IDX \
+ + sizeof "section contains compressed data")
+ N_("unknown compression type")
+ "\0"
+#define ELF_E_COMPRESS_ERROR_IDX \
+ (ELF_E_UNKNOWN_COMPRESSION_TYPE_IDX \
+ + sizeof "unknown compression type")
+ N_("cannot compress data")
+ "\0"
+#define ELF_E_DECOMPRESS_ERROR_IDX \
+ (ELF_E_COMPRESS_ERROR_IDX \
+ + sizeof "cannot compress data")
+ N_("cannot decompress data")
};
@@ -277,7 +312,14 @@ static const uint_fast16_t msgidx[ELF_E_NUM] =
[ELF_E_GROUP_NOT_REL] = ELF_E_GROUP_NOT_REL_IDX,
[ELF_E_INVALID_PHDR] = ELF_E_INVALID_PHDR_IDX,
[ELF_E_NO_PHDR] = ELF_E_NO_PHDR_IDX,
- [ELF_E_INVALID_OFFSET] = ELF_E_INVALID_OFFSET_IDX
+ [ELF_E_INVALID_OFFSET] = ELF_E_INVALID_OFFSET_IDX,
+ [ELF_E_INVALID_SECTION_TYPE] = ELF_E_INVALID_SECTION_TYPE_IDX,
+ [ELF_E_INVALID_SECTION_FLAGS] = ELF_E_INVALID_SECTION_FLAGS_IDX,
+ [ELF_E_NOT_COMPRESSED] = ELF_E_NOT_COMPRESSED_IDX,
+ [ELF_E_ALREADY_COMPRESSED] = ELF_E_ALREADY_COMPRESSED_IDX,
+ [ELF_E_UNKNOWN_COMPRESSION_TYPE] = ELF_E_UNKNOWN_COMPRESSION_TYPE_IDX,
+ [ELF_E_COMPRESS_ERROR] = ELF_E_COMPRESS_ERROR_IDX,
+ [ELF_E_DECOMPRESS_ERROR] = ELF_E_DECOMPRESS_ERROR_IDX
};
#define nmsgidx ((int) (sizeof (msgidx) / sizeof (msgidx[0])))
diff --git a/libelf/elf_getdata.c b/libelf/elf_getdata.c
index 9a567e51..4ec94b98 100644
--- a/libelf/elf_getdata.c
+++ b/libelf/elf_getdata.c
@@ -106,6 +106,7 @@ const uint_fast8_t __libelf_type_aligns[EV_NUM - 1][ELFCLASSNUM - 1][ELF_T_NUM]
[ELF_T_NHDR] = __alignof__ (ElfW2(Bits,Nhdr)), \
[ELF_T_GNUHASH] = __alignof__ (Elf32_Word), \
[ELF_T_AUXV] = __alignof__ (ElfW2(Bits,auxv_t)), \
+ [ELF_T_CHDR] = __alignof__ (ElfW2(Bits,Chdr)), \
}
[EV_CURRENT - 1] =
{
@@ -117,6 +118,22 @@ const uint_fast8_t __libelf_type_aligns[EV_NUM - 1][ELFCLASSNUM - 1][ELF_T_NUM]
#endif
+Elf_Type
+internal_function
+__libelf_data_type (Elf *elf, int sh_type)
+{
+ /* Some broken ELF ABI for 64-bit machines use the wrong hash table
+ entry size. See elf-knowledge.h for more information. */
+ if (sh_type == SHT_HASH && elf->class == ELFCLASS64)
+ {
+ GElf_Ehdr ehdr_mem;
+ GElf_Ehdr *ehdr = __gelf_getehdr_rdlock (elf, &ehdr_mem);
+ return (SH_ENTSIZE_HASH (ehdr) == 4 ? ELF_T_WORD : ELF_T_XWORD);
+ }
+ else
+ return shtype_map[LIBELF_EV_IDX][TYPEIDX (sh_type)];
+}
+
/* Convert the data in the current section. */
static void
convert_data (Elf_Scn *scn, int version __attribute__ ((unused)), int eclass,
@@ -204,6 +221,7 @@ __libelf_set_rawdata_wrlock (Elf_Scn *scn)
Elf64_Off offset;
Elf64_Xword size;
Elf64_Xword align;
+ Elf64_Xword flags;
int type;
Elf *elf = scn->elf;
@@ -220,6 +238,7 @@ __libelf_set_rawdata_wrlock (Elf_Scn *scn)
size = shdr->sh_size;
type = shdr->sh_type;
align = shdr->sh_addralign;
+ flags = shdr->sh_flags;
}
else
{
@@ -234,6 +253,7 @@ __libelf_set_rawdata_wrlock (Elf_Scn *scn)
size = shdr->sh_size;
type = shdr->sh_type;
align = shdr->sh_addralign;
+ flags = shdr->sh_flags;
}
/* If the section has no data (for whatever reason), leave the `d_buf'
@@ -243,7 +263,10 @@ __libelf_set_rawdata_wrlock (Elf_Scn *scn)
/* First a test whether the section is valid at all. */
size_t entsize;
- if (type == SHT_HASH)
+ /* Compressed data has a header, but then compressed data. */
+ if ((flags & SHF_COMPRESSED) != 0)
+ entsize = 1;
+ else if (type == SHT_HASH)
{
GElf_Ehdr ehdr_mem;
GElf_Ehdr *ehdr = __gelf_getehdr_rdlock (elf, &ehdr_mem);
@@ -320,17 +343,13 @@ __libelf_set_rawdata_wrlock (Elf_Scn *scn)
}
scn->rawdata.d.d_size = size;
- /* Some broken ELF ABI for 64-bit machines use the wrong hash table
- entry size. See elf-knowledge.h for more information. */
- if (type == SHT_HASH && elf->class == ELFCLASS64)
- {
- GElf_Ehdr ehdr_mem;
- GElf_Ehdr *ehdr = __gelf_getehdr_rdlock (elf, &ehdr_mem);
- scn->rawdata.d.d_type
- = (SH_ENTSIZE_HASH (ehdr) == 4 ? ELF_T_WORD : ELF_T_XWORD);
- }
+
+ /* Compressed data always has type ELF_T_CHDR regardless of the
+ section type. */
+ if ((flags & SHF_COMPRESSED) != 0)
+ scn->rawdata.d.d_type = ELF_T_CHDR;
else
- scn->rawdata.d.d_type = shtype_map[LIBELF_EV_IDX][TYPEIDX (type)];
+ scn->rawdata.d.d_type = __libelf_data_type (elf, type);
scn->rawdata.d.d_off = 0;
/* Make sure the alignment makes sense. d_align should be aligned both
diff --git a/libelf/elf_strptr.c b/libelf/elf_strptr.c
index c5138dc6..ea210459 100644
--- a/libelf/elf_strptr.c
+++ b/libelf/elf_strptr.c
@@ -37,6 +37,21 @@
#include "libelfP.h"
+static void *
+get_zdata (Elf_Scn *strscn)
+{
+ size_t zsize, zalign;
+ void *zdata = __libelf_decompress_elf (strscn, &zsize, &zalign);
+ if (zdata == NULL)
+ return NULL;
+
+ strscn->zdata_base = zdata;
+ strscn->zdata_size = zsize;
+ strscn->zdata_align = zalign;
+
+ return zdata;
+}
+
char *
elf_strptr (Elf *elf, size_t idx, size_t offset)
{
@@ -94,8 +109,16 @@ elf_strptr (Elf *elf, size_t idx, size_t offset)
goto out;
}
- sh_size = shdr->sh_size;
- if (unlikely (offset >= shdr->sh_size))
+ if ((shdr->sh_flags & SHF_COMPRESSED) == 0)
+ sh_size = shdr->sh_size;
+ else
+ {
+ if (strscn->zdata_base == NULL && get_zdata (strscn) == NULL)
+ goto out;
+ sh_size = strscn->zdata_size;
+ }
+
+ if (unlikely (offset >= sh_size))
{
/* The given offset is too big, it is beyond this section. */
__libelf_seterrno (ELF_E_OFFSET_RANGE);
@@ -112,8 +135,16 @@ elf_strptr (Elf *elf, size_t idx, size_t offset)
goto out;
}
- sh_size = shdr->sh_size;
- if (unlikely (offset >= shdr->sh_size))
+ if ((shdr->sh_flags & SHF_COMPRESSED) == 0)
+ sh_size = shdr->sh_size;
+ else
+ {
+ if (strscn->zdata_base == NULL && get_zdata (strscn) == NULL)
+ goto out;
+ sh_size = strscn->zdata_size;
+ }
+
+ if (unlikely (offset >= sh_size))
{
/* The given offset is too big, it is beyond this section. */
__libelf_seterrno (ELF_E_OFFSET_RANGE);
@@ -131,7 +162,17 @@ elf_strptr (Elf *elf, size_t idx, size_t offset)
goto out;
}
- if (likely (strscn->data_list_rear == NULL))
+ if (unlikely (strscn->zdata_base != NULL))
+ {
+ /* Make sure the string is NUL terminated. Start from the end,
+ which very likely is a NUL char. */
+ if (likely (memrchr (&strscn->zdata_base[offset],
+ '\0', sh_size - offset) != NULL))
+ result = &strscn->zdata_base[offset];
+ else
+ __libelf_seterrno (ELF_E_INVALID_INDEX);
+ }
+ else if (likely (strscn->data_list_rear == NULL))
{
// XXX The above is currently correct since elf_newdata will
// make sure to convert the rawdata into the datalist if
diff --git a/libelf/exttypes.h b/libelf/exttypes.h
index 8cb2aaec..7bacd654 100644
--- a/libelf/exttypes.h
+++ b/libelf/exttypes.h
@@ -1,5 +1,5 @@
/* External ELF types.
- Copyright (C) 1998-2010 Red Hat, Inc.
+ Copyright (C) 1998-2010, 2015 Red Hat, Inc.
This file is part of elfutils.
Contributed by Ulrich Drepper <drepper@redhat.com>, 1998.
@@ -75,6 +75,7 @@ Syminfo32 (Ext_);
Move32 (Ext_);
Lib32 (Ext_);
auxv_t32 (Ext_);
+Chdr32 (Ext_);
Ehdr64 (Ext_);
Phdr64 (Ext_);
@@ -92,6 +93,7 @@ Syminfo64 (Ext_);
Move64 (Ext_);
Lib64 (Ext_);
auxv_t64 (Ext_);
+Chdr64 (Ext_);
#undef START
#undef END
diff --git a/libelf/gelf.h b/libelf/gelf.h
index e3f07404..1bc7ee72 100644
--- a/libelf/gelf.h
+++ b/libelf/gelf.h
@@ -1,5 +1,5 @@
/* This file defines generic ELF types, structures, and macros.
- Copyright (C) 1999, 2000, 2001, 2002, 2004, 2005, 2007 Red Hat, Inc.
+ Copyright (C) 1999, 2000, 2001, 2002, 2004, 2005, 2007, 2015 Red Hat, Inc.
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
@@ -85,6 +85,9 @@ typedef Elf64_Rela GElf_Rela;
/* Program segment header. */
typedef Elf64_Phdr GElf_Phdr;
+/* Header of a compressed section. */
+typedef Elf64_Chdr GElf_Chdr;
+
/* Dynamic section entry. */
typedef Elf64_Dyn GElf_Dyn;
@@ -183,6 +186,9 @@ extern int gelf_update_phdr (Elf *__elf, int __ndx, GElf_Phdr *__src);
/* Create new program header with PHNUM entries. */
extern unsigned long int gelf_newphdr (Elf *__elf, size_t __phnum);
+/* Get compression header of section if any. Returns NULL and sets
+ elf_errno if the section isn't compressed or an error occurred. */
+extern GElf_Chdr *gelf_getchdr (Elf_Scn *__scn, GElf_Chdr *__dst);
/* Convert data structure from the representation in the file represented
by ELF to their memory representation. */
diff --git a/libelf/gelf_fsize.c b/libelf/gelf_fsize.c
index a124fa84..0c509265 100644
--- a/libelf/gelf_fsize.c
+++ b/libelf/gelf_fsize.c
@@ -68,6 +68,7 @@ const size_t __libelf_type_sizes[EV_NUM - 1][ELFCLASSNUM - 1][ELF_T_NUM] =
[ELF_T_MOVE] = sizeof (ElfW2(LIBELFBITS, Ext_Move)), \
[ELF_T_LIB] = sizeof (ElfW2(LIBELFBITS, Ext_Lib)), \
[ELF_T_AUXV] = sizeof (ElfW2(LIBELFBITS, Ext_auxv_t)), \
+ [ELF_T_CHDR] = sizeof (ElfW2(LIBELFBITS, Ext_Chdr)), \
[ELF_T_GNUHASH] = ELFW2(LIBELFBITS, FSZ_WORD)
TYPE_SIZES (32)
},
diff --git a/libelf/gelf_getchdr.c b/libelf/gelf_getchdr.c
new file mode 100644
index 00000000..394bf4b3
--- /dev/null
+++ b/libelf/gelf_getchdr.c
@@ -0,0 +1,69 @@
+/* Return section compression header.
+ Copyright (C) 2015 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 "libelfP.h"
+#include <gelf.h>
+#include <stddef.h>
+
+
+GElf_Chdr *
+gelf_getchdr (Elf_Scn *scn, GElf_Chdr *dest)
+{
+ if (scn == NULL)
+ return NULL;
+
+ if (dest == NULL)
+ {
+ __libelf_seterrno (ELF_E_INVALID_OPERAND);
+ return NULL;
+ }
+
+ if (scn->elf->class == ELFCLASS32)
+ {
+ Elf32_Chdr *chdr = elf32_getchdr (scn);
+ if (chdr == NULL)
+ return NULL;
+ dest->ch_type = chdr->ch_type;
+ dest->ch_size = chdr->ch_size;
+ dest->ch_addralign = chdr->ch_addralign;
+ }
+ else
+ {
+ Elf64_Chdr *chdr = elf64_getchdr (scn);
+ if (chdr == NULL)
+ return NULL;
+ *dest = *chdr;
+ }
+
+ return dest;
+}
+INTDEF(gelf_getchdr)
diff --git a/libelf/gelf_xlate.c b/libelf/gelf_xlate.c
index c5805e73..f3d3b7a0 100644
--- a/libelf/gelf_xlate.c
+++ b/libelf/gelf_xlate.c
@@ -166,6 +166,7 @@ union unaligned
#include "version_xlate.h"
#include "gnuhash_xlate.h"
#include "note_xlate.h"
+#include "chdr_xlate.h"
/* Now the externally visible table with the function pointers. */
@@ -198,7 +199,8 @@ const xfct_t __elf_xfctstom[EV_NUM - 1][EV_NUM - 1][ELFCLASSNUM - 1][ELF_T_NUM]
[ELF_T_SYMINFO] = ElfW2(Bits, cvt_Syminfo), \
[ELF_T_MOVE] = ElfW2(Bits, cvt_Move), \
[ELF_T_LIB] = ElfW2(Bits, cvt_Lib), \
- [ELF_T_AUXV] = ElfW2(Bits, cvt_auxv_t)
+ [ELF_T_AUXV] = ElfW2(Bits, cvt_auxv_t), \
+ [ELF_T_CHDR] = ElfW2(Bits, cvt_chdr)
define_xfcts (32),
[ELF_T_GNUHASH] = Elf32_cvt_Word
},
diff --git a/libelf/gelf_xlate.h b/libelf/gelf_xlate.h
index f11eb90b..3c0e4bf6 100644
--- a/libelf/gelf_xlate.h
+++ b/libelf/gelf_xlate.h
@@ -50,6 +50,7 @@ TYPE (Syminfo, LIBELFBITS)
TYPE (Move, LIBELFBITS)
TYPE (Lib, LIBELFBITS)
TYPE (auxv_t, LIBELFBITS)
+TYPE (Chdr, LIBELFBITS)
/* Prepare for the next round. */
diff --git a/libelf/libelf.h b/libelf/libelf.h
index 54f7c29b..c0d6389f 100644
--- a/libelf/libelf.h
+++ b/libelf/libelf.h
@@ -1,5 +1,5 @@
/* Interface for libelf.
- Copyright (C) 1998-2010 Red Hat, Inc.
+ Copyright (C) 1998-2010, 2015 Red Hat, Inc.
This file is part of elfutils.
This file is free software; you can redistribute it and/or modify
@@ -35,6 +35,34 @@
/* Get the ELF types. */
#include <elf.h>
+#ifndef SHF_COMPRESSED
+ /* Older glibc elf.h might not yet define the ELF compression types. */
+ #define SHF_COMPRESSED (1 << 11) /* Section with compressed data. */
+
+ /* Section compression header. Used when SHF_COMPRESSED is set. */
+
+ typedef struct
+ {
+ Elf32_Word ch_type; /* Compression format. */
+ Elf32_Word ch_size; /* Uncompressed data size. */
+ Elf32_Word ch_addralign; /* Uncompressed data alignment. */
+ } Elf32_Chdr;
+
+ typedef struct
+ {
+ Elf64_Word ch_type; /* Compression format. */
+ Elf64_Word ch_reserved;
+ Elf64_Xword ch_size; /* Uncompressed data size. */
+ Elf64_Xword ch_addralign; /* Uncompressed data alignment. */
+ } Elf64_Chdr;
+
+ /* Legal values for ch_type (compression algorithm). */
+ #define ELFCOMPRESS_ZLIB 1 /* ZLIB/DEFLATE algorithm. */
+ #define ELFCOMPRESS_LOOS 0x60000000 /* Start of OS-specific. */
+ #define ELFCOMPRESS_HIOS 0x6fffffff /* End of OS-specific. */
+ #define ELFCOMPRESS_LOPROC 0x70000000 /* Start of processor-specific. */
+ #define ELFCOMPRESS_HIPROC 0x7fffffff /* End of processor-specific. */
+#endif
/* Known translation types. */
typedef enum
@@ -64,6 +92,7 @@ typedef enum
ELF_T_LIB, /* Elf32_Lib, Elf64_Lib, ... */
ELF_T_GNUHASH, /* GNU-style hash section. */
ELF_T_AUXV, /* Elf32_auxv_t, Elf64_auxv_t, ... */
+ ELF_T_CHDR, /* Compressed, Elf32_Chdr, Elf64_Chdr, ... */
/* Keep this the last entry. */
ELF_T_NUM
} Elf_Type;
@@ -116,6 +145,12 @@ enum
#define ELF_F_PERMISSIVE ELF_F_PERMISSIVE
};
+/* Flags for elf_compress[_gnu]. */
+enum
+{
+ ELF_CHF_FORCE = 0x1
+#define ELF_CHF_FORCE ELF_CHF_FORCE
+};
/* Identification values for recognized object files. */
typedef enum
@@ -267,6 +302,62 @@ extern Elf32_Shdr *elf32_getshdr (Elf_Scn *__scn);
/* Similar for ELFCLASS64. */
extern Elf64_Shdr *elf64_getshdr (Elf_Scn *__scn);
+/* Returns compression header for a section if section data is
+ compressed. Returns NULL and sets elf_errno if the section isn't
+ compressed or an error occurred. */
+extern Elf32_Chdr *elf32_getchdr (Elf_Scn *__scn);
+extern Elf64_Chdr *elf64_getchdr (Elf_Scn *__scn);
+
+/* Compress or decompress the data of a section and adjust the section
+ header.
+
+ elf_compress works by setting or clearing the SHF_COMPRESS flag
+ from the section Shdr and will encode or decode a Elf32_Chdr or
+ Elf64_Chdr at the start of the section data. elf_compress_gnu will
+ encode or decode any section, but is traditionally only used for
+ sections that have a name starting with ".debug" when
+ uncompressed or ".zdebug" when compressed and stores just the
+ uncompressed size. The GNU compression method is deprecated and
+ should only be used for legacy support.
+
+ elf_compress takes a compression type that should be either zero to
+ decompress or an ELFCOMPRESS algorithm to use for compression.
+ Currently only ELFCOMPRESS_ZLIB is supported. elf_compress_gnu
+ will compress in the traditional GNU compression format when
+ compress is one and decompress the section data when compress is
+ zero.
+
+ The FLAGS argument can be zero or ELF_CHF_FORCE. If FLAGS contains
+ ELF_CHF_FORCE then it will always compress the section, even if
+ that would not reduce the size of the data section (including the
+ header). Otherwise elf_compress and elf_compress_gnu will compress
+ the section only if the total data size is reduced.
+
+ On successful compression or decompression the function returns
+ one. If (not forced) compression is requested and the data section
+ would not actually reduce in size, the section is not actually
+ compressed and zero is returned. Otherwise -1 is returned and
+ elf_errno is set.
+
+ It is an error to request compression for a section that already
+ has SHF_COMPRESSED set, or (for elf_compress) to request
+ decompression for an section that doesn't have SHF_COMPRESSED set.
+ It is always an error to call these functions on SHT_NOBITS
+ sections or if the section has the SHF_ALLOC flag set.
+ elf_compress_gnu will not check whether the section name starts
+ with ".debug" or .zdebug". It is the responsibilty of the caller
+ to make sure the deprecated GNU compression method is only called
+ on correctly named sections (and to change the name of the section
+ when using elf_compress_gnu).
+
+ All previous returned Shdrs and Elf_Data buffers are invalidated by
+ this call and should no longer be accessed.
+
+ Note that although this changes the header and data returned it
+ doesn't mark the section as dirty. To keep the changes when
+ calling elf_update the section has to be flagged ELF_F_DIRTY. */
+extern int elf_compress (Elf_Scn *scn, int type, unsigned int flags);
+extern int elf_compress_gnu (Elf_Scn *scn, int compress, unsigned int flags);
/* Set or clear flags for ELF file. */
extern unsigned int elf_flagelf (Elf *__elf, Elf_Cmd __cmd,
@@ -288,8 +379,11 @@ extern unsigned int elf_flagshdr (Elf_Scn *__scn, Elf_Cmd __cmd,
unsigned int __flags);
-/* Get data from section while translating from file representation
- to memory representation. */
+/* Get data from section while translating from file representation to
+ memory representation. The Elf_Data d_type is set based on the
+ section type if known. Otherwise d_type is set to ELF_T_BYTE. If
+ the section contains compressed data then d_type is always set to
+ ELF_T_CHDR. */
extern Elf_Data *elf_getdata (Elf_Scn *__scn, Elf_Data *__data);
/* Get uninterpreted section content. */
diff --git a/libelf/libelf.map b/libelf/libelf.map
index de6d912a..10dc5059 100644
--- a/libelf/libelf.map
+++ b/libelf/libelf.map
@@ -138,3 +138,13 @@ ELFUTILS_1.6 {
global:
elf_getphdrnum;
} ELFUTILS_1.5;
+
+ELFUTILS_1.7 {
+ global:
+ elf32_getchdr;
+ elf64_getchdr;
+ gelf_getchdr;
+
+ elf_compress;
+ elf_compress_gnu;
+} ELFUTILS_1.6;
diff --git a/libelf/libelfP.h b/libelf/libelfP.h
index 993c6556..57ccbce4 100644
--- a/libelf/libelfP.h
+++ b/libelf/libelfP.h
@@ -1,5 +1,5 @@
/* Internal interfaces for libelf.
- Copyright (C) 1998-2010 Red Hat, Inc.
+ Copyright (C) 1998-2010, 2015 Red Hat, Inc.
This file is part of elfutils.
Contributed by Ulrich Drepper <drepper@redhat.com>, 1998.
@@ -38,6 +38,7 @@
#include <gelf.h>
#include <errno.h>
+#include <stdbool.h>
#include <stdint.h>
#include <stdio.h>
#include <string.h>
@@ -138,6 +139,13 @@ enum
ELF_E_INVALID_PHDR,
ELF_E_NO_PHDR,
ELF_E_INVALID_OFFSET,
+ ELF_E_INVALID_SECTION_TYPE,
+ ELF_E_INVALID_SECTION_FLAGS,
+ ELF_E_NOT_COMPRESSED,
+ ELF_E_ALREADY_COMPRESSED,
+ ELF_E_UNKNOWN_COMPRESSION_TYPE,
+ ELF_E_COMPRESS_ERROR,
+ ELF_E_DECOMPRESS_ERROR,
/* Keep this as the last entry. */
ELF_E_NUM
};
@@ -230,6 +238,10 @@ struct Elf_Scn
char *rawdata_base; /* The unmodified data of the section. */
char *data_base; /* The converted data of the section. */
+ char *zdata_base; /* The uncompressed data of the section. */
+ size_t zdata_size; /* If zdata_base != NULL, the size of data. */
+ size_t zdata_align; /* If zdata_base != NULL, the addralign. */
+
struct Elf_ScnList *list; /* Pointer to the section list element the
data is in. */
};
@@ -438,6 +450,11 @@ extern const uint_fast8_t __libelf_type_aligns[EV_NUM - 1][ELFCLASSNUM - 1][ELF_
# define __libelf_type_align(class, type) 1
#endif
+/* 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;
+
/* The libelf API does not have such a function but it is still useful.
Get the memory size for the given type.
@@ -578,6 +595,22 @@ extern GElf_Sym *__gelf_getsym_internal (Elf_Data *__data, int __ndx,
extern uint32_t __libelf_crc32 (uint32_t crc, unsigned char *buf, size_t len)
attribute_hidden;
+extern void * __libelf_compress (Elf_Scn *scn, size_t hsize, int ei_data,
+ size_t *orig_size, size_t *orig_addralign,
+ size_t *size, bool force)
+ internal_function;
+
+extern void * __libelf_decompress (void *buf_in, size_t size_in,
+ size_t size_out) internal_function;
+extern void * __libelf_decompress_elf (Elf_Scn *scn,
+ size_t *size_out, size_t *addralign)
+ internal_function;
+
+
+extern void __libelf_reset_rawdata (Elf_Scn *scn, void *buf, size_t size,
+ size_t align, Elf_Type type)
+ internal_function;
+
/* We often have to update a flag iff a value changed. Make this
convenient. */
diff --git a/po/ChangeLog b/po/ChangeLog
index 10820152..0acdda6c 100644
--- a/po/ChangeLog
+++ b/po/ChangeLog
@@ -1,3 +1,11 @@
+2016-01-11 Mark Wielaard <mjw@redhat.com>
+
+ * *.po: Regenerate.
+
+2016-01-08 Mark Wielaard <mjw@redhat.com>
+
+ * *.po: Update for 0.165.
+
2015-10-16 Mark Wielaard <mjw@redhat.com>
* *.po: Regenerate.
diff --git a/po/de.po b/po/de.po
index 10feb6f6..2b937ac8 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: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-10-16 13:26+0200\n"
+"POT-Creation-Date: 2016-01-11 08:48+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"
@@ -42,8 +42,8 @@ msgstr ""
msgid "cannot allocate memory"
msgstr "konnte Verzeichnis nicht erstellen: %s"
-#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3184
-#: src/readelf.c:3561 src/readelf.c:8310 src/unstrip.c:2198 src/unstrip.c:2403
+#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3282
+#: src/readelf.c:3669 src/readelf.c:8416 src/unstrip.c:2233 src/unstrip.c:2438
#, c-format
msgid "memory exhausted"
msgstr "Kein Speicher mehr verfügbar"
@@ -247,7 +247,7 @@ msgstr "ungültiger Operand"
msgid "not a CU (unit) DIE"
msgstr ""
-#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2345
+#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2380
msgid "Input selection options:"
msgstr "Eingabeauswahloptionen:"
@@ -302,7 +302,12 @@ msgstr "Konnte Kernel oder Module nicht finden"
msgid "cannot read ELF core file: %s"
msgstr "Konnte ELF Kerndatei %s nicht lesen"
-#: libdwfl/argp-std.c:311
+#: libdwfl/argp-std.c:313
+#, fuzzy
+msgid "Not enough memory"
+msgstr "nicht genügend Speicher"
+
+#: libdwfl/argp-std.c:323
msgid "No modules recognized in core file"
msgstr "Keine Module in der Kerndatei gefunden"
@@ -485,57 +490,57 @@ msgstr "<Unbekannt>"
msgid "<unknown>: %#<PRIx64>"
msgstr "<Unbekannt>: %#<PRIx64>"
-#: libebl/eblobjnote.c:52
+#: libebl/eblobjnote.c:53
#, fuzzy, c-format
msgid "unknown SDT version %u\n"
msgstr "unbekannte Version"
-#: libebl/eblobjnote.c:70
+#: libebl/eblobjnote.c:71
#, fuzzy, c-format
msgid "invalid SDT probe descriptor\n"
msgstr "ungültiger Datei-Deskriptor"
-#: libebl/eblobjnote.c:120
+#: libebl/eblobjnote.c:121
#, c-format
msgid " PC: "
msgstr ""
-#: libebl/eblobjnote.c:122
+#: libebl/eblobjnote.c:123
#, c-format
msgid " Base: "
msgstr ""
-#: libebl/eblobjnote.c:124
+#: libebl/eblobjnote.c:125
#, c-format
msgid " Semaphore: "
msgstr ""
-#: libebl/eblobjnote.c:126
+#: libebl/eblobjnote.c:127
#, c-format
msgid " Provider: "
msgstr ""
-#: libebl/eblobjnote.c:128
+#: libebl/eblobjnote.c:129
#, c-format
msgid " Name: "
msgstr ""
-#: libebl/eblobjnote.c:130
+#: libebl/eblobjnote.c:131
#, c-format
msgid " Args: "
msgstr ""
-#: libebl/eblobjnote.c:140
+#: libebl/eblobjnote.c:141
#, c-format
msgid " Build ID: "
msgstr " Build ID: "
-#: libebl/eblobjnote.c:151
+#: libebl/eblobjnote.c:152
#, c-format
msgid " Linker version: %.*s\n"
msgstr ""
-#: libebl/eblobjnote.c:212
+#: libebl/eblobjnote.c:213
#, c-format
msgid " OS: %s, ABI: "
msgstr " OS: %s, ABI: "
@@ -569,7 +574,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:5365
+#: libelf/elf_error.c:87 src/readelf.c:5473
#, c-format
msgid "invalid encoding"
msgstr "ungültige Kodierung"
@@ -652,8 +657,8 @@ msgstr "data/scn Unterschied"
msgid "invalid section header"
msgstr "ungültiger Abschnitts-Header"
-#: libelf/elf_error.c:187 src/readelf.c:7234 src/readelf.c:7682
-#: src/readelf.c:7783 src/readelf.c:7964
+#: libelf/elf_error.c:187 src/readelf.c:7342 src/readelf.c:7790
+#: src/readelf.c:7891 src/readelf.c:8072
#, c-format
msgid "invalid data"
msgstr "Ungültige Daten"
@@ -695,6 +700,39 @@ msgstr ""
msgid "file has no program header"
msgstr "Datei hat keinen Programm-Kopf"
+#: libelf/elf_error.c:237
+#, fuzzy
+msgid "invalid section type"
+msgstr "ungültiger Abschnitt"
+
+#: libelf/elf_error.c:242
+#, fuzzy
+msgid "invalid section flags"
+msgstr "ungültiger Abschnitt"
+
+#: libelf/elf_error.c:247
+msgid "section does not contain compressed data"
+msgstr ""
+
+#: libelf/elf_error.c:252
+msgid "section contains compressed data"
+msgstr ""
+
+#: libelf/elf_error.c:257
+#, fuzzy
+msgid "unknown compression type"
+msgstr "unbekannter Typ"
+
+#: libelf/elf_error.c:262
+#, fuzzy
+msgid "cannot compress data"
+msgstr "konnte Abschnittsdaten nicht kopieren: %s"
+
+#: libelf/elf_error.c:267
+#, fuzzy
+msgid "cannot decompress data"
+msgstr "konnte Abschnittsdaten nicht kopieren: %s"
+
#: src/addr2line.c:58
#, fuzzy
msgid "Input format options:"
@@ -751,7 +789,7 @@ msgstr ""
msgid "Print all information on one line, and indent inlines"
msgstr ""
-#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:99
+#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:100
#: src/strings.c:79
msgid "Miscellaneous:"
msgstr "Verschiedenes:"
@@ -765,9 +803,9 @@ msgstr ""
msgid "[ADDR...]"
msgstr ""
-#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:670 src/elflint.c:235
-#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:261 src/objdump.c:177
-#: src/ranlib.c:124 src/readelf.c:500 src/size.c:207 src/strings.c:230
+#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:672 src/elflint.c:235
+#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:262 src/objdump.c:177
+#: src/ranlib.c:124 src/readelf.c:509 src/size.c:207 src/strings.c:230
#: src/strip.c:218 src/unstrip.c:232
#, c-format
msgid ""
@@ -780,9 +818,9 @@ msgstr ""
"GARANTIE,\n"
"auch nicht für Marktgängigkeit oder Eignung für einen Bestimmten Zweck.\n"
-#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:675 src/elflint.c:240
-#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:266 src/objdump.c:182
-#: src/ranlib.c:129 src/readelf.c:505 src/size.c:212 src/strings.c:235
+#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:677 src/elflint.c:240
+#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:267 src/objdump.c:182
+#: src/ranlib.c:129 src/readelf.c:514 src/size.c:212 src/strings.c:235
#: src/strip.c:223 src/unstrip.c:237
#, c-format
msgid "Written by %s.\n"
@@ -1253,40 +1291,40 @@ msgstr ""
msgid "%s %s differ: gap"
msgstr ""
-#: src/elfcmp.c:702
+#: src/elfcmp.c:704
#, c-format
msgid "Invalid value '%s' for --gaps parameter."
msgstr ""
-#: src/elfcmp.c:730 src/findtextrel.c:221 src/ldgeneric.c:1757
-#: src/ldgeneric.c:4247 src/nm.c:377 src/ranlib.c:157 src/size.c:289
-#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:1994
-#: src/unstrip.c:2023
+#: src/elfcmp.c:732 src/findtextrel.c:221 src/ldgeneric.c:1757
+#: src/ldgeneric.c:4247 src/nm.c:378 src/ranlib.c:157 src/size.c:289
+#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:2029
+#: src/unstrip.c:2058
#, c-format
msgid "cannot open '%s'"
msgstr "'%s' kann nicht geöffnet werden"
-#: src/elfcmp.c:734 src/findtextrel.c:228 src/ranlib.c:174
+#: src/elfcmp.c:736 src/findtextrel.c:228 src/ranlib.c:174
#, c-format
msgid "cannot create ELF descriptor for '%s': %s"
msgstr ""
-#: src/elfcmp.c:739
+#: src/elfcmp.c:741
#, c-format
msgid "cannot create EBL descriptor for '%s'"
msgstr ""
-#: src/elfcmp.c:757 src/findtextrel.c:409
+#: src/elfcmp.c:759 src/findtextrel.c:409
#, c-format
msgid "cannot get section header of section %zu: %s"
msgstr ""
-#: src/elfcmp.c:767
+#: src/elfcmp.c:769
#, c-format
msgid "cannot get content of section %zu: %s"
msgstr ""
-#: src/elfcmp.c:777 src/elfcmp.c:791
+#: src/elfcmp.c:779 src/elfcmp.c:793
#, c-format
msgid "cannot get relocation: %s"
msgstr ""
@@ -1313,11 +1351,11 @@ msgstr ""
msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
msgstr ""
-#: src/elflint.c:78 src/readelf.c:123
+#: src/elflint.c:78 src/readelf.c:126
msgid "FILE..."
msgstr "DATEI..."
-#: src/elflint.c:155 src/readelf.c:292
+#: src/elflint.c:155 src/readelf.c:298
#, c-format
msgid "cannot open input file"
msgstr "Kann Eingabedatei nicht öffnen"
@@ -1336,7 +1374,7 @@ msgstr "Fehler beim Schliessen des Elf-Desktriptor: %s\n"
msgid "No errors"
msgstr "Keine Fehler"
-#: src/elflint.c:219 src/readelf.c:468
+#: src/elflint.c:219 src/readelf.c:474
msgid "Missing file name.\n"
msgstr "Dateiname fehlt.\n"
@@ -1478,14 +1516,14 @@ msgid ""
"section [%2d] '%s': section group [%2zu] '%s' does not precede group member\n"
msgstr ""
-#: src/elflint.c:591 src/elflint.c:1471 src/elflint.c:1522 src/elflint.c:1628
-#: src/elflint.c:1964 src/elflint.c:2280 src/elflint.c:2893 src/elflint.c:3056
-#: src/elflint.c:3204 src/elflint.c:3394 src/elflint.c:4336
+#: src/elflint.c:591 src/elflint.c:1475 src/elflint.c:1526 src/elflint.c:1632
+#: src/elflint.c:1968 src/elflint.c:2284 src/elflint.c:2898 src/elflint.c:3061
+#: src/elflint.c:3209 src/elflint.c:3399 src/elflint.c:4366
#, c-format
msgid "section [%2d] '%s': cannot get section data\n"
msgstr ""
-#: src/elflint.c:604 src/elflint.c:1635
+#: src/elflint.c:604 src/elflint.c:1639
#, c-format
msgid ""
"section [%2d] '%s': referenced as string table for section [%2d] '%s' but "
@@ -1581,1426 +1619,1442 @@ msgid ""
"section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n"
msgstr ""
-#: src/elflint.c:805
+#: src/elflint.c:809
#, c-format
msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n"
msgstr ""
-#: src/elflint.c:811 src/elflint.c:836 src/elflint.c:885
+#: src/elflint.c:815 src/elflint.c:840 src/elflint.c:889
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu does not fit completely in referenced section "
"[%2d] '%s'\n"
msgstr ""
-#: src/elflint.c:820
+#: src/elflint.c:824
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have "
"SHF_TLS flag set\n"
msgstr ""
-#: src/elflint.c:830 src/elflint.c:878
+#: src/elflint.c:834 src/elflint.c:882
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section "
"[%2d] '%s'\n"
msgstr ""
-#: src/elflint.c:857
+#: src/elflint.c:861
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n"
msgstr ""
-#: src/elflint.c:863
+#: src/elflint.c:867
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: TLS symbol but couldn't get TLS program "
"header entry\n"
msgstr ""
-#: src/elflint.c:871
+#: src/elflint.c:875
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] "
"'%s'\n"
msgstr ""
-#: src/elflint.c:898
+#: src/elflint.c:902
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: local symbol outside range described in "
"sh_info\n"
msgstr ""
-#: src/elflint.c:905
+#: src/elflint.c:909
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: non-local symbol outside range described in "
"sh_info\n"
msgstr ""
-#: src/elflint.c:912
+#: src/elflint.c:916
#, c-format
msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n"
msgstr ""
-#: src/elflint.c:962
+#: src/elflint.c:966
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section "
"[%2d]\n"
msgstr ""
-#: src/elflint.c:969
+#: src/elflint.c:973
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] "
"'%s'\n"
msgstr ""
-#: src/elflint.c:985
+#: src/elflint.c:989
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
"match %s section address %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:992
+#: src/elflint.c:996
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
"match %s section size %<PRIu64>\n"
msgstr ""
-#: src/elflint.c:1000
+#: src/elflint.c:1004
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
"section\n"
msgstr ""
-#: src/elflint.c:1016
+#: src/elflint.c:1020
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
"segment address %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:1023
+#: src/elflint.c:1027
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
"segment size %<PRIu64>\n"
msgstr ""
-#: src/elflint.c:1036
+#: src/elflint.c:1040
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-"
"default visibility\n"
msgstr ""
-#: src/elflint.c:1040
+#: src/elflint.c:1044
#, c-format
msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n"
msgstr ""
-#: src/elflint.c:1078
+#: src/elflint.c:1082
#, fuzzy, c-format
msgid "section [%2d] '%s': cannot get section data.\n"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/elflint.c:1094
+#: src/elflint.c:1098
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
msgstr ""
-#: src/elflint.c:1105 src/elflint.c:1158
+#: src/elflint.c:1109 src/elflint.c:1162
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
msgstr ""
-#: src/elflint.c:1130 src/elflint.c:1183
+#: src/elflint.c:1134 src/elflint.c:1187
#, c-format
msgid ""
"section [%2d] '%s': relative relocations after index %d as specified by "
"DT_RELCOUNT\n"
msgstr ""
-#: src/elflint.c:1136 src/elflint.c:1189
+#: src/elflint.c:1140 src/elflint.c:1193
#, c-format
msgid ""
"section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
"specified %d relative relocations\n"
msgstr ""
-#: src/elflint.c:1148
+#: src/elflint.c:1152
#, c-format
msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
msgstr ""
-#: src/elflint.c:1231
+#: src/elflint.c:1235
#, c-format
msgid "section [%2d] '%s': invalid destination section index\n"
msgstr ""
-#: src/elflint.c:1243
+#: src/elflint.c:1247
#, c-format
msgid "section [%2d] '%s': invalid destination section type\n"
msgstr ""
-#: src/elflint.c:1251
+#: src/elflint.c:1255
#, c-format
msgid "section [%2d] '%s': sh_info should be zero\n"
msgstr ""
-#: src/elflint.c:1259
+#: src/elflint.c:1263
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': no relocations for merge-able string sections possible\n"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/elflint.c:1267
+#: src/elflint.c:1271
#, c-format
msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
msgstr ""
-#: src/elflint.c:1327
+#: src/elflint.c:1331
#, c-format
msgid "text relocation flag set but there is no read-only segment\n"
msgstr ""
-#: src/elflint.c:1354
+#: src/elflint.c:1358
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid type\n"
msgstr ""
-#: src/elflint.c:1362
+#: src/elflint.c:1366
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: relocation type invalid for the file "
"type\n"
msgstr ""
-#: src/elflint.c:1370
+#: src/elflint.c:1374
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
msgstr ""
-#: src/elflint.c:1388
+#: src/elflint.c:1392
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
"be used with %s\n"
msgstr ""
-#: src/elflint.c:1405
+#: src/elflint.c:1409
#, c-format
msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
msgstr ""
-#: src/elflint.c:1420
+#: src/elflint.c:1424
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: copy relocation against symbol of type "
"%s\n"
msgstr ""
-#: src/elflint.c:1441
+#: src/elflint.c:1445
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: read-only section modified but text "
"relocation flag not set\n"
msgstr ""
-#: src/elflint.c:1456
+#: src/elflint.c:1460
#, c-format
msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
msgstr ""
-#: src/elflint.c:1496 src/elflint.c:1547
+#: src/elflint.c:1500 src/elflint.c:1551
#, c-format
msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
msgstr ""
-#: src/elflint.c:1623
+#: src/elflint.c:1627
#, c-format
msgid "more than one dynamic section present\n"
msgstr ""
-#: src/elflint.c:1641
+#: src/elflint.c:1645
#, c-format
msgid ""
"section [%2d]: referenced as string table for section [%2d] '%s' but section "
"link value is invalid\n"
msgstr ""
-#: src/elflint.c:1649
+#: src/elflint.c:1653
#, c-format
msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
msgstr ""
-#: src/elflint.c:1654 src/elflint.c:1943
+#: src/elflint.c:1658 src/elflint.c:1947
#, c-format
msgid "section [%2d] '%s': sh_info not zero\n"
msgstr ""
-#: src/elflint.c:1664
+#: src/elflint.c:1668
#, c-format
msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
msgstr ""
-#: src/elflint.c:1672
+#: src/elflint.c:1676
#, c-format
msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
msgstr ""
-#: src/elflint.c:1679
+#: src/elflint.c:1683
#, c-format
msgid "section [%2d] '%s': entry %zu: unknown tag\n"
msgstr ""
-#: src/elflint.c:1690
+#: src/elflint.c:1694
#, c-format
msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
msgstr ""
-#: src/elflint.c:1700
+#: src/elflint.c:1704
#, c-format
msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
msgstr ""
-#: src/elflint.c:1718
+#: src/elflint.c:1722
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
msgstr ""
-#: src/elflint.c:1731
+#: src/elflint.c:1735
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: pointer does not match address of section "
"[%2d] '%s' referenced by sh_link\n"
msgstr ""
-#: src/elflint.c:1774
+#: src/elflint.c:1778
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
msgstr ""
-#: src/elflint.c:1789
+#: src/elflint.c:1793
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must be valid offset in section "
"[%2d] '%s'\n"
msgstr ""
-#: src/elflint.c:1809 src/elflint.c:1837
+#: src/elflint.c:1813 src/elflint.c:1841
#, c-format
msgid "section [%2d] '%s': contains %s entry but not %s\n"
msgstr ""
-#: src/elflint.c:1821
+#: src/elflint.c:1825
#, c-format
msgid "section [%2d] '%s': mandatory tag %s not present\n"
msgstr ""
-#: src/elflint.c:1830
+#: src/elflint.c:1834
#, c-format
msgid "section [%2d] '%s': no hash section present\n"
msgstr ""
-#: src/elflint.c:1845 src/elflint.c:1852
+#: src/elflint.c:1849 src/elflint.c:1856
#, c-format
msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
msgstr ""
-#: src/elflint.c:1862 src/elflint.c:1866
+#: src/elflint.c:1866 src/elflint.c:1870
#, c-format
msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
msgstr ""
-#: src/elflint.c:1872
+#: src/elflint.c:1876
#, c-format
msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
msgstr ""
-#: src/elflint.c:1883 src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895
+#: src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895 src/elflint.c:1899
#, c-format
msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
msgstr ""
-#: src/elflint.c:1907
+#: src/elflint.c:1911
#, c-format
msgid ""
"section [%2d] '%s': only relocatable files can have extended section index\n"
msgstr ""
-#: src/elflint.c:1917
+#: src/elflint.c:1921
#, c-format
msgid ""
"section [%2d] '%s': extended section index section not for symbol table\n"
msgstr ""
-#: src/elflint.c:1921
+#: src/elflint.c:1925
#, c-format
msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n"
msgstr ""
-#: src/elflint.c:1926
+#: src/elflint.c:1930
#, c-format
msgid "cannot get data for symbol section\n"
msgstr ""
-#: src/elflint.c:1929
+#: src/elflint.c:1933
#, c-format
msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
msgstr ""
-#: src/elflint.c:1938
+#: src/elflint.c:1942
#, c-format
msgid "section [%2d] '%s': extended index table too small for symbol table\n"
msgstr ""
-#: src/elflint.c:1953
+#: src/elflint.c:1957
#, c-format
msgid ""
"section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
"same symbol table\n"
msgstr ""
-#: src/elflint.c:1970
+#: src/elflint.c:1974
#, c-format
msgid "symbol 0 should have zero extended section index\n"
msgstr ""
-#: src/elflint.c:1982
+#: src/elflint.c:1986
#, c-format
msgid "cannot get data for symbol %zu\n"
msgstr ""
-#: src/elflint.c:1987
+#: src/elflint.c:1991
#, c-format
msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
msgstr ""
-#: src/elflint.c:2003 src/elflint.c:2054
+#: src/elflint.c:2007 src/elflint.c:2058
#, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
msgstr ""
-#: src/elflint.c:2015 src/elflint.c:2066
+#: src/elflint.c:2019 src/elflint.c:2070
#, c-format
msgid "section [%2d] '%s': chain array too large\n"
msgstr ""
-#: src/elflint.c:2029 src/elflint.c:2080
+#: src/elflint.c:2033 src/elflint.c:2084
#, c-format
msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
msgstr ""
-#: src/elflint.c:2039
+#: src/elflint.c:2043
#, c-format
msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
msgstr ""
-#: src/elflint.c:2090
+#: src/elflint.c:2094
#, c-format
msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
msgstr ""
-#: src/elflint.c:2103
+#: src/elflint.c:2107
#, c-format
msgid "section [%2d] '%s': not enough data\n"
msgstr ""
-#: src/elflint.c:2115
+#: src/elflint.c:2119
#, c-format
msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n"
msgstr ""
-#: src/elflint.c:2131
+#: src/elflint.c:2135
#, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected at "
"least %ld)\n"
msgstr ""
-#: src/elflint.c:2140
+#: src/elflint.c:2144
#, c-format
msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
msgstr ""
-#: src/elflint.c:2174
+#: src/elflint.c:2178
#, c-format
msgid ""
"section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
msgstr ""
-#: src/elflint.c:2195
+#: src/elflint.c:2199
#, c-format
msgid ""
"section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
"undefined\n"
msgstr ""
-#: src/elflint.c:2208
+#: src/elflint.c:2212
#, c-format
msgid ""
"section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
msgstr ""
-#: src/elflint.c:2217
+#: src/elflint.c:2221
#, c-format
msgid ""
"section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n"
msgstr ""
-#: src/elflint.c:2247
+#: src/elflint.c:2251
#, c-format
msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
msgstr ""
-#: src/elflint.c:2252
+#: src/elflint.c:2256
#, c-format
msgid ""
"section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
msgstr ""
-#: src/elflint.c:2258
+#: src/elflint.c:2262
#, c-format
msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
msgstr ""
-#: src/elflint.c:2271
+#: src/elflint.c:2275
#, c-format
msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
msgstr ""
-#: src/elflint.c:2289
+#: src/elflint.c:2293
#, c-format
msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
msgstr ""
-#: src/elflint.c:2293
+#: src/elflint.c:2297
#, c-format
msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n"
msgstr ""
-#: src/elflint.c:2301
+#: src/elflint.c:2305
#, c-format
msgid "section [%2d] '%s': hash table entry size incorrect\n"
msgstr ""
-#: src/elflint.c:2306
+#: src/elflint.c:2310
#, c-format
msgid "section [%2d] '%s': not marked to be allocated\n"
msgstr ""
-#: src/elflint.c:2311
+#: src/elflint.c:2315
#, c-format
msgid ""
"section [%2d] '%s': hash table has not even room for initial administrative "
"entries\n"
msgstr ""
-#: src/elflint.c:2360
+#: src/elflint.c:2364
#, c-format
msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
msgstr ""
-#: src/elflint.c:2384 src/elflint.c:2449 src/elflint.c:2484
+#: src/elflint.c:2388 src/elflint.c:2453 src/elflint.c:2488
#, c-format
msgid "hash section [%2zu] '%s' does not contain enough data\n"
msgstr ""
-#: src/elflint.c:2405
+#: src/elflint.c:2409
#, c-format
msgid "hash section [%2zu] '%s' has zero bit mask words\n"
msgstr ""
-#: src/elflint.c:2416 src/elflint.c:2460 src/elflint.c:2497
+#: src/elflint.c:2420 src/elflint.c:2464 src/elflint.c:2501
#, c-format
msgid "hash section [%2zu] '%s' uses too much data\n"
msgstr ""
-#: src/elflint.c:2431
+#: src/elflint.c:2435
#, c-format
msgid ""
"hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: "
"%<PRIu32>, nentries: %<PRIu32>\n"
msgstr ""
-#: src/elflint.c:2518
+#: src/elflint.c:2522
#, c-format
msgid "hash section [%2zu] '%s' invalid sh_entsize\n"
msgstr ""
-#: src/elflint.c:2528 src/elflint.c:2532
+#: src/elflint.c:2532 src/elflint.c:2536
#, c-format
msgid "section [%2zu] '%s': reference to symbol index 0\n"
msgstr ""
-#: src/elflint.c:2539
+#: src/elflint.c:2543
#, c-format
msgid ""
"symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash "
"table in [%2zu] '%s'\n"
msgstr ""
-#: src/elflint.c:2551
+#: src/elflint.c:2555
#, c-format
msgid ""
"symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash "
"table in [%2zu] '%s'\n"
msgstr ""
-#: src/elflint.c:2567
+#: src/elflint.c:2571
#, c-format
msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
msgstr ""
-#: src/elflint.c:2587
+#: src/elflint.c:2591
#, c-format
msgid ""
"section [%2d] '%s': section groups only allowed in relocatable object files\n"
msgstr ""
-#: src/elflint.c:2598
+#: src/elflint.c:2602
#, c-format
msgid "section [%2d] '%s': cannot get symbol table: %s\n"
msgstr ""
-#: src/elflint.c:2603
+#: src/elflint.c:2607
#, c-format
msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
msgstr ""
-#: src/elflint.c:2609
+#: src/elflint.c:2613
#, c-format
msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
msgstr ""
-#: src/elflint.c:2614
+#: src/elflint.c:2618
#, c-format
msgid "section [%2d] '%s': sh_flags not zero\n"
msgstr ""
-#: src/elflint.c:2621
+#: src/elflint.c:2625
#, c-format
msgid "section [%2d] '%s': cannot get symbol for signature\n"
msgstr ""
-#: src/elflint.c:2625
+#: src/elflint.c:2629
#, c-format
msgid "section [%2d] '%s': cannot get symbol name for signature\n"
msgstr ""
-#: src/elflint.c:2630
+#: src/elflint.c:2634
#, c-format
msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
msgstr ""
-#: src/elflint.c:2636
+#: src/elflint.c:2640
#, c-format
msgid "section [%2d] '%s': sh_flags not set correctly\n"
msgstr ""
-#: src/elflint.c:2642
+#: src/elflint.c:2646
#, c-format
msgid "section [%2d] '%s': cannot get data: %s\n"
msgstr ""
-#: src/elflint.c:2651
+#: src/elflint.c:2655
#, c-format
msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
msgstr ""
-#: src/elflint.c:2656
+#: src/elflint.c:2660
#, c-format
msgid "section [%2d] '%s': section group without flags word\n"
msgstr ""
-#: src/elflint.c:2662
+#: src/elflint.c:2666
#, c-format
msgid "section [%2d] '%s': section group without member\n"
msgstr ""
-#: src/elflint.c:2666
+#: src/elflint.c:2670
#, c-format
msgid "section [%2d] '%s': section group with only one member\n"
msgstr ""
-#: src/elflint.c:2677
+#: src/elflint.c:2681
#, c-format
msgid "section [%2d] '%s': unknown section group flags\n"
msgstr ""
-#: src/elflint.c:2689
+#: src/elflint.c:2693
#, fuzzy, c-format
msgid "section [%2d] '%s': section index %zu out of range\n"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/elflint.c:2698
+#: src/elflint.c:2702
#, c-format
msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
msgstr ""
-#: src/elflint.c:2705
+#: src/elflint.c:2709
#, c-format
msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
msgstr ""
-#: src/elflint.c:2711
+#: src/elflint.c:2715
#, c-format
msgid ""
"section [%2d] '%s': element %zu references section [%2d] '%s' without "
"SHF_GROUP flag set\n"
msgstr ""
-#: src/elflint.c:2718
+#: src/elflint.c:2722
#, c-format
msgid "section [%2d] '%s' is contained in more than one section group\n"
msgstr ""
-#: src/elflint.c:2907
+#: src/elflint.c:2912
#, c-format
msgid ""
"section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no "
"dynamic symbol table\n"
msgstr ""
-#: src/elflint.c:2919
+#: src/elflint.c:2924
#, c-format
msgid ""
"section [%2d] '%s' has different number of entries than symbol table [%2d] "
"'%s'\n"
msgstr ""
-#: src/elflint.c:2935
+#: src/elflint.c:2940
#, c-format
msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
msgstr ""
-#: src/elflint.c:2951
+#: src/elflint.c:2956
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
msgstr ""
-#: src/elflint.c:2959
+#: src/elflint.c:2964
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
msgstr ""
-#: src/elflint.c:2973
+#: src/elflint.c:2978
#, c-format
msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
msgstr ""
-#: src/elflint.c:2978
+#: src/elflint.c:2983
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for defined version\n"
msgstr ""
-#: src/elflint.c:2988
+#: src/elflint.c:2993
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for requested version\n"
msgstr ""
-#: src/elflint.c:3041
+#: src/elflint.c:3046
#, c-format
msgid "more than one version reference section present\n"
msgstr ""
-#: src/elflint.c:3049 src/elflint.c:3196
+#: src/elflint.c:3054 src/elflint.c:3201
#, c-format
msgid "section [%2d] '%s': sh_link does not link to string table\n"
msgstr ""
-#: src/elflint.c:3074 src/elflint.c:3250
+#: src/elflint.c:3079 src/elflint.c:3255
#, c-format
msgid "section [%2d] '%s': entry %d has wrong version %d\n"
msgstr ""
-#: src/elflint.c:3081 src/elflint.c:3257
+#: src/elflint.c:3086 src/elflint.c:3262
#, c-format
msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
msgstr ""
-#: src/elflint.c:3091
+#: src/elflint.c:3096
#, c-format
msgid "section [%2d] '%s': entry %d has invalid file reference\n"
msgstr ""
-#: src/elflint.c:3099
+#: src/elflint.c:3104
#, c-format
msgid "section [%2d] '%s': entry %d references unknown dependency\n"
msgstr ""
-#: src/elflint.c:3111
+#: src/elflint.c:3116
#, c-format
msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
msgstr ""
-#: src/elflint.c:3119
+#: src/elflint.c:3124
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
"reference\n"
msgstr ""
-#: src/elflint.c:3128
+#: src/elflint.c:3133
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: "
"%#x, expected %#x\n"
msgstr ""
-#: src/elflint.c:3137
+#: src/elflint.c:3142
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
"name '%s'\n"
msgstr ""
-#: src/elflint.c:3148
+#: src/elflint.c:3153
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
msgstr ""
-#: src/elflint.c:3165 src/elflint.c:3341
+#: src/elflint.c:3170 src/elflint.c:3346
#, c-format
msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
msgstr ""
-#: src/elflint.c:3173 src/elflint.c:3349
+#: src/elflint.c:3178 src/elflint.c:3354
#, c-format
msgid ""
"section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says "
"there are more entries\n"
msgstr ""
-#: src/elflint.c:3188
+#: src/elflint.c:3193
#, c-format
msgid "more than one version definition section present\n"
msgstr ""
-#: src/elflint.c:3235
+#: src/elflint.c:3240
#, c-format
msgid "section [%2d] '%s': more than one BASE definition\n"
msgstr ""
-#: src/elflint.c:3239
+#: src/elflint.c:3244
#, c-format
msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
msgstr ""
-#: src/elflint.c:3245
+#: src/elflint.c:3250
#, c-format
msgid "section [%2d] '%s': entry %d has unknown flag\n"
msgstr ""
-#: src/elflint.c:3272
+#: src/elflint.c:3277
#, c-format
msgid "section [%2d] '%s': entry %d has invalid name reference\n"
msgstr ""
-#: src/elflint.c:3279
+#: src/elflint.c:3284
#, c-format
msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
msgstr ""
-#: src/elflint.c:3287
+#: src/elflint.c:3292
#, c-format
msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
msgstr ""
-#: src/elflint.c:3307
+#: src/elflint.c:3312
#, c-format
msgid ""
"section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
msgstr ""
-#: src/elflint.c:3324
+#: src/elflint.c:3329
#, c-format
msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
msgstr ""
-#: src/elflint.c:3357
+#: src/elflint.c:3362
#, c-format
msgid "section [%2d] '%s': no BASE definition\n"
msgstr ""
-#: src/elflint.c:3373
+#: src/elflint.c:3378
#, c-format
msgid "section [%2d] '%s': unknown parent version '%s'\n"
msgstr ""
-#: src/elflint.c:3386
+#: src/elflint.c:3391
#, c-format
msgid "section [%2d] '%s': empty object attributes section\n"
msgstr ""
-#: src/elflint.c:3407
+#: src/elflint.c:3412
#, c-format
msgid "section [%2d] '%s': unrecognized attribute format\n"
msgstr ""
-#: src/elflint.c:3423
+#: src/elflint.c:3428
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute section\n"
msgstr ""
-#: src/elflint.c:3432
+#: src/elflint.c:3437
#, c-format
msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
msgstr ""
-#: src/elflint.c:3444
+#: src/elflint.c:3449
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
msgstr ""
-#: src/elflint.c:3461
+#: src/elflint.c:3466
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
msgstr ""
-#: src/elflint.c:3470
+#: src/elflint.c:3475
#, c-format
msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
msgstr ""
-#: src/elflint.c:3479
+#: src/elflint.c:3484
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
msgstr ""
-#: src/elflint.c:3494
+#: src/elflint.c:3499
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
msgstr ""
-#: src/elflint.c:3505
+#: src/elflint.c:3510
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
msgstr ""
-#: src/elflint.c:3523
+#: src/elflint.c:3528
#, c-format
msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
msgstr ""
-#: src/elflint.c:3534
+#: src/elflint.c:3539
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
msgstr ""
-#: src/elflint.c:3547
+#: src/elflint.c:3552
#, c-format
msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
msgstr ""
-#: src/elflint.c:3551
+#: src/elflint.c:3556
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
msgstr ""
-#: src/elflint.c:3561
+#: src/elflint.c:3566
#, c-format
msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
msgstr ""
-#: src/elflint.c:3567
+#: src/elflint.c:3572
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
msgstr ""
-#: src/elflint.c:3656
+#: src/elflint.c:3661
#, c-format
msgid "cannot get section header of zeroth section\n"
msgstr ""
-#: src/elflint.c:3660
+#: src/elflint.c:3665
#, c-format
msgid "zeroth section has nonzero name\n"
msgstr ""
-#: src/elflint.c:3662
+#: src/elflint.c:3667
#, c-format
msgid "zeroth section has nonzero type\n"
msgstr ""
-#: src/elflint.c:3664
+#: src/elflint.c:3669
#, c-format
msgid "zeroth section has nonzero flags\n"
msgstr ""
-#: src/elflint.c:3666
+#: src/elflint.c:3671
#, c-format
msgid "zeroth section has nonzero address\n"
msgstr ""
-#: src/elflint.c:3668
+#: src/elflint.c:3673
#, c-format
msgid "zeroth section has nonzero offset\n"
msgstr ""
-#: src/elflint.c:3670
+#: src/elflint.c:3675
#, c-format
msgid "zeroth section has nonzero align value\n"
msgstr ""
-#: src/elflint.c:3672
+#: src/elflint.c:3677
#, c-format
msgid "zeroth section has nonzero entry size value\n"
msgstr ""
-#: src/elflint.c:3675
+#: src/elflint.c:3680
#, c-format
msgid ""
"zeroth section has nonzero size value while ELF header has nonzero shnum "
"value\n"
msgstr ""
-#: src/elflint.c:3679
+#: src/elflint.c:3684
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
"overflow in shstrndx\n"
msgstr ""
-#: src/elflint.c:3683
+#: src/elflint.c:3688
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
"overflow in phnum\n"
msgstr ""
-#: src/elflint.c:3700
+#: src/elflint.c:3706
#, c-format
msgid "cannot get section header for section [%2zu] '%s': %s\n"
msgstr ""
-#: src/elflint.c:3709
+#: src/elflint.c:3715
#, c-format
msgid "section [%2zu]: invalid name\n"
msgstr ""
-#: src/elflint.c:3736
+#: src/elflint.c:3742
#, c-format
msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
msgstr ""
-#: src/elflint.c:3752
+#: src/elflint.c:3760
#, c-format
msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
msgstr ""
-#: src/elflint.c:3769
+#: src/elflint.c:3778
#, c-format
msgid ""
"section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
msgstr ""
-#: src/elflint.c:3787
+#: src/elflint.c:3796
#, c-format
msgid "section [%2zu] '%s' present in object file\n"
msgstr ""
-#: src/elflint.c:3793 src/elflint.c:3825
+#: src/elflint.c:3802 src/elflint.c:3834
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
msgstr ""
-#: src/elflint.c:3798 src/elflint.c:3830
+#: src/elflint.c:3807 src/elflint.c:3839
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
"segments\n"
msgstr ""
-#: src/elflint.c:3806
+#: src/elflint.c:3815
#, c-format
msgid ""
"section [%2zu] '%s' is extension section index table in non-object file\n"
msgstr ""
-#: src/elflint.c:3849
+#: src/elflint.c:3858
#, c-format
msgid "section [%2zu] '%s': size not multiple of entry size\n"
msgstr ""
-#: src/elflint.c:3854
+#: src/elflint.c:3863
#, c-format
msgid "cannot get section header\n"
msgstr ""
-#: src/elflint.c:3864
+#: src/elflint.c:3873
#, c-format
msgid "section [%2zu] '%s' has unsupported type %d\n"
msgstr ""
-#: src/elflint.c:3878
+#: src/elflint.c:3888
#, c-format
msgid ""
"section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:3885
+#: src/elflint.c:3895
#, c-format
msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:3893
+#: src/elflint.c:3903
#, c-format
msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
msgstr ""
-#: src/elflint.c:3901
+#: src/elflint.c:3913
+#, fuzzy, c-format
+msgid "section [%2zu] '%s': allocated section cannot be compressed\n"
+msgstr "konnte Abschnittsdaten nicht holen: %s"
+
+#: src/elflint.c:3918
+#, fuzzy, c-format
+msgid "section [%2zu] '%s': nobits section cannot be compressed\n"
+msgstr "konnte Abschnittsdaten nicht holen: %s"
+
+#: src/elflint.c:3924
+#, c-format
+msgid ""
+"section [%2zu] '%s': compressed section with no compression header: %s\n"
+msgstr ""
+
+#: src/elflint.c:3930
#, c-format
msgid "section [%2zu] '%s': invalid section reference in link value\n"
msgstr ""
-#: src/elflint.c:3906
+#: src/elflint.c:3935
#, c-format
msgid "section [%2zu] '%s': invalid section reference in info value\n"
msgstr ""
-#: src/elflint.c:3913
+#: src/elflint.c:3942
#, c-format
msgid "section [%2zu] '%s': strings flag set without merge flag\n"
msgstr ""
-#: src/elflint.c:3918
+#: src/elflint.c:3947
#, c-format
msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
msgstr ""
-#: src/elflint.c:3936
+#: src/elflint.c:3965
#, c-format
msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
msgstr ""
-#: src/elflint.c:3945
+#: src/elflint.c:3974
#, c-format
msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n"
msgstr ""
-#: src/elflint.c:3952
+#: src/elflint.c:3981
#, c-format
msgid "section [%2zu] '%s' is both executable and writable\n"
msgstr ""
-#: src/elflint.c:3982
+#: src/elflint.c:4012
#, c-format
msgid ""
"section [%2zu] '%s' not fully contained in segment of program header entry "
"%d\n"
msgstr ""
-#: src/elflint.c:3992
+#: src/elflint.c:4022
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
"program header entry %d\n"
msgstr ""
-#: src/elflint.c:4018
+#: src/elflint.c:4048
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
"program header entry %d and file contents is non-zero\n"
msgstr ""
-#: src/elflint.c:4029
+#: src/elflint.c:4059
#, c-format
msgid ""
"section [%2zu] '%s' has not type NOBITS but is not read from the file in "
"segment of program header entry %d\n"
msgstr ""
-#: src/elflint.c:4040
+#: src/elflint.c:4070
#, c-format
msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
msgstr ""
-#: src/elflint.c:4050
+#: src/elflint.c:4080
#, c-format
msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
msgstr ""
-#: src/elflint.c:4060
+#: src/elflint.c:4090
#, c-format
msgid ""
"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
msgstr ""
-#: src/elflint.c:4066
+#: src/elflint.c:4096
#, c-format
msgid ""
"section [%2zu] '%s': ELF header says this is the section header string table "
"but type is not SHT_TYPE\n"
msgstr ""
-#: src/elflint.c:4074
+#: src/elflint.c:4104
#, c-format
msgid ""
"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
msgstr ""
-#: src/elflint.c:4125
+#: src/elflint.c:4155
#, c-format
msgid "more than one version symbol table present\n"
msgstr ""
-#: src/elflint.c:4148
+#: src/elflint.c:4178
#, c-format
msgid "INTERP program header entry but no .interp section\n"
msgstr ""
-#: src/elflint.c:4159
+#: src/elflint.c:4189
#, c-format
msgid ""
"loadable segment [%u] is executable but contains no executable sections\n"
msgstr ""
-#: src/elflint.c:4165
+#: src/elflint.c:4195
#, c-format
msgid "loadable segment [%u] is writable but contains no writable sections\n"
msgstr ""
-#: src/elflint.c:4176
+#: src/elflint.c:4206
#, c-format
msgid ""
"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
"exist\n"
msgstr ""
-#: src/elflint.c:4189
+#: src/elflint.c:4219
#, c-format
msgid "duplicate version index %d\n"
msgstr ""
-#: src/elflint.c:4203
+#: src/elflint.c:4233
#, c-format
msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
msgstr ""
-#: src/elflint.c:4252
+#: src/elflint.c:4282
#, c-format
msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
msgstr ""
-#: src/elflint.c:4256
+#: src/elflint.c:4286
#, c-format
msgid ""
"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
msgstr ""
-#: src/elflint.c:4279
+#: src/elflint.c:4309
#, c-format
msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %zu\n"
msgstr ""
-#: src/elflint.c:4283
+#: src/elflint.c:4313
#, c-format
msgid ""
"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n"
msgstr ""
-#: src/elflint.c:4300
+#: src/elflint.c:4330
#, c-format
msgid "phdr[%d]: no note entries defined for the type of file\n"
msgstr ""
-#: src/elflint.c:4319
+#: src/elflint.c:4349
#, c-format
msgid "phdr[%d]: cannot get content of note section: %s\n"
msgstr ""
-#: src/elflint.c:4322
+#: src/elflint.c:4352
#, c-format
msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
msgstr ""
-#: src/elflint.c:4343
+#: src/elflint.c:4373
#, c-format
msgid "section [%2d] '%s': no note entries defined for the type of file\n"
msgstr ""
-#: src/elflint.c:4350
+#: src/elflint.c:4380
#, c-format
msgid "section [%2d] '%s': cannot get content of note section\n"
msgstr ""
-#: src/elflint.c:4353
+#: src/elflint.c:4383
#, c-format
msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
msgstr ""
-#: src/elflint.c:4371
+#: src/elflint.c:4401
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
msgstr ""
-#: src/elflint.c:4386
+#: src/elflint.c:4416
#, c-format
msgid "cannot get program header entry %d: %s\n"
msgstr ""
-#: src/elflint.c:4395
+#: src/elflint.c:4425
#, c-format
msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:4406
+#: src/elflint.c:4436
#, c-format
msgid "more than one INTERP entry in program header\n"
msgstr ""
-#: src/elflint.c:4414
+#: src/elflint.c:4444
#, c-format
msgid "more than one TLS entry in program header\n"
msgstr ""
-#: src/elflint.c:4421
+#: src/elflint.c:4451
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr ""
-#: src/elflint.c:4435
+#: src/elflint.c:4465
#, c-format
msgid "dynamic section reference in program header has wrong offset\n"
msgstr ""
-#: src/elflint.c:4438
+#: src/elflint.c:4468
#, c-format
msgid "dynamic section size mismatch in program and section header\n"
msgstr ""
-#: src/elflint.c:4448
+#: src/elflint.c:4478
#, c-format
msgid "more than one GNU_RELRO entry in program header\n"
msgstr ""
-#: src/elflint.c:4469
+#: src/elflint.c:4499
#, c-format
msgid "loadable segment GNU_RELRO applies to is not writable\n"
msgstr ""
-#: src/elflint.c:4480
+#: src/elflint.c:4510
#, c-format
msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
msgstr ""
-#: src/elflint.c:4487
+#: src/elflint.c:4517
#, c-format
msgid ""
"GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
msgstr ""
-#: src/elflint.c:4496 src/elflint.c:4519
+#: src/elflint.c:4526 src/elflint.c:4549
#, c-format
msgid "%s segment not contained in a loaded segment\n"
msgstr ""
-#: src/elflint.c:4525
+#: src/elflint.c:4555
#, c-format
msgid "program header offset in ELF header and PHDR entry do not match"
msgstr ""
-#: src/elflint.c:4550
+#: src/elflint.c:4580
#, c-format
msgid "call frame search table reference in program header has wrong offset\n"
msgstr ""
-#: src/elflint.c:4553
+#: src/elflint.c:4583
#, c-format
msgid "call frame search table size mismatch in program and section header\n"
msgstr ""
-#: src/elflint.c:4566
+#: src/elflint.c:4596
#, c-format
msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
msgstr ""
-#: src/elflint.c:4574
+#: src/elflint.c:4604
#, c-format
msgid "call frame search table must be allocated\n"
msgstr ""
-#: src/elflint.c:4577
+#: src/elflint.c:4607
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
msgstr ""
-#: src/elflint.c:4581
+#: src/elflint.c:4611
#, c-format
msgid "call frame search table must not be writable\n"
msgstr ""
-#: src/elflint.c:4584
+#: src/elflint.c:4614
#, c-format
msgid "section [%2zu] '%s' must not be writable\n"
msgstr ""
-#: src/elflint.c:4589
+#: src/elflint.c:4619
#, c-format
msgid "call frame search table must not be executable\n"
msgstr ""
-#: src/elflint.c:4592
+#: src/elflint.c:4622
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
msgstr ""
-#: src/elflint.c:4603
+#: src/elflint.c:4633
#, c-format
msgid "program header entry %d: file size greater than memory size\n"
msgstr ""
-#: src/elflint.c:4610
+#: src/elflint.c:4640
#, c-format
msgid "program header entry %d: alignment not a power of 2\n"
msgstr ""
-#: src/elflint.c:4613
+#: src/elflint.c:4643
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
"alignment\n"
msgstr ""
-#: src/elflint.c:4626
+#: src/elflint.c:4656
#, 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:4660
+#: src/elflint.c:4690
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr ""
-#: src/elflint.c:4686
+#: src/elflint.c:4716
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr ""
@@ -3021,7 +3075,7 @@ msgstr ""
msgid "Locate source of text relocations in FILEs (a.out by default)."
msgstr ""
-#: src/findtextrel.c:76 src/nm.c:107 src/objdump.c:71 src/size.c:83
+#: src/findtextrel.c:76 src/nm.c:108 src/objdump.c:71 src/size.c:83
#: src/strings.c:88 src/strip.c:95
msgid "[FILE...]"
msgstr ""
@@ -3508,8 +3562,8 @@ msgstr ""
msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s"
msgstr ""
-#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:527
-#: src/readelf.c:829 src/strip.c:589
+#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:536 src/readelf.c:852
+#: src/strip.c:589
#, c-format
msgid "cannot determine number of sections: %s"
msgstr ""
@@ -3740,7 +3794,7 @@ msgstr ""
msgid "cannot get header of 0th section: %s"
msgstr ""
-#: src/ldgeneric.c:6930 src/unstrip.c:1893
+#: src/ldgeneric.c:6930 src/unstrip.c:1929
#, c-format
msgid "cannot update ELF header: %s"
msgstr ""
@@ -3806,44 +3860,44 @@ msgstr ""
msgid "default visibility set as local and global"
msgstr "Standard-Sichtbarkeit auf lokal und global gesetzt"
-#: src/nm.c:65 src/strip.c:67
+#: src/nm.c:66 src/strip.c:67
msgid "Output selection:"
msgstr ""
-#: src/nm.c:66
+#: src/nm.c:67
msgid "Display debugger-only symbols"
msgstr ""
-#: src/nm.c:67
+#: src/nm.c:68
msgid "Display only defined symbols"
msgstr "Zeige nur definierte Symbole"
-#: src/nm.c:70
+#: src/nm.c:71
msgid "Display dynamic symbols instead of normal symbols"
msgstr "Zeige dynamische Symbole anstelle normaler Symbole"
-#: src/nm.c:71
+#: src/nm.c:72
msgid "Display only external symbols"
msgstr "Zeige nur externe Symbole"
-#: src/nm.c:72
+#: src/nm.c:73
msgid "Display only undefined symbols"
msgstr "Zeige nur undefinierte Symbole"
-#: src/nm.c:74
+#: src/nm.c:75
msgid "Include index for symbols from archive members"
msgstr ""
-#: src/nm.c:76 src/size.c:57
+#: src/nm.c:77 src/size.c:57
msgid "Output format:"
msgstr "Ausgabeformat:"
-#: src/nm.c:78
+#: src/nm.c:79
#, fuzzy
msgid "Print name of the input file before every symbol"
msgstr "Zeige Name der Eingabedatei vor jedem Symbol"
-#: src/nm.c:81
+#: src/nm.c:82
msgid ""
"Use the output format FORMAT. FORMAT can be `bsd', `sysv' or `posix'. The "
"default is `sysv'"
@@ -3851,74 +3905,74 @@ msgstr ""
"Benutze das Ausgabeformat FORMAT. FORMAT kann `bsd', `sysv' or `posix' sein. "
"Der Standard ist `sysv'"
-#: src/nm.c:83
+#: src/nm.c:84
msgid "Same as --format=bsd"
msgstr "Genau wie --format=bsd"
-#: src/nm.c:84
+#: src/nm.c:85
msgid "Same as --format=posix"
msgstr "Genau wie --format=posix"
-#: src/nm.c:85 src/size.c:63
+#: src/nm.c:86 src/size.c:63
msgid "Use RADIX for printing symbol values"
msgstr "Benutze RADIX zur Ausgabe von Symbolwerten"
-#: src/nm.c:86
+#: src/nm.c:87
#, fuzzy
msgid "Mark special symbols"
msgstr "Kennzeichne schwache Symbole"
-#: src/nm.c:88
+#: src/nm.c:89
#, fuzzy
msgid "Print size of defined symbols"
msgstr "Zeige Grösse der definierten Symbole"
-#: src/nm.c:90 src/size.c:71 src/strip.c:72 src/unstrip.c:72
+#: src/nm.c:91 src/size.c:71 src/strip.c:72 src/unstrip.c:72
msgid "Output options:"
msgstr "Ausgabeoptionen:"
-#: src/nm.c:91
+#: src/nm.c:92
msgid "Sort symbols numerically by address"
msgstr "Symbole anhand der Adresse numerisch sortieren"
-#: src/nm.c:93
+#: src/nm.c:94
msgid "Do not sort the symbols"
msgstr "Symbole nicht sortieren"
-#: src/nm.c:94
+#: src/nm.c:95
msgid "Reverse the sense of the sort"
msgstr "Sortierreihenfolge umkehren"
-#: src/nm.c:97
+#: src/nm.c:98
msgid "Decode low-level symbol names into source code names"
msgstr ""
-#: src/nm.c:104
+#: src/nm.c:105
msgid "List symbols from FILEs (a.out by default)."
msgstr ""
-#: src/nm.c:115 src/objdump.c:79
+#: src/nm.c:116 src/objdump.c:79
#, fuzzy
msgid "Output formatting"
msgstr "Ausgabeformat:"
-#: src/nm.c:139 src/objdump.c:103 src/size.c:108 src/strip.c:127
+#: src/nm.c:140 src/objdump.c:103 src/size.c:108 src/strip.c:127
#, fuzzy, c-format
msgid "%s: INTERNAL ERROR %d (%s): %s"
msgstr "%s: INTERNER FEHLER %d (%s-%s): %s"
-#: src/nm.c:394 src/nm.c:406 src/size.c:305 src/size.c:314 src/size.c:325
+#: src/nm.c:395 src/nm.c:407 src/size.c:305 src/size.c:314 src/size.c:325
#: src/strip.c:2280
#, c-format
msgid "while closing '%s'"
msgstr "beim Schliessen von '%s'"
-#: src/nm.c:416 src/objdump.c:292 src/strip.c:391
+#: src/nm.c:417 src/objdump.c:292 src/strip.c:391
#, c-format
msgid "%s: File format not recognized"
msgstr "%s: Dateiformat nicht erkannt"
-#: src/nm.c:456
+#: src/nm.c:457
#, fuzzy
msgid ""
"\n"
@@ -3927,42 +3981,42 @@ msgstr ""
"\n"
"Archiv-Index:"
-#: src/nm.c:465
+#: src/nm.c:466
#, c-format
msgid "invalid offset %zu for symbol %s"
msgstr "ungültiger Offset %zu für Symbol %s"
-#: src/nm.c:470
+#: src/nm.c:471
#, c-format
msgid "%s in %s\n"
msgstr ""
-#: src/nm.c:478
+#: src/nm.c:479
#, c-format
msgid "cannot reset archive offset to beginning"
msgstr ""
-#: src/nm.c:503 src/objdump.c:340
+#: src/nm.c:504 src/objdump.c:340
#, c-format
msgid "%s%s%s: file format not recognized"
msgstr "%s%s%s: Dateiformat nicht erkannt"
-#: src/nm.c:715
+#: src/nm.c:719
#, c-format
msgid "cannot create search tree"
msgstr "Kann Suchbaum nicht erstellen"
-#: src/nm.c:754 src/nm.c:1160 src/objdump.c:789 src/readelf.c:536
-#: src/readelf.c:1085 src/readelf.c:1245 src/readelf.c:1393 src/readelf.c:1579
-#: src/readelf.c:1785 src/readelf.c:1975 src/readelf.c:2202 src/readelf.c:2460
-#: src/readelf.c:2536 src/readelf.c:2623 src/readelf.c:3203 src/readelf.c:3239
-#: src/readelf.c:3302 src/readelf.c:8212 src/readelf.c:9314 src/readelf.c:9461
-#: src/readelf.c:9529 src/size.c:413 src/size.c:482 src/strip.c:520
+#: src/nm.c:760 src/nm.c:1221 src/objdump.c:789 src/readelf.c:545
+#: src/readelf.c:1123 src/readelf.c:1323 src/readelf.c:1471 src/readelf.c:1667
+#: src/readelf.c:1873 src/readelf.c:2063 src/readelf.c:2300 src/readelf.c:2558
+#: src/readelf.c:2634 src/readelf.c:2721 src/readelf.c:3301 src/readelf.c:3347
+#: src/readelf.c:3410 src/readelf.c:8320 src/readelf.c:9420 src/readelf.c:9603
+#: src/readelf.c:9671 src/size.c:413 src/size.c:482 src/strip.c:520
#, c-format
msgid "cannot get section header string table index"
msgstr ""
-#: src/nm.c:781
+#: src/nm.c:787
#, c-format
msgid ""
"\n"
@@ -3975,29 +4029,29 @@ msgstr ""
"Symbole aus %s:\n"
"\n"
-#: src/nm.c:784
+#: src/nm.c:790
#, c-format
msgid ""
"%*s%-*s %-*s Class Type %-*s %*s Section\n"
"\n"
msgstr ""
-#: src/nm.c:1171
+#: src/nm.c:1232
#, fuzzy, c-format
msgid "%s: entry size in section %zd `%s' is not what we expect"
msgstr "%s: entry size in section `%s' is not what we expect"
-#: src/nm.c:1176
+#: src/nm.c:1237
#, fuzzy, c-format
msgid "%s: size of section %zd `%s' is not multiple of entry size"
msgstr "%s: entry size in section `%s' is not what we expect"
-#: src/nm.c:1434
+#: src/nm.c:1537
#, c-format
msgid "%s%s%s%s: Invalid operation"
msgstr "%s%s%s%s: Ungültige Operation"
-#: src/nm.c:1491
+#: src/nm.c:1594
#, c-format
msgid "%s%s%s: no symbols"
msgstr "%s%s%s: keine Symbole"
@@ -4031,7 +4085,7 @@ msgstr ""
msgid "Show information from FILEs (a.out by default)."
msgstr ""
-#: src/objdump.c:232 src/readelf.c:473
+#: src/objdump.c:232 src/readelf.c:479
msgid "No operation specified.\n"
msgstr "Keine Operation angegeben.\n"
@@ -4040,11 +4094,11 @@ msgstr "Keine Operation angegeben.\n"
msgid "while close `%s'"
msgstr ""
-#: src/objdump.c:375 src/readelf.c:1880 src/readelf.c:2072
+#: src/objdump.c:375 src/readelf.c:1968 src/readelf.c:2160
msgid "INVALID SYMBOL"
msgstr ""
-#: src/objdump.c:390 src/readelf.c:1914 src/readelf.c:2108
+#: src/objdump.c:390 src/readelf.c:2002 src/readelf.c:2196
msgid "INVALID SECTION"
msgstr ""
@@ -4093,435 +4147,459 @@ msgstr "'%s' ist kein Archiv"
msgid "error while freeing sub-ELF descriptor: %s"
msgstr ""
-#: src/readelf.c:71
+#: src/readelf.c:72
#, fuzzy
msgid "ELF input selection:"
msgstr "Eingabeauswahloptionen:"
-#: src/readelf.c:73
+#: src/readelf.c:74
msgid ""
"Use the named SECTION (default .gnu_debugdata) as (compressed) ELF input data"
msgstr ""
-#: src/readelf.c:75
+#: src/readelf.c:76
#, fuzzy
msgid "ELF output selection:"
msgstr "Eingabeauswahloptionen:"
-#: src/readelf.c:77
+#: src/readelf.c:78
msgid "All these plus -p .strtab -p .dynstr -p .comment"
msgstr ""
-#: src/readelf.c:78
+#: src/readelf.c:79
msgid "Display the dynamic segment"
msgstr ""
-#: src/readelf.c:79
+#: src/readelf.c:80
msgid "Display the ELF file header"
msgstr ""
-#: src/readelf.c:81
+#: src/readelf.c:82
msgid "Display histogram of bucket list lengths"
msgstr ""
-#: src/readelf.c:82
+#: src/readelf.c:83
msgid "Display the program headers"
msgstr "Programm-Köpfe anzeigen"
-#: src/readelf.c:84
+#: src/readelf.c:85
msgid "Display relocations"
msgstr "Relocations anzeigen"
-#: src/readelf.c:85
+#: src/readelf.c:86
#, fuzzy
msgid "Display the sections' headers"
msgstr "Programm-Köpfe anzeigen"
-#: src/readelf.c:87
+#: src/readelf.c:88
msgid "Display the symbol table"
msgstr "Symboltabelle anzeigen"
-#: src/readelf.c:88
+#: src/readelf.c:89
msgid "Display versioning information"
msgstr "Versionierungsinformationen anzeigen"
-#: src/readelf.c:89
+#: src/readelf.c:90
#, fuzzy
msgid "Display the ELF notes"
msgstr "Kernnotizen anzeigen"
-#: src/readelf.c:91
+#: src/readelf.c:92
#, fuzzy
msgid "Display architecture specific information, if any"
msgstr "Architekturspezifische Informationen anzeigen (falls vorhanden)"
-#: src/readelf.c:93
+#: src/readelf.c:94
msgid "Display sections for exception handling"
msgstr "Abschnitte für Ausnahmebehandlung anzeigen"
-#: src/readelf.c:95
+#: src/readelf.c:96
msgid "Additional output selection:"
msgstr ""
-#: src/readelf.c:97
+#: src/readelf.c:98
msgid ""
"Display DWARF section content. SECTION can be one of abbrev, aranges, "
"decodedaranges, frame, gdb_index, info, loc, line, decodedline, ranges, "
"pubnames, str, macinfo, macro or exception"
msgstr ""
-#: src/readelf.c:101
+#: src/readelf.c:102
msgid "Dump the uninterpreted contents of SECTION, by number or name"
msgstr ""
-#: src/readelf.c:103
+#: src/readelf.c:104
msgid "Print string contents of sections"
msgstr ""
-#: src/readelf.c:106
+#: src/readelf.c:107
msgid "Display the symbol index of an archive"
msgstr "Symbolindex des Archivs anzeigen"
-#: src/readelf.c:108
+#: src/readelf.c:109
msgid "Output control:"
msgstr "Ausgabekontrolle:"
-#: src/readelf.c:110
+#: src/readelf.c:111
msgid "Do not find symbol names for addresses in DWARF data"
msgstr "Keine symbolischen Namen für Adressen in DWARF-Daten suchen"
-#: src/readelf.c:112
+#: src/readelf.c:113
#, fuzzy
msgid ""
"Display just offsets instead of resolving values to addresses in DWARF data"
msgstr "Keine symbolischen Namen für Adressen in DWARF-Daten suchen"
-#: src/readelf.c:114
+#: src/readelf.c:115
msgid "Ignored for compatibility (lines always wide)"
msgstr ""
-#: src/readelf.c:119
+#: src/readelf.c:117
+msgid ""
+"Show compression information for compressed sections (when used with -S); "
+"decompress section before dumping data (when used with -p or -x)"
+msgstr ""
+
+#: src/readelf.c:122
msgid "Print information from ELF file in human-readable form."
msgstr "Informationen aus der ELF-Datei in menschenlesbarer Form ausgeben."
-#: src/readelf.c:441
+#: src/readelf.c:447
#, c-format
msgid "Unknown DWARF debug section `%s'.\n"
msgstr ""
-#: src/readelf.c:520 src/readelf.c:631
+#: src/readelf.c:529 src/readelf.c:640
#, c-format
msgid "cannot generate Elf descriptor: %s"
msgstr "konnte Elf-Deskriptor nicht erzeugen: %s"
-#: src/readelf.c:545 src/readelf.c:1099 src/readelf.c:1269
+#: src/readelf.c:554 src/readelf.c:1145 src/readelf.c:1347
#, c-format
msgid "cannot get section: %s"
msgstr ""
-#: src/readelf.c:554 src/readelf.c:1106 src/readelf.c:1277 src/readelf.c:9481
-#: src/unstrip.c:355 src/unstrip.c:386 src/unstrip.c:435 src/unstrip.c:543
-#: src/unstrip.c:560 src/unstrip.c:596 src/unstrip.c:794 src/unstrip.c:1083
-#: src/unstrip.c:1274 src/unstrip.c:1334 src/unstrip.c:1455 src/unstrip.c:1508
-#: src/unstrip.c:1623 src/unstrip.c:1761 src/unstrip.c:1855
+#: src/readelf.c:563 src/readelf.c:1152 src/readelf.c:1355 src/readelf.c:9623
+#: src/unstrip.c:387 src/unstrip.c:418 src/unstrip.c:467 src/unstrip.c:577
+#: src/unstrip.c:594 src/unstrip.c:631 src/unstrip.c:829 src/unstrip.c:1118
+#: src/unstrip.c:1309 src/unstrip.c:1369 src/unstrip.c:1490 src/unstrip.c:1543
+#: src/unstrip.c:1658 src/unstrip.c:1796 src/unstrip.c:1891
#, c-format
msgid "cannot get section header: %s"
msgstr ""
-#: src/readelf.c:562
+#: src/readelf.c:571
#, fuzzy, c-format
msgid "cannot get section name"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:571 src/readelf.c:5396 src/readelf.c:7670 src/readelf.c:7772
-#: src/readelf.c:7949
+#: src/readelf.c:580 src/readelf.c:5504 src/readelf.c:7778 src/readelf.c:7880
+#: src/readelf.c:8057
#, c-format
msgid "cannot get %s content: %s"
msgstr ""
-#: src/readelf.c:587
+#: src/readelf.c:596
#, fuzzy, c-format
msgid "cannot create temp file '%s'"
msgstr "neue Datei konnte nicht angelegt werden"
-#: src/readelf.c:596
+#: src/readelf.c:605
#, fuzzy, c-format
msgid "cannot write section data"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:602 src/readelf.c:619 src/readelf.c:648
+#: src/readelf.c:611 src/readelf.c:628 src/readelf.c:657
#, c-format
msgid "error while closing Elf descriptor: %s"
msgstr ""
-#: src/readelf.c:609
+#: src/readelf.c:618
#, fuzzy, c-format
msgid "error while rewinding file descriptor"
msgstr "Fehler beim Schliessen des Elf-Desktriptor: %s\n"
-#: src/readelf.c:643
+#: src/readelf.c:652
#, c-format
msgid "'%s' is not an archive, cannot print archive index"
msgstr ""
-#: src/readelf.c:742
+#: src/readelf.c:751
#, fuzzy, c-format
msgid "No such section '%s' in '%s'"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:769
+#: src/readelf.c:778
#, c-format
msgid "cannot stat input file"
msgstr ""
-#: src/readelf.c:771
+#: src/readelf.c:780
#, c-format
msgid "input file is empty"
msgstr ""
-#: src/readelf.c:773
+#: src/readelf.c:782
#, c-format
msgid "failed reading '%s': %s"
msgstr "Konnte '%s' nicht lesen: %s"
-#: src/readelf.c:814
+#: src/readelf.c:837
#, c-format
msgid "cannot read ELF header: %s"
msgstr ""
-#: src/readelf.c:822
+#: src/readelf.c:845
#, c-format
msgid "cannot create EBL handle"
msgstr ""
-#: src/readelf.c:835
+#: src/readelf.c:858
#, fuzzy, c-format
msgid "cannot determine number of program headers: %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/readelf.c:921
+#: src/readelf.c:948
msgid "NONE (None)"
msgstr ""
-#: src/readelf.c:922
+#: src/readelf.c:949
msgid "REL (Relocatable file)"
msgstr ""
-#: src/readelf.c:923
+#: src/readelf.c:950
msgid "EXEC (Executable file)"
msgstr ""
-#: src/readelf.c:924
+#: src/readelf.c:951
msgid "DYN (Shared object file)"
msgstr ""
-#: src/readelf.c:925
+#: src/readelf.c:952
msgid "CORE (Core file)"
msgstr ""
-#: src/readelf.c:930
+#: src/readelf.c:957
#, c-format
msgid "OS Specific: (%x)\n"
msgstr ""
-#: src/readelf.c:932
+#: src/readelf.c:959
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr ""
-#: src/readelf.c:942
+#: src/readelf.c:969
msgid ""
"ELF Header:\n"
" Magic: "
msgstr ""
-#: src/readelf.c:946
+#: src/readelf.c:973
#, c-format
msgid ""
"\n"
" Class: %s\n"
msgstr ""
-#: src/readelf.c:951
+#: src/readelf.c:978
#, fuzzy, c-format
msgid " Data: %s\n"
msgstr " Daten: %s\n"
-#: src/readelf.c:957
+#: src/readelf.c:984
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr ""
-#: src/readelf.c:959 src/readelf.c:976
+#: src/readelf.c:986 src/readelf.c:1003
msgid "(current)"
msgstr "(aktuell)"
-#: src/readelf.c:963
+#: src/readelf.c:990
#, c-format
msgid " OS/ABI: %s\n"
msgstr ""
-#: src/readelf.c:966
+#: src/readelf.c:993
#, c-format
msgid " ABI Version: %hhd\n"
msgstr ""
-#: src/readelf.c:969
+#: src/readelf.c:996
msgid " Type: "
msgstr " Typ: "
-#: src/readelf.c:972
+#: src/readelf.c:999
#, c-format
msgid " Machine: %s\n"
msgstr ""
-#: src/readelf.c:974
+#: src/readelf.c:1001
#, c-format
msgid " Version: %d %s\n"
msgstr ""
-#: src/readelf.c:978
+#: src/readelf.c:1005
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr ""
-#: src/readelf.c:981
+#: src/readelf.c:1008
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr ""
-#: src/readelf.c:982 src/readelf.c:985
+#: src/readelf.c:1009 src/readelf.c:1012
msgid "(bytes into file)"
msgstr ""
-#: src/readelf.c:984
+#: src/readelf.c:1011
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr ""
-#: src/readelf.c:987
+#: src/readelf.c:1014
#, c-format
msgid " Flags: %s\n"
msgstr ""
-#: src/readelf.c:990
+#: src/readelf.c:1017
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr ""
-#: src/readelf.c:991 src/readelf.c:994 src/readelf.c:1011
+#: src/readelf.c:1018 src/readelf.c:1021 src/readelf.c:1038
msgid "(bytes)"
msgstr "(Bytes)"
-#: src/readelf.c:993
+#: src/readelf.c:1020
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr ""
-#: src/readelf.c:996
+#: src/readelf.c:1023
#, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr ""
-#: src/readelf.c:1003
+#: src/readelf.c:1030
#, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr ""
-#: src/readelf.c:1006 src/readelf.c:1023 src/readelf.c:1037
+#: src/readelf.c:1033 src/readelf.c:1050 src/readelf.c:1064
msgid " ([0] not available)"
msgstr ""
-#: src/readelf.c:1010
+#: src/readelf.c:1037
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr ""
-#: src/readelf.c:1013
+#: src/readelf.c:1040
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr ""
-#: src/readelf.c:1020
+#: src/readelf.c:1047
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr ""
-#: src/readelf.c:1033
+#: src/readelf.c:1060
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr ""
-#: src/readelf.c:1041
+#: src/readelf.c:1068
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
"\n"
msgstr ""
-#: src/readelf.c:1045
+#: src/readelf.c:1072
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
"\n"
msgstr ""
-#: src/readelf.c:1077
+#: src/readelf.c:1115
#, c-format
msgid ""
"There are %d section headers, starting at offset %#<PRIx64>:\n"
"\n"
msgstr ""
-#: src/readelf.c:1087
+#: src/readelf.c:1125
msgid "Section Headers:"
msgstr ""
-#: src/readelf.c:1090
+#: src/readelf.c:1128
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
msgstr ""
-#: src/readelf.c:1092
+#: src/readelf.c:1130
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
msgstr ""
-#: src/readelf.c:1164
+#: src/readelf.c:1135
+msgid " [Compression Size Al]"
+msgstr ""
+
+#: src/readelf.c:1137
+msgid " [Compression Size Al]"
+msgstr ""
+
+#: src/readelf.c:1213
+#, c-format
+msgid "bad compression header for section %zd: %s"
+msgstr ""
+
+#: src/readelf.c:1224
+#, c-format
+msgid "bad gnu compressed size for section %zd: %s"
+msgstr ""
+
+#: src/readelf.c:1242
msgid "Program Headers:"
msgstr "Programm-Köpfe:"
-#: src/readelf.c:1166
+#: src/readelf.c:1244
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
-#: src/readelf.c:1169
+#: src/readelf.c:1247
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
msgstr ""
-#: src/readelf.c:1226
+#: src/readelf.c:1304
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr ""
-#: src/readelf.c:1247
+#: src/readelf.c:1325
msgid ""
"\n"
" Section to Segment mapping:\n"
" Segment Sections..."
msgstr ""
-#: src/readelf.c:1258 src/unstrip.c:1914 src/unstrip.c:1957 src/unstrip.c:1964
+#: src/readelf.c:1336 src/unstrip.c:1950 src/unstrip.c:1992 src/unstrip.c:1999
#, c-format
msgid "cannot get program header: %s"
msgstr ""
-#: src/readelf.c:1401
+#: src/readelf.c:1479
#, c-format
msgid ""
"\n"
@@ -4532,7 +4610,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1406
+#: src/readelf.c:1484
#, c-format
msgid ""
"\n"
@@ -4543,21 +4621,25 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1414
+#: src/readelf.c:1492
msgid "<INVALID SYMBOL>"
msgstr ""
-#: src/readelf.c:1428
+#: src/readelf.c:1506
msgid "<INVALID SECTION>"
msgstr ""
-#: src/readelf.c:1585 src/readelf.c:2208 src/readelf.c:2466 src/readelf.c:2542
-#: src/readelf.c:2846 src/readelf.c:2920 src/readelf.c:4608
+#: src/readelf.c:1529 src/readelf.c:2238 src/readelf.c:3317
+msgid "Couldn't uncompress section"
+msgstr ""
+
+#: src/readelf.c:1673 src/readelf.c:2306 src/readelf.c:2564 src/readelf.c:2640
+#: src/readelf.c:2944 src/readelf.c:3018 src/readelf.c:4716
#, fuzzy, c-format
msgid "invalid sh_link value in section %zu"
msgstr "ungültige .debug_line Sektion"
-#: src/readelf.c:1588
+#: src/readelf.c:1676
#, c-format
msgid ""
"\n"
@@ -4570,43 +4652,43 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1598
+#: src/readelf.c:1686
msgid " Type Value\n"
msgstr ""
-#: src/readelf.c:1622
+#: src/readelf.c:1710
#, c-format
msgid "Shared library: [%s]\n"
msgstr ""
-#: src/readelf.c:1627
+#: src/readelf.c:1715
#, c-format
msgid "Library soname: [%s]\n"
msgstr ""
-#: src/readelf.c:1632
+#: src/readelf.c:1720
#, c-format
msgid "Library rpath: [%s]\n"
msgstr ""
-#: src/readelf.c:1637
+#: src/readelf.c:1725
#, c-format
msgid "Library runpath: [%s]\n"
msgstr ""
-#: src/readelf.c:1657
+#: src/readelf.c:1745
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr ""
-#: src/readelf.c:1770 src/readelf.c:1960
+#: src/readelf.c:1858 src/readelf.c:2048
#, c-format
msgid ""
"\n"
"Invalid symbol table at offset %#0<PRIx64>\n"
msgstr ""
-#: src/readelf.c:1788 src/readelf.c:1978
+#: src/readelf.c:1876 src/readelf.c:2066
#, c-format
msgid ""
"\n"
@@ -4619,7 +4701,7 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1803 src/readelf.c:1993
+#: src/readelf.c:1891 src/readelf.c:2081
#, c-format
msgid ""
"\n"
@@ -4630,29 +4712,29 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1813
+#: src/readelf.c:1901
msgid " Offset Type Value Name\n"
msgstr ""
-#: src/readelf.c:1815
+#: src/readelf.c:1903
msgid " Offset Type Value Name\n"
msgstr ""
-#: src/readelf.c:1868 src/readelf.c:1879 src/readelf.c:1892 src/readelf.c:1913
-#: src/readelf.c:1925 src/readelf.c:2059 src/readelf.c:2071 src/readelf.c:2085
-#: src/readelf.c:2107 src/readelf.c:2120
+#: src/readelf.c:1956 src/readelf.c:1967 src/readelf.c:1980 src/readelf.c:2001
+#: src/readelf.c:2013 src/readelf.c:2147 src/readelf.c:2159 src/readelf.c:2173
+#: src/readelf.c:2195 src/readelf.c:2208
msgid "<INVALID RELOC>"
msgstr ""
-#: src/readelf.c:2003
+#: src/readelf.c:2091
msgid " Offset Type Value Addend Name\n"
msgstr ""
-#: src/readelf.c:2005
+#: src/readelf.c:2093
msgid " Offset Type Value Addend Name\n"
msgstr ""
-#: src/readelf.c:2216
+#: src/readelf.c:2314
#, c-format
msgid ""
"\n"
@@ -4663,40 +4745,40 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2221
+#: src/readelf.c:2319
#, 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:2229
+#: src/readelf.c:2327
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: src/readelf.c:2231
+#: src/readelf.c:2329
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr ""
-#: src/readelf.c:2251
+#: src/readelf.c:2349
#, c-format
msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s"
msgstr ""
-#: src/readelf.c:2339
+#: src/readelf.c:2437
#, c-format
msgid "bad dynamic symbol"
msgstr ""
-#: src/readelf.c:2421
+#: src/readelf.c:2519
msgid "none"
msgstr "keine"
-#: src/readelf.c:2438
+#: src/readelf.c:2536
msgid "| <unknown>"
msgstr "| <unbekannt>"
-#: src/readelf.c:2469
+#: src/readelf.c:2567
#, c-format
msgid ""
"\n"
@@ -4709,17 +4791,17 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2490
+#: src/readelf.c:2588
#, fuzzy, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: Version: %hu Datei: %s Cnt: %hu\n"
-#: src/readelf.c:2503
+#: src/readelf.c:2601
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: Name: %s Flags: %s Version: %hu\n"
-#: src/readelf.c:2546
+#: src/readelf.c:2644
#, c-format
msgid ""
"\n"
@@ -4732,17 +4814,17 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2574
+#: src/readelf.c:2672
#, c-format
msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n"
msgstr ""
-#: src/readelf.c:2589
+#: src/readelf.c:2687
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr ""
-#: src/readelf.c:2850
+#: src/readelf.c:2948
#, c-format
msgid ""
"\n"
@@ -4755,15 +4837,15 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2878
+#: src/readelf.c:2976
msgid " 0 *local* "
msgstr " 0 *lokal* "
-#: src/readelf.c:2883
+#: src/readelf.c:2981
msgid " 1 *global* "
msgstr " 1 *global* "
-#: src/readelf.c:2925
+#: src/readelf.c:3023
#, c-format
msgid ""
"\n"
@@ -4778,56 +4860,56 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:2947
+#: src/readelf.c:3045
#, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr ""
-#: src/readelf.c:2949
+#: src/readelf.c:3047
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:2956
+#: src/readelf.c:3054
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:2969
+#: src/readelf.c:3067
#, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
"\t\t\t unsuccessful lookup: %f\n"
msgstr ""
-#: src/readelf.c:2987 src/readelf.c:3042 src/readelf.c:3099
+#: src/readelf.c:3085 src/readelf.c:3140 src/readelf.c:3197
#, c-format
msgid "cannot get data for section %d: %s"
msgstr ""
-#: src/readelf.c:2995
+#: src/readelf.c:3093
#, fuzzy, c-format
msgid "invalid data in sysv.hash section %d"
msgstr "ungültige .debug_line Sektion"
-#: src/readelf.c:3050
+#: src/readelf.c:3148
#, fuzzy, c-format
msgid "invalid data in sysv.hash64 section %d"
msgstr "ungültige .debug_line Sektion"
-#: src/readelf.c:3108
+#: src/readelf.c:3206
#, fuzzy, c-format
msgid "invalid data in gnu.hash section %d"
msgstr "ungültige .debug_line Sektion"
-#: src/readelf.c:3175
+#: src/readelf.c:3273
#, c-format
msgid ""
" Symbol Bias: %u\n"
" Bitmask Size: %zu bytes %<PRIuFAST32>%% bits set 2nd hash shift: %u\n"
msgstr ""
-#: src/readelf.c:3250
+#: src/readelf.c:3358
#, c-format
msgid ""
"\n"
@@ -4838,13 +4920,13 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:3264
+#: src/readelf.c:3372
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
msgstr ""
-#: src/readelf.c:3314
+#: src/readelf.c:3422
#, c-format
msgid ""
"\n"
@@ -4852,140 +4934,140 @@ msgid ""
"%#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:3331
+#: src/readelf.c:3439
msgid " Owner Size\n"
msgstr ""
-#: src/readelf.c:3360
+#: src/readelf.c:3468
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
-#: src/readelf.c:3399
+#: src/readelf.c:3507
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
-#: src/readelf.c:3404
+#: src/readelf.c:3512
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " File: %11<PRIu32>\n"
-#: src/readelf.c:3453
+#: src/readelf.c:3561
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>, %s\n"
-#: src/readelf.c:3456
+#: src/readelf.c:3564
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3459
+#: src/readelf.c:3567
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3469
+#: src/readelf.c:3577
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3472
+#: src/readelf.c:3580
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3517
+#: src/readelf.c:3625
#, c-format
msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3520
+#: src/readelf.c:3628
#, c-format
msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3525
+#: src/readelf.c:3633
#, c-format
msgid "%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3528
+#: src/readelf.c:3636
#, c-format
msgid "%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3534
+#: src/readelf.c:3642
#, c-format
msgid "%s+%#<PRIx64> <%s>"
msgstr "%s+%#<PRIx64> <%s>"
-#: src/readelf.c:3537
+#: src/readelf.c:3645
#, c-format
msgid "%s+%#0*<PRIx64> <%s>"
msgstr "%s+%#0*<PRIx64> <%s>"
-#: src/readelf.c:3541
+#: src/readelf.c:3649
#, c-format
msgid "%#<PRIx64> <%s>"
msgstr "%#<PRIx64> <%s>"
-#: src/readelf.c:3544
+#: src/readelf.c:3652
#, c-format
msgid "%#0*<PRIx64> <%s>"
msgstr "%#0*<PRIx64> <%s>"
-#: src/readelf.c:3549
+#: src/readelf.c:3657
#, c-format
msgid "%s+%#<PRIx64>"
msgstr "%s+%#<PRIx64>"
-#: src/readelf.c:3552
+#: src/readelf.c:3660
#, c-format
msgid "%s+%#0*<PRIx64>"
msgstr "%s+%#0*<PRIx64>"
-#: src/readelf.c:3930
+#: src/readelf.c:4038
msgid "empty block"
msgstr ""
-#: src/readelf.c:3933
+#: src/readelf.c:4041
#, c-format
msgid "%zu byte block:"
msgstr ""
-#: src/readelf.c:4330
+#: src/readelf.c:4438
#, c-format
msgid "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
msgstr ""
-#: src/readelf.c:4387
+#: src/readelf.c:4495
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr ""
-#: src/readelf.c:4394
+#: src/readelf.c:4502
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr ""
-#: src/readelf.c:4401
+#: src/readelf.c:4509
#, c-format
msgid "%s %#<PRIx64> used with different base addresses"
msgstr ""
-#: src/readelf.c:4490
+#: src/readelf.c:4598
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr ""
-#: src/readelf.c:4498
+#: src/readelf.c:4606
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr ""
-#: src/readelf.c:4524
+#: src/readelf.c:4632
#, c-format
msgid ""
"\n"
@@ -4993,37 +5075,37 @@ msgid ""
" [ Code]\n"
msgstr ""
-#: src/readelf.c:4532
+#: src/readelf.c:4640
#, c-format
msgid ""
"\n"
"Abbreviation section at offset %<PRIu64>:\n"
msgstr ""
-#: src/readelf.c:4545
+#: src/readelf.c:4653
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr ""
-#: src/readelf.c:4561
+#: src/readelf.c:4669
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr ""
-#: src/readelf.c:4564
+#: src/readelf.c:4672
msgid "yes"
msgstr "ja"
-#: src/readelf.c:4564
+#: src/readelf.c:4672
msgid "no"
msgstr "nein"
-#: src/readelf.c:4598 src/readelf.c:4671
+#: src/readelf.c:4706 src/readelf.c:4779
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr ""
-#: src/readelf.c:4613
+#: src/readelf.c:4721
#, c-format
msgid ""
"\n"
@@ -5034,193 +5116,193 @@ msgid_plural ""
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:4644
+#: src/readelf.c:4752
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:4646
+#: src/readelf.c:4754
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
msgstr ""
-#: src/readelf.c:4676 src/readelf.c:4830 src/readelf.c:5406 src/readelf.c:6360
-#: src/readelf.c:6892 src/readelf.c:7012 src/readelf.c:7176 src/readelf.c:7601
+#: src/readelf.c:4784 src/readelf.c:4938 src/readelf.c:5514 src/readelf.c:6468
+#: src/readelf.c:7000 src/readelf.c:7120 src/readelf.c:7284 src/readelf.c:7709
#, c-format
msgid ""
"\n"
"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:4689 src/readelf.c:6386
+#: src/readelf.c:4797 src/readelf.c:6494
#, c-format
msgid ""
"\n"
"Table at offset %zu:\n"
msgstr ""
-#: src/readelf.c:4693 src/readelf.c:5430 src/readelf.c:6397
+#: src/readelf.c:4801 src/readelf.c:5538 src/readelf.c:6505
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr ""
-#: src/readelf.c:4709
+#: src/readelf.c:4817
#, fuzzy, c-format
msgid ""
"\n"
" Length: %6<PRIu64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:4721
+#: src/readelf.c:4829
#, fuzzy, c-format
msgid " DWARF version: %6<PRIuFAST16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:4725
+#: src/readelf.c:4833
#, c-format
msgid "unsupported aranges version"
msgstr ""
-#: src/readelf.c:4736
+#: src/readelf.c:4844
#, fuzzy, c-format
msgid " CU offset: %6<PRIx64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:4742
+#: src/readelf.c:4850
#, c-format
msgid " Address size: %6<PRIu64>\n"
msgstr ""
-#: src/readelf.c:4746
+#: src/readelf.c:4854
#, fuzzy, c-format
msgid "unsupported address size"
msgstr "Kein Adress-Wert"
-#: src/readelf.c:4751
+#: src/readelf.c:4859
#, c-format
msgid ""
" Segment size: %6<PRIu64>\n"
"\n"
msgstr ""
-#: src/readelf.c:4755
+#: src/readelf.c:4863
#, c-format
msgid "unsupported segment size"
msgstr ""
-#: src/readelf.c:4795
+#: src/readelf.c:4903
#, fuzzy, c-format
msgid " %s..%s (%<PRIx64>)\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:4798
+#: src/readelf.c:4906
#, fuzzy, c-format
msgid " %s..%s\n"
msgstr " [%6tx] %s..%s\n"
-#: src/readelf.c:4807
+#: src/readelf.c:4915
#, c-format
msgid " %zu padding bytes\n"
msgstr ""
-#: src/readelf.c:4825
+#: src/readelf.c:4933
#, c-format
msgid "cannot get .debug_ranges content: %s"
msgstr ""
-#: src/readelf.c:4855 src/readelf.c:6919
+#: src/readelf.c:4963 src/readelf.c:7027
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr ""
-#: src/readelf.c:4877 src/readelf.c:6941
+#: src/readelf.c:4985 src/readelf.c:7049
#, c-format
msgid " [%6tx] base address %s\n"
msgstr ""
-#: src/readelf.c:4884 src/readelf.c:6948
+#: src/readelf.c:4992 src/readelf.c:7056
#, fuzzy, c-format
msgid " [%6tx] empty list\n"
msgstr " [%6tx] %s..%s\n"
-#: src/readelf.c:4895
+#: src/readelf.c:5003
#, c-format
msgid " [%6tx] %s..%s\n"
msgstr " [%6tx] %s..%s\n"
-#: src/readelf.c:4897
+#: src/readelf.c:5005
#, c-format
msgid " %s..%s\n"
msgstr " %s..%s\n"
-#: src/readelf.c:5076
+#: src/readelf.c:5184
msgid " <INVALID DATA>\n"
msgstr ""
-#: src/readelf.c:5385
+#: src/readelf.c:5493
#, fuzzy, c-format
msgid "cannot get ELF: %s"
msgstr "ELF Kopf konnte nicht ausgelesen werden"
-#: src/readelf.c:5402
+#: src/readelf.c:5510
#, c-format
msgid ""
"\n"
"Call frame information section [%2zu] '%s' at offset %#<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:5452
+#: src/readelf.c:5560
#, c-format
msgid ""
"\n"
" [%6tx] Zero terminator\n"
msgstr ""
-#: src/readelf.c:5545 src/readelf.c:5700
+#: src/readelf.c:5653 src/readelf.c:5808
#, fuzzy, c-format
msgid "invalid augmentation length"
msgstr "ungültige Abschnittsausrichtung"
-#: src/readelf.c:5560
+#: src/readelf.c:5668
msgid "FDE address encoding: "
msgstr ""
-#: src/readelf.c:5566
+#: src/readelf.c:5674
msgid "LSDA pointer encoding: "
msgstr ""
-#: src/readelf.c:5677
+#: src/readelf.c:5785
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr ""
-#: src/readelf.c:5684
+#: src/readelf.c:5792
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr ""
-#: src/readelf.c:5721
+#: src/readelf.c:5829
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr ""
-#: src/readelf.c:5776
+#: src/readelf.c:5884
#, c-format
msgid "cannot get attribute code: %s"
msgstr ""
-#: src/readelf.c:5785
+#: src/readelf.c:5893
#, c-format
msgid "cannot get attribute form: %s"
msgstr ""
-#: src/readelf.c:5800
+#: src/readelf.c:5908
#, c-format
msgid "cannot get attribute value: %s"
msgstr ""
-#: src/readelf.c:6099
+#: src/readelf.c:6207
#, c-format
msgid ""
"\n"
@@ -5228,7 +5310,7 @@ msgid ""
" [Offset]\n"
msgstr ""
-#: src/readelf.c:6131
+#: src/readelf.c:6239
#, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5237,7 +5319,7 @@ msgid ""
" Type signature: %#<PRIx64>, Type offset: %#<PRIx64>\n"
msgstr ""
-#: src/readelf.c:6140
+#: src/readelf.c:6248
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5245,32 +5327,32 @@ msgid ""
"%<PRIu8>, Offset size: %<PRIu8>\n"
msgstr ""
-#: src/readelf.c:6165
+#: src/readelf.c:6273
#, c-format
msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s"
msgstr ""
-#: src/readelf.c:6179
+#: src/readelf.c:6287
#, c-format
msgid "cannot get DIE offset: %s"
msgstr ""
-#: src/readelf.c:6188
+#: src/readelf.c:6296
#, c-format
msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s"
msgstr ""
-#: src/readelf.c:6220
+#: src/readelf.c:6328
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr ""
-#: src/readelf.c:6228
+#: src/readelf.c:6336
#, c-format
msgid "cannot get next DIE: %s"
msgstr ""
-#: src/readelf.c:6264
+#: src/readelf.c:6372
#, c-format
msgid ""
"\n"
@@ -5278,12 +5360,12 @@ msgid ""
"\n"
msgstr ""
-#: src/readelf.c:6373
+#: src/readelf.c:6481
#, c-format
msgid "cannot get line data section data: %s"
msgstr ""
-#: src/readelf.c:6443
+#: src/readelf.c:6551
#, c-format
msgid ""
"\n"
@@ -5300,249 +5382,249 @@ msgid ""
"Opcodes:\n"
msgstr ""
-#: src/readelf.c:6464
+#: src/readelf.c:6572
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
msgstr ""
-#: src/readelf.c:6479
+#: src/readelf.c:6587
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:6487
+#: src/readelf.c:6595
msgid ""
"\n"
"Directory table:"
msgstr ""
-#: src/readelf.c:6503
+#: src/readelf.c:6611
msgid ""
"\n"
"File name table:\n"
" Entry Dir Time Size Name"
msgstr ""
-#: src/readelf.c:6538
+#: src/readelf.c:6646
msgid ""
"\n"
"Line number statements:"
msgstr ""
-#: src/readelf.c:6589
+#: src/readelf.c:6697
#, c-format
msgid "invalid maximum operations per instruction is zero"
msgstr ""
-#: src/readelf.c:6625
+#: src/readelf.c:6733
#, c-format
msgid " special opcode %u: address+%u = %s, op_index = %u, line%+d = %zu\n"
msgstr ""
-#: src/readelf.c:6630
+#: src/readelf.c:6738
#, c-format
msgid " special opcode %u: address+%u = %s, line%+d = %zu\n"
msgstr ""
-#: src/readelf.c:6650
+#: src/readelf.c:6758
#, c-format
msgid " extended opcode %u: "
msgstr ""
-#: src/readelf.c:6655
+#: src/readelf.c:6763
msgid " end of sequence"
msgstr ""
-#: src/readelf.c:6674
+#: src/readelf.c:6782
#, c-format
msgid " set address to %s\n"
msgstr ""
-#: src/readelf.c:6701
+#: src/readelf.c:6809
#, c-format
msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
msgstr ""
-#: src/readelf.c:6714
+#: src/readelf.c:6822
#, c-format
msgid " set discriminator to %u\n"
msgstr ""
-#: src/readelf.c:6719
+#: src/readelf.c:6827
#, fuzzy
msgid " unknown opcode"
msgstr "unbekannter Typ"
-#: src/readelf.c:6731
+#: src/readelf.c:6839
msgid " copy"
msgstr ""
-#: src/readelf.c:6742
+#: src/readelf.c:6850
#, c-format
msgid " advance address by %u to %s, op_index to %u\n"
msgstr ""
-#: src/readelf.c:6746
+#: src/readelf.c:6854
#, c-format
msgid " advance address by %u to %s\n"
msgstr ""
-#: src/readelf.c:6757
+#: src/readelf.c:6865
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr ""
-#: src/readelf.c:6765
+#: src/readelf.c:6873
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr ""
-#: src/readelf.c:6775
+#: src/readelf.c:6883
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr ""
-#: src/readelf.c:6782
+#: src/readelf.c:6890
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr ""
-#: src/readelf.c:6788
+#: src/readelf.c:6896
msgid " set basic block flag"
msgstr ""
-#: src/readelf.c:6801
+#: src/readelf.c:6909
#, c-format
msgid " advance address by constant %u to %s, op_index to %u\n"
msgstr ""
-#: src/readelf.c:6805
+#: src/readelf.c:6913
#, c-format
msgid " advance address by constant %u to %s\n"
msgstr ""
-#: src/readelf.c:6823
+#: src/readelf.c:6931
#, c-format
msgid " advance address by fixed value %u to %s\n"
msgstr ""
-#: src/readelf.c:6832
+#: src/readelf.c:6940
msgid " set prologue end flag"
msgstr ""
-#: src/readelf.c:6837
+#: src/readelf.c:6945
msgid " set epilogue begin flag"
msgstr ""
-#: src/readelf.c:6846
+#: src/readelf.c:6954
#, c-format
msgid " set isa to %u\n"
msgstr ""
-#: src/readelf.c:6855
+#: src/readelf.c:6963
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:6887
+#: src/readelf.c:6995
#, c-format
msgid "cannot get .debug_loc content: %s"
msgstr ""
-#: src/readelf.c:6962
+#: src/readelf.c:7070
#, c-format
msgid " [%6tx] %s..%s"
msgstr " [%6tx] %s..%s"
-#: src/readelf.c:6964
+#: src/readelf.c:7072
#, c-format
msgid " %s..%s"
msgstr " %s..%s"
-#: src/readelf.c:6971 src/readelf.c:7859
+#: src/readelf.c:7079 src/readelf.c:7967
msgid " <INVALID DATA>\n"
msgstr ""
-#: src/readelf.c:7023 src/readelf.c:7185
+#: src/readelf.c:7131 src/readelf.c:7293
#, c-format
msgid "cannot get macro information section data: %s"
msgstr ""
-#: src/readelf.c:7103
+#: src/readelf.c:7211
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr ""
-#: src/readelf.c:7126
+#: src/readelf.c:7234
#, c-format
msgid "%*s*** missing DW_MACINFO_start_file argument at end of section"
msgstr ""
-#: src/readelf.c:7226
+#: src/readelf.c:7334
#, fuzzy, c-format
msgid " Offset: 0x%<PRIx64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:7238
+#: src/readelf.c:7346
#, fuzzy, c-format
msgid " Version: %<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:7244 src/readelf.c:7978
+#: src/readelf.c:7352 src/readelf.c:8086
#, c-format
msgid " unknown version, cannot parse section\n"
msgstr ""
-#: src/readelf.c:7251
+#: src/readelf.c:7359
#, fuzzy, c-format
msgid " Flag: 0x%<PRIx8>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:7254
+#: src/readelf.c:7362
#, c-format
msgid " Offset length: %<PRIu8>\n"
msgstr ""
-#: src/readelf.c:7262
+#: src/readelf.c:7370
#, c-format
msgid " .debug_line offset: 0x%<PRIx64>\n"
msgstr ""
-#: src/readelf.c:7275
+#: src/readelf.c:7383
#, c-format
msgid " extension opcode table, %<PRIu8> items:\n"
msgstr ""
-#: src/readelf.c:7282
+#: src/readelf.c:7390
#, c-format
msgid " [%<PRIx8>]"
msgstr ""
-#: src/readelf.c:7294
+#: src/readelf.c:7402
#, c-format
msgid " %<PRIu8> arguments:"
msgstr ""
-#: src/readelf.c:7322
+#: src/readelf.c:7430
#, c-format
msgid " no arguments."
msgstr ""
-#: src/readelf.c:7559
+#: src/readelf.c:7667
#, c-format
msgid "vendor opcode not verified?"
msgstr ""
-#: src/readelf.c:7587
+#: src/readelf.c:7695
#, c-format
msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
msgstr ""
-#: src/readelf.c:7628
+#: src/readelf.c:7736
#, c-format
msgid ""
"\n"
@@ -5550,47 +5632,47 @@ msgid ""
" %*s String\n"
msgstr ""
-#: src/readelf.c:7642
+#: src/readelf.c:7750
#, c-format
msgid " *** error while reading strings: %s\n"
msgstr ""
-#: src/readelf.c:7662
+#: src/readelf.c:7770
#, c-format
msgid ""
"\n"
"Call frame search table section [%2zu] '.eh_frame_hdr':\n"
msgstr ""
-#: src/readelf.c:7764
+#: src/readelf.c:7872
#, c-format
msgid ""
"\n"
"Exception handling table section [%2zu] '.gcc_except_table':\n"
msgstr ""
-#: src/readelf.c:7787
+#: src/readelf.c:7895
#, c-format
msgid " LPStart encoding: %#x "
msgstr ""
-#: src/readelf.c:7799
+#: src/readelf.c:7907
#, c-format
msgid " TType encoding: %#x "
msgstr ""
-#: src/readelf.c:7814
+#: src/readelf.c:7922
#, c-format
msgid " Call site encoding: %#x "
msgstr ""
-#: src/readelf.c:7827
+#: src/readelf.c:7935
msgid ""
"\n"
" Call site table:"
msgstr ""
-#: src/readelf.c:7841
+#: src/readelf.c:7949
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -5599,193 +5681,209 @@ msgid ""
" Action: %u\n"
msgstr ""
-#: src/readelf.c:7914
+#: src/readelf.c:8022
#, c-format
msgid "invalid TType encoding"
msgstr ""
-#: src/readelf.c:7940
+#: src/readelf.c:8048
#, c-format
msgid ""
"\n"
"GDB section [%2zu] '%s' at offset %#<PRIx64> contains %<PRId64> bytes :\n"
msgstr ""
-#: src/readelf.c:7969
+#: src/readelf.c:8077
#, fuzzy, c-format
msgid " Version: %<PRId32>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:7987
+#: src/readelf.c:8095
#, c-format
msgid " CU offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:7994
+#: src/readelf.c:8102
#, c-format
msgid " TU offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:8001
+#: src/readelf.c:8109
#, c-format
msgid " address offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:8008
+#: src/readelf.c:8116
#, c-format
msgid " symbol offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:8015
+#: src/readelf.c:8123
#, c-format
msgid " constant offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:8029
+#: src/readelf.c:8137
#, c-format
msgid ""
"\n"
" CU list at offset %#<PRIx32> contains %zu entries:\n"
msgstr ""
-#: src/readelf.c:8054
+#: src/readelf.c:8162
#, c-format
msgid ""
"\n"
" TU list at offset %#<PRIx32> contains %zu entries:\n"
msgstr ""
-#: src/readelf.c:8083
+#: src/readelf.c:8191
#, c-format
msgid ""
"\n"
" Address list at offset %#<PRIx32> contains %zu entries:\n"
msgstr ""
-#: src/readelf.c:8116
+#: src/readelf.c:8224
#, c-format
msgid ""
"\n"
" Symbol table at offset %#<PRIx32> contains %zu slots:\n"
msgstr ""
-#: src/readelf.c:8203
+#: src/readelf.c:8311
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr ""
-#: src/readelf.c:8361 src/readelf.c:8983 src/readelf.c:9094 src/readelf.c:9152
+#: src/readelf.c:8467 src/readelf.c:9089 src/readelf.c:9200 src/readelf.c:9258
#, c-format
msgid "cannot convert core note data: %s"
msgstr ""
-#: src/readelf.c:8724
+#: src/readelf.c:8830
#, c-format
msgid ""
"\n"
"%*s... <repeats %u more times> ..."
msgstr ""
-#: src/readelf.c:9231
+#: src/readelf.c:9337
msgid " Owner Data size Type\n"
msgstr ""
-#: src/readelf.c:9249
+#: src/readelf.c:9355
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr ""
-#: src/readelf.c:9299
+#: src/readelf.c:9405
#, c-format
msgid "cannot get content of note section: %s"
msgstr ""
-#: src/readelf.c:9326
+#: src/readelf.c:9432
#, c-format
msgid ""
"\n"
"Note section [%2zu] '%s' of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:9349
+#: src/readelf.c:9455
#, c-format
msgid ""
"\n"
"Note segment of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:9395
+#: src/readelf.c:9501
#, fuzzy, c-format
msgid ""
"\n"
"Section [%zu] '%s' has no data to dump.\n"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:9401 src/readelf.c:9424
+#: src/readelf.c:9518 src/readelf.c:9559
#, fuzzy, c-format
msgid "cannot get data for section [%zu] '%s': %s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:9405
+#: src/readelf.c:9523
#, c-format
msgid ""
"\n"
"Hex dump of section [%zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:9418
+#: src/readelf.c:9528
+#, c-format
+msgid ""
+"\n"
+"Hex dump of section [%zu] '%s', %<PRIu64> bytes (%zd uncompressed) at offset "
+"%#0<PRIx64>:\n"
+msgstr ""
+
+#: src/readelf.c:9542
#, fuzzy, c-format
msgid ""
"\n"
"Section [%zu] '%s' has no strings to dump.\n"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:9428
+#: src/readelf.c:9564
#, c-format
msgid ""
"\n"
"String section [%zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:9476
+#: src/readelf.c:9569
+#, c-format
+msgid ""
+"\n"
+"String section [%zu] '%s' contains %<PRIu64> bytes (%zd uncompressed) at "
+"offset %#0<PRIx64>:\n"
+msgstr ""
+
+#: src/readelf.c:9618
#, c-format
msgid ""
"\n"
"section [%lu] does not exist"
msgstr ""
-#: src/readelf.c:9505
+#: src/readelf.c:9647
#, c-format
msgid ""
"\n"
"section '%s' does not exist"
msgstr ""
-#: src/readelf.c:9562
+#: src/readelf.c:9704
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr ""
-#: src/readelf.c:9565
+#: src/readelf.c:9707
#, c-format
msgid ""
"\n"
"Archive '%s' has no symbol index\n"
msgstr ""
-#: src/readelf.c:9569
+#: src/readelf.c:9711
#, c-format
msgid ""
"\n"
"Index of archive '%s' has %zu entries:\n"
msgstr ""
-#: src/readelf.c:9587
+#: src/readelf.c:9729
#, fuzzy, c-format
msgid "cannot extract member at offset %zu in '%s': %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/readelf.c:9592
+#: src/readelf.c:9734
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr ""
@@ -6300,12 +6398,12 @@ msgstr ""
msgid "cannot copy ELF header: %s"
msgstr ""
-#: src/unstrip.c:261 src/unstrip.c:1903 src/unstrip.c:1947
+#: src/unstrip.c:261 src/unstrip.c:1939 src/unstrip.c:1982
#, fuzzy, c-format
msgid "cannot get number of program headers: %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/unstrip.c:266 src/unstrip.c:1907
+#: src/unstrip.c:266 src/unstrip.c:1943
#, c-format
msgid "cannot create program headers: %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
@@ -6320,12 +6418,12 @@ msgstr "konnte Programm-Kopf nicht kopieren: %s"
msgid "cannot copy section header: %s"
msgstr ""
-#: src/unstrip.c:285 src/unstrip.c:1541
+#: src/unstrip.c:285 src/unstrip.c:1576
#, c-format
msgid "cannot get section data: %s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/unstrip.c:287 src/unstrip.c:1543
+#: src/unstrip.c:287 src/unstrip.c:1578
#, c-format
msgid "cannot copy section data: %s"
msgstr "konnte Abschnittsdaten nicht kopieren: %s"
@@ -6335,214 +6433,214 @@ msgstr "konnte Abschnittsdaten nicht kopieren: %s"
msgid "cannot create directory '%s'"
msgstr "konnte Verzeichnis nicht erstellen: %s"
-#: src/unstrip.c:351 src/unstrip.c:768 src/unstrip.c:1575
+#: src/unstrip.c:383 src/unstrip.c:803 src/unstrip.c:1610
#, c-format
msgid "cannot get symbol table entry: %s"
msgstr "konnte Eintrag aus der Symboltabelle nicht holen: %s"
-#: src/unstrip.c:367 src/unstrip.c:585 src/unstrip.c:606 src/unstrip.c:618
-#: src/unstrip.c:1596 src/unstrip.c:1769 src/unstrip.c:1793
+#: src/unstrip.c:399 src/unstrip.c:620 src/unstrip.c:641 src/unstrip.c:653
+#: src/unstrip.c:1631 src/unstrip.c:1805 src/unstrip.c:1829
#, c-format
msgid "cannot update symbol table: %s"
msgstr "konnte Symboltabelle nicht aktualisieren: %s"
-#: src/unstrip.c:377
+#: src/unstrip.c:409
#, c-format
msgid "cannot update section header: %s"
msgstr ""
-#: src/unstrip.c:416 src/unstrip.c:427
+#: src/unstrip.c:448 src/unstrip.c:459
#, c-format
msgid "cannot update relocation: %s"
msgstr ""
-#: src/unstrip.c:514
+#: src/unstrip.c:547
#, c-format
msgid "cannot get symbol version: %s"
msgstr ""
-#: src/unstrip.c:526
+#: src/unstrip.c:560
#, c-format
msgid "unexpected section type in [%zu] with sh_link to symtab"
msgstr ""
-#: src/unstrip.c:774
+#: src/unstrip.c:809
#, fuzzy, c-format
msgid "invalid string offset in symbol [%zu]"
msgstr "ungültiger Offset %zu für Symbol %s"
-#: src/unstrip.c:932 src/unstrip.c:1278
+#: src/unstrip.c:967 src/unstrip.c:1313
#, fuzzy, c-format
msgid "cannot read section [%zu] name: %s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/unstrip.c:973 src/unstrip.c:992 src/unstrip.c:1027
+#: src/unstrip.c:1008 src/unstrip.c:1027 src/unstrip.c:1062
#, c-format
msgid "cannot read '.gnu.prelink_undo' section: %s"
msgstr ""
-#: src/unstrip.c:1013
+#: src/unstrip.c:1048
#, c-format
msgid "invalid contents in '%s' section"
msgstr ""
-#: src/unstrip.c:1019
+#: src/unstrip.c:1054
#, c-format
msgid "overflow with shnum = %zu in '%s' section"
msgstr ""
-#: src/unstrip.c:1073 src/unstrip.c:1398
+#: src/unstrip.c:1108 src/unstrip.c:1433
#, fuzzy, c-format
msgid "cannot find matching section for [%zu] '%s'"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/unstrip.c:1198 src/unstrip.c:1213 src/unstrip.c:1479 src/unstrip.c:1731
+#: src/unstrip.c:1233 src/unstrip.c:1248 src/unstrip.c:1514 src/unstrip.c:1766
#, c-format
msgid "cannot add section name to string table: %s"
msgstr ""
-#: src/unstrip.c:1222
+#: src/unstrip.c:1257
#, c-format
msgid "cannot update section header string table data: %s"
msgstr ""
-#: src/unstrip.c:1249 src/unstrip.c:1253
+#: src/unstrip.c:1284 src/unstrip.c:1288
#, c-format
msgid "cannot get section header string table section index: %s"
msgstr ""
-#: src/unstrip.c:1257 src/unstrip.c:1261 src/unstrip.c:1494
+#: src/unstrip.c:1292 src/unstrip.c:1296 src/unstrip.c:1529
#, c-format
msgid "cannot get section count: %s"
msgstr ""
-#: src/unstrip.c:1264
+#: src/unstrip.c:1299
#, c-format
msgid "more sections in stripped file than debug file -- arguments reversed?"
msgstr ""
-#: src/unstrip.c:1323 src/unstrip.c:1413
+#: src/unstrip.c:1358 src/unstrip.c:1448
#, c-format
msgid "cannot read section header string table: %s"
msgstr ""
-#: src/unstrip.c:1473
+#: src/unstrip.c:1508
#, c-format
msgid "cannot add new section: %s"
msgstr ""
-#: src/unstrip.c:1583
+#: src/unstrip.c:1618
#, fuzzy, c-format
msgid "symbol [%zu] has invalid section index"
msgstr "ungültiger Abschnittsindex"
-#: src/unstrip.c:1864
+#: src/unstrip.c:1900
#, fuzzy, c-format
msgid "cannot read section data: %s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/unstrip.c:1885
+#: src/unstrip.c:1921
#, c-format
msgid "cannot get ELF header: %s"
msgstr ""
-#: src/unstrip.c:1917
+#: src/unstrip.c:1953
#, c-format
msgid "cannot update program header: %s"
msgstr "konnte Programm-Kopf nicht aktualisieren: %s"
-#: src/unstrip.c:1922 src/unstrip.c:2005
+#: src/unstrip.c:1958 src/unstrip.c:2040
#, c-format
msgid "cannot write output file: %s"
msgstr ""
-#: src/unstrip.c:1974
+#: src/unstrip.c:2009
#, c-format
msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
msgstr ""
-#: src/unstrip.c:1977
+#: src/unstrip.c:2012
#, c-format
msgid ""
"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
msgstr ""
-#: src/unstrip.c:1996 src/unstrip.c:2047 src/unstrip.c:2059 src/unstrip.c:2145
+#: src/unstrip.c:2031 src/unstrip.c:2082 src/unstrip.c:2094 src/unstrip.c:2180
#, c-format
msgid "cannot create ELF descriptor: %s"
msgstr ""
-#: src/unstrip.c:2038
+#: src/unstrip.c:2073
msgid "WARNING: "
msgstr ""
-#: src/unstrip.c:2040
+#: src/unstrip.c:2075
msgid ", use --force"
msgstr ""
-#: src/unstrip.c:2063
+#: src/unstrip.c:2098
msgid "ELF header identification (e_ident) different"
msgstr ""
-#: src/unstrip.c:2066
+#: src/unstrip.c:2101
msgid "ELF header type (e_type) different"
msgstr ""
-#: src/unstrip.c:2069
+#: src/unstrip.c:2104
msgid "ELF header machine type (e_machine) different"
msgstr ""
-#: src/unstrip.c:2072
+#: src/unstrip.c:2107
msgid "stripped program header (e_phnum) smaller than unstripped"
msgstr ""
-#: src/unstrip.c:2102
+#: src/unstrip.c:2137
#, c-format
msgid "cannot find stripped file for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2106
+#: src/unstrip.c:2141
#, c-format
msgid "cannot open stripped file '%s' for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2121
+#: src/unstrip.c:2156
#, c-format
msgid "cannot find debug file for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2125
+#: src/unstrip.c:2160
#, c-format
msgid "cannot open debug file '%s' for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2138
+#: src/unstrip.c:2173
#, c-format
msgid "module '%s' file '%s' is not stripped"
msgstr ""
-#: src/unstrip.c:2169
+#: src/unstrip.c:2204
#, c-format
msgid "cannot cache section addresses for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2302
+#: src/unstrip.c:2337
#, c-format
msgid "no matching modules found"
msgstr "kein passendes Modul gefunden"
-#: src/unstrip.c:2311
+#: src/unstrip.c:2346
#, c-format
msgid "matched more than one module"
msgstr "mehr als ein passendes Modul"
-#: src/unstrip.c:2355
+#: src/unstrip.c:2390
msgid ""
"STRIPPED-FILE DEBUG-FILE\n"
"[MODULE...]"
msgstr ""
-#: src/unstrip.c:2356
+#: src/unstrip.c:2391
msgid ""
"Combine stripped files with separate symbols and debug information.\vThe "
"first form puts the result in DEBUG-FILE if -o was not given.\n"
diff --git a/po/es.po b/po/es.po
index 71aec39d..ba586537 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: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-10-16 13:26+0200\n"
+"POT-Creation-Date: 2016-01-11 08:48+0100\n"
"PO-Revision-Date: 2011-01-10 15:17-0300\n"
"Last-Translator: Claudio Rodrigo Pereyra Diaz <claudiorodrigo@pereyradiaz."
"com.ar>\n"
@@ -44,8 +44,8 @@ msgstr ""
msgid "cannot allocate memory"
msgstr "No se puede asignar sección PLT: %s"
-#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3184
-#: src/readelf.c:3561 src/readelf.c:8310 src/unstrip.c:2198 src/unstrip.c:2403
+#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3282
+#: src/readelf.c:3669 src/readelf.c:8416 src/unstrip.c:2233 src/unstrip.c:2438
#, c-format
msgid "memory exhausted"
msgstr "memoria agotada"
@@ -248,7 +248,7 @@ msgstr "operando inválido"
msgid "not a CU (unit) DIE"
msgstr ""
-#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2345
+#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2380
msgid "Input selection options:"
msgstr "Opciones de selección de entrada:"
@@ -305,7 +305,12 @@ msgstr "imposible encontrar kernel o módulos"
msgid "cannot read ELF core file: %s"
msgstr "No se puede leer archivo core ELF: %s"
-#: libdwfl/argp-std.c:311
+#: libdwfl/argp-std.c:313
+#, fuzzy
+msgid "Not enough memory"
+msgstr "memoria agotada"
+
+#: libdwfl/argp-std.c:323
msgid "No modules recognized in core file"
msgstr "No hay módulos reconocidos en el archivo core"
@@ -482,57 +487,57 @@ msgstr "<desconocido>"
msgid "<unknown>: %#<PRIx64>"
msgstr "<desconocido>: %#<PRIx64>"
-#: libebl/eblobjnote.c:52
+#: libebl/eblobjnote.c:53
#, fuzzy, c-format
msgid "unknown SDT version %u\n"
msgstr "versión desconocida"
-#: libebl/eblobjnote.c:70
+#: libebl/eblobjnote.c:71
#, fuzzy, c-format
msgid "invalid SDT probe descriptor\n"
msgstr "descriptor de archivo inválido"
-#: libebl/eblobjnote.c:120
+#: libebl/eblobjnote.c:121
#, c-format
msgid " PC: "
msgstr ""
-#: libebl/eblobjnote.c:122
+#: libebl/eblobjnote.c:123
#, c-format
msgid " Base: "
msgstr ""
-#: libebl/eblobjnote.c:124
+#: libebl/eblobjnote.c:125
#, c-format
msgid " Semaphore: "
msgstr ""
-#: libebl/eblobjnote.c:126
+#: libebl/eblobjnote.c:127
#, c-format
msgid " Provider: "
msgstr ""
-#: libebl/eblobjnote.c:128
+#: libebl/eblobjnote.c:129
#, c-format
msgid " Name: "
msgstr ""
-#: libebl/eblobjnote.c:130
+#: libebl/eblobjnote.c:131
#, c-format
msgid " Args: "
msgstr ""
-#: libebl/eblobjnote.c:140
+#: libebl/eblobjnote.c:141
#, c-format
msgid " Build ID: "
msgstr " Build ID: "
-#: libebl/eblobjnote.c:151
+#: libebl/eblobjnote.c:152
#, c-format
msgid " Linker version: %.*s\n"
msgstr " Versión del Enlazador: %.*s\n"
-#: libebl/eblobjnote.c:212
+#: libebl/eblobjnote.c:213
#, c-format
msgid " OS: %s, ABI: "
msgstr " OS: %s, ABI: "
@@ -566,7 +571,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:5365
+#: libelf/elf_error.c:87 src/readelf.c:5473
#, c-format
msgid "invalid encoding"
msgstr "codificación inválida"
@@ -647,8 +652,8 @@ msgstr "no coinciden los datos/scn"
msgid "invalid section header"
msgstr "encabezamiento de sección inválida"
-#: libelf/elf_error.c:187 src/readelf.c:7234 src/readelf.c:7682
-#: src/readelf.c:7783 src/readelf.c:7964
+#: libelf/elf_error.c:187 src/readelf.c:7342 src/readelf.c:7790
+#: src/readelf.c:7891 src/readelf.c:8072
#, c-format
msgid "invalid data"
msgstr "datos inválidos"
@@ -692,6 +697,40 @@ msgstr ""
msgid "file has no program header"
msgstr "el archivo no tiene encabezamiento de programa"
+#: libelf/elf_error.c:237
+#, fuzzy
+msgid "invalid section type"
+msgstr "sección inválida"
+
+#: libelf/elf_error.c:242
+#, fuzzy
+msgid "invalid section flags"
+msgstr "sección inválida"
+
+#: libelf/elf_error.c:247
+#, fuzzy
+msgid "section does not contain compressed data"
+msgstr "sección [%2zu] '%s' no debe ser ejecutable\n"
+
+#: libelf/elf_error.c:252
+msgid "section contains compressed data"
+msgstr ""
+
+#: libelf/elf_error.c:257
+#, fuzzy
+msgid "unknown compression type"
+msgstr "tipo desconocido"
+
+#: libelf/elf_error.c:262
+#, fuzzy
+msgid "cannot compress data"
+msgstr "no pueden copiar datos de sección: %s"
+
+#: libelf/elf_error.c:267
+#, fuzzy
+msgid "cannot decompress data"
+msgstr "no pueden copiar datos de sección: %s"
+
#: src/addr2line.c:58
#, fuzzy
msgid "Input format options:"
@@ -751,7 +790,7 @@ msgstr ""
msgid "Print all information on one line, and indent inlines"
msgstr ""
-#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:99
+#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:100
#: src/strings.c:79
msgid "Miscellaneous:"
msgstr "Misceláneos:"
@@ -767,9 +806,9 @@ msgstr ""
msgid "[ADDR...]"
msgstr "[DIREC...]"
-#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:670 src/elflint.c:235
-#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:261 src/objdump.c:177
-#: src/ranlib.c:124 src/readelf.c:500 src/size.c:207 src/strings.c:230
+#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:672 src/elflint.c:235
+#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:262 src/objdump.c:177
+#: src/ranlib.c:124 src/readelf.c:509 src/size.c:207 src/strings.c:230
#: src/strip.c:218 src/unstrip.c:232
#, c-format
msgid ""
@@ -783,9 +822,9 @@ msgstr ""
"garantía, ni siquiera para SU COMERCIALIZACIÓN o PARA SER USADO CON UN FIN "
"DETERMINADO.\n"
-#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:675 src/elflint.c:240
-#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:266 src/objdump.c:182
-#: src/ranlib.c:129 src/readelf.c:505 src/size.c:212 src/strings.c:235
+#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:677 src/elflint.c:240
+#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:267 src/objdump.c:182
+#: src/ranlib.c:129 src/readelf.c:514 src/size.c:212 src/strings.c:235
#: src/strip.c:223 src/unstrip.c:237
#, c-format
msgid "Written by %s.\n"
@@ -1259,40 +1298,40 @@ msgstr "%s %s differ: encabezamiento de programa %d"
msgid "%s %s differ: gap"
msgstr "%s %s differ: brecha"
-#: src/elfcmp.c:702
+#: src/elfcmp.c:704
#, c-format
msgid "Invalid value '%s' for --gaps parameter."
msgstr "Valor inválido '%s' para parámetro --gaps"
-#: src/elfcmp.c:730 src/findtextrel.c:221 src/ldgeneric.c:1757
-#: src/ldgeneric.c:4247 src/nm.c:377 src/ranlib.c:157 src/size.c:289
-#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:1994
-#: src/unstrip.c:2023
+#: src/elfcmp.c:732 src/findtextrel.c:221 src/ldgeneric.c:1757
+#: src/ldgeneric.c:4247 src/nm.c:378 src/ranlib.c:157 src/size.c:289
+#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:2029
+#: src/unstrip.c:2058
#, c-format
msgid "cannot open '%s'"
msgstr "Imposible abrir '%s'"
-#: src/elfcmp.c:734 src/findtextrel.c:228 src/ranlib.c:174
+#: src/elfcmp.c:736 src/findtextrel.c:228 src/ranlib.c:174
#, c-format
msgid "cannot create ELF descriptor for '%s': %s"
msgstr "No puede crear descriptor ELF para '%s': %s"
-#: src/elfcmp.c:739
+#: src/elfcmp.c:741
#, c-format
msgid "cannot create EBL descriptor for '%s'"
msgstr "no se puede crear el descriptor EBL para '%s'"
-#: src/elfcmp.c:757 src/findtextrel.c:409
+#: src/elfcmp.c:759 src/findtextrel.c:409
#, c-format
msgid "cannot get section header of section %zu: %s"
msgstr "No se puede obtener el encabezamiento de sección %zu: %s"
-#: src/elfcmp.c:767
+#: src/elfcmp.c:769
#, c-format
msgid "cannot get content of section %zu: %s"
msgstr "No se puede obtener contenido de sección %zu: %s"
-#: src/elfcmp.c:777 src/elfcmp.c:791
+#: src/elfcmp.c:779 src/elfcmp.c:793
#, c-format
msgid "cannot get relocation: %s"
msgstr "No se puede obtener reubicación: %s"
@@ -1321,11 +1360,11 @@ msgstr ""
msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
msgstr "Chequeo minucioso de ficheros ELF de acuerdo con gABI/psABI "
-#: src/elflint.c:78 src/readelf.c:123
+#: src/elflint.c:78 src/readelf.c:126
msgid "FILE..."
msgstr "FICHERO..."
-#: src/elflint.c:155 src/readelf.c:292
+#: src/elflint.c:155 src/readelf.c:298
#, c-format
msgid "cannot open input file"
msgstr "no se puede abrir el fichero de entrada"
@@ -1344,7 +1383,7 @@ msgstr "error al cerrar el descriptor ELF: %s\n"
msgid "No errors"
msgstr "No hay errores"
-#: src/elflint.c:219 src/readelf.c:468
+#: src/elflint.c:219 src/readelf.c:474
msgid "Missing file name.\n"
msgstr "Falta el nombre de archivo.\n"
@@ -1494,14 +1533,14 @@ msgstr ""
"sección [%2d] '%s': el grupo de sección [%2zu] '%s' no precede al miembro de "
"grupo\n"
-#: src/elflint.c:591 src/elflint.c:1471 src/elflint.c:1522 src/elflint.c:1628
-#: src/elflint.c:1964 src/elflint.c:2280 src/elflint.c:2893 src/elflint.c:3056
-#: src/elflint.c:3204 src/elflint.c:3394 src/elflint.c:4336
+#: src/elflint.c:591 src/elflint.c:1475 src/elflint.c:1526 src/elflint.c:1632
+#: src/elflint.c:1968 src/elflint.c:2284 src/elflint.c:2898 src/elflint.c:3061
+#: src/elflint.c:3209 src/elflint.c:3399 src/elflint.c:4366
#, c-format
msgid "section [%2d] '%s': cannot get section data\n"
msgstr "Sección [%2d] '%s': No se pueden obtener datos de sección\n"
-#: src/elflint.c:604 src/elflint.c:1635
+#: src/elflint.c:604 src/elflint.c:1639
#, c-format
msgid ""
"section [%2d] '%s': referenced as string table for section [%2d] '%s' but "
@@ -1610,12 +1649,12 @@ msgid ""
msgstr ""
"Sección [%2d] '%s': símbolo %zu: función en sección COMMON no tiene sentido\n"
-#: src/elflint.c:805
+#: src/elflint.c:809
#, c-format
msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n"
msgstr "sección [%2d] '%s': símbolo %zu: st_value fuera de límites\n"
-#: src/elflint.c:811 src/elflint.c:836 src/elflint.c:885
+#: src/elflint.c:815 src/elflint.c:840 src/elflint.c:889
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu does not fit completely in referenced section "
@@ -1624,7 +1663,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo %zu no se ajusta totalmente en la sección [%2d] "
"'%s'\n"
-#: src/elflint.c:820
+#: src/elflint.c:824
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have "
@@ -1633,7 +1672,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo %zu: sección de referencia [%2d] '%s' no tiene "
"establecida bandera SHF_TLS\n"
-#: src/elflint.c:830 src/elflint.c:878
+#: src/elflint.c:834 src/elflint.c:882
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section "
@@ -1642,7 +1681,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo %zu: st_value fuera de límites de sección de "
"referencia [%2d] '%s'\n"
-#: src/elflint.c:857
+#: src/elflint.c:861
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n"
@@ -1650,7 +1689,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo %zu: símbolo TLS, pero no hay entrada de "
"programa TLS\n"
-#: src/elflint.c:863
+#: src/elflint.c:867
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu: TLS symbol but couldn't get TLS program "
@@ -1659,7 +1698,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo %zu: símbolo TLS, pero no hay entrada de "
"programa TLS\n"
-#: src/elflint.c:871
+#: src/elflint.c:875
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] "
@@ -1668,7 +1707,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo %zu: st_value falta sección de referencia [%2d] "
"'%s'\n"
-#: src/elflint.c:898
+#: src/elflint.c:902
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: local symbol outside range described in "
@@ -1677,7 +1716,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo %zu: símbolo local fuera del rango descrito en "
"sh_info\n"
-#: src/elflint.c:905
+#: src/elflint.c:909
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: non-local symbol outside range described in "
@@ -1686,12 +1725,12 @@ msgstr ""
"Sección [%2d] '%s': símbolo %zu: símbolo non-local fuera del rango descrito "
"en sh_info\n"
-#: src/elflint.c:912
+#: src/elflint.c:916
#, c-format
msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n"
msgstr "Sección [%2d] '%s': símbolo %zu: símbolo de sección non-local\n"
-#: src/elflint.c:962
+#: src/elflint.c:966
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section "
@@ -1700,7 +1739,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo _GLOBAL_OFFSET_TABLE_ se refiere a sección "
"errada [%2d]\n"
-#: src/elflint.c:969
+#: src/elflint.c:973
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] "
@@ -1709,7 +1748,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo _GLOBAL_OFFSET_TABLE_ se refiere a sección [%2d] "
"'%s'\n"
-#: src/elflint.c:985
+#: src/elflint.c:989
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
@@ -1718,7 +1757,7 @@ msgstr ""
"Sección [%2d] '%s': valor del símbolo _GLOBAL_OFFSET_TABLE_ %#<PRIx64> no "
"coincide con dirección de sección %s %#<PRIx64>\n"
-#: src/elflint.c:992
+#: src/elflint.c:996
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
@@ -1727,7 +1766,7 @@ msgstr ""
"Sección [%2d] '%s': tamaño de símbolo _GLOBAL_OFFSET_TABLE_ %<PRIu64> no "
"coincide con tamaño de sección %s %<PRIu64>\n"
-#: src/elflint.c:1000
+#: src/elflint.c:1004
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
@@ -1736,7 +1775,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo _GLOBAL_OFFSET_TABLE_ presente, pero no. sección "
"got\n"
-#: src/elflint.c:1016
+#: src/elflint.c:1020
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
@@ -1745,7 +1784,7 @@ msgstr ""
"sección [%2d] '%s': Valor de símbolo _DYNAMIC_ %#<PRIx64> no coincide con la "
"dirección de segmento%#<PRIx64>\n"
-#: src/elflint.c:1023
+#: src/elflint.c:1027
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
@@ -1754,7 +1793,7 @@ msgstr ""
"Sección [%2d] '%s': tamaño de símbolo _DYNAMIC %<PRIu64> no coincide con "
"tamaño de segmento %<PRIu64>\n"
-#: src/elflint.c:1036
+#: src/elflint.c:1040
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-"
@@ -1763,29 +1802,29 @@ msgstr ""
"Sección [%2d] '%s': símbolo %zu: símbolo en tabla de símbolos dinámicos sin "
"visibilidad predeterminada\n"
-#: src/elflint.c:1040
+#: src/elflint.c:1044
#, c-format
msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n"
msgstr ""
"Sección [%2d] '%s': símbolo %zu: bit desconocido establecido en st_other\n"
-#: src/elflint.c:1078
+#: src/elflint.c:1082
#, fuzzy, c-format
msgid "section [%2d] '%s': cannot get section data.\n"
msgstr "Sección [%2d] '%s': No se pueden obtener datos de sección\n"
-#: src/elflint.c:1094
+#: src/elflint.c:1098
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
msgstr "Sección [%2d] '%s': DT_RELCOUNT utilizada para esta sección RELA\n"
-#: src/elflint.c:1105 src/elflint.c:1158
+#: src/elflint.c:1109 src/elflint.c:1162
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
msgstr ""
"Sección [%2d] '%s': valor DT_RELCOUNT %d demasiado alto para esta sección\n"
-#: src/elflint.c:1130 src/elflint.c:1183
+#: src/elflint.c:1134 src/elflint.c:1187
#, c-format
msgid ""
"section [%2d] '%s': relative relocations after index %d as specified by "
@@ -1794,7 +1833,7 @@ msgstr ""
"Sección [%2d] '%s': reubicaciones relativas después de que el %d de índice "
"haya sido especificado por DT_RELCOUNT\n"
-#: src/elflint.c:1136 src/elflint.c:1189
+#: src/elflint.c:1140 src/elflint.c:1193
#, c-format
msgid ""
"section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
@@ -1803,50 +1842,50 @@ msgstr ""
"Sección [%2d] '%s': reubicación no-relativa en %zu de índice; DT_RELCOUNT "
"especificado %d reubicaciones relativas\n"
-#: src/elflint.c:1148
+#: src/elflint.c:1152
#, c-format
msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
msgstr "sección [%2d] '%s': DT_RELACOUNT utilizado para esta sección REL\n"
-#: src/elflint.c:1231
+#: src/elflint.c:1235
#, c-format
msgid "section [%2d] '%s': invalid destination section index\n"
msgstr "Sección [%2d] '%s': índice de sección de destino inválido\n"
-#: src/elflint.c:1243
+#: src/elflint.c:1247
#, c-format
msgid "section [%2d] '%s': invalid destination section type\n"
msgstr "Sección [%2d] '%s': tipo de sección de destino inválido\n"
-#: src/elflint.c:1251
+#: src/elflint.c:1255
#, c-format
msgid "section [%2d] '%s': sh_info should be zero\n"
msgstr "Sección [%2d] '%s': sh_info debe ser cero\n"
-#: src/elflint.c:1259
+#: src/elflint.c:1263
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': no relocations for merge-able string sections possible\n"
msgstr ""
"Sección [%2d] '%s': no reubicaciones para secciones de fusión posibles\n"
-#: src/elflint.c:1267
+#: src/elflint.c:1271
#, c-format
msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
msgstr ""
"Sección [%2d] '%s': tamaño de entrada de sección no coincide con ElfXX_Rela\n"
-#: src/elflint.c:1327
+#: src/elflint.c:1331
#, c-format
msgid "text relocation flag set but there is no read-only segment\n"
msgstr "Reubicación de bandera pero no hay segmento de sólo lectura\n"
-#: src/elflint.c:1354
+#: src/elflint.c:1358
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid type\n"
msgstr "Sección [%2d] '%s': reubicación %zu: tipo inválido\n"
-#: src/elflint.c:1362
+#: src/elflint.c:1366
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: relocation type invalid for the file "
@@ -1855,12 +1894,12 @@ msgstr ""
"Sección [%2d] '%s': reubicación %zu: tipo de reubicación inválido para el "
"tipo de archivo\n"
-#: src/elflint.c:1370
+#: src/elflint.c:1374
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
msgstr "Sección [%2d] '%s': reubicación %zu: índice de símbolo inválido\n"
-#: src/elflint.c:1388
+#: src/elflint.c:1392
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
@@ -1869,12 +1908,12 @@ msgstr ""
"Sección [%2d] '%s': reubicación %zu: sólo el símbolo '_GLOBAL_OFFSET_TABLE_' "
"puede utilizarse con %s\n"
-#: src/elflint.c:1405
+#: src/elflint.c:1409
#, c-format
msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
msgstr "Sección [%2d] '%s': reubicación %zu: compensación fuera de límites\n"
-#: src/elflint.c:1420
+#: src/elflint.c:1424
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: copy relocation against symbol of type "
@@ -1883,7 +1922,7 @@ msgstr ""
"Sección [%2d] '%s': reubicación %zu: reubicación de copia con símbolo de "
"tipo %s\n"
-#: src/elflint.c:1441
+#: src/elflint.c:1445
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: read-only section modified but text "
@@ -1892,24 +1931,24 @@ msgstr ""
"Sección [%2d] '%s': reubicación %zu: sección de sólo-lectura modificada, "
"pero no se estableció bandera de reubicación\n"
-#: src/elflint.c:1456
+#: src/elflint.c:1460
#, c-format
msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
msgstr ""
"Sección [%2d] '%s': las reubicaciones se hacen con datos cargados y "
"descargados\n"
-#: src/elflint.c:1496 src/elflint.c:1547
+#: src/elflint.c:1500 src/elflint.c:1551
#, c-format
msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
msgstr "Sección [%2d] '%s': no puede obtener reubicación %zu: %s\n"
-#: src/elflint.c:1623
+#: src/elflint.c:1627
#, c-format
msgid "more than one dynamic section present\n"
msgstr "más de una sección dinámica presente\n"
-#: src/elflint.c:1641
+#: src/elflint.c:1645
#, fuzzy, c-format
msgid ""
"section [%2d]: referenced as string table for section [%2d] '%s' but section "
@@ -1918,44 +1957,44 @@ msgstr ""
"sección [%2d] '%s': nombrado como una tabla de cadena para la sección [%2d] "
"'%s' pero el tipo no es SHT_STRTAB\n"
-#: src/elflint.c:1649
+#: src/elflint.c:1653
#, c-format
msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
msgstr ""
"Sección [%2d] '%s': tamaño de entrada de sección no coincide con ElfXX_Dyn\n"
-#: src/elflint.c:1654 src/elflint.c:1943
+#: src/elflint.c:1658 src/elflint.c:1947
#, c-format
msgid "section [%2d] '%s': sh_info not zero\n"
msgstr "Sección [%2d] '%s': sh_info no es cero\n"
-#: src/elflint.c:1664
+#: src/elflint.c:1668
#, c-format
msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
msgstr ""
"Sección [%2d] '%s': no puede obtener entrada de sección dinámica %zu: %s\n"
-#: src/elflint.c:1672
+#: src/elflint.c:1676
#, c-format
msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
msgstr "Sección [%2d] '%s': entradas non-DT_NULL siguen a la entrada DT_NULL\n"
-#: src/elflint.c:1679
+#: src/elflint.c:1683
#, c-format
msgid "section [%2d] '%s': entry %zu: unknown tag\n"
msgstr "Sección [%2d] '%s': entrada %zu: etiqueta desconocida\n"
-#: src/elflint.c:1690
+#: src/elflint.c:1694
#, c-format
msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
msgstr "Sección [%2d] '%s': entrada %zu: más de una entrada con etiqueta %s\n"
-#: src/elflint.c:1700
+#: src/elflint.c:1704
#, c-format
msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
msgstr "Sección [%2d] '%s': entrada %zu: nivel 2 etiqueta %s utilizada\n"
-#: src/elflint.c:1718
+#: src/elflint.c:1722
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
@@ -1963,7 +2002,7 @@ msgstr ""
"Sección [%2d] '%s': entrada %zu: el valor DT_PLTREL debe ser DT_REL or "
"DT_RELA\n"
-#: src/elflint.c:1731
+#: src/elflint.c:1735
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: pointer does not match address of section "
@@ -1972,14 +2011,14 @@ msgstr ""
"Sección [%2d] '%s': entrada %zu: puntero no coincide con dirección de "
"sección [%2d] '%s' al que hace referencia sh_link\n"
-#: src/elflint.c:1774
+#: src/elflint.c:1778
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
msgstr ""
"Sección [%2d] '%s': entrada %zu: valor %s debe apuntar en segmento cargado\n"
-#: src/elflint.c:1789
+#: src/elflint.c:1793
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must be valid offset in section "
@@ -1988,46 +2027,46 @@ msgstr ""
"sección [%2d] '%s': entrada %zu: valor %s debe ser compensación válida en "
"sección [%2d] '%s'\n"
-#: src/elflint.c:1809 src/elflint.c:1837
+#: src/elflint.c:1813 src/elflint.c:1841
#, c-format
msgid "section [%2d] '%s': contains %s entry but not %s\n"
msgstr "Sección [%2d] '%s': contiene entrada %s pero no %s\n"
-#: src/elflint.c:1821
+#: src/elflint.c:1825
#, c-format
msgid "section [%2d] '%s': mandatory tag %s not present\n"
msgstr "Sección [%2d] '%s': etiqueta obligatoria %s no está presente\n"
-#: src/elflint.c:1830
+#: src/elflint.c:1834
#, c-format
msgid "section [%2d] '%s': no hash section present\n"
msgstr "Sección [%2d] '%s': no hay sección de dispersión presente\n"
-#: src/elflint.c:1845 src/elflint.c:1852
+#: src/elflint.c:1849 src/elflint.c:1856
#, c-format
msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
msgstr "Sección [%2d] '%s': no todas las %s, %s, y %s están presentes\n"
-#: src/elflint.c:1862 src/elflint.c:1866
+#: src/elflint.c:1866 src/elflint.c:1870
#, c-format
msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
msgstr ""
"Sección [%2d] '%s': etiqueta %s faltante en DSO marcada durante el pre-"
"enlace\n"
-#: src/elflint.c:1872
+#: src/elflint.c:1876
#, c-format
msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
msgstr ""
"Sección [%2d] '%s': archivo no-DSO marcado como dependencia durante el pre-"
"enlace\n"
-#: src/elflint.c:1883 src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895
+#: src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895 src/elflint.c:1899
#, c-format
msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
msgstr "Sección [%2d] '%s': etiqueta %s faltante en pre-enlace ejecutable\n"
-#: src/elflint.c:1907
+#: src/elflint.c:1911
#, c-format
msgid ""
"section [%2d] '%s': only relocatable files can have extended section index\n"
@@ -2035,37 +2074,37 @@ msgstr ""
"Sección [%2d] '%s': sólo los archivos reubicables pueden tener índice de "
"sección extendido\n"
-#: src/elflint.c:1917
+#: src/elflint.c:1921
#, c-format
msgid ""
"section [%2d] '%s': extended section index section not for symbol table\n"
msgstr ""
"Sección [%2d] '%s': índice de sección extendido no para tabla de símbolos\n"
-#: src/elflint.c:1921
+#: src/elflint.c:1925
#, fuzzy, c-format
msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n"
msgstr ""
"Sección [%2d] '%s': índice de sección extendido no para tabla de símbolos\n"
-#: src/elflint.c:1926
+#: src/elflint.c:1930
#, c-format
msgid "cannot get data for symbol section\n"
msgstr "no se puede obtener sección para símbolos\n"
-#: src/elflint.c:1929
+#: src/elflint.c:1933
#, c-format
msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
msgstr "Sección [%2d] '%s': tamaño de entrada no coincide con Elf32_Word\n"
-#: src/elflint.c:1938
+#: src/elflint.c:1942
#, c-format
msgid "section [%2d] '%s': extended index table too small for symbol table\n"
msgstr ""
"Sección [%2d] '%s': tabla de índice extendida demasiado pequeña para tabla "
"de símbolos\n"
-#: src/elflint.c:1953
+#: src/elflint.c:1957
#, c-format
msgid ""
"section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
@@ -2074,24 +2113,24 @@ msgstr ""
"Sección [%2d] '%s': índice de sección extendida en sección [%2zu] '%s' se "
"refiere a la misma tabla de símbolos\n"
-#: src/elflint.c:1970
+#: src/elflint.c:1974
#, c-format
msgid "symbol 0 should have zero extended section index\n"
msgstr "símbolo 0 debe tener índice de sección extendida cero\n"
-#: src/elflint.c:1982
+#: src/elflint.c:1986
#, c-format
msgid "cannot get data for symbol %zu\n"
msgstr "no puede obtener datos para símbolo %zu\n"
-#: src/elflint.c:1987
+#: src/elflint.c:1991
#, c-format
msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
msgstr ""
"índice de sección extendida es %<PRIu32> pero índice de símbolo no es "
"XINDEX\n"
-#: src/elflint.c:2003 src/elflint.c:2054
+#: src/elflint.c:2007 src/elflint.c:2058
#, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
@@ -2099,42 +2138,42 @@ msgstr ""
"Sección [%2d] '%s': sección de tabla de dispersión es demasiado pequeña (es "
"%ld, se espera %ld)\n"
-#: src/elflint.c:2015 src/elflint.c:2066
+#: src/elflint.c:2019 src/elflint.c:2070
#, c-format
msgid "section [%2d] '%s': chain array too large\n"
msgstr "Sección [%2d] '%s': índice de la cadena es demasiado grande\n"
-#: src/elflint.c:2029 src/elflint.c:2080
+#: src/elflint.c:2033 src/elflint.c:2084
#, c-format
msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
msgstr ""
"Sección [%2d] '%s': referencia de cubetas de dispersión %zu fuera de "
"límites\n"
-#: src/elflint.c:2039
+#: src/elflint.c:2043
#, c-format
msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
msgstr ""
"Sección [%2d] '%s': referencia de cadena de dispersión %zu fuera de límites\n"
-#: src/elflint.c:2090
+#: src/elflint.c:2094
#, c-format
msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
msgstr ""
"Sección [%2d] '%s': referencia de cadena de dispersión %<PRIu64> fuera de "
"límites\n"
-#: src/elflint.c:2103
+#: src/elflint.c:2107
#, fuzzy, c-format
msgid "section [%2d] '%s': not enough data\n"
msgstr "Sección [%2d] '%s': no puede obtener datos: %s\n"
-#: src/elflint.c:2115
+#: src/elflint.c:2119
#, fuzzy, c-format
msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n"
msgstr "Sección [%2d] '%s': tamaño de bitmask no es potencia de 2: %u\n"
-#: src/elflint.c:2131
+#: src/elflint.c:2135
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected at "
@@ -2143,14 +2182,14 @@ msgstr ""
"Sección [%2d] '%s': sección de tabla de dispersión es demasiado pequeña (es "
"%ld, se espera al menos least%ld)\n"
-#: src/elflint.c:2140
+#: src/elflint.c:2144
#, c-format
msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
msgstr ""
"Sección [%2d] '%s': segundo cambio de función de dispersión demasiado "
"grande: %u\n"
-#: src/elflint.c:2174
+#: src/elflint.c:2178
#, c-format
msgid ""
"section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
@@ -2158,7 +2197,7 @@ msgstr ""
"Sección [%2d] '%s': cadena de dispersión para cubetas %zu inferior a "
"polarización de índice de símbolo\n"
-#: src/elflint.c:2195
+#: src/elflint.c:2199
#, c-format
msgid ""
"section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
@@ -2167,7 +2206,7 @@ msgstr ""
"Sección [%2d] '%s': el símbolo %u al que se hace referencia en cadena para "
"cubeta %zu es indefinido\n"
-#: src/elflint.c:2208
+#: src/elflint.c:2212
#, c-format
msgid ""
"section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
@@ -2175,7 +2214,7 @@ msgstr ""
"Sección [%2d] '%s': valor de dispersión para símbolo %u en cadena para "
"cubeta %zu está errado\n"
-#: src/elflint.c:2217
+#: src/elflint.c:2221
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n"
@@ -2183,13 +2222,13 @@ msgstr ""
"Sección [%2d] '%s': valor de dispersión para símbolo %u en cadena para "
"cubeta %zu está errado\n"
-#: src/elflint.c:2247
+#: src/elflint.c:2251
#, c-format
msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
msgstr ""
"Sección [%2d] '%s': cadena de dispersión para cubeta %zu fuera de limites\n"
-#: src/elflint.c:2252
+#: src/elflint.c:2256
#, c-format
msgid ""
"section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
@@ -2197,43 +2236,43 @@ msgstr ""
"Sección [%2d] '%s': referencia de símbolo en cadena para cubeta %zu fuera de "
"límites\n"
-#: src/elflint.c:2258
+#: src/elflint.c:2262
#, c-format
msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
msgstr ""
"Sección [%2d] '%s': bitmask no coincide con nombres en la tabla de "
"dispersión\n"
-#: src/elflint.c:2271
+#: src/elflint.c:2275
#, c-format
msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
msgstr ""
"Sección [%2d] '%s': archivos reubicables no pueden tener tablas de "
"dispersión\n"
-#: src/elflint.c:2289
+#: src/elflint.c:2293
#, c-format
msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
msgstr ""
"Sección [%2d] '%s': tabla de dispersión no para tabla de símbolos dinámicos\n"
-#: src/elflint.c:2293
+#: src/elflint.c:2297
#, fuzzy, c-format
msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n"
msgstr "Sección [%2d] '%s': índice de sección de destino inválido\n"
-#: src/elflint.c:2301
+#: src/elflint.c:2305
#, c-format
msgid "section [%2d] '%s': hash table entry size incorrect\n"
msgstr ""
"Sección [%2d] '%s': tamaño incorrecto de entrada de tabla de dispersión\n"
-#: src/elflint.c:2306
+#: src/elflint.c:2310
#, c-format
msgid "section [%2d] '%s': not marked to be allocated\n"
msgstr "Sección [%2d] '%s': no marcada para ser asignada\n"
-#: src/elflint.c:2311
+#: src/elflint.c:2315
#, c-format
msgid ""
"section [%2d] '%s': hash table has not even room for initial administrative "
@@ -2242,46 +2281,46 @@ msgstr ""
"Sección [%2d] '%s': tabla de dispersión no tiene ni siquiera espacio para "
"entradas administrativas iniciales\n"
-#: src/elflint.c:2360
+#: src/elflint.c:2364
#, c-format
msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
msgstr ""
"sh_link en secciones de dispersión [%2zu] '%s' y [%2zu] '%s' no son "
"idénticas\n"
-#: src/elflint.c:2384 src/elflint.c:2449 src/elflint.c:2484
+#: src/elflint.c:2388 src/elflint.c:2453 src/elflint.c:2488
#, fuzzy, c-format
msgid "hash section [%2zu] '%s' does not contain enough data\n"
msgstr "sección [%2zu] '%s' no debe ser ejecutable\n"
-#: src/elflint.c:2405
+#: src/elflint.c:2409
#, fuzzy, c-format
msgid "hash section [%2zu] '%s' has zero bit mask words\n"
msgstr "Sección [%2d] '%s': grupo de sección sin palabra de banderas\n"
-#: src/elflint.c:2416 src/elflint.c:2460 src/elflint.c:2497
+#: src/elflint.c:2420 src/elflint.c:2464 src/elflint.c:2501
#, fuzzy, c-format
msgid "hash section [%2zu] '%s' uses too much data\n"
msgstr "sección [%2zu] '%s' debe ser asignada\n"
-#: src/elflint.c:2431
+#: src/elflint.c:2435
#, c-format
msgid ""
"hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: "
"%<PRIu32>, nentries: %<PRIu32>\n"
msgstr ""
-#: src/elflint.c:2518
+#: src/elflint.c:2522
#, fuzzy, c-format
msgid "hash section [%2zu] '%s' invalid sh_entsize\n"
msgstr "Sección [%2zu]: nombre inválido\n"
-#: src/elflint.c:2528 src/elflint.c:2532
+#: src/elflint.c:2532 src/elflint.c:2536
#, c-format
msgid "section [%2zu] '%s': reference to symbol index 0\n"
msgstr "Sección [%2zu] '%s': referencia al índice de símbolo 0\n"
-#: src/elflint.c:2539
+#: src/elflint.c:2543
#, c-format
msgid ""
"symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash "
@@ -2290,7 +2329,7 @@ msgstr ""
"Símbolo %d nombrado en nueva tabla de dispersión en [%2zu] '%s' pero no en "
"la tabla de dispersión anterior en [%2zu] '%s'\n"
-#: src/elflint.c:2551
+#: src/elflint.c:2555
#, c-format
msgid ""
"symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash "
@@ -2299,12 +2338,12 @@ msgstr ""
"Símbolo %d nombrado en la tabla de dispersión anterior en [%2zu] '%s' pero "
"no en la nueva tabla de dispersión en [%2zu] '%s'\n"
-#: src/elflint.c:2567
+#: src/elflint.c:2571
#, c-format
msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
msgstr "Sección [%2d] '%s': nonzero sh_%s para sección NULL\n"
-#: src/elflint.c:2587
+#: src/elflint.c:2591
#, c-format
msgid ""
"section [%2d] '%s': section groups only allowed in relocatable object files\n"
@@ -2312,99 +2351,99 @@ msgstr ""
"Sección [%2d] '%s': grupos de sección sólo permitidos en archivos de objeto "
"reubicables\n"
-#: src/elflint.c:2598
+#: src/elflint.c:2602
#, c-format
msgid "section [%2d] '%s': cannot get symbol table: %s\n"
msgstr "Sección [%2d] '%s': no puede obtener tabla de símbolos: %s\n"
-#: src/elflint.c:2603
+#: src/elflint.c:2607
#, c-format
msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
msgstr ""
"Sección [%2d] '%s': referencia de sección en sh_link no es una tabla de "
"símbolos\n"
-#: src/elflint.c:2609
+#: src/elflint.c:2613
#, c-format
msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
msgstr "Sección [%2d] '%s': índice de símbolo inválido en sh_info\n"
-#: src/elflint.c:2614
+#: src/elflint.c:2618
#, c-format
msgid "section [%2d] '%s': sh_flags not zero\n"
msgstr "Sección [%2d] '%s': sh_flags no cero\n"
-#: src/elflint.c:2621
+#: src/elflint.c:2625
#, c-format
msgid "section [%2d] '%s': cannot get symbol for signature\n"
msgstr "Sección [%2d] '%s': no puede obtener símbolo para firma\n"
-#: src/elflint.c:2625
+#: src/elflint.c:2629
#, fuzzy, c-format
msgid "section [%2d] '%s': cannot get symbol name for signature\n"
msgstr "Sección [%2d] '%s': no puede obtener símbolo para firma\n"
-#: src/elflint.c:2630
+#: src/elflint.c:2634
#, c-format
msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
msgstr ""
"sección [%2d] '%s': el símbolo de firma no puede ser una cadena vacía\n"
-#: src/elflint.c:2636
+#: src/elflint.c:2640
#, c-format
msgid "section [%2d] '%s': sh_flags not set correctly\n"
msgstr "Sección [%2d] '%s': sh_flags no establecida correctamente\n"
-#: src/elflint.c:2642
+#: src/elflint.c:2646
#, c-format
msgid "section [%2d] '%s': cannot get data: %s\n"
msgstr "Sección [%2d] '%s': no puede obtener datos: %s\n"
-#: src/elflint.c:2651
+#: src/elflint.c:2655
#, c-format
msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
msgstr ""
"Sección [%2d] '%s': tamaño de sección no es múltiplo de tamaño de "
"(Elf32_Word)\n"
-#: src/elflint.c:2656
+#: src/elflint.c:2660
#, c-format
msgid "section [%2d] '%s': section group without flags word\n"
msgstr "Sección [%2d] '%s': grupo de sección sin palabra de banderas\n"
-#: src/elflint.c:2662
+#: src/elflint.c:2666
#, c-format
msgid "section [%2d] '%s': section group without member\n"
msgstr "Sección [%2d] '%s': grupo de sección sin miembro\n"
-#: src/elflint.c:2666
+#: src/elflint.c:2670
#, c-format
msgid "section [%2d] '%s': section group with only one member\n"
msgstr "Sección [%2d] '%s': grupo de sección con sólo un miembro\n"
-#: src/elflint.c:2677
+#: src/elflint.c:2681
#, c-format
msgid "section [%2d] '%s': unknown section group flags\n"
msgstr "Sección [%2d] '%s': banderas de grupo de sección desconocido\n"
-#: src/elflint.c:2689
+#: src/elflint.c:2693
#, fuzzy, c-format
msgid "section [%2d] '%s': section index %zu out of range\n"
msgstr "Sección [%2d] '%s': índice de sección %Zu fuera de rango\n"
-#: src/elflint.c:2698
+#: src/elflint.c:2702
#, c-format
msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
msgstr ""
"Sección [%2d] '%s': no se puede obtener encabezamiento de sección para "
"elemento %zu: %s\n"
-#: src/elflint.c:2705
+#: src/elflint.c:2709
#, c-format
msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
msgstr "Sección [%2d] '%s': grupo de sección contiene otro grupo [%2d] '%s'\n"
-#: src/elflint.c:2711
+#: src/elflint.c:2715
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': element %zu references section [%2d] '%s' without "
@@ -2413,12 +2452,12 @@ msgstr ""
"Sección [%2d] '%s': elemento %Zu hace referencia a sección [%2d] '%s' sin "
"establecer bandera SHF_GROUP\n"
-#: src/elflint.c:2718
+#: src/elflint.c:2722
#, c-format
msgid "section [%2d] '%s' is contained in more than one section group\n"
msgstr "Sección [%2d] '%s' está contenida en más de un grupo de sección\n"
-#: src/elflint.c:2907
+#: src/elflint.c:2912
#, c-format
msgid ""
"section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no "
@@ -2427,7 +2466,7 @@ msgstr ""
"Sección [%2d] '%s' se refiere en sh_link a la sección [%2d] '%s' la cual no "
"es una tabla de símbolos dinámicos\n"
-#: src/elflint.c:2919
+#: src/elflint.c:2924
#, c-format
msgid ""
"section [%2d] '%s' has different number of entries than symbol table [%2d] "
@@ -2436,29 +2475,29 @@ msgstr ""
"Sección [%2d] '%s' tiene un número diferente de entradas a la de la tabla de "
"símbolos [%2d] '%s'\n"
-#: src/elflint.c:2935
+#: src/elflint.c:2940
#, c-format
msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
msgstr ""
"Sección [%2d] '%s': el símbolo %d: no se pueden leer datos de versión\n"
-#: src/elflint.c:2951
+#: src/elflint.c:2956
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
msgstr ""
"Sección [%2d] '%s': el símbolo %d: el símbolo local con alcance mundial\n"
-#: src/elflint.c:2959
+#: src/elflint.c:2964
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
msgstr "Sección [%2d] '%s': símbolo %d: símbolo local con versión\n"
-#: src/elflint.c:2973
+#: src/elflint.c:2978
#, c-format
msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
msgstr "Sección [%2d] '%s': símbolo %d: índice de versión inválida %d\n"
-#: src/elflint.c:2978
+#: src/elflint.c:2983
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for defined version\n"
@@ -2466,7 +2505,7 @@ msgstr ""
"Sección [%2d] '%s': símbolo %d: índice de versión %d es para versión "
"definida\n"
-#: src/elflint.c:2988
+#: src/elflint.c:2993
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for requested version\n"
@@ -2474,46 +2513,46 @@ msgstr ""
"Sección [%2d] '%s': símbolo %d: índice de versión %d es para la versión "
"solicitada\n"
-#: src/elflint.c:3041
+#: src/elflint.c:3046
#, c-format
msgid "more than one version reference section present\n"
msgstr "Más de una sección de referencia de versión presente\n"
-#: src/elflint.c:3049 src/elflint.c:3196
+#: src/elflint.c:3054 src/elflint.c:3201
#, c-format
msgid "section [%2d] '%s': sh_link does not link to string table\n"
msgstr "Sección [%2d] '%s': sh_link no se enlaza a la tabla de cadenas\n"
-#: src/elflint.c:3074 src/elflint.c:3250
+#: src/elflint.c:3079 src/elflint.c:3255
#, c-format
msgid "section [%2d] '%s': entry %d has wrong version %d\n"
msgstr "Sección [%2d] '%s': entrada %d tiene versión %d errada\n"
-#: src/elflint.c:3081 src/elflint.c:3257
+#: src/elflint.c:3086 src/elflint.c:3262
#, c-format
msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
msgstr ""
"Sección [%2d] '%s': entrada %d tiene compensación errada de datos "
"auxiliares\n"
-#: src/elflint.c:3091
+#: src/elflint.c:3096
#, c-format
msgid "section [%2d] '%s': entry %d has invalid file reference\n"
msgstr "Sección [%2d] '%s': entrada %d tiene referencia de archivo inválida\n"
-#: src/elflint.c:3099
+#: src/elflint.c:3104
#, c-format
msgid "section [%2d] '%s': entry %d references unknown dependency\n"
msgstr "Sección [%2d] '%s': %d hace referencia a dependencia desconocida\n"
-#: src/elflint.c:3111
+#: src/elflint.c:3116
#, c-format
msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
msgstr ""
"sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene bandera "
"desconocida\n"
-#: src/elflint.c:3119
+#: src/elflint.c:3124
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
@@ -2522,7 +2561,7 @@ msgstr ""
"Sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene referencia de "
"nombre inválida\n"
-#: src/elflint.c:3128
+#: src/elflint.c:3133
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: "
@@ -2531,7 +2570,7 @@ msgstr ""
"Sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene valor de "
"dispersión: %#x, esperado %#x\n"
-#: src/elflint.c:3137
+#: src/elflint.c:3142
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
@@ -2540,7 +2579,7 @@ msgstr ""
"sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene nombre duplicado "
"'%s'\n"
-#: src/elflint.c:3148
+#: src/elflint.c:3153
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
@@ -2548,14 +2587,14 @@ msgstr ""
"sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene próximo campo "
"errado\n"
-#: src/elflint.c:3165 src/elflint.c:3341
+#: src/elflint.c:3170 src/elflint.c:3346
#, c-format
msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
msgstr ""
"sección [%2d] '%s': entrada %d tiene compensación inválida para próxima "
"entrada\n"
-#: src/elflint.c:3173 src/elflint.c:3349
+#: src/elflint.c:3178 src/elflint.c:3354
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says "
@@ -2564,46 +2603,46 @@ msgstr ""
"sección [%2d] '%s': entrada %d tiene compensación inválida para próxima "
"entrada\n"
-#: src/elflint.c:3188
+#: src/elflint.c:3193
#, c-format
msgid "more than one version definition section present\n"
msgstr "más de una definición de versión presente de sección\n"
-#: src/elflint.c:3235
+#: src/elflint.c:3240
#, c-format
msgid "section [%2d] '%s': more than one BASE definition\n"
msgstr "Sección [%2d] '%s': más de una definición de BASE\n"
-#: src/elflint.c:3239
+#: src/elflint.c:3244
#, c-format
msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
msgstr ""
"Sección [%2d] '%s': definición de BASE debe tener índice VER_NDX_GLOBAL\n"
-#: src/elflint.c:3245
+#: src/elflint.c:3250
#, c-format
msgid "section [%2d] '%s': entry %d has unknown flag\n"
msgstr "Sección [%2d] '%s': entrada %d tiene bandera desconocida\n"
-#: src/elflint.c:3272
+#: src/elflint.c:3277
#, c-format
msgid "section [%2d] '%s': entry %d has invalid name reference\n"
msgstr "Sección [%2d] '%s': entrada %d tiene referencia de nombre inválida\n"
-#: src/elflint.c:3279
+#: src/elflint.c:3284
#, c-format
msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
msgstr ""
"Sección [%2d] '%s': entrada %d tiene valor de dispersión errado: %#x, "
"esperado %#x\n"
-#: src/elflint.c:3287
+#: src/elflint.c:3292
#, c-format
msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
msgstr ""
"Sección [%2d] '%s': entrada %d tiene nombre de versión duplicado '%s'\n"
-#: src/elflint.c:3307
+#: src/elflint.c:3312
#, c-format
msgid ""
"section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
@@ -2611,34 +2650,34 @@ msgstr ""
"Sección [%2d] '%s': entrada %d tiene referencia de nombre inválida en datos "
"auxiliares\n"
-#: src/elflint.c:3324
+#: src/elflint.c:3329
#, c-format
msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
msgstr ""
"Sección [%2d] '%s': entrada %d tiene próximo campo errado en datos "
"auxiliares\n"
-#: src/elflint.c:3357
+#: src/elflint.c:3362
#, c-format
msgid "section [%2d] '%s': no BASE definition\n"
msgstr "Sección [%2d] '%s': no hay definición de BASE\n"
-#: src/elflint.c:3373
+#: src/elflint.c:3378
#, c-format
msgid "section [%2d] '%s': unknown parent version '%s'\n"
msgstr "Sección [%2d] '%s': desconocida versión principal '%s'\n"
-#: src/elflint.c:3386
+#: src/elflint.c:3391
#, c-format
msgid "section [%2d] '%s': empty object attributes section\n"
msgstr "Sección [%2d] '%s': sección de atributos de objeto vacío\n"
-#: src/elflint.c:3407
+#: src/elflint.c:3412
#, c-format
msgid "section [%2d] '%s': unrecognized attribute format\n"
msgstr "Sección[%2d] '%s': formato de atributo no reconocido\n"
-#: src/elflint.c:3423
+#: src/elflint.c:3428
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute section\n"
@@ -2646,21 +2685,21 @@ msgstr ""
"Sección[%2d] '%s': compensación %zu: campo de longitud cero en sección de "
"atributo\n"
-#: src/elflint.c:3432
+#: src/elflint.c:3437
#, c-format
msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
msgstr ""
"Sección[%2d] '%s': compensación %zu: longitud inválida en sección de "
"atributo\n"
-#: src/elflint.c:3444
+#: src/elflint.c:3449
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
msgstr ""
"Sección[%2d] '%s': compensación %zu: cadena de nombre de proveedor sin "
"terminar\n"
-#: src/elflint.c:3461
+#: src/elflint.c:3466
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
@@ -2668,12 +2707,12 @@ msgstr ""
"Sección [%2d] '%s': compensación %zu: sin fin ULEB128 en etiqueta de sub-"
"sección de atributo\n"
-#: src/elflint.c:3470
+#: src/elflint.c:3475
#, c-format
msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
msgstr "Sección [%2d] '%s': compensación %zu: sección de atributo truncado\n"
-#: src/elflint.c:3479
+#: src/elflint.c:3484
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
@@ -2681,7 +2720,7 @@ msgstr ""
"Sección [%2d] '%s': compensación %zu: campo de longitud cero length en sub-"
"sección de atributo\n"
-#: src/elflint.c:3494
+#: src/elflint.c:3499
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
@@ -2689,7 +2728,7 @@ msgstr ""
"Sección [%2d] '%s': compensación %zu: longitud inválida en sub-sección de "
"atributo\n"
-#: src/elflint.c:3505
+#: src/elflint.c:3510
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
@@ -2697,26 +2736,26 @@ msgstr ""
"Sección[%2d] '%s': compensación %zu: sub-sección de atributo tiene etiqueta "
"inesperada %u\n"
-#: src/elflint.c:3523
+#: src/elflint.c:3528
#, c-format
msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
msgstr ""
"Sección[%2d] '%s': compensación %zu: sin fin ULEB128 en etiqueta de "
"atributo\n"
-#: src/elflint.c:3534
+#: src/elflint.c:3539
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
msgstr ""
"Sección [%2d] '%s': compensación %zu: cadena sin terminar en atributo\n"
-#: src/elflint.c:3547
+#: src/elflint.c:3552
#, c-format
msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
msgstr ""
"Sección [%2d] '%s': compensación %zu: etiqueta de atributo no reconocida %u\n"
-#: src/elflint.c:3551
+#: src/elflint.c:3556
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
@@ -2724,12 +2763,12 @@ msgstr ""
"Sección [%2d] '%s': compensación %zu: no reconocido %s valor de atributo "
"%<PRIu64>\n"
-#: src/elflint.c:3561
+#: src/elflint.c:3566
#, c-format
msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
msgstr "Sección [%2d] '%s': compensación %zu: proveedor '%s' desconocido\n"
-#: src/elflint.c:3567
+#: src/elflint.c:3572
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
@@ -2737,47 +2776,47 @@ msgstr ""
"Sección [%2d] '%s': compensación %zu: extra bytes después de la última "
"sección de atributo\n"
-#: src/elflint.c:3656
+#: src/elflint.c:3661
#, c-format
msgid "cannot get section header of zeroth section\n"
msgstr "no puede obtener encabezamiento de sección de sección zeroth\n"
-#: src/elflint.c:3660
+#: src/elflint.c:3665
#, c-format
msgid "zeroth section has nonzero name\n"
msgstr "Sección zeroth tiene nombre nonzero\n"
-#: src/elflint.c:3662
+#: src/elflint.c:3667
#, c-format
msgid "zeroth section has nonzero type\n"
msgstr "Sección zeroth tiene tipo nonzero\n"
-#: src/elflint.c:3664
+#: src/elflint.c:3669
#, c-format
msgid "zeroth section has nonzero flags\n"
msgstr "Sección zeroth tiene banderas nonzero\n"
-#: src/elflint.c:3666
+#: src/elflint.c:3671
#, c-format
msgid "zeroth section has nonzero address\n"
msgstr "Sección zeroth tiene dirección nonzero\n"
-#: src/elflint.c:3668
+#: src/elflint.c:3673
#, c-format
msgid "zeroth section has nonzero offset\n"
msgstr "Sección zeroth tiene compensación nonzero\n"
-#: src/elflint.c:3670
+#: src/elflint.c:3675
#, c-format
msgid "zeroth section has nonzero align value\n"
msgstr "Sección zeroth tiene valor de alineación nonzero\n"
-#: src/elflint.c:3672
+#: src/elflint.c:3677
#, c-format
msgid "zeroth section has nonzero entry size value\n"
msgstr "Sección zeroth tiene valor de tamaño de entrada nonzero\n"
-#: src/elflint.c:3675
+#: src/elflint.c:3680
#, c-format
msgid ""
"zeroth section has nonzero size value while ELF header has nonzero shnum "
@@ -2786,7 +2825,7 @@ msgstr ""
"Sección zeroth tiene valor de tamaño nonzero mientras que el encabezamiento "
"ELF tiene valor shnum nonzero\n"
-#: src/elflint.c:3679
+#: src/elflint.c:3684
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
@@ -2795,7 +2834,7 @@ msgstr ""
"Sección zeroth tiene valor de enlace nonzero mientras que el encabezamiento "
"ELF no señala sobreflujo en shstrndx\n"
-#: src/elflint.c:3683
+#: src/elflint.c:3688
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
@@ -2804,27 +2843,27 @@ msgstr ""
"la sección zeroth tiene un valor de enlace distinto a cero mientras que el "
"encabezamiento ELF no señala desbordamiento en phnum\n"
-#: src/elflint.c:3700
+#: src/elflint.c:3706
#, c-format
msgid "cannot get section header for section [%2zu] '%s': %s\n"
msgstr "No se puede obtener encabezamiento para sección [%2zu] '%s': %s\n"
-#: src/elflint.c:3709
+#: src/elflint.c:3715
#, c-format
msgid "section [%2zu]: invalid name\n"
msgstr "Sección [%2zu]: nombre inválido\n"
-#: src/elflint.c:3736
+#: src/elflint.c:3742
#, c-format
msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
msgstr "Sección [%2d] '%s' tiene tipo errado: %s esperado, es %s\n"
-#: src/elflint.c:3752
+#: src/elflint.c:3760
#, c-format
msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
msgstr "Sección [%2zu] '%s' tiene banderas erradas: %s esperado, es %s\n"
-#: src/elflint.c:3769
+#: src/elflint.c:3778
#, c-format
msgid ""
"section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
@@ -2832,12 +2871,12 @@ msgstr ""
"Sección [%2zu] '%s' tiene banderas erradas: %s esperado y posiblemente %s, "
"es %s\n"
-#: src/elflint.c:3787
+#: src/elflint.c:3796
#, c-format
msgid "section [%2zu] '%s' present in object file\n"
msgstr "Sección [%2zu] '%s' presente en archivo objeto\n"
-#: src/elflint.c:3793 src/elflint.c:3825
+#: src/elflint.c:3802 src/elflint.c:3834
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
@@ -2845,7 +2884,7 @@ msgstr ""
"Sección [%2zu] '%s' tiene bandera SHF_ALLOC establecida pero no es un "
"segmento cargable\n"
-#: src/elflint.c:3798 src/elflint.c:3830
+#: src/elflint.c:3807 src/elflint.c:3839
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
@@ -2854,7 +2893,7 @@ msgstr ""
"Sección [%2zu] '%s' no tiene bandera SHF_ALLOC establecida pero hay "
"segmentos cargables\n"
-#: src/elflint.c:3806
+#: src/elflint.c:3815
#, c-format
msgid ""
"section [%2zu] '%s' is extension section index table in non-object file\n"
@@ -2862,22 +2901,22 @@ msgstr ""
"Sección [%2zu] '%s' es tabla de índice de sección de extensión en archivo no-"
"objeto\n"
-#: src/elflint.c:3849
+#: src/elflint.c:3858
#, c-format
msgid "section [%2zu] '%s': size not multiple of entry size\n"
msgstr "Sección [%2zu] '%s': tamaño no es múltiplo de tamaño de entrada\n"
-#: src/elflint.c:3854
+#: src/elflint.c:3863
#, c-format
msgid "cannot get section header\n"
msgstr "no se puede obtener encabezamiento de sección\n"
-#: src/elflint.c:3864
+#: src/elflint.c:3873
#, c-format
msgid "section [%2zu] '%s' has unsupported type %d\n"
msgstr "sección [%2zu] '%s' tiene tipo %d incompatible \n"
-#: src/elflint.c:3878
+#: src/elflint.c:3888
#, c-format
msgid ""
"section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
@@ -2885,59 +2924,76 @@ msgstr ""
"Sección [%2zu] '%s' contiene bandera(s) de procesador-específico inválidas "
"%#<PRIx64>\n"
-#: src/elflint.c:3885
+#: src/elflint.c:3895
#, c-format
msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
msgstr "Sección [%2zu] '%s' contiene bandera(s) desconocidas %#<PRIx64>\n"
-#: src/elflint.c:3893
+#: src/elflint.c:3903
#, c-format
msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
msgstr ""
"Sección [%2zu] '%s': dirección de secciones de datos de hilo-local no cero\n"
-#: src/elflint.c:3901
+#: src/elflint.c:3913
+#, fuzzy, c-format
+msgid "section [%2zu] '%s': allocated section cannot be compressed\n"
+msgstr ""
+"Sección [%2zu] '%s': dirección de secciones de datos de hilo-local no cero\n"
+
+#: src/elflint.c:3918
+#, fuzzy, c-format
+msgid "section [%2zu] '%s': nobits section cannot be compressed\n"
+msgstr "Sección [%2d] '%s': no hay sección de dispersión presente\n"
+
+#: src/elflint.c:3924
+#, fuzzy, c-format
+msgid ""
+"section [%2zu] '%s': compressed section with no compression header: %s\n"
+msgstr "Sección [%2d] '%s': grupo de sección con sólo un miembro\n"
+
+#: src/elflint.c:3930
#, c-format
msgid "section [%2zu] '%s': invalid section reference in link value\n"
msgstr ""
"Sección [%2zu] '%s': referencia de sección inválida en valor de enlace\n"
-#: src/elflint.c:3906
+#: src/elflint.c:3935
#, c-format
msgid "section [%2zu] '%s': invalid section reference in info value\n"
msgstr ""
"Sección [%2zu] '%s': referencia de sección inválida en valor de información\n"
-#: src/elflint.c:3913
+#: src/elflint.c:3942
#, c-format
msgid "section [%2zu] '%s': strings flag set without merge flag\n"
msgstr ""
"Sección [%2zu] '%s': bandera de cadenas establecida sin bandera de fusión\n"
-#: src/elflint.c:3918
+#: src/elflint.c:3947
#, c-format
msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
msgstr ""
"Sección [%2zu] '%s': bandera de fusión establecida pero tamaño de entrada es "
"cero\n"
-#: src/elflint.c:3936
+#: src/elflint.c:3965
#, c-format
msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
msgstr ""
"Sección [%2zu] '%s' tiene un tipo %d inesperado para una sección ejecutable\n"
-#: src/elflint.c:3945
+#: src/elflint.c:3974
#, fuzzy, c-format
msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n"
msgstr "sección [%2zu] '%s' no debe tener permiso de escritura\n"
-#: src/elflint.c:3952
+#: src/elflint.c:3981
#, c-format
msgid "section [%2zu] '%s' is both executable and writable\n"
msgstr "Sección [%2zu] '%s' es tanto de ejecución como de escritura\n"
-#: src/elflint.c:3982
+#: src/elflint.c:4012
#, c-format
msgid ""
"section [%2zu] '%s' not fully contained in segment of program header entry "
@@ -2946,7 +3002,7 @@ msgstr ""
"Sección [%2zu] '%s' no contenida totalmente en segmento de entrada de "
"encabezamiento de programa %d\n"
-#: src/elflint.c:3992
+#: src/elflint.c:4022
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -2955,7 +3011,7 @@ msgstr ""
"Sección [%2zu] '%s' no tiene tipo NOBITS pero es leída desde el archivo en "
"segmento de entrada de encabezamiento de programa %d\n"
-#: src/elflint.c:4018
+#: src/elflint.c:4048
#, fuzzy, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -2964,7 +3020,7 @@ msgstr ""
"Sección [%2zu] '%s' no tiene tipo NOBITS pero es leída desde el archivo en "
"segmento de entrada de encabezamiento de programa %d\n"
-#: src/elflint.c:4029
+#: src/elflint.c:4059
#, c-format
msgid ""
"section [%2zu] '%s' has not type NOBITS but is not read from the file in "
@@ -2973,18 +3029,18 @@ msgstr ""
"Sección [%2zu] '%s' no tiene tipo NOBITS pero no es leída desde el fichero "
"en segmento de entrada de encabezamiento de programa %d\n"
-#: src/elflint.c:4040
+#: src/elflint.c:4070
#, c-format
msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
msgstr "Sección [%2zu] '%s' es ejecutable en segmento no ejecutable %d\n"
-#: src/elflint.c:4050
+#: src/elflint.c:4080
#, c-format
msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
msgstr ""
"Sección [%2zu] '%s' es de escritura en segmento que no es de escritura %d\n"
-#: src/elflint.c:4060
+#: src/elflint.c:4090
#, c-format
msgid ""
"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
@@ -2992,7 +3048,7 @@ msgstr ""
"Sección [%2zu] '%s': asignación de bandera establecida pero sección no en "
"ningún segmento cargado\n"
-#: src/elflint.c:4066
+#: src/elflint.c:4096
#, c-format
msgid ""
"section [%2zu] '%s': ELF header says this is the section header string table "
@@ -3001,7 +3057,7 @@ msgstr ""
"Sección [%2zu] '%s': encabezamiento ELF dice esta es la tabla de cadena de "
"encabezamiento de sección, pero el tipo no es SHT_TYPE\n"
-#: src/elflint.c:4074
+#: src/elflint.c:4104
#, c-format
msgid ""
"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
@@ -3009,32 +3065,32 @@ msgstr ""
"sección [%2zu] '%s': ficheros reubicables no pueden tener tablas de símbolos "
"dinámicos\n"
-#: src/elflint.c:4125
+#: src/elflint.c:4155
#, c-format
msgid "more than one version symbol table present\n"
msgstr "Más de una tabla de símbolos presente\n"
-#: src/elflint.c:4148
+#: src/elflint.c:4178
#, c-format
msgid "INTERP program header entry but no .interp section\n"
msgstr ""
"Entrada de encabezamiento de programa INTERP pero no la sección .interp\n"
-#: src/elflint.c:4159
+#: src/elflint.c:4189
#, c-format
msgid ""
"loadable segment [%u] is executable but contains no executable sections\n"
msgstr ""
"segmento cargable [%u] es ejecutable pero no contiene secciones ejecutables\n"
-#: src/elflint.c:4165
+#: src/elflint.c:4195
#, c-format
msgid "loadable segment [%u] is writable but contains no writable sections\n"
msgstr ""
"segmento cargable [%u] es de escritura pero contiene secciones protegidas "
"contra escritura\n"
-#: src/elflint.c:4176
+#: src/elflint.c:4206
#, c-format
msgid ""
"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
@@ -3043,26 +3099,26 @@ msgstr ""
"Sección no .gnu.versym presente, pero la sección .gnu.versym_d o la sección ."
"gnu.versym_r existen\n"
-#: src/elflint.c:4189
+#: src/elflint.c:4219
#, c-format
msgid "duplicate version index %d\n"
msgstr "Duplicar índice de versión %d\n"
-#: src/elflint.c:4203
+#: src/elflint.c:4233
#, c-format
msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
msgstr ""
"Sección .gnu.versym presente sin las secciones .gnu.versym_d o .gnu."
"versym_r\n"
-#: src/elflint.c:4252
+#: src/elflint.c:4282
#, c-format
msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
msgstr ""
"phdr[%d]: tipo de nota de fichero core desconocido %<PRIu32> en compensación "
"%<PRIu64>\n"
-#: src/elflint.c:4256
+#: src/elflint.c:4286
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
@@ -3070,14 +3126,14 @@ msgstr ""
"Sección [%2d] '%s': tipo de nota de fichero core desconocido %<PRIu32> en "
"compensación %Zu\n"
-#: src/elflint.c:4279
+#: src/elflint.c:4309
#, fuzzy, c-format
msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %zu\n"
msgstr ""
"phdr[%d]: tipo de nota de fichero objeto desconocido %<PRIu32> en "
"compensación %Zu\n"
-#: src/elflint.c:4283
+#: src/elflint.c:4313
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n"
@@ -3085,40 +3141,40 @@ msgstr ""
"Sección [%2d] '%s': tipo de nota de fichero objeto desconocido %<PRIu32> en "
"compensación %Zu\n"
-#: src/elflint.c:4300
+#: src/elflint.c:4330
#, 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:4319
+#: src/elflint.c:4349
#, 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:4322
+#: src/elflint.c:4352
#, 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:4343
+#: src/elflint.c:4373
#, 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:4350
+#: src/elflint.c:4380
#, 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:4353
+#: src/elflint.c:4383
#, 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:4371
+#: src/elflint.c:4401
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
@@ -3126,145 +3182,145 @@ msgstr ""
"Sólo ejecutables, objetos compartidos y ficheros core pueden tener "
"encabezamientos de programas\n"
-#: src/elflint.c:4386
+#: src/elflint.c:4416
#, 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:4395
+#: src/elflint.c:4425
#, 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:4406
+#: src/elflint.c:4436
#, 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:4414
+#: src/elflint.c:4444
#, 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:4421
+#: src/elflint.c:4451
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr "ejecutable estático no puede tener secciones dinámicas\n"
-#: src/elflint.c:4435
+#: src/elflint.c:4465
#, 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:4438
+#: src/elflint.c:4468
#, 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:4448
+#: src/elflint.c:4478
#, 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:4469
+#: src/elflint.c:4499
#, 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:4480
+#: src/elflint.c:4510
#, 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:4487
+#: src/elflint.c:4517
#, c-format
msgid ""
"GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
msgstr ""
-#: src/elflint.c:4496 src/elflint.c:4519
+#: src/elflint.c:4526 src/elflint.c:4549
#, 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:4525
+#: src/elflint.c:4555
#, 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:4550
+#: src/elflint.c:4580
#, 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:4553
+#: src/elflint.c:4583
#, 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:4566
+#: src/elflint.c:4596
#, 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:4574
+#: src/elflint.c:4604
#, 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:4577
+#: src/elflint.c:4607
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
msgstr "sección [%2zu] '%s' debe ser asignada\n"
-#: src/elflint.c:4581
+#: src/elflint.c:4611
#, 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:4584
+#: src/elflint.c:4614
#, 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:4589
+#: src/elflint.c:4619
#, 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:4592
+#: src/elflint.c:4622
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
msgstr "sección [%2zu] '%s' no debe ser ejecutable\n"
-#: src/elflint.c:4603
+#: src/elflint.c:4633
#, 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:4610
+#: src/elflint.c:4640
#, 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:4613
+#: src/elflint.c:4643
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
@@ -3273,7 +3329,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:4626
+#: src/elflint.c:4656
#, c-format
msgid ""
"executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME "
@@ -3282,12 +3338,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:4660
+#: src/elflint.c:4690
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr "No se puede leer encabezamiento ELF: %s\n"
-#: src/elflint.c:4686
+#: src/elflint.c:4716
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr "Bandera de reubicación de texto establecida pero no necesaria\n"
@@ -3309,7 +3365,7 @@ msgid "Locate source of text relocations in FILEs (a.out by default)."
msgstr ""
"Localizar origen de reubicaciones de texto en FICHEROS (a.out por defecto)."
-#: src/findtextrel.c:76 src/nm.c:107 src/objdump.c:71 src/size.c:83
+#: src/findtextrel.c:76 src/nm.c:108 src/objdump.c:71 src/size.c:83
#: src/strings.c:88 src/strip.c:95
msgid "[FILE...]"
msgstr "[FICHERO...]"
@@ -3821,8 +3877,8 @@ msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s"
msgstr ""
"Advertencia: el tamaño de `%s' cambió de %<PRIu64> en %s a %<PRIu64> en %s"
-#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:527
-#: src/readelf.c:829 src/strip.c:589
+#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:536 src/readelf.c:852
+#: src/strip.c:589
#, c-format
msgid "cannot determine number of sections: %s"
msgstr "no se pudieron determinar el número de secciones: %s"
@@ -4078,7 +4134,7 @@ 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"
-#: src/ldgeneric.c:6930 src/unstrip.c:1893
+#: src/ldgeneric.c:6930 src/unstrip.c:1929
#, c-format
msgid "cannot update ELF header: %s"
msgstr "No se puede actualizar encabezamiento ELF: %s"
@@ -4149,43 +4205,43 @@ msgstr ""
msgid "default visibility set as local and global"
msgstr "la visibilidad establecida por defecto establecida como local y global"
-#: src/nm.c:65 src/strip.c:67
+#: src/nm.c:66 src/strip.c:67
msgid "Output selection:"
msgstr "Selección de salida:"
-#: src/nm.c:66
+#: src/nm.c:67
msgid "Display debugger-only symbols"
msgstr "Mostrar sólo símbolos del depurador"
-#: src/nm.c:67
+#: src/nm.c:68
msgid "Display only defined symbols"
msgstr "Mostrar sólo símbolos definidos"
-#: src/nm.c:70
+#: src/nm.c:71
msgid "Display dynamic symbols instead of normal symbols"
msgstr "Mostrar símbolos dinámicos en lugar de símbolos normales"
-#: src/nm.c:71
+#: src/nm.c:72
msgid "Display only external symbols"
msgstr "Mostrar sólo símbolos externos"
-#: src/nm.c:72
+#: src/nm.c:73
msgid "Display only undefined symbols"
msgstr "Mostrar sólo símbolos indefinidos"
-#: src/nm.c:74
+#: src/nm.c:75
msgid "Include index for symbols from archive members"
msgstr "Incluir índices para símbolos de miembros de archivo"
-#: src/nm.c:76 src/size.c:57
+#: src/nm.c:77 src/size.c:57
msgid "Output format:"
msgstr "Formato de salida:"
-#: src/nm.c:78
+#: src/nm.c:79
msgid "Print name of the input file before every symbol"
msgstr "Imprimir nombre de archivo de entrada antes de cada símbolo"
-#: src/nm.c:81
+#: src/nm.c:82
msgid ""
"Use the output format FORMAT. FORMAT can be `bsd', `sysv' or `posix'. The "
"default is `sysv'"
@@ -4193,73 +4249,73 @@ msgstr ""
"Usar el formato de salida FORMATO. FORMATO puede ser o bien `bsd', o "
"`sysv', o `posix'. El establecido por defecto es `sysv'"
-#: src/nm.c:83
+#: src/nm.c:84
msgid "Same as --format=bsd"
msgstr "lo mismo que --format=bsd"
-#: src/nm.c:84
+#: src/nm.c:85
msgid "Same as --format=posix"
msgstr "lo mismo que --format=posix"
-#: src/nm.c:85 src/size.c:63
+#: src/nm.c:86 src/size.c:63
msgid "Use RADIX for printing symbol values"
msgstr "Utilizar RADIX para imprimir valores de símbolo"
-#: src/nm.c:86
+#: src/nm.c:87
#, fuzzy
msgid "Mark special symbols"
msgstr "Marcar símbolos débiles"
-#: src/nm.c:88
+#: src/nm.c:89
msgid "Print size of defined symbols"
msgstr "Tamaño de impresión de símbolos definidos"
-#: src/nm.c:90 src/size.c:71 src/strip.c:72 src/unstrip.c:72
+#: src/nm.c:91 src/size.c:71 src/strip.c:72 src/unstrip.c:72
msgid "Output options:"
msgstr "Opciones de salida:"
-#: src/nm.c:91
+#: src/nm.c:92
msgid "Sort symbols numerically by address"
msgstr "Ordenar los símbolos numéricos por dirección"
-#: src/nm.c:93
+#: src/nm.c:94
msgid "Do not sort the symbols"
msgstr "No ordenar los símbolos"
-#: src/nm.c:94
+#: src/nm.c:95
msgid "Reverse the sense of the sort"
msgstr "Invertir el orden"
-#: src/nm.c:97
+#: src/nm.c:98
msgid "Decode low-level symbol names into source code names"
msgstr ""
-#: src/nm.c:104
+#: src/nm.c:105
msgid "List symbols from FILEs (a.out by default)."
msgstr "Listar símbolos de FICHEROS (a.out por defecto)."
-#: src/nm.c:115 src/objdump.c:79
+#: src/nm.c:116 src/objdump.c:79
#, fuzzy
msgid "Output formatting"
msgstr "Formato de salida:"
-#: src/nm.c:139 src/objdump.c:103 src/size.c:108 src/strip.c:127
+#: src/nm.c:140 src/objdump.c:103 src/size.c:108 src/strip.c:127
#, fuzzy, c-format
msgid "%s: INTERNAL ERROR %d (%s): %s"
msgstr "%s: ERROR INTERNO %d (%s-%s): %s"
-#: src/nm.c:394 src/nm.c:406 src/size.c:305 src/size.c:314 src/size.c:325
+#: src/nm.c:395 src/nm.c:407 src/size.c:305 src/size.c:314 src/size.c:325
#: src/strip.c:2280
#, c-format
msgid "while closing '%s'"
msgstr "error al cerrar '%s'"
-#: src/nm.c:416 src/objdump.c:292 src/strip.c:391
+#: src/nm.c:417 src/objdump.c:292 src/strip.c:391
#, c-format
msgid "%s: File format not recognized"
msgstr "%s: No se reconoce el formato del fichero"
-#: src/nm.c:456
+#: src/nm.c:457
#, fuzzy
msgid ""
"\n"
@@ -4268,42 +4324,42 @@ msgstr ""
"\n"
"Ãndice de archivo:"
-#: src/nm.c:465
+#: src/nm.c:466
#, c-format
msgid "invalid offset %zu for symbol %s"
msgstr "Compensación %zu inválida para símbolo %s"
-#: src/nm.c:470
+#: src/nm.c:471
#, c-format
msgid "%s in %s\n"
msgstr "%s en %s\n"
-#: src/nm.c:478
+#: src/nm.c:479
#, c-format
msgid "cannot reset archive offset to beginning"
msgstr "imposible restablecer compensación de archivo al inicio"
-#: src/nm.c:503 src/objdump.c:340
+#: src/nm.c:504 src/objdump.c:340
#, c-format
msgid "%s%s%s: file format not recognized"
msgstr "%s%s%s: no se reconoció el formato de fichero"
-#: src/nm.c:715
+#: src/nm.c:719
#, c-format
msgid "cannot create search tree"
msgstr "No se puede crear el árbol de búsqueda"
-#: src/nm.c:754 src/nm.c:1160 src/objdump.c:789 src/readelf.c:536
-#: src/readelf.c:1085 src/readelf.c:1245 src/readelf.c:1393 src/readelf.c:1579
-#: src/readelf.c:1785 src/readelf.c:1975 src/readelf.c:2202 src/readelf.c:2460
-#: src/readelf.c:2536 src/readelf.c:2623 src/readelf.c:3203 src/readelf.c:3239
-#: src/readelf.c:3302 src/readelf.c:8212 src/readelf.c:9314 src/readelf.c:9461
-#: src/readelf.c:9529 src/size.c:413 src/size.c:482 src/strip.c:520
+#: src/nm.c:760 src/nm.c:1221 src/objdump.c:789 src/readelf.c:545
+#: src/readelf.c:1123 src/readelf.c:1323 src/readelf.c:1471 src/readelf.c:1667
+#: src/readelf.c:1873 src/readelf.c:2063 src/readelf.c:2300 src/readelf.c:2558
+#: src/readelf.c:2634 src/readelf.c:2721 src/readelf.c:3301 src/readelf.c:3347
+#: src/readelf.c:3410 src/readelf.c:8320 src/readelf.c:9420 src/readelf.c:9603
+#: src/readelf.c:9671 src/size.c:413 src/size.c:482 src/strip.c:520
#, c-format
msgid "cannot get section header string table index"
msgstr "no se puede obtener índice de cadena de encabezamiento de sección"
-#: src/nm.c:781
+#: src/nm.c:787
#, c-format
msgid ""
"\n"
@@ -4316,7 +4372,7 @@ msgstr ""
"Símbolos de %s:\n"
"\n"
-#: src/nm.c:784
+#: src/nm.c:790
#, c-format
msgid ""
"%*s%-*s %-*s Class Type %-*s %*s Section\n"
@@ -4325,23 +4381,23 @@ msgstr ""
"%*s%-*s %-*s Clase Tipo %-*s %*s Sección\n"
"\n"
-#: src/nm.c:1171
+#: src/nm.c:1232
#, fuzzy, c-format
msgid "%s: entry size in section %zd `%s' is not what we expect"
msgstr ""
"%s: el tamaño de la entrada en la sección `%s' no es el que esperábamos "
-#: src/nm.c:1176
+#: src/nm.c:1237
#, fuzzy, c-format
msgid "%s: size of section %zd `%s' is not multiple of entry size"
msgstr "%s: Tamaño de sección `%s' no es múltiplo de tamaño de entrada"
-#: src/nm.c:1434
+#: src/nm.c:1537
#, c-format
msgid "%s%s%s%s: Invalid operation"
msgstr "%s%s%s%s: Operación inválida"
-#: src/nm.c:1491
+#: src/nm.c:1594
#, c-format
msgid "%s%s%s: no symbols"
msgstr "%s%s%s: No hay símbolos"
@@ -4375,7 +4431,7 @@ msgstr "Sólo muestra información para NOMBRE de sección."
msgid "Show information from FILEs (a.out by default)."
msgstr "Muestra información de FICHEROS (a.out por defecto)."
-#: src/objdump.c:232 src/readelf.c:473
+#: src/objdump.c:232 src/readelf.c:479
msgid "No operation specified.\n"
msgstr "No se especificó una operación.\n"
@@ -4384,11 +4440,11 @@ msgstr "No se especificó una operación.\n"
msgid "while close `%s'"
msgstr "mientras cierra `%s'"
-#: src/objdump.c:375 src/readelf.c:1880 src/readelf.c:2072
+#: src/objdump.c:375 src/readelf.c:1968 src/readelf.c:2160
msgid "INVALID SYMBOL"
msgstr "SÃMBOLO INVÃLIDO"
-#: src/objdump.c:390 src/readelf.c:1914 src/readelf.c:2108
+#: src/objdump.c:390 src/readelf.c:2002 src/readelf.c:2196
msgid "INVALID SECTION"
msgstr "SECCIÓN INVÃLIDA"
@@ -4440,73 +4496,73 @@ msgstr "%s: no es un archivo"
msgid "error while freeing sub-ELF descriptor: %s"
msgstr "error al liberar descriptor sub-ELF: %s"
-#: src/readelf.c:71
+#: src/readelf.c:72
#, fuzzy
msgid "ELF input selection:"
msgstr "Selección de salida de ELF:"
-#: src/readelf.c:73
+#: src/readelf.c:74
msgid ""
"Use the named SECTION (default .gnu_debugdata) as (compressed) ELF input data"
msgstr ""
-#: src/readelf.c:75
+#: src/readelf.c:76
msgid "ELF output selection:"
msgstr "Selección de salida de ELF:"
-#: src/readelf.c:77
+#: src/readelf.c:78
msgid "All these plus -p .strtab -p .dynstr -p .comment"
msgstr "Todo esto mas -p .strtab -p .dynstr -p .comment"
-#: src/readelf.c:78
+#: src/readelf.c:79
msgid "Display the dynamic segment"
msgstr "Mostrar el segmento dinámico"
-#: src/readelf.c:79
+#: src/readelf.c:80
msgid "Display the ELF file header"
msgstr "Mostrar el encabezamiento del fichero ELF"
-#: src/readelf.c:81
+#: src/readelf.c:82
msgid "Display histogram of bucket list lengths"
msgstr "Mostrar histograma de las longitudes de las listas de cubetas"
-#: src/readelf.c:82
+#: src/readelf.c:83
msgid "Display the program headers"
msgstr "Mostrar encabezamientos de programa"
-#: src/readelf.c:84
+#: src/readelf.c:85
msgid "Display relocations"
msgstr "Mostrar reubicaciones"
-#: src/readelf.c:85
+#: src/readelf.c:86
msgid "Display the sections' headers"
msgstr "Mostrar los encabezados de las secciones"
-#: src/readelf.c:87
+#: src/readelf.c:88
msgid "Display the symbol table"
msgstr "Mostrar la tabla de símbolos"
-#: src/readelf.c:88
+#: src/readelf.c:89
msgid "Display versioning information"
msgstr "Mostrar información de versión"
-#: src/readelf.c:89
+#: src/readelf.c:90
msgid "Display the ELF notes"
msgstr "Mostrar las notas ELF"
-#: src/readelf.c:91
+#: src/readelf.c:92
msgid "Display architecture specific information, if any"
msgstr "Mostrar información específica de la arquitectura (si es que la hay)"
-#: src/readelf.c:93
+#: src/readelf.c:94
msgid "Display sections for exception handling"
msgstr "Muestra secciones para manejo de excepciones"
-#: src/readelf.c:95
+#: src/readelf.c:96
msgid "Additional output selection:"
msgstr "Selección de salida adicional:"
-#: src/readelf.c:97
+#: src/readelf.c:98
#, fuzzy
msgid ""
"Display DWARF section content. SECTION can be one of abbrev, aranges, "
@@ -4517,170 +4573,176 @@ msgstr ""
"siguiente: abbrev, aranges, frame, info, loc, line, ranges, pubnames, str, "
"macinfo, o exception"
-#: src/readelf.c:101
+#: src/readelf.c:102
msgid "Dump the uninterpreted contents of SECTION, by number or name"
msgstr "Vuelca los contenidos no interpretados de SECCIÓN, por número o nombre"
-#: src/readelf.c:103
+#: src/readelf.c:104
msgid "Print string contents of sections"
msgstr "Imprime contenido de cadena de secciones"
-#: src/readelf.c:106
+#: src/readelf.c:107
msgid "Display the symbol index of an archive"
msgstr "Muestra el índice de símbolos de un archivo"
-#: src/readelf.c:108
+#: src/readelf.c:109
msgid "Output control:"
msgstr "Control de salida:"
-#: src/readelf.c:110
+#: src/readelf.c:111
msgid "Do not find symbol names for addresses in DWARF data"
msgstr ""
"No se encuentran los nombres de símbolos para direcciones en datos DWARF"
-#: src/readelf.c:112
+#: src/readelf.c:113
#, fuzzy
msgid ""
"Display just offsets instead of resolving values to addresses in DWARF data"
msgstr ""
"No se encuentran los nombres de símbolos para direcciones en datos DWARF"
-#: src/readelf.c:114
+#: src/readelf.c:115
msgid "Ignored for compatibility (lines always wide)"
msgstr ""
-#: src/readelf.c:119
+#: src/readelf.c:117
+msgid ""
+"Show compression information for compressed sections (when used with -S); "
+"decompress section before dumping data (when used with -p or -x)"
+msgstr ""
+
+#: src/readelf.c:122
msgid "Print information from ELF file in human-readable form."
msgstr ""
"Imprimir información del fichero ELF en una forma comprensible para los "
"seres humanos."
-#: src/readelf.c:441
+#: src/readelf.c:447
#, c-format
msgid "Unknown DWARF debug section `%s'.\n"
msgstr "Sección de depuración DWARF desconocida `%s'.\n"
-#: src/readelf.c:520 src/readelf.c:631
+#: src/readelf.c:529 src/readelf.c:640
#, c-format
msgid "cannot generate Elf descriptor: %s"
msgstr "no se puede crear descriptor ELF: %s"
-#: src/readelf.c:545 src/readelf.c:1099 src/readelf.c:1269
+#: src/readelf.c:554 src/readelf.c:1145 src/readelf.c:1347
#, c-format
msgid "cannot get section: %s"
msgstr "No se puede encontrar la sección: %s"
-#: src/readelf.c:554 src/readelf.c:1106 src/readelf.c:1277 src/readelf.c:9481
-#: src/unstrip.c:355 src/unstrip.c:386 src/unstrip.c:435 src/unstrip.c:543
-#: src/unstrip.c:560 src/unstrip.c:596 src/unstrip.c:794 src/unstrip.c:1083
-#: src/unstrip.c:1274 src/unstrip.c:1334 src/unstrip.c:1455 src/unstrip.c:1508
-#: src/unstrip.c:1623 src/unstrip.c:1761 src/unstrip.c:1855
+#: src/readelf.c:563 src/readelf.c:1152 src/readelf.c:1355 src/readelf.c:9623
+#: src/unstrip.c:387 src/unstrip.c:418 src/unstrip.c:467 src/unstrip.c:577
+#: src/unstrip.c:594 src/unstrip.c:631 src/unstrip.c:829 src/unstrip.c:1118
+#: src/unstrip.c:1309 src/unstrip.c:1369 src/unstrip.c:1490 src/unstrip.c:1543
+#: src/unstrip.c:1658 src/unstrip.c:1796 src/unstrip.c:1891
#, c-format
msgid "cannot get section header: %s"
msgstr "No se puede obtener encabezamiento de sección: %s"
-#: src/readelf.c:562
+#: src/readelf.c:571
#, fuzzy, c-format
msgid "cannot get section name"
msgstr "no se puede obtener encabezamiento de sección\n"
-#: src/readelf.c:571 src/readelf.c:5396 src/readelf.c:7670 src/readelf.c:7772
-#: src/readelf.c:7949
+#: src/readelf.c:580 src/readelf.c:5504 src/readelf.c:7778 src/readelf.c:7880
+#: src/readelf.c:8057
#, c-format
msgid "cannot get %s content: %s"
msgstr "No se puede obtener el contenido %s: %s"
-#: src/readelf.c:587
+#: src/readelf.c:596
#, fuzzy, c-format
msgid "cannot create temp file '%s'"
msgstr "no se puede crear fichero nuevo '%s': %s"
-#: src/readelf.c:596
+#: src/readelf.c:605
#, fuzzy, c-format
msgid "cannot write section data"
msgstr "no se puede leer la sección de datos: %s"
-#: src/readelf.c:602 src/readelf.c:619 src/readelf.c:648
+#: src/readelf.c:611 src/readelf.c:628 src/readelf.c:657
#, c-format
msgid "error while closing Elf descriptor: %s"
msgstr "error al cerrar el descriptor ELF: %s"
-#: src/readelf.c:609
+#: src/readelf.c:618
#, fuzzy, c-format
msgid "error while rewinding file descriptor"
msgstr "error al cerrar el descriptor ELF: %s"
-#: src/readelf.c:643
+#: src/readelf.c:652
#, c-format
msgid "'%s' is not an archive, cannot print archive index"
msgstr "'%s' no es un archivo, no se puede imprimir índice de archivo"
-#: src/readelf.c:742
+#: src/readelf.c:751
#, fuzzy, c-format
msgid "No such section '%s' in '%s'"
msgstr "No se puede obtener contenido de sección %zu en '%s': %s"
-#: src/readelf.c:769
+#: src/readelf.c:778
#, c-format
msgid "cannot stat input file"
msgstr "no sepudo stat archivo de entrada"
-#: src/readelf.c:771
+#: src/readelf.c:780
#, c-format
msgid "input file is empty"
msgstr "archivo de entrada vacío"
-#: src/readelf.c:773
+#: src/readelf.c:782
#, c-format
msgid "failed reading '%s': %s"
msgstr "Falló lectura de '%s': %s"
-#: src/readelf.c:814
+#: src/readelf.c:837
#, c-format
msgid "cannot read ELF header: %s"
msgstr "no se pudo leer encabezamiento ELF: %s"
-#: src/readelf.c:822
+#: src/readelf.c:845
#, c-format
msgid "cannot create EBL handle"
msgstr "no se puede crear EBL"
-#: src/readelf.c:835
+#: src/readelf.c:858
#, 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:921
+#: src/readelf.c:948
msgid "NONE (None)"
msgstr "NONE (Ninguno)"
-#: src/readelf.c:922
+#: src/readelf.c:949
msgid "REL (Relocatable file)"
msgstr "REL (Fichero reubicable)"
-#: src/readelf.c:923
+#: src/readelf.c:950
msgid "EXEC (Executable file)"
msgstr "EXEC (Fichero ejecutable)"
-#: src/readelf.c:924
+#: src/readelf.c:951
msgid "DYN (Shared object file)"
msgstr "DYN (Fichero objeto compartido)"
-#: src/readelf.c:925
+#: src/readelf.c:952
msgid "CORE (Core file)"
msgstr "CORE (Fichero núcleo)"
-#: src/readelf.c:930
+#: src/readelf.c:957
#, c-format
msgid "OS Specific: (%x)\n"
msgstr "OS Specific: (%x)\n"
-#: src/readelf.c:932
+#: src/readelf.c:959
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr "Específico del procesador: (%x)\n"
-#: src/readelf.c:942
+#: src/readelf.c:969
msgid ""
"ELF Header:\n"
" Magic: "
@@ -4688,7 +4750,7 @@ msgstr ""
"Encabezamiento ELF:\n"
" Mágico: "
-#: src/readelf.c:946
+#: src/readelf.c:973
#, c-format
msgid ""
"\n"
@@ -4697,119 +4759,119 @@ msgstr ""
"\n"
" Clase: %s\n"
-#: src/readelf.c:951
+#: src/readelf.c:978
#, c-format
msgid " Data: %s\n"
msgstr " Datos: %s\n"
-#: src/readelf.c:957
+#: src/readelf.c:984
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr " Versión ident: %hhd %s\n"
-#: src/readelf.c:959 src/readelf.c:976
+#: src/readelf.c:986 src/readelf.c:1003
msgid "(current)"
msgstr "(actual)"
-#: src/readelf.c:963
+#: src/readelf.c:990
#, c-format
msgid " OS/ABI: %s\n"
msgstr " OS/ABI: %s\n"
-#: src/readelf.c:966
+#: src/readelf.c:993
#, c-format
msgid " ABI Version: %hhd\n"
msgstr " Versión ABI: %hhd\n"
-#: src/readelf.c:969
+#: src/readelf.c:996
msgid " Type: "
msgstr " Tipo: "
-#: src/readelf.c:972
+#: src/readelf.c:999
#, c-format
msgid " Machine: %s\n"
msgstr " Máquina: %s\n"
-#: src/readelf.c:974
+#: src/readelf.c:1001
#, c-format
msgid " Version: %d %s\n"
msgstr " Versión: %d %s\n"
-#: src/readelf.c:978
+#: src/readelf.c:1005
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr " Dirección de punto de entrada: %#<PRIx64>\n"
-#: src/readelf.c:981
+#: src/readelf.c:1008
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr " Inicio de encabezamientos de programa: %<PRId64> %s\n"
-#: src/readelf.c:982 src/readelf.c:985
+#: src/readelf.c:1009 src/readelf.c:1012
msgid "(bytes into file)"
msgstr " (bytes en el archivo)"
-#: src/readelf.c:984
+#: src/readelf.c:1011
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr " Inicio de encabezamientos de sección: %<PRId64> %s\n"
-#: src/readelf.c:987
+#: src/readelf.c:1014
#, c-format
msgid " Flags: %s\n"
msgstr " Indicadores: %s\n"
-#: src/readelf.c:990
+#: src/readelf.c:1017
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr " Tamaño de este encabezamiento: %<PRId16> %s\n"
-#: src/readelf.c:991 src/readelf.c:994 src/readelf.c:1011
+#: src/readelf.c:1018 src/readelf.c:1021 src/readelf.c:1038
msgid "(bytes)"
msgstr "(bytes)"
-#: src/readelf.c:993
+#: src/readelf.c:1020
#, 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:996
+#: src/readelf.c:1023
#, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr " Cantidad de entradas de encabezados de programa: %<PRId16>"
-#: src/readelf.c:1003
+#: src/readelf.c:1030
#, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr " (%<PRIu32> in [0].sh_info)"
-#: src/readelf.c:1006 src/readelf.c:1023 src/readelf.c:1037
+#: src/readelf.c:1033 src/readelf.c:1050 src/readelf.c:1064
msgid " ([0] not available)"
msgstr " ([0] no disponible)"
-#: src/readelf.c:1010
+#: src/readelf.c:1037
#, 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:1013
+#: src/readelf.c:1040
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr " Cantidad de entradas en los encabezamientos de sección: %<PRId16>"
-#: src/readelf.c:1020
+#: src/readelf.c:1047
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr " (%<PRIu32> en [0].sh_size)"
-#: src/readelf.c:1033
+#: src/readelf.c:1060
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr " (%<PRIu32> en [0].sh_link)"
-#: src/readelf.c:1041
+#: src/readelf.c:1068
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
@@ -4818,14 +4880,14 @@ msgstr ""
" Ãndice de tabla de cadenas de sección de encabezamiento de : XINDEX%s\n"
"\n"
-#: src/readelf.c:1045
+#: src/readelf.c:1072
#, 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:1077
+#: src/readelf.c:1115
#, c-format
msgid ""
"There are %d section headers, starting at offset %#<PRIx64>:\n"
@@ -4834,11 +4896,11 @@ msgstr ""
"Hay %d encabezamientos de sección, comenzando en compensación %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:1087
+#: src/readelf.c:1125
msgid "Section Headers:"
msgstr "encabezamientos de sección:"
-#: src/readelf.c:1090
+#: src/readelf.c:1128
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
@@ -4846,7 +4908,7 @@ msgstr ""
"[Nr] Nombre Tipo Dirección Off Tamaño Inf Al "
"Enlace banderas ES"
-#: src/readelf.c:1092
+#: src/readelf.c:1130
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
@@ -4854,18 +4916,36 @@ msgstr ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
-#: src/readelf.c:1164
+#: src/readelf.c:1135
+msgid " [Compression Size Al]"
+msgstr ""
+
+#: src/readelf.c:1137
+msgid " [Compression Size Al]"
+msgstr ""
+
+#: src/readelf.c:1213
+#, 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:1224
+#, 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:1242
msgid "Program Headers:"
msgstr "encabezamientos de programa:"
-#: src/readelf.c:1166
+#: src/readelf.c:1244
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:1169
+#: src/readelf.c:1247
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
@@ -4873,12 +4953,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:1226
+#: src/readelf.c:1304
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr "\t[Solicitando intérprete de programa: %s]\n"
-#: src/readelf.c:1247
+#: src/readelf.c:1325
msgid ""
"\n"
" Section to Segment mapping:\n"
@@ -4888,12 +4968,12 @@ msgstr ""
" Sección para asignación de segmento:\n"
" Secciones de segmento..."
-#: src/readelf.c:1258 src/unstrip.c:1914 src/unstrip.c:1957 src/unstrip.c:1964
+#: src/readelf.c:1336 src/unstrip.c:1950 src/unstrip.c:1992 src/unstrip.c:1999
#, c-format
msgid "cannot get program header: %s"
msgstr "no se puede obtener memoria para encabezamiento del programa: %s"
-#: src/readelf.c:1401
+#: src/readelf.c:1479
#, c-format
msgid ""
"\n"
@@ -4908,7 +4988,7 @@ msgstr[1] ""
"\n"
"Grupo de sección COMDAT [%2zu] '%s' con firma '%s' contiene entradas %zu:\n"
-#: src/readelf.c:1406
+#: src/readelf.c:1484
#, c-format
msgid ""
"\n"
@@ -4923,21 +5003,25 @@ msgstr[1] ""
"\n"
"Grupo de sección [%2zu] '%s' con firma '%s' contiene entradas %zu:\n"
-#: src/readelf.c:1414
+#: src/readelf.c:1492
msgid "<INVALID SYMBOL>"
msgstr "<SÃMBOLO INVÃLIDO>"
-#: src/readelf.c:1428
+#: src/readelf.c:1506
msgid "<INVALID SECTION>"
msgstr "<SECCIÓN INVÃLIDA>"
-#: src/readelf.c:1585 src/readelf.c:2208 src/readelf.c:2466 src/readelf.c:2542
-#: src/readelf.c:2846 src/readelf.c:2920 src/readelf.c:4608
+#: src/readelf.c:1529 src/readelf.c:2238 src/readelf.c:3317
+msgid "Couldn't uncompress section"
+msgstr ""
+
+#: src/readelf.c:1673 src/readelf.c:2306 src/readelf.c:2564 src/readelf.c:2640
+#: src/readelf.c:2944 src/readelf.c:3018 src/readelf.c:4716
#, fuzzy, c-format
msgid "invalid sh_link value in section %zu"
msgstr ".debug_line section inválida"
-#: src/readelf.c:1588
+#: src/readelf.c:1676
#, c-format
msgid ""
"\n"
@@ -4958,36 +5042,36 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'\n"
-#: src/readelf.c:1598
+#: src/readelf.c:1686
msgid " Type Value\n"
msgstr " Tipo Valor\n"
-#: src/readelf.c:1622
+#: src/readelf.c:1710
#, c-format
msgid "Shared library: [%s]\n"
msgstr "Biblioteca compartida: [%s]\n"
-#: src/readelf.c:1627
+#: src/readelf.c:1715
#, c-format
msgid "Library soname: [%s]\n"
msgstr "Nombre-so de la biblioteca: [%s]\n"
-#: src/readelf.c:1632
+#: src/readelf.c:1720
#, c-format
msgid "Library rpath: [%s]\n"
msgstr "Rpath de la biblioteca: [%s]\n"
-#: src/readelf.c:1637
+#: src/readelf.c:1725
#, c-format
msgid "Library runpath: [%s]\n"
msgstr "Ruta de ejecución de la biblioteca: [%s]\n"
-#: src/readelf.c:1657
+#: src/readelf.c:1745
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr "%<PRId64> (bytes)\n"
-#: src/readelf.c:1770 src/readelf.c:1960
+#: src/readelf.c:1858 src/readelf.c:2048
#, c-format
msgid ""
"\n"
@@ -4996,7 +5080,7 @@ msgstr ""
"\n"
"Tabla de símbolos inválida en compensación %#0<PRIx64>\n"
-#: src/readelf.c:1788 src/readelf.c:1978
+#: src/readelf.c:1876 src/readelf.c:2066
#, c-format
msgid ""
"\n"
@@ -5015,7 +5099,7 @@ msgstr[1] ""
"Sección de reubicación [%2zu] '%s' para sección [%2u] '%s' en compensación "
"%#0<PRIx64> contiene entradas %d:\n"
-#: src/readelf.c:1803 src/readelf.c:1993
+#: src/readelf.c:1891 src/readelf.c:2081
#, c-format
msgid ""
"\n"
@@ -5032,29 +5116,29 @@ msgstr[1] ""
"Sección de reubicación [%2u] '%s' en compensación %#0<PRIx64> contiene "
"entradas %d:\n"
-#: src/readelf.c:1813
+#: src/readelf.c:1901
msgid " Offset Type Value Name\n"
msgstr " Compensación Tipo Valor Nombre\n"
-#: src/readelf.c:1815
+#: src/readelf.c:1903
msgid " Offset Type Value Name\n"
msgstr " Compensación Tipo Valor Nombre\n"
-#: src/readelf.c:1868 src/readelf.c:1879 src/readelf.c:1892 src/readelf.c:1913
-#: src/readelf.c:1925 src/readelf.c:2059 src/readelf.c:2071 src/readelf.c:2085
-#: src/readelf.c:2107 src/readelf.c:2120
+#: src/readelf.c:1956 src/readelf.c:1967 src/readelf.c:1980 src/readelf.c:2001
+#: src/readelf.c:2013 src/readelf.c:2147 src/readelf.c:2159 src/readelf.c:2173
+#: src/readelf.c:2195 src/readelf.c:2208
msgid "<INVALID RELOC>"
msgstr "<REUBIC INVÃLIDA>"
-#: src/readelf.c:2003
+#: src/readelf.c:2091
msgid " Offset Type Value Addend Name\n"
msgstr " Compensación Tipo Valor Nombre Adend\n"
-#: src/readelf.c:2005
+#: src/readelf.c:2093
msgid " Offset Type Value Addend Name\n"
msgstr " Compensación Tipo Valor Nombre Adend\n"
-#: src/readelf.c:2216
+#: src/readelf.c:2314
#, c-format
msgid ""
"\n"
@@ -5069,40 +5153,40 @@ msgstr[1] ""
"\n"
"La tabla de símbolos [%2u] '%s' contiene entradas %u:\n"
-#: src/readelf.c:2221
+#: src/readelf.c:2319
#, 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:2229
+#: src/readelf.c:2327
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:2231
+#: src/readelf.c:2329
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:2251
+#: src/readelf.c:2349
#, 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:2339
+#: src/readelf.c:2437
#, c-format
msgid "bad dynamic symbol"
msgstr "símbolo dinámico erróneo"
-#: src/readelf.c:2421
+#: src/readelf.c:2519
msgid "none"
msgstr "nada"
-#: src/readelf.c:2438
+#: src/readelf.c:2536
msgid "| <unknown>"
msgstr "| <desconocido>"
-#: src/readelf.c:2469
+#: src/readelf.c:2567
#, c-format
msgid ""
"\n"
@@ -5123,17 +5207,17 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'\n"
-#: src/readelf.c:2490
+#: src/readelf.c:2588
#, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: Versión: %hu Fichero: %s Conteo: %hu\n"
-#: src/readelf.c:2503
+#: src/readelf.c:2601
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: Nombre: %s Banderas: %s Versión: %hu\n"
-#: src/readelf.c:2546
+#: src/readelf.c:2644
#, c-format
msgid ""
"\n"
@@ -5154,18 +5238,18 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'\n"
-#: src/readelf.c:2574
+#: src/readelf.c:2672
#, 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:2589
+#: src/readelf.c:2687
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr " %#06x: Principal %d: %s\n"
-#: src/readelf.c:2850
+#: src/readelf.c:2948
#, c-format
msgid ""
"\n"
@@ -5186,15 +5270,15 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'"
-#: src/readelf.c:2878
+#: src/readelf.c:2976
msgid " 0 *local* "
msgstr " 0 *local* "
-#: src/readelf.c:2883
+#: src/readelf.c:2981
msgid " 1 *global* "
msgstr " 1 *global* "
-#: src/readelf.c:2925
+#: src/readelf.c:3023
#, c-format
msgid ""
"\n"
@@ -5219,22 +5303,22 @@ msgstr[1] ""
" Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: "
"[%2u] '%s'\n"
-#: src/readelf.c:2947
+#: src/readelf.c:3045
#, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr " Longitud Número % of total Cobertura\n"
-#: src/readelf.c:2949
+#: src/readelf.c:3047
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:2956
+#: src/readelf.c:3054
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:2969
+#: src/readelf.c:3067
#, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
@@ -5243,27 +5327,27 @@ msgstr ""
" Número promedio de pruebas: búsqueda exitosa: %f\n"
" búsqueda sin éxito: %f\n"
-#: src/readelf.c:2987 src/readelf.c:3042 src/readelf.c:3099
+#: src/readelf.c:3085 src/readelf.c:3140 src/readelf.c:3197
#, 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:2995
+#: src/readelf.c:3093
#, fuzzy, c-format
msgid "invalid data in sysv.hash section %d"
msgstr "Datos inválidos en sección [%zu] '%s'"
-#: src/readelf.c:3050
+#: src/readelf.c:3148
#, fuzzy, c-format
msgid "invalid data in sysv.hash64 section %d"
msgstr "Datos inválidos en sección [%zu] '%s'"
-#: src/readelf.c:3108
+#: src/readelf.c:3206
#, fuzzy, c-format
msgid "invalid data in gnu.hash section %d"
msgstr "Datos inválidos en sección [%zu] '%s'"
-#: src/readelf.c:3175
+#: src/readelf.c:3273
#, c-format
msgid ""
" Symbol Bias: %u\n"
@@ -5273,7 +5357,7 @@ msgstr ""
" Tamaño de Bitmask: %zu bytes %<PRIuFAST32>%% bits establecen segundo "
"cambio de dispersión: %u\n"
-#: src/readelf.c:3250
+#: src/readelf.c:3358
#, c-format
msgid ""
"\n"
@@ -5290,7 +5374,7 @@ msgstr[1] ""
"Sección de lista de biblioteca [%2zu] '%s' en compensación %#0<PRIx64> "
"contiene entradas %d:\n"
-#: src/readelf.c:3264
+#: src/readelf.c:3372
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
@@ -5298,7 +5382,7 @@ msgstr ""
" Biblioteca Marca de tiempo Indicadores "
"de versión de suma de verificación"
-#: src/readelf.c:3314
+#: src/readelf.c:3422
#, c-format
msgid ""
"\n"
@@ -5309,140 +5393,140 @@ msgstr ""
"Sección de atributos de objeto [%2zu] '%s' de %<PRIu64> bytes con "
"desplazamiento %#0<PRIx64>:\n"
-#: src/readelf.c:3331
+#: src/readelf.c:3439
msgid " Owner Size\n"
msgstr " Propietario Tamaño\n"
-#: src/readelf.c:3360
+#: src/readelf.c:3468
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
-#: src/readelf.c:3399
+#: src/readelf.c:3507
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
-#: src/readelf.c:3404
+#: src/readelf.c:3512
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " File: %11<PRIu32>\n"
-#: src/readelf.c:3453
+#: src/readelf.c:3561
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>, %s\n"
-#: src/readelf.c:3456
+#: src/readelf.c:3564
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3459
+#: src/readelf.c:3567
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3469
+#: src/readelf.c:3577
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3472
+#: src/readelf.c:3580
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3517
+#: src/readelf.c:3625
#, c-format
msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3520
+#: src/readelf.c:3628
#, c-format
msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3525
+#: src/readelf.c:3633
#, c-format
msgid "%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3528
+#: src/readelf.c:3636
#, c-format
msgid "%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3534
+#: src/readelf.c:3642
#, c-format
msgid "%s+%#<PRIx64> <%s>"
msgstr "%s+%#<PRIx64> <%s>"
-#: src/readelf.c:3537
+#: src/readelf.c:3645
#, c-format
msgid "%s+%#0*<PRIx64> <%s>"
msgstr "%s+%#0*<PRIx64> <%s>"
-#: src/readelf.c:3541
+#: src/readelf.c:3649
#, c-format
msgid "%#<PRIx64> <%s>"
msgstr "%#<PRIx64> <%s>"
-#: src/readelf.c:3544
+#: src/readelf.c:3652
#, c-format
msgid "%#0*<PRIx64> <%s>"
msgstr "%#0*<PRIx64> <%s>"
-#: src/readelf.c:3549
+#: src/readelf.c:3657
#, c-format
msgid "%s+%#<PRIx64>"
msgstr "%s+%#<PRIx64>"
-#: src/readelf.c:3552
+#: src/readelf.c:3660
#, c-format
msgid "%s+%#0*<PRIx64>"
msgstr "%s+%#0*<PRIx64>"
-#: src/readelf.c:3930
+#: src/readelf.c:4038
msgid "empty block"
msgstr "bloque vacío"
-#: src/readelf.c:3933
+#: src/readelf.c:4041
#, c-format
msgid "%zu byte block:"
msgstr "bloque de byte %zu:"
-#: src/readelf.c:4330
+#: src/readelf.c:4438
#, c-format
msgid "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
msgstr "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
-#: src/readelf.c:4387
+#: src/readelf.c:4495
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr "%s %#<PRIx64> utilizado con direcciones de diferente tamaño"
-#: src/readelf.c:4394
+#: src/readelf.c:4502
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr "%s %#<PRIx64> utilizado con offsetr de diferente tamaño"
-#: src/readelf.c:4401
+#: src/readelf.c:4509
#, fuzzy, c-format
msgid "%s %#<PRIx64> used with different base addresses"
msgstr "%s %#<PRIx64> utilizado con direcciones de diferente tamaño"
-#: src/readelf.c:4490
+#: src/readelf.c:4598
#, 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:4498
+#: src/readelf.c:4606
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr " [%6tx] <MATERIAL INUTIL NO UTILIZADO> ... %<PRIu64> bytes ...\n"
-#: src/readelf.c:4524
+#: src/readelf.c:4632
#, c-format
msgid ""
"\n"
@@ -5453,7 +5537,7 @@ msgstr ""
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
" [ Código]\n"
-#: src/readelf.c:4532
+#: src/readelf.c:4640
#, c-format
msgid ""
"\n"
@@ -5462,30 +5546,30 @@ msgstr ""
"\n"
"Sección de abreviatura en compensación %<PRIu64>:\n"
-#: src/readelf.c:4545
+#: src/readelf.c:4653
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr " *** error en lectura de abreviatura: %s\n"
-#: src/readelf.c:4561
+#: src/readelf.c:4669
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr " [%5u] compensación: %<PRId64>, hijos: %s, etiqueta: %s\n"
-#: src/readelf.c:4564
+#: src/readelf.c:4672
msgid "yes"
msgstr "sí"
-#: src/readelf.c:4564
+#: src/readelf.c:4672
msgid "no"
msgstr "no"
-#: src/readelf.c:4598 src/readelf.c:4671
+#: src/readelf.c:4706 src/readelf.c:4779
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr "no se ha podido obtener contenido de .debug_aranges: %s"
-#: src/readelf.c:4613
+#: src/readelf.c:4721
#, c-format
msgid ""
"\n"
@@ -5500,12 +5584,12 @@ msgstr[1] ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entradas %zu:\n"
-#: src/readelf.c:4644
+#: src/readelf.c:4752
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:4646
+#: src/readelf.c:4754
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
@@ -5513,8 +5597,8 @@ msgstr ""
" Inicio [%*zu]: %0#*<PRIx64>, longitud: %5<PRIu64>, compensación CU DIE: "
"%6<PRId64>\n"
-#: src/readelf.c:4676 src/readelf.c:4830 src/readelf.c:5406 src/readelf.c:6360
-#: src/readelf.c:6892 src/readelf.c:7012 src/readelf.c:7176 src/readelf.c:7601
+#: src/readelf.c:4784 src/readelf.c:4938 src/readelf.c:5514 src/readelf.c:6468
+#: src/readelf.c:7000 src/readelf.c:7120 src/readelf.c:7284 src/readelf.c:7709
#, c-format
msgid ""
"\n"
@@ -5523,7 +5607,7 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
-#: src/readelf.c:4689 src/readelf.c:6386
+#: src/readelf.c:4797 src/readelf.c:6494
#, fuzzy, c-format
msgid ""
"\n"
@@ -5532,111 +5616,111 @@ msgstr ""
"\n"
"Tabla en compensación %Zu:\n"
-#: src/readelf.c:4693 src/readelf.c:5430 src/readelf.c:6397
+#: src/readelf.c:4801 src/readelf.c:5538 src/readelf.c:6505
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr "Datos inválidos en sección [%zu] '%s'"
-#: src/readelf.c:4709
+#: src/readelf.c:4817
#, fuzzy, c-format
msgid ""
"\n"
" Length: %6<PRIu64>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:4721
+#: src/readelf.c:4829
#, fuzzy, c-format
msgid " DWARF version: %6<PRIuFAST16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:4725
+#: src/readelf.c:4833
#, c-format
msgid "unsupported aranges version"
msgstr ""
-#: src/readelf.c:4736
+#: src/readelf.c:4844
#, fuzzy, c-format
msgid " CU offset: %6<PRIx64>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:4742
+#: src/readelf.c:4850
#, fuzzy, c-format
msgid " Address size: %6<PRIu64>\n"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:4746
+#: src/readelf.c:4854
#, fuzzy, c-format
msgid "unsupported address size"
msgstr "no hay valor de dirección"
-#: src/readelf.c:4751
+#: src/readelf.c:4859
#, fuzzy, c-format
msgid ""
" Segment size: %6<PRIu64>\n"
"\n"
msgstr " establecer archivo a %<PRIu64>\n"
-#: src/readelf.c:4755
+#: src/readelf.c:4863
#, c-format
msgid "unsupported segment size"
msgstr ""
-#: src/readelf.c:4795
+#: src/readelf.c:4903
#, fuzzy, c-format
msgid " %s..%s (%<PRIx64>)\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:4798
+#: src/readelf.c:4906
#, fuzzy, c-format
msgid " %s..%s\n"
msgstr " [%6tx] %s..%s\n"
-#: src/readelf.c:4807
+#: src/readelf.c:4915
#, c-format
msgid " %zu padding bytes\n"
msgstr ""
-#: src/readelf.c:4825
+#: src/readelf.c:4933
#, c-format
msgid "cannot get .debug_ranges content: %s"
msgstr "no se ha podido obtener contenido de .debug_ranges: %s"
-#: src/readelf.c:4855 src/readelf.c:6919
+#: src/readelf.c:4963 src/readelf.c:7027
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr " [%6tx] <DATOS INVÃLIDOS>\n"
-#: src/readelf.c:4877 src/readelf.c:6941
+#: src/readelf.c:4985 src/readelf.c:7049
#, c-format
msgid " [%6tx] base address %s\n"
msgstr " [%6tx] (dirección base) %s\n"
-#: src/readelf.c:4884 src/readelf.c:6948
+#: src/readelf.c:4992 src/readelf.c:7056
#, c-format
msgid " [%6tx] empty list\n"
msgstr " [%6tx] lista vacía\n"
-#: src/readelf.c:4895
+#: src/readelf.c:5003
#, c-format
msgid " [%6tx] %s..%s\n"
msgstr " [%6tx] %s..%s\n"
-#: src/readelf.c:4897
+#: src/readelf.c:5005
#, c-format
msgid " %s..%s\n"
msgstr " %s..%s\n"
-#: src/readelf.c:5076
+#: src/readelf.c:5184
#, fuzzy
msgid " <INVALID DATA>\n"
msgstr " <DATOS INVÃLIDOS>\n"
-#: src/readelf.c:5385
+#: src/readelf.c:5493
#, fuzzy, c-format
msgid "cannot get ELF: %s"
msgstr "no se puede leer encabezamiento ELF: %s"
-#: src/readelf.c:5402
+#: src/readelf.c:5510
#, c-format
msgid ""
"\n"
@@ -5646,7 +5730,7 @@ msgstr ""
"Sección de información de marco de llamada [%2zu] '%s' en compensación "
"%#<PRIx64>:\n"
-#: src/readelf.c:5452
+#: src/readelf.c:5560
#, c-format
msgid ""
"\n"
@@ -5655,50 +5739,50 @@ msgstr ""
"\n"
" [%6tx] Terminator cero\n"
-#: src/readelf.c:5545 src/readelf.c:5700
+#: src/readelf.c:5653 src/readelf.c:5808
#, c-format
msgid "invalid augmentation length"
msgstr "longitud de aumento inválida"
-#: src/readelf.c:5560
+#: src/readelf.c:5668
msgid "FDE address encoding: "
msgstr "Codificación de dirección FDE:"
-#: src/readelf.c:5566
+#: src/readelf.c:5674
msgid "LSDA pointer encoding: "
msgstr "Codificación de puntero LSDA:"
-#: src/readelf.c:5677
+#: src/readelf.c:5785
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:5684
+#: src/readelf.c:5792
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:5721
+#: src/readelf.c:5829
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr "Puntero %-26sLSDA: %#<PRIx64>\n"
-#: src/readelf.c:5776
+#: src/readelf.c:5884
#, c-format
msgid "cannot get attribute code: %s"
msgstr "No se puede obtener código de atributo: %s"
-#: src/readelf.c:5785
+#: src/readelf.c:5893
#, c-format
msgid "cannot get attribute form: %s"
msgstr "No se puede obtener forma de atributo: %s"
-#: src/readelf.c:5800
+#: src/readelf.c:5908
#, c-format
msgid "cannot get attribute value: %s"
msgstr "No se puede obtener valor: %s"
-#: src/readelf.c:6099
+#: src/readelf.c:6207
#, c-format
msgid ""
"\n"
@@ -5709,7 +5793,7 @@ msgstr ""
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
" [Offset]\n"
-#: src/readelf.c:6131
+#: src/readelf.c:6239
#, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5722,7 +5806,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:6140
+#: src/readelf.c:6248
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5733,34 +5817,34 @@ 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:6165
+#: src/readelf.c:6273
#, c-format
msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s"
msgstr "no se puede obtener DIE en compensación %<PRIu64> en sección '%s': %s"
-#: src/readelf.c:6179
+#: src/readelf.c:6287
#, c-format
msgid "cannot get DIE offset: %s"
msgstr "no se puede obtener DIE en compensación: %s"
-#: src/readelf.c:6188
+#: src/readelf.c:6296
#, c-format
msgid "cannot get tag of DIE at offset %<PRIu64> 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:6220
+#: src/readelf.c:6328
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr "No se puede obtener próximo DIE: %s\n"
-#: src/readelf.c:6228
+#: src/readelf.c:6336
#, c-format
msgid "cannot get next DIE: %s"
msgstr "No se puede obtener próximo DIE: %s"
-#: src/readelf.c:6264
+#: src/readelf.c:6372
#, fuzzy, c-format
msgid ""
"\n"
@@ -5770,12 +5854,12 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
-#: src/readelf.c:6373
+#: src/readelf.c:6481
#, c-format
msgid "cannot get line data section data: %s"
msgstr "No se puede obtener sección de datos de línea: %s"
-#: src/readelf.c:6443
+#: src/readelf.c:6551
#, c-format
msgid ""
"\n"
@@ -5804,19 +5888,19 @@ msgstr ""
"\n"
"Códigos operativos:\n"
-#: src/readelf.c:6464
+#: src/readelf.c:6572
#, 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:6479
+#: src/readelf.c:6587
#, 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:6487
+#: src/readelf.c:6595
msgid ""
"\n"
"Directory table:"
@@ -5824,7 +5908,7 @@ msgstr ""
"\n"
"Tabla de Directorio:"
-#: src/readelf.c:6503
+#: src/readelf.c:6611
msgid ""
"\n"
"File name table:\n"
@@ -5834,7 +5918,7 @@ msgstr ""
"Tabla de nombre de archivo:\n"
" Directorio de entrada Tiempo Tamaño Nombre"
-#: src/readelf.c:6538
+#: src/readelf.c:6646
msgid ""
"\n"
"Line number statements:"
@@ -5842,224 +5926,224 @@ msgstr ""
"\n"
" Declaraciones de número de Línea:"
-#: src/readelf.c:6589
+#: src/readelf.c:6697
#, 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:6625
+#: src/readelf.c:6733
#, c-format
msgid " special opcode %u: address+%u = %s, 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:6630
+#: src/readelf.c:6738
#, c-format
msgid " special opcode %u: address+%u = %s, line%+d = %zu\n"
msgstr " opcode especial %u: dirección+%u = %s, línea%+d = %zu\n"
-#: src/readelf.c:6650
+#: src/readelf.c:6758
#, c-format
msgid " extended opcode %u: "
msgstr " Código operativo extendido %u: "
-#: src/readelf.c:6655
+#: src/readelf.c:6763
#, fuzzy
msgid " end of sequence"
msgstr "Fin de secuencia"
-#: src/readelf.c:6674
+#: src/readelf.c:6782
#, fuzzy, c-format
msgid " set address to %s\n"
msgstr "Establecer dirección a %s\n"
-#: src/readelf.c:6701
+#: src/readelf.c:6809
#, 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:6714
+#: src/readelf.c:6822
#, c-format
msgid " set discriminator to %u\n"
msgstr " establecer discriminador a %u\n"
-#: src/readelf.c:6719
+#: src/readelf.c:6827
#, fuzzy
msgid " unknown opcode"
msgstr "código operativo desconocido "
-#: src/readelf.c:6731
+#: src/readelf.c:6839
msgid " copy"
msgstr "Copiar"
-#: src/readelf.c:6742
+#: src/readelf.c:6850
#, fuzzy, c-format
msgid " advance address by %u to %s, op_index to %u\n"
msgstr "dirección avanzada por %u a %s, op_index a %u\n"
-#: src/readelf.c:6746
+#: src/readelf.c:6854
#, fuzzy, c-format
msgid " advance address by %u to %s\n"
msgstr "Dirección de avance por %u a %s\n"
-#: src/readelf.c:6757
+#: src/readelf.c:6865
#, 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:6765
+#: src/readelf.c:6873
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr " establecer archivo a %<PRIu64>\n"
-#: src/readelf.c:6775
+#: src/readelf.c:6883
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr " Establecer columna a %<PRIu64>\n"
-#: src/readelf.c:6782
+#: src/readelf.c:6890
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr "Establecer '%s' a %<PRIuFAST8>\n"
-#: src/readelf.c:6788
+#: src/readelf.c:6896
msgid " set basic block flag"
msgstr "Establecer bandera de bloque básico"
-#: src/readelf.c:6801
+#: src/readelf.c:6909
#, fuzzy, c-format
msgid " advance address by constant %u to %s, op_index to %u\n"
msgstr "dirección avanzada por constante %u a %s, op_index a %u\n"
-#: src/readelf.c:6805
+#: src/readelf.c:6913
#, fuzzy, c-format
msgid " advance address by constant %u to %s\n"
msgstr "Dirección de avance por constante %u a %s\n"
-#: src/readelf.c:6823
+#: src/readelf.c:6931
#, fuzzy, c-format
msgid " advance address by fixed value %u to %s\n"
msgstr "dirección de avance por valor corregido %u a %s\n"
-#: src/readelf.c:6832
+#: src/readelf.c:6940
msgid " set prologue end flag"
msgstr " Establecer bandera prologue_end"
-#: src/readelf.c:6837
+#: src/readelf.c:6945
msgid " set epilogue begin flag"
msgstr " Establecer bandera epilogue_begin"
-#: src/readelf.c:6846
+#: src/readelf.c:6954
#, c-format
msgid " set isa to %u\n"
msgstr " establecer isa para %u\n"
-#: src/readelf.c:6855
+#: src/readelf.c:6963
#, 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:6887
+#: src/readelf.c:6995
#, c-format
msgid "cannot get .debug_loc content: %s"
msgstr "no es posible obtener contenido de .debug_loc: %s"
-#: src/readelf.c:6962
+#: src/readelf.c:7070
#, c-format
msgid " [%6tx] %s..%s"
msgstr " [%6tx] %s..%s"
-#: src/readelf.c:6964
+#: src/readelf.c:7072
#, c-format
msgid " %s..%s"
msgstr " %s..%s"
-#: src/readelf.c:6971 src/readelf.c:7859
+#: src/readelf.c:7079 src/readelf.c:7967
msgid " <INVALID DATA>\n"
msgstr " <DATOS INVÃLIDOS>\n"
-#: src/readelf.c:7023 src/readelf.c:7185
+#: src/readelf.c:7131 src/readelf.c:7293
#, 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:7103
+#: src/readelf.c:7211
#, 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:7126
+#: src/readelf.c:7234
#, 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:7226
+#: src/readelf.c:7334
#, fuzzy, c-format
msgid " Offset: 0x%<PRIx64>\n"
msgstr " Propietario Tamaño\n"
-#: src/readelf.c:7238
+#: src/readelf.c:7346
#, fuzzy, c-format
msgid " Version: %<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:7244 src/readelf.c:7978
+#: src/readelf.c:7352 src/readelf.c:8086
#, c-format
msgid " unknown version, cannot parse section\n"
msgstr ""
-#: src/readelf.c:7251
+#: src/readelf.c:7359
#, fuzzy, c-format
msgid " Flag: 0x%<PRIx8>\n"
msgstr " Dirección de punto de entrada: %#<PRIx64>\n"
-#: src/readelf.c:7254
+#: src/readelf.c:7362
#, fuzzy, c-format
msgid " Offset length: %<PRIu8>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:7262
+#: src/readelf.c:7370
#, fuzzy, c-format
msgid " .debug_line offset: 0x%<PRIx64>\n"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:7275
+#: src/readelf.c:7383
#, fuzzy, c-format
msgid " extension opcode table, %<PRIu8> items:\n"
msgstr " opcódigo con parámetro %<PRIu8> desconocido:"
-#: src/readelf.c:7282
+#: src/readelf.c:7390
#, c-format
msgid " [%<PRIx8>]"
msgstr ""
-#: src/readelf.c:7294
+#: src/readelf.c:7402
#, fuzzy, c-format
msgid " %<PRIu8> arguments:"
msgstr " [%*<PRIuFAST8>] argumento %hhu \n"
-#: src/readelf.c:7322
+#: src/readelf.c:7430
#, c-format
msgid " no arguments."
msgstr ""
-#: src/readelf.c:7559
+#: src/readelf.c:7667
#, c-format
msgid "vendor opcode not verified?"
msgstr ""
-#: src/readelf.c:7587
+#: src/readelf.c:7695
#, 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:7628
+#: src/readelf.c:7736
#, c-format
msgid ""
"\n"
@@ -6070,12 +6154,12 @@ msgstr ""
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
" %*s String\n"
-#: src/readelf.c:7642
+#: src/readelf.c:7750
#, c-format
msgid " *** error while reading strings: %s\n"
msgstr " *** error en lectura de cadenas: %s\n"
-#: src/readelf.c:7662
+#: src/readelf.c:7770
#, c-format
msgid ""
"\n"
@@ -6084,7 +6168,7 @@ msgstr ""
"\n"
"Sección de tabla de búsqueda de marco de llamada [%2zu] '.eh_frame_hdr':\n"
-#: src/readelf.c:7764
+#: src/readelf.c:7872
#, c-format
msgid ""
"\n"
@@ -6093,22 +6177,22 @@ msgstr ""
"\n"
"Excepción en el manejo de la sección de tabla [%2zu] '.gcc_except_table':\n"
-#: src/readelf.c:7787
+#: src/readelf.c:7895
#, c-format
msgid " LPStart encoding: %#x "
msgstr "Codificación LPStart: %#x "
-#: src/readelf.c:7799
+#: src/readelf.c:7907
#, c-format
msgid " TType encoding: %#x "
msgstr "Codificación TType: %#x "
-#: src/readelf.c:7814
+#: src/readelf.c:7922
#, c-format
msgid " Call site encoding: %#x "
msgstr "Codificación de sitio de llamada: %#x "
-#: src/readelf.c:7827
+#: src/readelf.c:7935
msgid ""
"\n"
" Call site table:"
@@ -6116,7 +6200,7 @@ msgstr ""
"\n"
" Tabla de sitio de llamada:"
-#: src/readelf.c:7841
+#: src/readelf.c:7949
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -6129,12 +6213,12 @@ msgstr ""
" Landing pad: %#<PRIx64>\n"
" Action: %u\n"
-#: src/readelf.c:7914
+#: src/readelf.c:8022
#, c-format
msgid "invalid TType encoding"
msgstr "Codificación TType inválida"
-#: src/readelf.c:7940
+#: src/readelf.c:8048
#, fuzzy, c-format
msgid ""
"\n"
@@ -6143,37 +6227,37 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
-#: src/readelf.c:7969
+#: src/readelf.c:8077
#, fuzzy, c-format
msgid " Version: %<PRId32>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:7987
+#: src/readelf.c:8095
#, fuzzy, c-format
msgid " CU offset: %#<PRIx32>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:7994
+#: src/readelf.c:8102
#, fuzzy, c-format
msgid " TU offset: %#<PRIx32>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:8001
+#: src/readelf.c:8109
#, fuzzy, c-format
msgid " address offset: %#<PRIx32>\n"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:8008
+#: src/readelf.c:8116
#, fuzzy, c-format
msgid " symbol offset: %#<PRIx32>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:8015
+#: src/readelf.c:8123
#, fuzzy, c-format
msgid " constant offset: %#<PRIx32>\n"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:8029
+#: src/readelf.c:8137
#, fuzzy, c-format
msgid ""
"\n"
@@ -6182,7 +6266,7 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
-#: src/readelf.c:8054
+#: src/readelf.c:8162
#, fuzzy, c-format
msgid ""
"\n"
@@ -6191,7 +6275,7 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
-#: src/readelf.c:8083
+#: src/readelf.c:8191
#, fuzzy, c-format
msgid ""
"\n"
@@ -6200,7 +6284,7 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
-#: src/readelf.c:8116
+#: src/readelf.c:8224
#, fuzzy, c-format
msgid ""
"\n"
@@ -6209,17 +6293,17 @@ msgstr ""
"\n"
"Tabla de símbolos inválida en compensación %#0<PRIx64>\n"
-#: src/readelf.c:8203
+#: src/readelf.c:8311
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "no se puede depurar descriptor de contexto: %s"
-#: src/readelf.c:8361 src/readelf.c:8983 src/readelf.c:9094 src/readelf.c:9152
+#: src/readelf.c:8467 src/readelf.c:9089 src/readelf.c:9200 src/readelf.c:9258
#, c-format
msgid "cannot convert core note data: %s"
msgstr "no es posible convertir datos de la nota principal: %s"
-#: src/readelf.c:8724
+#: src/readelf.c:8830
#, c-format
msgid ""
"\n"
@@ -6228,21 +6312,21 @@ msgstr ""
"\n"
"%*s... <repeats %u more times> ..."
-#: src/readelf.c:9231
+#: src/readelf.c:9337
msgid " Owner Data size Type\n"
msgstr " Owner Data size Type\n"
-#: src/readelf.c:9249
+#: src/readelf.c:9355
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:9299
+#: src/readelf.c:9405
#, c-format
msgid "cannot get content of note section: %s"
msgstr "no se puede obtener el contenido de sección de nota: %s"
-#: src/readelf.c:9326
+#: src/readelf.c:9432
#, c-format
msgid ""
"\n"
@@ -6251,7 +6335,7 @@ msgstr ""
"\n"
"Sección de nota [%2zu] '%s' de %<PRIu64> bytes en compensación %#0<PRIx64>:\n"
-#: src/readelf.c:9349
+#: src/readelf.c:9455
#, c-format
msgid ""
"\n"
@@ -6260,7 +6344,7 @@ msgstr ""
"\n"
"Segmento de nota de %<PRIu64> bytes en compensación %#0<PRIx64>:\n"
-#: src/readelf.c:9395
+#: src/readelf.c:9501
#, fuzzy, c-format
msgid ""
"\n"
@@ -6269,12 +6353,12 @@ msgstr ""
"\n"
"Sección [%Zu] '%s' no tiene datos para volcar.\n"
-#: src/readelf.c:9401 src/readelf.c:9424
+#: src/readelf.c:9518 src/readelf.c:9559
#, 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:9405
+#: src/readelf.c:9523
#, fuzzy, c-format
msgid ""
"\n"
@@ -6284,7 +6368,18 @@ msgstr ""
"Volcado Hex de sección [%Zu] '%s', %<PRIu64> bytes en compensación "
"%#0<PRIx64>:\n"
-#: src/readelf.c:9418
+#: src/readelf.c:9528
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Hex dump of section [%zu] '%s', %<PRIu64> bytes (%zd uncompressed) at offset "
+"%#0<PRIx64>:\n"
+msgstr ""
+"\n"
+"Volcado Hex de sección [%Zu] '%s', %<PRIu64> bytes en compensación "
+"%#0<PRIx64>:\n"
+
+#: src/readelf.c:9542
#, fuzzy, c-format
msgid ""
"\n"
@@ -6293,7 +6388,7 @@ msgstr ""
"\n"
"Sección [%Zu] '%s' no tiene datos para volcar.\n"
-#: src/readelf.c:9428
+#: src/readelf.c:9564
#, fuzzy, c-format
msgid ""
"\n"
@@ -6303,7 +6398,18 @@ msgstr ""
"Sección de cadena [%Zu] '%s' contiene %<PRIu64> bytes en compensación "
"%#0<PRIx64>:\n"
-#: src/readelf.c:9476
+#: src/readelf.c:9569
+#, fuzzy, c-format
+msgid ""
+"\n"
+"String section [%zu] '%s' contains %<PRIu64> bytes (%zd uncompressed) at "
+"offset %#0<PRIx64>:\n"
+msgstr ""
+"\n"
+"Sección de cadena [%Zu] '%s' contiene %<PRIu64> bytes en compensación "
+"%#0<PRIx64>:\n"
+
+#: src/readelf.c:9618
#, c-format
msgid ""
"\n"
@@ -6312,7 +6418,7 @@ msgstr ""
"\n"
"sección [%lu] no existe"
-#: src/readelf.c:9505
+#: src/readelf.c:9647
#, c-format
msgid ""
"\n"
@@ -6321,12 +6427,12 @@ msgstr ""
"\n"
"sección '%s' no existe"
-#: src/readelf.c:9562
+#: src/readelf.c:9704
#, 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:9565
+#: src/readelf.c:9707
#, c-format
msgid ""
"\n"
@@ -6335,7 +6441,7 @@ msgstr ""
"\n"
"Archivo '%s' no tiene índice de símbolo\n"
-#: src/readelf.c:9569
+#: src/readelf.c:9711
#, fuzzy, c-format
msgid ""
"\n"
@@ -6344,12 +6450,12 @@ msgstr ""
"\n"
"Ãndice de archivo '%s' tiene %Zu entradas:\n"
-#: src/readelf.c:9587
+#: src/readelf.c:9729
#, 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:9592
+#: src/readelf.c:9734
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "Miembro de archivo contiene '%s':\n"
@@ -6873,12 +6979,12 @@ msgstr "no se puede crear el encabezamiento ELF: %s"
msgid "cannot copy ELF header: %s"
msgstr "no se puede copiar encabezamiento ELF: %s"
-#: src/unstrip.c:261 src/unstrip.c:1903 src/unstrip.c:1947
+#: src/unstrip.c:261 src/unstrip.c:1939 src/unstrip.c:1982
#, 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:266 src/unstrip.c:1907
+#: src/unstrip.c:266 src/unstrip.c:1943
#, c-format
msgid "cannot create program headers: %s"
msgstr "No pueden crear encabezamientos de programa: %s"
@@ -6893,12 +6999,12 @@ msgstr "no puede copiar encabezamiento de programa: %s"
msgid "cannot copy section header: %s"
msgstr "no se puede copiar encabezamiento de sección: %s"
-#: src/unstrip.c:285 src/unstrip.c:1541
+#: src/unstrip.c:285 src/unstrip.c:1576
#, c-format
msgid "cannot get section data: %s"
msgstr "no se pueden obtener datos de sección: %s"
-#: src/unstrip.c:287 src/unstrip.c:1543
+#: src/unstrip.c:287 src/unstrip.c:1578
#, c-format
msgid "cannot copy section data: %s"
msgstr "no pueden copiar datos de sección: %s"
@@ -6908,141 +7014,141 @@ msgstr "no pueden copiar datos de sección: %s"
msgid "cannot create directory '%s'"
msgstr "no se puede crear el directorio '%s'"
-#: src/unstrip.c:351 src/unstrip.c:768 src/unstrip.c:1575
+#: src/unstrip.c:383 src/unstrip.c:803 src/unstrip.c:1610
#, c-format
msgid "cannot get symbol table entry: %s"
msgstr "no se puede obtener entrada de tabla de símbolos: %s"
-#: src/unstrip.c:367 src/unstrip.c:585 src/unstrip.c:606 src/unstrip.c:618
-#: src/unstrip.c:1596 src/unstrip.c:1769 src/unstrip.c:1793
+#: src/unstrip.c:399 src/unstrip.c:620 src/unstrip.c:641 src/unstrip.c:653
+#: src/unstrip.c:1631 src/unstrip.c:1805 src/unstrip.c:1829
#, c-format
msgid "cannot update symbol table: %s"
msgstr "no se puede actualizar tabla de símbolos: %s"
-#: src/unstrip.c:377
+#: src/unstrip.c:409
#, c-format
msgid "cannot update section header: %s"
msgstr "no se puede actualizar encabezamiento de sección: %s"
-#: src/unstrip.c:416 src/unstrip.c:427
+#: src/unstrip.c:448 src/unstrip.c:459
#, c-format
msgid "cannot update relocation: %s"
msgstr "no se puede actualizar reubicación: %s"
-#: src/unstrip.c:514
+#: src/unstrip.c:547
#, c-format
msgid "cannot get symbol version: %s"
msgstr "no se puede obtener versión de símbolo: %s"
-#: src/unstrip.c:526
+#: src/unstrip.c:560
#, 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:774
+#: src/unstrip.c:809
#, fuzzy, c-format
msgid "invalid string offset in symbol [%zu]"
msgstr "compensación de cadena inválida en símbolo [%Zu]"
-#: src/unstrip.c:932 src/unstrip.c:1278
+#: src/unstrip.c:967 src/unstrip.c:1313
#, fuzzy, c-format
msgid "cannot read section [%zu] name: %s"
msgstr "no se puede leer nombre [%Zu]: %s"
-#: src/unstrip.c:973 src/unstrip.c:992 src/unstrip.c:1027
+#: src/unstrip.c:1008 src/unstrip.c:1027 src/unstrip.c:1062
#, c-format
msgid "cannot read '.gnu.prelink_undo' section: %s"
msgstr "no se puede leer sección '.gnu.prelink_undo': %s"
-#: src/unstrip.c:1013
+#: src/unstrip.c:1048
#, c-format
msgid "invalid contents in '%s' section"
msgstr "contenido inválido en sección '%s'"
-#: src/unstrip.c:1019
+#: src/unstrip.c:1054
#, c-format
msgid "overflow with shnum = %zu in '%s' section"
msgstr ""
-#: src/unstrip.c:1073 src/unstrip.c:1398
+#: src/unstrip.c:1108 src/unstrip.c:1433
#, 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:1198 src/unstrip.c:1213 src/unstrip.c:1479 src/unstrip.c:1731
+#: src/unstrip.c:1233 src/unstrip.c:1248 src/unstrip.c:1514 src/unstrip.c:1766
#, 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:1222
+#: src/unstrip.c:1257
#, 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:1249 src/unstrip.c:1253
+#: src/unstrip.c:1284 src/unstrip.c:1288
#, 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:1257 src/unstrip.c:1261 src/unstrip.c:1494
+#: src/unstrip.c:1292 src/unstrip.c:1296 src/unstrip.c:1529
#, c-format
msgid "cannot get section count: %s"
msgstr "No se puede obtener cuenta de sección: %s"
-#: src/unstrip.c:1264
+#: src/unstrip.c:1299
#, 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:1323 src/unstrip.c:1413
+#: src/unstrip.c:1358 src/unstrip.c:1448
#, 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:1473
+#: src/unstrip.c:1508
#, c-format
msgid "cannot add new section: %s"
msgstr "No se puede añadir nueva sección: %s"
-#: src/unstrip.c:1583
+#: src/unstrip.c:1618
#, fuzzy, c-format
msgid "symbol [%zu] has invalid section index"
msgstr "símbolo [%Zu] tiene índice de sección inválido"
-#: src/unstrip.c:1864
+#: src/unstrip.c:1900
#, c-format
msgid "cannot read section data: %s"
msgstr "no se puede leer la sección de datos: %s"
-#: src/unstrip.c:1885
+#: src/unstrip.c:1921
#, c-format
msgid "cannot get ELF header: %s"
msgstr "no se puede leer encabezamiento ELF: %s"
-#: src/unstrip.c:1917
+#: src/unstrip.c:1953
#, c-format
msgid "cannot update program header: %s"
msgstr "no se puede actualizar encabezamiento de programa: %s"
-#: src/unstrip.c:1922 src/unstrip.c:2005
+#: src/unstrip.c:1958 src/unstrip.c:2040
#, c-format
msgid "cannot write output file: %s"
msgstr "no se puede escribir al archivo de salida: %s"
-#: src/unstrip.c:1974
+#: src/unstrip.c:2009
#, 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:1977
+#: src/unstrip.c:2012
#, c-format
msgid ""
"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
@@ -7050,77 +7156,77 @@ msgstr ""
"Datos DWARF en '%s' no se ajustan a polarización de pre-enlace; considere "
"prelink -u"
-#: src/unstrip.c:1996 src/unstrip.c:2047 src/unstrip.c:2059 src/unstrip.c:2145
+#: src/unstrip.c:2031 src/unstrip.c:2082 src/unstrip.c:2094 src/unstrip.c:2180
#, c-format
msgid "cannot create ELF descriptor: %s"
msgstr "no se puede crear un descriptor ELF: %s"
-#: src/unstrip.c:2038
+#: src/unstrip.c:2073
msgid "WARNING: "
msgstr ""
-#: src/unstrip.c:2040
+#: src/unstrip.c:2075
msgid ", use --force"
msgstr ""
-#: src/unstrip.c:2063
+#: src/unstrip.c:2098
msgid "ELF header identification (e_ident) different"
msgstr ""
-#: src/unstrip.c:2066
+#: src/unstrip.c:2101
msgid "ELF header type (e_type) different"
msgstr ""
-#: src/unstrip.c:2069
+#: src/unstrip.c:2104
msgid "ELF header machine type (e_machine) different"
msgstr ""
-#: src/unstrip.c:2072
+#: src/unstrip.c:2107
msgid "stripped program header (e_phnum) smaller than unstripped"
msgstr ""
-#: src/unstrip.c:2102
+#: src/unstrip.c:2137
#, 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:2106
+#: src/unstrip.c:2141
#, 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:2121
+#: src/unstrip.c:2156
#, 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:2125
+#: src/unstrip.c:2160
#, 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:2138
+#: src/unstrip.c:2173
#, c-format
msgid "module '%s' file '%s' is not stripped"
msgstr "No se obtuvo el archivo '%s' de módulo '%s' "
-#: src/unstrip.c:2169
+#: src/unstrip.c:2204
#, 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:2302
+#: src/unstrip.c:2337
#, c-format
msgid "no matching modules found"
msgstr "No se encontraron módulos coincidentes"
-#: src/unstrip.c:2311
+#: src/unstrip.c:2346
#, c-format
msgid "matched more than one module"
msgstr "coincidió con más de un módulo"
-#: src/unstrip.c:2355
+#: src/unstrip.c:2390
msgid ""
"STRIPPED-FILE DEBUG-FILE\n"
"[MODULE...]"
@@ -7128,7 +7234,7 @@ msgstr ""
"STRIPPED-FILE DEBUG-FILE\n"
"[MODULE...]"
-#: src/unstrip.c:2356
+#: src/unstrip.c:2391
msgid ""
"Combine stripped files with separate symbols and debug information.\vThe "
"first form puts the result in DEBUG-FILE if -o was not given.\n"
diff --git a/po/ja.po b/po/ja.po
index 3c32ee1f..6d99a25e 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ja\n"
"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-10-16 13:26+0200\n"
+"POT-Creation-Date: 2016-01-11 08:48+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"
@@ -39,8 +39,8 @@ msgstr ""
msgid "cannot allocate memory"
msgstr "PLT セクションを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s"
-#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3184
-#: src/readelf.c:3561 src/readelf.c:8310 src/unstrip.c:2198 src/unstrip.c:2403
+#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3282
+#: src/readelf.c:3669 src/readelf.c:8416 src/unstrip.c:2233 src/unstrip.c:2438
#, c-format
msgid "memory exhausted"
msgstr "メモリー消費済ã¿"
@@ -243,7 +243,7 @@ msgstr "ä¸å½“ãªã‚ªãƒšãƒ©ãƒ³ãƒ‰"
msgid "not a CU (unit) DIE"
msgstr ""
-#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2345
+#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2380
msgid "Input selection options:"
msgstr "é¸æŠžã‚ªãƒ—ションを入力ã—ã¦ãã ã•ã„:"
@@ -300,7 +300,12 @@ msgstr "カーãƒãƒ«ã‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’見ã¤ã‘られã¾ã›ã‚“"
msgid "cannot read ELF core file: %s"
msgstr "ELF コアファイルを読ã‚ã¾ã›ã‚“: %s"
-#: libdwfl/argp-std.c:311
+#: libdwfl/argp-std.c:313
+#, fuzzy
+msgid "Not enough memory"
+msgstr "メモリーä¸è¶³"
+
+#: libdwfl/argp-std.c:323
msgid "No modules recognized in core file"
msgstr "コアファイルã®ä¸­ã«ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’èªè­˜ã§ãã¾ã›ã‚“"
@@ -483,57 +488,57 @@ msgstr "<ä¸æ˜Ž>"
msgid "<unknown>: %#<PRIx64>"
msgstr "<ä¸æ˜Ž>: %#<PRIx64>"
-#: libebl/eblobjnote.c:52
+#: libebl/eblobjnote.c:53
#, fuzzy, c-format
msgid "unknown SDT version %u\n"
msgstr "ä¸æ˜Žãªãƒãƒ¼ã‚¸ãƒ§ãƒ³"
-#: libebl/eblobjnote.c:70
+#: libebl/eblobjnote.c:71
#, fuzzy, c-format
msgid "invalid SDT probe descriptor\n"
msgstr "ä¸å½“ãªãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å­"
-#: libebl/eblobjnote.c:120
+#: libebl/eblobjnote.c:121
#, c-format
msgid " PC: "
msgstr ""
-#: libebl/eblobjnote.c:122
+#: libebl/eblobjnote.c:123
#, c-format
msgid " Base: "
msgstr ""
-#: libebl/eblobjnote.c:124
+#: libebl/eblobjnote.c:125
#, c-format
msgid " Semaphore: "
msgstr ""
-#: libebl/eblobjnote.c:126
+#: libebl/eblobjnote.c:127
#, c-format
msgid " Provider: "
msgstr ""
-#: libebl/eblobjnote.c:128
+#: libebl/eblobjnote.c:129
#, c-format
msgid " Name: "
msgstr ""
-#: libebl/eblobjnote.c:130
+#: libebl/eblobjnote.c:131
#, c-format
msgid " Args: "
msgstr ""
-#: libebl/eblobjnote.c:140
+#: libebl/eblobjnote.c:141
#, c-format
msgid " Build ID: "
msgstr " ビルト ID: "
-#: libebl/eblobjnote.c:151
+#: libebl/eblobjnote.c:152
#, c-format
msgid " Linker version: %.*s\n"
msgstr ""
-#: libebl/eblobjnote.c:212
+#: libebl/eblobjnote.c:213
#, c-format
msgid " OS: %s, ABI: "
msgstr " OS: %sã€ABI: "
@@ -567,7 +572,7 @@ msgstr "ソース演算å­ã®å¤§ãã•ãŒç„¡åŠ¹"
msgid "invalid size of destination operand"
msgstr "宛先演算å­ã®å¤§ãã•ãŒç„¡åŠ¹"
-#: libelf/elf_error.c:87 src/readelf.c:5365
+#: libelf/elf_error.c:87 src/readelf.c:5473
#, c-format
msgid "invalid encoding"
msgstr "無効ãªã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰"
@@ -649,8 +654,8 @@ msgstr "データ/scnãŒä¸æ•´åˆã§ã™"
msgid "invalid section header"
msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³ãƒ˜ãƒƒãƒ€ãƒ¼"
-#: libelf/elf_error.c:187 src/readelf.c:7234 src/readelf.c:7682
-#: src/readelf.c:7783 src/readelf.c:7964
+#: libelf/elf_error.c:187 src/readelf.c:7342 src/readelf.c:7790
+#: src/readelf.c:7891 src/readelf.c:8072
#, c-format
msgid "invalid data"
msgstr "ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
@@ -694,6 +699,40 @@ msgstr ""
msgid "file has no program header"
msgstr "ファイルã«ãƒ—ログラムヘッダーãŒã‚ã‚Šã¾ã›ã‚“"
+#: libelf/elf_error.c:237
+#, fuzzy
+msgid "invalid section type"
+msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³"
+
+#: libelf/elf_error.c:242
+#, fuzzy
+msgid "invalid section flags"
+msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³"
+
+#: libelf/elf_error.c:247
+#, fuzzy
+msgid "section does not contain compressed data"
+msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
+
+#: libelf/elf_error.c:252
+msgid "section contains compressed data"
+msgstr ""
+
+#: libelf/elf_error.c:257
+#, fuzzy
+msgid "unknown compression type"
+msgstr "ä¸æ˜Žãªã‚¿ã‚¤ãƒ—"
+
+#: libelf/elf_error.c:262
+#, fuzzy
+msgid "cannot compress data"
+msgstr "セクションデータを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s"
+
+#: libelf/elf_error.c:267
+#, fuzzy
+msgid "cannot decompress data"
+msgstr "セクションデータを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s"
+
#: src/addr2line.c:58
#, fuzzy
msgid "Input format options:"
@@ -750,7 +789,7 @@ msgstr ""
msgid "Print all information on one line, and indent inlines"
msgstr ""
-#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:99
+#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:100
#: src/strings.c:79
msgid "Miscellaneous:"
msgstr "雑則:"
@@ -764,9 +803,9 @@ msgstr ""
msgid "[ADDR...]"
msgstr ""
-#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:670 src/elflint.c:235
-#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:261 src/objdump.c:177
-#: src/ranlib.c:124 src/readelf.c:500 src/size.c:207 src/strings.c:230
+#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:672 src/elflint.c:235
+#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:262 src/objdump.c:177
+#: src/ranlib.c:124 src/readelf.c:509 src/size.c:207 src/strings.c:230
#: src/strip.c:218 src/unstrip.c:232
#, c-format
msgid ""
@@ -778,9 +817,9 @@ 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"
-#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:675 src/elflint.c:240
-#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:266 src/objdump.c:182
-#: src/ranlib.c:129 src/readelf.c:505 src/size.c:212 src/strings.c:235
+#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:677 src/elflint.c:240
+#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:267 src/objdump.c:182
+#: src/ranlib.c:129 src/readelf.c:514 src/size.c:212 src/strings.c:235
#: src/strip.c:223 src/unstrip.c:237
#, c-format
msgid "Written by %s.\n"
@@ -1251,40 +1290,40 @@ msgstr ""
msgid "%s %s differ: gap"
msgstr ""
-#: src/elfcmp.c:702
+#: src/elfcmp.c:704
#, c-format
msgid "Invalid value '%s' for --gaps parameter."
msgstr ""
-#: src/elfcmp.c:730 src/findtextrel.c:221 src/ldgeneric.c:1757
-#: src/ldgeneric.c:4247 src/nm.c:377 src/ranlib.c:157 src/size.c:289
-#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:1994
-#: src/unstrip.c:2023
+#: src/elfcmp.c:732 src/findtextrel.c:221 src/ldgeneric.c:1757
+#: src/ldgeneric.c:4247 src/nm.c:378 src/ranlib.c:157 src/size.c:289
+#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:2029
+#: src/unstrip.c:2058
#, c-format
msgid "cannot open '%s'"
msgstr "'%s' ã‚’é–‹ã‘ã¾ã›ã‚“"
-#: src/elfcmp.c:734 src/findtextrel.c:228 src/ranlib.c:174
+#: src/elfcmp.c:736 src/findtextrel.c:228 src/ranlib.c:174
#, c-format
msgid "cannot create ELF descriptor for '%s': %s"
msgstr ""
-#: src/elfcmp.c:739
+#: src/elfcmp.c:741
#, c-format
msgid "cannot create EBL descriptor for '%s'"
msgstr ""
-#: src/elfcmp.c:757 src/findtextrel.c:409
+#: src/elfcmp.c:759 src/findtextrel.c:409
#, c-format
msgid "cannot get section header of section %zu: %s"
msgstr ""
-#: src/elfcmp.c:767
+#: src/elfcmp.c:769
#, c-format
msgid "cannot get content of section %zu: %s"
msgstr ""
-#: src/elfcmp.c:777 src/elfcmp.c:791
+#: src/elfcmp.c:779 src/elfcmp.c:793
#, c-format
msgid "cannot get relocation: %s"
msgstr ""
@@ -1312,11 +1351,11 @@ msgstr ""
msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
msgstr "ELF ファイル㌠gABI/psABI 仕様ã¸æº–æ‹ ã—ã¦ã„ã‚‹ã‹ã®åŽ³å¯†ãªãƒã‚§ãƒƒã‚¯ã€‚"
-#: src/elflint.c:78 src/readelf.c:123
+#: src/elflint.c:78 src/readelf.c:126
msgid "FILE..."
msgstr "ãµãã„ã‚‹..."
-#: src/elflint.c:155 src/readelf.c:292
+#: src/elflint.c:155 src/readelf.c:298
#, c-format
msgid "cannot open input file"
msgstr "入力ファイルを開ã‘ã¾ã›ã‚“"
@@ -1335,7 +1374,7 @@ msgstr "Elf 記述å­ã‚’é–‰ã˜ã¦ã„る時ã«ã‚¨ãƒ©ãƒ¼: %s\n"
msgid "No errors"
msgstr "エラーã¯ã‚ã‚Šã¾ã›ã‚“"
-#: src/elflint.c:219 src/readelf.c:468
+#: src/elflint.c:219 src/readelf.c:474
msgid "Missing file name.\n"
msgstr "ファイルåãŒã‚ã‚Šã¾ã›ã‚“。\n"
@@ -1482,14 +1521,14 @@ msgstr ""
"セクション [%2d] '%s': セクショングループ [%2zu] '%s' ãŒã‚°ãƒ«ãƒ¼ãƒ—メンãƒãƒ¼ã‚’継"
"続ã—ã¦ã„ã¾ã›ã‚“\n"
-#: src/elflint.c:591 src/elflint.c:1471 src/elflint.c:1522 src/elflint.c:1628
-#: src/elflint.c:1964 src/elflint.c:2280 src/elflint.c:2893 src/elflint.c:3056
-#: src/elflint.c:3204 src/elflint.c:3394 src/elflint.c:4336
+#: src/elflint.c:591 src/elflint.c:1475 src/elflint.c:1526 src/elflint.c:1632
+#: src/elflint.c:1968 src/elflint.c:2284 src/elflint.c:2898 src/elflint.c:3061
+#: src/elflint.c:3209 src/elflint.c:3399 src/elflint.c:4366
#, c-format
msgid "section [%2d] '%s': cannot get section data\n"
msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
-#: src/elflint.c:604 src/elflint.c:1635
+#: src/elflint.c:604 src/elflint.c:1639
#, c-format
msgid ""
"section [%2d] '%s': referenced as string table for section [%2d] '%s' but "
@@ -1601,12 +1640,12 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: COMMON セクションã®æ©Ÿèƒ½ã¯æ„味ãŒã‚ã‚Šã¾ã›"
"ã‚“\n"
-#: src/elflint.c:805
+#: src/elflint.c:809
#, c-format
msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n"
msgstr "セクション [%2d] '%s': シンボル %zu: st_value 境界外\n"
-#: src/elflint.c:811 src/elflint.c:836 src/elflint.c:885
+#: src/elflint.c:815 src/elflint.c:840 src/elflint.c:889
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu does not fit completely in referenced section "
@@ -1615,7 +1654,7 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu ã¯å‚ç…§ã•ã‚Œã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%2d] '%s' ã¨ã¯å®Œ"
"å…¨ã«ä¸€è‡´ã—ã¾ã›ã‚“\n"
-#: src/elflint.c:820
+#: src/elflint.c:824
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have "
@@ -1624,7 +1663,7 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: å‚ç…§ã•ã‚Œã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%2d] '%s' 㯠"
"SHF_TLS フラグãŒè¨­å®šã•ã‚Œã¦ã„ã¾ã›ã‚“\n"
-#: src/elflint.c:830 src/elflint.c:878
+#: src/elflint.c:834 src/elflint.c:882
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section "
@@ -1633,7 +1672,7 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: st_value å‚ç…§ã•ã‚Œã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%2d] "
"'%s' ã®å¢ƒç•Œå¤–\n"
-#: src/elflint.c:857
+#: src/elflint.c:861
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n"
@@ -1641,7 +1680,7 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: TLS プログラムヘッダー項目ãŒãªã„ TLS ã‚·"
"ンボル\n"
-#: src/elflint.c:863
+#: src/elflint.c:867
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': symbol %zu: TLS symbol but couldn't get TLS program "
@@ -1650,7 +1689,7 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: TLS プログラムヘッダー項目ãŒãªã„ TLS ã‚·"
"ンボル\n"
-#: src/elflint.c:871
+#: src/elflint.c:875
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] "
@@ -1659,7 +1698,7 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: å‚ç…§ã•ã‚Œã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%2d] '%s' ã®"
"st_value ä¸è¶³\n"
-#: src/elflint.c:898
+#: src/elflint.c:902
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: local symbol outside range described in "
@@ -1668,7 +1707,7 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: sh_info ã«è¨˜è¿°ã•ã‚ŒãŸç¯„囲外ã®ãƒ­ãƒ¼ã‚«ãƒ«ã‚·ãƒ³"
"ボル\n"
-#: src/elflint.c:905
+#: src/elflint.c:909
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: non-local symbol outside range described in "
@@ -1677,12 +1716,12 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: sh_info ã«è¨˜è¿°ã•ã‚ŒãŸç¯„囲外ã®éžãƒ­ãƒ¼ã‚«ãƒ«ã‚·"
"ンボル\n"
-#: src/elflint.c:912
+#: src/elflint.c:916
#, c-format
msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n"
msgstr "セクション [%2d] '%s': シンボル %zu: éžãƒ­ãƒ¼ã‚«ãƒ«ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚·ãƒ³ãƒœãƒ«\n"
-#: src/elflint.c:962
+#: src/elflint.c:966
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section "
@@ -1691,7 +1730,7 @@ msgstr ""
"セクション [%2d] '%s': _GLOBAL_OFFSET_TABLE_ シンボルãŒé–“é•ã£ãŸã‚»ã‚¯ã‚·ãƒ§ãƒ³ "
"[%2d] ã‚’å‚ç…§ã—ã¦ã„ã¾ã™\n"
-#: src/elflint.c:969
+#: src/elflint.c:973
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] "
@@ -1700,7 +1739,7 @@ msgstr ""
"セクション [%2d] '%s': _GLOBAL_OFFSET_TABLE_ シンボルã¯ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%2d] '%s' "
"ã‚’å‚ç…§ã—ã¦ã„ã¾ã™\n"
-#: src/elflint.c:985
+#: src/elflint.c:989
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
@@ -1709,7 +1748,7 @@ msgstr ""
"セクション [%2d] '%s': _GLOBAL_OFFSET_TABLE_ シンボル値 %#<PRIx64> 㯠%s ã®ã‚»"
"クションアドレス %#<PRIx64> ã¨ä¸€è‡´ã—ã¾ã›ã‚“\n"
-#: src/elflint.c:992
+#: src/elflint.c:996
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
@@ -1718,7 +1757,7 @@ msgstr ""
"セクション [%2d] '%s': _GLOBAL_OFFSET_TABLE_ シンボルサイズ %<PRIu64> 㯠%s "
"ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚µã‚¤ã‚º %<PRIu64> ã¨ä¸€è‡´ã—ã¾ã›ã‚“\n"
-#: src/elflint.c:1000
+#: src/elflint.c:1004
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
@@ -1727,7 +1766,7 @@ msgstr ""
"セクション [%2d] '%s': _GLOBAL_OFFSET_TABLE_ シンボルã¯ã‚ã‚Šã¾ã™ãŒã€.got セク"
"ションãŒã‚ã‚Šã¾ã›ã‚“\n"
-#: src/elflint.c:1016
+#: src/elflint.c:1020
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
@@ -1736,7 +1775,7 @@ msgstr ""
"セクション [%2d] '%s': _DYNAMIC_ シンボル値 %#<PRIx64> ã¯å‹•çš„セグメントアドレ"
"ス %#<PRIx64> ã¨ä¸€è‡´ã—ã¾ã›ã‚“\n"
-#: src/elflint.c:1023
+#: src/elflint.c:1027
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
@@ -1745,7 +1784,7 @@ msgstr ""
"セクション [%2d] '%s': _DYNAMIC シンボルサイズ %<PRIu64> ã¯å‹•çš„セグメントサイ"
"ズ %<PRIu64> ã¨ä¸€è‡´ã—ã¾ã›ã‚“\n"
-#: src/elflint.c:1036
+#: src/elflint.c:1040
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-"
@@ -1754,29 +1793,29 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: çœç•¥ä»¥å¤–ã®å¯è¦–性をæŒã£ãŸå‹•çš„シンボルテー"
"ブル中ã®ã‚·ãƒ³ãƒœãƒ«\n"
-#: src/elflint.c:1040
+#: src/elflint.c:1044
#, c-format
msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n"
msgstr ""
"セクション [%2d] '%s': シンボル %zu: st_other 中ã«è¨­å®šã•ã‚ŒãŸä¸æ˜Žãªãƒ“ット\n"
-#: src/elflint.c:1078
+#: src/elflint.c:1082
#, fuzzy, c-format
msgid "section [%2d] '%s': cannot get section data.\n"
msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
-#: src/elflint.c:1094
+#: src/elflint.c:1098
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
msgstr "セクション [%2d] '%s': ã“ã® RELA セクション用ã«ä½¿ã‚れる DT_RELCOUNT\n"
-#: src/elflint.c:1105 src/elflint.c:1158
+#: src/elflint.c:1109 src/elflint.c:1162
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
msgstr ""
"セクション [%2d] '%s': ã“ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ç”¨ã«ã¯é«˜ã™ãŽã‚‹ DT_RELCOUNT 値 %d\n"
-#: src/elflint.c:1130 src/elflint.c:1183
+#: src/elflint.c:1134 src/elflint.c:1187
#, c-format
msgid ""
"section [%2d] '%s': relative relocations after index %d as specified by "
@@ -1785,7 +1824,7 @@ msgstr ""
"セクション [%2d] '%s': UT_RELOCOUNT ã§æŒ‡å®šã•ã‚ŒãŸã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ %d 後ã®ç›¸å¯¾ãƒªãƒ­"
"ケーション\n"
-#: src/elflint.c:1136 src/elflint.c:1189
+#: src/elflint.c:1140 src/elflint.c:1193
#, c-format
msgid ""
"section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
@@ -1794,52 +1833,52 @@ msgstr ""
"セクション [%2d] '%s': インデックス %zu ã§ã®éžç›¸å¯¾ãƒªãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³; %d 相対リ"
"ロケーションã§æŒ‡å®šã•ã‚ŒãŸ DT_RELCOUNT\n"
-#: src/elflint.c:1148
+#: src/elflint.c:1152
#, c-format
msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
msgstr "セクション [%2d] '%s': ã“ã® REL セクション用ã«ä½¿ã‚れる DT_RELACOUNT\n"
-#: src/elflint.c:1231
+#: src/elflint.c:1235
#, c-format
msgid "section [%2d] '%s': invalid destination section index\n"
msgstr "セクション [%2d] '%s': ä¸å½“ãªå®›å…ˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\n"
-#: src/elflint.c:1243
+#: src/elflint.c:1247
#, c-format
msgid "section [%2d] '%s': invalid destination section type\n"
msgstr "セクション [%2d] '%s': ä¸å½“ãªå®›å…ˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚¿ã‚¤ãƒ—\n"
-#: src/elflint.c:1251
+#: src/elflint.c:1255
#, c-format
msgid "section [%2d] '%s': sh_info should be zero\n"
msgstr "セクション [%2d] '%s': sh_info ã¯ã‚¼ãƒ­ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“\n"
-#: src/elflint.c:1259
+#: src/elflint.c:1263
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': no relocations for merge-able string sections possible\n"
msgstr ""
"セクション [%2d] '%s': マージã§ãるセクションã®ãƒªãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã¯ä¸å¯èƒ½ã§ã™\n"
-#: src/elflint.c:1267
+#: src/elflint.c:1271
#, c-format
msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
msgstr ""
"セクション [%2d] '%s': セクション項目サイズ㌠ElfXX_Rela ã¨ä¸€è‡´ã—ã¾ã›ã‚“\n"
-#: src/elflint.c:1327
+#: src/elflint.c:1331
#, c-format
msgid "text relocation flag set but there is no read-only segment\n"
msgstr ""
"テキストリロケーションフラグãŒè¨­å®šã•ã‚Œã¦ã„ã¾ã™ãŒã€èª­è¾¼ã¿å°‚用セグメントãŒã‚ã‚Š"
"ã¾ã›ã‚“\n"
-#: src/elflint.c:1354
+#: src/elflint.c:1358
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid type\n"
msgstr "セクション [%2d] '%s': リロケーション %zu: ä¸å½“ãªã‚¿ã‚¤ãƒ—\n"
-#: src/elflint.c:1362
+#: src/elflint.c:1366
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: relocation type invalid for the file "
@@ -1848,13 +1887,13 @@ msgstr ""
"セクション [%2d] '%s': リロケーション %zu: ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ç”¨ã®ãƒªãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã‚¿ã‚¤"
"プã¯ä¸å½“ã§ã™\n"
-#: src/elflint.c:1370
+#: src/elflint.c:1374
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
msgstr ""
"セクション [%2d] '%s': リロケーション %zu: ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\n"
-#: src/elflint.c:1388
+#: src/elflint.c:1392
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
@@ -1863,12 +1902,12 @@ msgstr ""
"セクション [%2d] '%s': リロケーション %zu: シンボル '_GLOBAL_OFFSET_TABLE_' "
"ã®ã¿ãŒ %s ã¨ä¸€ç·’ã«ä½¿ç”¨ã§ãã¾ã™\n"
-#: src/elflint.c:1405
+#: src/elflint.c:1409
#, c-format
msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
msgstr "セクション [%2d] '%s': リロケーション %zu: オフセット境界外\n"
-#: src/elflint.c:1420
+#: src/elflint.c:1424
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: copy relocation against symbol of type "
@@ -1877,7 +1916,7 @@ msgstr ""
"セクション [%2d] '%s': リロケーション %zu: タイプ %s ã®ã‚·ãƒ³ãƒœãƒ«ã«å¯¾ã™ã‚‹ã‚³ãƒ”ー"
"リロケーション\n"
-#: src/elflint.c:1441
+#: src/elflint.c:1445
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: read-only section modified but text "
@@ -1886,24 +1925,24 @@ msgstr ""
"セクション [%2d] '%s': リロケーション %zu: 読込ã¿å°‚用セクションãŒå¤‰æ›´ã•ã‚Œã¾ã—"
"ãŸãŒã€ãƒ†ã‚­ã‚¹ãƒˆãƒªãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ãƒ•ãƒ©ã‚°ãŒè¨­å®šã•ã‚Œã¦ã„ã¾ã›ã‚“\n"
-#: src/elflint.c:1456
+#: src/elflint.c:1460
#, c-format
msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
msgstr ""
"セクション [%2d] '%s': リロケーションãŒãƒ­ãƒ¼ãƒ‰ã•ã‚ŒãŸãƒ‡ãƒ¼ã‚¿ã¨ãƒ­ãƒ¼ãƒ‰ã•ã‚Œãªã‹ã£ãŸ"
"データã«å¯¾ã—ã¦ã§ã™\n"
-#: src/elflint.c:1496 src/elflint.c:1547
+#: src/elflint.c:1500 src/elflint.c:1551
#, c-format
msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
msgstr ""
-#: src/elflint.c:1623
+#: src/elflint.c:1627
#, c-format
msgid "more than one dynamic section present\n"
msgstr ""
-#: src/elflint.c:1641
+#: src/elflint.c:1645
#, fuzzy, c-format
msgid ""
"section [%2d]: referenced as string table for section [%2d] '%s' but section "
@@ -1912,427 +1951,427 @@ msgstr ""
"セクション [%2d] '%s': セクション [%2d] '%s' 用ã®æ–‡å­—列テーブルã¨ã—ã¦å‚ç…§ã•ã‚Œ"
"ã¦ã„ã¾ã™ãŒã€ã‚¿ã‚¤ãƒ—㌠SHT_STRTAB ã§ã¯ã‚ã‚Šã¾ã›ã‚“\n"
-#: src/elflint.c:1649
+#: src/elflint.c:1653
#, c-format
msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
msgstr ""
-#: src/elflint.c:1654 src/elflint.c:1943
+#: src/elflint.c:1658 src/elflint.c:1947
#, c-format
msgid "section [%2d] '%s': sh_info not zero\n"
msgstr ""
-#: src/elflint.c:1664
+#: src/elflint.c:1668
#, c-format
msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
msgstr ""
-#: src/elflint.c:1672
+#: src/elflint.c:1676
#, c-format
msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
msgstr ""
-#: src/elflint.c:1679
+#: src/elflint.c:1683
#, c-format
msgid "section [%2d] '%s': entry %zu: unknown tag\n"
msgstr ""
-#: src/elflint.c:1690
+#: src/elflint.c:1694
#, c-format
msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
msgstr ""
-#: src/elflint.c:1700
+#: src/elflint.c:1704
#, c-format
msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
msgstr ""
-#: src/elflint.c:1718
+#: src/elflint.c:1722
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
msgstr ""
-#: src/elflint.c:1731
+#: src/elflint.c:1735
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: pointer does not match address of section "
"[%2d] '%s' referenced by sh_link\n"
msgstr ""
-#: src/elflint.c:1774
+#: src/elflint.c:1778
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
msgstr ""
-#: src/elflint.c:1789
+#: src/elflint.c:1793
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must be valid offset in section "
"[%2d] '%s'\n"
msgstr ""
-#: src/elflint.c:1809 src/elflint.c:1837
+#: src/elflint.c:1813 src/elflint.c:1841
#, c-format
msgid "section [%2d] '%s': contains %s entry but not %s\n"
msgstr ""
-#: src/elflint.c:1821
+#: src/elflint.c:1825
#, c-format
msgid "section [%2d] '%s': mandatory tag %s not present\n"
msgstr ""
-#: src/elflint.c:1830
+#: src/elflint.c:1834
#, c-format
msgid "section [%2d] '%s': no hash section present\n"
msgstr ""
-#: src/elflint.c:1845 src/elflint.c:1852
+#: src/elflint.c:1849 src/elflint.c:1856
#, c-format
msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
msgstr ""
-#: src/elflint.c:1862 src/elflint.c:1866
+#: src/elflint.c:1866 src/elflint.c:1870
#, c-format
msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
msgstr ""
-#: src/elflint.c:1872
+#: src/elflint.c:1876
#, c-format
msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
msgstr ""
-#: src/elflint.c:1883 src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895
+#: src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895 src/elflint.c:1899
#, c-format
msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
msgstr ""
-#: src/elflint.c:1907
+#: src/elflint.c:1911
#, c-format
msgid ""
"section [%2d] '%s': only relocatable files can have extended section index\n"
msgstr ""
-#: src/elflint.c:1917
+#: src/elflint.c:1921
#, c-format
msgid ""
"section [%2d] '%s': extended section index section not for symbol table\n"
msgstr ""
-#: src/elflint.c:1921
+#: src/elflint.c:1925
#, fuzzy, c-format
msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n"
msgstr "セクション [%2d] '%s': ä¸å½“ãªå®›å…ˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\n"
-#: src/elflint.c:1926
+#: src/elflint.c:1930
#, c-format
msgid "cannot get data for symbol section\n"
msgstr ""
-#: src/elflint.c:1929
+#: src/elflint.c:1933
#, c-format
msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
msgstr ""
-#: src/elflint.c:1938
+#: src/elflint.c:1942
#, c-format
msgid "section [%2d] '%s': extended index table too small for symbol table\n"
msgstr ""
-#: src/elflint.c:1953
+#: src/elflint.c:1957
#, c-format
msgid ""
"section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
"same symbol table\n"
msgstr ""
-#: src/elflint.c:1970
+#: src/elflint.c:1974
#, c-format
msgid "symbol 0 should have zero extended section index\n"
msgstr ""
-#: src/elflint.c:1982
+#: src/elflint.c:1986
#, c-format
msgid "cannot get data for symbol %zu\n"
msgstr ""
-#: src/elflint.c:1987
+#: src/elflint.c:1991
#, c-format
msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
msgstr ""
-#: src/elflint.c:2003 src/elflint.c:2054
+#: src/elflint.c:2007 src/elflint.c:2058
#, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
msgstr ""
-#: src/elflint.c:2015 src/elflint.c:2066
+#: src/elflint.c:2019 src/elflint.c:2070
#, c-format
msgid "section [%2d] '%s': chain array too large\n"
msgstr ""
-#: src/elflint.c:2029 src/elflint.c:2080
+#: src/elflint.c:2033 src/elflint.c:2084
#, c-format
msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
msgstr ""
-#: src/elflint.c:2039
+#: src/elflint.c:2043
#, c-format
msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
msgstr ""
-#: src/elflint.c:2090
+#: src/elflint.c:2094
#, c-format
msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
msgstr ""
-#: src/elflint.c:2103
+#: src/elflint.c:2107
#, fuzzy, c-format
msgid "section [%2d] '%s': not enough data\n"
msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
-#: src/elflint.c:2115
+#: src/elflint.c:2119
#, fuzzy, c-format
msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n"
msgstr "セクション [%2d] '%s': 0番目ã®é …ç›®ã«ã‚ã‚‹ '%s' ゼロã§ã¯ã‚ã‚Šã¾ã›ã‚“\n"
-#: src/elflint.c:2131
+#: src/elflint.c:2135
#, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected at "
"least %ld)\n"
msgstr ""
-#: src/elflint.c:2140
+#: src/elflint.c:2144
#, c-format
msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
msgstr ""
-#: src/elflint.c:2174
+#: src/elflint.c:2178
#, c-format
msgid ""
"section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
msgstr ""
-#: src/elflint.c:2195
+#: src/elflint.c:2199
#, c-format
msgid ""
"section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
"undefined\n"
msgstr ""
-#: src/elflint.c:2208
+#: src/elflint.c:2212
#, c-format
msgid ""
"section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
msgstr ""
-#: src/elflint.c:2217
+#: src/elflint.c:2221
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n"
msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
-#: src/elflint.c:2247
+#: src/elflint.c:2251
#, c-format
msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
msgstr ""
-#: src/elflint.c:2252
+#: src/elflint.c:2256
#, c-format
msgid ""
"section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
msgstr ""
-#: src/elflint.c:2258
+#: src/elflint.c:2262
#, c-format
msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
msgstr ""
-#: src/elflint.c:2271
+#: src/elflint.c:2275
#, c-format
msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
msgstr ""
-#: src/elflint.c:2289
+#: src/elflint.c:2293
#, c-format
msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
msgstr ""
-#: src/elflint.c:2293
+#: src/elflint.c:2297
#, fuzzy, c-format
msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n"
msgstr "セクション [%2d] '%s': ä¸å½“ãªå®›å…ˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\n"
-#: src/elflint.c:2301
+#: src/elflint.c:2305
#, c-format
msgid "section [%2d] '%s': hash table entry size incorrect\n"
msgstr ""
-#: src/elflint.c:2306
+#: src/elflint.c:2310
#, c-format
msgid "section [%2d] '%s': not marked to be allocated\n"
msgstr ""
-#: src/elflint.c:2311
+#: src/elflint.c:2315
#, c-format
msgid ""
"section [%2d] '%s': hash table has not even room for initial administrative "
"entries\n"
msgstr ""
-#: src/elflint.c:2360
+#: src/elflint.c:2364
#, c-format
msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
msgstr ""
-#: src/elflint.c:2384 src/elflint.c:2449 src/elflint.c:2484
+#: src/elflint.c:2388 src/elflint.c:2453 src/elflint.c:2488
#, fuzzy, c-format
msgid "hash section [%2zu] '%s' does not contain enough data\n"
msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
-#: src/elflint.c:2405
+#: src/elflint.c:2409
#, fuzzy, c-format
msgid "hash section [%2zu] '%s' has zero bit mask words\n"
msgstr ""
"\n"
"セクション [%Zu] '%s' ã«ã¯ãƒ€ãƒ³ãƒ—ã™ã¹ãデータãŒã‚ã‚Šã¾ã›ã‚“。\n"
-#: src/elflint.c:2416 src/elflint.c:2460 src/elflint.c:2497
+#: src/elflint.c:2420 src/elflint.c:2464 src/elflint.c:2501
#, fuzzy, c-format
msgid "hash section [%2zu] '%s' uses too much data\n"
msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
-#: src/elflint.c:2431
+#: src/elflint.c:2435
#, c-format
msgid ""
"hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: "
"%<PRIu32>, nentries: %<PRIu32>\n"
msgstr ""
-#: src/elflint.c:2518
+#: src/elflint.c:2522
#, fuzzy, c-format
msgid "hash section [%2zu] '%s' invalid sh_entsize\n"
msgstr "セクション [%2d] '%s': ä¸å½“ãªå®›å…ˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚¿ã‚¤ãƒ—\n"
-#: src/elflint.c:2528 src/elflint.c:2532
+#: src/elflint.c:2532 src/elflint.c:2536
#, c-format
msgid "section [%2zu] '%s': reference to symbol index 0\n"
msgstr ""
-#: src/elflint.c:2539
+#: src/elflint.c:2543
#, c-format
msgid ""
"symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash "
"table in [%2zu] '%s'\n"
msgstr ""
-#: src/elflint.c:2551
+#: src/elflint.c:2555
#, c-format
msgid ""
"symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash "
"table in [%2zu] '%s'\n"
msgstr ""
-#: src/elflint.c:2567
+#: src/elflint.c:2571
#, c-format
msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
msgstr ""
-#: src/elflint.c:2587
+#: src/elflint.c:2591
#, c-format
msgid ""
"section [%2d] '%s': section groups only allowed in relocatable object files\n"
msgstr ""
-#: src/elflint.c:2598
+#: src/elflint.c:2602
#, c-format
msgid "section [%2d] '%s': cannot get symbol table: %s\n"
msgstr ""
-#: src/elflint.c:2603
+#: src/elflint.c:2607
#, c-format
msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
msgstr ""
-#: src/elflint.c:2609
+#: src/elflint.c:2613
#, c-format
msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
msgstr ""
-#: src/elflint.c:2614
+#: src/elflint.c:2618
#, c-format
msgid "section [%2d] '%s': sh_flags not zero\n"
msgstr ""
-#: src/elflint.c:2621
+#: src/elflint.c:2625
#, c-format
msgid "section [%2d] '%s': cannot get symbol for signature\n"
msgstr ""
-#: src/elflint.c:2625
+#: src/elflint.c:2629
#, fuzzy, c-format
msgid "section [%2d] '%s': cannot get symbol name for signature\n"
msgstr "セクション [%2d] '%s': シンボル %d を得られã¾ã›ã‚“: %s\n"
-#: src/elflint.c:2630
+#: src/elflint.c:2634
#, fuzzy, c-format
msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
-#: src/elflint.c:2636
+#: src/elflint.c:2640
#, c-format
msgid "section [%2d] '%s': sh_flags not set correctly\n"
msgstr ""
-#: src/elflint.c:2642
+#: src/elflint.c:2646
#, c-format
msgid "section [%2d] '%s': cannot get data: %s\n"
msgstr ""
-#: src/elflint.c:2651
+#: src/elflint.c:2655
#, c-format
msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
msgstr ""
-#: src/elflint.c:2656
+#: src/elflint.c:2660
#, c-format
msgid "section [%2d] '%s': section group without flags word\n"
msgstr ""
-#: src/elflint.c:2662
+#: src/elflint.c:2666
#, c-format
msgid "section [%2d] '%s': section group without member\n"
msgstr ""
-#: src/elflint.c:2666
+#: src/elflint.c:2670
#, c-format
msgid "section [%2d] '%s': section group with only one member\n"
msgstr ""
-#: src/elflint.c:2677
+#: src/elflint.c:2681
#, c-format
msgid "section [%2d] '%s': unknown section group flags\n"
msgstr ""
-#: src/elflint.c:2689
+#: src/elflint.c:2693
#, fuzzy, c-format
msgid "section [%2d] '%s': section index %zu out of range\n"
msgstr "セクション [%2d] '%s': リロケーション %zu: オフセット境界外\n"
-#: src/elflint.c:2698
+#: src/elflint.c:2702
#, c-format
msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
msgstr ""
-#: src/elflint.c:2705
+#: src/elflint.c:2709
#, c-format
msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
msgstr ""
-#: src/elflint.c:2711
+#: src/elflint.c:2715
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': element %zu references section [%2d] '%s' without "
@@ -2341,745 +2380,761 @@ msgstr ""
"セクション [%2d] '%s': シンボル %zu: å‚ç…§ã•ã‚Œã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%2d] '%s' 㯠"
"SHF_TLS フラグãŒè¨­å®šã•ã‚Œã¦ã„ã¾ã›ã‚“\n"
-#: src/elflint.c:2718
+#: src/elflint.c:2722
#, c-format
msgid "section [%2d] '%s' is contained in more than one section group\n"
msgstr ""
-#: src/elflint.c:2907
+#: src/elflint.c:2912
#, c-format
msgid ""
"section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no "
"dynamic symbol table\n"
msgstr ""
-#: src/elflint.c:2919
+#: src/elflint.c:2924
#, c-format
msgid ""
"section [%2d] '%s' has different number of entries than symbol table [%2d] "
"'%s'\n"
msgstr ""
-#: src/elflint.c:2935
+#: src/elflint.c:2940
#, c-format
msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
msgstr ""
-#: src/elflint.c:2951
+#: src/elflint.c:2956
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
msgstr ""
-#: src/elflint.c:2959
+#: src/elflint.c:2964
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
msgstr ""
-#: src/elflint.c:2973
+#: src/elflint.c:2978
#, c-format
msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
msgstr ""
-#: src/elflint.c:2978
+#: src/elflint.c:2983
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for defined version\n"
msgstr ""
-#: src/elflint.c:2988
+#: src/elflint.c:2993
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for requested version\n"
msgstr ""
-#: src/elflint.c:3041
+#: src/elflint.c:3046
#, c-format
msgid "more than one version reference section present\n"
msgstr ""
-#: src/elflint.c:3049 src/elflint.c:3196
+#: src/elflint.c:3054 src/elflint.c:3201
#, c-format
msgid "section [%2d] '%s': sh_link does not link to string table\n"
msgstr ""
-#: src/elflint.c:3074 src/elflint.c:3250
+#: src/elflint.c:3079 src/elflint.c:3255
#, c-format
msgid "section [%2d] '%s': entry %d has wrong version %d\n"
msgstr ""
-#: src/elflint.c:3081 src/elflint.c:3257
+#: src/elflint.c:3086 src/elflint.c:3262
#, c-format
msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
msgstr ""
-#: src/elflint.c:3091
+#: src/elflint.c:3096
#, c-format
msgid "section [%2d] '%s': entry %d has invalid file reference\n"
msgstr ""
-#: src/elflint.c:3099
+#: src/elflint.c:3104
#, c-format
msgid "section [%2d] '%s': entry %d references unknown dependency\n"
msgstr ""
-#: src/elflint.c:3111
+#: src/elflint.c:3116
#, c-format
msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
msgstr ""
-#: src/elflint.c:3119
+#: src/elflint.c:3124
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
"reference\n"
msgstr ""
-#: src/elflint.c:3128
+#: src/elflint.c:3133
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: "
"%#x, expected %#x\n"
msgstr ""
-#: src/elflint.c:3137
+#: src/elflint.c:3142
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
"name '%s'\n"
msgstr ""
-#: src/elflint.c:3148
+#: src/elflint.c:3153
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
msgstr ""
-#: src/elflint.c:3165 src/elflint.c:3341
+#: src/elflint.c:3170 src/elflint.c:3346
#, c-format
msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
msgstr ""
-#: src/elflint.c:3173 src/elflint.c:3349
+#: src/elflint.c:3178 src/elflint.c:3354
#, c-format
msgid ""
"section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says "
"there are more entries\n"
msgstr ""
-#: src/elflint.c:3188
+#: src/elflint.c:3193
#, c-format
msgid "more than one version definition section present\n"
msgstr ""
-#: src/elflint.c:3235
+#: src/elflint.c:3240
#, c-format
msgid "section [%2d] '%s': more than one BASE definition\n"
msgstr ""
-#: src/elflint.c:3239
+#: src/elflint.c:3244
#, c-format
msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
msgstr ""
-#: src/elflint.c:3245
+#: src/elflint.c:3250
#, c-format
msgid "section [%2d] '%s': entry %d has unknown flag\n"
msgstr ""
-#: src/elflint.c:3272
+#: src/elflint.c:3277
#, c-format
msgid "section [%2d] '%s': entry %d has invalid name reference\n"
msgstr ""
-#: src/elflint.c:3279
+#: src/elflint.c:3284
#, c-format
msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
msgstr ""
-#: src/elflint.c:3287
+#: src/elflint.c:3292
#, c-format
msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
msgstr ""
-#: src/elflint.c:3307
+#: src/elflint.c:3312
#, c-format
msgid ""
"section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
msgstr ""
-#: src/elflint.c:3324
+#: src/elflint.c:3329
#, c-format
msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
msgstr ""
-#: src/elflint.c:3357
+#: src/elflint.c:3362
#, c-format
msgid "section [%2d] '%s': no BASE definition\n"
msgstr ""
-#: src/elflint.c:3373
+#: src/elflint.c:3378
#, c-format
msgid "section [%2d] '%s': unknown parent version '%s'\n"
msgstr ""
-#: src/elflint.c:3386
+#: src/elflint.c:3391
#, c-format
msgid "section [%2d] '%s': empty object attributes section\n"
msgstr ""
-#: src/elflint.c:3407
+#: src/elflint.c:3412
#, c-format
msgid "section [%2d] '%s': unrecognized attribute format\n"
msgstr ""
-#: src/elflint.c:3423
+#: src/elflint.c:3428
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute section\n"
msgstr ""
-#: src/elflint.c:3432
+#: src/elflint.c:3437
#, c-format
msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
msgstr ""
-#: src/elflint.c:3444
+#: src/elflint.c:3449
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
msgstr ""
-#: src/elflint.c:3461
+#: src/elflint.c:3466
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
msgstr ""
-#: src/elflint.c:3470
+#: src/elflint.c:3475
#, c-format
msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
msgstr ""
-#: src/elflint.c:3479
+#: src/elflint.c:3484
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
msgstr ""
-#: src/elflint.c:3494
+#: src/elflint.c:3499
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
msgstr ""
-#: src/elflint.c:3505
+#: src/elflint.c:3510
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
msgstr ""
-#: src/elflint.c:3523
+#: src/elflint.c:3528
#, c-format
msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
msgstr ""
-#: src/elflint.c:3534
+#: src/elflint.c:3539
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
msgstr ""
-#: src/elflint.c:3547
+#: src/elflint.c:3552
#, c-format
msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
msgstr ""
-#: src/elflint.c:3551
+#: src/elflint.c:3556
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
msgstr ""
-#: src/elflint.c:3561
+#: src/elflint.c:3566
#, c-format
msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
msgstr ""
-#: src/elflint.c:3567
+#: src/elflint.c:3572
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
msgstr ""
-#: src/elflint.c:3656
+#: src/elflint.c:3661
#, c-format
msgid "cannot get section header of zeroth section\n"
msgstr ""
-#: src/elflint.c:3660
+#: src/elflint.c:3665
#, c-format
msgid "zeroth section has nonzero name\n"
msgstr ""
-#: src/elflint.c:3662
+#: src/elflint.c:3667
#, c-format
msgid "zeroth section has nonzero type\n"
msgstr ""
-#: src/elflint.c:3664
+#: src/elflint.c:3669
#, c-format
msgid "zeroth section has nonzero flags\n"
msgstr ""
-#: src/elflint.c:3666
+#: src/elflint.c:3671
#, c-format
msgid "zeroth section has nonzero address\n"
msgstr ""
-#: src/elflint.c:3668
+#: src/elflint.c:3673
#, c-format
msgid "zeroth section has nonzero offset\n"
msgstr ""
-#: src/elflint.c:3670
+#: src/elflint.c:3675
#, c-format
msgid "zeroth section has nonzero align value\n"
msgstr ""
-#: src/elflint.c:3672
+#: src/elflint.c:3677
#, c-format
msgid "zeroth section has nonzero entry size value\n"
msgstr ""
-#: src/elflint.c:3675
+#: src/elflint.c:3680
#, c-format
msgid ""
"zeroth section has nonzero size value while ELF header has nonzero shnum "
"value\n"
msgstr ""
-#: src/elflint.c:3679
+#: src/elflint.c:3684
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
"overflow in shstrndx\n"
msgstr ""
-#: src/elflint.c:3683
+#: src/elflint.c:3688
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
"overflow in phnum\n"
msgstr ""
-#: src/elflint.c:3700
+#: src/elflint.c:3706
#, c-format
msgid "cannot get section header for section [%2zu] '%s': %s\n"
msgstr ""
-#: src/elflint.c:3709
+#: src/elflint.c:3715
#, c-format
msgid "section [%2zu]: invalid name\n"
msgstr ""
-#: src/elflint.c:3736
+#: src/elflint.c:3742
#, c-format
msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
msgstr ""
-#: src/elflint.c:3752
+#: src/elflint.c:3760
#, c-format
msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
msgstr ""
-#: src/elflint.c:3769
+#: src/elflint.c:3778
#, c-format
msgid ""
"section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
msgstr ""
-#: src/elflint.c:3787
+#: src/elflint.c:3796
#, c-format
msgid "section [%2zu] '%s' present in object file\n"
msgstr ""
-#: src/elflint.c:3793 src/elflint.c:3825
+#: src/elflint.c:3802 src/elflint.c:3834
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
msgstr ""
-#: src/elflint.c:3798 src/elflint.c:3830
+#: src/elflint.c:3807 src/elflint.c:3839
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
"segments\n"
msgstr ""
-#: src/elflint.c:3806
+#: src/elflint.c:3815
#, c-format
msgid ""
"section [%2zu] '%s' is extension section index table in non-object file\n"
msgstr ""
-#: src/elflint.c:3849
+#: src/elflint.c:3858
#, c-format
msgid "section [%2zu] '%s': size not multiple of entry size\n"
msgstr ""
-#: src/elflint.c:3854
+#: src/elflint.c:3863
#, c-format
msgid "cannot get section header\n"
msgstr ""
-#: src/elflint.c:3864
+#: src/elflint.c:3873
#, c-format
msgid "section [%2zu] '%s' has unsupported type %d\n"
msgstr ""
-#: src/elflint.c:3878
+#: src/elflint.c:3888
#, c-format
msgid ""
"section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:3885
+#: src/elflint.c:3895
#, c-format
msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:3893
+#: src/elflint.c:3903
#, c-format
msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
msgstr ""
-#: src/elflint.c:3901
+#: src/elflint.c:3913
+#, fuzzy, c-format
+msgid "section [%2zu] '%s': allocated section cannot be compressed\n"
+msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
+
+#: src/elflint.c:3918
+#, fuzzy, c-format
+msgid "section [%2zu] '%s': nobits section cannot be compressed\n"
+msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n"
+
+#: src/elflint.c:3924
+#, c-format
+msgid ""
+"section [%2zu] '%s': compressed section with no compression header: %s\n"
+msgstr ""
+
+#: src/elflint.c:3930
#, c-format
msgid "section [%2zu] '%s': invalid section reference in link value\n"
msgstr ""
-#: src/elflint.c:3906
+#: src/elflint.c:3935
#, c-format
msgid "section [%2zu] '%s': invalid section reference in info value\n"
msgstr ""
-#: src/elflint.c:3913
+#: src/elflint.c:3942
#, c-format
msgid "section [%2zu] '%s': strings flag set without merge flag\n"
msgstr ""
-#: src/elflint.c:3918
+#: src/elflint.c:3947
#, c-format
msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
msgstr ""
-#: src/elflint.c:3936
+#: src/elflint.c:3965
#, c-format
msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
msgstr ""
-#: src/elflint.c:3945
+#: src/elflint.c:3974
#, c-format
msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n"
msgstr ""
-#: src/elflint.c:3952
+#: src/elflint.c:3981
#, c-format
msgid "section [%2zu] '%s' is both executable and writable\n"
msgstr ""
-#: src/elflint.c:3982
+#: src/elflint.c:4012
#, c-format
msgid ""
"section [%2zu] '%s' not fully contained in segment of program header entry "
"%d\n"
msgstr ""
-#: src/elflint.c:3992
+#: src/elflint.c:4022
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
"program header entry %d\n"
msgstr ""
-#: src/elflint.c:4018
+#: src/elflint.c:4048
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
"program header entry %d and file contents is non-zero\n"
msgstr ""
-#: src/elflint.c:4029
+#: src/elflint.c:4059
#, c-format
msgid ""
"section [%2zu] '%s' has not type NOBITS but is not read from the file in "
"segment of program header entry %d\n"
msgstr ""
-#: src/elflint.c:4040
+#: src/elflint.c:4070
#, c-format
msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
msgstr ""
-#: src/elflint.c:4050
+#: src/elflint.c:4080
#, c-format
msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
msgstr ""
-#: src/elflint.c:4060
+#: src/elflint.c:4090
#, c-format
msgid ""
"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
msgstr ""
-#: src/elflint.c:4066
+#: src/elflint.c:4096
#, c-format
msgid ""
"section [%2zu] '%s': ELF header says this is the section header string table "
"but type is not SHT_TYPE\n"
msgstr ""
-#: src/elflint.c:4074
+#: src/elflint.c:4104
#, c-format
msgid ""
"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
msgstr ""
-#: src/elflint.c:4125
+#: src/elflint.c:4155
#, c-format
msgid "more than one version symbol table present\n"
msgstr ""
-#: src/elflint.c:4148
+#: src/elflint.c:4178
#, c-format
msgid "INTERP program header entry but no .interp section\n"
msgstr ""
-#: src/elflint.c:4159
+#: src/elflint.c:4189
#, c-format
msgid ""
"loadable segment [%u] is executable but contains no executable sections\n"
msgstr ""
-#: src/elflint.c:4165
+#: src/elflint.c:4195
#, c-format
msgid "loadable segment [%u] is writable but contains no writable sections\n"
msgstr ""
-#: src/elflint.c:4176
+#: src/elflint.c:4206
#, c-format
msgid ""
"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
"exist\n"
msgstr ""
-#: src/elflint.c:4189
+#: src/elflint.c:4219
#, c-format
msgid "duplicate version index %d\n"
msgstr ""
-#: src/elflint.c:4203
+#: src/elflint.c:4233
#, c-format
msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
msgstr ""
-#: src/elflint.c:4252
+#: src/elflint.c:4282
#, c-format
msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
msgstr ""
-#: src/elflint.c:4256
+#: src/elflint.c:4286
#, c-format
msgid ""
"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
msgstr ""
-#: src/elflint.c:4279
+#: src/elflint.c:4309
#, c-format
msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %zu\n"
msgstr ""
-#: src/elflint.c:4283
+#: src/elflint.c:4313
#, c-format
msgid ""
"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n"
msgstr ""
-#: src/elflint.c:4300
+#: src/elflint.c:4330
#, c-format
msgid "phdr[%d]: no note entries defined for the type of file\n"
msgstr ""
-#: src/elflint.c:4319
+#: src/elflint.c:4349
#, c-format
msgid "phdr[%d]: cannot get content of note section: %s\n"
msgstr ""
-#: src/elflint.c:4322
+#: src/elflint.c:4352
#, c-format
msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
msgstr ""
-#: src/elflint.c:4343
+#: src/elflint.c:4373
#, c-format
msgid "section [%2d] '%s': no note entries defined for the type of file\n"
msgstr ""
-#: src/elflint.c:4350
+#: src/elflint.c:4380
#, c-format
msgid "section [%2d] '%s': cannot get content of note section\n"
msgstr ""
-#: src/elflint.c:4353
+#: src/elflint.c:4383
#, c-format
msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
msgstr ""
-#: src/elflint.c:4371
+#: src/elflint.c:4401
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
msgstr ""
-#: src/elflint.c:4386
+#: src/elflint.c:4416
#, c-format
msgid "cannot get program header entry %d: %s\n"
msgstr ""
-#: src/elflint.c:4395
+#: src/elflint.c:4425
#, c-format
msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:4406
+#: src/elflint.c:4436
#, c-format
msgid "more than one INTERP entry in program header\n"
msgstr ""
-#: src/elflint.c:4414
+#: src/elflint.c:4444
#, c-format
msgid "more than one TLS entry in program header\n"
msgstr ""
-#: src/elflint.c:4421
+#: src/elflint.c:4451
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr ""
-#: src/elflint.c:4435
+#: src/elflint.c:4465
#, c-format
msgid "dynamic section reference in program header has wrong offset\n"
msgstr ""
-#: src/elflint.c:4438
+#: src/elflint.c:4468
#, c-format
msgid "dynamic section size mismatch in program and section header\n"
msgstr ""
-#: src/elflint.c:4448
+#: src/elflint.c:4478
#, c-format
msgid "more than one GNU_RELRO entry in program header\n"
msgstr ""
-#: src/elflint.c:4469
+#: src/elflint.c:4499
#, c-format
msgid "loadable segment GNU_RELRO applies to is not writable\n"
msgstr ""
-#: src/elflint.c:4480
+#: src/elflint.c:4510
#, c-format
msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
msgstr ""
-#: src/elflint.c:4487
+#: src/elflint.c:4517
#, c-format
msgid ""
"GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
msgstr ""
-#: src/elflint.c:4496 src/elflint.c:4519
+#: src/elflint.c:4526 src/elflint.c:4549
#, c-format
msgid "%s segment not contained in a loaded segment\n"
msgstr ""
-#: src/elflint.c:4525
+#: src/elflint.c:4555
#, c-format
msgid "program header offset in ELF header and PHDR entry do not match"
msgstr ""
-#: src/elflint.c:4550
+#: src/elflint.c:4580
#, c-format
msgid "call frame search table reference in program header has wrong offset\n"
msgstr ""
-#: src/elflint.c:4553
+#: src/elflint.c:4583
#, c-format
msgid "call frame search table size mismatch in program and section header\n"
msgstr ""
-#: src/elflint.c:4566
+#: src/elflint.c:4596
#, c-format
msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
msgstr ""
-#: src/elflint.c:4574
+#: src/elflint.c:4604
#, c-format
msgid "call frame search table must be allocated\n"
msgstr ""
-#: src/elflint.c:4577
+#: src/elflint.c:4607
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
msgstr ""
-#: src/elflint.c:4581
+#: src/elflint.c:4611
#, c-format
msgid "call frame search table must not be writable\n"
msgstr ""
-#: src/elflint.c:4584
+#: src/elflint.c:4614
#, c-format
msgid "section [%2zu] '%s' must not be writable\n"
msgstr ""
-#: src/elflint.c:4589
+#: src/elflint.c:4619
#, c-format
msgid "call frame search table must not be executable\n"
msgstr ""
-#: src/elflint.c:4592
+#: src/elflint.c:4622
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
msgstr ""
-#: src/elflint.c:4603
+#: src/elflint.c:4633
#, c-format
msgid "program header entry %d: file size greater than memory size\n"
msgstr ""
-#: src/elflint.c:4610
+#: src/elflint.c:4640
#, c-format
msgid "program header entry %d: alignment not a power of 2\n"
msgstr ""
-#: src/elflint.c:4613
+#: src/elflint.c:4643
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
"alignment\n"
msgstr ""
-#: src/elflint.c:4626
+#: src/elflint.c:4656
#, 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:4660
+#: src/elflint.c:4690
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr ""
-#: src/elflint.c:4686
+#: src/elflint.c:4716
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr ""
@@ -3100,7 +3155,7 @@ msgstr ""
msgid "Locate source of text relocations in FILEs (a.out by default)."
msgstr ""
-#: src/findtextrel.c:76 src/nm.c:107 src/objdump.c:71 src/size.c:83
+#: src/findtextrel.c:76 src/nm.c:108 src/objdump.c:71 src/size.c:83
#: src/strings.c:88 src/strip.c:95
msgid "[FILE...]"
msgstr "[ãµãã„ã‚‹...]"
@@ -3594,8 +3649,8 @@ msgstr ""
"警告: `%1$s ã®å¤§ãã•ãŒ %3$s ã® %2$<PRIu64> ã‹ã‚‰ %5$s ã® %4$<PRIu64> ã«å¤‰æ›´ã•"
"ã‚Œã¾ã—ãŸ"
-#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:527
-#: src/readelf.c:829 src/strip.c:589
+#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:536 src/readelf.c:852
+#: src/strip.c:589
#, c-format
msgid "cannot determine number of sections: %s"
msgstr "セクション数を決定ã§ãã¾ã›ã‚“: %s"
@@ -3833,7 +3888,7 @@ msgstr "内部エラー: éž nobits セクション㌠nobits セクションã«
msgid "cannot get header of 0th section: %s"
msgstr "0番目ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®ãƒ˜ãƒƒãƒ€ãƒ¼ã‚’得られã¾ã›ã‚“: %s"
-#: src/ldgeneric.c:6930 src/unstrip.c:1893
+#: src/ldgeneric.c:6930 src/unstrip.c:1929
#, c-format
msgid "cannot update ELF header: %s"
msgstr "ELF ヘッダーを更新ã§ãã¾ã›ã‚“: %s"
@@ -3900,43 +3955,43 @@ msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³ '%2$s' 用ã®ãƒ­ãƒ¼ã‚«ãƒ«ã¨ã‚°ãƒ­ãƒ¼ãƒãƒ«ã§å®£è¨€ã•ã
msgid "default visibility set as local and global"
msgstr "ローカルã¨ã‚°ãƒ­ãƒ¼ãƒãƒ«ã«è¨­å®šã•ã‚ŒãŸãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®å¯è¦–性"
-#: src/nm.c:65 src/strip.c:67
+#: src/nm.c:66 src/strip.c:67
msgid "Output selection:"
msgstr "出力é¸æŠž:"
-#: src/nm.c:66
+#: src/nm.c:67
msgid "Display debugger-only symbols"
msgstr "デãƒãƒƒã‚¬ãƒ¼å°‚用シンボルを表示"
-#: src/nm.c:67
+#: src/nm.c:68
msgid "Display only defined symbols"
msgstr "定義ã•ã‚ŒãŸã‚·ãƒ³ãƒœãƒ«ã®ã¿ã‚’表示"
-#: src/nm.c:70
+#: src/nm.c:71
msgid "Display dynamic symbols instead of normal symbols"
msgstr "通常シンボルã®ä»£ã‚ã‚Šã«å‹•çš„シンボルを表示"
-#: src/nm.c:71
+#: src/nm.c:72
msgid "Display only external symbols"
msgstr "外部シンボルã®ã¿ã‚’表示"
-#: src/nm.c:72
+#: src/nm.c:73
msgid "Display only undefined symbols"
msgstr "未定義シンボルã®ã¿ã‚’表示"
-#: src/nm.c:74
+#: src/nm.c:75
msgid "Include index for symbols from archive members"
msgstr "アーカイブメンãƒãƒ¼ã‹ã‚‰ã®ã‚·ãƒ³ãƒœãƒ«ã®ç´¢å¼•ã‚’å«ã‚ã‚‹"
-#: src/nm.c:76 src/size.c:57
+#: src/nm.c:77 src/size.c:57
msgid "Output format:"
msgstr "出力形å¼:"
-#: src/nm.c:78
+#: src/nm.c:79
msgid "Print name of the input file before every symbol"
msgstr "å…¨ã¦ã®ã‚·ãƒ³ãƒœãƒ«ã®å‰ã«å…¥åŠ›ãƒ•ã‚¡ã‚¤ãƒ«åã‚’å°åˆ·"
-#: src/nm.c:81
+#: src/nm.c:82
msgid ""
"Use the output format FORMAT. FORMAT can be `bsd', `sysv' or `posix'. The "
"default is `sysv'"
@@ -3944,73 +3999,73 @@ msgstr ""
"出力形å¼ã¨ã—㦠FORMATを使ã†ã€‚FORMAT 㯠`bsd'ã‹ã€`sysv'ã€`posix' ã®ã©ã‚Œã‹ã€‚çœ"
"略値㯠`sysv'"
-#: src/nm.c:83
+#: src/nm.c:84
msgid "Same as --format=bsd"
msgstr "--format=bsd ã¨åŒã˜"
-#: src/nm.c:84
+#: src/nm.c:85
msgid "Same as --format=posix"
msgstr "--format=posix ã¨åŒã˜"
-#: src/nm.c:85 src/size.c:63
+#: src/nm.c:86 src/size.c:63
msgid "Use RADIX for printing symbol values"
msgstr "シンボル値をå°åˆ·ã™ã‚‹ãŸã‚ã« RADIX を使ã†"
-#: src/nm.c:86
+#: src/nm.c:87
#, fuzzy
msgid "Mark special symbols"
msgstr "å¼±ã„シンボルã«å°ã‚’点ã‘ã‚‹"
-#: src/nm.c:88
+#: src/nm.c:89
msgid "Print size of defined symbols"
msgstr "定義ã•ã‚ŒãŸã‚·ãƒ³ãƒœãƒ«ã®å°åˆ·ã‚µã‚¤ã‚º"
-#: src/nm.c:90 src/size.c:71 src/strip.c:72 src/unstrip.c:72
+#: src/nm.c:91 src/size.c:71 src/strip.c:72 src/unstrip.c:72
msgid "Output options:"
msgstr "出力オプション:"
-#: src/nm.c:91
+#: src/nm.c:92
msgid "Sort symbols numerically by address"
msgstr "シンボルをアドレスã«ã‚ˆã‚Šæ•°å€¤çš„ã«ä¸¦ã¹æ›¿ãˆã‚‹"
-#: src/nm.c:93
+#: src/nm.c:94
msgid "Do not sort the symbols"
msgstr "シンボルを並ã¹æ›¿ãˆãªã„"
-#: src/nm.c:94
+#: src/nm.c:95
msgid "Reverse the sense of the sort"
msgstr "並ã¹æ›¿ãˆã®æ„味を逆ã«ã™ã‚‹"
-#: src/nm.c:97
+#: src/nm.c:98
msgid "Decode low-level symbol names into source code names"
msgstr ""
-#: src/nm.c:104
+#: src/nm.c:105
msgid "List symbols from FILEs (a.out by default)."
msgstr "ãµãã„ã‚‹ ã‹ã‚‰ã‚·ãƒ³ãƒœãƒ«ã‚’表示 (デフォルトã§ã¯a.out)。"
-#: src/nm.c:115 src/objdump.c:79
+#: src/nm.c:116 src/objdump.c:79
#, fuzzy
msgid "Output formatting"
msgstr "出力形å¼:"
-#: src/nm.c:139 src/objdump.c:103 src/size.c:108 src/strip.c:127
+#: src/nm.c:140 src/objdump.c:103 src/size.c:108 src/strip.c:127
#, fuzzy, c-format
msgid "%s: INTERNAL ERROR %d (%s): %s"
msgstr "%s: 内部エラー %d (%s-%s): %s"
-#: src/nm.c:394 src/nm.c:406 src/size.c:305 src/size.c:314 src/size.c:325
+#: src/nm.c:395 src/nm.c:407 src/size.c:305 src/size.c:314 src/size.c:325
#: src/strip.c:2280
#, c-format
msgid "while closing '%s'"
msgstr "'%s' ã‚’é–‰ã˜ã¦ã„る最中"
-#: src/nm.c:416 src/objdump.c:292 src/strip.c:391
+#: src/nm.c:417 src/objdump.c:292 src/strip.c:391
#, c-format
msgid "%s: File format not recognized"
msgstr "%s: ファイル形å¼ã‚’èªè­˜ã§ãã¾ã›ã‚“ã§ã—ãŸ"
-#: src/nm.c:456
+#: src/nm.c:457
#, fuzzy
msgid ""
"\n"
@@ -4019,42 +4074,42 @@ msgstr ""
"\n"
"アーカイブ索引:"
-#: src/nm.c:465
+#: src/nm.c:466
#, c-format
msgid "invalid offset %zu for symbol %s"
msgstr "シンボル %2$sã®ä¸æ­£ãªã‚ªãƒ•ã‚»ãƒƒãƒˆ %1$zu "
-#: src/nm.c:470
+#: src/nm.c:471
#, c-format
msgid "%s in %s\n"
msgstr "%2$s ã®ä¸­ã® %1$s\n"
-#: src/nm.c:478
+#: src/nm.c:479
#, c-format
msgid "cannot reset archive offset to beginning"
msgstr "アーカイブã®ã‚ªãƒ•ã‚»ãƒƒãƒˆã‚’最åˆã«ãƒªã‚»ãƒƒãƒˆã§ãã¾ã›ã‚“"
-#: src/nm.c:503 src/objdump.c:340
+#: src/nm.c:504 src/objdump.c:340
#, c-format
msgid "%s%s%s: file format not recognized"
msgstr "%s%s%s: ファイル形å¼ã‚’èªè­˜ã§ãã¾ã›ã‚“"
-#: src/nm.c:715
+#: src/nm.c:719
#, c-format
msgid "cannot create search tree"
msgstr "検索ツリーを生æˆã§ãã¾ã›ã‚“"
-#: src/nm.c:754 src/nm.c:1160 src/objdump.c:789 src/readelf.c:536
-#: src/readelf.c:1085 src/readelf.c:1245 src/readelf.c:1393 src/readelf.c:1579
-#: src/readelf.c:1785 src/readelf.c:1975 src/readelf.c:2202 src/readelf.c:2460
-#: src/readelf.c:2536 src/readelf.c:2623 src/readelf.c:3203 src/readelf.c:3239
-#: src/readelf.c:3302 src/readelf.c:8212 src/readelf.c:9314 src/readelf.c:9461
-#: src/readelf.c:9529 src/size.c:413 src/size.c:482 src/strip.c:520
+#: src/nm.c:760 src/nm.c:1221 src/objdump.c:789 src/readelf.c:545
+#: src/readelf.c:1123 src/readelf.c:1323 src/readelf.c:1471 src/readelf.c:1667
+#: src/readelf.c:1873 src/readelf.c:2063 src/readelf.c:2300 src/readelf.c:2558
+#: src/readelf.c:2634 src/readelf.c:2721 src/readelf.c:3301 src/readelf.c:3347
+#: src/readelf.c:3410 src/readelf.c:8320 src/readelf.c:9420 src/readelf.c:9603
+#: src/readelf.c:9671 src/size.c:413 src/size.c:482 src/strip.c:520
#, c-format
msgid "cannot get section header string table index"
msgstr "セクションヘッダー文字列テーブル索引ãŒå¾—られã¾ã›ã‚“"
-#: src/nm.c:781
+#: src/nm.c:787
#, c-format
msgid ""
"\n"
@@ -4067,7 +4122,7 @@ msgstr ""
"%s ã‹ã‚‰ã®ã‚·ãƒ³ãƒœãƒ«:\n"
"\n"
-#: src/nm.c:784
+#: src/nm.c:790
#, c-format
msgid ""
"%*s%-*s %-*s Class Type %-*s %*s Section\n"
@@ -4076,22 +4131,22 @@ msgstr ""
"%*s%-*s %-*s クラス タイプ %-*s %*s セクション\n"
"\n"
-#: src/nm.c:1171
+#: src/nm.c:1232
#, fuzzy, c-format
msgid "%s: entry size in section %zd `%s' is not what we expect"
msgstr "%s: セクションã®é …ç›®ã®å¤§ãã• `%s' ã¯äºˆæœŸã—ãŸã‚‚ã®ã¨ã¯ç•°ãªã‚Šã¾ã™"
-#: src/nm.c:1176
+#: src/nm.c:1237
#, fuzzy, c-format
msgid "%s: size of section %zd `%s' is not multiple of entry size"
msgstr "%s: セクション `%s' ã®å¤§ãã•ã¯é …ç›®ã®å¤§ãã•ã®æ•´æ•°å€ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: src/nm.c:1434
+#: src/nm.c:1537
#, c-format
msgid "%s%s%s%s: Invalid operation"
msgstr "%s%s%s%s: ä¸å½“ãªæ“作"
-#: src/nm.c:1491
+#: src/nm.c:1594
#, c-format
msgid "%s%s%s: no symbols"
msgstr "%s%s%s: シンボルãŒã‚ã‚Šã¾ã›ã‚“"
@@ -4125,7 +4180,7 @@ msgstr ""
msgid "Show information from FILEs (a.out by default)."
msgstr ""
-#: src/objdump.c:232 src/readelf.c:473
+#: src/objdump.c:232 src/readelf.c:479
msgid "No operation specified.\n"
msgstr "æ“作ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。\n"
@@ -4134,11 +4189,11 @@ msgstr "æ“作ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。\n"
msgid "while close `%s'"
msgstr ""
-#: src/objdump.c:375 src/readelf.c:1880 src/readelf.c:2072
+#: src/objdump.c:375 src/readelf.c:1968 src/readelf.c:2160
msgid "INVALID SYMBOL"
msgstr "ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«"
-#: src/objdump.c:390 src/readelf.c:1914 src/readelf.c:2108
+#: src/objdump.c:390 src/readelf.c:2002 src/readelf.c:2196
msgid "INVALID SECTION"
msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³"
@@ -4187,78 +4242,78 @@ msgstr ""
msgid "error while freeing sub-ELF descriptor: %s"
msgstr ""
-#: src/readelf.c:71
+#: src/readelf.c:72
#, fuzzy
msgid "ELF input selection:"
msgstr "出力é¸æŠž:"
-#: src/readelf.c:73
+#: src/readelf.c:74
msgid ""
"Use the named SECTION (default .gnu_debugdata) as (compressed) ELF input data"
msgstr ""
-#: src/readelf.c:75
+#: src/readelf.c:76
#, fuzzy
msgid "ELF output selection:"
msgstr "出力é¸æŠž:"
-#: src/readelf.c:77
+#: src/readelf.c:78
msgid "All these plus -p .strtab -p .dynstr -p .comment"
msgstr ""
-#: src/readelf.c:78
+#: src/readelf.c:79
msgid "Display the dynamic segment"
msgstr "動的セグメントを表示"
-#: src/readelf.c:79
+#: src/readelf.c:80
msgid "Display the ELF file header"
msgstr "ELF ファイルヘッダーを表示"
-#: src/readelf.c:81
+#: src/readelf.c:82
msgid "Display histogram of bucket list lengths"
msgstr "ãƒã‚±ãƒƒãƒˆãƒªã‚¹ãƒˆé•·ã®æŸ±çŠ¶å›³ã‚’表示"
-#: src/readelf.c:82
+#: src/readelf.c:83
msgid "Display the program headers"
msgstr "プログラムヘッダーを表示"
-#: src/readelf.c:84
+#: src/readelf.c:85
msgid "Display relocations"
msgstr "リロケーションを表示"
-#: src/readelf.c:85
+#: src/readelf.c:86
#, fuzzy
msgid "Display the sections' headers"
msgstr "セクションã®ãƒ˜ãƒƒãƒ€ãƒ¼ã‚’表示"
-#: src/readelf.c:87
+#: src/readelf.c:88
msgid "Display the symbol table"
msgstr "シンボルテーブルを表示"
-#: src/readelf.c:88
+#: src/readelf.c:89
msgid "Display versioning information"
msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ‹ãƒ³ã‚°æƒ…å ±ã®è¡¨ç¤º"
-#: src/readelf.c:89
+#: src/readelf.c:90
#, fuzzy
msgid "Display the ELF notes"
msgstr "コアノートを表示"
-#: src/readelf.c:91
+#: src/readelf.c:92
#, fuzzy
msgid "Display architecture specific information, if any"
msgstr "(ã‚‚ã—ã‚ã‚Œã°)アーキテクãƒãƒ£ãƒ¼å›ºæœ‰ã®æƒ…報を表示"
-#: src/readelf.c:93
+#: src/readelf.c:94
msgid "Display sections for exception handling"
msgstr "例外をå–り扱ã†ãŸã‚ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’表示"
-#: src/readelf.c:95
+#: src/readelf.c:96
#, fuzzy
msgid "Additional output selection:"
msgstr "出力é¸æŠž:"
-#: src/readelf.c:97
+#: src/readelf.c:98
#, fuzzy
msgid ""
"Display DWARF section content. SECTION can be one of abbrev, aranges, "
@@ -4268,166 +4323,172 @@ msgstr ""
"DWARF セクションã®å†…容を表示。SECTION 㯠addrevã‹ã€arangesã€frameã€infoã€"
"locã€rangesã€pubnamesã€strã€macinfoã€exception ã®ã„ãšã‚Œã‹ã§ã™"
-#: src/readelf.c:101
+#: src/readelf.c:102
msgid "Dump the uninterpreted contents of SECTION, by number or name"
msgstr "æ•°å­—ã‹åå‰ã§è§£é‡ˆã§ããªã„セクションã®å†…容をダンプã™ã‚‹"
-#: src/readelf.c:103
+#: src/readelf.c:104
msgid "Print string contents of sections"
msgstr "セクションã®æ–‡å­—列内容をå°åˆ·ã™ã‚‹"
-#: src/readelf.c:106
+#: src/readelf.c:107
msgid "Display the symbol index of an archive"
msgstr "アーカイブã®ã‚·ãƒ³ãƒœãƒ«ç´¢å¼•ã‚’表示"
-#: src/readelf.c:108
+#: src/readelf.c:109
msgid "Output control:"
msgstr "出力制御:"
-#: src/readelf.c:110
+#: src/readelf.c:111
msgid "Do not find symbol names for addresses in DWARF data"
msgstr "DWARFデータ中ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã®ãŸã‚ã®ã‚·ãƒ³ãƒœãƒ«åを探ã•ãªã„"
-#: src/readelf.c:112
+#: src/readelf.c:113
#, fuzzy
msgid ""
"Display just offsets instead of resolving values to addresses in DWARF data"
msgstr "DWARFデータ中ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã®ãŸã‚ã®ã‚·ãƒ³ãƒœãƒ«åを探ã•ãªã„"
-#: src/readelf.c:114
+#: src/readelf.c:115
msgid "Ignored for compatibility (lines always wide)"
msgstr ""
-#: src/readelf.c:119
+#: src/readelf.c:117
+msgid ""
+"Show compression information for compressed sections (when used with -S); "
+"decompress section before dumping data (when used with -p or -x)"
+msgstr ""
+
+#: src/readelf.c:122
msgid "Print information from ELF file in human-readable form."
msgstr "ELF ファイルã‹ã‚‰äººé–“ãŒèª­ã‚ã‚‹å½¢ã§æƒ…報をå°åˆ·ã™ã‚‹ã€‚"
-#: src/readelf.c:441
+#: src/readelf.c:447
#, c-format
msgid "Unknown DWARF debug section `%s'.\n"
msgstr "ä¸æ˜Žãª DWARF デãƒãƒƒã‚°ã‚»ã‚¯ã‚·ãƒ§ãƒ³ `%s'.\n"
-#: src/readelf.c:520 src/readelf.c:631
+#: src/readelf.c:529 src/readelf.c:640
#, c-format
msgid "cannot generate Elf descriptor: %s"
msgstr "Elf 記述å­ã‚’生æˆã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:545 src/readelf.c:1099 src/readelf.c:1269
+#: src/readelf.c:554 src/readelf.c:1145 src/readelf.c:1347
#, c-format
msgid "cannot get section: %s"
msgstr "セクションを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:554 src/readelf.c:1106 src/readelf.c:1277 src/readelf.c:9481
-#: src/unstrip.c:355 src/unstrip.c:386 src/unstrip.c:435 src/unstrip.c:543
-#: src/unstrip.c:560 src/unstrip.c:596 src/unstrip.c:794 src/unstrip.c:1083
-#: src/unstrip.c:1274 src/unstrip.c:1334 src/unstrip.c:1455 src/unstrip.c:1508
-#: src/unstrip.c:1623 src/unstrip.c:1761 src/unstrip.c:1855
+#: src/readelf.c:563 src/readelf.c:1152 src/readelf.c:1355 src/readelf.c:9623
+#: src/unstrip.c:387 src/unstrip.c:418 src/unstrip.c:467 src/unstrip.c:577
+#: src/unstrip.c:594 src/unstrip.c:631 src/unstrip.c:829 src/unstrip.c:1118
+#: src/unstrip.c:1309 src/unstrip.c:1369 src/unstrip.c:1490 src/unstrip.c:1543
+#: src/unstrip.c:1658 src/unstrip.c:1796 src/unstrip.c:1891
#, c-format
msgid "cannot get section header: %s"
msgstr "セクションヘッダーを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:562
+#: src/readelf.c:571
#, fuzzy, c-format
msgid "cannot get section name"
msgstr "セクションを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:571 src/readelf.c:5396 src/readelf.c:7670 src/readelf.c:7772
-#: src/readelf.c:7949
+#: src/readelf.c:580 src/readelf.c:5504 src/readelf.c:7778 src/readelf.c:7880
+#: src/readelf.c:8057
#, c-format
msgid "cannot get %s content: %s"
msgstr "%s ã®å†…容を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:587
+#: src/readelf.c:596
#, fuzzy, c-format
msgid "cannot create temp file '%s'"
msgstr "æ–°ã—ã„ファイル '%s' を生æˆã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:596
+#: src/readelf.c:605
#, fuzzy, c-format
msgid "cannot write section data"
msgstr "セクションデータを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s"
-#: src/readelf.c:602 src/readelf.c:619 src/readelf.c:648
+#: src/readelf.c:611 src/readelf.c:628 src/readelf.c:657
#, c-format
msgid "error while closing Elf descriptor: %s"
msgstr "Elf 記述å­ã‚’é–‰ã˜ã¦ã„る時ã«ã‚¨ãƒ©ãƒ¼: %s"
-#: src/readelf.c:609
+#: src/readelf.c:618
#, fuzzy, c-format
msgid "error while rewinding file descriptor"
msgstr "Elf 記述å­ã‚’é–‰ã˜ã¦ã„る時ã«ã‚¨ãƒ©ãƒ¼: %s"
-#: src/readelf.c:643
+#: src/readelf.c:652
#, c-format
msgid "'%s' is not an archive, cannot print archive index"
msgstr "'%s' ã¯ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã§ã¯ãªãã€ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–索引をå°åˆ·ã§ãã¾ã›ã‚“"
-#: src/readelf.c:742
+#: src/readelf.c:751
#, fuzzy, c-format
msgid "No such section '%s' in '%s'"
msgstr "セクション [%Zu] '%s' ã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ãŒå¾—られã¾ã›ã‚“: %s"
-#: src/readelf.c:769
+#: src/readelf.c:778
#, c-format
msgid "cannot stat input file"
msgstr "入力ファイルを stat ã§ãã¾ã›ã‚“"
-#: src/readelf.c:771
+#: src/readelf.c:780
#, c-format
msgid "input file is empty"
msgstr "入力ファイルãŒç©ºã§ã™"
-#: src/readelf.c:773
+#: src/readelf.c:782
#, c-format
msgid "failed reading '%s': %s"
msgstr "'%s' ã®èª­è¾¼ã¿ã«å¤±æ•—: %s"
-#: src/readelf.c:814
+#: src/readelf.c:837
#, c-format
msgid "cannot read ELF header: %s"
msgstr "ELF ヘッダーãŒèª­ã‚ã¾ã›ã‚“: %s"
-#: src/readelf.c:822
+#: src/readelf.c:845
#, c-format
msgid "cannot create EBL handle"
msgstr "EBL ヘッダーを生æˆã§ãã¾ã›ã‚“"
-#: src/readelf.c:835
+#: src/readelf.c:858
#, fuzzy, c-format
msgid "cannot determine number of program headers: %s"
msgstr "セクション数を決定ã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:921
+#: src/readelf.c:948
msgid "NONE (None)"
msgstr "ãªã— (ãªã—)"
-#: src/readelf.c:922
+#: src/readelf.c:949
msgid "REL (Relocatable file)"
msgstr "REL (リロケータブルファイル)"
-#: src/readelf.c:923
+#: src/readelf.c:950
msgid "EXEC (Executable file)"
msgstr "(EXEC (実行ファイル)"
-#: src/readelf.c:924
+#: src/readelf.c:951
msgid "DYN (Shared object file)"
msgstr "DYN (共用オブジェクトファイル)"
-#: src/readelf.c:925
+#: src/readelf.c:952
msgid "CORE (Core file)"
msgstr "CORE (コアファイル)"
-#: src/readelf.c:930
+#: src/readelf.c:957
#, c-format
msgid "OS Specific: (%x)\n"
msgstr "OS 固有: (%x)\n"
-#: src/readelf.c:932
+#: src/readelf.c:959
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr "プロセッサー固有: (%x)\n"
-#: src/readelf.c:942
+#: src/readelf.c:969
msgid ""
"ELF Header:\n"
" Magic: "
@@ -4435,7 +4496,7 @@ msgstr ""
"ELF ヘッダー:\n"
" マジック: "
-#: src/readelf.c:946
+#: src/readelf.c:973
#, c-format
msgid ""
"\n"
@@ -4444,117 +4505,117 @@ msgstr ""
"\n"
" クラス: %s\n"
-#: src/readelf.c:951
+#: src/readelf.c:978
#, c-format
msgid " Data: %s\n"
msgstr " データ: %s\n"
-#: src/readelf.c:957
+#: src/readelf.c:984
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr " 識別ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hhd %s\n"
-#: src/readelf.c:959 src/readelf.c:976
+#: src/readelf.c:986 src/readelf.c:1003
msgid "(current)"
msgstr "(ç¾åœ¨)"
-#: src/readelf.c:963
+#: src/readelf.c:990
#, c-format
msgid " OS/ABI: %s\n"
msgstr " OS/ABI: %s\n"
-#: src/readelf.c:966
+#: src/readelf.c:993
#, c-format
msgid " ABI Version: %hhd\n"
msgstr " ABI ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hhd\n"
-#: src/readelf.c:969
+#: src/readelf.c:996
msgid " Type: "
msgstr " タイプ: "
-#: src/readelf.c:972
+#: src/readelf.c:999
#, c-format
msgid " Machine: %s\n"
msgstr " マシン : %s\n"
-#: src/readelf.c:974
+#: src/readelf.c:1001
#, c-format
msgid " Version: %d %s\n"
msgstr " ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %d %s\n"
-#: src/readelf.c:978
+#: src/readelf.c:1005
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr " å…¥å£ç‚¹ã‚¢ãƒ‰ãƒ¬ã‚¹ : %#<PRIx64>\n"
-#: src/readelf.c:981
+#: src/readelf.c:1008
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr " プログラムヘッダーã®é–‹å§‹: %<PRId64> %s\n"
-#: src/readelf.c:982 src/readelf.c:985
+#: src/readelf.c:1009 src/readelf.c:1012
msgid "(bytes into file)"
msgstr "(ファイルã¸ã®ãƒã‚¤ãƒˆæ•°)"
-#: src/readelf.c:984
+#: src/readelf.c:1011
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr " セクションヘッダーã®é–‹å§‹: %<PRId64> %s\n"
-#: src/readelf.c:987
+#: src/readelf.c:1014
#, c-format
msgid " Flags: %s\n"
msgstr " フラグ: %s\n"
-#: src/readelf.c:990
+#: src/readelf.c:1017
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr " ã“ã®ãƒ˜ãƒƒãƒ€ãƒ¼ã®å¤§ãã•: %<PRId16> %s\n"
-#: src/readelf.c:991 src/readelf.c:994 src/readelf.c:1011
+#: src/readelf.c:1018 src/readelf.c:1021 src/readelf.c:1038
msgid "(bytes)"
msgstr "(ãƒã‚¤ãƒˆ)"
-#: src/readelf.c:993
+#: src/readelf.c:1020
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr " プログラムヘッダー項目ã®å¤§ãã•:%<PRId16> %s\n"
-#: src/readelf.c:996
+#: src/readelf.c:1023
#, fuzzy, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr " プログラムヘッダー項目ã®æ•° : %<PRId16>\n"
-#: src/readelf.c:1003
+#: src/readelf.c:1030
#, fuzzy, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr "([0].sh_link ã® %<PRIu32>)"
-#: src/readelf.c:1006 src/readelf.c:1023 src/readelf.c:1037
+#: src/readelf.c:1033 src/readelf.c:1050 src/readelf.c:1064
msgid " ([0] not available)"
msgstr "([0]ã¯ä½¿ãˆã¾ã›ã‚“)"
-#: src/readelf.c:1010
+#: src/readelf.c:1037
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr " セクションヘッダー項目ã®å¤§ãã•:%<PRId16> %s\n"
-#: src/readelf.c:1013
+#: src/readelf.c:1040
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr " セクションヘッダー項目ã®æ•° : %<PRId16>"
-#: src/readelf.c:1020
+#: src/readelf.c:1047
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr " ([0].sh_size ã® %<PRIu32>)"
-#: src/readelf.c:1033
+#: src/readelf.c:1060
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr "([0].sh_link ã® %<PRIu32>)"
-#: src/readelf.c:1041
+#: src/readelf.c:1068
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
@@ -4563,7 +4624,7 @@ msgstr ""
" セクションヘッダー文字列テーブル索引: XINDEX%s\n"
"\n"
-#: src/readelf.c:1045
+#: src/readelf.c:1072
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
@@ -4572,7 +4633,7 @@ msgstr ""
" セクションヘッダー文字列テーブル索引: %<PRId16>\n"
"\n"
-#: src/readelf.c:1077
+#: src/readelf.c:1115
#, c-format
msgid ""
"There are %d section headers, starting at offset %#<PRIx64>:\n"
@@ -4581,11 +4642,11 @@ msgstr ""
"オフセット %2$#<PRIx64> ã‹ã‚‰å§‹ã¾ã‚‹ %1$d 個ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ãƒ˜ãƒƒãƒ€ãƒ¼ãŒã‚ã‚Šã¾ã™:\n"
"\n"
-#: src/readelf.c:1087
+#: src/readelf.c:1125
msgid "Section Headers:"
msgstr "セクションヘッダー:"
-#: src/readelf.c:1090
+#: src/readelf.c:1128
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
@@ -4593,7 +4654,7 @@ msgstr ""
"[番] åå‰ ã‚¿ã‚¤ãƒ— アドレス オフセ 大ãã• ES フラグLk "
"Inf Al"
-#: src/readelf.c:1092
+#: src/readelf.c:1130
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
@@ -4601,17 +4662,35 @@ msgstr ""
"[番] åå‰ ã‚¿ã‚¤ãƒ— アドレス オフセ 大ãã• ES "
"フラグLk Inf Al"
-#: src/readelf.c:1164
+#: src/readelf.c:1135
+msgid " [Compression Size Al]"
+msgstr ""
+
+#: src/readelf.c:1137
+msgid " [Compression Size Al]"
+msgstr ""
+
+#: src/readelf.c:1213
+#, fuzzy, c-format
+msgid "bad compression header for section %zd: %s"
+msgstr "セクションヘッダー文字列セクションを生æˆã§ãã¾ã›ã‚“: %s"
+
+#: src/readelf.c:1224
+#, fuzzy, c-format
+msgid "bad gnu compressed size for section %zd: %s"
+msgstr "セクションã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã‚’得られã¾ã›ã‚“ %d: %s"
+
+#: src/readelf.c:1242
msgid "Program Headers:"
msgstr "プログラムヘッダー:"
-#: src/readelf.c:1166
+#: src/readelf.c:1244
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
" タイプ オフセ 仮アドレス 物アドレス ãƒ•ã‚¡ã‚¤é‡ ãƒ¡ãƒ¢é‡ Flg 調整 "
-#: src/readelf.c:1169
+#: src/readelf.c:1247
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
@@ -4619,12 +4698,12 @@ msgstr ""
" タイプ オフセ 仮想アドレス 物ç†ã‚¢ãƒ‰ãƒ¬ã‚¹ ファイルé‡ãƒ¡ãƒ¢"
"é‡ Flg 調整 "
-#: src/readelf.c:1226
+#: src/readelf.c:1304
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr "\t[プログラム割込ã¿ã‚’è¦æ±‚: %s]\n"
-#: src/readelf.c:1247
+#: src/readelf.c:1325
msgid ""
"\n"
" Section to Segment mapping:\n"
@@ -4634,12 +4713,12 @@ msgstr ""
" セクションã‹ã‚‰ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã¸ã®ãƒžãƒƒãƒ“ング:\n"
" セグメント セクション..."
-#: src/readelf.c:1258 src/unstrip.c:1914 src/unstrip.c:1957 src/unstrip.c:1964
+#: src/readelf.c:1336 src/unstrip.c:1950 src/unstrip.c:1992 src/unstrip.c:1999
#, c-format
msgid "cannot get program header: %s"
msgstr "プログラムヘッダーを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:1401
+#: src/readelf.c:1479
#, c-format
msgid ""
"\n"
@@ -4652,7 +4731,7 @@ msgstr[0] ""
"ç½²å '%3$s' ã‚’æŒã¤ COMDAT セクショングループ [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®"
"é …ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:1406
+#: src/readelf.c:1484
#, c-format
msgid ""
"\n"
@@ -4665,21 +4744,25 @@ msgstr[0] ""
"ç½²å '%3$s' ã‚’æŒã¤ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚°ãƒ«ãƒ¼ãƒ— [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …ç›®ãŒã‚"
"ã‚Šã¾ã™:\n"
-#: src/readelf.c:1414
+#: src/readelf.c:1492
msgid "<INVALID SYMBOL>"
msgstr "<ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«>"
-#: src/readelf.c:1428
+#: src/readelf.c:1506
msgid "<INVALID SECTION>"
msgstr "<ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³>"
-#: src/readelf.c:1585 src/readelf.c:2208 src/readelf.c:2466 src/readelf.c:2542
-#: src/readelf.c:2846 src/readelf.c:2920 src/readelf.c:4608
+#: src/readelf.c:1529 src/readelf.c:2238 src/readelf.c:3317
+msgid "Couldn't uncompress section"
+msgstr ""
+
+#: src/readelf.c:1673 src/readelf.c:2306 src/readelf.c:2564 src/readelf.c:2640
+#: src/readelf.c:2944 src/readelf.c:3018 src/readelf.c:4716
#, fuzzy, c-format
msgid "invalid sh_link value in section %zu"
msgstr "ä¸å½“㪠.debug_line セクション"
-#: src/readelf.c:1588
+#: src/readelf.c:1676
#, c-format
msgid ""
"\n"
@@ -4695,36 +4778,36 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'\n"
-#: src/readelf.c:1598
+#: src/readelf.c:1686
msgid " Type Value\n"
msgstr " タイプ 値\n"
-#: src/readelf.c:1622
+#: src/readelf.c:1710
#, c-format
msgid "Shared library: [%s]\n"
msgstr "共用ライブラリー: [%s]\n"
-#: src/readelf.c:1627
+#: src/readelf.c:1715
#, c-format
msgid "Library soname: [%s]\n"
msgstr "ライブラリー so å: [%s]\n"
-#: src/readelf.c:1632
+#: src/readelf.c:1720
#, c-format
msgid "Library rpath: [%s]\n"
msgstr "ライブラリー rパス: [%s]\n"
-#: src/readelf.c:1637
+#: src/readelf.c:1725
#, c-format
msgid "Library runpath: [%s]\n"
msgstr "ライブラリー run パス: [%s]\n"
-#: src/readelf.c:1657
+#: src/readelf.c:1745
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr "%<PRId64> (ãƒã‚¤ãƒˆ)\n"
-#: src/readelf.c:1770 src/readelf.c:1960
+#: src/readelf.c:1858 src/readelf.c:2048
#, c-format
msgid ""
"\n"
@@ -4733,7 +4816,7 @@ msgstr ""
"\n"
"オフセット %#0<PRIx64> ã«ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«ãƒ†ãƒ¼ãƒ–ル\n"
-#: src/readelf.c:1788 src/readelf.c:1978
+#: src/readelf.c:1876 src/readelf.c:2066
#, c-format
msgid ""
"\n"
@@ -4748,7 +4831,7 @@ msgstr[0] ""
"オフセット %5$#0<PRIx64> ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%3$2u] '%4$s' 用ã®ãƒªãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã‚»ã‚¯"
"ション [%1$2zu] '%2$s' ã«ã¯ %6$d 個ã®é …ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:1803 src/readelf.c:1993
+#: src/readelf.c:1891 src/readelf.c:2081
#, c-format
msgid ""
"\n"
@@ -4761,29 +4844,29 @@ msgstr[0] ""
"オフセット %3$#0<PRIx64> ã®ãƒªãƒ­ã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%1$2u] '%2$s' ã«ã¯ %4$d "
"個ã®é …ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:1813
+#: src/readelf.c:1901
msgid " Offset Type Value Name\n"
msgstr " オフセット タイプ 値 åå‰\n"
-#: src/readelf.c:1815
+#: src/readelf.c:1903
msgid " Offset Type Value Name\n"
msgstr " オフセット タイプ 値 åå‰\n"
-#: src/readelf.c:1868 src/readelf.c:1879 src/readelf.c:1892 src/readelf.c:1913
-#: src/readelf.c:1925 src/readelf.c:2059 src/readelf.c:2071 src/readelf.c:2085
-#: src/readelf.c:2107 src/readelf.c:2120
+#: src/readelf.c:1956 src/readelf.c:1967 src/readelf.c:1980 src/readelf.c:2001
+#: src/readelf.c:2013 src/readelf.c:2147 src/readelf.c:2159 src/readelf.c:2173
+#: src/readelf.c:2195 src/readelf.c:2208
msgid "<INVALID RELOC>"
msgstr "<ä¸å½“ãªRELOC>"
-#: src/readelf.c:2003
+#: src/readelf.c:2091
msgid " Offset Type Value Addend Name\n"
msgstr " オフセット タイプ 値 付加å\n"
-#: src/readelf.c:2005
+#: src/readelf.c:2093
msgid " Offset Type Value Addend Name\n"
msgstr " オフセット タイプ 値 付加å\n"
-#: src/readelf.c:2216
+#: src/readelf.c:2314
#, c-format
msgid ""
"\n"
@@ -4795,39 +4878,39 @@ msgstr[0] ""
"\n"
"シンボルテーブル [%2u] '%s' ã«ã¯ %u 個ã®é …ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:2221
+#: src/readelf.c:2319
#, 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:2229
+#: src/readelf.c:2327
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " æ•° : 値 大ã タイプ Bind Vis Ndx åå‰\n"
-#: src/readelf.c:2231
+#: src/readelf.c:2329
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " æ•° : 値 大ã タイプ Bind Vis Ndx åå‰\n"
-#: src/readelf.c:2251
+#: src/readelf.c:2349
#, 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:2339
+#: src/readelf.c:2437
#, c-format
msgid "bad dynamic symbol"
msgstr "ä¸æ­£ãªå‹•çš„シンボル"
-#: src/readelf.c:2421
+#: src/readelf.c:2519
msgid "none"
msgstr "ãªã—"
-#: src/readelf.c:2438
+#: src/readelf.c:2536
msgid "| <unknown>"
msgstr "| <ä¸æ˜Ž>"
-#: src/readelf.c:2469
+#: src/readelf.c:2567
#, c-format
msgid ""
"\n"
@@ -4843,17 +4926,17 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'\n"
-#: src/readelf.c:2490
+#: src/readelf.c:2588
#, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hu ファイル: %s æ•°: %hu\n"
-#: src/readelf.c:2503
+#: src/readelf.c:2601
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: åå‰: %s フラグ: %s ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hu\n"
-#: src/readelf.c:2546
+#: src/readelf.c:2644
#, c-format
msgid ""
"\n"
@@ -4869,17 +4952,17 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'\n"
-#: src/readelf.c:2574
+#: src/readelf.c:2672
#, 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:2589
+#: src/readelf.c:2687
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr " %#06x: 親 %d: %s\n"
-#: src/readelf.c:2850
+#: src/readelf.c:2948
#, c-format
msgid ""
"\n"
@@ -4895,15 +4978,15 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'"
-#: src/readelf.c:2878
+#: src/readelf.c:2976
msgid " 0 *local* "
msgstr " 0 *ローカル* "
-#: src/readelf.c:2883
+#: src/readelf.c:2981
msgid " 1 *global* "
msgstr " 1 *グローãƒãƒ«* "
-#: src/readelf.c:2925
+#: src/readelf.c:3023
#, c-format
msgid ""
"\n"
@@ -4921,22 +5004,22 @@ msgstr[0] ""
" アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: "
"[%2u] '%s'\n"
-#: src/readelf.c:2947
+#: src/readelf.c:3045
#, fuzzy, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr " é•·ã• æ•° 全体ã®% 範囲 \n"
-#: src/readelf.c:2949
+#: src/readelf.c:3047
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:2956
+#: src/readelf.c:3054
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:2969
+#: src/readelf.c:3067
#, fuzzy, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
@@ -4945,27 +5028,27 @@ msgstr ""
" テストã®å¹³å‡æ•°: 検索æˆåŠŸ: %f\n"
" 検索失敗: %f\n"
-#: src/readelf.c:2987 src/readelf.c:3042 src/readelf.c:3099
+#: src/readelf.c:3085 src/readelf.c:3140 src/readelf.c:3197
#, c-format
msgid "cannot get data for section %d: %s"
msgstr "セクションã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã‚’得られã¾ã›ã‚“ %d: %s"
-#: src/readelf.c:2995
+#: src/readelf.c:3093
#, fuzzy, c-format
msgid "invalid data in sysv.hash section %d"
msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:3050
+#: src/readelf.c:3148
#, fuzzy, c-format
msgid "invalid data in sysv.hash64 section %d"
msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:3108
+#: src/readelf.c:3206
#, fuzzy, c-format
msgid "invalid data in gnu.hash section %d"
msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:3175
+#: src/readelf.c:3273
#, c-format
msgid ""
" Symbol Bias: %u\n"
@@ -4975,7 +5058,7 @@ msgstr ""
" ビットマスクã®å¤§ãã•: %zu ãƒã‚¤ãƒˆ %<PRIuFAST32>%% ビット設定 第2ãƒãƒƒã‚·ãƒ¥ã‚·ãƒ•"
"ト: %u\n"
-#: src/readelf.c:3250
+#: src/readelf.c:3358
#, c-format
msgid ""
"\n"
@@ -4988,7 +5071,7 @@ msgstr[0] ""
"オフセット %3$#0<PRIx64> ã®ãƒ©ã‚¤ãƒ–ラリー一覧セクション [%1$2zu] '%2$s' ã«ã¯ "
"%4$d 個ã®é …ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:3264
+#: src/readelf.c:3372
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
@@ -4996,7 +5079,7 @@ msgstr ""
" ライブラリー タイムスタンプ ãƒã‚§ãƒƒã‚¯ã‚µãƒ  ãƒãƒ¼"
"ジョン フラグ"
-#: src/readelf.c:3314
+#: src/readelf.c:3422
#, c-format
msgid ""
"\n"
@@ -5007,140 +5090,140 @@ msgstr ""
"オフセット %4$#0<PRIx64> ã® %3$<PRIu64> ãƒã‚¤ãƒˆã®ã‚ªãƒ–ジェクト属性セクション "
"[%1$2zu] '%2$s':\n"
-#: src/readelf.c:3331
+#: src/readelf.c:3439
msgid " Owner Size\n"
msgstr " 所有者 大ãã•\n"
-#: src/readelf.c:3360
+#: src/readelf.c:3468
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
-#: src/readelf.c:3399
+#: src/readelf.c:3507
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
-#: src/readelf.c:3404
+#: src/readelf.c:3512
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " ファイル: %11<PRIu32>\n"
-#: src/readelf.c:3453
+#: src/readelf.c:3561
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>ã€%s\n"
-#: src/readelf.c:3456
+#: src/readelf.c:3564
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3459
+#: src/readelf.c:3567
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3469
+#: src/readelf.c:3577
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3472
+#: src/readelf.c:3580
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3517
+#: src/readelf.c:3625
#, c-format
msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3520
+#: src/readelf.c:3628
#, c-format
msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3525
+#: src/readelf.c:3633
#, c-format
msgid "%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3528
+#: src/readelf.c:3636
#, c-format
msgid "%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3534
+#: src/readelf.c:3642
#, c-format
msgid "%s+%#<PRIx64> <%s>"
msgstr "%s+%#<PRIx64> <%s>"
-#: src/readelf.c:3537
+#: src/readelf.c:3645
#, c-format
msgid "%s+%#0*<PRIx64> <%s>"
msgstr "%s+%#0*<PRIx64> <%s>"
-#: src/readelf.c:3541
+#: src/readelf.c:3649
#, c-format
msgid "%#<PRIx64> <%s>"
msgstr "%#<PRIx64> <%s>"
-#: src/readelf.c:3544
+#: src/readelf.c:3652
#, c-format
msgid "%#0*<PRIx64> <%s>"
msgstr "%#0*<PRIx64> <%s>"
-#: src/readelf.c:3549
+#: src/readelf.c:3657
#, c-format
msgid "%s+%#<PRIx64>"
msgstr "%s+%#<PRIx64>"
-#: src/readelf.c:3552
+#: src/readelf.c:3660
#, c-format
msgid "%s+%#0*<PRIx64>"
msgstr "%s+%#0*<PRIx64>"
-#: src/readelf.c:3930
+#: src/readelf.c:4038
msgid "empty block"
msgstr "空ブロック"
-#: src/readelf.c:3933
+#: src/readelf.c:4041
#, c-format
msgid "%zu byte block:"
msgstr "%zu ãƒã‚¤ãƒˆã®ãƒ–ロック:"
-#: src/readelf.c:4330
+#: src/readelf.c:4438
#, c-format
msgid "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
msgstr "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
-#: src/readelf.c:4387
+#: src/readelf.c:4495
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr ""
-#: src/readelf.c:4394
+#: src/readelf.c:4502
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr ""
-#: src/readelf.c:4401
+#: src/readelf.c:4509
#, c-format
msgid "%s %#<PRIx64> used with different base addresses"
msgstr ""
-#: src/readelf.c:4490
+#: src/readelf.c:4598
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr ""
-#: src/readelf.c:4498
+#: src/readelf.c:4606
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr ""
-#: src/readelf.c:4524
+#: src/readelf.c:4632
#, c-format
msgid ""
"\n"
@@ -5151,7 +5234,7 @@ msgstr ""
"オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
" [ コード]\n"
-#: src/readelf.c:4532
+#: src/readelf.c:4640
#, c-format
msgid ""
"\n"
@@ -5160,30 +5243,30 @@ msgstr ""
"\n"
"オフセット %<PRIu64> ã®ç•¥èªžã‚»ã‚¯ã‚·ãƒ§ãƒ³:\n"
-#: src/readelf.c:4545
+#: src/readelf.c:4653
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr " *** 略語を読んã§ã„ã‚‹é–“ã«ã‚¨ãƒ©ãƒ¼: %s\n"
-#: src/readelf.c:4561
+#: src/readelf.c:4669
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr " [%5u] オフセット: %<PRId64>ã€å­: %sã€ã‚¿ã‚°: %s\n"
-#: src/readelf.c:4564
+#: src/readelf.c:4672
msgid "yes"
msgstr "ã¯ã„"
-#: src/readelf.c:4564
+#: src/readelf.c:4672
msgid "no"
msgstr "ã„ã„ãˆ"
-#: src/readelf.c:4598 src/readelf.c:4671
+#: src/readelf.c:4706 src/readelf.c:4779
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr ".debug_aragnes ã®å†…容を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:4613
+#: src/readelf.c:4721
#, c-format
msgid ""
"\n"
@@ -5196,20 +5279,20 @@ msgstr[0] ""
"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
"ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:4644
+#: src/readelf.c:4752
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:4646
+#: src/readelf.c:4754
#, 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:4676 src/readelf.c:4830 src/readelf.c:5406 src/readelf.c:6360
-#: src/readelf.c:6892 src/readelf.c:7012 src/readelf.c:7176 src/readelf.c:7601
+#: src/readelf.c:4784 src/readelf.c:4938 src/readelf.c:5514 src/readelf.c:6468
+#: src/readelf.c:7000 src/readelf.c:7120 src/readelf.c:7284 src/readelf.c:7709
#, c-format
msgid ""
"\n"
@@ -5218,7 +5301,7 @@ msgstr ""
"\n"
"オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
-#: src/readelf.c:4689 src/readelf.c:6386
+#: src/readelf.c:4797 src/readelf.c:6494
#, fuzzy, c-format
msgid ""
"\n"
@@ -5227,113 +5310,113 @@ msgstr ""
"\n"
"オフセット %Zu ã®ãƒ†ãƒ¼ãƒ–ル:\n"
-#: src/readelf.c:4693 src/readelf.c:5430 src/readelf.c:6397
+#: src/readelf.c:4801 src/readelf.c:5538 src/readelf.c:6505
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:4709
+#: src/readelf.c:4817
#, fuzzy, c-format
msgid ""
"\n"
" Length: %6<PRIu64>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:4721
+#: src/readelf.c:4829
#, fuzzy, c-format
msgid " DWARF version: %6<PRIuFAST16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:4725
+#: src/readelf.c:4833
#, c-format
msgid "unsupported aranges version"
msgstr ""
-#: src/readelf.c:4736
+#: src/readelf.c:4844
#, fuzzy, c-format
msgid " CU offset: %6<PRIx64>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:4742
+#: src/readelf.c:4850
#, fuzzy, c-format
msgid " Address size: %6<PRIu64>\n"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:4746
+#: src/readelf.c:4854
#, fuzzy, c-format
msgid "unsupported address size"
msgstr "アドレス値ã§ã¯ã‚ã‚Šã¾ã›ã‚“"
-#: src/readelf.c:4751
+#: src/readelf.c:4859
#, fuzzy, c-format
msgid ""
" Segment size: %6<PRIu64>\n"
"\n"
msgstr " ファイルを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:4755
+#: src/readelf.c:4863
#, c-format
msgid "unsupported segment size"
msgstr ""
-#: src/readelf.c:4795
+#: src/readelf.c:4903
#, fuzzy, c-format
msgid " %s..%s (%<PRIx64>)\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:4798
+#: src/readelf.c:4906
#, fuzzy, c-format
msgid " %s..%s\n"
msgstr " [%6tx] %s..%s\n"
-#: src/readelf.c:4807
+#: src/readelf.c:4915
#, c-format
msgid " %zu padding bytes\n"
msgstr ""
-#: src/readelf.c:4825
+#: src/readelf.c:4933
#, c-format
msgid "cannot get .debug_ranges content: %s"
msgstr ".degub_ranges ã®å†…容を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:4855 src/readelf.c:6919
+#: src/readelf.c:4963 src/readelf.c:7027
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr " [%6tx] <ä¸å½“ãªãƒ‡ãƒ¼ã‚¿>\n"
-#: src/readelf.c:4877 src/readelf.c:6941
+#: src/readelf.c:4985 src/readelf.c:7049
#, c-format
msgid " [%6tx] base address %s\n"
msgstr " [%6tx] ベースアドレス %s\n"
-#: src/readelf.c:4884 src/readelf.c:6948
+#: src/readelf.c:4992 src/readelf.c:7056
#, fuzzy, c-format
msgid " [%6tx] empty list\n"
msgstr ""
"\n"
" [%6tx] ゼロ終端\n"
-#: src/readelf.c:4895
+#: src/readelf.c:5003
#, c-format
msgid " [%6tx] %s..%s\n"
msgstr " [%6tx] %s..%s\n"
-#: src/readelf.c:4897
+#: src/readelf.c:5005
#, c-format
msgid " %s..%s\n"
msgstr " %s..%s\n"
-#: src/readelf.c:5076
+#: src/readelf.c:5184
#, fuzzy
msgid " <INVALID DATA>\n"
msgstr " [%6tx] <ä¸å½“ãªãƒ‡ãƒ¼ã‚¿>\n"
-#: src/readelf.c:5385
+#: src/readelf.c:5493
#, fuzzy, c-format
msgid "cannot get ELF: %s"
msgstr "次㮠DIE を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:5402
+#: src/readelf.c:5510
#, c-format
msgid ""
"\n"
@@ -5342,7 +5425,7 @@ msgstr ""
"\n"
"オフセット %3$#<PRIx64> 㮠フレーム情報呼出ã—セクション [%1$2zu] '%2$s':\n"
-#: src/readelf.c:5452
+#: src/readelf.c:5560
#, c-format
msgid ""
"\n"
@@ -5351,50 +5434,50 @@ msgstr ""
"\n"
" [%6tx] ゼロ終端\n"
-#: src/readelf.c:5545 src/readelf.c:5700
+#: src/readelf.c:5653 src/readelf.c:5808
#, fuzzy, c-format
msgid "invalid augmentation length"
msgstr "ä¸å½“ãªæ‹¡å¤§ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰"
-#: src/readelf.c:5560
+#: src/readelf.c:5668
msgid "FDE address encoding: "
msgstr "FDE アドレスエンコード"
-#: src/readelf.c:5566
+#: src/readelf.c:5674
msgid "LSDA pointer encoding: "
msgstr "LSDA ãƒã‚¤ãƒ³ã‚¿ãƒ¼ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰:"
-#: src/readelf.c:5677
+#: src/readelf.c:5785
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:5684
+#: src/readelf.c:5792
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:5721
+#: src/readelf.c:5829
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr " %-26sLSDA ãƒã‚¤ãƒ³ã‚¿ãƒ¼: %#<PRIx64>\n"
-#: src/readelf.c:5776
+#: src/readelf.c:5884
#, c-format
msgid "cannot get attribute code: %s"
msgstr "属性コードを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:5785
+#: src/readelf.c:5893
#, c-format
msgid "cannot get attribute form: %s"
msgstr "属性様å¼ã‚’得られã¾ã›ã‚“: %s"
-#: src/readelf.c:5800
+#: src/readelf.c:5908
#, c-format
msgid "cannot get attribute value: %s"
msgstr "属性値を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:6099
+#: src/readelf.c:6207
#, c-format
msgid ""
"\n"
@@ -5405,7 +5488,7 @@ msgstr ""
"オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
" [オフセット]\n"
-#: src/readelf.c:6131
+#: src/readelf.c:6239
#, fuzzy, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5417,7 +5500,7 @@ msgstr ""
" ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %2$<PRIu16>ã€ç•¥èªžã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚ªãƒ•ã‚»ãƒƒãƒˆ: %3$<PRIu64>ã€ã‚¢ãƒ‰ãƒ¬ã‚¹ã®å¤§"
"ãã•: %4$<PRIu8>ã€ã‚ªãƒ•ã‚»ãƒƒãƒˆã®å¤§ãã•: %5$<PRIu8>\n"
-#: src/readelf.c:6140
+#: src/readelf.c:6248
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5428,35 +5511,35 @@ msgstr ""
" ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %2$<PRIu16>ã€ç•¥èªžã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚ªãƒ•ã‚»ãƒƒãƒˆ: %3$<PRIu64>ã€ã‚¢ãƒ‰ãƒ¬ã‚¹ã®å¤§"
"ãã•: %4$<PRIu8>ã€ã‚ªãƒ•ã‚»ãƒƒãƒˆã®å¤§ãã•: %5$<PRIu8>\n"
-#: src/readelf.c:6165
+#: src/readelf.c:6273
#, c-format
msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s"
msgstr ""
"セクション '%2$s' 㮠オフセット %1$<PRIu64> ã® DIE を得られã¾ã›ã‚“: %3$s"
-#: src/readelf.c:6179
+#: src/readelf.c:6287
#, c-format
msgid "cannot get DIE offset: %s"
msgstr "DIE オフセットを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:6188
+#: src/readelf.c:6296
#, c-format
msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s"
msgstr ""
"セクション '%2$s' 中ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆ %1$<PRIu64> ã® DIE ã®ã‚¿ã‚°ã‚’得られã¾ã›ã‚“: "
"%3$s"
-#: src/readelf.c:6220
+#: src/readelf.c:6328
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr "次㮠DIE を得られã¾ã›ã‚“: %s\n"
-#: src/readelf.c:6228
+#: src/readelf.c:6336
#, c-format
msgid "cannot get next DIE: %s"
msgstr "次㮠DIE を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:6264
+#: src/readelf.c:6372
#, fuzzy, c-format
msgid ""
"\n"
@@ -5466,12 +5549,12 @@ msgstr ""
"\n"
"オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
-#: src/readelf.c:6373
+#: src/readelf.c:6481
#, c-format
msgid "cannot get line data section data: %s"
msgstr "ラインデータセクションデータを得られã¾ã›ã‚“: %s"
-#: src/readelf.c:6443
+#: src/readelf.c:6551
#, fuzzy, c-format
msgid ""
"\n"
@@ -5499,18 +5582,18 @@ msgstr ""
"\n"
"命令コード:\n"
-#: src/readelf.c:6464
+#: src/readelf.c:6572
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
msgstr "セクション [%2$zu] '%3$s' 中ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆ %1$tu ã«ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/readelf.c:6479
+#: src/readelf.c:6587
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
msgstr[0] " [%*<PRIuFAST8>] %hhu パラメーター\n"
-#: src/readelf.c:6487
+#: src/readelf.c:6595
msgid ""
"\n"
"Directory table:"
@@ -5518,7 +5601,7 @@ msgstr ""
"\n"
"ディレクトリーテーブル:"
-#: src/readelf.c:6503
+#: src/readelf.c:6611
msgid ""
"\n"
"File name table:\n"
@@ -5528,7 +5611,7 @@ msgstr ""
"ファイルåテーブル:\n"
" Entry Dir 時刻 大ãã• åå‰"
-#: src/readelf.c:6538
+#: src/readelf.c:6646
msgid ""
"\n"
"Line number statements:"
@@ -5536,215 +5619,215 @@ msgstr ""
"\n"
"è¡Œ ç•ªå· æ–‡:"
-#: src/readelf.c:6589
+#: src/readelf.c:6697
#, c-format
msgid "invalid maximum operations per instruction is zero"
msgstr ""
-#: src/readelf.c:6625
+#: src/readelf.c:6733
#, fuzzy, c-format
msgid " special opcode %u: address+%u = %s, op_index = %u, line%+d = %zu\n"
msgstr " 特殊命令コード %u: アドレス+%u = %s, 行%+d = %zu\n"
-#: src/readelf.c:6630
+#: src/readelf.c:6738
#, c-format
msgid " special opcode %u: address+%u = %s, line%+d = %zu\n"
msgstr " 特殊命令コード %u: アドレス+%u = %s, 行%+d = %zu\n"
-#: src/readelf.c:6650
+#: src/readelf.c:6758
#, c-format
msgid " extended opcode %u: "
msgstr " 拡張命令コード %u: "
-#: src/readelf.c:6655
+#: src/readelf.c:6763
#, fuzzy
msgid " end of sequence"
msgstr "列ã®çµ‚ã‚ã‚Š"
-#: src/readelf.c:6674
+#: src/readelf.c:6782
#, fuzzy, c-format
msgid " set address to %s\n"
msgstr "アドレスを %s ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:6701
+#: src/readelf.c:6809
#, 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:6714
+#: src/readelf.c:6822
#, fuzzy, c-format
msgid " set discriminator to %u\n"
msgstr "カラムを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:6719
+#: src/readelf.c:6827
#, fuzzy
msgid " unknown opcode"
msgstr "ä¸æ˜Žãªå‘½ä»¤ã‚³ãƒ¼ãƒ‰"
-#: src/readelf.c:6731
+#: src/readelf.c:6839
msgid " copy"
msgstr "複写"
-#: src/readelf.c:6742
+#: src/readelf.c:6850
#, fuzzy, c-format
msgid " advance address by %u to %s, op_index to %u\n"
msgstr "アドレスを %u ã ã‘進ã‚㦠%s ã«ã™ã‚‹\n"
-#: src/readelf.c:6746
+#: src/readelf.c:6854
#, fuzzy, c-format
msgid " advance address by %u to %s\n"
msgstr "アドレスを %u ã ã‘進ã‚㦠%s ã«ã™ã‚‹\n"
-#: src/readelf.c:6757
+#: src/readelf.c:6865
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr "行を定数 %d ã ã‘進ã‚㦠%<PRId64> ã«ã™ã‚‹\n"
-#: src/readelf.c:6765
+#: src/readelf.c:6873
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr " ファイルを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:6775
+#: src/readelf.c:6883
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr "カラムを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:6782
+#: src/readelf.c:6890
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr " '%s' ã‚’ %<PRIuFAST8> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:6788
+#: src/readelf.c:6896
msgid " set basic block flag"
msgstr "基本ブロックフラグを設定ã™ã‚‹"
-#: src/readelf.c:6801
+#: src/readelf.c:6909
#, fuzzy, c-format
msgid " advance address by constant %u to %s, op_index to %u\n"
msgstr "アドレスを定数 %u ã ã‘済ã‚㦠%s ã«ã™ã‚‹\n"
-#: src/readelf.c:6805
+#: src/readelf.c:6913
#, fuzzy, c-format
msgid " advance address by constant %u to %s\n"
msgstr "アドレスを定数 %u ã ã‘済ã‚㦠%s ã«ã™ã‚‹\n"
-#: src/readelf.c:6823
+#: src/readelf.c:6931
#, fuzzy, c-format
msgid " advance address by fixed value %u to %s\n"
msgstr "アドレスを固定値 %u ã ã‘進ã‚㦠%s ã«ã™ã‚‹\n"
-#: src/readelf.c:6832
+#: src/readelf.c:6940
msgid " set prologue end flag"
msgstr "プロローグ終了フラグを設定ã™ã‚‹"
-#: src/readelf.c:6837
+#: src/readelf.c:6945
msgid " set epilogue begin flag"
msgstr "エピローグ開始フラグを設定ã™ã‚‹"
-#: src/readelf.c:6846
+#: src/readelf.c:6954
#, fuzzy, c-format
msgid " set isa to %u\n"
msgstr " ファイルを %<PRIu64> ã«è¨­å®šã™ã‚‹\n"
-#: src/readelf.c:6855
+#: src/readelf.c:6963
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
msgstr[0] " %<PRIu8> 個ã®ãƒ‘ラメーターã®ã‚ã‚‹ä¸æ˜Žãªå‘½ä»¤ã‚³ãƒ¼ãƒ‰:"
-#: src/readelf.c:6887
+#: src/readelf.c:6995
#, c-format
msgid "cannot get .debug_loc content: %s"
msgstr ".debug_loc ã®å†…容を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:6962
+#: src/readelf.c:7070
#, c-format
msgid " [%6tx] %s..%s"
msgstr " [%6tx] %s..%s"
-#: src/readelf.c:6964
+#: src/readelf.c:7072
#, c-format
msgid " %s..%s"
msgstr " %s..%s"
-#: src/readelf.c:6971 src/readelf.c:7859
+#: src/readelf.c:7079 src/readelf.c:7967
#, fuzzy
msgid " <INVALID DATA>\n"
msgstr " [%6tx] <ä¸å½“ãªãƒ‡ãƒ¼ã‚¿>\n"
-#: src/readelf.c:7023 src/readelf.c:7185
+#: src/readelf.c:7131 src/readelf.c:7293
#, c-format
msgid "cannot get macro information section data: %s"
msgstr "マクロ情報セクションã®ãƒ‡ãƒ¼ã‚¿ã‚’得られã¾ã›ã‚“: %s"
-#: src/readelf.c:7103
+#: src/readelf.c:7211
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr "%*s*** 最後ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®çµ‚端ã—ã¦ã„ãªã„文字列"
-#: src/readelf.c:7126
+#: src/readelf.c:7234
#, fuzzy, c-format
msgid "%*s*** missing DW_MACINFO_start_file argument at end of section"
msgstr "%*s*** 最後ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®çµ‚端ã—ã¦ã„ãªã„文字列"
-#: src/readelf.c:7226
+#: src/readelf.c:7334
#, fuzzy, c-format
msgid " Offset: 0x%<PRIx64>\n"
msgstr " 所有者 大ãã•\n"
-#: src/readelf.c:7238
+#: src/readelf.c:7346
#, fuzzy, c-format
msgid " Version: %<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:7244 src/readelf.c:7978
+#: src/readelf.c:7352 src/readelf.c:8086
#, c-format
msgid " unknown version, cannot parse section\n"
msgstr ""
-#: src/readelf.c:7251
+#: src/readelf.c:7359
#, fuzzy, c-format
msgid " Flag: 0x%<PRIx8>\n"
msgstr " å…¥å£ç‚¹ã‚¢ãƒ‰ãƒ¬ã‚¹ : %#<PRIx64>\n"
-#: src/readelf.c:7254
+#: src/readelf.c:7362
#, fuzzy, c-format
msgid " Offset length: %<PRIu8>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:7262
+#: src/readelf.c:7370
#, fuzzy, c-format
msgid " .debug_line offset: 0x%<PRIx64>\n"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:7275
+#: src/readelf.c:7383
#, fuzzy, c-format
msgid " extension opcode table, %<PRIu8> items:\n"
msgstr " %<PRIu8> 個ã®ãƒ‘ラメーターã®ã‚ã‚‹ä¸æ˜Žãªå‘½ä»¤ã‚³ãƒ¼ãƒ‰:"
-#: src/readelf.c:7282
+#: src/readelf.c:7390
#, c-format
msgid " [%<PRIx8>]"
msgstr ""
-#: src/readelf.c:7294
+#: src/readelf.c:7402
#, fuzzy, c-format
msgid " %<PRIu8> arguments:"
msgstr " [%*<PRIuFAST8>] %hhu パラメーター\n"
-#: src/readelf.c:7322
+#: src/readelf.c:7430
#, c-format
msgid " no arguments."
msgstr ""
-#: src/readelf.c:7559
+#: src/readelf.c:7667
#, c-format
msgid "vendor opcode not verified?"
msgstr ""
-#: src/readelf.c:7587
+#: src/readelf.c:7695
#, c-format
msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n"
msgstr ""
@@ -5752,7 +5835,7 @@ msgstr ""
# # "オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
# # " %4$*s 文字列\n" ãŒã‚¨ãƒ©ãƒ¼ã«ãªã‚‹ã®ã¯ä½•æ•…? å–ã‚Šæ•¢ãˆãš fuzzy扱ã„
-#: src/readelf.c:7628
+#: src/readelf.c:7736
#, fuzzy, c-format
msgid ""
"\n"
@@ -5763,12 +5846,12 @@ msgstr ""
"オフセット %3$#<PRIx64> 㮠DWARF セクション [%1$2zu] '%2$s':\n"
" %4$*s 文字列\n"
-#: src/readelf.c:7642
+#: src/readelf.c:7750
#, c-format
msgid " *** error while reading strings: %s\n"
msgstr " *** 文字列ã®èª­è¾¼ã¿ä¸­ã«ã‚¨ãƒ©ãƒ¼: %s\n"
-#: src/readelf.c:7662
+#: src/readelf.c:7770
#, c-format
msgid ""
"\n"
@@ -5777,7 +5860,7 @@ msgstr ""
"\n"
"呼出ã—フレーム検索テーブルセクション [%2zu] '.eh_frame_hdr':\n"
-#: src/readelf.c:7764
+#: src/readelf.c:7872
#, c-format
msgid ""
"\n"
@@ -5786,22 +5869,22 @@ msgstr ""
"\n"
"例外å–扱ã„テーブルセクション [%2zu] '.gcc_except_table':\n"
-#: src/readelf.c:7787
+#: src/readelf.c:7895
#, c-format
msgid " LPStart encoding: %#x "
msgstr " LPStart コード化: %#x "
-#: src/readelf.c:7799
+#: src/readelf.c:7907
#, c-format
msgid " TType encoding: %#x "
msgstr "TType コード化: %#x "
-#: src/readelf.c:7814
+#: src/readelf.c:7922
#, c-format
msgid " Call site encoding: %#x "
msgstr "呼出ã—サイトコード化: %#x "
-#: src/readelf.c:7827
+#: src/readelf.c:7935
msgid ""
"\n"
" Call site table:"
@@ -5809,7 +5892,7 @@ msgstr ""
"\n"
" 呼出ã—サイトテーブル:"
-#: src/readelf.c:7841
+#: src/readelf.c:7949
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -5822,12 +5905,12 @@ msgstr ""
" 離ç€é™¸å ´: %#<PRIx64>\n"
" 行動: %u\n"
-#: src/readelf.c:7914
+#: src/readelf.c:8022
#, c-format
msgid "invalid TType encoding"
msgstr "ä¸å½“㪠TType コード化"
-#: src/readelf.c:7940
+#: src/readelf.c:8048
#, fuzzy, c-format
msgid ""
"\n"
@@ -5837,37 +5920,37 @@ msgstr ""
"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
"ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:7969
+#: src/readelf.c:8077
#, fuzzy, c-format
msgid " Version: %<PRId32>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:7987
+#: src/readelf.c:8095
#, fuzzy, c-format
msgid " CU offset: %#<PRIx32>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:7994
+#: src/readelf.c:8102
#, fuzzy, c-format
msgid " TU offset: %#<PRIx32>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:8001
+#: src/readelf.c:8109
#, fuzzy, c-format
msgid " address offset: %#<PRIx32>\n"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:8008
+#: src/readelf.c:8116
#, fuzzy, c-format
msgid " symbol offset: %#<PRIx32>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:8015
+#: src/readelf.c:8123
#, fuzzy, c-format
msgid " constant offset: %#<PRIx32>\n"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:8029
+#: src/readelf.c:8137
#, fuzzy, c-format
msgid ""
"\n"
@@ -5877,7 +5960,7 @@ msgstr ""
"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
"ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:8054
+#: src/readelf.c:8162
#, fuzzy, c-format
msgid ""
"\n"
@@ -5887,7 +5970,7 @@ msgstr ""
"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
"ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:8083
+#: src/readelf.c:8191
#, fuzzy, c-format
msgid ""
"\n"
@@ -5897,7 +5980,7 @@ msgstr ""
"オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …"
"ç›®ãŒã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:8116
+#: src/readelf.c:8224
#, fuzzy, c-format
msgid ""
"\n"
@@ -5906,17 +5989,17 @@ msgstr ""
"\n"
"オフセット %#0<PRIx64> ã«ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«ãƒ†ãƒ¼ãƒ–ル\n"
-#: src/readelf.c:8203
+#: src/readelf.c:8311
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "デãƒãƒƒã‚°å†…容記述å­ã‚’得られã¾ã›ã‚“: %s"
-#: src/readelf.c:8361 src/readelf.c:8983 src/readelf.c:9094 src/readelf.c:9152
+#: src/readelf.c:8467 src/readelf.c:9089 src/readelf.c:9200 src/readelf.c:9258
#, c-format
msgid "cannot convert core note data: %s"
msgstr "コアノートデータã®å¤‰æ›ãŒã§ãã¾ã›ã‚“: %s"
-#: src/readelf.c:8724
+#: src/readelf.c:8830
#, c-format
msgid ""
"\n"
@@ -5925,21 +6008,21 @@ msgstr ""
"\n"
"%*s... < %u 回ã®ç¹°è¿”ã—> ..."
-#: src/readelf.c:9231
+#: src/readelf.c:9337
msgid " Owner Data size Type\n"
msgstr " 所有者 データ大ãã•ã‚¿ã‚¤ãƒ—\n"
-#: src/readelf.c:9249
+#: src/readelf.c:9355
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:9299
+#: src/readelf.c:9405
#, c-format
msgid "cannot get content of note section: %s"
msgstr "ノートセクションã®å†…容を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:9326
+#: src/readelf.c:9432
#, c-format
msgid ""
"\n"
@@ -5949,7 +6032,7 @@ msgstr ""
"オフセット %4$#0<PRIx64> ã® %3$<PRIu64> ãƒã‚¤ãƒˆã®ãƒŽãƒ¼ãƒˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%1$2zu] "
"'%2$s':\n"
-#: src/readelf.c:9349
+#: src/readelf.c:9455
#, c-format
msgid ""
"\n"
@@ -5958,7 +6041,7 @@ msgstr ""
"\n"
"オフセット %2$#0<PRIx64> ã® %1$<PRIu64> ãƒã‚¤ãƒˆã®ãƒŽãƒ¼ãƒˆã‚»ã‚°ãƒ¡ãƒ³ãƒˆ:\n"
-#: src/readelf.c:9395
+#: src/readelf.c:9501
#, fuzzy, c-format
msgid ""
"\n"
@@ -5967,12 +6050,12 @@ msgstr ""
"\n"
"セクション [%Zu] '%s' ã«ã¯ãƒ€ãƒ³ãƒ—ã™ã¹ãデータãŒã‚ã‚Šã¾ã›ã‚“。\n"
-#: src/readelf.c:9401 src/readelf.c:9424
+#: src/readelf.c:9518 src/readelf.c:9559
#, fuzzy, c-format
msgid "cannot get data for section [%zu] '%s': %s"
msgstr "セクション [%Zu] '%s' ã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ãŒå¾—られã¾ã›ã‚“: %s"
-#: src/readelf.c:9405
+#: src/readelf.c:9523
#, fuzzy, c-format
msgid ""
"\n"
@@ -5982,7 +6065,18 @@ msgstr ""
"オフセット %4$#0<PRIx64> ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%1$Zu] '%2$s' ã®16進ダン"
"プã€%3$<PRIu64> ãƒã‚¤ãƒˆ:\n"
-#: src/readelf.c:9418
+#: src/readelf.c:9528
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Hex dump of section [%zu] '%s', %<PRIu64> bytes (%zd uncompressed) at offset "
+"%#0<PRIx64>:\n"
+msgstr ""
+"\n"
+"オフセット %4$#0<PRIx64> ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%1$Zu] '%2$s' ã®16進ダン"
+"プã€%3$<PRIu64> ãƒã‚¤ãƒˆ:\n"
+
+#: src/readelf.c:9542
#, fuzzy, c-format
msgid ""
"\n"
@@ -5991,7 +6085,7 @@ msgstr ""
"\n"
"セクション [%Zu] '%s' ã«ã¯ãƒ€ãƒ³ãƒ—ã™ã¹ãデータãŒã‚ã‚Šã¾ã›ã‚“。\n"
-#: src/readelf.c:9428
+#: src/readelf.c:9564
#, fuzzy, c-format
msgid ""
"\n"
@@ -6001,7 +6095,18 @@ msgstr ""
"オフセット %4$#0<PRIx64> 文字列セクション [%1$Zu] '%2$s' ã«ã¯ %3$<PRIu64> ãƒ"
"イトã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:9476
+#: src/readelf.c:9569
+#, fuzzy, c-format
+msgid ""
+"\n"
+"String section [%zu] '%s' contains %<PRIu64> bytes (%zd uncompressed) at "
+"offset %#0<PRIx64>:\n"
+msgstr ""
+"\n"
+"オフセット %4$#0<PRIx64> 文字列セクション [%1$Zu] '%2$s' ã«ã¯ %3$<PRIu64> ãƒ"
+"イトã‚ã‚Šã¾ã™:\n"
+
+#: src/readelf.c:9618
#, c-format
msgid ""
"\n"
@@ -6010,7 +6115,7 @@ msgstr ""
"\n"
"セクション [%lu] ãŒã‚ã‚Šã¾ã›ã‚“"
-#: src/readelf.c:9505
+#: src/readelf.c:9647
#, c-format
msgid ""
"\n"
@@ -6019,12 +6124,12 @@ msgstr ""
"\n"
"セクション '%s' ãŒã‚ã‚Šã¾ã›ã‚“"
-#: src/readelf.c:9562
+#: src/readelf.c:9704
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr "アーカイブã®ã‚·ãƒ³ãƒœãƒ«ç´¢å¼• '%s' を得られã¾ã›ã‚“: %s"
-#: src/readelf.c:9565
+#: src/readelf.c:9707
#, c-format
msgid ""
"\n"
@@ -6033,7 +6138,7 @@ msgstr ""
"\n"
"アーカイブ '%s' ã«ã¯ã‚·ãƒ³ãƒœãƒ«ç´¢å¼•ãŒã‚ã‚Šã¾ã›ã‚“\n"
-#: src/readelf.c:9569
+#: src/readelf.c:9711
#, fuzzy, c-format
msgid ""
"\n"
@@ -6042,12 +6147,12 @@ msgstr ""
"\n"
"アーカイブ '%s' ã®ç´¢å¼•ã«ã¯ %Zu é …ç›®ã‚ã‚Šã¾ã™:\n"
-#: src/readelf.c:9587
+#: src/readelf.c:9729
#, fuzzy, c-format
msgid "cannot extract member at offset %zu in '%s': %s"
msgstr "'%2$s' 㮠オフセット %1$Zu ã®ãƒ¡ãƒ³ãƒãƒ¼ã‚’抽出ã§ãã¾ã›ã‚“: %3$s"
-#: src/readelf.c:9592
+#: src/readelf.c:9734
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "アーカイブメンãƒãƒ¼ '%s' ã«ã¯ä»¥ä¸‹ãŒã‚ã‚Šã¾ã™:\n"
@@ -6566,12 +6671,12 @@ msgstr ""
msgid "cannot copy ELF header: %s"
msgstr ""
-#: src/unstrip.c:261 src/unstrip.c:1903 src/unstrip.c:1947
+#: src/unstrip.c:261 src/unstrip.c:1939 src/unstrip.c:1982
#, fuzzy, c-format
msgid "cannot get number of program headers: %s"
msgstr "セクション数を決定ã§ãã¾ã›ã‚“: %s"
-#: src/unstrip.c:266 src/unstrip.c:1907
+#: src/unstrip.c:266 src/unstrip.c:1943
#, c-format
msgid "cannot create program headers: %s"
msgstr ""
@@ -6586,12 +6691,12 @@ msgstr ""
msgid "cannot copy section header: %s"
msgstr ""
-#: src/unstrip.c:285 src/unstrip.c:1541
+#: src/unstrip.c:285 src/unstrip.c:1576
#, c-format
msgid "cannot get section data: %s"
msgstr ""
-#: src/unstrip.c:287 src/unstrip.c:1543
+#: src/unstrip.c:287 src/unstrip.c:1578
#, c-format
msgid "cannot copy section data: %s"
msgstr ""
@@ -6601,214 +6706,214 @@ msgstr ""
msgid "cannot create directory '%s'"
msgstr ""
-#: src/unstrip.c:351 src/unstrip.c:768 src/unstrip.c:1575
+#: src/unstrip.c:383 src/unstrip.c:803 src/unstrip.c:1610
#, c-format
msgid "cannot get symbol table entry: %s"
msgstr ""
-#: src/unstrip.c:367 src/unstrip.c:585 src/unstrip.c:606 src/unstrip.c:618
-#: src/unstrip.c:1596 src/unstrip.c:1769 src/unstrip.c:1793
+#: src/unstrip.c:399 src/unstrip.c:620 src/unstrip.c:641 src/unstrip.c:653
+#: src/unstrip.c:1631 src/unstrip.c:1805 src/unstrip.c:1829
#, c-format
msgid "cannot update symbol table: %s"
msgstr ""
-#: src/unstrip.c:377
+#: src/unstrip.c:409
#, c-format
msgid "cannot update section header: %s"
msgstr ""
-#: src/unstrip.c:416 src/unstrip.c:427
+#: src/unstrip.c:448 src/unstrip.c:459
#, c-format
msgid "cannot update relocation: %s"
msgstr ""
-#: src/unstrip.c:514
+#: src/unstrip.c:547
#, c-format
msgid "cannot get symbol version: %s"
msgstr ""
-#: src/unstrip.c:526
+#: src/unstrip.c:560
#, c-format
msgid "unexpected section type in [%zu] with sh_link to symtab"
msgstr ""
-#: src/unstrip.c:774
+#: src/unstrip.c:809
#, fuzzy, c-format
msgid "invalid string offset in symbol [%zu]"
msgstr "シンボル %2$sã®ä¸æ­£ãªã‚ªãƒ•ã‚»ãƒƒãƒˆ %1$zu "
-#: src/unstrip.c:932 src/unstrip.c:1278
+#: src/unstrip.c:967 src/unstrip.c:1313
#, fuzzy, c-format
msgid "cannot read section [%zu] name: %s"
msgstr "セクションデータを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s"
-#: src/unstrip.c:973 src/unstrip.c:992 src/unstrip.c:1027
+#: src/unstrip.c:1008 src/unstrip.c:1027 src/unstrip.c:1062
#, c-format
msgid "cannot read '.gnu.prelink_undo' section: %s"
msgstr ""
-#: src/unstrip.c:1013
+#: src/unstrip.c:1048
#, c-format
msgid "invalid contents in '%s' section"
msgstr ""
-#: src/unstrip.c:1019
+#: src/unstrip.c:1054
#, c-format
msgid "overflow with shnum = %zu in '%s' section"
msgstr ""
-#: src/unstrip.c:1073 src/unstrip.c:1398
+#: src/unstrip.c:1108 src/unstrip.c:1433
#, fuzzy, c-format
msgid "cannot find matching section for [%zu] '%s'"
msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿"
-#: src/unstrip.c:1198 src/unstrip.c:1213 src/unstrip.c:1479 src/unstrip.c:1731
+#: src/unstrip.c:1233 src/unstrip.c:1248 src/unstrip.c:1514 src/unstrip.c:1766
#, c-format
msgid "cannot add section name to string table: %s"
msgstr ""
-#: src/unstrip.c:1222
+#: src/unstrip.c:1257
#, c-format
msgid "cannot update section header string table data: %s"
msgstr ""
-#: src/unstrip.c:1249 src/unstrip.c:1253
+#: src/unstrip.c:1284 src/unstrip.c:1288
#, c-format
msgid "cannot get section header string table section index: %s"
msgstr ""
-#: src/unstrip.c:1257 src/unstrip.c:1261 src/unstrip.c:1494
+#: src/unstrip.c:1292 src/unstrip.c:1296 src/unstrip.c:1529
#, c-format
msgid "cannot get section count: %s"
msgstr ""
-#: src/unstrip.c:1264
+#: src/unstrip.c:1299
#, c-format
msgid "more sections in stripped file than debug file -- arguments reversed?"
msgstr ""
-#: src/unstrip.c:1323 src/unstrip.c:1413
+#: src/unstrip.c:1358 src/unstrip.c:1448
#, c-format
msgid "cannot read section header string table: %s"
msgstr ""
-#: src/unstrip.c:1473
+#: src/unstrip.c:1508
#, c-format
msgid "cannot add new section: %s"
msgstr ""
-#: src/unstrip.c:1583
+#: src/unstrip.c:1618
#, fuzzy, c-format
msgid "symbol [%zu] has invalid section index"
msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³ç´¢å¼•"
-#: src/unstrip.c:1864
+#: src/unstrip.c:1900
#, fuzzy, c-format
msgid "cannot read section data: %s"
msgstr "セクションデータを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s"
-#: src/unstrip.c:1885
+#: src/unstrip.c:1921
#, c-format
msgid "cannot get ELF header: %s"
msgstr ""
-#: src/unstrip.c:1917
+#: src/unstrip.c:1953
#, c-format
msgid "cannot update program header: %s"
msgstr ""
-#: src/unstrip.c:1922 src/unstrip.c:2005
+#: src/unstrip.c:1958 src/unstrip.c:2040
#, c-format
msgid "cannot write output file: %s"
msgstr ""
-#: src/unstrip.c:1974
+#: src/unstrip.c:2009
#, c-format
msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
msgstr ""
-#: src/unstrip.c:1977
+#: src/unstrip.c:2012
#, c-format
msgid ""
"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
msgstr ""
-#: src/unstrip.c:1996 src/unstrip.c:2047 src/unstrip.c:2059 src/unstrip.c:2145
+#: src/unstrip.c:2031 src/unstrip.c:2082 src/unstrip.c:2094 src/unstrip.c:2180
#, c-format
msgid "cannot create ELF descriptor: %s"
msgstr ""
-#: src/unstrip.c:2038
+#: src/unstrip.c:2073
msgid "WARNING: "
msgstr ""
-#: src/unstrip.c:2040
+#: src/unstrip.c:2075
msgid ", use --force"
msgstr ""
-#: src/unstrip.c:2063
+#: src/unstrip.c:2098
msgid "ELF header identification (e_ident) different"
msgstr ""
-#: src/unstrip.c:2066
+#: src/unstrip.c:2101
msgid "ELF header type (e_type) different"
msgstr ""
-#: src/unstrip.c:2069
+#: src/unstrip.c:2104
msgid "ELF header machine type (e_machine) different"
msgstr ""
-#: src/unstrip.c:2072
+#: src/unstrip.c:2107
msgid "stripped program header (e_phnum) smaller than unstripped"
msgstr ""
-#: src/unstrip.c:2102
+#: src/unstrip.c:2137
#, c-format
msgid "cannot find stripped file for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2106
+#: src/unstrip.c:2141
#, c-format
msgid "cannot open stripped file '%s' for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2121
+#: src/unstrip.c:2156
#, c-format
msgid "cannot find debug file for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2125
+#: src/unstrip.c:2160
#, c-format
msgid "cannot open debug file '%s' for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2138
+#: src/unstrip.c:2173
#, c-format
msgid "module '%s' file '%s' is not stripped"
msgstr ""
-#: src/unstrip.c:2169
+#: src/unstrip.c:2204
#, c-format
msgid "cannot cache section addresses for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2302
+#: src/unstrip.c:2337
#, c-format
msgid "no matching modules found"
msgstr ""
-#: src/unstrip.c:2311
+#: src/unstrip.c:2346
#, c-format
msgid "matched more than one module"
msgstr ""
-#: src/unstrip.c:2355
+#: src/unstrip.c:2390
msgid ""
"STRIPPED-FILE DEBUG-FILE\n"
"[MODULE...]"
msgstr ""
-#: src/unstrip.c:2356
+#: src/unstrip.c:2391
msgid ""
"Combine stripped files with separate symbols and debug information.\vThe "
"first form puts the result in DEBUG-FILE if -o was not given.\n"
diff --git a/po/pl.po b/po/pl.po
index 50eff021..66c4f59f 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -1,13 +1,13 @@
# translation of pl.po to Polish
# Jakub Bogusz <qboosh@pld-linux.org>, 2003-2007.
-# Piotr DrÄ…g <piotrdrag@gmail.com>, 2010-2015.
+# Piotr DrÄ…g <piotrdrag@gmail.com>, 2010-2016.
#
msgid ""
msgstr ""
"Project-Id-Version: elfutils\n"
"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-10-16 13:26+0200\n"
-"PO-Revision-Date: 2015-06-13 15:32+0200\n"
+"POT-Creation-Date: 2016-01-11 08:48+0100\n"
+"PO-Revision-Date: 2016-01-07 15:44+0100\n"
"Last-Translator: Piotr DrÄ…g <piotrdrag@gmail.com>\n"
"Language-Team: Polish <trans-pl@lists.fedoraproject.org>\n"
"Language: pl\n"
@@ -21,8 +21,8 @@ msgstr ""
msgid ""
"colorize the output. WHEN defaults to 'always' or can be 'auto' or 'never'"
msgstr ""
-"koloruje wyjście. WHEN domyślnie wynosi \"always\" lub może wynosić \"auto\" "
-"lub \"never\""
+"koloruje wyjście. WHEN domyślnie wynosi „always†lub może wynosić „auto†lub "
+"„neverâ€"
#: lib/color.c:127
#, c-format
@@ -33,19 +33,19 @@ msgid ""
" - 'never', 'no', 'none'\n"
" - 'auto', 'tty', 'if-tty'\n"
msgstr ""
-"%s: nieprawidłowy parametr \"%s\" dla \"--color\"\n"
+"%s: nieprawidÅ‚owy parametr „%s†dla „--colorâ€\n"
"prawidłowe parametry:\n"
-" - \"always\", \"yes\", \"force\"\n"
-" - \"never\", \"no\", \"none\"\n"
-" - \"auto\", \"tty\", \"if-tty\"\n"
+" • „alwaysâ€, „yesâ€, „forceâ€\n"
+" • „neverâ€, „noâ€, „noneâ€\n"
+" • „autoâ€, „ttyâ€, „if-ttyâ€\n"
#: lib/color.c:190 src/objdump.c:738
#, c-format
msgid "cannot allocate memory"
msgstr "nie można przydzielić pamięci"
-#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3184
-#: src/readelf.c:3561 src/readelf.c:8310 src/unstrip.c:2198 src/unstrip.c:2403
+#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3282
+#: src/readelf.c:3669 src/readelf.c:8416 src/unstrip.c:2233 src/unstrip.c:2438
#, c-format
msgid "memory exhausted"
msgstr "pamięć wyczerpana"
@@ -121,7 +121,7 @@ msgstr "brak informacji DWARF"
#: libdw/dwarf_error.c:65
msgid "cannot decompress DWARF"
-msgstr "nie można zdekompresować DWARF"
+msgstr "nie można dekompresować DWARF"
#: libdw/dwarf_error.c:66
msgid "no ELF file"
@@ -247,7 +247,7 @@ msgstr "nieprawidłowa instrukcja"
msgid "not a CU (unit) DIE"
msgstr "nie jest CU (jednostkÄ…) DIE"
-#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2345
+#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2380
msgid "Input selection options:"
msgstr "Opcje wyboru wejścia:"
@@ -304,7 +304,11 @@ msgstr "nie można odnaleźć jądra lub modułów"
msgid "cannot read ELF core file: %s"
msgstr "nie można odczytać pliku core ELF: %s"
-#: libdwfl/argp-std.c:311
+#: libdwfl/argp-std.c:313
+msgid "Not enough memory"
+msgstr "Za mało pamięci"
+
+#: libdwfl/argp-std.c:323
msgid "No modules recognized in core file"
msgstr "Nie rozpoznano żadnych modułów w pliku core"
@@ -476,57 +480,57 @@ msgstr "<nieznany>"
msgid "<unknown>: %#<PRIx64>"
msgstr "<nieznany>: %#<PRIx64>"
-#: libebl/eblobjnote.c:52
+#: libebl/eblobjnote.c:53
#, c-format
msgid "unknown SDT version %u\n"
msgstr "nieznana wersja SDT %u\n"
-#: libebl/eblobjnote.c:70
+#: libebl/eblobjnote.c:71
#, c-format
msgid "invalid SDT probe descriptor\n"
msgstr "nieprawidłowy deskryptor sondy SDT\n"
-#: libebl/eblobjnote.c:120
+#: libebl/eblobjnote.c:121
#, c-format
msgid " PC: "
msgstr " PC: "
-#: libebl/eblobjnote.c:122
+#: libebl/eblobjnote.c:123
#, c-format
msgid " Base: "
msgstr " Podstawa: "
-#: libebl/eblobjnote.c:124
+#: libebl/eblobjnote.c:125
#, c-format
msgid " Semaphore: "
msgstr " Semafor: "
-#: libebl/eblobjnote.c:126
+#: libebl/eblobjnote.c:127
#, c-format
msgid " Provider: "
msgstr " Dostawca: "
-#: libebl/eblobjnote.c:128
+#: libebl/eblobjnote.c:129
#, c-format
msgid " Name: "
msgstr " Nazwa: "
-#: libebl/eblobjnote.c:130
+#: libebl/eblobjnote.c:131
#, c-format
msgid " Args: "
msgstr " Parametry: "
-#: libebl/eblobjnote.c:140
+#: libebl/eblobjnote.c:141
#, c-format
msgid " Build ID: "
msgstr " Identyfikator kopii: "
-#: libebl/eblobjnote.c:151
+#: libebl/eblobjnote.c:152
#, c-format
msgid " Linker version: %.*s\n"
msgstr " Wersja konsolidatora: %.*s\n"
-#: libebl/eblobjnote.c:212
+#: libebl/eblobjnote.c:213
#, c-format
msgid " OS: %s, ABI: "
msgstr " System operacyjny: %s, ABI: "
@@ -550,7 +554,7 @@ msgstr "nieznany typ"
#: libelf/elf_error.c:75
msgid "invalid `Elf' handle"
-msgstr "nieprawidłowa obsługa \"Elf\""
+msgstr "nieprawidÅ‚owa obsÅ‚uga „Elfâ€"
#: libelf/elf_error.c:79
msgid "invalid size of source operand"
@@ -560,7 +564,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:5365
+#: libelf/elf_error.c:87 src/readelf.c:5473
#, c-format
msgid "invalid encoding"
msgstr "nieprawidłowe kodowanie"
@@ -641,8 +645,8 @@ msgstr "dane/scn nie zgadzajÄ… siÄ™"
msgid "invalid section header"
msgstr "nieprawidłowy nagłówek sekcji"
-#: libelf/elf_error.c:187 src/readelf.c:7234 src/readelf.c:7682
-#: src/readelf.c:7783 src/readelf.c:7964
+#: libelf/elf_error.c:187 src/readelf.c:7342 src/readelf.c:7790
+#: src/readelf.c:7891 src/readelf.c:8072
#, c-format
msgid "invalid data"
msgstr "nieprawidłowe dane"
@@ -653,7 +657,7 @@ msgstr "nieznane kodowanie danych"
#: libelf/elf_error.c:195
msgid "section `sh_size' too small for data"
-msgstr "sekcja \"sh_size\" jest za mała dla danych"
+msgstr "sekcja „sh_size†jest za mała dla danych"
#: libelf/elf_error.c:199
msgid "invalid section alignment"
@@ -686,6 +690,34 @@ msgstr ""
msgid "file has no program header"
msgstr "plik nie posiada nagłówków programu"
+#: libelf/elf_error.c:237
+msgid "invalid section type"
+msgstr "nieprawidłowy typ sekcji"
+
+#: libelf/elf_error.c:242
+msgid "invalid section flags"
+msgstr "nieprawidłowe flagi sekcji"
+
+#: libelf/elf_error.c:247
+msgid "section does not contain compressed data"
+msgstr "sekcja nie zawiera skompresowanych danych"
+
+#: libelf/elf_error.c:252
+msgid "section contains compressed data"
+msgstr "sekcja zawiera skompresowane dane"
+
+#: libelf/elf_error.c:257
+msgid "unknown compression type"
+msgstr "nieznany typ kompresji"
+
+#: libelf/elf_error.c:262
+msgid "cannot compress data"
+msgstr "nie można kompresować danych"
+
+#: libelf/elf_error.c:267
+msgid "cannot decompress data"
+msgstr "nie można dekompresować danych"
+
#: src/addr2line.c:58
msgid "Input format options:"
msgstr "Opcje formatowania wejścia:"
@@ -743,7 +775,7 @@ msgstr ""
msgid "Print all information on one line, and indent inlines"
msgstr "Wyświetla wszystkie informacje w jednym wierszy i wyrównuje wstawki"
-#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:99
+#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:100
#: src/strings.c:79
msgid "Miscellaneous:"
msgstr "Różne:"
@@ -757,11 +789,11 @@ msgstr ""
#: src/addr2line.c:91
msgid "[ADDR...]"
-msgstr "[ADRES...]"
+msgstr "[ADRES…]"
-#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:670 src/elflint.c:235
-#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:261 src/objdump.c:177
-#: src/ranlib.c:124 src/readelf.c:500 src/size.c:207 src/strings.c:230
+#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:672 src/elflint.c:235
+#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:262 src/objdump.c:177
+#: src/ranlib.c:124 src/readelf.c:509 src/size.c:207 src/strings.c:230
#: src/strip.c:218 src/unstrip.c:232
#, c-format
msgid ""
@@ -769,15 +801,15 @@ msgid ""
"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"
msgstr ""
-"Copyright (C) %s Red Hat, Inc.\n"
+"Copyright © %s Red Hat, Inc.\n"
"Niniejszy program jest wolnym oprogramowaniem; proszę zobaczyć kod źródłowy\n"
"w celu poznania warunków kopiowania. Niniejszy program rozprowadzany jest\n"
"BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyślnej gwarancji PRZYDATNOŚCI\n"
"HANDLOWEJ albo PRZYDATNOŚCI DO OKREŚLONYCH ZASTOSOWAŃ.\n"
-#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:675 src/elflint.c:240
-#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:266 src/objdump.c:182
-#: src/ranlib.c:129 src/readelf.c:505 src/size.c:212 src/strings.c:235
+#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:677 src/elflint.c:240
+#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:267 src/objdump.c:182
+#: src/ranlib.c:129 src/readelf.c:514 src/size.c:212 src/strings.c:235
#: src/strip.c:223 src/unstrip.c:237
#, c-format
msgid "Written by %s.\n"
@@ -791,17 +823,17 @@ msgstr "Składnia sekcji wymaga dokładnie jednego modułu"
#: src/addr2line.c:556
#, c-format
msgid "offset %#<PRIxMAX> lies outside section '%s'"
-msgstr "offset %#<PRIxMAX> leży poza sekcją \"%s\""
+msgstr "offset %#<PRIxMAX> leży poza sekcjÄ… „%sâ€"
#: src/addr2line.c:645
#, c-format
msgid "cannot find symbol '%s'"
-msgstr "nie można odnaleźć symbolu \"%s\""
+msgstr "nie można odnaleźć symbolu „%sâ€"
#: src/addr2line.c:650
#, c-format
msgid "offset %#<PRIxMAX> lies outside contents of '%s'"
-msgstr "offset %#<PRIxMAX> leży poza zawartością \"%s\""
+msgstr "offset %#<PRIxMAX> leży poza zawartoÅ›ciÄ… „%sâ€"
#: src/ar.c:68
msgid "Commands:"
@@ -893,22 +925,22 @@ msgstr "Tworzenie, modyfikowanie i wypakowywanie archiwów."
#: src/ar.c:102
msgid "[MEMBER] [COUNT] ARCHIVE [FILE...]"
-msgstr "[ELEMENT] [LICZNIK] ARCHIWUM [PLIK...]"
+msgstr "[ELEMENT] [LICZNIK] ARCHIWUM [PLIK…]"
#: src/ar.c:181
#, c-format
msgid "'a', 'b', and 'i' are only allowed with the 'm' and 'r' options"
-msgstr "\"a\", \"b\" i \"i\" sÄ… dozwolone tylko z opcjami \"m\" i \"r\""
+msgstr "„aâ€, „b†i „i†sÄ… dozwolone tylko z opcjami „m†i „râ€"
#: src/ar.c:186
#, c-format
msgid "MEMBER parameter required for 'a', 'b', and 'i' modifiers"
-msgstr "parametr ELEMENT jest wymagany dla modyfikatorów \"a\", \"b\" i \"i\""
+msgstr "parametr ELEMENT jest wymagany dla modyfikatorów „aâ€, „b†i „iâ€"
#: src/ar.c:202
#, c-format
msgid "'N' is only meaningful with the 'x' and 'd' options"
-msgstr "\"N\" ma znaczenie tylko z opcjami \"x\" i \"d\""
+msgstr "„N†ma znaczenie tylko z opcjami „x†i „dâ€"
#: src/ar.c:207
#, c-format
@@ -923,7 +955,7 @@ msgstr "nieprawidłowy parametr LICZNIK %s"
#: src/ar.c:226
#, c-format
msgid "'%c' is only meaningful with the 'x' option"
-msgstr "\"%c\" ma znaczenie tylko z opcjÄ… \"x\""
+msgstr "„%c†ma znaczenie tylko z opcjÄ… „xâ€"
#: src/ar.c:232
#, c-format
@@ -943,12 +975,12 @@ msgstr "Podano więcej niż jedno działanie"
#: src/ar.c:404
#, c-format
msgid "cannot open archive '%s'"
-msgstr "nie można otworzyć archiwum \"%s\""
+msgstr "nie można otworzyć archiwum „%sâ€"
#: src/ar.c:414
#, c-format
msgid "cannot open archive '%s': %s"
-msgstr "nie można otworzyć archiwum \"%s\": %s"
+msgstr "nie można otworzyć archiwum „%sâ€: %s"
#: src/ar.c:418
#, c-format
@@ -958,7 +990,7 @@ msgstr "%s: nie jest plikiem archiwum"
#: src/ar.c:422
#, c-format
msgid "cannot stat archive '%s'"
-msgstr "nie można wykonać stat na archiwum \"%s\""
+msgstr "nie można wykonać stat na archiwum „%sâ€"
#: src/ar.c:434
#, c-format
@@ -978,7 +1010,7 @@ msgstr "nie można umieścić w tabeli mieszającej"
#: src/ar.c:502 src/ranlib.c:164
#, c-format
msgid "cannot stat '%s'"
-msgstr "nie można wykonać stat na \"%s\""
+msgstr "nie można wykonać stat na „%sâ€"
#: src/ar.c:598
#, c-format
@@ -1066,7 +1098,7 @@ msgstr "%s (domyślnie)"
#: src/arlib.c:209
#, c-format
msgid "the archive '%s' is too large"
-msgstr "archiwum \"%s\" jest za duże"
+msgstr "archiwum „%s†jest za duże"
#: src/arlib.c:222
#, c-format
@@ -1116,7 +1148,7 @@ msgstr "Nieprawidłowa liczba parametrów.\n"
#: src/elfcmp.c:174 src/elfcmp.c:179
#, c-format
msgid "cannot get ELF header of '%s': %s"
-msgstr "nie można uzyskać nagłówka ELF \"%s\": %s"
+msgstr "nie można uzyskać nagłówka ELF „%sâ€: %s"
#: src/elfcmp.c:205
#, c-format
@@ -1126,7 +1158,7 @@ msgstr "%s %s różnią się: nagłówek ELF"
#: src/elfcmp.c:212 src/elfcmp.c:215
#, c-format
msgid "cannot get section count of '%s': %s"
-msgstr "nie można uzyskać licznika sekcji \"%s\": %s"
+msgstr "nie można uzyskać licznika sekcji „%sâ€: %s"
#: src/elfcmp.c:220
#, c-format
@@ -1136,7 +1168,7 @@ msgstr "%s %s różnią się: licznik sekcji"
#: src/elfcmp.c:227 src/elfcmp.c:230
#, c-format
msgid "cannot get program header count of '%s': %s"
-msgstr "nie można uzyskać licznika nagłówka programu \"%s\": %s"
+msgstr "nie można uzyskać licznika nagłówka programu „%sâ€: %s"
#: src/elfcmp.c:235
#, c-format
@@ -1151,22 +1183,22 @@ msgstr "%s %s różnią się: nazwa sekcji [%zu], [%zu]"
#: src/elfcmp.c:316
#, c-format
msgid "%s %s differ: section [%zu] '%s' header"
-msgstr "%s %s różnią się: nagłówek sekcji [%zu] \"%s\""
+msgstr "%s %s różniÄ… siÄ™: nagłówek sekcji [%zu] „%sâ€"
#: src/elfcmp.c:324 src/elfcmp.c:330
#, c-format
msgid "cannot get content of section %zu in '%s': %s"
-msgstr "nie można uzyskać zawartości sekcji %zu w \"%s\": %s"
+msgstr "nie można uzyskać zawartoÅ›ci sekcji %zu w „%sâ€: %s"
#: src/elfcmp.c:339
#, c-format
msgid "symbol table [%zu] in '%s' has zero sh_entsize"
-msgstr "tabela symboli [%zu] w \"%s\" posiada zerowe sh_entsize"
+msgstr "tabela symboli [%zu] w „%s†posiada zerowe sh_entsize"
#: src/elfcmp.c:351 src/elfcmp.c:357
#, c-format
msgid "cannot get symbol in '%s': %s"
-msgstr "nie można uzyskać symbolu w \"%s\": %s"
+msgstr "nie można uzyskać symbolu w „%sâ€: %s"
#: src/elfcmp.c:379
#, c-format
@@ -1181,22 +1213,22 @@ msgstr "%s %s różnią się: tabela symboli [%zu,%zu]"
#: src/elfcmp.c:428 src/elfcmp.c:497
#, c-format
msgid "%s %s differ: section [%zu] '%s' number of notes"
-msgstr "%s %s różnią się: liczba notatek sekcji [%zu] \"%s\""
+msgstr "%s %s różniÄ… siÄ™: liczba notatek sekcji [%zu] „%sâ€"
#: src/elfcmp.c:436
#, c-format
msgid "cannot read note section [%zu] '%s' in '%s': %s"
-msgstr "nie można odczytać notatki sekcji [%zu] \"%s\" w \"%s\": %s"
+msgstr "nie można odczytać notatki sekcji [%zu] „%s†w „%sâ€: %s"
#: src/elfcmp.c:446
#, c-format
msgid "%s %s differ: section [%zu] '%s' note name"
-msgstr "%s %s różnią się: nazwa notatki sekcji [%zu] \"%s\""
+msgstr "%s %s różniÄ… siÄ™: nazwa notatki sekcji [%zu] „%sâ€"
#: src/elfcmp.c:454
#, c-format
msgid "%s %s differ: section [%zu] '%s' note '%s' type"
-msgstr "%s %s różnią się: sekcja [%zu] \"%s\" notatka \"%s\" typ"
+msgstr "%s %s różnią się: sekcja [%zu] „%s†notatka „%s†typ"
#: src/elfcmp.c:469
#, c-format
@@ -1211,17 +1243,17 @@ msgstr "%s %s różnią się: zawartość identyfikatora kopii"
#: src/elfcmp.c:486
#, c-format
msgid "%s %s differ: section [%zu] '%s' note '%s' content"
-msgstr "%s %s różnią się: sekcja [%zu] \"%s\" notatka \"%s\" zawartość"
+msgstr "%s %s różnią się: sekcja [%zu] „%s†notatka „%s†zawartość"
#: src/elfcmp.c:527
#, c-format
msgid "%s %s differ: section [%zu] '%s' content"
-msgstr "%s %s różnią się: zawartość sekcji [%zu] \"%s\""
+msgstr "%s %s różniÄ… siÄ™: zawartość sekcji [%zu] „%sâ€"
#: src/elfcmp.c:531
#, c-format
msgid "%s %s differ: section [%zu,%zu] '%s' content"
-msgstr "%s %s różnią się: zawartość sekcji [%zu,%zu] \"%s\""
+msgstr "%s %s różniÄ… siÄ™: zawartość sekcji [%zu,%zu] „%sâ€"
#: src/elfcmp.c:546
#, c-format
@@ -1231,12 +1263,12 @@ msgstr "%s %s różnią się: różna liczba ważnych sekcji"
#: src/elfcmp.c:579 src/elfcmp.c:584
#, c-format
msgid "cannot load data of '%s': %s"
-msgstr "nie można wczytać danych z \"%s\": %s"
+msgstr "nie można wczytać danych z „%sâ€: %s"
#: src/elfcmp.c:603 src/elfcmp.c:609
#, c-format
msgid "cannot get program header entry %d of '%s': %s"
-msgstr "nie można uzyskać wpisu nagłówka programu %d z \"%s\": %s"
+msgstr "nie można uzyskać wpisu nagłówka programu %d z „%sâ€: %s"
#: src/elfcmp.c:615
#, c-format
@@ -1248,40 +1280,40 @@ msgstr "%s %s różnią się: nagłówek programu %d"
msgid "%s %s differ: gap"
msgstr "%s %s różnią się: luka"
-#: src/elfcmp.c:702
+#: src/elfcmp.c:704
#, c-format
msgid "Invalid value '%s' for --gaps parameter."
-msgstr "Nieprawidłowa wartość \"%s\" dla parametru --gaps."
+msgstr "Nieprawidłowa wartość „%s†dla parametru --gaps."
-#: src/elfcmp.c:730 src/findtextrel.c:221 src/ldgeneric.c:1757
-#: src/ldgeneric.c:4247 src/nm.c:377 src/ranlib.c:157 src/size.c:289
-#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:1994
-#: src/unstrip.c:2023
+#: src/elfcmp.c:732 src/findtextrel.c:221 src/ldgeneric.c:1757
+#: src/ldgeneric.c:4247 src/nm.c:378 src/ranlib.c:157 src/size.c:289
+#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:2029
+#: src/unstrip.c:2058
#, c-format
msgid "cannot open '%s'"
-msgstr "nie można otworzyć \"%s\""
+msgstr "nie można otworzyć „%sâ€"
-#: src/elfcmp.c:734 src/findtextrel.c:228 src/ranlib.c:174
+#: src/elfcmp.c:736 src/findtextrel.c:228 src/ranlib.c:174
#, c-format
msgid "cannot create ELF descriptor for '%s': %s"
-msgstr "nie można utworzyć deskryptora ELF dla \"%s\": %s"
+msgstr "nie można utworzyć deskryptora ELF dla „%sâ€: %s"
-#: src/elfcmp.c:739
+#: src/elfcmp.c:741
#, c-format
msgid "cannot create EBL descriptor for '%s'"
-msgstr "nie można utworzyć deskryptora EBL dla \"%s\""
+msgstr "nie można utworzyć deskryptora EBL dla „%sâ€"
-#: src/elfcmp.c:757 src/findtextrel.c:409
+#: src/elfcmp.c:759 src/findtextrel.c:409
#, c-format
msgid "cannot get section header of section %zu: %s"
msgstr "nie można uzyskać nagłówka sekcji dla sekcji %zu: %s"
-#: src/elfcmp.c:767
+#: src/elfcmp.c:769
#, c-format
msgid "cannot get content of section %zu: %s"
msgstr "nie można uzyskać zawartości sekcji %zu: %s"
-#: src/elfcmp.c:777 src/elfcmp.c:791
+#: src/elfcmp.c:779 src/elfcmp.c:793
#, c-format
msgid "cannot get relocation: %s"
msgstr "nie można uzyskać relokacji: %s"
@@ -1311,11 +1343,11 @@ msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
msgstr ""
"Szczegółowe sprawdzanie zgodności plików ELF ze specyfikacją gABI/psABI."
-#: src/elflint.c:78 src/readelf.c:123
+#: src/elflint.c:78 src/readelf.c:126
msgid "FILE..."
-msgstr "PLIK..."
+msgstr "PLIK…"
-#: src/elflint.c:155 src/readelf.c:292
+#: src/elflint.c:155 src/readelf.c:298
#, c-format
msgid "cannot open input file"
msgstr "nie można otworzyć pliku wejściowego"
@@ -1334,7 +1366,7 @@ msgstr "błąd podczas zamykania deskryptora ELF: %s\n"
msgid "No errors"
msgstr "Brak błędów"
-#: src/elflint.c:219 src/readelf.c:468
+#: src/elflint.c:219 src/readelf.c:474
msgid "Missing file name.\n"
msgstr "Brak nazwy pliku.\n"
@@ -1346,7 +1378,7 @@ msgstr " błąd podczas zwalniania deskryptora pod-ELF: %s\n"
#: src/elflint.c:306
#, c-format
msgid "Not an ELF file - it has the wrong magic bytes at the start\n"
-msgstr "To nie jest plik ELF - posiada błędne bajty magiczne na początku\n"
+msgstr "To nie jest plik ELF — posiada błędne bajty magiczne na początku\n"
#: src/elflint.c:371
#, c-format
@@ -1366,7 +1398,7 @@ msgstr "nieznany numer wersji nagłówka ELF e_ident[%d] == %d\n"
#: src/elflint.c:386
#, c-format
msgid "unsupported OS ABI e_ident[%d] == '%s'\n"
-msgstr "nieobsługiwane ABI systemu operacyjnego e_ident[%d] == \"%s\"\n"
+msgstr "nieobsÅ‚ugiwane ABI systemu operacyjnego e_ident[%d] == „%sâ€\n"
#: src/elflint.c:392
#, c-format
@@ -1470,31 +1502,30 @@ msgid ""
"section [%2d] '%s': section with SHF_GROUP flag set not part of a section "
"group\n"
msgstr ""
-"sekcja [%2d] \"%s\": sekcja z flagą SHF_GROUP nie jest częścią grupy sekcji\n"
+"sekcja [%2d] „%sâ€: sekcja z flagÄ… SHF_GROUP nie jest częściÄ… grupy sekcji\n"
#: src/elflint.c:575
#, c-format
msgid ""
"section [%2d] '%s': section group [%2zu] '%s' does not precede group member\n"
msgstr ""
-"sekcja [%2d] \"%s\": grupa sekcji [%2zu] \"%s\" nie poprzedza elementu "
-"grupy\n"
+"sekcja [%2d] „%sâ€: grupa sekcji [%2zu] „%s†nie poprzedza elementu grupy\n"
-#: src/elflint.c:591 src/elflint.c:1471 src/elflint.c:1522 src/elflint.c:1628
-#: src/elflint.c:1964 src/elflint.c:2280 src/elflint.c:2893 src/elflint.c:3056
-#: src/elflint.c:3204 src/elflint.c:3394 src/elflint.c:4336
+#: src/elflint.c:591 src/elflint.c:1475 src/elflint.c:1526 src/elflint.c:1632
+#: src/elflint.c:1968 src/elflint.c:2284 src/elflint.c:2898 src/elflint.c:3061
+#: src/elflint.c:3209 src/elflint.c:3399 src/elflint.c:4366
#, c-format
msgid "section [%2d] '%s': cannot get section data\n"
-msgstr "sekcja [%2d] \"%s\": nie można uzyskać danych sekcji\n"
+msgstr "sekcja [%2d] „%sâ€: nie można uzyskać danych sekcji\n"
-#: src/elflint.c:604 src/elflint.c:1635
+#: src/elflint.c:604 src/elflint.c:1639
#, c-format
msgid ""
"section [%2d] '%s': referenced as string table for section [%2d] '%s' but "
"type is not SHT_STRTAB\n"
msgstr ""
-"sekcja [%2d] \"%s\": użyta jako tabela ciągów dla sekcji [%2d] \"%s\", ale "
-"nie jest typu SHT_STRTAB\n"
+"sekcja [%2d] „%sâ€: użyta jako tabela ciÄ…gów dla sekcji [%2d] „%sâ€, ale nie "
+"jest typu SHT_STRTAB\n"
#: src/elflint.c:627
#, c-format
@@ -1502,39 +1533,39 @@ msgid ""
"section [%2d] '%s': symbol table cannot have more than one extended index "
"section\n"
msgstr ""
-"sekcja [%2d] \"%s\": tabela symboli nie może mieć więcej niż jednej "
+"sekcja [%2d] „%sâ€: tabela symboli nie może mieć wiÄ™cej niż jednej "
"rozszerzonej sekcji indeksów\n"
#: src/elflint.c:639
#, c-format
msgid "section [%2u] '%s': entry size is does not match ElfXX_Sym\n"
-msgstr "sekcja [%2u] \"%s\": rozmiar wpisu nie zgadza siÄ™ z ElfXX_Sym\n"
+msgstr "sekcja [%2u] „%sâ€: rozmiar wpisu nie zgadza siÄ™ z ElfXX_Sym\n"
#: src/elflint.c:648
#, c-format
msgid "section [%2d] '%s': cannot get symbol %d: %s\n"
-msgstr "sekcja [%2d] \"%s\": nie można uzyskać symbolu %d: %s\n"
+msgstr "sekcja [%2d] „%sâ€: nie można uzyskać symbolu %d: %s\n"
#: src/elflint.c:653 src/elflint.c:656 src/elflint.c:659 src/elflint.c:662
#: src/elflint.c:665 src/elflint.c:668
#, c-format
msgid "section [%2d] '%s': '%s' in zeroth entry not zero\n"
-msgstr "sekcja [%2d] \"%s\": \"%s\" w zerowym wpisie nie jest zerem\n"
+msgstr "sekcja [%2d] „%sâ€: „%s†w zerowym wpisie nie jest zerem\n"
#: src/elflint.c:671
#, c-format
msgid "section [%2d] '%s': XINDEX for zeroth entry not zero\n"
-msgstr "sekcja [%2d] \"%s\": XINDEX dla zerowego wpisu nie jest zerem\n"
+msgstr "sekcja [%2d] „%sâ€: XINDEX dla zerowego wpisu nie jest zerem\n"
#: src/elflint.c:681
#, c-format
msgid "section [%2d] '%s': cannot get symbol %zu: %s\n"
-msgstr "sekcja [%2d] \"%s\": nie można uzyskać symbolu %zu: %s\n"
+msgstr "sekcja [%2d] „%sâ€: nie można uzyskać symbolu %zu: %s\n"
#: src/elflint.c:690
#, c-format
msgid "section [%2d] '%s': symbol %zu: invalid name value\n"
-msgstr "sekcja [%2d] \"%s\": symbol %zu: nieprawidłowa wartość nazwy\n"
+msgstr "sekcja [%2d] „%sâ€: symbol %zu: nieprawidÅ‚owa wartość nazwy\n"
#: src/elflint.c:705
#, c-format
@@ -1542,8 +1573,8 @@ msgid ""
"section [%2d] '%s': symbol %zu: too large section index but no extended "
"section index section\n"
msgstr ""
-"sekcja [%2d] \"%s\": symbol %zu: za duży indeks sekcji, ale nie posiada "
-"sekcji rozszerzonych indeksów sekcji\n"
+"sekcja [%2d] „%sâ€: symbol %zu: za duży indeks sekcji, ale nie posiada sekcji "
+"rozszerzonych indeksów sekcji\n"
#: src/elflint.c:711
#, c-format
@@ -1551,1208 +1582,1194 @@ msgid ""
"section [%2d] '%s': symbol %zu: XINDEX used for index which would fit in "
"st_shndx (%<PRIu32>)\n"
msgstr ""
-"sekcja [%2d] \"%s\": symbol %zu: XINDEX użyty dla indeksu, który zmieściłby "
+"sekcja [%2d] „%sâ€: symbol %zu: XINDEX użyty dla indeksu, który zmieÅ›ciÅ‚by "
"siÄ™ w st_shndx (%<PRIu32>)\n"
#: src/elflint.c:723
#, c-format
msgid "section [%2d] '%s': symbol %zu: invalid section index\n"
-msgstr "sekcja [%2d] \"%s\": symbol %zu: nieprawidłowy indeks sekcji\n"
+msgstr "sekcja [%2d] „%sâ€: symbol %zu: nieprawidÅ‚owy indeks sekcji\n"
#: src/elflint.c:731
#, c-format
msgid "section [%2d] '%s': symbol %zu: unknown type\n"
-msgstr "sekcja [%2d] \"%s\": symbol %zu: nieznany typ\n"
+msgstr "sekcja [%2d] „%sâ€: symbol %zu: nieznany typ\n"
#: src/elflint.c:737
#, c-format
msgid "section [%2d] '%s': symbol %zu: unknown symbol binding\n"
-msgstr "sekcja [%2d] \"%s\": symbol %zu: nieznane dowiÄ…zanie symbolu\n"
+msgstr "sekcja [%2d] „%sâ€: symbol %zu: nieznane dowiÄ…zanie symbolu\n"
#: src/elflint.c:742
#, c-format
msgid "section [%2d] '%s': symbol %zu: unique symbol not of object type\n"
msgstr ""
-"sekcja [%2d] \"%s\": symbol %zu: unikalny symbol nie jest typem obiektu\n"
+"sekcja [%2d] „%sâ€: symbol %zu: unikalny symbol nie jest typem obiektu\n"
#: src/elflint.c:750
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: COMMON only allowed in relocatable files\n"
msgstr ""
-"sekcja [%2d] \"%s\": symbol %zu: COMMON jest dozwolone tylko w plikach "
+"sekcja [%2d] „%sâ€: symbol %zu: COMMON jest dozwolone tylko w plikach "
"relokowalnych\n"
#: src/elflint.c:754
#, c-format
msgid "section [%2d] '%s': symbol %zu: local COMMON symbols are nonsense\n"
-msgstr "sekcja [%2d] \"%s\": symbol %zu: lokalne symbole COMMON to nonsens\n"
+msgstr "sekcja [%2d] „%sâ€: symbol %zu: lokalne symbole COMMON to nonsens\n"
#: src/elflint.c:758
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n"
-msgstr "sekcja [%2d] \"%s\": symbol %zu: funkcja w sekcji COMMON to nonsens\n"
+msgstr "sekcja [%2d] „%sâ€: symbol %zu: funkcja w sekcji COMMON to nonsens\n"
-#: src/elflint.c:805
+#: src/elflint.c:809
#, c-format
msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n"
-msgstr "sekcja [%2d] \"%s\": symbol %zu: st_value spoza zakresu\n"
+msgstr "sekcja [%2d] „%sâ€: symbol %zu: st_value spoza zakresu\n"
-#: src/elflint.c:811 src/elflint.c:836 src/elflint.c:885
+#: src/elflint.c:815 src/elflint.c:840 src/elflint.c:889
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu does not fit completely in referenced section "
"[%2d] '%s'\n"
msgstr ""
-"sekcja [%2d] \"%s\": symbol %zu nie mieści się w całości we wskazywanej "
-"sekcji [%2d] \"%s\"\n"
+"sekcja [%2d] „%sâ€: symbol %zu nie mieÅ›ci siÄ™ w caÅ‚oÅ›ci we wskazywanej sekcji "
+"[%2d] „%sâ€\n"
-#: src/elflint.c:820
+#: src/elflint.c:824
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have "
"SHF_TLS flag set\n"
msgstr ""
-"sekcja [%2d] \"%s\": symbol %zu: wskazywana sekcja [%2d] \"%s\" nie posiada "
+"sekcja [%2d] „%sâ€: symbol %zu: wskazywana sekcja [%2d] „%s†nie posiada "
"ustawionej flagi SHF_TLS\n"
-#: src/elflint.c:830 src/elflint.c:878
+#: src/elflint.c:834 src/elflint.c:882
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section "
"[%2d] '%s'\n"
msgstr ""
-"sekcja [%2d] \"%s\": symbol %zu: st_value spoza zakresu wskazywanej sekcji "
-"[%2d] \"%s\"\n"
+"sekcja [%2d] „%sâ€: symbol %zu: st_value spoza zakresu wskazywanej sekcji "
+"[%2d] „%sâ€\n"
-#: src/elflint.c:857
+#: src/elflint.c:861
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n"
msgstr ""
-"sekcja [%2d] \"%s\": symbol %zu: symbol TLS, ale brak wpisu TLS nagłówka "
+"sekcja [%2d] „%sâ€: symbol %zu: symbol TLS, ale brak wpisu TLS nagłówka "
"programu\n"
-#: src/elflint.c:863
-#, fuzzy, c-format
+#: src/elflint.c:867
+#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: TLS symbol but couldn't get TLS program "
"header entry\n"
msgstr ""
-"sekcja [%2d] \"%s\": symbol %zu: symbol TLS, ale brak wpisu TLS nagłówka "
-"programu\n"
+"sekcja [%2d] „%sâ€: symbol %zu: symbol TLS, ale nie można uzyskać wpisu TLS "
+"nagłówka programu\n"
-#: src/elflint.c:871
+#: src/elflint.c:875
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] "
"'%s'\n"
msgstr ""
-"sekcja [%2d] \"%s\": symbol %zu: st_value pomija wskazywanÄ… sekcjÄ™ [%2d] \"%s"
-"\"\n"
+"sekcja [%2d] „%sâ€: symbol %zu: st_value pomija wskazywanÄ… sekcjÄ™ [%2d] „%sâ€\n"
-#: src/elflint.c:898
+#: src/elflint.c:902
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: local symbol outside range described in "
"sh_info\n"
msgstr ""
-"sekcja [%2d] \"%s\": symbol %zu: lokalny symbol spoza zakresu określonego w "
+"sekcja [%2d] „%sâ€: symbol %zu: lokalny symbol spoza zakresu okreÅ›lonego w "
"sh_info\n"
-#: src/elflint.c:905
+#: src/elflint.c:909
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: non-local symbol outside range described in "
"sh_info\n"
msgstr ""
-"sekcja [%2d] \"%s\": symbol %zu: nielokalny symbol spoza zakresu określonego "
-"w sh_info\n"
+"sekcja [%2d] „%sâ€: symbol %zu: nielokalny symbol spoza zakresu okreÅ›lonego w "
+"sh_info\n"
-#: src/elflint.c:912
+#: src/elflint.c:916
#, c-format
msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n"
-msgstr "sekcja [%2d] \"%s\": symbol %zu: nielokalny symbol sekcji\n"
+msgstr "sekcja [%2d] „%sâ€: symbol %zu: nielokalny symbol sekcji\n"
-#: src/elflint.c:962
+#: src/elflint.c:966
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section "
"[%2d]\n"
msgstr ""
-"sekcja [%2d] \"%s\": symbol _GLOBAL_OFFSET_TABLE_ odnosi się do błędnej "
-"sekcji [%2d]\n"
+"sekcja [%2d] „%sâ€: symbol _GLOBAL_OFFSET_TABLE_ odnosi siÄ™ do bÅ‚Ä™dnej sekcji "
+"[%2d]\n"
-#: src/elflint.c:969
+#: src/elflint.c:973
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] "
"'%s'\n"
msgstr ""
-"sekcja [%2d] \"%s\": symbol _GLOBAL_OFFSET_TABLE_ odnosi siÄ™ do sekcji [%2d] "
-"\"%s\"\n"
+"sekcja [%2d] „%sâ€: symbol _GLOBAL_OFFSET_TABLE_ odnosi siÄ™ do sekcji [%2d] "
+"„%sâ€\n"
-#: src/elflint.c:985
+#: src/elflint.c:989
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
"match %s section address %#<PRIx64>\n"
msgstr ""
-"sekcja [%2d] \"%s\": wartość symbolu _GLOBAL_OFFSET_TABLE_ %#<PRIx64> nie "
+"sekcja [%2d] „%sâ€: wartość symbolu _GLOBAL_OFFSET_TABLE_ %#<PRIx64> nie "
"pasuje do adresu sekcji %s %#<PRIx64>\n"
-#: src/elflint.c:992
+#: src/elflint.c:996
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
"match %s section size %<PRIu64>\n"
msgstr ""
-"sekcja [%2d] \"%s\": rozmiar symbolu _GLOBAL_OFFSET_TABLE_ %<PRIu64> nie "
+"sekcja [%2d] „%sâ€: rozmiar symbolu _GLOBAL_OFFSET_TABLE_ %<PRIu64> nie "
"pasuje do rozmiaru sekcji %s %<PRIu64>\n"
-#: src/elflint.c:1000
+#: src/elflint.c:1004
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
"section\n"
msgstr ""
-"sekcja [%2d] \"%s\": symbol _GLOBAL_OFFSET_TABLE_ istnieje, ale brak sekcji ."
+"sekcja [%2d] „%sâ€: symbol _GLOBAL_OFFSET_TABLE_ istnieje, ale brak sekcji ."
"got\n"
-#: src/elflint.c:1016
+#: src/elflint.c:1020
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
"segment address %#<PRIx64>\n"
msgstr ""
-"sekcja [%2d] \"%s\": wartość symbolu _DYNAMIC_ %#<PRIx64> nie pasuje do "
-"adresu segmentu dynamicznego %#<PRIx64>\n"
+"sekcja [%2d] „%sâ€: wartość symbolu _DYNAMIC_ %#<PRIx64> nie pasuje do adresu "
+"segmentu dynamicznego %#<PRIx64>\n"
-#: src/elflint.c:1023
+#: src/elflint.c:1027
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
"segment size %<PRIu64>\n"
msgstr ""
-"sekcja [%2d] \"%s\": rozmiar symbolu _DYNAMIC_ %<PRIu64> nie pasuje do "
+"sekcja [%2d] „%sâ€: rozmiar symbolu _DYNAMIC_ %<PRIu64> nie pasuje do "
"rozmiaru segmentu dynamicznego %<PRIu64>\n"
-#: src/elflint.c:1036
+#: src/elflint.c:1040
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-"
"default visibility\n"
msgstr ""
-"sekcja [%2d] \"%s\": symbol %zu: symbol w dynamicznej tabeli symboli z "
+"sekcja [%2d] „%sâ€: symbol %zu: symbol w dynamicznej tabeli symboli z "
"niedomyślną widocznością\n"
-#: src/elflint.c:1040
+#: src/elflint.c:1044
#, c-format
msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n"
-msgstr "sekcja [%2d] \"%s\": symbol %zu: ustawiono nieznany bit w st_other\n"
+msgstr "sekcja [%2d] „%sâ€: symbol %zu: ustawiono nieznany bit w st_other\n"
-#: src/elflint.c:1078
+#: src/elflint.c:1082
#, c-format
msgid "section [%2d] '%s': cannot get section data.\n"
-msgstr "sekcja [%2d] \"%s\": nie można uzyskać danych sekcji.\n"
+msgstr "sekcja [%2d] „%sâ€: nie można uzyskać danych sekcji.\n"
-#: src/elflint.c:1094
+#: src/elflint.c:1098
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
-msgstr "sekcja [%2d] \"%s\": DT_RELCOUNT użyte dla tej sekcji RELA\n"
+msgstr "sekcja [%2d] „%sâ€: DT_RELCOUNT użyte dla tej sekcji RELA\n"
-#: src/elflint.c:1105 src/elflint.c:1158
+#: src/elflint.c:1109 src/elflint.c:1162
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
-msgstr "sekcja [%2d] \"%s\": DT_RELCOUNT %d za duże dla tej sekcji\n"
+msgstr "sekcja [%2d] „%sâ€: DT_RELCOUNT %d za duże dla tej sekcji\n"
-#: src/elflint.c:1130 src/elflint.c:1183
+#: src/elflint.c:1134 src/elflint.c:1187
#, c-format
msgid ""
"section [%2d] '%s': relative relocations after index %d as specified by "
"DT_RELCOUNT\n"
msgstr ""
-"sekcja [%2d] \"%s\": relokacje względne po indeksie %d podanym przez "
+"sekcja [%2d] „%sâ€: relokacje wzglÄ™dne po indeksie %d podanym przez "
"DT_RELCOUNT\n"
-#: src/elflint.c:1136 src/elflint.c:1189
+#: src/elflint.c:1140 src/elflint.c:1193
#, c-format
msgid ""
"section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
"specified %d relative relocations\n"
msgstr ""
-"sekcja [%2d] \"%s\": relokacja bezwzględna pod indeksem %zu; DT_RELCOUNT "
-"podał %d relokacji względnych\n"
+"sekcja [%2d] „%sâ€: relokacja bezwzglÄ™dna pod indeksem %zu; DT_RELCOUNT podaÅ‚ "
+"%d relokacji względnych\n"
-#: src/elflint.c:1148
+#: src/elflint.c:1152
#, c-format
msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
-msgstr "sekcja [%2d] \"%s\": DT_RELACOUNT użyte dla tej sekcji REL\n"
+msgstr "sekcja [%2d] „%sâ€: DT_RELACOUNT użyte dla tej sekcji REL\n"
-#: src/elflint.c:1231
+#: src/elflint.c:1235
#, c-format
msgid "section [%2d] '%s': invalid destination section index\n"
-msgstr "sekcja [%2d] \"%s\": nieprawidłowy indeks sekcji docelowej\n"
+msgstr "sekcja [%2d] „%sâ€: nieprawidÅ‚owy indeks sekcji docelowej\n"
-#: src/elflint.c:1243
+#: src/elflint.c:1247
#, c-format
msgid "section [%2d] '%s': invalid destination section type\n"
-msgstr "sekcja [%2d] \"%s\": nieprawidłowy typ sekcji docelowej\n"
+msgstr "sekcja [%2d] „%sâ€: nieprawidÅ‚owy typ sekcji docelowej\n"
-#: src/elflint.c:1251
+#: src/elflint.c:1255
#, c-format
msgid "section [%2d] '%s': sh_info should be zero\n"
-msgstr "sekcja [%2d] \"%s\": sh_info powinno wynosić zero\n"
+msgstr "sekcja [%2d] „%sâ€: sh_info powinno wynosić zero\n"
-#: src/elflint.c:1259
-#, fuzzy, c-format
+#: src/elflint.c:1263
+#, c-format
msgid ""
"section [%2d] '%s': no relocations for merge-able string sections possible\n"
-msgstr "sekcja [%2d] \"%s\": relokacje dla sekcji złączalnych są niemożliwe\n"
+msgstr ""
+"sekcja [%2d] „%sâ€: relokacje dla sekcji zÅ‚Ä…czalnych ciÄ…gów sÄ… niemożliwe\n"
-#: src/elflint.c:1267
+#: src/elflint.c:1271
#, c-format
msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
-msgstr ""
-"sekcja [%2d] \"%s\": rozmiar wpisu sekcji nie zgadza siÄ™ z ElfXX_Rela\n"
+msgstr "sekcja [%2d] „%sâ€: rozmiar wpisu sekcji nie zgadza siÄ™ z ElfXX_Rela\n"
-#: src/elflint.c:1327
+#: src/elflint.c:1331
#, c-format
msgid "text relocation flag set but there is no read-only segment\n"
msgstr ""
"flaga relokacji tekstu jest ustawiona, ale nie posiada segmentu tylko do "
"odczytu\n"
-#: src/elflint.c:1354
+#: src/elflint.c:1358
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid type\n"
-msgstr "sekcja [%2d] \"%s\": relokacja %zu: nieprawidłowy typ\n"
+msgstr "sekcja [%2d] „%sâ€: relokacja %zu: nieprawidÅ‚owy typ\n"
-#: src/elflint.c:1362
+#: src/elflint.c:1366
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: relocation type invalid for the file "
"type\n"
msgstr ""
-"sekcja [%2d] \"%s\": relokacja %zu: typ relokacji nieprawidłowy dla tego "
-"typu pliku\n"
+"sekcja [%2d] „%sâ€: relokacja %zu: typ relokacji nieprawidÅ‚owy dla tego typu "
+"pliku\n"
-#: src/elflint.c:1370
+#: src/elflint.c:1374
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
-msgstr "sekcja [%2d] \"%s\": relokacja %zu: nieprawidłowy indeks symbolu\n"
+msgstr "sekcja [%2d] „%sâ€: relokacja %zu: nieprawidÅ‚owy indeks symbolu\n"
-#: src/elflint.c:1388
+#: src/elflint.c:1392
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
"be used with %s\n"
msgstr ""
-"sekcja [%2d] \"%s\": relokacja %zu: z %s można użyć tylko symbolu "
-"\"_GLOBAL_OFFSET_TABLE_\"\n"
+"sekcja [%2d] „%sâ€: relokacja %zu: z %s można użyć tylko symbolu "
+"„_GLOBAL_OFFSET_TABLE_â€\n"
-#: src/elflint.c:1405
+#: src/elflint.c:1409
#, c-format
msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
-msgstr "sekcja [%2d] \"%s\": relokacja %zu: offset spoza zakresu\n"
+msgstr "sekcja [%2d] „%sâ€: relokacja %zu: offset spoza zakresu\n"
-#: src/elflint.c:1420
+#: src/elflint.c:1424
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: copy relocation against symbol of type "
"%s\n"
msgstr ""
-"sekcja [%2d] \"%s\": relokacja %zu: relokacja kopii względem symbolu typu "
-"%s\n"
+"sekcja [%2d] „%sâ€: relokacja %zu: relokacja kopii wzglÄ™dem symbolu typu %s\n"
-#: src/elflint.c:1441
+#: src/elflint.c:1445
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: read-only section modified but text "
"relocation flag not set\n"
msgstr ""
-"sekcja [%2d] \"%s\": relokacja %zu: sekcja tylko do odczytu została "
+"sekcja [%2d] „%sâ€: relokacja %zu: sekcja tylko do odczytu zostaÅ‚a "
"zmodyfikowana, ale nie ustawiono flagi relokacji tekstu\n"
-#: src/elflint.c:1456
+#: src/elflint.c:1460
#, c-format
msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
msgstr ""
-"sekcja [%2d] \"%s\": relokacje względem wczytanych i niewczytanych danych\n"
+"sekcja [%2d] „%sâ€: relokacje wzglÄ™dem wczytanych i niewczytanych danych\n"
-#: src/elflint.c:1496 src/elflint.c:1547
+#: src/elflint.c:1500 src/elflint.c:1551
#, c-format
msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
-msgstr "sekcja [%2d] \"%s\": nie można uzyskać relokacji %zu: %s\n"
+msgstr "sekcja [%2d] „%sâ€: nie można uzyskać relokacji %zu: %s\n"
-#: src/elflint.c:1623
+#: src/elflint.c:1627
#, c-format
msgid "more than one dynamic section present\n"
msgstr "obecna jest więcej niż jedna sekcja dynamiczna\n"
-#: src/elflint.c:1641
+#: src/elflint.c:1645
#, c-format
msgid ""
"section [%2d]: referenced as string table for section [%2d] '%s' but section "
"link value is invalid\n"
msgstr ""
-"sekcja [%2d]: wskazane jako tabela ciągów dla sekcji [%2d] \"%s\", ale "
-"wartość dowiązania sekcji jest nieprawidłowa\n"
+"sekcja [%2d]: wskazane jako tabela ciÄ…gów dla sekcji [%2d] „%sâ€, ale wartość "
+"dowiązania sekcji jest nieprawidłowa\n"
-#: src/elflint.c:1649
+#: src/elflint.c:1653
#, c-format
msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
-msgstr "sekcja [%2d] \"%s\": rozmiar wpisu sekcji nie zgadza siÄ™ z ElfXX_Dyn\n"
+msgstr "sekcja [%2d] „%sâ€: rozmiar wpisu sekcji nie zgadza siÄ™ z ElfXX_Dyn\n"
-#: src/elflint.c:1654 src/elflint.c:1943
+#: src/elflint.c:1658 src/elflint.c:1947
#, c-format
msgid "section [%2d] '%s': sh_info not zero\n"
-msgstr "sekcja [%2d] \"%s\": sh_info nie wynosi zero\n"
+msgstr "sekcja [%2d] „%sâ€: sh_info nie wynosi zero\n"
-#: src/elflint.c:1664
+#: src/elflint.c:1668
#, c-format
msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
msgstr ""
-"sekcja [%2d] \"%s\": nie można uzyskać wpisu %zu sekcji dynamicznej: %s\n"
+"sekcja [%2d] „%sâ€: nie można uzyskać wpisu %zu sekcji dynamicznej: %s\n"
-#: src/elflint.c:1672
+#: src/elflint.c:1676
#, c-format
msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
-msgstr "sekcja [%2d] \"%s\": wpisy nie-DT_NULL występują po wpisie DT_NULL\n"
+msgstr "sekcja [%2d] „%sâ€: wpisy nie-DT_NULL wystÄ™pujÄ… po wpisie DT_NULL\n"
-#: src/elflint.c:1679
+#: src/elflint.c:1683
#, c-format
msgid "section [%2d] '%s': entry %zu: unknown tag\n"
-msgstr "sekcja [%2d] \"%s\": wpis %zu: nieznany znacznik\n"
+msgstr "sekcja [%2d] „%sâ€: wpis %zu: nieznany znacznik\n"
-#: src/elflint.c:1690
+#: src/elflint.c:1694
#, c-format
msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
-msgstr ""
-"sekcja [%2d] \"%s\": wpis %zu: więcej niż jeden wpis ze znacznikiem %s\n"
+msgstr "sekcja [%2d] „%sâ€: wpis %zu: wiÄ™cej niż jeden wpis ze znacznikiem %s\n"
-#: src/elflint.c:1700
+#: src/elflint.c:1704
#, c-format
msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
-msgstr "sekcja [%2d] \"%s\": wpis %zu: użyto znacznika %s poziomu 2\n"
+msgstr "sekcja [%2d] „%sâ€: wpis %zu: użyto znacznika %s poziomu 2\n"
-#: src/elflint.c:1718
+#: src/elflint.c:1722
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
msgstr ""
-"sekcja [%2d] \"%s\": wpis %zu: wartość DT_PLTREL musi wynosić DT_REL lub "
+"sekcja [%2d] „%sâ€: wpis %zu: wartość DT_PLTREL musi wynosić DT_REL lub "
"DT_RELA\n"
-#: src/elflint.c:1731
+#: src/elflint.c:1735
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: pointer does not match address of section "
"[%2d] '%s' referenced by sh_link\n"
msgstr ""
-"sekcja [%2d] \"%s\": wpis %zu: wskaźnik nie pasuje do adresu sekcji [%2d] "
-"\"%s\" wskazywanej przez sh_link\n"
+"sekcja [%2d] „%sâ€: wpis %zu: wskaźnik nie pasuje do adresu sekcji [%2d] „%s†"
+"wskazywanej przez sh_link\n"
-#: src/elflint.c:1774
+#: src/elflint.c:1778
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
msgstr ""
-"sekcja [%2d] \"%s\": wpis %zu: wartość %s musi wskazywać na wczytany "
-"segment\n"
+"sekcja [%2d] „%sâ€: wpis %zu: wartość %s musi wskazywać na wczytany segment\n"
-#: src/elflint.c:1789
+#: src/elflint.c:1793
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must be valid offset in section "
"[%2d] '%s'\n"
msgstr ""
-"sekcja [%2d] \"%s\": wpis %zu: wartość %s musi być prawidłowym offsetem w "
-"sekcji [%2d] \"%s\"\n"
+"sekcja [%2d] „%sâ€: wpis %zu: wartość %s musi być prawidÅ‚owym offsetem w "
+"sekcji [%2d] „%sâ€\n"
-#: src/elflint.c:1809 src/elflint.c:1837
+#: src/elflint.c:1813 src/elflint.c:1841
#, c-format
msgid "section [%2d] '%s': contains %s entry but not %s\n"
-msgstr "sekcja [%2d] \"%s\": zawiera wpis %s, ale nie %s\n"
+msgstr "sekcja [%2d] „%sâ€: zawiera wpis %s, ale nie %s\n"
-#: src/elflint.c:1821
+#: src/elflint.c:1825
#, c-format
msgid "section [%2d] '%s': mandatory tag %s not present\n"
-msgstr "sekcja [%2d] \"%s\": brak obowiÄ…zkowego znacznika %s\n"
+msgstr "sekcja [%2d] „%sâ€: brak obowiÄ…zkowego znacznika %s\n"
-#: src/elflint.c:1830
+#: src/elflint.c:1834
#, c-format
msgid "section [%2d] '%s': no hash section present\n"
-msgstr "sekcja [%2d] \"%s\": brak sekcji skrótów\n"
+msgstr "sekcja [%2d] „%sâ€: brak sekcji skrótów\n"
-#: src/elflint.c:1845 src/elflint.c:1852
+#: src/elflint.c:1849 src/elflint.c:1856
#, c-format
msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
-msgstr "sekcja [%2d] \"%s\": nie wszystkie z %s, %s i %s sÄ… obecne\n"
+msgstr "sekcja [%2d] „%sâ€: nie wszystkie z %s, %s i %s sÄ… obecne\n"
-#: src/elflint.c:1862 src/elflint.c:1866
+#: src/elflint.c:1866 src/elflint.c:1870
#, c-format
msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
msgstr ""
-"sekcja [%2d] \"%s\": brak znacznika %s w DSO oznaczonym podczas wstępnej "
+"sekcja [%2d] „%sâ€: brak znacznika %s w DSO oznaczonym podczas wstÄ™pnej "
"konsolidacji\n"
-#: src/elflint.c:1872
+#: src/elflint.c:1876
#, c-format
msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
msgstr ""
-"sekcja [%2d] \"%s\": plik nie-DSO oznaczony jako zależność podczas wstępnej "
+"sekcja [%2d] „%sâ€: plik nie-DSO oznaczony jako zależność podczas wstÄ™pnej "
"konsolidacji\n"
-#: src/elflint.c:1883 src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895
+#: src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895 src/elflint.c:1899
#, c-format
msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
msgstr ""
-"sekcja [%2d] \"%s\": brak znacznika %s we wstępnie konsolidowanym pliku "
+"sekcja [%2d] „%sâ€: brak znacznika %s we wstÄ™pnie konsolidowanym pliku "
"wykonywalnym\n"
-#: src/elflint.c:1907
+#: src/elflint.c:1911
#, c-format
msgid ""
"section [%2d] '%s': only relocatable files can have extended section index\n"
msgstr ""
-"sekcja [%2d] \"%s\": tylko pliki relokowalne mogą mieć rozszerzoną sekcję "
+"sekcja [%2d] „%sâ€: tylko pliki relokowalne mogÄ… mieć rozszerzonÄ… sekcjÄ™ "
"indeksów\n"
-#: src/elflint.c:1917
+#: src/elflint.c:1921
#, c-format
msgid ""
"section [%2d] '%s': extended section index section not for symbol table\n"
msgstr ""
-"sekcja [%2d] \"%s\": sekcja rozszerzonych indeksów sekcji nie dla tabeli "
+"sekcja [%2d] „%sâ€: sekcja rozszerzonych indeksów sekcji nie dla tabeli "
"symboli\n"
-#: src/elflint.c:1921
+#: src/elflint.c:1925
#, c-format
msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n"
msgstr ""
-"sekcja [%2d] \"%s\": rozszerzony indeks sekcji sh_link [%2d] jest "
+"sekcja [%2d] „%sâ€: rozszerzony indeks sekcji sh_link [%2d] jest "
"nieprawidłowy\n"
-#: src/elflint.c:1926
+#: src/elflint.c:1930
#, c-format
msgid "cannot get data for symbol section\n"
msgstr "nie można uzyskać danych dla sekcji symboli\n"
-#: src/elflint.c:1929
+#: src/elflint.c:1933
#, c-format
msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
-msgstr "sekcja [%2d] \"%s\": rozmiar wpisu nie zgadza siÄ™ z Elf32_Word\n"
+msgstr "sekcja [%2d] „%sâ€: rozmiar wpisu nie zgadza siÄ™ z Elf32_Word\n"
-#: src/elflint.c:1938
+#: src/elflint.c:1942
#, c-format
msgid "section [%2d] '%s': extended index table too small for symbol table\n"
msgstr ""
-"sekcja [%2d] \"%s\": tabela rozszerzonych indeksów jest za mała dla tabeli "
+"sekcja [%2d] „%sâ€: tabela rozszerzonych indeksów jest za maÅ‚a dla tabeli "
"symboli\n"
-#: src/elflint.c:1953
+#: src/elflint.c:1957
#, c-format
msgid ""
"section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
"same symbol table\n"
msgstr ""
-"sekcja [%2d] \"%s\": rozszerzony indeks sekcji w sekcji [%2zu] \"%s\" "
-"odwołuje się do tej samej tabeli symboli\n"
+"sekcja [%2d] „%sâ€: rozszerzony indeks sekcji w sekcji [%2zu] „%s†odwoÅ‚uje "
+"siÄ™ do tej samej tabeli symboli\n"
-#: src/elflint.c:1970
+#: src/elflint.c:1974
#, c-format
msgid "symbol 0 should have zero extended section index\n"
msgstr "symbol 0 powinien mieć zerowy rozszerzony indeks sekcji\n"
-#: src/elflint.c:1982
+#: src/elflint.c:1986
#, c-format
msgid "cannot get data for symbol %zu\n"
msgstr "nie można uzyskać danych dla symbolu %zu\n"
-#: src/elflint.c:1987
+#: src/elflint.c:1991
#, c-format
msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
msgstr ""
"rozszerzony indeks sekcji wynosi %<PRIu32>, ale indeks symbolu nie wynosi "
"XINDEX\n"
-#: src/elflint.c:2003 src/elflint.c:2054
+#: src/elflint.c:2007 src/elflint.c:2058
#, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
msgstr ""
-"sekcja [%2d] \"%s\": sekcja tabeli mieszającej jest za mała (%ld, oczekiwano "
+"sekcja [%2d] „%sâ€: sekcja tabeli mieszajÄ…cej jest za maÅ‚a (%ld, oczekiwano "
"%ld)\n"
-#: src/elflint.c:2015 src/elflint.c:2066
+#: src/elflint.c:2019 src/elflint.c:2070
#, c-format
msgid "section [%2d] '%s': chain array too large\n"
-msgstr "sekcja [%2d] \"%s\": tabela łańcuchowa jest za duża\n"
+msgstr "sekcja [%2d] „%sâ€: tabela Å‚aÅ„cuchowa jest za duża\n"
-#: src/elflint.c:2029 src/elflint.c:2080
+#: src/elflint.c:2033 src/elflint.c:2084
#, c-format
msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
msgstr ""
-"sekcja [%2d] \"%s\": odwołanie do kubełka skrótu %zu jest spoza zakresu\n"
+"sekcja [%2d] „%sâ€: odwoÅ‚anie do kubeÅ‚ka skrótu %zu jest spoza zakresu\n"
-#: src/elflint.c:2039
+#: src/elflint.c:2043
#, c-format
msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
msgstr ""
-"sekcja [%2d] \"%s\": odwołanie do łańcucha skrótu %zu jest spoza zakresu\n"
+"sekcja [%2d] „%sâ€: odwoÅ‚anie do Å‚aÅ„cucha skrótu %zu jest spoza zakresu\n"
-#: src/elflint.c:2090
+#: src/elflint.c:2094
#, c-format
msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
msgstr ""
-"sekcja [%2d] \"%s\": odwołanie do łańcucha skrótu %<PRIu64> jest spoza "
+"sekcja [%2d] „%sâ€: odwoÅ‚anie do Å‚aÅ„cucha skrótu %<PRIu64> jest spoza "
"zakresu\n"
-#: src/elflint.c:2103
+#: src/elflint.c:2107
#, c-format
msgid "section [%2d] '%s': not enough data\n"
-msgstr "sekcja [%2d] \"%s\": brak wystarczającej ilości danych\n"
+msgstr "sekcja [%2d] „%sâ€: brak wystarczajÄ…cej iloÅ›ci danych\n"
-#: src/elflint.c:2115
+#: src/elflint.c:2119
#, c-format
msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n"
msgstr ""
-"sekcja [%2d] \"%s\": rozmiar maski bitowej wynosi zero lub nie jest potęgą "
-"2: %u\n"
+"sekcja [%2d] „%sâ€: rozmiar maski bitowej wynosi zero lub nie jest potÄ™gÄ… 2: "
+"%u\n"
-#: src/elflint.c:2131
+#: src/elflint.c:2135
#, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected at "
"least %ld)\n"
msgstr ""
-"sekcja [%2d] \"%s\": sekcja tabeli mieszającej jest za mała (wynosi %ld, "
+"sekcja [%2d] „%sâ€: sekcja tabeli mieszajÄ…cej jest za maÅ‚a (wynosi %ld, "
"oczekiwano co najmniej %ld)\n"
-#: src/elflint.c:2140
+#: src/elflint.c:2144
#, c-format
msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
msgstr ""
-"sekcja [%2d] \"%s\": drugie przesunięcie funkcji mieszającej jest za duże: "
-"%u\n"
+"sekcja [%2d] „%sâ€: drugie przesuniÄ™cie funkcji mieszajÄ…cej jest za duże: %u\n"
-#: src/elflint.c:2174
+#: src/elflint.c:2178
#, c-format
msgid ""
"section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
msgstr ""
-"sekcja [%2d] \"%s\": łańcuch mieszający dla kubełka %zu jest mniejszy niż "
+"sekcja [%2d] „%sâ€: Å‚aÅ„cuch mieszajÄ…cy dla kubeÅ‚ka %zu jest mniejszy niż "
"przesunięcie indeksu symboli\n"
-#: src/elflint.c:2195
+#: src/elflint.c:2199
#, c-format
msgid ""
"section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
"undefined\n"
msgstr ""
-"sekcja [%2d] \"%s\": symbol %u wskazywany w łańcuchu dla kubełka %zu jest "
+"sekcja [%2d] „%sâ€: symbol %u wskazywany w Å‚aÅ„cuchu dla kubeÅ‚ka %zu jest "
"nieokreślony\n"
-#: src/elflint.c:2208
+#: src/elflint.c:2212
#, c-format
msgid ""
"section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
msgstr ""
-"sekcja [%2d] \"%s\": wartość skrótu dla symbolu %u w łańcuchu dla kubełka "
-"%zu jest błędna\n"
+"sekcja [%2d] „%sâ€: wartość skrótu dla symbolu %u w Å‚aÅ„cuchu dla kubeÅ‚ka %zu "
+"jest błędna\n"
-#: src/elflint.c:2217
+#: src/elflint.c:2221
#, c-format
msgid ""
"section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n"
msgstr ""
-"sekcja [%2d] \"%s\": indeks maski dla symbolu %u w łańcuchu dla kubełka %zu "
+"sekcja [%2d] „%sâ€: indeks maski dla symbolu %u w Å‚aÅ„cuchu dla kubeÅ‚ka %zu "
"jest błędny\n"
-#: src/elflint.c:2247
+#: src/elflint.c:2251
#, c-format
msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
-msgstr ""
-"sekcja [%2d] \"%s\": łańcuch skrótu dla kubełka %zu jest spoza zakresu\n"
+msgstr "sekcja [%2d] „%sâ€: Å‚aÅ„cuch skrótu dla kubeÅ‚ka %zu jest spoza zakresu\n"
-#: src/elflint.c:2252
+#: src/elflint.c:2256
#, c-format
msgid ""
"section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
msgstr ""
-"sekcja [%2d] \"%s\": odwołanie do symbolu w łańcuchu dla kubełka %zu jest "
+"sekcja [%2d] „%sâ€: odwoÅ‚anie do symbolu w Å‚aÅ„cuchu dla kubeÅ‚ka %zu jest "
"spoza zakresu\n"
-#: src/elflint.c:2258
+#: src/elflint.c:2262
#, c-format
msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
msgstr ""
-"sekcja [%2d] \"%s\": maska bitowa nie pasuje do nazw w tabeli mieszajÄ…cej\n"
+"sekcja [%2d] „%sâ€: maska bitowa nie pasuje do nazw w tabeli mieszajÄ…cej\n"
-#: src/elflint.c:2271
+#: src/elflint.c:2275
#, c-format
msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
msgstr ""
-"sekcja [%2d] \"%s\": pliki relokowalne nie mogą posiadać tabeli "
-"mieszajÄ…cych\n"
+"sekcja [%2d] „%sâ€: pliki relokowalne nie mogÄ… posiadać tabeli mieszajÄ…cych\n"
-#: src/elflint.c:2289
+#: src/elflint.c:2293
#, c-format
msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
msgstr ""
-"sekcja [%2d] \"%s\": tabela mieszajÄ…ca nie dla tabeli dynamicznych symboli\n"
+"sekcja [%2d] „%sâ€: tabela mieszajÄ…ca nie dla tabeli dynamicznych symboli\n"
-#: src/elflint.c:2293
+#: src/elflint.c:2297
#, c-format
msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n"
msgstr ""
-"sekcja [%2d] \"%s\": nieprawidłowy indeks sekcji tabeli symboli sh_link "
-"[%2d]\n"
+"sekcja [%2d] „%sâ€: nieprawidÅ‚owy indeks sekcji tabeli symboli sh_link [%2d]\n"
-#: src/elflint.c:2301
+#: src/elflint.c:2305
#, c-format
msgid "section [%2d] '%s': hash table entry size incorrect\n"
-msgstr "sekcja [%2d] \"%s\": niepoprawny rozmiar wpisu tabeli mieszajÄ…cej\n"
+msgstr "sekcja [%2d] „%sâ€: niepoprawny rozmiar wpisu tabeli mieszajÄ…cej\n"
-#: src/elflint.c:2306
+#: src/elflint.c:2310
#, c-format
msgid "section [%2d] '%s': not marked to be allocated\n"
-msgstr "sekcja [%2d] \"%s\": nieoznaczona do przydzielenia\n"
+msgstr "sekcja [%2d] „%sâ€: nieoznaczona do przydzielenia\n"
-#: src/elflint.c:2311
+#: src/elflint.c:2315
#, c-format
msgid ""
"section [%2d] '%s': hash table has not even room for initial administrative "
"entries\n"
msgstr ""
-"sekcja [%2d] \"%s\": tabela mieszajÄ…ca nie posiada miejsca nawet na "
-"poczÄ…tkowe wpisy administracyjne\n"
+"sekcja [%2d] „%sâ€: tabela mieszajÄ…ca nie posiada miejsca nawet na poczÄ…tkowe "
+"wpisy administracyjne\n"
-#: src/elflint.c:2360
+#: src/elflint.c:2364
#, c-format
msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
msgstr ""
-"sh_link w sekcjach skrótu [%2zu] \"%s\" i [%2zu] \"%s\" nie są identyczne\n"
+"sh_link w sekcjach skrótu [%2zu] „%s†i [%2zu] „%s†nie są identyczne\n"
-#: src/elflint.c:2384 src/elflint.c:2449 src/elflint.c:2484
+#: src/elflint.c:2388 src/elflint.c:2453 src/elflint.c:2488
#, c-format
msgid "hash section [%2zu] '%s' does not contain enough data\n"
msgstr ""
-"sekcja mieszania [%2zu] \"%s\" nie zawiera wystarczającej ilości danych\n"
+"sekcja mieszania [%2zu] „%s†nie zawiera wystarczającej ilości danych\n"
-#: src/elflint.c:2405
+#: src/elflint.c:2409
#, c-format
msgid "hash section [%2zu] '%s' has zero bit mask words\n"
-msgstr "sekcja mieszania [%2zu] \"%s\" posiada zerowe słowa maski bitów\n"
+msgstr "sekcja mieszania [%2zu] „%s†posiada zerowe słowa maski bitów\n"
-#: src/elflint.c:2416 src/elflint.c:2460 src/elflint.c:2497
+#: src/elflint.c:2420 src/elflint.c:2464 src/elflint.c:2501
#, c-format
msgid "hash section [%2zu] '%s' uses too much data\n"
-msgstr "sekcja mieszania [%2zu] \"%s\" używa za dużo danych\n"
+msgstr "sekcja mieszania [%2zu] „%s†używa za dużo danych\n"
-#: src/elflint.c:2431
+#: src/elflint.c:2435
#, c-format
msgid ""
"hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: "
"%<PRIu32>, nentries: %<PRIu32>\n"
msgstr ""
-"sekcja mieszająca [%2zu] \"%s\" nieprawidłowy indeks symboli %<PRIu32> "
+"sekcja mieszająca [%2zu] „%s†nieprawidłowy indeks symboli %<PRIu32> "
"(max_nsyms: %<PRIu32>, nentries: %<PRIu32>\n"
-#: src/elflint.c:2518
+#: src/elflint.c:2522
#, c-format
msgid "hash section [%2zu] '%s' invalid sh_entsize\n"
-msgstr "sekcja mieszania [%2zu] \"%s\" nieprawidłowe sh_entsize\n"
+msgstr "sekcja mieszania [%2zu] „%s†nieprawidłowe sh_entsize\n"
-#: src/elflint.c:2528 src/elflint.c:2532
+#: src/elflint.c:2532 src/elflint.c:2536
#, c-format
msgid "section [%2zu] '%s': reference to symbol index 0\n"
-msgstr "sekcja [%2zu] \"%s\": odwołanie do symbolu o indeksie 0\n"
+msgstr "sekcja [%2zu] „%sâ€: odwoÅ‚anie do symbolu o indeksie 0\n"
-#: src/elflint.c:2539
+#: src/elflint.c:2543
#, c-format
msgid ""
"symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash "
"table in [%2zu] '%s'\n"
msgstr ""
-"symbol %d wymieniony w nowej tabeli mieszajÄ…cej w [%2zu] \"%s\", ale nie w "
-"poprzedniej tabeli mieszajÄ…cej [%2zu] \"%s\"\n"
+"symbol %d wymieniony w nowej tabeli mieszajÄ…cej w [%2zu] „%sâ€, ale nie w "
+"poprzedniej tabeli mieszajÄ…cej [%2zu] „%sâ€\n"
-#: src/elflint.c:2551
+#: src/elflint.c:2555
#, c-format
msgid ""
"symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash "
"table in [%2zu] '%s'\n"
msgstr ""
-"symbol %d wymieniony w poprzedniej tabeli mieszajÄ…cej w [%2zu] \"%s\", ale "
-"nie w nowej tabeli mieszajÄ…cej w [%2zu] \"%s\"\n"
+"symbol %d wymieniony w poprzedniej tabeli mieszajÄ…cej w [%2zu] „%sâ€, ale nie "
+"w nowej tabeli mieszajÄ…cej w [%2zu] „%sâ€\n"
-#: src/elflint.c:2567
+#: src/elflint.c:2571
#, c-format
msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
-msgstr "sekcja [%2d] \"%s\": niezerowe sh_%s dla sekcji NULL\n"
+msgstr "sekcja [%2d] „%sâ€: niezerowe sh_%s dla sekcji NULL\n"
-#: src/elflint.c:2587
+#: src/elflint.c:2591
#, c-format
msgid ""
"section [%2d] '%s': section groups only allowed in relocatable object files\n"
msgstr ""
-"sekcja [%2d] \"%s\": w plikach obiektów relokowalnych dozwolone są tylko "
-"grupy sekcji\n"
+"sekcja [%2d] „%sâ€: w plikach obiektów relokowalnych dozwolone sÄ… tylko grupy "
+"sekcji\n"
-#: src/elflint.c:2598
+#: src/elflint.c:2602
#, c-format
msgid "section [%2d] '%s': cannot get symbol table: %s\n"
-msgstr "sekcja [%2d] \"%s\": nie można uzyskać tabeli symboli: %s\n"
+msgstr "sekcja [%2d] „%sâ€: nie można uzyskać tabeli symboli: %s\n"
-#: src/elflint.c:2603
+#: src/elflint.c:2607
#, c-format
msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
msgstr ""
-"sekcja [%2d] \"%s\": odwołanie do sekcji w sh_link nie posiada tabeli "
-"symboli\n"
+"sekcja [%2d] „%sâ€: odwoÅ‚anie do sekcji w sh_link nie posiada tabeli symboli\n"
-#: src/elflint.c:2609
+#: src/elflint.c:2613
#, c-format
msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
-msgstr "sekcja [%2d] \"%s\": nieprawidłowy indeks symbolu w sh_info\n"
+msgstr "sekcja [%2d] „%sâ€: nieprawidÅ‚owy indeks symbolu w sh_info\n"
-#: src/elflint.c:2614
+#: src/elflint.c:2618
#, c-format
msgid "section [%2d] '%s': sh_flags not zero\n"
-msgstr "sekcja [%2d] \"%s\": niezerowe sh_flags\n"
+msgstr "sekcja [%2d] „%sâ€: niezerowe sh_flags\n"
-#: src/elflint.c:2621
+#: src/elflint.c:2625
#, c-format
msgid "section [%2d] '%s': cannot get symbol for signature\n"
-msgstr "sekcja [%2d] \"%s\": nie można uzyskać symbolu dla podpisu\n"
+msgstr "sekcja [%2d] „%sâ€: nie można uzyskać symbolu dla podpisu\n"
-#: src/elflint.c:2625
+#: src/elflint.c:2629
#, c-format
msgid "section [%2d] '%s': cannot get symbol name for signature\n"
-msgstr "sekcja [%2d] \"%s\": nie można uzyskać nazwy symbolu dla podpisu\n"
+msgstr "sekcja [%2d] „%sâ€: nie można uzyskać nazwy symbolu dla podpisu\n"
-#: src/elflint.c:2630
+#: src/elflint.c:2634
#, c-format
msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
-msgstr "sekcja [%2d] \"%s\": symbol podpisu nie można być pustym ciągiem\n"
+msgstr "sekcja [%2d] „%sâ€: symbol podpisu nie można być pustym ciÄ…giem\n"
-#: src/elflint.c:2636
+#: src/elflint.c:2640
#, c-format
msgid "section [%2d] '%s': sh_flags not set correctly\n"
-msgstr "sekcja [%2d] \"%s\": sh_flags nie ustawione poprawnie\n"
+msgstr "sekcja [%2d] „%sâ€: sh_flags nie ustawione poprawnie\n"
-#: src/elflint.c:2642
+#: src/elflint.c:2646
#, c-format
msgid "section [%2d] '%s': cannot get data: %s\n"
-msgstr "sekcja [%2d] \"%s\": nie można uzyskać danych: %s\n"
+msgstr "sekcja [%2d] „%sâ€: nie można uzyskać danych: %s\n"
-#: src/elflint.c:2651
+#: src/elflint.c:2655
#, c-format
msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
msgstr ""
-"sekcja [%2d] \"%s\": rozmiar sekcji nie jest wielokrotnością "
+"sekcja [%2d] „%sâ€: rozmiar sekcji nie jest wielokrotnoÅ›ciÄ… "
"sizeof(Elf32_Word)\n"
-#: src/elflint.c:2656
+#: src/elflint.c:2660
#, c-format
msgid "section [%2d] '%s': section group without flags word\n"
-msgstr "sekcja [%2d] \"%s\": grupa sekcji bez słowa flag\n"
+msgstr "sekcja [%2d] „%sâ€: grupa sekcji bez sÅ‚owa flag\n"
-#: src/elflint.c:2662
+#: src/elflint.c:2666
#, c-format
msgid "section [%2d] '%s': section group without member\n"
-msgstr "sekcja [%2d] \"%s\": grupa sekcji bez elementów\n"
+msgstr "sekcja [%2d] „%sâ€: grupa sekcji bez elementów\n"
-#: src/elflint.c:2666
+#: src/elflint.c:2670
#, c-format
msgid "section [%2d] '%s': section group with only one member\n"
-msgstr "sekcja [%2d] \"%s\": grupa sekcji z tylko jednym elementem\n"
+msgstr "sekcja [%2d] „%sâ€: grupa sekcji z tylko jednym elementem\n"
-#: src/elflint.c:2677
+#: src/elflint.c:2681
#, c-format
msgid "section [%2d] '%s': unknown section group flags\n"
-msgstr "sekcja [%2d] \"%s\": nieznane flagi grupy sekcji\n"
+msgstr "sekcja [%2d] „%sâ€: nieznane flagi grupy sekcji\n"
-#: src/elflint.c:2689
-#, fuzzy, c-format
+#: src/elflint.c:2693
+#, c-format
msgid "section [%2d] '%s': section index %zu out of range\n"
-msgstr "sekcja [%2d] \"%s\": indeks sekcji %Zu jest spoza zakresu\n"
+msgstr "sekcja [%2d] „%sâ€: indeks sekcji %zu jest spoza zakresu\n"
-#: src/elflint.c:2698
+#: src/elflint.c:2702
#, c-format
msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
msgstr ""
-"sekcja [%2d] \"%s\": nie można uzyskać nagłówka sekcji dla elementu %zu: %s\n"
+"sekcja [%2d] „%sâ€: nie można uzyskać nagłówka sekcji dla elementu %zu: %s\n"
-#: src/elflint.c:2705
+#: src/elflint.c:2709
#, c-format
msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
-msgstr "sekcja [%2d] \"%s\": grupa sekcji zawiera innÄ… grupÄ™ [%2d] \"%s\"\n"
+msgstr "sekcja [%2d] „%sâ€: grupa sekcji zawiera innÄ… grupÄ™ [%2d] „%sâ€\n"
-#: src/elflint.c:2711
-#, fuzzy, c-format
+#: src/elflint.c:2715
+#, c-format
msgid ""
"section [%2d] '%s': element %zu references section [%2d] '%s' without "
"SHF_GROUP flag set\n"
msgstr ""
-"sekcja [%2d] \"%s\": element %Zu odwołuje się do sekcji [%2d] \"%s\" bez "
-"flagi SHF_GROUP\n"
+"sekcja [%2d] „%sâ€: element %zu odwoÅ‚uje siÄ™ do sekcji [%2d] „%s†bez flagi "
+"SHF_GROUP\n"
-#: src/elflint.c:2718
+#: src/elflint.c:2722
#, c-format
msgid "section [%2d] '%s' is contained in more than one section group\n"
-msgstr "sekcja [%2d] \"%s\" jest zawarta w więcej niż jednej grupie sekcji\n"
+msgstr "sekcja [%2d] „%s†jest zawarta w więcej niż jednej grupie sekcji\n"
-#: src/elflint.c:2907
+#: src/elflint.c:2912
#, c-format
msgid ""
"section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no "
"dynamic symbol table\n"
msgstr ""
-"sekcja [%2d] \"%s\" odwołuje się w sh_link do sekcji [%2d] \"%s\", która nie "
+"sekcja [%2d] „%s†odwoÅ‚uje siÄ™ w sh_link do sekcji [%2d] „%sâ€, która nie "
"jest tabelÄ… symboli dynamicznych\n"
-#: src/elflint.c:2919
+#: src/elflint.c:2924
#, c-format
msgid ""
"section [%2d] '%s' has different number of entries than symbol table [%2d] "
"'%s'\n"
msgstr ""
-"sekcja [%2d] \"%s\" posiada inną liczbę wpisów niż tabela symboli [%2d] \"%s"
-"\"\n"
+"sekcja [%2d] „%s†posiada innÄ… liczbÄ™ wpisów niż tabela symboli [%2d] „%sâ€\n"
-#: src/elflint.c:2935
+#: src/elflint.c:2940
#, c-format
msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
-msgstr "sekcja [%2d] \"%s\": symbol %d: nie można odczytać danych wersji\n"
+msgstr "sekcja [%2d] „%sâ€: symbol %d: nie można odczytać danych wersji\n"
-#: src/elflint.c:2951
+#: src/elflint.c:2956
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
-msgstr "sekcja [%2d] \"%s\": symbol %d: symbol lokalny z zakresem globalnym\n"
+msgstr "sekcja [%2d] „%sâ€: symbol %d: symbol lokalny z zakresem globalnym\n"
-#: src/elflint.c:2959
+#: src/elflint.c:2964
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
-msgstr "sekcja [%2d] \"%s\": symbol %d: symbol lokalny z wersjÄ…\n"
+msgstr "sekcja [%2d] „%sâ€: symbol %d: symbol lokalny z wersjÄ…\n"
-#: src/elflint.c:2973
+#: src/elflint.c:2978
#, c-format
msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
-msgstr "sekcja [%2d] \"%s\": symbol %d: nieprawidłowy indeks wersji %d\n"
+msgstr "sekcja [%2d] „%sâ€: symbol %d: nieprawidÅ‚owy indeks wersji %d\n"
-#: src/elflint.c:2978
+#: src/elflint.c:2983
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for defined version\n"
msgstr ""
-"sekcja [%2d] \"%s\": symbol %d: indeks wersji %d jest dla wersji określonej\n"
+"sekcja [%2d] „%sâ€: symbol %d: indeks wersji %d jest dla wersji okreÅ›lonej\n"
-#: src/elflint.c:2988
+#: src/elflint.c:2993
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for requested version\n"
msgstr ""
-"sekcja [%2d] \"%s\": symbol %d: indeks wersji %d jest dla wersji żądanej\n"
+"sekcja [%2d] „%sâ€: symbol %d: indeks wersji %d jest dla wersji żądanej\n"
-#: src/elflint.c:3041
+#: src/elflint.c:3046
#, c-format
msgid "more than one version reference section present\n"
msgstr "obecna jest więcej niż jedna sekcja odniesienia wersji\n"
-#: src/elflint.c:3049 src/elflint.c:3196
+#: src/elflint.c:3054 src/elflint.c:3201
#, c-format
msgid "section [%2d] '%s': sh_link does not link to string table\n"
-msgstr "sekcja [%2d] \"%s\": sh_link nie łączy się z tabelą ciągów\n"
+msgstr "sekcja [%2d] „%sâ€: sh_link nie Å‚Ä…czy siÄ™ z tabelÄ… ciÄ…gów\n"
-#: src/elflint.c:3074 src/elflint.c:3250
+#: src/elflint.c:3079 src/elflint.c:3255
#, c-format
msgid "section [%2d] '%s': entry %d has wrong version %d\n"
-msgstr "sekcja [%2d] \"%s\": wpis %d posiada błędną wersję %d\n"
+msgstr "sekcja [%2d] „%sâ€: wpis %d posiada bÅ‚Ä™dnÄ… wersjÄ™ %d\n"
-#: src/elflint.c:3081 src/elflint.c:3257
+#: src/elflint.c:3086 src/elflint.c:3262
#, c-format
msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
msgstr ""
-"sekcja [%2d] \"%s\": wpis %d posiada błędny offset dla danych dodatkowych\n"
+"sekcja [%2d] „%sâ€: wpis %d posiada bÅ‚Ä™dny offset dla danych dodatkowych\n"
-#: src/elflint.c:3091
+#: src/elflint.c:3096
#, c-format
msgid "section [%2d] '%s': entry %d has invalid file reference\n"
-msgstr "sekcja [%2d] \"%s\": symbol %d posiada błędne odniesienie do pliku\n"
+msgstr "sekcja [%2d] „%sâ€: symbol %d posiada bÅ‚Ä™dne odniesienie do pliku\n"
-#: src/elflint.c:3099
+#: src/elflint.c:3104
#, c-format
msgid "section [%2d] '%s': entry %d references unknown dependency\n"
-msgstr "sekcja [%2d] \"%s\": wpis %d odnosi się do nieznanej zależności\n"
+msgstr "sekcja [%2d] „%sâ€: wpis %d odnosi siÄ™ do nieznanej zależnoÅ›ci\n"
-#: src/elflint.c:3111
+#: src/elflint.c:3116
#, c-format
msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
msgstr ""
-"sekcja [%2d] \"%s\": wpis dodatkowy %d do wpisu %d posiada nieznanÄ… flagÄ™\n"
+"sekcja [%2d] „%sâ€: wpis dodatkowy %d do wpisu %d posiada nieznanÄ… flagÄ™\n"
-#: src/elflint.c:3119
+#: src/elflint.c:3124
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
"reference\n"
msgstr ""
-"sekcja [%2d] \"%s\": wpis dodatkowy %d do wpisu %d posiada nieprawidłowe "
+"sekcja [%2d] „%sâ€: wpis dodatkowy %d do wpisu %d posiada nieprawidÅ‚owe "
"odniesienie do nazwy\n"
-#: src/elflint.c:3128
+#: src/elflint.c:3133
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: "
"%#x, expected %#x\n"
msgstr ""
-"sekcja [%2d] \"%s\": wpis dodatkowy %d do wpisu %d posiada błędną wartość "
+"sekcja [%2d] „%sâ€: wpis dodatkowy %d do wpisu %d posiada bÅ‚Ä™dnÄ… wartość "
"skrótu: %#x, oczekiwano %#x\n"
-#: src/elflint.c:3137
+#: src/elflint.c:3142
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
"name '%s'\n"
msgstr ""
-"sekcja [%2d] \"%s\": wpis dodatkowy %d do wpisu %d posiada powtórzoną nazwę "
-"wersji \"%s\"\n"
+"sekcja [%2d] „%sâ€: wpis dodatkowy %d do wpisu %d posiada powtórzonÄ… nazwÄ™ "
+"wersji „%sâ€\n"
-#: src/elflint.c:3148
+#: src/elflint.c:3153
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
msgstr ""
-"sekcja [%2d] \"%s\": wpis dodatkowy %d do wpisu %d posiada błędne następne "
+"sekcja [%2d] „%sâ€: wpis dodatkowy %d do wpisu %d posiada bÅ‚Ä™dne nastÄ™pne "
"pole\n"
-#: src/elflint.c:3165 src/elflint.c:3341
+#: src/elflint.c:3170 src/elflint.c:3346
#, c-format
msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
-msgstr ""
-"sekcja [%2d] \"%s\": wpis %d posiada błędny offset do następnego wpisu\n"
+msgstr "sekcja [%2d] „%sâ€: wpis %d posiada bÅ‚Ä™dny offset do nastÄ™pnego wpisu\n"
-#: src/elflint.c:3173 src/elflint.c:3349
+#: src/elflint.c:3178 src/elflint.c:3354
#, c-format
msgid ""
"section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says "
"there are more entries\n"
msgstr ""
-"sekcja [%2d] \"%s\": wpis %d posiada zerowy offset do następnego wpisu, ale "
+"sekcja [%2d] „%sâ€: wpis %d posiada zerowy offset do nastÄ™pnego wpisu, ale "
"sh_info zawiera informacje o więcej wpisów\n"
-#: src/elflint.c:3188
+#: src/elflint.c:3193
#, c-format
msgid "more than one version definition section present\n"
msgstr "obecna jest więcej niż jedna sekcja definicji wersji\n"
-#: src/elflint.c:3235
+#: src/elflint.c:3240
#, c-format
msgid "section [%2d] '%s': more than one BASE definition\n"
-msgstr "sekcja [%2d] \"%s\": jest więcej niż jedna definicja BASE\n"
+msgstr "sekcja [%2d] „%sâ€: jest wiÄ™cej niż jedna definicja BASE\n"
-#: src/elflint.c:3239
+#: src/elflint.c:3244
#, c-format
msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
msgstr ""
-"sekcja [%2d] \"%s\": definicja BASE musi posiadać indeks VER_NDX_GLOBAL\n"
+"sekcja [%2d] „%sâ€: definicja BASE musi posiadać indeks VER_NDX_GLOBAL\n"
-#: src/elflint.c:3245
+#: src/elflint.c:3250
#, c-format
msgid "section [%2d] '%s': entry %d has unknown flag\n"
-msgstr "sekcja [%2d] \"%s\": wpis %d posiada nieznanÄ… flagÄ™\n"
+msgstr "sekcja [%2d] „%sâ€: wpis %d posiada nieznanÄ… flagÄ™\n"
-#: src/elflint.c:3272
+#: src/elflint.c:3277
#, c-format
msgid "section [%2d] '%s': entry %d has invalid name reference\n"
msgstr ""
-"sekcja [%2d] \"%s\": wpis %d posiada nieprawidłowe odniesienie do nazwy\n"
+"sekcja [%2d] „%sâ€: wpis %d posiada nieprawidÅ‚owe odniesienie do nazwy\n"
-#: src/elflint.c:3279
+#: src/elflint.c:3284
#, c-format
msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
msgstr ""
-"sekcja [%2d] \"%s\": wpis %d posiada błędną wartość skrótu: %#x, oczekiwano "
+"sekcja [%2d] „%sâ€: wpis %d posiada bÅ‚Ä™dnÄ… wartość skrótu: %#x, oczekiwano "
"%#x\n"
-#: src/elflint.c:3287
+#: src/elflint.c:3292
#, c-format
msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
-msgstr "sekcja [%2d] \"%s\": wpis %d posiada powtórzoną nazwę wersji \"%s\"\n"
+msgstr "sekcja [%2d] „%sâ€: wpis %d posiada powtórzonÄ… nazwÄ™ wersji „%sâ€\n"
-#: src/elflint.c:3307
+#: src/elflint.c:3312
#, c-format
msgid ""
"section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
msgstr ""
-"sekcja [%2d] \"%s\": wpis %d posiada nieprawidłowe odniesienie do nazwy w "
+"sekcja [%2d] „%sâ€: wpis %d posiada nieprawidÅ‚owe odniesienie do nazwy w "
"danych dodatkowych\n"
-#: src/elflint.c:3324
+#: src/elflint.c:3329
#, c-format
msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
msgstr ""
-"sekcja [%2d] \"%s\": wpis %d posiada błędne następne pole w danych "
+"sekcja [%2d] „%sâ€: wpis %d posiada bÅ‚Ä™dne nastÄ™pne pole w danych "
"dodatkowych\n"
-#: src/elflint.c:3357
+#: src/elflint.c:3362
#, c-format
msgid "section [%2d] '%s': no BASE definition\n"
-msgstr "sekcja [%2d] \"%s\": brak definicji BASE\n"
+msgstr "sekcja [%2d] „%sâ€: brak definicji BASE\n"
-#: src/elflint.c:3373
+#: src/elflint.c:3378
#, c-format
msgid "section [%2d] '%s': unknown parent version '%s'\n"
-msgstr "sekcja [%2d] \"%s\": nieznana wersja rodzica \"%s\"\n"
+msgstr "sekcja [%2d] „%sâ€: nieznana wersja rodzica „%sâ€\n"
-#: src/elflint.c:3386
+#: src/elflint.c:3391
#, c-format
msgid "section [%2d] '%s': empty object attributes section\n"
-msgstr "sekcja [%2d] \"%s\": pusta sekcja atrybutów obiektu\n"
+msgstr "sekcja [%2d] „%sâ€: pusta sekcja atrybutów obiektu\n"
-#: src/elflint.c:3407
+#: src/elflint.c:3412
#, c-format
msgid "section [%2d] '%s': unrecognized attribute format\n"
-msgstr "sekcja [%2d] \"%s\": nierozpoznany format atrybutu\n"
+msgstr "sekcja [%2d] „%sâ€: nierozpoznany format atrybutu\n"
-#: src/elflint.c:3423
+#: src/elflint.c:3428
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute section\n"
msgstr ""
-"sekcja [%2d] \"%s\": offset %zu: pole o zerowej długości w sekcji atrybutów\n"
+"sekcja [%2d] „%sâ€: offset %zu: pole o zerowej dÅ‚ugoÅ›ci w sekcji atrybutów\n"
-#: src/elflint.c:3432
+#: src/elflint.c:3437
#, c-format
msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
msgstr ""
-"sekcja [%2d] \"%s\": offset %zu: nieprawidłowa długość w sekcji atrybutów\n"
+"sekcja [%2d] „%sâ€: offset %zu: nieprawidÅ‚owa dÅ‚ugość w sekcji atrybutów\n"
-#: src/elflint.c:3444
+#: src/elflint.c:3449
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
-msgstr "sekcja [%2d] \"%s\": offset %zu: niezakończony ciąg nazwy producenta\n"
+msgstr "sekcja [%2d] „%sâ€: offset %zu: niezakoÅ„czony ciÄ…g nazwy producenta\n"
-#: src/elflint.c:3461
+#: src/elflint.c:3466
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
msgstr ""
-"sekcja [%2d] \"%s\": offset %zu: niekończące się ULEB128 w znaczniku "
-"podsekcji atrybutów\n"
+"sekcja [%2d] „%sâ€: offset %zu: niekoÅ„czÄ…ce siÄ™ ULEB128 w znaczniku podsekcji "
+"atrybutów\n"
-#: src/elflint.c:3470
+#: src/elflint.c:3475
#, c-format
msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
-msgstr "sekcja [%2d] \"%s\": offset %zu: skrócona sekcja atrybutów\n"
+msgstr "sekcja [%2d] „%sâ€: offset %zu: skrócona sekcja atrybutów\n"
-#: src/elflint.c:3479
+#: src/elflint.c:3484
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
msgstr ""
-"sekcja [%2d] \"%s\": offset %zu: zerowej długości pole w podsekcji "
-"atrybutów\n"
+"sekcja [%2d] „%sâ€: offset %zu: zerowej dÅ‚ugoÅ›ci pole w podsekcji atrybutów\n"
-#: src/elflint.c:3494
+#: src/elflint.c:3499
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
msgstr ""
-"sekcja [%2d] \"%s\": offset %zu: nieprawidłowa długość w podsekcji "
-"atrybutów\n"
+"sekcja [%2d] „%sâ€: offset %zu: nieprawidÅ‚owa dÅ‚ugość w podsekcji atrybutów\n"
-#: src/elflint.c:3505
+#: src/elflint.c:3510
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
msgstr ""
-"sekcja [%2d] \"%s\": offset %zu: podsekcja atrybutów posiada nieoczekiwany "
+"sekcja [%2d] „%sâ€: offset %zu: podsekcja atrybutów posiada nieoczekiwany "
"znacznik %u\n"
-#: src/elflint.c:3523
+#: src/elflint.c:3528
#, c-format
msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
msgstr ""
-"sekcja [%2d] \"%s\": offset %zu: niekończące się ULEB128 w znaczniku "
-"atrybutu\n"
+"sekcja [%2d] „%sâ€: offset %zu: niekoÅ„czÄ…ce siÄ™ ULEB128 w znaczniku atrybutu\n"
-#: src/elflint.c:3534
+#: src/elflint.c:3539
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
-msgstr "sekcja [%2d] \"%s\": offset %zu: niezakończony ciąg w atrybucie\n"
+msgstr "sekcja [%2d] „%sâ€: offset %zu: niezakoÅ„czony ciÄ…g w atrybucie\n"
-#: src/elflint.c:3547
+#: src/elflint.c:3552
#, c-format
msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
-msgstr "sekcja [%2d] \"%s\": offset %zu: nierozpoznany znacznik atrybutu %u\n"
+msgstr "sekcja [%2d] „%sâ€: offset %zu: nierozpoznany znacznik atrybutu %u\n"
-#: src/elflint.c:3551
+#: src/elflint.c:3556
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
msgstr ""
-"sekcja [%2d] \"%s\": offset %zu: atrybut %s posiada nierozpoznaną wartość "
+"sekcja [%2d] „%sâ€: offset %zu: atrybut %s posiada nierozpoznanÄ… wartość "
"%<PRIu64>\n"
-#: src/elflint.c:3561
+#: src/elflint.c:3566
#, c-format
msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
-msgstr "sekcja [%2d] \"%s\": offset %zu: producent \"%s\" jest nieznany\n"
+msgstr "sekcja [%2d] „%sâ€: offset %zu: producent „%s†jest nieznany\n"
-#: src/elflint.c:3567
+#: src/elflint.c:3572
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
msgstr ""
-"sekcja [%2d] \"%s\": offset %zu: dodatkowe bajty po ostatniej sekcji "
+"sekcja [%2d] „%sâ€: offset %zu: dodatkowe bajty po ostatniej sekcji "
"atrybutów\n"
-#: src/elflint.c:3656
+#: src/elflint.c:3661
#, c-format
msgid "cannot get section header of zeroth section\n"
msgstr "nie można uzyskać nagłówka sekcji zerowej\n"
-#: src/elflint.c:3660
+#: src/elflint.c:3665
#, c-format
msgid "zeroth section has nonzero name\n"
msgstr "sekcja zerowa posiada niezerowÄ… nazwÄ™\n"
-#: src/elflint.c:3662
+#: src/elflint.c:3667
#, c-format
msgid "zeroth section has nonzero type\n"
msgstr "sekcja zerowa posiada niezerowy typ\n"
-#: src/elflint.c:3664
+#: src/elflint.c:3669
#, c-format
msgid "zeroth section has nonzero flags\n"
msgstr "sekcja zerowa posiada niezerowe flagi\n"
-#: src/elflint.c:3666
+#: src/elflint.c:3671
#, c-format
msgid "zeroth section has nonzero address\n"
msgstr "sekcja zerowa posiada niezerowy adres\n"
-#: src/elflint.c:3668
+#: src/elflint.c:3673
#, c-format
msgid "zeroth section has nonzero offset\n"
msgstr "sekcja zerowa posiada niezerowy offset\n"
-#: src/elflint.c:3670
+#: src/elflint.c:3675
#, c-format
msgid "zeroth section has nonzero align value\n"
msgstr "sekcja zerowa posiada niezerową wartość wyrównania\n"
-#: src/elflint.c:3672
+#: src/elflint.c:3677
#, c-format
msgid "zeroth section has nonzero entry size value\n"
msgstr "sekcja zerowa posiada niezerową wartość rozmiaru wpisu\n"
-#: src/elflint.c:3675
+#: src/elflint.c:3680
#, c-format
msgid ""
"zeroth section has nonzero size value while ELF header has nonzero shnum "
@@ -2761,7 +2778,7 @@ msgstr ""
"sekcja zerowa posiada niezerową wartość rozmiaru, a nagłówek ELF posiada "
"niezerową wartość shnum\n"
-#: src/elflint.c:3679
+#: src/elflint.c:3684
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
@@ -2770,7 +2787,7 @@ msgstr ""
"sekcja zerowa posiada niezerową wartość dowiązań, a nagłówek ELF nie "
"wskazuje przepełnienia w shstrndx\n"
-#: src/elflint.c:3683
+#: src/elflint.c:3688
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
@@ -2779,224 +2796,236 @@ msgstr ""
"sekcja zerowa posiada niezerową wartość dowiązań, a nagłówek ELF nie "
"wskazuje przepełnienia w phnum\n"
-#: src/elflint.c:3700
+#: src/elflint.c:3706
#, c-format
msgid "cannot get section header for section [%2zu] '%s': %s\n"
-msgstr "nie można uzyskać nagłówka sekcji dla sekcji [%2zu] \"%s\": %s\n"
+msgstr "nie można uzyskać nagłówka sekcji dla sekcji [%2zu] „%sâ€: %s\n"
-#: src/elflint.c:3709
+#: src/elflint.c:3715
#, c-format
msgid "section [%2zu]: invalid name\n"
msgstr "sekcja [%2zu]: nieprawidłowa nazwa\n"
-#: src/elflint.c:3736
+#: src/elflint.c:3742
#, c-format
msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
-msgstr "sekcja [%2d] \"%s\" posiada błędny typ: oczekiwano %s, jest %s\n"
+msgstr "sekcja [%2d] „%s†posiada błędny typ: oczekiwano %s, jest %s\n"
-#: src/elflint.c:3752
+#: src/elflint.c:3760
#, c-format
msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
-msgstr "sekcja [%2zu] \"%s\" posiada błędne flagi: oczekiwano %s, jest %s\n"
+msgstr "sekcja [%2zu] „%s†posiada błędne flagi: oczekiwano %s, jest %s\n"
-#: src/elflint.c:3769
+#: src/elflint.c:3778
#, c-format
msgid ""
"section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
msgstr ""
-"sekcja [%2zu] \"%s\" posiada błędne flagi: oczekiwano %s i być może %s, jest "
+"sekcja [%2zu] „%s†posiada błędne flagi: oczekiwano %s i być może %s, jest "
"%s\n"
-#: src/elflint.c:3787
+#: src/elflint.c:3796
#, c-format
msgid "section [%2zu] '%s' present in object file\n"
-msgstr "sekcja [%2zu] \"%s\" jest obecna w pliku obiektu\n"
+msgstr "sekcja [%2zu] „%s†jest obecna w pliku obiektu\n"
-#: src/elflint.c:3793 src/elflint.c:3825
+#: src/elflint.c:3802 src/elflint.c:3834
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
msgstr ""
-"sekcja [%2zu] \"%s\" posiada flagÄ™ SHF_ALLOC, ale nie posiada segmentu "
+"sekcja [%2zu] „%s†posiada flagę SHF_ALLOC, ale nie posiada segmentu "
"wczytywalnego\n"
-#: src/elflint.c:3798 src/elflint.c:3830
+#: src/elflint.c:3807 src/elflint.c:3839
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
"segments\n"
msgstr ""
-"sekcja [%2zu] \"%s\" nie posiada flagi SHF_ALLOC, ale sÄ… segmenty "
-"wczytywalne\n"
+"sekcja [%2zu] „%s†nie posiada flagi SHF_ALLOC, ale są segmenty wczytywalne\n"
-#: src/elflint.c:3806
+#: src/elflint.c:3815
#, c-format
msgid ""
"section [%2zu] '%s' is extension section index table in non-object file\n"
msgstr ""
-"sekcja [%2zu] \"%s\" jest tabelą indeksów sekcji rozszerzeń w pliku "
+"sekcja [%2zu] „%s†jest tabelą indeksów sekcji rozszerzeń w pliku "
"nieobiektowym\n"
-#: src/elflint.c:3849
+#: src/elflint.c:3858
#, c-format
msgid "section [%2zu] '%s': size not multiple of entry size\n"
-msgstr ""
-"sekcja [%2zu] \"%s\": rozmiar nie jest wielokrotnością rozmiaru wpisu\n"
+msgstr "sekcja [%2zu] „%sâ€: rozmiar nie jest wielokrotnoÅ›ciÄ… rozmiaru wpisu\n"
-#: src/elflint.c:3854
+#: src/elflint.c:3863
#, c-format
msgid "cannot get section header\n"
msgstr "nie można uzyskać nagłówka sekcji\n"
-#: src/elflint.c:3864
+#: src/elflint.c:3873
#, c-format
msgid "section [%2zu] '%s' has unsupported type %d\n"
-msgstr "sekcja [%2zu] \"%s\" posiada nieobsługiwany typ %d\n"
+msgstr "sekcja [%2zu] „%s†posiada nieobsługiwany typ %d\n"
-#: src/elflint.c:3878
+#: src/elflint.c:3888
#, c-format
msgid ""
"section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
msgstr ""
-"sekcja [%2zu] \"%s\" zawiera nieprawidłowe flagi specyficzne dla procesora "
+"sekcja [%2zu] „%s†zawiera nieprawidłowe flagi specyficzne dla procesora "
"%#<PRIx64>\n"
-#: src/elflint.c:3885
+#: src/elflint.c:3895
#, c-format
msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
-msgstr "sekcja [%2zu] \"%s\" zawiera nieznane flagi %#<PRIx64>\n"
+msgstr "sekcja [%2zu] „%s†zawiera nieznane flagi %#<PRIx64>\n"
-#: src/elflint.c:3893
+#: src/elflint.c:3903
#, c-format
msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
msgstr ""
-"sekcja [%2zu] \"%s\": adres sekcji danych lokalnych dla wątków nie jest "
-"zerem\n"
+"sekcja [%2zu] „%sâ€: adres sekcji danych lokalnych dla wÄ…tków nie jest zerem\n"
-#: src/elflint.c:3901
+#: src/elflint.c:3913
+#, c-format
+msgid "section [%2zu] '%s': allocated section cannot be compressed\n"
+msgstr "sekcja [%2zu] „%sâ€: nie można skompresować przydzielonej sekcji\n"
+
+#: src/elflint.c:3918
+#, c-format
+msgid "section [%2zu] '%s': nobits section cannot be compressed\n"
+msgstr "sekcja [%2zu] „%sâ€: nie można skompresować sekcji „nobitsâ€\n"
+
+#: src/elflint.c:3924
+#, c-format
+msgid ""
+"section [%2zu] '%s': compressed section with no compression header: %s\n"
+msgstr "sekcja [%2zu] „%sâ€: skompresowana sekcja bez nagłówka kompresji: %s\n"
+
+#: src/elflint.c:3930
#, c-format
msgid "section [%2zu] '%s': invalid section reference in link value\n"
msgstr ""
-"sekcja [%2zu] \"%s\": nieprawidłowe odwołanie do sekcji w wartości "
-"dowiÄ…zania\n"
+"sekcja [%2zu] „%sâ€: nieprawidÅ‚owe odwoÅ‚anie do sekcji w wartoÅ›ci dowiÄ…zania\n"
-#: src/elflint.c:3906
+#: src/elflint.c:3935
#, c-format
msgid "section [%2zu] '%s': invalid section reference in info value\n"
msgstr ""
-"sekcja [%2zu] \"%s\": nieprawidłowe odwołanie do sekcji w wartości "
+"sekcja [%2zu] „%sâ€: nieprawidÅ‚owe odwoÅ‚anie do sekcji w wartoÅ›ci "
"informacyjnej\n"
-#: src/elflint.c:3913
+#: src/elflint.c:3942
#, c-format
msgid "section [%2zu] '%s': strings flag set without merge flag\n"
-msgstr "sekcja [%2zu] \"%s\": flaga ciągów jest ustawiona bez flagi merge\n"
+msgstr "sekcja [%2zu] „%sâ€: flaga ciÄ…gów jest ustawiona bez flagi merge\n"
-#: src/elflint.c:3918
+#: src/elflint.c:3947
#, c-format
msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
msgstr ""
-"sekcja [%2zu] \"%s\": flaga merge jest ustawiona, ale rozmiar wpisu jest "
+"sekcja [%2zu] „%sâ€: flaga merge jest ustawiona, ale rozmiar wpisu jest "
"zerowy\n"
-#: src/elflint.c:3936
+#: src/elflint.c:3965
#, c-format
msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
msgstr ""
-"sekcja [%2zu] \"%s\" posiada nieoczekiwany typ %d dla sekcji wykonywalnej\n"
+"sekcja [%2zu] „%s†posiada nieoczekiwany typ %d dla sekcji wykonywalnej\n"
-#: src/elflint.c:3945
-#, fuzzy, c-format
+#: src/elflint.c:3974
+#, c-format
msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n"
-msgstr "sekcja [%2zu] \"%s\" nie może być zapisywalna\n"
+msgstr "sekcja [%2zu] „%s†musi być typu NOBITS w plikach debuginfo\n"
-#: src/elflint.c:3952
+#: src/elflint.c:3981
#, c-format
msgid "section [%2zu] '%s' is both executable and writable\n"
-msgstr "sekcja [%2zu] \"%s\" jest wykonywalne i zapisywalne\n"
+msgstr "sekcja [%2zu] „%s†jest wykonywalne i zapisywalne\n"
-#: src/elflint.c:3982
+#: src/elflint.c:4012
#, c-format
msgid ""
"section [%2zu] '%s' not fully contained in segment of program header entry "
"%d\n"
msgstr ""
-"sekcja [%2zu] \"%s\" nie jest w całości zawarta w segmencie wpisu %d "
-"nagłówka programu\n"
+"sekcja [%2zu] „%s†nie jest w całości zawarta w segmencie wpisu %d nagłówka "
+"programu\n"
-#: src/elflint.c:3992
+#: src/elflint.c:4022
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
"program header entry %d\n"
msgstr ""
-"sekcja [%2zu] \"%s\" posiada typ NOBITS, a jest odczytywana z pliku w "
+"sekcja [%2zu] „%s†posiada typ NOBITS, a jest odczytywana z pliku w "
"segmencie wpisu %d nagłówka programu\n"
-#: src/elflint.c:4018
-#, fuzzy, c-format
+#: src/elflint.c:4048
+#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
"program header entry %d and file contents is non-zero\n"
msgstr ""
-"sekcja [%2zu] \"%s\" posiada typ NOBITS, a jest odczytywana z pliku w "
-"segmencie wpisu %d nagłówka programu\n"
+"sekcja [%2zu] „%s†posiada typ NOBITS, ale jest odczytywana z pliku w "
+"segmencie wpisu %d nagłówka programu, a zawartość pliku jest niezerowa\n"
-#: src/elflint.c:4029
+#: src/elflint.c:4059
#, c-format
msgid ""
"section [%2zu] '%s' has not type NOBITS but is not read from the file in "
"segment of program header entry %d\n"
msgstr ""
-"sekcja [%2zu] \"%s\" nie posiada typu NOBITS, a nie jest odczytywana z pliku "
-"w segmencie wpisu %d nagłówka programu\n"
+"sekcja [%2zu] „%s†nie posiada typu NOBITS, a nie jest odczytywana z pliku w "
+"segmencie wpisu %d nagłówka programu\n"
-#: src/elflint.c:4040
+#: src/elflint.c:4070
#, c-format
msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
-msgstr "sekcja [%2zu] \"%s\" jest wykonywalne w segmencie niewykonywalnym %d\n"
+msgstr "sekcja [%2zu] „%s†jest wykonywalne w segmencie niewykonywalnym %d\n"
-#: src/elflint.c:4050
+#: src/elflint.c:4080
#, c-format
msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
-msgstr "sekcja [%2zu] \"%s\" jest zapisywalne w niezapisywalnym segmencie %d\n"
+msgstr "sekcja [%2zu] „%s†jest zapisywalne w niezapisywalnym segmencie %d\n"
-#: src/elflint.c:4060
+#: src/elflint.c:4090
#, c-format
msgid ""
"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
msgstr ""
-"sekcja [%2zu] \"%s\": posiada flagę alloc, ale sekcja nie jest w żadnym "
+"sekcja [%2zu] „%sâ€: posiada flagÄ™ alloc, ale sekcja nie jest w żadnym "
"segmencie wczytywalnym\n"
-#: src/elflint.c:4066
+#: src/elflint.c:4096
#, c-format
msgid ""
"section [%2zu] '%s': ELF header says this is the section header string table "
"but type is not SHT_TYPE\n"
msgstr ""
-"sekcja [%2zu] \"%s\": według nagłówka ELF to jest tabela ciągów nagłówków "
+"sekcja [%2zu] „%sâ€: wedÅ‚ug nagłówka ELF to jest tabela ciÄ…gów nagłówków "
"sekcji, ale typ nie jest SHT_TYPE\n"
-#: src/elflint.c:4074
+#: src/elflint.c:4104
#, c-format
msgid ""
"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
msgstr ""
-"sekcja [%2zu] \"%s\": pliki relokowalne nie mogą posiadać tabeli symboli "
+"sekcja [%2zu] „%sâ€: pliki relokowalne nie mogÄ… posiadać tabeli symboli "
"dynamicznych\n"
-#: src/elflint.c:4125
+#: src/elflint.c:4155
#, c-format
msgid "more than one version symbol table present\n"
msgstr "obecna jest więcej niż jedna tabela symboli wersji\n"
-#: src/elflint.c:4148
+#: src/elflint.c:4178
#, c-format
msgid "INTERP program header entry but no .interp section\n"
msgstr "jest wpis nagłówka programu INTERP, ale nie posiada sekcji .interp\n"
-#: src/elflint.c:4159
+#: src/elflint.c:4189
#, c-format
msgid ""
"loadable segment [%u] is executable but contains no executable sections\n"
@@ -3004,14 +3033,14 @@ msgstr ""
"wczytywalny segment [%u] jest wykonywalny, ale nie zawiera wykonywalnych "
"sekcji\n"
-#: src/elflint.c:4165
+#: src/elflint.c:4195
#, c-format
msgid "loadable segment [%u] is writable but contains no writable sections\n"
msgstr ""
"wczytywalny segment [%u] jest zapisywalny, ale nie zawiera zapisywalnych "
"sekcji\n"
-#: src/elflint.c:4176
+#: src/elflint.c:4206
#, c-format
msgid ""
"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
@@ -3020,75 +3049,75 @@ msgstr ""
"brak sekcji .gnu.versym, ale istnieje sekcja .gnu.versym_d lub .gnu."
"versym_r\n"
-#: src/elflint.c:4189
+#: src/elflint.c:4219
#, c-format
msgid "duplicate version index %d\n"
msgstr "powtórzony indeks wersji %d\n"
-#: src/elflint.c:4203
+#: src/elflint.c:4233
#, c-format
msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
msgstr "sekcja .gnu.versym istnieje bez .gnu.versym_d lub .gnu.versym_r\n"
-#: src/elflint.c:4252
+#: src/elflint.c:4282
#, c-format
msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
msgstr ""
"phdr[%d]: nieznany typ notatki pliku core %<PRIu32> pod offsetem %<PRIu64>\n"
-#: src/elflint.c:4256
-#, fuzzy, c-format
+#: src/elflint.c:4286
+#, c-format
msgid ""
"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
msgstr ""
-"phdr[%2d]: \"%s\": nieznany typ notatki pliku core %<PRIu32> pod offsetem "
-"%Zu\n"
+"sekcja [%2d]: „%sâ€: nieznany typ notatki pliku core %<PRIu32> pod offsetem "
+"%zu\n"
-#: src/elflint.c:4279
-#, fuzzy, c-format
+#: src/elflint.c:4309
+#, c-format
msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %zu\n"
msgstr ""
-"phdr[%d]: nieznany typ notatki pliku obiektu %<PRIu32> pod offsetem %Zu\n"
+"phdr[%d]: nieznany typ notatki pliku obiektu %<PRIu32> pod offsetem %zu\n"
-#: src/elflint.c:4283
-#, fuzzy, c-format
+#: src/elflint.c:4313
+#, c-format
msgid ""
"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n"
msgstr ""
-"sekcja [%2d] \"%s\": nieznany typ notatki pliku obiektu %<PRIu32> pod "
-"offsetem %Zu\n"
+"sekcja [%2d] „%sâ€: nieznany typ notatki pliku obiektu %<PRIu32> pod offsetem "
+"%zu\n"
-#: src/elflint.c:4300
+#: src/elflint.c:4330
#, 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:4319
+#: src/elflint.c:4349
#, 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:4322
+#: src/elflint.c:4352
#, 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:4343
+#: src/elflint.c:4373
#, 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"
+msgstr "sekcja [%2d] „%sâ€: brak okreÅ›lonych wpisów notatek dla typu pliku\n"
-#: src/elflint.c:4350
+#: src/elflint.c:4380
#, 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"
+msgstr "sekcja [%2d] „%sâ€: nie można uzyskać zawartoÅ›ci sekcji notatek\n"
-#: src/elflint.c:4353
+#: src/elflint.c:4383
#, 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"
+msgstr "sekcja [%2d] „%sâ€: dodatkowe %<PRIu64> bajtów po ostatniej notatce\n"
-#: src/elflint.c:4371
+#: src/elflint.c:4401
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
@@ -3096,135 +3125,136 @@ msgstr ""
"tylko pliki wykonywalne, obiekty współdzielone i pliki core mogą posiadać "
"nagłówki programu\n"
-#: src/elflint.c:4386
+#: src/elflint.c:4416
#, 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:4395
+#: src/elflint.c:4425
#, 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:4406
+#: src/elflint.c:4436
#, 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:4414
+#: src/elflint.c:4444
#, 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:4421
+#: src/elflint.c:4451
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr "statyczny plik wykonywalny nie może posiadać sekcji dynamicznych\n"
-#: src/elflint.c:4435
+#: src/elflint.c:4465
#, c-format
msgid "dynamic section reference in program header has wrong offset\n"
msgstr ""
"odniesienie sekcji dynamicznej w nagłówku programu posiada błędny offset\n"
-#: src/elflint.c:4438
+#: src/elflint.c:4468
#, 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:4448
+#: src/elflint.c:4478
#, 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:4469
+#: src/elflint.c:4499
#, 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:4480
+#: src/elflint.c:4510
#, 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:4487
+#: src/elflint.c:4517
#, 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:4496 src/elflint.c:4519
+#: src/elflint.c:4526 src/elflint.c:4549
#, 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:4525
+#: src/elflint.c:4555
#, 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:4550
+#: src/elflint.c:4580
#, 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 posiada "
"błędny offset\n"
-#: src/elflint.c:4553
+#: src/elflint.c:4583
#, 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:4566
+#: src/elflint.c:4596
#, 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:4574
+#: src/elflint.c:4604
#, c-format
msgid "call frame search table must be allocated\n"
msgstr "tabela wyszukiwania ramki wywołania musi być przydzielona\n"
-#: src/elflint.c:4577
+#: src/elflint.c:4607
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
-msgstr "sekcja [%2zu] \"%s\": musi być przydzielona\n"
+msgstr "sekcja [%2zu] „%sâ€: musi być przydzielona\n"
-#: src/elflint.c:4581
+#: src/elflint.c:4611
#, 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:4584
+#: src/elflint.c:4614
#, c-format
msgid "section [%2zu] '%s' must not be writable\n"
-msgstr "sekcja [%2zu] \"%s\" nie może być zapisywalna\n"
+msgstr "sekcja [%2zu] „%s†nie może być zapisywalna\n"
-#: src/elflint.c:4589
+#: src/elflint.c:4619
#, 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:4592
+#: src/elflint.c:4622
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
-msgstr "sekcja [%2zu] \"%s\" nie może być wykonywalna\n"
+msgstr "sekcja [%2zu] „%s†nie może być wykonywalna\n"
-#: src/elflint.c:4603
+#: src/elflint.c:4633
#, 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:4610
+#: src/elflint.c:4640
#, 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:4613
+#: src/elflint.c:4643
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
@@ -3233,7 +3263,7 @@ msgstr ""
"wpis nagłówka programu %d: offset w pliku i adres wirtualny nie są "
"wielokrotnością wyrównania\n"
-#: src/elflint.c:4626
+#: src/elflint.c:4656
#, c-format
msgid ""
"executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME "
@@ -3242,12 +3272,12 @@ msgstr ""
"plik wykonywalny/DSO z sekcją .eh_frame_hdr nie posiada wpisu nagłówka "
"programu PT_GNU_EH_FRAME"
-#: src/elflint.c:4660
+#: src/elflint.c:4690
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr "nie można odczytać nagłówka ELF: %s\n"
-#: src/elflint.c:4686
+#: src/elflint.c:4716
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr "flaga relokacji tekstu jest ustawiona, ale niepotrzebna\n"
@@ -3268,20 +3298,20 @@ msgstr "Używa ŚCIEŻKI jako korzenia dla hierarchii debuginfo"
msgid "Locate source of text relocations in FILEs (a.out by default)."
msgstr "Odnajduje źródło relokacji tekstu w PLIKACH (domyślnie a.out)."
-#: src/findtextrel.c:76 src/nm.c:107 src/objdump.c:71 src/size.c:83
+#: src/findtextrel.c:76 src/nm.c:108 src/objdump.c:71 src/size.c:83
#: src/strings.c:88 src/strip.c:95
msgid "[FILE...]"
-msgstr "[PLIK...]"
+msgstr "[PLIK…]"
#: src/findtextrel.c:238
#, c-format
msgid "cannot get ELF header '%s': %s"
-msgstr "nie można uzyskać nagłówka ELF \"%s\": %s"
+msgstr "nie można uzyskać nagłówka ELF „%sâ€: %s"
#: src/findtextrel.c:249
#, c-format
msgid "'%s' is not a DSO or PIE"
-msgstr "\"%s\" nie jest DSO ani PIE"
+msgstr "„%s†nie jest DSO ani PIE"
#: src/findtextrel.c:269
#, c-format
@@ -3296,7 +3326,7 @@ msgstr "nie można odczytać sekcji dynamicznej: %s"
#: src/findtextrel.c:313
#, c-format
msgid "no text relocations reported in '%s'"
-msgstr "brak relokacji tekstu w \"%s\""
+msgstr "brak relokacji tekstu w „%sâ€"
#: src/findtextrel.c:325
#, c-format
@@ -3316,12 +3346,12 @@ msgstr "nie można uzyskać indeksu nagłówka programu pod offsetem %zd: %s"
#: src/findtextrel.c:421
#, c-format
msgid "cannot get symbol table section %zu in '%s': %s"
-msgstr "nie można uzyskać sekcji tabeli symboli %zu w \"%s\": %s"
+msgstr "nie można uzyskać sekcji tabeli symboli %zu w „%sâ€: %s"
#: src/findtextrel.c:441 src/findtextrel.c:464
#, 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"
+msgstr "nie można uzyskać relokacji pod indeksem %d w sekcji %zu w „%sâ€: %s"
#: src/findtextrel.c:530
#, c-format
@@ -3332,8 +3362,7 @@ msgstr "%s nie został skompilowany z -fpic/-fPIC\n"
#, 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"
+msgstr "plik zawierający funkcję „%s†nie został skompilowany z -fpic/-fPIC\n"
#: src/findtextrel.c:590 src/findtextrel.c:610
#, c-format
@@ -3341,7 +3370,7 @@ msgid ""
"the file containing the function '%s' might not be compiled with -fpic/-"
"fPIC\n"
msgstr ""
-"plik zawierający funkcję \"%s\" mógł nie zostać skompilowany z -fpic/-fPIC\n"
+"plik zawierający funkcję „%s†mógł nie zostać skompilowany z -fpic/-fPIC\n"
#: src/findtextrel.c:598
#, c-format
@@ -3349,8 +3378,8 @@ msgid ""
"either the file containing the function '%s' or the file containing the "
"function '%s' is not compiled with -fpic/-fPIC\n"
msgstr ""
-"plik zawierajÄ…cy funkcjÄ™ \"%s\" lub plik zawierajÄ…cy funkcjÄ™ \"%s\" nie "
-"został skompilowany z -fpic/-fPIC\n"
+"plik zawierający funkcję „%s†lub plik zawierający funkcję „%s†nie został "
+"skompilowany z -fpic/-fPIC\n"
#: src/findtextrel.c:618
#, c-format
@@ -3487,7 +3516,7 @@ msgstr "Włącza/wyłącza flagi leniwego wczytywania dla następnych zależnoś
#: src/ld.c:124
msgid "Mark object as not loadable with 'dlopen'."
-msgstr "Oznacza obiekt jako niewczytywalnego przez \"dlopen\"."
+msgstr "Oznacza obiekt jako niewczytywalnego przez „dlopenâ€."
#: src/ld.c:126
msgid "Ignore/record dependencies on unused DSOs."
@@ -3628,7 +3657,7 @@ msgstr "ÅÄ…czy pliki obiektów i archiwów."
#: src/ld.c:191
msgid "[FILE]..."
-msgstr "[PLIK]..."
+msgstr "[PLIK]…"
#: src/ld.c:319
#, c-format
@@ -3643,7 +3672,7 @@ msgstr "błąd podczas przygotowywania konsolidowania"
#: src/ld.c:342
#, c-format
msgid "cannot open linker script '%s'"
-msgstr "nie można otworzyć skryptu konsolidatora \"%s\""
+msgstr "nie można otworzyć skryptu konsolidatora „%sâ€"
#: src/ld.c:383
#, c-format
@@ -3658,27 +3687,27 @@ msgstr "dozwolona jest tylko jedna z opcji -G i -r"
#: src/ld.c:580
#, c-format
msgid "more than one '-m' parameter"
-msgstr "podano więcej niż jeden parametr \"-m\""
+msgstr "podano wiÄ™cej niż jeden parametr „-mâ€"
#: src/ld.c:590 src/ld.c:999
#, c-format
msgid "unknown option `-%c %s'"
-msgstr "nieznana opcja \"-%c %s\""
+msgstr "nieznana opcja „-%c %sâ€"
#: src/ld.c:632
#, c-format
msgid "invalid page size value '%s': ignored"
-msgstr "nieprawidłowa wartość rozmiaru strony \"%s\": zignorowano"
+msgstr "nieprawidÅ‚owa wartość rozmiaru strony „%sâ€: zignorowano"
#: src/ld.c:673
#, c-format
msgid "invalid hash style '%s'"
-msgstr "nieprawidłowy styl sum kontrolnych \"%s\""
+msgstr "nieprawidÅ‚owy styl sum kontrolnych „%sâ€"
#: src/ld.c:683
#, c-format
msgid "invalid build-ID style '%s'"
-msgstr "nieprawidłowy styl identyfikatora kopii \"%s\""
+msgstr "nieprawidÅ‚owy styl identyfikatora kopii „%sâ€"
#: src/ld.c:771
#, c-format
@@ -3688,7 +3717,7 @@ msgstr "Podano więcej niż jeden plik wyjściowy."
#: src/ld.c:788
#, c-format
msgid "Invalid optimization level `%s'"
-msgstr "Nieprawidłowy poziom optymalizacji \"%s\""
+msgstr "NieprawidÅ‚owy poziom optymalizacji „%sâ€"
#: src/ld.c:836
#, c-format
@@ -3703,7 +3732,7 @@ msgstr "-) bez pasujÄ…cego -("
#: src/ld.c:1032
#, c-format
msgid "unknown option '-%c %s'"
-msgstr "nieznana opcja \"-%c %s\""
+msgstr "nieznana opcja „-%c %sâ€"
#: src/ld.c:1138
#, c-format
@@ -3714,17 +3743,17 @@ msgstr ""
#: src/ld.c:1140
#, c-format
msgid "try again with an appropriate '-m' parameter"
-msgstr "proszę spróbować jeszcze raz z odpowiednim parametrem \"-m\""
+msgstr "proszÄ™ spróbować jeszcze raz z odpowiednim parametrem „-mâ€"
#: src/ld.c:1434
#, c-format
msgid "cannot read version script '%s'"
-msgstr "nie można odczytać skryptu wersji \"%s\""
+msgstr "nie można odczytać skryptu wersji „%sâ€"
#: src/ld.c:1500 src/ld.c:1539
#, c-format
msgid "duplicate definition of '%s' in linker script"
-msgstr "powtórzona definicja \"%s\" w skrypcie konsolidatora"
+msgstr "powtórzona definicja „%s†w skrypcie konsolidatora"
#: src/ldgeneric.c:201 src/ldgeneric.c:5141
#, c-format
@@ -3734,12 +3763,12 @@ msgstr "nie można utworzyć tabeli ciągów"
#: src/ldgeneric.c:247
#, c-format
msgid "cannot load ld backend library '%s': %s"
-msgstr "nie można odczytać biblioteki zaplecza ld \"%s\": %s"
+msgstr "nie można odczytać biblioteki zaplecza ld „%sâ€: %s"
#: src/ldgeneric.c:257
#, c-format
msgid "cannot find init function in ld backend library '%s': %s"
-msgstr "nie można odnaleźć funkcji init w bibliotece zaplecza ld \"%s\": %s"
+msgstr "nie można odnaleźć funkcji init w bibliotece zaplecza ld „%sâ€: %s"
#: src/ldgeneric.c:300
#, c-format
@@ -3759,16 +3788,16 @@ msgstr "%s (dla DT_NEEDED %s)\n"
#: src/ldgeneric.c:563
#, c-format
msgid "Warning: type of `%s' changed from %s in %s to %s in %s"
-msgstr "Ostrzeżenie: typ \"%s\" zmienił się z %s w %s na %s w %s"
+msgstr "Ostrzeżenie: typ „%s†zmienił się z %s w %s na %s w %s"
#: src/ldgeneric.c:576
#, c-format
msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s"
msgstr ""
-"Ostrzeżenie: rozmiar \"%s\" zmienił się z %<PRIu64> w %s na %<PRIu64> w %s"
+"Ostrzeżenie: rozmiar „%s†zmienił się z %<PRIu64> w %s na %<PRIu64> w %s"
-#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:527
-#: src/readelf.c:829 src/strip.c:589
+#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:536 src/readelf.c:852
+#: src/strip.c:589
#, c-format
msgid "cannot determine number of sections: %s"
msgstr "nie można określić liczby sekcji: %s"
@@ -3791,12 +3820,12 @@ msgstr "%s: nie można uzyskać danych grupy sekcji: %s"
#: src/ldgeneric.c:830
#, c-format
msgid "%s: section '%s' with group flag set does not belong to any group"
-msgstr "%s: sekcja \"%s\" z ustawioną flagą grupy nie należy do żadnej grupy"
+msgstr "%s: sekcja „%s†z ustawioną flagą grupy nie należy do żadnej grupy"
#: src/ldgeneric.c:875
#, c-format
msgid "%s: section [%2d] '%s' is not in the correct section group"
-msgstr "%s: sekcja [%2d] \"%s\" nie jest w poprawnej grupie sekcji"
+msgstr "%s: sekcja [%2d] „%s†nie jest w poprawnej grupie sekcji"
#: src/ldgeneric.c:1146 src/ldgeneric.c:1403 src/ldgeneric.c:1412
#: src/ldgeneric.c:1471 src/ldgeneric.c:1480 src/ldgeneric.c:1743
@@ -3813,12 +3842,12 @@ msgstr "%s: tylko pliki typu ET_REL mogą zawierać grupy sekcji"
#: src/ldgeneric.c:1292
#, c-format
msgid "%s: cannot determine signature of section group [%2zd] '%s': %s"
-msgstr "%s: nie można określić podpisu grupy sekcji [%2zd] \"%s\": %s"
+msgstr "%s: nie można okreÅ›lić podpisu grupy sekcji [%2zd] „%sâ€: %s"
#: src/ldgeneric.c:1304
#, c-format
msgid "%s: cannot get content of section group [%2zd] '%s': %s'"
-msgstr "%s: nie można uzyskać zawartości grupy sekcji [%2zd] \"%s\": %s"
+msgstr "%s: nie można uzyskać zawartoÅ›ci grupy sekcji [%2zd] „%sâ€: %s"
#: src/ldgeneric.c:1318
#, c-format
@@ -3826,13 +3855,13 @@ msgid ""
"%s: group member %zu of section group [%2zd] '%s' has too high index: "
"%<PRIu32>"
msgstr ""
-"%s: element grupy %zu grupy sekcji [%2zd] \"%s\" posiada za wysoki indeks: "
+"%s: element grupy %zu grupy sekcji [%2zd] „%s†posiada za wysoki indeks: "
"%<PRIu32>"
#: src/ldgeneric.c:1340
#, c-format
msgid "%s: section '%s' has unknown type: %d"
-msgstr "%s: sekcja \"%s\" posiada nieznany typ: %d"
+msgstr "%s: sekcja „%s†posiada nieznany typ: %d"
#: src/ldgeneric.c:1719
#, c-format
@@ -3842,7 +3871,7 @@ msgstr "nie można uzyskać deskryptora dla pliku ELF (%s:%d): %s\n"
#: src/ldgeneric.c:1889
#, c-format
msgid "cannot read archive `%s': %s"
-msgstr "nie można odczytać archiwum \"%s\": %s"
+msgstr "nie można odczytać archiwum „%sâ€: %s"
#: src/ldgeneric.c:2010
#, c-format
@@ -3862,18 +3891,17 @@ msgstr "%s: nie można uzyskać indeksu tabeli ciągów nagłówków sekcji: %s\
#: src/ldgeneric.c:2063
#, c-format
msgid "cannot use DSO '%s' when generating relocatable object file"
-msgstr ""
-"nie można użyć DSO \"%s\" podczas tworzenia relokowalnego pliku obiektu"
+msgstr "nie można użyć DSO „%s†podczas tworzenia relokowalnego pliku obiektu"
#: src/ldgeneric.c:2148
#, c-format
msgid "input file '%s' ignored"
-msgstr "plik wejściowy \"%s\" został zignorowany"
+msgstr "plik wejściowy „%s†został zignorowany"
#: src/ldgeneric.c:2362
#, c-format
msgid "undefined symbol `%s' in %s"
-msgstr "nieokreślony symbol \"%s\" w %s"
+msgstr "nieokreślony symbol „%s†w %s"
#: src/ldgeneric.c:2692
#, c-format
@@ -3896,7 +3924,7 @@ msgstr "nie można utworzyć sekcji dla pliku wyjściowego: %s"
#: src/ldgeneric.c:3434
#, c-format
msgid "address computation expression contains variable '%s'"
-msgstr "wyrażenie obliczenia adresu zawiera zmienną \"%s\""
+msgstr "wyrażenie obliczenia adresu zawiera zmiennÄ… „%sâ€"
#: src/ldgeneric.c:3479
#, c-format
@@ -3904,14 +3932,14 @@ msgid ""
"argument '%<PRIuMAX>' of ALIGN in address computation expression is no power "
"of two"
msgstr ""
-"parametr \"%<PRIuMAX>\" ALIGN w wyrażeniu obliczenia adresu nie jest potęgą "
+"parametr „%<PRIuMAX>†ALIGN w wyrażeniu obliczenia adresu nie jest potęgą "
"dwójki"
#: src/ldgeneric.c:3674
#, c-format
msgid "cannot find entry symbol '%s': defaulting to %#0*<PRIx64>"
msgstr ""
-"nie można odnaleźć symbolu wejściowego \"%s\": użycie domyślnego %#0*<PRIx64>"
+"nie można odnaleźć symbolu wejÅ›ciowego „%sâ€: użycie domyÅ›lnego %#0*<PRIx64>"
#: src/ldgeneric.c:3680
#, c-format
@@ -3937,12 +3965,12 @@ msgstr "nie można utworzyć sekcji identyfikatora kopii: %s"
#: src/ldgeneric.c:4181
#, c-format
msgid "cannot convert section data to file format: %s"
-msgstr "nie można przekonwertować danych sekcji na format pliku: %s"
+msgstr "nie można konwertować danych sekcji na format pliku: %s"
#: src/ldgeneric.c:4190
#, c-format
msgid "cannot convert section data to memory format: %s"
-msgstr "nie można przekonwertować danych sekcji na format pamięci: %s"
+msgstr "nie można konwertować danych sekcji na format pamięci: %s"
#: src/ldgeneric.c:4251
#, c-format
@@ -4007,7 +4035,7 @@ msgstr "błąd wewnętrzny: sekcja nie będąca nobits po sekcji nobits"
msgid "cannot get header of 0th section: %s"
msgstr "nie można uzyskać nagłówka zerowej sekcji: %s"
-#: src/ldgeneric.c:6930 src/unstrip.c:1893
+#: src/ldgeneric.c:6930 src/unstrip.c:1929
#, c-format
msgid "cannot update ELF header: %s"
msgstr "nie można zaktualizować nagłówka ELF: %s"
@@ -4044,7 +4072,7 @@ msgstr ""
#: src/ldgeneric.c:7130
#, c-format
msgid "no machine specific '%s' implementation"
-msgstr "brak implementacji \"%s\" specyficznej dla maszyny"
+msgstr "brak implementacji „%s†specyficznej dla maszyny"
#: src/ldscript.y:170
msgid "mode for segment invalid\n"
@@ -4053,141 +4081,141 @@ msgstr "nieprawidłowy tryb dla segmentu\n"
#: src/ldscript.y:457
#, c-format
msgid "while reading version script '%s': %s at line %d"
-msgstr "podczas odczytywania skryptu wersji \"%s\": %s w wierszu %d"
+msgstr "podczas odczytywania skryptu wersji „%sâ€: %s w wierszu %d"
#: src/ldscript.y:458
#, c-format
msgid "while reading linker script '%s': %s at line %d"
-msgstr "podczas odczytywania skryptu konsolidatora \"%s\": %s w wierszu %d"
+msgstr "podczas odczytywania skryptu konsolidatora „%sâ€: %s w wierszu %d"
#: src/ldscript.y:737
-#, fuzzy, c-format
+#, c-format
msgid "symbol '%s' is declared both local and global for unnamed version '%s'"
msgstr ""
-"symbol \"%s\" jest zadeklarowany jednocześnie lokalny i globalny dla "
-"nienazwanej wersji"
+"symbol „%s†jest zadeklarowany jednocześnie lokalny i globalny dla "
+"nienazwanej wersji „%sâ€"
#: src/ldscript.y:739
#, c-format
msgid "symbol '%s' is declared both local and global for version '%s'"
msgstr ""
-"symbol \"%s\" jest zadeklarowany jednocześnie lokalny i globalny dla wersji "
-"\"%s\""
+"symbol „%s†jest zadeklarowany jednocześnie lokalny i globalny dla wersji "
+"„%sâ€"
#: src/ldscript.y:759 src/ldscript.y:766
#, c-format
msgid "default visibility set as local and global"
msgstr "domyślna widoczność ustawiona jako lokalna i globalna"
-#: src/nm.c:65 src/strip.c:67
+#: src/nm.c:66 src/strip.c:67
msgid "Output selection:"
msgstr "Wybór wyjścia:"
-#: src/nm.c:66
+#: src/nm.c:67
msgid "Display debugger-only symbols"
msgstr "Wyświetla symbole wyłącznie debugowowania"
-#: src/nm.c:67
+#: src/nm.c:68
msgid "Display only defined symbols"
msgstr "Wyświetla tylko określone symbole"
-#: src/nm.c:70
+#: src/nm.c:71
msgid "Display dynamic symbols instead of normal symbols"
msgstr "Wyświetla symbole dynamiczne zamiast zwykłych"
-#: src/nm.c:71
+#: src/nm.c:72
msgid "Display only external symbols"
msgstr "Wyświetla tylko symbole zewnętrzne"
-#: src/nm.c:72
+#: src/nm.c:73
msgid "Display only undefined symbols"
msgstr "Wyświetla tylko nieokreślone symbole"
-#: src/nm.c:74
+#: src/nm.c:75
msgid "Include index for symbols from archive members"
msgstr "Dołącza indeks dla symboli z elementów archiwum"
-#: src/nm.c:76 src/size.c:57
+#: src/nm.c:77 src/size.c:57
msgid "Output format:"
msgstr "Format wyjścia:"
-#: src/nm.c:78
+#: src/nm.c:79
msgid "Print name of the input file before every symbol"
msgstr "Wyświetla nazwę pliku wejściowego przed każdym symbolem"
-#: src/nm.c:81
+#: src/nm.c:82
msgid ""
"Use the output format FORMAT. FORMAT can be `bsd', `sysv' or `posix'. The "
"default is `sysv'"
msgstr ""
-"Używa FORMATU wyjściowego. Może to być \"bsd\", \"sysv\" lub \"posix\". "
-"Domyślny jest format \"sysv\""
+"Używa FORMATU wyjÅ›ciowego. Może to być „bsdâ€, „sysv†lub „posixâ€. DomyÅ›lny "
+"jest format „sysvâ€"
-#: src/nm.c:83
+#: src/nm.c:84
msgid "Same as --format=bsd"
msgstr "To samo, co --format=bsd"
-#: src/nm.c:84
+#: src/nm.c:85
msgid "Same as --format=posix"
msgstr "To samo co, --format=posix"
-#: src/nm.c:85 src/size.c:63
+#: src/nm.c:86 src/size.c:63
msgid "Use RADIX for printing symbol values"
msgstr "Używa BAZY do wypisywania wartości symboli"
-#: src/nm.c:86
+#: src/nm.c:87
msgid "Mark special symbols"
msgstr "Oznacza specjalne symbole"
-#: src/nm.c:88
+#: src/nm.c:89
msgid "Print size of defined symbols"
msgstr "Wyświetla rozmiar określonych symboli"
-#: src/nm.c:90 src/size.c:71 src/strip.c:72 src/unstrip.c:72
+#: src/nm.c:91 src/size.c:71 src/strip.c:72 src/unstrip.c:72
msgid "Output options:"
msgstr "Opcje wyjścia:"
-#: src/nm.c:91
+#: src/nm.c:92
msgid "Sort symbols numerically by address"
msgstr "Porządkuje symbole numerycznie według adresu"
-#: src/nm.c:93
+#: src/nm.c:94
msgid "Do not sort the symbols"
msgstr "Bez porzÄ…dkowania symboli"
-#: src/nm.c:94
+#: src/nm.c:95
msgid "Reverse the sense of the sort"
msgstr "Odwraca kierunek porzÄ…dkowania"
-#: src/nm.c:97
+#: src/nm.c:98
msgid "Decode low-level symbol names into source code names"
msgstr "Dekoduje niskopoziomowe nazwy symboli na nazwy kodu źródłowego"
-#: src/nm.c:104
+#: src/nm.c:105
msgid "List symbols from FILEs (a.out by default)."
msgstr "Wyświetla listę symboli z PLIKU (domyślnie a.out)."
-#: src/nm.c:115 src/objdump.c:79
+#: src/nm.c:116 src/objdump.c:79
msgid "Output formatting"
msgstr "Formatowanie wyjścia"
-#: src/nm.c:139 src/objdump.c:103 src/size.c:108 src/strip.c:127
+#: src/nm.c:140 src/objdump.c:103 src/size.c:108 src/strip.c:127
#, c-format
msgid "%s: INTERNAL ERROR %d (%s): %s"
msgstr "%s: BÅÄ„D WEWNĘTRZNY %d (%s): %s"
-#: src/nm.c:394 src/nm.c:406 src/size.c:305 src/size.c:314 src/size.c:325
+#: src/nm.c:395 src/nm.c:407 src/size.c:305 src/size.c:314 src/size.c:325
#: src/strip.c:2280
#, c-format
msgid "while closing '%s'"
-msgstr "podczas zamykania \"%s\""
+msgstr "podczas zamykania „%sâ€"
-#: src/nm.c:416 src/objdump.c:292 src/strip.c:391
+#: src/nm.c:417 src/objdump.c:292 src/strip.c:391
#, c-format
msgid "%s: File format not recognized"
msgstr "%s: nie rozpoznano formatu pliku"
-#: src/nm.c:456
+#: src/nm.c:457
msgid ""
"\n"
"Archive index:\n"
@@ -4195,42 +4223,42 @@ msgstr ""
"\n"
"Indeks archiwum:\n"
-#: src/nm.c:465
+#: src/nm.c:466
#, c-format
msgid "invalid offset %zu for symbol %s"
msgstr "nieprawidłowy offset %zu dla symbolu %s"
-#: src/nm.c:470
+#: src/nm.c:471
#, c-format
msgid "%s in %s\n"
msgstr "%s w %s\n"
-#: src/nm.c:478
+#: src/nm.c:479
#, c-format
msgid "cannot reset archive offset to beginning"
msgstr "nie można przywrócić offsetu w archiwum na początek"
-#: src/nm.c:503 src/objdump.c:340
+#: src/nm.c:504 src/objdump.c:340
#, c-format
msgid "%s%s%s: file format not recognized"
msgstr "%s%s%s: nie rozpoznano formatu pliku"
-#: src/nm.c:715
+#: src/nm.c:719
#, c-format
msgid "cannot create search tree"
msgstr "nie można utworzyć drzewa wyszukiwania"
-#: src/nm.c:754 src/nm.c:1160 src/objdump.c:789 src/readelf.c:536
-#: src/readelf.c:1085 src/readelf.c:1245 src/readelf.c:1393 src/readelf.c:1579
-#: src/readelf.c:1785 src/readelf.c:1975 src/readelf.c:2202 src/readelf.c:2460
-#: src/readelf.c:2536 src/readelf.c:2623 src/readelf.c:3203 src/readelf.c:3239
-#: src/readelf.c:3302 src/readelf.c:8212 src/readelf.c:9314 src/readelf.c:9461
-#: src/readelf.c:9529 src/size.c:413 src/size.c:482 src/strip.c:520
+#: src/nm.c:760 src/nm.c:1221 src/objdump.c:789 src/readelf.c:545
+#: src/readelf.c:1123 src/readelf.c:1323 src/readelf.c:1471 src/readelf.c:1667
+#: src/readelf.c:1873 src/readelf.c:2063 src/readelf.c:2300 src/readelf.c:2558
+#: src/readelf.c:2634 src/readelf.c:2721 src/readelf.c:3301 src/readelf.c:3347
+#: src/readelf.c:3410 src/readelf.c:8320 src/readelf.c:9420 src/readelf.c:9603
+#: src/readelf.c:9671 src/size.c:413 src/size.c:482 src/strip.c:520
#, c-format
msgid "cannot get section header string table index"
msgstr "nie można uzyskać indeksu tabeli ciągów nagłówków sekcji"
-#: src/nm.c:781
+#: src/nm.c:787
#, c-format
msgid ""
"\n"
@@ -4243,7 +4271,7 @@ msgstr ""
"Symbole z %s:\n"
"\n"
-#: src/nm.c:784
+#: src/nm.c:790
#, c-format
msgid ""
"%*s%-*s %-*s Class Type %-*s %*s Section\n"
@@ -4252,22 +4280,22 @@ msgstr ""
"%*s%-*s %-*s Klasa Typ %-*s %*s Sekcja\n"
"\n"
-#: src/nm.c:1171
+#: src/nm.c:1232
#, c-format
msgid "%s: entry size in section %zd `%s' is not what we expect"
-msgstr "%s: rozmiar wpisu w sekcji %zd \"%s\" nie jest tym, czego oczekiwano"
+msgstr "%s: rozmiar wpisu w sekcji %zd „%s†nie jest tym, czego oczekiwano"
-#: src/nm.c:1176
+#: src/nm.c:1237
#, c-format
msgid "%s: size of section %zd `%s' is not multiple of entry size"
-msgstr "%s: rozmiar sekcji %zd \"%s\" nie jest wielokrotnością rozmiaru wpisu"
+msgstr "%s: rozmiar sekcji %zd „%s†nie jest wielokrotnością rozmiaru wpisu"
-#: src/nm.c:1434
+#: src/nm.c:1537
#, c-format
msgid "%s%s%s%s: Invalid operation"
msgstr "%s%s%s%s: nieprawidłowe działanie"
-#: src/nm.c:1491
+#: src/nm.c:1594
#, c-format
msgid "%s%s%s: no symbols"
msgstr "%s%s%s: brak symboli"
@@ -4300,20 +4328,20 @@ msgstr "Wyświetla tylko informacje o sekcji NAZWA."
msgid "Show information from FILEs (a.out by default)."
msgstr "Wyświetla informacje z PLIKÓW (domyślnie a.out)."
-#: src/objdump.c:232 src/readelf.c:473
+#: src/objdump.c:232 src/readelf.c:479
msgid "No operation specified.\n"
msgstr "Nie podano działania.\n"
#: src/objdump.c:270 src/objdump.c:282
#, c-format
msgid "while close `%s'"
-msgstr "podczas zamykania \"%s\""
+msgstr "podczas zamykania „%sâ€"
-#: src/objdump.c:375 src/readelf.c:1880 src/readelf.c:2072
+#: src/objdump.c:375 src/readelf.c:1968 src/readelf.c:2160
msgid "INVALID SYMBOL"
msgstr "NIEPRAWIDÅOWY SYMBOL"
-#: src/objdump.c:390 src/readelf.c:1914 src/readelf.c:2108
+#: src/objdump.c:390 src/readelf.c:2002 src/readelf.c:2196
msgid "INVALID SECTION"
msgstr "NIEPRAWIDÅOWA SEKCJA"
@@ -4358,81 +4386,81 @@ msgstr "Wymagana jest nazwa archiwum"
#: src/ranlib.c:182
#, c-format
msgid "'%s' is no archive"
-msgstr "\"%s\" nie jest archiwum"
+msgstr "„%s†nie jest archiwum"
#: src/ranlib.c:217
#, c-format
msgid "error while freeing sub-ELF descriptor: %s"
msgstr "błąd podczas zwalniania deskryptora pod-ELF: %s"
-#: src/readelf.c:71
+#: src/readelf.c:72
msgid "ELF input selection:"
msgstr "Wybór wyjścia ELF:"
-#: src/readelf.c:73
+#: src/readelf.c:74
msgid ""
"Use the named SECTION (default .gnu_debugdata) as (compressed) ELF input data"
msgstr ""
"Używa podanej SEKCJI (domyślnie .gnu_debugdata) jako (skompresowanych) "
"danych wejściowych ELF"
-#: src/readelf.c:75
+#: src/readelf.c:76
msgid "ELF output selection:"
msgstr "Wybór wyjścia ELF:"
-#: src/readelf.c:77
+#: src/readelf.c:78
msgid "All these plus -p .strtab -p .dynstr -p .comment"
msgstr "Wszystkie te plus -p .strtab -p .dynstr -p .comment"
-#: src/readelf.c:78
+#: src/readelf.c:79
msgid "Display the dynamic segment"
msgstr "Wyświetla segment dynamiczny"
-#: src/readelf.c:79
+#: src/readelf.c:80
msgid "Display the ELF file header"
msgstr "Wyświetla nagłówek pliku ELF"
-#: src/readelf.c:81
+#: src/readelf.c:82
msgid "Display histogram of bucket list lengths"
msgstr "Wyświetla histogram długości list kubełków"
-#: src/readelf.c:82
+#: src/readelf.c:83
msgid "Display the program headers"
msgstr "Wyświetla nagłówki programu"
-#: src/readelf.c:84
+#: src/readelf.c:85
msgid "Display relocations"
msgstr "Wyświetla relokacje"
-#: src/readelf.c:85
+#: src/readelf.c:86
msgid "Display the sections' headers"
msgstr "Wyświetla nagłówków sekcji"
-#: src/readelf.c:87
+#: src/readelf.c:88
msgid "Display the symbol table"
msgstr "Wyświetla tabelę symboli"
-#: src/readelf.c:88
+#: src/readelf.c:89
msgid "Display versioning information"
msgstr "Wyświetla informacje o wersjonowaniu"
-#: src/readelf.c:89
+#: src/readelf.c:90
msgid "Display the ELF notes"
msgstr "Wyświetla notatki ELF"
-#: src/readelf.c:91
+#: src/readelf.c:92
msgid "Display architecture specific information, if any"
msgstr "Wyświetla informacje specyficzne dla architektury, jeśli są"
-#: src/readelf.c:93
+#: src/readelf.c:94
msgid "Display sections for exception handling"
msgstr "Wyświetla sekcje do obsługi wyjątków"
-#: src/readelf.c:95
+#: src/readelf.c:96
msgid "Additional output selection:"
msgstr "Dodatkowy wybór wyjścia:"
-#: src/readelf.c:97
+#: src/readelf.c:98
msgid ""
"Display DWARF section content. SECTION can be one of abbrev, aranges, "
"decodedaranges, frame, gdb_index, info, loc, line, decodedline, ranges, "
@@ -4442,167 +4470,176 @@ msgstr ""
"decodedaranges, frame, gdb_index, info, loc, line, decodedline, ranges, "
"pubnames, str, macinfo, macro lub exception"
-#: src/readelf.c:101
+#: src/readelf.c:102
msgid "Dump the uninterpreted contents of SECTION, by number or name"
msgstr "Zrzuca niezinterpretowaną zawartość SEKCJI, według liczny lub nazwy"
-#: src/readelf.c:103
+#: src/readelf.c:104
msgid "Print string contents of sections"
msgstr "Wyświetla zawartość ciągów sekcji"
-#: src/readelf.c:106
+#: src/readelf.c:107
msgid "Display the symbol index of an archive"
msgstr "Wyświetla indeks symboli archiwum"
-#: src/readelf.c:108
+#: src/readelf.c:109
msgid "Output control:"
msgstr "Kontrola wyjścia:"
-#: src/readelf.c:110
+#: src/readelf.c:111
msgid "Do not find symbol names for addresses in DWARF data"
msgstr "Bez odnajdywania nazw symboli dla adresów w danych DWARF"
-#: src/readelf.c:112
+#: src/readelf.c:113
msgid ""
"Display just offsets instead of resolving values to addresses in DWARF data"
msgstr ""
"Wyświetla tylko offsety zamiast rozwiązywania wartości na adresy w danych "
"DWARF"
-#: src/readelf.c:114
+#: src/readelf.c:115
msgid "Ignored for compatibility (lines always wide)"
msgstr "Ignorowane dla zgodności (wiersze są zawsze szerokie)"
-#: src/readelf.c:119
+#: src/readelf.c:117
+msgid ""
+"Show compression information for compressed sections (when used with -S); "
+"decompress section before dumping data (when used with -p or -x)"
+msgstr ""
+"Wyświetla informacje o kompresji dla skompresowanych sekcji (kiedy jest "
+"używane z opcją -S); dekompresuje sekcję przed zrzuceniem danych (kiedy jest "
+"używane z opcją -p lub -x)"
+
+#: src/readelf.c:122
msgid "Print information from ELF file in human-readable form."
msgstr "Wyświetla informacje z pliku ELF w postaci czytelnej dla człowieka."
-#: src/readelf.c:441
+#: src/readelf.c:447
#, c-format
msgid "Unknown DWARF debug section `%s'.\n"
-msgstr "Nieznana sekcja debugowania DWARF \"%s\".\n"
+msgstr "Nieznana sekcja debugowania DWARF „%sâ€.\n"
-#: src/readelf.c:520 src/readelf.c:631
+#: src/readelf.c:529 src/readelf.c:640
#, c-format
msgid "cannot generate Elf descriptor: %s"
msgstr "nie można utworzyć deskryptora ELF: %s"
-#: src/readelf.c:545 src/readelf.c:1099 src/readelf.c:1269
+#: src/readelf.c:554 src/readelf.c:1145 src/readelf.c:1347
#, c-format
msgid "cannot get section: %s"
msgstr "nie można uzyskać sekcji: %s"
-#: src/readelf.c:554 src/readelf.c:1106 src/readelf.c:1277 src/readelf.c:9481
-#: src/unstrip.c:355 src/unstrip.c:386 src/unstrip.c:435 src/unstrip.c:543
-#: src/unstrip.c:560 src/unstrip.c:596 src/unstrip.c:794 src/unstrip.c:1083
-#: src/unstrip.c:1274 src/unstrip.c:1334 src/unstrip.c:1455 src/unstrip.c:1508
-#: src/unstrip.c:1623 src/unstrip.c:1761 src/unstrip.c:1855
+#: src/readelf.c:563 src/readelf.c:1152 src/readelf.c:1355 src/readelf.c:9623
+#: src/unstrip.c:387 src/unstrip.c:418 src/unstrip.c:467 src/unstrip.c:577
+#: src/unstrip.c:594 src/unstrip.c:631 src/unstrip.c:829 src/unstrip.c:1118
+#: src/unstrip.c:1309 src/unstrip.c:1369 src/unstrip.c:1490 src/unstrip.c:1543
+#: src/unstrip.c:1658 src/unstrip.c:1796 src/unstrip.c:1891
#, c-format
msgid "cannot get section header: %s"
msgstr "nie można uzyskać nagłówka sekcji: %s"
-#: src/readelf.c:562
+#: src/readelf.c:571
#, c-format
msgid "cannot get section name"
msgstr "nie można uzyskać nazwy sekcji"
-#: src/readelf.c:571 src/readelf.c:5396 src/readelf.c:7670 src/readelf.c:7772
-#: src/readelf.c:7949
+#: src/readelf.c:580 src/readelf.c:5504 src/readelf.c:7778 src/readelf.c:7880
+#: src/readelf.c:8057
#, c-format
msgid "cannot get %s content: %s"
msgstr "nie można uzyskać zwartości %s: %s"
-#: src/readelf.c:587
+#: src/readelf.c:596
#, c-format
msgid "cannot create temp file '%s'"
-msgstr "nie można utworzyć pliku tymczasowego \"%s\""
+msgstr "nie można utworzyć pliku tymczasowego „%sâ€"
-#: src/readelf.c:596
+#: src/readelf.c:605
#, c-format
msgid "cannot write section data"
msgstr "nie można zapisać danych sekcji"
-#: src/readelf.c:602 src/readelf.c:619 src/readelf.c:648
+#: src/readelf.c:611 src/readelf.c:628 src/readelf.c:657
#, c-format
msgid "error while closing Elf descriptor: %s"
msgstr "błąd podczas zamykania deskryptora ELF: %s"
-#: src/readelf.c:609
+#: src/readelf.c:618
#, c-format
msgid "error while rewinding file descriptor"
msgstr "błąd podczas przewijania deskryptora pliku"
-#: src/readelf.c:643
+#: src/readelf.c:652
#, c-format
msgid "'%s' is not an archive, cannot print archive index"
-msgstr "\"%s\" nie jest archiwum, nie można wyświetlić indeksu archiwum"
+msgstr "„%s†nie jest archiwum, nie można wyświetlić indeksu archiwum"
-#: src/readelf.c:742
+#: src/readelf.c:751
#, c-format
msgid "No such section '%s' in '%s'"
-msgstr "Brak sekcji \"%s\" w \"%s\""
+msgstr "Brak sekcji „%s†w „%sâ€"
-#: src/readelf.c:769
+#: src/readelf.c:778
#, c-format
msgid "cannot stat input file"
msgstr "nie można wykonać stat na pliku wejściowym"
-#: src/readelf.c:771
+#: src/readelf.c:780
#, c-format
msgid "input file is empty"
msgstr "plik wejściowy jest pusty"
-#: src/readelf.c:773
+#: src/readelf.c:782
#, c-format
msgid "failed reading '%s': %s"
-msgstr "odczytanie \"%s\" się nie powiodło: %s"
+msgstr "odczytanie „%s†się nie powiodło: %s"
-#: src/readelf.c:814
+#: src/readelf.c:837
#, c-format
msgid "cannot read ELF header: %s"
msgstr "nie można odczytać nagłówka ELF: %s"
-#: src/readelf.c:822
+#: src/readelf.c:845
#, c-format
msgid "cannot create EBL handle"
msgstr "nie można utworzyć uchwytu EBL"
-#: src/readelf.c:835
+#: src/readelf.c:858
#, 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:921
+#: src/readelf.c:948
msgid "NONE (None)"
msgstr "NONE (żaden)"
-#: src/readelf.c:922
+#: src/readelf.c:949
msgid "REL (Relocatable file)"
msgstr "REL (plik relokowalny)"
-#: src/readelf.c:923
+#: src/readelf.c:950
msgid "EXEC (Executable file)"
msgstr "EXEC (plik wykonywalny)"
-#: src/readelf.c:924
+#: src/readelf.c:951
msgid "DYN (Shared object file)"
msgstr "DYN (plik obiektu współdzielonego)"
-#: src/readelf.c:925
+#: src/readelf.c:952
msgid "CORE (Core file)"
msgstr "CORE (plik core)"
-#: src/readelf.c:930
+#: src/readelf.c:957
#, c-format
msgid "OS Specific: (%x)\n"
msgstr "Zależny od systemu: (%x)\n"
-#: src/readelf.c:932
+#: src/readelf.c:959
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr "Zależny od procesora: (%x)\n"
-#: src/readelf.c:942
+#: src/readelf.c:969
msgid ""
"ELF Header:\n"
" Magic: "
@@ -4610,7 +4647,7 @@ msgstr ""
"Nagłówek ELF:\n"
" Magic: "
-#: src/readelf.c:946
+#: src/readelf.c:973
#, c-format
msgid ""
"\n"
@@ -4619,117 +4656,117 @@ msgstr ""
"\n"
" Klasa: %s\n"
-#: src/readelf.c:951
+#: src/readelf.c:978
#, c-format
msgid " Data: %s\n"
msgstr " Dane: %s\n"
-#: src/readelf.c:957
+#: src/readelf.c:984
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr " Wersja Ident: %hhd %s\n"
-#: src/readelf.c:959 src/readelf.c:976
+#: src/readelf.c:986 src/readelf.c:1003
msgid "(current)"
msgstr "(bieżąca)"
-#: src/readelf.c:963
+#: src/readelf.c:990
#, c-format
msgid " OS/ABI: %s\n"
msgstr " System operacyjny/ABI: %s\n"
-#: src/readelf.c:966
+#: src/readelf.c:993
#, c-format
msgid " ABI Version: %hhd\n"
msgstr " Wersja ABI: %hhd\n"
-#: src/readelf.c:969
+#: src/readelf.c:996
msgid " Type: "
msgstr " Typ: "
-#: src/readelf.c:972
+#: src/readelf.c:999
#, c-format
msgid " Machine: %s\n"
msgstr " Komputer: %s\n"
-#: src/readelf.c:974
+#: src/readelf.c:1001
#, c-format
msgid " Version: %d %s\n"
msgstr " Wersja: %d %s\n"
-#: src/readelf.c:978
+#: src/readelf.c:1005
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr " Adres punktu wejściowego: %#<PRIx64>\n"
-#: src/readelf.c:981
+#: src/readelf.c:1008
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr " Początek nagłówków programu: %<PRId64> %s\n"
-#: src/readelf.c:982 src/readelf.c:985
+#: src/readelf.c:1009 src/readelf.c:1012
msgid "(bytes into file)"
msgstr "(bajtów w pliku)"
-#: src/readelf.c:984
+#: src/readelf.c:1011
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr " Początek nagłówków sekcji: %<PRId64> %s\n"
-#: src/readelf.c:987
+#: src/readelf.c:1014
#, c-format
msgid " Flags: %s\n"
msgstr " Flagi: %s\n"
-#: src/readelf.c:990
+#: src/readelf.c:1017
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr " Rozmiar tego nagłówka: %<PRId16> %s\n"
-#: src/readelf.c:991 src/readelf.c:994 src/readelf.c:1011
+#: src/readelf.c:1018 src/readelf.c:1021 src/readelf.c:1038
msgid "(bytes)"
msgstr "(bajtów)"
-#: src/readelf.c:993
+#: src/readelf.c:1020
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr " Rozmiar wpisów nagłówka programu: %<PRId16> %s\n"
-#: src/readelf.c:996
+#: src/readelf.c:1023
#, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr " Liczba wpisów nagłówków programu: %<PRId16>"
-#: src/readelf.c:1003
+#: src/readelf.c:1030
#, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr " (%<PRIu32> w [0].sh_info)"
-#: src/readelf.c:1006 src/readelf.c:1023 src/readelf.c:1037
+#: src/readelf.c:1033 src/readelf.c:1050 src/readelf.c:1064
msgid " ([0] not available)"
msgstr " ([0] niedostępny)"
-#: src/readelf.c:1010
+#: src/readelf.c:1037
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr " Rozmiar wpisów nagłówka sekcji: %<PRId16> %s\n"
-#: src/readelf.c:1013
+#: src/readelf.c:1040
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr " Liczba wpisów nagłówków sekcji: %<PRId16>"
-#: src/readelf.c:1020
+#: src/readelf.c:1047
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr " (%<PRIu32> w [0].sh_size)"
-#: src/readelf.c:1033
+#: src/readelf.c:1060
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr " (%<PRIu32> w [0].sh_link)"
-#: src/readelf.c:1041
+#: src/readelf.c:1068
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
@@ -4738,7 +4775,7 @@ msgstr ""
" Indeks tabeli ciągów nagłówków sekcji: XINDEX%s\n"
"\n"
-#: src/readelf.c:1045
+#: src/readelf.c:1072
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
@@ -4747,7 +4784,7 @@ msgstr ""
" Indeks tabeli ciągów nagłówków sekcji: %<PRId16>\n"
"\n"
-#: src/readelf.c:1077
+#: src/readelf.c:1115
#, c-format
msgid ""
"There are %d section headers, starting at offset %#<PRIx64>:\n"
@@ -4756,19 +4793,19 @@ msgstr ""
"Jest %d nagłówków sekcji, rozpoczynających się od offsetu %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:1087
+#: src/readelf.c:1125
msgid "Section Headers:"
msgstr "Nagłówki sekcji:"
-#: src/readelf.c:1090
+#: src/readelf.c:1128
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
msgstr ""
-"[Nr] Nazwa Typ Adres Offset Rozm ES Flagi Lk "
+"[Nr] Nazwa Typ Adres Offset Rozm. ES Flagi Lk "
"Inf Al"
-#: src/readelf.c:1092
+#: src/readelf.c:1130
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
@@ -4776,18 +4813,36 @@ msgstr ""
"[Nr] Nazwa Typ Adres Offset Rozmiar ES "
"Flagi Lk Inf Al"
-#: src/readelf.c:1164
+#: src/readelf.c:1135
+msgid " [Compression Size Al]"
+msgstr " [Kompresja Rozmiar Al]"
+
+#: src/readelf.c:1137
+msgid " [Compression Size Al]"
+msgstr " [Kompresja Rozmiar Al]"
+
+#: src/readelf.c:1213
+#, c-format
+msgid "bad compression header for section %zd: %s"
+msgstr "błędny nagłówek kompresji dla sekcji %zd: %s"
+
+#: src/readelf.c:1224
+#, c-format
+msgid "bad gnu compressed size for section %zd: %s"
+msgstr "błędny rozmiar kompresji gnu dla sekcji %zd: %s"
+
+#: src/readelf.c:1242
msgid "Program Headers:"
msgstr "Nagłówki programu:"
-#: src/readelf.c:1166
+#: src/readelf.c:1244
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
" Typ Offset AdresWirt AdresFiz RozmPlik RozmPam Flg "
"Wyrównanie"
-#: src/readelf.c:1169
+#: src/readelf.c:1247
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
@@ -4795,12 +4850,12 @@ msgstr ""
" Typ Offset AdresWirtualny AdresFizyczny RozmPlik "
"RozmPam Flg Wyrównanie"
-#: src/readelf.c:1226
+#: src/readelf.c:1304
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr "\t[Wywołanie interpretera programu: %s]\n"
-#: src/readelf.c:1247
+#: src/readelf.c:1325
msgid ""
"\n"
" Section to Segment mapping:\n"
@@ -4808,14 +4863,14 @@ msgid ""
msgstr ""
"\n"
" Mapowanie sekcji do segmentów:\n"
-" Segment sekcji..."
+" Segment sekcji…"
-#: src/readelf.c:1258 src/unstrip.c:1914 src/unstrip.c:1957 src/unstrip.c:1964
+#: src/readelf.c:1336 src/unstrip.c:1950 src/unstrip.c:1992 src/unstrip.c:1999
#, c-format
msgid "cannot get program header: %s"
msgstr "nie można uzyskać nagłówka programu: %s"
-#: src/readelf.c:1401
+#: src/readelf.c:1479
#, c-format
msgid ""
"\n"
@@ -4825,15 +4880,15 @@ msgid_plural ""
"COMDAT section group [%2zu] '%s' with signature '%s' contains %zu entries:\n"
msgstr[0] ""
"\n"
-"Grupa sekcji COMDAT [%2zu] \"%s\" z podspiem \"%s\" zawiera %zu wpis:\n"
+"Grupa sekcji COMDAT [%2zu] „%s†z podpisem „%s†zawiera %zu wpis:\n"
msgstr[1] ""
"\n"
-"Grupa sekcji COMDAT [%2zu] \"%s\" z podpisem \"%s\" zawiera %zu wpisy:\n"
+"Grupa sekcji COMDAT [%2zu] „%s†z podpisem „%s†zawiera %zu wpisy:\n"
msgstr[2] ""
"\n"
-"Grupa sekcji COMDAT [%2zu] \"%s\" z podpisem \"%s\" zawiera %zu wpisów:\n"
+"Grupa sekcji COMDAT [%2zu] „%s†z podpisem „%s†zawiera %zu wpisów:\n"
-#: src/readelf.c:1406
+#: src/readelf.c:1484
#, c-format
msgid ""
"\n"
@@ -4843,29 +4898,33 @@ msgid_plural ""
"Section group [%2zu] '%s' with signature '%s' contains %zu entries:\n"
msgstr[0] ""
"\n"
-"Grupa sekcji [%2zu] \"%s\" z podpisem \"%s\" zawiera %zu wpis:\n"
+"Grupa sekcji [%2zu] „%s†z podpisem „%s†zawiera %zu wpis:\n"
msgstr[1] ""
"\n"
-"Grupa sekcji [%2zu] \"%s\" z podpisem \"%s\" zawiera %zu wpisy:\n"
+"Grupa sekcji [%2zu] „%s†z podpisem „%s†zawiera %zu wpisy:\n"
msgstr[2] ""
"\n"
-"Grupa sekcji [%2zu] \"%s\" z podpisem \"%s\" zawiera %zu wpisów:\n"
+"Grupa sekcji [%2zu] „%s†z podpisem „%s†zawiera %zu wpisów:\n"
-#: src/readelf.c:1414
+#: src/readelf.c:1492
msgid "<INVALID SYMBOL>"
msgstr "<NIEPRAWIDÅOWY SYMBOL>"
-#: src/readelf.c:1428
+#: src/readelf.c:1506
msgid "<INVALID SECTION>"
msgstr "<NIEPRAWIDÅOWY SEKCJA>"
-#: src/readelf.c:1585 src/readelf.c:2208 src/readelf.c:2466 src/readelf.c:2542
-#: src/readelf.c:2846 src/readelf.c:2920 src/readelf.c:4608
-#, fuzzy, c-format
+#: src/readelf.c:1529 src/readelf.c:2238 src/readelf.c:3317
+msgid "Couldn't uncompress section"
+msgstr "Nie można dekompresować sekcji"
+
+#: src/readelf.c:1673 src/readelf.c:2306 src/readelf.c:2564 src/readelf.c:2640
+#: src/readelf.c:2944 src/readelf.c:3018 src/readelf.c:4716
+#, c-format
msgid "invalid sh_link value in section %zu"
-msgstr "nieprawidłowa wartość sh_link w sekcji %Zu"
+msgstr "nieprawidłowa wartość sh_link w sekcji %zu"
-#: src/readelf.c:1588
+#: src/readelf.c:1676
#, c-format
msgid ""
"\n"
@@ -4891,36 +4950,36 @@ msgstr[2] ""
" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
"'%s'\n"
-#: src/readelf.c:1598
+#: src/readelf.c:1686
msgid " Type Value\n"
msgstr " Typ Wartość\n"
-#: src/readelf.c:1622
+#: src/readelf.c:1710
#, c-format
msgid "Shared library: [%s]\n"
msgstr "Biblioteka współdzielona: [%s]\n"
-#: src/readelf.c:1627
+#: src/readelf.c:1715
#, c-format
msgid "Library soname: [%s]\n"
msgstr "soname biblioteki: [%s]\n"
-#: src/readelf.c:1632
+#: src/readelf.c:1720
#, c-format
msgid "Library rpath: [%s]\n"
msgstr "rpath biblioteki: [%s]\n"
-#: src/readelf.c:1637
+#: src/readelf.c:1725
#, c-format
msgid "Library runpath: [%s]\n"
msgstr "runpath biblioteki: [%s]\n"
-#: src/readelf.c:1657
+#: src/readelf.c:1745
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr "%<PRId64> (bajtów)\n"
-#: src/readelf.c:1770 src/readelf.c:1960
+#: src/readelf.c:1858 src/readelf.c:2048
#, c-format
msgid ""
"\n"
@@ -4929,7 +4988,7 @@ msgstr ""
"\n"
"Nieprawidłowa tabela symboli pod offsetem %#0<PRIx64>\n"
-#: src/readelf.c:1788 src/readelf.c:1978
+#: src/readelf.c:1876 src/readelf.c:2066
#, c-format
msgid ""
"\n"
@@ -4941,18 +5000,18 @@ msgid_plural ""
"contains %d entries:\n"
msgstr[0] ""
"\n"
-"Sekcja relokacji [%2zu] \"%s\" dla sekcji [%2u] \"%s\" pod offsetem "
-"%#0<PRIx64> zawiera %d wpis:\n"
+"Sekcja relokacji [%2zu] „%s†dla sekcji [%2u] „%s†pod offsetem %#0<PRIx64> "
+"zawiera %d wpis:\n"
msgstr[1] ""
"\n"
-"Sekcja relokacji [%2zu] \"%s\" dla sekcji [%2u] \"%s\" pod offsetem "
-"%#0<PRIx64> zawiera %d wpisy:\n"
+"Sekcja relokacji [%2zu] „%s†dla sekcji [%2u] „%s†pod offsetem %#0<PRIx64> "
+"zawiera %d wpisy:\n"
msgstr[2] ""
"\n"
-"Sekcja relokacji [%2zu] \"%s\" dla sekcji [%2u] \"%s\" pod offsetem "
-"%#0<PRIx64> zawiera %d wpisów:\n"
+"Sekcja relokacji [%2zu] „%s†dla sekcji [%2u] „%s†pod offsetem %#0<PRIx64> "
+"zawiera %d wpisów:\n"
-#: src/readelf.c:1803 src/readelf.c:1993
+#: src/readelf.c:1891 src/readelf.c:2081
#, c-format
msgid ""
"\n"
@@ -4962,38 +5021,38 @@ msgid_plural ""
"Relocation section [%2u] '%s' at offset %#0<PRIx64> contains %d entries:\n"
msgstr[0] ""
"\n"
-"Sekcja relokacji [%2u] \"%s\" pod offsetem %#0<PRIx64> zawiera %d wpis:\n"
+"Sekcja relokacji [%2u] „%s†pod offsetem %#0<PRIx64> zawiera %d wpis:\n"
msgstr[1] ""
"\n"
-"Sekcja relokacji [%2u] \"%s\" pod offsetem %#0<PRIx64> zawiera %d wpisy:\n"
+"Sekcja relokacji [%2u] „%s†pod offsetem %#0<PRIx64> zawiera %d wpisy:\n"
msgstr[2] ""
"\n"
-"Sekcja relokacji [%2u] \"%s\" pod offsetem %#0<PRIx64> zawiera %d wpisów:\n"
+"Sekcja relokacji [%2u] „%s†pod offsetem %#0<PRIx64> zawiera %d wpisów:\n"
-#: src/readelf.c:1813
+#: src/readelf.c:1901
msgid " Offset Type Value Name\n"
msgstr " Offset Typ Wartość Nazwa\n"
-#: src/readelf.c:1815
+#: src/readelf.c:1903
msgid " Offset Type Value Name\n"
msgstr " Offset Typ Wartość Nazwa\n"
-#: src/readelf.c:1868 src/readelf.c:1879 src/readelf.c:1892 src/readelf.c:1913
-#: src/readelf.c:1925 src/readelf.c:2059 src/readelf.c:2071 src/readelf.c:2085
-#: src/readelf.c:2107 src/readelf.c:2120
+#: src/readelf.c:1956 src/readelf.c:1967 src/readelf.c:1980 src/readelf.c:2001
+#: src/readelf.c:2013 src/readelf.c:2147 src/readelf.c:2159 src/readelf.c:2173
+#: src/readelf.c:2195 src/readelf.c:2208
msgid "<INVALID RELOC>"
msgstr "<NIEPRAWIDÅOWA RELOKACJA>"
-#: src/readelf.c:2003
+#: src/readelf.c:2091
msgid " Offset Type Value Addend Name\n"
msgstr " Offset Typ Wartość Koniec Nazwa\n"
-#: src/readelf.c:2005
+#: src/readelf.c:2093
msgid " Offset Type Value Addend Name\n"
msgstr ""
" Offset Typ Wartość Koniec Nazwa\n"
-#: src/readelf.c:2216
+#: src/readelf.c:2314
#, c-format
msgid ""
"\n"
@@ -5003,49 +5062,49 @@ msgid_plural ""
"Symbol table [%2u] '%s' contains %u entries:\n"
msgstr[0] ""
"\n"
-"Tabela symboli [%2u] \"%s\" zawiera %u wpis:\n"
+"Tabela symboli [%2u] „%s†zawiera %u wpis:\n"
msgstr[1] ""
"\n"
-"Tabela symboli [%2u] \"%s\" zawiera %u wpisy:\n"
+"Tabela symboli [%2u] „%s†zawiera %u wpisy:\n"
msgstr[2] ""
"\n"
-"Tabela symboli [%2u] \"%s\" zawiera %u wpisów:\n"
+"Tabela symboli [%2u] „%s†zawiera %u wpisów:\n"
-#: src/readelf.c:2221
+#: src/readelf.c:2319
#, c-format
msgid " %lu local symbol String table: [%2u] '%s'\n"
msgid_plural " %lu local symbols String table: [%2u] '%s'\n"
-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"
+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:2229
+#: src/readelf.c:2327
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " Numer: Wartość Rozm Typ Bind Widoczność Ndx Nazwa\n"
-#: src/readelf.c:2231
+#: src/readelf.c:2329
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " Numer: Wartość Rozm Typ Bind Widoczność Ndx Nazwa\n"
-#: src/readelf.c:2251
+#: src/readelf.c:2349
#, 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:2339
+#: src/readelf.c:2437
#, c-format
msgid "bad dynamic symbol"
msgstr "błędny symbol dynamiczny"
-#: src/readelf.c:2421
+#: src/readelf.c:2519
msgid "none"
msgstr "brak"
-#: src/readelf.c:2438
+#: src/readelf.c:2536
msgid "| <unknown>"
msgstr "| <nieznany>"
-#: src/readelf.c:2469
+#: src/readelf.c:2567
#, c-format
msgid ""
"\n"
@@ -5057,31 +5116,31 @@ msgid_plural ""
" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] '%s'\n"
msgstr[0] ""
"\n"
-"Sekcja wymaganych wersji [%2u] \"%s\" zawiera %d wpis:\n"
-" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s"
-"\"\n"
+"Sekcja wymaganych wersji [%2u] „%s†zawiera %d wpis:\n"
+" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
+"„%sâ€\n"
msgstr[1] ""
"\n"
-"Sekcja wymaganych wersji [%2u] \"%s\" zawiera %d wpisy:\n"
-" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s"
-"\"\n"
+"Sekcja wymaganych wersji [%2u] „%s†zawiera %d wpisy:\n"
+" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
+"„%sâ€\n"
msgstr[2] ""
"\n"
-"Sekcja wymaganych wersji [%2u] \"%s\" zawiera %d wpisów:\n"
-" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s"
-"\"\n"
+"Sekcja wymaganych wersji [%2u] „%s†zawiera %d wpisów:\n"
+" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
+"„%sâ€\n"
-#: src/readelf.c:2490
+#: src/readelf.c:2588
#, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: Wersja: %hu Plik: %s Licznik: %hu\n"
-#: src/readelf.c:2503
+#: src/readelf.c:2601
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: Nazwa: %s Flagi: %s Wersja: %hu\n"
-#: src/readelf.c:2546
+#: src/readelf.c:2644
#, c-format
msgid ""
"\n"
@@ -5093,32 +5152,32 @@ msgid_plural ""
" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] '%s'\n"
msgstr[0] ""
"\n"
-"Sekcja definicji wersji [%2u] \"%s\" zawiera %d wpis:\n"
-" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s"
-"\"\n"
+"Sekcja definicji wersji [%2u] „%s†zawiera %d wpis:\n"
+" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
+"„%sâ€\n"
msgstr[1] ""
"\n"
-"Sekcja definicji wersji [%2u] \"%s\" zawiera %d wpisy:\n"
-" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s"
-"\"\n"
+"Sekcja definicji wersji [%2u] „%s†zawiera %d wpisy:\n"
+" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
+"„%sâ€\n"
msgstr[2] ""
"\n"
-"Sekcja definicji wersji [%2u] \"%s\" zawiera %d wpisów:\n"
-" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s"
-"\"\n"
+"Sekcja definicji wersji [%2u] „%s†zawiera %d wpisów:\n"
+" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
+"„%sâ€\n"
-#: src/readelf.c:2574
+#: src/readelf.c:2672
#, 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:2589
+#: src/readelf.c:2687
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr " %#06x: Rodzic %d: %s\n"
-#: src/readelf.c:2850
+#: src/readelf.c:2948
#, c-format
msgid ""
"\n"
@@ -5130,29 +5189,26 @@ msgid_plural ""
" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] '%s'"
msgstr[0] ""
"\n"
-"Sekcja symboli wersji [%2u] \"%s\" zawiera %d wpis:\n"
-" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s"
-"\""
+"Sekcja symboli wersji [%2u] „%s†zawiera %d wpis:\n"
+" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] „%sâ€"
msgstr[1] ""
"\n"
-"Sekcja symboli wersji [%2u] \"%s\" zawiera %d wpisy:\n"
-" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s"
-"\""
+"Sekcja symboli wersji [%2u] „%s†zawiera %d wpisy:\n"
+" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] „%sâ€"
msgstr[2] ""
"\n"
-"Sekcja symboli wersji [%2u] \"%s\" zawiera %d wpisów:\n"
-" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s"
-"\""
+"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:2878
+#: src/readelf.c:2976
msgid " 0 *local* "
msgstr " 0 *lokalny* "
-#: src/readelf.c:2883
+#: src/readelf.c:2981
msgid " 1 *global* "
msgstr " 1 *globalny* "
-#: src/readelf.c:2925
+#: src/readelf.c:3023
#, c-format
msgid ""
"\n"
@@ -5166,39 +5222,39 @@ msgid_plural ""
" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] '%s'\n"
msgstr[0] ""
"\n"
-"Histogram dla długości listy kubełków w sekcji [%2u] \"%s\" (w sumie %d "
+"Histogram dla długości listy kubełków w sekcji [%2u] „%s†(w sumie %d "
"kubełek):\n"
-" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s"
-"\"\n"
+" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
+"„%sâ€\n"
msgstr[1] ""
"\n"
-"Histogram dla długości listy kubełków w sekcji [%2u] \"%s\" (w sumie %d "
+"Histogram dla długości listy kubełków w sekcji [%2u] „%s†(w sumie %d "
"kubełki):\n"
-" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s"
-"\"\n"
+" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
+"„%sâ€\n"
msgstr[2] ""
"\n"
-"Histogram dla długości listy kubełków w sekcji [%2u] \"%s\" (w sumie %d "
+"Histogram dla długości listy kubełków w sekcji [%2u] „%s†(w sumie %d "
"kubełków):\n"
-" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s"
-"\"\n"
+" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] "
+"„%sâ€\n"
-#: src/readelf.c:2947
+#: src/readelf.c:3045
#, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr " Długość Liczba % całości Pokrycie\n"
-#: src/readelf.c:2949
+#: src/readelf.c:3047
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:2956
+#: src/readelf.c:3054
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:2969
+#: src/readelf.c:3067
#, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
@@ -5207,27 +5263,27 @@ msgstr ""
" Średnia liczba testów: udane wyszukania: %f\n"
"\t\t\t nieudane wyszukania: %f\n"
-#: src/readelf.c:2987 src/readelf.c:3042 src/readelf.c:3099
+#: src/readelf.c:3085 src/readelf.c:3140 src/readelf.c:3197
#, c-format
msgid "cannot get data for section %d: %s"
msgstr "nie można uzyskać danych dla sekcji %d: %s"
-#: src/readelf.c:2995
+#: src/readelf.c:3093
#, c-format
msgid "invalid data in sysv.hash section %d"
msgstr "nieprawidłowe dane w sekcji sysv.hash %d"
-#: src/readelf.c:3050
+#: src/readelf.c:3148
#, c-format
msgid "invalid data in sysv.hash64 section %d"
msgstr "nieprawidłowe dane w sekcji sysv.hash64 %d"
-#: src/readelf.c:3108
+#: src/readelf.c:3206
#, c-format
msgid "invalid data in gnu.hash section %d"
msgstr "nieprawidłowe dane w sekcji gnu.hash %d"
-#: src/readelf.c:3175
+#: src/readelf.c:3273
#, c-format
msgid ""
" Symbol Bias: %u\n"
@@ -5237,7 +5293,7 @@ msgstr ""
" Rozmiar maski bitowej: %zu bajtów %<PRIuFAST32>%% bitów ustawionych "
"drugie przesunięcie skrótu: %u\n"
-#: src/readelf.c:3250
+#: src/readelf.c:3358
#, c-format
msgid ""
"\n"
@@ -5247,18 +5303,18 @@ msgid_plural ""
"Library list section [%2zu] '%s' at offset %#0<PRIx64> contains %d entries:\n"
msgstr[0] ""
"\n"
-"Sekcja listy bibliotek [%2zu] \"%s\" pod offsetem %#0<PRIx64> zawiera %d "
+"Sekcja listy bibliotek [%2zu] „%s†pod offsetem %#0<PRIx64> zawiera %d "
"wpis:\n"
msgstr[1] ""
"\n"
-"Sekcja listy bibliotek [%2zu] \"%s\" pod offsetem %#0<PRIx64> zawiera %d "
+"Sekcja listy bibliotek [%2zu] „%s†pod offsetem %#0<PRIx64> zawiera %d "
"wpisy:\n"
msgstr[2] ""
"\n"
-"Sekcja listy bibliotek [%2zu] \"%s\" pod offsetem %#0<PRIx64> zawiera %d "
+"Sekcja listy bibliotek [%2zu] „%s†pod offsetem %#0<PRIx64> zawiera %d "
"wpisów:\n"
-#: src/readelf.c:3264
+#: src/readelf.c:3372
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
@@ -5266,7 +5322,7 @@ msgstr ""
" Biblioteka Oznaczenie czasu Suma k. Wersja "
"Flagi"
-#: src/readelf.c:3314
+#: src/readelf.c:3422
#, c-format
msgid ""
"\n"
@@ -5274,143 +5330,143 @@ msgid ""
"%#0<PRIx64>:\n"
msgstr ""
"\n"
-"Sekcja atrybutów obiektu [%2zu] \"%s\" %<PRIu64> bajtów pod offsetem "
+"Sekcja atrybutów obiektu [%2zu] „%s†%<PRIu64> bajtów pod offsetem "
"%#0<PRIx64>:\n"
-#: src/readelf.c:3331
+#: src/readelf.c:3439
msgid " Owner Size\n"
msgstr " Właściciel Rozmiar\n"
-#: src/readelf.c:3360
+#: src/readelf.c:3468
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
-#: src/readelf.c:3399
+#: src/readelf.c:3507
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
-#: src/readelf.c:3404
+#: src/readelf.c:3512
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " Plik: %11<PRIu32>\n"
-#: src/readelf.c:3453
+#: src/readelf.c:3561
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>, %s\n"
-#: src/readelf.c:3456
+#: src/readelf.c:3564
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3459
+#: src/readelf.c:3567
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3469
+#: src/readelf.c:3577
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3472
+#: src/readelf.c:3580
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3517
+#: src/readelf.c:3625
#, c-format
msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3520
+#: src/readelf.c:3628
#, c-format
msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3525
+#: src/readelf.c:3633
#, c-format
msgid "%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3528
+#: src/readelf.c:3636
#, c-format
msgid "%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3534
+#: src/readelf.c:3642
#, c-format
msgid "%s+%#<PRIx64> <%s>"
msgstr "%s+%#<PRIx64> <%s>"
-#: src/readelf.c:3537
+#: src/readelf.c:3645
#, c-format
msgid "%s+%#0*<PRIx64> <%s>"
msgstr "%s+%#0*<PRIx64> <%s>"
-#: src/readelf.c:3541
+#: src/readelf.c:3649
#, c-format
msgid "%#<PRIx64> <%s>"
msgstr "%#<PRIx64> <%s>"
-#: src/readelf.c:3544
+#: src/readelf.c:3652
#, c-format
msgid "%#0*<PRIx64> <%s>"
msgstr "%#0*<PRIx64> <%s>"
-#: src/readelf.c:3549
+#: src/readelf.c:3657
#, c-format
msgid "%s+%#<PRIx64>"
msgstr "%s+%#<PRIx64>"
-#: src/readelf.c:3552
+#: src/readelf.c:3660
#, c-format
msgid "%s+%#0*<PRIx64>"
msgstr "%s+%#0*<PRIx64>"
-#: src/readelf.c:3930
+#: src/readelf.c:4038
msgid "empty block"
msgstr "pusty blok"
-#: src/readelf.c:3933
+#: src/readelf.c:4041
#, c-format
msgid "%zu byte block:"
msgstr "%zu bajtowy blok:"
-#: src/readelf.c:4330
+#: src/readelf.c:4438
#, c-format
msgid "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
msgstr "%*s[%4<PRIuMAX>] %s <SKRÓCONE>\n"
-#: src/readelf.c:4387
+#: src/readelf.c:4495
#, 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:4394
+#: src/readelf.c:4502
#, 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:4401
+#: src/readelf.c:4509
#, 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:4490
+#: src/readelf.c:4598
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr " [%6tx] <NIEUŻYWANE ŚMIECIE W RESZCIE SEKCJI>\n"
-#: src/readelf.c:4498
+#: src/readelf.c:4606
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
-msgstr " [%6tx] <NIEUŻYWANE ŚMIECIE>... %<PRIu64> bajtów...\n"
+msgstr " [%6tx] <NIEUŻYWANE ŚMIECIE>… %<PRIu64> bajtów…\n"
-#: src/readelf.c:4524
+#: src/readelf.c:4632
#, c-format
msgid ""
"\n"
@@ -5418,10 +5474,10 @@ msgid ""
" [ Code]\n"
msgstr ""
"\n"
-"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64>:\n"
+"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64>:\n"
" [ Kod]\n"
-#: src/readelf.c:4532
+#: src/readelf.c:4640
#, c-format
msgid ""
"\n"
@@ -5430,30 +5486,30 @@ msgstr ""
"\n"
"Sekcja skrótów pod offsetem %<PRIu64>:\n"
-#: src/readelf.c:4545
+#: src/readelf.c:4653
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr " *** błąd podczas odczytywania skrótu: %s\n"
-#: src/readelf.c:4561
+#: src/readelf.c:4669
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr " [%5u] offset: %<PRId64>, potomek: %s, znacznik: %s\n"
-#: src/readelf.c:4564
+#: src/readelf.c:4672
msgid "yes"
msgstr "tak"
-#: src/readelf.c:4564
+#: src/readelf.c:4672
msgid "no"
msgstr "nie"
-#: src/readelf.c:4598 src/readelf.c:4671
+#: src/readelf.c:4706 src/readelf.c:4779
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr "nie można uzyskać zawartości .debug_aranges: %s"
-#: src/readelf.c:4613
+#: src/readelf.c:4721
#, c-format
msgid ""
"\n"
@@ -5463,20 +5519,20 @@ msgid_plural ""
"DWARF section [%2zu] '%s' at offset %#<PRIx64> contains %zu entries:\n"
msgstr[0] ""
"\n"
-"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64> zawiera %zu wpis:\n"
+"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64> zawiera %zu wpis:\n"
msgstr[1] ""
"\n"
-"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64> zawiera %zu wpisy:\n"
+"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64> zawiera %zu wpisy:\n"
msgstr[2] ""
"\n"
-"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64> zawiera %zu wpisów:\n"
+"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64> zawiera %zu wpisów:\n"
-#: src/readelf.c:4644
+#: src/readelf.c:4752
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:4646
+#: src/readelf.c:4754
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
@@ -5484,31 +5540,31 @@ msgstr ""
" [%*zu] początek: %0#*<PRIx64>, długość: %5<PRIu64>, offset CU DIE: "
"%6<PRId64>\n"
-#: src/readelf.c:4676 src/readelf.c:4830 src/readelf.c:5406 src/readelf.c:6360
-#: src/readelf.c:6892 src/readelf.c:7012 src/readelf.c:7176 src/readelf.c:7601
+#: src/readelf.c:4784 src/readelf.c:4938 src/readelf.c:5514 src/readelf.c:6468
+#: src/readelf.c:7000 src/readelf.c:7120 src/readelf.c:7284 src/readelf.c:7709
#, c-format
msgid ""
"\n"
"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n"
msgstr ""
"\n"
-"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64>:\n"
+"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64>:\n"
-#: src/readelf.c:4689 src/readelf.c:6386
-#, fuzzy, c-format
+#: src/readelf.c:4797 src/readelf.c:6494
+#, c-format
msgid ""
"\n"
"Table at offset %zu:\n"
msgstr ""
"\n"
-"Tabela pod offsetem %Zu:\n"
+"Tabela pod offsetem %zu:\n"
-#: src/readelf.c:4693 src/readelf.c:5430 src/readelf.c:6397
+#: src/readelf.c:4801 src/readelf.c:5538 src/readelf.c:6505
#, c-format
msgid "invalid data in section [%zu] '%s'"
-msgstr "nieprawidłowe dane w sekcji [%zu] \"%s\""
+msgstr "nieprawidÅ‚owe dane w sekcji [%zu] „%sâ€"
-#: src/readelf.c:4709
+#: src/readelf.c:4817
#, c-format
msgid ""
"\n"
@@ -5517,32 +5573,32 @@ msgstr ""
"\n"
" Długość: %6<PRIu64>\n"
-#: src/readelf.c:4721
+#: src/readelf.c:4829
#, c-format
msgid " DWARF version: %6<PRIuFAST16>\n"
msgstr " Wersja DWARF: %6<PRIuFAST16>\n"
-#: src/readelf.c:4725
+#: src/readelf.c:4833
#, c-format
msgid "unsupported aranges version"
msgstr "nieobsługiwana wersja aranges"
-#: src/readelf.c:4736
+#: src/readelf.c:4844
#, c-format
msgid " CU offset: %6<PRIx64>\n"
msgstr " Offset CU: %6<PRIx64>\n"
-#: src/readelf.c:4742
+#: src/readelf.c:4850
#, c-format
msgid " Address size: %6<PRIu64>\n"
msgstr " Offset adresu: %6<PRIu64>\n"
-#: src/readelf.c:4746
+#: src/readelf.c:4854
#, c-format
msgid "unsupported address size"
msgstr "nieobsługiwany rozmiar adresu"
-#: src/readelf.c:4751
+#: src/readelf.c:4859
#, c-format
msgid ""
" Segment size: %6<PRIu64>\n"
@@ -5551,75 +5607,75 @@ msgstr ""
" Rozmiar segmentu: %6<PRIu64>\n"
"\n"
-#: src/readelf.c:4755
+#: src/readelf.c:4863
#, c-format
msgid "unsupported segment size"
msgstr "nieobsługiwany rozmiar segmentu"
-#: src/readelf.c:4795
+#: src/readelf.c:4903
#, c-format
msgid " %s..%s (%<PRIx64>)\n"
msgstr " %s..%s (%<PRIx64>)\n"
-#: src/readelf.c:4798
+#: src/readelf.c:4906
#, c-format
msgid " %s..%s\n"
msgstr " %s..%s\n"
-#: src/readelf.c:4807
-#, fuzzy, c-format
+#: src/readelf.c:4915
+#, c-format
msgid " %zu padding bytes\n"
-msgstr " bajty wypełnienia: %Zu\n"
+msgstr " bajty wypełnienia: %zu\n"
-#: src/readelf.c:4825
+#: src/readelf.c:4933
#, c-format
msgid "cannot get .debug_ranges content: %s"
msgstr "nie można uzyskać zawartości .debug_ranges: %s"
-#: src/readelf.c:4855 src/readelf.c:6919
+#: src/readelf.c:4963 src/readelf.c:7027
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr " [%6tx] <NIEPRAWIDÅOWE DANE>\n"
-#: src/readelf.c:4877 src/readelf.c:6941
+#: src/readelf.c:4985 src/readelf.c:7049
#, c-format
msgid " [%6tx] base address %s\n"
msgstr " [%6tx] adres podstawowy %s\n"
-#: src/readelf.c:4884 src/readelf.c:6948
+#: src/readelf.c:4992 src/readelf.c:7056
#, c-format
msgid " [%6tx] empty list\n"
msgstr " [%6tx] pusta lista\n"
-#: src/readelf.c:4895
+#: src/readelf.c:5003
#, c-format
msgid " [%6tx] %s..%s\n"
-msgstr " [%6tx] %s...%s\n"
+msgstr " [%6tx] %s…%s\n"
-#: src/readelf.c:4897
+#: src/readelf.c:5005
#, c-format
msgid " %s..%s\n"
-msgstr " %s...%s\n"
+msgstr " %s…%s\n"
-#: src/readelf.c:5076
+#: src/readelf.c:5184
msgid " <INVALID DATA>\n"
msgstr " <NIEPRAWIDÅOWE DANE>\n"
-#: src/readelf.c:5385
+#: src/readelf.c:5493
#, c-format
msgid "cannot get ELF: %s"
msgstr "nie można uzyskać ELF: %s"
-#: src/readelf.c:5402
+#: src/readelf.c:5510
#, c-format
msgid ""
"\n"
"Call frame information section [%2zu] '%s' at offset %#<PRIx64>:\n"
msgstr ""
"\n"
-"Sekcja informacji o ramce wywołania [%2zu] \"%s\" pod offsetem %#<PRIx64>:\n"
+"Sekcja informacji o ramce wywołania [%2zu] „%s†pod offsetem %#<PRIx64>:\n"
-#: src/readelf.c:5452
+#: src/readelf.c:5560
#, c-format
msgid ""
"\n"
@@ -5628,50 +5684,50 @@ msgstr ""
"\n"
" [%6tx] Zerowy koniec\n"
-#: src/readelf.c:5545 src/readelf.c:5700
+#: src/readelf.c:5653 src/readelf.c:5808
#, c-format
msgid "invalid augmentation length"
msgstr "nieprawidłowa długość powiększenia"
-#: src/readelf.c:5560
+#: src/readelf.c:5668
msgid "FDE address encoding: "
msgstr "Kodowanie adresu FDE: "
-#: src/readelf.c:5566
+#: src/readelf.c:5674
msgid "LSDA pointer encoding: "
msgstr "Kodowanie wskaźnika LSDA: "
-#: src/readelf.c:5677
+#: src/readelf.c:5785
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr " (offset: %#<PRIx64>)"
-#: src/readelf.c:5684
+#: src/readelf.c:5792
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr " (kończący offset: %#<PRIx64>)"
-#: src/readelf.c:5721
+#: src/readelf.c:5829
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr " %-26sWskaźnik LSDA: %#<PRIx64>\n"
-#: src/readelf.c:5776
+#: src/readelf.c:5884
#, c-format
msgid "cannot get attribute code: %s"
msgstr "nie można uzyskać kodu atrybutu: %s"
-#: src/readelf.c:5785
+#: src/readelf.c:5893
#, c-format
msgid "cannot get attribute form: %s"
msgstr "nie można uzyskać formy atrybutu: %s"
-#: src/readelf.c:5800
+#: src/readelf.c:5908
#, c-format
msgid "cannot get attribute value: %s"
msgstr "nie można uzyskać wartości atrybutu: %s"
-#: src/readelf.c:6099
+#: src/readelf.c:6207
#, c-format
msgid ""
"\n"
@@ -5679,10 +5735,10 @@ msgid ""
" [Offset]\n"
msgstr ""
"\n"
-"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64>:\n"
+"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64>:\n"
" [Offset]\n"
-#: src/readelf.c:6131
+#: src/readelf.c:6239
#, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5695,7 +5751,7 @@ msgstr ""
"%<PRIu8>, rozmiar offsetu: %<PRIu8>\n"
" Podpis typu: %#<PRIx64>, offset typu: %#<PRIx64>\n"
-#: src/readelf.c:6140
+#: src/readelf.c:6248
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5706,33 +5762,33 @@ msgstr ""
" Wersja: %<PRIu16>, offset sekcji skrótów: %<PRIu64>, rozmiar adresu: "
"%<PRIu8>, rozmiar offsetu: %<PRIu8>\n"
-#: src/readelf.c:6165
+#: src/readelf.c:6273
#, c-format
msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s"
-msgstr "nie można uzyskać DIE pod offsetem %<PRIu64> w sekcji \"%s\": %s"
+msgstr "nie można uzyskać DIE pod offsetem %<PRIu64> w sekcji „%sâ€: %s"
-#: src/readelf.c:6179
+#: src/readelf.c:6287
#, c-format
msgid "cannot get DIE offset: %s"
msgstr "nie można uzyskać offsetu DIE: %s"
-#: src/readelf.c:6188
+#: src/readelf.c:6296
#, c-format
msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s"
msgstr ""
-"nie można uzyskać znacznika DIE pod offsetem %<PRIu64> w sekcji \"%s\": %s"
+"nie można uzyskać znacznika DIE pod offsetem %<PRIu64> w sekcji „%sâ€: %s"
-#: src/readelf.c:6220
+#: src/readelf.c:6328
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr "nie można uzyskać następnego DIE: %s\n"
-#: src/readelf.c:6228
+#: src/readelf.c:6336
#, c-format
msgid "cannot get next DIE: %s"
msgstr "nie można uzyskać następnego DIE: %s"
-#: src/readelf.c:6264
+#: src/readelf.c:6372
#, c-format
msgid ""
"\n"
@@ -5740,15 +5796,15 @@ msgid ""
"\n"
msgstr ""
"\n"
-"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64>:\n"
+"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:6373
+#: src/readelf.c:6481
#, c-format
msgid "cannot get line data section data: %s"
msgstr "nie można uzyskać danych sekcji danych wiersza: %s"
-#: src/readelf.c:6443
+#: src/readelf.c:6551
#, c-format
msgid ""
"\n"
@@ -5770,19 +5826,19 @@ msgstr ""
" Długość prologu: %<PRIu64>\n"
" Minimalna długość instrukcji: %<PRIuFAST8>\n"
" Maksymalna liczba działań na instrukcję: %<PRIuFAST8>\n"
-" Początkowa wartość \"%s\": %<PRIuFAST8>\n"
+" PoczÄ…tkowa wartość „%sâ€: %<PRIuFAST8>\n"
" PoczÄ…tek wiersza: %<PRIdFAST8>\n"
" Przedział wiersza: %<PRIuFAST8>\n"
" PoczÄ…tek instrukcji: %<PRIuFAST8>\n"
"\n"
"Instrukcje:\n"
-#: src/readelf.c:6464
+#: src/readelf.c:6572
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
-msgstr "nieprawidłowe dane pod offsetem %tu w sekcji [%zu] \"%s\""
+msgstr "nieprawidÅ‚owe dane pod offsetem %tu w sekcji [%zu] „%sâ€"
-#: src/readelf.c:6479
+#: src/readelf.c:6587
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
@@ -5790,7 +5846,7 @@ msgstr[0] " [%*<PRIuFAST8>] %hhu parametr\n"
msgstr[1] " [%*<PRIuFAST8>] %hhu parametry\n"
msgstr[2] " [%*<PRIuFAST8>] %hhu parametrów\n"
-#: src/readelf.c:6487
+#: src/readelf.c:6595
msgid ""
"\n"
"Directory table:"
@@ -5798,7 +5854,7 @@ msgstr ""
"\n"
"Tabela katalogu:"
-#: src/readelf.c:6503
+#: src/readelf.c:6611
msgid ""
"\n"
"File name table:\n"
@@ -5808,7 +5864,7 @@ msgstr ""
"Tabela nazw plików:\n"
" Wpis Kat Czas Rozmiar Nazwa"
-#: src/readelf.c:6538
+#: src/readelf.c:6646
msgid ""
"\n"
"Line number statements:"
@@ -5816,119 +5872,119 @@ msgstr ""
"\n"
"Instrukcje numerów wierszy:"
-#: src/readelf.c:6589
+#: src/readelf.c:6697
#, c-format
msgid "invalid maximum operations per instruction is zero"
msgstr "nieprawidłowe maksimum operacji na instrukcję wynosi zero"
-#: src/readelf.c:6625
+#: src/readelf.c:6733
#, c-format
msgid " special opcode %u: address+%u = %s, op_index = %u, line%+d = %zu\n"
msgstr ""
" instrukcja specjalna %u: adres+%u = %s, op_index = %u, wiersz%+d = %zu\n"
-#: src/readelf.c:6630
+#: src/readelf.c:6738
#, c-format
msgid " special opcode %u: address+%u = %s, line%+d = %zu\n"
msgstr " instrukcja specjalna %u: adres+%u = %s, wiersz%+d = %zu\n"
-#: src/readelf.c:6650
+#: src/readelf.c:6758
#, c-format
msgid " extended opcode %u: "
msgstr " instrukcja rozszerzona %u: "
-#: src/readelf.c:6655
+#: src/readelf.c:6763
msgid " end of sequence"
msgstr " koniec sekwencji"
-#: src/readelf.c:6674
+#: src/readelf.c:6782
#, c-format
msgid " set address to %s\n"
msgstr " ustawienie adresu na %s\n"
-#: src/readelf.c:6701
+#: src/readelf.c:6809
#, 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:6714
+#: src/readelf.c:6822
#, c-format
msgid " set discriminator to %u\n"
msgstr " ustawienie dyskryminatora na %u\n"
-#: src/readelf.c:6719
+#: src/readelf.c:6827
msgid " unknown opcode"
msgstr " nieznana instrukcja"
-#: src/readelf.c:6731
+#: src/readelf.c:6839
msgid " copy"
msgstr " kopiowanie"
-#: src/readelf.c:6742
+#: src/readelf.c:6850
#, c-format
msgid " advance address by %u to %s, op_index to %u\n"
msgstr " zwiększenie adresu o %u do %s, op_index do %u\n"
-#: src/readelf.c:6746
+#: src/readelf.c:6854
#, c-format
msgid " advance address by %u to %s\n"
msgstr " zwiększenie adresu o %u do %s\n"
-#: src/readelf.c:6757
+#: src/readelf.c:6865
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr " zwiększenie wiersza o stałą %d do %<PRId64>\n"
-#: src/readelf.c:6765
+#: src/readelf.c:6873
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr " ustawienie pliku na %<PRIu64>\n"
-#: src/readelf.c:6775
+#: src/readelf.c:6883
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr " ustawienie kolumny na %<PRIu64>\n"
-#: src/readelf.c:6782
+#: src/readelf.c:6890
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
-msgstr " ustawienie \"%s\" na %<PRIuFAST8>\n"
+msgstr " ustawienie „%s†na %<PRIuFAST8>\n"
-#: src/readelf.c:6788
+#: src/readelf.c:6896
msgid " set basic block flag"
msgstr " ustawienie podstawowej flagi bloku"
-#: src/readelf.c:6801
+#: src/readelf.c:6909
#, c-format
msgid " advance address by constant %u to %s, op_index to %u\n"
msgstr " zwiększenie adresu o stałą %u do %s, op_index do %u\n"
-#: src/readelf.c:6805
+#: src/readelf.c:6913
#, c-format
msgid " advance address by constant %u to %s\n"
msgstr " zwiększenie adresu o stałą %u do %s\n"
-#: src/readelf.c:6823
+#: src/readelf.c:6931
#, c-format
msgid " advance address by fixed value %u to %s\n"
msgstr " zwiększenie adresu o stałą wartość %u do %s\n"
-#: src/readelf.c:6832
+#: src/readelf.c:6940
msgid " set prologue end flag"
msgstr " ustawienie flagi końca prologu"
-#: src/readelf.c:6837
+#: src/readelf.c:6945
msgid " set epilogue begin flag"
msgstr " ustawienie flagi poczÄ…tku epilogu"
-#: src/readelf.c:6846
+#: src/readelf.c:6954
#, c-format
msgid " set isa to %u\n"
msgstr " ustawienie isa na %u\n"
-#: src/readelf.c:6855
+#: src/readelf.c:6963
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
@@ -5936,101 +5992,101 @@ msgstr[0] " nieznana instrukcja z %<PRIu8> parametrem:"
msgstr[1] " nieznana instrukcja z %<PRIu8> parametrami:"
msgstr[2] " nieznana instrukcja z %<PRIu8> parametrami:"
-#: src/readelf.c:6887
+#: src/readelf.c:6995
#, c-format
msgid "cannot get .debug_loc content: %s"
msgstr "nie można uzyskać zawartości .debug_log: %s"
-#: src/readelf.c:6962
+#: src/readelf.c:7070
#, c-format
msgid " [%6tx] %s..%s"
-msgstr " [%6tx] %s...%s"
+msgstr " [%6tx] %s…%s"
-#: src/readelf.c:6964
+#: src/readelf.c:7072
#, c-format
msgid " %s..%s"
-msgstr " %s...%s"
+msgstr " %s…%s"
-#: src/readelf.c:6971 src/readelf.c:7859
+#: src/readelf.c:7079 src/readelf.c:7967
msgid " <INVALID DATA>\n"
msgstr " <NIEPRAWIDÅOWE DANE>\n"
-#: src/readelf.c:7023 src/readelf.c:7185
+#: src/readelf.c:7131 src/readelf.c:7293
#, c-format
msgid "cannot get macro information section data: %s"
msgstr "nie można uzyskać danych sekcji informacji o makrach: %s"
-#: src/readelf.c:7103
+#: src/readelf.c:7211
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr "%*s*** niezakończony ciąg na końcu sekcji"
-#: src/readelf.c:7126
+#: src/readelf.c:7234
#, 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:7226
+#: src/readelf.c:7334
#, c-format
msgid " Offset: 0x%<PRIx64>\n"
msgstr " Offset: 0x%<PRIx64>\n"
-#: src/readelf.c:7238
+#: src/readelf.c:7346
#, c-format
msgid " Version: %<PRIu16>\n"
msgstr " Wersja: %<PRIu16>\n"
-#: src/readelf.c:7244 src/readelf.c:7978
+#: src/readelf.c:7352 src/readelf.c:8086
#, c-format
msgid " unknown version, cannot parse section\n"
msgstr " nieznana wersja, nie można przetworzyć sekcji\n"
-#: src/readelf.c:7251
+#: src/readelf.c:7359
#, c-format
msgid " Flag: 0x%<PRIx8>\n"
msgstr " Flaga: 0x%<PRIx8>\n"
-#: src/readelf.c:7254
+#: src/readelf.c:7362
#, c-format
msgid " Offset length: %<PRIu8>\n"
msgstr " Długość offsetu: %<PRIu8>\n"
-#: src/readelf.c:7262
+#: src/readelf.c:7370
#, c-format
msgid " .debug_line offset: 0x%<PRIx64>\n"
msgstr " Offset .debug_line: 0x%<PRIx64>\n"
-#: src/readelf.c:7275
+#: src/readelf.c:7383
#, c-format
msgid " extension opcode table, %<PRIu8> items:\n"
msgstr " tablica instrukcji rozszerzenia, %<PRIu8> elementów:\n"
-#: src/readelf.c:7282
+#: src/readelf.c:7390
#, c-format
msgid " [%<PRIx8>]"
msgstr " [%<PRIx8>]"
-#: src/readelf.c:7294
+#: src/readelf.c:7402
#, c-format
msgid " %<PRIu8> arguments:"
msgstr " Parametry %<PRIu8>:"
-#: src/readelf.c:7322
+#: src/readelf.c:7430
#, c-format
msgid " no arguments."
msgstr " brak parametrów."
-#: src/readelf.c:7559
+#: src/readelf.c:7667
#, c-format
msgid "vendor opcode not verified?"
msgstr "instrukcja producenta nie została sprawdzona?"
-#: src/readelf.c:7587
+#: src/readelf.c:7695
#, 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:7628
+#: src/readelf.c:7736
#, c-format
msgid ""
"\n"
@@ -6038,48 +6094,48 @@ msgid ""
" %*s String\n"
msgstr ""
"\n"
-"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64>:\n"
+"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64>:\n"
" %*s CiÄ…g\n"
-#: src/readelf.c:7642
+#: src/readelf.c:7750
#, c-format
msgid " *** error while reading strings: %s\n"
msgstr " *** błąd podczas odczytywania ciągów: %s\n"
-#: src/readelf.c:7662
+#: src/readelf.c:7770
#, c-format
msgid ""
"\n"
"Call frame search table section [%2zu] '.eh_frame_hdr':\n"
msgstr ""
"\n"
-"Sekcja tabeli wyszukiwania ramki wywołania [%2zu] \".eh_frame_hdr\":\n"
+"Sekcja tabeli wyszukiwania ramki wywoÅ‚ania [%2zu] „.eh_frame_hdrâ€:\n"
-#: src/readelf.c:7764
+#: src/readelf.c:7872
#, c-format
msgid ""
"\n"
"Exception handling table section [%2zu] '.gcc_except_table':\n"
msgstr ""
"\n"
-"Sekcja tabeli obsługiwania wyjątków [%2zu] \".gcc_except_table\":\n"
+"Sekcja tabeli obsÅ‚ugiwania wyjÄ…tków [%2zu] „.gcc_except_tableâ€:\n"
-#: src/readelf.c:7787
+#: src/readelf.c:7895
#, c-format
msgid " LPStart encoding: %#x "
msgstr " Kodowanie LPStart: %#x "
-#: src/readelf.c:7799
+#: src/readelf.c:7907
#, c-format
msgid " TType encoding: %#x "
msgstr " Kodowanie TType: %#x "
-#: src/readelf.c:7814
+#: src/readelf.c:7922
#, c-format
msgid " Call site encoding: %#x "
msgstr " Kodowanie strony wywołania: %#x "
-#: src/readelf.c:7827
+#: src/readelf.c:7935
msgid ""
"\n"
" Call site table:"
@@ -6087,7 +6143,7 @@ msgstr ""
"\n"
" Tabela strony wywołania:"
-#: src/readelf.c:7841
+#: src/readelf.c:7949
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -6100,51 +6156,51 @@ msgstr ""
" LÄ…dowisko: %#<PRIx64>\n"
" Działanie: %u\n"
-#: src/readelf.c:7914
+#: src/readelf.c:8022
#, c-format
msgid "invalid TType encoding"
msgstr "nieprawidłowe kodowanie TType"
-#: src/readelf.c:7940
+#: src/readelf.c:8048
#, c-format
msgid ""
"\n"
"GDB section [%2zu] '%s' at offset %#<PRIx64> contains %<PRId64> bytes :\n"
msgstr ""
"\n"
-"Sekcja GDB [%2zu] \"%s\" pod offsetem %#<PRIx64> zawiera %<PRId64> bajtów:\n"
+"Sekcja GDB [%2zu] „%s†pod offsetem %#<PRIx64> zawiera %<PRId64> bajtów:\n"
-#: src/readelf.c:7969
+#: src/readelf.c:8077
#, c-format
msgid " Version: %<PRId32>\n"
msgstr " Wersja: %<PRId32>\n"
-#: src/readelf.c:7987
+#: src/readelf.c:8095
#, c-format
msgid " CU offset: %#<PRIx32>\n"
msgstr " offset CU: %#<PRIx32>\n"
-#: src/readelf.c:7994
+#: src/readelf.c:8102
#, c-format
msgid " TU offset: %#<PRIx32>\n"
msgstr " offset TU: %#<PRIx32>\n"
-#: src/readelf.c:8001
+#: src/readelf.c:8109
#, c-format
msgid " address offset: %#<PRIx32>\n"
msgstr " offset adresu: %#<PRIx32>\n"
-#: src/readelf.c:8008
+#: src/readelf.c:8116
#, c-format
msgid " symbol offset: %#<PRIx32>\n"
msgstr " offset symbolu: %#<PRIx32>\n"
-#: src/readelf.c:8015
+#: src/readelf.c:8123
#, c-format
msgid " constant offset: %#<PRIx32>\n"
msgstr " offset stałej: %#<PRIx32>\n"
-#: src/readelf.c:8029
+#: src/readelf.c:8137
#, c-format
msgid ""
"\n"
@@ -6153,7 +6209,7 @@ msgstr ""
"\n"
" Lista CU pod offsetem %#<PRIx32> zawiera %zu wpisów:\n"
-#: src/readelf.c:8054
+#: src/readelf.c:8162
#, c-format
msgid ""
"\n"
@@ -6162,7 +6218,7 @@ msgstr ""
"\n"
" Lista TU pod offsetem %#<PRIx32> zawiera %zu wpisów:\n"
-#: src/readelf.c:8083
+#: src/readelf.c:8191
#, c-format
msgid ""
"\n"
@@ -6171,7 +6227,7 @@ msgstr ""
"\n"
" Lista adresów pod offsetem %#<PRIx32> zawiera %zu wpisów:\n"
-#: src/readelf.c:8116
+#: src/readelf.c:8224
#, c-format
msgid ""
"\n"
@@ -6180,50 +6236,50 @@ msgstr ""
"\n"
" Tabela symboli pod offsetem %#<PRIx32> zawiera %zu gniazd:\n"
-#: src/readelf.c:8203
+#: src/readelf.c:8311
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "nie można uzyskać deskryptora kontekstu debugowania: %s"
-#: src/readelf.c:8361 src/readelf.c:8983 src/readelf.c:9094 src/readelf.c:9152
+#: src/readelf.c:8467 src/readelf.c:9089 src/readelf.c:9200 src/readelf.c:9258
#, c-format
msgid "cannot convert core note data: %s"
-msgstr "nie można przekonwertować danych notatki core: %s"
+msgstr "nie można konwertować danych notatki core: %s"
-#: src/readelf.c:8724
+#: src/readelf.c:8830
#, c-format
msgid ""
"\n"
"%*s... <repeats %u more times> ..."
msgstr ""
"\n"
-"%*s... <powtarza siÄ™ jeszcze %u razy>..."
+"%*s… <powtarza się jeszcze %u razy>…"
-#: src/readelf.c:9231
+#: src/readelf.c:9337
msgid " Owner Data size Type\n"
msgstr " Właściciel Rozmiar danych Typ\n"
-#: src/readelf.c:9249
+#: src/readelf.c:9355
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:9299
+#: src/readelf.c:9405
#, c-format
msgid "cannot get content of note section: %s"
msgstr "nie można uzyskać zawartości sekcji notatki: %s"
-#: src/readelf.c:9326
+#: src/readelf.c:9432
#, c-format
msgid ""
"\n"
"Note section [%2zu] '%s' of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
"\n"
-"Segment notatki [%2zu] \"%s\" o długości %<PRIu64> bajtów pod offsetem "
+"Segment notatki [%2zu] „%s†o długości %<PRIu64> bajtów pod offsetem "
"%#0<PRIx64>:\n"
-#: src/readelf.c:9349
+#: src/readelf.c:9455
#, c-format
msgid ""
"\n"
@@ -6232,50 +6288,71 @@ msgstr ""
"\n"
"Segment notatki o długości %<PRIu64> bajtów pod offsetem %#0<PRIx64>:\n"
-#: src/readelf.c:9395
-#, fuzzy, c-format
+#: src/readelf.c:9501
+#, c-format
msgid ""
"\n"
"Section [%zu] '%s' has no data to dump.\n"
msgstr ""
"\n"
-"Sekcja [%Zu] \"%s\" nie posiada danych do zrzucenia.\n"
+"Sekcja [%zu] „%s†nie posiada danych do zrzucenia.\n"
-#: src/readelf.c:9401 src/readelf.c:9424
-#, fuzzy, c-format
+#: src/readelf.c:9518 src/readelf.c:9559
+#, c-format
msgid "cannot get data for section [%zu] '%s': %s"
-msgstr "nie można uzyskać danych dla sekcji [%Zu] \"%s\": %s"
+msgstr "nie można uzyskać danych dla sekcji [%zu] „%sâ€: %s"
-#: src/readelf.c:9405
-#, fuzzy, c-format
+#: src/readelf.c:9523
+#, c-format
msgid ""
"\n"
"Hex dump of section [%zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
"\n"
-"Segment zrzutu szesnastkowego [%Zu] \"%s\", %<PRIu64> bajtów pod offsetem "
+"Segment zrzutu szesnastkowego [%zu] „%sâ€, %<PRIu64> bajtów pod offsetem "
"%#0<PRIx64>:\n"
-#: src/readelf.c:9418
-#, fuzzy, c-format
+#: src/readelf.c:9528
+#, c-format
+msgid ""
+"\n"
+"Hex dump of section [%zu] '%s', %<PRIu64> bytes (%zd uncompressed) at offset "
+"%#0<PRIx64>:\n"
+msgstr ""
+"\n"
+"Zrzut szesnastkowy sekcji [%zu] „%sâ€, %<PRIu64> bajtów (%zd "
+"nieskompresowanych) pod offsetem %#0<PRIx64>:\n"
+
+#: src/readelf.c:9542
+#, c-format
msgid ""
"\n"
"Section [%zu] '%s' has no strings to dump.\n"
msgstr ""
"\n"
-"Sekcja [%Zu] \"%s\" nie posiada ciągów do zrzucenia.\n"
+"Sekcja [%zu] „%s†nie posiada ciągów do zrzucenia.\n"
-#: src/readelf.c:9428
-#, fuzzy, c-format
+#: src/readelf.c:9564
+#, c-format
msgid ""
"\n"
"String section [%zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
"\n"
-"Sekcja ciągów [%Zu] \"%s\" zawiera %<PRIu64> bajtów pod offsetem "
-"%#0<PRIx64>:\n"
+"Sekcja ciągów [%zu] „%s†zawiera %<PRIu64> bajtów pod offsetem %#0<PRIx64>:\n"
+
+#: src/readelf.c:9569
+#, c-format
+msgid ""
+"\n"
+"String section [%zu] '%s' contains %<PRIu64> bytes (%zd uncompressed) at "
+"offset %#0<PRIx64>:\n"
+msgstr ""
+"\n"
+"Sekcja ciągów [%zu] „%s†zawiera %<PRIu64> bajtów (%zd nieskompresowanych) "
+"pod offsetem %#0<PRIx64>:\n"
-#: src/readelf.c:9476
+#: src/readelf.c:9618
#, c-format
msgid ""
"\n"
@@ -6284,79 +6361,78 @@ msgstr ""
"\n"
"sekcja [%lu] nie istnieje"
-#: src/readelf.c:9505
+#: src/readelf.c:9647
#, c-format
msgid ""
"\n"
"section '%s' does not exist"
msgstr ""
"\n"
-"sekcja \"%s\" nie istnieje"
+"sekcja „%s†nie istnieje"
-#: src/readelf.c:9562
+#: src/readelf.c:9704
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
-msgstr "nie można uzyskać indeksu symboli archiwum \"%s\": %s"
+msgstr "nie można uzyskać indeksu symboli archiwum „%sâ€: %s"
-#: src/readelf.c:9565
+#: src/readelf.c:9707
#, c-format
msgid ""
"\n"
"Archive '%s' has no symbol index\n"
msgstr ""
"\n"
-"Archiwum \"%s\" nie posiada indeksu symboli\n"
+"Archiwum „%s†nie posiada indeksu symboli\n"
-#: src/readelf.c:9569
-#, fuzzy, c-format
+#: src/readelf.c:9711
+#, c-format
msgid ""
"\n"
"Index of archive '%s' has %zu entries:\n"
msgstr ""
"\n"
-"Indeks archiwum \"%s\" posiada %Zu wpisów:\n"
+"Indeks archiwum „%s†posiada %zu wpisów:\n"
-#: src/readelf.c:9587
-#, fuzzy, c-format
+#: src/readelf.c:9729
+#, 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"
+msgstr "nie można wydobyć elementów pod offsetem %zu w „%sâ€: %s"
-#: src/readelf.c:9592
+#: src/readelf.c:9734
#, c-format
msgid "Archive member '%s' contains:\n"
-msgstr "Element archiwum \"%s\" zawiera:\n"
+msgstr "Element archiwum „%s†zawiera:\n"
#: src/size.c:59
msgid ""
"Use the output format FORMAT. FORMAT can be `bsd' or `sysv'. The default "
"is `bsd'"
msgstr ""
-"Używa FORMATU wyjścia. Może to być \"bsd\" lub \"sysv\". Domyślny jest \"bsd"
-"\""
+"Używa FORMATU wyjÅ›cia. Może to być „bsd†lub „sysvâ€. DomyÅ›lny jest „bsdâ€"
#: src/size.c:61
msgid "Same as `--format=sysv'"
-msgstr "To samo, co \"--format=sysv\""
+msgstr "To samo, co „--format=sysvâ€"
#: src/size.c:62
msgid "Same as `--format=bsd'"
-msgstr "To samo, co \"--format=bsd\""
+msgstr "To samo, co „--format=bsdâ€"
#: src/size.c:65
msgid "Same as `--radix=10'"
-msgstr "To samo, co \"--radix=10\""
+msgstr "To samo, co „--radix=10â€"
#: src/size.c:66
msgid "Same as `--radix=8'"
-msgstr "To samo, co \"--radix=8\""
+msgstr "To samo, co „--radix=8â€"
#: src/size.c:67
msgid "Same as `--radix=16'"
-msgstr "To samo, co \"--radix=16\""
+msgstr "To samo, co „--radix=16â€"
#: src/size.c:69
msgid "Similar to `--format=sysv' output but in one line"
-msgstr "Podobne do wyjścia \"--format=sysv\", ale w jednym wierszu"
+msgstr "Podobne do wyjÅ›cia „--format=sysvâ€, ale w jednym wierszu"
#: src/size.c:73
msgid "Print size and permission flags for loadable segments"
@@ -6402,7 +6478,7 @@ msgstr "-p PID powinien być dodatnim identyfikatorem procesu."
#: src/stack.c:494
#, c-format
msgid "Cannot open core file '%s'"
-msgstr "Nie można otworzyć pliku core \"%s\""
+msgstr "Nie można otworzyć pliku core „%sâ€"
#: src/stack.c:554
#, c-format
@@ -6565,7 +6641,7 @@ msgstr "Wyświetla ciągi znaków drukowalnych w plikach."
#: src/strings.c:271 src/strings.c:306
#, c-format
msgid "invalid value '%s' for %s parameter"
-msgstr "nieprawidłowa wartość \"%s\" dla parametru %s"
+msgstr "nieprawidłowa wartość „%s†dla parametru %s"
#: src/strings.c:317
#, c-format
@@ -6573,9 +6649,9 @@ msgid "invalid minimum length of matched string size"
msgstr "nieprawidłowa minimalna długość dopasowanego rozmiaru ciągu"
#: src/strings.c:600
-#, fuzzy, c-format
+#, c-format
msgid "lseek failed"
-msgstr "lseek64 się nie powiodło"
+msgstr "lseek się nie powiodło"
#: src/strings.c:617 src/strings.c:681
#, c-format
@@ -6590,7 +6666,7 @@ msgstr "mprotect się nie powiodło"
#: src/strings.c:743
#, c-format
msgid "Skipping section %zd '%s' data outside file"
-msgstr "Pomijanie sekcji %zd \"%s\" dane poza plikiem"
+msgstr "Pomijanie sekcji %zd „%s†dane poza plikiem"
#: src/strip.c:68
msgid "Place stripped output into FILE"
@@ -6646,7 +6722,7 @@ msgstr "Użyto --reloc-debug-sections bez opcji -f"
#: src/strip.c:200
#, 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\""
+msgstr "Tylko jeden plik wejÅ›ciowy jest dozwolony z „-o†i „-fâ€"
#: src/strip.c:236
#, c-format
@@ -6671,12 +6747,12 @@ msgstr "Opcja -R obsługuje tylko sekcję .comment"
#: src/strip.c:320 src/strip.c:344
#, c-format
msgid "cannot stat input file '%s'"
-msgstr "nie można wykonać stat na pliku wejściowym \"%s\""
+msgstr "nie można wykonać stat na pliku wejÅ›ciowym „%sâ€"
#: src/strip.c:334
#, c-format
msgid "while opening '%s'"
-msgstr "podczas otwierania \"%s\""
+msgstr "podczas otwierania „%sâ€"
#: src/strip.c:372
#, c-format
@@ -6701,12 +6777,12 @@ msgstr "nie można uzyskać liczby phdr"
#: src/strip.c:544 src/strip.c:568
#, c-format
msgid "cannot create new file '%s': %s"
-msgstr "nie można utworzyć nowego pliku \"%s\": %s"
+msgstr "nie można utworzyć nowego pliku „%sâ€: %s"
#: src/strip.c:634
#, c-format
msgid "illformed file '%s'"
-msgstr "plik \"%s\" posiada błędny format"
+msgstr "plik „%s†posiada błędny format"
#: src/strip.c:968 src/strip.c:1067
#, c-format
@@ -6721,7 +6797,7 @@ msgstr "%s: błąd podczas tworzenia nagłówka ELF: %s"
#: src/strip.c:1050
#, c-format
msgid "while preparing output for '%s'"
-msgstr "podczas przygotowywania wyjścia dla \"%s\""
+msgstr "podczas przygotowywania wyjÅ›cia dla „%sâ€"
#: src/strip.c:1108 src/strip.c:1171
#, c-format
@@ -6746,12 +6822,12 @@ msgstr "błędna relokacja"
#: src/strip.c:1982 src/strip.c:2095
#, c-format
msgid "while writing '%s': %s"
-msgstr "podczas zapisywania \"%s\": %s"
+msgstr "podczas zapisywania „%sâ€: %s"
#: src/strip.c:1993
#, c-format
msgid "while creating '%s'"
-msgstr "podczas tworzenia \"%s\""
+msgstr "podczas tworzenia „%sâ€"
#: src/strip.c:2016
#, c-format
@@ -6766,17 +6842,17 @@ msgstr "%s: błąd podczas odczytywania pliku: %s"
#: src/strip.c:2120 src/strip.c:2140
#, c-format
msgid "while writing '%s'"
-msgstr "podczas zapisywania \"%s\""
+msgstr "podczas zapisywania „%sâ€"
#: src/strip.c:2177 src/strip.c:2184
#, c-format
msgid "error while finishing '%s': %s"
-msgstr "błąd podczas kończenia \"%s\": %s"
+msgstr "bÅ‚Ä…d podczas koÅ„czenia „%sâ€: %s"
#: src/strip.c:2201 src/strip.c:2273
#, c-format
msgid "cannot set access and modification date of '%s'"
-msgstr "nie można ustawić czasu dostępu i modyfikacji \"%s\""
+msgstr "nie można ustawić czasu dostÄ™pu i modyfikacji „%sâ€"
#: src/unstrip.c:69
msgid "Match MODULE against file names, not module names"
@@ -6835,7 +6911,7 @@ msgstr "opcja -n nie może być używana z jawnymi plikami albo z opcją -o lub
#: src/unstrip.c:188
#, c-format
msgid "output directory '%s'"
-msgstr "katalog wyjściowy \"%s\""
+msgstr "katalog wyjÅ›ciowy „%sâ€"
#: src/unstrip.c:197
#, c-format
@@ -6862,12 +6938,12 @@ msgstr "nie można utworzyć nagłówka ELF: %s"
msgid "cannot copy ELF header: %s"
msgstr "nie można skopiować nagłówka ELF: %s"
-#: src/unstrip.c:261 src/unstrip.c:1903 src/unstrip.c:1947
+#: src/unstrip.c:261 src/unstrip.c:1939 src/unstrip.c:1982
#, c-format
msgid "cannot get number of program headers: %s"
msgstr "nie można uzyskać liczby nagłówków programu: %s"
-#: src/unstrip.c:266 src/unstrip.c:1907
+#: src/unstrip.c:266 src/unstrip.c:1943
#, c-format
msgid "cannot create program headers: %s"
msgstr "nie można utworzyć nagłówków programu: %s"
@@ -6882,12 +6958,12 @@ msgstr "nie można skopiować nagłówka programu: %s"
msgid "cannot copy section header: %s"
msgstr "nie można skopiować nagłówka sekcji: %s"
-#: src/unstrip.c:285 src/unstrip.c:1541
+#: src/unstrip.c:285 src/unstrip.c:1576
#, c-format
msgid "cannot get section data: %s"
msgstr "nie można uzyskać danych sekcji: %s"
-#: src/unstrip.c:287 src/unstrip.c:1543
+#: src/unstrip.c:287 src/unstrip.c:1578
#, c-format
msgid "cannot copy section data: %s"
msgstr "nie można skopiować danych sekcji: %s"
@@ -6895,225 +6971,225 @@ msgstr "nie można skopiować danych sekcji: %s"
#: src/unstrip.c:311
#, c-format
msgid "cannot create directory '%s'"
-msgstr "nie można utworzyć katalogu \"%s\""
+msgstr "nie można utworzyć katalogu „%sâ€"
-#: src/unstrip.c:351 src/unstrip.c:768 src/unstrip.c:1575
+#: src/unstrip.c:383 src/unstrip.c:803 src/unstrip.c:1610
#, c-format
msgid "cannot get symbol table entry: %s"
msgstr "nie można uzyskać wpisu tabeli symboli: %s"
-#: src/unstrip.c:367 src/unstrip.c:585 src/unstrip.c:606 src/unstrip.c:618
-#: src/unstrip.c:1596 src/unstrip.c:1769 src/unstrip.c:1793
+#: src/unstrip.c:399 src/unstrip.c:620 src/unstrip.c:641 src/unstrip.c:653
+#: src/unstrip.c:1631 src/unstrip.c:1805 src/unstrip.c:1829
#, c-format
msgid "cannot update symbol table: %s"
msgstr "nie można zaktualizować tabeli symboli: %s"
-#: src/unstrip.c:377
+#: src/unstrip.c:409
#, c-format
msgid "cannot update section header: %s"
msgstr "nie można zaktualizować nagłówka sekcji: %s"
-#: src/unstrip.c:416 src/unstrip.c:427
+#: src/unstrip.c:448 src/unstrip.c:459
#, c-format
msgid "cannot update relocation: %s"
msgstr "nie można zaktualizować relokacji: %s"
-#: src/unstrip.c:514
+#: src/unstrip.c:547
#, c-format
msgid "cannot get symbol version: %s"
msgstr "nie można uzyskać wersji symbolu: %s"
-#: src/unstrip.c:526
-#, fuzzy, c-format
+#: src/unstrip.c:560
+#, 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"
+msgstr "nieoczekiwany typ sekcji w [%zu] z sh_link do tabeli symboli"
-#: src/unstrip.c:774
-#, fuzzy, c-format
+#: src/unstrip.c:809
+#, c-format
msgid "invalid string offset in symbol [%zu]"
-msgstr "nieprawidłowy offset ciągu w symbolu [%Zu]"
+msgstr "nieprawidłowy offset ciągu w symbolu [%zu]"
-#: src/unstrip.c:932 src/unstrip.c:1278
-#, fuzzy, c-format
+#: src/unstrip.c:967 src/unstrip.c:1313
+#, c-format
msgid "cannot read section [%zu] name: %s"
-msgstr "nie można odczytać nazwy sekcji [%Zu]: %s"
+msgstr "nie można odczytać nazwy sekcji [%zu]: %s"
-#: src/unstrip.c:973 src/unstrip.c:992 src/unstrip.c:1027
+#: src/unstrip.c:1008 src/unstrip.c:1027 src/unstrip.c:1062
#, c-format
msgid "cannot read '.gnu.prelink_undo' section: %s"
-msgstr "nie można odczytać sekcji \".gnu.prelink_undo\": %s"
+msgstr "nie można odczytać sekcji „.gnu.prelink_undoâ€: %s"
-#: src/unstrip.c:1013
+#: src/unstrip.c:1048
#, c-format
msgid "invalid contents in '%s' section"
-msgstr "nieprawidłowa zawartość w sekcji \"%s\""
+msgstr "nieprawidÅ‚owa zawartość w sekcji „%sâ€"
-#: src/unstrip.c:1019
+#: src/unstrip.c:1054
#, c-format
msgid "overflow with shnum = %zu in '%s' section"
-msgstr ""
+msgstr "przepeÅ‚nienie z shnum = %zu w sekcji „%sâ€"
-#: src/unstrip.c:1073 src/unstrip.c:1398
-#, fuzzy, c-format
+#: src/unstrip.c:1108 src/unstrip.c:1433
+#, c-format
msgid "cannot find matching section for [%zu] '%s'"
-msgstr "nie można odnaleźć pasującej sekcji dla [%Zu] \"%s\""
+msgstr "nie można odnaleźć pasujÄ…cej sekcji dla [%zu] „%sâ€"
-#: src/unstrip.c:1198 src/unstrip.c:1213 src/unstrip.c:1479 src/unstrip.c:1731
+#: src/unstrip.c:1233 src/unstrip.c:1248 src/unstrip.c:1514 src/unstrip.c:1766
#, 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:1222
+#: src/unstrip.c:1257
#, 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:1249 src/unstrip.c:1253
+#: src/unstrip.c:1284 src/unstrip.c:1288
#, 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:1257 src/unstrip.c:1261 src/unstrip.c:1494
+#: src/unstrip.c:1292 src/unstrip.c:1296 src/unstrip.c:1529
#, c-format
msgid "cannot get section count: %s"
msgstr "nie można uzyskać licznika sekcji: %s"
-#: src/unstrip.c:1264
+#: src/unstrip.c:1299
#, 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 "
+"więcej sekcji w okrojonym pliku niż w pliku debugowania — odwrócono "
"parametry?"
-#: src/unstrip.c:1323 src/unstrip.c:1413
+#: src/unstrip.c:1358 src/unstrip.c:1448
#, 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:1473
+#: src/unstrip.c:1508
#, c-format
msgid "cannot add new section: %s"
msgstr "nie można dodać nowej sekcji: %s"
-#: src/unstrip.c:1583
-#, fuzzy, c-format
+#: src/unstrip.c:1618
+#, c-format
msgid "symbol [%zu] has invalid section index"
-msgstr "symbol [%Zu] posiada nieprawidłowy indeks sekcji"
+msgstr "symbol [%zu] posiada nieprawidłowy indeks sekcji"
-#: src/unstrip.c:1864
+#: src/unstrip.c:1900
#, c-format
msgid "cannot read section data: %s"
msgstr "nie można odczytać danych sekcji: %s"
-#: src/unstrip.c:1885
+#: src/unstrip.c:1921
#, c-format
msgid "cannot get ELF header: %s"
msgstr "nie można uzyskać nagłówka ELF: %s"
-#: src/unstrip.c:1917
+#: src/unstrip.c:1953
#, c-format
msgid "cannot update program header: %s"
msgstr "nie można zaktualizować nagłówka programu: %s"
-#: src/unstrip.c:1922 src/unstrip.c:2005
+#: src/unstrip.c:1958 src/unstrip.c:2040
#, c-format
msgid "cannot write output file: %s"
msgstr "nie można zapisać pliku wyjściowego: %s"
-#: src/unstrip.c:1974
+#: src/unstrip.c:2009
#, 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:1977
+#: src/unstrip.c:2012
#, c-format
msgid ""
"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
msgstr ""
-"Dane DWARF w \"%s\" nie zostały dostosowane do przesunięcia wczesnego "
+"Dane DWARF w „%s†nie zostały dostosowane do przesunięcia wczesnego "
"konsolidowania; proszę rozważyć polecenie prelink -u"
-#: src/unstrip.c:1996 src/unstrip.c:2047 src/unstrip.c:2059 src/unstrip.c:2145
+#: src/unstrip.c:2031 src/unstrip.c:2082 src/unstrip.c:2094 src/unstrip.c:2180
#, c-format
msgid "cannot create ELF descriptor: %s"
msgstr "nie można utworzyć deskryptora ELF: %s"
-#: src/unstrip.c:2038
+#: src/unstrip.c:2073
msgid "WARNING: "
msgstr "OSTRZEŻENIE: "
-#: src/unstrip.c:2040
+#: src/unstrip.c:2075
msgid ", use --force"
msgstr ", należy użyć opcji --force"
-#: src/unstrip.c:2063
+#: src/unstrip.c:2098
msgid "ELF header identification (e_ident) different"
msgstr "Różna identyfikacja nagłówka ELF (e_ident)"
-#: src/unstrip.c:2066
+#: src/unstrip.c:2101
msgid "ELF header type (e_type) different"
msgstr "Różne typy nagłówka ELF (e_type)"
-#: src/unstrip.c:2069
+#: src/unstrip.c:2104
msgid "ELF header machine type (e_machine) different"
msgstr "Różne typy maszyny nagłówka ELF (e_machine)"
-#: src/unstrip.c:2072
+#: src/unstrip.c:2107
msgid "stripped program header (e_phnum) smaller than unstripped"
msgstr "okrojony nagłówek programu (e_phnum) jest mniejszy niż nieokrojony"
-#: src/unstrip.c:2102
+#: src/unstrip.c:2137
#, c-format
msgid "cannot find stripped file for module '%s': %s"
-msgstr "nie można odnaleźć okrojonego pliku dla modułu \"%s\": %s"
+msgstr "nie można odnaleźć okrojonego pliku dla moduÅ‚u „%sâ€: %s"
-#: src/unstrip.c:2106
+#: src/unstrip.c:2141
#, 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"
+msgstr "nie można otworzyć okrojonego pliku „%s†dla moduÅ‚u „%sâ€: %s"
-#: src/unstrip.c:2121
+#: src/unstrip.c:2156
#, c-format
msgid "cannot find debug file for module '%s': %s"
-msgstr "nie można odnaleźć pliku debugowania dla modułu \"%s\": %s"
+msgstr "nie można odnaleźć pliku debugowania dla moduÅ‚u „%sâ€: %s"
-#: src/unstrip.c:2125
+#: src/unstrip.c:2160
#, 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"
+msgstr "nie można otworzyć pliku debugowania „%s†dla moduÅ‚u „%sâ€: %s"
-#: src/unstrip.c:2138
+#: src/unstrip.c:2173
#, c-format
msgid "module '%s' file '%s' is not stripped"
-msgstr "moduł \"%s\" pliku \"%s\" nie został okrojony"
+msgstr "moduł „%s†pliku „%s†nie został okrojony"
-#: src/unstrip.c:2169
+#: src/unstrip.c:2204
#, 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"
+"nie można utworzyć pamiÄ™ci podrÄ™cznej adresów sekcji dla moduÅ‚u „%sâ€: %s"
-#: src/unstrip.c:2302
+#: src/unstrip.c:2337
#, c-format
msgid "no matching modules found"
msgstr "nie odnaleziono pasujących modułów"
-#: src/unstrip.c:2311
+#: src/unstrip.c:2346
#, c-format
msgid "matched more than one module"
msgstr "pasuje więcej niż jeden moduł"
-#: src/unstrip.c:2355
+#: src/unstrip.c:2390
msgid ""
"STRIPPED-FILE DEBUG-FILE\n"
"[MODULE...]"
msgstr ""
"OKROJONY-PLIK PLIK-DEBUGOWANIA\n"
-"[MODUÅ...]"
+"[MODUÅ…]"
-#: src/unstrip.c:2356
+#: src/unstrip.c:2391
msgid ""
"Combine stripped files with separate symbols and debug information.\vThe "
"first form puts the result in DEBUG-FILE if -o was not given.\n"
@@ -7158,13 +7234,13 @@ msgstr ""
"\tPOCZÄ„TEK+ROZMIAR IDENTYFIKATOR-KOPII PLIK PLIK-DEBUGOWANIA NAZWA-MODUÅU\n"
"POCZĄTEK i ROZMIAR są liczbami szesnastkowymi podającymi zakres adresów "
"modułu. IDENTYFIKATOR-KOPII jest liczbą szesnastkową dla bitów "
-"identyfikatora kopii lub \"-\", jeśli identyfikator jest nieznany; liczba "
+"identyfikatora kopii lub „-â€, jeÅ›li identyfikator jest nieznany; liczba "
"szesnastkowa może być uzupełniona @0xADRES podającym adres, gdzie znajduje "
"się identyfikator, jeśli jest to wiadome. PLIK jest nazwą pliku "
-"odnalezionego dla modułu lub \"-\", jeśli go nie odnaleziono lub \".\", "
-"jeśli obraz ELF jest dostępny, ale nie z żadnego nazwanego pliku. PLIK-"
-"DEBUGOWANIA jest nazwą oddzielnego pliku debuginfo lub \"-\", jeśli nie "
-"odnaleziono debuginfo lub \".\", jeśli PLIK zawiera informacje debugowania."
+"odnalezionego dla moduÅ‚u lub „-â€, jeÅ›li go nie odnaleziono lub „.â€, jeÅ›li "
+"obraz ELF jest dostępny, ale nie z żadnego nazwanego pliku. PLIK-DEBUGOWANIA "
+"jest nazwÄ… oddzielnego pliku debuginfo lub „-â€, jeÅ›li nie odnaleziono "
+"debuginfo lub „.â€, jeÅ›li PLIK zawiera informacje debugowania."
#: tests/backtrace.c:427
msgid "Run executable"
@@ -7177,6 +7253,3 @@ msgstr "Dodatkowo wyświetla nazwy funkcji"
#: tests/dwflmodtest.c:214
msgid "Show instances of inlined functions"
msgstr "Wyświetla wystąpienia wstawionych funkcji"
-
-#~ msgid "cannot get section header of section %Zu: %s"
-#~ msgstr "nie można uzyskać nagłówka sekcji dla sekcji %Zu: %s"
diff --git a/po/uk.po b/po/uk.po
index 4cf554b0..7e875e2b 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-10-16 13:26+0200\n"
+"POT-Creation-Date: 2016-01-11 08:48+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"
@@ -46,8 +46,8 @@ msgstr ""
msgid "cannot allocate memory"
msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ð¾Ð´Ñ–Ð»Ð¸Ñ‚Ð¸ пам’ÑÑ‚ÑŒ"
-#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3184
-#: src/readelf.c:3561 src/readelf.c:8310 src/unstrip.c:2198 src/unstrip.c:2403
+#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3282
+#: src/readelf.c:3669 src/readelf.c:8416 src/unstrip.c:2233 src/unstrip.c:2438
#, c-format
msgid "memory exhausted"
msgstr "пам’ÑÑ‚ÑŒ вичерпано"
@@ -249,7 +249,7 @@ msgstr "некоректний код операції"
msgid "not a CU (unit) DIE"
msgstr "не Ñ” DIE CU (модулÑ)"
-#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2345
+#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2380
msgid "Input selection options:"
msgstr "Вибір параметрів Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…:"
@@ -307,7 +307,12 @@ msgstr "не вдалоÑÑ Ð²Ð¸Ñвити Ñдро або модулі"
msgid "cannot read ELF core file: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ файл core ELF: %s"
-#: libdwfl/argp-std.c:311
+#: libdwfl/argp-std.c:313
+#, fuzzy
+msgid "Not enough memory"
+msgstr "неÑтача пам'ÑÑ‚Ñ–"
+
+#: libdwfl/argp-std.c:323
msgid "No modules recognized in core file"
msgstr "Ðе вдалоÑÑ Ð²Ð¸Ñвити модулі у файлі core"
@@ -479,57 +484,57 @@ msgstr "<невідомо>"
msgid "<unknown>: %#<PRIx64>"
msgstr "<невідомо>: %#<PRIx64>"
-#: libebl/eblobjnote.c:52
+#: libebl/eblobjnote.c:53
#, c-format
msgid "unknown SDT version %u\n"
msgstr "невідома верÑÑ–Ñ SDT, %u\n"
-#: libebl/eblobjnote.c:70
+#: libebl/eblobjnote.c:71
#, c-format
msgid "invalid SDT probe descriptor\n"
msgstr "некоректний деÑкриптор Ð·Ð¾Ð½Ð´ÑƒÐ²Ð°Ð½Ð½Ñ SDT\n"
-#: libebl/eblobjnote.c:120
+#: libebl/eblobjnote.c:121
#, c-format
msgid " PC: "
msgstr " PC: "
-#: libebl/eblobjnote.c:122
+#: libebl/eblobjnote.c:123
#, c-format
msgid " Base: "
msgstr "ОÑнова: "
-#: libebl/eblobjnote.c:124
+#: libebl/eblobjnote.c:125
#, c-format
msgid " Semaphore: "
msgstr " Семафор: "
-#: libebl/eblobjnote.c:126
+#: libebl/eblobjnote.c:127
#, c-format
msgid " Provider: "
msgstr " ПоÑтачальник: "
-#: libebl/eblobjnote.c:128
+#: libebl/eblobjnote.c:129
#, c-format
msgid " Name: "
msgstr "Ðазва: "
-#: libebl/eblobjnote.c:130
+#: libebl/eblobjnote.c:131
#, c-format
msgid " Args: "
msgstr " Ðрг.: "
-#: libebl/eblobjnote.c:140
+#: libebl/eblobjnote.c:141
#, c-format
msgid " Build ID: "
msgstr " Ід. збираннÑ: "
-#: libebl/eblobjnote.c:151
+#: libebl/eblobjnote.c:152
#, c-format
msgid " Linker version: %.*s\n"
msgstr " ВерÑÑ–Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ°: %.*s\n"
-#: libebl/eblobjnote.c:212
+#: libebl/eblobjnote.c:213
#, c-format
msgid " OS: %s, ABI: "
msgstr " ОС: %s, ABI: "
@@ -563,7 +568,7 @@ msgstr "некоректна розмірніÑÑ‚ÑŒ вхідного парамÐ
msgid "invalid size of destination operand"
msgstr "некоректна розмірніÑÑ‚ÑŒ вихідного параметра"
-#: libelf/elf_error.c:87 src/readelf.c:5365
+#: libelf/elf_error.c:87 src/readelf.c:5473
#, c-format
msgid "invalid encoding"
msgstr "некоректне кодуваннÑ"
@@ -644,8 +649,8 @@ msgstr "невідповідніÑÑ‚ÑŒ полів data/scn"
msgid "invalid section header"
msgstr "некоректний заголовок розділу"
-#: libelf/elf_error.c:187 src/readelf.c:7234 src/readelf.c:7682
-#: src/readelf.c:7783 src/readelf.c:7964
+#: libelf/elf_error.c:187 src/readelf.c:7342 src/readelf.c:7790
+#: src/readelf.c:7891 src/readelf.c:8072
#, c-format
msgid "invalid data"
msgstr "некоректні дані"
@@ -689,6 +694,40 @@ msgstr ""
msgid "file has no program header"
msgstr "у файлі немає заголовка програми"
+#: libelf/elf_error.c:237
+#, fuzzy
+msgid "invalid section type"
+msgstr "некоректний розділ"
+
+#: libelf/elf_error.c:242
+#, fuzzy
+msgid "invalid section flags"
+msgstr "некоректний розділ"
+
+#: libelf/elf_error.c:247
+#, fuzzy
+msgid "section does not contain compressed data"
+msgstr "розділ хешу [%2zu] «%s» міÑтить недоÑтатньо даних\n"
+
+#: libelf/elf_error.c:252
+msgid "section contains compressed data"
+msgstr ""
+
+#: libelf/elf_error.c:257
+#, fuzzy
+msgid "unknown compression type"
+msgstr "невизначений тип"
+
+#: libelf/elf_error.c:262
+#, fuzzy
+msgid "cannot compress data"
+msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ñ‚Ð¸ DWARF"
+
+#: libelf/elf_error.c:267
+#, fuzzy
+msgid "cannot decompress data"
+msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ñ‚Ð¸ DWARF"
+
#: src/addr2line.c:58
msgid "Input format options:"
msgstr "Параметри Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… даних:"
@@ -745,7 +784,7 @@ msgstr "Виводити розшифровані Ñимволи (ÐРГ завÐ
msgid "Print all information on one line, and indent inlines"
msgstr "ВивеÑти уÑÑ– дані у один Ñ€Ñдок Ñ– додати відÑтупи до перенеÑених Ñ€Ñдків"
-#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:99
+#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:100
#: src/strings.c:79
msgid "Miscellaneous:"
msgstr "Інше:"
@@ -759,9 +798,9 @@ msgstr "Шукати ÐДРЕСИ у файлах кодів та даних пÑ
msgid "[ADDR...]"
msgstr "[ÐДРЕСÐ...]"
-#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:670 src/elflint.c:235
-#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:261 src/objdump.c:177
-#: src/ranlib.c:124 src/readelf.c:500 src/size.c:207 src/strings.c:230
+#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:672 src/elflint.c:235
+#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:262 src/objdump.c:177
+#: src/ranlib.c:124 src/readelf.c:509 src/size.c:207 src/strings.c:230
#: src/strip.c:218 src/unstrip.c:232
#, c-format
msgid ""
@@ -774,9 +813,9 @@ msgstr ""
"початкових кодах. Умовами Ð»Ñ–Ñ†ÐµÐ½Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ ÐЕ передбачено жодних "
"гарантій, зокрема гарантій працездатноÑÑ‚Ñ– або придатноÑÑ‚Ñ– Ð´Ð»Ñ Ð¿ÐµÐ²Ð½Ð¾Ñ— мети.\n"
-#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:675 src/elflint.c:240
-#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:266 src/objdump.c:182
-#: src/ranlib.c:129 src/readelf.c:505 src/size.c:212 src/strings.c:235
+#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:677 src/elflint.c:240
+#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:267 src/objdump.c:182
+#: src/ranlib.c:129 src/readelf.c:514 src/size.c:212 src/strings.c:235
#: src/strip.c:223 src/unstrip.c:237
#, c-format
msgid "Written by %s.\n"
@@ -1253,40 +1292,40 @@ msgstr "%s %s diff: заголовок програми %d"
msgid "%s %s differ: gap"
msgstr "%s %s diff: проміжок"
-#: src/elfcmp.c:702
+#: src/elfcmp.c:704
#, c-format
msgid "Invalid value '%s' for --gaps parameter."
msgstr "Ðекоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«%s» параметра --gaps."
-#: src/elfcmp.c:730 src/findtextrel.c:221 src/ldgeneric.c:1757
-#: src/ldgeneric.c:4247 src/nm.c:377 src/ranlib.c:157 src/size.c:289
-#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:1994
-#: src/unstrip.c:2023
+#: src/elfcmp.c:732 src/findtextrel.c:221 src/ldgeneric.c:1757
+#: src/ldgeneric.c:4247 src/nm.c:378 src/ranlib.c:157 src/size.c:289
+#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:2029
+#: src/unstrip.c:2058
#, c-format
msgid "cannot open '%s'"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ «%s»"
-#: src/elfcmp.c:734 src/findtextrel.c:228 src/ranlib.c:174
+#: src/elfcmp.c:736 src/findtextrel.c:228 src/ranlib.c:174
#, c-format
msgid "cannot create ELF descriptor for '%s': %s"
msgstr "не вдалоÑÑ Ñтворити деÑкриптор ELF Ð´Ð»Ñ Â«%s»: %s"
-#: src/elfcmp.c:739
+#: src/elfcmp.c:741
#, c-format
msgid "cannot create EBL descriptor for '%s'"
msgstr "не вдалоÑÑ Ñтворити деÑкриптор EBL Ð´Ð»Ñ Â«%s»"
-#: src/elfcmp.c:757 src/findtextrel.c:409
+#: src/elfcmp.c:759 src/findtextrel.c:409
#, c-format
msgid "cannot get section header of section %zu: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу %zu: %s"
-#: src/elfcmp.c:767
+#: src/elfcmp.c:769
#, c-format
msgid "cannot get content of section %zu: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ розділу %zu: %s"
-#: src/elfcmp.c:777 src/elfcmp.c:791
+#: src/elfcmp.c:779 src/elfcmp.c:793
#, c-format
msgid "cannot get relocation: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ переÑуваннÑ: %s"
@@ -1316,11 +1355,11 @@ msgid "Pedantic checking of ELF files compliance with gABI/psABI spec."
msgstr ""
"Педантична перевірка файлів ELF на ÑуміÑніÑÑ‚ÑŒ зі ÑпецифікаціÑми gABI/psABI."
-#: src/elflint.c:78 src/readelf.c:123
+#: src/elflint.c:78 src/readelf.c:126
msgid "FILE..."
msgstr "ФÐЙЛ..."
-#: src/elflint.c:155 src/readelf.c:292
+#: src/elflint.c:155 src/readelf.c:298
#, c-format
msgid "cannot open input file"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ вхідний файл."
@@ -1339,7 +1378,7 @@ msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð´ÐµÑкриÐ
msgid "No errors"
msgstr "Без помилок"
-#: src/elflint.c:219 src/readelf.c:468
+#: src/elflint.c:219 src/readelf.c:474
msgid "Missing file name.\n"
msgstr "Ðе вказано назви файла.\n"
@@ -1487,14 +1526,14 @@ msgstr ""
"розділ [%2d] «%s»: групу розділів [%2zu] «%s» мало бути визначено до розділу-"
"елемента цієї групи\n"
-#: src/elflint.c:591 src/elflint.c:1471 src/elflint.c:1522 src/elflint.c:1628
-#: src/elflint.c:1964 src/elflint.c:2280 src/elflint.c:2893 src/elflint.c:3056
-#: src/elflint.c:3204 src/elflint.c:3394 src/elflint.c:4336
+#: src/elflint.c:591 src/elflint.c:1475 src/elflint.c:1526 src/elflint.c:1632
+#: src/elflint.c:1968 src/elflint.c:2284 src/elflint.c:2898 src/elflint.c:3061
+#: src/elflint.c:3209 src/elflint.c:3399 src/elflint.c:4366
#, c-format
msgid "section [%2d] '%s': cannot get section data\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу\n"
-#: src/elflint.c:604 src/elflint.c:1635
+#: src/elflint.c:604 src/elflint.c:1639
#, c-format
msgid ""
"section [%2d] '%s': referenced as string table for section [%2d] '%s' but "
@@ -1606,13 +1645,13 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: викориÑÑ‚Ð°Ð½Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— у розділі COMMON "
"позбавлене ÑенÑу\n"
-#: src/elflint.c:805
+#: src/elflint.c:809
#, c-format
msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n"
msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ st_value поза можливим діапазоном\n"
-#: src/elflint.c:811 src/elflint.c:836 src/elflint.c:885
+#: src/elflint.c:815 src/elflint.c:840 src/elflint.c:889
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu does not fit completely in referenced section "
@@ -1621,7 +1660,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu не повніÑÑ‚ÑŽ відповідає розділу, на Ñкий "
"поÑилаєтьÑÑ, [%2d] «%s»\n"
-#: src/elflint.c:820
+#: src/elflint.c:824
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have "
@@ -1630,7 +1669,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ поÑÐ¸Ð»Ð°Ð½Ð½Ñ [%2d] «%s» не "
"вÑтановлено прапорець SHF_TLS\n"
-#: src/elflint.c:830 src/elflint.c:878
+#: src/elflint.c:834 src/elflint.c:882
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section "
@@ -1639,14 +1678,14 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ st_value поза межами розділу "
"поÑиланнÑ, [%2d] «%s»\n"
-#: src/elflint.c:857
+#: src/elflint.c:861
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n"
msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: Ñимвол TLS без запиÑу заголовка програми TLS\n"
-#: src/elflint.c:863
+#: src/elflint.c:867
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: TLS symbol but couldn't get TLS program "
@@ -1655,7 +1694,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: маємо Ñимвол TLS, але не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ "
"Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми TLS\n"
-#: src/elflint.c:871
+#: src/elflint.c:875
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] "
@@ -1664,7 +1703,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ st_value перед розділом поÑиланнÑ, "
"[%2d] «%s»\n"
-#: src/elflint.c:898
+#: src/elflint.c:902
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: local symbol outside range described in "
@@ -1673,7 +1712,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: у sh_info опиÑано локальний Ñимвол поза "
"діапазоном\n"
-#: src/elflint.c:905
+#: src/elflint.c:909
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: non-local symbol outside range described in "
@@ -1682,12 +1721,12 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: у sh_info опиÑано нелокальний Ñимвол поза "
"діапазоном\n"
-#: src/elflint.c:912
+#: src/elflint.c:916
#, c-format
msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n"
msgstr "розділ [%2d] «%s»: Ñимвол %zu: нелокальний Ñимвол розділу\n"
-#: src/elflint.c:962
+#: src/elflint.c:966
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section "
@@ -1696,7 +1735,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол _GLOBAL_OFFSET_TABLE_ поÑилаєтьÑÑ Ð½Ð° помилковий "
"розділ, [%2d]\n"
-#: src/elflint.c:969
+#: src/elflint.c:973
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] "
@@ -1705,7 +1744,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол _GLOBAL_OFFSET_TABLE_ поÑилаєтьÑÑ Ð½Ð° розділ [%2d] "
"'%s'\n"
-#: src/elflint.c:985
+#: src/elflint.c:989
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not "
@@ -1714,7 +1753,7 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñимволу _GLOBAL_OFFSET_TABLE_ %#<PRIx64> не "
"відповідає адреÑÑ– розділу %s %#<PRIx64>\n"
-#: src/elflint.c:992
+#: src/elflint.c:996
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not "
@@ -1723,7 +1762,7 @@ msgstr ""
"розділ [%2d] «%s»: розмір Ñимволу _GLOBAL_OFFSET_TABLE_ %<PRIu64> не "
"відповідає розміру розділу %s %<PRIu64>\n"
-#: src/elflint.c:1000
+#: src/elflint.c:1004
#, c-format
msgid ""
"section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got "
@@ -1732,7 +1771,7 @@ msgstr ""
"розділ [%2d] «%s»: виÑвлено Ñимвол _GLOBAL_OFFSET_TABLE_, але не виÑвлено "
"розділу .got\n"
-#: src/elflint.c:1016
+#: src/elflint.c:1020
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic "
@@ -1741,7 +1780,7 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñимволу _DYNAMIC_ %#<PRIx64> не відповідає "
"адреÑÑ– динамічного Ñегмента %#<PRIx64>\n"
-#: src/elflint.c:1023
+#: src/elflint.c:1027
#, c-format
msgid ""
"section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic "
@@ -1750,7 +1789,7 @@ msgstr ""
"розділ [%2d] «%s»: розмір Ñимволу _DYNAMIC %<PRIu64> не відповідає розміру "
"динамічного Ñегмента %<PRIu64>\n"
-#: src/elflint.c:1036
+#: src/elflint.c:1040
#, c-format
msgid ""
"section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-"
@@ -1759,29 +1798,29 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %zu: Ñимвол у динамічній таблиці Ñимволів з "
"нетиповою видиміÑÑ‚ÑŽ\n"
-#: src/elflint.c:1040
+#: src/elflint.c:1044
#, c-format
msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n"
msgstr "розділ [%2d] «%s»: Ñимвол %zu: невідомий набір бітів у st_other\n"
-#: src/elflint.c:1078
+#: src/elflint.c:1082
#, c-format
msgid "section [%2d] '%s': cannot get section data.\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу.\n"
-#: src/elflint.c:1094
+#: src/elflint.c:1098
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n"
msgstr "розділ [%2d] «%s»: Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ розділу RELA викориÑтано DT_RELCOUNT\n"
-#: src/elflint.c:1105 src/elflint.c:1158
+#: src/elflint.c:1109 src/elflint.c:1162
#, c-format
msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n"
msgstr ""
"розділ [%2d] «%s»: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ DT_RELCOUNT %d Ñ” занадто виÑоким Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ "
"розділу\n"
-#: src/elflint.c:1130 src/elflint.c:1183
+#: src/elflint.c:1134 src/elflint.c:1187
#, c-format
msgid ""
"section [%2d] '%s': relative relocations after index %d as specified by "
@@ -1790,7 +1829,7 @@ msgstr ""
"розділ [%2d] «%s»: відноÑні переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ–ÑÐ»Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ— %d, вказаної за "
"допомогою DT_RELCOUNT\n"
-#: src/elflint.c:1136 src/elflint.c:1189
+#: src/elflint.c:1140 src/elflint.c:1193
#, c-format
msgid ""
"section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT "
@@ -1799,52 +1838,52 @@ msgstr ""
"розділ [%2d] «%s»: безвідноÑне переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° позиції %zu; DT_RELCOUNT "
"визначено %d відноÑних переÑуваннÑ\n"
-#: src/elflint.c:1148
+#: src/elflint.c:1152
#, c-format
msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n"
msgstr "розділ [%2d] «%s»: Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ розділу REL викориÑтано DT_RELACOUNT\n"
-#: src/elflint.c:1231
+#: src/elflint.c:1235
#, c-format
msgid "section [%2d] '%s': invalid destination section index\n"
msgstr "розділ [%2d] «%s»: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ призначеннÑ\n"
-#: src/elflint.c:1243
+#: src/elflint.c:1247
#, c-format
msgid "section [%2d] '%s': invalid destination section type\n"
msgstr "розділ [%2d] «%s»: некоректний тип розділу призначеннÑ\n"
-#: src/elflint.c:1251
+#: src/elflint.c:1255
#, c-format
msgid "section [%2d] '%s': sh_info should be zero\n"
msgstr "розділ [%2d] «%s»: sh_info має бути нульовим\n"
-#: src/elflint.c:1259
+#: src/elflint.c:1263
#, fuzzy, c-format
msgid ""
"section [%2d] '%s': no relocations for merge-able string sections possible\n"
msgstr ""
"розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ придатних до Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð°Ñ… неможливе\n"
-#: src/elflint.c:1267
+#: src/elflint.c:1271
#, c-format
msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n"
msgstr ""
"розділ [%2d] «%s»: розмірніÑÑ‚ÑŒ запиÑу розділу не відповідає ElfXX_Rela\n"
-#: src/elflint.c:1327
+#: src/elflint.c:1331
#, c-format
msgid "text relocation flag set but there is no read-only segment\n"
msgstr ""
"вÑтановлено прапорець переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÑту, але Ñегмент придатний лише до "
"читаннÑ\n"
-#: src/elflint.c:1354
+#: src/elflint.c:1358
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid type\n"
msgstr "розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: некоректний тип\n"
-#: src/elflint.c:1362
+#: src/elflint.c:1366
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: relocation type invalid for the file "
@@ -1853,12 +1892,12 @@ msgstr ""
"розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: некоректний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ñƒ "
"файла\n"
-#: src/elflint.c:1370
+#: src/elflint.c:1374
#, c-format
msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n"
msgstr "розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñимволу\n"
-#: src/elflint.c:1388
+#: src/elflint.c:1392
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can "
@@ -1867,12 +1906,12 @@ msgstr ""
"розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: з %s можна викориÑтовувати лише Ñимвол "
"«_GLOBAL_OFFSET_TABLE_»\n"
-#: src/elflint.c:1405
+#: src/elflint.c:1409
#, c-format
msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n"
msgstr "розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð·Ð° межі діапазону\n"
-#: src/elflint.c:1420
+#: src/elflint.c:1424
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: copy relocation against symbol of type "
@@ -1881,7 +1920,7 @@ msgstr ""
"розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: переÑÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ñимволу типу "
"%s\n"
-#: src/elflint.c:1441
+#: src/elflint.c:1445
#, c-format
msgid ""
"section [%2d] '%s': relocation %zu: read-only section modified but text "
@@ -1890,22 +1929,22 @@ msgstr ""
"розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: змінено придатний лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ "
"розділ, але не вÑтановлено прапорець переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÑту\n"
-#: src/elflint.c:1456
+#: src/elflint.c:1460
#, c-format
msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n"
msgstr "розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð¸Ñ… Ñ– незавантажених даних\n"
-#: src/elflint.c:1496 src/elflint.c:1547
+#: src/elflint.c:1500 src/elflint.c:1551
#, c-format
msgid "section [%2d] '%s': cannot get relocation %zu: %s\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: %s\n"
-#: src/elflint.c:1623
+#: src/elflint.c:1627
#, c-format
msgid "more than one dynamic section present\n"
msgstr "вказано більше одного динамічного розділу\n"
-#: src/elflint.c:1641
+#: src/elflint.c:1645
#, c-format
msgid ""
"section [%2d]: referenced as string table for section [%2d] '%s' but section "
@@ -1914,46 +1953,46 @@ msgstr ""
"розділ [%2d]: надано поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° таблицю Ñ€Ñдків розділу [%2d] «%s», але "
"Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾ÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ Ñ” некоректним\n"
-#: src/elflint.c:1649
+#: src/elflint.c:1653
#, c-format
msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n"
msgstr ""
"розділ [%2d] «%s»: розмірніÑÑ‚ÑŒ запиÑу розділу не відповідає ElfXX_Dyn\n"
-#: src/elflint.c:1654 src/elflint.c:1943
+#: src/elflint.c:1658 src/elflint.c:1947
#, c-format
msgid "section [%2d] '%s': sh_info not zero\n"
msgstr "розділ [%2d] «%s»: sh_info не є нульовим\n"
-#: src/elflint.c:1664
+#: src/elflint.c:1668
#, c-format
msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n"
msgstr ""
"розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ розділу %zu: %s\n"
-#: src/elflint.c:1672
+#: src/elflint.c:1676
#, c-format
msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n"
msgstr ""
"розділ [%2d] «%s»: за запиÑом DT_NULL вказано запиÑи, що не належать до "
"DT_NULL\n"
-#: src/elflint.c:1679
+#: src/elflint.c:1683
#, c-format
msgid "section [%2d] '%s': entry %zu: unknown tag\n"
msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %zu: невідома мітка\n"
-#: src/elflint.c:1690
+#: src/elflint.c:1694
#, c-format
msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n"
msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %zu: декілька запиÑів з міткою %s\n"
-#: src/elflint.c:1700
+#: src/elflint.c:1704
#, c-format
msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n"
msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %zu: викориÑтано мітку Ñ€Ñ–Ð²Ð½Ñ 2 %s\n"
-#: src/elflint.c:1718
+#: src/elflint.c:1722
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n"
@@ -1961,7 +2000,7 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %zu: значеннÑм DT_PLTREL має бути DT_REL або "
"DT_RELA\n"
-#: src/elflint.c:1731
+#: src/elflint.c:1735
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: pointer does not match address of section "
@@ -1970,7 +2009,7 @@ msgstr ""
"розділ [%2d] «%s»: розділ %zu: вказівник не відповідає адреÑÑ– розділу [%2d] "
"«%s», на Ñку поÑилаєтьÑÑ sh_link\n"
-#: src/elflint.c:1774
+#: src/elflint.c:1778
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must point into loaded segment\n"
@@ -1978,7 +2017,7 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %zu: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %s має вказувати на завантажений "
"Ñегмент\n"
-#: src/elflint.c:1789
+#: src/elflint.c:1793
#, c-format
msgid ""
"section [%2d] '%s': entry %zu: %s value must be valid offset in section "
@@ -1987,48 +2026,48 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %zu: значеннÑм %s має бути коректне Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñƒ "
"розділі [%2d] «%s»\n"
-#: src/elflint.c:1809 src/elflint.c:1837
+#: src/elflint.c:1813 src/elflint.c:1841
#, c-format
msgid "section [%2d] '%s': contains %s entry but not %s\n"
msgstr "розділ [%2d] «%s»: міÑтить Ð·Ð°Ð¿Ð¸Ñ %s, але не %s\n"
-#: src/elflint.c:1821
+#: src/elflint.c:1825
#, c-format
msgid "section [%2d] '%s': mandatory tag %s not present\n"
msgstr "розділ [%2d] «%s»: немає обов’Ñзкової мітки %s\n"
-#: src/elflint.c:1830
+#: src/elflint.c:1834
#, c-format
msgid "section [%2d] '%s': no hash section present\n"
msgstr "розділ [%2d] «%s»: не виÑвлено розділу хешів\n"
-#: src/elflint.c:1845 src/elflint.c:1852
+#: src/elflint.c:1849 src/elflint.c:1856
#, c-format
msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n"
msgstr "розділ [%2d] «%s»: вказано не вÑÑ– зі значень %s, %s Ñ– %s\n"
-#: src/elflint.c:1862 src/elflint.c:1866
+#: src/elflint.c:1866 src/elflint.c:1870
#, c-format
msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n"
msgstr ""
"розділ [%2d] «%s»: у DSO, позначеному на кроці попереднього компонуваннÑ, "
"немає мітки %s\n"
-#: src/elflint.c:1872
+#: src/elflint.c:1876
#, c-format
msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n"
msgstr ""
"розділ [%2d] «%s»: під Ñ‡Ð°Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñк залежніÑÑ‚ÑŒ позначено "
"файл, Ñкий не Ñ” файлом DSO\n"
-#: src/elflint.c:1883 src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895
+#: src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895 src/elflint.c:1899
#, c-format
msgid "section [%2d] '%s': %s tag missing in prelinked executable\n"
msgstr ""
"розділ [%2d] «%s»: у попередньо Ñкомпонованому виконуваному файлі не "
"міÑтитьÑÑ Ð¼Ñ–Ñ‚ÐºÐ¸ %s\n"
-#: src/elflint.c:1907
+#: src/elflint.c:1911
#, c-format
msgid ""
"section [%2d] '%s': only relocatable files can have extended section index\n"
@@ -2036,7 +2075,7 @@ msgstr ""
"розділ [%2d] «%s»: розширений розділ покажчика можуть мати лише файли, "
"придатні до переÑуваннÑ\n"
-#: src/elflint.c:1917
+#: src/elflint.c:1921
#, c-format
msgid ""
"section [%2d] '%s': extended section index section not for symbol table\n"
@@ -2044,29 +2083,29 @@ msgstr ""
"розділ [%2d] «%s»: розділ розширеного покажчика розділів не призначено Ð´Ð»Ñ "
"таблиць Ñимволів\n"
-#: src/elflint.c:1921
+#: src/elflint.c:1925
#, c-format
msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n"
msgstr ""
"розділ [%2d] «%s»: Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ð³Ð¾ розділу sh_link [%2d] Ñ” некоректним\n"
-#: src/elflint.c:1926
+#: src/elflint.c:1930
#, c-format
msgid "cannot get data for symbol section\n"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñимволів\n"
-#: src/elflint.c:1929
+#: src/elflint.c:1933
#, c-format
msgid "section [%2d] '%s': entry size does not match Elf32_Word\n"
msgstr "розділ [%2d] «%s»: розмірніÑÑ‚ÑŒ запиÑу не відповідає Elf32_Word\n"
-#: src/elflint.c:1938
+#: src/elflint.c:1942
#, c-format
msgid "section [%2d] '%s': extended index table too small for symbol table\n"
msgstr ""
"розділ [%2d] «%s»: розширена Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¿Ð¾ÐºÐ°Ð¶Ñ‡Ð¸ÐºÐ° замала Ð´Ð»Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñимволів\n"
-#: src/elflint.c:1953
+#: src/elflint.c:1957
#, c-format
msgid ""
"section [%2d] '%s': extended section index in section [%2zu] '%s' refers to "
@@ -2075,24 +2114,24 @@ msgstr ""
"розділ [%2d] «%s»: розширений покажчик розділів у розділі [%2zu] «%s» "
"поÑилаєтьÑÑ Ð½Ð° ту Ñаму таблицю розділів\n"
-#: src/elflint.c:1970
+#: src/elflint.c:1974
#, c-format
msgid "symbol 0 should have zero extended section index\n"
msgstr "Ñимволу 0 має відповідати нульовий Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ð³Ð¾ розділу\n"
-#: src/elflint.c:1982
+#: src/elflint.c:1986
#, c-format
msgid "cannot get data for symbol %zu\n"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñимволу %zu\n"
-#: src/elflint.c:1987
+#: src/elflint.c:1991
#, c-format
msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n"
msgstr ""
"Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ð³Ð¾ розділу дорівнює %<PRIu32>, але Ñ–Ð½Ð´ÐµÐºÑ Ñимволу не Ñ” "
"XINDEX\n"
-#: src/elflint.c:2003 src/elflint.c:2054
+#: src/elflint.c:2007 src/elflint.c:2058
#, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n"
@@ -2100,43 +2139,43 @@ msgstr ""
"розділ [%2d] «%s»: розділ таблиці хешів занадто малий (розмір %ld, мало бути "
"— %ld)\n"
-#: src/elflint.c:2015 src/elflint.c:2066
+#: src/elflint.c:2019 src/elflint.c:2070
#, c-format
msgid "section [%2d] '%s': chain array too large\n"
msgstr "розділ [%2d] «%s»: маÑив ланцюжка занадто великий\n"
-#: src/elflint.c:2029 src/elflint.c:2080
+#: src/elflint.c:2033 src/elflint.c:2084
#, c-format
msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n"
msgstr ""
"розділ [%2d] «%s»: поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° хеш блоку %zu лежить поза межами діапазону\n"
-#: src/elflint.c:2039
+#: src/elflint.c:2043
#, c-format
msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n"
msgstr ""
"розділ [%2d] «%s»: поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð»Ð°Ð½Ñ†ÑŽÐ¶ÐºÐ° хешів %zu лежить поза межами "
"діапазону\n"
-#: src/elflint.c:2090
+#: src/elflint.c:2094
#, c-format
msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n"
msgstr ""
"розділ [%2d] «%s»: поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð»Ð°Ð½Ñ†ÑŽÐ¶ÐºÐ° хешів %<PRIu64> лежить поза межами "
"діапазону\n"
-#: src/elflint.c:2103
+#: src/elflint.c:2107
#, c-format
msgid "section [%2d] '%s': not enough data\n"
msgstr "розділ [%2d] «%s»: недоÑтатньо даних\n"
-#: src/elflint.c:2115
+#: src/elflint.c:2119
#, c-format
msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n"
msgstr ""
"розділ [%2d] «%s»: розмір бітової маÑки Ñ” нульовим або не Ñ” Ñтепенем 2: %u\n"
-#: src/elflint.c:2131
+#: src/elflint.c:2135
#, c-format
msgid ""
"section [%2d] '%s': hash table section is too small (is %ld, expected at "
@@ -2145,12 +2184,12 @@ msgstr ""
"розділ [%2d] «%s»: розділ таблиці хешів є надто малим (маємо %ld, мало бути "
"принаймні %ld)\n"
-#: src/elflint.c:2140
+#: src/elflint.c:2144
#, c-format
msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n"
msgstr "розділ [%2d] «%s»: зÑув 2-ої функції Ñ…ÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ великий: %u\n"
-#: src/elflint.c:2174
+#: src/elflint.c:2178
#, c-format
msgid ""
"section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n"
@@ -2158,7 +2197,7 @@ msgstr ""
"розділ [%2d] '%s': ланцюжок хешів Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÑƒ %zu розташовано нижче за позицію "
"Ð²Ñ–Ð´Ñ…Ð¸Ð»ÐµÐ½Ð½Ñ Ñ–Ð½Ð´ÐµÐºÑу Ñимволу\n"
-#: src/elflint.c:2195
+#: src/elflint.c:2199
#, c-format
msgid ""
"section [%2d] '%s': symbol %u referenced in chain for bucket %zu is "
@@ -2167,7 +2206,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %u, на Ñкий поÑилаєтьÑÑ Ð»Ð°Ð½Ñ†ÑŽÐ¶Ð¾Ðº у блоці %zu не "
"визначено\n"
-#: src/elflint.c:2208
+#: src/elflint.c:2212
#, c-format
msgid ""
"section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n"
@@ -2175,7 +2214,7 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ…ÐµÑˆÑƒ Ð´Ð»Ñ Ñимволу %u у ланцюжку Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÑƒ %zu Ñ” "
"помилковим\n"
-#: src/elflint.c:2217
+#: src/elflint.c:2221
#, c-format
msgid ""
"section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n"
@@ -2183,14 +2222,14 @@ msgstr ""
"розділ [%2d] «%s»: Ñ–Ð½Ð´ÐµÐºÑ Ð¼Ð°Ñки Ð´Ð»Ñ Ñимволу %u у ланцюжку Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÑƒ %zu Ñ” "
"помилковим\n"
-#: src/elflint.c:2247
+#: src/elflint.c:2251
#, c-format
msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n"
msgstr ""
"розділ [%2d] «%s»: ланцюжок хешів Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÑƒ %zu лежить поза межами "
"діапазону\n"
-#: src/elflint.c:2252
+#: src/elflint.c:2256
#, c-format
msgid ""
"section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n"
@@ -2198,43 +2237,43 @@ msgstr ""
"розділ [%2d] «%s»: поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° Ñимвол у ланцюжку Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÑƒ %zu лежить поза "
"межами діапазону\n"
-#: src/elflint.c:2258
+#: src/elflint.c:2262
#, c-format
msgid "section [%2d] '%s': bitmask does not match names in the hash table\n"
msgstr "розділ [%2d] «%s»: бітова маÑка не відповідає назвам у таблиці хешів\n"
-#: src/elflint.c:2271
+#: src/elflint.c:2275
#, c-format
msgid "section [%2d] '%s': relocatable files cannot have hash tables\n"
msgstr ""
"розділ [%2d] «%s»: придатні до переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð¸ не можуть міÑтити таблиць "
"хешів\n"
-#: src/elflint.c:2289
+#: src/elflint.c:2293
#, c-format
msgid "section [%2d] '%s': hash table not for dynamic symbol table\n"
msgstr ""
"розділ [%2d] «%s»: таблицю хешів не призначено Ð´Ð»Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– "
"динамічних Ñимволів\n"
-#: src/elflint.c:2293
+#: src/elflint.c:2297
#, c-format
msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n"
msgstr ""
"розділ [%2d] «%s»: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ таблиці Ñимволів sh_link "
"[%2d]\n"
-#: src/elflint.c:2301
+#: src/elflint.c:2305
#, c-format
msgid "section [%2d] '%s': hash table entry size incorrect\n"
msgstr "розділ [%2d] «%s»: розмірніÑÑ‚ÑŒ запиÑу таблиці хешів Ñ” некоректною\n"
-#: src/elflint.c:2306
+#: src/elflint.c:2310
#, c-format
msgid "section [%2d] '%s': not marked to be allocated\n"
msgstr "розділ [%2d] «%s»: не позначено Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑуваннÑ\n"
-#: src/elflint.c:2311
+#: src/elflint.c:2315
#, c-format
msgid ""
"section [%2d] '%s': hash table has not even room for initial administrative "
@@ -2243,27 +2282,27 @@ msgstr ""
"розділ [%2d] «%s»: у таблиці хешів виÑвлено незвичайне Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ "
"початкових адмініÑтративних запиÑів\n"
-#: src/elflint.c:2360
+#: src/elflint.c:2364
#, c-format
msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n"
msgstr "sh_link у розділах хешів [%2zu] «%s» Ñ– [%2zu] «%s» не збігаютьÑÑ\n"
-#: src/elflint.c:2384 src/elflint.c:2449 src/elflint.c:2484
+#: src/elflint.c:2388 src/elflint.c:2453 src/elflint.c:2488
#, c-format
msgid "hash section [%2zu] '%s' does not contain enough data\n"
msgstr "розділ хешу [%2zu] «%s» міÑтить недоÑтатньо даних\n"
-#: src/elflint.c:2405
+#: src/elflint.c:2409
#, c-format
msgid "hash section [%2zu] '%s' has zero bit mask words\n"
msgstr "розділ хешу [%2zu] «%s» міÑтить нульові Ñлова бітової маÑки\n"
-#: src/elflint.c:2416 src/elflint.c:2460 src/elflint.c:2497
+#: src/elflint.c:2420 src/elflint.c:2464 src/elflint.c:2501
#, c-format
msgid "hash section [%2zu] '%s' uses too much data\n"
msgstr "розділ хешу [%2zu] «%s» викориÑтовує надто багато даних\n"
-#: src/elflint.c:2431
+#: src/elflint.c:2435
#, c-format
msgid ""
"hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: "
@@ -2272,17 +2311,17 @@ msgstr ""
"розділ хешу [%2zu] «%s» некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñимволу %<PRIu32> (макÑ. к-Ñ‚ÑŒ "
"Ñимволів: %<PRIu32>, кількіÑÑ‚ÑŒ запиÑів: %<PRIu32>\n"
-#: src/elflint.c:2518
+#: src/elflint.c:2522
#, c-format
msgid "hash section [%2zu] '%s' invalid sh_entsize\n"
msgstr "розділ хешу [%2zu] «%s» некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ sh_entsize\n"
-#: src/elflint.c:2528 src/elflint.c:2532
+#: src/elflint.c:2532 src/elflint.c:2536
#, c-format
msgid "section [%2zu] '%s': reference to symbol index 0\n"
msgstr "розділ [%2zu] «%s»: поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° Ñ–Ð½Ð´ÐµÐºÑ Ñимволів 0\n"
-#: src/elflint.c:2539
+#: src/elflint.c:2543
#, c-format
msgid ""
"symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash "
@@ -2291,7 +2330,7 @@ msgstr ""
"виÑвлено поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° Ñимвол %d у новій таблиці хешів у [%2zu] «%s», але "
"його немає у Ñтарій таблиці хешів у [%2zu] «%s»\n"
-#: src/elflint.c:2551
+#: src/elflint.c:2555
#, c-format
msgid ""
"symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash "
@@ -2300,12 +2339,12 @@ msgstr ""
"виÑвлено поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° Ñимвол %d у Ñтарій таблиці хешів у [%2zu] «%s», але "
"його немає у новій таблиці хешів у [%2zu] «%s»\n"
-#: src/elflint.c:2567
+#: src/elflint.c:2571
#, c-format
msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n"
msgstr "розділ [%2d] «%s»: ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ sh_%s Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ NULL\n"
-#: src/elflint.c:2587
+#: src/elflint.c:2591
#, c-format
msgid ""
"section [%2d] '%s': section groups only allowed in relocatable object files\n"
@@ -2313,95 +2352,95 @@ msgstr ""
"розділ [%2d] «%s»: групи розділів передбачено лише Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ñ… до "
"переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ñ… файлах\n"
-#: src/elflint.c:2598
+#: src/elflint.c:2602
#, c-format
msgid "section [%2d] '%s': cannot get symbol table: %s\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ таблицю Ñимволів: %s\n"
-#: src/elflint.c:2603
+#: src/elflint.c:2607
#, c-format
msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n"
msgstr ""
"розділ [%2d] «%s»: поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ у sh_link не має таблиці Ñимволів\n"
-#: src/elflint.c:2609
+#: src/elflint.c:2613
#, c-format
msgid "section [%2d] '%s': invalid symbol index in sh_info\n"
msgstr "розділ [%2d] «%s»: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñимволу у sh_info\n"
-#: src/elflint.c:2614
+#: src/elflint.c:2618
#, c-format
msgid "section [%2d] '%s': sh_flags not zero\n"
msgstr "розділ [%2d] «%s»: sh_flags не є нульовим\n"
-#: src/elflint.c:2621
+#: src/elflint.c:2625
#, c-format
msgid "section [%2d] '%s': cannot get symbol for signature\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ñимвол Ð´Ð»Ñ Ð¿Ñ–Ð´Ð¿Ð¸Ñу\n"
-#: src/elflint.c:2625
+#: src/elflint.c:2629
#, c-format
msgid "section [%2d] '%s': cannot get symbol name for signature\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ назву Ñимволу Ð´Ð»Ñ Ð¿Ñ–Ð´Ð¿Ð¸Ñу\n"
-#: src/elflint.c:2630
+#: src/elflint.c:2634
#, c-format
msgid "section [%2d] '%s': signature symbol cannot be empty string\n"
msgstr "розділ [%2d] «%s»: Ñимвол підпиÑу не може бути порожнім Ñ€Ñдком\n"
-#: src/elflint.c:2636
+#: src/elflint.c:2640
#, c-format
msgid "section [%2d] '%s': sh_flags not set correctly\n"
msgstr "розділ [%2d] «%s»: Ð´Ð»Ñ sh_flags вÑтановлено помилкове значеннÑ\n"
-#: src/elflint.c:2642
+#: src/elflint.c:2646
#, c-format
msgid "section [%2d] '%s': cannot get data: %s\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані: %s\n"
-#: src/elflint.c:2651
+#: src/elflint.c:2655
#, c-format
msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n"
msgstr "розділ [%2d] «%s»: розмір розділу не є кратним до sizeof(Elf32_Word)\n"
-#: src/elflint.c:2656
+#: src/elflint.c:2660
#, c-format
msgid "section [%2d] '%s': section group without flags word\n"
msgstr "розділ [%2d] «%s»: група розділів без Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ word прапорців\n"
-#: src/elflint.c:2662
+#: src/elflint.c:2666
#, c-format
msgid "section [%2d] '%s': section group without member\n"
msgstr "розділ [%2d] «%s»: група розділів без елементів\n"
-#: src/elflint.c:2666
+#: src/elflint.c:2670
#, c-format
msgid "section [%2d] '%s': section group with only one member\n"
msgstr "розділ [%2d] «%s»: група розділів, що міÑтить лише один елемент\n"
-#: src/elflint.c:2677
+#: src/elflint.c:2681
#, c-format
msgid "section [%2d] '%s': unknown section group flags\n"
msgstr "розділ [%2d] «%s»: невідомі прапорці групи розділів\n"
-#: src/elflint.c:2689
+#: src/elflint.c:2693
#, c-format
msgid "section [%2d] '%s': section index %zu out of range\n"
msgstr "розділ [%2d] «%s»: Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %zu поза межами діапазону\n"
-#: src/elflint.c:2698
+#: src/elflint.c:2702
#, c-format
msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n"
msgstr ""
"розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу Ð´Ð»Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð° %zu: "
"%s\n"
-#: src/elflint.c:2705
+#: src/elflint.c:2709
#, c-format
msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
msgstr "розділ [%2d] «%s»: група розділів міÑтить іншу групу [%2d] «%s»\n"
-#: src/elflint.c:2711
+#: src/elflint.c:2715
#, c-format
msgid ""
"section [%2d] '%s': element %zu references section [%2d] '%s' without "
@@ -2410,12 +2449,12 @@ msgstr ""
"розділ [%2d] «%s»: елемент %zu поÑилаєтьÑÑ Ð½Ð° розділ [%2d] «%s» без "
"вÑтановленого Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ SHF_GROUP\n"
-#: src/elflint.c:2718
+#: src/elflint.c:2722
#, c-format
msgid "section [%2d] '%s' is contained in more than one section group\n"
msgstr "розділ [%2d] «%s» міÑтитьÑÑ Ñƒ більше ніж одній групі розділів\n"
-#: src/elflint.c:2907
+#: src/elflint.c:2912
#, c-format
msgid ""
"section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no "
@@ -2424,7 +2463,7 @@ msgstr ""
"розділ [%2d] «%s» поÑилаєтьÑÑ Ñƒ sh_link на розділ [%2d] «%s», Ñкий не має "
"динамічної таблиці Ñимволів\n"
-#: src/elflint.c:2919
+#: src/elflint.c:2924
#, c-format
msgid ""
"section [%2d] '%s' has different number of entries than symbol table [%2d] "
@@ -2433,28 +2472,28 @@ msgstr ""
"кількіÑÑ‚ÑŒ запиÑів у розділі [%2d] «%s» відрізнÑєтьÑÑ Ð²Ñ–Ð´ кількоÑÑ‚Ñ– у таблиці "
"Ñимволів [%2d] «%s»\n"
-#: src/elflint.c:2935
+#: src/elflint.c:2940
#, c-format
msgid "section [%2d] '%s': symbol %d: cannot read version data\n"
msgstr "розділ [%2d] «%s»: Ñимвол %d: не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ дані щодо верÑÑ–Ñ—\n"
-#: src/elflint.c:2951
+#: src/elflint.c:2956
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n"
msgstr ""
"розділ [%2d] «%s»: Ñимвол %d: локальний Ñимвол у загальному контекÑÑ‚Ñ–\n"
-#: src/elflint.c:2959
+#: src/elflint.c:2964
#, c-format
msgid "section [%2d] '%s': symbol %d: local symbol with version\n"
msgstr "розділ [%2d] «%s»: Ñимвол %d: локальний Ñимвол з верÑією\n"
-#: src/elflint.c:2973
+#: src/elflint.c:2978
#, c-format
msgid "section [%2d] '%s': symbol %d: invalid version index %d\n"
msgstr "розділ [%2d] «%s»: Ñимвол %d: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ð²ÐµÑ€ÑÑ–Ñ— %d\n"
-#: src/elflint.c:2978
+#: src/elflint.c:2983
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for defined version\n"
@@ -2462,7 +2501,7 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %d: індекÑи верÑÑ–Ñ— %d призначено до визначеної "
"верÑÑ–Ñ—\n"
-#: src/elflint.c:2988
+#: src/elflint.c:2993
#, c-format
msgid ""
"section [%2d] '%s': symbol %d: version index %d is for requested version\n"
@@ -2470,45 +2509,45 @@ msgstr ""
"розділ [%2d] «%s»: Ñимвол %d: Ñ–Ð½Ð´ÐµÐºÑ Ð²ÐµÑ€ÑÑ–Ñ— %d призначено Ð´Ð»Ñ Ð²ÐµÑ€ÑÑ–Ñ—, на Ñку "
"надійшов запит\n"
-#: src/elflint.c:3041
+#: src/elflint.c:3046
#, c-format
msgid "more than one version reference section present\n"
msgstr "виÑвлено більше за один розділ поÑилань на верÑÑ–Ñ—\n"
-#: src/elflint.c:3049 src/elflint.c:3196
+#: src/elflint.c:3054 src/elflint.c:3201
#, c-format
msgid "section [%2d] '%s': sh_link does not link to string table\n"
msgstr "розділ [%2d] «%s»: sh_link не поÑилаєтьÑÑ Ð½Ð° таблицю Ñ€Ñдків\n"
-#: src/elflint.c:3074 src/elflint.c:3250
+#: src/elflint.c:3079 src/elflint.c:3255
#, c-format
msgid "section [%2d] '%s': entry %d has wrong version %d\n"
msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d має помилкову верÑÑ–ÑŽ %d\n"
-#: src/elflint.c:3081 src/elflint.c:3257
+#: src/elflint.c:3086 src/elflint.c:3262
#, c-format
msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n"
msgstr ""
"розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d міÑтить помилкове Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñƒ допоміжних даних\n"
-#: src/elflint.c:3091
+#: src/elflint.c:3096
#, c-format
msgid "section [%2d] '%s': entry %d has invalid file reference\n"
msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d міÑтить некоректне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° файл\n"
-#: src/elflint.c:3099
+#: src/elflint.c:3104
#, c-format
msgid "section [%2d] '%s': entry %d references unknown dependency\n"
msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d поÑилаєтьÑÑ Ð½Ð° невідому залежніÑÑ‚ÑŒ\n"
-#: src/elflint.c:3111
+#: src/elflint.c:3116
#, c-format
msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n"
msgstr ""
"розділ [%2d] «%s»: допоміжний Ð·Ð°Ð¿Ð¸Ñ %d запиÑу %d позначено невідомим "
"прапорцем\n"
-#: src/elflint.c:3119
+#: src/elflint.c:3124
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has invalid name "
@@ -2517,7 +2556,7 @@ msgstr ""
"розділ [%2d] «%s»: допоміжний Ð·Ð°Ð¿Ð¸Ñ %d запиÑу %d міÑтить некоректне "
"поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° назву\n"
-#: src/elflint.c:3128
+#: src/elflint.c:3133
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: "
@@ -2526,7 +2565,7 @@ msgstr ""
"розділ [%2d] «%s»: допоміжний Ð·Ð°Ð¿Ð¸Ñ %d запиÑу %d має помилкове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ "
"хешу: %#x, мало бути %#x\n"
-#: src/elflint.c:3137
+#: src/elflint.c:3142
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version "
@@ -2535,7 +2574,7 @@ msgstr ""
"розділ [%2d] «%s»: допоміжний Ð·Ð°Ð¿Ð¸Ñ %d запиÑу %d міÑтить дублікати назви "
"верÑÑ–Ñ— «%s»\n"
-#: src/elflint.c:3148
+#: src/elflint.c:3153
#, c-format
msgid ""
"section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n"
@@ -2543,13 +2582,13 @@ msgstr ""
"розділ [%2d] «%s»: допоміжний Ð·Ð°Ð¿Ð¸Ñ %d запиÑу %d має помилкове наÑтупне "
"поле\n"
-#: src/elflint.c:3165 src/elflint.c:3341
+#: src/elflint.c:3170 src/elflint.c:3346
#, c-format
msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n"
msgstr ""
"розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d має некоректне Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ наÑтупного запиÑу\n"
-#: src/elflint.c:3173 src/elflint.c:3349
+#: src/elflint.c:3178 src/elflint.c:3354
#, c-format
msgid ""
"section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says "
@@ -2558,44 +2597,44 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d має нульове Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ наÑтупного запиÑу, але "
"за sh_info можна зрозуміти, що запиÑів більше\n"
-#: src/elflint.c:3188
+#: src/elflint.c:3193
#, c-format
msgid "more than one version definition section present\n"
msgstr "виÑвлено більше за один розділ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²ÐµÑ€Ñій\n"
-#: src/elflint.c:3235
+#: src/elflint.c:3240
#, c-format
msgid "section [%2d] '%s': more than one BASE definition\n"
msgstr "розділ [%2d] «%s»: повторне Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ BASE\n"
-#: src/elflint.c:3239
+#: src/elflint.c:3244
#, c-format
msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n"
msgstr ""
"розділ [%2d] «%s»: Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ BASE повинно мати Ñ–Ð½Ð´ÐµÐºÑ VER_NDX_GLOBAL\n"
-#: src/elflint.c:3245
+#: src/elflint.c:3250
#, c-format
msgid "section [%2d] '%s': entry %d has unknown flag\n"
msgstr "розділ [%2d] «%s»: невідомий прапорець запиÑу %d\n"
-#: src/elflint.c:3272
+#: src/elflint.c:3277
#, c-format
msgid "section [%2d] '%s': entry %d has invalid name reference\n"
msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d міÑтить некоректне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° назву\n"
-#: src/elflint.c:3279
+#: src/elflint.c:3284
#, c-format
msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n"
msgstr ""
"розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d має помилкове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ…ÐµÑˆÑƒ: %#x, мало бути %#x\n"
-#: src/elflint.c:3287
+#: src/elflint.c:3292
#, c-format
msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n"
msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d міÑтить дублікати назви верÑÑ–Ñ— «%s»\n"
-#: src/elflint.c:3307
+#: src/elflint.c:3312
#, c-format
msgid ""
"section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n"
@@ -2603,53 +2642,53 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d міÑтить некоректне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° назву у "
"допоміжних даних\n"
-#: src/elflint.c:3324
+#: src/elflint.c:3329
#, c-format
msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n"
msgstr ""
"розділ [%2d] «%s»: у допоміжних даних запиÑу %d міÑтитьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ поле "
"наÑтупного запиÑу\n"
-#: src/elflint.c:3357
+#: src/elflint.c:3362
#, c-format
msgid "section [%2d] '%s': no BASE definition\n"
msgstr "розділ [%2d] «%s»: немає Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ BASE\n"
-#: src/elflint.c:3373
+#: src/elflint.c:3378
#, c-format
msgid "section [%2d] '%s': unknown parent version '%s'\n"
msgstr "розділ [%2d] «%s»: невідома оÑновна верÑÑ–Ñ Â«%s»\n"
-#: src/elflint.c:3386
+#: src/elflint.c:3391
#, c-format
msgid "section [%2d] '%s': empty object attributes section\n"
msgstr "розділ [%2d] «%s»: порожній розділ атрибутів об’єкта\n"
-#: src/elflint.c:3407
+#: src/elflint.c:3412
#, c-format
msgid "section [%2d] '%s': unrecognized attribute format\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ формат атрибутів\n"
-#: src/elflint.c:3423
+#: src/elflint.c:3428
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute section\n"
msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: поле нульового розміру у розділі атрибутів\n"
-#: src/elflint.c:3432
+#: src/elflint.c:3437
#, c-format
msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n"
msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: некоректна довжина у розділі атрибутів\n"
-#: src/elflint.c:3444
+#: src/elflint.c:3449
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n"
msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: незавершений Ñ€Ñдок назви поÑтачальника\n"
-#: src/elflint.c:3461
+#: src/elflint.c:3466
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n"
@@ -2657,12 +2696,12 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: незавершене поле ULEB128 у тезі підрозділу "
"атрибутів\n"
-#: src/elflint.c:3470
+#: src/elflint.c:3475
#, c-format
msgid "section [%2d] '%s': offset %zu: truncated attribute section\n"
msgstr "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: обрізаний розділ атрибутів\n"
-#: src/elflint.c:3479
+#: src/elflint.c:3484
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: zero length field in attribute subsection\n"
@@ -2670,14 +2709,14 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: поле нульового розміру у підрозділі "
"атрибутів\n"
-#: src/elflint.c:3494
+#: src/elflint.c:3499
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: invalid length in attribute subsection\n"
msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: некоректна довжина у підрозділі атрибутів\n"
-#: src/elflint.c:3505
+#: src/elflint.c:3510
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n"
@@ -2685,35 +2724,35 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: підрозділ атрибутів міÑтить неочікуваний "
"теґ %u\n"
-#: src/elflint.c:3523
+#: src/elflint.c:3528
#, c-format
msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n"
msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: незавершене поле ULEB128 у тезі атрибуту\n"
-#: src/elflint.c:3534
+#: src/elflint.c:3539
#, c-format
msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n"
msgstr "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: незавершений Ñ€Ñдок у атрибуті\n"
-#: src/elflint.c:3547
+#: src/elflint.c:3552
#, c-format
msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n"
msgstr "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: незавершений теґ атрибуту %u\n"
-#: src/elflint.c:3551
+#: src/elflint.c:3556
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n"
msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: невідоме Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %s атрибуту %<PRIu64>\n"
-#: src/elflint.c:3561
+#: src/elflint.c:3566
#, c-format
msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n"
msgstr "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: невідомий поÑтачальник «%s»\n"
-#: src/elflint.c:3567
+#: src/elflint.c:3572
#, c-format
msgid ""
"section [%2d] '%s': offset %zu: extra bytes after last attribute section\n"
@@ -2721,47 +2760,47 @@ msgstr ""
"розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: зайві байти піÑÐ»Ñ Ð¾Ñтаннього розділу "
"атрибутів\n"
-#: src/elflint.c:3656
+#: src/elflint.c:3661
#, c-format
msgid "cannot get section header of zeroth section\n"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок нульового розділу\n"
-#: src/elflint.c:3660
+#: src/elflint.c:3665
#, c-format
msgid "zeroth section has nonzero name\n"
msgstr "нульовий розділ має ненульову назву\n"
-#: src/elflint.c:3662
+#: src/elflint.c:3667
#, c-format
msgid "zeroth section has nonzero type\n"
msgstr "нульовий розділ має ненульовий тип\n"
-#: src/elflint.c:3664
+#: src/elflint.c:3669
#, c-format
msgid "zeroth section has nonzero flags\n"
msgstr "нульовий розділ має ненульові прапорці\n"
-#: src/elflint.c:3666
+#: src/elflint.c:3671
#, c-format
msgid "zeroth section has nonzero address\n"
msgstr "нульовий розділ має ненульову адреÑу\n"
-#: src/elflint.c:3668
+#: src/elflint.c:3673
#, c-format
msgid "zeroth section has nonzero offset\n"
msgstr "нульовий розділ має ненульове зміщеннÑ\n"
-#: src/elflint.c:3670
+#: src/elflint.c:3675
#, c-format
msgid "zeroth section has nonzero align value\n"
msgstr "нульовий розділ має ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ\n"
-#: src/elflint.c:3672
+#: src/elflint.c:3677
#, c-format
msgid "zeroth section has nonzero entry size value\n"
msgstr "нульовий розділ має ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ запиÑу\n"
-#: src/elflint.c:3675
+#: src/elflint.c:3680
#, c-format
msgid ""
"zeroth section has nonzero size value while ELF header has nonzero shnum "
@@ -2770,7 +2809,7 @@ msgstr ""
"нульовий розділ має ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ, хоча заголовок ELF ман "
"ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ shnum\n"
-#: src/elflint.c:3679
+#: src/elflint.c:3684
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
@@ -2779,7 +2818,7 @@ msgstr ""
"нульовий розділ має ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ, хоча у заголовку ELF "
"немає Ñигналу Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñƒ shstrndx\n"
-#: src/elflint.c:3683
+#: src/elflint.c:3688
#, c-format
msgid ""
"zeroth section has nonzero link value while ELF header does not signal "
@@ -2788,28 +2827,28 @@ msgstr ""
"нульовий розділ має ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ, хоча у заголовку ELF "
"немає Ñигналу Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñƒ phnum\n"
-#: src/elflint.c:3700
+#: src/elflint.c:3706
#, c-format
msgid "cannot get section header for section [%2zu] '%s': %s\n"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу [%2zu] «%s»: %s\n"
-#: src/elflint.c:3709
+#: src/elflint.c:3715
#, c-format
msgid "section [%2zu]: invalid name\n"
msgstr "розділ [%2zu]: некоректна назва\n"
-#: src/elflint.c:3736
+#: src/elflint.c:3742
#, c-format
msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n"
msgstr ""
"розділ [%2d] «%s» належить до помилкового типу: мав бути %s, маємо %s\n"
-#: src/elflint.c:3752
+#: src/elflint.c:3760
#, c-format
msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n"
msgstr "розділ [%2zu] «%s» має помилкові прапорці: мало бути %s, маємо %s\n"
-#: src/elflint.c:3769
+#: src/elflint.c:3778
#, c-format
msgid ""
"section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"
@@ -2817,12 +2856,12 @@ msgstr ""
"розділ [%2zu] «%s» має помилкові прапорці: мало бути %s, можливо, %s, але "
"маємо %s\n"
-#: src/elflint.c:3787
+#: src/elflint.c:3796
#, c-format
msgid "section [%2zu] '%s' present in object file\n"
msgstr "у об’єктному файлі виÑвлено розділ [%2zu] «%s»\n"
-#: src/elflint.c:3793 src/elflint.c:3825
+#: src/elflint.c:3802 src/elflint.c:3834
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n"
@@ -2830,7 +2869,7 @@ msgstr ""
"у розділ [%2zu] «%s» вÑтановлено прапорець SHF_ALLOC, але немає придатного "
"до Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñегмента\n"
-#: src/elflint.c:3798 src/elflint.c:3830
+#: src/elflint.c:3807 src/elflint.c:3839
#, c-format
msgid ""
"section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable "
@@ -2839,7 +2878,7 @@ msgstr ""
"у розділі [%2zu] «%s» не вÑтановлено прапорець SHF_ALLOC, але Ñ” придатні до "
"Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñегменти\n"
-#: src/elflint.c:3806
+#: src/elflint.c:3815
#, c-format
msgid ""
"section [%2zu] '%s' is extension section index table in non-object file\n"
@@ -2847,22 +2886,22 @@ msgstr ""
"розділ [%2zu] «%s» Ñ” таблицею-покажчиком розділу розширень у файлі, Ñкий не "
"є об’єктним\n"
-#: src/elflint.c:3849
+#: src/elflint.c:3858
#, c-format
msgid "section [%2zu] '%s': size not multiple of entry size\n"
msgstr "розділ [%2zu] «%s»: розмір не Ñ” кратним до розміру запиÑу\n"
-#: src/elflint.c:3854
+#: src/elflint.c:3863
#, c-format
msgid "cannot get section header\n"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу\n"
-#: src/elflint.c:3864
+#: src/elflint.c:3873
#, c-format
msgid "section [%2zu] '%s' has unsupported type %d\n"
msgstr "розділ [%2zu] «%s» належить до непідтримуваного типу %d\n"
-#: src/elflint.c:3878
+#: src/elflint.c:3888
#, c-format
msgid ""
"section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n"
@@ -2870,57 +2909,74 @@ msgstr ""
"розділ [%2zu] «%s» міÑтить некоректні Ñпецифічні Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑора прапорці "
"%#<PRIx64>\n"
-#: src/elflint.c:3885
+#: src/elflint.c:3895
#, c-format
msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n"
msgstr "розділ [%2zu] «%s» міÑтить невідомі прапорці %#<PRIx64>\n"
-#: src/elflint.c:3893
+#: src/elflint.c:3903
#, c-format
msgid "section [%2zu] '%s': thread-local data sections address not zero\n"
msgstr ""
"розділ [%2zu] «%s»: адреÑа розділів локальних даних потоків не Ñ” нульовою\n"
-#: src/elflint.c:3901
+#: src/elflint.c:3913
+#, fuzzy, c-format
+msgid "section [%2zu] '%s': allocated section cannot be compressed\n"
+msgstr ""
+"розділ [%2zu] «%s»: адреÑа розділів локальних даних потоків не Ñ” нульовою\n"
+
+#: src/elflint.c:3918
+#, fuzzy, c-format
+msgid "section [%2zu] '%s': nobits section cannot be compressed\n"
+msgstr "розділ [%2d] «%s»: не виÑвлено розділу хешів\n"
+
+#: src/elflint.c:3924
+#, fuzzy, c-format
+msgid ""
+"section [%2zu] '%s': compressed section with no compression header: %s\n"
+msgstr "розділ [%2d] «%s»: група розділів, що міÑтить лише один елемент\n"
+
+#: src/elflint.c:3930
#, c-format
msgid "section [%2zu] '%s': invalid section reference in link value\n"
msgstr ""
"розділ [%2zu] «%s»: некоректне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ у значенні компонуваннÑ\n"
-#: src/elflint.c:3906
+#: src/elflint.c:3935
#, c-format
msgid "section [%2zu] '%s': invalid section reference in info value\n"
msgstr ""
"розділ [%2zu] «%s»: некоректне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ у значенні відомоÑтей\n"
-#: src/elflint.c:3913
+#: src/elflint.c:3942
#, c-format
msgid "section [%2zu] '%s': strings flag set without merge flag\n"
msgstr "розділ [%2zu] «%s»: вÑтановлено прапорець strings без Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ merge\n"
-#: src/elflint.c:3918
+#: src/elflint.c:3947
#, c-format
msgid "section [%2zu] '%s': merge flag set but entry size is zero\n"
msgstr ""
"розділ [%2zu] «%s»: вÑтановлено прапорець merge, але розмір запиÑу Ñ” "
"нульовим\n"
-#: src/elflint.c:3936
+#: src/elflint.c:3965
#, c-format
msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
msgstr "розділ [%2zu] «%s» має неочікуваний тип %d Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ розділу\n"
-#: src/elflint.c:3945
+#: src/elflint.c:3974
#, fuzzy, c-format
msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n"
msgstr "розділ [%2zu] «%s» не повинен бути придатним до запиÑу\n"
-#: src/elflint.c:3952
+#: src/elflint.c:3981
#, c-format
msgid "section [%2zu] '%s' is both executable and writable\n"
msgstr "розділ [%2zu] «%s» Ñ” одночаÑно виконуваним Ñ– придатним до запиÑу\n"
-#: src/elflint.c:3982
+#: src/elflint.c:4012
#, c-format
msgid ""
"section [%2zu] '%s' not fully contained in segment of program header entry "
@@ -2929,7 +2985,7 @@ msgstr ""
"розділ [%2zu] «%s» не повніÑÑ‚ÑŽ міÑтитьÑÑ Ñƒ Ñегменті запиÑу заголовка "
"програми %d\n"
-#: src/elflint.c:3992
+#: src/elflint.c:4022
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -2938,7 +2994,7 @@ msgstr ""
"розділ [%2zu] «%s» належить до типу NOBITS, але його Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑÑ Ð· "
"файла у Ñегментів запиÑу заголовка програми %d\n"
-#: src/elflint.c:4018
+#: src/elflint.c:4048
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -2947,7 +3003,7 @@ msgstr ""
"розділ [%2zu] «%s» належить до типу NOBITS, але його Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑÑ Ð· "
"файла у Ñегментів запиÑу заголовка програми %d, а вміÑÑ‚ файла Ñ” ненульовим\n"
-#: src/elflint.c:4029
+#: src/elflint.c:4059
#, c-format
msgid ""
"section [%2zu] '%s' has not type NOBITS but is not read from the file in "
@@ -2956,19 +3012,19 @@ msgstr ""
"розділ [%2zu] «%s» не належить до типу NOBITS, але його Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð½Ðµ "
"виконуєтьÑÑ Ð· файла у Ñегментів запиÑу заголовка програми %d\n"
-#: src/elflint.c:4040
+#: src/elflint.c:4070
#, c-format
msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
msgstr "розділ [%2zu] «%s» Ñ” виконуваним у невиконуваному Ñегменті %d\n"
-#: src/elflint.c:4050
+#: src/elflint.c:4080
#, c-format
msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
msgstr ""
"розділ [%2zu] «%s» Ñ” придатним до запиÑу у непридатному до запиÑу Ñегменті "
"%d\n"
-#: src/elflint.c:4060
+#: src/elflint.c:4090
#, c-format
msgid ""
"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
@@ -2976,7 +3032,7 @@ msgstr ""
"розділ [%2zu] «%s»: вÑтановлено прапорець alloc, але розділ не перебуває у "
"жодному завантаженому Ñегменті\n"
-#: src/elflint.c:4066
+#: src/elflint.c:4096
#, c-format
msgid ""
"section [%2zu] '%s': ELF header says this is the section header string table "
@@ -2985,7 +3041,7 @@ msgstr ""
"розділ [%2zu] «%s»: заголовок ELF повідомлÑÑ” про те, що це Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ€Ñдків "
"заголовка розділу, але Ñ†Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð½Ðµ належить до типу SHT_TYPE\n"
-#: src/elflint.c:4074
+#: src/elflint.c:4104
#, c-format
msgid ""
"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
@@ -2993,17 +3049,17 @@ msgstr ""
"розділ [%2zu] «%s»: придатні до переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð¸ не можуть міÑтити "
"динамічних таблиць Ñимволів\n"
-#: src/elflint.c:4125
+#: src/elflint.c:4155
#, c-format
msgid "more than one version symbol table present\n"
msgstr "виÑвлено більше за одну таблицю Ñимволів верÑій\n"
-#: src/elflint.c:4148
+#: src/elflint.c:4178
#, c-format
msgid "INTERP program header entry but no .interp section\n"
msgstr "Ñ–Ñнує Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми INTERP, але не розділ .interp\n"
-#: src/elflint.c:4159
+#: src/elflint.c:4189
#, c-format
msgid ""
"loadable segment [%u] is executable but contains no executable sections\n"
@@ -3011,14 +3067,14 @@ msgstr ""
"придатний до Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñегмент [%u] Ñ” виконуваним, але не міÑтить "
"виконуваних розділів\n"
-#: src/elflint.c:4165
+#: src/elflint.c:4195
#, c-format
msgid "loadable segment [%u] is writable but contains no writable sections\n"
msgstr ""
"придатний до Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð» [%u] Ñ” придатним до запиÑу, але не міÑтить "
"придатних до запиÑу розділів\n"
-#: src/elflint.c:4176
+#: src/elflint.c:4206
#, c-format
msgid ""
"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
@@ -3027,24 +3083,24 @@ msgstr ""
"немає розділу .gnu.versym, хоча Ñ–Ñнує розділ .gnu.versym_d або .gnu."
"versym_r\n"
-#: src/elflint.c:4189
+#: src/elflint.c:4219
#, c-format
msgid "duplicate version index %d\n"
msgstr "дублікат індекÑу верÑÑ–Ñ— %d\n"
-#: src/elflint.c:4203
+#: src/elflint.c:4233
#, c-format
msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
msgstr ""
"Ñ–Ñнує розділ .gnu.versym, але немає розділу .gnu.versym_d або .gnu.versym_r\n"
-#: src/elflint.c:4252
+#: src/elflint.c:4282
#, c-format
msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
msgstr ""
"phdr[%d]: невідомий тип нотатки файла core %<PRIu32> за зміщеннÑм %<PRIu64>\n"
-#: src/elflint.c:4256
+#: src/elflint.c:4286
#, c-format
msgid ""
"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
@@ -3052,13 +3108,13 @@ msgstr ""
"розділ [%2d] «%s»: невідомий тип нотатки файла core %<PRIu32> за зміщеннÑм "
"%zu\n"
-#: src/elflint.c:4279
+#: src/elflint.c:4309
#, c-format
msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %zu\n"
msgstr ""
"phdr[%d]: невідомий тип нотатки об’єктного файла %<PRIu32> за зміщеннÑм %zu\n"
-#: src/elflint.c:4283
+#: src/elflint.c:4313
#, c-format
msgid ""
"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n"
@@ -3066,39 +3122,39 @@ msgstr ""
"розділ [%2d] «%s»: невідомий тип нотатки об’єктного файла %<PRIu32> за "
"зміщеннÑм %zu\n"
-#: src/elflint.c:4300
+#: src/elflint.c:4330
#, c-format
msgid "phdr[%d]: no note entries defined for the type of file\n"
msgstr "phdr[%d]: Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ типу файлів не визначено запиÑів нотаток\n"
-#: src/elflint.c:4319
+#: src/elflint.c:4349
#, c-format
msgid "phdr[%d]: cannot get content of note section: %s\n"
msgstr "phdr[%d]: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ розділу нотаток: %s\n"
-#: src/elflint.c:4322
+#: src/elflint.c:4352
#, c-format
msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
msgstr "phdr[%d]: зайві %<PRIu64> байтів піÑÐ»Ñ Ð¾Ñтаннього запиÑу нотатки\n"
-#: src/elflint.c:4343
+#: src/elflint.c:4373
#, c-format
msgid "section [%2d] '%s': no note entries defined for the type of file\n"
msgstr ""
"розділ [%2d] «%s»: Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ типу файлів не визначено запиÑів нотаток\n"
-#: src/elflint.c:4350
+#: src/elflint.c:4380
#, c-format
msgid "section [%2d] '%s': cannot get content of note section\n"
msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ розділу нотаток\n"
-#: src/elflint.c:4353
+#: src/elflint.c:4383
#, c-format
msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
msgstr ""
"розділ [%2d] «%s»: додаткові %<PRIu64> байтів піÑÐ»Ñ Ð¾Ñтанньої нотатки\n"
-#: src/elflint.c:4371
+#: src/elflint.c:4401
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
@@ -3106,141 +3162,141 @@ msgstr ""
"заголовки програм можуть бути лише у виконуваних файлів, об’єктних файлів "
"Ñпільного викориÑÑ‚Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ файлів core\n"
-#: src/elflint.c:4386
+#: src/elflint.c:4416
#, c-format
msgid "cannot get program header entry %d: %s\n"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: %s\n"
-#: src/elflint.c:4395
+#: src/elflint.c:4425
#, c-format
msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
msgstr ""
"Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: невідомий тип запиÑу заголовка програми "
"%#<PRIx64>\n"
-#: src/elflint.c:4406
+#: src/elflint.c:4436
#, c-format
msgid "more than one INTERP entry in program header\n"
msgstr "більше за один Ð·Ð°Ð¿Ð¸Ñ INTERP у заголовку програми\n"
-#: src/elflint.c:4414
+#: src/elflint.c:4444
#, c-format
msgid "more than one TLS entry in program header\n"
msgstr "більше за один Ð·Ð°Ð¿Ð¸Ñ TLS у заголовку програми\n"
-#: src/elflint.c:4421
+#: src/elflint.c:4451
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr "у Ñтатичному виконуваному файлі не може бути динамічних розділів\n"
-#: src/elflint.c:4435
+#: src/elflint.c:4465
#, c-format
msgid "dynamic section reference in program header has wrong offset\n"
msgstr ""
"поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° динамічний розділ у заголовку програми має помилкове зміщеннÑ\n"
-#: src/elflint.c:4438
+#: src/elflint.c:4468
#, c-format
msgid "dynamic section size mismatch in program and section header\n"
msgstr ""
"розміри динамічного розділу у заголовку програми та у заголовку розділу не "
"збігаютьÑÑ\n"
-#: src/elflint.c:4448
+#: src/elflint.c:4478
#, c-format
msgid "more than one GNU_RELRO entry in program header\n"
msgstr "більше за один Ð·Ð°Ð¿Ð¸Ñ GNU_RELRO у заголовку програми\n"
-#: src/elflint.c:4469
+#: src/elflint.c:4499
#, c-format
msgid "loadable segment GNU_RELRO applies to is not writable\n"
msgstr ""
"придатний до Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñегмент, до Ñкого звертаєтьÑÑ GNU_RELRO, "
"непридатний до запиÑу\n"
-#: src/elflint.c:4480
+#: src/elflint.c:4510
#, c-format
msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
msgstr ""
"прапорці придатного до Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñегмента [%u] не відповідають прапорцÑм "
"GNU_RELRO [%u]\n"
-#: src/elflint.c:4487
+#: src/elflint.c:4517
#, c-format
msgid ""
"GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
msgstr ""
-#: src/elflint.c:4496 src/elflint.c:4519
+#: src/elflint.c:4526 src/elflint.c:4549
#, c-format
msgid "%s segment not contained in a loaded segment\n"
msgstr "Ñегмент %s не міÑтитьÑÑ Ñƒ завантаженому Ñегменті\n"
-#: src/elflint.c:4525
+#: src/elflint.c:4555
#, c-format
msgid "program header offset in ELF header and PHDR entry do not match"
msgstr "Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми у заголовку ELF Ñ– Ð·Ð°Ð¿Ð¸Ñ PHDR не збігаютьÑÑ"
-#: src/elflint.c:4550
+#: src/elflint.c:4580
#, c-format
msgid "call frame search table reference in program header has wrong offset\n"
msgstr ""
"поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° таблицю вікон викликів у заголовку програми має помилкове "
"зміщеннÑ\n"
-#: src/elflint.c:4553
+#: src/elflint.c:4583
#, c-format
msgid "call frame search table size mismatch in program and section header\n"
msgstr ""
"розміри таблиці пошуку вікон виклику у заголовку програми та у заголовку "
"розділу не збігаютьÑÑ\n"
-#: src/elflint.c:4566
+#: src/elflint.c:4596
#, 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:4574
+#: src/elflint.c:4604
#, c-format
msgid "call frame search table must be allocated\n"
msgstr "таблицю пошуку вікон викликів має бути розміщено у пам’ÑÑ‚Ñ–\n"
-#: src/elflint.c:4577
+#: src/elflint.c:4607
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
msgstr "розділ [%2zu] «%s» має бути розміщено у пам’ÑÑ‚Ñ–\n"
-#: src/elflint.c:4581
+#: src/elflint.c:4611
#, c-format
msgid "call frame search table must not be writable\n"
msgstr "Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ вікон викликів не повинна бути придатною до запиÑу\n"
-#: src/elflint.c:4584
+#: src/elflint.c:4614
#, c-format
msgid "section [%2zu] '%s' must not be writable\n"
msgstr "розділ [%2zu] «%s» не повинен бути придатним до запиÑу\n"
-#: src/elflint.c:4589
+#: src/elflint.c:4619
#, c-format
msgid "call frame search table must not be executable\n"
msgstr "Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ вікон викликів не повинна бути придатною до виконаннÑ\n"
-#: src/elflint.c:4592
+#: src/elflint.c:4622
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
msgstr "розділ [%2zu] «%s» не повинен бути придатним до виконаннÑ\n"
-#: src/elflint.c:4603
+#: src/elflint.c:4633
#, c-format
msgid "program header entry %d: file size greater than memory size\n"
msgstr "Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: розмір файла перевищує об’єм пам’ÑÑ‚Ñ–\n"
-#: src/elflint.c:4610
+#: src/elflint.c:4640
#, c-format
msgid "program header entry %d: alignment not a power of 2\n"
msgstr "Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ Ð½Ðµ Ñ” Ñтепенем 2\n"
-#: src/elflint.c:4613
+#: src/elflint.c:4643
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
@@ -3249,7 +3305,7 @@ msgstr ""
"Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñƒ файлі Ñ– віртуальна адреÑа не "
"ÑпіввідноÑÑÑ‚ÑŒÑÑ Ð· вирівнюваннÑм\n"
-#: src/elflint.c:4626
+#: src/elflint.c:4656
#, c-format
msgid ""
"executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME "
@@ -3258,12 +3314,12 @@ msgstr ""
"виконуваний модуль/DSO з розділом .eh_frame_hdr не міÑтить запиÑу заголовка "
"програми PT_GNU_EH_FRAME"
-#: src/elflint.c:4660
+#: src/elflint.c:4690
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ заголовок ELF: %s\n"
-#: src/elflint.c:4686
+#: src/elflint.c:4716
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr ""
@@ -3285,7 +3341,7 @@ msgstr "ВикориÑтовувати ШЛЯХ Ñк кореневий ката
msgid "Locate source of text relocations in FILEs (a.out by default)."
msgstr "Шукає джерело переÑуваного текÑту у ФÐЙЛÐÐ¥ (типово, a.out)."
-#: src/findtextrel.c:76 src/nm.c:107 src/objdump.c:71 src/size.c:83
+#: src/findtextrel.c:76 src/nm.c:108 src/objdump.c:71 src/size.c:83
#: src/strings.c:88 src/strip.c:95
msgid "[FILE...]"
msgstr "[ФÐЙЛ...]"
@@ -3794,8 +3850,8 @@ msgstr "ПопередженнÑ: тип «%s» змінивÑÑ Ð· %s у %s нÐ
msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s"
msgstr "ПопередженнÑ: розмір «%s» змінено з %<PRIu64> у %s на %<PRIu64> у %s"
-#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:527
-#: src/readelf.c:829 src/strip.c:589
+#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:536 src/readelf.c:852
+#: src/strip.c:589
#, c-format
msgid "cannot determine number of sections: %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ кількіÑÑ‚ÑŒ розділів: %s"
@@ -4037,7 +4093,7 @@ msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: небезбітовий розділ
msgid "cannot get header of 0th section: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок 0-го розділу: %s"
-#: src/ldgeneric.c:6930 src/unstrip.c:1893
+#: src/ldgeneric.c:6930 src/unstrip.c:1929
#, c-format
msgid "cannot update ELF header: %s"
msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ заголовок ELF: %s"
@@ -4107,43 +4163,43 @@ msgstr "Ñимвол «%s» оголошено локально Ñ– на зага
msgid "default visibility set as local and global"
msgstr "типову видиміÑÑ‚ÑŒ визначено Ñк локальну Ñ– загальну"
-#: src/nm.c:65 src/strip.c:67
+#: src/nm.c:66 src/strip.c:67
msgid "Output selection:"
msgstr "Вибір виводу:"
-#: src/nm.c:66
+#: src/nm.c:67
msgid "Display debugger-only symbols"
msgstr "Показувати лише діагноÑтичні Ñимволи"
-#: src/nm.c:67
+#: src/nm.c:68
msgid "Display only defined symbols"
msgstr "Показувати лише визначені Ñимволи"
-#: src/nm.c:70
+#: src/nm.c:71
msgid "Display dynamic symbols instead of normal symbols"
msgstr "Показувати динамічні Ñимволи заміÑÑ‚ÑŒ звичайних Ñимволів"
-#: src/nm.c:71
+#: src/nm.c:72
msgid "Display only external symbols"
msgstr "Показувати лише зовнішні Ñимволи"
-#: src/nm.c:72
+#: src/nm.c:73
msgid "Display only undefined symbols"
msgstr "Показувати лише невизначені Ñимволи"
-#: src/nm.c:74
+#: src/nm.c:75
msgid "Include index for symbols from archive members"
msgstr "Включити покажчик Ð´Ð»Ñ Ñимволів з елементів архіву"
-#: src/nm.c:76 src/size.c:57
+#: src/nm.c:77 src/size.c:57
msgid "Output format:"
msgstr "Формат виводу:"
-#: src/nm.c:78
+#: src/nm.c:79
msgid "Print name of the input file before every symbol"
msgstr "Виводити перед кожним Ñимволом назву вхідного файла"
-#: src/nm.c:81
+#: src/nm.c:82
msgid ""
"Use the output format FORMAT. FORMAT can be `bsd', `sysv' or `posix'. The "
"default is `sysv'"
@@ -4151,71 +4207,71 @@ msgstr ""
"ВикориÑтовувати формат виводу ФОРМÐТ. ФОРМÐТом може бути «bsd», «sysv» або "
"«posix». Типовим форматом є «sysv»"
-#: src/nm.c:83
+#: src/nm.c:84
msgid "Same as --format=bsd"
msgstr "Те Ñаме, що Ñ– --format=bsd"
-#: src/nm.c:84
+#: src/nm.c:85
msgid "Same as --format=posix"
msgstr "Те Ñаме, що Ñ– --format=posix"
-#: src/nm.c:85 src/size.c:63
+#: src/nm.c:86 src/size.c:63
msgid "Use RADIX for printing symbol values"
msgstr "ВикориÑтовувати ОСÐОВУ чиÑÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ Ñимвольних значень"
-#: src/nm.c:86
+#: src/nm.c:87
msgid "Mark special symbols"
msgstr "Позначати Ñпеціальні Ñимволи"
-#: src/nm.c:88
+#: src/nm.c:89
msgid "Print size of defined symbols"
msgstr "ВивеÑти розмір визначених Ñимволів"
-#: src/nm.c:90 src/size.c:71 src/strip.c:72 src/unstrip.c:72
+#: src/nm.c:91 src/size.c:71 src/strip.c:72 src/unstrip.c:72
msgid "Output options:"
msgstr "Параметри виводу:"
-#: src/nm.c:91
+#: src/nm.c:92
msgid "Sort symbols numerically by address"
msgstr "ЧиÑлове впорÑÐ´ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñимволів за адреÑою"
-#: src/nm.c:93
+#: src/nm.c:94
msgid "Do not sort the symbols"
msgstr "Ðе впорÑдковувати Ñимволи"
-#: src/nm.c:94
+#: src/nm.c:95
msgid "Reverse the sense of the sort"
msgstr "Змінити порÑдок на протилежний"
-#: src/nm.c:97
+#: src/nm.c:98
msgid "Decode low-level symbol names into source code names"
msgstr "Визначати за низькорівневими назвами Ñимволів назви у початковому коді"
-#: src/nm.c:104
+#: src/nm.c:105
msgid "List symbols from FILEs (a.out by default)."
msgstr "Показати ÑпиÑок Ñимволів з ФÐЙЛів (типово з a.out)."
-#: src/nm.c:115 src/objdump.c:79
+#: src/nm.c:116 src/objdump.c:79
msgid "Output formatting"
msgstr "Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ"
-#: src/nm.c:139 src/objdump.c:103 src/size.c:108 src/strip.c:127
+#: src/nm.c:140 src/objdump.c:103 src/size.c:108 src/strip.c:127
#, c-format
msgid "%s: INTERNAL ERROR %d (%s): %s"
msgstr "%s: Ð’ÐУТРІШÐЯ ПОМИЛКР%d (%s): %s"
-#: src/nm.c:394 src/nm.c:406 src/size.c:305 src/size.c:314 src/size.c:325
+#: src/nm.c:395 src/nm.c:407 src/size.c:305 src/size.c:314 src/size.c:325
#: src/strip.c:2280
#, c-format
msgid "while closing '%s'"
msgstr "під Ñ‡Ð°Ñ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Â«%s»"
-#: src/nm.c:416 src/objdump.c:292 src/strip.c:391
+#: src/nm.c:417 src/objdump.c:292 src/strip.c:391
#, c-format
msgid "%s: File format not recognized"
msgstr "%s: не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ñ‚Ð¸ формат файла"
-#: src/nm.c:456
+#: src/nm.c:457
msgid ""
"\n"
"Archive index:\n"
@@ -4223,42 +4279,42 @@ msgstr ""
"\n"
"Покажчик архіву:\n"
-#: src/nm.c:465
+#: src/nm.c:466
#, c-format
msgid "invalid offset %zu for symbol %s"
msgstr "некоректне Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu Ð´Ð»Ñ Ñимволу %s"
-#: src/nm.c:470
+#: src/nm.c:471
#, c-format
msgid "%s in %s\n"
msgstr "%s у %s\n"
-#: src/nm.c:478
+#: src/nm.c:479
#, c-format
msgid "cannot reset archive offset to beginning"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ архіву"
-#: src/nm.c:503 src/objdump.c:340
+#: src/nm.c:504 src/objdump.c:340
#, c-format
msgid "%s%s%s: file format not recognized"
msgstr "%s%s%s: не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ñ‚Ð¸ формат файла"
-#: src/nm.c:715
+#: src/nm.c:719
#, c-format
msgid "cannot create search tree"
msgstr "не вдалоÑÑ Ñтворити дерево пошуку"
-#: src/nm.c:754 src/nm.c:1160 src/objdump.c:789 src/readelf.c:536
-#: src/readelf.c:1085 src/readelf.c:1245 src/readelf.c:1393 src/readelf.c:1579
-#: src/readelf.c:1785 src/readelf.c:1975 src/readelf.c:2202 src/readelf.c:2460
-#: src/readelf.c:2536 src/readelf.c:2623 src/readelf.c:3203 src/readelf.c:3239
-#: src/readelf.c:3302 src/readelf.c:8212 src/readelf.c:9314 src/readelf.c:9461
-#: src/readelf.c:9529 src/size.c:413 src/size.c:482 src/strip.c:520
+#: src/nm.c:760 src/nm.c:1221 src/objdump.c:789 src/readelf.c:545
+#: src/readelf.c:1123 src/readelf.c:1323 src/readelf.c:1471 src/readelf.c:1667
+#: src/readelf.c:1873 src/readelf.c:2063 src/readelf.c:2300 src/readelf.c:2558
+#: src/readelf.c:2634 src/readelf.c:2721 src/readelf.c:3301 src/readelf.c:3347
+#: src/readelf.c:3410 src/readelf.c:8320 src/readelf.c:9420 src/readelf.c:9603
+#: src/readelf.c:9671 src/size.c:413 src/size.c:482 src/strip.c:520
#, c-format
msgid "cannot get section header string table index"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñ–Ð½Ð´ÐµÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° розділу у таблиці Ñ€Ñдків"
-#: src/nm.c:781
+#: src/nm.c:787
#, c-format
msgid ""
"\n"
@@ -4271,7 +4327,7 @@ msgstr ""
"Символи з %s:\n"
"\n"
-#: src/nm.c:784
+#: src/nm.c:790
#, c-format
msgid ""
"%*s%-*s %-*s Class Type %-*s %*s Section\n"
@@ -4280,22 +4336,22 @@ msgstr ""
"%*s%-*s %-*s ÐšÐ»Ð°Ñ Ð¢Ð¸Ð¿ %-*s %*s Розділ\n"
"\n"
-#: src/nm.c:1171
+#: src/nm.c:1232
#, c-format
msgid "%s: entry size in section %zd `%s' is not what we expect"
msgstr "%s: розмір запиÑу у розділі %zd «%s» не Ñ” очікуваним"
-#: src/nm.c:1176
+#: src/nm.c:1237
#, c-format
msgid "%s: size of section %zd `%s' is not multiple of entry size"
msgstr "%s: розмір розділу %zd «%s» не Ñ” кратним до розміру запиÑу"
-#: src/nm.c:1434
+#: src/nm.c:1537
#, c-format
msgid "%s%s%s%s: Invalid operation"
msgstr "%s%s%s%s: некоректна діÑ"
-#: src/nm.c:1491
+#: src/nm.c:1594
#, c-format
msgid "%s%s%s: no symbols"
msgstr "%s%s%s: немає Ñимволів"
@@ -4328,7 +4384,7 @@ msgstr "Показати інформацію лише з розділу ÐÐЗÐ
msgid "Show information from FILEs (a.out by default)."
msgstr "Показати інформацію з ФÐЙЛів (типово a.out)."
-#: src/objdump.c:232 src/readelf.c:473
+#: src/objdump.c:232 src/readelf.c:479
msgid "No operation specified.\n"
msgstr "Ðе вказано дії.\n"
@@ -4337,11 +4393,11 @@ msgstr "Ðе вказано дії.\n"
msgid "while close `%s'"
msgstr "під Ñ‡Ð°Ñ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Â«%s»"
-#: src/objdump.c:375 src/readelf.c:1880 src/readelf.c:2072
+#: src/objdump.c:375 src/readelf.c:1968 src/readelf.c:2160
msgid "INVALID SYMBOL"
msgstr "ÐЕКОРЕКТÐИЙ СИМВОЛ"
-#: src/objdump.c:390 src/readelf.c:1914 src/readelf.c:2108
+#: src/objdump.c:390 src/readelf.c:2002 src/readelf.c:2196
msgid "INVALID SECTION"
msgstr "ÐЕКОРЕКТÐИЙ РОЗДІЛ"
@@ -4393,74 +4449,74 @@ msgstr "«%s» не є архівом"
msgid "error while freeing sub-ELF descriptor: %s"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ð²Ð¸Ð²Ñ–Ð»ÑŒÐ½ÐµÐ½Ð½Ñ Ð´ÐµÑкриптора під-ELF: %s"
-#: src/readelf.c:71
+#: src/readelf.c:72
msgid "ELF input selection:"
msgstr "Вибір вихідних даних ELF:"
-#: src/readelf.c:73
+#: src/readelf.c:74
msgid ""
"Use the named SECTION (default .gnu_debugdata) as (compressed) ELF input data"
msgstr ""
"ВикориÑтовувати вказаний за іменем РОЗДІЛ (типово .gnu_debugdata) Ñк "
"(ÑтиÑнені) вхідні дані ELF"
-#: src/readelf.c:75
+#: src/readelf.c:76
msgid "ELF output selection:"
msgstr "Вибір виводу ELF:"
-#: src/readelf.c:77
+#: src/readelf.c:78
msgid "All these plus -p .strtab -p .dynstr -p .comment"
msgstr "Ð’Ñе це Ð¿Ð»ÑŽÑ -p .strtab -p .dynstr -p .comment"
-#: src/readelf.c:78
+#: src/readelf.c:79
msgid "Display the dynamic segment"
msgstr "Показувати динамічний Ñегмент"
-#: src/readelf.c:79
+#: src/readelf.c:80
msgid "Display the ELF file header"
msgstr "Показувати заголовок файла ELF"
-#: src/readelf.c:81
+#: src/readelf.c:82
msgid "Display histogram of bucket list lengths"
msgstr "Показати гіÑтограму довжин ÑпиÑку блоків"
-#: src/readelf.c:82
+#: src/readelf.c:83
msgid "Display the program headers"
msgstr "Показувати заголовки програми"
-#: src/readelf.c:84
+#: src/readelf.c:85
msgid "Display relocations"
msgstr "Показувати переÑуваннÑ"
-#: src/readelf.c:85
+#: src/readelf.c:86
msgid "Display the sections' headers"
msgstr "Показувати заголовки розділів"
-#: src/readelf.c:87
+#: src/readelf.c:88
msgid "Display the symbol table"
msgstr "Показувати таблицю Ñимволів"
-#: src/readelf.c:88
+#: src/readelf.c:89
msgid "Display versioning information"
msgstr "Показувати відомоÑÑ‚Ñ– щодо верÑÑ–Ñ—"
-#: src/readelf.c:89
+#: src/readelf.c:90
msgid "Display the ELF notes"
msgstr "Показувати нотатки ELF"
-#: src/readelf.c:91
+#: src/readelf.c:92
msgid "Display architecture specific information, if any"
msgstr "Показувати Ñпецифічні Ð´Ð»Ñ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ дані, Ñкщо такі буде виÑвлено"
-#: src/readelf.c:93
+#: src/readelf.c:94
msgid "Display sections for exception handling"
msgstr "Показувати розділи Ð´Ð»Ñ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ виключень"
-#: src/readelf.c:95
+#: src/readelf.c:96
msgid "Additional output selection:"
msgstr "Додатковий вибір виводу:"
-#: src/readelf.c:97
+#: src/readelf.c:98
msgid ""
"Display DWARF section content. SECTION can be one of abbrev, aranges, "
"decodedaranges, frame, gdb_index, info, loc, line, decodedline, ranges, "
@@ -4470,167 +4526,173 @@ msgstr ""
"decodedaranges, frame, gdb_index, info, loc, line, decodedline, ranges, "
"pubnames, str, macinfo, macro або exception"
-#: src/readelf.c:101
+#: src/readelf.c:102
msgid "Dump the uninterpreted contents of SECTION, by number or name"
msgstr ""
"Створити дамп даних РОЗДІЛ, Ñкі не вдалоÑÑ Ñ–Ð½Ñ‚ÐµÑ€Ð¿Ñ€ÐµÑ‚ÑƒÐ²Ð°Ñ‚Ð¸, за номером або "
"назвами"
-#: src/readelf.c:103
+#: src/readelf.c:104
msgid "Print string contents of sections"
msgstr "Виводити вміÑÑ‚ Ñ€Ñдків розділів"
-#: src/readelf.c:106
+#: src/readelf.c:107
msgid "Display the symbol index of an archive"
msgstr "Показувати покажчик Ñимволів архіву"
-#: src/readelf.c:108
+#: src/readelf.c:109
msgid "Output control:"
msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð²Ð¾Ð´Ð¾Ð¼:"
-#: src/readelf.c:110
+#: src/readelf.c:111
msgid "Do not find symbol names for addresses in DWARF data"
msgstr "Ðе шукати назви Ñимволів Ð´Ð»Ñ Ð°Ð´Ñ€ÐµÑ Ñƒ даних DWARF"
-#: src/readelf.c:112
+#: src/readelf.c:113
msgid ""
"Display just offsets instead of resolving values to addresses in DWARF data"
msgstr "Показати лише зміщеннÑ, а не визначені Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи у даних DWARF"
-#: src/readelf.c:114
+#: src/readelf.c:115
msgid "Ignored for compatibility (lines always wide)"
msgstr "ІгноруєтьÑÑ Ð· міркувань ÑуміÑноÑÑ‚Ñ– (Ñ€Ñдки завжди широкі)"
-#: src/readelf.c:119
+#: src/readelf.c:117
+msgid ""
+"Show compression information for compressed sections (when used with -S); "
+"decompress section before dumping data (when used with -p or -x)"
+msgstr ""
+
+#: src/readelf.c:122
msgid "Print information from ELF file in human-readable form."
msgstr "Виводити відомоÑÑ‚Ñ– з файла ELF у придатному Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–."
-#: src/readelf.c:441
+#: src/readelf.c:447
#, c-format
msgid "Unknown DWARF debug section `%s'.\n"
msgstr "Ðевідомий діагноÑтичний розділ DWARF «%s».\n"
-#: src/readelf.c:520 src/readelf.c:631
+#: src/readelf.c:529 src/readelf.c:640
#, c-format
msgid "cannot generate Elf descriptor: %s"
msgstr "не вдалоÑÑ Ñтворити деÑкриптор Elf: %s"
-#: src/readelf.c:545 src/readelf.c:1099 src/readelf.c:1269
+#: src/readelf.c:554 src/readelf.c:1145 src/readelf.c:1347
#, c-format
msgid "cannot get section: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ розділ: %s"
-#: src/readelf.c:554 src/readelf.c:1106 src/readelf.c:1277 src/readelf.c:9481
-#: src/unstrip.c:355 src/unstrip.c:386 src/unstrip.c:435 src/unstrip.c:543
-#: src/unstrip.c:560 src/unstrip.c:596 src/unstrip.c:794 src/unstrip.c:1083
-#: src/unstrip.c:1274 src/unstrip.c:1334 src/unstrip.c:1455 src/unstrip.c:1508
-#: src/unstrip.c:1623 src/unstrip.c:1761 src/unstrip.c:1855
+#: src/readelf.c:563 src/readelf.c:1152 src/readelf.c:1355 src/readelf.c:9623
+#: src/unstrip.c:387 src/unstrip.c:418 src/unstrip.c:467 src/unstrip.c:577
+#: src/unstrip.c:594 src/unstrip.c:631 src/unstrip.c:829 src/unstrip.c:1118
+#: src/unstrip.c:1309 src/unstrip.c:1369 src/unstrip.c:1490 src/unstrip.c:1543
+#: src/unstrip.c:1658 src/unstrip.c:1796 src/unstrip.c:1891
#, c-format
msgid "cannot get section header: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу: %s"
-#: src/readelf.c:562
+#: src/readelf.c:571
#, c-format
msgid "cannot get section name"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ назву розділу"
-#: src/readelf.c:571 src/readelf.c:5396 src/readelf.c:7670 src/readelf.c:7772
-#: src/readelf.c:7949
+#: src/readelf.c:580 src/readelf.c:5504 src/readelf.c:7778 src/readelf.c:7880
+#: src/readelf.c:8057
#, c-format
msgid "cannot get %s content: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані %s: %s"
-#: src/readelf.c:587
+#: src/readelf.c:596
#, c-format
msgid "cannot create temp file '%s'"
msgstr "не вдалоÑÑ Ñтворити файл тимчаÑових даних «%s»"
-#: src/readelf.c:596
+#: src/readelf.c:605
#, c-format
msgid "cannot write section data"
msgstr "не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати дані розділу"
-#: src/readelf.c:602 src/readelf.c:619 src/readelf.c:648
+#: src/readelf.c:611 src/readelf.c:628 src/readelf.c:657
#, c-format
msgid "error while closing Elf descriptor: %s"
msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð´ÐµÑкриптора Elf: %s"
-#: src/readelf.c:609
+#: src/readelf.c:618
#, c-format
msgid "error while rewinding file descriptor"
msgstr "помилка під Ñ‡Ð°Ñ Ð¿Ð¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ Ð´Ð¾ початкового Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´ÐµÑкриптора файла"
-#: src/readelf.c:643
+#: src/readelf.c:652
#, c-format
msgid "'%s' is not an archive, cannot print archive index"
msgstr "«%s» не Ñ” архівом, Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¿Ð¾ÐºÐ°Ð¶Ñ‡Ð¸ÐºÐ° архіву неможливе"
-#: src/readelf.c:742
+#: src/readelf.c:751
#, c-format
msgid "No such section '%s' in '%s'"
msgstr "У «%2$s» немає розділу «%1$s»"
-#: src/readelf.c:769
+#: src/readelf.c:778
#, c-format
msgid "cannot stat input file"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані з вхідного файла за допомогою stat"
-#: src/readelf.c:771
+#: src/readelf.c:780
#, c-format
msgid "input file is empty"
msgstr "вхідний файл є порожнім"
-#: src/readelf.c:773
+#: src/readelf.c:782
#, c-format
msgid "failed reading '%s': %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ «%s»: %s"
-#: src/readelf.c:814
+#: src/readelf.c:837
#, c-format
msgid "cannot read ELF header: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ заголовок ELF: %s"
-#: src/readelf.c:822
+#: src/readelf.c:845
#, c-format
msgid "cannot create EBL handle"
msgstr "не вдалоÑÑ Ñтворити деÑкриптор EBL"
-#: src/readelf.c:835
+#: src/readelf.c:858
#, c-format
msgid "cannot determine number of program headers: %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ кількіÑÑ‚ÑŒ заголовків програми: %s"
-#: src/readelf.c:921
+#: src/readelf.c:948
msgid "NONE (None)"
msgstr "NONE (Ðемає)"
-#: src/readelf.c:922
+#: src/readelf.c:949
msgid "REL (Relocatable file)"
msgstr "REL (Придатний до переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»)"
-#: src/readelf.c:923
+#: src/readelf.c:950
msgid "EXEC (Executable file)"
msgstr "EXEC (Виконуваний файл)"
-#: src/readelf.c:924
+#: src/readelf.c:951
msgid "DYN (Shared object file)"
msgstr "DYN (Файл об’єктів Ñпільного викориÑтаннÑ)"
-#: src/readelf.c:925
+#: src/readelf.c:952
msgid "CORE (Core file)"
msgstr "CORE (Файл Ñдра)"
-#: src/readelf.c:930
+#: src/readelf.c:957
#, c-format
msgid "OS Specific: (%x)\n"
msgstr "ОС-Ñпецифічне: (%x)\n"
-#: src/readelf.c:932
+#: src/readelf.c:959
#, c-format
msgid "Processor Specific: (%x)\n"
msgstr "Специфічне Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑора: (%x)\n"
-#: src/readelf.c:942
+#: src/readelf.c:969
msgid ""
"ELF Header:\n"
" Magic: "
@@ -4638,7 +4700,7 @@ msgstr ""
"Заголовок ELF:\n"
" Magic: "
-#: src/readelf.c:946
+#: src/readelf.c:973
#, c-format
msgid ""
"\n"
@@ -4647,117 +4709,117 @@ msgstr ""
"\n"
" КлаÑ: %s\n"
-#: src/readelf.c:951
+#: src/readelf.c:978
#, c-format
msgid " Data: %s\n"
msgstr " Дані: %s\n"
-#: src/readelf.c:957
+#: src/readelf.c:984
#, c-format
msgid " Ident Version: %hhd %s\n"
msgstr " ВерÑÑ–Ñ Ident: %hhd %s\n"
-#: src/readelf.c:959 src/readelf.c:976
+#: src/readelf.c:986 src/readelf.c:1003
msgid "(current)"
msgstr "(поточний)"
-#: src/readelf.c:963
+#: src/readelf.c:990
#, c-format
msgid " OS/ABI: %s\n"
msgstr " ОС/ABI: %s\n"
-#: src/readelf.c:966
+#: src/readelf.c:993
#, c-format
msgid " ABI Version: %hhd\n"
msgstr " ВерÑÑ–Ñ ABI: %hhd\n"
-#: src/readelf.c:969
+#: src/readelf.c:996
msgid " Type: "
msgstr " Тип: "
-#: src/readelf.c:972
+#: src/readelf.c:999
#, c-format
msgid " Machine: %s\n"
msgstr " Ðрхітектура: %s\n"
-#: src/readelf.c:974
+#: src/readelf.c:1001
#, c-format
msgid " Version: %d %s\n"
msgstr " ВерÑÑ–Ñ: %d %s\n"
-#: src/readelf.c:978
+#: src/readelf.c:1005
#, c-format
msgid " Entry point address: %#<PRIx64>\n"
msgstr " ÐдреÑа вхідної точки: %#<PRIx64>\n"
-#: src/readelf.c:981
+#: src/readelf.c:1008
#, c-format
msgid " Start of program headers: %<PRId64> %s\n"
msgstr " Початок заголовків програм: %<PRId64> %s\n"
-#: src/readelf.c:982 src/readelf.c:985
+#: src/readelf.c:1009 src/readelf.c:1012
msgid "(bytes into file)"
msgstr "(байтів у файл)"
-#: src/readelf.c:984
+#: src/readelf.c:1011
#, c-format
msgid " Start of section headers: %<PRId64> %s\n"
msgstr " Початок заголовків розділів: %<PRId64> %s\n"
-#: src/readelf.c:987
+#: src/readelf.c:1014
#, c-format
msgid " Flags: %s\n"
msgstr " Прапорці: %s\n"
-#: src/readelf.c:990
+#: src/readelf.c:1017
#, c-format
msgid " Size of this header: %<PRId16> %s\n"
msgstr " Розмір цього заголовка: %<PRId16> %s\n"
-#: src/readelf.c:991 src/readelf.c:994 src/readelf.c:1011
+#: src/readelf.c:1018 src/readelf.c:1021 src/readelf.c:1038
msgid "(bytes)"
msgstr "(байтів)"
-#: src/readelf.c:993
+#: src/readelf.c:1020
#, c-format
msgid " Size of program header entries: %<PRId16> %s\n"
msgstr " Розмір запиÑів заголовка програми: %<PRId16> %s\n"
-#: src/readelf.c:996
+#: src/readelf.c:1023
#, c-format
msgid " Number of program headers entries: %<PRId16>"
msgstr " КількіÑÑ‚ÑŒ запиÑів заголовків програми: %<PRId16>"
-#: src/readelf.c:1003
+#: src/readelf.c:1030
#, c-format
msgid " (%<PRIu32> in [0].sh_info)"
msgstr " (%<PRIu32> у [0].sh_info)"
-#: src/readelf.c:1006 src/readelf.c:1023 src/readelf.c:1037
+#: src/readelf.c:1033 src/readelf.c:1050 src/readelf.c:1064
msgid " ([0] not available)"
msgstr " ([0] недоÑтупний)"
-#: src/readelf.c:1010
+#: src/readelf.c:1037
#, c-format
msgid " Size of section header entries: %<PRId16> %s\n"
msgstr " Розмір запиÑів заголовків розділів: %<PRId16> %s\n"
-#: src/readelf.c:1013
+#: src/readelf.c:1040
#, c-format
msgid " Number of section headers entries: %<PRId16>"
msgstr " КількіÑÑ‚ÑŒ запиÑів заголовків розділів: %<PRId16>"
-#: src/readelf.c:1020
+#: src/readelf.c:1047
#, c-format
msgid " (%<PRIu32> in [0].sh_size)"
msgstr " (%<PRIu32> у [0].sh_size)"
-#: src/readelf.c:1033
+#: src/readelf.c:1060
#, c-format
msgid " (%<PRIu32> in [0].sh_link)"
msgstr " (%<PRIu32> у [0].sh_link)"
-#: src/readelf.c:1041
+#: src/readelf.c:1068
#, c-format
msgid ""
" Section header string table index: XINDEX%s\n"
@@ -4766,7 +4828,7 @@ msgstr ""
" Ð†Ð½Ð´ÐµÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° розділу у таблиці Ñ€Ñдків: XINDEX%s\n"
"\n"
-#: src/readelf.c:1045
+#: src/readelf.c:1072
#, c-format
msgid ""
" Section header string table index: %<PRId16>\n"
@@ -4775,7 +4837,7 @@ msgstr ""
" Ð†Ð½Ð´ÐµÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° розділу у таблиці Ñ€Ñдків: %<PRId16>\n"
"\n"
-#: src/readelf.c:1077
+#: src/readelf.c:1115
#, c-format
msgid ""
"There are %d section headers, starting at offset %#<PRIx64>:\n"
@@ -4784,11 +4846,11 @@ msgstr ""
"ВиÑвлено %d заголовків розділів, Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ — %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:1087
+#: src/readelf.c:1125
msgid "Section Headers:"
msgstr "Заголовки розділів:"
-#: src/readelf.c:1090
+#: src/readelf.c:1128
msgid ""
"[Nr] Name Type Addr Off Size ES Flags Lk "
"Inf Al"
@@ -4796,7 +4858,7 @@ msgstr ""
"[â„– ] Ðазва Тип Ðдр Змі Розмір ES Прап Lk "
"Інф Al"
-#: src/readelf.c:1092
+#: src/readelf.c:1130
msgid ""
"[Nr] Name Type Addr Off Size ES "
"Flags Lk Inf Al"
@@ -4804,17 +4866,35 @@ msgstr ""
"[â„– ] Ðазва Тип Ðдр Змі Розмір ES "
"Прап Lk Інф Al"
-#: src/readelf.c:1164
+#: src/readelf.c:1135
+msgid " [Compression Size Al]"
+msgstr ""
+
+#: src/readelf.c:1137
+msgid " [Compression Size Al]"
+msgstr ""
+
+#: src/readelf.c:1213
+#, fuzzy, c-format
+msgid "bad compression header for section %zd: %s"
+msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу %zu: %s"
+
+#: src/readelf.c:1224
+#, fuzzy, c-format
+msgid "bad gnu compressed size for section %zd: %s"
+msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d: %s"
+
+#: src/readelf.c:1242
msgid "Program Headers:"
msgstr "Заголовки програми:"
-#: src/readelf.c:1166
+#: src/readelf.c:1244
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align"
msgstr ""
" Тип Зміщен ВіртÐдр ФізÐдр РозмФайл РозмПам Пра Вирів"
-#: src/readelf.c:1169
+#: src/readelf.c:1247
msgid ""
" Type Offset VirtAddr PhysAddr FileSiz "
"MemSiz Flg Align"
@@ -4822,12 +4902,12 @@ msgstr ""
" Тип Зміщен ВіртÐдр ФізÐдр "
"РозмФайлРозмПам Пра Вирів"
-#: src/readelf.c:1226
+#: src/readelf.c:1304
#, c-format
msgid "\t[Requesting program interpreter: %s]\n"
msgstr "\t[Запит щодо інтерпретатора програми: %s]\n"
-#: src/readelf.c:1247
+#: src/readelf.c:1325
msgid ""
"\n"
" Section to Segment mapping:\n"
@@ -4837,12 +4917,12 @@ msgstr ""
" Ð’Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² на Ñегмент:\n"
" Розділи Ñегмента..."
-#: src/readelf.c:1258 src/unstrip.c:1914 src/unstrip.c:1957 src/unstrip.c:1964
+#: src/readelf.c:1336 src/unstrip.c:1950 src/unstrip.c:1992 src/unstrip.c:1999
#, c-format
msgid "cannot get program header: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок програми: %s"
-#: src/readelf.c:1401
+#: src/readelf.c:1479
#, c-format
msgid ""
"\n"
@@ -4860,7 +4940,7 @@ msgstr[2] ""
"\n"
"Група розділів COMDAT [%2zu] «%s» з підпиÑом «%s» міÑтить %zu запиÑів:\n"
-#: src/readelf.c:1406
+#: src/readelf.c:1484
#, c-format
msgid ""
"\n"
@@ -4878,21 +4958,25 @@ msgstr[2] ""
"\n"
"Група розділів [%2zu] «%s» з підпиÑом «%s» міÑтить %zu запиÑів:\n"
-#: src/readelf.c:1414
+#: src/readelf.c:1492
msgid "<INVALID SYMBOL>"
msgstr "<ÐЕКОРЕКТÐИЙ СИМВОЛ>"
-#: src/readelf.c:1428
+#: src/readelf.c:1506
msgid "<INVALID SECTION>"
msgstr "<ÐЕКОРЕКТÐИЙ РОЗДІЛ>"
-#: src/readelf.c:1585 src/readelf.c:2208 src/readelf.c:2466 src/readelf.c:2542
-#: src/readelf.c:2846 src/readelf.c:2920 src/readelf.c:4608
+#: src/readelf.c:1529 src/readelf.c:2238 src/readelf.c:3317
+msgid "Couldn't uncompress section"
+msgstr ""
+
+#: src/readelf.c:1673 src/readelf.c:2306 src/readelf.c:2564 src/readelf.c:2640
+#: src/readelf.c:2944 src/readelf.c:3018 src/readelf.c:4716
#, c-format
msgid "invalid sh_link value in section %zu"
msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ sh_link у розділі %zu"
-#: src/readelf.c:1588
+#: src/readelf.c:1676
#, c-format
msgid ""
"\n"
@@ -4915,36 +4999,36 @@ msgstr[2] ""
"Динамічний Ñегмент міÑтить %lu запиÑів:\n"
" Ðдр: %#0*<PRIx64> ЗміщеннÑ: %#08<PRIx64> ПоÑ. на розділ: [%2u] '%s'\n"
-#: src/readelf.c:1598
+#: src/readelf.c:1686
msgid " Type Value\n"
msgstr " Тип ЗначеннÑ\n"
-#: src/readelf.c:1622
+#: src/readelf.c:1710
#, c-format
msgid "Shared library: [%s]\n"
msgstr "Спільна бібліотека: [%s]\n"
-#: src/readelf.c:1627
+#: src/readelf.c:1715
#, c-format
msgid "Library soname: [%s]\n"
msgstr "Ðазва so бібліотеки: [%s]\n"
-#: src/readelf.c:1632
+#: src/readelf.c:1720
#, c-format
msgid "Library rpath: [%s]\n"
msgstr "Rpath бібліотеки: [%s]\n"
-#: src/readelf.c:1637
+#: src/readelf.c:1725
#, c-format
msgid "Library runpath: [%s]\n"
msgstr "Runpath бібліотеки: [%s]\n"
-#: src/readelf.c:1657
+#: src/readelf.c:1745
#, c-format
msgid "%<PRId64> (bytes)\n"
msgstr "%<PRId64> (байт)\n"
-#: src/readelf.c:1770 src/readelf.c:1960
+#: src/readelf.c:1858 src/readelf.c:2048
#, c-format
msgid ""
"\n"
@@ -4953,7 +5037,7 @@ msgstr ""
"\n"
"Ðекоректна Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів за зміщеннÑм %#0<PRIx64>\n"
-#: src/readelf.c:1788 src/readelf.c:1978
+#: src/readelf.c:1876 src/readelf.c:2066
#, c-format
msgid ""
"\n"
@@ -4976,7 +5060,7 @@ msgstr[2] ""
"Розділ переÑÑƒÐ²Ð°Ð½Ð½Ñ [%2zu] «%s» Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ [%2u] «%s» за зміщеннÑм "
"%#0<PRIx64> міÑтить %d запиÑів:\n"
-#: src/readelf.c:1803 src/readelf.c:1993
+#: src/readelf.c:1891 src/readelf.c:2081
#, c-format
msgid ""
"\n"
@@ -4994,30 +5078,30 @@ msgstr[2] ""
"\n"
"Розділ переÑÑƒÐ²Ð°Ð½Ð½Ñ [%2u] «%s» за зміщеннÑм %#0<PRIx64> міÑтить %d запиÑів:\n"
-#: src/readelf.c:1813
+#: src/readelf.c:1901
msgid " Offset Type Value Name\n"
msgstr " Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва\n"
-#: src/readelf.c:1815
+#: src/readelf.c:1903
msgid " Offset Type Value Name\n"
msgstr " Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва\n"
-#: src/readelf.c:1868 src/readelf.c:1879 src/readelf.c:1892 src/readelf.c:1913
-#: src/readelf.c:1925 src/readelf.c:2059 src/readelf.c:2071 src/readelf.c:2085
-#: src/readelf.c:2107 src/readelf.c:2120
+#: src/readelf.c:1956 src/readelf.c:1967 src/readelf.c:1980 src/readelf.c:2001
+#: src/readelf.c:2013 src/readelf.c:2147 src/readelf.c:2159 src/readelf.c:2173
+#: src/readelf.c:2195 src/readelf.c:2208
msgid "<INVALID RELOC>"
msgstr "<ÐЕКОРЕКТÐЕ ПЕРЕМІЩЕÐÐЯ>"
-#: src/readelf.c:2003
+#: src/readelf.c:2091
msgid " Offset Type Value Addend Name\n"
msgstr " Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва додатка\n"
-#: src/readelf.c:2005
+#: src/readelf.c:2093
msgid " Offset Type Value Addend Name\n"
msgstr ""
" Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва додатка\n"
-#: src/readelf.c:2216
+#: src/readelf.c:2314
#, c-format
msgid ""
"\n"
@@ -5035,7 +5119,7 @@ msgstr[2] ""
"\n"
"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів [%2u] «%s» міÑтить %u запиÑів:\n"
-#: src/readelf.c:2221
+#: src/readelf.c:2319
#, c-format
msgid " %lu local symbol String table: [%2u] '%s'\n"
msgid_plural " %lu local symbols String table: [%2u] '%s'\n"
@@ -5043,33 +5127,33 @@ msgstr[0] " %lu лок. Ñимвол Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів: [%2u] «
msgstr[1] " %lu лок. Ñимволи Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів: [%2u] «%s»\n"
msgstr[2] " %lu лок. Ñимволів Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів: [%2u] «%s»\n"
-#: src/readelf.c:2229
+#: src/readelf.c:2327
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " â„–â„– Знач. Роз. Тип Зв’Ñз Вид. Інд Ðазва\n"
-#: src/readelf.c:2231
+#: src/readelf.c:2329
msgid " Num: Value Size Type Bind Vis Ndx Name\n"
msgstr " â„–â„– Знач. Роз. Тип Зв’Ñз Вид. Інд Ðазва\n"
-#: src/readelf.c:2251
+#: src/readelf.c:2349
#, 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:2339
+#: src/readelf.c:2437
#, c-format
msgid "bad dynamic symbol"
msgstr "помилковий динамічний Ñимвол"
-#: src/readelf.c:2421
+#: src/readelf.c:2519
msgid "none"
msgstr "немає"
-#: src/readelf.c:2438
+#: src/readelf.c:2536
msgid "| <unknown>"
msgstr "| <невідомо>"
-#: src/readelf.c:2469
+#: src/readelf.c:2567
#, c-format
msgid ""
"\n"
@@ -5092,17 +5176,17 @@ msgstr[2] ""
"Розділ потреби у верÑÑ–ÑÑ… [%2u] «%s», що міÑтить %d запиÑів:\n"
" Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»\n"
-#: src/readelf.c:2490
+#: src/readelf.c:2588
#, c-format
msgid " %#06x: Version: %hu File: %s Cnt: %hu\n"
msgstr " %#06x: ВерÑÑ–Ñ: %hu Файл: %s Кть: %hu\n"
-#: src/readelf.c:2503
+#: src/readelf.c:2601
#, c-format
msgid " %#06x: Name: %s Flags: %s Version: %hu\n"
msgstr " %#06x: Ðазва: %s Прап: %s ВерÑÑ–Ñ: %hu\n"
-#: src/readelf.c:2546
+#: src/readelf.c:2644
#, c-format
msgid ""
"\n"
@@ -5125,17 +5209,17 @@ msgstr[2] ""
"Розділ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²ÐµÑ€ÑÑ–Ñ— [%2u] «%s», що міÑтить %d запиÑів:\n"
" Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»\n"
-#: src/readelf.c:2574
+#: src/readelf.c:2672
#, 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:2589
+#: src/readelf.c:2687
#, c-format
msgid " %#06x: Parent %d: %s\n"
msgstr " %#06x: батьківÑький %d: %s\n"
-#: src/readelf.c:2850
+#: src/readelf.c:2948
#, c-format
msgid ""
"\n"
@@ -5158,15 +5242,15 @@ msgstr[2] ""
"Розділ Ñимволів верÑій [%2u] «%s», що міÑтить %d запиÑів:\n"
" Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»"
-#: src/readelf.c:2878
+#: src/readelf.c:2976
msgid " 0 *local* "
msgstr " 0 *локальний* "
-#: src/readelf.c:2883
+#: src/readelf.c:2981
msgid " 1 *global* "
msgstr " 1 *загальний* "
-#: src/readelf.c:2925
+#: src/readelf.c:3023
#, c-format
msgid ""
"\n"
@@ -5194,22 +5278,22 @@ msgstr[2] ""
"блоками):\n"
" Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»\n"
-#: src/readelf.c:2947
+#: src/readelf.c:3045
#, no-c-format
msgid " Length Number % of total Coverage\n"
msgstr " Довжина Ðомер % від загал. ПокриттÑ\n"
-#: src/readelf.c:2949
+#: src/readelf.c:3047
#, c-format
msgid " 0 %6<PRIu32> %5.1f%%\n"
msgstr " 0 %6<PRIu32> %5.1f%%\n"
-#: src/readelf.c:2956
+#: src/readelf.c:3054
#, c-format
msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n"
-#: src/readelf.c:2969
+#: src/readelf.c:3067
#, c-format
msgid ""
" Average number of tests: successful lookup: %f\n"
@@ -5218,27 +5302,27 @@ msgstr ""
" Ð¡ÐµÑ€ÐµÐ´Ð½Ñ ÐºÑ–Ð»ÑŒÐºÑ–ÑÑ‚ÑŒ теÑтів: уÑпішний пошук: %f\n"
"\t\t\t неуÑпішний пошук: %f\n"
-#: src/readelf.c:2987 src/readelf.c:3042 src/readelf.c:3099
+#: src/readelf.c:3085 src/readelf.c:3140 src/readelf.c:3197
#, c-format
msgid "cannot get data for section %d: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d: %s"
-#: src/readelf.c:2995
+#: src/readelf.c:3093
#, c-format
msgid "invalid data in sysv.hash section %d"
msgstr "некоректні дані у розділі sysv.hash %d"
-#: src/readelf.c:3050
+#: src/readelf.c:3148
#, c-format
msgid "invalid data in sysv.hash64 section %d"
msgstr "некоректні дані у розділі sysv.hash64 %d"
-#: src/readelf.c:3108
+#: src/readelf.c:3206
#, c-format
msgid "invalid data in gnu.hash section %d"
msgstr "некоректні дані у розділі gnu.hash %d"
-#: src/readelf.c:3175
+#: src/readelf.c:3273
#, c-format
msgid ""
" Symbol Bias: %u\n"
@@ -5248,7 +5332,7 @@ msgstr ""
" Розмір бітової маÑки: %zu байтів %<PRIuFAST32>%% вÑтановлених бітів зÑув "
"2-го хешу: %u\n"
-#: src/readelf.c:3250
+#: src/readelf.c:3358
#, c-format
msgid ""
"\n"
@@ -5269,7 +5353,7 @@ msgstr[2] ""
"Розділ ÑпиÑку бібліотек [%2zu] «%s» за зміщеннÑм %#0<PRIx64> міÑтить %d "
"запиÑів:\n"
-#: src/readelf.c:3264
+#: src/readelf.c:3372
msgid ""
" Library Time Stamp Checksum Version "
"Flags"
@@ -5277,7 +5361,7 @@ msgstr ""
" Бібліотека ЧаÑовий штамп ВерÑÑ–Ñ Ñуми "
"Прапорці"
-#: src/readelf.c:3314
+#: src/readelf.c:3422
#, c-format
msgid ""
"\n"
@@ -5288,140 +5372,140 @@ msgstr ""
"Розділ атрибутів об’єктів [%2zu] «%s» з %<PRIu64> байтів за зміщеннÑм "
"%#0<PRIx64>:\n"
-#: src/readelf.c:3331
+#: src/readelf.c:3439
msgid " Owner Size\n"
msgstr " ВлаÑник Розмір\n"
-#: src/readelf.c:3360
+#: src/readelf.c:3468
#, c-format
msgid " %-13s %4<PRIu32>\n"
msgstr " %-13s %4<PRIu32>\n"
-#: src/readelf.c:3399
+#: src/readelf.c:3507
#, c-format
msgid " %-4u %12<PRIu32>\n"
msgstr " %-4u %12<PRIu32>\n"
-#: src/readelf.c:3404
+#: src/readelf.c:3512
#, c-format
msgid " File: %11<PRIu32>\n"
msgstr " Файл: %11<PRIu32>\n"
-#: src/readelf.c:3453
+#: src/readelf.c:3561
#, c-format
msgid " %s: %<PRId64>, %s\n"
msgstr " %s: %<PRId64>, %s\n"
-#: src/readelf.c:3456
+#: src/readelf.c:3564
#, c-format
msgid " %s: %<PRId64>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:3459
+#: src/readelf.c:3567
#, c-format
msgid " %s: %s\n"
msgstr " %s: %s\n"
-#: src/readelf.c:3469
+#: src/readelf.c:3577
#, c-format
msgid " %u: %<PRId64>\n"
msgstr " %u: %<PRId64>\n"
-#: src/readelf.c:3472
+#: src/readelf.c:3580
#, c-format
msgid " %u: %s\n"
msgstr " %u: %s\n"
-#: src/readelf.c:3517
+#: src/readelf.c:3625
#, c-format
msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3520
+#: src/readelf.c:3628
#, c-format
msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%s+%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3525
+#: src/readelf.c:3633
#, c-format
msgid "%#<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3528
+#: src/readelf.c:3636
#, c-format
msgid "%#0*<PRIx64> <%s+%#<PRIx64>>"
msgstr "%#0*<PRIx64> <%s+%#<PRIx64>>"
-#: src/readelf.c:3534
+#: src/readelf.c:3642
#, c-format
msgid "%s+%#<PRIx64> <%s>"
msgstr "%s+%#<PRIx64> <%s>"
-#: src/readelf.c:3537
+#: src/readelf.c:3645
#, c-format
msgid "%s+%#0*<PRIx64> <%s>"
msgstr "%s+%#0*<PRIx64> <%s>"
-#: src/readelf.c:3541
+#: src/readelf.c:3649
#, c-format
msgid "%#<PRIx64> <%s>"
msgstr "%#<PRIx64> <%s>"
-#: src/readelf.c:3544
+#: src/readelf.c:3652
#, c-format
msgid "%#0*<PRIx64> <%s>"
msgstr "%#0*<PRIx64> <%s>"
-#: src/readelf.c:3549
+#: src/readelf.c:3657
#, c-format
msgid "%s+%#<PRIx64>"
msgstr "%s+%#<PRIx64>"
-#: src/readelf.c:3552
+#: src/readelf.c:3660
#, c-format
msgid "%s+%#0*<PRIx64>"
msgstr "%s+%#0*<PRIx64>"
-#: src/readelf.c:3930
+#: src/readelf.c:4038
msgid "empty block"
msgstr "порожній блок"
-#: src/readelf.c:3933
+#: src/readelf.c:4041
#, c-format
msgid "%zu byte block:"
msgstr "%zu-байтовий блок:"
-#: src/readelf.c:4330
+#: src/readelf.c:4438
#, c-format
msgid "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n"
msgstr "%*s[%4<PRIuMAX>] %s <ОБРІЗÐÐО>\n"
-#: src/readelf.c:4387
+#: src/readelf.c:4495
#, c-format
msgid "%s %#<PRIx64> used with different address sizes"
msgstr "%s %#<PRIx64> викориÑтано з різними розмірами адреÑ"
-#: src/readelf.c:4394
+#: src/readelf.c:4502
#, c-format
msgid "%s %#<PRIx64> used with different offset sizes"
msgstr "%s %#<PRIx64> викориÑтано з різними розмірами зміщень"
-#: src/readelf.c:4401
+#: src/readelf.c:4509
#, c-format
msgid "%s %#<PRIx64> used with different base addresses"
msgstr "%s %#<PRIx64> викориÑтано з різними базовими адреÑами"
-#: src/readelf.c:4490
+#: src/readelf.c:4598
#, c-format
msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n"
msgstr " [%6tx] <ÐЕВИКОРИСТОВУВÐÐІ ДÐÐІ У РЕШТІ РОЗДІЛУ>\n"
-#: src/readelf.c:4498
+#: src/readelf.c:4606
#, c-format
msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n"
msgstr " [%6tx] <ÐЕВИКОРИСТОВУВÐÐІ ДÐÐІ> ... %<PRIu64> байтів ...\n"
-#: src/readelf.c:4524
+#: src/readelf.c:4632
#, c-format
msgid ""
"\n"
@@ -5432,7 +5516,7 @@ msgstr ""
"Розділ DWARF [%2zu] «%s» зі зміщеннÑм %#<PRIx64>:\n"
" [ Код]\n"
-#: src/readelf.c:4532
+#: src/readelf.c:4640
#, c-format
msgid ""
"\n"
@@ -5441,30 +5525,30 @@ msgstr ""
"\n"
"Розділ Ñкорочень за зміщеннÑм %<PRIu64>:\n"
-#: src/readelf.c:4545
+#: src/readelf.c:4653
#, c-format
msgid " *** error while reading abbreviation: %s\n"
msgstr " *** помилка під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ ÑкороченнÑ: %s\n"
-#: src/readelf.c:4561
+#: src/readelf.c:4669
#, c-format
msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n"
msgstr " [%5u] зміщеннÑ: %<PRId64>, дочірній: %s, мітка: %s\n"
-#: src/readelf.c:4564
+#: src/readelf.c:4672
msgid "yes"
msgstr "так"
-#: src/readelf.c:4564
+#: src/readelf.c:4672
msgid "no"
msgstr "ні"
-#: src/readelf.c:4598 src/readelf.c:4671
+#: src/readelf.c:4706 src/readelf.c:4779
#, c-format
msgid "cannot get .debug_aranges content: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані get .debug_aranges: %s"
-#: src/readelf.c:4613
+#: src/readelf.c:4721
#, c-format
msgid ""
"\n"
@@ -5482,12 +5566,12 @@ msgstr[2] ""
"\n"
"Розділ DWARF [%2zu] «%s» за зміщеннÑм %#<PRIx64> міÑтить %zu запиÑів:\n"
-#: src/readelf.c:4644
+#: src/readelf.c:4752
#, c-format
msgid " [%*zu] ???\n"
msgstr " [%*zu] ???\n"
-#: src/readelf.c:4646
+#: src/readelf.c:4754
#, c-format
msgid ""
" [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n"
@@ -5495,8 +5579,8 @@ msgstr ""
" [%*zu] початок: %0#*<PRIx64>, довжина: %5<PRIu64>, Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ CU DIE: "
"%6<PRId64>\n"
-#: src/readelf.c:4676 src/readelf.c:4830 src/readelf.c:5406 src/readelf.c:6360
-#: src/readelf.c:6892 src/readelf.c:7012 src/readelf.c:7176 src/readelf.c:7601
+#: src/readelf.c:4784 src/readelf.c:4938 src/readelf.c:5514 src/readelf.c:6468
+#: src/readelf.c:7000 src/readelf.c:7120 src/readelf.c:7284 src/readelf.c:7709
#, c-format
msgid ""
"\n"
@@ -5505,7 +5589,7 @@ msgstr ""
"\n"
"Розділ DWARF [%2zu] «%s» зі зміщеннÑм %#<PRIx64>:\n"
-#: src/readelf.c:4689 src/readelf.c:6386
+#: src/readelf.c:4797 src/readelf.c:6494
#, c-format
msgid ""
"\n"
@@ -5514,12 +5598,12 @@ msgstr ""
"\n"
"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð·Ð° зміщеннÑм %zu:\n"
-#: src/readelf.c:4693 src/readelf.c:5430 src/readelf.c:6397
+#: src/readelf.c:4801 src/readelf.c:5538 src/readelf.c:6505
#, c-format
msgid "invalid data in section [%zu] '%s'"
msgstr "некоректні дані у розділі [%zu] «%s»"
-#: src/readelf.c:4709
+#: src/readelf.c:4817
#, c-format
msgid ""
"\n"
@@ -5528,32 +5612,32 @@ msgstr ""
"\n"
" Довжина: %6<PRIu64>\n"
-#: src/readelf.c:4721
+#: src/readelf.c:4829
#, c-format
msgid " DWARF version: %6<PRIuFAST16>\n"
msgstr " верÑÑ–Ñ DWARF: %6<PRIuFAST16>\n"
-#: src/readelf.c:4725
+#: src/readelf.c:4833
#, c-format
msgid "unsupported aranges version"
msgstr "непідтримувана верÑÑ–Ñ aranges"
-#: src/readelf.c:4736
+#: src/readelf.c:4844
#, c-format
msgid " CU offset: %6<PRIx64>\n"
msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ CU: %6<PRIx64>\n"
-#: src/readelf.c:4742
+#: src/readelf.c:4850
#, c-format
msgid " Address size: %6<PRIu64>\n"
msgstr " Розмір адреÑи: %6<PRIu64>\n"
-#: src/readelf.c:4746
+#: src/readelf.c:4854
#, c-format
msgid "unsupported address size"
msgstr "непідтримуваний розмір адреÑи"
-#: src/readelf.c:4751
+#: src/readelf.c:4859
#, c-format
msgid ""
" Segment size: %6<PRIu64>\n"
@@ -5562,66 +5646,66 @@ msgstr ""
" Розмір Ñегмента: %6<PRIu64>\n"
"\n"
-#: src/readelf.c:4755
+#: src/readelf.c:4863
#, c-format
msgid "unsupported segment size"
msgstr "непідтримуваний розмір Ñегмента"
-#: src/readelf.c:4795
+#: src/readelf.c:4903
#, c-format
msgid " %s..%s (%<PRIx64>)\n"
msgstr " %s..%s (%<PRIx64>)\n"
-#: src/readelf.c:4798
+#: src/readelf.c:4906
#, c-format
msgid " %s..%s\n"
msgstr " %s..%s\n"
-#: src/readelf.c:4807
+#: src/readelf.c:4915
#, c-format
msgid " %zu padding bytes\n"
msgstr " %zu байтів доповненнÑ\n"
-#: src/readelf.c:4825
+#: src/readelf.c:4933
#, c-format
msgid "cannot get .debug_ranges content: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані .debug_ranges: %s"
-#: src/readelf.c:4855 src/readelf.c:6919
+#: src/readelf.c:4963 src/readelf.c:7027
#, c-format
msgid " [%6tx] <INVALID DATA>\n"
msgstr " [%6tx] <ÐЕКОРЕКТÐІ ДÐÐІ>\n"
-#: src/readelf.c:4877 src/readelf.c:6941
+#: src/readelf.c:4985 src/readelf.c:7049
#, c-format
msgid " [%6tx] base address %s\n"
msgstr " [%6tx] базова адреÑа %s\n"
-#: src/readelf.c:4884 src/readelf.c:6948
+#: src/readelf.c:4992 src/readelf.c:7056
#, c-format
msgid " [%6tx] empty list\n"
msgstr " [%6tx] порожній ÑпиÑок\n"
-#: src/readelf.c:4895
+#: src/readelf.c:5003
#, c-format
msgid " [%6tx] %s..%s\n"
msgstr " [%6tx] %s..%s\n"
-#: src/readelf.c:4897
+#: src/readelf.c:5005
#, c-format
msgid " %s..%s\n"
msgstr " %s..%s\n"
-#: src/readelf.c:5076
+#: src/readelf.c:5184
msgid " <INVALID DATA>\n"
msgstr " <ÐЕКОРЕКТÐІ ДÐÐІ>\n"
-#: src/readelf.c:5385
+#: src/readelf.c:5493
#, c-format
msgid "cannot get ELF: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ELF: %s"
-#: src/readelf.c:5402
+#: src/readelf.c:5510
#, c-format
msgid ""
"\n"
@@ -5630,7 +5714,7 @@ msgstr ""
"\n"
"Розділ відомоÑтей щодо вікна викликів [%2zu] «%s» за зміщеннÑм %#<PRIx64>:\n"
-#: src/readelf.c:5452
+#: src/readelf.c:5560
#, c-format
msgid ""
"\n"
@@ -5639,50 +5723,50 @@ msgstr ""
"\n"
" [%6tx] нульовий переривач\n"
-#: src/readelf.c:5545 src/readelf.c:5700
+#: src/readelf.c:5653 src/readelf.c:5808
#, c-format
msgid "invalid augmentation length"
msgstr "некоректна довжина збільшеннÑ"
-#: src/readelf.c:5560
+#: src/readelf.c:5668
msgid "FDE address encoding: "
msgstr "ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð´Ñ€ÐµÑи FDE: "
-#: src/readelf.c:5566
+#: src/readelf.c:5674
msgid "LSDA pointer encoding: "
msgstr "ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° LSDA: "
-#: src/readelf.c:5677
+#: src/readelf.c:5785
#, c-format
msgid " (offset: %#<PRIx64>)"
msgstr " (зміщеннÑ: %#<PRIx64>)"
-#: src/readelf.c:5684
+#: src/readelf.c:5792
#, c-format
msgid " (end offset: %#<PRIx64>)"
msgstr " (Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ кінцÑ: %#<PRIx64>)"
-#: src/readelf.c:5721
+#: src/readelf.c:5829
#, c-format
msgid " %-26sLSDA pointer: %#<PRIx64>\n"
msgstr " %-26sвказівник LSDA: %#<PRIx64>\n"
-#: src/readelf.c:5776
+#: src/readelf.c:5884
#, c-format
msgid "cannot get attribute code: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ код атрибута: %s"
-#: src/readelf.c:5785
+#: src/readelf.c:5893
#, c-format
msgid "cannot get attribute form: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ форму атрибута: %s"
-#: src/readelf.c:5800
+#: src/readelf.c:5908
#, c-format
msgid "cannot get attribute value: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°: %s"
-#: src/readelf.c:6099
+#: src/readelf.c:6207
#, c-format
msgid ""
"\n"
@@ -5693,7 +5777,7 @@ msgstr ""
"Розділ DWARF [%2zu] «%s» за зміщеннÑм %#<PRIx64>:\n"
" [ЗміщеннÑ]\n"
-#: src/readelf.c:6131
+#: src/readelf.c:6239
#, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5706,7 +5790,7 @@ msgstr ""
"ЗміщеннÑ: %<PRIu8>\n"
" ÐŸÑ–Ð´Ð¿Ð¸Ñ Ñ‚Ð¸Ð¿Ñƒ: %#<PRIx64>, Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ: %#<PRIx64>\n"
-#: src/readelf.c:6140
+#: src/readelf.c:6248
#, c-format
msgid ""
" Compilation unit at offset %<PRIu64>:\n"
@@ -5717,33 +5801,33 @@ msgstr ""
" ВерÑÑ–Ñ: %<PRIu16>, Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñкорочень: %<PRIu64>, ÐдреÑа: %<PRIu8>, "
"ЗміщеннÑ: %<PRIu8>\n"
-#: src/readelf.c:6165
+#: src/readelf.c:6273
#, c-format
msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ DIE за зміщеннÑм %<PRIu64> у розділі «%s»: %s"
-#: src/readelf.c:6179
+#: src/readelf.c:6287
#, c-format
msgid "cannot get DIE offset: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ DIE: %s"
-#: src/readelf.c:6188
+#: src/readelf.c:6296
#, c-format
msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s"
msgstr ""
"не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ мітку DIE за зміщеннÑм %<PRIu64> у розділі «%s»: %s"
-#: src/readelf.c:6220
+#: src/readelf.c:6328
#, c-format
msgid "cannot get next DIE: %s\n"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ наÑтупний DIE: %s\n"
-#: src/readelf.c:6228
+#: src/readelf.c:6336
#, c-format
msgid "cannot get next DIE: %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ наÑтупний DIE: %s"
-#: src/readelf.c:6264
+#: src/readelf.c:6372
#, c-format
msgid ""
"\n"
@@ -5754,12 +5838,12 @@ msgstr ""
"Розділ DWARF [%2zu] «%s» зі зміщеннÑм %#<PRIx64>:\n"
"\n"
-#: src/readelf.c:6373
+#: src/readelf.c:6481
#, c-format
msgid "cannot get line data section data: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу лінійних даних: %s"
-#: src/readelf.c:6443
+#: src/readelf.c:6551
#, c-format
msgid ""
"\n"
@@ -5788,12 +5872,12 @@ msgstr ""
"\n"
"Коди операцій:\n"
-#: src/readelf.c:6464
+#: src/readelf.c:6572
#, c-format
msgid "invalid data at offset %tu in section [%zu] '%s'"
msgstr "некоректні дані зі зміщеннÑм %tu у розділі [%zu] «%s»"
-#: src/readelf.c:6479
+#: src/readelf.c:6587
#, c-format
msgid " [%*<PRIuFAST8>] %hhu argument\n"
msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n"
@@ -5801,7 +5885,7 @@ msgstr[0] " [%*<PRIuFAST8>] %hhu аргумент\n"
msgstr[1] " [%*<PRIuFAST8>] %hhu аргументи\n"
msgstr[2] " [%*<PRIuFAST8>] %hhu аргументів\n"
-#: src/readelf.c:6487
+#: src/readelf.c:6595
msgid ""
"\n"
"Directory table:"
@@ -5809,7 +5893,7 @@ msgstr ""
"\n"
"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ:"
-#: src/readelf.c:6503
+#: src/readelf.c:6611
msgid ""
"\n"
"File name table:\n"
@@ -5819,7 +5903,7 @@ msgstr ""
"Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð½Ð°Ð·Ð² файлів:\n"
" Ð—Ð°Ð¿Ð¸Ñ ÐšÐ°Ñ‚ Ð§Ð°Ñ Ð Ð¾Ð·Ð¼Ñ–Ñ€ Ðазва"
-#: src/readelf.c:6538
+#: src/readelf.c:6646
msgid ""
"\n"
"Line number statements:"
@@ -5827,120 +5911,120 @@ msgstr ""
"\n"
"Оператори номерів Ñ€Ñдків:"
-#: src/readelf.c:6589
+#: src/readelf.c:6697
#, c-format
msgid "invalid maximum operations per instruction is zero"
msgstr "некоректну кількіÑÑ‚ÑŒ операцій на інÑтрукцію прирівнÑно до нулÑ"
-#: src/readelf.c:6625
+#: src/readelf.c:6733
#, c-format
msgid " special opcode %u: address+%u = %s, op_index = %u, line%+d = %zu\n"
msgstr ""
" Ñпеціальний код операції %u: адреÑа+%u = %s, індекÑ_оп = %u, Ñ€Ñдок%+d = "
"%zu\n"
-#: src/readelf.c:6630
+#: src/readelf.c:6738
#, c-format
msgid " special opcode %u: address+%u = %s, line%+d = %zu\n"
msgstr " Ñпеціальний код операції %u: адреÑа+%u = %s, Ñ€Ñдок%+d = %zu\n"
-#: src/readelf.c:6650
+#: src/readelf.c:6758
#, c-format
msgid " extended opcode %u: "
msgstr " розширений код операції %u: "
-#: src/readelf.c:6655
+#: src/readelf.c:6763
msgid " end of sequence"
msgstr " кінець поÑлідовноÑÑ‚Ñ–"
-#: src/readelf.c:6674
+#: src/readelf.c:6782
#, c-format
msgid " set address to %s\n"
msgstr " вÑтановити адреÑу у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %s\n"
-#: src/readelf.c:6701
+#: src/readelf.c:6809
#, 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:6714
+#: src/readelf.c:6822
#, c-format
msgid " set discriminator to %u\n"
msgstr " вÑтановити Ñ€Ð¾Ð·Ñ€Ñ–Ð·Ð½ÐµÐ½Ð½Ñ Ð´Ð»Ñ %u\n"
-#: src/readelf.c:6719
+#: src/readelf.c:6827
msgid " unknown opcode"
msgstr " невідомий код операції"
-#: src/readelf.c:6731
+#: src/readelf.c:6839
msgid " copy"
msgstr " копіÑ"
-#: src/readelf.c:6742
+#: src/readelf.c:6850
#, c-format
msgid " advance address by %u to %s, op_index to %u\n"
msgstr " Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи на %u до %s, індекÑ_оп до %u\n"
-#: src/readelf.c:6746
+#: src/readelf.c:6854
#, c-format
msgid " advance address by %u to %s\n"
msgstr " Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи на %u до %s\n"
-#: src/readelf.c:6757
+#: src/readelf.c:6865
#, c-format
msgid " advance line by constant %d to %<PRId64>\n"
msgstr " проÑувати Ñ€Ñдок на Ñталу %d до %<PRId64>\n"
-#: src/readelf.c:6765
+#: src/readelf.c:6873
#, c-format
msgid " set file to %<PRIu64>\n"
msgstr " вÑтановити файл у %<PRIu64>\n"
-#: src/readelf.c:6775
+#: src/readelf.c:6883
#, c-format
msgid " set column to %<PRIu64>\n"
msgstr " вÑтановити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñтовпчика %<PRIu64>\n"
-#: src/readelf.c:6782
+#: src/readelf.c:6890
#, c-format
msgid " set '%s' to %<PRIuFAST8>\n"
msgstr " вÑтановити «%s» у %<PRIuFAST8>\n"
-#: src/readelf.c:6788
+#: src/readelf.c:6896
msgid " set basic block flag"
msgstr " вÑтановити прапорець базового блоку"
-#: src/readelf.c:6801
+#: src/readelf.c:6909
#, c-format
msgid " advance address by constant %u to %s, op_index to %u\n"
msgstr " збільшити адреÑу на Ñталу величину %u до %s, індекÑ_оп до %u\n"
-#: src/readelf.c:6805
+#: src/readelf.c:6913
#, c-format
msgid " advance address by constant %u to %s\n"
msgstr " збільшити адреÑу на Ñталу величину %u до %s\n"
-#: src/readelf.c:6823
+#: src/readelf.c:6931
#, c-format
msgid " advance address by fixed value %u to %s\n"
msgstr " збільшити адреÑу на фікÑовану величину %u до %s\n"
-#: src/readelf.c:6832
+#: src/readelf.c:6940
msgid " set prologue end flag"
msgstr " вÑтановити прапорець ÐºÑ–Ð½Ñ†Ñ Ð²Ñтупу"
-#: src/readelf.c:6837
+#: src/readelf.c:6945
msgid " set epilogue begin flag"
msgstr " вÑтановити прапорець початку епілогу"
-#: src/readelf.c:6846
+#: src/readelf.c:6954
#, c-format
msgid " set isa to %u\n"
msgstr " вÑтановити isa у %u\n"
-#: src/readelf.c:6855
+#: src/readelf.c:6963
#, c-format
msgid " unknown opcode with %<PRIu8> parameter:"
msgid_plural " unknown opcode with %<PRIu8> parameters:"
@@ -5948,102 +6032,102 @@ msgstr[0] " невідомий код операції з %<PRIu8> парамеÑ
msgstr[1] " невідомий код операції з %<PRIu8> параметрами:"
msgstr[2] " невідомий код операції з %<PRIu8> параметрами:"
-#: src/readelf.c:6887
+#: src/readelf.c:6995
#, c-format
msgid "cannot get .debug_loc content: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ .debug_loc: %s"
-#: src/readelf.c:6962
+#: src/readelf.c:7070
#, c-format
msgid " [%6tx] %s..%s"
msgstr " [%6tx] %s..%s"
-#: src/readelf.c:6964
+#: src/readelf.c:7072
#, c-format
msgid " %s..%s"
msgstr " %s..%s"
-#: src/readelf.c:6971 src/readelf.c:7859
+#: src/readelf.c:7079 src/readelf.c:7967
msgid " <INVALID DATA>\n"
msgstr " <ÐЕКОРЕКТÐІ ДÐÐІ>\n"
-#: src/readelf.c:7023 src/readelf.c:7185
+#: src/readelf.c:7131 src/readelf.c:7293
#, c-format
msgid "cannot get macro information section data: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу відомоÑтей щодо макроÑів: %s"
-#: src/readelf.c:7103
+#: src/readelf.c:7211
#, c-format
msgid "%*s*** non-terminated string at end of section"
msgstr "%*s*** незавершений Ñ€Ñдок наприкінці розділу"
-#: src/readelf.c:7126
+#: src/readelf.c:7234
#, c-format
msgid "%*s*** missing DW_MACINFO_start_file argument at end of section"
msgstr "%*s*** пропущено аргумент DW_MACINFO_start_file наприкінці розділу"
-#: src/readelf.c:7226
+#: src/readelf.c:7334
#, c-format
msgid " Offset: 0x%<PRIx64>\n"
msgstr " ЗміщеннÑ: 0x%<PRIx64>\n"
-#: src/readelf.c:7238
+#: src/readelf.c:7346
#, c-format
msgid " Version: %<PRIu16>\n"
msgstr " ВерÑÑ–Ñ: %<PRIu16>\n"
-#: src/readelf.c:7244 src/readelf.c:7978
+#: src/readelf.c:7352 src/readelf.c:8086
#, c-format
msgid " unknown version, cannot parse section\n"
msgstr " невідома верÑÑ–Ñ, не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ розділ\n"
-#: src/readelf.c:7251
+#: src/readelf.c:7359
#, c-format
msgid " Flag: 0x%<PRIx8>\n"
msgstr " Прапорець: 0x%<PRIx8>\n"
-#: src/readelf.c:7254
+#: src/readelf.c:7362
#, c-format
msgid " Offset length: %<PRIu8>\n"
msgstr " Довжина зміщеннÑ: %<PRIu8>\n"
-#: src/readelf.c:7262
+#: src/readelf.c:7370
#, c-format
msgid " .debug_line offset: 0x%<PRIx64>\n"
msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ .debug_line: 0x%<PRIx64>\n"
-#: src/readelf.c:7275
+#: src/readelf.c:7383
#, c-format
msgid " extension opcode table, %<PRIu8> items:\n"
msgstr " Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ ÐºÐ¾Ð´Ñ–Ð² операцій розширень, запиÑів — %<PRIu8>:\n"
-#: src/readelf.c:7282
+#: src/readelf.c:7390
#, c-format
msgid " [%<PRIx8>]"
msgstr " [%<PRIx8>]"
-#: src/readelf.c:7294
+#: src/readelf.c:7402
#, c-format
msgid " %<PRIu8> arguments:"
msgstr " %<PRIu8> аргументів:"
-#: src/readelf.c:7322
+#: src/readelf.c:7430
#, c-format
msgid " no arguments."
msgstr " немає аргументів."
-#: src/readelf.c:7559
+#: src/readelf.c:7667
#, c-format
msgid "vendor opcode not verified?"
msgstr "код операції поÑтачальника не перевірено?"
-#: src/readelf.c:7587
+#: src/readelf.c:7695
#, 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:7628
+#: src/readelf.c:7736
#, c-format
msgid ""
"\n"
@@ -6054,12 +6138,12 @@ msgstr ""
"Розділ DWARF [%2zu] «%s» зі зміщеннÑм %#<PRIx64>:\n"
" %*s РÑдок\n"
-#: src/readelf.c:7642
+#: src/readelf.c:7750
#, c-format
msgid " *** error while reading strings: %s\n"
msgstr " *** помилка під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ€Ñдків: %s\n"
-#: src/readelf.c:7662
+#: src/readelf.c:7770
#, c-format
msgid ""
"\n"
@@ -6068,7 +6152,7 @@ msgstr ""
"\n"
"Розділ таблиці пошуку вікон виклику [%2zu] '.eh_frame_hdr':\n"
-#: src/readelf.c:7764
+#: src/readelf.c:7872
#, c-format
msgid ""
"\n"
@@ -6077,22 +6161,22 @@ msgstr ""
"\n"
"Розділ таблиці обробки виключень [%2zu] '.gcc_except_table':\n"
-#: src/readelf.c:7787
+#: src/readelf.c:7895
#, c-format
msgid " LPStart encoding: %#x "
msgstr " ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ LPStart: %#x "
-#: src/readelf.c:7799
+#: src/readelf.c:7907
#, c-format
msgid " TType encoding: %#x "
msgstr " ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ TType: %#x "
-#: src/readelf.c:7814
+#: src/readelf.c:7922
#, c-format
msgid " Call site encoding: %#x "
msgstr " ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ñ–ÑÑ†Ñ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ:%#x "
-#: src/readelf.c:7827
+#: src/readelf.c:7935
msgid ""
"\n"
" Call site table:"
@@ -6100,7 +6184,7 @@ msgstr ""
"\n"
" Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¼Ñ–ÑÑ†Ñ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ:"
-#: src/readelf.c:7841
+#: src/readelf.c:7949
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -6113,12 +6197,12 @@ msgstr ""
" МіÑце заÑтоÑуваннÑ: %#<PRIx64>\n"
" ДіÑ: %u\n"
-#: src/readelf.c:7914
+#: src/readelf.c:8022
#, c-format
msgid "invalid TType encoding"
msgstr "некоректне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ TType"
-#: src/readelf.c:7940
+#: src/readelf.c:8048
#, c-format
msgid ""
"\n"
@@ -6127,37 +6211,37 @@ msgstr ""
"\n"
"Розділ GDB [%2zu] «%s» за зміщеннÑм %#<PRIx64> міÑтить %<PRId64> байтів:\n"
-#: src/readelf.c:7969
+#: src/readelf.c:8077
#, c-format
msgid " Version: %<PRId32>\n"
msgstr " ВерÑÑ–Ñ: %<PRId32>\n"
-#: src/readelf.c:7987
+#: src/readelf.c:8095
#, c-format
msgid " CU offset: %#<PRIx32>\n"
msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ CU: %#<PRIx32>\n"
-#: src/readelf.c:7994
+#: src/readelf.c:8102
#, c-format
msgid " TU offset: %#<PRIx32>\n"
msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ TU: %#<PRIx32>\n"
-#: src/readelf.c:8001
+#: src/readelf.c:8109
#, c-format
msgid " address offset: %#<PRIx32>\n"
msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи: %#<PRIx32>\n"
-#: src/readelf.c:8008
+#: src/readelf.c:8116
#, c-format
msgid " symbol offset: %#<PRIx32>\n"
msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñимволу: %#<PRIx32>\n"
-#: src/readelf.c:8015
+#: src/readelf.c:8123
#, c-format
msgid " constant offset: %#<PRIx32>\n"
msgstr " Ñтале зміщеннÑ: %#<PRIx32>\n"
-#: src/readelf.c:8029
+#: src/readelf.c:8137
#, c-format
msgid ""
"\n"
@@ -6166,7 +6250,7 @@ msgstr ""
"\n"
" СпиÑок CU зі зміщеннÑм %#<PRIx32> міÑтить %zu запиÑів:\n"
-#: src/readelf.c:8054
+#: src/readelf.c:8162
#, c-format
msgid ""
"\n"
@@ -6175,7 +6259,7 @@ msgstr ""
"\n"
" СпиÑок TU зі зміщеннÑм %#<PRIx32> міÑтить %zu запиÑів:\n"
-#: src/readelf.c:8083
+#: src/readelf.c:8191
#, c-format
msgid ""
"\n"
@@ -6184,7 +6268,7 @@ msgstr ""
"\n"
" СпиÑок Ð°Ð´Ñ€ÐµÑ Ð·Ñ– зміщеннÑм %#<PRIx32> міÑтить %zu запиÑів:\n"
-#: src/readelf.c:8116
+#: src/readelf.c:8224
#, c-format
msgid ""
"\n"
@@ -6193,17 +6277,17 @@ msgstr ""
"\n"
" Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів за зміщеннÑм %#<PRIx32> міÑтить %zu позицій:\n"
-#: src/readelf.c:8203
+#: src/readelf.c:8311
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ деÑкриптор контекÑту зневаджуваннÑ: %s"
-#: src/readelf.c:8361 src/readelf.c:8983 src/readelf.c:9094 src/readelf.c:9152
+#: src/readelf.c:8467 src/readelf.c:9089 src/readelf.c:9200 src/readelf.c:9258
#, c-format
msgid "cannot convert core note data: %s"
msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ дані запиÑу Ñдра: %s"
-#: src/readelf.c:8724
+#: src/readelf.c:8830
#, c-format
msgid ""
"\n"
@@ -6212,21 +6296,21 @@ msgstr ""
"\n"
"%*s... <повторюєтьÑÑ %u разів> ..."
-#: src/readelf.c:9231
+#: src/readelf.c:9337
msgid " Owner Data size Type\n"
msgstr " ВлаÑник Розм. даних Тип\n"
-#: src/readelf.c:9249
+#: src/readelf.c:9355
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:9299
+#: src/readelf.c:9405
#, c-format
msgid "cannot get content of note section: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ розділу запиÑів: %s"
-#: src/readelf.c:9326
+#: src/readelf.c:9432
#, c-format
msgid ""
"\n"
@@ -6236,7 +6320,7 @@ msgstr ""
"Розділ запиÑів (note) [%2zu] «%s» з %<PRIu64> байтів за зміщеннÑм "
"%#0<PRIx64>:\n"
-#: src/readelf.c:9349
+#: src/readelf.c:9455
#, c-format
msgid ""
"\n"
@@ -6245,7 +6329,7 @@ msgstr ""
"\n"
"Сегмент запиÑів з %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n"
-#: src/readelf.c:9395
+#: src/readelf.c:9501
#, c-format
msgid ""
"\n"
@@ -6254,12 +6338,12 @@ msgstr ""
"\n"
"У розділі [%zu] «%s» не міÑтитьÑÑ Ð´Ð°Ð½Ð¸Ñ… Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð´Ð°Ð¼Ð¿Ñƒ.\n"
-#: src/readelf.c:9401 src/readelf.c:9424
+#: src/readelf.c:9518 src/readelf.c:9559
#, c-format
msgid "cannot get data for section [%zu] '%s': %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ [%zu] «%s»: %s"
-#: src/readelf.c:9405
+#: src/readelf.c:9523
#, c-format
msgid ""
"\n"
@@ -6268,7 +6352,17 @@ msgstr ""
"\n"
"ШіÑÑ‚. дамп розділу [%zu] «%s», %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n"
-#: src/readelf.c:9418
+#: src/readelf.c:9528
+#, fuzzy, c-format
+msgid ""
+"\n"
+"Hex dump of section [%zu] '%s', %<PRIu64> bytes (%zd uncompressed) at offset "
+"%#0<PRIx64>:\n"
+msgstr ""
+"\n"
+"ШіÑÑ‚. дамп розділу [%zu] «%s», %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n"
+
+#: src/readelf.c:9542
#, c-format
msgid ""
"\n"
@@ -6277,7 +6371,7 @@ msgstr ""
"\n"
"У розділі [%zu] «%s» не міÑтитьÑÑ Ñ€Ñдків Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð´Ð°Ð¼Ð¿Ñƒ.\n"
-#: src/readelf.c:9428
+#: src/readelf.c:9564
#, c-format
msgid ""
"\n"
@@ -6286,7 +6380,17 @@ msgstr ""
"\n"
"Розділ Ñ€Ñдків [%zu] «%s» міÑтить %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n"
-#: src/readelf.c:9476
+#: src/readelf.c:9569
+#, fuzzy, c-format
+msgid ""
+"\n"
+"String section [%zu] '%s' contains %<PRIu64> bytes (%zd uncompressed) at "
+"offset %#0<PRIx64>:\n"
+msgstr ""
+"\n"
+"Розділ Ñ€Ñдків [%zu] «%s» міÑтить %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n"
+
+#: src/readelf.c:9618
#, c-format
msgid ""
"\n"
@@ -6295,7 +6399,7 @@ msgstr ""
"\n"
"розділу [%lu] не Ñ–Ñнує"
-#: src/readelf.c:9505
+#: src/readelf.c:9647
#, c-format
msgid ""
"\n"
@@ -6304,12 +6408,12 @@ msgstr ""
"\n"
"розділу «%s» не Ñ–Ñнує"
-#: src/readelf.c:9562
+#: src/readelf.c:9704
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ покажчик Ñимволів архіву «%s»: %s"
-#: src/readelf.c:9565
+#: src/readelf.c:9707
#, c-format
msgid ""
"\n"
@@ -6318,7 +6422,7 @@ msgstr ""
"\n"
"У архіві «%s» немає покажчика Ñимволів\n"
-#: src/readelf.c:9569
+#: src/readelf.c:9711
#, c-format
msgid ""
"\n"
@@ -6327,12 +6431,12 @@ msgstr ""
"\n"
"Покажчик архіву «%s» міÑтить %zu запиÑів:\n"
-#: src/readelf.c:9587
+#: src/readelf.c:9729
#, c-format
msgid "cannot extract member at offset %zu in '%s': %s"
msgstr "не вдалоÑÑ Ð²Ð¸Ð´Ð¾Ð±ÑƒÑ‚Ð¸ елемент за зміщеннÑм %zu у «%s»: %s"
-#: src/readelf.c:9592
+#: src/readelf.c:9734
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "Елемент архіву «%s» міÑтить:\n"
@@ -6886,12 +6990,12 @@ msgstr "не вдалоÑÑ Ñтворити заголовок ELF: %s"
msgid "cannot copy ELF header: %s"
msgstr "не вдалоÑÑ Ñкопіювати заголовок ELF: %s"
-#: src/unstrip.c:261 src/unstrip.c:1903 src/unstrip.c:1947
+#: src/unstrip.c:261 src/unstrip.c:1939 src/unstrip.c:1982
#, c-format
msgid "cannot get number of program headers: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ кількіÑÑ‚ÑŒ заголовків програми: %s"
-#: src/unstrip.c:266 src/unstrip.c:1907
+#: src/unstrip.c:266 src/unstrip.c:1943
#, c-format
msgid "cannot create program headers: %s"
msgstr "не вдалоÑÑ Ñтворити заголовки програми: %s"
@@ -6906,12 +7010,12 @@ msgstr "не вдалоÑÑ Ñкопіювати заголовок програ
msgid "cannot copy section header: %s"
msgstr "не вдалоÑÑ Ñкопіювати заголовок розділу: %s"
-#: src/unstrip.c:285 src/unstrip.c:1541
+#: src/unstrip.c:285 src/unstrip.c:1576
#, c-format
msgid "cannot get section data: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу: %s"
-#: src/unstrip.c:287 src/unstrip.c:1543
+#: src/unstrip.c:287 src/unstrip.c:1578
#, c-format
msgid "cannot copy section data: %s"
msgstr "не вдалоÑÑ Ñкопіювати дані розділу: %s"
@@ -6921,138 +7025,138 @@ msgstr "не вдалоÑÑ Ñкопіювати дані розділу: %s"
msgid "cannot create directory '%s'"
msgstr "не вдалоÑÑ Ñтворити каталог «%s»"
-#: src/unstrip.c:351 src/unstrip.c:768 src/unstrip.c:1575
+#: src/unstrip.c:383 src/unstrip.c:803 src/unstrip.c:1610
#, c-format
msgid "cannot get symbol table entry: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñимволів: %s"
-#: src/unstrip.c:367 src/unstrip.c:585 src/unstrip.c:606 src/unstrip.c:618
-#: src/unstrip.c:1596 src/unstrip.c:1769 src/unstrip.c:1793
+#: src/unstrip.c:399 src/unstrip.c:620 src/unstrip.c:641 src/unstrip.c:653
+#: src/unstrip.c:1631 src/unstrip.c:1805 src/unstrip.c:1829
#, c-format
msgid "cannot update symbol table: %s"
msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ таблицю Ñимволів: %s"
-#: src/unstrip.c:377
+#: src/unstrip.c:409
#, c-format
msgid "cannot update section header: %s"
msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ заголовок розділу: %s"
-#: src/unstrip.c:416 src/unstrip.c:427
+#: src/unstrip.c:448 src/unstrip.c:459
#, c-format
msgid "cannot update relocation: %s"
msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ переÑуваннÑ: %s"
-#: src/unstrip.c:514
+#: src/unstrip.c:547
#, c-format
msgid "cannot get symbol version: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ верÑÑ–ÑŽ Ñимволу: %s"
-#: src/unstrip.c:526
+#: src/unstrip.c:560
#, c-format
msgid "unexpected section type in [%zu] with sh_link to symtab"
msgstr "неочікуваний тип розділу у [%zu] з поÑиланнÑм sh_link на symtab"
-#: src/unstrip.c:774
+#: src/unstrip.c:809
#, c-format
msgid "invalid string offset in symbol [%zu]"
msgstr "некоректне Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ€Ñдка у Ñимволі [%zu]"
-#: src/unstrip.c:932 src/unstrip.c:1278
+#: src/unstrip.c:967 src/unstrip.c:1313
#, c-format
msgid "cannot read section [%zu] name: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ назву розділу [%zu]: %s"
-#: src/unstrip.c:973 src/unstrip.c:992 src/unstrip.c:1027
+#: src/unstrip.c:1008 src/unstrip.c:1027 src/unstrip.c:1062
#, c-format
msgid "cannot read '.gnu.prelink_undo' section: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ розділ «.gnu.prelink_undo»: %s"
-#: src/unstrip.c:1013
+#: src/unstrip.c:1048
#, c-format
msgid "invalid contents in '%s' section"
msgstr "некоректний вміÑÑ‚ розділу «%s»"
-#: src/unstrip.c:1019
+#: src/unstrip.c:1054
#, c-format
msgid "overflow with shnum = %zu in '%s' section"
msgstr ""
-#: src/unstrip.c:1073 src/unstrip.c:1398
+#: src/unstrip.c:1108 src/unstrip.c:1433
#, c-format
msgid "cannot find matching section for [%zu] '%s'"
msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ відповідний розділ Ð´Ð»Ñ [%zu] «%s»"
-#: src/unstrip.c:1198 src/unstrip.c:1213 src/unstrip.c:1479 src/unstrip.c:1731
+#: src/unstrip.c:1233 src/unstrip.c:1248 src/unstrip.c:1514 src/unstrip.c:1766
#, c-format
msgid "cannot add section name to string table: %s"
msgstr "не вдалоÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ назву розділу до таблиці Ñ€Ñдків: %s"
-#: src/unstrip.c:1222
+#: src/unstrip.c:1257
#, c-format
msgid "cannot update section header string table data: %s"
msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ дані заголовка розділу у таблиці Ñ€Ñдків: %s"
-#: src/unstrip.c:1249 src/unstrip.c:1253
+#: src/unstrip.c:1284 src/unstrip.c:1288
#, c-format
msgid "cannot get section header string table section index: %s"
msgstr ""
"не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ заголовка розділу у таблиці Ñ€Ñдків: %s"
-#: src/unstrip.c:1257 src/unstrip.c:1261 src/unstrip.c:1494
+#: src/unstrip.c:1292 src/unstrip.c:1296 src/unstrip.c:1529
#, c-format
msgid "cannot get section count: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ кількіÑÑ‚ÑŒ розділів: %s"
-#: src/unstrip.c:1264
+#: src/unstrip.c:1299
#, c-format
msgid "more sections in stripped file than debug file -- arguments reversed?"
msgstr ""
"у очищеному файлі більше розділів ніж у файлі з даними Ð´Ð»Ñ Ð·Ð½ÐµÐ²Ð°Ð´Ð¶ÑƒÐ²Ð°Ð½Ð½Ñ â€” "
"помилковий порÑдок параметрів?"
-#: src/unstrip.c:1323 src/unstrip.c:1413
+#: src/unstrip.c:1358 src/unstrip.c:1448
#, c-format
msgid "cannot read section header string table: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ таблицю Ñ€Ñдків заголовка розділу: %s"
-#: src/unstrip.c:1473
+#: src/unstrip.c:1508
#, c-format
msgid "cannot add new section: %s"
msgstr "не вдалоÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ новий розділ: %s"
-#: src/unstrip.c:1583
+#: src/unstrip.c:1618
#, c-format
msgid "symbol [%zu] has invalid section index"
msgstr "Ñимвол [%zu] має некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ"
-#: src/unstrip.c:1864
+#: src/unstrip.c:1900
#, c-format
msgid "cannot read section data: %s"
msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ дані розділу: %s"
-#: src/unstrip.c:1885
+#: src/unstrip.c:1921
#, c-format
msgid "cannot get ELF header: %s"
msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок ELF: %s"
-#: src/unstrip.c:1917
+#: src/unstrip.c:1953
#, c-format
msgid "cannot update program header: %s"
msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ заголовок програми: %s"
-#: src/unstrip.c:1922 src/unstrip.c:2005
+#: src/unstrip.c:1958 src/unstrip.c:2040
#, c-format
msgid "cannot write output file: %s"
msgstr "не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати файл виведених даних: %s"
-#: src/unstrip.c:1974
+#: src/unstrip.c:2009
#, c-format
msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
msgstr ""
"Дані DWARF не Ñкориговано відповідно до Ð²Ñ–Ð´Ñ…Ð¸Ð»ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ´ компонуваннÑм; "
"Ñпробуйте виправити це командою prelink -u"
-#: src/unstrip.c:1977
+#: src/unstrip.c:2012
#, c-format
msgid ""
"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
@@ -7060,76 +7164,76 @@ msgstr ""
"Дані DWARF у «%s» не Ñкориговано відповідно до Ð²Ñ–Ð´Ñ…Ð¸Ð»ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ´ "
"компонуваннÑм; Ñпробуйте виправити це командою prelink -u"
-#: src/unstrip.c:1996 src/unstrip.c:2047 src/unstrip.c:2059 src/unstrip.c:2145
+#: src/unstrip.c:2031 src/unstrip.c:2082 src/unstrip.c:2094 src/unstrip.c:2180
#, c-format
msgid "cannot create ELF descriptor: %s"
msgstr "не вдалоÑÑ Ñтворити деÑкриптор ELF: %s"
-#: src/unstrip.c:2038
+#: src/unstrip.c:2073
msgid "WARNING: "
msgstr "УВÐГÐ: "
-#: src/unstrip.c:2040
+#: src/unstrip.c:2075
msgid ", use --force"
msgstr ", ÑкориÑтайтеÑÑ --force"
-#: src/unstrip.c:2063
+#: src/unstrip.c:2098
msgid "ELF header identification (e_ident) different"
msgstr "Різні ідентифікатори заголовків ELF (e_ident)"
-#: src/unstrip.c:2066
+#: src/unstrip.c:2101
msgid "ELF header type (e_type) different"
msgstr "Різні типи заголовків ELF (e_type)"
-#: src/unstrip.c:2069
+#: src/unstrip.c:2104
msgid "ELF header machine type (e_machine) different"
msgstr "Різні типи архітектур заголовків ELF (e_machine)"
-#: src/unstrip.c:2072
+#: src/unstrip.c:2107
msgid "stripped program header (e_phnum) smaller than unstripped"
msgstr "очищений заголовок програми (e_phnum) є меншим за неочищений"
-#: src/unstrip.c:2102
+#: src/unstrip.c:2137
#, c-format
msgid "cannot find stripped file for module '%s': %s"
msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ очищений файл Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»: %s"
-#: src/unstrip.c:2106
+#: src/unstrip.c:2141
#, c-format
msgid "cannot open stripped file '%s' for module '%s': %s"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ очищений файл «%s» Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»: %s"
-#: src/unstrip.c:2121
+#: src/unstrip.c:2156
#, c-format
msgid "cannot find debug file for module '%s': %s"
msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ файл діагноÑтичних даних Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»: %s"
-#: src/unstrip.c:2125
+#: src/unstrip.c:2160
#, c-format
msgid "cannot open debug file '%s' for module '%s': %s"
msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл діагноÑтичних даних «%s» Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»: %s"
-#: src/unstrip.c:2138
+#: src/unstrip.c:2173
#, c-format
msgid "module '%s' file '%s' is not stripped"
msgstr "у модулі «%s» файл «%s» не очищено strip"
-#: src/unstrip.c:2169
+#: src/unstrip.c:2204
#, c-format
msgid "cannot cache section addresses for module '%s': %s"
msgstr "не вдалоÑÑ ÐºÐµÑˆÑƒÐ²Ð°Ñ‚Ð¸ адреÑи розділів Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»: %s"
-#: src/unstrip.c:2302
+#: src/unstrip.c:2337
#, c-format
msgid "no matching modules found"
msgstr "відповідних модулів не виÑвлено"
-#: src/unstrip.c:2311
+#: src/unstrip.c:2346
#, c-format
msgid "matched more than one module"
msgstr "вÑтановлено відповідніÑÑ‚ÑŒ декількох модулів"
-#: src/unstrip.c:2355
+#: src/unstrip.c:2390
msgid ""
"STRIPPED-FILE DEBUG-FILE\n"
"[MODULE...]"
@@ -7137,7 +7241,7 @@ msgstr ""
"ОЧИЩЕÐИЙ-ФÐЙЛ ФÐЙЛ-DEBUG\n"
"[МОДУЛЬ...]"
-#: src/unstrip.c:2356
+#: src/unstrip.c:2391
msgid ""
"Combine stripped files with separate symbols and debug information.\vThe "
"first form puts the result in DEBUG-FILE if -o was not given.\n"
diff --git a/src/ChangeLog b/src/ChangeLog
index b5b5e4a4..707c2717 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,52 @@
+2016-01-13 Mark Wielaard <mjw@redhat.com>
+
+ * elflint.c (check_elf_header): Recognize ELFOSABI_FREEBSD.
+
+2016-01-08 Mark Wielaard <mjw@redhat.com>
+
+ * elfcompress.c (compress_section): Use %zu to print size_t.
+ * readelf.c (print_shdr): Use %zx to print size_t.
+
+2015-12-16 Mark Wielaard <mjw@redhat.com>
+
+ * elfcompress.c: New file.
+ * Makefile.am (bin_PROGRAMS): Add elfcompress.
+ (elfcompress_LDADD): New variable.
+
+2015-12-18 Mark Wielaard <mjw@redhat.com>
+
+ * elflint.c (section_flags_string): Add NEWFLAG COMPRESSED.
+ (check_sections): SHF_COMPRESSED can be on any special section.
+ SHF_COMPRESSED is a valid section flag. SHF_COMPRESSED cannot
+ be used together with SHF_ALLOC or with SHT_NOBITS. Should have
+ a valid Chdr.
+
+2015-10-20 Mark Wielaard <mjw@redhat.com>
+
+ * readelf.c (options): Expand -z help text.
+ (dump_data_section): Check whether we need and can decompress section
+ data and call elf_rawzdata if so,
+ (print_string_section): Likewise.
+ (elf_contains_chdrs): New function.
+ (process_elf_file): Rename print_unrelocated to print_unchanged,
+ use elf_contains_chdrs.
+ (print_scngrp): Check whether section is compressed before use.
+ (print_symtab): Likewise.
+ (handle_hash): Likewise.
+
+2015-10-16 Mark Wielaard <mjw@redhat.com>
+
+ * readelf.c (argp_option): Describe --decompress,-z.
+ (print_decompress): New bool.
+ (parse_opt): Handle -z.
+ (elf_ch_type_name): New function.
+ (print_shdr): Print section compress information.
+
+2015-12-31 Mark Wielaard <mjw@redhat.com>
+
+ * elflint.c (check_symtab): Add _edata and _end (plus extra underscore
+ variants) to to the list of possibly dangling symbols.
+
2015-12-02 Mark Wielaard <mjw@redhat.com>
* nm.c (process_file): Accept fd and pass it on.
diff --git a/src/Makefile.am b/src/Makefile.am
index e2c494c0..a39df279 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -35,7 +35,7 @@ native_ld = @native_ld@
base_cpu = @base_cpu@
bin_PROGRAMS = readelf nm size strip ld elflint findtextrel addr2line \
- elfcmp objdump ranlib strings ar unstrip stack
+ elfcmp objdump ranlib strings ar unstrip stack elfcompress
ld_dsos = libld_elf_i386_pic.a
@@ -125,6 +125,7 @@ strings_LDADD = $(libelf) $(libeu) $(argp_LDADD)
ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD)
unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl
stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl $(demanglelib)
+elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD)
ldlex.o: ldscript.c
ldlex_no_Werror = yes
diff --git a/src/elfcompress.c b/src/elfcompress.c
new file mode 100644
index 00000000..23939db8
--- /dev/null
+++ b/src/elfcompress.c
@@ -0,0 +1,1321 @@
+/* Compress or decompress an ELF file.
+ Copyright (C) 2015 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/>. */
+
+#include <config.h>
+#include <assert.h>
+#include <argp.h>
+#include <error.h>
+#include <stdbool.h>
+#include <stdlib.h>
+#include <inttypes.h>
+#include <stdio.h>
+#include <string.h>
+#include <locale.h>
+#include <fcntl.h>
+#include <fnmatch.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <unistd.h>
+#include ELFUTILS_HEADER(elf)
+#include ELFUTILS_HEADER(ebl)
+#include <gelf.h>
+#include "system.h"
+
+/* Name and version of program. */
+static void print_version (FILE *stream, struct argp_state *state);
+ARGP_PROGRAM_VERSION_HOOK_DEF = print_version;
+
+/* Bug report address. */
+ARGP_PROGRAM_BUG_ADDRESS_DEF = PACKAGE_BUGREPORT;
+
+static int verbose = 0; /* < 0, no warnings, > 0 extra verbosity. */
+static bool force = false;
+static bool permissive = false;
+static const char *foutput = NULL;
+
+#define T_UNSET 0
+#define T_DECOMPRESS 1 /* none */
+#define T_COMPRESS_ZLIB 2 /* zlib */
+#define T_COMPRESS_GNU 3 /* zlib-gnu */
+static int type = T_UNSET;
+
+static void
+print_version (FILE *stream, struct argp_state *state __attribute__ ((unused)))
+{
+ fprintf (stream, "elfcompress (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION);
+}
+
+struct section_pattern
+{
+ char *pattern;
+ struct section_pattern *next;
+};
+
+static struct section_pattern *patterns = NULL;
+
+static void
+add_pattern (const char *pattern)
+{
+ struct section_pattern *p = xmalloc (sizeof *p);
+ p->pattern = xstrdup (pattern);
+ p->next = patterns;
+ patterns = p;
+}
+
+static void
+free_patterns (void)
+{
+ struct section_pattern *pattern = patterns;
+ while (pattern != NULL)
+ {
+ struct section_pattern *p = pattern;
+ pattern = p->next;
+ free (p->pattern);
+ free (p);
+ }
+}
+
+static error_t
+parse_opt (int key, char *arg __attribute__ ((unused)),
+ struct argp_state *state __attribute__ ((unused)))
+{
+ switch (key)
+ {
+ case 'v':
+ verbose++;
+ break;
+
+ case 'q':
+ verbose--;
+
+ case 'f':
+ force = true;
+ break;
+
+ case 'p':
+ permissive = true;
+ break;
+
+ case 'n':
+ add_pattern (arg);
+ break;
+
+ case 'o':
+ if (foutput != NULL)
+ argp_error (state, N_("-o option specified twice"));
+ else
+ foutput = arg;
+ break;
+
+ case 't':
+ if (type != T_UNSET)
+ argp_error (state, N_("-t option specified twice"));
+
+ if (strcmp ("none", arg) == 0)
+ type = T_DECOMPRESS;
+ else if (strcmp ("zlib", arg) == 0 || strcmp ("zlib-gabi", arg) == 0)
+ type = T_COMPRESS_ZLIB;
+ else if (strcmp ("zlib-gnu", arg) == 0 || strcmp ("gnu", arg) == 0)
+ type = T_COMPRESS_GNU;
+ else
+ argp_error (state, N_("unknown compression type '%s'"), arg);
+ break;
+
+ case ARGP_KEY_SUCCESS:
+ if (type == T_UNSET)
+ type = T_COMPRESS_ZLIB;
+ if (patterns == NULL)
+ add_pattern (".?(z)debug*");
+ break;
+
+ case ARGP_KEY_NO_ARGS:
+ /* We need at least one input file. */
+ argp_error (state, N_("No input file given"));
+ break;
+
+ case ARGP_KEY_ARGS:
+ if (foutput != NULL && state->argc - state->next > 1)
+ argp_error (state,
+ N_("Only one input file allowed together with '-o'"));
+ /* We only use this for checking the number of arguments, we don't
+ actually want to consume them, so fallthrough. */
+ default:
+ return ARGP_ERR_UNKNOWN;
+ }
+ return 0;
+}
+
+static bool
+section_name_matches (const char *name)
+{
+ struct section_pattern *pattern = patterns;
+ while (pattern != NULL)
+ {
+ if (fnmatch (pattern->pattern, name, FNM_EXTMATCH) == 0)
+ return true;
+ pattern = pattern->next;
+ }
+ return false;
+}
+
+static int
+setshdrstrndx (Elf *elf, GElf_Ehdr *ehdr, size_t ndx)
+{
+ if (ndx < SHN_LORESERVE)
+ ehdr->e_shstrndx = ndx;
+ else
+ {
+ ehdr->e_shstrndx = SHN_XINDEX;
+ Elf_Scn *zscn = elf_getscn (elf, 0);
+ GElf_Shdr zshdr_mem;
+ GElf_Shdr *zshdr = gelf_getshdr (zscn, &zshdr_mem);
+ if (zshdr == NULL)
+ return -1;
+ zshdr->sh_link = ndx;
+ if (gelf_update_shdr (zscn, zshdr) == 0)
+ return -1;
+ }
+
+ if (gelf_update_ehdr (elf, ehdr) == 0)
+ return -1;
+
+ return 0;
+}
+
+static int
+compress_section (Elf_Scn *scn, size_t orig_size, const char *name,
+ const char *newname, size_t ndx,
+ bool gnu, bool compress, bool report_verbose)
+{
+ int res;
+ unsigned int flags = compress && force ? ELF_CHF_FORCE : 0;
+ if (gnu)
+ res = elf_compress_gnu (scn, compress ? 1 : 0, flags);
+ else
+ res = elf_compress (scn, compress ? ELFCOMPRESS_ZLIB : 0, flags);
+
+ if (res < 0)
+ error (0, 0, "Couldn't decompress section [%zd] %s: %s",
+ ndx, name, elf_errmsg (-1));
+ else
+ {
+ if (compress && res == 0)
+ {
+ if (verbose >= 0)
+ printf ("[%zd] %s NOT compressed, wouldn't be smaller\n",
+ ndx, name);
+ }
+
+ if (report_verbose && res > 0)
+ {
+ printf ("[%zd] %s %s", ndx, name,
+ compress ? "compressed" : "decompressed");
+ if (newname != NULL)
+ printf (" -> %s", newname);
+
+ /* Reload shdr, it has changed. */
+ GElf_Shdr shdr_mem;
+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
+ if (shdr == NULL)
+ {
+ error (0, 0, "Couldn't get shdr for section [%zd]", ndx);
+ return -1;
+ }
+ float new = shdr->sh_size;
+ float orig = orig_size ?: 1;
+ printf (" (%zu => %" PRIu64 " %.2f%%)\n",
+ orig_size, shdr->sh_size, (new / orig) * 100);
+ }
+ }
+
+ return res;
+}
+
+static int
+process_file (const char *fname)
+{
+ if (verbose > 0)
+ printf ("processing: %s\n", fname);
+
+ /* The input ELF. */
+ int fd = -1;
+ Elf *elf = NULL;
+
+ /* The output ELF. */
+ char *fnew = NULL;
+ int fdnew = -1;
+ Elf *elfnew = NULL;
+
+ /* Buffer for (one) new section name if necessary. */
+ char *snamebuf = NULL;
+
+ /* String table (and symbol table), if section names need adjusting. */
+ struct Ebl_Strtab *names = NULL;
+ struct Ebl_Strent **scnstrents = NULL;
+ struct Ebl_Strent **symstrents = NULL;
+ char **scnnames = NULL;
+
+ /* Section data from names. */
+ void *namesbuf = NULL;
+
+ /* Which sections match and need to be (un)compressed. */
+ unsigned int *sections = NULL;
+
+ /* How many sections are we talking about? */
+ size_t shnum = 0;
+
+#define WORD_BITS (8U * sizeof (unsigned int))
+ void set_section (size_t ndx)
+ {
+ sections[ndx / WORD_BITS] |= (1U << (ndx % WORD_BITS));
+ }
+
+ bool get_section (size_t ndx)
+ {
+ return (sections[ndx / WORD_BITS] & (1U << (ndx % WORD_BITS))) != 0;
+ }
+
+ int cleanup (int res)
+ {
+ elf_end (elf);
+ close (fd);
+
+ elf_end (elfnew);
+ close (fdnew);
+
+ if (fnew != NULL)
+ {
+ unlink (fnew);
+ free (fnew);
+ fnew = NULL;
+ }
+
+ free (snamebuf);
+ if (names != NULL)
+ {
+ ebl_strtabfree (names);
+ free (scnstrents);
+ free (symstrents);
+ free (namesbuf);
+ if (scnnames != NULL)
+ {
+ for (size_t n = 0; n < shnum; n++)
+ free (scnnames[n]);
+ free (scnnames);
+ }
+ }
+
+ free (sections);
+
+ return res;
+ }
+
+ fd = open (fname, O_RDONLY);
+ if (fd < 0)
+ {
+ error (0, errno, "Couldn't open %s\n", fname);
+ return cleanup (-1);
+ }
+
+ elf = elf_begin (fd, ELF_C_READ, NULL);
+ if (elf == NULL)
+ {
+ error (0, 0, "Couldn't open ELF file %s for reading: %s",
+ fname, elf_errmsg (-1));
+ return cleanup (-1);
+ }
+
+ /* We dont' handle ar files (or anything else), we probably should. */
+ Elf_Kind kind = elf_kind (elf);
+ if (kind != ELF_K_ELF)
+ {
+ if (kind == ELF_K_AR)
+ error (0, 0, "Cannot handle ar files: %s", fname);
+ else
+ error (0, 0, "Unknown file type: %s", fname);
+ return cleanup (-1);
+ }
+
+ struct stat st;
+ if (fstat (fd, &st) != 0)
+ {
+ error (0, errno, "Couldn't fstat %s", fname);
+ return cleanup (-1);
+ }
+
+ GElf_Ehdr ehdr;
+ if (gelf_getehdr (elf, &ehdr) == NULL)
+ {
+ error (0, 0, "Couldn't get ehdr for %s: %s", fname, elf_errmsg (-1));
+ return cleanup (-1);
+ }
+
+ /* Get the section header string table. */
+ size_t shdrstrndx;
+ if (elf_getshdrstrndx (elf, &shdrstrndx) != 0)
+ {
+ error (0, 0, "Couldn't get section header string table index in %s: %s",
+ fname, elf_errmsg (-1));
+ return cleanup (-1);
+ }
+
+ /* How many sections are we talking about? */
+ if (elf_getshdrnum (elf, &shnum) != 0)
+ {
+ error (0, 0, "Couldn't get number of sections in %s: %s",
+ fname, elf_errmsg (1));
+ return cleanup (-1);
+ }
+
+ if (shnum == 0)
+ {
+ error (0, 0, "ELF file %s has no sections", fname);
+ return cleanup (-1);
+ }
+
+ sections = xcalloc (shnum / 8 + 1, sizeof (unsigned int));
+
+ size_t phnum;
+ if (elf_getphdrnum (elf, &phnum) != 0)
+ {
+ error (0, 0, "Couldn't get phdrnum: %s", elf_errmsg (-1));
+ return cleanup (-1);
+ }
+
+ /* Whether we need to adjust any section names (going to/from GNU
+ naming). If so we'll need to build a new section header string
+ table. */
+ bool adjust_names = false;
+
+ /* If there are phdrs we want to maintain the layout of the
+ allocated sections in the file. */
+ bool layout = phnum != 0;
+
+ /* While going through all sections keep track of last section data
+ offset if needed to keep the layout. We are responsible for
+ adding the section offsets and headers (e_shoff) in that case
+ (which we will place after the last section). */
+ GElf_Off last_offset = 0;
+ if (layout)
+ last_offset = (ehdr.e_phoff
+ + gelf_fsize (elf, ELF_T_PHDR, phnum, EV_CURRENT));
+
+ /* Which section, if any, is a symbol table that shares a string
+ table with the section header string table? */
+ size_t symtabndx = 0;
+
+ /* We do three passes over all sections.
+
+ First an inspection pass over the old Elf to see which section
+ data needs to be copied and/or transformed, which sections need a
+ names change and whether there is a symbol table that might need
+ to be adjusted be if the section header name table is changed.
+
+ Second a collection pass that creates the Elf sections and copies
+ the data. This pass will compress/decompress section data when
+ needed. And it will collect all data needed if we'll need to
+ construct a new string table. Afterwards the new string table is
+ constructed.
+
+ Third a fixup/adjustment pass over the new Elf that will adjust
+ any section references (names) and adjust the layout based on the
+ new sizes of the sections if necessary. This pass is optional if
+ we aren't responsible for the layout and the section header
+ string table hasn't been changed. */
+
+ /* Inspection pass. */
+ size_t maxnamelen = 0;
+ Elf_Scn *scn = NULL;
+ while ((scn = elf_nextscn (elf, scn)) != NULL)
+ {
+ size_t ndx = elf_ndxscn (scn);
+ if (ndx > shnum)
+ {
+ error (0, 0, "Unexpected section number %zd, expected only %zd",
+ ndx, shnum);
+ cleanup (-1);
+ }
+
+ GElf_Shdr shdr_mem;
+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
+ if (shdr == NULL)
+ {
+ error (0, 0, "Couldn't get shdr for section %zd", ndx);
+ return cleanup (-1);
+ }
+
+ const char *sname = elf_strptr (elf, shdrstrndx, shdr->sh_name);
+ if (sname == NULL)
+ {
+ error (0, 0, "Couldn't get name for section %zd", ndx);
+ return cleanup (-1);
+ }
+
+ if (section_name_matches (sname))
+ {
+ if (shdr->sh_type != SHT_NOBITS
+ && (shdr->sh_flags & SHF_ALLOC) == 0)
+ {
+ set_section (ndx);
+ /* Check if we might want to change this section name. */
+ if (! adjust_names
+ && ((type != T_COMPRESS_GNU
+ && strncmp (sname, ".zdebug",
+ strlen (".zdebug")) == 0)
+ || (type == T_COMPRESS_GNU
+ && strncmp (sname, ".debug",
+ strlen (".debug")) == 0)))
+ adjust_names = true;
+
+ /* We need a buffer this large if we change the names. */
+ if (adjust_names)
+ {
+ size_t slen = strlen (sname);
+ if (slen > maxnamelen)
+ maxnamelen = slen;
+ }
+ }
+ else
+ if (verbose >= 0)
+ printf ("[%zd] %s ignoring %s section\n", ndx, sname,
+ (shdr->sh_type == SHT_NOBITS ? "no bits" : "allocated"));
+ }
+
+ if (shdr->sh_type == SHT_SYMTAB)
+ {
+ /* Check if we might have to adjust the symbol name indexes. */
+ if (shdr->sh_link == shdrstrndx)
+ {
+ if (symtabndx != 0)
+ {
+ error (0, 0,
+ "Multiple symbol tables (%zd, %zd) using the same string table unsupported", symtabndx, ndx);
+ return cleanup (-1);
+ }
+ symtabndx = ndx;
+ }
+ }
+
+ /* Keep track of last allocated data offset. */
+ if (layout)
+ if ((shdr->sh_flags & SHF_ALLOC) != 0)
+ {
+ GElf_Off off = shdr->sh_offset + (shdr->sh_type != SHT_NOBITS
+ ? shdr->sh_size : 0);
+ if (last_offset < off)
+ last_offset = off;
+ }
+ }
+
+ if (adjust_names)
+ {
+ names = ebl_strtabinit (true);
+ if (names == NULL)
+ {
+ error (0, 0, "Not enough memory for new strtab");
+ return cleanup (-1);
+ }
+ scnstrents = xmalloc (shnum
+ * sizeof (struct Ebl_Strent *));
+ scnnames = xcalloc (shnum, sizeof (char *));
+ }
+
+ /* Create a new (temporary) ELF file for the result. */
+ if (foutput == NULL)
+ {
+ size_t fname_len = strlen (fname);
+ fnew = xmalloc (fname_len + sizeof (".XXXXXX"));
+ strcpy (mempcpy (fnew, fname, fname_len), ".XXXXXX");
+ fdnew = mkstemp (fnew);
+ }
+ else
+ {
+ fnew = xstrdup (foutput);
+ fdnew = open (fnew, O_WRONLY | O_CREAT, st.st_mode & ALLPERMS);
+ }
+
+ if (fdnew < 0)
+ {
+ error (0, errno, "Couldn't create output file %s", fnew);
+ /* Since we didn't create it we don't want to try to unlink it. */
+ free (fnew);
+ fnew = NULL;
+ return cleanup (-1);
+ }
+
+ elfnew = elf_begin (fdnew, ELF_C_WRITE, NULL);
+ if (elfnew == NULL)
+ {
+ error (0, 0, "Couldn't open new ELF %s for writing: %s",
+ fnew, elf_errmsg (-1));
+ return cleanup (-1);
+ }
+
+ /* Create the new ELF header and copy over all the data. */
+ if (gelf_newehdr (elfnew, gelf_getclass (elf)) == 0)
+ {
+ error (0, 0, "Couldn't create new ehdr: %s", elf_errmsg (-1));
+ return cleanup (-1);
+ }
+
+ GElf_Ehdr newehdr;
+ if (gelf_getehdr (elfnew, &newehdr) == NULL)
+ {
+ error (0, 0, "Couldn't get new ehdr: %s", elf_errmsg (-1));
+ return cleanup (-1);
+ }
+
+ newehdr.e_ident[EI_DATA] = ehdr.e_ident[EI_DATA];
+ newehdr.e_type = ehdr.e_type;
+ newehdr.e_machine = ehdr.e_machine;
+ newehdr.e_version = ehdr.e_version;
+ newehdr.e_entry = ehdr.e_entry;
+ newehdr.e_flags = ehdr.e_flags;
+
+ if (gelf_update_ehdr (elfnew, &newehdr) == 0)
+ {
+ error (0, 0, "Couldn't update ehdr: %s", elf_errmsg (-1));
+ return cleanup (-1);
+ }
+
+ /* Copy over the phdrs as is. */
+ if (phnum != 0)
+ {
+ if (gelf_newphdr (elfnew, phnum) == 0)
+ {
+ error (0, 0, "Couldn't create phdrs: %s", elf_errmsg (-1));
+ return cleanup (-1);
+ }
+
+ for (size_t cnt = 0; cnt < phnum; ++cnt)
+ {
+ GElf_Phdr phdr_mem;
+ GElf_Phdr *phdr = gelf_getphdr (elf, cnt, &phdr_mem);
+ if (phdr == NULL)
+ {
+ error (0, 0, "Couldn't get phdr %zd: %s", cnt, elf_errmsg (-1));
+ return cleanup (-1);
+ }
+ if (gelf_update_phdr (elfnew, cnt, phdr) == 0)
+ {
+ error (0, 0, "Couldn't create phdr %zd: %s", cnt,
+ elf_errmsg (-1));
+ return cleanup (-1);
+ }
+ }
+ }
+
+ /* Possibly add a 'z' and zero terminator. */
+ if (maxnamelen > 0)
+ snamebuf = xmalloc (maxnamelen + 2);
+
+ /* We might want to read/adjust the section header strings and
+ symbol tables. If so, and those sections are to be compressed
+ then we will have to decompress it during the collection pass and
+ compress it again in the fixup pass. Don't compress unnecessary
+ and keep track of whether or not to compress them (later in the
+ fixup pass). Also record the original size, so we can report the
+ difference later when we do compress. */
+ int shstrtab_compressed = T_UNSET;
+ size_t shstrtab_size = 0;
+ char *shstrtab_name = NULL;
+ char *shstrtab_newname = NULL;
+ int symtab_compressed = T_UNSET;
+ size_t symtab_size = 0;
+ char *symtab_name = NULL;
+ char *symtab_newname = NULL;
+
+ /* Collection pass. Copy over the sections, (de)compresses matching
+ sections, collect names of sections and symbol table if
+ necessary. */
+ scn = NULL;
+ while ((scn = elf_nextscn (elf, scn)) != NULL)
+ {
+ size_t ndx = elf_ndxscn (scn);
+ assert (ndx < shnum);
+
+ /* (de)compress if section matched. */
+ char *sname = NULL;
+ char *newname = NULL;
+ if (get_section (ndx))
+ {
+ GElf_Shdr shdr_mem;
+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
+ if (shdr == NULL)
+ {
+ error (0, 0, "Couldn't get shdr for section %zd", ndx);
+ return cleanup (-1);
+ }
+
+ uint64_t size = shdr->sh_size;
+ sname = elf_strptr (elf, shdrstrndx, shdr->sh_name);
+ if (sname == NULL)
+ {
+ error (0, 0, "Couldn't get name for section %zd", ndx);
+ return cleanup (-1);
+ }
+
+ /* strdup sname, the shdrstrndx section itself might be
+ (de)compressed, invalidating the string pointers. */
+ sname = xstrdup (sname);
+
+ /* We might want to decompress (and rename), but not
+ compress during this pass since we might need the section
+ data in later passes. Skip those sections for now and
+ compress them in the fixup pass. */
+ bool skip_compress_section = (adjust_names
+ && (ndx == shdrstrndx
+ || ndx == symtabndx));
+
+ switch (type)
+ {
+ case T_DECOMPRESS:
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+ {
+ if (compress_section (scn, size, sname, NULL, ndx,
+ false, false, verbose > 0) < 0)
+ return cleanup (-1);
+ }
+ else if (strncmp (sname, ".zdebug", strlen (".zdebug")) == 0)
+ {
+ snamebuf[0] = '.';
+ strcpy (&snamebuf[1], &sname[2]);
+ newname = snamebuf;
+ if (compress_section (scn, size, sname, newname, ndx,
+ true, false, verbose > 0) < 0)
+ return cleanup (-1);
+ }
+ else if (verbose > 0)
+ printf ("[%zd] %s already decompressed\n", ndx, sname);
+ break;
+
+ case T_COMPRESS_GNU:
+ if (strncmp (sname, ".debug", strlen (".debug")) == 0)
+ {
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+ {
+ /* First decompress to recompress GNU style.
+ Don't report even when verbose. */
+ if (compress_section (scn, size, sname, NULL, ndx,
+ false, false, false) < 0)
+ return cleanup (-1);
+ }
+
+ snamebuf[0] = '.';
+ snamebuf[1] = 'z';
+ strcpy (&snamebuf[2], &sname[1]);
+ newname = snamebuf;
+
+ if (skip_compress_section)
+ {
+ if (ndx == shdrstrndx)
+ {
+ shstrtab_size = size;
+ shstrtab_compressed = T_COMPRESS_GNU;
+ shstrtab_name = xstrdup (sname);
+ shstrtab_newname = xstrdup (newname);
+ }
+ else
+ {
+ symtab_size = size;
+ symtab_compressed = T_COMPRESS_GNU;
+ symtab_name = xstrdup (sname);
+ symtab_newname = xstrdup (newname);
+ }
+ }
+ else
+ {
+ int res = compress_section (scn, size, sname, newname,
+ ndx, true, true,
+ verbose > 0);
+ if (res < 0)
+ return cleanup (-1);
+
+ if (res == 0)
+ newname = NULL;
+ }
+ }
+ else if (verbose >= 0)
+ {
+ if (strncmp (sname, ".zdebug", strlen (".zdebug")) == 0)
+ printf ("[%zd] %s unchanged, already GNU compressed",
+ ndx, sname);
+ else
+ printf ("[%zd] %s cannot GNU compress section not starting with .debug\n",
+ ndx, sname);
+ }
+ break;
+
+ case T_COMPRESS_ZLIB:
+ if ((shdr->sh_flags & SHF_COMPRESSED) == 0)
+ {
+ if (strncmp (sname, ".zdebug", strlen (".zdebug")) == 0)
+ {
+ /* First decompress to recompress zlib style.
+ Don't report even when verbose. */
+ if (compress_section (scn, size, sname, NULL, ndx,
+ true, false, false) < 0)
+ return cleanup (-1);
+
+ snamebuf[0] = '.';
+ strcpy (&snamebuf[1], &sname[2]);
+ newname = snamebuf;
+ }
+
+ if (skip_compress_section)
+ {
+ if (ndx == shdrstrndx)
+ {
+ shstrtab_size = size;
+ shstrtab_compressed = T_COMPRESS_ZLIB;
+ shstrtab_name = xstrdup (sname);
+ shstrtab_newname = (newname == NULL
+ ? NULL : xstrdup (newname));
+ }
+ else
+ {
+ symtab_size = size;
+ symtab_compressed = T_COMPRESS_ZLIB;
+ symtab_name = xstrdup (sname);
+ symtab_newname = (newname == NULL
+ ? NULL : xstrdup (newname));
+ }
+ }
+ else if (compress_section (scn, size, sname, newname, ndx,
+ false, true, verbose > 0) < 0)
+ return cleanup (-1);
+ }
+ else if (verbose > 0)
+ printf ("[%zd] %s already compressed\n", ndx, sname);
+ break;
+ }
+
+ free (sname);
+ }
+
+ Elf_Scn *newscn = elf_newscn (elfnew);
+ if (newscn == NULL)
+ {
+ error (0, 0, "Couldn't create new section %zd", ndx);
+ return cleanup (-1);
+ }
+
+ GElf_Shdr shdr_mem;
+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
+ if (shdr == NULL)
+ {
+ error (0, 0, "Couldn't get shdr for section %zd", ndx);
+ return cleanup (-1);
+ }
+
+ if (gelf_update_shdr (newscn, shdr) == 0)
+ {
+ error (0, 0, "Couldn't update section header %zd", ndx);
+ return cleanup (-1);
+ }
+
+ /* Except for the section header string table all data can be
+ copied as is. The section header string table will be
+ created later and the symbol table might be fixed up if
+ necessary. */
+ if (! adjust_names || ndx != shdrstrndx)
+ {
+ Elf_Data *data = elf_getdata (scn, NULL);
+ if (data == NULL)
+ {
+ error (0, 0, "Couldn't get data from section %zd", ndx);
+ return cleanup (-1);
+ }
+
+ Elf_Data *newdata = elf_newdata (newscn);
+ if (newdata == NULL)
+ {
+ error (0, 0, "Couldn't create new data for section %zd", ndx);
+ return cleanup (-1);
+ }
+
+ *newdata = *data;
+ }
+
+ /* Keep track of the (new) section names. */
+ if (adjust_names)
+ {
+ char *name;
+ if (newname != NULL)
+ name = newname;
+ else
+ {
+ name = elf_strptr (elf, shdrstrndx, shdr->sh_name);
+ if (name == NULL)
+ {
+ error (0, 0, "Couldn't get name for section [%zd]", ndx);
+ return cleanup (-1);
+ }
+ }
+
+ /* We need to keep a copy of the name till the strtab is done. */
+ name = scnnames[ndx] = xstrdup (name);
+ if ((scnstrents[ndx] = ebl_strtabadd (names, name, 0)) == NULL)
+ {
+ error (0, 0, "No memory to add section name string table");
+ return cleanup (-1);
+ }
+
+ /* If the symtab shares strings then add those too. */
+ if (ndx == symtabndx)
+ {
+ /* If the section is (still) compressed we'll need to
+ uncompress it first to adjust the data, then
+ recompress it in the fixup pass. */
+ if (symtab_compressed == T_UNSET)
+ {
+ size_t size = shdr->sh_size;
+ if ((shdr->sh_flags == SHF_COMPRESSED) != 0)
+ {
+ /* Don't report the (internal) uncompression. */
+ if (compress_section (newscn, size, sname, NULL, ndx,
+ false, false, false) < 0)
+ return cleanup (-1);
+
+ symtab_size = size;
+ symtab_compressed = T_COMPRESS_ZLIB;
+ }
+ else if (strncmp (name, ".zdebug", strlen (".zdebug")) == 0)
+ {
+ /* Don't report the (internal) uncompression. */
+ if (compress_section (newscn, size, sname, NULL, ndx,
+ true, false, false) < 0)
+ return cleanup (-1);
+
+ symtab_size = size;
+ symtab_compressed = T_COMPRESS_GNU;
+ }
+ }
+
+ Elf_Data *symd = elf_getdata (newscn, NULL);
+ if (symd == NULL)
+ {
+ error (0, 0, "Couldn't get symtab data for section [%zd] %s",
+ ndx, name);
+ return cleanup (-1);
+ }
+ size_t elsize = gelf_fsize (elfnew, ELF_T_SYM, 1, EV_CURRENT);
+ size_t syms = symd->d_size / elsize;
+ symstrents = xmalloc (syms * sizeof (struct Ebl_Strent *));
+ for (size_t i = 0; i < syms; i++)
+ {
+ GElf_Sym sym_mem;
+ GElf_Sym *sym = gelf_getsym (symd, i, &sym_mem);
+ if (sym == NULL)
+ {
+ error (0, 0, "Couldn't get symbol %zd", i);
+ return cleanup (-1);
+ }
+ if (sym->st_name != 0)
+ {
+ /* Note we take the name from the original ELF,
+ since the new one will not have setup the
+ strtab yet. */
+ const char *symname = elf_strptr (elf, shdrstrndx,
+ sym->st_name);
+ if (symname == NULL)
+ {
+ error (0, 0, "Couldn't get symbol %zd name", i);
+ return cleanup (-1);
+ }
+ symstrents[i] = ebl_strtabadd (names, symname, 0);
+ if (symstrents[i] == NULL)
+ {
+ error (0, 0, "No memory to add to symbol name");
+ return cleanup (-1);
+ }
+ }
+ }
+ }
+ }
+ }
+
+ if (adjust_names)
+ {
+ /* We got all needed strings, put the new data in the shstrtab. */
+ if (verbose > 0)
+ printf ("[%zd] Updating section string table\n", shdrstrndx);
+
+ scn = elf_getscn (elfnew, shdrstrndx);
+ if (scn == NULL)
+ {
+ error (0, 0, "Couldn't get new section header string table [%zd]",
+ shdrstrndx);
+ return cleanup (-1);
+ }
+
+ Elf_Data *data = elf_newdata (scn);
+ if (data == NULL)
+ {
+ error (0, 0, "Couldn't create new section header string table data");
+ return cleanup (-1);
+ }
+ ebl_strtabfinalize (names, data);
+ namesbuf = data->d_buf;
+
+ GElf_Shdr shdr_mem;
+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
+ if (shdr == NULL)
+ {
+ error (0, 0, "Couldn't get shdr for new section strings %zd",
+ shdrstrndx);
+ return cleanup (-1);
+ }
+
+ /* Note that we also might have to compress and possibly set
+ sh_off below */
+ shdr->sh_name = ebl_strtaboffset (scnstrents[shdrstrndx]);
+ shdr->sh_type = SHT_STRTAB;
+ shdr->sh_flags = 0;
+ shdr->sh_addr = 0;
+ shdr->sh_offset = 0;
+ shdr->sh_size = data->d_size;
+ shdr->sh_link = SHN_UNDEF;
+ shdr->sh_info = SHN_UNDEF;
+ shdr->sh_addralign = 1;
+ shdr->sh_entsize = 0;
+
+ if (gelf_update_shdr (scn, shdr) == 0)
+ {
+ error (0, 0, "Couldn't update new section strings [%zd]",
+ shdrstrndx);
+ return cleanup (-1);
+ }
+
+ /* We might have to compress the data if the user asked us to,
+ or if the section was already compressed (and the user didn't
+ ask for decompression). Note somewhat identical code for
+ symtab below. */
+ if (shstrtab_compressed == T_UNSET)
+ {
+ /* The user didn't ask for compression, but maybe it was
+ compressed in the original ELF file. */
+ Elf_Scn *oldscn = elf_getscn (elf, shdrstrndx);
+ if (oldscn == NULL)
+ {
+ error (0, 0, "Couldn't get section header string table [%zd]",
+ shdrstrndx);
+ return cleanup (-1);
+ }
+
+ shdr = gelf_getshdr (oldscn, &shdr_mem);
+ if (shdr == NULL)
+ {
+ error (0, 0, "Couldn't get shdr for old section strings [%zd]",
+ shdrstrndx);
+ return cleanup (-1);
+ }
+
+ shstrtab_name = elf_strptr (elf, shdrstrndx, shdr->sh_name);
+ if (shstrtab_name == NULL)
+ {
+ error (0, 0, "Couldn't get name for old section strings [%zd]",
+ shdrstrndx);
+ return cleanup (-1);
+ }
+
+ shstrtab_size = shdr->sh_size;
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+ shstrtab_compressed = T_COMPRESS_ZLIB;
+ else if (strncmp (shstrtab_name, ".zdebug", strlen (".zdebug")) == 0)
+ shstrtab_compressed = T_COMPRESS_GNU;
+ }
+
+ /* Should we (re)compress? */
+ if (shstrtab_compressed != T_UNSET)
+ {
+ if (compress_section (scn, shstrtab_size, shstrtab_name,
+ shstrtab_newname, shdrstrndx,
+ shstrtab_compressed == T_COMPRESS_GNU,
+ true, verbose > 0) < 0)
+ return cleanup (-1);
+ }
+ }
+
+ /* Make sure to re-get the new ehdr. Adding phdrs and shdrs will
+ have changed it. */
+ if (gelf_getehdr (elfnew, &newehdr) == NULL)
+ {
+ error (0, 0, "Couldn't re-get new ehdr: %s", elf_errmsg (-1));
+ return cleanup (-1);
+ }
+
+ /* Set this after the sections have been created, otherwise section
+ zero might not exist yet. */
+ if (setshdrstrndx (elfnew, &newehdr, shdrstrndx) != 0)
+ {
+ error (0, 0, "Couldn't set new shdrstrndx: %s", elf_errmsg (-1));
+ return cleanup (-1);
+ }
+
+ /* Fixup pass. Adjust string table references, symbol table and
+ layout if necessary. */
+ if (layout || adjust_names)
+ {
+ scn = NULL;
+ while ((scn = elf_nextscn (elfnew, scn)) != NULL)
+ {
+ size_t ndx = elf_ndxscn (scn);
+
+ GElf_Shdr shdr_mem;
+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
+ if (shdr == NULL)
+ {
+ error (0, 0, "Couldn't get shdr for section %zd", ndx);
+ return cleanup (-1);
+ }
+
+ /* Keep the offset of allocated sections so they are at the
+ same place in the file. Add (possibly changed)
+ unallocated ones after the allocated ones. */
+ if ((shdr->sh_flags & SHF_ALLOC) == 0)
+ {
+ /* Zero means one. No alignment constraints. */
+ size_t addralign = shdr->sh_addralign ?: 1;
+ last_offset = (last_offset + addralign - 1) & ~(addralign - 1);
+ shdr->sh_offset = last_offset;
+ if (shdr->sh_type != SHT_NOBITS)
+ last_offset += shdr->sh_size;
+ }
+
+ if (adjust_names)
+ shdr->sh_name = ebl_strtaboffset (scnstrents[ndx]);
+
+ if (gelf_update_shdr (scn, shdr) == 0)
+ {
+ error (0, 0, "Couldn't update section header %zd", ndx);
+ return cleanup (-1);
+ }
+
+ if (adjust_names && ndx == symtabndx)
+ {
+ if (verbose > 0)
+ printf ("[%zd] Updating symbol table\n", symtabndx);
+
+ Elf_Data *symd = elf_getdata (scn, NULL);
+ if (symd == NULL)
+ {
+ error (0, 0, "Couldn't get new symtab data section [%zd]",
+ ndx);
+ return cleanup (-1);
+ }
+ size_t elsize = gelf_fsize (elfnew, ELF_T_SYM, 1, EV_CURRENT);
+ size_t syms = symd->d_size / elsize;
+ for (size_t i = 0; i < syms; i++)
+ {
+ GElf_Sym sym_mem;
+ GElf_Sym *sym = gelf_getsym (symd, i, &sym_mem);
+ if (sym == NULL)
+ {
+ error (0, 0, "2 Couldn't get symbol %zd", i);
+ return cleanup (-1);
+ }
+
+ if (sym->st_name != 0)
+ {
+ sym->st_name = ebl_strtaboffset (symstrents[i]);
+
+ if (gelf_update_sym (symd, i, sym) == 0)
+ {
+ error (0, 0, "Couldn't update symbol %zd", i);
+ return cleanup (-1);
+ }
+ }
+ }
+
+ /* We might have to compress the data if the user asked
+ us to, or if the section was already compressed (and
+ the user didn't ask for decompression). Note
+ somewhat identical code for shstrtab above. */
+ if (symtab_compressed == T_UNSET)
+ {
+ /* The user didn't ask for compression, but maybe it was
+ compressed in the original ELF file. */
+ Elf_Scn *oldscn = elf_getscn (elf, symtabndx);
+ if (oldscn == NULL)
+ {
+ error (0, 0, "Couldn't get symbol table [%zd]",
+ symtabndx);
+ return cleanup (-1);
+ }
+
+ shdr = gelf_getshdr (oldscn, &shdr_mem);
+ if (shdr == NULL)
+ {
+ error (0, 0, "Couldn't get old symbol table shdr [%zd]",
+ symtabndx);
+ return cleanup (-1);
+ }
+
+ symtab_name = elf_strptr (elf, shdrstrndx, shdr->sh_name);
+ if (symtab_name == NULL)
+ {
+ error (0, 0, "Couldn't get old symbol table name [%zd]",
+ symtabndx);
+ return cleanup (-1);
+ }
+
+ symtab_size = shdr->sh_size;
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+ symtab_compressed = T_COMPRESS_ZLIB;
+ else if (strncmp (symtab_name, ".zdebug",
+ strlen (".zdebug")) == 0)
+ symtab_compressed = T_COMPRESS_GNU;
+ }
+
+ /* Should we (re)compress? */
+ if (symtab_compressed != T_UNSET)
+ {
+ if (compress_section (scn, symtab_size, symtab_name,
+ symtab_newname, symtabndx,
+ symtab_compressed == T_COMPRESS_GNU,
+ true, verbose > 0) < 0)
+ return cleanup (-1);
+ }
+ }
+ }
+ }
+
+ /* If we have phdrs we want elf_update to layout the SHF_ALLOC
+ sections precisely as in the original file. In that case we are
+ also responsible for setting phoff and shoff */
+ if (layout)
+ {
+ if (gelf_getehdr (elfnew, &newehdr) == NULL)
+ {
+ error (0, 0, "Couldn't get ehdr: %s", elf_errmsg (-1));
+ return cleanup (-1);
+ }
+
+ /* Position the shdrs after the last (unallocated) section. */
+ const size_t offsize = gelf_fsize (elfnew, ELF_T_OFF, 1, EV_CURRENT);
+ newehdr.e_shoff = ((last_offset + offsize - 1)
+ & ~((GElf_Off) (offsize - 1)));
+
+ /* The phdrs go in the same place as in the original file.
+ Normally right after the ELF header. */
+ newehdr.e_phoff = ehdr.e_phoff;
+
+ if (gelf_update_ehdr (elfnew, &newehdr) == 0)
+ {
+ error (0, 0, "Couldn't update ehdr: %s", elf_errmsg (-1));
+ return cleanup (-1);
+ }
+ }
+
+ elf_flagelf (elfnew, ELF_C_SET, ((layout ? ELF_F_LAYOUT : 0)
+ | (permissive ? ELF_F_PERMISSIVE : 0)));
+
+ if (elf_update (elfnew, ELF_C_WRITE) < 0)
+ {
+ error (0, 0, "Couldn't write %s: %s", fnew, elf_errmsg (-1));
+ return cleanup (-1);
+ }
+
+ elf_end (elfnew);
+ elfnew = NULL;
+
+ /* Try to match mode and owner.group of the original file. */
+ if (fchmod (fdnew, st.st_mode & ALLPERMS) != 0)
+ if (verbose >= 0)
+ error (0, errno, "Couldn't fchmod %s", fnew);
+ if (fchown (fdnew, st.st_uid, st.st_gid) != 0)
+ if (verbose >= 0)
+ error (0, errno, "Couldn't fchown %s", fnew);
+
+ /* Finally replace the old file with the new file. */
+ if (foutput == NULL)
+ if (rename (fnew, fname) != 0)
+ {
+ error (0, errno, "Couldn't rename %s to %s", fnew, fname);
+ return cleanup (-1);
+ }
+
+ /* We are finally done with the new file, don't unlink it now. */
+ free (fnew);
+ fnew = NULL;
+
+ return cleanup (0);
+}
+
+int
+main (int argc, char **argv)
+{
+ const struct argp_option options[] =
+ {
+ { "output", 'o', "FILE", 0,
+ N_("Place (de)compressed output into FILE"),
+ 0 },
+ { "type", 't', "TYPE", 0,
+ N_("What type of compression to apply. TYPE can be 'none' (decompress), 'zlib' (ELF ZLIB compression, the default, 'zlib-gabi' is an alias) or 'zlib-gnu' (.zdebug GNU style compression, 'gnu' is an alias)"),
+ 0 },
+ { "name", 'n', "SECTION", 0,
+ N_("SECTION name to (de)compress, SECTION is an extended wildcard pattern (defaults to '.?(z)debug*')"),
+ 0 },
+ { "verbose", 'v', NULL, 0,
+ N_("Print a message for each section being (de)compressed"),
+ 0 },
+ { "force", 'f', NULL, 0,
+ N_("Force compression of section even if it would become larger"),
+ 0 },
+ { "permissive", 'p', NULL, 0,
+ N_("Relax a few rules to handle slightly broken ELF files"),
+ 0 },
+ { "quiet", 'q', NULL, 0,
+ N_("Be silent when a section cannot be compressed"),
+ 0 },
+ { NULL, 0, NULL, 0, NULL, 0 }
+ };
+
+ const struct argp argp =
+ {
+ .options = options,
+ .parser = parse_opt,
+ .args_doc = N_("FILE..."),
+ .doc = N_("Compress or decompress sections in an ELF file.")
+ };
+
+ int remaining;
+ if (argp_parse (&argp, argc, argv, 0, &remaining, NULL) != 0)
+ return EXIT_FAILURE;
+
+ /* Should already be handled by ARGP_KEY_NO_ARGS case above,
+ just sanity check. */
+ if (remaining >= argc)
+ error (EXIT_FAILURE, 0, N_("No input file given"));
+
+ /* Likewise for the ARGP_KEY_ARGS case above, an extra sanity check. */
+ if (foutput != NULL && remaining + 1 < argc)
+ error (EXIT_FAILURE, 0,
+ N_("Only one input file allowed together with '-o'"));
+
+ elf_version (EV_CURRENT);
+
+ /* Process all the remaining files. */
+ int result = 0;
+ do
+ result |= process_file (argv[remaining]);
+ while (++remaining < argc);
+
+ free_patterns ();
+ return result;
+}
diff --git a/src/elflint.c b/src/elflint.c
index 7d72a1f7..eae77614 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-2014 Red Hat, Inc.
+ Copyright (C) 2001-2015 Red Hat, Inc.
This file is part of elfutils.
Written by Ulrich Drepper <drepper@redhat.com>, 2001.
@@ -380,9 +380,11 @@ check_elf_header (Ebl *ebl, GElf_Ehdr *ehdr, size_t size)
ERROR (gettext ("unknown ELF header version number e_ident[%d] == %d\n"),
EI_VERSION, ehdr->e_ident[EI_VERSION]);
- /* We currently don't handle any OS ABIs other than Linux. */
+ /* We currently don't handle any OS ABIs other than Linux and the
+ kFreeBSD variant of Debian. */
if (ehdr->e_ident[EI_OSABI] != ELFOSABI_NONE
- && ehdr->e_ident[EI_OSABI] != ELFOSABI_LINUX)
+ && ehdr->e_ident[EI_OSABI] != ELFOSABI_LINUX
+ && ehdr->e_ident[EI_OSABI] != ELFOSABI_FREEBSD)
ERROR (gettext ("unsupported OS ABI e_ident[%d] == '%s'\n"),
EI_OSABI,
ebl_osabi_name (ebl, ehdr->e_ident[EI_OSABI], buf, sizeof (buf)));
@@ -801,7 +803,11 @@ section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n"),
&& strcmp (name, "__bss_start") != 0
&& strcmp (name, "__bss_start__") != 0
&& strcmp (name, "__TMC_END__") != 0
- && strcmp (name, ".TOC.") != 0))
+ && strcmp (name, ".TOC.") != 0
+ && strcmp (name, "_edata") != 0
+ && strcmp (name, "__edata") != 0
+ && strcmp (name, "_end") != 0
+ && strcmp (name, "__end") != 0))
ERROR (gettext ("\
section [%2d] '%s': symbol %zu: st_value out of bounds\n"),
idx, section_name (ebl, idx), cnt);
@@ -2746,7 +2752,8 @@ section_flags_string (GElf_Word flags, char *buf, size_t len)
NEWFLAG (LINK_ORDER),
NEWFLAG (OS_NONCONFORMING),
NEWFLAG (GROUP),
- NEWFLAG (TLS)
+ NEWFLAG (TLS),
+ NEWFLAG (COMPRESSED)
};
#undef NEWFLAG
const size_t nknown_flags = sizeof (known_flags) / sizeof (known_flags[0]);
@@ -3694,7 +3701,8 @@ zeroth section has nonzero link value while ELF header does not signal overflow
size_t versym_scnndx = 0;
for (size_t cnt = 1; cnt < shnum; ++cnt)
{
- shdr = gelf_getshdr (elf_getscn (ebl->elf, cnt), &shdr_mem);
+ Elf_Scn *scn = elf_getscn (ebl->elf, cnt);
+ shdr = gelf_getshdr (scn, &shdr_mem);
if (shdr == NULL)
{
ERROR (gettext ("\
@@ -3744,9 +3752,11 @@ section [%2d] '%s' has wrong type: expected %s, is %s\n"),
if (special_sections[s].attrflag == exact
|| special_sections[s].attrflag == exact_or_gnuld)
{
- /* Except for the link order and group bit all the
- other bits should match exactly. */
- if ((shdr->sh_flags & ~(SHF_LINK_ORDER | SHF_GROUP))
+ /* Except for the link order, group bit and
+ compression flag all the other bits should
+ match exactly. */
+ if ((shdr->sh_flags
+ & ~(SHF_LINK_ORDER | SHF_GROUP | SHF_COMPRESSED))
!= special_sections[s].attr
&& (special_sections[s].attrflag == exact || !gnuld))
ERROR (gettext ("\
@@ -3762,9 +3772,10 @@ section [%2zu] '%s' has wrong flags: expected %s, is %s\n"),
{
if ((shdr->sh_flags & special_sections[s].attr)
!= special_sections[s].attr
- || ((shdr->sh_flags & ~(SHF_LINK_ORDER | SHF_GROUP
- | special_sections[s].attr
- | special_sections[s].attr2))
+ || ((shdr->sh_flags
+ & ~(SHF_LINK_ORDER | SHF_GROUP | SHF_COMPRESSED
+ | special_sections[s].attr
+ | special_sections[s].attr2))
!= 0))
ERROR (gettext ("\
section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"),
@@ -3867,7 +3878,8 @@ section [%2zu] '%s': size not multiple of entry size\n"),
#define ALL_SH_FLAGS (SHF_WRITE | SHF_ALLOC | SHF_EXECINSTR | SHF_MERGE \
| SHF_STRINGS | SHF_INFO_LINK | SHF_LINK_ORDER \
- | SHF_OS_NONCONFORMING | SHF_GROUP | SHF_TLS)
+ | SHF_OS_NONCONFORMING | SHF_GROUP | SHF_TLS \
+ | SHF_COMPRESSED)
if (shdr->sh_flags & ~(GElf_Xword) ALL_SH_FLAGS)
{
GElf_Xword sh_flags = shdr->sh_flags & ~(GElf_Xword) ALL_SH_FLAGS;
@@ -3897,6 +3909,25 @@ section [%2zu] '%s': thread-local data sections address not zero\n"),
// XXX TODO more tests!?
}
+ if (shdr->sh_flags & SHF_COMPRESSED)
+ {
+ if (shdr->sh_flags & SHF_ALLOC)
+ ERROR (gettext ("\
+section [%2zu] '%s': allocated section cannot be compressed\n"),
+ cnt, section_name (ebl, cnt));
+
+ if (shdr->sh_type == SHT_NOBITS)
+ ERROR (gettext ("\
+section [%2zu] '%s': nobits section cannot be compressed\n"),
+ cnt, section_name (ebl, cnt));
+
+ GElf_Chdr chdr;
+ if (gelf_getchdr (scn, &chdr) == NULL)
+ ERROR (gettext ("\
+section [%2zu] '%s': compressed section with no compression header: %s\n"),
+ cnt, section_name (ebl, cnt), elf_errmsg (-1));
+ }
+
if (shdr->sh_link >= shnum)
ERROR (gettext ("\
section [%2zu] '%s': invalid section reference in link value\n"),
diff --git a/src/readelf.c b/src/readelf.c
index 5f6e4edd..0db192ee 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -48,6 +48,7 @@
#include "../libelf/libelfP.h"
#include "../libelf/common.h"
#include "../libebl/libeblP.h"
+#include "../libdwelf/libdwelf.h"
#include "../libdw/libdwP.h"
#include "../libdwfl/libdwflP.h"
#include "../libdw/memory-access.h"
@@ -112,6 +113,8 @@ static const struct argp_option options[] =
N_("Display just offsets instead of resolving values to addresses in DWARF data"), 0 },
{ "wide", 'W', NULL, 0,
N_("Ignored for compatibility (lines always wide)"), 0 },
+ { "decompress", 'z', NULL, 0,
+ N_("Show compression information for compressed sections (when used with -S); decompress section before dumping data (when used with -p or -x)"), 0 },
{ NULL, 0, NULL, 0, NULL, 0 }
};
@@ -190,6 +193,9 @@ static bool decodedaranges = false;
/* True if we should print the .debug_aranges section using libdw. */
static bool decodedline = false;
+/* True if we want to show more information about compressed sections. */
+static bool print_decompress = false;
+
/* Select printing of debugging sections. */
static enum section_e
{
@@ -479,6 +485,9 @@ parse_opt (int key, char *arg,
break;
case 'W': /* Ignored. */
break;
+ case 'z':
+ print_decompress = true;
+ break;
case ELF_INPUT_SECTION:
if (arg == NULL)
elf_input_section = ".gnu_debugdata";
@@ -797,6 +806,20 @@ process_file (int fd, const char *fname, bool only_one)
close (fd);
}
+/* Check whether there are any compressed sections in the ELF file. */
+static bool
+elf_contains_chdrs (Elf *elf)
+{
+ Elf_Scn *scn = NULL;
+ while ((scn = elf_nextscn (elf, scn)) != NULL)
+ {
+ GElf_Shdr shdr_mem;
+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
+ if (shdr != NULL && (shdr->sh_flags & SHF_COMPRESSED) != 0)
+ return true;
+ }
+ return false;
+}
/* Process one ELF file. */
static void
@@ -835,17 +858,21 @@ process_elf_file (Dwfl_Module *dwflmod, int fd)
gettext ("cannot determine number of program headers: %s"),
elf_errmsg (-1));
- /* For an ET_REL file, libdwfl has adjusted the in-core shdrs
- and may have applied relocation to some sections.
- So we need to get a fresh Elf handle on the file to display those. */
- bool print_unrelocated = (print_section_header
- || print_relocations
- || dump_data_sections != NULL
- || print_notes);
+ /* For an ET_REL file, libdwfl has adjusted the in-core shdrs and
+ may have applied relocation to some sections. If there are any
+ compressed sections, any pass (or libdw/libdwfl) might have
+ uncompressed them. So we need to get a fresh Elf handle on the
+ file to display those. */
+ bool print_unchanged = ((print_section_header
+ || print_relocations
+ || dump_data_sections != NULL
+ || print_notes)
+ && (ehdr->e_type == ET_REL
+ || elf_contains_chdrs (ebl->elf)));
Elf *pure_elf = NULL;
Ebl *pure_ebl = ebl;
- if (ehdr->e_type == ET_REL && print_unrelocated)
+ if (print_unchanged)
{
/* Read the file afresh. */
off_t aroff = elf_getaroff (elf);
@@ -1065,6 +1092,17 @@ get_visibility_type (int value)
}
}
+static const char *
+elf_ch_type_name (unsigned int code)
+{
+ if (code == 0)
+ return "NONE";
+
+ if (code == ELFCOMPRESS_ZLIB)
+ return "ZLIB";
+
+ return "UNKNOWN";
+}
/* Print the section headers. */
static void
@@ -1091,6 +1129,14 @@ There are %d section headers, starting at offset %#" PRIx64 ":\n\
else
puts (gettext ("[Nr] Name Type Addr Off Size ES Flags Lk Inf Al"));
+ if (print_decompress)
+ {
+ if (ehdr->e_ident[EI_CLASS] == ELFCLASS32)
+ puts (gettext (" [Compression Size Al]"));
+ else
+ puts (gettext (" [Compression Size Al]"));
+ }
+
for (cnt = 0; cnt < shnum; ++cnt)
{
Elf_Scn *scn = elf_getscn (ebl->elf, cnt);
@@ -1128,25 +1174,57 @@ There are %d section headers, starting at offset %#" PRIx64 ":\n\
*cp++ = 'G';
if (shdr->sh_flags & SHF_TLS)
*cp++ = 'T';
+ if (shdr->sh_flags & SHF_COMPRESSED)
+ *cp++ = 'C';
if (shdr->sh_flags & SHF_ORDERED)
*cp++ = 'O';
if (shdr->sh_flags & SHF_EXCLUDE)
*cp++ = 'E';
*cp = '\0';
+ const char *sname;
char buf[128];
+ sname = elf_strptr (ebl->elf, shstrndx, shdr->sh_name) ?: "<corrupt>";
printf ("[%2zu] %-20s %-12s %0*" PRIx64 " %0*" PRIx64 " %0*" PRIx64
" %2" PRId64 " %-5s %2" PRId32 " %3" PRId32
" %2" PRId64 "\n",
- cnt,
- elf_strptr (ebl->elf, shstrndx, shdr->sh_name)
- ?: "<corrupt>",
+ cnt, sname,
ebl_section_type_name (ebl, shdr->sh_type, buf, sizeof (buf)),
ehdr->e_ident[EI_CLASS] == ELFCLASS32 ? 8 : 16, shdr->sh_addr,
ehdr->e_ident[EI_CLASS] == ELFCLASS32 ? 6 : 8, shdr->sh_offset,
ehdr->e_ident[EI_CLASS] == ELFCLASS32 ? 6 : 8, shdr->sh_size,
shdr->sh_entsize, flagbuf, shdr->sh_link, shdr->sh_info,
shdr->sh_addralign);
+
+ if (print_decompress)
+ {
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+ {
+ GElf_Chdr chdr;
+ if (gelf_getchdr (scn, &chdr) != NULL)
+ printf (" [ELF %s (%" PRId32 ") %0*" PRIx64
+ " %2" PRId64 "]\n",
+ elf_ch_type_name (chdr.ch_type),
+ chdr.ch_type,
+ ehdr->e_ident[EI_CLASS] == ELFCLASS32 ? 6 : 8,
+ chdr.ch_size, chdr.ch_addralign);
+ else
+ error (0, 0,
+ gettext ("bad compression header for section %zd: %s"),
+ elf_ndxscn (scn), elf_errmsg (-1));
+ }
+ else if (strncmp(".zdebug", sname, strlen (".zdebug")) == 0)
+ {
+ ssize_t size;
+ if ((size = dwelf_scn_gnu_compressed_size (scn)) >= 0)
+ printf (" [GNU ZLIB %0*zx ]\n",
+ ehdr->e_ident[EI_CLASS] == ELFCLASS32 ? 6 : 8, size);
+ else
+ error (0, 0,
+ gettext ("bad gnu compressed size for section %zd: %s"),
+ elf_ndxscn (scn), elf_errmsg (-1));
+ }
+ }
}
fputc_unlocked ('\n', stdout);
@@ -1443,7 +1521,17 @@ print_scngrp (Ebl *ebl)
GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
if (shdr != NULL && shdr->sh_type == SHT_GROUP)
- handle_scngrp (ebl, scn, shdr);
+ {
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+ {
+ if (elf_compress (scn, 0, 0) < 0)
+ printf ("WARNING: %s [%zd]\n",
+ gettext ("Couldn't uncompress section"),
+ elf_ndxscn (scn));
+ shdr = gelf_getshdr (scn, &shdr_mem);
+ }
+ handle_scngrp (ebl, scn, shdr);
+ }
}
}
@@ -2142,7 +2230,17 @@ print_symtab (Ebl *ebl, int type)
GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
if (shdr != NULL && shdr->sh_type == (GElf_Word) type)
- handle_symtab (ebl, scn, shdr);
+ {
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+ {
+ if (elf_compress (scn, 0, 0) < 0)
+ printf ("WARNING: %s [%zd]\n",
+ gettext ("Couldn't uncompress section"),
+ elf_ndxscn (scn));
+ shdr = gelf_getshdr (scn, &shdr_mem);
+ }
+ handle_symtab (ebl, scn, shdr);
+ }
}
}
@@ -3211,6 +3309,16 @@ handle_hash (Ebl *ebl)
if (likely (shdr != NULL))
{
+ if ((shdr->sh_type == SHT_HASH || shdr->sh_type == SHT_GNU_HASH)
+ && (shdr->sh_flags & SHF_COMPRESSED) != 0)
+ {
+ if (elf_compress (scn, 0, 0) < 0)
+ printf ("WARNING: %s [%zd]\n",
+ gettext ("Couldn't uncompress section"),
+ elf_ndxscn (scn));
+ shdr = gelf_getshdr (scn, &shdr_mem);
+ }
+
if (shdr->sh_type == SHT_HASH)
{
if (ebl_sysvhash_entrysize (ebl) == sizeof (Elf64_Xword))
@@ -8260,11 +8368,9 @@ print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr)
int n;
for (n = 0; n < ndebug_sections; ++n)
if (strcmp (name, debug_sections[n].name) == 0
-#if USE_ZLIB
|| (name[0] == '.' && name[1] == 'z'
&& debug_sections[n].name[1] == 'd'
&& strcmp (&name[2], &debug_sections[n].name[1]) == 0)
-#endif
)
{
if ((print_debug_sections | implicit_debug_sections)
@@ -9396,16 +9502,34 @@ dump_data_section (Elf_Scn *scn, const GElf_Shdr *shdr, const char *name)
elf_ndxscn (scn), name);
else
{
+ if (print_decompress)
+ {
+ /* We try to decompress the section, but keep the old shdr around
+ so we can show both the original shdr size and the uncompressed
+ data size. */
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+ elf_compress (scn, 0, 0);
+ else if (strncmp (name, ".zdebug", strlen (".zdebug")) == 0)
+ elf_compress_gnu (scn, 0, 0);
+ }
+
Elf_Data *data = elf_rawdata (scn, NULL);
if (data == NULL)
error (0, 0, gettext ("cannot get data for section [%zu] '%s': %s"),
elf_ndxscn (scn), name, elf_errmsg (-1));
else
{
- printf (gettext ("\nHex dump of section [%zu] '%s', %" PRIu64
- " bytes at offset %#0" PRIx64 ":\n"),
- elf_ndxscn (scn), name,
- shdr->sh_size, shdr->sh_offset);
+ if (data->d_size == shdr->sh_size)
+ printf (gettext ("\nHex dump of section [%zu] '%s', %" PRIu64
+ " bytes at offset %#0" PRIx64 ":\n"),
+ elf_ndxscn (scn), name,
+ shdr->sh_size, shdr->sh_offset);
+ else
+ printf (gettext ("\nHex dump of section [%zu] '%s', %" PRIu64
+ " bytes (%zd uncompressed) at offset %#0"
+ PRIx64 ":\n"),
+ elf_ndxscn (scn), name,
+ shdr->sh_size, data->d_size, shdr->sh_offset);
hex_dump (data->d_buf, data->d_size);
}
}
@@ -9419,16 +9543,34 @@ print_string_section (Elf_Scn *scn, const GElf_Shdr *shdr, const char *name)
elf_ndxscn (scn), name);
else
{
+ if (print_decompress)
+ {
+ /* We try to decompress the section, but keep the old shdr around
+ so we can show both the original shdr size and the uncompressed
+ data size. */
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+ elf_compress (scn, 0, 0);
+ else if (strncmp (name, ".zdebug", strlen (".zdebug")) == 0)
+ elf_compress_gnu (scn, 0, 0);
+ }
+
Elf_Data *data = elf_rawdata (scn, NULL);
if (data == NULL)
error (0, 0, gettext ("cannot get data for section [%zu] '%s': %s"),
elf_ndxscn (scn), name, elf_errmsg (-1));
else
{
- printf (gettext ("\nString section [%zu] '%s' contains %" PRIu64
- " bytes at offset %#0" PRIx64 ":\n"),
- elf_ndxscn (scn), name,
- shdr->sh_size, shdr->sh_offset);
+ if (data->d_size == shdr->sh_size)
+ printf (gettext ("\nString section [%zu] '%s' contains %" PRIu64
+ " bytes at offset %#0" PRIx64 ":\n"),
+ elf_ndxscn (scn), name,
+ shdr->sh_size, shdr->sh_offset);
+ else
+ printf (gettext ("\nString section [%zu] '%s' contains %" PRIu64
+ " bytes (%zd uncompressed) at offset %#0"
+ PRIx64 ":\n"),
+ elf_ndxscn (scn), name,
+ shdr->sh_size, data->d_size, shdr->sh_offset);
const char *start = data->d_buf;
const char *const limit = start + data->d_size;
diff --git a/tests/ChangeLog b/tests/ChangeLog
index b8d1d954..37f98112 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,113 @@
+2016-01-13 Mark Wielaard <mjw@redhat.com>
+
+ * dwfl-bug-fd-leak.c: Skip test unless on __linux__.
+
+2016-01-13 Mark Wielaard <mjw@redhat.com>
+
+ * dwfl-proc-attach.c: Guard linux specific header.
+
+2016-01-13 Mark Wielaard <mjw@redhat.com>
+
+ * system-elf-libelf-test.c: New test.
+ * Makefile.am (TESTS): Add system-elf-libelf-test, if !STANDALONE.
+ (check_PROGRAMS): Likewise.
+ (system_elf_libelf_test_CPPFLAGS): New variable.
+ (system_elf_libelf_test_LDADD): Likewise.
+
+2016-01-08 Mark Wielaard <mjw@redhat.com>
+
+ * elfputzdata.c (main): Fix parentheses in strncmp test.
+
+2016-01-08 Mark Wielaard <mjw@redhat.com>
+
+ * elfputzdata.c (main): Use PRId64 to print 64 bit value.
+
+2016-01-08 Mark Wielaard <mjw@redhat.com>
+
+ * Makefile.am (TESTS): Always unconditionally add
+ run-readelf-zdebug.sh and run-readelf-zdebug-rel.sh.
+
+2015-12-16 Mark Wielaard <mjw@redhat.com>
+
+ * run-compress-test.sh: New test.
+ * Makefile.am (TESTS): Add run-compress-test.sh.
+ (EXTRA_DISTS): Likewise.
+
+2015-11-26 Mark Wielaard <mjw@redhat.com>
+
+ * zstrptr.c: New file.
+ * run-zstrptr.sh: New test.
+ * elfputzdata.c (main): (re)compress .shstrtab.
+ * run-elfputzdata.sh: Expect .shstrtab compression.
+ * Makefile.am (check_PROGRAMS): Add zstrptr.
+ (TESTS): Add run-zstrptr.sh.
+ (EXTRA_DIST): Likewise.
+ (zstrptr_LDADD): New variable.
+
+2015-10-20 Mark Wielaard <mjw@redhat.com>
+
+ * run-readelf-zx.sh: New test.
+ * run-readelf-zp.sh: Likewise.
+ * Makefile.am (TESTS): Add run-readelf-zx.sh and run-readelf-zp.sh.
+ (EXTRA_DIST): Likewise.
+
+2015-10-21 Mark Wielaard <mjw@redhat.com>
+
+ * Makefile.am (check_PROGRAMS): Add elfgetzdata and elfputzdata.
+ (TESTS): Add run-elfgetzdata.sh and run-elfputzdata.sh.
+ (EXTRA_DIST: Likewise.
+ (elfgetzdata_LDADD): New variable.
+ (elfputzdata_LDADD): Likewise.
+ * elfgetzdata.c: New file.
+ * elfputzdata.c: Likewise.
+ * msg_tst.c: Handle ELF_E_ALREADY_COMPRESSED,
+ ELF_E_UNKNOWN_COMPRESSION_TYPE, ELF_E_COMPRESS_ERROR and
+ ELF_E_DECOMPRESS_ERROR.
+ * run-elfgetzdata.sh: New test.
+ * run-elfputzdata.sh: Likewise.
+
+2015-10-28 Mark Wielaard <mjw@redhat.com>
+
+ * run-readelf-z.sh: New test.
+ * Makefile.am (TESTS): Add run-readelf-z.sh.
+ (EXTRA_DIST): Likewise.
+
+2015-10-28 Mark Wielaard <mjw@redhat.com>
+
+ * elfgetchdr.c: New file.
+ * run-elfgetchdr.sh: New test.
+ * testfile-zgabi32.bz2: New testfile.
+ * testfile-zgabi32be.bz2: Likewise.
+ * testfile-zgabi64.bz2: Likewise.
+ * testfile-zgabi64be.bz2: Likewise.
+ * Makefile.am (check_PROGRAMS): Add elfgetchdr.
+ (TESTS): Add run-elfgetchdr.sh.
+ (EXTRA_DIST): Add run-elfgetchdr.sh, testfile-zgabi32.bz2,
+ testfile-zgabi32be.bz2, testfile-zgabi64.bz2, testfile-zgabi64be.bz2.
+ (welfgetchdr_LDADD): New variable.
+ * msg_tst.c: Add ELF_E_NOT_COMPRESSED, ELF_E_INVALID_SECTION_TYPE
+ and ELF_E_INVALID_SECTION_FLAGS,
+
+
+2015-10-28 Mark Wielaard <mjw@redhat.com>
+
+ * dwelfgnucompressed.c: New file.
+ * run-dwelfgnucompressed.sh: New test.
+ * testfile-zgnu32.bz2: New testfile.
+ * testfile-zgnu64.bz2: Likewise.
+ * Makefile.am (check_PROGRAMS): Add dwelfgnucompressed.
+ (TESTS): Add run-dwelfgnucompressed.sh.
+ (EXTRA_DIST): Add run-dwelfgnucompressed.sh, testfile-zgnu32.bz2,
+ testfile-zgnu64.bz2, testfile-zgnu32be.bz2, testfile-zgnu64be.bz2.
+ (dwelfgnucompressed_LDADD): New variable.
+
+2015-12-31 Mark Wielaard <mjw@redhat.com>
+
+ * elfstrmerge.c (main): Warn about STT_SECTION symbol for shstrhndx.
+ * run-elfstrmerge-test.sh: New test.
+ * Makefile.am (TESTS): Add run-elfstrmerge-test.sh
+ (EXTRA_DIST): Likewise.
+
2015-12-08 Jose E. Marchesi <jose.marchesi@oracle.com>
* run-backtrace-core-sparc.sh: New file.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 8fca8014..7b9e1083 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -52,7 +52,8 @@ check_PROGRAMS = arextract arsymtest newfile saridx scnnames sectiondump \
backtrace-data backtrace-dwarf debuglink debugaltlink \
buildid deleted deleted-lib.so aggregate_size vdsosyms \
getsrc_die strptr newdata elfstrtab dwfl-proc-attach \
- elfshphehdr elfstrmerge
+ elfshphehdr elfstrmerge dwelfgnucompressed elfgetchdr \
+ elfgetzdata elfputzdata zstrptr
asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \
asm-tst6 asm-tst7 asm-tst8 asm-tst9
@@ -80,7 +81,7 @@ TESTS = run-arextract.sh run-arsymtest.sh newfile test-nlist \
run-strip-test9.sh run-strip-test10.sh \
run-strip-groups.sh run-strip-reloc.sh run-strip-strmerge.sh \
run-unstrip-test.sh run-unstrip-test2.sh \
- run-unstrip-test3.sh run-unstrip-M.sh \
+ run-unstrip-test3.sh run-unstrip-M.sh run-elfstrmerge-test.sh \
run-ecp-test.sh run-ecp-test2.sh run-alldts.sh \
run-elflint-test.sh run-elflint-self.sh run-ranlib-test.sh \
run-ranlib-test2.sh run-ranlib-test3.sh run-ranlib-test4.sh \
@@ -90,7 +91,7 @@ TESTS = run-arextract.sh run-arsymtest.sh newfile test-nlist \
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-aranges.sh run-readelf-line.sh \
+ run-readelf-aranges.sh run-readelf-line.sh run-readelf-z.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 \
@@ -116,11 +117,15 @@ TESTS = run-arextract.sh run-arsymtest.sh newfile test-nlist \
run-backtrace-core-s390x.sh run-backtrace-core-s390.sh \
run-backtrace-core-aarch64.sh run-backtrace-core-sparc.sh \
run-backtrace-demangle.sh run-stack-d-test.sh run-stack-i-test.sh \
- run-stack-demangled-test.sh \
+ run-stack-demangled-test.sh run-readelf-zx.sh run-readelf-zp.sh \
run-readelf-dwz-multi.sh run-allfcts-multi.sh run-deleted.sh \
run-linkmap-cut.sh run-aggregate-size.sh vdsosyms run-readelf-A.sh \
run-getsrc-die.sh run-strptr.sh newdata elfstrtab dwfl-proc-attach \
- elfshphehdr run-lfs-symbols.sh
+ elfshphehdr run-lfs-symbols.sh run-dwelfgnucompressed.sh \
+ run-elfgetchdr.sh \
+ run-elfgetzdata.sh run-elfputzdata.sh run-zstrptr.sh \
+ run-compress-test.sh \
+ run-readelf-zdebug.sh run-readelf-zdebug-rel.sh
if !BIARCH
export ELFUTILS_DISABLE_BIARCH = 1
@@ -131,18 +136,14 @@ export ELFUTILS_DISABLE_DEMANGLE = 1
endif
if !STANDALONE
-check_PROGRAMS += msg_tst md5-sha1-test
-TESTS += msg_tst md5-sha1-test
+check_PROGRAMS += msg_tst md5-sha1-test system-elf-libelf-test
+TESTS += msg_tst md5-sha1-test system-elf-libelf-test
endif
if LZMA
TESTS += run-readelf-s.sh run-dwflsyms.sh
endif
-if ZLIB
-TESTS += run-readelf-zdebug.sh
-endif
-
if HAVE_LIBASM
check_PROGRAMS += $(asm_TESTS)
TESTS += $(asm_TESTS)
@@ -167,7 +168,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
run-unstrip-test.sh run-unstrip-test2.sh \
testfile-info-link.bz2 testfile-info-link.debuginfo.bz2 \
testfile-info-link.stripped.bz2 run-unstrip-test3.sh \
- run-unstrip-M.sh \
+ run-unstrip-M.sh run-elfstrmerge-test.sh \
run-elflint-self.sh run-ranlib-test.sh run-ranlib-test2.sh \
run-ranlib-test3.sh run-ranlib-test4.sh \
run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \
@@ -208,6 +209,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
run-readelf-macro.sh testfilemacro.bz2 \
run-readelf-loc.sh testfileloc.bz2 \
run-readelf-aranges.sh run-readelf-line.sh testfilefoobarbaz.bz2 \
+ run-readelf-z.sh \
run-readelf-dwz-multi.sh libtestfile_multi_shared.so.bz2 \
testfile_multi.dwz.bz2 testfile_multi_main.bz2 \
testfile-dwzstr.bz2 testfile-dwzstr.multi.bz2 \
@@ -296,6 +298,9 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
run-stack-demangled-test.sh \
testfiledwarfinlines.bz2 testfiledwarfinlines.core.bz2 \
run-readelf-zdebug.sh testfile-debug.bz2 testfile-zdebug.bz2 \
+ run-readelf-zdebug-rel.sh testfile-debug-rel.o.bz2 \
+ testfile-debug-rel-g.o.bz2 testfile-debug-rel-z.o.bz2 \
+ run-readelf-zx.sh run-readelf-zp.sh \
run-deleted.sh run-linkmap-cut.sh linkmap-cut-lib.so.bz2 \
linkmap-cut.bz2 linkmap-cut.core.bz2 \
run-aggregate-size.sh testfile-sizes1.o.bz2 testfile-sizes2.o.bz2 \
@@ -306,7 +311,14 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
testfile-x32-core.bz2 testfile-x32.bz2 \
backtrace.x32.core.bz2 backtrace.x32.exec.bz2 \
testfile-x32-s.bz2 testfile-x32-d.bz2 testfile-x32-debug.bz2 \
- run-lfs-symbols.sh lfs-symbols testfile-nolfs.bz2
+ run-lfs-symbols.sh lfs-symbols testfile-nolfs.bz2 \
+ testfile-zgnu32.bz2 testfile-zgnu64.bz2 \
+ testfile-zgnu32be.bz2 testfile-zgnu64be.bz2 \
+ run-dwelfgnucompressed.sh \
+ testfile-zgabi32.bz2 testfile-zgabi64.bz2 \
+ testfile-zgabi32be.bz2 testfile-zgabi64be.bz2 \
+ run-elfgetchdr.sh run-elfgetzdata.sh run-elfputzdata.sh \
+ run-zstrptr.sh run-compress-test.sh
if USE_VALGRIND
valgrind_cmd='valgrind -q --leak-check=full --error-exitcode=1'
@@ -455,6 +467,16 @@ dwfl_proc_attach_LDADD = $(libdw)
dwfl_proc_attach_LDFLAGS = -pthread $(AM_LDFLAGS)
elfshphehdr_LDADD =$(libelf)
elfstrmerge_LDADD = $(libebl) $(libelf)
+dwelfgnucompressed_LDADD = $(libelf) $(libdw)
+elfgetchdr_LDADD = $(libelf) $(libdw)
+elfgetzdata_LDADD = $(libelf)
+elfputzdata_LDADD = $(libelf)
+zstrptr_LDADD = $(libelf)
+
+# We want to test the libelf header against the system elf.h header.
+# Don't include any -I CPPFLAGS.
+system_elf_libelf_test_CPPFLAGS =
+system_elf_libelf_test_LDADD = $(libelf)
if GCOV
check: check-am coverage
diff --git a/tests/dwelfgnucompressed.c b/tests/dwelfgnucompressed.c
new file mode 100644
index 00000000..0132271c
--- /dev/null
+++ b/tests/dwelfgnucompressed.c
@@ -0,0 +1,104 @@
+/* Copyright (C) 2015 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/>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <assert.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <inttypes.h>
+
+#include ELFUTILS_HEADER(elf)
+#include ELFUTILS_HEADER(dwelf)
+#include <gelf.h>
+
+#include <stdio.h>
+#include <unistd.h>
+#include <string.h>
+
+int
+main (int argc, char *argv[])
+{
+ int result = 0;
+ int cnt;
+
+ elf_version (EV_CURRENT);
+
+ for (cnt = 1; cnt < argc; ++cnt)
+ {
+ int fd = open (argv[cnt], O_RDONLY);
+
+ Elf *elf = elf_begin (fd, ELF_C_READ, NULL);
+ if (elf == NULL)
+ {
+ printf ("%s not usable %s\n", argv[cnt], elf_errmsg (-1));
+ result = 1;
+ close (fd);
+ continue;
+ }
+
+ size_t shdrstrndx;
+ if (elf_getshdrstrndx (elf, &shdrstrndx) == -1)
+ {
+ printf ("elf_getshdrstrnd failed %s\n", elf_errmsg (-1));
+ result = 1;
+ close (fd);
+ continue;
+ }
+
+ Elf_Scn *scn = NULL;
+ while ((scn = elf_nextscn (elf, scn)) != NULL)
+ {
+ int idx = elf_ndxscn (scn);
+ GElf_Shdr shdr;
+ if (gelf_getshdr (scn, &shdr) == NULL)
+ {
+ printf ("gelf_getshdr failed: %s\n", elf_errmsg (-1));
+ result = 1;
+ break;
+ }
+
+ const char *sname = elf_strptr (elf, shdrstrndx, shdr.sh_name);
+ if (sname == NULL)
+ {
+ printf ("couldn't get section name: %s\n", elf_errmsg (-1));
+ result = 1;
+ break;
+ }
+
+ if (strncmp(".zdebug", sname, strlen (".zdebug")) == 0)
+ {
+ ssize_t size;
+ if ((size = dwelf_scn_gnu_compressed_size (scn)) == -1)
+ {
+ printf ("dwelf_scn_gnu_compressed_size failed: %s\n",
+ elf_errmsg (-1));
+ result = 1;
+ break;
+ }
+ printf ("section %d: GNU Compressed size: %zx\n", idx, size);
+ }
+ }
+
+ elf_end (elf);
+ close (fd);
+ }
+
+ return result;
+}
diff --git a/tests/dwfl-bug-fd-leak.c b/tests/dwfl-bug-fd-leak.c
index bcbfb290..689cdd79 100644
--- a/tests/dwfl-bug-fd-leak.c
+++ b/tests/dwfl-bug-fd-leak.c
@@ -27,6 +27,15 @@
#include <error.h>
#include <unistd.h>
#include <dwarf.h>
+
+#ifndef __linux__
+int
+main (void)
+{
+ return 77; /* dwfl_linux_proc_report is linux specific. */
+}
+#else
+
#include <sys/resource.h>
#include ELFUTILS_HEADER(dwfl)
@@ -104,3 +113,4 @@ main (void)
return 0;
}
+#endif
diff --git a/tests/dwfl-proc-attach.c b/tests/dwfl-proc-attach.c
index 0ba0be24..e7bb2010 100644
--- a/tests/dwfl-proc-attach.c
+++ b/tests/dwfl-proc-attach.c
@@ -22,6 +22,7 @@
#include <errno.h>
#include <error.h>
#include <unistd.h>
+#ifdef __linux__
#include <sys/types.h>
#include <sys/stat.h>
#include <sys/user.h>
@@ -29,6 +30,7 @@
#include <string.h>
#include ELFUTILS_HEADER(dwfl)
#include <pthread.h>
+#endif
#ifndef __linux__
int
diff --git a/tests/elfgetchdr.c b/tests/elfgetchdr.c
new file mode 100644
index 00000000..44ba1789
--- /dev/null
+++ b/tests/elfgetchdr.c
@@ -0,0 +1,124 @@
+/* Copyright (C) 2015 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/>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <assert.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <inttypes.h>
+
+#include ELFUTILS_HEADER(elf)
+#include ELFUTILS_HEADER(dwelf)
+#include <gelf.h>
+
+#include <stdio.h>
+#include <unistd.h>
+#include <string.h>
+
+int
+main (int argc, char *argv[])
+{
+ int result = 0;
+ int cnt;
+
+ elf_version (EV_CURRENT);
+
+ for (cnt = 1; cnt < argc; ++cnt)
+ {
+ int fd = open (argv[cnt], O_RDONLY);
+
+ Elf *elf = elf_begin (fd, ELF_C_READ, NULL);
+ if (elf == NULL)
+ {
+ printf ("%s not usable %s\n", argv[cnt], elf_errmsg (-1));
+ result = 1;
+ close (fd);
+ continue;
+ }
+
+ size_t shdrstrndx;
+ if (elf_getshdrstrndx (elf, &shdrstrndx) == -1)
+ {
+ printf ("elf_getshdrstrnd failed %s\n", elf_errmsg (-1));
+ result = 1;
+ close (fd);
+ continue;
+ }
+
+ Elf_Scn *scn = NULL;
+ while ((scn = elf_nextscn (elf, scn)) != NULL)
+ {
+ int idx = elf_ndxscn (scn);
+ GElf_Shdr shdr;
+ if (gelf_getshdr (scn, &shdr) == NULL)
+ {
+ printf ("gelf_getshdr failed: %s\n", elf_errmsg (-1));
+ result = 1;
+ break;
+ }
+
+ if ((shdr.sh_flags & SHF_COMPRESSED) != 0)
+ {
+ GElf_Chdr chdr;
+ if (gelf_getchdr (scn, &chdr) == NULL)
+ {
+ printf ("gelf_getchdr failed: %s\n", elf_errmsg (-1));
+ result = 1;
+ break;
+ }
+
+ printf ("section %d: ELF Compressed ch_type: %" PRId32
+ ", ch_size: %" PRIx64 ", ch_addralign: %" PRIx64 "\n",
+ idx, chdr.ch_type, chdr.ch_size, chdr.ch_addralign);
+ }
+ else
+ {
+ const char *sname = elf_strptr (elf, shdrstrndx, shdr.sh_name);
+ if (sname == NULL)
+ {
+ printf ("couldn't get section name: %s\n", elf_errmsg (-1));
+ result = 1;
+ break;
+ }
+
+ /* This duplicates what the dwelfgnucompressed testcase does. */
+ if (strncmp(".zdebug", sname, strlen (".zdebug")) == 0)
+ {
+ ssize_t size;
+ if ((size = dwelf_scn_gnu_compressed_size (scn)) == -1)
+ {
+ printf ("dwelf_scn_gnu_compressed_size failed: %s\n",
+ elf_errmsg (-1));
+ result = 1;
+ break;
+ }
+ printf ("section %d: GNU Compressed size: %zx\n", idx, size);
+ }
+ else
+ printf ("section %d: NOT Compressed\n", idx);
+ }
+ }
+
+ elf_end (elf);
+ close (fd);
+ }
+
+ return result;
+}
diff --git a/tests/elfgetzdata.c b/tests/elfgetzdata.c
new file mode 100644
index 00000000..82afbe52
--- /dev/null
+++ b/tests/elfgetzdata.c
@@ -0,0 +1,113 @@
+/* Copyright (C) 2015 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/>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <inttypes.h>
+#include <libelf.h>
+#include <gelf.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <string.h>
+#include <unistd.h>
+
+
+int
+main (int argc, char *argv[])
+{
+ int result = 0;
+ int cnt;
+
+ if (argc < 3
+ || (strcmp (argv[1], "read") != 0
+ && strcmp (argv[1], "mmap") != 0))
+ {
+ printf ("Usage: (read|mmap) files...\n");
+ return -1;
+ }
+
+ bool mmap = strcmp (argv[1], "mmap") == 0;
+
+ elf_version (EV_CURRENT);
+
+ for (cnt = 2; cnt < argc; ++cnt)
+ {
+ int fd = open (argv[cnt], O_RDONLY);
+
+ Elf *elf = elf_begin (fd, mmap ? ELF_C_READ_MMAP : ELF_C_READ, NULL);
+ if (elf == NULL)
+ {
+ printf ("%s not usable %s\n", argv[cnt], elf_errmsg (-1));
+ result = 1;
+ close (fd);
+ continue;
+ }
+
+ /* To get the section names. */
+ size_t strndx;
+ elf_getshdrstrndx (elf, &strndx);
+
+ Elf_Scn *scn = NULL;
+ while ((scn = elf_nextscn (elf, scn)) != NULL)
+ {
+ size_t idx = elf_ndxscn (scn);
+ GElf_Shdr mem;
+ GElf_Shdr *shdr = gelf_getshdr (scn, &mem);
+ const char *name = elf_strptr (elf, strndx, shdr->sh_name);
+ if ((shdr->sh_flags & SHF_COMPRESSED) != 0)
+ {
+ /* Real compressed section. */
+ if (elf_compress (scn, 0, 0) < 0)
+ {
+ printf ("elf_compress failed for section %zd: %s\n",
+ idx, elf_errmsg (-1));
+ return -1;
+ }
+ Elf_Data *d = elf_getdata (scn, NULL);
+ printf ("%zd: %s, ELF compressed, size: %zx\n",
+ idx, name, d->d_size);
+ }
+ else
+ {
+ /* Maybe an old GNU compressed .z section? */
+ if (name[0] == '.' && name[1] == 'z')
+ {
+ if (elf_compress_gnu (scn, 0, 0) < 0)
+ {
+ printf ("elf_compress_gnu failed for section %zd: %s\n",
+ idx, elf_errmsg (-1));
+ return -1;
+ }
+ Elf_Data *d = elf_getdata (scn, NULL);
+ printf ("%zd: %s, GNU compressed, size: %zx\n",
+ idx, name, d->d_size);
+ }
+ else
+ printf ("%zd: %s, NOT compressed\n", idx, name);
+ }
+ }
+
+ elf_end (elf);
+ close (fd);
+ }
+
+ return result;
+}
diff --git a/tests/elfputzdata.c b/tests/elfputzdata.c
new file mode 100644
index 00000000..66ab77ba
--- /dev/null
+++ b/tests/elfputzdata.c
@@ -0,0 +1,237 @@
+/* Copyright (C) 2015 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/>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <fcntl.h>
+#include <inttypes.h>
+#include <libelf.h>
+#include <gelf.h>
+#include <stdbool.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+
+int
+main (int argc, char *argv[])
+{
+ int result = 0;
+ int cnt;
+
+ if (argc < 3
+ || (strcmp (argv[1], "elf") != 0
+ && strcmp (argv[1], "gnu") != 0))
+ {
+ printf ("Usage: (elf|gnu) files...\n");
+ return -1;
+ }
+
+ int gnu;
+ if (strcmp (argv[1], "gnu") == 0)
+ gnu = 1;
+ else
+ gnu = 0;
+
+ elf_version (EV_CURRENT);
+
+ for (cnt = 2; cnt < argc; ++cnt)
+ {
+ int fd = open (argv[cnt], O_RDONLY);
+
+ Elf *elf = elf_begin (fd, ELF_C_READ, NULL);
+ if (elf == NULL)
+ {
+ printf ("%s not usable %s\n", argv[cnt], elf_errmsg (-1));
+ result = 1;
+ close (fd);
+ continue;
+ }
+
+ /* To get the section names. */
+ size_t strndx;
+ elf_getshdrstrndx (elf, &strndx);
+
+ Elf_Scn *scn = NULL;
+ while ((scn = elf_nextscn (elf, scn)) != NULL)
+ {
+ size_t idx = elf_ndxscn (scn);
+ GElf_Shdr mem;
+ GElf_Shdr *shdr = gelf_getshdr (scn, &mem);
+ const char *name = elf_strptr (elf, strndx, shdr->sh_name);
+ if (shdr->sh_type == SHT_NOBITS
+ || (shdr->sh_flags & SHF_ALLOC) != 0)
+ {
+ printf ("Cannot compress %zd %s\n", idx, name);
+ }
+ else if ((shdr->sh_flags & SHF_COMPRESSED) != 0
+ || strncmp (name, ".zdebug", strlen (".zdebug")) == 0)
+ {
+ printf ("Already compressed %zd %s\n", idx, name);
+ }
+ else
+ {
+ size_t orig_size = shdr->sh_size;
+ printf ("Lets compress %zd %s, size: %" PRId64 "\n",
+ idx, name, shdr->sh_size);
+ Elf_Data *d = elf_getdata (scn, NULL);
+ if (d == NULL)
+ {
+ printf ("Couldn't get orig data for section %zd\n", idx);
+ return -1;
+ }
+ /* Make a copy so we can compare after
+ compression/decompression. */
+ if (d->d_size != orig_size)
+ {
+ printf ("Unexpected data size for orig section %zd\n", idx);
+ return -1;
+ }
+ char *orig_buf = malloc (d->d_size);
+ if (orig_size > 0 && orig_buf == NULL)
+ {
+ printf ("No memory to copy section %zd data\n", idx);
+ return -1;
+ }
+ if (orig_size > 0)
+ memcpy (orig_buf, d->d_buf, orig_size);
+
+ bool forced = false;
+ if (gnu)
+ {
+ int res = elf_compress_gnu (scn, 1, 0);
+ if (res == 0)
+ {
+ forced = true;
+ res = elf_compress_gnu (scn, 1, ELF_CHF_FORCE);
+ }
+ if (res < 0)
+ {
+ printf ("elf_compress_gnu%sfailed for section %zd: %s\n",
+ forced ? " (forced) " : " ",
+ idx, elf_errmsg (-1));
+ return -1;
+ }
+ }
+ else
+ {
+ int res = elf_compress (scn, ELFCOMPRESS_ZLIB, 0);
+ if (res == 0)
+ {
+ forced = true;
+ res = elf_compress (scn, ELFCOMPRESS_ZLIB, ELF_CHF_FORCE);
+ }
+ if (res < 0)
+ {
+ printf ("elf_compress%sfailed for section %zd: %s\n",
+ forced ? " (forced) " : " ",
+ idx, elf_errmsg (-1));
+ return -1;
+ }
+ }
+ GElf_Shdr newmem;
+ GElf_Shdr *newshdr = gelf_getshdr (scn, &newmem);
+ size_t new_size = newshdr->sh_size;
+ d = elf_getdata (scn, NULL);
+ // Don't check this, might depend on zlib implementation.
+ // fprintf (stderr, " new_size: %zd\n", new_size);
+ if (d->d_size != new_size)
+ {
+ printf ("Unexpected data size for compressed section %zd\n",
+ idx);
+ return -1;
+ }
+
+ if (forced && new_size < orig_size)
+ {
+ printf ("section %zd forced to compress, but size smaller\n",
+ idx);
+ return -1;
+ }
+
+ if (! forced && new_size >= orig_size)
+ {
+ printf ("section %zd compressed to bigger size\n",
+ idx);
+ return -1;
+ }
+
+ if (new_size == orig_size
+ && memcmp (orig_buf, d->d_buf, orig_size) == 0)
+ {
+ printf ("section %zd didn't compress\n", idx);
+ return -1;
+ }
+
+ if (gnu)
+ {
+ if (elf_compress_gnu (scn, 0, 0) < 0)
+ {
+ printf ("elf_[un]compress_gnu failed for section %zd: %s\n",
+ idx, elf_errmsg (-1));
+ return -1;
+ }
+ }
+ else
+ {
+ if (elf_compress (scn, 0, 0) < 0)
+ {
+ printf ("elf_[un]compress failed for section %zd: %s\n",
+ idx, elf_errmsg (-1));
+ return -1;
+ }
+ }
+ GElf_Shdr newermem;
+ GElf_Shdr *newershdr = gelf_getshdr (scn, &newermem);
+ size_t newer_size = newershdr->sh_size;
+ d = elf_getdata (scn, NULL);
+ // fprintf (stderr, " newer_size: %zd\n", newer_size);
+ if (d->d_size != newer_size)
+ {
+ printf ("Unexpected data size for compressed section %zd\n",
+ idx);
+ return -1;
+ }
+ if (newer_size != orig_size
+ && memcmp (orig_buf, d->d_buf, orig_size) != 0)
+ {
+ printf ("section %zd didn't correctly uncompress\n", idx);
+ return -1;
+ }
+ free (orig_buf);
+ // Recompress the string table, just to make sure
+ // everything keeps working. See elf_strptr above.
+ if (! gnu && idx == strndx
+ && elf_compress (scn, ELFCOMPRESS_ZLIB, 0) < 0)
+ {
+ printf ("couldn't recompress section header strings: %s\n",
+ elf_errmsg (-1));
+ return -1;
+ }
+ }
+ }
+
+ elf_end (elf);
+ close (fd);
+ }
+
+ return result;
+}
diff --git a/tests/elfstrmerge.c b/tests/elfstrmerge.c
index 6b927c83..4149ca6e 100644
--- a/tests/elfstrmerge.c
+++ b/tests/elfstrmerge.c
@@ -518,8 +518,13 @@ main (int argc, char **argv)
if (gelf_getsym (data, i, &sym) == NULL)
fail_elf_idx ("Couldn't get symbol", fname, i);
- if (sym.st_shndx != SHN_UNDEF
- && sym.st_shndx < SHN_LORESERVE)
+ if (GELF_ST_TYPE (sym.st_info) == STT_SECTION
+ && sym.st_shndx == shdrstrndx)
+ fprintf (stderr, "WARNING:"
+ " symbol table [%zd] contains section symbol %zd"
+ " for old shdrstrndx %zd\n", ndx, i, shdrstrndx);
+ else if (sym.st_shndx != SHN_UNDEF
+ && sym.st_shndx < SHN_LORESERVE)
sym.st_shndx = newsecndx (sym.st_shndx, "section", ndx,
"symbol", i);
if (update_name && sym.st_name != 0)
diff --git a/tests/msg_tst.c b/tests/msg_tst.c
index 10ff0f73..7baea0a2 100644
--- a/tests/msg_tst.c
+++ b/tests/msg_tst.c
@@ -74,7 +74,14 @@ static struct
"program header only allowed in executables, shared objects, \
and core files" },
{ ELF_E_NO_PHDR, "file has no program header" },
- { ELF_E_INVALID_OFFSET, "invalid offset" }
+ { ELF_E_INVALID_OFFSET, "invalid offset" },
+ { ELF_E_INVALID_SECTION_TYPE , "invalid section type" },
+ { ELF_E_INVALID_SECTION_FLAGS , "invalid section flags" },
+ { ELF_E_NOT_COMPRESSED, "section does not contain compressed data" },
+ { ELF_E_ALREADY_COMPRESSED, "section contains compressed data" },
+ { ELF_E_UNKNOWN_COMPRESSION_TYPE, "unknown compression type" },
+ { ELF_E_COMPRESS_ERROR, "cannot compress data" },
+ { ELF_E_DECOMPRESS_ERROR, "cannot decompress data" }
};
diff --git a/tests/run-compress-test.sh b/tests/run-compress-test.sh
new file mode 100755
index 00000000..a6a298f5
--- /dev/null
+++ b/tests/run-compress-test.sh
@@ -0,0 +1,102 @@
+#! /bin/sh
+# Copyright (C) 2015 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
+
+# uncompress -> gnucompress -> uncompress -> elfcompress -> uncompress
+testrun_elfcompress_file()
+{
+ infile="$1"
+ uncompressedfile="${infile}.uncompressed"
+ tempfiles "$uncompressedfile"
+
+ echo "uncompress $infile -> $uncompressedfile"
+ testrun ${abs_top_builddir}/src/elfcompress -v -t none -o ${uncompressedfile} ${infile}
+ testrun ${abs_top_builddir}/src/elflint --gnu-ld ${uncompressedfile}
+
+ SIZE_uncompressed=$(stat -c%s $uncompressedfile)
+
+ gnucompressedfile="${infile}.gnu"
+ tempfiles "$gnucompressedfile"
+ echo "compress gnu $uncompressedfile -> $gnucompressedfile"
+ testrun ${abs_top_builddir}/src/elfcompress -v -t gnu -o ${gnucompressedfile} ${uncompressedfile}
+ testrun ${abs_top_builddir}/src/elflint --gnu-ld ${gnucompressedfile}
+
+ SIZE_gnucompressed=$(stat -c%s $gnucompressedfile)
+ test $SIZE_gnucompressed -lt $SIZE_uncompressed ||
+ { echo "*** failure $gnucompressedfile not smaller"; exit -1; }
+
+ gnuuncompressedfile="${infile}.gnu.uncompressed"
+ tempfiles "$gnuuncompressedfile"
+ echo "uncompress $gnucompressedfile -> $gnuuncompressedfile"
+ testrun ${abs_top_builddir}/src/elfcompress -v -t none -o ${gnuuncompressedfile} ${gnucompressedfile}
+ testrun ${abs_top_builddir}/src/elfcmp ${uncompressedfile} ${gnuuncompressedfile}
+
+ elfcompressedfile="${infile}.gabi"
+ tempfiles "$elfcompressedfile"
+ echo "compress gabi $uncompressedfile -> $elfcompressedfile"
+ testrun ${abs_top_builddir}/src/elfcompress -v -t zlib -o ${elfcompressedfile} ${uncompressedfile}
+ testrun ${abs_top_builddir}/src/elflint --gnu-ld ${elfcompressedfile}
+
+ SIZE_elfcompressed=$(stat -c%s $elfcompressedfile)
+ test $SIZE_elfcompressed -lt $SIZE_uncompressed ||
+ { echo "*** failure $elfcompressedfile not smaller"; exit -1; }
+
+ elfuncompressedfile="${infile}.gabi.uncompressed"
+ tempfiles "$elfuncompressedfile"
+ echo "uncompress $elfcompressedfile -> $elfuncompressedfile"
+ testrun ${abs_top_builddir}/src/elfcompress -v -t none -o ${elfuncompressedfile} ${elfcompressedfile}
+ testrun ${abs_top_builddir}/src/elfcmp ${uncompressedfile} ${elfuncompressedfile}
+}
+
+testrun_elfcompress()
+{
+ testfile="$1"
+ testfiles ${testfile}
+ testrun_elfcompress_file ${testfile}
+
+ # Merge the string tables to make things a little more interesting.
+ mergedfile="${testfile}.merged"
+ tempfiles ${mergedfile}
+ echo "merging string tables ${testfile} -> ${mergedfile}"
+ testrun ${abs_top_builddir}/tests/elfstrmerge -o ${mergedfile} ${testfile}
+ testrun_elfcompress_file ${mergedfile}
+}
+
+# Random ELF32 testfile
+testrun_elfcompress testfile4
+
+# Random ELF64 testfile
+testrun_elfcompress testfile12
+
+# Random ELF64BE testfile
+testrun_elfcompress testfileppc64
+
+# Random ELF32BE testfile
+testrun_elfcompress testfileppc32
+
+# Already compressed files
+testrun_elfcompress testfile-zgnu64
+testrun_elfcompress testfile-zgnu64be
+testrun_elfcompress testfile-zgabi64
+testrun_elfcompress testfile-zgabi64be
+testrun_elfcompress testfile-zgnu32
+testrun_elfcompress testfile-zgnu32be
+testrun_elfcompress testfile-zgabi32
+testrun_elfcompress testfile-zgabi32be
+
+exit 0
diff --git a/tests/run-dwelfgnucompressed.sh b/tests/run-dwelfgnucompressed.sh
new file mode 100755
index 00000000..b93a56f2
--- /dev/null
+++ b/tests/run-dwelfgnucompressed.sh
@@ -0,0 +1,108 @@
+#! /bin/sh
+# Copyright (C) 2015 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
+
+# = funcs.s =
+# .globl testfunc
+# testfunc:
+# nop
+# ret
+# .type testfunc, @function
+# .size testfunc, .-testfunc
+#
+# .globl testfunc2
+# testfunc2:
+# call testfunc
+# nop
+# nop
+# ret
+# .type testfunc2, @function
+# .size testfunc2, .-testfunc2
+#
+# .globl functest3
+# functest3:
+# jmp local
+# nop
+# nop
+# local:
+# call testfunc2
+# ret
+# .type functest3, @function
+# .size functest3, .-functest3
+
+# = start.s =
+# .global _start
+# _start:
+# call functest3
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# ret
+# .type _start, @function
+# .size _start, .-_start
+
+# gas --compress-debug-sections=zlib-gnu -32 -g -o start.o start.s
+# gas --compress-debug-sections=zlib-gnu -32 -g -o funcs.o funcs.s
+# ld --compress-debug-sections=zlib-gnu -melf_i386 -g -o zgnu32 funcs.o start.o
+
+# gas --compress-debug-sections=zlib-gnu -64 -g -o start.o start.s
+# gas --compress-debug-sections=zlib-gnu -64 -g -o funcs.o funcs.s
+# ld --compress-debug-sections=zlib-gnu -g -o zgnu32 funcs.o start.o
+
+testfiles testfile-zgnu64
+testrun_compare ${abs_top_builddir}/tests/dwelfgnucompressed testfile-zgnu64 <<\EOF
+section 2: GNU Compressed size: 60
+section 3: GNU Compressed size: aa
+section 5: GNU Compressed size: 8d
+EOF
+
+testfiles testfile-zgnu64be
+testrun_compare ${abs_top_builddir}/tests/dwelfgnucompressed testfile-zgnu64be <<\EOF
+section 3: GNU Compressed size: 60
+section 4: GNU Compressed size: 7e
+section 6: GNU Compressed size: 8d
+EOF
+
+testfiles testfile-zgnu32
+testrun_compare ${abs_top_builddir}/tests/dwelfgnucompressed testfile-zgnu32 <<\EOF
+section 2: GNU Compressed size: 40
+section 3: GNU Compressed size: 9a
+section 5: GNU Compressed size: 85
+EOF
+
+testfiles testfile-zgnu32be
+testrun_compare ${abs_top_builddir}/tests/dwelfgnucompressed testfile-zgnu32be <<\EOF
+section 3: GNU Compressed size: 40
+section 4: GNU Compressed size: 6e
+section 6: GNU Compressed size: 85
+EOF
+
+exit 0
diff --git a/tests/run-elfgetchdr.sh b/tests/run-elfgetchdr.sh
new file mode 100755
index 00000000..7a422f39
--- /dev/null
+++ b/tests/run-elfgetchdr.sh
@@ -0,0 +1,188 @@
+#! /bin/sh
+# Copyright (C) 2015 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
+
+# = funcs.s =
+# .globl testfunc
+# testfunc:
+# nop
+# ret
+# .type testfunc, @function
+# .size testfunc, .-testfunc
+#
+# .globl testfunc2
+# testfunc2:
+# call testfunc
+# nop
+# nop
+# ret
+# .type testfunc2, @function
+# .size testfunc2, .-testfunc2
+#
+# .globl functest3
+# functest3:
+# jmp local
+# nop
+# nop
+# local:
+# call testfunc2
+# ret
+# .type functest3, @function
+# .size functest3, .-functest3
+
+# = start.s =
+# .global _start
+# _start:
+# call functest3
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# nop
+# ret
+# .type _start, @function
+# .size _start, .-_start
+
+# gas --compress-debug-sections=zlib-gnu -32 -g -o start.o start.s
+# gas --compress-debug-sections=zlib-gnu -32 -g -o funcs.o funcs.s
+# ld --compress-debug-sections=zlib-gnu -melf_i386 -g -o zgnu32 funcs.o start.o
+
+# gas --compress-debug-sections=zlib-gnu -64 -g -o start.o start.s
+# gas --compress-debug-sections=zlib-gnu -64 -g -o funcs.o funcs.s
+# ld --compress-debug-sections=zlib-gnu -g -o zgnu64 funcs.o start.o
+
+# gas --compress-debug-sections=zlib-gabi -32 -g -o start.o start.s
+# gas --compress-debug-sections=zlib-gabi -32 -g -o funcs.o funcs.s
+# ld --compress-debug-sections=zlib-gabi -melf_i386 -g -o zgabi32 funcs.o start.o
+
+# gas --compress-debug-sections=zlib-gabi -64 -g -o start.o start.s
+# gas --compress-debug-sections=zlib-gabi -64 -g -o funcs.o funcs.s
+# ld --compress-debug-sections=zlib-gabi -g -o zgabi64 funcs.o start.o
+
+testfiles testfile-zgnu64
+testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgnu64 <<\EOF
+section 1: NOT Compressed
+section 2: GNU Compressed size: 60
+section 3: GNU Compressed size: aa
+section 4: NOT Compressed
+section 5: GNU Compressed size: 8d
+section 6: NOT Compressed
+section 7: NOT Compressed
+section 8: NOT Compressed
+EOF
+
+testfiles testfile-zgabi64
+testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgabi64 <<\EOF
+section 1: NOT Compressed
+section 2: ELF Compressed ch_type: 1, ch_size: 60, ch_addralign: 10
+section 3: ELF Compressed ch_type: 1, ch_size: aa, ch_addralign: 1
+section 4: NOT Compressed
+section 5: ELF Compressed ch_type: 1, ch_size: 8d, ch_addralign: 1
+section 6: NOT Compressed
+section 7: NOT Compressed
+section 8: NOT Compressed
+EOF
+
+testfiles testfile-zgnu32
+testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgnu32 <<\EOF
+section 1: NOT Compressed
+section 2: GNU Compressed size: 40
+section 3: GNU Compressed size: 9a
+section 4: NOT Compressed
+section 5: GNU Compressed size: 85
+section 6: NOT Compressed
+section 7: NOT Compressed
+section 8: NOT Compressed
+EOF
+
+testfiles testfile-zgabi32
+testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgabi32 <<\EOF
+section 1: NOT Compressed
+section 2: ELF Compressed ch_type: 1, ch_size: 40, ch_addralign: 8
+section 3: ELF Compressed ch_type: 1, ch_size: 9a, ch_addralign: 1
+section 4: NOT Compressed
+section 5: ELF Compressed ch_type: 1, ch_size: 85, ch_addralign: 1
+section 6: NOT Compressed
+section 7: NOT Compressed
+section 8: NOT Compressed
+EOF
+
+testfiles testfile-zgnu64be
+testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgnu64be <<\EOF
+section 1: NOT Compressed
+section 2: NOT Compressed
+section 3: GNU Compressed size: 60
+section 4: GNU Compressed size: 7e
+section 5: NOT Compressed
+section 6: GNU Compressed size: 8d
+section 7: NOT Compressed
+section 8: NOT Compressed
+section 9: NOT Compressed
+EOF
+
+testfiles testfile-zgabi64be
+testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgabi64be <<\EOF
+section 1: NOT Compressed
+section 2: NOT Compressed
+section 3: ELF Compressed ch_type: 1, ch_size: 60, ch_addralign: 10
+section 4: ELF Compressed ch_type: 1, ch_size: 7e, ch_addralign: 1
+section 5: NOT Compressed
+section 6: ELF Compressed ch_type: 1, ch_size: 8d, ch_addralign: 1
+section 7: NOT Compressed
+section 8: NOT Compressed
+section 9: NOT Compressed
+EOF
+
+testfiles testfile-zgnu32be
+testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgnu32be <<\EOF
+section 1: NOT Compressed
+section 2: NOT Compressed
+section 3: GNU Compressed size: 40
+section 4: GNU Compressed size: 6e
+section 5: NOT Compressed
+section 6: GNU Compressed size: 85
+section 7: NOT Compressed
+section 8: NOT Compressed
+section 9: NOT Compressed
+EOF
+
+testfiles testfile-zgabi32be
+testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgabi32be <<\EOF
+section 1: NOT Compressed
+section 2: NOT Compressed
+section 3: ELF Compressed ch_type: 1, ch_size: 40, ch_addralign: 8
+section 4: ELF Compressed ch_type: 1, ch_size: 6e, ch_addralign: 1
+section 5: NOT Compressed
+section 6: ELF Compressed ch_type: 1, ch_size: 85, ch_addralign: 1
+section 7: NOT Compressed
+section 8: NOT Compressed
+section 9: NOT Compressed
+EOF
+
+exit 0
diff --git a/tests/run-elfgetzdata.sh b/tests/run-elfgetzdata.sh
new file mode 100755
index 00000000..e2df3081
--- /dev/null
+++ b/tests/run-elfgetzdata.sh
@@ -0,0 +1,214 @@
+#! /bin/sh
+# Copyright (C) 2015 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-elfgetchdr.sh for testfiles.
+
+testfiles testfile-zgnu64
+testrun_compare ${abs_top_builddir}/tests/elfgetzdata read testfile-zgnu64 <<\EOF
+1: .text, NOT compressed
+2: .zdebug_aranges, GNU compressed, size: 60
+3: .zdebug_info, GNU compressed, size: aa
+4: .debug_abbrev, NOT compressed
+5: .zdebug_line, GNU compressed, size: 8d
+6: .shstrtab, NOT compressed
+7: .symtab, NOT compressed
+8: .strtab, NOT compressed
+EOF
+
+testrun_compare ${abs_top_builddir}/tests/elfgetzdata mmap testfile-zgnu64 <<\EOF
+1: .text, NOT compressed
+2: .zdebug_aranges, GNU compressed, size: 60
+3: .zdebug_info, GNU compressed, size: aa
+4: .debug_abbrev, NOT compressed
+5: .zdebug_line, GNU compressed, size: 8d
+6: .shstrtab, NOT compressed
+7: .symtab, NOT compressed
+8: .strtab, NOT compressed
+EOF
+
+testfiles testfile-zgnu64be
+testrun_compare ${abs_top_builddir}/tests/elfgetzdata read testfile-zgnu64be <<\EOF
+1: .text, NOT compressed
+2: .eh_frame, NOT compressed
+3: .zdebug_aranges, GNU compressed, size: 60
+4: .zdebug_info, GNU compressed, size: 7e
+5: .debug_abbrev, NOT compressed
+6: .zdebug_line, GNU compressed, size: 8d
+7: .shstrtab, NOT compressed
+8: .symtab, NOT compressed
+9: .strtab, NOT compressed
+EOF
+
+testrun_compare ${abs_top_builddir}/tests/elfgetzdata mmap testfile-zgnu64be <<\EOF
+1: .text, NOT compressed
+2: .eh_frame, NOT compressed
+3: .zdebug_aranges, GNU compressed, size: 60
+4: .zdebug_info, GNU compressed, size: 7e
+5: .debug_abbrev, NOT compressed
+6: .zdebug_line, GNU compressed, size: 8d
+7: .shstrtab, NOT compressed
+8: .symtab, NOT compressed
+9: .strtab, NOT compressed
+EOF
+
+testfiles testfile-zgabi64
+testrun_compare ${abs_top_builddir}/tests/elfgetzdata read testfile-zgabi64 <<\EOF
+1: .text, NOT compressed
+2: .debug_aranges, ELF compressed, size: 60
+3: .debug_info, ELF compressed, size: aa
+4: .debug_abbrev, NOT compressed
+5: .debug_line, ELF compressed, size: 8d
+6: .shstrtab, NOT compressed
+7: .symtab, NOT compressed
+8: .strtab, NOT compressed
+EOF
+
+testrun_compare ${abs_top_builddir}/tests/elfgetzdata mmap testfile-zgabi64 <<\EOF
+1: .text, NOT compressed
+2: .debug_aranges, ELF compressed, size: 60
+3: .debug_info, ELF compressed, size: aa
+4: .debug_abbrev, NOT compressed
+5: .debug_line, ELF compressed, size: 8d
+6: .shstrtab, NOT compressed
+7: .symtab, NOT compressed
+8: .strtab, NOT compressed
+EOF
+
+testfiles testfile-zgabi64be
+testrun_compare ${abs_top_builddir}/tests/elfgetzdata read testfile-zgabi64be <<\EOF
+1: .text, NOT compressed
+2: .eh_frame, NOT compressed
+3: .debug_aranges, ELF compressed, size: 60
+4: .debug_info, ELF compressed, size: 7e
+5: .debug_abbrev, NOT compressed
+6: .debug_line, ELF compressed, size: 8d
+7: .shstrtab, NOT compressed
+8: .symtab, NOT compressed
+9: .strtab, NOT compressed
+EOF
+
+testrun_compare ${abs_top_builddir}/tests/elfgetzdata mmap testfile-zgabi64be <<\EOF
+1: .text, NOT compressed
+2: .eh_frame, NOT compressed
+3: .debug_aranges, ELF compressed, size: 60
+4: .debug_info, ELF compressed, size: 7e
+5: .debug_abbrev, NOT compressed
+6: .debug_line, ELF compressed, size: 8d
+7: .shstrtab, NOT compressed
+8: .symtab, NOT compressed
+9: .strtab, NOT compressed
+EOF
+
+testfiles testfile-zgnu32
+testrun_compare ${abs_top_builddir}/tests/elfgetzdata read testfile-zgnu32 <<\EOF
+1: .text, NOT compressed
+2: .zdebug_aranges, GNU compressed, size: 40
+3: .zdebug_info, GNU compressed, size: 9a
+4: .debug_abbrev, NOT compressed
+5: .zdebug_line, GNU compressed, size: 85
+6: .shstrtab, NOT compressed
+7: .symtab, NOT compressed
+8: .strtab, NOT compressed
+EOF
+
+testrun_compare ${abs_top_builddir}/tests/elfgetzdata mmap testfile-zgnu32 <<\EOF
+1: .text, NOT compressed
+2: .zdebug_aranges, GNU compressed, size: 40
+3: .zdebug_info, GNU compressed, size: 9a
+4: .debug_abbrev, NOT compressed
+5: .zdebug_line, GNU compressed, size: 85
+6: .shstrtab, NOT compressed
+7: .symtab, NOT compressed
+8: .strtab, NOT compressed
+EOF
+
+testfiles testfile-zgnu32be
+testrun_compare ${abs_top_builddir}/tests/elfgetzdata read testfile-zgnu32be <<\EOF
+1: .text, NOT compressed
+2: .eh_frame, NOT compressed
+3: .zdebug_aranges, GNU compressed, size: 40
+4: .zdebug_info, GNU compressed, size: 6e
+5: .debug_abbrev, NOT compressed
+6: .zdebug_line, GNU compressed, size: 85
+7: .shstrtab, NOT compressed
+8: .symtab, NOT compressed
+9: .strtab, NOT compressed
+EOF
+
+testrun_compare ${abs_top_builddir}/tests/elfgetzdata mmap testfile-zgnu32be <<\EOF
+1: .text, NOT compressed
+2: .eh_frame, NOT compressed
+3: .zdebug_aranges, GNU compressed, size: 40
+4: .zdebug_info, GNU compressed, size: 6e
+5: .debug_abbrev, NOT compressed
+6: .zdebug_line, GNU compressed, size: 85
+7: .shstrtab, NOT compressed
+8: .symtab, NOT compressed
+9: .strtab, NOT compressed
+EOF
+
+testfiles testfile-zgabi32
+testrun_compare ${abs_top_builddir}/tests/elfgetzdata read testfile-zgabi32 <<\EOF
+1: .text, NOT compressed
+2: .debug_aranges, ELF compressed, size: 40
+3: .debug_info, ELF compressed, size: 9a
+4: .debug_abbrev, NOT compressed
+5: .debug_line, ELF compressed, size: 85
+6: .shstrtab, NOT compressed
+7: .symtab, NOT compressed
+8: .strtab, NOT compressed
+EOF
+
+testrun_compare ${abs_top_builddir}/tests/elfgetzdata mmap testfile-zgabi32 <<\EOF
+1: .text, NOT compressed
+2: .debug_aranges, ELF compressed, size: 40
+3: .debug_info, ELF compressed, size: 9a
+4: .debug_abbrev, NOT compressed
+5: .debug_line, ELF compressed, size: 85
+6: .shstrtab, NOT compressed
+7: .symtab, NOT compressed
+8: .strtab, NOT compressed
+EOF
+
+testfiles testfile-zgabi32be
+testrun_compare ${abs_top_builddir}/tests/elfgetzdata read testfile-zgabi32be <<\EOF
+1: .text, NOT compressed
+2: .eh_frame, NOT compressed
+3: .debug_aranges, ELF compressed, size: 40
+4: .debug_info, ELF compressed, size: 6e
+5: .debug_abbrev, NOT compressed
+6: .debug_line, ELF compressed, size: 85
+7: .shstrtab, NOT compressed
+8: .symtab, NOT compressed
+9: .strtab, NOT compressed
+EOF
+
+testrun_compare ${abs_top_builddir}/tests/elfgetzdata mmap testfile-zgabi32be <<\EOF
+1: .text, NOT compressed
+2: .eh_frame, NOT compressed
+3: .debug_aranges, ELF compressed, size: 40
+4: .debug_info, ELF compressed, size: 6e
+5: .debug_abbrev, NOT compressed
+6: .debug_line, ELF compressed, size: 85
+7: .shstrtab, NOT compressed
+8: .symtab, NOT compressed
+9: .strtab, NOT compressed
+EOF
+
+exit 0
diff --git a/tests/run-elfputzdata.sh b/tests/run-elfputzdata.sh
new file mode 100755
index 00000000..b882b3f0
--- /dev/null
+++ b/tests/run-elfputzdata.sh
@@ -0,0 +1,340 @@
+#! /bin/sh
+# Copyright (C) 2015 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
+
+# Random ELF32 testfile
+testfiles testfile4
+
+testrun_compare ${abs_top_builddir}/tests/elfputzdata gnu testfile4 <<\EOF
+Cannot compress 1 .interp
+Cannot compress 2 .note.ABI-tag
+Cannot compress 3 .hash
+Cannot compress 4 .dynsym
+Cannot compress 5 .dynstr
+Cannot compress 6 .gnu.version
+Cannot compress 7 .gnu.version_r
+Cannot compress 8 .rel.got
+Cannot compress 9 .rel.plt
+Cannot compress 10 .init
+Cannot compress 11 .plt
+Cannot compress 12 .text
+Cannot compress 13 .fini
+Cannot compress 14 .rodata
+Cannot compress 15 .data
+Cannot compress 16 .eh_frame
+Cannot compress 17 .gcc_except_table
+Cannot compress 18 .ctors
+Cannot compress 19 .dtors
+Cannot compress 20 .got
+Cannot compress 21 .dynamic
+Lets compress 22 .sbss, size: 0
+Cannot compress 23 .bss
+Lets compress 24 .stab, size: 21540
+Lets compress 25 .stabstr, size: 57297
+Lets compress 26 .comment, size: 648
+Lets compress 27 .debug_aranges, size: 56
+Lets compress 28 .debug_pubnames, size: 93
+Lets compress 29 .debug_info, size: 960
+Lets compress 30 .debug_abbrev, size: 405
+Lets compress 31 .debug_line, size: 189
+Lets compress 32 .note, size: 240
+Lets compress 33 .shstrtab, size: 320
+Lets compress 34 .symtab, size: 5488
+Lets compress 35 .strtab, size: 5727
+EOF
+
+testrun_compare ${abs_top_builddir}/tests/elfputzdata elf testfile4 <<\EOF
+Cannot compress 1 .interp
+Cannot compress 2 .note.ABI-tag
+Cannot compress 3 .hash
+Cannot compress 4 .dynsym
+Cannot compress 5 .dynstr
+Cannot compress 6 .gnu.version
+Cannot compress 7 .gnu.version_r
+Cannot compress 8 .rel.got
+Cannot compress 9 .rel.plt
+Cannot compress 10 .init
+Cannot compress 11 .plt
+Cannot compress 12 .text
+Cannot compress 13 .fini
+Cannot compress 14 .rodata
+Cannot compress 15 .data
+Cannot compress 16 .eh_frame
+Cannot compress 17 .gcc_except_table
+Cannot compress 18 .ctors
+Cannot compress 19 .dtors
+Cannot compress 20 .got
+Cannot compress 21 .dynamic
+Lets compress 22 .sbss, size: 0
+Cannot compress 23 .bss
+Lets compress 24 .stab, size: 21540
+Lets compress 25 .stabstr, size: 57297
+Lets compress 26 .comment, size: 648
+Lets compress 27 .debug_aranges, size: 56
+Lets compress 28 .debug_pubnames, size: 93
+Lets compress 29 .debug_info, size: 960
+Lets compress 30 .debug_abbrev, size: 405
+Lets compress 31 .debug_line, size: 189
+Lets compress 32 .note, size: 240
+Lets compress 33 .shstrtab, size: 320
+Lets compress 34 .symtab, size: 5488
+Lets compress 35 .strtab, size: 5727
+EOF
+
+# Random ELF64 testfile
+testfiles testfile12
+
+testrun_compare ${abs_top_builddir}/tests/elfputzdata gnu testfile12 <<\EOF
+Cannot compress 1 .hash
+Cannot compress 2 .dynsym
+Cannot compress 3 .dynstr
+Cannot compress 4 .gnu.version
+Cannot compress 5 .gnu.version_r
+Cannot compress 6 .rela.dyn
+Cannot compress 7 .rela.plt
+Cannot compress 8 .init
+Cannot compress 9 .plt
+Cannot compress 10 .text
+Cannot compress 11 .fini
+Cannot compress 12 .rodata
+Cannot compress 13 .eh_frame_hdr
+Cannot compress 14 .eh_frame
+Cannot compress 15 .data
+Cannot compress 16 .dynamic
+Cannot compress 17 .ctors
+Cannot compress 18 .dtors
+Cannot compress 19 .jcr
+Cannot compress 20 .got
+Cannot compress 21 .bss
+Lets compress 22 .comment, size: 246
+Lets compress 23 .debug_aranges, size: 192
+Lets compress 24 .debug_pubnames, size: 26
+Lets compress 25 .debug_info, size: 3468
+Lets compress 26 .debug_abbrev, size: 341
+Lets compress 27 .debug_line, size: 709
+Lets compress 28 .debug_frame, size: 56
+Lets compress 29 .debug_str, size: 2235
+Lets compress 30 .debug_macinfo, size: 10518
+Lets compress 31 .shstrtab, size: 308
+Lets compress 32 .symtab, size: 1944
+Lets compress 33 .strtab, size: 757
+EOF
+
+testrun_compare ${abs_top_builddir}/tests/elfputzdata elf testfile12 <<\EOF
+Cannot compress 1 .hash
+Cannot compress 2 .dynsym
+Cannot compress 3 .dynstr
+Cannot compress 4 .gnu.version
+Cannot compress 5 .gnu.version_r
+Cannot compress 6 .rela.dyn
+Cannot compress 7 .rela.plt
+Cannot compress 8 .init
+Cannot compress 9 .plt
+Cannot compress 10 .text
+Cannot compress 11 .fini
+Cannot compress 12 .rodata
+Cannot compress 13 .eh_frame_hdr
+Cannot compress 14 .eh_frame
+Cannot compress 15 .data
+Cannot compress 16 .dynamic
+Cannot compress 17 .ctors
+Cannot compress 18 .dtors
+Cannot compress 19 .jcr
+Cannot compress 20 .got
+Cannot compress 21 .bss
+Lets compress 22 .comment, size: 246
+Lets compress 23 .debug_aranges, size: 192
+Lets compress 24 .debug_pubnames, size: 26
+Lets compress 25 .debug_info, size: 3468
+Lets compress 26 .debug_abbrev, size: 341
+Lets compress 27 .debug_line, size: 709
+Lets compress 28 .debug_frame, size: 56
+Lets compress 29 .debug_str, size: 2235
+Lets compress 30 .debug_macinfo, size: 10518
+Lets compress 31 .shstrtab, size: 308
+Lets compress 32 .symtab, size: 1944
+Lets compress 33 .strtab, size: 757
+EOF
+
+# Random ELF64BE testfile
+testfiles testfileppc64
+
+testrun_compare ${abs_top_builddir}/tests/elfputzdata gnu testfileppc64 <<\EOF
+Cannot compress 1 .interp
+Cannot compress 2 .note.ABI-tag
+Cannot compress 3 .note.gnu.build-id
+Cannot compress 4 .gnu.hash
+Cannot compress 5 .dynsym
+Cannot compress 6 .dynstr
+Cannot compress 7 .gnu.version
+Cannot compress 8 .gnu.version_r
+Cannot compress 9 .rela.plt
+Cannot compress 10 .init
+Cannot compress 11 .text
+Cannot compress 12 .fini
+Cannot compress 13 .rodata
+Cannot compress 14 .eh_frame_hdr
+Cannot compress 15 .eh_frame
+Cannot compress 16 .init_array
+Cannot compress 17 .fini_array
+Cannot compress 18 .jcr
+Cannot compress 19 .dynamic
+Cannot compress 20 .data
+Cannot compress 21 .opd
+Cannot compress 22 .got
+Cannot compress 23 .plt
+Cannot compress 24 .bss
+Lets compress 25 .comment, size: 88
+Lets compress 26 .debug_aranges, size: 96
+Lets compress 27 .debug_info, size: 363
+Lets compress 28 .debug_abbrev, size: 315
+Lets compress 29 .debug_line, size: 119
+Lets compress 30 .debug_frame, size: 96
+Lets compress 31 .debug_str, size: 174
+Lets compress 32 .debug_loc, size: 171
+Lets compress 33 .debug_ranges, size: 32
+Lets compress 34 .shstrtab, size: 352
+Lets compress 35 .symtab, size: 1800
+Lets compress 36 .strtab, size: 602
+EOF
+
+testrun_compare ${abs_top_builddir}/tests/elfputzdata elf testfileppc64 <<\EOF
+Cannot compress 1 .interp
+Cannot compress 2 .note.ABI-tag
+Cannot compress 3 .note.gnu.build-id
+Cannot compress 4 .gnu.hash
+Cannot compress 5 .dynsym
+Cannot compress 6 .dynstr
+Cannot compress 7 .gnu.version
+Cannot compress 8 .gnu.version_r
+Cannot compress 9 .rela.plt
+Cannot compress 10 .init
+Cannot compress 11 .text
+Cannot compress 12 .fini
+Cannot compress 13 .rodata
+Cannot compress 14 .eh_frame_hdr
+Cannot compress 15 .eh_frame
+Cannot compress 16 .init_array
+Cannot compress 17 .fini_array
+Cannot compress 18 .jcr
+Cannot compress 19 .dynamic
+Cannot compress 20 .data
+Cannot compress 21 .opd
+Cannot compress 22 .got
+Cannot compress 23 .plt
+Cannot compress 24 .bss
+Lets compress 25 .comment, size: 88
+Lets compress 26 .debug_aranges, size: 96
+Lets compress 27 .debug_info, size: 363
+Lets compress 28 .debug_abbrev, size: 315
+Lets compress 29 .debug_line, size: 119
+Lets compress 30 .debug_frame, size: 96
+Lets compress 31 .debug_str, size: 174
+Lets compress 32 .debug_loc, size: 171
+Lets compress 33 .debug_ranges, size: 32
+Lets compress 34 .shstrtab, size: 352
+Lets compress 35 .symtab, size: 1800
+Lets compress 36 .strtab, size: 602
+EOF
+
+# Random ELF32BE testfile
+testfiles testfileppc32
+
+testrun_compare ${abs_top_builddir}/tests/elfputzdata gnu testfileppc32 <<\EOF
+Cannot compress 1 .interp
+Cannot compress 2 .note.ABI-tag
+Cannot compress 3 .note.gnu.build-id
+Cannot compress 4 .gnu.hash
+Cannot compress 5 .dynsym
+Cannot compress 6 .dynstr
+Cannot compress 7 .gnu.version
+Cannot compress 8 .gnu.version_r
+Cannot compress 9 .rela.dyn
+Cannot compress 10 .rela.plt
+Cannot compress 11 .init
+Cannot compress 12 .text
+Cannot compress 13 .fini
+Cannot compress 14 .rodata
+Cannot compress 15 .eh_frame_hdr
+Cannot compress 16 .eh_frame
+Cannot compress 17 .init_array
+Cannot compress 18 .fini_array
+Cannot compress 19 .jcr
+Cannot compress 20 .got2
+Cannot compress 21 .dynamic
+Cannot compress 22 .got
+Cannot compress 23 .plt
+Cannot compress 24 .data
+Cannot compress 25 .sdata
+Cannot compress 26 .bss
+Lets compress 27 .comment, size: 88
+Lets compress 28 .debug_aranges, size: 64
+Lets compress 29 .debug_info, size: 319
+Lets compress 30 .debug_abbrev, size: 318
+Lets compress 31 .debug_line, size: 109
+Lets compress 32 .debug_frame, size: 64
+Lets compress 33 .debug_str, size: 179
+Lets compress 34 .debug_loc, size: 99
+Lets compress 35 .debug_ranges, size: 16
+Lets compress 36 .shstrtab, size: 370
+Lets compress 37 .symtab, size: 1232
+Lets compress 38 .strtab, size: 569
+EOF
+
+testrun_compare ${abs_top_builddir}/tests/elfputzdata elf testfileppc32 <<\EOF
+Cannot compress 1 .interp
+Cannot compress 2 .note.ABI-tag
+Cannot compress 3 .note.gnu.build-id
+Cannot compress 4 .gnu.hash
+Cannot compress 5 .dynsym
+Cannot compress 6 .dynstr
+Cannot compress 7 .gnu.version
+Cannot compress 8 .gnu.version_r
+Cannot compress 9 .rela.dyn
+Cannot compress 10 .rela.plt
+Cannot compress 11 .init
+Cannot compress 12 .text
+Cannot compress 13 .fini
+Cannot compress 14 .rodata
+Cannot compress 15 .eh_frame_hdr
+Cannot compress 16 .eh_frame
+Cannot compress 17 .init_array
+Cannot compress 18 .fini_array
+Cannot compress 19 .jcr
+Cannot compress 20 .got2
+Cannot compress 21 .dynamic
+Cannot compress 22 .got
+Cannot compress 23 .plt
+Cannot compress 24 .data
+Cannot compress 25 .sdata
+Cannot compress 26 .bss
+Lets compress 27 .comment, size: 88
+Lets compress 28 .debug_aranges, size: 64
+Lets compress 29 .debug_info, size: 319
+Lets compress 30 .debug_abbrev, size: 318
+Lets compress 31 .debug_line, size: 109
+Lets compress 32 .debug_frame, size: 64
+Lets compress 33 .debug_str, size: 179
+Lets compress 34 .debug_loc, size: 99
+Lets compress 35 .debug_ranges, size: 16
+Lets compress 36 .shstrtab, size: 370
+Lets compress 37 .symtab, size: 1232
+Lets compress 38 .strtab, size: 569
+EOF
+
+exit 0
diff --git a/tests/run-elfstrmerge-test.sh b/tests/run-elfstrmerge-test.sh
new file mode 100755
index 00000000..d08b6fca
--- /dev/null
+++ b/tests/run-elfstrmerge-test.sh
@@ -0,0 +1,40 @@
+#! /bin/sh
+# Copyright (C) 2015 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
+
+# Merge string tables of file and check result with elflint.
+testrun_elfcompress()
+{
+ testfile="$1"
+ testfiles ${testfile}
+
+ mergedfile="${testfile}.merged"
+ tempfiles ${mergedfile}
+
+ echo "merging string tables ${testfile} -> ${mergedfile}"
+ testrun ${abs_top_builddir}/tests/elfstrmerge -o ${mergedfile} ${testfile}
+ testrun ${abs_top_builddir}/src/elflint --gnu-ld ${mergedfile}
+}
+
+# Random ELF32 testfile with extra STT_SECTION symbols
+testrun_elfcompress testfile4
+
+# Random ELF64 testfile with extra STT_SECTION symbols
+testrun_elfcompress testfile12
+
+exit 0
diff --git a/tests/run-readelf-z.sh b/tests/run-readelf-z.sh
new file mode 100755
index 00000000..6dbd2f14
--- /dev/null
+++ b/tests/run-readelf-z.sh
@@ -0,0 +1,202 @@
+#! /bin/sh
+# Copyright (C) 2015 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-elfgetchdr.sh for testfiles.
+
+testfiles testfile-zgnu64
+testrun_compare ${abs_top_builddir}/src/readelf -z -S testfile-zgnu64 <<\EOF
+There are 9 section headers, starting at offset 0x3e0:
+
+Section Headers:
+[Nr] Name Type Addr Off Size ES Flags Lk Inf Al
+ [Compression Size Al]
+[ 0] NULL 0000000000000000 00000000 00000000 0 0 0 0
+[ 1] .text PROGBITS 0000000000400078 00000078 0000002a 0 AX 0 0 1
+[ 2] .zdebug_aranges PROGBITS 0000000000000000 00000260 00000032 0 0 0 16
+ [GNU ZLIB 00000060 ]
+[ 3] .zdebug_info PROGBITS 0000000000000000 00000292 0000006f 0 0 0 1
+ [GNU ZLIB 000000aa ]
+[ 4] .debug_abbrev PROGBITS 0000000000000000 00000301 00000028 0 0 0 1
+[ 5] .zdebug_line PROGBITS 0000000000000000 00000329 0000005b 0 0 0 1
+ [GNU ZLIB 0000008d ]
+[ 6] .shstrtab STRTAB 0000000000000000 00000384 00000059 0 0 0 1
+[ 7] .symtab SYMTAB 0000000000000000 000000a8 00000168 24 8 8 8
+[ 8] .strtab STRTAB 0000000000000000 00000210 0000004b 0 0 0 1
+
+EOF
+
+testfiles testfile-zgnu64be
+testrun_compare ${abs_top_builddir}/src/readelf -z -S testfile-zgnu64be <<\EOF
+There are 10 section headers, starting at offset 0x438:
+
+Section Headers:
+[Nr] Name Type Addr Off Size ES Flags Lk Inf Al
+ [Compression Size Al]
+[ 0] NULL 0000000000000000 00000000 00000000 0 0 0 0
+[ 1] .text PROGBITS 0000000010000078 00000078 00000074 0 AX 0 0 8
+[ 2] .eh_frame PROGBITS 00000000100000ec 000000ec 00000000 0 A 0 0 4
+[ 3] .zdebug_aranges PROGBITS 0000000000000000 000002c0 00000034 0 0 0 16
+ [GNU ZLIB 00000060 ]
+[ 4] .zdebug_info PROGBITS 0000000000000000 000002f4 00000059 0 0 0 1
+ [GNU ZLIB 0000007e ]
+[ 5] .debug_abbrev PROGBITS 0000000000000000 0000034d 00000028 0 0 0 1
+[ 6] .zdebug_line PROGBITS 0000000000000000 00000375 0000005b 0 0 0 1
+ [GNU ZLIB 0000008d ]
+[ 7] .shstrtab STRTAB 0000000000000000 000003d0 00000063 0 0 0 1
+[ 8] .symtab SYMTAB 0000000000000000 000000f0 00000180 24 9 9 8
+[ 9] .strtab STRTAB 0000000000000000 00000270 00000044 0 0 0 1
+
+EOF
+
+testfiles testfile-zgabi64
+testrun_compare ${abs_top_builddir}/src/readelf -z -S testfile-zgabi64 <<\EOF
+There are 9 section headers, starting at offset 0x400:
+
+Section Headers:
+[Nr] Name Type Addr Off Size ES Flags Lk Inf Al
+ [Compression Size Al]
+[ 0] NULL 0000000000000000 00000000 00000000 0 0 0 0
+[ 1] .text PROGBITS 0000000000400078 00000078 0000002a 0 AX 0 0 1
+[ 2] .debug_aranges PROGBITS 0000000000000000 00000260 0000003e 0 C 0 0 16
+ [ELF ZLIB (1) 00000060 16]
+[ 3] .debug_info PROGBITS 0000000000000000 0000029e 0000007b 0 C 0 0 1
+ [ELF ZLIB (1) 000000aa 1]
+[ 4] .debug_abbrev PROGBITS 0000000000000000 00000319 00000028 0 0 0 1
+[ 5] .debug_line PROGBITS 0000000000000000 00000341 00000067 0 C 0 0 1
+ [ELF ZLIB (1) 0000008d 1]
+[ 6] .shstrtab STRTAB 0000000000000000 000003a8 00000056 0 0 0 1
+[ 7] .symtab SYMTAB 0000000000000000 000000a8 00000168 24 8 8 8
+[ 8] .strtab STRTAB 0000000000000000 00000210 0000004b 0 0 0 1
+
+EOF
+
+testfiles testfile-zgabi64be
+testrun_compare ${abs_top_builddir}/src/readelf -z -S testfile-zgabi64be <<\EOF
+There are 10 section headers, starting at offset 0x458:
+
+Section Headers:
+[Nr] Name Type Addr Off Size ES Flags Lk Inf Al
+ [Compression Size Al]
+[ 0] NULL 0000000000000000 00000000 00000000 0 0 0 0
+[ 1] .text PROGBITS 0000000010000078 00000078 00000074 0 AX 0 0 8
+[ 2] .eh_frame PROGBITS 00000000100000ec 000000ec 00000000 0 A 0 0 4
+[ 3] .debug_aranges PROGBITS 0000000000000000 000002c0 00000040 0 C 0 0 16
+ [ELF ZLIB (1) 00000060 16]
+[ 4] .debug_info PROGBITS 0000000000000000 00000300 00000065 0 C 0 0 1
+ [ELF ZLIB (1) 0000007e 1]
+[ 5] .debug_abbrev PROGBITS 0000000000000000 00000365 00000028 0 0 0 1
+[ 6] .debug_line PROGBITS 0000000000000000 0000038d 00000067 0 C 0 0 1
+ [ELF ZLIB (1) 0000008d 1]
+[ 7] .shstrtab STRTAB 0000000000000000 000003f4 00000060 0 0 0 1
+[ 8] .symtab SYMTAB 0000000000000000 000000f0 00000180 24 9 9 8
+[ 9] .strtab STRTAB 0000000000000000 00000270 00000044 0 0 0 1
+
+EOF
+
+testfiles testfile-zgnu32
+testrun_compare ${abs_top_builddir}/src/readelf -z -S testfile-zgnu32 <<\EOF
+There are 9 section headers, starting at offset 0x33c:
+
+Section Headers:
+[Nr] Name Type Addr Off Size ES Flags Lk Inf Al
+ [Compression Size Al]
+[ 0] NULL 00000000 000000 000000 0 0 0 0
+[ 1] .text PROGBITS 08048054 000054 00002a 0 AX 0 0 1
+[ 2] .zdebug_aranges PROGBITS 00000000 0001c0 000031 0 0 0 8
+ [GNU ZLIB 000040 ]
+[ 3] .zdebug_info PROGBITS 00000000 0001f1 00006f 0 0 0 1
+ [GNU ZLIB 00009a ]
+[ 4] .debug_abbrev PROGBITS 00000000 000260 000028 0 0 0 1
+[ 5] .zdebug_line PROGBITS 00000000 000288 00005a 0 0 0 1
+ [GNU ZLIB 000085 ]
+[ 6] .shstrtab STRTAB 00000000 0002e2 000059 0 0 0 1
+[ 7] .symtab SYMTAB 00000000 000080 0000f0 16 8 8 4
+[ 8] .strtab STRTAB 00000000 000170 00004b 0 0 0 1
+
+EOF
+
+testfiles testfile-zgnu32be
+testrun_compare ${abs_top_builddir}/src/readelf -z -S testfile-zgnu32be <<\EOF
+There are 10 section headers, starting at offset 0x390:
+
+Section Headers:
+[Nr] Name Type Addr Off Size ES Flags Lk Inf Al
+ [Compression Size Al]
+[ 0] NULL 00000000 000000 000000 0 0 0 0
+[ 1] .text PROGBITS 01800054 000054 000074 0 AX 0 0 1
+[ 2] .eh_frame PROGBITS 018000c8 0000c8 000000 0 A 0 0 4
+[ 3] .zdebug_aranges PROGBITS 00000000 000220 000033 0 0 0 8
+ [GNU ZLIB 000040 ]
+[ 4] .zdebug_info PROGBITS 00000000 000253 000058 0 0 0 1
+ [GNU ZLIB 00006e ]
+[ 5] .debug_abbrev PROGBITS 00000000 0002ab 000028 0 0 0 1
+[ 6] .zdebug_line PROGBITS 00000000 0002d3 000059 0 0 0 1
+ [GNU ZLIB 000085 ]
+[ 7] .shstrtab STRTAB 00000000 00032c 000063 0 0 0 1
+[ 8] .symtab SYMTAB 00000000 0000c8 000110 16 9 9 4
+[ 9] .strtab STRTAB 00000000 0001d8 000045 0 0 0 1
+
+EOF
+
+testfiles testfile-zgabi32
+testrun_compare ${abs_top_builddir}/src/readelf -z -S testfile-zgabi32 <<\EOF
+There are 9 section headers, starting at offset 0x338:
+
+Section Headers:
+[Nr] Name Type Addr Off Size ES Flags Lk Inf Al
+ [Compression Size Al]
+[ 0] NULL 00000000 000000 000000 0 0 0 0
+[ 1] .text PROGBITS 08048054 000054 00002a 0 AX 0 0 1
+[ 2] .debug_aranges PROGBITS 00000000 0001c0 000031 0 C 0 0 8
+ [ELF ZLIB (1) 000040 8]
+[ 3] .debug_info PROGBITS 00000000 0001f1 00006f 0 C 0 0 1
+ [ELF ZLIB (1) 00009a 1]
+[ 4] .debug_abbrev PROGBITS 00000000 000260 000028 0 0 0 1
+[ 5] .debug_line PROGBITS 00000000 000288 00005a 0 C 0 0 1
+ [ELF ZLIB (1) 000085 1]
+[ 6] .shstrtab STRTAB 00000000 0002e2 000056 0 0 0 1
+[ 7] .symtab SYMTAB 00000000 000080 0000f0 16 8 8 4
+[ 8] .strtab STRTAB 00000000 000170 00004b 0 0 0 1
+
+EOF
+
+testfiles testfile-zgabi32be
+testrun_compare ${abs_top_builddir}/src/readelf -z -S testfile-zgabi32be <<\EOF
+There are 10 section headers, starting at offset 0x38c:
+
+Section Headers:
+[Nr] Name Type Addr Off Size ES Flags Lk Inf Al
+ [Compression Size Al]
+[ 0] NULL 00000000 000000 000000 0 0 0 0
+[ 1] .text PROGBITS 01800054 000054 000074 0 AX 0 0 1
+[ 2] .eh_frame PROGBITS 018000c8 0000c8 000000 0 A 0 0 4
+[ 3] .debug_aranges PROGBITS 00000000 000220 000033 0 C 0 0 8
+ [ELF ZLIB (1) 000040 8]
+[ 4] .debug_info PROGBITS 00000000 000253 000058 0 C 0 0 1
+ [ELF ZLIB (1) 00006e 1]
+[ 5] .debug_abbrev PROGBITS 00000000 0002ab 000028 0 0 0 1
+[ 6] .debug_line PROGBITS 00000000 0002d3 000059 0 C 0 0 1
+ [ELF ZLIB (1) 000085 1]
+[ 7] .shstrtab STRTAB 00000000 00032c 000060 0 0 0 1
+[ 8] .symtab SYMTAB 00000000 0000c8 000110 16 9 9 4
+[ 9] .strtab STRTAB 00000000 0001d8 000045 0 0 0 1
+
+EOF
+
+exit 0
diff --git a/tests/run-readelf-zdebug-rel.sh b/tests/run-readelf-zdebug-rel.sh
new file mode 100755
index 00000000..88ea5bf2
--- /dev/null
+++ b/tests/run-readelf-zdebug-rel.sh
@@ -0,0 +1,144 @@
+#! /bin/sh
+# Copyright (C) 2015 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-zdebug-rel.c
+# #define UINT64_MAX 18446744073709551615UL
+#
+# int
+# main (int argc, char **argv)
+# {
+# unsigned long a = UINT64_MAX - 8;
+# unsigned long b = 42 + argc;
+#
+# if ( a + b < b )
+# argc = a + argc;
+# else
+# b--;
+#
+# return a - b;
+# }
+#
+# gcc -Og -g -Xassembler --compress-debug-sections=none \
+# -c -o testfile-debug-rel.o testfile-zdebug-rel.c
+# gcc -Og -g -Xassembler --compress-debug-sections=zlib-gnu \
+# -c -o testfile-debug-rel-g.o testfile-zdebug-rel.c
+# gcc -Og -g -Xassembler --compress-debug-sections=zlib-gabi \
+# -c -o testfile-debug-rel-z.o testfile-zdebug-rel.c
+
+testfiles testfile-debug-rel.o testfile-debug-rel-g.o testfile-debug-rel-z.o
+tempfiles readelf.out
+tempfiles info.out loc.out
+
+cat > info.out << \EOF
+
+DWARF section [ 4] '.debug_info' at offset 0x58:
+ [Offset]
+ Compilation unit at offset 0:
+ Version: 4, Abbreviation section offset: 0, Address size: 8, Offset size: 4
+ [ b] compile_unit
+ producer (strp) "GNU C11 5.3.1 20151207 (Red Hat 5.3.1-2) -mtune=generic -march=x86-64 -g -Og"
+ language (data1) C99 (12)
+ name (strp) "testfile-zdebug-rel.c"
+ comp_dir (strp) "/tmp"
+ low_pc (addr) 000000000000000000
+ high_pc (data8) 24 (0x0000000000000018)
+ stmt_list (sec_offset) 0
+ [ 2d] subprogram
+ external (flag_present)
+ name (strp) "main"
+ decl_file (data1) 1
+ decl_line (data1) 4
+ prototyped (flag_present)
+ type (ref4) [ 80]
+ low_pc (addr) 000000000000000000
+ high_pc (data8) 24 (0x0000000000000018)
+ frame_base (exprloc)
+ [ 0] call_frame_cfa
+ GNU_all_call_sites (flag_present)
+ sibling (ref4) [ 80]
+ [ 4e] formal_parameter
+ name (strp) "argc"
+ decl_file (data1) 1
+ decl_line (data1) 4
+ type (ref4) [ 80]
+ location (sec_offset) location list [ 0]
+ [ 5d] formal_parameter
+ name (strp) "argv"
+ decl_file (data1) 1
+ decl_line (data1) 4
+ type (ref4) [ 87]
+ location (exprloc)
+ [ 0] reg4
+ [ 6a] variable
+ name (string) "a"
+ decl_file (data1) 1
+ decl_line (data1) 6
+ type (ref4) [ 9a]
+ const_value (sdata) -9
+ [ 74] variable
+ name (string) "b"
+ decl_file (data1) 1
+ decl_line (data1) 7
+ type (ref4) [ 9a]
+ location (exprloc)
+ [ 0] reg5
+ [ 80] base_type
+ byte_size (data1) 4
+ encoding (data1) signed (5)
+ name (string) "int"
+ [ 87] pointer_type
+ byte_size (data1) 8
+ type (ref4) [ 8d]
+ [ 8d] pointer_type
+ byte_size (data1) 8
+ type (ref4) [ 93]
+ [ 93] base_type
+ byte_size (data1) 1
+ encoding (data1) signed_char (6)
+ name (strp) "char"
+ [ 9a] base_type
+ 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.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-g.o
+
+cat info.out | testrun_compare ${abs_top_builddir}/src/readelf -U --debug-dump=info testfile-debug-rel-z.o
+
+cat > loc.out << \EOF
+
+DWARF section [ 7] '.debug_loc' at offset 0x185:
+ [ 0] 000000000000000000..0x0000000000000003 [ 0] reg5
+ 0x0000000000000003..0x0000000000000010 [ 0] breg5 -42
+ [ 2] stack_value
+ 0x0000000000000010..0x0000000000000018 [ 0] GNU_entry_value:
+ [ 0] reg5
+ [ 3] stack_value
+EOF
+
+cat loc.out | testrun_compare ${abs_top_builddir}/src/readelf -U --debug-dump=loc testfile-debug-rel.o
+
+cat loc.out | sed -e "s/'.debug_loc' at offset 0x185/'.zdebug_loc' at offset 0x138/" | testrun_compare ${abs_top_builddir}/src/readelf -U --debug-dump=loc testfile-debug-rel-g.o
+
+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
+
+exit 0
diff --git a/tests/run-readelf-zp.sh b/tests/run-readelf-zp.sh
new file mode 100755
index 00000000..872126c5
--- /dev/null
+++ b/tests/run-readelf-zp.sh
@@ -0,0 +1,271 @@
+#! /bin/sh
+# Copyright (C) 2015 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-readelf-zdebug.sh for testfile.
+
+testfiles testfile-zdebug
+testrun_compare ${abs_top_builddir}/src/readelf -z -p.zdebug_str testfile-zdebug <<\EOF
+
+String section [35] '.zdebug_str' contains 2431 bytes (6433 uncompressed) at offset 0x1da3:
+ [ 0] UINT64_MAX 18446744073709551615UL
+ [ 22] __DBL_DENORM_MIN__ ((double)4.94065645841246544177e-324L)
+ [ 5c] __linux 1
+ [ 66] __SIZEOF_SIZE_T__ 8
+ [ 7a] __UINTPTR_TYPE__ long unsigned int
+ [ 9d] __SIZEOF_POINTER__ 8
+ [ b2] __UINT8_MAX__ 255
+ [ c4] __PTRDIFF_MAX__ 9223372036854775807L
+ [ e9] __DEC64_MANT_DIG__ 16
+ [ ff] __FLT_RADIX__ 2
+ [ 10f] __DEC32_MIN__ 1E-95DF
+ [ 125] __unix__ 1
+ [ 130] testfile-zdebug.c
+ [ 142] __UINT_LEAST64_MAX__ 18446744073709551615UL
+ [ 16e] __SIZEOF_WINT_T__ 4
+ [ 182] __LONG_MAX__ 9223372036854775807L
+ [ 1a4] __LDBL_MIN__ 3.36210314311209350626e-4932L
+ [ 1cf] __GCC_ATOMIC_SHORT_LOCK_FREE 2
+ [ 1ee] __LP64__ 1
+ [ 1f9] __UINT64_C(c) c ## UL
+ [ 20f] __DBL_HAS_INFINITY__ 1
+ [ 226] __SSE2_MATH__ 1
+ [ 236] __linux__ 1
+ [ 242] __STDC_HOSTED__ 1
+ [ 254] __WINT_MIN__ 0U
+ [ 264] __x86_64__ 1
+ [ 271] __UINT32_TYPE__ unsigned int
+ [ 28e] __UINT_LEAST8_MAX__ 255
+ [ 2a6] __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD
+ [ 2d7] __FLT_MAX__ 3.40282346638528859812e+38F
+ [ 2ff] long unsigned int
+ [ 311] __DBL_MANT_DIG__ 53
+ [ 325] linux 1
+ [ 32d] __DBL_HAS_QUIET_NAN__ 1
+ [ 345] __UINT8_TYPE__ unsigned char
+ [ 362] __DEC32_MAX_EXP__ 97
+ [ 377] __INT32_TYPE__ int
+ [ 38a] __SIG_ATOMIC_TYPE__ int
+ [ 3a2] __DEC64_MAX_EXP__ 385
+ [ 3b8] __DBL_MIN_EXP__ (-1021)
+ [ 3d0] _LP64 1
+ [ 3d8] __LDBL_HAS_INFINITY__ 1
+ [ 3f0] __INT_FAST64_TYPE__ long int
+ [ 40d] __gnu_linux__ 1
+ [ 41d] __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2
+ [ 43e] __UINT_FAST64_TYPE__ long unsigned int
+ [ 465] __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__
+ [ 48c] __UINT16_MAX__ 65535
+ [ 4a1] __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__
+ [ 4ce] __PRAGMA_REDEFINE_EXTNAME 1
+ [ 4ea] __INT_LEAST16_TYPE__ short int
+ [ 509] __k8__ 1
+ [ 512] __DECIMAL_DIG__ 21
+ [ 525] main
+ [ 52a] __DBL_MAX__ ((double)1.79769313486231570815e+308L)
+ [ 55d] __INT16_TYPE__ short int
+ [ 576] __LDBL_HAS_QUIET_NAN__ 1
+ [ 58f] __SIZEOF_DOUBLE__ 8
+ [ 5a3] __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF
+ [ 5ca] __ATOMIC_SEQ_CST 5
+ [ 5dd] __UINT64_TYPE__ long unsigned int
+ [ 5ff] __INT_LEAST32_TYPE__ int
+ [ 618] __INT_LEAST64_MAX__ 9223372036854775807L
+ [ 641] __OPTIMIZE__ 1
+ [ 650] __INTMAX_C(c) c ## L
+ [ 665] __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2
+ [ 687] __INT_FAST8_MAX__ 127
+ [ 69d] __PTRDIFF_TYPE__ long int
+ [ 6b7] __LDBL_MIN_EXP__ (-16381)
+ [ 6d1] __SIZEOF_LONG_LONG__ 8
+ [ 6e8] __FLT_DIG__ 6
+ [ 6f6] __UINTMAX_MAX__ 18446744073709551615UL
+ [ 71d] __SIZEOF_WCHAR_T__ 4
+ [ 732] __INT64_C(c) c ## L
+ [ 746] __UINTPTR_MAX__ 18446744073709551615UL
+ [ 76d] __FLT_MAX_10_EXP__ 38
+ [ 783] __FLT_MIN__ 1.17549435082228750797e-38F
+ [ 7ab] __UINT_LEAST64_TYPE__ long unsigned int
+ [ 7d3] __SIZEOF_LONG_DOUBLE__ 16
+ [ 7ed] __SIZE_MAX__ 18446744073709551615UL
+ [ 811] __INT8_C(c) c
+ [ 81f] __amd64__ 1
+ [ 82b] __INT_LEAST64_TYPE__ long int
+ [ 849] __INT_FAST64_MAX__ 9223372036854775807L
+ [ 871] __DEC_EVAL_METHOD__ 2
+ [ 887] __DEC32_MAX__ 9.999999E96DF
+ [ 8a3] __GNUC_MINOR__ 8
+ [ 8b4] __WCHAR_MAX__ 2147483647
+ [ 8cd] __SIZE_TYPE__ long unsigned int
+ [ 8ed] __INT8_MAX__ 127
+ [ 8fe] __INTMAX_MAX__ 9223372036854775807L
+ [ 922] __ATOMIC_HLE_RELEASE 131072
+ [ 93e] __FLT_HAS_QUIET_NAN__ 1
+ [ 956] __DBL_EPSILON__ ((double)2.22044604925031308085e-16L)
+ [ 98c] __FLT_MIN_EXP__ (-125)
+ [ 9a3] __INT_LEAST8_MAX__ 127
+ [ 9ba] __SIZEOF_INT128__ 16
+ [ 9cf] __INTPTR_MAX__ 9223372036854775807L
+ [ 9f3] __INTPTR_TYPE__ long int
+ [ a0c] __LDBL_MIN_10_EXP__ (-4931)
+ [ a28] __GCC_ATOMIC_POINTER_LOCK_FREE 2
+ [ a49] __UINT_LEAST32_MAX__ 4294967295U
+ [ a6a] __SIZEOF_SHORT__ 2
+ [ a7d] __LDBL_MAX_10_EXP__ 4932
+ [ a96] __INT16_C(c) c
+ [ aa5] __MMX__ 1
+ [ aaf] unix 1
+ [ ab6] __FLT_MAX_EXP__ 128
+ [ aca] __DEC64_MAX__ 9.999999999999999E384DD
+ [ af0] __FLT_EPSILON__ 1.19209289550781250000e-7F
+ [ b1b] __INT_FAST16_TYPE__ long int
+ [ b38] __VERSION__ "4.8.2 20140120 (Red Hat 4.8.2-15)"
+ [ b68] __GCC_ATOMIC_LLONG_LOCK_FREE 2
+ [ b87] __DEC128_MIN_EXP__ (-6142)
+ [ ba2] __ATOMIC_RELEASE 3
+ [ bb5] __GNUC_PATCHLEVEL__ 2
+ [ bcb] __UINT_FAST64_MAX__ 18446744073709551615UL
+ [ bf6] __DBL_DECIMAL_DIG__ 17
+ [ c0d] __DBL_DIG__ 15
+ [ c1c] __FLT_MANT_DIG__ 24
+ [ c30] __FLT_DECIMAL_DIG__ 9
+ [ c46] __INT16_MAX__ 32767
+ [ c5a] __DEC128_MIN__ 1E-6143DL
+ [ c73] __BIGGEST_ALIGNMENT__ 16
+ [ c8c] __INT64_MAX__ 9223372036854775807L
+ [ caf] __INT_FAST32_TYPE__ long int
+ [ ccc] __GCC_ATOMIC_INT_LOCK_FREE 2
+ [ ce9] __DEC128_MAX_EXP__ 6145
+ [ d01] __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1
+ [ d26] __FXSR__ 1
+ [ d31] __INT8_TYPE__ signed char
+ [ d4b] __ATOMIC_ACQ_REL 4
+ [ d5e] __UINT_LEAST16_MAX__ 65535
+ [ d79] __UINTMAX_TYPE__ long unsigned int
+ [ d9c] __UINT_FAST8_MAX__ 255
+ [ db3] __ORDER_BIG_ENDIAN__ 4321
+ [ dcd] __INT_LEAST32_MAX__ 2147483647
+ [ dec] __UINT_LEAST16_TYPE__ short unsigned int
+ [ e15] __INT_FAST8_TYPE__ signed char
+ [ e34] __DBL_MAX_EXP__ 1024
+ [ e49] __STDC__ 1
+ [ e54] __ELF__ 1
+ [ e5e] __FLT_EVAL_METHOD__ 0
+ [ e74] __ATOMIC_ACQUIRE 2
+ [ e87] __DEC64_EPSILON__ 1E-15DD
+ [ ea1] __INT32_MAX__ 2147483647
+ [ eba] __GCC_ATOMIC_CHAR_LOCK_FREE 2
+ [ ed8] __DEC128_EPSILON__ 1E-33DL
+ [ ef3] __UINT_FAST8_TYPE__ unsigned char
+ [ f15] __amd64 1
+ [ f1f] __DEC32_MIN_EXP__ (-94)
+ [ f37] __GCC_HAVE_DWARF2_CFI_ASM 1
+ [ f53] __LDBL_DIG__ 18
+ [ f63] __UINT32_MAX__ 4294967295U
+ [ f7e] __GNUC_GNU_INLINE__ 1
+ [ f94] __SSE2__ 1
+ [ f9f] __ATOMIC_HLE_ACQUIRE 65536
+ [ fba] __SSE_MATH__ 1
+ [ fc9] __INT_FAST16_MAX__ 9223372036854775807L
+ [ ff1] __LDBL_MAX__ 1.18973149535723176502e+4932L
+ [ 101c] __DBL_MIN__ ((double)2.22507385850720138309e-308L)
+ [ 104f] __DEC128_MANT_DIG__ 34
+ [ 1066] __INT32_C(c) c
+ [ 1075] __DEC64_MIN_EXP__ (-382)
+ [ 108e] __WCHAR_MIN__ (-__WCHAR_MAX__ - 1)
+ [ 10b1] __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2
+ [ 10d3] __LDBL_MAX_EXP__ 16384
+ [ 10ea] __DEC32_MANT_DIG__ 7
+ [ 10ff] __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL
+ [ 1139] __CHAR32_TYPE__ unsigned int
+ [ 1156] __INT_LEAST8_TYPE__ signed char
+ [ 1176] __UINT16_C(c) c
+ [ 1186] __GCC_ATOMIC_BOOL_LOCK_FREE 2
+ [ 11a4] __SIZEOF_FLOAT__ 4
+ [ 11b7] __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1
+ [ 11dc] __DBL_MAX_10_EXP__ 308
+ [ 11f3] __LDBL_EPSILON__ 1.08420217248550443401e-19L
+ [ 1220] __ORDER_PDP_ENDIAN__ 3412
+ [ 123a] __ORDER_LITTLE_ENDIAN__ 1234
+ [ 1257] __WINT_TYPE__ unsigned int
+ [ 1272] __unix 1
+ [ 127b] __ATOMIC_RELAXED 0
+ [ 128e] __UINT_FAST32_MAX__ 18446744073709551615UL
+ [ 12b9] __INT_FAST32_MAX__ 9223372036854775807L
+ [ 12e1] __SIG_ATOMIC_MAX__ 2147483647
+ [ 12ff] __UINT_FAST32_TYPE__ long unsigned int
+ [ 1326] __INT_MAX__ 2147483647
+ [ 133d] __GXX_ABI_VERSION 1002
+ [ 1354] __SIZEOF_INT__ 4
+ [ 1365] char
+ [ 136a] __UINT_FAST16_TYPE__ long unsigned int
+ [ 1391] __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L
+ [ 13c3] __WINT_MAX__ 4294967295U
+ [ 13dc] __FLT_HAS_INFINITY__ 1
+ [ 13f3] __SHRT_MAX__ 32767
+ [ 1406] __INT_LEAST16_MAX__ 32767
+ [ 1420] __LONG_LONG_MAX__ 9223372036854775807LL
+ [ 1448] __SIZEOF_LONG__ 8
+ [ 145a] __INTMAX_TYPE__ long int
+ [ 1473] __LDBL_HAS_DENORM__ 1
+ [ 1489] __code_model_small__ 1
+ [ 14a0] __REGISTER_PREFIX__
+ [ 14b5] __ATOMIC_CONSUME 1
+ [ 14c8] __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL
+ [ 150d] __GNUC__ 4
+ [ 1518] __UINT16_TYPE__ short unsigned int
+ [ 153b] __SSE__ 1
+ [ 1545] __UINT32_C(c) c ## U
+ [ 155a] __k8 1
+ [ 1561] __UINTMAX_C(c) c ## UL
+ [ 1578] __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1
+ [ 159d] __SIZEOF_PTRDIFF_T__ 8
+ [ 15b4] __CHAR_BIT__ 8
+ [ 15c3] __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1)
+ [ 15f0] __DEC32_EPSILON__ 1E-6DF
+ [ 1609] __UINT_LEAST32_TYPE__ unsigned int
+ [ 162c] __DBL_HAS_DENORM__ 1
+ [ 1641] /tmp
+ [ 1646] __LDBL_MANT_DIG__ 64
+ [ 165b] __GCC_ATOMIC_LONG_LOCK_FREE 2
+ [ 1679] __DECIMAL_BID_FORMAT__ 1
+ [ 1692] __FLT_MIN_10_EXP__ (-37)
+ [ 16ab] __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1
+ [ 16cf] __WCHAR_TYPE__ int
+ [ 16e2] __FINITE_MATH_ONLY__ 0
+ [ 16f9] argc
+ [ 16fe] __USER_LABEL_PREFIX__
+ [ 1715] __CHAR16_TYPE__ short unsigned int
+ [ 1738] __UINT64_MAX__ 18446744073709551615UL
+ [ 175e] __UINT8_C(c) c
+ [ 176d] __x86_64 1
+ [ 1778] __UINT_LEAST8_TYPE__ unsigned char
+ [ 179b] __INT64_TYPE__ long int
+ [ 17b3] __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1
+ [ 17d8] argv
+ [ 17dd] __GNUC_RH_RELEASE__ 15
+ [ 17f4] __UINT_FAST16_MAX__ 18446744073709551615UL
+ [ 181f] __FLT_HAS_DENORM__ 1
+ [ 1834] __DEC64_MIN__ 1E-383DD
+ [ 184b] __DBL_MIN_10_EXP__ (-307)
+ [ 1865] __FLT_DENORM_MIN__ 1.40129846432481707092e-45F
+ [ 1894] GNU C 4.8.2 20140120 (Red Hat 4.8.2-15) -mtune=generic -march=x86-64 -g3 -O3 -fuse-ld=gold -fno-asynchronous-unwind-tables
+ [ 190f] __SCHAR_MAX__ 127
+EOF
+
+exit 0
diff --git a/tests/run-readelf-zx.sh b/tests/run-readelf-zx.sh
new file mode 100755
index 00000000..994528c0
--- /dev/null
+++ b/tests/run-readelf-zx.sh
@@ -0,0 +1,66 @@
+#! /bin/sh
+# Copyright (C) 2015 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-elfgetchdr.sh for testfiles.
+
+testfiles testfile-zgnu64
+testrun_compare ${abs_top_builddir}/src/readelf -z -x.zdebug_aranges testfile-zgnu64 <<\EOF
+
+Hex dump of section [2] '.zdebug_aranges', 50 bytes (96 uncompressed) at offset 0x260:
+ 0x00000000 2c000000 02000000 00000800 00000000 ,...............
+ 0x00000010 78004000 00000000 14000000 00000000 x.@.............
+ 0x00000020 00000000 00000000 00000000 00000000 ................
+ 0x00000030 2c000000 02005500 00000800 00000000 ,.....U.........
+ 0x00000040 8c004000 00000000 16000000 00000000 ..@.............
+ 0x00000050 00000000 00000000 00000000 00000000 ................
+EOF
+
+testfiles testfile-zgabi64
+testrun_compare ${abs_top_builddir}/src/readelf -z -x.debug_aranges testfile-zgabi64 <<\EOF
+
+Hex dump of section [2] '.debug_aranges', 62 bytes (96 uncompressed) at offset 0x260:
+ 0x00000000 2c000000 02000000 00000800 00000000 ,...............
+ 0x00000010 78004000 00000000 14000000 00000000 x.@.............
+ 0x00000020 00000000 00000000 00000000 00000000 ................
+ 0x00000030 2c000000 02005500 00000800 00000000 ,.....U.........
+ 0x00000040 8c004000 00000000 16000000 00000000 ..@.............
+ 0x00000050 00000000 00000000 00000000 00000000 ................
+EOF
+
+testfiles testfile-zgnu32
+testrun_compare ${abs_top_builddir}/src/readelf -z -x.zdebug_aranges testfile-zgnu32 <<\EOF
+
+Hex dump of section [2] '.zdebug_aranges', 49 bytes (64 uncompressed) at offset 0x1c0:
+ 0x00000000 1c000000 02000000 00000400 00000000 ................
+ 0x00000010 54800408 14000000 00000000 00000000 T...............
+ 0x00000020 1c000000 02004d00 00000400 00000000 ......M.........
+ 0x00000030 68800408 16000000 00000000 00000000 h...............
+EOF
+
+testfiles testfile-zgabi32
+testrun_compare ${abs_top_builddir}/src/readelf -z -x.debug_aranges testfile-zgabi32 <<\EOF
+
+Hex dump of section [2] '.debug_aranges', 49 bytes (64 uncompressed) at offset 0x1c0:
+ 0x00000000 1c000000 02000000 00000400 00000000 ................
+ 0x00000010 54800408 14000000 00000000 00000000 T...............
+ 0x00000020 1c000000 02004d00 00000400 00000000 ......M.........
+ 0x00000030 68800408 16000000 00000000 00000000 h...............
+EOF
+
+exit 0
diff --git a/tests/run-zstrptr.sh b/tests/run-zstrptr.sh
new file mode 100755
index 00000000..254dcd85
--- /dev/null
+++ b/tests/run-zstrptr.sh
@@ -0,0 +1,167 @@
+#! /bin/sh
+# Copyright (C) 2015 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
+
+# A random 32bit and 64bit testfile
+testfiles testfile testfile10
+
+testrun_compare ${abs_top_builddir}/tests/zstrptr testfile <<\EOF
+Strings in section 32 (compressed):
+[0] ''
+[1] '.symtab'
+[9] '.strtab'
+[11] '.shstrtab'
+[1b] '.interp'
+[23] '.note.ABI-tag'
+[31] '.hash'
+[37] '.dynsym'
+[3f] '.dynstr'
+[47] '.gnu.version'
+[54] '.gnu.version_r'
+[63] '.rel.got'
+[6c] '.rel.plt'
+[75] '.init'
+[7b] '.plt'
+[80] '.text'
+[86] '.fini'
+[8c] '.rodata'
+[94] '.data'
+[9a] '.eh_frame'
+[a4] '.ctors'
+[ab] '.dtors'
+[b2] '.got'
+[b7] '.dynamic'
+[c0] '.sbss'
+[c6] '.bss'
+[cb] '.stab'
+[d1] '.stabstr'
+[da] '.comment'
+[e3] '.debug_aranges'
+[f2] '.debug_pubnames'
+[102] '.debug_info'
+[10e] '.debug_abbrev'
+[11c] '.debug_line'
+[128] '.note'
+Strings in section 32 (uncompressed):
+[0] ''
+[1] '.symtab'
+[9] '.strtab'
+[11] '.shstrtab'
+[1b] '.interp'
+[23] '.note.ABI-tag'
+[31] '.hash'
+[37] '.dynsym'
+[3f] '.dynstr'
+[47] '.gnu.version'
+[54] '.gnu.version_r'
+[63] '.rel.got'
+[6c] '.rel.plt'
+[75] '.init'
+[7b] '.plt'
+[80] '.text'
+[86] '.fini'
+[8c] '.rodata'
+[94] '.data'
+[9a] '.eh_frame'
+[a4] '.ctors'
+[ab] '.dtors'
+[b2] '.got'
+[b7] '.dynamic'
+[c0] '.sbss'
+[c6] '.bss'
+[cb] '.stab'
+[d1] '.stabstr'
+[da] '.comment'
+[e3] '.debug_aranges'
+[f2] '.debug_pubnames'
+[102] '.debug_info'
+[10e] '.debug_abbrev'
+[11c] '.debug_line'
+[128] '.note'
+EOF
+
+testrun_compare ${abs_top_builddir}/tests/zstrptr testfile10 <<\EOF
+Strings in section 30 (compressed):
+[0] ''
+[1] '.symtab'
+[9] '.strtab'
+[11] '.shstrtab'
+[1b] '.hash'
+[21] '.dynsym'
+[29] '.dynstr'
+[31] '.gnu.version'
+[3e] '.gnu.version_r'
+[4d] '.rela.dyn'
+[57] '.init'
+[5d] '.text'
+[63] '.fini'
+[69] '.eh_frame'
+[73] '.data'
+[79] '.dynamic'
+[82] '.ctors'
+[89] '.dtors'
+[90] '.jcr'
+[95] '.plt'
+[9a] '.got'
+[9f] '.sdata'
+[a6] '.sbss'
+[ac] '.bss'
+[b1] '.comment'
+[ba] '.debug_aranges'
+[c9] '.debug_pubnames'
+[d9] '.debug_abbrev'
+[e7] '.debug_line'
+[f3] '.debug_frame'
+[100] '.debug_str'
+[10b] '.rela.debug_info'
+Strings in section 30 (uncompressed):
+[0] ''
+[1] '.symtab'
+[9] '.strtab'
+[11] '.shstrtab'
+[1b] '.hash'
+[21] '.dynsym'
+[29] '.dynstr'
+[31] '.gnu.version'
+[3e] '.gnu.version_r'
+[4d] '.rela.dyn'
+[57] '.init'
+[5d] '.text'
+[63] '.fini'
+[69] '.eh_frame'
+[73] '.data'
+[79] '.dynamic'
+[82] '.ctors'
+[89] '.dtors'
+[90] '.jcr'
+[95] '.plt'
+[9a] '.got'
+[9f] '.sdata'
+[a6] '.sbss'
+[ac] '.bss'
+[b1] '.comment'
+[ba] '.debug_aranges'
+[c9] '.debug_pubnames'
+[d9] '.debug_abbrev'
+[e7] '.debug_line'
+[f3] '.debug_frame'
+[100] '.debug_str'
+[10b] '.rela.debug_info'
+EOF
+
+exit 0
diff --git a/tests/system-elf-libelf-test.c b/tests/system-elf-libelf-test.c
new file mode 100644
index 00000000..7dfe4989
--- /dev/null
+++ b/tests/system-elf-libelf-test.c
@@ -0,0 +1,35 @@
+/* Explicit test compiling with system elf.h header plus libelf header.
+
+ Copyright (C) 2016 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/>. */
+
+#include <elf.h>
+#include <stddef.h>
+#include "../libelf/libelf.h"
+
+int
+main (void)
+{
+ /* Trivial test, this is really a compile test anyway. */
+ if (elf_version (EV_CURRENT) == EV_NONE)
+ return -1;
+
+ /* This will obviously fail. It is just to check that Elf32_Chdr and
+ elf32_getchdr are available (both at compile time and runtime). */
+ Elf32_Chdr *chdr = elf32_getchdr (NULL);
+
+ return chdr == NULL ? 0 : -1;
+}
diff --git a/tests/testfile-debug-rel-g.o.bz2 b/tests/testfile-debug-rel-g.o.bz2
new file mode 100644
index 00000000..b8c94e7e
--- /dev/null
+++ b/tests/testfile-debug-rel-g.o.bz2
Binary files differ
diff --git a/tests/testfile-debug-rel-z.o.bz2 b/tests/testfile-debug-rel-z.o.bz2
new file mode 100644
index 00000000..1cdac790
--- /dev/null
+++ b/tests/testfile-debug-rel-z.o.bz2
Binary files differ
diff --git a/tests/testfile-debug-rel.o.bz2 b/tests/testfile-debug-rel.o.bz2
new file mode 100644
index 00000000..a3f8dffa
--- /dev/null
+++ b/tests/testfile-debug-rel.o.bz2
Binary files differ
diff --git a/tests/testfile-zgabi32.bz2 b/tests/testfile-zgabi32.bz2
new file mode 100755
index 00000000..6159dbce
--- /dev/null
+++ b/tests/testfile-zgabi32.bz2
Binary files differ
diff --git a/tests/testfile-zgabi32be.bz2 b/tests/testfile-zgabi32be.bz2
new file mode 100755
index 00000000..f1f5eb5c
--- /dev/null
+++ b/tests/testfile-zgabi32be.bz2
Binary files differ
diff --git a/tests/testfile-zgabi64.bz2 b/tests/testfile-zgabi64.bz2
new file mode 100755
index 00000000..3b44f089
--- /dev/null
+++ b/tests/testfile-zgabi64.bz2
Binary files differ
diff --git a/tests/testfile-zgabi64be.bz2 b/tests/testfile-zgabi64be.bz2
new file mode 100755
index 00000000..d819ae3d
--- /dev/null
+++ b/tests/testfile-zgabi64be.bz2
Binary files differ
diff --git a/tests/testfile-zgnu32.bz2 b/tests/testfile-zgnu32.bz2
new file mode 100755
index 00000000..9d622cad
--- /dev/null
+++ b/tests/testfile-zgnu32.bz2
Binary files differ
diff --git a/tests/testfile-zgnu32be.bz2 b/tests/testfile-zgnu32be.bz2
new file mode 100755
index 00000000..c1dd589e
--- /dev/null
+++ b/tests/testfile-zgnu32be.bz2
Binary files differ
diff --git a/tests/testfile-zgnu64.bz2 b/tests/testfile-zgnu64.bz2
new file mode 100755
index 00000000..1bc2c090
--- /dev/null
+++ b/tests/testfile-zgnu64.bz2
Binary files differ
diff --git a/tests/testfile-zgnu64be.bz2 b/tests/testfile-zgnu64be.bz2
new file mode 100755
index 00000000..390c9c90
--- /dev/null
+++ b/tests/testfile-zgnu64be.bz2
Binary files differ
diff --git a/tests/zstrptr.c b/tests/zstrptr.c
new file mode 100644
index 00000000..6d8e19f7
--- /dev/null
+++ b/tests/zstrptr.c
@@ -0,0 +1,124 @@
+/* Test program for elf_strptr function.
+ Copyright (C) 2015 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/>. */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
+#include <errno.h>
+#include <fcntl.h>
+#include <inttypes.h>
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+#include <unistd.h>
+
+#include ELFUTILS_HEADER(elf)
+#include <gelf.h>
+
+int
+main (int argc, char *argv[])
+{
+ if (argc != 2)
+ {
+ printf ("No ELF file given as argument");
+ exit (1);
+ }
+
+ const char *fname = argv[1];
+
+ // Initialize libelf.
+ elf_version (EV_CURRENT);
+
+ /* Read the ELF from disk now. */
+ int fd = open (fname, O_RDONLY);
+ if (fd == -1)
+ {
+ printf ("cannot open `%s' read-only: %s\n", fname, strerror (errno));
+ exit (1);
+ }
+
+ Elf *elf = elf_begin (fd, ELF_C_READ, NULL);
+ if (elf == NULL)
+ {
+ printf ("cannot create ELF descriptor read-only: %s\n", elf_errmsg (-1));
+ exit (1);
+ }
+
+ size_t ndx;
+ if (elf_getshdrstrndx (elf, &ndx) != 0)
+ {
+ printf ("cannot get section header table index: %s\n", elf_errmsg (-1));
+ exit (1);
+ }
+
+ if (ndx == SHN_UNDEF)
+ {
+ printf ("ELF file `%s' doesn't have a section header table index", fname);
+ exit (1);
+ }
+
+ Elf_Scn *scn = elf_getscn (elf, ndx);
+ if (scn == NULL)
+ {
+ printf ("Couldn't get section %zd: %s\n", ndx, elf_errmsg (-1));
+ exit (1);
+ }
+
+ void print_strings (void)
+ {
+ GElf_Shdr shdr_mem;
+ GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem);
+
+ printf ("Strings in section %zd (%s):\n", ndx,
+ ((shdr->sh_flags & SHF_COMPRESSED) != 0
+ ? "compressed" : "uncompressed"));
+
+ size_t off = 0;
+ const char *str = elf_strptr (elf, ndx, off);
+ while (str != NULL)
+ {
+ printf ("[%zx] '%s'\n", off, str);
+ off += strlen (str) + 1;
+ str = elf_strptr (elf, ndx, off);
+ }
+ }
+
+ if (elf_compress (scn, ELFCOMPRESS_ZLIB, 0) < 0)
+ {
+ printf ("Couldn't compress section %zd: %s\n", ndx, elf_errmsg (-1));
+ exit (1);
+ }
+ print_strings ();
+
+ if (elf_compress (scn, 0, 0) < 0)
+ {
+ printf ("Couldn't decompress section %zd: %s\n", ndx, elf_errmsg (-1));
+ exit (1);
+ }
+ print_strings ();
+
+ if (elf_end (elf) != 0)
+ {
+ printf ("failure in elf_end: %s\n", elf_errmsg (-1));
+ exit (1);
+ }
+
+ close (fd);
+
+ return 0;
+}
diff --git a/version.h b/version.h
index 67f67596..a1ee4932 100644
--- a/version.h
+++ b/version.h
@@ -30,7 +30,7 @@
#ifndef _ELFUTILS_VERSION_H
#define _ELFUTILS_VERSION_H 1
-#define _ELFUTILS_VERSION 164
+#define _ELFUTILS_VERSION 165
#define _ELFUTILS_PREREQ(major, minor) \
(_ELFUTILS_VERSION >= ((major) * 1000 + (minor)))