diff options
| author | Roland McGrath <[email protected]> | 2009-04-19 17:42:18 -0700 |
|---|---|---|
| committer | Roland McGrath <[email protected]> | 2009-04-19 17:42:18 -0700 |
| commit | 01be23b45e23777773c8305807c27a7e1a5c3add (patch) | |
| tree | d3feeb6bbbb2a921474564ee590d10c2c351a6b5 | |
| parent | 7fc2793d0663e49a0454da85ff48a621007bd181 (diff) | |
| parent | 105e3984c2dc5f8f60875dc80e9e06480e186900 (diff) | |
Merge branch 'master' of ssh://git.fedorahosted.org/git/elfutils into roland/unwind
Conflicts:
backends/ChangeLog
libdw/ChangeLog
libdwfl/ChangeLog
| -rw-r--r-- | ChangeLog | 9 | ||||
| -rw-r--r-- | NEWS | 9 | ||||
| -rw-r--r-- | backends/ChangeLog | 25 | ||||
| -rw-r--r-- | backends/Makefile.am | 5 | ||||
| -rw-r--r-- | backends/arm_attrs.c | 242 | ||||
| -rw-r--r-- | backends/arm_auxv.c | 46 | ||||
| -rw-r--r-- | backends/arm_corenote.c | 73 | ||||
| -rw-r--r-- | backends/arm_init.c | 10 | ||||
| -rw-r--r-- | backends/arm_regs.c | 117 | ||||
| -rw-r--r-- | backends/arm_retval.c | 138 | ||||
| -rw-r--r-- | backends/arm_symbol.c | 73 | ||||
| -rw-r--r-- | backends/i386_corenote.c | 4 | ||||
| -rw-r--r-- | backends/ia64_symbol.c | 6 | ||||
| -rw-r--r-- | config/ChangeLog | 9 | ||||
| -rw-r--r-- | configure.ac | 42 | ||||
| -rw-r--r-- | libcpu/ChangeLog | 5 | ||||
| -rw-r--r-- | libcpu/Makefile.am | 1 | ||||
| -rw-r--r-- | libdw/ChangeLog | 5 | ||||
| -rw-r--r-- | libdw/dwarf.h | 3 | ||||
| -rw-r--r-- | libdwfl/ChangeLog | 20 | ||||
| -rw-r--r-- | libdwfl/core-file.c | 14 | ||||
| -rw-r--r-- | libdwfl/dwfl_module_getsym.c | 24 | ||||
| -rw-r--r-- | libdwfl/dwfl_segment_report_module.c | 21 | ||||
| -rw-r--r-- | libdwfl/libdwfl.h | 11 | ||||
| -rw-r--r-- | libdwfl/link_map.c | 1 | ||||
| -rw-r--r-- | libdwfl/relocate.c | 8 | ||||
| -rw-r--r-- | libelf/ChangeLog | 4 | ||||
| -rw-r--r-- | libelf/elf.h | 64 | ||||
| -rw-r--r-- | po/de.po | 5676 | ||||
| -rw-r--r-- | po/es.po | 58 | ||||
| -rw-r--r-- | src/ChangeLog | 15 | ||||
| -rw-r--r-- | src/readelf.c | 21 | ||||
| -rw-r--r-- | src/strip.c | 3 |
33 files changed, 6663 insertions, 99 deletions
@@ -1,3 +1,12 @@ +2009-04-19 Roland McGrath <[email protected]> + + * configure.ac (eu_version): Round down here, not in version.h macros. + +2009-04-17 Roland McGrath <[email protected]> + + * configure.ac (eu_version): Compute number 1000 times larger, + let $PACKAGE_VERSION be x.y.z as well as x.y (implied x.y.0). + 2009-01-23 Roland McGrath <[email protected]> * configure.ac (zlib check): Check for gzdirect, need zlib >= 1.2.2.3. @@ -1,3 +1,12 @@ +Version 0.141: + +libebl: sparc backend fixes; + some more arm backend support +libdwfl: fix dwfl_module_build_id for prelinked DSO case; + fixes in core file support; + dwfl_module_getsym interface improved for non-address symbols +strip: fix infinite loop on strange inputs with -f + Version 0.140: libelf: Fix regression in creation of section header diff --git a/backends/ChangeLog b/backends/ChangeLog index df632d35..62b5275e 100644 --- a/backends/ChangeLog +++ b/backends/ChangeLog @@ -8,6 +8,31 @@ * Makefile.am (i386_SRCS): Add it. * i386_init.c (i386_init): Initialize abi_cfi hook. +2009-04-16 Roland McGrath <[email protected]> + + * arm_regs.c (arm_register_info): Handle VFP registers. + + * i386_corenote.c (EXTRA_NOTES): NT_PRXFPREG -> NT_PRXFPREG + +2009-04-14 Roland McGrath <[email protected]> + + * arm_retval.c: New file. + * arm_attrs.c: New file. + * Makefile.am (arm_SRCS): Add them. + * arm_symbol.c (arm_segment_type_name): New function. + (arm_section_type_name): New function. + (arm_machine_flag_check): New function. + * arm_init.c (arm_init): Initialize those hooks. + + * arm_regs.c: New file. + * arm_corenote.c: New file. + * arm_auxv.c: New file. + * Makefile.am (arm_SRCS): Add them. + * arm_init.c (arm_init): Initialize core_note, register_info, + and auxv_info hooks. + + * ia64_symbol.c (ia64_section_type_name): Remove "SHT_" prefixes. + 2009-04-01 Roland McGrath <[email protected]> * sparc_reloc.def: Update table. diff --git a/backends/Makefile.am b/backends/Makefile.am index a47519f1..2aed6216 100644 --- a/backends/Makefile.am +++ b/backends/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to create Makefile.in ## -## Copyright (C) 2000-2006, 2007, 2008 Red Hat, Inc. +## Copyright (C) 2000-2009 Red Hat, Inc. ## This file is part of Red Hat elfutils. ## ## Red Hat elfutils is free software; you can redistribute it and/or modify @@ -85,7 +85,8 @@ alpha_SRCS = alpha_init.c alpha_symbol.c alpha_retval.c alpha_regs.c \ libebl_alpha_pic_a_SOURCES = $(alpha_SRCS) am_libebl_alpha_pic_a_OBJECTS = $(alpha_SRCS:.c=.os) -arm_SRCS = arm_init.c arm_symbol.c +arm_SRCS = arm_init.c arm_symbol.c arm_regs.c arm_corenote.c \ + arm_auxv.c arm_attrs.c arm_retval.c libebl_arm_pic_a_SOURCES = $(arm_SRCS) am_libebl_arm_pic_a_OBJECTS = $(arm_SRCS:.c=.os) diff --git a/backends/arm_attrs.c b/backends/arm_attrs.c new file mode 100644 index 00000000..84f4d451 --- /dev/null +++ b/backends/arm_attrs.c @@ -0,0 +1,242 @@ +/* Object attribute tags for ARM. + Copyright (C) 2009 Red Hat, Inc. + This file is part of Red Hat elfutils. + + Red Hat elfutils 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; version 2 of the License. + + Red Hat 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 Red Hat elfutils; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. + + Red Hat elfutils is an included package of the Open Invention Network. + An included package of the Open Invention Network is a package for which + Open Invention Network licensees cross-license their patents. No patent + license is granted, either expressly or impliedly, by designation as an + included package. Should you wish to participate in the Open Invention + Network licensing program, please visit www.openinventionnetwork.com + <http://www.openinventionnetwork.com>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <string.h> +#include <dwarf.h> + +#define BACKEND arm_ +#include "libebl_CPU.h" + +#define KNOWN_VALUES(...) do \ + { \ + static const char *table[] = { __VA_ARGS__ }; \ + if (value < sizeof table / sizeof table[0]) \ + *value_name = table[value]; \ + } while (0) + +bool +arm_check_object_attribute (ebl, vendor, tag, value, tag_name, value_name) + Ebl *ebl __attribute__ ((unused)); + const char *vendor; + int tag; + uint64_t value __attribute__ ((unused)); + const char **tag_name; + const char **value_name; +{ + if (!strcmp (vendor, "aeabi")) + switch (tag) + { + case 4: + *tag_name = "CPU_raw_name"; + return true; + case 5: + *tag_name = "CPU_name"; + return true; + case 6: + *tag_name = "CPU_arch"; + KNOWN_VALUES ("Pre-v4", + "v4", + "v4T", + "v5T", + "v5TE", + "v5TEJ", + "v6", + "v6KZ", + "v6T2", + "v6K", + "v7", + "v6-M", + "v6S-M"); + return true; + case 7: + *tag_name = "CPU_arch_profile"; + switch (value) + { + case 'A': + *value_name = "Application"; + break; + case 'R': + *value_name = "Realtime"; + break; + case 'M': + *value_name = "Microcontroller"; + break; + } + return true; + case 8: + *tag_name = "ARM_ISA_use"; + KNOWN_VALUES ("No", "Yes"); + return true; + case 9: + *tag_name = "THUMB_ISA_use"; + KNOWN_VALUES ("No", "Thumb-1", "Thumb-2"); + return true; + case 10: + *tag_name = "VFP_arch"; + KNOWN_VALUES ("No", "VFPv1", "VFPv2", "VFPv3", "VFPv3-D16"); + return true; + case 11: + *tag_name = "WMMX_arch"; + KNOWN_VALUES ("No", "WMMXv1", "WMMXv2"); + return true; + case 12: + *tag_name = "Advanced_SIMD_arch"; + KNOWN_VALUES ("No", "NEONv1"); + return true; + case 13: + *tag_name = "PCS_config"; + KNOWN_VALUES ("None", + "Bare platform", + "Linux application", + "Linux DSO", + "PalmOS 2004", + "PalmOS (reserved)", + "SymbianOS 2004", + "SymbianOS (reserved)"); + return true; + case 14: + *tag_name = "ABI_PCS_R9_use"; + KNOWN_VALUES ("V6", "SB", "TLS", "Unused"); + return true; + case 15: + *tag_name = "ABI_PCS_RW_data"; + KNOWN_VALUES ("Absolute", "PC-relative", "SB-relative", "None"); + return true; + case 16: + *tag_name = "ABI_PCS_RO_data"; + KNOWN_VALUES ("Absolute", "PC-relative", "None"); + return true; + case 17: + *tag_name = "ABI_PCS_GOT_use"; + KNOWN_VALUES ("None", "direct", "GOT-indirect"); + return true; + case 18: + *tag_name = "ABI_PCS_wchar_t"; + return true; + case 19: + *tag_name = "ABI_FP_rounding"; + KNOWN_VALUES ("Unused", "Needed"); + return true; + case 20: + *tag_name = "ABI_FP_denormal"; + KNOWN_VALUES ("Unused", "Needed", "Sign only"); + return true; + case 21: + *tag_name = "ABI_FP_exceptions"; + KNOWN_VALUES ("Unused", "Needed"); + return true; + case 22: + *tag_name = "ABI_FP_user_exceptions"; + KNOWN_VALUES ("Unused", "Needed"); + return true; + case 23: + *tag_name = "ABI_FP_number_model"; + KNOWN_VALUES ("Unused", "Finite", "RTABI", "IEEE 754"); + return true; + case 24: + *tag_name = "ABI_align8_needed"; + KNOWN_VALUES ("No", "Yes", "4-byte"); + return true; + case 25: + *tag_name = "ABI_align8_preserved"; + KNOWN_VALUES ("No", "Yes, except leaf SP", "Yes"); + return true; + case 26: + *tag_name = "ABI_enum_size"; + KNOWN_VALUES ("Unused", "small", "int", "forced to int"); + return true; + case 27: + *tag_name = "ABI_HardFP_use"; + KNOWN_VALUES ("as VFP_arch", "SP only", "DP only", "SP and DP"); + return true; + case 28: + *tag_name = "ABI_VFP_args"; + KNOWN_VALUES ("AAPCS", "VFP registers", "custom"); + return true; + case 29: + *tag_name = "ABI_WMMX_args"; + KNOWN_VALUES ("AAPCS", "WMMX registers", "custom"); + return true; + case 30: + *tag_name = "ABI_optimization_goals"; + KNOWN_VALUES ("None", + "Prefer Speed", + "Aggressive Speed", + "Prefer Size", + "Aggressive Size", + "Prefer Debug", + "Aggressive Debug"); + return true; + case 31: + *tag_name = "ABI_FP_optimization_goals"; + KNOWN_VALUES ("None", + "Prefer Speed", + "Aggressive Speed", + "Prefer Size", + "Aggressive Size", + "Prefer Accuracy", + "Aggressive Accuracy"); + return true; + case 34: + *tag_name = "CPU_unaligned_access"; + KNOWN_VALUES ("None", "v6"); + return true; + case 36: + *tag_name = "VFP_HP_extension"; + KNOWN_VALUES ("Not Allowed", "Allowed"); + return true; + case 38: + *tag_name = "ABI_FP_16bit_format"; + KNOWN_VALUES ("None", "IEEE 754", "Alternative Format"); + return true; + case 64: + *tag_name = "nodefaults"; + return true; + case 65: + *tag_name = "also_compatible_with"; + return true; + case 66: + *tag_name = "T2EE_use"; + KNOWN_VALUES ("Not Allowed", "Allowed"); + return true; + case 67: + *tag_name = "conformance"; + return true; + case 68: + *tag_name = "Virtualization_use"; + KNOWN_VALUES ("Not Allowed", "Allowed"); + return true; + case 70: + *tag_name = "MPextension_use"; + KNOWN_VALUES ("Not Allowed", "Allowed"); + return true; + } + + return false; +} diff --git a/backends/arm_auxv.c b/backends/arm_auxv.c new file mode 100644 index 00000000..728f940d --- /dev/null +++ b/backends/arm_auxv.c @@ -0,0 +1,46 @@ +/* ARM-specific auxv handling. + Copyright (C) 2009 Red Hat, Inc. + This file is part of Red Hat elfutils. + + Red Hat elfutils 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; version 2 of the License. + + Red Hat 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 Red Hat elfutils; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. + + Red Hat elfutils is an included package of the Open Invention Network. + An included package of the Open Invention Network is a package for which + Open Invention Network licensees cross-license their patents. No patent + license is granted, either expressly or impliedly, by designation as an + included package. Should you wish to participate in the Open Invention + Network licensing program, please visit www.openinventionnetwork.com + <http://www.openinventionnetwork.com>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#define BACKEND arm_ +#include "libebl_CPU.h" + +int +EBLHOOK(auxv_info) (GElf_Xword a_type, const char **name, const char **format) +{ + if (a_type != AT_HWCAP) + return 0; + + *name = "HWCAP"; + *format = "b" + "swp\0" "half\0" "thumb\0" "26bit\0" + "fast-mult\0" "fpa\0" "vfp\0" "edsp\0" + "java\0" "iwmmxt\0" + "\0"; + return 1; +} diff --git a/backends/arm_corenote.c b/backends/arm_corenote.c new file mode 100644 index 00000000..6f2d3a3e --- /dev/null +++ b/backends/arm_corenote.c @@ -0,0 +1,73 @@ +/* ARM specific core note handling. + Copyright (C) 2009 Red Hat, Inc. + This file is part of Red Hat elfutils. + + Red Hat elfutils 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; version 2 of the License. + + Red Hat 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 Red Hat elfutils; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. + + Red Hat elfutils is an included package of the Open Invention Network. + An included package of the Open Invention Network is a package for which + Open Invention Network licensees cross-license their patents. No patent + license is granted, either expressly or impliedly, by designation as an + included package. Should you wish to participate in the Open Invention + Network licensing program, please visit www.openinventionnetwork.com + <http://www.openinventionnetwork.com>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <elf.h> +#include <inttypes.h> +#include <stddef.h> +#include <stdio.h> +#include <sys/time.h> + +#define BACKEND arm_ +#include "libebl_CPU.h" + + +static const Ebl_Register_Location prstatus_regs[] = + { + { .offset = 0, .regno = 0, .count = 16, .bits = 32 }, /* r0..r15 */ + { .offset = 16 * 4, .regno = 128, .count = 1, .bits = 32 }, /* cpsr */ + }; +#define PRSTATUS_REGS_SIZE (18 * 4) + +#define PRSTATUS_REGSET_ITEMS \ + { \ + .name = "orig_r0", .type = ELF_T_SWORD, .format = 'd', \ + .offset = offsetof (struct EBLHOOK(prstatus), pr_reg) + (4 * 17), \ + .group = "register" \ + } + +static const Ebl_Register_Location fpregset_regs[] = + { + { .offset = 0, .regno = 96, .count = 8, .bits = 96 }, /* f0..f7 */ + }; +#define FPREGSET_SIZE 140 + +#define ULONG uint32_t +#define PID_T int32_t +#define UID_T uint16_t +#define GID_T uint16_t +#define ALIGN_ULONG 4 +#define ALIGN_PID_T 4 +#define ALIGN_UID_T 2 +#define ALIGN_GID_T 2 +#define TYPE_ULONG ELF_T_WORD +#define TYPE_PID_T ELF_T_SWORD +#define TYPE_UID_T ELF_T_HALF +#define TYPE_GID_T ELF_T_HALF + +#include "linux-core-note.c" diff --git a/backends/arm_init.c b/backends/arm_init.c index 172af198..15c0ee67 100644 --- a/backends/arm_init.c +++ b/backends/arm_init.c @@ -1,5 +1,5 @@ /* Initialization of Arm specific backend library. - Copyright (C) 2002, 2005 Red Hat, Inc. + Copyright (C) 2002, 2005, 2009 Red Hat, Inc. This file is part of Red Hat elfutils. Written by Ulrich Drepper <[email protected]>, 2002. @@ -50,7 +50,15 @@ arm_init (elf, machine, eh, ehlen) /* We handle it. */ eh->name = "ARM"; arm_init_reloc (eh); + HOOK (eh, segment_type_name); + HOOK (eh, section_type_name); + HOOK (eh, machine_flag_check); HOOK (eh, reloc_simple_type); + HOOK (eh, register_info); + HOOK (eh, core_note); + HOOK (eh, auxv_info); + HOOK (eh, check_object_attribute); + HOOK (eh, return_value_location); return MODVERSION; } diff --git a/backends/arm_regs.c b/backends/arm_regs.c new file mode 100644 index 00000000..0a9536d4 --- /dev/null +++ b/backends/arm_regs.c @@ -0,0 +1,117 @@ +/* Register names and numbers for ARM DWARF. + Copyright (C) 2009 Red Hat, Inc. + This file is part of Red Hat elfutils. + + Red Hat elfutils 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; version 2 of the License. + + Red Hat 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 Red Hat elfutils; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. + + Red Hat elfutils is an included package of the Open Invention Network. + An included package of the Open Invention Network is a package for which + Open Invention Network licensees cross-license their patents. No patent + license is granted, either expressly or impliedly, by designation as an + included package. Should you wish to participate in the Open Invention + Network licensing program, please visit www.openinventionnetwork.com + <http://www.openinventionnetwork.com>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <string.h> +#include <dwarf.h> + +#define BACKEND arm_ +#include "libebl_CPU.h" + +ssize_t +arm_register_info (Ebl *ebl __attribute__ ((unused)), + int regno, char *name, size_t namelen, + const char **prefix, const char **setname, + int *bits, int *type) +{ + if (name == NULL) + return 320; + + if (regno < 0 || regno > 320 || namelen < 5) + return -1; + + *prefix = NULL; + *bits = 32; + *type = DW_ATE_signed; + *setname = "integer"; + + switch (regno) + { + case 0 ... 9: + name[0] = 'r'; + name[1] = regno + '0'; + namelen = 2; + break; + + case 10 ... 12: + name[0] = 'r'; + name[1] = '1'; + name[2] = regno % 10 + '0'; + namelen = 3; + break; + + case 13 ... 15: + *type = DW_ATE_address; + name[0] = "slp"[regno - 13]; + name[1] = "prc"[regno - 13]; + namelen = 2; + break; + + case 16 + 0 ... 16 + 7: + regno += 96 - 16; + /* Fall through. */ + case 96 + 0 ... 96 + 7: + *setname = "FPA"; + *type = DW_ATE_float; + *bits = 96; + name[0] = 'f'; + name[1] = regno - 96 + '0'; + namelen = 2; + break; + + case 128: + *type = DW_ATE_unsigned; + return stpcpy (name, "spsr") + 1 - name; + + case 256 + 0 ... 256 + 9: + *setname = "VFP"; + *type = DW_ATE_float; + *bits = 64; + name[0] = 'd'; + name[1] = regno - 256 + '0'; + namelen = 2; + break; + + case 256 + 10 ... 256 + 31: + *setname = "VFP"; + *type = DW_ATE_float; + *bits = 64; + name[0] = 'd'; + name[1] = (regno - 256) / 10 + '0'; + name[2] = (regno - 256) % 10 + '0'; + namelen = 3; + break; + + default: + *setname = NULL; + return 0; + } + + name[namelen++] = '\0'; + return namelen; +} diff --git a/backends/arm_retval.c b/backends/arm_retval.c new file mode 100644 index 00000000..4ffc6e7c --- /dev/null +++ b/backends/arm_retval.c @@ -0,0 +1,138 @@ +/* Function return value location for ARM EABI. + Copyright (C) 2009 Red Hat, Inc. + This file is part of Red Hat elfutils. + + Red Hat elfutils 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; version 2 of the License. + + Red Hat 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 Red Hat elfutils; if not, write to the Free Software Foundation, + Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA. + + Red Hat elfutils is an included package of the Open Invention Network. + An included package of the Open Invention Network is a package for which + Open Invention Network licensees cross-license their patents. No patent + license is granted, either expressly or impliedly, by designation as an + included package. Should you wish to participate in the Open Invention + Network licensing program, please visit www.openinventionnetwork.com + <http://www.openinventionnetwork.com>. */ + +#ifdef HAVE_CONFIG_H +# include <config.h> +#endif + +#include <assert.h> +#include <dwarf.h> + +#define BACKEND arm_ +#include "libebl_CPU.h" + + +/* r0, or pair r0, r1, or aggregate up to r0-r3. */ +static const Dwarf_Op loc_intreg[] = + { + { .atom = DW_OP_reg0 }, { .atom = DW_OP_piece, .number = 4 }, + { .atom = DW_OP_reg1 }, { .atom = DW_OP_piece, .number = 4 }, + { .atom = DW_OP_reg2 }, { .atom = DW_OP_piece, .number = 4 }, + { .atom = DW_OP_reg3 }, { .atom = DW_OP_piece, .number = 4 }, + }; +#define nloc_intreg 1 +#define nloc_intregs(n) (2 * (n)) + +/* The return value is a structure and is actually stored in stack space + passed in a hidden argument by the caller. But, the compiler + helpfully returns the address of that space in r0. */ +static const Dwarf_Op loc_aggregate[] = + { + { .atom = DW_OP_breg0, .number = 0 } + }; +#define nloc_aggregate 1 + + +int +arm_return_value_location (Dwarf_Die *functypedie, const Dwarf_Op **locp) +{ + /* Start with the function's type, and get the DW_AT_type attribute, + which is the type of the return value. */ + + Dwarf_Attribute attr_mem; + Dwarf_Attribute *attr = dwarf_attr_integrate (functypedie, DW_AT_type, + &attr_mem); + if (attr == NULL) + /* The function has no return value, like a `void' function in C. */ + return 0; + + Dwarf_Die die_mem; + Dwarf_Die *typedie = dwarf_formref_die (attr, &die_mem); + int tag = dwarf_tag (typedie); + + /* Follow typedefs and qualifiers to get to the actual type. */ + while (tag == DW_TAG_typedef + || tag == DW_TAG_const_type || tag == DW_TAG_volatile_type + || tag == DW_TAG_restrict_type || tag == DW_TAG_mutable_type) + { + attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem); + typedie = dwarf_formref_die (attr, &die_mem); + tag = dwarf_tag (typedie); + } + + Dwarf_Word size; + switch (tag) + { + case -1: + return -1; + + case DW_TAG_subrange_type: + if (! dwarf_hasattr_integrate (typedie, DW_AT_byte_size)) + { + attr = dwarf_attr_integrate (typedie, DW_AT_type, &attr_mem); + typedie = dwarf_formref_die (attr, &die_mem); + tag = dwarf_tag (typedie); + } + /* Fall through. */ + + case DW_TAG_base_type: + case DW_TAG_enumeration_type: + case DW_TAG_pointer_type: + case DW_TAG_ptr_to_member_type: + if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size, + &attr_mem), &size) != 0) + { + if (tag == DW_TAG_pointer_type || tag == DW_TAG_ptr_to_member_type) + size = 4; + else + return -1; + } + if (size <= 16) + { + intreg: + *locp = loc_intreg; + return size <= 4 ? nloc_intreg : nloc_intregs ((size + 3) / 4); + } + + aggregate: + *locp = loc_aggregate; + return nloc_aggregate; + + case DW_TAG_structure_type: + case DW_TAG_class_type: + case DW_TAG_union_type: + case DW_TAG_array_type: + if (dwarf_formudata (dwarf_attr_integrate (typedie, DW_AT_byte_size, + &attr_mem), &size) == 0 + && size > 0 && size <= 4) + goto intreg; + goto aggregate; + } + + /* XXX We don't have a good way to return specific errors from ebl calls. + This value means we do not understand the type, but it is well-formed + DWARF and might be valid. */ + return -2; +} diff --git a/backends/arm_symbol.c b/backends/arm_symbol.c index 6d2f56d3..e08874bb 100644 --- a/backends/arm_symbol.c +++ b/backends/arm_symbol.c @@ -1,7 +1,6 @@ /* Arm specific symbolic name handling. - Copyright (C) 2002, 2005 Red Hat, Inc. + Copyright (C) 2002-2009 Red Hat, Inc. This file is part of Red Hat elfutils. - Written by Ulrich Drepper <[email protected]>, 2002. Red Hat elfutils is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the @@ -34,6 +33,76 @@ #define BACKEND arm_ #include "libebl_CPU.h" + +const char * +arm_segment_type_name (int segment, char *buf __attribute__ ((unused)), + size_t len __attribute__ ((unused))) +{ + switch (segment) + { + case PT_ARM_EXIDX: + return "ARM_EXIDX"; + } + return NULL; +} + +/* Return symbolic representation of section type. */ +const char * +arm_section_type_name (int type, + char *buf __attribute__ ((unused)), + size_t len __attribute__ ((unused))) +{ + switch (type) + { + case SHT_ARM_EXIDX: + return "ARM_EXIDX"; + case SHT_ARM_PREEMPTMAP: + return "ARM_PREEMPTMAP"; + case SHT_ARM_ATTRIBUTES: + return "ARM_ATTRIBUTES"; + } + + return NULL; +} + +/* Check whether machine flags are valid. */ +bool +arm_machine_flag_check (GElf_Word flags) +{ + switch (flags & EF_ARM_EABIMASK) + { + case EF_ARM_EABI_UNKNOWN: + case EF_ARM_EABI_VER1: + case EF_ARM_EABI_VER2: + case EF_ARM_EABI_VER3: + case EF_ARM_EABI_VER4: + case EF_ARM_EABI_VER5: + break; + default: + return false; + } + + return ((flags &~ (EF_ARM_EABIMASK + | EF_ARM_RELEXEC + | EF_ARM_HASENTRY + | EF_ARM_INTERWORK + | EF_ARM_APCS_26 + | EF_ARM_APCS_FLOAT + | EF_ARM_PIC + | EF_ARM_ALIGN8 + | EF_ARM_NEW_ABI + | EF_ARM_OLD_ABI + | EF_ARM_SOFT_FLOAT + | EF_ARM_VFP_FLOAT + | EF_ARM_MAVERICK_FLOAT + | EF_ARM_SYMSARESORTED + | EF_ARM_DYNSYMSUSESEGIDX + | EF_ARM_MAPSYMSFIRST + | EF_ARM_EABIMASK + | EF_ARM_BE8 + | EF_ARM_LE8)) == 0); +} + /* Check for the simple reloc types. */ Elf_Type arm_reloc_simple_type (Ebl *ebl __attribute__ ((unused)), int type) diff --git a/backends/i386_corenote.c b/backends/i386_corenote.c index c371c4c3..89890252 100644 --- a/backends/i386_corenote.c +++ b/backends/i386_corenote.c @@ -1,5 +1,5 @@ /* i386 specific core note handling. - Copyright (C) 2007, 2008 Red Hat, Inc. + Copyright (C) 2007-2009 Red Hat, Inc. This file is part of Red Hat elfutils. Red Hat elfutils is free software; you can redistribute it and/or modify @@ -101,7 +101,7 @@ static const Ebl_Register_Location prxfpreg_regs[] = }; #define EXTRA_NOTES \ - EXTRA_REGSET (NT_PRFPXREG, 512, prxfpreg_regs) \ + EXTRA_REGSET (NT_PRXFPREG, 512, prxfpreg_regs) \ case NT_386_TLS: \ return tls_info (descsz, regs_offset, nregloc, reglocs, nitems, items); \ EXTRA_NOTES_IOPERM diff --git a/backends/ia64_symbol.c b/backends/ia64_symbol.c index 2609db0f..1edef8b5 100644 --- a/backends/ia64_symbol.c +++ b/backends/ia64_symbol.c @@ -1,5 +1,5 @@ /* IA-64 specific symbolic name handling. - Copyright (C) 2002, 2003, 2005, 2006, 2007 Red Hat, Inc. + Copyright (C) 2002-2009 Red Hat, Inc. This file is part of Red Hat elfutils. Written by Ulrich Drepper <[email protected]>, 2002. @@ -102,9 +102,9 @@ ia64_section_type_name (int type, switch (type) { case SHT_IA_64_EXT: - return "SHT_IA_64_EXT"; + return "IA_64_EXT"; case SHT_IA_64_UNWIND: - return "SHT_IA_64_UNWIND"; + return "IA_64_UNWIND"; } return NULL; diff --git a/config/ChangeLog b/config/ChangeLog index 1ac65534..798a2f93 100644 --- a/config/ChangeLog +++ b/config/ChangeLog @@ -1,3 +1,12 @@ +2009-04-19 Roland McGrath <[email protected]> + + * version.h.in: Revert last change. + +2009-04-17 Roland McGrath <[email protected]> + + * version.h.in (_ELFUTILS_PREREQ): Multiple major by 1000000 and minor + by 1000; now _ELFUTILS_VERSION is 789000 for version 0.789. + 2009-01-22 Ulrich Drepper <[email protected]> * elfutils.spec.in: Distribute <elfutils/version.h> in diff --git a/configure.ac b/configure.ac index 9013c9a5..aeb40d11 100644 --- a/configure.ac +++ b/configure.ac @@ -16,13 +16,13 @@ dnl You should have received a copy of the GNU General Public License dnl along with this program; if not, write to the Free Software Foundation, dnl Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301, USA. dnl -AC_INIT([Red Hat elfutils],[0.140],[http://bugzilla.redhat.com/bugzilla/], +AC_INIT([Red Hat elfutils],[0.140.90],[http://bugzilla.redhat.com/bugzilla/], [elfutils]) AC_CONFIG_AUX_DIR([config]) AC_CONFIG_FILES([config/Makefile]) -AC_COPYRIGHT([Copyright (C) 1996-2008, 2009 Red Hat, Inc.]) +AC_COPYRIGHT([Copyright (C) 1996-2009 Red Hat, Inc.]) AC_PREREQ(2.59) dnl Minimum Autoconf version required. dnl We use GNU make extensions; automake 1.10 defaults to -Wportability. @@ -259,12 +259,38 @@ AH_BOTTOM([#include <eu-config.h>]) dnl Version compatibility header. AC_CONFIG_FILES([version.h:config/version.h.in]) AC_SUBST([eu_version]) -case $PACKAGE_VERSION in -0.???) eu_version=${PACKAGE_VERSION#0.} ;; -?.???) eu_version=${PACKAGE_VERSION/./} ;; -?.??) eu_version=${PACKAGE_VERSION/./}0 ;; -?.?) eu_version=${PACKAGE_VERSION/./}00 ;; -*) AC_MSG_ERROR([confused by version number '$PACKAGE_VERSION']) ;; + +# 1.234<whatever> -> 1234<whatever> +case "$PACKAGE_VERSION" in +[[0-9]].*) eu_version="${PACKAGE_VERSION/./}" ;; +*) AC_MSG_ERROR([confused by version number '$PACKAGE_VERSION']) ;; +esac +case "$eu_version" in +*.*) + # 1234.567 -> "1234", "567" + eu_extra_version="${eu_version#*.}" + eu_version="${eu_version%%.*}" + case "$eu_extra_version" in + [[0-9]][[0-9]][[0-9]]) ;; + [[0-9]][[0-9]]) eu_extra_version="${eu_extra_version}0" ;; + [[0-9]]) eu_extra_version="${eu_extra_version}00" ;; + *) AC_MSG_ERROR([confused by version number '$PACKAGE_VERSION']) ;; + esac + ;; +*) + eu_extra_version=000 + ;; esac +case "$eu_version" in + 0[[0-9]][[0-9]][[0-9]]) eu_version="${eu_version#0}$eu_extra_version" ;; +[[0-9]][[0-9]][[0-9]][[0-9]]) eu_version="${eu_version}$eu_extra_version" ;; +[[0-9]][[0-9]][[0-9]]) eu_version="${eu_version}0$eu_extra_version" ;; +[[0-9]][[0-9]]) eu_version="${eu_version}00$eu_extra_version";; +*) AC_MSG_ERROR([confused by version number '$PACKAGE_VERSION']) ;; +esac + +# Round up to the next release API (x.y) version. +[eu_version=$[($eu_version + 999) / 1000]] + AC_OUTPUT diff --git a/libcpu/ChangeLog b/libcpu/ChangeLog index 12400f6b..738af57a 100644 --- a/libcpu/ChangeLog +++ b/libcpu/ChangeLog @@ -1,3 +1,8 @@ +2009-04-14 Roland McGrath <[email protected]> + + * Makefile.am (AM_CFLAGS): Add -fdollars-in-identifiers; it is not the + default on every machine. + 2009-01-23 Roland McGrath <[email protected]> * Makefile.am (i386_parse_CFLAGS): Use quotes around command diff --git a/libcpu/Makefile.am b/libcpu/Makefile.am index e47dc0b0..923556f6 100644 --- a/libcpu/Makefile.am +++ b/libcpu/Makefile.am @@ -31,6 +31,7 @@ else AM_CFLAGS = endif AM_CFLAGS += -Wall -Wshadow -Wunused -Wextra -std=gnu99 -fpic \ + -fdollars-in-identifiers \ $($(*F)_CFLAGS) \ $(if $($(*F)_no_Werror),,-Werror) INCLUDES = -I$(srcdir) -I$(srcdir)/../lib -I$(srcdir)/../libelf \ diff --git a/libdw/ChangeLog b/libdw/ChangeLog index 05631711..8e92fe7d 100644 --- a/libdw/ChangeLog +++ b/libdw/ChangeLog @@ -3,6 +3,11 @@ * libdwP.h (IDX_eh_frame): Remove it. * dwarf_begin_elf.c (dwarf_scnnames): Remove its element. +2009-04-15 Roland McGrath <[email protected]> + + * dwarf.h (DW_CIE_ID): Removed. + (DW_CIE_ID_32, DW_CIE_ID_64): New constants replace it. + 2009-04-01 Roland McGrath <[email protected]> * dwarf.h: Add DW_CFA_GNU_negative_offset_extended. diff --git a/libdw/dwarf.h b/libdw/dwarf.h index 3b9d40c9..0546e3eb 100644 --- a/libdw/dwarf.h +++ b/libdw/dwarf.h @@ -677,7 +677,8 @@ enum /* ID indicating CIE as opposed to FDE in .debug_frame. */ enum { - DW_CIE_ID = 0xffffffff + DW_CIE_ID_32 = 0xffffffffU, /* In 32-bit format CIE header. */ + DW_CIE_ID_64 = 0xffffffffffffffffULL /* In 64-bit format CIE header. */ }; diff --git a/libdwfl/ChangeLog b/libdwfl/ChangeLog index f4ae338b..1de4d665 100644 --- a/libdwfl/ChangeLog +++ b/libdwfl/ChangeLog @@ -6,6 +6,26 @@ * dwfl_addrframe.c: New file. * Makefile.am (libdwfl_a_SOURCES): Add them. +2009-04-14 Roland McGrath <[email protected]> + + * dwfl_segment_report_module.c: Handle DT_STRTAB value being either + absolute (already adjusted in place) or needing load bias adjustment. + + * core-file.c (dwfl_elf_phdr_memory_callback): Fix return value for + gelf_getphdr failure. Fix file size limit checks. + + * dwfl_segment_report_module.c: Fix underflow in DYNSTRSZ check. + +2009-04-08 Roland McGrath <[email protected]> + + * dwfl_module_getsym.c: Don't adjust for bias again after + __libdwfl_relocate_value. + + * relocate.c (__libdwfl_relocate_value): Don't adjust a value from + a non-SHF_ALLOC section. + (relocate_getsym): Test st_shndx for SHN_* values, not *SHNDX. + * dwfl_module_getsym.c (dwfl_module_getsym): Likewise. + 2009-03-09 Roland McGrath <[email protected]> * dwfl_module_build_id.c (__libdwfl_find_build_id): Move SHSTRNDX diff --git a/libdwfl/core-file.c b/libdwfl/core-file.c index bc881eb9..77f208cc 100644 --- a/libdwfl/core-file.c +++ b/libdwfl/core-file.c @@ -1,5 +1,5 @@ /* Core file handling. - Copyright (C) 2008 Red Hat, Inc. + Copyright (C) 2008, 2009 Red Hat, Inc. This file is part of Red Hat elfutils. Red Hat elfutils is free software; you can redistribute it and/or modify @@ -278,7 +278,7 @@ dwfl_elf_phdr_memory_callback (Dwfl *dwfl, int ndx, do if (unlikely (gelf_getphdr (elf, ndx++, &phdr) == NULL)) - return true; + return false; while (phdr.p_type != PT_LOAD || ((phdr.p_vaddr + phdr.p_memsz + align - 1) & -align) <= vaddr); @@ -320,8 +320,14 @@ dwfl_elf_phdr_memory_callback (Dwfl *dwfl, int ndx, if (elf->map_address != NULL) (void) more (elf->maximum_size - start); - if (unlikely (end - start > elf->maximum_size)) - end = start + elf->maximum_size; + /* Make sure we don't look past the end of the actual file, + even if the headers tell us to. */ + if (unlikely (end > elf->maximum_size)) + end = elf->maximum_size; + + /* If the file is too small, there is nothing at all to get. */ + if (unlikely (start >= end)) + return false; if (elf->map_address != NULL) { diff --git a/libdwfl/dwfl_module_getsym.c b/libdwfl/dwfl_module_getsym.c index 5f289ccb..816d2143 100644 --- a/libdwfl/dwfl_module_getsym.c +++ b/libdwfl/dwfl_module_getsym.c @@ -1,5 +1,5 @@ /* Find debugging and symbol information for a module in libdwfl. - Copyright (C) 2006,2007 Red Hat, Inc. + Copyright (C) 2006,2007,2009 Red Hat, Inc. This file is part of Red Hat elfutils. Red Hat elfutils is free software; you can redistribute it and/or modify @@ -75,9 +75,22 @@ dwfl_module_getsym (Dwfl_Module *mod, int ndx, shndx = sym->st_shndx; if (shndxp != NULL) - *shndxp = shndx; + { + *shndxp = shndx; + + /* Yield -1 in case of a non-SHF_ALLOC section. */ + if (sym->st_shndx == SHN_XINDEX + || (sym->st_shndx < SHN_LORESERVE && sym->st_shndx != SHN_UNDEF)) + { + GElf_Shdr shdr_mem; + GElf_Shdr *shdr = gelf_getshdr (elf_getscn (mod->symfile->elf, shndx), + &shdr_mem); + if (unlikely (shdr == NULL) || !(shdr->sh_flags & SHF_ALLOC)) + *shndxp = (GElf_Word) -1; + } + } - switch (shndx) + switch (sym->st_shndx) { case SHN_ABS: case SHN_UNDEF: @@ -99,8 +112,9 @@ dwfl_module_getsym (Dwfl_Module *mod, int ndx, return NULL; } } - /* Apply the bias to the symbol value. */ - sym->st_value += mod->symfile->bias; + else + /* Apply the bias to the symbol value. */ + sym->st_value += mod->symfile->bias; break; } diff --git a/libdwfl/dwfl_segment_report_module.c b/libdwfl/dwfl_segment_report_module.c index a6639be5..10787bdc 100644 --- a/libdwfl/dwfl_segment_report_module.c +++ b/libdwfl/dwfl_segment_report_module.c @@ -519,13 +519,28 @@ dwfl_segment_report_module (Dwfl *dwfl, int ndx, const char *name, size_t soname_size = 0; if (dynstrsz != 0 && dynstr_vaddr != 0) { - /* We know the bounds of the .dynstr section. */ - dynstr_vaddr += bias; + /* We know the bounds of the .dynstr section. + + The DYNSTR_VADDR pointer comes from the .dynamic section + (DT_STRTAB, detected above). Ordinarily the dynamic linker + will have adjusted this pointer in place so it's now an + absolute address. But sometimes .dynamic is read-only (in + vDSOs and odd architectures), and sometimes the adjustment + just hasn't happened yet in the memory image we looked at. + So treat DYNSTR_VADDR as an absolute address if it falls + within the module bounds, or try applying the phdr bias + when that adjusts it to fall within the module bounds. */ + + if ((dynstr_vaddr < module_start || dynstr_vaddr >= module_end) + && dynstr_vaddr + bias >= module_start + && dynstr_vaddr + bias < module_end) + dynstr_vaddr += bias; + if (unlikely (dynstr_vaddr + dynstrsz > module_end)) dynstrsz = 0; /* Try to get the DT_SONAME string. */ - if (soname_stroff != 0 && soname_stroff < dynstrsz - 1 + if (soname_stroff != 0 && soname_stroff + 1 < dynstrsz && ! read_portion (&soname, &soname_size, dynstr_vaddr + soname_stroff, 0)) name = soname; diff --git a/libdwfl/libdwfl.h b/libdwfl/libdwfl.h index b6ae7765..91d43802 100644 --- a/libdwfl/libdwfl.h +++ b/libdwfl/libdwfl.h @@ -1,5 +1,5 @@ /* Interfaces for libdwfl. - Copyright (C) 2005, 2006, 2007, 2008 Red Hat, Inc. + Copyright (C) 2005-2009 Red Hat, Inc. This file is part of Red Hat elfutils. Red Hat elfutils is free software; you can redistribute it and/or modify @@ -423,10 +423,11 @@ extern int dwfl_module_getsymtab (Dwfl_Module *mod); /* Fetch one entry from the module's symbol table. On errors, returns NULL. If successful, fills in *SYM and returns the string for st_name. - This works like gelf_getsym except that st_value is always adjusted - to an absolute value based on the module's location. If SHNDXP is - non-null, it's set with the section index (whether from st_shndx or - extended index table). */ + This works like gelf_getsym except that st_value is always adjusted to + an absolute value based on the module's location, when the symbol is in + an SHF_ALLOC section. If SHNDXP is non-null, it's set with the section + index (whether from st_shndx or extended index table); in case of a + symbol in a non-allocated section, *SHNDXP is instead set to -1. */ extern const char *dwfl_module_getsym (Dwfl_Module *mod, int ndx, GElf_Sym *sym, GElf_Word *shndxp) __nonnull_attribute__ (3); diff --git a/libdwfl/link_map.c b/libdwfl/link_map.c index 30fb445a..2d4d75f1 100644 --- a/libdwfl/link_map.c +++ b/libdwfl/link_map.c @@ -585,7 +585,6 @@ consider_executable (Dwfl_Module *mod, GElf_Addr at_phdr, GElf_Addr at_entry, (*memory_callback) (mod->dwfl, -1, &buffer, &buffer_available, 0, 0, memory_callback_arg); - if (*elfclass == ELFCLASSNONE) *elfclass = ehdr.e_ident[EI_CLASS]; else if (*elfclass != ehdr.e_ident[EI_CLASS]) diff --git a/libdwfl/relocate.c b/libdwfl/relocate.c index ef1daeee..e809a979 100644 --- a/libdwfl/relocate.c +++ b/libdwfl/relocate.c @@ -95,8 +95,10 @@ __libdwfl_relocate_value (Dwfl_Module *mod, Elf *elf, size_t *shstrndx, return DWFL_E_LIBELF; } - /* Apply the adjustment. */ - *value += refshdr->sh_addr + mod->main.bias; + if (refshdr->sh_flags & SHF_ALLOC) + /* Apply the adjustment. */ + *value += refshdr->sh_addr + mod->main.bias; + return DWFL_E_NOERROR; } @@ -183,7 +185,7 @@ relocate_getsym (Dwfl_Module *mod, if (sym->st_shndx != SHN_XINDEX) *shndx = sym->st_shndx; - switch (*shndx) + switch (sym->st_shndx) { case SHN_ABS: case SHN_UNDEF: diff --git a/libelf/ChangeLog b/libelf/ChangeLog index d3b2b1e8..bfc3ee5f 100644 --- a/libelf/ChangeLog +++ b/libelf/ChangeLog @@ -1,3 +1,7 @@ +2009-04-14 Roland McGrath <[email protected]> + + * elf.h: Update from glibc. + 2009-04-01 Roland McGrath <[email protected]> * elf.h: Update from glibc. diff --git a/libelf/elf.h b/libelf/elf.h index 62593502..062ef00f 100644 --- a/libelf/elf.h +++ b/libelf/elf.h @@ -2205,42 +2205,62 @@ typedef Elf32_Addr Elf32_Conflict; /* ARM specific declarations */ /* Processor specific flags for the ELF header e_flags field. */ -#define EF_ARM_RELEXEC 0x01 -#define EF_ARM_HASENTRY 0x02 -#define EF_ARM_INTERWORK 0x04 -#define EF_ARM_APCS_26 0x08 -#define EF_ARM_APCS_FLOAT 0x10 -#define EF_ARM_PIC 0x20 -#define EF_ARM_ALIGN8 0x40 /* 8-bit structure alignment is in use */ -#define EF_ARM_NEW_ABI 0x80 -#define EF_ARM_OLD_ABI 0x100 +#define EF_ARM_RELEXEC 0x01 +#define EF_ARM_HASENTRY 0x02 +#define EF_ARM_INTERWORK 0x04 +#define EF_ARM_APCS_26 0x08 +#define EF_ARM_APCS_FLOAT 0x10 +#define EF_ARM_PIC 0x20 +#define EF_ARM_ALIGN8 0x40 /* 8-bit structure alignment is in use */ +#define EF_ARM_NEW_ABI 0x80 +#define EF_ARM_OLD_ABI 0x100 +#define EF_ARM_SOFT_FLOAT 0x200 +#define EF_ARM_VFP_FLOAT 0x400 +#define EF_ARM_MAVERICK_FLOAT 0x800 + /* Other constants defined in the ARM ELF spec. version B-01. */ /* NB. These conflict with values defined above. */ #define EF_ARM_SYMSARESORTED 0x04 -#define EF_ARM_DYNSYMSUSESEGIDX 0x08 +#define EF_ARM_DYNSYMSUSESEGIDX 0x08 #define EF_ARM_MAPSYMSFIRST 0x10 #define EF_ARM_EABIMASK 0XFF000000 -#define EF_ARM_EABI_VERSION(flags) ((flags) & EF_ARM_EABIMASK) -#define EF_ARM_EABI_UNKNOWN 0x00000000 -#define EF_ARM_EABI_VER1 0x01000000 -#define EF_ARM_EABI_VER2 0x02000000 +/* Constants defined in AAELF. */ +#define EF_ARM_BE8 0x00800000 +#define EF_ARM_LE8 0x00400000 + +#define EF_ARM_EABI_VERSION(flags) ((flags) & EF_ARM_EABIMASK) +#define EF_ARM_EABI_UNKNOWN 0x00000000 +#define EF_ARM_EABI_VER1 0x01000000 +#define EF_ARM_EABI_VER2 0x02000000 +#define EF_ARM_EABI_VER3 0x03000000 +#define EF_ARM_EABI_VER4 0x04000000 +#define EF_ARM_EABI_VER5 0x05000000 -/* Additional symbol types for Thumb */ -#define STT_ARM_TFUNC 0xd +/* Additional symbol types for Thumb. */ +#define STT_ARM_TFUNC STT_LOPROC /* A Thumb function. */ +#define STT_ARM_16BIT STT_HIPROC /* A Thumb label. */ /* ARM-specific values for sh_flags */ -#define SHF_ARM_ENTRYSECT 0x10000000 /* Section contains an entry point */ -#define SHF_ARM_COMDEF 0x80000000 /* Section may be multiply defined - in the input to a link step */ +#define SHF_ARM_ENTRYSECT 0x10000000 /* Section contains an entry point */ +#define SHF_ARM_COMDEF 0x80000000 /* Section may be multiply defined + in the input to a link step. */ /* ARM-specific program header flags */ -#define PF_ARM_SB 0x10000000 /* Segment contains the location - addressed by the static base */ +#define PF_ARM_SB 0x10000000 /* Segment contains the location + addressed by the static base. */ +#define PF_ARM_PI 0x20000000 /* Position-independent segment. */ +#define PF_ARM_ABS 0x40000000 /* Absolute segment. */ /* Processor specific values for the Phdr p_type field. */ -#define PT_ARM_EXIDX 0x70000001 /* .ARM.exidx segment */ +#define PT_ARM_EXIDX (PT_LOPROC + 1) /* ARM unwind segment. */ + +/* Processor specific values for the Shdr sh_type field. */ +#define SHT_ARM_EXIDX (SHT_LOPROC + 1) /* ARM unwind section. */ +#define SHT_ARM_PREEMPTMAP (SHT_LOPROC + 2) /* Preemption details. */ +#define SHT_ARM_ATTRIBUTES (SHT_LOPROC + 3) /* ARM attributes section. */ + /* ARM relocs. */ diff --git a/po/de.po b/po/de.po new file mode 100644 index 00000000..fd9917a4 --- /dev/null +++ b/po/de.po @@ -0,0 +1,5676 @@ +# German translation of elfutils. +# Copyright (C) 2009 THE elfutils'S COPYRIGHT HOLDER +# This file is distributed under the same license as the elfutils package. +# Thomas Spura <[email protected]>, 2009. +# Cornelius Neckenig <[email protected]>, 2009. +# , fuzzy +# +# +msgid "" +msgstr "" +"Project-Id-Version: elfutils VERSION\n" +"Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" +"POT-Creation-Date: 2009-04-18 19:12+0000\n" +"PO-Revision-Date: 2009-04-18 22:42+0100\n" +"Last-Translator: Cornelius Neckenig <[email protected]>\n" +"Language-Team: German\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../lib/xmalloc.c:51 +#: ../lib/xmalloc.c:65 +#: ../lib/xmalloc.c:79 +#: ../src/readelf.c:2703 +#: ../src/readelf.c:3041 +#: ../src/unstrip.c:2086 +#: ../src/unstrip.c:2294 +#, c-format +msgid "memory exhausted" +msgstr "Kein Speicher mehr verfügbar" + +#: ../libelf/elf_error.c:81 +#: ../libasm/asm_error.c:62 +#: ../libdw/dwarf_error.c:79 +msgid "no error" +msgstr "kein Fehler" + +#: ../libelf/elf_error.c:84 +#: ../libasm/asm_error.c:81 +#: ../libdw/dwarf_error.c:80 +msgid "unknown error" +msgstr "unbekannter Fehler" + +#: ../libelf/elf_error.c:88 +msgid "unknown version" +msgstr "unbekannte Version" + +#: ../libelf/elf_error.c:92 +msgid "unknown type" +msgstr "unbekannter Typ" + +#: ../libelf/elf_error.c:96 +msgid "invalid `Elf' handle" +msgstr "" + +#: ../libelf/elf_error.c:100 +msgid "invalid size of source operand" +msgstr "" + +#: ../libelf/elf_error.c:104 +msgid "invalid size of destination operand" +msgstr "" + +#: ../libelf/elf_error.c:108 +#: ../src/readelf.c:4592 +#, c-format +msgid "invalid encoding" +msgstr "ungültige Kodierung" + +#: ../libelf/elf_error.c:112 +#: ../libasm/asm_error.c:63 +#: ../libdw/dwarf_error.c:88 +msgid "out of memory" +msgstr "" + +#: ../libelf/elf_error.c:116 +msgid "invalid file descriptor" +msgstr "" + +#: ../libelf/elf_error.c:120 +msgid "invalid operation" +msgstr "ungültige Operation" + +#: ../libelf/elf_error.c:124 +msgid "ELF version not set" +msgstr "" + +#: ../libelf/elf_error.c:128 +#: ../libelf/elf_error.c:176 +#: ../libdw/dwarf_error.c:90 +msgid "invalid command" +msgstr "Ungültiger Befehl" + +#: ../libelf/elf_error.c:132 +#: ../libelf/elf_error.c:192 +msgid "offset out of range" +msgstr "" + +#: ../libelf/elf_error.c:136 +msgid "invalid fmag field in archive header" +msgstr "" + +#: ../libelf/elf_error.c:140 +msgid "invalid archive file" +msgstr "Ungültige Archiv-Datei" + +#: ../libelf/elf_error.c:144 +msgid "descriptor is not for an archive" +msgstr "" + +#: ../libelf/elf_error.c:148 +msgid "no index available" +msgstr "" + +#: ../libelf/elf_error.c:152 +msgid "cannot read data from file" +msgstr "Daten aus der Datei konnten nicht gelesen werden" + +#: ../libelf/elf_error.c:156 +msgid "cannot write data to file" +msgstr "Daten konnten nicht in die Datei geschrieben werden" + +#: ../libelf/elf_error.c:160 +msgid "invalid binary class" +msgstr "" + +#: ../libelf/elf_error.c:164 +msgid "invalid section index" +msgstr "" + +#: ../libelf/elf_error.c:168 +msgid "invalid operand" +msgstr "" + +#: ../libelf/elf_error.c:172 +msgid "invalid section" +msgstr "" + +#: ../libelf/elf_error.c:180 +msgid "executable header not created first" +msgstr "" + +#: ../libelf/elf_error.c:184 +msgid "file descriptor disabled" +msgstr "" + +#: ../libelf/elf_error.c:188 +msgid "archive/member fildes mismatch" +msgstr "" + +#: ../libelf/elf_error.c:196 +msgid "cannot manipulate null section" +msgstr "" + +#: ../libelf/elf_error.c:200 +msgid "data/scn mismatch" +msgstr "" + +#: ../libelf/elf_error.c:204 +msgid "invalid section header" +msgstr "" + +#: ../libelf/elf_error.c:208 +#: ../src/readelf.c:6062 +#: ../src/readelf.c:6163 +#, c-format +msgid "invalid data" +msgstr "Ungültige Daten" + +#: ../libelf/elf_error.c:212 +msgid "unknown data encoding" +msgstr "Unbekannte Datenkodierung" + +#: ../libelf/elf_error.c:216 +msgid "section `sh_size' too small for data" +msgstr "" + +#: ../libelf/elf_error.c:220 +msgid "invalid section alignment" +msgstr "" + +#: ../libelf/elf_error.c:224 +msgid "invalid section entry size" +msgstr "" + +#: ../libelf/elf_error.c:228 +msgid "update() for write on read-only file" +msgstr "" + +#: ../libelf/elf_error.c:232 +msgid "no such file" +msgstr "Datei nicht gefunden" + +#: ../libelf/elf_error.c:236 +msgid "only relocatable files can contain section groups" +msgstr "" + +#: ../libelf/elf_error.c:241 +msgid "program header only allowed in executables, shared objects, and core files" +msgstr "" + +#: ../libelf/elf_error.c:248 +msgid "file has no program header" +msgstr "Datei hat keinen Programm-Kopf" + +#: ../libelf/elf_error.c:253 +#: ../libdw/dwarf_error.c:112 +msgid "invalid offset" +msgstr "" + +#: ../libasm/asm_error.c:64 +#: ../src/ldgeneric.c:2687 +#, c-format +msgid "cannot create output file" +msgstr "Ausgangsdatei konnte nicht erstellt werden" + +#: ../libasm/asm_error.c:65 +msgid "invalid parameter" +msgstr "ungültiger Parameter" + +#: ../libasm/asm_error.c:66 +msgid "cannot change mode of output file" +msgstr "" + +#. Something went wrong. +#: ../libasm/asm_error.c:67 +#: ../src/ldgeneric.c:7001 +#, c-format +msgid "cannot rename output file" +msgstr "Ausgangsdatei konnte nicht umbenannt werden" + +#: ../libasm/asm_error.c:68 +msgid "duplicate symbol" +msgstr "Symbol doppelt vorhanden" + +#: ../libasm/asm_error.c:69 +msgid "invalid section type for operation" +msgstr "" + +#: ../libasm/asm_error.c:70 +msgid "error during output of data" +msgstr "Fehler bei Datenausgabe" + +#: ../libasm/asm_error.c:71 +msgid "no backend support available" +msgstr "" + +#: ../libdw/dwarf_error.c:81 +msgid "invalid access" +msgstr "Ungültiger Zugriff" + +#: ../libdw/dwarf_error.c:82 +msgid "no regular file" +msgstr "Keine reguläre Date" + +#: ../libdw/dwarf_error.c:83 +msgid "I/O error" +msgstr "I/O Fehler" + +#: ../libdw/dwarf_error.c:84 +msgid "invalid ELF file" +msgstr "Ungültige ELF Datei" + +#: ../libdw/dwarf_error.c:85 +msgid "no DWARF information" +msgstr "keine DWARF Information" + +#: ../libdw/dwarf_error.c:86 +msgid "no ELF file" +msgstr "keine ELF Datei" + +#: ../libdw/dwarf_error.c:87 +msgid "cannot get ELF header" +msgstr "ELF Kopf konnte nicht ausgelesen werden" + +#: ../libdw/dwarf_error.c:89 +msgid "not implemented" +msgstr "Nicht implementiert" + +#: ../libdw/dwarf_error.c:91 +msgid "invalid version" +msgstr "Ungültige Version" + +#: ../libdw/dwarf_error.c:92 +msgid "invalid file" +msgstr "Ungültige Datei" + +#: ../libdw/dwarf_error.c:93 +msgid "no entries found" +msgstr "Keine Einträge gefunden" + +#: ../libdw/dwarf_error.c:94 +msgid "invalid DWARF" +msgstr "DWARF ungültig" + +#: ../libdw/dwarf_error.c:95 +msgid "no string data" +msgstr "" + +#: ../libdw/dwarf_error.c:96 +msgid "no address value" +msgstr "Kein Adress-Wert" + +#: ../libdw/dwarf_error.c:97 +msgid "no constant value" +msgstr "Kein Konstanten-Wert" + +#: ../libdw/dwarf_error.c:98 +msgid "no reference value" +msgstr "Kein Referenz-Wert" + +#: ../libdw/dwarf_error.c:99 +msgid "invalid reference value" +msgstr "Ungültiger Referenz-Wert" + +#: ../libdw/dwarf_error.c:100 +msgid ".debug_line section missing" +msgstr ".debug_line Sektion fehlt" + +#: ../libdw/dwarf_error.c:101 +msgid "invalid .debug_line section" +msgstr "ungültige .debug_line Sektion" + +#: ../libdw/dwarf_error.c:102 +msgid "debug information too big" +msgstr "Debug Information zu groß" + +#: ../libdw/dwarf_error.c:103 +msgid "invalid DWARF version" +msgstr "Ungültige DWARF Version" + +#: ../libdw/dwarf_error.c:104 +msgid "invalid directory index" +msgstr "" + +#: ../libdw/dwarf_error.c:105 +msgid "address out of range" +msgstr "Außerhalb des Adressbereiches" + +#: ../libdw/dwarf_error.c:106 +msgid "no location list value" +msgstr "" + +#: ../libdw/dwarf_error.c:107 +msgid "no block data" +msgstr "" + +#: ../libdw/dwarf_error.c:108 +msgid "invalid line index" +msgstr "Ungültiger Zeilenindex" + +#: ../libdw/dwarf_error.c:109 +msgid "invalid address range index" +msgstr "Ungültiger Adressbereichs Index" + +#: ../libdw/dwarf_error.c:110 +msgid "no matching address range" +msgstr "Kein passender Adressbereich" + +#: ../libdw/dwarf_error.c:111 +msgid "no flag value" +msgstr "" + +#: ../libdw/dwarf_error.c:113 +msgid ".debug_ranges section missing" +msgstr "" + +#: ../libdwfl/argp-std.c:67 +#: ../src/unstrip.c:2236 +msgid "Input selection options:" +msgstr "Eingabeauswahloptionen:" + +#: ../libdwfl/argp-std.c:68 +msgid "Find addresses in FILE" +msgstr "Finde Adressen in FILE" + +#: ../libdwfl/argp-std.c:70 +msgid "Find addresses from signatures found in COREFILE" +msgstr "Finde Adressen von Signatur aus COREFILE" + +#: ../libdwfl/argp-std.c:72 +msgid "Find addresses in files mapped into process PID" +msgstr "" + +#: ../libdwfl/argp-std.c:74 +msgid "Find addresses in files mapped as read from FILE in Linux /proc/PID/maps format" +msgstr "" + +#: ../libdwfl/argp-std.c:76 +msgid "Find addresses in the running kernel" +msgstr "Finde Adressen im laufnenden Kernel" + +#: ../libdwfl/argp-std.c:78 +msgid "Kernel with all modules" +msgstr "Kernel mit allen Modulen" + +#: ../libdwfl/argp-std.c:80 +msgid "Search path for separate debuginfo files" +msgstr "Dateisuchpfad für separate Debug-Informationen" + +#: ../libdwfl/argp-std.c:163 +msgid "only one of -e, -p, -k, -K, or --core allowed" +msgstr "Nur eine Option von -e, -p, -k, -K, oder --core erlaubt" + +#: ../libdwfl/argp-std.c:223 +#, c-format +msgid "cannot read ELF core file: %s" +msgstr "Konnte ELF Kerndatei %s nicht lesen" + +#: ../libdwfl/argp-std.c:243 +msgid "No modules recognized in core file" +msgstr "Keine Module in der Kerndatei gefunden" + +#: ../libdwfl/argp-std.c:255 +msgid "cannot load kernel symbols" +msgstr "Konnte Kernel Symbole nicht laden" + +#. Non-fatal to have no modules since we do have the kernel. +#: ../libdwfl/argp-std.c:259 +msgid "cannot find kernel modules" +msgstr "Konnte Kernel Module nicht finden" + +#: ../libdwfl/argp-std.c:273 +msgid "cannot find kernel or modules" +msgstr "Konnte Kernel oder Module nicht finden" + +#: ../libebl/eblbackendname.c:63 +msgid "No backend" +msgstr "" + +#: ../libebl/eblcorenotetypename.c:107 +#: ../libebl/eblobjecttypename.c:78 +#: ../libebl/eblobjnotetypename.c:85 +#: ../libebl/eblosabiname.c:98 +#: ../libebl/eblsectionname.c:110 +#: ../libebl/eblsectiontypename.c:140 +#: ../libebl/eblsegmenttypename.c:104 +msgid "<unknown>" +msgstr "<Unbekannt>" + +#: ../libebl/ebldynamictagname.c:126 +#, c-format +msgid "<unknown>: %#<PRIx64>" +msgstr "<Unbekannt>: %#<PRIx64>" + +#: ../libebl/eblobjnote.c:76 +#, c-format +msgid " Build ID: " +msgstr " Build ID: " + +#: ../libebl/eblobjnote.c:129 +#, c-format +msgid " OS: %s, ABI: " +msgstr " OS: %s, ABI: " + +#: ../libebl/eblosabiname.c:95 +msgid "Stand alone" +msgstr "" + +#: ../libebl/eblsymbolbindingname.c:86 +#: ../libebl/eblsymboltypename.c:94 +#, c-format +msgid "<unknown>: %d" +msgstr "<unknown>: %d" + +#: ../src/ar.c:76 +msgid "Commands:" +msgstr "Befehle:" + +#: ../src/ar.c:77 +msgid "Delete files from archive." +msgstr "Dateien aus dem Archiv löschen." + +#: ../src/ar.c:78 +msgid "Move files in archive." +msgstr "Dateien zum Archiv hinzufügen." + +#: ../src/ar.c:79 +msgid "Print files in archive." +msgstr "Packe Dateien in Archiv" + +#: ../src/ar.c:80 +msgid "Quick append files to archive." +msgstr "Hänge Dateien an ein Archiv" + +#: ../src/ar.c:82 +msgid "Replace existing or insert new file into archive." +msgstr "Ersetze existierende oder füge neue Datei in das Archiv ein." + +#: ../src/ar.c:83 +msgid "Display content of archive." +msgstr "Zeige Archivinhalt an." + +#: ../src/ar.c:84 +msgid "Extract files from archive." +msgstr "Entpacke Dateien aus dem Archiv" + +#: ../src/ar.c:86 +msgid "Command Modifiers:" +msgstr "" + +#: ../src/ar.c:87 +msgid "Preserve original dates." +msgstr "" + +#: ../src/ar.c:88 +msgid "Use instance [COUNT] of name." +msgstr "" + +#: ../src/ar.c:90 +msgid "Do not replace existing files with extracted files." +msgstr "Ersetze existierende Dateien nicht mit entpackten Dateien" + +#: ../src/ar.c:91 +msgid "Allow filename to be truncated if necessary." +msgstr "Erlaube angehängte Dateinamen, wenn nötig" + +#: ../src/ar.c:93 +msgid "Provide verbose output." +msgstr "" + +#: ../src/ar.c:94 +msgid "Force regeneration of symbol table." +msgstr "" + +#: ../src/ar.c:95 +msgid "Insert file after [MEMBER]." +msgstr "Füge Datei nach [MEMBER] ein." + +#: ../src/ar.c:96 +msgid "Insert file before [MEMBER]." +msgstr "Füge Datei vor [MEMBER] ein." + +#: ../src/ar.c:97 +msgid "Same as -b." +msgstr "Genau wie -b." + +#: ../src/ar.c:98 +msgid "Suppress message when library has to be created." +msgstr "" + +#: ../src/ar.c:100 +msgid "Use full path for file matching." +msgstr "" + +#: ../src/ar.c:101 +msgid "Update only older files in archive." +msgstr "Nur ältere Datein im Archiv aktualisieren" + +#. Short description of program. +#: ../src/ar.c:107 +msgid "Create, modify, and extract from archives." +msgstr "Erstelle, ändere, extrahiere von Archiven" + +#. Strings for arguments in help texts. +#: ../src/ar.c:110 +msgid "[MEMBER] [COUNT] ARCHIVE [FILE...]" +msgstr "[MEMBER] [COUNT] ARCHIVE [FILE...]" + +#: ../src/ar.c:192 +#, c-format +msgid "'a', 'b', and 'i' are only allowed with the 'm' and 'r' options" +msgstr "'a', 'b', und 'i' nur zusammen mit 'm' and 'r Optionen" + +#: ../src/ar.c:197 +#, c-format +msgid "MEMBER parameter required for 'a', 'b', and 'i' modifiers" +msgstr "" + +#: ../src/ar.c:213 +#, c-format +msgid "'N' is only meaningful with the 'x' and 'd' options" +msgstr "" + +#: ../src/ar.c:218 +#, c-format +msgid "COUNT parameter required" +msgstr "COUNT Parameter erforderlich" + +#: ../src/ar.c:230 +#, c-format +msgid "invalid COUNT parameter %s" +msgstr "Ungültiger COUNT Parameter %s" + +#: ../src/ar.c:237 +#, c-format +msgid "'%' is only meaningful with the 'x' option" +msgstr "" + +#: ../src/ar.c:243 +#, c-format +msgid "archive name required" +msgstr "Archivname erforderlich" + +#: ../src/ar.c:289 +#: ../src/nm.c:253 +#: ../src/readelf.c:432 +#: ../src/size.c:219 +#: ../src/strip.c:203 +#: ../src/ld.c:957 +#: ../src/elflint.c:238 +#: ../src/addr2line.c:180 +#: ../src/findtextrel.c:170 +#: ../src/elfcmp.c:522 +#: ../src/ranlib.c:136 +#: ../src/strings.c:227 +#: ../src/unstrip.c:233 +#: ../src/objdump.c:181 +#, c-format +msgid "" +"Copyright (C) %s Red Hat, Inc.\n" +"This is free software; see the source for copying conditions. There is NO\n" +"warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.\n" +msgstr "" +"Copyright (C) %s Red Hat, Inc.\n" +"Dies ist freie Software, siehe Quellcode für Kopierbedingungen. KEINE GARANTIE,\n" +"auch nicht für Marktgängigkeit oder Eignung für einen Bestimmten Zweck.\n" + +#: ../src/ar.c:294 +#: ../src/nm.c:258 +#: ../src/readelf.c:437 +#: ../src/size.c:224 +#: ../src/strip.c:208 +#: ../src/ld.c:962 +#: ../src/elflint.c:243 +#: ../src/addr2line.c:185 +#: ../src/findtextrel.c:175 +#: ../src/elfcmp.c:527 +#: ../src/ranlib.c:141 +#: ../src/strings.c:232 +#: ../src/unstrip.c:238 +#: ../src/objdump.c:186 +#, c-format +msgid "Written by %s.\n" +msgstr "Geschrieben von %s.\n" + +#: ../src/ar.c:314 +#, c-format +msgid "More than one operation specified" +msgstr "" + +#: ../src/ar.c:404 +#, c-format +msgid "cannot open archive '%s'" +msgstr "Konnte Archiv '%s' nicht öffnen" + +#: ../src/ar.c:414 +#, c-format +msgid "cannot open archive '%s': %s" +msgstr "Konnte Archiv '%s': %s nicht öffnen" + +#: ../src/ar.c:418 +#, c-format +msgid "%s: not an archive file" +msgstr "%s: Keine Archiv-Datei" + +#: ../src/ar.c:422 +#, c-format +msgid "cannot stat archive '%s'" +msgstr "" + +#: ../src/ar.c:434 +#, c-format +msgid "no entry %s in archive\n" +msgstr "Kein Eintrag %s in Archiv\n" + +#: ../src/ar.c:474 +#: ../src/ar.c:918 +#: ../src/ar.c:1118 +#, c-format +msgid "cannot create hash table" +msgstr "Konnte Hash-Tabelle nicht erstellen" + +#: ../src/ar.c:481 +#: ../src/ar.c:925 +#: ../src/ar.c:1127 +#, c-format +msgid "cannot insert into hash table" +msgstr "Konnte nicht in Hash-Tabelle einfügen" + +#: ../src/ar.c:489 +#: ../src/ranlib.c:176 +#, c-format +msgid "cannot stat '%s'" +msgstr "" + +#: ../src/ar.c:585 +#, c-format +msgid "cannot read content of %s: %s" +msgstr "Konnte Inhalt von %s: %s nicht lesen" + +#: ../src/ar.c:629 +#, c-format +msgid "cannot open %.*s" +msgstr "Konnte %.*s nicht öffnen" + +#: ../src/ar.c:651 +#, c-format +msgid "failed to write %s" +msgstr "Konnte %s nicht schreiben" + +#: ../src/ar.c:663 +#, c-format +msgid "cannot change mode of %s" +msgstr "" + +#: ../src/ar.c:679 +#, c-format +msgid "cannot change modification time of %s" +msgstr "Konnte Bearbeitungszeit von %s nicht ändern" + +#: ../src/ar.c:726 +#, c-format +msgid "cannot rename temporary file to %.*s" +msgstr "Konnte temporäre Datei nicht in %.*s umbenennen" + +#: ../src/ar.c:762 +#: ../src/ar.c:1010 +#: ../src/ar.c:1408 +#: ../src/ranlib.c:250 +#, c-format +msgid "cannot create new file" +msgstr "neue Datei konnte nicht angelegt werden" + +#: ../src/ar.c:1209 +#, c-format +msgid "position member %s not found" +msgstr "" + +#: ../src/ar.c:1219 +#, c-format +msgid "%s: no entry %s in archive!\n" +msgstr "%s: Kein Eintrag %s in dem Archiv!\n" + +#: ../src/ar.c:1248 +#: ../src/ldgeneric.c:519 +#: ../src/objdump.c:257 +#, c-format +msgid "cannot open %s" +msgstr "Konnte %s nicht öffnen" + +#: ../src/ar.c:1253 +#, c-format +msgid "cannot stat %s" +msgstr "" + +#: ../src/ar.c:1259 +#, c-format +msgid "%s is no regular file" +msgstr "%s ist keine reguläre Datei" + +#: ../src/ar.c:1272 +#, c-format +msgid "cannot get ELF descriptor for %s: %s\n" +msgstr "" + +#: ../src/ar.c:1291 +#, c-format +msgid "cannot read %s: %s" +msgstr "Konnte %s: %s nicht lesen" + +#. The archive is too big. +#: ../src/arlib.c:215 +#, c-format +msgid "the archive '%s' is too large" +msgstr "Das Archiv '%s' ist zu groß" + +#: ../src/arlib.c:228 +#, c-format +msgid "cannot read ELF header of %s(%s): %s" +msgstr "\"Konnte ELF-Kopf von %s(%s): %s nicht lesen" + +#: ../src/nm.c:74 +#: ../src/readelf.c:72 +#: ../src/strip.c:72 +msgid "Output selection:" +msgstr "" + +#: ../src/nm.c:75 +msgid "Display debugger-only symbols" +msgstr "" + +#: ../src/nm.c:76 +msgid "Display only defined symbols" +msgstr "" + +#: ../src/nm.c:79 +msgid "Display dynamic symbols instead of normal symbols" +msgstr "" + +#: ../src/nm.c:80 +msgid "Display only external symbols" +msgstr "" + +#: ../src/nm.c:81 +msgid "Display only undefined symbols" +msgstr "" + +#: ../src/nm.c:83 +msgid "Include index for symbols from archive members" +msgstr "" + +#: ../src/nm.c:85 +#: ../src/size.c:66 +msgid "Output format:" +msgstr "" + +#: ../src/nm.c:87 +msgid "Print name of the input file before every symbol" +msgstr "" + +#: ../src/nm.c:90 +msgid "Use the output format FORMAT. FORMAT can be `bsd', `sysv' or `posix'. The default is `sysv'" +msgstr "" + +#: ../src/nm.c:92 +msgid "Same as --format=bsd" +msgstr "" + +#: ../src/nm.c:93 +msgid "Same as --format=posix" +msgstr "" + +#: ../src/nm.c:94 +#: ../src/size.c:72 +msgid "Use RADIX for printing symbol values" +msgstr "" + +#: ../src/nm.c:95 +msgid "Mark weak symbols" +msgstr "" + +#: ../src/nm.c:96 +msgid "Print size of defined symbols" +msgstr "" + +#: ../src/nm.c:98 +#: ../src/size.c:80 +#: ../src/strip.c:77 +#: ../src/unstrip.c:80 +msgid "Output options:" +msgstr "" + +#: ../src/nm.c:99 +msgid "Sort symbols numerically by address" +msgstr "" + +#: ../src/nm.c:101 +msgid "Do not sort the symbols" +msgstr "" + +#: ../src/nm.c:102 +msgid "Reverse the sense of the sort" +msgstr "" + +#: ../src/nm.c:103 +#: ../src/addr2line.c:73 +#: ../src/findtextrel.c:75 +#: ../src/elfcmp.c:75 +#: ../src/strings.c:83 +msgid "Miscellaneous:" +msgstr "" + +#. Short description of program. +#: ../src/nm.c:108 +msgid "List symbols from FILEs (a.out by default)." +msgstr "" + +#. Strings for arguments in help texts. +#: ../src/nm.c:111 +#: ../src/size.c:92 +#: ../src/strip.c:96 +#: ../src/findtextrel.c:84 +#: ../src/strings.c:92 +#: ../src/objdump.c:80 +msgid "[FILE...]" +msgstr "" + +#: ../src/nm.c:136 +#: ../src/size.c:117 +#: ../src/strip.c:120 +#: ../src/objdump.c:105 +#, c-format +msgid "%s: INTERNAL ERROR %d (%s-%s): %s" +msgstr "" + +#: ../src/nm.c:363 +#: ../src/size.c:301 +#: ../src/strip.c:432 +#: ../src/strip.c:467 +#: ../src/ldgeneric.c:1767 +#: ../src/ldgeneric.c:4257 +#: ../src/findtextrel.c:229 +#: ../src/elfcmp.c:574 +#: ../src/ranlib.c:169 +#: ../src/strings.c:183 +#: ../src/unstrip.c:1899 +#: ../src/unstrip.c:1928 +#, c-format +msgid "cannot open '%s'" +msgstr "" + +#: ../src/nm.c:380 +#: ../src/nm.c:392 +#: ../src/size.c:317 +#: ../src/size.c:326 +#: ../src/size.c:337 +#: ../src/strip.c:1815 +#, c-format +msgid "while closing '%s'" +msgstr "" + +#: ../src/nm.c:402 +#: ../src/strip.c:358 +#: ../src/objdump.c:296 +#, c-format +msgid "%s: File format not recognized" +msgstr "" + +#. Note: 0 is no valid offset. +#: ../src/nm.c:442 +msgid "" +"\n" +"Archive index:" +msgstr "" + +#: ../src/nm.c:451 +#, c-format +msgid "invalid offset %zu for symbol %s" +msgstr "" + +#: ../src/nm.c:456 +#, c-format +msgid "%s in %s\n" +msgstr "" + +#: ../src/nm.c:464 +#, c-format +msgid "cannot reset archive offset to beginning" +msgstr "" + +#: ../src/nm.c:488 +#: ../src/objdump.c:344 +#, c-format +msgid "%s%s%s: file format not recognized" +msgstr "" + +#: ../src/nm.c:700 +#, c-format +msgid "cannot create search tree" +msgstr "" + +#: ../src/nm.c:740 +#: ../src/nm.c:1002 +#: ../src/readelf.c:850 +#: ../src/readelf.c:993 +#: ../src/readelf.c:1134 +#: ../src/readelf.c:1316 +#: ../src/readelf.c:1514 +#: ../src/readelf.c:1659 +#: ../src/readelf.c:1827 +#: ../src/readelf.c:2081 +#: ../src/readelf.c:2147 +#: ../src/readelf.c:2225 +#: ../src/readelf.c:2722 +#: ../src/readelf.c:2758 +#: ../src/readelf.c:2820 +#: ../src/readelf.c:6312 +#: ../src/readelf.c:7178 +#: ../src/readelf.c:7323 +#: ../src/readelf.c:7392 +#: ../src/size.c:425 +#: ../src/size.c:499 +#: ../src/strip.c:482 +#: ../src/objdump.c:744 +#, c-format +msgid "cannot get section header string table index" +msgstr "" + +#: ../src/nm.c:766 +#, c-format +msgid "" +"\n" +"\n" +"Symbols from %s:\n" +"\n" +msgstr "" +"\n" +"\n" +"Symbole aus %s:\n" +"\n" + +#: ../src/nm.c:768 +#, c-format +msgid "" +"\n" +"\n" +"Symbols from %s[%s]:\n" +"\n" +msgstr "" +"\n" +"\n" +"Symbole aus %s[%s]:\n" +"\n" + +#. The header line. +#: ../src/nm.c:771 +#, c-format +msgid "" +"%*s%-*s %-*s Class Type %-*s %*s Section\n" +"\n" +msgstr "" + +#: ../src/nm.c:1012 +#, c-format +msgid "%s: entry size in section `%s' is not what we expect" +msgstr "" + +#: ../src/nm.c:1016 +#, c-format +msgid "%s: size of section `%s' is not multiple of entry size" +msgstr "" + +#. XXX Add machine specific object file types. +#: ../src/nm.c:1255 +#, c-format +msgid "%s%s%s%s: Invalid operation" +msgstr "" + +#: ../src/nm.c:1312 +#, c-format +msgid "%s%s%s: no symbols" +msgstr "" + +#: ../src/readelf.c:73 +msgid "Equivalent to: -e -h -l" +msgstr "" + +#: ../src/readelf.c:74 +msgid "Display the dynamic segment" +msgstr "" + +#: ../src/readelf.c:75 +msgid "Display the ELF file header" +msgstr "" + +#: ../src/readelf.c:77 +msgid "Display histogram of bucket list lengths" +msgstr "" + +#: ../src/readelf.c:78 +msgid "Display the program headers" +msgstr "" + +#: ../src/readelf.c:80 +msgid "Display relocations" +msgstr "" + +#: ../src/readelf.c:81 +msgid "Display the sections' header" +msgstr "" + +#: ../src/readelf.c:83 +msgid "Display the symbol table" +msgstr "" + +#: ../src/readelf.c:84 +msgid "Display versioning information" +msgstr "" + +#: ../src/readelf.c:86 +msgid "Display DWARF section content. SECTION can be one of abbrev, aranges, frame, info, loc, line, ranges, pubnames, str, macinfo, or exception" +msgstr "" + +#: ../src/readelf.c:89 +msgid "Display the core notes" +msgstr "" + +#: ../src/readelf.c:91 +msgid "Display architecture specific information (if any)" +msgstr "" + +#: ../src/readelf.c:93 +msgid "Dump the uninterpreted contents of SECTION, by number or name" +msgstr "" + +#: ../src/readelf.c:95 +msgid "Print string contents of sections" +msgstr "" + +#: ../src/readelf.c:98 +msgid "Display the symbol index of an archive" +msgstr "" + +#: ../src/readelf.c:99 +msgid "Display sections for exception handling" +msgstr "" + +#: ../src/readelf.c:102 +msgid "Output control:" +msgstr "" + +#. Short description of program. +#: ../src/readelf.c:108 +msgid "Print information from ELF file in human-readable form." +msgstr "" + +#. Strings for arguments in help texts. +#: ../src/readelf.c:112 +#: ../src/elflint.c:85 +msgid "FILE..." +msgstr "" + +#: ../src/readelf.c:259 +#: ../src/elflint.c:158 +#, c-format +msgid "cannot open input file" +msgstr "" + +#: ../src/readelf.c:387 +#, c-format +msgid "Unknown DWARF debug section `%s'.\n" +msgstr "" + +#: ../src/readelf.c:408 +#: ../src/elflint.c:222 +msgid "Missing file name.\n" +msgstr "" + +#: ../src/readelf.c:413 +#: ../src/objdump.c:236 +msgid "No operation specified.\n" +msgstr "" + +#: ../src/readelf.c:448 +#, c-format +msgid "cannot generate Elf descriptor: %s" +msgstr "" + +#: ../src/readelf.c:460 +#, c-format +msgid "'%s' is not an archive, cannot print archive index" +msgstr "" + +#: ../src/readelf.c:465 +#, c-format +msgid "error while closing Elf descriptor: %s" +msgstr "" + +#: ../src/readelf.c:557 +#, c-format +msgid "cannot stat input file" +msgstr "" + +#: ../src/readelf.c:559 +#, c-format +msgid "input file is empty" +msgstr "" + +#: ../src/readelf.c:561 +#, c-format +msgid "failed reading '%s': %s" +msgstr "" + +#: ../src/readelf.c:596 +#, c-format +msgid "cannot read ELF header: %s" +msgstr "" + +#: ../src/readelf.c:604 +#, c-format +msgid "cannot create EBL handle" +msgstr "" + +#: ../src/readelf.c:611 +#: ../src/strip.c:542 +#: ../src/ldgeneric.c:661 +#: ../src/ldgeneric.c:1122 +#, c-format +msgid "cannot determine number of sections: %s" +msgstr "" + +#: ../src/readelf.c:697 +msgid "NONE (None)" +msgstr "" + +#: ../src/readelf.c:698 +msgid "REL (Relocatable file)" +msgstr "" + +#: ../src/readelf.c:699 +msgid "EXEC (Executable file)" +msgstr "" + +#: ../src/readelf.c:700 +msgid "DYN (Shared object file)" +msgstr "" + +#: ../src/readelf.c:701 +msgid "CORE (Core file)" +msgstr "" + +#: ../src/readelf.c:706 +#, c-format +msgid "OS Specific: (%x)\n" +msgstr "" + +#. && e_type <= ET_HIPROC always true +#: ../src/readelf.c:708 +#, c-format +msgid "Processor Specific: (%x)\n" +msgstr "" + +#: ../src/readelf.c:718 +msgid "" +"ELF Header:\n" +" Magic: " +msgstr "" + +#: ../src/readelf.c:722 +#, c-format +msgid "" +"\n" +" Class: %s\n" +msgstr "" + +#: ../src/readelf.c:727 +#, c-format +msgid " Data: %s\n" +msgstr "" + +#: ../src/readelf.c:733 +#, c-format +msgid " Ident Version: %hhd %s\n" +msgstr "" + +#: ../src/readelf.c:735 +#: ../src/readelf.c:752 +msgid "(current)" +msgstr "" + +#: ../src/readelf.c:739 +#, c-format +msgid " OS/ABI: %s\n" +msgstr "" + +#: ../src/readelf.c:742 +#, c-format +msgid " ABI Version: %hhd\n" +msgstr "" + +#: ../src/readelf.c:745 +msgid " Type: " +msgstr "" + +#: ../src/readelf.c:748 +#, c-format +msgid " Machine: %s\n" +msgstr "" + +#: ../src/readelf.c:750 +#, c-format +msgid " Version: %d %s\n" +msgstr "" + +#: ../src/readelf.c:754 +#, c-format +msgid " Entry point address: %#<PRIx64>\n" +msgstr "" + +#: ../src/readelf.c:757 +#, c-format +msgid " Start of program headers: %<PRId64> %s\n" +msgstr "" + +#: ../src/readelf.c:758 +#: ../src/readelf.c:761 +msgid "(bytes into file)" +msgstr "" + +#: ../src/readelf.c:760 +#, c-format +msgid " Start of section headers: %<PRId64> %s\n" +msgstr "" + +#: ../src/readelf.c:763 +#, c-format +msgid " Flags: %s\n" +msgstr "" + +#: ../src/readelf.c:766 +#, c-format +msgid " Size of this header: %<PRId16> %s\n" +msgstr "" + +#: ../src/readelf.c:767 +#: ../src/readelf.c:770 +#: ../src/readelf.c:776 +msgid "(bytes)" +msgstr "" + +#: ../src/readelf.c:769 +#, c-format +msgid " Size of program header entries: %<PRId16> %s\n" +msgstr "" + +#: ../src/readelf.c:772 +#, c-format +msgid " Number of program headers entries: %<PRId16>\n" +msgstr "" + +#: ../src/readelf.c:775 +#, c-format +msgid " Size of section header entries: %<PRId16> %s\n" +msgstr "" + +#: ../src/readelf.c:778 +#, c-format +msgid " Number of section headers entries: %<PRId16>" +msgstr "" + +#: ../src/readelf.c:785 +#, c-format +msgid " (%<PRIu32> in [0].sh_size)" +msgstr "" + +#: ../src/readelf.c:788 +#: ../src/readelf.c:802 +msgid " ([0] not available)" +msgstr "" + +#. We managed to get the zeroth section. +#: ../src/readelf.c:798 +#, c-format +msgid " (%<PRIu32> in [0].sh_link)" +msgstr "" + +#: ../src/readelf.c:806 +#, c-format +msgid "" +" Section header string table index: XINDEX%s\n" +"\n" +msgstr "" + +#: ../src/readelf.c:810 +#, c-format +msgid "" +" Section header string table index: %<PRId16>\n" +"\n" +msgstr "" + +#: ../src/readelf.c:842 +#, c-format +msgid "" +"There are %d section headers, starting at offset %#<PRIx64>:\n" +"\n" +msgstr "" + +#: ../src/readelf.c:852 +msgid "Section Headers:" +msgstr "" + +#: ../src/readelf.c:855 +msgid "[Nr] Name Type Addr Off Size ES Flags Lk Inf Al" +msgstr "" + +#: ../src/readelf.c:857 +msgid "[Nr] Name Type Addr Off Size ES Flags Lk Inf Al" +msgstr "" + +#: ../src/readelf.c:864 +#: ../src/readelf.c:1017 +#, c-format +msgid "cannot get section: %s" +msgstr "" + +#: ../src/readelf.c:871 +#: ../src/readelf.c:1025 +#: ../src/readelf.c:7343 +#: ../src/unstrip.c:352 +#: ../src/unstrip.c:376 +#: ../src/unstrip.c:426 +#: ../src/unstrip.c:535 +#: ../src/unstrip.c:552 +#: ../src/unstrip.c:590 +#: ../src/unstrip.c:788 +#: ../src/unstrip.c:1056 +#: ../src/unstrip.c:1243 +#: ../src/unstrip.c:1304 +#: ../src/unstrip.c:1426 +#: ../src/unstrip.c:1479 +#: ../src/unstrip.c:1587 +#: ../src/unstrip.c:1777 +#, c-format +msgid "cannot get section header: %s" +msgstr "" + +#: ../src/readelf.c:929 +msgid "Program Headers:" +msgstr "" + +#: ../src/readelf.c:931 +msgid " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align" +msgstr "" + +#: ../src/readelf.c:934 +msgid " Type Offset VirtAddr PhysAddr FileSiz MemSiz Flg Align" +msgstr "" + +#: ../src/readelf.c:974 +#, c-format +msgid "\t[Requesting program interpreter: %s]\n" +msgstr "" + +#: ../src/readelf.c:995 +msgid "" +"\n" +" Section to Segment mapping:\n" +" Segment Sections..." +msgstr "" + +#: ../src/readelf.c:1006 +#: ../src/unstrip.c:1823 +#: ../src/unstrip.c:1862 +#: ../src/unstrip.c:1869 +#, c-format +msgid "cannot get program header: %s" +msgstr "" + +#: ../src/readelf.c:1140 +#, c-format +msgid "" +"\n" +"COMDAT section group [%2zu] '%s' with signature '%s' contains %zu entry:\n" +msgid_plural "" +"\n" +"COMDAT section group [%2zu] '%s' with signature '%s' contains %zu entries:\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/readelf.c:1145 +#, c-format +msgid "" +"\n" +"Section group [%2zu] '%s' with signature '%s' contains %zu entry:\n" +msgid_plural "" +"\n" +"Section group [%2zu] '%s' with signature '%s' contains %zu entries:\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/readelf.c:1153 +msgid "<INVALID SYMBOL>" +msgstr "" + +#: ../src/readelf.c:1167 +msgid "<INVALID SECTION>" +msgstr "" + +#: ../src/readelf.c:1318 +#, c-format +msgid "" +"\n" +"Dynamic segment contains %lu entry:\n" +" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] '%s'\n" +msgid_plural "" +"\n" +"Dynamic segment contains %lu entries:\n" +" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] '%s'\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/readelf.c:1330 +msgid " Type Value\n" +msgstr "" + +#: ../src/readelf.c:1354 +#, c-format +msgid "Shared library: [%s]\n" +msgstr "" + +#: ../src/readelf.c:1359 +#, c-format +msgid "Library soname: [%s]\n" +msgstr "" + +#: ../src/readelf.c:1364 +#, c-format +msgid "Library rpath: [%s]\n" +msgstr "" + +#: ../src/readelf.c:1369 +#, c-format +msgid "Library runpath: [%s]\n" +msgstr "" + +#: ../src/readelf.c:1389 +#, c-format +msgid "%<PRId64> (bytes)\n" +msgstr "" + +#: ../src/readelf.c:1499 +#: ../src/readelf.c:1644 +#, c-format +msgid "" +"\n" +"Invalid symbol table at offset %#0<PRIx64>\n" +msgstr "" + +#: ../src/readelf.c:1517 +#: ../src/readelf.c:1661 +#, c-format +msgid "" +"\n" +"Relocation section [%2zu] '%s' for section [%2u] '%s' at offset %#0<PRIx64> contains %d entry:\n" +msgid_plural "" +"\n" +"Relocation section [%2zu] '%s' for section [%2u] '%s' at offset %#0<PRIx64> contains %d entries:\n" +msgstr[0] "" +msgstr[1] "" + +#. The .rel.dyn section does not refer to a specific section but +#. instead of section index zero. Do not try to print a section +#. name. +#: ../src/readelf.c:1532 +#, c-format +msgid "" +"\n" +"Relocation section [%2u] '%s' at offset %#0<PRIx64> contains %d entry:\n" +msgid_plural "" +"\n" +"Relocation section [%2u] '%s' at offset %#0<PRIx64> contains %d entries:\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/readelf.c:1542 +msgid " Offset Type Value Name\n" +msgstr "" + +#: ../src/readelf.c:1544 +msgid " Offset Type Value Name\n" +msgstr "" + +#: ../src/readelf.c:1568 +#: ../src/readelf.c:1580 +#: ../src/readelf.c:1598 +#: ../src/readelf.c:1610 +#: ../src/readelf.c:1700 +#: ../src/readelf.c:1713 +#: ../src/readelf.c:1732 +#: ../src/readelf.c:1745 +msgid "<INVALID RELOC>" +msgstr "" + +#: ../src/readelf.c:1569 +#: ../src/readelf.c:1701 +#: ../src/objdump.c:379 +msgid "INVALID SYMBOL" +msgstr "" + +#: ../src/readelf.c:1599 +#: ../src/readelf.c:1733 +#: ../src/objdump.c:394 +msgid "INVALID SECTION" +msgstr "" + +#: ../src/readelf.c:1673 +msgid " Offset Type Value Addend Name\n" +msgstr "" + +#: ../src/readelf.c:1675 +msgid " Offset Type Value Addend Name\n" +msgstr "" + +#: ../src/readelf.c:1834 +#, c-format +msgid "" +"\n" +"Symbol table [%2u] '%s' contains %u entry:\n" +msgid_plural "" +"\n" +"Symbol table [%2u] '%s' contains %u entries:\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/readelf.c:1840 +#, c-format +msgid " %lu local symbol String table: [%2u] '%s'\n" +msgid_plural " %lu local symbols String table: [%2u] '%s'\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/readelf.c:1850 +msgid " Num: Value Size Type Bind Vis Ndx Name\n" +msgstr "" + +#: ../src/readelf.c:1852 +msgid " Num: Value Size Type Bind Vis Ndx Name\n" +msgstr "" + +#: ../src/readelf.c:1872 +#, c-format +msgid "%5u: %0*<PRIx64> %6<PRId64> %-7s %-6s %-9s %6s %s" +msgstr "" + +#: ../src/readelf.c:1960 +#, c-format +msgid "bad dynamic symbol" +msgstr "" + +#: ../src/readelf.c:2042 +msgid "none" +msgstr "" + +#: ../src/readelf.c:2059 +msgid "| <unknown>" +msgstr "" + +#: ../src/readelf.c:2084 +#, c-format +msgid "" +"\n" +"Version needs section [%2u] '%s' contains %d entry:\n" +" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] '%s'\n" +msgid_plural "" +"\n" +"Version needs section [%2u] '%s' contains %d entries:\n" +" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] '%s'\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/readelf.c:2107 +#, c-format +msgid " %#06x: Version: %hu File: %s Cnt: %hu\n" +msgstr "" + +#: ../src/readelf.c:2120 +#, c-format +msgid " %#06x: Name: %s Flags: %s Version: %hu\n" +msgstr "" + +#: ../src/readelf.c:2151 +#, c-format +msgid "" +"\n" +"Version definition section [%2u] '%s' contains %d entry:\n" +" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] '%s'\n" +msgid_plural "" +"\n" +"Version definition section [%2u] '%s' contains %d entries:\n" +" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] '%s'\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/readelf.c:2181 +#, c-format +msgid " %#06x: Version: %hd Flags: %s Index: %hd Cnt: %hd Name: %s\n" +msgstr "" + +#: ../src/readelf.c:2196 +#, c-format +msgid " %#06x: Parent %d: %s\n" +msgstr "" + +#: ../src/readelf.c:2428 +#, c-format +msgid "" +"\n" +"Version symbols section [%2u] '%s' contains %d entry:\n" +" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] '%s'" +msgid_plural "" +"\n" +"Version symbols section [%2u] '%s' contains %d entries:\n" +" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] '%s'" +msgstr[0] "" +msgstr[1] "" + +#: ../src/readelf.c:2458 +msgid " 0 *local* " +msgstr "" + +#: ../src/readelf.c:2463 +msgid " 1 *global* " +msgstr "" + +#: ../src/readelf.c:2494 +#, c-format +msgid "" +"\n" +"Histogram for bucket list length in section [%2u] '%s' (total of %d bucket):\n" +" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] '%s'\n" +msgid_plural "" +"\n" +"Histogram for bucket list length in section [%2u] '%s' (total of %d buckets):\n" +" Addr: %#0*<PRIx64> Offset: %#08<PRIx64> Link to section: [%2u] '%s'\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/readelf.c:2517 +#, c-format +msgid " Length Number % of total Coverage\n" +msgstr "" + +#: ../src/readelf.c:2519 +#, c-format +msgid " 0 %6<PRIu32> %5.1f%%\n" +msgstr "" + +#: ../src/readelf.c:2526 +#, c-format +msgid "%7d %6<PRIu32> %5.1f%% %5.1f%%\n" +msgstr "" + +#: ../src/readelf.c:2539 +#, c-format +msgid "" +" Average number of tests: successful lookup: %f\n" +" unsuccessful lookup: %f\n" +msgstr "" + +#: ../src/readelf.c:2557 +#: ../src/readelf.c:2599 +#: ../src/readelf.c:2640 +#, c-format +msgid "cannot get data for section %d: %s" +msgstr "" + +#: ../src/readelf.c:2694 +#, c-format +msgid "" +" Symbol Bias: %u\n" +" Bitmask Size: %zu bytes %<PRIuFAST32>%% bits set 2nd hash shift: %u\n" +msgstr "" + +#: ../src/readelf.c:2768 +#, c-format +msgid "" +"\n" +"Library list section [%2zu] '%s' at offset %#0<PRIx64> contains %d entry:\n" +msgid_plural "" +"\n" +"Library list section [%2zu] '%s' at offset %#0<PRIx64> contains %d entries:\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/readelf.c:2782 +msgid " Library Time Stamp Checksum Version Flags" +msgstr "" + +#: ../src/readelf.c:2832 +#, c-format +msgid "" +"\n" +"Object attributes section [%2zu] '%s' of %<PRIu64> bytes at offset %#0<PRIx64>:\n" +msgstr "" + +#: ../src/readelf.c:2848 +msgid " Owner Size\n" +msgstr "" + +#: ../src/readelf.c:2874 +#, c-format +msgid " %-13s %4<PRIu32>\n" +msgstr "" + +#: ../src/readelf.c:2906 +#, c-format +msgid " %-4u %12<PRIu32>\n" +msgstr "" + +#. Tag_File +#: ../src/readelf.c:2911 +#, c-format +msgid " File: %11<PRIu32>\n" +msgstr "" + +#: ../src/readelf.c:2946 +#, c-format +msgid " %s: %<PRId64>, %s\n" +msgstr "" + +#: ../src/readelf.c:2949 +#, c-format +msgid " %s: %<PRId64>\n" +msgstr "" + +#: ../src/readelf.c:2952 +#, c-format +msgid " %s: %s\n" +msgstr "" + +#: ../src/readelf.c:2959 +#, c-format +msgid " %u: %<PRId64>\n" +msgstr "" + +#: ../src/readelf.c:2962 +#, c-format +msgid " %u: %s\n" +msgstr "" + +#: ../src/readelf.c:2997 +#, c-format +msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>" +msgstr "" + +#: ../src/readelf.c:3000 +#, c-format +msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>" +msgstr "" + +#: ../src/readelf.c:3005 +#, c-format +msgid "%#<PRIx64> <%s+%#<PRIx64>>" +msgstr "" + +#: ../src/readelf.c:3008 +#, c-format +msgid "%#0*<PRIx64> <%s+%#<PRIx64>>" +msgstr "" + +#: ../src/readelf.c:3014 +#, c-format +msgid "%s+%#<PRIx64> <%s>" +msgstr "" + +#: ../src/readelf.c:3017 +#, c-format +msgid "%s+%#0*<PRIx64> <%s>" +msgstr "" + +#: ../src/readelf.c:3021 +#, c-format +msgid "%#<PRIx64> <%s>" +msgstr "" + +#: ../src/readelf.c:3024 +#, c-format +msgid "%#0*<PRIx64> <%s>" +msgstr "" + +#: ../src/readelf.c:3029 +#, c-format +msgid "%s+%#<PRIx64>" +msgstr "" + +#: ../src/readelf.c:3032 +#, c-format +msgid "%s+%#0*<PRIx64>" +msgstr "" + +#: ../src/readelf.c:3140 +#, c-format +msgid "unknown tag %hx" +msgstr "" + +#: ../src/readelf.c:3142 +#, c-format +msgid "unknown user tag %hx" +msgstr "" + +#: ../src/readelf.c:3352 +#, c-format +msgid "unknown attribute %hx" +msgstr "" + +#: ../src/readelf.c:3355 +#, c-format +msgid "unknown user attribute %hx" +msgstr "" + +#: ../src/readelf.c:3401 +#, c-format +msgid "unknown form %<PRIx64>" +msgstr "" + +#: ../src/readelf.c:4017 +#, c-format +msgid "%*s[%4<PRIuMAX>] %s <TRUNCATED>\n" +msgstr "" + +#: ../src/readelf.c:4030 +#, c-format +msgid "" +"\n" +"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n" +" [ Code]\n" +msgstr "" + +#: ../src/readelf.c:4037 +#, c-format +msgid "" +"\n" +"Abbreviation section at offset %<PRIu64>:\n" +msgstr "" + +#: ../src/readelf.c:4050 +#, c-format +msgid " *** error while reading abbreviation: %s\n" +msgstr "" + +#: ../src/readelf.c:4066 +#, c-format +msgid " [%5u] offset: %<PRId64>, children: %s, tag: %s\n" +msgstr "" + +#: ../src/readelf.c:4069 +msgid "yes" +msgstr "" + +#: ../src/readelf.c:4069 +msgid "no" +msgstr "" + +#: ../src/readelf.c:4105 +#, c-format +msgid "cannot get .debug_aranges content: %s" +msgstr "" + +#: ../src/readelf.c:4110 +#, c-format +msgid "" +"\n" +"DWARF section [%2zu] '%s' at offset %#<PRIx64> contains %zu entry:\n" +msgid_plural "" +"\n" +"DWARF section [%2zu] '%s' at offset %#<PRIx64> contains %zu entries:\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/readelf.c:4140 +#, c-format +msgid " [%*zu] ???\n" +msgstr "" + +#: ../src/readelf.c:4142 +#, c-format +msgid " [%*zu] start: %0#*<PRIx64>, length: %5<PRIu64>, CU DIE offset: %6<PRId64>\n" +msgstr "" + +#: ../src/readelf.c:4161 +#, c-format +msgid "cannot get .debug_ranges content: %s" +msgstr "" + +#: ../src/readelf.c:4166 +#: ../src/readelf.c:4623 +#: ../src/readelf.c:5272 +#: ../src/readelf.c:5717 +#: ../src/readelf.c:5812 +#: ../src/readelf.c:5984 +#, c-format +msgid "" +"\n" +"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n" +msgstr "" + +#: ../src/readelf.c:4180 +#: ../src/readelf.c:5731 +#, c-format +msgid " [%6tx] <INVALID DATA>\n" +msgstr "" + +#: ../src/readelf.c:4202 +#: ../src/readelf.c:5753 +#, c-format +msgid " [%6tx] base address %s\n" +msgstr "" + +#. We have an address range entry. +#. First address range entry in a list. +#: ../src/readelf.c:4213 +#, c-format +msgid " [%6tx] %s..%s\n" +msgstr "" + +#: ../src/readelf.c:4215 +#, c-format +msgid " %s..%s\n" +msgstr "" + +#: ../src/readelf.c:4612 +#: ../src/readelf.c:6050 +#: ../src/readelf.c:6152 +#, c-format +msgid "cannot get %s content: %s" +msgstr "" + +#: ../src/readelf.c:4619 +#, c-format +msgid "" +"\n" +"Call frame information section [%2zu] '%s' at offset %#<PRIx64>:\n" +msgstr "" + +#: ../src/readelf.c:4646 +#: ../src/readelf.c:5306 +#, c-format +msgid "invalid data in section [%zu] '%s'" +msgstr "" + +#: ../src/readelf.c:4668 +#, c-format +msgid "" +"\n" +" [%6tx] Zero terminator\n" +msgstr "" + +#: ../src/readelf.c:4746 +msgid "FDE address encoding: " +msgstr "" + +#: ../src/readelf.c:4752 +msgid "LSDA pointer encoding: " +msgstr "" + +#: ../src/readelf.c:4797 +#, c-format +msgid "invalid augmentation encoding" +msgstr "" + +#: ../src/readelf.c:4868 +#, c-format +msgid " (offset: %#<PRIx64>)" +msgstr "" + +#: ../src/readelf.c:4875 +#, c-format +msgid " (end offset: %#<PRIx64>)" +msgstr "" + +#: ../src/readelf.c:4902 +#, c-format +msgid " %-26sLSDA pointer: %#<PRIx64>\n" +msgstr "" + +#: ../src/readelf.c:4948 +#, c-format +msgid "cannot get attribute code: %s" +msgstr "" + +#: ../src/readelf.c:4956 +#, c-format +msgid "cannot get attribute form: %s" +msgstr "" + +#: ../src/readelf.c:4969 +#, c-format +msgid "cannot get attribute value: %s" +msgstr "" + +#: ../src/readelf.c:5151 +#, c-format +msgid "" +"\n" +"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n" +" [Offset]\n" +msgstr "" + +#: ../src/readelf.c:5176 +#, c-format +msgid "" +" Compilation unit at offset %<PRIu64>:\n" +" Version: %<PRIu16>, Abbreviation section offset: %<PRIu64>, Address size: %<PRIu8>, Offset size: %<PRIu8>\n" +msgstr "" + +#: ../src/readelf.c:5194 +#, c-format +msgid "cannot get DIE at offset %<PRIu64> in section '%s': %s" +msgstr "" + +#: ../src/readelf.c:5205 +#, c-format +msgid "cannot get DIE offset: %s" +msgstr "" + +#: ../src/readelf.c:5213 +#, c-format +msgid "cannot get tag of DIE at offset %<PRIu64> in section '%s': %s" +msgstr "" + +#: ../src/readelf.c:5242 +#, c-format +msgid "cannot get next DIE: %s\n" +msgstr "" + +#: ../src/readelf.c:5249 +#, c-format +msgid "cannot get next DIE: %s" +msgstr "" + +#: ../src/readelf.c:5284 +#, c-format +msgid "cannot get line data section data: %s" +msgstr "" + +#: ../src/readelf.c:5297 +#, c-format +msgid "" +"\n" +"Table at offset %Zu:\n" +msgstr "" + +#. Print what we got so far. +#: ../src/readelf.c:5349 +#, c-format +msgid "" +"\n" +" Length: %<PRIu64>\n" +" DWARF version: %<PRIuFAST16>\n" +" Prologue length: %<PRIu64>\n" +" Minimum instruction length: %<PRIuFAST8>\n" +" Initial value if '%s': %<PRIuFAST8>\n" +" Line base: %<PRIdFAST8>\n" +" Line range: %<PRIuFAST8>\n" +" Opcode base: %<PRIuFAST8>\n" +"\n" +"Opcodes:\n" +msgstr "" + +#: ../src/readelf.c:5368 +#, c-format +msgid "invalid data at offset %tu in section [%zu] '%s'" +msgstr "" + +#: ../src/readelf.c:5383 +#, c-format +msgid " [%*<PRIuFAST8>] %hhu argument\n" +msgid_plural " [%*<PRIuFAST8>] %hhu arguments\n" +msgstr[0] "" +msgstr[1] "" + +#: ../src/readelf.c:5391 +msgid "" +"\n" +"Directory table:" +msgstr "" + +#: ../src/readelf.c:5407 +msgid "" +"\n" +"File name table:\n" +" Entry Dir Time Size Name" +msgstr "" + +#: ../src/readelf.c:5436 +msgid "" +"\n" +"Line number statements:" +msgstr "" + +#: ../src/readelf.c:5497 +#, c-format +msgid " special opcode %u: address+%u = %s, line%+d = %zu\n" +msgstr "" + +#: ../src/readelf.c:5517 +#, c-format +msgid " extended opcode %u: " +msgstr "" + +#: ../src/readelf.c:5522 +msgid "end of sequence" +msgstr "" + +#: ../src/readelf.c:5537 +#, c-format +msgid "set address to %s\n" +msgstr "" + +#: ../src/readelf.c:5558 +#, c-format +msgid "define new file: dir=%u, mtime=%<PRIu64>, length=%<PRIu64>, name=%s\n" +msgstr "" + +#. Unknown, ignore it. +#: ../src/readelf.c:5567 +msgid "unknown opcode" +msgstr "" + +#. Takes no argument. +#: ../src/readelf.c:5579 +msgid " copy" +msgstr "" + +#: ../src/readelf.c:5589 +#, c-format +msgid "advance address by %u to %s\n" +msgstr "" + +#: ../src/readelf.c:5600 +#, c-format +msgid " advance line by constant %d to %<PRId64>\n" +msgstr "" + +#: ../src/readelf.c:5608 +#, c-format +msgid " set file to %<PRIu64>\n" +msgstr "" + +#: ../src/readelf.c:5618 +#, c-format +msgid " set column to %<PRIu64>\n" +msgstr "" + +#: ../src/readelf.c:5625 +#, c-format +msgid " set '%s' to %<PRIuFAST8>\n" +msgstr "" + +#. Takes no argument. +#: ../src/readelf.c:5631 +msgid " set basic block flag" +msgstr "" + +#: ../src/readelf.c:5641 +#, c-format +msgid "advance address by constant %u to %s\n" +msgstr "" + +#: ../src/readelf.c:5657 +#, c-format +msgid "advance address by fixed value %u to %s\n" +msgstr "" + +#. Takes no argument. +#: ../src/readelf.c:5666 +msgid " set prologue end flag" +msgstr "" + +#. Takes no argument. +#: ../src/readelf.c:5671 +msgid " set epilogue begin flag" +msgstr "" + +#. This is a new opcode the generator but not we know about. +#. Read the parameters associated with it but then discard +#. everything. Read all the parameters for this opcode. +#: ../src/readelf.c:5680 +#, c-format +msgid " unknown opcode with %<PRIu8> parameter:" +msgid_plural " unknown opcode with %<PRIu8> parameters:" +msgstr[0] "" +msgstr[1] "" + +#: ../src/readelf.c:5712 +#, c-format +msgid "cannot get .debug_loc content: %s" +msgstr "" + +#. First entry in a list. +#: ../src/readelf.c:5767 +#, c-format +msgid " [%6tx] %s..%s" +msgstr "" + +#: ../src/readelf.c:5769 +#, c-format +msgid " %s..%s" +msgstr "" + +#: ../src/readelf.c:5822 +#, c-format +msgid "cannot get macro information section data: %s" +msgstr "" + +#: ../src/readelf.c:5901 +#, c-format +msgid "%*s*** non-terminated string at end of section" +msgstr "" + +#: ../src/readelf.c:5969 +#, c-format +msgid " [%5d] DIE offset: %6<PRId64>, CU DIE offset: %6<PRId64>, name: %s\n" +msgstr "" + +#: ../src/readelf.c:6008 +#, c-format +msgid "" +"\n" +"DWARF section [%2zu] '%s' at offset %#<PRIx64>:\n" +" %*s String\n" +msgstr "" + +#: ../src/readelf.c:6022 +#, c-format +msgid " *** error while reading strings: %s\n" +msgstr "" + +#: ../src/readelf.c:6042 +#, c-format +msgid "" +"\n" +"Call frame search table section [%2zu] '.eh_frame_hdr':\n" +msgstr "" + +#: ../src/readelf.c:6144 +#, c-format +msgid "" +"\n" +"Exception handling table section [%2zu] '.gcc_except_table':\n" +msgstr "" + +#: ../src/readelf.c:6167 +#, c-format +msgid " LPStart encoding: %#x " +msgstr "" + +#: ../src/readelf.c:6179 +#, c-format +msgid " TType encoding: %#x " +msgstr "" + +#: ../src/readelf.c:6193 +#, c-format +msgid " Call site encoding: %#x " +msgstr "" + +#: ../src/readelf.c:6206 +msgid "" +"\n" +" Call site table:" +msgstr "" + +#: ../src/readelf.c:6220 +#, c-format +msgid "" +" [%4u] Call site start: %#<PRIx64>\n" +" Call site length: %<PRIu64>\n" +" Landing pad: %#<PRIx64>\n" +" Action: %u\n" +msgstr "" + +#: ../src/readelf.c:6280 +#, c-format +msgid "invalid TType encoding" +msgstr "" + +#: ../src/readelf.c:6303 +#, c-format +msgid "cannot get debug context descriptor: %s" +msgstr "" + +#: ../src/readelf.c:6438 +#: ../src/readelf.c:7016 +#, c-format +msgid "cannot convert core note data: %s" +msgstr "" + +#: ../src/readelf.c:6743 +#, c-format +msgid "" +"\n" +"%*s... <repeats %u more times> ..." +msgstr "" + +#: ../src/readelf.c:6785 +#, c-format +msgid "unable to handle register number %d" +msgstr "" + +#: ../src/readelf.c:6932 +#, c-format +msgid "cannot get register info: %s" +msgstr "" + +#: ../src/readelf.c:6956 +#, c-format +msgid "cannot register info: %s" +msgstr "" + +#: ../src/readelf.c:7114 +msgid " Owner Data size Type\n" +msgstr "" + +#: ../src/readelf.c:7132 +#, c-format +msgid " %-13.*s %9<PRId32> %s\n" +msgstr "" + +#: ../src/readelf.c:7163 +#, c-format +msgid "cannot get content of note section: %s" +msgstr "" + +#: ../src/readelf.c:7190 +#, c-format +msgid "" +"\n" +"Note section [%2zu] '%s' of %<PRIu64> bytes at offset %#0<PRIx64>:\n" +msgstr "" + +#: ../src/readelf.c:7213 +#, c-format +msgid "" +"\n" +"Note segment of %<PRIu64> bytes at offset %#0<PRIx64>:\n" +msgstr "" + +#: ../src/readelf.c:7259 +#, c-format +msgid "" +"\n" +"Section [%Zu] '%s' has no data to dump.\n" +msgstr "" + +#: ../src/readelf.c:7265 +#: ../src/readelf.c:7287 +#, c-format +msgid "cannot get data for section [%Zu] '%s': %s" +msgstr "" + +#: ../src/readelf.c:7269 +#, c-format +msgid "" +"\n" +"Hex dump of section [%Zu] '%s', %<PRIu64> bytes at offset %#0<PRIx64>:\n" +msgstr "" + +#: ../src/readelf.c:7282 +#, c-format +msgid "" +"\n" +"Section [%Zu] '%s' is empty.\n" +msgstr "" + +#: ../src/readelf.c:7291 +#, c-format +msgid "" +"\n" +"String section [%Zu] '%s' contains %<PRIu64> bytes at offset %#0<PRIx64>:\n" +msgstr "" + +#: ../src/readelf.c:7338 +#, c-format +msgid "" +"\n" +"section [%lu] does not exist" +msgstr "" + +#: ../src/readelf.c:7364 +#, c-format +msgid "" +"\n" +"section '%s' does not exist" +msgstr "" + +#: ../src/readelf.c:7425 +#, c-format +msgid "cannot get symbol index of archive '%s': %s" +msgstr "" + +#: ../src/readelf.c:7428 +#, c-format +msgid "" +"\n" +"Archive '%s' has no symbol index\n" +msgstr "" + +#: ../src/readelf.c:7432 +#, c-format +msgid "" +"\n" +"Index of archive '%s' has %Zu entries:\n" +msgstr "" + +#: ../src/readelf.c:7450 +#, c-format +msgid "cannot extract member at offset %Zu in '%s': %s" +msgstr "" + +#: ../src/readelf.c:7455 +#, c-format +msgid "Archive member '%s' contains:\n" +msgstr "" + +#: ../src/size.c:68 +msgid "Use the output format FORMAT. FORMAT can be `bsd' or `sysv'. The default is `bsd'" +msgstr "" + +#: ../src/size.c:70 +msgid "Same as `--format=sysv'" +msgstr "" + +#: ../src/size.c:71 +msgid "Same as `--format=bsd'" +msgstr "" + +#: ../src/size.c:74 +msgid "Same as `--radix=10'" +msgstr "" + +#: ../src/size.c:75 +msgid "Same as `--radix=8'" +msgstr "" + +#: ../src/size.c:76 +msgid "Same as `--radix=16'" +msgstr "" + +#: ../src/size.c:78 +msgid "Similar to `--format=sysv' output but in one line" +msgstr "" + +#: ../src/size.c:82 +msgid "Print size and permission flags for loadable segments" +msgstr "" + +#: ../src/size.c:83 +msgid "Display the total sizes (bsd only)" +msgstr "" + +#. Short description of program. +#: ../src/size.c:88 +msgid "List section sizes of FILEs (a.out by default)." +msgstr "" + +#: ../src/size.c:269 +#, c-format +msgid "Invalid format: %s" +msgstr "" + +#: ../src/size.c:280 +#, c-format +msgid "Invalid radix: %s" +msgstr "" + +#: ../src/size.c:339 +#, c-format +msgid "%s: file format not recognized" +msgstr "" + +#: ../src/size.c:446 +#: ../src/size.c:589 +#, c-format +msgid " (ex %s)" +msgstr "" + +#: ../src/size.c:614 +msgid "(TOTALS)\n" +msgstr "" + +#: ../src/strip.c:73 +msgid "Place stripped output into FILE" +msgstr "" + +#: ../src/strip.c:74 +msgid "Extract the removed sections into FILE" +msgstr "" + +#: ../src/strip.c:75 +msgid "Embed name FILE instead of -f argument" +msgstr "" + +#: ../src/strip.c:79 +msgid "Remove all debugging symbols" +msgstr "" + +#: ../src/strip.c:83 +msgid "Copy modified/access timestamps to the output" +msgstr "" + +#: ../src/strip.c:85 +msgid "Remove .comment section" +msgstr "" + +#: ../src/strip.c:88 +msgid "Relax a few rules to handle slightly broken ELF files" +msgstr "" + +#. Short description of program. +#: ../src/strip.c:93 +msgid "Discard symbols from object files." +msgstr "" + +#: ../src/strip.c:185 +#, c-format +msgid "Only one input file allowed together with '-o' and '-f'" +msgstr "" + +#: ../src/strip.c:221 +#, c-format +msgid "-f option specified twice" +msgstr "" + +#: ../src/strip.c:230 +#, c-format +msgid "-F option specified twice" +msgstr "" + +#: ../src/strip.c:239 +#: ../src/unstrip.c:124 +#, c-format +msgid "-o option specified twice" +msgstr "" + +#: ../src/strip.c:259 +#, c-format +msgid "-R option supports only .comment section" +msgstr "" + +#: ../src/strip.c:297 +#: ../src/strip.c:321 +#, c-format +msgid "cannot stat input file '%s'" +msgstr "" + +#: ../src/strip.c:311 +#, c-format +msgid "while opening '%s'" +msgstr "" + +#: ../src/strip.c:349 +#, c-format +msgid "%s: cannot use -o or -f when stripping archive" +msgstr "" + +#: ../src/strip.c:447 +#, c-format +msgid "cannot open EBL backend" +msgstr "" + +#: ../src/strip.c:497 +#: ../src/strip.c:521 +#, c-format +msgid "cannot create new file '%s': %s" +msgstr "" + +#: ../src/strip.c:581 +#, c-format +msgid "illformed file '%s'" +msgstr "" + +#: ../src/strip.c:868 +#: ../src/strip.c:955 +#, c-format +msgid "while generating output file: %s" +msgstr "" + +#: ../src/strip.c:928 +#: ../src/strip.c:1667 +#, c-format +msgid "%s: error while creating ELF header: %s" +msgstr "" + +#: ../src/strip.c:942 +#, c-format +msgid "while preparing output for '%s'" +msgstr "" + +#: ../src/strip.c:993 +#: ../src/strip.c:1049 +#, c-format +msgid "while create section header section: %s" +msgstr "" + +#: ../src/strip.c:999 +#, c-format +msgid "cannot allocate section data: %s" +msgstr "" + +#: ../src/strip.c:1058 +#, c-format +msgid "while create section header string table: %s" +msgstr "" + +#: ../src/strip.c:1592 +#: ../src/strip.c:1689 +#, c-format +msgid "while writing '%s': %s" +msgstr "" + +#: ../src/strip.c:1603 +#, c-format +msgid "while creating '%s'" +msgstr "" + +#: ../src/strip.c:1615 +#, c-format +msgid "while computing checksum for debug information" +msgstr "" + +#: ../src/strip.c:1675 +#, c-format +msgid "%s: error while reading the file: %s" +msgstr "" + +#: ../src/strip.c:1721 +#: ../src/strip.c:1728 +#, c-format +msgid "error while finishing '%s': %s" +msgstr "" + +#: ../src/strip.c:1751 +#: ../src/strip.c:1808 +#, c-format +msgid "cannot set access and modification date of '%s'" +msgstr "" + +#: ../src/ld.c:87 +msgid "Input File Control:" +msgstr "" + +#: ../src/ld.c:89 +msgid "Include whole archives in the output from now on." +msgstr "" + +#: ../src/ld.c:91 +msgid "Stop including the whole arhives in the output." +msgstr "" + +#: ../src/ld.c:92 +#: ../src/ld.c:106 +#: ../src/ld.c:184 +msgid "FILE" +msgstr "" + +#: ../src/ld.c:93 +msgid "Start a group." +msgstr "" + +#: ../src/ld.c:94 +msgid "End a group." +msgstr "" + +#: ../src/ld.c:95 +msgid "PATH" +msgstr "" + +#: ../src/ld.c:96 +msgid "Add PATH to list of directories files are searched in." +msgstr "" + +#: ../src/ld.c:98 +msgid "Only set DT_NEEDED for following dynamic libs if actually used" +msgstr "" + +#: ../src/ld.c:100 +msgid "Always set DT_NEEDED for following dynamic libs" +msgstr "" + +#: ../src/ld.c:102 +msgid "Ignore LD_LIBRARY_PATH environment variable." +msgstr "" + +#: ../src/ld.c:105 +msgid "Output File Control:" +msgstr "" + +#: ../src/ld.c:106 +msgid "Place output in FILE." +msgstr "" + +#: ../src/ld.c:109 +msgid "Object is marked to not use default search path at runtime." +msgstr "" + +#: ../src/ld.c:111 +msgid "Same as --whole-archive." +msgstr "" + +#: ../src/ld.c:112 +msgid "Default rules of extracting from archive; weak references are not enough." +msgstr "" + +#: ../src/ld.c:116 +msgid "Weak references cause extraction from archive." +msgstr "" + +#: ../src/ld.c:118 +msgid "Allow multiple definitions; first is used." +msgstr "" + +#: ../src/ld.c:120 +msgid "Disallow/allow undefined symbols in DSOs." +msgstr "" + +#: ../src/ld.c:123 +msgid "Object requires immediate handling of $ORIGIN." +msgstr "" + +#: ../src/ld.c:125 +msgid "Relocation will not be processed lazily." +msgstr "" + +#: ../src/ld.c:127 +msgid "Object cannot be unloaded at runtime." +msgstr "" + +#: ../src/ld.c:129 +msgid "Mark object to be initialized first." +msgstr "" + +#: ../src/ld.c:131 +msgid "Enable/disable lazy-loading flag for following dependencies." +msgstr "" + +#: ../src/ld.c:133 +msgid "Mark object as not loadable with 'dlopen'." +msgstr "" + +#: ../src/ld.c:135 +msgid "Ignore/record dependencies on unused DSOs." +msgstr "" + +#: ../src/ld.c:137 +msgid "Generated DSO will be a system library." +msgstr "" + +#: ../src/ld.c:138 +msgid "ADDRESS" +msgstr "" + +#: ../src/ld.c:138 +msgid "Set entry point address." +msgstr "" + +#: ../src/ld.c:141 +msgid "Do not link against shared libraries." +msgstr "" + +#: ../src/ld.c:144 +msgid "Prefer linking against shared libraries." +msgstr "" + +#: ../src/ld.c:145 +msgid "Export all dynamic symbols." +msgstr "" + +#: ../src/ld.c:146 +msgid "Strip all symbols." +msgstr "" + +#: ../src/ld.c:147 +msgid "Strip debugging symbols." +msgstr "" + +#: ../src/ld.c:149 +msgid "Assume pagesize for the target system to be SIZE." +msgstr "" + +#: ../src/ld.c:151 +msgid "Set runtime DSO search path." +msgstr "" + +#: ../src/ld.c:154 +msgid "Set link time DSO search path." +msgstr "" + +#: ../src/ld.c:155 +msgid "Generate dynamic shared object." +msgstr "" + +#: ../src/ld.c:156 +msgid "Generate relocatable object." +msgstr "" + +#: ../src/ld.c:159 +msgid "Causes symbol not assigned to a version be reduced to local." +msgstr "" + +#: ../src/ld.c:160 +msgid "Remove unused sections." +msgstr "" + +#: ../src/ld.c:163 +msgid "Don't remove unused sections." +msgstr "" + +#: ../src/ld.c:164 +msgid "Set soname of shared object." +msgstr "" + +#: ../src/ld.c:165 +msgid "Set the dynamic linker name." +msgstr "" + +#: ../src/ld.c:168 +msgid "Add/suppress addition indentifying link-editor to .comment section." +msgstr "" + +#: ../src/ld.c:171 +msgid "Create .eh_frame_hdr section" +msgstr "" + +#: ../src/ld.c:173 +msgid "Set hash style to sysv, gnu or both." +msgstr "" + +#: ../src/ld.c:175 +msgid "Generate build ID note (md5, sha1 (default), uuid)." +msgstr "" + +#: ../src/ld.c:177 +msgid "Linker Operation Control:" +msgstr "" + +#: ../src/ld.c:178 +msgid "Verbose messages." +msgstr "" + +#: ../src/ld.c:179 +msgid "Trace file opens." +msgstr "" + +#: ../src/ld.c:181 +msgid "Trade speed for less memory usage" +msgstr "" + +#: ../src/ld.c:182 +msgid "LEVEL" +msgstr "" + +#: ../src/ld.c:183 +msgid "Set optimization level to LEVEL." +msgstr "" + +#: ../src/ld.c:184 +msgid "Use linker script in FILE." +msgstr "" + +#: ../src/ld.c:187 +msgid "Select to get parser debug information" +msgstr "" + +#: ../src/ld.c:190 +msgid "Read version information from FILE." +msgstr "" + +#: ../src/ld.c:191 +msgid "Set emulation to NAME." +msgstr "" + +#. Short description of program. +#: ../src/ld.c:197 +msgid "Combine object and archive files." +msgstr "" + +#. Strings for arguments in help texts. +#: ../src/ld.c:200 +msgid "[FILE]..." +msgstr "" + +#: ../src/ld.c:333 +#, c-format +msgid "At least one input file needed" +msgstr "" + +#: ../src/ld.c:349 +#, c-format +msgid "error while preparing linking" +msgstr "" + +#: ../src/ld.c:356 +#, c-format +msgid "cannot open linker script '%s'" +msgstr "" + +#: ../src/ld.c:397 +#, c-format +msgid "-( without matching -)" +msgstr "" + +#: ../src/ld.c:572 +#: ../src/ld.c:610 +#, c-format +msgid "only one option of -G and -r is allowed" +msgstr "" + +#: ../src/ld.c:594 +#, c-format +msgid "more than one '-m' parameter" +msgstr "" + +#: ../src/ld.c:604 +#: ../src/ld.c:1013 +#, c-format +msgid "unknown option `-%c %s'" +msgstr "" + +#: ../src/ld.c:646 +#, c-format +msgid "invalid page size value '%s': ignored" +msgstr "" + +#: ../src/ld.c:687 +#, c-format +msgid "invalid hash style '%s'" +msgstr "" + +#: ../src/ld.c:697 +#, c-format +msgid "invalid build-ID style '%s'" +msgstr "" + +#: ../src/ld.c:785 +#, c-format +msgid "More than one output file name given." +msgstr "" + +#: ../src/ld.c:802 +#, c-format +msgid "Invalid optimization level `%s'" +msgstr "" + +#: ../src/ld.c:850 +#, c-format +msgid "nested -( -) groups are not allowed" +msgstr "" + +#: ../src/ld.c:869 +#, c-format +msgid "-) without matching -(" +msgstr "" + +#: ../src/ld.c:1046 +#, c-format +msgid "unknown option '-%c %s'" +msgstr "" + +#: ../src/ld.c:1150 +#, c-format +msgid "could not find input file to determine output file format" +msgstr "" + +#: ../src/ld.c:1152 +#, c-format +msgid "try again with an appropriate '-m' parameter" +msgstr "" + +#: ../src/ld.c:1446 +#, c-format +msgid "cannot read version script '%s'" +msgstr "" + +#. The symbol is already defined and now again +#. in the linker script. This is an error. +#: ../src/ld.c:1512 +#: ../src/ld.c:1551 +#, c-format +msgid "duplicate definition of '%s' in linker script" +msgstr "" + +#: ../src/ldgeneric.c:209 +#: ../src/ldgeneric.c:5151 +#, c-format +msgid "cannot create string table" +msgstr "" + +#: ../src/ldgeneric.c:255 +#, c-format +msgid "cannot load ld backend library '%s': %s" +msgstr "" + +#: ../src/ldgeneric.c:265 +#, c-format +msgid "cannot find init function in ld backend library '%s': %s" +msgstr "" + +#: ../src/ldgeneric.c:310 +#, c-format +msgid "%s listed more than once as input" +msgstr "" + +#: ../src/ldgeneric.c:424 +#, c-format +msgid "%s (for -l%s)\n" +msgstr "" + +#: ../src/ldgeneric.c:425 +#, c-format +msgid "%s (for DT_NEEDED %s)\n" +msgstr "" + +#: ../src/ldgeneric.c:573 +#, c-format +msgid "Warning: type of `%s' changed from %s in %s to %s in %s" +msgstr "" + +#: ../src/ldgeneric.c:586 +#, c-format +msgid "Warning: size of `%s' changed from %<PRIu64> in %s to %<PRIu64> in %s" +msgstr "" + +#: ../src/ldgeneric.c:677 +#, c-format +msgid "(%s+%#<PRIx64>): multiple definition of %s `%s'\n" +msgstr "" + +#: ../src/ldgeneric.c:700 +#, c-format +msgid "(%s+%#<PRIx64>): first defined here\n" +msgstr "" + +#: ../src/ldgeneric.c:819 +#, c-format +msgid "%s: cannot get section group data: %s" +msgstr "" + +#. If we come here no section group contained the given section +#. despite the SHF_GROUP flag. This is an error in the input +#. file. +#: ../src/ldgeneric.c:840 +#, c-format +msgid "%s: section '%s' with group flag set does not belong to any group" +msgstr "" + +#: ../src/ldgeneric.c:885 +#, c-format +msgid "%s: section [%2d] '%s' is not in the correct section group" +msgstr "" + +#. This should never happen. +#: ../src/ldgeneric.c:1156 +#: ../src/ldgeneric.c:1413 +#: ../src/ldgeneric.c:1422 +#: ../src/ldgeneric.c:1481 +#: ../src/ldgeneric.c:1490 +#: ../src/ldgeneric.c:1753 +#: ../src/ldgeneric.c:2005 +#, c-format +msgid "%s: invalid ELF file (%s:%d)\n" +msgstr "" + +#: ../src/ldgeneric.c:1250 +#, c-format +msgid "%s: only files of type ET_REL might contain section groups" +msgstr "" + +#: ../src/ldgeneric.c:1302 +#, c-format +msgid "%s: cannot determine signature of section group [%2zd] '%s': %s" +msgstr "" + +#: ../src/ldgeneric.c:1314 +#, c-format +msgid "%s: cannot get content of section group [%2zd] '%s': %s'" +msgstr "" + +#: ../src/ldgeneric.c:1328 +#, c-format +msgid "%s: group member %zu of section group [%2zd] '%s' has too high index: %<PRIu32>" +msgstr "" + +#: ../src/ldgeneric.c:1350 +#, c-format +msgid "%s: section '%s' has unknown type: %d" +msgstr "" + +#: ../src/ldgeneric.c:1729 +#, c-format +msgid "cannot get descriptor for ELF file (%s:%d): %s\n" +msgstr "" + +#: ../src/ldgeneric.c:1899 +#, c-format +msgid "cannot read archive `%s': %s" +msgstr "" + +#: ../src/ldgeneric.c:2020 +#, c-format +msgid "file of type %s cannot be linked in\n" +msgstr "" + +#: ../src/ldgeneric.c:2032 +#, c-format +msgid "%s: input file incompatible with ELF machine type %s\n" +msgstr "" + +#: ../src/ldgeneric.c:2044 +#, c-format +msgid "%s: cannot get section header string table index: %s\n" +msgstr "" + +#: ../src/ldgeneric.c:2073 +#, c-format +msgid "cannot use DSO '%s' when generating relocatable object file" +msgstr "" + +#: ../src/ldgeneric.c:2158 +#, c-format +msgid "input file '%s' ignored" +msgstr "" + +#. XXX The error message should get better. It should use +#. the debugging information if present to tell where in the +#. sources the undefined reference is. +#: ../src/ldgeneric.c:2372 +#, c-format +msgid "undefined symbol `%s' in %s" +msgstr "" + +#: ../src/ldgeneric.c:2702 +#, c-format +msgid "cannot create ELF descriptor for output file: %s" +msgstr "" + +#: ../src/ldgeneric.c:2709 +#, c-format +msgid "could not create ELF header for output file: %s" +msgstr "" + +#: ../src/ldgeneric.c:3224 +#: ../src/ldgeneric.c:3294 +#: ../src/ldgeneric.c:3330 +#: ../src/ldgeneric.c:4457 +#: ../src/ldgeneric.c:4506 +#: ../src/ldgeneric.c:4538 +#: ../src/ldgeneric.c:4773 +#: ../src/ldgeneric.c:4828 +#: ../src/ldgeneric.c:5075 +#: ../src/ldgeneric.c:5131 +#: ../src/ldgeneric.c:5600 +#: ../src/ldgeneric.c:5612 +#, c-format +msgid "cannot create section for output file: %s" +msgstr "" + +#: ../src/ldgeneric.c:3444 +#, c-format +msgid "address computation expression contains variable '%s'" +msgstr "" + +#: ../src/ldgeneric.c:3489 +#, c-format +msgid "argument '%<PRIuMAX>' of ALIGN in address computation expression is no power of two" +msgstr "" + +#: ../src/ldgeneric.c:3684 +#, c-format +msgid "cannot find entry symbol '%s': defaulting to %#0*<PRIx64>" +msgstr "" + +#: ../src/ldgeneric.c:3690 +#, c-format +msgid "no entry symbol specified: defaulting to %#0*<PRIx64>" +msgstr "" + +#: ../src/ldgeneric.c:3920 +#, c-format +msgid "cannot create GNU hash table section for output file: %s" +msgstr "" + +#: ../src/ldgeneric.c:4071 +#, c-format +msgid "cannot create hash table section for output file: %s" +msgstr "" + +#: ../src/ldgeneric.c:4114 +#, c-format +msgid "cannot create build ID section: %s" +msgstr "" + +#: ../src/ldgeneric.c:4191 +#, c-format +msgid "cannot convert section data to file format: %s" +msgstr "" + +#: ../src/ldgeneric.c:4200 +#, c-format +msgid "cannot convert section data to memory format: %s" +msgstr "" + +#: ../src/ldgeneric.c:4261 +#, c-format +msgid "cannot read enough data for UUID" +msgstr "" + +#: ../src/ldgeneric.c:4358 +#: ../src/ldgeneric.c:4379 +#: ../src/ldgeneric.c:4408 +#: ../src/ldgeneric.c:6062 +#, c-format +msgid "cannot create symbol table for output file: %s" +msgstr "" + +#: ../src/ldgeneric.c:5300 +#: ../src/ldgeneric.c:5852 +#, c-format +msgid "section index too large in dynamic symbol table" +msgstr "" + +#: ../src/ldgeneric.c:5745 +#, c-format +msgid "cannot create versioning section: %s" +msgstr "" + +#: ../src/ldgeneric.c:5818 +#, c-format +msgid "cannot create dynamic symbol table for output file: %s" +msgstr "" + +#: ../src/ldgeneric.c:5994 +#, c-format +msgid "cannot create versioning data: %s" +msgstr "" + +#: ../src/ldgeneric.c:6094 +#: ../src/ldgeneric.c:6107 +#: ../src/ldgeneric.c:6171 +#: ../src/ldgeneric.c:6179 +#, c-format +msgid "cannot create section header string section: %s" +msgstr "" + +#: ../src/ldgeneric.c:6101 +#, c-format +msgid "cannot create section header string section" +msgstr "" + +#: ../src/ldgeneric.c:6259 +#, c-format +msgid "cannot create program header: %s" +msgstr "" + +#: ../src/ldgeneric.c:6267 +#, c-format +msgid "while determining file layout: %s" +msgstr "" + +#: ../src/ldgeneric.c:6388 +#, c-format +msgid "internal error: non-nobits section follows nobits section" +msgstr "" + +#: ../src/ldgeneric.c:6925 +#, c-format +msgid "cannot get header of 0th section: %s" +msgstr "" + +#: ../src/ldgeneric.c:6941 +#: ../src/unstrip.c:1807 +#, c-format +msgid "cannot update ELF header: %s" +msgstr "" + +#: ../src/ldgeneric.c:6972 +#, c-format +msgid "linker backend didn't specify function to relocate section" +msgstr "" + +#: ../src/ldgeneric.c:6984 +#, c-format +msgid "while writing output file: %s" +msgstr "" + +#: ../src/ldgeneric.c:6989 +#, c-format +msgid "while finishing output file: %s" +msgstr "" + +#: ../src/ldgeneric.c:6995 +#, c-format +msgid "cannot stat output file" +msgstr "" + +#: ../src/ldgeneric.c:7011 +#, c-format +msgid "WARNING: temporary output file overwritten before linking finished" +msgstr "" + +#. This cannot be implemented generally. There should have been a +#. machine dependent implementation and we should never have arrived +#. here. +#: ../src/ldgeneric.c:7064 +#: ../src/ldgeneric.c:7075 +#: ../src/ldgeneric.c:7086 +#: ../src/ldgeneric.c:7097 +#: ../src/ldgeneric.c:7116 +#: ../src/ldgeneric.c:7129 +#: ../src/ldgeneric.c:7141 +#, c-format +msgid "no machine specific '%s' implementation" +msgstr "" + +#: ../src/i386_ld.c:210 +#, c-format +msgid "cannot allocate PLT section: %s" +msgstr "" + +#: ../src/i386_ld.c:232 +#, c-format +msgid "cannot allocate PLTREL section: %s" +msgstr "" + +#: ../src/i386_ld.c:253 +#, c-format +msgid "cannot allocate GOT section: %s" +msgstr "" + +#: ../src/i386_ld.c:274 +#, c-format +msgid "cannot allocate GOTPLT section: %s" +msgstr "" + +#: ../src/i386_ld.c:661 +#, c-format +msgid "initial-executable TLS relocation cannot be used " +msgstr "" + +#: ../src/ldscript.y:178 +msgid "mode for segment invalid\n" +msgstr "" + +#: ../src/ldscript.y:465 +#, c-format +msgid "while reading version script '%s': %s at line %d" +msgstr "" + +#: ../src/ldscript.y:466 +#, c-format +msgid "while reading linker script '%s': %s at line %d" +msgstr "" + +#: ../src/ldscript.y:745 +#, c-format +msgid "symbol '%s' in declared both local and global for unnamed version" +msgstr "" + +#: ../src/ldscript.y:747 +#, c-format +msgid "symbol '%s' in declared both local and global for version '%s'" +msgstr "" + +#: ../src/ldscript.y:767 +#: ../src/ldscript.y:774 +#, c-format +msgid "default visibility set as local and global" +msgstr "" + +#: ../src/elflint.c:71 +msgid "Be extremely strict, flag level 2 features." +msgstr "" + +#: ../src/elflint.c:72 +msgid "Do not print anything if successful" +msgstr "" + +#: ../src/elflint.c:73 +msgid "Binary is a separate debuginfo file" +msgstr "" + +#: ../src/elflint.c:75 +msgid "Binary has been created with GNU ld and is therefore known to be broken in certain ways" +msgstr "" + +#. Short description of program. +#: ../src/elflint.c:81 +msgid "Pedantic checking of ELF files compliance with gABI/psABI spec." +msgstr "" + +#: ../src/elflint.c:165 +#, c-format +msgid "cannot generate Elf descriptor: %s\n" +msgstr "" + +#: ../src/elflint.c:184 +#, c-format +msgid "error while closing Elf descriptor: %s\n" +msgstr "" + +#: ../src/elflint.c:188 +msgid "No errors" +msgstr "" + +#: ../src/elflint.c:301 +#, c-format +msgid " error while freeing sub-ELF descriptor: %s\n" +msgstr "" + +#. We cannot do anything. +#: ../src/elflint.c:309 +#, c-format +msgid "Not an ELF file - it has the wrong magic bytes at the start\n" +msgstr "" + +#: ../src/elflint.c:368 +#, c-format +msgid "e_ident[%d] == %d is no known class\n" +msgstr "" + +#: ../src/elflint.c:373 +#, c-format +msgid "e_ident[%d] == %d is no known data encoding\n" +msgstr "" + +#: ../src/elflint.c:377 +#, c-format +msgid "unknown ELF header version number e_ident[%d] == %d\n" +msgstr "" + +#: ../src/elflint.c:382 +#, c-format +msgid "unsupported OS ABI e_ident[%d] == '%s'\n" +msgstr "" + +#: ../src/elflint.c:388 +#, c-format +msgid "unsupport ABI version e_ident[%d] == %d\n" +msgstr "" + +#: ../src/elflint.c:393 +#, c-format +msgid "e_ident[%zu] is not zero\n" +msgstr "" + +#: ../src/elflint.c:398 +#, c-format +msgid "unknown object file type %d\n" +msgstr "" + +#: ../src/elflint.c:405 +#, c-format +msgid "unknown machine type %d\n" +msgstr "" + +#: ../src/elflint.c:409 +#, c-format +msgid "unknown object file version\n" +msgstr "" + +#: ../src/elflint.c:415 +#, c-format +msgid "invalid program header offset\n" +msgstr "" + +#: ../src/elflint.c:417 +#, c-format +msgid "executables and DSOs cannot have zero program header offset\n" +msgstr "" + +#: ../src/elflint.c:421 +#, c-format +msgid "invalid number of program header entries\n" +msgstr "" + +#: ../src/elflint.c:429 +#, c-format +msgid "invalid section header table offset\n" +msgstr "" + +#: ../src/elflint.c:432 +#, c-format +msgid "section header table must be present\n" +msgstr "" + +#: ../src/elflint.c:446 +#, c-format +msgid "invalid number of section header table entries\n" +msgstr "" + +#: ../src/elflint.c:463 +#, c-format +msgid "invalid section header index\n" +msgstr "" + +#: ../src/elflint.c:468 +#, c-format +msgid "invalid machine flags: %s\n" +msgstr "" + +#: ../src/elflint.c:475 +#: ../src/elflint.c:492 +#, c-format +msgid "invalid ELF header size: %hd\n" +msgstr "" + +#: ../src/elflint.c:478 +#: ../src/elflint.c:495 +#, c-format +msgid "invalid program header size: %hd\n" +msgstr "" + +#: ../src/elflint.c:481 +#: ../src/elflint.c:498 +#, c-format +msgid "invalid program header position or size\n" +msgstr "" + +#: ../src/elflint.c:484 +#: ../src/elflint.c:501 +#, c-format +msgid "invalid section header size: %hd\n" +msgstr "" + +#: ../src/elflint.c:487 +#: ../src/elflint.c:504 +#, c-format +msgid "invalid section header position or size\n" +msgstr "" + +#: ../src/elflint.c:548 +#, c-format +msgid "section [%2d] '%s': section with SHF_GROUP flag set not part of a section group\n" +msgstr "" + +#: ../src/elflint.c:552 +#, c-format +msgid "section [%2d] '%s': section group [%2zu] '%s' does not preceed group member\n" +msgstr "" + +#: ../src/elflint.c:568 +#: ../src/elflint.c:1393 +#: ../src/elflint.c:1443 +#: ../src/elflint.c:1552 +#: ../src/elflint.c:2146 +#: ../src/elflint.c:2660 +#: ../src/elflint.c:2821 +#: ../src/elflint.c:2951 +#: ../src/elflint.c:3123 +#: ../src/elflint.c:4020 +#, c-format +msgid "section [%2d] '%s': cannot get section data\n" +msgstr "" + +#: ../src/elflint.c:581 +#: ../src/elflint.c:1559 +#, c-format +msgid "section [%2d] '%s': referenced as string table for section [%2d] '%s' but type is not SHT_STRTAB\n" +msgstr "" + +#: ../src/elflint.c:604 +#, c-format +msgid "section [%2d] '%s': symbol table cannot have more than one extended index section\n" +msgstr "" + +#: ../src/elflint.c:615 +#, c-format +msgid "section [%2u] '%s': entry size is does not match ElfXX_Sym\n" +msgstr "" + +#: ../src/elflint.c:624 +#, c-format +msgid "section [%2d] '%s': cannot get symbol %d: %s\n" +msgstr "" + +#: ../src/elflint.c:629 +#: ../src/elflint.c:632 +#: ../src/elflint.c:635 +#: ../src/elflint.c:638 +#: ../src/elflint.c:641 +#: ../src/elflint.c:644 +#, c-format +msgid "section [%2d] '%s': '%s' in zeroth entry not zero\n" +msgstr "" + +#: ../src/elflint.c:647 +#, c-format +msgid "section [%2d] '%s': XINDEX for zeroth entry not zero\n" +msgstr "" + +#: ../src/elflint.c:657 +#, c-format +msgid "section [%2d] '%s': cannot get symbol %zu: %s\n" +msgstr "" + +#: ../src/elflint.c:666 +#, c-format +msgid "section [%2d] '%s': symbol %zu: invalid name value\n" +msgstr "" + +#: ../src/elflint.c:679 +#, c-format +msgid "section [%2d] '%s': symbol %zu: too large section index but no extended section index section\n" +msgstr "" + +#: ../src/elflint.c:685 +#, c-format +msgid "section [%2d] '%s': symbol %zu: XINDEX used for index which would fit in st_shndx (%<PRIu32>)\n" +msgstr "" + +#. || sym->st_shndx > SHN_HIRESERVE always false +#: ../src/elflint.c:697 +#, c-format +msgid "section [%2d] '%s': symbol %zu: invalid section index\n" +msgstr "" + +#: ../src/elflint.c:705 +#, c-format +msgid "section [%2d] '%s': symbol %zu: unknown type\n" +msgstr "" + +#: ../src/elflint.c:709 +#, c-format +msgid "section [%2d] '%s': symbol %zu: unknown symbol binding\n" +msgstr "" + +#: ../src/elflint.c:717 +#, c-format +msgid "section [%2d] '%s': symbol %zu: COMMON only allowed in relocatable files\n" +msgstr "" + +#: ../src/elflint.c:721 +#, c-format +msgid "section [%2d] '%s': symbol %zu: local COMMON symbols are nonsense\n" +msgstr "" + +#: ../src/elflint.c:725 +#, c-format +msgid "section [%2d] '%s': symbol %zu: function in COMMON section is nonsense\n" +msgstr "" + +#: ../src/elflint.c:757 +#, c-format +msgid "section [%2d] '%s': symbol %zu: st_value out of bounds\n" +msgstr "" + +#: ../src/elflint.c:763 +#: ../src/elflint.c:788 +#: ../src/elflint.c:831 +#, c-format +msgid "section [%2d] '%s': symbol %zu does not fit completely in referenced section [%2d] '%s'\n" +msgstr "" + +#: ../src/elflint.c:772 +#, c-format +msgid "section [%2d] '%s': symbol %zu: referenced section [%2d] '%s' does not have SHF_TLS flag set\n" +msgstr "" + +#: ../src/elflint.c:782 +#: ../src/elflint.c:824 +#, c-format +msgid "section [%2d] '%s': symbol %zu: st_value out of bounds of referenced section [%2d] '%s'\n" +msgstr "" + +#: ../src/elflint.c:809 +#, c-format +msgid "section [%2d] '%s': symbol %zu: TLS symbol but no TLS program header entry\n" +msgstr "" + +#: ../src/elflint.c:817 +#, c-format +msgid "section [%2d] '%s': symbol %zu: st_value short of referenced section [%2d] '%s'\n" +msgstr "" + +#: ../src/elflint.c:844 +#, c-format +msgid "section [%2d] '%s': symbol %zu: local symbol outside range described in sh_info\n" +msgstr "" + +#: ../src/elflint.c:851 +#, c-format +msgid "section [%2d] '%s': symbol %zu: non-local symbol outside range described in sh_info\n" +msgstr "" + +#: ../src/elflint.c:858 +#, c-format +msgid "section [%2d] '%s': symbol %zu: non-local section symbol\n" +msgstr "" + +#: ../src/elflint.c:908 +#, c-format +msgid "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to bad section [%2d]\n" +msgstr "" + +#: ../src/elflint.c:915 +#, c-format +msgid "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol refers to section [%2d] '%s'\n" +msgstr "" + +#. This test is more strict than the psABIs which +#. usually allow the symbol to be in the middle of +#. the .got section, allowing negative offsets. +#: ../src/elflint.c:931 +#, c-format +msgid "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol value %#<PRIx64> does not match %s section address %#<PRIx64>\n" +msgstr "" + +#: ../src/elflint.c:938 +#, c-format +msgid "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol size %<PRIu64> does not match %s section size %<PRIu64>\n" +msgstr "" + +#: ../src/elflint.c:946 +#, c-format +msgid "section [%2d] '%s': _GLOBAL_OFFSET_TABLE_ symbol present, but no .got section\n" +msgstr "" + +#: ../src/elflint.c:962 +#, c-format +msgid "section [%2d] '%s': _DYNAMIC_ symbol value %#<PRIx64> does not match dynamic segment address %#<PRIx64>\n" +msgstr "" + +#: ../src/elflint.c:969 +#, c-format +msgid "section [%2d] '%s': _DYNAMIC symbol size %<PRIu64> does not match dynamic segment size %<PRIu64>\n" +msgstr "" + +#: ../src/elflint.c:1020 +#, c-format +msgid "section [%2d] '%s': DT_RELCOUNT used for this RELA section\n" +msgstr "" + +#: ../src/elflint.c:1029 +#: ../src/elflint.c:1081 +#, c-format +msgid "section [%2d] '%s': DT_RELCOUNT value %d too high for this section\n" +msgstr "" + +#: ../src/elflint.c:1054 +#: ../src/elflint.c:1106 +#, c-format +msgid "section [%2d] '%s': relative relocations after index %d as specified by DT_RELCOUNT\n" +msgstr "" + +#: ../src/elflint.c:1060 +#: ../src/elflint.c:1112 +#, c-format +msgid "section [%2d] '%s': non-relative relocation at index %zu; DT_RELCOUNT specified %d relative relocations\n" +msgstr "" + +#: ../src/elflint.c:1072 +#, c-format +msgid "section [%2d] '%s': DT_RELACOUNT used for this REL section\n" +msgstr "" + +#: ../src/elflint.c:1154 +#, c-format +msgid "section [%2d] '%s': invalid destination section index\n" +msgstr "" + +#: ../src/elflint.c:1167 +#, c-format +msgid "section [%2d] '%s': invalid destination section type\n" +msgstr "" + +#: ../src/elflint.c:1175 +#, c-format +msgid "section [%2d] '%s': sh_info should be zero\n" +msgstr "" + +#: ../src/elflint.c:1182 +#, c-format +msgid "section [%2d] '%s': no relocations for merge-able sections possible\n" +msgstr "" + +#: ../src/elflint.c:1189 +#, c-format +msgid "section [%2d] '%s': section entry size does not match ElfXX_Rela\n" +msgstr "" + +#: ../src/elflint.c:1249 +#, c-format +msgid "text relocation flag set but there is no read-only segment\n" +msgstr "" + +#: ../src/elflint.c:1276 +#, c-format +msgid "section [%2d] '%s': relocation %zu: invalid type\n" +msgstr "" + +#: ../src/elflint.c:1284 +#, c-format +msgid "section [%2d] '%s': relocation %zu: relocation type invalid for the file type\n" +msgstr "" + +#: ../src/elflint.c:1292 +#, c-format +msgid "section [%2d] '%s': relocation %zu: invalid symbol index\n" +msgstr "" + +#: ../src/elflint.c:1310 +#, c-format +msgid "section [%2d] '%s': relocation %zu: only symbol '_GLOBAL_OFFSET_TABLE_' can be used with %s\n" +msgstr "" + +#: ../src/elflint.c:1327 +#, c-format +msgid "section [%2d] '%s': relocation %zu: offset out of bounds\n" +msgstr "" + +#: ../src/elflint.c:1342 +#, c-format +msgid "section [%2d] '%s': relocation %zu: copy relocation against symbol of type %s\n" +msgstr "" + +#: ../src/elflint.c:1363 +#, c-format +msgid "section [%2d] '%s': relocation %zu: read-only section modified but text relocation flag not set\n" +msgstr "" + +#: ../src/elflint.c:1378 +#, c-format +msgid "section [%2d] '%s': relocations are against loaded and unloaded data\n" +msgstr "" + +#: ../src/elflint.c:1417 +#: ../src/elflint.c:1467 +#, c-format +msgid "section [%2d] '%s': cannot get relocation %zu: %s\n" +msgstr "" + +#: ../src/elflint.c:1547 +#, c-format +msgid "more than one dynamic section present\n" +msgstr "" + +#: ../src/elflint.c:1565 +#, c-format +msgid "section [%2d] '%s': section entry size does not match ElfXX_Dyn\n" +msgstr "" + +#: ../src/elflint.c:1570 +#: ../src/elflint.c:1862 +#, c-format +msgid "section [%2d] '%s': sh_info not zero\n" +msgstr "" + +#: ../src/elflint.c:1580 +#, c-format +msgid "section [%2d] '%s': cannot get dynamic section entry %zu: %s\n" +msgstr "" + +#: ../src/elflint.c:1588 +#, c-format +msgid "section [%2d] '%s': non-DT_NULL entries follow DT_NULL entry\n" +msgstr "" + +#: ../src/elflint.c:1595 +#, c-format +msgid "section [%2d] '%s': entry %zu: unknown tag\n" +msgstr "" + +#: ../src/elflint.c:1606 +#, c-format +msgid "section [%2d] '%s': entry %zu: more than one entry with tag %s\n" +msgstr "" + +#: ../src/elflint.c:1616 +#, c-format +msgid "section [%2d] '%s': entry %zu: level 2 tag %s used\n" +msgstr "" + +#: ../src/elflint.c:1634 +#, c-format +msgid "section [%2d] '%s': entry %zu: DT_PLTREL value must be DT_REL or DT_RELA\n" +msgstr "" + +#: ../src/elflint.c:1656 +#, c-format +msgid "section [%2d] '%s': entry %zu: pointer does not match address of section [%2d] '%s' referenced by sh_link\n" +msgstr "" + +#: ../src/elflint.c:1699 +#, c-format +msgid "section [%2d] '%s': entry %zu: %s value must point into loaded segment\n" +msgstr "" + +#: ../src/elflint.c:1714 +#, c-format +msgid "section [%2d] '%s': entry %zu: %s value must be valid offset in section [%2d] '%s'\n" +msgstr "" + +#: ../src/elflint.c:1734 +#: ../src/elflint.c:1762 +#, c-format +msgid "section [%2d] '%s': contains %s entry but not %s\n" +msgstr "" + +#: ../src/elflint.c:1746 +#, c-format +msgid "section [%2d] '%s': mandatory tag %s not present\n" +msgstr "" + +#: ../src/elflint.c:1755 +#, c-format +msgid "section [%2d] '%s': no hash section present\n" +msgstr "" + +#: ../src/elflint.c:1770 +#: ../src/elflint.c:1777 +#, c-format +msgid "section [%2d] '%s': not all of %s, %s, and %s are present\n" +msgstr "" + +#: ../src/elflint.c:1787 +#: ../src/elflint.c:1791 +#, c-format +msgid "section [%2d] '%s': %s tag missing in DSO marked during prelinking\n" +msgstr "" + +#: ../src/elflint.c:1797 +#, c-format +msgid "section [%2d] '%s': non-DSO file marked as dependency during prelink\n" +msgstr "" + +#: ../src/elflint.c:1808 +#: ../src/elflint.c:1812 +#: ../src/elflint.c:1816 +#: ../src/elflint.c:1820 +#, c-format +msgid "section [%2d] '%s': %s tag missing in prelinked executable\n" +msgstr "" + +#: ../src/elflint.c:1832 +#, c-format +msgid "section [%2d] '%s': only relocatable files can have extended section index\n" +msgstr "" + +#: ../src/elflint.c:1842 +#, c-format +msgid "section [%2d] '%s': extended section index section not for symbol table\n" +msgstr "" + +#: ../src/elflint.c:1847 +#, c-format +msgid "cannot get data for symbol section\n" +msgstr "" + +#: ../src/elflint.c:1850 +#, c-format +msgid "section [%2d] '%s': entry size does not match Elf32_Word\n" +msgstr "" + +#: ../src/elflint.c:1857 +#, c-format +msgid "section [%2d] '%s': extended index table too small for symbol table\n" +msgstr "" + +#: ../src/elflint.c:1872 +#, c-format +msgid "section [%2d] '%s': extended section index in section [%2zu] '%s' refers to same symbol table\n" +msgstr "" + +#: ../src/elflint.c:1883 +#, c-format +msgid "symbol 0 should have zero extended section index\n" +msgstr "" + +#: ../src/elflint.c:1895 +#, c-format +msgid "cannot get data for symbol %zu\n" +msgstr "" + +#: ../src/elflint.c:1900 +#, c-format +msgid "extended section index is %<PRIu32> but symbol index is not XINDEX\n" +msgstr "" + +#: ../src/elflint.c:1916 +#: ../src/elflint.c:1957 +#, c-format +msgid "section [%2d] '%s': hash table section is too small (is %ld, expected %ld)\n" +msgstr "" + +#: ../src/elflint.c:1928 +#: ../src/elflint.c:1969 +#, c-format +msgid "section [%2d] '%s': chain array too large\n" +msgstr "" + +#: ../src/elflint.c:1937 +#: ../src/elflint.c:1978 +#, c-format +msgid "section [%2d] '%s': hash bucket reference %zu out of bounds\n" +msgstr "" + +#: ../src/elflint.c:1943 +#, c-format +msgid "section [%2d] '%s': hash chain reference %zu out of bounds\n" +msgstr "" + +#: ../src/elflint.c:1984 +#, c-format +msgid "section [%2d] '%s': hash chain reference %<PRIu64> out of bounds\n" +msgstr "" + +#: ../src/elflint.c:1999 +#, c-format +msgid "section [%2d] '%s': bitmask size not power of 2: %u\n" +msgstr "" + +#: ../src/elflint.c:2010 +#, c-format +msgid "section [%2d] '%s': hash table section is too small (is %ld, expected at least%ld)\n" +msgstr "" + +#: ../src/elflint.c:2018 +#, c-format +msgid "section [%2d] '%s': 2nd hash function shift too big: %u\n" +msgstr "" + +#: ../src/elflint.c:2050 +#, c-format +msgid "section [%2d] '%s': hash chain for bucket %zu lower than symbol index bias\n" +msgstr "" + +#: ../src/elflint.c:2071 +#, c-format +msgid "section [%2d] '%s': symbol %u referenced in chain for bucket %zu is undefined\n" +msgstr "" + +#: ../src/elflint.c:2082 +#, c-format +msgid "section [%2d] '%s': hash value for symbol %u in chain for bucket %zu wrong\n" +msgstr "" + +#: ../src/elflint.c:2113 +#, c-format +msgid "section [%2d] '%s': hash chain for bucket %zu out of bounds\n" +msgstr "" + +#: ../src/elflint.c:2118 +#, c-format +msgid "section [%2d] '%s': symbol reference in chain for bucket %zu out of bounds\n" +msgstr "" + +#: ../src/elflint.c:2124 +#, c-format +msgid "section [%2d] '%s': bitmask does not match names in the hash table\n" +msgstr "" + +#: ../src/elflint.c:2137 +#, c-format +msgid "section [%2d] '%s': relocatable files cannot have hash tables\n" +msgstr "" + +#: ../src/elflint.c:2155 +#, c-format +msgid "section [%2d] '%s': hash table not for dynamic symbol table\n" +msgstr "" + +#: ../src/elflint.c:2163 +#, c-format +msgid "section [%2d] '%s': hash table entry size incorrect\n" +msgstr "" + +#: ../src/elflint.c:2168 +#, c-format +msgid "section [%2d] '%s': not marked to be allocated\n" +msgstr "" + +#: ../src/elflint.c:2173 +#, c-format +msgid "section [%2d] '%s': hash table has not even room for initial administrative entries\n" +msgstr "" + +#: ../src/elflint.c:2221 +#, c-format +msgid "sh_link in hash sections [%2zu] '%s' and [%2zu] '%s' not identical\n" +msgstr "" + +#: ../src/elflint.c:2299 +#: ../src/elflint.c:2303 +#, c-format +msgid "section [%2zu] '%s': reference to symbol index 0\n" +msgstr "" + +#: ../src/elflint.c:2310 +#, c-format +msgid "symbol %d referenced in new hash table in [%2zu] '%s' but not in old hash table in [%2zu] '%s'\n" +msgstr "" + +#: ../src/elflint.c:2322 +#, c-format +msgid "symbol %d referenced in old hash table in [%2zu] '%s' but not in new hash table in [%2zu] '%s'\n" +msgstr "" + +#: ../src/elflint.c:2338 +#, c-format +msgid "section [%2d] '%s': nonzero sh_%s for NULL section\n" +msgstr "" + +#: ../src/elflint.c:2358 +#, c-format +msgid "section [%2d] '%s': section groups only allowed in relocatable object files\n" +msgstr "" + +#: ../src/elflint.c:2369 +#, c-format +msgid "section [%2d] '%s': cannot get symbol table: %s\n" +msgstr "" + +#: ../src/elflint.c:2374 +#, c-format +msgid "section [%2d] '%s': section reference in sh_link is no symbol table\n" +msgstr "" + +#: ../src/elflint.c:2380 +#, c-format +msgid "section [%2d] '%s': invalid symbol index in sh_info\n" +msgstr "" + +#: ../src/elflint.c:2385 +#, c-format +msgid "section [%2d] '%s': sh_flags not zero\n" +msgstr "" + +#: ../src/elflint.c:2392 +#, c-format +msgid "section [%2d] '%s': cannot get symbol for signature\n" +msgstr "" + +#: ../src/elflint.c:2397 +#, c-format +msgid "section [%2d] '%s': signature symbol canot be empty string\n" +msgstr "" + +#: ../src/elflint.c:2403 +#, c-format +msgid "section [%2d] '%s': sh_flags not set correctly\n" +msgstr "" + +#: ../src/elflint.c:2409 +#, c-format +msgid "section [%2d] '%s': cannot get data: %s\n" +msgstr "" + +#: ../src/elflint.c:2418 +#, c-format +msgid "section [%2d] '%s': section size not multiple of sizeof(Elf32_Word)\n" +msgstr "" + +#: ../src/elflint.c:2423 +#, c-format +msgid "section [%2d] '%s': section group without flags word\n" +msgstr "" + +#: ../src/elflint.c:2429 +#, c-format +msgid "section [%2d] '%s': section group without member\n" +msgstr "" + +#: ../src/elflint.c:2433 +#, c-format +msgid "section [%2d] '%s': section group with only one member\n" +msgstr "" + +#: ../src/elflint.c:2444 +#, c-format +msgid "section [%2d] '%s': unknown section group flags\n" +msgstr "" + +#: ../src/elflint.c:2456 +#, c-format +msgid "section [%2d] '%s': section index %Zu out of range\n" +msgstr "" + +#: ../src/elflint.c:2465 +#, c-format +msgid "section [%2d] '%s': cannot get section header for element %zu: %s\n" +msgstr "" + +#: ../src/elflint.c:2472 +#, c-format +msgid "section [%2d] '%s': section group contains another group [%2d] '%s'\n" +msgstr "" + +#: ../src/elflint.c:2478 +#, c-format +msgid "section [%2d] '%s': element %Zu references section [%2d] '%s' without SHF_GROUP flag set\n" +msgstr "" + +#: ../src/elflint.c:2485 +#, c-format +msgid "section [%2d] '%s' is contained in more than one section group\n" +msgstr "" + +#: ../src/elflint.c:2674 +#, c-format +msgid "section [%2d] '%s' refers in sh_link to section [%2d] '%s' which is no dynamic symbol table\n" +msgstr "" + +#: ../src/elflint.c:2685 +#, c-format +msgid "section [%2d] '%s' has different number of entries than symbol table [%2d] '%s'\n" +msgstr "" + +#: ../src/elflint.c:2701 +#, c-format +msgid "section [%2d] '%s': symbol %d: cannot read version data\n" +msgstr "" + +#: ../src/elflint.c:2717 +#, c-format +msgid "section [%2d] '%s': symbol %d: local symbol with global scope\n" +msgstr "" + +#: ../src/elflint.c:2725 +#, c-format +msgid "section [%2d] '%s': symbol %d: local symbol with version\n" +msgstr "" + +#: ../src/elflint.c:2739 +#, c-format +msgid "section [%2d] '%s': symbol %d: invalid version index %d\n" +msgstr "" + +#: ../src/elflint.c:2744 +#, c-format +msgid "section [%2d] '%s': symbol %d: version index %d is for defined version\n" +msgstr "" + +#: ../src/elflint.c:2754 +#, c-format +msgid "section [%2d] '%s': symbol %d: version index %d is for requested version\n" +msgstr "" + +#: ../src/elflint.c:2806 +#, c-format +msgid "more than one version reference section present\n" +msgstr "" + +#: ../src/elflint.c:2814 +#: ../src/elflint.c:2943 +#, c-format +msgid "section [%2d] '%s': sh_link does not link to string table\n" +msgstr "" + +#: ../src/elflint.c:2837 +#: ../src/elflint.c:2995 +#, c-format +msgid "section [%2d] '%s': entry %d has wrong version %d\n" +msgstr "" + +#: ../src/elflint.c:2843 +#: ../src/elflint.c:3001 +#, c-format +msgid "section [%2d] '%s': entry %d has wrong offset of auxiliary data\n" +msgstr "" + +#: ../src/elflint.c:2851 +#, c-format +msgid "section [%2d] '%s': entry %d has invalid file reference\n" +msgstr "" + +#: ../src/elflint.c:2859 +#, c-format +msgid "section [%2d] '%s': entry %d references unknown dependency\n" +msgstr "" + +#: ../src/elflint.c:2871 +#, c-format +msgid "section [%2d] '%s': auxiliary entry %d of entry %d has unknown flag\n" +msgstr "" + +#: ../src/elflint.c:2878 +#, c-format +msgid "section [%2d] '%s': auxiliary entry %d of entry %d has invalid name reference\n" +msgstr "" + +#: ../src/elflint.c:2885 +#, c-format +msgid "section [%2d] '%s': auxiliary entry %d of entry %d has wrong hash value: %#x, expected %#x\n" +msgstr "" + +#: ../src/elflint.c:2895 +#, c-format +msgid "section [%2d] '%s': auxiliary entry %d of entry %d has duplicate version name '%s'\n" +msgstr "" + +#: ../src/elflint.c:2906 +#, c-format +msgid "section [%2d] '%s': auxiliary entry %d of entry %d has wrong next field\n" +msgstr "" + +#: ../src/elflint.c:2922 +#: ../src/elflint.c:3080 +#, c-format +msgid "section [%2d] '%s': entry %d has invalid offset to next entry\n" +msgstr "" + +#: ../src/elflint.c:2935 +#, c-format +msgid "more than one version definition section present\n" +msgstr "" + +#: ../src/elflint.c:2980 +#, c-format +msgid "section [%2d] '%s': more than one BASE definition\n" +msgstr "" + +#: ../src/elflint.c:2984 +#, c-format +msgid "section [%2d] '%s': BASE definition must have index VER_NDX_GLOBAL\n" +msgstr "" + +#: ../src/elflint.c:2990 +#, c-format +msgid "section [%2d] '%s': entry %d has unknown flag\n" +msgstr "" + +#: ../src/elflint.c:3014 +#, c-format +msgid "section [%2d] '%s': entry %d has invalid name reference\n" +msgstr "" + +#: ../src/elflint.c:3021 +#, c-format +msgid "section [%2d] '%s': entry %d has wrong hash value: %#x, expected %#x\n" +msgstr "" + +#: ../src/elflint.c:3030 +#, c-format +msgid "section [%2d] '%s': entry %d has duplicate version name '%s'\n" +msgstr "" + +#: ../src/elflint.c:3049 +#, c-format +msgid "section [%2d] '%s': entry %d has invalid name reference in auxiliary data\n" +msgstr "" + +#: ../src/elflint.c:3064 +#, c-format +msgid "section [%2d] '%s': entry %d has wrong next field in auxiliary data\n" +msgstr "" + +#: ../src/elflint.c:3086 +#, c-format +msgid "section [%2d] '%s': no BASE definition\n" +msgstr "" + +#: ../src/elflint.c:3102 +#, c-format +msgid "section [%2d] '%s': unknown parent version '%s'\n" +msgstr "" + +#: ../src/elflint.c:3115 +#, c-format +msgid "section [%2d] '%s': empty object attributes section\n" +msgstr "" + +#: ../src/elflint.c:3136 +#, c-format +msgid "section [%2d] '%s': unrecognized attribute format\n" +msgstr "" + +#: ../src/elflint.c:3152 +#, c-format +msgid "section [%2d] '%s': offset %zu: zero length field in attribute section\n" +msgstr "" + +#: ../src/elflint.c:3161 +#, c-format +msgid "section [%2d] '%s': offset %zu: invalid length in attribute section\n" +msgstr "" + +#: ../src/elflint.c:3173 +#, c-format +msgid "section [%2d] '%s': offset %zu: unterminated vendor name string\n" +msgstr "" + +#: ../src/elflint.c:3190 +#, c-format +msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute subsection tag\n" +msgstr "" + +#: ../src/elflint.c:3199 +#, c-format +msgid "section [%2d] '%s': offset %zu: truncated attribute section\n" +msgstr "" + +#: ../src/elflint.c:3208 +#, c-format +msgid "section [%2d] '%s': offset %zu: zero length field in attribute subsection\n" +msgstr "" + +#: ../src/elflint.c:3221 +#, c-format +msgid "section [%2d] '%s': offset %zu: invalid length in attribute subsection\n" +msgstr "" + +#. Tag_File +#: ../src/elflint.c:3232 +#, c-format +msgid "section [%2d] '%s': offset %zu: attribute subsection has unexpected tag %u\n" +msgstr "" + +#: ../src/elflint.c:3250 +#, c-format +msgid "section [%2d] '%s': offset %zu: endless ULEB128 in attribute tag\n" +msgstr "" + +#: ../src/elflint.c:3261 +#, c-format +msgid "section [%2d] '%s': offset %zu: unterminated string in attribute\n" +msgstr "" + +#: ../src/elflint.c:3274 +#, c-format +msgid "section [%2d] '%s': offset %zu: unrecognized attribute tag %u\n" +msgstr "" + +#: ../src/elflint.c:3278 +#, c-format +msgid "section [%2d] '%s': offset %zu: unrecognized %s attribute value %<PRIu64>\n" +msgstr "" + +#: ../src/elflint.c:3288 +#, c-format +msgid "section [%2d] '%s': offset %zu: vendor '%s' unknown\n" +msgstr "" + +#: ../src/elflint.c:3294 +#, c-format +msgid "section [%2d] '%s': offset %zu: extra bytes after last attribute section\n" +msgstr "" + +#: ../src/elflint.c:3383 +#, c-format +msgid "cannot get section header of zeroth section\n" +msgstr "" + +#: ../src/elflint.c:3387 +#, c-format +msgid "zeroth section has nonzero name\n" +msgstr "" + +#: ../src/elflint.c:3389 +#, c-format +msgid "zeroth section has nonzero type\n" +msgstr "" + +#: ../src/elflint.c:3391 +#, c-format +msgid "zeroth section has nonzero flags\n" +msgstr "" + +#: ../src/elflint.c:3393 +#, c-format +msgid "zeroth section has nonzero address\n" +msgstr "" + +#: ../src/elflint.c:3395 +#, c-format +msgid "zeroth section has nonzero offset\n" +msgstr "" + +#: ../src/elflint.c:3397 +#, c-format +msgid "zeroth section has nonzero info field\n" +msgstr "" + +#: ../src/elflint.c:3399 +#, c-format +msgid "zeroth section has nonzero align value\n" +msgstr "" + +#: ../src/elflint.c:3401 +#, c-format +msgid "zeroth section has nonzero entry size value\n" +msgstr "" + +#: ../src/elflint.c:3404 +#, c-format +msgid "zeroth section has nonzero size value while ELF header has nonzero shnum value\n" +msgstr "" + +#: ../src/elflint.c:3408 +#, c-format +msgid "zeroth section has nonzero link value while ELF header does not signal overflow in shstrndx\n" +msgstr "" + +#: ../src/elflint.c:3425 +#, c-format +msgid "cannot get section header for section [%2zu] '%s': %s\n" +msgstr "" + +#: ../src/elflint.c:3434 +#, c-format +msgid "section [%2zu]: invalid name\n" +msgstr "" + +#: ../src/elflint.c:3461 +#, c-format +msgid "section [%2d] '%s' has wrong type: expected %s, is %s\n" +msgstr "" + +#: ../src/elflint.c:3477 +#, c-format +msgid "section [%2zu] '%s' has wrong flags: expected %s, is %s\n" +msgstr "" + +#: ../src/elflint.c:3494 +#, c-format +msgid "section [%2zu] '%s' has wrong flags: expected %s and possibly %s, is %s\n" +msgstr "" + +#: ../src/elflint.c:3512 +#, c-format +msgid "section [%2zu] '%s' present in object file\n" +msgstr "" + +#: ../src/elflint.c:3518 +#: ../src/elflint.c:3550 +#, c-format +msgid "section [%2zu] '%s' has SHF_ALLOC flag set but there is no loadable segment\n" +msgstr "" + +#: ../src/elflint.c:3523 +#: ../src/elflint.c:3555 +#, c-format +msgid "section [%2zu] '%s' has SHF_ALLOC flag not set but there are loadable segments\n" +msgstr "" + +#: ../src/elflint.c:3531 +#, c-format +msgid "section [%2zu] '%s' is extension section index table in non-object file\n" +msgstr "" + +#: ../src/elflint.c:3574 +#, c-format +msgid "section [%2zu] '%s': size not multiple of entry size\n" +msgstr "" + +#: ../src/elflint.c:3579 +#, c-format +msgid "cannot get section header\n" +msgstr "" + +#: ../src/elflint.c:3589 +#, c-format +msgid "section [%2zu] '%s' has unsupported type %d\n" +msgstr "" + +#: ../src/elflint.c:3603 +#, c-format +msgid "section [%2zu] '%s' contains invalid processor-specific flag(s) %#<PRIx64>\n" +msgstr "" + +#: ../src/elflint.c:3610 +#, c-format +msgid "section [%2zu] '%s' contains unknown flag(s) %#<PRIx64>\n" +msgstr "" + +#: ../src/elflint.c:3618 +#, c-format +msgid "section [%2zu] '%s': thread-local data sections address not zero\n" +msgstr "" + +#: ../src/elflint.c:3626 +#, c-format +msgid "section [%2zu] '%s': invalid section reference in link value\n" +msgstr "" + +#: ../src/elflint.c:3631 +#, c-format +msgid "section [%2zu] '%s': invalid section reference in info value\n" +msgstr "" + +#: ../src/elflint.c:3638 +#, c-format +msgid "section [%2zu] '%s': strings flag set without merge flag\n" +msgstr "" + +#: ../src/elflint.c:3643 +#, c-format +msgid "section [%2zu] '%s': merge flag set but entry size is zero\n" +msgstr "" + +#: ../src/elflint.c:3661 +#, c-format +msgid "section [%2zu] '%s' has unexpected type %d for an executable section\n" +msgstr "" + +#: ../src/elflint.c:3670 +#, c-format +msgid "section [%2zu] '%s' is both executable and writable\n" +msgstr "" + +#: ../src/elflint.c:3697 +#, c-format +msgid "section [%2zu] '%s' not fully contained in segment of program header entry %d\n" +msgstr "" + +#: ../src/elflint.c:3705 +#, 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:3714 +#, 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:3725 +#, c-format +msgid "section [%2zu] '%s' is executable in nonexecutable segment %d\n" +msgstr "" + +#: ../src/elflint.c:3735 +#, c-format +msgid "section [%2zu] '%s' is writable in unwritable segment %d\n" +msgstr "" + +#: ../src/elflint.c:3745 +#, c-format +msgid "section [%2zu] '%s': alloc flag set but section not in any loaded segment\n" +msgstr "" + +#: ../src/elflint.c:3751 +#, 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:3759 +#, c-format +msgid "section [%2zu] '%s': relocatable files cannot have dynamic symbol tables\n" +msgstr "" + +#: ../src/elflint.c:3810 +#, c-format +msgid "more than one version symbol table present\n" +msgstr "" + +#: ../src/elflint.c:3833 +#, c-format +msgid "INTERP program header entry but no .interp section\n" +msgstr "" + +#: ../src/elflint.c:3844 +#, c-format +msgid "loadable segment [%u] is executable but contains no executable sections\n" +msgstr "" + +#: ../src/elflint.c:3850 +#, c-format +msgid "loadable segment [%u] is writable but contains no writable sections\n" +msgstr "" + +#: ../src/elflint.c:3861 +#, c-format +msgid "no .gnu.versym section present but .gnu.versym_d or .gnu.versym_r section exist\n" +msgstr "" + +#: ../src/elflint.c:3874 +#, c-format +msgid "duplicate version index %d\n" +msgstr "" + +#: ../src/elflint.c:3888 +#, c-format +msgid ".gnu.versym section present without .gnu.versym_d or .gnu.versym_r\n" +msgstr "" + +#: ../src/elflint.c:3937 +#, c-format +msgid "phdr[%d]: unknown core file note type %<PRIu32> at offset %<PRIu64>\n" +msgstr "" + +#: ../src/elflint.c:3941 +#, c-format +msgid "section [%2d] '%s': unknown core file note type %<PRIu32> at offset %Zu\n" +msgstr "" + +#: ../src/elflint.c:3963 +#, c-format +msgid "phdr[%d]: unknown object file note type %<PRIu32> at offset %Zu\n" +msgstr "" + +#: ../src/elflint.c:3967 +#, c-format +msgid "section [%2d] '%s': unknown object file note type %<PRIu32> at offset %Zu\n" +msgstr "" + +#: ../src/elflint.c:3984 +#, c-format +msgid "phdr[%d]: no note entries defined for the type of file\n" +msgstr "" + +#: ../src/elflint.c:4003 +#, c-format +msgid "phdr[%d]: cannot get content of note section: %s\n" +msgstr "" + +#: ../src/elflint.c:4006 +#, c-format +msgid "phdr[%d]: extra %<PRIu64> bytes after last note\n" +msgstr "" + +#: ../src/elflint.c:4027 +#, c-format +msgid "section [%2d] '%s': no note entries defined for the type of file\n" +msgstr "" + +#: ../src/elflint.c:4034 +#, c-format +msgid "section [%2d] '%s': cannot get content of note section\n" +msgstr "" + +#: ../src/elflint.c:4037 +#, c-format +msgid "section [%2d] '%s': extra %<PRIu64> bytes after last note\n" +msgstr "" + +#: ../src/elflint.c:4055 +#, c-format +msgid "only executables, shared objects, and core files can have program headers\n" +msgstr "" + +#: ../src/elflint.c:4070 +#, c-format +msgid "cannot get program header entry %d: %s\n" +msgstr "" + +#: ../src/elflint.c:4079 +#, c-format +msgid "program header entry %d: unknown program header entry type %#<PRIx64>\n" +msgstr "" + +#: ../src/elflint.c:4090 +#, c-format +msgid "more than one INTERP entry in program header\n" +msgstr "" + +#: ../src/elflint.c:4098 +#, c-format +msgid "more than one TLS entry in program header\n" +msgstr "" + +#: ../src/elflint.c:4105 +#, c-format +msgid "static executable cannot have dynamic sections\n" +msgstr "" + +#: ../src/elflint.c:4119 +#, c-format +msgid "dynamic section reference in program header has wrong offset\n" +msgstr "" + +#: ../src/elflint.c:4122 +#, c-format +msgid "dynamic section size mismatch in program and section header\n" +msgstr "" + +#: ../src/elflint.c:4132 +#, c-format +msgid "more than one GNU_RELRO entry in program header\n" +msgstr "" + +#: ../src/elflint.c:4153 +#, c-format +msgid "loadable segment GNU_RELRO applies to is not writable\n" +msgstr "" + +#: ../src/elflint.c:4156 +#, c-format +msgid "loadable segment [%u] flags do not match GNU_RELRO [%u] flags\n" +msgstr "" + +#: ../src/elflint.c:4164 +#: ../src/elflint.c:4187 +#, c-format +msgid "%s segment not contained in a loaded segment\n" +msgstr "" + +#: ../src/elflint.c:4193 +#, c-format +msgid "program header offset in ELF header and PHDR entry do not match" +msgstr "" + +#: ../src/elflint.c:4217 +#, c-format +msgid "call frame search table reference in program header has wrong offset\n" +msgstr "" + +#: ../src/elflint.c:4220 +#, c-format +msgid "call frame search table size mismatch in program and section header\n" +msgstr "" + +#: ../src/elflint.c:4233 +#, c-format +msgid "PT_GNU_EH_FRAME present but no .eh_frame_hdr section\n" +msgstr "" + +#: ../src/elflint.c:4241 +#, c-format +msgid "call frame search table must be allocated\n" +msgstr "" + +#: ../src/elflint.c:4244 +#, c-format +msgid "section [%2zu] '%s' must be allocated\n" +msgstr "" + +#: ../src/elflint.c:4248 +#, c-format +msgid "call frame search table must not be writable\n" +msgstr "" + +#: ../src/elflint.c:4251 +#, c-format +msgid "section [%2zu] '%s' must not be writable\n" +msgstr "" + +#: ../src/elflint.c:4256 +#, c-format +msgid "call frame search table must not be executable\n" +msgstr "" + +#: ../src/elflint.c:4259 +#, c-format +msgid "section [%2zu] '%s' must not be executable\n" +msgstr "" + +#: ../src/elflint.c:4270 +#, c-format +msgid "program header entry %d: file size greater than memory size\n" +msgstr "" + +#: ../src/elflint.c:4277 +#, c-format +msgid "program header entry %d: alignment not a power of 2\n" +msgstr "" + +#: ../src/elflint.c:4280 +#, c-format +msgid "program header entry %d: file offset and virtual address not module of alignment\n" +msgstr "" + +#: ../src/elflint.c:4293 +#, 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:4327 +#, c-format +msgid "cannot read ELF header: %s\n" +msgstr "" + +#: ../src/elflint.c:4353 +#, c-format +msgid "text relocation flag set but not needed\n" +msgstr "" + +#: ../src/addr2line.c:66 +msgid "Output selection options:" +msgstr "" + +#: ../src/addr2line.c:67 +msgid "Show only base names of source files" +msgstr "" + +#: ../src/addr2line.c:69 +msgid "Show absolute file names using compilation directory" +msgstr "" + +#: ../src/addr2line.c:70 +msgid "Also show function names" +msgstr "" + +#: ../src/addr2line.c:71 +msgid "Also show symbol or section names" +msgstr "" + +#. Short description of program. +#: ../src/addr2line.c:82 +msgid "Locate source files and line information for ADDRs (in a.out by default)." +msgstr "" + +#. Strings for arguments in help texts. +#: ../src/addr2line.c:86 +msgid "[ADDR...]" +msgstr "" + +#: ../src/addr2line.c:387 +#, c-format +msgid "Section syntax requires exactly one module" +msgstr "" + +#: ../src/addr2line.c:410 +#, c-format +msgid "offset %#<PRIxMAX> lies outside section '%s'" +msgstr "" + +#: ../src/addr2line.c:428 +#, c-format +msgid "cannot find symbol '%s'" +msgstr "" + +#: ../src/addr2line.c:433 +#, c-format +msgid "offset %#<PRIxMAX> lies outside contents of '%s'" +msgstr "" + +#: ../src/findtextrel.c:70 +msgid "Input Selection:" +msgstr "" + +#: ../src/findtextrel.c:71 +msgid "Prepend PATH to all file names" +msgstr "" + +#: ../src/findtextrel.c:73 +msgid "Use PATH as root of debuginfo hierarchy" +msgstr "" + +#. Short description of program. +#: ../src/findtextrel.c:80 +msgid "Locate source of text relocations in FILEs (a.out by default)." +msgstr "" + +#: ../src/findtextrel.c:236 +#: ../src/elfcmp.c:578 +#: ../src/ranlib.c:186 +#, c-format +msgid "cannot create ELF descriptor for '%s': %s" +msgstr "" + +#: ../src/findtextrel.c:246 +#, c-format +msgid "cannot get ELF header '%s': %s" +msgstr "" + +#: ../src/findtextrel.c:257 +#, c-format +msgid "'%s' is not a DSO or PIE" +msgstr "" + +#: ../src/findtextrel.c:274 +#, c-format +msgid "getting get section header of section %zu: %s" +msgstr "" + +#: ../src/findtextrel.c:292 +#, c-format +msgid "cannot read dynamic section: %s" +msgstr "" + +#: ../src/findtextrel.c:307 +#, c-format +msgid "no text relocations reported in '%s'" +msgstr "" + +#: ../src/findtextrel.c:319 +#, c-format +msgid "while reading ELF file" +msgstr "" + +#: ../src/findtextrel.c:328 +#: ../src/findtextrel.c:345 +#, c-format +msgid "cannot get program header index at offset %d: %s" +msgstr "" + +#: ../src/findtextrel.c:397 +#, c-format +msgid "cannot get section header of section %Zu: %s" +msgstr "" + +#: ../src/findtextrel.c:409 +#, c-format +msgid "cannot get symbol table section %zu in '%s': %s" +msgstr "" + +#: ../src/findtextrel.c:429 +#: ../src/findtextrel.c:452 +#, c-format +msgid "cannot get relocation at index %d in section %zu in '%s': %s" +msgstr "" + +#: ../src/findtextrel.c:517 +#, c-format +msgid "%s not compiled with -fpic/-fPIC\n" +msgstr "" + +#: ../src/findtextrel.c:570 +#, c-format +msgid "the file containing the function '%s' is not compiled with -fpic/-fPIC\n" +msgstr "" + +#: ../src/findtextrel.c:577 +#: ../src/findtextrel.c:597 +#, c-format +msgid "the file containing the function '%s' might not be compiled with -fpic/-fPIC\n" +msgstr "" + +#: ../src/findtextrel.c:585 +#, c-format +msgid "either the file containing the function '%s' or the file containing the function '%s' is not compiled with -fpic/-fPIC\n" +msgstr "" + +#: ../src/findtextrel.c:605 +#, c-format +msgid "a relocation modifies memory at offset %llu in a write-protected segment\n" +msgstr "" + +#: ../src/elfcmp.c:69 +msgid "Control options:" +msgstr "" + +#: ../src/elfcmp.c:70 +msgid "Control treatment of gaps in loadable segments [ignore|match] (default: ignore)" +msgstr "" + +#: ../src/elfcmp.c:72 +msgid "Ignore permutation of buckets in SHT_HASH section" +msgstr "" + +#: ../src/elfcmp.c:73 +msgid "Output nothing; yield exit status only" +msgstr "" + +#. Short description of program. +#: ../src/elfcmp.c:80 +msgid "Compare relevant parts of two ELF files for equality." +msgstr "" + +#. Strings for arguments in help texts. +#: ../src/elfcmp.c:84 +msgid "FILE1 FILE2" +msgstr "" + +#: ../src/elfcmp.c:140 +msgid "Invalid number of parameters.\n" +msgstr "" + +#: ../src/elfcmp.c:168 +#: ../src/elfcmp.c:173 +#, c-format +msgid "cannot get ELF header of '%s': %s" +msgstr "" + +#: ../src/elfcmp.c:190 +#, c-format +msgid "%s %s diff: ELF header" +msgstr "" + +#: ../src/elfcmp.c:248 +#, c-format +msgid "%s %s differ: section header" +msgstr "" + +#: ../src/elfcmp.c:276 +#: ../src/elfcmp.c:282 +#, c-format +msgid "cannot get content of section %zu in '%s': %s" +msgstr "" + +#: ../src/elfcmp.c:298 +#: ../src/elfcmp.c:304 +#, c-format +msgid "cannot get symbol in '%s': %s" +msgstr "" + +#: ../src/elfcmp.c:325 +#, c-format +msgid "%s %s differ: symbol table [%zu]" +msgstr "" + +#: ../src/elfcmp.c:328 +#, c-format +msgid "%s %s differ: symbol table [%zu,%zu]" +msgstr "" + +#: ../src/elfcmp.c:376 +#, c-format +msgid "%s %s differ: section [%zu] '%s' content" +msgstr "" + +#: ../src/elfcmp.c:380 +#, c-format +msgid "%s %s differ: section [%zu,%zu] '%s' content" +msgstr "" + +#: ../src/elfcmp.c:396 +#, c-format +msgid "%s %s differ: unequal amount of important sections" +msgstr "" + +#: ../src/elfcmp.c:430 +#: ../src/elfcmp.c:435 +#, c-format +msgid "cannot load data of '%s': %s" +msgstr "" + +#: ../src/elfcmp.c:454 +#: ../src/elfcmp.c:460 +#, c-format +msgid "cannot get program header entry %d of '%s': %s" +msgstr "" + +#: ../src/elfcmp.c:466 +#, c-format +msgid "%s %s differ: program header %d" +msgstr "" + +#: ../src/elfcmp.c:491 +#, c-format +msgid "%s %s differ: gap" +msgstr "" + +#: ../src/elfcmp.c:550 +#, c-format +msgid "Invalid value '%s' for --gaps parameter." +msgstr "" + +#: ../src/elfcmp.c:583 +#, c-format +msgid "cannot create EBL descriptor for '%s'" +msgstr "" + +#: ../src/elfcmp.c:601 +#, c-format +msgid "cannot get section header of section %zu: %s" +msgstr "" + +#: ../src/elfcmp.c:611 +#, c-format +msgid "cannot get content of section %zu: %s" +msgstr "" + +#: ../src/elfcmp.c:621 +#: ../src/elfcmp.c:635 +#, c-format +msgid "cannot get relocation: %s" +msgstr "" + +#. Short description of program. +#: ../src/ranlib.c:74 +msgid "Generate an index to speed access to archives." +msgstr "" + +#. Strings for arguments in help texts. +#: ../src/ranlib.c:77 +msgid "ARCHIVE" +msgstr "" + +#: ../src/ranlib.c:116 +#, c-format +msgid "Archive name required" +msgstr "" + +#: ../src/ranlib.c:194 +#, c-format +msgid "'%s' is no archive" +msgstr "" + +#: ../src/ranlib.c:229 +#, c-format +msgid "error while freeing sub-ELF descriptor: %s" +msgstr "" + +#: ../src/strings.c:70 +msgid "Output Selection:" +msgstr "" + +#: ../src/strings.c:71 +msgid "Scan entire file, not only loaded sections" +msgstr "" + +#: ../src/strings.c:73 +msgid "Only NUL-terminated sequences of MIN-LEN characters or more are printed" +msgstr "" + +#: ../src/strings.c:74 +msgid "Select character size and endianess: s = 7-bit, S = 8-bit, {b,l} = 16-bit, {B,L} = 32-bit" +msgstr "" + +#: ../src/strings.c:78 +msgid "Print name of the file before each string." +msgstr "" + +#: ../src/strings.c:80 +msgid "Print location of the string in base 8, 10, or 16 respectively." +msgstr "" + +#: ../src/strings.c:81 +msgid "Alias for --radix=o" +msgstr "" + +#. Short description of program. +#: ../src/strings.c:88 +msgid "Print the strings of printable characters in files." +msgstr "" + +#: ../src/strings.c:268 +#: ../src/strings.c:303 +#, c-format +msgid "invalid value '%s' for %s parameter" +msgstr "" + +#: ../src/strings.c:314 +#, c-format +msgid "invalid minimum length of matched string size" +msgstr "" + +#: ../src/strings.c:601 +#, c-format +msgid "lseek64 failed" +msgstr "" + +#: ../src/strings.c:616 +#: ../src/strings.c:680 +#, c-format +msgid "re-mmap failed" +msgstr "" + +#: ../src/strings.c:653 +#, c-format +msgid "mprotect failed" +msgstr "" + +#: ../src/unstrip.c:77 +msgid "Match MODULE against file names, not module names" +msgstr "" + +#: ../src/unstrip.c:78 +msgid "Silently skip unfindable files" +msgstr "" + +#: ../src/unstrip.c:81 +msgid "Place output into FILE" +msgstr "" + +#: ../src/unstrip.c:83 +msgid "Create multiple output files under DIRECTORY" +msgstr "" + +#: ../src/unstrip.c:84 +msgid "Use module rather than file names" +msgstr "" + +#: ../src/unstrip.c:86 +msgid "Create output for modules that have no separate debug information" +msgstr "" + +#: ../src/unstrip.c:89 +msgid "Apply relocations to section contents in ET_REL files" +msgstr "" + +#: ../src/unstrip.c:91 +msgid "Only list module and file names, build IDs" +msgstr "" + +#: ../src/unstrip.c:133 +#, c-format +msgid "-d option specified twice" +msgstr "" + +#: ../src/unstrip.c:165 +#, c-format +msgid "only one of -o or -d allowed" +msgstr "" + +#: ../src/unstrip.c:174 +#, c-format +msgid "-n cannot be used with explicit files or -o or -d" +msgstr "" + +#: ../src/unstrip.c:189 +#, c-format +msgid "output directory '%s'" +msgstr "" + +#: ../src/unstrip.c:198 +#, c-format +msgid "exactly two file arguments are required" +msgstr "" + +#: ../src/unstrip.c:204 +#, c-format +msgid "-m, -a, -R, and -i options not allowed with explicit files" +msgstr "" + +#: ../src/unstrip.c:217 +#, c-format +msgid "-o or -d is required when using implicit files" +msgstr "" + +#: ../src/unstrip.c:253 +#, c-format +msgid "cannot create ELF header: %s" +msgstr "" + +#: ../src/unstrip.c:258 +#, c-format +msgid "cannot copy ELF header: %s" +msgstr "" + +#: ../src/unstrip.c:263 +#: ../src/unstrip.c:1816 +#, c-format +msgid "cannot create program headers: %s" +msgstr "" + +#: ../src/unstrip.c:269 +#, c-format +msgid "cannot copy program header: %s" +msgstr "" + +#: ../src/unstrip.c:279 +#, c-format +msgid "cannot copy section header: %s" +msgstr "" + +#: ../src/unstrip.c:282 +#: ../src/unstrip.c:1504 +#, c-format +msgid "cannot get section data: %s" +msgstr "" + +#: ../src/unstrip.c:284 +#: ../src/unstrip.c:1506 +#, c-format +msgid "cannot copy section data: %s" +msgstr "" + +#: ../src/unstrip.c:308 +#, c-format +msgid "cannot create directory '%s'" +msgstr "" + +#: ../src/unstrip.c:348 +#: ../src/unstrip.c:762 +#: ../src/unstrip.c:1539 +#, c-format +msgid "cannot get symbol table entry: %s" +msgstr "" + +#: ../src/unstrip.c:364 +#: ../src/unstrip.c:579 +#: ../src/unstrip.c:600 +#: ../src/unstrip.c:612 +#: ../src/unstrip.c:1560 +#: ../src/unstrip.c:1690 +#: ../src/unstrip.c:1714 +#, c-format +msgid "cannot update symbol table: %s" +msgstr "" + +#: ../src/unstrip.c:381 +#: ../src/unstrip.c:431 +#: ../src/unstrip.c:561 +#: ../src/unstrip.c:1208 +#: ../src/unstrip.c:1524 +#: ../src/unstrip.c:1719 +#: ../src/unstrip.c:1790 +#, c-format +msgid "cannot update section header: %s" +msgstr "" + +#: ../src/unstrip.c:407 +#: ../src/unstrip.c:418 +#, c-format +msgid "cannot update relocation: %s" +msgstr "" + +#: ../src/unstrip.c:506 +#, c-format +msgid "cannot get symbol version: %s" +msgstr "" + +#: ../src/unstrip.c:518 +#, c-format +msgid "unexpected section type in [%Zu] with sh_link to symtab" +msgstr "" + +#: ../src/unstrip.c:768 +#, c-format +msgid "invalid string offset in symbol [%Zu]" +msgstr "" + +#: ../src/unstrip.c:910 +#: ../src/unstrip.c:1247 +#, c-format +msgid "cannot read section [%Zu] name: %s" +msgstr "" + +#: ../src/unstrip.c:951 +#: ../src/unstrip.c:970 +#: ../src/unstrip.c:1003 +#, c-format +msgid "cannot read '.gnu.prelink_undo' section: %s" +msgstr "" + +#: ../src/unstrip.c:991 +#, c-format +msgid "invalid contents in '%s' section" +msgstr "" + +#: ../src/unstrip.c:1046 +#: ../src/unstrip.c:1369 +#, c-format +msgid "cannot find matching section for [%Zu] '%s'" +msgstr "" + +#: ../src/unstrip.c:1170 +#: ../src/unstrip.c:1185 +#: ../src/unstrip.c:1450 +#, c-format +msgid "cannot add section name to string table: %s" +msgstr "" + +#: ../src/unstrip.c:1194 +#, c-format +msgid "cannot update section header string table data: %s" +msgstr "" + +#: ../src/unstrip.c:1222 +#: ../src/unstrip.c:1226 +#, c-format +msgid "cannot get section header string table section index: %s" +msgstr "" + +#: ../src/unstrip.c:1230 +#: ../src/unstrip.c:1234 +#: ../src/unstrip.c:1465 +#, c-format +msgid "cannot get section count: %s" +msgstr "" + +#: ../src/unstrip.c:1292 +#: ../src/unstrip.c:1384 +#, c-format +msgid "cannot read section header string table: %s" +msgstr "" + +#: ../src/unstrip.c:1444 +#, c-format +msgid "cannot add new section: %s" +msgstr "" + +#: ../src/unstrip.c:1547 +#, c-format +msgid "symbol [%Zu] has invalid section index" +msgstr "" + +#: ../src/unstrip.c:1799 +#, c-format +msgid "cannot get ELF header: %s" +msgstr "" + +#: ../src/unstrip.c:1826 +#, c-format +msgid "cannot update program header: %s" +msgstr "" + +#: ../src/unstrip.c:1831 +#: ../src/unstrip.c:1910 +#, c-format +msgid "cannot write output file: %s" +msgstr "" + +#: ../src/unstrip.c:1879 +#, c-format +msgid "DWARF data not adjusted for prelinking bias; consider prelink -u" +msgstr "" + +#: ../src/unstrip.c:1882 +#, c-format +msgid "DWARF data in '%s' not adjusted for prelinking bias; consider prelink -u" +msgstr "" + +#: ../src/unstrip.c:1901 +#: ../src/unstrip.c:1941 +#: ../src/unstrip.c:1953 +#: ../src/unstrip.c:2033 +#, c-format +msgid "cannot create ELF descriptor: %s" +msgstr "" + +#: ../src/unstrip.c:1959 +#, c-format +msgid "'%s' and '%s' do not seem to match" +msgstr "" + +#: ../src/unstrip.c:1990 +#, c-format +msgid "cannot find stripped file for module '%s': %s" +msgstr "" + +#: ../src/unstrip.c:1994 +#, c-format +msgid "cannot open stripped file '%s' for module '%s': %s" +msgstr "" + +#: ../src/unstrip.c:2009 +#, c-format +msgid "cannot find debug file for module '%s': %s" +msgstr "" + +#: ../src/unstrip.c:2013 +#, c-format +msgid "cannot open debug file '%s' for module '%s': %s" +msgstr "" + +#: ../src/unstrip.c:2026 +#, c-format +msgid "module '%s' file '%s' is not stripped" +msgstr "" + +#: ../src/unstrip.c:2057 +#, c-format +msgid "cannot cache section addresses for module '%s': %s" +msgstr "" + +#: ../src/unstrip.c:2190 +#, c-format +msgid "no matching modules found" +msgstr "" + +#: ../src/unstrip.c:2199 +#, c-format +msgid "matched more than one module" +msgstr "" + +#: ../src/unstrip.c:2246 +msgid "" +"STRIPPED-FILE DEBUG-FILE\n" +"[MODULE...]" +msgstr "" + +#: ../src/unstrip.c:2247 +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" +"\n" +"MODULE arguments give file name patterns matching modules to process.\n" +"With -f these match the file name of the main (stripped) file (slashes are never special), otherwise they match the simple module names. With no arguments, process all modules found.\n" +"\n" +"Multiple modules are written to files under OUTPUT-DIRECTORY, creating subdirectories as needed. With -m these files have simple module names, otherwise they have the name of the main file complete with directory underneath OUTPUT-DIRECTORY.\n" +"\n" +"With -n no files are written, but one line to standard output for each module:\n" +"\tSTART+SIZE BUILDID FILE DEBUGFILE MODULENAME\n" +"START and SIZE are hexadecimal giving the address bounds of the module. BUILDID is hexadecimal for the build ID bits, or - if no ID is known; the hexadecimal may be followed by @0xADDR giving the address where the ID resides if that is known. FILE is the file name found for the module, or - if none was found, or . if an ELF image is available but not from any named file. DEBUGFILE is the separate debuginfo file name, or - if no debuginfo was found, or . if FILE contains the debug information." +msgstr "" + +#: ../src/objdump.c:61 +msgid "Mode selection:" +msgstr "" + +#: ../src/objdump.c:62 +msgid "Display relocation information." +msgstr "" + +#: ../src/objdump.c:64 +msgid "Display the full contents of all sections requested" +msgstr "" + +#: ../src/objdump.c:66 +msgid "Display assembler code of executable sections" +msgstr "" + +#: ../src/objdump.c:68 +msgid "Output option selection:" +msgstr "" + +#: ../src/objdump.c:70 +msgid "Only display information for section NAME." +msgstr "" + +#. Short description of program. +#: ../src/objdump.c:76 +msgid "Show information from FILEs (a.out by default)." +msgstr "" + +#: ../src/objdump.c:274 +#: ../src/objdump.c:286 +#, c-format +msgid "while close `%s'" +msgstr "" + +#: ../src/objdump.c:510 +#, c-format +msgid "" +"\n" +"RELOCATION RECORDS FOR [%s]:\n" +"%-*s TYPE VALUE\n" +msgstr "" + +#: ../src/objdump.c:513 +msgid "OFFSET" +msgstr "" + +#: ../src/objdump.c:576 +#, c-format +msgid "Contents of section %s:\n" +msgstr "" + +#: ../src/objdump.c:676 +#, c-format +msgid "cannot disassemble" +msgstr "" + @@ -2,9 +2,9 @@ msgid "" msgstr "" "Project-Id-Version: elfutils\n" "Report-Msgid-Bugs-To: http://bugzilla.redhat.com/\n" -"POT-Creation-Date: 2009-04-02 19:14+0000\n" +"POT-Creation-Date: 2009-04-09 14:04+0000\n" "PO-Revision-Date: \n" -"Last-Translator: Domingo Becker <[email protected]>\n" +"Last-Translator: Claudio Rodrigo Pereyra Diaz <[email protected]>\n" "Language-Team: Fedora Spanish <[email protected]>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -462,7 +462,7 @@ msgstr "No se puede encontrar nodo de tipo de letra '%s'." #: ../libdwfl/argp-std.c:273 msgid "cannot find kernel or modules" -msgstr "" +msgstr "imposible encontrar kernel o modulos" #: ../libebl/eblbackendname.c:63 #, fuzzy @@ -565,11 +565,11 @@ msgstr " [N] - usa la instancia [cuenta] del nombre\n" #: ../src/ar.c:90 msgid "Do not replace existing files with extracted files." -msgstr "" +msgstr "No reemplazar los archivos existentes con los archivos extraídos." #: ../src/ar.c:91 msgid "Allow filename to be truncated if necessary." -msgstr "" +msgstr "Permitir truncamiento del nombre de archivo de ser necesario" #: ../src/ar.c:93 #, fuzzy @@ -598,7 +598,7 @@ msgstr "lo mismo que --format=posix" #: ../src/ar.c:98 msgid "Suppress message when library has to be created." -msgstr "" +msgstr "Suprimir mensaje cuando se alla creado la libreria" #: ../src/ar.c:100 #, fuzzy @@ -613,7 +613,7 @@ msgstr "solamente añade ficheros más recientes que la copia del archivo" #. Short description of program. #: ../src/ar.c:107 msgid "Create, modify, and extract from archives." -msgstr "" +msgstr "Crear, modificar, y extraer desde archivos." #. Strings for arguments in help texts. #: ../src/ar.c:110 @@ -884,7 +884,7 @@ msgstr "Formato de salida:\n" #: ../src/nm.c:87 msgid "Print name of the input file before every symbol" -msgstr "" +msgstr "Imprimir el nombre del archivo de entrada antes de cada símbolo" #: ../src/nm.c:90 msgid "Use the output format FORMAT. FORMAT can be `bsd', `sysv' or `posix'. The default is `sysv'" @@ -1030,7 +1030,7 @@ msgstr "Mí_n" #: ../src/nm.c:464 #, c-format msgid "cannot reset archive offset to beginning" -msgstr "" +msgstr "imposible restablecer archivo compensar al inicio" #: ../src/nm.c:488 #: ../src/objdump.c:344 @@ -1936,77 +1936,77 @@ msgstr "10 x 11 in" #: ../src/readelf.c:2943 #, c-format msgid " %s: %<PRId64>, %s\n" -msgstr "" +msgstr " %s: %<PRId64>, %s\n" #: ../src/readelf.c:2946 #, c-format msgid " %s: %<PRId64>\n" -msgstr "" +msgstr " %s: %<PRId64>\n" #: ../src/readelf.c:2949 #, c-format msgid " %s: %s\n" -msgstr "" +msgstr " %s: %s\n" #: ../src/readelf.c:2956 #, c-format msgid " %u: %<PRId64>\n" -msgstr "" +msgstr " %u: %<PRId64>\n" #: ../src/readelf.c:2959 #, c-format msgid " %u: %s\n" -msgstr "" +msgstr " %u: %s\n" #: ../src/readelf.c:2994 #, c-format msgid "%s+%#<PRIx64> <%s+%#<PRIx64>>" -msgstr "" +msgstr "%s+%#<PRIx64> <%s+%#<PRIx64>>" #: ../src/readelf.c:2997 #, c-format msgid "%s+%#0*<PRIx64> <%s+%#<PRIx64>>" -msgstr "" +msgstr "%s+%#0*<PRIx64> <%s+%#<PRIx64>>" #: ../src/readelf.c:3002 #, c-format msgid "%#<PRIx64> <%s+%#<PRIx64>>" -msgstr "" +msgstr "%#<PRIx64> <%s+%#<PRIx64>>" #: ../src/readelf.c:3005 #, c-format msgid "%#0*<PRIx64> <%s+%#<PRIx64>>" -msgstr "" +msgstr "%#0*<PRIx64> <%s+%#<PRIx64>>" #: ../src/readelf.c:3011 #, c-format msgid "%s+%#<PRIx64> <%s>" -msgstr "" +msgstr "%s+%#<PRIx64> <%s>" #: ../src/readelf.c:3014 #, c-format msgid "%s+%#0*<PRIx64> <%s>" -msgstr "" +msgstr "%s+%#0*<PRIx64> <%s>" #: ../src/readelf.c:3018 #, c-format msgid "%#<PRIx64> <%s>" -msgstr "" +msgstr "%#<PRIx64> <%s>" #: ../src/readelf.c:3021 #, c-format msgid "%#0*<PRIx64> <%s>" -msgstr "" +msgstr "%#0*<PRIx64> <%s>" #: ../src/readelf.c:3026 #, c-format msgid "%s+%#<PRIx64>" -msgstr "" +msgstr "%s+%#<PRIx64>" #: ../src/readelf.c:3029 #, c-format msgid "%s+%#0*<PRIx64>" -msgstr "" +msgstr "%s+%#0*<PRIx64>" #: ../src/readelf.c:3137 #, fuzzy, c-format @@ -2092,7 +2092,7 @@ msgstr[1] "" #: ../src/readelf.c:4137 #, c-format msgid " [%*zu] ???\n" -msgstr "" +msgstr " [%*zu] ???\n" #: ../src/readelf.c:4139 #, c-format @@ -2133,12 +2133,12 @@ msgstr " %8.8lx %8.8lx %8.8lx (dirección base)\n" #: ../src/readelf.c:4210 #, c-format msgid " [%6tx] %s..%s\n" -msgstr "" +msgstr " [%6tx] %s..%s\n" #: ../src/readelf.c:4212 #, c-format msgid " %s..%s\n" -msgstr "" +msgstr " %s..%s\n" #: ../src/readelf.c:4609 #: ../src/readelf.c:6043 @@ -2427,12 +2427,12 @@ msgstr "" #: ../src/readelf.c:5760 #, c-format msgid " [%6tx] %s..%s" -msgstr "" +msgstr " [%6tx] %s..%s" #: ../src/readelf.c:5762 #, c-format msgid " %s..%s" -msgstr "" +msgstr " %s..%s" #: ../src/readelf.c:5815 #, c-format diff --git a/src/ChangeLog b/src/ChangeLog index 88dd78a9..fe8b0362 100644 --- a/src/ChangeLog +++ b/src/ChangeLog @@ -1,3 +1,18 @@ +2009-04-15 Roland McGrath <[email protected]> + + * readelf.c (print_debug_frame_section): Check for DW_CIE_ID_64 in + 64-bit format header, DW_CIE_ID_32 in 32-bit format header. + +2009-04-14 Roland McGrath <[email protected]> + + * readelf.c (print_attributes): Treat SHT_ARM_ATTRIBUTES on EM_ARM + like SHT_GNU_ATTRIBUTES. + + * readelf.c (handle_core_registers): Fix error message. + + * strip.c (handle_elf: check_preserved): Don't note any change when + .debug_data is already filled from a previous pass. + 2009-02-05 Ulrich Drepper <[email protected]> * objdump.c (show_relocs_x): Minor cleanups. diff --git a/src/readelf.c b/src/readelf.c index f4ed033e..1c790650 100644 --- a/src/readelf.c +++ b/src/readelf.c @@ -2824,7 +2824,9 @@ print_attributes (Ebl *ebl, const GElf_Ehdr *ehdr) GElf_Shdr shdr_mem; GElf_Shdr *shdr = gelf_getshdr (scn, &shdr_mem); - if (shdr == NULL || shdr->sh_type != SHT_GNU_ATTRIBUTES) + if (shdr == NULL || (shdr->sh_type != SHT_GNU_ATTRIBUTES + && (shdr->sh_type != SHT_ARM_ATTRIBUTES + || ehdr->e_machine != EM_ARM))) continue; printf (gettext ("\ @@ -2871,8 +2873,9 @@ print_attributes (Ebl *ebl, const GElf_Ehdr *ehdr) printf (gettext (" %-13s %4" PRIu32 "\n"), name, len); - if (q - name == sizeof "gnu" - && !memcmp (name, "gnu", sizeof "gnu")) + if (shdr->sh_type != SHT_GNU_ATTRIBUTES + || (q - name == sizeof "gnu" + && !memcmp (name, "gnu", sizeof "gnu"))) while (q < p) { const unsigned char *const sub = q; @@ -4673,9 +4676,13 @@ print_debug_frame_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr, if (unlikely (cieend > dataend || readp + 8 > dataend)) goto invalid_data; - Dwarf_Word cie_id; + Dwarf_Off cie_id; if (length == 4) - cie_id = read_4ubyte_unaligned_inc (dbg, readp); + { + cie_id = read_4ubyte_unaligned_inc (dbg, readp); + if (!is_eh_frame && cie_id == DW_CIE_ID_32) + cie_id = DW_CIE_ID_64; + } else cie_id = read_8ubyte_unaligned_inc (dbg, readp); @@ -4686,7 +4693,7 @@ print_debug_frame_section (Dwfl_Module *dwflmod, Ebl *ebl, GElf_Ehdr *ehdr, Dwarf_Word initial_location = 0; Dwarf_Word vma_base = 0; - if (cie_id == (is_eh_frame ? 0 : DW_CIE_ID)) + if (cie_id == (is_eh_frame ? 0 : DW_CIE_ID_64)) { uint_fast8_t version = *readp++; const char *const augmentation = (const char *) readp; @@ -6922,7 +6929,7 @@ handle_core_registers (Ebl *ebl, Elf *core, const void *desc, ssize_t maxnreg = ebl_register_info (ebl, 0, NULL, 0, NULL, NULL, NULL, NULL); if (maxnreg <= 0) error (EXIT_FAILURE, 0, - gettext ("cannot register info: %s"), elf_errmsg (-1)); + gettext ("cannot get register info: %s"), elf_errmsg (-1)); struct register_info regs[maxnreg]; memset (regs, 0, sizeof regs); diff --git a/src/strip.c b/src/strip.c index 27eb2106..d788ebf2 100644 --- a/src/strip.c +++ b/src/strip.c @@ -835,7 +835,8 @@ handle_elf (int fd, Elf *elf, const char *prefix, const char *fname, inline void check_preserved (size_t i) { - if (i != 0 && shdr_info[i].idx != 0) + if (i != 0 && shdr_info[i].idx != 0 + && shdr_info[i].debug_data == NULL) { if (shdr_info[i].data == NULL) shdr_info[i].data = elf_getdata (shdr_info[i].scn, NULL); |
