diff options
author | Chih-Hung Hsieh <chh@google.com> | 2016-01-25 10:12:35 -0800 |
---|---|---|
committer | Chih-Hung Hsieh <chh@google.com> | 2016-01-25 11:25:11 -0800 |
commit | 3ad5c39aed9ad8b3847015a8349053b7a1ac094f (patch) | |
tree | 482d3d6644a743b44c3fc79c95e2b6b5e30e6ab2 | |
parent | 97c644e689be3b7b3b7898513a38ead399d2285a (diff) | |
parent | 203f0a3eec8c630c5183fb9984d66339c1ea3c31 (diff) | |
download | android_external_elfutils-3ad5c39aed9ad8b3847015a8349053b7a1ac094f.tar.gz android_external_elfutils-3ad5c39aed9ad8b3847015a8349053b7a1ac094f.tar.bz2 android_external_elfutils-3ad5c39aed9ad8b3847015a8349053b7a1ac094f.zip |
Merge upstream 0.165 SHA '203f0a3'
* git merge 203f0a3
* See all upstream changes since the previous merge
in branch aosp/upstream-master:
git diff 9d1e236..203f0a3
* Android relevant upstream changes:
* Version number changed from 0.164 to 0.165
* libelf now depends on zlib
* Changed version number in generated files:
version.h, config.h
* No change to generated files:
libdw/known-dwarf.h
* Updated libelf/Android.mk:
* added new source files:
gelf_getchdr.c elf{32,64}_getchdr.c elf_compress.c
* added LOCAL_STATIC_LIBRARIES := libz
Change-Id: Ieb306d84ffcaf680ad6e74da28fcc8efbf00592a
100 files changed, 11024 insertions, 4615 deletions
@@ -31,6 +31,8 @@ Makefile.in /config/config.sub /config/depcomp /config/install-sh +/config/libdw.pc +/config/libelf.pc /config/missing /config/test-driver /config/ylwrap @@ -55,6 +57,7 @@ Makefile.in /src/addr2line /src/ar /src/elfcmp +/src/elfcompress /src/elflint /src/findtextrel /src/ld @@ -1,3 +1,17 @@ +2016-01-08 Mark Wielaard <mjw@redhat.com> + + * configure.ac: Set version to 0.165. + * NEWS: Add 0.164 section. + +2016-01-04 Mark Wielaard <mjw@redhat.com> + + * configure.ac: Add BZ2_LIBS and LIBLZMA substitutions. + Add config/libelf.pc and config/libdw.pc config files. + +2015-12-31 Mark Wielaard <mjw@redhat.com> + + * Makefile.am (AM_MAKEFLAGS): Set --no-print-directory. + 2015-10-16 Mark Wielaard <mjw@redhat.com> * configure.ac: Make zlib mandatory. diff --git a/Makefile.am b/Makefile.am index 1454d043..2ff444e7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -1,7 +1,7 @@ ## Process this file with automake to create Makefile.in ## Configure input file for elfutils. ## -## Copyright (C) 1996-2002, 2003, 2004, 2005, 2006, 2008, 2009 Red Hat, Inc. +## Copyright (C) 1996-2006, 2008, 2009, 2015 Red Hat, Inc. ## ## This file is part of elfutils. ## @@ -20,6 +20,10 @@ ## ACLOCAL_AMFLAGS = -I m4 +# automake already tells which subdir is being entered. +# Don't make make repeat. +AM_MAKEFLAGS = --no-print-directory + pkginclude_HEADERS = version.h # Add doc back when we have some real content. @@ -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. @@ -41,7 +41,7 @@ #define LIBEBL_SUBDIR "elfutils" /* Identifier for modules in the build. */ -#define MODVERSION "Build for elfutils 164 x86_64-unknown-linux-gnu" +#define MODVERSION "Build for elfutils 165 x86_64-unknown-linux-gnu" /* Define to 32 or 64 if a specific implementation is wanted. */ /* #undef NATIVE_ELF */ @@ -56,7 +56,7 @@ #define PACKAGE_NAME "elfutils" /* Define to the full name and version of this package. */ -#define PACKAGE_STRING "elfutils 0.164" +#define PACKAGE_STRING "elfutils 0.165" /* Define to the one symbol short name of this package. */ #define PACKAGE_TARNAME "elfutils" @@ -65,7 +65,7 @@ #define PACKAGE_URL "" /* Define to the version of this package. */ -#define PACKAGE_VERSION "0.164" +#define PACKAGE_VERSION "0.165" /* The size of `long', as computed by sizeof. */ #if __LP64__ @@ -93,7 +93,7 @@ #define USE_ZLIB 1 /* Version number of package */ -#define VERSION "0.164" +#define VERSION "0.165" /* Define to 1 if `lex' declares `yytext' as a `char *' by default, not a `char[]'. */ diff --git a/config/ChangeLog b/config/ChangeLog index 428162fe..8e20f1e6 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,17 @@ +2016-01-08 Mark Wielaard <mjw@redhat.com> + + * elfutils.spec.in: Add elfcompress. Update for 0.165. + +2016-01-04 Mark Wielaard <mjw@redhat.com> + + * libelf.pc.in: New file. + * libdw.pc.in: Likewise. + * Makefile.am (EXTRA_DIST): Add libelf.pc.in and libdw.pc.in. + (pkgconfigdir): New variable. + (pkgconfigdir_DATA): Likewise. + * elfutils.spec.in (files devel): Add libdw.pc. + (files libelf-devel): Add libelf.pc. + 2015-10-15 Mark Wielaard <mjw@redhat.com> * elfutils.spec.in: Update for 0.164. diff --git a/config/Makefile.am b/config/Makefile.am index 23f7b655..66012d02 100644 --- a/config/Makefile.am +++ b/config/Makefile.am @@ -1,7 +1,7 @@ ## Process this file with automake to produce Makefile.in -*-Makefile-*- ## Configure input file for elfutils. ## -## Copyright (C) 2004, 2005, 2008, 2009, 2011, 2015 Red Hat, Inc. +## Copyright (C) 2004, 2005, 2008, 2009, 2011, 2015, 2016 Red Hat, Inc. ## This file is part of elfutils. ## ## This file is free software; you can redistribute it and/or modify @@ -29,6 +29,10 @@ ## not, see <http://www.gnu.org/licenses/>. ## EXTRA_DIST = elfutils.spec.in known-dwarf.awk 10-default-yama-scope.conf + libelf.pc.in libdw.pc.in + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = libelf.pc libdw.pc if MAINTAINER_MODE $(srcdir)/elfutils.spec.in: $(top_srcdir)/NEWS diff --git a/config/elfutils.spec.in b/config/elfutils.spec.in index b718f066..693c2628 100644 --- a/config/elfutils.spec.in +++ b/config/elfutils.spec.in @@ -31,13 +31,15 @@ BuildRequires: gcc-c++ %define _programprefix eu- %description -Elfutils is a collection of utilities, including ld (a linker), -nm (for listing symbols from object files), size (for listing the -section sizes of an object or archive file), strip (for discarding -symbols), readelf (to see the raw ELF file structures), and elflint -(to check for well-formed ELF files). Also included are numerous -helper libraries which implement DWARF, ELF, and machine-specific ELF -handling. + +Elfutils is a collection of utilities, including stack (to show +backtraces), nm (for listing symbols from object files), size +(for listing the section sizes of an object or archive file), +strip (for discarding symbols), readelf (to see the raw ELF file +structures), elflint (to check for well-formed ELF files) and +elfcompress (to compress or decompress ELF sections). +Also included are helper libraries which implement DWARF, ELF, +and machine-specific ELF handling and process introspection. %package devel Summary: Development libraries to handle compiled objects. @@ -175,6 +177,7 @@ rm -rf ${RPM_BUILD_ROOT} %{_bindir}/eu-unstrip %{_bindir}/eu-make-debug-archive #%{_bindir}/eu-ld +%{_bindir}/eu-elfcompress %{_libdir}/libasm-%{version}.so %{_libdir}/libdw-%{version}.so %{_libdir}/libasm.so.* @@ -197,6 +200,7 @@ rm -rf ${RPM_BUILD_ROOT} %{_libdir}/libebl.a #%{_libdir}/libasm.so %{_libdir}/libdw.so +%{_libdir}/pkgconfig/libdw.pc %files devel-static %{_libdir}/libdw.a @@ -215,6 +219,7 @@ rm -rf ${RPM_BUILD_ROOT} %{_includedir}/nlist.h %{_includedir}/elfutils/version.h %{_libdir}/libelf.so +%{_libdir}/pkgconfig/libelf.pc %files libelf-devel-static %{_libdir}/libelf.a @@ -223,6 +228,16 @@ rm -rf ${RPM_BUILD_ROOT} %config(noreplace) %{_sysctldir}/10-default-yama-scope.conf %changelog +* Fri Jan 8 2016 Mark Wielaard <mjw@redhat.com> 0.165-1 +- elfcompress: New utility to compress or decompress ELF sections. +- readelf: Add -z,--decompress option. +- libelf: Add elf_compress, elf_compress_gnu, elf32_getchdr, + elf64_getchdr and gelf_getchdr. +- libdwelf: New function dwelf_scn_gnu_compressed_size. +- config: Add libelf and libdw pkg-config files. +- backends: sparc support for core and live backtraces. +- translations: Updated Polish translation. + * Thu Oct 15 2015 Mark Wielaard <mjw@redhat.com> 0.164-1 - strip, unstrip: Handle ELF files with merged strtab/shstrtab tables. Handle missing SHF_INFO_LINK section flags. diff --git a/config/libdw.pc.in b/config/libdw.pc.in new file mode 100644 index 00000000..b7dc0026 --- /dev/null +++ b/config/libdw.pc.in @@ -0,0 +1,22 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: libdw +Description: elfutils library for DWARF data and ELF file or process inspection +Version: @VERSION@ +URL: https://fedorahosted.org/elfutils/ + +Libs: -L${libdir} -ldw +Cflags: -I${includedir} + +# We need the exact matching elfutils libelf version since internal data +# structures are used. +Requires: libelf = @VERSION@ + +# We support various compressed ELF images, but don't export any of the +# data structures or functions. zlib (gz) is always required, bzip2 (bz2) +# and lzma (xz) are optional. But bzip2 doesn't have a pkg-config file. +Requires.private: zlib @LIBLZMA@ +Libs.private: @BZ2_LIB@ diff --git a/config/libelf.pc.in b/config/libelf.pc.in new file mode 100644 index 00000000..1fc7e4cb --- /dev/null +++ b/config/libelf.pc.in @@ -0,0 +1,14 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: libelf +Description: elfutils libelf library to read and write ELF files +Version: @VERSION@ +URL: https://fedorahosted.org/elfutils/ + +Libs: -L${libdir} -lelf +Cflags: -I${includedir} + +Requires.private: zlib diff --git a/configure.ac b/configure.ac index e0107549..9a3301f5 100644 --- a/configure.ac +++ b/configure.ac @@ -1,7 +1,7 @@ dnl Process this file with autoconf to produce a configure script. dnl Configure input file for elfutils. -*-autoconf-*- dnl -dnl Copyright (C) 1996-2015 Red Hat, Inc. +dnl Copyright (C) 1996-2016 Red Hat, Inc. dnl dnl This file is part of elfutils. dnl @@ -17,12 +17,12 @@ dnl GNU General Public License for more details. dnl dnl You should have received a copy of the GNU General Public License dnl along with this program. If not, see <http://www.gnu.org/licenses/>. -AC_INIT([elfutils],[0.164],[https://bugzilla.redhat.com/],[elfutils]) +AC_INIT([elfutils],[0.165],[https://bugzilla.redhat.com/],[elfutils]) AC_CONFIG_AUX_DIR([config]) AC_CONFIG_FILES([config/Makefile]) -AC_COPYRIGHT([Copyright (C) 1996-2015 Red Hat, Inc.]) +AC_COPYRIGHT([Copyright (C) 1996-2016 Red Hat, Inc.]) AC_PREREQ(2.63) dnl Minimum Autoconf version required. dnl We use GNU make extensions; automake 1.10 defaults to -Wportability. @@ -244,7 +244,7 @@ dnl zlib is mandatory. save_LIBS="$LIBS" LIBS= eu_ZIPLIB(zlib,ZLIB,z,gzdirect,gzip) -AS_IF([test "x$with_zlib" = xno], [AC_MSG_ERROR("zlib not found")]) +AS_IF([test "x$with_zlib" = xno], [AC_MSG_ERROR([zlib not found but is required])]) LIBS="$save_LIBS" dnl Test for bzlib and xz/lzma, gives BZLIB/LZMALIB .am @@ -252,7 +252,12 @@ dnl conditional and config.h USE_BZLIB/USE_LZMALIB #define. save_LIBS="$LIBS" LIBS= eu_ZIPLIB(bzlib,BZLIB,bz2,BZ2_bzdopen,bzip2) +# We need this since bzip2 doesn't have a pkgconfig file. +BZ2_LIB="$LIBS" +AC_SUBST([BZ2_LIB]) eu_ZIPLIB(lzma,LZMA,lzma,lzma_auto_decoder,[LZMA (xz)]) +AS_IF([test "x$with_lzma" = xyes], [LIBLZMA="liblzma"], [LIBLZMA=""]) +AC_SUBST([LIBLZMA]) zip_LIBS="$LIBS" LIBS="$save_LIBS" AC_SUBST([zip_LIBS]) @@ -352,6 +357,9 @@ dnl Test suite. AM_CONDITIONAL(STANDALONE, false)dnl Used in tests/Makefile.am, which see. AC_CONFIG_FILES([tests/Makefile]) +dnl pkgconfig files +AC_CONFIG_FILES([config/libelf.pc config/libdw.pc]) + # Get the definitions necessary to create the Makefiles in the po # subdirectories. This is a small subset of the gettext rules. AC_SUBST(USE_NLS, yes) diff --git a/libdw/ChangeLog b/libdw/ChangeLog index d0e97f3c..fc80e8d2 100644 --- a/libdw/ChangeLog +++ b/libdw/ChangeLog @@ -1,3 +1,20 @@ +2015-12-18 Mark Wielaard <mjw@redhat.com> + + * libdwP.h (struct Dwarf): Remove sectiondata_gzip_mask. + (__libdw_free_zdata): Remove. + * dwarf_begin_elf.c (inflate_section): Remove. + (check_section): Remove __libdw_free_zdata calls. Use elf_compress + and elf_compress_gnu to decompress if necessary. + (valid_p): Remove __libdw_free_zdata calls. + (scngrp_read): Use elf_compress if section is compressed. Remove + __libdw_free_zdata calls. + * dwarf_end.c (__libdw_free_zdata): Remove. + (dwarf_end): Don't call __libdw_free_zdata. + +2015-10-28 Mark Wielaard <mjw@redhat.com> + + * libdw.map (ELFUTILS_0.165): New. Add dwelf_scn_gnu_compressed_size. + 2015-12-02 Mark Wielaard <mjw@redhat.com> * fde.c (intern_fde): Don't leak duplicate FDEs. diff --git a/libdw/dwarf_begin_elf.c b/libdw/dwarf_begin_elf.c index 63532fd8..6f25e429 100644 --- a/libdw/dwarf_begin_elf.c +++ b/libdw/dwarf_begin_elf.c @@ -44,13 +44,6 @@ #include "libdwP.h" -#if USE_ZLIB -# include <endian.h> -# define crc32 loser_crc32 -# include <zlib.h> -# undef crc32 -#endif - /* Section names. */ static const char dwarf_scnnames[IDX_last][18] = @@ -71,70 +64,6 @@ static const char dwarf_scnnames[IDX_last][18] = }; #define ndwarf_scnnames (sizeof (dwarf_scnnames) / sizeof (dwarf_scnnames[0])) -#if USE_ZLIB -static Elf_Data * -inflate_section (Elf_Data * data) -{ - /* There is a 12-byte header of "ZLIB" followed by - an 8-byte big-endian size. */ - - if (unlikely (data->d_size < 4 + 8) - || unlikely (memcmp (data->d_buf, "ZLIB", 4) != 0)) - return NULL; - - uint64_t size; - memcpy (&size, data->d_buf + 4, sizeof size); - size = be64toh (size); - - /* Check for unsigned overflow so malloc always allocated - enough memory for both the Elf_Data header and the - uncompressed section data. */ - if (unlikely (sizeof (Elf_Data) + size < size)) - return NULL; - - Elf_Data *zdata = malloc (sizeof (Elf_Data) + size); - if (unlikely (zdata == NULL)) - return NULL; - - zdata->d_buf = &zdata[1]; - zdata->d_type = ELF_T_BYTE; - zdata->d_version = EV_CURRENT; - zdata->d_size = size; - zdata->d_off = 0; - zdata->d_align = 1; - - z_stream z = - { - .next_in = data->d_buf + 4 + 8, - .avail_in = data->d_size - 4 - 8, - .next_out = zdata->d_buf, - .avail_out = zdata->d_size - }; - int zrc = inflateInit (&z); - while (z.avail_in > 0 && likely (zrc == Z_OK)) - { - z.next_out = zdata->d_buf + (zdata->d_size - z.avail_out); - zrc = inflate (&z, Z_FINISH); - if (unlikely (zrc != Z_STREAM_END)) - { - zrc = Z_DATA_ERROR; - break; - } - zrc = inflateReset (&z); - } - if (likely (zrc == Z_OK)) - zrc = inflateEnd (&z); - - if (unlikely (zrc != Z_OK) || unlikely (z.avail_out != 0)) - { - free (zdata); - return NULL; - } - - return zdata; -} -#endif - static Dwarf * check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp) { @@ -173,7 +102,6 @@ check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp) /* The section name must be valid. Otherwise is the ELF file invalid. */ err: - __libdw_free_zdata (result); Dwarf_Sig8_Hash_free (&result->sig8_hash); __libdw_seterrno (DWARF_E_INVALID_ELF); free (result); @@ -182,14 +110,14 @@ check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp) /* Recognize the various sections. Most names start with .debug_. */ size_t cnt; - bool compressed = false; + bool gnu_compressed = false; for (cnt = 0; cnt < ndwarf_scnnames; ++cnt) if (strcmp (scnname, dwarf_scnnames[cnt]) == 0) break; else if (scnname[0] == '.' && scnname[1] == 'z' && strcmp (&scnname[2], &dwarf_scnnames[cnt][1]) == 0) { - compressed = true; + gnu_compressed = true; break; } @@ -201,40 +129,41 @@ check_section (Dwarf *result, GElf_Ehdr *ehdr, Elf_Scn *scn, bool inscngrp) /* A section appears twice. That's bad. We ignore the section. */ return result; + /* We cannot know whether or not a GNU compressed section has already + been uncompressed or not, so ignore any errors. */ + if (gnu_compressed) + elf_compress_gnu (scn, 0, 0); + + if ((shdr->sh_flags & SHF_COMPRESSED) != 0) + { + if (elf_compress (scn, 0, 0) < 0) + { + /* If we failed to decompress the section and it's the + debug_info section, then fail with specific error rather + than the generic NO_DWARF. Without debug_info we can't do + anything (see also valid_p()). */ + if (cnt == IDX_debug_info) + { + Dwarf_Sig8_Hash_free (&result->sig8_hash); + __libdw_seterrno (DWARF_E_COMPRESSED_ERROR); + free (result); + return NULL; + } + return result; + } + } + /* Get the section data. */ Elf_Data *data = elf_getdata (scn, NULL); - if (data == NULL || data->d_size == 0) + if (data == NULL) + goto err; + + if (data->d_buf == NULL || data->d_size == 0) /* No data actually available, ignore it. */ return result; /* We can now read the section data into results. */ - if (!compressed) - result->sectiondata[cnt] = data; - else - { - /* A compressed section. */ - -#if USE_ZLIB - Elf_Data *inflated = inflate_section(data); - if (inflated != NULL) - { - result->sectiondata[cnt] = inflated; - result->sectiondata_gzip_mask |= 1U << cnt; - } -#endif - - /* If we failed to decompress the section and it's the debug_info section, - * then fail with specific error rather than the generic NO_DWARF. Without - * debug_info we can't do anything (see also valid_p()). */ - if (result->sectiondata[cnt] == NULL && cnt == IDX_debug_info) - { - __libdw_free_zdata (result); - Dwarf_Sig8_Hash_free (&result->sig8_hash); - __libdw_seterrno (DWARF_E_COMPRESSED_ERROR); - free (result); - return NULL; - } - } + result->sectiondata[cnt] = data; return result; } @@ -253,7 +182,6 @@ valid_p (Dwarf *result) if (likely (result != NULL) && unlikely (result->sectiondata[IDX_debug_info] == NULL)) { - __libdw_free_zdata (result); Dwarf_Sig8_Hash_free (&result->sig8_hash); __libdw_seterrno (DWARF_E_NO_DWARF); free (result); @@ -265,7 +193,6 @@ valid_p (Dwarf *result) result->fake_loc_cu = (Dwarf_CU *) calloc (1, sizeof (Dwarf_CU)); if (unlikely (result->fake_loc_cu == NULL)) { - __libdw_free_zdata (result); Dwarf_Sig8_Hash_free (&result->sig8_hash); __libdw_seterrno (DWARF_E_NOMEM); free (result); @@ -301,13 +228,31 @@ global_read (Dwarf *result, Elf *elf, GElf_Ehdr *ehdr) static Dwarf * scngrp_read (Dwarf *result, Elf *elf, GElf_Ehdr *ehdr, Elf_Scn *scngrp) { + GElf_Shdr shdr_mem; + GElf_Shdr *shdr = gelf_getshdr (scngrp, &shdr_mem); + if (shdr == NULL) + { + Dwarf_Sig8_Hash_free (&result->sig8_hash); + __libdw_seterrno (DWARF_E_INVALID_ELF); + free (result); + return NULL; + } + + if ((shdr->sh_flags & SHF_COMPRESSED) != 0 + && elf_compress (scngrp, 0, 0) < 0) + { + Dwarf_Sig8_Hash_free (&result->sig8_hash); + __libdw_seterrno (DWARF_E_COMPRESSED_ERROR); + free (result); + return NULL; + } + /* SCNGRP is the section descriptor for a section group which might contain debug sections. */ Elf_Data *data = elf_getdata (scngrp, NULL); if (data == NULL) { /* We cannot read the section content. Fail! */ - __libdw_free_zdata (result); Dwarf_Sig8_Hash_free (&result->sig8_hash); free (result); return NULL; @@ -324,7 +269,6 @@ scngrp_read (Dwarf *result, Elf *elf, GElf_Ehdr *ehdr, Elf_Scn *scngrp) { /* A section group refers to a non-existing section. Should never happen. */ - __libdw_free_zdata (result); Dwarf_Sig8_Hash_free (&result->sig8_hash); __libdw_seterrno (DWARF_E_INVALID_ELF); free (result); diff --git a/libdw/dwarf_end.c b/libdw/dwarf_end.c index 2108063d..6c6d985a 100644 --- a/libdw/dwarf_end.c +++ b/libdw/dwarf_end.c @@ -57,24 +57,6 @@ cu_free (void *arg) } -#if USE_ZLIB -void -internal_function -__libdw_free_zdata (Dwarf *dwarf) -{ - unsigned int gzip_mask = dwarf->sectiondata_gzip_mask; - while (gzip_mask != 0) - { - int i = ffs (gzip_mask); - assert (i > 0); - --i; - assert (i < IDX_last); - free (dwarf->sectiondata[i]); - gzip_mask &= ~(1U << i); - } -} -#endif - int dwarf_end (Dwarf *dwarf) { @@ -110,8 +92,6 @@ dwarf_end (Dwarf *dwarf) /* Free the pubnames helper structure. */ free (dwarf->pubnames_sets); - __libdw_free_zdata (dwarf); - /* Free the ELF descriptor if necessary. */ if (dwarf->free_elf) elf_end (dwarf->elf); diff --git a/libdw/libdw.map b/libdw/libdw.map index 1d4cbb0c..1681b6b5 100644 --- a/libdw/libdw.map +++ b/libdw/libdw.map @@ -322,3 +322,8 @@ ELFUTILS_0.161 { dwarf_macro_getparamcnt; dwarf_macro_param; } ELFUTILS_0.160; + +ELFUTILS_0.165 { + global: + dwelf_scn_gnu_compressed_size; +} ELFUTILS_0.161; diff --git a/libdw/libdwP.h b/libdw/libdwP.h index 2d233f63..5d095a7e 100644 --- a/libdw/libdwP.h +++ b/libdw/libdwP.h @@ -147,11 +147,6 @@ struct Dwarf /* The section data. */ Elf_Data *sectiondata[IDX_last]; -#if USE_ZLIB - /* The 1 << N bit is set if sectiondata[N] is malloc'd decompressed data. */ - unsigned int sectiondata_gzip_mask:IDX_last; -#endif - /* True if the file has a byte order different from the host. */ bool other_byte_order; @@ -440,12 +435,6 @@ extern void *__libdw_allocate (Dwarf *dbg, size_t minsize, size_t align) /* Default OOM handler. */ extern void __libdw_oom (void) __attribute ((noreturn, visibility ("hidden"))); -#if USE_ZLIB -extern void __libdw_free_zdata (Dwarf *dwarf) internal_function; -#else -# define __libdw_free_zdata(dwarf) ((void) (dwarf)) -#endif - /* Allocate the internal data for a unit not seen before. */ extern struct Dwarf_CU *__libdw_intern_next_unit (Dwarf *dbg, bool debug_types) __nonnull_attribute__ (1) internal_function; diff --git a/libdwelf/ChangeLog b/libdwelf/ChangeLog index f182ecf4..fe8af1b4 100644 --- a/libdwelf/ChangeLog +++ b/libdwelf/ChangeLog @@ -1,3 +1,10 @@ +2015-10-28 Mark Wielaard <mjw@redhat.com> + + * Makefile.am (libdwelf_a_SOURCES): Add + dwelf_scn_gnu_compressed_size.c. + * dwelf_scn_gnu_compressed_size.c: Likewise. + * libdwelf.h (dwelf_scn_gnu_compressed_size): New declaration. + 2015-10-14 Chih-Hung Hsieh <chh@google.com> * dwelf_elf_gnu_build_id.c (find_elf_build_id): Move nested function diff --git a/libdwelf/Makefile.am b/libdwelf/Makefile.am index cd4b7ddf..4de4b2ed 100644 --- a/libdwelf/Makefile.am +++ b/libdwelf/Makefile.am @@ -2,7 +2,7 @@ ## ## Process this file with automake to create Makefile.in ## -## Copyright (C) 2014 Red Hat, Inc. +## Copyright (C) 2014, 2015 Red Hat, Inc. ## This file is part of elfutils. ## ## This file is free software; you can redistribute it and/or modify @@ -40,7 +40,7 @@ pkginclude_HEADERS = libdwelf.h noinst_HEADERS = libdwelfP.h libdwelf_a_SOURCES = dwelf_elf_gnu_debuglink.c dwelf_dwarf_gnu_debugaltlink.c \ - dwelf_elf_gnu_build_id.c + dwelf_elf_gnu_build_id.c dwelf_scn_gnu_compressed_size.c libdwelf = $(libdw) diff --git a/libdwelf/dwelf_scn_gnu_compressed_size.c b/libdwelf/dwelf_scn_gnu_compressed_size.c new file mode 100644 index 00000000..d39b702a --- /dev/null +++ b/libdwelf/dwelf_scn_gnu_compressed_size.c @@ -0,0 +1,77 @@ +/* Return size of GNU compressed section. + Copyright (C) 2015 Red Hat, Inc. + This file is part of elfutils. + + This file is free software; you can redistribute it and/or modify + it under the terms of either + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at + your option) any later version + + or + + * the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at + your option) any later version + + or both in parallel, as here. + + elfutils is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received copies of the GNU General Public License and + the GNU Lesser General Public License along with this program. If + not, see <http://www.gnu.org/licenses/>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include "libdwelfP.h" +#include "libelfP.h" + +ssize_t +dwelf_scn_gnu_compressed_size (Elf_Scn *scn) +{ + if (scn == NULL) + return -1; + + GElf_Shdr shdr; + if (gelf_getshdr (scn, &shdr) == NULL) + return -1; + + /* Allocated or no bits sections can never be compressed. */ + if ((shdr.sh_flags & SHF_ALLOC) != 0 + || shdr.sh_type == SHT_NULL + || shdr.sh_type == SHT_NOBITS) + return -1; + + Elf_Data *d = elf_rawdata (scn, NULL); + if (d == NULL) + return -1; + + if (d->d_size >= 4 + 8 + && memcmp (d->d_buf, "ZLIB", 4) == 0) + { + /* There is a 12-byte header of "ZLIB" followed by + an 8-byte big-endian size. There is only one type and + alignment isn't preserved separately. */ + uint64_t size; + memcpy (&size, d->d_buf + 4, sizeof size); + size = be64toh (size); + + /* One more sanity check, size should be bigger than original + data size plus some overhead (4 chars ZLIB + 8 bytes size + 6 + bytes zlib stream overhead + 5 bytes overhead max for one 16K + block) and should fit into a size_t. */ + if (size + 4 + 8 + 6 + 5 < d->d_size || size > SIZE_MAX) + return -1; + + return size; + } + + return -1; +} diff --git a/libdwelf/libdwelf.h b/libdwelf/libdwelf.h index e16dc0f3..7f7f679a 100644 --- a/libdwelf/libdwelf.h +++ b/libdwelf/libdwelf.h @@ -1,5 +1,5 @@ /* Interfaces for libdwelf. DWARF ELF Low-level Functions. - Copyright (C) 2014 Red Hat, Inc. + Copyright (C) 2014, 2015 Red Hat, Inc. This file is part of elfutils. This file is free software; you can redistribute it and/or modify @@ -65,6 +65,13 @@ extern ssize_t dwelf_dwarf_gnu_debugaltlink (Dwarf *dwarf, note. Returns -1 in case of malformed data or other errors. */ extern ssize_t dwelf_elf_gnu_build_id (Elf *elf, const void **build_idp); +/* Returns the size of the uncompressed data of a GNU compressed + section. The section name should start with .zdebug (but this + isn't checked by this function). If the section isn't compressed + (the section data doesn't start with ZLIB) -1 is returned. If an + error occured -1 is returned and elf_errno is set. */ +extern ssize_t dwelf_scn_gnu_compressed_size (Elf_Scn *scn); + #ifdef __cplusplus } #endif diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog index 06b8469d..94c58d90 100644 --- a/libdwfl/ChangeLog +++ b/libdwfl/ChangeLog @@ -1,3 +1,22 @@ +2016-01-08 Mark Wielaard <mjw@redhat.com> + + * libdwfl_a_SOURCES: Unconditionally add gzip.c. + * linux-kernel-modules.c (vmlinux_suffixes): We always have at least + .gz support. + (try_kernel_name): Likewise. + (check_suffix): Likewise. + * open.c (decompress): Likewise. + +2015-12-18 Mark Wielaard <mjw@redhat.com> + + * dwfl_module_getdwarf.c (find_symtab): Uncompress symstr, xndx, sym + sections and aux_str, aux_xndx and aux_sym sections if necessary. + * relocate.c (relocate_getsym): Uncompress symtab and symtab_shndx + if necessary. + (resolve_symbol): Uncompress strtab section if necessary. + (relocate_section): Uncompress the section the relocations apply to + if necessary. + 2015-11-18 Chih-Hung Hsieh <chh@google.com> * linux-proc-maps.c (proc_maps_report): Move nested function diff --git a/libdwfl/Makefile.am b/libdwfl/Makefile.am index 72c980bf..89ca92ed 100644 --- a/libdwfl/Makefile.am +++ b/libdwfl/Makefile.am @@ -68,11 +68,9 @@ libdwfl_a_SOURCES = dwfl_begin.c dwfl_end.c dwfl_error.c dwfl_version.c \ dwfl_segment_report_module.c \ link_map.c core-file.c open.c image-header.c \ dwfl_frame.c frame_unwind.c dwfl_frame_pc.c \ - linux-pid-attach.c linux-core-attach.c dwfl_frame_regs.c + linux-pid-attach.c linux-core-attach.c dwfl_frame_regs.c \ + gzip.c -if ZLIB -libdwfl_a_SOURCES += gzip.c -endif if BZLIB libdwfl_a_SOURCES += bzip2.c endif diff --git a/libdwfl/dwfl_module_getdwarf.c b/libdwfl/dwfl_module_getdwarf.c index e9589b3f..0e8810b1 100644 --- a/libdwfl/dwfl_module_getdwarf.c +++ b/libdwfl/dwfl_module_getdwarf.c @@ -1130,10 +1130,39 @@ find_symtab (Dwfl_Module *mod) goto aux_cleanup; /* This cleans up some more and tries find_dynsym. */ } - /* Cache the data; MOD->syments and MOD->first_global were set above. */ + /* Cache the data; MOD->syments and MOD->first_global were set + above. If any of the sections is compressed, uncompress it + first. Only the string data setion could theoretically be + compressed GNU style (as .zdebug_str). Everything else only ELF + gabi style (SHF_COMPRESSED). */ + + Elf_Scn *symstrscn = elf_getscn (mod->symfile->elf, strshndx); + if (symstrscn == NULL) + goto elferr; + + GElf_Shdr shdr_mem; + GElf_Shdr *shdr = gelf_getshdr (symstrscn, &shdr_mem); + if (shdr == NULL) + goto elferr; + + size_t shstrndx; + if (elf_getshdrstrndx (mod->symfile->elf, &shstrndx) < 0) + goto elferr; + + const char *sname = elf_strptr (mod->symfile->elf, shstrndx, shdr->sh_name); + if (sname == NULL) + goto elferr; + + if (strncmp (sname, ".zdebug", strlen (".zdebug")) == 0) + /* Try to uncompress, but it might already have been, an error + might just indicate, already uncompressed. */ + elf_compress_gnu (symstrscn, 0, 0); - mod->symstrdata = elf_getdata (elf_getscn (mod->symfile->elf, strshndx), - NULL); + if ((shdr->sh_flags & SHF_COMPRESSED) != 0) + if (elf_compress (symstrscn, 0, 0) < 0) + goto elferr; + + mod->symstrdata = elf_getdata (symstrscn, NULL); if (mod->symstrdata == NULL || mod->symstrdata->d_buf == NULL) goto elferr; @@ -1141,17 +1170,33 @@ find_symtab (Dwfl_Module *mod) mod->symxndxdata = NULL; else { + shdr = gelf_getshdr (xndxscn, &shdr_mem); + if (shdr == NULL) + goto elferr; + + if ((shdr->sh_flags & SHF_COMPRESSED) != 0) + if (elf_compress (xndxscn, 0, 0) < 0) + goto elferr; + mod->symxndxdata = elf_getdata (xndxscn, NULL); if (mod->symxndxdata == NULL || mod->symxndxdata->d_buf == NULL) goto elferr; } + shdr = gelf_getshdr (symscn, &shdr_mem); + if (shdr == NULL) + goto elferr; + + if ((shdr->sh_flags & SHF_COMPRESSED) != 0) + if (elf_compress (symscn, 0, 0) < 0) + goto elferr; + mod->symdata = elf_getdata (symscn, NULL); if (mod->symdata == NULL || mod->symdata->d_buf == NULL) goto elferr; // Sanity check number of symbols. - GElf_Shdr shdr_mem, *shdr = gelf_getshdr (symscn, &shdr_mem); + shdr = gelf_getshdr (symscn, &shdr_mem); if (shdr == NULL || shdr->sh_entsize == 0 || mod->syments > mod->symdata->d_size / shdr->sh_entsize || (size_t) mod->first_global > mod->syments) @@ -1174,9 +1219,33 @@ find_symtab (Dwfl_Module *mod) return; } - mod->aux_symstrdata = elf_getdata (elf_getscn (mod->aux_sym.elf, - aux_strshndx), - NULL); + Elf_Scn *aux_strscn = elf_getscn (mod->aux_sym.elf, aux_strshndx); + if (aux_strscn == NULL) + goto elferr; + + shdr = gelf_getshdr (aux_strscn, &shdr_mem); + if (shdr == NULL) + goto elferr; + + size_t aux_shstrndx; + if (elf_getshdrstrndx (mod->aux_sym.elf, &aux_shstrndx) < 0) + goto elferr; + + sname = elf_strptr (mod->aux_sym.elf, aux_shstrndx, + shdr->sh_name); + if (sname == NULL) + goto elferr; + + if (strncmp (sname, ".zdebug", strlen (".zdebug")) == 0) + /* Try to uncompress, but it might already have been, an error + might just indicate, already uncompressed. */ + elf_compress_gnu (aux_strscn, 0, 0); + + if ((shdr->sh_flags & SHF_COMPRESSED) != 0) + if (elf_compress (aux_strscn, 0, 0) < 0) + goto elferr; + + mod->aux_symstrdata = elf_getdata (aux_strscn, NULL); if (mod->aux_symstrdata == NULL || mod->aux_symstrdata->d_buf == NULL) goto aux_cleanup; @@ -1184,12 +1253,28 @@ find_symtab (Dwfl_Module *mod) mod->aux_symxndxdata = NULL; else { + shdr = gelf_getshdr (aux_xndxscn, &shdr_mem); + if (shdr == NULL) + goto elferr; + + if ((shdr->sh_flags & SHF_COMPRESSED) != 0) + if (elf_compress (aux_xndxscn, 0, 0) < 0) + goto elferr; + mod->aux_symxndxdata = elf_getdata (aux_xndxscn, NULL); if (mod->aux_symxndxdata == NULL || mod->aux_symxndxdata->d_buf == NULL) goto aux_cleanup; } + shdr = gelf_getshdr (aux_symscn, &shdr_mem); + if (shdr == NULL) + goto elferr; + + if ((shdr->sh_flags & SHF_COMPRESSED) != 0) + if (elf_compress (aux_symscn, 0, 0) < 0) + goto elferr; + mod->aux_symdata = elf_getdata (aux_symscn, NULL); if (mod->aux_symdata == NULL || mod->aux_symdata->d_buf == NULL) goto aux_cleanup; diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c index d8020fc3..e27f74f9 100644 --- a/libdwfl/linux-kernel-modules.c +++ b/libdwfl/linux-kernel-modules.c @@ -65,12 +65,9 @@ #define MODULE_SECT_NAME_LEN 32 /* Minimum any linux/module.h has had. */ -#if defined (USE_ZLIB) || defined (USE_BZLIB) || defined (USE_LZMA) static const char *vmlinux_suffixes[] = { -#ifdef USE_ZLIB ".gz", -#endif #ifdef USE_BZLIB ".bz2", #endif @@ -78,7 +75,6 @@ static const char *vmlinux_suffixes[] = ".xz", #endif }; -#endif /* Try to open the given file as it is or under the debuginfo directory. */ static int @@ -115,7 +111,6 @@ try_kernel_name (Dwfl *dwfl, char **fname, bool try_debug) } } -#if defined (USE_ZLIB) || defined (USE_BZLIB) || defined (USE_LZMA) if (fd < 0) for (size_t i = 0; i < sizeof vmlinux_suffixes / sizeof vmlinux_suffixes[0]; @@ -134,7 +129,6 @@ try_kernel_name (Dwfl *dwfl, char **fname, bool try_debug) } } } -#endif if (fd < 0) { @@ -304,9 +298,7 @@ check_suffix (const FTSENT *f, size_t namelen) return sizeof sfx - 1 TRY (".ko"); -#if USE_ZLIB TRY (".ko.gz"); -#endif #if USE_BZLIB TRY (".ko.bz2"); #endif diff --git a/libdwfl/open.c b/libdwfl/open.c index c1d0ed2b..92f2798b 100644 --- a/libdwfl/open.c +++ b/libdwfl/open.c @@ -1,5 +1,5 @@ -/* Decompression support for libdwfl: zlib (gzip) and/or bzlib (bzip2). - Copyright (C) 2009 Red Hat, Inc. +/* Decompression support for libdwfl: zlib (gzip), bzlib (bzip2) or lzma (xz). + Copyright (C) 2009, 2016 Red Hat, Inc. This file is part of elfutils. This file is free software; you can redistribute it and/or modify @@ -32,10 +32,6 @@ #include <unistd.h> -#if !USE_ZLIB -# define __libdw_gunzip(...) DWFL_E_BADELF -#endif - #if !USE_BZLIB # define __libdw_bunzip2(...) DWFL_E_BADELF #endif @@ -52,7 +48,6 @@ decompress (int fd __attribute__ ((unused)), Elf **elf) void *buffer = NULL; size_t size = 0; -#if USE_ZLIB || USE_BZLIB || USE_LZMA const off_t offset = (*elf)->start_offset; void *const mapped = ((*elf)->map_address == NULL ? NULL : (*elf)->map_address + offset); @@ -65,7 +60,6 @@ decompress (int fd __attribute__ ((unused)), Elf **elf) error = __libdw_bunzip2 (fd, offset, mapped, mapped_size, &buffer, &size); if (error == DWFL_E_BADELF) error = __libdw_unlzma (fd, offset, mapped, mapped_size, &buffer, &size); -#endif if (error == DWFL_E_NOERROR) { diff --git a/libdwfl/relocate.c b/libdwfl/relocate.c index 2dc67374..fc88df30 100644 --- a/libdwfl/relocate.c +++ b/libdwfl/relocate.c @@ -123,23 +123,32 @@ relocate_getsym (Dwfl_Module *mod, { GElf_Shdr shdr_mem, *shdr = gelf_getshdr (scn, &shdr_mem); if (shdr != NULL) - switch (shdr->sh_type) - { - default: - continue; - case SHT_SYMTAB: - cache->symelf = relocated; - cache->symdata = elf_getdata (scn, NULL); - cache->strtabndx = shdr->sh_link; - if (unlikely (cache->symdata == NULL)) - return DWFL_E_LIBELF; - break; - case SHT_SYMTAB_SHNDX: - cache->symxndxdata = elf_getdata (scn, NULL); - if (unlikely (cache->symxndxdata == NULL)) + { + /* We need uncompressed data. */ + if ((shdr->sh_type == SHT_SYMTAB + || shdr->sh_type == SHT_SYMTAB_SHNDX) + && (shdr->sh_flags & SHF_COMPRESSED) != 0) + if (elf_compress (scn, 0, 0) < 0) return DWFL_E_LIBELF; - break; - } + + switch (shdr->sh_type) + { + default: + continue; + case SHT_SYMTAB: + cache->symelf = relocated; + cache->symdata = elf_getdata (scn, NULL); + cache->strtabndx = shdr->sh_link; + if (unlikely (cache->symdata == NULL)) + return DWFL_E_LIBELF; + break; + case SHT_SYMTAB_SHNDX: + cache->symxndxdata = elf_getdata (scn, NULL); + if (unlikely (cache->symxndxdata == NULL)) + return DWFL_E_LIBELF; + break; + } + } if (cache->symdata != NULL && cache->symxndxdata != NULL) break; } @@ -203,9 +212,34 @@ resolve_symbol (Dwfl_Module *referer, struct reloc_symtab_cache *symtab, /* Cache the strtab for this symtab. */ assert (referer->symfile == NULL || referer->symfile->elf != symtab->symelf); - symtab->symstrdata = elf_getdata (elf_getscn (symtab->symelf, - symtab->strtabndx), - NULL); + + Elf_Scn *scn = elf_getscn (symtab->symelf, symtab->strtabndx); + if (scn == NULL) + return DWFL_E_LIBELF; + + GElf_Shdr shdr_mem; + GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); + if (shdr == NULL) + return DWFL_E_LIBELF; + + if (symtab->symshstrndx == SHN_UNDEF + && elf_getshdrstrndx (symtab->symelf, &symtab->symshstrndx) < 0) + return DWFL_E_LIBELF; + + const char *sname = elf_strptr (symtab->symelf, symtab->symshstrndx, + shdr->sh_name); + if (sname == NULL) + return DWFL_E_LIBELF; + + /* If the section is already decompressed, that isn't an error. */ + if (strncmp (sname, ".zdebug", strlen (".zdebug")) == 0) + elf_compress_gnu (scn, 0, 0); + + if ((shdr->sh_flags & SHF_COMPRESSED) != 0) + if (elf_compress (scn, 0, 0) < 0) + return DWFL_E_LIBELF; + + symtab->symstrdata = elf_getdata (scn, NULL); if (unlikely (symtab->symstrdata == NULL || symtab->symstrdata->d_buf == NULL)) return DWFL_E_LIBELF; @@ -446,22 +480,56 @@ relocate_section (Dwfl_Module *mod, Elf *relocated, const GElf_Ehdr *ehdr, Elf_Scn *scn, GElf_Shdr *shdr, Elf_Scn *tscn, bool debugscn, bool partial) { - /* First, fetch the name of the section these relocations apply to. */ + /* First, fetch the name of the section these relocations apply to. + Then try to decompress both relocation and target section. */ GElf_Shdr tshdr_mem; GElf_Shdr *tshdr = gelf_getshdr (tscn, &tshdr_mem); + if (tshdr == NULL) + return DWFL_E_LIBELF; + const char *tname = elf_strptr (relocated, shstrndx, tshdr->sh_name); if (tname == NULL) return DWFL_E_LIBELF; - if (unlikely (tshdr->sh_type == SHT_NOBITS) || unlikely (tshdr->sh_size == 0)) - /* No contents to relocate. */ - return DWFL_E_NOERROR; - if (debugscn && ! ebl_debugscn_p (mod->ebl, tname)) /* This relocation section is not for a debugging section. Nothing to do here. */ return DWFL_E_NOERROR; + if (strncmp (tname, ".zdebug", strlen ("zdebug")) == 0) + elf_compress_gnu (tscn, 0, 0); + + if ((tshdr->sh_flags & SHF_COMPRESSED) != 0) + if (elf_compress (tscn, 0, 0) < 0) + return DWFL_E_LIBELF; + + /* Reload Shdr in case section was just decompressed. */ + tshdr = gelf_getshdr (tscn, &tshdr_mem); + if (tshdr == NULL) + return DWFL_E_LIBELF; + + if (unlikely (tshdr->sh_type == SHT_NOBITS) + || unlikely (tshdr->sh_size == 0)) + /* No contents to relocate. */ + return DWFL_E_NOERROR; + + const char *sname = elf_strptr (relocated, shstrndx, shdr->sh_name); + if (sname == NULL) + return DWFL_E_LIBELF; + + if (strncmp (sname, ".zdebug", strlen ("zdebug")) == 0) + elf_compress_gnu (scn, 0, 0); + + if ((shdr->sh_flags & SHF_COMPRESSED) != 0) + if (elf_compress (scn, 0, 0) < 0) + return DWFL_E_LIBELF; + + /* Reload Shdr in case section was just decompressed. */ + GElf_Shdr shdr_mem; + shdr = gelf_getshdr (scn, &shdr_mem); + if (shdr == NULL) + return DWFL_E_LIBELF; + /* Fetch the section data that needs the relocations applied. */ Elf_Data *tdata = elf_rawdata (tscn, NULL); if (tdata == NULL) diff --git a/libebl/ChangeLog b/libebl/ChangeLog index a1a10224..aa3d6867 100644 --- a/libebl/ChangeLog +++ b/libebl/ChangeLog @@ -1,3 +1,12 @@ +2016-01-09 Mark Wielaard <mjw@redhat.com> + + * eblobjnote.c (ebl_object_note): Add brackets around if statement + body. + +2015-12-18 Mark Wielaard <mjw@redhat.com> + + * eblopenbackend.c (default_debugscn_p): Also match .zdebug sections. + 2015-12-08 Jose E. Marchesi <jose.marchesi@oracle.com> * libebl.h: Prototype for ebl_ra_offset. diff --git a/libebl/eblobjnote.c b/libebl/eblobjnote.c index fa1eb93a..f80a1a57 100644 --- a/libebl/eblobjnote.c +++ b/libebl/eblobjnote.c @@ -1,5 +1,5 @@ /* Print contents of object file note. - Copyright (C) 2002, 2007, 2009, 2011, 2015 Red Hat, Inc. + Copyright (C) 2002, 2007, 2009, 2011, 2015, 2016 Red Hat, Inc. This file is part of elfutils. Written by Ulrich Drepper <drepper@redhat.com>, 2002. @@ -43,189 +43,191 @@ ebl_object_note (Ebl *ebl, const char *name, uint32_t type, uint32_t descsz, const char *desc) { if (! ebl->object_note (name, type, descsz, desc)) - /* The machine specific function did not know this type. */ + { + /* The machine specific function did not know this type. */ - if (strcmp ("stapsdt", name) == 0) - { - if (type != 3) - { - printf (gettext ("unknown SDT version %u\n"), type); - return; - } - - /* Descriptor starts with three addresses, pc, base ref and - semaphore. Then three zero terminated strings provider, - name and arguments. */ - - union + if (strcmp ("stapsdt", name) == 0) { - Elf64_Addr a64[3]; - Elf32_Addr a32[3]; - } addrs; + if (type != 3) + { + printf (gettext ("unknown SDT version %u\n"), type); + return; + } - size_t addrs_size = gelf_fsize (ebl->elf, ELF_T_ADDR, 3, EV_CURRENT); - if (descsz < addrs_size + 3) - { - invalid_sdt: - printf (gettext ("invalid SDT probe descriptor\n")); - return; - } + /* Descriptor starts with three addresses, pc, base ref and + semaphore. Then three zero terminated strings provider, + name and arguments. */ - Elf_Data src = + union { - .d_type = ELF_T_ADDR, .d_version = EV_CURRENT, - .d_buf = (void *) desc, .d_size = addrs_size - }; - - Elf_Data dst = - { - .d_type = ELF_T_ADDR, .d_version = EV_CURRENT, - .d_buf = &addrs, .d_size = addrs_size - }; - - if (gelf_xlatetom (ebl->elf, &dst, &src, - elf_getident (ebl->elf, NULL)[EI_DATA]) == NULL) - { - printf ("%s\n", elf_errmsg (-1)); - return; - } - - const char *provider = desc + addrs_size; - const char *pname = memchr (provider, '\0', desc + descsz - provider); - if (pname == NULL) - goto invalid_sdt; - - ++pname; - const char *args = memchr (pname, '\0', desc + descsz - pname); - if (args == NULL || - memchr (++args, '\0', desc + descsz - pname) != desc + descsz - 1) - goto invalid_sdt; - - GElf_Addr pc; - GElf_Addr base; - GElf_Addr sem; - if (gelf_getclass (ebl->elf) == ELFCLASS32) - { - pc = addrs.a32[0]; - base = addrs.a32[1]; - sem = addrs.a32[2]; - } - else - { - pc = addrs.a64[0]; - base = addrs.a64[1]; - sem = addrs.a64[2]; - } - - printf (gettext (" PC: ")); - printf ("%#" PRIx64 ",", pc); - printf (gettext (" Base: ")); - printf ("%#" PRIx64 ",", base); - printf (gettext (" Semaphore: ")); - printf ("%#" PRIx64 "\n", sem); - printf (gettext (" Provider: ")); - printf ("%s,", provider); - printf (gettext (" Name: ")); - printf ("%s,", pname); - printf (gettext (" Args: ")); - printf ("'%s'\n", args); - return; - } - - switch (type) - { - case NT_GNU_BUILD_ID: - if (strcmp (name, "GNU") == 0 && descsz > 0) - { - printf (gettext (" Build ID: ")); - uint_fast32_t i; - for (i = 0; i < descsz - 1; ++i) - printf ("%02" PRIx8, (uint8_t) desc[i]); - printf ("%02" PRIx8 "\n", (uint8_t) desc[i]); - } - break; - - case NT_GNU_GOLD_VERSION: - if (strcmp (name, "GNU") == 0 && descsz > 0) - /* A non-null terminated version string. */ - printf (gettext (" Linker version: %.*s\n"), - (int) descsz, desc); - break; - - case NT_GNU_ABI_TAG: - if (strcmp (name, "GNU") == 0 && descsz >= 8 && descsz % 4 == 0) - { - Elf_Data in = - { - .d_version = EV_CURRENT, - .d_type = ELF_T_WORD, - .d_size = descsz, - .d_buf = (void *) desc - }; - /* Normally NT_GNU_ABI_TAG is just 4 words (16 bytes). If it - is much (4*) larger dynamically allocate memory to convert. */ + Elf64_Addr a64[3]; + Elf32_Addr a32[3]; + } addrs; + + size_t addrs_size = gelf_fsize (ebl->elf, ELF_T_ADDR, 3, EV_CURRENT); + if (descsz < addrs_size + 3) + { + invalid_sdt: + printf (gettext ("invalid SDT probe descriptor\n")); + return; + } + + Elf_Data src = + { + .d_type = ELF_T_ADDR, .d_version = EV_CURRENT, + .d_buf = (void *) desc, .d_size = addrs_size + }; + + Elf_Data dst = + { + .d_type = ELF_T_ADDR, .d_version = EV_CURRENT, + .d_buf = &addrs, .d_size = addrs_size + }; + + if (gelf_xlatetom (ebl->elf, &dst, &src, + elf_getident (ebl->elf, NULL)[EI_DATA]) == NULL) + { + printf ("%s\n", elf_errmsg (-1)); + return; + } + + const char *provider = desc + addrs_size; + const char *pname = memchr (provider, '\0', desc + descsz - provider); + if (pname == NULL) + goto invalid_sdt; + + ++pname; + const char *args = memchr (pname, '\0', desc + descsz - pname); + if (args == NULL || + memchr (++args, '\0', desc + descsz - pname) != desc + descsz - 1) + goto invalid_sdt; + + GElf_Addr pc; + GElf_Addr base; + GElf_Addr sem; + if (gelf_getclass (ebl->elf) == ELFCLASS32) + { + pc = addrs.a32[0]; + base = addrs.a32[1]; + sem = addrs.a32[2]; + } + else + { + pc = addrs.a64[0]; + base = addrs.a64[1]; + sem = addrs.a64[2]; + } + + printf (gettext (" PC: ")); + printf ("%#" PRIx64 ",", pc); + printf (gettext (" Base: ")); + printf ("%#" PRIx64 ",", base); + printf (gettext (" Semaphore: ")); + printf ("%#" PRIx64 "\n", sem); + printf (gettext (" Provider: ")); + printf ("%s,", provider); + printf (gettext (" Name: ")); + printf ("%s,", pname); + printf (gettext (" Args: ")); + printf ("'%s'\n", args); + return; + } + + switch (type) + { + case NT_GNU_BUILD_ID: + if (strcmp (name, "GNU") == 0 && descsz > 0) + { + printf (gettext (" Build ID: ")); + uint_fast32_t i; + for (i = 0; i < descsz - 1; ++i) + printf ("%02" PRIx8, (uint8_t) desc[i]); + printf ("%02" PRIx8 "\n", (uint8_t) desc[i]); + } + break; + + case NT_GNU_GOLD_VERSION: + if (strcmp (name, "GNU") == 0 && descsz > 0) + /* A non-null terminated version string. */ + printf (gettext (" Linker version: %.*s\n"), + (int) descsz, desc); + break; + + case NT_GNU_ABI_TAG: + if (strcmp (name, "GNU") == 0 && descsz >= 8 && descsz % 4 == 0) + { + Elf_Data in = + { + .d_version = EV_CURRENT, + .d_type = ELF_T_WORD, + .d_size = descsz, + .d_buf = (void *) desc + }; + /* Normally NT_GNU_ABI_TAG is just 4 words (16 bytes). If it + is much (4*) larger dynamically allocate memory to convert. */ #define FIXED_TAG_BYTES 16 - uint32_t sbuf[FIXED_TAG_BYTES]; - uint32_t *buf; - if (unlikely (descsz / 4 > FIXED_TAG_BYTES)) - { - buf = malloc (descsz); - if (unlikely (buf == NULL)) - return; - } - else - buf = sbuf; - Elf_Data out = - { - .d_version = EV_CURRENT, - .d_type = ELF_T_WORD, - .d_size = descsz, - .d_buf = buf - }; - - if (elf32_xlatetom (&out, &in, ebl->data) != NULL) - { - const char *os; - switch (buf[0]) - { - case ELF_NOTE_OS_LINUX: - os = "Linux"; - break; - - case ELF_NOTE_OS_GNU: - os = "GNU"; - break; - - case ELF_NOTE_OS_SOLARIS2: - os = "Solaris"; - break; - - case ELF_NOTE_OS_FREEBSD: - os = "FreeBSD"; - break; - - default: - os = "???"; - break; - } - - printf (gettext (" OS: %s, ABI: "), os); - for (size_t cnt = 1; cnt < descsz / 4; ++cnt) - { - if (cnt > 1) - putchar_unlocked ('.'); - printf ("%" PRIu32, buf[cnt]); - } - putchar_unlocked ('\n'); - } - if (descsz / 4 > FIXED_TAG_BYTES) - free (buf); - break; - } - /* FALLTHROUGH */ - - default: - /* Unknown type. */ - break; - } + uint32_t sbuf[FIXED_TAG_BYTES]; + uint32_t *buf; + if (unlikely (descsz / 4 > FIXED_TAG_BYTES)) + { + buf = malloc (descsz); + if (unlikely (buf == NULL)) + return; + } + else + buf = sbuf; + Elf_Data out = + { + .d_version = EV_CURRENT, + .d_type = ELF_T_WORD, + .d_size = descsz, + .d_buf = buf + }; + + if (elf32_xlatetom (&out, &in, ebl->data) != NULL) + { + const char *os; + switch (buf[0]) + { + case ELF_NOTE_OS_LINUX: + os = "Linux"; + break; + + case ELF_NOTE_OS_GNU: + os = "GNU"; + break; + + case ELF_NOTE_OS_SOLARIS2: + os = "Solaris"; + break; + + case ELF_NOTE_OS_FREEBSD: + os = "FreeBSD"; + break; + + default: + os = "???"; + break; + } + + printf (gettext (" OS: %s, ABI: "), os); + for (size_t cnt = 1; cnt < descsz / 4; ++cnt) + { + if (cnt > 1) + putchar_unlocked ('.'); + printf ("%" PRIu32, buf[cnt]); + } + putchar_unlocked ('\n'); + } + if (descsz / 4 > FIXED_TAG_BYTES) + free (buf); + break; + } + /* FALLTHROUGH */ + + default: + /* Unknown type. */ + break; + } + } } diff --git a/libebl/eblopenbackend.c b/libebl/eblopenbackend.c index b3014005..372ef2a4 100644 --- a/libebl/eblopenbackend.c +++ b/libebl/eblopenbackend.c @@ -662,7 +662,9 @@ default_debugscn_p (const char *name) const size_t ndwarf_scn_names = (sizeof (dwarf_scn_names) / sizeof (dwarf_scn_names[0])); for (size_t cnt = 0; cnt < ndwarf_scn_names; ++cnt) - if (strcmp (name, dwarf_scn_names[cnt]) == 0) + if (strcmp (name, dwarf_scn_names[cnt]) == 0 + || (strncmp (name, ".zdebug", strlen (".zdebug")) == 0 + && strcmp (&name[2], &dwarf_scn_names[cnt][1]) == 0)) return true; return false; diff --git a/libelf/Android.mk b/libelf/Android.mk index 1c0195c4..53d47be4 100755 --- a/libelf/Android.mk +++ b/libelf/Android.mk @@ -17,6 +17,7 @@ LOCAL_PATH := $(call my-dir) LIBELF_SRC_FILES := \ elf32_checksum.c \ elf32_fsize.c \ + elf32_getchdr.c \ elf32_getehdr.c \ elf32_getphdr.c \ elf32_getshdr.c \ @@ -29,6 +30,7 @@ LIBELF_SRC_FILES := \ elf32_xlatetom.c \ elf64_checksum.c \ elf64_fsize.c \ + elf64_getchdr.c \ elf64_getehdr.c \ elf64_getphdr.c \ elf64_getshdr.c \ @@ -42,6 +44,7 @@ LIBELF_SRC_FILES := \ elf_begin.c \ elf_clone.c \ elf_cntl.c \ + elf_compress.c \ elf_end.c \ elf_error.c \ elf_fill.c \ @@ -82,6 +85,7 @@ LIBELF_SRC_FILES := \ gelf_checksum.c \ gelf_fsize.c \ gelf_getauxv.c \ + gelf_getchdr.c \ gelf_getclass.c \ gelf_getdyn.c \ gelf_getehdr.c \ @@ -148,6 +152,8 @@ LOCAL_CFLAGS += -Wno-pointer-arith LOCAL_MODULE := libelf +LOCAL_STATIC_LIBRARIES := libz + LOCAL_EXPORT_C_INCLUDE_DIRS := $(LOCAL_PATH) include $(BUILD_HOST_STATIC_LIBRARY) @@ -171,6 +177,8 @@ LOCAL_C_INCLUDES := \ LOCAL_C_INCLUDES += $(LOCAL_PATH)/../bionic-fixup +LOCAL_STATIC_LIBRARIES := libz + LOCAL_CFLAGS += -DHAVE_CONFIG_H -std=gnu99 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 # to suppress the "pointer of type ‘void *’ used in arithmetic" warning diff --git a/libelf/ChangeLog b/libelf/ChangeLog index fbe8e3ae..afe6a6a5 100644 --- a/libelf/ChangeLog +++ b/libelf/ChangeLog @@ -1,3 +1,83 @@ +2016-01-22 Chih-Hung Hsieh <chh@google.com> + + * elf_compress.c (__libelf_compress): Move nested function + 'do_deflate_cleanup' to file scope to compile with clang. + * elf_strptr.c (elf_strptr): Move nested function 'get_zdata' + to file scope to compile with clang. + +2016-01-13 Mark Wielaard <mjw@redhat.com> + + * libelf.h: Check SHF_COMPRESSED is defined. If not define it and the + associated ELF compression types/defines. + +2015-11-26 Mark Wielaard <mjw@redhat.com> + + * elf_compress.c (__libelf_decompress_elf): New function, extracted + from... + (elf_compress): here. Check zdata_base use __libelf_decompress_elf. + * elf_strptr.c (elf_strptr): If SHF_COMPRESSED check, uncompress and + use zdata. + * libelfP.h (struct Elf_Scn): Add zdata_size and zdata_align. + (__libelf_decompress_elf): New internal function definition. + +2015-10-21 Mark Wielaard <mjw@redhat.com> + + * Makefile.am (libelf_a_SOURCES): Add elf_compress.c and + elf_compress_gnu.c. + * elf_compress.c: New file. + * elf_compress_gnu.c: Likewise. + * elf_begin.c (file_read_elf): Make a writable copy of the shdrs + for ELF_C_READ_MMAP. + * elf_end.c (elf_end): Free zdata_base. + * elf_error.c: Add ELF_E_ALREADY_COMPRESSED, + ELF_E_UNKNOWN_COMPRESSION_TYPE, ELF_E_COMPRESS_ERROR and + ELF_E_DECOMPRESS_ERROR. + * elf_data.c (__libelf_data_type): New internal function extracted + from convert_data. + (convert_data): Handle SHF_COMPRESSED. + * elf32_updatenull.c (updatenull_wrlock): Check sh_entsize against + uncompressed section data size if SHF_COMPRESSED. + * elf32_getshdr.c (load_shdr_wrlock): Adjust assert to account for + ELF_C_READ_MMAP. + * libelf.h: Define elf_compress and elf_compress_gnu. + * libelf.map (ELFUTILS_1.7): Add elf_compress and elf_compress_gnu. + * libelfP.h: Add ELF_E_ALREADY_COMPRESSED, + ELF_E_UNKNOWN_COMPRESSION_TYPE, ELF_E_COMPRESS_ERROR and + ELF_E_DECOMPRESS_ERROR. Define __libelf_data_type. + (__libelf_compress): New internal function definition. + (__libelf_decompress): Likewise. + (__libelf_reset_rawdata): Likewise. + (__libelf_data_type): Likewise. + (struct Elf_Scn): Add zdata_base. + +2015-11-19 Mark Wielaard <mjw@redhat.com> + + * Makefile.am (libelf_a_SOURCES): Add elf32_getchdr.c, + elf64_getchdr.c and gelf_getchdr.c. + (noinst_HEADERS): Add chdr_xlate.h. + * abstract.h: Define Chdr32 and Chdr64. + * chdr_xlate.h: New file. + * elf32_getchdr.c: New file. + * elf64_getchdr.c: New file. + * elf_error.c: Add ELF_E_NOT_COMPRESSED, ELF_E_INVALID_SECTION_TYPE + and ELF_E_INVALID_SECTION_FLAGS. + * elf_getdata.c (__libelf_set_rawdata_wrlock): Set d_type to + ELF_T_CHDR for SHF_COMPRESSED sections. + * exttypes.h: Add Chdr32 and Chdr64. + * gelf.h (GElf_Chdr): New typedef. + (gelf_getchdr): New function definition. + * gelf_fsize.c (__libelf_type_sizes): Add ELF_T_CHDR. + * gelf_getchdr.c: New file. + * gelf_xlate.c (__elf_xfctstom): Add ELF_T_CHDR cvt_chdr. + * gelf_xlate.h: Add Chdr. + * libelf.h (Elf_Type): Add ELF_T_CHDR. + (elf32_getchdr): New function definition. + (elf64_getchdr): Likewise. + * libelf.map (ELFUTILS_1.7): New sections add elf32_getchdr, + elf64_getchdr and gelf_getchdr. + * libelfP.h: Add ELF_E_NOT_COMPRESSED, ELF_E_INVALID_SECTION_TYPE + and ELF_E_INVALID_SECTION_FLAGS. + 2015-10-16 Mark Wielaard <mjw@redhat.com> * Makefile.am (libelf_so_LDLIBS): Add -lz. diff --git a/libelf/Makefile.am b/libelf/Makefile.am index 4a4131c1..167a8322 100644 --- a/libelf/Makefile.am +++ b/libelf/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to create Makefile.in ## -## Copyright (C) 1996-2010 Red Hat, Inc. +## Copyright (C) 1996-2010, 2015 Red Hat, Inc. ## This file is part of elfutils. ## ## This file is free software; you can redistribute it and/or modify @@ -88,7 +88,9 @@ libelf_a_SOURCES = elf_version.c elf_hash.c elf_error.c elf_fill.c \ elf32_offscn.c elf64_offscn.c gelf_offscn.c \ elf_getaroff.c \ elf_gnu_hash.c \ - elf_scnshndx.c + elf_scnshndx.c \ + elf32_getchdr.c elf64_getchdr.c gelf_getchdr.c \ + elf_compress.c elf_compress_gnu.c libelf_pic_a_SOURCES = am_libelf_pic_a_OBJECTS = $(libelf_a_SOURCES:.c=.os) @@ -118,7 +120,8 @@ uninstall: uninstall-am rm -f $(DESTDIR)$(libdir)/libelf.so noinst_HEADERS = elf.h abstract.h common.h exttypes.h gelf_xlate.h libelfP.h \ - version_xlate.h gnuhash_xlate.h note_xlate.h dl-hash.h + version_xlate.h gnuhash_xlate.h note_xlate.h dl-hash.h \ + chdr_xlate.h EXTRA_DIST = libelf.map CLEANFILES += $(am_libelf_pic_a_OBJECTS) libelf.so.$(VERSION) diff --git a/libelf/abstract.h b/libelf/abstract.h index 53713eec..d4515f27 100644 --- a/libelf/abstract.h +++ b/libelf/abstract.h @@ -1,5 +1,5 @@ /* Abstract description of component ELF types. - Copyright (C) 1998, 1999, 2000, 2002, 2004, 2007 Red Hat, Inc. + Copyright (C) 1998, 1999, 2000, 2002, 2004, 2007, 2015 Red Hat, Inc. This file is part of elfutils. Written by Ulrich Drepper <drepper@redhat.com>, 1998. @@ -310,3 +310,21 @@ START (64, auxv_t, Ext##auxv_t) \ TYPE_XLATE (Elf64_cvt_Addr1 (&tdest->a_un.a_val, &tsrc->a_un.a_val);) \ TYPE_EXTRA (} a_un;) \ END (64, Ext##auxv_t) + +/* Note that there is actual compression data right after the Chdr. + So we also have a separate conversion function for the whole + section. */ +#define Chdr32(Ext) \ +START (32, Chdr, Ext##Chdr) \ + TYPE_NAME (ElfW2(32, Ext##Word), ch_type) \ + TYPE_NAME (ElfW2(32, Ext##Word), ch_size) \ + TYPE_NAME (ElfW2(32, Ext##Word), ch_addralign) \ +END (32, Ext##Chdr) + +#define Chdr64(Ext) \ +START (64, Chdr, Ext##Chdr) \ + TYPE_NAME (ElfW2(64, Ext##Word), ch_type) \ + TYPE_NAME (ElfW2(64, Ext##Word), ch_reserved) \ + TYPE_NAME (ElfW2(64, Ext##Xword), ch_size) \ + TYPE_NAME (ElfW2(64, Ext##Xword), ch_addralign) \ +END (64, Ext##Chdr) diff --git a/libelf/chdr_xlate.h b/libelf/chdr_xlate.h new file mode 100644 index 00000000..70782b43 --- /dev/null +++ b/libelf/chdr_xlate.h @@ -0,0 +1,33 @@ +#include "common.h" + +/* These functions convert a while section, one Chdr plus compression data. */ + +static void +Elf32_cvt_chdr (void *dest, const void *src, size_t len, int encode) +{ + if (len == 0) + return; + + /* Move everything over, if necessary, we only need to xlate the + header, not the compressed data following it. */ + if (dest != src) + memmove (dest, src, len); + + if (len >= sizeof (Elf32_Chdr)) + Elf32_cvt_Chdr (dest, src, sizeof (Elf32_Chdr), encode); +} + +static void +Elf64_cvt_chdr (void *dest, const void *src, size_t len, int encode) +{ + if (len == 0) + return; + + /* Move everything over, if necessary, we only need to xlate the + header, not the compressed data following it. */ + if (dest != src) + memmove (dest, src, len); + + if (len >= sizeof (Elf64_Chdr)) + Elf64_cvt_Chdr (dest, src, sizeof (Elf64_Chdr), encode); +} diff --git a/libelf/elf32_getchdr.c b/libelf/elf32_getchdr.c new file mode 100644 index 00000000..982a614c --- /dev/null +++ b/libelf/elf32_getchdr.c @@ -0,0 +1,83 @@ +/* Return section compression header. + Copyright (C) 2015 Red Hat, Inc. + This file is part of elfutils. + + This file is free software; you can redistribute it and/or modify + it under the terms of either + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at + your option) any later version + + or + + * the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at + your option) any later version + + or both in parallel, as here. + + elfutils is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received copies of the GNU General Public License and + the GNU Lesser General Public License along with this program. If + not, see <http://www.gnu.org/licenses/>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <libelf.h> +#include "libelfP.h" +#include "common.h" + +#ifndef LIBELFBITS +# define LIBELFBITS 32 +#endif + + +ElfW2(LIBELFBITS,Chdr) * +elfw2(LIBELFBITS,getchdr) (Elf_Scn *scn) +{ + ElfW2(LIBELFBITS,Shdr) *shdr = elfw2(LIBELFBITS,getshdr) (scn); + if (shdr == NULL) + return NULL; + + /* Must have SHF_COMPRESSED flag set. Allocated or no bits sections + can never be compressed. */ + if ((shdr->sh_flags & SHF_ALLOC) != 0) + { + __libelf_seterrno (ELF_E_INVALID_SECTION_FLAGS); + return NULL; + } + + if (shdr->sh_type == SHT_NULL + || shdr->sh_type == SHT_NOBITS) + { + __libelf_seterrno (ELF_E_INVALID_SECTION_TYPE); + return NULL; + } + + if ((shdr->sh_flags & SHF_COMPRESSED) == 0) + { + __libelf_seterrno (ELF_E_NOT_COMPRESSED); + return NULL; + } + + /* This makes sure the data is in the correct format, so we don't + need to swap fields. */ + Elf_Data *d = elf_getdata (scn, NULL); + if (d == NULL) + return NULL; + + if (d->d_size < sizeof (ElfW2(LIBELFBITS,Chdr)) || d->d_buf == NULL) + { + __libelf_seterrno (ELF_E_INVALID_DATA); + return NULL; + } + + return (ElfW2(LIBELFBITS,Chdr) *) d->d_buf; +} diff --git a/libelf/elf32_getshdr.c b/libelf/elf32_getshdr.c index 3a6375c1..237d9122 100644 --- a/libelf/elf32_getshdr.c +++ b/libelf/elf32_getshdr.c @@ -99,6 +99,7 @@ load_shdr_wrlock (Elf_Scn *scn) assert ((elf->flags & ELF_F_MALLOCED) || ehdr->e_ident[EI_DATA] != MY_ELFDATA + || elf->cmd == ELF_C_READ_MMAP || (! ALLOW_UNALIGNED && ((uintptr_t) file_shdr & (__alignof__ (ElfW2(LIBELFBITS,Shdr)) - 1)) != 0)); @@ -106,7 +107,9 @@ load_shdr_wrlock (Elf_Scn *scn) /* Now copy the data and at the same time convert the byte order. */ if (ehdr->e_ident[EI_DATA] == MY_ELFDATA) { - assert ((elf->flags & ELF_F_MALLOCED) || ! ALLOW_UNALIGNED); + assert ((elf->flags & ELF_F_MALLOCED) + || elf->cmd == ELF_C_READ_MMAP + || ! ALLOW_UNALIGNED); memcpy (shdr, file_shdr, size); } else diff --git a/libelf/elf32_updatenull.c b/libelf/elf32_updatenull.c index d3754d32..03de0321 100644 --- a/libelf/elf32_updatenull.c +++ b/libelf/elf32_updatenull.c @@ -382,12 +382,27 @@ __elfw2(LIBELFBITS,updatenull_wrlock) (Elf *elf, int *change_bop, size_t shnum) /* Check that the section size is actually a multiple of the entry size. */ - if (shdr->sh_entsize != 0 - && unlikely (shdr->sh_size % shdr->sh_entsize != 0) + if (shdr->sh_entsize != 0 && shdr->sh_entsize != 1 && (elf->flags & ELF_F_PERMISSIVE) == 0) { - __libelf_seterrno (ELF_E_INVALID_SHENTSIZE); - return -1; + /* For compressed sections check the uncompressed size. */ + ElfW2(LIBELFBITS,Word) sh_size; + if ((shdr->sh_flags & SHF_COMPRESSED) == 0) + sh_size = shdr->sh_size; + else + { + ElfW2(LIBELFBITS,Chdr) *chdr; + chdr = elfw2(LIBELFBITS,getchdr) (scn); + if (unlikely (chdr == NULL)) + return -1; + sh_size = chdr->ch_size; + } + + if (unlikely (sh_size % shdr->sh_entsize != 0)) + { + __libelf_seterrno (ELF_E_INVALID_SHENTSIZE); + return -1; + } } } diff --git a/libelf/elf64_getchdr.c b/libelf/elf64_getchdr.c new file mode 100644 index 00000000..6588b791 --- /dev/null +++ b/libelf/elf64_getchdr.c @@ -0,0 +1,30 @@ +/* Return section compression header. + Copyright (C) 2015 Red Hat, Inc. + This file is part of elfutils. + + This file is free software; you can redistribute it and/or modify + it under the terms of either + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at + your option) any later version + + or + + * the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at + your option) any later version + + or both in parallel, as here. + + elfutils is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received copies of the GNU General Public License and + the GNU Lesser General Public License along with this program. If + not, see <http://www.gnu.org/licenses/>. */ + +#define LIBELFBITS 64 +#include "elf32_getchdr.c" diff --git a/libelf/elf_begin.c b/libelf/elf_begin.c index d2920c4e..147f5f4b 100644 --- a/libelf/elf_begin.c +++ b/libelf/elf_begin.c @@ -340,6 +340,7 @@ file_read_elf (int fildes, void *map_address, unsigned char *e_ident, Elf32_Off e_shoff = elf->state.elf32.ehdr->e_shoff; if (map_address != NULL && e_ident[EI_DATA] == MY_ELFDATA + && cmd != ELF_C_READ_MMAP /* We need a copy to be able to write. */ && (ALLOW_UNALIGNED || (((uintptr_t) ((char *) ehdr + e_shoff) & (__alignof__ (Elf32_Shdr) - 1)) == 0))) @@ -441,6 +442,7 @@ file_read_elf (int fildes, void *map_address, unsigned char *e_ident, Elf64_Off e_shoff = elf->state.elf64.ehdr->e_shoff; if (map_address != NULL && e_ident[EI_DATA] == MY_ELFDATA + && cmd != ELF_C_READ_MMAP /* We need a copy to be able to write. */ && (ALLOW_UNALIGNED || (((uintptr_t) ((char *) ehdr + e_shoff) & (__alignof__ (Elf64_Shdr) - 1)) == 0))) diff --git a/libelf/elf_compress.c b/libelf/elf_compress.c new file mode 100644 index 00000000..4c7c35e1 --- /dev/null +++ b/libelf/elf_compress.c @@ -0,0 +1,516 @@ +/* Compress or decompress a section. + Copyright (C) 2015 Red Hat, Inc. + This file is part of elfutils. + + This file is free software; you can redistribute it and/or modify + it under the terms of either + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at + your option) any later version + + or + + * the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at + your option) any later version + + or both in parallel, as here. + + elfutils is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received copies of the GNU General Public License and + the GNU Lesser General Public License along with this program. If + not, see <http://www.gnu.org/licenses/>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <libelf.h> +#include "libelfP.h" +#include "common.h" + +#include <stddef.h> +#include <stdlib.h> +#include <string.h> +#include <sys/param.h> +#include <unistd.h> +#include <zlib.h> + +#ifndef MAX +# define MAX(a, b) ((a) > (b) ? (a) : (b)) +#endif + +/* Cleanup and return result. Don't leak memory. */ +static void * +do_deflate_cleanup (void *result, z_stream *z, void *out_buf, + int ei_data, Elf_Data *cdatap) +{ + deflateEnd (z); + free (out_buf); + if (ei_data != MY_ELFDATA) + free (cdatap->d_buf); + return result; +} + +#define deflate_cleanup(result) \ + do_deflate_cleanup(result, &z, out_buf, ei_data, &cdata) + +/* Given a section, uses the (in-memory) Elf_Data to extract the + original data size (including the given header size) and data + alignment. Returns a buffer that has at least hsize bytes (for the + caller to fill in with a header) plus zlib compressed date. Also + returns the new buffer size in new_size (hsize + compressed data + size). Returns (void *) -1 when FORCE is false and the compressed + data would be bigger than the original data. */ +void * +internal_function +__libelf_compress (Elf_Scn *scn, size_t hsize, int ei_data, + size_t *orig_size, size_t *orig_addralign, + size_t *new_size, bool force) +{ + /* The compressed data is the on-disk data. We simplify the + implementation a bit by asking for the (converted) in-memory + data (which might be all there is if the user created it with + elf_newdata) and then convert back to raw if needed before + compressing. Should be made a bit more clever to directly + use raw if that is directly available. */ + Elf_Data *data = elf_getdata (scn, NULL); + if (data == NULL) + return NULL; + + /* When not forced and we immediately know we would use more data by + compressing, because of the header plus zlib overhead (five bytes + per 16 KB block, plus a one-time overhead of six bytes for the + entire stream), don't do anything. */ + Elf_Data *next_data = elf_getdata (scn, data); + if (next_data == NULL && !force + && data->d_size <= hsize + 5 + 6) + return (void *) -1; + + *orig_addralign = data->d_align; + *orig_size = data->d_size; + + /* Guess an output block size. 1/8th of the original Elf_Data plus + hsize. Make the first chunk twice that size (25%), then increase + by a block (12.5%) when necessary. */ + size_t block = (data->d_size / 8) + hsize; + size_t out_size = 2 * block; + void *out_buf = malloc (out_size); + if (out_buf == NULL) + { + __libelf_seterrno (ELF_E_NOMEM); + return NULL; + } + + /* Caller gets to fill in the header at the start. Just skip it here. */ + size_t used = hsize; + + z_stream z; + z.zalloc = Z_NULL; + z.zfree = Z_NULL; + z.opaque = Z_NULL; + int zrc = deflateInit (&z, Z_BEST_COMPRESSION); + if (zrc != Z_OK) + { + __libelf_seterrno (ELF_E_COMPRESS_ERROR); + return NULL; + } + + Elf_Data cdata; + cdata.d_buf = NULL; + + /* Loop over data buffers. */ + int flush = Z_NO_FLUSH; + do + { + /* Convert to raw if different endianess. */ + cdata = *data; + if (ei_data != MY_ELFDATA) + { + /* Don't do this conversion in place, we might want to keep + the original data around, caller decides. */ + cdata.d_buf = malloc (data->d_size); + if (cdata.d_buf == NULL) + { + __libelf_seterrno (ELF_E_NOMEM); + return deflate_cleanup (NULL); + } + if (gelf_xlatetof (scn->elf, &cdata, data, ei_data) == NULL) + return deflate_cleanup (NULL); + } + + z.avail_in = cdata.d_size; + z.next_in = cdata.d_buf; + + /* Get next buffer to see if this is the last one. */ + data = next_data; + if (data != NULL) + { + *orig_addralign = MAX (*orig_addralign, data->d_align); + *orig_size += data->d_size; + next_data = elf_getdata (scn, data); + } + else + flush = Z_FINISH; + + /* Flush one data buffer. */ + do + { + z.avail_out = out_size - used; + z.next_out = out_buf + used; + zrc = deflate (&z, flush); + if (zrc == Z_STREAM_ERROR) + { + __libelf_seterrno (ELF_E_COMPRESS_ERROR); + return deflate_cleanup (NULL); + } + used += (out_size - used) - z.avail_out; + + /* Bail out if we are sure the user doesn't want the + compression forced and we are using more compressed data + than original data. */ + if (!force && flush == Z_FINISH && used >= *orig_size) + return deflate_cleanup ((void *) -1); + + if (z.avail_out == 0) + { + void *bigger = realloc (out_buf, out_size + block); + if (bigger == NULL) + { + __libelf_seterrno (ELF_E_NOMEM); + return deflate_cleanup (NULL); + } + out_buf = bigger; + out_size += block; + } + } + while (z.avail_out == 0); /* Need more output buffer. */ + + if (ei_data != MY_ELFDATA) + { + free (cdata.d_buf); + cdata.d_buf = NULL; + } + } + while (flush != Z_FINISH); /* More data blocks. */ + + zrc = deflateEnd (&z); + if (zrc != Z_OK) + { + __libelf_seterrno (ELF_E_COMPRESS_ERROR); + return deflate_cleanup (NULL); + } + + *new_size = used; + return out_buf; +} + +void * +internal_function +__libelf_decompress (void *buf_in, size_t size_in, size_t size_out) +{ + void *buf_out = malloc (size_out); + if (unlikely (buf_out == NULL)) + { + __libelf_seterrno (ELF_E_NOMEM); + return NULL; + } + + z_stream z = + { + .next_in = buf_in, + .avail_in = size_in, + .next_out = buf_out, + .avail_out = size_out + }; + int zrc = inflateInit (&z); + while (z.avail_in > 0 && likely (zrc == Z_OK)) + { + z.next_out = buf_out + (size_out - z.avail_out); + zrc = inflate (&z, Z_FINISH); + if (unlikely (zrc != Z_STREAM_END)) + { + zrc = Z_DATA_ERROR; + break; + } + zrc = inflateReset (&z); + } + if (likely (zrc == Z_OK)) + zrc = inflateEnd (&z); + + if (unlikely (zrc != Z_OK) || unlikely (z.avail_out != 0)) + { + free (buf_out); + __libelf_seterrno (ELF_E_DECOMPRESS_ERROR); + return NULL; + } + + return buf_out; +} + +void * +internal_function +__libelf_decompress_elf (Elf_Scn *scn, size_t *size_out, size_t *addralign) +{ + GElf_Chdr chdr; + if (gelf_getchdr (scn, &chdr) == NULL) + return NULL; + + if (chdr.ch_type != ELFCOMPRESS_ZLIB) + { + __libelf_seterrno (ELF_E_UNKNOWN_COMPRESSION_TYPE); + return NULL; + } + + if (! powerof2 (chdr.ch_addralign)) + { + __libelf_seterrno (ELF_E_INVALID_ALIGN); + return NULL; + } + + /* Take the in-memory representation, so we can even handle a + section that has just been constructed (maybe it was copied + over from some other ELF file first with elf_newdata). This + is slightly inefficient when the raw data needs to be + converted since then we'll be converting the whole buffer and + not just Chdr. */ + Elf_Data *data = elf_getdata (scn, NULL); + if (data == NULL) + return NULL; + + int elfclass = scn->elf->class; + size_t hsize = (elfclass == ELFCLASS32 + ? sizeof (Elf32_Chdr) : sizeof (Elf64_Chdr)); + size_t size_in = data->d_size - hsize; + void *buf_in = data->d_buf + hsize; + void *buf_out = __libelf_decompress (buf_in, size_in, chdr.ch_size); + *size_out = chdr.ch_size; + *addralign = chdr.ch_addralign; + return buf_out; +} + +void +internal_function +__libelf_reset_rawdata (Elf_Scn *scn, void *buf, size_t size, size_t align, + Elf_Type type) +{ + /* This is the new raw data, replace and possibly free old data. */ + scn->rawdata.d.d_off = 0; + scn->rawdata.d.d_version = __libelf_version; + scn->rawdata.d.d_buf = buf; + scn->rawdata.d.d_size = size; + scn->rawdata.d.d_align = align; + scn->rawdata.d.d_type = type; + + /* Existing existing data is no longer valid. */ + scn->data_list_rear = NULL; + if (scn->data_base != scn->rawdata_base) + free (scn->data_base); + scn->data_base = NULL; + if (scn->elf->map_address == NULL + || scn->rawdata_base == scn->zdata_base) + free (scn->rawdata_base); + + scn->rawdata_base = buf; +} + +int +elf_compress (Elf_Scn *scn, int type, unsigned int flags) +{ + if (scn == NULL) + return -1; + + if ((flags & ~ELF_CHF_FORCE) != 0) + { + __libelf_seterrno (ELF_E_INVALID_OPERAND); + return -1; + } + + bool force = (flags & ELF_CHF_FORCE) != 0; + + Elf *elf = scn->elf; + GElf_Ehdr ehdr; + if (gelf_getehdr (elf, &ehdr) == NULL) + return -1; + + int elfclass = elf->class; + int elfdata = ehdr.e_ident[EI_DATA]; + + Elf64_Xword sh_flags; + Elf64_Word sh_type; + Elf64_Xword sh_addralign; + if (elfclass == ELFCLASS32) + { + Elf32_Shdr *shdr = elf32_getshdr (scn); + if (shdr == NULL) + return -1; + + sh_flags = shdr->sh_flags; + sh_type = shdr->sh_type; + sh_addralign = shdr->sh_addralign; + } + else + { + Elf64_Shdr *shdr = elf64_getshdr (scn); + if (shdr == NULL) + return -1; + + sh_flags = shdr->sh_flags; + sh_type = shdr->sh_type; + sh_addralign = shdr->sh_addralign; + } + + if ((sh_flags & SHF_ALLOC) != 0) + { + __libelf_seterrno (ELF_E_INVALID_SECTION_FLAGS); + return -1; + } + + if (sh_type == SHT_NULL || sh_type == SHT_NOBITS) + { + __libelf_seterrno (ELF_E_INVALID_SECTION_TYPE); + return -1; + } + + int compressed = (sh_flags & SHF_COMPRESSED); + if (type == ELFCOMPRESS_ZLIB) + { + /* Compress/Deflate. */ + if (compressed == 1) + { + __libelf_seterrno (ELF_E_ALREADY_COMPRESSED); + return -1; + } + + size_t hsize = (elfclass == ELFCLASS32 + ? sizeof (Elf32_Chdr) : sizeof (Elf64_Chdr)); + size_t orig_size, orig_addralign, new_size; + void *out_buf = __libelf_compress (scn, hsize, elfdata, + &orig_size, &orig_addralign, + &new_size, force); + + /* Compression would make section larger, don't change anything. */ + if (out_buf == (void *) -1) + return 0; + + /* Compression failed, return error. */ + if (out_buf == NULL) + return -1; + + /* Put the header in front of the data. */ + if (elfclass == ELFCLASS32) + { + Elf32_Chdr chdr; + chdr.ch_type = ELFCOMPRESS_ZLIB; + chdr.ch_size = orig_size; + chdr.ch_addralign = orig_addralign; + if (elfdata != MY_ELFDATA) + { + CONVERT (chdr.ch_type); + CONVERT (chdr.ch_size); + CONVERT (chdr.ch_addralign); + } + memcpy (out_buf, &chdr, sizeof (Elf32_Chdr)); + } + else + { + Elf64_Chdr chdr; + chdr.ch_type = ELFCOMPRESS_ZLIB; + chdr.ch_reserved = 0; + chdr.ch_size = orig_size; + chdr.ch_addralign = sh_addralign; + if (elfdata != MY_ELFDATA) + { + CONVERT (chdr.ch_type); + CONVERT (chdr.ch_reserved); + CONVERT (chdr.ch_size); + CONVERT (chdr.ch_addralign); + } + memcpy (out_buf, &chdr, sizeof (Elf64_Chdr)); + } + + /* Note we keep the sh_entsize as is, we assume it is setup + correctly and ignored when SHF_COMPRESSED is set. */ + if (elfclass == ELFCLASS32) + { + Elf32_Shdr *shdr = elf32_getshdr (scn); + shdr->sh_size = new_size; + shdr->sh_addralign = 1; + shdr->sh_flags |= SHF_COMPRESSED; + } + else + { + Elf64_Shdr *shdr = elf64_getshdr (scn); + shdr->sh_size = new_size; + shdr->sh_addralign = 1; + shdr->sh_flags |= SHF_COMPRESSED; + } + + __libelf_reset_rawdata (scn, out_buf, new_size, 1, ELF_T_CHDR); + + /* The section is now compressed, we could keep the uncompressed + data around, but since that might have been multiple Elf_Data + buffers let the user uncompress it explicitly again if they + want it to simplify bookkeeping. */ + scn->zdata_base = NULL; + + return 1; + } + else if (type == 0) + { + /* Decompress/Inflate. */ + if (compressed == 0) + { + __libelf_seterrno (ELF_E_NOT_COMPRESSED); + return -1; + } + + /* If the data is already decompressed (by elf_strptr), then we + only need to setup the rawdata and section header. XXX what + about elf_newdata? */ + if (scn->zdata_base == NULL) + { + size_t size_out, addralign; + void *buf_out = __libelf_decompress_elf (scn, &size_out, &addralign); + if (buf_out == NULL) + return -1; + + scn->zdata_base = buf_out; + scn->zdata_size = size_out; + scn->zdata_align = addralign; + } + + /* Note we keep the sh_entsize as is, we assume it is setup + correctly and ignored when SHF_COMPRESSED is set. */ + if (elfclass == ELFCLASS32) + { + Elf32_Shdr *shdr = elf32_getshdr (scn); + shdr->sh_size = scn->zdata_size; + shdr->sh_addralign = scn->zdata_align; + shdr->sh_flags &= ~SHF_COMPRESSED; + } + else + { + Elf64_Shdr *shdr = elf64_getshdr (scn); + shdr->sh_size = scn->zdata_size; + shdr->sh_addralign = scn->zdata_align; + shdr->sh_flags &= ~SHF_COMPRESSED; + } + + __libelf_reset_rawdata (scn, scn->zdata_base, + scn->zdata_size, scn->zdata_align, + __libelf_data_type (elf, sh_type)); + + return 1; + } + else + { + __libelf_seterrno (ELF_E_UNKNOWN_COMPRESSION_TYPE); + return -1; + } +} diff --git a/libelf/elf_compress_gnu.c b/libelf/elf_compress_gnu.c new file mode 100644 index 00000000..c35dc395 --- /dev/null +++ b/libelf/elf_compress_gnu.c @@ -0,0 +1,208 @@ +/* Compress or decompress a section. + Copyright (C) 2015 Red Hat, Inc. + This file is part of elfutils. + + This file is free software; you can redistribute it and/or modify + it under the terms of either + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at + your option) any later version + + or + + * the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at + your option) any later version + + or both in parallel, as here. + + elfutils is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received copies of the GNU General Public License and + the GNU Lesser General Public License along with this program. If + not, see <http://www.gnu.org/licenses/>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <libelf.h> +#include "libelfP.h" +#include "common.h" + +int +elf_compress_gnu (Elf_Scn *scn, int inflate, unsigned int flags) +{ + if (scn == NULL) + return -1; + + if ((flags & ~ELF_CHF_FORCE) != 0) + { + __libelf_seterrno (ELF_E_INVALID_OPERAND); + return -1; + } + + bool force = (flags & ELF_CHF_FORCE) != 0; + + Elf *elf = scn->elf; + GElf_Ehdr ehdr; + if (gelf_getehdr (elf, &ehdr) == NULL) + return -1; + + int elfclass = elf->class; + int elfdata = ehdr.e_ident[EI_DATA]; + + Elf64_Xword sh_flags; + Elf64_Word sh_type; + Elf64_Xword sh_addralign; + if (elfclass == ELFCLASS32) + { + Elf32_Shdr *shdr = elf32_getshdr (scn); + if (shdr == NULL) + return -1; + + sh_flags = shdr->sh_flags; + sh_type = shdr->sh_type; + sh_addralign = shdr->sh_addralign; + } + else + { + Elf64_Shdr *shdr = elf64_getshdr (scn); + if (shdr == NULL) + return -1; + + sh_flags = shdr->sh_flags; + sh_type = shdr->sh_type; + sh_addralign = shdr->sh_addralign; + } + + if ((sh_flags & SHF_ALLOC) != 0) + { + __libelf_seterrno (ELF_E_INVALID_SECTION_FLAGS); + return -1; + } + + if (sh_type == SHT_NULL || sh_type == SHT_NOBITS) + { + __libelf_seterrno (ELF_E_INVALID_SECTION_TYPE); + return -1; + } + + /* For GNU compression we cannot really know whether the section is + already compressed or not. Just try and see what happens... */ + // int compressed = (sh_flags & SHF_COMPRESSED); + if (inflate == 1) + { + size_t hsize = 4 + 8; /* GNU "ZLIB" + 8 byte size. */ + size_t orig_size, new_size, orig_addralign; + void *out_buf = __libelf_compress (scn, hsize, elfdata, + &orig_size, &orig_addralign, + &new_size, force); + + /* Compression would make section larger, don't change anything. */ + if (out_buf == (void *) -1) + return 0; + + /* Compression failed, return error. */ + if (out_buf == NULL) + return -1; + + uint64_t be64_size = htobe64 (orig_size); + memmove (out_buf, "ZLIB", 4); + memmove (out_buf + 4, &be64_size, sizeof (be64_size)); + + /* We don't know anything about sh_entsize, sh_addralign and + sh_flags won't have a SHF_COMPRESSED hint in the GNU format. + Just adjust the sh_size. */ + if (elfclass == ELFCLASS32) + { + Elf32_Shdr *shdr = elf32_getshdr (scn); + shdr->sh_size = new_size; + } + else + { + Elf64_Shdr *shdr = elf64_getshdr (scn); + shdr->sh_size = new_size; + } + + __libelf_reset_rawdata (scn, out_buf, new_size, 1, ELF_T_BYTE); + + /* The section is now compressed, we could keep the uncompressed + data around, but since that might have been multiple Elf_Data + buffers let the user uncompress it explicitly again if they + want it to simplify bookkeeping. */ + scn->zdata_base = NULL; + + return 1; + } + else if (inflate == 0) + { + /* In theory the user could have constucted a compressed section + by hand. But we always just take the rawdata directly and + decompress that. */ + Elf_Data *data = elf_rawdata (scn, NULL); + if (data == NULL) + return -1; + + size_t hsize = 4 + 8; /* GNU "ZLIB" + 8 byte size. */ + if (data->d_size < hsize || memcmp (data->d_buf, "ZLIB", 4) != 0) + { + __libelf_seterrno (ELF_E_NOT_COMPRESSED); + return -1; + } + + /* There is a 12-byte header of "ZLIB" followed by + an 8-byte big-endian size. There is only one type and + Alignment isn't preserved separately. */ + uint64_t gsize; + memcpy (&gsize, data->d_buf + 4, sizeof gsize); + gsize = be64toh (gsize); + + /* One more sanity check, size should be bigger than original + data size plus some overhead (4 chars ZLIB + 8 bytes size + 6 + bytes zlib stream overhead + 5 bytes overhead max for one 16K + block) and should fit into a size_t. */ + if (gsize + 4 + 8 + 6 + 5 < data->d_size || gsize > SIZE_MAX) + { + __libelf_seterrno (ELF_E_NOT_COMPRESSED); + return -1; + } + + size_t size = gsize; + size_t size_in = data->d_size - hsize; + void *buf_in = data->d_buf + hsize; + void *buf_out = __libelf_decompress (buf_in, size_in, size); + if (buf_out == NULL) + return -1; + + /* We don't know anything about sh_entsize, sh_addralign and + sh_flags won't have a SHF_COMPRESSED hint in the GNU format. + Just adjust the sh_size. */ + if (elfclass == ELFCLASS32) + { + Elf32_Shdr *shdr = elf32_getshdr (scn); + shdr->sh_size = size; + } + else + { + Elf64_Shdr *shdr = elf64_getshdr (scn); + shdr->sh_size = size; + } + + __libelf_reset_rawdata (scn, buf_out, size, sh_addralign, + __libelf_data_type (elf, sh_type)); + + scn->zdata_base = buf_out; + + return 1; + } + else + { + __libelf_seterrno (ELF_E_UNKNOWN_COMPRESSION_TYPE); + return -1; + } +} diff --git a/libelf/elf_end.c b/libelf/elf_end.c index 7ea876c3..fde17b50 100644 --- a/libelf/elf_end.c +++ b/libelf/elf_end.c @@ -150,6 +150,12 @@ elf_end (Elf *elf) /* It doesn't matter which pointer. */ free (scn->shdr.e32); + /* Free zdata if uncompressed, but not yet used as + rawdata_base. If it is already used it will be + freed below. */ + if (scn->zdata_base != scn->rawdata_base) + free (scn->zdata_base); + /* If the file has the same byte order and the architecture doesn't require overly stringent alignment the raw data buffer is the same as the @@ -158,8 +164,9 @@ elf_end (Elf *elf) free (scn->data_base); /* The section data is allocated if we couldn't mmap - the file. */ - if (elf->map_address == NULL) + the file. Or if we had to decompress. */ + if (elf->map_address == NULL + || scn->rawdata_base == scn->zdata_base) free (scn->rawdata_base); /* Free the list of data buffers for the section. diff --git a/libelf/elf_error.c b/libelf/elf_error.c index d6bdaab0..888b389a 100644 --- a/libelf/elf_error.c +++ b/libelf/elf_error.c @@ -230,6 +230,41 @@ core files") (ELF_E_NO_PHDR_IDX \ + sizeof "file has no program header") N_("invalid offset") + "\0" +#define ELF_E_INVALID_SECTION_TYPE_IDX \ + (ELF_E_INVALID_OFFSET_IDX \ + + sizeof "invalid offset") + N_("invalid section type") + "\0" +#define ELF_E_INVALID_SECTION_FLAGS_IDX \ + (ELF_E_INVALID_SECTION_TYPE_IDX \ + + sizeof "invalid section type") + N_("invalid section flags") + "\0" +#define ELF_E_NOT_COMPRESSED_IDX \ + (ELF_E_INVALID_SECTION_FLAGS_IDX \ + + sizeof "invalid section flags") + N_("section does not contain compressed data") + "\0" +#define ELF_E_ALREADY_COMPRESSED_IDX \ + (ELF_E_NOT_COMPRESSED_IDX \ + + sizeof "section does not contain compressed data") + N_("section contains compressed data") + "\0" +#define ELF_E_UNKNOWN_COMPRESSION_TYPE_IDX \ + (ELF_E_ALREADY_COMPRESSED_IDX \ + + sizeof "section contains compressed data") + N_("unknown compression type") + "\0" +#define ELF_E_COMPRESS_ERROR_IDX \ + (ELF_E_UNKNOWN_COMPRESSION_TYPE_IDX \ + + sizeof "unknown compression type") + N_("cannot compress data") + "\0" +#define ELF_E_DECOMPRESS_ERROR_IDX \ + (ELF_E_COMPRESS_ERROR_IDX \ + + sizeof "cannot compress data") + N_("cannot decompress data") }; @@ -277,7 +312,14 @@ static const uint_fast16_t msgidx[ELF_E_NUM] = [ELF_E_GROUP_NOT_REL] = ELF_E_GROUP_NOT_REL_IDX, [ELF_E_INVALID_PHDR] = ELF_E_INVALID_PHDR_IDX, [ELF_E_NO_PHDR] = ELF_E_NO_PHDR_IDX, - [ELF_E_INVALID_OFFSET] = ELF_E_INVALID_OFFSET_IDX + [ELF_E_INVALID_OFFSET] = ELF_E_INVALID_OFFSET_IDX, + [ELF_E_INVALID_SECTION_TYPE] = ELF_E_INVALID_SECTION_TYPE_IDX, + [ELF_E_INVALID_SECTION_FLAGS] = ELF_E_INVALID_SECTION_FLAGS_IDX, + [ELF_E_NOT_COMPRESSED] = ELF_E_NOT_COMPRESSED_IDX, + [ELF_E_ALREADY_COMPRESSED] = ELF_E_ALREADY_COMPRESSED_IDX, + [ELF_E_UNKNOWN_COMPRESSION_TYPE] = ELF_E_UNKNOWN_COMPRESSION_TYPE_IDX, + [ELF_E_COMPRESS_ERROR] = ELF_E_COMPRESS_ERROR_IDX, + [ELF_E_DECOMPRESS_ERROR] = ELF_E_DECOMPRESS_ERROR_IDX }; #define nmsgidx ((int) (sizeof (msgidx) / sizeof (msgidx[0]))) diff --git a/libelf/elf_getdata.c b/libelf/elf_getdata.c index 9a567e51..4ec94b98 100644 --- a/libelf/elf_getdata.c +++ b/libelf/elf_getdata.c @@ -106,6 +106,7 @@ const uint_fast8_t __libelf_type_aligns[EV_NUM - 1][ELFCLASSNUM - 1][ELF_T_NUM] [ELF_T_NHDR] = __alignof__ (ElfW2(Bits,Nhdr)), \ [ELF_T_GNUHASH] = __alignof__ (Elf32_Word), \ [ELF_T_AUXV] = __alignof__ (ElfW2(Bits,auxv_t)), \ + [ELF_T_CHDR] = __alignof__ (ElfW2(Bits,Chdr)), \ } [EV_CURRENT - 1] = { @@ -117,6 +118,22 @@ const uint_fast8_t __libelf_type_aligns[EV_NUM - 1][ELFCLASSNUM - 1][ELF_T_NUM] #endif +Elf_Type +internal_function +__libelf_data_type (Elf *elf, int sh_type) +{ + /* Some broken ELF ABI for 64-bit machines use the wrong hash table + entry size. See elf-knowledge.h for more information. */ + if (sh_type == SHT_HASH && elf->class == ELFCLASS64) + { + GElf_Ehdr ehdr_mem; + GElf_Ehdr *ehdr = __gelf_getehdr_rdlock (elf, &ehdr_mem); + return (SH_ENTSIZE_HASH (ehdr) == 4 ? ELF_T_WORD : ELF_T_XWORD); + } + else + return shtype_map[LIBELF_EV_IDX][TYPEIDX (sh_type)]; +} + /* Convert the data in the current section. */ static void convert_data (Elf_Scn *scn, int version __attribute__ ((unused)), int eclass, @@ -204,6 +221,7 @@ __libelf_set_rawdata_wrlock (Elf_Scn *scn) Elf64_Off offset; Elf64_Xword size; Elf64_Xword align; + Elf64_Xword flags; int type; Elf *elf = scn->elf; @@ -220,6 +238,7 @@ __libelf_set_rawdata_wrlock (Elf_Scn *scn) size = shdr->sh_size; type = shdr->sh_type; align = shdr->sh_addralign; + flags = shdr->sh_flags; } else { @@ -234,6 +253,7 @@ __libelf_set_rawdata_wrlock (Elf_Scn *scn) size = shdr->sh_size; type = shdr->sh_type; align = shdr->sh_addralign; + flags = shdr->sh_flags; } /* If the section has no data (for whatever reason), leave the `d_buf' @@ -243,7 +263,10 @@ __libelf_set_rawdata_wrlock (Elf_Scn *scn) /* First a test whether the section is valid at all. */ size_t entsize; - if (type == SHT_HASH) + /* Compressed data has a header, but then compressed data. */ + if ((flags & SHF_COMPRESSED) != 0) + entsize = 1; + else if (type == SHT_HASH) { GElf_Ehdr ehdr_mem; GElf_Ehdr *ehdr = __gelf_getehdr_rdlock (elf, &ehdr_mem); @@ -320,17 +343,13 @@ __libelf_set_rawdata_wrlock (Elf_Scn *scn) } scn->rawdata.d.d_size = size; - /* Some broken ELF ABI for 64-bit machines use the wrong hash table - entry size. See elf-knowledge.h for more information. */ - if (type == SHT_HASH && elf->class == ELFCLASS64) - { - GElf_Ehdr ehdr_mem; - GElf_Ehdr *ehdr = __gelf_getehdr_rdlock (elf, &ehdr_mem); - scn->rawdata.d.d_type - = (SH_ENTSIZE_HASH (ehdr) == 4 ? ELF_T_WORD : ELF_T_XWORD); - } + + /* Compressed data always has type ELF_T_CHDR regardless of the + section type. */ + if ((flags & SHF_COMPRESSED) != 0) + scn->rawdata.d.d_type = ELF_T_CHDR; else - scn->rawdata.d.d_type = shtype_map[LIBELF_EV_IDX][TYPEIDX (type)]; + scn->rawdata.d.d_type = __libelf_data_type (elf, type); scn->rawdata.d.d_off = 0; /* Make sure the alignment makes sense. d_align should be aligned both diff --git a/libelf/elf_strptr.c b/libelf/elf_strptr.c index c5138dc6..ea210459 100644 --- a/libelf/elf_strptr.c +++ b/libelf/elf_strptr.c @@ -37,6 +37,21 @@ #include "libelfP.h" +static void * +get_zdata (Elf_Scn *strscn) +{ + size_t zsize, zalign; + void *zdata = __libelf_decompress_elf (strscn, &zsize, &zalign); + if (zdata == NULL) + return NULL; + + strscn->zdata_base = zdata; + strscn->zdata_size = zsize; + strscn->zdata_align = zalign; + + return zdata; +} + char * elf_strptr (Elf *elf, size_t idx, size_t offset) { @@ -94,8 +109,16 @@ elf_strptr (Elf *elf, size_t idx, size_t offset) goto out; } - sh_size = shdr->sh_size; - if (unlikely (offset >= shdr->sh_size)) + if ((shdr->sh_flags & SHF_COMPRESSED) == 0) + sh_size = shdr->sh_size; + else + { + if (strscn->zdata_base == NULL && get_zdata (strscn) == NULL) + goto out; + sh_size = strscn->zdata_size; + } + + if (unlikely (offset >= sh_size)) { /* The given offset is too big, it is beyond this section. */ __libelf_seterrno (ELF_E_OFFSET_RANGE); @@ -112,8 +135,16 @@ elf_strptr (Elf *elf, size_t idx, size_t offset) goto out; } - sh_size = shdr->sh_size; - if (unlikely (offset >= shdr->sh_size)) + if ((shdr->sh_flags & SHF_COMPRESSED) == 0) + sh_size = shdr->sh_size; + else + { + if (strscn->zdata_base == NULL && get_zdata (strscn) == NULL) + goto out; + sh_size = strscn->zdata_size; + } + + if (unlikely (offset >= sh_size)) { /* The given offset is too big, it is beyond this section. */ __libelf_seterrno (ELF_E_OFFSET_RANGE); @@ -131,7 +162,17 @@ elf_strptr (Elf *elf, size_t idx, size_t offset) goto out; } - if (likely (strscn->data_list_rear == NULL)) + if (unlikely (strscn->zdata_base != NULL)) + { + /* Make sure the string is NUL terminated. Start from the end, + which very likely is a NUL char. */ + if (likely (memrchr (&strscn->zdata_base[offset], + '\0', sh_size - offset) != NULL)) + result = &strscn->zdata_base[offset]; + else + __libelf_seterrno (ELF_E_INVALID_INDEX); + } + else if (likely (strscn->data_list_rear == NULL)) { // XXX The above is currently correct since elf_newdata will // make sure to convert the rawdata into the datalist if diff --git a/libelf/exttypes.h b/libelf/exttypes.h index 8cb2aaec..7bacd654 100644 --- a/libelf/exttypes.h +++ b/libelf/exttypes.h @@ -1,5 +1,5 @@ /* External ELF types. - Copyright (C) 1998-2010 Red Hat, Inc. + Copyright (C) 1998-2010, 2015 Red Hat, Inc. This file is part of elfutils. Contributed by Ulrich Drepper <drepper@redhat.com>, 1998. @@ -75,6 +75,7 @@ Syminfo32 (Ext_); Move32 (Ext_); Lib32 (Ext_); auxv_t32 (Ext_); +Chdr32 (Ext_); Ehdr64 (Ext_); Phdr64 (Ext_); @@ -92,6 +93,7 @@ Syminfo64 (Ext_); Move64 (Ext_); Lib64 (Ext_); auxv_t64 (Ext_); +Chdr64 (Ext_); #undef START #undef END diff --git a/libelf/gelf.h b/libelf/gelf.h index e3f07404..1bc7ee72 100644 --- a/libelf/gelf.h +++ b/libelf/gelf.h @@ -1,5 +1,5 @@ /* This file defines generic ELF types, structures, and macros. - Copyright (C) 1999, 2000, 2001, 2002, 2004, 2005, 2007 Red Hat, Inc. + Copyright (C) 1999, 2000, 2001, 2002, 2004, 2005, 2007, 2015 Red Hat, Inc. This file is part of elfutils. This file is free software; you can redistribute it and/or modify @@ -85,6 +85,9 @@ typedef Elf64_Rela GElf_Rela; /* Program segment header. */ typedef Elf64_Phdr GElf_Phdr; +/* Header of a compressed section. */ +typedef Elf64_Chdr GElf_Chdr; + /* Dynamic section entry. */ typedef Elf64_Dyn GElf_Dyn; @@ -183,6 +186,9 @@ extern int gelf_update_phdr (Elf *__elf, int __ndx, GElf_Phdr *__src); /* Create new program header with PHNUM entries. */ extern unsigned long int gelf_newphdr (Elf *__elf, size_t __phnum); +/* Get compression header of section if any. Returns NULL and sets + elf_errno if the section isn't compressed or an error occurred. */ +extern GElf_Chdr *gelf_getchdr (Elf_Scn *__scn, GElf_Chdr *__dst); /* Convert data structure from the representation in the file represented by ELF to their memory representation. */ diff --git a/libelf/gelf_fsize.c b/libelf/gelf_fsize.c index a124fa84..0c509265 100644 --- a/libelf/gelf_fsize.c +++ b/libelf/gelf_fsize.c @@ -68,6 +68,7 @@ const size_t __libelf_type_sizes[EV_NUM - 1][ELFCLASSNUM - 1][ELF_T_NUM] = [ELF_T_MOVE] = sizeof (ElfW2(LIBELFBITS, Ext_Move)), \ [ELF_T_LIB] = sizeof (ElfW2(LIBELFBITS, Ext_Lib)), \ [ELF_T_AUXV] = sizeof (ElfW2(LIBELFBITS, Ext_auxv_t)), \ + [ELF_T_CHDR] = sizeof (ElfW2(LIBELFBITS, Ext_Chdr)), \ [ELF_T_GNUHASH] = ELFW2(LIBELFBITS, FSZ_WORD) TYPE_SIZES (32) }, diff --git a/libelf/gelf_getchdr.c b/libelf/gelf_getchdr.c new file mode 100644 index 00000000..394bf4b3 --- /dev/null +++ b/libelf/gelf_getchdr.c @@ -0,0 +1,69 @@ +/* Return section compression header. + Copyright (C) 2015 Red Hat, Inc. + This file is part of elfutils. + + This file is free software; you can redistribute it and/or modify + it under the terms of either + + * the GNU Lesser General Public License as published by the Free + Software Foundation; either version 3 of the License, or (at + your option) any later version + + or + + * the GNU General Public License as published by the Free + Software Foundation; either version 2 of the License, or (at + your option) any later version + + or both in parallel, as here. + + elfutils is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + General Public License for more details. + + You should have received copies of the GNU General Public License and + the GNU Lesser General Public License along with this program. If + not, see <http://www.gnu.org/licenses/>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include "libelfP.h" +#include <gelf.h> +#include <stddef.h> + + +GElf_Chdr * +gelf_getchdr (Elf_Scn *scn, GElf_Chdr *dest) +{ + if (scn == NULL) + return NULL; + + if (dest == NULL) + { + __libelf_seterrno (ELF_E_INVALID_OPERAND); + return NULL; + } + + if (scn->elf->class == ELFCLASS32) + { + Elf32_Chdr *chdr = elf32_getchdr (scn); + if (chdr == NULL) + return NULL; + dest->ch_type = chdr->ch_type; + dest->ch_size = chdr->ch_size; + dest->ch_addralign = chdr->ch_addralign; + } + else + { + Elf64_Chdr *chdr = elf64_getchdr (scn); + if (chdr == NULL) + return NULL; + *dest = *chdr; + } + + return dest; +} +INTDEF(gelf_getchdr) diff --git a/libelf/gelf_xlate.c b/libelf/gelf_xlate.c index c5805e73..f3d3b7a0 100644 --- a/libelf/gelf_xlate.c +++ b/libelf/gelf_xlate.c @@ -166,6 +166,7 @@ union unaligned #include "version_xlate.h" #include "gnuhash_xlate.h" #include "note_xlate.h" +#include "chdr_xlate.h" /* Now the externally visible table with the function pointers. */ @@ -198,7 +199,8 @@ const xfct_t __elf_xfctstom[EV_NUM - 1][EV_NUM - 1][ELFCLASSNUM - 1][ELF_T_NUM] [ELF_T_SYMINFO] = ElfW2(Bits, cvt_Syminfo), \ [ELF_T_MOVE] = ElfW2(Bits, cvt_Move), \ [ELF_T_LIB] = ElfW2(Bits, cvt_Lib), \ - [ELF_T_AUXV] = ElfW2(Bits, cvt_auxv_t) + [ELF_T_AUXV] = ElfW2(Bits, cvt_auxv_t), \ + [ELF_T_CHDR] = ElfW2(Bits, cvt_chdr) define_xfcts (32), [ELF_T_GNUHASH] = Elf32_cvt_Word }, diff --git a/libelf/gelf_xlate.h b/libelf/gelf_xlate.h index f11eb90b..3c0e4bf6 100644 --- a/libelf/gelf_xlate.h +++ b/libelf/gelf_xlate.h @@ -50,6 +50,7 @@ TYPE (Syminfo, LIBELFBITS) TYPE (Move, LIBELFBITS) TYPE (Lib, LIBELFBITS) TYPE (auxv_t, LIBELFBITS) +TYPE (Chdr, LIBELFBITS) /* Prepare for the next round. */ diff --git a/libelf/libelf.h b/libelf/libelf.h index 54f7c29b..c0d6389f 100644 --- a/libelf/libelf.h +++ b/libelf/libelf.h @@ -1,5 +1,5 @@ /* Interface for libelf. - Copyright (C) 1998-2010 Red Hat, Inc. + Copyright (C) 1998-2010, 2015 Red Hat, Inc. This file is part of elfutils. This file is free software; you can redistribute it and/or modify @@ -35,6 +35,34 @@ /* Get the ELF types. */ #include <elf.h> +#ifndef SHF_COMPRESSED + /* Older glibc elf.h might not yet define the ELF compression types. */ + #define SHF_COMPRESSED (1 << 11) /* Section with compressed data. */ + + /* Section compression header. Used when SHF_COMPRESSED is set. */ + + typedef struct + { + Elf32_Word ch_type; /* Compression format. */ + Elf32_Word ch_size; /* Uncompressed data size. */ + Elf32_Word ch_addralign; /* Uncompressed data alignment. */ + } Elf32_Chdr; + + typedef struct + { + Elf64_Word ch_type; /* Compression format. */ + Elf64_Word ch_reserved; + Elf64_Xword ch_size; /* Uncompressed data size. */ + Elf64_Xword ch_addralign; /* Uncompressed data alignment. */ + } Elf64_Chdr; + + /* Legal values for ch_type (compression algorithm). */ + #define ELFCOMPRESS_ZLIB 1 /* ZLIB/DEFLATE algorithm. */ + #define ELFCOMPRESS_LOOS 0x60000000 /* Start of OS-specific. */ + #define ELFCOMPRESS_HIOS 0x6fffffff /* End of OS-specific. */ + #define ELFCOMPRESS_LOPROC 0x70000000 /* Start of processor-specific. */ + #define ELFCOMPRESS_HIPROC 0x7fffffff /* End of processor-specific. */ +#endif /* Known translation types. */ typedef enum @@ -64,6 +92,7 @@ typedef enum ELF_T_LIB, /* Elf32_Lib, Elf64_Lib, ... */ ELF_T_GNUHASH, /* GNU-style hash section. */ ELF_T_AUXV, /* Elf32_auxv_t, Elf64_auxv_t, ... */ + ELF_T_CHDR, /* Compressed, Elf32_Chdr, Elf64_Chdr, ... */ /* Keep this the last entry. */ ELF_T_NUM } Elf_Type; @@ -116,6 +145,12 @@ enum #define ELF_F_PERMISSIVE ELF_F_PERMISSIVE }; +/* Flags for elf_compress[_gnu]. */ +enum +{ + ELF_CHF_FORCE = 0x1 +#define ELF_CHF_FORCE ELF_CHF_FORCE +}; /* Identification values for recognized object files. */ typedef enum @@ -267,6 +302,62 @@ extern Elf32_Shdr *elf32_getshdr (Elf_Scn *__scn); /* Similar for ELFCLASS64. */ extern Elf64_Shdr *elf64_getshdr (Elf_Scn *__scn); +/* Returns compression header for a section if section data is + compressed. Returns NULL and sets elf_errno if the section isn't + compressed or an error occurred. */ +extern Elf32_Chdr *elf32_getchdr (Elf_Scn *__scn); +extern Elf64_Chdr *elf64_getchdr (Elf_Scn *__scn); + +/* Compress or decompress the data of a section and adjust the section + header. + + elf_compress works by setting or clearing the SHF_COMPRESS flag + from the section Shdr and will encode or decode a Elf32_Chdr or + Elf64_Chdr at the start of the section data. elf_compress_gnu will + encode or decode any section, but is traditionally only used for + sections that have a name starting with ".debug" when + uncompressed or ".zdebug" when compressed and stores just the + uncompressed size. The GNU compression method is deprecated and + should only be used for legacy support. + + elf_compress takes a compression type that should be either zero to + decompress or an ELFCOMPRESS algorithm to use for compression. + Currently only ELFCOMPRESS_ZLIB is supported. elf_compress_gnu + will compress in the traditional GNU compression format when + compress is one and decompress the section data when compress is + zero. + + The FLAGS argument can be zero or ELF_CHF_FORCE. If FLAGS contains + ELF_CHF_FORCE then it will always compress the section, even if + that would not reduce the size of the data section (including the + header). Otherwise elf_compress and elf_compress_gnu will compress + the section only if the total data size is reduced. + + On successful compression or decompression the function returns + one. If (not forced) compression is requested and the data section + would not actually reduce in size, the section is not actually + compressed and zero is returned. Otherwise -1 is returned and + elf_errno is set. + + It is an error to request compression for a section that already + has SHF_COMPRESSED set, or (for elf_compress) to request + decompression for an section that doesn't have SHF_COMPRESSED set. + It is always an error to call these functions on SHT_NOBITS + sections or if the section has the SHF_ALLOC flag set. + elf_compress_gnu will not check whether the section name starts + with ".debug" or .zdebug". It is the responsibilty of the caller + to make sure the deprecated GNU compression method is only called + on correctly named sections (and to change the name of the section + when using elf_compress_gnu). + + All previous returned Shdrs and Elf_Data buffers are invalidated by + this call and should no longer be accessed. + + Note that although this changes the header and data returned it + doesn't mark the section as dirty. To keep the changes when + calling elf_update the section has to be flagged ELF_F_DIRTY. */ +extern int elf_compress (Elf_Scn *scn, int type, unsigned int flags); +extern int elf_compress_gnu (Elf_Scn *scn, int compress, unsigned int flags); /* Set or clear flags for ELF file. */ extern unsigned int elf_flagelf (Elf *__elf, Elf_Cmd __cmd, @@ -288,8 +379,11 @@ extern unsigned int elf_flagshdr (Elf_Scn *__scn, Elf_Cmd __cmd, unsigned int __flags); -/* Get data from section while translating from file representation - to memory representation. */ +/* Get data from section while translating from file representation to + memory representation. The Elf_Data d_type is set based on the + section type if known. Otherwise d_type is set to ELF_T_BYTE. If + the section contains compressed data then d_type is always set to + ELF_T_CHDR. */ extern Elf_Data *elf_getdata (Elf_Scn *__scn, Elf_Data *__data); /* Get uninterpreted section content. */ diff --git a/libelf/libelf.map b/libelf/libelf.map index de6d912a..10dc5059 100644 --- a/libelf/libelf.map +++ b/libelf/libelf.map @@ -138,3 +138,13 @@ ELFUTILS_1.6 { global: elf_getphdrnum; } ELFUTILS_1.5; + +ELFUTILS_1.7 { + global: + elf32_getchdr; + elf64_getchdr; + gelf_getchdr; + + elf_compress; + elf_compress_gnu; +} ELFUTILS_1.6; diff --git a/libelf/libelfP.h b/libelf/libelfP.h index 993c6556..57ccbce4 100644 --- a/libelf/libelfP.h +++ b/libelf/libelfP.h @@ -1,5 +1,5 @@ /* Internal interfaces for libelf. - Copyright (C) 1998-2010 Red Hat, Inc. + Copyright (C) 1998-2010, 2015 Red Hat, Inc. This file is part of elfutils. Contributed by Ulrich Drepper <drepper@redhat.com>, 1998. @@ -38,6 +38,7 @@ #include <gelf.h> #include <errno.h> +#include <stdbool.h> #include <stdint.h> #include <stdio.h> #include <string.h> @@ -138,6 +139,13 @@ enum ELF_E_INVALID_PHDR, ELF_E_NO_PHDR, ELF_E_INVALID_OFFSET, + ELF_E_INVALID_SECTION_TYPE, + ELF_E_INVALID_SECTION_FLAGS, + ELF_E_NOT_COMPRESSED, + ELF_E_ALREADY_COMPRESSED, + ELF_E_UNKNOWN_COMPRESSION_TYPE, + ELF_E_COMPRESS_ERROR, + ELF_E_DECOMPRESS_ERROR, /* Keep this as the last entry. */ ELF_E_NUM }; @@ -230,6 +238,10 @@ struct Elf_Scn char *rawdata_base; /* The unmodified data of the section. */ char *data_base; /* The converted data of the section. */ + char *zdata_base; /* The uncompressed data of the section. */ + size_t zdata_size; /* If zdata_base != NULL, the size of data. */ + size_t zdata_align; /* If zdata_base != NULL, the addralign. */ + struct Elf_ScnList *list; /* Pointer to the section list element the data is in. */ }; @@ -438,6 +450,11 @@ extern const uint_fast8_t __libelf_type_aligns[EV_NUM - 1][ELFCLASSNUM - 1][ELF_ # define __libelf_type_align(class, type) 1 #endif +/* Given an Elf handle and a section type returns the Elf_Data d_type. + Should not be called when SHF_COMPRESSED is set, the d_type should + be ELF_T_BYTE. */ +extern Elf_Type __libelf_data_type (Elf *elf, int sh_type) internal_function; + /* The libelf API does not have such a function but it is still useful. Get the memory size for the given type. @@ -578,6 +595,22 @@ extern GElf_Sym *__gelf_getsym_internal (Elf_Data *__data, int __ndx, extern uint32_t __libelf_crc32 (uint32_t crc, unsigned char *buf, size_t len) attribute_hidden; +extern void * __libelf_compress (Elf_Scn *scn, size_t hsize, int ei_data, + size_t *orig_size, size_t *orig_addralign, + size_t *size, bool force) + internal_function; + +extern void * __libelf_decompress (void *buf_in, size_t size_in, + size_t size_out) internal_function; +extern void * __libelf_decompress_elf (Elf_Scn *scn, + size_t *size_out, size_t *addralign) + internal_function; + + +extern void __libelf_reset_rawdata (Elf_Scn *scn, void *buf, size_t size, + size_t align, Elf_Type type) + internal_function; + /* We often have to update a flag iff a value changed. Make this convenient. */ diff --git a/po/ChangeLog b/po/ChangeLog index 10820152..0acdda6c 100644 --- a/po/ChangeLog +++ b/po/ChangeLog @@ -1,3 +1,11 @@ +2016-01-11 Mark Wielaard <mjw@redhat.com> + + * *.po: Regenerate. + +2016-01-08 Mark Wielaard <mjw@redhat.com> + + * *.po: Update for 0.165. + 2015-10-16 Mark Wielaard <mjw@redhat.com> * *.po: Regenerate. @@ -11,7 +11,7 @@ msgid "" msgstr "" "Project-Id-Version: elfutils VERSION\n" "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" -"POT-Creation-Date: 2015-10-16 13:26+0200\n" +"POT-Creation-Date: 2016-01-11 08:48+0100\n" "PO-Revision-Date: 2009-06-29 15:15+0200\n" "Last-Translator: Michael Münch <micm@fedoraproject.org>\n" "Language-Team: German\n" @@ -42,8 +42,8 @@ msgstr "" msgid "cannot allocate memory" msgstr "konnte Verzeichnis nicht erstellen: %s" -#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3184 -#: src/readelf.c:3561 src/readelf.c:8310 src/unstrip.c:2198 src/unstrip.c:2403 +#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3282 +#: src/readelf.c:3669 src/readelf.c:8416 src/unstrip.c:2233 src/unstrip.c:2438 #, c-format msgid "memory exhausted" msgstr "Kein Speicher mehr verfügbar" @@ -247,7 +247,7 @@ msgstr "ungültiger Operand" msgid "not a CU (unit) DIE" msgstr "" -#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2345 +#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2380 msgid "Input selection options:" msgstr "Eingabeauswahloptionen:" @@ -302,7 +302,12 @@ msgstr "Konnte Kernel oder Module nicht finden" msgid "cannot read ELF core file: %s" msgstr "Konnte ELF Kerndatei %s nicht lesen" -#: libdwfl/argp-std.c:311 +#: libdwfl/argp-std.c:313 +#, fuzzy +msgid "Not enough memory" +msgstr "nicht genügend Speicher" + +#: libdwfl/argp-std.c:323 msgid "No modules recognized in core file" msgstr "Keine Module in der Kerndatei gefunden" @@ -485,57 +490,57 @@ msgstr "<Unbekannt>" msgid "<unknown>: %#<PRIx64>" msgstr "<Unbekannt>: %#<PRIx64>" -#: libebl/eblobjnote.c:52 +#: libebl/eblobjnote.c:53 #, fuzzy, c-format msgid "unknown SDT version %u\n" msgstr "unbekannte Version" -#: libebl/eblobjnote.c:70 +#: libebl/eblobjnote.c:71 #, fuzzy, c-format msgid "invalid SDT probe descriptor\n" msgstr "ungültiger Datei-Deskriptor" -#: libebl/eblobjnote.c:120 +#: libebl/eblobjnote.c:121 #, c-format msgid " PC: " msgstr "" -#: libebl/eblobjnote.c:122 +#: libebl/eblobjnote.c:123 #, c-format msgid " Base: " msgstr "" -#: libebl/eblobjnote.c:124 +#: libebl/eblobjnote.c:125 #, c-format msgid " Semaphore: " msgstr "" -#: libebl/eblobjnote.c:126 +#: libebl/eblobjnote.c:127 #, c-format msgid " Provider: " msgstr "" -#: libebl/eblobjnote.c:128 +#: libebl/eblobjnote.c:129 #, c-format msgid " Name: " msgstr "" -#: libebl/eblobjnote.c:130 +#: libebl/eblobjnote.c:131 #, c-format msgid " Args: " msgstr "" -#: libebl/eblobjnote.c:140 +#: libebl/eblobjnote.c:141 #, c-format msgid " Build ID: " msgstr " Build ID: " -#: libebl/eblobjnote.c:151 +#: libebl/eblobjnote.c:152 #, c-format msgid " Linker version: %.*s\n" msgstr "" -#: libebl/eblobjnote.c:212 +#: libebl/eblobjnote.c:213 #, c-format msgid " OS: %s, ABI: " msgstr " OS: %s, ABI: " @@ -569,7 +574,7 @@ msgstr "ungültige Grösse des Quell-Operanden" msgid "invalid size of destination operand" msgstr "ungültige Grösse des Ziel-Operanden" -#: libelf/elf_error.c:87 src/readelf.c:5365 +#: libelf/elf_error.c:87 src/readelf.c:5473 #, c-format msgid "invalid encoding" msgstr "ungültige Kodierung" @@ -652,8 +657,8 @@ msgstr "data/scn Unterschied" msgid "invalid section header" msgstr "ungültiger Abschnitts-Header" -#: libelf/elf_error.c:187 src/readelf.c:7234 src/readelf.c:7682 -#: src/readelf.c:7783 src/readelf.c:7964 +#: libelf/elf_error.c:187 src/readelf.c:7342 src/readelf.c:7790 +#: src/readelf.c:7891 src/readelf.c:8072 #, c-format msgid "invalid data" msgstr "Ungültige Daten" @@ -695,6 +700,39 @@ msgstr "" msgid "file has no program header" msgstr "Datei hat keinen Programm-Kopf" +#: libelf/elf_error.c:237 +#, fuzzy +msgid "invalid section type" +msgstr "ungültiger Abschnitt" + +#: libelf/elf_error.c:242 +#, fuzzy +msgid "invalid section flags" +msgstr "ungültiger Abschnitt" + +#: libelf/elf_error.c:247 +msgid "section does not contain compressed data" +msgstr "" + +#: libelf/elf_error.c:252 +msgid "section contains compressed data" +msgstr "" + +#: libelf/elf_error.c:257 +#, fuzzy +msgid "unknown compression type" +msgstr "unbekannter Typ" + +#: libelf/elf_error.c:262 +#, fuzzy +msgid "cannot compress data" +msgstr "konnte Abschnittsdaten nicht kopieren: %s" + +#: libelf/elf_error.c:267 +#, fuzzy +msgid "cannot decompress data" +msgstr "konnte Abschnittsdaten nicht kopieren: %s" + #: src/addr2line.c:58 #, fuzzy msgid "Input format options:" @@ -751,7 +789,7 @@ msgstr "" msgid "Print all information on one line, and indent inlines" msgstr "" -#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:99 +#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:100 #: src/strings.c:79 msgid "Miscellaneous:" msgstr "Verschiedenes:" @@ -765,9 +803,9 @@ msgstr "" msgid "[ADDR...]" msgstr "" -#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:670 src/elflint.c:235 -#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:261 src/objdump.c:177 -#: src/ranlib.c:124 src/readelf.c:500 src/size.c:207 src/strings.c:230 +#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:672 src/elflint.c:235 +#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:262 src/objdump.c:177 +#: src/ranlib.c:124 src/readelf.c:509 src/size.c:207 src/strings.c:230 #: src/strip.c:218 src/unstrip.c:232 #, c-format msgid "" @@ -780,9 +818,9 @@ msgstr "" "GARANTIE,\n" "auch nicht für Marktgängigkeit oder Eignung für einen Bestimmten Zweck.\n" -#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:675 src/elflint.c:240 -#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:266 src/objdump.c:182 -#: src/ranlib.c:129 src/readelf.c:505 src/size.c:212 src/strings.c:235 +#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:677 src/elflint.c:240 +#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:267 src/objdump.c:182 +#: src/ranlib.c:129 src/readelf.c:514 src/size.c:212 src/strings.c:235 #: src/strip.c:223 src/unstrip.c:237 #, c-format msgid "Written by %s.\n" @@ -1253,40 +1291,40 @@ msgstr "" msgid "%s %s differ: gap" msgstr "" -#: src/elfcmp.c:702 +#: src/elfcmp.c:704 #, c-format msgid "Invalid value '%s' for --gaps parameter." msgstr "" -#: src/elfcmp.c:730 src/findtextrel.c:221 src/ldgeneric.c:1757 -#: src/ldgeneric.c:4247 src/nm.c:377 src/ranlib.c:157 src/size.c:289 -#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:1994 -#: src/unstrip.c:2023 +#: src/elfcmp.c:732 src/findtextrel.c:221 src/ldgeneric.c:1757 +#: src/ldgeneric.c:4247 src/nm.c:378 src/ranlib.c:157 src/size.c:289 +#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:2029 +#: src/unstrip.c:2058 #, c-format msgid "cannot open '%s'" msgstr "'%s' kann nicht geöffnet werden" -#: src/elfcmp.c:734 src/findtextrel.c:228 src/ranlib.c:174 +#: src/elfcmp.c:736 src/findtextrel.c:228 src/ranlib.c:174 #, c-format msgid "cannot create ELF descriptor for '%s': %s" msgstr "" -#: src/elfcmp.c:739 +#: src/elfcmp.c:741 #, c-format msgid "cannot create EBL descriptor for '%s'" msgstr "" -#: src/elfcmp.c:757 src/findtextrel.c:409 +#: src/elfcmp.c:759 src/findtextrel.c:409 #, c-format msgid "cannot get section header of section %zu: %s" msgstr "" -#: src/elfcmp.c:767 +#: src/elfcmp.c:769 #, c-format msgid "cannot get content of section %zu: %s" msgstr "" -#: src/elfcmp.c:777 src/elfcmp.c:791 +#: src/elfcmp.c:779 src/elfcmp.c:793 #, c-format msgid "cannot get relocation: %s" msgstr "" @@ -1313,11 +1351,11 @@ msgstr "" msgid "Pedantic checking of ELF files compliance with gABI/psABI spec." msgstr "" -#: src/elflint.c:78 src/readelf.c:123 +#: src/elflint.c:78 src/readelf.c:126 msgid "FILE..." msgstr "DATEI..." -#: src/elflint.c:155 src/readelf.c:292 +#: src/elflint.c:155 src/readelf.c:298 #, c-format msgid "cannot open input file" msgstr "Kann Eingabedatei nicht öffnen" @@ -1336,7 +1374,7 @@ msgstr "Fehler beim Schliessen des Elf-Desktriptor: %s\n" msgid "No errors" msgstr "Keine Fehler" -#: src/elflint.c:219 src/readelf.c:468 +#: src/elflint.c:219 src/readelf.c:474 msgid "Missing file name.\n" msgstr "Dateiname fehlt.\n" @@ -1478,14 +1516,14 @@ msgid "" "section [%2d] '%s': section group [%2zu] '%s' does not precede group member\n" msgstr "" -#: src/elflint.c:591 src/elflint.c:1471 src/elflint.c:1522 src/elflint.c:1628 -#: src/elflint.c:1964 src/elflint.c:2280 src/elflint.c:2893 src/elflint.c:3056 -#: src/elflint.c:3204 src/elflint.c:3394 src/elflint.c:4336 +#: src/elflint.c:591 src/elflint.c:1475 src/elflint.c:1526 src/elflint.c:1632 +#: src/elflint.c:1968 src/elflint.c:2284 src/elflint.c:2898 src/elflint.c:3061 +#: src/elflint.c:3209 src/elflint.c:3399 src/elflint.c:4366 #, c-format msgid "section [%2d] '%s': cannot get section data\n" msgstr "" -#: src/elflint.c:604 src/elflint.c:1635 +#: src/elflint.c:604 src/elflint.c:1639 #, c-format msgid "" "section [%2d] '%s': referenced as string table for section [%2d] '%s' but " @@ -1581,1426 +1619,1442 @@ msgid "" "section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n" msgstr "" -#: src/elflint.c:805 +#: src/elflint.c:809 #, c-format msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n" msgstr "" -#: src/elflint.c:811 src/elflint.c:836 src/elflint.c:885 +#: src/elflint.c:815 src/elflint.c:840 src/elflint.c:889 #, c-format msgid "" "section [%2d] '%s': symbol %zu does not fit completely in referenced section " "[%2d] '%s'\n" msgstr "" -#: src/elflint.c:820 +#: src/elflint.c:824 #, c-format msgid "" "section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have " "SHF_TLS flag set\n" msgstr "" -#: src/elflint.c:830 src/elflint.c:878 +#: src/elflint.c:834 src/elflint.c:882 #, c-format msgid "" "section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section " "[%2d] '%s'\n" msgstr "" -#: src/elflint.c:857 +#: src/elflint.c:861 #, c-format msgid "" "section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n" msgstr "" -#: src/elflint.c:863 +#: src/elflint.c:867 #, c-format msgid "" "section [%2d] '%s': symbol %zu: TLS symbol but couldn't get TLS program " "header entry\n" msgstr "" -#: src/elflint.c:871 +#: src/elflint.c:875 #, c-format msgid "" "section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] " "'%s'\n" msgstr "" -#: src/elflint.c:898 +#: src/elflint.c:902 #, c-format msgid "" "section [%2d] '%s': symbol %zu: local symbol outside range described in " "sh_info\n" msgstr "" -#: src/elflint.c:905 +#: src/elflint.c:909 #, c-format msgid "" "section [%2d] '%s': symbol %zu: non-local symbol outside range described in " "sh_info\n" msgstr "" -#: src/elflint.c:912 +#: src/elflint.c:916 #, c-format msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n" msgstr "" -#: src/elflint.c:962 +#: src/elflint.c:966 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section " "[%2d]\n" msgstr "" -#: src/elflint.c:969 +#: src/elflint.c:973 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] " "'%s'\n" msgstr "" -#: src/elflint.c:985 +#: src/elflint.c:989 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not " "match %s section address %#<PRIx64>\n" msgstr "" -#: src/elflint.c:992 +#: src/elflint.c:996 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not " "match %s section size %<PRIu64>\n" msgstr "" -#: src/elflint.c:1000 +#: src/elflint.c:1004 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got " "section\n" msgstr "" -#: src/elflint.c:1016 +#: src/elflint.c:1020 #, c-format msgid "" "section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic " "segment address %#<PRIx64>\n" msgstr "" -#: src/elflint.c:1023 +#: src/elflint.c:1027 #, c-format msgid "" "section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic " "segment size %<PRIu64>\n" msgstr "" -#: src/elflint.c:1036 +#: src/elflint.c:1040 #, c-format msgid "" "section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-" "default visibility\n" msgstr "" -#: src/elflint.c:1040 +#: src/elflint.c:1044 #, c-format msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n" msgstr "" -#: src/elflint.c:1078 +#: src/elflint.c:1082 #, fuzzy, c-format msgid "section [%2d] '%s': cannot get section data.\n" msgstr "konnte Abschnittsdaten nicht holen: %s" -#: src/elflint.c:1094 +#: src/elflint.c:1098 #, c-format msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n" msgstr "" -#: src/elflint.c:1105 src/elflint.c:1158 +#: src/elflint.c:1109 src/elflint.c:1162 #, c-format msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n" msgstr "" -#: src/elflint.c:1130 src/elflint.c:1183 +#: src/elflint.c:1134 src/elflint.c:1187 #, c-format msgid "" "section [%2d] '%s': relative relocations after index %d as specified by " "DT_RELCOUNT\n" msgstr "" -#: src/elflint.c:1136 src/elflint.c:1189 +#: src/elflint.c:1140 src/elflint.c:1193 #, c-format msgid "" "section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT " "specified %d relative relocations\n" msgstr "" -#: src/elflint.c:1148 +#: src/elflint.c:1152 #, c-format msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n" msgstr "" -#: src/elflint.c:1231 +#: src/elflint.c:1235 #, c-format msgid "section [%2d] '%s': invalid destination section index\n" msgstr "" -#: src/elflint.c:1243 +#: src/elflint.c:1247 #, c-format msgid "section [%2d] '%s': invalid destination section type\n" msgstr "" -#: src/elflint.c:1251 +#: src/elflint.c:1255 #, c-format msgid "section [%2d] '%s': sh_info should be zero\n" msgstr "" -#: src/elflint.c:1259 +#: src/elflint.c:1263 #, fuzzy, c-format msgid "" "section [%2d] '%s': no relocations for merge-able string sections possible\n" msgstr "konnte Abschnittsdaten nicht holen: %s" -#: src/elflint.c:1267 +#: src/elflint.c:1271 #, c-format msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n" msgstr "" -#: src/elflint.c:1327 +#: src/elflint.c:1331 #, c-format msgid "text relocation flag set but there is no read-only segment\n" msgstr "" -#: src/elflint.c:1354 +#: src/elflint.c:1358 #, c-format msgid "section [%2d] '%s': relocation %zu: invalid type\n" msgstr "" -#: src/elflint.c:1362 +#: src/elflint.c:1366 #, c-format msgid "" "section [%2d] '%s': relocation %zu: relocation type invalid for the file " "type\n" msgstr "" -#: src/elflint.c:1370 +#: src/elflint.c:1374 #, c-format msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n" msgstr "" -#: src/elflint.c:1388 +#: src/elflint.c:1392 #, c-format msgid "" "section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can " "be used with %s\n" msgstr "" -#: src/elflint.c:1405 +#: src/elflint.c:1409 #, c-format msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n" msgstr "" -#: src/elflint.c:1420 +#: src/elflint.c:1424 #, c-format msgid "" "section [%2d] '%s': relocation %zu: copy relocation against symbol of type " "%s\n" msgstr "" -#: src/elflint.c:1441 +#: src/elflint.c:1445 #, c-format msgid "" "section [%2d] '%s': relocation %zu: read-only section modified but text " "relocation flag not set\n" msgstr "" -#: src/elflint.c:1456 +#: src/elflint.c:1460 #, c-format msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n" msgstr "" -#: src/elflint.c:1496 src/elflint.c:1547 +#: src/elflint.c:1500 src/elflint.c:1551 #, c-format msgid "section [%2d] '%s': cannot get relocation %zu: %s\n" msgstr "" -#: src/elflint.c:1623 +#: src/elflint.c:1627 #, c-format msgid "more than one dynamic section present\n" msgstr "" -#: src/elflint.c:1641 +#: src/elflint.c:1645 #, c-format msgid "" "section [%2d]: referenced as string table for section [%2d] '%s' but section " "link value is invalid\n" msgstr "" -#: src/elflint.c:1649 +#: src/elflint.c:1653 #, c-format msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n" msgstr "" -#: src/elflint.c:1654 src/elflint.c:1943 +#: src/elflint.c:1658 src/elflint.c:1947 #, c-format msgid "section [%2d] '%s': sh_info not zero\n" msgstr "" -#: src/elflint.c:1664 +#: src/elflint.c:1668 #, c-format msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n" msgstr "" -#: src/elflint.c:1672 +#: src/elflint.c:1676 #, c-format msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n" msgstr "" -#: src/elflint.c:1679 +#: src/elflint.c:1683 #, c-format msgid "section [%2d] '%s': entry %zu: unknown tag\n" msgstr "" -#: src/elflint.c:1690 +#: src/elflint.c:1694 #, c-format msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n" msgstr "" -#: src/elflint.c:1700 +#: src/elflint.c:1704 #, c-format msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n" msgstr "" -#: src/elflint.c:1718 +#: src/elflint.c:1722 #, c-format msgid "" "section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n" msgstr "" -#: src/elflint.c:1731 +#: src/elflint.c:1735 #, c-format msgid "" "section [%2d] '%s': entry %zu: pointer does not match address of section " "[%2d] '%s' referenced by sh_link\n" msgstr "" -#: src/elflint.c:1774 +#: src/elflint.c:1778 #, c-format msgid "" "section [%2d] '%s': entry %zu: %s value must point into loaded segment\n" msgstr "" -#: src/elflint.c:1789 +#: src/elflint.c:1793 #, c-format msgid "" "section [%2d] '%s': entry %zu: %s value must be valid offset in section " "[%2d] '%s'\n" msgstr "" -#: src/elflint.c:1809 src/elflint.c:1837 +#: src/elflint.c:1813 src/elflint.c:1841 #, c-format msgid "section [%2d] '%s': contains %s entry but not %s\n" msgstr "" -#: src/elflint.c:1821 +#: src/elflint.c:1825 #, c-format msgid "section [%2d] '%s': mandatory tag %s not present\n" msgstr "" -#: src/elflint.c:1830 +#: src/elflint.c:1834 #, c-format msgid "section [%2d] '%s': no hash section present\n" msgstr "" -#: src/elflint.c:1845 src/elflint.c:1852 +#: src/elflint.c:1849 src/elflint.c:1856 #, c-format msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n" msgstr "" -#: src/elflint.c:1862 src/elflint.c:1866 +#: src/elflint.c:1866 src/elflint.c:1870 #, c-format msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n" msgstr "" -#: src/elflint.c:1872 +#: src/elflint.c:1876 #, c-format msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n" msgstr "" -#: src/elflint.c:1883 src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895 +#: src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895 src/elflint.c:1899 #, c-format msgid "section [%2d] '%s': %s tag missing in prelinked executable\n" msgstr "" -#: src/elflint.c:1907 +#: src/elflint.c:1911 #, c-format msgid "" "section [%2d] '%s': only relocatable files can have extended section index\n" msgstr "" -#: src/elflint.c:1917 +#: src/elflint.c:1921 #, c-format msgid "" "section [%2d] '%s': extended section index section not for symbol table\n" msgstr "" -#: src/elflint.c:1921 +#: src/elflint.c:1925 #, c-format msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n" msgstr "" -#: src/elflint.c:1926 +#: src/elflint.c:1930 #, c-format msgid "cannot get data for symbol section\n" msgstr "" -#: src/elflint.c:1929 +#: src/elflint.c:1933 #, c-format msgid "section [%2d] '%s': entry size does not match Elf32_Word\n" msgstr "" -#: src/elflint.c:1938 +#: src/elflint.c:1942 #, c-format msgid "section [%2d] '%s': extended index table too small for symbol table\n" msgstr "" -#: src/elflint.c:1953 +#: src/elflint.c:1957 #, c-format msgid "" "section [%2d] '%s': extended section index in section [%2zu] '%s' refers to " "same symbol table\n" msgstr "" -#: src/elflint.c:1970 +#: src/elflint.c:1974 #, c-format msgid "symbol 0 should have zero extended section index\n" msgstr "" -#: src/elflint.c:1982 +#: src/elflint.c:1986 #, c-format msgid "cannot get data for symbol %zu\n" msgstr "" -#: src/elflint.c:1987 +#: src/elflint.c:1991 #, c-format msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n" msgstr "" -#: src/elflint.c:2003 src/elflint.c:2054 +#: src/elflint.c:2007 src/elflint.c:2058 #, c-format msgid "" "section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n" msgstr "" -#: src/elflint.c:2015 src/elflint.c:2066 +#: src/elflint.c:2019 src/elflint.c:2070 #, c-format msgid "section [%2d] '%s': chain array too large\n" msgstr "" -#: src/elflint.c:2029 src/elflint.c:2080 +#: src/elflint.c:2033 src/elflint.c:2084 #, c-format msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n" msgstr "" -#: src/elflint.c:2039 +#: src/elflint.c:2043 #, c-format msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n" msgstr "" -#: src/elflint.c:2090 +#: src/elflint.c:2094 #, c-format msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n" msgstr "" -#: src/elflint.c:2103 +#: src/elflint.c:2107 #, c-format msgid "section [%2d] '%s': not enough data\n" msgstr "" -#: src/elflint.c:2115 +#: src/elflint.c:2119 #, c-format msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n" msgstr "" -#: src/elflint.c:2131 +#: src/elflint.c:2135 #, c-format msgid "" "section [%2d] '%s': hash table section is too small (is %ld, expected at " "least %ld)\n" msgstr "" -#: src/elflint.c:2140 +#: src/elflint.c:2144 #, c-format msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n" msgstr "" -#: src/elflint.c:2174 +#: src/elflint.c:2178 #, c-format msgid "" "section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n" msgstr "" -#: src/elflint.c:2195 +#: src/elflint.c:2199 #, c-format msgid "" "section [%2d] '%s': symbol %u referenced in chain for bucket %zu is " "undefined\n" msgstr "" -#: src/elflint.c:2208 +#: src/elflint.c:2212 #, c-format msgid "" "section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n" msgstr "" -#: src/elflint.c:2217 +#: src/elflint.c:2221 #, c-format msgid "" "section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n" msgstr "" -#: src/elflint.c:2247 +#: src/elflint.c:2251 #, c-format msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n" msgstr "" -#: src/elflint.c:2252 +#: src/elflint.c:2256 #, c-format msgid "" "section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n" msgstr "" -#: src/elflint.c:2258 +#: src/elflint.c:2262 #, c-format msgid "section [%2d] '%s': bitmask does not match names in the hash table\n" msgstr "" -#: src/elflint.c:2271 +#: src/elflint.c:2275 #, c-format msgid "section [%2d] '%s': relocatable files cannot have hash tables\n" msgstr "" -#: src/elflint.c:2289 +#: src/elflint.c:2293 #, c-format msgid "section [%2d] '%s': hash table not for dynamic symbol table\n" msgstr "" -#: src/elflint.c:2293 +#: src/elflint.c:2297 #, c-format msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n" msgstr "" -#: src/elflint.c:2301 +#: src/elflint.c:2305 #, c-format msgid "section [%2d] '%s': hash table entry size incorrect\n" msgstr "" -#: src/elflint.c:2306 +#: src/elflint.c:2310 #, c-format msgid "section [%2d] '%s': not marked to be allocated\n" msgstr "" -#: src/elflint.c:2311 +#: src/elflint.c:2315 #, c-format msgid "" "section [%2d] '%s': hash table has not even room for initial administrative " "entries\n" msgstr "" -#: src/elflint.c:2360 +#: src/elflint.c:2364 #, c-format msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n" msgstr "" -#: src/elflint.c:2384 src/elflint.c:2449 src/elflint.c:2484 +#: src/elflint.c:2388 src/elflint.c:2453 src/elflint.c:2488 #, c-format msgid "hash section [%2zu] '%s' does not contain enough data\n" msgstr "" -#: src/elflint.c:2405 +#: src/elflint.c:2409 #, c-format msgid "hash section [%2zu] '%s' has zero bit mask words\n" msgstr "" -#: src/elflint.c:2416 src/elflint.c:2460 src/elflint.c:2497 +#: src/elflint.c:2420 src/elflint.c:2464 src/elflint.c:2501 #, c-format msgid "hash section [%2zu] '%s' uses too much data\n" msgstr "" -#: src/elflint.c:2431 +#: src/elflint.c:2435 #, c-format msgid "" "hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: " "%<PRIu32>, nentries: %<PRIu32>\n" msgstr "" -#: src/elflint.c:2518 +#: src/elflint.c:2522 #, c-format msgid "hash section [%2zu] '%s' invalid sh_entsize\n" msgstr "" -#: src/elflint.c:2528 src/elflint.c:2532 +#: src/elflint.c:2532 src/elflint.c:2536 #, c-format msgid "section [%2zu] '%s': reference to symbol index 0\n" msgstr "" -#: src/elflint.c:2539 +#: src/elflint.c:2543 #, c-format msgid "" "symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash " "table in [%2zu] '%s'\n" msgstr "" -#: src/elflint.c:2551 +#: src/elflint.c:2555 #, c-format msgid "" "symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash " "table in [%2zu] '%s'\n" msgstr "" -#: src/elflint.c:2567 +#: src/elflint.c:2571 #, c-format msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n" msgstr "" -#: src/elflint.c:2587 +#: src/elflint.c:2591 #, c-format msgid "" "section [%2d] '%s': section groups only allowed in relocatable object files\n" msgstr "" -#: src/elflint.c:2598 +#: src/elflint.c:2602 #, c-format msgid "section [%2d] '%s': cannot get symbol table: %s\n" msgstr "" -#: src/elflint.c:2603 +#: src/elflint.c:2607 #, c-format msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n" msgstr "" -#: src/elflint.c:2609 +#: src/elflint.c:2613 #, c-format msgid "section [%2d] '%s': invalid symbol index in sh_info\n" msgstr "" -#: src/elflint.c:2614 +#: src/elflint.c:2618 #, c-format msgid "section [%2d] '%s': sh_flags not zero\n" msgstr "" -#: src/elflint.c:2621 +#: src/elflint.c:2625 #, c-format msgid "section [%2d] '%s': cannot get symbol for signature\n" msgstr "" -#: src/elflint.c:2625 +#: src/elflint.c:2629 #, c-format msgid "section [%2d] '%s': cannot get symbol name for signature\n" msgstr "" -#: src/elflint.c:2630 +#: src/elflint.c:2634 #, c-format msgid "section [%2d] '%s': signature symbol cannot be empty string\n" msgstr "" -#: src/elflint.c:2636 +#: src/elflint.c:2640 #, c-format msgid "section [%2d] '%s': sh_flags not set correctly\n" msgstr "" -#: src/elflint.c:2642 +#: src/elflint.c:2646 #, c-format msgid "section [%2d] '%s': cannot get data: %s\n" msgstr "" -#: src/elflint.c:2651 +#: src/elflint.c:2655 #, c-format msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n" msgstr "" -#: src/elflint.c:2656 +#: src/elflint.c:2660 #, c-format msgid "section [%2d] '%s': section group without flags word\n" msgstr "" -#: src/elflint.c:2662 +#: src/elflint.c:2666 #, c-format msgid "section [%2d] '%s': section group without member\n" msgstr "" -#: src/elflint.c:2666 +#: src/elflint.c:2670 #, c-format msgid "section [%2d] '%s': section group with only one member\n" msgstr "" -#: src/elflint.c:2677 +#: src/elflint.c:2681 #, c-format msgid "section [%2d] '%s': unknown section group flags\n" msgstr "" -#: src/elflint.c:2689 +#: src/elflint.c:2693 #, fuzzy, c-format msgid "section [%2d] '%s': section index %zu out of range\n" msgstr "konnte Abschnittsdaten nicht holen: %s" -#: src/elflint.c:2698 +#: src/elflint.c:2702 #, c-format msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n" msgstr "" -#: src/elflint.c:2705 +#: src/elflint.c:2709 #, c-format msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n" msgstr "" -#: src/elflint.c:2711 +#: src/elflint.c:2715 #, c-format msgid "" "section [%2d] '%s': element %zu references section [%2d] '%s' without " "SHF_GROUP flag set\n" msgstr "" -#: src/elflint.c:2718 +#: src/elflint.c:2722 #, c-format msgid "section [%2d] '%s' is contained in more than one section group\n" msgstr "" -#: src/elflint.c:2907 +#: src/elflint.c:2912 #, c-format msgid "" "section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no " "dynamic symbol table\n" msgstr "" -#: src/elflint.c:2919 +#: src/elflint.c:2924 #, c-format msgid "" "section [%2d] '%s' has different number of entries than symbol table [%2d] " "'%s'\n" msgstr "" -#: src/elflint.c:2935 +#: src/elflint.c:2940 #, c-format msgid "section [%2d] '%s': symbol %d: cannot read version data\n" msgstr "" -#: src/elflint.c:2951 +#: src/elflint.c:2956 #, c-format msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n" msgstr "" -#: src/elflint.c:2959 +#: src/elflint.c:2964 #, c-format msgid "section [%2d] '%s': symbol %d: local symbol with version\n" msgstr "" -#: src/elflint.c:2973 +#: src/elflint.c:2978 #, c-format msgid "section [%2d] '%s': symbol %d: invalid version index %d\n" msgstr "" -#: src/elflint.c:2978 +#: src/elflint.c:2983 #, c-format msgid "" "section [%2d] '%s': symbol %d: version index %d is for defined version\n" msgstr "" -#: src/elflint.c:2988 +#: src/elflint.c:2993 #, c-format msgid "" "section [%2d] '%s': symbol %d: version index %d is for requested version\n" msgstr "" -#: src/elflint.c:3041 +#: src/elflint.c:3046 #, c-format msgid "more than one version reference section present\n" msgstr "" -#: src/elflint.c:3049 src/elflint.c:3196 +#: src/elflint.c:3054 src/elflint.c:3201 #, c-format msgid "section [%2d] '%s': sh_link does not link to string table\n" msgstr "" -#: src/elflint.c:3074 src/elflint.c:3250 +#: src/elflint.c:3079 src/elflint.c:3255 #, c-format msgid "section [%2d] '%s': entry %d has wrong version %d\n" msgstr "" -#: src/elflint.c:3081 src/elflint.c:3257 +#: src/elflint.c:3086 src/elflint.c:3262 #, c-format msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n" msgstr "" -#: src/elflint.c:3091 +#: src/elflint.c:3096 #, c-format msgid "section [%2d] '%s': entry %d has invalid file reference\n" msgstr "" -#: src/elflint.c:3099 +#: src/elflint.c:3104 #, c-format msgid "section [%2d] '%s': entry %d references unknown dependency\n" msgstr "" -#: src/elflint.c:3111 +#: src/elflint.c:3116 #, c-format msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n" msgstr "" -#: src/elflint.c:3119 +#: src/elflint.c:3124 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has invalid name " "reference\n" msgstr "" -#: src/elflint.c:3128 +#: src/elflint.c:3133 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: " "%#x, expected %#x\n" msgstr "" -#: src/elflint.c:3137 +#: src/elflint.c:3142 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version " "name '%s'\n" msgstr "" -#: src/elflint.c:3148 +#: src/elflint.c:3153 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n" msgstr "" -#: src/elflint.c:3165 src/elflint.c:3341 +#: src/elflint.c:3170 src/elflint.c:3346 #, c-format msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n" msgstr "" -#: src/elflint.c:3173 src/elflint.c:3349 +#: src/elflint.c:3178 src/elflint.c:3354 #, c-format msgid "" "section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says " "there are more entries\n" msgstr "" -#: src/elflint.c:3188 +#: src/elflint.c:3193 #, c-format msgid "more than one version definition section present\n" msgstr "" -#: src/elflint.c:3235 +#: src/elflint.c:3240 #, c-format msgid "section [%2d] '%s': more than one BASE definition\n" msgstr "" -#: src/elflint.c:3239 +#: src/elflint.c:3244 #, c-format msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n" msgstr "" -#: src/elflint.c:3245 +#: src/elflint.c:3250 #, c-format msgid "section [%2d] '%s': entry %d has unknown flag\n" msgstr "" -#: src/elflint.c:3272 +#: src/elflint.c:3277 #, c-format msgid "section [%2d] '%s': entry %d has invalid name reference\n" msgstr "" -#: src/elflint.c:3279 +#: src/elflint.c:3284 #, c-format msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n" msgstr "" -#: src/elflint.c:3287 +#: src/elflint.c:3292 #, c-format msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n" msgstr "" -#: src/elflint.c:3307 +#: src/elflint.c:3312 #, c-format msgid "" "section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n" msgstr "" -#: src/elflint.c:3324 +#: src/elflint.c:3329 #, c-format msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n" msgstr "" -#: src/elflint.c:3357 +#: src/elflint.c:3362 #, c-format msgid "section [%2d] '%s': no BASE definition\n" msgstr "" -#: src/elflint.c:3373 +#: src/elflint.c:3378 #, c-format msgid "section [%2d] '%s': unknown parent version '%s'\n" msgstr "" -#: src/elflint.c:3386 +#: src/elflint.c:3391 #, c-format msgid "section [%2d] '%s': empty object attributes section\n" msgstr "" -#: src/elflint.c:3407 +#: src/elflint.c:3412 #, c-format msgid "section [%2d] '%s': unrecognized attribute format\n" msgstr "" -#: src/elflint.c:3423 +#: src/elflint.c:3428 #, c-format msgid "" "section [%2d] '%s': offset %zu: zero length field in attribute section\n" msgstr "" -#: src/elflint.c:3432 +#: src/elflint.c:3437 #, c-format msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n" msgstr "" -#: src/elflint.c:3444 +#: src/elflint.c:3449 #, c-format msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n" msgstr "" -#: src/elflint.c:3461 +#: src/elflint.c:3466 #, c-format msgid "" "section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n" msgstr "" -#: src/elflint.c:3470 +#: src/elflint.c:3475 #, c-format msgid "section [%2d] '%s': offset %zu: truncated attribute section\n" msgstr "" -#: src/elflint.c:3479 +#: src/elflint.c:3484 #, c-format msgid "" "section [%2d] '%s': offset %zu: zero length field in attribute subsection\n" msgstr "" -#: src/elflint.c:3494 +#: src/elflint.c:3499 #, c-format msgid "" "section [%2d] '%s': offset %zu: invalid length in attribute subsection\n" msgstr "" -#: src/elflint.c:3505 +#: src/elflint.c:3510 #, c-format msgid "" "section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n" msgstr "" -#: src/elflint.c:3523 +#: src/elflint.c:3528 #, c-format msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n" msgstr "" -#: src/elflint.c:3534 +#: src/elflint.c:3539 #, c-format msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n" msgstr "" -#: src/elflint.c:3547 +#: src/elflint.c:3552 #, c-format msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n" msgstr "" -#: src/elflint.c:3551 +#: src/elflint.c:3556 #, c-format msgid "" "section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n" msgstr "" -#: src/elflint.c:3561 +#: src/elflint.c:3566 #, c-format msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n" msgstr "" -#: src/elflint.c:3567 +#: src/elflint.c:3572 #, c-format msgid "" "section [%2d] '%s': offset %zu: extra bytes after last attribute section\n" msgstr "" -#: src/elflint.c:3656 +#: src/elflint.c:3661 #, c-format msgid "cannot get section header of zeroth section\n" msgstr "" -#: src/elflint.c:3660 +#: src/elflint.c:3665 #, c-format msgid "zeroth section has nonzero name\n" msgstr "" -#: src/elflint.c:3662 +#: src/elflint.c:3667 #, c-format msgid "zeroth section has nonzero type\n" msgstr "" -#: src/elflint.c:3664 +#: src/elflint.c:3669 #, c-format msgid "zeroth section has nonzero flags\n" msgstr "" -#: src/elflint.c:3666 +#: src/elflint.c:3671 #, c-format msgid "zeroth section has nonzero address\n" msgstr "" -#: src/elflint.c:3668 +#: src/elflint.c:3673 #, c-format msgid "zeroth section has nonzero offset\n" msgstr "" -#: src/elflint.c:3670 +#: src/elflint.c:3675 #, c-format msgid "zeroth section has nonzero align value\n" msgstr "" -#: src/elflint.c:3672 +#: src/elflint.c:3677 #, c-format msgid "zeroth section has nonzero entry size value\n" msgstr "" -#: src/elflint.c:3675 +#: src/elflint.c:3680 #, c-format msgid "" "zeroth section has nonzero size value while ELF header has nonzero shnum " "value\n" msgstr "" -#: src/elflint.c:3679 +#: src/elflint.c:3684 #, c-format msgid "" "zeroth section has nonzero link value while ELF header does not signal " "overflow in shstrndx\n" msgstr "" -#: src/elflint.c:3683 +#: src/elflint.c:3688 #, c-format msgid "" "zeroth section has nonzero link value while ELF header does not signal " "overflow in phnum\n" msgstr "" -#: src/elflint.c:3700 +#: src/elflint.c:3706 #, c-format msgid "cannot get section header for section [%2zu] '%s': %s\n" msgstr "" -#: src/elflint.c:3709 +#: src/elflint.c:3715 #, c-format msgid "section [%2zu]: invalid name\n" msgstr "" -#: src/elflint.c:3736 +#: src/elflint.c:3742 #, c-format msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n" msgstr "" -#: src/elflint.c:3752 +#: src/elflint.c:3760 #, c-format msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n" msgstr "" -#: src/elflint.c:3769 +#: src/elflint.c:3778 #, c-format msgid "" "section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n" msgstr "" -#: src/elflint.c:3787 +#: src/elflint.c:3796 #, c-format msgid "section [%2zu] '%s' present in object file\n" msgstr "" -#: src/elflint.c:3793 src/elflint.c:3825 +#: src/elflint.c:3802 src/elflint.c:3834 #, c-format msgid "" "section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n" msgstr "" -#: src/elflint.c:3798 src/elflint.c:3830 +#: src/elflint.c:3807 src/elflint.c:3839 #, c-format msgid "" "section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable " "segments\n" msgstr "" -#: src/elflint.c:3806 +#: src/elflint.c:3815 #, c-format msgid "" "section [%2zu] '%s' is extension section index table in non-object file\n" msgstr "" -#: src/elflint.c:3849 +#: src/elflint.c:3858 #, c-format msgid "section [%2zu] '%s': size not multiple of entry size\n" msgstr "" -#: src/elflint.c:3854 +#: src/elflint.c:3863 #, c-format msgid "cannot get section header\n" msgstr "" -#: src/elflint.c:3864 +#: src/elflint.c:3873 #, c-format msgid "section [%2zu] '%s' has unsupported type %d\n" msgstr "" -#: src/elflint.c:3878 +#: src/elflint.c:3888 #, c-format msgid "" "section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n" msgstr "" -#: src/elflint.c:3885 +#: src/elflint.c:3895 #, c-format msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n" msgstr "" -#: src/elflint.c:3893 +#: src/elflint.c:3903 #, c-format msgid "section [%2zu] '%s': thread-local data sections address not zero\n" msgstr "" -#: src/elflint.c:3901 +#: src/elflint.c:3913 +#, fuzzy, c-format +msgid "section [%2zu] '%s': allocated section cannot be compressed\n" +msgstr "konnte Abschnittsdaten nicht holen: %s" + +#: src/elflint.c:3918 +#, fuzzy, c-format +msgid "section [%2zu] '%s': nobits section cannot be compressed\n" +msgstr "konnte Abschnittsdaten nicht holen: %s" + +#: src/elflint.c:3924 +#, c-format +msgid "" +"section [%2zu] '%s': compressed section with no compression header: %s\n" +msgstr "" + +#: src/elflint.c:3930 #, c-format msgid "section [%2zu] '%s': invalid section reference in link value\n" msgstr "" -#: src/elflint.c:3906 +#: src/elflint.c:3935 #, c-format msgid "section [%2zu] '%s': invalid section reference in info value\n" msgstr "" -#: src/elflint.c:3913 +#: src/elflint.c:3942 #, c-format msgid "section [%2zu] '%s': strings flag set without merge flag\n" msgstr "" -#: src/elflint.c:3918 +#: src/elflint.c:3947 #, c-format msgid "section [%2zu] '%s': merge flag set but entry size is zero\n" msgstr "" -#: src/elflint.c:3936 +#: src/elflint.c:3965 #, c-format msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n" msgstr "" -#: src/elflint.c:3945 +#: src/elflint.c:3974 #, c-format msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n" msgstr "" -#: src/elflint.c:3952 +#: src/elflint.c:3981 #, c-format msgid "section [%2zu] '%s' is both executable and writable\n" msgstr "" -#: src/elflint.c:3982 +#: src/elflint.c:4012 #, c-format msgid "" "section [%2zu] '%s' not fully contained in segment of program header entry " "%d\n" msgstr "" -#: src/elflint.c:3992 +#: src/elflint.c:4022 #, c-format msgid "" "section [%2zu] '%s' has type NOBITS but is read from the file in segment of " "program header entry %d\n" msgstr "" -#: src/elflint.c:4018 +#: src/elflint.c:4048 #, c-format msgid "" "section [%2zu] '%s' has type NOBITS but is read from the file in segment of " "program header entry %d and file contents is non-zero\n" msgstr "" -#: src/elflint.c:4029 +#: src/elflint.c:4059 #, c-format msgid "" "section [%2zu] '%s' has not type NOBITS but is not read from the file in " "segment of program header entry %d\n" msgstr "" -#: src/elflint.c:4040 +#: src/elflint.c:4070 #, c-format msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n" msgstr "" -#: src/elflint.c:4050 +#: src/elflint.c:4080 #, c-format msgid "section [%2zu] '%s' is writable in unwritable segment %d\n" msgstr "" -#: src/elflint.c:4060 +#: src/elflint.c:4090 #, c-format msgid "" "section [%2zu] '%s': alloc flag set but section not in any loaded segment\n" msgstr "" -#: src/elflint.c:4066 +#: src/elflint.c:4096 #, c-format msgid "" "section [%2zu] '%s': ELF header says this is the section header string table " "but type is not SHT_TYPE\n" msgstr "" -#: src/elflint.c:4074 +#: src/elflint.c:4104 #, c-format msgid "" "section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n" msgstr "" -#: src/elflint.c:4125 +#: src/elflint.c:4155 #, c-format msgid "more than one version symbol table present\n" msgstr "" -#: src/elflint.c:4148 +#: src/elflint.c:4178 #, c-format msgid "INTERP program header entry but no .interp section\n" msgstr "" -#: src/elflint.c:4159 +#: src/elflint.c:4189 #, c-format msgid "" "loadable segment [%u] is executable but contains no executable sections\n" msgstr "" -#: src/elflint.c:4165 +#: src/elflint.c:4195 #, c-format msgid "loadable segment [%u] is writable but contains no writable sections\n" msgstr "" -#: src/elflint.c:4176 +#: src/elflint.c:4206 #, c-format msgid "" "no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section " "exist\n" msgstr "" -#: src/elflint.c:4189 +#: src/elflint.c:4219 #, c-format msgid "duplicate version index %d\n" msgstr "" -#: src/elflint.c:4203 +#: src/elflint.c:4233 #, c-format msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n" msgstr "" -#: src/elflint.c:4252 +#: src/elflint.c:4282 #, c-format msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n" msgstr "" -#: src/elflint.c:4256 +#: src/elflint.c:4286 #, c-format msgid "" "section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n" msgstr "" -#: src/elflint.c:4279 +#: src/elflint.c:4309 #, c-format msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %zu\n" msgstr "" -#: src/elflint.c:4283 +#: src/elflint.c:4313 #, c-format msgid "" "section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n" msgstr "" -#: src/elflint.c:4300 +#: src/elflint.c:4330 #, c-format msgid "phdr[%d]: no note entries defined for the type of file\n" msgstr "" -#: src/elflint.c:4319 +#: src/elflint.c:4349 #, c-format msgid "phdr[%d]: cannot get content of note section: %s\n" msgstr "" -#: src/elflint.c:4322 +#: src/elflint.c:4352 #, c-format msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n" msgstr "" -#: src/elflint.c:4343 +#: src/elflint.c:4373 #, c-format msgid "section [%2d] '%s': no note entries defined for the type of file\n" msgstr "" -#: src/elflint.c:4350 +#: src/elflint.c:4380 #, c-format msgid "section [%2d] '%s': cannot get content of note section\n" msgstr "" -#: src/elflint.c:4353 +#: src/elflint.c:4383 #, c-format msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n" msgstr "" -#: src/elflint.c:4371 +#: src/elflint.c:4401 #, c-format msgid "" "only executables, shared objects, and core files can have program headers\n" msgstr "" -#: src/elflint.c:4386 +#: src/elflint.c:4416 #, c-format msgid "cannot get program header entry %d: %s\n" msgstr "" -#: src/elflint.c:4395 +#: src/elflint.c:4425 #, c-format msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n" msgstr "" -#: src/elflint.c:4406 +#: src/elflint.c:4436 #, c-format msgid "more than one INTERP entry in program header\n" msgstr "" -#: src/elflint.c:4414 +#: src/elflint.c:4444 #, c-format msgid "more than one TLS entry in program header\n" msgstr "" -#: src/elflint.c:4421 +#: src/elflint.c:4451 #, c-format msgid "static executable cannot have dynamic sections\n" msgstr "" -#: src/elflint.c:4435 +#: src/elflint.c:4465 #, c-format msgid "dynamic section reference in program header has wrong offset\n" msgstr "" -#: src/elflint.c:4438 +#: src/elflint.c:4468 #, c-format msgid "dynamic section size mismatch in program and section header\n" msgstr "" -#: src/elflint.c:4448 +#: src/elflint.c:4478 #, c-format msgid "more than one GNU_RELRO entry in program header\n" msgstr "" -#: src/elflint.c:4469 +#: src/elflint.c:4499 #, c-format msgid "loadable segment GNU_RELRO applies to is not writable\n" msgstr "" -#: src/elflint.c:4480 +#: src/elflint.c:4510 #, c-format msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n" msgstr "" -#: src/elflint.c:4487 +#: src/elflint.c:4517 #, c-format msgid "" "GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n" msgstr "" -#: src/elflint.c:4496 src/elflint.c:4519 +#: src/elflint.c:4526 src/elflint.c:4549 #, c-format msgid "%s segment not contained in a loaded segment\n" msgstr "" -#: src/elflint.c:4525 +#: src/elflint.c:4555 #, c-format msgid "program header offset in ELF header and PHDR entry do not match" msgstr "" -#: src/elflint.c:4550 +#: src/elflint.c:4580 #, c-format msgid "call frame search table reference in program header has wrong offset\n" msgstr "" -#: src/elflint.c:4553 +#: src/elflint.c:4583 #, c-format msgid "call frame search table size mismatch in program and section header\n" msgstr "" -#: src/elflint.c:4566 +#: src/elflint.c:4596 #, c-format msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n" msgstr "" -#: src/elflint.c:4574 +#: src/elflint.c:4604 #, c-format msgid "call frame search table must be allocated\n" msgstr "" -#: src/elflint.c:4577 +#: src/elflint.c:4607 #, c-format msgid "section [%2zu] '%s' must be allocated\n" msgstr "" -#: src/elflint.c:4581 +#: src/elflint.c:4611 #, c-format msgid "call frame search table must not be writable\n" msgstr "" -#: src/elflint.c:4584 +#: src/elflint.c:4614 #, c-format msgid "section [%2zu] '%s' must not be writable\n" msgstr "" -#: src/elflint.c:4589 +#: src/elflint.c:4619 #, c-format msgid "call frame search table must not be executable\n" msgstr "" -#: src/elflint.c:4592 +#: src/elflint.c:4622 #, c-format msgid "section [%2zu] '%s' must not be executable\n" msgstr "" -#: src/elflint.c:4603 +#: src/elflint.c:4633 #, c-format msgid "program header entry %d: file size greater than memory size\n" msgstr "" -#: src/elflint.c:4610 +#: src/elflint.c:4640 #, c-format msgid "program header entry %d: alignment not a power of 2\n" msgstr "" -#: src/elflint.c:4613 +#: src/elflint.c:4643 #, c-format msgid "" "program header entry %d: file offset and virtual address not module of " "alignment\n" msgstr "" -#: src/elflint.c:4626 +#: src/elflint.c:4656 #, c-format msgid "" "executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME " "program header entry" msgstr "" -#: src/elflint.c:4660 +#: src/elflint.c:4690 #, c-format msgid "cannot read ELF header: %s\n" msgstr "" -#: src/elflint.c:4686 +#: src/elflint.c:4716 #, c-format msgid "text relocation flag set but not needed\n" msgstr "" @@ -3021,7 +3075,7 @@ msgstr "" msgid "Locate source of text relocations in FILEs (a.out by default)." msgstr "" -#: src/findtextrel.c:76 src/nm.c:107 src/objdump.c:71 src/size.c:83 +#: src/findtextrel.c:76 src/nm.c:108 src/objdump.c:71 src/size.c:83 #: src/strings.c:88 src/strip.c:95 msgid "[FILE...]" msgstr "" @@ -3508,8 +3562,8 @@ msgstr "" msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s" msgstr "" -#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:527 -#: src/readelf.c:829 src/strip.c:589 +#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:536 src/readelf.c:852 +#: src/strip.c:589 #, c-format msgid "cannot determine number of sections: %s" msgstr "" @@ -3740,7 +3794,7 @@ msgstr "" msgid "cannot get header of 0th section: %s" msgstr "" -#: src/ldgeneric.c:6930 src/unstrip.c:1893 +#: src/ldgeneric.c:6930 src/unstrip.c:1929 #, c-format msgid "cannot update ELF header: %s" msgstr "" @@ -3806,44 +3860,44 @@ msgstr "" msgid "default visibility set as local and global" msgstr "Standard-Sichtbarkeit auf lokal und global gesetzt" -#: src/nm.c:65 src/strip.c:67 +#: src/nm.c:66 src/strip.c:67 msgid "Output selection:" msgstr "" -#: src/nm.c:66 +#: src/nm.c:67 msgid "Display debugger-only symbols" msgstr "" -#: src/nm.c:67 +#: src/nm.c:68 msgid "Display only defined symbols" msgstr "Zeige nur definierte Symbole" -#: src/nm.c:70 +#: src/nm.c:71 msgid "Display dynamic symbols instead of normal symbols" msgstr "Zeige dynamische Symbole anstelle normaler Symbole" -#: src/nm.c:71 +#: src/nm.c:72 msgid "Display only external symbols" msgstr "Zeige nur externe Symbole" -#: src/nm.c:72 +#: src/nm.c:73 msgid "Display only undefined symbols" msgstr "Zeige nur undefinierte Symbole" -#: src/nm.c:74 +#: src/nm.c:75 msgid "Include index for symbols from archive members" msgstr "" -#: src/nm.c:76 src/size.c:57 +#: src/nm.c:77 src/size.c:57 msgid "Output format:" msgstr "Ausgabeformat:" -#: src/nm.c:78 +#: src/nm.c:79 #, fuzzy msgid "Print name of the input file before every symbol" msgstr "Zeige Name der Eingabedatei vor jedem Symbol" -#: src/nm.c:81 +#: src/nm.c:82 msgid "" "Use the output format FORMAT. FORMAT can be `bsd', `sysv' or `posix'. The " "default is `sysv'" @@ -3851,74 +3905,74 @@ msgstr "" "Benutze das Ausgabeformat FORMAT. FORMAT kann `bsd', `sysv' or `posix' sein. " "Der Standard ist `sysv'" -#: src/nm.c:83 +#: src/nm.c:84 msgid "Same as --format=bsd" msgstr "Genau wie --format=bsd" -#: src/nm.c:84 +#: src/nm.c:85 msgid "Same as --format=posix" msgstr "Genau wie --format=posix" -#: src/nm.c:85 src/size.c:63 +#: src/nm.c:86 src/size.c:63 msgid "Use RADIX for printing symbol values" msgstr "Benutze RADIX zur Ausgabe von Symbolwerten" -#: src/nm.c:86 +#: src/nm.c:87 #, fuzzy msgid "Mark special symbols" msgstr "Kennzeichne schwache Symbole" -#: src/nm.c:88 +#: src/nm.c:89 #, fuzzy msgid "Print size of defined symbols" msgstr "Zeige Grösse der definierten Symbole" -#: src/nm.c:90 src/size.c:71 src/strip.c:72 src/unstrip.c:72 +#: src/nm.c:91 src/size.c:71 src/strip.c:72 src/unstrip.c:72 msgid "Output options:" msgstr "Ausgabeoptionen:" -#: src/nm.c:91 +#: src/nm.c:92 msgid "Sort symbols numerically by address" msgstr "Symbole anhand der Adresse numerisch sortieren" -#: src/nm.c:93 +#: src/nm.c:94 msgid "Do not sort the symbols" msgstr "Symbole nicht sortieren" -#: src/nm.c:94 +#: src/nm.c:95 msgid "Reverse the sense of the sort" msgstr "Sortierreihenfolge umkehren" -#: src/nm.c:97 +#: src/nm.c:98 msgid "Decode low-level symbol names into source code names" msgstr "" -#: src/nm.c:104 +#: src/nm.c:105 msgid "List symbols from FILEs (a.out by default)." msgstr "" -#: src/nm.c:115 src/objdump.c:79 +#: src/nm.c:116 src/objdump.c:79 #, fuzzy msgid "Output formatting" msgstr "Ausgabeformat:" -#: src/nm.c:139 src/objdump.c:103 src/size.c:108 src/strip.c:127 +#: src/nm.c:140 src/objdump.c:103 src/size.c:108 src/strip.c:127 #, fuzzy, c-format msgid "%s: INTERNAL ERROR %d (%s): %s" msgstr "%s: INTERNER FEHLER %d (%s-%s): %s" -#: src/nm.c:394 src/nm.c:406 src/size.c:305 src/size.c:314 src/size.c:325 +#: src/nm.c:395 src/nm.c:407 src/size.c:305 src/size.c:314 src/size.c:325 #: src/strip.c:2280 #, c-format msgid "while closing '%s'" msgstr "beim Schliessen von '%s'" -#: src/nm.c:416 src/objdump.c:292 src/strip.c:391 +#: src/nm.c:417 src/objdump.c:292 src/strip.c:391 #, c-format msgid "%s: File format not recognized" msgstr "%s: Dateiformat nicht erkannt" -#: src/nm.c:456 +#: src/nm.c:457 #, fuzzy msgid "" "\n" @@ -3927,42 +3981,42 @@ msgstr "" "\n" "Archiv-Index:" -#: src/nm.c:465 +#: src/nm.c:466 #, c-format msgid "invalid offset %zu for symbol %s" msgstr "ungültiger Offset %zu für Symbol %s" -#: src/nm.c:470 +#: src/nm.c:471 #, c-format msgid "%s in %s\n" msgstr "" -#: src/nm.c:478 +#: src/nm.c:479 #, c-format msgid "cannot reset archive offset to beginning" msgstr "" -#: src/nm.c:503 src/objdump.c:340 +#: src/nm.c:504 src/objdump.c:340 #, c-format msgid "%s%s%s: file format not recognized" msgstr "%s%s%s: Dateiformat nicht erkannt" -#: src/nm.c:715 +#: src/nm.c:719 #, c-format msgid "cannot create search tree" msgstr "Kann Suchbaum nicht erstellen" -#: src/nm.c:754 src/nm.c:1160 src/objdump.c:789 src/readelf.c:536 -#: src/readelf.c:1085 src/readelf.c:1245 src/readelf.c:1393 src/readelf.c:1579 -#: src/readelf.c:1785 src/readelf.c:1975 src/readelf.c:2202 src/readelf.c:2460 -#: src/readelf.c:2536 src/readelf.c:2623 src/readelf.c:3203 src/readelf.c:3239 -#: src/readelf.c:3302 src/readelf.c:8212 src/readelf.c:9314 src/readelf.c:9461 -#: src/readelf.c:9529 src/size.c:413 src/size.c:482 src/strip.c:520 +#: src/nm.c:760 src/nm.c:1221 src/objdump.c:789 src/readelf.c:545 +#: src/readelf.c:1123 src/readelf.c:1323 src/readelf.c:1471 src/readelf.c:1667 +#: src/readelf.c:1873 src/readelf.c:2063 src/readelf.c:2300 src/readelf.c:2558 +#: src/readelf.c:2634 src/readelf.c:2721 src/readelf.c:3301 src/readelf.c:3347 +#: src/readelf.c:3410 src/readelf.c:8320 src/readelf.c:9420 src/readelf.c:9603 +#: src/readelf.c:9671 src/size.c:413 src/size.c:482 src/strip.c:520 #, c-format msgid "cannot get section header string table index" msgstr "" -#: src/nm.c:781 +#: src/nm.c:787 #, c-format msgid "" "\n" @@ -3975,29 +4029,29 @@ msgstr "" "Symbole aus %s:\n" "\n" -#: src/nm.c:784 +#: src/nm.c:790 #, c-format msgid "" "%*s%-*s %-*s Class Type %-*s %*s Section\n" "\n" msgstr "" -#: src/nm.c:1171 +#: src/nm.c:1232 #, fuzzy, c-format msgid "%s: entry size in section %zd `%s' is not what we expect" msgstr "%s: entry size in section `%s' is not what we expect" -#: src/nm.c:1176 +#: src/nm.c:1237 #, fuzzy, c-format msgid "%s: size of section %zd `%s' is not multiple of entry size" msgstr "%s: entry size in section `%s' is not what we expect" -#: src/nm.c:1434 +#: src/nm.c:1537 #, c-format msgid "%s%s%s%s: Invalid operation" msgstr "%s%s%s%s: Ungültige Operation" -#: src/nm.c:1491 +#: src/nm.c:1594 #, c-format msgid "%s%s%s: no symbols" msgstr "%s%s%s: keine Symbole" @@ -4031,7 +4085,7 @@ msgstr "" msgid "Show information from FILEs (a.out by default)." msgstr "" -#: src/objdump.c:232 src/readelf.c:473 +#: src/objdump.c:232 src/readelf.c:479 msgid "No operation specified.\n" msgstr "Keine Operation angegeben.\n" @@ -4040,11 +4094,11 @@ msgstr "Keine Operation angegeben.\n" msgid "while close `%s'" msgstr "" -#: src/objdump.c:375 src/readelf.c:1880 src/readelf.c:2072 +#: src/objdump.c:375 src/readelf.c:1968 src/readelf.c:2160 msgid "INVALID SYMBOL" msgstr "" -#: src/objdump.c:390 src/readelf.c:1914 src/readelf.c:2108 +#: src/objdump.c:390 src/readelf.c:2002 src/readelf.c:2196 msgid "INVALID SECTION" msgstr "" @@ -4093,435 +4147,459 @@ msgstr "'%s' ist kein Archiv" msgid "error while freeing sub-ELF descriptor: %s" msgstr "" -#: src/readelf.c:71 +#: src/readelf.c:72 #, fuzzy msgid "ELF input selection:" msgstr "Eingabeauswahloptionen:" -#: src/readelf.c:73 +#: src/readelf.c:74 msgid "" "Use the named SECTION (default .gnu_debugdata) as (compressed) ELF input data" msgstr "" -#: src/readelf.c:75 +#: src/readelf.c:76 #, fuzzy msgid "ELF output selection:" msgstr "Eingabeauswahloptionen:" -#: src/readelf.c:77 +#: src/readelf.c:78 msgid "All these plus -p .strtab -p .dynstr -p .comment" msgstr "" -#: src/readelf.c:78 +#: src/readelf.c:79 msgid "Display the dynamic segment" msgstr "" -#: src/readelf.c:79 +#: src/readelf.c:80 msgid "Display the ELF file header" msgstr "" -#: src/readelf.c:81 +#: src/readelf.c:82 msgid "Display histogram of bucket list lengths" msgstr "" -#: src/readelf.c:82 +#: src/readelf.c:83 msgid "Display the program headers" msgstr "Programm-Köpfe anzeigen" -#: src/readelf.c:84 +#: src/readelf.c:85 msgid "Display relocations" msgstr "Relocations anzeigen" -#: src/readelf.c:85 +#: src/readelf.c:86 #, fuzzy msgid "Display the sections' headers" msgstr "Programm-Köpfe anzeigen" -#: src/readelf.c:87 +#: src/readelf.c:88 msgid "Display the symbol table" msgstr "Symboltabelle anzeigen" -#: src/readelf.c:88 +#: src/readelf.c:89 msgid "Display versioning information" msgstr "Versionierungsinformationen anzeigen" -#: src/readelf.c:89 +#: src/readelf.c:90 #, fuzzy msgid "Display the ELF notes" msgstr "Kernnotizen anzeigen" -#: src/readelf.c:91 +#: src/readelf.c:92 #, fuzzy msgid "Display architecture specific information, if any" msgstr "Architekturspezifische Informationen anzeigen (falls vorhanden)" -#: src/readelf.c:93 +#: src/readelf.c:94 msgid "Display sections for exception handling" msgstr "Abschnitte für Ausnahmebehandlung anzeigen" -#: src/readelf.c:95 +#: src/readelf.c:96 msgid "Additional output selection:" msgstr "" -#: src/readelf.c:97 +#: src/readelf.c:98 msgid "" "Display DWARF section content. SECTION can be one of abbrev, aranges, " "decodedaranges, frame, gdb_index, info, loc, line, decodedline, ranges, " "pubnames, str, macinfo, macro or exception" msgstr "" -#: src/readelf.c:101 +#: src/readelf.c:102 msgid "Dump the uninterpreted contents of SECTION, by number or name" msgstr "" -#: src/readelf.c:103 +#: src/readelf.c:104 msgid "Print string contents of sections" msgstr "" -#: src/readelf.c:106 +#: src/readelf.c:107 msgid "Display the symbol index of an archive" msgstr "Symbolindex des Archivs anzeigen" -#: src/readelf.c:108 +#: src/readelf.c:109 msgid "Output control:" msgstr "Ausgabekontrolle:" -#: src/readelf.c:110 +#: src/readelf.c:111 msgid "Do not find symbol names for addresses in DWARF data" msgstr "Keine symbolischen Namen für Adressen in DWARF-Daten suchen" -#: src/readelf.c:112 +#: src/readelf.c:113 #, fuzzy msgid "" "Display just offsets instead of resolving values to addresses in DWARF data" msgstr "Keine symbolischen Namen für Adressen in DWARF-Daten suchen" -#: src/readelf.c:114 +#: src/readelf.c:115 msgid "Ignored for compatibility (lines always wide)" msgstr "" -#: src/readelf.c:119 +#: src/readelf.c:117 +msgid "" +"Show compression information for compressed sections (when used with -S); " +"decompress section before dumping data (when used with -p or -x)" +msgstr "" + +#: src/readelf.c:122 msgid "Print information from ELF file in human-readable form." msgstr "Informationen aus der ELF-Datei in menschenlesbarer Form ausgeben." -#: src/readelf.c:441 +#: src/readelf.c:447 #, c-format msgid "Unknown DWARF debug section `%s'.\n" msgstr "" -#: src/readelf.c:520 src/readelf.c:631 +#: src/readelf.c:529 src/readelf.c:640 #, c-format msgid "cannot generate Elf descriptor: %s" msgstr "konnte Elf-Deskriptor nicht erzeugen: %s" -#: src/readelf.c:545 src/readelf.c:1099 src/readelf.c:1269 +#: src/readelf.c:554 src/readelf.c:1145 src/readelf.c:1347 #, c-format msgid "cannot get section: %s" msgstr "" -#: src/readelf.c:554 src/readelf.c:1106 src/readelf.c:1277 src/readelf.c:9481 -#: src/unstrip.c:355 src/unstrip.c:386 src/unstrip.c:435 src/unstrip.c:543 -#: src/unstrip.c:560 src/unstrip.c:596 src/unstrip.c:794 src/unstrip.c:1083 -#: src/unstrip.c:1274 src/unstrip.c:1334 src/unstrip.c:1455 src/unstrip.c:1508 -#: src/unstrip.c:1623 src/unstrip.c:1761 src/unstrip.c:1855 +#: src/readelf.c:563 src/readelf.c:1152 src/readelf.c:1355 src/readelf.c:9623 +#: src/unstrip.c:387 src/unstrip.c:418 src/unstrip.c:467 src/unstrip.c:577 +#: src/unstrip.c:594 src/unstrip.c:631 src/unstrip.c:829 src/unstrip.c:1118 +#: src/unstrip.c:1309 src/unstrip.c:1369 src/unstrip.c:1490 src/unstrip.c:1543 +#: src/unstrip.c:1658 src/unstrip.c:1796 src/unstrip.c:1891 #, c-format msgid "cannot get section header: %s" msgstr "" -#: src/readelf.c:562 +#: src/readelf.c:571 #, fuzzy, c-format msgid "cannot get section name" msgstr "konnte Abschnittsdaten nicht holen: %s" -#: src/readelf.c:571 src/readelf.c:5396 src/readelf.c:7670 src/readelf.c:7772 -#: src/readelf.c:7949 +#: src/readelf.c:580 src/readelf.c:5504 src/readelf.c:7778 src/readelf.c:7880 +#: src/readelf.c:8057 #, c-format msgid "cannot get %s content: %s" msgstr "" -#: src/readelf.c:587 +#: src/readelf.c:596 #, fuzzy, c-format msgid "cannot create temp file '%s'" msgstr "neue Datei konnte nicht angelegt werden" -#: src/readelf.c:596 +#: src/readelf.c:605 #, fuzzy, c-format msgid "cannot write section data" msgstr "konnte Abschnittsdaten nicht holen: %s" -#: src/readelf.c:602 src/readelf.c:619 src/readelf.c:648 +#: src/readelf.c:611 src/readelf.c:628 src/readelf.c:657 #, c-format msgid "error while closing Elf descriptor: %s" msgstr "" -#: src/readelf.c:609 +#: src/readelf.c:618 #, fuzzy, c-format msgid "error while rewinding file descriptor" msgstr "Fehler beim Schliessen des Elf-Desktriptor: %s\n" -#: src/readelf.c:643 +#: src/readelf.c:652 #, c-format msgid "'%s' is not an archive, cannot print archive index" msgstr "" -#: src/readelf.c:742 +#: src/readelf.c:751 #, fuzzy, c-format msgid "No such section '%s' in '%s'" msgstr "konnte Abschnittsdaten nicht holen: %s" -#: src/readelf.c:769 +#: src/readelf.c:778 #, c-format msgid "cannot stat input file" msgstr "" -#: src/readelf.c:771 +#: src/readelf.c:780 #, c-format msgid "input file is empty" msgstr "" -#: src/readelf.c:773 +#: src/readelf.c:782 #, c-format msgid "failed reading '%s': %s" msgstr "Konnte '%s' nicht lesen: %s" -#: src/readelf.c:814 +#: src/readelf.c:837 #, c-format msgid "cannot read ELF header: %s" msgstr "" -#: src/readelf.c:822 +#: src/readelf.c:845 #, c-format msgid "cannot create EBL handle" msgstr "" -#: src/readelf.c:835 +#: src/readelf.c:858 #, fuzzy, c-format msgid "cannot determine number of program headers: %s" msgstr "konnte Programm-Kopf nicht erstellen: %s" -#: src/readelf.c:921 +#: src/readelf.c:948 msgid "NONE (None)" msgstr "" -#: src/readelf.c:922 +#: src/readelf.c:949 msgid "REL (Relocatable file)" msgstr "" -#: src/readelf.c:923 +#: src/readelf.c:950 msgid "EXEC (Executable file)" msgstr "" -#: src/readelf.c:924 +#: src/readelf.c:951 msgid "DYN (Shared object file)" msgstr "" -#: src/readelf.c:925 +#: src/readelf.c:952 msgid "CORE (Core file)" msgstr "" -#: src/readelf.c:930 +#: src/readelf.c:957 #, c-format msgid "OS Specific: (%x)\n" msgstr "" -#: src/readelf.c:932 +#: src/readelf.c:959 #, c-format msgid "Processor Specific: (%x)\n" msgstr "" -#: src/readelf.c:942 +#: src/readelf.c:969 msgid "" "ELF Header:\n" " Magic: " msgstr "" -#: src/readelf.c:946 +#: src/readelf.c:973 #, c-format msgid "" "\n" " Class: %s\n" msgstr "" -#: src/readelf.c:951 +#: src/readelf.c:978 #, fuzzy, c-format msgid " Data: %s\n" msgstr " Daten: %s\n" -#: src/readelf.c:957 +#: src/readelf.c:984 #, c-format msgid " Ident Version: %hhd %s\n" msgstr "" -#: src/readelf.c:959 src/readelf.c:976 +#: src/readelf.c:986 src/readelf.c:1003 msgid "(current)" msgstr "(aktuell)" -#: src/readelf.c:963 +#: src/readelf.c:990 #, c-format msgid " OS/ABI: %s\n" msgstr "" -#: src/readelf.c:966 +#: src/readelf.c:993 #, c-format msgid " ABI Version: %hhd\n" msgstr "" -#: src/readelf.c:969 +#: src/readelf.c:996 msgid " Type: " msgstr " Typ: " -#: src/readelf.c:972 +#: src/readelf.c:999 #, c-format msgid " Machine: %s\n" msgstr "" -#: src/readelf.c:974 +#: src/readelf.c:1001 #, c-format msgid " Version: %d %s\n" msgstr "" -#: src/readelf.c:978 +#: src/readelf.c:1005 #, c-format msgid " Entry point address: %#<PRIx64>\n" msgstr "" -#: src/readelf.c:981 +#: src/readelf.c:1008 #, c-format msgid " Start of program headers: %<PRId64> %s\n" msgstr "" -#: src/readelf.c:982 src/readelf.c:985 +#: src/readelf.c:1009 src/readelf.c:1012 msgid "(bytes into file)" msgstr "" -#: src/readelf.c:984 +#: src/readelf.c:1011 #, c-format msgid " Start of section headers: %<PRId64> %s\n" msgstr "" -#: src/readelf.c:987 +#: src/readelf.c:1014 #, c-format msgid " Flags: %s\n" msgstr "" -#: src/readelf.c:990 +#: src/readelf.c:1017 #, c-format msgid " Size of this header: %<PRId16> %s\n" msgstr "" -#: src/readelf.c:991 src/readelf.c:994 src/readelf.c:1011 +#: src/readelf.c:1018 src/readelf.c:1021 src/readelf.c:1038 msgid "(bytes)" msgstr "(Bytes)" -#: src/readelf.c:993 +#: src/readelf.c:1020 #, c-format msgid " Size of program header entries: %<PRId16> %s\n" msgstr "" -#: src/readelf.c:996 +#: src/readelf.c:1023 #, c-format msgid " Number of program headers entries: %<PRId16>" msgstr "" -#: src/readelf.c:1003 +#: src/readelf.c:1030 #, c-format msgid " (%<PRIu32> in [0].sh_info)" msgstr "" -#: src/readelf.c:1006 src/readelf.c:1023 src/readelf.c:1037 +#: src/readelf.c:1033 src/readelf.c:1050 src/readelf.c:1064 msgid " ([0] not available)" msgstr "" -#: src/readelf.c:1010 +#: src/readelf.c:1037 #, c-format msgid " Size of section header entries: %<PRId16> %s\n" msgstr "" -#: src/readelf.c:1013 +#: src/readelf.c:1040 #, c-format msgid " Number of section headers entries: %<PRId16>" msgstr "" -#: src/readelf.c:1020 +#: src/readelf.c:1047 #, c-format msgid " (%<PRIu32> in [0].sh_size)" msgstr "" -#: src/readelf.c:1033 +#: src/readelf.c:1060 #, c-format msgid " (%<PRIu32> in [0].sh_link)" msgstr "" -#: src/readelf.c:1041 +#: src/readelf.c:1068 #, c-format msgid "" " Section header string table index: XINDEX%s\n" "\n" msgstr "" -#: src/readelf.c:1045 +#: src/readelf.c:1072 #, c-format msgid "" " Section header string table index: %<PRId16>\n" "\n" msgstr "" -#: src/readelf.c:1077 +#: src/readelf.c:1115 #, c-format msgid "" "There are %d section headers, starting at offset %#<PRIx64>:\n" "\n" msgstr "" -#: src/readelf.c:1087 +#: src/readelf.c:1125 msgid "Section Headers:" msgstr "" -#: src/readelf.c:1090 +#: src/readelf.c:1128 msgid "" "[Nr] Name Type Addr Off Size ES Flags Lk " "Inf Al" msgstr "" -#: src/readelf.c:1092 +#: src/readelf.c:1130 msgid "" "[Nr] Name Type Addr Off Size ES " "Flags Lk Inf Al" msgstr "" -#: src/readelf.c:1164 +#: src/readelf.c:1135 +msgid " [Compression Size Al]" +msgstr "" + +#: src/readelf.c:1137 +msgid " [Compression Size Al]" +msgstr "" + +#: src/readelf.c:1213 +#, c-format +msgid "bad compression header for section %zd: %s" +msgstr "" + +#: src/readelf.c:1224 +#, c-format +msgid "bad gnu compressed size for section %zd: %s" +msgstr "" + +#: src/readelf.c:1242 msgid "Program Headers:" msgstr "Programm-Köpfe:" -#: src/readelf.c:1166 +#: src/readelf.c:1244 msgid "" " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align" msgstr "" -#: src/readelf.c:1169 +#: src/readelf.c:1247 msgid "" " Type Offset VirtAddr PhysAddr FileSiz " "MemSiz Flg Align" msgstr "" -#: src/readelf.c:1226 +#: src/readelf.c:1304 #, c-format msgid "\t[Requesting program interpreter: %s]\n" msgstr "" -#: src/readelf.c:1247 +#: src/readelf.c:1325 msgid "" "\n" " Section to Segment mapping:\n" " Segment Sections..." msgstr "" -#: src/readelf.c:1258 src/unstrip.c:1914 src/unstrip.c:1957 src/unstrip.c:1964 +#: src/readelf.c:1336 src/unstrip.c:1950 src/unstrip.c:1992 src/unstrip.c:1999 #, c-format msgid "cannot get program header: %s" msgstr "" -#: src/readelf.c:1401 +#: src/readelf.c:1479 #, c-format msgid "" "\n" @@ -4532,7 +4610,7 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: src/readelf.c:1406 +#: src/readelf.c:1484 #, c-format msgid "" "\n" @@ -4543,21 +4621,25 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: src/readelf.c:1414 +#: src/readelf.c:1492 msgid "<INVALID SYMBOL>" msgstr "" -#: src/readelf.c:1428 +#: src/readelf.c:1506 msgid "<INVALID SECTION>" msgstr "" -#: src/readelf.c:1585 src/readelf.c:2208 src/readelf.c:2466 src/readelf.c:2542 -#: src/readelf.c:2846 src/readelf.c:2920 src/readelf.c:4608 +#: src/readelf.c:1529 src/readelf.c:2238 src/readelf.c:3317 +msgid "Couldn't uncompress section" +msgstr "" + +#: src/readelf.c:1673 src/readelf.c:2306 src/readelf.c:2564 src/readelf.c:2640 +#: src/readelf.c:2944 src/readelf.c:3018 src/readelf.c:4716 #, fuzzy, c-format msgid "invalid sh_link value in section %zu" msgstr "ungültige .debug_line Sektion" -#: src/readelf.c:1588 +#: src/readelf.c:1676 #, c-format msgid "" "\n" @@ -4570,43 +4652,43 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: src/readelf.c:1598 +#: src/readelf.c:1686 msgid " Type Value\n" msgstr "" -#: src/readelf.c:1622 +#: src/readelf.c:1710 #, c-format msgid "Shared library: [%s]\n" msgstr "" -#: src/readelf.c:1627 +#: src/readelf.c:1715 #, c-format msgid "Library soname: [%s]\n" msgstr "" -#: src/readelf.c:1632 +#: src/readelf.c:1720 #, c-format msgid "Library rpath: [%s]\n" msgstr "" -#: src/readelf.c:1637 +#: src/readelf.c:1725 #, c-format msgid "Library runpath: [%s]\n" msgstr "" -#: src/readelf.c:1657 +#: src/readelf.c:1745 #, c-format msgid "%<PRId64> (bytes)\n" msgstr "" -#: src/readelf.c:1770 src/readelf.c:1960 +#: src/readelf.c:1858 src/readelf.c:2048 #, c-format msgid "" "\n" "Invalid symbol table at offset %#0<PRIx64>\n" msgstr "" -#: src/readelf.c:1788 src/readelf.c:1978 +#: src/readelf.c:1876 src/readelf.c:2066 #, c-format msgid "" "\n" @@ -4619,7 +4701,7 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: src/readelf.c:1803 src/readelf.c:1993 +#: src/readelf.c:1891 src/readelf.c:2081 #, c-format msgid "" "\n" @@ -4630,29 +4712,29 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: src/readelf.c:1813 +#: src/readelf.c:1901 msgid " Offset Type Value Name\n" msgstr "" -#: src/readelf.c:1815 +#: src/readelf.c:1903 msgid " Offset Type Value Name\n" msgstr "" -#: src/readelf.c:1868 src/readelf.c:1879 src/readelf.c:1892 src/readelf.c:1913 -#: src/readelf.c:1925 src/readelf.c:2059 src/readelf.c:2071 src/readelf.c:2085 -#: src/readelf.c:2107 src/readelf.c:2120 +#: src/readelf.c:1956 src/readelf.c:1967 src/readelf.c:1980 src/readelf.c:2001 +#: src/readelf.c:2013 src/readelf.c:2147 src/readelf.c:2159 src/readelf.c:2173 +#: src/readelf.c:2195 src/readelf.c:2208 msgid "<INVALID RELOC>" msgstr "" -#: src/readelf.c:2003 +#: src/readelf.c:2091 msgid " Offset Type Value Addend Name\n" msgstr "" -#: src/readelf.c:2005 +#: src/readelf.c:2093 msgid " Offset Type Value Addend Name\n" msgstr "" -#: src/readelf.c:2216 +#: src/readelf.c:2314 #, c-format msgid "" "\n" @@ -4663,40 +4745,40 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: src/readelf.c:2221 +#: src/readelf.c:2319 #, c-format msgid " %lu local symbol String table: [%2u] '%s'\n" msgid_plural " %lu local symbols String table: [%2u] '%s'\n" msgstr[0] "" msgstr[1] "" -#: src/readelf.c:2229 +#: src/readelf.c:2327 msgid " Num: Value Size Type Bind Vis Ndx Name\n" msgstr "" -#: src/readelf.c:2231 +#: src/readelf.c:2329 msgid " Num: Value Size Type Bind Vis Ndx Name\n" msgstr "" -#: src/readelf.c:2251 +#: src/readelf.c:2349 #, c-format msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s" msgstr "" -#: src/readelf.c:2339 +#: src/readelf.c:2437 #, c-format msgid "bad dynamic symbol" msgstr "" -#: src/readelf.c:2421 +#: src/readelf.c:2519 msgid "none" msgstr "keine" -#: src/readelf.c:2438 +#: src/readelf.c:2536 msgid "| <unknown>" msgstr "| <unbekannt>" -#: src/readelf.c:2469 +#: src/readelf.c:2567 #, c-format msgid "" "\n" @@ -4709,17 +4791,17 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: src/readelf.c:2490 +#: src/readelf.c:2588 #, fuzzy, c-format msgid " %#06x: Version: %hu File: %s Cnt: %hu\n" msgstr " %#06x: Version: %hu Datei: %s Cnt: %hu\n" -#: src/readelf.c:2503 +#: src/readelf.c:2601 #, c-format msgid " %#06x: Name: %s Flags: %s Version: %hu\n" msgstr " %#06x: Name: %s Flags: %s Version: %hu\n" -#: src/readelf.c:2546 +#: src/readelf.c:2644 #, c-format msgid "" "\n" @@ -4732,17 +4814,17 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: src/readelf.c:2574 +#: src/readelf.c:2672 #, c-format msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n" msgstr "" -#: src/readelf.c:2589 +#: src/readelf.c:2687 #, c-format msgid " %#06x: Parent %d: %s\n" msgstr "" -#: src/readelf.c:2850 +#: src/readelf.c:2948 #, c-format msgid "" "\n" @@ -4755,15 +4837,15 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: src/readelf.c:2878 +#: src/readelf.c:2976 msgid " 0 *local* " msgstr " 0 *lokal* " -#: src/readelf.c:2883 +#: src/readelf.c:2981 msgid " 1 *global* " msgstr " 1 *global* " -#: src/readelf.c:2925 +#: src/readelf.c:3023 #, c-format msgid "" "\n" @@ -4778,56 +4860,56 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: src/readelf.c:2947 +#: src/readelf.c:3045 #, no-c-format msgid " Length Number % of total Coverage\n" msgstr "" -#: src/readelf.c:2949 +#: src/readelf.c:3047 #, c-format msgid " 0 %6<PRIu32> %5.1f%%\n" msgstr " 0 %6<PRIu32> %5.1f%%\n" -#: src/readelf.c:2956 +#: src/readelf.c:3054 #, c-format msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n" msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n" -#: src/readelf.c:2969 +#: src/readelf.c:3067 #, c-format msgid "" " Average number of tests: successful lookup: %f\n" "\t\t\t unsuccessful lookup: %f\n" msgstr "" -#: src/readelf.c:2987 src/readelf.c:3042 src/readelf.c:3099 +#: src/readelf.c:3085 src/readelf.c:3140 src/readelf.c:3197 #, c-format msgid "cannot get data for section %d: %s" msgstr "" -#: src/readelf.c:2995 +#: src/readelf.c:3093 #, fuzzy, c-format msgid "invalid data in sysv.hash section %d" msgstr "ungültige .debug_line Sektion" -#: src/readelf.c:3050 +#: src/readelf.c:3148 #, fuzzy, c-format msgid "invalid data in sysv.hash64 section %d" msgstr "ungültige .debug_line Sektion" -#: src/readelf.c:3108 +#: src/readelf.c:3206 #, fuzzy, c-format msgid "invalid data in gnu.hash section %d" msgstr "ungültige .debug_line Sektion" -#: src/readelf.c:3175 +#: src/readelf.c:3273 #, c-format msgid "" " Symbol Bias: %u\n" " Bitmask Size: %zu bytes %<PRIuFAST32>%% bits set 2nd hash shift: %u\n" msgstr "" -#: src/readelf.c:3250 +#: src/readelf.c:3358 #, c-format msgid "" "\n" @@ -4838,13 +4920,13 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: src/readelf.c:3264 +#: src/readelf.c:3372 msgid "" " Library Time Stamp Checksum Version " "Flags" msgstr "" -#: src/readelf.c:3314 +#: src/readelf.c:3422 #, c-format msgid "" "\n" @@ -4852,140 +4934,140 @@ msgid "" "%#0<PRIx64>:\n" msgstr "" -#: src/readelf.c:3331 +#: src/readelf.c:3439 msgid " Owner Size\n" msgstr "" -#: src/readelf.c:3360 +#: src/readelf.c:3468 #, c-format msgid " %-13s %4<PRIu32>\n" msgstr " %-13s %4<PRIu32>\n" -#: src/readelf.c:3399 +#: src/readelf.c:3507 #, c-format msgid " %-4u %12<PRIu32>\n" msgstr " %-4u %12<PRIu32>\n" -#: src/readelf.c:3404 +#: src/readelf.c:3512 #, c-format msgid " File: %11<PRIu32>\n" msgstr " File: %11<PRIu32>\n" -#: src/readelf.c:3453 +#: src/readelf.c:3561 #, c-format msgid " %s: %<PRId64>, %s\n" msgstr " %s: %<PRId64>, %s\n" -#: src/readelf.c:3456 +#: src/readelf.c:3564 #, c-format msgid " %s: %<PRId64>\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:3459 +#: src/readelf.c:3567 #, c-format msgid " %s: %s\n" msgstr " %s: %s\n" -#: src/readelf.c:3469 +#: src/readelf.c:3577 #, c-format msgid " %u: %<PRId64>\n" msgstr " %u: %<PRId64>\n" -#: src/readelf.c:3472 +#: src/readelf.c:3580 #, c-format msgid " %u: %s\n" msgstr " %u: %s\n" -#: src/readelf.c:3517 +#: src/readelf.c:3625 #, c-format msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>" msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3520 +#: src/readelf.c:3628 #, c-format msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>" msgstr "%s+%#0*<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3525 +#: src/readelf.c:3633 #, c-format msgid "%#<PRIx64> <%s+%#<PRIx64>>" msgstr "%#<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3528 +#: src/readelf.c:3636 #, c-format msgid "%#0*<PRIx64> <%s+%#<PRIx64>>" msgstr "%#0*<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3534 +#: src/readelf.c:3642 #, c-format msgid "%s+%#<PRIx64> <%s>" msgstr "%s+%#<PRIx64> <%s>" -#: src/readelf.c:3537 +#: src/readelf.c:3645 #, c-format msgid "%s+%#0*<PRIx64> <%s>" msgstr "%s+%#0*<PRIx64> <%s>" -#: src/readelf.c:3541 +#: src/readelf.c:3649 #, c-format msgid "%#<PRIx64> <%s>" msgstr "%#<PRIx64> <%s>" -#: src/readelf.c:3544 +#: src/readelf.c:3652 #, c-format msgid "%#0*<PRIx64> <%s>" msgstr "%#0*<PRIx64> <%s>" -#: src/readelf.c:3549 +#: src/readelf.c:3657 #, c-format msgid "%s+%#<PRIx64>" msgstr "%s+%#<PRIx64>" -#: src/readelf.c:3552 +#: src/readelf.c:3660 #, c-format msgid "%s+%#0*<PRIx64>" msgstr "%s+%#0*<PRIx64>" -#: src/readelf.c:3930 +#: src/readelf.c:4038 msgid "empty block" msgstr "" -#: src/readelf.c:3933 +#: src/readelf.c:4041 #, c-format msgid "%zu byte block:" msgstr "" -#: src/readelf.c:4330 +#: src/readelf.c:4438 #, c-format msgid "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n" msgstr "" -#: src/readelf.c:4387 +#: src/readelf.c:4495 #, c-format msgid "%s %#<PRIx64> used with different address sizes" msgstr "" -#: src/readelf.c:4394 +#: src/readelf.c:4502 #, c-format msgid "%s %#<PRIx64> used with different offset sizes" msgstr "" -#: src/readelf.c:4401 +#: src/readelf.c:4509 #, c-format msgid "%s %#<PRIx64> used with different base addresses" msgstr "" -#: src/readelf.c:4490 +#: src/readelf.c:4598 #, c-format msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n" msgstr "" -#: src/readelf.c:4498 +#: src/readelf.c:4606 #, c-format msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n" msgstr "" -#: src/readelf.c:4524 +#: src/readelf.c:4632 #, c-format msgid "" "\n" @@ -4993,37 +5075,37 @@ msgid "" " [ Code]\n" msgstr "" -#: src/readelf.c:4532 +#: src/readelf.c:4640 #, c-format msgid "" "\n" "Abbreviation section at offset %<PRIu64>:\n" msgstr "" -#: src/readelf.c:4545 +#: src/readelf.c:4653 #, c-format msgid " *** error while reading abbreviation: %s\n" msgstr "" -#: src/readelf.c:4561 +#: src/readelf.c:4669 #, c-format msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n" msgstr "" -#: src/readelf.c:4564 +#: src/readelf.c:4672 msgid "yes" msgstr "ja" -#: src/readelf.c:4564 +#: src/readelf.c:4672 msgid "no" msgstr "nein" -#: src/readelf.c:4598 src/readelf.c:4671 +#: src/readelf.c:4706 src/readelf.c:4779 #, c-format msgid "cannot get .debug_aranges content: %s" msgstr "" -#: src/readelf.c:4613 +#: src/readelf.c:4721 #, c-format msgid "" "\n" @@ -5034,193 +5116,193 @@ msgid_plural "" msgstr[0] "" msgstr[1] "" -#: src/readelf.c:4644 +#: src/readelf.c:4752 #, c-format msgid " [%*zu] ???\n" msgstr " [%*zu] ???\n" -#: src/readelf.c:4646 +#: src/readelf.c:4754 #, c-format msgid "" " [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n" msgstr "" -#: src/readelf.c:4676 src/readelf.c:4830 src/readelf.c:5406 src/readelf.c:6360 -#: src/readelf.c:6892 src/readelf.c:7012 src/readelf.c:7176 src/readelf.c:7601 +#: src/readelf.c:4784 src/readelf.c:4938 src/readelf.c:5514 src/readelf.c:6468 +#: src/readelf.c:7000 src/readelf.c:7120 src/readelf.c:7284 src/readelf.c:7709 #, c-format msgid "" "\n" "DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n" msgstr "" -#: src/readelf.c:4689 src/readelf.c:6386 +#: src/readelf.c:4797 src/readelf.c:6494 #, c-format msgid "" "\n" "Table at offset %zu:\n" msgstr "" -#: src/readelf.c:4693 src/readelf.c:5430 src/readelf.c:6397 +#: src/readelf.c:4801 src/readelf.c:5538 src/readelf.c:6505 #, c-format msgid "invalid data in section [%zu] '%s'" msgstr "" -#: src/readelf.c:4709 +#: src/readelf.c:4817 #, fuzzy, c-format msgid "" "\n" " Length: %6<PRIu64>\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:4721 +#: src/readelf.c:4829 #, fuzzy, c-format msgid " DWARF version: %6<PRIuFAST16>\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:4725 +#: src/readelf.c:4833 #, c-format msgid "unsupported aranges version" msgstr "" -#: src/readelf.c:4736 +#: src/readelf.c:4844 #, fuzzy, c-format msgid " CU offset: %6<PRIx64>\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:4742 +#: src/readelf.c:4850 #, c-format msgid " Address size: %6<PRIu64>\n" msgstr "" -#: src/readelf.c:4746 +#: src/readelf.c:4854 #, fuzzy, c-format msgid "unsupported address size" msgstr "Kein Adress-Wert" -#: src/readelf.c:4751 +#: src/readelf.c:4859 #, c-format msgid "" " Segment size: %6<PRIu64>\n" "\n" msgstr "" -#: src/readelf.c:4755 +#: src/readelf.c:4863 #, c-format msgid "unsupported segment size" msgstr "" -#: src/readelf.c:4795 +#: src/readelf.c:4903 #, fuzzy, c-format msgid " %s..%s (%<PRIx64>)\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:4798 +#: src/readelf.c:4906 #, fuzzy, c-format msgid " %s..%s\n" msgstr " [%6tx] %s..%s\n" -#: src/readelf.c:4807 +#: src/readelf.c:4915 #, c-format msgid " %zu padding bytes\n" msgstr "" -#: src/readelf.c:4825 +#: src/readelf.c:4933 #, c-format msgid "cannot get .debug_ranges content: %s" msgstr "" -#: src/readelf.c:4855 src/readelf.c:6919 +#: src/readelf.c:4963 src/readelf.c:7027 #, c-format msgid " [%6tx] <INVALID DATA>\n" msgstr "" -#: src/readelf.c:4877 src/readelf.c:6941 +#: src/readelf.c:4985 src/readelf.c:7049 #, c-format msgid " [%6tx] base address %s\n" msgstr "" -#: src/readelf.c:4884 src/readelf.c:6948 +#: src/readelf.c:4992 src/readelf.c:7056 #, fuzzy, c-format msgid " [%6tx] empty list\n" msgstr " [%6tx] %s..%s\n" -#: src/readelf.c:4895 +#: src/readelf.c:5003 #, c-format msgid " [%6tx] %s..%s\n" msgstr " [%6tx] %s..%s\n" -#: src/readelf.c:4897 +#: src/readelf.c:5005 #, c-format msgid " %s..%s\n" msgstr " %s..%s\n" -#: src/readelf.c:5076 +#: src/readelf.c:5184 msgid " <INVALID DATA>\n" msgstr "" -#: src/readelf.c:5385 +#: src/readelf.c:5493 #, fuzzy, c-format msgid "cannot get ELF: %s" msgstr "ELF Kopf konnte nicht ausgelesen werden" -#: src/readelf.c:5402 +#: src/readelf.c:5510 #, c-format msgid "" "\n" "Call frame information section [%2zu] '%s' at offset %#<PRIx64>:\n" msgstr "" -#: src/readelf.c:5452 +#: src/readelf.c:5560 #, c-format msgid "" "\n" " [%6tx] Zero terminator\n" msgstr "" -#: src/readelf.c:5545 src/readelf.c:5700 +#: src/readelf.c:5653 src/readelf.c:5808 #, fuzzy, c-format msgid "invalid augmentation length" msgstr "ungültige Abschnittsausrichtung" -#: src/readelf.c:5560 +#: src/readelf.c:5668 msgid "FDE address encoding: " msgstr "" -#: src/readelf.c:5566 +#: src/readelf.c:5674 msgid "LSDA pointer encoding: " msgstr "" -#: src/readelf.c:5677 +#: src/readelf.c:5785 #, c-format msgid " (offset: %#<PRIx64>)" msgstr "" -#: src/readelf.c:5684 +#: src/readelf.c:5792 #, c-format msgid " (end offset: %#<PRIx64>)" msgstr "" -#: src/readelf.c:5721 +#: src/readelf.c:5829 #, c-format msgid " %-26sLSDA pointer: %#<PRIx64>\n" msgstr "" -#: src/readelf.c:5776 +#: src/readelf.c:5884 #, c-format msgid "cannot get attribute code: %s" msgstr "" -#: src/readelf.c:5785 +#: src/readelf.c:5893 #, c-format msgid "cannot get attribute form: %s" msgstr "" -#: src/readelf.c:5800 +#: src/readelf.c:5908 #, c-format msgid "cannot get attribute value: %s" msgstr "" -#: src/readelf.c:6099 +#: src/readelf.c:6207 #, c-format msgid "" "\n" @@ -5228,7 +5310,7 @@ msgid "" " [Offset]\n" msgstr "" -#: src/readelf.c:6131 +#: src/readelf.c:6239 #, c-format msgid "" " Type unit at offset %<PRIu64>:\n" @@ -5237,7 +5319,7 @@ msgid "" " Type signature: %#<PRIx64>, Type offset: %#<PRIx64>\n" msgstr "" -#: src/readelf.c:6140 +#: src/readelf.c:6248 #, c-format msgid "" " Compilation unit at offset %<PRIu64>:\n" @@ -5245,32 +5327,32 @@ msgid "" "%<PRIu8>, Offset size: %<PRIu8>\n" msgstr "" -#: src/readelf.c:6165 +#: src/readelf.c:6273 #, c-format msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s" msgstr "" -#: src/readelf.c:6179 +#: src/readelf.c:6287 #, c-format msgid "cannot get DIE offset: %s" msgstr "" -#: src/readelf.c:6188 +#: src/readelf.c:6296 #, c-format msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s" msgstr "" -#: src/readelf.c:6220 +#: src/readelf.c:6328 #, c-format msgid "cannot get next DIE: %s\n" msgstr "" -#: src/readelf.c:6228 +#: src/readelf.c:6336 #, c-format msgid "cannot get next DIE: %s" msgstr "" -#: src/readelf.c:6264 +#: src/readelf.c:6372 #, c-format msgid "" "\n" @@ -5278,12 +5360,12 @@ msgid "" "\n" msgstr "" -#: src/readelf.c:6373 +#: src/readelf.c:6481 #, c-format msgid "cannot get line data section data: %s" msgstr "" -#: src/readelf.c:6443 +#: src/readelf.c:6551 #, c-format msgid "" "\n" @@ -5300,249 +5382,249 @@ msgid "" "Opcodes:\n" msgstr "" -#: src/readelf.c:6464 +#: src/readelf.c:6572 #, c-format msgid "invalid data at offset %tu in section [%zu] '%s'" msgstr "" -#: src/readelf.c:6479 +#: src/readelf.c:6587 #, c-format msgid " [%*<PRIuFAST8>] %hhu argument\n" msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n" msgstr[0] "" msgstr[1] "" -#: src/readelf.c:6487 +#: src/readelf.c:6595 msgid "" "\n" "Directory table:" msgstr "" -#: src/readelf.c:6503 +#: src/readelf.c:6611 msgid "" "\n" "File name table:\n" " Entry Dir Time Size Name" msgstr "" -#: src/readelf.c:6538 +#: src/readelf.c:6646 msgid "" "\n" "Line number statements:" msgstr "" -#: src/readelf.c:6589 +#: src/readelf.c:6697 #, c-format msgid "invalid maximum operations per instruction is zero" msgstr "" -#: src/readelf.c:6625 +#: src/readelf.c:6733 #, c-format msgid " special opcode %u: address+%u = %s, op_index = %u, line%+d = %zu\n" msgstr "" -#: src/readelf.c:6630 +#: src/readelf.c:6738 #, c-format msgid " special opcode %u: address+%u = %s, line%+d = %zu\n" msgstr "" -#: src/readelf.c:6650 +#: src/readelf.c:6758 #, c-format msgid " extended opcode %u: " msgstr "" -#: src/readelf.c:6655 +#: src/readelf.c:6763 msgid " end of sequence" msgstr "" -#: src/readelf.c:6674 +#: src/readelf.c:6782 #, c-format msgid " set address to %s\n" msgstr "" -#: src/readelf.c:6701 +#: src/readelf.c:6809 #, c-format msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n" msgstr "" -#: src/readelf.c:6714 +#: src/readelf.c:6822 #, c-format msgid " set discriminator to %u\n" msgstr "" -#: src/readelf.c:6719 +#: src/readelf.c:6827 #, fuzzy msgid " unknown opcode" msgstr "unbekannter Typ" -#: src/readelf.c:6731 +#: src/readelf.c:6839 msgid " copy" msgstr "" -#: src/readelf.c:6742 +#: src/readelf.c:6850 #, c-format msgid " advance address by %u to %s, op_index to %u\n" msgstr "" -#: src/readelf.c:6746 +#: src/readelf.c:6854 #, c-format msgid " advance address by %u to %s\n" msgstr "" -#: src/readelf.c:6757 +#: src/readelf.c:6865 #, c-format msgid " advance line by constant %d to %<PRId64>\n" msgstr "" -#: src/readelf.c:6765 +#: src/readelf.c:6873 #, c-format msgid " set file to %<PRIu64>\n" msgstr "" -#: src/readelf.c:6775 +#: src/readelf.c:6883 #, c-format msgid " set column to %<PRIu64>\n" msgstr "" -#: src/readelf.c:6782 +#: src/readelf.c:6890 #, c-format msgid " set '%s' to %<PRIuFAST8>\n" msgstr "" -#: src/readelf.c:6788 +#: src/readelf.c:6896 msgid " set basic block flag" msgstr "" -#: src/readelf.c:6801 +#: src/readelf.c:6909 #, c-format msgid " advance address by constant %u to %s, op_index to %u\n" msgstr "" -#: src/readelf.c:6805 +#: src/readelf.c:6913 #, c-format msgid " advance address by constant %u to %s\n" msgstr "" -#: src/readelf.c:6823 +#: src/readelf.c:6931 #, c-format msgid " advance address by fixed value %u to %s\n" msgstr "" -#: src/readelf.c:6832 +#: src/readelf.c:6940 msgid " set prologue end flag" msgstr "" -#: src/readelf.c:6837 +#: src/readelf.c:6945 msgid " set epilogue begin flag" msgstr "" -#: src/readelf.c:6846 +#: src/readelf.c:6954 #, c-format msgid " set isa to %u\n" msgstr "" -#: src/readelf.c:6855 +#: src/readelf.c:6963 #, c-format msgid " unknown opcode with %<PRIu8> parameter:" msgid_plural " unknown opcode with %<PRIu8> parameters:" msgstr[0] "" msgstr[1] "" -#: src/readelf.c:6887 +#: src/readelf.c:6995 #, c-format msgid "cannot get .debug_loc content: %s" msgstr "" -#: src/readelf.c:6962 +#: src/readelf.c:7070 #, c-format msgid " [%6tx] %s..%s" msgstr " [%6tx] %s..%s" -#: src/readelf.c:6964 +#: src/readelf.c:7072 #, c-format msgid " %s..%s" msgstr " %s..%s" -#: src/readelf.c:6971 src/readelf.c:7859 +#: src/readelf.c:7079 src/readelf.c:7967 msgid " <INVALID DATA>\n" msgstr "" -#: src/readelf.c:7023 src/readelf.c:7185 +#: src/readelf.c:7131 src/readelf.c:7293 #, c-format msgid "cannot get macro information section data: %s" msgstr "" -#: src/readelf.c:7103 +#: src/readelf.c:7211 #, c-format msgid "%*s*** non-terminated string at end of section" msgstr "" -#: src/readelf.c:7126 +#: src/readelf.c:7234 #, c-format msgid "%*s*** missing DW_MACINFO_start_file argument at end of section" msgstr "" -#: src/readelf.c:7226 +#: src/readelf.c:7334 #, fuzzy, c-format msgid " Offset: 0x%<PRIx64>\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:7238 +#: src/readelf.c:7346 #, fuzzy, c-format msgid " Version: %<PRIu16>\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:7244 src/readelf.c:7978 +#: src/readelf.c:7352 src/readelf.c:8086 #, c-format msgid " unknown version, cannot parse section\n" msgstr "" -#: src/readelf.c:7251 +#: src/readelf.c:7359 #, fuzzy, c-format msgid " Flag: 0x%<PRIx8>\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:7254 +#: src/readelf.c:7362 #, c-format msgid " Offset length: %<PRIu8>\n" msgstr "" -#: src/readelf.c:7262 +#: src/readelf.c:7370 #, c-format msgid " .debug_line offset: 0x%<PRIx64>\n" msgstr "" -#: src/readelf.c:7275 +#: src/readelf.c:7383 #, c-format msgid " extension opcode table, %<PRIu8> items:\n" msgstr "" -#: src/readelf.c:7282 +#: src/readelf.c:7390 #, c-format msgid " [%<PRIx8>]" msgstr "" -#: src/readelf.c:7294 +#: src/readelf.c:7402 #, c-format msgid " %<PRIu8> arguments:" msgstr "" -#: src/readelf.c:7322 +#: src/readelf.c:7430 #, c-format msgid " no arguments." msgstr "" -#: src/readelf.c:7559 +#: src/readelf.c:7667 #, c-format msgid "vendor opcode not verified?" msgstr "" -#: src/readelf.c:7587 +#: src/readelf.c:7695 #, c-format msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n" msgstr "" -#: src/readelf.c:7628 +#: src/readelf.c:7736 #, c-format msgid "" "\n" @@ -5550,47 +5632,47 @@ msgid "" " %*s String\n" msgstr "" -#: src/readelf.c:7642 +#: src/readelf.c:7750 #, c-format msgid " *** error while reading strings: %s\n" msgstr "" -#: src/readelf.c:7662 +#: src/readelf.c:7770 #, c-format msgid "" "\n" "Call frame search table section [%2zu] '.eh_frame_hdr':\n" msgstr "" -#: src/readelf.c:7764 +#: src/readelf.c:7872 #, c-format msgid "" "\n" "Exception handling table section [%2zu] '.gcc_except_table':\n" msgstr "" -#: src/readelf.c:7787 +#: src/readelf.c:7895 #, c-format msgid " LPStart encoding: %#x " msgstr "" -#: src/readelf.c:7799 +#: src/readelf.c:7907 #, c-format msgid " TType encoding: %#x " msgstr "" -#: src/readelf.c:7814 +#: src/readelf.c:7922 #, c-format msgid " Call site encoding: %#x " msgstr "" -#: src/readelf.c:7827 +#: src/readelf.c:7935 msgid "" "\n" " Call site table:" msgstr "" -#: src/readelf.c:7841 +#: src/readelf.c:7949 #, c-format msgid "" " [%4u] Call site start: %#<PRIx64>\n" @@ -5599,193 +5681,209 @@ msgid "" " Action: %u\n" msgstr "" -#: src/readelf.c:7914 +#: src/readelf.c:8022 #, c-format msgid "invalid TType encoding" msgstr "" -#: src/readelf.c:7940 +#: src/readelf.c:8048 #, c-format msgid "" "\n" "GDB section [%2zu] '%s' at offset %#<PRIx64> contains %<PRId64> bytes :\n" msgstr "" -#: src/readelf.c:7969 +#: src/readelf.c:8077 #, fuzzy, c-format msgid " Version: %<PRId32>\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:7987 +#: src/readelf.c:8095 #, c-format msgid " CU offset: %#<PRIx32>\n" msgstr "" -#: src/readelf.c:7994 +#: src/readelf.c:8102 #, c-format msgid " TU offset: %#<PRIx32>\n" msgstr "" -#: src/readelf.c:8001 +#: src/readelf.c:8109 #, c-format msgid " address offset: %#<PRIx32>\n" msgstr "" -#: src/readelf.c:8008 +#: src/readelf.c:8116 #, c-format msgid " symbol offset: %#<PRIx32>\n" msgstr "" -#: src/readelf.c:8015 +#: src/readelf.c:8123 #, c-format msgid " constant offset: %#<PRIx32>\n" msgstr "" -#: src/readelf.c:8029 +#: src/readelf.c:8137 #, c-format msgid "" "\n" " CU list at offset %#<PRIx32> contains %zu entries:\n" msgstr "" -#: src/readelf.c:8054 +#: src/readelf.c:8162 #, c-format msgid "" "\n" " TU list at offset %#<PRIx32> contains %zu entries:\n" msgstr "" -#: src/readelf.c:8083 +#: src/readelf.c:8191 #, c-format msgid "" "\n" " Address list at offset %#<PRIx32> contains %zu entries:\n" msgstr "" -#: src/readelf.c:8116 +#: src/readelf.c:8224 #, c-format msgid "" "\n" " Symbol table at offset %#<PRIx32> contains %zu slots:\n" msgstr "" -#: src/readelf.c:8203 +#: src/readelf.c:8311 #, c-format msgid "cannot get debug context descriptor: %s" msgstr "" -#: src/readelf.c:8361 src/readelf.c:8983 src/readelf.c:9094 src/readelf.c:9152 +#: src/readelf.c:8467 src/readelf.c:9089 src/readelf.c:9200 src/readelf.c:9258 #, c-format msgid "cannot convert core note data: %s" msgstr "" -#: src/readelf.c:8724 +#: src/readelf.c:8830 #, c-format msgid "" "\n" "%*s... <repeats %u more times> ..." msgstr "" -#: src/readelf.c:9231 +#: src/readelf.c:9337 msgid " Owner Data size Type\n" msgstr "" -#: src/readelf.c:9249 +#: src/readelf.c:9355 #, c-format msgid " %-13.*s %9<PRId32> %s\n" msgstr "" -#: src/readelf.c:9299 +#: src/readelf.c:9405 #, c-format msgid "cannot get content of note section: %s" msgstr "" -#: src/readelf.c:9326 +#: src/readelf.c:9432 #, c-format msgid "" "\n" "Note section [%2zu] '%s' of %<PRIu64> bytes at offset %#0<PRIx64>:\n" msgstr "" -#: src/readelf.c:9349 +#: src/readelf.c:9455 #, c-format msgid "" "\n" "Note segment of %<PRIu64> bytes at offset %#0<PRIx64>:\n" msgstr "" -#: src/readelf.c:9395 +#: src/readelf.c:9501 #, fuzzy, c-format msgid "" "\n" "Section [%zu] '%s' has no data to dump.\n" msgstr "konnte Abschnittsdaten nicht holen: %s" -#: src/readelf.c:9401 src/readelf.c:9424 +#: src/readelf.c:9518 src/readelf.c:9559 #, fuzzy, c-format msgid "cannot get data for section [%zu] '%s': %s" msgstr "konnte Abschnittsdaten nicht holen: %s" -#: src/readelf.c:9405 +#: src/readelf.c:9523 #, c-format msgid "" "\n" "Hex dump of section [%zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n" msgstr "" -#: src/readelf.c:9418 +#: src/readelf.c:9528 +#, c-format +msgid "" +"\n" +"Hex dump of section [%zu] '%s', %<PRIu64> bytes (%zd uncompressed) at offset " +"%#0<PRIx64>:\n" +msgstr "" + +#: src/readelf.c:9542 #, fuzzy, c-format msgid "" "\n" "Section [%zu] '%s' has no strings to dump.\n" msgstr "konnte Abschnittsdaten nicht holen: %s" -#: src/readelf.c:9428 +#: src/readelf.c:9564 #, c-format msgid "" "\n" "String section [%zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n" msgstr "" -#: src/readelf.c:9476 +#: src/readelf.c:9569 +#, c-format +msgid "" +"\n" +"String section [%zu] '%s' contains %<PRIu64> bytes (%zd uncompressed) at " +"offset %#0<PRIx64>:\n" +msgstr "" + +#: src/readelf.c:9618 #, c-format msgid "" "\n" "section [%lu] does not exist" msgstr "" -#: src/readelf.c:9505 +#: src/readelf.c:9647 #, c-format msgid "" "\n" "section '%s' does not exist" msgstr "" -#: src/readelf.c:9562 +#: src/readelf.c:9704 #, c-format msgid "cannot get symbol index of archive '%s': %s" msgstr "" -#: src/readelf.c:9565 +#: src/readelf.c:9707 #, c-format msgid "" "\n" "Archive '%s' has no symbol index\n" msgstr "" -#: src/readelf.c:9569 +#: src/readelf.c:9711 #, c-format msgid "" "\n" "Index of archive '%s' has %zu entries:\n" msgstr "" -#: src/readelf.c:9587 +#: src/readelf.c:9729 #, fuzzy, c-format msgid "cannot extract member at offset %zu in '%s': %s" msgstr "konnte Programm-Kopf nicht erstellen: %s" -#: src/readelf.c:9592 +#: src/readelf.c:9734 #, c-format msgid "Archive member '%s' contains:\n" msgstr "" @@ -6300,12 +6398,12 @@ msgstr "" msgid "cannot copy ELF header: %s" msgstr "" -#: src/unstrip.c:261 src/unstrip.c:1903 src/unstrip.c:1947 +#: src/unstrip.c:261 src/unstrip.c:1939 src/unstrip.c:1982 #, fuzzy, c-format msgid "cannot get number of program headers: %s" msgstr "konnte Programm-Kopf nicht erstellen: %s" -#: src/unstrip.c:266 src/unstrip.c:1907 +#: src/unstrip.c:266 src/unstrip.c:1943 #, c-format msgid "cannot create program headers: %s" msgstr "konnte Programm-Kopf nicht erstellen: %s" @@ -6320,12 +6418,12 @@ msgstr "konnte Programm-Kopf nicht kopieren: %s" msgid "cannot copy section header: %s" msgstr "" -#: src/unstrip.c:285 src/unstrip.c:1541 +#: src/unstrip.c:285 src/unstrip.c:1576 #, c-format msgid "cannot get section data: %s" msgstr "konnte Abschnittsdaten nicht holen: %s" -#: src/unstrip.c:287 src/unstrip.c:1543 +#: src/unstrip.c:287 src/unstrip.c:1578 #, c-format msgid "cannot copy section data: %s" msgstr "konnte Abschnittsdaten nicht kopieren: %s" @@ -6335,214 +6433,214 @@ msgstr "konnte Abschnittsdaten nicht kopieren: %s" msgid "cannot create directory '%s'" msgstr "konnte Verzeichnis nicht erstellen: %s" -#: src/unstrip.c:351 src/unstrip.c:768 src/unstrip.c:1575 +#: src/unstrip.c:383 src/unstrip.c:803 src/unstrip.c:1610 #, c-format msgid "cannot get symbol table entry: %s" msgstr "konnte Eintrag aus der Symboltabelle nicht holen: %s" -#: src/unstrip.c:367 src/unstrip.c:585 src/unstrip.c:606 src/unstrip.c:618 -#: src/unstrip.c:1596 src/unstrip.c:1769 src/unstrip.c:1793 +#: src/unstrip.c:399 src/unstrip.c:620 src/unstrip.c:641 src/unstrip.c:653 +#: src/unstrip.c:1631 src/unstrip.c:1805 src/unstrip.c:1829 #, c-format msgid "cannot update symbol table: %s" msgstr "konnte Symboltabelle nicht aktualisieren: %s" -#: src/unstrip.c:377 +#: src/unstrip.c:409 #, c-format msgid "cannot update section header: %s" msgstr "" -#: src/unstrip.c:416 src/unstrip.c:427 +#: src/unstrip.c:448 src/unstrip.c:459 #, c-format msgid "cannot update relocation: %s" msgstr "" -#: src/unstrip.c:514 +#: src/unstrip.c:547 #, c-format msgid "cannot get symbol version: %s" msgstr "" -#: src/unstrip.c:526 +#: src/unstrip.c:560 #, c-format msgid "unexpected section type in [%zu] with sh_link to symtab" msgstr "" -#: src/unstrip.c:774 +#: src/unstrip.c:809 #, fuzzy, c-format msgid "invalid string offset in symbol [%zu]" msgstr "ungültiger Offset %zu für Symbol %s" -#: src/unstrip.c:932 src/unstrip.c:1278 +#: src/unstrip.c:967 src/unstrip.c:1313 #, fuzzy, c-format msgid "cannot read section [%zu] name: %s" msgstr "konnte Abschnittsdaten nicht holen: %s" -#: src/unstrip.c:973 src/unstrip.c:992 src/unstrip.c:1027 +#: src/unstrip.c:1008 src/unstrip.c:1027 src/unstrip.c:1062 #, c-format msgid "cannot read '.gnu.prelink_undo' section: %s" msgstr "" -#: src/unstrip.c:1013 +#: src/unstrip.c:1048 #, c-format msgid "invalid contents in '%s' section" msgstr "" -#: src/unstrip.c:1019 +#: src/unstrip.c:1054 #, c-format msgid "overflow with shnum = %zu in '%s' section" msgstr "" -#: src/unstrip.c:1073 src/unstrip.c:1398 +#: src/unstrip.c:1108 src/unstrip.c:1433 #, fuzzy, c-format msgid "cannot find matching section for [%zu] '%s'" msgstr "konnte Abschnittsdaten nicht holen: %s" -#: src/unstrip.c:1198 src/unstrip.c:1213 src/unstrip.c:1479 src/unstrip.c:1731 +#: src/unstrip.c:1233 src/unstrip.c:1248 src/unstrip.c:1514 src/unstrip.c:1766 #, c-format msgid "cannot add section name to string table: %s" msgstr "" -#: src/unstrip.c:1222 +#: src/unstrip.c:1257 #, c-format msgid "cannot update section header string table data: %s" msgstr "" -#: src/unstrip.c:1249 src/unstrip.c:1253 +#: src/unstrip.c:1284 src/unstrip.c:1288 #, c-format msgid "cannot get section header string table section index: %s" msgstr "" -#: src/unstrip.c:1257 src/unstrip.c:1261 src/unstrip.c:1494 +#: src/unstrip.c:1292 src/unstrip.c:1296 src/unstrip.c:1529 #, c-format msgid "cannot get section count: %s" msgstr "" -#: src/unstrip.c:1264 +#: src/unstrip.c:1299 #, c-format msgid "more sections in stripped file than debug file -- arguments reversed?" msgstr "" -#: src/unstrip.c:1323 src/unstrip.c:1413 +#: src/unstrip.c:1358 src/unstrip.c:1448 #, c-format msgid "cannot read section header string table: %s" msgstr "" -#: src/unstrip.c:1473 +#: src/unstrip.c:1508 #, c-format msgid "cannot add new section: %s" msgstr "" -#: src/unstrip.c:1583 +#: src/unstrip.c:1618 #, fuzzy, c-format msgid "symbol [%zu] has invalid section index" msgstr "ungültiger Abschnittsindex" -#: src/unstrip.c:1864 +#: src/unstrip.c:1900 #, fuzzy, c-format msgid "cannot read section data: %s" msgstr "konnte Abschnittsdaten nicht holen: %s" -#: src/unstrip.c:1885 +#: src/unstrip.c:1921 #, c-format msgid "cannot get ELF header: %s" msgstr "" -#: src/unstrip.c:1917 +#: src/unstrip.c:1953 #, c-format msgid "cannot update program header: %s" msgstr "konnte Programm-Kopf nicht aktualisieren: %s" -#: src/unstrip.c:1922 src/unstrip.c:2005 +#: src/unstrip.c:1958 src/unstrip.c:2040 #, c-format msgid "cannot write output file: %s" msgstr "" -#: src/unstrip.c:1974 +#: src/unstrip.c:2009 #, c-format msgid "DWARF data not adjusted for prelinking bias; consider prelink -u" msgstr "" -#: src/unstrip.c:1977 +#: src/unstrip.c:2012 #, c-format msgid "" "DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u" msgstr "" -#: src/unstrip.c:1996 src/unstrip.c:2047 src/unstrip.c:2059 src/unstrip.c:2145 +#: src/unstrip.c:2031 src/unstrip.c:2082 src/unstrip.c:2094 src/unstrip.c:2180 #, c-format msgid "cannot create ELF descriptor: %s" msgstr "" -#: src/unstrip.c:2038 +#: src/unstrip.c:2073 msgid "WARNING: " msgstr "" -#: src/unstrip.c:2040 +#: src/unstrip.c:2075 msgid ", use --force" msgstr "" -#: src/unstrip.c:2063 +#: src/unstrip.c:2098 msgid "ELF header identification (e_ident) different" msgstr "" -#: src/unstrip.c:2066 +#: src/unstrip.c:2101 msgid "ELF header type (e_type) different" msgstr "" -#: src/unstrip.c:2069 +#: src/unstrip.c:2104 msgid "ELF header machine type (e_machine) different" msgstr "" -#: src/unstrip.c:2072 +#: src/unstrip.c:2107 msgid "stripped program header (e_phnum) smaller than unstripped" msgstr "" -#: src/unstrip.c:2102 +#: src/unstrip.c:2137 #, c-format msgid "cannot find stripped file for module '%s': %s" msgstr "" -#: src/unstrip.c:2106 +#: src/unstrip.c:2141 #, c-format msgid "cannot open stripped file '%s' for module '%s': %s" msgstr "" -#: src/unstrip.c:2121 +#: src/unstrip.c:2156 #, c-format msgid "cannot find debug file for module '%s': %s" msgstr "" -#: src/unstrip.c:2125 +#: src/unstrip.c:2160 #, c-format msgid "cannot open debug file '%s' for module '%s': %s" msgstr "" -#: src/unstrip.c:2138 +#: src/unstrip.c:2173 #, c-format msgid "module '%s' file '%s' is not stripped" msgstr "" -#: src/unstrip.c:2169 +#: src/unstrip.c:2204 #, c-format msgid "cannot cache section addresses for module '%s': %s" msgstr "" -#: src/unstrip.c:2302 +#: src/unstrip.c:2337 #, c-format msgid "no matching modules found" msgstr "kein passendes Modul gefunden" -#: src/unstrip.c:2311 +#: src/unstrip.c:2346 #, c-format msgid "matched more than one module" msgstr "mehr als ein passendes Modul" -#: src/unstrip.c:2355 +#: src/unstrip.c:2390 msgid "" "STRIPPED-FILE DEBUG-FILE\n" "[MODULE...]" msgstr "" -#: src/unstrip.c:2356 +#: src/unstrip.c:2391 msgid "" "Combine stripped files with separate symbols and debug information.\vThe " "first form puts the result in DEBUG-FILE if -o was not given.\n" @@ -10,7 +10,7 @@ msgid "" msgstr "" "Project-Id-Version: elfutils.master.es\n" "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" -"POT-Creation-Date: 2015-10-16 13:26+0200\n" +"POT-Creation-Date: 2016-01-11 08:48+0100\n" "PO-Revision-Date: 2011-01-10 15:17-0300\n" "Last-Translator: Claudio Rodrigo Pereyra Diaz <claudiorodrigo@pereyradiaz." "com.ar>\n" @@ -44,8 +44,8 @@ msgstr "" msgid "cannot allocate memory" msgstr "No se puede asignar sección PLT: %s" -#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3184 -#: src/readelf.c:3561 src/readelf.c:8310 src/unstrip.c:2198 src/unstrip.c:2403 +#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3282 +#: src/readelf.c:3669 src/readelf.c:8416 src/unstrip.c:2233 src/unstrip.c:2438 #, c-format msgid "memory exhausted" msgstr "memoria agotada" @@ -248,7 +248,7 @@ msgstr "operando inválido" msgid "not a CU (unit) DIE" msgstr "" -#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2345 +#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2380 msgid "Input selection options:" msgstr "Opciones de selección de entrada:" @@ -305,7 +305,12 @@ msgstr "imposible encontrar kernel o módulos" msgid "cannot read ELF core file: %s" msgstr "No se puede leer archivo core ELF: %s" -#: libdwfl/argp-std.c:311 +#: libdwfl/argp-std.c:313 +#, fuzzy +msgid "Not enough memory" +msgstr "memoria agotada" + +#: libdwfl/argp-std.c:323 msgid "No modules recognized in core file" msgstr "No hay módulos reconocidos en el archivo core" @@ -482,57 +487,57 @@ msgstr "<desconocido>" msgid "<unknown>: %#<PRIx64>" msgstr "<desconocido>: %#<PRIx64>" -#: libebl/eblobjnote.c:52 +#: libebl/eblobjnote.c:53 #, fuzzy, c-format msgid "unknown SDT version %u\n" msgstr "versión desconocida" -#: libebl/eblobjnote.c:70 +#: libebl/eblobjnote.c:71 #, fuzzy, c-format msgid "invalid SDT probe descriptor\n" msgstr "descriptor de archivo inválido" -#: libebl/eblobjnote.c:120 +#: libebl/eblobjnote.c:121 #, c-format msgid " PC: " msgstr "" -#: libebl/eblobjnote.c:122 +#: libebl/eblobjnote.c:123 #, c-format msgid " Base: " msgstr "" -#: libebl/eblobjnote.c:124 +#: libebl/eblobjnote.c:125 #, c-format msgid " Semaphore: " msgstr "" -#: libebl/eblobjnote.c:126 +#: libebl/eblobjnote.c:127 #, c-format msgid " Provider: " msgstr "" -#: libebl/eblobjnote.c:128 +#: libebl/eblobjnote.c:129 #, c-format msgid " Name: " msgstr "" -#: libebl/eblobjnote.c:130 +#: libebl/eblobjnote.c:131 #, c-format msgid " Args: " msgstr "" -#: libebl/eblobjnote.c:140 +#: libebl/eblobjnote.c:141 #, c-format msgid " Build ID: " msgstr " Build ID: " -#: libebl/eblobjnote.c:151 +#: libebl/eblobjnote.c:152 #, c-format msgid " Linker version: %.*s\n" msgstr " Versión del Enlazador: %.*s\n" -#: libebl/eblobjnote.c:212 +#: libebl/eblobjnote.c:213 #, c-format msgid " OS: %s, ABI: " msgstr " OS: %s, ABI: " @@ -566,7 +571,7 @@ msgstr "tamaño inválido del operando fuente" msgid "invalid size of destination operand" msgstr "tamaño inválido del operando destino" -#: libelf/elf_error.c:87 src/readelf.c:5365 +#: libelf/elf_error.c:87 src/readelf.c:5473 #, c-format msgid "invalid encoding" msgstr "codificación inválida" @@ -647,8 +652,8 @@ msgstr "no coinciden los datos/scn" msgid "invalid section header" msgstr "encabezamiento de sección inválida" -#: libelf/elf_error.c:187 src/readelf.c:7234 src/readelf.c:7682 -#: src/readelf.c:7783 src/readelf.c:7964 +#: libelf/elf_error.c:187 src/readelf.c:7342 src/readelf.c:7790 +#: src/readelf.c:7891 src/readelf.c:8072 #, c-format msgid "invalid data" msgstr "datos inválidos" @@ -692,6 +697,40 @@ msgstr "" msgid "file has no program header" msgstr "el archivo no tiene encabezamiento de programa" +#: libelf/elf_error.c:237 +#, fuzzy +msgid "invalid section type" +msgstr "sección inválida" + +#: libelf/elf_error.c:242 +#, fuzzy +msgid "invalid section flags" +msgstr "sección inválida" + +#: libelf/elf_error.c:247 +#, fuzzy +msgid "section does not contain compressed data" +msgstr "sección [%2zu] '%s' no debe ser ejecutable\n" + +#: libelf/elf_error.c:252 +msgid "section contains compressed data" +msgstr "" + +#: libelf/elf_error.c:257 +#, fuzzy +msgid "unknown compression type" +msgstr "tipo desconocido" + +#: libelf/elf_error.c:262 +#, fuzzy +msgid "cannot compress data" +msgstr "no pueden copiar datos de sección: %s" + +#: libelf/elf_error.c:267 +#, fuzzy +msgid "cannot decompress data" +msgstr "no pueden copiar datos de sección: %s" + #: src/addr2line.c:58 #, fuzzy msgid "Input format options:" @@ -751,7 +790,7 @@ msgstr "" msgid "Print all information on one line, and indent inlines" msgstr "" -#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:99 +#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:100 #: src/strings.c:79 msgid "Miscellaneous:" msgstr "Misceláneos:" @@ -767,9 +806,9 @@ msgstr "" msgid "[ADDR...]" msgstr "[DIREC...]" -#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:670 src/elflint.c:235 -#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:261 src/objdump.c:177 -#: src/ranlib.c:124 src/readelf.c:500 src/size.c:207 src/strings.c:230 +#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:672 src/elflint.c:235 +#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:262 src/objdump.c:177 +#: src/ranlib.c:124 src/readelf.c:509 src/size.c:207 src/strings.c:230 #: src/strip.c:218 src/unstrip.c:232 #, c-format msgid "" @@ -783,9 +822,9 @@ msgstr "" "garantÃa, ni siquiera para SU COMERCIALIZACIÓN o PARA SER USADO CON UN FIN " "DETERMINADO.\n" -#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:675 src/elflint.c:240 -#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:266 src/objdump.c:182 -#: src/ranlib.c:129 src/readelf.c:505 src/size.c:212 src/strings.c:235 +#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:677 src/elflint.c:240 +#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:267 src/objdump.c:182 +#: src/ranlib.c:129 src/readelf.c:514 src/size.c:212 src/strings.c:235 #: src/strip.c:223 src/unstrip.c:237 #, c-format msgid "Written by %s.\n" @@ -1259,40 +1298,40 @@ msgstr "%s %s differ: encabezamiento de programa %d" msgid "%s %s differ: gap" msgstr "%s %s differ: brecha" -#: src/elfcmp.c:702 +#: src/elfcmp.c:704 #, c-format msgid "Invalid value '%s' for --gaps parameter." msgstr "Valor inválido '%s' para parámetro --gaps" -#: src/elfcmp.c:730 src/findtextrel.c:221 src/ldgeneric.c:1757 -#: src/ldgeneric.c:4247 src/nm.c:377 src/ranlib.c:157 src/size.c:289 -#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:1994 -#: src/unstrip.c:2023 +#: src/elfcmp.c:732 src/findtextrel.c:221 src/ldgeneric.c:1757 +#: src/ldgeneric.c:4247 src/nm.c:378 src/ranlib.c:157 src/size.c:289 +#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:2029 +#: src/unstrip.c:2058 #, c-format msgid "cannot open '%s'" msgstr "Imposible abrir '%s'" -#: src/elfcmp.c:734 src/findtextrel.c:228 src/ranlib.c:174 +#: src/elfcmp.c:736 src/findtextrel.c:228 src/ranlib.c:174 #, c-format msgid "cannot create ELF descriptor for '%s': %s" msgstr "No puede crear descriptor ELF para '%s': %s" -#: src/elfcmp.c:739 +#: src/elfcmp.c:741 #, c-format msgid "cannot create EBL descriptor for '%s'" msgstr "no se puede crear el descriptor EBL para '%s'" -#: src/elfcmp.c:757 src/findtextrel.c:409 +#: src/elfcmp.c:759 src/findtextrel.c:409 #, c-format msgid "cannot get section header of section %zu: %s" msgstr "No se puede obtener el encabezamiento de sección %zu: %s" -#: src/elfcmp.c:767 +#: src/elfcmp.c:769 #, c-format msgid "cannot get content of section %zu: %s" msgstr "No se puede obtener contenido de sección %zu: %s" -#: src/elfcmp.c:777 src/elfcmp.c:791 +#: src/elfcmp.c:779 src/elfcmp.c:793 #, c-format msgid "cannot get relocation: %s" msgstr "No se puede obtener reubicación: %s" @@ -1321,11 +1360,11 @@ msgstr "" msgid "Pedantic checking of ELF files compliance with gABI/psABI spec." msgstr "Chequeo minucioso de ficheros ELF de acuerdo con gABI/psABI " -#: src/elflint.c:78 src/readelf.c:123 +#: src/elflint.c:78 src/readelf.c:126 msgid "FILE..." msgstr "FICHERO..." -#: src/elflint.c:155 src/readelf.c:292 +#: src/elflint.c:155 src/readelf.c:298 #, c-format msgid "cannot open input file" msgstr "no se puede abrir el fichero de entrada" @@ -1344,7 +1383,7 @@ msgstr "error al cerrar el descriptor ELF: %s\n" msgid "No errors" msgstr "No hay errores" -#: src/elflint.c:219 src/readelf.c:468 +#: src/elflint.c:219 src/readelf.c:474 msgid "Missing file name.\n" msgstr "Falta el nombre de archivo.\n" @@ -1494,14 +1533,14 @@ msgstr "" "sección [%2d] '%s': el grupo de sección [%2zu] '%s' no precede al miembro de " "grupo\n" -#: src/elflint.c:591 src/elflint.c:1471 src/elflint.c:1522 src/elflint.c:1628 -#: src/elflint.c:1964 src/elflint.c:2280 src/elflint.c:2893 src/elflint.c:3056 -#: src/elflint.c:3204 src/elflint.c:3394 src/elflint.c:4336 +#: src/elflint.c:591 src/elflint.c:1475 src/elflint.c:1526 src/elflint.c:1632 +#: src/elflint.c:1968 src/elflint.c:2284 src/elflint.c:2898 src/elflint.c:3061 +#: src/elflint.c:3209 src/elflint.c:3399 src/elflint.c:4366 #, c-format msgid "section [%2d] '%s': cannot get section data\n" msgstr "Sección [%2d] '%s': No se pueden obtener datos de sección\n" -#: src/elflint.c:604 src/elflint.c:1635 +#: src/elflint.c:604 src/elflint.c:1639 #, c-format msgid "" "section [%2d] '%s': referenced as string table for section [%2d] '%s' but " @@ -1610,12 +1649,12 @@ msgid "" msgstr "" "Sección [%2d] '%s': sÃmbolo %zu: función en sección COMMON no tiene sentido\n" -#: src/elflint.c:805 +#: src/elflint.c:809 #, c-format msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n" msgstr "sección [%2d] '%s': sÃmbolo %zu: st_value fuera de lÃmites\n" -#: src/elflint.c:811 src/elflint.c:836 src/elflint.c:885 +#: src/elflint.c:815 src/elflint.c:840 src/elflint.c:889 #, c-format msgid "" "section [%2d] '%s': symbol %zu does not fit completely in referenced section " @@ -1624,7 +1663,7 @@ msgstr "" "Sección [%2d] '%s': sÃmbolo %zu no se ajusta totalmente en la sección [%2d] " "'%s'\n" -#: src/elflint.c:820 +#: src/elflint.c:824 #, c-format msgid "" "section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have " @@ -1633,7 +1672,7 @@ msgstr "" "Sección [%2d] '%s': sÃmbolo %zu: sección de referencia [%2d] '%s' no tiene " "establecida bandera SHF_TLS\n" -#: src/elflint.c:830 src/elflint.c:878 +#: src/elflint.c:834 src/elflint.c:882 #, c-format msgid "" "section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section " @@ -1642,7 +1681,7 @@ msgstr "" "Sección [%2d] '%s': sÃmbolo %zu: st_value fuera de lÃmites de sección de " "referencia [%2d] '%s'\n" -#: src/elflint.c:857 +#: src/elflint.c:861 #, c-format msgid "" "section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n" @@ -1650,7 +1689,7 @@ msgstr "" "Sección [%2d] '%s': sÃmbolo %zu: sÃmbolo TLS, pero no hay entrada de " "programa TLS\n" -#: src/elflint.c:863 +#: src/elflint.c:867 #, fuzzy, c-format msgid "" "section [%2d] '%s': symbol %zu: TLS symbol but couldn't get TLS program " @@ -1659,7 +1698,7 @@ msgstr "" "Sección [%2d] '%s': sÃmbolo %zu: sÃmbolo TLS, pero no hay entrada de " "programa TLS\n" -#: src/elflint.c:871 +#: src/elflint.c:875 #, c-format msgid "" "section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] " @@ -1668,7 +1707,7 @@ msgstr "" "Sección [%2d] '%s': sÃmbolo %zu: st_value falta sección de referencia [%2d] " "'%s'\n" -#: src/elflint.c:898 +#: src/elflint.c:902 #, c-format msgid "" "section [%2d] '%s': symbol %zu: local symbol outside range described in " @@ -1677,7 +1716,7 @@ msgstr "" "Sección [%2d] '%s': sÃmbolo %zu: sÃmbolo local fuera del rango descrito en " "sh_info\n" -#: src/elflint.c:905 +#: src/elflint.c:909 #, c-format msgid "" "section [%2d] '%s': symbol %zu: non-local symbol outside range described in " @@ -1686,12 +1725,12 @@ msgstr "" "Sección [%2d] '%s': sÃmbolo %zu: sÃmbolo non-local fuera del rango descrito " "en sh_info\n" -#: src/elflint.c:912 +#: src/elflint.c:916 #, c-format msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n" msgstr "Sección [%2d] '%s': sÃmbolo %zu: sÃmbolo de sección non-local\n" -#: src/elflint.c:962 +#: src/elflint.c:966 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section " @@ -1700,7 +1739,7 @@ msgstr "" "Sección [%2d] '%s': sÃmbolo _GLOBAL_OFFSET_TABLE_ se refiere a sección " "errada [%2d]\n" -#: src/elflint.c:969 +#: src/elflint.c:973 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] " @@ -1709,7 +1748,7 @@ msgstr "" "Sección [%2d] '%s': sÃmbolo _GLOBAL_OFFSET_TABLE_ se refiere a sección [%2d] " "'%s'\n" -#: src/elflint.c:985 +#: src/elflint.c:989 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not " @@ -1718,7 +1757,7 @@ msgstr "" "Sección [%2d] '%s': valor del sÃmbolo _GLOBAL_OFFSET_TABLE_ %#<PRIx64> no " "coincide con dirección de sección %s %#<PRIx64>\n" -#: src/elflint.c:992 +#: src/elflint.c:996 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not " @@ -1727,7 +1766,7 @@ msgstr "" "Sección [%2d] '%s': tamaño de sÃmbolo _GLOBAL_OFFSET_TABLE_ %<PRIu64> no " "coincide con tamaño de sección %s %<PRIu64>\n" -#: src/elflint.c:1000 +#: src/elflint.c:1004 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got " @@ -1736,7 +1775,7 @@ msgstr "" "Sección [%2d] '%s': sÃmbolo _GLOBAL_OFFSET_TABLE_ presente, pero no. sección " "got\n" -#: src/elflint.c:1016 +#: src/elflint.c:1020 #, c-format msgid "" "section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic " @@ -1745,7 +1784,7 @@ msgstr "" "sección [%2d] '%s': Valor de sÃmbolo _DYNAMIC_ %#<PRIx64> no coincide con la " "dirección de segmento%#<PRIx64>\n" -#: src/elflint.c:1023 +#: src/elflint.c:1027 #, c-format msgid "" "section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic " @@ -1754,7 +1793,7 @@ msgstr "" "Sección [%2d] '%s': tamaño de sÃmbolo _DYNAMIC %<PRIu64> no coincide con " "tamaño de segmento %<PRIu64>\n" -#: src/elflint.c:1036 +#: src/elflint.c:1040 #, c-format msgid "" "section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-" @@ -1763,29 +1802,29 @@ msgstr "" "Sección [%2d] '%s': sÃmbolo %zu: sÃmbolo en tabla de sÃmbolos dinámicos sin " "visibilidad predeterminada\n" -#: src/elflint.c:1040 +#: src/elflint.c:1044 #, c-format msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n" msgstr "" "Sección [%2d] '%s': sÃmbolo %zu: bit desconocido establecido en st_other\n" -#: src/elflint.c:1078 +#: src/elflint.c:1082 #, fuzzy, c-format msgid "section [%2d] '%s': cannot get section data.\n" msgstr "Sección [%2d] '%s': No se pueden obtener datos de sección\n" -#: src/elflint.c:1094 +#: src/elflint.c:1098 #, c-format msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n" msgstr "Sección [%2d] '%s': DT_RELCOUNT utilizada para esta sección RELA\n" -#: src/elflint.c:1105 src/elflint.c:1158 +#: src/elflint.c:1109 src/elflint.c:1162 #, c-format msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n" msgstr "" "Sección [%2d] '%s': valor DT_RELCOUNT %d demasiado alto para esta sección\n" -#: src/elflint.c:1130 src/elflint.c:1183 +#: src/elflint.c:1134 src/elflint.c:1187 #, c-format msgid "" "section [%2d] '%s': relative relocations after index %d as specified by " @@ -1794,7 +1833,7 @@ msgstr "" "Sección [%2d] '%s': reubicaciones relativas después de que el %d de Ãndice " "haya sido especificado por DT_RELCOUNT\n" -#: src/elflint.c:1136 src/elflint.c:1189 +#: src/elflint.c:1140 src/elflint.c:1193 #, c-format msgid "" "section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT " @@ -1803,50 +1842,50 @@ msgstr "" "Sección [%2d] '%s': reubicación no-relativa en %zu de Ãndice; DT_RELCOUNT " "especificado %d reubicaciones relativas\n" -#: src/elflint.c:1148 +#: src/elflint.c:1152 #, c-format msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n" msgstr "sección [%2d] '%s': DT_RELACOUNT utilizado para esta sección REL\n" -#: src/elflint.c:1231 +#: src/elflint.c:1235 #, c-format msgid "section [%2d] '%s': invalid destination section index\n" msgstr "Sección [%2d] '%s': Ãndice de sección de destino inválido\n" -#: src/elflint.c:1243 +#: src/elflint.c:1247 #, c-format msgid "section [%2d] '%s': invalid destination section type\n" msgstr "Sección [%2d] '%s': tipo de sección de destino inválido\n" -#: src/elflint.c:1251 +#: src/elflint.c:1255 #, c-format msgid "section [%2d] '%s': sh_info should be zero\n" msgstr "Sección [%2d] '%s': sh_info debe ser cero\n" -#: src/elflint.c:1259 +#: src/elflint.c:1263 #, fuzzy, c-format msgid "" "section [%2d] '%s': no relocations for merge-able string sections possible\n" msgstr "" "Sección [%2d] '%s': no reubicaciones para secciones de fusión posibles\n" -#: src/elflint.c:1267 +#: src/elflint.c:1271 #, c-format msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n" msgstr "" "Sección [%2d] '%s': tamaño de entrada de sección no coincide con ElfXX_Rela\n" -#: src/elflint.c:1327 +#: src/elflint.c:1331 #, c-format msgid "text relocation flag set but there is no read-only segment\n" msgstr "Reubicación de bandera pero no hay segmento de sólo lectura\n" -#: src/elflint.c:1354 +#: src/elflint.c:1358 #, c-format msgid "section [%2d] '%s': relocation %zu: invalid type\n" msgstr "Sección [%2d] '%s': reubicación %zu: tipo inválido\n" -#: src/elflint.c:1362 +#: src/elflint.c:1366 #, c-format msgid "" "section [%2d] '%s': relocation %zu: relocation type invalid for the file " @@ -1855,12 +1894,12 @@ msgstr "" "Sección [%2d] '%s': reubicación %zu: tipo de reubicación inválido para el " "tipo de archivo\n" -#: src/elflint.c:1370 +#: src/elflint.c:1374 #, c-format msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n" msgstr "Sección [%2d] '%s': reubicación %zu: Ãndice de sÃmbolo inválido\n" -#: src/elflint.c:1388 +#: src/elflint.c:1392 #, c-format msgid "" "section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can " @@ -1869,12 +1908,12 @@ msgstr "" "Sección [%2d] '%s': reubicación %zu: sólo el sÃmbolo '_GLOBAL_OFFSET_TABLE_' " "puede utilizarse con %s\n" -#: src/elflint.c:1405 +#: src/elflint.c:1409 #, c-format msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n" msgstr "Sección [%2d] '%s': reubicación %zu: compensación fuera de lÃmites\n" -#: src/elflint.c:1420 +#: src/elflint.c:1424 #, c-format msgid "" "section [%2d] '%s': relocation %zu: copy relocation against symbol of type " @@ -1883,7 +1922,7 @@ msgstr "" "Sección [%2d] '%s': reubicación %zu: reubicación de copia con sÃmbolo de " "tipo %s\n" -#: src/elflint.c:1441 +#: src/elflint.c:1445 #, c-format msgid "" "section [%2d] '%s': relocation %zu: read-only section modified but text " @@ -1892,24 +1931,24 @@ msgstr "" "Sección [%2d] '%s': reubicación %zu: sección de sólo-lectura modificada, " "pero no se estableció bandera de reubicación\n" -#: src/elflint.c:1456 +#: src/elflint.c:1460 #, c-format msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n" msgstr "" "Sección [%2d] '%s': las reubicaciones se hacen con datos cargados y " "descargados\n" -#: src/elflint.c:1496 src/elflint.c:1547 +#: src/elflint.c:1500 src/elflint.c:1551 #, c-format msgid "section [%2d] '%s': cannot get relocation %zu: %s\n" msgstr "Sección [%2d] '%s': no puede obtener reubicación %zu: %s\n" -#: src/elflint.c:1623 +#: src/elflint.c:1627 #, c-format msgid "more than one dynamic section present\n" msgstr "más de una sección dinámica presente\n" -#: src/elflint.c:1641 +#: src/elflint.c:1645 #, fuzzy, c-format msgid "" "section [%2d]: referenced as string table for section [%2d] '%s' but section " @@ -1918,44 +1957,44 @@ msgstr "" "sección [%2d] '%s': nombrado como una tabla de cadena para la sección [%2d] " "'%s' pero el tipo no es SHT_STRTAB\n" -#: src/elflint.c:1649 +#: src/elflint.c:1653 #, c-format msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n" msgstr "" "Sección [%2d] '%s': tamaño de entrada de sección no coincide con ElfXX_Dyn\n" -#: src/elflint.c:1654 src/elflint.c:1943 +#: src/elflint.c:1658 src/elflint.c:1947 #, c-format msgid "section [%2d] '%s': sh_info not zero\n" msgstr "Sección [%2d] '%s': sh_info no es cero\n" -#: src/elflint.c:1664 +#: src/elflint.c:1668 #, c-format msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n" msgstr "" "Sección [%2d] '%s': no puede obtener entrada de sección dinámica %zu: %s\n" -#: src/elflint.c:1672 +#: src/elflint.c:1676 #, c-format msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n" msgstr "Sección [%2d] '%s': entradas non-DT_NULL siguen a la entrada DT_NULL\n" -#: src/elflint.c:1679 +#: src/elflint.c:1683 #, c-format msgid "section [%2d] '%s': entry %zu: unknown tag\n" msgstr "Sección [%2d] '%s': entrada %zu: etiqueta desconocida\n" -#: src/elflint.c:1690 +#: src/elflint.c:1694 #, c-format msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n" msgstr "Sección [%2d] '%s': entrada %zu: más de una entrada con etiqueta %s\n" -#: src/elflint.c:1700 +#: src/elflint.c:1704 #, c-format msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n" msgstr "Sección [%2d] '%s': entrada %zu: nivel 2 etiqueta %s utilizada\n" -#: src/elflint.c:1718 +#: src/elflint.c:1722 #, c-format msgid "" "section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n" @@ -1963,7 +2002,7 @@ msgstr "" "Sección [%2d] '%s': entrada %zu: el valor DT_PLTREL debe ser DT_REL or " "DT_RELA\n" -#: src/elflint.c:1731 +#: src/elflint.c:1735 #, c-format msgid "" "section [%2d] '%s': entry %zu: pointer does not match address of section " @@ -1972,14 +2011,14 @@ msgstr "" "Sección [%2d] '%s': entrada %zu: puntero no coincide con dirección de " "sección [%2d] '%s' al que hace referencia sh_link\n" -#: src/elflint.c:1774 +#: src/elflint.c:1778 #, c-format msgid "" "section [%2d] '%s': entry %zu: %s value must point into loaded segment\n" msgstr "" "Sección [%2d] '%s': entrada %zu: valor %s debe apuntar en segmento cargado\n" -#: src/elflint.c:1789 +#: src/elflint.c:1793 #, c-format msgid "" "section [%2d] '%s': entry %zu: %s value must be valid offset in section " @@ -1988,46 +2027,46 @@ msgstr "" "sección [%2d] '%s': entrada %zu: valor %s debe ser compensación válida en " "sección [%2d] '%s'\n" -#: src/elflint.c:1809 src/elflint.c:1837 +#: src/elflint.c:1813 src/elflint.c:1841 #, c-format msgid "section [%2d] '%s': contains %s entry but not %s\n" msgstr "Sección [%2d] '%s': contiene entrada %s pero no %s\n" -#: src/elflint.c:1821 +#: src/elflint.c:1825 #, c-format msgid "section [%2d] '%s': mandatory tag %s not present\n" msgstr "Sección [%2d] '%s': etiqueta obligatoria %s no está presente\n" -#: src/elflint.c:1830 +#: src/elflint.c:1834 #, c-format msgid "section [%2d] '%s': no hash section present\n" msgstr "Sección [%2d] '%s': no hay sección de dispersión presente\n" -#: src/elflint.c:1845 src/elflint.c:1852 +#: src/elflint.c:1849 src/elflint.c:1856 #, c-format msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n" msgstr "Sección [%2d] '%s': no todas las %s, %s, y %s están presentes\n" -#: src/elflint.c:1862 src/elflint.c:1866 +#: src/elflint.c:1866 src/elflint.c:1870 #, c-format msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n" msgstr "" "Sección [%2d] '%s': etiqueta %s faltante en DSO marcada durante el pre-" "enlace\n" -#: src/elflint.c:1872 +#: src/elflint.c:1876 #, c-format msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n" msgstr "" "Sección [%2d] '%s': archivo no-DSO marcado como dependencia durante el pre-" "enlace\n" -#: src/elflint.c:1883 src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895 +#: src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895 src/elflint.c:1899 #, c-format msgid "section [%2d] '%s': %s tag missing in prelinked executable\n" msgstr "Sección [%2d] '%s': etiqueta %s faltante en pre-enlace ejecutable\n" -#: src/elflint.c:1907 +#: src/elflint.c:1911 #, c-format msgid "" "section [%2d] '%s': only relocatable files can have extended section index\n" @@ -2035,37 +2074,37 @@ msgstr "" "Sección [%2d] '%s': sólo los archivos reubicables pueden tener Ãndice de " "sección extendido\n" -#: src/elflint.c:1917 +#: src/elflint.c:1921 #, c-format msgid "" "section [%2d] '%s': extended section index section not for symbol table\n" msgstr "" "Sección [%2d] '%s': Ãndice de sección extendido no para tabla de sÃmbolos\n" -#: src/elflint.c:1921 +#: src/elflint.c:1925 #, fuzzy, c-format msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n" msgstr "" "Sección [%2d] '%s': Ãndice de sección extendido no para tabla de sÃmbolos\n" -#: src/elflint.c:1926 +#: src/elflint.c:1930 #, c-format msgid "cannot get data for symbol section\n" msgstr "no se puede obtener sección para sÃmbolos\n" -#: src/elflint.c:1929 +#: src/elflint.c:1933 #, c-format msgid "section [%2d] '%s': entry size does not match Elf32_Word\n" msgstr "Sección [%2d] '%s': tamaño de entrada no coincide con Elf32_Word\n" -#: src/elflint.c:1938 +#: src/elflint.c:1942 #, c-format msgid "section [%2d] '%s': extended index table too small for symbol table\n" msgstr "" "Sección [%2d] '%s': tabla de Ãndice extendida demasiado pequeña para tabla " "de sÃmbolos\n" -#: src/elflint.c:1953 +#: src/elflint.c:1957 #, c-format msgid "" "section [%2d] '%s': extended section index in section [%2zu] '%s' refers to " @@ -2074,24 +2113,24 @@ msgstr "" "Sección [%2d] '%s': Ãndice de sección extendida en sección [%2zu] '%s' se " "refiere a la misma tabla de sÃmbolos\n" -#: src/elflint.c:1970 +#: src/elflint.c:1974 #, c-format msgid "symbol 0 should have zero extended section index\n" msgstr "sÃmbolo 0 debe tener Ãndice de sección extendida cero\n" -#: src/elflint.c:1982 +#: src/elflint.c:1986 #, c-format msgid "cannot get data for symbol %zu\n" msgstr "no puede obtener datos para sÃmbolo %zu\n" -#: src/elflint.c:1987 +#: src/elflint.c:1991 #, c-format msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n" msgstr "" "Ãndice de sección extendida es %<PRIu32> pero Ãndice de sÃmbolo no es " "XINDEX\n" -#: src/elflint.c:2003 src/elflint.c:2054 +#: src/elflint.c:2007 src/elflint.c:2058 #, c-format msgid "" "section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n" @@ -2099,42 +2138,42 @@ msgstr "" "Sección [%2d] '%s': sección de tabla de dispersión es demasiado pequeña (es " "%ld, se espera %ld)\n" -#: src/elflint.c:2015 src/elflint.c:2066 +#: src/elflint.c:2019 src/elflint.c:2070 #, c-format msgid "section [%2d] '%s': chain array too large\n" msgstr "Sección [%2d] '%s': Ãndice de la cadena es demasiado grande\n" -#: src/elflint.c:2029 src/elflint.c:2080 +#: src/elflint.c:2033 src/elflint.c:2084 #, c-format msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n" msgstr "" "Sección [%2d] '%s': referencia de cubetas de dispersión %zu fuera de " "lÃmites\n" -#: src/elflint.c:2039 +#: src/elflint.c:2043 #, c-format msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n" msgstr "" "Sección [%2d] '%s': referencia de cadena de dispersión %zu fuera de lÃmites\n" -#: src/elflint.c:2090 +#: src/elflint.c:2094 #, c-format msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n" msgstr "" "Sección [%2d] '%s': referencia de cadena de dispersión %<PRIu64> fuera de " "lÃmites\n" -#: src/elflint.c:2103 +#: src/elflint.c:2107 #, fuzzy, c-format msgid "section [%2d] '%s': not enough data\n" msgstr "Sección [%2d] '%s': no puede obtener datos: %s\n" -#: src/elflint.c:2115 +#: src/elflint.c:2119 #, fuzzy, c-format msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n" msgstr "Sección [%2d] '%s': tamaño de bitmask no es potencia de 2: %u\n" -#: src/elflint.c:2131 +#: src/elflint.c:2135 #, fuzzy, c-format msgid "" "section [%2d] '%s': hash table section is too small (is %ld, expected at " @@ -2143,14 +2182,14 @@ msgstr "" "Sección [%2d] '%s': sección de tabla de dispersión es demasiado pequeña (es " "%ld, se espera al menos least%ld)\n" -#: src/elflint.c:2140 +#: src/elflint.c:2144 #, c-format msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n" msgstr "" "Sección [%2d] '%s': segundo cambio de función de dispersión demasiado " "grande: %u\n" -#: src/elflint.c:2174 +#: src/elflint.c:2178 #, c-format msgid "" "section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n" @@ -2158,7 +2197,7 @@ msgstr "" "Sección [%2d] '%s': cadena de dispersión para cubetas %zu inferior a " "polarización de Ãndice de sÃmbolo\n" -#: src/elflint.c:2195 +#: src/elflint.c:2199 #, c-format msgid "" "section [%2d] '%s': symbol %u referenced in chain for bucket %zu is " @@ -2167,7 +2206,7 @@ msgstr "" "Sección [%2d] '%s': el sÃmbolo %u al que se hace referencia en cadena para " "cubeta %zu es indefinido\n" -#: src/elflint.c:2208 +#: src/elflint.c:2212 #, c-format msgid "" "section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n" @@ -2175,7 +2214,7 @@ msgstr "" "Sección [%2d] '%s': valor de dispersión para sÃmbolo %u en cadena para " "cubeta %zu está errado\n" -#: src/elflint.c:2217 +#: src/elflint.c:2221 #, fuzzy, c-format msgid "" "section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n" @@ -2183,13 +2222,13 @@ msgstr "" "Sección [%2d] '%s': valor de dispersión para sÃmbolo %u en cadena para " "cubeta %zu está errado\n" -#: src/elflint.c:2247 +#: src/elflint.c:2251 #, c-format msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n" msgstr "" "Sección [%2d] '%s': cadena de dispersión para cubeta %zu fuera de limites\n" -#: src/elflint.c:2252 +#: src/elflint.c:2256 #, c-format msgid "" "section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n" @@ -2197,43 +2236,43 @@ msgstr "" "Sección [%2d] '%s': referencia de sÃmbolo en cadena para cubeta %zu fuera de " "lÃmites\n" -#: src/elflint.c:2258 +#: src/elflint.c:2262 #, c-format msgid "section [%2d] '%s': bitmask does not match names in the hash table\n" msgstr "" "Sección [%2d] '%s': bitmask no coincide con nombres en la tabla de " "dispersión\n" -#: src/elflint.c:2271 +#: src/elflint.c:2275 #, c-format msgid "section [%2d] '%s': relocatable files cannot have hash tables\n" msgstr "" "Sección [%2d] '%s': archivos reubicables no pueden tener tablas de " "dispersión\n" -#: src/elflint.c:2289 +#: src/elflint.c:2293 #, c-format msgid "section [%2d] '%s': hash table not for dynamic symbol table\n" msgstr "" "Sección [%2d] '%s': tabla de dispersión no para tabla de sÃmbolos dinámicos\n" -#: src/elflint.c:2293 +#: src/elflint.c:2297 #, fuzzy, c-format msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n" msgstr "Sección [%2d] '%s': Ãndice de sección de destino inválido\n" -#: src/elflint.c:2301 +#: src/elflint.c:2305 #, c-format msgid "section [%2d] '%s': hash table entry size incorrect\n" msgstr "" "Sección [%2d] '%s': tamaño incorrecto de entrada de tabla de dispersión\n" -#: src/elflint.c:2306 +#: src/elflint.c:2310 #, c-format msgid "section [%2d] '%s': not marked to be allocated\n" msgstr "Sección [%2d] '%s': no marcada para ser asignada\n" -#: src/elflint.c:2311 +#: src/elflint.c:2315 #, c-format msgid "" "section [%2d] '%s': hash table has not even room for initial administrative " @@ -2242,46 +2281,46 @@ msgstr "" "Sección [%2d] '%s': tabla de dispersión no tiene ni siquiera espacio para " "entradas administrativas iniciales\n" -#: src/elflint.c:2360 +#: src/elflint.c:2364 #, c-format msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n" msgstr "" "sh_link en secciones de dispersión [%2zu] '%s' y [%2zu] '%s' no son " "idénticas\n" -#: src/elflint.c:2384 src/elflint.c:2449 src/elflint.c:2484 +#: src/elflint.c:2388 src/elflint.c:2453 src/elflint.c:2488 #, fuzzy, c-format msgid "hash section [%2zu] '%s' does not contain enough data\n" msgstr "sección [%2zu] '%s' no debe ser ejecutable\n" -#: src/elflint.c:2405 +#: src/elflint.c:2409 #, fuzzy, c-format msgid "hash section [%2zu] '%s' has zero bit mask words\n" msgstr "Sección [%2d] '%s': grupo de sección sin palabra de banderas\n" -#: src/elflint.c:2416 src/elflint.c:2460 src/elflint.c:2497 +#: src/elflint.c:2420 src/elflint.c:2464 src/elflint.c:2501 #, fuzzy, c-format msgid "hash section [%2zu] '%s' uses too much data\n" msgstr "sección [%2zu] '%s' debe ser asignada\n" -#: src/elflint.c:2431 +#: src/elflint.c:2435 #, c-format msgid "" "hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: " "%<PRIu32>, nentries: %<PRIu32>\n" msgstr "" -#: src/elflint.c:2518 +#: src/elflint.c:2522 #, fuzzy, c-format msgid "hash section [%2zu] '%s' invalid sh_entsize\n" msgstr "Sección [%2zu]: nombre inválido\n" -#: src/elflint.c:2528 src/elflint.c:2532 +#: src/elflint.c:2532 src/elflint.c:2536 #, c-format msgid "section [%2zu] '%s': reference to symbol index 0\n" msgstr "Sección [%2zu] '%s': referencia al Ãndice de sÃmbolo 0\n" -#: src/elflint.c:2539 +#: src/elflint.c:2543 #, c-format msgid "" "symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash " @@ -2290,7 +2329,7 @@ msgstr "" "SÃmbolo %d nombrado en nueva tabla de dispersión en [%2zu] '%s' pero no en " "la tabla de dispersión anterior en [%2zu] '%s'\n" -#: src/elflint.c:2551 +#: src/elflint.c:2555 #, c-format msgid "" "symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash " @@ -2299,12 +2338,12 @@ msgstr "" "SÃmbolo %d nombrado en la tabla de dispersión anterior en [%2zu] '%s' pero " "no en la nueva tabla de dispersión en [%2zu] '%s'\n" -#: src/elflint.c:2567 +#: src/elflint.c:2571 #, c-format msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n" msgstr "Sección [%2d] '%s': nonzero sh_%s para sección NULL\n" -#: src/elflint.c:2587 +#: src/elflint.c:2591 #, c-format msgid "" "section [%2d] '%s': section groups only allowed in relocatable object files\n" @@ -2312,99 +2351,99 @@ msgstr "" "Sección [%2d] '%s': grupos de sección sólo permitidos en archivos de objeto " "reubicables\n" -#: src/elflint.c:2598 +#: src/elflint.c:2602 #, c-format msgid "section [%2d] '%s': cannot get symbol table: %s\n" msgstr "Sección [%2d] '%s': no puede obtener tabla de sÃmbolos: %s\n" -#: src/elflint.c:2603 +#: src/elflint.c:2607 #, c-format msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n" msgstr "" "Sección [%2d] '%s': referencia de sección en sh_link no es una tabla de " "sÃmbolos\n" -#: src/elflint.c:2609 +#: src/elflint.c:2613 #, c-format msgid "section [%2d] '%s': invalid symbol index in sh_info\n" msgstr "Sección [%2d] '%s': Ãndice de sÃmbolo inválido en sh_info\n" -#: src/elflint.c:2614 +#: src/elflint.c:2618 #, c-format msgid "section [%2d] '%s': sh_flags not zero\n" msgstr "Sección [%2d] '%s': sh_flags no cero\n" -#: src/elflint.c:2621 +#: src/elflint.c:2625 #, c-format msgid "section [%2d] '%s': cannot get symbol for signature\n" msgstr "Sección [%2d] '%s': no puede obtener sÃmbolo para firma\n" -#: src/elflint.c:2625 +#: src/elflint.c:2629 #, fuzzy, c-format msgid "section [%2d] '%s': cannot get symbol name for signature\n" msgstr "Sección [%2d] '%s': no puede obtener sÃmbolo para firma\n" -#: src/elflint.c:2630 +#: src/elflint.c:2634 #, c-format msgid "section [%2d] '%s': signature symbol cannot be empty string\n" msgstr "" "sección [%2d] '%s': el sÃmbolo de firma no puede ser una cadena vacÃa\n" -#: src/elflint.c:2636 +#: src/elflint.c:2640 #, c-format msgid "section [%2d] '%s': sh_flags not set correctly\n" msgstr "Sección [%2d] '%s': sh_flags no establecida correctamente\n" -#: src/elflint.c:2642 +#: src/elflint.c:2646 #, c-format msgid "section [%2d] '%s': cannot get data: %s\n" msgstr "Sección [%2d] '%s': no puede obtener datos: %s\n" -#: src/elflint.c:2651 +#: src/elflint.c:2655 #, c-format msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n" msgstr "" "Sección [%2d] '%s': tamaño de sección no es múltiplo de tamaño de " "(Elf32_Word)\n" -#: src/elflint.c:2656 +#: src/elflint.c:2660 #, c-format msgid "section [%2d] '%s': section group without flags word\n" msgstr "Sección [%2d] '%s': grupo de sección sin palabra de banderas\n" -#: src/elflint.c:2662 +#: src/elflint.c:2666 #, c-format msgid "section [%2d] '%s': section group without member\n" msgstr "Sección [%2d] '%s': grupo de sección sin miembro\n" -#: src/elflint.c:2666 +#: src/elflint.c:2670 #, c-format msgid "section [%2d] '%s': section group with only one member\n" msgstr "Sección [%2d] '%s': grupo de sección con sólo un miembro\n" -#: src/elflint.c:2677 +#: src/elflint.c:2681 #, c-format msgid "section [%2d] '%s': unknown section group flags\n" msgstr "Sección [%2d] '%s': banderas de grupo de sección desconocido\n" -#: src/elflint.c:2689 +#: src/elflint.c:2693 #, fuzzy, c-format msgid "section [%2d] '%s': section index %zu out of range\n" msgstr "Sección [%2d] '%s': Ãndice de sección %Zu fuera de rango\n" -#: src/elflint.c:2698 +#: src/elflint.c:2702 #, c-format msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n" msgstr "" "Sección [%2d] '%s': no se puede obtener encabezamiento de sección para " "elemento %zu: %s\n" -#: src/elflint.c:2705 +#: src/elflint.c:2709 #, c-format msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n" msgstr "Sección [%2d] '%s': grupo de sección contiene otro grupo [%2d] '%s'\n" -#: src/elflint.c:2711 +#: src/elflint.c:2715 #, fuzzy, c-format msgid "" "section [%2d] '%s': element %zu references section [%2d] '%s' without " @@ -2413,12 +2452,12 @@ msgstr "" "Sección [%2d] '%s': elemento %Zu hace referencia a sección [%2d] '%s' sin " "establecer bandera SHF_GROUP\n" -#: src/elflint.c:2718 +#: src/elflint.c:2722 #, c-format msgid "section [%2d] '%s' is contained in more than one section group\n" msgstr "Sección [%2d] '%s' está contenida en más de un grupo de sección\n" -#: src/elflint.c:2907 +#: src/elflint.c:2912 #, c-format msgid "" "section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no " @@ -2427,7 +2466,7 @@ msgstr "" "Sección [%2d] '%s' se refiere en sh_link a la sección [%2d] '%s' la cual no " "es una tabla de sÃmbolos dinámicos\n" -#: src/elflint.c:2919 +#: src/elflint.c:2924 #, c-format msgid "" "section [%2d] '%s' has different number of entries than symbol table [%2d] " @@ -2436,29 +2475,29 @@ msgstr "" "Sección [%2d] '%s' tiene un número diferente de entradas a la de la tabla de " "sÃmbolos [%2d] '%s'\n" -#: src/elflint.c:2935 +#: src/elflint.c:2940 #, c-format msgid "section [%2d] '%s': symbol %d: cannot read version data\n" msgstr "" "Sección [%2d] '%s': el sÃmbolo %d: no se pueden leer datos de versión\n" -#: src/elflint.c:2951 +#: src/elflint.c:2956 #, c-format msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n" msgstr "" "Sección [%2d] '%s': el sÃmbolo %d: el sÃmbolo local con alcance mundial\n" -#: src/elflint.c:2959 +#: src/elflint.c:2964 #, c-format msgid "section [%2d] '%s': symbol %d: local symbol with version\n" msgstr "Sección [%2d] '%s': sÃmbolo %d: sÃmbolo local con versión\n" -#: src/elflint.c:2973 +#: src/elflint.c:2978 #, c-format msgid "section [%2d] '%s': symbol %d: invalid version index %d\n" msgstr "Sección [%2d] '%s': sÃmbolo %d: Ãndice de versión inválida %d\n" -#: src/elflint.c:2978 +#: src/elflint.c:2983 #, c-format msgid "" "section [%2d] '%s': symbol %d: version index %d is for defined version\n" @@ -2466,7 +2505,7 @@ msgstr "" "Sección [%2d] '%s': sÃmbolo %d: Ãndice de versión %d es para versión " "definida\n" -#: src/elflint.c:2988 +#: src/elflint.c:2993 #, c-format msgid "" "section [%2d] '%s': symbol %d: version index %d is for requested version\n" @@ -2474,46 +2513,46 @@ msgstr "" "Sección [%2d] '%s': sÃmbolo %d: Ãndice de versión %d es para la versión " "solicitada\n" -#: src/elflint.c:3041 +#: src/elflint.c:3046 #, c-format msgid "more than one version reference section present\n" msgstr "Más de una sección de referencia de versión presente\n" -#: src/elflint.c:3049 src/elflint.c:3196 +#: src/elflint.c:3054 src/elflint.c:3201 #, c-format msgid "section [%2d] '%s': sh_link does not link to string table\n" msgstr "Sección [%2d] '%s': sh_link no se enlaza a la tabla de cadenas\n" -#: src/elflint.c:3074 src/elflint.c:3250 +#: src/elflint.c:3079 src/elflint.c:3255 #, c-format msgid "section [%2d] '%s': entry %d has wrong version %d\n" msgstr "Sección [%2d] '%s': entrada %d tiene versión %d errada\n" -#: src/elflint.c:3081 src/elflint.c:3257 +#: src/elflint.c:3086 src/elflint.c:3262 #, c-format msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n" msgstr "" "Sección [%2d] '%s': entrada %d tiene compensación errada de datos " "auxiliares\n" -#: src/elflint.c:3091 +#: src/elflint.c:3096 #, c-format msgid "section [%2d] '%s': entry %d has invalid file reference\n" msgstr "Sección [%2d] '%s': entrada %d tiene referencia de archivo inválida\n" -#: src/elflint.c:3099 +#: src/elflint.c:3104 #, c-format msgid "section [%2d] '%s': entry %d references unknown dependency\n" msgstr "Sección [%2d] '%s': %d hace referencia a dependencia desconocida\n" -#: src/elflint.c:3111 +#: src/elflint.c:3116 #, c-format msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n" msgstr "" "sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene bandera " "desconocida\n" -#: src/elflint.c:3119 +#: src/elflint.c:3124 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has invalid name " @@ -2522,7 +2561,7 @@ msgstr "" "Sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene referencia de " "nombre inválida\n" -#: src/elflint.c:3128 +#: src/elflint.c:3133 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: " @@ -2531,7 +2570,7 @@ msgstr "" "Sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene valor de " "dispersión: %#x, esperado %#x\n" -#: src/elflint.c:3137 +#: src/elflint.c:3142 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version " @@ -2540,7 +2579,7 @@ msgstr "" "sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene nombre duplicado " "'%s'\n" -#: src/elflint.c:3148 +#: src/elflint.c:3153 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n" @@ -2548,14 +2587,14 @@ msgstr "" "sección [%2d] '%s': entrada auxiliar %d de entrada %d tiene próximo campo " "errado\n" -#: src/elflint.c:3165 src/elflint.c:3341 +#: src/elflint.c:3170 src/elflint.c:3346 #, c-format msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n" msgstr "" "sección [%2d] '%s': entrada %d tiene compensación inválida para próxima " "entrada\n" -#: src/elflint.c:3173 src/elflint.c:3349 +#: src/elflint.c:3178 src/elflint.c:3354 #, fuzzy, c-format msgid "" "section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says " @@ -2564,46 +2603,46 @@ msgstr "" "sección [%2d] '%s': entrada %d tiene compensación inválida para próxima " "entrada\n" -#: src/elflint.c:3188 +#: src/elflint.c:3193 #, c-format msgid "more than one version definition section present\n" msgstr "más de una definición de versión presente de sección\n" -#: src/elflint.c:3235 +#: src/elflint.c:3240 #, c-format msgid "section [%2d] '%s': more than one BASE definition\n" msgstr "Sección [%2d] '%s': más de una definición de BASE\n" -#: src/elflint.c:3239 +#: src/elflint.c:3244 #, c-format msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n" msgstr "" "Sección [%2d] '%s': definición de BASE debe tener Ãndice VER_NDX_GLOBAL\n" -#: src/elflint.c:3245 +#: src/elflint.c:3250 #, c-format msgid "section [%2d] '%s': entry %d has unknown flag\n" msgstr "Sección [%2d] '%s': entrada %d tiene bandera desconocida\n" -#: src/elflint.c:3272 +#: src/elflint.c:3277 #, c-format msgid "section [%2d] '%s': entry %d has invalid name reference\n" msgstr "Sección [%2d] '%s': entrada %d tiene referencia de nombre inválida\n" -#: src/elflint.c:3279 +#: src/elflint.c:3284 #, c-format msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n" msgstr "" "Sección [%2d] '%s': entrada %d tiene valor de dispersión errado: %#x, " "esperado %#x\n" -#: src/elflint.c:3287 +#: src/elflint.c:3292 #, c-format msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n" msgstr "" "Sección [%2d] '%s': entrada %d tiene nombre de versión duplicado '%s'\n" -#: src/elflint.c:3307 +#: src/elflint.c:3312 #, c-format msgid "" "section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n" @@ -2611,34 +2650,34 @@ msgstr "" "Sección [%2d] '%s': entrada %d tiene referencia de nombre inválida en datos " "auxiliares\n" -#: src/elflint.c:3324 +#: src/elflint.c:3329 #, c-format msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n" msgstr "" "Sección [%2d] '%s': entrada %d tiene próximo campo errado en datos " "auxiliares\n" -#: src/elflint.c:3357 +#: src/elflint.c:3362 #, c-format msgid "section [%2d] '%s': no BASE definition\n" msgstr "Sección [%2d] '%s': no hay definición de BASE\n" -#: src/elflint.c:3373 +#: src/elflint.c:3378 #, c-format msgid "section [%2d] '%s': unknown parent version '%s'\n" msgstr "Sección [%2d] '%s': desconocida versión principal '%s'\n" -#: src/elflint.c:3386 +#: src/elflint.c:3391 #, c-format msgid "section [%2d] '%s': empty object attributes section\n" msgstr "Sección [%2d] '%s': sección de atributos de objeto vacÃo\n" -#: src/elflint.c:3407 +#: src/elflint.c:3412 #, c-format msgid "section [%2d] '%s': unrecognized attribute format\n" msgstr "Sección[%2d] '%s': formato de atributo no reconocido\n" -#: src/elflint.c:3423 +#: src/elflint.c:3428 #, c-format msgid "" "section [%2d] '%s': offset %zu: zero length field in attribute section\n" @@ -2646,21 +2685,21 @@ msgstr "" "Sección[%2d] '%s': compensación %zu: campo de longitud cero en sección de " "atributo\n" -#: src/elflint.c:3432 +#: src/elflint.c:3437 #, c-format msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n" msgstr "" "Sección[%2d] '%s': compensación %zu: longitud inválida en sección de " "atributo\n" -#: src/elflint.c:3444 +#: src/elflint.c:3449 #, c-format msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n" msgstr "" "Sección[%2d] '%s': compensación %zu: cadena de nombre de proveedor sin " "terminar\n" -#: src/elflint.c:3461 +#: src/elflint.c:3466 #, c-format msgid "" "section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n" @@ -2668,12 +2707,12 @@ msgstr "" "Sección [%2d] '%s': compensación %zu: sin fin ULEB128 en etiqueta de sub-" "sección de atributo\n" -#: src/elflint.c:3470 +#: src/elflint.c:3475 #, c-format msgid "section [%2d] '%s': offset %zu: truncated attribute section\n" msgstr "Sección [%2d] '%s': compensación %zu: sección de atributo truncado\n" -#: src/elflint.c:3479 +#: src/elflint.c:3484 #, c-format msgid "" "section [%2d] '%s': offset %zu: zero length field in attribute subsection\n" @@ -2681,7 +2720,7 @@ msgstr "" "Sección [%2d] '%s': compensación %zu: campo de longitud cero length en sub-" "sección de atributo\n" -#: src/elflint.c:3494 +#: src/elflint.c:3499 #, c-format msgid "" "section [%2d] '%s': offset %zu: invalid length in attribute subsection\n" @@ -2689,7 +2728,7 @@ msgstr "" "Sección [%2d] '%s': compensación %zu: longitud inválida en sub-sección de " "atributo\n" -#: src/elflint.c:3505 +#: src/elflint.c:3510 #, c-format msgid "" "section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n" @@ -2697,26 +2736,26 @@ msgstr "" "Sección[%2d] '%s': compensación %zu: sub-sección de atributo tiene etiqueta " "inesperada %u\n" -#: src/elflint.c:3523 +#: src/elflint.c:3528 #, c-format msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n" msgstr "" "Sección[%2d] '%s': compensación %zu: sin fin ULEB128 en etiqueta de " "atributo\n" -#: src/elflint.c:3534 +#: src/elflint.c:3539 #, c-format msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n" msgstr "" "Sección [%2d] '%s': compensación %zu: cadena sin terminar en atributo\n" -#: src/elflint.c:3547 +#: src/elflint.c:3552 #, c-format msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n" msgstr "" "Sección [%2d] '%s': compensación %zu: etiqueta de atributo no reconocida %u\n" -#: src/elflint.c:3551 +#: src/elflint.c:3556 #, c-format msgid "" "section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n" @@ -2724,12 +2763,12 @@ msgstr "" "Sección [%2d] '%s': compensación %zu: no reconocido %s valor de atributo " "%<PRIu64>\n" -#: src/elflint.c:3561 +#: src/elflint.c:3566 #, c-format msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n" msgstr "Sección [%2d] '%s': compensación %zu: proveedor '%s' desconocido\n" -#: src/elflint.c:3567 +#: src/elflint.c:3572 #, c-format msgid "" "section [%2d] '%s': offset %zu: extra bytes after last attribute section\n" @@ -2737,47 +2776,47 @@ msgstr "" "Sección [%2d] '%s': compensación %zu: extra bytes después de la última " "sección de atributo\n" -#: src/elflint.c:3656 +#: src/elflint.c:3661 #, c-format msgid "cannot get section header of zeroth section\n" msgstr "no puede obtener encabezamiento de sección de sección zeroth\n" -#: src/elflint.c:3660 +#: src/elflint.c:3665 #, c-format msgid "zeroth section has nonzero name\n" msgstr "Sección zeroth tiene nombre nonzero\n" -#: src/elflint.c:3662 +#: src/elflint.c:3667 #, c-format msgid "zeroth section has nonzero type\n" msgstr "Sección zeroth tiene tipo nonzero\n" -#: src/elflint.c:3664 +#: src/elflint.c:3669 #, c-format msgid "zeroth section has nonzero flags\n" msgstr "Sección zeroth tiene banderas nonzero\n" -#: src/elflint.c:3666 +#: src/elflint.c:3671 #, c-format msgid "zeroth section has nonzero address\n" msgstr "Sección zeroth tiene dirección nonzero\n" -#: src/elflint.c:3668 +#: src/elflint.c:3673 #, c-format msgid "zeroth section has nonzero offset\n" msgstr "Sección zeroth tiene compensación nonzero\n" -#: src/elflint.c:3670 +#: src/elflint.c:3675 #, c-format msgid "zeroth section has nonzero align value\n" msgstr "Sección zeroth tiene valor de alineación nonzero\n" -#: src/elflint.c:3672 +#: src/elflint.c:3677 #, c-format msgid "zeroth section has nonzero entry size value\n" msgstr "Sección zeroth tiene valor de tamaño de entrada nonzero\n" -#: src/elflint.c:3675 +#: src/elflint.c:3680 #, c-format msgid "" "zeroth section has nonzero size value while ELF header has nonzero shnum " @@ -2786,7 +2825,7 @@ msgstr "" "Sección zeroth tiene valor de tamaño nonzero mientras que el encabezamiento " "ELF tiene valor shnum nonzero\n" -#: src/elflint.c:3679 +#: src/elflint.c:3684 #, c-format msgid "" "zeroth section has nonzero link value while ELF header does not signal " @@ -2795,7 +2834,7 @@ msgstr "" "Sección zeroth tiene valor de enlace nonzero mientras que el encabezamiento " "ELF no señala sobreflujo en shstrndx\n" -#: src/elflint.c:3683 +#: src/elflint.c:3688 #, c-format msgid "" "zeroth section has nonzero link value while ELF header does not signal " @@ -2804,27 +2843,27 @@ msgstr "" "la sección zeroth tiene un valor de enlace distinto a cero mientras que el " "encabezamiento ELF no señala desbordamiento en phnum\n" -#: src/elflint.c:3700 +#: src/elflint.c:3706 #, c-format msgid "cannot get section header for section [%2zu] '%s': %s\n" msgstr "No se puede obtener encabezamiento para sección [%2zu] '%s': %s\n" -#: src/elflint.c:3709 +#: src/elflint.c:3715 #, c-format msgid "section [%2zu]: invalid name\n" msgstr "Sección [%2zu]: nombre inválido\n" -#: src/elflint.c:3736 +#: src/elflint.c:3742 #, c-format msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n" msgstr "Sección [%2d] '%s' tiene tipo errado: %s esperado, es %s\n" -#: src/elflint.c:3752 +#: src/elflint.c:3760 #, c-format msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n" msgstr "Sección [%2zu] '%s' tiene banderas erradas: %s esperado, es %s\n" -#: src/elflint.c:3769 +#: src/elflint.c:3778 #, c-format msgid "" "section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n" @@ -2832,12 +2871,12 @@ msgstr "" "Sección [%2zu] '%s' tiene banderas erradas: %s esperado y posiblemente %s, " "es %s\n" -#: src/elflint.c:3787 +#: src/elflint.c:3796 #, c-format msgid "section [%2zu] '%s' present in object file\n" msgstr "Sección [%2zu] '%s' presente en archivo objeto\n" -#: src/elflint.c:3793 src/elflint.c:3825 +#: src/elflint.c:3802 src/elflint.c:3834 #, c-format msgid "" "section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n" @@ -2845,7 +2884,7 @@ msgstr "" "Sección [%2zu] '%s' tiene bandera SHF_ALLOC establecida pero no es un " "segmento cargable\n" -#: src/elflint.c:3798 src/elflint.c:3830 +#: src/elflint.c:3807 src/elflint.c:3839 #, c-format msgid "" "section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable " @@ -2854,7 +2893,7 @@ msgstr "" "Sección [%2zu] '%s' no tiene bandera SHF_ALLOC establecida pero hay " "segmentos cargables\n" -#: src/elflint.c:3806 +#: src/elflint.c:3815 #, c-format msgid "" "section [%2zu] '%s' is extension section index table in non-object file\n" @@ -2862,22 +2901,22 @@ msgstr "" "Sección [%2zu] '%s' es tabla de Ãndice de sección de extensión en archivo no-" "objeto\n" -#: src/elflint.c:3849 +#: src/elflint.c:3858 #, c-format msgid "section [%2zu] '%s': size not multiple of entry size\n" msgstr "Sección [%2zu] '%s': tamaño no es múltiplo de tamaño de entrada\n" -#: src/elflint.c:3854 +#: src/elflint.c:3863 #, c-format msgid "cannot get section header\n" msgstr "no se puede obtener encabezamiento de sección\n" -#: src/elflint.c:3864 +#: src/elflint.c:3873 #, c-format msgid "section [%2zu] '%s' has unsupported type %d\n" msgstr "sección [%2zu] '%s' tiene tipo %d incompatible \n" -#: src/elflint.c:3878 +#: src/elflint.c:3888 #, c-format msgid "" "section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n" @@ -2885,59 +2924,76 @@ msgstr "" "Sección [%2zu] '%s' contiene bandera(s) de procesador-especÃfico inválidas " "%#<PRIx64>\n" -#: src/elflint.c:3885 +#: src/elflint.c:3895 #, c-format msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n" msgstr "Sección [%2zu] '%s' contiene bandera(s) desconocidas %#<PRIx64>\n" -#: src/elflint.c:3893 +#: src/elflint.c:3903 #, c-format msgid "section [%2zu] '%s': thread-local data sections address not zero\n" msgstr "" "Sección [%2zu] '%s': dirección de secciones de datos de hilo-local no cero\n" -#: src/elflint.c:3901 +#: src/elflint.c:3913 +#, fuzzy, c-format +msgid "section [%2zu] '%s': allocated section cannot be compressed\n" +msgstr "" +"Sección [%2zu] '%s': dirección de secciones de datos de hilo-local no cero\n" + +#: src/elflint.c:3918 +#, fuzzy, c-format +msgid "section [%2zu] '%s': nobits section cannot be compressed\n" +msgstr "Sección [%2d] '%s': no hay sección de dispersión presente\n" + +#: src/elflint.c:3924 +#, fuzzy, c-format +msgid "" +"section [%2zu] '%s': compressed section with no compression header: %s\n" +msgstr "Sección [%2d] '%s': grupo de sección con sólo un miembro\n" + +#: src/elflint.c:3930 #, c-format msgid "section [%2zu] '%s': invalid section reference in link value\n" msgstr "" "Sección [%2zu] '%s': referencia de sección inválida en valor de enlace\n" -#: src/elflint.c:3906 +#: src/elflint.c:3935 #, c-format msgid "section [%2zu] '%s': invalid section reference in info value\n" msgstr "" "Sección [%2zu] '%s': referencia de sección inválida en valor de información\n" -#: src/elflint.c:3913 +#: src/elflint.c:3942 #, c-format msgid "section [%2zu] '%s': strings flag set without merge flag\n" msgstr "" "Sección [%2zu] '%s': bandera de cadenas establecida sin bandera de fusión\n" -#: src/elflint.c:3918 +#: src/elflint.c:3947 #, c-format msgid "section [%2zu] '%s': merge flag set but entry size is zero\n" msgstr "" "Sección [%2zu] '%s': bandera de fusión establecida pero tamaño de entrada es " "cero\n" -#: src/elflint.c:3936 +#: src/elflint.c:3965 #, c-format msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n" msgstr "" "Sección [%2zu] '%s' tiene un tipo %d inesperado para una sección ejecutable\n" -#: src/elflint.c:3945 +#: src/elflint.c:3974 #, fuzzy, c-format msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n" msgstr "sección [%2zu] '%s' no debe tener permiso de escritura\n" -#: src/elflint.c:3952 +#: src/elflint.c:3981 #, c-format msgid "section [%2zu] '%s' is both executable and writable\n" msgstr "Sección [%2zu] '%s' es tanto de ejecución como de escritura\n" -#: src/elflint.c:3982 +#: src/elflint.c:4012 #, c-format msgid "" "section [%2zu] '%s' not fully contained in segment of program header entry " @@ -2946,7 +3002,7 @@ msgstr "" "Sección [%2zu] '%s' no contenida totalmente en segmento de entrada de " "encabezamiento de programa %d\n" -#: src/elflint.c:3992 +#: src/elflint.c:4022 #, c-format msgid "" "section [%2zu] '%s' has type NOBITS but is read from the file in segment of " @@ -2955,7 +3011,7 @@ msgstr "" "Sección [%2zu] '%s' no tiene tipo NOBITS pero es leÃda desde el archivo en " "segmento de entrada de encabezamiento de programa %d\n" -#: src/elflint.c:4018 +#: src/elflint.c:4048 #, fuzzy, c-format msgid "" "section [%2zu] '%s' has type NOBITS but is read from the file in segment of " @@ -2964,7 +3020,7 @@ msgstr "" "Sección [%2zu] '%s' no tiene tipo NOBITS pero es leÃda desde el archivo en " "segmento de entrada de encabezamiento de programa %d\n" -#: src/elflint.c:4029 +#: src/elflint.c:4059 #, c-format msgid "" "section [%2zu] '%s' has not type NOBITS but is not read from the file in " @@ -2973,18 +3029,18 @@ msgstr "" "Sección [%2zu] '%s' no tiene tipo NOBITS pero no es leÃda desde el fichero " "en segmento de entrada de encabezamiento de programa %d\n" -#: src/elflint.c:4040 +#: src/elflint.c:4070 #, c-format msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n" msgstr "Sección [%2zu] '%s' es ejecutable en segmento no ejecutable %d\n" -#: src/elflint.c:4050 +#: src/elflint.c:4080 #, c-format msgid "section [%2zu] '%s' is writable in unwritable segment %d\n" msgstr "" "Sección [%2zu] '%s' es de escritura en segmento que no es de escritura %d\n" -#: src/elflint.c:4060 +#: src/elflint.c:4090 #, c-format msgid "" "section [%2zu] '%s': alloc flag set but section not in any loaded segment\n" @@ -2992,7 +3048,7 @@ msgstr "" "Sección [%2zu] '%s': asignación de bandera establecida pero sección no en " "ningún segmento cargado\n" -#: src/elflint.c:4066 +#: src/elflint.c:4096 #, c-format msgid "" "section [%2zu] '%s': ELF header says this is the section header string table " @@ -3001,7 +3057,7 @@ msgstr "" "Sección [%2zu] '%s': encabezamiento ELF dice esta es la tabla de cadena de " "encabezamiento de sección, pero el tipo no es SHT_TYPE\n" -#: src/elflint.c:4074 +#: src/elflint.c:4104 #, c-format msgid "" "section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n" @@ -3009,32 +3065,32 @@ msgstr "" "sección [%2zu] '%s': ficheros reubicables no pueden tener tablas de sÃmbolos " "dinámicos\n" -#: src/elflint.c:4125 +#: src/elflint.c:4155 #, c-format msgid "more than one version symbol table present\n" msgstr "Más de una tabla de sÃmbolos presente\n" -#: src/elflint.c:4148 +#: src/elflint.c:4178 #, c-format msgid "INTERP program header entry but no .interp section\n" msgstr "" "Entrada de encabezamiento de programa INTERP pero no la sección .interp\n" -#: src/elflint.c:4159 +#: src/elflint.c:4189 #, c-format msgid "" "loadable segment [%u] is executable but contains no executable sections\n" msgstr "" "segmento cargable [%u] es ejecutable pero no contiene secciones ejecutables\n" -#: src/elflint.c:4165 +#: src/elflint.c:4195 #, c-format msgid "loadable segment [%u] is writable but contains no writable sections\n" msgstr "" "segmento cargable [%u] es de escritura pero contiene secciones protegidas " "contra escritura\n" -#: src/elflint.c:4176 +#: src/elflint.c:4206 #, c-format msgid "" "no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section " @@ -3043,26 +3099,26 @@ msgstr "" "Sección no .gnu.versym presente, pero la sección .gnu.versym_d o la sección ." "gnu.versym_r existen\n" -#: src/elflint.c:4189 +#: src/elflint.c:4219 #, c-format msgid "duplicate version index %d\n" msgstr "Duplicar Ãndice de versión %d\n" -#: src/elflint.c:4203 +#: src/elflint.c:4233 #, c-format msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n" msgstr "" "Sección .gnu.versym presente sin las secciones .gnu.versym_d o .gnu." "versym_r\n" -#: src/elflint.c:4252 +#: src/elflint.c:4282 #, c-format msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n" msgstr "" "phdr[%d]: tipo de nota de fichero core desconocido %<PRIu32> en compensación " "%<PRIu64>\n" -#: src/elflint.c:4256 +#: src/elflint.c:4286 #, fuzzy, c-format msgid "" "section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n" @@ -3070,14 +3126,14 @@ msgstr "" "Sección [%2d] '%s': tipo de nota de fichero core desconocido %<PRIu32> en " "compensación %Zu\n" -#: src/elflint.c:4279 +#: src/elflint.c:4309 #, fuzzy, c-format msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %zu\n" msgstr "" "phdr[%d]: tipo de nota de fichero objeto desconocido %<PRIu32> en " "compensación %Zu\n" -#: src/elflint.c:4283 +#: src/elflint.c:4313 #, fuzzy, c-format msgid "" "section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n" @@ -3085,40 +3141,40 @@ msgstr "" "Sección [%2d] '%s': tipo de nota de fichero objeto desconocido %<PRIu32> en " "compensación %Zu\n" -#: src/elflint.c:4300 +#: src/elflint.c:4330 #, c-format msgid "phdr[%d]: no note entries defined for the type of file\n" msgstr "phdr[%d]: no hay entradas de nota definidas para el tipo de archivo\n" -#: src/elflint.c:4319 +#: src/elflint.c:4349 #, c-format msgid "phdr[%d]: cannot get content of note section: %s\n" msgstr "phdr[%d]: no puede obtener contenido de sección de nota: %s\n" -#: src/elflint.c:4322 +#: src/elflint.c:4352 #, c-format msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n" msgstr "phdr[%d]: extra %<PRIu64> bytes después de la última nota\n" -#: src/elflint.c:4343 +#: src/elflint.c:4373 #, c-format msgid "section [%2d] '%s': no note entries defined for the type of file\n" msgstr "" "Sección [%2d] '%s': no hay entradas de nota definidas para el tipo de " "archivo\n" -#: src/elflint.c:4350 +#: src/elflint.c:4380 #, c-format msgid "section [%2d] '%s': cannot get content of note section\n" msgstr "" "Sección[%2d] '%s': no se puede obtener el contenido de sección de nota\n" -#: src/elflint.c:4353 +#: src/elflint.c:4383 #, c-format msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n" msgstr "Sección[%2d] '%s': extra %<PRIu64> bytes después de la última nota\n" -#: src/elflint.c:4371 +#: src/elflint.c:4401 #, c-format msgid "" "only executables, shared objects, and core files can have program headers\n" @@ -3126,145 +3182,145 @@ msgstr "" "Sólo ejecutables, objetos compartidos y ficheros core pueden tener " "encabezamientos de programas\n" -#: src/elflint.c:4386 +#: src/elflint.c:4416 #, c-format msgid "cannot get program header entry %d: %s\n" msgstr "no se puede obtener entrada de encabezamiento %d: %s\n" -#: src/elflint.c:4395 +#: src/elflint.c:4425 #, c-format msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n" msgstr "" "entrada de encabezamiento de programa %d: tipo %#<PRIx64> de entrada de " "encabezamiento de programa desconocido\n" -#: src/elflint.c:4406 +#: src/elflint.c:4436 #, c-format msgid "more than one INTERP entry in program header\n" msgstr "Más de una entrada INTERP en encabezamiento de programa\n" -#: src/elflint.c:4414 +#: src/elflint.c:4444 #, c-format msgid "more than one TLS entry in program header\n" msgstr "más de una entrada TLS en encabezamiento de programa\n" -#: src/elflint.c:4421 +#: src/elflint.c:4451 #, c-format msgid "static executable cannot have dynamic sections\n" msgstr "ejecutable estático no puede tener secciones dinámicas\n" -#: src/elflint.c:4435 +#: src/elflint.c:4465 #, c-format msgid "dynamic section reference in program header has wrong offset\n" msgstr "" "Referencia de sección dinámica en encabezamiento de programa tiene " "compensación errada\n" -#: src/elflint.c:4438 +#: src/elflint.c:4468 #, c-format msgid "dynamic section size mismatch in program and section header\n" msgstr "" "No coinciden tamaño de sección dinámica en programa y encabezamiento de " "sección\n" -#: src/elflint.c:4448 +#: src/elflint.c:4478 #, c-format msgid "more than one GNU_RELRO entry in program header\n" msgstr "Más de una entrada GNU_RELRO en encabezamiento de programa\n" -#: src/elflint.c:4469 +#: src/elflint.c:4499 #, c-format msgid "loadable segment GNU_RELRO applies to is not writable\n" msgstr "Segmento cargable GNU_RELRO que se aplica no es de escritura\n" -#: src/elflint.c:4480 +#: src/elflint.c:4510 #, c-format msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n" msgstr "" "Banderas de segmento cargable [%u] no coinciden con banderas GNU_RELRO [%u]\n" -#: src/elflint.c:4487 +#: src/elflint.c:4517 #, c-format msgid "" "GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n" msgstr "" -#: src/elflint.c:4496 src/elflint.c:4519 +#: src/elflint.c:4526 src/elflint.c:4549 #, c-format msgid "%s segment not contained in a loaded segment\n" msgstr "Segmento %s no contenido en un segmento cargable\n" -#: src/elflint.c:4525 +#: src/elflint.c:4555 #, c-format msgid "program header offset in ELF header and PHDR entry do not match" msgstr "" "Compensación de encabezamiento de programa en encabezamiento ELF y entrada " "PHDR no coinciden" -#: src/elflint.c:4550 +#: src/elflint.c:4580 #, c-format msgid "call frame search table reference in program header has wrong offset\n" msgstr "" "Referencia de tabla de búsqueda de marco de llamada en encabezamiento de " "programa tiene una compensación errada\n" -#: src/elflint.c:4553 +#: src/elflint.c:4583 #, c-format msgid "call frame search table size mismatch in program and section header\n" msgstr "" "Tamaño de tabla de búsqueda de marco de llamada no coincide con programa y " "encabezamiento de sección\n" -#: src/elflint.c:4566 +#: src/elflint.c:4596 #, c-format msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n" msgstr "PT_GNU_EH_FRAME presente pero no la sección.eh_frame_hdr\n" -#: src/elflint.c:4574 +#: src/elflint.c:4604 #, c-format msgid "call frame search table must be allocated\n" msgstr "tabla de búsqueda de marco de llamada debe ser asignada\n" -#: src/elflint.c:4577 +#: src/elflint.c:4607 #, c-format msgid "section [%2zu] '%s' must be allocated\n" msgstr "sección [%2zu] '%s' debe ser asignada\n" -#: src/elflint.c:4581 +#: src/elflint.c:4611 #, c-format msgid "call frame search table must not be writable\n" msgstr "" "tabla de búsqueda de marco de llamada no debe tener permiso de escritura\n" -#: src/elflint.c:4584 +#: src/elflint.c:4614 #, c-format msgid "section [%2zu] '%s' must not be writable\n" msgstr "sección [%2zu] '%s' no debe tener permiso de escritura\n" -#: src/elflint.c:4589 +#: src/elflint.c:4619 #, c-format msgid "call frame search table must not be executable\n" msgstr "tabla de búsqueda de marco de llamada no debe ser ejecutable\n" -#: src/elflint.c:4592 +#: src/elflint.c:4622 #, c-format msgid "section [%2zu] '%s' must not be executable\n" msgstr "sección [%2zu] '%s' no debe ser ejecutable\n" -#: src/elflint.c:4603 +#: src/elflint.c:4633 #, c-format msgid "program header entry %d: file size greater than memory size\n" msgstr "" "entrada de encabezamiento de programa %d: tamaño de fichero mayor que el " "tamaño de memoria\n" -#: src/elflint.c:4610 +#: src/elflint.c:4640 #, c-format msgid "program header entry %d: alignment not a power of 2\n" msgstr "" "entrada de encabezamiento de programa %d: alineamiento no es potencia de 2\n" -#: src/elflint.c:4613 +#: src/elflint.c:4643 #, c-format msgid "" "program header entry %d: file offset and virtual address not module of " @@ -3273,7 +3329,7 @@ msgstr "" "entrada de encabezamiento de programa %d: compensación de fichero y " "dirección virtual no módulo de alineación\n" -#: src/elflint.c:4626 +#: src/elflint.c:4656 #, c-format msgid "" "executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME " @@ -3282,12 +3338,12 @@ msgstr "" "ejecutable/DSO con sección .eh_frame_hdr no tiene una entrada de " "encabezamiento de programa PT_GNU_EH_FRAME" -#: src/elflint.c:4660 +#: src/elflint.c:4690 #, c-format msgid "cannot read ELF header: %s\n" msgstr "No se puede leer encabezamiento ELF: %s\n" -#: src/elflint.c:4686 +#: src/elflint.c:4716 #, c-format msgid "text relocation flag set but not needed\n" msgstr "Bandera de reubicación de texto establecida pero no necesaria\n" @@ -3309,7 +3365,7 @@ msgid "Locate source of text relocations in FILEs (a.out by default)." msgstr "" "Localizar origen de reubicaciones de texto en FICHEROS (a.out por defecto)." -#: src/findtextrel.c:76 src/nm.c:107 src/objdump.c:71 src/size.c:83 +#: src/findtextrel.c:76 src/nm.c:108 src/objdump.c:71 src/size.c:83 #: src/strings.c:88 src/strip.c:95 msgid "[FILE...]" msgstr "[FICHERO...]" @@ -3821,8 +3877,8 @@ msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s" msgstr "" "Advertencia: el tamaño de `%s' cambió de %<PRIu64> en %s a %<PRIu64> en %s" -#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:527 -#: src/readelf.c:829 src/strip.c:589 +#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:536 src/readelf.c:852 +#: src/strip.c:589 #, c-format msgid "cannot determine number of sections: %s" msgstr "no se pudieron determinar el número de secciones: %s" @@ -4078,7 +4134,7 @@ msgstr "error interno: sección non-nobits sigue a sección nobits" msgid "cannot get header of 0th section: %s" msgstr "No se puede obtener encabezamiento de sección 0th: %s" -#: src/ldgeneric.c:6930 src/unstrip.c:1893 +#: src/ldgeneric.c:6930 src/unstrip.c:1929 #, c-format msgid "cannot update ELF header: %s" msgstr "No se puede actualizar encabezamiento ELF: %s" @@ -4149,43 +4205,43 @@ msgstr "" msgid "default visibility set as local and global" msgstr "la visibilidad establecida por defecto establecida como local y global" -#: src/nm.c:65 src/strip.c:67 +#: src/nm.c:66 src/strip.c:67 msgid "Output selection:" msgstr "Selección de salida:" -#: src/nm.c:66 +#: src/nm.c:67 msgid "Display debugger-only symbols" msgstr "Mostrar sólo sÃmbolos del depurador" -#: src/nm.c:67 +#: src/nm.c:68 msgid "Display only defined symbols" msgstr "Mostrar sólo sÃmbolos definidos" -#: src/nm.c:70 +#: src/nm.c:71 msgid "Display dynamic symbols instead of normal symbols" msgstr "Mostrar sÃmbolos dinámicos en lugar de sÃmbolos normales" -#: src/nm.c:71 +#: src/nm.c:72 msgid "Display only external symbols" msgstr "Mostrar sólo sÃmbolos externos" -#: src/nm.c:72 +#: src/nm.c:73 msgid "Display only undefined symbols" msgstr "Mostrar sólo sÃmbolos indefinidos" -#: src/nm.c:74 +#: src/nm.c:75 msgid "Include index for symbols from archive members" msgstr "Incluir Ãndices para sÃmbolos de miembros de archivo" -#: src/nm.c:76 src/size.c:57 +#: src/nm.c:77 src/size.c:57 msgid "Output format:" msgstr "Formato de salida:" -#: src/nm.c:78 +#: src/nm.c:79 msgid "Print name of the input file before every symbol" msgstr "Imprimir nombre de archivo de entrada antes de cada sÃmbolo" -#: src/nm.c:81 +#: src/nm.c:82 msgid "" "Use the output format FORMAT. FORMAT can be `bsd', `sysv' or `posix'. The " "default is `sysv'" @@ -4193,73 +4249,73 @@ msgstr "" "Usar el formato de salida FORMATO. FORMATO puede ser o bien `bsd', o " "`sysv', o `posix'. El establecido por defecto es `sysv'" -#: src/nm.c:83 +#: src/nm.c:84 msgid "Same as --format=bsd" msgstr "lo mismo que --format=bsd" -#: src/nm.c:84 +#: src/nm.c:85 msgid "Same as --format=posix" msgstr "lo mismo que --format=posix" -#: src/nm.c:85 src/size.c:63 +#: src/nm.c:86 src/size.c:63 msgid "Use RADIX for printing symbol values" msgstr "Utilizar RADIX para imprimir valores de sÃmbolo" -#: src/nm.c:86 +#: src/nm.c:87 #, fuzzy msgid "Mark special symbols" msgstr "Marcar sÃmbolos débiles" -#: src/nm.c:88 +#: src/nm.c:89 msgid "Print size of defined symbols" msgstr "Tamaño de impresión de sÃmbolos definidos" -#: src/nm.c:90 src/size.c:71 src/strip.c:72 src/unstrip.c:72 +#: src/nm.c:91 src/size.c:71 src/strip.c:72 src/unstrip.c:72 msgid "Output options:" msgstr "Opciones de salida:" -#: src/nm.c:91 +#: src/nm.c:92 msgid "Sort symbols numerically by address" msgstr "Ordenar los sÃmbolos numéricos por dirección" -#: src/nm.c:93 +#: src/nm.c:94 msgid "Do not sort the symbols" msgstr "No ordenar los sÃmbolos" -#: src/nm.c:94 +#: src/nm.c:95 msgid "Reverse the sense of the sort" msgstr "Invertir el orden" -#: src/nm.c:97 +#: src/nm.c:98 msgid "Decode low-level symbol names into source code names" msgstr "" -#: src/nm.c:104 +#: src/nm.c:105 msgid "List symbols from FILEs (a.out by default)." msgstr "Listar sÃmbolos de FICHEROS (a.out por defecto)." -#: src/nm.c:115 src/objdump.c:79 +#: src/nm.c:116 src/objdump.c:79 #, fuzzy msgid "Output formatting" msgstr "Formato de salida:" -#: src/nm.c:139 src/objdump.c:103 src/size.c:108 src/strip.c:127 +#: src/nm.c:140 src/objdump.c:103 src/size.c:108 src/strip.c:127 #, fuzzy, c-format msgid "%s: INTERNAL ERROR %d (%s): %s" msgstr "%s: ERROR INTERNO %d (%s-%s): %s" -#: src/nm.c:394 src/nm.c:406 src/size.c:305 src/size.c:314 src/size.c:325 +#: src/nm.c:395 src/nm.c:407 src/size.c:305 src/size.c:314 src/size.c:325 #: src/strip.c:2280 #, c-format msgid "while closing '%s'" msgstr "error al cerrar '%s'" -#: src/nm.c:416 src/objdump.c:292 src/strip.c:391 +#: src/nm.c:417 src/objdump.c:292 src/strip.c:391 #, c-format msgid "%s: File format not recognized" msgstr "%s: No se reconoce el formato del fichero" -#: src/nm.c:456 +#: src/nm.c:457 #, fuzzy msgid "" "\n" @@ -4268,42 +4324,42 @@ msgstr "" "\n" "Ãndice de archivo:" -#: src/nm.c:465 +#: src/nm.c:466 #, c-format msgid "invalid offset %zu for symbol %s" msgstr "Compensación %zu inválida para sÃmbolo %s" -#: src/nm.c:470 +#: src/nm.c:471 #, c-format msgid "%s in %s\n" msgstr "%s en %s\n" -#: src/nm.c:478 +#: src/nm.c:479 #, c-format msgid "cannot reset archive offset to beginning" msgstr "imposible restablecer compensación de archivo al inicio" -#: src/nm.c:503 src/objdump.c:340 +#: src/nm.c:504 src/objdump.c:340 #, c-format msgid "%s%s%s: file format not recognized" msgstr "%s%s%s: no se reconoció el formato de fichero" -#: src/nm.c:715 +#: src/nm.c:719 #, c-format msgid "cannot create search tree" msgstr "No se puede crear el árbol de búsqueda" -#: src/nm.c:754 src/nm.c:1160 src/objdump.c:789 src/readelf.c:536 -#: src/readelf.c:1085 src/readelf.c:1245 src/readelf.c:1393 src/readelf.c:1579 -#: src/readelf.c:1785 src/readelf.c:1975 src/readelf.c:2202 src/readelf.c:2460 -#: src/readelf.c:2536 src/readelf.c:2623 src/readelf.c:3203 src/readelf.c:3239 -#: src/readelf.c:3302 src/readelf.c:8212 src/readelf.c:9314 src/readelf.c:9461 -#: src/readelf.c:9529 src/size.c:413 src/size.c:482 src/strip.c:520 +#: src/nm.c:760 src/nm.c:1221 src/objdump.c:789 src/readelf.c:545 +#: src/readelf.c:1123 src/readelf.c:1323 src/readelf.c:1471 src/readelf.c:1667 +#: src/readelf.c:1873 src/readelf.c:2063 src/readelf.c:2300 src/readelf.c:2558 +#: src/readelf.c:2634 src/readelf.c:2721 src/readelf.c:3301 src/readelf.c:3347 +#: src/readelf.c:3410 src/readelf.c:8320 src/readelf.c:9420 src/readelf.c:9603 +#: src/readelf.c:9671 src/size.c:413 src/size.c:482 src/strip.c:520 #, c-format msgid "cannot get section header string table index" msgstr "no se puede obtener Ãndice de cadena de encabezamiento de sección" -#: src/nm.c:781 +#: src/nm.c:787 #, c-format msgid "" "\n" @@ -4316,7 +4372,7 @@ msgstr "" "SÃmbolos de %s:\n" "\n" -#: src/nm.c:784 +#: src/nm.c:790 #, c-format msgid "" "%*s%-*s %-*s Class Type %-*s %*s Section\n" @@ -4325,23 +4381,23 @@ msgstr "" "%*s%-*s %-*s Clase Tipo %-*s %*s Sección\n" "\n" -#: src/nm.c:1171 +#: src/nm.c:1232 #, fuzzy, c-format msgid "%s: entry size in section %zd `%s' is not what we expect" msgstr "" "%s: el tamaño de la entrada en la sección `%s' no es el que esperábamos " -#: src/nm.c:1176 +#: src/nm.c:1237 #, fuzzy, c-format msgid "%s: size of section %zd `%s' is not multiple of entry size" msgstr "%s: Tamaño de sección `%s' no es múltiplo de tamaño de entrada" -#: src/nm.c:1434 +#: src/nm.c:1537 #, c-format msgid "%s%s%s%s: Invalid operation" msgstr "%s%s%s%s: Operación inválida" -#: src/nm.c:1491 +#: src/nm.c:1594 #, c-format msgid "%s%s%s: no symbols" msgstr "%s%s%s: No hay sÃmbolos" @@ -4375,7 +4431,7 @@ msgstr "Sólo muestra información para NOMBRE de sección." msgid "Show information from FILEs (a.out by default)." msgstr "Muestra información de FICHEROS (a.out por defecto)." -#: src/objdump.c:232 src/readelf.c:473 +#: src/objdump.c:232 src/readelf.c:479 msgid "No operation specified.\n" msgstr "No se especificó una operación.\n" @@ -4384,11 +4440,11 @@ msgstr "No se especificó una operación.\n" msgid "while close `%s'" msgstr "mientras cierra `%s'" -#: src/objdump.c:375 src/readelf.c:1880 src/readelf.c:2072 +#: src/objdump.c:375 src/readelf.c:1968 src/readelf.c:2160 msgid "INVALID SYMBOL" msgstr "SÃMBOLO INVÃLIDO" -#: src/objdump.c:390 src/readelf.c:1914 src/readelf.c:2108 +#: src/objdump.c:390 src/readelf.c:2002 src/readelf.c:2196 msgid "INVALID SECTION" msgstr "SECCIÓN INVÃLIDA" @@ -4440,73 +4496,73 @@ msgstr "%s: no es un archivo" msgid "error while freeing sub-ELF descriptor: %s" msgstr "error al liberar descriptor sub-ELF: %s" -#: src/readelf.c:71 +#: src/readelf.c:72 #, fuzzy msgid "ELF input selection:" msgstr "Selección de salida de ELF:" -#: src/readelf.c:73 +#: src/readelf.c:74 msgid "" "Use the named SECTION (default .gnu_debugdata) as (compressed) ELF input data" msgstr "" -#: src/readelf.c:75 +#: src/readelf.c:76 msgid "ELF output selection:" msgstr "Selección de salida de ELF:" -#: src/readelf.c:77 +#: src/readelf.c:78 msgid "All these plus -p .strtab -p .dynstr -p .comment" msgstr "Todo esto mas -p .strtab -p .dynstr -p .comment" -#: src/readelf.c:78 +#: src/readelf.c:79 msgid "Display the dynamic segment" msgstr "Mostrar el segmento dinámico" -#: src/readelf.c:79 +#: src/readelf.c:80 msgid "Display the ELF file header" msgstr "Mostrar el encabezamiento del fichero ELF" -#: src/readelf.c:81 +#: src/readelf.c:82 msgid "Display histogram of bucket list lengths" msgstr "Mostrar histograma de las longitudes de las listas de cubetas" -#: src/readelf.c:82 +#: src/readelf.c:83 msgid "Display the program headers" msgstr "Mostrar encabezamientos de programa" -#: src/readelf.c:84 +#: src/readelf.c:85 msgid "Display relocations" msgstr "Mostrar reubicaciones" -#: src/readelf.c:85 +#: src/readelf.c:86 msgid "Display the sections' headers" msgstr "Mostrar los encabezados de las secciones" -#: src/readelf.c:87 +#: src/readelf.c:88 msgid "Display the symbol table" msgstr "Mostrar la tabla de sÃmbolos" -#: src/readelf.c:88 +#: src/readelf.c:89 msgid "Display versioning information" msgstr "Mostrar información de versión" -#: src/readelf.c:89 +#: src/readelf.c:90 msgid "Display the ELF notes" msgstr "Mostrar las notas ELF" -#: src/readelf.c:91 +#: src/readelf.c:92 msgid "Display architecture specific information, if any" msgstr "Mostrar información especÃfica de la arquitectura (si es que la hay)" -#: src/readelf.c:93 +#: src/readelf.c:94 msgid "Display sections for exception handling" msgstr "Muestra secciones para manejo de excepciones" -#: src/readelf.c:95 +#: src/readelf.c:96 msgid "Additional output selection:" msgstr "Selección de salida adicional:" -#: src/readelf.c:97 +#: src/readelf.c:98 #, fuzzy msgid "" "Display DWARF section content. SECTION can be one of abbrev, aranges, " @@ -4517,170 +4573,176 @@ msgstr "" "siguiente: abbrev, aranges, frame, info, loc, line, ranges, pubnames, str, " "macinfo, o exception" -#: src/readelf.c:101 +#: src/readelf.c:102 msgid "Dump the uninterpreted contents of SECTION, by number or name" msgstr "Vuelca los contenidos no interpretados de SECCIÓN, por número o nombre" -#: src/readelf.c:103 +#: src/readelf.c:104 msgid "Print string contents of sections" msgstr "Imprime contenido de cadena de secciones" -#: src/readelf.c:106 +#: src/readelf.c:107 msgid "Display the symbol index of an archive" msgstr "Muestra el Ãndice de sÃmbolos de un archivo" -#: src/readelf.c:108 +#: src/readelf.c:109 msgid "Output control:" msgstr "Control de salida:" -#: src/readelf.c:110 +#: src/readelf.c:111 msgid "Do not find symbol names for addresses in DWARF data" msgstr "" "No se encuentran los nombres de sÃmbolos para direcciones en datos DWARF" -#: src/readelf.c:112 +#: src/readelf.c:113 #, fuzzy msgid "" "Display just offsets instead of resolving values to addresses in DWARF data" msgstr "" "No se encuentran los nombres de sÃmbolos para direcciones en datos DWARF" -#: src/readelf.c:114 +#: src/readelf.c:115 msgid "Ignored for compatibility (lines always wide)" msgstr "" -#: src/readelf.c:119 +#: src/readelf.c:117 +msgid "" +"Show compression information for compressed sections (when used with -S); " +"decompress section before dumping data (when used with -p or -x)" +msgstr "" + +#: src/readelf.c:122 msgid "Print information from ELF file in human-readable form." msgstr "" "Imprimir información del fichero ELF en una forma comprensible para los " "seres humanos." -#: src/readelf.c:441 +#: src/readelf.c:447 #, c-format msgid "Unknown DWARF debug section `%s'.\n" msgstr "Sección de depuración DWARF desconocida `%s'.\n" -#: src/readelf.c:520 src/readelf.c:631 +#: src/readelf.c:529 src/readelf.c:640 #, c-format msgid "cannot generate Elf descriptor: %s" msgstr "no se puede crear descriptor ELF: %s" -#: src/readelf.c:545 src/readelf.c:1099 src/readelf.c:1269 +#: src/readelf.c:554 src/readelf.c:1145 src/readelf.c:1347 #, c-format msgid "cannot get section: %s" msgstr "No se puede encontrar la sección: %s" -#: src/readelf.c:554 src/readelf.c:1106 src/readelf.c:1277 src/readelf.c:9481 -#: src/unstrip.c:355 src/unstrip.c:386 src/unstrip.c:435 src/unstrip.c:543 -#: src/unstrip.c:560 src/unstrip.c:596 src/unstrip.c:794 src/unstrip.c:1083 -#: src/unstrip.c:1274 src/unstrip.c:1334 src/unstrip.c:1455 src/unstrip.c:1508 -#: src/unstrip.c:1623 src/unstrip.c:1761 src/unstrip.c:1855 +#: src/readelf.c:563 src/readelf.c:1152 src/readelf.c:1355 src/readelf.c:9623 +#: src/unstrip.c:387 src/unstrip.c:418 src/unstrip.c:467 src/unstrip.c:577 +#: src/unstrip.c:594 src/unstrip.c:631 src/unstrip.c:829 src/unstrip.c:1118 +#: src/unstrip.c:1309 src/unstrip.c:1369 src/unstrip.c:1490 src/unstrip.c:1543 +#: src/unstrip.c:1658 src/unstrip.c:1796 src/unstrip.c:1891 #, c-format msgid "cannot get section header: %s" msgstr "No se puede obtener encabezamiento de sección: %s" -#: src/readelf.c:562 +#: src/readelf.c:571 #, fuzzy, c-format msgid "cannot get section name" msgstr "no se puede obtener encabezamiento de sección\n" -#: src/readelf.c:571 src/readelf.c:5396 src/readelf.c:7670 src/readelf.c:7772 -#: src/readelf.c:7949 +#: src/readelf.c:580 src/readelf.c:5504 src/readelf.c:7778 src/readelf.c:7880 +#: src/readelf.c:8057 #, c-format msgid "cannot get %s content: %s" msgstr "No se puede obtener el contenido %s: %s" -#: src/readelf.c:587 +#: src/readelf.c:596 #, fuzzy, c-format msgid "cannot create temp file '%s'" msgstr "no se puede crear fichero nuevo '%s': %s" -#: src/readelf.c:596 +#: src/readelf.c:605 #, fuzzy, c-format msgid "cannot write section data" msgstr "no se puede leer la sección de datos: %s" -#: src/readelf.c:602 src/readelf.c:619 src/readelf.c:648 +#: src/readelf.c:611 src/readelf.c:628 src/readelf.c:657 #, c-format msgid "error while closing Elf descriptor: %s" msgstr "error al cerrar el descriptor ELF: %s" -#: src/readelf.c:609 +#: src/readelf.c:618 #, fuzzy, c-format msgid "error while rewinding file descriptor" msgstr "error al cerrar el descriptor ELF: %s" -#: src/readelf.c:643 +#: src/readelf.c:652 #, c-format msgid "'%s' is not an archive, cannot print archive index" msgstr "'%s' no es un archivo, no se puede imprimir Ãndice de archivo" -#: src/readelf.c:742 +#: src/readelf.c:751 #, fuzzy, c-format msgid "No such section '%s' in '%s'" msgstr "No se puede obtener contenido de sección %zu en '%s': %s" -#: src/readelf.c:769 +#: src/readelf.c:778 #, c-format msgid "cannot stat input file" msgstr "no sepudo stat archivo de entrada" -#: src/readelf.c:771 +#: src/readelf.c:780 #, c-format msgid "input file is empty" msgstr "archivo de entrada vacÃo" -#: src/readelf.c:773 +#: src/readelf.c:782 #, c-format msgid "failed reading '%s': %s" msgstr "Falló lectura de '%s': %s" -#: src/readelf.c:814 +#: src/readelf.c:837 #, c-format msgid "cannot read ELF header: %s" msgstr "no se pudo leer encabezamiento ELF: %s" -#: src/readelf.c:822 +#: src/readelf.c:845 #, c-format msgid "cannot create EBL handle" msgstr "no se puede crear EBL" -#: src/readelf.c:835 +#: src/readelf.c:858 #, c-format msgid "cannot determine number of program headers: %s" msgstr "no se pudo determinar la cantidad de encabezados de programa: %s" -#: src/readelf.c:921 +#: src/readelf.c:948 msgid "NONE (None)" msgstr "NONE (Ninguno)" -#: src/readelf.c:922 +#: src/readelf.c:949 msgid "REL (Relocatable file)" msgstr "REL (Fichero reubicable)" -#: src/readelf.c:923 +#: src/readelf.c:950 msgid "EXEC (Executable file)" msgstr "EXEC (Fichero ejecutable)" -#: src/readelf.c:924 +#: src/readelf.c:951 msgid "DYN (Shared object file)" msgstr "DYN (Fichero objeto compartido)" -#: src/readelf.c:925 +#: src/readelf.c:952 msgid "CORE (Core file)" msgstr "CORE (Fichero núcleo)" -#: src/readelf.c:930 +#: src/readelf.c:957 #, c-format msgid "OS Specific: (%x)\n" msgstr "OS Specific: (%x)\n" -#: src/readelf.c:932 +#: src/readelf.c:959 #, c-format msgid "Processor Specific: (%x)\n" msgstr "EspecÃfico del procesador: (%x)\n" -#: src/readelf.c:942 +#: src/readelf.c:969 msgid "" "ELF Header:\n" " Magic: " @@ -4688,7 +4750,7 @@ msgstr "" "Encabezamiento ELF:\n" " Mágico: " -#: src/readelf.c:946 +#: src/readelf.c:973 #, c-format msgid "" "\n" @@ -4697,119 +4759,119 @@ msgstr "" "\n" " Clase: %s\n" -#: src/readelf.c:951 +#: src/readelf.c:978 #, c-format msgid " Data: %s\n" msgstr " Datos: %s\n" -#: src/readelf.c:957 +#: src/readelf.c:984 #, c-format msgid " Ident Version: %hhd %s\n" msgstr " Versión ident: %hhd %s\n" -#: src/readelf.c:959 src/readelf.c:976 +#: src/readelf.c:986 src/readelf.c:1003 msgid "(current)" msgstr "(actual)" -#: src/readelf.c:963 +#: src/readelf.c:990 #, c-format msgid " OS/ABI: %s\n" msgstr " OS/ABI: %s\n" -#: src/readelf.c:966 +#: src/readelf.c:993 #, c-format msgid " ABI Version: %hhd\n" msgstr " Versión ABI: %hhd\n" -#: src/readelf.c:969 +#: src/readelf.c:996 msgid " Type: " msgstr " Tipo: " -#: src/readelf.c:972 +#: src/readelf.c:999 #, c-format msgid " Machine: %s\n" msgstr " Máquina: %s\n" -#: src/readelf.c:974 +#: src/readelf.c:1001 #, c-format msgid " Version: %d %s\n" msgstr " Versión: %d %s\n" -#: src/readelf.c:978 +#: src/readelf.c:1005 #, c-format msgid " Entry point address: %#<PRIx64>\n" msgstr " Dirección de punto de entrada: %#<PRIx64>\n" -#: src/readelf.c:981 +#: src/readelf.c:1008 #, c-format msgid " Start of program headers: %<PRId64> %s\n" msgstr " Inicio de encabezamientos de programa: %<PRId64> %s\n" -#: src/readelf.c:982 src/readelf.c:985 +#: src/readelf.c:1009 src/readelf.c:1012 msgid "(bytes into file)" msgstr " (bytes en el archivo)" -#: src/readelf.c:984 +#: src/readelf.c:1011 #, c-format msgid " Start of section headers: %<PRId64> %s\n" msgstr " Inicio de encabezamientos de sección: %<PRId64> %s\n" -#: src/readelf.c:987 +#: src/readelf.c:1014 #, c-format msgid " Flags: %s\n" msgstr " Indicadores: %s\n" -#: src/readelf.c:990 +#: src/readelf.c:1017 #, c-format msgid " Size of this header: %<PRId16> %s\n" msgstr " Tamaño de este encabezamiento: %<PRId16> %s\n" -#: src/readelf.c:991 src/readelf.c:994 src/readelf.c:1011 +#: src/readelf.c:1018 src/readelf.c:1021 src/readelf.c:1038 msgid "(bytes)" msgstr "(bytes)" -#: src/readelf.c:993 +#: src/readelf.c:1020 #, c-format msgid " Size of program header entries: %<PRId16> %s\n" msgstr "" " Tamaño de las entradas en encabezamiento del programa: %<PRId16> %s\n" -#: src/readelf.c:996 +#: src/readelf.c:1023 #, c-format msgid " Number of program headers entries: %<PRId16>" msgstr " Cantidad de entradas de encabezados de programa: %<PRId16>" -#: src/readelf.c:1003 +#: src/readelf.c:1030 #, c-format msgid " (%<PRIu32> in [0].sh_info)" msgstr " (%<PRIu32> in [0].sh_info)" -#: src/readelf.c:1006 src/readelf.c:1023 src/readelf.c:1037 +#: src/readelf.c:1033 src/readelf.c:1050 src/readelf.c:1064 msgid " ([0] not available)" msgstr " ([0] no disponible)" -#: src/readelf.c:1010 +#: src/readelf.c:1037 #, c-format msgid " Size of section header entries: %<PRId16> %s\n" msgstr "" " Tamaño de las entradas en el encabezamiento de sección: %<PRId16> %s\n" -#: src/readelf.c:1013 +#: src/readelf.c:1040 #, c-format msgid " Number of section headers entries: %<PRId16>" msgstr " Cantidad de entradas en los encabezamientos de sección: %<PRId16>" -#: src/readelf.c:1020 +#: src/readelf.c:1047 #, c-format msgid " (%<PRIu32> in [0].sh_size)" msgstr " (%<PRIu32> en [0].sh_size)" -#: src/readelf.c:1033 +#: src/readelf.c:1060 #, c-format msgid " (%<PRIu32> in [0].sh_link)" msgstr " (%<PRIu32> en [0].sh_link)" -#: src/readelf.c:1041 +#: src/readelf.c:1068 #, c-format msgid "" " Section header string table index: XINDEX%s\n" @@ -4818,14 +4880,14 @@ msgstr "" " Ãndice de tabla de cadenas de sección de encabezamiento de : XINDEX%s\n" "\n" -#: src/readelf.c:1045 +#: src/readelf.c:1072 #, c-format msgid "" " Section header string table index: %<PRId16>\n" "\n" msgstr " Ãndice de tabla de cadenas de sección de encabezamiento: %<PRId16>\n" -#: src/readelf.c:1077 +#: src/readelf.c:1115 #, c-format msgid "" "There are %d section headers, starting at offset %#<PRIx64>:\n" @@ -4834,11 +4896,11 @@ msgstr "" "Hay %d encabezamientos de sección, comenzando en compensación %#<PRIx64>:\n" "\n" -#: src/readelf.c:1087 +#: src/readelf.c:1125 msgid "Section Headers:" msgstr "encabezamientos de sección:" -#: src/readelf.c:1090 +#: src/readelf.c:1128 msgid "" "[Nr] Name Type Addr Off Size ES Flags Lk " "Inf Al" @@ -4846,7 +4908,7 @@ msgstr "" "[Nr] Nombre Tipo Dirección Off Tamaño Inf Al " "Enlace banderas ES" -#: src/readelf.c:1092 +#: src/readelf.c:1130 msgid "" "[Nr] Name Type Addr Off Size ES " "Flags Lk Inf Al" @@ -4854,18 +4916,36 @@ msgstr "" "[Nr] Name Type Addr Off Size ES " "Flags Lk Inf Al" -#: src/readelf.c:1164 +#: src/readelf.c:1135 +msgid " [Compression Size Al]" +msgstr "" + +#: src/readelf.c:1137 +msgid " [Compression Size Al]" +msgstr "" + +#: src/readelf.c:1213 +#, fuzzy, c-format +msgid "bad compression header for section %zd: %s" +msgstr "No se puede obtener el encabezamiento de sección %zu: %s" + +#: src/readelf.c:1224 +#, fuzzy, c-format +msgid "bad gnu compressed size for section %zd: %s" +msgstr "No se pueden obtener datos para la sección %d: %s" + +#: src/readelf.c:1242 msgid "Program Headers:" msgstr "encabezamientos de programa:" -#: src/readelf.c:1166 +#: src/readelf.c:1244 msgid "" " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align" msgstr "" " Tipo Compensación Dirección Virtual Dirección " "FÃsica Tamaño de Fichero Tamaño de Memoria Alineación de bandera" -#: src/readelf.c:1169 +#: src/readelf.c:1247 msgid "" " Type Offset VirtAddr PhysAddr FileSiz " "MemSiz Flg Align" @@ -4873,12 +4953,12 @@ msgstr "" " Tipo Compensación Dirección Virtual Dirección " "FÃsica Tamaño de Fichero Tamaño de Memoria Alineación de bandera" -#: src/readelf.c:1226 +#: src/readelf.c:1304 #, c-format msgid "\t[Requesting program interpreter: %s]\n" msgstr "\t[Solicitando intérprete de programa: %s]\n" -#: src/readelf.c:1247 +#: src/readelf.c:1325 msgid "" "\n" " Section to Segment mapping:\n" @@ -4888,12 +4968,12 @@ msgstr "" " Sección para asignación de segmento:\n" " Secciones de segmento..." -#: src/readelf.c:1258 src/unstrip.c:1914 src/unstrip.c:1957 src/unstrip.c:1964 +#: src/readelf.c:1336 src/unstrip.c:1950 src/unstrip.c:1992 src/unstrip.c:1999 #, c-format msgid "cannot get program header: %s" msgstr "no se puede obtener memoria para encabezamiento del programa: %s" -#: src/readelf.c:1401 +#: src/readelf.c:1479 #, c-format msgid "" "\n" @@ -4908,7 +4988,7 @@ msgstr[1] "" "\n" "Grupo de sección COMDAT [%2zu] '%s' con firma '%s' contiene entradas %zu:\n" -#: src/readelf.c:1406 +#: src/readelf.c:1484 #, c-format msgid "" "\n" @@ -4923,21 +5003,25 @@ msgstr[1] "" "\n" "Grupo de sección [%2zu] '%s' con firma '%s' contiene entradas %zu:\n" -#: src/readelf.c:1414 +#: src/readelf.c:1492 msgid "<INVALID SYMBOL>" msgstr "<SÃMBOLO INVÃLIDO>" -#: src/readelf.c:1428 +#: src/readelf.c:1506 msgid "<INVALID SECTION>" msgstr "<SECCIÓN INVÃLIDA>" -#: src/readelf.c:1585 src/readelf.c:2208 src/readelf.c:2466 src/readelf.c:2542 -#: src/readelf.c:2846 src/readelf.c:2920 src/readelf.c:4608 +#: src/readelf.c:1529 src/readelf.c:2238 src/readelf.c:3317 +msgid "Couldn't uncompress section" +msgstr "" + +#: src/readelf.c:1673 src/readelf.c:2306 src/readelf.c:2564 src/readelf.c:2640 +#: src/readelf.c:2944 src/readelf.c:3018 src/readelf.c:4716 #, fuzzy, c-format msgid "invalid sh_link value in section %zu" msgstr ".debug_line section inválida" -#: src/readelf.c:1588 +#: src/readelf.c:1676 #, c-format msgid "" "\n" @@ -4958,36 +5042,36 @@ msgstr[1] "" " Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: " "[%2u] '%s'\n" -#: src/readelf.c:1598 +#: src/readelf.c:1686 msgid " Type Value\n" msgstr " Tipo Valor\n" -#: src/readelf.c:1622 +#: src/readelf.c:1710 #, c-format msgid "Shared library: [%s]\n" msgstr "Biblioteca compartida: [%s]\n" -#: src/readelf.c:1627 +#: src/readelf.c:1715 #, c-format msgid "Library soname: [%s]\n" msgstr "Nombre-so de la biblioteca: [%s]\n" -#: src/readelf.c:1632 +#: src/readelf.c:1720 #, c-format msgid "Library rpath: [%s]\n" msgstr "Rpath de la biblioteca: [%s]\n" -#: src/readelf.c:1637 +#: src/readelf.c:1725 #, c-format msgid "Library runpath: [%s]\n" msgstr "Ruta de ejecución de la biblioteca: [%s]\n" -#: src/readelf.c:1657 +#: src/readelf.c:1745 #, c-format msgid "%<PRId64> (bytes)\n" msgstr "%<PRId64> (bytes)\n" -#: src/readelf.c:1770 src/readelf.c:1960 +#: src/readelf.c:1858 src/readelf.c:2048 #, c-format msgid "" "\n" @@ -4996,7 +5080,7 @@ msgstr "" "\n" "Tabla de sÃmbolos inválida en compensación %#0<PRIx64>\n" -#: src/readelf.c:1788 src/readelf.c:1978 +#: src/readelf.c:1876 src/readelf.c:2066 #, c-format msgid "" "\n" @@ -5015,7 +5099,7 @@ msgstr[1] "" "Sección de reubicación [%2zu] '%s' para sección [%2u] '%s' en compensación " "%#0<PRIx64> contiene entradas %d:\n" -#: src/readelf.c:1803 src/readelf.c:1993 +#: src/readelf.c:1891 src/readelf.c:2081 #, c-format msgid "" "\n" @@ -5032,29 +5116,29 @@ msgstr[1] "" "Sección de reubicación [%2u] '%s' en compensación %#0<PRIx64> contiene " "entradas %d:\n" -#: src/readelf.c:1813 +#: src/readelf.c:1901 msgid " Offset Type Value Name\n" msgstr " Compensación Tipo Valor Nombre\n" -#: src/readelf.c:1815 +#: src/readelf.c:1903 msgid " Offset Type Value Name\n" msgstr " Compensación Tipo Valor Nombre\n" -#: src/readelf.c:1868 src/readelf.c:1879 src/readelf.c:1892 src/readelf.c:1913 -#: src/readelf.c:1925 src/readelf.c:2059 src/readelf.c:2071 src/readelf.c:2085 -#: src/readelf.c:2107 src/readelf.c:2120 +#: src/readelf.c:1956 src/readelf.c:1967 src/readelf.c:1980 src/readelf.c:2001 +#: src/readelf.c:2013 src/readelf.c:2147 src/readelf.c:2159 src/readelf.c:2173 +#: src/readelf.c:2195 src/readelf.c:2208 msgid "<INVALID RELOC>" msgstr "<REUBIC INVÃLIDA>" -#: src/readelf.c:2003 +#: src/readelf.c:2091 msgid " Offset Type Value Addend Name\n" msgstr " Compensación Tipo Valor Nombre Adend\n" -#: src/readelf.c:2005 +#: src/readelf.c:2093 msgid " Offset Type Value Addend Name\n" msgstr " Compensación Tipo Valor Nombre Adend\n" -#: src/readelf.c:2216 +#: src/readelf.c:2314 #, c-format msgid "" "\n" @@ -5069,40 +5153,40 @@ msgstr[1] "" "\n" "La tabla de sÃmbolos [%2u] '%s' contiene entradas %u:\n" -#: src/readelf.c:2221 +#: src/readelf.c:2319 #, c-format msgid " %lu local symbol String table: [%2u] '%s'\n" msgid_plural " %lu local symbols String table: [%2u] '%s'\n" msgstr[0] "sÃmbolos locales %lu Tabla de cadena: [%2u] '%s'\n" msgstr[1] " SÃmbolos locales %lu Tabla de cadenas: [%2u] '%s'\n" -#: src/readelf.c:2229 +#: src/readelf.c:2327 msgid " Num: Value Size Type Bind Vis Ndx Name\n" msgstr " Núm: Valor Tamaño Tipo Unión Vis Nombre Ndx\n" -#: src/readelf.c:2231 +#: src/readelf.c:2329 msgid " Num: Value Size Type Bind Vis Ndx Name\n" msgstr " Num: Valor Tamaño Tipo Unión Vis Nombre Ndx\n" -#: src/readelf.c:2251 +#: src/readelf.c:2349 #, c-format msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s" msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s" -#: src/readelf.c:2339 +#: src/readelf.c:2437 #, c-format msgid "bad dynamic symbol" msgstr "sÃmbolo dinámico erróneo" -#: src/readelf.c:2421 +#: src/readelf.c:2519 msgid "none" msgstr "nada" -#: src/readelf.c:2438 +#: src/readelf.c:2536 msgid "| <unknown>" msgstr "| <desconocido>" -#: src/readelf.c:2469 +#: src/readelf.c:2567 #, c-format msgid "" "\n" @@ -5123,17 +5207,17 @@ msgstr[1] "" " Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: " "[%2u] '%s'\n" -#: src/readelf.c:2490 +#: src/readelf.c:2588 #, c-format msgid " %#06x: Version: %hu File: %s Cnt: %hu\n" msgstr " %#06x: Versión: %hu Fichero: %s Conteo: %hu\n" -#: src/readelf.c:2503 +#: src/readelf.c:2601 #, c-format msgid " %#06x: Name: %s Flags: %s Version: %hu\n" msgstr " %#06x: Nombre: %s Banderas: %s Versión: %hu\n" -#: src/readelf.c:2546 +#: src/readelf.c:2644 #, c-format msgid "" "\n" @@ -5154,18 +5238,18 @@ msgstr[1] "" " Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: " "[%2u] '%s'\n" -#: src/readelf.c:2574 +#: src/readelf.c:2672 #, c-format msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n" msgstr "" " %#06x: Versión: %hd Banderas: %s Ãndice: %hd Conteo: %hd Nombre: %s\n" -#: src/readelf.c:2589 +#: src/readelf.c:2687 #, c-format msgid " %#06x: Parent %d: %s\n" msgstr " %#06x: Principal %d: %s\n" -#: src/readelf.c:2850 +#: src/readelf.c:2948 #, c-format msgid "" "\n" @@ -5186,15 +5270,15 @@ msgstr[1] "" " Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: " "[%2u] '%s'" -#: src/readelf.c:2878 +#: src/readelf.c:2976 msgid " 0 *local* " msgstr " 0 *local* " -#: src/readelf.c:2883 +#: src/readelf.c:2981 msgid " 1 *global* " msgstr " 1 *global* " -#: src/readelf.c:2925 +#: src/readelf.c:3023 #, c-format msgid "" "\n" @@ -5219,22 +5303,22 @@ msgstr[1] "" " Dirección: %#0*<PRIx64> Compensación: %#08<PRIx64> Enlace a sección: " "[%2u] '%s'\n" -#: src/readelf.c:2947 +#: src/readelf.c:3045 #, no-c-format msgid " Length Number % of total Coverage\n" msgstr " Longitud Número % of total Cobertura\n" -#: src/readelf.c:2949 +#: src/readelf.c:3047 #, c-format msgid " 0 %6<PRIu32> %5.1f%%\n" msgstr " 0 %6<PRIu32> %5.1f%%\n" -#: src/readelf.c:2956 +#: src/readelf.c:3054 #, c-format msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n" msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n" -#: src/readelf.c:2969 +#: src/readelf.c:3067 #, c-format msgid "" " Average number of tests: successful lookup: %f\n" @@ -5243,27 +5327,27 @@ msgstr "" " Número promedio de pruebas: búsqueda exitosa: %f\n" " búsqueda sin éxito: %f\n" -#: src/readelf.c:2987 src/readelf.c:3042 src/readelf.c:3099 +#: src/readelf.c:3085 src/readelf.c:3140 src/readelf.c:3197 #, c-format msgid "cannot get data for section %d: %s" msgstr "No se pueden obtener datos para la sección %d: %s" -#: src/readelf.c:2995 +#: src/readelf.c:3093 #, fuzzy, c-format msgid "invalid data in sysv.hash section %d" msgstr "Datos inválidos en sección [%zu] '%s'" -#: src/readelf.c:3050 +#: src/readelf.c:3148 #, fuzzy, c-format msgid "invalid data in sysv.hash64 section %d" msgstr "Datos inválidos en sección [%zu] '%s'" -#: src/readelf.c:3108 +#: src/readelf.c:3206 #, fuzzy, c-format msgid "invalid data in gnu.hash section %d" msgstr "Datos inválidos en sección [%zu] '%s'" -#: src/readelf.c:3175 +#: src/readelf.c:3273 #, c-format msgid "" " Symbol Bias: %u\n" @@ -5273,7 +5357,7 @@ msgstr "" " Tamaño de Bitmask: %zu bytes %<PRIuFAST32>%% bits establecen segundo " "cambio de dispersión: %u\n" -#: src/readelf.c:3250 +#: src/readelf.c:3358 #, c-format msgid "" "\n" @@ -5290,7 +5374,7 @@ msgstr[1] "" "Sección de lista de biblioteca [%2zu] '%s' en compensación %#0<PRIx64> " "contiene entradas %d:\n" -#: src/readelf.c:3264 +#: src/readelf.c:3372 msgid "" " Library Time Stamp Checksum Version " "Flags" @@ -5298,7 +5382,7 @@ msgstr "" " Biblioteca Marca de tiempo Indicadores " "de versión de suma de verificación" -#: src/readelf.c:3314 +#: src/readelf.c:3422 #, c-format msgid "" "\n" @@ -5309,140 +5393,140 @@ msgstr "" "Sección de atributos de objeto [%2zu] '%s' de %<PRIu64> bytes con " "desplazamiento %#0<PRIx64>:\n" -#: src/readelf.c:3331 +#: src/readelf.c:3439 msgid " Owner Size\n" msgstr " Propietario Tamaño\n" -#: src/readelf.c:3360 +#: src/readelf.c:3468 #, c-format msgid " %-13s %4<PRIu32>\n" msgstr " %-13s %4<PRIu32>\n" -#: src/readelf.c:3399 +#: src/readelf.c:3507 #, c-format msgid " %-4u %12<PRIu32>\n" msgstr " %-4u %12<PRIu32>\n" -#: src/readelf.c:3404 +#: src/readelf.c:3512 #, c-format msgid " File: %11<PRIu32>\n" msgstr " File: %11<PRIu32>\n" -#: src/readelf.c:3453 +#: src/readelf.c:3561 #, c-format msgid " %s: %<PRId64>, %s\n" msgstr " %s: %<PRId64>, %s\n" -#: src/readelf.c:3456 +#: src/readelf.c:3564 #, c-format msgid " %s: %<PRId64>\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:3459 +#: src/readelf.c:3567 #, c-format msgid " %s: %s\n" msgstr " %s: %s\n" -#: src/readelf.c:3469 +#: src/readelf.c:3577 #, c-format msgid " %u: %<PRId64>\n" msgstr " %u: %<PRId64>\n" -#: src/readelf.c:3472 +#: src/readelf.c:3580 #, c-format msgid " %u: %s\n" msgstr " %u: %s\n" -#: src/readelf.c:3517 +#: src/readelf.c:3625 #, c-format msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>" msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3520 +#: src/readelf.c:3628 #, c-format msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>" msgstr "%s+%#0*<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3525 +#: src/readelf.c:3633 #, c-format msgid "%#<PRIx64> <%s+%#<PRIx64>>" msgstr "%#<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3528 +#: src/readelf.c:3636 #, c-format msgid "%#0*<PRIx64> <%s+%#<PRIx64>>" msgstr "%#0*<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3534 +#: src/readelf.c:3642 #, c-format msgid "%s+%#<PRIx64> <%s>" msgstr "%s+%#<PRIx64> <%s>" -#: src/readelf.c:3537 +#: src/readelf.c:3645 #, c-format msgid "%s+%#0*<PRIx64> <%s>" msgstr "%s+%#0*<PRIx64> <%s>" -#: src/readelf.c:3541 +#: src/readelf.c:3649 #, c-format msgid "%#<PRIx64> <%s>" msgstr "%#<PRIx64> <%s>" -#: src/readelf.c:3544 +#: src/readelf.c:3652 #, c-format msgid "%#0*<PRIx64> <%s>" msgstr "%#0*<PRIx64> <%s>" -#: src/readelf.c:3549 +#: src/readelf.c:3657 #, c-format msgid "%s+%#<PRIx64>" msgstr "%s+%#<PRIx64>" -#: src/readelf.c:3552 +#: src/readelf.c:3660 #, c-format msgid "%s+%#0*<PRIx64>" msgstr "%s+%#0*<PRIx64>" -#: src/readelf.c:3930 +#: src/readelf.c:4038 msgid "empty block" msgstr "bloque vacÃo" -#: src/readelf.c:3933 +#: src/readelf.c:4041 #, c-format msgid "%zu byte block:" msgstr "bloque de byte %zu:" -#: src/readelf.c:4330 +#: src/readelf.c:4438 #, c-format msgid "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n" msgstr "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n" -#: src/readelf.c:4387 +#: src/readelf.c:4495 #, c-format msgid "%s %#<PRIx64> used with different address sizes" msgstr "%s %#<PRIx64> utilizado con direcciones de diferente tamaño" -#: src/readelf.c:4394 +#: src/readelf.c:4502 #, c-format msgid "%s %#<PRIx64> used with different offset sizes" msgstr "%s %#<PRIx64> utilizado con offsetr de diferente tamaño" -#: src/readelf.c:4401 +#: src/readelf.c:4509 #, fuzzy, c-format msgid "%s %#<PRIx64> used with different base addresses" msgstr "%s %#<PRIx64> utilizado con direcciones de diferente tamaño" -#: src/readelf.c:4490 +#: src/readelf.c:4598 #, c-format msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n" msgstr " [%6tx] <MATERIAL INUTIL SIN UTILIZAR EN EL RESTO DE LA SECCION>\n" -#: src/readelf.c:4498 +#: src/readelf.c:4606 #, c-format msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n" msgstr " [%6tx] <MATERIAL INUTIL NO UTILIZADO> ... %<PRIu64> bytes ...\n" -#: src/readelf.c:4524 +#: src/readelf.c:4632 #, c-format msgid "" "\n" @@ -5453,7 +5537,7 @@ msgstr "" "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n" " [ Código]\n" -#: src/readelf.c:4532 +#: src/readelf.c:4640 #, c-format msgid "" "\n" @@ -5462,30 +5546,30 @@ msgstr "" "\n" "Sección de abreviatura en compensación %<PRIu64>:\n" -#: src/readelf.c:4545 +#: src/readelf.c:4653 #, c-format msgid " *** error while reading abbreviation: %s\n" msgstr " *** error en lectura de abreviatura: %s\n" -#: src/readelf.c:4561 +#: src/readelf.c:4669 #, c-format msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n" msgstr " [%5u] compensación: %<PRId64>, hijos: %s, etiqueta: %s\n" -#: src/readelf.c:4564 +#: src/readelf.c:4672 msgid "yes" msgstr "sÃ" -#: src/readelf.c:4564 +#: src/readelf.c:4672 msgid "no" msgstr "no" -#: src/readelf.c:4598 src/readelf.c:4671 +#: src/readelf.c:4706 src/readelf.c:4779 #, c-format msgid "cannot get .debug_aranges content: %s" msgstr "no se ha podido obtener contenido de .debug_aranges: %s" -#: src/readelf.c:4613 +#: src/readelf.c:4721 #, c-format msgid "" "\n" @@ -5500,12 +5584,12 @@ msgstr[1] "" "\n" "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entradas %zu:\n" -#: src/readelf.c:4644 +#: src/readelf.c:4752 #, c-format msgid " [%*zu] ???\n" msgstr " [%*zu] ???\n" -#: src/readelf.c:4646 +#: src/readelf.c:4754 #, c-format msgid "" " [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n" @@ -5513,8 +5597,8 @@ msgstr "" " Inicio [%*zu]: %0#*<PRIx64>, longitud: %5<PRIu64>, compensación CU DIE: " "%6<PRId64>\n" -#: src/readelf.c:4676 src/readelf.c:4830 src/readelf.c:5406 src/readelf.c:6360 -#: src/readelf.c:6892 src/readelf.c:7012 src/readelf.c:7176 src/readelf.c:7601 +#: src/readelf.c:4784 src/readelf.c:4938 src/readelf.c:5514 src/readelf.c:6468 +#: src/readelf.c:7000 src/readelf.c:7120 src/readelf.c:7284 src/readelf.c:7709 #, c-format msgid "" "\n" @@ -5523,7 +5607,7 @@ msgstr "" "\n" "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n" -#: src/readelf.c:4689 src/readelf.c:6386 +#: src/readelf.c:4797 src/readelf.c:6494 #, fuzzy, c-format msgid "" "\n" @@ -5532,111 +5616,111 @@ msgstr "" "\n" "Tabla en compensación %Zu:\n" -#: src/readelf.c:4693 src/readelf.c:5430 src/readelf.c:6397 +#: src/readelf.c:4801 src/readelf.c:5538 src/readelf.c:6505 #, c-format msgid "invalid data in section [%zu] '%s'" msgstr "Datos inválidos en sección [%zu] '%s'" -#: src/readelf.c:4709 +#: src/readelf.c:4817 #, fuzzy, c-format msgid "" "\n" " Length: %6<PRIu64>\n" msgstr " (compensación: %#<PRIx64>)" -#: src/readelf.c:4721 +#: src/readelf.c:4829 #, fuzzy, c-format msgid " DWARF version: %6<PRIuFAST16>\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:4725 +#: src/readelf.c:4833 #, c-format msgid "unsupported aranges version" msgstr "" -#: src/readelf.c:4736 +#: src/readelf.c:4844 #, fuzzy, c-format msgid " CU offset: %6<PRIx64>\n" msgstr " (compensación: %#<PRIx64>)" -#: src/readelf.c:4742 +#: src/readelf.c:4850 #, fuzzy, c-format msgid " Address size: %6<PRIu64>\n" msgstr " (fin de compensación: %#<PRIx64>)" -#: src/readelf.c:4746 +#: src/readelf.c:4854 #, fuzzy, c-format msgid "unsupported address size" msgstr "no hay valor de dirección" -#: src/readelf.c:4751 +#: src/readelf.c:4859 #, fuzzy, c-format msgid "" " Segment size: %6<PRIu64>\n" "\n" msgstr " establecer archivo a %<PRIu64>\n" -#: src/readelf.c:4755 +#: src/readelf.c:4863 #, c-format msgid "unsupported segment size" msgstr "" -#: src/readelf.c:4795 +#: src/readelf.c:4903 #, fuzzy, c-format msgid " %s..%s (%<PRIx64>)\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:4798 +#: src/readelf.c:4906 #, fuzzy, c-format msgid " %s..%s\n" msgstr " [%6tx] %s..%s\n" -#: src/readelf.c:4807 +#: src/readelf.c:4915 #, c-format msgid " %zu padding bytes\n" msgstr "" -#: src/readelf.c:4825 +#: src/readelf.c:4933 #, c-format msgid "cannot get .debug_ranges content: %s" msgstr "no se ha podido obtener contenido de .debug_ranges: %s" -#: src/readelf.c:4855 src/readelf.c:6919 +#: src/readelf.c:4963 src/readelf.c:7027 #, c-format msgid " [%6tx] <INVALID DATA>\n" msgstr " [%6tx] <DATOS INVÃLIDOS>\n" -#: src/readelf.c:4877 src/readelf.c:6941 +#: src/readelf.c:4985 src/readelf.c:7049 #, c-format msgid " [%6tx] base address %s\n" msgstr " [%6tx] (dirección base) %s\n" -#: src/readelf.c:4884 src/readelf.c:6948 +#: src/readelf.c:4992 src/readelf.c:7056 #, c-format msgid " [%6tx] empty list\n" msgstr " [%6tx] lista vacÃa\n" -#: src/readelf.c:4895 +#: src/readelf.c:5003 #, c-format msgid " [%6tx] %s..%s\n" msgstr " [%6tx] %s..%s\n" -#: src/readelf.c:4897 +#: src/readelf.c:5005 #, c-format msgid " %s..%s\n" msgstr " %s..%s\n" -#: src/readelf.c:5076 +#: src/readelf.c:5184 #, fuzzy msgid " <INVALID DATA>\n" msgstr " <DATOS INVÃLIDOS>\n" -#: src/readelf.c:5385 +#: src/readelf.c:5493 #, fuzzy, c-format msgid "cannot get ELF: %s" msgstr "no se puede leer encabezamiento ELF: %s" -#: src/readelf.c:5402 +#: src/readelf.c:5510 #, c-format msgid "" "\n" @@ -5646,7 +5730,7 @@ msgstr "" "Sección de información de marco de llamada [%2zu] '%s' en compensación " "%#<PRIx64>:\n" -#: src/readelf.c:5452 +#: src/readelf.c:5560 #, c-format msgid "" "\n" @@ -5655,50 +5739,50 @@ msgstr "" "\n" " [%6tx] Terminator cero\n" -#: src/readelf.c:5545 src/readelf.c:5700 +#: src/readelf.c:5653 src/readelf.c:5808 #, c-format msgid "invalid augmentation length" msgstr "longitud de aumento inválida" -#: src/readelf.c:5560 +#: src/readelf.c:5668 msgid "FDE address encoding: " msgstr "Codificación de dirección FDE:" -#: src/readelf.c:5566 +#: src/readelf.c:5674 msgid "LSDA pointer encoding: " msgstr "Codificación de puntero LSDA:" -#: src/readelf.c:5677 +#: src/readelf.c:5785 #, c-format msgid " (offset: %#<PRIx64>)" msgstr " (compensación: %#<PRIx64>)" -#: src/readelf.c:5684 +#: src/readelf.c:5792 #, c-format msgid " (end offset: %#<PRIx64>)" msgstr " (fin de compensación: %#<PRIx64>)" -#: src/readelf.c:5721 +#: src/readelf.c:5829 #, c-format msgid " %-26sLSDA pointer: %#<PRIx64>\n" msgstr "Puntero %-26sLSDA: %#<PRIx64>\n" -#: src/readelf.c:5776 +#: src/readelf.c:5884 #, c-format msgid "cannot get attribute code: %s" msgstr "No se puede obtener código de atributo: %s" -#: src/readelf.c:5785 +#: src/readelf.c:5893 #, c-format msgid "cannot get attribute form: %s" msgstr "No se puede obtener forma de atributo: %s" -#: src/readelf.c:5800 +#: src/readelf.c:5908 #, c-format msgid "cannot get attribute value: %s" msgstr "No se puede obtener valor: %s" -#: src/readelf.c:6099 +#: src/readelf.c:6207 #, c-format msgid "" "\n" @@ -5709,7 +5793,7 @@ msgstr "" "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n" " [Offset]\n" -#: src/readelf.c:6131 +#: src/readelf.c:6239 #, c-format msgid "" " Type unit at offset %<PRIu64>:\n" @@ -5722,7 +5806,7 @@ msgstr "" "Tamaño de dirección: %<PRIu8>, Tamaño de compensación: %<PRIu8>\n" " Tipo de firma: %#<PRIx64>, Tipo de compensación: %#<PRIx64>\n" -#: src/readelf.c:6140 +#: src/readelf.c:6248 #, c-format msgid "" " Compilation unit at offset %<PRIu64>:\n" @@ -5733,34 +5817,34 @@ msgstr "" " Versión: %<PRIu16>, Compensación de sección de abreviatura: %<PRIu64>, " "Tamaño de dirección: %<PRIu8>, Tamaño de compensación: %<PRIu8>\n" -#: src/readelf.c:6165 +#: src/readelf.c:6273 #, c-format msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s" msgstr "no se puede obtener DIE en compensación %<PRIu64> en sección '%s': %s" -#: src/readelf.c:6179 +#: src/readelf.c:6287 #, c-format msgid "cannot get DIE offset: %s" msgstr "no se puede obtener DIE en compensación: %s" -#: src/readelf.c:6188 +#: src/readelf.c:6296 #, c-format msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s" msgstr "" "no se ha podido obtener etiqueta de DIE en compensación%<PRIu64> en sección " "'%s': %s" -#: src/readelf.c:6220 +#: src/readelf.c:6328 #, c-format msgid "cannot get next DIE: %s\n" msgstr "No se puede obtener próximo DIE: %s\n" -#: src/readelf.c:6228 +#: src/readelf.c:6336 #, c-format msgid "cannot get next DIE: %s" msgstr "No se puede obtener próximo DIE: %s" -#: src/readelf.c:6264 +#: src/readelf.c:6372 #, fuzzy, c-format msgid "" "\n" @@ -5770,12 +5854,12 @@ msgstr "" "\n" "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n" -#: src/readelf.c:6373 +#: src/readelf.c:6481 #, c-format msgid "cannot get line data section data: %s" msgstr "No se puede obtener sección de datos de lÃnea: %s" -#: src/readelf.c:6443 +#: src/readelf.c:6551 #, c-format msgid "" "\n" @@ -5804,19 +5888,19 @@ msgstr "" "\n" "Códigos operativos:\n" -#: src/readelf.c:6464 +#: src/readelf.c:6572 #, c-format msgid "invalid data at offset %tu in section [%zu] '%s'" msgstr "datos inválidos en compensación %tu en sección [%zu] '%s'" -#: src/readelf.c:6479 +#: src/readelf.c:6587 #, c-format msgid " [%*<PRIuFAST8>] %hhu argument\n" msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n" msgstr[0] " [%*<PRIuFAST8>] argumento %hhu \n" msgstr[1] " [%*<PRIuFAST8>] argumento %hhu\n" -#: src/readelf.c:6487 +#: src/readelf.c:6595 msgid "" "\n" "Directory table:" @@ -5824,7 +5908,7 @@ msgstr "" "\n" "Tabla de Directorio:" -#: src/readelf.c:6503 +#: src/readelf.c:6611 msgid "" "\n" "File name table:\n" @@ -5834,7 +5918,7 @@ msgstr "" "Tabla de nombre de archivo:\n" " Directorio de entrada Tiempo Tamaño Nombre" -#: src/readelf.c:6538 +#: src/readelf.c:6646 msgid "" "\n" "Line number statements:" @@ -5842,224 +5926,224 @@ msgstr "" "\n" " Declaraciones de número de LÃnea:" -#: src/readelf.c:6589 +#: src/readelf.c:6697 #, fuzzy, c-format msgid "invalid maximum operations per instruction is zero" msgstr "longitud mÃnima inválida de tamaño de cadena coincidente" -#: src/readelf.c:6625 +#: src/readelf.c:6733 #, c-format msgid " special opcode %u: address+%u = %s, op_index = %u, line%+d = %zu\n" msgstr "" " opcode especial %u: dirección+%u = %s, op_index = %u, lÃnea%+d = %zu\n" -#: src/readelf.c:6630 +#: src/readelf.c:6738 #, c-format msgid " special opcode %u: address+%u = %s, line%+d = %zu\n" msgstr " opcode especial %u: dirección+%u = %s, lÃnea%+d = %zu\n" -#: src/readelf.c:6650 +#: src/readelf.c:6758 #, c-format msgid " extended opcode %u: " msgstr " Código operativo extendido %u: " -#: src/readelf.c:6655 +#: src/readelf.c:6763 #, fuzzy msgid " end of sequence" msgstr "Fin de secuencia" -#: src/readelf.c:6674 +#: src/readelf.c:6782 #, fuzzy, c-format msgid " set address to %s\n" msgstr "Establecer dirección a %s\n" -#: src/readelf.c:6701 +#: src/readelf.c:6809 #, fuzzy, c-format msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n" msgstr "" "definir nuevo archivo: dir=%u, mtime=%<PRIu64>, longitud=%<PRIu64>, nombre=" "%s\n" -#: src/readelf.c:6714 +#: src/readelf.c:6822 #, c-format msgid " set discriminator to %u\n" msgstr " establecer discriminador a %u\n" -#: src/readelf.c:6719 +#: src/readelf.c:6827 #, fuzzy msgid " unknown opcode" msgstr "código operativo desconocido " -#: src/readelf.c:6731 +#: src/readelf.c:6839 msgid " copy" msgstr "Copiar" -#: src/readelf.c:6742 +#: src/readelf.c:6850 #, fuzzy, c-format msgid " advance address by %u to %s, op_index to %u\n" msgstr "dirección avanzada por %u a %s, op_index a %u\n" -#: src/readelf.c:6746 +#: src/readelf.c:6854 #, fuzzy, c-format msgid " advance address by %u to %s\n" msgstr "Dirección de avance por %u a %s\n" -#: src/readelf.c:6757 +#: src/readelf.c:6865 #, c-format msgid " advance line by constant %d to %<PRId64>\n" msgstr " lÃnea de avance por la constante %d a %<PRId64>\n" -#: src/readelf.c:6765 +#: src/readelf.c:6873 #, c-format msgid " set file to %<PRIu64>\n" msgstr " establecer archivo a %<PRIu64>\n" -#: src/readelf.c:6775 +#: src/readelf.c:6883 #, c-format msgid " set column to %<PRIu64>\n" msgstr " Establecer columna a %<PRIu64>\n" -#: src/readelf.c:6782 +#: src/readelf.c:6890 #, c-format msgid " set '%s' to %<PRIuFAST8>\n" msgstr "Establecer '%s' a %<PRIuFAST8>\n" -#: src/readelf.c:6788 +#: src/readelf.c:6896 msgid " set basic block flag" msgstr "Establecer bandera de bloque básico" -#: src/readelf.c:6801 +#: src/readelf.c:6909 #, fuzzy, c-format msgid " advance address by constant %u to %s, op_index to %u\n" msgstr "dirección avanzada por constante %u a %s, op_index a %u\n" -#: src/readelf.c:6805 +#: src/readelf.c:6913 #, fuzzy, c-format msgid " advance address by constant %u to %s\n" msgstr "Dirección de avance por constante %u a %s\n" -#: src/readelf.c:6823 +#: src/readelf.c:6931 #, fuzzy, c-format msgid " advance address by fixed value %u to %s\n" msgstr "dirección de avance por valor corregido %u a %s\n" -#: src/readelf.c:6832 +#: src/readelf.c:6940 msgid " set prologue end flag" msgstr " Establecer bandera prologue_end" -#: src/readelf.c:6837 +#: src/readelf.c:6945 msgid " set epilogue begin flag" msgstr " Establecer bandera epilogue_begin" -#: src/readelf.c:6846 +#: src/readelf.c:6954 #, c-format msgid " set isa to %u\n" msgstr " establecer isa para %u\n" -#: src/readelf.c:6855 +#: src/readelf.c:6963 #, c-format msgid " unknown opcode with %<PRIu8> parameter:" msgid_plural " unknown opcode with %<PRIu8> parameters:" msgstr[0] " opcódigo con parámetro %<PRIu8> desconocido:" msgstr[1] " opcódigo con parámetros %<PRIu8> desconocido:" -#: src/readelf.c:6887 +#: src/readelf.c:6995 #, c-format msgid "cannot get .debug_loc content: %s" msgstr "no es posible obtener contenido de .debug_loc: %s" -#: src/readelf.c:6962 +#: src/readelf.c:7070 #, c-format msgid " [%6tx] %s..%s" msgstr " [%6tx] %s..%s" -#: src/readelf.c:6964 +#: src/readelf.c:7072 #, c-format msgid " %s..%s" msgstr " %s..%s" -#: src/readelf.c:6971 src/readelf.c:7859 +#: src/readelf.c:7079 src/readelf.c:7967 msgid " <INVALID DATA>\n" msgstr " <DATOS INVÃLIDOS>\n" -#: src/readelf.c:7023 src/readelf.c:7185 +#: src/readelf.c:7131 src/readelf.c:7293 #, c-format msgid "cannot get macro information section data: %s" msgstr "no es posible obtener datos de la sección de macro información: %s" -#: src/readelf.c:7103 +#: src/readelf.c:7211 #, c-format msgid "%*s*** non-terminated string at end of section" msgstr "%*s*** cadena no finalizada al final de la sección" -#: src/readelf.c:7126 +#: src/readelf.c:7234 #, fuzzy, c-format msgid "%*s*** missing DW_MACINFO_start_file argument at end of section" msgstr "%*s*** cadena no finalizada al final de la sección" -#: src/readelf.c:7226 +#: src/readelf.c:7334 #, fuzzy, c-format msgid " Offset: 0x%<PRIx64>\n" msgstr " Propietario Tamaño\n" -#: src/readelf.c:7238 +#: src/readelf.c:7346 #, fuzzy, c-format msgid " Version: %<PRIu16>\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:7244 src/readelf.c:7978 +#: src/readelf.c:7352 src/readelf.c:8086 #, c-format msgid " unknown version, cannot parse section\n" msgstr "" -#: src/readelf.c:7251 +#: src/readelf.c:7359 #, fuzzy, c-format msgid " Flag: 0x%<PRIx8>\n" msgstr " Dirección de punto de entrada: %#<PRIx64>\n" -#: src/readelf.c:7254 +#: src/readelf.c:7362 #, fuzzy, c-format msgid " Offset length: %<PRIu8>\n" msgstr " (compensación: %#<PRIx64>)" -#: src/readelf.c:7262 +#: src/readelf.c:7370 #, fuzzy, c-format msgid " .debug_line offset: 0x%<PRIx64>\n" msgstr " (fin de compensación: %#<PRIx64>)" -#: src/readelf.c:7275 +#: src/readelf.c:7383 #, fuzzy, c-format msgid " extension opcode table, %<PRIu8> items:\n" msgstr " opcódigo con parámetro %<PRIu8> desconocido:" -#: src/readelf.c:7282 +#: src/readelf.c:7390 #, c-format msgid " [%<PRIx8>]" msgstr "" -#: src/readelf.c:7294 +#: src/readelf.c:7402 #, fuzzy, c-format msgid " %<PRIu8> arguments:" msgstr " [%*<PRIuFAST8>] argumento %hhu \n" -#: src/readelf.c:7322 +#: src/readelf.c:7430 #, c-format msgid " no arguments." msgstr "" -#: src/readelf.c:7559 +#: src/readelf.c:7667 #, c-format msgid "vendor opcode not verified?" msgstr "" -#: src/readelf.c:7587 +#: src/readelf.c:7695 #, c-format msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n" msgstr "" " Compensación [%5d] DIE: %6<PRId64>, Compensación CU DIE: %6<PRId64>, " "nombre: %s\n" -#: src/readelf.c:7628 +#: src/readelf.c:7736 #, c-format msgid "" "\n" @@ -6070,12 +6154,12 @@ msgstr "" "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n" " %*s String\n" -#: src/readelf.c:7642 +#: src/readelf.c:7750 #, c-format msgid " *** error while reading strings: %s\n" msgstr " *** error en lectura de cadenas: %s\n" -#: src/readelf.c:7662 +#: src/readelf.c:7770 #, c-format msgid "" "\n" @@ -6084,7 +6168,7 @@ msgstr "" "\n" "Sección de tabla de búsqueda de marco de llamada [%2zu] '.eh_frame_hdr':\n" -#: src/readelf.c:7764 +#: src/readelf.c:7872 #, c-format msgid "" "\n" @@ -6093,22 +6177,22 @@ msgstr "" "\n" "Excepción en el manejo de la sección de tabla [%2zu] '.gcc_except_table':\n" -#: src/readelf.c:7787 +#: src/readelf.c:7895 #, c-format msgid " LPStart encoding: %#x " msgstr "Codificación LPStart: %#x " -#: src/readelf.c:7799 +#: src/readelf.c:7907 #, c-format msgid " TType encoding: %#x " msgstr "Codificación TType: %#x " -#: src/readelf.c:7814 +#: src/readelf.c:7922 #, c-format msgid " Call site encoding: %#x " msgstr "Codificación de sitio de llamada: %#x " -#: src/readelf.c:7827 +#: src/readelf.c:7935 msgid "" "\n" " Call site table:" @@ -6116,7 +6200,7 @@ msgstr "" "\n" " Tabla de sitio de llamada:" -#: src/readelf.c:7841 +#: src/readelf.c:7949 #, c-format msgid "" " [%4u] Call site start: %#<PRIx64>\n" @@ -6129,12 +6213,12 @@ msgstr "" " Landing pad: %#<PRIx64>\n" " Action: %u\n" -#: src/readelf.c:7914 +#: src/readelf.c:8022 #, c-format msgid "invalid TType encoding" msgstr "Codificación TType inválida" -#: src/readelf.c:7940 +#: src/readelf.c:8048 #, fuzzy, c-format msgid "" "\n" @@ -6143,37 +6227,37 @@ msgstr "" "\n" "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n" -#: src/readelf.c:7969 +#: src/readelf.c:8077 #, fuzzy, c-format msgid " Version: %<PRId32>\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:7987 +#: src/readelf.c:8095 #, fuzzy, c-format msgid " CU offset: %#<PRIx32>\n" msgstr " (compensación: %#<PRIx64>)" -#: src/readelf.c:7994 +#: src/readelf.c:8102 #, fuzzy, c-format msgid " TU offset: %#<PRIx32>\n" msgstr " (compensación: %#<PRIx64>)" -#: src/readelf.c:8001 +#: src/readelf.c:8109 #, fuzzy, c-format msgid " address offset: %#<PRIx32>\n" msgstr " (fin de compensación: %#<PRIx64>)" -#: src/readelf.c:8008 +#: src/readelf.c:8116 #, fuzzy, c-format msgid " symbol offset: %#<PRIx32>\n" msgstr " (compensación: %#<PRIx64>)" -#: src/readelf.c:8015 +#: src/readelf.c:8123 #, fuzzy, c-format msgid " constant offset: %#<PRIx32>\n" msgstr " (fin de compensación: %#<PRIx64>)" -#: src/readelf.c:8029 +#: src/readelf.c:8137 #, fuzzy, c-format msgid "" "\n" @@ -6182,7 +6266,7 @@ msgstr "" "\n" "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n" -#: src/readelf.c:8054 +#: src/readelf.c:8162 #, fuzzy, c-format msgid "" "\n" @@ -6191,7 +6275,7 @@ msgstr "" "\n" "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n" -#: src/readelf.c:8083 +#: src/readelf.c:8191 #, fuzzy, c-format msgid "" "\n" @@ -6200,7 +6284,7 @@ msgstr "" "\n" "Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n" -#: src/readelf.c:8116 +#: src/readelf.c:8224 #, fuzzy, c-format msgid "" "\n" @@ -6209,17 +6293,17 @@ msgstr "" "\n" "Tabla de sÃmbolos inválida en compensación %#0<PRIx64>\n" -#: src/readelf.c:8203 +#: src/readelf.c:8311 #, c-format msgid "cannot get debug context descriptor: %s" msgstr "no se puede depurar descriptor de contexto: %s" -#: src/readelf.c:8361 src/readelf.c:8983 src/readelf.c:9094 src/readelf.c:9152 +#: src/readelf.c:8467 src/readelf.c:9089 src/readelf.c:9200 src/readelf.c:9258 #, c-format msgid "cannot convert core note data: %s" msgstr "no es posible convertir datos de la nota principal: %s" -#: src/readelf.c:8724 +#: src/readelf.c:8830 #, c-format msgid "" "\n" @@ -6228,21 +6312,21 @@ msgstr "" "\n" "%*s... <repeats %u more times> ..." -#: src/readelf.c:9231 +#: src/readelf.c:9337 msgid " Owner Data size Type\n" msgstr " Owner Data size Type\n" -#: src/readelf.c:9249 +#: src/readelf.c:9355 #, c-format msgid " %-13.*s %9<PRId32> %s\n" msgstr " %-13.*s %9<PRId32> %s\n" -#: src/readelf.c:9299 +#: src/readelf.c:9405 #, c-format msgid "cannot get content of note section: %s" msgstr "no se puede obtener el contenido de sección de nota: %s" -#: src/readelf.c:9326 +#: src/readelf.c:9432 #, c-format msgid "" "\n" @@ -6251,7 +6335,7 @@ msgstr "" "\n" "Sección de nota [%2zu] '%s' de %<PRIu64> bytes en compensación %#0<PRIx64>:\n" -#: src/readelf.c:9349 +#: src/readelf.c:9455 #, c-format msgid "" "\n" @@ -6260,7 +6344,7 @@ msgstr "" "\n" "Segmento de nota de %<PRIu64> bytes en compensación %#0<PRIx64>:\n" -#: src/readelf.c:9395 +#: src/readelf.c:9501 #, fuzzy, c-format msgid "" "\n" @@ -6269,12 +6353,12 @@ msgstr "" "\n" "Sección [%Zu] '%s' no tiene datos para volcar.\n" -#: src/readelf.c:9401 src/readelf.c:9424 +#: src/readelf.c:9518 src/readelf.c:9559 #, fuzzy, c-format msgid "cannot get data for section [%zu] '%s': %s" msgstr "no se pueden obtener datos para sección [%Zu] '%s': %s" -#: src/readelf.c:9405 +#: src/readelf.c:9523 #, fuzzy, c-format msgid "" "\n" @@ -6284,7 +6368,18 @@ msgstr "" "Volcado Hex de sección [%Zu] '%s', %<PRIu64> bytes en compensación " "%#0<PRIx64>:\n" -#: src/readelf.c:9418 +#: src/readelf.c:9528 +#, fuzzy, c-format +msgid "" +"\n" +"Hex dump of section [%zu] '%s', %<PRIu64> bytes (%zd uncompressed) at offset " +"%#0<PRIx64>:\n" +msgstr "" +"\n" +"Volcado Hex de sección [%Zu] '%s', %<PRIu64> bytes en compensación " +"%#0<PRIx64>:\n" + +#: src/readelf.c:9542 #, fuzzy, c-format msgid "" "\n" @@ -6293,7 +6388,7 @@ msgstr "" "\n" "Sección [%Zu] '%s' no tiene datos para volcar.\n" -#: src/readelf.c:9428 +#: src/readelf.c:9564 #, fuzzy, c-format msgid "" "\n" @@ -6303,7 +6398,18 @@ msgstr "" "Sección de cadena [%Zu] '%s' contiene %<PRIu64> bytes en compensación " "%#0<PRIx64>:\n" -#: src/readelf.c:9476 +#: src/readelf.c:9569 +#, fuzzy, c-format +msgid "" +"\n" +"String section [%zu] '%s' contains %<PRIu64> bytes (%zd uncompressed) at " +"offset %#0<PRIx64>:\n" +msgstr "" +"\n" +"Sección de cadena [%Zu] '%s' contiene %<PRIu64> bytes en compensación " +"%#0<PRIx64>:\n" + +#: src/readelf.c:9618 #, c-format msgid "" "\n" @@ -6312,7 +6418,7 @@ msgstr "" "\n" "sección [%lu] no existe" -#: src/readelf.c:9505 +#: src/readelf.c:9647 #, c-format msgid "" "\n" @@ -6321,12 +6427,12 @@ msgstr "" "\n" "sección '%s' no existe" -#: src/readelf.c:9562 +#: src/readelf.c:9704 #, c-format msgid "cannot get symbol index of archive '%s': %s" msgstr "no se puede obtener el Ãndice de sÃmbolo de archivo '%s': %s" -#: src/readelf.c:9565 +#: src/readelf.c:9707 #, c-format msgid "" "\n" @@ -6335,7 +6441,7 @@ msgstr "" "\n" "Archivo '%s' no tiene Ãndice de sÃmbolo\n" -#: src/readelf.c:9569 +#: src/readelf.c:9711 #, fuzzy, c-format msgid "" "\n" @@ -6344,12 +6450,12 @@ msgstr "" "\n" "Ãndice de archivo '%s' tiene %Zu entradas:\n" -#: src/readelf.c:9587 +#: src/readelf.c:9729 #, fuzzy, c-format msgid "cannot extract member at offset %zu in '%s': %s" msgstr "no es posible extraer miembro en compensación %Zu en '%s': %s" -#: src/readelf.c:9592 +#: src/readelf.c:9734 #, c-format msgid "Archive member '%s' contains:\n" msgstr "Miembro de archivo contiene '%s':\n" @@ -6873,12 +6979,12 @@ msgstr "no se puede crear el encabezamiento ELF: %s" msgid "cannot copy ELF header: %s" msgstr "no se puede copiar encabezamiento ELF: %s" -#: src/unstrip.c:261 src/unstrip.c:1903 src/unstrip.c:1947 +#: src/unstrip.c:261 src/unstrip.c:1939 src/unstrip.c:1982 #, fuzzy, c-format msgid "cannot get number of program headers: %s" msgstr "no se pudo determinar la cantidad de encabezados de programa: %s" -#: src/unstrip.c:266 src/unstrip.c:1907 +#: src/unstrip.c:266 src/unstrip.c:1943 #, c-format msgid "cannot create program headers: %s" msgstr "No pueden crear encabezamientos de programa: %s" @@ -6893,12 +6999,12 @@ msgstr "no puede copiar encabezamiento de programa: %s" msgid "cannot copy section header: %s" msgstr "no se puede copiar encabezamiento de sección: %s" -#: src/unstrip.c:285 src/unstrip.c:1541 +#: src/unstrip.c:285 src/unstrip.c:1576 #, c-format msgid "cannot get section data: %s" msgstr "no se pueden obtener datos de sección: %s" -#: src/unstrip.c:287 src/unstrip.c:1543 +#: src/unstrip.c:287 src/unstrip.c:1578 #, c-format msgid "cannot copy section data: %s" msgstr "no pueden copiar datos de sección: %s" @@ -6908,141 +7014,141 @@ msgstr "no pueden copiar datos de sección: %s" msgid "cannot create directory '%s'" msgstr "no se puede crear el directorio '%s'" -#: src/unstrip.c:351 src/unstrip.c:768 src/unstrip.c:1575 +#: src/unstrip.c:383 src/unstrip.c:803 src/unstrip.c:1610 #, c-format msgid "cannot get symbol table entry: %s" msgstr "no se puede obtener entrada de tabla de sÃmbolos: %s" -#: src/unstrip.c:367 src/unstrip.c:585 src/unstrip.c:606 src/unstrip.c:618 -#: src/unstrip.c:1596 src/unstrip.c:1769 src/unstrip.c:1793 +#: src/unstrip.c:399 src/unstrip.c:620 src/unstrip.c:641 src/unstrip.c:653 +#: src/unstrip.c:1631 src/unstrip.c:1805 src/unstrip.c:1829 #, c-format msgid "cannot update symbol table: %s" msgstr "no se puede actualizar tabla de sÃmbolos: %s" -#: src/unstrip.c:377 +#: src/unstrip.c:409 #, c-format msgid "cannot update section header: %s" msgstr "no se puede actualizar encabezamiento de sección: %s" -#: src/unstrip.c:416 src/unstrip.c:427 +#: src/unstrip.c:448 src/unstrip.c:459 #, c-format msgid "cannot update relocation: %s" msgstr "no se puede actualizar reubicación: %s" -#: src/unstrip.c:514 +#: src/unstrip.c:547 #, c-format msgid "cannot get symbol version: %s" msgstr "no se puede obtener versión de sÃmbolo: %s" -#: src/unstrip.c:526 +#: src/unstrip.c:560 #, fuzzy, c-format msgid "unexpected section type in [%zu] with sh_link to symtab" msgstr "tipo de sección inesperado en [%Zu] con sh_link para symtab" -#: src/unstrip.c:774 +#: src/unstrip.c:809 #, fuzzy, c-format msgid "invalid string offset in symbol [%zu]" msgstr "compensación de cadena inválida en sÃmbolo [%Zu]" -#: src/unstrip.c:932 src/unstrip.c:1278 +#: src/unstrip.c:967 src/unstrip.c:1313 #, fuzzy, c-format msgid "cannot read section [%zu] name: %s" msgstr "no se puede leer nombre [%Zu]: %s" -#: src/unstrip.c:973 src/unstrip.c:992 src/unstrip.c:1027 +#: src/unstrip.c:1008 src/unstrip.c:1027 src/unstrip.c:1062 #, c-format msgid "cannot read '.gnu.prelink_undo' section: %s" msgstr "no se puede leer sección '.gnu.prelink_undo': %s" -#: src/unstrip.c:1013 +#: src/unstrip.c:1048 #, c-format msgid "invalid contents in '%s' section" msgstr "contenido inválido en sección '%s'" -#: src/unstrip.c:1019 +#: src/unstrip.c:1054 #, c-format msgid "overflow with shnum = %zu in '%s' section" msgstr "" -#: src/unstrip.c:1073 src/unstrip.c:1398 +#: src/unstrip.c:1108 src/unstrip.c:1433 #, fuzzy, c-format msgid "cannot find matching section for [%zu] '%s'" msgstr "no se puede hallar sección coincidente para [%Zu] '%s'" -#: src/unstrip.c:1198 src/unstrip.c:1213 src/unstrip.c:1479 src/unstrip.c:1731 +#: src/unstrip.c:1233 src/unstrip.c:1248 src/unstrip.c:1514 src/unstrip.c:1766 #, c-format msgid "cannot add section name to string table: %s" msgstr "no se puede añadir nombre de sección a tabla de cadenas: %s" -#: src/unstrip.c:1222 +#: src/unstrip.c:1257 #, c-format msgid "cannot update section header string table data: %s" msgstr "" "no se pueden actualizar datos de tabla de cadenas de encabezamiento de " "sección: %s" -#: src/unstrip.c:1249 src/unstrip.c:1253 +#: src/unstrip.c:1284 src/unstrip.c:1288 #, c-format msgid "cannot get section header string table section index: %s" msgstr "" "no se puede obtener Ãndice de sección de tabla de cadenas de encabezamiento " "de sección: %s" -#: src/unstrip.c:1257 src/unstrip.c:1261 src/unstrip.c:1494 +#: src/unstrip.c:1292 src/unstrip.c:1296 src/unstrip.c:1529 #, c-format msgid "cannot get section count: %s" msgstr "No se puede obtener cuenta de sección: %s" -#: src/unstrip.c:1264 +#: src/unstrip.c:1299 #, c-format msgid "more sections in stripped file than debug file -- arguments reversed?" msgstr "" "más secciones en el archivo despojado que en el archivo de depuración -- " "¿argumentos invertidos?" -#: src/unstrip.c:1323 src/unstrip.c:1413 +#: src/unstrip.c:1358 src/unstrip.c:1448 #, c-format msgid "cannot read section header string table: %s" msgstr "no se puede obtener tabla de cadenas de encabezamiento de sección: %s" -#: src/unstrip.c:1473 +#: src/unstrip.c:1508 #, c-format msgid "cannot add new section: %s" msgstr "No se puede añadir nueva sección: %s" -#: src/unstrip.c:1583 +#: src/unstrip.c:1618 #, fuzzy, c-format msgid "symbol [%zu] has invalid section index" msgstr "sÃmbolo [%Zu] tiene Ãndice de sección inválido" -#: src/unstrip.c:1864 +#: src/unstrip.c:1900 #, c-format msgid "cannot read section data: %s" msgstr "no se puede leer la sección de datos: %s" -#: src/unstrip.c:1885 +#: src/unstrip.c:1921 #, c-format msgid "cannot get ELF header: %s" msgstr "no se puede leer encabezamiento ELF: %s" -#: src/unstrip.c:1917 +#: src/unstrip.c:1953 #, c-format msgid "cannot update program header: %s" msgstr "no se puede actualizar encabezamiento de programa: %s" -#: src/unstrip.c:1922 src/unstrip.c:2005 +#: src/unstrip.c:1958 src/unstrip.c:2040 #, c-format msgid "cannot write output file: %s" msgstr "no se puede escribir al archivo de salida: %s" -#: src/unstrip.c:1974 +#: src/unstrip.c:2009 #, c-format msgid "DWARF data not adjusted for prelinking bias; consider prelink -u" msgstr "" "datos DWARF no se ajustan para polarización de pre-enlace; considere prelink " "-u" -#: src/unstrip.c:1977 +#: src/unstrip.c:2012 #, c-format msgid "" "DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u" @@ -7050,77 +7156,77 @@ msgstr "" "Datos DWARF en '%s' no se ajustan a polarización de pre-enlace; considere " "prelink -u" -#: src/unstrip.c:1996 src/unstrip.c:2047 src/unstrip.c:2059 src/unstrip.c:2145 +#: src/unstrip.c:2031 src/unstrip.c:2082 src/unstrip.c:2094 src/unstrip.c:2180 #, c-format msgid "cannot create ELF descriptor: %s" msgstr "no se puede crear un descriptor ELF: %s" -#: src/unstrip.c:2038 +#: src/unstrip.c:2073 msgid "WARNING: " msgstr "" -#: src/unstrip.c:2040 +#: src/unstrip.c:2075 msgid ", use --force" msgstr "" -#: src/unstrip.c:2063 +#: src/unstrip.c:2098 msgid "ELF header identification (e_ident) different" msgstr "" -#: src/unstrip.c:2066 +#: src/unstrip.c:2101 msgid "ELF header type (e_type) different" msgstr "" -#: src/unstrip.c:2069 +#: src/unstrip.c:2104 msgid "ELF header machine type (e_machine) different" msgstr "" -#: src/unstrip.c:2072 +#: src/unstrip.c:2107 msgid "stripped program header (e_phnum) smaller than unstripped" msgstr "" -#: src/unstrip.c:2102 +#: src/unstrip.c:2137 #, c-format msgid "cannot find stripped file for module '%s': %s" msgstr "no se puede hallar archivo obtenido para módulo '%s': %s " -#: src/unstrip.c:2106 +#: src/unstrip.c:2141 #, c-format msgid "cannot open stripped file '%s' for module '%s': %s" msgstr "No se puede abrir el archivo '%s' obtenido para módulo '%s': %s" -#: src/unstrip.c:2121 +#: src/unstrip.c:2156 #, c-format msgid "cannot find debug file for module '%s': %s" msgstr "no puede hallar archivo de depuración para módulo '%s': %su" -#: src/unstrip.c:2125 +#: src/unstrip.c:2160 #, c-format msgid "cannot open debug file '%s' for module '%s': %s" msgstr "No puede abrir archivo de depuración '%s' para módulo '%s': %s" -#: src/unstrip.c:2138 +#: src/unstrip.c:2173 #, c-format msgid "module '%s' file '%s' is not stripped" msgstr "No se obtuvo el archivo '%s' de módulo '%s' " -#: src/unstrip.c:2169 +#: src/unstrip.c:2204 #, c-format msgid "cannot cache section addresses for module '%s': %s" msgstr "" "No puede almacenar en cache direcciones de sección para módulo '%s': %s" -#: src/unstrip.c:2302 +#: src/unstrip.c:2337 #, c-format msgid "no matching modules found" msgstr "No se encontraron módulos coincidentes" -#: src/unstrip.c:2311 +#: src/unstrip.c:2346 #, c-format msgid "matched more than one module" msgstr "coincidió con más de un módulo" -#: src/unstrip.c:2355 +#: src/unstrip.c:2390 msgid "" "STRIPPED-FILE DEBUG-FILE\n" "[MODULE...]" @@ -7128,7 +7234,7 @@ msgstr "" "STRIPPED-FILE DEBUG-FILE\n" "[MODULE...]" -#: src/unstrip.c:2356 +#: src/unstrip.c:2391 msgid "" "Combine stripped files with separate symbols and debug information.\vThe " "first form puts the result in DEBUG-FILE if -o was not given.\n" @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: ja\n" "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" -"POT-Creation-Date: 2015-10-16 13:26+0200\n" +"POT-Creation-Date: 2016-01-11 08:48+0100\n" "PO-Revision-Date: 2009-09-20 15:32+0900\n" "Last-Translator: Hyu_gabaru Ryu_ichi <hyu_gabaru@yahoo.co.jp>\n" "Language-Team: Japanese <jp@li.org>\n" @@ -39,8 +39,8 @@ msgstr "" msgid "cannot allocate memory" msgstr "PLT セクションを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s" -#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3184 -#: src/readelf.c:3561 src/readelf.c:8310 src/unstrip.c:2198 src/unstrip.c:2403 +#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3282 +#: src/readelf.c:3669 src/readelf.c:8416 src/unstrip.c:2233 src/unstrip.c:2438 #, c-format msgid "memory exhausted" msgstr "メモリー消費済ã¿" @@ -243,7 +243,7 @@ msgstr "ä¸å½“ãªã‚ªãƒšãƒ©ãƒ³ãƒ‰" msgid "not a CU (unit) DIE" msgstr "" -#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2345 +#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2380 msgid "Input selection options:" msgstr "é¸æŠžã‚ªãƒ—ションを入力ã—ã¦ãã ã•ã„:" @@ -300,7 +300,12 @@ msgstr "カーãƒãƒ«ã‹ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’見ã¤ã‘られã¾ã›ã‚“" msgid "cannot read ELF core file: %s" msgstr "ELF コアファイルをèªã‚ã¾ã›ã‚“: %s" -#: libdwfl/argp-std.c:311 +#: libdwfl/argp-std.c:313 +#, fuzzy +msgid "Not enough memory" +msgstr "メモリーä¸è¶³" + +#: libdwfl/argp-std.c:323 msgid "No modules recognized in core file" msgstr "コアファイルã®ä¸ã«ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’èªè˜ã§ãã¾ã›ã‚“" @@ -483,57 +488,57 @@ msgstr "<ä¸æ˜Ž>" msgid "<unknown>: %#<PRIx64>" msgstr "<ä¸æ˜Ž>: %#<PRIx64>" -#: libebl/eblobjnote.c:52 +#: libebl/eblobjnote.c:53 #, fuzzy, c-format msgid "unknown SDT version %u\n" msgstr "ä¸æ˜Žãªãƒãƒ¼ã‚¸ãƒ§ãƒ³" -#: libebl/eblobjnote.c:70 +#: libebl/eblobjnote.c:71 #, fuzzy, c-format msgid "invalid SDT probe descriptor\n" msgstr "ä¸å½“ãªãƒ•ã‚¡ã‚¤ãƒ«è¨˜è¿°å" -#: libebl/eblobjnote.c:120 +#: libebl/eblobjnote.c:121 #, c-format msgid " PC: " msgstr "" -#: libebl/eblobjnote.c:122 +#: libebl/eblobjnote.c:123 #, c-format msgid " Base: " msgstr "" -#: libebl/eblobjnote.c:124 +#: libebl/eblobjnote.c:125 #, c-format msgid " Semaphore: " msgstr "" -#: libebl/eblobjnote.c:126 +#: libebl/eblobjnote.c:127 #, c-format msgid " Provider: " msgstr "" -#: libebl/eblobjnote.c:128 +#: libebl/eblobjnote.c:129 #, c-format msgid " Name: " msgstr "" -#: libebl/eblobjnote.c:130 +#: libebl/eblobjnote.c:131 #, c-format msgid " Args: " msgstr "" -#: libebl/eblobjnote.c:140 +#: libebl/eblobjnote.c:141 #, c-format msgid " Build ID: " msgstr " ビルト ID: " -#: libebl/eblobjnote.c:151 +#: libebl/eblobjnote.c:152 #, c-format msgid " Linker version: %.*s\n" msgstr "" -#: libebl/eblobjnote.c:212 +#: libebl/eblobjnote.c:213 #, c-format msgid " OS: %s, ABI: " msgstr " OS: %sã€ABI: " @@ -567,7 +572,7 @@ msgstr "ソース演算åã®å¤§ãã•ãŒç„¡åŠ¹" msgid "invalid size of destination operand" msgstr "宛先演算åã®å¤§ãã•ãŒç„¡åŠ¹" -#: libelf/elf_error.c:87 src/readelf.c:5365 +#: libelf/elf_error.c:87 src/readelf.c:5473 #, c-format msgid "invalid encoding" msgstr "無効ãªã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰" @@ -649,8 +654,8 @@ msgstr "データ/scnãŒä¸æ•´åˆã§ã™" msgid "invalid section header" msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³ãƒ˜ãƒƒãƒ€ãƒ¼" -#: libelf/elf_error.c:187 src/readelf.c:7234 src/readelf.c:7682 -#: src/readelf.c:7783 src/readelf.c:7964 +#: libelf/elf_error.c:187 src/readelf.c:7342 src/readelf.c:7790 +#: src/readelf.c:7891 src/readelf.c:8072 #, c-format msgid "invalid data" msgstr "ä¸å½“ãªãƒ‡ãƒ¼ã‚¿" @@ -694,6 +699,40 @@ msgstr "" msgid "file has no program header" msgstr "ファイルã«ãƒ—ãƒã‚°ãƒ©ãƒ ヘッダーãŒã‚ã‚Šã¾ã›ã‚“" +#: libelf/elf_error.c:237 +#, fuzzy +msgid "invalid section type" +msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³" + +#: libelf/elf_error.c:242 +#, fuzzy +msgid "invalid section flags" +msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³" + +#: libelf/elf_error.c:247 +#, fuzzy +msgid "section does not contain compressed data" +msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n" + +#: libelf/elf_error.c:252 +msgid "section contains compressed data" +msgstr "" + +#: libelf/elf_error.c:257 +#, fuzzy +msgid "unknown compression type" +msgstr "ä¸æ˜Žãªã‚¿ã‚¤ãƒ—" + +#: libelf/elf_error.c:262 +#, fuzzy +msgid "cannot compress data" +msgstr "セクションデータを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s" + +#: libelf/elf_error.c:267 +#, fuzzy +msgid "cannot decompress data" +msgstr "セクションデータを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s" + #: src/addr2line.c:58 #, fuzzy msgid "Input format options:" @@ -750,7 +789,7 @@ msgstr "" msgid "Print all information on one line, and indent inlines" msgstr "" -#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:99 +#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:100 #: src/strings.c:79 msgid "Miscellaneous:" msgstr "雑則:" @@ -764,9 +803,9 @@ msgstr "" msgid "[ADDR...]" msgstr "" -#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:670 src/elflint.c:235 -#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:261 src/objdump.c:177 -#: src/ranlib.c:124 src/readelf.c:500 src/size.c:207 src/strings.c:230 +#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:672 src/elflint.c:235 +#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:262 src/objdump.c:177 +#: src/ranlib.c:124 src/readelf.c:509 src/size.c:207 src/strings.c:230 #: src/strip.c:218 src/unstrip.c:232 #, c-format msgid "" @@ -778,9 +817,9 @@ msgstr "" "This is free software; see the source for copying conditions. There is NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" -#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:675 src/elflint.c:240 -#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:266 src/objdump.c:182 -#: src/ranlib.c:129 src/readelf.c:505 src/size.c:212 src/strings.c:235 +#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:677 src/elflint.c:240 +#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:267 src/objdump.c:182 +#: src/ranlib.c:129 src/readelf.c:514 src/size.c:212 src/strings.c:235 #: src/strip.c:223 src/unstrip.c:237 #, c-format msgid "Written by %s.\n" @@ -1251,40 +1290,40 @@ msgstr "" msgid "%s %s differ: gap" msgstr "" -#: src/elfcmp.c:702 +#: src/elfcmp.c:704 #, c-format msgid "Invalid value '%s' for --gaps parameter." msgstr "" -#: src/elfcmp.c:730 src/findtextrel.c:221 src/ldgeneric.c:1757 -#: src/ldgeneric.c:4247 src/nm.c:377 src/ranlib.c:157 src/size.c:289 -#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:1994 -#: src/unstrip.c:2023 +#: src/elfcmp.c:732 src/findtextrel.c:221 src/ldgeneric.c:1757 +#: src/ldgeneric.c:4247 src/nm.c:378 src/ranlib.c:157 src/size.c:289 +#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:2029 +#: src/unstrip.c:2058 #, c-format msgid "cannot open '%s'" msgstr "'%s' ã‚’é–‹ã‘ã¾ã›ã‚“" -#: src/elfcmp.c:734 src/findtextrel.c:228 src/ranlib.c:174 +#: src/elfcmp.c:736 src/findtextrel.c:228 src/ranlib.c:174 #, c-format msgid "cannot create ELF descriptor for '%s': %s" msgstr "" -#: src/elfcmp.c:739 +#: src/elfcmp.c:741 #, c-format msgid "cannot create EBL descriptor for '%s'" msgstr "" -#: src/elfcmp.c:757 src/findtextrel.c:409 +#: src/elfcmp.c:759 src/findtextrel.c:409 #, c-format msgid "cannot get section header of section %zu: %s" msgstr "" -#: src/elfcmp.c:767 +#: src/elfcmp.c:769 #, c-format msgid "cannot get content of section %zu: %s" msgstr "" -#: src/elfcmp.c:777 src/elfcmp.c:791 +#: src/elfcmp.c:779 src/elfcmp.c:793 #, c-format msgid "cannot get relocation: %s" msgstr "" @@ -1312,11 +1351,11 @@ msgstr "" msgid "Pedantic checking of ELF files compliance with gABI/psABI spec." msgstr "ELF ファイル㌠gABI/psABI 仕様ã¸æº–æ‹ ã—ã¦ã„ã‚‹ã‹ã®åŽ³å¯†ãªãƒã‚§ãƒƒã‚¯ã€‚" -#: src/elflint.c:78 src/readelf.c:123 +#: src/elflint.c:78 src/readelf.c:126 msgid "FILE..." msgstr "ãµãã„ã‚‹..." -#: src/elflint.c:155 src/readelf.c:292 +#: src/elflint.c:155 src/readelf.c:298 #, c-format msgid "cannot open input file" msgstr "入力ファイルを開ã‘ã¾ã›ã‚“" @@ -1335,7 +1374,7 @@ msgstr "Elf 記述åã‚’é–‰ã˜ã¦ã„る時ã«ã‚¨ãƒ©ãƒ¼: %s\n" msgid "No errors" msgstr "エラーã¯ã‚ã‚Šã¾ã›ã‚“" -#: src/elflint.c:219 src/readelf.c:468 +#: src/elflint.c:219 src/readelf.c:474 msgid "Missing file name.\n" msgstr "ファイルåãŒã‚ã‚Šã¾ã›ã‚“。\n" @@ -1482,14 +1521,14 @@ msgstr "" "セクション [%2d] '%s': セクショングループ [%2zu] '%s' ãŒã‚°ãƒ«ãƒ¼ãƒ—メンãƒãƒ¼ã‚’継" "続ã—ã¦ã„ã¾ã›ã‚“\n" -#: src/elflint.c:591 src/elflint.c:1471 src/elflint.c:1522 src/elflint.c:1628 -#: src/elflint.c:1964 src/elflint.c:2280 src/elflint.c:2893 src/elflint.c:3056 -#: src/elflint.c:3204 src/elflint.c:3394 src/elflint.c:4336 +#: src/elflint.c:591 src/elflint.c:1475 src/elflint.c:1526 src/elflint.c:1632 +#: src/elflint.c:1968 src/elflint.c:2284 src/elflint.c:2898 src/elflint.c:3061 +#: src/elflint.c:3209 src/elflint.c:3399 src/elflint.c:4366 #, c-format msgid "section [%2d] '%s': cannot get section data\n" msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n" -#: src/elflint.c:604 src/elflint.c:1635 +#: src/elflint.c:604 src/elflint.c:1639 #, c-format msgid "" "section [%2d] '%s': referenced as string table for section [%2d] '%s' but " @@ -1601,12 +1640,12 @@ msgstr "" "セクション [%2d] '%s': シンボル %zu: COMMON セクションã®æ©Ÿèƒ½ã¯æ„味ãŒã‚ã‚Šã¾ã›" "ã‚“\n" -#: src/elflint.c:805 +#: src/elflint.c:809 #, c-format msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n" msgstr "セクション [%2d] '%s': シンボル %zu: st_value 境界外\n" -#: src/elflint.c:811 src/elflint.c:836 src/elflint.c:885 +#: src/elflint.c:815 src/elflint.c:840 src/elflint.c:889 #, c-format msgid "" "section [%2d] '%s': symbol %zu does not fit completely in referenced section " @@ -1615,7 +1654,7 @@ msgstr "" "セクション [%2d] '%s': シンボル %zu ã¯å‚ç…§ã•ã‚Œã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%2d] '%s' ã¨ã¯å®Œ" "å…¨ã«ä¸€è‡´ã—ã¾ã›ã‚“\n" -#: src/elflint.c:820 +#: src/elflint.c:824 #, c-format msgid "" "section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have " @@ -1624,7 +1663,7 @@ msgstr "" "セクション [%2d] '%s': シンボル %zu: å‚ç…§ã•ã‚Œã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%2d] '%s' 㯠" "SHF_TLS フラグãŒè¨å®šã•ã‚Œã¦ã„ã¾ã›ã‚“\n" -#: src/elflint.c:830 src/elflint.c:878 +#: src/elflint.c:834 src/elflint.c:882 #, c-format msgid "" "section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section " @@ -1633,7 +1672,7 @@ msgstr "" "セクション [%2d] '%s': シンボル %zu: st_value å‚ç…§ã•ã‚Œã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%2d] " "'%s' ã®å¢ƒç•Œå¤–\n" -#: src/elflint.c:857 +#: src/elflint.c:861 #, c-format msgid "" "section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n" @@ -1641,7 +1680,7 @@ msgstr "" "セクション [%2d] '%s': シンボル %zu: TLS プãƒã‚°ãƒ©ãƒ ãƒ˜ãƒƒãƒ€ãƒ¼é …ç›®ãŒãªã„ TLS ã‚·" "ンボル\n" -#: src/elflint.c:863 +#: src/elflint.c:867 #, fuzzy, c-format msgid "" "section [%2d] '%s': symbol %zu: TLS symbol but couldn't get TLS program " @@ -1650,7 +1689,7 @@ msgstr "" "セクション [%2d] '%s': シンボル %zu: TLS プãƒã‚°ãƒ©ãƒ ãƒ˜ãƒƒãƒ€ãƒ¼é …ç›®ãŒãªã„ TLS ã‚·" "ンボル\n" -#: src/elflint.c:871 +#: src/elflint.c:875 #, c-format msgid "" "section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] " @@ -1659,7 +1698,7 @@ msgstr "" "セクション [%2d] '%s': シンボル %zu: å‚ç…§ã•ã‚Œã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%2d] '%s' ã®" "st_value ä¸è¶³\n" -#: src/elflint.c:898 +#: src/elflint.c:902 #, c-format msgid "" "section [%2d] '%s': symbol %zu: local symbol outside range described in " @@ -1668,7 +1707,7 @@ msgstr "" "セクション [%2d] '%s': シンボル %zu: sh_info ã«è¨˜è¿°ã•ã‚ŒãŸç¯„囲外ã®ãƒãƒ¼ã‚«ãƒ«ã‚·ãƒ³" "ボル\n" -#: src/elflint.c:905 +#: src/elflint.c:909 #, c-format msgid "" "section [%2d] '%s': symbol %zu: non-local symbol outside range described in " @@ -1677,12 +1716,12 @@ msgstr "" "セクション [%2d] '%s': シンボル %zu: sh_info ã«è¨˜è¿°ã•ã‚ŒãŸç¯„囲外ã®éžãƒãƒ¼ã‚«ãƒ«ã‚·" "ンボル\n" -#: src/elflint.c:912 +#: src/elflint.c:916 #, c-format msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n" msgstr "セクション [%2d] '%s': シンボル %zu: éžãƒãƒ¼ã‚«ãƒ«ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚·ãƒ³ãƒœãƒ«\n" -#: src/elflint.c:962 +#: src/elflint.c:966 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section " @@ -1691,7 +1730,7 @@ msgstr "" "セクション [%2d] '%s': _GLOBAL_OFFSET_TABLE_ シンボルãŒé–“é•ã£ãŸã‚»ã‚¯ã‚·ãƒ§ãƒ³ " "[%2d] ã‚’å‚ç…§ã—ã¦ã„ã¾ã™\n" -#: src/elflint.c:969 +#: src/elflint.c:973 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] " @@ -1700,7 +1739,7 @@ msgstr "" "セクション [%2d] '%s': _GLOBAL_OFFSET_TABLE_ シンボルã¯ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%2d] '%s' " "ã‚’å‚ç…§ã—ã¦ã„ã¾ã™\n" -#: src/elflint.c:985 +#: src/elflint.c:989 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not " @@ -1709,7 +1748,7 @@ msgstr "" "セクション [%2d] '%s': _GLOBAL_OFFSET_TABLE_ シンボル値 %#<PRIx64> 㯠%s ã®ã‚»" "クションアドレス %#<PRIx64> ã¨ä¸€è‡´ã—ã¾ã›ã‚“\n" -#: src/elflint.c:992 +#: src/elflint.c:996 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not " @@ -1718,7 +1757,7 @@ msgstr "" "セクション [%2d] '%s': _GLOBAL_OFFSET_TABLE_ シンボルサイズ %<PRIu64> 㯠%s " "ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚µã‚¤ã‚º %<PRIu64> ã¨ä¸€è‡´ã—ã¾ã›ã‚“\n" -#: src/elflint.c:1000 +#: src/elflint.c:1004 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got " @@ -1727,7 +1766,7 @@ msgstr "" "セクション [%2d] '%s': _GLOBAL_OFFSET_TABLE_ シンボルã¯ã‚ã‚Šã¾ã™ãŒã€.got セク" "ションãŒã‚ã‚Šã¾ã›ã‚“\n" -#: src/elflint.c:1016 +#: src/elflint.c:1020 #, c-format msgid "" "section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic " @@ -1736,7 +1775,7 @@ msgstr "" "セクション [%2d] '%s': _DYNAMIC_ シンボル値 %#<PRIx64> ã¯å‹•çš„セグメントアドレ" "ス %#<PRIx64> ã¨ä¸€è‡´ã—ã¾ã›ã‚“\n" -#: src/elflint.c:1023 +#: src/elflint.c:1027 #, c-format msgid "" "section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic " @@ -1745,7 +1784,7 @@ msgstr "" "セクション [%2d] '%s': _DYNAMIC シンボルサイズ %<PRIu64> ã¯å‹•çš„セグメントサイ" "ズ %<PRIu64> ã¨ä¸€è‡´ã—ã¾ã›ã‚“\n" -#: src/elflint.c:1036 +#: src/elflint.c:1040 #, c-format msgid "" "section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-" @@ -1754,29 +1793,29 @@ msgstr "" "セクション [%2d] '%s': シンボル %zu: çœç•¥ä»¥å¤–ã®å¯è¦–性をæŒã£ãŸå‹•çš„シンボルテー" "ブルä¸ã®ã‚·ãƒ³ãƒœãƒ«\n" -#: src/elflint.c:1040 +#: src/elflint.c:1044 #, c-format msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n" msgstr "" "セクション [%2d] '%s': シンボル %zu: st_other ä¸ã«è¨å®šã•ã‚ŒãŸä¸æ˜Žãªãƒ“ット\n" -#: src/elflint.c:1078 +#: src/elflint.c:1082 #, fuzzy, c-format msgid "section [%2d] '%s': cannot get section data.\n" msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n" -#: src/elflint.c:1094 +#: src/elflint.c:1098 #, c-format msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n" msgstr "セクション [%2d] '%s': ã“ã® RELA セクション用ã«ä½¿ã‚れる DT_RELCOUNT\n" -#: src/elflint.c:1105 src/elflint.c:1158 +#: src/elflint.c:1109 src/elflint.c:1162 #, c-format msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n" msgstr "" "セクション [%2d] '%s': ã“ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ç”¨ã«ã¯é«˜ã™ãŽã‚‹ DT_RELCOUNT 値 %d\n" -#: src/elflint.c:1130 src/elflint.c:1183 +#: src/elflint.c:1134 src/elflint.c:1187 #, c-format msgid "" "section [%2d] '%s': relative relocations after index %d as specified by " @@ -1785,7 +1824,7 @@ msgstr "" "セクション [%2d] '%s': UT_RELOCOUNT ã§æŒ‡å®šã•ã‚ŒãŸã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ %d 後ã®ç›¸å¯¾ãƒªãƒ" "ケーション\n" -#: src/elflint.c:1136 src/elflint.c:1189 +#: src/elflint.c:1140 src/elflint.c:1193 #, c-format msgid "" "section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT " @@ -1794,52 +1833,52 @@ msgstr "" "セクション [%2d] '%s': インデックス %zu ã§ã®éžç›¸å¯¾ãƒªãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³; %d 相対リ" "ãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã§æŒ‡å®šã•ã‚ŒãŸ DT_RELCOUNT\n" -#: src/elflint.c:1148 +#: src/elflint.c:1152 #, c-format msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n" msgstr "セクション [%2d] '%s': ã“ã® REL セクション用ã«ä½¿ã‚れる DT_RELACOUNT\n" -#: src/elflint.c:1231 +#: src/elflint.c:1235 #, c-format msgid "section [%2d] '%s': invalid destination section index\n" msgstr "セクション [%2d] '%s': ä¸å½“ãªå®›å…ˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\n" -#: src/elflint.c:1243 +#: src/elflint.c:1247 #, c-format msgid "section [%2d] '%s': invalid destination section type\n" msgstr "セクション [%2d] '%s': ä¸å½“ãªå®›å…ˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚¿ã‚¤ãƒ—\n" -#: src/elflint.c:1251 +#: src/elflint.c:1255 #, c-format msgid "section [%2d] '%s': sh_info should be zero\n" msgstr "セクション [%2d] '%s': sh_info ã¯ã‚¼ãƒã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“\n" -#: src/elflint.c:1259 +#: src/elflint.c:1263 #, fuzzy, c-format msgid "" "section [%2d] '%s': no relocations for merge-able string sections possible\n" msgstr "" "セクション [%2d] '%s': マージã§ãるセクションã®ãƒªãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã¯ä¸å¯èƒ½ã§ã™\n" -#: src/elflint.c:1267 +#: src/elflint.c:1271 #, c-format msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n" msgstr "" "セクション [%2d] '%s': ã‚»ã‚¯ã‚·ãƒ§ãƒ³é …ç›®ã‚µã‚¤ã‚ºãŒ ElfXX_Rela ã¨ä¸€è‡´ã—ã¾ã›ã‚“\n" -#: src/elflint.c:1327 +#: src/elflint.c:1331 #, c-format msgid "text relocation flag set but there is no read-only segment\n" msgstr "" "テã‚ストリãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ãƒ•ãƒ©ã‚°ãŒè¨å®šã•ã‚Œã¦ã„ã¾ã™ãŒã€èªè¾¼ã¿å°‚用セグメントãŒã‚ã‚Š" "ã¾ã›ã‚“\n" -#: src/elflint.c:1354 +#: src/elflint.c:1358 #, c-format msgid "section [%2d] '%s': relocation %zu: invalid type\n" msgstr "セクション [%2d] '%s': リãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ %zu: ä¸å½“ãªã‚¿ã‚¤ãƒ—\n" -#: src/elflint.c:1362 +#: src/elflint.c:1366 #, c-format msgid "" "section [%2d] '%s': relocation %zu: relocation type invalid for the file " @@ -1848,13 +1887,13 @@ msgstr "" "セクション [%2d] '%s': リãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ %zu: ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ç”¨ã®ãƒªãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã‚¿ã‚¤" "プã¯ä¸å½“ã§ã™\n" -#: src/elflint.c:1370 +#: src/elflint.c:1374 #, c-format msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n" msgstr "" "セクション [%2d] '%s': リãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ %zu: ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\n" -#: src/elflint.c:1388 +#: src/elflint.c:1392 #, c-format msgid "" "section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can " @@ -1863,12 +1902,12 @@ msgstr "" "セクション [%2d] '%s': リãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ %zu: シンボル '_GLOBAL_OFFSET_TABLE_' " "ã®ã¿ãŒ %s ã¨ä¸€ç·’ã«ä½¿ç”¨ã§ãã¾ã™\n" -#: src/elflint.c:1405 +#: src/elflint.c:1409 #, c-format msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n" msgstr "セクション [%2d] '%s': リãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ %zu: オフセット境界外\n" -#: src/elflint.c:1420 +#: src/elflint.c:1424 #, c-format msgid "" "section [%2d] '%s': relocation %zu: copy relocation against symbol of type " @@ -1877,7 +1916,7 @@ msgstr "" "セクション [%2d] '%s': リãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ %zu: タイプ %s ã®ã‚·ãƒ³ãƒœãƒ«ã«å¯¾ã™ã‚‹ã‚³ãƒ”ー" "リãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³\n" -#: src/elflint.c:1441 +#: src/elflint.c:1445 #, c-format msgid "" "section [%2d] '%s': relocation %zu: read-only section modified but text " @@ -1886,24 +1925,24 @@ msgstr "" "セクション [%2d] '%s': リãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ %zu: èªè¾¼ã¿å°‚用セクションãŒå¤‰æ›´ã•ã‚Œã¾ã—" "ãŸãŒã€ãƒ†ã‚ストリãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ãƒ•ãƒ©ã‚°ãŒè¨å®šã•ã‚Œã¦ã„ã¾ã›ã‚“\n" -#: src/elflint.c:1456 +#: src/elflint.c:1460 #, c-format msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n" msgstr "" "セクション [%2d] '%s': リãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ãŒãƒãƒ¼ãƒ‰ã•ã‚ŒãŸãƒ‡ãƒ¼ã‚¿ã¨ãƒãƒ¼ãƒ‰ã•ã‚Œãªã‹ã£ãŸ" "データã«å¯¾ã—ã¦ã§ã™\n" -#: src/elflint.c:1496 src/elflint.c:1547 +#: src/elflint.c:1500 src/elflint.c:1551 #, c-format msgid "section [%2d] '%s': cannot get relocation %zu: %s\n" msgstr "" -#: src/elflint.c:1623 +#: src/elflint.c:1627 #, c-format msgid "more than one dynamic section present\n" msgstr "" -#: src/elflint.c:1641 +#: src/elflint.c:1645 #, fuzzy, c-format msgid "" "section [%2d]: referenced as string table for section [%2d] '%s' but section " @@ -1912,427 +1951,427 @@ msgstr "" "セクション [%2d] '%s': セクション [%2d] '%s' 用ã®æ–‡å—列テーブルã¨ã—ã¦å‚ç…§ã•ã‚Œ" "ã¦ã„ã¾ã™ãŒã€ã‚¿ã‚¤ãƒ—㌠SHT_STRTAB ã§ã¯ã‚ã‚Šã¾ã›ã‚“\n" -#: src/elflint.c:1649 +#: src/elflint.c:1653 #, c-format msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n" msgstr "" -#: src/elflint.c:1654 src/elflint.c:1943 +#: src/elflint.c:1658 src/elflint.c:1947 #, c-format msgid "section [%2d] '%s': sh_info not zero\n" msgstr "" -#: src/elflint.c:1664 +#: src/elflint.c:1668 #, c-format msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n" msgstr "" -#: src/elflint.c:1672 +#: src/elflint.c:1676 #, c-format msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n" msgstr "" -#: src/elflint.c:1679 +#: src/elflint.c:1683 #, c-format msgid "section [%2d] '%s': entry %zu: unknown tag\n" msgstr "" -#: src/elflint.c:1690 +#: src/elflint.c:1694 #, c-format msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n" msgstr "" -#: src/elflint.c:1700 +#: src/elflint.c:1704 #, c-format msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n" msgstr "" -#: src/elflint.c:1718 +#: src/elflint.c:1722 #, c-format msgid "" "section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n" msgstr "" -#: src/elflint.c:1731 +#: src/elflint.c:1735 #, c-format msgid "" "section [%2d] '%s': entry %zu: pointer does not match address of section " "[%2d] '%s' referenced by sh_link\n" msgstr "" -#: src/elflint.c:1774 +#: src/elflint.c:1778 #, c-format msgid "" "section [%2d] '%s': entry %zu: %s value must point into loaded segment\n" msgstr "" -#: src/elflint.c:1789 +#: src/elflint.c:1793 #, c-format msgid "" "section [%2d] '%s': entry %zu: %s value must be valid offset in section " "[%2d] '%s'\n" msgstr "" -#: src/elflint.c:1809 src/elflint.c:1837 +#: src/elflint.c:1813 src/elflint.c:1841 #, c-format msgid "section [%2d] '%s': contains %s entry but not %s\n" msgstr "" -#: src/elflint.c:1821 +#: src/elflint.c:1825 #, c-format msgid "section [%2d] '%s': mandatory tag %s not present\n" msgstr "" -#: src/elflint.c:1830 +#: src/elflint.c:1834 #, c-format msgid "section [%2d] '%s': no hash section present\n" msgstr "" -#: src/elflint.c:1845 src/elflint.c:1852 +#: src/elflint.c:1849 src/elflint.c:1856 #, c-format msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n" msgstr "" -#: src/elflint.c:1862 src/elflint.c:1866 +#: src/elflint.c:1866 src/elflint.c:1870 #, c-format msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n" msgstr "" -#: src/elflint.c:1872 +#: src/elflint.c:1876 #, c-format msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n" msgstr "" -#: src/elflint.c:1883 src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895 +#: src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895 src/elflint.c:1899 #, c-format msgid "section [%2d] '%s': %s tag missing in prelinked executable\n" msgstr "" -#: src/elflint.c:1907 +#: src/elflint.c:1911 #, c-format msgid "" "section [%2d] '%s': only relocatable files can have extended section index\n" msgstr "" -#: src/elflint.c:1917 +#: src/elflint.c:1921 #, c-format msgid "" "section [%2d] '%s': extended section index section not for symbol table\n" msgstr "" -#: src/elflint.c:1921 +#: src/elflint.c:1925 #, fuzzy, c-format msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n" msgstr "セクション [%2d] '%s': ä¸å½“ãªå®›å…ˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\n" -#: src/elflint.c:1926 +#: src/elflint.c:1930 #, c-format msgid "cannot get data for symbol section\n" msgstr "" -#: src/elflint.c:1929 +#: src/elflint.c:1933 #, c-format msgid "section [%2d] '%s': entry size does not match Elf32_Word\n" msgstr "" -#: src/elflint.c:1938 +#: src/elflint.c:1942 #, c-format msgid "section [%2d] '%s': extended index table too small for symbol table\n" msgstr "" -#: src/elflint.c:1953 +#: src/elflint.c:1957 #, c-format msgid "" "section [%2d] '%s': extended section index in section [%2zu] '%s' refers to " "same symbol table\n" msgstr "" -#: src/elflint.c:1970 +#: src/elflint.c:1974 #, c-format msgid "symbol 0 should have zero extended section index\n" msgstr "" -#: src/elflint.c:1982 +#: src/elflint.c:1986 #, c-format msgid "cannot get data for symbol %zu\n" msgstr "" -#: src/elflint.c:1987 +#: src/elflint.c:1991 #, c-format msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n" msgstr "" -#: src/elflint.c:2003 src/elflint.c:2054 +#: src/elflint.c:2007 src/elflint.c:2058 #, c-format msgid "" "section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n" msgstr "" -#: src/elflint.c:2015 src/elflint.c:2066 +#: src/elflint.c:2019 src/elflint.c:2070 #, c-format msgid "section [%2d] '%s': chain array too large\n" msgstr "" -#: src/elflint.c:2029 src/elflint.c:2080 +#: src/elflint.c:2033 src/elflint.c:2084 #, c-format msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n" msgstr "" -#: src/elflint.c:2039 +#: src/elflint.c:2043 #, c-format msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n" msgstr "" -#: src/elflint.c:2090 +#: src/elflint.c:2094 #, c-format msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n" msgstr "" -#: src/elflint.c:2103 +#: src/elflint.c:2107 #, fuzzy, c-format msgid "section [%2d] '%s': not enough data\n" msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n" -#: src/elflint.c:2115 +#: src/elflint.c:2119 #, fuzzy, c-format msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n" msgstr "セクション [%2d] '%s': 0番目ã®é …ç›®ã«ã‚ã‚‹ '%s' ゼãƒã§ã¯ã‚ã‚Šã¾ã›ã‚“\n" -#: src/elflint.c:2131 +#: src/elflint.c:2135 #, c-format msgid "" "section [%2d] '%s': hash table section is too small (is %ld, expected at " "least %ld)\n" msgstr "" -#: src/elflint.c:2140 +#: src/elflint.c:2144 #, c-format msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n" msgstr "" -#: src/elflint.c:2174 +#: src/elflint.c:2178 #, c-format msgid "" "section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n" msgstr "" -#: src/elflint.c:2195 +#: src/elflint.c:2199 #, c-format msgid "" "section [%2d] '%s': symbol %u referenced in chain for bucket %zu is " "undefined\n" msgstr "" -#: src/elflint.c:2208 +#: src/elflint.c:2212 #, c-format msgid "" "section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n" msgstr "" -#: src/elflint.c:2217 +#: src/elflint.c:2221 #, fuzzy, c-format msgid "" "section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n" msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n" -#: src/elflint.c:2247 +#: src/elflint.c:2251 #, c-format msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n" msgstr "" -#: src/elflint.c:2252 +#: src/elflint.c:2256 #, c-format msgid "" "section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n" msgstr "" -#: src/elflint.c:2258 +#: src/elflint.c:2262 #, c-format msgid "section [%2d] '%s': bitmask does not match names in the hash table\n" msgstr "" -#: src/elflint.c:2271 +#: src/elflint.c:2275 #, c-format msgid "section [%2d] '%s': relocatable files cannot have hash tables\n" msgstr "" -#: src/elflint.c:2289 +#: src/elflint.c:2293 #, c-format msgid "section [%2d] '%s': hash table not for dynamic symbol table\n" msgstr "" -#: src/elflint.c:2293 +#: src/elflint.c:2297 #, fuzzy, c-format msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n" msgstr "セクション [%2d] '%s': ä¸å½“ãªå®›å…ˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹\n" -#: src/elflint.c:2301 +#: src/elflint.c:2305 #, c-format msgid "section [%2d] '%s': hash table entry size incorrect\n" msgstr "" -#: src/elflint.c:2306 +#: src/elflint.c:2310 #, c-format msgid "section [%2d] '%s': not marked to be allocated\n" msgstr "" -#: src/elflint.c:2311 +#: src/elflint.c:2315 #, c-format msgid "" "section [%2d] '%s': hash table has not even room for initial administrative " "entries\n" msgstr "" -#: src/elflint.c:2360 +#: src/elflint.c:2364 #, c-format msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n" msgstr "" -#: src/elflint.c:2384 src/elflint.c:2449 src/elflint.c:2484 +#: src/elflint.c:2388 src/elflint.c:2453 src/elflint.c:2488 #, fuzzy, c-format msgid "hash section [%2zu] '%s' does not contain enough data\n" msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n" -#: src/elflint.c:2405 +#: src/elflint.c:2409 #, fuzzy, c-format msgid "hash section [%2zu] '%s' has zero bit mask words\n" msgstr "" "\n" "セクション [%Zu] '%s' ã«ã¯ãƒ€ãƒ³ãƒ—ã™ã¹ãデータãŒã‚ã‚Šã¾ã›ã‚“。\n" -#: src/elflint.c:2416 src/elflint.c:2460 src/elflint.c:2497 +#: src/elflint.c:2420 src/elflint.c:2464 src/elflint.c:2501 #, fuzzy, c-format msgid "hash section [%2zu] '%s' uses too much data\n" msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n" -#: src/elflint.c:2431 +#: src/elflint.c:2435 #, c-format msgid "" "hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: " "%<PRIu32>, nentries: %<PRIu32>\n" msgstr "" -#: src/elflint.c:2518 +#: src/elflint.c:2522 #, fuzzy, c-format msgid "hash section [%2zu] '%s' invalid sh_entsize\n" msgstr "セクション [%2d] '%s': ä¸å½“ãªå®›å…ˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚¿ã‚¤ãƒ—\n" -#: src/elflint.c:2528 src/elflint.c:2532 +#: src/elflint.c:2532 src/elflint.c:2536 #, c-format msgid "section [%2zu] '%s': reference to symbol index 0\n" msgstr "" -#: src/elflint.c:2539 +#: src/elflint.c:2543 #, c-format msgid "" "symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash " "table in [%2zu] '%s'\n" msgstr "" -#: src/elflint.c:2551 +#: src/elflint.c:2555 #, c-format msgid "" "symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash " "table in [%2zu] '%s'\n" msgstr "" -#: src/elflint.c:2567 +#: src/elflint.c:2571 #, c-format msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n" msgstr "" -#: src/elflint.c:2587 +#: src/elflint.c:2591 #, c-format msgid "" "section [%2d] '%s': section groups only allowed in relocatable object files\n" msgstr "" -#: src/elflint.c:2598 +#: src/elflint.c:2602 #, c-format msgid "section [%2d] '%s': cannot get symbol table: %s\n" msgstr "" -#: src/elflint.c:2603 +#: src/elflint.c:2607 #, c-format msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n" msgstr "" -#: src/elflint.c:2609 +#: src/elflint.c:2613 #, c-format msgid "section [%2d] '%s': invalid symbol index in sh_info\n" msgstr "" -#: src/elflint.c:2614 +#: src/elflint.c:2618 #, c-format msgid "section [%2d] '%s': sh_flags not zero\n" msgstr "" -#: src/elflint.c:2621 +#: src/elflint.c:2625 #, c-format msgid "section [%2d] '%s': cannot get symbol for signature\n" msgstr "" -#: src/elflint.c:2625 +#: src/elflint.c:2629 #, fuzzy, c-format msgid "section [%2d] '%s': cannot get symbol name for signature\n" msgstr "セクション [%2d] '%s': シンボル %d を得られã¾ã›ã‚“: %s\n" -#: src/elflint.c:2630 +#: src/elflint.c:2634 #, fuzzy, c-format msgid "section [%2d] '%s': signature symbol cannot be empty string\n" msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n" -#: src/elflint.c:2636 +#: src/elflint.c:2640 #, c-format msgid "section [%2d] '%s': sh_flags not set correctly\n" msgstr "" -#: src/elflint.c:2642 +#: src/elflint.c:2646 #, c-format msgid "section [%2d] '%s': cannot get data: %s\n" msgstr "" -#: src/elflint.c:2651 +#: src/elflint.c:2655 #, c-format msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n" msgstr "" -#: src/elflint.c:2656 +#: src/elflint.c:2660 #, c-format msgid "section [%2d] '%s': section group without flags word\n" msgstr "" -#: src/elflint.c:2662 +#: src/elflint.c:2666 #, c-format msgid "section [%2d] '%s': section group without member\n" msgstr "" -#: src/elflint.c:2666 +#: src/elflint.c:2670 #, c-format msgid "section [%2d] '%s': section group with only one member\n" msgstr "" -#: src/elflint.c:2677 +#: src/elflint.c:2681 #, c-format msgid "section [%2d] '%s': unknown section group flags\n" msgstr "" -#: src/elflint.c:2689 +#: src/elflint.c:2693 #, fuzzy, c-format msgid "section [%2d] '%s': section index %zu out of range\n" msgstr "セクション [%2d] '%s': リãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ %zu: オフセット境界外\n" -#: src/elflint.c:2698 +#: src/elflint.c:2702 #, c-format msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n" msgstr "" -#: src/elflint.c:2705 +#: src/elflint.c:2709 #, c-format msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n" msgstr "" -#: src/elflint.c:2711 +#: src/elflint.c:2715 #, fuzzy, c-format msgid "" "section [%2d] '%s': element %zu references section [%2d] '%s' without " @@ -2341,745 +2380,761 @@ msgstr "" "セクション [%2d] '%s': シンボル %zu: å‚ç…§ã•ã‚Œã‚‹ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%2d] '%s' 㯠" "SHF_TLS フラグãŒè¨å®šã•ã‚Œã¦ã„ã¾ã›ã‚“\n" -#: src/elflint.c:2718 +#: src/elflint.c:2722 #, c-format msgid "section [%2d] '%s' is contained in more than one section group\n" msgstr "" -#: src/elflint.c:2907 +#: src/elflint.c:2912 #, c-format msgid "" "section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no " "dynamic symbol table\n" msgstr "" -#: src/elflint.c:2919 +#: src/elflint.c:2924 #, c-format msgid "" "section [%2d] '%s' has different number of entries than symbol table [%2d] " "'%s'\n" msgstr "" -#: src/elflint.c:2935 +#: src/elflint.c:2940 #, c-format msgid "section [%2d] '%s': symbol %d: cannot read version data\n" msgstr "" -#: src/elflint.c:2951 +#: src/elflint.c:2956 #, c-format msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n" msgstr "" -#: src/elflint.c:2959 +#: src/elflint.c:2964 #, c-format msgid "section [%2d] '%s': symbol %d: local symbol with version\n" msgstr "" -#: src/elflint.c:2973 +#: src/elflint.c:2978 #, c-format msgid "section [%2d] '%s': symbol %d: invalid version index %d\n" msgstr "" -#: src/elflint.c:2978 +#: src/elflint.c:2983 #, c-format msgid "" "section [%2d] '%s': symbol %d: version index %d is for defined version\n" msgstr "" -#: src/elflint.c:2988 +#: src/elflint.c:2993 #, c-format msgid "" "section [%2d] '%s': symbol %d: version index %d is for requested version\n" msgstr "" -#: src/elflint.c:3041 +#: src/elflint.c:3046 #, c-format msgid "more than one version reference section present\n" msgstr "" -#: src/elflint.c:3049 src/elflint.c:3196 +#: src/elflint.c:3054 src/elflint.c:3201 #, c-format msgid "section [%2d] '%s': sh_link does not link to string table\n" msgstr "" -#: src/elflint.c:3074 src/elflint.c:3250 +#: src/elflint.c:3079 src/elflint.c:3255 #, c-format msgid "section [%2d] '%s': entry %d has wrong version %d\n" msgstr "" -#: src/elflint.c:3081 src/elflint.c:3257 +#: src/elflint.c:3086 src/elflint.c:3262 #, c-format msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n" msgstr "" -#: src/elflint.c:3091 +#: src/elflint.c:3096 #, c-format msgid "section [%2d] '%s': entry %d has invalid file reference\n" msgstr "" -#: src/elflint.c:3099 +#: src/elflint.c:3104 #, c-format msgid "section [%2d] '%s': entry %d references unknown dependency\n" msgstr "" -#: src/elflint.c:3111 +#: src/elflint.c:3116 #, c-format msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n" msgstr "" -#: src/elflint.c:3119 +#: src/elflint.c:3124 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has invalid name " "reference\n" msgstr "" -#: src/elflint.c:3128 +#: src/elflint.c:3133 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: " "%#x, expected %#x\n" msgstr "" -#: src/elflint.c:3137 +#: src/elflint.c:3142 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version " "name '%s'\n" msgstr "" -#: src/elflint.c:3148 +#: src/elflint.c:3153 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n" msgstr "" -#: src/elflint.c:3165 src/elflint.c:3341 +#: src/elflint.c:3170 src/elflint.c:3346 #, c-format msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n" msgstr "" -#: src/elflint.c:3173 src/elflint.c:3349 +#: src/elflint.c:3178 src/elflint.c:3354 #, c-format msgid "" "section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says " "there are more entries\n" msgstr "" -#: src/elflint.c:3188 +#: src/elflint.c:3193 #, c-format msgid "more than one version definition section present\n" msgstr "" -#: src/elflint.c:3235 +#: src/elflint.c:3240 #, c-format msgid "section [%2d] '%s': more than one BASE definition\n" msgstr "" -#: src/elflint.c:3239 +#: src/elflint.c:3244 #, c-format msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n" msgstr "" -#: src/elflint.c:3245 +#: src/elflint.c:3250 #, c-format msgid "section [%2d] '%s': entry %d has unknown flag\n" msgstr "" -#: src/elflint.c:3272 +#: src/elflint.c:3277 #, c-format msgid "section [%2d] '%s': entry %d has invalid name reference\n" msgstr "" -#: src/elflint.c:3279 +#: src/elflint.c:3284 #, c-format msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n" msgstr "" -#: src/elflint.c:3287 +#: src/elflint.c:3292 #, c-format msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n" msgstr "" -#: src/elflint.c:3307 +#: src/elflint.c:3312 #, c-format msgid "" "section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n" msgstr "" -#: src/elflint.c:3324 +#: src/elflint.c:3329 #, c-format msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n" msgstr "" -#: src/elflint.c:3357 +#: src/elflint.c:3362 #, c-format msgid "section [%2d] '%s': no BASE definition\n" msgstr "" -#: src/elflint.c:3373 +#: src/elflint.c:3378 #, c-format msgid "section [%2d] '%s': unknown parent version '%s'\n" msgstr "" -#: src/elflint.c:3386 +#: src/elflint.c:3391 #, c-format msgid "section [%2d] '%s': empty object attributes section\n" msgstr "" -#: src/elflint.c:3407 +#: src/elflint.c:3412 #, c-format msgid "section [%2d] '%s': unrecognized attribute format\n" msgstr "" -#: src/elflint.c:3423 +#: src/elflint.c:3428 #, c-format msgid "" "section [%2d] '%s': offset %zu: zero length field in attribute section\n" msgstr "" -#: src/elflint.c:3432 +#: src/elflint.c:3437 #, c-format msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n" msgstr "" -#: src/elflint.c:3444 +#: src/elflint.c:3449 #, c-format msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n" msgstr "" -#: src/elflint.c:3461 +#: src/elflint.c:3466 #, c-format msgid "" "section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n" msgstr "" -#: src/elflint.c:3470 +#: src/elflint.c:3475 #, c-format msgid "section [%2d] '%s': offset %zu: truncated attribute section\n" msgstr "" -#: src/elflint.c:3479 +#: src/elflint.c:3484 #, c-format msgid "" "section [%2d] '%s': offset %zu: zero length field in attribute subsection\n" msgstr "" -#: src/elflint.c:3494 +#: src/elflint.c:3499 #, c-format msgid "" "section [%2d] '%s': offset %zu: invalid length in attribute subsection\n" msgstr "" -#: src/elflint.c:3505 +#: src/elflint.c:3510 #, c-format msgid "" "section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n" msgstr "" -#: src/elflint.c:3523 +#: src/elflint.c:3528 #, c-format msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n" msgstr "" -#: src/elflint.c:3534 +#: src/elflint.c:3539 #, c-format msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n" msgstr "" -#: src/elflint.c:3547 +#: src/elflint.c:3552 #, c-format msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n" msgstr "" -#: src/elflint.c:3551 +#: src/elflint.c:3556 #, c-format msgid "" "section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n" msgstr "" -#: src/elflint.c:3561 +#: src/elflint.c:3566 #, c-format msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n" msgstr "" -#: src/elflint.c:3567 +#: src/elflint.c:3572 #, c-format msgid "" "section [%2d] '%s': offset %zu: extra bytes after last attribute section\n" msgstr "" -#: src/elflint.c:3656 +#: src/elflint.c:3661 #, c-format msgid "cannot get section header of zeroth section\n" msgstr "" -#: src/elflint.c:3660 +#: src/elflint.c:3665 #, c-format msgid "zeroth section has nonzero name\n" msgstr "" -#: src/elflint.c:3662 +#: src/elflint.c:3667 #, c-format msgid "zeroth section has nonzero type\n" msgstr "" -#: src/elflint.c:3664 +#: src/elflint.c:3669 #, c-format msgid "zeroth section has nonzero flags\n" msgstr "" -#: src/elflint.c:3666 +#: src/elflint.c:3671 #, c-format msgid "zeroth section has nonzero address\n" msgstr "" -#: src/elflint.c:3668 +#: src/elflint.c:3673 #, c-format msgid "zeroth section has nonzero offset\n" msgstr "" -#: src/elflint.c:3670 +#: src/elflint.c:3675 #, c-format msgid "zeroth section has nonzero align value\n" msgstr "" -#: src/elflint.c:3672 +#: src/elflint.c:3677 #, c-format msgid "zeroth section has nonzero entry size value\n" msgstr "" -#: src/elflint.c:3675 +#: src/elflint.c:3680 #, c-format msgid "" "zeroth section has nonzero size value while ELF header has nonzero shnum " "value\n" msgstr "" -#: src/elflint.c:3679 +#: src/elflint.c:3684 #, c-format msgid "" "zeroth section has nonzero link value while ELF header does not signal " "overflow in shstrndx\n" msgstr "" -#: src/elflint.c:3683 +#: src/elflint.c:3688 #, c-format msgid "" "zeroth section has nonzero link value while ELF header does not signal " "overflow in phnum\n" msgstr "" -#: src/elflint.c:3700 +#: src/elflint.c:3706 #, c-format msgid "cannot get section header for section [%2zu] '%s': %s\n" msgstr "" -#: src/elflint.c:3709 +#: src/elflint.c:3715 #, c-format msgid "section [%2zu]: invalid name\n" msgstr "" -#: src/elflint.c:3736 +#: src/elflint.c:3742 #, c-format msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n" msgstr "" -#: src/elflint.c:3752 +#: src/elflint.c:3760 #, c-format msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n" msgstr "" -#: src/elflint.c:3769 +#: src/elflint.c:3778 #, c-format msgid "" "section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n" msgstr "" -#: src/elflint.c:3787 +#: src/elflint.c:3796 #, c-format msgid "section [%2zu] '%s' present in object file\n" msgstr "" -#: src/elflint.c:3793 src/elflint.c:3825 +#: src/elflint.c:3802 src/elflint.c:3834 #, c-format msgid "" "section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n" msgstr "" -#: src/elflint.c:3798 src/elflint.c:3830 +#: src/elflint.c:3807 src/elflint.c:3839 #, c-format msgid "" "section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable " "segments\n" msgstr "" -#: src/elflint.c:3806 +#: src/elflint.c:3815 #, c-format msgid "" "section [%2zu] '%s' is extension section index table in non-object file\n" msgstr "" -#: src/elflint.c:3849 +#: src/elflint.c:3858 #, c-format msgid "section [%2zu] '%s': size not multiple of entry size\n" msgstr "" -#: src/elflint.c:3854 +#: src/elflint.c:3863 #, c-format msgid "cannot get section header\n" msgstr "" -#: src/elflint.c:3864 +#: src/elflint.c:3873 #, c-format msgid "section [%2zu] '%s' has unsupported type %d\n" msgstr "" -#: src/elflint.c:3878 +#: src/elflint.c:3888 #, c-format msgid "" "section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n" msgstr "" -#: src/elflint.c:3885 +#: src/elflint.c:3895 #, c-format msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n" msgstr "" -#: src/elflint.c:3893 +#: src/elflint.c:3903 #, c-format msgid "section [%2zu] '%s': thread-local data sections address not zero\n" msgstr "" -#: src/elflint.c:3901 +#: src/elflint.c:3913 +#, fuzzy, c-format +msgid "section [%2zu] '%s': allocated section cannot be compressed\n" +msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n" + +#: src/elflint.c:3918 +#, fuzzy, c-format +msgid "section [%2zu] '%s': nobits section cannot be compressed\n" +msgstr "セクション [%2d] '%s': セクションデータを得られã¾ã›ã‚“\n" + +#: src/elflint.c:3924 +#, c-format +msgid "" +"section [%2zu] '%s': compressed section with no compression header: %s\n" +msgstr "" + +#: src/elflint.c:3930 #, c-format msgid "section [%2zu] '%s': invalid section reference in link value\n" msgstr "" -#: src/elflint.c:3906 +#: src/elflint.c:3935 #, c-format msgid "section [%2zu] '%s': invalid section reference in info value\n" msgstr "" -#: src/elflint.c:3913 +#: src/elflint.c:3942 #, c-format msgid "section [%2zu] '%s': strings flag set without merge flag\n" msgstr "" -#: src/elflint.c:3918 +#: src/elflint.c:3947 #, c-format msgid "section [%2zu] '%s': merge flag set but entry size is zero\n" msgstr "" -#: src/elflint.c:3936 +#: src/elflint.c:3965 #, c-format msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n" msgstr "" -#: src/elflint.c:3945 +#: src/elflint.c:3974 #, c-format msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n" msgstr "" -#: src/elflint.c:3952 +#: src/elflint.c:3981 #, c-format msgid "section [%2zu] '%s' is both executable and writable\n" msgstr "" -#: src/elflint.c:3982 +#: src/elflint.c:4012 #, c-format msgid "" "section [%2zu] '%s' not fully contained in segment of program header entry " "%d\n" msgstr "" -#: src/elflint.c:3992 +#: src/elflint.c:4022 #, c-format msgid "" "section [%2zu] '%s' has type NOBITS but is read from the file in segment of " "program header entry %d\n" msgstr "" -#: src/elflint.c:4018 +#: src/elflint.c:4048 #, c-format msgid "" "section [%2zu] '%s' has type NOBITS but is read from the file in segment of " "program header entry %d and file contents is non-zero\n" msgstr "" -#: src/elflint.c:4029 +#: src/elflint.c:4059 #, c-format msgid "" "section [%2zu] '%s' has not type NOBITS but is not read from the file in " "segment of program header entry %d\n" msgstr "" -#: src/elflint.c:4040 +#: src/elflint.c:4070 #, c-format msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n" msgstr "" -#: src/elflint.c:4050 +#: src/elflint.c:4080 #, c-format msgid "section [%2zu] '%s' is writable in unwritable segment %d\n" msgstr "" -#: src/elflint.c:4060 +#: src/elflint.c:4090 #, c-format msgid "" "section [%2zu] '%s': alloc flag set but section not in any loaded segment\n" msgstr "" -#: src/elflint.c:4066 +#: src/elflint.c:4096 #, c-format msgid "" "section [%2zu] '%s': ELF header says this is the section header string table " "but type is not SHT_TYPE\n" msgstr "" -#: src/elflint.c:4074 +#: src/elflint.c:4104 #, c-format msgid "" "section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n" msgstr "" -#: src/elflint.c:4125 +#: src/elflint.c:4155 #, c-format msgid "more than one version symbol table present\n" msgstr "" -#: src/elflint.c:4148 +#: src/elflint.c:4178 #, c-format msgid "INTERP program header entry but no .interp section\n" msgstr "" -#: src/elflint.c:4159 +#: src/elflint.c:4189 #, c-format msgid "" "loadable segment [%u] is executable but contains no executable sections\n" msgstr "" -#: src/elflint.c:4165 +#: src/elflint.c:4195 #, c-format msgid "loadable segment [%u] is writable but contains no writable sections\n" msgstr "" -#: src/elflint.c:4176 +#: src/elflint.c:4206 #, c-format msgid "" "no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section " "exist\n" msgstr "" -#: src/elflint.c:4189 +#: src/elflint.c:4219 #, c-format msgid "duplicate version index %d\n" msgstr "" -#: src/elflint.c:4203 +#: src/elflint.c:4233 #, c-format msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n" msgstr "" -#: src/elflint.c:4252 +#: src/elflint.c:4282 #, c-format msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n" msgstr "" -#: src/elflint.c:4256 +#: src/elflint.c:4286 #, c-format msgid "" "section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n" msgstr "" -#: src/elflint.c:4279 +#: src/elflint.c:4309 #, c-format msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %zu\n" msgstr "" -#: src/elflint.c:4283 +#: src/elflint.c:4313 #, c-format msgid "" "section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n" msgstr "" -#: src/elflint.c:4300 +#: src/elflint.c:4330 #, c-format msgid "phdr[%d]: no note entries defined for the type of file\n" msgstr "" -#: src/elflint.c:4319 +#: src/elflint.c:4349 #, c-format msgid "phdr[%d]: cannot get content of note section: %s\n" msgstr "" -#: src/elflint.c:4322 +#: src/elflint.c:4352 #, c-format msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n" msgstr "" -#: src/elflint.c:4343 +#: src/elflint.c:4373 #, c-format msgid "section [%2d] '%s': no note entries defined for the type of file\n" msgstr "" -#: src/elflint.c:4350 +#: src/elflint.c:4380 #, c-format msgid "section [%2d] '%s': cannot get content of note section\n" msgstr "" -#: src/elflint.c:4353 +#: src/elflint.c:4383 #, c-format msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n" msgstr "" -#: src/elflint.c:4371 +#: src/elflint.c:4401 #, c-format msgid "" "only executables, shared objects, and core files can have program headers\n" msgstr "" -#: src/elflint.c:4386 +#: src/elflint.c:4416 #, c-format msgid "cannot get program header entry %d: %s\n" msgstr "" -#: src/elflint.c:4395 +#: src/elflint.c:4425 #, c-format msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n" msgstr "" -#: src/elflint.c:4406 +#: src/elflint.c:4436 #, c-format msgid "more than one INTERP entry in program header\n" msgstr "" -#: src/elflint.c:4414 +#: src/elflint.c:4444 #, c-format msgid "more than one TLS entry in program header\n" msgstr "" -#: src/elflint.c:4421 +#: src/elflint.c:4451 #, c-format msgid "static executable cannot have dynamic sections\n" msgstr "" -#: src/elflint.c:4435 +#: src/elflint.c:4465 #, c-format msgid "dynamic section reference in program header has wrong offset\n" msgstr "" -#: src/elflint.c:4438 +#: src/elflint.c:4468 #, c-format msgid "dynamic section size mismatch in program and section header\n" msgstr "" -#: src/elflint.c:4448 +#: src/elflint.c:4478 #, c-format msgid "more than one GNU_RELRO entry in program header\n" msgstr "" -#: src/elflint.c:4469 +#: src/elflint.c:4499 #, c-format msgid "loadable segment GNU_RELRO applies to is not writable\n" msgstr "" -#: src/elflint.c:4480 +#: src/elflint.c:4510 #, c-format msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n" msgstr "" -#: src/elflint.c:4487 +#: src/elflint.c:4517 #, c-format msgid "" "GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n" msgstr "" -#: src/elflint.c:4496 src/elflint.c:4519 +#: src/elflint.c:4526 src/elflint.c:4549 #, c-format msgid "%s segment not contained in a loaded segment\n" msgstr "" -#: src/elflint.c:4525 +#: src/elflint.c:4555 #, c-format msgid "program header offset in ELF header and PHDR entry do not match" msgstr "" -#: src/elflint.c:4550 +#: src/elflint.c:4580 #, c-format msgid "call frame search table reference in program header has wrong offset\n" msgstr "" -#: src/elflint.c:4553 +#: src/elflint.c:4583 #, c-format msgid "call frame search table size mismatch in program and section header\n" msgstr "" -#: src/elflint.c:4566 +#: src/elflint.c:4596 #, c-format msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n" msgstr "" -#: src/elflint.c:4574 +#: src/elflint.c:4604 #, c-format msgid "call frame search table must be allocated\n" msgstr "" -#: src/elflint.c:4577 +#: src/elflint.c:4607 #, c-format msgid "section [%2zu] '%s' must be allocated\n" msgstr "" -#: src/elflint.c:4581 +#: src/elflint.c:4611 #, c-format msgid "call frame search table must not be writable\n" msgstr "" -#: src/elflint.c:4584 +#: src/elflint.c:4614 #, c-format msgid "section [%2zu] '%s' must not be writable\n" msgstr "" -#: src/elflint.c:4589 +#: src/elflint.c:4619 #, c-format msgid "call frame search table must not be executable\n" msgstr "" -#: src/elflint.c:4592 +#: src/elflint.c:4622 #, c-format msgid "section [%2zu] '%s' must not be executable\n" msgstr "" -#: src/elflint.c:4603 +#: src/elflint.c:4633 #, c-format msgid "program header entry %d: file size greater than memory size\n" msgstr "" -#: src/elflint.c:4610 +#: src/elflint.c:4640 #, c-format msgid "program header entry %d: alignment not a power of 2\n" msgstr "" -#: src/elflint.c:4613 +#: src/elflint.c:4643 #, c-format msgid "" "program header entry %d: file offset and virtual address not module of " "alignment\n" msgstr "" -#: src/elflint.c:4626 +#: src/elflint.c:4656 #, c-format msgid "" "executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME " "program header entry" msgstr "" -#: src/elflint.c:4660 +#: src/elflint.c:4690 #, c-format msgid "cannot read ELF header: %s\n" msgstr "" -#: src/elflint.c:4686 +#: src/elflint.c:4716 #, c-format msgid "text relocation flag set but not needed\n" msgstr "" @@ -3100,7 +3155,7 @@ msgstr "" msgid "Locate source of text relocations in FILEs (a.out by default)." msgstr "" -#: src/findtextrel.c:76 src/nm.c:107 src/objdump.c:71 src/size.c:83 +#: src/findtextrel.c:76 src/nm.c:108 src/objdump.c:71 src/size.c:83 #: src/strings.c:88 src/strip.c:95 msgid "[FILE...]" msgstr "[ãµãã„ã‚‹...]" @@ -3594,8 +3649,8 @@ msgstr "" "è¦å‘Š: `%1$s ã®å¤§ãã•ãŒ %3$s ã® %2$<PRIu64> ã‹ã‚‰ %5$s ã® %4$<PRIu64> ã«å¤‰æ›´ã•" "ã‚Œã¾ã—ãŸ" -#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:527 -#: src/readelf.c:829 src/strip.c:589 +#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:536 src/readelf.c:852 +#: src/strip.c:589 #, c-format msgid "cannot determine number of sections: %s" msgstr "セクション数を決定ã§ãã¾ã›ã‚“: %s" @@ -3833,7 +3888,7 @@ msgstr "内部エラー: éž nobits セクション㌠nobits セクション㫠msgid "cannot get header of 0th section: %s" msgstr "0番目ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®ãƒ˜ãƒƒãƒ€ãƒ¼ã‚’得られã¾ã›ã‚“: %s" -#: src/ldgeneric.c:6930 src/unstrip.c:1893 +#: src/ldgeneric.c:6930 src/unstrip.c:1929 #, c-format msgid "cannot update ELF header: %s" msgstr "ELF ヘッダーを更新ã§ãã¾ã›ã‚“: %s" @@ -3900,43 +3955,43 @@ msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ³ '%2$s' 用ã®ãƒãƒ¼ã‚«ãƒ«ã¨ã‚°ãƒãƒ¼ãƒãƒ«ã§å®£è¨€ã•ã msgid "default visibility set as local and global" msgstr "ãƒãƒ¼ã‚«ãƒ«ã¨ã‚°ãƒãƒ¼ãƒãƒ«ã«è¨å®šã•ã‚ŒãŸãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®å¯è¦–性" -#: src/nm.c:65 src/strip.c:67 +#: src/nm.c:66 src/strip.c:67 msgid "Output selection:" msgstr "出力é¸æŠž:" -#: src/nm.c:66 +#: src/nm.c:67 msgid "Display debugger-only symbols" msgstr "デãƒãƒƒã‚¬ãƒ¼å°‚用シンボルを表示" -#: src/nm.c:67 +#: src/nm.c:68 msgid "Display only defined symbols" msgstr "定義ã•ã‚ŒãŸã‚·ãƒ³ãƒœãƒ«ã®ã¿ã‚’表示" -#: src/nm.c:70 +#: src/nm.c:71 msgid "Display dynamic symbols instead of normal symbols" msgstr "通常シンボルã®ä»£ã‚ã‚Šã«å‹•çš„シンボルを表示" -#: src/nm.c:71 +#: src/nm.c:72 msgid "Display only external symbols" msgstr "外部シンボルã®ã¿ã‚’表示" -#: src/nm.c:72 +#: src/nm.c:73 msgid "Display only undefined symbols" msgstr "未定義シンボルã®ã¿ã‚’表示" -#: src/nm.c:74 +#: src/nm.c:75 msgid "Include index for symbols from archive members" msgstr "アーカイブメンãƒãƒ¼ã‹ã‚‰ã®ã‚·ãƒ³ãƒœãƒ«ã®ç´¢å¼•ã‚’å«ã‚ã‚‹" -#: src/nm.c:76 src/size.c:57 +#: src/nm.c:77 src/size.c:57 msgid "Output format:" msgstr "出力形å¼:" -#: src/nm.c:78 +#: src/nm.c:79 msgid "Print name of the input file before every symbol" msgstr "å…¨ã¦ã®ã‚·ãƒ³ãƒœãƒ«ã®å‰ã«å…¥åŠ›ãƒ•ã‚¡ã‚¤ãƒ«åã‚’å°åˆ·" -#: src/nm.c:81 +#: src/nm.c:82 msgid "" "Use the output format FORMAT. FORMAT can be `bsd', `sysv' or `posix'. The " "default is `sysv'" @@ -3944,73 +3999,73 @@ msgstr "" "出力形å¼ã¨ã—㦠FORMATを使ã†ã€‚FORMAT 㯠`bsd'ã‹ã€`sysv'ã€`posix' ã®ã©ã‚Œã‹ã€‚çœ" "略値㯠`sysv'" -#: src/nm.c:83 +#: src/nm.c:84 msgid "Same as --format=bsd" msgstr "--format=bsd ã¨åŒã˜" -#: src/nm.c:84 +#: src/nm.c:85 msgid "Same as --format=posix" msgstr "--format=posix ã¨åŒã˜" -#: src/nm.c:85 src/size.c:63 +#: src/nm.c:86 src/size.c:63 msgid "Use RADIX for printing symbol values" msgstr "シンボル値をå°åˆ·ã™ã‚‹ãŸã‚ã« RADIX を使ã†" -#: src/nm.c:86 +#: src/nm.c:87 #, fuzzy msgid "Mark special symbols" msgstr "å¼±ã„シンボルã«å°ã‚’点ã‘ã‚‹" -#: src/nm.c:88 +#: src/nm.c:89 msgid "Print size of defined symbols" msgstr "定義ã•ã‚ŒãŸã‚·ãƒ³ãƒœãƒ«ã®å°åˆ·ã‚µã‚¤ã‚º" -#: src/nm.c:90 src/size.c:71 src/strip.c:72 src/unstrip.c:72 +#: src/nm.c:91 src/size.c:71 src/strip.c:72 src/unstrip.c:72 msgid "Output options:" msgstr "出力オプション:" -#: src/nm.c:91 +#: src/nm.c:92 msgid "Sort symbols numerically by address" msgstr "シンボルをアドレスã«ã‚ˆã‚Šæ•°å€¤çš„ã«ä¸¦ã¹æ›¿ãˆã‚‹" -#: src/nm.c:93 +#: src/nm.c:94 msgid "Do not sort the symbols" msgstr "シンボルを並ã¹æ›¿ãˆãªã„" -#: src/nm.c:94 +#: src/nm.c:95 msgid "Reverse the sense of the sort" msgstr "並ã¹æ›¿ãˆã®æ„味を逆ã«ã™ã‚‹" -#: src/nm.c:97 +#: src/nm.c:98 msgid "Decode low-level symbol names into source code names" msgstr "" -#: src/nm.c:104 +#: src/nm.c:105 msgid "List symbols from FILEs (a.out by default)." msgstr "ãµãã„ã‚‹ ã‹ã‚‰ã‚·ãƒ³ãƒœãƒ«ã‚’表示 (デフォルトã§ã¯a.out)。" -#: src/nm.c:115 src/objdump.c:79 +#: src/nm.c:116 src/objdump.c:79 #, fuzzy msgid "Output formatting" msgstr "出力形å¼:" -#: src/nm.c:139 src/objdump.c:103 src/size.c:108 src/strip.c:127 +#: src/nm.c:140 src/objdump.c:103 src/size.c:108 src/strip.c:127 #, fuzzy, c-format msgid "%s: INTERNAL ERROR %d (%s): %s" msgstr "%s: 内部エラー %d (%s-%s): %s" -#: src/nm.c:394 src/nm.c:406 src/size.c:305 src/size.c:314 src/size.c:325 +#: src/nm.c:395 src/nm.c:407 src/size.c:305 src/size.c:314 src/size.c:325 #: src/strip.c:2280 #, c-format msgid "while closing '%s'" msgstr "'%s' ã‚’é–‰ã˜ã¦ã„る最ä¸" -#: src/nm.c:416 src/objdump.c:292 src/strip.c:391 +#: src/nm.c:417 src/objdump.c:292 src/strip.c:391 #, c-format msgid "%s: File format not recognized" msgstr "%s: ファイル形å¼ã‚’èªè˜ã§ãã¾ã›ã‚“ã§ã—ãŸ" -#: src/nm.c:456 +#: src/nm.c:457 #, fuzzy msgid "" "\n" @@ -4019,42 +4074,42 @@ msgstr "" "\n" "アーカイブ索引:" -#: src/nm.c:465 +#: src/nm.c:466 #, c-format msgid "invalid offset %zu for symbol %s" msgstr "シンボル %2$sã®ä¸æ£ãªã‚ªãƒ•ã‚»ãƒƒãƒˆ %1$zu " -#: src/nm.c:470 +#: src/nm.c:471 #, c-format msgid "%s in %s\n" msgstr "%2$s ã®ä¸ã® %1$s\n" -#: src/nm.c:478 +#: src/nm.c:479 #, c-format msgid "cannot reset archive offset to beginning" msgstr "アーカイブã®ã‚ªãƒ•ã‚»ãƒƒãƒˆã‚’最åˆã«ãƒªã‚»ãƒƒãƒˆã§ãã¾ã›ã‚“" -#: src/nm.c:503 src/objdump.c:340 +#: src/nm.c:504 src/objdump.c:340 #, c-format msgid "%s%s%s: file format not recognized" msgstr "%s%s%s: ファイル形å¼ã‚’èªè˜ã§ãã¾ã›ã‚“" -#: src/nm.c:715 +#: src/nm.c:719 #, c-format msgid "cannot create search tree" msgstr "検索ツリーを生æˆã§ãã¾ã›ã‚“" -#: src/nm.c:754 src/nm.c:1160 src/objdump.c:789 src/readelf.c:536 -#: src/readelf.c:1085 src/readelf.c:1245 src/readelf.c:1393 src/readelf.c:1579 -#: src/readelf.c:1785 src/readelf.c:1975 src/readelf.c:2202 src/readelf.c:2460 -#: src/readelf.c:2536 src/readelf.c:2623 src/readelf.c:3203 src/readelf.c:3239 -#: src/readelf.c:3302 src/readelf.c:8212 src/readelf.c:9314 src/readelf.c:9461 -#: src/readelf.c:9529 src/size.c:413 src/size.c:482 src/strip.c:520 +#: src/nm.c:760 src/nm.c:1221 src/objdump.c:789 src/readelf.c:545 +#: src/readelf.c:1123 src/readelf.c:1323 src/readelf.c:1471 src/readelf.c:1667 +#: src/readelf.c:1873 src/readelf.c:2063 src/readelf.c:2300 src/readelf.c:2558 +#: src/readelf.c:2634 src/readelf.c:2721 src/readelf.c:3301 src/readelf.c:3347 +#: src/readelf.c:3410 src/readelf.c:8320 src/readelf.c:9420 src/readelf.c:9603 +#: src/readelf.c:9671 src/size.c:413 src/size.c:482 src/strip.c:520 #, c-format msgid "cannot get section header string table index" msgstr "セクションヘッダー文å—列テーブル索引ãŒå¾—られã¾ã›ã‚“" -#: src/nm.c:781 +#: src/nm.c:787 #, c-format msgid "" "\n" @@ -4067,7 +4122,7 @@ msgstr "" "%s ã‹ã‚‰ã®ã‚·ãƒ³ãƒœãƒ«:\n" "\n" -#: src/nm.c:784 +#: src/nm.c:790 #, c-format msgid "" "%*s%-*s %-*s Class Type %-*s %*s Section\n" @@ -4076,22 +4131,22 @@ msgstr "" "%*s%-*s %-*s クラス タイプ %-*s %*s セクション\n" "\n" -#: src/nm.c:1171 +#: src/nm.c:1232 #, fuzzy, c-format msgid "%s: entry size in section %zd `%s' is not what we expect" msgstr "%s: セクションã®é …ç›®ã®å¤§ãã• `%s' ã¯äºˆæœŸã—ãŸã‚‚ã®ã¨ã¯ç•°ãªã‚Šã¾ã™" -#: src/nm.c:1176 +#: src/nm.c:1237 #, fuzzy, c-format msgid "%s: size of section %zd `%s' is not multiple of entry size" msgstr "%s: セクション `%s' ã®å¤§ãã•ã¯é …ç›®ã®å¤§ãã•ã®æ•´æ•°å€ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: src/nm.c:1434 +#: src/nm.c:1537 #, c-format msgid "%s%s%s%s: Invalid operation" msgstr "%s%s%s%s: ä¸å½“ãªæ“作" -#: src/nm.c:1491 +#: src/nm.c:1594 #, c-format msgid "%s%s%s: no symbols" msgstr "%s%s%s: シンボルãŒã‚ã‚Šã¾ã›ã‚“" @@ -4125,7 +4180,7 @@ msgstr "" msgid "Show information from FILEs (a.out by default)." msgstr "" -#: src/objdump.c:232 src/readelf.c:473 +#: src/objdump.c:232 src/readelf.c:479 msgid "No operation specified.\n" msgstr "æ“作ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。\n" @@ -4134,11 +4189,11 @@ msgstr "æ“作ãŒæŒ‡å®šã•ã‚Œã¦ã„ã¾ã›ã‚“。\n" msgid "while close `%s'" msgstr "" -#: src/objdump.c:375 src/readelf.c:1880 src/readelf.c:2072 +#: src/objdump.c:375 src/readelf.c:1968 src/readelf.c:2160 msgid "INVALID SYMBOL" msgstr "ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«" -#: src/objdump.c:390 src/readelf.c:1914 src/readelf.c:2108 +#: src/objdump.c:390 src/readelf.c:2002 src/readelf.c:2196 msgid "INVALID SECTION" msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³" @@ -4187,78 +4242,78 @@ msgstr "" msgid "error while freeing sub-ELF descriptor: %s" msgstr "" -#: src/readelf.c:71 +#: src/readelf.c:72 #, fuzzy msgid "ELF input selection:" msgstr "出力é¸æŠž:" -#: src/readelf.c:73 +#: src/readelf.c:74 msgid "" "Use the named SECTION (default .gnu_debugdata) as (compressed) ELF input data" msgstr "" -#: src/readelf.c:75 +#: src/readelf.c:76 #, fuzzy msgid "ELF output selection:" msgstr "出力é¸æŠž:" -#: src/readelf.c:77 +#: src/readelf.c:78 msgid "All these plus -p .strtab -p .dynstr -p .comment" msgstr "" -#: src/readelf.c:78 +#: src/readelf.c:79 msgid "Display the dynamic segment" msgstr "動的セグメントを表示" -#: src/readelf.c:79 +#: src/readelf.c:80 msgid "Display the ELF file header" msgstr "ELF ファイルヘッダーを表示" -#: src/readelf.c:81 +#: src/readelf.c:82 msgid "Display histogram of bucket list lengths" msgstr "ãƒã‚±ãƒƒãƒˆãƒªã‚¹ãƒˆé•·ã®æŸ±çŠ¶å›³ã‚’表示" -#: src/readelf.c:82 +#: src/readelf.c:83 msgid "Display the program headers" msgstr "プãƒã‚°ãƒ©ãƒ ヘッダーを表示" -#: src/readelf.c:84 +#: src/readelf.c:85 msgid "Display relocations" msgstr "リãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã‚’表示" -#: src/readelf.c:85 +#: src/readelf.c:86 #, fuzzy msgid "Display the sections' headers" msgstr "セクションã®ãƒ˜ãƒƒãƒ€ãƒ¼ã‚’表示" -#: src/readelf.c:87 +#: src/readelf.c:88 msgid "Display the symbol table" msgstr "シンボルテーブルを表示" -#: src/readelf.c:88 +#: src/readelf.c:89 msgid "Display versioning information" msgstr "ãƒãƒ¼ã‚¸ãƒ§ãƒ‹ãƒ³ã‚°æƒ…å ±ã®è¡¨ç¤º" -#: src/readelf.c:89 +#: src/readelf.c:90 #, fuzzy msgid "Display the ELF notes" msgstr "コアノートを表示" -#: src/readelf.c:91 +#: src/readelf.c:92 #, fuzzy msgid "Display architecture specific information, if any" msgstr "(ã‚‚ã—ã‚ã‚Œã°)アーã‚テクãƒãƒ£ãƒ¼å›ºæœ‰ã®æƒ…å ±ã‚’è¡¨ç¤º" -#: src/readelf.c:93 +#: src/readelf.c:94 msgid "Display sections for exception handling" msgstr "例外をå–り扱ã†ãŸã‚ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚’表示" -#: src/readelf.c:95 +#: src/readelf.c:96 #, fuzzy msgid "Additional output selection:" msgstr "出力é¸æŠž:" -#: src/readelf.c:97 +#: src/readelf.c:98 #, fuzzy msgid "" "Display DWARF section content. SECTION can be one of abbrev, aranges, " @@ -4268,166 +4323,172 @@ msgstr "" "DWARF セクションã®å†…容を表示。SECTION 㯠addrevã‹ã€arangesã€frameã€infoã€" "locã€rangesã€pubnamesã€strã€macinfoã€exception ã®ã„ãšã‚Œã‹ã§ã™" -#: src/readelf.c:101 +#: src/readelf.c:102 msgid "Dump the uninterpreted contents of SECTION, by number or name" msgstr "æ•°å—ã‹åå‰ã§è§£é‡ˆã§ããªã„セクションã®å†…容をダンプã™ã‚‹" -#: src/readelf.c:103 +#: src/readelf.c:104 msgid "Print string contents of sections" msgstr "セクションã®æ–‡å—列内容をå°åˆ·ã™ã‚‹" -#: src/readelf.c:106 +#: src/readelf.c:107 msgid "Display the symbol index of an archive" msgstr "アーカイブã®ã‚·ãƒ³ãƒœãƒ«ç´¢å¼•ã‚’表示" -#: src/readelf.c:108 +#: src/readelf.c:109 msgid "Output control:" msgstr "出力制御:" -#: src/readelf.c:110 +#: src/readelf.c:111 msgid "Do not find symbol names for addresses in DWARF data" msgstr "DWARFデータä¸ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã®ãŸã‚ã®ã‚·ãƒ³ãƒœãƒ«åを探ã•ãªã„" -#: src/readelf.c:112 +#: src/readelf.c:113 #, fuzzy msgid "" "Display just offsets instead of resolving values to addresses in DWARF data" msgstr "DWARFデータä¸ã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã®ãŸã‚ã®ã‚·ãƒ³ãƒœãƒ«åを探ã•ãªã„" -#: src/readelf.c:114 +#: src/readelf.c:115 msgid "Ignored for compatibility (lines always wide)" msgstr "" -#: src/readelf.c:119 +#: src/readelf.c:117 +msgid "" +"Show compression information for compressed sections (when used with -S); " +"decompress section before dumping data (when used with -p or -x)" +msgstr "" + +#: src/readelf.c:122 msgid "Print information from ELF file in human-readable form." msgstr "ELF ファイルã‹ã‚‰äººé–“ãŒèªã‚ã‚‹å½¢ã§æƒ…å ±ã‚’å°åˆ·ã™ã‚‹ã€‚" -#: src/readelf.c:441 +#: src/readelf.c:447 #, c-format msgid "Unknown DWARF debug section `%s'.\n" msgstr "ä¸æ˜Žãª DWARF デãƒãƒƒã‚°ã‚»ã‚¯ã‚·ãƒ§ãƒ³ `%s'.\n" -#: src/readelf.c:520 src/readelf.c:631 +#: src/readelf.c:529 src/readelf.c:640 #, c-format msgid "cannot generate Elf descriptor: %s" msgstr "Elf 記述åを生æˆã§ãã¾ã›ã‚“: %s" -#: src/readelf.c:545 src/readelf.c:1099 src/readelf.c:1269 +#: src/readelf.c:554 src/readelf.c:1145 src/readelf.c:1347 #, c-format msgid "cannot get section: %s" msgstr "セクションを得られã¾ã›ã‚“: %s" -#: src/readelf.c:554 src/readelf.c:1106 src/readelf.c:1277 src/readelf.c:9481 -#: src/unstrip.c:355 src/unstrip.c:386 src/unstrip.c:435 src/unstrip.c:543 -#: src/unstrip.c:560 src/unstrip.c:596 src/unstrip.c:794 src/unstrip.c:1083 -#: src/unstrip.c:1274 src/unstrip.c:1334 src/unstrip.c:1455 src/unstrip.c:1508 -#: src/unstrip.c:1623 src/unstrip.c:1761 src/unstrip.c:1855 +#: src/readelf.c:563 src/readelf.c:1152 src/readelf.c:1355 src/readelf.c:9623 +#: src/unstrip.c:387 src/unstrip.c:418 src/unstrip.c:467 src/unstrip.c:577 +#: src/unstrip.c:594 src/unstrip.c:631 src/unstrip.c:829 src/unstrip.c:1118 +#: src/unstrip.c:1309 src/unstrip.c:1369 src/unstrip.c:1490 src/unstrip.c:1543 +#: src/unstrip.c:1658 src/unstrip.c:1796 src/unstrip.c:1891 #, c-format msgid "cannot get section header: %s" msgstr "セクションヘッダーを得られã¾ã›ã‚“: %s" -#: src/readelf.c:562 +#: src/readelf.c:571 #, fuzzy, c-format msgid "cannot get section name" msgstr "セクションを得られã¾ã›ã‚“: %s" -#: src/readelf.c:571 src/readelf.c:5396 src/readelf.c:7670 src/readelf.c:7772 -#: src/readelf.c:7949 +#: src/readelf.c:580 src/readelf.c:5504 src/readelf.c:7778 src/readelf.c:7880 +#: src/readelf.c:8057 #, c-format msgid "cannot get %s content: %s" msgstr "%s ã®å†…容を得られã¾ã›ã‚“: %s" -#: src/readelf.c:587 +#: src/readelf.c:596 #, fuzzy, c-format msgid "cannot create temp file '%s'" msgstr "æ–°ã—ã„ファイル '%s' を生æˆã§ãã¾ã›ã‚“: %s" -#: src/readelf.c:596 +#: src/readelf.c:605 #, fuzzy, c-format msgid "cannot write section data" msgstr "セクションデータを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s" -#: src/readelf.c:602 src/readelf.c:619 src/readelf.c:648 +#: src/readelf.c:611 src/readelf.c:628 src/readelf.c:657 #, c-format msgid "error while closing Elf descriptor: %s" msgstr "Elf 記述åã‚’é–‰ã˜ã¦ã„る時ã«ã‚¨ãƒ©ãƒ¼: %s" -#: src/readelf.c:609 +#: src/readelf.c:618 #, fuzzy, c-format msgid "error while rewinding file descriptor" msgstr "Elf 記述åã‚’é–‰ã˜ã¦ã„る時ã«ã‚¨ãƒ©ãƒ¼: %s" -#: src/readelf.c:643 +#: src/readelf.c:652 #, c-format msgid "'%s' is not an archive, cannot print archive index" msgstr "'%s' ã¯ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–ã§ã¯ãªãã€ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–索引をå°åˆ·ã§ãã¾ã›ã‚“" -#: src/readelf.c:742 +#: src/readelf.c:751 #, fuzzy, c-format msgid "No such section '%s' in '%s'" msgstr "セクション [%Zu] '%s' ã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ãŒå¾—られã¾ã›ã‚“: %s" -#: src/readelf.c:769 +#: src/readelf.c:778 #, c-format msgid "cannot stat input file" msgstr "入力ファイルを stat ã§ãã¾ã›ã‚“" -#: src/readelf.c:771 +#: src/readelf.c:780 #, c-format msgid "input file is empty" msgstr "入力ファイルãŒç©ºã§ã™" -#: src/readelf.c:773 +#: src/readelf.c:782 #, c-format msgid "failed reading '%s': %s" msgstr "'%s' ã®èªè¾¼ã¿ã«å¤±æ•—: %s" -#: src/readelf.c:814 +#: src/readelf.c:837 #, c-format msgid "cannot read ELF header: %s" msgstr "ELF ヘッダーãŒèªã‚ã¾ã›ã‚“: %s" -#: src/readelf.c:822 +#: src/readelf.c:845 #, c-format msgid "cannot create EBL handle" msgstr "EBL ヘッダーを生æˆã§ãã¾ã›ã‚“" -#: src/readelf.c:835 +#: src/readelf.c:858 #, fuzzy, c-format msgid "cannot determine number of program headers: %s" msgstr "セクション数を決定ã§ãã¾ã›ã‚“: %s" -#: src/readelf.c:921 +#: src/readelf.c:948 msgid "NONE (None)" msgstr "ãªã— (ãªã—)" -#: src/readelf.c:922 +#: src/readelf.c:949 msgid "REL (Relocatable file)" msgstr "REL (リãƒã‚±ãƒ¼ã‚¿ãƒ–ルファイル)" -#: src/readelf.c:923 +#: src/readelf.c:950 msgid "EXEC (Executable file)" msgstr "(EXEC (実行ファイル)" -#: src/readelf.c:924 +#: src/readelf.c:951 msgid "DYN (Shared object file)" msgstr "DYN (共用オブジェクトファイル)" -#: src/readelf.c:925 +#: src/readelf.c:952 msgid "CORE (Core file)" msgstr "CORE (コアファイル)" -#: src/readelf.c:930 +#: src/readelf.c:957 #, c-format msgid "OS Specific: (%x)\n" msgstr "OS 固有: (%x)\n" -#: src/readelf.c:932 +#: src/readelf.c:959 #, c-format msgid "Processor Specific: (%x)\n" msgstr "プãƒã‚»ãƒƒã‚µãƒ¼å›ºæœ‰: (%x)\n" -#: src/readelf.c:942 +#: src/readelf.c:969 msgid "" "ELF Header:\n" " Magic: " @@ -4435,7 +4496,7 @@ msgstr "" "ELF ヘッダー:\n" " マジック: " -#: src/readelf.c:946 +#: src/readelf.c:973 #, c-format msgid "" "\n" @@ -4444,117 +4505,117 @@ msgstr "" "\n" " クラス: %s\n" -#: src/readelf.c:951 +#: src/readelf.c:978 #, c-format msgid " Data: %s\n" msgstr " データ: %s\n" -#: src/readelf.c:957 +#: src/readelf.c:984 #, c-format msgid " Ident Version: %hhd %s\n" msgstr " è˜åˆ¥ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hhd %s\n" -#: src/readelf.c:959 src/readelf.c:976 +#: src/readelf.c:986 src/readelf.c:1003 msgid "(current)" msgstr "(ç¾åœ¨)" -#: src/readelf.c:963 +#: src/readelf.c:990 #, c-format msgid " OS/ABI: %s\n" msgstr " OS/ABI: %s\n" -#: src/readelf.c:966 +#: src/readelf.c:993 #, c-format msgid " ABI Version: %hhd\n" msgstr " ABI ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hhd\n" -#: src/readelf.c:969 +#: src/readelf.c:996 msgid " Type: " msgstr " タイプ: " -#: src/readelf.c:972 +#: src/readelf.c:999 #, c-format msgid " Machine: %s\n" msgstr " マシン : %s\n" -#: src/readelf.c:974 +#: src/readelf.c:1001 #, c-format msgid " Version: %d %s\n" msgstr " ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %d %s\n" -#: src/readelf.c:978 +#: src/readelf.c:1005 #, c-format msgid " Entry point address: %#<PRIx64>\n" msgstr " å…¥å£ç‚¹ã‚¢ãƒ‰ãƒ¬ã‚¹ : %#<PRIx64>\n" -#: src/readelf.c:981 +#: src/readelf.c:1008 #, c-format msgid " Start of program headers: %<PRId64> %s\n" msgstr " プãƒã‚°ãƒ©ãƒ ヘッダーã®é–‹å§‹: %<PRId64> %s\n" -#: src/readelf.c:982 src/readelf.c:985 +#: src/readelf.c:1009 src/readelf.c:1012 msgid "(bytes into file)" msgstr "(ファイルã¸ã®ãƒã‚¤ãƒˆæ•°)" -#: src/readelf.c:984 +#: src/readelf.c:1011 #, c-format msgid " Start of section headers: %<PRId64> %s\n" msgstr " セクションヘッダーã®é–‹å§‹: %<PRId64> %s\n" -#: src/readelf.c:987 +#: src/readelf.c:1014 #, c-format msgid " Flags: %s\n" msgstr " フラグ: %s\n" -#: src/readelf.c:990 +#: src/readelf.c:1017 #, c-format msgid " Size of this header: %<PRId16> %s\n" msgstr " ã“ã®ãƒ˜ãƒƒãƒ€ãƒ¼ã®å¤§ãã•: %<PRId16> %s\n" -#: src/readelf.c:991 src/readelf.c:994 src/readelf.c:1011 +#: src/readelf.c:1018 src/readelf.c:1021 src/readelf.c:1038 msgid "(bytes)" msgstr "(ãƒã‚¤ãƒˆ)" -#: src/readelf.c:993 +#: src/readelf.c:1020 #, c-format msgid " Size of program header entries: %<PRId16> %s\n" msgstr " プãƒã‚°ãƒ©ãƒ ãƒ˜ãƒƒãƒ€ãƒ¼é …ç›®ã®å¤§ãã•:%<PRId16> %s\n" -#: src/readelf.c:996 +#: src/readelf.c:1023 #, fuzzy, c-format msgid " Number of program headers entries: %<PRId16>" msgstr " プãƒã‚°ãƒ©ãƒ ãƒ˜ãƒƒãƒ€ãƒ¼é …ç›®ã®æ•° : %<PRId16>\n" -#: src/readelf.c:1003 +#: src/readelf.c:1030 #, fuzzy, c-format msgid " (%<PRIu32> in [0].sh_info)" msgstr "([0].sh_link ã® %<PRIu32>)" -#: src/readelf.c:1006 src/readelf.c:1023 src/readelf.c:1037 +#: src/readelf.c:1033 src/readelf.c:1050 src/readelf.c:1064 msgid " ([0] not available)" msgstr "([0]ã¯ä½¿ãˆã¾ã›ã‚“)" -#: src/readelf.c:1010 +#: src/readelf.c:1037 #, c-format msgid " Size of section header entries: %<PRId16> %s\n" msgstr " ã‚»ã‚¯ã‚·ãƒ§ãƒ³ãƒ˜ãƒƒãƒ€ãƒ¼é …ç›®ã®å¤§ãã•:%<PRId16> %s\n" -#: src/readelf.c:1013 +#: src/readelf.c:1040 #, c-format msgid " Number of section headers entries: %<PRId16>" msgstr " ã‚»ã‚¯ã‚·ãƒ§ãƒ³ãƒ˜ãƒƒãƒ€ãƒ¼é …ç›®ã®æ•° : %<PRId16>" -#: src/readelf.c:1020 +#: src/readelf.c:1047 #, c-format msgid " (%<PRIu32> in [0].sh_size)" msgstr " ([0].sh_size ã® %<PRIu32>)" -#: src/readelf.c:1033 +#: src/readelf.c:1060 #, c-format msgid " (%<PRIu32> in [0].sh_link)" msgstr "([0].sh_link ã® %<PRIu32>)" -#: src/readelf.c:1041 +#: src/readelf.c:1068 #, c-format msgid "" " Section header string table index: XINDEX%s\n" @@ -4563,7 +4624,7 @@ msgstr "" " セクションヘッダー文å—列テーブル索引: XINDEX%s\n" "\n" -#: src/readelf.c:1045 +#: src/readelf.c:1072 #, c-format msgid "" " Section header string table index: %<PRId16>\n" @@ -4572,7 +4633,7 @@ msgstr "" " セクションヘッダー文å—列テーブル索引: %<PRId16>\n" "\n" -#: src/readelf.c:1077 +#: src/readelf.c:1115 #, c-format msgid "" "There are %d section headers, starting at offset %#<PRIx64>:\n" @@ -4581,11 +4642,11 @@ msgstr "" "オフセット %2$#<PRIx64> ã‹ã‚‰å§‹ã¾ã‚‹ %1$d 個ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ãƒ˜ãƒƒãƒ€ãƒ¼ãŒã‚ã‚Šã¾ã™:\n" "\n" -#: src/readelf.c:1087 +#: src/readelf.c:1125 msgid "Section Headers:" msgstr "セクションヘッダー:" -#: src/readelf.c:1090 +#: src/readelf.c:1128 msgid "" "[Nr] Name Type Addr Off Size ES Flags Lk " "Inf Al" @@ -4593,7 +4654,7 @@ msgstr "" "[番] åå‰ ã‚¿ã‚¤ãƒ— アドレス オフセ 大ãã• ES フラグLk " "Inf Al" -#: src/readelf.c:1092 +#: src/readelf.c:1130 msgid "" "[Nr] Name Type Addr Off Size ES " "Flags Lk Inf Al" @@ -4601,17 +4662,35 @@ msgstr "" "[番] åå‰ ã‚¿ã‚¤ãƒ— アドレス オフセ 大ãã• ES " "フラグLk Inf Al" -#: src/readelf.c:1164 +#: src/readelf.c:1135 +msgid " [Compression Size Al]" +msgstr "" + +#: src/readelf.c:1137 +msgid " [Compression Size Al]" +msgstr "" + +#: src/readelf.c:1213 +#, fuzzy, c-format +msgid "bad compression header for section %zd: %s" +msgstr "セクションヘッダー文å—列セクションを生æˆã§ãã¾ã›ã‚“: %s" + +#: src/readelf.c:1224 +#, fuzzy, c-format +msgid "bad gnu compressed size for section %zd: %s" +msgstr "セクションã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã‚’得られã¾ã›ã‚“ %d: %s" + +#: src/readelf.c:1242 msgid "Program Headers:" msgstr "プãƒã‚°ãƒ©ãƒ ヘッダー:" -#: src/readelf.c:1166 +#: src/readelf.c:1244 msgid "" " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align" msgstr "" " タイプ オフセ 仮アドレス 物アドレス ãƒ•ã‚¡ã‚¤é‡ ãƒ¡ãƒ¢é‡ Flg 調整 " -#: src/readelf.c:1169 +#: src/readelf.c:1247 msgid "" " Type Offset VirtAddr PhysAddr FileSiz " "MemSiz Flg Align" @@ -4619,12 +4698,12 @@ msgstr "" " タイプ オフセ 仮想アドレス 物ç†ã‚¢ãƒ‰ãƒ¬ã‚¹ ファイルé‡ãƒ¡ãƒ¢" "é‡ Flg 調整 " -#: src/readelf.c:1226 +#: src/readelf.c:1304 #, c-format msgid "\t[Requesting program interpreter: %s]\n" msgstr "\t[プãƒã‚°ãƒ©ãƒ 割込ã¿ã‚’è¦æ±‚: %s]\n" -#: src/readelf.c:1247 +#: src/readelf.c:1325 msgid "" "\n" " Section to Segment mapping:\n" @@ -4634,12 +4713,12 @@ msgstr "" " セクションã‹ã‚‰ã‚»ã‚°ãƒ¡ãƒ³ãƒˆã¸ã®ãƒžãƒƒãƒ“ング:\n" " セグメント セクション..." -#: src/readelf.c:1258 src/unstrip.c:1914 src/unstrip.c:1957 src/unstrip.c:1964 +#: src/readelf.c:1336 src/unstrip.c:1950 src/unstrip.c:1992 src/unstrip.c:1999 #, c-format msgid "cannot get program header: %s" msgstr "プãƒã‚°ãƒ©ãƒ ヘッダーを得られã¾ã›ã‚“: %s" -#: src/readelf.c:1401 +#: src/readelf.c:1479 #, c-format msgid "" "\n" @@ -4652,7 +4731,7 @@ msgstr[0] "" "ç½²å '%3$s' ã‚’æŒã¤ COMDAT セクショングループ [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®" "é …ç›®ãŒã‚ã‚Šã¾ã™:\n" -#: src/readelf.c:1406 +#: src/readelf.c:1484 #, c-format msgid "" "\n" @@ -4665,21 +4744,25 @@ msgstr[0] "" "ç½²å '%3$s' ã‚’æŒã¤ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚°ãƒ«ãƒ¼ãƒ— [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …ç›®ãŒã‚" "ã‚Šã¾ã™:\n" -#: src/readelf.c:1414 +#: src/readelf.c:1492 msgid "<INVALID SYMBOL>" msgstr "<ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«>" -#: src/readelf.c:1428 +#: src/readelf.c:1506 msgid "<INVALID SECTION>" msgstr "<ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³>" -#: src/readelf.c:1585 src/readelf.c:2208 src/readelf.c:2466 src/readelf.c:2542 -#: src/readelf.c:2846 src/readelf.c:2920 src/readelf.c:4608 +#: src/readelf.c:1529 src/readelf.c:2238 src/readelf.c:3317 +msgid "Couldn't uncompress section" +msgstr "" + +#: src/readelf.c:1673 src/readelf.c:2306 src/readelf.c:2564 src/readelf.c:2640 +#: src/readelf.c:2944 src/readelf.c:3018 src/readelf.c:4716 #, fuzzy, c-format msgid "invalid sh_link value in section %zu" msgstr "ä¸å½“㪠.debug_line セクション" -#: src/readelf.c:1588 +#: src/readelf.c:1676 #, c-format msgid "" "\n" @@ -4695,36 +4778,36 @@ msgstr[0] "" " アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: " "[%2u] '%s'\n" -#: src/readelf.c:1598 +#: src/readelf.c:1686 msgid " Type Value\n" msgstr " タイプ 値\n" -#: src/readelf.c:1622 +#: src/readelf.c:1710 #, c-format msgid "Shared library: [%s]\n" msgstr "共用ライブラリー: [%s]\n" -#: src/readelf.c:1627 +#: src/readelf.c:1715 #, c-format msgid "Library soname: [%s]\n" msgstr "ライブラリー so å: [%s]\n" -#: src/readelf.c:1632 +#: src/readelf.c:1720 #, c-format msgid "Library rpath: [%s]\n" msgstr "ライブラリー rパス: [%s]\n" -#: src/readelf.c:1637 +#: src/readelf.c:1725 #, c-format msgid "Library runpath: [%s]\n" msgstr "ライブラリー run パス: [%s]\n" -#: src/readelf.c:1657 +#: src/readelf.c:1745 #, c-format msgid "%<PRId64> (bytes)\n" msgstr "%<PRId64> (ãƒã‚¤ãƒˆ)\n" -#: src/readelf.c:1770 src/readelf.c:1960 +#: src/readelf.c:1858 src/readelf.c:2048 #, c-format msgid "" "\n" @@ -4733,7 +4816,7 @@ msgstr "" "\n" "オフセット %#0<PRIx64> ã«ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«ãƒ†ãƒ¼ãƒ–ル\n" -#: src/readelf.c:1788 src/readelf.c:1978 +#: src/readelf.c:1876 src/readelf.c:2066 #, c-format msgid "" "\n" @@ -4748,7 +4831,7 @@ msgstr[0] "" "オフセット %5$#0<PRIx64> ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%3$2u] '%4$s' 用ã®ãƒªãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã‚»ã‚¯" "ション [%1$2zu] '%2$s' ã«ã¯ %6$d 個ã®é …ç›®ãŒã‚ã‚Šã¾ã™:\n" -#: src/readelf.c:1803 src/readelf.c:1993 +#: src/readelf.c:1891 src/readelf.c:2081 #, c-format msgid "" "\n" @@ -4761,29 +4844,29 @@ msgstr[0] "" "オフセット %3$#0<PRIx64> ã®ãƒªãƒã‚±ãƒ¼ã‚·ãƒ§ãƒ³ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%1$2u] '%2$s' ã«ã¯ %4$d " "個ã®é …ç›®ãŒã‚ã‚Šã¾ã™:\n" -#: src/readelf.c:1813 +#: src/readelf.c:1901 msgid " Offset Type Value Name\n" msgstr " オフセット タイプ 値 åå‰\n" -#: src/readelf.c:1815 +#: src/readelf.c:1903 msgid " Offset Type Value Name\n" msgstr " オフセット タイプ 値 åå‰\n" -#: src/readelf.c:1868 src/readelf.c:1879 src/readelf.c:1892 src/readelf.c:1913 -#: src/readelf.c:1925 src/readelf.c:2059 src/readelf.c:2071 src/readelf.c:2085 -#: src/readelf.c:2107 src/readelf.c:2120 +#: src/readelf.c:1956 src/readelf.c:1967 src/readelf.c:1980 src/readelf.c:2001 +#: src/readelf.c:2013 src/readelf.c:2147 src/readelf.c:2159 src/readelf.c:2173 +#: src/readelf.c:2195 src/readelf.c:2208 msgid "<INVALID RELOC>" msgstr "<ä¸å½“ãªRELOC>" -#: src/readelf.c:2003 +#: src/readelf.c:2091 msgid " Offset Type Value Addend Name\n" msgstr " オフセット タイプ 値 ä»˜åŠ å\n" -#: src/readelf.c:2005 +#: src/readelf.c:2093 msgid " Offset Type Value Addend Name\n" msgstr " オフセット タイプ 値 ä»˜åŠ å\n" -#: src/readelf.c:2216 +#: src/readelf.c:2314 #, c-format msgid "" "\n" @@ -4795,39 +4878,39 @@ msgstr[0] "" "\n" "シンボルテーブル [%2u] '%s' ã«ã¯ %u 個ã®é …ç›®ãŒã‚ã‚Šã¾ã™:\n" -#: src/readelf.c:2221 +#: src/readelf.c:2319 #, c-format msgid " %lu local symbol String table: [%2u] '%s'\n" msgid_plural " %lu local symbols String table: [%2u] '%s'\n" msgstr[0] " %lu ãƒãƒ¼ã‚«ãƒ«ã‚·ãƒ³ãƒœãƒ«æ–‡å—列テーブル: [%2u] '%s'\n" -#: src/readelf.c:2229 +#: src/readelf.c:2327 msgid " Num: Value Size Type Bind Vis Ndx Name\n" msgstr " æ•° : 値 大ã タイプ Bind Vis Ndx åå‰\n" -#: src/readelf.c:2231 +#: src/readelf.c:2329 msgid " Num: Value Size Type Bind Vis Ndx Name\n" msgstr " æ•° : 値 大ã タイプ Bind Vis Ndx åå‰\n" -#: src/readelf.c:2251 +#: src/readelf.c:2349 #, c-format msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s" msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s" -#: src/readelf.c:2339 +#: src/readelf.c:2437 #, c-format msgid "bad dynamic symbol" msgstr "ä¸æ£ãªå‹•çš„シンボル" -#: src/readelf.c:2421 +#: src/readelf.c:2519 msgid "none" msgstr "ãªã—" -#: src/readelf.c:2438 +#: src/readelf.c:2536 msgid "| <unknown>" msgstr "| <ä¸æ˜Ž>" -#: src/readelf.c:2469 +#: src/readelf.c:2567 #, c-format msgid "" "\n" @@ -4843,17 +4926,17 @@ msgstr[0] "" " アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: " "[%2u] '%s'\n" -#: src/readelf.c:2490 +#: src/readelf.c:2588 #, c-format msgid " %#06x: Version: %hu File: %s Cnt: %hu\n" msgstr " %#06x: ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hu ファイル: %s æ•°: %hu\n" -#: src/readelf.c:2503 +#: src/readelf.c:2601 #, c-format msgid " %#06x: Name: %s Flags: %s Version: %hu\n" msgstr " %#06x: åå‰: %s フラグ: %s ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hu\n" -#: src/readelf.c:2546 +#: src/readelf.c:2644 #, c-format msgid "" "\n" @@ -4869,17 +4952,17 @@ msgstr[0] "" " アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: " "[%2u] '%s'\n" -#: src/readelf.c:2574 +#: src/readelf.c:2672 #, c-format msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n" msgstr " %#06x: ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %hd フラグ: %s 索引: %hd æ•°: %hd åå‰: %s\n" -#: src/readelf.c:2589 +#: src/readelf.c:2687 #, c-format msgid " %#06x: Parent %d: %s\n" msgstr " %#06x: 親 %d: %s\n" -#: src/readelf.c:2850 +#: src/readelf.c:2948 #, c-format msgid "" "\n" @@ -4895,15 +4978,15 @@ msgstr[0] "" " アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: " "[%2u] '%s'" -#: src/readelf.c:2878 +#: src/readelf.c:2976 msgid " 0 *local* " msgstr " 0 *ãƒãƒ¼ã‚«ãƒ«* " -#: src/readelf.c:2883 +#: src/readelf.c:2981 msgid " 1 *global* " msgstr " 1 *ã‚°ãƒãƒ¼ãƒãƒ«* " -#: src/readelf.c:2925 +#: src/readelf.c:3023 #, c-format msgid "" "\n" @@ -4921,22 +5004,22 @@ msgstr[0] "" " アドレス: %#0*<PRIx64> オフセット: %#08<PRIx64> セクションã¸ã®ãƒªãƒ³ã‚¯: " "[%2u] '%s'\n" -#: src/readelf.c:2947 +#: src/readelf.c:3045 #, fuzzy, no-c-format msgid " Length Number % of total Coverage\n" msgstr " é•·ã• æ•° 全体ã®% 範囲 \n" -#: src/readelf.c:2949 +#: src/readelf.c:3047 #, c-format msgid " 0 %6<PRIu32> %5.1f%%\n" msgstr " 0 %6<PRIu32> %5.1f%%\n" -#: src/readelf.c:2956 +#: src/readelf.c:3054 #, c-format msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n" msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n" -#: src/readelf.c:2969 +#: src/readelf.c:3067 #, fuzzy, c-format msgid "" " Average number of tests: successful lookup: %f\n" @@ -4945,27 +5028,27 @@ msgstr "" " テストã®å¹³å‡æ•°: 検索æˆåŠŸ: %f\n" " 検索失敗: %f\n" -#: src/readelf.c:2987 src/readelf.c:3042 src/readelf.c:3099 +#: src/readelf.c:3085 src/readelf.c:3140 src/readelf.c:3197 #, c-format msgid "cannot get data for section %d: %s" msgstr "セクションã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ã‚’得られã¾ã›ã‚“ %d: %s" -#: src/readelf.c:2995 +#: src/readelf.c:3093 #, fuzzy, c-format msgid "invalid data in sysv.hash section %d" msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿" -#: src/readelf.c:3050 +#: src/readelf.c:3148 #, fuzzy, c-format msgid "invalid data in sysv.hash64 section %d" msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿" -#: src/readelf.c:3108 +#: src/readelf.c:3206 #, fuzzy, c-format msgid "invalid data in gnu.hash section %d" msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿" -#: src/readelf.c:3175 +#: src/readelf.c:3273 #, c-format msgid "" " Symbol Bias: %u\n" @@ -4975,7 +5058,7 @@ msgstr "" " ビットマスクã®å¤§ãã•: %zu ãƒã‚¤ãƒˆ %<PRIuFAST32>%% ビットè¨å®š 第2ãƒãƒƒã‚·ãƒ¥ã‚·ãƒ•" "ト: %u\n" -#: src/readelf.c:3250 +#: src/readelf.c:3358 #, c-format msgid "" "\n" @@ -4988,7 +5071,7 @@ msgstr[0] "" "オフセット %3$#0<PRIx64> ã®ãƒ©ã‚¤ãƒ–ラリー一覧セクション [%1$2zu] '%2$s' ã«ã¯ " "%4$d 個ã®é …ç›®ãŒã‚ã‚Šã¾ã™:\n" -#: src/readelf.c:3264 +#: src/readelf.c:3372 msgid "" " Library Time Stamp Checksum Version " "Flags" @@ -4996,7 +5079,7 @@ msgstr "" " ライブラリー タイムスタンプ ãƒã‚§ãƒƒã‚¯ã‚µãƒ ãƒãƒ¼" "ジョン フラグ" -#: src/readelf.c:3314 +#: src/readelf.c:3422 #, c-format msgid "" "\n" @@ -5007,140 +5090,140 @@ msgstr "" "オフセット %4$#0<PRIx64> ã® %3$<PRIu64> ãƒã‚¤ãƒˆã®ã‚ªãƒ–ジェクト属性セクション " "[%1$2zu] '%2$s':\n" -#: src/readelf.c:3331 +#: src/readelf.c:3439 msgid " Owner Size\n" msgstr " 所有者 大ãã•\n" -#: src/readelf.c:3360 +#: src/readelf.c:3468 #, c-format msgid " %-13s %4<PRIu32>\n" msgstr " %-13s %4<PRIu32>\n" -#: src/readelf.c:3399 +#: src/readelf.c:3507 #, c-format msgid " %-4u %12<PRIu32>\n" msgstr " %-4u %12<PRIu32>\n" -#: src/readelf.c:3404 +#: src/readelf.c:3512 #, c-format msgid " File: %11<PRIu32>\n" msgstr " ファイル: %11<PRIu32>\n" -#: src/readelf.c:3453 +#: src/readelf.c:3561 #, c-format msgid " %s: %<PRId64>, %s\n" msgstr " %s: %<PRId64>ã€%s\n" -#: src/readelf.c:3456 +#: src/readelf.c:3564 #, c-format msgid " %s: %<PRId64>\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:3459 +#: src/readelf.c:3567 #, c-format msgid " %s: %s\n" msgstr " %s: %s\n" -#: src/readelf.c:3469 +#: src/readelf.c:3577 #, c-format msgid " %u: %<PRId64>\n" msgstr " %u: %<PRId64>\n" -#: src/readelf.c:3472 +#: src/readelf.c:3580 #, c-format msgid " %u: %s\n" msgstr " %u: %s\n" -#: src/readelf.c:3517 +#: src/readelf.c:3625 #, c-format msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>" msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3520 +#: src/readelf.c:3628 #, c-format msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>" msgstr "%s+%#0*<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3525 +#: src/readelf.c:3633 #, c-format msgid "%#<PRIx64> <%s+%#<PRIx64>>" msgstr "%#<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3528 +#: src/readelf.c:3636 #, c-format msgid "%#0*<PRIx64> <%s+%#<PRIx64>>" msgstr "%#0*<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3534 +#: src/readelf.c:3642 #, c-format msgid "%s+%#<PRIx64> <%s>" msgstr "%s+%#<PRIx64> <%s>" -#: src/readelf.c:3537 +#: src/readelf.c:3645 #, c-format msgid "%s+%#0*<PRIx64> <%s>" msgstr "%s+%#0*<PRIx64> <%s>" -#: src/readelf.c:3541 +#: src/readelf.c:3649 #, c-format msgid "%#<PRIx64> <%s>" msgstr "%#<PRIx64> <%s>" -#: src/readelf.c:3544 +#: src/readelf.c:3652 #, c-format msgid "%#0*<PRIx64> <%s>" msgstr "%#0*<PRIx64> <%s>" -#: src/readelf.c:3549 +#: src/readelf.c:3657 #, c-format msgid "%s+%#<PRIx64>" msgstr "%s+%#<PRIx64>" -#: src/readelf.c:3552 +#: src/readelf.c:3660 #, c-format msgid "%s+%#0*<PRIx64>" msgstr "%s+%#0*<PRIx64>" -#: src/readelf.c:3930 +#: src/readelf.c:4038 msgid "empty block" msgstr "空ブãƒãƒƒã‚¯" -#: src/readelf.c:3933 +#: src/readelf.c:4041 #, c-format msgid "%zu byte block:" msgstr "%zu ãƒã‚¤ãƒˆã®ãƒ–ãƒãƒƒã‚¯:" -#: src/readelf.c:4330 +#: src/readelf.c:4438 #, c-format msgid "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n" msgstr "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n" -#: src/readelf.c:4387 +#: src/readelf.c:4495 #, c-format msgid "%s %#<PRIx64> used with different address sizes" msgstr "" -#: src/readelf.c:4394 +#: src/readelf.c:4502 #, c-format msgid "%s %#<PRIx64> used with different offset sizes" msgstr "" -#: src/readelf.c:4401 +#: src/readelf.c:4509 #, c-format msgid "%s %#<PRIx64> used with different base addresses" msgstr "" -#: src/readelf.c:4490 +#: src/readelf.c:4598 #, c-format msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n" msgstr "" -#: src/readelf.c:4498 +#: src/readelf.c:4606 #, c-format msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n" msgstr "" -#: src/readelf.c:4524 +#: src/readelf.c:4632 #, c-format msgid "" "\n" @@ -5151,7 +5234,7 @@ msgstr "" "オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s':\n" " [ コード]\n" -#: src/readelf.c:4532 +#: src/readelf.c:4640 #, c-format msgid "" "\n" @@ -5160,30 +5243,30 @@ msgstr "" "\n" "オフセット %<PRIu64> ã®ç•¥èªžã‚»ã‚¯ã‚·ãƒ§ãƒ³:\n" -#: src/readelf.c:4545 +#: src/readelf.c:4653 #, c-format msgid " *** error while reading abbreviation: %s\n" msgstr " *** 略語をèªã‚“ã§ã„ã‚‹é–“ã«ã‚¨ãƒ©ãƒ¼: %s\n" -#: src/readelf.c:4561 +#: src/readelf.c:4669 #, c-format msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n" msgstr " [%5u] オフセット: %<PRId64>ã€å: %sã€ã‚¿ã‚°: %s\n" -#: src/readelf.c:4564 +#: src/readelf.c:4672 msgid "yes" msgstr "ã¯ã„" -#: src/readelf.c:4564 +#: src/readelf.c:4672 msgid "no" msgstr "ã„ã„ãˆ" -#: src/readelf.c:4598 src/readelf.c:4671 +#: src/readelf.c:4706 src/readelf.c:4779 #, c-format msgid "cannot get .debug_aranges content: %s" msgstr ".debug_aragnes ã®å†…容を得られã¾ã›ã‚“: %s" -#: src/readelf.c:4613 +#: src/readelf.c:4721 #, c-format msgid "" "\n" @@ -5196,20 +5279,20 @@ msgstr[0] "" "オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …" "ç›®ãŒã‚ã‚Šã¾ã™:\n" -#: src/readelf.c:4644 +#: src/readelf.c:4752 #, c-format msgid " [%*zu] ???\n" msgstr " [%*zu] ???\n" -#: src/readelf.c:4646 +#: src/readelf.c:4754 #, c-format msgid "" " [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n" msgstr "" " [%*zu] 開始: %0#*<PRIx64>ã€é•·ã•: %5<PRIu64>ã€CU DIE オフセット: %6<PRId64>\n" -#: src/readelf.c:4676 src/readelf.c:4830 src/readelf.c:5406 src/readelf.c:6360 -#: src/readelf.c:6892 src/readelf.c:7012 src/readelf.c:7176 src/readelf.c:7601 +#: src/readelf.c:4784 src/readelf.c:4938 src/readelf.c:5514 src/readelf.c:6468 +#: src/readelf.c:7000 src/readelf.c:7120 src/readelf.c:7284 src/readelf.c:7709 #, c-format msgid "" "\n" @@ -5218,7 +5301,7 @@ msgstr "" "\n" "オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s':\n" -#: src/readelf.c:4689 src/readelf.c:6386 +#: src/readelf.c:4797 src/readelf.c:6494 #, fuzzy, c-format msgid "" "\n" @@ -5227,113 +5310,113 @@ msgstr "" "\n" "オフセット %Zu ã®ãƒ†ãƒ¼ãƒ–ル:\n" -#: src/readelf.c:4693 src/readelf.c:5430 src/readelf.c:6397 +#: src/readelf.c:4801 src/readelf.c:5538 src/readelf.c:6505 #, c-format msgid "invalid data in section [%zu] '%s'" msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿" -#: src/readelf.c:4709 +#: src/readelf.c:4817 #, fuzzy, c-format msgid "" "\n" " Length: %6<PRIu64>\n" msgstr " (オフセット: %#<PRIx64>)" -#: src/readelf.c:4721 +#: src/readelf.c:4829 #, fuzzy, c-format msgid " DWARF version: %6<PRIuFAST16>\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:4725 +#: src/readelf.c:4833 #, c-format msgid "unsupported aranges version" msgstr "" -#: src/readelf.c:4736 +#: src/readelf.c:4844 #, fuzzy, c-format msgid " CU offset: %6<PRIx64>\n" msgstr " (オフセット: %#<PRIx64>)" -#: src/readelf.c:4742 +#: src/readelf.c:4850 #, fuzzy, c-format msgid " Address size: %6<PRIu64>\n" msgstr " (終了オフセット: %#<PRIx64>)" -#: src/readelf.c:4746 +#: src/readelf.c:4854 #, fuzzy, c-format msgid "unsupported address size" msgstr "アドレス値ã§ã¯ã‚ã‚Šã¾ã›ã‚“" -#: src/readelf.c:4751 +#: src/readelf.c:4859 #, fuzzy, c-format msgid "" " Segment size: %6<PRIu64>\n" "\n" msgstr " ファイルを %<PRIu64> ã«è¨å®šã™ã‚‹\n" -#: src/readelf.c:4755 +#: src/readelf.c:4863 #, c-format msgid "unsupported segment size" msgstr "" -#: src/readelf.c:4795 +#: src/readelf.c:4903 #, fuzzy, c-format msgid " %s..%s (%<PRIx64>)\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:4798 +#: src/readelf.c:4906 #, fuzzy, c-format msgid " %s..%s\n" msgstr " [%6tx] %s..%s\n" -#: src/readelf.c:4807 +#: src/readelf.c:4915 #, c-format msgid " %zu padding bytes\n" msgstr "" -#: src/readelf.c:4825 +#: src/readelf.c:4933 #, c-format msgid "cannot get .debug_ranges content: %s" msgstr ".degub_ranges ã®å†…容を得られã¾ã›ã‚“: %s" -#: src/readelf.c:4855 src/readelf.c:6919 +#: src/readelf.c:4963 src/readelf.c:7027 #, c-format msgid " [%6tx] <INVALID DATA>\n" msgstr " [%6tx] <ä¸å½“ãªãƒ‡ãƒ¼ã‚¿>\n" -#: src/readelf.c:4877 src/readelf.c:6941 +#: src/readelf.c:4985 src/readelf.c:7049 #, c-format msgid " [%6tx] base address %s\n" msgstr " [%6tx] ベースアドレス %s\n" -#: src/readelf.c:4884 src/readelf.c:6948 +#: src/readelf.c:4992 src/readelf.c:7056 #, fuzzy, c-format msgid " [%6tx] empty list\n" msgstr "" "\n" " [%6tx] ゼãƒçµ‚端\n" -#: src/readelf.c:4895 +#: src/readelf.c:5003 #, c-format msgid " [%6tx] %s..%s\n" msgstr " [%6tx] %s..%s\n" -#: src/readelf.c:4897 +#: src/readelf.c:5005 #, c-format msgid " %s..%s\n" msgstr " %s..%s\n" -#: src/readelf.c:5076 +#: src/readelf.c:5184 #, fuzzy msgid " <INVALID DATA>\n" msgstr " [%6tx] <ä¸å½“ãªãƒ‡ãƒ¼ã‚¿>\n" -#: src/readelf.c:5385 +#: src/readelf.c:5493 #, fuzzy, c-format msgid "cannot get ELF: %s" msgstr "次㮠DIE を得られã¾ã›ã‚“: %s" -#: src/readelf.c:5402 +#: src/readelf.c:5510 #, c-format msgid "" "\n" @@ -5342,7 +5425,7 @@ msgstr "" "\n" "オフセット %3$#<PRIx64> ã® ãƒ•ãƒ¬ãƒ¼ãƒ æƒ…å ±å‘¼å‡ºã—セクション [%1$2zu] '%2$s':\n" -#: src/readelf.c:5452 +#: src/readelf.c:5560 #, c-format msgid "" "\n" @@ -5351,50 +5434,50 @@ msgstr "" "\n" " [%6tx] ゼãƒçµ‚端\n" -#: src/readelf.c:5545 src/readelf.c:5700 +#: src/readelf.c:5653 src/readelf.c:5808 #, fuzzy, c-format msgid "invalid augmentation length" msgstr "ä¸å½“ãªæ‹¡å¤§ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰" -#: src/readelf.c:5560 +#: src/readelf.c:5668 msgid "FDE address encoding: " msgstr "FDE アドレスエンコード" -#: src/readelf.c:5566 +#: src/readelf.c:5674 msgid "LSDA pointer encoding: " msgstr "LSDA ãƒã‚¤ãƒ³ã‚¿ãƒ¼ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰:" -#: src/readelf.c:5677 +#: src/readelf.c:5785 #, c-format msgid " (offset: %#<PRIx64>)" msgstr " (オフセット: %#<PRIx64>)" -#: src/readelf.c:5684 +#: src/readelf.c:5792 #, c-format msgid " (end offset: %#<PRIx64>)" msgstr " (終了オフセット: %#<PRIx64>)" -#: src/readelf.c:5721 +#: src/readelf.c:5829 #, c-format msgid " %-26sLSDA pointer: %#<PRIx64>\n" msgstr " %-26sLSDA ãƒã‚¤ãƒ³ã‚¿ãƒ¼: %#<PRIx64>\n" -#: src/readelf.c:5776 +#: src/readelf.c:5884 #, c-format msgid "cannot get attribute code: %s" msgstr "属性コードを得られã¾ã›ã‚“: %s" -#: src/readelf.c:5785 +#: src/readelf.c:5893 #, c-format msgid "cannot get attribute form: %s" msgstr "属性様å¼ã‚’得られã¾ã›ã‚“: %s" -#: src/readelf.c:5800 +#: src/readelf.c:5908 #, c-format msgid "cannot get attribute value: %s" msgstr "属性値を得られã¾ã›ã‚“: %s" -#: src/readelf.c:6099 +#: src/readelf.c:6207 #, c-format msgid "" "\n" @@ -5405,7 +5488,7 @@ msgstr "" "オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s':\n" " [オフセット]\n" -#: src/readelf.c:6131 +#: src/readelf.c:6239 #, fuzzy, c-format msgid "" " Type unit at offset %<PRIu64>:\n" @@ -5417,7 +5500,7 @@ msgstr "" " ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %2$<PRIu16>ã€ç•¥èªžã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚ªãƒ•ã‚»ãƒƒãƒˆ: %3$<PRIu64>ã€ã‚¢ãƒ‰ãƒ¬ã‚¹ã®å¤§" "ãã•: %4$<PRIu8>ã€ã‚ªãƒ•ã‚»ãƒƒãƒˆã®å¤§ãã•: %5$<PRIu8>\n" -#: src/readelf.c:6140 +#: src/readelf.c:6248 #, c-format msgid "" " Compilation unit at offset %<PRIu64>:\n" @@ -5428,35 +5511,35 @@ msgstr "" " ãƒãƒ¼ã‚¸ãƒ§ãƒ³: %2$<PRIu16>ã€ç•¥èªžã‚»ã‚¯ã‚·ãƒ§ãƒ³ã‚ªãƒ•ã‚»ãƒƒãƒˆ: %3$<PRIu64>ã€ã‚¢ãƒ‰ãƒ¬ã‚¹ã®å¤§" "ãã•: %4$<PRIu8>ã€ã‚ªãƒ•ã‚»ãƒƒãƒˆã®å¤§ãã•: %5$<PRIu8>\n" -#: src/readelf.c:6165 +#: src/readelf.c:6273 #, c-format msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s" msgstr "" "セクション '%2$s' 㮠オフセット %1$<PRIu64> ã® DIE を得られã¾ã›ã‚“: %3$s" -#: src/readelf.c:6179 +#: src/readelf.c:6287 #, c-format msgid "cannot get DIE offset: %s" msgstr "DIE オフセットを得られã¾ã›ã‚“: %s" -#: src/readelf.c:6188 +#: src/readelf.c:6296 #, c-format msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s" msgstr "" "セクション '%2$s' ä¸ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆ %1$<PRIu64> ã® DIE ã®ã‚¿ã‚°ã‚’得られã¾ã›ã‚“: " "%3$s" -#: src/readelf.c:6220 +#: src/readelf.c:6328 #, c-format msgid "cannot get next DIE: %s\n" msgstr "次㮠DIE を得られã¾ã›ã‚“: %s\n" -#: src/readelf.c:6228 +#: src/readelf.c:6336 #, c-format msgid "cannot get next DIE: %s" msgstr "次㮠DIE を得られã¾ã›ã‚“: %s" -#: src/readelf.c:6264 +#: src/readelf.c:6372 #, fuzzy, c-format msgid "" "\n" @@ -5466,12 +5549,12 @@ msgstr "" "\n" "オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s':\n" -#: src/readelf.c:6373 +#: src/readelf.c:6481 #, c-format msgid "cannot get line data section data: %s" msgstr "ラインデータセクションデータを得られã¾ã›ã‚“: %s" -#: src/readelf.c:6443 +#: src/readelf.c:6551 #, fuzzy, c-format msgid "" "\n" @@ -5499,18 +5582,18 @@ msgstr "" "\n" "命令コード:\n" -#: src/readelf.c:6464 +#: src/readelf.c:6572 #, c-format msgid "invalid data at offset %tu in section [%zu] '%s'" msgstr "セクション [%2$zu] '%3$s' ä¸ã®ã‚ªãƒ•ã‚»ãƒƒãƒˆ %1$tu ã«ä¸å½“ãªãƒ‡ãƒ¼ã‚¿" -#: src/readelf.c:6479 +#: src/readelf.c:6587 #, c-format msgid " [%*<PRIuFAST8>] %hhu argument\n" msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n" msgstr[0] " [%*<PRIuFAST8>] %hhu パラメーター\n" -#: src/readelf.c:6487 +#: src/readelf.c:6595 msgid "" "\n" "Directory table:" @@ -5518,7 +5601,7 @@ msgstr "" "\n" "ディレクトリーテーブル:" -#: src/readelf.c:6503 +#: src/readelf.c:6611 msgid "" "\n" "File name table:\n" @@ -5528,7 +5611,7 @@ msgstr "" "ファイルåテーブル:\n" " Entry Dir 時刻 大ãã• åå‰" -#: src/readelf.c:6538 +#: src/readelf.c:6646 msgid "" "\n" "Line number statements:" @@ -5536,215 +5619,215 @@ msgstr "" "\n" "è¡Œ ç•ªå· æ–‡:" -#: src/readelf.c:6589 +#: src/readelf.c:6697 #, c-format msgid "invalid maximum operations per instruction is zero" msgstr "" -#: src/readelf.c:6625 +#: src/readelf.c:6733 #, fuzzy, c-format msgid " special opcode %u: address+%u = %s, op_index = %u, line%+d = %zu\n" msgstr " 特殊命令コード %u: アドレス+%u = %s, è¡Œ%+d = %zu\n" -#: src/readelf.c:6630 +#: src/readelf.c:6738 #, c-format msgid " special opcode %u: address+%u = %s, line%+d = %zu\n" msgstr " 特殊命令コード %u: アドレス+%u = %s, è¡Œ%+d = %zu\n" -#: src/readelf.c:6650 +#: src/readelf.c:6758 #, c-format msgid " extended opcode %u: " msgstr " 拡張命令コード %u: " -#: src/readelf.c:6655 +#: src/readelf.c:6763 #, fuzzy msgid " end of sequence" msgstr "列ã®çµ‚ã‚ã‚Š" -#: src/readelf.c:6674 +#: src/readelf.c:6782 #, fuzzy, c-format msgid " set address to %s\n" msgstr "アドレスを %s ã«è¨å®šã™ã‚‹\n" -#: src/readelf.c:6701 +#: src/readelf.c:6809 #, fuzzy, c-format msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n" msgstr "" "新ファイルを定義ã™ã‚‹: dir=%uã€mtime=%<PRIu64>ã€é•·ã•h=%<PRIu64>ã€åå‰=%s\n" -#: src/readelf.c:6714 +#: src/readelf.c:6822 #, fuzzy, c-format msgid " set discriminator to %u\n" msgstr "カラムを %<PRIu64> ã«è¨å®šã™ã‚‹\n" -#: src/readelf.c:6719 +#: src/readelf.c:6827 #, fuzzy msgid " unknown opcode" msgstr "ä¸æ˜Žãªå‘½ä»¤ã‚³ãƒ¼ãƒ‰" -#: src/readelf.c:6731 +#: src/readelf.c:6839 msgid " copy" msgstr "複写" -#: src/readelf.c:6742 +#: src/readelf.c:6850 #, fuzzy, c-format msgid " advance address by %u to %s, op_index to %u\n" msgstr "アドレスを %u ã ã‘進ã‚㦠%s ã«ã™ã‚‹\n" -#: src/readelf.c:6746 +#: src/readelf.c:6854 #, fuzzy, c-format msgid " advance address by %u to %s\n" msgstr "アドレスを %u ã ã‘進ã‚㦠%s ã«ã™ã‚‹\n" -#: src/readelf.c:6757 +#: src/readelf.c:6865 #, c-format msgid " advance line by constant %d to %<PRId64>\n" msgstr "行を定数 %d ã ã‘進ã‚㦠%<PRId64> ã«ã™ã‚‹\n" -#: src/readelf.c:6765 +#: src/readelf.c:6873 #, c-format msgid " set file to %<PRIu64>\n" msgstr " ファイルを %<PRIu64> ã«è¨å®šã™ã‚‹\n" -#: src/readelf.c:6775 +#: src/readelf.c:6883 #, c-format msgid " set column to %<PRIu64>\n" msgstr "カラムを %<PRIu64> ã«è¨å®šã™ã‚‹\n" -#: src/readelf.c:6782 +#: src/readelf.c:6890 #, c-format msgid " set '%s' to %<PRIuFAST8>\n" msgstr " '%s' ã‚’ %<PRIuFAST8> ã«è¨å®šã™ã‚‹\n" -#: src/readelf.c:6788 +#: src/readelf.c:6896 msgid " set basic block flag" msgstr "基本ブãƒãƒƒã‚¯ãƒ•ãƒ©ã‚°ã‚’è¨å®šã™ã‚‹" -#: src/readelf.c:6801 +#: src/readelf.c:6909 #, fuzzy, c-format msgid " advance address by constant %u to %s, op_index to %u\n" msgstr "アドレスを定数 %u ã ã‘済ã‚㦠%s ã«ã™ã‚‹\n" -#: src/readelf.c:6805 +#: src/readelf.c:6913 #, fuzzy, c-format msgid " advance address by constant %u to %s\n" msgstr "アドレスを定数 %u ã ã‘済ã‚㦠%s ã«ã™ã‚‹\n" -#: src/readelf.c:6823 +#: src/readelf.c:6931 #, fuzzy, c-format msgid " advance address by fixed value %u to %s\n" msgstr "アドレスを固定値 %u ã ã‘進ã‚㦠%s ã«ã™ã‚‹\n" -#: src/readelf.c:6832 +#: src/readelf.c:6940 msgid " set prologue end flag" msgstr "プãƒãƒãƒ¼ã‚°çµ‚了フラグをè¨å®šã™ã‚‹" -#: src/readelf.c:6837 +#: src/readelf.c:6945 msgid " set epilogue begin flag" msgstr "エピãƒãƒ¼ã‚°é–‹å§‹ãƒ•ãƒ©ã‚°ã‚’è¨å®šã™ã‚‹" -#: src/readelf.c:6846 +#: src/readelf.c:6954 #, fuzzy, c-format msgid " set isa to %u\n" msgstr " ファイルを %<PRIu64> ã«è¨å®šã™ã‚‹\n" -#: src/readelf.c:6855 +#: src/readelf.c:6963 #, c-format msgid " unknown opcode with %<PRIu8> parameter:" msgid_plural " unknown opcode with %<PRIu8> parameters:" msgstr[0] " %<PRIu8> 個ã®ãƒ‘ラメーターã®ã‚ã‚‹ä¸æ˜Žãªå‘½ä»¤ã‚³ãƒ¼ãƒ‰:" -#: src/readelf.c:6887 +#: src/readelf.c:6995 #, c-format msgid "cannot get .debug_loc content: %s" msgstr ".debug_loc ã®å†…容を得られã¾ã›ã‚“: %s" -#: src/readelf.c:6962 +#: src/readelf.c:7070 #, c-format msgid " [%6tx] %s..%s" msgstr " [%6tx] %s..%s" -#: src/readelf.c:6964 +#: src/readelf.c:7072 #, c-format msgid " %s..%s" msgstr " %s..%s" -#: src/readelf.c:6971 src/readelf.c:7859 +#: src/readelf.c:7079 src/readelf.c:7967 #, fuzzy msgid " <INVALID DATA>\n" msgstr " [%6tx] <ä¸å½“ãªãƒ‡ãƒ¼ã‚¿>\n" -#: src/readelf.c:7023 src/readelf.c:7185 +#: src/readelf.c:7131 src/readelf.c:7293 #, c-format msgid "cannot get macro information section data: %s" msgstr "マクãƒæƒ…å ±ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®ãƒ‡ãƒ¼ã‚¿ã‚’得られã¾ã›ã‚“: %s" -#: src/readelf.c:7103 +#: src/readelf.c:7211 #, c-format msgid "%*s*** non-terminated string at end of section" msgstr "%*s*** 最後ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®çµ‚端ã—ã¦ã„ãªã„æ–‡å—列" -#: src/readelf.c:7126 +#: src/readelf.c:7234 #, fuzzy, c-format msgid "%*s*** missing DW_MACINFO_start_file argument at end of section" msgstr "%*s*** 最後ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã®çµ‚端ã—ã¦ã„ãªã„æ–‡å—列" -#: src/readelf.c:7226 +#: src/readelf.c:7334 #, fuzzy, c-format msgid " Offset: 0x%<PRIx64>\n" msgstr " 所有者 大ãã•\n" -#: src/readelf.c:7238 +#: src/readelf.c:7346 #, fuzzy, c-format msgid " Version: %<PRIu16>\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:7244 src/readelf.c:7978 +#: src/readelf.c:7352 src/readelf.c:8086 #, c-format msgid " unknown version, cannot parse section\n" msgstr "" -#: src/readelf.c:7251 +#: src/readelf.c:7359 #, fuzzy, c-format msgid " Flag: 0x%<PRIx8>\n" msgstr " å…¥å£ç‚¹ã‚¢ãƒ‰ãƒ¬ã‚¹ : %#<PRIx64>\n" -#: src/readelf.c:7254 +#: src/readelf.c:7362 #, fuzzy, c-format msgid " Offset length: %<PRIu8>\n" msgstr " (オフセット: %#<PRIx64>)" -#: src/readelf.c:7262 +#: src/readelf.c:7370 #, fuzzy, c-format msgid " .debug_line offset: 0x%<PRIx64>\n" msgstr " (終了オフセット: %#<PRIx64>)" -#: src/readelf.c:7275 +#: src/readelf.c:7383 #, fuzzy, c-format msgid " extension opcode table, %<PRIu8> items:\n" msgstr " %<PRIu8> 個ã®ãƒ‘ラメーターã®ã‚ã‚‹ä¸æ˜Žãªå‘½ä»¤ã‚³ãƒ¼ãƒ‰:" -#: src/readelf.c:7282 +#: src/readelf.c:7390 #, c-format msgid " [%<PRIx8>]" msgstr "" -#: src/readelf.c:7294 +#: src/readelf.c:7402 #, fuzzy, c-format msgid " %<PRIu8> arguments:" msgstr " [%*<PRIuFAST8>] %hhu パラメーター\n" -#: src/readelf.c:7322 +#: src/readelf.c:7430 #, c-format msgid " no arguments." msgstr "" -#: src/readelf.c:7559 +#: src/readelf.c:7667 #, c-format msgid "vendor opcode not verified?" msgstr "" -#: src/readelf.c:7587 +#: src/readelf.c:7695 #, c-format msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n" msgstr "" @@ -5752,7 +5835,7 @@ msgstr "" # # "オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s':\n" # # " %4$*s æ–‡å—列\n" ãŒã‚¨ãƒ©ãƒ¼ã«ãªã‚‹ã®ã¯ä½•æ•…? å–ã‚Šæ•¢ãˆãš fuzzy扱ㄠ-#: src/readelf.c:7628 +#: src/readelf.c:7736 #, fuzzy, c-format msgid "" "\n" @@ -5763,12 +5846,12 @@ msgstr "" "オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s':\n" " %4$*s æ–‡å—列\n" -#: src/readelf.c:7642 +#: src/readelf.c:7750 #, c-format msgid " *** error while reading strings: %s\n" msgstr " *** æ–‡å—列ã®èªè¾¼ã¿ä¸ã«ã‚¨ãƒ©ãƒ¼: %s\n" -#: src/readelf.c:7662 +#: src/readelf.c:7770 #, c-format msgid "" "\n" @@ -5777,7 +5860,7 @@ msgstr "" "\n" "呼出ã—フレーム検索テーブルセクション [%2zu] '.eh_frame_hdr':\n" -#: src/readelf.c:7764 +#: src/readelf.c:7872 #, c-format msgid "" "\n" @@ -5786,22 +5869,22 @@ msgstr "" "\n" "例外å–扱ã„テーブルセクション [%2zu] '.gcc_except_table':\n" -#: src/readelf.c:7787 +#: src/readelf.c:7895 #, c-format msgid " LPStart encoding: %#x " msgstr " LPStart コード化: %#x " -#: src/readelf.c:7799 +#: src/readelf.c:7907 #, c-format msgid " TType encoding: %#x " msgstr "TType コード化: %#x " -#: src/readelf.c:7814 +#: src/readelf.c:7922 #, c-format msgid " Call site encoding: %#x " msgstr "呼出ã—サイトコード化: %#x " -#: src/readelf.c:7827 +#: src/readelf.c:7935 msgid "" "\n" " Call site table:" @@ -5809,7 +5892,7 @@ msgstr "" "\n" " 呼出ã—サイトテーブル:" -#: src/readelf.c:7841 +#: src/readelf.c:7949 #, c-format msgid "" " [%4u] Call site start: %#<PRIx64>\n" @@ -5822,12 +5905,12 @@ msgstr "" " 離ç€é™¸å ´: %#<PRIx64>\n" " 行動: %u\n" -#: src/readelf.c:7914 +#: src/readelf.c:8022 #, c-format msgid "invalid TType encoding" msgstr "ä¸å½“㪠TType コード化" -#: src/readelf.c:7940 +#: src/readelf.c:8048 #, fuzzy, c-format msgid "" "\n" @@ -5837,37 +5920,37 @@ msgstr "" "オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …" "ç›®ãŒã‚ã‚Šã¾ã™:\n" -#: src/readelf.c:7969 +#: src/readelf.c:8077 #, fuzzy, c-format msgid " Version: %<PRId32>\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:7987 +#: src/readelf.c:8095 #, fuzzy, c-format msgid " CU offset: %#<PRIx32>\n" msgstr " (オフセット: %#<PRIx64>)" -#: src/readelf.c:7994 +#: src/readelf.c:8102 #, fuzzy, c-format msgid " TU offset: %#<PRIx32>\n" msgstr " (オフセット: %#<PRIx64>)" -#: src/readelf.c:8001 +#: src/readelf.c:8109 #, fuzzy, c-format msgid " address offset: %#<PRIx32>\n" msgstr " (終了オフセット: %#<PRIx64>)" -#: src/readelf.c:8008 +#: src/readelf.c:8116 #, fuzzy, c-format msgid " symbol offset: %#<PRIx32>\n" msgstr " (オフセット: %#<PRIx64>)" -#: src/readelf.c:8015 +#: src/readelf.c:8123 #, fuzzy, c-format msgid " constant offset: %#<PRIx32>\n" msgstr " (終了オフセット: %#<PRIx64>)" -#: src/readelf.c:8029 +#: src/readelf.c:8137 #, fuzzy, c-format msgid "" "\n" @@ -5877,7 +5960,7 @@ msgstr "" "オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …" "ç›®ãŒã‚ã‚Šã¾ã™:\n" -#: src/readelf.c:8054 +#: src/readelf.c:8162 #, fuzzy, c-format msgid "" "\n" @@ -5887,7 +5970,7 @@ msgstr "" "オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …" "ç›®ãŒã‚ã‚Šã¾ã™:\n" -#: src/readelf.c:8083 +#: src/readelf.c:8191 #, fuzzy, c-format msgid "" "\n" @@ -5897,7 +5980,7 @@ msgstr "" "オフセット %3$#<PRIx64> ã® DWARF セクション [%1$2zu] '%2$s' ã«ã¯ %4$zu 個ã®é …" "ç›®ãŒã‚ã‚Šã¾ã™:\n" -#: src/readelf.c:8116 +#: src/readelf.c:8224 #, fuzzy, c-format msgid "" "\n" @@ -5906,17 +5989,17 @@ msgstr "" "\n" "オフセット %#0<PRIx64> ã«ä¸å½“ãªã‚·ãƒ³ãƒœãƒ«ãƒ†ãƒ¼ãƒ–ル\n" -#: src/readelf.c:8203 +#: src/readelf.c:8311 #, c-format msgid "cannot get debug context descriptor: %s" msgstr "デãƒãƒƒã‚°å†…容記述åを得られã¾ã›ã‚“: %s" -#: src/readelf.c:8361 src/readelf.c:8983 src/readelf.c:9094 src/readelf.c:9152 +#: src/readelf.c:8467 src/readelf.c:9089 src/readelf.c:9200 src/readelf.c:9258 #, c-format msgid "cannot convert core note data: %s" msgstr "コアノートデータã®å¤‰æ›ãŒã§ãã¾ã›ã‚“: %s" -#: src/readelf.c:8724 +#: src/readelf.c:8830 #, c-format msgid "" "\n" @@ -5925,21 +6008,21 @@ msgstr "" "\n" "%*s... < %u 回ã®ç¹°è¿”ã—> ..." -#: src/readelf.c:9231 +#: src/readelf.c:9337 msgid " Owner Data size Type\n" msgstr " 所有者 データ大ãã•ã‚¿ã‚¤ãƒ—\n" -#: src/readelf.c:9249 +#: src/readelf.c:9355 #, c-format msgid " %-13.*s %9<PRId32> %s\n" msgstr " %-13.*s %9<PRId32> %s\n" -#: src/readelf.c:9299 +#: src/readelf.c:9405 #, c-format msgid "cannot get content of note section: %s" msgstr "ノートセクションã®å†…容を得られã¾ã›ã‚“: %s" -#: src/readelf.c:9326 +#: src/readelf.c:9432 #, c-format msgid "" "\n" @@ -5949,7 +6032,7 @@ msgstr "" "オフセット %4$#0<PRIx64> ã® %3$<PRIu64> ãƒã‚¤ãƒˆã®ãƒŽãƒ¼ãƒˆã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%1$2zu] " "'%2$s':\n" -#: src/readelf.c:9349 +#: src/readelf.c:9455 #, c-format msgid "" "\n" @@ -5958,7 +6041,7 @@ msgstr "" "\n" "オフセット %2$#0<PRIx64> ã® %1$<PRIu64> ãƒã‚¤ãƒˆã®ãƒŽãƒ¼ãƒˆã‚»ã‚°ãƒ¡ãƒ³ãƒˆ:\n" -#: src/readelf.c:9395 +#: src/readelf.c:9501 #, fuzzy, c-format msgid "" "\n" @@ -5967,12 +6050,12 @@ msgstr "" "\n" "セクション [%Zu] '%s' ã«ã¯ãƒ€ãƒ³ãƒ—ã™ã¹ãデータãŒã‚ã‚Šã¾ã›ã‚“。\n" -#: src/readelf.c:9401 src/readelf.c:9424 +#: src/readelf.c:9518 src/readelf.c:9559 #, fuzzy, c-format msgid "cannot get data for section [%zu] '%s': %s" msgstr "セクション [%Zu] '%s' ã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ãŒå¾—られã¾ã›ã‚“: %s" -#: src/readelf.c:9405 +#: src/readelf.c:9523 #, fuzzy, c-format msgid "" "\n" @@ -5982,7 +6065,18 @@ msgstr "" "オフセット %4$#0<PRIx64> ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%1$Zu] '%2$s' ã®16進ダン" "プã€%3$<PRIu64> ãƒã‚¤ãƒˆ:\n" -#: src/readelf.c:9418 +#: src/readelf.c:9528 +#, fuzzy, c-format +msgid "" +"\n" +"Hex dump of section [%zu] '%s', %<PRIu64> bytes (%zd uncompressed) at offset " +"%#0<PRIx64>:\n" +msgstr "" +"\n" +"オフセット %4$#0<PRIx64> ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ [%1$Zu] '%2$s' ã®16進ダン" +"プã€%3$<PRIu64> ãƒã‚¤ãƒˆ:\n" + +#: src/readelf.c:9542 #, fuzzy, c-format msgid "" "\n" @@ -5991,7 +6085,7 @@ msgstr "" "\n" "セクション [%Zu] '%s' ã«ã¯ãƒ€ãƒ³ãƒ—ã™ã¹ãデータãŒã‚ã‚Šã¾ã›ã‚“。\n" -#: src/readelf.c:9428 +#: src/readelf.c:9564 #, fuzzy, c-format msgid "" "\n" @@ -6001,7 +6095,18 @@ msgstr "" "オフセット %4$#0<PRIx64> æ–‡å—列セクション [%1$Zu] '%2$s' ã«ã¯ %3$<PRIu64> ãƒ" "イトã‚ã‚Šã¾ã™:\n" -#: src/readelf.c:9476 +#: src/readelf.c:9569 +#, fuzzy, c-format +msgid "" +"\n" +"String section [%zu] '%s' contains %<PRIu64> bytes (%zd uncompressed) at " +"offset %#0<PRIx64>:\n" +msgstr "" +"\n" +"オフセット %4$#0<PRIx64> æ–‡å—列セクション [%1$Zu] '%2$s' ã«ã¯ %3$<PRIu64> ãƒ" +"イトã‚ã‚Šã¾ã™:\n" + +#: src/readelf.c:9618 #, c-format msgid "" "\n" @@ -6010,7 +6115,7 @@ msgstr "" "\n" "セクション [%lu] ãŒã‚ã‚Šã¾ã›ã‚“" -#: src/readelf.c:9505 +#: src/readelf.c:9647 #, c-format msgid "" "\n" @@ -6019,12 +6124,12 @@ msgstr "" "\n" "セクション '%s' ãŒã‚ã‚Šã¾ã›ã‚“" -#: src/readelf.c:9562 +#: src/readelf.c:9704 #, c-format msgid "cannot get symbol index of archive '%s': %s" msgstr "アーカイブã®ã‚·ãƒ³ãƒœãƒ«ç´¢å¼• '%s' を得られã¾ã›ã‚“: %s" -#: src/readelf.c:9565 +#: src/readelf.c:9707 #, c-format msgid "" "\n" @@ -6033,7 +6138,7 @@ msgstr "" "\n" "アーカイブ '%s' ã«ã¯ã‚·ãƒ³ãƒœãƒ«ç´¢å¼•ãŒã‚ã‚Šã¾ã›ã‚“\n" -#: src/readelf.c:9569 +#: src/readelf.c:9711 #, fuzzy, c-format msgid "" "\n" @@ -6042,12 +6147,12 @@ msgstr "" "\n" "アーカイブ '%s' ã®ç´¢å¼•ã«ã¯ %Zu é …ç›®ã‚ã‚Šã¾ã™:\n" -#: src/readelf.c:9587 +#: src/readelf.c:9729 #, fuzzy, c-format msgid "cannot extract member at offset %zu in '%s': %s" msgstr "'%2$s' 㮠オフセット %1$Zu ã®ãƒ¡ãƒ³ãƒãƒ¼ã‚’抽出ã§ãã¾ã›ã‚“: %3$s" -#: src/readelf.c:9592 +#: src/readelf.c:9734 #, c-format msgid "Archive member '%s' contains:\n" msgstr "アーカイブメンãƒãƒ¼ '%s' ã«ã¯ä»¥ä¸‹ãŒã‚ã‚Šã¾ã™:\n" @@ -6566,12 +6671,12 @@ msgstr "" msgid "cannot copy ELF header: %s" msgstr "" -#: src/unstrip.c:261 src/unstrip.c:1903 src/unstrip.c:1947 +#: src/unstrip.c:261 src/unstrip.c:1939 src/unstrip.c:1982 #, fuzzy, c-format msgid "cannot get number of program headers: %s" msgstr "セクション数を決定ã§ãã¾ã›ã‚“: %s" -#: src/unstrip.c:266 src/unstrip.c:1907 +#: src/unstrip.c:266 src/unstrip.c:1943 #, c-format msgid "cannot create program headers: %s" msgstr "" @@ -6586,12 +6691,12 @@ msgstr "" msgid "cannot copy section header: %s" msgstr "" -#: src/unstrip.c:285 src/unstrip.c:1541 +#: src/unstrip.c:285 src/unstrip.c:1576 #, c-format msgid "cannot get section data: %s" msgstr "" -#: src/unstrip.c:287 src/unstrip.c:1543 +#: src/unstrip.c:287 src/unstrip.c:1578 #, c-format msgid "cannot copy section data: %s" msgstr "" @@ -6601,214 +6706,214 @@ msgstr "" msgid "cannot create directory '%s'" msgstr "" -#: src/unstrip.c:351 src/unstrip.c:768 src/unstrip.c:1575 +#: src/unstrip.c:383 src/unstrip.c:803 src/unstrip.c:1610 #, c-format msgid "cannot get symbol table entry: %s" msgstr "" -#: src/unstrip.c:367 src/unstrip.c:585 src/unstrip.c:606 src/unstrip.c:618 -#: src/unstrip.c:1596 src/unstrip.c:1769 src/unstrip.c:1793 +#: src/unstrip.c:399 src/unstrip.c:620 src/unstrip.c:641 src/unstrip.c:653 +#: src/unstrip.c:1631 src/unstrip.c:1805 src/unstrip.c:1829 #, c-format msgid "cannot update symbol table: %s" msgstr "" -#: src/unstrip.c:377 +#: src/unstrip.c:409 #, c-format msgid "cannot update section header: %s" msgstr "" -#: src/unstrip.c:416 src/unstrip.c:427 +#: src/unstrip.c:448 src/unstrip.c:459 #, c-format msgid "cannot update relocation: %s" msgstr "" -#: src/unstrip.c:514 +#: src/unstrip.c:547 #, c-format msgid "cannot get symbol version: %s" msgstr "" -#: src/unstrip.c:526 +#: src/unstrip.c:560 #, c-format msgid "unexpected section type in [%zu] with sh_link to symtab" msgstr "" -#: src/unstrip.c:774 +#: src/unstrip.c:809 #, fuzzy, c-format msgid "invalid string offset in symbol [%zu]" msgstr "シンボル %2$sã®ä¸æ£ãªã‚ªãƒ•ã‚»ãƒƒãƒˆ %1$zu " -#: src/unstrip.c:932 src/unstrip.c:1278 +#: src/unstrip.c:967 src/unstrip.c:1313 #, fuzzy, c-format msgid "cannot read section [%zu] name: %s" msgstr "セクションデータを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s" -#: src/unstrip.c:973 src/unstrip.c:992 src/unstrip.c:1027 +#: src/unstrip.c:1008 src/unstrip.c:1027 src/unstrip.c:1062 #, c-format msgid "cannot read '.gnu.prelink_undo' section: %s" msgstr "" -#: src/unstrip.c:1013 +#: src/unstrip.c:1048 #, c-format msgid "invalid contents in '%s' section" msgstr "" -#: src/unstrip.c:1019 +#: src/unstrip.c:1054 #, c-format msgid "overflow with shnum = %zu in '%s' section" msgstr "" -#: src/unstrip.c:1073 src/unstrip.c:1398 +#: src/unstrip.c:1108 src/unstrip.c:1433 #, fuzzy, c-format msgid "cannot find matching section for [%zu] '%s'" msgstr "セクション [%zu] '%s' ã®ä¸å½“ãªãƒ‡ãƒ¼ã‚¿" -#: src/unstrip.c:1198 src/unstrip.c:1213 src/unstrip.c:1479 src/unstrip.c:1731 +#: src/unstrip.c:1233 src/unstrip.c:1248 src/unstrip.c:1514 src/unstrip.c:1766 #, c-format msgid "cannot add section name to string table: %s" msgstr "" -#: src/unstrip.c:1222 +#: src/unstrip.c:1257 #, c-format msgid "cannot update section header string table data: %s" msgstr "" -#: src/unstrip.c:1249 src/unstrip.c:1253 +#: src/unstrip.c:1284 src/unstrip.c:1288 #, c-format msgid "cannot get section header string table section index: %s" msgstr "" -#: src/unstrip.c:1257 src/unstrip.c:1261 src/unstrip.c:1494 +#: src/unstrip.c:1292 src/unstrip.c:1296 src/unstrip.c:1529 #, c-format msgid "cannot get section count: %s" msgstr "" -#: src/unstrip.c:1264 +#: src/unstrip.c:1299 #, c-format msgid "more sections in stripped file than debug file -- arguments reversed?" msgstr "" -#: src/unstrip.c:1323 src/unstrip.c:1413 +#: src/unstrip.c:1358 src/unstrip.c:1448 #, c-format msgid "cannot read section header string table: %s" msgstr "" -#: src/unstrip.c:1473 +#: src/unstrip.c:1508 #, c-format msgid "cannot add new section: %s" msgstr "" -#: src/unstrip.c:1583 +#: src/unstrip.c:1618 #, fuzzy, c-format msgid "symbol [%zu] has invalid section index" msgstr "ä¸å½“ãªã‚»ã‚¯ã‚·ãƒ§ãƒ³ç´¢å¼•" -#: src/unstrip.c:1864 +#: src/unstrip.c:1900 #, fuzzy, c-format msgid "cannot read section data: %s" msgstr "セクションデータを割り当ã¦ã‚‰ã‚Œã¾ã›ã‚“: %s" -#: src/unstrip.c:1885 +#: src/unstrip.c:1921 #, c-format msgid "cannot get ELF header: %s" msgstr "" -#: src/unstrip.c:1917 +#: src/unstrip.c:1953 #, c-format msgid "cannot update program header: %s" msgstr "" -#: src/unstrip.c:1922 src/unstrip.c:2005 +#: src/unstrip.c:1958 src/unstrip.c:2040 #, c-format msgid "cannot write output file: %s" msgstr "" -#: src/unstrip.c:1974 +#: src/unstrip.c:2009 #, c-format msgid "DWARF data not adjusted for prelinking bias; consider prelink -u" msgstr "" -#: src/unstrip.c:1977 +#: src/unstrip.c:2012 #, c-format msgid "" "DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u" msgstr "" -#: src/unstrip.c:1996 src/unstrip.c:2047 src/unstrip.c:2059 src/unstrip.c:2145 +#: src/unstrip.c:2031 src/unstrip.c:2082 src/unstrip.c:2094 src/unstrip.c:2180 #, c-format msgid "cannot create ELF descriptor: %s" msgstr "" -#: src/unstrip.c:2038 +#: src/unstrip.c:2073 msgid "WARNING: " msgstr "" -#: src/unstrip.c:2040 +#: src/unstrip.c:2075 msgid ", use --force" msgstr "" -#: src/unstrip.c:2063 +#: src/unstrip.c:2098 msgid "ELF header identification (e_ident) different" msgstr "" -#: src/unstrip.c:2066 +#: src/unstrip.c:2101 msgid "ELF header type (e_type) different" msgstr "" -#: src/unstrip.c:2069 +#: src/unstrip.c:2104 msgid "ELF header machine type (e_machine) different" msgstr "" -#: src/unstrip.c:2072 +#: src/unstrip.c:2107 msgid "stripped program header (e_phnum) smaller than unstripped" msgstr "" -#: src/unstrip.c:2102 +#: src/unstrip.c:2137 #, c-format msgid "cannot find stripped file for module '%s': %s" msgstr "" -#: src/unstrip.c:2106 +#: src/unstrip.c:2141 #, c-format msgid "cannot open stripped file '%s' for module '%s': %s" msgstr "" -#: src/unstrip.c:2121 +#: src/unstrip.c:2156 #, c-format msgid "cannot find debug file for module '%s': %s" msgstr "" -#: src/unstrip.c:2125 +#: src/unstrip.c:2160 #, c-format msgid "cannot open debug file '%s' for module '%s': %s" msgstr "" -#: src/unstrip.c:2138 +#: src/unstrip.c:2173 #, c-format msgid "module '%s' file '%s' is not stripped" msgstr "" -#: src/unstrip.c:2169 +#: src/unstrip.c:2204 #, c-format msgid "cannot cache section addresses for module '%s': %s" msgstr "" -#: src/unstrip.c:2302 +#: src/unstrip.c:2337 #, c-format msgid "no matching modules found" msgstr "" -#: src/unstrip.c:2311 +#: src/unstrip.c:2346 #, c-format msgid "matched more than one module" msgstr "" -#: src/unstrip.c:2355 +#: src/unstrip.c:2390 msgid "" "STRIPPED-FILE DEBUG-FILE\n" "[MODULE...]" msgstr "" -#: src/unstrip.c:2356 +#: src/unstrip.c:2391 msgid "" "Combine stripped files with separate symbols and debug information.\vThe " "first form puts the result in DEBUG-FILE if -o was not given.\n" @@ -1,13 +1,13 @@ # translation of pl.po to Polish # Jakub Bogusz <qboosh@pld-linux.org>, 2003-2007. -# Piotr DrÄ…g <piotrdrag@gmail.com>, 2010-2015. +# Piotr DrÄ…g <piotrdrag@gmail.com>, 2010-2016. # msgid "" msgstr "" "Project-Id-Version: elfutils\n" "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" -"POT-Creation-Date: 2015-10-16 13:26+0200\n" -"PO-Revision-Date: 2015-06-13 15:32+0200\n" +"POT-Creation-Date: 2016-01-11 08:48+0100\n" +"PO-Revision-Date: 2016-01-07 15:44+0100\n" "Last-Translator: Piotr DrÄ…g <piotrdrag@gmail.com>\n" "Language-Team: Polish <trans-pl@lists.fedoraproject.org>\n" "Language: pl\n" @@ -21,8 +21,8 @@ msgstr "" msgid "" "colorize the output. WHEN defaults to 'always' or can be 'auto' or 'never'" msgstr "" -"koloruje wyjÅ›cie. WHEN domyÅ›lnie wynosi \"always\" lub może wynosić \"auto\" " -"lub \"never\"" +"koloruje wyjÅ›cie. WHEN domyÅ›lnie wynosi „always†lub może wynosić „auto†lub " +"„neverâ€" #: lib/color.c:127 #, c-format @@ -33,19 +33,19 @@ msgid "" " - 'never', 'no', 'none'\n" " - 'auto', 'tty', 'if-tty'\n" msgstr "" -"%s: nieprawidÅ‚owy parametr \"%s\" dla \"--color\"\n" +"%s: nieprawidÅ‚owy parametr „%s†dla „--colorâ€\n" "prawidÅ‚owe parametry:\n" -" - \"always\", \"yes\", \"force\"\n" -" - \"never\", \"no\", \"none\"\n" -" - \"auto\", \"tty\", \"if-tty\"\n" +" • „alwaysâ€, „yesâ€, „forceâ€\n" +" • „neverâ€, „noâ€, „noneâ€\n" +" • „autoâ€, „ttyâ€, „if-ttyâ€\n" #: lib/color.c:190 src/objdump.c:738 #, c-format msgid "cannot allocate memory" msgstr "nie można przydzielić pamiÄ™ci" -#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3184 -#: src/readelf.c:3561 src/readelf.c:8310 src/unstrip.c:2198 src/unstrip.c:2403 +#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3282 +#: src/readelf.c:3669 src/readelf.c:8416 src/unstrip.c:2233 src/unstrip.c:2438 #, c-format msgid "memory exhausted" msgstr "pamięć wyczerpana" @@ -121,7 +121,7 @@ msgstr "brak informacji DWARF" #: libdw/dwarf_error.c:65 msgid "cannot decompress DWARF" -msgstr "nie można zdekompresować DWARF" +msgstr "nie można dekompresować DWARF" #: libdw/dwarf_error.c:66 msgid "no ELF file" @@ -247,7 +247,7 @@ msgstr "nieprawidÅ‚owa instrukcja" msgid "not a CU (unit) DIE" msgstr "nie jest CU (jednostkÄ…) DIE" -#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2345 +#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2380 msgid "Input selection options:" msgstr "Opcje wyboru wejÅ›cia:" @@ -304,7 +304,11 @@ msgstr "nie można odnaleźć jÄ…dra lub modułów" msgid "cannot read ELF core file: %s" msgstr "nie można odczytać pliku core ELF: %s" -#: libdwfl/argp-std.c:311 +#: libdwfl/argp-std.c:313 +msgid "Not enough memory" +msgstr "Za maÅ‚o pamiÄ™ci" + +#: libdwfl/argp-std.c:323 msgid "No modules recognized in core file" msgstr "Nie rozpoznano żadnych modułów w pliku core" @@ -476,57 +480,57 @@ msgstr "<nieznany>" msgid "<unknown>: %#<PRIx64>" msgstr "<nieznany>: %#<PRIx64>" -#: libebl/eblobjnote.c:52 +#: libebl/eblobjnote.c:53 #, c-format msgid "unknown SDT version %u\n" msgstr "nieznana wersja SDT %u\n" -#: libebl/eblobjnote.c:70 +#: libebl/eblobjnote.c:71 #, c-format msgid "invalid SDT probe descriptor\n" msgstr "nieprawidÅ‚owy deskryptor sondy SDT\n" -#: libebl/eblobjnote.c:120 +#: libebl/eblobjnote.c:121 #, c-format msgid " PC: " msgstr " PC: " -#: libebl/eblobjnote.c:122 +#: libebl/eblobjnote.c:123 #, c-format msgid " Base: " msgstr " Podstawa: " -#: libebl/eblobjnote.c:124 +#: libebl/eblobjnote.c:125 #, c-format msgid " Semaphore: " msgstr " Semafor: " -#: libebl/eblobjnote.c:126 +#: libebl/eblobjnote.c:127 #, c-format msgid " Provider: " msgstr " Dostawca: " -#: libebl/eblobjnote.c:128 +#: libebl/eblobjnote.c:129 #, c-format msgid " Name: " msgstr " Nazwa: " -#: libebl/eblobjnote.c:130 +#: libebl/eblobjnote.c:131 #, c-format msgid " Args: " msgstr " Parametry: " -#: libebl/eblobjnote.c:140 +#: libebl/eblobjnote.c:141 #, c-format msgid " Build ID: " msgstr " Identyfikator kopii: " -#: libebl/eblobjnote.c:151 +#: libebl/eblobjnote.c:152 #, c-format msgid " Linker version: %.*s\n" msgstr " Wersja konsolidatora: %.*s\n" -#: libebl/eblobjnote.c:212 +#: libebl/eblobjnote.c:213 #, c-format msgid " OS: %s, ABI: " msgstr " System operacyjny: %s, ABI: " @@ -550,7 +554,7 @@ msgstr "nieznany typ" #: libelf/elf_error.c:75 msgid "invalid `Elf' handle" -msgstr "nieprawidÅ‚owa obsÅ‚uga \"Elf\"" +msgstr "nieprawidÅ‚owa obsÅ‚uga „Elfâ€" #: libelf/elf_error.c:79 msgid "invalid size of source operand" @@ -560,7 +564,7 @@ msgstr "nieprawidÅ‚owy rozmiar operanda źródÅ‚owego" msgid "invalid size of destination operand" msgstr "nieprawidÅ‚owy rozmiar operanda docelowego" -#: libelf/elf_error.c:87 src/readelf.c:5365 +#: libelf/elf_error.c:87 src/readelf.c:5473 #, c-format msgid "invalid encoding" msgstr "nieprawidÅ‚owe kodowanie" @@ -641,8 +645,8 @@ msgstr "dane/scn nie zgadzajÄ… siÄ™" msgid "invalid section header" msgstr "nieprawidÅ‚owy nagłówek sekcji" -#: libelf/elf_error.c:187 src/readelf.c:7234 src/readelf.c:7682 -#: src/readelf.c:7783 src/readelf.c:7964 +#: libelf/elf_error.c:187 src/readelf.c:7342 src/readelf.c:7790 +#: src/readelf.c:7891 src/readelf.c:8072 #, c-format msgid "invalid data" msgstr "nieprawidÅ‚owe dane" @@ -653,7 +657,7 @@ msgstr "nieznane kodowanie danych" #: libelf/elf_error.c:195 msgid "section `sh_size' too small for data" -msgstr "sekcja \"sh_size\" jest za maÅ‚a dla danych" +msgstr "sekcja „sh_size†jest za maÅ‚a dla danych" #: libelf/elf_error.c:199 msgid "invalid section alignment" @@ -686,6 +690,34 @@ msgstr "" msgid "file has no program header" msgstr "plik nie posiada nagłówków programu" +#: libelf/elf_error.c:237 +msgid "invalid section type" +msgstr "nieprawidÅ‚owy typ sekcji" + +#: libelf/elf_error.c:242 +msgid "invalid section flags" +msgstr "nieprawidÅ‚owe flagi sekcji" + +#: libelf/elf_error.c:247 +msgid "section does not contain compressed data" +msgstr "sekcja nie zawiera skompresowanych danych" + +#: libelf/elf_error.c:252 +msgid "section contains compressed data" +msgstr "sekcja zawiera skompresowane dane" + +#: libelf/elf_error.c:257 +msgid "unknown compression type" +msgstr "nieznany typ kompresji" + +#: libelf/elf_error.c:262 +msgid "cannot compress data" +msgstr "nie można kompresować danych" + +#: libelf/elf_error.c:267 +msgid "cannot decompress data" +msgstr "nie można dekompresować danych" + #: src/addr2line.c:58 msgid "Input format options:" msgstr "Opcje formatowania wejÅ›cia:" @@ -743,7 +775,7 @@ msgstr "" msgid "Print all information on one line, and indent inlines" msgstr "WyÅ›wietla wszystkie informacje w jednym wierszy i wyrównuje wstawki" -#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:99 +#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:100 #: src/strings.c:79 msgid "Miscellaneous:" msgstr "Różne:" @@ -757,11 +789,11 @@ msgstr "" #: src/addr2line.c:91 msgid "[ADDR...]" -msgstr "[ADRES...]" +msgstr "[ADRES…]" -#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:670 src/elflint.c:235 -#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:261 src/objdump.c:177 -#: src/ranlib.c:124 src/readelf.c:500 src/size.c:207 src/strings.c:230 +#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:672 src/elflint.c:235 +#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:262 src/objdump.c:177 +#: src/ranlib.c:124 src/readelf.c:509 src/size.c:207 src/strings.c:230 #: src/strip.c:218 src/unstrip.c:232 #, c-format msgid "" @@ -769,15 +801,15 @@ msgid "" "This is free software; see the source for copying conditions. There is NO\n" "warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" msgstr "" -"Copyright (C) %s Red Hat, Inc.\n" +"Copyright © %s Red Hat, Inc.\n" "Niniejszy program jest wolnym oprogramowaniem; proszÄ™ zobaczyć kod źródÅ‚owy\n" "w celu poznania warunków kopiowania. Niniejszy program rozprowadzany jest\n" "BEZ JAKIEJKOLWIEK GWARANCJI, nawet domyÅ›lnej gwarancji PRZYDATNOÅšCI\n" "HANDLOWEJ albo PRZYDATNOÅšCI DO OKREÅšLONYCH ZASTOSOWAŃ.\n" -#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:675 src/elflint.c:240 -#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:266 src/objdump.c:182 -#: src/ranlib.c:129 src/readelf.c:505 src/size.c:212 src/strings.c:235 +#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:677 src/elflint.c:240 +#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:267 src/objdump.c:182 +#: src/ranlib.c:129 src/readelf.c:514 src/size.c:212 src/strings.c:235 #: src/strip.c:223 src/unstrip.c:237 #, c-format msgid "Written by %s.\n" @@ -791,17 +823,17 @@ msgstr "SkÅ‚adnia sekcji wymaga dokÅ‚adnie jednego moduÅ‚u" #: src/addr2line.c:556 #, c-format msgid "offset %#<PRIxMAX> lies outside section '%s'" -msgstr "offset %#<PRIxMAX> leży poza sekcjÄ… \"%s\"" +msgstr "offset %#<PRIxMAX> leży poza sekcjÄ… „%sâ€" #: src/addr2line.c:645 #, c-format msgid "cannot find symbol '%s'" -msgstr "nie można odnaleźć symbolu \"%s\"" +msgstr "nie można odnaleźć symbolu „%sâ€" #: src/addr2line.c:650 #, c-format msgid "offset %#<PRIxMAX> lies outside contents of '%s'" -msgstr "offset %#<PRIxMAX> leży poza zawartoÅ›ciÄ… \"%s\"" +msgstr "offset %#<PRIxMAX> leży poza zawartoÅ›ciÄ… „%sâ€" #: src/ar.c:68 msgid "Commands:" @@ -893,22 +925,22 @@ msgstr "Tworzenie, modyfikowanie i wypakowywanie archiwów." #: src/ar.c:102 msgid "[MEMBER] [COUNT] ARCHIVE [FILE...]" -msgstr "[ELEMENT] [LICZNIK] ARCHIWUM [PLIK...]" +msgstr "[ELEMENT] [LICZNIK] ARCHIWUM [PLIK…]" #: src/ar.c:181 #, c-format msgid "'a', 'b', and 'i' are only allowed with the 'm' and 'r' options" -msgstr "\"a\", \"b\" i \"i\" sÄ… dozwolone tylko z opcjami \"m\" i \"r\"" +msgstr "„aâ€, „b†i „i†sÄ… dozwolone tylko z opcjami „m†i „râ€" #: src/ar.c:186 #, c-format msgid "MEMBER parameter required for 'a', 'b', and 'i' modifiers" -msgstr "parametr ELEMENT jest wymagany dla modyfikatorów \"a\", \"b\" i \"i\"" +msgstr "parametr ELEMENT jest wymagany dla modyfikatorów „aâ€, „b†i „iâ€" #: src/ar.c:202 #, c-format msgid "'N' is only meaningful with the 'x' and 'd' options" -msgstr "\"N\" ma znaczenie tylko z opcjami \"x\" i \"d\"" +msgstr "„N†ma znaczenie tylko z opcjami „x†i „dâ€" #: src/ar.c:207 #, c-format @@ -923,7 +955,7 @@ msgstr "nieprawidÅ‚owy parametr LICZNIK %s" #: src/ar.c:226 #, c-format msgid "'%c' is only meaningful with the 'x' option" -msgstr "\"%c\" ma znaczenie tylko z opcjÄ… \"x\"" +msgstr "„%c†ma znaczenie tylko z opcjÄ… „xâ€" #: src/ar.c:232 #, c-format @@ -943,12 +975,12 @@ msgstr "Podano wiÄ™cej niż jedno dziaÅ‚anie" #: src/ar.c:404 #, c-format msgid "cannot open archive '%s'" -msgstr "nie można otworzyć archiwum \"%s\"" +msgstr "nie można otworzyć archiwum „%sâ€" #: src/ar.c:414 #, c-format msgid "cannot open archive '%s': %s" -msgstr "nie można otworzyć archiwum \"%s\": %s" +msgstr "nie można otworzyć archiwum „%sâ€: %s" #: src/ar.c:418 #, c-format @@ -958,7 +990,7 @@ msgstr "%s: nie jest plikiem archiwum" #: src/ar.c:422 #, c-format msgid "cannot stat archive '%s'" -msgstr "nie można wykonać stat na archiwum \"%s\"" +msgstr "nie można wykonać stat na archiwum „%sâ€" #: src/ar.c:434 #, c-format @@ -978,7 +1010,7 @@ msgstr "nie można umieÅ›cić w tabeli mieszajÄ…cej" #: src/ar.c:502 src/ranlib.c:164 #, c-format msgid "cannot stat '%s'" -msgstr "nie można wykonać stat na \"%s\"" +msgstr "nie można wykonać stat na „%sâ€" #: src/ar.c:598 #, c-format @@ -1066,7 +1098,7 @@ msgstr "%s (domyÅ›lnie)" #: src/arlib.c:209 #, c-format msgid "the archive '%s' is too large" -msgstr "archiwum \"%s\" jest za duże" +msgstr "archiwum „%s†jest za duże" #: src/arlib.c:222 #, c-format @@ -1116,7 +1148,7 @@ msgstr "NieprawidÅ‚owa liczba parametrów.\n" #: src/elfcmp.c:174 src/elfcmp.c:179 #, c-format msgid "cannot get ELF header of '%s': %s" -msgstr "nie można uzyskać nagłówka ELF \"%s\": %s" +msgstr "nie można uzyskać nagłówka ELF „%sâ€: %s" #: src/elfcmp.c:205 #, c-format @@ -1126,7 +1158,7 @@ msgstr "%s %s różniÄ… siÄ™: nagłówek ELF" #: src/elfcmp.c:212 src/elfcmp.c:215 #, c-format msgid "cannot get section count of '%s': %s" -msgstr "nie można uzyskać licznika sekcji \"%s\": %s" +msgstr "nie można uzyskać licznika sekcji „%sâ€: %s" #: src/elfcmp.c:220 #, c-format @@ -1136,7 +1168,7 @@ msgstr "%s %s różniÄ… siÄ™: licznik sekcji" #: src/elfcmp.c:227 src/elfcmp.c:230 #, c-format msgid "cannot get program header count of '%s': %s" -msgstr "nie można uzyskać licznika nagłówka programu \"%s\": %s" +msgstr "nie można uzyskać licznika nagłówka programu „%sâ€: %s" #: src/elfcmp.c:235 #, c-format @@ -1151,22 +1183,22 @@ msgstr "%s %s różniÄ… siÄ™: nazwa sekcji [%zu], [%zu]" #: src/elfcmp.c:316 #, c-format msgid "%s %s differ: section [%zu] '%s' header" -msgstr "%s %s różniÄ… siÄ™: nagłówek sekcji [%zu] \"%s\"" +msgstr "%s %s różniÄ… siÄ™: nagłówek sekcji [%zu] „%sâ€" #: src/elfcmp.c:324 src/elfcmp.c:330 #, c-format msgid "cannot get content of section %zu in '%s': %s" -msgstr "nie można uzyskać zawartoÅ›ci sekcji %zu w \"%s\": %s" +msgstr "nie można uzyskać zawartoÅ›ci sekcji %zu w „%sâ€: %s" #: src/elfcmp.c:339 #, c-format msgid "symbol table [%zu] in '%s' has zero sh_entsize" -msgstr "tabela symboli [%zu] w \"%s\" posiada zerowe sh_entsize" +msgstr "tabela symboli [%zu] w „%s†posiada zerowe sh_entsize" #: src/elfcmp.c:351 src/elfcmp.c:357 #, c-format msgid "cannot get symbol in '%s': %s" -msgstr "nie można uzyskać symbolu w \"%s\": %s" +msgstr "nie można uzyskać symbolu w „%sâ€: %s" #: src/elfcmp.c:379 #, c-format @@ -1181,22 +1213,22 @@ msgstr "%s %s różniÄ… siÄ™: tabela symboli [%zu,%zu]" #: src/elfcmp.c:428 src/elfcmp.c:497 #, c-format msgid "%s %s differ: section [%zu] '%s' number of notes" -msgstr "%s %s różniÄ… siÄ™: liczba notatek sekcji [%zu] \"%s\"" +msgstr "%s %s różniÄ… siÄ™: liczba notatek sekcji [%zu] „%sâ€" #: src/elfcmp.c:436 #, c-format msgid "cannot read note section [%zu] '%s' in '%s': %s" -msgstr "nie można odczytać notatki sekcji [%zu] \"%s\" w \"%s\": %s" +msgstr "nie można odczytać notatki sekcji [%zu] „%s†w „%sâ€: %s" #: src/elfcmp.c:446 #, c-format msgid "%s %s differ: section [%zu] '%s' note name" -msgstr "%s %s różniÄ… siÄ™: nazwa notatki sekcji [%zu] \"%s\"" +msgstr "%s %s różniÄ… siÄ™: nazwa notatki sekcji [%zu] „%sâ€" #: src/elfcmp.c:454 #, c-format msgid "%s %s differ: section [%zu] '%s' note '%s' type" -msgstr "%s %s różniÄ… siÄ™: sekcja [%zu] \"%s\" notatka \"%s\" typ" +msgstr "%s %s różniÄ… siÄ™: sekcja [%zu] „%s†notatka „%s†typ" #: src/elfcmp.c:469 #, c-format @@ -1211,17 +1243,17 @@ msgstr "%s %s różniÄ… siÄ™: zawartość identyfikatora kopii" #: src/elfcmp.c:486 #, c-format msgid "%s %s differ: section [%zu] '%s' note '%s' content" -msgstr "%s %s różniÄ… siÄ™: sekcja [%zu] \"%s\" notatka \"%s\" zawartość" +msgstr "%s %s różniÄ… siÄ™: sekcja [%zu] „%s†notatka „%s†zawartość" #: src/elfcmp.c:527 #, c-format msgid "%s %s differ: section [%zu] '%s' content" -msgstr "%s %s różniÄ… siÄ™: zawartość sekcji [%zu] \"%s\"" +msgstr "%s %s różniÄ… siÄ™: zawartość sekcji [%zu] „%sâ€" #: src/elfcmp.c:531 #, c-format msgid "%s %s differ: section [%zu,%zu] '%s' content" -msgstr "%s %s różniÄ… siÄ™: zawartość sekcji [%zu,%zu] \"%s\"" +msgstr "%s %s różniÄ… siÄ™: zawartość sekcji [%zu,%zu] „%sâ€" #: src/elfcmp.c:546 #, c-format @@ -1231,12 +1263,12 @@ msgstr "%s %s różniÄ… siÄ™: różna liczba ważnych sekcji" #: src/elfcmp.c:579 src/elfcmp.c:584 #, c-format msgid "cannot load data of '%s': %s" -msgstr "nie można wczytać danych z \"%s\": %s" +msgstr "nie można wczytać danych z „%sâ€: %s" #: src/elfcmp.c:603 src/elfcmp.c:609 #, c-format msgid "cannot get program header entry %d of '%s': %s" -msgstr "nie można uzyskać wpisu nagłówka programu %d z \"%s\": %s" +msgstr "nie można uzyskać wpisu nagłówka programu %d z „%sâ€: %s" #: src/elfcmp.c:615 #, c-format @@ -1248,40 +1280,40 @@ msgstr "%s %s różniÄ… siÄ™: nagłówek programu %d" msgid "%s %s differ: gap" msgstr "%s %s różniÄ… siÄ™: luka" -#: src/elfcmp.c:702 +#: src/elfcmp.c:704 #, c-format msgid "Invalid value '%s' for --gaps parameter." -msgstr "NieprawidÅ‚owa wartość \"%s\" dla parametru --gaps." +msgstr "NieprawidÅ‚owa wartość „%s†dla parametru --gaps." -#: src/elfcmp.c:730 src/findtextrel.c:221 src/ldgeneric.c:1757 -#: src/ldgeneric.c:4247 src/nm.c:377 src/ranlib.c:157 src/size.c:289 -#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:1994 -#: src/unstrip.c:2023 +#: src/elfcmp.c:732 src/findtextrel.c:221 src/ldgeneric.c:1757 +#: src/ldgeneric.c:4247 src/nm.c:378 src/ranlib.c:157 src/size.c:289 +#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:2029 +#: src/unstrip.c:2058 #, c-format msgid "cannot open '%s'" -msgstr "nie można otworzyć \"%s\"" +msgstr "nie można otworzyć „%sâ€" -#: src/elfcmp.c:734 src/findtextrel.c:228 src/ranlib.c:174 +#: src/elfcmp.c:736 src/findtextrel.c:228 src/ranlib.c:174 #, c-format msgid "cannot create ELF descriptor for '%s': %s" -msgstr "nie można utworzyć deskryptora ELF dla \"%s\": %s" +msgstr "nie można utworzyć deskryptora ELF dla „%sâ€: %s" -#: src/elfcmp.c:739 +#: src/elfcmp.c:741 #, c-format msgid "cannot create EBL descriptor for '%s'" -msgstr "nie można utworzyć deskryptora EBL dla \"%s\"" +msgstr "nie można utworzyć deskryptora EBL dla „%sâ€" -#: src/elfcmp.c:757 src/findtextrel.c:409 +#: src/elfcmp.c:759 src/findtextrel.c:409 #, c-format msgid "cannot get section header of section %zu: %s" msgstr "nie można uzyskać nagłówka sekcji dla sekcji %zu: %s" -#: src/elfcmp.c:767 +#: src/elfcmp.c:769 #, c-format msgid "cannot get content of section %zu: %s" msgstr "nie można uzyskać zawartoÅ›ci sekcji %zu: %s" -#: src/elfcmp.c:777 src/elfcmp.c:791 +#: src/elfcmp.c:779 src/elfcmp.c:793 #, c-format msgid "cannot get relocation: %s" msgstr "nie można uzyskać relokacji: %s" @@ -1311,11 +1343,11 @@ msgid "Pedantic checking of ELF files compliance with gABI/psABI spec." msgstr "" "Szczegółowe sprawdzanie zgodnoÅ›ci plików ELF ze specyfikacjÄ… gABI/psABI." -#: src/elflint.c:78 src/readelf.c:123 +#: src/elflint.c:78 src/readelf.c:126 msgid "FILE..." -msgstr "PLIK..." +msgstr "PLIK…" -#: src/elflint.c:155 src/readelf.c:292 +#: src/elflint.c:155 src/readelf.c:298 #, c-format msgid "cannot open input file" msgstr "nie można otworzyć pliku wejÅ›ciowego" @@ -1334,7 +1366,7 @@ msgstr "bÅ‚Ä…d podczas zamykania deskryptora ELF: %s\n" msgid "No errors" msgstr "Brak bÅ‚Ä™dów" -#: src/elflint.c:219 src/readelf.c:468 +#: src/elflint.c:219 src/readelf.c:474 msgid "Missing file name.\n" msgstr "Brak nazwy pliku.\n" @@ -1346,7 +1378,7 @@ msgstr " bÅ‚Ä…d podczas zwalniania deskryptora pod-ELF: %s\n" #: src/elflint.c:306 #, c-format msgid "Not an ELF file - it has the wrong magic bytes at the start\n" -msgstr "To nie jest plik ELF - posiada bÅ‚Ä™dne bajty magiczne na poczÄ…tku\n" +msgstr "To nie jest plik ELF — posiada bÅ‚Ä™dne bajty magiczne na poczÄ…tku\n" #: src/elflint.c:371 #, c-format @@ -1366,7 +1398,7 @@ msgstr "nieznany numer wersji nagłówka ELF e_ident[%d] == %d\n" #: src/elflint.c:386 #, c-format msgid "unsupported OS ABI e_ident[%d] == '%s'\n" -msgstr "nieobsÅ‚ugiwane ABI systemu operacyjnego e_ident[%d] == \"%s\"\n" +msgstr "nieobsÅ‚ugiwane ABI systemu operacyjnego e_ident[%d] == „%sâ€\n" #: src/elflint.c:392 #, c-format @@ -1470,31 +1502,30 @@ msgid "" "section [%2d] '%s': section with SHF_GROUP flag set not part of a section " "group\n" msgstr "" -"sekcja [%2d] \"%s\": sekcja z flagÄ… SHF_GROUP nie jest częściÄ… grupy sekcji\n" +"sekcja [%2d] „%sâ€: sekcja z flagÄ… SHF_GROUP nie jest częściÄ… grupy sekcji\n" #: src/elflint.c:575 #, c-format msgid "" "section [%2d] '%s': section group [%2zu] '%s' does not precede group member\n" msgstr "" -"sekcja [%2d] \"%s\": grupa sekcji [%2zu] \"%s\" nie poprzedza elementu " -"grupy\n" +"sekcja [%2d] „%sâ€: grupa sekcji [%2zu] „%s†nie poprzedza elementu grupy\n" -#: src/elflint.c:591 src/elflint.c:1471 src/elflint.c:1522 src/elflint.c:1628 -#: src/elflint.c:1964 src/elflint.c:2280 src/elflint.c:2893 src/elflint.c:3056 -#: src/elflint.c:3204 src/elflint.c:3394 src/elflint.c:4336 +#: src/elflint.c:591 src/elflint.c:1475 src/elflint.c:1526 src/elflint.c:1632 +#: src/elflint.c:1968 src/elflint.c:2284 src/elflint.c:2898 src/elflint.c:3061 +#: src/elflint.c:3209 src/elflint.c:3399 src/elflint.c:4366 #, c-format msgid "section [%2d] '%s': cannot get section data\n" -msgstr "sekcja [%2d] \"%s\": nie można uzyskać danych sekcji\n" +msgstr "sekcja [%2d] „%sâ€: nie można uzyskać danych sekcji\n" -#: src/elflint.c:604 src/elflint.c:1635 +#: src/elflint.c:604 src/elflint.c:1639 #, c-format msgid "" "section [%2d] '%s': referenced as string table for section [%2d] '%s' but " "type is not SHT_STRTAB\n" msgstr "" -"sekcja [%2d] \"%s\": użyta jako tabela ciÄ…gów dla sekcji [%2d] \"%s\", ale " -"nie jest typu SHT_STRTAB\n" +"sekcja [%2d] „%sâ€: użyta jako tabela ciÄ…gów dla sekcji [%2d] „%sâ€, ale nie " +"jest typu SHT_STRTAB\n" #: src/elflint.c:627 #, c-format @@ -1502,39 +1533,39 @@ msgid "" "section [%2d] '%s': symbol table cannot have more than one extended index " "section\n" msgstr "" -"sekcja [%2d] \"%s\": tabela symboli nie może mieć wiÄ™cej niż jednej " +"sekcja [%2d] „%sâ€: tabela symboli nie może mieć wiÄ™cej niż jednej " "rozszerzonej sekcji indeksów\n" #: src/elflint.c:639 #, c-format msgid "section [%2u] '%s': entry size is does not match ElfXX_Sym\n" -msgstr "sekcja [%2u] \"%s\": rozmiar wpisu nie zgadza siÄ™ z ElfXX_Sym\n" +msgstr "sekcja [%2u] „%sâ€: rozmiar wpisu nie zgadza siÄ™ z ElfXX_Sym\n" #: src/elflint.c:648 #, c-format msgid "section [%2d] '%s': cannot get symbol %d: %s\n" -msgstr "sekcja [%2d] \"%s\": nie można uzyskać symbolu %d: %s\n" +msgstr "sekcja [%2d] „%sâ€: nie można uzyskać symbolu %d: %s\n" #: src/elflint.c:653 src/elflint.c:656 src/elflint.c:659 src/elflint.c:662 #: src/elflint.c:665 src/elflint.c:668 #, c-format msgid "section [%2d] '%s': '%s' in zeroth entry not zero\n" -msgstr "sekcja [%2d] \"%s\": \"%s\" w zerowym wpisie nie jest zerem\n" +msgstr "sekcja [%2d] „%sâ€: „%s†w zerowym wpisie nie jest zerem\n" #: src/elflint.c:671 #, c-format msgid "section [%2d] '%s': XINDEX for zeroth entry not zero\n" -msgstr "sekcja [%2d] \"%s\": XINDEX dla zerowego wpisu nie jest zerem\n" +msgstr "sekcja [%2d] „%sâ€: XINDEX dla zerowego wpisu nie jest zerem\n" #: src/elflint.c:681 #, c-format msgid "section [%2d] '%s': cannot get symbol %zu: %s\n" -msgstr "sekcja [%2d] \"%s\": nie można uzyskać symbolu %zu: %s\n" +msgstr "sekcja [%2d] „%sâ€: nie można uzyskać symbolu %zu: %s\n" #: src/elflint.c:690 #, c-format msgid "section [%2d] '%s': symbol %zu: invalid name value\n" -msgstr "sekcja [%2d] \"%s\": symbol %zu: nieprawidÅ‚owa wartość nazwy\n" +msgstr "sekcja [%2d] „%sâ€: symbol %zu: nieprawidÅ‚owa wartość nazwy\n" #: src/elflint.c:705 #, c-format @@ -1542,8 +1573,8 @@ msgid "" "section [%2d] '%s': symbol %zu: too large section index but no extended " "section index section\n" msgstr "" -"sekcja [%2d] \"%s\": symbol %zu: za duży indeks sekcji, ale nie posiada " -"sekcji rozszerzonych indeksów sekcji\n" +"sekcja [%2d] „%sâ€: symbol %zu: za duży indeks sekcji, ale nie posiada sekcji " +"rozszerzonych indeksów sekcji\n" #: src/elflint.c:711 #, c-format @@ -1551,1208 +1582,1194 @@ msgid "" "section [%2d] '%s': symbol %zu: XINDEX used for index which would fit in " "st_shndx (%<PRIu32>)\n" msgstr "" -"sekcja [%2d] \"%s\": symbol %zu: XINDEX użyty dla indeksu, który zmieÅ›ciÅ‚by " +"sekcja [%2d] „%sâ€: symbol %zu: XINDEX użyty dla indeksu, który zmieÅ›ciÅ‚by " "siÄ™ w st_shndx (%<PRIu32>)\n" #: src/elflint.c:723 #, c-format msgid "section [%2d] '%s': symbol %zu: invalid section index\n" -msgstr "sekcja [%2d] \"%s\": symbol %zu: nieprawidÅ‚owy indeks sekcji\n" +msgstr "sekcja [%2d] „%sâ€: symbol %zu: nieprawidÅ‚owy indeks sekcji\n" #: src/elflint.c:731 #, c-format msgid "section [%2d] '%s': symbol %zu: unknown type\n" -msgstr "sekcja [%2d] \"%s\": symbol %zu: nieznany typ\n" +msgstr "sekcja [%2d] „%sâ€: symbol %zu: nieznany typ\n" #: src/elflint.c:737 #, c-format msgid "section [%2d] '%s': symbol %zu: unknown symbol binding\n" -msgstr "sekcja [%2d] \"%s\": symbol %zu: nieznane dowiÄ…zanie symbolu\n" +msgstr "sekcja [%2d] „%sâ€: symbol %zu: nieznane dowiÄ…zanie symbolu\n" #: src/elflint.c:742 #, c-format msgid "section [%2d] '%s': symbol %zu: unique symbol not of object type\n" msgstr "" -"sekcja [%2d] \"%s\": symbol %zu: unikalny symbol nie jest typem obiektu\n" +"sekcja [%2d] „%sâ€: symbol %zu: unikalny symbol nie jest typem obiektu\n" #: src/elflint.c:750 #, c-format msgid "" "section [%2d] '%s': symbol %zu: COMMON only allowed in relocatable files\n" msgstr "" -"sekcja [%2d] \"%s\": symbol %zu: COMMON jest dozwolone tylko w plikach " +"sekcja [%2d] „%sâ€: symbol %zu: COMMON jest dozwolone tylko w plikach " "relokowalnych\n" #: src/elflint.c:754 #, c-format msgid "section [%2d] '%s': symbol %zu: local COMMON symbols are nonsense\n" -msgstr "sekcja [%2d] \"%s\": symbol %zu: lokalne symbole COMMON to nonsens\n" +msgstr "sekcja [%2d] „%sâ€: symbol %zu: lokalne symbole COMMON to nonsens\n" #: src/elflint.c:758 #, c-format msgid "" "section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n" -msgstr "sekcja [%2d] \"%s\": symbol %zu: funkcja w sekcji COMMON to nonsens\n" +msgstr "sekcja [%2d] „%sâ€: symbol %zu: funkcja w sekcji COMMON to nonsens\n" -#: src/elflint.c:805 +#: src/elflint.c:809 #, c-format msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n" -msgstr "sekcja [%2d] \"%s\": symbol %zu: st_value spoza zakresu\n" +msgstr "sekcja [%2d] „%sâ€: symbol %zu: st_value spoza zakresu\n" -#: src/elflint.c:811 src/elflint.c:836 src/elflint.c:885 +#: src/elflint.c:815 src/elflint.c:840 src/elflint.c:889 #, c-format msgid "" "section [%2d] '%s': symbol %zu does not fit completely in referenced section " "[%2d] '%s'\n" msgstr "" -"sekcja [%2d] \"%s\": symbol %zu nie mieÅ›ci siÄ™ w caÅ‚oÅ›ci we wskazywanej " -"sekcji [%2d] \"%s\"\n" +"sekcja [%2d] „%sâ€: symbol %zu nie mieÅ›ci siÄ™ w caÅ‚oÅ›ci we wskazywanej sekcji " +"[%2d] „%sâ€\n" -#: src/elflint.c:820 +#: src/elflint.c:824 #, c-format msgid "" "section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have " "SHF_TLS flag set\n" msgstr "" -"sekcja [%2d] \"%s\": symbol %zu: wskazywana sekcja [%2d] \"%s\" nie posiada " +"sekcja [%2d] „%sâ€: symbol %zu: wskazywana sekcja [%2d] „%s†nie posiada " "ustawionej flagi SHF_TLS\n" -#: src/elflint.c:830 src/elflint.c:878 +#: src/elflint.c:834 src/elflint.c:882 #, c-format msgid "" "section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section " "[%2d] '%s'\n" msgstr "" -"sekcja [%2d] \"%s\": symbol %zu: st_value spoza zakresu wskazywanej sekcji " -"[%2d] \"%s\"\n" +"sekcja [%2d] „%sâ€: symbol %zu: st_value spoza zakresu wskazywanej sekcji " +"[%2d] „%sâ€\n" -#: src/elflint.c:857 +#: src/elflint.c:861 #, c-format msgid "" "section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n" msgstr "" -"sekcja [%2d] \"%s\": symbol %zu: symbol TLS, ale brak wpisu TLS nagłówka " +"sekcja [%2d] „%sâ€: symbol %zu: symbol TLS, ale brak wpisu TLS nagłówka " "programu\n" -#: src/elflint.c:863 -#, fuzzy, c-format +#: src/elflint.c:867 +#, c-format msgid "" "section [%2d] '%s': symbol %zu: TLS symbol but couldn't get TLS program " "header entry\n" msgstr "" -"sekcja [%2d] \"%s\": symbol %zu: symbol TLS, ale brak wpisu TLS nagłówka " -"programu\n" +"sekcja [%2d] „%sâ€: symbol %zu: symbol TLS, ale nie można uzyskać wpisu TLS " +"nagłówka programu\n" -#: src/elflint.c:871 +#: src/elflint.c:875 #, c-format msgid "" "section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] " "'%s'\n" msgstr "" -"sekcja [%2d] \"%s\": symbol %zu: st_value pomija wskazywanÄ… sekcjÄ™ [%2d] \"%s" -"\"\n" +"sekcja [%2d] „%sâ€: symbol %zu: st_value pomija wskazywanÄ… sekcjÄ™ [%2d] „%sâ€\n" -#: src/elflint.c:898 +#: src/elflint.c:902 #, c-format msgid "" "section [%2d] '%s': symbol %zu: local symbol outside range described in " "sh_info\n" msgstr "" -"sekcja [%2d] \"%s\": symbol %zu: lokalny symbol spoza zakresu okreÅ›lonego w " +"sekcja [%2d] „%sâ€: symbol %zu: lokalny symbol spoza zakresu okreÅ›lonego w " "sh_info\n" -#: src/elflint.c:905 +#: src/elflint.c:909 #, c-format msgid "" "section [%2d] '%s': symbol %zu: non-local symbol outside range described in " "sh_info\n" msgstr "" -"sekcja [%2d] \"%s\": symbol %zu: nielokalny symbol spoza zakresu okreÅ›lonego " -"w sh_info\n" +"sekcja [%2d] „%sâ€: symbol %zu: nielokalny symbol spoza zakresu okreÅ›lonego w " +"sh_info\n" -#: src/elflint.c:912 +#: src/elflint.c:916 #, c-format msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n" -msgstr "sekcja [%2d] \"%s\": symbol %zu: nielokalny symbol sekcji\n" +msgstr "sekcja [%2d] „%sâ€: symbol %zu: nielokalny symbol sekcji\n" -#: src/elflint.c:962 +#: src/elflint.c:966 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section " "[%2d]\n" msgstr "" -"sekcja [%2d] \"%s\": symbol _GLOBAL_OFFSET_TABLE_ odnosi siÄ™ do bÅ‚Ä™dnej " -"sekcji [%2d]\n" +"sekcja [%2d] „%sâ€: symbol _GLOBAL_OFFSET_TABLE_ odnosi siÄ™ do bÅ‚Ä™dnej sekcji " +"[%2d]\n" -#: src/elflint.c:969 +#: src/elflint.c:973 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] " "'%s'\n" msgstr "" -"sekcja [%2d] \"%s\": symbol _GLOBAL_OFFSET_TABLE_ odnosi siÄ™ do sekcji [%2d] " -"\"%s\"\n" +"sekcja [%2d] „%sâ€: symbol _GLOBAL_OFFSET_TABLE_ odnosi siÄ™ do sekcji [%2d] " +"„%sâ€\n" -#: src/elflint.c:985 +#: src/elflint.c:989 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not " "match %s section address %#<PRIx64>\n" msgstr "" -"sekcja [%2d] \"%s\": wartość symbolu _GLOBAL_OFFSET_TABLE_ %#<PRIx64> nie " +"sekcja [%2d] „%sâ€: wartość symbolu _GLOBAL_OFFSET_TABLE_ %#<PRIx64> nie " "pasuje do adresu sekcji %s %#<PRIx64>\n" -#: src/elflint.c:992 +#: src/elflint.c:996 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not " "match %s section size %<PRIu64>\n" msgstr "" -"sekcja [%2d] \"%s\": rozmiar symbolu _GLOBAL_OFFSET_TABLE_ %<PRIu64> nie " +"sekcja [%2d] „%sâ€: rozmiar symbolu _GLOBAL_OFFSET_TABLE_ %<PRIu64> nie " "pasuje do rozmiaru sekcji %s %<PRIu64>\n" -#: src/elflint.c:1000 +#: src/elflint.c:1004 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got " "section\n" msgstr "" -"sekcja [%2d] \"%s\": symbol _GLOBAL_OFFSET_TABLE_ istnieje, ale brak sekcji ." +"sekcja [%2d] „%sâ€: symbol _GLOBAL_OFFSET_TABLE_ istnieje, ale brak sekcji ." "got\n" -#: src/elflint.c:1016 +#: src/elflint.c:1020 #, c-format msgid "" "section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic " "segment address %#<PRIx64>\n" msgstr "" -"sekcja [%2d] \"%s\": wartość symbolu _DYNAMIC_ %#<PRIx64> nie pasuje do " -"adresu segmentu dynamicznego %#<PRIx64>\n" +"sekcja [%2d] „%sâ€: wartość symbolu _DYNAMIC_ %#<PRIx64> nie pasuje do adresu " +"segmentu dynamicznego %#<PRIx64>\n" -#: src/elflint.c:1023 +#: src/elflint.c:1027 #, c-format msgid "" "section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic " "segment size %<PRIu64>\n" msgstr "" -"sekcja [%2d] \"%s\": rozmiar symbolu _DYNAMIC_ %<PRIu64> nie pasuje do " +"sekcja [%2d] „%sâ€: rozmiar symbolu _DYNAMIC_ %<PRIu64> nie pasuje do " "rozmiaru segmentu dynamicznego %<PRIu64>\n" -#: src/elflint.c:1036 +#: src/elflint.c:1040 #, c-format msgid "" "section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-" "default visibility\n" msgstr "" -"sekcja [%2d] \"%s\": symbol %zu: symbol w dynamicznej tabeli symboli z " +"sekcja [%2d] „%sâ€: symbol %zu: symbol w dynamicznej tabeli symboli z " "niedomyÅ›lnÄ… widocznoÅ›ciÄ…\n" -#: src/elflint.c:1040 +#: src/elflint.c:1044 #, c-format msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n" -msgstr "sekcja [%2d] \"%s\": symbol %zu: ustawiono nieznany bit w st_other\n" +msgstr "sekcja [%2d] „%sâ€: symbol %zu: ustawiono nieznany bit w st_other\n" -#: src/elflint.c:1078 +#: src/elflint.c:1082 #, c-format msgid "section [%2d] '%s': cannot get section data.\n" -msgstr "sekcja [%2d] \"%s\": nie można uzyskać danych sekcji.\n" +msgstr "sekcja [%2d] „%sâ€: nie można uzyskać danych sekcji.\n" -#: src/elflint.c:1094 +#: src/elflint.c:1098 #, c-format msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n" -msgstr "sekcja [%2d] \"%s\": DT_RELCOUNT użyte dla tej sekcji RELA\n" +msgstr "sekcja [%2d] „%sâ€: DT_RELCOUNT użyte dla tej sekcji RELA\n" -#: src/elflint.c:1105 src/elflint.c:1158 +#: src/elflint.c:1109 src/elflint.c:1162 #, c-format msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n" -msgstr "sekcja [%2d] \"%s\": DT_RELCOUNT %d za duże dla tej sekcji\n" +msgstr "sekcja [%2d] „%sâ€: DT_RELCOUNT %d za duże dla tej sekcji\n" -#: src/elflint.c:1130 src/elflint.c:1183 +#: src/elflint.c:1134 src/elflint.c:1187 #, c-format msgid "" "section [%2d] '%s': relative relocations after index %d as specified by " "DT_RELCOUNT\n" msgstr "" -"sekcja [%2d] \"%s\": relokacje wzglÄ™dne po indeksie %d podanym przez " +"sekcja [%2d] „%sâ€: relokacje wzglÄ™dne po indeksie %d podanym przez " "DT_RELCOUNT\n" -#: src/elflint.c:1136 src/elflint.c:1189 +#: src/elflint.c:1140 src/elflint.c:1193 #, c-format msgid "" "section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT " "specified %d relative relocations\n" msgstr "" -"sekcja [%2d] \"%s\": relokacja bezwzglÄ™dna pod indeksem %zu; DT_RELCOUNT " -"podaÅ‚ %d relokacji wzglÄ™dnych\n" +"sekcja [%2d] „%sâ€: relokacja bezwzglÄ™dna pod indeksem %zu; DT_RELCOUNT podaÅ‚ " +"%d relokacji wzglÄ™dnych\n" -#: src/elflint.c:1148 +#: src/elflint.c:1152 #, c-format msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n" -msgstr "sekcja [%2d] \"%s\": DT_RELACOUNT użyte dla tej sekcji REL\n" +msgstr "sekcja [%2d] „%sâ€: DT_RELACOUNT użyte dla tej sekcji REL\n" -#: src/elflint.c:1231 +#: src/elflint.c:1235 #, c-format msgid "section [%2d] '%s': invalid destination section index\n" -msgstr "sekcja [%2d] \"%s\": nieprawidÅ‚owy indeks sekcji docelowej\n" +msgstr "sekcja [%2d] „%sâ€: nieprawidÅ‚owy indeks sekcji docelowej\n" -#: src/elflint.c:1243 +#: src/elflint.c:1247 #, c-format msgid "section [%2d] '%s': invalid destination section type\n" -msgstr "sekcja [%2d] \"%s\": nieprawidÅ‚owy typ sekcji docelowej\n" +msgstr "sekcja [%2d] „%sâ€: nieprawidÅ‚owy typ sekcji docelowej\n" -#: src/elflint.c:1251 +#: src/elflint.c:1255 #, c-format msgid "section [%2d] '%s': sh_info should be zero\n" -msgstr "sekcja [%2d] \"%s\": sh_info powinno wynosić zero\n" +msgstr "sekcja [%2d] „%sâ€: sh_info powinno wynosić zero\n" -#: src/elflint.c:1259 -#, fuzzy, c-format +#: src/elflint.c:1263 +#, c-format msgid "" "section [%2d] '%s': no relocations for merge-able string sections possible\n" -msgstr "sekcja [%2d] \"%s\": relokacje dla sekcji zÅ‚Ä…czalnych sÄ… niemożliwe\n" +msgstr "" +"sekcja [%2d] „%sâ€: relokacje dla sekcji zÅ‚Ä…czalnych ciÄ…gów sÄ… niemożliwe\n" -#: src/elflint.c:1267 +#: src/elflint.c:1271 #, c-format msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n" -msgstr "" -"sekcja [%2d] \"%s\": rozmiar wpisu sekcji nie zgadza siÄ™ z ElfXX_Rela\n" +msgstr "sekcja [%2d] „%sâ€: rozmiar wpisu sekcji nie zgadza siÄ™ z ElfXX_Rela\n" -#: src/elflint.c:1327 +#: src/elflint.c:1331 #, c-format msgid "text relocation flag set but there is no read-only segment\n" msgstr "" "flaga relokacji tekstu jest ustawiona, ale nie posiada segmentu tylko do " "odczytu\n" -#: src/elflint.c:1354 +#: src/elflint.c:1358 #, c-format msgid "section [%2d] '%s': relocation %zu: invalid type\n" -msgstr "sekcja [%2d] \"%s\": relokacja %zu: nieprawidÅ‚owy typ\n" +msgstr "sekcja [%2d] „%sâ€: relokacja %zu: nieprawidÅ‚owy typ\n" -#: src/elflint.c:1362 +#: src/elflint.c:1366 #, c-format msgid "" "section [%2d] '%s': relocation %zu: relocation type invalid for the file " "type\n" msgstr "" -"sekcja [%2d] \"%s\": relokacja %zu: typ relokacji nieprawidÅ‚owy dla tego " -"typu pliku\n" +"sekcja [%2d] „%sâ€: relokacja %zu: typ relokacji nieprawidÅ‚owy dla tego typu " +"pliku\n" -#: src/elflint.c:1370 +#: src/elflint.c:1374 #, c-format msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n" -msgstr "sekcja [%2d] \"%s\": relokacja %zu: nieprawidÅ‚owy indeks symbolu\n" +msgstr "sekcja [%2d] „%sâ€: relokacja %zu: nieprawidÅ‚owy indeks symbolu\n" -#: src/elflint.c:1388 +#: src/elflint.c:1392 #, c-format msgid "" "section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can " "be used with %s\n" msgstr "" -"sekcja [%2d] \"%s\": relokacja %zu: z %s można użyć tylko symbolu " -"\"_GLOBAL_OFFSET_TABLE_\"\n" +"sekcja [%2d] „%sâ€: relokacja %zu: z %s można użyć tylko symbolu " +"„_GLOBAL_OFFSET_TABLE_â€\n" -#: src/elflint.c:1405 +#: src/elflint.c:1409 #, c-format msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n" -msgstr "sekcja [%2d] \"%s\": relokacja %zu: offset spoza zakresu\n" +msgstr "sekcja [%2d] „%sâ€: relokacja %zu: offset spoza zakresu\n" -#: src/elflint.c:1420 +#: src/elflint.c:1424 #, c-format msgid "" "section [%2d] '%s': relocation %zu: copy relocation against symbol of type " "%s\n" msgstr "" -"sekcja [%2d] \"%s\": relokacja %zu: relokacja kopii wzglÄ™dem symbolu typu " -"%s\n" +"sekcja [%2d] „%sâ€: relokacja %zu: relokacja kopii wzglÄ™dem symbolu typu %s\n" -#: src/elflint.c:1441 +#: src/elflint.c:1445 #, c-format msgid "" "section [%2d] '%s': relocation %zu: read-only section modified but text " "relocation flag not set\n" msgstr "" -"sekcja [%2d] \"%s\": relokacja %zu: sekcja tylko do odczytu zostaÅ‚a " +"sekcja [%2d] „%sâ€: relokacja %zu: sekcja tylko do odczytu zostaÅ‚a " "zmodyfikowana, ale nie ustawiono flagi relokacji tekstu\n" -#: src/elflint.c:1456 +#: src/elflint.c:1460 #, c-format msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n" msgstr "" -"sekcja [%2d] \"%s\": relokacje wzglÄ™dem wczytanych i niewczytanych danych\n" +"sekcja [%2d] „%sâ€: relokacje wzglÄ™dem wczytanych i niewczytanych danych\n" -#: src/elflint.c:1496 src/elflint.c:1547 +#: src/elflint.c:1500 src/elflint.c:1551 #, c-format msgid "section [%2d] '%s': cannot get relocation %zu: %s\n" -msgstr "sekcja [%2d] \"%s\": nie można uzyskać relokacji %zu: %s\n" +msgstr "sekcja [%2d] „%sâ€: nie można uzyskać relokacji %zu: %s\n" -#: src/elflint.c:1623 +#: src/elflint.c:1627 #, c-format msgid "more than one dynamic section present\n" msgstr "obecna jest wiÄ™cej niż jedna sekcja dynamiczna\n" -#: src/elflint.c:1641 +#: src/elflint.c:1645 #, c-format msgid "" "section [%2d]: referenced as string table for section [%2d] '%s' but section " "link value is invalid\n" msgstr "" -"sekcja [%2d]: wskazane jako tabela ciÄ…gów dla sekcji [%2d] \"%s\", ale " -"wartość dowiÄ…zania sekcji jest nieprawidÅ‚owa\n" +"sekcja [%2d]: wskazane jako tabela ciÄ…gów dla sekcji [%2d] „%sâ€, ale wartość " +"dowiÄ…zania sekcji jest nieprawidÅ‚owa\n" -#: src/elflint.c:1649 +#: src/elflint.c:1653 #, c-format msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n" -msgstr "sekcja [%2d] \"%s\": rozmiar wpisu sekcji nie zgadza siÄ™ z ElfXX_Dyn\n" +msgstr "sekcja [%2d] „%sâ€: rozmiar wpisu sekcji nie zgadza siÄ™ z ElfXX_Dyn\n" -#: src/elflint.c:1654 src/elflint.c:1943 +#: src/elflint.c:1658 src/elflint.c:1947 #, c-format msgid "section [%2d] '%s': sh_info not zero\n" -msgstr "sekcja [%2d] \"%s\": sh_info nie wynosi zero\n" +msgstr "sekcja [%2d] „%sâ€: sh_info nie wynosi zero\n" -#: src/elflint.c:1664 +#: src/elflint.c:1668 #, c-format msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n" msgstr "" -"sekcja [%2d] \"%s\": nie można uzyskać wpisu %zu sekcji dynamicznej: %s\n" +"sekcja [%2d] „%sâ€: nie można uzyskać wpisu %zu sekcji dynamicznej: %s\n" -#: src/elflint.c:1672 +#: src/elflint.c:1676 #, c-format msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n" -msgstr "sekcja [%2d] \"%s\": wpisy nie-DT_NULL wystÄ™pujÄ… po wpisie DT_NULL\n" +msgstr "sekcja [%2d] „%sâ€: wpisy nie-DT_NULL wystÄ™pujÄ… po wpisie DT_NULL\n" -#: src/elflint.c:1679 +#: src/elflint.c:1683 #, c-format msgid "section [%2d] '%s': entry %zu: unknown tag\n" -msgstr "sekcja [%2d] \"%s\": wpis %zu: nieznany znacznik\n" +msgstr "sekcja [%2d] „%sâ€: wpis %zu: nieznany znacznik\n" -#: src/elflint.c:1690 +#: src/elflint.c:1694 #, c-format msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n" -msgstr "" -"sekcja [%2d] \"%s\": wpis %zu: wiÄ™cej niż jeden wpis ze znacznikiem %s\n" +msgstr "sekcja [%2d] „%sâ€: wpis %zu: wiÄ™cej niż jeden wpis ze znacznikiem %s\n" -#: src/elflint.c:1700 +#: src/elflint.c:1704 #, c-format msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n" -msgstr "sekcja [%2d] \"%s\": wpis %zu: użyto znacznika %s poziomu 2\n" +msgstr "sekcja [%2d] „%sâ€: wpis %zu: użyto znacznika %s poziomu 2\n" -#: src/elflint.c:1718 +#: src/elflint.c:1722 #, c-format msgid "" "section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n" msgstr "" -"sekcja [%2d] \"%s\": wpis %zu: wartość DT_PLTREL musi wynosić DT_REL lub " +"sekcja [%2d] „%sâ€: wpis %zu: wartość DT_PLTREL musi wynosić DT_REL lub " "DT_RELA\n" -#: src/elflint.c:1731 +#: src/elflint.c:1735 #, c-format msgid "" "section [%2d] '%s': entry %zu: pointer does not match address of section " "[%2d] '%s' referenced by sh_link\n" msgstr "" -"sekcja [%2d] \"%s\": wpis %zu: wskaźnik nie pasuje do adresu sekcji [%2d] " -"\"%s\" wskazywanej przez sh_link\n" +"sekcja [%2d] „%sâ€: wpis %zu: wskaźnik nie pasuje do adresu sekcji [%2d] „%s†" +"wskazywanej przez sh_link\n" -#: src/elflint.c:1774 +#: src/elflint.c:1778 #, c-format msgid "" "section [%2d] '%s': entry %zu: %s value must point into loaded segment\n" msgstr "" -"sekcja [%2d] \"%s\": wpis %zu: wartość %s musi wskazywać na wczytany " -"segment\n" +"sekcja [%2d] „%sâ€: wpis %zu: wartość %s musi wskazywać na wczytany segment\n" -#: src/elflint.c:1789 +#: src/elflint.c:1793 #, c-format msgid "" "section [%2d] '%s': entry %zu: %s value must be valid offset in section " "[%2d] '%s'\n" msgstr "" -"sekcja [%2d] \"%s\": wpis %zu: wartość %s musi być prawidÅ‚owym offsetem w " -"sekcji [%2d] \"%s\"\n" +"sekcja [%2d] „%sâ€: wpis %zu: wartość %s musi być prawidÅ‚owym offsetem w " +"sekcji [%2d] „%sâ€\n" -#: src/elflint.c:1809 src/elflint.c:1837 +#: src/elflint.c:1813 src/elflint.c:1841 #, c-format msgid "section [%2d] '%s': contains %s entry but not %s\n" -msgstr "sekcja [%2d] \"%s\": zawiera wpis %s, ale nie %s\n" +msgstr "sekcja [%2d] „%sâ€: zawiera wpis %s, ale nie %s\n" -#: src/elflint.c:1821 +#: src/elflint.c:1825 #, c-format msgid "section [%2d] '%s': mandatory tag %s not present\n" -msgstr "sekcja [%2d] \"%s\": brak obowiÄ…zkowego znacznika %s\n" +msgstr "sekcja [%2d] „%sâ€: brak obowiÄ…zkowego znacznika %s\n" -#: src/elflint.c:1830 +#: src/elflint.c:1834 #, c-format msgid "section [%2d] '%s': no hash section present\n" -msgstr "sekcja [%2d] \"%s\": brak sekcji skrótów\n" +msgstr "sekcja [%2d] „%sâ€: brak sekcji skrótów\n" -#: src/elflint.c:1845 src/elflint.c:1852 +#: src/elflint.c:1849 src/elflint.c:1856 #, c-format msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n" -msgstr "sekcja [%2d] \"%s\": nie wszystkie z %s, %s i %s sÄ… obecne\n" +msgstr "sekcja [%2d] „%sâ€: nie wszystkie z %s, %s i %s sÄ… obecne\n" -#: src/elflint.c:1862 src/elflint.c:1866 +#: src/elflint.c:1866 src/elflint.c:1870 #, c-format msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n" msgstr "" -"sekcja [%2d] \"%s\": brak znacznika %s w DSO oznaczonym podczas wstÄ™pnej " +"sekcja [%2d] „%sâ€: brak znacznika %s w DSO oznaczonym podczas wstÄ™pnej " "konsolidacji\n" -#: src/elflint.c:1872 +#: src/elflint.c:1876 #, c-format msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n" msgstr "" -"sekcja [%2d] \"%s\": plik nie-DSO oznaczony jako zależność podczas wstÄ™pnej " +"sekcja [%2d] „%sâ€: plik nie-DSO oznaczony jako zależność podczas wstÄ™pnej " "konsolidacji\n" -#: src/elflint.c:1883 src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895 +#: src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895 src/elflint.c:1899 #, c-format msgid "section [%2d] '%s': %s tag missing in prelinked executable\n" msgstr "" -"sekcja [%2d] \"%s\": brak znacznika %s we wstÄ™pnie konsolidowanym pliku " +"sekcja [%2d] „%sâ€: brak znacznika %s we wstÄ™pnie konsolidowanym pliku " "wykonywalnym\n" -#: src/elflint.c:1907 +#: src/elflint.c:1911 #, c-format msgid "" "section [%2d] '%s': only relocatable files can have extended section index\n" msgstr "" -"sekcja [%2d] \"%s\": tylko pliki relokowalne mogÄ… mieć rozszerzonÄ… sekcjÄ™ " +"sekcja [%2d] „%sâ€: tylko pliki relokowalne mogÄ… mieć rozszerzonÄ… sekcjÄ™ " "indeksów\n" -#: src/elflint.c:1917 +#: src/elflint.c:1921 #, c-format msgid "" "section [%2d] '%s': extended section index section not for symbol table\n" msgstr "" -"sekcja [%2d] \"%s\": sekcja rozszerzonych indeksów sekcji nie dla tabeli " +"sekcja [%2d] „%sâ€: sekcja rozszerzonych indeksów sekcji nie dla tabeli " "symboli\n" -#: src/elflint.c:1921 +#: src/elflint.c:1925 #, c-format msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n" msgstr "" -"sekcja [%2d] \"%s\": rozszerzony indeks sekcji sh_link [%2d] jest " +"sekcja [%2d] „%sâ€: rozszerzony indeks sekcji sh_link [%2d] jest " "nieprawidÅ‚owy\n" -#: src/elflint.c:1926 +#: src/elflint.c:1930 #, c-format msgid "cannot get data for symbol section\n" msgstr "nie można uzyskać danych dla sekcji symboli\n" -#: src/elflint.c:1929 +#: src/elflint.c:1933 #, c-format msgid "section [%2d] '%s': entry size does not match Elf32_Word\n" -msgstr "sekcja [%2d] \"%s\": rozmiar wpisu nie zgadza siÄ™ z Elf32_Word\n" +msgstr "sekcja [%2d] „%sâ€: rozmiar wpisu nie zgadza siÄ™ z Elf32_Word\n" -#: src/elflint.c:1938 +#: src/elflint.c:1942 #, c-format msgid "section [%2d] '%s': extended index table too small for symbol table\n" msgstr "" -"sekcja [%2d] \"%s\": tabela rozszerzonych indeksów jest za maÅ‚a dla tabeli " +"sekcja [%2d] „%sâ€: tabela rozszerzonych indeksów jest za maÅ‚a dla tabeli " "symboli\n" -#: src/elflint.c:1953 +#: src/elflint.c:1957 #, c-format msgid "" "section [%2d] '%s': extended section index in section [%2zu] '%s' refers to " "same symbol table\n" msgstr "" -"sekcja [%2d] \"%s\": rozszerzony indeks sekcji w sekcji [%2zu] \"%s\" " -"odwoÅ‚uje siÄ™ do tej samej tabeli symboli\n" +"sekcja [%2d] „%sâ€: rozszerzony indeks sekcji w sekcji [%2zu] „%s†odwoÅ‚uje " +"siÄ™ do tej samej tabeli symboli\n" -#: src/elflint.c:1970 +#: src/elflint.c:1974 #, c-format msgid "symbol 0 should have zero extended section index\n" msgstr "symbol 0 powinien mieć zerowy rozszerzony indeks sekcji\n" -#: src/elflint.c:1982 +#: src/elflint.c:1986 #, c-format msgid "cannot get data for symbol %zu\n" msgstr "nie można uzyskać danych dla symbolu %zu\n" -#: src/elflint.c:1987 +#: src/elflint.c:1991 #, c-format msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n" msgstr "" "rozszerzony indeks sekcji wynosi %<PRIu32>, ale indeks symbolu nie wynosi " "XINDEX\n" -#: src/elflint.c:2003 src/elflint.c:2054 +#: src/elflint.c:2007 src/elflint.c:2058 #, c-format msgid "" "section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n" msgstr "" -"sekcja [%2d] \"%s\": sekcja tabeli mieszajÄ…cej jest za maÅ‚a (%ld, oczekiwano " +"sekcja [%2d] „%sâ€: sekcja tabeli mieszajÄ…cej jest za maÅ‚a (%ld, oczekiwano " "%ld)\n" -#: src/elflint.c:2015 src/elflint.c:2066 +#: src/elflint.c:2019 src/elflint.c:2070 #, c-format msgid "section [%2d] '%s': chain array too large\n" -msgstr "sekcja [%2d] \"%s\": tabela Å‚aÅ„cuchowa jest za duża\n" +msgstr "sekcja [%2d] „%sâ€: tabela Å‚aÅ„cuchowa jest za duża\n" -#: src/elflint.c:2029 src/elflint.c:2080 +#: src/elflint.c:2033 src/elflint.c:2084 #, c-format msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n" msgstr "" -"sekcja [%2d] \"%s\": odwoÅ‚anie do kubeÅ‚ka skrótu %zu jest spoza zakresu\n" +"sekcja [%2d] „%sâ€: odwoÅ‚anie do kubeÅ‚ka skrótu %zu jest spoza zakresu\n" -#: src/elflint.c:2039 +#: src/elflint.c:2043 #, c-format msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n" msgstr "" -"sekcja [%2d] \"%s\": odwoÅ‚anie do Å‚aÅ„cucha skrótu %zu jest spoza zakresu\n" +"sekcja [%2d] „%sâ€: odwoÅ‚anie do Å‚aÅ„cucha skrótu %zu jest spoza zakresu\n" -#: src/elflint.c:2090 +#: src/elflint.c:2094 #, c-format msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n" msgstr "" -"sekcja [%2d] \"%s\": odwoÅ‚anie do Å‚aÅ„cucha skrótu %<PRIu64> jest spoza " +"sekcja [%2d] „%sâ€: odwoÅ‚anie do Å‚aÅ„cucha skrótu %<PRIu64> jest spoza " "zakresu\n" -#: src/elflint.c:2103 +#: src/elflint.c:2107 #, c-format msgid "section [%2d] '%s': not enough data\n" -msgstr "sekcja [%2d] \"%s\": brak wystarczajÄ…cej iloÅ›ci danych\n" +msgstr "sekcja [%2d] „%sâ€: brak wystarczajÄ…cej iloÅ›ci danych\n" -#: src/elflint.c:2115 +#: src/elflint.c:2119 #, c-format msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n" msgstr "" -"sekcja [%2d] \"%s\": rozmiar maski bitowej wynosi zero lub nie jest potÄ™gÄ… " -"2: %u\n" +"sekcja [%2d] „%sâ€: rozmiar maski bitowej wynosi zero lub nie jest potÄ™gÄ… 2: " +"%u\n" -#: src/elflint.c:2131 +#: src/elflint.c:2135 #, c-format msgid "" "section [%2d] '%s': hash table section is too small (is %ld, expected at " "least %ld)\n" msgstr "" -"sekcja [%2d] \"%s\": sekcja tabeli mieszajÄ…cej jest za maÅ‚a (wynosi %ld, " +"sekcja [%2d] „%sâ€: sekcja tabeli mieszajÄ…cej jest za maÅ‚a (wynosi %ld, " "oczekiwano co najmniej %ld)\n" -#: src/elflint.c:2140 +#: src/elflint.c:2144 #, c-format msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n" msgstr "" -"sekcja [%2d] \"%s\": drugie przesuniÄ™cie funkcji mieszajÄ…cej jest za duże: " -"%u\n" +"sekcja [%2d] „%sâ€: drugie przesuniÄ™cie funkcji mieszajÄ…cej jest za duże: %u\n" -#: src/elflint.c:2174 +#: src/elflint.c:2178 #, c-format msgid "" "section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n" msgstr "" -"sekcja [%2d] \"%s\": Å‚aÅ„cuch mieszajÄ…cy dla kubeÅ‚ka %zu jest mniejszy niż " +"sekcja [%2d] „%sâ€: Å‚aÅ„cuch mieszajÄ…cy dla kubeÅ‚ka %zu jest mniejszy niż " "przesuniÄ™cie indeksu symboli\n" -#: src/elflint.c:2195 +#: src/elflint.c:2199 #, c-format msgid "" "section [%2d] '%s': symbol %u referenced in chain for bucket %zu is " "undefined\n" msgstr "" -"sekcja [%2d] \"%s\": symbol %u wskazywany w Å‚aÅ„cuchu dla kubeÅ‚ka %zu jest " +"sekcja [%2d] „%sâ€: symbol %u wskazywany w Å‚aÅ„cuchu dla kubeÅ‚ka %zu jest " "nieokreÅ›lony\n" -#: src/elflint.c:2208 +#: src/elflint.c:2212 #, c-format msgid "" "section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n" msgstr "" -"sekcja [%2d] \"%s\": wartość skrótu dla symbolu %u w Å‚aÅ„cuchu dla kubeÅ‚ka " -"%zu jest bÅ‚Ä™dna\n" +"sekcja [%2d] „%sâ€: wartość skrótu dla symbolu %u w Å‚aÅ„cuchu dla kubeÅ‚ka %zu " +"jest bÅ‚Ä™dna\n" -#: src/elflint.c:2217 +#: src/elflint.c:2221 #, c-format msgid "" "section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n" msgstr "" -"sekcja [%2d] \"%s\": indeks maski dla symbolu %u w Å‚aÅ„cuchu dla kubeÅ‚ka %zu " +"sekcja [%2d] „%sâ€: indeks maski dla symbolu %u w Å‚aÅ„cuchu dla kubeÅ‚ka %zu " "jest bÅ‚Ä™dny\n" -#: src/elflint.c:2247 +#: src/elflint.c:2251 #, c-format msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n" -msgstr "" -"sekcja [%2d] \"%s\": Å‚aÅ„cuch skrótu dla kubeÅ‚ka %zu jest spoza zakresu\n" +msgstr "sekcja [%2d] „%sâ€: Å‚aÅ„cuch skrótu dla kubeÅ‚ka %zu jest spoza zakresu\n" -#: src/elflint.c:2252 +#: src/elflint.c:2256 #, c-format msgid "" "section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n" msgstr "" -"sekcja [%2d] \"%s\": odwoÅ‚anie do symbolu w Å‚aÅ„cuchu dla kubeÅ‚ka %zu jest " +"sekcja [%2d] „%sâ€: odwoÅ‚anie do symbolu w Å‚aÅ„cuchu dla kubeÅ‚ka %zu jest " "spoza zakresu\n" -#: src/elflint.c:2258 +#: src/elflint.c:2262 #, c-format msgid "section [%2d] '%s': bitmask does not match names in the hash table\n" msgstr "" -"sekcja [%2d] \"%s\": maska bitowa nie pasuje do nazw w tabeli mieszajÄ…cej\n" +"sekcja [%2d] „%sâ€: maska bitowa nie pasuje do nazw w tabeli mieszajÄ…cej\n" -#: src/elflint.c:2271 +#: src/elflint.c:2275 #, c-format msgid "section [%2d] '%s': relocatable files cannot have hash tables\n" msgstr "" -"sekcja [%2d] \"%s\": pliki relokowalne nie mogÄ… posiadać tabeli " -"mieszajÄ…cych\n" +"sekcja [%2d] „%sâ€: pliki relokowalne nie mogÄ… posiadać tabeli mieszajÄ…cych\n" -#: src/elflint.c:2289 +#: src/elflint.c:2293 #, c-format msgid "section [%2d] '%s': hash table not for dynamic symbol table\n" msgstr "" -"sekcja [%2d] \"%s\": tabela mieszajÄ…ca nie dla tabeli dynamicznych symboli\n" +"sekcja [%2d] „%sâ€: tabela mieszajÄ…ca nie dla tabeli dynamicznych symboli\n" -#: src/elflint.c:2293 +#: src/elflint.c:2297 #, c-format msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n" msgstr "" -"sekcja [%2d] \"%s\": nieprawidÅ‚owy indeks sekcji tabeli symboli sh_link " -"[%2d]\n" +"sekcja [%2d] „%sâ€: nieprawidÅ‚owy indeks sekcji tabeli symboli sh_link [%2d]\n" -#: src/elflint.c:2301 +#: src/elflint.c:2305 #, c-format msgid "section [%2d] '%s': hash table entry size incorrect\n" -msgstr "sekcja [%2d] \"%s\": niepoprawny rozmiar wpisu tabeli mieszajÄ…cej\n" +msgstr "sekcja [%2d] „%sâ€: niepoprawny rozmiar wpisu tabeli mieszajÄ…cej\n" -#: src/elflint.c:2306 +#: src/elflint.c:2310 #, c-format msgid "section [%2d] '%s': not marked to be allocated\n" -msgstr "sekcja [%2d] \"%s\": nieoznaczona do przydzielenia\n" +msgstr "sekcja [%2d] „%sâ€: nieoznaczona do przydzielenia\n" -#: src/elflint.c:2311 +#: src/elflint.c:2315 #, c-format msgid "" "section [%2d] '%s': hash table has not even room for initial administrative " "entries\n" msgstr "" -"sekcja [%2d] \"%s\": tabela mieszajÄ…ca nie posiada miejsca nawet na " -"poczÄ…tkowe wpisy administracyjne\n" +"sekcja [%2d] „%sâ€: tabela mieszajÄ…ca nie posiada miejsca nawet na poczÄ…tkowe " +"wpisy administracyjne\n" -#: src/elflint.c:2360 +#: src/elflint.c:2364 #, c-format msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n" msgstr "" -"sh_link w sekcjach skrótu [%2zu] \"%s\" i [%2zu] \"%s\" nie sÄ… identyczne\n" +"sh_link w sekcjach skrótu [%2zu] „%s†i [%2zu] „%s†nie sÄ… identyczne\n" -#: src/elflint.c:2384 src/elflint.c:2449 src/elflint.c:2484 +#: src/elflint.c:2388 src/elflint.c:2453 src/elflint.c:2488 #, c-format msgid "hash section [%2zu] '%s' does not contain enough data\n" msgstr "" -"sekcja mieszania [%2zu] \"%s\" nie zawiera wystarczajÄ…cej iloÅ›ci danych\n" +"sekcja mieszania [%2zu] „%s†nie zawiera wystarczajÄ…cej iloÅ›ci danych\n" -#: src/elflint.c:2405 +#: src/elflint.c:2409 #, c-format msgid "hash section [%2zu] '%s' has zero bit mask words\n" -msgstr "sekcja mieszania [%2zu] \"%s\" posiada zerowe sÅ‚owa maski bitów\n" +msgstr "sekcja mieszania [%2zu] „%s†posiada zerowe sÅ‚owa maski bitów\n" -#: src/elflint.c:2416 src/elflint.c:2460 src/elflint.c:2497 +#: src/elflint.c:2420 src/elflint.c:2464 src/elflint.c:2501 #, c-format msgid "hash section [%2zu] '%s' uses too much data\n" -msgstr "sekcja mieszania [%2zu] \"%s\" używa za dużo danych\n" +msgstr "sekcja mieszania [%2zu] „%s†używa za dużo danych\n" -#: src/elflint.c:2431 +#: src/elflint.c:2435 #, c-format msgid "" "hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: " "%<PRIu32>, nentries: %<PRIu32>\n" msgstr "" -"sekcja mieszajÄ…ca [%2zu] \"%s\" nieprawidÅ‚owy indeks symboli %<PRIu32> " +"sekcja mieszajÄ…ca [%2zu] „%s†nieprawidÅ‚owy indeks symboli %<PRIu32> " "(max_nsyms: %<PRIu32>, nentries: %<PRIu32>\n" -#: src/elflint.c:2518 +#: src/elflint.c:2522 #, c-format msgid "hash section [%2zu] '%s' invalid sh_entsize\n" -msgstr "sekcja mieszania [%2zu] \"%s\" nieprawidÅ‚owe sh_entsize\n" +msgstr "sekcja mieszania [%2zu] „%s†nieprawidÅ‚owe sh_entsize\n" -#: src/elflint.c:2528 src/elflint.c:2532 +#: src/elflint.c:2532 src/elflint.c:2536 #, c-format msgid "section [%2zu] '%s': reference to symbol index 0\n" -msgstr "sekcja [%2zu] \"%s\": odwoÅ‚anie do symbolu o indeksie 0\n" +msgstr "sekcja [%2zu] „%sâ€: odwoÅ‚anie do symbolu o indeksie 0\n" -#: src/elflint.c:2539 +#: src/elflint.c:2543 #, c-format msgid "" "symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash " "table in [%2zu] '%s'\n" msgstr "" -"symbol %d wymieniony w nowej tabeli mieszajÄ…cej w [%2zu] \"%s\", ale nie w " -"poprzedniej tabeli mieszajÄ…cej [%2zu] \"%s\"\n" +"symbol %d wymieniony w nowej tabeli mieszajÄ…cej w [%2zu] „%sâ€, ale nie w " +"poprzedniej tabeli mieszajÄ…cej [%2zu] „%sâ€\n" -#: src/elflint.c:2551 +#: src/elflint.c:2555 #, c-format msgid "" "symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash " "table in [%2zu] '%s'\n" msgstr "" -"symbol %d wymieniony w poprzedniej tabeli mieszajÄ…cej w [%2zu] \"%s\", ale " -"nie w nowej tabeli mieszajÄ…cej w [%2zu] \"%s\"\n" +"symbol %d wymieniony w poprzedniej tabeli mieszajÄ…cej w [%2zu] „%sâ€, ale nie " +"w nowej tabeli mieszajÄ…cej w [%2zu] „%sâ€\n" -#: src/elflint.c:2567 +#: src/elflint.c:2571 #, c-format msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n" -msgstr "sekcja [%2d] \"%s\": niezerowe sh_%s dla sekcji NULL\n" +msgstr "sekcja [%2d] „%sâ€: niezerowe sh_%s dla sekcji NULL\n" -#: src/elflint.c:2587 +#: src/elflint.c:2591 #, c-format msgid "" "section [%2d] '%s': section groups only allowed in relocatable object files\n" msgstr "" -"sekcja [%2d] \"%s\": w plikach obiektów relokowalnych dozwolone sÄ… tylko " -"grupy sekcji\n" +"sekcja [%2d] „%sâ€: w plikach obiektów relokowalnych dozwolone sÄ… tylko grupy " +"sekcji\n" -#: src/elflint.c:2598 +#: src/elflint.c:2602 #, c-format msgid "section [%2d] '%s': cannot get symbol table: %s\n" -msgstr "sekcja [%2d] \"%s\": nie można uzyskać tabeli symboli: %s\n" +msgstr "sekcja [%2d] „%sâ€: nie można uzyskać tabeli symboli: %s\n" -#: src/elflint.c:2603 +#: src/elflint.c:2607 #, c-format msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n" msgstr "" -"sekcja [%2d] \"%s\": odwoÅ‚anie do sekcji w sh_link nie posiada tabeli " -"symboli\n" +"sekcja [%2d] „%sâ€: odwoÅ‚anie do sekcji w sh_link nie posiada tabeli symboli\n" -#: src/elflint.c:2609 +#: src/elflint.c:2613 #, c-format msgid "section [%2d] '%s': invalid symbol index in sh_info\n" -msgstr "sekcja [%2d] \"%s\": nieprawidÅ‚owy indeks symbolu w sh_info\n" +msgstr "sekcja [%2d] „%sâ€: nieprawidÅ‚owy indeks symbolu w sh_info\n" -#: src/elflint.c:2614 +#: src/elflint.c:2618 #, c-format msgid "section [%2d] '%s': sh_flags not zero\n" -msgstr "sekcja [%2d] \"%s\": niezerowe sh_flags\n" +msgstr "sekcja [%2d] „%sâ€: niezerowe sh_flags\n" -#: src/elflint.c:2621 +#: src/elflint.c:2625 #, c-format msgid "section [%2d] '%s': cannot get symbol for signature\n" -msgstr "sekcja [%2d] \"%s\": nie można uzyskać symbolu dla podpisu\n" +msgstr "sekcja [%2d] „%sâ€: nie można uzyskać symbolu dla podpisu\n" -#: src/elflint.c:2625 +#: src/elflint.c:2629 #, c-format msgid "section [%2d] '%s': cannot get symbol name for signature\n" -msgstr "sekcja [%2d] \"%s\": nie można uzyskać nazwy symbolu dla podpisu\n" +msgstr "sekcja [%2d] „%sâ€: nie można uzyskać nazwy symbolu dla podpisu\n" -#: src/elflint.c:2630 +#: src/elflint.c:2634 #, c-format msgid "section [%2d] '%s': signature symbol cannot be empty string\n" -msgstr "sekcja [%2d] \"%s\": symbol podpisu nie można być pustym ciÄ…giem\n" +msgstr "sekcja [%2d] „%sâ€: symbol podpisu nie można być pustym ciÄ…giem\n" -#: src/elflint.c:2636 +#: src/elflint.c:2640 #, c-format msgid "section [%2d] '%s': sh_flags not set correctly\n" -msgstr "sekcja [%2d] \"%s\": sh_flags nie ustawione poprawnie\n" +msgstr "sekcja [%2d] „%sâ€: sh_flags nie ustawione poprawnie\n" -#: src/elflint.c:2642 +#: src/elflint.c:2646 #, c-format msgid "section [%2d] '%s': cannot get data: %s\n" -msgstr "sekcja [%2d] \"%s\": nie można uzyskać danych: %s\n" +msgstr "sekcja [%2d] „%sâ€: nie można uzyskać danych: %s\n" -#: src/elflint.c:2651 +#: src/elflint.c:2655 #, c-format msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n" msgstr "" -"sekcja [%2d] \"%s\": rozmiar sekcji nie jest wielokrotnoÅ›ciÄ… " +"sekcja [%2d] „%sâ€: rozmiar sekcji nie jest wielokrotnoÅ›ciÄ… " "sizeof(Elf32_Word)\n" -#: src/elflint.c:2656 +#: src/elflint.c:2660 #, c-format msgid "section [%2d] '%s': section group without flags word\n" -msgstr "sekcja [%2d] \"%s\": grupa sekcji bez sÅ‚owa flag\n" +msgstr "sekcja [%2d] „%sâ€: grupa sekcji bez sÅ‚owa flag\n" -#: src/elflint.c:2662 +#: src/elflint.c:2666 #, c-format msgid "section [%2d] '%s': section group without member\n" -msgstr "sekcja [%2d] \"%s\": grupa sekcji bez elementów\n" +msgstr "sekcja [%2d] „%sâ€: grupa sekcji bez elementów\n" -#: src/elflint.c:2666 +#: src/elflint.c:2670 #, c-format msgid "section [%2d] '%s': section group with only one member\n" -msgstr "sekcja [%2d] \"%s\": grupa sekcji z tylko jednym elementem\n" +msgstr "sekcja [%2d] „%sâ€: grupa sekcji z tylko jednym elementem\n" -#: src/elflint.c:2677 +#: src/elflint.c:2681 #, c-format msgid "section [%2d] '%s': unknown section group flags\n" -msgstr "sekcja [%2d] \"%s\": nieznane flagi grupy sekcji\n" +msgstr "sekcja [%2d] „%sâ€: nieznane flagi grupy sekcji\n" -#: src/elflint.c:2689 -#, fuzzy, c-format +#: src/elflint.c:2693 +#, c-format msgid "section [%2d] '%s': section index %zu out of range\n" -msgstr "sekcja [%2d] \"%s\": indeks sekcji %Zu jest spoza zakresu\n" +msgstr "sekcja [%2d] „%sâ€: indeks sekcji %zu jest spoza zakresu\n" -#: src/elflint.c:2698 +#: src/elflint.c:2702 #, c-format msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n" msgstr "" -"sekcja [%2d] \"%s\": nie można uzyskać nagłówka sekcji dla elementu %zu: %s\n" +"sekcja [%2d] „%sâ€: nie można uzyskać nagłówka sekcji dla elementu %zu: %s\n" -#: src/elflint.c:2705 +#: src/elflint.c:2709 #, c-format msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n" -msgstr "sekcja [%2d] \"%s\": grupa sekcji zawiera innÄ… grupÄ™ [%2d] \"%s\"\n" +msgstr "sekcja [%2d] „%sâ€: grupa sekcji zawiera innÄ… grupÄ™ [%2d] „%sâ€\n" -#: src/elflint.c:2711 -#, fuzzy, c-format +#: src/elflint.c:2715 +#, c-format msgid "" "section [%2d] '%s': element %zu references section [%2d] '%s' without " "SHF_GROUP flag set\n" msgstr "" -"sekcja [%2d] \"%s\": element %Zu odwoÅ‚uje siÄ™ do sekcji [%2d] \"%s\" bez " -"flagi SHF_GROUP\n" +"sekcja [%2d] „%sâ€: element %zu odwoÅ‚uje siÄ™ do sekcji [%2d] „%s†bez flagi " +"SHF_GROUP\n" -#: src/elflint.c:2718 +#: src/elflint.c:2722 #, c-format msgid "section [%2d] '%s' is contained in more than one section group\n" -msgstr "sekcja [%2d] \"%s\" jest zawarta w wiÄ™cej niż jednej grupie sekcji\n" +msgstr "sekcja [%2d] „%s†jest zawarta w wiÄ™cej niż jednej grupie sekcji\n" -#: src/elflint.c:2907 +#: src/elflint.c:2912 #, c-format msgid "" "section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no " "dynamic symbol table\n" msgstr "" -"sekcja [%2d] \"%s\" odwoÅ‚uje siÄ™ w sh_link do sekcji [%2d] \"%s\", która nie " +"sekcja [%2d] „%s†odwoÅ‚uje siÄ™ w sh_link do sekcji [%2d] „%sâ€, która nie " "jest tabelÄ… symboli dynamicznych\n" -#: src/elflint.c:2919 +#: src/elflint.c:2924 #, c-format msgid "" "section [%2d] '%s' has different number of entries than symbol table [%2d] " "'%s'\n" msgstr "" -"sekcja [%2d] \"%s\" posiada innÄ… liczbÄ™ wpisów niż tabela symboli [%2d] \"%s" -"\"\n" +"sekcja [%2d] „%s†posiada innÄ… liczbÄ™ wpisów niż tabela symboli [%2d] „%sâ€\n" -#: src/elflint.c:2935 +#: src/elflint.c:2940 #, c-format msgid "section [%2d] '%s': symbol %d: cannot read version data\n" -msgstr "sekcja [%2d] \"%s\": symbol %d: nie można odczytać danych wersji\n" +msgstr "sekcja [%2d] „%sâ€: symbol %d: nie można odczytać danych wersji\n" -#: src/elflint.c:2951 +#: src/elflint.c:2956 #, c-format msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n" -msgstr "sekcja [%2d] \"%s\": symbol %d: symbol lokalny z zakresem globalnym\n" +msgstr "sekcja [%2d] „%sâ€: symbol %d: symbol lokalny z zakresem globalnym\n" -#: src/elflint.c:2959 +#: src/elflint.c:2964 #, c-format msgid "section [%2d] '%s': symbol %d: local symbol with version\n" -msgstr "sekcja [%2d] \"%s\": symbol %d: symbol lokalny z wersjÄ…\n" +msgstr "sekcja [%2d] „%sâ€: symbol %d: symbol lokalny z wersjÄ…\n" -#: src/elflint.c:2973 +#: src/elflint.c:2978 #, c-format msgid "section [%2d] '%s': symbol %d: invalid version index %d\n" -msgstr "sekcja [%2d] \"%s\": symbol %d: nieprawidÅ‚owy indeks wersji %d\n" +msgstr "sekcja [%2d] „%sâ€: symbol %d: nieprawidÅ‚owy indeks wersji %d\n" -#: src/elflint.c:2978 +#: src/elflint.c:2983 #, c-format msgid "" "section [%2d] '%s': symbol %d: version index %d is for defined version\n" msgstr "" -"sekcja [%2d] \"%s\": symbol %d: indeks wersji %d jest dla wersji okreÅ›lonej\n" +"sekcja [%2d] „%sâ€: symbol %d: indeks wersji %d jest dla wersji okreÅ›lonej\n" -#: src/elflint.c:2988 +#: src/elflint.c:2993 #, c-format msgid "" "section [%2d] '%s': symbol %d: version index %d is for requested version\n" msgstr "" -"sekcja [%2d] \"%s\": symbol %d: indeks wersji %d jest dla wersji żądanej\n" +"sekcja [%2d] „%sâ€: symbol %d: indeks wersji %d jest dla wersji żądanej\n" -#: src/elflint.c:3041 +#: src/elflint.c:3046 #, c-format msgid "more than one version reference section present\n" msgstr "obecna jest wiÄ™cej niż jedna sekcja odniesienia wersji\n" -#: src/elflint.c:3049 src/elflint.c:3196 +#: src/elflint.c:3054 src/elflint.c:3201 #, c-format msgid "section [%2d] '%s': sh_link does not link to string table\n" -msgstr "sekcja [%2d] \"%s\": sh_link nie Å‚Ä…czy siÄ™ z tabelÄ… ciÄ…gów\n" +msgstr "sekcja [%2d] „%sâ€: sh_link nie Å‚Ä…czy siÄ™ z tabelÄ… ciÄ…gów\n" -#: src/elflint.c:3074 src/elflint.c:3250 +#: src/elflint.c:3079 src/elflint.c:3255 #, c-format msgid "section [%2d] '%s': entry %d has wrong version %d\n" -msgstr "sekcja [%2d] \"%s\": wpis %d posiada bÅ‚Ä™dnÄ… wersjÄ™ %d\n" +msgstr "sekcja [%2d] „%sâ€: wpis %d posiada bÅ‚Ä™dnÄ… wersjÄ™ %d\n" -#: src/elflint.c:3081 src/elflint.c:3257 +#: src/elflint.c:3086 src/elflint.c:3262 #, c-format msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n" msgstr "" -"sekcja [%2d] \"%s\": wpis %d posiada bÅ‚Ä™dny offset dla danych dodatkowych\n" +"sekcja [%2d] „%sâ€: wpis %d posiada bÅ‚Ä™dny offset dla danych dodatkowych\n" -#: src/elflint.c:3091 +#: src/elflint.c:3096 #, c-format msgid "section [%2d] '%s': entry %d has invalid file reference\n" -msgstr "sekcja [%2d] \"%s\": symbol %d posiada bÅ‚Ä™dne odniesienie do pliku\n" +msgstr "sekcja [%2d] „%sâ€: symbol %d posiada bÅ‚Ä™dne odniesienie do pliku\n" -#: src/elflint.c:3099 +#: src/elflint.c:3104 #, c-format msgid "section [%2d] '%s': entry %d references unknown dependency\n" -msgstr "sekcja [%2d] \"%s\": wpis %d odnosi siÄ™ do nieznanej zależnoÅ›ci\n" +msgstr "sekcja [%2d] „%sâ€: wpis %d odnosi siÄ™ do nieznanej zależnoÅ›ci\n" -#: src/elflint.c:3111 +#: src/elflint.c:3116 #, c-format msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n" msgstr "" -"sekcja [%2d] \"%s\": wpis dodatkowy %d do wpisu %d posiada nieznanÄ… flagÄ™\n" +"sekcja [%2d] „%sâ€: wpis dodatkowy %d do wpisu %d posiada nieznanÄ… flagÄ™\n" -#: src/elflint.c:3119 +#: src/elflint.c:3124 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has invalid name " "reference\n" msgstr "" -"sekcja [%2d] \"%s\": wpis dodatkowy %d do wpisu %d posiada nieprawidÅ‚owe " +"sekcja [%2d] „%sâ€: wpis dodatkowy %d do wpisu %d posiada nieprawidÅ‚owe " "odniesienie do nazwy\n" -#: src/elflint.c:3128 +#: src/elflint.c:3133 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: " "%#x, expected %#x\n" msgstr "" -"sekcja [%2d] \"%s\": wpis dodatkowy %d do wpisu %d posiada bÅ‚Ä™dnÄ… wartość " +"sekcja [%2d] „%sâ€: wpis dodatkowy %d do wpisu %d posiada bÅ‚Ä™dnÄ… wartość " "skrótu: %#x, oczekiwano %#x\n" -#: src/elflint.c:3137 +#: src/elflint.c:3142 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version " "name '%s'\n" msgstr "" -"sekcja [%2d] \"%s\": wpis dodatkowy %d do wpisu %d posiada powtórzonÄ… nazwÄ™ " -"wersji \"%s\"\n" +"sekcja [%2d] „%sâ€: wpis dodatkowy %d do wpisu %d posiada powtórzonÄ… nazwÄ™ " +"wersji „%sâ€\n" -#: src/elflint.c:3148 +#: src/elflint.c:3153 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n" msgstr "" -"sekcja [%2d] \"%s\": wpis dodatkowy %d do wpisu %d posiada bÅ‚Ä™dne nastÄ™pne " +"sekcja [%2d] „%sâ€: wpis dodatkowy %d do wpisu %d posiada bÅ‚Ä™dne nastÄ™pne " "pole\n" -#: src/elflint.c:3165 src/elflint.c:3341 +#: src/elflint.c:3170 src/elflint.c:3346 #, c-format msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n" -msgstr "" -"sekcja [%2d] \"%s\": wpis %d posiada bÅ‚Ä™dny offset do nastÄ™pnego wpisu\n" +msgstr "sekcja [%2d] „%sâ€: wpis %d posiada bÅ‚Ä™dny offset do nastÄ™pnego wpisu\n" -#: src/elflint.c:3173 src/elflint.c:3349 +#: src/elflint.c:3178 src/elflint.c:3354 #, c-format msgid "" "section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says " "there are more entries\n" msgstr "" -"sekcja [%2d] \"%s\": wpis %d posiada zerowy offset do nastÄ™pnego wpisu, ale " +"sekcja [%2d] „%sâ€: wpis %d posiada zerowy offset do nastÄ™pnego wpisu, ale " "sh_info zawiera informacje o wiÄ™cej wpisów\n" -#: src/elflint.c:3188 +#: src/elflint.c:3193 #, c-format msgid "more than one version definition section present\n" msgstr "obecna jest wiÄ™cej niż jedna sekcja definicji wersji\n" -#: src/elflint.c:3235 +#: src/elflint.c:3240 #, c-format msgid "section [%2d] '%s': more than one BASE definition\n" -msgstr "sekcja [%2d] \"%s\": jest wiÄ™cej niż jedna definicja BASE\n" +msgstr "sekcja [%2d] „%sâ€: jest wiÄ™cej niż jedna definicja BASE\n" -#: src/elflint.c:3239 +#: src/elflint.c:3244 #, c-format msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n" msgstr "" -"sekcja [%2d] \"%s\": definicja BASE musi posiadać indeks VER_NDX_GLOBAL\n" +"sekcja [%2d] „%sâ€: definicja BASE musi posiadać indeks VER_NDX_GLOBAL\n" -#: src/elflint.c:3245 +#: src/elflint.c:3250 #, c-format msgid "section [%2d] '%s': entry %d has unknown flag\n" -msgstr "sekcja [%2d] \"%s\": wpis %d posiada nieznanÄ… flagÄ™\n" +msgstr "sekcja [%2d] „%sâ€: wpis %d posiada nieznanÄ… flagÄ™\n" -#: src/elflint.c:3272 +#: src/elflint.c:3277 #, c-format msgid "section [%2d] '%s': entry %d has invalid name reference\n" msgstr "" -"sekcja [%2d] \"%s\": wpis %d posiada nieprawidÅ‚owe odniesienie do nazwy\n" +"sekcja [%2d] „%sâ€: wpis %d posiada nieprawidÅ‚owe odniesienie do nazwy\n" -#: src/elflint.c:3279 +#: src/elflint.c:3284 #, c-format msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n" msgstr "" -"sekcja [%2d] \"%s\": wpis %d posiada bÅ‚Ä™dnÄ… wartość skrótu: %#x, oczekiwano " +"sekcja [%2d] „%sâ€: wpis %d posiada bÅ‚Ä™dnÄ… wartość skrótu: %#x, oczekiwano " "%#x\n" -#: src/elflint.c:3287 +#: src/elflint.c:3292 #, c-format msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n" -msgstr "sekcja [%2d] \"%s\": wpis %d posiada powtórzonÄ… nazwÄ™ wersji \"%s\"\n" +msgstr "sekcja [%2d] „%sâ€: wpis %d posiada powtórzonÄ… nazwÄ™ wersji „%sâ€\n" -#: src/elflint.c:3307 +#: src/elflint.c:3312 #, c-format msgid "" "section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n" msgstr "" -"sekcja [%2d] \"%s\": wpis %d posiada nieprawidÅ‚owe odniesienie do nazwy w " +"sekcja [%2d] „%sâ€: wpis %d posiada nieprawidÅ‚owe odniesienie do nazwy w " "danych dodatkowych\n" -#: src/elflint.c:3324 +#: src/elflint.c:3329 #, c-format msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n" msgstr "" -"sekcja [%2d] \"%s\": wpis %d posiada bÅ‚Ä™dne nastÄ™pne pole w danych " +"sekcja [%2d] „%sâ€: wpis %d posiada bÅ‚Ä™dne nastÄ™pne pole w danych " "dodatkowych\n" -#: src/elflint.c:3357 +#: src/elflint.c:3362 #, c-format msgid "section [%2d] '%s': no BASE definition\n" -msgstr "sekcja [%2d] \"%s\": brak definicji BASE\n" +msgstr "sekcja [%2d] „%sâ€: brak definicji BASE\n" -#: src/elflint.c:3373 +#: src/elflint.c:3378 #, c-format msgid "section [%2d] '%s': unknown parent version '%s'\n" -msgstr "sekcja [%2d] \"%s\": nieznana wersja rodzica \"%s\"\n" +msgstr "sekcja [%2d] „%sâ€: nieznana wersja rodzica „%sâ€\n" -#: src/elflint.c:3386 +#: src/elflint.c:3391 #, c-format msgid "section [%2d] '%s': empty object attributes section\n" -msgstr "sekcja [%2d] \"%s\": pusta sekcja atrybutów obiektu\n" +msgstr "sekcja [%2d] „%sâ€: pusta sekcja atrybutów obiektu\n" -#: src/elflint.c:3407 +#: src/elflint.c:3412 #, c-format msgid "section [%2d] '%s': unrecognized attribute format\n" -msgstr "sekcja [%2d] \"%s\": nierozpoznany format atrybutu\n" +msgstr "sekcja [%2d] „%sâ€: nierozpoznany format atrybutu\n" -#: src/elflint.c:3423 +#: src/elflint.c:3428 #, c-format msgid "" "section [%2d] '%s': offset %zu: zero length field in attribute section\n" msgstr "" -"sekcja [%2d] \"%s\": offset %zu: pole o zerowej dÅ‚ugoÅ›ci w sekcji atrybutów\n" +"sekcja [%2d] „%sâ€: offset %zu: pole o zerowej dÅ‚ugoÅ›ci w sekcji atrybutów\n" -#: src/elflint.c:3432 +#: src/elflint.c:3437 #, c-format msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n" msgstr "" -"sekcja [%2d] \"%s\": offset %zu: nieprawidÅ‚owa dÅ‚ugość w sekcji atrybutów\n" +"sekcja [%2d] „%sâ€: offset %zu: nieprawidÅ‚owa dÅ‚ugość w sekcji atrybutów\n" -#: src/elflint.c:3444 +#: src/elflint.c:3449 #, c-format msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n" -msgstr "sekcja [%2d] \"%s\": offset %zu: niezakoÅ„czony ciÄ…g nazwy producenta\n" +msgstr "sekcja [%2d] „%sâ€: offset %zu: niezakoÅ„czony ciÄ…g nazwy producenta\n" -#: src/elflint.c:3461 +#: src/elflint.c:3466 #, c-format msgid "" "section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n" msgstr "" -"sekcja [%2d] \"%s\": offset %zu: niekoÅ„czÄ…ce siÄ™ ULEB128 w znaczniku " -"podsekcji atrybutów\n" +"sekcja [%2d] „%sâ€: offset %zu: niekoÅ„czÄ…ce siÄ™ ULEB128 w znaczniku podsekcji " +"atrybutów\n" -#: src/elflint.c:3470 +#: src/elflint.c:3475 #, c-format msgid "section [%2d] '%s': offset %zu: truncated attribute section\n" -msgstr "sekcja [%2d] \"%s\": offset %zu: skrócona sekcja atrybutów\n" +msgstr "sekcja [%2d] „%sâ€: offset %zu: skrócona sekcja atrybutów\n" -#: src/elflint.c:3479 +#: src/elflint.c:3484 #, c-format msgid "" "section [%2d] '%s': offset %zu: zero length field in attribute subsection\n" msgstr "" -"sekcja [%2d] \"%s\": offset %zu: zerowej dÅ‚ugoÅ›ci pole w podsekcji " -"atrybutów\n" +"sekcja [%2d] „%sâ€: offset %zu: zerowej dÅ‚ugoÅ›ci pole w podsekcji atrybutów\n" -#: src/elflint.c:3494 +#: src/elflint.c:3499 #, c-format msgid "" "section [%2d] '%s': offset %zu: invalid length in attribute subsection\n" msgstr "" -"sekcja [%2d] \"%s\": offset %zu: nieprawidÅ‚owa dÅ‚ugość w podsekcji " -"atrybutów\n" +"sekcja [%2d] „%sâ€: offset %zu: nieprawidÅ‚owa dÅ‚ugość w podsekcji atrybutów\n" -#: src/elflint.c:3505 +#: src/elflint.c:3510 #, c-format msgid "" "section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n" msgstr "" -"sekcja [%2d] \"%s\": offset %zu: podsekcja atrybutów posiada nieoczekiwany " +"sekcja [%2d] „%sâ€: offset %zu: podsekcja atrybutów posiada nieoczekiwany " "znacznik %u\n" -#: src/elflint.c:3523 +#: src/elflint.c:3528 #, c-format msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n" msgstr "" -"sekcja [%2d] \"%s\": offset %zu: niekoÅ„czÄ…ce siÄ™ ULEB128 w znaczniku " -"atrybutu\n" +"sekcja [%2d] „%sâ€: offset %zu: niekoÅ„czÄ…ce siÄ™ ULEB128 w znaczniku atrybutu\n" -#: src/elflint.c:3534 +#: src/elflint.c:3539 #, c-format msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n" -msgstr "sekcja [%2d] \"%s\": offset %zu: niezakoÅ„czony ciÄ…g w atrybucie\n" +msgstr "sekcja [%2d] „%sâ€: offset %zu: niezakoÅ„czony ciÄ…g w atrybucie\n" -#: src/elflint.c:3547 +#: src/elflint.c:3552 #, c-format msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n" -msgstr "sekcja [%2d] \"%s\": offset %zu: nierozpoznany znacznik atrybutu %u\n" +msgstr "sekcja [%2d] „%sâ€: offset %zu: nierozpoznany znacznik atrybutu %u\n" -#: src/elflint.c:3551 +#: src/elflint.c:3556 #, c-format msgid "" "section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n" msgstr "" -"sekcja [%2d] \"%s\": offset %zu: atrybut %s posiada nierozpoznanÄ… wartość " +"sekcja [%2d] „%sâ€: offset %zu: atrybut %s posiada nierozpoznanÄ… wartość " "%<PRIu64>\n" -#: src/elflint.c:3561 +#: src/elflint.c:3566 #, c-format msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n" -msgstr "sekcja [%2d] \"%s\": offset %zu: producent \"%s\" jest nieznany\n" +msgstr "sekcja [%2d] „%sâ€: offset %zu: producent „%s†jest nieznany\n" -#: src/elflint.c:3567 +#: src/elflint.c:3572 #, c-format msgid "" "section [%2d] '%s': offset %zu: extra bytes after last attribute section\n" msgstr "" -"sekcja [%2d] \"%s\": offset %zu: dodatkowe bajty po ostatniej sekcji " +"sekcja [%2d] „%sâ€: offset %zu: dodatkowe bajty po ostatniej sekcji " "atrybutów\n" -#: src/elflint.c:3656 +#: src/elflint.c:3661 #, c-format msgid "cannot get section header of zeroth section\n" msgstr "nie można uzyskać nagłówka sekcji zerowej\n" -#: src/elflint.c:3660 +#: src/elflint.c:3665 #, c-format msgid "zeroth section has nonzero name\n" msgstr "sekcja zerowa posiada niezerowÄ… nazwÄ™\n" -#: src/elflint.c:3662 +#: src/elflint.c:3667 #, c-format msgid "zeroth section has nonzero type\n" msgstr "sekcja zerowa posiada niezerowy typ\n" -#: src/elflint.c:3664 +#: src/elflint.c:3669 #, c-format msgid "zeroth section has nonzero flags\n" msgstr "sekcja zerowa posiada niezerowe flagi\n" -#: src/elflint.c:3666 +#: src/elflint.c:3671 #, c-format msgid "zeroth section has nonzero address\n" msgstr "sekcja zerowa posiada niezerowy adres\n" -#: src/elflint.c:3668 +#: src/elflint.c:3673 #, c-format msgid "zeroth section has nonzero offset\n" msgstr "sekcja zerowa posiada niezerowy offset\n" -#: src/elflint.c:3670 +#: src/elflint.c:3675 #, c-format msgid "zeroth section has nonzero align value\n" msgstr "sekcja zerowa posiada niezerowÄ… wartość wyrównania\n" -#: src/elflint.c:3672 +#: src/elflint.c:3677 #, c-format msgid "zeroth section has nonzero entry size value\n" msgstr "sekcja zerowa posiada niezerowÄ… wartość rozmiaru wpisu\n" -#: src/elflint.c:3675 +#: src/elflint.c:3680 #, c-format msgid "" "zeroth section has nonzero size value while ELF header has nonzero shnum " @@ -2761,7 +2778,7 @@ msgstr "" "sekcja zerowa posiada niezerowÄ… wartość rozmiaru, a nagłówek ELF posiada " "niezerowÄ… wartość shnum\n" -#: src/elflint.c:3679 +#: src/elflint.c:3684 #, c-format msgid "" "zeroth section has nonzero link value while ELF header does not signal " @@ -2770,7 +2787,7 @@ msgstr "" "sekcja zerowa posiada niezerowÄ… wartość dowiÄ…zaÅ„, a nagłówek ELF nie " "wskazuje przepeÅ‚nienia w shstrndx\n" -#: src/elflint.c:3683 +#: src/elflint.c:3688 #, c-format msgid "" "zeroth section has nonzero link value while ELF header does not signal " @@ -2779,224 +2796,236 @@ msgstr "" "sekcja zerowa posiada niezerowÄ… wartość dowiÄ…zaÅ„, a nagłówek ELF nie " "wskazuje przepeÅ‚nienia w phnum\n" -#: src/elflint.c:3700 +#: src/elflint.c:3706 #, c-format msgid "cannot get section header for section [%2zu] '%s': %s\n" -msgstr "nie można uzyskać nagłówka sekcji dla sekcji [%2zu] \"%s\": %s\n" +msgstr "nie można uzyskać nagłówka sekcji dla sekcji [%2zu] „%sâ€: %s\n" -#: src/elflint.c:3709 +#: src/elflint.c:3715 #, c-format msgid "section [%2zu]: invalid name\n" msgstr "sekcja [%2zu]: nieprawidÅ‚owa nazwa\n" -#: src/elflint.c:3736 +#: src/elflint.c:3742 #, c-format msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n" -msgstr "sekcja [%2d] \"%s\" posiada bÅ‚Ä™dny typ: oczekiwano %s, jest %s\n" +msgstr "sekcja [%2d] „%s†posiada bÅ‚Ä™dny typ: oczekiwano %s, jest %s\n" -#: src/elflint.c:3752 +#: src/elflint.c:3760 #, c-format msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n" -msgstr "sekcja [%2zu] \"%s\" posiada bÅ‚Ä™dne flagi: oczekiwano %s, jest %s\n" +msgstr "sekcja [%2zu] „%s†posiada bÅ‚Ä™dne flagi: oczekiwano %s, jest %s\n" -#: src/elflint.c:3769 +#: src/elflint.c:3778 #, c-format msgid "" "section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n" msgstr "" -"sekcja [%2zu] \"%s\" posiada bÅ‚Ä™dne flagi: oczekiwano %s i być może %s, jest " +"sekcja [%2zu] „%s†posiada bÅ‚Ä™dne flagi: oczekiwano %s i być może %s, jest " "%s\n" -#: src/elflint.c:3787 +#: src/elflint.c:3796 #, c-format msgid "section [%2zu] '%s' present in object file\n" -msgstr "sekcja [%2zu] \"%s\" jest obecna w pliku obiektu\n" +msgstr "sekcja [%2zu] „%s†jest obecna w pliku obiektu\n" -#: src/elflint.c:3793 src/elflint.c:3825 +#: src/elflint.c:3802 src/elflint.c:3834 #, c-format msgid "" "section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n" msgstr "" -"sekcja [%2zu] \"%s\" posiada flagÄ™ SHF_ALLOC, ale nie posiada segmentu " +"sekcja [%2zu] „%s†posiada flagÄ™ SHF_ALLOC, ale nie posiada segmentu " "wczytywalnego\n" -#: src/elflint.c:3798 src/elflint.c:3830 +#: src/elflint.c:3807 src/elflint.c:3839 #, c-format msgid "" "section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable " "segments\n" msgstr "" -"sekcja [%2zu] \"%s\" nie posiada flagi SHF_ALLOC, ale sÄ… segmenty " -"wczytywalne\n" +"sekcja [%2zu] „%s†nie posiada flagi SHF_ALLOC, ale sÄ… segmenty wczytywalne\n" -#: src/elflint.c:3806 +#: src/elflint.c:3815 #, c-format msgid "" "section [%2zu] '%s' is extension section index table in non-object file\n" msgstr "" -"sekcja [%2zu] \"%s\" jest tabelÄ… indeksów sekcji rozszerzeÅ„ w pliku " +"sekcja [%2zu] „%s†jest tabelÄ… indeksów sekcji rozszerzeÅ„ w pliku " "nieobiektowym\n" -#: src/elflint.c:3849 +#: src/elflint.c:3858 #, c-format msgid "section [%2zu] '%s': size not multiple of entry size\n" -msgstr "" -"sekcja [%2zu] \"%s\": rozmiar nie jest wielokrotnoÅ›ciÄ… rozmiaru wpisu\n" +msgstr "sekcja [%2zu] „%sâ€: rozmiar nie jest wielokrotnoÅ›ciÄ… rozmiaru wpisu\n" -#: src/elflint.c:3854 +#: src/elflint.c:3863 #, c-format msgid "cannot get section header\n" msgstr "nie można uzyskać nagłówka sekcji\n" -#: src/elflint.c:3864 +#: src/elflint.c:3873 #, c-format msgid "section [%2zu] '%s' has unsupported type %d\n" -msgstr "sekcja [%2zu] \"%s\" posiada nieobsÅ‚ugiwany typ %d\n" +msgstr "sekcja [%2zu] „%s†posiada nieobsÅ‚ugiwany typ %d\n" -#: src/elflint.c:3878 +#: src/elflint.c:3888 #, c-format msgid "" "section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n" msgstr "" -"sekcja [%2zu] \"%s\" zawiera nieprawidÅ‚owe flagi specyficzne dla procesora " +"sekcja [%2zu] „%s†zawiera nieprawidÅ‚owe flagi specyficzne dla procesora " "%#<PRIx64>\n" -#: src/elflint.c:3885 +#: src/elflint.c:3895 #, c-format msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n" -msgstr "sekcja [%2zu] \"%s\" zawiera nieznane flagi %#<PRIx64>\n" +msgstr "sekcja [%2zu] „%s†zawiera nieznane flagi %#<PRIx64>\n" -#: src/elflint.c:3893 +#: src/elflint.c:3903 #, c-format msgid "section [%2zu] '%s': thread-local data sections address not zero\n" msgstr "" -"sekcja [%2zu] \"%s\": adres sekcji danych lokalnych dla wÄ…tków nie jest " -"zerem\n" +"sekcja [%2zu] „%sâ€: adres sekcji danych lokalnych dla wÄ…tków nie jest zerem\n" -#: src/elflint.c:3901 +#: src/elflint.c:3913 +#, c-format +msgid "section [%2zu] '%s': allocated section cannot be compressed\n" +msgstr "sekcja [%2zu] „%sâ€: nie można skompresować przydzielonej sekcji\n" + +#: src/elflint.c:3918 +#, c-format +msgid "section [%2zu] '%s': nobits section cannot be compressed\n" +msgstr "sekcja [%2zu] „%sâ€: nie można skompresować sekcji „nobitsâ€\n" + +#: src/elflint.c:3924 +#, c-format +msgid "" +"section [%2zu] '%s': compressed section with no compression header: %s\n" +msgstr "sekcja [%2zu] „%sâ€: skompresowana sekcja bez nagłówka kompresji: %s\n" + +#: src/elflint.c:3930 #, c-format msgid "section [%2zu] '%s': invalid section reference in link value\n" msgstr "" -"sekcja [%2zu] \"%s\": nieprawidÅ‚owe odwoÅ‚anie do sekcji w wartoÅ›ci " -"dowiÄ…zania\n" +"sekcja [%2zu] „%sâ€: nieprawidÅ‚owe odwoÅ‚anie do sekcji w wartoÅ›ci dowiÄ…zania\n" -#: src/elflint.c:3906 +#: src/elflint.c:3935 #, c-format msgid "section [%2zu] '%s': invalid section reference in info value\n" msgstr "" -"sekcja [%2zu] \"%s\": nieprawidÅ‚owe odwoÅ‚anie do sekcji w wartoÅ›ci " +"sekcja [%2zu] „%sâ€: nieprawidÅ‚owe odwoÅ‚anie do sekcji w wartoÅ›ci " "informacyjnej\n" -#: src/elflint.c:3913 +#: src/elflint.c:3942 #, c-format msgid "section [%2zu] '%s': strings flag set without merge flag\n" -msgstr "sekcja [%2zu] \"%s\": flaga ciÄ…gów jest ustawiona bez flagi merge\n" +msgstr "sekcja [%2zu] „%sâ€: flaga ciÄ…gów jest ustawiona bez flagi merge\n" -#: src/elflint.c:3918 +#: src/elflint.c:3947 #, c-format msgid "section [%2zu] '%s': merge flag set but entry size is zero\n" msgstr "" -"sekcja [%2zu] \"%s\": flaga merge jest ustawiona, ale rozmiar wpisu jest " +"sekcja [%2zu] „%sâ€: flaga merge jest ustawiona, ale rozmiar wpisu jest " "zerowy\n" -#: src/elflint.c:3936 +#: src/elflint.c:3965 #, c-format msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n" msgstr "" -"sekcja [%2zu] \"%s\" posiada nieoczekiwany typ %d dla sekcji wykonywalnej\n" +"sekcja [%2zu] „%s†posiada nieoczekiwany typ %d dla sekcji wykonywalnej\n" -#: src/elflint.c:3945 -#, fuzzy, c-format +#: src/elflint.c:3974 +#, c-format msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n" -msgstr "sekcja [%2zu] \"%s\" nie może być zapisywalna\n" +msgstr "sekcja [%2zu] „%s†musi być typu NOBITS w plikach debuginfo\n" -#: src/elflint.c:3952 +#: src/elflint.c:3981 #, c-format msgid "section [%2zu] '%s' is both executable and writable\n" -msgstr "sekcja [%2zu] \"%s\" jest wykonywalne i zapisywalne\n" +msgstr "sekcja [%2zu] „%s†jest wykonywalne i zapisywalne\n" -#: src/elflint.c:3982 +#: src/elflint.c:4012 #, c-format msgid "" "section [%2zu] '%s' not fully contained in segment of program header entry " "%d\n" msgstr "" -"sekcja [%2zu] \"%s\" nie jest w caÅ‚oÅ›ci zawarta w segmencie wpisu %d " -"nagłówka programu\n" +"sekcja [%2zu] „%s†nie jest w caÅ‚oÅ›ci zawarta w segmencie wpisu %d nagłówka " +"programu\n" -#: src/elflint.c:3992 +#: src/elflint.c:4022 #, c-format msgid "" "section [%2zu] '%s' has type NOBITS but is read from the file in segment of " "program header entry %d\n" msgstr "" -"sekcja [%2zu] \"%s\" posiada typ NOBITS, a jest odczytywana z pliku w " +"sekcja [%2zu] „%s†posiada typ NOBITS, a jest odczytywana z pliku w " "segmencie wpisu %d nagłówka programu\n" -#: src/elflint.c:4018 -#, fuzzy, c-format +#: src/elflint.c:4048 +#, c-format msgid "" "section [%2zu] '%s' has type NOBITS but is read from the file in segment of " "program header entry %d and file contents is non-zero\n" msgstr "" -"sekcja [%2zu] \"%s\" posiada typ NOBITS, a jest odczytywana z pliku w " -"segmencie wpisu %d nagłówka programu\n" +"sekcja [%2zu] „%s†posiada typ NOBITS, ale jest odczytywana z pliku w " +"segmencie wpisu %d nagłówka programu, a zawartość pliku jest niezerowa\n" -#: src/elflint.c:4029 +#: src/elflint.c:4059 #, c-format msgid "" "section [%2zu] '%s' has not type NOBITS but is not read from the file in " "segment of program header entry %d\n" msgstr "" -"sekcja [%2zu] \"%s\" nie posiada typu NOBITS, a nie jest odczytywana z pliku " -"w segmencie wpisu %d nagłówka programu\n" +"sekcja [%2zu] „%s†nie posiada typu NOBITS, a nie jest odczytywana z pliku w " +"segmencie wpisu %d nagłówka programu\n" -#: src/elflint.c:4040 +#: src/elflint.c:4070 #, c-format msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n" -msgstr "sekcja [%2zu] \"%s\" jest wykonywalne w segmencie niewykonywalnym %d\n" +msgstr "sekcja [%2zu] „%s†jest wykonywalne w segmencie niewykonywalnym %d\n" -#: src/elflint.c:4050 +#: src/elflint.c:4080 #, c-format msgid "section [%2zu] '%s' is writable in unwritable segment %d\n" -msgstr "sekcja [%2zu] \"%s\" jest zapisywalne w niezapisywalnym segmencie %d\n" +msgstr "sekcja [%2zu] „%s†jest zapisywalne w niezapisywalnym segmencie %d\n" -#: src/elflint.c:4060 +#: src/elflint.c:4090 #, c-format msgid "" "section [%2zu] '%s': alloc flag set but section not in any loaded segment\n" msgstr "" -"sekcja [%2zu] \"%s\": posiada flagÄ™ alloc, ale sekcja nie jest w żadnym " +"sekcja [%2zu] „%sâ€: posiada flagÄ™ alloc, ale sekcja nie jest w żadnym " "segmencie wczytywalnym\n" -#: src/elflint.c:4066 +#: src/elflint.c:4096 #, c-format msgid "" "section [%2zu] '%s': ELF header says this is the section header string table " "but type is not SHT_TYPE\n" msgstr "" -"sekcja [%2zu] \"%s\": wedÅ‚ug nagłówka ELF to jest tabela ciÄ…gów nagłówków " +"sekcja [%2zu] „%sâ€: wedÅ‚ug nagłówka ELF to jest tabela ciÄ…gów nagłówków " "sekcji, ale typ nie jest SHT_TYPE\n" -#: src/elflint.c:4074 +#: src/elflint.c:4104 #, c-format msgid "" "section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n" msgstr "" -"sekcja [%2zu] \"%s\": pliki relokowalne nie mogÄ… posiadać tabeli symboli " +"sekcja [%2zu] „%sâ€: pliki relokowalne nie mogÄ… posiadać tabeli symboli " "dynamicznych\n" -#: src/elflint.c:4125 +#: src/elflint.c:4155 #, c-format msgid "more than one version symbol table present\n" msgstr "obecna jest wiÄ™cej niż jedna tabela symboli wersji\n" -#: src/elflint.c:4148 +#: src/elflint.c:4178 #, c-format msgid "INTERP program header entry but no .interp section\n" msgstr "jest wpis nagłówka programu INTERP, ale nie posiada sekcji .interp\n" -#: src/elflint.c:4159 +#: src/elflint.c:4189 #, c-format msgid "" "loadable segment [%u] is executable but contains no executable sections\n" @@ -3004,14 +3033,14 @@ msgstr "" "wczytywalny segment [%u] jest wykonywalny, ale nie zawiera wykonywalnych " "sekcji\n" -#: src/elflint.c:4165 +#: src/elflint.c:4195 #, c-format msgid "loadable segment [%u] is writable but contains no writable sections\n" msgstr "" "wczytywalny segment [%u] jest zapisywalny, ale nie zawiera zapisywalnych " "sekcji\n" -#: src/elflint.c:4176 +#: src/elflint.c:4206 #, c-format msgid "" "no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section " @@ -3020,75 +3049,75 @@ msgstr "" "brak sekcji .gnu.versym, ale istnieje sekcja .gnu.versym_d lub .gnu." "versym_r\n" -#: src/elflint.c:4189 +#: src/elflint.c:4219 #, c-format msgid "duplicate version index %d\n" msgstr "powtórzony indeks wersji %d\n" -#: src/elflint.c:4203 +#: src/elflint.c:4233 #, c-format msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n" msgstr "sekcja .gnu.versym istnieje bez .gnu.versym_d lub .gnu.versym_r\n" -#: src/elflint.c:4252 +#: src/elflint.c:4282 #, c-format msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n" msgstr "" "phdr[%d]: nieznany typ notatki pliku core %<PRIu32> pod offsetem %<PRIu64>\n" -#: src/elflint.c:4256 -#, fuzzy, c-format +#: src/elflint.c:4286 +#, c-format msgid "" "section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n" msgstr "" -"phdr[%2d]: \"%s\": nieznany typ notatki pliku core %<PRIu32> pod offsetem " -"%Zu\n" +"sekcja [%2d]: „%sâ€: nieznany typ notatki pliku core %<PRIu32> pod offsetem " +"%zu\n" -#: src/elflint.c:4279 -#, fuzzy, c-format +#: src/elflint.c:4309 +#, c-format msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %zu\n" msgstr "" -"phdr[%d]: nieznany typ notatki pliku obiektu %<PRIu32> pod offsetem %Zu\n" +"phdr[%d]: nieznany typ notatki pliku obiektu %<PRIu32> pod offsetem %zu\n" -#: src/elflint.c:4283 -#, fuzzy, c-format +#: src/elflint.c:4313 +#, c-format msgid "" "section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n" msgstr "" -"sekcja [%2d] \"%s\": nieznany typ notatki pliku obiektu %<PRIu32> pod " -"offsetem %Zu\n" +"sekcja [%2d] „%sâ€: nieznany typ notatki pliku obiektu %<PRIu32> pod offsetem " +"%zu\n" -#: src/elflint.c:4300 +#: src/elflint.c:4330 #, c-format msgid "phdr[%d]: no note entries defined for the type of file\n" msgstr "phdr[%d]: brak okreÅ›lonych wpisów notatek dla typu pliku\n" -#: src/elflint.c:4319 +#: src/elflint.c:4349 #, c-format msgid "phdr[%d]: cannot get content of note section: %s\n" msgstr "phdr[%d]: nie można uzyskać zawartoÅ›ci sekcji notatki: %s\n" -#: src/elflint.c:4322 +#: src/elflint.c:4352 #, c-format msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n" msgstr "phdr[%d]: dodatkowe %<PRIu64> bajtów po ostatniej notatce\n" -#: src/elflint.c:4343 +#: src/elflint.c:4373 #, c-format msgid "section [%2d] '%s': no note entries defined for the type of file\n" -msgstr "sekcja [%2d] \"%s\": brak okreÅ›lonych wpisów notatek dla typu pliku\n" +msgstr "sekcja [%2d] „%sâ€: brak okreÅ›lonych wpisów notatek dla typu pliku\n" -#: src/elflint.c:4350 +#: src/elflint.c:4380 #, c-format msgid "section [%2d] '%s': cannot get content of note section\n" -msgstr "sekcja [%2d] \"%s\": nie można uzyskać zawartoÅ›ci sekcji notatek\n" +msgstr "sekcja [%2d] „%sâ€: nie można uzyskać zawartoÅ›ci sekcji notatek\n" -#: src/elflint.c:4353 +#: src/elflint.c:4383 #, c-format msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n" -msgstr "sekcja [%2d] \"%s\": dodatkowe %<PRIu64> bajtów po ostatniej notatce\n" +msgstr "sekcja [%2d] „%sâ€: dodatkowe %<PRIu64> bajtów po ostatniej notatce\n" -#: src/elflint.c:4371 +#: src/elflint.c:4401 #, c-format msgid "" "only executables, shared objects, and core files can have program headers\n" @@ -3096,135 +3125,136 @@ msgstr "" "tylko pliki wykonywalne, obiekty współdzielone i pliki core mogÄ… posiadać " "nagłówki programu\n" -#: src/elflint.c:4386 +#: src/elflint.c:4416 #, c-format msgid "cannot get program header entry %d: %s\n" msgstr "nie można uzyskać wpisu nagłówka programu %d: %s\n" -#: src/elflint.c:4395 +#: src/elflint.c:4425 #, c-format msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n" msgstr "" "wpis nagłówka programu %d: nieznany typ wpisu nagłówka programu %#<PRIx64>\n" -#: src/elflint.c:4406 +#: src/elflint.c:4436 #, c-format msgid "more than one INTERP entry in program header\n" msgstr "wiÄ™cej niż jeden wpis INTERP w nagłówku programu\n" -#: src/elflint.c:4414 +#: src/elflint.c:4444 #, c-format msgid "more than one TLS entry in program header\n" msgstr "wiÄ™cej niż jeden wpis TLS w nagłówku programu\n" -#: src/elflint.c:4421 +#: src/elflint.c:4451 #, c-format msgid "static executable cannot have dynamic sections\n" msgstr "statyczny plik wykonywalny nie może posiadać sekcji dynamicznych\n" -#: src/elflint.c:4435 +#: src/elflint.c:4465 #, c-format msgid "dynamic section reference in program header has wrong offset\n" msgstr "" "odniesienie sekcji dynamicznej w nagłówku programu posiada bÅ‚Ä™dny offset\n" -#: src/elflint.c:4438 +#: src/elflint.c:4468 #, c-format msgid "dynamic section size mismatch in program and section header\n" msgstr "różne rozmiary sekcji dynamicznej w nagłówku programu i sekcji\n" -#: src/elflint.c:4448 +#: src/elflint.c:4478 #, c-format msgid "more than one GNU_RELRO entry in program header\n" msgstr "wiÄ™cej niż jeden wpis GNU_RELRO w nagłówku programu\n" -#: src/elflint.c:4469 +#: src/elflint.c:4499 #, c-format msgid "loadable segment GNU_RELRO applies to is not writable\n" msgstr "wczytywalny segment wskazywany przez GNU_RELRO nie jest zapisywalny\n" -#: src/elflint.c:4480 +#: src/elflint.c:4510 #, c-format msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n" msgstr "flagi wczytywalnego segmentu [%u] nie pasujÄ… do flag GNU_RELRO [%u]\n" -#: src/elflint.c:4487 +#: src/elflint.c:4517 #, c-format msgid "" "GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n" msgstr "" +"flagi GNU_RELRO [%u] nie sÄ… podzbiorem flag wczytywalnego segmentu [%u]\n" -#: src/elflint.c:4496 src/elflint.c:4519 +#: src/elflint.c:4526 src/elflint.c:4549 #, c-format msgid "%s segment not contained in a loaded segment\n" msgstr "segment %s nie zawiera siÄ™ we wczytywalnym segmencie\n" -#: src/elflint.c:4525 +#: src/elflint.c:4555 #, c-format msgid "program header offset in ELF header and PHDR entry do not match" msgstr "" "offsety nagłówka programu w nagłówku ELF i wpisie PHDR nie zgadzajÄ… siÄ™" -#: src/elflint.c:4550 +#: src/elflint.c:4580 #, c-format msgid "call frame search table reference in program header has wrong offset\n" msgstr "" "odniesienie tabeli wyszukiwania ramki wywoÅ‚ania w nagłówku programu posiada " "bÅ‚Ä™dny offset\n" -#: src/elflint.c:4553 +#: src/elflint.c:4583 #, c-format msgid "call frame search table size mismatch in program and section header\n" msgstr "" "różne rozmiary tabel wyszukiwania ramki wywoÅ‚ania w nagłówku programu i " "sekcji\n" -#: src/elflint.c:4566 +#: src/elflint.c:4596 #, c-format msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n" msgstr "PT_GNU_EH_FRAME jest obecne, ale brak sekcji .eh_frame_hdr\n" -#: src/elflint.c:4574 +#: src/elflint.c:4604 #, c-format msgid "call frame search table must be allocated\n" msgstr "tabela wyszukiwania ramki wywoÅ‚ania musi być przydzielona\n" -#: src/elflint.c:4577 +#: src/elflint.c:4607 #, c-format msgid "section [%2zu] '%s' must be allocated\n" -msgstr "sekcja [%2zu] \"%s\": musi być przydzielona\n" +msgstr "sekcja [%2zu] „%sâ€: musi być przydzielona\n" -#: src/elflint.c:4581 +#: src/elflint.c:4611 #, c-format msgid "call frame search table must not be writable\n" msgstr "tabela wyszukiwania ramki wywoÅ‚ania nie może być zapisywalna\n" -#: src/elflint.c:4584 +#: src/elflint.c:4614 #, c-format msgid "section [%2zu] '%s' must not be writable\n" -msgstr "sekcja [%2zu] \"%s\" nie może być zapisywalna\n" +msgstr "sekcja [%2zu] „%s†nie może być zapisywalna\n" -#: src/elflint.c:4589 +#: src/elflint.c:4619 #, c-format msgid "call frame search table must not be executable\n" msgstr "tabela wyszukiwania ramki wywoÅ‚ania nie może być wykonywalna\n" -#: src/elflint.c:4592 +#: src/elflint.c:4622 #, c-format msgid "section [%2zu] '%s' must not be executable\n" -msgstr "sekcja [%2zu] \"%s\" nie może być wykonywalna\n" +msgstr "sekcja [%2zu] „%s†nie może być wykonywalna\n" -#: src/elflint.c:4603 +#: src/elflint.c:4633 #, c-format msgid "program header entry %d: file size greater than memory size\n" msgstr "wpis nagłówka programu %d: rozmiar pliku wiÄ™kszy niż rozmiar pamiÄ™ci\n" -#: src/elflint.c:4610 +#: src/elflint.c:4640 #, c-format msgid "program header entry %d: alignment not a power of 2\n" msgstr "wpis nagłówka programu %d: wyrównanie nie jest potÄ™gÄ… 2\n" -#: src/elflint.c:4613 +#: src/elflint.c:4643 #, c-format msgid "" "program header entry %d: file offset and virtual address not module of " @@ -3233,7 +3263,7 @@ msgstr "" "wpis nagłówka programu %d: offset w pliku i adres wirtualny nie sÄ… " "wielokrotnoÅ›ciÄ… wyrównania\n" -#: src/elflint.c:4626 +#: src/elflint.c:4656 #, c-format msgid "" "executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME " @@ -3242,12 +3272,12 @@ msgstr "" "plik wykonywalny/DSO z sekcjÄ… .eh_frame_hdr nie posiada wpisu nagłówka " "programu PT_GNU_EH_FRAME" -#: src/elflint.c:4660 +#: src/elflint.c:4690 #, c-format msgid "cannot read ELF header: %s\n" msgstr "nie można odczytać nagłówka ELF: %s\n" -#: src/elflint.c:4686 +#: src/elflint.c:4716 #, c-format msgid "text relocation flag set but not needed\n" msgstr "flaga relokacji tekstu jest ustawiona, ale niepotrzebna\n" @@ -3268,20 +3298,20 @@ msgstr "Używa ÅšCIEÅ»KI jako korzenia dla hierarchii debuginfo" msgid "Locate source of text relocations in FILEs (a.out by default)." msgstr "Odnajduje źródÅ‚o relokacji tekstu w PLIKACH (domyÅ›lnie a.out)." -#: src/findtextrel.c:76 src/nm.c:107 src/objdump.c:71 src/size.c:83 +#: src/findtextrel.c:76 src/nm.c:108 src/objdump.c:71 src/size.c:83 #: src/strings.c:88 src/strip.c:95 msgid "[FILE...]" -msgstr "[PLIK...]" +msgstr "[PLIK…]" #: src/findtextrel.c:238 #, c-format msgid "cannot get ELF header '%s': %s" -msgstr "nie można uzyskać nagłówka ELF \"%s\": %s" +msgstr "nie można uzyskać nagłówka ELF „%sâ€: %s" #: src/findtextrel.c:249 #, c-format msgid "'%s' is not a DSO or PIE" -msgstr "\"%s\" nie jest DSO ani PIE" +msgstr "„%s†nie jest DSO ani PIE" #: src/findtextrel.c:269 #, c-format @@ -3296,7 +3326,7 @@ msgstr "nie można odczytać sekcji dynamicznej: %s" #: src/findtextrel.c:313 #, c-format msgid "no text relocations reported in '%s'" -msgstr "brak relokacji tekstu w \"%s\"" +msgstr "brak relokacji tekstu w „%sâ€" #: src/findtextrel.c:325 #, c-format @@ -3316,12 +3346,12 @@ msgstr "nie można uzyskać indeksu nagłówka programu pod offsetem %zd: %s" #: src/findtextrel.c:421 #, c-format msgid "cannot get symbol table section %zu in '%s': %s" -msgstr "nie można uzyskać sekcji tabeli symboli %zu w \"%s\": %s" +msgstr "nie można uzyskać sekcji tabeli symboli %zu w „%sâ€: %s" #: src/findtextrel.c:441 src/findtextrel.c:464 #, c-format msgid "cannot get relocation at index %d in section %zu in '%s': %s" -msgstr "nie można uzyskać relokacji pod indeksem %d w sekcji %zu w \"%s\": %s" +msgstr "nie można uzyskać relokacji pod indeksem %d w sekcji %zu w „%sâ€: %s" #: src/findtextrel.c:530 #, c-format @@ -3332,8 +3362,7 @@ msgstr "%s nie zostaÅ‚ skompilowany z -fpic/-fPIC\n" #, c-format msgid "" "the file containing the function '%s' is not compiled with -fpic/-fPIC\n" -msgstr "" -"plik zawierajÄ…cy funkcjÄ™ \"%s\" nie zostaÅ‚ skompilowany z -fpic/-fPIC\n" +msgstr "plik zawierajÄ…cy funkcjÄ™ „%s†nie zostaÅ‚ skompilowany z -fpic/-fPIC\n" #: src/findtextrel.c:590 src/findtextrel.c:610 #, c-format @@ -3341,7 +3370,7 @@ msgid "" "the file containing the function '%s' might not be compiled with -fpic/-" "fPIC\n" msgstr "" -"plik zawierajÄ…cy funkcjÄ™ \"%s\" mógÅ‚ nie zostać skompilowany z -fpic/-fPIC\n" +"plik zawierajÄ…cy funkcjÄ™ „%s†mógÅ‚ nie zostać skompilowany z -fpic/-fPIC\n" #: src/findtextrel.c:598 #, c-format @@ -3349,8 +3378,8 @@ msgid "" "either the file containing the function '%s' or the file containing the " "function '%s' is not compiled with -fpic/-fPIC\n" msgstr "" -"plik zawierajÄ…cy funkcjÄ™ \"%s\" lub plik zawierajÄ…cy funkcjÄ™ \"%s\" nie " -"zostaÅ‚ skompilowany z -fpic/-fPIC\n" +"plik zawierajÄ…cy funkcjÄ™ „%s†lub plik zawierajÄ…cy funkcjÄ™ „%s†nie zostaÅ‚ " +"skompilowany z -fpic/-fPIC\n" #: src/findtextrel.c:618 #, c-format @@ -3487,7 +3516,7 @@ msgstr "WÅ‚Ä…cza/wyÅ‚Ä…cza flagi leniwego wczytywania dla nastÄ™pnych zależnoÅ› #: src/ld.c:124 msgid "Mark object as not loadable with 'dlopen'." -msgstr "Oznacza obiekt jako niewczytywalnego przez \"dlopen\"." +msgstr "Oznacza obiekt jako niewczytywalnego przez „dlopenâ€." #: src/ld.c:126 msgid "Ignore/record dependencies on unused DSOs." @@ -3628,7 +3657,7 @@ msgstr "ÅÄ…czy pliki obiektów i archiwów." #: src/ld.c:191 msgid "[FILE]..." -msgstr "[PLIK]..." +msgstr "[PLIK]…" #: src/ld.c:319 #, c-format @@ -3643,7 +3672,7 @@ msgstr "bÅ‚Ä…d podczas przygotowywania konsolidowania" #: src/ld.c:342 #, c-format msgid "cannot open linker script '%s'" -msgstr "nie można otworzyć skryptu konsolidatora \"%s\"" +msgstr "nie można otworzyć skryptu konsolidatora „%sâ€" #: src/ld.c:383 #, c-format @@ -3658,27 +3687,27 @@ msgstr "dozwolona jest tylko jedna z opcji -G i -r" #: src/ld.c:580 #, c-format msgid "more than one '-m' parameter" -msgstr "podano wiÄ™cej niż jeden parametr \"-m\"" +msgstr "podano wiÄ™cej niż jeden parametr „-mâ€" #: src/ld.c:590 src/ld.c:999 #, c-format msgid "unknown option `-%c %s'" -msgstr "nieznana opcja \"-%c %s\"" +msgstr "nieznana opcja „-%c %sâ€" #: src/ld.c:632 #, c-format msgid "invalid page size value '%s': ignored" -msgstr "nieprawidÅ‚owa wartość rozmiaru strony \"%s\": zignorowano" +msgstr "nieprawidÅ‚owa wartość rozmiaru strony „%sâ€: zignorowano" #: src/ld.c:673 #, c-format msgid "invalid hash style '%s'" -msgstr "nieprawidÅ‚owy styl sum kontrolnych \"%s\"" +msgstr "nieprawidÅ‚owy styl sum kontrolnych „%sâ€" #: src/ld.c:683 #, c-format msgid "invalid build-ID style '%s'" -msgstr "nieprawidÅ‚owy styl identyfikatora kopii \"%s\"" +msgstr "nieprawidÅ‚owy styl identyfikatora kopii „%sâ€" #: src/ld.c:771 #, c-format @@ -3688,7 +3717,7 @@ msgstr "Podano wiÄ™cej niż jeden plik wyjÅ›ciowy." #: src/ld.c:788 #, c-format msgid "Invalid optimization level `%s'" -msgstr "NieprawidÅ‚owy poziom optymalizacji \"%s\"" +msgstr "NieprawidÅ‚owy poziom optymalizacji „%sâ€" #: src/ld.c:836 #, c-format @@ -3703,7 +3732,7 @@ msgstr "-) bez pasujÄ…cego -(" #: src/ld.c:1032 #, c-format msgid "unknown option '-%c %s'" -msgstr "nieznana opcja \"-%c %s\"" +msgstr "nieznana opcja „-%c %sâ€" #: src/ld.c:1138 #, c-format @@ -3714,17 +3743,17 @@ msgstr "" #: src/ld.c:1140 #, c-format msgid "try again with an appropriate '-m' parameter" -msgstr "proszÄ™ spróbować jeszcze raz z odpowiednim parametrem \"-m\"" +msgstr "proszÄ™ spróbować jeszcze raz z odpowiednim parametrem „-mâ€" #: src/ld.c:1434 #, c-format msgid "cannot read version script '%s'" -msgstr "nie można odczytać skryptu wersji \"%s\"" +msgstr "nie można odczytać skryptu wersji „%sâ€" #: src/ld.c:1500 src/ld.c:1539 #, c-format msgid "duplicate definition of '%s' in linker script" -msgstr "powtórzona definicja \"%s\" w skrypcie konsolidatora" +msgstr "powtórzona definicja „%s†w skrypcie konsolidatora" #: src/ldgeneric.c:201 src/ldgeneric.c:5141 #, c-format @@ -3734,12 +3763,12 @@ msgstr "nie można utworzyć tabeli ciÄ…gów" #: src/ldgeneric.c:247 #, c-format msgid "cannot load ld backend library '%s': %s" -msgstr "nie można odczytać biblioteki zaplecza ld \"%s\": %s" +msgstr "nie można odczytać biblioteki zaplecza ld „%sâ€: %s" #: src/ldgeneric.c:257 #, c-format msgid "cannot find init function in ld backend library '%s': %s" -msgstr "nie można odnaleźć funkcji init w bibliotece zaplecza ld \"%s\": %s" +msgstr "nie można odnaleźć funkcji init w bibliotece zaplecza ld „%sâ€: %s" #: src/ldgeneric.c:300 #, c-format @@ -3759,16 +3788,16 @@ msgstr "%s (dla DT_NEEDED %s)\n" #: src/ldgeneric.c:563 #, c-format msgid "Warning: type of `%s' changed from %s in %s to %s in %s" -msgstr "Ostrzeżenie: typ \"%s\" zmieniÅ‚ siÄ™ z %s w %s na %s w %s" +msgstr "Ostrzeżenie: typ „%s†zmieniÅ‚ siÄ™ z %s w %s na %s w %s" #: src/ldgeneric.c:576 #, c-format msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s" msgstr "" -"Ostrzeżenie: rozmiar \"%s\" zmieniÅ‚ siÄ™ z %<PRIu64> w %s na %<PRIu64> w %s" +"Ostrzeżenie: rozmiar „%s†zmieniÅ‚ siÄ™ z %<PRIu64> w %s na %<PRIu64> w %s" -#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:527 -#: src/readelf.c:829 src/strip.c:589 +#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:536 src/readelf.c:852 +#: src/strip.c:589 #, c-format msgid "cannot determine number of sections: %s" msgstr "nie można okreÅ›lić liczby sekcji: %s" @@ -3791,12 +3820,12 @@ msgstr "%s: nie można uzyskać danych grupy sekcji: %s" #: src/ldgeneric.c:830 #, c-format msgid "%s: section '%s' with group flag set does not belong to any group" -msgstr "%s: sekcja \"%s\" z ustawionÄ… flagÄ… grupy nie należy do żadnej grupy" +msgstr "%s: sekcja „%s†z ustawionÄ… flagÄ… grupy nie należy do żadnej grupy" #: src/ldgeneric.c:875 #, c-format msgid "%s: section [%2d] '%s' is not in the correct section group" -msgstr "%s: sekcja [%2d] \"%s\" nie jest w poprawnej grupie sekcji" +msgstr "%s: sekcja [%2d] „%s†nie jest w poprawnej grupie sekcji" #: src/ldgeneric.c:1146 src/ldgeneric.c:1403 src/ldgeneric.c:1412 #: src/ldgeneric.c:1471 src/ldgeneric.c:1480 src/ldgeneric.c:1743 @@ -3813,12 +3842,12 @@ msgstr "%s: tylko pliki typu ET_REL mogÄ… zawierać grupy sekcji" #: src/ldgeneric.c:1292 #, c-format msgid "%s: cannot determine signature of section group [%2zd] '%s': %s" -msgstr "%s: nie można okreÅ›lić podpisu grupy sekcji [%2zd] \"%s\": %s" +msgstr "%s: nie można okreÅ›lić podpisu grupy sekcji [%2zd] „%sâ€: %s" #: src/ldgeneric.c:1304 #, c-format msgid "%s: cannot get content of section group [%2zd] '%s': %s'" -msgstr "%s: nie można uzyskać zawartoÅ›ci grupy sekcji [%2zd] \"%s\": %s" +msgstr "%s: nie można uzyskać zawartoÅ›ci grupy sekcji [%2zd] „%sâ€: %s" #: src/ldgeneric.c:1318 #, c-format @@ -3826,13 +3855,13 @@ msgid "" "%s: group member %zu of section group [%2zd] '%s' has too high index: " "%<PRIu32>" msgstr "" -"%s: element grupy %zu grupy sekcji [%2zd] \"%s\" posiada za wysoki indeks: " +"%s: element grupy %zu grupy sekcji [%2zd] „%s†posiada za wysoki indeks: " "%<PRIu32>" #: src/ldgeneric.c:1340 #, c-format msgid "%s: section '%s' has unknown type: %d" -msgstr "%s: sekcja \"%s\" posiada nieznany typ: %d" +msgstr "%s: sekcja „%s†posiada nieznany typ: %d" #: src/ldgeneric.c:1719 #, c-format @@ -3842,7 +3871,7 @@ msgstr "nie można uzyskać deskryptora dla pliku ELF (%s:%d): %s\n" #: src/ldgeneric.c:1889 #, c-format msgid "cannot read archive `%s': %s" -msgstr "nie można odczytać archiwum \"%s\": %s" +msgstr "nie można odczytać archiwum „%sâ€: %s" #: src/ldgeneric.c:2010 #, c-format @@ -3862,18 +3891,17 @@ msgstr "%s: nie można uzyskać indeksu tabeli ciÄ…gów nagłówków sekcji: %s\ #: src/ldgeneric.c:2063 #, c-format msgid "cannot use DSO '%s' when generating relocatable object file" -msgstr "" -"nie można użyć DSO \"%s\" podczas tworzenia relokowalnego pliku obiektu" +msgstr "nie można użyć DSO „%s†podczas tworzenia relokowalnego pliku obiektu" #: src/ldgeneric.c:2148 #, c-format msgid "input file '%s' ignored" -msgstr "plik wejÅ›ciowy \"%s\" zostaÅ‚ zignorowany" +msgstr "plik wejÅ›ciowy „%s†zostaÅ‚ zignorowany" #: src/ldgeneric.c:2362 #, c-format msgid "undefined symbol `%s' in %s" -msgstr "nieokreÅ›lony symbol \"%s\" w %s" +msgstr "nieokreÅ›lony symbol „%s†w %s" #: src/ldgeneric.c:2692 #, c-format @@ -3896,7 +3924,7 @@ msgstr "nie można utworzyć sekcji dla pliku wyjÅ›ciowego: %s" #: src/ldgeneric.c:3434 #, c-format msgid "address computation expression contains variable '%s'" -msgstr "wyrażenie obliczenia adresu zawiera zmiennÄ… \"%s\"" +msgstr "wyrażenie obliczenia adresu zawiera zmiennÄ… „%sâ€" #: src/ldgeneric.c:3479 #, c-format @@ -3904,14 +3932,14 @@ msgid "" "argument '%<PRIuMAX>' of ALIGN in address computation expression is no power " "of two" msgstr "" -"parametr \"%<PRIuMAX>\" ALIGN w wyrażeniu obliczenia adresu nie jest potÄ™gÄ… " +"parametr „%<PRIuMAX>†ALIGN w wyrażeniu obliczenia adresu nie jest potÄ™gÄ… " "dwójki" #: src/ldgeneric.c:3674 #, c-format msgid "cannot find entry symbol '%s': defaulting to %#0*<PRIx64>" msgstr "" -"nie można odnaleźć symbolu wejÅ›ciowego \"%s\": użycie domyÅ›lnego %#0*<PRIx64>" +"nie można odnaleźć symbolu wejÅ›ciowego „%sâ€: użycie domyÅ›lnego %#0*<PRIx64>" #: src/ldgeneric.c:3680 #, c-format @@ -3937,12 +3965,12 @@ msgstr "nie można utworzyć sekcji identyfikatora kopii: %s" #: src/ldgeneric.c:4181 #, c-format msgid "cannot convert section data to file format: %s" -msgstr "nie można przekonwertować danych sekcji na format pliku: %s" +msgstr "nie można konwertować danych sekcji na format pliku: %s" #: src/ldgeneric.c:4190 #, c-format msgid "cannot convert section data to memory format: %s" -msgstr "nie można przekonwertować danych sekcji na format pamiÄ™ci: %s" +msgstr "nie można konwertować danych sekcji na format pamiÄ™ci: %s" #: src/ldgeneric.c:4251 #, c-format @@ -4007,7 +4035,7 @@ msgstr "bÅ‚Ä…d wewnÄ™trzny: sekcja nie bÄ™dÄ…ca nobits po sekcji nobits" msgid "cannot get header of 0th section: %s" msgstr "nie można uzyskać nagłówka zerowej sekcji: %s" -#: src/ldgeneric.c:6930 src/unstrip.c:1893 +#: src/ldgeneric.c:6930 src/unstrip.c:1929 #, c-format msgid "cannot update ELF header: %s" msgstr "nie można zaktualizować nagłówka ELF: %s" @@ -4044,7 +4072,7 @@ msgstr "" #: src/ldgeneric.c:7130 #, c-format msgid "no machine specific '%s' implementation" -msgstr "brak implementacji \"%s\" specyficznej dla maszyny" +msgstr "brak implementacji „%s†specyficznej dla maszyny" #: src/ldscript.y:170 msgid "mode for segment invalid\n" @@ -4053,141 +4081,141 @@ msgstr "nieprawidÅ‚owy tryb dla segmentu\n" #: src/ldscript.y:457 #, c-format msgid "while reading version script '%s': %s at line %d" -msgstr "podczas odczytywania skryptu wersji \"%s\": %s w wierszu %d" +msgstr "podczas odczytywania skryptu wersji „%sâ€: %s w wierszu %d" #: src/ldscript.y:458 #, c-format msgid "while reading linker script '%s': %s at line %d" -msgstr "podczas odczytywania skryptu konsolidatora \"%s\": %s w wierszu %d" +msgstr "podczas odczytywania skryptu konsolidatora „%sâ€: %s w wierszu %d" #: src/ldscript.y:737 -#, fuzzy, c-format +#, c-format msgid "symbol '%s' is declared both local and global for unnamed version '%s'" msgstr "" -"symbol \"%s\" jest zadeklarowany jednoczeÅ›nie lokalny i globalny dla " -"nienazwanej wersji" +"symbol „%s†jest zadeklarowany jednoczeÅ›nie lokalny i globalny dla " +"nienazwanej wersji „%sâ€" #: src/ldscript.y:739 #, c-format msgid "symbol '%s' is declared both local and global for version '%s'" msgstr "" -"symbol \"%s\" jest zadeklarowany jednoczeÅ›nie lokalny i globalny dla wersji " -"\"%s\"" +"symbol „%s†jest zadeklarowany jednoczeÅ›nie lokalny i globalny dla wersji " +"„%sâ€" #: src/ldscript.y:759 src/ldscript.y:766 #, c-format msgid "default visibility set as local and global" msgstr "domyÅ›lna widoczność ustawiona jako lokalna i globalna" -#: src/nm.c:65 src/strip.c:67 +#: src/nm.c:66 src/strip.c:67 msgid "Output selection:" msgstr "Wybór wyjÅ›cia:" -#: src/nm.c:66 +#: src/nm.c:67 msgid "Display debugger-only symbols" msgstr "WyÅ›wietla symbole wyÅ‚Ä…cznie debugowowania" -#: src/nm.c:67 +#: src/nm.c:68 msgid "Display only defined symbols" msgstr "WyÅ›wietla tylko okreÅ›lone symbole" -#: src/nm.c:70 +#: src/nm.c:71 msgid "Display dynamic symbols instead of normal symbols" msgstr "WyÅ›wietla symbole dynamiczne zamiast zwykÅ‚ych" -#: src/nm.c:71 +#: src/nm.c:72 msgid "Display only external symbols" msgstr "WyÅ›wietla tylko symbole zewnÄ™trzne" -#: src/nm.c:72 +#: src/nm.c:73 msgid "Display only undefined symbols" msgstr "WyÅ›wietla tylko nieokreÅ›lone symbole" -#: src/nm.c:74 +#: src/nm.c:75 msgid "Include index for symbols from archive members" msgstr "DoÅ‚Ä…cza indeks dla symboli z elementów archiwum" -#: src/nm.c:76 src/size.c:57 +#: src/nm.c:77 src/size.c:57 msgid "Output format:" msgstr "Format wyjÅ›cia:" -#: src/nm.c:78 +#: src/nm.c:79 msgid "Print name of the input file before every symbol" msgstr "WyÅ›wietla nazwÄ™ pliku wejÅ›ciowego przed każdym symbolem" -#: src/nm.c:81 +#: src/nm.c:82 msgid "" "Use the output format FORMAT. FORMAT can be `bsd', `sysv' or `posix'. The " "default is `sysv'" msgstr "" -"Używa FORMATU wyjÅ›ciowego. Może to być \"bsd\", \"sysv\" lub \"posix\". " -"DomyÅ›lny jest format \"sysv\"" +"Używa FORMATU wyjÅ›ciowego. Może to być „bsdâ€, „sysv†lub „posixâ€. DomyÅ›lny " +"jest format „sysvâ€" -#: src/nm.c:83 +#: src/nm.c:84 msgid "Same as --format=bsd" msgstr "To samo, co --format=bsd" -#: src/nm.c:84 +#: src/nm.c:85 msgid "Same as --format=posix" msgstr "To samo co, --format=posix" -#: src/nm.c:85 src/size.c:63 +#: src/nm.c:86 src/size.c:63 msgid "Use RADIX for printing symbol values" msgstr "Używa BAZY do wypisywania wartoÅ›ci symboli" -#: src/nm.c:86 +#: src/nm.c:87 msgid "Mark special symbols" msgstr "Oznacza specjalne symbole" -#: src/nm.c:88 +#: src/nm.c:89 msgid "Print size of defined symbols" msgstr "WyÅ›wietla rozmiar okreÅ›lonych symboli" -#: src/nm.c:90 src/size.c:71 src/strip.c:72 src/unstrip.c:72 +#: src/nm.c:91 src/size.c:71 src/strip.c:72 src/unstrip.c:72 msgid "Output options:" msgstr "Opcje wyjÅ›cia:" -#: src/nm.c:91 +#: src/nm.c:92 msgid "Sort symbols numerically by address" msgstr "PorzÄ…dkuje symbole numerycznie wedÅ‚ug adresu" -#: src/nm.c:93 +#: src/nm.c:94 msgid "Do not sort the symbols" msgstr "Bez porzÄ…dkowania symboli" -#: src/nm.c:94 +#: src/nm.c:95 msgid "Reverse the sense of the sort" msgstr "Odwraca kierunek porzÄ…dkowania" -#: src/nm.c:97 +#: src/nm.c:98 msgid "Decode low-level symbol names into source code names" msgstr "Dekoduje niskopoziomowe nazwy symboli na nazwy kodu źródÅ‚owego" -#: src/nm.c:104 +#: src/nm.c:105 msgid "List symbols from FILEs (a.out by default)." msgstr "WyÅ›wietla listÄ™ symboli z PLIKU (domyÅ›lnie a.out)." -#: src/nm.c:115 src/objdump.c:79 +#: src/nm.c:116 src/objdump.c:79 msgid "Output formatting" msgstr "Formatowanie wyjÅ›cia" -#: src/nm.c:139 src/objdump.c:103 src/size.c:108 src/strip.c:127 +#: src/nm.c:140 src/objdump.c:103 src/size.c:108 src/strip.c:127 #, c-format msgid "%s: INTERNAL ERROR %d (%s): %s" msgstr "%s: BÅÄ„D WEWNĘTRZNY %d (%s): %s" -#: src/nm.c:394 src/nm.c:406 src/size.c:305 src/size.c:314 src/size.c:325 +#: src/nm.c:395 src/nm.c:407 src/size.c:305 src/size.c:314 src/size.c:325 #: src/strip.c:2280 #, c-format msgid "while closing '%s'" -msgstr "podczas zamykania \"%s\"" +msgstr "podczas zamykania „%sâ€" -#: src/nm.c:416 src/objdump.c:292 src/strip.c:391 +#: src/nm.c:417 src/objdump.c:292 src/strip.c:391 #, c-format msgid "%s: File format not recognized" msgstr "%s: nie rozpoznano formatu pliku" -#: src/nm.c:456 +#: src/nm.c:457 msgid "" "\n" "Archive index:\n" @@ -4195,42 +4223,42 @@ msgstr "" "\n" "Indeks archiwum:\n" -#: src/nm.c:465 +#: src/nm.c:466 #, c-format msgid "invalid offset %zu for symbol %s" msgstr "nieprawidÅ‚owy offset %zu dla symbolu %s" -#: src/nm.c:470 +#: src/nm.c:471 #, c-format msgid "%s in %s\n" msgstr "%s w %s\n" -#: src/nm.c:478 +#: src/nm.c:479 #, c-format msgid "cannot reset archive offset to beginning" msgstr "nie można przywrócić offsetu w archiwum na poczÄ…tek" -#: src/nm.c:503 src/objdump.c:340 +#: src/nm.c:504 src/objdump.c:340 #, c-format msgid "%s%s%s: file format not recognized" msgstr "%s%s%s: nie rozpoznano formatu pliku" -#: src/nm.c:715 +#: src/nm.c:719 #, c-format msgid "cannot create search tree" msgstr "nie można utworzyć drzewa wyszukiwania" -#: src/nm.c:754 src/nm.c:1160 src/objdump.c:789 src/readelf.c:536 -#: src/readelf.c:1085 src/readelf.c:1245 src/readelf.c:1393 src/readelf.c:1579 -#: src/readelf.c:1785 src/readelf.c:1975 src/readelf.c:2202 src/readelf.c:2460 -#: src/readelf.c:2536 src/readelf.c:2623 src/readelf.c:3203 src/readelf.c:3239 -#: src/readelf.c:3302 src/readelf.c:8212 src/readelf.c:9314 src/readelf.c:9461 -#: src/readelf.c:9529 src/size.c:413 src/size.c:482 src/strip.c:520 +#: src/nm.c:760 src/nm.c:1221 src/objdump.c:789 src/readelf.c:545 +#: src/readelf.c:1123 src/readelf.c:1323 src/readelf.c:1471 src/readelf.c:1667 +#: src/readelf.c:1873 src/readelf.c:2063 src/readelf.c:2300 src/readelf.c:2558 +#: src/readelf.c:2634 src/readelf.c:2721 src/readelf.c:3301 src/readelf.c:3347 +#: src/readelf.c:3410 src/readelf.c:8320 src/readelf.c:9420 src/readelf.c:9603 +#: src/readelf.c:9671 src/size.c:413 src/size.c:482 src/strip.c:520 #, c-format msgid "cannot get section header string table index" msgstr "nie można uzyskać indeksu tabeli ciÄ…gów nagłówków sekcji" -#: src/nm.c:781 +#: src/nm.c:787 #, c-format msgid "" "\n" @@ -4243,7 +4271,7 @@ msgstr "" "Symbole z %s:\n" "\n" -#: src/nm.c:784 +#: src/nm.c:790 #, c-format msgid "" "%*s%-*s %-*s Class Type %-*s %*s Section\n" @@ -4252,22 +4280,22 @@ msgstr "" "%*s%-*s %-*s Klasa Typ %-*s %*s Sekcja\n" "\n" -#: src/nm.c:1171 +#: src/nm.c:1232 #, c-format msgid "%s: entry size in section %zd `%s' is not what we expect" -msgstr "%s: rozmiar wpisu w sekcji %zd \"%s\" nie jest tym, czego oczekiwano" +msgstr "%s: rozmiar wpisu w sekcji %zd „%s†nie jest tym, czego oczekiwano" -#: src/nm.c:1176 +#: src/nm.c:1237 #, c-format msgid "%s: size of section %zd `%s' is not multiple of entry size" -msgstr "%s: rozmiar sekcji %zd \"%s\" nie jest wielokrotnoÅ›ciÄ… rozmiaru wpisu" +msgstr "%s: rozmiar sekcji %zd „%s†nie jest wielokrotnoÅ›ciÄ… rozmiaru wpisu" -#: src/nm.c:1434 +#: src/nm.c:1537 #, c-format msgid "%s%s%s%s: Invalid operation" msgstr "%s%s%s%s: nieprawidÅ‚owe dziaÅ‚anie" -#: src/nm.c:1491 +#: src/nm.c:1594 #, c-format msgid "%s%s%s: no symbols" msgstr "%s%s%s: brak symboli" @@ -4300,20 +4328,20 @@ msgstr "WyÅ›wietla tylko informacje o sekcji NAZWA." msgid "Show information from FILEs (a.out by default)." msgstr "WyÅ›wietla informacje z PLIKÓW (domyÅ›lnie a.out)." -#: src/objdump.c:232 src/readelf.c:473 +#: src/objdump.c:232 src/readelf.c:479 msgid "No operation specified.\n" msgstr "Nie podano dziaÅ‚ania.\n" #: src/objdump.c:270 src/objdump.c:282 #, c-format msgid "while close `%s'" -msgstr "podczas zamykania \"%s\"" +msgstr "podczas zamykania „%sâ€" -#: src/objdump.c:375 src/readelf.c:1880 src/readelf.c:2072 +#: src/objdump.c:375 src/readelf.c:1968 src/readelf.c:2160 msgid "INVALID SYMBOL" msgstr "NIEPRAWIDÅOWY SYMBOL" -#: src/objdump.c:390 src/readelf.c:1914 src/readelf.c:2108 +#: src/objdump.c:390 src/readelf.c:2002 src/readelf.c:2196 msgid "INVALID SECTION" msgstr "NIEPRAWIDÅOWA SEKCJA" @@ -4358,81 +4386,81 @@ msgstr "Wymagana jest nazwa archiwum" #: src/ranlib.c:182 #, c-format msgid "'%s' is no archive" -msgstr "\"%s\" nie jest archiwum" +msgstr "„%s†nie jest archiwum" #: src/ranlib.c:217 #, c-format msgid "error while freeing sub-ELF descriptor: %s" msgstr "bÅ‚Ä…d podczas zwalniania deskryptora pod-ELF: %s" -#: src/readelf.c:71 +#: src/readelf.c:72 msgid "ELF input selection:" msgstr "Wybór wyjÅ›cia ELF:" -#: src/readelf.c:73 +#: src/readelf.c:74 msgid "" "Use the named SECTION (default .gnu_debugdata) as (compressed) ELF input data" msgstr "" "Używa podanej SEKCJI (domyÅ›lnie .gnu_debugdata) jako (skompresowanych) " "danych wejÅ›ciowych ELF" -#: src/readelf.c:75 +#: src/readelf.c:76 msgid "ELF output selection:" msgstr "Wybór wyjÅ›cia ELF:" -#: src/readelf.c:77 +#: src/readelf.c:78 msgid "All these plus -p .strtab -p .dynstr -p .comment" msgstr "Wszystkie te plus -p .strtab -p .dynstr -p .comment" -#: src/readelf.c:78 +#: src/readelf.c:79 msgid "Display the dynamic segment" msgstr "WyÅ›wietla segment dynamiczny" -#: src/readelf.c:79 +#: src/readelf.c:80 msgid "Display the ELF file header" msgstr "WyÅ›wietla nagłówek pliku ELF" -#: src/readelf.c:81 +#: src/readelf.c:82 msgid "Display histogram of bucket list lengths" msgstr "WyÅ›wietla histogram dÅ‚ugoÅ›ci list kubeÅ‚ków" -#: src/readelf.c:82 +#: src/readelf.c:83 msgid "Display the program headers" msgstr "WyÅ›wietla nagłówki programu" -#: src/readelf.c:84 +#: src/readelf.c:85 msgid "Display relocations" msgstr "WyÅ›wietla relokacje" -#: src/readelf.c:85 +#: src/readelf.c:86 msgid "Display the sections' headers" msgstr "WyÅ›wietla nagłówków sekcji" -#: src/readelf.c:87 +#: src/readelf.c:88 msgid "Display the symbol table" msgstr "WyÅ›wietla tabelÄ™ symboli" -#: src/readelf.c:88 +#: src/readelf.c:89 msgid "Display versioning information" msgstr "WyÅ›wietla informacje o wersjonowaniu" -#: src/readelf.c:89 +#: src/readelf.c:90 msgid "Display the ELF notes" msgstr "WyÅ›wietla notatki ELF" -#: src/readelf.c:91 +#: src/readelf.c:92 msgid "Display architecture specific information, if any" msgstr "WyÅ›wietla informacje specyficzne dla architektury, jeÅ›li sÄ…" -#: src/readelf.c:93 +#: src/readelf.c:94 msgid "Display sections for exception handling" msgstr "WyÅ›wietla sekcje do obsÅ‚ugi wyjÄ…tków" -#: src/readelf.c:95 +#: src/readelf.c:96 msgid "Additional output selection:" msgstr "Dodatkowy wybór wyjÅ›cia:" -#: src/readelf.c:97 +#: src/readelf.c:98 msgid "" "Display DWARF section content. SECTION can be one of abbrev, aranges, " "decodedaranges, frame, gdb_index, info, loc, line, decodedline, ranges, " @@ -4442,167 +4470,176 @@ msgstr "" "decodedaranges, frame, gdb_index, info, loc, line, decodedline, ranges, " "pubnames, str, macinfo, macro lub exception" -#: src/readelf.c:101 +#: src/readelf.c:102 msgid "Dump the uninterpreted contents of SECTION, by number or name" msgstr "Zrzuca niezinterpretowanÄ… zawartość SEKCJI, wedÅ‚ug liczny lub nazwy" -#: src/readelf.c:103 +#: src/readelf.c:104 msgid "Print string contents of sections" msgstr "WyÅ›wietla zawartość ciÄ…gów sekcji" -#: src/readelf.c:106 +#: src/readelf.c:107 msgid "Display the symbol index of an archive" msgstr "WyÅ›wietla indeks symboli archiwum" -#: src/readelf.c:108 +#: src/readelf.c:109 msgid "Output control:" msgstr "Kontrola wyjÅ›cia:" -#: src/readelf.c:110 +#: src/readelf.c:111 msgid "Do not find symbol names for addresses in DWARF data" msgstr "Bez odnajdywania nazw symboli dla adresów w danych DWARF" -#: src/readelf.c:112 +#: src/readelf.c:113 msgid "" "Display just offsets instead of resolving values to addresses in DWARF data" msgstr "" "WyÅ›wietla tylko offsety zamiast rozwiÄ…zywania wartoÅ›ci na adresy w danych " "DWARF" -#: src/readelf.c:114 +#: src/readelf.c:115 msgid "Ignored for compatibility (lines always wide)" msgstr "Ignorowane dla zgodnoÅ›ci (wiersze sÄ… zawsze szerokie)" -#: src/readelf.c:119 +#: src/readelf.c:117 +msgid "" +"Show compression information for compressed sections (when used with -S); " +"decompress section before dumping data (when used with -p or -x)" +msgstr "" +"WyÅ›wietla informacje o kompresji dla skompresowanych sekcji (kiedy jest " +"używane z opcjÄ… -S); dekompresuje sekcjÄ™ przed zrzuceniem danych (kiedy jest " +"używane z opcjÄ… -p lub -x)" + +#: src/readelf.c:122 msgid "Print information from ELF file in human-readable form." msgstr "WyÅ›wietla informacje z pliku ELF w postaci czytelnej dla czÅ‚owieka." -#: src/readelf.c:441 +#: src/readelf.c:447 #, c-format msgid "Unknown DWARF debug section `%s'.\n" -msgstr "Nieznana sekcja debugowania DWARF \"%s\".\n" +msgstr "Nieznana sekcja debugowania DWARF „%sâ€.\n" -#: src/readelf.c:520 src/readelf.c:631 +#: src/readelf.c:529 src/readelf.c:640 #, c-format msgid "cannot generate Elf descriptor: %s" msgstr "nie można utworzyć deskryptora ELF: %s" -#: src/readelf.c:545 src/readelf.c:1099 src/readelf.c:1269 +#: src/readelf.c:554 src/readelf.c:1145 src/readelf.c:1347 #, c-format msgid "cannot get section: %s" msgstr "nie można uzyskać sekcji: %s" -#: src/readelf.c:554 src/readelf.c:1106 src/readelf.c:1277 src/readelf.c:9481 -#: src/unstrip.c:355 src/unstrip.c:386 src/unstrip.c:435 src/unstrip.c:543 -#: src/unstrip.c:560 src/unstrip.c:596 src/unstrip.c:794 src/unstrip.c:1083 -#: src/unstrip.c:1274 src/unstrip.c:1334 src/unstrip.c:1455 src/unstrip.c:1508 -#: src/unstrip.c:1623 src/unstrip.c:1761 src/unstrip.c:1855 +#: src/readelf.c:563 src/readelf.c:1152 src/readelf.c:1355 src/readelf.c:9623 +#: src/unstrip.c:387 src/unstrip.c:418 src/unstrip.c:467 src/unstrip.c:577 +#: src/unstrip.c:594 src/unstrip.c:631 src/unstrip.c:829 src/unstrip.c:1118 +#: src/unstrip.c:1309 src/unstrip.c:1369 src/unstrip.c:1490 src/unstrip.c:1543 +#: src/unstrip.c:1658 src/unstrip.c:1796 src/unstrip.c:1891 #, c-format msgid "cannot get section header: %s" msgstr "nie można uzyskać nagłówka sekcji: %s" -#: src/readelf.c:562 +#: src/readelf.c:571 #, c-format msgid "cannot get section name" msgstr "nie można uzyskać nazwy sekcji" -#: src/readelf.c:571 src/readelf.c:5396 src/readelf.c:7670 src/readelf.c:7772 -#: src/readelf.c:7949 +#: src/readelf.c:580 src/readelf.c:5504 src/readelf.c:7778 src/readelf.c:7880 +#: src/readelf.c:8057 #, c-format msgid "cannot get %s content: %s" msgstr "nie można uzyskać zwartoÅ›ci %s: %s" -#: src/readelf.c:587 +#: src/readelf.c:596 #, c-format msgid "cannot create temp file '%s'" -msgstr "nie można utworzyć pliku tymczasowego \"%s\"" +msgstr "nie można utworzyć pliku tymczasowego „%sâ€" -#: src/readelf.c:596 +#: src/readelf.c:605 #, c-format msgid "cannot write section data" msgstr "nie można zapisać danych sekcji" -#: src/readelf.c:602 src/readelf.c:619 src/readelf.c:648 +#: src/readelf.c:611 src/readelf.c:628 src/readelf.c:657 #, c-format msgid "error while closing Elf descriptor: %s" msgstr "bÅ‚Ä…d podczas zamykania deskryptora ELF: %s" -#: src/readelf.c:609 +#: src/readelf.c:618 #, c-format msgid "error while rewinding file descriptor" msgstr "bÅ‚Ä…d podczas przewijania deskryptora pliku" -#: src/readelf.c:643 +#: src/readelf.c:652 #, c-format msgid "'%s' is not an archive, cannot print archive index" -msgstr "\"%s\" nie jest archiwum, nie można wyÅ›wietlić indeksu archiwum" +msgstr "„%s†nie jest archiwum, nie można wyÅ›wietlić indeksu archiwum" -#: src/readelf.c:742 +#: src/readelf.c:751 #, c-format msgid "No such section '%s' in '%s'" -msgstr "Brak sekcji \"%s\" w \"%s\"" +msgstr "Brak sekcji „%s†w „%sâ€" -#: src/readelf.c:769 +#: src/readelf.c:778 #, c-format msgid "cannot stat input file" msgstr "nie można wykonać stat na pliku wejÅ›ciowym" -#: src/readelf.c:771 +#: src/readelf.c:780 #, c-format msgid "input file is empty" msgstr "plik wejÅ›ciowy jest pusty" -#: src/readelf.c:773 +#: src/readelf.c:782 #, c-format msgid "failed reading '%s': %s" -msgstr "odczytanie \"%s\" siÄ™ nie powiodÅ‚o: %s" +msgstr "odczytanie „%s†siÄ™ nie powiodÅ‚o: %s" -#: src/readelf.c:814 +#: src/readelf.c:837 #, c-format msgid "cannot read ELF header: %s" msgstr "nie można odczytać nagłówka ELF: %s" -#: src/readelf.c:822 +#: src/readelf.c:845 #, c-format msgid "cannot create EBL handle" msgstr "nie można utworzyć uchwytu EBL" -#: src/readelf.c:835 +#: src/readelf.c:858 #, c-format msgid "cannot determine number of program headers: %s" msgstr "nie można okreÅ›lić liczby nagłówków programu: %s" -#: src/readelf.c:921 +#: src/readelf.c:948 msgid "NONE (None)" msgstr "NONE (żaden)" -#: src/readelf.c:922 +#: src/readelf.c:949 msgid "REL (Relocatable file)" msgstr "REL (plik relokowalny)" -#: src/readelf.c:923 +#: src/readelf.c:950 msgid "EXEC (Executable file)" msgstr "EXEC (plik wykonywalny)" -#: src/readelf.c:924 +#: src/readelf.c:951 msgid "DYN (Shared object file)" msgstr "DYN (plik obiektu współdzielonego)" -#: src/readelf.c:925 +#: src/readelf.c:952 msgid "CORE (Core file)" msgstr "CORE (plik core)" -#: src/readelf.c:930 +#: src/readelf.c:957 #, c-format msgid "OS Specific: (%x)\n" msgstr "Zależny od systemu: (%x)\n" -#: src/readelf.c:932 +#: src/readelf.c:959 #, c-format msgid "Processor Specific: (%x)\n" msgstr "Zależny od procesora: (%x)\n" -#: src/readelf.c:942 +#: src/readelf.c:969 msgid "" "ELF Header:\n" " Magic: " @@ -4610,7 +4647,7 @@ msgstr "" "Nagłówek ELF:\n" " Magic: " -#: src/readelf.c:946 +#: src/readelf.c:973 #, c-format msgid "" "\n" @@ -4619,117 +4656,117 @@ msgstr "" "\n" " Klasa: %s\n" -#: src/readelf.c:951 +#: src/readelf.c:978 #, c-format msgid " Data: %s\n" msgstr " Dane: %s\n" -#: src/readelf.c:957 +#: src/readelf.c:984 #, c-format msgid " Ident Version: %hhd %s\n" msgstr " Wersja Ident: %hhd %s\n" -#: src/readelf.c:959 src/readelf.c:976 +#: src/readelf.c:986 src/readelf.c:1003 msgid "(current)" msgstr "(bieżąca)" -#: src/readelf.c:963 +#: src/readelf.c:990 #, c-format msgid " OS/ABI: %s\n" msgstr " System operacyjny/ABI: %s\n" -#: src/readelf.c:966 +#: src/readelf.c:993 #, c-format msgid " ABI Version: %hhd\n" msgstr " Wersja ABI: %hhd\n" -#: src/readelf.c:969 +#: src/readelf.c:996 msgid " Type: " msgstr " Typ: " -#: src/readelf.c:972 +#: src/readelf.c:999 #, c-format msgid " Machine: %s\n" msgstr " Komputer: %s\n" -#: src/readelf.c:974 +#: src/readelf.c:1001 #, c-format msgid " Version: %d %s\n" msgstr " Wersja: %d %s\n" -#: src/readelf.c:978 +#: src/readelf.c:1005 #, c-format msgid " Entry point address: %#<PRIx64>\n" msgstr " Adres punktu wejÅ›ciowego: %#<PRIx64>\n" -#: src/readelf.c:981 +#: src/readelf.c:1008 #, c-format msgid " Start of program headers: %<PRId64> %s\n" msgstr " PoczÄ…tek nagłówków programu: %<PRId64> %s\n" -#: src/readelf.c:982 src/readelf.c:985 +#: src/readelf.c:1009 src/readelf.c:1012 msgid "(bytes into file)" msgstr "(bajtów w pliku)" -#: src/readelf.c:984 +#: src/readelf.c:1011 #, c-format msgid " Start of section headers: %<PRId64> %s\n" msgstr " PoczÄ…tek nagłówków sekcji: %<PRId64> %s\n" -#: src/readelf.c:987 +#: src/readelf.c:1014 #, c-format msgid " Flags: %s\n" msgstr " Flagi: %s\n" -#: src/readelf.c:990 +#: src/readelf.c:1017 #, c-format msgid " Size of this header: %<PRId16> %s\n" msgstr " Rozmiar tego nagłówka: %<PRId16> %s\n" -#: src/readelf.c:991 src/readelf.c:994 src/readelf.c:1011 +#: src/readelf.c:1018 src/readelf.c:1021 src/readelf.c:1038 msgid "(bytes)" msgstr "(bajtów)" -#: src/readelf.c:993 +#: src/readelf.c:1020 #, c-format msgid " Size of program header entries: %<PRId16> %s\n" msgstr " Rozmiar wpisów nagłówka programu: %<PRId16> %s\n" -#: src/readelf.c:996 +#: src/readelf.c:1023 #, c-format msgid " Number of program headers entries: %<PRId16>" msgstr " Liczba wpisów nagłówków programu: %<PRId16>" -#: src/readelf.c:1003 +#: src/readelf.c:1030 #, c-format msgid " (%<PRIu32> in [0].sh_info)" msgstr " (%<PRIu32> w [0].sh_info)" -#: src/readelf.c:1006 src/readelf.c:1023 src/readelf.c:1037 +#: src/readelf.c:1033 src/readelf.c:1050 src/readelf.c:1064 msgid " ([0] not available)" msgstr " ([0] niedostÄ™pny)" -#: src/readelf.c:1010 +#: src/readelf.c:1037 #, c-format msgid " Size of section header entries: %<PRId16> %s\n" msgstr " Rozmiar wpisów nagłówka sekcji: %<PRId16> %s\n" -#: src/readelf.c:1013 +#: src/readelf.c:1040 #, c-format msgid " Number of section headers entries: %<PRId16>" msgstr " Liczba wpisów nagłówków sekcji: %<PRId16>" -#: src/readelf.c:1020 +#: src/readelf.c:1047 #, c-format msgid " (%<PRIu32> in [0].sh_size)" msgstr " (%<PRIu32> w [0].sh_size)" -#: src/readelf.c:1033 +#: src/readelf.c:1060 #, c-format msgid " (%<PRIu32> in [0].sh_link)" msgstr " (%<PRIu32> w [0].sh_link)" -#: src/readelf.c:1041 +#: src/readelf.c:1068 #, c-format msgid "" " Section header string table index: XINDEX%s\n" @@ -4738,7 +4775,7 @@ msgstr "" " Indeks tabeli ciÄ…gów nagłówków sekcji: XINDEX%s\n" "\n" -#: src/readelf.c:1045 +#: src/readelf.c:1072 #, c-format msgid "" " Section header string table index: %<PRId16>\n" @@ -4747,7 +4784,7 @@ msgstr "" " Indeks tabeli ciÄ…gów nagłówków sekcji: %<PRId16>\n" "\n" -#: src/readelf.c:1077 +#: src/readelf.c:1115 #, c-format msgid "" "There are %d section headers, starting at offset %#<PRIx64>:\n" @@ -4756,19 +4793,19 @@ msgstr "" "Jest %d nagłówków sekcji, rozpoczynajÄ…cych siÄ™ od offsetu %#<PRIx64>:\n" "\n" -#: src/readelf.c:1087 +#: src/readelf.c:1125 msgid "Section Headers:" msgstr "Nagłówki sekcji:" -#: src/readelf.c:1090 +#: src/readelf.c:1128 msgid "" "[Nr] Name Type Addr Off Size ES Flags Lk " "Inf Al" msgstr "" -"[Nr] Nazwa Typ Adres Offset Rozm ES Flagi Lk " +"[Nr] Nazwa Typ Adres Offset Rozm. ES Flagi Lk " "Inf Al" -#: src/readelf.c:1092 +#: src/readelf.c:1130 msgid "" "[Nr] Name Type Addr Off Size ES " "Flags Lk Inf Al" @@ -4776,18 +4813,36 @@ msgstr "" "[Nr] Nazwa Typ Adres Offset Rozmiar ES " "Flagi Lk Inf Al" -#: src/readelf.c:1164 +#: src/readelf.c:1135 +msgid " [Compression Size Al]" +msgstr " [Kompresja Rozmiar Al]" + +#: src/readelf.c:1137 +msgid " [Compression Size Al]" +msgstr " [Kompresja Rozmiar Al]" + +#: src/readelf.c:1213 +#, c-format +msgid "bad compression header for section %zd: %s" +msgstr "bÅ‚Ä™dny nagłówek kompresji dla sekcji %zd: %s" + +#: src/readelf.c:1224 +#, c-format +msgid "bad gnu compressed size for section %zd: %s" +msgstr "bÅ‚Ä™dny rozmiar kompresji gnu dla sekcji %zd: %s" + +#: src/readelf.c:1242 msgid "Program Headers:" msgstr "Nagłówki programu:" -#: src/readelf.c:1166 +#: src/readelf.c:1244 msgid "" " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align" msgstr "" " Typ Offset AdresWirt AdresFiz RozmPlik RozmPam Flg " "Wyrównanie" -#: src/readelf.c:1169 +#: src/readelf.c:1247 msgid "" " Type Offset VirtAddr PhysAddr FileSiz " "MemSiz Flg Align" @@ -4795,12 +4850,12 @@ msgstr "" " Typ Offset AdresWirtualny AdresFizyczny RozmPlik " "RozmPam Flg Wyrównanie" -#: src/readelf.c:1226 +#: src/readelf.c:1304 #, c-format msgid "\t[Requesting program interpreter: %s]\n" msgstr "\t[WywoÅ‚anie interpretera programu: %s]\n" -#: src/readelf.c:1247 +#: src/readelf.c:1325 msgid "" "\n" " Section to Segment mapping:\n" @@ -4808,14 +4863,14 @@ msgid "" msgstr "" "\n" " Mapowanie sekcji do segmentów:\n" -" Segment sekcji..." +" Segment sekcji…" -#: src/readelf.c:1258 src/unstrip.c:1914 src/unstrip.c:1957 src/unstrip.c:1964 +#: src/readelf.c:1336 src/unstrip.c:1950 src/unstrip.c:1992 src/unstrip.c:1999 #, c-format msgid "cannot get program header: %s" msgstr "nie można uzyskać nagłówka programu: %s" -#: src/readelf.c:1401 +#: src/readelf.c:1479 #, c-format msgid "" "\n" @@ -4825,15 +4880,15 @@ msgid_plural "" "COMDAT section group [%2zu] '%s' with signature '%s' contains %zu entries:\n" msgstr[0] "" "\n" -"Grupa sekcji COMDAT [%2zu] \"%s\" z podspiem \"%s\" zawiera %zu wpis:\n" +"Grupa sekcji COMDAT [%2zu] „%s†z podpisem „%s†zawiera %zu wpis:\n" msgstr[1] "" "\n" -"Grupa sekcji COMDAT [%2zu] \"%s\" z podpisem \"%s\" zawiera %zu wpisy:\n" +"Grupa sekcji COMDAT [%2zu] „%s†z podpisem „%s†zawiera %zu wpisy:\n" msgstr[2] "" "\n" -"Grupa sekcji COMDAT [%2zu] \"%s\" z podpisem \"%s\" zawiera %zu wpisów:\n" +"Grupa sekcji COMDAT [%2zu] „%s†z podpisem „%s†zawiera %zu wpisów:\n" -#: src/readelf.c:1406 +#: src/readelf.c:1484 #, c-format msgid "" "\n" @@ -4843,29 +4898,33 @@ msgid_plural "" "Section group [%2zu] '%s' with signature '%s' contains %zu entries:\n" msgstr[0] "" "\n" -"Grupa sekcji [%2zu] \"%s\" z podpisem \"%s\" zawiera %zu wpis:\n" +"Grupa sekcji [%2zu] „%s†z podpisem „%s†zawiera %zu wpis:\n" msgstr[1] "" "\n" -"Grupa sekcji [%2zu] \"%s\" z podpisem \"%s\" zawiera %zu wpisy:\n" +"Grupa sekcji [%2zu] „%s†z podpisem „%s†zawiera %zu wpisy:\n" msgstr[2] "" "\n" -"Grupa sekcji [%2zu] \"%s\" z podpisem \"%s\" zawiera %zu wpisów:\n" +"Grupa sekcji [%2zu] „%s†z podpisem „%s†zawiera %zu wpisów:\n" -#: src/readelf.c:1414 +#: src/readelf.c:1492 msgid "<INVALID SYMBOL>" msgstr "<NIEPRAWIDÅOWY SYMBOL>" -#: src/readelf.c:1428 +#: src/readelf.c:1506 msgid "<INVALID SECTION>" msgstr "<NIEPRAWIDÅOWY SEKCJA>" -#: src/readelf.c:1585 src/readelf.c:2208 src/readelf.c:2466 src/readelf.c:2542 -#: src/readelf.c:2846 src/readelf.c:2920 src/readelf.c:4608 -#, fuzzy, c-format +#: src/readelf.c:1529 src/readelf.c:2238 src/readelf.c:3317 +msgid "Couldn't uncompress section" +msgstr "Nie można dekompresować sekcji" + +#: src/readelf.c:1673 src/readelf.c:2306 src/readelf.c:2564 src/readelf.c:2640 +#: src/readelf.c:2944 src/readelf.c:3018 src/readelf.c:4716 +#, c-format msgid "invalid sh_link value in section %zu" -msgstr "nieprawidÅ‚owa wartość sh_link w sekcji %Zu" +msgstr "nieprawidÅ‚owa wartość sh_link w sekcji %zu" -#: src/readelf.c:1588 +#: src/readelf.c:1676 #, c-format msgid "" "\n" @@ -4891,36 +4950,36 @@ msgstr[2] "" " Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] " "'%s'\n" -#: src/readelf.c:1598 +#: src/readelf.c:1686 msgid " Type Value\n" msgstr " Typ Wartość\n" -#: src/readelf.c:1622 +#: src/readelf.c:1710 #, c-format msgid "Shared library: [%s]\n" msgstr "Biblioteka współdzielona: [%s]\n" -#: src/readelf.c:1627 +#: src/readelf.c:1715 #, c-format msgid "Library soname: [%s]\n" msgstr "soname biblioteki: [%s]\n" -#: src/readelf.c:1632 +#: src/readelf.c:1720 #, c-format msgid "Library rpath: [%s]\n" msgstr "rpath biblioteki: [%s]\n" -#: src/readelf.c:1637 +#: src/readelf.c:1725 #, c-format msgid "Library runpath: [%s]\n" msgstr "runpath biblioteki: [%s]\n" -#: src/readelf.c:1657 +#: src/readelf.c:1745 #, c-format msgid "%<PRId64> (bytes)\n" msgstr "%<PRId64> (bajtów)\n" -#: src/readelf.c:1770 src/readelf.c:1960 +#: src/readelf.c:1858 src/readelf.c:2048 #, c-format msgid "" "\n" @@ -4929,7 +4988,7 @@ msgstr "" "\n" "NieprawidÅ‚owa tabela symboli pod offsetem %#0<PRIx64>\n" -#: src/readelf.c:1788 src/readelf.c:1978 +#: src/readelf.c:1876 src/readelf.c:2066 #, c-format msgid "" "\n" @@ -4941,18 +5000,18 @@ msgid_plural "" "contains %d entries:\n" msgstr[0] "" "\n" -"Sekcja relokacji [%2zu] \"%s\" dla sekcji [%2u] \"%s\" pod offsetem " -"%#0<PRIx64> zawiera %d wpis:\n" +"Sekcja relokacji [%2zu] „%s†dla sekcji [%2u] „%s†pod offsetem %#0<PRIx64> " +"zawiera %d wpis:\n" msgstr[1] "" "\n" -"Sekcja relokacji [%2zu] \"%s\" dla sekcji [%2u] \"%s\" pod offsetem " -"%#0<PRIx64> zawiera %d wpisy:\n" +"Sekcja relokacji [%2zu] „%s†dla sekcji [%2u] „%s†pod offsetem %#0<PRIx64> " +"zawiera %d wpisy:\n" msgstr[2] "" "\n" -"Sekcja relokacji [%2zu] \"%s\" dla sekcji [%2u] \"%s\" pod offsetem " -"%#0<PRIx64> zawiera %d wpisów:\n" +"Sekcja relokacji [%2zu] „%s†dla sekcji [%2u] „%s†pod offsetem %#0<PRIx64> " +"zawiera %d wpisów:\n" -#: src/readelf.c:1803 src/readelf.c:1993 +#: src/readelf.c:1891 src/readelf.c:2081 #, c-format msgid "" "\n" @@ -4962,38 +5021,38 @@ msgid_plural "" "Relocation section [%2u] '%s' at offset %#0<PRIx64> contains %d entries:\n" msgstr[0] "" "\n" -"Sekcja relokacji [%2u] \"%s\" pod offsetem %#0<PRIx64> zawiera %d wpis:\n" +"Sekcja relokacji [%2u] „%s†pod offsetem %#0<PRIx64> zawiera %d wpis:\n" msgstr[1] "" "\n" -"Sekcja relokacji [%2u] \"%s\" pod offsetem %#0<PRIx64> zawiera %d wpisy:\n" +"Sekcja relokacji [%2u] „%s†pod offsetem %#0<PRIx64> zawiera %d wpisy:\n" msgstr[2] "" "\n" -"Sekcja relokacji [%2u] \"%s\" pod offsetem %#0<PRIx64> zawiera %d wpisów:\n" +"Sekcja relokacji [%2u] „%s†pod offsetem %#0<PRIx64> zawiera %d wpisów:\n" -#: src/readelf.c:1813 +#: src/readelf.c:1901 msgid " Offset Type Value Name\n" msgstr " Offset Typ Wartość Nazwa\n" -#: src/readelf.c:1815 +#: src/readelf.c:1903 msgid " Offset Type Value Name\n" msgstr " Offset Typ Wartość Nazwa\n" -#: src/readelf.c:1868 src/readelf.c:1879 src/readelf.c:1892 src/readelf.c:1913 -#: src/readelf.c:1925 src/readelf.c:2059 src/readelf.c:2071 src/readelf.c:2085 -#: src/readelf.c:2107 src/readelf.c:2120 +#: src/readelf.c:1956 src/readelf.c:1967 src/readelf.c:1980 src/readelf.c:2001 +#: src/readelf.c:2013 src/readelf.c:2147 src/readelf.c:2159 src/readelf.c:2173 +#: src/readelf.c:2195 src/readelf.c:2208 msgid "<INVALID RELOC>" msgstr "<NIEPRAWIDÅOWA RELOKACJA>" -#: src/readelf.c:2003 +#: src/readelf.c:2091 msgid " Offset Type Value Addend Name\n" msgstr " Offset Typ Wartość Koniec Nazwa\n" -#: src/readelf.c:2005 +#: src/readelf.c:2093 msgid " Offset Type Value Addend Name\n" msgstr "" " Offset Typ Wartość Koniec Nazwa\n" -#: src/readelf.c:2216 +#: src/readelf.c:2314 #, c-format msgid "" "\n" @@ -5003,49 +5062,49 @@ msgid_plural "" "Symbol table [%2u] '%s' contains %u entries:\n" msgstr[0] "" "\n" -"Tabela symboli [%2u] \"%s\" zawiera %u wpis:\n" +"Tabela symboli [%2u] „%s†zawiera %u wpis:\n" msgstr[1] "" "\n" -"Tabela symboli [%2u] \"%s\" zawiera %u wpisy:\n" +"Tabela symboli [%2u] „%s†zawiera %u wpisy:\n" msgstr[2] "" "\n" -"Tabela symboli [%2u] \"%s\" zawiera %u wpisów:\n" +"Tabela symboli [%2u] „%s†zawiera %u wpisów:\n" -#: src/readelf.c:2221 +#: src/readelf.c:2319 #, c-format msgid " %lu local symbol String table: [%2u] '%s'\n" msgid_plural " %lu local symbols String table: [%2u] '%s'\n" -msgstr[0] " %lu symbol lokalny Tabela ciÄ…gów: [%2u] \"%s\"\n" -msgstr[1] " %lu symbole lokalne Tabela ciÄ…gów: [%2u] \"%s\"\n" -msgstr[2] " %lu symboli lokalnych Tabela ciÄ…gów: [%2u] \"%s\"\n" +msgstr[0] " %lu symbol lokalny Tabela ciÄ…gów: [%2u] „%sâ€\n" +msgstr[1] " %lu symbole lokalne Tabela ciÄ…gów: [%2u] „%sâ€\n" +msgstr[2] " %lu symboli lokalnych Tabela ciÄ…gów: [%2u] „%sâ€\n" -#: src/readelf.c:2229 +#: src/readelf.c:2327 msgid " Num: Value Size Type Bind Vis Ndx Name\n" msgstr " Numer: Wartość Rozm Typ Bind Widoczność Ndx Nazwa\n" -#: src/readelf.c:2231 +#: src/readelf.c:2329 msgid " Num: Value Size Type Bind Vis Ndx Name\n" msgstr " Numer: Wartość Rozm Typ Bind Widoczność Ndx Nazwa\n" -#: src/readelf.c:2251 +#: src/readelf.c:2349 #, c-format msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s" msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s" -#: src/readelf.c:2339 +#: src/readelf.c:2437 #, c-format msgid "bad dynamic symbol" msgstr "bÅ‚Ä™dny symbol dynamiczny" -#: src/readelf.c:2421 +#: src/readelf.c:2519 msgid "none" msgstr "brak" -#: src/readelf.c:2438 +#: src/readelf.c:2536 msgid "| <unknown>" msgstr "| <nieznany>" -#: src/readelf.c:2469 +#: src/readelf.c:2567 #, c-format msgid "" "\n" @@ -5057,31 +5116,31 @@ msgid_plural "" " Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] '%s'\n" msgstr[0] "" "\n" -"Sekcja wymaganych wersji [%2u] \"%s\" zawiera %d wpis:\n" -" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s" -"\"\n" +"Sekcja wymaganych wersji [%2u] „%s†zawiera %d wpis:\n" +" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] " +"„%sâ€\n" msgstr[1] "" "\n" -"Sekcja wymaganych wersji [%2u] \"%s\" zawiera %d wpisy:\n" -" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s" -"\"\n" +"Sekcja wymaganych wersji [%2u] „%s†zawiera %d wpisy:\n" +" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] " +"„%sâ€\n" msgstr[2] "" "\n" -"Sekcja wymaganych wersji [%2u] \"%s\" zawiera %d wpisów:\n" -" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s" -"\"\n" +"Sekcja wymaganych wersji [%2u] „%s†zawiera %d wpisów:\n" +" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] " +"„%sâ€\n" -#: src/readelf.c:2490 +#: src/readelf.c:2588 #, c-format msgid " %#06x: Version: %hu File: %s Cnt: %hu\n" msgstr " %#06x: Wersja: %hu Plik: %s Licznik: %hu\n" -#: src/readelf.c:2503 +#: src/readelf.c:2601 #, c-format msgid " %#06x: Name: %s Flags: %s Version: %hu\n" msgstr " %#06x: Nazwa: %s Flagi: %s Wersja: %hu\n" -#: src/readelf.c:2546 +#: src/readelf.c:2644 #, c-format msgid "" "\n" @@ -5093,32 +5152,32 @@ msgid_plural "" " Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] '%s'\n" msgstr[0] "" "\n" -"Sekcja definicji wersji [%2u] \"%s\" zawiera %d wpis:\n" -" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s" -"\"\n" +"Sekcja definicji wersji [%2u] „%s†zawiera %d wpis:\n" +" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] " +"„%sâ€\n" msgstr[1] "" "\n" -"Sekcja definicji wersji [%2u] \"%s\" zawiera %d wpisy:\n" -" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s" -"\"\n" +"Sekcja definicji wersji [%2u] „%s†zawiera %d wpisy:\n" +" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] " +"„%sâ€\n" msgstr[2] "" "\n" -"Sekcja definicji wersji [%2u] \"%s\" zawiera %d wpisów:\n" -" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s" -"\"\n" +"Sekcja definicji wersji [%2u] „%s†zawiera %d wpisów:\n" +" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] " +"„%sâ€\n" -#: src/readelf.c:2574 +#: src/readelf.c:2672 #, c-format msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n" msgstr "" " %#06x: Wersja: %hd Flagi: %s Indeks: %hd Licznik: %hd Nazwa: %s\n" -#: src/readelf.c:2589 +#: src/readelf.c:2687 #, c-format msgid " %#06x: Parent %d: %s\n" msgstr " %#06x: Rodzic %d: %s\n" -#: src/readelf.c:2850 +#: src/readelf.c:2948 #, c-format msgid "" "\n" @@ -5130,29 +5189,26 @@ msgid_plural "" " Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] '%s'" msgstr[0] "" "\n" -"Sekcja symboli wersji [%2u] \"%s\" zawiera %d wpis:\n" -" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s" -"\"" +"Sekcja symboli wersji [%2u] „%s†zawiera %d wpis:\n" +" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] „%sâ€" msgstr[1] "" "\n" -"Sekcja symboli wersji [%2u] \"%s\" zawiera %d wpisy:\n" -" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s" -"\"" +"Sekcja symboli wersji [%2u] „%s†zawiera %d wpisy:\n" +" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] „%sâ€" msgstr[2] "" "\n" -"Sekcja symboli wersji [%2u] \"%s\" zawiera %d wpisów:\n" -" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s" -"\"" +"Sekcja symboli wersji [%2u] „%s†zawiera %d wpisów:\n" +" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] „%sâ€" -#: src/readelf.c:2878 +#: src/readelf.c:2976 msgid " 0 *local* " msgstr " 0 *lokalny* " -#: src/readelf.c:2883 +#: src/readelf.c:2981 msgid " 1 *global* " msgstr " 1 *globalny* " -#: src/readelf.c:2925 +#: src/readelf.c:3023 #, c-format msgid "" "\n" @@ -5166,39 +5222,39 @@ msgid_plural "" " Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] '%s'\n" msgstr[0] "" "\n" -"Histogram dla dÅ‚ugoÅ›ci listy kubeÅ‚ków w sekcji [%2u] \"%s\" (w sumie %d " +"Histogram dla dÅ‚ugoÅ›ci listy kubeÅ‚ków w sekcji [%2u] „%s†(w sumie %d " "kubeÅ‚ek):\n" -" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s" -"\"\n" +" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] " +"„%sâ€\n" msgstr[1] "" "\n" -"Histogram dla dÅ‚ugoÅ›ci listy kubeÅ‚ków w sekcji [%2u] \"%s\" (w sumie %d " +"Histogram dla dÅ‚ugoÅ›ci listy kubeÅ‚ków w sekcji [%2u] „%s†(w sumie %d " "kubeÅ‚ki):\n" -" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s" -"\"\n" +" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] " +"„%sâ€\n" msgstr[2] "" "\n" -"Histogram dla dÅ‚ugoÅ›ci listy kubeÅ‚ków w sekcji [%2u] \"%s\" (w sumie %d " +"Histogram dla dÅ‚ugoÅ›ci listy kubeÅ‚ków w sekcji [%2u] „%s†(w sumie %d " "kubeÅ‚ków):\n" -" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] \"%s" -"\"\n" +" Adres: %#0*<PRIx64> Offset: %#08<PRIx64> DowiÄ…zanie do sekcji: [%2u] " +"„%sâ€\n" -#: src/readelf.c:2947 +#: src/readelf.c:3045 #, no-c-format msgid " Length Number % of total Coverage\n" msgstr " DÅ‚ugość Liczba % caÅ‚oÅ›ci Pokrycie\n" -#: src/readelf.c:2949 +#: src/readelf.c:3047 #, c-format msgid " 0 %6<PRIu32> %5.1f%%\n" msgstr " 0 %6<PRIu32> %5.1f%%\n" -#: src/readelf.c:2956 +#: src/readelf.c:3054 #, c-format msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n" msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n" -#: src/readelf.c:2969 +#: src/readelf.c:3067 #, c-format msgid "" " Average number of tests: successful lookup: %f\n" @@ -5207,27 +5263,27 @@ msgstr "" " Åšrednia liczba testów: udane wyszukania: %f\n" "\t\t\t nieudane wyszukania: %f\n" -#: src/readelf.c:2987 src/readelf.c:3042 src/readelf.c:3099 +#: src/readelf.c:3085 src/readelf.c:3140 src/readelf.c:3197 #, c-format msgid "cannot get data for section %d: %s" msgstr "nie można uzyskać danych dla sekcji %d: %s" -#: src/readelf.c:2995 +#: src/readelf.c:3093 #, c-format msgid "invalid data in sysv.hash section %d" msgstr "nieprawidÅ‚owe dane w sekcji sysv.hash %d" -#: src/readelf.c:3050 +#: src/readelf.c:3148 #, c-format msgid "invalid data in sysv.hash64 section %d" msgstr "nieprawidÅ‚owe dane w sekcji sysv.hash64 %d" -#: src/readelf.c:3108 +#: src/readelf.c:3206 #, c-format msgid "invalid data in gnu.hash section %d" msgstr "nieprawidÅ‚owe dane w sekcji gnu.hash %d" -#: src/readelf.c:3175 +#: src/readelf.c:3273 #, c-format msgid "" " Symbol Bias: %u\n" @@ -5237,7 +5293,7 @@ msgstr "" " Rozmiar maski bitowej: %zu bajtów %<PRIuFAST32>%% bitów ustawionych " "drugie przesuniÄ™cie skrótu: %u\n" -#: src/readelf.c:3250 +#: src/readelf.c:3358 #, c-format msgid "" "\n" @@ -5247,18 +5303,18 @@ msgid_plural "" "Library list section [%2zu] '%s' at offset %#0<PRIx64> contains %d entries:\n" msgstr[0] "" "\n" -"Sekcja listy bibliotek [%2zu] \"%s\" pod offsetem %#0<PRIx64> zawiera %d " +"Sekcja listy bibliotek [%2zu] „%s†pod offsetem %#0<PRIx64> zawiera %d " "wpis:\n" msgstr[1] "" "\n" -"Sekcja listy bibliotek [%2zu] \"%s\" pod offsetem %#0<PRIx64> zawiera %d " +"Sekcja listy bibliotek [%2zu] „%s†pod offsetem %#0<PRIx64> zawiera %d " "wpisy:\n" msgstr[2] "" "\n" -"Sekcja listy bibliotek [%2zu] \"%s\" pod offsetem %#0<PRIx64> zawiera %d " +"Sekcja listy bibliotek [%2zu] „%s†pod offsetem %#0<PRIx64> zawiera %d " "wpisów:\n" -#: src/readelf.c:3264 +#: src/readelf.c:3372 msgid "" " Library Time Stamp Checksum Version " "Flags" @@ -5266,7 +5322,7 @@ msgstr "" " Biblioteka Oznaczenie czasu Suma k. Wersja " "Flagi" -#: src/readelf.c:3314 +#: src/readelf.c:3422 #, c-format msgid "" "\n" @@ -5274,143 +5330,143 @@ msgid "" "%#0<PRIx64>:\n" msgstr "" "\n" -"Sekcja atrybutów obiektu [%2zu] \"%s\" %<PRIu64> bajtów pod offsetem " +"Sekcja atrybutów obiektu [%2zu] „%s†%<PRIu64> bajtów pod offsetem " "%#0<PRIx64>:\n" -#: src/readelf.c:3331 +#: src/readelf.c:3439 msgid " Owner Size\n" msgstr " WÅ‚aÅ›ciciel Rozmiar\n" -#: src/readelf.c:3360 +#: src/readelf.c:3468 #, c-format msgid " %-13s %4<PRIu32>\n" msgstr " %-13s %4<PRIu32>\n" -#: src/readelf.c:3399 +#: src/readelf.c:3507 #, c-format msgid " %-4u %12<PRIu32>\n" msgstr " %-4u %12<PRIu32>\n" -#: src/readelf.c:3404 +#: src/readelf.c:3512 #, c-format msgid " File: %11<PRIu32>\n" msgstr " Plik: %11<PRIu32>\n" -#: src/readelf.c:3453 +#: src/readelf.c:3561 #, c-format msgid " %s: %<PRId64>, %s\n" msgstr " %s: %<PRId64>, %s\n" -#: src/readelf.c:3456 +#: src/readelf.c:3564 #, c-format msgid " %s: %<PRId64>\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:3459 +#: src/readelf.c:3567 #, c-format msgid " %s: %s\n" msgstr " %s: %s\n" -#: src/readelf.c:3469 +#: src/readelf.c:3577 #, c-format msgid " %u: %<PRId64>\n" msgstr " %u: %<PRId64>\n" -#: src/readelf.c:3472 +#: src/readelf.c:3580 #, c-format msgid " %u: %s\n" msgstr " %u: %s\n" -#: src/readelf.c:3517 +#: src/readelf.c:3625 #, c-format msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>" msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3520 +#: src/readelf.c:3628 #, c-format msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>" msgstr "%s+%#0*<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3525 +#: src/readelf.c:3633 #, c-format msgid "%#<PRIx64> <%s+%#<PRIx64>>" msgstr "%#<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3528 +#: src/readelf.c:3636 #, c-format msgid "%#0*<PRIx64> <%s+%#<PRIx64>>" msgstr "%#0*<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3534 +#: src/readelf.c:3642 #, c-format msgid "%s+%#<PRIx64> <%s>" msgstr "%s+%#<PRIx64> <%s>" -#: src/readelf.c:3537 +#: src/readelf.c:3645 #, c-format msgid "%s+%#0*<PRIx64> <%s>" msgstr "%s+%#0*<PRIx64> <%s>" -#: src/readelf.c:3541 +#: src/readelf.c:3649 #, c-format msgid "%#<PRIx64> <%s>" msgstr "%#<PRIx64> <%s>" -#: src/readelf.c:3544 +#: src/readelf.c:3652 #, c-format msgid "%#0*<PRIx64> <%s>" msgstr "%#0*<PRIx64> <%s>" -#: src/readelf.c:3549 +#: src/readelf.c:3657 #, c-format msgid "%s+%#<PRIx64>" msgstr "%s+%#<PRIx64>" -#: src/readelf.c:3552 +#: src/readelf.c:3660 #, c-format msgid "%s+%#0*<PRIx64>" msgstr "%s+%#0*<PRIx64>" -#: src/readelf.c:3930 +#: src/readelf.c:4038 msgid "empty block" msgstr "pusty blok" -#: src/readelf.c:3933 +#: src/readelf.c:4041 #, c-format msgid "%zu byte block:" msgstr "%zu bajtowy blok:" -#: src/readelf.c:4330 +#: src/readelf.c:4438 #, c-format msgid "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n" msgstr "%*s[%4<PRIuMAX>] %s <SKRÓCONE>\n" -#: src/readelf.c:4387 +#: src/readelf.c:4495 #, c-format msgid "%s %#<PRIx64> used with different address sizes" msgstr "%s %#<PRIx64> zostaÅ‚o użyte z różnymi rozmiarami adresu" -#: src/readelf.c:4394 +#: src/readelf.c:4502 #, c-format msgid "%s %#<PRIx64> used with different offset sizes" msgstr "%s %#<PRIx64> zostaÅ‚o użyte z różnymi rozmiarami offsetu" -#: src/readelf.c:4401 +#: src/readelf.c:4509 #, c-format msgid "%s %#<PRIx64> used with different base addresses" msgstr "%s %#<PRIx64> zostaÅ‚o użyte z różnymi adresami podstawowymi" -#: src/readelf.c:4490 +#: src/readelf.c:4598 #, c-format msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n" msgstr " [%6tx] <NIEUÅ»YWANE ÅšMIECIE W RESZCIE SEKCJI>\n" -#: src/readelf.c:4498 +#: src/readelf.c:4606 #, c-format msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n" -msgstr " [%6tx] <NIEUÅ»YWANE ÅšMIECIE>... %<PRIu64> bajtów...\n" +msgstr " [%6tx] <NIEUÅ»YWANE ÅšMIECIE>… %<PRIu64> bajtów…\n" -#: src/readelf.c:4524 +#: src/readelf.c:4632 #, c-format msgid "" "\n" @@ -5418,10 +5474,10 @@ msgid "" " [ Code]\n" msgstr "" "\n" -"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64>:\n" +"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64>:\n" " [ Kod]\n" -#: src/readelf.c:4532 +#: src/readelf.c:4640 #, c-format msgid "" "\n" @@ -5430,30 +5486,30 @@ msgstr "" "\n" "Sekcja skrótów pod offsetem %<PRIu64>:\n" -#: src/readelf.c:4545 +#: src/readelf.c:4653 #, c-format msgid " *** error while reading abbreviation: %s\n" msgstr " *** bÅ‚Ä…d podczas odczytywania skrótu: %s\n" -#: src/readelf.c:4561 +#: src/readelf.c:4669 #, c-format msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n" msgstr " [%5u] offset: %<PRId64>, potomek: %s, znacznik: %s\n" -#: src/readelf.c:4564 +#: src/readelf.c:4672 msgid "yes" msgstr "tak" -#: src/readelf.c:4564 +#: src/readelf.c:4672 msgid "no" msgstr "nie" -#: src/readelf.c:4598 src/readelf.c:4671 +#: src/readelf.c:4706 src/readelf.c:4779 #, c-format msgid "cannot get .debug_aranges content: %s" msgstr "nie można uzyskać zawartoÅ›ci .debug_aranges: %s" -#: src/readelf.c:4613 +#: src/readelf.c:4721 #, c-format msgid "" "\n" @@ -5463,20 +5519,20 @@ msgid_plural "" "DWARF section [%2zu] '%s' at offset %#<PRIx64> contains %zu entries:\n" msgstr[0] "" "\n" -"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64> zawiera %zu wpis:\n" +"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64> zawiera %zu wpis:\n" msgstr[1] "" "\n" -"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64> zawiera %zu wpisy:\n" +"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64> zawiera %zu wpisy:\n" msgstr[2] "" "\n" -"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64> zawiera %zu wpisów:\n" +"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64> zawiera %zu wpisów:\n" -#: src/readelf.c:4644 +#: src/readelf.c:4752 #, c-format msgid " [%*zu] ???\n" msgstr " [%*zu] ???\n" -#: src/readelf.c:4646 +#: src/readelf.c:4754 #, c-format msgid "" " [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n" @@ -5484,31 +5540,31 @@ msgstr "" " [%*zu] poczÄ…tek: %0#*<PRIx64>, dÅ‚ugość: %5<PRIu64>, offset CU DIE: " "%6<PRId64>\n" -#: src/readelf.c:4676 src/readelf.c:4830 src/readelf.c:5406 src/readelf.c:6360 -#: src/readelf.c:6892 src/readelf.c:7012 src/readelf.c:7176 src/readelf.c:7601 +#: src/readelf.c:4784 src/readelf.c:4938 src/readelf.c:5514 src/readelf.c:6468 +#: src/readelf.c:7000 src/readelf.c:7120 src/readelf.c:7284 src/readelf.c:7709 #, c-format msgid "" "\n" "DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n" msgstr "" "\n" -"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64>:\n" +"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64>:\n" -#: src/readelf.c:4689 src/readelf.c:6386 -#, fuzzy, c-format +#: src/readelf.c:4797 src/readelf.c:6494 +#, c-format msgid "" "\n" "Table at offset %zu:\n" msgstr "" "\n" -"Tabela pod offsetem %Zu:\n" +"Tabela pod offsetem %zu:\n" -#: src/readelf.c:4693 src/readelf.c:5430 src/readelf.c:6397 +#: src/readelf.c:4801 src/readelf.c:5538 src/readelf.c:6505 #, c-format msgid "invalid data in section [%zu] '%s'" -msgstr "nieprawidÅ‚owe dane w sekcji [%zu] \"%s\"" +msgstr "nieprawidÅ‚owe dane w sekcji [%zu] „%sâ€" -#: src/readelf.c:4709 +#: src/readelf.c:4817 #, c-format msgid "" "\n" @@ -5517,32 +5573,32 @@ msgstr "" "\n" " DÅ‚ugość: %6<PRIu64>\n" -#: src/readelf.c:4721 +#: src/readelf.c:4829 #, c-format msgid " DWARF version: %6<PRIuFAST16>\n" msgstr " Wersja DWARF: %6<PRIuFAST16>\n" -#: src/readelf.c:4725 +#: src/readelf.c:4833 #, c-format msgid "unsupported aranges version" msgstr "nieobsÅ‚ugiwana wersja aranges" -#: src/readelf.c:4736 +#: src/readelf.c:4844 #, c-format msgid " CU offset: %6<PRIx64>\n" msgstr " Offset CU: %6<PRIx64>\n" -#: src/readelf.c:4742 +#: src/readelf.c:4850 #, c-format msgid " Address size: %6<PRIu64>\n" msgstr " Offset adresu: %6<PRIu64>\n" -#: src/readelf.c:4746 +#: src/readelf.c:4854 #, c-format msgid "unsupported address size" msgstr "nieobsÅ‚ugiwany rozmiar adresu" -#: src/readelf.c:4751 +#: src/readelf.c:4859 #, c-format msgid "" " Segment size: %6<PRIu64>\n" @@ -5551,75 +5607,75 @@ msgstr "" " Rozmiar segmentu: %6<PRIu64>\n" "\n" -#: src/readelf.c:4755 +#: src/readelf.c:4863 #, c-format msgid "unsupported segment size" msgstr "nieobsÅ‚ugiwany rozmiar segmentu" -#: src/readelf.c:4795 +#: src/readelf.c:4903 #, c-format msgid " %s..%s (%<PRIx64>)\n" msgstr " %s..%s (%<PRIx64>)\n" -#: src/readelf.c:4798 +#: src/readelf.c:4906 #, c-format msgid " %s..%s\n" msgstr " %s..%s\n" -#: src/readelf.c:4807 -#, fuzzy, c-format +#: src/readelf.c:4915 +#, c-format msgid " %zu padding bytes\n" -msgstr " bajty wypeÅ‚nienia: %Zu\n" +msgstr " bajty wypeÅ‚nienia: %zu\n" -#: src/readelf.c:4825 +#: src/readelf.c:4933 #, c-format msgid "cannot get .debug_ranges content: %s" msgstr "nie można uzyskać zawartoÅ›ci .debug_ranges: %s" -#: src/readelf.c:4855 src/readelf.c:6919 +#: src/readelf.c:4963 src/readelf.c:7027 #, c-format msgid " [%6tx] <INVALID DATA>\n" msgstr " [%6tx] <NIEPRAWIDÅOWE DANE>\n" -#: src/readelf.c:4877 src/readelf.c:6941 +#: src/readelf.c:4985 src/readelf.c:7049 #, c-format msgid " [%6tx] base address %s\n" msgstr " [%6tx] adres podstawowy %s\n" -#: src/readelf.c:4884 src/readelf.c:6948 +#: src/readelf.c:4992 src/readelf.c:7056 #, c-format msgid " [%6tx] empty list\n" msgstr " [%6tx] pusta lista\n" -#: src/readelf.c:4895 +#: src/readelf.c:5003 #, c-format msgid " [%6tx] %s..%s\n" -msgstr " [%6tx] %s...%s\n" +msgstr " [%6tx] %s…%s\n" -#: src/readelf.c:4897 +#: src/readelf.c:5005 #, c-format msgid " %s..%s\n" -msgstr " %s...%s\n" +msgstr " %s…%s\n" -#: src/readelf.c:5076 +#: src/readelf.c:5184 msgid " <INVALID DATA>\n" msgstr " <NIEPRAWIDÅOWE DANE>\n" -#: src/readelf.c:5385 +#: src/readelf.c:5493 #, c-format msgid "cannot get ELF: %s" msgstr "nie można uzyskać ELF: %s" -#: src/readelf.c:5402 +#: src/readelf.c:5510 #, c-format msgid "" "\n" "Call frame information section [%2zu] '%s' at offset %#<PRIx64>:\n" msgstr "" "\n" -"Sekcja informacji o ramce wywoÅ‚ania [%2zu] \"%s\" pod offsetem %#<PRIx64>:\n" +"Sekcja informacji o ramce wywoÅ‚ania [%2zu] „%s†pod offsetem %#<PRIx64>:\n" -#: src/readelf.c:5452 +#: src/readelf.c:5560 #, c-format msgid "" "\n" @@ -5628,50 +5684,50 @@ msgstr "" "\n" " [%6tx] Zerowy koniec\n" -#: src/readelf.c:5545 src/readelf.c:5700 +#: src/readelf.c:5653 src/readelf.c:5808 #, c-format msgid "invalid augmentation length" msgstr "nieprawidÅ‚owa dÅ‚ugość powiÄ™kszenia" -#: src/readelf.c:5560 +#: src/readelf.c:5668 msgid "FDE address encoding: " msgstr "Kodowanie adresu FDE: " -#: src/readelf.c:5566 +#: src/readelf.c:5674 msgid "LSDA pointer encoding: " msgstr "Kodowanie wskaźnika LSDA: " -#: src/readelf.c:5677 +#: src/readelf.c:5785 #, c-format msgid " (offset: %#<PRIx64>)" msgstr " (offset: %#<PRIx64>)" -#: src/readelf.c:5684 +#: src/readelf.c:5792 #, c-format msgid " (end offset: %#<PRIx64>)" msgstr " (koÅ„czÄ…cy offset: %#<PRIx64>)" -#: src/readelf.c:5721 +#: src/readelf.c:5829 #, c-format msgid " %-26sLSDA pointer: %#<PRIx64>\n" msgstr " %-26sWskaźnik LSDA: %#<PRIx64>\n" -#: src/readelf.c:5776 +#: src/readelf.c:5884 #, c-format msgid "cannot get attribute code: %s" msgstr "nie można uzyskać kodu atrybutu: %s" -#: src/readelf.c:5785 +#: src/readelf.c:5893 #, c-format msgid "cannot get attribute form: %s" msgstr "nie można uzyskać formy atrybutu: %s" -#: src/readelf.c:5800 +#: src/readelf.c:5908 #, c-format msgid "cannot get attribute value: %s" msgstr "nie można uzyskać wartoÅ›ci atrybutu: %s" -#: src/readelf.c:6099 +#: src/readelf.c:6207 #, c-format msgid "" "\n" @@ -5679,10 +5735,10 @@ msgid "" " [Offset]\n" msgstr "" "\n" -"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64>:\n" +"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64>:\n" " [Offset]\n" -#: src/readelf.c:6131 +#: src/readelf.c:6239 #, c-format msgid "" " Type unit at offset %<PRIu64>:\n" @@ -5695,7 +5751,7 @@ msgstr "" "%<PRIu8>, rozmiar offsetu: %<PRIu8>\n" " Podpis typu: %#<PRIx64>, offset typu: %#<PRIx64>\n" -#: src/readelf.c:6140 +#: src/readelf.c:6248 #, c-format msgid "" " Compilation unit at offset %<PRIu64>:\n" @@ -5706,33 +5762,33 @@ msgstr "" " Wersja: %<PRIu16>, offset sekcji skrótów: %<PRIu64>, rozmiar adresu: " "%<PRIu8>, rozmiar offsetu: %<PRIu8>\n" -#: src/readelf.c:6165 +#: src/readelf.c:6273 #, c-format msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s" -msgstr "nie można uzyskać DIE pod offsetem %<PRIu64> w sekcji \"%s\": %s" +msgstr "nie można uzyskać DIE pod offsetem %<PRIu64> w sekcji „%sâ€: %s" -#: src/readelf.c:6179 +#: src/readelf.c:6287 #, c-format msgid "cannot get DIE offset: %s" msgstr "nie można uzyskać offsetu DIE: %s" -#: src/readelf.c:6188 +#: src/readelf.c:6296 #, c-format msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s" msgstr "" -"nie można uzyskać znacznika DIE pod offsetem %<PRIu64> w sekcji \"%s\": %s" +"nie można uzyskać znacznika DIE pod offsetem %<PRIu64> w sekcji „%sâ€: %s" -#: src/readelf.c:6220 +#: src/readelf.c:6328 #, c-format msgid "cannot get next DIE: %s\n" msgstr "nie można uzyskać nastÄ™pnego DIE: %s\n" -#: src/readelf.c:6228 +#: src/readelf.c:6336 #, c-format msgid "cannot get next DIE: %s" msgstr "nie można uzyskać nastÄ™pnego DIE: %s" -#: src/readelf.c:6264 +#: src/readelf.c:6372 #, c-format msgid "" "\n" @@ -5740,15 +5796,15 @@ msgid "" "\n" msgstr "" "\n" -"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64>:\n" +"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64>:\n" "\n" -#: src/readelf.c:6373 +#: src/readelf.c:6481 #, c-format msgid "cannot get line data section data: %s" msgstr "nie można uzyskać danych sekcji danych wiersza: %s" -#: src/readelf.c:6443 +#: src/readelf.c:6551 #, c-format msgid "" "\n" @@ -5770,19 +5826,19 @@ msgstr "" " DÅ‚ugość prologu: %<PRIu64>\n" " Minimalna dÅ‚ugość instrukcji: %<PRIuFAST8>\n" " Maksymalna liczba dziaÅ‚aÅ„ na instrukcjÄ™: %<PRIuFAST8>\n" -" PoczÄ…tkowa wartość \"%s\": %<PRIuFAST8>\n" +" PoczÄ…tkowa wartość „%sâ€: %<PRIuFAST8>\n" " PoczÄ…tek wiersza: %<PRIdFAST8>\n" " PrzedziaÅ‚ wiersza: %<PRIuFAST8>\n" " PoczÄ…tek instrukcji: %<PRIuFAST8>\n" "\n" "Instrukcje:\n" -#: src/readelf.c:6464 +#: src/readelf.c:6572 #, c-format msgid "invalid data at offset %tu in section [%zu] '%s'" -msgstr "nieprawidÅ‚owe dane pod offsetem %tu w sekcji [%zu] \"%s\"" +msgstr "nieprawidÅ‚owe dane pod offsetem %tu w sekcji [%zu] „%sâ€" -#: src/readelf.c:6479 +#: src/readelf.c:6587 #, c-format msgid " [%*<PRIuFAST8>] %hhu argument\n" msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n" @@ -5790,7 +5846,7 @@ msgstr[0] " [%*<PRIuFAST8>] %hhu parametr\n" msgstr[1] " [%*<PRIuFAST8>] %hhu parametry\n" msgstr[2] " [%*<PRIuFAST8>] %hhu parametrów\n" -#: src/readelf.c:6487 +#: src/readelf.c:6595 msgid "" "\n" "Directory table:" @@ -5798,7 +5854,7 @@ msgstr "" "\n" "Tabela katalogu:" -#: src/readelf.c:6503 +#: src/readelf.c:6611 msgid "" "\n" "File name table:\n" @@ -5808,7 +5864,7 @@ msgstr "" "Tabela nazw plików:\n" " Wpis Kat Czas Rozmiar Nazwa" -#: src/readelf.c:6538 +#: src/readelf.c:6646 msgid "" "\n" "Line number statements:" @@ -5816,119 +5872,119 @@ msgstr "" "\n" "Instrukcje numerów wierszy:" -#: src/readelf.c:6589 +#: src/readelf.c:6697 #, c-format msgid "invalid maximum operations per instruction is zero" msgstr "nieprawidÅ‚owe maksimum operacji na instrukcjÄ™ wynosi zero" -#: src/readelf.c:6625 +#: src/readelf.c:6733 #, c-format msgid " special opcode %u: address+%u = %s, op_index = %u, line%+d = %zu\n" msgstr "" " instrukcja specjalna %u: adres+%u = %s, op_index = %u, wiersz%+d = %zu\n" -#: src/readelf.c:6630 +#: src/readelf.c:6738 #, c-format msgid " special opcode %u: address+%u = %s, line%+d = %zu\n" msgstr " instrukcja specjalna %u: adres+%u = %s, wiersz%+d = %zu\n" -#: src/readelf.c:6650 +#: src/readelf.c:6758 #, c-format msgid " extended opcode %u: " msgstr " instrukcja rozszerzona %u: " -#: src/readelf.c:6655 +#: src/readelf.c:6763 msgid " end of sequence" msgstr " koniec sekwencji" -#: src/readelf.c:6674 +#: src/readelf.c:6782 #, c-format msgid " set address to %s\n" msgstr " ustawienie adresu na %s\n" -#: src/readelf.c:6701 +#: src/readelf.c:6809 #, c-format msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n" msgstr "" " definicja nowego pliku: dir=%u, mtime=%<PRIu64>, dÅ‚ugość=%<PRIu64>, nazwa=" "%s\n" -#: src/readelf.c:6714 +#: src/readelf.c:6822 #, c-format msgid " set discriminator to %u\n" msgstr " ustawienie dyskryminatora na %u\n" -#: src/readelf.c:6719 +#: src/readelf.c:6827 msgid " unknown opcode" msgstr " nieznana instrukcja" -#: src/readelf.c:6731 +#: src/readelf.c:6839 msgid " copy" msgstr " kopiowanie" -#: src/readelf.c:6742 +#: src/readelf.c:6850 #, c-format msgid " advance address by %u to %s, op_index to %u\n" msgstr " zwiÄ™kszenie adresu o %u do %s, op_index do %u\n" -#: src/readelf.c:6746 +#: src/readelf.c:6854 #, c-format msgid " advance address by %u to %s\n" msgstr " zwiÄ™kszenie adresu o %u do %s\n" -#: src/readelf.c:6757 +#: src/readelf.c:6865 #, c-format msgid " advance line by constant %d to %<PRId64>\n" msgstr " zwiÄ™kszenie wiersza o staÅ‚Ä… %d do %<PRId64>\n" -#: src/readelf.c:6765 +#: src/readelf.c:6873 #, c-format msgid " set file to %<PRIu64>\n" msgstr " ustawienie pliku na %<PRIu64>\n" -#: src/readelf.c:6775 +#: src/readelf.c:6883 #, c-format msgid " set column to %<PRIu64>\n" msgstr " ustawienie kolumny na %<PRIu64>\n" -#: src/readelf.c:6782 +#: src/readelf.c:6890 #, c-format msgid " set '%s' to %<PRIuFAST8>\n" -msgstr " ustawienie \"%s\" na %<PRIuFAST8>\n" +msgstr " ustawienie „%s†na %<PRIuFAST8>\n" -#: src/readelf.c:6788 +#: src/readelf.c:6896 msgid " set basic block flag" msgstr " ustawienie podstawowej flagi bloku" -#: src/readelf.c:6801 +#: src/readelf.c:6909 #, c-format msgid " advance address by constant %u to %s, op_index to %u\n" msgstr " zwiÄ™kszenie adresu o staÅ‚Ä… %u do %s, op_index do %u\n" -#: src/readelf.c:6805 +#: src/readelf.c:6913 #, c-format msgid " advance address by constant %u to %s\n" msgstr " zwiÄ™kszenie adresu o staÅ‚Ä… %u do %s\n" -#: src/readelf.c:6823 +#: src/readelf.c:6931 #, c-format msgid " advance address by fixed value %u to %s\n" msgstr " zwiÄ™kszenie adresu o staÅ‚Ä… wartość %u do %s\n" -#: src/readelf.c:6832 +#: src/readelf.c:6940 msgid " set prologue end flag" msgstr " ustawienie flagi koÅ„ca prologu" -#: src/readelf.c:6837 +#: src/readelf.c:6945 msgid " set epilogue begin flag" msgstr " ustawienie flagi poczÄ…tku epilogu" -#: src/readelf.c:6846 +#: src/readelf.c:6954 #, c-format msgid " set isa to %u\n" msgstr " ustawienie isa na %u\n" -#: src/readelf.c:6855 +#: src/readelf.c:6963 #, c-format msgid " unknown opcode with %<PRIu8> parameter:" msgid_plural " unknown opcode with %<PRIu8> parameters:" @@ -5936,101 +5992,101 @@ msgstr[0] " nieznana instrukcja z %<PRIu8> parametrem:" msgstr[1] " nieznana instrukcja z %<PRIu8> parametrami:" msgstr[2] " nieznana instrukcja z %<PRIu8> parametrami:" -#: src/readelf.c:6887 +#: src/readelf.c:6995 #, c-format msgid "cannot get .debug_loc content: %s" msgstr "nie można uzyskać zawartoÅ›ci .debug_log: %s" -#: src/readelf.c:6962 +#: src/readelf.c:7070 #, c-format msgid " [%6tx] %s..%s" -msgstr " [%6tx] %s...%s" +msgstr " [%6tx] %s…%s" -#: src/readelf.c:6964 +#: src/readelf.c:7072 #, c-format msgid " %s..%s" -msgstr " %s...%s" +msgstr " %s…%s" -#: src/readelf.c:6971 src/readelf.c:7859 +#: src/readelf.c:7079 src/readelf.c:7967 msgid " <INVALID DATA>\n" msgstr " <NIEPRAWIDÅOWE DANE>\n" -#: src/readelf.c:7023 src/readelf.c:7185 +#: src/readelf.c:7131 src/readelf.c:7293 #, c-format msgid "cannot get macro information section data: %s" msgstr "nie można uzyskać danych sekcji informacji o makrach: %s" -#: src/readelf.c:7103 +#: src/readelf.c:7211 #, c-format msgid "%*s*** non-terminated string at end of section" msgstr "%*s*** niezakoÅ„czony ciÄ…g na koÅ„cu sekcji" -#: src/readelf.c:7126 +#: src/readelf.c:7234 #, c-format msgid "%*s*** missing DW_MACINFO_start_file argument at end of section" msgstr "%*s*** brak parametru DW_MACINFO_start_file na koÅ„cu sekcji" -#: src/readelf.c:7226 +#: src/readelf.c:7334 #, c-format msgid " Offset: 0x%<PRIx64>\n" msgstr " Offset: 0x%<PRIx64>\n" -#: src/readelf.c:7238 +#: src/readelf.c:7346 #, c-format msgid " Version: %<PRIu16>\n" msgstr " Wersja: %<PRIu16>\n" -#: src/readelf.c:7244 src/readelf.c:7978 +#: src/readelf.c:7352 src/readelf.c:8086 #, c-format msgid " unknown version, cannot parse section\n" msgstr " nieznana wersja, nie można przetworzyć sekcji\n" -#: src/readelf.c:7251 +#: src/readelf.c:7359 #, c-format msgid " Flag: 0x%<PRIx8>\n" msgstr " Flaga: 0x%<PRIx8>\n" -#: src/readelf.c:7254 +#: src/readelf.c:7362 #, c-format msgid " Offset length: %<PRIu8>\n" msgstr " DÅ‚ugość offsetu: %<PRIu8>\n" -#: src/readelf.c:7262 +#: src/readelf.c:7370 #, c-format msgid " .debug_line offset: 0x%<PRIx64>\n" msgstr " Offset .debug_line: 0x%<PRIx64>\n" -#: src/readelf.c:7275 +#: src/readelf.c:7383 #, c-format msgid " extension opcode table, %<PRIu8> items:\n" msgstr " tablica instrukcji rozszerzenia, %<PRIu8> elementów:\n" -#: src/readelf.c:7282 +#: src/readelf.c:7390 #, c-format msgid " [%<PRIx8>]" msgstr " [%<PRIx8>]" -#: src/readelf.c:7294 +#: src/readelf.c:7402 #, c-format msgid " %<PRIu8> arguments:" msgstr " Parametry %<PRIu8>:" -#: src/readelf.c:7322 +#: src/readelf.c:7430 #, c-format msgid " no arguments." msgstr " brak parametrów." -#: src/readelf.c:7559 +#: src/readelf.c:7667 #, c-format msgid "vendor opcode not verified?" msgstr "instrukcja producenta nie zostaÅ‚a sprawdzona?" -#: src/readelf.c:7587 +#: src/readelf.c:7695 #, c-format msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n" msgstr " [%5d] offset DIE: %6<PRId64>, offset CU DIE: %6<PRId64>, nazwa: %s\n" -#: src/readelf.c:7628 +#: src/readelf.c:7736 #, c-format msgid "" "\n" @@ -6038,48 +6094,48 @@ msgid "" " %*s String\n" msgstr "" "\n" -"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64>:\n" +"Sekcja DWARF [%2zu] „%s†pod offsetem %#<PRIx64>:\n" " %*s CiÄ…g\n" -#: src/readelf.c:7642 +#: src/readelf.c:7750 #, c-format msgid " *** error while reading strings: %s\n" msgstr " *** bÅ‚Ä…d podczas odczytywania ciÄ…gów: %s\n" -#: src/readelf.c:7662 +#: src/readelf.c:7770 #, c-format msgid "" "\n" "Call frame search table section [%2zu] '.eh_frame_hdr':\n" msgstr "" "\n" -"Sekcja tabeli wyszukiwania ramki wywoÅ‚ania [%2zu] \".eh_frame_hdr\":\n" +"Sekcja tabeli wyszukiwania ramki wywoÅ‚ania [%2zu] „.eh_frame_hdrâ€:\n" -#: src/readelf.c:7764 +#: src/readelf.c:7872 #, c-format msgid "" "\n" "Exception handling table section [%2zu] '.gcc_except_table':\n" msgstr "" "\n" -"Sekcja tabeli obsÅ‚ugiwania wyjÄ…tków [%2zu] \".gcc_except_table\":\n" +"Sekcja tabeli obsÅ‚ugiwania wyjÄ…tków [%2zu] „.gcc_except_tableâ€:\n" -#: src/readelf.c:7787 +#: src/readelf.c:7895 #, c-format msgid " LPStart encoding: %#x " msgstr " Kodowanie LPStart: %#x " -#: src/readelf.c:7799 +#: src/readelf.c:7907 #, c-format msgid " TType encoding: %#x " msgstr " Kodowanie TType: %#x " -#: src/readelf.c:7814 +#: src/readelf.c:7922 #, c-format msgid " Call site encoding: %#x " msgstr " Kodowanie strony wywoÅ‚ania: %#x " -#: src/readelf.c:7827 +#: src/readelf.c:7935 msgid "" "\n" " Call site table:" @@ -6087,7 +6143,7 @@ msgstr "" "\n" " Tabela strony wywoÅ‚ania:" -#: src/readelf.c:7841 +#: src/readelf.c:7949 #, c-format msgid "" " [%4u] Call site start: %#<PRIx64>\n" @@ -6100,51 +6156,51 @@ msgstr "" " LÄ…dowisko: %#<PRIx64>\n" " DziaÅ‚anie: %u\n" -#: src/readelf.c:7914 +#: src/readelf.c:8022 #, c-format msgid "invalid TType encoding" msgstr "nieprawidÅ‚owe kodowanie TType" -#: src/readelf.c:7940 +#: src/readelf.c:8048 #, c-format msgid "" "\n" "GDB section [%2zu] '%s' at offset %#<PRIx64> contains %<PRId64> bytes :\n" msgstr "" "\n" -"Sekcja GDB [%2zu] \"%s\" pod offsetem %#<PRIx64> zawiera %<PRId64> bajtów:\n" +"Sekcja GDB [%2zu] „%s†pod offsetem %#<PRIx64> zawiera %<PRId64> bajtów:\n" -#: src/readelf.c:7969 +#: src/readelf.c:8077 #, c-format msgid " Version: %<PRId32>\n" msgstr " Wersja: %<PRId32>\n" -#: src/readelf.c:7987 +#: src/readelf.c:8095 #, c-format msgid " CU offset: %#<PRIx32>\n" msgstr " offset CU: %#<PRIx32>\n" -#: src/readelf.c:7994 +#: src/readelf.c:8102 #, c-format msgid " TU offset: %#<PRIx32>\n" msgstr " offset TU: %#<PRIx32>\n" -#: src/readelf.c:8001 +#: src/readelf.c:8109 #, c-format msgid " address offset: %#<PRIx32>\n" msgstr " offset adresu: %#<PRIx32>\n" -#: src/readelf.c:8008 +#: src/readelf.c:8116 #, c-format msgid " symbol offset: %#<PRIx32>\n" msgstr " offset symbolu: %#<PRIx32>\n" -#: src/readelf.c:8015 +#: src/readelf.c:8123 #, c-format msgid " constant offset: %#<PRIx32>\n" msgstr " offset staÅ‚ej: %#<PRIx32>\n" -#: src/readelf.c:8029 +#: src/readelf.c:8137 #, c-format msgid "" "\n" @@ -6153,7 +6209,7 @@ msgstr "" "\n" " Lista CU pod offsetem %#<PRIx32> zawiera %zu wpisów:\n" -#: src/readelf.c:8054 +#: src/readelf.c:8162 #, c-format msgid "" "\n" @@ -6162,7 +6218,7 @@ msgstr "" "\n" " Lista TU pod offsetem %#<PRIx32> zawiera %zu wpisów:\n" -#: src/readelf.c:8083 +#: src/readelf.c:8191 #, c-format msgid "" "\n" @@ -6171,7 +6227,7 @@ msgstr "" "\n" " Lista adresów pod offsetem %#<PRIx32> zawiera %zu wpisów:\n" -#: src/readelf.c:8116 +#: src/readelf.c:8224 #, c-format msgid "" "\n" @@ -6180,50 +6236,50 @@ msgstr "" "\n" " Tabela symboli pod offsetem %#<PRIx32> zawiera %zu gniazd:\n" -#: src/readelf.c:8203 +#: src/readelf.c:8311 #, c-format msgid "cannot get debug context descriptor: %s" msgstr "nie można uzyskać deskryptora kontekstu debugowania: %s" -#: src/readelf.c:8361 src/readelf.c:8983 src/readelf.c:9094 src/readelf.c:9152 +#: src/readelf.c:8467 src/readelf.c:9089 src/readelf.c:9200 src/readelf.c:9258 #, c-format msgid "cannot convert core note data: %s" -msgstr "nie można przekonwertować danych notatki core: %s" +msgstr "nie można konwertować danych notatki core: %s" -#: src/readelf.c:8724 +#: src/readelf.c:8830 #, c-format msgid "" "\n" "%*s... <repeats %u more times> ..." msgstr "" "\n" -"%*s... <powtarza siÄ™ jeszcze %u razy>..." +"%*s… <powtarza siÄ™ jeszcze %u razy>…" -#: src/readelf.c:9231 +#: src/readelf.c:9337 msgid " Owner Data size Type\n" msgstr " WÅ‚aÅ›ciciel Rozmiar danych Typ\n" -#: src/readelf.c:9249 +#: src/readelf.c:9355 #, c-format msgid " %-13.*s %9<PRId32> %s\n" msgstr " %-13.*s %9<PRId32> %s\n" -#: src/readelf.c:9299 +#: src/readelf.c:9405 #, c-format msgid "cannot get content of note section: %s" msgstr "nie można uzyskać zawartoÅ›ci sekcji notatki: %s" -#: src/readelf.c:9326 +#: src/readelf.c:9432 #, c-format msgid "" "\n" "Note section [%2zu] '%s' of %<PRIu64> bytes at offset %#0<PRIx64>:\n" msgstr "" "\n" -"Segment notatki [%2zu] \"%s\" o dÅ‚ugoÅ›ci %<PRIu64> bajtów pod offsetem " +"Segment notatki [%2zu] „%s†o dÅ‚ugoÅ›ci %<PRIu64> bajtów pod offsetem " "%#0<PRIx64>:\n" -#: src/readelf.c:9349 +#: src/readelf.c:9455 #, c-format msgid "" "\n" @@ -6232,50 +6288,71 @@ msgstr "" "\n" "Segment notatki o dÅ‚ugoÅ›ci %<PRIu64> bajtów pod offsetem %#0<PRIx64>:\n" -#: src/readelf.c:9395 -#, fuzzy, c-format +#: src/readelf.c:9501 +#, c-format msgid "" "\n" "Section [%zu] '%s' has no data to dump.\n" msgstr "" "\n" -"Sekcja [%Zu] \"%s\" nie posiada danych do zrzucenia.\n" +"Sekcja [%zu] „%s†nie posiada danych do zrzucenia.\n" -#: src/readelf.c:9401 src/readelf.c:9424 -#, fuzzy, c-format +#: src/readelf.c:9518 src/readelf.c:9559 +#, c-format msgid "cannot get data for section [%zu] '%s': %s" -msgstr "nie można uzyskać danych dla sekcji [%Zu] \"%s\": %s" +msgstr "nie można uzyskać danych dla sekcji [%zu] „%sâ€: %s" -#: src/readelf.c:9405 -#, fuzzy, c-format +#: src/readelf.c:9523 +#, c-format msgid "" "\n" "Hex dump of section [%zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n" msgstr "" "\n" -"Segment zrzutu szesnastkowego [%Zu] \"%s\", %<PRIu64> bajtów pod offsetem " +"Segment zrzutu szesnastkowego [%zu] „%sâ€, %<PRIu64> bajtów pod offsetem " "%#0<PRIx64>:\n" -#: src/readelf.c:9418 -#, fuzzy, c-format +#: src/readelf.c:9528 +#, c-format +msgid "" +"\n" +"Hex dump of section [%zu] '%s', %<PRIu64> bytes (%zd uncompressed) at offset " +"%#0<PRIx64>:\n" +msgstr "" +"\n" +"Zrzut szesnastkowy sekcji [%zu] „%sâ€, %<PRIu64> bajtów (%zd " +"nieskompresowanych) pod offsetem %#0<PRIx64>:\n" + +#: src/readelf.c:9542 +#, c-format msgid "" "\n" "Section [%zu] '%s' has no strings to dump.\n" msgstr "" "\n" -"Sekcja [%Zu] \"%s\" nie posiada ciÄ…gów do zrzucenia.\n" +"Sekcja [%zu] „%s†nie posiada ciÄ…gów do zrzucenia.\n" -#: src/readelf.c:9428 -#, fuzzy, c-format +#: src/readelf.c:9564 +#, c-format msgid "" "\n" "String section [%zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n" msgstr "" "\n" -"Sekcja ciÄ…gów [%Zu] \"%s\" zawiera %<PRIu64> bajtów pod offsetem " -"%#0<PRIx64>:\n" +"Sekcja ciÄ…gów [%zu] „%s†zawiera %<PRIu64> bajtów pod offsetem %#0<PRIx64>:\n" + +#: src/readelf.c:9569 +#, c-format +msgid "" +"\n" +"String section [%zu] '%s' contains %<PRIu64> bytes (%zd uncompressed) at " +"offset %#0<PRIx64>:\n" +msgstr "" +"\n" +"Sekcja ciÄ…gów [%zu] „%s†zawiera %<PRIu64> bajtów (%zd nieskompresowanych) " +"pod offsetem %#0<PRIx64>:\n" -#: src/readelf.c:9476 +#: src/readelf.c:9618 #, c-format msgid "" "\n" @@ -6284,79 +6361,78 @@ msgstr "" "\n" "sekcja [%lu] nie istnieje" -#: src/readelf.c:9505 +#: src/readelf.c:9647 #, c-format msgid "" "\n" "section '%s' does not exist" msgstr "" "\n" -"sekcja \"%s\" nie istnieje" +"sekcja „%s†nie istnieje" -#: src/readelf.c:9562 +#: src/readelf.c:9704 #, c-format msgid "cannot get symbol index of archive '%s': %s" -msgstr "nie można uzyskać indeksu symboli archiwum \"%s\": %s" +msgstr "nie można uzyskać indeksu symboli archiwum „%sâ€: %s" -#: src/readelf.c:9565 +#: src/readelf.c:9707 #, c-format msgid "" "\n" "Archive '%s' has no symbol index\n" msgstr "" "\n" -"Archiwum \"%s\" nie posiada indeksu symboli\n" +"Archiwum „%s†nie posiada indeksu symboli\n" -#: src/readelf.c:9569 -#, fuzzy, c-format +#: src/readelf.c:9711 +#, c-format msgid "" "\n" "Index of archive '%s' has %zu entries:\n" msgstr "" "\n" -"Indeks archiwum \"%s\" posiada %Zu wpisów:\n" +"Indeks archiwum „%s†posiada %zu wpisów:\n" -#: src/readelf.c:9587 -#, fuzzy, c-format +#: src/readelf.c:9729 +#, c-format msgid "cannot extract member at offset %zu in '%s': %s" -msgstr "nie można wydobyć elementów pod offsetem %Zu w \"%s\": %s" +msgstr "nie można wydobyć elementów pod offsetem %zu w „%sâ€: %s" -#: src/readelf.c:9592 +#: src/readelf.c:9734 #, c-format msgid "Archive member '%s' contains:\n" -msgstr "Element archiwum \"%s\" zawiera:\n" +msgstr "Element archiwum „%s†zawiera:\n" #: src/size.c:59 msgid "" "Use the output format FORMAT. FORMAT can be `bsd' or `sysv'. The default " "is `bsd'" msgstr "" -"Używa FORMATU wyjÅ›cia. Może to być \"bsd\" lub \"sysv\". DomyÅ›lny jest \"bsd" -"\"" +"Używa FORMATU wyjÅ›cia. Może to być „bsd†lub „sysvâ€. DomyÅ›lny jest „bsdâ€" #: src/size.c:61 msgid "Same as `--format=sysv'" -msgstr "To samo, co \"--format=sysv\"" +msgstr "To samo, co „--format=sysvâ€" #: src/size.c:62 msgid "Same as `--format=bsd'" -msgstr "To samo, co \"--format=bsd\"" +msgstr "To samo, co „--format=bsdâ€" #: src/size.c:65 msgid "Same as `--radix=10'" -msgstr "To samo, co \"--radix=10\"" +msgstr "To samo, co „--radix=10â€" #: src/size.c:66 msgid "Same as `--radix=8'" -msgstr "To samo, co \"--radix=8\"" +msgstr "To samo, co „--radix=8â€" #: src/size.c:67 msgid "Same as `--radix=16'" -msgstr "To samo, co \"--radix=16\"" +msgstr "To samo, co „--radix=16â€" #: src/size.c:69 msgid "Similar to `--format=sysv' output but in one line" -msgstr "Podobne do wyjÅ›cia \"--format=sysv\", ale w jednym wierszu" +msgstr "Podobne do wyjÅ›cia „--format=sysvâ€, ale w jednym wierszu" #: src/size.c:73 msgid "Print size and permission flags for loadable segments" @@ -6402,7 +6478,7 @@ msgstr "-p PID powinien być dodatnim identyfikatorem procesu." #: src/stack.c:494 #, c-format msgid "Cannot open core file '%s'" -msgstr "Nie można otworzyć pliku core \"%s\"" +msgstr "Nie można otworzyć pliku core „%sâ€" #: src/stack.c:554 #, c-format @@ -6565,7 +6641,7 @@ msgstr "WyÅ›wietla ciÄ…gi znaków drukowalnych w plikach." #: src/strings.c:271 src/strings.c:306 #, c-format msgid "invalid value '%s' for %s parameter" -msgstr "nieprawidÅ‚owa wartość \"%s\" dla parametru %s" +msgstr "nieprawidÅ‚owa wartość „%s†dla parametru %s" #: src/strings.c:317 #, c-format @@ -6573,9 +6649,9 @@ msgid "invalid minimum length of matched string size" msgstr "nieprawidÅ‚owa minimalna dÅ‚ugość dopasowanego rozmiaru ciÄ…gu" #: src/strings.c:600 -#, fuzzy, c-format +#, c-format msgid "lseek failed" -msgstr "lseek64 siÄ™ nie powiodÅ‚o" +msgstr "lseek siÄ™ nie powiodÅ‚o" #: src/strings.c:617 src/strings.c:681 #, c-format @@ -6590,7 +6666,7 @@ msgstr "mprotect siÄ™ nie powiodÅ‚o" #: src/strings.c:743 #, c-format msgid "Skipping section %zd '%s' data outside file" -msgstr "Pomijanie sekcji %zd \"%s\" dane poza plikiem" +msgstr "Pomijanie sekcji %zd „%s†dane poza plikiem" #: src/strip.c:68 msgid "Place stripped output into FILE" @@ -6646,7 +6722,7 @@ msgstr "Użyto --reloc-debug-sections bez opcji -f" #: src/strip.c:200 #, c-format msgid "Only one input file allowed together with '-o' and '-f'" -msgstr "Tylko jeden plik wejÅ›ciowy jest dozwolony z \"-o\" i \"-f\"" +msgstr "Tylko jeden plik wejÅ›ciowy jest dozwolony z „-o†i „-fâ€" #: src/strip.c:236 #, c-format @@ -6671,12 +6747,12 @@ msgstr "Opcja -R obsÅ‚uguje tylko sekcjÄ™ .comment" #: src/strip.c:320 src/strip.c:344 #, c-format msgid "cannot stat input file '%s'" -msgstr "nie można wykonać stat na pliku wejÅ›ciowym \"%s\"" +msgstr "nie można wykonać stat na pliku wejÅ›ciowym „%sâ€" #: src/strip.c:334 #, c-format msgid "while opening '%s'" -msgstr "podczas otwierania \"%s\"" +msgstr "podczas otwierania „%sâ€" #: src/strip.c:372 #, c-format @@ -6701,12 +6777,12 @@ msgstr "nie można uzyskać liczby phdr" #: src/strip.c:544 src/strip.c:568 #, c-format msgid "cannot create new file '%s': %s" -msgstr "nie można utworzyć nowego pliku \"%s\": %s" +msgstr "nie można utworzyć nowego pliku „%sâ€: %s" #: src/strip.c:634 #, c-format msgid "illformed file '%s'" -msgstr "plik \"%s\" posiada bÅ‚Ä™dny format" +msgstr "plik „%s†posiada bÅ‚Ä™dny format" #: src/strip.c:968 src/strip.c:1067 #, c-format @@ -6721,7 +6797,7 @@ msgstr "%s: bÅ‚Ä…d podczas tworzenia nagłówka ELF: %s" #: src/strip.c:1050 #, c-format msgid "while preparing output for '%s'" -msgstr "podczas przygotowywania wyjÅ›cia dla \"%s\"" +msgstr "podczas przygotowywania wyjÅ›cia dla „%sâ€" #: src/strip.c:1108 src/strip.c:1171 #, c-format @@ -6746,12 +6822,12 @@ msgstr "bÅ‚Ä™dna relokacja" #: src/strip.c:1982 src/strip.c:2095 #, c-format msgid "while writing '%s': %s" -msgstr "podczas zapisywania \"%s\": %s" +msgstr "podczas zapisywania „%sâ€: %s" #: src/strip.c:1993 #, c-format msgid "while creating '%s'" -msgstr "podczas tworzenia \"%s\"" +msgstr "podczas tworzenia „%sâ€" #: src/strip.c:2016 #, c-format @@ -6766,17 +6842,17 @@ msgstr "%s: bÅ‚Ä…d podczas odczytywania pliku: %s" #: src/strip.c:2120 src/strip.c:2140 #, c-format msgid "while writing '%s'" -msgstr "podczas zapisywania \"%s\"" +msgstr "podczas zapisywania „%sâ€" #: src/strip.c:2177 src/strip.c:2184 #, c-format msgid "error while finishing '%s': %s" -msgstr "bÅ‚Ä…d podczas koÅ„czenia \"%s\": %s" +msgstr "bÅ‚Ä…d podczas koÅ„czenia „%sâ€: %s" #: src/strip.c:2201 src/strip.c:2273 #, c-format msgid "cannot set access and modification date of '%s'" -msgstr "nie można ustawić czasu dostÄ™pu i modyfikacji \"%s\"" +msgstr "nie można ustawić czasu dostÄ™pu i modyfikacji „%sâ€" #: src/unstrip.c:69 msgid "Match MODULE against file names, not module names" @@ -6835,7 +6911,7 @@ msgstr "opcja -n nie może być używana z jawnymi plikami albo z opcjÄ… -o lub #: src/unstrip.c:188 #, c-format msgid "output directory '%s'" -msgstr "katalog wyjÅ›ciowy \"%s\"" +msgstr "katalog wyjÅ›ciowy „%sâ€" #: src/unstrip.c:197 #, c-format @@ -6862,12 +6938,12 @@ msgstr "nie można utworzyć nagłówka ELF: %s" msgid "cannot copy ELF header: %s" msgstr "nie można skopiować nagłówka ELF: %s" -#: src/unstrip.c:261 src/unstrip.c:1903 src/unstrip.c:1947 +#: src/unstrip.c:261 src/unstrip.c:1939 src/unstrip.c:1982 #, c-format msgid "cannot get number of program headers: %s" msgstr "nie można uzyskać liczby nagłówków programu: %s" -#: src/unstrip.c:266 src/unstrip.c:1907 +#: src/unstrip.c:266 src/unstrip.c:1943 #, c-format msgid "cannot create program headers: %s" msgstr "nie można utworzyć nagłówków programu: %s" @@ -6882,12 +6958,12 @@ msgstr "nie można skopiować nagłówka programu: %s" msgid "cannot copy section header: %s" msgstr "nie można skopiować nagłówka sekcji: %s" -#: src/unstrip.c:285 src/unstrip.c:1541 +#: src/unstrip.c:285 src/unstrip.c:1576 #, c-format msgid "cannot get section data: %s" msgstr "nie można uzyskać danych sekcji: %s" -#: src/unstrip.c:287 src/unstrip.c:1543 +#: src/unstrip.c:287 src/unstrip.c:1578 #, c-format msgid "cannot copy section data: %s" msgstr "nie można skopiować danych sekcji: %s" @@ -6895,225 +6971,225 @@ msgstr "nie można skopiować danych sekcji: %s" #: src/unstrip.c:311 #, c-format msgid "cannot create directory '%s'" -msgstr "nie można utworzyć katalogu \"%s\"" +msgstr "nie można utworzyć katalogu „%sâ€" -#: src/unstrip.c:351 src/unstrip.c:768 src/unstrip.c:1575 +#: src/unstrip.c:383 src/unstrip.c:803 src/unstrip.c:1610 #, c-format msgid "cannot get symbol table entry: %s" msgstr "nie można uzyskać wpisu tabeli symboli: %s" -#: src/unstrip.c:367 src/unstrip.c:585 src/unstrip.c:606 src/unstrip.c:618 -#: src/unstrip.c:1596 src/unstrip.c:1769 src/unstrip.c:1793 +#: src/unstrip.c:399 src/unstrip.c:620 src/unstrip.c:641 src/unstrip.c:653 +#: src/unstrip.c:1631 src/unstrip.c:1805 src/unstrip.c:1829 #, c-format msgid "cannot update symbol table: %s" msgstr "nie można zaktualizować tabeli symboli: %s" -#: src/unstrip.c:377 +#: src/unstrip.c:409 #, c-format msgid "cannot update section header: %s" msgstr "nie można zaktualizować nagłówka sekcji: %s" -#: src/unstrip.c:416 src/unstrip.c:427 +#: src/unstrip.c:448 src/unstrip.c:459 #, c-format msgid "cannot update relocation: %s" msgstr "nie można zaktualizować relokacji: %s" -#: src/unstrip.c:514 +#: src/unstrip.c:547 #, c-format msgid "cannot get symbol version: %s" msgstr "nie można uzyskać wersji symbolu: %s" -#: src/unstrip.c:526 -#, fuzzy, c-format +#: src/unstrip.c:560 +#, c-format msgid "unexpected section type in [%zu] with sh_link to symtab" -msgstr "nieoczekiwany typ sekcji w [%Zu] z sh_link do tabeli symboli" +msgstr "nieoczekiwany typ sekcji w [%zu] z sh_link do tabeli symboli" -#: src/unstrip.c:774 -#, fuzzy, c-format +#: src/unstrip.c:809 +#, c-format msgid "invalid string offset in symbol [%zu]" -msgstr "nieprawidÅ‚owy offset ciÄ…gu w symbolu [%Zu]" +msgstr "nieprawidÅ‚owy offset ciÄ…gu w symbolu [%zu]" -#: src/unstrip.c:932 src/unstrip.c:1278 -#, fuzzy, c-format +#: src/unstrip.c:967 src/unstrip.c:1313 +#, c-format msgid "cannot read section [%zu] name: %s" -msgstr "nie można odczytać nazwy sekcji [%Zu]: %s" +msgstr "nie można odczytać nazwy sekcji [%zu]: %s" -#: src/unstrip.c:973 src/unstrip.c:992 src/unstrip.c:1027 +#: src/unstrip.c:1008 src/unstrip.c:1027 src/unstrip.c:1062 #, c-format msgid "cannot read '.gnu.prelink_undo' section: %s" -msgstr "nie można odczytać sekcji \".gnu.prelink_undo\": %s" +msgstr "nie można odczytać sekcji „.gnu.prelink_undoâ€: %s" -#: src/unstrip.c:1013 +#: src/unstrip.c:1048 #, c-format msgid "invalid contents in '%s' section" -msgstr "nieprawidÅ‚owa zawartość w sekcji \"%s\"" +msgstr "nieprawidÅ‚owa zawartość w sekcji „%sâ€" -#: src/unstrip.c:1019 +#: src/unstrip.c:1054 #, c-format msgid "overflow with shnum = %zu in '%s' section" -msgstr "" +msgstr "przepeÅ‚nienie z shnum = %zu w sekcji „%sâ€" -#: src/unstrip.c:1073 src/unstrip.c:1398 -#, fuzzy, c-format +#: src/unstrip.c:1108 src/unstrip.c:1433 +#, c-format msgid "cannot find matching section for [%zu] '%s'" -msgstr "nie można odnaleźć pasujÄ…cej sekcji dla [%Zu] \"%s\"" +msgstr "nie można odnaleźć pasujÄ…cej sekcji dla [%zu] „%sâ€" -#: src/unstrip.c:1198 src/unstrip.c:1213 src/unstrip.c:1479 src/unstrip.c:1731 +#: src/unstrip.c:1233 src/unstrip.c:1248 src/unstrip.c:1514 src/unstrip.c:1766 #, c-format msgid "cannot add section name to string table: %s" msgstr "nie można nazwy sekcji do tabeli ciÄ…gów: %s" -#: src/unstrip.c:1222 +#: src/unstrip.c:1257 #, c-format msgid "cannot update section header string table data: %s" msgstr "nie można zaktualizować danych tabeli ciÄ…gów nagłówków sekcji: %s" -#: src/unstrip.c:1249 src/unstrip.c:1253 +#: src/unstrip.c:1284 src/unstrip.c:1288 #, c-format msgid "cannot get section header string table section index: %s" msgstr "nie można uzyskać indeksu sekcji tabeli ciÄ…gów nagłówków sekcji: %s" -#: src/unstrip.c:1257 src/unstrip.c:1261 src/unstrip.c:1494 +#: src/unstrip.c:1292 src/unstrip.c:1296 src/unstrip.c:1529 #, c-format msgid "cannot get section count: %s" msgstr "nie można uzyskać licznika sekcji: %s" -#: src/unstrip.c:1264 +#: src/unstrip.c:1299 #, c-format msgid "more sections in stripped file than debug file -- arguments reversed?" msgstr "" -"wiÄ™cej sekcji w okrojonym pliku niż w pliku debugowania - odwrócono " +"wiÄ™cej sekcji w okrojonym pliku niż w pliku debugowania — odwrócono " "parametry?" -#: src/unstrip.c:1323 src/unstrip.c:1413 +#: src/unstrip.c:1358 src/unstrip.c:1448 #, c-format msgid "cannot read section header string table: %s" msgstr "nie można odczytać tabeli ciÄ…gów nagłówków sekcji: %s" -#: src/unstrip.c:1473 +#: src/unstrip.c:1508 #, c-format msgid "cannot add new section: %s" msgstr "nie można dodać nowej sekcji: %s" -#: src/unstrip.c:1583 -#, fuzzy, c-format +#: src/unstrip.c:1618 +#, c-format msgid "symbol [%zu] has invalid section index" -msgstr "symbol [%Zu] posiada nieprawidÅ‚owy indeks sekcji" +msgstr "symbol [%zu] posiada nieprawidÅ‚owy indeks sekcji" -#: src/unstrip.c:1864 +#: src/unstrip.c:1900 #, c-format msgid "cannot read section data: %s" msgstr "nie można odczytać danych sekcji: %s" -#: src/unstrip.c:1885 +#: src/unstrip.c:1921 #, c-format msgid "cannot get ELF header: %s" msgstr "nie można uzyskać nagłówka ELF: %s" -#: src/unstrip.c:1917 +#: src/unstrip.c:1953 #, c-format msgid "cannot update program header: %s" msgstr "nie można zaktualizować nagłówka programu: %s" -#: src/unstrip.c:1922 src/unstrip.c:2005 +#: src/unstrip.c:1958 src/unstrip.c:2040 #, c-format msgid "cannot write output file: %s" msgstr "nie można zapisać pliku wyjÅ›ciowego: %s" -#: src/unstrip.c:1974 +#: src/unstrip.c:2009 #, c-format msgid "DWARF data not adjusted for prelinking bias; consider prelink -u" msgstr "" "Dane DWARF nie zostaÅ‚y dostosowane do przesuniÄ™cia wczesnego konsolidowania; " "proszÄ™ rozważyć polecenie prelink -u" -#: src/unstrip.c:1977 +#: src/unstrip.c:2012 #, c-format msgid "" "DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u" msgstr "" -"Dane DWARF w \"%s\" nie zostaÅ‚y dostosowane do przesuniÄ™cia wczesnego " +"Dane DWARF w „%s†nie zostaÅ‚y dostosowane do przesuniÄ™cia wczesnego " "konsolidowania; proszÄ™ rozważyć polecenie prelink -u" -#: src/unstrip.c:1996 src/unstrip.c:2047 src/unstrip.c:2059 src/unstrip.c:2145 +#: src/unstrip.c:2031 src/unstrip.c:2082 src/unstrip.c:2094 src/unstrip.c:2180 #, c-format msgid "cannot create ELF descriptor: %s" msgstr "nie można utworzyć deskryptora ELF: %s" -#: src/unstrip.c:2038 +#: src/unstrip.c:2073 msgid "WARNING: " msgstr "OSTRZEÅ»ENIE: " -#: src/unstrip.c:2040 +#: src/unstrip.c:2075 msgid ", use --force" msgstr ", należy użyć opcji --force" -#: src/unstrip.c:2063 +#: src/unstrip.c:2098 msgid "ELF header identification (e_ident) different" msgstr "Różna identyfikacja nagłówka ELF (e_ident)" -#: src/unstrip.c:2066 +#: src/unstrip.c:2101 msgid "ELF header type (e_type) different" msgstr "Różne typy nagłówka ELF (e_type)" -#: src/unstrip.c:2069 +#: src/unstrip.c:2104 msgid "ELF header machine type (e_machine) different" msgstr "Różne typy maszyny nagłówka ELF (e_machine)" -#: src/unstrip.c:2072 +#: src/unstrip.c:2107 msgid "stripped program header (e_phnum) smaller than unstripped" msgstr "okrojony nagłówek programu (e_phnum) jest mniejszy niż nieokrojony" -#: src/unstrip.c:2102 +#: src/unstrip.c:2137 #, c-format msgid "cannot find stripped file for module '%s': %s" -msgstr "nie można odnaleźć okrojonego pliku dla moduÅ‚u \"%s\": %s" +msgstr "nie można odnaleźć okrojonego pliku dla moduÅ‚u „%sâ€: %s" -#: src/unstrip.c:2106 +#: src/unstrip.c:2141 #, c-format msgid "cannot open stripped file '%s' for module '%s': %s" -msgstr "nie można otworzyć okrojonego pliku \"%s\" dla moduÅ‚u \"%s\": %s" +msgstr "nie można otworzyć okrojonego pliku „%s†dla moduÅ‚u „%sâ€: %s" -#: src/unstrip.c:2121 +#: src/unstrip.c:2156 #, c-format msgid "cannot find debug file for module '%s': %s" -msgstr "nie można odnaleźć pliku debugowania dla moduÅ‚u \"%s\": %s" +msgstr "nie można odnaleźć pliku debugowania dla moduÅ‚u „%sâ€: %s" -#: src/unstrip.c:2125 +#: src/unstrip.c:2160 #, c-format msgid "cannot open debug file '%s' for module '%s': %s" -msgstr "nie można otworzyć pliku debugowania \"%s\" dla moduÅ‚u \"%s\": %s" +msgstr "nie można otworzyć pliku debugowania „%s†dla moduÅ‚u „%sâ€: %s" -#: src/unstrip.c:2138 +#: src/unstrip.c:2173 #, c-format msgid "module '%s' file '%s' is not stripped" -msgstr "moduÅ‚ \"%s\" pliku \"%s\" nie zostaÅ‚ okrojony" +msgstr "moduÅ‚ „%s†pliku „%s†nie zostaÅ‚ okrojony" -#: src/unstrip.c:2169 +#: src/unstrip.c:2204 #, c-format msgid "cannot cache section addresses for module '%s': %s" msgstr "" -"nie można utworzyć pamiÄ™ci podrÄ™cznej adresów sekcji dla moduÅ‚u \"%s\": %s" +"nie można utworzyć pamiÄ™ci podrÄ™cznej adresów sekcji dla moduÅ‚u „%sâ€: %s" -#: src/unstrip.c:2302 +#: src/unstrip.c:2337 #, c-format msgid "no matching modules found" msgstr "nie odnaleziono pasujÄ…cych modułów" -#: src/unstrip.c:2311 +#: src/unstrip.c:2346 #, c-format msgid "matched more than one module" msgstr "pasuje wiÄ™cej niż jeden moduÅ‚" -#: src/unstrip.c:2355 +#: src/unstrip.c:2390 msgid "" "STRIPPED-FILE DEBUG-FILE\n" "[MODULE...]" msgstr "" "OKROJONY-PLIK PLIK-DEBUGOWANIA\n" -"[MODUÅ...]" +"[MODUÅ…]" -#: src/unstrip.c:2356 +#: src/unstrip.c:2391 msgid "" "Combine stripped files with separate symbols and debug information.\vThe " "first form puts the result in DEBUG-FILE if -o was not given.\n" @@ -7158,13 +7234,13 @@ msgstr "" "\tPOCZÄ„TEK+ROZMIAR IDENTYFIKATOR-KOPII PLIK PLIK-DEBUGOWANIA NAZWA-MODUÅU\n" "POCZÄ„TEK i ROZMIAR sÄ… liczbami szesnastkowymi podajÄ…cymi zakres adresów " "moduÅ‚u. IDENTYFIKATOR-KOPII jest liczbÄ… szesnastkowÄ… dla bitów " -"identyfikatora kopii lub \"-\", jeÅ›li identyfikator jest nieznany; liczba " +"identyfikatora kopii lub „-â€, jeÅ›li identyfikator jest nieznany; liczba " "szesnastkowa może być uzupeÅ‚niona @0xADRES podajÄ…cym adres, gdzie znajduje " "siÄ™ identyfikator, jeÅ›li jest to wiadome. PLIK jest nazwÄ… pliku " -"odnalezionego dla moduÅ‚u lub \"-\", jeÅ›li go nie odnaleziono lub \".\", " -"jeÅ›li obraz ELF jest dostÄ™pny, ale nie z żadnego nazwanego pliku. PLIK-" -"DEBUGOWANIA jest nazwÄ… oddzielnego pliku debuginfo lub \"-\", jeÅ›li nie " -"odnaleziono debuginfo lub \".\", jeÅ›li PLIK zawiera informacje debugowania." +"odnalezionego dla moduÅ‚u lub „-â€, jeÅ›li go nie odnaleziono lub „.â€, jeÅ›li " +"obraz ELF jest dostÄ™pny, ale nie z żadnego nazwanego pliku. PLIK-DEBUGOWANIA " +"jest nazwÄ… oddzielnego pliku debuginfo lub „-â€, jeÅ›li nie odnaleziono " +"debuginfo lub „.â€, jeÅ›li PLIK zawiera informacje debugowania." #: tests/backtrace.c:427 msgid "Run executable" @@ -7177,6 +7253,3 @@ msgstr "Dodatkowo wyÅ›wietla nazwy funkcji" #: tests/dwflmodtest.c:214 msgid "Show instances of inlined functions" msgstr "WyÅ›wietla wystÄ…pienia wstawionych funkcji" - -#~ msgid "cannot get section header of section %Zu: %s" -#~ msgstr "nie można uzyskać nagłówka sekcji dla sekcji %Zu: %s" @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: \n" "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" -"POT-Creation-Date: 2015-10-16 13:26+0200\n" +"POT-Creation-Date: 2016-01-11 08:48+0100\n" "PO-Revision-Date: 2015-09-26 16:41+0300\n" "Last-Translator: Yuri Chornoivan <yurchor@ukr.net>\n" "Language-Team: Ukrainian <kde-i18n-uk@kde.org>\n" @@ -46,8 +46,8 @@ msgstr "" msgid "cannot allocate memory" msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ð¾Ð´Ñ–Ð»Ð¸Ñ‚Ð¸ пам’ÑÑ‚ÑŒ" -#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3184 -#: src/readelf.c:3561 src/readelf.c:8310 src/unstrip.c:2198 src/unstrip.c:2403 +#: lib/xmalloc.c:53 lib/xmalloc.c:66 lib/xmalloc.c:78 src/readelf.c:3282 +#: src/readelf.c:3669 src/readelf.c:8416 src/unstrip.c:2233 src/unstrip.c:2438 #, c-format msgid "memory exhausted" msgstr "пам’ÑÑ‚ÑŒ вичерпано" @@ -249,7 +249,7 @@ msgstr "некоректний код операції" msgid "not a CU (unit) DIE" msgstr "не Ñ” DIE CU (модулÑ)" -#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2345 +#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2380 msgid "Input selection options:" msgstr "Вибір параметрів Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð´Ð°Ð½Ð¸Ñ…:" @@ -307,7 +307,12 @@ msgstr "не вдалоÑÑ Ð²Ð¸Ñвити Ñдро або модулі" msgid "cannot read ELF core file: %s" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ файл core ELF: %s" -#: libdwfl/argp-std.c:311 +#: libdwfl/argp-std.c:313 +#, fuzzy +msgid "Not enough memory" +msgstr "неÑтача пам'ÑÑ‚Ñ–" + +#: libdwfl/argp-std.c:323 msgid "No modules recognized in core file" msgstr "Ðе вдалоÑÑ Ð²Ð¸Ñвити модулі у файлі core" @@ -479,57 +484,57 @@ msgstr "<невідомо>" msgid "<unknown>: %#<PRIx64>" msgstr "<невідомо>: %#<PRIx64>" -#: libebl/eblobjnote.c:52 +#: libebl/eblobjnote.c:53 #, c-format msgid "unknown SDT version %u\n" msgstr "невідома верÑÑ–Ñ SDT, %u\n" -#: libebl/eblobjnote.c:70 +#: libebl/eblobjnote.c:71 #, c-format msgid "invalid SDT probe descriptor\n" msgstr "некоректний деÑкриптор Ð·Ð¾Ð½Ð´ÑƒÐ²Ð°Ð½Ð½Ñ SDT\n" -#: libebl/eblobjnote.c:120 +#: libebl/eblobjnote.c:121 #, c-format msgid " PC: " msgstr " PC: " -#: libebl/eblobjnote.c:122 +#: libebl/eblobjnote.c:123 #, c-format msgid " Base: " msgstr "ОÑнова: " -#: libebl/eblobjnote.c:124 +#: libebl/eblobjnote.c:125 #, c-format msgid " Semaphore: " msgstr " Семафор: " -#: libebl/eblobjnote.c:126 +#: libebl/eblobjnote.c:127 #, c-format msgid " Provider: " msgstr " ПоÑтачальник: " -#: libebl/eblobjnote.c:128 +#: libebl/eblobjnote.c:129 #, c-format msgid " Name: " msgstr "Ðазва: " -#: libebl/eblobjnote.c:130 +#: libebl/eblobjnote.c:131 #, c-format msgid " Args: " msgstr " Ðрг.: " -#: libebl/eblobjnote.c:140 +#: libebl/eblobjnote.c:141 #, c-format msgid " Build ID: " msgstr " Ід. збираннÑ: " -#: libebl/eblobjnote.c:151 +#: libebl/eblobjnote.c:152 #, c-format msgid " Linker version: %.*s\n" msgstr " ВерÑÑ–Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð»ÑŒÐ½Ð¸ÐºÐ°: %.*s\n" -#: libebl/eblobjnote.c:212 +#: libebl/eblobjnote.c:213 #, c-format msgid " OS: %s, ABI: " msgstr " ОС: %s, ABI: " @@ -563,7 +568,7 @@ msgstr "некоректна розмірніÑÑ‚ÑŒ вхідного парамРmsgid "invalid size of destination operand" msgstr "некоректна розмірніÑÑ‚ÑŒ вихідного параметра" -#: libelf/elf_error.c:87 src/readelf.c:5365 +#: libelf/elf_error.c:87 src/readelf.c:5473 #, c-format msgid "invalid encoding" msgstr "некоректне кодуваннÑ" @@ -644,8 +649,8 @@ msgstr "невідповідніÑÑ‚ÑŒ полів data/scn" msgid "invalid section header" msgstr "некоректний заголовок розділу" -#: libelf/elf_error.c:187 src/readelf.c:7234 src/readelf.c:7682 -#: src/readelf.c:7783 src/readelf.c:7964 +#: libelf/elf_error.c:187 src/readelf.c:7342 src/readelf.c:7790 +#: src/readelf.c:7891 src/readelf.c:8072 #, c-format msgid "invalid data" msgstr "некоректні дані" @@ -689,6 +694,40 @@ msgstr "" msgid "file has no program header" msgstr "у файлі немає заголовка програми" +#: libelf/elf_error.c:237 +#, fuzzy +msgid "invalid section type" +msgstr "некоректний розділ" + +#: libelf/elf_error.c:242 +#, fuzzy +msgid "invalid section flags" +msgstr "некоректний розділ" + +#: libelf/elf_error.c:247 +#, fuzzy +msgid "section does not contain compressed data" +msgstr "розділ хешу [%2zu] «%s» міÑтить недоÑтатньо даних\n" + +#: libelf/elf_error.c:252 +msgid "section contains compressed data" +msgstr "" + +#: libelf/elf_error.c:257 +#, fuzzy +msgid "unknown compression type" +msgstr "невизначений тип" + +#: libelf/elf_error.c:262 +#, fuzzy +msgid "cannot compress data" +msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ñ‚Ð¸ DWARF" + +#: libelf/elf_error.c:267 +#, fuzzy +msgid "cannot decompress data" +msgstr "не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ð°ÐºÑƒÐ²Ð°Ñ‚Ð¸ DWARF" + #: src/addr2line.c:58 msgid "Input format options:" msgstr "Параметри Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ñ…Ñ–Ð´Ð½Ð¸Ñ… даних:" @@ -745,7 +784,7 @@ msgstr "Виводити розшифровані Ñимволи (ÐРГ завРmsgid "Print all information on one line, and indent inlines" msgstr "ВивеÑти уÑÑ– дані у один Ñ€Ñдок Ñ– додати відÑтупи до перенеÑених Ñ€Ñдків" -#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:99 +#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:100 #: src/strings.c:79 msgid "Miscellaneous:" msgstr "Інше:" @@ -759,9 +798,9 @@ msgstr "Шукати ÐДРЕСИ у файлах кодів та даних Ð¿Ñ msgid "[ADDR...]" msgstr "[ÐДРЕСÐ...]" -#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:670 src/elflint.c:235 -#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:261 src/objdump.c:177 -#: src/ranlib.c:124 src/readelf.c:500 src/size.c:207 src/strings.c:230 +#: src/addr2line.c:216 src/ar.c:285 src/elfcmp.c:672 src/elflint.c:235 +#: src/findtextrel.c:162 src/ld.c:943 src/nm.c:262 src/objdump.c:177 +#: src/ranlib.c:124 src/readelf.c:509 src/size.c:207 src/strings.c:230 #: src/strip.c:218 src/unstrip.c:232 #, c-format msgid "" @@ -774,9 +813,9 @@ msgstr "" "початкових кодах. Умовами Ð»Ñ–Ñ†ÐµÐ½Ð·ÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ€Ð¾Ð³Ñ€Ð°Ð¼Ð¸ ÐЕ передбачено жодних " "гарантій, зокрема гарантій працездатноÑÑ‚Ñ– або придатноÑÑ‚Ñ– Ð´Ð»Ñ Ð¿ÐµÐ²Ð½Ð¾Ñ— мети.\n" -#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:675 src/elflint.c:240 -#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:266 src/objdump.c:182 -#: src/ranlib.c:129 src/readelf.c:505 src/size.c:212 src/strings.c:235 +#: src/addr2line.c:221 src/ar.c:290 src/elfcmp.c:677 src/elflint.c:240 +#: src/findtextrel.c:167 src/ld.c:948 src/nm.c:267 src/objdump.c:182 +#: src/ranlib.c:129 src/readelf.c:514 src/size.c:212 src/strings.c:235 #: src/strip.c:223 src/unstrip.c:237 #, c-format msgid "Written by %s.\n" @@ -1253,40 +1292,40 @@ msgstr "%s %s diff: заголовок програми %d" msgid "%s %s differ: gap" msgstr "%s %s diff: проміжок" -#: src/elfcmp.c:702 +#: src/elfcmp.c:704 #, c-format msgid "Invalid value '%s' for --gaps parameter." msgstr "Ðекоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Â«%s» параметра --gaps." -#: src/elfcmp.c:730 src/findtextrel.c:221 src/ldgeneric.c:1757 -#: src/ldgeneric.c:4247 src/nm.c:377 src/ranlib.c:157 src/size.c:289 -#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:1994 -#: src/unstrip.c:2023 +#: src/elfcmp.c:732 src/findtextrel.c:221 src/ldgeneric.c:1757 +#: src/ldgeneric.c:4247 src/nm.c:378 src/ranlib.c:157 src/size.c:289 +#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:2029 +#: src/unstrip.c:2058 #, c-format msgid "cannot open '%s'" msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ «%s»" -#: src/elfcmp.c:734 src/findtextrel.c:228 src/ranlib.c:174 +#: src/elfcmp.c:736 src/findtextrel.c:228 src/ranlib.c:174 #, c-format msgid "cannot create ELF descriptor for '%s': %s" msgstr "не вдалоÑÑ Ñтворити деÑкриптор ELF Ð´Ð»Ñ Â«%s»: %s" -#: src/elfcmp.c:739 +#: src/elfcmp.c:741 #, c-format msgid "cannot create EBL descriptor for '%s'" msgstr "не вдалоÑÑ Ñтворити деÑкриптор EBL Ð´Ð»Ñ Â«%s»" -#: src/elfcmp.c:757 src/findtextrel.c:409 +#: src/elfcmp.c:759 src/findtextrel.c:409 #, c-format msgid "cannot get section header of section %zu: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу %zu: %s" -#: src/elfcmp.c:767 +#: src/elfcmp.c:769 #, c-format msgid "cannot get content of section %zu: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ розділу %zu: %s" -#: src/elfcmp.c:777 src/elfcmp.c:791 +#: src/elfcmp.c:779 src/elfcmp.c:793 #, c-format msgid "cannot get relocation: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ переÑуваннÑ: %s" @@ -1316,11 +1355,11 @@ msgid "Pedantic checking of ELF files compliance with gABI/psABI spec." msgstr "" "Педантична перевірка файлів ELF на ÑуміÑніÑÑ‚ÑŒ зі ÑпецифікаціÑми gABI/psABI." -#: src/elflint.c:78 src/readelf.c:123 +#: src/elflint.c:78 src/readelf.c:126 msgid "FILE..." msgstr "ФÐЙЛ..." -#: src/elflint.c:155 src/readelf.c:292 +#: src/elflint.c:155 src/readelf.c:298 #, c-format msgid "cannot open input file" msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ вхідний файл." @@ -1339,7 +1378,7 @@ msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð´ÐµÑкриРmsgid "No errors" msgstr "Без помилок" -#: src/elflint.c:219 src/readelf.c:468 +#: src/elflint.c:219 src/readelf.c:474 msgid "Missing file name.\n" msgstr "Ðе вказано назви файла.\n" @@ -1487,14 +1526,14 @@ msgstr "" "розділ [%2d] «%s»: групу розділів [%2zu] «%s» мало бути визначено до розділу-" "елемента цієї групи\n" -#: src/elflint.c:591 src/elflint.c:1471 src/elflint.c:1522 src/elflint.c:1628 -#: src/elflint.c:1964 src/elflint.c:2280 src/elflint.c:2893 src/elflint.c:3056 -#: src/elflint.c:3204 src/elflint.c:3394 src/elflint.c:4336 +#: src/elflint.c:591 src/elflint.c:1475 src/elflint.c:1526 src/elflint.c:1632 +#: src/elflint.c:1968 src/elflint.c:2284 src/elflint.c:2898 src/elflint.c:3061 +#: src/elflint.c:3209 src/elflint.c:3399 src/elflint.c:4366 #, c-format msgid "section [%2d] '%s': cannot get section data\n" msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу\n" -#: src/elflint.c:604 src/elflint.c:1635 +#: src/elflint.c:604 src/elflint.c:1639 #, c-format msgid "" "section [%2d] '%s': referenced as string table for section [%2d] '%s' but " @@ -1606,13 +1645,13 @@ msgstr "" "розділ [%2d] «%s»: Ñимвол %zu: викориÑÑ‚Ð°Ð½Ð½Ñ Ñ„ÑƒÐ½ÐºÑ†Ñ–Ñ— у розділі COMMON " "позбавлене ÑенÑу\n" -#: src/elflint.c:805 +#: src/elflint.c:809 #, c-format msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n" msgstr "" "розділ [%2d] «%s»: Ñимвол %zu: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ st_value поза можливим діапазоном\n" -#: src/elflint.c:811 src/elflint.c:836 src/elflint.c:885 +#: src/elflint.c:815 src/elflint.c:840 src/elflint.c:889 #, c-format msgid "" "section [%2d] '%s': symbol %zu does not fit completely in referenced section " @@ -1621,7 +1660,7 @@ msgstr "" "розділ [%2d] «%s»: Ñимвол %zu не повніÑÑ‚ÑŽ відповідає розділу, на Ñкий " "поÑилаєтьÑÑ, [%2d] «%s»\n" -#: src/elflint.c:820 +#: src/elflint.c:824 #, c-format msgid "" "section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have " @@ -1630,7 +1669,7 @@ msgstr "" "розділ [%2d] «%s»: Ñимвол %zu: Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ поÑÐ¸Ð»Ð°Ð½Ð½Ñ [%2d] «%s» не " "вÑтановлено прапорець SHF_TLS\n" -#: src/elflint.c:830 src/elflint.c:878 +#: src/elflint.c:834 src/elflint.c:882 #, c-format msgid "" "section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section " @@ -1639,14 +1678,14 @@ msgstr "" "розділ [%2d] «%s»: Ñимвол %zu: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ st_value поза межами розділу " "поÑиланнÑ, [%2d] «%s»\n" -#: src/elflint.c:857 +#: src/elflint.c:861 #, c-format msgid "" "section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n" msgstr "" "розділ [%2d] «%s»: Ñимвол %zu: Ñимвол TLS без запиÑу заголовка програми TLS\n" -#: src/elflint.c:863 +#: src/elflint.c:867 #, c-format msgid "" "section [%2d] '%s': symbol %zu: TLS symbol but couldn't get TLS program " @@ -1655,7 +1694,7 @@ msgstr "" "розділ [%2d] «%s»: Ñимвол %zu: маємо Ñимвол TLS, але не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ " "Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми TLS\n" -#: src/elflint.c:871 +#: src/elflint.c:875 #, c-format msgid "" "section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] " @@ -1664,7 +1703,7 @@ msgstr "" "розділ [%2d] «%s»: Ñимвол %zu: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ st_value перед розділом поÑиланнÑ, " "[%2d] «%s»\n" -#: src/elflint.c:898 +#: src/elflint.c:902 #, c-format msgid "" "section [%2d] '%s': symbol %zu: local symbol outside range described in " @@ -1673,7 +1712,7 @@ msgstr "" "розділ [%2d] «%s»: Ñимвол %zu: у sh_info опиÑано локальний Ñимвол поза " "діапазоном\n" -#: src/elflint.c:905 +#: src/elflint.c:909 #, c-format msgid "" "section [%2d] '%s': symbol %zu: non-local symbol outside range described in " @@ -1682,12 +1721,12 @@ msgstr "" "розділ [%2d] «%s»: Ñимвол %zu: у sh_info опиÑано нелокальний Ñимвол поза " "діапазоном\n" -#: src/elflint.c:912 +#: src/elflint.c:916 #, c-format msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n" msgstr "розділ [%2d] «%s»: Ñимвол %zu: нелокальний Ñимвол розділу\n" -#: src/elflint.c:962 +#: src/elflint.c:966 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section " @@ -1696,7 +1735,7 @@ msgstr "" "розділ [%2d] «%s»: Ñимвол _GLOBAL_OFFSET_TABLE_ поÑилаєтьÑÑ Ð½Ð° помилковий " "розділ, [%2d]\n" -#: src/elflint.c:969 +#: src/elflint.c:973 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] " @@ -1705,7 +1744,7 @@ msgstr "" "розділ [%2d] «%s»: Ñимвол _GLOBAL_OFFSET_TABLE_ поÑилаєтьÑÑ Ð½Ð° розділ [%2d] " "'%s'\n" -#: src/elflint.c:985 +#: src/elflint.c:989 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not " @@ -1714,7 +1753,7 @@ msgstr "" "розділ [%2d] «%s»: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñимволу _GLOBAL_OFFSET_TABLE_ %#<PRIx64> не " "відповідає адреÑÑ– розділу %s %#<PRIx64>\n" -#: src/elflint.c:992 +#: src/elflint.c:996 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not " @@ -1723,7 +1762,7 @@ msgstr "" "розділ [%2d] «%s»: розмір Ñимволу _GLOBAL_OFFSET_TABLE_ %<PRIu64> не " "відповідає розміру розділу %s %<PRIu64>\n" -#: src/elflint.c:1000 +#: src/elflint.c:1004 #, c-format msgid "" "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got " @@ -1732,7 +1771,7 @@ msgstr "" "розділ [%2d] «%s»: виÑвлено Ñимвол _GLOBAL_OFFSET_TABLE_, але не виÑвлено " "розділу .got\n" -#: src/elflint.c:1016 +#: src/elflint.c:1020 #, c-format msgid "" "section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic " @@ -1741,7 +1780,7 @@ msgstr "" "розділ [%2d] «%s»: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñимволу _DYNAMIC_ %#<PRIx64> не відповідає " "адреÑÑ– динамічного Ñегмента %#<PRIx64>\n" -#: src/elflint.c:1023 +#: src/elflint.c:1027 #, c-format msgid "" "section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic " @@ -1750,7 +1789,7 @@ msgstr "" "розділ [%2d] «%s»: розмір Ñимволу _DYNAMIC %<PRIu64> не відповідає розміру " "динамічного Ñегмента %<PRIu64>\n" -#: src/elflint.c:1036 +#: src/elflint.c:1040 #, c-format msgid "" "section [%2d] '%s': symbol %zu: symbol in dynamic symbol table with non-" @@ -1759,29 +1798,29 @@ msgstr "" "розділ [%2d] «%s»: Ñимвол %zu: Ñимвол у динамічній таблиці Ñимволів з " "нетиповою видиміÑÑ‚ÑŽ\n" -#: src/elflint.c:1040 +#: src/elflint.c:1044 #, c-format msgid "section [%2d] '%s': symbol %zu: unknown bit set in st_other\n" msgstr "розділ [%2d] «%s»: Ñимвол %zu: невідомий набір бітів у st_other\n" -#: src/elflint.c:1078 +#: src/elflint.c:1082 #, c-format msgid "section [%2d] '%s': cannot get section data.\n" msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу.\n" -#: src/elflint.c:1094 +#: src/elflint.c:1098 #, c-format msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n" msgstr "розділ [%2d] «%s»: Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ розділу RELA викориÑтано DT_RELCOUNT\n" -#: src/elflint.c:1105 src/elflint.c:1158 +#: src/elflint.c:1109 src/elflint.c:1162 #, c-format msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n" msgstr "" "розділ [%2d] «%s»: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ DT_RELCOUNT %d Ñ” занадто виÑоким Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ " "розділу\n" -#: src/elflint.c:1130 src/elflint.c:1183 +#: src/elflint.c:1134 src/elflint.c:1187 #, c-format msgid "" "section [%2d] '%s': relative relocations after index %d as specified by " @@ -1790,7 +1829,7 @@ msgstr "" "розділ [%2d] «%s»: відноÑні переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¿Ñ–ÑÐ»Ñ Ð¿Ð¾Ð·Ð¸Ñ†Ñ–Ñ— %d, вказаної за " "допомогою DT_RELCOUNT\n" -#: src/elflint.c:1136 src/elflint.c:1189 +#: src/elflint.c:1140 src/elflint.c:1193 #, c-format msgid "" "section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT " @@ -1799,52 +1838,52 @@ msgstr "" "розділ [%2d] «%s»: безвідноÑне переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð½Ð° позиції %zu; DT_RELCOUNT " "визначено %d відноÑних переÑуваннÑ\n" -#: src/elflint.c:1148 +#: src/elflint.c:1152 #, c-format msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n" msgstr "розділ [%2d] «%s»: Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ розділу REL викориÑтано DT_RELACOUNT\n" -#: src/elflint.c:1231 +#: src/elflint.c:1235 #, c-format msgid "section [%2d] '%s': invalid destination section index\n" msgstr "розділ [%2d] «%s»: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ призначеннÑ\n" -#: src/elflint.c:1243 +#: src/elflint.c:1247 #, c-format msgid "section [%2d] '%s': invalid destination section type\n" msgstr "розділ [%2d] «%s»: некоректний тип розділу призначеннÑ\n" -#: src/elflint.c:1251 +#: src/elflint.c:1255 #, c-format msgid "section [%2d] '%s': sh_info should be zero\n" msgstr "розділ [%2d] «%s»: sh_info має бути нульовим\n" -#: src/elflint.c:1259 +#: src/elflint.c:1263 #, fuzzy, c-format msgid "" "section [%2d] '%s': no relocations for merge-able string sections possible\n" msgstr "" "розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñƒ придатних до Ð¾Ð±â€™Ñ”Ð´Ð½Ð°Ð½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ð°Ñ… неможливе\n" -#: src/elflint.c:1267 +#: src/elflint.c:1271 #, c-format msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n" msgstr "" "розділ [%2d] «%s»: розмірніÑÑ‚ÑŒ запиÑу розділу не відповідає ElfXX_Rela\n" -#: src/elflint.c:1327 +#: src/elflint.c:1331 #, c-format msgid "text relocation flag set but there is no read-only segment\n" msgstr "" "вÑтановлено прапорець переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÑту, але Ñегмент придатний лише до " "читаннÑ\n" -#: src/elflint.c:1354 +#: src/elflint.c:1358 #, c-format msgid "section [%2d] '%s': relocation %zu: invalid type\n" msgstr "розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: некоректний тип\n" -#: src/elflint.c:1362 +#: src/elflint.c:1366 #, c-format msgid "" "section [%2d] '%s': relocation %zu: relocation type invalid for the file " @@ -1853,12 +1892,12 @@ msgstr "" "розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: некоректний тип переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ñ‚Ð¸Ð¿Ñƒ " "файла\n" -#: src/elflint.c:1370 +#: src/elflint.c:1374 #, c-format msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n" msgstr "розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñимволу\n" -#: src/elflint.c:1388 +#: src/elflint.c:1392 #, c-format msgid "" "section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can " @@ -1867,12 +1906,12 @@ msgstr "" "розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: з %s можна викориÑтовувати лише Ñимвол " "«_GLOBAL_OFFSET_TABLE_»\n" -#: src/elflint.c:1405 +#: src/elflint.c:1409 #, c-format msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n" msgstr "розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð·Ð° межі діапазону\n" -#: src/elflint.c:1420 +#: src/elflint.c:1424 #, c-format msgid "" "section [%2d] '%s': relocation %zu: copy relocation against symbol of type " @@ -1881,7 +1920,7 @@ msgstr "" "розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: переÑÑƒÐ²Ð°Ð½Ð½Ñ ÐºÐ¾Ð¿Ñ–ÑŽÐ²Ð°Ð½Ð½Ñ Ð´Ð»Ñ Ñимволу типу " "%s\n" -#: src/elflint.c:1441 +#: src/elflint.c:1445 #, c-format msgid "" "section [%2d] '%s': relocation %zu: read-only section modified but text " @@ -1890,22 +1929,22 @@ msgstr "" "розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ %zu: змінено придатний лише Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ " "розділ, але не вÑтановлено прапорець переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ‚ÐµÐºÑту\n" -#: src/elflint.c:1456 +#: src/elflint.c:1460 #, c-format msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n" msgstr "розділ [%2d] «%s»: переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð¸Ñ… Ñ– незавантажених даних\n" -#: src/elflint.c:1496 src/elflint.c:1547 +#: src/elflint.c:1500 src/elflint.c:1551 #, c-format msgid "section [%2d] '%s': cannot get relocation %zu: %s\n" msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: %s\n" -#: src/elflint.c:1623 +#: src/elflint.c:1627 #, c-format msgid "more than one dynamic section present\n" msgstr "вказано більше одного динамічного розділу\n" -#: src/elflint.c:1641 +#: src/elflint.c:1645 #, c-format msgid "" "section [%2d]: referenced as string table for section [%2d] '%s' but section " @@ -1914,46 +1953,46 @@ msgstr "" "розділ [%2d]: надано поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° таблицю Ñ€Ñдків розділу [%2d] «%s», але " "Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð¿Ð¾ÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ Ñ” некоректним\n" -#: src/elflint.c:1649 +#: src/elflint.c:1653 #, c-format msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n" msgstr "" "розділ [%2d] «%s»: розмірніÑÑ‚ÑŒ запиÑу розділу не відповідає ElfXX_Dyn\n" -#: src/elflint.c:1654 src/elflint.c:1943 +#: src/elflint.c:1658 src/elflint.c:1947 #, c-format msgid "section [%2d] '%s': sh_info not zero\n" msgstr "розділ [%2d] «%s»: sh_info не Ñ” нульовим\n" -#: src/elflint.c:1664 +#: src/elflint.c:1668 #, c-format msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n" msgstr "" "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð´Ð¸Ð½Ð°Ð¼Ñ–Ñ‡Ð½Ð¾Ð³Ð¾ розділу %zu: %s\n" -#: src/elflint.c:1672 +#: src/elflint.c:1676 #, c-format msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n" msgstr "" "розділ [%2d] «%s»: за запиÑом DT_NULL вказано запиÑи, що не належать до " "DT_NULL\n" -#: src/elflint.c:1679 +#: src/elflint.c:1683 #, c-format msgid "section [%2d] '%s': entry %zu: unknown tag\n" msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %zu: невідома мітка\n" -#: src/elflint.c:1690 +#: src/elflint.c:1694 #, c-format msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n" msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %zu: декілька запиÑів з міткою %s\n" -#: src/elflint.c:1700 +#: src/elflint.c:1704 #, c-format msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n" msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %zu: викориÑтано мітку Ñ€Ñ–Ð²Ð½Ñ 2 %s\n" -#: src/elflint.c:1718 +#: src/elflint.c:1722 #, c-format msgid "" "section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n" @@ -1961,7 +2000,7 @@ msgstr "" "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %zu: значеннÑм DT_PLTREL має бути DT_REL або " "DT_RELA\n" -#: src/elflint.c:1731 +#: src/elflint.c:1735 #, c-format msgid "" "section [%2d] '%s': entry %zu: pointer does not match address of section " @@ -1970,7 +2009,7 @@ msgstr "" "розділ [%2d] «%s»: розділ %zu: вказівник не відповідає адреÑÑ– розділу [%2d] " "«%s», на Ñку поÑилаєтьÑÑ sh_link\n" -#: src/elflint.c:1774 +#: src/elflint.c:1778 #, c-format msgid "" "section [%2d] '%s': entry %zu: %s value must point into loaded segment\n" @@ -1978,7 +2017,7 @@ msgstr "" "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %zu: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %s має вказувати на завантажений " "Ñегмент\n" -#: src/elflint.c:1789 +#: src/elflint.c:1793 #, c-format msgid "" "section [%2d] '%s': entry %zu: %s value must be valid offset in section " @@ -1987,48 +2026,48 @@ msgstr "" "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %zu: значеннÑм %s має бути коректне Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñƒ " "розділі [%2d] «%s»\n" -#: src/elflint.c:1809 src/elflint.c:1837 +#: src/elflint.c:1813 src/elflint.c:1841 #, c-format msgid "section [%2d] '%s': contains %s entry but not %s\n" msgstr "розділ [%2d] «%s»: міÑтить Ð·Ð°Ð¿Ð¸Ñ %s, але не %s\n" -#: src/elflint.c:1821 +#: src/elflint.c:1825 #, c-format msgid "section [%2d] '%s': mandatory tag %s not present\n" msgstr "розділ [%2d] «%s»: немає обов’Ñзкової мітки %s\n" -#: src/elflint.c:1830 +#: src/elflint.c:1834 #, c-format msgid "section [%2d] '%s': no hash section present\n" msgstr "розділ [%2d] «%s»: не виÑвлено розділу хешів\n" -#: src/elflint.c:1845 src/elflint.c:1852 +#: src/elflint.c:1849 src/elflint.c:1856 #, c-format msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n" msgstr "розділ [%2d] «%s»: вказано не вÑÑ– зі значень %s, %s Ñ– %s\n" -#: src/elflint.c:1862 src/elflint.c:1866 +#: src/elflint.c:1866 src/elflint.c:1870 #, c-format msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n" msgstr "" "розділ [%2d] «%s»: у DSO, позначеному на кроці попереднього компонуваннÑ, " "немає мітки %s\n" -#: src/elflint.c:1872 +#: src/elflint.c:1876 #, c-format msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n" msgstr "" "розділ [%2d] «%s»: під Ñ‡Ð°Ñ Ð¿Ð¾Ð¿ÐµÑ€ÐµÐ´Ð½ÑŒÐ¾Ð³Ð¾ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ Ñк залежніÑÑ‚ÑŒ позначено " "файл, Ñкий не Ñ” файлом DSO\n" -#: src/elflint.c:1883 src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895 +#: src/elflint.c:1887 src/elflint.c:1891 src/elflint.c:1895 src/elflint.c:1899 #, c-format msgid "section [%2d] '%s': %s tag missing in prelinked executable\n" msgstr "" "розділ [%2d] «%s»: у попередньо Ñкомпонованому виконуваному файлі не " "міÑтитьÑÑ Ð¼Ñ–Ñ‚ÐºÐ¸ %s\n" -#: src/elflint.c:1907 +#: src/elflint.c:1911 #, c-format msgid "" "section [%2d] '%s': only relocatable files can have extended section index\n" @@ -2036,7 +2075,7 @@ msgstr "" "розділ [%2d] «%s»: розширений розділ покажчика можуть мати лише файли, " "придатні до переÑуваннÑ\n" -#: src/elflint.c:1917 +#: src/elflint.c:1921 #, c-format msgid "" "section [%2d] '%s': extended section index section not for symbol table\n" @@ -2044,29 +2083,29 @@ msgstr "" "розділ [%2d] «%s»: розділ розширеного покажчика розділів не призначено Ð´Ð»Ñ " "таблиць Ñимволів\n" -#: src/elflint.c:1921 +#: src/elflint.c:1925 #, c-format msgid "section [%2d] '%s': sh_link extended section index [%2d] is invalid\n" msgstr "" "розділ [%2d] «%s»: Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ð³Ð¾ розділу sh_link [%2d] Ñ” некоректним\n" -#: src/elflint.c:1926 +#: src/elflint.c:1930 #, c-format msgid "cannot get data for symbol section\n" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñимволів\n" -#: src/elflint.c:1929 +#: src/elflint.c:1933 #, c-format msgid "section [%2d] '%s': entry size does not match Elf32_Word\n" msgstr "розділ [%2d] «%s»: розмірніÑÑ‚ÑŒ запиÑу не відповідає Elf32_Word\n" -#: src/elflint.c:1938 +#: src/elflint.c:1942 #, c-format msgid "section [%2d] '%s': extended index table too small for symbol table\n" msgstr "" "розділ [%2d] «%s»: розширена Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¿Ð¾ÐºÐ°Ð¶Ñ‡Ð¸ÐºÐ° замала Ð´Ð»Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñимволів\n" -#: src/elflint.c:1953 +#: src/elflint.c:1957 #, c-format msgid "" "section [%2d] '%s': extended section index in section [%2zu] '%s' refers to " @@ -2075,24 +2114,24 @@ msgstr "" "розділ [%2d] «%s»: розширений покажчик розділів у розділі [%2zu] «%s» " "поÑилаєтьÑÑ Ð½Ð° ту Ñаму таблицю розділів\n" -#: src/elflint.c:1970 +#: src/elflint.c:1974 #, c-format msgid "symbol 0 should have zero extended section index\n" msgstr "Ñимволу 0 має відповідати нульовий Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ð³Ð¾ розділу\n" -#: src/elflint.c:1982 +#: src/elflint.c:1986 #, c-format msgid "cannot get data for symbol %zu\n" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñимволу %zu\n" -#: src/elflint.c:1987 +#: src/elflint.c:1991 #, c-format msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n" msgstr "" "Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·ÑˆÐ¸Ñ€ÐµÐ½Ð¾Ð³Ð¾ розділу дорівнює %<PRIu32>, але Ñ–Ð½Ð´ÐµÐºÑ Ñимволу не Ñ” " "XINDEX\n" -#: src/elflint.c:2003 src/elflint.c:2054 +#: src/elflint.c:2007 src/elflint.c:2058 #, c-format msgid "" "section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n" @@ -2100,43 +2139,43 @@ msgstr "" "розділ [%2d] «%s»: розділ таблиці хешів занадто малий (розмір %ld, мало бути " "— %ld)\n" -#: src/elflint.c:2015 src/elflint.c:2066 +#: src/elflint.c:2019 src/elflint.c:2070 #, c-format msgid "section [%2d] '%s': chain array too large\n" msgstr "розділ [%2d] «%s»: маÑив ланцюжка занадто великий\n" -#: src/elflint.c:2029 src/elflint.c:2080 +#: src/elflint.c:2033 src/elflint.c:2084 #, c-format msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n" msgstr "" "розділ [%2d] «%s»: поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° хеш блоку %zu лежить поза межами діапазону\n" -#: src/elflint.c:2039 +#: src/elflint.c:2043 #, c-format msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n" msgstr "" "розділ [%2d] «%s»: поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð»Ð°Ð½Ñ†ÑŽÐ¶ÐºÐ° хешів %zu лежить поза межами " "діапазону\n" -#: src/elflint.c:2090 +#: src/elflint.c:2094 #, c-format msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n" msgstr "" "розділ [%2d] «%s»: поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð»Ð°Ð½Ñ†ÑŽÐ¶ÐºÐ° хешів %<PRIu64> лежить поза межами " "діапазону\n" -#: src/elflint.c:2103 +#: src/elflint.c:2107 #, c-format msgid "section [%2d] '%s': not enough data\n" msgstr "розділ [%2d] «%s»: недоÑтатньо даних\n" -#: src/elflint.c:2115 +#: src/elflint.c:2119 #, c-format msgid "section [%2d] '%s': bitmask size zero or not power of 2: %u\n" msgstr "" "розділ [%2d] «%s»: розмір бітової маÑки Ñ” нульовим або не Ñ” Ñтепенем 2: %u\n" -#: src/elflint.c:2131 +#: src/elflint.c:2135 #, c-format msgid "" "section [%2d] '%s': hash table section is too small (is %ld, expected at " @@ -2145,12 +2184,12 @@ msgstr "" "розділ [%2d] «%s»: розділ таблиці хешів Ñ” надто малим (маємо %ld, мало бути " "принаймні %ld)\n" -#: src/elflint.c:2140 +#: src/elflint.c:2144 #, c-format msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n" msgstr "розділ [%2d] «%s»: зÑув 2-ої функції Ñ…ÐµÑˆÑƒÐ²Ð°Ð½Ð½Ñ Ð·Ð°Ð½Ð°Ð´Ñ‚Ð¾ великий: %u\n" -#: src/elflint.c:2174 +#: src/elflint.c:2178 #, c-format msgid "" "section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n" @@ -2158,7 +2197,7 @@ msgstr "" "розділ [%2d] '%s': ланцюжок хешів Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÑƒ %zu розташовано нижче за позицію " "Ð²Ñ–Ð´Ñ…Ð¸Ð»ÐµÐ½Ð½Ñ Ñ–Ð½Ð´ÐµÐºÑу Ñимволу\n" -#: src/elflint.c:2195 +#: src/elflint.c:2199 #, c-format msgid "" "section [%2d] '%s': symbol %u referenced in chain for bucket %zu is " @@ -2167,7 +2206,7 @@ msgstr "" "розділ [%2d] «%s»: Ñимвол %u, на Ñкий поÑилаєтьÑÑ Ð»Ð°Ð½Ñ†ÑŽÐ¶Ð¾Ðº у блоці %zu не " "визначено\n" -#: src/elflint.c:2208 +#: src/elflint.c:2212 #, c-format msgid "" "section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n" @@ -2175,7 +2214,7 @@ msgstr "" "розділ [%2d] «%s»: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ…ÐµÑˆÑƒ Ð´Ð»Ñ Ñимволу %u у ланцюжку Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÑƒ %zu Ñ” " "помилковим\n" -#: src/elflint.c:2217 +#: src/elflint.c:2221 #, c-format msgid "" "section [%2d] '%s': mask index for symbol %u in chain for bucket %zu wrong\n" @@ -2183,14 +2222,14 @@ msgstr "" "розділ [%2d] «%s»: Ñ–Ð½Ð´ÐµÐºÑ Ð¼Ð°Ñки Ð´Ð»Ñ Ñимволу %u у ланцюжку Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÑƒ %zu Ñ” " "помилковим\n" -#: src/elflint.c:2247 +#: src/elflint.c:2251 #, c-format msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n" msgstr "" "розділ [%2d] «%s»: ланцюжок хешів Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÑƒ %zu лежить поза межами " "діапазону\n" -#: src/elflint.c:2252 +#: src/elflint.c:2256 #, c-format msgid "" "section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n" @@ -2198,43 +2237,43 @@ msgstr "" "розділ [%2d] «%s»: поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° Ñимвол у ланцюжку Ð´Ð»Ñ Ð±Ð»Ð¾ÐºÑƒ %zu лежить поза " "межами діапазону\n" -#: src/elflint.c:2258 +#: src/elflint.c:2262 #, c-format msgid "section [%2d] '%s': bitmask does not match names in the hash table\n" msgstr "розділ [%2d] «%s»: бітова маÑка не відповідає назвам у таблиці хешів\n" -#: src/elflint.c:2271 +#: src/elflint.c:2275 #, c-format msgid "section [%2d] '%s': relocatable files cannot have hash tables\n" msgstr "" "розділ [%2d] «%s»: придатні до переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð¸ не можуть міÑтити таблиць " "хешів\n" -#: src/elflint.c:2289 +#: src/elflint.c:2293 #, c-format msgid "section [%2d] '%s': hash table not for dynamic symbol table\n" msgstr "" "розділ [%2d] «%s»: таблицю хешів не призначено Ð´Ð»Ñ Ð·Ð±ÐµÑ€Ñ–Ð³Ð°Ð½Ð½Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– " "динамічних Ñимволів\n" -#: src/elflint.c:2293 +#: src/elflint.c:2297 #, c-format msgid "section [%2d] '%s': invalid sh_link symbol table section index [%2d]\n" msgstr "" "розділ [%2d] «%s»: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ таблиці Ñимволів sh_link " "[%2d]\n" -#: src/elflint.c:2301 +#: src/elflint.c:2305 #, c-format msgid "section [%2d] '%s': hash table entry size incorrect\n" msgstr "розділ [%2d] «%s»: розмірніÑÑ‚ÑŒ запиÑу таблиці хешів Ñ” некоректною\n" -#: src/elflint.c:2306 +#: src/elflint.c:2310 #, c-format msgid "section [%2d] '%s': not marked to be allocated\n" msgstr "розділ [%2d] «%s»: не позначено Ð´Ð»Ñ Ð¿ÐµÑ€ÐµÑуваннÑ\n" -#: src/elflint.c:2311 +#: src/elflint.c:2315 #, c-format msgid "" "section [%2d] '%s': hash table has not even room for initial administrative " @@ -2243,27 +2282,27 @@ msgstr "" "розділ [%2d] «%s»: у таблиці хешів виÑвлено незвичайне Ñ€Ð¾Ð·Ñ‚Ð°ÑˆÑƒÐ²Ð°Ð½Ð½Ñ " "початкових адмініÑтративних запиÑів\n" -#: src/elflint.c:2360 +#: src/elflint.c:2364 #, c-format msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n" msgstr "sh_link у розділах хешів [%2zu] «%s» Ñ– [%2zu] «%s» не збігаютьÑÑ\n" -#: src/elflint.c:2384 src/elflint.c:2449 src/elflint.c:2484 +#: src/elflint.c:2388 src/elflint.c:2453 src/elflint.c:2488 #, c-format msgid "hash section [%2zu] '%s' does not contain enough data\n" msgstr "розділ хешу [%2zu] «%s» міÑтить недоÑтатньо даних\n" -#: src/elflint.c:2405 +#: src/elflint.c:2409 #, c-format msgid "hash section [%2zu] '%s' has zero bit mask words\n" msgstr "розділ хешу [%2zu] «%s» міÑтить нульові Ñлова бітової маÑки\n" -#: src/elflint.c:2416 src/elflint.c:2460 src/elflint.c:2497 +#: src/elflint.c:2420 src/elflint.c:2464 src/elflint.c:2501 #, c-format msgid "hash section [%2zu] '%s' uses too much data\n" msgstr "розділ хешу [%2zu] «%s» викориÑтовує надто багато даних\n" -#: src/elflint.c:2431 +#: src/elflint.c:2435 #, c-format msgid "" "hash section [%2zu] '%s' invalid symbol index %<PRIu32> (max_nsyms: " @@ -2272,17 +2311,17 @@ msgstr "" "розділ хешу [%2zu] «%s» некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñимволу %<PRIu32> (макÑ. к-Ñ‚ÑŒ " "Ñимволів: %<PRIu32>, кількіÑÑ‚ÑŒ запиÑів: %<PRIu32>\n" -#: src/elflint.c:2518 +#: src/elflint.c:2522 #, c-format msgid "hash section [%2zu] '%s' invalid sh_entsize\n" msgstr "розділ хешу [%2zu] «%s» некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ sh_entsize\n" -#: src/elflint.c:2528 src/elflint.c:2532 +#: src/elflint.c:2532 src/elflint.c:2536 #, c-format msgid "section [%2zu] '%s': reference to symbol index 0\n" msgstr "розділ [%2zu] «%s»: поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° Ñ–Ð½Ð´ÐµÐºÑ Ñимволів 0\n" -#: src/elflint.c:2539 +#: src/elflint.c:2543 #, c-format msgid "" "symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash " @@ -2291,7 +2330,7 @@ msgstr "" "виÑвлено поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° Ñимвол %d у новій таблиці хешів у [%2zu] «%s», але " "його немає у Ñтарій таблиці хешів у [%2zu] «%s»\n" -#: src/elflint.c:2551 +#: src/elflint.c:2555 #, c-format msgid "" "symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash " @@ -2300,12 +2339,12 @@ msgstr "" "виÑвлено поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° Ñимвол %d у Ñтарій таблиці хешів у [%2zu] «%s», але " "його немає у новій таблиці хешів у [%2zu] «%s»\n" -#: src/elflint.c:2567 +#: src/elflint.c:2571 #, c-format msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n" msgstr "розділ [%2d] «%s»: ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ sh_%s Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ NULL\n" -#: src/elflint.c:2587 +#: src/elflint.c:2591 #, c-format msgid "" "section [%2d] '%s': section groups only allowed in relocatable object files\n" @@ -2313,95 +2352,95 @@ msgstr "" "розділ [%2d] «%s»: групи розділів передбачено лише Ð´Ð»Ñ Ð¿Ñ€Ð¸Ð´Ð°Ñ‚Ð½Ð¸Ñ… до " "переÑÑƒÐ²Ð°Ð½Ð½Ñ Ð¾Ð±â€™Ñ”ÐºÑ‚Ð½Ð¸Ñ… файлах\n" -#: src/elflint.c:2598 +#: src/elflint.c:2602 #, c-format msgid "section [%2d] '%s': cannot get symbol table: %s\n" msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ таблицю Ñимволів: %s\n" -#: src/elflint.c:2603 +#: src/elflint.c:2607 #, c-format msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n" msgstr "" "розділ [%2d] «%s»: поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ у sh_link не має таблиці Ñимволів\n" -#: src/elflint.c:2609 +#: src/elflint.c:2613 #, c-format msgid "section [%2d] '%s': invalid symbol index in sh_info\n" msgstr "розділ [%2d] «%s»: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñимволу у sh_info\n" -#: src/elflint.c:2614 +#: src/elflint.c:2618 #, c-format msgid "section [%2d] '%s': sh_flags not zero\n" msgstr "розділ [%2d] «%s»: sh_flags не Ñ” нульовим\n" -#: src/elflint.c:2621 +#: src/elflint.c:2625 #, c-format msgid "section [%2d] '%s': cannot get symbol for signature\n" msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ñимвол Ð´Ð»Ñ Ð¿Ñ–Ð´Ð¿Ð¸Ñу\n" -#: src/elflint.c:2625 +#: src/elflint.c:2629 #, c-format msgid "section [%2d] '%s': cannot get symbol name for signature\n" msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ назву Ñимволу Ð´Ð»Ñ Ð¿Ñ–Ð´Ð¿Ð¸Ñу\n" -#: src/elflint.c:2630 +#: src/elflint.c:2634 #, c-format msgid "section [%2d] '%s': signature symbol cannot be empty string\n" msgstr "розділ [%2d] «%s»: Ñимвол підпиÑу не може бути порожнім Ñ€Ñдком\n" -#: src/elflint.c:2636 +#: src/elflint.c:2640 #, c-format msgid "section [%2d] '%s': sh_flags not set correctly\n" msgstr "розділ [%2d] «%s»: Ð´Ð»Ñ sh_flags вÑтановлено помилкове значеннÑ\n" -#: src/elflint.c:2642 +#: src/elflint.c:2646 #, c-format msgid "section [%2d] '%s': cannot get data: %s\n" msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані: %s\n" -#: src/elflint.c:2651 +#: src/elflint.c:2655 #, c-format msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n" msgstr "розділ [%2d] «%s»: розмір розділу не Ñ” кратним до sizeof(Elf32_Word)\n" -#: src/elflint.c:2656 +#: src/elflint.c:2660 #, c-format msgid "section [%2d] '%s': section group without flags word\n" msgstr "розділ [%2d] «%s»: група розділів без Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ word прапорців\n" -#: src/elflint.c:2662 +#: src/elflint.c:2666 #, c-format msgid "section [%2d] '%s': section group without member\n" msgstr "розділ [%2d] «%s»: група розділів без елементів\n" -#: src/elflint.c:2666 +#: src/elflint.c:2670 #, c-format msgid "section [%2d] '%s': section group with only one member\n" msgstr "розділ [%2d] «%s»: група розділів, що міÑтить лише один елемент\n" -#: src/elflint.c:2677 +#: src/elflint.c:2681 #, c-format msgid "section [%2d] '%s': unknown section group flags\n" msgstr "розділ [%2d] «%s»: невідомі прапорці групи розділів\n" -#: src/elflint.c:2689 +#: src/elflint.c:2693 #, c-format msgid "section [%2d] '%s': section index %zu out of range\n" msgstr "розділ [%2d] «%s»: Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %zu поза межами діапазону\n" -#: src/elflint.c:2698 +#: src/elflint.c:2702 #, c-format msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n" msgstr "" "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу Ð´Ð»Ñ ÐµÐ»ÐµÐ¼ÐµÐ½Ñ‚Ð° %zu: " "%s\n" -#: src/elflint.c:2705 +#: src/elflint.c:2709 #, c-format msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n" msgstr "розділ [%2d] «%s»: група розділів міÑтить іншу групу [%2d] «%s»\n" -#: src/elflint.c:2711 +#: src/elflint.c:2715 #, c-format msgid "" "section [%2d] '%s': element %zu references section [%2d] '%s' without " @@ -2410,12 +2449,12 @@ msgstr "" "розділ [%2d] «%s»: елемент %zu поÑилаєтьÑÑ Ð½Ð° розділ [%2d] «%s» без " "вÑтановленого Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ SHF_GROUP\n" -#: src/elflint.c:2718 +#: src/elflint.c:2722 #, c-format msgid "section [%2d] '%s' is contained in more than one section group\n" msgstr "розділ [%2d] «%s» міÑтитьÑÑ Ñƒ більше ніж одній групі розділів\n" -#: src/elflint.c:2907 +#: src/elflint.c:2912 #, c-format msgid "" "section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no " @@ -2424,7 +2463,7 @@ msgstr "" "розділ [%2d] «%s» поÑилаєтьÑÑ Ñƒ sh_link на розділ [%2d] «%s», Ñкий не має " "динамічної таблиці Ñимволів\n" -#: src/elflint.c:2919 +#: src/elflint.c:2924 #, c-format msgid "" "section [%2d] '%s' has different number of entries than symbol table [%2d] " @@ -2433,28 +2472,28 @@ msgstr "" "кількіÑÑ‚ÑŒ запиÑів у розділі [%2d] «%s» відрізнÑєтьÑÑ Ð²Ñ–Ð´ кількоÑÑ‚Ñ– у таблиці " "Ñимволів [%2d] «%s»\n" -#: src/elflint.c:2935 +#: src/elflint.c:2940 #, c-format msgid "section [%2d] '%s': symbol %d: cannot read version data\n" msgstr "розділ [%2d] «%s»: Ñимвол %d: не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ дані щодо верÑÑ–Ñ—\n" -#: src/elflint.c:2951 +#: src/elflint.c:2956 #, c-format msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n" msgstr "" "розділ [%2d] «%s»: Ñимвол %d: локальний Ñимвол у загальному контекÑÑ‚Ñ–\n" -#: src/elflint.c:2959 +#: src/elflint.c:2964 #, c-format msgid "section [%2d] '%s': symbol %d: local symbol with version\n" msgstr "розділ [%2d] «%s»: Ñимвол %d: локальний Ñимвол з верÑією\n" -#: src/elflint.c:2973 +#: src/elflint.c:2978 #, c-format msgid "section [%2d] '%s': symbol %d: invalid version index %d\n" msgstr "розділ [%2d] «%s»: Ñимвол %d: некоректний Ñ–Ð½Ð´ÐµÐºÑ Ð²ÐµÑ€ÑÑ–Ñ— %d\n" -#: src/elflint.c:2978 +#: src/elflint.c:2983 #, c-format msgid "" "section [%2d] '%s': symbol %d: version index %d is for defined version\n" @@ -2462,7 +2501,7 @@ msgstr "" "розділ [%2d] «%s»: Ñимвол %d: індекÑи верÑÑ–Ñ— %d призначено до визначеної " "верÑÑ–Ñ—\n" -#: src/elflint.c:2988 +#: src/elflint.c:2993 #, c-format msgid "" "section [%2d] '%s': symbol %d: version index %d is for requested version\n" @@ -2470,45 +2509,45 @@ msgstr "" "розділ [%2d] «%s»: Ñимвол %d: Ñ–Ð½Ð´ÐµÐºÑ Ð²ÐµÑ€ÑÑ–Ñ— %d призначено Ð´Ð»Ñ Ð²ÐµÑ€ÑÑ–Ñ—, на Ñку " "надійшов запит\n" -#: src/elflint.c:3041 +#: src/elflint.c:3046 #, c-format msgid "more than one version reference section present\n" msgstr "виÑвлено більше за один розділ поÑилань на верÑÑ–Ñ—\n" -#: src/elflint.c:3049 src/elflint.c:3196 +#: src/elflint.c:3054 src/elflint.c:3201 #, c-format msgid "section [%2d] '%s': sh_link does not link to string table\n" msgstr "розділ [%2d] «%s»: sh_link не поÑилаєтьÑÑ Ð½Ð° таблицю Ñ€Ñдків\n" -#: src/elflint.c:3074 src/elflint.c:3250 +#: src/elflint.c:3079 src/elflint.c:3255 #, c-format msgid "section [%2d] '%s': entry %d has wrong version %d\n" msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d має помилкову верÑÑ–ÑŽ %d\n" -#: src/elflint.c:3081 src/elflint.c:3257 +#: src/elflint.c:3086 src/elflint.c:3262 #, c-format msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n" msgstr "" "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d міÑтить помилкове Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñƒ допоміжних даних\n" -#: src/elflint.c:3091 +#: src/elflint.c:3096 #, c-format msgid "section [%2d] '%s': entry %d has invalid file reference\n" msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d міÑтить некоректне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° файл\n" -#: src/elflint.c:3099 +#: src/elflint.c:3104 #, c-format msgid "section [%2d] '%s': entry %d references unknown dependency\n" msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d поÑилаєтьÑÑ Ð½Ð° невідому залежніÑÑ‚ÑŒ\n" -#: src/elflint.c:3111 +#: src/elflint.c:3116 #, c-format msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n" msgstr "" "розділ [%2d] «%s»: допоміжний Ð·Ð°Ð¿Ð¸Ñ %d запиÑу %d позначено невідомим " "прапорцем\n" -#: src/elflint.c:3119 +#: src/elflint.c:3124 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has invalid name " @@ -2517,7 +2556,7 @@ msgstr "" "розділ [%2d] «%s»: допоміжний Ð·Ð°Ð¿Ð¸Ñ %d запиÑу %d міÑтить некоректне " "поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° назву\n" -#: src/elflint.c:3128 +#: src/elflint.c:3133 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: " @@ -2526,7 +2565,7 @@ msgstr "" "розділ [%2d] «%s»: допоміжний Ð·Ð°Ð¿Ð¸Ñ %d запиÑу %d має помилкове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ " "хешу: %#x, мало бути %#x\n" -#: src/elflint.c:3137 +#: src/elflint.c:3142 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version " @@ -2535,7 +2574,7 @@ msgstr "" "розділ [%2d] «%s»: допоміжний Ð·Ð°Ð¿Ð¸Ñ %d запиÑу %d міÑтить дублікати назви " "верÑÑ–Ñ— «%s»\n" -#: src/elflint.c:3148 +#: src/elflint.c:3153 #, c-format msgid "" "section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n" @@ -2543,13 +2582,13 @@ msgstr "" "розділ [%2d] «%s»: допоміжний Ð·Ð°Ð¿Ð¸Ñ %d запиÑу %d має помилкове наÑтупне " "поле\n" -#: src/elflint.c:3165 src/elflint.c:3341 +#: src/elflint.c:3170 src/elflint.c:3346 #, c-format msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n" msgstr "" "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d має некоректне Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ наÑтупного запиÑу\n" -#: src/elflint.c:3173 src/elflint.c:3349 +#: src/elflint.c:3178 src/elflint.c:3354 #, c-format msgid "" "section [%2d] '%s': entry %d has zero offset to next entry, but sh_info says " @@ -2558,44 +2597,44 @@ msgstr "" "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d має нульове Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‰Ð¾Ð´Ð¾ наÑтупного запиÑу, але " "за sh_info можна зрозуміти, що запиÑів більше\n" -#: src/elflint.c:3188 +#: src/elflint.c:3193 #, c-format msgid "more than one version definition section present\n" msgstr "виÑвлено більше за один розділ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²ÐµÑ€Ñій\n" -#: src/elflint.c:3235 +#: src/elflint.c:3240 #, c-format msgid "section [%2d] '%s': more than one BASE definition\n" msgstr "розділ [%2d] «%s»: повторне Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ BASE\n" -#: src/elflint.c:3239 +#: src/elflint.c:3244 #, c-format msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n" msgstr "" "розділ [%2d] «%s»: Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ BASE повинно мати Ñ–Ð½Ð´ÐµÐºÑ VER_NDX_GLOBAL\n" -#: src/elflint.c:3245 +#: src/elflint.c:3250 #, c-format msgid "section [%2d] '%s': entry %d has unknown flag\n" msgstr "розділ [%2d] «%s»: невідомий прапорець запиÑу %d\n" -#: src/elflint.c:3272 +#: src/elflint.c:3277 #, c-format msgid "section [%2d] '%s': entry %d has invalid name reference\n" msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d міÑтить некоректне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° назву\n" -#: src/elflint.c:3279 +#: src/elflint.c:3284 #, c-format msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n" msgstr "" "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d має помилкове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ…ÐµÑˆÑƒ: %#x, мало бути %#x\n" -#: src/elflint.c:3287 +#: src/elflint.c:3292 #, c-format msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n" msgstr "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d міÑтить дублікати назви верÑÑ–Ñ— «%s»\n" -#: src/elflint.c:3307 +#: src/elflint.c:3312 #, c-format msgid "" "section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n" @@ -2603,53 +2642,53 @@ msgstr "" "розділ [%2d] «%s»: Ð·Ð°Ð¿Ð¸Ñ %d міÑтить некоректне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° назву у " "допоміжних даних\n" -#: src/elflint.c:3324 +#: src/elflint.c:3329 #, c-format msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n" msgstr "" "розділ [%2d] «%s»: у допоміжних даних запиÑу %d міÑтитьÑÑ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ¾Ð²Ðµ поле " "наÑтупного запиÑу\n" -#: src/elflint.c:3357 +#: src/elflint.c:3362 #, c-format msgid "section [%2d] '%s': no BASE definition\n" msgstr "розділ [%2d] «%s»: немає Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ BASE\n" -#: src/elflint.c:3373 +#: src/elflint.c:3378 #, c-format msgid "section [%2d] '%s': unknown parent version '%s'\n" msgstr "розділ [%2d] «%s»: невідома оÑновна верÑÑ–Ñ Â«%s»\n" -#: src/elflint.c:3386 +#: src/elflint.c:3391 #, c-format msgid "section [%2d] '%s': empty object attributes section\n" msgstr "розділ [%2d] «%s»: порожній розділ атрибутів об’єкта\n" -#: src/elflint.c:3407 +#: src/elflint.c:3412 #, c-format msgid "section [%2d] '%s': unrecognized attribute format\n" msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ формат атрибутів\n" -#: src/elflint.c:3423 +#: src/elflint.c:3428 #, c-format msgid "" "section [%2d] '%s': offset %zu: zero length field in attribute section\n" msgstr "" "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: поле нульового розміру у розділі атрибутів\n" -#: src/elflint.c:3432 +#: src/elflint.c:3437 #, c-format msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n" msgstr "" "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: некоректна довжина у розділі атрибутів\n" -#: src/elflint.c:3444 +#: src/elflint.c:3449 #, c-format msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n" msgstr "" "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: незавершений Ñ€Ñдок назви поÑтачальника\n" -#: src/elflint.c:3461 +#: src/elflint.c:3466 #, c-format msgid "" "section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n" @@ -2657,12 +2696,12 @@ msgstr "" "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: незавершене поле ULEB128 у тезі підрозділу " "атрибутів\n" -#: src/elflint.c:3470 +#: src/elflint.c:3475 #, c-format msgid "section [%2d] '%s': offset %zu: truncated attribute section\n" msgstr "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: обрізаний розділ атрибутів\n" -#: src/elflint.c:3479 +#: src/elflint.c:3484 #, c-format msgid "" "section [%2d] '%s': offset %zu: zero length field in attribute subsection\n" @@ -2670,14 +2709,14 @@ msgstr "" "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: поле нульового розміру у підрозділі " "атрибутів\n" -#: src/elflint.c:3494 +#: src/elflint.c:3499 #, c-format msgid "" "section [%2d] '%s': offset %zu: invalid length in attribute subsection\n" msgstr "" "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: некоректна довжина у підрозділі атрибутів\n" -#: src/elflint.c:3505 +#: src/elflint.c:3510 #, c-format msgid "" "section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n" @@ -2685,35 +2724,35 @@ msgstr "" "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: підрозділ атрибутів міÑтить неочікуваний " "теґ %u\n" -#: src/elflint.c:3523 +#: src/elflint.c:3528 #, c-format msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n" msgstr "" "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: незавершене поле ULEB128 у тезі атрибуту\n" -#: src/elflint.c:3534 +#: src/elflint.c:3539 #, c-format msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n" msgstr "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: незавершений Ñ€Ñдок у атрибуті\n" -#: src/elflint.c:3547 +#: src/elflint.c:3552 #, c-format msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n" msgstr "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: незавершений теґ атрибуту %u\n" -#: src/elflint.c:3551 +#: src/elflint.c:3556 #, c-format msgid "" "section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n" msgstr "" "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: невідоме Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %s атрибуту %<PRIu64>\n" -#: src/elflint.c:3561 +#: src/elflint.c:3566 #, c-format msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n" msgstr "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: невідомий поÑтачальник «%s»\n" -#: src/elflint.c:3567 +#: src/elflint.c:3572 #, c-format msgid "" "section [%2d] '%s': offset %zu: extra bytes after last attribute section\n" @@ -2721,47 +2760,47 @@ msgstr "" "розділ [%2d] «%s»: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu: зайві байти піÑÐ»Ñ Ð¾Ñтаннього розділу " "атрибутів\n" -#: src/elflint.c:3656 +#: src/elflint.c:3661 #, c-format msgid "cannot get section header of zeroth section\n" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок нульового розділу\n" -#: src/elflint.c:3660 +#: src/elflint.c:3665 #, c-format msgid "zeroth section has nonzero name\n" msgstr "нульовий розділ має ненульову назву\n" -#: src/elflint.c:3662 +#: src/elflint.c:3667 #, c-format msgid "zeroth section has nonzero type\n" msgstr "нульовий розділ має ненульовий тип\n" -#: src/elflint.c:3664 +#: src/elflint.c:3669 #, c-format msgid "zeroth section has nonzero flags\n" msgstr "нульовий розділ має ненульові прапорці\n" -#: src/elflint.c:3666 +#: src/elflint.c:3671 #, c-format msgid "zeroth section has nonzero address\n" msgstr "нульовий розділ має ненульову адреÑу\n" -#: src/elflint.c:3668 +#: src/elflint.c:3673 #, c-format msgid "zeroth section has nonzero offset\n" msgstr "нульовий розділ має ненульове зміщеннÑ\n" -#: src/elflint.c:3670 +#: src/elflint.c:3675 #, c-format msgid "zeroth section has nonzero align value\n" msgstr "нульовий розділ має ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ\n" -#: src/elflint.c:3672 +#: src/elflint.c:3677 #, c-format msgid "zeroth section has nonzero entry size value\n" msgstr "нульовий розділ має ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ запиÑу\n" -#: src/elflint.c:3675 +#: src/elflint.c:3680 #, c-format msgid "" "zeroth section has nonzero size value while ELF header has nonzero shnum " @@ -2770,7 +2809,7 @@ msgstr "" "нульовий розділ має ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð¼Ñ–Ñ€Ñƒ, хоча заголовок ELF ман " "ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ shnum\n" -#: src/elflint.c:3679 +#: src/elflint.c:3684 #, c-format msgid "" "zeroth section has nonzero link value while ELF header does not signal " @@ -2779,7 +2818,7 @@ msgstr "" "нульовий розділ має ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ, хоча у заголовку ELF " "немає Ñигналу Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñƒ shstrndx\n" -#: src/elflint.c:3683 +#: src/elflint.c:3688 #, c-format msgid "" "zeroth section has nonzero link value while ELF header does not signal " @@ -2788,28 +2827,28 @@ msgstr "" "нульовий розділ має ненульове Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ ÐºÐ¾Ð¼Ð¿Ð¾Ð½ÑƒÐ²Ð°Ð½Ð½Ñ, хоча у заголовку ELF " "немає Ñигналу Ð¿ÐµÑ€ÐµÐ¿Ð¾Ð²Ð½ÐµÐ½Ð½Ñ Ñƒ phnum\n" -#: src/elflint.c:3700 +#: src/elflint.c:3706 #, c-format msgid "cannot get section header for section [%2zu] '%s': %s\n" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу [%2zu] «%s»: %s\n" -#: src/elflint.c:3709 +#: src/elflint.c:3715 #, c-format msgid "section [%2zu]: invalid name\n" msgstr "розділ [%2zu]: некоректна назва\n" -#: src/elflint.c:3736 +#: src/elflint.c:3742 #, c-format msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n" msgstr "" "розділ [%2d] «%s» належить до помилкового типу: мав бути %s, маємо %s\n" -#: src/elflint.c:3752 +#: src/elflint.c:3760 #, c-format msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n" msgstr "розділ [%2zu] «%s» має помилкові прапорці: мало бути %s, маємо %s\n" -#: src/elflint.c:3769 +#: src/elflint.c:3778 #, c-format msgid "" "section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n" @@ -2817,12 +2856,12 @@ msgstr "" "розділ [%2zu] «%s» має помилкові прапорці: мало бути %s, можливо, %s, але " "маємо %s\n" -#: src/elflint.c:3787 +#: src/elflint.c:3796 #, c-format msgid "section [%2zu] '%s' present in object file\n" msgstr "у об’єктному файлі виÑвлено розділ [%2zu] «%s»\n" -#: src/elflint.c:3793 src/elflint.c:3825 +#: src/elflint.c:3802 src/elflint.c:3834 #, c-format msgid "" "section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n" @@ -2830,7 +2869,7 @@ msgstr "" "у розділ [%2zu] «%s» вÑтановлено прапорець SHF_ALLOC, але немає придатного " "до Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñегмента\n" -#: src/elflint.c:3798 src/elflint.c:3830 +#: src/elflint.c:3807 src/elflint.c:3839 #, c-format msgid "" "section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable " @@ -2839,7 +2878,7 @@ msgstr "" "у розділі [%2zu] «%s» не вÑтановлено прапорець SHF_ALLOC, але Ñ” придатні до " "Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñегменти\n" -#: src/elflint.c:3806 +#: src/elflint.c:3815 #, c-format msgid "" "section [%2zu] '%s' is extension section index table in non-object file\n" @@ -2847,22 +2886,22 @@ msgstr "" "розділ [%2zu] «%s» Ñ” таблицею-покажчиком розділу розширень у файлі, Ñкий не " "Ñ” об’єктним\n" -#: src/elflint.c:3849 +#: src/elflint.c:3858 #, c-format msgid "section [%2zu] '%s': size not multiple of entry size\n" msgstr "розділ [%2zu] «%s»: розмір не Ñ” кратним до розміру запиÑу\n" -#: src/elflint.c:3854 +#: src/elflint.c:3863 #, c-format msgid "cannot get section header\n" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу\n" -#: src/elflint.c:3864 +#: src/elflint.c:3873 #, c-format msgid "section [%2zu] '%s' has unsupported type %d\n" msgstr "розділ [%2zu] «%s» належить до непідтримуваного типу %d\n" -#: src/elflint.c:3878 +#: src/elflint.c:3888 #, c-format msgid "" "section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n" @@ -2870,57 +2909,74 @@ msgstr "" "розділ [%2zu] «%s» міÑтить некоректні Ñпецифічні Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑора прапорці " "%#<PRIx64>\n" -#: src/elflint.c:3885 +#: src/elflint.c:3895 #, c-format msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n" msgstr "розділ [%2zu] «%s» міÑтить невідомі прапорці %#<PRIx64>\n" -#: src/elflint.c:3893 +#: src/elflint.c:3903 #, c-format msgid "section [%2zu] '%s': thread-local data sections address not zero\n" msgstr "" "розділ [%2zu] «%s»: адреÑа розділів локальних даних потоків не Ñ” нульовою\n" -#: src/elflint.c:3901 +#: src/elflint.c:3913 +#, fuzzy, c-format +msgid "section [%2zu] '%s': allocated section cannot be compressed\n" +msgstr "" +"розділ [%2zu] «%s»: адреÑа розділів локальних даних потоків не Ñ” нульовою\n" + +#: src/elflint.c:3918 +#, fuzzy, c-format +msgid "section [%2zu] '%s': nobits section cannot be compressed\n" +msgstr "розділ [%2d] «%s»: не виÑвлено розділу хешів\n" + +#: src/elflint.c:3924 +#, fuzzy, c-format +msgid "" +"section [%2zu] '%s': compressed section with no compression header: %s\n" +msgstr "розділ [%2d] «%s»: група розділів, що міÑтить лише один елемент\n" + +#: src/elflint.c:3930 #, c-format msgid "section [%2zu] '%s': invalid section reference in link value\n" msgstr "" "розділ [%2zu] «%s»: некоректне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ у значенні компонуваннÑ\n" -#: src/elflint.c:3906 +#: src/elflint.c:3935 #, c-format msgid "section [%2zu] '%s': invalid section reference in info value\n" msgstr "" "розділ [%2zu] «%s»: некоректне поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ у значенні відомоÑтей\n" -#: src/elflint.c:3913 +#: src/elflint.c:3942 #, c-format msgid "section [%2zu] '%s': strings flag set without merge flag\n" msgstr "розділ [%2zu] «%s»: вÑтановлено прапорець strings без Ð¿Ñ€Ð°Ð¿Ð¾Ñ€Ñ†Ñ merge\n" -#: src/elflint.c:3918 +#: src/elflint.c:3947 #, c-format msgid "section [%2zu] '%s': merge flag set but entry size is zero\n" msgstr "" "розділ [%2zu] «%s»: вÑтановлено прапорець merge, але розмір запиÑу Ñ” " "нульовим\n" -#: src/elflint.c:3936 +#: src/elflint.c:3965 #, c-format msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n" msgstr "розділ [%2zu] «%s» має неочікуваний тип %d Ð´Ð»Ñ Ð²Ð¸ÐºÐ¾Ð½ÑƒÐ²Ð°Ð½Ð¾Ð³Ð¾ розділу\n" -#: src/elflint.c:3945 +#: src/elflint.c:3974 #, fuzzy, c-format msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n" msgstr "розділ [%2zu] «%s» не повинен бути придатним до запиÑу\n" -#: src/elflint.c:3952 +#: src/elflint.c:3981 #, c-format msgid "section [%2zu] '%s' is both executable and writable\n" msgstr "розділ [%2zu] «%s» Ñ” одночаÑно виконуваним Ñ– придатним до запиÑу\n" -#: src/elflint.c:3982 +#: src/elflint.c:4012 #, c-format msgid "" "section [%2zu] '%s' not fully contained in segment of program header entry " @@ -2929,7 +2985,7 @@ msgstr "" "розділ [%2zu] «%s» не повніÑÑ‚ÑŽ міÑтитьÑÑ Ñƒ Ñегменті запиÑу заголовка " "програми %d\n" -#: src/elflint.c:3992 +#: src/elflint.c:4022 #, c-format msgid "" "section [%2zu] '%s' has type NOBITS but is read from the file in segment of " @@ -2938,7 +2994,7 @@ msgstr "" "розділ [%2zu] «%s» належить до типу NOBITS, але його Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑÑ Ð· " "файла у Ñегментів запиÑу заголовка програми %d\n" -#: src/elflint.c:4018 +#: src/elflint.c:4048 #, c-format msgid "" "section [%2zu] '%s' has type NOBITS but is read from the file in segment of " @@ -2947,7 +3003,7 @@ msgstr "" "розділ [%2zu] «%s» належить до типу NOBITS, але його Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð²Ð¸ÐºÐ¾Ð½ÑƒÑ”Ñ‚ÑŒÑÑ Ð· " "файла у Ñегментів запиÑу заголовка програми %d, а вміÑÑ‚ файла Ñ” ненульовим\n" -#: src/elflint.c:4029 +#: src/elflint.c:4059 #, c-format msgid "" "section [%2zu] '%s' has not type NOBITS but is not read from the file in " @@ -2956,19 +3012,19 @@ msgstr "" "розділ [%2zu] «%s» не належить до типу NOBITS, але його Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ð½Ðµ " "виконуєтьÑÑ Ð· файла у Ñегментів запиÑу заголовка програми %d\n" -#: src/elflint.c:4040 +#: src/elflint.c:4070 #, c-format msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n" msgstr "розділ [%2zu] «%s» Ñ” виконуваним у невиконуваному Ñегменті %d\n" -#: src/elflint.c:4050 +#: src/elflint.c:4080 #, c-format msgid "section [%2zu] '%s' is writable in unwritable segment %d\n" msgstr "" "розділ [%2zu] «%s» Ñ” придатним до запиÑу у непридатному до запиÑу Ñегменті " "%d\n" -#: src/elflint.c:4060 +#: src/elflint.c:4090 #, c-format msgid "" "section [%2zu] '%s': alloc flag set but section not in any loaded segment\n" @@ -2976,7 +3032,7 @@ msgstr "" "розділ [%2zu] «%s»: вÑтановлено прапорець alloc, але розділ не перебуває у " "жодному завантаженому Ñегменті\n" -#: src/elflint.c:4066 +#: src/elflint.c:4096 #, c-format msgid "" "section [%2zu] '%s': ELF header says this is the section header string table " @@ -2985,7 +3041,7 @@ msgstr "" "розділ [%2zu] «%s»: заголовок ELF повідомлÑÑ” про те, що це Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñ€Ñдків " "заголовка розділу, але Ñ†Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð½Ðµ належить до типу SHT_TYPE\n" -#: src/elflint.c:4074 +#: src/elflint.c:4104 #, c-format msgid "" "section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n" @@ -2993,17 +3049,17 @@ msgstr "" "розділ [%2zu] «%s»: придатні до переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»Ð¸ не можуть міÑтити " "динамічних таблиць Ñимволів\n" -#: src/elflint.c:4125 +#: src/elflint.c:4155 #, c-format msgid "more than one version symbol table present\n" msgstr "виÑвлено більше за одну таблицю Ñимволів верÑій\n" -#: src/elflint.c:4148 +#: src/elflint.c:4178 #, c-format msgid "INTERP program header entry but no .interp section\n" msgstr "Ñ–Ñнує Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми INTERP, але не розділ .interp\n" -#: src/elflint.c:4159 +#: src/elflint.c:4189 #, c-format msgid "" "loadable segment [%u] is executable but contains no executable sections\n" @@ -3011,14 +3067,14 @@ msgstr "" "придатний до Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñегмент [%u] Ñ” виконуваним, але не міÑтить " "виконуваних розділів\n" -#: src/elflint.c:4165 +#: src/elflint.c:4195 #, c-format msgid "loadable segment [%u] is writable but contains no writable sections\n" msgstr "" "придатний до Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð» [%u] Ñ” придатним до запиÑу, але не міÑтить " "придатних до запиÑу розділів\n" -#: src/elflint.c:4176 +#: src/elflint.c:4206 #, c-format msgid "" "no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section " @@ -3027,24 +3083,24 @@ msgstr "" "немає розділу .gnu.versym, хоча Ñ–Ñнує розділ .gnu.versym_d або .gnu." "versym_r\n" -#: src/elflint.c:4189 +#: src/elflint.c:4219 #, c-format msgid "duplicate version index %d\n" msgstr "дублікат індекÑу верÑÑ–Ñ— %d\n" -#: src/elflint.c:4203 +#: src/elflint.c:4233 #, c-format msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n" msgstr "" "Ñ–Ñнує розділ .gnu.versym, але немає розділу .gnu.versym_d або .gnu.versym_r\n" -#: src/elflint.c:4252 +#: src/elflint.c:4282 #, c-format msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n" msgstr "" "phdr[%d]: невідомий тип нотатки файла core %<PRIu32> за зміщеннÑм %<PRIu64>\n" -#: src/elflint.c:4256 +#: src/elflint.c:4286 #, c-format msgid "" "section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n" @@ -3052,13 +3108,13 @@ msgstr "" "розділ [%2d] «%s»: невідомий тип нотатки файла core %<PRIu32> за зміщеннÑм " "%zu\n" -#: src/elflint.c:4279 +#: src/elflint.c:4309 #, c-format msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %zu\n" msgstr "" "phdr[%d]: невідомий тип нотатки об’єктного файла %<PRIu32> за зміщеннÑм %zu\n" -#: src/elflint.c:4283 +#: src/elflint.c:4313 #, c-format msgid "" "section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n" @@ -3066,39 +3122,39 @@ msgstr "" "розділ [%2d] «%s»: невідомий тип нотатки об’єктного файла %<PRIu32> за " "зміщеннÑм %zu\n" -#: src/elflint.c:4300 +#: src/elflint.c:4330 #, c-format msgid "phdr[%d]: no note entries defined for the type of file\n" msgstr "phdr[%d]: Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ типу файлів не визначено запиÑів нотаток\n" -#: src/elflint.c:4319 +#: src/elflint.c:4349 #, c-format msgid "phdr[%d]: cannot get content of note section: %s\n" msgstr "phdr[%d]: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ розділу нотаток: %s\n" -#: src/elflint.c:4322 +#: src/elflint.c:4352 #, c-format msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n" msgstr "phdr[%d]: зайві %<PRIu64> байтів піÑÐ»Ñ Ð¾Ñтаннього запиÑу нотатки\n" -#: src/elflint.c:4343 +#: src/elflint.c:4373 #, c-format msgid "section [%2d] '%s': no note entries defined for the type of file\n" msgstr "" "розділ [%2d] «%s»: Ð´Ð»Ñ Ñ†ÑŒÐ¾Ð³Ð¾ типу файлів не визначено запиÑів нотаток\n" -#: src/elflint.c:4350 +#: src/elflint.c:4380 #, c-format msgid "section [%2d] '%s': cannot get content of note section\n" msgstr "розділ [%2d] «%s»: не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ розділу нотаток\n" -#: src/elflint.c:4353 +#: src/elflint.c:4383 #, c-format msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n" msgstr "" "розділ [%2d] «%s»: додаткові %<PRIu64> байтів піÑÐ»Ñ Ð¾Ñтанньої нотатки\n" -#: src/elflint.c:4371 +#: src/elflint.c:4401 #, c-format msgid "" "only executables, shared objects, and core files can have program headers\n" @@ -3106,141 +3162,141 @@ msgstr "" "заголовки програм можуть бути лише у виконуваних файлів, об’єктних файлів " "Ñпільного викориÑÑ‚Ð°Ð½Ð½Ñ Ð°Ð±Ð¾ файлів core\n" -#: src/elflint.c:4386 +#: src/elflint.c:4416 #, c-format msgid "cannot get program header entry %d: %s\n" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: %s\n" -#: src/elflint.c:4395 +#: src/elflint.c:4425 #, c-format msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n" msgstr "" "Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: невідомий тип запиÑу заголовка програми " "%#<PRIx64>\n" -#: src/elflint.c:4406 +#: src/elflint.c:4436 #, c-format msgid "more than one INTERP entry in program header\n" msgstr "більше за один Ð·Ð°Ð¿Ð¸Ñ INTERP у заголовку програми\n" -#: src/elflint.c:4414 +#: src/elflint.c:4444 #, c-format msgid "more than one TLS entry in program header\n" msgstr "більше за один Ð·Ð°Ð¿Ð¸Ñ TLS у заголовку програми\n" -#: src/elflint.c:4421 +#: src/elflint.c:4451 #, c-format msgid "static executable cannot have dynamic sections\n" msgstr "у Ñтатичному виконуваному файлі не може бути динамічних розділів\n" -#: src/elflint.c:4435 +#: src/elflint.c:4465 #, c-format msgid "dynamic section reference in program header has wrong offset\n" msgstr "" "поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° динамічний розділ у заголовку програми має помилкове зміщеннÑ\n" -#: src/elflint.c:4438 +#: src/elflint.c:4468 #, c-format msgid "dynamic section size mismatch in program and section header\n" msgstr "" "розміри динамічного розділу у заголовку програми та у заголовку розділу не " "збігаютьÑÑ\n" -#: src/elflint.c:4448 +#: src/elflint.c:4478 #, c-format msgid "more than one GNU_RELRO entry in program header\n" msgstr "більше за один Ð·Ð°Ð¿Ð¸Ñ GNU_RELRO у заголовку програми\n" -#: src/elflint.c:4469 +#: src/elflint.c:4499 #, c-format msgid "loadable segment GNU_RELRO applies to is not writable\n" msgstr "" "придатний до Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñегмент, до Ñкого звертаєтьÑÑ GNU_RELRO, " "непридатний до запиÑу\n" -#: src/elflint.c:4480 +#: src/elflint.c:4510 #, c-format msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n" msgstr "" "прапорці придатного до Ð·Ð°Ð²Ð°Ð½Ñ‚Ð°Ð¶ÐµÐ½Ð½Ñ Ñегмента [%u] не відповідають прапорцÑм " "GNU_RELRO [%u]\n" -#: src/elflint.c:4487 +#: src/elflint.c:4517 #, c-format msgid "" "GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n" msgstr "" -#: src/elflint.c:4496 src/elflint.c:4519 +#: src/elflint.c:4526 src/elflint.c:4549 #, c-format msgid "%s segment not contained in a loaded segment\n" msgstr "Ñегмент %s не міÑтитьÑÑ Ñƒ завантаженому Ñегменті\n" -#: src/elflint.c:4525 +#: src/elflint.c:4555 #, c-format msgid "program header offset in ELF header and PHDR entry do not match" msgstr "Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми у заголовку ELF Ñ– Ð·Ð°Ð¿Ð¸Ñ PHDR не збігаютьÑÑ" -#: src/elflint.c:4550 +#: src/elflint.c:4580 #, c-format msgid "call frame search table reference in program header has wrong offset\n" msgstr "" "поÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° таблицю вікон викликів у заголовку програми має помилкове " "зміщеннÑ\n" -#: src/elflint.c:4553 +#: src/elflint.c:4583 #, c-format msgid "call frame search table size mismatch in program and section header\n" msgstr "" "розміри таблиці пошуку вікон виклику у заголовку програми та у заголовку " "розділу не збігаютьÑÑ\n" -#: src/elflint.c:4566 +#: src/elflint.c:4596 #, c-format msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n" msgstr "Ñ–Ñнує PT_GNU_EH_FRAME, хоча немає розділу .eh_frame_hdr\n" -#: src/elflint.c:4574 +#: src/elflint.c:4604 #, c-format msgid "call frame search table must be allocated\n" msgstr "таблицю пошуку вікон викликів має бути розміщено у пам’ÑÑ‚Ñ–\n" -#: src/elflint.c:4577 +#: src/elflint.c:4607 #, c-format msgid "section [%2zu] '%s' must be allocated\n" msgstr "розділ [%2zu] «%s» має бути розміщено у пам’ÑÑ‚Ñ–\n" -#: src/elflint.c:4581 +#: src/elflint.c:4611 #, c-format msgid "call frame search table must not be writable\n" msgstr "Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ вікон викликів не повинна бути придатною до запиÑу\n" -#: src/elflint.c:4584 +#: src/elflint.c:4614 #, c-format msgid "section [%2zu] '%s' must not be writable\n" msgstr "розділ [%2zu] «%s» не повинен бути придатним до запиÑу\n" -#: src/elflint.c:4589 +#: src/elflint.c:4619 #, c-format msgid "call frame search table must not be executable\n" msgstr "Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¿Ð¾ÑˆÑƒÐºÑƒ вікон викликів не повинна бути придатною до виконаннÑ\n" -#: src/elflint.c:4592 +#: src/elflint.c:4622 #, c-format msgid "section [%2zu] '%s' must not be executable\n" msgstr "розділ [%2zu] «%s» не повинен бути придатним до виконаннÑ\n" -#: src/elflint.c:4603 +#: src/elflint.c:4633 #, c-format msgid "program header entry %d: file size greater than memory size\n" msgstr "Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: розмір файла перевищує об’єм пам’ÑÑ‚Ñ–\n" -#: src/elflint.c:4610 +#: src/elflint.c:4640 #, c-format msgid "program header entry %d: alignment not a power of 2\n" msgstr "Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²Ð¸Ñ€Ñ–Ð²Ð½ÑŽÐ²Ð°Ð½Ð½Ñ Ð½Ðµ Ñ” Ñтепенем 2\n" -#: src/elflint.c:4613 +#: src/elflint.c:4643 #, c-format msgid "" "program header entry %d: file offset and virtual address not module of " @@ -3249,7 +3305,7 @@ msgstr "" "Ð·Ð°Ð¿Ð¸Ñ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° програми %d: Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñƒ файлі Ñ– віртуальна адреÑа не " "ÑпіввідноÑÑÑ‚ÑŒÑÑ Ð· вирівнюваннÑм\n" -#: src/elflint.c:4626 +#: src/elflint.c:4656 #, c-format msgid "" "executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME " @@ -3258,12 +3314,12 @@ msgstr "" "виконуваний модуль/DSO з розділом .eh_frame_hdr не міÑтить запиÑу заголовка " "програми PT_GNU_EH_FRAME" -#: src/elflint.c:4660 +#: src/elflint.c:4690 #, c-format msgid "cannot read ELF header: %s\n" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ заголовок ELF: %s\n" -#: src/elflint.c:4686 +#: src/elflint.c:4716 #, c-format msgid "text relocation flag set but not needed\n" msgstr "" @@ -3285,7 +3341,7 @@ msgstr "ВикориÑтовувати ШЛЯХ Ñк кореневий ката msgid "Locate source of text relocations in FILEs (a.out by default)." msgstr "Шукає джерело переÑуваного текÑту у ФÐЙЛÐÐ¥ (типово, a.out)." -#: src/findtextrel.c:76 src/nm.c:107 src/objdump.c:71 src/size.c:83 +#: src/findtextrel.c:76 src/nm.c:108 src/objdump.c:71 src/size.c:83 #: src/strings.c:88 src/strip.c:95 msgid "[FILE...]" msgstr "[ФÐЙЛ...]" @@ -3794,8 +3850,8 @@ msgstr "ПопередженнÑ: тип «%s» змінивÑÑ Ð· %s у %s нРmsgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s" msgstr "ПопередженнÑ: розмір «%s» змінено з %<PRIu64> у %s на %<PRIu64> у %s" -#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:527 -#: src/readelf.c:829 src/strip.c:589 +#: src/ldgeneric.c:651 src/ldgeneric.c:1112 src/readelf.c:536 src/readelf.c:852 +#: src/strip.c:589 #, c-format msgid "cannot determine number of sections: %s" msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ кількіÑÑ‚ÑŒ розділів: %s" @@ -4037,7 +4093,7 @@ msgstr "Ð²Ð½ÑƒÑ‚Ñ€Ñ–ÑˆÐ½Ñ Ð¿Ð¾Ð¼Ð¸Ð»ÐºÐ°: небезбітовий розділ msgid "cannot get header of 0th section: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок 0-го розділу: %s" -#: src/ldgeneric.c:6930 src/unstrip.c:1893 +#: src/ldgeneric.c:6930 src/unstrip.c:1929 #, c-format msgid "cannot update ELF header: %s" msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ заголовок ELF: %s" @@ -4107,43 +4163,43 @@ msgstr "Ñимвол «%s» оголошено локально Ñ– на зага msgid "default visibility set as local and global" msgstr "типову видиміÑÑ‚ÑŒ визначено Ñк локальну Ñ– загальну" -#: src/nm.c:65 src/strip.c:67 +#: src/nm.c:66 src/strip.c:67 msgid "Output selection:" msgstr "Вибір виводу:" -#: src/nm.c:66 +#: src/nm.c:67 msgid "Display debugger-only symbols" msgstr "Показувати лише діагноÑтичні Ñимволи" -#: src/nm.c:67 +#: src/nm.c:68 msgid "Display only defined symbols" msgstr "Показувати лише визначені Ñимволи" -#: src/nm.c:70 +#: src/nm.c:71 msgid "Display dynamic symbols instead of normal symbols" msgstr "Показувати динамічні Ñимволи заміÑÑ‚ÑŒ звичайних Ñимволів" -#: src/nm.c:71 +#: src/nm.c:72 msgid "Display only external symbols" msgstr "Показувати лише зовнішні Ñимволи" -#: src/nm.c:72 +#: src/nm.c:73 msgid "Display only undefined symbols" msgstr "Показувати лише невизначені Ñимволи" -#: src/nm.c:74 +#: src/nm.c:75 msgid "Include index for symbols from archive members" msgstr "Включити покажчик Ð´Ð»Ñ Ñимволів з елементів архіву" -#: src/nm.c:76 src/size.c:57 +#: src/nm.c:77 src/size.c:57 msgid "Output format:" msgstr "Формат виводу:" -#: src/nm.c:78 +#: src/nm.c:79 msgid "Print name of the input file before every symbol" msgstr "Виводити перед кожним Ñимволом назву вхідного файла" -#: src/nm.c:81 +#: src/nm.c:82 msgid "" "Use the output format FORMAT. FORMAT can be `bsd', `sysv' or `posix'. The " "default is `sysv'" @@ -4151,71 +4207,71 @@ msgstr "" "ВикориÑтовувати формат виводу ФОРМÐТ. ФОРМÐТом може бути «bsd», «sysv» або " "«posix». Типовим форматом Ñ” «sysv»" -#: src/nm.c:83 +#: src/nm.c:84 msgid "Same as --format=bsd" msgstr "Те Ñаме, що Ñ– --format=bsd" -#: src/nm.c:84 +#: src/nm.c:85 msgid "Same as --format=posix" msgstr "Те Ñаме, що Ñ– --format=posix" -#: src/nm.c:85 src/size.c:63 +#: src/nm.c:86 src/size.c:63 msgid "Use RADIX for printing symbol values" msgstr "ВикориÑтовувати ОСÐОВУ чиÑÐ»ÐµÐ½Ð½Ñ Ð´Ð»Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ Ñимвольних значень" -#: src/nm.c:86 +#: src/nm.c:87 msgid "Mark special symbols" msgstr "Позначати Ñпеціальні Ñимволи" -#: src/nm.c:88 +#: src/nm.c:89 msgid "Print size of defined symbols" msgstr "ВивеÑти розмір визначених Ñимволів" -#: src/nm.c:90 src/size.c:71 src/strip.c:72 src/unstrip.c:72 +#: src/nm.c:91 src/size.c:71 src/strip.c:72 src/unstrip.c:72 msgid "Output options:" msgstr "Параметри виводу:" -#: src/nm.c:91 +#: src/nm.c:92 msgid "Sort symbols numerically by address" msgstr "ЧиÑлове впорÑÐ´ÐºÑƒÐ²Ð°Ð½Ð½Ñ Ñимволів за адреÑою" -#: src/nm.c:93 +#: src/nm.c:94 msgid "Do not sort the symbols" msgstr "Ðе впорÑдковувати Ñимволи" -#: src/nm.c:94 +#: src/nm.c:95 msgid "Reverse the sense of the sort" msgstr "Змінити порÑдок на протилежний" -#: src/nm.c:97 +#: src/nm.c:98 msgid "Decode low-level symbol names into source code names" msgstr "Визначати за низькорівневими назвами Ñимволів назви у початковому коді" -#: src/nm.c:104 +#: src/nm.c:105 msgid "List symbols from FILEs (a.out by default)." msgstr "Показати ÑпиÑок Ñимволів з ФÐЙЛів (типово з a.out)." -#: src/nm.c:115 src/objdump.c:79 +#: src/nm.c:116 src/objdump.c:79 msgid "Output formatting" msgstr "Ð¤Ð¾Ñ€Ð¼Ð°Ñ‚ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð²Ð¾Ð´Ñƒ" -#: src/nm.c:139 src/objdump.c:103 src/size.c:108 src/strip.c:127 +#: src/nm.c:140 src/objdump.c:103 src/size.c:108 src/strip.c:127 #, c-format msgid "%s: INTERNAL ERROR %d (%s): %s" msgstr "%s: Ð’ÐУТРІШÐЯ ПОМИЛКР%d (%s): %s" -#: src/nm.c:394 src/nm.c:406 src/size.c:305 src/size.c:314 src/size.c:325 +#: src/nm.c:395 src/nm.c:407 src/size.c:305 src/size.c:314 src/size.c:325 #: src/strip.c:2280 #, c-format msgid "while closing '%s'" msgstr "під Ñ‡Ð°Ñ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Â«%s»" -#: src/nm.c:416 src/objdump.c:292 src/strip.c:391 +#: src/nm.c:417 src/objdump.c:292 src/strip.c:391 #, c-format msgid "%s: File format not recognized" msgstr "%s: не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ñ‚Ð¸ формат файла" -#: src/nm.c:456 +#: src/nm.c:457 msgid "" "\n" "Archive index:\n" @@ -4223,42 +4279,42 @@ msgstr "" "\n" "Покажчик архіву:\n" -#: src/nm.c:465 +#: src/nm.c:466 #, c-format msgid "invalid offset %zu for symbol %s" msgstr "некоректне Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ %zu Ð´Ð»Ñ Ñимволу %s" -#: src/nm.c:470 +#: src/nm.c:471 #, c-format msgid "%s in %s\n" msgstr "%s у %s\n" -#: src/nm.c:478 +#: src/nm.c:479 #, c-format msgid "cannot reset archive offset to beginning" msgstr "не вдалоÑÑ Ð²Ñ–Ð´Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ архіву" -#: src/nm.c:503 src/objdump.c:340 +#: src/nm.c:504 src/objdump.c:340 #, c-format msgid "%s%s%s: file format not recognized" msgstr "%s%s%s: не вдалоÑÑ Ñ€Ð¾Ð·Ð¿Ñ–Ð·Ð½Ð°Ñ‚Ð¸ формат файла" -#: src/nm.c:715 +#: src/nm.c:719 #, c-format msgid "cannot create search tree" msgstr "не вдалоÑÑ Ñтворити дерево пошуку" -#: src/nm.c:754 src/nm.c:1160 src/objdump.c:789 src/readelf.c:536 -#: src/readelf.c:1085 src/readelf.c:1245 src/readelf.c:1393 src/readelf.c:1579 -#: src/readelf.c:1785 src/readelf.c:1975 src/readelf.c:2202 src/readelf.c:2460 -#: src/readelf.c:2536 src/readelf.c:2623 src/readelf.c:3203 src/readelf.c:3239 -#: src/readelf.c:3302 src/readelf.c:8212 src/readelf.c:9314 src/readelf.c:9461 -#: src/readelf.c:9529 src/size.c:413 src/size.c:482 src/strip.c:520 +#: src/nm.c:760 src/nm.c:1221 src/objdump.c:789 src/readelf.c:545 +#: src/readelf.c:1123 src/readelf.c:1323 src/readelf.c:1471 src/readelf.c:1667 +#: src/readelf.c:1873 src/readelf.c:2063 src/readelf.c:2300 src/readelf.c:2558 +#: src/readelf.c:2634 src/readelf.c:2721 src/readelf.c:3301 src/readelf.c:3347 +#: src/readelf.c:3410 src/readelf.c:8320 src/readelf.c:9420 src/readelf.c:9603 +#: src/readelf.c:9671 src/size.c:413 src/size.c:482 src/strip.c:520 #, c-format msgid "cannot get section header string table index" msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñ–Ð½Ð´ÐµÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° розділу у таблиці Ñ€Ñдків" -#: src/nm.c:781 +#: src/nm.c:787 #, c-format msgid "" "\n" @@ -4271,7 +4327,7 @@ msgstr "" "Символи з %s:\n" "\n" -#: src/nm.c:784 +#: src/nm.c:790 #, c-format msgid "" "%*s%-*s %-*s Class Type %-*s %*s Section\n" @@ -4280,22 +4336,22 @@ msgstr "" "%*s%-*s %-*s ÐšÐ»Ð°Ñ Ð¢Ð¸Ð¿ %-*s %*s Розділ\n" "\n" -#: src/nm.c:1171 +#: src/nm.c:1232 #, c-format msgid "%s: entry size in section %zd `%s' is not what we expect" msgstr "%s: розмір запиÑу у розділі %zd «%s» не Ñ” очікуваним" -#: src/nm.c:1176 +#: src/nm.c:1237 #, c-format msgid "%s: size of section %zd `%s' is not multiple of entry size" msgstr "%s: розмір розділу %zd «%s» не Ñ” кратним до розміру запиÑу" -#: src/nm.c:1434 +#: src/nm.c:1537 #, c-format msgid "%s%s%s%s: Invalid operation" msgstr "%s%s%s%s: некоректна діÑ" -#: src/nm.c:1491 +#: src/nm.c:1594 #, c-format msgid "%s%s%s: no symbols" msgstr "%s%s%s: немає Ñимволів" @@ -4328,7 +4384,7 @@ msgstr "Показати інформацію лише з розділу ÐÐЗРmsgid "Show information from FILEs (a.out by default)." msgstr "Показати інформацію з ФÐЙЛів (типово a.out)." -#: src/objdump.c:232 src/readelf.c:473 +#: src/objdump.c:232 src/readelf.c:479 msgid "No operation specified.\n" msgstr "Ðе вказано дії.\n" @@ -4337,11 +4393,11 @@ msgstr "Ðе вказано дії.\n" msgid "while close `%s'" msgstr "під Ñ‡Ð°Ñ Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Â«%s»" -#: src/objdump.c:375 src/readelf.c:1880 src/readelf.c:2072 +#: src/objdump.c:375 src/readelf.c:1968 src/readelf.c:2160 msgid "INVALID SYMBOL" msgstr "ÐЕКОРЕКТÐИЙ СИМВОЛ" -#: src/objdump.c:390 src/readelf.c:1914 src/readelf.c:2108 +#: src/objdump.c:390 src/readelf.c:2002 src/readelf.c:2196 msgid "INVALID SECTION" msgstr "ÐЕКОРЕКТÐИЙ РОЗДІЛ" @@ -4393,74 +4449,74 @@ msgstr "«%s» не Ñ” архівом" msgid "error while freeing sub-ELF descriptor: %s" msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ð²Ð¸Ð²Ñ–Ð»ÑŒÐ½ÐµÐ½Ð½Ñ Ð´ÐµÑкриптора під-ELF: %s" -#: src/readelf.c:71 +#: src/readelf.c:72 msgid "ELF input selection:" msgstr "Вибір вихідних даних ELF:" -#: src/readelf.c:73 +#: src/readelf.c:74 msgid "" "Use the named SECTION (default .gnu_debugdata) as (compressed) ELF input data" msgstr "" "ВикориÑтовувати вказаний за іменем РОЗДІЛ (типово .gnu_debugdata) Ñк " "(ÑтиÑнені) вхідні дані ELF" -#: src/readelf.c:75 +#: src/readelf.c:76 msgid "ELF output selection:" msgstr "Вибір виводу ELF:" -#: src/readelf.c:77 +#: src/readelf.c:78 msgid "All these plus -p .strtab -p .dynstr -p .comment" msgstr "Ð’Ñе це Ð¿Ð»ÑŽÑ -p .strtab -p .dynstr -p .comment" -#: src/readelf.c:78 +#: src/readelf.c:79 msgid "Display the dynamic segment" msgstr "Показувати динамічний Ñегмент" -#: src/readelf.c:79 +#: src/readelf.c:80 msgid "Display the ELF file header" msgstr "Показувати заголовок файла ELF" -#: src/readelf.c:81 +#: src/readelf.c:82 msgid "Display histogram of bucket list lengths" msgstr "Показати гіÑтограму довжин ÑпиÑку блоків" -#: src/readelf.c:82 +#: src/readelf.c:83 msgid "Display the program headers" msgstr "Показувати заголовки програми" -#: src/readelf.c:84 +#: src/readelf.c:85 msgid "Display relocations" msgstr "Показувати переÑуваннÑ" -#: src/readelf.c:85 +#: src/readelf.c:86 msgid "Display the sections' headers" msgstr "Показувати заголовки розділів" -#: src/readelf.c:87 +#: src/readelf.c:88 msgid "Display the symbol table" msgstr "Показувати таблицю Ñимволів" -#: src/readelf.c:88 +#: src/readelf.c:89 msgid "Display versioning information" msgstr "Показувати відомоÑÑ‚Ñ– щодо верÑÑ–Ñ—" -#: src/readelf.c:89 +#: src/readelf.c:90 msgid "Display the ELF notes" msgstr "Показувати нотатки ELF" -#: src/readelf.c:91 +#: src/readelf.c:92 msgid "Display architecture specific information, if any" msgstr "Показувати Ñпецифічні Ð´Ð»Ñ Ð°Ñ€Ñ…Ñ–Ñ‚ÐµÐºÑ‚ÑƒÑ€Ð¸ дані, Ñкщо такі буде виÑвлено" -#: src/readelf.c:93 +#: src/readelf.c:94 msgid "Display sections for exception handling" msgstr "Показувати розділи Ð´Ð»Ñ Ð¾Ð±Ñ€Ð¾Ð±ÐºÐ¸ виключень" -#: src/readelf.c:95 +#: src/readelf.c:96 msgid "Additional output selection:" msgstr "Додатковий вибір виводу:" -#: src/readelf.c:97 +#: src/readelf.c:98 msgid "" "Display DWARF section content. SECTION can be one of abbrev, aranges, " "decodedaranges, frame, gdb_index, info, loc, line, decodedline, ranges, " @@ -4470,167 +4526,173 @@ msgstr "" "decodedaranges, frame, gdb_index, info, loc, line, decodedline, ranges, " "pubnames, str, macinfo, macro або exception" -#: src/readelf.c:101 +#: src/readelf.c:102 msgid "Dump the uninterpreted contents of SECTION, by number or name" msgstr "" "Створити дамп даних РОЗДІЛ, Ñкі не вдалоÑÑ Ñ–Ð½Ñ‚ÐµÑ€Ð¿Ñ€ÐµÑ‚ÑƒÐ²Ð°Ñ‚Ð¸, за номером або " "назвами" -#: src/readelf.c:103 +#: src/readelf.c:104 msgid "Print string contents of sections" msgstr "Виводити вміÑÑ‚ Ñ€Ñдків розділів" -#: src/readelf.c:106 +#: src/readelf.c:107 msgid "Display the symbol index of an archive" msgstr "Показувати покажчик Ñимволів архіву" -#: src/readelf.c:108 +#: src/readelf.c:109 msgid "Output control:" msgstr "ÐšÐµÑ€ÑƒÐ²Ð°Ð½Ð½Ñ Ð²Ð¸Ð²Ð¾Ð´Ð¾Ð¼:" -#: src/readelf.c:110 +#: src/readelf.c:111 msgid "Do not find symbol names for addresses in DWARF data" msgstr "Ðе шукати назви Ñимволів Ð´Ð»Ñ Ð°Ð´Ñ€ÐµÑ Ñƒ даних DWARF" -#: src/readelf.c:112 +#: src/readelf.c:113 msgid "" "Display just offsets instead of resolving values to addresses in DWARF data" msgstr "Показати лише зміщеннÑ, а не визначені Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи у даних DWARF" -#: src/readelf.c:114 +#: src/readelf.c:115 msgid "Ignored for compatibility (lines always wide)" msgstr "ІгноруєтьÑÑ Ð· міркувань ÑуміÑноÑÑ‚Ñ– (Ñ€Ñдки завжди широкі)" -#: src/readelf.c:119 +#: src/readelf.c:117 +msgid "" +"Show compression information for compressed sections (when used with -S); " +"decompress section before dumping data (when used with -p or -x)" +msgstr "" + +#: src/readelf.c:122 msgid "Print information from ELF file in human-readable form." msgstr "Виводити відомоÑÑ‚Ñ– з файла ELF у придатному Ð´Ð»Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ„Ð¾Ñ€Ð¼Ð°Ñ‚Ñ–." -#: src/readelf.c:441 +#: src/readelf.c:447 #, c-format msgid "Unknown DWARF debug section `%s'.\n" msgstr "Ðевідомий діагноÑтичний розділ DWARF «%s».\n" -#: src/readelf.c:520 src/readelf.c:631 +#: src/readelf.c:529 src/readelf.c:640 #, c-format msgid "cannot generate Elf descriptor: %s" msgstr "не вдалоÑÑ Ñтворити деÑкриптор Elf: %s" -#: src/readelf.c:545 src/readelf.c:1099 src/readelf.c:1269 +#: src/readelf.c:554 src/readelf.c:1145 src/readelf.c:1347 #, c-format msgid "cannot get section: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ розділ: %s" -#: src/readelf.c:554 src/readelf.c:1106 src/readelf.c:1277 src/readelf.c:9481 -#: src/unstrip.c:355 src/unstrip.c:386 src/unstrip.c:435 src/unstrip.c:543 -#: src/unstrip.c:560 src/unstrip.c:596 src/unstrip.c:794 src/unstrip.c:1083 -#: src/unstrip.c:1274 src/unstrip.c:1334 src/unstrip.c:1455 src/unstrip.c:1508 -#: src/unstrip.c:1623 src/unstrip.c:1761 src/unstrip.c:1855 +#: src/readelf.c:563 src/readelf.c:1152 src/readelf.c:1355 src/readelf.c:9623 +#: src/unstrip.c:387 src/unstrip.c:418 src/unstrip.c:467 src/unstrip.c:577 +#: src/unstrip.c:594 src/unstrip.c:631 src/unstrip.c:829 src/unstrip.c:1118 +#: src/unstrip.c:1309 src/unstrip.c:1369 src/unstrip.c:1490 src/unstrip.c:1543 +#: src/unstrip.c:1658 src/unstrip.c:1796 src/unstrip.c:1891 #, c-format msgid "cannot get section header: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу: %s" -#: src/readelf.c:562 +#: src/readelf.c:571 #, c-format msgid "cannot get section name" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ назву розділу" -#: src/readelf.c:571 src/readelf.c:5396 src/readelf.c:7670 src/readelf.c:7772 -#: src/readelf.c:7949 +#: src/readelf.c:580 src/readelf.c:5504 src/readelf.c:7778 src/readelf.c:7880 +#: src/readelf.c:8057 #, c-format msgid "cannot get %s content: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані %s: %s" -#: src/readelf.c:587 +#: src/readelf.c:596 #, c-format msgid "cannot create temp file '%s'" msgstr "не вдалоÑÑ Ñтворити файл тимчаÑових даних «%s»" -#: src/readelf.c:596 +#: src/readelf.c:605 #, c-format msgid "cannot write section data" msgstr "не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати дані розділу" -#: src/readelf.c:602 src/readelf.c:619 src/readelf.c:648 +#: src/readelf.c:611 src/readelf.c:628 src/readelf.c:657 #, c-format msgid "error while closing Elf descriptor: %s" msgstr "помилка під Ñ‡Ð°Ñ Ñпроби Ð·Ð°ÐºÑ€Ð¸Ñ‚Ñ‚Ñ Ð´ÐµÑкриптора Elf: %s" -#: src/readelf.c:609 +#: src/readelf.c:618 #, c-format msgid "error while rewinding file descriptor" msgstr "помилка під Ñ‡Ð°Ñ Ð¿Ð¾Ð²ÐµÑ€Ð½ÐµÐ½Ð½Ñ Ð´Ð¾ початкового Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð´ÐµÑкриптора файла" -#: src/readelf.c:643 +#: src/readelf.c:652 #, c-format msgid "'%s' is not an archive, cannot print archive index" msgstr "«%s» не Ñ” архівом, Ð²Ð¸Ð²ÐµÐ´ÐµÐ½Ð½Ñ Ð¿Ð¾ÐºÐ°Ð¶Ñ‡Ð¸ÐºÐ° архіву неможливе" -#: src/readelf.c:742 +#: src/readelf.c:751 #, c-format msgid "No such section '%s' in '%s'" msgstr "У «%2$s» немає розділу «%1$s»" -#: src/readelf.c:769 +#: src/readelf.c:778 #, c-format msgid "cannot stat input file" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані з вхідного файла за допомогою stat" -#: src/readelf.c:771 +#: src/readelf.c:780 #, c-format msgid "input file is empty" msgstr "вхідний файл Ñ” порожнім" -#: src/readelf.c:773 +#: src/readelf.c:782 #, c-format msgid "failed reading '%s': %s" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ «%s»: %s" -#: src/readelf.c:814 +#: src/readelf.c:837 #, c-format msgid "cannot read ELF header: %s" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ заголовок ELF: %s" -#: src/readelf.c:822 +#: src/readelf.c:845 #, c-format msgid "cannot create EBL handle" msgstr "не вдалоÑÑ Ñтворити деÑкриптор EBL" -#: src/readelf.c:835 +#: src/readelf.c:858 #, c-format msgid "cannot determine number of program headers: %s" msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ кількіÑÑ‚ÑŒ заголовків програми: %s" -#: src/readelf.c:921 +#: src/readelf.c:948 msgid "NONE (None)" msgstr "NONE (Ðемає)" -#: src/readelf.c:922 +#: src/readelf.c:949 msgid "REL (Relocatable file)" msgstr "REL (Придатний до переÑÑƒÐ²Ð°Ð½Ð½Ñ Ñ„Ð°Ð¹Ð»)" -#: src/readelf.c:923 +#: src/readelf.c:950 msgid "EXEC (Executable file)" msgstr "EXEC (Виконуваний файл)" -#: src/readelf.c:924 +#: src/readelf.c:951 msgid "DYN (Shared object file)" msgstr "DYN (Файл об’єктів Ñпільного викориÑтаннÑ)" -#: src/readelf.c:925 +#: src/readelf.c:952 msgid "CORE (Core file)" msgstr "CORE (Файл Ñдра)" -#: src/readelf.c:930 +#: src/readelf.c:957 #, c-format msgid "OS Specific: (%x)\n" msgstr "ОС-Ñпецифічне: (%x)\n" -#: src/readelf.c:932 +#: src/readelf.c:959 #, c-format msgid "Processor Specific: (%x)\n" msgstr "Специфічне Ð´Ð»Ñ Ð¿Ñ€Ð¾Ñ†ÐµÑора: (%x)\n" -#: src/readelf.c:942 +#: src/readelf.c:969 msgid "" "ELF Header:\n" " Magic: " @@ -4638,7 +4700,7 @@ msgstr "" "Заголовок ELF:\n" " Magic: " -#: src/readelf.c:946 +#: src/readelf.c:973 #, c-format msgid "" "\n" @@ -4647,117 +4709,117 @@ msgstr "" "\n" " КлаÑ: %s\n" -#: src/readelf.c:951 +#: src/readelf.c:978 #, c-format msgid " Data: %s\n" msgstr " Дані: %s\n" -#: src/readelf.c:957 +#: src/readelf.c:984 #, c-format msgid " Ident Version: %hhd %s\n" msgstr " ВерÑÑ–Ñ Ident: %hhd %s\n" -#: src/readelf.c:959 src/readelf.c:976 +#: src/readelf.c:986 src/readelf.c:1003 msgid "(current)" msgstr "(поточний)" -#: src/readelf.c:963 +#: src/readelf.c:990 #, c-format msgid " OS/ABI: %s\n" msgstr " ОС/ABI: %s\n" -#: src/readelf.c:966 +#: src/readelf.c:993 #, c-format msgid " ABI Version: %hhd\n" msgstr " ВерÑÑ–Ñ ABI: %hhd\n" -#: src/readelf.c:969 +#: src/readelf.c:996 msgid " Type: " msgstr " Тип: " -#: src/readelf.c:972 +#: src/readelf.c:999 #, c-format msgid " Machine: %s\n" msgstr " Ðрхітектура: %s\n" -#: src/readelf.c:974 +#: src/readelf.c:1001 #, c-format msgid " Version: %d %s\n" msgstr " ВерÑÑ–Ñ: %d %s\n" -#: src/readelf.c:978 +#: src/readelf.c:1005 #, c-format msgid " Entry point address: %#<PRIx64>\n" msgstr " ÐдреÑа вхідної точки: %#<PRIx64>\n" -#: src/readelf.c:981 +#: src/readelf.c:1008 #, c-format msgid " Start of program headers: %<PRId64> %s\n" msgstr " Початок заголовків програм: %<PRId64> %s\n" -#: src/readelf.c:982 src/readelf.c:985 +#: src/readelf.c:1009 src/readelf.c:1012 msgid "(bytes into file)" msgstr "(байтів у файл)" -#: src/readelf.c:984 +#: src/readelf.c:1011 #, c-format msgid " Start of section headers: %<PRId64> %s\n" msgstr " Початок заголовків розділів: %<PRId64> %s\n" -#: src/readelf.c:987 +#: src/readelf.c:1014 #, c-format msgid " Flags: %s\n" msgstr " Прапорці: %s\n" -#: src/readelf.c:990 +#: src/readelf.c:1017 #, c-format msgid " Size of this header: %<PRId16> %s\n" msgstr " Розмір цього заголовка: %<PRId16> %s\n" -#: src/readelf.c:991 src/readelf.c:994 src/readelf.c:1011 +#: src/readelf.c:1018 src/readelf.c:1021 src/readelf.c:1038 msgid "(bytes)" msgstr "(байтів)" -#: src/readelf.c:993 +#: src/readelf.c:1020 #, c-format msgid " Size of program header entries: %<PRId16> %s\n" msgstr " Розмір запиÑів заголовка програми: %<PRId16> %s\n" -#: src/readelf.c:996 +#: src/readelf.c:1023 #, c-format msgid " Number of program headers entries: %<PRId16>" msgstr " КількіÑÑ‚ÑŒ запиÑів заголовків програми: %<PRId16>" -#: src/readelf.c:1003 +#: src/readelf.c:1030 #, c-format msgid " (%<PRIu32> in [0].sh_info)" msgstr " (%<PRIu32> у [0].sh_info)" -#: src/readelf.c:1006 src/readelf.c:1023 src/readelf.c:1037 +#: src/readelf.c:1033 src/readelf.c:1050 src/readelf.c:1064 msgid " ([0] not available)" msgstr " ([0] недоÑтупний)" -#: src/readelf.c:1010 +#: src/readelf.c:1037 #, c-format msgid " Size of section header entries: %<PRId16> %s\n" msgstr " Розмір запиÑів заголовків розділів: %<PRId16> %s\n" -#: src/readelf.c:1013 +#: src/readelf.c:1040 #, c-format msgid " Number of section headers entries: %<PRId16>" msgstr " КількіÑÑ‚ÑŒ запиÑів заголовків розділів: %<PRId16>" -#: src/readelf.c:1020 +#: src/readelf.c:1047 #, c-format msgid " (%<PRIu32> in [0].sh_size)" msgstr " (%<PRIu32> у [0].sh_size)" -#: src/readelf.c:1033 +#: src/readelf.c:1060 #, c-format msgid " (%<PRIu32> in [0].sh_link)" msgstr " (%<PRIu32> у [0].sh_link)" -#: src/readelf.c:1041 +#: src/readelf.c:1068 #, c-format msgid "" " Section header string table index: XINDEX%s\n" @@ -4766,7 +4828,7 @@ msgstr "" " Ð†Ð½Ð´ÐµÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° розділу у таблиці Ñ€Ñдків: XINDEX%s\n" "\n" -#: src/readelf.c:1045 +#: src/readelf.c:1072 #, c-format msgid "" " Section header string table index: %<PRId16>\n" @@ -4775,7 +4837,7 @@ msgstr "" " Ð†Ð½Ð´ÐµÐºÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²ÐºÐ° розділу у таблиці Ñ€Ñдків: %<PRId16>\n" "\n" -#: src/readelf.c:1077 +#: src/readelf.c:1115 #, c-format msgid "" "There are %d section headers, starting at offset %#<PRIx64>:\n" @@ -4784,11 +4846,11 @@ msgstr "" "ВиÑвлено %d заголовків розділів, Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¿Ð¾Ñ‡Ð°Ñ‚ÐºÑƒ — %#<PRIx64>:\n" "\n" -#: src/readelf.c:1087 +#: src/readelf.c:1125 msgid "Section Headers:" msgstr "Заголовки розділів:" -#: src/readelf.c:1090 +#: src/readelf.c:1128 msgid "" "[Nr] Name Type Addr Off Size ES Flags Lk " "Inf Al" @@ -4796,7 +4858,7 @@ msgstr "" "[â„– ] Ðазва Тип Ðдр Змі Розмір ES Прап Lk " "Інф Al" -#: src/readelf.c:1092 +#: src/readelf.c:1130 msgid "" "[Nr] Name Type Addr Off Size ES " "Flags Lk Inf Al" @@ -4804,17 +4866,35 @@ msgstr "" "[â„– ] Ðазва Тип Ðдр Змі Розмір ES " "Прап Lk Інф Al" -#: src/readelf.c:1164 +#: src/readelf.c:1135 +msgid " [Compression Size Al]" +msgstr "" + +#: src/readelf.c:1137 +msgid " [Compression Size Al]" +msgstr "" + +#: src/readelf.c:1213 +#, fuzzy, c-format +msgid "bad compression header for section %zd: %s" +msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок розділу %zu: %s" + +#: src/readelf.c:1224 +#, fuzzy, c-format +msgid "bad gnu compressed size for section %zd: %s" +msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d: %s" + +#: src/readelf.c:1242 msgid "Program Headers:" msgstr "Заголовки програми:" -#: src/readelf.c:1166 +#: src/readelf.c:1244 msgid "" " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align" msgstr "" " Тип Зміщен ВіртÐдр ФізÐдр РозмФайл РозмПам Пра Вирів" -#: src/readelf.c:1169 +#: src/readelf.c:1247 msgid "" " Type Offset VirtAddr PhysAddr FileSiz " "MemSiz Flg Align" @@ -4822,12 +4902,12 @@ msgstr "" " Тип Зміщен ВіртÐдр ФізÐдр " "РозмФайлРозмПам Пра Вирів" -#: src/readelf.c:1226 +#: src/readelf.c:1304 #, c-format msgid "\t[Requesting program interpreter: %s]\n" msgstr "\t[Запит щодо інтерпретатора програми: %s]\n" -#: src/readelf.c:1247 +#: src/readelf.c:1325 msgid "" "\n" " Section to Segment mapping:\n" @@ -4837,12 +4917,12 @@ msgstr "" " Ð’Ñ–Ð´Ð¾Ð±Ñ€Ð°Ð¶ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñ–Ð² на Ñегмент:\n" " Розділи Ñегмента..." -#: src/readelf.c:1258 src/unstrip.c:1914 src/unstrip.c:1957 src/unstrip.c:1964 +#: src/readelf.c:1336 src/unstrip.c:1950 src/unstrip.c:1992 src/unstrip.c:1999 #, c-format msgid "cannot get program header: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок програми: %s" -#: src/readelf.c:1401 +#: src/readelf.c:1479 #, c-format msgid "" "\n" @@ -4860,7 +4940,7 @@ msgstr[2] "" "\n" "Група розділів COMDAT [%2zu] «%s» з підпиÑом «%s» міÑтить %zu запиÑів:\n" -#: src/readelf.c:1406 +#: src/readelf.c:1484 #, c-format msgid "" "\n" @@ -4878,21 +4958,25 @@ msgstr[2] "" "\n" "Група розділів [%2zu] «%s» з підпиÑом «%s» міÑтить %zu запиÑів:\n" -#: src/readelf.c:1414 +#: src/readelf.c:1492 msgid "<INVALID SYMBOL>" msgstr "<ÐЕКОРЕКТÐИЙ СИМВОЛ>" -#: src/readelf.c:1428 +#: src/readelf.c:1506 msgid "<INVALID SECTION>" msgstr "<ÐЕКОРЕКТÐИЙ РОЗДІЛ>" -#: src/readelf.c:1585 src/readelf.c:2208 src/readelf.c:2466 src/readelf.c:2542 -#: src/readelf.c:2846 src/readelf.c:2920 src/readelf.c:4608 +#: src/readelf.c:1529 src/readelf.c:2238 src/readelf.c:3317 +msgid "Couldn't uncompress section" +msgstr "" + +#: src/readelf.c:1673 src/readelf.c:2306 src/readelf.c:2564 src/readelf.c:2640 +#: src/readelf.c:2944 src/readelf.c:3018 src/readelf.c:4716 #, c-format msgid "invalid sh_link value in section %zu" msgstr "некоректне Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ sh_link у розділі %zu" -#: src/readelf.c:1588 +#: src/readelf.c:1676 #, c-format msgid "" "\n" @@ -4915,36 +4999,36 @@ msgstr[2] "" "Динамічний Ñегмент міÑтить %lu запиÑів:\n" " Ðдр: %#0*<PRIx64> ЗміщеннÑ: %#08<PRIx64> ПоÑ. на розділ: [%2u] '%s'\n" -#: src/readelf.c:1598 +#: src/readelf.c:1686 msgid " Type Value\n" msgstr " Тип ЗначеннÑ\n" -#: src/readelf.c:1622 +#: src/readelf.c:1710 #, c-format msgid "Shared library: [%s]\n" msgstr "Спільна бібліотека: [%s]\n" -#: src/readelf.c:1627 +#: src/readelf.c:1715 #, c-format msgid "Library soname: [%s]\n" msgstr "Ðазва so бібліотеки: [%s]\n" -#: src/readelf.c:1632 +#: src/readelf.c:1720 #, c-format msgid "Library rpath: [%s]\n" msgstr "Rpath бібліотеки: [%s]\n" -#: src/readelf.c:1637 +#: src/readelf.c:1725 #, c-format msgid "Library runpath: [%s]\n" msgstr "Runpath бібліотеки: [%s]\n" -#: src/readelf.c:1657 +#: src/readelf.c:1745 #, c-format msgid "%<PRId64> (bytes)\n" msgstr "%<PRId64> (байт)\n" -#: src/readelf.c:1770 src/readelf.c:1960 +#: src/readelf.c:1858 src/readelf.c:2048 #, c-format msgid "" "\n" @@ -4953,7 +5037,7 @@ msgstr "" "\n" "Ðекоректна Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів за зміщеннÑм %#0<PRIx64>\n" -#: src/readelf.c:1788 src/readelf.c:1978 +#: src/readelf.c:1876 src/readelf.c:2066 #, c-format msgid "" "\n" @@ -4976,7 +5060,7 @@ msgstr[2] "" "Розділ переÑÑƒÐ²Ð°Ð½Ð½Ñ [%2zu] «%s» Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ [%2u] «%s» за зміщеннÑм " "%#0<PRIx64> міÑтить %d запиÑів:\n" -#: src/readelf.c:1803 src/readelf.c:1993 +#: src/readelf.c:1891 src/readelf.c:2081 #, c-format msgid "" "\n" @@ -4994,30 +5078,30 @@ msgstr[2] "" "\n" "Розділ переÑÑƒÐ²Ð°Ð½Ð½Ñ [%2u] «%s» за зміщеннÑм %#0<PRIx64> міÑтить %d запиÑів:\n" -#: src/readelf.c:1813 +#: src/readelf.c:1901 msgid " Offset Type Value Name\n" msgstr " Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва\n" -#: src/readelf.c:1815 +#: src/readelf.c:1903 msgid " Offset Type Value Name\n" msgstr " Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва\n" -#: src/readelf.c:1868 src/readelf.c:1879 src/readelf.c:1892 src/readelf.c:1913 -#: src/readelf.c:1925 src/readelf.c:2059 src/readelf.c:2071 src/readelf.c:2085 -#: src/readelf.c:2107 src/readelf.c:2120 +#: src/readelf.c:1956 src/readelf.c:1967 src/readelf.c:1980 src/readelf.c:2001 +#: src/readelf.c:2013 src/readelf.c:2147 src/readelf.c:2159 src/readelf.c:2173 +#: src/readelf.c:2195 src/readelf.c:2208 msgid "<INVALID RELOC>" msgstr "<ÐЕКОРЕКТÐЕ ПЕРЕМІЩЕÐÐЯ>" -#: src/readelf.c:2003 +#: src/readelf.c:2091 msgid " Offset Type Value Addend Name\n" msgstr " Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва додатка\n" -#: src/readelf.c:2005 +#: src/readelf.c:2093 msgid " Offset Type Value Addend Name\n" msgstr "" " Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð¢Ð¸Ð¿ Ð—Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ðазва додатка\n" -#: src/readelf.c:2216 +#: src/readelf.c:2314 #, c-format msgid "" "\n" @@ -5035,7 +5119,7 @@ msgstr[2] "" "\n" "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів [%2u] «%s» міÑтить %u запиÑів:\n" -#: src/readelf.c:2221 +#: src/readelf.c:2319 #, c-format msgid " %lu local symbol String table: [%2u] '%s'\n" msgid_plural " %lu local symbols String table: [%2u] '%s'\n" @@ -5043,33 +5127,33 @@ msgstr[0] " %lu лок. Ñимвол Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів: [%2u] « msgstr[1] " %lu лок. Ñимволи Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів: [%2u] «%s»\n" msgstr[2] " %lu лок. Ñимволів Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів: [%2u] «%s»\n" -#: src/readelf.c:2229 +#: src/readelf.c:2327 msgid " Num: Value Size Type Bind Vis Ndx Name\n" msgstr " â„–â„– Знач. Роз. Тип Зв’Ñз Вид. Інд Ðазва\n" -#: src/readelf.c:2231 +#: src/readelf.c:2329 msgid " Num: Value Size Type Bind Vis Ndx Name\n" msgstr " â„–â„– Знач. Роз. Тип Зв’Ñз Вид. Інд Ðазва\n" -#: src/readelf.c:2251 +#: src/readelf.c:2349 #, c-format msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s" msgstr "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s" -#: src/readelf.c:2339 +#: src/readelf.c:2437 #, c-format msgid "bad dynamic symbol" msgstr "помилковий динамічний Ñимвол" -#: src/readelf.c:2421 +#: src/readelf.c:2519 msgid "none" msgstr "немає" -#: src/readelf.c:2438 +#: src/readelf.c:2536 msgid "| <unknown>" msgstr "| <невідомо>" -#: src/readelf.c:2469 +#: src/readelf.c:2567 #, c-format msgid "" "\n" @@ -5092,17 +5176,17 @@ msgstr[2] "" "Розділ потреби у верÑÑ–ÑÑ… [%2u] «%s», що міÑтить %d запиÑів:\n" " Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»\n" -#: src/readelf.c:2490 +#: src/readelf.c:2588 #, c-format msgid " %#06x: Version: %hu File: %s Cnt: %hu\n" msgstr " %#06x: ВерÑÑ–Ñ: %hu Файл: %s Кть: %hu\n" -#: src/readelf.c:2503 +#: src/readelf.c:2601 #, c-format msgid " %#06x: Name: %s Flags: %s Version: %hu\n" msgstr " %#06x: Ðазва: %s Прап: %s ВерÑÑ–Ñ: %hu\n" -#: src/readelf.c:2546 +#: src/readelf.c:2644 #, c-format msgid "" "\n" @@ -5125,17 +5209,17 @@ msgstr[2] "" "Розділ Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð²ÐµÑ€ÑÑ–Ñ— [%2u] «%s», що міÑтить %d запиÑів:\n" " Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»\n" -#: src/readelf.c:2574 +#: src/readelf.c:2672 #, c-format msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n" msgstr " %#06x: ВерÑÑ–Ñ: %hd Прап.: %s ІндекÑ: %hd К-Ñ‚ÑŒ: %hd Ðазва: %s\n" -#: src/readelf.c:2589 +#: src/readelf.c:2687 #, c-format msgid " %#06x: Parent %d: %s\n" msgstr " %#06x: батьківÑький %d: %s\n" -#: src/readelf.c:2850 +#: src/readelf.c:2948 #, c-format msgid "" "\n" @@ -5158,15 +5242,15 @@ msgstr[2] "" "Розділ Ñимволів верÑій [%2u] «%s», що міÑтить %d запиÑів:\n" " Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»" -#: src/readelf.c:2878 +#: src/readelf.c:2976 msgid " 0 *local* " msgstr " 0 *локальний* " -#: src/readelf.c:2883 +#: src/readelf.c:2981 msgid " 1 *global* " msgstr " 1 *загальний* " -#: src/readelf.c:2925 +#: src/readelf.c:3023 #, c-format msgid "" "\n" @@ -5194,22 +5278,22 @@ msgstr[2] "" "блоками):\n" " Ðдр.: %#0*<PRIx64> Зміщ.: %#08<PRIx64> ПоÑÐ¸Ð»Ð°Ð½Ð½Ñ Ð½Ð° розділ: [%2u] «%s»\n" -#: src/readelf.c:2947 +#: src/readelf.c:3045 #, no-c-format msgid " Length Number % of total Coverage\n" msgstr " Довжина Ðомер % від загал. ПокриттÑ\n" -#: src/readelf.c:2949 +#: src/readelf.c:3047 #, c-format msgid " 0 %6<PRIu32> %5.1f%%\n" msgstr " 0 %6<PRIu32> %5.1f%%\n" -#: src/readelf.c:2956 +#: src/readelf.c:3054 #, c-format msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n" msgstr "%7d %6<PRIu32> %5.1f%% %5.1f%%\n" -#: src/readelf.c:2969 +#: src/readelf.c:3067 #, c-format msgid "" " Average number of tests: successful lookup: %f\n" @@ -5218,27 +5302,27 @@ msgstr "" " Ð¡ÐµÑ€ÐµÐ´Ð½Ñ ÐºÑ–Ð»ÑŒÐºÑ–ÑÑ‚ÑŒ теÑтів: уÑпішний пошук: %f\n" "\t\t\t неуÑпішний пошук: %f\n" -#: src/readelf.c:2987 src/readelf.c:3042 src/readelf.c:3099 +#: src/readelf.c:3085 src/readelf.c:3140 src/readelf.c:3197 #, c-format msgid "cannot get data for section %d: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ %d: %s" -#: src/readelf.c:2995 +#: src/readelf.c:3093 #, c-format msgid "invalid data in sysv.hash section %d" msgstr "некоректні дані у розділі sysv.hash %d" -#: src/readelf.c:3050 +#: src/readelf.c:3148 #, c-format msgid "invalid data in sysv.hash64 section %d" msgstr "некоректні дані у розділі sysv.hash64 %d" -#: src/readelf.c:3108 +#: src/readelf.c:3206 #, c-format msgid "invalid data in gnu.hash section %d" msgstr "некоректні дані у розділі gnu.hash %d" -#: src/readelf.c:3175 +#: src/readelf.c:3273 #, c-format msgid "" " Symbol Bias: %u\n" @@ -5248,7 +5332,7 @@ msgstr "" " Розмір бітової маÑки: %zu байтів %<PRIuFAST32>%% вÑтановлених бітів зÑув " "2-го хешу: %u\n" -#: src/readelf.c:3250 +#: src/readelf.c:3358 #, c-format msgid "" "\n" @@ -5269,7 +5353,7 @@ msgstr[2] "" "Розділ ÑпиÑку бібліотек [%2zu] «%s» за зміщеннÑм %#0<PRIx64> міÑтить %d " "запиÑів:\n" -#: src/readelf.c:3264 +#: src/readelf.c:3372 msgid "" " Library Time Stamp Checksum Version " "Flags" @@ -5277,7 +5361,7 @@ msgstr "" " Бібліотека ЧаÑовий штамп ВерÑÑ–Ñ Ñуми " "Прапорці" -#: src/readelf.c:3314 +#: src/readelf.c:3422 #, c-format msgid "" "\n" @@ -5288,140 +5372,140 @@ msgstr "" "Розділ атрибутів об’єктів [%2zu] «%s» з %<PRIu64> байтів за зміщеннÑм " "%#0<PRIx64>:\n" -#: src/readelf.c:3331 +#: src/readelf.c:3439 msgid " Owner Size\n" msgstr " ВлаÑник Розмір\n" -#: src/readelf.c:3360 +#: src/readelf.c:3468 #, c-format msgid " %-13s %4<PRIu32>\n" msgstr " %-13s %4<PRIu32>\n" -#: src/readelf.c:3399 +#: src/readelf.c:3507 #, c-format msgid " %-4u %12<PRIu32>\n" msgstr " %-4u %12<PRIu32>\n" -#: src/readelf.c:3404 +#: src/readelf.c:3512 #, c-format msgid " File: %11<PRIu32>\n" msgstr " Файл: %11<PRIu32>\n" -#: src/readelf.c:3453 +#: src/readelf.c:3561 #, c-format msgid " %s: %<PRId64>, %s\n" msgstr " %s: %<PRId64>, %s\n" -#: src/readelf.c:3456 +#: src/readelf.c:3564 #, c-format msgid " %s: %<PRId64>\n" msgstr " %s: %<PRId64>\n" -#: src/readelf.c:3459 +#: src/readelf.c:3567 #, c-format msgid " %s: %s\n" msgstr " %s: %s\n" -#: src/readelf.c:3469 +#: src/readelf.c:3577 #, c-format msgid " %u: %<PRId64>\n" msgstr " %u: %<PRId64>\n" -#: src/readelf.c:3472 +#: src/readelf.c:3580 #, c-format msgid " %u: %s\n" msgstr " %u: %s\n" -#: src/readelf.c:3517 +#: src/readelf.c:3625 #, c-format msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>" msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3520 +#: src/readelf.c:3628 #, c-format msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>" msgstr "%s+%#0*<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3525 +#: src/readelf.c:3633 #, c-format msgid "%#<PRIx64> <%s+%#<PRIx64>>" msgstr "%#<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3528 +#: src/readelf.c:3636 #, c-format msgid "%#0*<PRIx64> <%s+%#<PRIx64>>" msgstr "%#0*<PRIx64> <%s+%#<PRIx64>>" -#: src/readelf.c:3534 +#: src/readelf.c:3642 #, c-format msgid "%s+%#<PRIx64> <%s>" msgstr "%s+%#<PRIx64> <%s>" -#: src/readelf.c:3537 +#: src/readelf.c:3645 #, c-format msgid "%s+%#0*<PRIx64> <%s>" msgstr "%s+%#0*<PRIx64> <%s>" -#: src/readelf.c:3541 +#: src/readelf.c:3649 #, c-format msgid "%#<PRIx64> <%s>" msgstr "%#<PRIx64> <%s>" -#: src/readelf.c:3544 +#: src/readelf.c:3652 #, c-format msgid "%#0*<PRIx64> <%s>" msgstr "%#0*<PRIx64> <%s>" -#: src/readelf.c:3549 +#: src/readelf.c:3657 #, c-format msgid "%s+%#<PRIx64>" msgstr "%s+%#<PRIx64>" -#: src/readelf.c:3552 +#: src/readelf.c:3660 #, c-format msgid "%s+%#0*<PRIx64>" msgstr "%s+%#0*<PRIx64>" -#: src/readelf.c:3930 +#: src/readelf.c:4038 msgid "empty block" msgstr "порожній блок" -#: src/readelf.c:3933 +#: src/readelf.c:4041 #, c-format msgid "%zu byte block:" msgstr "%zu-байтовий блок:" -#: src/readelf.c:4330 +#: src/readelf.c:4438 #, c-format msgid "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n" msgstr "%*s[%4<PRIuMAX>] %s <ОБРІЗÐÐО>\n" -#: src/readelf.c:4387 +#: src/readelf.c:4495 #, c-format msgid "%s %#<PRIx64> used with different address sizes" msgstr "%s %#<PRIx64> викориÑтано з різними розмірами адреÑ" -#: src/readelf.c:4394 +#: src/readelf.c:4502 #, c-format msgid "%s %#<PRIx64> used with different offset sizes" msgstr "%s %#<PRIx64> викориÑтано з різними розмірами зміщень" -#: src/readelf.c:4401 +#: src/readelf.c:4509 #, c-format msgid "%s %#<PRIx64> used with different base addresses" msgstr "%s %#<PRIx64> викориÑтано з різними базовими адреÑами" -#: src/readelf.c:4490 +#: src/readelf.c:4598 #, c-format msgid " [%6tx] <UNUSED GARBAGE IN REST OF SECTION>\n" msgstr " [%6tx] <ÐЕВИКОРИСТОВУВÐÐІ ДÐÐІ У РЕШТІ РОЗДІЛУ>\n" -#: src/readelf.c:4498 +#: src/readelf.c:4606 #, c-format msgid " [%6tx] <UNUSED GARBAGE> ... %<PRIu64> bytes ...\n" msgstr " [%6tx] <ÐЕВИКОРИСТОВУВÐÐІ ДÐÐІ> ... %<PRIu64> байтів ...\n" -#: src/readelf.c:4524 +#: src/readelf.c:4632 #, c-format msgid "" "\n" @@ -5432,7 +5516,7 @@ msgstr "" "Розділ DWARF [%2zu] «%s» зі зміщеннÑм %#<PRIx64>:\n" " [ Код]\n" -#: src/readelf.c:4532 +#: src/readelf.c:4640 #, c-format msgid "" "\n" @@ -5441,30 +5525,30 @@ msgstr "" "\n" "Розділ Ñкорочень за зміщеннÑм %<PRIu64>:\n" -#: src/readelf.c:4545 +#: src/readelf.c:4653 #, c-format msgid " *** error while reading abbreviation: %s\n" msgstr " *** помилка під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ ÑкороченнÑ: %s\n" -#: src/readelf.c:4561 +#: src/readelf.c:4669 #, c-format msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n" msgstr " [%5u] зміщеннÑ: %<PRId64>, дочірній: %s, мітка: %s\n" -#: src/readelf.c:4564 +#: src/readelf.c:4672 msgid "yes" msgstr "так" -#: src/readelf.c:4564 +#: src/readelf.c:4672 msgid "no" msgstr "ні" -#: src/readelf.c:4598 src/readelf.c:4671 +#: src/readelf.c:4706 src/readelf.c:4779 #, c-format msgid "cannot get .debug_aranges content: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані get .debug_aranges: %s" -#: src/readelf.c:4613 +#: src/readelf.c:4721 #, c-format msgid "" "\n" @@ -5482,12 +5566,12 @@ msgstr[2] "" "\n" "Розділ DWARF [%2zu] «%s» за зміщеннÑм %#<PRIx64> міÑтить %zu запиÑів:\n" -#: src/readelf.c:4644 +#: src/readelf.c:4752 #, c-format msgid " [%*zu] ???\n" msgstr " [%*zu] ???\n" -#: src/readelf.c:4646 +#: src/readelf.c:4754 #, c-format msgid "" " [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n" @@ -5495,8 +5579,8 @@ msgstr "" " [%*zu] початок: %0#*<PRIx64>, довжина: %5<PRIu64>, Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ CU DIE: " "%6<PRId64>\n" -#: src/readelf.c:4676 src/readelf.c:4830 src/readelf.c:5406 src/readelf.c:6360 -#: src/readelf.c:6892 src/readelf.c:7012 src/readelf.c:7176 src/readelf.c:7601 +#: src/readelf.c:4784 src/readelf.c:4938 src/readelf.c:5514 src/readelf.c:6468 +#: src/readelf.c:7000 src/readelf.c:7120 src/readelf.c:7284 src/readelf.c:7709 #, c-format msgid "" "\n" @@ -5505,7 +5589,7 @@ msgstr "" "\n" "Розділ DWARF [%2zu] «%s» зі зміщеннÑм %#<PRIx64>:\n" -#: src/readelf.c:4689 src/readelf.c:6386 +#: src/readelf.c:4797 src/readelf.c:6494 #, c-format msgid "" "\n" @@ -5514,12 +5598,12 @@ msgstr "" "\n" "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð·Ð° зміщеннÑм %zu:\n" -#: src/readelf.c:4693 src/readelf.c:5430 src/readelf.c:6397 +#: src/readelf.c:4801 src/readelf.c:5538 src/readelf.c:6505 #, c-format msgid "invalid data in section [%zu] '%s'" msgstr "некоректні дані у розділі [%zu] «%s»" -#: src/readelf.c:4709 +#: src/readelf.c:4817 #, c-format msgid "" "\n" @@ -5528,32 +5612,32 @@ msgstr "" "\n" " Довжина: %6<PRIu64>\n" -#: src/readelf.c:4721 +#: src/readelf.c:4829 #, c-format msgid " DWARF version: %6<PRIuFAST16>\n" msgstr " верÑÑ–Ñ DWARF: %6<PRIuFAST16>\n" -#: src/readelf.c:4725 +#: src/readelf.c:4833 #, c-format msgid "unsupported aranges version" msgstr "непідтримувана верÑÑ–Ñ aranges" -#: src/readelf.c:4736 +#: src/readelf.c:4844 #, c-format msgid " CU offset: %6<PRIx64>\n" msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ CU: %6<PRIx64>\n" -#: src/readelf.c:4742 +#: src/readelf.c:4850 #, c-format msgid " Address size: %6<PRIu64>\n" msgstr " Розмір адреÑи: %6<PRIu64>\n" -#: src/readelf.c:4746 +#: src/readelf.c:4854 #, c-format msgid "unsupported address size" msgstr "непідтримуваний розмір адреÑи" -#: src/readelf.c:4751 +#: src/readelf.c:4859 #, c-format msgid "" " Segment size: %6<PRIu64>\n" @@ -5562,66 +5646,66 @@ msgstr "" " Розмір Ñегмента: %6<PRIu64>\n" "\n" -#: src/readelf.c:4755 +#: src/readelf.c:4863 #, c-format msgid "unsupported segment size" msgstr "непідтримуваний розмір Ñегмента" -#: src/readelf.c:4795 +#: src/readelf.c:4903 #, c-format msgid " %s..%s (%<PRIx64>)\n" msgstr " %s..%s (%<PRIx64>)\n" -#: src/readelf.c:4798 +#: src/readelf.c:4906 #, c-format msgid " %s..%s\n" msgstr " %s..%s\n" -#: src/readelf.c:4807 +#: src/readelf.c:4915 #, c-format msgid " %zu padding bytes\n" msgstr " %zu байтів доповненнÑ\n" -#: src/readelf.c:4825 +#: src/readelf.c:4933 #, c-format msgid "cannot get .debug_ranges content: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані .debug_ranges: %s" -#: src/readelf.c:4855 src/readelf.c:6919 +#: src/readelf.c:4963 src/readelf.c:7027 #, c-format msgid " [%6tx] <INVALID DATA>\n" msgstr " [%6tx] <ÐЕКОРЕКТÐІ ДÐÐІ>\n" -#: src/readelf.c:4877 src/readelf.c:6941 +#: src/readelf.c:4985 src/readelf.c:7049 #, c-format msgid " [%6tx] base address %s\n" msgstr " [%6tx] базова адреÑа %s\n" -#: src/readelf.c:4884 src/readelf.c:6948 +#: src/readelf.c:4992 src/readelf.c:7056 #, c-format msgid " [%6tx] empty list\n" msgstr " [%6tx] порожній ÑпиÑок\n" -#: src/readelf.c:4895 +#: src/readelf.c:5003 #, c-format msgid " [%6tx] %s..%s\n" msgstr " [%6tx] %s..%s\n" -#: src/readelf.c:4897 +#: src/readelf.c:5005 #, c-format msgid " %s..%s\n" msgstr " %s..%s\n" -#: src/readelf.c:5076 +#: src/readelf.c:5184 msgid " <INVALID DATA>\n" msgstr " <ÐЕКОРЕКТÐІ ДÐÐІ>\n" -#: src/readelf.c:5385 +#: src/readelf.c:5493 #, c-format msgid "cannot get ELF: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ ELF: %s" -#: src/readelf.c:5402 +#: src/readelf.c:5510 #, c-format msgid "" "\n" @@ -5630,7 +5714,7 @@ msgstr "" "\n" "Розділ відомоÑтей щодо вікна викликів [%2zu] «%s» за зміщеннÑм %#<PRIx64>:\n" -#: src/readelf.c:5452 +#: src/readelf.c:5560 #, c-format msgid "" "\n" @@ -5639,50 +5723,50 @@ msgstr "" "\n" " [%6tx] нульовий переривач\n" -#: src/readelf.c:5545 src/readelf.c:5700 +#: src/readelf.c:5653 src/readelf.c:5808 #, c-format msgid "invalid augmentation length" msgstr "некоректна довжина збільшеннÑ" -#: src/readelf.c:5560 +#: src/readelf.c:5668 msgid "FDE address encoding: " msgstr "ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð°Ð´Ñ€ÐµÑи FDE: " -#: src/readelf.c:5566 +#: src/readelf.c:5674 msgid "LSDA pointer encoding: " msgstr "ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð²ÐºÐ°Ð·Ñ–Ð²Ð½Ð¸ÐºÐ° LSDA: " -#: src/readelf.c:5677 +#: src/readelf.c:5785 #, c-format msgid " (offset: %#<PRIx64>)" msgstr " (зміщеннÑ: %#<PRIx64>)" -#: src/readelf.c:5684 +#: src/readelf.c:5792 #, c-format msgid " (end offset: %#<PRIx64>)" msgstr " (Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð²Ñ–Ð´ кінцÑ: %#<PRIx64>)" -#: src/readelf.c:5721 +#: src/readelf.c:5829 #, c-format msgid " %-26sLSDA pointer: %#<PRIx64>\n" msgstr " %-26sвказівник LSDA: %#<PRIx64>\n" -#: src/readelf.c:5776 +#: src/readelf.c:5884 #, c-format msgid "cannot get attribute code: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ код атрибута: %s" -#: src/readelf.c:5785 +#: src/readelf.c:5893 #, c-format msgid "cannot get attribute form: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ форму атрибута: %s" -#: src/readelf.c:5800 +#: src/readelf.c:5908 #, c-format msgid "cannot get attribute value: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð°Ñ‚Ñ€Ð¸Ð±ÑƒÑ‚Ð°: %s" -#: src/readelf.c:6099 +#: src/readelf.c:6207 #, c-format msgid "" "\n" @@ -5693,7 +5777,7 @@ msgstr "" "Розділ DWARF [%2zu] «%s» за зміщеннÑм %#<PRIx64>:\n" " [ЗміщеннÑ]\n" -#: src/readelf.c:6131 +#: src/readelf.c:6239 #, c-format msgid "" " Type unit at offset %<PRIu64>:\n" @@ -5706,7 +5790,7 @@ msgstr "" "ЗміщеннÑ: %<PRIu8>\n" " ÐŸÑ–Ð´Ð¿Ð¸Ñ Ñ‚Ð¸Ð¿Ñƒ: %#<PRIx64>, Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ‚Ð¸Ð¿Ñƒ: %#<PRIx64>\n" -#: src/readelf.c:6140 +#: src/readelf.c:6248 #, c-format msgid "" " Compilation unit at offset %<PRIu64>:\n" @@ -5717,33 +5801,33 @@ msgstr "" " ВерÑÑ–Ñ: %<PRIu16>, Ð—Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ Ñкорочень: %<PRIu64>, ÐдреÑа: %<PRIu8>, " "ЗміщеннÑ: %<PRIu8>\n" -#: src/readelf.c:6165 +#: src/readelf.c:6273 #, c-format msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ DIE за зміщеннÑм %<PRIu64> у розділі «%s»: %s" -#: src/readelf.c:6179 +#: src/readelf.c:6287 #, c-format msgid "cannot get DIE offset: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ DIE: %s" -#: src/readelf.c:6188 +#: src/readelf.c:6296 #, c-format msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s" msgstr "" "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ мітку DIE за зміщеннÑм %<PRIu64> у розділі «%s»: %s" -#: src/readelf.c:6220 +#: src/readelf.c:6328 #, c-format msgid "cannot get next DIE: %s\n" msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ наÑтупний DIE: %s\n" -#: src/readelf.c:6228 +#: src/readelf.c:6336 #, c-format msgid "cannot get next DIE: %s" msgstr "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ наÑтупний DIE: %s" -#: src/readelf.c:6264 +#: src/readelf.c:6372 #, c-format msgid "" "\n" @@ -5754,12 +5838,12 @@ msgstr "" "Розділ DWARF [%2zu] «%s» зі зміщеннÑм %#<PRIx64>:\n" "\n" -#: src/readelf.c:6373 +#: src/readelf.c:6481 #, c-format msgid "cannot get line data section data: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу лінійних даних: %s" -#: src/readelf.c:6443 +#: src/readelf.c:6551 #, c-format msgid "" "\n" @@ -5788,12 +5872,12 @@ msgstr "" "\n" "Коди операцій:\n" -#: src/readelf.c:6464 +#: src/readelf.c:6572 #, c-format msgid "invalid data at offset %tu in section [%zu] '%s'" msgstr "некоректні дані зі зміщеннÑм %tu у розділі [%zu] «%s»" -#: src/readelf.c:6479 +#: src/readelf.c:6587 #, c-format msgid " [%*<PRIuFAST8>] %hhu argument\n" msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n" @@ -5801,7 +5885,7 @@ msgstr[0] " [%*<PRIuFAST8>] %hhu аргумент\n" msgstr[1] " [%*<PRIuFAST8>] %hhu аргументи\n" msgstr[2] " [%*<PRIuFAST8>] %hhu аргументів\n" -#: src/readelf.c:6487 +#: src/readelf.c:6595 msgid "" "\n" "Directory table:" @@ -5809,7 +5893,7 @@ msgstr "" "\n" "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ ÐºÐ°Ñ‚Ð°Ð»Ð¾Ð³Ñƒ:" -#: src/readelf.c:6503 +#: src/readelf.c:6611 msgid "" "\n" "File name table:\n" @@ -5819,7 +5903,7 @@ msgstr "" "Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð½Ð°Ð·Ð² файлів:\n" " Ð—Ð°Ð¿Ð¸Ñ ÐšÐ°Ñ‚ Ð§Ð°Ñ Ð Ð¾Ð·Ð¼Ñ–Ñ€ Ðазва" -#: src/readelf.c:6538 +#: src/readelf.c:6646 msgid "" "\n" "Line number statements:" @@ -5827,120 +5911,120 @@ msgstr "" "\n" "Оператори номерів Ñ€Ñдків:" -#: src/readelf.c:6589 +#: src/readelf.c:6697 #, c-format msgid "invalid maximum operations per instruction is zero" msgstr "некоректну кількіÑÑ‚ÑŒ операцій на інÑтрукцію прирівнÑно до нулÑ" -#: src/readelf.c:6625 +#: src/readelf.c:6733 #, c-format msgid " special opcode %u: address+%u = %s, op_index = %u, line%+d = %zu\n" msgstr "" " Ñпеціальний код операції %u: адреÑа+%u = %s, індекÑ_оп = %u, Ñ€Ñдок%+d = " "%zu\n" -#: src/readelf.c:6630 +#: src/readelf.c:6738 #, c-format msgid " special opcode %u: address+%u = %s, line%+d = %zu\n" msgstr " Ñпеціальний код операції %u: адреÑа+%u = %s, Ñ€Ñдок%+d = %zu\n" -#: src/readelf.c:6650 +#: src/readelf.c:6758 #, c-format msgid " extended opcode %u: " msgstr " розширений код операції %u: " -#: src/readelf.c:6655 +#: src/readelf.c:6763 msgid " end of sequence" msgstr " кінець поÑлідовноÑÑ‚Ñ–" -#: src/readelf.c:6674 +#: src/readelf.c:6782 #, c-format msgid " set address to %s\n" msgstr " вÑтановити адреÑу у Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ %s\n" -#: src/readelf.c:6701 +#: src/readelf.c:6809 #, c-format msgid " define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n" msgstr "" " Ð²Ð¸Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ð½Ð¾Ð²Ð¾Ð³Ð¾ файла: dir=%u, mtime=%<PRIu64>, довжина=%<PRIu64>, назва=" "%s\n" -#: src/readelf.c:6714 +#: src/readelf.c:6822 #, c-format msgid " set discriminator to %u\n" msgstr " вÑтановити Ñ€Ð¾Ð·Ñ€Ñ–Ð·Ð½ÐµÐ½Ð½Ñ Ð´Ð»Ñ %u\n" -#: src/readelf.c:6719 +#: src/readelf.c:6827 msgid " unknown opcode" msgstr " невідомий код операції" -#: src/readelf.c:6731 +#: src/readelf.c:6839 msgid " copy" msgstr " копіÑ" -#: src/readelf.c:6742 +#: src/readelf.c:6850 #, c-format msgid " advance address by %u to %s, op_index to %u\n" msgstr " Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи на %u до %s, індекÑ_оп до %u\n" -#: src/readelf.c:6746 +#: src/readelf.c:6854 #, c-format msgid " advance address by %u to %s\n" msgstr " Ð·Ð±Ñ–Ð»ÑŒÑˆÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи на %u до %s\n" -#: src/readelf.c:6757 +#: src/readelf.c:6865 #, c-format msgid " advance line by constant %d to %<PRId64>\n" msgstr " проÑувати Ñ€Ñдок на Ñталу %d до %<PRId64>\n" -#: src/readelf.c:6765 +#: src/readelf.c:6873 #, c-format msgid " set file to %<PRIu64>\n" msgstr " вÑтановити файл у %<PRIu64>\n" -#: src/readelf.c:6775 +#: src/readelf.c:6883 #, c-format msgid " set column to %<PRIu64>\n" msgstr " вÑтановити Ð·Ð½Ð°Ñ‡ÐµÐ½Ð½Ñ Ñтовпчика %<PRIu64>\n" -#: src/readelf.c:6782 +#: src/readelf.c:6890 #, c-format msgid " set '%s' to %<PRIuFAST8>\n" msgstr " вÑтановити «%s» у %<PRIuFAST8>\n" -#: src/readelf.c:6788 +#: src/readelf.c:6896 msgid " set basic block flag" msgstr " вÑтановити прапорець базового блоку" -#: src/readelf.c:6801 +#: src/readelf.c:6909 #, c-format msgid " advance address by constant %u to %s, op_index to %u\n" msgstr " збільшити адреÑу на Ñталу величину %u до %s, індекÑ_оп до %u\n" -#: src/readelf.c:6805 +#: src/readelf.c:6913 #, c-format msgid " advance address by constant %u to %s\n" msgstr " збільшити адреÑу на Ñталу величину %u до %s\n" -#: src/readelf.c:6823 +#: src/readelf.c:6931 #, c-format msgid " advance address by fixed value %u to %s\n" msgstr " збільшити адреÑу на фікÑовану величину %u до %s\n" -#: src/readelf.c:6832 +#: src/readelf.c:6940 msgid " set prologue end flag" msgstr " вÑтановити прапорець ÐºÑ–Ð½Ñ†Ñ Ð²Ñтупу" -#: src/readelf.c:6837 +#: src/readelf.c:6945 msgid " set epilogue begin flag" msgstr " вÑтановити прапорець початку епілогу" -#: src/readelf.c:6846 +#: src/readelf.c:6954 #, c-format msgid " set isa to %u\n" msgstr " вÑтановити isa у %u\n" -#: src/readelf.c:6855 +#: src/readelf.c:6963 #, c-format msgid " unknown opcode with %<PRIu8> parameter:" msgid_plural " unknown opcode with %<PRIu8> parameters:" @@ -5948,102 +6032,102 @@ msgstr[0] " невідомий код операції з %<PRIu8> Ð¿Ð°Ñ€Ð°Ð¼ÐµÑ msgstr[1] " невідомий код операції з %<PRIu8> параметрами:" msgstr[2] " невідомий код операції з %<PRIu8> параметрами:" -#: src/readelf.c:6887 +#: src/readelf.c:6995 #, c-format msgid "cannot get .debug_loc content: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ .debug_loc: %s" -#: src/readelf.c:6962 +#: src/readelf.c:7070 #, c-format msgid " [%6tx] %s..%s" msgstr " [%6tx] %s..%s" -#: src/readelf.c:6964 +#: src/readelf.c:7072 #, c-format msgid " %s..%s" msgstr " %s..%s" -#: src/readelf.c:6971 src/readelf.c:7859 +#: src/readelf.c:7079 src/readelf.c:7967 msgid " <INVALID DATA>\n" msgstr " <ÐЕКОРЕКТÐІ ДÐÐІ>\n" -#: src/readelf.c:7023 src/readelf.c:7185 +#: src/readelf.c:7131 src/readelf.c:7293 #, c-format msgid "cannot get macro information section data: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу відомоÑтей щодо макроÑів: %s" -#: src/readelf.c:7103 +#: src/readelf.c:7211 #, c-format msgid "%*s*** non-terminated string at end of section" msgstr "%*s*** незавершений Ñ€Ñдок наприкінці розділу" -#: src/readelf.c:7126 +#: src/readelf.c:7234 #, c-format msgid "%*s*** missing DW_MACINFO_start_file argument at end of section" msgstr "%*s*** пропущено аргумент DW_MACINFO_start_file наприкінці розділу" -#: src/readelf.c:7226 +#: src/readelf.c:7334 #, c-format msgid " Offset: 0x%<PRIx64>\n" msgstr " ЗміщеннÑ: 0x%<PRIx64>\n" -#: src/readelf.c:7238 +#: src/readelf.c:7346 #, c-format msgid " Version: %<PRIu16>\n" msgstr " ВерÑÑ–Ñ: %<PRIu16>\n" -#: src/readelf.c:7244 src/readelf.c:7978 +#: src/readelf.c:7352 src/readelf.c:8086 #, c-format msgid " unknown version, cannot parse section\n" msgstr " невідома верÑÑ–Ñ, не вдалоÑÑ Ð¾Ð±Ñ€Ð¾Ð±Ð¸Ñ‚Ð¸ розділ\n" -#: src/readelf.c:7251 +#: src/readelf.c:7359 #, c-format msgid " Flag: 0x%<PRIx8>\n" msgstr " Прапорець: 0x%<PRIx8>\n" -#: src/readelf.c:7254 +#: src/readelf.c:7362 #, c-format msgid " Offset length: %<PRIu8>\n" msgstr " Довжина зміщеннÑ: %<PRIu8>\n" -#: src/readelf.c:7262 +#: src/readelf.c:7370 #, c-format msgid " .debug_line offset: 0x%<PRIx64>\n" msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ .debug_line: 0x%<PRIx64>\n" -#: src/readelf.c:7275 +#: src/readelf.c:7383 #, c-format msgid " extension opcode table, %<PRIu8> items:\n" msgstr " Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ ÐºÐ¾Ð´Ñ–Ð² операцій розширень, запиÑів — %<PRIu8>:\n" -#: src/readelf.c:7282 +#: src/readelf.c:7390 #, c-format msgid " [%<PRIx8>]" msgstr " [%<PRIx8>]" -#: src/readelf.c:7294 +#: src/readelf.c:7402 #, c-format msgid " %<PRIu8> arguments:" msgstr " %<PRIu8> аргументів:" -#: src/readelf.c:7322 +#: src/readelf.c:7430 #, c-format msgid " no arguments." msgstr " немає аргументів." -#: src/readelf.c:7559 +#: src/readelf.c:7667 #, c-format msgid "vendor opcode not verified?" msgstr "код операції поÑтачальника не перевірено?" -#: src/readelf.c:7587 +#: src/readelf.c:7695 #, c-format msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n" msgstr "" " [%5d] Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ DIE: %6<PRId64>, Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ CU DIE: %6<PRId64>, назва: %s\n" -#: src/readelf.c:7628 +#: src/readelf.c:7736 #, c-format msgid "" "\n" @@ -6054,12 +6138,12 @@ msgstr "" "Розділ DWARF [%2zu] «%s» зі зміщеннÑм %#<PRIx64>:\n" " %*s Ð Ñдок\n" -#: src/readelf.c:7642 +#: src/readelf.c:7750 #, c-format msgid " *** error while reading strings: %s\n" msgstr " *** помилка під Ñ‡Ð°Ñ Ñ‡Ð¸Ñ‚Ð°Ð½Ð½Ñ Ñ€Ñдків: %s\n" -#: src/readelf.c:7662 +#: src/readelf.c:7770 #, c-format msgid "" "\n" @@ -6068,7 +6152,7 @@ msgstr "" "\n" "Розділ таблиці пошуку вікон виклику [%2zu] '.eh_frame_hdr':\n" -#: src/readelf.c:7764 +#: src/readelf.c:7872 #, c-format msgid "" "\n" @@ -6077,22 +6161,22 @@ msgstr "" "\n" "Розділ таблиці обробки виключень [%2zu] '.gcc_except_table':\n" -#: src/readelf.c:7787 +#: src/readelf.c:7895 #, c-format msgid " LPStart encoding: %#x " msgstr " ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ LPStart: %#x " -#: src/readelf.c:7799 +#: src/readelf.c:7907 #, c-format msgid " TType encoding: %#x " msgstr " ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ TType: %#x " -#: src/readelf.c:7814 +#: src/readelf.c:7922 #, c-format msgid " Call site encoding: %#x " msgstr " ÐšÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ Ð¼Ñ–ÑÑ†Ñ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ:%#x " -#: src/readelf.c:7827 +#: src/readelf.c:7935 msgid "" "\n" " Call site table:" @@ -6100,7 +6184,7 @@ msgstr "" "\n" " Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ð¼Ñ–ÑÑ†Ñ Ð²Ð¸ÐºÐ»Ð¸ÐºÑƒ:" -#: src/readelf.c:7841 +#: src/readelf.c:7949 #, c-format msgid "" " [%4u] Call site start: %#<PRIx64>\n" @@ -6113,12 +6197,12 @@ msgstr "" " МіÑце заÑтоÑуваннÑ: %#<PRIx64>\n" " ДіÑ: %u\n" -#: src/readelf.c:7914 +#: src/readelf.c:8022 #, c-format msgid "invalid TType encoding" msgstr "некоректне ÐºÐ¾Ð´ÑƒÐ²Ð°Ð½Ð½Ñ TType" -#: src/readelf.c:7940 +#: src/readelf.c:8048 #, c-format msgid "" "\n" @@ -6127,37 +6211,37 @@ msgstr "" "\n" "Розділ GDB [%2zu] «%s» за зміщеннÑм %#<PRIx64> міÑтить %<PRId64> байтів:\n" -#: src/readelf.c:7969 +#: src/readelf.c:8077 #, c-format msgid " Version: %<PRId32>\n" msgstr " ВерÑÑ–Ñ: %<PRId32>\n" -#: src/readelf.c:7987 +#: src/readelf.c:8095 #, c-format msgid " CU offset: %#<PRIx32>\n" msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ CU: %#<PRIx32>\n" -#: src/readelf.c:7994 +#: src/readelf.c:8102 #, c-format msgid " TU offset: %#<PRIx32>\n" msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ TU: %#<PRIx32>\n" -#: src/readelf.c:8001 +#: src/readelf.c:8109 #, c-format msgid " address offset: %#<PRIx32>\n" msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ð°Ð´Ñ€ÐµÑи: %#<PRIx32>\n" -#: src/readelf.c:8008 +#: src/readelf.c:8116 #, c-format msgid " symbol offset: %#<PRIx32>\n" msgstr " Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñимволу: %#<PRIx32>\n" -#: src/readelf.c:8015 +#: src/readelf.c:8123 #, c-format msgid " constant offset: %#<PRIx32>\n" msgstr " Ñтале зміщеннÑ: %#<PRIx32>\n" -#: src/readelf.c:8029 +#: src/readelf.c:8137 #, c-format msgid "" "\n" @@ -6166,7 +6250,7 @@ msgstr "" "\n" " СпиÑок CU зі зміщеннÑм %#<PRIx32> міÑтить %zu запиÑів:\n" -#: src/readelf.c:8054 +#: src/readelf.c:8162 #, c-format msgid "" "\n" @@ -6175,7 +6259,7 @@ msgstr "" "\n" " СпиÑок TU зі зміщеннÑм %#<PRIx32> міÑтить %zu запиÑів:\n" -#: src/readelf.c:8083 +#: src/readelf.c:8191 #, c-format msgid "" "\n" @@ -6184,7 +6268,7 @@ msgstr "" "\n" " СпиÑок Ð°Ð´Ñ€ÐµÑ Ð·Ñ– зміщеннÑм %#<PRIx32> міÑтить %zu запиÑів:\n" -#: src/readelf.c:8116 +#: src/readelf.c:8224 #, c-format msgid "" "\n" @@ -6193,17 +6277,17 @@ msgstr "" "\n" " Ð¢Ð°Ð±Ð»Ð¸Ñ†Ñ Ñимволів за зміщеннÑм %#<PRIx32> міÑтить %zu позицій:\n" -#: src/readelf.c:8203 +#: src/readelf.c:8311 #, c-format msgid "cannot get debug context descriptor: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ деÑкриптор контекÑту зневаджуваннÑ: %s" -#: src/readelf.c:8361 src/readelf.c:8983 src/readelf.c:9094 src/readelf.c:9152 +#: src/readelf.c:8467 src/readelf.c:9089 src/readelf.c:9200 src/readelf.c:9258 #, c-format msgid "cannot convert core note data: %s" msgstr "не вдалоÑÑ Ð¿ÐµÑ€ÐµÑ‚Ð²Ð¾Ñ€Ð¸Ñ‚Ð¸ дані запиÑу Ñдра: %s" -#: src/readelf.c:8724 +#: src/readelf.c:8830 #, c-format msgid "" "\n" @@ -6212,21 +6296,21 @@ msgstr "" "\n" "%*s... <повторюєтьÑÑ %u разів> ..." -#: src/readelf.c:9231 +#: src/readelf.c:9337 msgid " Owner Data size Type\n" msgstr " ВлаÑник Розм. даних Тип\n" -#: src/readelf.c:9249 +#: src/readelf.c:9355 #, c-format msgid " %-13.*s %9<PRId32> %s\n" msgstr " %-13.*s %9<PRId32> %s\n" -#: src/readelf.c:9299 +#: src/readelf.c:9405 #, c-format msgid "cannot get content of note section: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ вміÑÑ‚ розділу запиÑів: %s" -#: src/readelf.c:9326 +#: src/readelf.c:9432 #, c-format msgid "" "\n" @@ -6236,7 +6320,7 @@ msgstr "" "Розділ запиÑів (note) [%2zu] «%s» з %<PRIu64> байтів за зміщеннÑм " "%#0<PRIx64>:\n" -#: src/readelf.c:9349 +#: src/readelf.c:9455 #, c-format msgid "" "\n" @@ -6245,7 +6329,7 @@ msgstr "" "\n" "Сегмент запиÑів з %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n" -#: src/readelf.c:9395 +#: src/readelf.c:9501 #, c-format msgid "" "\n" @@ -6254,12 +6338,12 @@ msgstr "" "\n" "У розділі [%zu] «%s» не міÑтитьÑÑ Ð´Ð°Ð½Ð¸Ñ… Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð´Ð°Ð¼Ð¿Ñƒ.\n" -#: src/readelf.c:9401 src/readelf.c:9424 +#: src/readelf.c:9518 src/readelf.c:9559 #, c-format msgid "cannot get data for section [%zu] '%s': %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані Ð´Ð»Ñ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ [%zu] «%s»: %s" -#: src/readelf.c:9405 +#: src/readelf.c:9523 #, c-format msgid "" "\n" @@ -6268,7 +6352,17 @@ msgstr "" "\n" "ШіÑÑ‚. дамп розділу [%zu] «%s», %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n" -#: src/readelf.c:9418 +#: src/readelf.c:9528 +#, fuzzy, c-format +msgid "" +"\n" +"Hex dump of section [%zu] '%s', %<PRIu64> bytes (%zd uncompressed) at offset " +"%#0<PRIx64>:\n" +msgstr "" +"\n" +"ШіÑÑ‚. дамп розділу [%zu] «%s», %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n" + +#: src/readelf.c:9542 #, c-format msgid "" "\n" @@ -6277,7 +6371,7 @@ msgstr "" "\n" "У розділі [%zu] «%s» не міÑтитьÑÑ Ñ€Ñдків Ð´Ð»Ñ ÑÑ‚Ð²Ð¾Ñ€ÐµÐ½Ð½Ñ Ð´Ð°Ð¼Ð¿Ñƒ.\n" -#: src/readelf.c:9428 +#: src/readelf.c:9564 #, c-format msgid "" "\n" @@ -6286,7 +6380,17 @@ msgstr "" "\n" "Розділ Ñ€Ñдків [%zu] «%s» міÑтить %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n" -#: src/readelf.c:9476 +#: src/readelf.c:9569 +#, fuzzy, c-format +msgid "" +"\n" +"String section [%zu] '%s' contains %<PRIu64> bytes (%zd uncompressed) at " +"offset %#0<PRIx64>:\n" +msgstr "" +"\n" +"Розділ Ñ€Ñдків [%zu] «%s» міÑтить %<PRIu64> байтів за зміщеннÑм %#0<PRIx64>:\n" + +#: src/readelf.c:9618 #, c-format msgid "" "\n" @@ -6295,7 +6399,7 @@ msgstr "" "\n" "розділу [%lu] не Ñ–Ñнує" -#: src/readelf.c:9505 +#: src/readelf.c:9647 #, c-format msgid "" "\n" @@ -6304,12 +6408,12 @@ msgstr "" "\n" "розділу «%s» не Ñ–Ñнує" -#: src/readelf.c:9562 +#: src/readelf.c:9704 #, c-format msgid "cannot get symbol index of archive '%s': %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ покажчик Ñимволів архіву «%s»: %s" -#: src/readelf.c:9565 +#: src/readelf.c:9707 #, c-format msgid "" "\n" @@ -6318,7 +6422,7 @@ msgstr "" "\n" "У архіві «%s» немає покажчика Ñимволів\n" -#: src/readelf.c:9569 +#: src/readelf.c:9711 #, c-format msgid "" "\n" @@ -6327,12 +6431,12 @@ msgstr "" "\n" "Покажчик архіву «%s» міÑтить %zu запиÑів:\n" -#: src/readelf.c:9587 +#: src/readelf.c:9729 #, c-format msgid "cannot extract member at offset %zu in '%s': %s" msgstr "не вдалоÑÑ Ð²Ð¸Ð´Ð¾Ð±ÑƒÑ‚Ð¸ елемент за зміщеннÑм %zu у «%s»: %s" -#: src/readelf.c:9592 +#: src/readelf.c:9734 #, c-format msgid "Archive member '%s' contains:\n" msgstr "Елемент архіву «%s» міÑтить:\n" @@ -6886,12 +6990,12 @@ msgstr "не вдалоÑÑ Ñтворити заголовок ELF: %s" msgid "cannot copy ELF header: %s" msgstr "не вдалоÑÑ Ñкопіювати заголовок ELF: %s" -#: src/unstrip.c:261 src/unstrip.c:1903 src/unstrip.c:1947 +#: src/unstrip.c:261 src/unstrip.c:1939 src/unstrip.c:1982 #, c-format msgid "cannot get number of program headers: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ кількіÑÑ‚ÑŒ заголовків програми: %s" -#: src/unstrip.c:266 src/unstrip.c:1907 +#: src/unstrip.c:266 src/unstrip.c:1943 #, c-format msgid "cannot create program headers: %s" msgstr "не вдалоÑÑ Ñтворити заголовки програми: %s" @@ -6906,12 +7010,12 @@ msgstr "не вдалоÑÑ Ñкопіювати заголовок програ msgid "cannot copy section header: %s" msgstr "не вдалоÑÑ Ñкопіювати заголовок розділу: %s" -#: src/unstrip.c:285 src/unstrip.c:1541 +#: src/unstrip.c:285 src/unstrip.c:1576 #, c-format msgid "cannot get section data: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ дані розділу: %s" -#: src/unstrip.c:287 src/unstrip.c:1543 +#: src/unstrip.c:287 src/unstrip.c:1578 #, c-format msgid "cannot copy section data: %s" msgstr "не вдалоÑÑ Ñкопіювати дані розділу: %s" @@ -6921,138 +7025,138 @@ msgstr "не вдалоÑÑ Ñкопіювати дані розділу: %s" msgid "cannot create directory '%s'" msgstr "не вдалоÑÑ Ñтворити каталог «%s»" -#: src/unstrip.c:351 src/unstrip.c:768 src/unstrip.c:1575 +#: src/unstrip.c:383 src/unstrip.c:803 src/unstrip.c:1610 #, c-format msgid "cannot get symbol table entry: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ Ð·Ð°Ð¿Ð¸Ñ Ñ‚Ð°Ð±Ð»Ð¸Ñ†Ñ– Ñимволів: %s" -#: src/unstrip.c:367 src/unstrip.c:585 src/unstrip.c:606 src/unstrip.c:618 -#: src/unstrip.c:1596 src/unstrip.c:1769 src/unstrip.c:1793 +#: src/unstrip.c:399 src/unstrip.c:620 src/unstrip.c:641 src/unstrip.c:653 +#: src/unstrip.c:1631 src/unstrip.c:1805 src/unstrip.c:1829 #, c-format msgid "cannot update symbol table: %s" msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ таблицю Ñимволів: %s" -#: src/unstrip.c:377 +#: src/unstrip.c:409 #, c-format msgid "cannot update section header: %s" msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ заголовок розділу: %s" -#: src/unstrip.c:416 src/unstrip.c:427 +#: src/unstrip.c:448 src/unstrip.c:459 #, c-format msgid "cannot update relocation: %s" msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ переÑуваннÑ: %s" -#: src/unstrip.c:514 +#: src/unstrip.c:547 #, c-format msgid "cannot get symbol version: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ верÑÑ–ÑŽ Ñимволу: %s" -#: src/unstrip.c:526 +#: src/unstrip.c:560 #, c-format msgid "unexpected section type in [%zu] with sh_link to symtab" msgstr "неочікуваний тип розділу у [%zu] з поÑиланнÑм sh_link на symtab" -#: src/unstrip.c:774 +#: src/unstrip.c:809 #, c-format msgid "invalid string offset in symbol [%zu]" msgstr "некоректне Ð·Ð¼Ñ–Ñ‰ÐµÐ½Ð½Ñ Ñ€Ñдка у Ñимволі [%zu]" -#: src/unstrip.c:932 src/unstrip.c:1278 +#: src/unstrip.c:967 src/unstrip.c:1313 #, c-format msgid "cannot read section [%zu] name: %s" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ назву розділу [%zu]: %s" -#: src/unstrip.c:973 src/unstrip.c:992 src/unstrip.c:1027 +#: src/unstrip.c:1008 src/unstrip.c:1027 src/unstrip.c:1062 #, c-format msgid "cannot read '.gnu.prelink_undo' section: %s" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ розділ «.gnu.prelink_undo»: %s" -#: src/unstrip.c:1013 +#: src/unstrip.c:1048 #, c-format msgid "invalid contents in '%s' section" msgstr "некоректний вміÑÑ‚ розділу «%s»" -#: src/unstrip.c:1019 +#: src/unstrip.c:1054 #, c-format msgid "overflow with shnum = %zu in '%s' section" msgstr "" -#: src/unstrip.c:1073 src/unstrip.c:1398 +#: src/unstrip.c:1108 src/unstrip.c:1433 #, c-format msgid "cannot find matching section for [%zu] '%s'" msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ відповідний розділ Ð´Ð»Ñ [%zu] «%s»" -#: src/unstrip.c:1198 src/unstrip.c:1213 src/unstrip.c:1479 src/unstrip.c:1731 +#: src/unstrip.c:1233 src/unstrip.c:1248 src/unstrip.c:1514 src/unstrip.c:1766 #, c-format msgid "cannot add section name to string table: %s" msgstr "не вдалоÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ назву розділу до таблиці Ñ€Ñдків: %s" -#: src/unstrip.c:1222 +#: src/unstrip.c:1257 #, c-format msgid "cannot update section header string table data: %s" msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ дані заголовка розділу у таблиці Ñ€Ñдків: %s" -#: src/unstrip.c:1249 src/unstrip.c:1253 +#: src/unstrip.c:1284 src/unstrip.c:1288 #, c-format msgid "cannot get section header string table section index: %s" msgstr "" "не вдалоÑÑ Ð²Ð¸Ð·Ð½Ð°Ñ‡Ð¸Ñ‚Ð¸ Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ заголовка розділу у таблиці Ñ€Ñдків: %s" -#: src/unstrip.c:1257 src/unstrip.c:1261 src/unstrip.c:1494 +#: src/unstrip.c:1292 src/unstrip.c:1296 src/unstrip.c:1529 #, c-format msgid "cannot get section count: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ кількіÑÑ‚ÑŒ розділів: %s" -#: src/unstrip.c:1264 +#: src/unstrip.c:1299 #, c-format msgid "more sections in stripped file than debug file -- arguments reversed?" msgstr "" "у очищеному файлі більше розділів ніж у файлі з даними Ð´Ð»Ñ Ð·Ð½ÐµÐ²Ð°Ð´Ð¶ÑƒÐ²Ð°Ð½Ð½Ñ â€” " "помилковий порÑдок параметрів?" -#: src/unstrip.c:1323 src/unstrip.c:1413 +#: src/unstrip.c:1358 src/unstrip.c:1448 #, c-format msgid "cannot read section header string table: %s" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ таблицю Ñ€Ñдків заголовка розділу: %s" -#: src/unstrip.c:1473 +#: src/unstrip.c:1508 #, c-format msgid "cannot add new section: %s" msgstr "не вдалоÑÑ Ð´Ð¾Ð´Ð°Ñ‚Ð¸ новий розділ: %s" -#: src/unstrip.c:1583 +#: src/unstrip.c:1618 #, c-format msgid "symbol [%zu] has invalid section index" msgstr "Ñимвол [%zu] має некоректний Ñ–Ð½Ð´ÐµÐºÑ Ñ€Ð¾Ð·Ð´Ñ–Ð»Ñƒ" -#: src/unstrip.c:1864 +#: src/unstrip.c:1900 #, c-format msgid "cannot read section data: %s" msgstr "не вдалоÑÑ Ð¿Ñ€Ð¾Ñ‡Ð¸Ñ‚Ð°Ñ‚Ð¸ дані розділу: %s" -#: src/unstrip.c:1885 +#: src/unstrip.c:1921 #, c-format msgid "cannot get ELF header: %s" msgstr "не вдалоÑÑ Ð¾Ñ‚Ñ€Ð¸Ð¼Ð°Ñ‚Ð¸ заголовок ELF: %s" -#: src/unstrip.c:1917 +#: src/unstrip.c:1953 #, c-format msgid "cannot update program header: %s" msgstr "не вдалоÑÑ Ð¾Ð½Ð¾Ð²Ð¸Ñ‚Ð¸ заголовок програми: %s" -#: src/unstrip.c:1922 src/unstrip.c:2005 +#: src/unstrip.c:1958 src/unstrip.c:2040 #, c-format msgid "cannot write output file: %s" msgstr "не вдалоÑÑ Ð·Ð°Ð¿Ð¸Ñати файл виведених даних: %s" -#: src/unstrip.c:1974 +#: src/unstrip.c:2009 #, c-format msgid "DWARF data not adjusted for prelinking bias; consider prelink -u" msgstr "" "Дані DWARF не Ñкориговано відповідно до Ð²Ñ–Ð´Ñ…Ð¸Ð»ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ´ компонуваннÑм; " "Ñпробуйте виправити це командою prelink -u" -#: src/unstrip.c:1977 +#: src/unstrip.c:2012 #, c-format msgid "" "DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u" @@ -7060,76 +7164,76 @@ msgstr "" "Дані DWARF у «%s» не Ñкориговано відповідно до Ð²Ñ–Ð´Ñ…Ð¸Ð»ÐµÐ½Ð½Ñ Ð¿ÐµÑ€ÐµÐ´ " "компонуваннÑм; Ñпробуйте виправити це командою prelink -u" -#: src/unstrip.c:1996 src/unstrip.c:2047 src/unstrip.c:2059 src/unstrip.c:2145 +#: src/unstrip.c:2031 src/unstrip.c:2082 src/unstrip.c:2094 src/unstrip.c:2180 #, c-format msgid "cannot create ELF descriptor: %s" msgstr "не вдалоÑÑ Ñтворити деÑкриптор ELF: %s" -#: src/unstrip.c:2038 +#: src/unstrip.c:2073 msgid "WARNING: " msgstr "УВÐГÐ: " -#: src/unstrip.c:2040 +#: src/unstrip.c:2075 msgid ", use --force" msgstr ", ÑкориÑтайтеÑÑ --force" -#: src/unstrip.c:2063 +#: src/unstrip.c:2098 msgid "ELF header identification (e_ident) different" msgstr "Різні ідентифікатори заголовків ELF (e_ident)" -#: src/unstrip.c:2066 +#: src/unstrip.c:2101 msgid "ELF header type (e_type) different" msgstr "Різні типи заголовків ELF (e_type)" -#: src/unstrip.c:2069 +#: src/unstrip.c:2104 msgid "ELF header machine type (e_machine) different" msgstr "Різні типи архітектур заголовків ELF (e_machine)" -#: src/unstrip.c:2072 +#: src/unstrip.c:2107 msgid "stripped program header (e_phnum) smaller than unstripped" msgstr "очищений заголовок програми (e_phnum) Ñ” меншим за неочищений" -#: src/unstrip.c:2102 +#: src/unstrip.c:2137 #, c-format msgid "cannot find stripped file for module '%s': %s" msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ очищений файл Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»: %s" -#: src/unstrip.c:2106 +#: src/unstrip.c:2141 #, c-format msgid "cannot open stripped file '%s' for module '%s': %s" msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ очищений файл «%s» Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»: %s" -#: src/unstrip.c:2121 +#: src/unstrip.c:2156 #, c-format msgid "cannot find debug file for module '%s': %s" msgstr "не вдалоÑÑ Ð·Ð½Ð°Ð¹Ñ‚Ð¸ файл діагноÑтичних даних Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»: %s" -#: src/unstrip.c:2125 +#: src/unstrip.c:2160 #, c-format msgid "cannot open debug file '%s' for module '%s': %s" msgstr "не вдалоÑÑ Ð²Ñ–Ð´ÐºÑ€Ð¸Ñ‚Ð¸ файл діагноÑтичних даних «%s» Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»: %s" -#: src/unstrip.c:2138 +#: src/unstrip.c:2173 #, c-format msgid "module '%s' file '%s' is not stripped" msgstr "у модулі «%s» файл «%s» не очищено strip" -#: src/unstrip.c:2169 +#: src/unstrip.c:2204 #, c-format msgid "cannot cache section addresses for module '%s': %s" msgstr "не вдалоÑÑ ÐºÐµÑˆÑƒÐ²Ð°Ñ‚Ð¸ адреÑи розділів Ð´Ð»Ñ Ð¼Ð¾Ð´ÑƒÐ»Ñ Â«%s»: %s" -#: src/unstrip.c:2302 +#: src/unstrip.c:2337 #, c-format msgid "no matching modules found" msgstr "відповідних модулів не виÑвлено" -#: src/unstrip.c:2311 +#: src/unstrip.c:2346 #, c-format msgid "matched more than one module" msgstr "вÑтановлено відповідніÑÑ‚ÑŒ декількох модулів" -#: src/unstrip.c:2355 +#: src/unstrip.c:2390 msgid "" "STRIPPED-FILE DEBUG-FILE\n" "[MODULE...]" @@ -7137,7 +7241,7 @@ msgstr "" "ОЧИЩЕÐИЙ-ФÐЙЛ ФÐЙЛ-DEBUG\n" "[МОДУЛЬ...]" -#: src/unstrip.c:2356 +#: src/unstrip.c:2391 msgid "" "Combine stripped files with separate symbols and debug information.\vThe " "first form puts the result in DEBUG-FILE if -o was not given.\n" diff --git a/src/ChangeLog b/src/ChangeLog index b5b5e4a4..707c2717 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,52 @@ +2016-01-13 Mark Wielaard <mjw@redhat.com> + + * elflint.c (check_elf_header): Recognize ELFOSABI_FREEBSD. + +2016-01-08 Mark Wielaard <mjw@redhat.com> + + * elfcompress.c (compress_section): Use %zu to print size_t. + * readelf.c (print_shdr): Use %zx to print size_t. + +2015-12-16 Mark Wielaard <mjw@redhat.com> + + * elfcompress.c: New file. + * Makefile.am (bin_PROGRAMS): Add elfcompress. + (elfcompress_LDADD): New variable. + +2015-12-18 Mark Wielaard <mjw@redhat.com> + + * elflint.c (section_flags_string): Add NEWFLAG COMPRESSED. + (check_sections): SHF_COMPRESSED can be on any special section. + SHF_COMPRESSED is a valid section flag. SHF_COMPRESSED cannot + be used together with SHF_ALLOC or with SHT_NOBITS. Should have + a valid Chdr. + +2015-10-20 Mark Wielaard <mjw@redhat.com> + + * readelf.c (options): Expand -z help text. + (dump_data_section): Check whether we need and can decompress section + data and call elf_rawzdata if so, + (print_string_section): Likewise. + (elf_contains_chdrs): New function. + (process_elf_file): Rename print_unrelocated to print_unchanged, + use elf_contains_chdrs. + (print_scngrp): Check whether section is compressed before use. + (print_symtab): Likewise. + (handle_hash): Likewise. + +2015-10-16 Mark Wielaard <mjw@redhat.com> + + * readelf.c (argp_option): Describe --decompress,-z. + (print_decompress): New bool. + (parse_opt): Handle -z. + (elf_ch_type_name): New function. + (print_shdr): Print section compress information. + +2015-12-31 Mark Wielaard <mjw@redhat.com> + + * elflint.c (check_symtab): Add _edata and _end (plus extra underscore + variants) to to the list of possibly dangling symbols. + 2015-12-02 Mark Wielaard <mjw@redhat.com> * nm.c (process_file): Accept fd and pass it on. diff --git a/src/Makefile.am b/src/Makefile.am index e2c494c0..a39df279 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -35,7 +35,7 @@ native_ld = @native_ld@ base_cpu = @base_cpu@ bin_PROGRAMS = readelf nm size strip ld elflint findtextrel addr2line \ - elfcmp objdump ranlib strings ar unstrip stack + elfcmp objdump ranlib strings ar unstrip stack elfcompress ld_dsos = libld_elf_i386_pic.a @@ -125,6 +125,7 @@ strings_LDADD = $(libelf) $(libeu) $(argp_LDADD) ar_LDADD = libar.a $(libelf) $(libeu) $(argp_LDADD) unstrip_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl stack_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) -ldl $(demanglelib) +elfcompress_LDADD = $(libebl) $(libelf) $(libdw) $(libeu) $(argp_LDADD) ldlex.o: ldscript.c ldlex_no_Werror = yes diff --git a/src/elfcompress.c b/src/elfcompress.c new file mode 100644 index 00000000..23939db8 --- /dev/null +++ b/src/elfcompress.c @@ -0,0 +1,1321 @@ +/* Compress or decompress an ELF file. + Copyright (C) 2015 Red Hat, Inc. + This file is part of elfutils. + + This file is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + elfutils is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#include <config.h> +#include <assert.h> +#include <argp.h> +#include <error.h> +#include <stdbool.h> +#include <stdlib.h> +#include <inttypes.h> +#include <stdio.h> +#include <string.h> +#include <locale.h> +#include <fcntl.h> +#include <fnmatch.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <unistd.h> +#include ELFUTILS_HEADER(elf) +#include ELFUTILS_HEADER(ebl) +#include <gelf.h> +#include "system.h" + +/* Name and version of program. */ +static void print_version (FILE *stream, struct argp_state *state); +ARGP_PROGRAM_VERSION_HOOK_DEF = print_version; + +/* Bug report address. */ +ARGP_PROGRAM_BUG_ADDRESS_DEF = PACKAGE_BUGREPORT; + +static int verbose = 0; /* < 0, no warnings, > 0 extra verbosity. */ +static bool force = false; +static bool permissive = false; +static const char *foutput = NULL; + +#define T_UNSET 0 +#define T_DECOMPRESS 1 /* none */ +#define T_COMPRESS_ZLIB 2 /* zlib */ +#define T_COMPRESS_GNU 3 /* zlib-gnu */ +static int type = T_UNSET; + +static void +print_version (FILE *stream, struct argp_state *state __attribute__ ((unused))) +{ + fprintf (stream, "elfcompress (%s) %s\n", PACKAGE_NAME, PACKAGE_VERSION); +} + +struct section_pattern +{ + char *pattern; + struct section_pattern *next; +}; + +static struct section_pattern *patterns = NULL; + +static void +add_pattern (const char *pattern) +{ + struct section_pattern *p = xmalloc (sizeof *p); + p->pattern = xstrdup (pattern); + p->next = patterns; + patterns = p; +} + +static void +free_patterns (void) +{ + struct section_pattern *pattern = patterns; + while (pattern != NULL) + { + struct section_pattern *p = pattern; + pattern = p->next; + free (p->pattern); + free (p); + } +} + +static error_t +parse_opt (int key, char *arg __attribute__ ((unused)), + struct argp_state *state __attribute__ ((unused))) +{ + switch (key) + { + case 'v': + verbose++; + break; + + case 'q': + verbose--; + + case 'f': + force = true; + break; + + case 'p': + permissive = true; + break; + + case 'n': + add_pattern (arg); + break; + + case 'o': + if (foutput != NULL) + argp_error (state, N_("-o option specified twice")); + else + foutput = arg; + break; + + case 't': + if (type != T_UNSET) + argp_error (state, N_("-t option specified twice")); + + if (strcmp ("none", arg) == 0) + type = T_DECOMPRESS; + else if (strcmp ("zlib", arg) == 0 || strcmp ("zlib-gabi", arg) == 0) + type = T_COMPRESS_ZLIB; + else if (strcmp ("zlib-gnu", arg) == 0 || strcmp ("gnu", arg) == 0) + type = T_COMPRESS_GNU; + else + argp_error (state, N_("unknown compression type '%s'"), arg); + break; + + case ARGP_KEY_SUCCESS: + if (type == T_UNSET) + type = T_COMPRESS_ZLIB; + if (patterns == NULL) + add_pattern (".?(z)debug*"); + break; + + case ARGP_KEY_NO_ARGS: + /* We need at least one input file. */ + argp_error (state, N_("No input file given")); + break; + + case ARGP_KEY_ARGS: + if (foutput != NULL && state->argc - state->next > 1) + argp_error (state, + N_("Only one input file allowed together with '-o'")); + /* We only use this for checking the number of arguments, we don't + actually want to consume them, so fallthrough. */ + default: + return ARGP_ERR_UNKNOWN; + } + return 0; +} + +static bool +section_name_matches (const char *name) +{ + struct section_pattern *pattern = patterns; + while (pattern != NULL) + { + if (fnmatch (pattern->pattern, name, FNM_EXTMATCH) == 0) + return true; + pattern = pattern->next; + } + return false; +} + +static int +setshdrstrndx (Elf *elf, GElf_Ehdr *ehdr, size_t ndx) +{ + if (ndx < SHN_LORESERVE) + ehdr->e_shstrndx = ndx; + else + { + ehdr->e_shstrndx = SHN_XINDEX; + Elf_Scn *zscn = elf_getscn (elf, 0); + GElf_Shdr zshdr_mem; + GElf_Shdr *zshdr = gelf_getshdr (zscn, &zshdr_mem); + if (zshdr == NULL) + return -1; + zshdr->sh_link = ndx; + if (gelf_update_shdr (zscn, zshdr) == 0) + return -1; + } + + if (gelf_update_ehdr (elf, ehdr) == 0) + return -1; + + return 0; +} + +static int +compress_section (Elf_Scn *scn, size_t orig_size, const char *name, + const char *newname, size_t ndx, + bool gnu, bool compress, bool report_verbose) +{ + int res; + unsigned int flags = compress && force ? ELF_CHF_FORCE : 0; + if (gnu) + res = elf_compress_gnu (scn, compress ? 1 : 0, flags); + else + res = elf_compress (scn, compress ? ELFCOMPRESS_ZLIB : 0, flags); + + if (res < 0) + error (0, 0, "Couldn't decompress section [%zd] %s: %s", + ndx, name, elf_errmsg (-1)); + else + { + if (compress && res == 0) + { + if (verbose >= 0) + printf ("[%zd] %s NOT compressed, wouldn't be smaller\n", + ndx, name); + } + + if (report_verbose && res > 0) + { + printf ("[%zd] %s %s", ndx, name, + compress ? "compressed" : "decompressed"); + if (newname != NULL) + printf (" -> %s", newname); + + /* Reload shdr, it has changed. */ + GElf_Shdr shdr_mem; + GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); + if (shdr == NULL) + { + error (0, 0, "Couldn't get shdr for section [%zd]", ndx); + return -1; + } + float new = shdr->sh_size; + float orig = orig_size ?: 1; + printf (" (%zu => %" PRIu64 " %.2f%%)\n", + orig_size, shdr->sh_size, (new / orig) * 100); + } + } + + return res; +} + +static int +process_file (const char *fname) +{ + if (verbose > 0) + printf ("processing: %s\n", fname); + + /* The input ELF. */ + int fd = -1; + Elf *elf = NULL; + + /* The output ELF. */ + char *fnew = NULL; + int fdnew = -1; + Elf *elfnew = NULL; + + /* Buffer for (one) new section name if necessary. */ + char *snamebuf = NULL; + + /* String table (and symbol table), if section names need adjusting. */ + struct Ebl_Strtab *names = NULL; + struct Ebl_Strent **scnstrents = NULL; + struct Ebl_Strent **symstrents = NULL; + char **scnnames = NULL; + + /* Section data from names. */ + void *namesbuf = NULL; + + /* Which sections match and need to be (un)compressed. */ + unsigned int *sections = NULL; + + /* How many sections are we talking about? */ + size_t shnum = 0; + +#define WORD_BITS (8U * sizeof (unsigned int)) + void set_section (size_t ndx) + { + sections[ndx / WORD_BITS] |= (1U << (ndx % WORD_BITS)); + } + + bool get_section (size_t ndx) + { + return (sections[ndx / WORD_BITS] & (1U << (ndx % WORD_BITS))) != 0; + } + + int cleanup (int res) + { + elf_end (elf); + close (fd); + + elf_end (elfnew); + close (fdnew); + + if (fnew != NULL) + { + unlink (fnew); + free (fnew); + fnew = NULL; + } + + free (snamebuf); + if (names != NULL) + { + ebl_strtabfree (names); + free (scnstrents); + free (symstrents); + free (namesbuf); + if (scnnames != NULL) + { + for (size_t n = 0; n < shnum; n++) + free (scnnames[n]); + free (scnnames); + } + } + + free (sections); + + return res; + } + + fd = open (fname, O_RDONLY); + if (fd < 0) + { + error (0, errno, "Couldn't open %s\n", fname); + return cleanup (-1); + } + + elf = elf_begin (fd, ELF_C_READ, NULL); + if (elf == NULL) + { + error (0, 0, "Couldn't open ELF file %s for reading: %s", + fname, elf_errmsg (-1)); + return cleanup (-1); + } + + /* We dont' handle ar files (or anything else), we probably should. */ + Elf_Kind kind = elf_kind (elf); + if (kind != ELF_K_ELF) + { + if (kind == ELF_K_AR) + error (0, 0, "Cannot handle ar files: %s", fname); + else + error (0, 0, "Unknown file type: %s", fname); + return cleanup (-1); + } + + struct stat st; + if (fstat (fd, &st) != 0) + { + error (0, errno, "Couldn't fstat %s", fname); + return cleanup (-1); + } + + GElf_Ehdr ehdr; + if (gelf_getehdr (elf, &ehdr) == NULL) + { + error (0, 0, "Couldn't get ehdr for %s: %s", fname, elf_errmsg (-1)); + return cleanup (-1); + } + + /* Get the section header string table. */ + size_t shdrstrndx; + if (elf_getshdrstrndx (elf, &shdrstrndx) != 0) + { + error (0, 0, "Couldn't get section header string table index in %s: %s", + fname, elf_errmsg (-1)); + return cleanup (-1); + } + + /* How many sections are we talking about? */ + if (elf_getshdrnum (elf, &shnum) != 0) + { + error (0, 0, "Couldn't get number of sections in %s: %s", + fname, elf_errmsg (1)); + return cleanup (-1); + } + + if (shnum == 0) + { + error (0, 0, "ELF file %s has no sections", fname); + return cleanup (-1); + } + + sections = xcalloc (shnum / 8 + 1, sizeof (unsigned int)); + + size_t phnum; + if (elf_getphdrnum (elf, &phnum) != 0) + { + error (0, 0, "Couldn't get phdrnum: %s", elf_errmsg (-1)); + return cleanup (-1); + } + + /* Whether we need to adjust any section names (going to/from GNU + naming). If so we'll need to build a new section header string + table. */ + bool adjust_names = false; + + /* If there are phdrs we want to maintain the layout of the + allocated sections in the file. */ + bool layout = phnum != 0; + + /* While going through all sections keep track of last section data + offset if needed to keep the layout. We are responsible for + adding the section offsets and headers (e_shoff) in that case + (which we will place after the last section). */ + GElf_Off last_offset = 0; + if (layout) + last_offset = (ehdr.e_phoff + + gelf_fsize (elf, ELF_T_PHDR, phnum, EV_CURRENT)); + + /* Which section, if any, is a symbol table that shares a string + table with the section header string table? */ + size_t symtabndx = 0; + + /* We do three passes over all sections. + + First an inspection pass over the old Elf to see which section + data needs to be copied and/or transformed, which sections need a + names change and whether there is a symbol table that might need + to be adjusted be if the section header name table is changed. + + Second a collection pass that creates the Elf sections and copies + the data. This pass will compress/decompress section data when + needed. And it will collect all data needed if we'll need to + construct a new string table. Afterwards the new string table is + constructed. + + Third a fixup/adjustment pass over the new Elf that will adjust + any section references (names) and adjust the layout based on the + new sizes of the sections if necessary. This pass is optional if + we aren't responsible for the layout and the section header + string table hasn't been changed. */ + + /* Inspection pass. */ + size_t maxnamelen = 0; + Elf_Scn *scn = NULL; + while ((scn = elf_nextscn (elf, scn)) != NULL) + { + size_t ndx = elf_ndxscn (scn); + if (ndx > shnum) + { + error (0, 0, "Unexpected section number %zd, expected only %zd", + ndx, shnum); + cleanup (-1); + } + + GElf_Shdr shdr_mem; + GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); + if (shdr == NULL) + { + error (0, 0, "Couldn't get shdr for section %zd", ndx); + return cleanup (-1); + } + + const char *sname = elf_strptr (elf, shdrstrndx, shdr->sh_name); + if (sname == NULL) + { + error (0, 0, "Couldn't get name for section %zd", ndx); + return cleanup (-1); + } + + if (section_name_matches (sname)) + { + if (shdr->sh_type != SHT_NOBITS + && (shdr->sh_flags & SHF_ALLOC) == 0) + { + set_section (ndx); + /* Check if we might want to change this section name. */ + if (! adjust_names + && ((type != T_COMPRESS_GNU + && strncmp (sname, ".zdebug", + strlen (".zdebug")) == 0) + || (type == T_COMPRESS_GNU + && strncmp (sname, ".debug", + strlen (".debug")) == 0))) + adjust_names = true; + + /* We need a buffer this large if we change the names. */ + if (adjust_names) + { + size_t slen = strlen (sname); + if (slen > maxnamelen) + maxnamelen = slen; + } + } + else + if (verbose >= 0) + printf ("[%zd] %s ignoring %s section\n", ndx, sname, + (shdr->sh_type == SHT_NOBITS ? "no bits" : "allocated")); + } + + if (shdr->sh_type == SHT_SYMTAB) + { + /* Check if we might have to adjust the symbol name indexes. */ + if (shdr->sh_link == shdrstrndx) + { + if (symtabndx != 0) + { + error (0, 0, + "Multiple symbol tables (%zd, %zd) using the same string table unsupported", symtabndx, ndx); + return cleanup (-1); + } + symtabndx = ndx; + } + } + + /* Keep track of last allocated data offset. */ + if (layout) + if ((shdr->sh_flags & SHF_ALLOC) != 0) + { + GElf_Off off = shdr->sh_offset + (shdr->sh_type != SHT_NOBITS + ? shdr->sh_size : 0); + if (last_offset < off) + last_offset = off; + } + } + + if (adjust_names) + { + names = ebl_strtabinit (true); + if (names == NULL) + { + error (0, 0, "Not enough memory for new strtab"); + return cleanup (-1); + } + scnstrents = xmalloc (shnum + * sizeof (struct Ebl_Strent *)); + scnnames = xcalloc (shnum, sizeof (char *)); + } + + /* Create a new (temporary) ELF file for the result. */ + if (foutput == NULL) + { + size_t fname_len = strlen (fname); + fnew = xmalloc (fname_len + sizeof (".XXXXXX")); + strcpy (mempcpy (fnew, fname, fname_len), ".XXXXXX"); + fdnew = mkstemp (fnew); + } + else + { + fnew = xstrdup (foutput); + fdnew = open (fnew, O_WRONLY | O_CREAT, st.st_mode & ALLPERMS); + } + + if (fdnew < 0) + { + error (0, errno, "Couldn't create output file %s", fnew); + /* Since we didn't create it we don't want to try to unlink it. */ + free (fnew); + fnew = NULL; + return cleanup (-1); + } + + elfnew = elf_begin (fdnew, ELF_C_WRITE, NULL); + if (elfnew == NULL) + { + error (0, 0, "Couldn't open new ELF %s for writing: %s", + fnew, elf_errmsg (-1)); + return cleanup (-1); + } + + /* Create the new ELF header and copy over all the data. */ + if (gelf_newehdr (elfnew, gelf_getclass (elf)) == 0) + { + error (0, 0, "Couldn't create new ehdr: %s", elf_errmsg (-1)); + return cleanup (-1); + } + + GElf_Ehdr newehdr; + if (gelf_getehdr (elfnew, &newehdr) == NULL) + { + error (0, 0, "Couldn't get new ehdr: %s", elf_errmsg (-1)); + return cleanup (-1); + } + + newehdr.e_ident[EI_DATA] = ehdr.e_ident[EI_DATA]; + newehdr.e_type = ehdr.e_type; + newehdr.e_machine = ehdr.e_machine; + newehdr.e_version = ehdr.e_version; + newehdr.e_entry = ehdr.e_entry; + newehdr.e_flags = ehdr.e_flags; + + if (gelf_update_ehdr (elfnew, &newehdr) == 0) + { + error (0, 0, "Couldn't update ehdr: %s", elf_errmsg (-1)); + return cleanup (-1); + } + + /* Copy over the phdrs as is. */ + if (phnum != 0) + { + if (gelf_newphdr (elfnew, phnum) == 0) + { + error (0, 0, "Couldn't create phdrs: %s", elf_errmsg (-1)); + return cleanup (-1); + } + + for (size_t cnt = 0; cnt < phnum; ++cnt) + { + GElf_Phdr phdr_mem; + GElf_Phdr *phdr = gelf_getphdr (elf, cnt, &phdr_mem); + if (phdr == NULL) + { + error (0, 0, "Couldn't get phdr %zd: %s", cnt, elf_errmsg (-1)); + return cleanup (-1); + } + if (gelf_update_phdr (elfnew, cnt, phdr) == 0) + { + error (0, 0, "Couldn't create phdr %zd: %s", cnt, + elf_errmsg (-1)); + return cleanup (-1); + } + } + } + + /* Possibly add a 'z' and zero terminator. */ + if (maxnamelen > 0) + snamebuf = xmalloc (maxnamelen + 2); + + /* We might want to read/adjust the section header strings and + symbol tables. If so, and those sections are to be compressed + then we will have to decompress it during the collection pass and + compress it again in the fixup pass. Don't compress unnecessary + and keep track of whether or not to compress them (later in the + fixup pass). Also record the original size, so we can report the + difference later when we do compress. */ + int shstrtab_compressed = T_UNSET; + size_t shstrtab_size = 0; + char *shstrtab_name = NULL; + char *shstrtab_newname = NULL; + int symtab_compressed = T_UNSET; + size_t symtab_size = 0; + char *symtab_name = NULL; + char *symtab_newname = NULL; + + /* Collection pass. Copy over the sections, (de)compresses matching + sections, collect names of sections and symbol table if + necessary. */ + scn = NULL; + while ((scn = elf_nextscn (elf, scn)) != NULL) + { + size_t ndx = elf_ndxscn (scn); + assert (ndx < shnum); + + /* (de)compress if section matched. */ + char *sname = NULL; + char *newname = NULL; + if (get_section (ndx)) + { + GElf_Shdr shdr_mem; + GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); + if (shdr == NULL) + { + error (0, 0, "Couldn't get shdr for section %zd", ndx); + return cleanup (-1); + } + + uint64_t size = shdr->sh_size; + sname = elf_strptr (elf, shdrstrndx, shdr->sh_name); + if (sname == NULL) + { + error (0, 0, "Couldn't get name for section %zd", ndx); + return cleanup (-1); + } + + /* strdup sname, the shdrstrndx section itself might be + (de)compressed, invalidating the string pointers. */ + sname = xstrdup (sname); + + /* We might want to decompress (and rename), but not + compress during this pass since we might need the section + data in later passes. Skip those sections for now and + compress them in the fixup pass. */ + bool skip_compress_section = (adjust_names + && (ndx == shdrstrndx + || ndx == symtabndx)); + + switch (type) + { + case T_DECOMPRESS: + if ((shdr->sh_flags & SHF_COMPRESSED) != 0) + { + if (compress_section (scn, size, sname, NULL, ndx, + false, false, verbose > 0) < 0) + return cleanup (-1); + } + else if (strncmp (sname, ".zdebug", strlen (".zdebug")) == 0) + { + snamebuf[0] = '.'; + strcpy (&snamebuf[1], &sname[2]); + newname = snamebuf; + if (compress_section (scn, size, sname, newname, ndx, + true, false, verbose > 0) < 0) + return cleanup (-1); + } + else if (verbose > 0) + printf ("[%zd] %s already decompressed\n", ndx, sname); + break; + + case T_COMPRESS_GNU: + if (strncmp (sname, ".debug", strlen (".debug")) == 0) + { + if ((shdr->sh_flags & SHF_COMPRESSED) != 0) + { + /* First decompress to recompress GNU style. + Don't report even when verbose. */ + if (compress_section (scn, size, sname, NULL, ndx, + false, false, false) < 0) + return cleanup (-1); + } + + snamebuf[0] = '.'; + snamebuf[1] = 'z'; + strcpy (&snamebuf[2], &sname[1]); + newname = snamebuf; + + if (skip_compress_section) + { + if (ndx == shdrstrndx) + { + shstrtab_size = size; + shstrtab_compressed = T_COMPRESS_GNU; + shstrtab_name = xstrdup (sname); + shstrtab_newname = xstrdup (newname); + } + else + { + symtab_size = size; + symtab_compressed = T_COMPRESS_GNU; + symtab_name = xstrdup (sname); + symtab_newname = xstrdup (newname); + } + } + else + { + int res = compress_section (scn, size, sname, newname, + ndx, true, true, + verbose > 0); + if (res < 0) + return cleanup (-1); + + if (res == 0) + newname = NULL; + } + } + else if (verbose >= 0) + { + if (strncmp (sname, ".zdebug", strlen (".zdebug")) == 0) + printf ("[%zd] %s unchanged, already GNU compressed", + ndx, sname); + else + printf ("[%zd] %s cannot GNU compress section not starting with .debug\n", + ndx, sname); + } + break; + + case T_COMPRESS_ZLIB: + if ((shdr->sh_flags & SHF_COMPRESSED) == 0) + { + if (strncmp (sname, ".zdebug", strlen (".zdebug")) == 0) + { + /* First decompress to recompress zlib style. + Don't report even when verbose. */ + if (compress_section (scn, size, sname, NULL, ndx, + true, false, false) < 0) + return cleanup (-1); + + snamebuf[0] = '.'; + strcpy (&snamebuf[1], &sname[2]); + newname = snamebuf; + } + + if (skip_compress_section) + { + if (ndx == shdrstrndx) + { + shstrtab_size = size; + shstrtab_compressed = T_COMPRESS_ZLIB; + shstrtab_name = xstrdup (sname); + shstrtab_newname = (newname == NULL + ? NULL : xstrdup (newname)); + } + else + { + symtab_size = size; + symtab_compressed = T_COMPRESS_ZLIB; + symtab_name = xstrdup (sname); + symtab_newname = (newname == NULL + ? NULL : xstrdup (newname)); + } + } + else if (compress_section (scn, size, sname, newname, ndx, + false, true, verbose > 0) < 0) + return cleanup (-1); + } + else if (verbose > 0) + printf ("[%zd] %s already compressed\n", ndx, sname); + break; + } + + free (sname); + } + + Elf_Scn *newscn = elf_newscn (elfnew); + if (newscn == NULL) + { + error (0, 0, "Couldn't create new section %zd", ndx); + return cleanup (-1); + } + + GElf_Shdr shdr_mem; + GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); + if (shdr == NULL) + { + error (0, 0, "Couldn't get shdr for section %zd", ndx); + return cleanup (-1); + } + + if (gelf_update_shdr (newscn, shdr) == 0) + { + error (0, 0, "Couldn't update section header %zd", ndx); + return cleanup (-1); + } + + /* Except for the section header string table all data can be + copied as is. The section header string table will be + created later and the symbol table might be fixed up if + necessary. */ + if (! adjust_names || ndx != shdrstrndx) + { + Elf_Data *data = elf_getdata (scn, NULL); + if (data == NULL) + { + error (0, 0, "Couldn't get data from section %zd", ndx); + return cleanup (-1); + } + + Elf_Data *newdata = elf_newdata (newscn); + if (newdata == NULL) + { + error (0, 0, "Couldn't create new data for section %zd", ndx); + return cleanup (-1); + } + + *newdata = *data; + } + + /* Keep track of the (new) section names. */ + if (adjust_names) + { + char *name; + if (newname != NULL) + name = newname; + else + { + name = elf_strptr (elf, shdrstrndx, shdr->sh_name); + if (name == NULL) + { + error (0, 0, "Couldn't get name for section [%zd]", ndx); + return cleanup (-1); + } + } + + /* We need to keep a copy of the name till the strtab is done. */ + name = scnnames[ndx] = xstrdup (name); + if ((scnstrents[ndx] = ebl_strtabadd (names, name, 0)) == NULL) + { + error (0, 0, "No memory to add section name string table"); + return cleanup (-1); + } + + /* If the symtab shares strings then add those too. */ + if (ndx == symtabndx) + { + /* If the section is (still) compressed we'll need to + uncompress it first to adjust the data, then + recompress it in the fixup pass. */ + if (symtab_compressed == T_UNSET) + { + size_t size = shdr->sh_size; + if ((shdr->sh_flags == SHF_COMPRESSED) != 0) + { + /* Don't report the (internal) uncompression. */ + if (compress_section (newscn, size, sname, NULL, ndx, + false, false, false) < 0) + return cleanup (-1); + + symtab_size = size; + symtab_compressed = T_COMPRESS_ZLIB; + } + else if (strncmp (name, ".zdebug", strlen (".zdebug")) == 0) + { + /* Don't report the (internal) uncompression. */ + if (compress_section (newscn, size, sname, NULL, ndx, + true, false, false) < 0) + return cleanup (-1); + + symtab_size = size; + symtab_compressed = T_COMPRESS_GNU; + } + } + + Elf_Data *symd = elf_getdata (newscn, NULL); + if (symd == NULL) + { + error (0, 0, "Couldn't get symtab data for section [%zd] %s", + ndx, name); + return cleanup (-1); + } + size_t elsize = gelf_fsize (elfnew, ELF_T_SYM, 1, EV_CURRENT); + size_t syms = symd->d_size / elsize; + symstrents = xmalloc (syms * sizeof (struct Ebl_Strent *)); + for (size_t i = 0; i < syms; i++) + { + GElf_Sym sym_mem; + GElf_Sym *sym = gelf_getsym (symd, i, &sym_mem); + if (sym == NULL) + { + error (0, 0, "Couldn't get symbol %zd", i); + return cleanup (-1); + } + if (sym->st_name != 0) + { + /* Note we take the name from the original ELF, + since the new one will not have setup the + strtab yet. */ + const char *symname = elf_strptr (elf, shdrstrndx, + sym->st_name); + if (symname == NULL) + { + error (0, 0, "Couldn't get symbol %zd name", i); + return cleanup (-1); + } + symstrents[i] = ebl_strtabadd (names, symname, 0); + if (symstrents[i] == NULL) + { + error (0, 0, "No memory to add to symbol name"); + return cleanup (-1); + } + } + } + } + } + } + + if (adjust_names) + { + /* We got all needed strings, put the new data in the shstrtab. */ + if (verbose > 0) + printf ("[%zd] Updating section string table\n", shdrstrndx); + + scn = elf_getscn (elfnew, shdrstrndx); + if (scn == NULL) + { + error (0, 0, "Couldn't get new section header string table [%zd]", + shdrstrndx); + return cleanup (-1); + } + + Elf_Data *data = elf_newdata (scn); + if (data == NULL) + { + error (0, 0, "Couldn't create new section header string table data"); + return cleanup (-1); + } + ebl_strtabfinalize (names, data); + namesbuf = data->d_buf; + + GElf_Shdr shdr_mem; + GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); + if (shdr == NULL) + { + error (0, 0, "Couldn't get shdr for new section strings %zd", + shdrstrndx); + return cleanup (-1); + } + + /* Note that we also might have to compress and possibly set + sh_off below */ + shdr->sh_name = ebl_strtaboffset (scnstrents[shdrstrndx]); + shdr->sh_type = SHT_STRTAB; + shdr->sh_flags = 0; + shdr->sh_addr = 0; + shdr->sh_offset = 0; + shdr->sh_size = data->d_size; + shdr->sh_link = SHN_UNDEF; + shdr->sh_info = SHN_UNDEF; + shdr->sh_addralign = 1; + shdr->sh_entsize = 0; + + if (gelf_update_shdr (scn, shdr) == 0) + { + error (0, 0, "Couldn't update new section strings [%zd]", + shdrstrndx); + return cleanup (-1); + } + + /* We might have to compress the data if the user asked us to, + or if the section was already compressed (and the user didn't + ask for decompression). Note somewhat identical code for + symtab below. */ + if (shstrtab_compressed == T_UNSET) + { + /* The user didn't ask for compression, but maybe it was + compressed in the original ELF file. */ + Elf_Scn *oldscn = elf_getscn (elf, shdrstrndx); + if (oldscn == NULL) + { + error (0, 0, "Couldn't get section header string table [%zd]", + shdrstrndx); + return cleanup (-1); + } + + shdr = gelf_getshdr (oldscn, &shdr_mem); + if (shdr == NULL) + { + error (0, 0, "Couldn't get shdr for old section strings [%zd]", + shdrstrndx); + return cleanup (-1); + } + + shstrtab_name = elf_strptr (elf, shdrstrndx, shdr->sh_name); + if (shstrtab_name == NULL) + { + error (0, 0, "Couldn't get name for old section strings [%zd]", + shdrstrndx); + return cleanup (-1); + } + + shstrtab_size = shdr->sh_size; + if ((shdr->sh_flags & SHF_COMPRESSED) != 0) + shstrtab_compressed = T_COMPRESS_ZLIB; + else if (strncmp (shstrtab_name, ".zdebug", strlen (".zdebug")) == 0) + shstrtab_compressed = T_COMPRESS_GNU; + } + + /* Should we (re)compress? */ + if (shstrtab_compressed != T_UNSET) + { + if (compress_section (scn, shstrtab_size, shstrtab_name, + shstrtab_newname, shdrstrndx, + shstrtab_compressed == T_COMPRESS_GNU, + true, verbose > 0) < 0) + return cleanup (-1); + } + } + + /* Make sure to re-get the new ehdr. Adding phdrs and shdrs will + have changed it. */ + if (gelf_getehdr (elfnew, &newehdr) == NULL) + { + error (0, 0, "Couldn't re-get new ehdr: %s", elf_errmsg (-1)); + return cleanup (-1); + } + + /* Set this after the sections have been created, otherwise section + zero might not exist yet. */ + if (setshdrstrndx (elfnew, &newehdr, shdrstrndx) != 0) + { + error (0, 0, "Couldn't set new shdrstrndx: %s", elf_errmsg (-1)); + return cleanup (-1); + } + + /* Fixup pass. Adjust string table references, symbol table and + layout if necessary. */ + if (layout || adjust_names) + { + scn = NULL; + while ((scn = elf_nextscn (elfnew, scn)) != NULL) + { + size_t ndx = elf_ndxscn (scn); + + GElf_Shdr shdr_mem; + GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); + if (shdr == NULL) + { + error (0, 0, "Couldn't get shdr for section %zd", ndx); + return cleanup (-1); + } + + /* Keep the offset of allocated sections so they are at the + same place in the file. Add (possibly changed) + unallocated ones after the allocated ones. */ + if ((shdr->sh_flags & SHF_ALLOC) == 0) + { + /* Zero means one. No alignment constraints. */ + size_t addralign = shdr->sh_addralign ?: 1; + last_offset = (last_offset + addralign - 1) & ~(addralign - 1); + shdr->sh_offset = last_offset; + if (shdr->sh_type != SHT_NOBITS) + last_offset += shdr->sh_size; + } + + if (adjust_names) + shdr->sh_name = ebl_strtaboffset (scnstrents[ndx]); + + if (gelf_update_shdr (scn, shdr) == 0) + { + error (0, 0, "Couldn't update section header %zd", ndx); + return cleanup (-1); + } + + if (adjust_names && ndx == symtabndx) + { + if (verbose > 0) + printf ("[%zd] Updating symbol table\n", symtabndx); + + Elf_Data *symd = elf_getdata (scn, NULL); + if (symd == NULL) + { + error (0, 0, "Couldn't get new symtab data section [%zd]", + ndx); + return cleanup (-1); + } + size_t elsize = gelf_fsize (elfnew, ELF_T_SYM, 1, EV_CURRENT); + size_t syms = symd->d_size / elsize; + for (size_t i = 0; i < syms; i++) + { + GElf_Sym sym_mem; + GElf_Sym *sym = gelf_getsym (symd, i, &sym_mem); + if (sym == NULL) + { + error (0, 0, "2 Couldn't get symbol %zd", i); + return cleanup (-1); + } + + if (sym->st_name != 0) + { + sym->st_name = ebl_strtaboffset (symstrents[i]); + + if (gelf_update_sym (symd, i, sym) == 0) + { + error (0, 0, "Couldn't update symbol %zd", i); + return cleanup (-1); + } + } + } + + /* We might have to compress the data if the user asked + us to, or if the section was already compressed (and + the user didn't ask for decompression). Note + somewhat identical code for shstrtab above. */ + if (symtab_compressed == T_UNSET) + { + /* The user didn't ask for compression, but maybe it was + compressed in the original ELF file. */ + Elf_Scn *oldscn = elf_getscn (elf, symtabndx); + if (oldscn == NULL) + { + error (0, 0, "Couldn't get symbol table [%zd]", + symtabndx); + return cleanup (-1); + } + + shdr = gelf_getshdr (oldscn, &shdr_mem); + if (shdr == NULL) + { + error (0, 0, "Couldn't get old symbol table shdr [%zd]", + symtabndx); + return cleanup (-1); + } + + symtab_name = elf_strptr (elf, shdrstrndx, shdr->sh_name); + if (symtab_name == NULL) + { + error (0, 0, "Couldn't get old symbol table name [%zd]", + symtabndx); + return cleanup (-1); + } + + symtab_size = shdr->sh_size; + if ((shdr->sh_flags & SHF_COMPRESSED) != 0) + symtab_compressed = T_COMPRESS_ZLIB; + else if (strncmp (symtab_name, ".zdebug", + strlen (".zdebug")) == 0) + symtab_compressed = T_COMPRESS_GNU; + } + + /* Should we (re)compress? */ + if (symtab_compressed != T_UNSET) + { + if (compress_section (scn, symtab_size, symtab_name, + symtab_newname, symtabndx, + symtab_compressed == T_COMPRESS_GNU, + true, verbose > 0) < 0) + return cleanup (-1); + } + } + } + } + + /* If we have phdrs we want elf_update to layout the SHF_ALLOC + sections precisely as in the original file. In that case we are + also responsible for setting phoff and shoff */ + if (layout) + { + if (gelf_getehdr (elfnew, &newehdr) == NULL) + { + error (0, 0, "Couldn't get ehdr: %s", elf_errmsg (-1)); + return cleanup (-1); + } + + /* Position the shdrs after the last (unallocated) section. */ + const size_t offsize = gelf_fsize (elfnew, ELF_T_OFF, 1, EV_CURRENT); + newehdr.e_shoff = ((last_offset + offsize - 1) + & ~((GElf_Off) (offsize - 1))); + + /* The phdrs go in the same place as in the original file. + Normally right after the ELF header. */ + newehdr.e_phoff = ehdr.e_phoff; + + if (gelf_update_ehdr (elfnew, &newehdr) == 0) + { + error (0, 0, "Couldn't update ehdr: %s", elf_errmsg (-1)); + return cleanup (-1); + } + } + + elf_flagelf (elfnew, ELF_C_SET, ((layout ? ELF_F_LAYOUT : 0) + | (permissive ? ELF_F_PERMISSIVE : 0))); + + if (elf_update (elfnew, ELF_C_WRITE) < 0) + { + error (0, 0, "Couldn't write %s: %s", fnew, elf_errmsg (-1)); + return cleanup (-1); + } + + elf_end (elfnew); + elfnew = NULL; + + /* Try to match mode and owner.group of the original file. */ + if (fchmod (fdnew, st.st_mode & ALLPERMS) != 0) + if (verbose >= 0) + error (0, errno, "Couldn't fchmod %s", fnew); + if (fchown (fdnew, st.st_uid, st.st_gid) != 0) + if (verbose >= 0) + error (0, errno, "Couldn't fchown %s", fnew); + + /* Finally replace the old file with the new file. */ + if (foutput == NULL) + if (rename (fnew, fname) != 0) + { + error (0, errno, "Couldn't rename %s to %s", fnew, fname); + return cleanup (-1); + } + + /* We are finally done with the new file, don't unlink it now. */ + free (fnew); + fnew = NULL; + + return cleanup (0); +} + +int +main (int argc, char **argv) +{ + const struct argp_option options[] = + { + { "output", 'o', "FILE", 0, + N_("Place (de)compressed output into FILE"), + 0 }, + { "type", 't', "TYPE", 0, + N_("What type of compression to apply. TYPE can be 'none' (decompress), 'zlib' (ELF ZLIB compression, the default, 'zlib-gabi' is an alias) or 'zlib-gnu' (.zdebug GNU style compression, 'gnu' is an alias)"), + 0 }, + { "name", 'n', "SECTION", 0, + N_("SECTION name to (de)compress, SECTION is an extended wildcard pattern (defaults to '.?(z)debug*')"), + 0 }, + { "verbose", 'v', NULL, 0, + N_("Print a message for each section being (de)compressed"), + 0 }, + { "force", 'f', NULL, 0, + N_("Force compression of section even if it would become larger"), + 0 }, + { "permissive", 'p', NULL, 0, + N_("Relax a few rules to handle slightly broken ELF files"), + 0 }, + { "quiet", 'q', NULL, 0, + N_("Be silent when a section cannot be compressed"), + 0 }, + { NULL, 0, NULL, 0, NULL, 0 } + }; + + const struct argp argp = + { + .options = options, + .parser = parse_opt, + .args_doc = N_("FILE..."), + .doc = N_("Compress or decompress sections in an ELF file.") + }; + + int remaining; + if (argp_parse (&argp, argc, argv, 0, &remaining, NULL) != 0) + return EXIT_FAILURE; + + /* Should already be handled by ARGP_KEY_NO_ARGS case above, + just sanity check. */ + if (remaining >= argc) + error (EXIT_FAILURE, 0, N_("No input file given")); + + /* Likewise for the ARGP_KEY_ARGS case above, an extra sanity check. */ + if (foutput != NULL && remaining + 1 < argc) + error (EXIT_FAILURE, 0, + N_("Only one input file allowed together with '-o'")); + + elf_version (EV_CURRENT); + + /* Process all the remaining files. */ + int result = 0; + do + result |= process_file (argv[remaining]); + while (++remaining < argc); + + free_patterns (); + return result; +} diff --git a/src/elflint.c b/src/elflint.c index 7d72a1f7..eae77614 100644 --- a/src/elflint.c +++ b/src/elflint.c @@ -1,5 +1,5 @@ /* Pedantic checking of ELF files compliance with gABI/psABI spec. - Copyright (C) 2001-2014 Red Hat, Inc. + Copyright (C) 2001-2015 Red Hat, Inc. This file is part of elfutils. Written by Ulrich Drepper <drepper@redhat.com>, 2001. @@ -380,9 +380,11 @@ check_elf_header (Ebl *ebl, GElf_Ehdr *ehdr, size_t size) ERROR (gettext ("unknown ELF header version number e_ident[%d] == %d\n"), EI_VERSION, ehdr->e_ident[EI_VERSION]); - /* We currently don't handle any OS ABIs other than Linux. */ + /* We currently don't handle any OS ABIs other than Linux and the + kFreeBSD variant of Debian. */ if (ehdr->e_ident[EI_OSABI] != ELFOSABI_NONE - && ehdr->e_ident[EI_OSABI] != ELFOSABI_LINUX) + && ehdr->e_ident[EI_OSABI] != ELFOSABI_LINUX + && ehdr->e_ident[EI_OSABI] != ELFOSABI_FREEBSD) ERROR (gettext ("unsupported OS ABI e_ident[%d] == '%s'\n"), EI_OSABI, ebl_osabi_name (ebl, ehdr->e_ident[EI_OSABI], buf, sizeof (buf))); @@ -801,7 +803,11 @@ section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n"), && strcmp (name, "__bss_start") != 0 && strcmp (name, "__bss_start__") != 0 && strcmp (name, "__TMC_END__") != 0 - && strcmp (name, ".TOC.") != 0)) + && strcmp (name, ".TOC.") != 0 + && strcmp (name, "_edata") != 0 + && strcmp (name, "__edata") != 0 + && strcmp (name, "_end") != 0 + && strcmp (name, "__end") != 0)) ERROR (gettext ("\ section [%2d] '%s': symbol %zu: st_value out of bounds\n"), idx, section_name (ebl, idx), cnt); @@ -2746,7 +2752,8 @@ section_flags_string (GElf_Word flags, char *buf, size_t len) NEWFLAG (LINK_ORDER), NEWFLAG (OS_NONCONFORMING), NEWFLAG (GROUP), - NEWFLAG (TLS) + NEWFLAG (TLS), + NEWFLAG (COMPRESSED) }; #undef NEWFLAG const size_t nknown_flags = sizeof (known_flags) / sizeof (known_flags[0]); @@ -3694,7 +3701,8 @@ zeroth section has nonzero link value while ELF header does not signal overflow size_t versym_scnndx = 0; for (size_t cnt = 1; cnt < shnum; ++cnt) { - shdr = gelf_getshdr (elf_getscn (ebl->elf, cnt), &shdr_mem); + Elf_Scn *scn = elf_getscn (ebl->elf, cnt); + shdr = gelf_getshdr (scn, &shdr_mem); if (shdr == NULL) { ERROR (gettext ("\ @@ -3744,9 +3752,11 @@ section [%2d] '%s' has wrong type: expected %s, is %s\n"), if (special_sections[s].attrflag == exact || special_sections[s].attrflag == exact_or_gnuld) { - /* Except for the link order and group bit all the - other bits should match exactly. */ - if ((shdr->sh_flags & ~(SHF_LINK_ORDER | SHF_GROUP)) + /* Except for the link order, group bit and + compression flag all the other bits should + match exactly. */ + if ((shdr->sh_flags + & ~(SHF_LINK_ORDER | SHF_GROUP | SHF_COMPRESSED)) != special_sections[s].attr && (special_sections[s].attrflag == exact || !gnuld)) ERROR (gettext ("\ @@ -3762,9 +3772,10 @@ section [%2zu] '%s' has wrong flags: expected %s, is %s\n"), { if ((shdr->sh_flags & special_sections[s].attr) != special_sections[s].attr - || ((shdr->sh_flags & ~(SHF_LINK_ORDER | SHF_GROUP - | special_sections[s].attr - | special_sections[s].attr2)) + || ((shdr->sh_flags + & ~(SHF_LINK_ORDER | SHF_GROUP | SHF_COMPRESSED + | special_sections[s].attr + | special_sections[s].attr2)) != 0)) ERROR (gettext ("\ section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n"), @@ -3867,7 +3878,8 @@ section [%2zu] '%s': size not multiple of entry size\n"), #define ALL_SH_FLAGS (SHF_WRITE | SHF_ALLOC | SHF_EXECINSTR | SHF_MERGE \ | SHF_STRINGS | SHF_INFO_LINK | SHF_LINK_ORDER \ - | SHF_OS_NONCONFORMING | SHF_GROUP | SHF_TLS) + | SHF_OS_NONCONFORMING | SHF_GROUP | SHF_TLS \ + | SHF_COMPRESSED) if (shdr->sh_flags & ~(GElf_Xword) ALL_SH_FLAGS) { GElf_Xword sh_flags = shdr->sh_flags & ~(GElf_Xword) ALL_SH_FLAGS; @@ -3897,6 +3909,25 @@ section [%2zu] '%s': thread-local data sections address not zero\n"), // XXX TODO more tests!? } + if (shdr->sh_flags & SHF_COMPRESSED) + { + if (shdr->sh_flags & SHF_ALLOC) + ERROR (gettext ("\ +section [%2zu] '%s': allocated section cannot be compressed\n"), + cnt, section_name (ebl, cnt)); + + if (shdr->sh_type == SHT_NOBITS) + ERROR (gettext ("\ +section [%2zu] '%s': nobits section cannot be compressed\n"), + cnt, section_name (ebl, cnt)); + + GElf_Chdr chdr; + if (gelf_getchdr (scn, &chdr) == NULL) + ERROR (gettext ("\ +section [%2zu] '%s': compressed section with no compression header: %s\n"), + cnt, section_name (ebl, cnt), elf_errmsg (-1)); + } + if (shdr->sh_link >= shnum) ERROR (gettext ("\ section [%2zu] '%s': invalid section reference in link value\n"), diff --git a/src/readelf.c b/src/readelf.c index 5f6e4edd..0db192ee 100644 --- a/src/readelf.c +++ b/src/readelf.c @@ -48,6 +48,7 @@ #include "../libelf/libelfP.h" #include "../libelf/common.h" #include "../libebl/libeblP.h" +#include "../libdwelf/libdwelf.h" #include "../libdw/libdwP.h" #include "../libdwfl/libdwflP.h" #include "../libdw/memory-access.h" @@ -112,6 +113,8 @@ static const struct argp_option options[] = N_("Display just offsets instead of resolving values to addresses in DWARF data"), 0 }, { "wide", 'W', NULL, 0, N_("Ignored for compatibility (lines always wide)"), 0 }, + { "decompress", 'z', NULL, 0, + N_("Show compression information for compressed sections (when used with -S); decompress section before dumping data (when used with -p or -x)"), 0 }, { NULL, 0, NULL, 0, NULL, 0 } }; @@ -190,6 +193,9 @@ static bool decodedaranges = false; /* True if we should print the .debug_aranges section using libdw. */ static bool decodedline = false; +/* True if we want to show more information about compressed sections. */ +static bool print_decompress = false; + /* Select printing of debugging sections. */ static enum section_e { @@ -479,6 +485,9 @@ parse_opt (int key, char *arg, break; case 'W': /* Ignored. */ break; + case 'z': + print_decompress = true; + break; case ELF_INPUT_SECTION: if (arg == NULL) elf_input_section = ".gnu_debugdata"; @@ -797,6 +806,20 @@ process_file (int fd, const char *fname, bool only_one) close (fd); } +/* Check whether there are any compressed sections in the ELF file. */ +static bool +elf_contains_chdrs (Elf *elf) +{ + Elf_Scn *scn = NULL; + while ((scn = elf_nextscn (elf, scn)) != NULL) + { + GElf_Shdr shdr_mem; + GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); + if (shdr != NULL && (shdr->sh_flags & SHF_COMPRESSED) != 0) + return true; + } + return false; +} /* Process one ELF file. */ static void @@ -835,17 +858,21 @@ process_elf_file (Dwfl_Module *dwflmod, int fd) gettext ("cannot determine number of program headers: %s"), elf_errmsg (-1)); - /* For an ET_REL file, libdwfl has adjusted the in-core shdrs - and may have applied relocation to some sections. - So we need to get a fresh Elf handle on the file to display those. */ - bool print_unrelocated = (print_section_header - || print_relocations - || dump_data_sections != NULL - || print_notes); + /* For an ET_REL file, libdwfl has adjusted the in-core shdrs and + may have applied relocation to some sections. If there are any + compressed sections, any pass (or libdw/libdwfl) might have + uncompressed them. So we need to get a fresh Elf handle on the + file to display those. */ + bool print_unchanged = ((print_section_header + || print_relocations + || dump_data_sections != NULL + || print_notes) + && (ehdr->e_type == ET_REL + || elf_contains_chdrs (ebl->elf))); Elf *pure_elf = NULL; Ebl *pure_ebl = ebl; - if (ehdr->e_type == ET_REL && print_unrelocated) + if (print_unchanged) { /* Read the file afresh. */ off_t aroff = elf_getaroff (elf); @@ -1065,6 +1092,17 @@ get_visibility_type (int value) } } +static const char * +elf_ch_type_name (unsigned int code) +{ + if (code == 0) + return "NONE"; + + if (code == ELFCOMPRESS_ZLIB) + return "ZLIB"; + + return "UNKNOWN"; +} /* Print the section headers. */ static void @@ -1091,6 +1129,14 @@ There are %d section headers, starting at offset %#" PRIx64 ":\n\ else puts (gettext ("[Nr] Name Type Addr Off Size ES Flags Lk Inf Al")); + if (print_decompress) + { + if (ehdr->e_ident[EI_CLASS] == ELFCLASS32) + puts (gettext (" [Compression Size Al]")); + else + puts (gettext (" [Compression Size Al]")); + } + for (cnt = 0; cnt < shnum; ++cnt) { Elf_Scn *scn = elf_getscn (ebl->elf, cnt); @@ -1128,25 +1174,57 @@ There are %d section headers, starting at offset %#" PRIx64 ":\n\ *cp++ = 'G'; if (shdr->sh_flags & SHF_TLS) *cp++ = 'T'; + if (shdr->sh_flags & SHF_COMPRESSED) + *cp++ = 'C'; if (shdr->sh_flags & SHF_ORDERED) *cp++ = 'O'; if (shdr->sh_flags & SHF_EXCLUDE) *cp++ = 'E'; *cp = '\0'; + const char *sname; char buf[128]; + sname = elf_strptr (ebl->elf, shstrndx, shdr->sh_name) ?: "<corrupt>"; printf ("[%2zu] %-20s %-12s %0*" PRIx64 " %0*" PRIx64 " %0*" PRIx64 " %2" PRId64 " %-5s %2" PRId32 " %3" PRId32 " %2" PRId64 "\n", - cnt, - elf_strptr (ebl->elf, shstrndx, shdr->sh_name) - ?: "<corrupt>", + cnt, sname, ebl_section_type_name (ebl, shdr->sh_type, buf, sizeof (buf)), ehdr->e_ident[EI_CLASS] == ELFCLASS32 ? 8 : 16, shdr->sh_addr, ehdr->e_ident[EI_CLASS] == ELFCLASS32 ? 6 : 8, shdr->sh_offset, ehdr->e_ident[EI_CLASS] == ELFCLASS32 ? 6 : 8, shdr->sh_size, shdr->sh_entsize, flagbuf, shdr->sh_link, shdr->sh_info, shdr->sh_addralign); + + if (print_decompress) + { + if ((shdr->sh_flags & SHF_COMPRESSED) != 0) + { + GElf_Chdr chdr; + if (gelf_getchdr (scn, &chdr) != NULL) + printf (" [ELF %s (%" PRId32 ") %0*" PRIx64 + " %2" PRId64 "]\n", + elf_ch_type_name (chdr.ch_type), + chdr.ch_type, + ehdr->e_ident[EI_CLASS] == ELFCLASS32 ? 6 : 8, + chdr.ch_size, chdr.ch_addralign); + else + error (0, 0, + gettext ("bad compression header for section %zd: %s"), + elf_ndxscn (scn), elf_errmsg (-1)); + } + else if (strncmp(".zdebug", sname, strlen (".zdebug")) == 0) + { + ssize_t size; + if ((size = dwelf_scn_gnu_compressed_size (scn)) >= 0) + printf (" [GNU ZLIB %0*zx ]\n", + ehdr->e_ident[EI_CLASS] == ELFCLASS32 ? 6 : 8, size); + else + error (0, 0, + gettext ("bad gnu compressed size for section %zd: %s"), + elf_ndxscn (scn), elf_errmsg (-1)); + } + } } fputc_unlocked ('\n', stdout); @@ -1443,7 +1521,17 @@ print_scngrp (Ebl *ebl) GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); if (shdr != NULL && shdr->sh_type == SHT_GROUP) - handle_scngrp (ebl, scn, shdr); + { + if ((shdr->sh_flags & SHF_COMPRESSED) != 0) + { + if (elf_compress (scn, 0, 0) < 0) + printf ("WARNING: %s [%zd]\n", + gettext ("Couldn't uncompress section"), + elf_ndxscn (scn)); + shdr = gelf_getshdr (scn, &shdr_mem); + } + handle_scngrp (ebl, scn, shdr); + } } } @@ -2142,7 +2230,17 @@ print_symtab (Ebl *ebl, int type) GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); if (shdr != NULL && shdr->sh_type == (GElf_Word) type) - handle_symtab (ebl, scn, shdr); + { + if ((shdr->sh_flags & SHF_COMPRESSED) != 0) + { + if (elf_compress (scn, 0, 0) < 0) + printf ("WARNING: %s [%zd]\n", + gettext ("Couldn't uncompress section"), + elf_ndxscn (scn)); + shdr = gelf_getshdr (scn, &shdr_mem); + } + handle_symtab (ebl, scn, shdr); + } } } @@ -3211,6 +3309,16 @@ handle_hash (Ebl *ebl) if (likely (shdr != NULL)) { + if ((shdr->sh_type == SHT_HASH || shdr->sh_type == SHT_GNU_HASH) + && (shdr->sh_flags & SHF_COMPRESSED) != 0) + { + if (elf_compress (scn, 0, 0) < 0) + printf ("WARNING: %s [%zd]\n", + gettext ("Couldn't uncompress section"), + elf_ndxscn (scn)); + shdr = gelf_getshdr (scn, &shdr_mem); + } + if (shdr->sh_type == SHT_HASH) { if (ebl_sysvhash_entrysize (ebl) == sizeof (Elf64_Xword)) @@ -8260,11 +8368,9 @@ print_debug (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr) int n; for (n = 0; n < ndebug_sections; ++n) if (strcmp (name, debug_sections[n].name) == 0 -#if USE_ZLIB || (name[0] == '.' && name[1] == 'z' && debug_sections[n].name[1] == 'd' && strcmp (&name[2], &debug_sections[n].name[1]) == 0) -#endif ) { if ((print_debug_sections | implicit_debug_sections) @@ -9396,16 +9502,34 @@ dump_data_section (Elf_Scn *scn, const GElf_Shdr *shdr, const char *name) elf_ndxscn (scn), name); else { + if (print_decompress) + { + /* We try to decompress the section, but keep the old shdr around + so we can show both the original shdr size and the uncompressed + data size. */ + if ((shdr->sh_flags & SHF_COMPRESSED) != 0) + elf_compress (scn, 0, 0); + else if (strncmp (name, ".zdebug", strlen (".zdebug")) == 0) + elf_compress_gnu (scn, 0, 0); + } + Elf_Data *data = elf_rawdata (scn, NULL); if (data == NULL) error (0, 0, gettext ("cannot get data for section [%zu] '%s': %s"), elf_ndxscn (scn), name, elf_errmsg (-1)); else { - printf (gettext ("\nHex dump of section [%zu] '%s', %" PRIu64 - " bytes at offset %#0" PRIx64 ":\n"), - elf_ndxscn (scn), name, - shdr->sh_size, shdr->sh_offset); + if (data->d_size == shdr->sh_size) + printf (gettext ("\nHex dump of section [%zu] '%s', %" PRIu64 + " bytes at offset %#0" PRIx64 ":\n"), + elf_ndxscn (scn), name, + shdr->sh_size, shdr->sh_offset); + else + printf (gettext ("\nHex dump of section [%zu] '%s', %" PRIu64 + " bytes (%zd uncompressed) at offset %#0" + PRIx64 ":\n"), + elf_ndxscn (scn), name, + shdr->sh_size, data->d_size, shdr->sh_offset); hex_dump (data->d_buf, data->d_size); } } @@ -9419,16 +9543,34 @@ print_string_section (Elf_Scn *scn, const GElf_Shdr *shdr, const char *name) elf_ndxscn (scn), name); else { + if (print_decompress) + { + /* We try to decompress the section, but keep the old shdr around + so we can show both the original shdr size and the uncompressed + data size. */ + if ((shdr->sh_flags & SHF_COMPRESSED) != 0) + elf_compress (scn, 0, 0); + else if (strncmp (name, ".zdebug", strlen (".zdebug")) == 0) + elf_compress_gnu (scn, 0, 0); + } + Elf_Data *data = elf_rawdata (scn, NULL); if (data == NULL) error (0, 0, gettext ("cannot get data for section [%zu] '%s': %s"), elf_ndxscn (scn), name, elf_errmsg (-1)); else { - printf (gettext ("\nString section [%zu] '%s' contains %" PRIu64 - " bytes at offset %#0" PRIx64 ":\n"), - elf_ndxscn (scn), name, - shdr->sh_size, shdr->sh_offset); + if (data->d_size == shdr->sh_size) + printf (gettext ("\nString section [%zu] '%s' contains %" PRIu64 + " bytes at offset %#0" PRIx64 ":\n"), + elf_ndxscn (scn), name, + shdr->sh_size, shdr->sh_offset); + else + printf (gettext ("\nString section [%zu] '%s' contains %" PRIu64 + " bytes (%zd uncompressed) at offset %#0" + PRIx64 ":\n"), + elf_ndxscn (scn), name, + shdr->sh_size, data->d_size, shdr->sh_offset); const char *start = data->d_buf; const char *const limit = start + data->d_size; diff --git a/tests/ChangeLog b/tests/ChangeLog index b8d1d954..37f98112 100644 --- a/tests/ChangeLog +++ b/tests/ChangeLog @@ -1,3 +1,113 @@ +2016-01-13 Mark Wielaard <mjw@redhat.com> + + * dwfl-bug-fd-leak.c: Skip test unless on __linux__. + +2016-01-13 Mark Wielaard <mjw@redhat.com> + + * dwfl-proc-attach.c: Guard linux specific header. + +2016-01-13 Mark Wielaard <mjw@redhat.com> + + * system-elf-libelf-test.c: New test. + * Makefile.am (TESTS): Add system-elf-libelf-test, if !STANDALONE. + (check_PROGRAMS): Likewise. + (system_elf_libelf_test_CPPFLAGS): New variable. + (system_elf_libelf_test_LDADD): Likewise. + +2016-01-08 Mark Wielaard <mjw@redhat.com> + + * elfputzdata.c (main): Fix parentheses in strncmp test. + +2016-01-08 Mark Wielaard <mjw@redhat.com> + + * elfputzdata.c (main): Use PRId64 to print 64 bit value. + +2016-01-08 Mark Wielaard <mjw@redhat.com> + + * Makefile.am (TESTS): Always unconditionally add + run-readelf-zdebug.sh and run-readelf-zdebug-rel.sh. + +2015-12-16 Mark Wielaard <mjw@redhat.com> + + * run-compress-test.sh: New test. + * Makefile.am (TESTS): Add run-compress-test.sh. + (EXTRA_DISTS): Likewise. + +2015-11-26 Mark Wielaard <mjw@redhat.com> + + * zstrptr.c: New file. + * run-zstrptr.sh: New test. + * elfputzdata.c (main): (re)compress .shstrtab. + * run-elfputzdata.sh: Expect .shstrtab compression. + * Makefile.am (check_PROGRAMS): Add zstrptr. + (TESTS): Add run-zstrptr.sh. + (EXTRA_DIST): Likewise. + (zstrptr_LDADD): New variable. + +2015-10-20 Mark Wielaard <mjw@redhat.com> + + * run-readelf-zx.sh: New test. + * run-readelf-zp.sh: Likewise. + * Makefile.am (TESTS): Add run-readelf-zx.sh and run-readelf-zp.sh. + (EXTRA_DIST): Likewise. + +2015-10-21 Mark Wielaard <mjw@redhat.com> + + * Makefile.am (check_PROGRAMS): Add elfgetzdata and elfputzdata. + (TESTS): Add run-elfgetzdata.sh and run-elfputzdata.sh. + (EXTRA_DIST: Likewise. + (elfgetzdata_LDADD): New variable. + (elfputzdata_LDADD): Likewise. + * elfgetzdata.c: New file. + * elfputzdata.c: Likewise. + * msg_tst.c: Handle ELF_E_ALREADY_COMPRESSED, + ELF_E_UNKNOWN_COMPRESSION_TYPE, ELF_E_COMPRESS_ERROR and + ELF_E_DECOMPRESS_ERROR. + * run-elfgetzdata.sh: New test. + * run-elfputzdata.sh: Likewise. + +2015-10-28 Mark Wielaard <mjw@redhat.com> + + * run-readelf-z.sh: New test. + * Makefile.am (TESTS): Add run-readelf-z.sh. + (EXTRA_DIST): Likewise. + +2015-10-28 Mark Wielaard <mjw@redhat.com> + + * elfgetchdr.c: New file. + * run-elfgetchdr.sh: New test. + * testfile-zgabi32.bz2: New testfile. + * testfile-zgabi32be.bz2: Likewise. + * testfile-zgabi64.bz2: Likewise. + * testfile-zgabi64be.bz2: Likewise. + * Makefile.am (check_PROGRAMS): Add elfgetchdr. + (TESTS): Add run-elfgetchdr.sh. + (EXTRA_DIST): Add run-elfgetchdr.sh, testfile-zgabi32.bz2, + testfile-zgabi32be.bz2, testfile-zgabi64.bz2, testfile-zgabi64be.bz2. + (welfgetchdr_LDADD): New variable. + * msg_tst.c: Add ELF_E_NOT_COMPRESSED, ELF_E_INVALID_SECTION_TYPE + and ELF_E_INVALID_SECTION_FLAGS, + + +2015-10-28 Mark Wielaard <mjw@redhat.com> + + * dwelfgnucompressed.c: New file. + * run-dwelfgnucompressed.sh: New test. + * testfile-zgnu32.bz2: New testfile. + * testfile-zgnu64.bz2: Likewise. + * Makefile.am (check_PROGRAMS): Add dwelfgnucompressed. + (TESTS): Add run-dwelfgnucompressed.sh. + (EXTRA_DIST): Add run-dwelfgnucompressed.sh, testfile-zgnu32.bz2, + testfile-zgnu64.bz2, testfile-zgnu32be.bz2, testfile-zgnu64be.bz2. + (dwelfgnucompressed_LDADD): New variable. + +2015-12-31 Mark Wielaard <mjw@redhat.com> + + * elfstrmerge.c (main): Warn about STT_SECTION symbol for shstrhndx. + * run-elfstrmerge-test.sh: New test. + * Makefile.am (TESTS): Add run-elfstrmerge-test.sh + (EXTRA_DIST): Likewise. + 2015-12-08 Jose E. Marchesi <jose.marchesi@oracle.com> * run-backtrace-core-sparc.sh: New file. diff --git a/tests/Makefile.am b/tests/Makefile.am index 8fca8014..7b9e1083 100644 --- a/tests/Makefile.am +++ b/tests/Makefile.am @@ -52,7 +52,8 @@ check_PROGRAMS = arextract arsymtest newfile saridx scnnames sectiondump \ backtrace-data backtrace-dwarf debuglink debugaltlink \ buildid deleted deleted-lib.so aggregate_size vdsosyms \ getsrc_die strptr newdata elfstrtab dwfl-proc-attach \ - elfshphehdr elfstrmerge + elfshphehdr elfstrmerge dwelfgnucompressed elfgetchdr \ + elfgetzdata elfputzdata zstrptr asm_TESTS = asm-tst1 asm-tst2 asm-tst3 asm-tst4 asm-tst5 \ asm-tst6 asm-tst7 asm-tst8 asm-tst9 @@ -80,7 +81,7 @@ TESTS = run-arextract.sh run-arsymtest.sh newfile test-nlist \ run-strip-test9.sh run-strip-test10.sh \ run-strip-groups.sh run-strip-reloc.sh run-strip-strmerge.sh \ run-unstrip-test.sh run-unstrip-test2.sh \ - run-unstrip-test3.sh run-unstrip-M.sh \ + run-unstrip-test3.sh run-unstrip-M.sh run-elfstrmerge-test.sh \ run-ecp-test.sh run-ecp-test2.sh run-alldts.sh \ run-elflint-test.sh run-elflint-self.sh run-ranlib-test.sh \ run-ranlib-test2.sh run-ranlib-test3.sh run-ranlib-test4.sh \ @@ -90,7 +91,7 @@ TESTS = run-arextract.sh run-arsymtest.sh newfile test-nlist \ run-readelf-test1.sh run-readelf-test2.sh run-readelf-test3.sh \ run-readelf-test4.sh run-readelf-twofiles.sh \ run-readelf-macro.sh run-readelf-loc.sh \ - run-readelf-aranges.sh run-readelf-line.sh \ + run-readelf-aranges.sh run-readelf-line.sh run-readelf-z.sh \ run-native-test.sh run-bug1-test.sh \ run-debuglink.sh run-debugaltlink.sh run-buildid.sh \ dwfl-bug-addr-overflow run-addrname-test.sh \ @@ -116,11 +117,15 @@ TESTS = run-arextract.sh run-arsymtest.sh newfile test-nlist \ run-backtrace-core-s390x.sh run-backtrace-core-s390.sh \ run-backtrace-core-aarch64.sh run-backtrace-core-sparc.sh \ run-backtrace-demangle.sh run-stack-d-test.sh run-stack-i-test.sh \ - run-stack-demangled-test.sh \ + run-stack-demangled-test.sh run-readelf-zx.sh run-readelf-zp.sh \ run-readelf-dwz-multi.sh run-allfcts-multi.sh run-deleted.sh \ run-linkmap-cut.sh run-aggregate-size.sh vdsosyms run-readelf-A.sh \ run-getsrc-die.sh run-strptr.sh newdata elfstrtab dwfl-proc-attach \ - elfshphehdr run-lfs-symbols.sh + elfshphehdr run-lfs-symbols.sh run-dwelfgnucompressed.sh \ + run-elfgetchdr.sh \ + run-elfgetzdata.sh run-elfputzdata.sh run-zstrptr.sh \ + run-compress-test.sh \ + run-readelf-zdebug.sh run-readelf-zdebug-rel.sh if !BIARCH export ELFUTILS_DISABLE_BIARCH = 1 @@ -131,18 +136,14 @@ export ELFUTILS_DISABLE_DEMANGLE = 1 endif if !STANDALONE -check_PROGRAMS += msg_tst md5-sha1-test -TESTS += msg_tst md5-sha1-test +check_PROGRAMS += msg_tst md5-sha1-test system-elf-libelf-test +TESTS += msg_tst md5-sha1-test system-elf-libelf-test endif if LZMA TESTS += run-readelf-s.sh run-dwflsyms.sh endif -if ZLIB -TESTS += run-readelf-zdebug.sh -endif - if HAVE_LIBASM check_PROGRAMS += $(asm_TESTS) TESTS += $(asm_TESTS) @@ -167,7 +168,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \ run-unstrip-test.sh run-unstrip-test2.sh \ testfile-info-link.bz2 testfile-info-link.debuginfo.bz2 \ testfile-info-link.stripped.bz2 run-unstrip-test3.sh \ - run-unstrip-M.sh \ + run-unstrip-M.sh run-elfstrmerge-test.sh \ run-elflint-self.sh run-ranlib-test.sh run-ranlib-test2.sh \ run-ranlib-test3.sh run-ranlib-test4.sh \ run-addrscopes.sh run-strings-test.sh run-funcscopes.sh \ @@ -208,6 +209,7 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \ run-readelf-macro.sh testfilemacro.bz2 \ run-readelf-loc.sh testfileloc.bz2 \ run-readelf-aranges.sh run-readelf-line.sh testfilefoobarbaz.bz2 \ + run-readelf-z.sh \ run-readelf-dwz-multi.sh libtestfile_multi_shared.so.bz2 \ testfile_multi.dwz.bz2 testfile_multi_main.bz2 \ testfile-dwzstr.bz2 testfile-dwzstr.multi.bz2 \ @@ -296,6 +298,9 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \ run-stack-demangled-test.sh \ testfiledwarfinlines.bz2 testfiledwarfinlines.core.bz2 \ run-readelf-zdebug.sh testfile-debug.bz2 testfile-zdebug.bz2 \ + run-readelf-zdebug-rel.sh testfile-debug-rel.o.bz2 \ + testfile-debug-rel-g.o.bz2 testfile-debug-rel-z.o.bz2 \ + run-readelf-zx.sh run-readelf-zp.sh \ run-deleted.sh run-linkmap-cut.sh linkmap-cut-lib.so.bz2 \ linkmap-cut.bz2 linkmap-cut.core.bz2 \ run-aggregate-size.sh testfile-sizes1.o.bz2 testfile-sizes2.o.bz2 \ @@ -306,7 +311,14 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \ testfile-x32-core.bz2 testfile-x32.bz2 \ backtrace.x32.core.bz2 backtrace.x32.exec.bz2 \ testfile-x32-s.bz2 testfile-x32-d.bz2 testfile-x32-debug.bz2 \ - run-lfs-symbols.sh lfs-symbols testfile-nolfs.bz2 + run-lfs-symbols.sh lfs-symbols testfile-nolfs.bz2 \ + testfile-zgnu32.bz2 testfile-zgnu64.bz2 \ + testfile-zgnu32be.bz2 testfile-zgnu64be.bz2 \ + run-dwelfgnucompressed.sh \ + testfile-zgabi32.bz2 testfile-zgabi64.bz2 \ + testfile-zgabi32be.bz2 testfile-zgabi64be.bz2 \ + run-elfgetchdr.sh run-elfgetzdata.sh run-elfputzdata.sh \ + run-zstrptr.sh run-compress-test.sh if USE_VALGRIND valgrind_cmd='valgrind -q --leak-check=full --error-exitcode=1' @@ -455,6 +467,16 @@ dwfl_proc_attach_LDADD = $(libdw) dwfl_proc_attach_LDFLAGS = -pthread $(AM_LDFLAGS) elfshphehdr_LDADD =$(libelf) elfstrmerge_LDADD = $(libebl) $(libelf) +dwelfgnucompressed_LDADD = $(libelf) $(libdw) +elfgetchdr_LDADD = $(libelf) $(libdw) +elfgetzdata_LDADD = $(libelf) +elfputzdata_LDADD = $(libelf) +zstrptr_LDADD = $(libelf) + +# We want to test the libelf header against the system elf.h header. +# Don't include any -I CPPFLAGS. +system_elf_libelf_test_CPPFLAGS = +system_elf_libelf_test_LDADD = $(libelf) if GCOV check: check-am coverage diff --git a/tests/dwelfgnucompressed.c b/tests/dwelfgnucompressed.c new file mode 100644 index 00000000..0132271c --- /dev/null +++ b/tests/dwelfgnucompressed.c @@ -0,0 +1,104 @@ +/* Copyright (C) 2015 Red Hat, Inc. + This file is part of elfutils. + + This file is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + elfutils is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <assert.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <inttypes.h> + +#include ELFUTILS_HEADER(elf) +#include ELFUTILS_HEADER(dwelf) +#include <gelf.h> + +#include <stdio.h> +#include <unistd.h> +#include <string.h> + +int +main (int argc, char *argv[]) +{ + int result = 0; + int cnt; + + elf_version (EV_CURRENT); + + for (cnt = 1; cnt < argc; ++cnt) + { + int fd = open (argv[cnt], O_RDONLY); + + Elf *elf = elf_begin (fd, ELF_C_READ, NULL); + if (elf == NULL) + { + printf ("%s not usable %s\n", argv[cnt], elf_errmsg (-1)); + result = 1; + close (fd); + continue; + } + + size_t shdrstrndx; + if (elf_getshdrstrndx (elf, &shdrstrndx) == -1) + { + printf ("elf_getshdrstrnd failed %s\n", elf_errmsg (-1)); + result = 1; + close (fd); + continue; + } + + Elf_Scn *scn = NULL; + while ((scn = elf_nextscn (elf, scn)) != NULL) + { + int idx = elf_ndxscn (scn); + GElf_Shdr shdr; + if (gelf_getshdr (scn, &shdr) == NULL) + { + printf ("gelf_getshdr failed: %s\n", elf_errmsg (-1)); + result = 1; + break; + } + + const char *sname = elf_strptr (elf, shdrstrndx, shdr.sh_name); + if (sname == NULL) + { + printf ("couldn't get section name: %s\n", elf_errmsg (-1)); + result = 1; + break; + } + + if (strncmp(".zdebug", sname, strlen (".zdebug")) == 0) + { + ssize_t size; + if ((size = dwelf_scn_gnu_compressed_size (scn)) == -1) + { + printf ("dwelf_scn_gnu_compressed_size failed: %s\n", + elf_errmsg (-1)); + result = 1; + break; + } + printf ("section %d: GNU Compressed size: %zx\n", idx, size); + } + } + + elf_end (elf); + close (fd); + } + + return result; +} diff --git a/tests/dwfl-bug-fd-leak.c b/tests/dwfl-bug-fd-leak.c index bcbfb290..689cdd79 100644 --- a/tests/dwfl-bug-fd-leak.c +++ b/tests/dwfl-bug-fd-leak.c @@ -27,6 +27,15 @@ #include <error.h> #include <unistd.h> #include <dwarf.h> + +#ifndef __linux__ +int +main (void) +{ + return 77; /* dwfl_linux_proc_report is linux specific. */ +} +#else + #include <sys/resource.h> #include ELFUTILS_HEADER(dwfl) @@ -104,3 +113,4 @@ main (void) return 0; } +#endif diff --git a/tests/dwfl-proc-attach.c b/tests/dwfl-proc-attach.c index 0ba0be24..e7bb2010 100644 --- a/tests/dwfl-proc-attach.c +++ b/tests/dwfl-proc-attach.c @@ -22,6 +22,7 @@ #include <errno.h> #include <error.h> #include <unistd.h> +#ifdef __linux__ #include <sys/types.h> #include <sys/stat.h> #include <sys/user.h> @@ -29,6 +30,7 @@ #include <string.h> #include ELFUTILS_HEADER(dwfl) #include <pthread.h> +#endif #ifndef __linux__ int diff --git a/tests/elfgetchdr.c b/tests/elfgetchdr.c new file mode 100644 index 00000000..44ba1789 --- /dev/null +++ b/tests/elfgetchdr.c @@ -0,0 +1,124 @@ +/* Copyright (C) 2015 Red Hat, Inc. + This file is part of elfutils. + + This file is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + elfutils is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <assert.h> +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <inttypes.h> + +#include ELFUTILS_HEADER(elf) +#include ELFUTILS_HEADER(dwelf) +#include <gelf.h> + +#include <stdio.h> +#include <unistd.h> +#include <string.h> + +int +main (int argc, char *argv[]) +{ + int result = 0; + int cnt; + + elf_version (EV_CURRENT); + + for (cnt = 1; cnt < argc; ++cnt) + { + int fd = open (argv[cnt], O_RDONLY); + + Elf *elf = elf_begin (fd, ELF_C_READ, NULL); + if (elf == NULL) + { + printf ("%s not usable %s\n", argv[cnt], elf_errmsg (-1)); + result = 1; + close (fd); + continue; + } + + size_t shdrstrndx; + if (elf_getshdrstrndx (elf, &shdrstrndx) == -1) + { + printf ("elf_getshdrstrnd failed %s\n", elf_errmsg (-1)); + result = 1; + close (fd); + continue; + } + + Elf_Scn *scn = NULL; + while ((scn = elf_nextscn (elf, scn)) != NULL) + { + int idx = elf_ndxscn (scn); + GElf_Shdr shdr; + if (gelf_getshdr (scn, &shdr) == NULL) + { + printf ("gelf_getshdr failed: %s\n", elf_errmsg (-1)); + result = 1; + break; + } + + if ((shdr.sh_flags & SHF_COMPRESSED) != 0) + { + GElf_Chdr chdr; + if (gelf_getchdr (scn, &chdr) == NULL) + { + printf ("gelf_getchdr failed: %s\n", elf_errmsg (-1)); + result = 1; + break; + } + + printf ("section %d: ELF Compressed ch_type: %" PRId32 + ", ch_size: %" PRIx64 ", ch_addralign: %" PRIx64 "\n", + idx, chdr.ch_type, chdr.ch_size, chdr.ch_addralign); + } + else + { + const char *sname = elf_strptr (elf, shdrstrndx, shdr.sh_name); + if (sname == NULL) + { + printf ("couldn't get section name: %s\n", elf_errmsg (-1)); + result = 1; + break; + } + + /* This duplicates what the dwelfgnucompressed testcase does. */ + if (strncmp(".zdebug", sname, strlen (".zdebug")) == 0) + { + ssize_t size; + if ((size = dwelf_scn_gnu_compressed_size (scn)) == -1) + { + printf ("dwelf_scn_gnu_compressed_size failed: %s\n", + elf_errmsg (-1)); + result = 1; + break; + } + printf ("section %d: GNU Compressed size: %zx\n", idx, size); + } + else + printf ("section %d: NOT Compressed\n", idx); + } + } + + elf_end (elf); + close (fd); + } + + return result; +} diff --git a/tests/elfgetzdata.c b/tests/elfgetzdata.c new file mode 100644 index 00000000..82afbe52 --- /dev/null +++ b/tests/elfgetzdata.c @@ -0,0 +1,113 @@ +/* Copyright (C) 2015 Red Hat, Inc. + This file is part of elfutils. + + This file is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + elfutils is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <inttypes.h> +#include <libelf.h> +#include <gelf.h> +#include <stdbool.h> +#include <stdio.h> +#include <string.h> +#include <unistd.h> + + +int +main (int argc, char *argv[]) +{ + int result = 0; + int cnt; + + if (argc < 3 + || (strcmp (argv[1], "read") != 0 + && strcmp (argv[1], "mmap") != 0)) + { + printf ("Usage: (read|mmap) files...\n"); + return -1; + } + + bool mmap = strcmp (argv[1], "mmap") == 0; + + elf_version (EV_CURRENT); + + for (cnt = 2; cnt < argc; ++cnt) + { + int fd = open (argv[cnt], O_RDONLY); + + Elf *elf = elf_begin (fd, mmap ? ELF_C_READ_MMAP : ELF_C_READ, NULL); + if (elf == NULL) + { + printf ("%s not usable %s\n", argv[cnt], elf_errmsg (-1)); + result = 1; + close (fd); + continue; + } + + /* To get the section names. */ + size_t strndx; + elf_getshdrstrndx (elf, &strndx); + + Elf_Scn *scn = NULL; + while ((scn = elf_nextscn (elf, scn)) != NULL) + { + size_t idx = elf_ndxscn (scn); + GElf_Shdr mem; + GElf_Shdr *shdr = gelf_getshdr (scn, &mem); + const char *name = elf_strptr (elf, strndx, shdr->sh_name); + if ((shdr->sh_flags & SHF_COMPRESSED) != 0) + { + /* Real compressed section. */ + if (elf_compress (scn, 0, 0) < 0) + { + printf ("elf_compress failed for section %zd: %s\n", + idx, elf_errmsg (-1)); + return -1; + } + Elf_Data *d = elf_getdata (scn, NULL); + printf ("%zd: %s, ELF compressed, size: %zx\n", + idx, name, d->d_size); + } + else + { + /* Maybe an old GNU compressed .z section? */ + if (name[0] == '.' && name[1] == 'z') + { + if (elf_compress_gnu (scn, 0, 0) < 0) + { + printf ("elf_compress_gnu failed for section %zd: %s\n", + idx, elf_errmsg (-1)); + return -1; + } + Elf_Data *d = elf_getdata (scn, NULL); + printf ("%zd: %s, GNU compressed, size: %zx\n", + idx, name, d->d_size); + } + else + printf ("%zd: %s, NOT compressed\n", idx, name); + } + } + + elf_end (elf); + close (fd); + } + + return result; +} diff --git a/tests/elfputzdata.c b/tests/elfputzdata.c new file mode 100644 index 00000000..66ab77ba --- /dev/null +++ b/tests/elfputzdata.c @@ -0,0 +1,237 @@ +/* Copyright (C) 2015 Red Hat, Inc. + This file is part of elfutils. + + This file is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + elfutils is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <sys/types.h> +#include <sys/stat.h> +#include <fcntl.h> +#include <inttypes.h> +#include <libelf.h> +#include <gelf.h> +#include <stdbool.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + + +int +main (int argc, char *argv[]) +{ + int result = 0; + int cnt; + + if (argc < 3 + || (strcmp (argv[1], "elf") != 0 + && strcmp (argv[1], "gnu") != 0)) + { + printf ("Usage: (elf|gnu) files...\n"); + return -1; + } + + int gnu; + if (strcmp (argv[1], "gnu") == 0) + gnu = 1; + else + gnu = 0; + + elf_version (EV_CURRENT); + + for (cnt = 2; cnt < argc; ++cnt) + { + int fd = open (argv[cnt], O_RDONLY); + + Elf *elf = elf_begin (fd, ELF_C_READ, NULL); + if (elf == NULL) + { + printf ("%s not usable %s\n", argv[cnt], elf_errmsg (-1)); + result = 1; + close (fd); + continue; + } + + /* To get the section names. */ + size_t strndx; + elf_getshdrstrndx (elf, &strndx); + + Elf_Scn *scn = NULL; + while ((scn = elf_nextscn (elf, scn)) != NULL) + { + size_t idx = elf_ndxscn (scn); + GElf_Shdr mem; + GElf_Shdr *shdr = gelf_getshdr (scn, &mem); + const char *name = elf_strptr (elf, strndx, shdr->sh_name); + if (shdr->sh_type == SHT_NOBITS + || (shdr->sh_flags & SHF_ALLOC) != 0) + { + printf ("Cannot compress %zd %s\n", idx, name); + } + else if ((shdr->sh_flags & SHF_COMPRESSED) != 0 + || strncmp (name, ".zdebug", strlen (".zdebug")) == 0) + { + printf ("Already compressed %zd %s\n", idx, name); + } + else + { + size_t orig_size = shdr->sh_size; + printf ("Lets compress %zd %s, size: %" PRId64 "\n", + idx, name, shdr->sh_size); + Elf_Data *d = elf_getdata (scn, NULL); + if (d == NULL) + { + printf ("Couldn't get orig data for section %zd\n", idx); + return -1; + } + /* Make a copy so we can compare after + compression/decompression. */ + if (d->d_size != orig_size) + { + printf ("Unexpected data size for orig section %zd\n", idx); + return -1; + } + char *orig_buf = malloc (d->d_size); + if (orig_size > 0 && orig_buf == NULL) + { + printf ("No memory to copy section %zd data\n", idx); + return -1; + } + if (orig_size > 0) + memcpy (orig_buf, d->d_buf, orig_size); + + bool forced = false; + if (gnu) + { + int res = elf_compress_gnu (scn, 1, 0); + if (res == 0) + { + forced = true; + res = elf_compress_gnu (scn, 1, ELF_CHF_FORCE); + } + if (res < 0) + { + printf ("elf_compress_gnu%sfailed for section %zd: %s\n", + forced ? " (forced) " : " ", + idx, elf_errmsg (-1)); + return -1; + } + } + else + { + int res = elf_compress (scn, ELFCOMPRESS_ZLIB, 0); + if (res == 0) + { + forced = true; + res = elf_compress (scn, ELFCOMPRESS_ZLIB, ELF_CHF_FORCE); + } + if (res < 0) + { + printf ("elf_compress%sfailed for section %zd: %s\n", + forced ? " (forced) " : " ", + idx, elf_errmsg (-1)); + return -1; + } + } + GElf_Shdr newmem; + GElf_Shdr *newshdr = gelf_getshdr (scn, &newmem); + size_t new_size = newshdr->sh_size; + d = elf_getdata (scn, NULL); + // Don't check this, might depend on zlib implementation. + // fprintf (stderr, " new_size: %zd\n", new_size); + if (d->d_size != new_size) + { + printf ("Unexpected data size for compressed section %zd\n", + idx); + return -1; + } + + if (forced && new_size < orig_size) + { + printf ("section %zd forced to compress, but size smaller\n", + idx); + return -1; + } + + if (! forced && new_size >= orig_size) + { + printf ("section %zd compressed to bigger size\n", + idx); + return -1; + } + + if (new_size == orig_size + && memcmp (orig_buf, d->d_buf, orig_size) == 0) + { + printf ("section %zd didn't compress\n", idx); + return -1; + } + + if (gnu) + { + if (elf_compress_gnu (scn, 0, 0) < 0) + { + printf ("elf_[un]compress_gnu failed for section %zd: %s\n", + idx, elf_errmsg (-1)); + return -1; + } + } + else + { + if (elf_compress (scn, 0, 0) < 0) + { + printf ("elf_[un]compress failed for section %zd: %s\n", + idx, elf_errmsg (-1)); + return -1; + } + } + GElf_Shdr newermem; + GElf_Shdr *newershdr = gelf_getshdr (scn, &newermem); + size_t newer_size = newershdr->sh_size; + d = elf_getdata (scn, NULL); + // fprintf (stderr, " newer_size: %zd\n", newer_size); + if (d->d_size != newer_size) + { + printf ("Unexpected data size for compressed section %zd\n", + idx); + return -1; + } + if (newer_size != orig_size + && memcmp (orig_buf, d->d_buf, orig_size) != 0) + { + printf ("section %zd didn't correctly uncompress\n", idx); + return -1; + } + free (orig_buf); + // Recompress the string table, just to make sure + // everything keeps working. See elf_strptr above. + if (! gnu && idx == strndx + && elf_compress (scn, ELFCOMPRESS_ZLIB, 0) < 0) + { + printf ("couldn't recompress section header strings: %s\n", + elf_errmsg (-1)); + return -1; + } + } + } + + elf_end (elf); + close (fd); + } + + return result; +} diff --git a/tests/elfstrmerge.c b/tests/elfstrmerge.c index 6b927c83..4149ca6e 100644 --- a/tests/elfstrmerge.c +++ b/tests/elfstrmerge.c @@ -518,8 +518,13 @@ main (int argc, char **argv) if (gelf_getsym (data, i, &sym) == NULL) fail_elf_idx ("Couldn't get symbol", fname, i); - if (sym.st_shndx != SHN_UNDEF - && sym.st_shndx < SHN_LORESERVE) + if (GELF_ST_TYPE (sym.st_info) == STT_SECTION + && sym.st_shndx == shdrstrndx) + fprintf (stderr, "WARNING:" + " symbol table [%zd] contains section symbol %zd" + " for old shdrstrndx %zd\n", ndx, i, shdrstrndx); + else if (sym.st_shndx != SHN_UNDEF + && sym.st_shndx < SHN_LORESERVE) sym.st_shndx = newsecndx (sym.st_shndx, "section", ndx, "symbol", i); if (update_name && sym.st_name != 0) diff --git a/tests/msg_tst.c b/tests/msg_tst.c index 10ff0f73..7baea0a2 100644 --- a/tests/msg_tst.c +++ b/tests/msg_tst.c @@ -74,7 +74,14 @@ static struct "program header only allowed in executables, shared objects, \ and core files" }, { ELF_E_NO_PHDR, "file has no program header" }, - { ELF_E_INVALID_OFFSET, "invalid offset" } + { ELF_E_INVALID_OFFSET, "invalid offset" }, + { ELF_E_INVALID_SECTION_TYPE , "invalid section type" }, + { ELF_E_INVALID_SECTION_FLAGS , "invalid section flags" }, + { ELF_E_NOT_COMPRESSED, "section does not contain compressed data" }, + { ELF_E_ALREADY_COMPRESSED, "section contains compressed data" }, + { ELF_E_UNKNOWN_COMPRESSION_TYPE, "unknown compression type" }, + { ELF_E_COMPRESS_ERROR, "cannot compress data" }, + { ELF_E_DECOMPRESS_ERROR, "cannot decompress data" } }; diff --git a/tests/run-compress-test.sh b/tests/run-compress-test.sh new file mode 100755 index 00000000..a6a298f5 --- /dev/null +++ b/tests/run-compress-test.sh @@ -0,0 +1,102 @@ +#! /bin/sh +# Copyright (C) 2015 Red Hat, Inc. +# This file is part of elfutils. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# elfutils is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +. $srcdir/test-subr.sh + +# uncompress -> gnucompress -> uncompress -> elfcompress -> uncompress +testrun_elfcompress_file() +{ + infile="$1" + uncompressedfile="${infile}.uncompressed" + tempfiles "$uncompressedfile" + + echo "uncompress $infile -> $uncompressedfile" + testrun ${abs_top_builddir}/src/elfcompress -v -t none -o ${uncompressedfile} ${infile} + testrun ${abs_top_builddir}/src/elflint --gnu-ld ${uncompressedfile} + + SIZE_uncompressed=$(stat -c%s $uncompressedfile) + + gnucompressedfile="${infile}.gnu" + tempfiles "$gnucompressedfile" + echo "compress gnu $uncompressedfile -> $gnucompressedfile" + testrun ${abs_top_builddir}/src/elfcompress -v -t gnu -o ${gnucompressedfile} ${uncompressedfile} + testrun ${abs_top_builddir}/src/elflint --gnu-ld ${gnucompressedfile} + + SIZE_gnucompressed=$(stat -c%s $gnucompressedfile) + test $SIZE_gnucompressed -lt $SIZE_uncompressed || + { echo "*** failure $gnucompressedfile not smaller"; exit -1; } + + gnuuncompressedfile="${infile}.gnu.uncompressed" + tempfiles "$gnuuncompressedfile" + echo "uncompress $gnucompressedfile -> $gnuuncompressedfile" + testrun ${abs_top_builddir}/src/elfcompress -v -t none -o ${gnuuncompressedfile} ${gnucompressedfile} + testrun ${abs_top_builddir}/src/elfcmp ${uncompressedfile} ${gnuuncompressedfile} + + elfcompressedfile="${infile}.gabi" + tempfiles "$elfcompressedfile" + echo "compress gabi $uncompressedfile -> $elfcompressedfile" + testrun ${abs_top_builddir}/src/elfcompress -v -t zlib -o ${elfcompressedfile} ${uncompressedfile} + testrun ${abs_top_builddir}/src/elflint --gnu-ld ${elfcompressedfile} + + SIZE_elfcompressed=$(stat -c%s $elfcompressedfile) + test $SIZE_elfcompressed -lt $SIZE_uncompressed || + { echo "*** failure $elfcompressedfile not smaller"; exit -1; } + + elfuncompressedfile="${infile}.gabi.uncompressed" + tempfiles "$elfuncompressedfile" + echo "uncompress $elfcompressedfile -> $elfuncompressedfile" + testrun ${abs_top_builddir}/src/elfcompress -v -t none -o ${elfuncompressedfile} ${elfcompressedfile} + testrun ${abs_top_builddir}/src/elfcmp ${uncompressedfile} ${elfuncompressedfile} +} + +testrun_elfcompress() +{ + testfile="$1" + testfiles ${testfile} + testrun_elfcompress_file ${testfile} + + # Merge the string tables to make things a little more interesting. + mergedfile="${testfile}.merged" + tempfiles ${mergedfile} + echo "merging string tables ${testfile} -> ${mergedfile}" + testrun ${abs_top_builddir}/tests/elfstrmerge -o ${mergedfile} ${testfile} + testrun_elfcompress_file ${mergedfile} +} + +# Random ELF32 testfile +testrun_elfcompress testfile4 + +# Random ELF64 testfile +testrun_elfcompress testfile12 + +# Random ELF64BE testfile +testrun_elfcompress testfileppc64 + +# Random ELF32BE testfile +testrun_elfcompress testfileppc32 + +# Already compressed files +testrun_elfcompress testfile-zgnu64 +testrun_elfcompress testfile-zgnu64be +testrun_elfcompress testfile-zgabi64 +testrun_elfcompress testfile-zgabi64be +testrun_elfcompress testfile-zgnu32 +testrun_elfcompress testfile-zgnu32be +testrun_elfcompress testfile-zgabi32 +testrun_elfcompress testfile-zgabi32be + +exit 0 diff --git a/tests/run-dwelfgnucompressed.sh b/tests/run-dwelfgnucompressed.sh new file mode 100755 index 00000000..b93a56f2 --- /dev/null +++ b/tests/run-dwelfgnucompressed.sh @@ -0,0 +1,108 @@ +#! /bin/sh +# Copyright (C) 2015 Red Hat, Inc. +# This file is part of elfutils. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# elfutils is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +. $srcdir/test-subr.sh + +# = funcs.s = +# .globl testfunc +# testfunc: +# nop +# ret +# .type testfunc, @function +# .size testfunc, .-testfunc +# +# .globl testfunc2 +# testfunc2: +# call testfunc +# nop +# nop +# ret +# .type testfunc2, @function +# .size testfunc2, .-testfunc2 +# +# .globl functest3 +# functest3: +# jmp local +# nop +# nop +# local: +# call testfunc2 +# ret +# .type functest3, @function +# .size functest3, .-functest3 + +# = start.s = +# .global _start +# _start: +# call functest3 +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# ret +# .type _start, @function +# .size _start, .-_start + +# gas --compress-debug-sections=zlib-gnu -32 -g -o start.o start.s +# gas --compress-debug-sections=zlib-gnu -32 -g -o funcs.o funcs.s +# ld --compress-debug-sections=zlib-gnu -melf_i386 -g -o zgnu32 funcs.o start.o + +# gas --compress-debug-sections=zlib-gnu -64 -g -o start.o start.s +# gas --compress-debug-sections=zlib-gnu -64 -g -o funcs.o funcs.s +# ld --compress-debug-sections=zlib-gnu -g -o zgnu32 funcs.o start.o + +testfiles testfile-zgnu64 +testrun_compare ${abs_top_builddir}/tests/dwelfgnucompressed testfile-zgnu64 <<\EOF +section 2: GNU Compressed size: 60 +section 3: GNU Compressed size: aa +section 5: GNU Compressed size: 8d +EOF + +testfiles testfile-zgnu64be +testrun_compare ${abs_top_builddir}/tests/dwelfgnucompressed testfile-zgnu64be <<\EOF +section 3: GNU Compressed size: 60 +section 4: GNU Compressed size: 7e +section 6: GNU Compressed size: 8d +EOF + +testfiles testfile-zgnu32 +testrun_compare ${abs_top_builddir}/tests/dwelfgnucompressed testfile-zgnu32 <<\EOF +section 2: GNU Compressed size: 40 +section 3: GNU Compressed size: 9a +section 5: GNU Compressed size: 85 +EOF + +testfiles testfile-zgnu32be +testrun_compare ${abs_top_builddir}/tests/dwelfgnucompressed testfile-zgnu32be <<\EOF +section 3: GNU Compressed size: 40 +section 4: GNU Compressed size: 6e +section 6: GNU Compressed size: 85 +EOF + +exit 0 diff --git a/tests/run-elfgetchdr.sh b/tests/run-elfgetchdr.sh new file mode 100755 index 00000000..7a422f39 --- /dev/null +++ b/tests/run-elfgetchdr.sh @@ -0,0 +1,188 @@ +#! /bin/sh +# Copyright (C) 2015 Red Hat, Inc. +# This file is part of elfutils. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# elfutils is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +. $srcdir/test-subr.sh + +# = funcs.s = +# .globl testfunc +# testfunc: +# nop +# ret +# .type testfunc, @function +# .size testfunc, .-testfunc +# +# .globl testfunc2 +# testfunc2: +# call testfunc +# nop +# nop +# ret +# .type testfunc2, @function +# .size testfunc2, .-testfunc2 +# +# .globl functest3 +# functest3: +# jmp local +# nop +# nop +# local: +# call testfunc2 +# ret +# .type functest3, @function +# .size functest3, .-functest3 + +# = start.s = +# .global _start +# _start: +# call functest3 +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# nop +# ret +# .type _start, @function +# .size _start, .-_start + +# gas --compress-debug-sections=zlib-gnu -32 -g -o start.o start.s +# gas --compress-debug-sections=zlib-gnu -32 -g -o funcs.o funcs.s +# ld --compress-debug-sections=zlib-gnu -melf_i386 -g -o zgnu32 funcs.o start.o + +# gas --compress-debug-sections=zlib-gnu -64 -g -o start.o start.s +# gas --compress-debug-sections=zlib-gnu -64 -g -o funcs.o funcs.s +# ld --compress-debug-sections=zlib-gnu -g -o zgnu64 funcs.o start.o + +# gas --compress-debug-sections=zlib-gabi -32 -g -o start.o start.s +# gas --compress-debug-sections=zlib-gabi -32 -g -o funcs.o funcs.s +# ld --compress-debug-sections=zlib-gabi -melf_i386 -g -o zgabi32 funcs.o start.o + +# gas --compress-debug-sections=zlib-gabi -64 -g -o start.o start.s +# gas --compress-debug-sections=zlib-gabi -64 -g -o funcs.o funcs.s +# ld --compress-debug-sections=zlib-gabi -g -o zgabi64 funcs.o start.o + +testfiles testfile-zgnu64 +testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgnu64 <<\EOF +section 1: NOT Compressed +section 2: GNU Compressed size: 60 +section 3: GNU Compressed size: aa +section 4: NOT Compressed +section 5: GNU Compressed size: 8d +section 6: NOT Compressed +section 7: NOT Compressed +section 8: NOT Compressed +EOF + +testfiles testfile-zgabi64 +testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgabi64 <<\EOF +section 1: NOT Compressed +section 2: ELF Compressed ch_type: 1, ch_size: 60, ch_addralign: 10 +section 3: ELF Compressed ch_type: 1, ch_size: aa, ch_addralign: 1 +section 4: NOT Compressed +section 5: ELF Compressed ch_type: 1, ch_size: 8d, ch_addralign: 1 +section 6: NOT Compressed +section 7: NOT Compressed +section 8: NOT Compressed +EOF + +testfiles testfile-zgnu32 +testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgnu32 <<\EOF +section 1: NOT Compressed +section 2: GNU Compressed size: 40 +section 3: GNU Compressed size: 9a +section 4: NOT Compressed +section 5: GNU Compressed size: 85 +section 6: NOT Compressed +section 7: NOT Compressed +section 8: NOT Compressed +EOF + +testfiles testfile-zgabi32 +testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgabi32 <<\EOF +section 1: NOT Compressed +section 2: ELF Compressed ch_type: 1, ch_size: 40, ch_addralign: 8 +section 3: ELF Compressed ch_type: 1, ch_size: 9a, ch_addralign: 1 +section 4: NOT Compressed +section 5: ELF Compressed ch_type: 1, ch_size: 85, ch_addralign: 1 +section 6: NOT Compressed +section 7: NOT Compressed +section 8: NOT Compressed +EOF + +testfiles testfile-zgnu64be +testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgnu64be <<\EOF +section 1: NOT Compressed +section 2: NOT Compressed +section 3: GNU Compressed size: 60 +section 4: GNU Compressed size: 7e +section 5: NOT Compressed +section 6: GNU Compressed size: 8d +section 7: NOT Compressed +section 8: NOT Compressed +section 9: NOT Compressed +EOF + +testfiles testfile-zgabi64be +testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgabi64be <<\EOF +section 1: NOT Compressed +section 2: NOT Compressed +section 3: ELF Compressed ch_type: 1, ch_size: 60, ch_addralign: 10 +section 4: ELF Compressed ch_type: 1, ch_size: 7e, ch_addralign: 1 +section 5: NOT Compressed +section 6: ELF Compressed ch_type: 1, ch_size: 8d, ch_addralign: 1 +section 7: NOT Compressed +section 8: NOT Compressed +section 9: NOT Compressed +EOF + +testfiles testfile-zgnu32be +testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgnu32be <<\EOF +section 1: NOT Compressed +section 2: NOT Compressed +section 3: GNU Compressed size: 40 +section 4: GNU Compressed size: 6e +section 5: NOT Compressed +section 6: GNU Compressed size: 85 +section 7: NOT Compressed +section 8: NOT Compressed +section 9: NOT Compressed +EOF + +testfiles testfile-zgabi32be +testrun_compare ${abs_top_builddir}/tests/elfgetchdr testfile-zgabi32be <<\EOF +section 1: NOT Compressed +section 2: NOT Compressed +section 3: ELF Compressed ch_type: 1, ch_size: 40, ch_addralign: 8 +section 4: ELF Compressed ch_type: 1, ch_size: 6e, ch_addralign: 1 +section 5: NOT Compressed +section 6: ELF Compressed ch_type: 1, ch_size: 85, ch_addralign: 1 +section 7: NOT Compressed +section 8: NOT Compressed +section 9: NOT Compressed +EOF + +exit 0 diff --git a/tests/run-elfgetzdata.sh b/tests/run-elfgetzdata.sh new file mode 100755 index 00000000..e2df3081 --- /dev/null +++ b/tests/run-elfgetzdata.sh @@ -0,0 +1,214 @@ +#! /bin/sh +# Copyright (C) 2015 Red Hat, Inc. +# This file is part of elfutils. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# elfutils is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +. $srcdir/test-subr.sh + +# See run-elfgetchdr.sh for testfiles. + +testfiles testfile-zgnu64 +testrun_compare ${abs_top_builddir}/tests/elfgetzdata read testfile-zgnu64 <<\EOF +1: .text, NOT compressed +2: .zdebug_aranges, GNU compressed, size: 60 +3: .zdebug_info, GNU compressed, size: aa +4: .debug_abbrev, NOT compressed +5: .zdebug_line, GNU compressed, size: 8d +6: .shstrtab, NOT compressed +7: .symtab, NOT compressed +8: .strtab, NOT compressed +EOF + +testrun_compare ${abs_top_builddir}/tests/elfgetzdata mmap testfile-zgnu64 <<\EOF +1: .text, NOT compressed +2: .zdebug_aranges, GNU compressed, size: 60 +3: .zdebug_info, GNU compressed, size: aa +4: .debug_abbrev, NOT compressed +5: .zdebug_line, GNU compressed, size: 8d +6: .shstrtab, NOT compressed +7: .symtab, NOT compressed +8: .strtab, NOT compressed +EOF + +testfiles testfile-zgnu64be +testrun_compare ${abs_top_builddir}/tests/elfgetzdata read testfile-zgnu64be <<\EOF +1: .text, NOT compressed +2: .eh_frame, NOT compressed +3: .zdebug_aranges, GNU compressed, size: 60 +4: .zdebug_info, GNU compressed, size: 7e +5: .debug_abbrev, NOT compressed +6: .zdebug_line, GNU compressed, size: 8d +7: .shstrtab, NOT compressed +8: .symtab, NOT compressed +9: .strtab, NOT compressed +EOF + +testrun_compare ${abs_top_builddir}/tests/elfgetzdata mmap testfile-zgnu64be <<\EOF +1: .text, NOT compressed +2: .eh_frame, NOT compressed +3: .zdebug_aranges, GNU compressed, size: 60 +4: .zdebug_info, GNU compressed, size: 7e +5: .debug_abbrev, NOT compressed +6: .zdebug_line, GNU compressed, size: 8d +7: .shstrtab, NOT compressed +8: .symtab, NOT compressed +9: .strtab, NOT compressed +EOF + +testfiles testfile-zgabi64 +testrun_compare ${abs_top_builddir}/tests/elfgetzdata read testfile-zgabi64 <<\EOF +1: .text, NOT compressed +2: .debug_aranges, ELF compressed, size: 60 +3: .debug_info, ELF compressed, size: aa +4: .debug_abbrev, NOT compressed +5: .debug_line, ELF compressed, size: 8d +6: .shstrtab, NOT compressed +7: .symtab, NOT compressed +8: .strtab, NOT compressed +EOF + +testrun_compare ${abs_top_builddir}/tests/elfgetzdata mmap testfile-zgabi64 <<\EOF +1: .text, NOT compressed +2: .debug_aranges, ELF compressed, size: 60 +3: .debug_info, ELF compressed, size: aa +4: .debug_abbrev, NOT compressed +5: .debug_line, ELF compressed, size: 8d +6: .shstrtab, NOT compressed +7: .symtab, NOT compressed +8: .strtab, NOT compressed +EOF + +testfiles testfile-zgabi64be +testrun_compare ${abs_top_builddir}/tests/elfgetzdata read testfile-zgabi64be <<\EOF +1: .text, NOT compressed +2: .eh_frame, NOT compressed +3: .debug_aranges, ELF compressed, size: 60 +4: .debug_info, ELF compressed, size: 7e +5: .debug_abbrev, NOT compressed +6: .debug_line, ELF compressed, size: 8d +7: .shstrtab, NOT compressed +8: .symtab, NOT compressed +9: .strtab, NOT compressed +EOF + +testrun_compare ${abs_top_builddir}/tests/elfgetzdata mmap testfile-zgabi64be <<\EOF +1: .text, NOT compressed +2: .eh_frame, NOT compressed +3: .debug_aranges, ELF compressed, size: 60 +4: .debug_info, ELF compressed, size: 7e +5: .debug_abbrev, NOT compressed +6: .debug_line, ELF compressed, size: 8d +7: .shstrtab, NOT compressed +8: .symtab, NOT compressed +9: .strtab, NOT compressed +EOF + +testfiles testfile-zgnu32 +testrun_compare ${abs_top_builddir}/tests/elfgetzdata read testfile-zgnu32 <<\EOF +1: .text, NOT compressed +2: .zdebug_aranges, GNU compressed, size: 40 +3: .zdebug_info, GNU compressed, size: 9a +4: .debug_abbrev, NOT compressed +5: .zdebug_line, GNU compressed, size: 85 +6: .shstrtab, NOT compressed +7: .symtab, NOT compressed +8: .strtab, NOT compressed +EOF + +testrun_compare ${abs_top_builddir}/tests/elfgetzdata mmap testfile-zgnu32 <<\EOF +1: .text, NOT compressed +2: .zdebug_aranges, GNU compressed, size: 40 +3: .zdebug_info, GNU compressed, size: 9a +4: .debug_abbrev, NOT compressed +5: .zdebug_line, GNU compressed, size: 85 +6: .shstrtab, NOT compressed +7: .symtab, NOT compressed +8: .strtab, NOT compressed +EOF + +testfiles testfile-zgnu32be +testrun_compare ${abs_top_builddir}/tests/elfgetzdata read testfile-zgnu32be <<\EOF +1: .text, NOT compressed +2: .eh_frame, NOT compressed +3: .zdebug_aranges, GNU compressed, size: 40 +4: .zdebug_info, GNU compressed, size: 6e +5: .debug_abbrev, NOT compressed +6: .zdebug_line, GNU compressed, size: 85 +7: .shstrtab, NOT compressed +8: .symtab, NOT compressed +9: .strtab, NOT compressed +EOF + +testrun_compare ${abs_top_builddir}/tests/elfgetzdata mmap testfile-zgnu32be <<\EOF +1: .text, NOT compressed +2: .eh_frame, NOT compressed +3: .zdebug_aranges, GNU compressed, size: 40 +4: .zdebug_info, GNU compressed, size: 6e +5: .debug_abbrev, NOT compressed +6: .zdebug_line, GNU compressed, size: 85 +7: .shstrtab, NOT compressed +8: .symtab, NOT compressed +9: .strtab, NOT compressed +EOF + +testfiles testfile-zgabi32 +testrun_compare ${abs_top_builddir}/tests/elfgetzdata read testfile-zgabi32 <<\EOF +1: .text, NOT compressed +2: .debug_aranges, ELF compressed, size: 40 +3: .debug_info, ELF compressed, size: 9a +4: .debug_abbrev, NOT compressed +5: .debug_line, ELF compressed, size: 85 +6: .shstrtab, NOT compressed +7: .symtab, NOT compressed +8: .strtab, NOT compressed +EOF + +testrun_compare ${abs_top_builddir}/tests/elfgetzdata mmap testfile-zgabi32 <<\EOF +1: .text, NOT compressed +2: .debug_aranges, ELF compressed, size: 40 +3: .debug_info, ELF compressed, size: 9a +4: .debug_abbrev, NOT compressed +5: .debug_line, ELF compressed, size: 85 +6: .shstrtab, NOT compressed +7: .symtab, NOT compressed +8: .strtab, NOT compressed +EOF + +testfiles testfile-zgabi32be +testrun_compare ${abs_top_builddir}/tests/elfgetzdata read testfile-zgabi32be <<\EOF +1: .text, NOT compressed +2: .eh_frame, NOT compressed +3: .debug_aranges, ELF compressed, size: 40 +4: .debug_info, ELF compressed, size: 6e +5: .debug_abbrev, NOT compressed +6: .debug_line, ELF compressed, size: 85 +7: .shstrtab, NOT compressed +8: .symtab, NOT compressed +9: .strtab, NOT compressed +EOF + +testrun_compare ${abs_top_builddir}/tests/elfgetzdata mmap testfile-zgabi32be <<\EOF +1: .text, NOT compressed +2: .eh_frame, NOT compressed +3: .debug_aranges, ELF compressed, size: 40 +4: .debug_info, ELF compressed, size: 6e +5: .debug_abbrev, NOT compressed +6: .debug_line, ELF compressed, size: 85 +7: .shstrtab, NOT compressed +8: .symtab, NOT compressed +9: .strtab, NOT compressed +EOF + +exit 0 diff --git a/tests/run-elfputzdata.sh b/tests/run-elfputzdata.sh new file mode 100755 index 00000000..b882b3f0 --- /dev/null +++ b/tests/run-elfputzdata.sh @@ -0,0 +1,340 @@ +#! /bin/sh +# Copyright (C) 2015 Red Hat, Inc. +# This file is part of elfutils. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# elfutils is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +. $srcdir/test-subr.sh + +# Random ELF32 testfile +testfiles testfile4 + +testrun_compare ${abs_top_builddir}/tests/elfputzdata gnu testfile4 <<\EOF +Cannot compress 1 .interp +Cannot compress 2 .note.ABI-tag +Cannot compress 3 .hash +Cannot compress 4 .dynsym +Cannot compress 5 .dynstr +Cannot compress 6 .gnu.version +Cannot compress 7 .gnu.version_r +Cannot compress 8 .rel.got +Cannot compress 9 .rel.plt +Cannot compress 10 .init +Cannot compress 11 .plt +Cannot compress 12 .text +Cannot compress 13 .fini +Cannot compress 14 .rodata +Cannot compress 15 .data +Cannot compress 16 .eh_frame +Cannot compress 17 .gcc_except_table +Cannot compress 18 .ctors +Cannot compress 19 .dtors +Cannot compress 20 .got +Cannot compress 21 .dynamic +Lets compress 22 .sbss, size: 0 +Cannot compress 23 .bss +Lets compress 24 .stab, size: 21540 +Lets compress 25 .stabstr, size: 57297 +Lets compress 26 .comment, size: 648 +Lets compress 27 .debug_aranges, size: 56 +Lets compress 28 .debug_pubnames, size: 93 +Lets compress 29 .debug_info, size: 960 +Lets compress 30 .debug_abbrev, size: 405 +Lets compress 31 .debug_line, size: 189 +Lets compress 32 .note, size: 240 +Lets compress 33 .shstrtab, size: 320 +Lets compress 34 .symtab, size: 5488 +Lets compress 35 .strtab, size: 5727 +EOF + +testrun_compare ${abs_top_builddir}/tests/elfputzdata elf testfile4 <<\EOF +Cannot compress 1 .interp +Cannot compress 2 .note.ABI-tag +Cannot compress 3 .hash +Cannot compress 4 .dynsym +Cannot compress 5 .dynstr +Cannot compress 6 .gnu.version +Cannot compress 7 .gnu.version_r +Cannot compress 8 .rel.got +Cannot compress 9 .rel.plt +Cannot compress 10 .init +Cannot compress 11 .plt +Cannot compress 12 .text +Cannot compress 13 .fini +Cannot compress 14 .rodata +Cannot compress 15 .data +Cannot compress 16 .eh_frame +Cannot compress 17 .gcc_except_table +Cannot compress 18 .ctors +Cannot compress 19 .dtors +Cannot compress 20 .got +Cannot compress 21 .dynamic +Lets compress 22 .sbss, size: 0 +Cannot compress 23 .bss +Lets compress 24 .stab, size: 21540 +Lets compress 25 .stabstr, size: 57297 +Lets compress 26 .comment, size: 648 +Lets compress 27 .debug_aranges, size: 56 +Lets compress 28 .debug_pubnames, size: 93 +Lets compress 29 .debug_info, size: 960 +Lets compress 30 .debug_abbrev, size: 405 +Lets compress 31 .debug_line, size: 189 +Lets compress 32 .note, size: 240 +Lets compress 33 .shstrtab, size: 320 +Lets compress 34 .symtab, size: 5488 +Lets compress 35 .strtab, size: 5727 +EOF + +# Random ELF64 testfile +testfiles testfile12 + +testrun_compare ${abs_top_builddir}/tests/elfputzdata gnu testfile12 <<\EOF +Cannot compress 1 .hash +Cannot compress 2 .dynsym +Cannot compress 3 .dynstr +Cannot compress 4 .gnu.version +Cannot compress 5 .gnu.version_r +Cannot compress 6 .rela.dyn +Cannot compress 7 .rela.plt +Cannot compress 8 .init +Cannot compress 9 .plt +Cannot compress 10 .text +Cannot compress 11 .fini +Cannot compress 12 .rodata +Cannot compress 13 .eh_frame_hdr +Cannot compress 14 .eh_frame +Cannot compress 15 .data +Cannot compress 16 .dynamic +Cannot compress 17 .ctors +Cannot compress 18 .dtors +Cannot compress 19 .jcr +Cannot compress 20 .got +Cannot compress 21 .bss +Lets compress 22 .comment, size: 246 +Lets compress 23 .debug_aranges, size: 192 +Lets compress 24 .debug_pubnames, size: 26 +Lets compress 25 .debug_info, size: 3468 +Lets compress 26 .debug_abbrev, size: 341 +Lets compress 27 .debug_line, size: 709 +Lets compress 28 .debug_frame, size: 56 +Lets compress 29 .debug_str, size: 2235 +Lets compress 30 .debug_macinfo, size: 10518 +Lets compress 31 .shstrtab, size: 308 +Lets compress 32 .symtab, size: 1944 +Lets compress 33 .strtab, size: 757 +EOF + +testrun_compare ${abs_top_builddir}/tests/elfputzdata elf testfile12 <<\EOF +Cannot compress 1 .hash +Cannot compress 2 .dynsym +Cannot compress 3 .dynstr +Cannot compress 4 .gnu.version +Cannot compress 5 .gnu.version_r +Cannot compress 6 .rela.dyn +Cannot compress 7 .rela.plt +Cannot compress 8 .init +Cannot compress 9 .plt +Cannot compress 10 .text +Cannot compress 11 .fini +Cannot compress 12 .rodata +Cannot compress 13 .eh_frame_hdr +Cannot compress 14 .eh_frame +Cannot compress 15 .data +Cannot compress 16 .dynamic +Cannot compress 17 .ctors +Cannot compress 18 .dtors +Cannot compress 19 .jcr +Cannot compress 20 .got +Cannot compress 21 .bss +Lets compress 22 .comment, size: 246 +Lets compress 23 .debug_aranges, size: 192 +Lets compress 24 .debug_pubnames, size: 26 +Lets compress 25 .debug_info, size: 3468 +Lets compress 26 .debug_abbrev, size: 341 +Lets compress 27 .debug_line, size: 709 +Lets compress 28 .debug_frame, size: 56 +Lets compress 29 .debug_str, size: 2235 +Lets compress 30 .debug_macinfo, size: 10518 +Lets compress 31 .shstrtab, size: 308 +Lets compress 32 .symtab, size: 1944 +Lets compress 33 .strtab, size: 757 +EOF + +# Random ELF64BE testfile +testfiles testfileppc64 + +testrun_compare ${abs_top_builddir}/tests/elfputzdata gnu testfileppc64 <<\EOF +Cannot compress 1 .interp +Cannot compress 2 .note.ABI-tag +Cannot compress 3 .note.gnu.build-id +Cannot compress 4 .gnu.hash +Cannot compress 5 .dynsym +Cannot compress 6 .dynstr +Cannot compress 7 .gnu.version +Cannot compress 8 .gnu.version_r +Cannot compress 9 .rela.plt +Cannot compress 10 .init +Cannot compress 11 .text +Cannot compress 12 .fini +Cannot compress 13 .rodata +Cannot compress 14 .eh_frame_hdr +Cannot compress 15 .eh_frame +Cannot compress 16 .init_array +Cannot compress 17 .fini_array +Cannot compress 18 .jcr +Cannot compress 19 .dynamic +Cannot compress 20 .data +Cannot compress 21 .opd +Cannot compress 22 .got +Cannot compress 23 .plt +Cannot compress 24 .bss +Lets compress 25 .comment, size: 88 +Lets compress 26 .debug_aranges, size: 96 +Lets compress 27 .debug_info, size: 363 +Lets compress 28 .debug_abbrev, size: 315 +Lets compress 29 .debug_line, size: 119 +Lets compress 30 .debug_frame, size: 96 +Lets compress 31 .debug_str, size: 174 +Lets compress 32 .debug_loc, size: 171 +Lets compress 33 .debug_ranges, size: 32 +Lets compress 34 .shstrtab, size: 352 +Lets compress 35 .symtab, size: 1800 +Lets compress 36 .strtab, size: 602 +EOF + +testrun_compare ${abs_top_builddir}/tests/elfputzdata elf testfileppc64 <<\EOF +Cannot compress 1 .interp +Cannot compress 2 .note.ABI-tag +Cannot compress 3 .note.gnu.build-id +Cannot compress 4 .gnu.hash +Cannot compress 5 .dynsym +Cannot compress 6 .dynstr +Cannot compress 7 .gnu.version +Cannot compress 8 .gnu.version_r +Cannot compress 9 .rela.plt +Cannot compress 10 .init +Cannot compress 11 .text +Cannot compress 12 .fini +Cannot compress 13 .rodata +Cannot compress 14 .eh_frame_hdr +Cannot compress 15 .eh_frame +Cannot compress 16 .init_array +Cannot compress 17 .fini_array +Cannot compress 18 .jcr +Cannot compress 19 .dynamic +Cannot compress 20 .data +Cannot compress 21 .opd +Cannot compress 22 .got +Cannot compress 23 .plt +Cannot compress 24 .bss +Lets compress 25 .comment, size: 88 +Lets compress 26 .debug_aranges, size: 96 +Lets compress 27 .debug_info, size: 363 +Lets compress 28 .debug_abbrev, size: 315 +Lets compress 29 .debug_line, size: 119 +Lets compress 30 .debug_frame, size: 96 +Lets compress 31 .debug_str, size: 174 +Lets compress 32 .debug_loc, size: 171 +Lets compress 33 .debug_ranges, size: 32 +Lets compress 34 .shstrtab, size: 352 +Lets compress 35 .symtab, size: 1800 +Lets compress 36 .strtab, size: 602 +EOF + +# Random ELF32BE testfile +testfiles testfileppc32 + +testrun_compare ${abs_top_builddir}/tests/elfputzdata gnu testfileppc32 <<\EOF +Cannot compress 1 .interp +Cannot compress 2 .note.ABI-tag +Cannot compress 3 .note.gnu.build-id +Cannot compress 4 .gnu.hash +Cannot compress 5 .dynsym +Cannot compress 6 .dynstr +Cannot compress 7 .gnu.version +Cannot compress 8 .gnu.version_r +Cannot compress 9 .rela.dyn +Cannot compress 10 .rela.plt +Cannot compress 11 .init +Cannot compress 12 .text +Cannot compress 13 .fini +Cannot compress 14 .rodata +Cannot compress 15 .eh_frame_hdr +Cannot compress 16 .eh_frame +Cannot compress 17 .init_array +Cannot compress 18 .fini_array +Cannot compress 19 .jcr +Cannot compress 20 .got2 +Cannot compress 21 .dynamic +Cannot compress 22 .got +Cannot compress 23 .plt +Cannot compress 24 .data +Cannot compress 25 .sdata +Cannot compress 26 .bss +Lets compress 27 .comment, size: 88 +Lets compress 28 .debug_aranges, size: 64 +Lets compress 29 .debug_info, size: 319 +Lets compress 30 .debug_abbrev, size: 318 +Lets compress 31 .debug_line, size: 109 +Lets compress 32 .debug_frame, size: 64 +Lets compress 33 .debug_str, size: 179 +Lets compress 34 .debug_loc, size: 99 +Lets compress 35 .debug_ranges, size: 16 +Lets compress 36 .shstrtab, size: 370 +Lets compress 37 .symtab, size: 1232 +Lets compress 38 .strtab, size: 569 +EOF + +testrun_compare ${abs_top_builddir}/tests/elfputzdata elf testfileppc32 <<\EOF +Cannot compress 1 .interp +Cannot compress 2 .note.ABI-tag +Cannot compress 3 .note.gnu.build-id +Cannot compress 4 .gnu.hash +Cannot compress 5 .dynsym +Cannot compress 6 .dynstr +Cannot compress 7 .gnu.version +Cannot compress 8 .gnu.version_r +Cannot compress 9 .rela.dyn +Cannot compress 10 .rela.plt +Cannot compress 11 .init +Cannot compress 12 .text +Cannot compress 13 .fini +Cannot compress 14 .rodata +Cannot compress 15 .eh_frame_hdr +Cannot compress 16 .eh_frame +Cannot compress 17 .init_array +Cannot compress 18 .fini_array +Cannot compress 19 .jcr +Cannot compress 20 .got2 +Cannot compress 21 .dynamic +Cannot compress 22 .got +Cannot compress 23 .plt +Cannot compress 24 .data +Cannot compress 25 .sdata +Cannot compress 26 .bss +Lets compress 27 .comment, size: 88 +Lets compress 28 .debug_aranges, size: 64 +Lets compress 29 .debug_info, size: 319 +Lets compress 30 .debug_abbrev, size: 318 +Lets compress 31 .debug_line, size: 109 +Lets compress 32 .debug_frame, size: 64 +Lets compress 33 .debug_str, size: 179 +Lets compress 34 .debug_loc, size: 99 +Lets compress 35 .debug_ranges, size: 16 +Lets compress 36 .shstrtab, size: 370 +Lets compress 37 .symtab, size: 1232 +Lets compress 38 .strtab, size: 569 +EOF + +exit 0 diff --git a/tests/run-elfstrmerge-test.sh b/tests/run-elfstrmerge-test.sh new file mode 100755 index 00000000..d08b6fca --- /dev/null +++ b/tests/run-elfstrmerge-test.sh @@ -0,0 +1,40 @@ +#! /bin/sh +# Copyright (C) 2015 Red Hat, Inc. +# This file is part of elfutils. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# elfutils is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +. $srcdir/test-subr.sh + +# Merge string tables of file and check result with elflint. +testrun_elfcompress() +{ + testfile="$1" + testfiles ${testfile} + + mergedfile="${testfile}.merged" + tempfiles ${mergedfile} + + echo "merging string tables ${testfile} -> ${mergedfile}" + testrun ${abs_top_builddir}/tests/elfstrmerge -o ${mergedfile} ${testfile} + testrun ${abs_top_builddir}/src/elflint --gnu-ld ${mergedfile} +} + +# Random ELF32 testfile with extra STT_SECTION symbols +testrun_elfcompress testfile4 + +# Random ELF64 testfile with extra STT_SECTION symbols +testrun_elfcompress testfile12 + +exit 0 diff --git a/tests/run-readelf-z.sh b/tests/run-readelf-z.sh new file mode 100755 index 00000000..6dbd2f14 --- /dev/null +++ b/tests/run-readelf-z.sh @@ -0,0 +1,202 @@ +#! /bin/sh +# Copyright (C) 2015 Red Hat, Inc. +# This file is part of elfutils. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# elfutils is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +. $srcdir/test-subr.sh + +# See run-elfgetchdr.sh for testfiles. + +testfiles testfile-zgnu64 +testrun_compare ${abs_top_builddir}/src/readelf -z -S testfile-zgnu64 <<\EOF +There are 9 section headers, starting at offset 0x3e0: + +Section Headers: +[Nr] Name Type Addr Off Size ES Flags Lk Inf Al + [Compression Size Al] +[ 0] NULL 0000000000000000 00000000 00000000 0 0 0 0 +[ 1] .text PROGBITS 0000000000400078 00000078 0000002a 0 AX 0 0 1 +[ 2] .zdebug_aranges PROGBITS 0000000000000000 00000260 00000032 0 0 0 16 + [GNU ZLIB 00000060 ] +[ 3] .zdebug_info PROGBITS 0000000000000000 00000292 0000006f 0 0 0 1 + [GNU ZLIB 000000aa ] +[ 4] .debug_abbrev PROGBITS 0000000000000000 00000301 00000028 0 0 0 1 +[ 5] .zdebug_line PROGBITS 0000000000000000 00000329 0000005b 0 0 0 1 + [GNU ZLIB 0000008d ] +[ 6] .shstrtab STRTAB 0000000000000000 00000384 00000059 0 0 0 1 +[ 7] .symtab SYMTAB 0000000000000000 000000a8 00000168 24 8 8 8 +[ 8] .strtab STRTAB 0000000000000000 00000210 0000004b 0 0 0 1 + +EOF + +testfiles testfile-zgnu64be +testrun_compare ${abs_top_builddir}/src/readelf -z -S testfile-zgnu64be <<\EOF +There are 10 section headers, starting at offset 0x438: + +Section Headers: +[Nr] Name Type Addr Off Size ES Flags Lk Inf Al + [Compression Size Al] +[ 0] NULL 0000000000000000 00000000 00000000 0 0 0 0 +[ 1] .text PROGBITS 0000000010000078 00000078 00000074 0 AX 0 0 8 +[ 2] .eh_frame PROGBITS 00000000100000ec 000000ec 00000000 0 A 0 0 4 +[ 3] .zdebug_aranges PROGBITS 0000000000000000 000002c0 00000034 0 0 0 16 + [GNU ZLIB 00000060 ] +[ 4] .zdebug_info PROGBITS 0000000000000000 000002f4 00000059 0 0 0 1 + [GNU ZLIB 0000007e ] +[ 5] .debug_abbrev PROGBITS 0000000000000000 0000034d 00000028 0 0 0 1 +[ 6] .zdebug_line PROGBITS 0000000000000000 00000375 0000005b 0 0 0 1 + [GNU ZLIB 0000008d ] +[ 7] .shstrtab STRTAB 0000000000000000 000003d0 00000063 0 0 0 1 +[ 8] .symtab SYMTAB 0000000000000000 000000f0 00000180 24 9 9 8 +[ 9] .strtab STRTAB 0000000000000000 00000270 00000044 0 0 0 1 + +EOF + +testfiles testfile-zgabi64 +testrun_compare ${abs_top_builddir}/src/readelf -z -S testfile-zgabi64 <<\EOF +There are 9 section headers, starting at offset 0x400: + +Section Headers: +[Nr] Name Type Addr Off Size ES Flags Lk Inf Al + [Compression Size Al] +[ 0] NULL 0000000000000000 00000000 00000000 0 0 0 0 +[ 1] .text PROGBITS 0000000000400078 00000078 0000002a 0 AX 0 0 1 +[ 2] .debug_aranges PROGBITS 0000000000000000 00000260 0000003e 0 C 0 0 16 + [ELF ZLIB (1) 00000060 16] +[ 3] .debug_info PROGBITS 0000000000000000 0000029e 0000007b 0 C 0 0 1 + [ELF ZLIB (1) 000000aa 1] +[ 4] .debug_abbrev PROGBITS 0000000000000000 00000319 00000028 0 0 0 1 +[ 5] .debug_line PROGBITS 0000000000000000 00000341 00000067 0 C 0 0 1 + [ELF ZLIB (1) 0000008d 1] +[ 6] .shstrtab STRTAB 0000000000000000 000003a8 00000056 0 0 0 1 +[ 7] .symtab SYMTAB 0000000000000000 000000a8 00000168 24 8 8 8 +[ 8] .strtab STRTAB 0000000000000000 00000210 0000004b 0 0 0 1 + +EOF + +testfiles testfile-zgabi64be +testrun_compare ${abs_top_builddir}/src/readelf -z -S testfile-zgabi64be <<\EOF +There are 10 section headers, starting at offset 0x458: + +Section Headers: +[Nr] Name Type Addr Off Size ES Flags Lk Inf Al + [Compression Size Al] +[ 0] NULL 0000000000000000 00000000 00000000 0 0 0 0 +[ 1] .text PROGBITS 0000000010000078 00000078 00000074 0 AX 0 0 8 +[ 2] .eh_frame PROGBITS 00000000100000ec 000000ec 00000000 0 A 0 0 4 +[ 3] .debug_aranges PROGBITS 0000000000000000 000002c0 00000040 0 C 0 0 16 + [ELF ZLIB (1) 00000060 16] +[ 4] .debug_info PROGBITS 0000000000000000 00000300 00000065 0 C 0 0 1 + [ELF ZLIB (1) 0000007e 1] +[ 5] .debug_abbrev PROGBITS 0000000000000000 00000365 00000028 0 0 0 1 +[ 6] .debug_line PROGBITS 0000000000000000 0000038d 00000067 0 C 0 0 1 + [ELF ZLIB (1) 0000008d 1] +[ 7] .shstrtab STRTAB 0000000000000000 000003f4 00000060 0 0 0 1 +[ 8] .symtab SYMTAB 0000000000000000 000000f0 00000180 24 9 9 8 +[ 9] .strtab STRTAB 0000000000000000 00000270 00000044 0 0 0 1 + +EOF + +testfiles testfile-zgnu32 +testrun_compare ${abs_top_builddir}/src/readelf -z -S testfile-zgnu32 <<\EOF +There are 9 section headers, starting at offset 0x33c: + +Section Headers: +[Nr] Name Type Addr Off Size ES Flags Lk Inf Al + [Compression Size Al] +[ 0] NULL 00000000 000000 000000 0 0 0 0 +[ 1] .text PROGBITS 08048054 000054 00002a 0 AX 0 0 1 +[ 2] .zdebug_aranges PROGBITS 00000000 0001c0 000031 0 0 0 8 + [GNU ZLIB 000040 ] +[ 3] .zdebug_info PROGBITS 00000000 0001f1 00006f 0 0 0 1 + [GNU ZLIB 00009a ] +[ 4] .debug_abbrev PROGBITS 00000000 000260 000028 0 0 0 1 +[ 5] .zdebug_line PROGBITS 00000000 000288 00005a 0 0 0 1 + [GNU ZLIB 000085 ] +[ 6] .shstrtab STRTAB 00000000 0002e2 000059 0 0 0 1 +[ 7] .symtab SYMTAB 00000000 000080 0000f0 16 8 8 4 +[ 8] .strtab STRTAB 00000000 000170 00004b 0 0 0 1 + +EOF + +testfiles testfile-zgnu32be +testrun_compare ${abs_top_builddir}/src/readelf -z -S testfile-zgnu32be <<\EOF +There are 10 section headers, starting at offset 0x390: + +Section Headers: +[Nr] Name Type Addr Off Size ES Flags Lk Inf Al + [Compression Size Al] +[ 0] NULL 00000000 000000 000000 0 0 0 0 +[ 1] .text PROGBITS 01800054 000054 000074 0 AX 0 0 1 +[ 2] .eh_frame PROGBITS 018000c8 0000c8 000000 0 A 0 0 4 +[ 3] .zdebug_aranges PROGBITS 00000000 000220 000033 0 0 0 8 + [GNU ZLIB 000040 ] +[ 4] .zdebug_info PROGBITS 00000000 000253 000058 0 0 0 1 + [GNU ZLIB 00006e ] +[ 5] .debug_abbrev PROGBITS 00000000 0002ab 000028 0 0 0 1 +[ 6] .zdebug_line PROGBITS 00000000 0002d3 000059 0 0 0 1 + [GNU ZLIB 000085 ] +[ 7] .shstrtab STRTAB 00000000 00032c 000063 0 0 0 1 +[ 8] .symtab SYMTAB 00000000 0000c8 000110 16 9 9 4 +[ 9] .strtab STRTAB 00000000 0001d8 000045 0 0 0 1 + +EOF + +testfiles testfile-zgabi32 +testrun_compare ${abs_top_builddir}/src/readelf -z -S testfile-zgabi32 <<\EOF +There are 9 section headers, starting at offset 0x338: + +Section Headers: +[Nr] Name Type Addr Off Size ES Flags Lk Inf Al + [Compression Size Al] +[ 0] NULL 00000000 000000 000000 0 0 0 0 +[ 1] .text PROGBITS 08048054 000054 00002a 0 AX 0 0 1 +[ 2] .debug_aranges PROGBITS 00000000 0001c0 000031 0 C 0 0 8 + [ELF ZLIB (1) 000040 8] +[ 3] .debug_info PROGBITS 00000000 0001f1 00006f 0 C 0 0 1 + [ELF ZLIB (1) 00009a 1] +[ 4] .debug_abbrev PROGBITS 00000000 000260 000028 0 0 0 1 +[ 5] .debug_line PROGBITS 00000000 000288 00005a 0 C 0 0 1 + [ELF ZLIB (1) 000085 1] +[ 6] .shstrtab STRTAB 00000000 0002e2 000056 0 0 0 1 +[ 7] .symtab SYMTAB 00000000 000080 0000f0 16 8 8 4 +[ 8] .strtab STRTAB 00000000 000170 00004b 0 0 0 1 + +EOF + +testfiles testfile-zgabi32be +testrun_compare ${abs_top_builddir}/src/readelf -z -S testfile-zgabi32be <<\EOF +There are 10 section headers, starting at offset 0x38c: + +Section Headers: +[Nr] Name Type Addr Off Size ES Flags Lk Inf Al + [Compression Size Al] +[ 0] NULL 00000000 000000 000000 0 0 0 0 +[ 1] .text PROGBITS 01800054 000054 000074 0 AX 0 0 1 +[ 2] .eh_frame PROGBITS 018000c8 0000c8 000000 0 A 0 0 4 +[ 3] .debug_aranges PROGBITS 00000000 000220 000033 0 C 0 0 8 + [ELF ZLIB (1) 000040 8] +[ 4] .debug_info PROGBITS 00000000 000253 000058 0 C 0 0 1 + [ELF ZLIB (1) 00006e 1] +[ 5] .debug_abbrev PROGBITS 00000000 0002ab 000028 0 0 0 1 +[ 6] .debug_line PROGBITS 00000000 0002d3 000059 0 C 0 0 1 + [ELF ZLIB (1) 000085 1] +[ 7] .shstrtab STRTAB 00000000 00032c 000060 0 0 0 1 +[ 8] .symtab SYMTAB 00000000 0000c8 000110 16 9 9 4 +[ 9] .strtab STRTAB 00000000 0001d8 000045 0 0 0 1 + +EOF + +exit 0 diff --git a/tests/run-readelf-zdebug-rel.sh b/tests/run-readelf-zdebug-rel.sh new file mode 100755 index 00000000..88ea5bf2 --- /dev/null +++ b/tests/run-readelf-zdebug-rel.sh @@ -0,0 +1,144 @@ +#! /bin/sh +# Copyright (C) 2015 Red Hat, Inc. +# This file is part of elfutils. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# elfutils is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +. $srcdir/test-subr.sh + +# - testfile-zdebug-rel.c +# #define UINT64_MAX 18446744073709551615UL +# +# int +# main (int argc, char **argv) +# { +# unsigned long a = UINT64_MAX - 8; +# unsigned long b = 42 + argc; +# +# if ( a + b < b ) +# argc = a + argc; +# else +# b--; +# +# return a - b; +# } +# +# gcc -Og -g -Xassembler --compress-debug-sections=none \ +# -c -o testfile-debug-rel.o testfile-zdebug-rel.c +# gcc -Og -g -Xassembler --compress-debug-sections=zlib-gnu \ +# -c -o testfile-debug-rel-g.o testfile-zdebug-rel.c +# gcc -Og -g -Xassembler --compress-debug-sections=zlib-gabi \ +# -c -o testfile-debug-rel-z.o testfile-zdebug-rel.c + +testfiles testfile-debug-rel.o testfile-debug-rel-g.o testfile-debug-rel-z.o +tempfiles readelf.out +tempfiles info.out loc.out + +cat > info.out << \EOF + +DWARF section [ 4] '.debug_info' at offset 0x58: + [Offset] + Compilation unit at offset 0: + Version: 4, Abbreviation section offset: 0, Address size: 8, Offset size: 4 + [ b] compile_unit + producer (strp) "GNU C11 5.3.1 20151207 (Red Hat 5.3.1-2) -mtune=generic -march=x86-64 -g -Og" + language (data1) C99 (12) + name (strp) "testfile-zdebug-rel.c" + comp_dir (strp) "/tmp" + low_pc (addr) 000000000000000000 + high_pc (data8) 24 (0x0000000000000018) + stmt_list (sec_offset) 0 + [ 2d] subprogram + external (flag_present) + name (strp) "main" + decl_file (data1) 1 + decl_line (data1) 4 + prototyped (flag_present) + type (ref4) [ 80] + low_pc (addr) 000000000000000000 + high_pc (data8) 24 (0x0000000000000018) + frame_base (exprloc) + [ 0] call_frame_cfa + GNU_all_call_sites (flag_present) + sibling (ref4) [ 80] + [ 4e] formal_parameter + name (strp) "argc" + decl_file (data1) 1 + decl_line (data1) 4 + type (ref4) [ 80] + location (sec_offset) location list [ 0] + [ 5d] formal_parameter + name (strp) "argv" + decl_file (data1) 1 + decl_line (data1) 4 + type (ref4) [ 87] + location (exprloc) + [ 0] reg4 + [ 6a] variable + name (string) "a" + decl_file (data1) 1 + decl_line (data1) 6 + type (ref4) [ 9a] + const_value (sdata) -9 + [ 74] variable + name (string) "b" + decl_file (data1) 1 + decl_line (data1) 7 + type (ref4) [ 9a] + location (exprloc) + [ 0] reg5 + [ 80] base_type + byte_size (data1) 4 + encoding (data1) signed (5) + name (string) "int" + [ 87] pointer_type + byte_size (data1) 8 + type (ref4) [ 8d] + [ 8d] pointer_type + byte_size (data1) 8 + type (ref4) [ 93] + [ 93] base_type + byte_size (data1) 1 + encoding (data1) signed_char (6) + name (strp) "char" + [ 9a] base_type + byte_size (data1) 8 + encoding (data1) unsigned (7) + name (strp) "long unsigned int" +EOF + +cat info.out | testrun_compare ${abs_top_builddir}/src/readelf -U --debug-dump=info testfile-debug-rel.o + +cat info.out | sed -e "s/'.debug_info'/'.zdebug_info'/" | testrun_compare ${abs_top_builddir}/src/readelf -U --debug-dump=info testfile-debug-rel-g.o + +cat info.out | testrun_compare ${abs_top_builddir}/src/readelf -U --debug-dump=info testfile-debug-rel-z.o + +cat > loc.out << \EOF + +DWARF section [ 7] '.debug_loc' at offset 0x185: + [ 0] 000000000000000000..0x0000000000000003 [ 0] reg5 + 0x0000000000000003..0x0000000000000010 [ 0] breg5 -42 + [ 2] stack_value + 0x0000000000000010..0x0000000000000018 [ 0] GNU_entry_value: + [ 0] reg5 + [ 3] stack_value +EOF + +cat loc.out | testrun_compare ${abs_top_builddir}/src/readelf -U --debug-dump=loc testfile-debug-rel.o + +cat loc.out | sed -e "s/'.debug_loc' at offset 0x185/'.zdebug_loc' at offset 0x138/" | testrun_compare ${abs_top_builddir}/src/readelf -U --debug-dump=loc testfile-debug-rel-g.o + +cat loc.out | sed -e "s/at offset 0x185/at offset 0x150/" | testrun_compare ${abs_top_builddir}/src/readelf -U --debug-dump=loc testfile-debug-rel-z.o + +exit 0 diff --git a/tests/run-readelf-zp.sh b/tests/run-readelf-zp.sh new file mode 100755 index 00000000..872126c5 --- /dev/null +++ b/tests/run-readelf-zp.sh @@ -0,0 +1,271 @@ +#! /bin/sh +# Copyright (C) 2015 Red Hat, Inc. +# This file is part of elfutils. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# elfutils is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +. $srcdir/test-subr.sh + +# See run-readelf-zdebug.sh for testfile. + +testfiles testfile-zdebug +testrun_compare ${abs_top_builddir}/src/readelf -z -p.zdebug_str testfile-zdebug <<\EOF + +String section [35] '.zdebug_str' contains 2431 bytes (6433 uncompressed) at offset 0x1da3: + [ 0] UINT64_MAX 18446744073709551615UL + [ 22] __DBL_DENORM_MIN__ ((double)4.94065645841246544177e-324L) + [ 5c] __linux 1 + [ 66] __SIZEOF_SIZE_T__ 8 + [ 7a] __UINTPTR_TYPE__ long unsigned int + [ 9d] __SIZEOF_POINTER__ 8 + [ b2] __UINT8_MAX__ 255 + [ c4] __PTRDIFF_MAX__ 9223372036854775807L + [ e9] __DEC64_MANT_DIG__ 16 + [ ff] __FLT_RADIX__ 2 + [ 10f] __DEC32_MIN__ 1E-95DF + [ 125] __unix__ 1 + [ 130] testfile-zdebug.c + [ 142] __UINT_LEAST64_MAX__ 18446744073709551615UL + [ 16e] __SIZEOF_WINT_T__ 4 + [ 182] __LONG_MAX__ 9223372036854775807L + [ 1a4] __LDBL_MIN__ 3.36210314311209350626e-4932L + [ 1cf] __GCC_ATOMIC_SHORT_LOCK_FREE 2 + [ 1ee] __LP64__ 1 + [ 1f9] __UINT64_C(c) c ## UL + [ 20f] __DBL_HAS_INFINITY__ 1 + [ 226] __SSE2_MATH__ 1 + [ 236] __linux__ 1 + [ 242] __STDC_HOSTED__ 1 + [ 254] __WINT_MIN__ 0U + [ 264] __x86_64__ 1 + [ 271] __UINT32_TYPE__ unsigned int + [ 28e] __UINT_LEAST8_MAX__ 255 + [ 2a6] __DEC64_SUBNORMAL_MIN__ 0.000000000000001E-383DD + [ 2d7] __FLT_MAX__ 3.40282346638528859812e+38F + [ 2ff] long unsigned int + [ 311] __DBL_MANT_DIG__ 53 + [ 325] linux 1 + [ 32d] __DBL_HAS_QUIET_NAN__ 1 + [ 345] __UINT8_TYPE__ unsigned char + [ 362] __DEC32_MAX_EXP__ 97 + [ 377] __INT32_TYPE__ int + [ 38a] __SIG_ATOMIC_TYPE__ int + [ 3a2] __DEC64_MAX_EXP__ 385 + [ 3b8] __DBL_MIN_EXP__ (-1021) + [ 3d0] _LP64 1 + [ 3d8] __LDBL_HAS_INFINITY__ 1 + [ 3f0] __INT_FAST64_TYPE__ long int + [ 40d] __gnu_linux__ 1 + [ 41d] __GCC_ATOMIC_WCHAR_T_LOCK_FREE 2 + [ 43e] __UINT_FAST64_TYPE__ long unsigned int + [ 465] __BYTE_ORDER__ __ORDER_LITTLE_ENDIAN__ + [ 48c] __UINT16_MAX__ 65535 + [ 4a1] __FLOAT_WORD_ORDER__ __ORDER_LITTLE_ENDIAN__ + [ 4ce] __PRAGMA_REDEFINE_EXTNAME 1 + [ 4ea] __INT_LEAST16_TYPE__ short int + [ 509] __k8__ 1 + [ 512] __DECIMAL_DIG__ 21 + [ 525] main + [ 52a] __DBL_MAX__ ((double)1.79769313486231570815e+308L) + [ 55d] __INT16_TYPE__ short int + [ 576] __LDBL_HAS_QUIET_NAN__ 1 + [ 58f] __SIZEOF_DOUBLE__ 8 + [ 5a3] __DEC32_SUBNORMAL_MIN__ 0.000001E-95DF + [ 5ca] __ATOMIC_SEQ_CST 5 + [ 5dd] __UINT64_TYPE__ long unsigned int + [ 5ff] __INT_LEAST32_TYPE__ int + [ 618] __INT_LEAST64_MAX__ 9223372036854775807L + [ 641] __OPTIMIZE__ 1 + [ 650] __INTMAX_C(c) c ## L + [ 665] __GCC_ATOMIC_CHAR32_T_LOCK_FREE 2 + [ 687] __INT_FAST8_MAX__ 127 + [ 69d] __PTRDIFF_TYPE__ long int + [ 6b7] __LDBL_MIN_EXP__ (-16381) + [ 6d1] __SIZEOF_LONG_LONG__ 8 + [ 6e8] __FLT_DIG__ 6 + [ 6f6] __UINTMAX_MAX__ 18446744073709551615UL + [ 71d] __SIZEOF_WCHAR_T__ 4 + [ 732] __INT64_C(c) c ## L + [ 746] __UINTPTR_MAX__ 18446744073709551615UL + [ 76d] __FLT_MAX_10_EXP__ 38 + [ 783] __FLT_MIN__ 1.17549435082228750797e-38F + [ 7ab] __UINT_LEAST64_TYPE__ long unsigned int + [ 7d3] __SIZEOF_LONG_DOUBLE__ 16 + [ 7ed] __SIZE_MAX__ 18446744073709551615UL + [ 811] __INT8_C(c) c + [ 81f] __amd64__ 1 + [ 82b] __INT_LEAST64_TYPE__ long int + [ 849] __INT_FAST64_MAX__ 9223372036854775807L + [ 871] __DEC_EVAL_METHOD__ 2 + [ 887] __DEC32_MAX__ 9.999999E96DF + [ 8a3] __GNUC_MINOR__ 8 + [ 8b4] __WCHAR_MAX__ 2147483647 + [ 8cd] __SIZE_TYPE__ long unsigned int + [ 8ed] __INT8_MAX__ 127 + [ 8fe] __INTMAX_MAX__ 9223372036854775807L + [ 922] __ATOMIC_HLE_RELEASE 131072 + [ 93e] __FLT_HAS_QUIET_NAN__ 1 + [ 956] __DBL_EPSILON__ ((double)2.22044604925031308085e-16L) + [ 98c] __FLT_MIN_EXP__ (-125) + [ 9a3] __INT_LEAST8_MAX__ 127 + [ 9ba] __SIZEOF_INT128__ 16 + [ 9cf] __INTPTR_MAX__ 9223372036854775807L + [ 9f3] __INTPTR_TYPE__ long int + [ a0c] __LDBL_MIN_10_EXP__ (-4931) + [ a28] __GCC_ATOMIC_POINTER_LOCK_FREE 2 + [ a49] __UINT_LEAST32_MAX__ 4294967295U + [ a6a] __SIZEOF_SHORT__ 2 + [ a7d] __LDBL_MAX_10_EXP__ 4932 + [ a96] __INT16_C(c) c + [ aa5] __MMX__ 1 + [ aaf] unix 1 + [ ab6] __FLT_MAX_EXP__ 128 + [ aca] __DEC64_MAX__ 9.999999999999999E384DD + [ af0] __FLT_EPSILON__ 1.19209289550781250000e-7F + [ b1b] __INT_FAST16_TYPE__ long int + [ b38] __VERSION__ "4.8.2 20140120 (Red Hat 4.8.2-15)" + [ b68] __GCC_ATOMIC_LLONG_LOCK_FREE 2 + [ b87] __DEC128_MIN_EXP__ (-6142) + [ ba2] __ATOMIC_RELEASE 3 + [ bb5] __GNUC_PATCHLEVEL__ 2 + [ bcb] __UINT_FAST64_MAX__ 18446744073709551615UL + [ bf6] __DBL_DECIMAL_DIG__ 17 + [ c0d] __DBL_DIG__ 15 + [ c1c] __FLT_MANT_DIG__ 24 + [ c30] __FLT_DECIMAL_DIG__ 9 + [ c46] __INT16_MAX__ 32767 + [ c5a] __DEC128_MIN__ 1E-6143DL + [ c73] __BIGGEST_ALIGNMENT__ 16 + [ c8c] __INT64_MAX__ 9223372036854775807L + [ caf] __INT_FAST32_TYPE__ long int + [ ccc] __GCC_ATOMIC_INT_LOCK_FREE 2 + [ ce9] __DEC128_MAX_EXP__ 6145 + [ d01] __GCC_HAVE_SYNC_COMPARE_AND_SWAP_4 1 + [ d26] __FXSR__ 1 + [ d31] __INT8_TYPE__ signed char + [ d4b] __ATOMIC_ACQ_REL 4 + [ d5e] __UINT_LEAST16_MAX__ 65535 + [ d79] __UINTMAX_TYPE__ long unsigned int + [ d9c] __UINT_FAST8_MAX__ 255 + [ db3] __ORDER_BIG_ENDIAN__ 4321 + [ dcd] __INT_LEAST32_MAX__ 2147483647 + [ dec] __UINT_LEAST16_TYPE__ short unsigned int + [ e15] __INT_FAST8_TYPE__ signed char + [ e34] __DBL_MAX_EXP__ 1024 + [ e49] __STDC__ 1 + [ e54] __ELF__ 1 + [ e5e] __FLT_EVAL_METHOD__ 0 + [ e74] __ATOMIC_ACQUIRE 2 + [ e87] __DEC64_EPSILON__ 1E-15DD + [ ea1] __INT32_MAX__ 2147483647 + [ eba] __GCC_ATOMIC_CHAR_LOCK_FREE 2 + [ ed8] __DEC128_EPSILON__ 1E-33DL + [ ef3] __UINT_FAST8_TYPE__ unsigned char + [ f15] __amd64 1 + [ f1f] __DEC32_MIN_EXP__ (-94) + [ f37] __GCC_HAVE_DWARF2_CFI_ASM 1 + [ f53] __LDBL_DIG__ 18 + [ f63] __UINT32_MAX__ 4294967295U + [ f7e] __GNUC_GNU_INLINE__ 1 + [ f94] __SSE2__ 1 + [ f9f] __ATOMIC_HLE_ACQUIRE 65536 + [ fba] __SSE_MATH__ 1 + [ fc9] __INT_FAST16_MAX__ 9223372036854775807L + [ ff1] __LDBL_MAX__ 1.18973149535723176502e+4932L + [ 101c] __DBL_MIN__ ((double)2.22507385850720138309e-308L) + [ 104f] __DEC128_MANT_DIG__ 34 + [ 1066] __INT32_C(c) c + [ 1075] __DEC64_MIN_EXP__ (-382) + [ 108e] __WCHAR_MIN__ (-__WCHAR_MAX__ - 1) + [ 10b1] __GCC_ATOMIC_CHAR16_T_LOCK_FREE 2 + [ 10d3] __LDBL_MAX_EXP__ 16384 + [ 10ea] __DEC32_MANT_DIG__ 7 + [ 10ff] __DEC128_MAX__ 9.999999999999999999999999999999999E6144DL + [ 1139] __CHAR32_TYPE__ unsigned int + [ 1156] __INT_LEAST8_TYPE__ signed char + [ 1176] __UINT16_C(c) c + [ 1186] __GCC_ATOMIC_BOOL_LOCK_FREE 2 + [ 11a4] __SIZEOF_FLOAT__ 4 + [ 11b7] __GCC_HAVE_SYNC_COMPARE_AND_SWAP_8 1 + [ 11dc] __DBL_MAX_10_EXP__ 308 + [ 11f3] __LDBL_EPSILON__ 1.08420217248550443401e-19L + [ 1220] __ORDER_PDP_ENDIAN__ 3412 + [ 123a] __ORDER_LITTLE_ENDIAN__ 1234 + [ 1257] __WINT_TYPE__ unsigned int + [ 1272] __unix 1 + [ 127b] __ATOMIC_RELAXED 0 + [ 128e] __UINT_FAST32_MAX__ 18446744073709551615UL + [ 12b9] __INT_FAST32_MAX__ 9223372036854775807L + [ 12e1] __SIG_ATOMIC_MAX__ 2147483647 + [ 12ff] __UINT_FAST32_TYPE__ long unsigned int + [ 1326] __INT_MAX__ 2147483647 + [ 133d] __GXX_ABI_VERSION 1002 + [ 1354] __SIZEOF_INT__ 4 + [ 1365] char + [ 136a] __UINT_FAST16_TYPE__ long unsigned int + [ 1391] __LDBL_DENORM_MIN__ 3.64519953188247460253e-4951L + [ 13c3] __WINT_MAX__ 4294967295U + [ 13dc] __FLT_HAS_INFINITY__ 1 + [ 13f3] __SHRT_MAX__ 32767 + [ 1406] __INT_LEAST16_MAX__ 32767 + [ 1420] __LONG_LONG_MAX__ 9223372036854775807LL + [ 1448] __SIZEOF_LONG__ 8 + [ 145a] __INTMAX_TYPE__ long int + [ 1473] __LDBL_HAS_DENORM__ 1 + [ 1489] __code_model_small__ 1 + [ 14a0] __REGISTER_PREFIX__ + [ 14b5] __ATOMIC_CONSUME 1 + [ 14c8] __DEC128_SUBNORMAL_MIN__ 0.000000000000000000000000000000001E-6143DL + [ 150d] __GNUC__ 4 + [ 1518] __UINT16_TYPE__ short unsigned int + [ 153b] __SSE__ 1 + [ 1545] __UINT32_C(c) c ## U + [ 155a] __k8 1 + [ 1561] __UINTMAX_C(c) c ## UL + [ 1578] __GCC_HAVE_SYNC_COMPARE_AND_SWAP_2 1 + [ 159d] __SIZEOF_PTRDIFF_T__ 8 + [ 15b4] __CHAR_BIT__ 8 + [ 15c3] __SIG_ATOMIC_MIN__ (-__SIG_ATOMIC_MAX__ - 1) + [ 15f0] __DEC32_EPSILON__ 1E-6DF + [ 1609] __UINT_LEAST32_TYPE__ unsigned int + [ 162c] __DBL_HAS_DENORM__ 1 + [ 1641] /tmp + [ 1646] __LDBL_MANT_DIG__ 64 + [ 165b] __GCC_ATOMIC_LONG_LOCK_FREE 2 + [ 1679] __DECIMAL_BID_FORMAT__ 1 + [ 1692] __FLT_MIN_10_EXP__ (-37) + [ 16ab] __GCC_ATOMIC_TEST_AND_SET_TRUEVAL 1 + [ 16cf] __WCHAR_TYPE__ int + [ 16e2] __FINITE_MATH_ONLY__ 0 + [ 16f9] argc + [ 16fe] __USER_LABEL_PREFIX__ + [ 1715] __CHAR16_TYPE__ short unsigned int + [ 1738] __UINT64_MAX__ 18446744073709551615UL + [ 175e] __UINT8_C(c) c + [ 176d] __x86_64 1 + [ 1778] __UINT_LEAST8_TYPE__ unsigned char + [ 179b] __INT64_TYPE__ long int + [ 17b3] __GCC_HAVE_SYNC_COMPARE_AND_SWAP_1 1 + [ 17d8] argv + [ 17dd] __GNUC_RH_RELEASE__ 15 + [ 17f4] __UINT_FAST16_MAX__ 18446744073709551615UL + [ 181f] __FLT_HAS_DENORM__ 1 + [ 1834] __DEC64_MIN__ 1E-383DD + [ 184b] __DBL_MIN_10_EXP__ (-307) + [ 1865] __FLT_DENORM_MIN__ 1.40129846432481707092e-45F + [ 1894] GNU C 4.8.2 20140120 (Red Hat 4.8.2-15) -mtune=generic -march=x86-64 -g3 -O3 -fuse-ld=gold -fno-asynchronous-unwind-tables + [ 190f] __SCHAR_MAX__ 127 +EOF + +exit 0 diff --git a/tests/run-readelf-zx.sh b/tests/run-readelf-zx.sh new file mode 100755 index 00000000..994528c0 --- /dev/null +++ b/tests/run-readelf-zx.sh @@ -0,0 +1,66 @@ +#! /bin/sh +# Copyright (C) 2015 Red Hat, Inc. +# This file is part of elfutils. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# elfutils is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +. $srcdir/test-subr.sh + +# See run-elfgetchdr.sh for testfiles. + +testfiles testfile-zgnu64 +testrun_compare ${abs_top_builddir}/src/readelf -z -x.zdebug_aranges testfile-zgnu64 <<\EOF + +Hex dump of section [2] '.zdebug_aranges', 50 bytes (96 uncompressed) at offset 0x260: + 0x00000000 2c000000 02000000 00000800 00000000 ,............... + 0x00000010 78004000 00000000 14000000 00000000 x.@............. + 0x00000020 00000000 00000000 00000000 00000000 ................ + 0x00000030 2c000000 02005500 00000800 00000000 ,.....U......... + 0x00000040 8c004000 00000000 16000000 00000000 ..@............. + 0x00000050 00000000 00000000 00000000 00000000 ................ +EOF + +testfiles testfile-zgabi64 +testrun_compare ${abs_top_builddir}/src/readelf -z -x.debug_aranges testfile-zgabi64 <<\EOF + +Hex dump of section [2] '.debug_aranges', 62 bytes (96 uncompressed) at offset 0x260: + 0x00000000 2c000000 02000000 00000800 00000000 ,............... + 0x00000010 78004000 00000000 14000000 00000000 x.@............. + 0x00000020 00000000 00000000 00000000 00000000 ................ + 0x00000030 2c000000 02005500 00000800 00000000 ,.....U......... + 0x00000040 8c004000 00000000 16000000 00000000 ..@............. + 0x00000050 00000000 00000000 00000000 00000000 ................ +EOF + +testfiles testfile-zgnu32 +testrun_compare ${abs_top_builddir}/src/readelf -z -x.zdebug_aranges testfile-zgnu32 <<\EOF + +Hex dump of section [2] '.zdebug_aranges', 49 bytes (64 uncompressed) at offset 0x1c0: + 0x00000000 1c000000 02000000 00000400 00000000 ................ + 0x00000010 54800408 14000000 00000000 00000000 T............... + 0x00000020 1c000000 02004d00 00000400 00000000 ......M......... + 0x00000030 68800408 16000000 00000000 00000000 h............... +EOF + +testfiles testfile-zgabi32 +testrun_compare ${abs_top_builddir}/src/readelf -z -x.debug_aranges testfile-zgabi32 <<\EOF + +Hex dump of section [2] '.debug_aranges', 49 bytes (64 uncompressed) at offset 0x1c0: + 0x00000000 1c000000 02000000 00000400 00000000 ................ + 0x00000010 54800408 14000000 00000000 00000000 T............... + 0x00000020 1c000000 02004d00 00000400 00000000 ......M......... + 0x00000030 68800408 16000000 00000000 00000000 h............... +EOF + +exit 0 diff --git a/tests/run-zstrptr.sh b/tests/run-zstrptr.sh new file mode 100755 index 00000000..254dcd85 --- /dev/null +++ b/tests/run-zstrptr.sh @@ -0,0 +1,167 @@ +#! /bin/sh +# Copyright (C) 2015 Red Hat, Inc. +# This file is part of elfutils. +# +# This file is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 3 of the License, or +# (at your option) any later version. +# +# elfutils is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +. $srcdir/test-subr.sh + +# A random 32bit and 64bit testfile +testfiles testfile testfile10 + +testrun_compare ${abs_top_builddir}/tests/zstrptr testfile <<\EOF +Strings in section 32 (compressed): +[0] '' +[1] '.symtab' +[9] '.strtab' +[11] '.shstrtab' +[1b] '.interp' +[23] '.note.ABI-tag' +[31] '.hash' +[37] '.dynsym' +[3f] '.dynstr' +[47] '.gnu.version' +[54] '.gnu.version_r' +[63] '.rel.got' +[6c] '.rel.plt' +[75] '.init' +[7b] '.plt' +[80] '.text' +[86] '.fini' +[8c] '.rodata' +[94] '.data' +[9a] '.eh_frame' +[a4] '.ctors' +[ab] '.dtors' +[b2] '.got' +[b7] '.dynamic' +[c0] '.sbss' +[c6] '.bss' +[cb] '.stab' +[d1] '.stabstr' +[da] '.comment' +[e3] '.debug_aranges' +[f2] '.debug_pubnames' +[102] '.debug_info' +[10e] '.debug_abbrev' +[11c] '.debug_line' +[128] '.note' +Strings in section 32 (uncompressed): +[0] '' +[1] '.symtab' +[9] '.strtab' +[11] '.shstrtab' +[1b] '.interp' +[23] '.note.ABI-tag' +[31] '.hash' +[37] '.dynsym' +[3f] '.dynstr' +[47] '.gnu.version' +[54] '.gnu.version_r' +[63] '.rel.got' +[6c] '.rel.plt' +[75] '.init' +[7b] '.plt' +[80] '.text' +[86] '.fini' +[8c] '.rodata' +[94] '.data' +[9a] '.eh_frame' +[a4] '.ctors' +[ab] '.dtors' +[b2] '.got' +[b7] '.dynamic' +[c0] '.sbss' +[c6] '.bss' +[cb] '.stab' +[d1] '.stabstr' +[da] '.comment' +[e3] '.debug_aranges' +[f2] '.debug_pubnames' +[102] '.debug_info' +[10e] '.debug_abbrev' +[11c] '.debug_line' +[128] '.note' +EOF + +testrun_compare ${abs_top_builddir}/tests/zstrptr testfile10 <<\EOF +Strings in section 30 (compressed): +[0] '' +[1] '.symtab' +[9] '.strtab' +[11] '.shstrtab' +[1b] '.hash' +[21] '.dynsym' +[29] '.dynstr' +[31] '.gnu.version' +[3e] '.gnu.version_r' +[4d] '.rela.dyn' +[57] '.init' +[5d] '.text' +[63] '.fini' +[69] '.eh_frame' +[73] '.data' +[79] '.dynamic' +[82] '.ctors' +[89] '.dtors' +[90] '.jcr' +[95] '.plt' +[9a] '.got' +[9f] '.sdata' +[a6] '.sbss' +[ac] '.bss' +[b1] '.comment' +[ba] '.debug_aranges' +[c9] '.debug_pubnames' +[d9] '.debug_abbrev' +[e7] '.debug_line' +[f3] '.debug_frame' +[100] '.debug_str' +[10b] '.rela.debug_info' +Strings in section 30 (uncompressed): +[0] '' +[1] '.symtab' +[9] '.strtab' +[11] '.shstrtab' +[1b] '.hash' +[21] '.dynsym' +[29] '.dynstr' +[31] '.gnu.version' +[3e] '.gnu.version_r' +[4d] '.rela.dyn' +[57] '.init' +[5d] '.text' +[63] '.fini' +[69] '.eh_frame' +[73] '.data' +[79] '.dynamic' +[82] '.ctors' +[89] '.dtors' +[90] '.jcr' +[95] '.plt' +[9a] '.got' +[9f] '.sdata' +[a6] '.sbss' +[ac] '.bss' +[b1] '.comment' +[ba] '.debug_aranges' +[c9] '.debug_pubnames' +[d9] '.debug_abbrev' +[e7] '.debug_line' +[f3] '.debug_frame' +[100] '.debug_str' +[10b] '.rela.debug_info' +EOF + +exit 0 diff --git a/tests/system-elf-libelf-test.c b/tests/system-elf-libelf-test.c new file mode 100644 index 00000000..7dfe4989 --- /dev/null +++ b/tests/system-elf-libelf-test.c @@ -0,0 +1,35 @@ +/* Explicit test compiling with system elf.h header plus libelf header. + + Copyright (C) 2016 Red Hat, Inc. + This file is part of elfutils. + + This file is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + elfutils is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#include <elf.h> +#include <stddef.h> +#include "../libelf/libelf.h" + +int +main (void) +{ + /* Trivial test, this is really a compile test anyway. */ + if (elf_version (EV_CURRENT) == EV_NONE) + return -1; + + /* This will obviously fail. It is just to check that Elf32_Chdr and + elf32_getchdr are available (both at compile time and runtime). */ + Elf32_Chdr *chdr = elf32_getchdr (NULL); + + return chdr == NULL ? 0 : -1; +} diff --git a/tests/testfile-debug-rel-g.o.bz2 b/tests/testfile-debug-rel-g.o.bz2 Binary files differnew file mode 100644 index 00000000..b8c94e7e --- /dev/null +++ b/tests/testfile-debug-rel-g.o.bz2 diff --git a/tests/testfile-debug-rel-z.o.bz2 b/tests/testfile-debug-rel-z.o.bz2 Binary files differnew file mode 100644 index 00000000..1cdac790 --- /dev/null +++ b/tests/testfile-debug-rel-z.o.bz2 diff --git a/tests/testfile-debug-rel.o.bz2 b/tests/testfile-debug-rel.o.bz2 Binary files differnew file mode 100644 index 00000000..a3f8dffa --- /dev/null +++ b/tests/testfile-debug-rel.o.bz2 diff --git a/tests/testfile-zgabi32.bz2 b/tests/testfile-zgabi32.bz2 Binary files differnew file mode 100755 index 00000000..6159dbce --- /dev/null +++ b/tests/testfile-zgabi32.bz2 diff --git a/tests/testfile-zgabi32be.bz2 b/tests/testfile-zgabi32be.bz2 Binary files differnew file mode 100755 index 00000000..f1f5eb5c --- /dev/null +++ b/tests/testfile-zgabi32be.bz2 diff --git a/tests/testfile-zgabi64.bz2 b/tests/testfile-zgabi64.bz2 Binary files differnew file mode 100755 index 00000000..3b44f089 --- /dev/null +++ b/tests/testfile-zgabi64.bz2 diff --git a/tests/testfile-zgabi64be.bz2 b/tests/testfile-zgabi64be.bz2 Binary files differnew file mode 100755 index 00000000..d819ae3d --- /dev/null +++ b/tests/testfile-zgabi64be.bz2 diff --git a/tests/testfile-zgnu32.bz2 b/tests/testfile-zgnu32.bz2 Binary files differnew file mode 100755 index 00000000..9d622cad --- /dev/null +++ b/tests/testfile-zgnu32.bz2 diff --git a/tests/testfile-zgnu32be.bz2 b/tests/testfile-zgnu32be.bz2 Binary files differnew file mode 100755 index 00000000..c1dd589e --- /dev/null +++ b/tests/testfile-zgnu32be.bz2 diff --git a/tests/testfile-zgnu64.bz2 b/tests/testfile-zgnu64.bz2 Binary files differnew file mode 100755 index 00000000..1bc2c090 --- /dev/null +++ b/tests/testfile-zgnu64.bz2 diff --git a/tests/testfile-zgnu64be.bz2 b/tests/testfile-zgnu64be.bz2 Binary files differnew file mode 100755 index 00000000..390c9c90 --- /dev/null +++ b/tests/testfile-zgnu64be.bz2 diff --git a/tests/zstrptr.c b/tests/zstrptr.c new file mode 100644 index 00000000..6d8e19f7 --- /dev/null +++ b/tests/zstrptr.c @@ -0,0 +1,124 @@ +/* Test program for elf_strptr function. + Copyright (C) 2015 Red Hat, Inc. + This file is part of elfutils. + + This file is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + + elfutils is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see <http://www.gnu.org/licenses/>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <errno.h> +#include <fcntl.h> +#include <inttypes.h> +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <unistd.h> + +#include ELFUTILS_HEADER(elf) +#include <gelf.h> + +int +main (int argc, char *argv[]) +{ + if (argc != 2) + { + printf ("No ELF file given as argument"); + exit (1); + } + + const char *fname = argv[1]; + + // Initialize libelf. + elf_version (EV_CURRENT); + + /* Read the ELF from disk now. */ + int fd = open (fname, O_RDONLY); + if (fd == -1) + { + printf ("cannot open `%s' read-only: %s\n", fname, strerror (errno)); + exit (1); + } + + Elf *elf = elf_begin (fd, ELF_C_READ, NULL); + if (elf == NULL) + { + printf ("cannot create ELF descriptor read-only: %s\n", elf_errmsg (-1)); + exit (1); + } + + size_t ndx; + if (elf_getshdrstrndx (elf, &ndx) != 0) + { + printf ("cannot get section header table index: %s\n", elf_errmsg (-1)); + exit (1); + } + + if (ndx == SHN_UNDEF) + { + printf ("ELF file `%s' doesn't have a section header table index", fname); + exit (1); + } + + Elf_Scn *scn = elf_getscn (elf, ndx); + if (scn == NULL) + { + printf ("Couldn't get section %zd: %s\n", ndx, elf_errmsg (-1)); + exit (1); + } + + void print_strings (void) + { + GElf_Shdr shdr_mem; + GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); + + printf ("Strings in section %zd (%s):\n", ndx, + ((shdr->sh_flags & SHF_COMPRESSED) != 0 + ? "compressed" : "uncompressed")); + + size_t off = 0; + const char *str = elf_strptr (elf, ndx, off); + while (str != NULL) + { + printf ("[%zx] '%s'\n", off, str); + off += strlen (str) + 1; + str = elf_strptr (elf, ndx, off); + } + } + + if (elf_compress (scn, ELFCOMPRESS_ZLIB, 0) < 0) + { + printf ("Couldn't compress section %zd: %s\n", ndx, elf_errmsg (-1)); + exit (1); + } + print_strings (); + + if (elf_compress (scn, 0, 0) < 0) + { + printf ("Couldn't decompress section %zd: %s\n", ndx, elf_errmsg (-1)); + exit (1); + } + print_strings (); + + if (elf_end (elf) != 0) + { + printf ("failure in elf_end: %s\n", elf_errmsg (-1)); + exit (1); + } + + close (fd); + + return 0; +} @@ -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))) |