Merge "Merge upstream 0.165 SHA '203f0a3'"
diff --git a/.gitignore b/.gitignore
index a944762..75043fe 100644
--- a/.gitignore
+++ b/.gitignore
@@ -31,6 +31,8 @@
/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 @@
/src/addr2line
/src/ar
/src/elfcmp
+/src/elfcompress
/src/elflint
/src/findtextrel
/src/ld
diff --git a/ChangeLog b/ChangeLog
index bbe0b8c..637bc13 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 1454d04..2ff444e 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 6416a72..53fe364 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 07f2ff7..f5a11b3 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 428162f..8e20f1e 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 23f7b65..66012d0 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 b718f06..693c262 100644
--- a/config/elfutils.spec.in
+++ b/config/elfutils.spec.in
@@ -31,13 +31,15 @@
%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 @@
%{_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 @@
%{_libdir}/libebl.a
#%{_libdir}/libasm.so
%{_libdir}/libdw.so
+%{_libdir}/pkgconfig/libdw.pc
%files devel-static
%{_libdir}/libdw.a
@@ -215,6 +219,7 @@
%{_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 @@
%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 0000000..b7dc002
--- /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 0000000..1fc7e4c
--- /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 e010754..9a3301f 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
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 @@
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 @@
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 @@
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 d0e97f3..fc80e8d 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 63532fd..6f25e42 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 @@
};
#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 @@
/* 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 @@
/* 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 @@
/* 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 @@
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 @@
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 @@
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 @@
{
/* 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 2108063..6c6d985 100644
--- a/libdw/dwarf_end.c
+++ b/libdw/dwarf_end.c
@@ -57,24 +57,6 @@
}
-#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 @@
/* 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 1d4cbb0..1681b6b 100644
--- a/libdw/libdw.map
+++ b/libdw/libdw.map
@@ -322,3 +322,8 @@
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 2d233f6..5d095a7 100644
--- a/libdw/libdwP.h
+++ b/libdw/libdwP.h
@@ -147,11 +147,6 @@
/* 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 @@
/* 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 f182ecf..fe8af1b 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 cd4b7dd..4de4b2e 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 @@
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 0000000..d39b702
--- /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 e16dc0f..7f7f679 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 @@
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 06b8469..94c58d9 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 72c980b..89ca92e 100644
--- a/libdwfl/Makefile.am
+++ b/libdwfl/Makefile.am
@@ -68,11 +68,9 @@
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 e9589b3..0e8810b 100644
--- a/libdwfl/dwfl_module_getdwarf.c
+++ b/libdwfl/dwfl_module_getdwarf.c
@@ -1130,10 +1130,39 @@
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). */
- mod->symstrdata = elf_getdata (elf_getscn (mod->symfile->elf, strshndx),
- NULL);
+ 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);
+
+ 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 @@
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 @@
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 @@
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 d8020fc..e27f74f 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 @@
".xz",
#endif
};
-#endif
/* Try to open the given file as it is or under the debuginfo directory. */
static int
@@ -115,7 +111,6 @@
}
}
-#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 @@
}
}
}
-#endif
if (fd < 0)
{
@@ -304,9 +298,7 @@
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 c1d0ed2..92f2798 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 @@
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 @@
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 2dc6737..fc88df3 100644
--- a/libdwfl/relocate.c
+++ b/libdwfl/relocate.c
@@ -123,23 +123,32 @@
{
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))
+ {
+ /* 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;
- case SHT_SYMTAB_SHNDX:
- cache->symxndxdata = elf_getdata (scn, NULL);
- if (unlikely (cache->symxndxdata == NULL))
- 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 @@
/* 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 @@
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 a1a1022..aa3d686 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 fa1eb93..f80a1a5 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 @@
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)
+ /* Descriptor starts with three addresses, pc, base ref and
+ semaphore. Then three zero terminated strings provider,
+ name and arguments. */
+
+ union
{
- invalid_sdt:
- printf (gettext ("invalid SDT probe descriptor\n"));
- return;
- }
+ Elf64_Addr a64[3];
+ Elf32_Addr a32[3];
+ } addrs;
- Elf_Data src =
- {
- .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
- .d_buf = (void *) desc, .d_size = addrs_size
- };
+ 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 dst =
- {
- .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
- .d_buf = &addrs, .d_size = addrs_size
- };
+ Elf_Data src =
+ {
+ .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
+ .d_buf = (void *) desc, .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;
- }
+ Elf_Data dst =
+ {
+ .d_type = ELF_T_ADDR, .d_version = EV_CURRENT,
+ .d_buf = &addrs, .d_size = addrs_size
+ };
- const char *provider = desc + addrs_size;
- const char *pname = memchr (provider, '\0', desc + descsz - provider);
- if (pname == NULL)
- goto invalid_sdt;
+ if (gelf_xlatetom (ebl->elf, &dst, &src,
+ elf_getident (ebl->elf, NULL)[EI_DATA]) == NULL)
+ {
+ printf ("%s\n", elf_errmsg (-1));
+ return;
+ }
- ++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;
+ const char *provider = desc + addrs_size;
+ const char *pname = memchr (provider, '\0', desc + descsz - provider);
+ if (pname == NULL)
+ 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];
- }
+ ++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;
- 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;
- }
+ 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];
+ }
- 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;
+ 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;
+ }
- 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;
+ 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_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. */
+ 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
- };
+ 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;
+ 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_GNU:
+ os = "GNU";
+ break;
- case ELF_NOTE_OS_SOLARIS2:
- os = "Solaris";
- break;
+ case ELF_NOTE_OS_SOLARIS2:
+ os = "Solaris";
+ break;
- case ELF_NOTE_OS_FREEBSD:
- os = "FreeBSD";
- break;
+ case ELF_NOTE_OS_FREEBSD:
+ os = "FreeBSD";
+ break;
- default:
- os = "???";
- 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 */
+ 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;
- }
+ default:
+ /* Unknown type. */
+ break;
+ }
+ }
}
diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c
index b301400..372ef2a 100644
--- a/libebl/eblopenbackend.c
+++ b/libebl/eblopenbackend.c
@@ -662,7 +662,9 @@
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 1c0195c..53d47be 100755
--- a/libelf/Android.mk
+++ b/libelf/Android.mk
@@ -17,6 +17,7 @@
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 @@
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 @@
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 @@
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_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_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 fbe8e3a..afe6a6a 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 4a4131c..167a832 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 @@
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 @@
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 53713ee..d4515f2 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 @@
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 0000000..70782b4
--- /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 0000000..982a614
--- /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 3a6375c..237d912 100644
--- a/libelf/elf32_getshdr.c
+++ b/libelf/elf32_getshdr.c
@@ -99,6 +99,7 @@
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 @@
/* 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 d3754d3..03de032 100644
--- a/libelf/elf32_updatenull.c
+++ b/libelf/elf32_updatenull.c
@@ -382,12 +382,27 @@
/* 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 0000000..6588b79
--- /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 d2920c4..147f5f4 100644
--- a/libelf/elf_begin.c
+++ b/libelf/elf_begin.c
@@ -340,6 +340,7 @@
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 @@
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 0000000..4c7c35e
--- /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 0000000..c35dc39
--- /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 7ea876c..fde17b5 100644
--- a/libelf/elf_end.c
+++ b/libelf/elf_end.c
@@ -150,6 +150,12 @@
/* 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 @@
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 d6bdaab..888b389 100644
--- a/libelf/elf_error.c
+++ b/libelf/elf_error.c
@@ -230,6 +230,41 @@
(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 @@
[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 9a567e5..4ec94b9 100644
--- a/libelf/elf_getdata.c
+++ b/libelf/elf_getdata.c
@@ -106,6 +106,7 @@
[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 @@
#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 @@
Elf64_Off offset;
Elf64_Xword size;
Elf64_Xword align;
+ Elf64_Xword flags;
int type;
Elf *elf = scn->elf;
@@ -220,6 +238,7 @@
size = shdr->sh_size;
type = shdr->sh_type;
align = shdr->sh_addralign;
+ flags = shdr->sh_flags;
}
else
{
@@ -234,6 +253,7 @@
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 @@
/* 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 @@
}
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 c5138dc..ea21045 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 @@
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 @@
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 @@
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 8cb2aae..7bacd65 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 @@
Move32 (Ext_);
Lib32 (Ext_);
auxv_t32 (Ext_);
+Chdr32 (Ext_);
Ehdr64 (Ext_);
Phdr64 (Ext_);
@@ -92,6 +93,7 @@
Move64 (Ext_);
Lib64 (Ext_);
auxv_t64 (Ext_);
+Chdr64 (Ext_);
#undef START
#undef END
diff --git a/libelf/gelf.h b/libelf/gelf.h
index e3f0740..1bc7ee7 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 @@
/* 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 @@
/* 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 a124fa8..0c50926 100644
--- a/libelf/gelf_fsize.c
+++ b/libelf/gelf_fsize.c
@@ -68,6 +68,7 @@
[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 0000000..394bf4b
--- /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 c5805e7..f3d3b7a 100644
--- a/libelf/gelf_xlate.c
+++ b/libelf/gelf_xlate.c
@@ -166,6 +166,7 @@
#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 @@
[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 f11eb90..3c0e4bf 100644
--- a/libelf/gelf_xlate.h
+++ b/libelf/gelf_xlate.h
@@ -50,6 +50,7 @@
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 54f7c29..c0d6389 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 @@
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 @@
#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 @@
/* 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 @@
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 de6d912..10dc505 100644
--- a/libelf/libelf.map
+++ b/libelf/libelf.map
@@ -138,3 +138,13 @@
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 993c655..57ccbce 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 @@
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 @@
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 @@
# 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 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 1082015..0acdda6 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 10feb6f..2b937ac 100644
--- a/po/de.po
+++ b/po/de.po
@@ -11,7 +11,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
"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 @@
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 @@
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 @@
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 @@
"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 @@
"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 @@
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 @@
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 @@
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 @@
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 @@
"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 @@
"\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 @@
"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 @@
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 @@
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 @@
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 @@
msgstr[0] ""
msgstr[1] ""
-#: src/readelf.c:1406
+#: src/readelf.c:1484
#, c-format
msgid ""
"\n"
@@ -4543,21 +4621,25 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
"%#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 @@
" [ 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 @@
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
-#, c-format
-msgid " (offset: %#<PRIx64>)"
-msgstr ""
-
-#: src/readelf.c:5684
-#, c-format
-msgid " (end offset: %#<PRIx64>)"
-msgstr ""
-
-#: src/readelf.c:5721
-#, c-format
-msgid " %-26sLSDA pointer: %#<PRIx64>\n"
-msgstr ""
-
-#: src/readelf.c:5776
-#, c-format
-msgid "cannot get attribute code: %s"
-msgstr ""
-
#: src/readelf.c:5785
#, c-format
+msgid " (offset: %#<PRIx64>)"
+msgstr ""
+
+#: src/readelf.c:5792
+#, c-format
+msgid " (end offset: %#<PRIx64>)"
+msgstr ""
+
+#: src/readelf.c:5829
+#, c-format
+msgid " %-26sLSDA pointer: %#<PRIx64>\n"
+msgstr ""
+
+#: src/readelf.c:5884
+#, c-format
+msgid "cannot get attribute code: %s"
+msgstr ""
+
+#: 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 @@
" [Offset]\n"
msgstr ""
-#: src/readelf.c:6131
+#: src/readelf.c:6239
#, c-format
msgid ""
" Type unit at offset %<PRIu64>:\n"
@@ -5237,7 +5319,7 @@
" 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 @@
"%<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 @@
"\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 @@
"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
-#, c-format
-msgid " set address to %s\n"
-msgstr ""
-
-#: src/readelf.c:6701
-#, c-format
-msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
-msgstr ""
-
-#: src/readelf.c:6714
-#, c-format
-msgid " set discriminator to %u\n"
-msgstr ""
-
-#: src/readelf.c:6719
-#, fuzzy
-msgid " unknown opcode"
-msgstr "unbekannter Typ"
-
-#: src/readelf.c:6731
-msgid " copy"
-msgstr ""
-
-#: src/readelf.c:6742
-#, c-format
-msgid " advance address by %u to %s, op_index to %u\n"
-msgstr ""
-
-#: src/readelf.c:6746
-#, c-format
-msgid " advance address by %u to %s\n"
-msgstr ""
-
-#: src/readelf.c:6757
-#, c-format
-msgid " advance line by constant %d to %<PRId64>\n"
-msgstr ""
-
-#: src/readelf.c:6765
-#, c-format
-msgid " set file to %<PRIu64>\n"
-msgstr ""
-
-#: src/readelf.c:6775
-#, c-format
-msgid " set column to %<PRIu64>\n"
-msgstr ""
-
#: src/readelf.c:6782
#, c-format
+msgid " set address to %s\n"
+msgstr ""
+
+#: src/readelf.c:6809
+#, c-format
+msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n"
+msgstr ""
+
+#: src/readelf.c:6822
+#, c-format
+msgid " set discriminator to %u\n"
+msgstr ""
+
+#: src/readelf.c:6827
+#, fuzzy
+msgid " unknown opcode"
+msgstr "unbekannter Typ"
+
+#: src/readelf.c:6839
+msgid " copy"
+msgstr ""
+
+#: src/readelf.c:6850
+#, c-format
+msgid " advance address by %u to %s, op_index to %u\n"
+msgstr ""
+
+#: src/readelf.c:6854
+#, c-format
+msgid " advance address by %u to %s\n"
+msgstr ""
+
+#: src/readelf.c:6865
+#, c-format
+msgid " advance line by constant %d to %<PRId64>\n"
+msgstr ""
+
+#: src/readelf.c:6873
+#, c-format
+msgid " set file to %<PRIu64>\n"
+msgstr ""
+
+#: src/readelf.c:6883
+#, c-format
+msgid " set column to %<PRIu64>\n"
+msgstr ""
+
+#: 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 @@
" %*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 @@
" 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 @@
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 @@
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 @@
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 71aec39..ba58653 100644
--- a/po/es.po
+++ b/po/es.po
@@ -10,7 +10,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
"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 @@
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 @@
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 @@
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 @@
"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 @@
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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
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 @@
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 @@
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 @@
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 @@
"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 @@
"\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 @@
"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 @@
"%*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 @@
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 @@
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 @@
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 @@
"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 @@
"Encabezamiento ELF:\n"
" Mágico: "
-#: src/readelf.c:946
+#: src/readelf.c:973
#, c-format
msgid ""
"\n"
@@ -4697,119 +4759,119 @@
"\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 @@
" Í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 @@
"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 @@
"[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 @@
"[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 @@
" 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 @@
" 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 @@
"\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 @@
"\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 @@
" 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 @@
"\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 @@
"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 @@
"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 @@
"\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 @@
" 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 @@
" 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 @@
" 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 @@
" 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 @@
" 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 @@
" 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 @@
"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 @@
" 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 @@
"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 @@
"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 @@
"\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 @@
"\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 @@
" 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 @@
"\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 @@
"\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 @@
"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 @@
"\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 @@
"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 @@
"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 @@
" 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 @@
"\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 @@
"\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 @@
"\n"
"Tabla de Directorio:"
-#: src/readelf.c:6503
+#: src/readelf.c:6611
msgid ""
"\n"
"File name table:\n"
@@ -5834,7 +5918,7 @@
"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 @@
"\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 @@
"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 @@
"\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 @@
"\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 @@
"\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 @@
" 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 @@
"\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 @@
"\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 @@
"\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 @@
"\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 @@
"\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 @@
"\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 @@
"\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 @@
"\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 @@
"\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 @@
"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 @@
"\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 @@
"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 @@
"\n"
"sección [%lu] no existe"
-#: src/readelf.c:9505
+#: src/readelf.c:9647
#, c-format
msgid ""
"\n"
@@ -6321,12 +6427,12 @@
"\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 @@
"\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 @@
"\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 @@
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 @@
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 @@
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 @@
"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 @@
"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 3c32ee1..6d99a25 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
"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 @@
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 @@
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 @@
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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
"セクション [%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 @@
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 @@
"警告: `%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 @@
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 @@
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 @@
"出力形式として 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 @@
"\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 @@
"%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 @@
"%*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 @@
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 @@
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 @@
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 @@
"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 @@
"ELF ヘッダー:\n"
" マジック: "
-#: src/readelf.c:946
+#: src/readelf.c:973
#, c-format
msgid ""
"\n"
@@ -4444,117 +4505,117 @@
"\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 @@
" セクションヘッダー文字列テーブル索引: 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 @@
" セクションヘッダー文字列テーブル索引: %<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 @@
"オフセット %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 @@
"[番] 名前 タイプ アドレス オフセ 大きさ 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 @@
"[番] 名前 タイプ アドレス オフセ 大きさ 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 @@
" タイプ オフセ 仮想アドレス 物理アドレス ファイル量メモ"
"量 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 @@
" セクションからセグメントへのマッビング:\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 @@
"署名 '%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 @@
"署名 '%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 @@
" アドレス: %#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 @@
"\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 @@
"オフセット %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 @@
"オフセット %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 @@
"\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 @@
" アドレス: %#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 @@
" アドレス: %#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 @@
" アドレス: %#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 @@
" アドレス: %#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 @@
" テストの平均数: 検索成功: %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 @@
" ビットマスクの大きさ: %zu バイト %<PRIuFAST32>%% ビット設定 第2ハッシュシフ"
"ト: %u\n"
-#: src/readelf.c:3250
+#: src/readelf.c:3358
#, c-format
msgid ""
"\n"
@@ -4988,7 +5071,7 @@
"オフセット %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 @@
" ライブラリー タイムスタンプ チェックサム バー"
"ジョン フラグ"
-#: src/readelf.c:3314
+#: src/readelf.c:3422
#, c-format
msgid ""
"\n"
@@ -5007,140 +5090,140 @@
"オフセット %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 @@
"オフセット %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 @@
"\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 @@
"オフセット %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 @@
"\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 @@
"\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 @@
"\n"
"オフセット %3$#<PRIx64> の フレーム情報呼出しセクション [%1$2zu] '%2$s':\n"
-#: src/readelf.c:5452
+#: src/readelf.c:5560
#, c-format
msgid ""
"\n"
@@ -5351,50 +5434,50 @@
"\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 @@
"オフセット %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 @@
" バージョン: %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 @@
" バージョン: %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 @@
"\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 @@
"\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 @@
"\n"
"ディレクトリーテーブル:"
-#: src/readelf.c:6503
+#: src/readelf.c:6611
msgid ""
"\n"
"File name table:\n"
@@ -5528,7 +5611,7 @@
"ファイル名テーブル:\n"
" Entry Dir 時刻 大きさ 名前"
-#: src/readelf.c:6538
+#: src/readelf.c:6646
msgid ""
"\n"
"Line number statements:"
@@ -5536,215 +5619,215 @@
"\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 @@
# # "オフセット %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 @@
"オフセット %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 @@
"\n"
"呼出しフレーム検索テーブルセクション [%2zu] '.eh_frame_hdr':\n"
-#: src/readelf.c:7764
+#: src/readelf.c:7872
#, c-format
msgid ""
"\n"
@@ -5786,22 +5869,22 @@
"\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 @@
"\n"
" 呼出しサイトテーブル:"
-#: src/readelf.c:7841
+#: src/readelf.c:7949
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -5822,12 +5905,12 @@
" 離着陸場: %#<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 @@
"オフセット %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 @@
"オフセット %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 @@
"オフセット %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 @@
"オフセット %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 @@
"\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 @@
"\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 @@
"オフセット %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 @@
"\n"
"オフセット %2$#0<PRIx64> の %1$<PRIu64> バイトのノートセグメント:\n"
-#: src/readelf.c:9395
+#: src/readelf.c:9501
#, fuzzy, c-format
msgid ""
"\n"
@@ -5967,12 +6050,12 @@
"\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 @@
"オフセット %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 @@
"\n"
"セクション [%Zu] '%s' にはダンプすべきデータがありません。\n"
-#: src/readelf.c:9428
+#: src/readelf.c:9564
#, fuzzy, c-format
msgid ""
"\n"
@@ -6001,7 +6095,18 @@
"オフセット %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 @@
"\n"
"セクション [%lu] がありません"
-#: src/readelf.c:9505
+#: src/readelf.c:9647
#, c-format
msgid ""
"\n"
@@ -6019,12 +6124,12 @@
"\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 @@
"\n"
"アーカイブ '%s' にはシンボル索引がありません\n"
-#: src/readelf.c:9569
+#: src/readelf.c:9711
#, fuzzy, c-format
msgid ""
"\n"
@@ -6042,12 +6147,12 @@
"\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 @@
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 @@
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 @@
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 50eff02..66c4f59 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 @@
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 @@
" - '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 @@
#: 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 @@
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 @@
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 @@
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 @@
#: 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 @@
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 @@
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 @@
#: 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 @@
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 @@
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 @@
#: 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 @@
"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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
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 @@
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 @@
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 @@
#: 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 @@
#: 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 @@
"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 @@
"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 @@
"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 @@
"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"
-
-#: src/elflint.c:2289
-#, 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”: pliki relokowalne nie mogą posiadać tabeli mieszających\n"
#: 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"
+
+#: 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"
-
-#: src/elflint.c:2621
-#, 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”: niezerowe sh_flags\n"
#: src/elflint.c:2625
#, 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"
+msgid "section [%2d] '%s': cannot get symbol for signature\n"
+msgstr "sekcja [%2d] „%s”: nie można uzyskać symbolu dla podpisu\n"
-#: src/elflint.c:2630
+#: 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"
+
+#: 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"
-
-#: src/elflint.c:2662
-#, 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 słowa flag\n"
#: src/elflint.c:2666
#, c-format
-msgid "section [%2d] '%s': section group with only one member\n"
-msgstr "sekcja [%2d] \"%s\": grupa sekcji z tylko jednym elementem\n"
+msgid "section [%2d] '%s': section group without member\n"
+msgstr "sekcja [%2d] „%s”: grupa sekcji bez elementów\n"
-#: src/elflint.c:2677
+#: 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"
+
+#: 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"
-
-#: src/elflint.c:2973
-#, 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: symbol lokalny z wersją\n"
#: 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"
+
+#: 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 @@
"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 @@
"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 @@
"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"
-
-#: src/elflint.c:3901
-#, c-format
-msgid "section [%2zu] '%s': invalid section reference in link value\n"
-msgstr ""
-"sekcja [%2zu] \"%s\": nieprawidłowe odwołanie do sekcji w wartości "
-"dowiązania\n"
-
-#: src/elflint.c:3906
-#, c-format
-msgid "section [%2zu] '%s': invalid section reference in info value\n"
-msgstr ""
-"sekcja [%2zu] \"%s\": nieprawidłowe odwołanie do sekcji w wartości "
-"informacyjnej\n"
+"sekcja [%2zu] „%s”: adres sekcji danych lokalnych dla wątków nie jest zerem\n"
#: src/elflint.c:3913
#, 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"
+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"
+
+#: 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 "
+"informacyjnej\n"
+
+#: 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"
+
+#: 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 @@
"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 @@
"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 @@
"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 @@
"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 @@
"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 @@
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 @@
#: 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 @@
#: 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 @@
#, 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 @@
"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 @@
"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 @@
#: 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 @@
#: src/ld.c:191
msgid "[FILE]..."
-msgstr "[PLIK]..."
+msgstr "[PLIK]…"
#: src/ld.c:319
#, c-format
@@ -3643,7 +3672,7 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
"%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 @@
#: 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 @@
#: 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 @@
#: 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 @@
"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 @@
#: 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 @@
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 @@
#: 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 @@
#: 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 @@
"\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 @@
"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 @@
"%*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 @@
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 @@
#: 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 @@
"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 @@
"Nagłówek ELF:\n"
" Magic: "
-#: src/readelf.c:946
+#: src/readelf.c:973
#, c-format
msgid ""
"\n"
@@ -4619,117 +4656,117 @@
"\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 @@
" 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 @@
" 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 @@
"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 @@
"[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 @@
" 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 @@
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 @@
"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 @@
"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
-msgid "invalid sh_link value in section %zu"
-msgstr "nieprawidłowa wartość sh_link w sekcji %Zu"
+#: 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:1588
+#: 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"
+
+#: src/readelf.c:1676
#, c-format
msgid ""
"\n"
@@ -4891,36 +4950,36 @@
" 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 @@
"\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 @@
"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 @@
"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 @@
"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 @@
" 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 @@
" 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 @@
" 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 @@
" 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 @@
" Ś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 @@
" 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 @@
"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 @@
" Biblioteka Oznaczenie czasu Suma k. Wersja "
"Flagi"
-#: src/readelf.c:3314
+#: src/readelf.c:3422
#, c-format
msgid ""
"\n"
@@ -5274,143 +5330,143 @@
"%#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 @@
" [ 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 @@
"\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 @@
"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 @@
" [%*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 @@
"\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 @@
" 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 @@
"\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 @@
" [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 @@
"%<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 @@
" 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 @@
"\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 @@
" 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[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 @@
"\n"
"Tabela katalogu:"
-#: src/readelf.c:6503
+#: src/readelf.c:6611
msgid ""
"\n"
"File name table:\n"
@@ -5808,7 +5864,7 @@
"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 @@
"\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[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 @@
" %*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 @@
"\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 @@
" 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 @@
"\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 @@
"\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 @@
"\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 @@
"\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 @@
"\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:9476
+#: 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:9618
#, c-format
msgid ""
"\n"
@@ -6284,79 +6361,78 @@
"\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 @@
#: 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 @@
#: 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 @@
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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
#: 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 @@
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 @@
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 @@
#: 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 @@
"\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 @@
#: 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 4cf554b..7e875e2 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -7,7 +7,7 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
"початкових кодах. Умовами ліцензування програми НЕ передбачено жодних "
"гарантій, зокрема гарантій працездатності або придатності для певної мети.\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 @@
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 @@
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 @@
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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ хешу [%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 @@
"виявлено посилання на символ %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 @@
"виявлено посилання на символ %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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"кількість записів у розділі [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"нульовий розділ має ненульове значення розміру, хоча заголовок 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 @@
"нульовий розділ має ненульове значення компонування, хоча у заголовку 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 @@
"нульовий розділ має ненульове значення компонування, хоча у заголовку 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 @@
"розділ [%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 @@
"у розділ [%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 @@
"у розділі [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"розділ [%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 @@
"придатний до завантаження сегмент [%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 @@
"немає розділу .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 @@
"розділ [%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 @@
"розділ [%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 @@
"заголовки програм можуть бути лише у виконуваних файлів, об’єктних файлів "
"спільного використання або файлів 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 @@
"запис заголовка програми %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 @@
"виконуваний модуль/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 @@
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 @@
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 @@
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 @@
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 @@
"Використовувати формат виводу ФОРМАТ. ФОРМАТом може бути «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 @@
"\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 @@
"Символи з %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 @@
"%*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 @@
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 @@
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 @@
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 @@
"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 @@
"Заголовок ELF:\n"
" Magic: "
-#: src/readelf.c:946
+#: src/readelf.c:973
#, c-format
msgid ""
"\n"
@@ -4647,117 +4709,117 @@
"\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 @@
" Індекс заголовка розділу у таблиці рядків: 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 @@
" Індекс заголовка розділу у таблиці рядків: %<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 @@
"Виявлено %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 @@
"[№ ] Назва Тип Адр Змі Розмір 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 @@
"[№ ] Назва Тип Адр Змі Розмір 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 @@
" Тип Зміщен ВіртАдр ФізАдр "
"РозмФайлРозмПам Пра Вирів"
-#: 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 @@
" Відображення розділів на сегмент:\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 @@
"\n"
"Група розділів COMDAT [%2zu] «%s» з підписом «%s» містить %zu записів:\n"
-#: src/readelf.c:1406
+#: src/readelf.c:1484
#, c-format
msgid ""
"\n"
@@ -4878,21 +4958,25 @@
"\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 @@
"Динамічний сегмент містить %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 @@
"\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 @@
"Розділ пересування [%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 @@
"\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 @@
"\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[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 @@
"Розділ потреби у версіях [%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 @@
"Розділ визначення версії [%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 @@
"Розділ символів версій [%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 @@
"блоками):\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 @@
" Середня кількість тестів: успішний пошук: %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 @@
" Розмір бітової маски: %zu байтів %<PRIuFAST32>%% встановлених бітів зсув "
"2-го хешу: %u\n"
-#: src/readelf.c:3250
+#: src/readelf.c:3358
#, c-format
msgid ""
"\n"
@@ -5269,7 +5353,7 @@
"Розділ списку бібліотек [%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 @@
" Бібліотека Часовий штамп Версія суми "
"Прапорці"
-#: src/readelf.c:3314
+#: src/readelf.c:3422
#, c-format
msgid ""
"\n"
@@ -5288,140 +5372,140 @@
"Розділ атрибутів об’єктів [%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 @@
"Розділ DWARF [%2zu] «%s» зі зміщенням %#<PRIx64>:\n"
" [ Код]\n"
-#: src/readelf.c:4532
+#: src/readelf.c:4640
#, c-format
msgid ""
"\n"
@@ -5441,30 +5525,30 @@
"\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 @@
"\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 @@
" [%*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 @@
"\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 @@
"\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 @@
"\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 @@
" Розмір сегмента: %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 @@
"\n"
"Розділ відомостей щодо вікна викликів [%2zu] «%s» за зміщенням %#<PRIx64>:\n"
-#: src/readelf.c:5452
+#: src/readelf.c:5560
#, c-format
msgid ""
"\n"
@@ -5639,50 +5723,50 @@
"\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 @@
"Розділ 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 @@
"Зміщення: %<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 @@
" Версія: %<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 @@
"Розділ 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 @@
"\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[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 @@
"\n"
"Таблиця каталогу:"
-#: src/readelf.c:6503
+#: src/readelf.c:6611
msgid ""
"\n"
"File name table:\n"
@@ -5819,7 +5903,7 @@
"Таблиця назв файлів:\n"
" Запис Кат Час Розмір Назва"
-#: src/readelf.c:6538
+#: src/readelf.c:6646
msgid ""
"\n"
"Line number statements:"
@@ -5827,120 +5911,120 @@
"\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[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 @@
"Розділ 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 @@
"\n"
"Розділ таблиці пошуку вікон виклику [%2zu] '.eh_frame_hdr':\n"
-#: src/readelf.c:7764
+#: src/readelf.c:7872
#, c-format
msgid ""
"\n"
@@ -6077,22 +6161,22 @@
"\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 @@
"\n"
" Таблиця місця виклику:"
-#: src/readelf.c:7841
+#: src/readelf.c:7949
#, c-format
msgid ""
" [%4u] Call site start: %#<PRIx64>\n"
@@ -6113,12 +6197,12 @@
" Місце застосування: %#<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 @@
"\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 @@
"\n"
" Список CU зі зміщенням %#<PRIx32> містить %zu записів:\n"
-#: src/readelf.c:8054
+#: src/readelf.c:8162
#, c-format
msgid ""
"\n"
@@ -6175,7 +6259,7 @@
"\n"
" Список TU зі зміщенням %#<PRIx32> містить %zu записів:\n"
-#: src/readelf.c:8083
+#: src/readelf.c:8191
#, c-format
msgid ""
"\n"
@@ -6184,7 +6268,7 @@
"\n"
" Список адрес зі зміщенням %#<PRIx32> містить %zu записів:\n"
-#: src/readelf.c:8116
+#: src/readelf.c:8224
#, c-format
msgid ""
"\n"
@@ -6193,17 +6277,17 @@
"\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 @@
"\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 @@
"Розділ записів (note) [%2zu] «%s» з %<PRIu64> байтів за зміщенням "
"%#0<PRIx64>:\n"
-#: src/readelf.c:9349
+#: src/readelf.c:9455
#, c-format
msgid ""
"\n"
@@ -6245,7 +6329,7 @@
"\n"
"Сегмент записів з %<PRIu64> байтів за зміщенням %#0<PRIx64>:\n"
-#: src/readelf.c:9395
+#: src/readelf.c:9501
#, c-format
msgid ""
"\n"
@@ -6254,12 +6338,12 @@
"\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 @@
"\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 @@
"\n"
"У розділі [%zu] «%s» не міститься рядків для створення дампу.\n"
-#: src/readelf.c:9428
+#: src/readelf.c:9564
#, c-format
msgid ""
"\n"
@@ -6286,7 +6380,17 @@
"\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 @@
"\n"
"розділу [%lu] не існує"
-#: src/readelf.c:9505
+#: src/readelf.c:9647
#, c-format
msgid ""
"\n"
@@ -6304,12 +6408,12 @@
"\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 @@
"\n"
"У архіві «%s» немає покажчика символів\n"
-#: src/readelf.c:9569
+#: src/readelf.c:9711
#, c-format
msgid ""
"\n"
@@ -6327,12 +6431,12 @@
"\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 @@
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 @@
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 @@
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 @@
"Дані 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 @@
"ОЧИЩЕНИЙ-ФАЙЛ ФАЙЛ-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 b5b5e4a..707c271 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 e2c494c..a39df27 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -35,7 +35,7 @@
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 @@
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 0000000..23939db
--- /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 7d72a1f..eae7761 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 @@
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 @@
&& 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 @@
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 @@
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 @@
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 @@
{
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 @@
#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 @@
// 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 5f6e4ed..0db192e 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 @@
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 @@
/* 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 @@
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 @@
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 @@
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 @@
}
}
+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 @@
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 @@
*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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 b8d1d95..37f9811 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 8fca801..7b9e108 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -52,7 +52,8 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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 @@
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_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 0000000..0132271
--- /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 bcbfb29..689cdd7 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 @@
return 0;
}
+#endif
diff --git a/tests/dwfl-proc-attach.c b/tests/dwfl-proc-attach.c
index 0ba0be2..e7bb201 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 0000000..44ba178
--- /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 0000000..82afbe5
--- /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 0000000..66ab77b
--- /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 6b927c8..4149ca6 100644
--- a/tests/elfstrmerge.c
+++ b/tests/elfstrmerge.c
@@ -518,8 +518,13 @@
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 10ff0f7..7baea0a 100644
--- a/tests/msg_tst.c
+++ b/tests/msg_tst.c
@@ -74,7 +74,14 @@
"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 0000000..a6a298f
--- /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 0000000..b93a56f
--- /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 0000000..7a422f3
--- /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 0000000..e2df308
--- /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 0000000..b882b3f
--- /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 0000000..d08b6fc
--- /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 0000000..6dbd2f1
--- /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 0000000..88ea5bf
--- /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 0000000..872126c
--- /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 0000000..994528c
--- /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 0000000..254dcd8
--- /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 0000000..7dfe498
--- /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 0000000..b8c94e7
--- /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 0000000..1cdac79
--- /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 0000000..a3f8dff
--- /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 0000000..6159dbc
--- /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 0000000..f1f5eb5
--- /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 0000000..3b44f08
--- /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 0000000..d819ae3
--- /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 0000000..9d622ca
--- /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 0000000..c1dd589
--- /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 0000000..1bc2c09
--- /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 0000000..390c9c9
--- /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 0000000..6d8e19f
--- /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 67f6759..a1ee493 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)))