[COMMITTED] Prepare 0.164 release.
by Mark Wielaard
Signed-off-by: Mark Wielaard <mjw(a)redhat.com>
---
ChangeLog | 5 +
NEWS | 21 ++
config/ChangeLog | 4 +
config/elfutils.spec.in | 14 ++
configure.ac | 2 +-
po/ChangeLog | 4 +
po/de.po | 512 +++++++++++++++++++++++-----------------------
po/es.po | 521 ++++++++++++++++++++++++-----------------------
po/ja.po | 512 +++++++++++++++++++++++-----------------------
po/pl.po | 525 +++++++++++++++++++++++++-----------------------
po/uk.po | 312 ++++++++++++++--------------
11 files changed, 1290 insertions(+), 1142 deletions(-)
diff --git a/ChangeLog b/ChangeLog
index 6133d11..db1b3b2 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2015-10-15 Mark Wielaard <mjw(a)redhat.com>
+
+ * configure.ac: Set version to 0.164.
+ * NEWS: Add 0.164 additions.
+
2015-10-07 Mark Wielaard <mjw(a)redhat.com>
* configure.ac: Add AM_SILENT_RULES([yes]).
diff --git a/NEWS b/NEWS
index e356c8f..6416a72 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,24 @@
+Version 0.164
+
+strip, unstrip: Handle ELF files with merged strtab/shstrtab tables.
+ Handle missing SHF_INFO_LINK section flags.
+
+libelf: Use int64_t for offsets in libelf.h instead of loff_t.
+
+libdw: dwarf.h Add preliminary DWARF5 DW_LANG_Haskell.
+
+libdwfl: dwfl_standard_find_debuginfo now searches any subdir of the binary
+ path under the debuginfo root when the separate debug file couldn't
+ be found by build-id.
+ dwfl_linux_proc_attach can now be called before any Dwfl_Modules
+ have been reported.
+
+backends: Better sparc and sparc64 support.
+
+translations: Updated Ukrainian translation.
+
+Provide default-yama-scope subpackage.
+
Version 0.163
Bug fixes only, no new features.
diff --git a/config/ChangeLog b/config/ChangeLog
index 77f9a11..428162f 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-15 Mark Wielaard <mjw(a)redhat.com>
+
+ * elfutils.spec.in: Update for 0.164.
+
2015-10-07 Mark Wielaard <mjw(a)redhat.com>
* eu.am (ARFLAGS): Set to "cr".
diff --git a/config/elfutils.spec.in b/config/elfutils.spec.in
index e5f6e29..b718f06 100644
--- a/config/elfutils.spec.in
+++ b/config/elfutils.spec.in
@@ -223,6 +223,20 @@ rm -rf ${RPM_BUILD_ROOT}
%config(noreplace) %{_sysctldir}/10-default-yama-scope.conf
%changelog
+* Thu Oct 15 2015 Mark Wielaard <mjw(a)redhat.com> 0.164-1
+- strip, unstrip: Handle ELF files with merged strtab/shstrtab
+ tables. Handle missing SHF_INFO_LINK section flags.
+- libelf: Use int64_t for offsets in libelf.h instead of loff_t.
+- libdw: dwarf.h Add preliminary DWARF5 DW_LANG_Haskell.
+- libdwfl: dwfl_standard_find_debuginfo now searches any subdir of
+ the binary path under the debuginfo root when the separate
+ debug file couldn't be found by build-id.
+ dwfl_linux_proc_attach can now be called before any Dwfl_Modules
+ have been reported.
+- backends: Better sparc and sparc64 support.
+- translations: Updated Ukrainian translation.
+- Provide default-yama-scope subpackage.
+
* Fri Jun 19 2015 Mark Wielaard <mjw(a)redhat.com> 0.163-1
- Bug fixes only, no new features.
diff --git a/configure.ac b/configure.ac
index 902def5..5d691c9 100644
--- a/configure.ac
+++ b/configure.ac
@@ -17,7 +17,7 @@ dnl GNU General Public License for more details.
dnl
dnl You should have received a copy of the GNU General Public License
dnl along with this program. If not, see <http://www.gnu.org/licenses/>.
-AC_INIT([elfutils],[0.163],[https://bugzilla.redhat.com/],[elfutils])
+AC_INIT([elfutils],[0.164],[https://bugzilla.redhat.com/],[elfutils])
AC_CONFIG_AUX_DIR([config])
AC_CONFIG_FILES([config/Makefile])
diff --git a/po/ChangeLog b/po/ChangeLog
index 51034e2..807ac6b 100644
--- a/po/ChangeLog
+++ b/po/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-15 Mark Wielaard <mjw(a)redhat.com>
+
+ * *.po: Update for 0.164.
+
2015-06-19 Mark Wielaard <mjw(a)redhat.com>
* *.po: Update for 0.163.
diff --git a/po/de.po b/po/de.po
index f5f828f..1794277 100644
--- a/po/de.po
+++ b/po/de.po
@@ -11,7 +11,7 @@ msgid ""
msgstr ""
"Project-Id-Version: elfutils VERSION\n"
"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-06-19 13:25+0200\n"
+"POT-Creation-Date: 2015-10-15 15:21+0200\n"
"PO-Revision-Date: 2009-06-29 15:15+0200\n"
"Last-Translator: Michael Münch <micm(a)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:54 lib/xmalloc.c:68 lib/xmalloc.c:82 src/readelf.c:3184
-#: src/readelf.c:3561 src/readelf.c:8309 src/unstrip.c:2126 src/unstrip.c:2331
+#: 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
#, c-format
msgid "memory exhausted"
msgstr "Kein Speicher mehr verfügbar"
@@ -92,7 +92,7 @@ msgstr "Fehler bei Datenausgabe"
msgid "no backend support available"
msgstr "keine Backend-Unterstützung verfügbar"
-#: libasm/asm_error.c:84 libdw/dwarf_error.c:59 libdwfl/libdwflP.h:54
+#: libasm/asm_error.c:83 libdw/dwarf_error.c:59 libdwfl/libdwflP.h:54
#: libelf/elf_error.c:63
msgid "unknown error"
msgstr "unbekannter Fehler"
@@ -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:2273
+#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2345
msgid "Input selection options:"
msgstr "Eingabeauswahloptionen:"
@@ -469,82 +469,82 @@ msgstr "ungültiger Parameter"
msgid "Not an ET_CORE ELF file"
msgstr "Ungültige ELF Datei"
-#: libebl/eblbackendname.c:42
+#: libebl/eblbackendname.c:41
msgid "No backend"
msgstr "Kein Backend"
-#: libebl/eblcorenotetypename.c:102 libebl/eblobjecttypename.c:57
-#: libebl/eblobjnotetypename.c:73 libebl/eblosabiname.c:77
-#: libebl/eblsectionname.c:89 libebl/eblsectiontypename.c:119
-#: libebl/eblsegmenttypename.c:83
+#: libebl/eblcorenotetypename.c:98 libebl/eblobjecttypename.c:53
+#: libebl/eblobjnotetypename.c:69 libebl/eblosabiname.c:73
+#: libebl/eblsectionname.c:83 libebl/eblsectiontypename.c:115
+#: libebl/eblsegmenttypename.c:79
msgid "<unknown>"
msgstr "<Unbekannt>"
-#: libebl/ebldynamictagname.c:105
+#: libebl/ebldynamictagname.c:101
#, c-format
msgid "<unknown>: %#<PRIx64>"
msgstr "<Unbekannt>: %#<PRIx64>"
-#: libebl/eblobjnote.c:56
+#: libebl/eblobjnote.c:52
#, fuzzy, c-format
msgid "unknown SDT version %u\n"
msgstr "unbekannte Version"
-#: libebl/eblobjnote.c:74
+#: libebl/eblobjnote.c:70
#, fuzzy, c-format
msgid "invalid SDT probe descriptor\n"
msgstr "ungültiger Datei-Deskriptor"
-#: libebl/eblobjnote.c:124
+#: libebl/eblobjnote.c:120
#, c-format
msgid " PC: "
msgstr ""
-#: libebl/eblobjnote.c:126
+#: libebl/eblobjnote.c:122
#, c-format
msgid " Base: "
msgstr ""
-#: libebl/eblobjnote.c:128
+#: libebl/eblobjnote.c:124
#, c-format
msgid " Semaphore: "
msgstr ""
-#: libebl/eblobjnote.c:130
+#: libebl/eblobjnote.c:126
#, c-format
msgid " Provider: "
msgstr ""
-#: libebl/eblobjnote.c:132
+#: libebl/eblobjnote.c:128
#, c-format
msgid " Name: "
msgstr ""
-#: libebl/eblobjnote.c:134
+#: libebl/eblobjnote.c:130
#, c-format
msgid " Args: "
msgstr ""
-#: libebl/eblobjnote.c:144
+#: libebl/eblobjnote.c:140
#, c-format
msgid " Build ID: "
msgstr " Build ID: "
-#: libebl/eblobjnote.c:155
+#: libebl/eblobjnote.c:151
#, c-format
msgid " Linker version: %.*s\n"
msgstr ""
-#: libebl/eblobjnote.c:216
+#: libebl/eblobjnote.c:212
#, c-format
msgid " OS: %s, ABI: "
msgstr " OS: %s, ABI: "
-#: libebl/eblosabiname.c:74
+#: libebl/eblosabiname.c:70
msgid "Stand alone"
msgstr ""
-#: libebl/eblsymbolbindingname.c:71 libebl/eblsymboltypename.c:77
+#: libebl/eblsymbolbindingname.c:67 libebl/eblsymboltypename.c:73
#, c-format
msgid "<unknown>: %d"
msgstr "<unbekannt>: %d"
@@ -653,7 +653,7 @@ 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:7963
+#: src/readelf.c:7783 src/readelf.c:7964
#, c-format
msgid "invalid data"
msgstr "Ungültige Daten"
@@ -752,7 +752,7 @@ msgid "Print all information on one line, and indent inlines"
msgstr ""
#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:99
-#: src/strings.c:75
+#: src/strings.c:79
msgid "Miscellaneous:"
msgstr "Verschiedenes:"
@@ -767,7 +767,7 @@ 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:226
+#: src/ranlib.c:124 src/readelf.c:500 src/size.c:207 src/strings.c:230
#: src/strip.c:218 src/unstrip.c:232
#, c-format
msgid ""
@@ -782,7 +782,7 @@ msgstr ""
#: 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:231
+#: src/ranlib.c:129 src/readelf.c:505 src/size.c:212 src/strings.c:235
#: src/strip.c:223 src/unstrip.c:237
#, c-format
msgid "Written by %s.\n"
@@ -1260,8 +1260,8 @@ 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:182 src/strip.c:466 src/strip.c:503 src/unstrip.c:1922
-#: src/unstrip.c:1951
+#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:1994
+#: src/unstrip.c:2023
#, c-format
msgid "cannot open '%s'"
msgstr "'%s' kann nicht geöffnet werden"
@@ -1276,7 +1276,7 @@ msgstr ""
msgid "cannot create EBL descriptor for '%s'"
msgstr ""
-#: src/elfcmp.c:757
+#: src/elfcmp.c:757 src/findtextrel.c:409
#, c-format
msgid "cannot get section header of section %zu: %s"
msgstr ""
@@ -1480,7 +1480,7 @@ msgstr ""
#: src/elflint.c:591 src/elflint.c:1470 src/elflint.c:1521 src/elflint.c:1627
#: src/elflint.c:1963 src/elflint.c:2279 src/elflint.c:2892 src/elflint.c:3055
-#: src/elflint.c:3203 src/elflint.c:3393 src/elflint.c:4297
+#: src/elflint.c:3203 src/elflint.c:3393 src/elflint.c:4335
#, c-format
msgid "section [%2d] '%s': cannot get section data\n"
msgstr ""
@@ -2240,9 +2240,9 @@ msgid "section [%2d] '%s': unknown section group flags\n"
msgstr ""
#: src/elflint.c:2688
-#, c-format
-msgid "section [%2d] '%s': section index %Zu out of range\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "section [%2d] '%s': section index %zu out of range\n"
+msgstr "konnte Abschnittsdaten nicht holen: %s"
#: src/elflint.c:2697
#, c-format
@@ -2257,7 +2257,7 @@ msgstr ""
#: src/elflint.c:2710
#, c-format
msgid ""
-"section [%2d] '%s': element %Zu references section [%2d] '%s' without "
+"section [%2d] '%s': element %zu references section [%2d] '%s' without "
"SHF_GROUP flag set\n"
msgstr ""
@@ -2698,290 +2698,308 @@ msgstr ""
#: src/elflint.c:3944
#, c-format
+msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n"
+msgstr ""
+
+#: src/elflint.c:3951
+#, c-format
msgid "section [%2zu] '%s' is both executable and writable\n"
msgstr ""
-#: src/elflint.c:3973
+#: src/elflint.c:3981
#, c-format
msgid ""
"section [%2zu] '%s' not fully contained in segment of program header entry "
"%d\n"
msgstr ""
-#: src/elflint.c:3981
+#: src/elflint.c:3991
#, 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:3990
+#: src/elflint.c:4017
+#, 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:4028
#, 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:4001
+#: src/elflint.c:4039
#, c-format
msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
msgstr ""
-#: src/elflint.c:4011
+#: src/elflint.c:4049
#, c-format
msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
msgstr ""
-#: src/elflint.c:4021
+#: src/elflint.c:4059
#, c-format
msgid ""
"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
msgstr ""
-#: src/elflint.c:4027
+#: src/elflint.c:4065
#, 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:4035
+#: src/elflint.c:4073
#, c-format
msgid ""
"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
msgstr ""
-#: src/elflint.c:4086
+#: src/elflint.c:4124
#, c-format
msgid "more than one version symbol table present\n"
msgstr ""
-#: src/elflint.c:4109
+#: src/elflint.c:4147
#, c-format
msgid "INTERP program header entry but no .interp section\n"
msgstr ""
-#: src/elflint.c:4120
+#: src/elflint.c:4158
#, c-format
msgid ""
"loadable segment [%u] is executable but contains no executable sections\n"
msgstr ""
-#: src/elflint.c:4126
+#: src/elflint.c:4164
#, c-format
msgid "loadable segment [%u] is writable but contains no writable sections\n"
msgstr ""
-#: src/elflint.c:4137
+#: src/elflint.c:4175
#, c-format
msgid ""
"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
"exist\n"
msgstr ""
-#: src/elflint.c:4150
+#: src/elflint.c:4188
#, c-format
msgid "duplicate version index %d\n"
msgstr ""
-#: src/elflint.c:4164
+#: src/elflint.c:4202
#, c-format
msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
msgstr ""
-#: src/elflint.c:4213
+#: src/elflint.c:4251
#, c-format
msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
msgstr ""
-#: src/elflint.c:4217
+#: src/elflint.c:4255
#, c-format
msgid ""
-"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %Zu\n"
+"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
msgstr ""
-#: src/elflint.c:4240
+#: src/elflint.c:4278
#, c-format
-msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %Zu\n"
+msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %zu\n"
msgstr ""
-#: src/elflint.c:4244
+#: src/elflint.c:4282
#, c-format
msgid ""
-"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %Zu\n"
+"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n"
msgstr ""
-#: src/elflint.c:4261
+#: src/elflint.c:4299
#, c-format
msgid "phdr[%d]: no note entries defined for the type of file\n"
msgstr ""
-#: src/elflint.c:4280
+#: src/elflint.c:4318
#, c-format
msgid "phdr[%d]: cannot get content of note section: %s\n"
msgstr ""
-#: src/elflint.c:4283
+#: src/elflint.c:4321
#, c-format
msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
msgstr ""
-#: src/elflint.c:4304
+#: src/elflint.c:4342
#, c-format
msgid "section [%2d] '%s': no note entries defined for the type of file\n"
msgstr ""
-#: src/elflint.c:4311
+#: src/elflint.c:4349
#, c-format
msgid "section [%2d] '%s': cannot get content of note section\n"
msgstr ""
-#: src/elflint.c:4314
+#: src/elflint.c:4352
#, c-format
msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
msgstr ""
-#: src/elflint.c:4332
+#: src/elflint.c:4370
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
msgstr ""
-#: src/elflint.c:4347
+#: src/elflint.c:4385
#, c-format
msgid "cannot get program header entry %d: %s\n"
msgstr ""
-#: src/elflint.c:4356
+#: src/elflint.c:4394
#, c-format
msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:4367
+#: src/elflint.c:4405
#, c-format
msgid "more than one INTERP entry in program header\n"
msgstr ""
-#: src/elflint.c:4375
+#: src/elflint.c:4413
#, c-format
msgid "more than one TLS entry in program header\n"
msgstr ""
-#: src/elflint.c:4382
+#: src/elflint.c:4420
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr ""
-#: src/elflint.c:4396
+#: src/elflint.c:4434
#, c-format
msgid "dynamic section reference in program header has wrong offset\n"
msgstr ""
-#: src/elflint.c:4399
+#: src/elflint.c:4437
#, c-format
msgid "dynamic section size mismatch in program and section header\n"
msgstr ""
-#: src/elflint.c:4409
+#: src/elflint.c:4447
#, c-format
msgid "more than one GNU_RELRO entry in program header\n"
msgstr ""
-#: src/elflint.c:4430
+#: src/elflint.c:4468
#, c-format
msgid "loadable segment GNU_RELRO applies to is not writable\n"
msgstr ""
-#: src/elflint.c:4433
+#: src/elflint.c:4479
#, c-format
msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
msgstr ""
-#: src/elflint.c:4441 src/elflint.c:4464
+#: src/elflint.c:4486
+#, c-format
+msgid ""
+"GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
+msgstr ""
+
+#: src/elflint.c:4495 src/elflint.c:4518
#, c-format
msgid "%s segment not contained in a loaded segment\n"
msgstr ""
-#: src/elflint.c:4470
+#: src/elflint.c:4524
#, c-format
msgid "program header offset in ELF header and PHDR entry do not match"
msgstr ""
-#: src/elflint.c:4495
+#: src/elflint.c:4549
#, c-format
msgid "call frame search table reference in program header has wrong offset\n"
msgstr ""
-#: src/elflint.c:4498
+#: src/elflint.c:4552
#, c-format
msgid "call frame search table size mismatch in program and section header\n"
msgstr ""
-#: src/elflint.c:4511
+#: src/elflint.c:4565
#, c-format
msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
msgstr ""
-#: src/elflint.c:4519
+#: src/elflint.c:4573
#, c-format
msgid "call frame search table must be allocated\n"
msgstr ""
-#: src/elflint.c:4522
+#: src/elflint.c:4576
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
msgstr ""
-#: src/elflint.c:4526
+#: src/elflint.c:4580
#, c-format
msgid "call frame search table must not be writable\n"
msgstr ""
-#: src/elflint.c:4529
+#: src/elflint.c:4583
#, c-format
msgid "section [%2zu] '%s' must not be writable\n"
msgstr ""
-#: src/elflint.c:4534
+#: src/elflint.c:4588
#, c-format
msgid "call frame search table must not be executable\n"
msgstr ""
-#: src/elflint.c:4537
+#: src/elflint.c:4591
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
msgstr ""
-#: src/elflint.c:4548
+#: src/elflint.c:4602
#, c-format
msgid "program header entry %d: file size greater than memory size\n"
msgstr ""
-#: src/elflint.c:4555
+#: src/elflint.c:4609
#, c-format
msgid "program header entry %d: alignment not a power of 2\n"
msgstr ""
-#: src/elflint.c:4558
+#: src/elflint.c:4612
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
"alignment\n"
msgstr ""
-#: src/elflint.c:4571
+#: src/elflint.c:4625
#, 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:4605
+#: src/elflint.c:4659
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr ""
-#: src/elflint.c:4631
+#: src/elflint.c:4685
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr ""
@@ -3003,7 +3021,7 @@ msgid "Locate source of text relocations in FILEs (a.out by default)."
msgstr ""
#: src/findtextrel.c:76 src/nm.c:107 src/objdump.c:71 src/size.c:83
-#: src/strings.c:84 src/strip.c:95
+#: src/strings.c:88 src/strip.c:95
msgid "[FILE...]"
msgstr ""
@@ -3047,11 +3065,6 @@ msgstr "konnte Programm-Kopf nicht erstellen: %s"
msgid "cannot get program header index at offset %zd: %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/findtextrel.c:409
-#, c-format
-msgid "cannot get section header of section %Zu: %s"
-msgstr ""
-
#: src/findtextrel.c:421
#, c-format
msgid "cannot get symbol table section %zu in '%s': %s"
@@ -3434,22 +3447,22 @@ msgstr "-) ohne Übereinstimmung -("
msgid "unknown option '-%c %s'"
msgstr "unbekannte Option '-%c %s'"
-#: src/ld.c:1136
+#: src/ld.c:1138
#, c-format
msgid "could not find input file to determine output file format"
msgstr ""
-#: src/ld.c:1138
+#: src/ld.c:1140
#, c-format
msgid "try again with an appropriate '-m' parameter"
msgstr ""
-#: src/ld.c:1432
+#: src/ld.c:1434
#, c-format
msgid "cannot read version script '%s'"
msgstr ""
-#: src/ld.c:1498 src/ld.c:1537
+#: src/ld.c:1500 src/ld.c:1539
#, c-format
msgid "duplicate definition of '%s' in linker script"
msgstr ""
@@ -3726,7 +3739,7 @@ msgstr ""
msgid "cannot get header of 0th section: %s"
msgstr ""
-#: src/ldgeneric.c:6930 src/unstrip.c:1821
+#: src/ldgeneric.c:6930 src/unstrip.c:1893
#, c-format
msgid "cannot update ELF header: %s"
msgstr ""
@@ -3779,7 +3792,7 @@ msgstr ""
#: src/ldscript.y:737
#, c-format
-msgid "symbol '%s' is declared both local and global for unnamed version"
+msgid "symbol '%s' is declared both local and global for unnamed version '%s'"
msgstr ""
#: src/ldscript.y:739
@@ -3894,7 +3907,7 @@ 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/strip.c:2275
+#: src/strip.c:2280
#, c-format
msgid "while closing '%s'"
msgstr "beim Schliessen von '%s'"
@@ -3942,8 +3955,8 @@ msgstr "Kann Suchbaum nicht erstellen"
#: 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:8211 src/readelf.c:9297 src/readelf.c:9444
-#: src/readelf.c:9512 src/size.c:413 src/size.c:482 src/strip.c:520
+#: 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
#, c-format
msgid "cannot get section header string table index"
msgstr ""
@@ -4205,11 +4218,11 @@ msgstr "konnte Elf-Deskriptor nicht erzeugen: %s"
msgid "cannot get section: %s"
msgstr ""
-#: src/readelf.c:554 src/readelf.c:1106 src/readelf.c:1277 src/readelf.c:9464
+#: 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:1062
-#: src/unstrip.c:1253 src/unstrip.c:1313 src/unstrip.c:1434 src/unstrip.c:1487
-#: src/unstrip.c:1594 src/unstrip.c:1783
+#: 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
#, c-format
msgid "cannot get section header: %s"
msgstr ""
@@ -4220,7 +4233,7 @@ 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:7948
+#: src/readelf.c:7949
#, c-format
msgid "cannot get %s content: %s"
msgstr ""
@@ -4502,7 +4515,7 @@ msgid ""
" Segment Sections..."
msgstr ""
-#: src/readelf.c:1258 src/unstrip.c:1842 src/unstrip.c:1885 src/unstrip.c:1892
+#: src/readelf.c:1258 src/unstrip.c:1914 src/unstrip.c:1957 src/unstrip.c:1964
#, c-format
msgid "cannot get program header: %s"
msgstr ""
@@ -4540,7 +4553,7 @@ 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
#, fuzzy, c-format
-msgid "invalid sh_link value in section %Zu"
+msgid "invalid sh_link value in section %zu"
msgstr "ungültige .debug_line Sektion"
#: src/readelf.c:1588
@@ -5043,7 +5056,7 @@ msgstr ""
#, c-format
msgid ""
"\n"
-"Table at offset %Zu:\n"
+"Table at offset %zu:\n"
msgstr ""
#: src/readelf.c:4693 src/readelf.c:5430 src/readelf.c:6397
@@ -5107,7 +5120,7 @@ msgstr " [%6tx] %s..%s\n"
#: src/readelf.c:4807
#, c-format
-msgid " %Zu padding bytes\n"
+msgid " %zu padding bytes\n"
msgstr ""
#: src/readelf.c:4825
@@ -5478,7 +5491,7 @@ msgstr " %s: %<PRId64>\n"
msgid " Version: %<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:7244 src/readelf.c:7977
+#: src/readelf.c:7244 src/readelf.c:7978
#, c-format
msgid " unknown version, cannot parse section\n"
msgstr ""
@@ -5585,193 +5598,193 @@ msgid ""
" Action: %u\n"
msgstr ""
-#: src/readelf.c:7913
+#: src/readelf.c:7914
#, c-format
msgid "invalid TType encoding"
msgstr ""
-#: src/readelf.c:7939
+#: src/readelf.c:7940
#, c-format
msgid ""
"\n"
"GDB section [%2zu] '%s' at offset %#<PRIx64> contains %<PRId64> bytes :\n"
msgstr ""
-#: src/readelf.c:7968
+#: src/readelf.c:7969
#, fuzzy, c-format
msgid " Version: %<PRId32>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:7986
+#: src/readelf.c:7987
#, c-format
msgid " CU offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:7993
+#: src/readelf.c:7994
#, c-format
msgid " TU offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:8000
+#: src/readelf.c:8001
#, c-format
msgid " address offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:8007
+#: src/readelf.c:8008
#, c-format
msgid " symbol offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:8014
+#: src/readelf.c:8015
#, c-format
msgid " constant offset: %#<PRIx32>\n"
msgstr ""
-#: src/readelf.c:8028
+#: src/readelf.c:8029
#, c-format
msgid ""
"\n"
" CU list at offset %#<PRIx32> contains %zu entries:\n"
msgstr ""
-#: src/readelf.c:8053
+#: src/readelf.c:8054
#, c-format
msgid ""
"\n"
" TU list at offset %#<PRIx32> contains %zu entries:\n"
msgstr ""
-#: src/readelf.c:8082
+#: src/readelf.c:8083
#, c-format
msgid ""
"\n"
" Address list at offset %#<PRIx32> contains %zu entries:\n"
msgstr ""
-#: src/readelf.c:8115
+#: src/readelf.c:8116
#, c-format
msgid ""
"\n"
" Symbol table at offset %#<PRIx32> contains %zu slots:\n"
msgstr ""
-#: src/readelf.c:8202
+#: src/readelf.c:8203
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr ""
-#: src/readelf.c:8360 src/readelf.c:8966 src/readelf.c:9077 src/readelf.c:9135
+#: src/readelf.c:8361 src/readelf.c:8983 src/readelf.c:9094 src/readelf.c:9152
#, c-format
msgid "cannot convert core note data: %s"
msgstr ""
-#: src/readelf.c:8707
+#: src/readelf.c:8724
#, c-format
msgid ""
"\n"
"%*s... <repeats %u more times> ..."
msgstr ""
-#: src/readelf.c:9214
+#: src/readelf.c:9231
msgid " Owner Data size Type\n"
msgstr ""
-#: src/readelf.c:9232
+#: src/readelf.c:9249
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr ""
-#: src/readelf.c:9282
+#: src/readelf.c:9299
#, c-format
msgid "cannot get content of note section: %s"
msgstr ""
-#: src/readelf.c:9309
+#: src/readelf.c:9326
#, c-format
msgid ""
"\n"
"Note section [%2zu] '%s' of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:9332
+#: src/readelf.c:9349
#, c-format
msgid ""
"\n"
"Note segment of %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:9378
-#, c-format
+#: src/readelf.c:9395
+#, fuzzy, c-format
msgid ""
"\n"
-"Section [%Zu] '%s' has no data to dump.\n"
-msgstr ""
+"Section [%zu] '%s' has no data to dump.\n"
+msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:9384 src/readelf.c:9407
-#, c-format
-msgid "cannot get data for section [%Zu] '%s': %s"
-msgstr ""
+#: src/readelf.c:9401 src/readelf.c:9424
+#, fuzzy, c-format
+msgid "cannot get data for section [%zu] '%s': %s"
+msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:9388
+#: src/readelf.c:9405
#, c-format
msgid ""
"\n"
-"Hex dump of section [%Zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n"
+"Hex dump of section [%zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:9401
-#, c-format
+#: src/readelf.c:9418
+#, fuzzy, c-format
msgid ""
"\n"
-"Section [%Zu] '%s' has no strings to dump.\n"
-msgstr ""
+"Section [%zu] '%s' has no strings to dump.\n"
+msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/readelf.c:9411
+#: src/readelf.c:9428
#, c-format
msgid ""
"\n"
-"String section [%Zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n"
+"String section [%zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
-#: src/readelf.c:9459
+#: src/readelf.c:9476
#, c-format
msgid ""
"\n"
"section [%lu] does not exist"
msgstr ""
-#: src/readelf.c:9488
+#: src/readelf.c:9505
#, c-format
msgid ""
"\n"
"section '%s' does not exist"
msgstr ""
-#: src/readelf.c:9545
+#: src/readelf.c:9562
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr ""
-#: src/readelf.c:9548
+#: src/readelf.c:9565
#, c-format
msgid ""
"\n"
"Archive '%s' has no symbol index\n"
msgstr ""
-#: src/readelf.c:9552
+#: src/readelf.c:9569
#, c-format
msgid ""
"\n"
-"Index of archive '%s' has %Zu entries:\n"
+"Index of archive '%s' has %zu entries:\n"
msgstr ""
-#: src/readelf.c:9570
-#, c-format
-msgid "cannot extract member at offset %Zu in '%s': %s"
-msgstr ""
+#: src/readelf.c:9587
+#, fuzzy, c-format
+msgid "cannot extract member at offset %zu in '%s': %s"
+msgstr "konnte Programm-Kopf nicht erstellen: %s"
-#: src/readelf.c:9575
+#: src/readelf.c:9592
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr ""
@@ -5958,66 +5971,66 @@ msgstr ""
msgid "Couldn't show any frames."
msgstr ""
-#: src/strings.c:62
+#: src/strings.c:66
msgid "Output Selection:"
msgstr ""
-#: src/strings.c:63
+#: src/strings.c:67
msgid "Scan entire file, not only loaded sections"
msgstr ""
-#: src/strings.c:65
+#: src/strings.c:69
msgid "Only NUL-terminated sequences of MIN-LEN characters or more are printed"
msgstr ""
-#: src/strings.c:66
+#: src/strings.c:70
msgid ""
"Select character size and endianess: s = 7-bit, S = 8-bit, {b,l} = 16-bit, "
"{B,L} = 32-bit"
msgstr ""
-#: src/strings.c:70
+#: src/strings.c:74
msgid "Print name of the file before each string."
msgstr ""
-#: src/strings.c:72
+#: src/strings.c:76
msgid "Print location of the string in base 8, 10, or 16 respectively."
msgstr ""
-#: src/strings.c:73
+#: src/strings.c:77
msgid "Alias for --radix=o"
msgstr "Alias für --radix=o"
-#: src/strings.c:80
+#: src/strings.c:84
msgid "Print the strings of printable characters in files."
msgstr ""
-#: src/strings.c:267 src/strings.c:302
+#: src/strings.c:271 src/strings.c:306
#, c-format
msgid "invalid value '%s' for %s parameter"
msgstr ""
-#: src/strings.c:313
+#: src/strings.c:317
#, c-format
msgid "invalid minimum length of matched string size"
msgstr ""
-#: src/strings.c:596
-#, c-format
-msgid "lseek64 failed"
+#: src/strings.c:600
+#, fuzzy, c-format
+msgid "lseek failed"
msgstr "lseek64 fehlgeschlagen"
-#: src/strings.c:613 src/strings.c:677
+#: src/strings.c:617 src/strings.c:681
#, c-format
msgid "re-mmap failed"
msgstr "re-mmap fehlgeschlagen"
-#: src/strings.c:650
+#: src/strings.c:654
#, c-format
msgid "mprotect failed"
msgstr "mprotect fehlgeschlagen"
-#: src/strings.c:739
+#: src/strings.c:743
#, c-format
msgid "Skipping section %zd '%s' data outside file"
msgstr ""
@@ -6135,72 +6148,72 @@ msgstr ""
msgid "illformed file '%s'"
msgstr ""
-#: src/strip.c:966 src/strip.c:1064
+#: src/strip.c:968 src/strip.c:1067
#, c-format
msgid "while generating output file: %s"
msgstr ""
-#: src/strip.c:1031 src/strip.c:2066
+#: src/strip.c:1033 src/strip.c:2071
#, c-format
msgid "%s: error while creating ELF header: %s"
msgstr ""
-#: src/strip.c:1047
+#: src/strip.c:1050
#, c-format
msgid "while preparing output for '%s'"
msgstr ""
-#: src/strip.c:1105 src/strip.c:1168
+#: src/strip.c:1108 src/strip.c:1171
#, c-format
msgid "while create section header section: %s"
msgstr ""
-#: src/strip.c:1114
+#: src/strip.c:1117
#, c-format
msgid "cannot allocate section data: %s"
msgstr ""
-#: src/strip.c:1180
+#: src/strip.c:1183
#, c-format
msgid "while create section header string table: %s"
msgstr ""
-#: src/strip.c:1856
+#: src/strip.c:1861
#, fuzzy, c-format
msgid "bad relocation"
msgstr "Relocations anzeigen"
-#: src/strip.c:1977 src/strip.c:2090
+#: src/strip.c:1982 src/strip.c:2095
#, c-format
msgid "while writing '%s': %s"
msgstr ""
-#: src/strip.c:1988
+#: src/strip.c:1993
#, c-format
msgid "while creating '%s'"
msgstr ""
-#: src/strip.c:2011
+#: src/strip.c:2016
#, c-format
msgid "while computing checksum for debug information"
msgstr ""
-#: src/strip.c:2075
+#: src/strip.c:2080
#, c-format
msgid "%s: error while reading the file: %s"
msgstr ""
-#: src/strip.c:2115 src/strip.c:2135
+#: src/strip.c:2120 src/strip.c:2140
#, fuzzy, c-format
msgid "while writing '%s'"
msgstr "beim Schliessen von '%s'"
-#: src/strip.c:2172 src/strip.c:2179
+#: src/strip.c:2177 src/strip.c:2184
#, c-format
msgid "error while finishing '%s': %s"
msgstr ""
-#: src/strip.c:2196 src/strip.c:2268
+#: src/strip.c:2201 src/strip.c:2273
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr ""
@@ -6286,12 +6299,12 @@ msgstr ""
msgid "cannot copy ELF header: %s"
msgstr ""
-#: src/unstrip.c:261 src/unstrip.c:1831 src/unstrip.c:1875
+#: src/unstrip.c:261 src/unstrip.c:1903 src/unstrip.c:1947
#, 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:1835
+#: src/unstrip.c:266 src/unstrip.c:1907
#, c-format
msgid "cannot create program headers: %s"
msgstr "konnte Programm-Kopf nicht erstellen: %s"
@@ -6306,12 +6319,12 @@ msgstr "konnte Programm-Kopf nicht kopieren: %s"
msgid "cannot copy section header: %s"
msgstr ""
-#: src/unstrip.c:285 src/unstrip.c:1512
+#: src/unstrip.c:285 src/unstrip.c:1541
#, c-format
msgid "cannot get section data: %s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/unstrip.c:287 src/unstrip.c:1514
+#: src/unstrip.c:287 src/unstrip.c:1543
#, c-format
msgid "cannot copy section data: %s"
msgstr "konnte Abschnittsdaten nicht kopieren: %s"
@@ -6321,13 +6334,13 @@ 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:1546
+#: src/unstrip.c:351 src/unstrip.c:768 src/unstrip.c:1575
#, 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:1567 src/unstrip.c:1697 src/unstrip.c:1721
+#: src/unstrip.c:1596 src/unstrip.c:1769 src/unstrip.c:1793
#, c-format
msgid "cannot update symbol table: %s"
msgstr "konnte Symboltabelle nicht aktualisieren: %s"
@@ -6349,181 +6362,186 @@ msgstr ""
#: src/unstrip.c:526
#, c-format
-msgid "unexpected section type in [%Zu] with sh_link to symtab"
+msgid "unexpected section type in [%zu] with sh_link to symtab"
msgstr ""
#: src/unstrip.c:774
-#, c-format
-msgid "invalid string offset in symbol [%Zu]"
-msgstr ""
+#, fuzzy, c-format
+msgid "invalid string offset in symbol [%zu]"
+msgstr "ungültiger Offset %zu für Symbol %s"
-#: src/unstrip.c:916 src/unstrip.c:1257
-#, c-format
-msgid "cannot read section [%Zu] name: %s"
-msgstr ""
+#: src/unstrip.c:932 src/unstrip.c:1278
+#, fuzzy, c-format
+msgid "cannot read section [%zu] name: %s"
+msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/unstrip.c:957 src/unstrip.c:976 src/unstrip.c:1009
+#: src/unstrip.c:973 src/unstrip.c:992 src/unstrip.c:1027
#, c-format
msgid "cannot read '.gnu.prelink_undo' section: %s"
msgstr ""
-#: src/unstrip.c:997
+#: src/unstrip.c:1013
#, c-format
msgid "invalid contents in '%s' section"
msgstr ""
-#: src/unstrip.c:1052 src/unstrip.c:1377
+#: src/unstrip.c:1019
#, c-format
-msgid "cannot find matching section for [%Zu] '%s'"
+msgid "overflow with shnum = %zu in '%s' section"
msgstr ""
-#: src/unstrip.c:1177 src/unstrip.c:1192 src/unstrip.c:1458
+#: src/unstrip.c:1073 src/unstrip.c:1398
+#, 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
#, c-format
msgid "cannot add section name to string table: %s"
msgstr ""
-#: src/unstrip.c:1201
+#: src/unstrip.c:1222
#, c-format
msgid "cannot update section header string table data: %s"
msgstr ""
-#: src/unstrip.c:1228 src/unstrip.c:1232
+#: src/unstrip.c:1249 src/unstrip.c:1253
#, c-format
msgid "cannot get section header string table section index: %s"
msgstr ""
-#: src/unstrip.c:1236 src/unstrip.c:1240 src/unstrip.c:1473
+#: src/unstrip.c:1257 src/unstrip.c:1261 src/unstrip.c:1494
#, c-format
msgid "cannot get section count: %s"
msgstr ""
-#: src/unstrip.c:1243
+#: src/unstrip.c:1264
#, c-format
msgid "more sections in stripped file than debug file -- arguments reversed?"
msgstr ""
-#: src/unstrip.c:1302 src/unstrip.c:1392
+#: src/unstrip.c:1323 src/unstrip.c:1413
#, c-format
msgid "cannot read section header string table: %s"
msgstr ""
-#: src/unstrip.c:1452
+#: src/unstrip.c:1473
#, c-format
msgid "cannot add new section: %s"
msgstr ""
-#: src/unstrip.c:1554
-#, c-format
-msgid "symbol [%Zu] has invalid section index"
-msgstr ""
+#: src/unstrip.c:1583
+#, fuzzy, c-format
+msgid "symbol [%zu] has invalid section index"
+msgstr "ungültiger Abschnittsindex"
-#: src/unstrip.c:1792
+#: src/unstrip.c:1864
#, fuzzy, c-format
msgid "cannot read section data: %s"
msgstr "konnte Abschnittsdaten nicht holen: %s"
-#: src/unstrip.c:1813
+#: src/unstrip.c:1885
#, c-format
msgid "cannot get ELF header: %s"
msgstr ""
-#: src/unstrip.c:1845
+#: src/unstrip.c:1917
#, c-format
msgid "cannot update program header: %s"
msgstr "konnte Programm-Kopf nicht aktualisieren: %s"
-#: src/unstrip.c:1850 src/unstrip.c:1933
+#: src/unstrip.c:1922 src/unstrip.c:2005
#, c-format
msgid "cannot write output file: %s"
msgstr ""
-#: src/unstrip.c:1902
+#: src/unstrip.c:1974
#, c-format
msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
msgstr ""
-#: src/unstrip.c:1905
+#: src/unstrip.c:1977
#, c-format
msgid ""
"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
msgstr ""
-#: src/unstrip.c:1924 src/unstrip.c:1975 src/unstrip.c:1987 src/unstrip.c:2073
+#: src/unstrip.c:1996 src/unstrip.c:2047 src/unstrip.c:2059 src/unstrip.c:2145
#, c-format
msgid "cannot create ELF descriptor: %s"
msgstr ""
-#: src/unstrip.c:1966
+#: src/unstrip.c:2038
msgid "WARNING: "
msgstr ""
-#: src/unstrip.c:1968
+#: src/unstrip.c:2040
msgid ", use --force"
msgstr ""
-#: src/unstrip.c:1991
+#: src/unstrip.c:2063
msgid "ELF header identification (e_ident) different"
msgstr ""
-#: src/unstrip.c:1994
+#: src/unstrip.c:2066
msgid "ELF header type (e_type) different"
msgstr ""
-#: src/unstrip.c:1997
+#: src/unstrip.c:2069
msgid "ELF header machine type (e_machine) different"
msgstr ""
-#: src/unstrip.c:2000
+#: src/unstrip.c:2072
msgid "stripped program header (e_phnum) smaller than unstripped"
msgstr ""
-#: src/unstrip.c:2030
+#: src/unstrip.c:2102
#, c-format
msgid "cannot find stripped file for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2034
+#: src/unstrip.c:2106
#, c-format
msgid "cannot open stripped file '%s' for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2049
+#: src/unstrip.c:2121
#, c-format
msgid "cannot find debug file for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2053
+#: src/unstrip.c:2125
#, c-format
msgid "cannot open debug file '%s' for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2066
+#: src/unstrip.c:2138
#, c-format
msgid "module '%s' file '%s' is not stripped"
msgstr ""
-#: src/unstrip.c:2097
+#: src/unstrip.c:2169
#, c-format
msgid "cannot cache section addresses for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2230
+#: src/unstrip.c:2302
#, c-format
msgid "no matching modules found"
msgstr "kein passendes Modul gefunden"
-#: src/unstrip.c:2239
+#: src/unstrip.c:2311
#, c-format
msgid "matched more than one module"
msgstr "mehr als ein passendes Modul"
-#: src/unstrip.c:2283
+#: src/unstrip.c:2355
msgid ""
"STRIPPED-FILE DEBUG-FILE\n"
"[MODULE...]"
msgstr ""
-#: src/unstrip.c:2284
+#: src/unstrip.c:2356
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"
@@ -6550,7 +6568,7 @@ msgid ""
"was found, or . if FILE contains the debug information."
msgstr ""
-#: tests/backtrace.c:425
+#: tests/backtrace.c:427
msgid "Run executable"
msgstr ""
diff --git a/po/es.po b/po/es.po
index 91eec7c..0d21da5 100644
--- a/po/es.po
+++ b/po/es.po
@@ -10,7 +10,7 @@ msgid ""
msgstr ""
"Project-Id-Version: elfutils.master.es\n"
"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-06-19 13:25+0200\n"
+"POT-Creation-Date: 2015-10-15 15:21+0200\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:54 lib/xmalloc.c:68 lib/xmalloc.c:82 src/readelf.c:3184
-#: src/readelf.c:3561 src/readelf.c:8309 src/unstrip.c:2126 src/unstrip.c:2331
+#: 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
#, c-format
msgid "memory exhausted"
msgstr "memoria agotada"
@@ -94,7 +94,7 @@ msgstr "error durante salida de datos"
msgid "no backend support available"
msgstr "No hay soporte de segundo plano"
-#: libasm/asm_error.c:84 libdw/dwarf_error.c:59 libdwfl/libdwflP.h:54
+#: libasm/asm_error.c:83 libdw/dwarf_error.c:59 libdwfl/libdwflP.h:54
#: libelf/elf_error.c:63
msgid "unknown error"
msgstr "error desconocido"
@@ -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:2273
+#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2345
msgid "Input selection options:"
msgstr "Opciones de selección de entrada:"
@@ -466,82 +466,82 @@ msgstr "Parámetro inválido"
msgid "Not an ET_CORE ELF file"
msgstr "no es un archivo ELF válido"
-#: libebl/eblbackendname.c:42
+#: libebl/eblbackendname.c:41
msgid "No backend"
msgstr "No hay segundo plano (Backend)"
-#: libebl/eblcorenotetypename.c:102 libebl/eblobjecttypename.c:57
-#: libebl/eblobjnotetypename.c:73 libebl/eblosabiname.c:77
-#: libebl/eblsectionname.c:89 libebl/eblsectiontypename.c:119
-#: libebl/eblsegmenttypename.c:83
+#: libebl/eblcorenotetypename.c:98 libebl/eblobjecttypename.c:53
+#: libebl/eblobjnotetypename.c:69 libebl/eblosabiname.c:73
+#: libebl/eblsectionname.c:83 libebl/eblsectiontypename.c:115
+#: libebl/eblsegmenttypename.c:79
msgid "<unknown>"
msgstr "<desconocido>"
-#: libebl/ebldynamictagname.c:105
+#: libebl/ebldynamictagname.c:101
#, c-format
msgid "<unknown>: %#<PRIx64>"
msgstr "<desconocido>: %#<PRIx64>"
-#: libebl/eblobjnote.c:56
+#: libebl/eblobjnote.c:52
#, fuzzy, c-format
msgid "unknown SDT version %u\n"
msgstr "versión desconocida"
-#: libebl/eblobjnote.c:74
+#: libebl/eblobjnote.c:70
#, fuzzy, c-format
msgid "invalid SDT probe descriptor\n"
msgstr "descriptor de archivo inválido"
-#: libebl/eblobjnote.c:124
+#: libebl/eblobjnote.c:120
#, c-format
msgid " PC: "
msgstr ""
-#: libebl/eblobjnote.c:126
+#: libebl/eblobjnote.c:122
#, c-format
msgid " Base: "
msgstr ""
-#: libebl/eblobjnote.c:128
+#: libebl/eblobjnote.c:124
#, c-format
msgid " Semaphore: "
msgstr ""
-#: libebl/eblobjnote.c:130
+#: libebl/eblobjnote.c:126
#, c-format
msgid " Provider: "
msgstr ""
-#: libebl/eblobjnote.c:132
+#: libebl/eblobjnote.c:128
#, c-format
msgid " Name: "
msgstr ""
-#: libebl/eblobjnote.c:134
+#: libebl/eblobjnote.c:130
#, c-format
msgid " Args: "
msgstr ""
-#: libebl/eblobjnote.c:144
+#: libebl/eblobjnote.c:140
#, c-format
msgid " Build ID: "
msgstr " Build ID: "
-#: libebl/eblobjnote.c:155
+#: libebl/eblobjnote.c:151
#, c-format
msgid " Linker version: %.*s\n"
msgstr " Versión del Enlazador: %.*s\n"
-#: libebl/eblobjnote.c:216
+#: libebl/eblobjnote.c:212
#, c-format
msgid " OS: %s, ABI: "
msgstr " OS: %s, ABI: "
-#: libebl/eblosabiname.c:74
+#: libebl/eblosabiname.c:70
msgid "Stand alone"
msgstr "Autónomo"
-#: libebl/eblsymbolbindingname.c:71 libebl/eblsymboltypename.c:77
+#: libebl/eblsymbolbindingname.c:67 libebl/eblsymboltypename.c:73
#, c-format
msgid "<unknown>: %d"
msgstr "<desconocido>: %d"
@@ -648,7 +648,7 @@ 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:7963
+#: src/readelf.c:7783 src/readelf.c:7964
#, c-format
msgid "invalid data"
msgstr "datos inválidos"
@@ -752,7 +752,7 @@ msgid "Print all information on one line, and indent inlines"
msgstr ""
#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:99
-#: src/strings.c:75
+#: src/strings.c:79
msgid "Miscellaneous:"
msgstr "Misceláneos:"
@@ -769,7 +769,7 @@ 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:226
+#: src/ranlib.c:124 src/readelf.c:500 src/size.c:207 src/strings.c:230
#: src/strip.c:218 src/unstrip.c:232
#, c-format
msgid ""
@@ -785,7 +785,7 @@ msgstr ""
#: 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:231
+#: src/ranlib.c:129 src/readelf.c:505 src/size.c:212 src/strings.c:235
#: src/strip.c:223 src/unstrip.c:237
#, c-format
msgid "Written by %s.\n"
@@ -1266,8 +1266,8 @@ 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:182 src/strip.c:466 src/strip.c:503 src/unstrip.c:1922
-#: src/unstrip.c:1951
+#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:1994
+#: src/unstrip.c:2023
#, c-format
msgid "cannot open '%s'"
msgstr "Imposible abrir '%s'"
@@ -1282,7 +1282,7 @@ msgstr "No puede crear descriptor ELF para '%s': %s"
msgid "cannot create EBL descriptor for '%s'"
msgstr "no se puede crear el descriptor EBL para '%s'"
-#: src/elfcmp.c:757
+#: src/elfcmp.c:757 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"
@@ -1496,7 +1496,7 @@ msgstr ""
#: src/elflint.c:591 src/elflint.c:1470 src/elflint.c:1521 src/elflint.c:1627
#: src/elflint.c:1963 src/elflint.c:2279 src/elflint.c:2892 src/elflint.c:3055
-#: src/elflint.c:3203 src/elflint.c:3393 src/elflint.c:4297
+#: src/elflint.c:3203 src/elflint.c:3393 src/elflint.c:4335
#, 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"
@@ -2387,8 +2387,8 @@ 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:2688
-#, c-format
-msgid "section [%2d] '%s': section index %Zu out of range\n"
+#, 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:2697
@@ -2404,9 +2404,9 @@ 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:2710
-#, c-format
+#, fuzzy, c-format
msgid ""
-"section [%2d] '%s': element %Zu references section [%2d] '%s' without "
+"section [%2d] '%s': element %zu references section [%2d] '%s' without "
"SHF_GROUP flag set\n"
msgstr ""
"Sección [%2d] '%s': elemento %Zu hace referencia a sección [%2d] '%s' sin "
@@ -2927,11 +2927,16 @@ msgstr ""
"Sección [%2zu] '%s' tiene un tipo %d inesperado para una sección ejecutable\n"
#: src/elflint.c:3944
+#, 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:3951
#, 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:3973
+#: src/elflint.c:3981
#, c-format
msgid ""
"section [%2zu] '%s' not fully contained in segment of program header entry "
@@ -2940,7 +2945,7 @@ msgstr ""
"Sección [%2zu] '%s' no contenida totalmente en segmento de entrada de "
"encabezamiento de programa %d\n"
-#: src/elflint.c:3981
+#: src/elflint.c:3991
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -2949,7 +2954,16 @@ 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:3990
+#: src/elflint.c:4017
+#, fuzzy, 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 ""
+"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:4028
#, c-format
msgid ""
"section [%2zu] '%s' has not type NOBITS but is not read from the file in "
@@ -2958,18 +2972,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:4001
+#: src/elflint.c:4039
#, 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:4011
+#: src/elflint.c:4049
#, 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:4021
+#: src/elflint.c:4059
#, c-format
msgid ""
"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
@@ -2977,7 +2991,7 @@ msgstr ""
"Sección [%2zu] '%s': asignación de bandera establecida pero sección no en "
"ningún segmento cargado\n"
-#: src/elflint.c:4027
+#: src/elflint.c:4065
#, c-format
msgid ""
"section [%2zu] '%s': ELF header says this is the section header string table "
@@ -2986,7 +3000,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:4035
+#: src/elflint.c:4073
#, c-format
msgid ""
"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
@@ -2994,32 +3008,32 @@ msgstr ""
"sección [%2zu] '%s': ficheros reubicables no pueden tener tablas de símbolos "
"dinámicos\n"
-#: src/elflint.c:4086
+#: src/elflint.c:4124
#, 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:4109
+#: src/elflint.c:4147
#, 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:4120
+#: src/elflint.c:4158
#, 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:4126
+#: src/elflint.c:4164
#, 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:4137
+#: src/elflint.c:4175
#, c-format
msgid ""
"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
@@ -3028,82 +3042,82 @@ 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:4150
+#: src/elflint.c:4188
#, c-format
msgid "duplicate version index %d\n"
msgstr "Duplicar índice de versión %d\n"
-#: src/elflint.c:4164
+#: src/elflint.c:4202
#, 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:4213
+#: src/elflint.c:4251
#, 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:4217
-#, c-format
+#: src/elflint.c:4255
+#, fuzzy, c-format
msgid ""
-"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %Zu\n"
+"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
msgstr ""
"Sección [%2d] '%s': tipo de nota de fichero core desconocido %<PRIu32> en "
"compensación %Zu\n"
-#: src/elflint.c:4240
-#, c-format
-msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %Zu\n"
+#: src/elflint.c:4278
+#, 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:4244
-#, c-format
+#: src/elflint.c:4282
+#, fuzzy, c-format
msgid ""
-"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %Zu\n"
+"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n"
msgstr ""
"Sección [%2d] '%s': tipo de nota de fichero objeto desconocido %<PRIu32> en "
"compensación %Zu\n"
-#: src/elflint.c:4261
+#: src/elflint.c:4299
#, 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:4280
+#: src/elflint.c:4318
#, 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:4283
+#: src/elflint.c:4321
#, 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:4304
+#: src/elflint.c:4342
#, 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:4311
+#: src/elflint.c:4349
#, 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:4314
+#: src/elflint.c:4352
#, 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:4332
+#: src/elflint.c:4370
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
@@ -3111,139 +3125,145 @@ msgstr ""
"Sólo ejecutables, objetos compartidos y ficheros core pueden tener "
"encabezamientos de programas\n"
-#: src/elflint.c:4347
+#: src/elflint.c:4385
#, 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:4356
+#: src/elflint.c:4394
#, 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:4367
+#: src/elflint.c:4405
#, 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:4375
+#: src/elflint.c:4413
#, 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:4382
+#: src/elflint.c:4420
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr "ejecutable estático no puede tener secciones dinámicas\n"
-#: src/elflint.c:4396
+#: src/elflint.c:4434
#, 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:4399
+#: src/elflint.c:4437
#, 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:4409
+#: src/elflint.c:4447
#, 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:4430
+#: src/elflint.c:4468
#, 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:4433
+#: src/elflint.c:4479
#, 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:4441 src/elflint.c:4464
+#: src/elflint.c:4486
+#, c-format
+msgid ""
+"GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
+msgstr ""
+
+#: src/elflint.c:4495 src/elflint.c:4518
#, 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:4470
+#: src/elflint.c:4524
#, 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:4495
+#: src/elflint.c:4549
#, 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:4498
+#: src/elflint.c:4552
#, 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:4511
+#: src/elflint.c:4565
#, 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:4519
+#: src/elflint.c:4573
#, 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:4522
+#: src/elflint.c:4576
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
msgstr "sección [%2zu] '%s' debe ser asignada\n"
-#: src/elflint.c:4526
+#: src/elflint.c:4580
#, 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:4529
+#: src/elflint.c:4583
#, 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:4534
+#: src/elflint.c:4588
#, 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:4537
+#: src/elflint.c:4591
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
msgstr "sección [%2zu] '%s' no debe ser ejecutable\n"
-#: src/elflint.c:4548
+#: src/elflint.c:4602
#, 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:4555
+#: src/elflint.c:4609
#, 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:4558
+#: src/elflint.c:4612
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
@@ -3252,7 +3272,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:4571
+#: src/elflint.c:4625
#, c-format
msgid ""
"executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME "
@@ -3261,12 +3281,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:4605
+#: src/elflint.c:4659
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr "No se puede leer encabezamiento ELF: %s\n"
-#: src/elflint.c:4631
+#: src/elflint.c:4685
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr "Bandera de reubicación de texto establecida pero no necesaria\n"
@@ -3289,7 +3309,7 @@ msgstr ""
"Localizar origen de reubicaciones de texto en FICHEROS (a.out por defecto)."
#: src/findtextrel.c:76 src/nm.c:107 src/objdump.c:71 src/size.c:83
-#: src/strings.c:84 src/strip.c:95
+#: src/strings.c:88 src/strip.c:95
msgid "[FILE...]"
msgstr "[FICHERO...]"
@@ -3335,11 +3355,6 @@ msgstr ""
"Nos se puede obtener el índice de encabezamiento de programa en compensación "
"%d: %s"
-#: src/findtextrel.c:409
-#, c-format
-msgid "cannot get section header of section %Zu: %s"
-msgstr "No se puede obtener encabezamiento de sección %Zu: %s"
-
#: src/findtextrel.c:421
#, c-format
msgid "cannot get symbol table section %zu in '%s': %s"
@@ -3740,24 +3755,24 @@ msgstr "-) sin coincidir -("
msgid "unknown option '-%c %s'"
msgstr "Opción desconocida '-%c %s'"
-#: src/ld.c:1136
+#: src/ld.c:1138
#, c-format
msgid "could not find input file to determine output file format"
msgstr ""
"no se pudo encontrar un archivo de entrada que determine el formato del "
"archivo de salida"
-#: src/ld.c:1138
+#: src/ld.c:1140
#, c-format
msgid "try again with an appropriate '-m' parameter"
msgstr "Inténtelo con una parámetro '-m' apropiado"
-#: src/ld.c:1432
+#: src/ld.c:1434
#, c-format
msgid "cannot read version script '%s'"
msgstr "No se puede leer script de versión '%s'"
-#: src/ld.c:1498 src/ld.c:1537
+#: src/ld.c:1500 src/ld.c:1539
#, c-format
msgid "duplicate definition of '%s' in linker script"
msgstr "Duplicar definición de '%s' en script enlazador"
@@ -4062,7 +4077,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:1821
+#: src/ldgeneric.c:6930 src/unstrip.c:1893
#, c-format
msgid "cannot update ELF header: %s"
msgstr "No se puede actualizar encabezamiento ELF: %s"
@@ -4116,8 +4131,8 @@ msgid "while reading linker script '%s': %s at line %d"
msgstr "al leer script de enlace '%s': %s en línea %d"
#: src/ldscript.y:737
-#, c-format
-msgid "symbol '%s' is declared both local and global for unnamed version"
+#, fuzzy, c-format
+msgid "symbol '%s' is declared both local and global for unnamed version '%s'"
msgstr ""
"el símbolo '%s' es declarado tanto local como global para la versión sin "
"nombre"
@@ -4233,7 +4248,7 @@ 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/strip.c:2275
+#: src/strip.c:2280
#, c-format
msgid "while closing '%s'"
msgstr "error al cerrar '%s'"
@@ -4281,8 +4296,8 @@ msgstr "No se puede crear el árbol de búsqueda"
#: 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:8211 src/readelf.c:9297 src/readelf.c:9444
-#: src/readelf.c:9512 src/size.c:413 src/size.c:482 src/strip.c:520
+#: 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
#, c-format
msgid "cannot get section header string table index"
msgstr "no se puede obtener índice de cadena de encabezamiento de sección"
@@ -4554,11 +4569,11 @@ msgstr "no se puede crear descriptor ELF: %s"
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:9464
+#: 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:1062
-#: src/unstrip.c:1253 src/unstrip.c:1313 src/unstrip.c:1434 src/unstrip.c:1487
-#: src/unstrip.c:1594 src/unstrip.c:1783
+#: 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
#, c-format
msgid "cannot get section header: %s"
msgstr "No se puede obtener encabezamiento de sección: %s"
@@ -4569,7 +4584,7 @@ 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:7948
+#: src/readelf.c:7949
#, c-format
msgid "cannot get %s content: %s"
msgstr "No se puede obtener el contenido %s: %s"
@@ -4872,7 +4887,7 @@ msgstr ""
" Sección para asignación de segmento:\n"
" Secciones de segmento..."
-#: src/readelf.c:1258 src/unstrip.c:1842 src/unstrip.c:1885 src/unstrip.c:1892
+#: src/readelf.c:1258 src/unstrip.c:1914 src/unstrip.c:1957 src/unstrip.c:1964
#, c-format
msgid "cannot get program header: %s"
msgstr "no se puede obtener memoria para encabezamiento del programa: %s"
@@ -4918,7 +4933,7 @@ 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
#, fuzzy, c-format
-msgid "invalid sh_link value in section %Zu"
+msgid "invalid sh_link value in section %zu"
msgstr ".debug_line section inválida"
#: src/readelf.c:1588
@@ -5508,10 +5523,10 @@ msgstr ""
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64>:\n"
#: src/readelf.c:4689 src/readelf.c:6386
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
-"Table at offset %Zu:\n"
+"Table at offset %zu:\n"
msgstr ""
"\n"
"Tabla en compensación %Zu:\n"
@@ -5577,7 +5592,7 @@ msgstr " [%6tx] %s..%s\n"
#: src/readelf.c:4807
#, c-format
-msgid " %Zu padding bytes\n"
+msgid " %zu padding bytes\n"
msgstr ""
#: src/readelf.c:4825
@@ -5991,7 +6006,7 @@ msgstr " Propietario Tamaño\n"
msgid " Version: %<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:7244 src/readelf.c:7977
+#: src/readelf.c:7244 src/readelf.c:7978
#, c-format
msgid " unknown version, cannot parse section\n"
msgstr ""
@@ -6113,12 +6128,12 @@ msgstr ""
" Landing pad: %#<PRIx64>\n"
" Action: %u\n"
-#: src/readelf.c:7913
+#: src/readelf.c:7914
#, c-format
msgid "invalid TType encoding"
msgstr "Codificación TType inválida"
-#: src/readelf.c:7939
+#: src/readelf.c:7940
#, fuzzy, c-format
msgid ""
"\n"
@@ -6127,37 +6142,37 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
-#: src/readelf.c:7968
+#: src/readelf.c:7969
#, fuzzy, c-format
msgid " Version: %<PRId32>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:7986
+#: src/readelf.c:7987
#, fuzzy, c-format
msgid " CU offset: %#<PRIx32>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:7993
+#: src/readelf.c:7994
#, fuzzy, c-format
msgid " TU offset: %#<PRIx32>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:8000
+#: src/readelf.c:8001
#, fuzzy, c-format
msgid " address offset: %#<PRIx32>\n"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:8007
+#: src/readelf.c:8008
#, fuzzy, c-format
msgid " symbol offset: %#<PRIx32>\n"
msgstr " (compensación: %#<PRIx64>)"
-#: src/readelf.c:8014
+#: src/readelf.c:8015
#, fuzzy, c-format
msgid " constant offset: %#<PRIx32>\n"
msgstr " (fin de compensación: %#<PRIx64>)"
-#: src/readelf.c:8028
+#: src/readelf.c:8029
#, fuzzy, c-format
msgid ""
"\n"
@@ -6166,7 +6181,7 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
-#: src/readelf.c:8053
+#: src/readelf.c:8054
#, fuzzy, c-format
msgid ""
"\n"
@@ -6175,7 +6190,7 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
-#: src/readelf.c:8082
+#: src/readelf.c:8083
#, fuzzy, c-format
msgid ""
"\n"
@@ -6184,7 +6199,7 @@ msgstr ""
"\n"
"Sección DWARF [%2zu] '%s' en compensación %#<PRIx64> contiene entrada %zu:\n"
-#: src/readelf.c:8115
+#: src/readelf.c:8116
#, fuzzy, c-format
msgid ""
"\n"
@@ -6193,17 +6208,17 @@ msgstr ""
"\n"
"Tabla de símbolos inválida en compensación %#0<PRIx64>\n"
-#: src/readelf.c:8202
+#: src/readelf.c:8203
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "no se puede depurar descriptor de contexto: %s"
-#: src/readelf.c:8360 src/readelf.c:8966 src/readelf.c:9077 src/readelf.c:9135
+#: src/readelf.c:8361 src/readelf.c:8983 src/readelf.c:9094 src/readelf.c:9152
#, c-format
msgid "cannot convert core note data: %s"
msgstr "no es posible convertir datos de la nota principal: %s"
-#: src/readelf.c:8707
+#: src/readelf.c:8724
#, c-format
msgid ""
"\n"
@@ -6212,21 +6227,21 @@ msgstr ""
"\n"
"%*s... <repeats %u more times> ..."
-#: src/readelf.c:9214
+#: src/readelf.c:9231
msgid " Owner Data size Type\n"
msgstr " Owner Data size Type\n"
-#: src/readelf.c:9232
+#: src/readelf.c:9249
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:9282
+#: src/readelf.c:9299
#, 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:9309
+#: src/readelf.c:9326
#, c-format
msgid ""
"\n"
@@ -6235,7 +6250,7 @@ msgstr ""
"\n"
"Sección de nota [%2zu] '%s' de %<PRIu64> bytes en compensación %#0<PRIx64>:\n"
-#: src/readelf.c:9332
+#: src/readelf.c:9349
#, c-format
msgid ""
"\n"
@@ -6244,50 +6259,50 @@ msgstr ""
"\n"
"Segmento de nota de %<PRIu64> bytes en compensación %#0<PRIx64>:\n"
-#: src/readelf.c:9378
-#, c-format
+#: src/readelf.c:9395
+#, fuzzy, c-format
msgid ""
"\n"
-"Section [%Zu] '%s' has no data to dump.\n"
+"Section [%zu] '%s' has no data to dump.\n"
msgstr ""
"\n"
"Sección [%Zu] '%s' no tiene datos para volcar.\n"
-#: src/readelf.c:9384 src/readelf.c:9407
-#, c-format
-msgid "cannot get data for section [%Zu] '%s': %s"
+#: src/readelf.c:9401 src/readelf.c:9424
+#, 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:9388
-#, c-format
+#: src/readelf.c:9405
+#, fuzzy, c-format
msgid ""
"\n"
-"Hex dump of section [%Zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n"
+"Hex dump of section [%zu] '%s', %<PRIu64> bytes 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:9401
-#, c-format
+#: src/readelf.c:9418
+#, fuzzy, c-format
msgid ""
"\n"
-"Section [%Zu] '%s' has no strings to dump.\n"
+"Section [%zu] '%s' has no strings to dump.\n"
msgstr ""
"\n"
"Sección [%Zu] '%s' no tiene datos para volcar.\n"
-#: src/readelf.c:9411
-#, c-format
+#: src/readelf.c:9428
+#, fuzzy, c-format
msgid ""
"\n"
-"String section [%Zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n"
+"String section [%zu] '%s' contains %<PRIu64> bytes 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:9459
+#: src/readelf.c:9476
#, c-format
msgid ""
"\n"
@@ -6296,7 +6311,7 @@ msgstr ""
"\n"
"sección [%lu] no existe"
-#: src/readelf.c:9488
+#: src/readelf.c:9505
#, c-format
msgid ""
"\n"
@@ -6305,12 +6320,12 @@ msgstr ""
"\n"
"sección '%s' no existe"
-#: src/readelf.c:9545
+#: src/readelf.c:9562
#, 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:9548
+#: src/readelf.c:9565
#, c-format
msgid ""
"\n"
@@ -6319,21 +6334,21 @@ msgstr ""
"\n"
"Archivo '%s' no tiene índice de símbolo\n"
-#: src/readelf.c:9552
-#, c-format
+#: src/readelf.c:9569
+#, fuzzy, c-format
msgid ""
"\n"
-"Index of archive '%s' has %Zu entries:\n"
+"Index of archive '%s' has %zu entries:\n"
msgstr ""
"\n"
"Índice de archivo '%s' tiene %Zu entradas:\n"
-#: src/readelf.c:9570
-#, c-format
-msgid "cannot extract member at offset %Zu in '%s': %s"
+#: src/readelf.c:9587
+#, 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:9575
+#: src/readelf.c:9592
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "Miembro de archivo contiene '%s':\n"
@@ -6525,19 +6540,19 @@ msgstr ""
msgid "Couldn't show any frames."
msgstr ""
-#: src/strings.c:62
+#: src/strings.c:66
msgid "Output Selection:"
msgstr "Selección de salida:"
-#: src/strings.c:63
+#: src/strings.c:67
msgid "Scan entire file, not only loaded sections"
msgstr "Explorar todo el archivo, no sólo las secciones cargadas"
-#: src/strings.c:65
+#: src/strings.c:69
msgid "Only NUL-terminated sequences of MIN-LEN characters or more are printed"
msgstr "Sólo secuencias NUL-terminated de caracteres MIN-LEN o más se imprimen"
-#: src/strings.c:66
+#: src/strings.c:70
msgid ""
"Select character size and endianess: s = 7-bit, S = 8-bit, {b,l} = 16-bit, "
"{B,L} = 32-bit"
@@ -6545,48 +6560,48 @@ msgstr ""
"Seleccionar tamaño de caracter y Endianess: s = 7-bit, S = 8-bit, {b,l} = 16-"
"bit, {B,L} = 32-bit"
-#: src/strings.c:70
+#: src/strings.c:74
msgid "Print name of the file before each string."
msgstr "Imprimir nombre de archivo antes de cada cadena."
-#: src/strings.c:72
+#: src/strings.c:76
msgid "Print location of the string in base 8, 10, or 16 respectively."
msgstr "Imprimir ubicación de la cadena en base 8, 10, o 16 respectivamente."
-#: src/strings.c:73
+#: src/strings.c:77
msgid "Alias for --radix=o"
msgstr "Alias para --radix=o"
-#: src/strings.c:80
+#: src/strings.c:84
msgid "Print the strings of printable characters in files."
msgstr "Imprimir las cadenas de caracteres imprimibles en archivos."
-#: src/strings.c:267 src/strings.c:302
+#: src/strings.c:271 src/strings.c:306
#, c-format
msgid "invalid value '%s' for %s parameter"
msgstr "Valor inválido '%s' para parámetro %s"
-#: src/strings.c:313
+#: src/strings.c:317
#, c-format
msgid "invalid minimum length of matched string size"
msgstr "longitud mínima inválida de tamaño de cadena coincidente"
-#: src/strings.c:596
-#, c-format
-msgid "lseek64 failed"
+#: src/strings.c:600
+#, fuzzy, c-format
+msgid "lseek failed"
msgstr "lseek64 falló"
-#: src/strings.c:613 src/strings.c:677
+#: src/strings.c:617 src/strings.c:681
#, c-format
msgid "re-mmap failed"
msgstr "re-mmap falló"
-#: src/strings.c:650
+#: src/strings.c:654
#, c-format
msgid "mprotect failed"
msgstr "mprotect falló"
-#: src/strings.c:739
+#: src/strings.c:743
#, c-format
msgid "Skipping section %zd '%s' data outside file"
msgstr ""
@@ -6704,72 +6719,72 @@ msgstr "no se puede crear fichero nuevo '%s': %s"
msgid "illformed file '%s'"
msgstr "Fichero illformed '%s'"
-#: src/strip.c:966 src/strip.c:1064
+#: src/strip.c:968 src/strip.c:1067
#, c-format
msgid "while generating output file: %s"
msgstr "al generar fichero de salida: %s"
-#: src/strip.c:1031 src/strip.c:2066
+#: src/strip.c:1033 src/strip.c:2071
#, c-format
msgid "%s: error while creating ELF header: %s"
msgstr "%s: error al crear encabezamiento ELF: %s"
-#: src/strip.c:1047
+#: src/strip.c:1050
#, c-format
msgid "while preparing output for '%s'"
msgstr "al preparar salida para '%s'"
-#: src/strip.c:1105 src/strip.c:1168
+#: src/strip.c:1108 src/strip.c:1171
#, c-format
msgid "while create section header section: %s"
msgstr "al crear sección de encabezamiento de sección: %s"
-#: src/strip.c:1114
+#: src/strip.c:1117
#, c-format
msgid "cannot allocate section data: %s"
msgstr "no se puede asignar espacio para los datos: %s"
-#: src/strip.c:1180
+#: src/strip.c:1183
#, c-format
msgid "while create section header string table: %s"
msgstr "al crear tabla de cadenas de encabezamiento de sección: %s"
-#: src/strip.c:1856
+#: src/strip.c:1861
#, fuzzy, c-format
msgid "bad relocation"
msgstr "Mostrar reubicaciones"
-#: src/strip.c:1977 src/strip.c:2090
+#: src/strip.c:1982 src/strip.c:2095
#, c-format
msgid "while writing '%s': %s"
msgstr "al escribir '%s': %s"
-#: src/strip.c:1988
+#: src/strip.c:1993
#, c-format
msgid "while creating '%s'"
msgstr "al crear '%s'"
-#: src/strip.c:2011
+#: src/strip.c:2016
#, c-format
msgid "while computing checksum for debug information"
msgstr "al computar la suma de verificación para información de depuración"
-#: src/strip.c:2075
+#: src/strip.c:2080
#, c-format
msgid "%s: error while reading the file: %s"
msgstr "%s: error al leer el fichero: %s"
-#: src/strip.c:2115 src/strip.c:2135
+#: src/strip.c:2120 src/strip.c:2140
#, c-format
msgid "while writing '%s'"
msgstr "al escribir '%s'"
-#: src/strip.c:2172 src/strip.c:2179
+#: src/strip.c:2177 src/strip.c:2184
#, c-format
msgid "error while finishing '%s': %s"
msgstr "Error al terminar '%s': %s"
-#: src/strip.c:2196 src/strip.c:2268
+#: src/strip.c:2201 src/strip.c:2273
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr "no es posible establecer acceso y fecha de modificación de '%s'"
@@ -6857,12 +6872,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:1831 src/unstrip.c:1875
+#: src/unstrip.c:261 src/unstrip.c:1903 src/unstrip.c:1947
#, 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:1835
+#: src/unstrip.c:266 src/unstrip.c:1907
#, c-format
msgid "cannot create program headers: %s"
msgstr "No pueden crear encabezamientos de programa: %s"
@@ -6877,12 +6892,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:1512
+#: src/unstrip.c:285 src/unstrip.c:1541
#, 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:1514
+#: src/unstrip.c:287 src/unstrip.c:1543
#, c-format
msgid "cannot copy section data: %s"
msgstr "no pueden copiar datos de sección: %s"
@@ -6892,13 +6907,13 @@ 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:1546
+#: src/unstrip.c:351 src/unstrip.c:768 src/unstrip.c:1575
#, 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:1567 src/unstrip.c:1697 src/unstrip.c:1721
+#: src/unstrip.c:1596 src/unstrip.c:1769 src/unstrip.c:1793
#, c-format
msgid "cannot update symbol table: %s"
msgstr "no se puede actualizar tabla de símbolos: %s"
@@ -6919,109 +6934,114 @@ msgid "cannot get symbol version: %s"
msgstr "no se puede obtener versión de símbolo: %s"
#: src/unstrip.c:526
-#, c-format
-msgid "unexpected section type in [%Zu] with sh_link to symtab"
+#, 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
-#, c-format
-msgid "invalid string offset in symbol [%Zu]"
+#, fuzzy, c-format
+msgid "invalid string offset in symbol [%zu]"
msgstr "compensación de cadena inválida en símbolo [%Zu]"
-#: src/unstrip.c:916 src/unstrip.c:1257
-#, c-format
-msgid "cannot read section [%Zu] name: %s"
+#: src/unstrip.c:932 src/unstrip.c:1278
+#, fuzzy, c-format
+msgid "cannot read section [%zu] name: %s"
msgstr "no se puede leer nombre [%Zu]: %s"
-#: src/unstrip.c:957 src/unstrip.c:976 src/unstrip.c:1009
+#: src/unstrip.c:973 src/unstrip.c:992 src/unstrip.c:1027
#, c-format
msgid "cannot read '.gnu.prelink_undo' section: %s"
msgstr "no se puede leer sección '.gnu.prelink_undo': %s"
-#: src/unstrip.c:997
+#: src/unstrip.c:1013
#, c-format
msgid "invalid contents in '%s' section"
msgstr "contenido inválido en sección '%s'"
-#: src/unstrip.c:1052 src/unstrip.c:1377
+#: src/unstrip.c:1019
#, c-format
-msgid "cannot find matching section for [%Zu] '%s'"
+msgid "overflow with shnum = %zu in '%s' section"
+msgstr ""
+
+#: src/unstrip.c:1073 src/unstrip.c:1398
+#, 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:1177 src/unstrip.c:1192 src/unstrip.c:1458
+#: src/unstrip.c:1198 src/unstrip.c:1213 src/unstrip.c:1479 src/unstrip.c:1731
#, 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:1201
+#: src/unstrip.c:1222
#, 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:1228 src/unstrip.c:1232
+#: src/unstrip.c:1249 src/unstrip.c:1253
#, 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:1236 src/unstrip.c:1240 src/unstrip.c:1473
+#: src/unstrip.c:1257 src/unstrip.c:1261 src/unstrip.c:1494
#, c-format
msgid "cannot get section count: %s"
msgstr "No se puede obtener cuenta de sección: %s"
-#: src/unstrip.c:1243
+#: src/unstrip.c:1264
#, 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:1302 src/unstrip.c:1392
+#: src/unstrip.c:1323 src/unstrip.c:1413
#, 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:1452
+#: src/unstrip.c:1473
#, c-format
msgid "cannot add new section: %s"
msgstr "No se puede añadir nueva sección: %s"
-#: src/unstrip.c:1554
-#, c-format
-msgid "symbol [%Zu] has invalid section index"
+#: src/unstrip.c:1583
+#, fuzzy, c-format
+msgid "symbol [%zu] has invalid section index"
msgstr "símbolo [%Zu] tiene índice de sección inválido"
-#: src/unstrip.c:1792
+#: src/unstrip.c:1864
#, c-format
msgid "cannot read section data: %s"
msgstr "no se puede leer la sección de datos: %s"
-#: src/unstrip.c:1813
+#: src/unstrip.c:1885
#, c-format
msgid "cannot get ELF header: %s"
msgstr "no se puede leer encabezamiento ELF: %s"
-#: src/unstrip.c:1845
+#: src/unstrip.c:1917
#, c-format
msgid "cannot update program header: %s"
msgstr "no se puede actualizar encabezamiento de programa: %s"
-#: src/unstrip.c:1850 src/unstrip.c:1933
+#: src/unstrip.c:1922 src/unstrip.c:2005
#, c-format
msgid "cannot write output file: %s"
msgstr "no se puede escribir al archivo de salida: %s"
-#: src/unstrip.c:1902
+#: src/unstrip.c:1974
#, 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:1905
+#: src/unstrip.c:1977
#, c-format
msgid ""
"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
@@ -7029,77 +7049,77 @@ msgstr ""
"Datos DWARF en '%s' no se ajustan a polarización de pre-enlace; considere "
"prelink -u"
-#: src/unstrip.c:1924 src/unstrip.c:1975 src/unstrip.c:1987 src/unstrip.c:2073
+#: src/unstrip.c:1996 src/unstrip.c:2047 src/unstrip.c:2059 src/unstrip.c:2145
#, c-format
msgid "cannot create ELF descriptor: %s"
msgstr "no se puede crear un descriptor ELF: %s"
-#: src/unstrip.c:1966
+#: src/unstrip.c:2038
msgid "WARNING: "
msgstr ""
-#: src/unstrip.c:1968
+#: src/unstrip.c:2040
msgid ", use --force"
msgstr ""
-#: src/unstrip.c:1991
+#: src/unstrip.c:2063
msgid "ELF header identification (e_ident) different"
msgstr ""
-#: src/unstrip.c:1994
+#: src/unstrip.c:2066
msgid "ELF header type (e_type) different"
msgstr ""
-#: src/unstrip.c:1997
+#: src/unstrip.c:2069
msgid "ELF header machine type (e_machine) different"
msgstr ""
-#: src/unstrip.c:2000
+#: src/unstrip.c:2072
msgid "stripped program header (e_phnum) smaller than unstripped"
msgstr ""
-#: src/unstrip.c:2030
+#: src/unstrip.c:2102
#, 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:2034
+#: src/unstrip.c:2106
#, 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:2049
+#: src/unstrip.c:2121
#, 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:2053
+#: src/unstrip.c:2125
#, 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:2066
+#: src/unstrip.c:2138
#, c-format
msgid "module '%s' file '%s' is not stripped"
msgstr "No se obtuvo el archivo '%s' de módulo '%s' "
-#: src/unstrip.c:2097
+#: src/unstrip.c:2169
#, 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:2230
+#: src/unstrip.c:2302
#, c-format
msgid "no matching modules found"
msgstr "No se encontraron módulos coincidentes"
-#: src/unstrip.c:2239
+#: src/unstrip.c:2311
#, c-format
msgid "matched more than one module"
msgstr "coincidió con más de un módulo"
-#: src/unstrip.c:2283
+#: src/unstrip.c:2355
msgid ""
"STRIPPED-FILE DEBUG-FILE\n"
"[MODULE...]"
@@ -7107,7 +7127,7 @@ msgstr ""
"STRIPPED-FILE DEBUG-FILE\n"
"[MODULE...]"
-#: src/unstrip.c:2284
+#: src/unstrip.c:2356
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"
@@ -7157,7 +7177,7 @@ msgstr ""
"file. DEBUGFILE is the separate debuginfo file name, or - if no debuginfo "
"was found, or . if FILE contains the debug information."
-#: tests/backtrace.c:425
+#: tests/backtrace.c:427
msgid "Run executable"
msgstr ""
@@ -7170,6 +7190,9 @@ msgstr "También mostrar nombres de función"
msgid "Show instances of inlined functions"
msgstr ""
+#~ msgid "cannot get section header of section %Zu: %s"
+#~ msgstr "No se puede obtener encabezamiento de sección %Zu: %s"
+
#, fuzzy
#~ msgid "cannot attach to core"
#~ msgstr "No se puede crear el árbol de búsqueda"
diff --git a/po/ja.po b/po/ja.po
index 1791d8c..6dbd353 100644
--- a/po/ja.po
+++ b/po/ja.po
@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: ja\n"
"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-06-19 13:25+0200\n"
+"POT-Creation-Date: 2015-10-15 15:21+0200\n"
"PO-Revision-Date: 2009-09-20 15:32+0900\n"
"Last-Translator: Hyu_gabaru Ryu_ichi <hyu_gabaru(a)yahoo.co.jp>\n"
"Language-Team: Japanese <jp(a)li.org>\n"
@@ -39,8 +39,8 @@ msgstr ""
msgid "cannot allocate memory"
msgstr "PLT セクションを割り当てられません: %s"
-#: lib/xmalloc.c:54 lib/xmalloc.c:68 lib/xmalloc.c:82 src/readelf.c:3184
-#: src/readelf.c:3561 src/readelf.c:8309 src/unstrip.c:2126 src/unstrip.c:2331
+#: 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
#, c-format
msgid "memory exhausted"
msgstr "メモリー消費済み"
@@ -89,7 +89,7 @@ msgstr "データの出力中にエラー"
msgid "no backend support available"
msgstr "バックエンドサポートが利用できません"
-#: libasm/asm_error.c:84 libdw/dwarf_error.c:59 libdwfl/libdwflP.h:54
+#: libasm/asm_error.c:83 libdw/dwarf_error.c:59 libdwfl/libdwflP.h:54
#: libelf/elf_error.c:63
msgid "unknown error"
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:2273
+#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2345
msgid "Input selection options:"
msgstr "選択オプションを入力してください:"
@@ -467,82 +467,82 @@ msgstr "不当なパラメーター"
msgid "Not an ET_CORE ELF file"
msgstr "不当な ELF ファイル"
-#: libebl/eblbackendname.c:42
+#: libebl/eblbackendname.c:41
msgid "No backend"
msgstr "バックエンドがありません"
-#: libebl/eblcorenotetypename.c:102 libebl/eblobjecttypename.c:57
-#: libebl/eblobjnotetypename.c:73 libebl/eblosabiname.c:77
-#: libebl/eblsectionname.c:89 libebl/eblsectiontypename.c:119
-#: libebl/eblsegmenttypename.c:83
+#: libebl/eblcorenotetypename.c:98 libebl/eblobjecttypename.c:53
+#: libebl/eblobjnotetypename.c:69 libebl/eblosabiname.c:73
+#: libebl/eblsectionname.c:83 libebl/eblsectiontypename.c:115
+#: libebl/eblsegmenttypename.c:79
msgid "<unknown>"
msgstr "<不明>"
-#: libebl/ebldynamictagname.c:105
+#: libebl/ebldynamictagname.c:101
#, c-format
msgid "<unknown>: %#<PRIx64>"
msgstr "<不明>: %#<PRIx64>"
-#: libebl/eblobjnote.c:56
+#: libebl/eblobjnote.c:52
#, fuzzy, c-format
msgid "unknown SDT version %u\n"
msgstr "不明なバージョン"
-#: libebl/eblobjnote.c:74
+#: libebl/eblobjnote.c:70
#, fuzzy, c-format
msgid "invalid SDT probe descriptor\n"
msgstr "不当なファイル記述子"
-#: libebl/eblobjnote.c:124
+#: libebl/eblobjnote.c:120
#, c-format
msgid " PC: "
msgstr ""
-#: libebl/eblobjnote.c:126
+#: libebl/eblobjnote.c:122
#, c-format
msgid " Base: "
msgstr ""
-#: libebl/eblobjnote.c:128
+#: libebl/eblobjnote.c:124
#, c-format
msgid " Semaphore: "
msgstr ""
-#: libebl/eblobjnote.c:130
+#: libebl/eblobjnote.c:126
#, c-format
msgid " Provider: "
msgstr ""
-#: libebl/eblobjnote.c:132
+#: libebl/eblobjnote.c:128
#, c-format
msgid " Name: "
msgstr ""
-#: libebl/eblobjnote.c:134
+#: libebl/eblobjnote.c:130
#, c-format
msgid " Args: "
msgstr ""
-#: libebl/eblobjnote.c:144
+#: libebl/eblobjnote.c:140
#, c-format
msgid " Build ID: "
msgstr " ビルト ID: "
-#: libebl/eblobjnote.c:155
+#: libebl/eblobjnote.c:151
#, c-format
msgid " Linker version: %.*s\n"
msgstr ""
-#: libebl/eblobjnote.c:216
+#: libebl/eblobjnote.c:212
#, c-format
msgid " OS: %s, ABI: "
msgstr " OS: %s、ABI: "
-#: libebl/eblosabiname.c:74
+#: libebl/eblosabiname.c:70
msgid "Stand alone"
msgstr "スタンドアローン"
-#: libebl/eblsymbolbindingname.c:71 libebl/eblsymboltypename.c:77
+#: libebl/eblsymbolbindingname.c:67 libebl/eblsymboltypename.c:73
#, c-format
msgid "<unknown>: %d"
msgstr "<不明>: %d"
@@ -650,7 +650,7 @@ 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:7963
+#: src/readelf.c:7783 src/readelf.c:7964
#, c-format
msgid "invalid data"
msgstr "不当なデータ"
@@ -751,7 +751,7 @@ msgid "Print all information on one line, and indent inlines"
msgstr ""
#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:99
-#: src/strings.c:75
+#: src/strings.c:79
msgid "Miscellaneous:"
msgstr "雑則:"
@@ -766,7 +766,7 @@ 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:226
+#: src/ranlib.c:124 src/readelf.c:500 src/size.c:207 src/strings.c:230
#: src/strip.c:218 src/unstrip.c:232
#, c-format
msgid ""
@@ -780,7 +780,7 @@ msgstr ""
#: 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:231
+#: src/ranlib.c:129 src/readelf.c:505 src/size.c:212 src/strings.c:235
#: src/strip.c:223 src/unstrip.c:237
#, c-format
msgid "Written by %s.\n"
@@ -1258,8 +1258,8 @@ 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:182 src/strip.c:466 src/strip.c:503 src/unstrip.c:1922
-#: src/unstrip.c:1951
+#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:1994
+#: src/unstrip.c:2023
#, c-format
msgid "cannot open '%s'"
msgstr "'%s' を開けません"
@@ -1274,7 +1274,7 @@ msgstr ""
msgid "cannot create EBL descriptor for '%s'"
msgstr ""
-#: src/elfcmp.c:757
+#: src/elfcmp.c:757 src/findtextrel.c:409
#, c-format
msgid "cannot get section header of section %zu: %s"
msgstr ""
@@ -1484,7 +1484,7 @@ msgstr ""
#: src/elflint.c:591 src/elflint.c:1470 src/elflint.c:1521 src/elflint.c:1627
#: src/elflint.c:1963 src/elflint.c:2279 src/elflint.c:2892 src/elflint.c:3055
-#: src/elflint.c:3203 src/elflint.c:3393 src/elflint.c:4297
+#: src/elflint.c:3203 src/elflint.c:3393 src/elflint.c:4335
#, c-format
msgid "section [%2d] '%s': cannot get section data\n"
msgstr "セクション [%2d] '%s': セクションデータを得られません\n"
@@ -2317,9 +2317,9 @@ msgid "section [%2d] '%s': unknown section group flags\n"
msgstr ""
#: src/elflint.c:2688
-#, c-format
-msgid "section [%2d] '%s': section index %Zu out of range\n"
-msgstr ""
+#, fuzzy, c-format
+msgid "section [%2d] '%s': section index %zu out of range\n"
+msgstr "セクション [%2d] '%s': リロケーション %zu: オフセット境界外\n"
#: src/elflint.c:2697
#, c-format
@@ -2332,11 +2332,13 @@ msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
msgstr ""
#: src/elflint.c:2710
-#, c-format
+#, fuzzy, c-format
msgid ""
-"section [%2d] '%s': element %Zu references section [%2d] '%s' without "
+"section [%2d] '%s': element %zu references section [%2d] '%s' without "
"SHF_GROUP flag set\n"
msgstr ""
+"セクション [%2d] '%s': シンボル %zu: 参照されるセクション [%2d] '%s' は "
+"SHF_TLS フラグが設定されていません\n"
#: src/elflint.c:2717
#, c-format
@@ -2775,290 +2777,308 @@ msgstr ""
#: src/elflint.c:3944
#, c-format
+msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n"
+msgstr ""
+
+#: src/elflint.c:3951
+#, c-format
msgid "section [%2zu] '%s' is both executable and writable\n"
msgstr ""
-#: src/elflint.c:3973
+#: src/elflint.c:3981
#, c-format
msgid ""
"section [%2zu] '%s' not fully contained in segment of program header entry "
"%d\n"
msgstr ""
-#: src/elflint.c:3981
+#: src/elflint.c:3991
#, 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:3990
+#: src/elflint.c:4017
+#, 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:4028
#, 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:4001
+#: src/elflint.c:4039
#, c-format
msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
msgstr ""
-#: src/elflint.c:4011
+#: src/elflint.c:4049
#, c-format
msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
msgstr ""
-#: src/elflint.c:4021
+#: src/elflint.c:4059
#, c-format
msgid ""
"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
msgstr ""
-#: src/elflint.c:4027
+#: src/elflint.c:4065
#, 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:4035
+#: src/elflint.c:4073
#, c-format
msgid ""
"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
msgstr ""
-#: src/elflint.c:4086
+#: src/elflint.c:4124
#, c-format
msgid "more than one version symbol table present\n"
msgstr ""
-#: src/elflint.c:4109
+#: src/elflint.c:4147
#, c-format
msgid "INTERP program header entry but no .interp section\n"
msgstr ""
-#: src/elflint.c:4120
+#: src/elflint.c:4158
#, c-format
msgid ""
"loadable segment [%u] is executable but contains no executable sections\n"
msgstr ""
-#: src/elflint.c:4126
+#: src/elflint.c:4164
#, c-format
msgid "loadable segment [%u] is writable but contains no writable sections\n"
msgstr ""
-#: src/elflint.c:4137
+#: src/elflint.c:4175
#, c-format
msgid ""
"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
"exist\n"
msgstr ""
-#: src/elflint.c:4150
+#: src/elflint.c:4188
#, c-format
msgid "duplicate version index %d\n"
msgstr ""
-#: src/elflint.c:4164
+#: src/elflint.c:4202
#, c-format
msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n"
msgstr ""
-#: src/elflint.c:4213
+#: src/elflint.c:4251
#, c-format
msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n"
msgstr ""
-#: src/elflint.c:4217
+#: src/elflint.c:4255
#, c-format
msgid ""
-"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %Zu\n"
+"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
msgstr ""
-#: src/elflint.c:4240
+#: src/elflint.c:4278
#, c-format
-msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %Zu\n"
+msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %zu\n"
msgstr ""
-#: src/elflint.c:4244
+#: src/elflint.c:4282
#, c-format
msgid ""
-"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %Zu\n"
+"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n"
msgstr ""
-#: src/elflint.c:4261
+#: src/elflint.c:4299
#, c-format
msgid "phdr[%d]: no note entries defined for the type of file\n"
msgstr ""
-#: src/elflint.c:4280
+#: src/elflint.c:4318
#, c-format
msgid "phdr[%d]: cannot get content of note section: %s\n"
msgstr ""
-#: src/elflint.c:4283
+#: src/elflint.c:4321
#, c-format
msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
msgstr ""
-#: src/elflint.c:4304
+#: src/elflint.c:4342
#, c-format
msgid "section [%2d] '%s': no note entries defined for the type of file\n"
msgstr ""
-#: src/elflint.c:4311
+#: src/elflint.c:4349
#, c-format
msgid "section [%2d] '%s': cannot get content of note section\n"
msgstr ""
-#: src/elflint.c:4314
+#: src/elflint.c:4352
#, c-format
msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
msgstr ""
-#: src/elflint.c:4332
+#: src/elflint.c:4370
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
msgstr ""
-#: src/elflint.c:4347
+#: src/elflint.c:4385
#, c-format
msgid "cannot get program header entry %d: %s\n"
msgstr ""
-#: src/elflint.c:4356
+#: src/elflint.c:4394
#, c-format
msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
msgstr ""
-#: src/elflint.c:4367
+#: src/elflint.c:4405
#, c-format
msgid "more than one INTERP entry in program header\n"
msgstr ""
-#: src/elflint.c:4375
+#: src/elflint.c:4413
#, c-format
msgid "more than one TLS entry in program header\n"
msgstr ""
-#: src/elflint.c:4382
+#: src/elflint.c:4420
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr ""
-#: src/elflint.c:4396
+#: src/elflint.c:4434
#, c-format
msgid "dynamic section reference in program header has wrong offset\n"
msgstr ""
-#: src/elflint.c:4399
+#: src/elflint.c:4437
#, c-format
msgid "dynamic section size mismatch in program and section header\n"
msgstr ""
-#: src/elflint.c:4409
+#: src/elflint.c:4447
#, c-format
msgid "more than one GNU_RELRO entry in program header\n"
msgstr ""
-#: src/elflint.c:4430
+#: src/elflint.c:4468
#, c-format
msgid "loadable segment GNU_RELRO applies to is not writable\n"
msgstr ""
-#: src/elflint.c:4433
+#: src/elflint.c:4479
#, c-format
msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
msgstr ""
-#: src/elflint.c:4441 src/elflint.c:4464
+#: src/elflint.c:4486
+#, c-format
+msgid ""
+"GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
+msgstr ""
+
+#: src/elflint.c:4495 src/elflint.c:4518
#, c-format
msgid "%s segment not contained in a loaded segment\n"
msgstr ""
-#: src/elflint.c:4470
+#: src/elflint.c:4524
#, c-format
msgid "program header offset in ELF header and PHDR entry do not match"
msgstr ""
-#: src/elflint.c:4495
+#: src/elflint.c:4549
#, c-format
msgid "call frame search table reference in program header has wrong offset\n"
msgstr ""
-#: src/elflint.c:4498
+#: src/elflint.c:4552
#, c-format
msgid "call frame search table size mismatch in program and section header\n"
msgstr ""
-#: src/elflint.c:4511
+#: src/elflint.c:4565
#, c-format
msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n"
msgstr ""
-#: src/elflint.c:4519
+#: src/elflint.c:4573
#, c-format
msgid "call frame search table must be allocated\n"
msgstr ""
-#: src/elflint.c:4522
+#: src/elflint.c:4576
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
msgstr ""
-#: src/elflint.c:4526
+#: src/elflint.c:4580
#, c-format
msgid "call frame search table must not be writable\n"
msgstr ""
-#: src/elflint.c:4529
+#: src/elflint.c:4583
#, c-format
msgid "section [%2zu] '%s' must not be writable\n"
msgstr ""
-#: src/elflint.c:4534
+#: src/elflint.c:4588
#, c-format
msgid "call frame search table must not be executable\n"
msgstr ""
-#: src/elflint.c:4537
+#: src/elflint.c:4591
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
msgstr ""
-#: src/elflint.c:4548
+#: src/elflint.c:4602
#, c-format
msgid "program header entry %d: file size greater than memory size\n"
msgstr ""
-#: src/elflint.c:4555
+#: src/elflint.c:4609
#, c-format
msgid "program header entry %d: alignment not a power of 2\n"
msgstr ""
-#: src/elflint.c:4558
+#: src/elflint.c:4612
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
"alignment\n"
msgstr ""
-#: src/elflint.c:4571
+#: src/elflint.c:4625
#, 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:4605
+#: src/elflint.c:4659
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr ""
-#: src/elflint.c:4631
+#: src/elflint.c:4685
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr ""
@@ -3080,7 +3100,7 @@ msgid "Locate source of text relocations in FILEs (a.out by default)."
msgstr ""
#: src/findtextrel.c:76 src/nm.c:107 src/objdump.c:71 src/size.c:83
-#: src/strings.c:84 src/strip.c:95
+#: src/strings.c:88 src/strip.c:95
msgid "[FILE...]"
msgstr "[ふぁいる...]"
@@ -3124,11 +3144,6 @@ msgstr "プログラムヘッダーを得られません: %s"
msgid "cannot get program header index at offset %zd: %s"
msgstr "プログラムヘッダーを得られません: %s"
-#: src/findtextrel.c:409
-#, c-format
-msgid "cannot get section header of section %Zu: %s"
-msgstr ""
-
#: src/findtextrel.c:421
#, c-format
msgid "cannot get symbol table section %zu in '%s': %s"
@@ -3515,22 +3530,22 @@ msgstr "対応する -( がない -)"
msgid "unknown option '-%c %s'"
msgstr "不明なオプション '-%c %s'"
-#: src/ld.c:1136
+#: src/ld.c:1138
#, c-format
msgid "could not find input file to determine output file format"
msgstr "出力ファイル形式を決定するための入力ファイルが見つかりません"
-#: src/ld.c:1138
+#: src/ld.c:1140
#, c-format
msgid "try again with an appropriate '-m' parameter"
msgstr "適切な '-m' パラメーターを付けて再試行してください"
-#: src/ld.c:1432
+#: src/ld.c:1434
#, c-format
msgid "cannot read version script '%s'"
msgstr "バージョンスクリプト '%s' を読めません"
-#: src/ld.c:1498 src/ld.c:1537
+#: src/ld.c:1500 src/ld.c:1539
#, c-format
msgid "duplicate definition of '%s' in linker script"
msgstr "リンカースクリプトに '%s' の重複定義"
@@ -3817,7 +3832,7 @@ msgstr "内部エラー: 非 nobits セクションが nobits セクションに
msgid "cannot get header of 0th section: %s"
msgstr "0番目のセクションのヘッダーを得られません: %s"
-#: src/ldgeneric.c:6930 src/unstrip.c:1821
+#: src/ldgeneric.c:6930 src/unstrip.c:1893
#, c-format
msgid "cannot update ELF header: %s"
msgstr "ELF ヘッダーを更新できません: %s"
@@ -3871,7 +3886,7 @@ msgstr "リンカースクリプト '%1$s' 読込み中: %3$d 行目の %2$s"
#: src/ldscript.y:737
#, fuzzy, c-format
-msgid "symbol '%s' is declared both local and global for unnamed version"
+msgid "symbol '%s' is declared both local and global for unnamed version '%s'"
msgstr "名前なしバージョン用のローカルとグローバルで宣言されたシンボル '%s'"
#: src/ldscript.y:739
@@ -3984,7 +3999,7 @@ 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/strip.c:2275
+#: src/strip.c:2280
#, c-format
msgid "while closing '%s'"
msgstr "'%s' を閉じている最中"
@@ -4032,8 +4047,8 @@ msgstr "検索ツリーを生成できません"
#: 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:8211 src/readelf.c:9297 src/readelf.c:9444
-#: src/readelf.c:9512 src/size.c:413 src/size.c:482 src/strip.c:520
+#: 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
#, c-format
msgid "cannot get section header string table index"
msgstr "セクションヘッダー文字列テーブル索引が得られません"
@@ -4301,11 +4316,11 @@ msgstr "Elf 記述子を生成できません: %s"
msgid "cannot get section: %s"
msgstr "セクションを得られません: %s"
-#: src/readelf.c:554 src/readelf.c:1106 src/readelf.c:1277 src/readelf.c:9464
+#: 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:1062
-#: src/unstrip.c:1253 src/unstrip.c:1313 src/unstrip.c:1434 src/unstrip.c:1487
-#: src/unstrip.c:1594 src/unstrip.c:1783
+#: 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
#, c-format
msgid "cannot get section header: %s"
msgstr "セクションヘッダーを得られません: %s"
@@ -4316,7 +4331,7 @@ 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:7948
+#: src/readelf.c:7949
#, c-format
msgid "cannot get %s content: %s"
msgstr "%s の内容を得られません: %s"
@@ -4618,7 +4633,7 @@ msgstr ""
" セクションからセグメントへのマッビング:\n"
" セグメント セクション..."
-#: src/readelf.c:1258 src/unstrip.c:1842 src/unstrip.c:1885 src/unstrip.c:1892
+#: src/readelf.c:1258 src/unstrip.c:1914 src/unstrip.c:1957 src/unstrip.c:1964
#, c-format
msgid "cannot get program header: %s"
msgstr "プログラムヘッダーを得られません: %s"
@@ -4660,7 +4675,7 @@ 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
#, fuzzy, c-format
-msgid "invalid sh_link value in section %Zu"
+msgid "invalid sh_link value in section %zu"
msgstr "不当な .debug_line セクション"
#: src/readelf.c:1588
@@ -5203,10 +5218,10 @@ msgstr ""
"オフセット %3$#<PRIx64> の DWARF セクション [%1$2zu] '%2$s':\n"
#: src/readelf.c:4689 src/readelf.c:6386
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
-"Table at offset %Zu:\n"
+"Table at offset %zu:\n"
msgstr ""
"\n"
"オフセット %Zu のテーブル:\n"
@@ -5272,7 +5287,7 @@ msgstr " [%6tx] %s..%s\n"
#: src/readelf.c:4807
#, c-format
-msgid " %Zu padding bytes\n"
+msgid " %zu padding bytes\n"
msgstr ""
#: src/readelf.c:4825
@@ -5683,7 +5698,7 @@ msgstr " 所有者 大きさ\n"
msgid " Version: %<PRIu16>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:7244 src/readelf.c:7977
+#: src/readelf.c:7244 src/readelf.c:7978
#, c-format
msgid " unknown version, cannot parse section\n"
msgstr ""
@@ -5806,12 +5821,12 @@ msgstr ""
" 離着陸場: %#<PRIx64>\n"
" 行動: %u\n"
-#: src/readelf.c:7913
+#: src/readelf.c:7914
#, c-format
msgid "invalid TType encoding"
msgstr "不当な TType コード化"
-#: src/readelf.c:7939
+#: src/readelf.c:7940
#, fuzzy, c-format
msgid ""
"\n"
@@ -5821,37 +5836,37 @@ msgstr ""
"オフセット %3$#<PRIx64> の DWARF セクション [%1$2zu] '%2$s' には %4$zu 個の項"
"目があります:\n"
-#: src/readelf.c:7968
+#: src/readelf.c:7969
#, fuzzy, c-format
msgid " Version: %<PRId32>\n"
msgstr " %s: %<PRId64>\n"
-#: src/readelf.c:7986
+#: src/readelf.c:7987
#, fuzzy, c-format
msgid " CU offset: %#<PRIx32>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:7993
+#: src/readelf.c:7994
#, fuzzy, c-format
msgid " TU offset: %#<PRIx32>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:8000
+#: src/readelf.c:8001
#, fuzzy, c-format
msgid " address offset: %#<PRIx32>\n"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:8007
+#: src/readelf.c:8008
#, fuzzy, c-format
msgid " symbol offset: %#<PRIx32>\n"
msgstr " (オフセット: %#<PRIx64>)"
-#: src/readelf.c:8014
+#: src/readelf.c:8015
#, fuzzy, c-format
msgid " constant offset: %#<PRIx32>\n"
msgstr " (終了オフセット: %#<PRIx64>)"
-#: src/readelf.c:8028
+#: src/readelf.c:8029
#, fuzzy, c-format
msgid ""
"\n"
@@ -5861,7 +5876,7 @@ msgstr ""
"オフセット %3$#<PRIx64> の DWARF セクション [%1$2zu] '%2$s' には %4$zu 個の項"
"目があります:\n"
-#: src/readelf.c:8053
+#: src/readelf.c:8054
#, fuzzy, c-format
msgid ""
"\n"
@@ -5871,7 +5886,7 @@ msgstr ""
"オフセット %3$#<PRIx64> の DWARF セクション [%1$2zu] '%2$s' には %4$zu 個の項"
"目があります:\n"
-#: src/readelf.c:8082
+#: src/readelf.c:8083
#, fuzzy, c-format
msgid ""
"\n"
@@ -5881,7 +5896,7 @@ msgstr ""
"オフセット %3$#<PRIx64> の DWARF セクション [%1$2zu] '%2$s' には %4$zu 個の項"
"目があります:\n"
-#: src/readelf.c:8115
+#: src/readelf.c:8116
#, fuzzy, c-format
msgid ""
"\n"
@@ -5890,17 +5905,17 @@ msgstr ""
"\n"
"オフセット %#0<PRIx64> に不当なシンボルテーブル\n"
-#: src/readelf.c:8202
+#: src/readelf.c:8203
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "デバッグ内容記述子を得られません: %s"
-#: src/readelf.c:8360 src/readelf.c:8966 src/readelf.c:9077 src/readelf.c:9135
+#: src/readelf.c:8361 src/readelf.c:8983 src/readelf.c:9094 src/readelf.c:9152
#, c-format
msgid "cannot convert core note data: %s"
msgstr "コアノートデータの変換ができません: %s"
-#: src/readelf.c:8707
+#: src/readelf.c:8724
#, c-format
msgid ""
"\n"
@@ -5909,21 +5924,21 @@ msgstr ""
"\n"
"%*s... < %u 回の繰返し> ..."
-#: src/readelf.c:9214
+#: src/readelf.c:9231
msgid " Owner Data size Type\n"
msgstr " 所有者 データ大きさタイプ\n"
-#: src/readelf.c:9232
+#: src/readelf.c:9249
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:9282
+#: src/readelf.c:9299
#, c-format
msgid "cannot get content of note section: %s"
msgstr "ノートセクションの内容を得られません: %s"
-#: src/readelf.c:9309
+#: src/readelf.c:9326
#, c-format
msgid ""
"\n"
@@ -5933,7 +5948,7 @@ msgstr ""
"オフセット %4$#0<PRIx64> の %3$<PRIu64> バイトのノートセクション [%1$2zu] "
"'%2$s':\n"
-#: src/readelf.c:9332
+#: src/readelf.c:9349
#, c-format
msgid ""
"\n"
@@ -5942,50 +5957,50 @@ msgstr ""
"\n"
"オフセット %2$#0<PRIx64> の %1$<PRIu64> バイトのノートセグメント:\n"
-#: src/readelf.c:9378
-#, c-format
+#: src/readelf.c:9395
+#, fuzzy, c-format
msgid ""
"\n"
-"Section [%Zu] '%s' has no data to dump.\n"
+"Section [%zu] '%s' has no data to dump.\n"
msgstr ""
"\n"
"セクション [%Zu] '%s' にはダンプすべきデータがありません。\n"
-#: src/readelf.c:9384 src/readelf.c:9407
-#, c-format
-msgid "cannot get data for section [%Zu] '%s': %s"
+#: src/readelf.c:9401 src/readelf.c:9424
+#, fuzzy, c-format
+msgid "cannot get data for section [%zu] '%s': %s"
msgstr "セクション [%Zu] '%s' からデータが得られません: %s"
-#: src/readelf.c:9388
-#, c-format
+#: src/readelf.c:9405
+#, fuzzy, c-format
msgid ""
"\n"
-"Hex dump of section [%Zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n"
+"Hex dump of section [%zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
"\n"
"オフセット %4$#0<PRIx64> のセクション [%1$Zu] '%2$s' の16進ダン"
"プ、%3$<PRIu64> バイト:\n"
-#: src/readelf.c:9401
+#: src/readelf.c:9418
#, fuzzy, c-format
msgid ""
"\n"
-"Section [%Zu] '%s' has no strings to dump.\n"
+"Section [%zu] '%s' has no strings to dump.\n"
msgstr ""
"\n"
"セクション [%Zu] '%s' にはダンプすべきデータがありません。\n"
-#: src/readelf.c:9411
-#, c-format
+#: src/readelf.c:9428
+#, fuzzy, c-format
msgid ""
"\n"
-"String section [%Zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n"
+"String section [%zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n"
msgstr ""
"\n"
"オフセット %4$#0<PRIx64> 文字列セクション [%1$Zu] '%2$s' には %3$<PRIu64> バ"
"イトあります:\n"
-#: src/readelf.c:9459
+#: src/readelf.c:9476
#, c-format
msgid ""
"\n"
@@ -5994,7 +6009,7 @@ msgstr ""
"\n"
"セクション [%lu] がありません"
-#: src/readelf.c:9488
+#: src/readelf.c:9505
#, c-format
msgid ""
"\n"
@@ -6003,12 +6018,12 @@ msgstr ""
"\n"
"セクション '%s' がありません"
-#: src/readelf.c:9545
+#: src/readelf.c:9562
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr "アーカイブのシンボル索引 '%s' を得られません: %s"
-#: src/readelf.c:9548
+#: src/readelf.c:9565
#, c-format
msgid ""
"\n"
@@ -6017,21 +6032,21 @@ msgstr ""
"\n"
"アーカイブ '%s' にはシンボル索引がありません\n"
-#: src/readelf.c:9552
-#, c-format
+#: src/readelf.c:9569
+#, fuzzy, c-format
msgid ""
"\n"
-"Index of archive '%s' has %Zu entries:\n"
+"Index of archive '%s' has %zu entries:\n"
msgstr ""
"\n"
"アーカイブ '%s' の索引には %Zu 項目あります:\n"
-#: src/readelf.c:9570
-#, c-format
-msgid "cannot extract member at offset %Zu in '%s': %s"
+#: src/readelf.c:9587
+#, fuzzy, c-format
+msgid "cannot extract member at offset %zu in '%s': %s"
msgstr "'%2$s' の オフセット %1$Zu のメンバーを抽出できません: %3$s"
-#: src/readelf.c:9575
+#: src/readelf.c:9592
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "アーカイブメンバー '%s' には以下があります:\n"
@@ -6222,66 +6237,66 @@ msgstr ""
msgid "Couldn't show any frames."
msgstr ""
-#: src/strings.c:62
+#: src/strings.c:66
msgid "Output Selection:"
msgstr ""
-#: src/strings.c:63
+#: src/strings.c:67
msgid "Scan entire file, not only loaded sections"
msgstr ""
-#: src/strings.c:65
+#: src/strings.c:69
msgid "Only NUL-terminated sequences of MIN-LEN characters or more are printed"
msgstr ""
-#: src/strings.c:66
+#: src/strings.c:70
msgid ""
"Select character size and endianess: s = 7-bit, S = 8-bit, {b,l} = 16-bit, "
"{B,L} = 32-bit"
msgstr ""
-#: src/strings.c:70
+#: src/strings.c:74
msgid "Print name of the file before each string."
msgstr ""
-#: src/strings.c:72
+#: src/strings.c:76
msgid "Print location of the string in base 8, 10, or 16 respectively."
msgstr ""
-#: src/strings.c:73
+#: src/strings.c:77
msgid "Alias for --radix=o"
msgstr ""
-#: src/strings.c:80
+#: src/strings.c:84
msgid "Print the strings of printable characters in files."
msgstr ""
-#: src/strings.c:267 src/strings.c:302
+#: src/strings.c:271 src/strings.c:306
#, c-format
msgid "invalid value '%s' for %s parameter"
msgstr ""
-#: src/strings.c:313
+#: src/strings.c:317
#, c-format
msgid "invalid minimum length of matched string size"
msgstr ""
-#: src/strings.c:596
+#: src/strings.c:600
#, c-format
-msgid "lseek64 failed"
+msgid "lseek failed"
msgstr ""
-#: src/strings.c:613 src/strings.c:677
+#: src/strings.c:617 src/strings.c:681
#, c-format
msgid "re-mmap failed"
msgstr ""
-#: src/strings.c:650
+#: src/strings.c:654
#, c-format
msgid "mprotect failed"
msgstr ""
-#: src/strings.c:739
+#: src/strings.c:743
#, c-format
msgid "Skipping section %zd '%s' data outside file"
msgstr ""
@@ -6399,72 +6414,72 @@ msgstr "新しいファイル '%s' を生成できません: %s"
msgid "illformed file '%s'"
msgstr "不適格なファイル '%s'"
-#: src/strip.c:966 src/strip.c:1064
+#: src/strip.c:968 src/strip.c:1067
#, c-format
msgid "while generating output file: %s"
msgstr "出力ファイルを生成している間: %s"
-#: src/strip.c:1031 src/strip.c:2066
+#: src/strip.c:1033 src/strip.c:2071
#, c-format
msgid "%s: error while creating ELF header: %s"
msgstr "%s: ELF ヘッダーを生成している間にエラー: %s"
-#: src/strip.c:1047
+#: src/strip.c:1050
#, c-format
msgid "while preparing output for '%s'"
msgstr "'%s' のための出力を準備している間"
-#: src/strip.c:1105 src/strip.c:1168
+#: src/strip.c:1108 src/strip.c:1171
#, c-format
msgid "while create section header section: %s"
msgstr "セクションヘッダーセクションを生成している間: %s"
-#: src/strip.c:1114
+#: src/strip.c:1117
#, c-format
msgid "cannot allocate section data: %s"
msgstr "セクションデータを割り当てられません: %s"
-#: src/strip.c:1180
+#: src/strip.c:1183
#, c-format
msgid "while create section header string table: %s"
msgstr "セクションヘッダー文字列テーブルを生成中: %s"
-#: src/strip.c:1856
+#: src/strip.c:1861
#, fuzzy, c-format
msgid "bad relocation"
msgstr "リロケーションを表示"
-#: src/strip.c:1977 src/strip.c:2090
+#: src/strip.c:1982 src/strip.c:2095
#, c-format
msgid "while writing '%s': %s"
msgstr "'%s' を書込み中: %s"
-#: src/strip.c:1988
+#: src/strip.c:1993
#, c-format
msgid "while creating '%s'"
msgstr "'%s' を生成中"
-#: src/strip.c:2011
+#: src/strip.c:2016
#, c-format
msgid "while computing checksum for debug information"
msgstr "デバッグ情報のチェックサムを計算中"
-#: src/strip.c:2075
+#: src/strip.c:2080
#, c-format
msgid "%s: error while reading the file: %s"
msgstr "%s: ファイルを読込み中にエラー: %s"
-#: src/strip.c:2115 src/strip.c:2135
+#: src/strip.c:2120 src/strip.c:2140
#, fuzzy, c-format
msgid "while writing '%s'"
msgstr "'%s' を書込み中: %s"
-#: src/strip.c:2172 src/strip.c:2179
+#: src/strip.c:2177 src/strip.c:2184
#, c-format
msgid "error while finishing '%s': %s"
msgstr "'%s' の終了中にエラー: %s"
-#: src/strip.c:2196 src/strip.c:2268
+#: src/strip.c:2201 src/strip.c:2273
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr "'%s' のアクセスと変更日付を設定できません"
@@ -6550,12 +6565,12 @@ msgstr ""
msgid "cannot copy ELF header: %s"
msgstr ""
-#: src/unstrip.c:261 src/unstrip.c:1831 src/unstrip.c:1875
+#: src/unstrip.c:261 src/unstrip.c:1903 src/unstrip.c:1947
#, fuzzy, c-format
msgid "cannot get number of program headers: %s"
msgstr "セクション数を決定できません: %s"
-#: src/unstrip.c:266 src/unstrip.c:1835
+#: src/unstrip.c:266 src/unstrip.c:1907
#, c-format
msgid "cannot create program headers: %s"
msgstr ""
@@ -6570,12 +6585,12 @@ msgstr ""
msgid "cannot copy section header: %s"
msgstr ""
-#: src/unstrip.c:285 src/unstrip.c:1512
+#: src/unstrip.c:285 src/unstrip.c:1541
#, c-format
msgid "cannot get section data: %s"
msgstr ""
-#: src/unstrip.c:287 src/unstrip.c:1514
+#: src/unstrip.c:287 src/unstrip.c:1543
#, c-format
msgid "cannot copy section data: %s"
msgstr ""
@@ -6585,13 +6600,13 @@ msgstr ""
msgid "cannot create directory '%s'"
msgstr ""
-#: src/unstrip.c:351 src/unstrip.c:768 src/unstrip.c:1546
+#: src/unstrip.c:351 src/unstrip.c:768 src/unstrip.c:1575
#, 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:1567 src/unstrip.c:1697 src/unstrip.c:1721
+#: src/unstrip.c:1596 src/unstrip.c:1769 src/unstrip.c:1793
#, c-format
msgid "cannot update symbol table: %s"
msgstr ""
@@ -6613,181 +6628,186 @@ msgstr ""
#: src/unstrip.c:526
#, c-format
-msgid "unexpected section type in [%Zu] with sh_link to symtab"
+msgid "unexpected section type in [%zu] with sh_link to symtab"
msgstr ""
#: src/unstrip.c:774
-#, c-format
-msgid "invalid string offset in symbol [%Zu]"
-msgstr ""
+#, fuzzy, c-format
+msgid "invalid string offset in symbol [%zu]"
+msgstr "シンボル %2$sの不正なオフセット %1$zu "
-#: src/unstrip.c:916 src/unstrip.c:1257
-#, c-format
-msgid "cannot read section [%Zu] name: %s"
-msgstr ""
+#: src/unstrip.c:932 src/unstrip.c:1278
+#, fuzzy, c-format
+msgid "cannot read section [%zu] name: %s"
+msgstr "セクションデータを割り当てられません: %s"
-#: src/unstrip.c:957 src/unstrip.c:976 src/unstrip.c:1009
+#: src/unstrip.c:973 src/unstrip.c:992 src/unstrip.c:1027
#, c-format
msgid "cannot read '.gnu.prelink_undo' section: %s"
msgstr ""
-#: src/unstrip.c:997
+#: src/unstrip.c:1013
#, c-format
msgid "invalid contents in '%s' section"
msgstr ""
-#: src/unstrip.c:1052 src/unstrip.c:1377
+#: src/unstrip.c:1019
#, c-format
-msgid "cannot find matching section for [%Zu] '%s'"
+msgid "overflow with shnum = %zu in '%s' section"
msgstr ""
-#: src/unstrip.c:1177 src/unstrip.c:1192 src/unstrip.c:1458
+#: src/unstrip.c:1073 src/unstrip.c:1398
+#, 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
#, c-format
msgid "cannot add section name to string table: %s"
msgstr ""
-#: src/unstrip.c:1201
+#: src/unstrip.c:1222
#, c-format
msgid "cannot update section header string table data: %s"
msgstr ""
-#: src/unstrip.c:1228 src/unstrip.c:1232
+#: src/unstrip.c:1249 src/unstrip.c:1253
#, c-format
msgid "cannot get section header string table section index: %s"
msgstr ""
-#: src/unstrip.c:1236 src/unstrip.c:1240 src/unstrip.c:1473
+#: src/unstrip.c:1257 src/unstrip.c:1261 src/unstrip.c:1494
#, c-format
msgid "cannot get section count: %s"
msgstr ""
-#: src/unstrip.c:1243
+#: src/unstrip.c:1264
#, c-format
msgid "more sections in stripped file than debug file -- arguments reversed?"
msgstr ""
-#: src/unstrip.c:1302 src/unstrip.c:1392
+#: src/unstrip.c:1323 src/unstrip.c:1413
#, c-format
msgid "cannot read section header string table: %s"
msgstr ""
-#: src/unstrip.c:1452
+#: src/unstrip.c:1473
#, c-format
msgid "cannot add new section: %s"
msgstr ""
-#: src/unstrip.c:1554
-#, c-format
-msgid "symbol [%Zu] has invalid section index"
-msgstr ""
+#: src/unstrip.c:1583
+#, fuzzy, c-format
+msgid "symbol [%zu] has invalid section index"
+msgstr "不当なセクション索引"
-#: src/unstrip.c:1792
+#: src/unstrip.c:1864
#, fuzzy, c-format
msgid "cannot read section data: %s"
msgstr "セクションデータを割り当てられません: %s"
-#: src/unstrip.c:1813
+#: src/unstrip.c:1885
#, c-format
msgid "cannot get ELF header: %s"
msgstr ""
-#: src/unstrip.c:1845
+#: src/unstrip.c:1917
#, c-format
msgid "cannot update program header: %s"
msgstr ""
-#: src/unstrip.c:1850 src/unstrip.c:1933
+#: src/unstrip.c:1922 src/unstrip.c:2005
#, c-format
msgid "cannot write output file: %s"
msgstr ""
-#: src/unstrip.c:1902
+#: src/unstrip.c:1974
#, c-format
msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
msgstr ""
-#: src/unstrip.c:1905
+#: src/unstrip.c:1977
#, c-format
msgid ""
"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
msgstr ""
-#: src/unstrip.c:1924 src/unstrip.c:1975 src/unstrip.c:1987 src/unstrip.c:2073
+#: src/unstrip.c:1996 src/unstrip.c:2047 src/unstrip.c:2059 src/unstrip.c:2145
#, c-format
msgid "cannot create ELF descriptor: %s"
msgstr ""
-#: src/unstrip.c:1966
+#: src/unstrip.c:2038
msgid "WARNING: "
msgstr ""
-#: src/unstrip.c:1968
+#: src/unstrip.c:2040
msgid ", use --force"
msgstr ""
-#: src/unstrip.c:1991
+#: src/unstrip.c:2063
msgid "ELF header identification (e_ident) different"
msgstr ""
-#: src/unstrip.c:1994
+#: src/unstrip.c:2066
msgid "ELF header type (e_type) different"
msgstr ""
-#: src/unstrip.c:1997
+#: src/unstrip.c:2069
msgid "ELF header machine type (e_machine) different"
msgstr ""
-#: src/unstrip.c:2000
+#: src/unstrip.c:2072
msgid "stripped program header (e_phnum) smaller than unstripped"
msgstr ""
-#: src/unstrip.c:2030
+#: src/unstrip.c:2102
#, c-format
msgid "cannot find stripped file for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2034
+#: src/unstrip.c:2106
#, c-format
msgid "cannot open stripped file '%s' for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2049
+#: src/unstrip.c:2121
#, c-format
msgid "cannot find debug file for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2053
+#: src/unstrip.c:2125
#, c-format
msgid "cannot open debug file '%s' for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2066
+#: src/unstrip.c:2138
#, c-format
msgid "module '%s' file '%s' is not stripped"
msgstr ""
-#: src/unstrip.c:2097
+#: src/unstrip.c:2169
#, c-format
msgid "cannot cache section addresses for module '%s': %s"
msgstr ""
-#: src/unstrip.c:2230
+#: src/unstrip.c:2302
#, c-format
msgid "no matching modules found"
msgstr ""
-#: src/unstrip.c:2239
+#: src/unstrip.c:2311
#, c-format
msgid "matched more than one module"
msgstr ""
-#: src/unstrip.c:2283
+#: src/unstrip.c:2355
msgid ""
"STRIPPED-FILE DEBUG-FILE\n"
"[MODULE...]"
msgstr ""
-#: src/unstrip.c:2284
+#: src/unstrip.c:2356
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"
@@ -6814,7 +6834,7 @@ msgid ""
"was found, or . if FILE contains the debug information."
msgstr ""
-#: tests/backtrace.c:425
+#: tests/backtrace.c:427
msgid "Run executable"
msgstr ""
diff --git a/po/pl.po b/po/pl.po
index a0d7137..87da21b 100644
--- a/po/pl.po
+++ b/po/pl.po
@@ -6,7 +6,7 @@ msgid ""
msgstr ""
"Project-Id-Version: elfutils\n"
"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-06-19 13:25+0200\n"
+"POT-Creation-Date: 2015-10-15 15:21+0200\n"
"PO-Revision-Date: 2015-06-13 15:32+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag(a)gmail.com>\n"
"Language-Team: Polish <trans-pl(a)lists.fedoraproject.org>\n"
@@ -44,8 +44,8 @@ msgstr ""
msgid "cannot allocate memory"
msgstr "nie można przydzielić pamięci"
-#: lib/xmalloc.c:54 lib/xmalloc.c:68 lib/xmalloc.c:82 src/readelf.c:3184
-#: src/readelf.c:3561 src/readelf.c:8309 src/unstrip.c:2126 src/unstrip.c:2331
+#: 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
#, c-format
msgid "memory exhausted"
msgstr "pamięć wyczerpana"
@@ -94,7 +94,7 @@ msgstr "błąd podczas wyprowadzania danych"
msgid "no backend support available"
msgstr "brak dostępnej obsługi zaplecza"
-#: libasm/asm_error.c:84 libdw/dwarf_error.c:59 libdwfl/libdwflP.h:54
+#: libasm/asm_error.c:83 libdw/dwarf_error.c:59 libdwfl/libdwflP.h:54
#: libelf/elf_error.c:63
msgid "unknown error"
msgstr "nieznany błąd"
@@ -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:2273
+#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2345
msgid "Input selection options:"
msgstr "Opcje wyboru wejścia:"
@@ -460,82 +460,82 @@ msgstr "Nieprawidłowy parametr"
msgid "Not an ET_CORE ELF file"
msgstr "Nie jest plikiem ELF ET_CORE"
-#: libebl/eblbackendname.c:42
+#: libebl/eblbackendname.c:41
msgid "No backend"
msgstr "Brak zaplecza"
-#: libebl/eblcorenotetypename.c:102 libebl/eblobjecttypename.c:57
-#: libebl/eblobjnotetypename.c:73 libebl/eblosabiname.c:77
-#: libebl/eblsectionname.c:89 libebl/eblsectiontypename.c:119
-#: libebl/eblsegmenttypename.c:83
+#: libebl/eblcorenotetypename.c:98 libebl/eblobjecttypename.c:53
+#: libebl/eblobjnotetypename.c:69 libebl/eblosabiname.c:73
+#: libebl/eblsectionname.c:83 libebl/eblsectiontypename.c:115
+#: libebl/eblsegmenttypename.c:79
msgid "<unknown>"
msgstr "<nieznany>"
-#: libebl/ebldynamictagname.c:105
+#: libebl/ebldynamictagname.c:101
#, c-format
msgid "<unknown>: %#<PRIx64>"
msgstr "<nieznany>: %#<PRIx64>"
-#: libebl/eblobjnote.c:56
+#: libebl/eblobjnote.c:52
#, c-format
msgid "unknown SDT version %u\n"
msgstr "nieznana wersja SDT %u\n"
-#: libebl/eblobjnote.c:74
+#: libebl/eblobjnote.c:70
#, c-format
msgid "invalid SDT probe descriptor\n"
msgstr "nieprawidłowy deskryptor sondy SDT\n"
-#: libebl/eblobjnote.c:124
+#: libebl/eblobjnote.c:120
#, c-format
msgid " PC: "
msgstr " PC: "
-#: libebl/eblobjnote.c:126
+#: libebl/eblobjnote.c:122
#, c-format
msgid " Base: "
msgstr " Podstawa: "
-#: libebl/eblobjnote.c:128
+#: libebl/eblobjnote.c:124
#, c-format
msgid " Semaphore: "
msgstr " Semafor: "
-#: libebl/eblobjnote.c:130
+#: libebl/eblobjnote.c:126
#, c-format
msgid " Provider: "
msgstr " Dostawca: "
-#: libebl/eblobjnote.c:132
+#: libebl/eblobjnote.c:128
#, c-format
msgid " Name: "
msgstr " Nazwa: "
-#: libebl/eblobjnote.c:134
+#: libebl/eblobjnote.c:130
#, c-format
msgid " Args: "
msgstr " Parametry: "
-#: libebl/eblobjnote.c:144
+#: libebl/eblobjnote.c:140
#, c-format
msgid " Build ID: "
msgstr " Identyfikator kopii: "
-#: libebl/eblobjnote.c:155
+#: libebl/eblobjnote.c:151
#, c-format
msgid " Linker version: %.*s\n"
msgstr " Wersja konsolidatora: %.*s\n"
-#: libebl/eblobjnote.c:216
+#: libebl/eblobjnote.c:212
#, c-format
msgid " OS: %s, ABI: "
msgstr " System operacyjny: %s, ABI: "
-#: libebl/eblosabiname.c:74
+#: libebl/eblosabiname.c:70
msgid "Stand alone"
msgstr "Samodzielny"
-#: libebl/eblsymbolbindingname.c:71 libebl/eblsymboltypename.c:77
+#: libebl/eblsymbolbindingname.c:67 libebl/eblsymboltypename.c:73
#, c-format
msgid "<unknown>: %d"
msgstr "<nieznany>: %d"
@@ -642,7 +642,7 @@ 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:7963
+#: src/readelf.c:7783 src/readelf.c:7964
#, c-format
msgid "invalid data"
msgstr "nieprawidłowe dane"
@@ -744,7 +744,7 @@ msgid "Print all information on one line, and indent inlines"
msgstr "Wyświetla wszystkie informacje w jednym wierszy i wyrównuje wstawki"
#: src/addr2line.c:79 src/elfcmp.c:72 src/findtextrel.c:67 src/nm.c:99
-#: src/strings.c:75
+#: src/strings.c:79
msgid "Miscellaneous:"
msgstr "Różne:"
@@ -761,7 +761,7 @@ 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:226
+#: src/ranlib.c:124 src/readelf.c:500 src/size.c:207 src/strings.c:230
#: src/strip.c:218 src/unstrip.c:232
#, c-format
msgid ""
@@ -777,7 +777,7 @@ msgstr ""
#: 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:231
+#: src/ranlib.c:129 src/readelf.c:505 src/size.c:212 src/strings.c:235
#: src/strip.c:223 src/unstrip.c:237
#, c-format
msgid "Written by %s.\n"
@@ -1255,8 +1255,8 @@ 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:182 src/strip.c:466 src/strip.c:503 src/unstrip.c:1922
-#: src/unstrip.c:1951
+#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:1994
+#: src/unstrip.c:2023
#, c-format
msgid "cannot open '%s'"
msgstr "nie można otworzyć \"%s\""
@@ -1271,7 +1271,7 @@ msgstr "nie można utworzyć deskryptora ELF dla \"%s\": %s"
msgid "cannot create EBL descriptor for '%s'"
msgstr "nie można utworzyć deskryptora EBL dla \"%s\""
-#: src/elfcmp.c:757
+#: src/elfcmp.c:757 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"
@@ -1482,7 +1482,7 @@ msgstr ""
#: src/elflint.c:591 src/elflint.c:1470 src/elflint.c:1521 src/elflint.c:1627
#: src/elflint.c:1963 src/elflint.c:2279 src/elflint.c:2892 src/elflint.c:3055
-#: src/elflint.c:3203 src/elflint.c:3393 src/elflint.c:4297
+#: src/elflint.c:3203 src/elflint.c:3393 src/elflint.c:4335
#, c-format
msgid "section [%2d] '%s': cannot get section data\n"
msgstr "sekcja [%2d] \"%s\": nie można uzyskać danych sekcji\n"
@@ -2376,8 +2376,8 @@ msgid "section [%2d] '%s': unknown section group flags\n"
msgstr "sekcja [%2d] \"%s\": nieznane flagi grupy sekcji\n"
#: src/elflint.c:2688
-#, c-format
-msgid "section [%2d] '%s': section index %Zu out of range\n"
+#, fuzzy, c-format
+msgid "section [%2d] '%s': section index %zu out of range\n"
msgstr "sekcja [%2d] \"%s\": indeks sekcji %Zu jest spoza zakresu\n"
#: src/elflint.c:2697
@@ -2392,9 +2392,9 @@ msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n"
msgstr "sekcja [%2d] \"%s\": grupa sekcji zawiera inną grupę [%2d] \"%s\"\n"
#: src/elflint.c:2710
-#, c-format
+#, fuzzy, c-format
msgid ""
-"section [%2d] '%s': element %Zu references section [%2d] '%s' without "
+"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 "
@@ -2905,11 +2905,16 @@ msgstr ""
"sekcja [%2zu] \"%s\" posiada nieoczekiwany typ %d dla sekcji wykonywalnej\n"
#: src/elflint.c:3944
+#, fuzzy, 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"
+
+#: src/elflint.c:3951
#, c-format
msgid "section [%2zu] '%s' is both executable and writable\n"
msgstr "sekcja [%2zu] \"%s\" jest wykonywalne i zapisywalne\n"
-#: src/elflint.c:3973
+#: src/elflint.c:3981
#, c-format
msgid ""
"section [%2zu] '%s' not fully contained in segment of program header entry "
@@ -2918,7 +2923,7 @@ msgstr ""
"sekcja [%2zu] \"%s\" nie jest w całości zawarta w segmencie wpisu %d "
"nagłówka programu\n"
-#: src/elflint.c:3981
+#: src/elflint.c:3991
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -2927,7 +2932,16 @@ msgstr ""
"sekcja [%2zu] \"%s\" posiada typ NOBITS, a jest odczytywana z pliku w "
"segmencie wpisu %d nagłówka programu\n"
-#: src/elflint.c:3990
+#: src/elflint.c:4017
+#, fuzzy, 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"
+
+#: src/elflint.c:4028
#, c-format
msgid ""
"section [%2zu] '%s' has not type NOBITS but is not read from the file in "
@@ -2936,17 +2950,17 @@ msgstr ""
"sekcja [%2zu] \"%s\" nie posiada typu NOBITS, a nie jest odczytywana z pliku "
"w segmencie wpisu %d nagłówka programu\n"
-#: src/elflint.c:4001
+#: src/elflint.c:4039
#, c-format
msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
msgstr "sekcja [%2zu] \"%s\" jest wykonywalne w segmencie niewykonywalnym %d\n"
-#: src/elflint.c:4011
+#: src/elflint.c:4049
#, c-format
msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
msgstr "sekcja [%2zu] \"%s\" jest zapisywalne w niezapisywalnym segmencie %d\n"
-#: src/elflint.c:4021
+#: src/elflint.c:4059
#, c-format
msgid ""
"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
@@ -2954,7 +2968,7 @@ msgstr ""
"sekcja [%2zu] \"%s\": posiada flagę alloc, ale sekcja nie jest w żadnym "
"segmencie wczytywalnym\n"
-#: src/elflint.c:4027
+#: src/elflint.c:4065
#, c-format
msgid ""
"section [%2zu] '%s': ELF header says this is the section header string table "
@@ -2963,7 +2977,7 @@ msgstr ""
"sekcja [%2zu] \"%s\": według nagłówka ELF to jest tabela ciągów nagłówków "
"sekcji, ale typ nie jest SHT_TYPE\n"
-#: src/elflint.c:4035
+#: src/elflint.c:4073
#, c-format
msgid ""
"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
@@ -2971,17 +2985,17 @@ msgstr ""
"sekcja [%2zu] \"%s\": pliki relokowalne nie mogą posiadać tabeli symboli "
"dynamicznych\n"
-#: src/elflint.c:4086
+#: src/elflint.c:4124
#, 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:4109
+#: src/elflint.c:4147
#, 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:4120
+#: src/elflint.c:4158
#, c-format
msgid ""
"loadable segment [%u] is executable but contains no executable sections\n"
@@ -2989,14 +3003,14 @@ msgstr ""
"wczytywalny segment [%u] jest wykonywalny, ale nie zawiera wykonywalnych "
"sekcji\n"
-#: src/elflint.c:4126
+#: src/elflint.c:4164
#, 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:4137
+#: src/elflint.c:4175
#, c-format
msgid ""
"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
@@ -3005,75 +3019,75 @@ msgstr ""
"brak sekcji .gnu.versym, ale istnieje sekcja .gnu.versym_d lub .gnu."
"versym_r\n"
-#: src/elflint.c:4150
+#: src/elflint.c:4188
#, c-format
msgid "duplicate version index %d\n"
msgstr "powtórzony indeks wersji %d\n"
-#: src/elflint.c:4164
+#: src/elflint.c:4202
#, 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:4213
+#: src/elflint.c:4251
#, 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:4217
-#, c-format
+#: src/elflint.c:4255
+#, fuzzy, c-format
msgid ""
-"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %Zu\n"
+"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"
-#: src/elflint.c:4240
-#, c-format
-msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %Zu\n"
+#: src/elflint.c:4278
+#, fuzzy, 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"
-#: src/elflint.c:4244
-#, c-format
+#: src/elflint.c:4282
+#, fuzzy, c-format
msgid ""
-"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %Zu\n"
+"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n"
msgstr ""
"sekcja [%2d] \"%s\": nieznany typ notatki pliku obiektu %<PRIu32> pod "
"offsetem %Zu\n"
-#: src/elflint.c:4261
+#: src/elflint.c:4299
#, 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:4280
+#: src/elflint.c:4318
#, 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:4283
+#: src/elflint.c:4321
#, 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:4304
+#: src/elflint.c:4342
#, c-format
msgid "section [%2d] '%s': no note entries defined for the type of file\n"
msgstr "sekcja [%2d] \"%s\": brak określonych wpisów notatek dla typu pliku\n"
-#: src/elflint.c:4311
+#: src/elflint.c:4349
#, c-format
msgid "section [%2d] '%s': cannot get content of note section\n"
msgstr "sekcja [%2d] \"%s\": nie można uzyskać zawartości sekcji notatek\n"
-#: src/elflint.c:4314
+#: src/elflint.c:4352
#, c-format
msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
msgstr "sekcja [%2d] \"%s\": dodatkowe %<PRIu64> bajtów po ostatniej notatce\n"
-#: src/elflint.c:4332
+#: src/elflint.c:4370
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
@@ -3081,129 +3095,135 @@ msgstr ""
"tylko pliki wykonywalne, obiekty współdzielone i pliki core mogą posiadać "
"nagłówki programu\n"
-#: src/elflint.c:4347
+#: src/elflint.c:4385
#, 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:4356
+#: src/elflint.c:4394
#, 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:4367
+#: src/elflint.c:4405
#, 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:4375
+#: src/elflint.c:4413
#, 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:4382
+#: src/elflint.c:4420
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr "statyczny plik wykonywalny nie może posiadać sekcji dynamicznych\n"
-#: src/elflint.c:4396
+#: src/elflint.c:4434
#, 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:4399
+#: src/elflint.c:4437
#, 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:4409
+#: src/elflint.c:4447
#, 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:4430
+#: src/elflint.c:4468
#, 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:4433
+#: src/elflint.c:4479
#, 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:4441 src/elflint.c:4464
+#: src/elflint.c:4486
+#, c-format
+msgid ""
+"GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
+msgstr ""
+
+#: src/elflint.c:4495 src/elflint.c:4518
#, 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:4470
+#: src/elflint.c:4524
#, 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:4495
+#: src/elflint.c:4549
#, 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:4498
+#: src/elflint.c:4552
#, 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:4511
+#: src/elflint.c:4565
#, 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:4519
+#: src/elflint.c:4573
#, c-format
msgid "call frame search table must be allocated\n"
msgstr "tabela wyszukiwania ramki wywołania musi być przydzielona\n"
-#: src/elflint.c:4522
+#: src/elflint.c:4576
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
msgstr "sekcja [%2zu] \"%s\": musi być przydzielona\n"
-#: src/elflint.c:4526
+#: src/elflint.c:4580
#, 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:4529
+#: src/elflint.c:4583
#, c-format
msgid "section [%2zu] '%s' must not be writable\n"
msgstr "sekcja [%2zu] \"%s\" nie może być zapisywalna\n"
-#: src/elflint.c:4534
+#: src/elflint.c:4588
#, 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:4537
+#: src/elflint.c:4591
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
msgstr "sekcja [%2zu] \"%s\" nie może być wykonywalna\n"
-#: src/elflint.c:4548
+#: src/elflint.c:4602
#, 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:4555
+#: src/elflint.c:4609
#, 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:4558
+#: src/elflint.c:4612
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
@@ -3212,7 +3232,7 @@ msgstr ""
"wpis nagłówka programu %d: offset w pliku i adres wirtualny nie są "
"wielokrotnością wyrównania\n"
-#: src/elflint.c:4571
+#: src/elflint.c:4625
#, c-format
msgid ""
"executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME "
@@ -3221,12 +3241,12 @@ msgstr ""
"plik wykonywalny/DSO z sekcją .eh_frame_hdr nie posiada wpisu nagłówka "
"programu PT_GNU_EH_FRAME"
-#: src/elflint.c:4605
+#: src/elflint.c:4659
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr "nie można odczytać nagłówka ELF: %s\n"
-#: src/elflint.c:4631
+#: src/elflint.c:4685
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr "flaga relokacji tekstu jest ustawiona, ale niepotrzebna\n"
@@ -3248,7 +3268,7 @@ 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/strings.c:84 src/strip.c:95
+#: src/strings.c:88 src/strip.c:95
msgid "[FILE...]"
msgstr "[PLIK...]"
@@ -3292,11 +3312,6 @@ msgstr "nie można uzyskać liczby nagłówków programu: %s"
msgid "cannot get program header index at offset %zd: %s"
msgstr "nie można uzyskać indeksu nagłówka programu pod offsetem %zd: %s"
-#: src/findtextrel.c: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/findtextrel.c:421
#, c-format
msgid "cannot get symbol table section %zu in '%s': %s"
@@ -3689,23 +3704,23 @@ msgstr "-) bez pasującego -("
msgid "unknown option '-%c %s'"
msgstr "nieznana opcja \"-%c %s\""
-#: src/ld.c:1136
+#: src/ld.c:1138
#, c-format
msgid "could not find input file to determine output file format"
msgstr ""
"nie można odnaleźć pliku wejściowego, aby określić format pliku wyjściowego"
-#: src/ld.c:1138
+#: src/ld.c:1140
#, c-format
msgid "try again with an appropriate '-m' parameter"
msgstr "proszę spróbować jeszcze raz z odpowiednim parametrem \"-m\""
-#: src/ld.c:1432
+#: src/ld.c:1434
#, c-format
msgid "cannot read version script '%s'"
msgstr "nie można odczytać skryptu wersji \"%s\""
-#: src/ld.c:1498 src/ld.c:1537
+#: 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"
@@ -3991,7 +4006,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:1821
+#: src/ldgeneric.c:6930 src/unstrip.c:1893
#, c-format
msgid "cannot update ELF header: %s"
msgstr "nie można zaktualizować nagłówka ELF: %s"
@@ -4045,8 +4060,8 @@ msgid "while reading linker script '%s': %s at line %d"
msgstr "podczas odczytywania skryptu konsolidatora \"%s\": %s w wierszu %d"
#: src/ldscript.y:737
-#, c-format
-msgid "symbol '%s' is declared both local and global for unnamed version"
+#, fuzzy, 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"
@@ -4161,7 +4176,7 @@ 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/strip.c:2275
+#: src/strip.c:2280
#, c-format
msgid "while closing '%s'"
msgstr "podczas zamykania \"%s\""
@@ -4208,8 +4223,8 @@ msgstr "nie można utworzyć drzewa wyszukiwania"
#: 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:8211 src/readelf.c:9297 src/readelf.c:9444
-#: src/readelf.c:9512 src/size.c:413 src/size.c:482 src/strip.c:520
+#: 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
#, c-format
msgid "cannot get section header string table index"
msgstr "nie można uzyskać indeksu tabeli ciągów nagłówków sekcji"
@@ -4476,11 +4491,11 @@ msgstr "nie można utworzyć deskryptora ELF: %s"
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:9464
+#: 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:1062
-#: src/unstrip.c:1253 src/unstrip.c:1313 src/unstrip.c:1434 src/unstrip.c:1487
-#: src/unstrip.c:1594 src/unstrip.c:1783
+#: 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
#, c-format
msgid "cannot get section header: %s"
msgstr "nie można uzyskać nagłówka sekcji: %s"
@@ -4491,7 +4506,7 @@ 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:7948
+#: src/readelf.c:7949
#, c-format
msgid "cannot get %s content: %s"
msgstr "nie można uzyskać zwartości %s: %s"
@@ -4794,7 +4809,7 @@ msgstr ""
" Mapowanie sekcji do segmentów:\n"
" Segment sekcji..."
-#: src/readelf.c:1258 src/unstrip.c:1842 src/unstrip.c:1885 src/unstrip.c:1892
+#: src/readelf.c:1258 src/unstrip.c:1914 src/unstrip.c:1957 src/unstrip.c:1964
#, c-format
msgid "cannot get program header: %s"
msgstr "nie można uzyskać nagłówka programu: %s"
@@ -4845,8 +4860,8 @@ 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
-#, c-format
-msgid "invalid sh_link value in section %Zu"
+#, fuzzy, c-format
+msgid "invalid sh_link value in section %zu"
msgstr "nieprawidłowa wartość sh_link w sekcji %Zu"
#: src/readelf.c:1588
@@ -5479,10 +5494,10 @@ msgstr ""
"Sekcja DWARF [%2zu] \"%s\" pod offsetem %#<PRIx64>:\n"
#: src/readelf.c:4689 src/readelf.c:6386
-#, c-format
+#, fuzzy, c-format
msgid ""
"\n"
-"Table at offset %Zu:\n"
+"Table at offset %zu:\n"
msgstr ""
"\n"
"Tabela pod offsetem %Zu:\n"
@@ -5551,8 +5566,8 @@ msgid " %s..%s\n"
msgstr " %s..%s\n"
#: src/readelf.c:4807
-#, c-format
-msgid " %Zu padding bytes\n"
+#, fuzzy, c-format
+msgid " %zu padding bytes\n"
msgstr " bajty wypełnienia: %Zu\n"
#: src/readelf.c:4825
@@ -5964,7 +5979,7 @@ msgstr " Offset: 0x%<PRIx64>\n"
msgid " Version: %<PRIu16>\n"
msgstr " Wersja: %<PRIu16>\n"
-#: src/readelf.c:7244 src/readelf.c:7977
+#: src/readelf.c:7244 src/readelf.c:7978
#, c-format
msgid " unknown version, cannot parse section\n"
msgstr " nieznana wersja, nie można przetworzyć sekcji\n"
@@ -6084,12 +6099,12 @@ msgstr ""
" Lądowisko: %#<PRIx64>\n"
" Działanie: %u\n"
-#: src/readelf.c:7913
+#: src/readelf.c:7914
#, c-format
msgid "invalid TType encoding"
msgstr "nieprawidłowe kodowanie TType"
-#: src/readelf.c:7939
+#: src/readelf.c:7940
#, c-format
msgid ""
"\n"
@@ -6098,37 +6113,37 @@ msgstr ""
"\n"
"Sekcja GDB [%2zu] \"%s\" pod offsetem %#<PRIx64> zawiera %<PRId64> bajtów:\n"
-#: src/readelf.c:7968
+#: src/readelf.c:7969
#, c-format
msgid " Version: %<PRId32>\n"
msgstr " Wersja: %<PRId32>\n"
-#: src/readelf.c:7986
+#: src/readelf.c:7987
#, c-format
msgid " CU offset: %#<PRIx32>\n"
msgstr " offset CU: %#<PRIx32>\n"
-#: src/readelf.c:7993
+#: src/readelf.c:7994
#, c-format
msgid " TU offset: %#<PRIx32>\n"
msgstr " offset TU: %#<PRIx32>\n"
-#: src/readelf.c:8000
+#: src/readelf.c:8001
#, c-format
msgid " address offset: %#<PRIx32>\n"
msgstr " offset adresu: %#<PRIx32>\n"
-#: src/readelf.c:8007
+#: src/readelf.c:8008
#, c-format
msgid " symbol offset: %#<PRIx32>\n"
msgstr " offset symbolu: %#<PRIx32>\n"
-#: src/readelf.c:8014
+#: src/readelf.c:8015
#, c-format
msgid " constant offset: %#<PRIx32>\n"
msgstr " offset stałej: %#<PRIx32>\n"
-#: src/readelf.c:8028
+#: src/readelf.c:8029
#, c-format
msgid ""
"\n"
@@ -6137,7 +6152,7 @@ msgstr ""
"\n"
" Lista CU pod offsetem %#<PRIx32> zawiera %zu wpisów:\n"
-#: src/readelf.c:8053
+#: src/readelf.c:8054
#, c-format
msgid ""
"\n"
@@ -6146,7 +6161,7 @@ msgstr ""
"\n"
" Lista TU pod offsetem %#<PRIx32> zawiera %zu wpisów:\n"
-#: src/readelf.c:8082
+#: src/readelf.c:8083
#, c-format
msgid ""
"\n"
@@ -6155,7 +6170,7 @@ msgstr ""
"\n"
" Lista adresów pod offsetem %#<PRIx32> zawiera %zu wpisów:\n"
-#: src/readelf.c:8115
+#: src/readelf.c:8116
#, c-format
msgid ""
"\n"
@@ -6164,17 +6179,17 @@ msgstr ""
"\n"
" Tabela symboli pod offsetem %#<PRIx32> zawiera %zu gniazd:\n"
-#: src/readelf.c:8202
+#: src/readelf.c:8203
#, c-format
msgid "cannot get debug context descriptor: %s"
msgstr "nie można uzyskać deskryptora kontekstu debugowania: %s"
-#: src/readelf.c:8360 src/readelf.c:8966 src/readelf.c:9077 src/readelf.c:9135
+#: src/readelf.c:8361 src/readelf.c:8983 src/readelf.c:9094 src/readelf.c:9152
#, c-format
msgid "cannot convert core note data: %s"
msgstr "nie można przekonwertować danych notatki core: %s"
-#: src/readelf.c:8707
+#: src/readelf.c:8724
#, c-format
msgid ""
"\n"
@@ -6183,21 +6198,21 @@ msgstr ""
"\n"
"%*s... <powtarza się jeszcze %u razy>..."
-#: src/readelf.c:9214
+#: src/readelf.c:9231
msgid " Owner Data size Type\n"
msgstr " Właściciel Rozmiar danych Typ\n"
-#: src/readelf.c:9232
+#: src/readelf.c:9249
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:9282
+#: src/readelf.c:9299
#, c-format
msgid "cannot get content of note section: %s"
msgstr "nie można uzyskać zawartości sekcji notatki: %s"
-#: src/readelf.c:9309
+#: src/readelf.c:9326
#, c-format
msgid ""
"\n"
@@ -6207,7 +6222,7 @@ msgstr ""
"Segment notatki [%2zu] \"%s\" o długości %<PRIu64> bajtów pod offsetem "
"%#0<PRIx64>:\n"
-#: src/readelf.c:9332
+#: src/readelf.c:9349
#, c-format
msgid ""
"\n"
@@ -6216,50 +6231,50 @@ msgstr ""
"\n"
"Segment notatki o długości %<PRIu64> bajtów pod offsetem %#0<PRIx64>:\n"
-#: src/readelf.c:9378
-#, c-format
+#: src/readelf.c:9395
+#, fuzzy, c-format
msgid ""
"\n"
-"Section [%Zu] '%s' has no data to dump.\n"
+"Section [%zu] '%s' has no data to dump.\n"
msgstr ""
"\n"
"Sekcja [%Zu] \"%s\" nie posiada danych do zrzucenia.\n"
-#: src/readelf.c:9384 src/readelf.c:9407
-#, c-format
-msgid "cannot get data for section [%Zu] '%s': %s"
+#: src/readelf.c:9401 src/readelf.c:9424
+#, fuzzy, c-format
+msgid "cannot get data for section [%zu] '%s': %s"
msgstr "nie można uzyskać danych dla sekcji [%Zu] \"%s\": %s"
-#: src/readelf.c:9388
-#, c-format
+#: src/readelf.c:9405
+#, fuzzy, c-format
msgid ""
"\n"
-"Hex dump of section [%Zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\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 "
"%#0<PRIx64>:\n"
-#: src/readelf.c:9401
-#, c-format
+#: src/readelf.c:9418
+#, fuzzy, c-format
msgid ""
"\n"
-"Section [%Zu] '%s' has no strings to dump.\n"
+"Section [%zu] '%s' has no strings to dump.\n"
msgstr ""
"\n"
"Sekcja [%Zu] \"%s\" nie posiada ciągów do zrzucenia.\n"
-#: src/readelf.c:9411
-#, c-format
+#: src/readelf.c:9428
+#, fuzzy, c-format
msgid ""
"\n"
-"String section [%Zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\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"
-#: src/readelf.c:9459
+#: src/readelf.c:9476
#, c-format
msgid ""
"\n"
@@ -6268,7 +6283,7 @@ msgstr ""
"\n"
"sekcja [%lu] nie istnieje"
-#: src/readelf.c:9488
+#: src/readelf.c:9505
#, c-format
msgid ""
"\n"
@@ -6277,12 +6292,12 @@ msgstr ""
"\n"
"sekcja \"%s\" nie istnieje"
-#: src/readelf.c:9545
+#: src/readelf.c:9562
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr "nie można uzyskać indeksu symboli archiwum \"%s\": %s"
-#: src/readelf.c:9548
+#: src/readelf.c:9565
#, c-format
msgid ""
"\n"
@@ -6291,21 +6306,21 @@ msgstr ""
"\n"
"Archiwum \"%s\" nie posiada indeksu symboli\n"
-#: src/readelf.c:9552
-#, c-format
+#: src/readelf.c:9569
+#, fuzzy, c-format
msgid ""
"\n"
-"Index of archive '%s' has %Zu entries:\n"
+"Index of archive '%s' has %zu entries:\n"
msgstr ""
"\n"
"Indeks archiwum \"%s\" posiada %Zu wpisów:\n"
-#: src/readelf.c:9570
-#, c-format
-msgid "cannot extract member at offset %Zu in '%s': %s"
+#: src/readelf.c:9587
+#, fuzzy, c-format
+msgid "cannot extract member at offset %zu in '%s': %s"
msgstr "nie można wydobyć elementów pod offsetem %Zu w \"%s\": %s"
-#: src/readelf.c:9575
+#: src/readelf.c:9592
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "Element archiwum \"%s\" zawiera:\n"
@@ -6509,20 +6524,20 @@ msgstr ""
msgid "Couldn't show any frames."
msgstr "Nie można wyświetlić żadnych ramek."
-#: src/strings.c:62
+#: src/strings.c:66
msgid "Output Selection:"
msgstr "Wybór wyjścia:"
-#: src/strings.c:63
+#: src/strings.c:67
msgid "Scan entire file, not only loaded sections"
msgstr "Przeszukuje cały plik, nie tylko wczytane sekcje"
-#: src/strings.c:65
+#: src/strings.c:69
msgid "Only NUL-terminated sequences of MIN-LEN characters or more are printed"
msgstr ""
"Wyświetlane są tylko zakończone NUL sekwencje o MIN-LEN lub więcej znaków"
-#: src/strings.c:66
+#: src/strings.c:70
msgid ""
"Select character size and endianess: s = 7-bit, S = 8-bit, {b,l} = 16-bit, "
"{B,L} = 32-bit"
@@ -6530,48 +6545,48 @@ msgstr ""
"Wybór rozmiaru i kolejności znaków: s = 7 bitów, S = 8 bitów, {b,l} = 16 "
"bitów, {B,L} = 32 bity"
-#: src/strings.c:70
+#: src/strings.c:74
msgid "Print name of the file before each string."
msgstr "Wyświetla nazwę pliku przed każdym ciągiem."
-#: src/strings.c:72
+#: src/strings.c:76
msgid "Print location of the string in base 8, 10, or 16 respectively."
msgstr "Wyświetla położenie ciągu z podstawą odpowiednio 8, 10 lub 16."
-#: src/strings.c:73
+#: src/strings.c:77
msgid "Alias for --radix=o"
msgstr "Alias dla --radix=o"
-#: src/strings.c:80
+#: src/strings.c:84
msgid "Print the strings of printable characters in files."
msgstr "Wyświetla ciągi znaków drukowalnych w plikach."
-#: src/strings.c:267 src/strings.c:302
+#: 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"
-#: src/strings.c:313
+#: src/strings.c:317
#, c-format
msgid "invalid minimum length of matched string size"
msgstr "nieprawidłowa minimalna długość dopasowanego rozmiaru ciągu"
-#: src/strings.c:596
-#, c-format
-msgid "lseek64 failed"
+#: src/strings.c:600
+#, fuzzy, c-format
+msgid "lseek failed"
msgstr "lseek64 się nie powiodło"
-#: src/strings.c:613 src/strings.c:677
+#: src/strings.c:617 src/strings.c:681
#, c-format
msgid "re-mmap failed"
msgstr "ponowne mmap się nie powiodło"
-#: src/strings.c:650
+#: src/strings.c:654
#, c-format
msgid "mprotect failed"
msgstr "mprotect się nie powiodło"
-#: src/strings.c:739
+#: src/strings.c:743
#, c-format
msgid "Skipping section %zd '%s' data outside file"
msgstr "Pomijanie sekcji %zd \"%s\" dane poza plikiem"
@@ -6692,72 +6707,72 @@ msgstr "nie można utworzyć nowego pliku \"%s\": %s"
msgid "illformed file '%s'"
msgstr "plik \"%s\" posiada błędny format"
-#: src/strip.c:966 src/strip.c:1064
+#: src/strip.c:968 src/strip.c:1067
#, c-format
msgid "while generating output file: %s"
msgstr "podczas tworzenia pliku wyjściowego: %s"
-#: src/strip.c:1031 src/strip.c:2066
+#: src/strip.c:1033 src/strip.c:2071
#, c-format
msgid "%s: error while creating ELF header: %s"
msgstr "%s: błąd podczas tworzenia nagłówka ELF: %s"
-#: src/strip.c:1047
+#: src/strip.c:1050
#, c-format
msgid "while preparing output for '%s'"
msgstr "podczas przygotowywania wyjścia dla \"%s\""
-#: src/strip.c:1105 src/strip.c:1168
+#: src/strip.c:1108 src/strip.c:1171
#, c-format
msgid "while create section header section: %s"
msgstr "podczas tworzenia sekcji nagłówka sekcji: %s"
-#: src/strip.c:1114
+#: src/strip.c:1117
#, c-format
msgid "cannot allocate section data: %s"
msgstr "nie można przydzielić danych sekcji: %s"
-#: src/strip.c:1180
+#: src/strip.c:1183
#, c-format
msgid "while create section header string table: %s"
msgstr "podczas tworzenia tabeli ciągów nagłówka sekcji: %s"
-#: src/strip.c:1856
+#: src/strip.c:1861
#, c-format
msgid "bad relocation"
msgstr "błędna relokacja"
-#: src/strip.c:1977 src/strip.c:2090
+#: src/strip.c:1982 src/strip.c:2095
#, c-format
msgid "while writing '%s': %s"
msgstr "podczas zapisywania \"%s\": %s"
-#: src/strip.c:1988
+#: src/strip.c:1993
#, c-format
msgid "while creating '%s'"
msgstr "podczas tworzenia \"%s\""
-#: src/strip.c:2011
+#: src/strip.c:2016
#, c-format
msgid "while computing checksum for debug information"
msgstr "podczas obliczania sumy kontrolnej dla informacji debugowania"
-#: src/strip.c:2075
+#: src/strip.c:2080
#, c-format
msgid "%s: error while reading the file: %s"
msgstr "%s: błąd podczas odczytywania pliku: %s"
-#: src/strip.c:2115 src/strip.c:2135
+#: src/strip.c:2120 src/strip.c:2140
#, c-format
msgid "while writing '%s'"
msgstr "podczas zapisywania \"%s\""
-#: src/strip.c:2172 src/strip.c:2179
+#: src/strip.c:2177 src/strip.c:2184
#, c-format
msgid "error while finishing '%s': %s"
msgstr "błąd podczas kończenia \"%s\": %s"
-#: src/strip.c:2196 src/strip.c:2268
+#: 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\""
@@ -6846,12 +6861,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:1831 src/unstrip.c:1875
+#: src/unstrip.c:261 src/unstrip.c:1903 src/unstrip.c:1947
#, 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:1835
+#: src/unstrip.c:266 src/unstrip.c:1907
#, c-format
msgid "cannot create program headers: %s"
msgstr "nie można utworzyć nagłówków programu: %s"
@@ -6866,12 +6881,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:1512
+#: src/unstrip.c:285 src/unstrip.c:1541
#, c-format
msgid "cannot get section data: %s"
msgstr "nie można uzyskać danych sekcji: %s"
-#: src/unstrip.c:287 src/unstrip.c:1514
+#: src/unstrip.c:287 src/unstrip.c:1543
#, c-format
msgid "cannot copy section data: %s"
msgstr "nie można skopiować danych sekcji: %s"
@@ -6881,13 +6896,13 @@ msgstr "nie można skopiować danych sekcji: %s"
msgid "cannot create directory '%s'"
msgstr "nie można utworzyć katalogu \"%s\""
-#: src/unstrip.c:351 src/unstrip.c:768 src/unstrip.c:1546
+#: src/unstrip.c:351 src/unstrip.c:768 src/unstrip.c:1575
#, 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:1567 src/unstrip.c:1697 src/unstrip.c:1721
+#: src/unstrip.c:1596 src/unstrip.c:1769 src/unstrip.c:1793
#, c-format
msgid "cannot update symbol table: %s"
msgstr "nie można zaktualizować tabeli symboli: %s"
@@ -6908,105 +6923,110 @@ msgid "cannot get symbol version: %s"
msgstr "nie można uzyskać wersji symbolu: %s"
#: src/unstrip.c:526
-#, c-format
-msgid "unexpected section type in [%Zu] with sh_link to symtab"
+#, fuzzy, c-format
+msgid "unexpected section type in [%zu] with sh_link to symtab"
msgstr "nieoczekiwany typ sekcji w [%Zu] z sh_link do tabeli symboli"
#: src/unstrip.c:774
-#, c-format
-msgid "invalid string offset in symbol [%Zu]"
+#, fuzzy, c-format
+msgid "invalid string offset in symbol [%zu]"
msgstr "nieprawidłowy offset ciągu w symbolu [%Zu]"
-#: src/unstrip.c:916 src/unstrip.c:1257
-#, c-format
-msgid "cannot read section [%Zu] name: %s"
+#: src/unstrip.c:932 src/unstrip.c:1278
+#, fuzzy, c-format
+msgid "cannot read section [%zu] name: %s"
msgstr "nie można odczytać nazwy sekcji [%Zu]: %s"
-#: src/unstrip.c:957 src/unstrip.c:976 src/unstrip.c:1009
+#: src/unstrip.c:973 src/unstrip.c:992 src/unstrip.c:1027
#, c-format
msgid "cannot read '.gnu.prelink_undo' section: %s"
msgstr "nie można odczytać sekcji \".gnu.prelink_undo\": %s"
-#: src/unstrip.c:997
+#: src/unstrip.c:1013
#, c-format
msgid "invalid contents in '%s' section"
msgstr "nieprawidłowa zawartość w sekcji \"%s\""
-#: src/unstrip.c:1052 src/unstrip.c:1377
+#: src/unstrip.c:1019
#, c-format
-msgid "cannot find matching section for [%Zu] '%s'"
+msgid "overflow with shnum = %zu in '%s' section"
+msgstr ""
+
+#: src/unstrip.c:1073 src/unstrip.c:1398
+#, fuzzy, c-format
+msgid "cannot find matching section for [%zu] '%s'"
msgstr "nie można odnaleźć pasującej sekcji dla [%Zu] \"%s\""
-#: src/unstrip.c:1177 src/unstrip.c:1192 src/unstrip.c:1458
+#: src/unstrip.c:1198 src/unstrip.c:1213 src/unstrip.c:1479 src/unstrip.c:1731
#, 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:1201
+#: src/unstrip.c:1222
#, 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:1228 src/unstrip.c:1232
+#: src/unstrip.c:1249 src/unstrip.c:1253
#, 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:1236 src/unstrip.c:1240 src/unstrip.c:1473
+#: src/unstrip.c:1257 src/unstrip.c:1261 src/unstrip.c:1494
#, c-format
msgid "cannot get section count: %s"
msgstr "nie można uzyskać licznika sekcji: %s"
-#: src/unstrip.c:1243
+#: src/unstrip.c:1264
#, c-format
msgid "more sections in stripped file than debug file -- arguments reversed?"
msgstr ""
"więcej sekcji w okrojonym pliku niż w pliku debugowania - odwrócono "
"parametry?"
-#: src/unstrip.c:1302 src/unstrip.c:1392
+#: src/unstrip.c:1323 src/unstrip.c:1413
#, 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:1452
+#: src/unstrip.c:1473
#, c-format
msgid "cannot add new section: %s"
msgstr "nie można dodać nowej sekcji: %s"
-#: src/unstrip.c:1554
-#, c-format
-msgid "symbol [%Zu] has invalid section index"
+#: src/unstrip.c:1583
+#, fuzzy, c-format
+msgid "symbol [%zu] has invalid section index"
msgstr "symbol [%Zu] posiada nieprawidłowy indeks sekcji"
-#: src/unstrip.c:1792
+#: src/unstrip.c:1864
#, c-format
msgid "cannot read section data: %s"
msgstr "nie można odczytać danych sekcji: %s"
-#: src/unstrip.c:1813
+#: src/unstrip.c:1885
#, c-format
msgid "cannot get ELF header: %s"
msgstr "nie można uzyskać nagłówka ELF: %s"
-#: src/unstrip.c:1845
+#: src/unstrip.c:1917
#, c-format
msgid "cannot update program header: %s"
msgstr "nie można zaktualizować nagłówka programu: %s"
-#: src/unstrip.c:1850 src/unstrip.c:1933
+#: src/unstrip.c:1922 src/unstrip.c:2005
#, c-format
msgid "cannot write output file: %s"
msgstr "nie można zapisać pliku wyjściowego: %s"
-#: src/unstrip.c:1902
+#: src/unstrip.c:1974
#, 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:1905
+#: src/unstrip.c:1977
#, c-format
msgid ""
"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
@@ -7014,77 +7034,77 @@ msgstr ""
"Dane DWARF w \"%s\" nie zostały dostosowane do przesunięcia wczesnego "
"konsolidowania; proszę rozważyć polecenie prelink -u"
-#: src/unstrip.c:1924 src/unstrip.c:1975 src/unstrip.c:1987 src/unstrip.c:2073
+#: src/unstrip.c:1996 src/unstrip.c:2047 src/unstrip.c:2059 src/unstrip.c:2145
#, c-format
msgid "cannot create ELF descriptor: %s"
msgstr "nie można utworzyć deskryptora ELF: %s"
-#: src/unstrip.c:1966
+#: src/unstrip.c:2038
msgid "WARNING: "
msgstr "OSTRZEŻENIE: "
-#: src/unstrip.c:1968
+#: src/unstrip.c:2040
msgid ", use --force"
msgstr ", należy użyć opcji --force"
-#: src/unstrip.c:1991
+#: src/unstrip.c:2063
msgid "ELF header identification (e_ident) different"
msgstr "Różna identyfikacja nagłówka ELF (e_ident)"
-#: src/unstrip.c:1994
+#: src/unstrip.c:2066
msgid "ELF header type (e_type) different"
msgstr "Różne typy nagłówka ELF (e_type)"
-#: src/unstrip.c:1997
+#: src/unstrip.c:2069
msgid "ELF header machine type (e_machine) different"
msgstr "Różne typy maszyny nagłówka ELF (e_machine)"
-#: src/unstrip.c:2000
+#: src/unstrip.c:2072
msgid "stripped program header (e_phnum) smaller than unstripped"
msgstr "okrojony nagłówek programu (e_phnum) jest mniejszy niż nieokrojony"
-#: src/unstrip.c:2030
+#: src/unstrip.c:2102
#, c-format
msgid "cannot find stripped file for module '%s': %s"
msgstr "nie można odnaleźć okrojonego pliku dla modułu \"%s\": %s"
-#: src/unstrip.c:2034
+#: src/unstrip.c:2106
#, c-format
msgid "cannot open stripped file '%s' for module '%s': %s"
msgstr "nie można otworzyć okrojonego pliku \"%s\" dla modułu \"%s\": %s"
-#: src/unstrip.c:2049
+#: src/unstrip.c:2121
#, c-format
msgid "cannot find debug file for module '%s': %s"
msgstr "nie można odnaleźć pliku debugowania dla modułu \"%s\": %s"
-#: src/unstrip.c:2053
+#: src/unstrip.c:2125
#, c-format
msgid "cannot open debug file '%s' for module '%s': %s"
msgstr "nie można otworzyć pliku debugowania \"%s\" dla modułu \"%s\": %s"
-#: src/unstrip.c:2066
+#: src/unstrip.c:2138
#, c-format
msgid "module '%s' file '%s' is not stripped"
msgstr "moduł \"%s\" pliku \"%s\" nie został okrojony"
-#: src/unstrip.c:2097
+#: src/unstrip.c:2169
#, c-format
msgid "cannot cache section addresses for module '%s': %s"
msgstr ""
"nie można utworzyć pamięci podręcznej adresów sekcji dla modułu \"%s\": %s"
-#: src/unstrip.c:2230
+#: src/unstrip.c:2302
#, c-format
msgid "no matching modules found"
msgstr "nie odnaleziono pasujących modułów"
-#: src/unstrip.c:2239
+#: src/unstrip.c:2311
#, c-format
msgid "matched more than one module"
msgstr "pasuje więcej niż jeden moduł"
-#: src/unstrip.c:2283
+#: src/unstrip.c:2355
msgid ""
"STRIPPED-FILE DEBUG-FILE\n"
"[MODULE...]"
@@ -7092,7 +7112,7 @@ msgstr ""
"OKROJONY-PLIK PLIK-DEBUGOWANIA\n"
"[MODUŁ...]"
-#: src/unstrip.c:2284
+#: src/unstrip.c:2356
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"
@@ -7145,7 +7165,7 @@ msgstr ""
"DEBUGOWANIA jest nazwą oddzielnego pliku debuginfo lub \"-\", jeśli nie "
"odnaleziono debuginfo lub \".\", jeśli PLIK zawiera informacje debugowania."
-#: tests/backtrace.c:425
+#: tests/backtrace.c:427
msgid "Run executable"
msgstr "Uruchamia plik wykonywalny"
@@ -7156,3 +7176,6 @@ msgstr "Dodatkowo wyświetla nazwy funkcji"
#: tests/dwflmodtest.c:214
msgid "Show instances of inlined functions"
msgstr "Wyświetla wystąpienia wstawionych funkcji"
+
+#~ msgid "cannot get section header of section %Zu: %s"
+#~ msgstr "nie można uzyskać nagłówka sekcji dla sekcji %Zu: %s"
diff --git a/po/uk.po b/po/uk.po
index be7782f..6f9de0a 100644
--- a/po/uk.po
+++ b/po/uk.po
@@ -7,7 +7,7 @@ msgid ""
msgstr ""
"Project-Id-Version: \n"
"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n"
-"POT-Creation-Date: 2015-09-26 15:11+0300\n"
+"POT-Creation-Date: 2015-10-15 15:21+0200\n"
"PO-Revision-Date: 2015-09-26 16:41+0300\n"
"Last-Translator: Yuri Chornoivan <yurchor(a)ukr.net>\n"
"Language-Team: Ukrainian <kde-i18n-uk(a)kde.org>\n"
@@ -47,7 +47,7 @@ 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:2150 src/unstrip.c:2355
+#: src/readelf.c:3561 src/readelf.c:8310 src/unstrip.c:2198 src/unstrip.c:2403
#, 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:2297
+#: libdwfl/argp-std.c:46 src/stack.c:642 src/unstrip.c:2345
msgid "Input selection options:"
msgstr "Вибір параметрів виведення даних:"
@@ -1260,8 +1260,8 @@ 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:1946
-#: src/unstrip.c:1975
+#: src/strings.c:186 src/strip.c:466 src/strip.c:503 src/unstrip.c:1994
+#: src/unstrip.c:2023
#, c-format
msgid "cannot open '%s'"
msgstr "не вдалося відкрити «%s»"
@@ -1489,7 +1489,7 @@ msgstr ""
#: src/elflint.c:591 src/elflint.c:1470 src/elflint.c:1521 src/elflint.c:1627
#: src/elflint.c:1963 src/elflint.c:2279 src/elflint.c:2892 src/elflint.c:3055
-#: src/elflint.c:3203 src/elflint.c:3393 src/elflint.c:4327
+#: src/elflint.c:3203 src/elflint.c:3393 src/elflint.c:4335
#, c-format
msgid "section [%2d] '%s': cannot get section data\n"
msgstr "розділ [%2d] «%s»: не вдалося отримати дані розділу\n"
@@ -2910,11 +2910,16 @@ msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n"
msgstr "розділ [%2zu] «%s» має неочікуваний тип %d для виконуваного розділу\n"
#: src/elflint.c:3944
+#, fuzzy, c-format
+msgid "section [%2zu] '%s' must be of type NOBITS in debuginfo files\n"
+msgstr "розділ [%2zu] «%s» не повинен бути придатним до запису\n"
+
+#: src/elflint.c:3951
#, c-format
msgid "section [%2zu] '%s' is both executable and writable\n"
msgstr "розділ [%2zu] «%s» є одночасно виконуваним і придатним до запису\n"
-#: src/elflint.c:3973
+#: src/elflint.c:3981
#, c-format
msgid ""
"section [%2zu] '%s' not fully contained in segment of program header entry "
@@ -2923,7 +2928,7 @@ msgstr ""
"розділ [%2zu] «%s» не повністю міститься у сегменті запису заголовка "
"програми %d\n"
-#: src/elflint.c:3983
+#: src/elflint.c:3991
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -2932,7 +2937,7 @@ msgstr ""
"розділ [%2zu] «%s» належить до типу NOBITS, але його читання виконується з "
"файла у сегментів запису заголовка програми %d\n"
-#: src/elflint.c:4009
+#: src/elflint.c:4017
#, c-format
msgid ""
"section [%2zu] '%s' has type NOBITS but is read from the file in segment of "
@@ -2941,7 +2946,7 @@ msgstr ""
"розділ [%2zu] «%s» належить до типу NOBITS, але його читання виконується з "
"файла у сегментів запису заголовка програми %d, а вміст файла є ненульовим\n"
-#: src/elflint.c:4020
+#: src/elflint.c:4028
#, c-format
msgid ""
"section [%2zu] '%s' has not type NOBITS but is not read from the file in "
@@ -2950,19 +2955,19 @@ msgstr ""
"розділ [%2zu] «%s» не належить до типу NOBITS, але його читання не "
"виконується з файла у сегментів запису заголовка програми %d\n"
-#: src/elflint.c:4031
+#: src/elflint.c:4039
#, c-format
msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n"
msgstr "розділ [%2zu] «%s» є виконуваним у невиконуваному сегменті %d\n"
-#: src/elflint.c:4041
+#: src/elflint.c:4049
#, c-format
msgid "section [%2zu] '%s' is writable in unwritable segment %d\n"
msgstr ""
"розділ [%2zu] «%s» є придатним до запису у непридатному до запису сегменті "
"%d\n"
-#: src/elflint.c:4051
+#: src/elflint.c:4059
#, c-format
msgid ""
"section [%2zu] '%s': alloc flag set but section not in any loaded segment\n"
@@ -2970,7 +2975,7 @@ msgstr ""
"розділ [%2zu] «%s»: встановлено прапорець alloc, але розділ не перебуває у "
"жодному завантаженому сегменті\n"
-#: src/elflint.c:4057
+#: src/elflint.c:4065
#, c-format
msgid ""
"section [%2zu] '%s': ELF header says this is the section header string table "
@@ -2979,7 +2984,7 @@ msgstr ""
"розділ [%2zu] «%s»: заголовок ELF повідомляє про те, що це таблиця рядків "
"заголовка розділу, але ця таблиця не належить до типу SHT_TYPE\n"
-#: src/elflint.c:4065
+#: src/elflint.c:4073
#, c-format
msgid ""
"section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n"
@@ -2987,17 +2992,17 @@ msgstr ""
"розділ [%2zu] «%s»: придатні до пересування файли не можуть містити "
"динамічних таблиць символів\n"
-#: src/elflint.c:4116
+#: src/elflint.c:4124
#, c-format
msgid "more than one version symbol table present\n"
msgstr "виявлено більше за одну таблицю символів версій\n"
-#: src/elflint.c:4139
+#: src/elflint.c:4147
#, c-format
msgid "INTERP program header entry but no .interp section\n"
msgstr "існує запис заголовка програми INTERP, але не розділ .interp\n"
-#: src/elflint.c:4150
+#: src/elflint.c:4158
#, c-format
msgid ""
"loadable segment [%u] is executable but contains no executable sections\n"
@@ -3005,14 +3010,14 @@ msgstr ""
"придатний до завантаження сегмент [%u] є виконуваним, але не містить "
"виконуваних розділів\n"
-#: src/elflint.c:4156
+#: src/elflint.c:4164
#, c-format
msgid "loadable segment [%u] is writable but contains no writable sections\n"
msgstr ""
"придатний до завантаження розділ [%u] є придатним до запису, але не містить "
"придатних до запису розділів\n"
-#: src/elflint.c:4167
+#: src/elflint.c:4175
#, c-format
msgid ""
"no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section "
@@ -3021,24 +3026,24 @@ msgstr ""
"немає розділу .gnu.versym, хоча існує розділ .gnu.versym_d або .gnu."
"versym_r\n"
-#: src/elflint.c:4180
+#: src/elflint.c:4188
#, c-format
msgid "duplicate version index %d\n"
msgstr "дублікат індексу версії %d\n"
-#: src/elflint.c:4194
+#: src/elflint.c:4202
#, 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:4243
+#: src/elflint.c:4251
#, 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:4247
+#: src/elflint.c:4255
#, c-format
msgid ""
"section [%2d] '%s': unknown core file note type %<PRIu32> at offset %zu\n"
@@ -3046,13 +3051,13 @@ msgstr ""
"розділ [%2d] «%s»: невідомий тип нотатки файла core %<PRIu32> за зміщенням "
"%zu\n"
-#: src/elflint.c:4270
+#: src/elflint.c:4278
#, c-format
msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %zu\n"
msgstr ""
"phdr[%d]: невідомий тип нотатки об’єктного файла %<PRIu32> за зміщенням %zu\n"
-#: src/elflint.c:4274
+#: src/elflint.c:4282
#, c-format
msgid ""
"section [%2d] '%s': unknown object file note type %<PRIu32> at offset %zu\n"
@@ -3060,39 +3065,39 @@ msgstr ""
"розділ [%2d] «%s»: невідомий тип нотатки об’єктного файла %<PRIu32> за "
"зміщенням %zu\n"
-#: src/elflint.c:4291
+#: src/elflint.c:4299
#, c-format
msgid "phdr[%d]: no note entries defined for the type of file\n"
msgstr "phdr[%d]: для цього типу файлів не визначено записів нотаток\n"
-#: src/elflint.c:4310
+#: src/elflint.c:4318
#, c-format
msgid "phdr[%d]: cannot get content of note section: %s\n"
msgstr "phdr[%d]: не вдалося отримати вміст розділу нотаток: %s\n"
-#: src/elflint.c:4313
+#: src/elflint.c:4321
#, c-format
msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n"
msgstr "phdr[%d]: зайві %<PRIu64> байтів після останнього запису нотатки\n"
-#: src/elflint.c:4334
+#: src/elflint.c:4342
#, c-format
msgid "section [%2d] '%s': no note entries defined for the type of file\n"
msgstr ""
"розділ [%2d] «%s»: для цього типу файлів не визначено записів нотаток\n"
-#: src/elflint.c:4341
+#: src/elflint.c:4349
#, c-format
msgid "section [%2d] '%s': cannot get content of note section\n"
msgstr "розділ [%2d] «%s»: не вдалося отримати вміст розділу нотаток\n"
-#: src/elflint.c:4344
+#: src/elflint.c:4352
#, c-format
msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n"
msgstr ""
"розділ [%2d] «%s»: додаткові %<PRIu64> байтів після останньої нотатки\n"
-#: src/elflint.c:4362
+#: src/elflint.c:4370
#, c-format
msgid ""
"only executables, shared objects, and core files can have program headers\n"
@@ -3100,135 +3105,141 @@ msgstr ""
"заголовки програм можуть бути лише у виконуваних файлів, об’єктних файлів "
"спільного використання або файлів core\n"
-#: src/elflint.c:4377
+#: src/elflint.c:4385
#, c-format
msgid "cannot get program header entry %d: %s\n"
msgstr "не вдалося отримати запис заголовка програми %d: %s\n"
-#: src/elflint.c:4386
+#: src/elflint.c:4394
#, c-format
msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n"
msgstr ""
"запис заголовка програми %d: невідомий тип запису заголовка програми "
"%#<PRIx64>\n"
-#: src/elflint.c:4397
+#: src/elflint.c:4405
#, c-format
msgid "more than one INTERP entry in program header\n"
msgstr "більше за один запис INTERP у заголовку програми\n"
-#: src/elflint.c:4405
+#: src/elflint.c:4413
#, c-format
msgid "more than one TLS entry in program header\n"
msgstr "більше за один запис TLS у заголовку програми\n"
-#: src/elflint.c:4412
+#: src/elflint.c:4420
#, c-format
msgid "static executable cannot have dynamic sections\n"
msgstr "у статичному виконуваному файлі не може бути динамічних розділів\n"
-#: src/elflint.c:4426
+#: src/elflint.c:4434
#, c-format
msgid "dynamic section reference in program header has wrong offset\n"
msgstr ""
"посилання на динамічний розділ у заголовку програми має помилкове зміщення\n"
-#: src/elflint.c:4429
+#: src/elflint.c:4437
#, c-format
msgid "dynamic section size mismatch in program and section header\n"
msgstr ""
"розміри динамічного розділу у заголовку програми та у заголовку розділу не "
"збігаються\n"
-#: src/elflint.c:4439
+#: src/elflint.c:4447
#, c-format
msgid "more than one GNU_RELRO entry in program header\n"
msgstr "більше за один запис GNU_RELRO у заголовку програми\n"
-#: src/elflint.c:4460
+#: src/elflint.c:4468
#, c-format
msgid "loadable segment GNU_RELRO applies to is not writable\n"
msgstr ""
"придатний до завантаження сегмент, до якого звертається GNU_RELRO, "
"непридатний до запису\n"
-#: src/elflint.c:4463
+#: src/elflint.c:4479
#, c-format
msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"
msgstr ""
"прапорці придатного до завантаження сегмента [%u] не відповідають прапорцям "
"GNU_RELRO [%u]\n"
-#: src/elflint.c:4471 src/elflint.c:4494
+#: src/elflint.c:4486
+#, c-format
+msgid ""
+"GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"
+msgstr ""
+
+#: src/elflint.c:4495 src/elflint.c:4518
#, c-format
msgid "%s segment not contained in a loaded segment\n"
msgstr "сегмент %s не міститься у завантаженому сегменті\n"
-#: src/elflint.c:4500
+#: src/elflint.c:4524
#, c-format
msgid "program header offset in ELF header and PHDR entry do not match"
msgstr "зміщення заголовка програми у заголовку ELF і запис PHDR не збігаються"
-#: src/elflint.c:4525
+#: src/elflint.c:4549
#, c-format
msgid "call frame search table reference in program header has wrong offset\n"
msgstr ""
"посилання на таблицю вікон викликів у заголовку програми має помилкове "
"зміщення\n"
-#: src/elflint.c:4528
+#: src/elflint.c:4552
#, c-format
msgid "call frame search table size mismatch in program and section header\n"
msgstr ""
"розміри таблиці пошуку вікон виклику у заголовку програми та у заголовку "
"розділу не збігаються\n"
-#: src/elflint.c:4541
+#: src/elflint.c:4565
#, 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:4549
+#: src/elflint.c:4573
#, c-format
msgid "call frame search table must be allocated\n"
msgstr "таблицю пошуку вікон викликів має бути розміщено у пам’яті\n"
-#: src/elflint.c:4552
+#: src/elflint.c:4576
#, c-format
msgid "section [%2zu] '%s' must be allocated\n"
msgstr "розділ [%2zu] «%s» має бути розміщено у пам’яті\n"
-#: src/elflint.c:4556
+#: src/elflint.c:4580
#, c-format
msgid "call frame search table must not be writable\n"
msgstr "таблиця пошуку вікон викликів не повинна бути придатною до запису\n"
-#: src/elflint.c:4559
+#: src/elflint.c:4583
#, c-format
msgid "section [%2zu] '%s' must not be writable\n"
msgstr "розділ [%2zu] «%s» не повинен бути придатним до запису\n"
-#: src/elflint.c:4564
+#: src/elflint.c:4588
#, c-format
msgid "call frame search table must not be executable\n"
msgstr "таблиця пошуку вікон викликів не повинна бути придатною до виконання\n"
-#: src/elflint.c:4567
+#: src/elflint.c:4591
#, c-format
msgid "section [%2zu] '%s' must not be executable\n"
msgstr "розділ [%2zu] «%s» не повинен бути придатним до виконання\n"
-#: src/elflint.c:4578
+#: src/elflint.c:4602
#, c-format
msgid "program header entry %d: file size greater than memory size\n"
msgstr "запис заголовка програми %d: розмір файла перевищує об’єм пам’яті\n"
-#: src/elflint.c:4585
+#: src/elflint.c:4609
#, c-format
msgid "program header entry %d: alignment not a power of 2\n"
msgstr "запис заголовка програми %d: значення вирівнювання не є степенем 2\n"
-#: src/elflint.c:4588
+#: src/elflint.c:4612
#, c-format
msgid ""
"program header entry %d: file offset and virtual address not module of "
@@ -3237,7 +3248,7 @@ msgstr ""
"запис заголовка програми %d: зміщення у файлі і віртуальна адреса не "
"співвідносяться з вирівнюванням\n"
-#: src/elflint.c:4601
+#: src/elflint.c:4625
#, c-format
msgid ""
"executable/DSO with .eh_frame_hdr section does not have a PT_GNU_EH_FRAME "
@@ -3246,12 +3257,12 @@ msgstr ""
"виконуваний модуль/DSO з розділом .eh_frame_hdr не містить запису заголовка "
"програми PT_GNU_EH_FRAME"
-#: src/elflint.c:4635
+#: src/elflint.c:4659
#, c-format
msgid "cannot read ELF header: %s\n"
msgstr "не вдалося прочитати заголовок ELF: %s\n"
-#: src/elflint.c:4661
+#: src/elflint.c:4685
#, c-format
msgid "text relocation flag set but not needed\n"
msgstr ""
@@ -3720,24 +3731,24 @@ msgstr "-) без відповідника -("
msgid "unknown option '-%c %s'"
msgstr "невідомий параметр «-%c %s»"
-#: src/ld.c:1136
+#: src/ld.c:1138
#, c-format
msgid "could not find input file to determine output file format"
msgstr ""
"не вдалося виявити файл вхідних даних для визначення формату файла вихідних "
"даних"
-#: src/ld.c:1138
+#: src/ld.c:1140
#, c-format
msgid "try again with an appropriate '-m' parameter"
msgstr "повторіть спробу з належним параметром «-m»"
-#: src/ld.c:1432
+#: src/ld.c:1434
#, c-format
msgid "cannot read version script '%s'"
msgstr "не вдалося прочитати скрипт версій «%s»"
-#: src/ld.c:1498 src/ld.c:1537
+#: src/ld.c:1500 src/ld.c:1539
#, c-format
msgid "duplicate definition of '%s' in linker script"
msgstr "повторне визначення «%s» у скрипті компонування"
@@ -4025,7 +4036,7 @@ msgstr "внутрішня помилка: небезбітовий розділ
msgid "cannot get header of 0th section: %s"
msgstr "не вдалося отримати заголовок 0-го розділу: %s"
-#: src/ldgeneric.c:6930 src/unstrip.c:1845
+#: src/ldgeneric.c:6930 src/unstrip.c:1893
#, c-format
msgid "cannot update ELF header: %s"
msgstr "не вдалося оновити заголовок ELF: %s"
@@ -4193,7 +4204,7 @@ 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/strip.c:2275
+#: src/strip.c:2280
#, c-format
msgid "while closing '%s'"
msgstr "під час закриття «%s»"
@@ -4240,8 +4251,8 @@ msgstr "не вдалося створити дерево пошуку"
#: 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:9306 src/readelf.c:9453
-#: src/readelf.c:9521 src/size.c:413 src/size.c:482 src/strip.c:520
+#: 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
#, c-format
msgid "cannot get section header string table index"
msgstr "не вдалося визначити індекс заголовка розділу у таблиці рядків"
@@ -4508,11 +4519,11 @@ msgstr "не вдалося створити дескриптор Elf: %s"
msgid "cannot get section: %s"
msgstr "не вдалося отримати розділ: %s"
-#: src/readelf.c:554 src/readelf.c:1106 src/readelf.c:1277 src/readelf.c:9473
+#: 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:1078
-#: src/unstrip.c:1269 src/unstrip.c:1329 src/unstrip.c:1450 src/unstrip.c:1503
-#: src/unstrip.c:1618 src/unstrip.c:1807
+#: 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
#, c-format
msgid "cannot get section header: %s"
msgstr "не вдалося отримати заголовок розділу: %s"
@@ -4825,7 +4836,7 @@ msgstr ""
" Відображення розділів на сегмент:\n"
" Розділи сегмента..."
-#: src/readelf.c:1258 src/unstrip.c:1866 src/unstrip.c:1909 src/unstrip.c:1916
+#: src/readelf.c:1258 src/unstrip.c:1914 src/unstrip.c:1957 src/unstrip.c:1964
#, c-format
msgid "cannot get program header: %s"
msgstr "не вдалося отримати заголовок програми: %s"
@@ -6186,12 +6197,12 @@ msgstr ""
msgid "cannot get debug context descriptor: %s"
msgstr "не вдалося отримати дескриптор контексту зневаджування: %s"
-#: src/readelf.c:8361 src/readelf.c:8975 src/readelf.c:9086 src/readelf.c:9144
+#: src/readelf.c:8361 src/readelf.c:8983 src/readelf.c:9094 src/readelf.c:9152
#, c-format
msgid "cannot convert core note data: %s"
msgstr "не вдалося перетворити дані запису ядра: %s"
-#: src/readelf.c:8716
+#: src/readelf.c:8724
#, c-format
msgid ""
"\n"
@@ -6200,21 +6211,21 @@ msgstr ""
"\n"
"%*s... <повторюється %u разів> ..."
-#: src/readelf.c:9223
+#: src/readelf.c:9231
msgid " Owner Data size Type\n"
msgstr " Власник Розм. даних Тип\n"
-#: src/readelf.c:9241
+#: src/readelf.c:9249
#, c-format
msgid " %-13.*s %9<PRId32> %s\n"
msgstr " %-13.*s %9<PRId32> %s\n"
-#: src/readelf.c:9291
+#: src/readelf.c:9299
#, c-format
msgid "cannot get content of note section: %s"
msgstr "не вдалося отримати вміст розділу записів: %s"
-#: src/readelf.c:9318
+#: src/readelf.c:9326
#, c-format
msgid ""
"\n"
@@ -6224,7 +6235,7 @@ msgstr ""
"Розділ записів (note) [%2zu] «%s» з %<PRIu64> байтів за зміщенням "
"%#0<PRIx64>:\n"
-#: src/readelf.c:9341
+#: src/readelf.c:9349
#, c-format
msgid ""
"\n"
@@ -6233,7 +6244,7 @@ msgstr ""
"\n"
"Сегмент записів з %<PRIu64> байтів за зміщенням %#0<PRIx64>:\n"
-#: src/readelf.c:9387
+#: src/readelf.c:9395
#, c-format
msgid ""
"\n"
@@ -6242,12 +6253,12 @@ msgstr ""
"\n"
"У розділі [%zu] «%s» не міститься даних для створення дампу.\n"
-#: src/readelf.c:9393 src/readelf.c:9416
+#: src/readelf.c:9401 src/readelf.c:9424
#, c-format
msgid "cannot get data for section [%zu] '%s': %s"
msgstr "не вдалося отримати дані для розділу [%zu] «%s»: %s"
-#: src/readelf.c:9397
+#: src/readelf.c:9405
#, c-format
msgid ""
"\n"
@@ -6256,7 +6267,7 @@ msgstr ""
"\n"
"Шіст. дамп розділу [%zu] «%s», %<PRIu64> байтів за зміщенням %#0<PRIx64>:\n"
-#: src/readelf.c:9410
+#: src/readelf.c:9418
#, c-format
msgid ""
"\n"
@@ -6265,7 +6276,7 @@ msgstr ""
"\n"
"У розділі [%zu] «%s» не міститься рядків для створення дампу.\n"
-#: src/readelf.c:9420
+#: src/readelf.c:9428
#, c-format
msgid ""
"\n"
@@ -6274,7 +6285,7 @@ msgstr ""
"\n"
"Розділ рядків [%zu] «%s» містить %<PRIu64> байтів за зміщенням %#0<PRIx64>:\n"
-#: src/readelf.c:9468
+#: src/readelf.c:9476
#, c-format
msgid ""
"\n"
@@ -6283,7 +6294,7 @@ msgstr ""
"\n"
"розділу [%lu] не існує"
-#: src/readelf.c:9497
+#: src/readelf.c:9505
#, c-format
msgid ""
"\n"
@@ -6292,12 +6303,12 @@ msgstr ""
"\n"
"розділу «%s» не існує"
-#: src/readelf.c:9554
+#: src/readelf.c:9562
#, c-format
msgid "cannot get symbol index of archive '%s': %s"
msgstr "не вдалося отримати покажчик символів архіву «%s»: %s"
-#: src/readelf.c:9557
+#: src/readelf.c:9565
#, c-format
msgid ""
"\n"
@@ -6306,7 +6317,7 @@ msgstr ""
"\n"
"У архіві «%s» немає покажчика символів\n"
-#: src/readelf.c:9561
+#: src/readelf.c:9569
#, c-format
msgid ""
"\n"
@@ -6315,12 +6326,12 @@ msgstr ""
"\n"
"Покажчик архіву «%s» містить %zu записів:\n"
-#: src/readelf.c:9579
+#: src/readelf.c:9587
#, c-format
msgid "cannot extract member at offset %zu in '%s': %s"
msgstr "не вдалося видобути елемент за зміщенням %zu у «%s»: %s"
-#: src/readelf.c:9584
+#: src/readelf.c:9592
#, c-format
msgid "Archive member '%s' contains:\n"
msgstr "Елемент архіву «%s» містить:\n"
@@ -6577,8 +6588,8 @@ msgid "invalid minimum length of matched string size"
msgstr "некоректна мінімальна довжина розмірності рядка для порівняння"
#: src/strings.c:600
-#, c-format
-msgid "lseek64 failed"
+#, fuzzy, c-format
+msgid "lseek failed"
msgstr "помилка lseek64"
#: src/strings.c:617 src/strings.c:681
@@ -6716,72 +6727,72 @@ msgstr "не вдалося створити файл «%s»: %s"
msgid "illformed file '%s'"
msgstr "помилкове форматування файла «%s»"
-#: src/strip.c:966 src/strip.c:1064
+#: src/strip.c:968 src/strip.c:1067
#, c-format
msgid "while generating output file: %s"
msgstr "під час спроби створення файла з виведеними даними: %s"
-#: src/strip.c:1031 src/strip.c:2066
+#: src/strip.c:1033 src/strip.c:2071
#, c-format
msgid "%s: error while creating ELF header: %s"
msgstr "%s: помилка під час створення заголовка ELF: %s"
-#: src/strip.c:1047
+#: src/strip.c:1050
#, c-format
msgid "while preparing output for '%s'"
msgstr "під час приготування виведених даних для «%s»"
-#: src/strip.c:1105 src/strip.c:1168
+#: src/strip.c:1108 src/strip.c:1171
#, c-format
msgid "while create section header section: %s"
msgstr "під час створення розділу заголовка розділу: %s"
-#: src/strip.c:1114
+#: src/strip.c:1117
#, c-format
msgid "cannot allocate section data: %s"
msgstr "не вдалося розмістити дані розділу: %s"
-#: src/strip.c:1180
+#: src/strip.c:1183
#, c-format
msgid "while create section header string table: %s"
msgstr "під час створення таблиці рядків заголовка розділу: %s"
-#: src/strip.c:1856
+#: src/strip.c:1861
#, c-format
msgid "bad relocation"
msgstr "помилкове пересування"
-#: src/strip.c:1977 src/strip.c:2090
+#: src/strip.c:1982 src/strip.c:2095
#, c-format
msgid "while writing '%s': %s"
msgstr "під час запису «%s»: %s"
-#: src/strip.c:1988
+#: src/strip.c:1993
#, c-format
msgid "while creating '%s'"
msgstr "під час спроби створення «%s»"
-#: src/strip.c:2011
+#: src/strip.c:2016
#, c-format
msgid "while computing checksum for debug information"
msgstr "під час обчислення контрольної суми для діагностичних даних"
-#: src/strip.c:2075
+#: src/strip.c:2080
#, c-format
msgid "%s: error while reading the file: %s"
msgstr "%s: помилка під час читання файла: %s"
-#: src/strip.c:2115 src/strip.c:2135
+#: src/strip.c:2120 src/strip.c:2140
#, c-format
msgid "while writing '%s'"
msgstr "під час спроби запису «%s»"
-#: src/strip.c:2172 src/strip.c:2179
+#: src/strip.c:2177 src/strip.c:2184
#, c-format
msgid "error while finishing '%s': %s"
msgstr "помилка під час завершення «%s»: %s"
-#: src/strip.c:2196 src/strip.c:2268
+#: src/strip.c:2201 src/strip.c:2273
#, c-format
msgid "cannot set access and modification date of '%s'"
msgstr "не вдалося встановити права доступу та дату зміни «%s»"
@@ -6874,12 +6885,12 @@ msgstr "не вдалося створити заголовок ELF: %s"
msgid "cannot copy ELF header: %s"
msgstr "не вдалося скопіювати заголовок ELF: %s"
-#: src/unstrip.c:261 src/unstrip.c:1855 src/unstrip.c:1899
+#: src/unstrip.c:261 src/unstrip.c:1903 src/unstrip.c:1947
#, c-format
msgid "cannot get number of program headers: %s"
msgstr "не вдалося отримати кількість заголовків програми: %s"
-#: src/unstrip.c:266 src/unstrip.c:1859
+#: src/unstrip.c:266 src/unstrip.c:1907
#, c-format
msgid "cannot create program headers: %s"
msgstr "не вдалося створити заголовки програми: %s"
@@ -6894,12 +6905,12 @@ msgstr "не вдалося скопіювати заголовок програ
msgid "cannot copy section header: %s"
msgstr "не вдалося скопіювати заголовок розділу: %s"
-#: src/unstrip.c:285 src/unstrip.c:1536
+#: src/unstrip.c:285 src/unstrip.c:1541
#, c-format
msgid "cannot get section data: %s"
msgstr "не вдалося отримати дані розділу: %s"
-#: src/unstrip.c:287 src/unstrip.c:1538
+#: src/unstrip.c:287 src/unstrip.c:1543
#, c-format
msgid "cannot copy section data: %s"
msgstr "не вдалося скопіювати дані розділу: %s"
@@ -6909,13 +6920,13 @@ msgstr "не вдалося скопіювати дані розділу: %s"
msgid "cannot create directory '%s'"
msgstr "не вдалося створити каталог «%s»"
-#: src/unstrip.c:351 src/unstrip.c:768 src/unstrip.c:1570
+#: src/unstrip.c:351 src/unstrip.c:768 src/unstrip.c:1575
#, 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:1591 src/unstrip.c:1721 src/unstrip.c:1745
+#: src/unstrip.c:1596 src/unstrip.c:1769 src/unstrip.c:1793
#, c-format
msgid "cannot update symbol table: %s"
msgstr "не вдалося оновити таблицю символів: %s"
@@ -6945,12 +6956,12 @@ msgstr "неочікуваний тип розділу у [%zu] з посила
msgid "invalid string offset in symbol [%zu]"
msgstr "некоректне зміщення рядка у символі [%zu]"
-#: src/unstrip.c:932 src/unstrip.c:1273
+#: src/unstrip.c:932 src/unstrip.c:1278
#, c-format
msgid "cannot read section [%zu] name: %s"
msgstr "не вдалося прочитати назву розділу [%zu]: %s"
-#: src/unstrip.c:973 src/unstrip.c:992 src/unstrip.c:1025
+#: src/unstrip.c:973 src/unstrip.c:992 src/unstrip.c:1027
#, c-format
msgid "cannot read '.gnu.prelink_undo' section: %s"
msgstr "не вдалося прочитати розділ «.gnu.prelink_undo»: %s"
@@ -6960,82 +6971,87 @@ msgstr "не вдалося прочитати розділ «.gnu.prelink_undo
msgid "invalid contents in '%s' section"
msgstr "некоректний вміст розділу «%s»"
-#: src/unstrip.c:1068 src/unstrip.c:1393
+#: src/unstrip.c:1019
+#, c-format
+msgid "overflow with shnum = %zu in '%s' section"
+msgstr ""
+
+#: src/unstrip.c:1073 src/unstrip.c:1398
#, c-format
msgid "cannot find matching section for [%zu] '%s'"
msgstr "не вдалося знайти відповідний розділ для [%zu] «%s»"
-#: src/unstrip.c:1193 src/unstrip.c:1208 src/unstrip.c:1474
+#: src/unstrip.c:1198 src/unstrip.c:1213 src/unstrip.c:1479 src/unstrip.c:1731
#, c-format
msgid "cannot add section name to string table: %s"
msgstr "не вдалося додати назву розділу до таблиці рядків: %s"
-#: src/unstrip.c:1217
+#: src/unstrip.c:1222
#, c-format
msgid "cannot update section header string table data: %s"
msgstr "не вдалося оновити дані заголовка розділу у таблиці рядків: %s"
-#: src/unstrip.c:1244 src/unstrip.c:1248
+#: src/unstrip.c:1249 src/unstrip.c:1253
#, c-format
msgid "cannot get section header string table section index: %s"
msgstr ""
"не вдалося визначити індекс розділу заголовка розділу у таблиці рядків: %s"
-#: src/unstrip.c:1252 src/unstrip.c:1256 src/unstrip.c:1489
+#: src/unstrip.c:1257 src/unstrip.c:1261 src/unstrip.c:1494
#, c-format
msgid "cannot get section count: %s"
msgstr "не вдалося отримати кількість розділів: %s"
-#: src/unstrip.c:1259
+#: src/unstrip.c:1264
#, c-format
msgid "more sections in stripped file than debug file -- arguments reversed?"
msgstr ""
"у очищеному файлі більше розділів ніж у файлі з даними для зневаджування — "
"помилковий порядок параметрів?"
-#: src/unstrip.c:1318 src/unstrip.c:1408
+#: src/unstrip.c:1323 src/unstrip.c:1413
#, c-format
msgid "cannot read section header string table: %s"
msgstr "не вдалося прочитати таблицю рядків заголовка розділу: %s"
-#: src/unstrip.c:1468
+#: src/unstrip.c:1473
#, c-format
msgid "cannot add new section: %s"
msgstr "не вдалося додати новий розділ: %s"
-#: src/unstrip.c:1578
+#: src/unstrip.c:1583
#, c-format
msgid "symbol [%zu] has invalid section index"
msgstr "символ [%zu] має некоректний індекс розділу"
-#: src/unstrip.c:1816
+#: src/unstrip.c:1864
#, c-format
msgid "cannot read section data: %s"
msgstr "не вдалося прочитати дані розділу: %s"
-#: src/unstrip.c:1837
+#: src/unstrip.c:1885
#, c-format
msgid "cannot get ELF header: %s"
msgstr "не вдалося отримати заголовок ELF: %s"
-#: src/unstrip.c:1869
+#: src/unstrip.c:1917
#, c-format
msgid "cannot update program header: %s"
msgstr "не вдалося оновити заголовок програми: %s"
-#: src/unstrip.c:1874 src/unstrip.c:1957
+#: src/unstrip.c:1922 src/unstrip.c:2005
#, c-format
msgid "cannot write output file: %s"
msgstr "не вдалося записати файл виведених даних: %s"
-#: src/unstrip.c:1926
+#: src/unstrip.c:1974
#, c-format
msgid "DWARF data not adjusted for prelinking bias; consider prelink -u"
msgstr ""
"Дані DWARF не скориговано відповідно до відхилення перед компонуванням; "
"спробуйте виправити це командою prelink -u"
-#: src/unstrip.c:1929
+#: src/unstrip.c:1977
#, c-format
msgid ""
"DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"
@@ -7043,76 +7059,76 @@ msgstr ""
"Дані DWARF у «%s» не скориговано відповідно до відхилення перед "
"компонуванням; спробуйте виправити це командою prelink -u"
-#: src/unstrip.c:1948 src/unstrip.c:1999 src/unstrip.c:2011 src/unstrip.c:2097
+#: src/unstrip.c:1996 src/unstrip.c:2047 src/unstrip.c:2059 src/unstrip.c:2145
#, c-format
msgid "cannot create ELF descriptor: %s"
msgstr "не вдалося створити дескриптор ELF: %s"
-#: src/unstrip.c:1990
+#: src/unstrip.c:2038
msgid "WARNING: "
msgstr "УВАГА: "
-#: src/unstrip.c:1992
+#: src/unstrip.c:2040
msgid ", use --force"
msgstr ", скористайтеся --force"
-#: src/unstrip.c:2015
+#: src/unstrip.c:2063
msgid "ELF header identification (e_ident) different"
msgstr "Різні ідентифікатори заголовків ELF (e_ident)"
-#: src/unstrip.c:2018
+#: src/unstrip.c:2066
msgid "ELF header type (e_type) different"
msgstr "Різні типи заголовків ELF (e_type)"
-#: src/unstrip.c:2021
+#: src/unstrip.c:2069
msgid "ELF header machine type (e_machine) different"
msgstr "Різні типи архітектур заголовків ELF (e_machine)"
-#: src/unstrip.c:2024
+#: src/unstrip.c:2072
msgid "stripped program header (e_phnum) smaller than unstripped"
msgstr "очищений заголовок програми (e_phnum) є меншим за неочищений"
-#: src/unstrip.c:2054
+#: src/unstrip.c:2102
#, c-format
msgid "cannot find stripped file for module '%s': %s"
msgstr "не вдалося знайти очищений файл для модуля «%s»: %s"
-#: src/unstrip.c:2058
+#: src/unstrip.c:2106
#, c-format
msgid "cannot open stripped file '%s' for module '%s': %s"
msgstr "не вдалося відкрити очищений файл «%s» для модуля «%s»: %s"
-#: src/unstrip.c:2073
+#: src/unstrip.c:2121
#, c-format
msgid "cannot find debug file for module '%s': %s"
msgstr "не вдалося знайти файл діагностичних даних для модуля «%s»: %s"
-#: src/unstrip.c:2077
+#: src/unstrip.c:2125
#, c-format
msgid "cannot open debug file '%s' for module '%s': %s"
msgstr "не вдалося відкрити файл діагностичних даних «%s» для модуля «%s»: %s"
-#: src/unstrip.c:2090
+#: src/unstrip.c:2138
#, c-format
msgid "module '%s' file '%s' is not stripped"
msgstr "у модулі «%s» файл «%s» не очищено strip"
-#: src/unstrip.c:2121
+#: src/unstrip.c:2169
#, c-format
msgid "cannot cache section addresses for module '%s': %s"
msgstr "не вдалося кешувати адреси розділів для модуля «%s»: %s"
-#: src/unstrip.c:2254
+#: src/unstrip.c:2302
#, c-format
msgid "no matching modules found"
msgstr "відповідних модулів не виявлено"
-#: src/unstrip.c:2263
+#: src/unstrip.c:2311
#, c-format
msgid "matched more than one module"
msgstr "встановлено відповідність декількох модулів"
-#: src/unstrip.c:2307
+#: src/unstrip.c:2355
msgid ""
"STRIPPED-FILE DEBUG-FILE\n"
"[MODULE...]"
@@ -7120,7 +7136,7 @@ msgstr ""
"ОЧИЩЕНИЙ-ФАЙЛ ФАЙЛ-DEBUG\n"
"[МОДУЛЬ...]"
-#: src/unstrip.c:2308
+#: src/unstrip.c:2356
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"
--
2.4.3
8 years, 6 months
[PATCH] Replace libdwelf nested functions with macros.
by Chih-Hung Hsieh
To be compiled without gnu99 extension.
Signed-off-by: Chih-Hung Hsieh <chh(a)google.com>
---
libdwelf/ChangeLog | 5 +++++
libdwelf/dwelf_elf_gnu_build_id.c | 42 +++++++++++++++++++++------------------
2 files changed, 28 insertions(+), 19 deletions(-)
diff --git a/libdwelf/ChangeLog b/libdwelf/ChangeLog
index 342cb9c..1300182 100644
--- a/libdwelf/ChangeLog
+++ b/libdwelf/ChangeLog
@@ -1,3 +1,8 @@
+2015-09-14 Chih-Hung Hsieh <chh(a)google.com>
+
+ * dwelf_elf_gnu_build_id.c (find_elf_build_id): Replace nested function
+ with macro.
+
2014-11-14 Mark Wielaard <mjw(a)redhat.com>
* dwelf_elf_gnu_debuglink.c (dwelf_elf_gnu_debuglink): Check d_buf
diff --git a/libdwelf/dwelf_elf_gnu_build_id.c b/libdwelf/dwelf_elf_gnu_build_id.c
index 1ed501d..cb20bca 100644
--- a/libdwelf/dwelf_elf_gnu_build_id.c
+++ b/libdwelf/dwelf_elf_gnu_build_id.c
@@ -42,25 +42,29 @@ find_elf_build_id (Dwfl_Module *mod, int e_type, Elf *elf,
const void **build_id_bits, GElf_Addr *build_id_elfaddr,
int *build_id_len)
{
- int check_notes (Elf_Data *data, GElf_Addr data_elfaddr)
- {
- size_t pos = 0;
- GElf_Nhdr nhdr;
- size_t name_pos;
- size_t desc_pos;
- while ((pos = gelf_getnote (data, pos, &nhdr, &name_pos, &desc_pos)) > 0)
- if (nhdr.n_type == NT_GNU_BUILD_ID
- && nhdr.n_namesz == sizeof "GNU" && !memcmp (data->d_buf + name_pos,
- "GNU", sizeof "GNU"))
- {
- *build_id_bits = data->d_buf + desc_pos;
- *build_id_elfaddr = (data_elfaddr == NO_VADDR
- ? 0 : data_elfaddr + desc_pos);
- *build_id_len = nhdr.n_descsz;
- return 1;
- }
- return 0;
- }
+#define check_notes(_data, _data_elfaddr) \
+ ( { \
+ Elf_Data *data = _data; \
+ GElf_Addr data_elfaddr = _data_elfaddr; \
+ int check_result = 0; \
+ size_t pos = 0; \
+ GElf_Nhdr nhdr; \
+ size_t name_pos; \
+ size_t desc_pos; \
+ while ((pos = gelf_getnote (data, pos, &nhdr, &name_pos, &desc_pos)) > 0) \
+ if (nhdr.n_type == NT_GNU_BUILD_ID \
+ && nhdr.n_namesz == sizeof "GNU" && !memcmp (data->d_buf + name_pos, \
+ "GNU", sizeof "GNU")) \
+ { \
+ *build_id_bits = data->d_buf + desc_pos; \
+ *build_id_elfaddr = (data_elfaddr == NO_VADDR \
+ ? 0 : data_elfaddr + desc_pos); \
+ *build_id_len = nhdr.n_descsz; \
+ check_result = 1; \
+ break; \
+ } \
+ check_result; \
+ } )
size_t shstrndx = SHN_UNDEF;
int result = 0;
--
2.6.0.rc0.131.gf624c3d
8 years, 6 months
[PATCH] Let libelf.h's loff_t fall back to off_t
by Josh Stone
Some systems don't have loff_t, like FreeBSD where off_t always supports
large files. We can use AC_CHECK_TYPE to support this, with an AC_SUBST
to create a libelf.h specialized for the target system.
Signed-off-by: Josh Stone <jistone(a)redhat.com>
---
ChangeLog | 7 +
backends/ChangeLog | 4 +
backends/Makefile.am | 3 +-
configure.ac | 10 +-
lib/ChangeLog | 4 +
lib/Makefile.am | 2 +-
libasm/ChangeLog | 4 +
libasm/Makefile.am | 3 +-
libcpu/ChangeLog | 4 +
libcpu/Makefile.am | 3 +-
libdw/ChangeLog | 4 +
libdw/Makefile.am | 2 +-
libdwelf/ChangeLog | 4 +
libdwelf/Makefile.am | 3 +-
libdwfl/ChangeLog | 4 +
libdwfl/Makefile.am | 3 +-
libebl/ChangeLog | 4 +
libebl/Makefile.am | 3 +-
libelf/ChangeLog | 5 +
libelf/libelf.h | 396 ---------------------------------------------------
libelf/libelf.h.in | 396 +++++++++++++++++++++++++++++++++++++++++++++++++++
src/ChangeLog | 4 +
src/Makefile.am | 3 +-
tests/ChangeLog | 4 +
tests/Makefile.am | 2 +-
25 files changed, 473 insertions(+), 408 deletions(-)
delete mode 100644 libelf/libelf.h
create mode 100644 libelf/libelf.h.in
diff --git a/ChangeLog b/ChangeLog
index b7e69e091e49..33145418550a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2015-10-09 Josh Stone <jistone(a)redhat.com>
+
+ * configure.ac (AC_CONFIG_SRCDIR): Use renamed libelf.h.in.
+ (AC_CONFIG_FILES): Add libelf/libelf.h.
+ (AC_SUBST([loff_t])): New substitution for libelf.h.in.
+ (AC_CHECK_TYPE([loff_t])): Look for loff_t; fallback to off_t.
+
2015-09-24 Jose E. Marchesi <jose.marchesi(a)oracle.com>
* configure.ac: Use -fPIC instead of -fpic to avoid relocation
diff --git a/backends/ChangeLog b/backends/ChangeLog
index e6f376336eff..2b83c6aec4c6 100644
--- a/backends/ChangeLog
+++ b/backends/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-09 Josh Stone <jistone(a)redhat.com>
+
+ * Makefile.am (AM_CPPFLAGS): Add -I$(top_builddir)/libelf.
+
2015-10-05 Josh Stone <jistone(a)redhat.com>
* Makefile.am (libebl_%.so): Add AM_V_at and AM_V_CCLD silencers.
diff --git a/backends/Makefile.am b/backends/Makefile.am
index f7002fb56964..07a26171ad1c 100644
--- a/backends/Makefile.am
+++ b/backends/Makefile.am
@@ -29,7 +29,8 @@
## not, see <http://www.gnu.org/licenses/>.
include $(top_srcdir)/config/eu.am
AM_CPPFLAGS += -I$(top_srcdir)/libebl -I$(top_srcdir)/libasm \
- -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw
+ -I$(top_srcdir)/libelf -I$(top_srcdir)/libdw \
+ -I$(top_builddir)/libelf
modules = i386 sh x86_64 ia64 alpha arm aarch64 sparc ppc ppc64 s390 \
diff --git a/configure.ac b/configure.ac
index fe2795e36dcd..9006a76bc915 100644
--- a/configure.ac
+++ b/configure.ac
@@ -29,7 +29,7 @@ dnl We use GNU make extensions; automake 1.10 defaults to -Wportability.
AM_INIT_AUTOMAKE([gnits 1.11 -Wno-portability dist-bzip2 no-dist-gzip parallel-tests])
AM_MAINTAINER_MODE
-AC_CONFIG_SRCDIR([libelf/libelf.h])
+AC_CONFIG_SRCDIR([libelf/libelf.h.in])
AC_CONFIG_FILES([Makefile])
AC_CONFIG_HEADERS([config.h])
@@ -313,7 +313,7 @@ dnl Support library.
AC_CONFIG_FILES([lib/Makefile])
dnl ELF library.
-AC_CONFIG_FILES([libelf/Makefile])
+AC_CONFIG_FILES([libelf/Makefile libelf/libelf.h])
dnl Higher-level ELF support library.
AC_CONFIG_FILES([libebl/Makefile])
@@ -398,6 +398,12 @@ AH_TEMPLATE([MODVERSION], [Identifier for modules in the build.])
AC_CHECK_SIZEOF(long)
+# Need a long offset type for public headers, independent of AC_SYS_LARGEFILE.
+# Use loff_t where it exists, else hope off_t suffices (like on FreeBSD).
+# (CC will raise an error if LFSed implementations don't match the header.)
+AC_SUBST(loff_t)
+AC_CHECK_TYPE([loff_t], [loff_t=loff_t], [loff_t=off_t])
+
# On aarch64 before glibc 2.20 we would get the kernel user_pt_regs instead
# of the user_regs_struct from sys/user.h. They are structurally the same
# but we get either one or the other.
diff --git a/lib/ChangeLog b/lib/ChangeLog
index 76b5753d71cc..a6fc67494754 100644
--- a/lib/ChangeLog
+++ b/lib/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-09 Josh Stone <jistone(a)redhat.com>
+
+ * Makefile.am (AM_CPPFLAGS): Add -I$(builddir)/../libelf.
+
2015-09-24 Jose E. Marchesi <jose.marchesi(a)oracle.com>
* Makefile.am (AM_CFLAGS): Use -fPIC instead of -fpic to avoid relocation
diff --git a/lib/Makefile.am b/lib/Makefile.am
index 2219eaa4eb7b..3600943fa7e4 100644
--- a/lib/Makefile.am
+++ b/lib/Makefile.am
@@ -29,7 +29,7 @@
##
include $(top_srcdir)/config/eu.am
AM_CFLAGS += -fPIC
-AM_CPPFLAGS += -I$(srcdir)/../libelf
+AM_CPPFLAGS += -I$(srcdir)/../libelf -I$(builddir)/../libelf
noinst_LIBRARIES = libeu.a
diff --git a/libasm/ChangeLog b/libasm/ChangeLog
index beb6211c5894..c1ca7ff7a89b 100644
--- a/libasm/ChangeLog
+++ b/libasm/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-09 Josh Stone <jistone(a)redhat.com>
+
+ * Makefile.am (AM_CPPFLAGS): Add -I$(top_builddir)/libelf.
+
2015-10-05 Josh Stone <jistone(a)redhat.com>
* Makefile.am (libasm.so): Add AM_V_CCLD and AM_V_at silencers.
diff --git a/libasm/Makefile.am b/libasm/Makefile.am
index a4bf293a4806..f5145e6e0d73 100644
--- a/libasm/Makefile.am
+++ b/libasm/Makefile.am
@@ -28,7 +28,8 @@
## not, see <http://www.gnu.org/licenses/>.
##
include $(top_srcdir)/config/eu.am
-AM_CPPFLAGS += -I$(top_srcdir)/libelf -I$(top_srcdir)/libebl -I$(top_srcdir)/libdw
+AM_CPPFLAGS += -I$(top_srcdir)/libelf -I$(top_builddir)/libelf \
+ -I$(top_srcdir)/libebl -I$(top_srcdir)/libdw
GCC_INCLUDE = -I$(shell $(CC) -print-file-name=include)
VERSION = 1
diff --git a/libcpu/ChangeLog b/libcpu/ChangeLog
index c953c7b385ec..d6d78b3acfd5 100644
--- a/libcpu/ChangeLog
+++ b/libcpu/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-09 Josh Stone <jistone(a)redhat.com>
+
+ * Makefile.am (AM_CPPFLAGS): Add -I$(builddir)/../libelf.
+
2015-10-05 Josh Stone <jistone(a)redhat.com>
* Makefile.am (%_defs): Add AM_V_GEN and AM_V_at silencers.
diff --git a/libcpu/Makefile.am b/libcpu/Makefile.am
index f0caaea6e97a..e8b861b085f3 100644
--- a/libcpu/Makefile.am
+++ b/libcpu/Makefile.am
@@ -29,7 +29,8 @@
##
include $(top_srcdir)/config/eu.am
AM_CPPFLAGS += -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
- -I$(srcdir)/../libdw -I$(srcdir)/../libasm
+ -I$(srcdir)/../libdw -I$(srcdir)/../libasm \
+ -I$(builddir)/../libelf
AM_CFLAGS += -fPIC -fdollars-in-identifiers
LEXCOMPILE = $(LEX) $(LFLAGS) $(AM_LFLAGS) -P$(<F:lex.l=)
LEX_OUTPUT_ROOT = lex.$(<F:lex.l=)
diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index 39c49aa48b86..5fa159611d5c 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,5 +1,9 @@
2015-10-09 Josh Stone <jistone(a)redhat.com>
+ * Makefile.am (AM_CPPFLAGS): Add -I$(builddir)/../libelf.
+
+2015-10-09 Josh Stone <jistone(a)redhat.com>
+
* dwarf_begin.c (dwarf_begin): Replace stat64 and fstat64 with stat
and fstat.
diff --git a/libdw/Makefile.am b/libdw/Makefile.am
index 2da0db677de0..736d30b23cfe 100644
--- a/libdw/Makefile.am
+++ b/libdw/Makefile.am
@@ -31,7 +31,7 @@ include $(top_srcdir)/config/eu.am
if BUILD_STATIC
AM_CFLAGS += -fPIC
endif
-AM_CPPFLAGS += -I$(srcdir)/../libelf
+AM_CPPFLAGS += -I$(srcdir)/../libelf -I$(builddir)/../libelf
VERSION = 1
lib_LIBRARIES = libdw.a
diff --git a/libdwelf/ChangeLog b/libdwelf/ChangeLog
index 342cb9cfe127..e8b92f387e1b 100644
--- a/libdwelf/ChangeLog
+++ b/libdwelf/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-09 Josh Stone <jistone(a)redhat.com>
+
+ * Makefile.am (AM_CPPFLAGS): Add -I$(builddir)/../libelf.
+
2014-11-14 Mark Wielaard <mjw(a)redhat.com>
* dwelf_elf_gnu_debuglink.c (dwelf_elf_gnu_debuglink): Check d_buf
diff --git a/libdwelf/Makefile.am b/libdwelf/Makefile.am
index cd4b7ddf53f5..05f2828b7506 100644
--- a/libdwelf/Makefile.am
+++ b/libdwelf/Makefile.am
@@ -31,7 +31,8 @@
##
include $(top_srcdir)/config/eu.am
AM_CPPFLAGS += -I$(srcdir)/../libelf -I$(srcdir)/../libdw \
- -I$(srcdir)/../libdwfl -I$(srcdir)/../libebl
+ -I$(srcdir)/../libdwfl -I$(srcdir)/../libebl \
+ -I$(builddir)/../libelf
VERSION = 1
noinst_LIBRARIES = libdwelf.a libdwelf_pic.a
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog
index 5cae434ec449..8863140db1c3 100644
--- a/libdwfl/ChangeLog
+++ b/libdwfl/ChangeLog
@@ -1,5 +1,9 @@
2015-10-09 Josh Stone <jistone(a)redhat.com>
+ * Makefile.am (AM_CPPFLAGS): Add -I$(builddir)/../libelf.
+
+2015-10-09 Josh Stone <jistone(a)redhat.com>
+
* core-file.c (elf_begin_rand): Replace loff_t with off_t.
* open.c (decompress): Replace off64_t with off_t.
* gzip.c (unzip): Likewise.
diff --git a/libdwfl/Makefile.am b/libdwfl/Makefile.am
index 72c980bfe498..ae1e523e0c65 100644
--- a/libdwfl/Makefile.am
+++ b/libdwfl/Makefile.am
@@ -31,7 +31,8 @@
##
include $(top_srcdir)/config/eu.am
AM_CPPFLAGS += -I$(srcdir) -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
- -I$(srcdir)/../libdw -I$(srcdir)/../libdwelf
+ -I$(srcdir)/../libdw -I$(srcdir)/../libdwelf \
+ -I$(builddir)/../libelf
VERSION = 1
noinst_LIBRARIES = libdwfl.a
diff --git a/libebl/ChangeLog b/libebl/ChangeLog
index d040c08fe17a..488ff75b1924 100644
--- a/libebl/ChangeLog
+++ b/libebl/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-09 Josh Stone <jistone(a)redhat.com>
+
+ * Makefile.am (AM_CPPFLAGS): Add -I$(builddir)/../libelf.
+
2015-09-24 Jose E. Marchesi <jose.marchesi(a)oracle.com>
* Makefile.am (AM_CFLAGS): Use -fPIC instead of -fpic to avoid
diff --git a/libebl/Makefile.am b/libebl/Makefile.am
index 6b41a3e1c701..f2bece0133b8 100644
--- a/libebl/Makefile.am
+++ b/libebl/Makefile.am
@@ -29,7 +29,8 @@
##
include $(top_srcdir)/config/eu.am
AM_CFLAGS += -fPIC
-AM_CPPFLAGS += -I$(srcdir)/../libelf -I$(srcdir)/../libdw -I$(srcdir)/../libasm
+AM_CPPFLAGS += -I$(srcdir)/../libelf -I$(builddir)/../libelf \
+ -I$(srcdir)/../libdw -I$(srcdir)/../libasm
VERSION = 1
LIBEBL_SUBDIR = @LIBEBL_SUBDIR@
diff --git a/libelf/ChangeLog b/libelf/ChangeLog
index b1d1ecdf11e5..b3fca63968df 100644
--- a/libelf/ChangeLog
+++ b/libelf/ChangeLog
@@ -1,5 +1,10 @@
2015-10-09 Josh Stone <jistone(a)redhat.com>
+ * libelf.h: Renamed to ...
+ * libelf.h.in: ... here, with @loff_t@ for AC_SUBST.
+
+2015-10-09 Josh Stone <jistone(a)redhat.com>
+
* libelfP.h (struct Elf): Replace off64_t with off_t.
* elf_getdata_rawchunk.c (elf_getdata_rawchunk): Likewise.
diff --git a/libelf/libelf.h b/libelf/libelf.h
deleted file mode 100644
index 5a2b3af856e0..000000000000
--- a/libelf/libelf.h
+++ /dev/null
@@ -1,396 +0,0 @@
-/* Interface for libelf.
- Copyright (C) 1998-2010 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/>. */
-
-#ifndef _LIBELF_H
-#define _LIBELF_H 1
-
-#include <sys/types.h>
-
-/* Get the ELF types. */
-#include <elf.h>
-
-
-/* Known translation types. */
-typedef enum
-{
- ELF_T_BYTE, /* unsigned char */
- ELF_T_ADDR, /* Elf32_Addr, Elf64_Addr, ... */
- ELF_T_DYN, /* Dynamic section record. */
- ELF_T_EHDR, /* ELF header. */
- ELF_T_HALF, /* Elf32_Half, Elf64_Half, ... */
- ELF_T_OFF, /* Elf32_Off, Elf64_Off, ... */
- ELF_T_PHDR, /* Program header. */
- ELF_T_RELA, /* Relocation entry with addend. */
- ELF_T_REL, /* Relocation entry. */
- ELF_T_SHDR, /* Section header. */
- ELF_T_SWORD, /* Elf32_Sword, Elf64_Sword, ... */
- ELF_T_SYM, /* Symbol record. */
- ELF_T_WORD, /* Elf32_Word, Elf64_Word, ... */
- ELF_T_XWORD, /* Elf32_Xword, Elf64_Xword, ... */
- ELF_T_SXWORD, /* Elf32_Sxword, Elf64_Sxword, ... */
- ELF_T_VDEF, /* Elf32_Verdef, Elf64_Verdef, ... */
- ELF_T_VDAUX, /* Elf32_Verdaux, Elf64_Verdaux, ... */
- ELF_T_VNEED, /* Elf32_Verneed, Elf64_Verneed, ... */
- ELF_T_VNAUX, /* Elf32_Vernaux, Elf64_Vernaux, ... */
- ELF_T_NHDR, /* Elf32_Nhdr, Elf64_Nhdr, ... */
- ELF_T_SYMINFO, /* Elf32_Syminfo, Elf64_Syminfo, ... */
- ELF_T_MOVE, /* Elf32_Move, Elf64_Move, ... */
- ELF_T_LIB, /* Elf32_Lib, Elf64_Lib, ... */
- ELF_T_GNUHASH, /* GNU-style hash section. */
- ELF_T_AUXV, /* Elf32_auxv_t, Elf64_auxv_t, ... */
- /* Keep this the last entry. */
- ELF_T_NUM
-} Elf_Type;
-
-/* Descriptor for data to be converted to or from memory format. */
-typedef struct
-{
- void *d_buf; /* Pointer to the actual data. */
- Elf_Type d_type; /* Type of this piece of data. */
- unsigned int d_version; /* ELF version. */
- size_t d_size; /* Size in bytes. */
- loff_t d_off; /* Offset into section. */
- size_t d_align; /* Alignment in section. */
-} Elf_Data;
-
-
-/* Commands for `...'. */
-typedef enum
-{
- ELF_C_NULL, /* Nothing, terminate, or compute only. */
- ELF_C_READ, /* Read .. */
- ELF_C_RDWR, /* Read and write .. */
- ELF_C_WRITE, /* Write .. */
- ELF_C_CLR, /* Clear flag. */
- ELF_C_SET, /* Set flag. */
- ELF_C_FDDONE, /* Signal that file descriptor will not be
- used anymore. */
- ELF_C_FDREAD, /* Read rest of data so that file descriptor
- is not used anymore. */
- /* The following are extensions. */
- ELF_C_READ_MMAP, /* Read, but mmap the file if possible. */
- ELF_C_RDWR_MMAP, /* Read and write, with mmap. */
- ELF_C_WRITE_MMAP, /* Write, with mmap. */
- ELF_C_READ_MMAP_PRIVATE, /* Read, but memory is writable, results are
- not written to the file. */
- ELF_C_EMPTY, /* Copy basic file data but not the content. */
- /* Keep this the last entry. */
- ELF_C_NUM
-} Elf_Cmd;
-
-
-/* Flags for the ELF structures. */
-enum
-{
- ELF_F_DIRTY = 0x1,
-#define ELF_F_DIRTY ELF_F_DIRTY
- ELF_F_LAYOUT = 0x4,
-#define ELF_F_LAYOUT ELF_F_LAYOUT
- ELF_F_PERMISSIVE = 0x8
-#define ELF_F_PERMISSIVE ELF_F_PERMISSIVE
-};
-
-
-/* Identification values for recognized object files. */
-typedef enum
-{
- ELF_K_NONE, /* Unknown. */
- ELF_K_AR, /* Archive. */
- ELF_K_COFF, /* Stupid old COFF. */
- ELF_K_ELF, /* ELF file. */
- /* Keep this the last entry. */
- ELF_K_NUM
-} Elf_Kind;
-
-
-/* Archive member header. */
-typedef struct
-{
- char *ar_name; /* Name of archive member. */
- time_t ar_date; /* File date. */
- uid_t ar_uid; /* User ID. */
- gid_t ar_gid; /* Group ID. */
- mode_t ar_mode; /* File mode. */
- loff_t ar_size; /* File size. */
- char *ar_rawname; /* Original name of archive member. */
-} Elf_Arhdr;
-
-
-/* Archive symbol table entry. */
-typedef struct
-{
- char *as_name; /* Symbol name. */
- size_t as_off; /* Offset for this file in the archive. */
- unsigned long int as_hash; /* Hash value of the name. */
-} Elf_Arsym;
-
-
-/* Descriptor for the ELF file. */
-typedef struct Elf Elf;
-
-/* Descriptor for ELF file section. */
-typedef struct Elf_Scn Elf_Scn;
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Return descriptor for ELF file to work according to CMD. */
-extern Elf *elf_begin (int __fildes, Elf_Cmd __cmd, Elf *__ref);
-
-/* Create a clone of an existing ELF descriptor. */
- extern Elf *elf_clone (Elf *__elf, Elf_Cmd __cmd);
-
-/* Create descriptor for memory region. */
-extern Elf *elf_memory (char *__image, size_t __size);
-
-/* Advance archive descriptor to next element. */
-extern Elf_Cmd elf_next (Elf *__elf);
-
-/* Free resources allocated for ELF. */
-extern int elf_end (Elf *__elf);
-
-/* Update ELF descriptor and write file to disk. */
-extern loff_t elf_update (Elf *__elf, Elf_Cmd __cmd);
-
-/* Determine what kind of file is associated with ELF. */
-extern Elf_Kind elf_kind (Elf *__elf) __attribute__ ((__pure__));
-
-/* Get the base offset for an object file. */
-extern loff_t elf_getbase (Elf *__elf);
-
-
-/* Retrieve file identification data. */
-extern char *elf_getident (Elf *__elf, size_t *__nbytes);
-
-/* Retrieve class-dependent object file header. */
-extern Elf32_Ehdr *elf32_getehdr (Elf *__elf);
-/* Similar but this time the binary calls is ELFCLASS64. */
-extern Elf64_Ehdr *elf64_getehdr (Elf *__elf);
-
-/* Create ELF header if none exists. */
-extern Elf32_Ehdr *elf32_newehdr (Elf *__elf);
-/* Similar but this time the binary calls is ELFCLASS64. */
-extern Elf64_Ehdr *elf64_newehdr (Elf *__elf);
-
-/* Get the number of program headers in the ELF file. If the file uses
- more headers than can be represented in the e_phnum field of the ELF
- header the information from the sh_info field in the zeroth section
- header is used. */
-extern int elf_getphdrnum (Elf *__elf, size_t *__dst);
-
-/* Retrieve class-dependent program header table. */
-extern Elf32_Phdr *elf32_getphdr (Elf *__elf);
-/* Similar but this time the binary calls is ELFCLASS64. */
-extern Elf64_Phdr *elf64_getphdr (Elf *__elf);
-
-/* Create ELF program header. */
-extern Elf32_Phdr *elf32_newphdr (Elf *__elf, size_t __cnt);
-/* Similar but this time the binary calls is ELFCLASS64. */
-extern Elf64_Phdr *elf64_newphdr (Elf *__elf, size_t __cnt);
-
-
-/* Get section at INDEX. */
-extern Elf_Scn *elf_getscn (Elf *__elf, size_t __index);
-
-/* Get section at OFFSET. */
-extern Elf_Scn *elf32_offscn (Elf *__elf, Elf32_Off __offset);
-/* Similar bug this time the binary calls is ELFCLASS64. */
-extern Elf_Scn *elf64_offscn (Elf *__elf, Elf64_Off __offset);
-
-/* Get index of section. */
-extern size_t elf_ndxscn (Elf_Scn *__scn);
-
-/* Get section with next section index. */
-extern Elf_Scn *elf_nextscn (Elf *__elf, Elf_Scn *__scn);
-
-/* Create a new section and append it at the end of the table. */
-extern Elf_Scn *elf_newscn (Elf *__elf);
-
-/* Get the section index of the extended section index table for the
- given symbol table. */
-extern int elf_scnshndx (Elf_Scn *__scn);
-
-/* Get the number of sections in the ELF file. If the file uses more
- sections than can be represented in the e_shnum field of the ELF
- header the information from the sh_size field in the zeroth section
- header is used. */
-extern int elf_getshdrnum (Elf *__elf, size_t *__dst);
-/* Sun messed up the implementation of 'elf_getshnum' in their implementation.
- It was agreed to make the same functionality available under a different
- name and obsolete the old name. */
-extern int elf_getshnum (Elf *__elf, size_t *__dst)
- __attribute__ ((__deprecated__));
-
-
-/* Get the section index of the section header string table in the ELF
- file. If the index cannot be represented in the e_shnum field of
- the ELF header the information from the sh_link field in the zeroth
- section header is used. */
-extern int elf_getshdrstrndx (Elf *__elf, size_t *__dst);
-/* Sun messed up the implementation of 'elf_getshnum' in their implementation.
- It was agreed to make the same functionality available under a different
- name and obsolete the old name. */
-extern int elf_getshstrndx (Elf *__elf, size_t *__dst)
- __attribute__ ((__deprecated__));
-
-
-/* Retrieve section header of ELFCLASS32 binary. */
-extern Elf32_Shdr *elf32_getshdr (Elf_Scn *__scn);
-/* Similar for ELFCLASS64. */
-extern Elf64_Shdr *elf64_getshdr (Elf_Scn *__scn);
-
-
-/* Set or clear flags for ELF file. */
-extern unsigned int elf_flagelf (Elf *__elf, Elf_Cmd __cmd,
- unsigned int __flags);
-/* Similarly for the ELF header. */
-extern unsigned int elf_flagehdr (Elf *__elf, Elf_Cmd __cmd,
- unsigned int __flags);
-/* Similarly for the ELF program header. */
-extern unsigned int elf_flagphdr (Elf *__elf, Elf_Cmd __cmd,
- unsigned int __flags);
-/* Similarly for the given ELF section. */
-extern unsigned int elf_flagscn (Elf_Scn *__scn, Elf_Cmd __cmd,
- unsigned int __flags);
-/* Similarly for the given ELF data. */
-extern unsigned int elf_flagdata (Elf_Data *__data, Elf_Cmd __cmd,
- unsigned int __flags);
-/* Similarly for the given ELF section header. */
-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. */
-extern Elf_Data *elf_getdata (Elf_Scn *__scn, Elf_Data *__data);
-
-/* Get uninterpreted section content. */
-extern Elf_Data *elf_rawdata (Elf_Scn *__scn, Elf_Data *__data);
-
-/* Create new data descriptor for section SCN. */
-extern Elf_Data *elf_newdata (Elf_Scn *__scn);
-
-/* Get data translated from a chunk of the file contents as section data
- would be for TYPE. The resulting Elf_Data pointer is valid until
- elf_end (ELF) is called. */
-extern Elf_Data *elf_getdata_rawchunk (Elf *__elf,
- loff_t __offset, size_t __size,
- Elf_Type __type);
-
-
-/* Return pointer to string at OFFSET in section INDEX. */
-extern char *elf_strptr (Elf *__elf, size_t __index, size_t __offset);
-
-
-/* Return header of archive. */
-extern Elf_Arhdr *elf_getarhdr (Elf *__elf);
-
-/* Return offset in archive for current file ELF. */
-extern loff_t elf_getaroff (Elf *__elf);
-
-/* Select archive element at OFFSET. */
-extern size_t elf_rand (Elf *__elf, size_t __offset);
-
-/* Get symbol table of archive. */
-extern Elf_Arsym *elf_getarsym (Elf *__elf, size_t *__narsyms);
-
-
-/* Control ELF descriptor. */
-extern int elf_cntl (Elf *__elf, Elf_Cmd __cmd);
-
-/* Retrieve uninterpreted file contents. */
-extern char *elf_rawfile (Elf *__elf, size_t *__nbytes);
-
-
-/* Return size of array of COUNT elements of the type denoted by TYPE
- in the external representation. The binary class is taken from ELF.
- The result is based on version VERSION of the ELF standard. */
-extern size_t elf32_fsize (Elf_Type __type, size_t __count,
- unsigned int __version)
- __attribute__ ((__const__));
-/* Similar but this time the binary calls is ELFCLASS64. */
-extern size_t elf64_fsize (Elf_Type __type, size_t __count,
- unsigned int __version)
- __attribute__ ((__const__));
-
-
-/* Convert data structure from the representation in the file represented
- by ELF to their memory representation. */
-extern Elf_Data *elf32_xlatetom (Elf_Data *__dest, const Elf_Data *__src,
- unsigned int __encode);
-/* Same for 64 bit class. */
-extern Elf_Data *elf64_xlatetom (Elf_Data *__dest, const Elf_Data *__src,
- unsigned int __encode);
-
-/* Convert data structure from to the representation in memory
- represented by ELF file representation. */
-extern Elf_Data *elf32_xlatetof (Elf_Data *__dest, const Elf_Data *__src,
- unsigned int __encode);
-/* Same for 64 bit class. */
-extern Elf_Data *elf64_xlatetof (Elf_Data *__dest, const Elf_Data *__src,
- unsigned int __encode);
-
-
-/* Return error code of last failing function call. This value is kept
- separately for each thread. */
-extern int elf_errno (void);
-
-/* Return error string for ERROR. If ERROR is zero, return error string
- for most recent error or NULL is none occurred. If ERROR is -1 the
- behaviour is similar to the last case except that not NULL but a legal
- string is returned. */
-extern const char *elf_errmsg (int __error);
-
-
-/* Coordinate ELF library and application versions. */
-extern unsigned int elf_version (unsigned int __version);
-
-/* Set fill bytes used to fill holes in data structures. */
-extern void elf_fill (int __fill);
-
-/* Compute hash value. */
-extern unsigned long int elf_hash (const char *__string)
- __attribute__ ((__pure__));
-
-/* Compute hash value using the GNU-specific hash function. */
-extern unsigned long int elf_gnu_hash (const char *__string)
- __attribute__ ((__pure__));
-
-
-/* Compute simple checksum from permanent parts of the ELF file. */
-extern long int elf32_checksum (Elf *__elf);
-/* Similar but this time the binary calls is ELFCLASS64. */
-extern long int elf64_checksum (Elf *__elf);
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* libelf.h */
diff --git a/libelf/libelf.h.in b/libelf/libelf.h.in
new file mode 100644
index 000000000000..b42712137f18
--- /dev/null
+++ b/libelf/libelf.h.in
@@ -0,0 +1,396 @@
+/* Interface for libelf.
+ Copyright (C) 1998-2010 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/>. */
+
+#ifndef _LIBELF_H
+#define _LIBELF_H 1
+
+#include <sys/types.h>
+
+/* Get the ELF types. */
+#include <elf.h>
+
+
+/* Known translation types. */
+typedef enum
+{
+ ELF_T_BYTE, /* unsigned char */
+ ELF_T_ADDR, /* Elf32_Addr, Elf64_Addr, ... */
+ ELF_T_DYN, /* Dynamic section record. */
+ ELF_T_EHDR, /* ELF header. */
+ ELF_T_HALF, /* Elf32_Half, Elf64_Half, ... */
+ ELF_T_OFF, /* Elf32_Off, Elf64_Off, ... */
+ ELF_T_PHDR, /* Program header. */
+ ELF_T_RELA, /* Relocation entry with addend. */
+ ELF_T_REL, /* Relocation entry. */
+ ELF_T_SHDR, /* Section header. */
+ ELF_T_SWORD, /* Elf32_Sword, Elf64_Sword, ... */
+ ELF_T_SYM, /* Symbol record. */
+ ELF_T_WORD, /* Elf32_Word, Elf64_Word, ... */
+ ELF_T_XWORD, /* Elf32_Xword, Elf64_Xword, ... */
+ ELF_T_SXWORD, /* Elf32_Sxword, Elf64_Sxword, ... */
+ ELF_T_VDEF, /* Elf32_Verdef, Elf64_Verdef, ... */
+ ELF_T_VDAUX, /* Elf32_Verdaux, Elf64_Verdaux, ... */
+ ELF_T_VNEED, /* Elf32_Verneed, Elf64_Verneed, ... */
+ ELF_T_VNAUX, /* Elf32_Vernaux, Elf64_Vernaux, ... */
+ ELF_T_NHDR, /* Elf32_Nhdr, Elf64_Nhdr, ... */
+ ELF_T_SYMINFO, /* Elf32_Syminfo, Elf64_Syminfo, ... */
+ ELF_T_MOVE, /* Elf32_Move, Elf64_Move, ... */
+ ELF_T_LIB, /* Elf32_Lib, Elf64_Lib, ... */
+ ELF_T_GNUHASH, /* GNU-style hash section. */
+ ELF_T_AUXV, /* Elf32_auxv_t, Elf64_auxv_t, ... */
+ /* Keep this the last entry. */
+ ELF_T_NUM
+} Elf_Type;
+
+/* Descriptor for data to be converted to or from memory format. */
+typedef struct
+{
+ void *d_buf; /* Pointer to the actual data. */
+ Elf_Type d_type; /* Type of this piece of data. */
+ unsigned int d_version; /* ELF version. */
+ size_t d_size; /* Size in bytes. */
+ @loff_t@ d_off; /* Offset into section. */
+ size_t d_align; /* Alignment in section. */
+} Elf_Data;
+
+
+/* Commands for `...'. */
+typedef enum
+{
+ ELF_C_NULL, /* Nothing, terminate, or compute only. */
+ ELF_C_READ, /* Read .. */
+ ELF_C_RDWR, /* Read and write .. */
+ ELF_C_WRITE, /* Write .. */
+ ELF_C_CLR, /* Clear flag. */
+ ELF_C_SET, /* Set flag. */
+ ELF_C_FDDONE, /* Signal that file descriptor will not be
+ used anymore. */
+ ELF_C_FDREAD, /* Read rest of data so that file descriptor
+ is not used anymore. */
+ /* The following are extensions. */
+ ELF_C_READ_MMAP, /* Read, but mmap the file if possible. */
+ ELF_C_RDWR_MMAP, /* Read and write, with mmap. */
+ ELF_C_WRITE_MMAP, /* Write, with mmap. */
+ ELF_C_READ_MMAP_PRIVATE, /* Read, but memory is writable, results are
+ not written to the file. */
+ ELF_C_EMPTY, /* Copy basic file data but not the content. */
+ /* Keep this the last entry. */
+ ELF_C_NUM
+} Elf_Cmd;
+
+
+/* Flags for the ELF structures. */
+enum
+{
+ ELF_F_DIRTY = 0x1,
+#define ELF_F_DIRTY ELF_F_DIRTY
+ ELF_F_LAYOUT = 0x4,
+#define ELF_F_LAYOUT ELF_F_LAYOUT
+ ELF_F_PERMISSIVE = 0x8
+#define ELF_F_PERMISSIVE ELF_F_PERMISSIVE
+};
+
+
+/* Identification values for recognized object files. */
+typedef enum
+{
+ ELF_K_NONE, /* Unknown. */
+ ELF_K_AR, /* Archive. */
+ ELF_K_COFF, /* Stupid old COFF. */
+ ELF_K_ELF, /* ELF file. */
+ /* Keep this the last entry. */
+ ELF_K_NUM
+} Elf_Kind;
+
+
+/* Archive member header. */
+typedef struct
+{
+ char *ar_name; /* Name of archive member. */
+ time_t ar_date; /* File date. */
+ uid_t ar_uid; /* User ID. */
+ gid_t ar_gid; /* Group ID. */
+ mode_t ar_mode; /* File mode. */
+ @loff_t@ ar_size; /* File size. */
+ char *ar_rawname; /* Original name of archive member. */
+} Elf_Arhdr;
+
+
+/* Archive symbol table entry. */
+typedef struct
+{
+ char *as_name; /* Symbol name. */
+ size_t as_off; /* Offset for this file in the archive. */
+ unsigned long int as_hash; /* Hash value of the name. */
+} Elf_Arsym;
+
+
+/* Descriptor for the ELF file. */
+typedef struct Elf Elf;
+
+/* Descriptor for ELF file section. */
+typedef struct Elf_Scn Elf_Scn;
+
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Return descriptor for ELF file to work according to CMD. */
+extern Elf *elf_begin (int __fildes, Elf_Cmd __cmd, Elf *__ref);
+
+/* Create a clone of an existing ELF descriptor. */
+ extern Elf *elf_clone (Elf *__elf, Elf_Cmd __cmd);
+
+/* Create descriptor for memory region. */
+extern Elf *elf_memory (char *__image, size_t __size);
+
+/* Advance archive descriptor to next element. */
+extern Elf_Cmd elf_next (Elf *__elf);
+
+/* Free resources allocated for ELF. */
+extern int elf_end (Elf *__elf);
+
+/* Update ELF descriptor and write file to disk. */
+extern @loff_t@ elf_update (Elf *__elf, Elf_Cmd __cmd);
+
+/* Determine what kind of file is associated with ELF. */
+extern Elf_Kind elf_kind (Elf *__elf) __attribute__ ((__pure__));
+
+/* Get the base offset for an object file. */
+extern @loff_t@ elf_getbase (Elf *__elf);
+
+
+/* Retrieve file identification data. */
+extern char *elf_getident (Elf *__elf, size_t *__nbytes);
+
+/* Retrieve class-dependent object file header. */
+extern Elf32_Ehdr *elf32_getehdr (Elf *__elf);
+/* Similar but this time the binary calls is ELFCLASS64. */
+extern Elf64_Ehdr *elf64_getehdr (Elf *__elf);
+
+/* Create ELF header if none exists. */
+extern Elf32_Ehdr *elf32_newehdr (Elf *__elf);
+/* Similar but this time the binary calls is ELFCLASS64. */
+extern Elf64_Ehdr *elf64_newehdr (Elf *__elf);
+
+/* Get the number of program headers in the ELF file. If the file uses
+ more headers than can be represented in the e_phnum field of the ELF
+ header the information from the sh_info field in the zeroth section
+ header is used. */
+extern int elf_getphdrnum (Elf *__elf, size_t *__dst);
+
+/* Retrieve class-dependent program header table. */
+extern Elf32_Phdr *elf32_getphdr (Elf *__elf);
+/* Similar but this time the binary calls is ELFCLASS64. */
+extern Elf64_Phdr *elf64_getphdr (Elf *__elf);
+
+/* Create ELF program header. */
+extern Elf32_Phdr *elf32_newphdr (Elf *__elf, size_t __cnt);
+/* Similar but this time the binary calls is ELFCLASS64. */
+extern Elf64_Phdr *elf64_newphdr (Elf *__elf, size_t __cnt);
+
+
+/* Get section at INDEX. */
+extern Elf_Scn *elf_getscn (Elf *__elf, size_t __index);
+
+/* Get section at OFFSET. */
+extern Elf_Scn *elf32_offscn (Elf *__elf, Elf32_Off __offset);
+/* Similar bug this time the binary calls is ELFCLASS64. */
+extern Elf_Scn *elf64_offscn (Elf *__elf, Elf64_Off __offset);
+
+/* Get index of section. */
+extern size_t elf_ndxscn (Elf_Scn *__scn);
+
+/* Get section with next section index. */
+extern Elf_Scn *elf_nextscn (Elf *__elf, Elf_Scn *__scn);
+
+/* Create a new section and append it at the end of the table. */
+extern Elf_Scn *elf_newscn (Elf *__elf);
+
+/* Get the section index of the extended section index table for the
+ given symbol table. */
+extern int elf_scnshndx (Elf_Scn *__scn);
+
+/* Get the number of sections in the ELF file. If the file uses more
+ sections than can be represented in the e_shnum field of the ELF
+ header the information from the sh_size field in the zeroth section
+ header is used. */
+extern int elf_getshdrnum (Elf *__elf, size_t *__dst);
+/* Sun messed up the implementation of 'elf_getshnum' in their implementation.
+ It was agreed to make the same functionality available under a different
+ name and obsolete the old name. */
+extern int elf_getshnum (Elf *__elf, size_t *__dst)
+ __attribute__ ((__deprecated__));
+
+
+/* Get the section index of the section header string table in the ELF
+ file. If the index cannot be represented in the e_shnum field of
+ the ELF header the information from the sh_link field in the zeroth
+ section header is used. */
+extern int elf_getshdrstrndx (Elf *__elf, size_t *__dst);
+/* Sun messed up the implementation of 'elf_getshnum' in their implementation.
+ It was agreed to make the same functionality available under a different
+ name and obsolete the old name. */
+extern int elf_getshstrndx (Elf *__elf, size_t *__dst)
+ __attribute__ ((__deprecated__));
+
+
+/* Retrieve section header of ELFCLASS32 binary. */
+extern Elf32_Shdr *elf32_getshdr (Elf_Scn *__scn);
+/* Similar for ELFCLASS64. */
+extern Elf64_Shdr *elf64_getshdr (Elf_Scn *__scn);
+
+
+/* Set or clear flags for ELF file. */
+extern unsigned int elf_flagelf (Elf *__elf, Elf_Cmd __cmd,
+ unsigned int __flags);
+/* Similarly for the ELF header. */
+extern unsigned int elf_flagehdr (Elf *__elf, Elf_Cmd __cmd,
+ unsigned int __flags);
+/* Similarly for the ELF program header. */
+extern unsigned int elf_flagphdr (Elf *__elf, Elf_Cmd __cmd,
+ unsigned int __flags);
+/* Similarly for the given ELF section. */
+extern unsigned int elf_flagscn (Elf_Scn *__scn, Elf_Cmd __cmd,
+ unsigned int __flags);
+/* Similarly for the given ELF data. */
+extern unsigned int elf_flagdata (Elf_Data *__data, Elf_Cmd __cmd,
+ unsigned int __flags);
+/* Similarly for the given ELF section header. */
+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. */
+extern Elf_Data *elf_getdata (Elf_Scn *__scn, Elf_Data *__data);
+
+/* Get uninterpreted section content. */
+extern Elf_Data *elf_rawdata (Elf_Scn *__scn, Elf_Data *__data);
+
+/* Create new data descriptor for section SCN. */
+extern Elf_Data *elf_newdata (Elf_Scn *__scn);
+
+/* Get data translated from a chunk of the file contents as section data
+ would be for TYPE. The resulting Elf_Data pointer is valid until
+ elf_end (ELF) is called. */
+extern Elf_Data *elf_getdata_rawchunk (Elf *__elf,
+ @loff_t@ __offset, size_t __size,
+ Elf_Type __type);
+
+
+/* Return pointer to string at OFFSET in section INDEX. */
+extern char *elf_strptr (Elf *__elf, size_t __index, size_t __offset);
+
+
+/* Return header of archive. */
+extern Elf_Arhdr *elf_getarhdr (Elf *__elf);
+
+/* Return offset in archive for current file ELF. */
+extern @loff_t@ elf_getaroff (Elf *__elf);
+
+/* Select archive element at OFFSET. */
+extern size_t elf_rand (Elf *__elf, size_t __offset);
+
+/* Get symbol table of archive. */
+extern Elf_Arsym *elf_getarsym (Elf *__elf, size_t *__narsyms);
+
+
+/* Control ELF descriptor. */
+extern int elf_cntl (Elf *__elf, Elf_Cmd __cmd);
+
+/* Retrieve uninterpreted file contents. */
+extern char *elf_rawfile (Elf *__elf, size_t *__nbytes);
+
+
+/* Return size of array of COUNT elements of the type denoted by TYPE
+ in the external representation. The binary class is taken from ELF.
+ The result is based on version VERSION of the ELF standard. */
+extern size_t elf32_fsize (Elf_Type __type, size_t __count,
+ unsigned int __version)
+ __attribute__ ((__const__));
+/* Similar but this time the binary calls is ELFCLASS64. */
+extern size_t elf64_fsize (Elf_Type __type, size_t __count,
+ unsigned int __version)
+ __attribute__ ((__const__));
+
+
+/* Convert data structure from the representation in the file represented
+ by ELF to their memory representation. */
+extern Elf_Data *elf32_xlatetom (Elf_Data *__dest, const Elf_Data *__src,
+ unsigned int __encode);
+/* Same for 64 bit class. */
+extern Elf_Data *elf64_xlatetom (Elf_Data *__dest, const Elf_Data *__src,
+ unsigned int __encode);
+
+/* Convert data structure from to the representation in memory
+ represented by ELF file representation. */
+extern Elf_Data *elf32_xlatetof (Elf_Data *__dest, const Elf_Data *__src,
+ unsigned int __encode);
+/* Same for 64 bit class. */
+extern Elf_Data *elf64_xlatetof (Elf_Data *__dest, const Elf_Data *__src,
+ unsigned int __encode);
+
+
+/* Return error code of last failing function call. This value is kept
+ separately for each thread. */
+extern int elf_errno (void);
+
+/* Return error string for ERROR. If ERROR is zero, return error string
+ for most recent error or NULL is none occurred. If ERROR is -1 the
+ behaviour is similar to the last case except that not NULL but a legal
+ string is returned. */
+extern const char *elf_errmsg (int __error);
+
+
+/* Coordinate ELF library and application versions. */
+extern unsigned int elf_version (unsigned int __version);
+
+/* Set fill bytes used to fill holes in data structures. */
+extern void elf_fill (int __fill);
+
+/* Compute hash value. */
+extern unsigned long int elf_hash (const char *__string)
+ __attribute__ ((__pure__));
+
+/* Compute hash value using the GNU-specific hash function. */
+extern unsigned long int elf_gnu_hash (const char *__string)
+ __attribute__ ((__pure__));
+
+
+/* Compute simple checksum from permanent parts of the ELF file. */
+extern long int elf32_checksum (Elf *__elf);
+/* Similar but this time the binary calls is ELFCLASS64. */
+extern long int elf64_checksum (Elf *__elf);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* libelf.h */
diff --git a/src/ChangeLog b/src/ChangeLog
index ef09a091e2ed..df9abad14b92 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,5 +1,9 @@
2015-10-09 Josh Stone <jistone(a)redhat.com>
+ * Makefile.am (AM_CPPFLAGS): Add -I$(builddir)/../libelf.
+
+2015-10-09 Josh Stone <jistone(a)redhat.com>
+
* elflint.c (main): Replace stat64 and fstat64 with stat and fstat.
* readelf.c (process_file): Likewise.
(process_elf_file): Replace off64_t with off_t.
diff --git a/src/Makefile.am b/src/Makefile.am
index afb38fc0f313..866568edf1ad 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -21,7 +21,8 @@ DEFS += $(YYDEBUG) -DDEBUGPRED=@DEBUGPRED@ \
-DSRCDIR=\"$(shell cd $(srcdir);pwd)\" -DOBJDIR=\"$(shell pwd)\"
AM_CPPFLAGS += -I$(srcdir)/../libelf -I$(srcdir)/../libebl \
-I$(srcdir)/../libdw -I$(srcdir)/../libdwelf \
- -I$(srcdir)/../libdwfl -I$(srcdir)/../libasm
+ -I$(srcdir)/../libdwfl -I$(srcdir)/../libasm \
+ -I$(builddir)/../libelf
AM_LDFLAGS = -Wl,-rpath-link,../libelf:../libdw
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 11515501ce2d..dc99f4545445 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,5 +1,9 @@
2015-10-09 Josh Stone <jistone(a)redhat.com>
+ * Makefile.am (AM_CPPFLAGS): Add -I$(top_builddir)/libelf.
+
+2015-10-09 Josh Stone <jistone(a)redhat.com>
+
* lfs-symbols: New list of LFS-related symbols from lintian.
* testfile-nolfs.bz2: New test binary for sanity checking.
* run-lfs-symbols.sh: New test.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index 5612fc7b5f48..2f902c27e8be 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -25,7 +25,7 @@ if !STANDALONE
AM_CPPFLAGS += -I$(top_srcdir)/libasm -I$(top_srcdir)/libdw \
-I$(top_srcdir)/libdwfl -I$(top_srcdir)/libdwelf \
-I$(top_srcdir)/libebl -I$(top_srcdir)/libelf \
- -I$(top_srcdir)/lib -I..
+ -I$(top_srcdir)/lib -I$(top_builddir)/libelf -I..
AM_LDFLAGS += -Wl,-rpath-link,../libasm:../libdw:../libelf
endif
--
2.4.3
8 years, 6 months
[PATCH] elflint: do not rely on ebl_check_special_section when checking debuginfo files.
by Jose E. Marchesi
commit c5d24f902b7d97d57fe72cece3983d02efd91c5f
Author: Jose E. Marchesi <jose.marchesi(a)oracle.com>
Date: Fri Oct 9 08:09:00 2015 -0400
Do not rely on ebl_check_special_section when checking debuginfo files.
The test run-strip-strmerge.sh is failing in sparc targets. This is
because it does an `elflint -d' in a debuginfo file, and this fails
with:
section [21] '.plt' is both executable and writable
elflint uses the ebl_check_special_section hook (implemented only by
the alpha and sparc backends) in order to determine whether an
executable+writable section must be flagged or not. In both cases the
hook will fail analyzing eu-strip debuginfo files (as they should,
because debuginfo files are broken ;).
This patch just modifies elflint to not use the hook when -d is
specified in the command-line. This fixes the test in sparc-* and
sparc64-* targets (and presumably in alpha* targets too).
Signed-off-by: Jose E. Marchesi <jose.marchesi(a)oracle.com>
diff --git a/src/ChangeLog b/src/ChangeLog
index 5e69d3a..24e80c0 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2015-10-09 Jose E. Marchesi <jose.marchesi(a)oracle.com>
+
+ * elflint.c (check_sections): Do not rely on
+ ebl_check_special_section when checking debuginfo files.
+
2015-10-04 Mark Wielaard <mjw(a)redhat.com>
* strip.c (handle_elf): Only sanity check section symbols to not
diff --git a/src/elflint.c b/src/elflint.c
index c1f0be5..456d376 100644
--- a/src/elflint.c
+++ b/src/elflint.c
@@ -3939,6 +3939,7 @@ section [%2zu] '%s' has unexpected type %d for an executable section\n"),
}
if ((shdr->sh_flags & SHF_WRITE)
+ && !is_debuginfo
&& !ebl_check_special_section (ebl, cnt, shdr,
section_name (ebl, cnt)))
ERROR (gettext ("\
8 years, 6 months
[PATCH] elflint: Check relro flags are a subset of the load segment.
by Mark Wielaard
If the RELRO segment doesn't fully overlap with the load segment then the
load segment might have more flags sets. This happens for example on sparc
when the .plt, which is executable, is also part of the load segment that
RELRO covers.
Signed-off-by: Mark Wielaard <mjw(a)redhat.com>
---
src/ChangeLog | 5 +++++
src/elflint.c | 22 +++++++++++++++++++---
2 files changed, 24 insertions(+), 3 deletions(-)
diff --git a/src/ChangeLog b/src/ChangeLog
index 796878f..8ba2539 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2015-10-13 Mark Wielaard <mjw(a)redhat.com>
+
+ * elflint.c (check_program_header): Check relro flags are a subset
+ of the load segment if they don't fully overlap.
+
2015-10-07 Mark Wielaard <mjw(a)redhat.com>
* Makefile.am (ldlex_no_Wstack_usage): New.
diff --git a/src/elflint.c b/src/elflint.c
index fac457e..63192bb 100644
--- a/src/elflint.c
+++ b/src/elflint.c
@@ -4459,10 +4459,26 @@ more than one GNU_RELRO entry in program header\n"));
if ((phdr2->p_flags & PF_W) == 0)
ERROR (gettext ("\
loadable segment GNU_RELRO applies to is not writable\n"));
- if ((phdr2->p_flags & ~PF_W) != (phdr->p_flags & ~PF_W))
- ERROR (gettext ("\
+ /* Unless fully covered, relro flags could be a
+ subset of the phdrs2 flags. For example the load
+ segment could also have PF_X set. */
+ if (phdr->p_vaddr == phdr2->p_vaddr
+ && (phdr->p_vaddr + phdr->p_memsz
+ == phdr2->p_vaddr + phdr2->p_memsz))
+ {
+ if ((phdr2->p_flags & ~PF_W)
+ != (phdr->p_flags & ~PF_W))
+ ERROR (gettext ("\
loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n"),
- cnt, inner);
+ cnt, inner);
+ }
+ else
+ {
+ if ((phdr->p_flags & ~phdr2->p_flags) != 0)
+ ERROR (gettext ("\
+GNU_RELRO [%u] flags are not a subset of the loadable segment [%u] flags\n"),
+ inner, cnt);
+ }
break;
}
}
--
1.8.3.1
8 years, 6 months
[PATCH] libelf: Only use posix_fallocate when using mmap. Ignore unsupported errno.
by Mark Wielaard
When not using mmap it is enough the just ftruncate the file to the right
size. pwrite will report an error if there is no disk space left. And on
file systems that don't support fallocate it might duplicate writes. When
using posix_fallocate do ignore errors indicating the file system doesn't
support fallocate. These will never happen with glibc, but might on some
other implementations. That is pretty nasty since we might get a SIGBUS
in that case when writing to the mmapped memory. But the chance of that
happening is very small and people using such a libc implementation are
on their own.
Signed-off-by: Mark Wielaard <mjw(a)redhat.com>
---
libelf/ChangeLog | 5 +++++
libelf/elf_update.c | 35 ++++++++++++++++++++++-------------
2 files changed, 27 insertions(+), 13 deletions(-)
diff --git a/libelf/ChangeLog b/libelf/ChangeLog
index 1916877..8a08c5f 100644
--- a/libelf/ChangeLog
+++ b/libelf/ChangeLog
@@ -1,3 +1,8 @@
+2015-10-05 Mark Wielaard <mjw(a)redhat.com>
+
+ * elf_update.c (write_file): Only use posix_fallocate when using
+ mmap. Don't fail on EINVAL or EOPNOTSUPP.
+
2015-09-23 Mark Wielaard <mjw(a)redhat.com>
* elf32_getehdr.c (getehdr_wrlock): Mark as internal_function.
diff --git a/libelf/elf_update.c b/libelf/elf_update.c
index 00f7a01..3d27f7f 100644
--- a/libelf/elf_update.c
+++ b/libelf/elf_update.c
@@ -57,22 +57,11 @@ write_file (Elf *elf, off_t size, int change_bo, size_t shnum)
We cannot do this if this file is in an archive. We also don't
do it *now* if we are shortening the file since this would
prevent programs to use the data of the file in generating the
- new file. We truncate the file later in this case.
-
- Note we use posix_fallocate to make sure the file content is really
- there. Only using ftruncate might mean the file is extended, but space
- isn't allocated yet. This might cause a SIGBUS once we write into
- the mmapped space and the disk is full. Using fallocate might fail
- on some file systems. posix_fallocate is required to extend the file
- and allocate enough space even if the underlying filesystem would
- normally return EOPNOTSUPP. Note that we do also need to ftruncate
- in case the maximum_size isn't known and the file needs to be shorter
- because posix_fallocate can only extend. */
+ new file. We truncate the file later in this case. */
if (elf->parent == NULL
&& (elf->maximum_size == ~((size_t) 0)
|| (size_t) size > elf->maximum_size)
- && unlikely (ftruncate (elf->fildes, size) != 0)
- && unlikely (posix_fallocate (elf->fildes, 0, size) != 0))
+ && unlikely (ftruncate (elf->fildes, size) != 0))
{
__libelf_seterrno (ELF_E_WRITE_ERROR);
return -1;
@@ -89,6 +78,26 @@ write_file (Elf *elf, off_t size, int change_bo, size_t shnum)
if (elf->map_address != NULL)
{
+ /* When using mmap we want to make sure the file content is
+ really there. Only using ftruncate might mean the file is
+ extended, but space isn't allocated yet. This might cause a
+ SIGBUS once we write into the mmapped space and the disk is
+ full. In glibc posix_fallocate is required to extend the
+ file and allocate enough space even if the underlying
+ filesystem would normally return EOPNOTSUPP. But other
+ implementations might not work as expected. So we ignore
+ EOPNOTSUPP and EINVAL, which posix specifies as alternative,
+ errors here. */
+ if (elf->parent == NULL
+ && (elf->maximum_size == ~((size_t) 0)
+ || (size_t) size > elf->maximum_size)
+ && unlikely (posix_fallocate (elf->fildes, 0, size) != 0))
+ if (errno != EINVAL && errno != EOPNOTSUPP)
+ {
+ __libelf_seterrno (ELF_E_WRITE_ERROR);
+ return -1;
+ }
+
/* The file is mmaped. */
if ((class == ELFCLASS32
? __elf32_updatemmap (elf, change_bo, shnum)
--
1.8.3.1
8 years, 6 months
[PATCH] ldlex: Fix sign-compare warning, suppress -Wstack-usage.
by Mark Wielaard
Signed-off-by: Mark Wielaard <mjw(a)redhat.com>
---
src/ChangeLog | 5 +++++
src/Makefile.am | 1 +
src/ldlex.l | 2 +-
3 files changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/ChangeLog b/src/ChangeLog
index daa76cf..3f9b281 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,8 @@
+2015-10-07 Mark Wielaard <mjw(a)redhat.com>
+
+ * Makefile.am (ldlex_no_Wstack_usage): New.
+ * ldlex.l ([RWX]): Make cnt unsigned.
+
2015-10-05 Josh Stone <jistone(a)redhat.com>
* Makefile.am (libld_elf_i386.so): Add AM_V_CCLD silencer.
diff --git a/src/Makefile.am b/src/Makefile.am
index afb38fc..04ae3cb 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -89,6 +89,7 @@ endif
# XXX While the file is not finished, don't warn about this
ldgeneric_no_Wunused = yes
ldgeneric_no_Wstack_usage = yes
+ldlex_no_Wstack_usage = yes
# Bad, bad stack usage...
readelf_no_Wstack_usage = yes
diff --git a/src/ldlex.l b/src/ldlex.l
index bfc8bbe..835c2dc 100644
--- a/src/ldlex.l
+++ b/src/ldlex.l
@@ -146,7 +146,7 @@ SIZEOF_HEADERS { return kSIZEOF_HEADERS; }
SORT { return kSORT; }
VERSION { return kVERSION; }
-"["([RWX]){0,3}"]" { int cnt = 1 ;
+"["([RWX]){0,3}"]" { unsigned int cnt = 1 ;
ldlval.num = 0;
while (cnt < yyleng - 1)
ldlval.num |= attrib_convert (yytext[cnt++]);
--
2.4.3
8 years, 6 months
[PATCH] config: Use ARFLAGS 'cr'.
by Mark Wielaard
By default automake uses ARFLAGS cru. 'u' is an optimization that
makes sure files are only added to the archive when they are newer
than the version already in the .a file. This optimization doesn't
work when ar is deterministic by default because then it doesn't
record timestamps in the archive. Deterministic ar is the default
now on various distributions causing multiple warnings like:
ar: `u' modifier ignored since `D' is the default (see `U')
To suppress these warnings drop the 'u' flag.
Signed-off-by: Mark Wielaard <mjw(a)redhat.com>
---
config/ChangeLog | 4 ++++
config/eu.am | 4 ++++
2 files changed, 8 insertions(+)
diff --git a/config/ChangeLog b/config/ChangeLog
index ba5cb38..29c55f5 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-07 Mark Wielaard <mjw(a)redhat.com>
+
+ * eu.am (ARFLAGS): Set to "cr".
+
2015-10-05 Josh Stone <jistone(a)redhat.com>
* eu.am (%.os): Add AM_V_CC silencers.
diff --git a/config/eu.am b/config/eu.am
index 6ad8f82..5b1bb0b 100644
--- a/config/eu.am
+++ b/config/eu.am
@@ -32,6 +32,10 @@
DEFS = -D_GNU_SOURCE -DHAVE_CONFIG_H -DLOCALEDIR='"${localedir}"'
AM_CPPFLAGS = -I. -I$(srcdir) -I$(top_srcdir)/lib -I..
+# Drop the 'u' flag that automake adds by default. It is incompatible
+# with deterministic archives.
+ARFLAGS = cr
+
# Warn about stack usage of more than 256K = 262144 bytes.
if ADD_STACK_USAGE_WARNING
STACK_USAGE_WARNING=-Wstack-usage=262144
--
2.4.3
8 years, 6 months
[PATCH] Improve AM_SILENT_RULES coverage
by Josh Stone
Note, elfutils does not explicitly enable AM_SILENT_RULES. It's only
available starting from automake 1.11, but starting from automake 1.13
silent rules are always generated, defaulting to verbose. $(AM_V_foo)
additions should be no-ops on systems that don't support silent rules.
To be silent, use "./configure --enable-silent-rules" or "make V=0".
Signed-off-by: Josh Stone <jistone(a)redhat.com>
---
backends/ChangeLog | 4 ++++
backends/Makefile.am | 4 ++--
config/ChangeLog | 4 ++++
config/eu.am | 4 ++--
libasm/ChangeLog | 4 ++++
libasm/Makefile.am | 4 ++--
libcpu/ChangeLog | 6 ++++++
libcpu/Makefile.am | 10 +++++-----
libdw/ChangeLog | 4 ++++
libdw/Makefile.am | 4 ++--
libelf/ChangeLog | 4 ++++
libelf/Makefile.am | 4 ++--
src/ChangeLog | 6 ++++++
src/Makefile.am | 10 +++++-----
tests/ChangeLog | 4 ++++
tests/Makefile.am | 2 +-
16 files changed, 57 insertions(+), 21 deletions(-)
diff --git a/backends/ChangeLog b/backends/ChangeLog
index 9d98f35fdbe4..5b96f13e6753 100644
--- a/backends/ChangeLog
+++ b/backends/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-05 Josh Stone <jistone(a)redhat.com>
+
+ * Makefile.am (libebl_%.so): Add AM_V_at and AM_V_CCLD silencers.
+
2015-09-22 Mark Wielaard <mjw(a)redhat.com>
* arm_attrs.c: Remove old-style function definitions.
diff --git a/backends/Makefile.am b/backends/Makefile.am
index 21d7bd24da3e..c14e93347a30 100644
--- a/backends/Makefile.am
+++ b/backends/Makefile.am
@@ -114,9 +114,9 @@ am_libebl_tilegx_pic_a_OBJECTS = $(tilegx_SRCS:.c=.os)
libebl_%.so libebl_%.map: libebl_%_pic.a $(libelf) $(libdw)
@rm -f $(@:.so=.map)
- echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \
+ $(AM_V_at)echo 'ELFUTILS_$(PACKAGE_VERSION) { global: $*_init; local: *; };' \
> $(@:.so=.map)
- $(LINK) -shared -o $(@:.map=.so) \
+ $(AM_V_CCLD)$(LINK) -shared -o $(@:.map=.so) \
-Wl,--whole-archive $< $(cpu_$*) -Wl,--no-whole-archive \
-Wl,--version-script,$(@:.so=.map) \
-Wl,-z,defs -Wl,--as-needed $(libelf) $(libdw)
diff --git a/config/ChangeLog b/config/ChangeLog
index 067af115b6d4..42278f67f7a0 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-05 Josh Stone <jistone(a)redhat.com>
+
+ * eu.am (%.os): Add AM_V_CC silencers.
+
2015-09-22 Mark Wielaard <mjw(a)redhat.com>
* eu.am (AM_CFLAGS): Add -Wold-style-definition -Wstrict-prototypes.
diff --git a/config/eu.am b/config/eu.am
index 441b68dde867..b5abd78fbaf8 100644
--- a/config/eu.am
+++ b/config/eu.am
@@ -55,14 +55,14 @@ endif
%.os: %.c %.o
if AMDEP
- if $(COMPILE.os) -c -o $@ -fpic $(DEFS.os) -MT $@ -MD -MP \
+ $(AM_V_CC)if $(COMPILE.os) -c -o $@ -fpic $(DEFS.os) -MT $@ -MD -MP \
-MF "$(DEPDIR)/$*.Tpo" `test -f '$<' || echo '$(srcdir)/'`$<; \
then cat "$(DEPDIR)/$*.Tpo" >> "$(DEPDIR)/$*.Po"; \
rm -f "$(DEPDIR)/$*.Tpo"; \
else rm -f "$(DEPDIR)/$*.Tpo"; exit 1; \
fi
else
- $(COMPILE.os) -c -o $@ -fpic $(DEFS.os) $<
+ $(AM_V_CC)$(COMPILE.os) -c -o $@ -fpic $(DEFS.os) $<
endif
CLEANFILES = *.gcno *.gcda
diff --git a/libasm/ChangeLog b/libasm/ChangeLog
index 7433cb72db0c..beb6211c5894 100644
--- a/libasm/ChangeLog
+++ b/libasm/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-05 Josh Stone <jistone(a)redhat.com>
+
+ * Makefile.am (libasm.so): Add AM_V_CCLD and AM_V_at silencers.
+
2015-09-23 Mark Wielaard <mjw(a)redhat.com>
* asm_align.c (__libasm_ensure_section_space): Mark as
diff --git a/libasm/Makefile.am b/libasm/Makefile.am
index 6ea2a8e84235..a4bf293a4806 100644
--- a/libasm/Makefile.am
+++ b/libasm/Makefile.am
@@ -62,12 +62,12 @@ endif
libasm_so_SOURCES =
libasm.so$(EXEEXT): libasm_pic.a libasm.map
- $(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
+ $(AM_V_CCLD)$(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
-Wl,--version-script,$(srcdir)/libasm.map,--no-undefined \
-Wl,--soname,$@.$(VERSION) \
../libebl/libebl.a ../libelf/libelf.so $(libasm_so_LDLIBS)
@$(textrel_check)
- ln -fs $@ $@.$(VERSION)
+ $(AM_V_at)ln -fs $@ $@.$(VERSION)
install: install-am libasm.so
$(mkinstalldirs) $(DESTDIR)$(libdir)
diff --git a/libcpu/ChangeLog b/libcpu/ChangeLog
index a20f44071476..68491683e3f8 100644
--- a/libcpu/ChangeLog
+++ b/libcpu/ChangeLog
@@ -1,3 +1,9 @@
+2015-10-05 Josh Stone <jistone(a)redhat.com>
+
+ * Makefile.am (%_defs): Add AM_V_GEN and AM_V_at silencers.
+ ($(srcdir)/%_dis.h): Ditto.
+ (%.mnemonics): Add AM_V_GEN silencer.
+
2014-04-13 Mark Wielaard <mjw(a)redhat.com>
* Makefile.am (i386_gendis_LDADD): Remove libmudflap.
diff --git a/libcpu/Makefile.am b/libcpu/Makefile.am
index 3beccf349c52..c295affe9585 100644
--- a/libcpu/Makefile.am
+++ b/libcpu/Makefile.am
@@ -46,8 +46,8 @@ i386_disasm.o: i386.mnemonics $(srcdir)/i386_dis.h
x86_64_disasm.o: x86_64.mnemonics $(srcdir)/x86_64_dis.h
%_defs: $(srcdir)/defs/i386
- m4 -D$* -DDISASSEMBLER $< > $@T
- mv -f $@T $@
+ $(AM_V_GEN)m4 -D$* -DDISASSEMBLER $< > $@T
+ $(AM_V_at)mv -f $@T $@
if MAINTAINER_MODE
noinst_HEADERS = memory-access.h i386_parse.h i386_data.h
@@ -55,8 +55,8 @@ noinst_HEADERS = memory-access.h i386_parse.h i386_data.h
noinst_PROGRAMS = i386_gendis
$(srcdir)/%_dis.h: %_defs i386_gendis
- ./i386_gendis $< > $@T
- mv -f $@T $@
+ $(AM_V_GEN)./i386_gendis $< > $@T
+ $(AM_V_at)mv -f $@T $@
else
@@ -67,7 +67,7 @@ $(srcdir)/%_dis.h:
endif
%.mnemonics: %_defs
- sed '1,/^%%/d;/^#/d;/^[[:space:]]*$$/d;s/[^:]*:\([^[:space:]]*\).*/MNE(\1)/;s/{[^}]*}//g;/INVALID/d' \
+ $(AM_V_GEN)sed '1,/^%%/d;/^#/d;/^[[:space:]]*$$/d;s/[^:]*:\([^[:space:]]*\).*/MNE(\1)/;s/{[^}]*}//g;/INVALID/d' \
$< | sort -u > $@
i386_lex_no_Werror = yes
diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index 5a026d879ee4..74e877f44819 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-05 Josh Stone <jistone(a)redhat.com>
+
+ * Makefile.am (libdw.so): Add AM_V_CCLD and AM_V_at silencers.
+
2015-09-23 Mark Wielaard <mjw(a)redhat.com>
* dwarf_error.c (__libdw_seterrno): Mark as internal_function.
diff --git a/libdw/Makefile.am b/libdw/Makefile.am
index 2299b2fabd47..888420a6710d 100644
--- a/libdw/Makefile.am
+++ b/libdw/Makefile.am
@@ -108,13 +108,13 @@ libdw.so$(EXEEXT): $(srcdir)/libdw.map libdw_pic.a ../libdwelf/libdwelf_pic.a \
../libelf/libelf.so
# The rpath is necessary for libebl because its $ORIGIN use will
# not fly in a setuid executable that links in libdw.
- $(LINK) -shared -o $@ -Wl,--soname,$@.$(VERSION),-z,defs \
+ $(AM_V_CCLD)$(LINK) -shared -o $@ -Wl,--soname,$@.$(VERSION),-z,defs \
-Wl,--enable-new-dtags,-rpath,$(pkglibdir) \
-Wl,--version-script,$<,--no-undefined \
-Wl,--whole-archive $(filter-out $<,$^) -Wl,--no-whole-archive\
-ldl $(argp_LDADD) $(zip_LIBS)
@$(textrel_check)
- ln -fs $@ $@.$(VERSION)
+ $(AM_V_at)ln -fs $@ $@.$(VERSION)
install: install-am libdw.so
$(mkinstalldirs) $(DESTDIR)$(libdir)
diff --git a/libelf/ChangeLog b/libelf/ChangeLog
index 1916877c9548..b3ceb71a8a4c 100644
--- a/libelf/ChangeLog
+++ b/libelf/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-05 Josh Stone <jistone(a)redhat.com>
+
+ * Makefile.am (libelf.so): Add AM_V_CCLD and AM_V_at silencers.
+
2015-09-23 Mark Wielaard <mjw(a)redhat.com>
* elf32_getehdr.c (getehdr_wrlock): Mark as internal_function.
diff --git a/libelf/Makefile.am b/libelf/Makefile.am
index afcb2aa5d5fa..84b48fde3273 100644
--- a/libelf/Makefile.am
+++ b/libelf/Makefile.am
@@ -100,11 +100,11 @@ endif
libelf_so_SOURCES =
libelf.so$(EXEEXT): libelf_pic.a libelf.map
- $(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
+ $(AM_V_CCLD)$(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
-Wl,--version-script,$(srcdir)/libelf.map,--no-undefined \
-Wl,--soname,$@.$(VERSION),-z,defs,-z,relro $(libelf_so_LDLIBS)
@$(textrel_check)
- ln -fs $@ $@.$(VERSION)
+ $(AM_V_at)ln -fs $@ $@.$(VERSION)
install: install-am libelf.so
$(mkinstalldirs) $(DESTDIR)$(libdir)
diff --git a/src/ChangeLog b/src/ChangeLog
index 49aa3f7e361c..6f40d5d1747e 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,9 @@
+2015-10-05 Josh Stone <jistone(a)redhat.com>
+
+ * Makefile.am (libld_elf_i386.so): Add AM_V_CCLD silencer.
+ (.deps/none_ld.Po): Always silence the dummy command.
+ (make-debug-archive): Add AM_V_GEN and AM_V_at silencers.
+
2015-09-22 Mark Wielaard <mjw(a)redhat.com>
* strip.c (cleanup_debug): Remove old-style function definitions.
diff --git a/src/Makefile.am b/src/Makefile.am
index cd2755b03db6..afb38fc0f313 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -138,7 +138,7 @@ am_libld_elf_i386_pic_a_OBJECTS = i386_ld.os
libld_elf_i386_so_SOURCES =
libld_elf_i386.so: libld_elf_i386_pic.a libld_elf_i386.map
- $(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
+ $(AM_V_CCLD)$(LINK) -shared -o $@ -Wl,--whole-archive,$<,--no-whole-archive \
$(libelf) $(libeu) \
-Wl,--version-script,$(srcdir)/libld_elf_i386.map
@$(textrel_check)
@@ -147,7 +147,7 @@ endif
# Special rule to make it possible to define libld_elf_a_SOURCES as we do.
# Otherwise make would complain.
.deps/none_ld.Po: none_ld.os
- -:
+ @-:
installcheck-binPROGRAMS: $(bin_PROGRAMS)
@@ -172,11 +172,11 @@ MAINTAINERCLEANFILES = ldlex.c ldscript.c ldscript.h
make-debug-archive: $(srcdir)/make-debug-archive.in
- UNSTRIP=$(bindir)/`echo unstrip | sed '$(transform)'`; \
+ $(AM_V_GEN)UNSTRIP=$(bindir)/`echo unstrip | sed '$(transform)'`; \
AR=$(bindir)/`echo ar | sed '$(transform)'`; \
sed -e "s,[@]UNSTRIP[@],$$UNSTRIP,g" -e "s,[@]AR[@],$$AR,g" \
-e "s%[@]PACKAGE_NAME[@]%$(PACKAGE_NAME)%g" \
-e "s%[@]PACKAGE_VERSION[@]%$(PACKAGE_VERSION)%g" \
$(srcdir)/make-debug-archive.in > $@.new
- chmod +x $@.new
- mv -f $@.new $@
+ $(AM_V_at)chmod +x $@.new
+ $(AM_V_at)mv -f $@.new $@
diff --git a/tests/ChangeLog b/tests/ChangeLog
index b8ac61dc5507..4d557cbde453 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-05 Josh Stone <jistone(a)redhat.com>
+
+ * Makefile.am (backtrace-child-biarch): Add AM_V_CC silencer.
+
2015-09-08 Mark Wielaard <mjw(a)redhat.com>
* dwfl-proc-attach.c: New test.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index ca2c2d792bca..91171b8b675f 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -62,7 +62,7 @@ endif
# Substitute $(COMPILE).
backtrace-child-biarch$(EXEEXT): backtrace-child.c
- $(CC_BIARCH) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
+ $(AM_V_CC)$(CC_BIARCH) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) \
$(AM_CPPFLAGS) $(CPPFLAGS) \
$(AM_CFLAGS) $(CFLAGS) $(backtrace_child_CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) $(backtrace_child_LDFLAGS) \
--
2.4.3
8 years, 6 months
[PATCH] Trust AC_SYS_LARGEFILE to provide large file support
by Josh Stone
AC_SYS_LARGEFILE defines _FILE_OFFSET_BITS in config.h if needed for
LFS, and this automatically maps things like open to open64. But quite
a few places used explicit 64-bit names, which won't work on platforms
like FreeBSD where off_t is always 64-bit and there are no foo64 names.
It's better to just trust that AC_SYS_LARGEFILE is doing it correctly.
But we can verify this too, as some file could easily forget to include
config.h. The new tests/run-lfs-symbols.sh checks all build targets
against lfs-symbols (taken from lintian) to make sure everything was
implicitly mapped to 64-bit variants when _FILE_OFFSET_BITS is set.
Signed-off-by: Josh Stone <jistone(a)redhat.com>
---
config/ChangeLog | 4 ++
config/eu.am | 3 ++
libdw/ChangeLog | 5 ++
libdw/dwarf_begin.c | 4 +-
libdwfl/ChangeLog | 25 ++++++++++
libdwfl/argp-std.c | 2 +-
libdwfl/core-file.c | 14 +++---
libdwfl/dwfl_build_id_find_elf.c | 4 +-
libdwfl/dwfl_module_getdwarf.c | 2 +-
libdwfl/dwfl_report_elf.c | 2 +-
libdwfl/dwfl_segment_report_module.c | 2 +-
libdwfl/find-debuginfo.c | 16 +++----
libdwfl/gzip.c | 4 +-
libdwfl/image-header.c | 2 +-
libdwfl/libdwflP.h | 8 ++--
libdwfl/link_map.c | 2 +-
libdwfl/linux-kernel-modules.c | 15 ++++--
libdwfl/linux-proc-maps.c | 10 ++--
libdwfl/offline.c | 2 +-
libdwfl/open.c | 4 +-
libelf/ChangeLog | 5 ++
libelf/elf_getdata_rawchunk.c | 2 +-
libelf/libelfP.h | 6 +--
src/ChangeLog | 17 +++++++
src/elflint.c | 4 +-
src/findtextrel.c | 4 +-
src/ld.c | 2 +-
src/readelf.c | 6 +--
src/strings.c | 68 +++++++++++++--------------
src/strip.c | 12 ++---
src/unstrip.c | 8 ++--
tests/ChangeLog | 18 ++++++++
tests/Makefile.am | 5 +-
tests/alldts.c | 2 +-
tests/arls.c | 4 ++
tests/dwarf-getstring.c | 2 +-
tests/ecp.c | 4 ++
tests/lfs-symbols | 73 +++++++++++++++++++++++++++++
tests/rdwrmmap.c | 4 ++
tests/run-lfs-symbols.sh | 86 +++++++++++++++++++++++++++++++++++
tests/test-elf_cntl_gelf_getshdr.c | 4 ++
tests/test-flag-nobits.c | 6 ++-
tests/testfile-nolfs.bz2 | Bin 0 -> 2563 bytes
43 files changed, 368 insertions(+), 104 deletions(-)
create mode 100644 tests/lfs-symbols
create mode 100755 tests/run-lfs-symbols.sh
create mode 100644 tests/testfile-nolfs.bz2
diff --git a/config/ChangeLog b/config/ChangeLog
index ba5cb387ab23..0f11b1dc3b9b 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,7 @@
+2015-10-08 Josh Stone <jistone(a)redhat.com>
+
+ * eu.am (print-%): New target to print any variable.
+
2015-10-05 Josh Stone <jistone(a)redhat.com>
* eu.am (%.os): Add AM_V_CC silencers.
diff --git a/config/eu.am b/config/eu.am
index 6ad8f822bdb3..1e332efa1e9e 100644
--- a/config/eu.am
+++ b/config/eu.am
@@ -74,3 +74,6 @@ else
textrel_found = $(textrel_msg)
endif
textrel_check = if $(READELF) -d $@ | fgrep -q TEXTREL; then $(textrel_found); fi
+
+print-%:
+ @echo $*=$($*)
diff --git a/libdw/ChangeLog b/libdw/ChangeLog
index efe6ccb8e2b1..b255f9a5da89 100644
--- a/libdw/ChangeLog
+++ b/libdw/ChangeLog
@@ -1,3 +1,8 @@
+2015-10-08 Josh Stone <jistone(a)redhat.com>
+
+ * dwarf_begin.c (dwarf_begin): Replace stat64 and fstat64 with stat
+ and fstat.
+
2015-10-05 Josh Stone <jistone(a)redhat.com>
* Makefile.am (libdw.so): Add AM_V_CCLD and AM_V_at silencers.
diff --git a/libdw/dwarf_begin.c b/libdw/dwarf_begin.c
index d04e5b9f1b11..19d16e5c511c 100644
--- a/libdw/dwarf_begin.c
+++ b/libdw/dwarf_begin.c
@@ -73,9 +73,9 @@ dwarf_begin (int fd, Dwarf_Cmd cmd)
if (elf == NULL)
{
/* Test why the `elf_begin" call failed. */
- struct stat64 st;
+ struct stat st;
- if (fstat64 (fd, &st) == 0 && ! S_ISREG (st.st_mode))
+ if (fstat (fd, &st) == 0 && ! S_ISREG (st.st_mode))
__libdw_seterrno (DWARF_E_NO_REGFILE);
else if (errno == EBADF)
__libdw_seterrno (DWARF_E_INVALID_FILE);
diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog
index ee41405e8a9c..14d8528f6a02 100644
--- a/libdwfl/ChangeLog
+++ b/libdwfl/ChangeLog
@@ -1,3 +1,28 @@
+2015-10-08 Josh Stone <jistone(a)redhat.com>
+
+ * core-file.c (elf_begin_rand): Replace loff_t with off_t.
+ * open.c (decompress): Replace off64_t with off_t.
+ * gzip.c (unzip): Likewise.
+ * image-header.c (__libdw_image_header): Likewise.
+ * libdwflP.h: Likewise in function declarations.
+ * argp-std.c (parse_opt): Replace open64 with open.
+ * dwfl_build_id_find_elf.c (__libdwfl_open_mod_by_build_id,
+ dwfl_build_id_find_elf): Likewise.
+ * dwfl_module_getdwarf.c (open_elf_file): Likewise.
+ * dwfl_report_elf.c (dwfl_report_elf): Likewise.
+ * dwfl_segment_report_module.c (dwfl_segment_report_module): Likewise.
+ * link_map.c (report_r_debug): Likewise.
+ * offline.c (dwfl_report_offline): Likewise.
+ * linux-proc-maps.c (dwfl_linux_proc_find_elf): Likewise.
+ (read_proc_memory): Replace pread64 with pread.
+ * find-debuginfo.c (find_debuginfo_in_path): Replace stat64 and
+ fstat64 with stat and fstat.
+ (try_open): Likewise, and replace open64 with open.
+ * linux-kernel-modules.c: Manually define open and fopen to open64 and
+ fopen64 when needed, since the early fts.h include breaks that.
+ (try_kernel_name): Replace open64 with open.
+ (check_notes): Likewise.
+
2015-10-07 Mark Wielaard <mjw(a)redhat.com>
* dwfl_module_getdwarf.c (MAX): Removed.
diff --git a/libdwfl/argp-std.c b/libdwfl/argp-std.c
index 42b7e7838004..2bbf74fc5f53 100644
--- a/libdwfl/argp-std.c
+++ b/libdwfl/argp-std.c
@@ -273,7 +273,7 @@ parse_opt (int key, char *arg, struct argp_state *state)
if (opt->core)
{
- int fd = open64 (opt->core, O_RDONLY);
+ int fd = open (opt->core, O_RDONLY);
if (fd < 0)
{
int code = errno;
diff --git a/libdwfl/core-file.c b/libdwfl/core-file.c
index ea0725bf547b..b317ecaa6e6c 100644
--- a/libdwfl/core-file.c
+++ b/libdwfl/core-file.c
@@ -43,7 +43,7 @@
This implementation is pessimal for non-mmap cases and should
be replaced by more diddling inside libelf internals. */
static Elf *
-elf_begin_rand (Elf *parent, loff_t offset, loff_t size, loff_t *next)
+elf_begin_rand (Elf *parent, off_t offset, off_t size, off_t *next)
{
if (parent == NULL)
return NULL;
@@ -58,14 +58,14 @@ elf_begin_rand (Elf *parent, loff_t offset, loff_t size, loff_t *next)
return NULL;
}
- loff_t min = (parent->kind == ELF_K_ELF ?
+ off_t min = (parent->kind == ELF_K_ELF ?
(parent->class == ELFCLASS32
? sizeof (Elf32_Ehdr) : sizeof (Elf64_Ehdr))
: parent->kind == ELF_K_AR ? SARMAG
: 0);
if (unlikely (offset < min)
- || unlikely (offset >= (loff_t) parent->maximum_size))
+ || unlikely (offset >= (off_t) parent->maximum_size))
return fail (ELF_E_RANGE);
/* For an archive, fetch just the size field
@@ -92,11 +92,11 @@ elf_begin_rand (Elf *parent, loff_t offset, loff_t size, loff_t *next)
char *endp;
size = strtoll (h.ar_size, &endp, 10);
if (unlikely (endp == h.ar_size)
- || unlikely ((loff_t) parent->maximum_size - offset < size))
+ || unlikely ((off_t) parent->maximum_size - offset < size))
return fail (ELF_E_INVALID_ARCHIVE);
}
- if (unlikely ((loff_t) parent->maximum_size - offset < size))
+ if (unlikely ((off_t) parent->maximum_size - offset < size))
return fail (ELF_E_RANGE);
/* Even if we fail at this point, update *NEXT to point past the file. */
@@ -104,7 +104,7 @@ elf_begin_rand (Elf *parent, loff_t offset, loff_t size, loff_t *next)
*next = offset + size;
if (unlikely (offset == 0)
- && unlikely (size == (loff_t) parent->maximum_size))
+ && unlikely (size == (off_t) parent->maximum_size))
return elf_clone (parent, parent->cmd);
/* Note the image is guaranteed live only as long as PARENT
@@ -114,7 +114,7 @@ elf_begin_rand (Elf *parent, loff_t offset, loff_t size, loff_t *next)
Elf_Data *data = elf_getdata_rawchunk (parent, offset, size, ELF_T_BYTE);
if (data == NULL)
return NULL;
- assert ((loff_t) data->d_size == size);
+ assert ((off_t) data->d_size == size);
return elf_memory (data->d_buf, size);
}
diff --git a/libdwfl/dwfl_build_id_find_elf.c b/libdwfl/dwfl_build_id_find_elf.c
index 99a5059c9ddb..2e30b7abb1c5 100644
--- a/libdwfl/dwfl_build_id_find_elf.c
+++ b/libdwfl/dwfl_build_id_find_elf.c
@@ -89,7 +89,7 @@ __libdwfl_open_by_build_id (Dwfl_Module *mod, bool debug, char **file_name,
break;
memcpy (mempcpy (name, dir, dirlen), id_name, sizeof id_name);
- fd = TEMP_FAILURE_RETRY (open64 (name, O_RDONLY));
+ fd = TEMP_FAILURE_RETRY (open (name, O_RDONLY));
if (fd >= 0)
{
if (*file_name != NULL)
@@ -146,7 +146,7 @@ dwfl_build_id_find_elf (Dwfl_Module *mod,
name this callback will replace the Dwfl_Module main.name with the
recorded executable file when MOD was identified as main executable
(which then triggers opening and reporting of the executable). */
- int fd = open64 (mod->dwfl->executable_for_core, O_RDONLY);
+ int fd = open (mod->dwfl->executable_for_core, O_RDONLY);
if (fd >= 0)
{
*file_name = strdup (mod->dwfl->executable_for_core);
diff --git a/libdwfl/dwfl_module_getdwarf.c b/libdwfl/dwfl_module_getdwarf.c
index a35905775d00..8483fa216907 100644
--- a/libdwfl/dwfl_module_getdwarf.c
+++ b/libdwfl/dwfl_module_getdwarf.c
@@ -46,7 +46,7 @@ open_elf_file (Elf **elf, int *fd, char **name)
/* If there was a pre-primed file name left that the callback left
behind, try to open that file name. */
if (*fd < 0 && *name != NULL)
- *fd = TEMP_FAILURE_RETRY (open64 (*name, O_RDONLY));
+ *fd = TEMP_FAILURE_RETRY (open (*name, O_RDONLY));
if (*fd < 0)
return CBFAIL;
diff --git a/libdwfl/dwfl_report_elf.c b/libdwfl/dwfl_report_elf.c
index 624284cf6fe1..1c6e401d1ccd 100644
--- a/libdwfl/dwfl_report_elf.c
+++ b/libdwfl/dwfl_report_elf.c
@@ -291,7 +291,7 @@ dwfl_report_elf (Dwfl *dwfl, const char *name, const char *file_name, int fd,
if (fd < 0)
{
closefd = true;
- fd = open64 (file_name, O_RDONLY);
+ fd = open (file_name, O_RDONLY);
if (fd < 0)
{
__libdwfl_seterrno (DWFL_E_ERRNO);
diff --git a/libdwfl/dwfl_segment_report_module.c b/libdwfl/dwfl_segment_report_module.c
index ca86c3115bb8..40553c948bfe 100644
--- a/libdwfl/dwfl_segment_report_module.c
+++ b/libdwfl/dwfl_segment_report_module.c
@@ -691,7 +691,7 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name,
name = file_note_name;
name_is_final = true;
bool invalid = false;
- fd = open64 (name, O_RDONLY);
+ fd = open (name, O_RDONLY);
if (fd >= 0)
{
Dwfl_Error error = __libdw_open_file (&fd, &elf, true, false);
diff --git a/libdwfl/find-debuginfo.c b/libdwfl/find-debuginfo.c
index 6b8d1ac4b992..72461bc3d2a5 100644
--- a/libdwfl/find-debuginfo.c
+++ b/libdwfl/find-debuginfo.c
@@ -34,10 +34,10 @@
#include "system.h"
-/* Try to open64 [DIR/][SUBDIR/]DEBUGLINK, return file descriptor or -1.
+/* Try to open [DIR/][SUBDIR/]DEBUGLINK, return file descriptor or -1.
On success, *DEBUGINFO_FILE_NAME has the malloc'd name of the open file. */
static int
-try_open (const struct stat64 *main_stat,
+try_open (const struct stat *main_stat,
const char *dir, const char *subdir, const char *debuglink,
char **debuginfo_file_name)
{
@@ -53,11 +53,11 @@ try_open (const struct stat64 *main_stat,
: asprintf (&fname, "%s/%s/%s", dir, subdir, debuglink)) < 0)
return -1;
- struct stat64 st;
- int fd = TEMP_FAILURE_RETRY (open64 (fname, O_RDONLY));
+ struct stat st;
+ int fd = TEMP_FAILURE_RETRY (open (fname, O_RDONLY));
if (fd < 0)
free (fname);
- else if (fstat64 (fd, &st) == 0
+ else if (fstat (fd, &st) == 0
&& st.st_ino == main_stat->st_ino
&& st.st_dev == main_stat->st_dev)
{
@@ -205,9 +205,9 @@ find_debuginfo_in_path (Dwfl_Module *mod, const char *file_name,
}
/* XXX dev/ino should be cached in struct dwfl_file. */
- struct stat64 main_stat;
- if (unlikely ((mod->main.fd != -1 ? fstat64 (mod->main.fd, &main_stat)
- : file_name != NULL ? stat64 (file_name, &main_stat)
+ struct stat main_stat;
+ if (unlikely ((mod->main.fd != -1 ? fstat (mod->main.fd, &main_stat)
+ : file_name != NULL ? stat (file_name, &main_stat)
: -1) < 0))
{
main_stat.st_dev = 0;
diff --git a/libdwfl/gzip.c b/libdwfl/gzip.c
index b7dde5d42308..c81e52e33fb2 100644
--- a/libdwfl/gzip.c
+++ b/libdwfl/gzip.c
@@ -75,7 +75,7 @@
is not null on entry, we'll use it in lieu of repeating a read. */
Dwfl_Error internal_function
-unzip (int fd, off64_t start_offset,
+unzip (int fd, off_t start_offset,
void *mapped, size_t mapped_size,
void **whole, size_t *whole_size)
{
@@ -231,7 +231,7 @@ unzip (int fd, off64_t start_offset,
return DWFL_E_BADELF;
if (start_offset != 0)
{
- off64_t off = lseek (d, start_offset, SEEK_SET);
+ off_t off = lseek (d, start_offset, SEEK_SET);
if (off != start_offset)
{
close (d);
diff --git a/libdwfl/image-header.c b/libdwfl/image-header.c
index a4f6799ac48a..62ccc3e35979 100644
--- a/libdwfl/image-header.c
+++ b/libdwfl/image-header.c
@@ -57,7 +57,7 @@
Dwfl_Error
internal_function
-__libdw_image_header (int fd, off64_t *start_offset,
+__libdw_image_header (int fd, off_t *start_offset,
void *mapped, size_t mapped_size)
{
if (likely (mapped_size > H_END))
diff --git a/libdwfl/libdwflP.h b/libdwfl/libdwflP.h
index 42a2669e7851..63556d511b6e 100644
--- a/libdwfl/libdwflP.h
+++ b/libdwfl/libdwflP.h
@@ -588,21 +588,21 @@ extern GElf_Addr __libdwfl_segment_end (Dwfl *dwfl, GElf_Addr end)
internal_function;
/* Decompression wrappers: decompress whole file into memory. */
-extern Dwfl_Error __libdw_gunzip (int fd, off64_t start_offset,
+extern Dwfl_Error __libdw_gunzip (int fd, off_t start_offset,
void *mapped, size_t mapped_size,
void **whole, size_t *whole_size)
internal_function;
-extern Dwfl_Error __libdw_bunzip2 (int fd, off64_t start_offset,
+extern Dwfl_Error __libdw_bunzip2 (int fd, off_t start_offset,
void *mapped, size_t mapped_size,
void **whole, size_t *whole_size)
internal_function;
-extern Dwfl_Error __libdw_unlzma (int fd, off64_t start_offset,
+extern Dwfl_Error __libdw_unlzma (int fd, off_t start_offset,
void *mapped, size_t mapped_size,
void **whole, size_t *whole_size)
internal_function;
/* Skip the image header before a file image: updates *START_OFFSET. */
-extern Dwfl_Error __libdw_image_header (int fd, off64_t *start_offset,
+extern Dwfl_Error __libdw_image_header (int fd, off_t *start_offset,
void *mapped, size_t mapped_size)
internal_function;
diff --git a/libdwfl/link_map.c b/libdwfl/link_map.c
index 9f0b4a2cb507..13cac52912e3 100644
--- a/libdwfl/link_map.c
+++ b/libdwfl/link_map.c
@@ -385,7 +385,7 @@ report_r_debug (uint_fast8_t elfclass, uint_fast8_t elfdata,
{
/* This code is mostly inlined dwfl_report_elf. */
// XXX hook for sysroot
- int fd = open64 (name, O_RDONLY);
+ int fd = open (name, O_RDONLY);
if (fd >= 0)
{
Elf *elf;
diff --git a/libdwfl/linux-kernel-modules.c b/libdwfl/linux-kernel-modules.c
index dafe893cbda5..38b5170a1a81 100644
--- a/libdwfl/linux-kernel-modules.c
+++ b/libdwfl/linux-kernel-modules.c
@@ -44,6 +44,13 @@
#include <fcntl.h>
#include <unistd.h>
+/* Since fts.h is included before config.h, its indirect inclusions may not
+ give us the right LFS aliases of these functions, so map them manually. */
+#ifdef _FILE_OFFSET_BITS
+#define open open64
+#define fopen fopen64
+#endif
+
#define KERNEL_MODNAME "kernel"
@@ -84,7 +91,7 @@ try_kernel_name (Dwfl *dwfl, char **fname, bool try_debug)
int fd = ((((dwfl->callbacks->debuginfo_path
? *dwfl->callbacks->debuginfo_path : NULL)
?: DEFAULT_DEBUGINFO_PATH)[0] == ':') ? -1
- : TEMP_FAILURE_RETRY (open64 (*fname, O_RDONLY)));
+ : TEMP_FAILURE_RETRY (open (*fname, O_RDONLY)));
if (fd < 0)
{
@@ -116,7 +123,7 @@ try_kernel_name (Dwfl *dwfl, char **fname, bool try_debug)
char *zname;
if (asprintf (&zname, "%s%s", *fname, vmlinux_suffixes[i]) > 0)
{
- fd = TEMP_FAILURE_RETRY (open64 (zname, O_RDONLY));
+ fd = TEMP_FAILURE_RETRY (open (zname, O_RDONLY));
if (fd < 0)
free (zname);
else
@@ -514,7 +521,7 @@ static int
check_notes (Dwfl_Module *mod, const char *notesfile,
Dwarf_Addr vaddr, const char *secname)
{
- int fd = open64 (notesfile, O_RDONLY);
+ int fd = open (notesfile, O_RDONLY);
if (fd < 0)
return 1;
@@ -772,7 +779,7 @@ dwfl_linux_kernel_find_elf (Dwfl_Module *mod,
&& (!memcmp (f->fts_name, module_name, namelen)
|| !memcmp (f->fts_name, alternate_name, namelen)))
{
- int fd = open64 (f->fts_accpath, O_RDONLY);
+ int fd = open (f->fts_accpath, O_RDONLY);
*file_name = strdup (f->fts_path);
fts_close (fts);
free (modulesdir[0]);
diff --git a/libdwfl/linux-proc-maps.c b/libdwfl/linux-proc-maps.c
index d0858342014e..ceffe94ceb21 100644
--- a/libdwfl/linux-proc-maps.c
+++ b/libdwfl/linux-proc-maps.c
@@ -59,7 +59,7 @@ get_pid_class (pid_t pid)
if (asprintf (&fname, PROCEXEFMT, pid) < 0)
return ELFCLASSNONE;
- int fd = open64 (fname, O_RDONLY);
+ int fd = open (fname, O_RDONLY);
free (fname);
if (fd < 0)
return ELFCLASSNONE;
@@ -95,7 +95,7 @@ grovel_auxv (pid_t pid, Dwfl *dwfl, GElf_Addr *sysinfo_ehdr)
if (asprintf (&fname, PROCAUXVFMT, pid) < 0)
return ENOMEM;
- int fd = open64 (fname, O_RDONLY);
+ int fd = open (fname, O_RDONLY);
free (fname);
if (fd < 0)
return errno == ENOENT ? 0 : errno;
@@ -315,7 +315,7 @@ read_proc_memory (void *arg, void *data, GElf_Addr address,
size_t minread, size_t maxread)
{
const int fd = *(const int *) arg;
- ssize_t nread = pread64 (fd, data, maxread, (off64_t) address);
+ ssize_t nread = pread (fd, data, maxread, (off_t) address);
/* Some kernels don't actually let us do this read, ignore those errors. */
if (nread < 0 && (errno == EINVAL || errno == EPERM))
return 0;
@@ -362,7 +362,7 @@ dwfl_linux_proc_find_elf (Dwfl_Module *mod __attribute__ ((unused)),
if (pid == -1)
{
- int fd = open64 (module_name, O_RDONLY);
+ int fd = open (module_name, O_RDONLY);
if (fd >= 0)
{
*file_name = strdup (module_name);
@@ -399,7 +399,7 @@ dwfl_linux_proc_find_elf (Dwfl_Module *mod __attribute__ ((unused)),
if (asprintf (&fname, PROCMEMFMT, pid) < 0)
goto detach;
- int fd = open64 (fname, O_RDONLY);
+ int fd = open (fname, O_RDONLY);
free (fname);
if (fd < 0)
goto detach;
diff --git a/libdwfl/offline.c b/libdwfl/offline.c
index 982ceab0288b..c0a259926a27 100644
--- a/libdwfl/offline.c
+++ b/libdwfl/offline.c
@@ -298,7 +298,7 @@ dwfl_report_offline (Dwfl *dwfl, const char *name,
if (fd < 0)
{
closefd = true;
- fd = open64 (file_name, O_RDONLY);
+ fd = open (file_name, O_RDONLY);
if (fd < 0)
{
__libdwfl_seterrno (DWFL_E_ERRNO);
diff --git a/libdwfl/open.c b/libdwfl/open.c
index 40aac38801ef..c1d0ed2b8138 100644
--- a/libdwfl/open.c
+++ b/libdwfl/open.c
@@ -53,7 +53,7 @@ decompress (int fd __attribute__ ((unused)), Elf **elf)
size_t size = 0;
#if USE_ZLIB || USE_BZLIB || USE_LZMA
- const off64_t offset = (*elf)->start_offset;
+ const off_t offset = (*elf)->start_offset;
void *const mapped = ((*elf)->map_address == NULL ? NULL
: (*elf)->map_address + offset);
const size_t mapped_size = (*elf)->maximum_size;
@@ -132,7 +132,7 @@ __libdw_open_file (int *fdp, Elf **elfp, bool close_on_fail, bool archive_ok)
/* It's not an ELF file or a compressed file.
See if it's an image with a header preceding the real file. */
- off64_t offset = elf->start_offset;
+ off_t offset = elf->start_offset;
error = __libdw_image_header (*fdp, &offset,
(elf->map_address == NULL ? NULL
: elf->map_address + offset),
diff --git a/libelf/ChangeLog b/libelf/ChangeLog
index 0b9ddf2b8e23..85347065cf74 100644
--- a/libelf/ChangeLog
+++ b/libelf/ChangeLog
@@ -1,3 +1,8 @@
+2015-10-08 Josh Stone <jistone(a)redhat.com>
+
+ * libelfP.h (struct Elf): Replace off64_t with off_t.
+ * elf_getdata_rawchunk.c (elf_getdata_rawchunk): Likewise.
+
2015-10-05 Chih-Hung Hsieh <chh(a)google.com>
* elf_getarsym.c (elf_getarsym): Do not use
diff --git a/libelf/elf_getdata_rawchunk.c b/libelf/elf_getdata_rawchunk.c
index 51b3e3e745eb..31b2fe7d23bf 100644
--- a/libelf/elf_getdata_rawchunk.c
+++ b/libelf/elf_getdata_rawchunk.c
@@ -41,7 +41,7 @@
#include "common.h"
Elf_Data *
-elf_getdata_rawchunk (Elf *elf, off64_t offset, size_t size, Elf_Type type)
+elf_getdata_rawchunk (Elf *elf, off_t offset, size_t size, Elf_Type type)
{
if (unlikely (elf == NULL))
return NULL;
diff --git a/libelf/libelfP.h b/libelf/libelfP.h
index 3f4d654b7f34..993c6556d7da 100644
--- a/libelf/libelfP.h
+++ b/libelf/libelfP.h
@@ -316,7 +316,7 @@ struct Elf
int ehdr_flags; /* Flags (dirty) for ELF header. */
int phdr_flags; /* Flags (dirty|malloc) for program header. */
int shdr_malloced; /* Nonzero if shdr array was allocated. */
- off64_t sizestr_offset; /* Offset of the size string in the parent
+ off_t sizestr_offset; /* Offset of the size string in the parent
if this is an archive member. */
} elf;
@@ -335,7 +335,7 @@ struct Elf
int ehdr_flags; /* Flags (dirty) for ELF header. */
int phdr_flags; /* Flags (dirty|malloc) for program header. */
int shdr_malloced; /* Nonzero if shdr array was allocated. */
- off64_t sizestr_offset; /* Offset of the size string in the parent
+ off_t sizestr_offset; /* Offset of the size string in the parent
if this is an archive member. */
Elf32_Ehdr ehdr_mem; /* Memory used for ELF header when not
mmaped. */
@@ -360,7 +360,7 @@ struct Elf
int ehdr_flags; /* Flags (dirty) for ELF header. */
int phdr_flags; /* Flags (dirty|malloc) for program header. */
int shdr_malloced; /* Nonzero if shdr array was allocated. */
- off64_t sizestr_offset; /* Offset of the size string in the parent
+ off_t sizestr_offset; /* Offset of the size string in the parent
if this is an archive member. */
Elf64_Ehdr ehdr_mem; /* Memory used for ELF header when not
mmaped. */
diff --git a/src/ChangeLog b/src/ChangeLog
index f577885635b9..f2514b2b43ad 100644
--- a/src/ChangeLog
+++ b/src/ChangeLog
@@ -1,3 +1,20 @@
+2015-10-08 Josh Stone <jistone(a)redhat.com>
+
+ * elflint.c (main): Replace stat64 and fstat64 with stat and fstat.
+ * readelf.c (process_file): Likewise.
+ (process_elf_file): Replace off64_t with off_t.
+ * findtextrel.c (process_file): Replace open64 with open.
+ * ld.c (main): Replace sizeof (off64_t) with 8.
+ * strings.c: Replace off64_t with off_t throughout.
+ (main): Replace stat64 and fstat64 with stat and fstat.
+ (map_file): Replace mmap64 with mmap.
+ (read_block): Likewise, and replace lseek64 with lseek.
+ * strip.c (handle_elf): Replace ftruncate64 with ftruncate.
+ (process_file): Replace stat64 and fstat64 with stat and fstat.
+ * unstrip.c (parse_opt): Replace stat64 with stat.
+ (handle_file): Replace open64 with open.
+ (open_file): Likewise.
+
2015-10-07 Mark Wielaard <mjw(a)redhat.com>
* unstrip.c (MAX): Removed.
diff --git a/src/elflint.c b/src/elflint.c
index c1f0be5eee1b..fac457ea6c4c 100644
--- a/src/elflint.c
+++ b/src/elflint.c
@@ -164,9 +164,9 @@ main (int argc, char *argv[])
else
{
unsigned int prev_error_count = error_count;
- struct stat64 st;
+ struct stat st;
- if (fstat64 (fd, &st) != 0)
+ if (fstat (fd, &st) != 0)
{
printf ("cannot stat '%s': %m\n", argv[remaining]);
close (fd);
diff --git a/src/findtextrel.c b/src/findtextrel.c
index 0ac6ede287ea..e78d7b8a17ab 100644
--- a/src/findtextrel.c
+++ b/src/findtextrel.c
@@ -215,7 +215,7 @@ process_file (const char *fname, bool more_than_one)
real_fname = new_fname;
}
- int fd = open64 (real_fname, O_RDONLY);
+ int fd = open (real_fname, O_RDONLY);
if (fd == -1)
{
error (0, errno, gettext ("cannot open '%s'"), fname);
@@ -388,7 +388,7 @@ cannot get program header index at offset %zd: %s"),
fname, fname_len),
".debug");
- fd2 = open64 (difname, O_RDONLY);
+ fd2 = open (difname, O_RDONLY);
if (fd2 != -1
&& (elf2 = elf_begin (fd2, ELF_C_READ_MMAP, NULL)) != NULL)
dw = dwarf_begin_elf (elf2, DWARF_C_READ, NULL);
diff --git a/src/ld.c b/src/ld.c
index 6e96ae26b4f6..9685e31c0220 100644
--- a/src/ld.c
+++ b/src/ld.c
@@ -277,7 +277,7 @@ main (int argc, char *argv[])
int err;
/* Sanity check. We always want to use the LFS functionality. */
- if (sizeof (off_t) != sizeof (off64_t))
+ if (sizeof (off_t) != 8)
abort ();
/* We use no threads here which can interfere with handling a stream. */
diff --git a/src/readelf.c b/src/readelf.c
index fe7bc392f8b4..5f6e4edd53c2 100644
--- a/src/readelf.c
+++ b/src/readelf.c
@@ -764,8 +764,8 @@ process_file (int fd, const char *fname, bool only_one)
dwfl->offline_next_address = 0;
if (dwfl_report_offline (dwfl, fname, fname, dwfl_fd) == NULL)
{
- struct stat64 st;
- if (fstat64 (dwfl_fd, &st) != 0)
+ struct stat st;
+ if (fstat (dwfl_fd, &st) != 0)
error (0, errno, gettext ("cannot stat input file"));
else if (unlikely (st.st_size == 0))
error (0, 0, gettext ("input file is empty"));
@@ -848,7 +848,7 @@ process_elf_file (Dwfl_Module *dwflmod, int fd)
if (ehdr->e_type == ET_REL && print_unrelocated)
{
/* Read the file afresh. */
- off64_t aroff = elf_getaroff (elf);
+ off_t aroff = elf_getaroff (elf);
pure_elf = elf_begin (fd, ELF_C_READ_MMAP, NULL);
if (aroff > 0)
{
diff --git a/src/strings.c b/src/strings.c
index 397ce429bb2d..c1d63cd6fa9b 100644
--- a/src/strings.c
+++ b/src/strings.c
@@ -49,8 +49,8 @@
/* Prototypes of local functions. */
-static int read_fd (int fd, const char *fname, off64_t fdlen);
-static int read_elf (Elf *elf, int fd, const char *fname, off64_t fdlen);
+static int read_fd (int fd, const char *fname, off_t fdlen);
+static int read_elf (Elf *elf, int fd, const char *fname, off_t fdlen);
/* Name and version of program. */
@@ -138,7 +138,7 @@ static size_t ps;
static unsigned char *elfmap;
static unsigned char *elfmap_base;
static size_t elfmap_size;
-static off64_t elfmap_off;
+static off_t elfmap_off;
int
@@ -167,14 +167,14 @@ main (int argc, char *argv[])
/* Determine the page size. We will likely need it a couple of times. */
ps = sysconf (_SC_PAGESIZE);
- struct stat64 st;
+ struct stat st;
int result = 0;
if (remaining == argc)
/* We read from standard input. This we cannot do for a
structured file. */
result = read_fd (STDIN_FILENO,
print_file_name ? "{standard input}" : NULL,
- (fstat64 (STDIN_FILENO, &st) == 0 && S_ISREG (st.st_mode))
+ (fstat (STDIN_FILENO, &st) == 0 && S_ISREG (st.st_mode))
? st.st_size : INT64_C (0x7fffffffffffffff));
else
do
@@ -189,10 +189,10 @@ main (int argc, char *argv[])
else
{
const char *fname = print_file_name ? argv[remaining] : NULL;
- int fstat_fail = fstat64 (fd, &st);
- off64_t fdlen = (fstat_fail
+ int fstat_fail = fstat (fd, &st);
+ off_t fdlen = (fstat_fail
? INT64_C (0x7fffffffffffffff) : st.st_size);
- if (fdlen > (off64_t) min_len_bytes)
+ if (fdlen > (off_t) min_len_bytes)
{
Elf *elf = NULL;
if (entire_file
@@ -326,7 +326,7 @@ parse_opt (int key, char *arg,
static void
-process_chunk_mb (const char *fname, const unsigned char *buf, off64_t to,
+process_chunk_mb (const char *fname, const unsigned char *buf, off_t to,
size_t len, char **unprinted)
{
size_t curlen = *unprinted == NULL ? 0 : strlen (*unprinted);
@@ -403,7 +403,7 @@ process_chunk_mb (const char *fname, const unsigned char *buf, off64_t to,
static void
-process_chunk (const char *fname, const unsigned char *buf, off64_t to,
+process_chunk (const char *fname, const unsigned char *buf, off_t to,
size_t len, char **unprinted)
{
/* We are not going to slow the check down for the 2- and 4-byte
@@ -467,7 +467,7 @@ process_chunk (const char *fname, const unsigned char *buf, off64_t to,
/* Map a file in as large chunks as possible. */
static void *
-map_file (int fd, off64_t start_off, off64_t fdlen, size_t *map_sizep)
+map_file (int fd, off_t start_off, off_t fdlen, size_t *map_sizep)
{
/* Maximum size we mmap. We use an #ifdef to avoid overflows on
32-bit machines. 64-bit machines these days do not have usable
@@ -480,7 +480,7 @@ map_file (int fd, off64_t start_off, off64_t fdlen, size_t *map_sizep)
# endif
/* Try to mmap the file. */
- size_t map_size = MIN ((off64_t) mmap_max, fdlen);
+ size_t map_size = MIN ((off_t) mmap_max, fdlen);
const size_t map_size_min = MAX (MAX (SIZE_MAX / 16, 2 * ps),
roundup (2 * min_len_bytes + 1, ps));
void *mem;
@@ -489,8 +489,8 @@ map_file (int fd, off64_t start_off, off64_t fdlen, size_t *map_sizep)
/* We map the memory for reading only here. Since we will
always look at every byte of the file it makes sense to
use MAP_POPULATE. */
- mem = mmap64 (NULL, map_size, PROT_READ, MAP_PRIVATE | MAP_POPULATE,
- fd, start_off);
+ mem = mmap (NULL, map_size, PROT_READ, MAP_PRIVATE | MAP_POPULATE,
+ fd, start_off);
if (mem != MAP_FAILED)
{
/* We will go through the mapping sequentially. */
@@ -515,7 +515,7 @@ map_file (int fd, off64_t start_off, off64_t fdlen, size_t *map_sizep)
/* Read the file without mapping. */
static int
-read_block_no_mmap (int fd, const char *fname, off64_t from, off64_t fdlen)
+read_block_no_mmap (int fd, const char *fname, off_t from, off_t fdlen)
{
char *unprinted = NULL;
#define CHUNKSIZE 65536
@@ -577,7 +577,7 @@ read_block_no_mmap (int fd, const char *fname, off64_t from, off64_t fdlen)
static int
-read_block (int fd, const char *fname, off64_t fdlen, off64_t from, off64_t to)
+read_block (int fd, const char *fname, off_t fdlen, off_t from, off_t to)
{
if (elfmap == NULL)
{
@@ -596,23 +596,23 @@ read_block (int fd, const char *fname, off64_t fdlen, off64_t from, off64_t to)
read pointer. */
// XXX Eventually add flag which avoids this if the position
// XXX is known to match.
- if (from != 0 && lseek64 (fd, from, SEEK_SET) != from)
- error (EXIT_FAILURE, errno, gettext ("lseek64 failed"));
+ if (from != 0 && lseek (fd, from, SEEK_SET) != from)
+ error (EXIT_FAILURE, errno, gettext ("lseek failed"));
return read_block_no_mmap (fd, fname, from, to - from);
}
- assert ((off64_t) min_len_bytes < fdlen);
+ assert ((off_t) min_len_bytes < fdlen);
- if (to < (off64_t) elfmap_off || from > (off64_t) (elfmap_off + elfmap_size))
+ if (to < (off_t) elfmap_off || from > (off_t) (elfmap_off + elfmap_size))
{
/* The existing mapping cannot fit at all. Map the new area.
We always map the full range of ELFMAP_SIZE bytes even if
this extend beyond the end of the file. The Linux kernel
handles this OK if the access pages are not touched. */
elfmap_off = from & ~(ps - 1);
- if (mmap64 (elfmap, elfmap_size, PROT_READ,
- MAP_PRIVATE | MAP_POPULATE | MAP_FIXED, fd, from)
+ if (mmap (elfmap, elfmap_size, PROT_READ,
+ MAP_PRIVATE | MAP_POPULATE | MAP_FIXED, fd, from)
== MAP_FAILED)
error (EXIT_FAILURE, errno, gettext ("re-mmap failed"));
elfmap_base = elfmap;
@@ -622,23 +622,23 @@ read_block (int fd, const char *fname, off64_t fdlen, off64_t from, off64_t to)
/* Use the existing mapping as much as possible. If necessary, map
new pages. */
- if (from >= (off64_t) elfmap_off
- && from < (off64_t) (elfmap_off + elfmap_size))
+ if (from >= (off_t) elfmap_off
+ && from < (off_t) (elfmap_off + elfmap_size))
/* There are at least a few bytes in this mapping which we can
use. */
process_chunk (fname, elfmap_base + (from - elfmap_off),
- MIN (to, (off64_t) (elfmap_off + elfmap_size)),
- MIN (to, (off64_t) (elfmap_off + elfmap_size)) - from,
+ MIN (to, (off_t) (elfmap_off + elfmap_size)),
+ MIN (to, (off_t) (elfmap_off + elfmap_size)) - from,
&unprinted);
- if (to > (off64_t) (elfmap_off + elfmap_size))
+ if (to > (off_t) (elfmap_off + elfmap_size))
{
unsigned char *remap_base = elfmap_base;
size_t read_now = elfmap_size - (elfmap_base - elfmap);
- assert (from >= (off64_t) elfmap_off
- && from < (off64_t) (elfmap_off + elfmap_size));
- off64_t handled_to = elfmap_off + elfmap_size;
+ assert (from >= (off_t) elfmap_off
+ && from < (off_t) (elfmap_off + elfmap_size));
+ off_t handled_to = elfmap_off + elfmap_size;
assert (elfmap == elfmap_base
|| (elfmap_base - elfmap
== (ptrdiff_t) ((min_len_bytes + ps - 1) & ~(ps - 1))));
@@ -675,8 +675,8 @@ read_block (int fd, const char *fname, off64_t fdlen, off64_t from, off64_t to)
assert (handled_to % ps == 0);
assert (handled_to % bytes_per_char == 0);
- if (mmap64 (remap_base, read_now, PROT_READ,
- MAP_PRIVATE | MAP_POPULATE | MAP_FIXED, fd, handled_to)
+ if (mmap (remap_base, read_now, PROT_READ,
+ MAP_PRIVATE | MAP_POPULATE | MAP_FIXED, fd, handled_to)
== MAP_FAILED)
error (EXIT_FAILURE, errno, gettext ("re-mmap failed"));
elfmap_off = handled_to;
@@ -700,14 +700,14 @@ read_block (int fd, const char *fname, off64_t fdlen, off64_t from, off64_t to)
static int
-read_fd (int fd, const char *fname, off64_t fdlen)
+read_fd (int fd, const char *fname, off_t fdlen)
{
return read_block (fd, fname, fdlen, 0, fdlen);
}
static int
-read_elf (Elf *elf, int fd, const char *fname, off64_t fdlen)
+read_elf (Elf *elf, int fd, const char *fname, off_t fdlen)
{
assert (fdlen >= 0);
diff --git a/src/strip.c b/src/strip.c
index 41169eda898c..6c2a87cc432d 100644
--- a/src/strip.c
+++ b/src/strip.c
@@ -310,12 +310,12 @@ process_file (const char *fname)
/* If we have to preserve the modify and access timestamps get them
now. We cannot use fstat() after opening the file since the open
would change the access time. */
- struct stat64 pre_st;
+ struct stat pre_st;
struct timespec tv[2];
again:
if (preserve_dates)
{
- if (stat64 (fname, &pre_st) != 0)
+ if (stat (fname, &pre_st) != 0)
{
error (0, errno, gettext ("cannot stat input file '%s'"), fname);
return 1;
@@ -338,8 +338,8 @@ process_file (const char *fname)
/* We always use fstat() even if we called stat() before. This is
done to make sure the information returned by stat() is for the
same file. */
- struct stat64 st;
- if (fstat64 (fd, &st) != 0)
+ struct stat st;
+ if (fstat (fd, &st) != 0)
{
error (0, errno, gettext ("cannot stat input file '%s'"), fname);
return 1;
@@ -2113,7 +2113,7 @@ while computing checksum for debug information"));
|| (pwrite_retry (fd, zero, sizeof zero,
offsetof (Elf32_Ehdr, e_shentsize))
!= sizeof zero)
- || ftruncate64 (fd, shdr_info[shdridx].shdr.sh_offset) < 0)
+ || ftruncate (fd, shdr_info[shdridx].shdr.sh_offset) < 0)
{
error (0, errno, gettext ("while writing '%s'"),
output_fname ?: fname);
@@ -2133,7 +2133,7 @@ while computing checksum for debug information"));
|| (pwrite_retry (fd, zero, sizeof zero,
offsetof (Elf64_Ehdr, e_shentsize))
!= sizeof zero)
- || ftruncate64 (fd, shdr_info[shdridx].shdr.sh_offset) < 0)
+ || ftruncate (fd, shdr_info[shdridx].shdr.sh_offset) < 0)
{
error (0, errno, gettext ("while writing '%s'"),
output_fname ?: fname);
diff --git a/src/unstrip.c b/src/unstrip.c
index b725987c462a..bc8ed5037c00 100644
--- a/src/unstrip.c
+++ b/src/unstrip.c
@@ -176,9 +176,9 @@ parse_opt (int key, char *arg, struct argp_state *state)
if (info->output_dir != NULL)
{
- struct stat64 st;
+ struct stat st;
error_t fail = 0;
- if (stat64 (info->output_dir, &st) < 0)
+ if (stat (info->output_dir, &st) < 0)
fail = errno;
else if (!S_ISDIR (st.st_mode))
fail = ENOTDIR;
@@ -1988,7 +1988,7 @@ DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"),
make_directories (output_file);
/* Copy the unstripped file and then modify it. */
- int outfd = open64 (output_file, O_RDWR | O_CREAT,
+ int outfd = open (output_file, O_RDWR | O_CREAT,
stripped_ehdr->e_type == ET_REL ? 0666 : 0777);
if (outfd < 0)
error (EXIT_FAILURE, errno, _("cannot open '%s'"), output_file);
@@ -2018,7 +2018,7 @@ DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u"),
static int
open_file (const char *file, bool writable)
{
- int fd = open64 (file, writable ? O_RDWR : O_RDONLY);
+ int fd = open (file, writable ? O_RDWR : O_RDONLY);
if (fd < 0)
error (EXIT_FAILURE, errno, _("cannot open '%s'"), file);
return fd;
diff --git a/tests/ChangeLog b/tests/ChangeLog
index 66781d0cee74..e87bdf3fa30d 100644
--- a/tests/ChangeLog
+++ b/tests/ChangeLog
@@ -1,3 +1,21 @@
+2015-10-08 Josh Stone <jistone(a)redhat.com>
+
+ * lfs-symbols: New list of LFS-related symbols from lintian.
+ * testfile-nolfs.bz2: New test binary for sanity checking.
+ * run-lfs-symbols.sh: New test.
+ * Makefile.am (TESTS): Add run-lfs-symbols.sh.
+ (EXTRA_DIST): Add lfs-symbols, testfile-nolfs.bz2, and
+ run-lfs-symbols.sh.
+ * alldts.c (main): Replace open64 with open.
+ * dwarf-getstring.c (main): Likewise.
+ * arls.c: Include config.h.
+ * ecp.c: Likewise.
+ * rdwrmmap.c: Likewise.
+ * test-elf_cntl_gelf_getshdr.c: Likewise.
+ * test-flag-nobits.c: Include config.h.
+ (main): Replace open64 with open.
+ * Makefile.am:
+
2015-10-05 Josh Stone <jistone(a)redhat.com>
* Makefile.am (backtrace-child-biarch): Add AM_V_CC silencer.
diff --git a/tests/Makefile.am b/tests/Makefile.am
index fc9b648d2f02..5612fc7b5f48 100644
--- a/tests/Makefile.am
+++ b/tests/Makefile.am
@@ -120,7 +120,7 @@ TESTS = run-arextract.sh run-arsymtest.sh newfile test-nlist \
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
+ elfshphehdr run-lfs-symbols.sh
if !BIARCH
export ELFUTILS_DISABLE_BIARCH = 1
@@ -303,7 +303,8 @@ EXTRA_DIST = run-arextract.sh run-arsymtest.sh \
run-getsrc-die.sh run-strptr.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
+ testfile-x32-s.bz2 testfile-x32-d.bz2 testfile-x32-debug.bz2 \
+ run-lfs-symbols.sh lfs-symbols testfile-nolfs.bz2
if USE_VALGRIND
valgrind_cmd='valgrind -q --error-exitcode=1 --run-libc-freeres=no'
diff --git a/tests/alldts.c b/tests/alldts.c
index 378aa412a70e..c39b8fb61772 100644
--- a/tests/alldts.c
+++ b/tests/alldts.c
@@ -68,7 +68,7 @@ main (void)
(void) __fsetlocking (stdout, FSETLOCKING_BYCALLER);
/* Open the file. */
- int fd = open64 (fname, O_RDWR | O_CREAT | O_TRUNC, 0666);
+ int fd = open (fname, O_RDWR | O_CREAT | O_TRUNC, 0666);
if (fd == -1)
{
printf ("cannot open `%s': %m\n", fname);
diff --git a/tests/arls.c b/tests/arls.c
index cd8e4b81d3ca..ca0d3e6e6533 100644
--- a/tests/arls.c
+++ b/tests/arls.c
@@ -14,6 +14,10 @@
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 <ar.h>
#include <fcntl.h>
#include <libelf.h>
diff --git a/tests/dwarf-getstring.c b/tests/dwarf-getstring.c
index b70c2a70cdd9..824edef87f91 100644
--- a/tests/dwarf-getstring.c
+++ b/tests/dwarf-getstring.c
@@ -37,7 +37,7 @@ main (int argc, char *argv[])
Dwarf_Off offset = 0;
size_t len;
- int fd = open64 (argv[cnt], O_RDONLY);
+ int fd = open (argv[cnt], O_RDONLY);
if (fd == -1)
{
printf ("cannot open '%s': %m\n", argv[cnt]);
diff --git a/tests/ecp.c b/tests/ecp.c
index 39a48510ee7d..38a6859e8b2b 100644
--- a/tests/ecp.c
+++ b/tests/ecp.c
@@ -15,6 +15,10 @@
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 <error.h>
#include <fcntl.h>
diff --git a/tests/lfs-symbols b/tests/lfs-symbols
new file mode 100644
index 000000000000..282a4ad4b05b
--- /dev/null
+++ b/tests/lfs-symbols
@@ -0,0 +1,73 @@
+# Imported from lintian/data/binaries/lfs-symbols
+#
+# Exceptions:
+# fts* - linux-kernel-modules.c is careful with FTS_NOSTAT
+
+# Manually maintained list of non-lfs symbols
+#
+# List was found by grepping around in /usr/include on an i386 system
+# with build-essential installed
+#
+# Please keep this sorted by key.
+
+__fxstat
+__fxstatat
+__lxstat
+__xstat
+aio_cancel
+aio_error
+aio_fsync
+aio_read
+aio_return
+aio_suspend
+aio_write
+alphasort
+creat
+fallocate
+fgetpos
+fopen
+freopen
+fseeko
+fsetpos
+fstatfs
+fstatvfs
+ftello
+ftruncate
+#fts_open
+#fts_read
+#fts_children
+#fts_set
+#fts_close
+ftw
+getdirentries
+getrlimit
+glob
+globfree
+lio_listio
+lockf
+lseek
+mkostemp
+mkostemps
+mkstemp
+mkstemps
+mmap
+nftw
+open
+openat
+posix_fadvise
+posix_fallocate
+pread
+preadv
+prlimit
+pwrite
+pwritev
+readdir
+readdir_r
+scandir
+sendfile
+setrlimit
+statfs
+statvfs
+tmpfile
+truncate
+versionsort
diff --git a/tests/rdwrmmap.c b/tests/rdwrmmap.c
index 95a4df3554a4..6f027dfed8a3 100644
--- a/tests/rdwrmmap.c
+++ b/tests/rdwrmmap.c
@@ -14,6 +14,10 @@
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 <error.h>
#include <stdio.h>
diff --git a/tests/run-lfs-symbols.sh b/tests/run-lfs-symbols.sh
new file mode 100755
index 000000000000..f0894405dae6
--- /dev/null
+++ b/tests/run-lfs-symbols.sh
@@ -0,0 +1,86 @@
+#! /bin/bash
+# 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
+
+if ! grep -q -F '#define _FILE_OFFSET_BITS' ${abs_top_builddir}/config.h; then
+ echo "LFS testing is irrelevent on this system"
+ exit 77
+fi
+
+# #include <stdio.h>
+# int main () {
+# FILE *f = fopen ("/dev/null", "r");
+# return f == NULL;
+# }
+#
+# Built for Linux i686, without setting _FILE_OFFSET_BITS.
+# $ gcc -m32 -O2 nolfs.c -o testfile-nolfs
+testfiles testfile-nolfs
+
+LFS_FORMAT='BEGIN {
+ while ((getline < "%s") > 0)
+ /^\w/ && bad[$0]
+ FS="@"
+}
+/@@GLIBC_/ && $1 in bad { print $1 }'
+
+LFS=$(printf "$LFS_FORMAT" "${abs_srcdir}/lfs-symbols")
+
+makeprint() {
+ make print-$1 -C $2 |& awk -F= "/^$1=/{ print \$2 }"
+}
+
+testrun_lfs() {
+ bad=$(testrun ${abs_top_builddir}/src/nm -u "$1" | awk "$LFS")
+ if [ -n "$bad" ]; then
+ echo "$1 contains non-lfs symbols:" $bad
+ exit_status=1
+ fi
+}
+
+# First sanity-check that LFS detection works.
+exit_status=0
+testrun_lfs ./testfile-nolfs
+if [ $exit_status -eq 0 ]; then
+ echo "Didn't detect any problem with testfile-nolfs!"
+ exit 99
+fi
+
+exit_status=0
+
+# Check all normal build targets.
+for dir in libelf libdw libasm libcpu src; do
+ dir=${abs_top_builddir}/$dir
+ for program in $(makeprint PROGRAMS $dir); do
+ testrun_lfs $dir/$program
+ done
+done
+
+# Check all libebl modules.
+dir=${abs_top_builddir}/backends
+for module in $(makeprint modules $dir); do
+ testrun_lfs $dir/libebl_$module.so
+done
+
+# Check all test programs.
+dir=${abs_builddir}
+for program in $(makeprint check_PROGRAMS $dir); do
+ testrun_lfs $dir/$program
+done
+
+exit $exit_status
diff --git a/tests/test-elf_cntl_gelf_getshdr.c b/tests/test-elf_cntl_gelf_getshdr.c
index b561b53cb4f1..7371110c75e2 100644
--- a/tests/test-elf_cntl_gelf_getshdr.c
+++ b/tests/test-elf_cntl_gelf_getshdr.c
@@ -14,6 +14,10 @@
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 <stdio.h>
diff --git a/tests/test-flag-nobits.c b/tests/test-flag-nobits.c
index e58d8c3df540..ff19ce202ea3 100644
--- a/tests/test-flag-nobits.c
+++ b/tests/test-flag-nobits.c
@@ -14,6 +14,10 @@
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 <fcntl.h>
#include <stdlib.h>
#include <gelf.h>
@@ -26,7 +30,7 @@ main (int argc, char **argv)
elf_version (EV_CURRENT);
- int fd = open64 (argv[1], O_RDONLY);
+ int fd = open (argv[1], O_RDONLY);
Elf *stripped = elf_begin (fd, ELF_C_READ, NULL);
Elf_Scn *scn = NULL;
diff --git a/tests/testfile-nolfs.bz2 b/tests/testfile-nolfs.bz2
new file mode 100644
index 0000000000000000000000000000000000000000..ab8351e9e661744fff69e589dad177a82c677920
GIT binary patch
literal 2563
zcmV+e3jFm#T4*^jL0KkKS>4^9wEze3fB*mg|Nr0r|N8&`|EvH1|MdUvT;ainon3#m
zcieA&fA8Q3aT?qM5<pQaRjT{m$z1O<Fla()Gz8k1srdyzMK`51c~2%}OrZ5WPf_}z
zr>N1Uo|8`~dW=SffB?pjAF4Fko<`K3YKMvpnl##mMuW<Fn@}|MHl~^l5&~q=lPTm(
zOo2U2gFp>5&;S55WEyAy000000001J0000000xOM8i5|DVtRUz1JnRA0|FWV27ojG
zWB>+?MnRx70BNH}ni?7!44MIuXlOkUBt%3-Jkolnsp+C<(-Tb|lSYOk5IsNxKxoJS
z27mwqKmY&(KmZJY000dGL>dNwWElp5plHO%&@=#I05l9Cqd?FA00Tf|XwU!v01X)#
zGGb^3O&BFjLOo42BgHn8WQK--&|w-40ilosLqG-qj7CF10B8o94KV?cpa2;e00xGD
zWylZ{YS)CAAd2g9RNRhFC`1`{)`$SElPX;W3zI0N$B_j3BR3|2*>fgMp^gQ`fb|+=
z0XX~Xn059QiVV!sG9+P66f_gYMrLv3tS$7l6%I>NuCNJFvMjXh)lF>d&2!!&%NY$R
zgMajq5HJJ;5h{~1-kw&MC;8Fo1Jv^Jaw3Lv`dN|4m}CJO7@t;i^~(+r2Xwy{eD+5=
z*|C)H1PY2;#nrgOwS{?s0?%0x32{(gpmV8f_UzNU+~_Jpz&Jo__DDnuRrF$(+|5bX
zSkkg#4b}8J2u$8+!oB0F#k-iE!^CN1POH~{fXo|&;b-pijReVGnzKws?O;aYlGKZM
z7nCSgxiG>VwhVxv&y4&U6d87i8wLo9QPmdVPBCN4!9fE)XLO(zlF;EOEegmrae4Zf
zwa`m7=~0!ev6Z`8&pnE|R=V1cw-tyM6DpP<CcggyJ7yr+m<Vh~0>d4oA+#kVgaNB*
zEc*;5HVUl>Fxm?SC}JqYVX#odn+Ry7Aezk8G@KApU}G6B3Q`VrmCVA1n+0R#S$pDw
zm4Y$cCd?L>2-^(<qqxwZW*b);QpPgZMg|iESoG~6wS<n=C75YzSSh3-Lr8{&QK1SN
z0Bt7H!Dvv@%dsLDlWRQ4ZK;Se%uywP$e3{NsDT*lM)>8U10D%tmkmRPLmNamfQX0#
z(t-f1#W2<vw?IRuw{=7(85clYAqYa1JW6>ND8<y<uZ8b0W8=1;1=n~^2+$aW1rrqv
zraprx#c}s}C@jr(NJLE%A=U3{o{uFCWkx3XlG^gAAAq=U+<vtbx~WD-0?}?laI(!z
z#NLdKY9XaYE;F)#$I-wItqZ4{2^*tI#)Vdl$UI9l(yU@yW@PijWM?O$*ZvyMQr*>;
zakKK0CtY(c8uGfUJ0FJUKZ^&Nn6DqC-X6m{pY`%2kqj|6Eksp@MOb6=G72%kFj>}@
zYOr;0I>Ry+0L;Lde>Rfw=5Zg?++#Ou*`O<^=nVbZ?74~<&1jg5{1hZEF@n|iP;ZO^
z!LS&MjX@CF+Cijb{a>aIF_U#+W0!Qezala_Qii=71g2G%BE+TEvoPqX2EmnWR@&KA
z)VXznWmdJ4w$j@yk`&uUIzu8Igw3u=q|8#bO&LPPKL-(k<zDo5Gy^NsXI%52b|w!i
zRI0+`Luqaq%q$8Zs$xW-6JW)>xC<IVNz}>(wl>z-G>Bz4Ru(t8P(}8}gAw)CAhDx5
z%@gVMk*CkwIA!c8b9sgDsx8C_LV1GHy-#YsDqJ5N^YNg_3xH7VY&r@XCLL04GxvPO
zjiKwzEb}#54&GsgGsDehvs9y}(OENZTFm8(fR%I0gmA3gx9G0UVwq|r-|cJ#jM22A
zyi4Ppru_w8QJdQ|l#kV=gu-q>Ll3pDi=ON2;{CQ<FV<Sd%vOVKuZ{69Yv)b0oqHVS
zAS(Ls5D0v(P8YWyqoR8V267LVOMd8XZL50_VTBt`cQ2ISd&wT=1QyY0L3Qw;p(a4x
zE$|jLW5Nz^oS~76@+?*v6(*qzShDqi?fbY@A9(j~A_t2LXTOc1p`dzwy6G$?{?n)8
zEAn<gYb<J=jR{>{1XGO`5g}T}OU71gds!SFx+Fsz@xurM?Zo&Z?{cZ(R>+MpuQjj?
zXf&U!#s+||#F$n)Q^{PglbtVG3(<RI@{GK$N|~aXX0#B`v|>L52u%oKa?p@-DCWDN
zFb17<rHLRhvxD5|z$MBn6hUWo6p2!tpTaQGrwLHqRYs6ItRYc2C@dYLzK$#?LUDt^
zJw3~tZ+F$91BppCo;{>da&oNhe_VBt=#C7~4ApqGkT7Yj*x0kx)a3^0aUh<ZwrY!g
zBakCX)~MS{y5`MXaL-d~<p>*dnASREA{GQC<_5-KiYSA(3J*nW5CvE_%M3aLt#m68
zMlVszqNSqE;w*fq(FUT%OE8g@p*c?_$jjEomS&@j4cJKQrg}{dtVc2qfVbWx4h0mU
zHEl=0bRhg_S`O4f68bju>%=>D`g%6*;E2$IAiZys8lw<^$-Lx&2LM1UBW|JjjEuCy
z0$9Uw)N54uNa9+ME5OenM*@3Qe5s#+r3pkFc+AMycuOGB6RH{wOcVi;ZFZ6*;YVam
zmcWXMfH+~s%uHz8W8j9DX9orzIv8R30TGojGRU@ppi<k47A?{ZgZ5*BEP^HE!a{;9
zfI0|d5$r(lU~Na85S$T$%|(X1+6s4wGz36MRg^;`fD}-Gf&q}xh-xhI#LFQl0kFzo
z#91LYghBETQ!LwoG>u3qBOxY$GqK&Dek16^{TMjd^bmx#3>UcQN(}IVJQm7}#7tVD
zjVYkQ9IrWQ0GN>_CB&8kiJf2j()hqe$T}Hr!ilqrYs3;C2qYa?d<g&K>nD&znS|Kh
zKxPTv)#lX8Gg{0TTGq=U=Sko>QMhKu5o}W2QrP0%$kf|U<8~9d3=BFt*M_Zj9k7Qd
zR=L}b{B2aCo!6@<9p-kP^))h|2wGS93$#mdRv@Y%fpmmOnLI9bJ&!ir?y!Qdui0t3
zIrH&$9EHzjEY!P|;zUGNLRZUEU0hnb*S3QqW@m4uCS^?`gPED6*liwGSZ@)<wUqAL
zcFOxswXB(TTeEC%1!q{qFgKRXaf~IukG@!zXG1Yle)tfmR`E%<+}C@JSM#~w_nJL#
zrpW6UG!0T7;{Yq8li0EnqlvDvbi~LH8La`C2ndi)Mf}2WBr%ZRK2TbaNH#~#dDA3r
zg=DuIrhr<+6F7XFtR#?7tul&hf<Pmpu{)5CQKbQ+BAz$IZ_XLTJFAeO+o%vtj}8-x
z*Ib;>BZIQd-1huvH~iKqvTprkZ6oE>ceyl6YkG^ZcRJ=#b^inq*!rv(B@Lx!L&Dic
ZlOIFb^Haj?c{%^Z+>uTcBsX_wtw0~Mm@ohU
literal 0
HcmV?d00001
--
2.4.3
8 years, 6 months